diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/acinclude.m4 ./bfd/acinclude.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/acinclude.m4	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/acinclude.m4	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 dnl
-dnl   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 dnl
 dnl This file is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aix386-core.c ./bfd/aix386-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aix386-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aix386-core.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,7 +1,7 @@
 /* BFD back-end for AIX on PS/2 core files.
    This was based on trad-core.c, which was written by John Gilmore of
         Cygnus Support.
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
    Written by Minh Tran-Le <TRANLE@INTELLICORP.COM>.
    Converted to back end form by Ian Lance Taylor <ian@cygnus.com>.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aix5ppc-core.c ./bfd/aix5ppc-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aix5ppc-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aix5ppc-core.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* IBM RS/6000 "XCOFF" back-end for BFD.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Written by Tom Rix
    Contributed by Red Hat Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout0.c ./bfd/aout0.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout0.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout0.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for SunOS style a.out with flags set to 0
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout32.c ./bfd/aout32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout32.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout32.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for 32-bit a.out files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout64.c ./bfd/aout64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout64.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for 64-bit a.out files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-adobe.c ./bfd/aout-adobe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-adobe.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout-adobe.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for a.out.adobe binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.  Based on bout.c.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -446,9 +446,11 @@ aout_adobe_sizeof_headers (bfd *ignore_a
 
 /* Build the transfer vector for Adobe A.Out files.  */
 
-#define aout_32_bfd_make_debug_symbol ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
-#define aout_32_bfd_reloc_type_lookup ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
-#define aout_32_bfd_reloc_name_lookup ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
+#define aout_32_find_line			    _bfd_nosymbols_find_line
+#define aout_32_get_symbol_version_string	    _bfd_nosymbols_get_symbol_version_string
+#define aout_32_bfd_make_debug_symbol		    _bfd_nosymbols_bfd_make_debug_symbol
+#define aout_32_bfd_reloc_type_lookup		    _bfd_norelocs_bfd_reloc_type_lookup
+#define aout_32_bfd_reloc_name_lookup		    _bfd_norelocs_bfd_reloc_name_lookup
 #define aout_32_close_and_cleanup                   aout_32_bfd_free_cached_info
 #define	aout_32_set_arch_mach		            aout_adobe_set_arch_mach
 #define	aout_32_set_section_contents	            aout_adobe_set_section_contents
@@ -464,7 +466,6 @@ aout_adobe_sizeof_headers (bfd *ignore_a
 #define aout_32_section_already_linked              _bfd_generic_section_already_linked
 #define aout_32_bfd_define_common_symbol            bfd_generic_define_common_symbol
 #define aout_32_bfd_link_hash_table_create          _bfd_generic_link_hash_table_create
-#define aout_32_bfd_link_hash_table_free            _bfd_generic_link_hash_table_free
 #define aout_32_bfd_link_add_symbols	            _bfd_generic_link_add_symbols
 #define aout_32_bfd_link_just_syms	            _bfd_generic_link_just_syms
 #define aout_32_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-arm.c ./bfd/aout-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-arm.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout-arm.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for raw ARM a.out binaries.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-cris.c ./bfd/aout-cris.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-cris.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout-cris.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for CRIS a.out binaries.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications AB.
    Written by Hans-Peter Nilsson.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aoutf1.h ./bfd/aoutf1.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aoutf1.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aoutf1.h	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* A.out "format 1" file handling code for BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-ns32k.c ./bfd/aout-ns32k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-ns32k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout-ns32k.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for ns32k a.out-ish binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Contributed by Ian Dall (idall@eleceng.adelaide.edu.au).
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-sparcle.c ./bfd/aout-sparcle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-sparcle.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout-sparcle.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for sparc little-endian aout binaries.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-target.h ./bfd/aout-target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-target.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout-target.h	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* Define a target vector and some small routines for a variant of a.out.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -459,6 +459,10 @@ MY_bfd_final_link (bfd *abfd, struct bfd
 #ifndef MY_get_symbol_info
 #define MY_get_symbol_info NAME (aout, get_symbol_info)
 #endif
+#ifndef MY_get_symbol_version_string
+#define MY_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
+#endif
 #ifndef MY_get_lineno
 #define MY_get_lineno NAME (aout, get_lineno)
 #endif
@@ -468,6 +472,9 @@ MY_bfd_final_link (bfd *abfd, struct bfd
 #ifndef MY_find_nearest_line
 #define MY_find_nearest_line NAME (aout, find_nearest_line)
 #endif
+#ifndef MY_find_line
+#define MY_find_line _bfd_nosymbols_find_line
+#endif
 #ifndef MY_find_inliner_info
 #define MY_find_inliner_info _bfd_nosymbols_find_inliner_info
 #endif
@@ -521,9 +528,6 @@ MY_bfd_final_link (bfd *abfd, struct bfd
 #ifndef MY_bfd_link_hash_table_create
 #define MY_bfd_link_hash_table_create NAME (aout, link_hash_table_create)
 #endif
-#ifndef MY_bfd_link_hash_table_free
-#define MY_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
-#endif
 #ifndef MY_bfd_link_add_symbols
 #define MY_bfd_link_add_symbols NAME (aout, link_add_symbols)
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-tic30.c ./bfd/aout-tic30.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aout-tic30.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aout-tic30.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for TMS320C30 a.out binaries.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -917,6 +917,10 @@ tic30_aout_set_arch_mach (bfd *abfd,
 #ifndef MY_get_symbol_info
 #define MY_get_symbol_info NAME (aout, get_symbol_info)
 #endif
+#ifndef MY_get_symbol_version_string
+#define MY_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
+#endif
 #ifndef MY_get_lineno
 #define MY_get_lineno NAME (aout, get_lineno)
 #endif
@@ -926,6 +930,9 @@ tic30_aout_set_arch_mach (bfd *abfd,
 #ifndef MY_find_nearest_line
 #define MY_find_nearest_line NAME (aout, find_nearest_line)
 #endif
+#ifndef MY_find_line
+#define MY_find_line _bfd_nosymbols_find_line
+#endif
 #ifndef MY_find_inliner_info
 #define MY_find_inliner_info _bfd_nosymbols_find_inliner_info
 #endif
@@ -979,9 +986,6 @@ tic30_aout_set_arch_mach (bfd *abfd,
 #ifndef MY_bfd_link_hash_table_create
 #define MY_bfd_link_hash_table_create NAME (aout, link_hash_table_create)
 #endif
-#ifndef MY_bfd_link_hash_table_free
-#define MY_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
-#endif
 #ifndef MY_bfd_link_add_symbols
 #define MY_bfd_link_add_symbols NAME (aout, link_add_symbols)
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aoutx.h ./bfd/aoutx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/aoutx.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/aoutx.h	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD semi-generic back-end for a.out binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -101,7 +101,7 @@ DESCRIPTION
 |	TDEFAULTS = -DDEFAULT_VECTOR=host_aout_big_vec
 |	TDEPFILES= host-aout.o trad-core.o
 
-	in the @file{config/@var{XXX}.mt} file, and modify @file{configure.in}
+	in the @file{config/@var{XXX}.mt} file, and modify @file{configure.ac}
 	to use the
 	@file{@var{XXX}.mt} file (by setting "<<bfd_target=XXX>>") when your
 	configuration is selected.  */
@@ -793,11 +793,13 @@ NAME (aout, machine_type) (enum bfd_arch
 	case bfd_mach_mipsisa32r2:
 	case bfd_mach_mipsisa32r3:
 	case bfd_mach_mipsisa32r5:
+	case bfd_mach_mipsisa32r6:
 	case bfd_mach_mips5:
 	case bfd_mach_mipsisa64:
 	case bfd_mach_mipsisa64r2:
 	case bfd_mach_mipsisa64r3:
 	case bfd_mach_mipsisa64r5:
+	case bfd_mach_mipsisa64r6:
 	case bfd_mach_mips_sb1:
 	case bfd_mach_mips_xlr:
 	  /* FIXME: These should be MIPS3, MIPS4, MIPS16, MIPS32, etc.  */
@@ -1298,14 +1300,14 @@ aout_get_external_symbols (bfd *abfd)
     {
       bfd_size_type count;
       struct external_nlist *syms;
+      bfd_size_type amt = exec_hdr (abfd)->a_syms;
 
-      count = exec_hdr (abfd)->a_syms / EXTERNAL_NLIST_SIZE;
+      count = amt / EXTERNAL_NLIST_SIZE;
       if (count == 0)
 	return TRUE;		/* Nothing to do.  */
 
 #ifdef USE_MMAP
-      if (! bfd_get_file_window (abfd, obj_sym_filepos (abfd),
-				 exec_hdr (abfd)->a_syms,
+      if (! bfd_get_file_window (abfd, obj_sym_filepos (abfd), amt,
 				 &obj_aout_sym_window (abfd), TRUE))
 	return FALSE;
       syms = (struct external_nlist *) obj_aout_sym_window (abfd).data;
@@ -1313,20 +1315,16 @@ aout_get_external_symbols (bfd *abfd)
       /* We allocate using malloc to make the values easy to free
 	 later on.  If we put them on the objalloc it might not be
 	 possible to free them.  */
-      syms = (struct external_nlist *) bfd_malloc (count * EXTERNAL_NLIST_SIZE);
+      syms = (struct external_nlist *) bfd_malloc (amt);
       if (syms == NULL)
 	return FALSE;
 
-      {
-	bfd_size_type amt;
-	amt = exec_hdr (abfd)->a_syms;
-	if (bfd_seek (abfd, obj_sym_filepos (abfd), SEEK_SET) != 0
-	    || bfd_bread (syms, amt, abfd) != amt)
-	  {
-	    free (syms);
-	    return FALSE;
-	  }
-      }
+      if (bfd_seek (abfd, obj_sym_filepos (abfd), SEEK_SET) != 0
+	  || bfd_bread (syms, amt, abfd) != amt)
+	{
+	  free (syms);
+	  return FALSE;
+	}
 #endif
 
       obj_aout_external_syms (abfd) = syms;
@@ -2638,12 +2636,13 @@ NAME (aout, minisymbol_to_symbol) (bfd *
 
 bfd_boolean
 NAME (aout, find_nearest_line) (bfd *abfd,
-				asection *section,
 				asymbol **symbols,
+				asection *section,
 				bfd_vma offset,
 				const char **filename_ptr,
 				const char **functionname_ptr,
-				unsigned int *line_ptr)
+				unsigned int *line_ptr,
+				unsigned int *disriminator_ptr)
 {
   /* Run down the file looking for the filename, function and linenumber.  */
   asymbol **p;
@@ -2661,6 +2660,8 @@ NAME (aout, find_nearest_line) (bfd *abf
   *filename_ptr = abfd->filename;
   *functionname_ptr = 0;
   *line_ptr = 0;
+  if (disriminator_ptr)
+    *disriminator_ptr = 0;
 
   if (symbols != NULL)
     {
@@ -3404,6 +3405,8 @@ aout_link_check_ar_symbols (bfd *abfd,
 static bfd_boolean
 aout_link_check_archive_element (bfd *abfd,
 				 struct bfd_link_info *info,
+				 struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED,
+				 const char *name ATTRIBUTE_UNUSED,
 				 bfd_boolean *pneeded)
 {
   bfd *oldbfd;
@@ -5309,7 +5312,7 @@ aout_link_input_bfd (struct aout_final_l
 
 /* Do the final link step.  This is called on the output BFD.  The
    INFO structure should point to a list of BFDs linked through the
-   link_next field which can be used to find each BFD which takes part
+   link.next field which can be used to find each BFD which takes part
    in the output.  Also, each section in ABFD should point to a list
    of bfd_link_order structures which list all the input sections for
    the output section.  */
@@ -5356,7 +5359,7 @@ NAME (aout, final_link) (bfd *abfd,
   max_contents_size = 0;
   max_relocs_size = 0;
   max_sym_count = 0;
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       bfd_size_type sz;
 
@@ -5495,7 +5498,7 @@ NAME (aout, final_link) (bfd *abfd,
 
      We use the output_has_begun field of the input BFDs to see
      whether we have already handled it.  */
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     sub->output_has_begun = FALSE;
 
   /* Mark all sections which are to be included in the link.  This
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/archive64.c ./bfd/archive64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/archive64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/archive64.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for 64-bit ELF archives.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Ian Lance Taylor, Cygnus Support
    Linker support added by Mark Mitchell, CodeSourcery, LLC.
    <mark@codesourcery.com>
@@ -46,6 +46,7 @@ bfd_elf64_archive_slurp_armap (bfd *abfd
   struct areltdata *mapdata;
   bfd_byte int_buf[8];
   char *stringbase;
+  char *stringend;
   bfd_byte *raw_armap = NULL;
   carsym *carsyms;
   bfd_size_type amt;
@@ -92,11 +93,18 @@ bfd_elf64_archive_slurp_armap (bfd *abfd
   ptrsize = 8 * nsymz;
 
   amt = carsym_size + stringsize + 1;
+  if (carsym_size < nsymz || ptrsize < nsymz || amt < nsymz)
+    {
+      bfd_set_error (bfd_error_malformed_archive);
+      return FALSE;
+    }
   ardata->symdefs = (struct carsym *) bfd_zalloc (abfd, amt);
   if (ardata->symdefs == NULL)
     return FALSE;
   carsyms = ardata->symdefs;
   stringbase = ((char *) ardata->symdefs) + carsym_size;
+  stringbase[stringsize] = 0;
+  stringend = stringbase + stringsize;
 
   raw_armap = (bfd_byte *) bfd_alloc (abfd, ptrsize);
   if (raw_armap == NULL)
@@ -114,7 +122,8 @@ bfd_elf64_archive_slurp_armap (bfd *abfd
     {
       carsyms->file_offset = bfd_getb64 (raw_armap + i * 8);
       carsyms->name = stringbase;
-      stringbase += strlen (stringbase) + 1;
+      if (stringbase < stringend)
+	stringbase += strlen (stringbase) + 1;
       ++carsyms;
     }
   *stringbase = '\0';
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/archive.c ./bfd/archive.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/archive.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/archive.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for archive files (libraries).
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.  Mostly Gumby Henkel-Wallace's fault.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -140,6 +140,7 @@ SUBSECTION
 #include "safe-ctype.h"
 #include "hashtab.h"
 #include "filenames.h"
+#include "bfdlink.h"
 
 #ifndef errno
 extern int errno;
@@ -901,6 +902,10 @@ do_slurp_bsd_armap (bfd *abfd)
     return FALSE;
   parsed_size = mapdata->parsed_size;
   free (mapdata);
+  /* PR 17512: file: 883ff754.  */
+  /* PR 17512: file: 0458885f.  */
+  if (parsed_size < 4)
+    return FALSE;
 
   raw_armap = (bfd_byte *) bfd_zalloc (abfd, parsed_size);
   if (raw_armap == NULL)
@@ -916,7 +921,6 @@ do_slurp_bsd_armap (bfd *abfd)
     }
 
   ardata->symdef_count = H_GET_32 (abfd, raw_armap) / BSD_SYMDEF_SIZE;
-
   if (ardata->symdef_count * BSD_SYMDEF_SIZE >
       parsed_size - BSD_SYMDEF_COUNT_SIZE)
     {
@@ -1037,12 +1041,19 @@ do_slurp_coff_armap (bfd *abfd)
     }
 
   /* OK, build the carsyms.  */
-  for (i = 0; i < nsymz; i++)
+  for (i = 0; i < nsymz && stringsize > 0; i++)
     {
+      bfd_size_type len;
+
       rawptr = raw_armap + i;
       carsyms->file_offset = swap ((bfd_byte *) rawptr);
       carsyms->name = stringbase;
-      stringbase += strlen (stringbase) + 1;
+      /* PR 17512: file: 4a1d50c1.  */
+      len = strnlen (stringbase, stringsize);
+      if (len < stringsize)
+	len ++;
+      stringbase += len;
+      stringsize -= len;
       carsyms++;
     }
   *stringbase = 0;
@@ -1130,6 +1141,7 @@ bfd_slurp_armap (bfd *abfd)
 	return FALSE;
       if (bfd_seek (abfd, -(file_ptr) (sizeof (hdr) + 20), SEEK_CUR) != 0)
 	return FALSE;
+      extname[20] = 0;
       if (CONST_STRNEQ (extname, "__.SYMDEF SORTED")
 	  || CONST_STRNEQ (extname, "__.SYMDEF"))
 	return do_slurp_bsd_armap (abfd);
@@ -1299,6 +1311,8 @@ _bfd_slurp_extended_name_table (bfd *abf
 	{
 	byebye:
 	  free (namedata);
+	  bfd_ardata (abfd)->extended_names = NULL;
+	  bfd_ardata (abfd)->extended_names_size = 0;
 	  return FALSE;
 	}
 
@@ -1315,11 +1329,12 @@ _bfd_slurp_extended_name_table (bfd *abf
 	 text, the entries in the list are newline-padded, not null
 	 padded. In SVR4-style archives, the names also have a
 	 trailing '/'.  DOS/NT created archive often have \ in them
-	 We'll fix all problems here..  */
+	 We'll fix all problems here.  */
       {
 	char *ext_names = bfd_ardata (abfd)->extended_names;
 	char *temp = ext_names;
 	char *limit = temp + namedata->parsed_size;
+
 	for (; temp < limit; ++temp)
 	  {
 	    if (*temp == ARFMAG[1])
@@ -1960,7 +1975,9 @@ bfd_generic_stat_arch_elt (bfd *abfd, st
     }
 
   hdr = arch_hdr (abfd);
-
+  /* PR 17512: file: 3d9e9fe9.  */
+  if (hdr == NULL)
+    return -1;
 #define foo(arelt, stelt, size)				\
   buf->stelt = strtol (hdr->arelt, &aloser, size);	\
   if (aloser == hdr->arelt)	      			\
@@ -2356,6 +2373,10 @@ _bfd_compute_and_write_armap (bfd *arch,
 			  map = new_map;
 			}
 
+		      if (strcmp (syms[src_count]->name, "__gnu_lto_slim") == 0)
+			(*_bfd_error_handler)
+			  (_("%s: plugin needed to handle lto object"),
+			   bfd_get_filename (current));
 		      namelen = strlen (syms[src_count]->name);
 		      amt = sizeof (char *);
 		      map[orl_count].name = (char **) bfd_alloc (arch, amt);
@@ -2751,5 +2772,8 @@ _bfd_archive_close_and_cleanup (bfd *abf
 	    }
 	}
     }
+  if (abfd->is_linker_output)
+    (*abfd->link.hash->hash_table_free) (abfd);
+
   return TRUE;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/archures.c ./bfd/archures.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/archures.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/archures.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for architectures.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -179,15 +179,18 @@ DESCRIPTION
 .#define bfd_mach_mips_octeon		6501
 .#define bfd_mach_mips_octeonp		6601
 .#define bfd_mach_mips_octeon2		6502
+.#define bfd_mach_mips_octeon3          6503
 .#define bfd_mach_mips_xlr              887682   {* decimal 'XLR'  *}
 .#define bfd_mach_mipsisa32             32
 .#define bfd_mach_mipsisa32r2           33
 .#define bfd_mach_mipsisa32r3           34
 .#define bfd_mach_mipsisa32r5           36
+.#define bfd_mach_mipsisa32r6           37
 .#define bfd_mach_mipsisa64             64
 .#define bfd_mach_mipsisa64r2           65
 .#define bfd_mach_mipsisa64r3           66
 .#define bfd_mach_mipsisa64r5           68
+.#define bfd_mach_mipsisa64r6           69
 .#define bfd_mach_mips_micromips        96
 .  bfd_arch_i386,      {* Intel 386 *}
 .#define bfd_mach_i386_intel_syntax	(1 << 0)
@@ -410,6 +413,7 @@ DESCRIPTION
 .#define bfd_mach_avr5		5
 .#define bfd_mach_avr51		51
 .#define bfd_mach_avr6		6
+.#define bfd_mach_avrtiny   100
 .#define bfd_mach_avrxmega1 101
 .#define bfd_mach_avrxmega2 102
 .#define bfd_mach_avrxmega3 103
@@ -493,6 +497,8 @@ DESCRIPTION
 .#define bfd_mach_aarch64_ilp32	32
 .  bfd_arch_nios2,
 .#define bfd_mach_nios2	0
+.  bfd_arch_visium,	{* Visium *}
+.#define bfd_mach_visium	1
 .  bfd_arch_last
 .  };
 */
@@ -612,6 +618,7 @@ extern const bfd_arch_info_type bfd_tile
 extern const bfd_arch_info_type bfd_v850_arch;
 extern const bfd_arch_info_type bfd_v850_rh850_arch;
 extern const bfd_arch_info_type bfd_vax_arch;
+extern const bfd_arch_info_type bfd_visium_arch;
 extern const bfd_arch_info_type bfd_w65_arch;
 extern const bfd_arch_info_type bfd_we32k_arch;
 extern const bfd_arch_info_type bfd_xstormy16_arch;
@@ -698,6 +705,7 @@ static const bfd_arch_info_type * const 
     &bfd_v850_arch,
     &bfd_v850_rh850_arch,
     &bfd_vax_arch,
+    &bfd_visium_arch,
     &bfd_w65_arch,
     &bfd_we32k_arch,
     &bfd_xstormy16_arch,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/armnetbsd.c ./bfd/armnetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/armnetbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/armnetbsd.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for NetBSD/ARM a.out-ish binaries.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfd.c ./bfd/bfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/bfd.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic BFD library interface and support routines.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -46,9 +46,6 @@ CODE_FRAGMENT
 .
 .struct bfd
 .{
-.  {* A unique identifier of the BFD  *}
-.  unsigned int id;
-.
 .  {* The filename the application opened the BFD with.  *}
 .  const char *filename;
 .
@@ -71,17 +68,17 @@ CODE_FRAGMENT
 .  {* File modified time, if mtime_set is TRUE.  *}
 .  long mtime;
 .
-.  {* Reserved for an unimplemented file locking extension.  *}
-.  int ifd;
+.  {* A unique identifier of the BFD  *}
+.  unsigned int id;
 .
 .  {* The format which belongs to the BFD. (object, core, etc.)  *}
-.  bfd_format format;
+.  ENUM_BITFIELD (bfd_format) format : 3;
 .
 .  {* The direction with which the BFD was opened.  *}
-.  enum bfd_direction direction;
+.  ENUM_BITFIELD (bfd_direction) direction : 2;
 .
 .  {* Format_specific flags.  *}
-.  flagword flags;
+.  flagword flags : 17;
 .
 .  {* Values that may appear in the flags field of a BFD.  These also
 .     appear in the object_flags field of the bfd_target structure, where
@@ -140,26 +137,23 @@ CODE_FRAGMENT
 .     struct.  *}
 .#define BFD_IN_MEMORY 0x800
 .
-.  {* The sections in this BFD specify a memory page.  *}
-.#define HAS_LOAD_PAGE 0x1000
-.
 .  {* This BFD has been created by the linker and doesn't correspond
 .     to any input file.  *}
-.#define BFD_LINKER_CREATED 0x2000
+.#define BFD_LINKER_CREATED 0x1000
 .
 .  {* This may be set before writing out a BFD to request that it
 .     be written using values for UIDs, GIDs, timestamps, etc. that
 .     will be consistent from run to run.  *}
-.#define BFD_DETERMINISTIC_OUTPUT 0x4000
+.#define BFD_DETERMINISTIC_OUTPUT 0x2000
 .
 .  {* Compress sections in this BFD.  *}
-.#define BFD_COMPRESS 0x8000
+.#define BFD_COMPRESS 0x4000
 .
 .  {* Decompress sections in this BFD.  *}
-.#define BFD_DECOMPRESS 0x10000
+.#define BFD_DECOMPRESS 0x8000
 .
 .  {* BFD is a dummy, for plugins.  *}
-.#define BFD_PLUGIN 0x20000
+.#define BFD_PLUGIN 0x10000
 .
 .  {* Flags bits to be saved in bfd_preserve_save.  *}
 .#define BFD_FLAGS_SAVED \
@@ -170,6 +164,42 @@ CODE_FRAGMENT
 .  (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \
 .   | BFD_PLUGIN | BFD_TRADITIONAL_FORMAT | BFD_DETERMINISTIC_OUTPUT)
 .
+.  {* Is the file descriptor being cached?  That is, can it be closed as
+.     needed, and re-opened when accessed later?  *}
+.  unsigned int cacheable : 1;
+.
+.  {* Marks whether there was a default target specified when the
+.     BFD was opened. This is used to select which matching algorithm
+.     to use to choose the back end.  *}
+.  unsigned int target_defaulted : 1;
+.
+.  {* ... and here: (``once'' means at least once).  *}
+.  unsigned int opened_once : 1;
+.
+.  {* Set if we have a locally maintained mtime value, rather than
+.     getting it from the file each time.  *}
+.  unsigned int mtime_set : 1;
+.
+.  {* Flag set if symbols from this BFD should not be exported.  *}
+.  unsigned int no_export : 1;
+.
+.  {* Remember when output has begun, to stop strange things
+.     from happening.  *}
+.  unsigned int output_has_begun : 1;
+.
+.  {* Have archive map.  *}
+.  unsigned int has_armap : 1;
+.
+.  {* Set if this is a thin archive.  *}
+.  unsigned int is_thin_archive : 1;
+.
+.  {* Set if only required symbols should be added in the link hash table for
+.     this object.  Used by VMS linkers.  *}
+.  unsigned int selective_search : 1;
+.
+.  {* Set if this is the linker output BFD.  *}
+.  unsigned int is_linker_output : 1;
+.
 .  {* Currently my_archive is tested before adding origin to
 .     anything. I believe that this can become always an add of
 .     origin, with origin set to 0 for non archive files.  *}
@@ -194,17 +224,21 @@ CODE_FRAGMENT
 .  {* The number of sections.  *}
 .  unsigned int section_count;
 .
+.  {* A field used by _bfd_generic_link_add_archive_symbols.  This will
+.     be used only for archive elements.  *}
+.  int archive_pass;
+.
 .  {* Stuff only useful for object files:
 .     The start address.  *}
 .  bfd_vma start_address;
 .
-.  {* Used for input and output.  *}
-.  unsigned int symcount;
-.
 .  {* Symbol table for output BFD (with symcount entries).
 .     Also used by the linker to cache input BFD symbols.  *}
 .  struct bfd_symbol  **outsymbols;
 .
+.  {* Used for input and output.  *}
+.  unsigned int symcount;
+.
 .  {* Used for slurped dynamic symbol tables.  *}
 .  unsigned int dynsymcount;
 .
@@ -219,12 +253,12 @@ CODE_FRAGMENT
 .  struct bfd *nested_archives; {* List of nested archive in a flattened
 .                                  thin archive.  *}
 .
-.  {* A chain of BFD structures involved in a link.  *}
-.  struct bfd *link_next;
-.
-.  {* A field used by _bfd_generic_link_add_archive_symbols.  This will
-.     be used only for archive elements.  *}
-.  int archive_pass;
+.  union {
+.    {* For input BFDs, a chain of BFDs involved in a link.  *}
+.    struct bfd *next;
+.    {* For output BFD, the linker hash table.  *}
+.    struct bfd_link_hash_table *hash;
+.  } link;
 .
 .  {* Used by the back end to hold private data.  *}
 .  union
@@ -276,39 +310,6 @@ CODE_FRAGMENT
 .     struct objalloc *, but we use void * to avoid requiring the inclusion
 .     of objalloc.h.  *}
 .  void *memory;
-.
-.  {* Is the file descriptor being cached?  That is, can it be closed as
-.     needed, and re-opened when accessed later?  *}
-.  unsigned int cacheable : 1;
-.
-.  {* Marks whether there was a default target specified when the
-.     BFD was opened. This is used to select which matching algorithm
-.     to use to choose the back end.  *}
-.  unsigned int target_defaulted : 1;
-.
-.  {* ... and here: (``once'' means at least once).  *}
-.  unsigned int opened_once : 1;
-.
-.  {* Set if we have a locally maintained mtime value, rather than
-.     getting it from the file each time.  *}
-.  unsigned int mtime_set : 1;
-.
-.  {* Flag set if symbols from this BFD should not be exported.  *}
-.  unsigned int no_export : 1;
-.
-.  {* Remember when output has begun, to stop strange things
-.     from happening.  *}
-.  unsigned int output_has_begun : 1;
-.
-.  {* Have archive map.  *}
-.  unsigned int has_armap : 1;
-.
-.  {* Set if this is a thin archive.  *}
-.  unsigned int is_thin_archive : 1;
-.
-.  {* Set if only required symbols should be added in the link hash table for
-.     this object.  Used by VMS linkers.  *}
-.  unsigned int selective_search : 1;
 .};
 .
 .{* See note beside bfd_set_section_userdata.  *}
@@ -1443,12 +1444,12 @@ DESCRIPTION
 .
 .#define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
 .       BFD_SEND (abfd, _bfd_find_nearest_line, \
-.                 (abfd, sec, syms, off, file, func, line))
+.                 (abfd, syms, sec, off, file, func, line, NULL))
 .
 .#define bfd_find_nearest_line_discriminator(abfd, sec, syms, off, file, func, \
 .                                            line, disc) \
-.       BFD_SEND (abfd, _bfd_find_nearest_line_discriminator, \
-.                 (abfd, sec, syms, off, file, func, line, disc))
+.       BFD_SEND (abfd, _bfd_find_nearest_line, \
+.                 (abfd, syms, sec, off, file, func, line, disc))
 .
 .#define bfd_find_line(abfd, syms, sym, file, line) \
 .       BFD_SEND (abfd, _bfd_find_line, \
@@ -1497,9 +1498,6 @@ DESCRIPTION
 .#define bfd_link_hash_table_create(abfd) \
 .	BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
 .
-.#define bfd_link_hash_table_free(abfd, hash) \
-.	BFD_SEND (abfd, _bfd_link_hash_table_free, (hash))
-.
 .#define bfd_link_add_symbols(abfd, info) \
 .	BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info))
 .
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfd-in2.h ./bfd/bfd-in2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfd-in2.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/bfd-in2.h	2015-01-20 02:05:35.000000000 +0000
@@ -7,7 +7,7 @@
 
 /* Main header file for the bfd library -- portable access to object files.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
@@ -665,7 +665,7 @@ extern int bfd_elf_get_dyn_lib_class
   (bfd *);
 extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
   (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf_discard_info
+extern int bfd_elf_discard_info
   (bfd *, struct bfd_link_info *);
 extern unsigned int _bfd_elf_default_action_discarded
   (struct bfd_section *);
@@ -813,12 +813,6 @@ struct internal_syment;
 union internal_auxent;
 #endif
 
-extern bfd_boolean bfd_coff_get_syment
-  (bfd *, struct bfd_symbol *, struct internal_syment *);
-
-extern bfd_boolean bfd_coff_get_auxent
-  (bfd *, struct bfd_symbol *, int, union internal_auxent *);
-
 extern bfd_boolean bfd_coff_set_symbol_class
   (bfd *, struct bfd_symbol *, unsigned int);
 
@@ -944,10 +938,10 @@ extern void bfd_elf32_aarch64_init_maps
   (bfd *);
 
 extern void bfd_elf64_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int);
+  (bfd *, struct bfd_link_info *, int, int, int, int);
 
 extern void bfd_elf32_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int);
+  (bfd *, struct bfd_link_info *, int, int, int, int);
 
 /* ELF AArch64 mapping symbol support.  */
 #define BFD_AARCH64_SPECIAL_SYM_TYPE_MAP	(1 << 0)
@@ -998,30 +992,11 @@ extern void bfd_elf32_ia64_after_parse
 
 extern void bfd_elf64_ia64_after_parse
   (int);
-
-/* This structure is used for a comdat section, as in PE.  A comdat
-   section is associated with a particular symbol.  When the linker
-   sees a comdat section, it keeps only one of the sections with a
-   given name and associated with a given symbol.  */
-
-struct coff_comdat_info
-{
-  /* The name of the symbol associated with a comdat section.  */
-  const char *name;
-
-  /* The local symbol table index of the symbol associated with a
-     comdat section.  This is only meaningful to the object file format
-     specific code; it is not an index into the list returned by
-     bfd_canonicalize_symtab.  */
-  long symbol;
-};
-
-extern struct coff_comdat_info * bfd_coff_get_comdat_section
-  (bfd *, struct bfd_section *);
 /* Extracted from init.c.  */
 void bfd_init (void);
 
 /* Extracted from opncls.c.  */
+/* Set to N to open the next N BFDs using an alternate id space.  */
 extern unsigned int bfd_use_reserved_id;
 bfd *bfd_fopen (const char *filename, const char *target,
     const char *mode, int fd);
@@ -1206,6 +1181,7 @@ void *bfd_mmap (bfd *abfd, void *addr, b
 
 /* Extracted from bfdwin.c.  */
 /* Extracted from section.c.  */
+
 typedef struct bfd_section
 {
   /* The name of the section; the name isn't a copy, the pointer is
@@ -1964,15 +1940,18 @@ enum bfd_architecture
 #define bfd_mach_mips_octeon           6501
 #define bfd_mach_mips_octeonp          6601
 #define bfd_mach_mips_octeon2          6502
+#define bfd_mach_mips_octeon3          6503
 #define bfd_mach_mips_xlr              887682   /* decimal 'XLR'  */
 #define bfd_mach_mipsisa32             32
 #define bfd_mach_mipsisa32r2           33
 #define bfd_mach_mipsisa32r3           34
 #define bfd_mach_mipsisa32r5           36
+#define bfd_mach_mipsisa32r6           37
 #define bfd_mach_mipsisa64             64
 #define bfd_mach_mipsisa64r2           65
 #define bfd_mach_mipsisa64r3           66
 #define bfd_mach_mipsisa64r5           68
+#define bfd_mach_mipsisa64r6           69
 #define bfd_mach_mips_micromips        96
   bfd_arch_i386,      /* Intel 386 */
 #define bfd_mach_i386_intel_syntax     (1 << 0)
@@ -2195,6 +2174,7 @@ enum bfd_architecture
 #define bfd_mach_avr5          5
 #define bfd_mach_avr51         51
 #define bfd_mach_avr6          6
+#define bfd_mach_avrtiny   100
 #define bfd_mach_avrxmega1 101
 #define bfd_mach_avrxmega2 102
 #define bfd_mach_avrxmega3 103
@@ -2278,6 +2258,8 @@ enum bfd_architecture
 #define bfd_mach_aarch64_ilp32 32
   bfd_arch_nios2,
 #define bfd_mach_nios2 0
+  bfd_arch_visium,     /* Visium */
+#define bfd_mach_visium        1
   bfd_arch_last
   };
 
@@ -2343,6 +2325,7 @@ unsigned int bfd_arch_mach_octets_per_by
    (enum bfd_architecture arch, unsigned long machine);
 
 /* Extracted from reloc.c.  */
+
 typedef enum bfd_reloc_status
 {
   /* No errors detected.  */
@@ -2392,6 +2375,7 @@ typedef struct reloc_cache_entry
 }
 arelent;
 
+
 enum complain_overflow
 {
   /* Do not complain on overflow.  */
@@ -2410,6 +2394,7 @@ enum complain_overflow
      unsigned number.  */
   complain_overflow_unsigned
 };
+struct bfd_symbol;             /* Forward declaration.  */
 
 struct reloc_howto_struct
 {
@@ -2937,6 +2922,12 @@ to compensate for the borrow when the lo
   BFD_RELOC_MICROMIPS_10_PCREL_S1,
   BFD_RELOC_MICROMIPS_16_PCREL_S1,
 
+/* MIPS PC-relative relocations.  */
+  BFD_RELOC_MIPS_21_PCREL_S2,
+  BFD_RELOC_MIPS_26_PCREL_S2,
+  BFD_RELOC_MIPS_18_PCREL_S3,
+  BFD_RELOC_MIPS_19_PCREL_S2,
+
 /* microMIPS versions of generic BFD relocs.  */
   BFD_RELOC_MICROMIPS_GPREL16,
   BFD_RELOC_MICROMIPS_HI16,
@@ -3942,6 +3933,13 @@ and shift left by 0 for use in lbi.gp, s
   BFD_RELOC_NDS32_15_FIXED,
   BFD_RELOC_NDS32_17_FIXED,
   BFD_RELOC_NDS32_25_FIXED,
+  BFD_RELOC_NDS32_LONGCALL4,
+  BFD_RELOC_NDS32_LONGCALL5,
+  BFD_RELOC_NDS32_LONGCALL6,
+  BFD_RELOC_NDS32_LONGJUMP4,
+  BFD_RELOC_NDS32_LONGJUMP5,
+  BFD_RELOC_NDS32_LONGJUMP6,
+  BFD_RELOC_NDS32_LONGJUMP7,
 
 /* for PIC  */
   BFD_RELOC_NDS32_PLTREL_HI20,
@@ -4002,12 +4000,32 @@ This is a 5 bit absolute address.  */
   BFD_RELOC_NDS32_DIFF16,
   BFD_RELOC_NDS32_DIFF32,
   BFD_RELOC_NDS32_DIFF_ULEB128,
+  BFD_RELOC_NDS32_EMPTY,
+
+/* This is a 25 bit absolute address.  */
   BFD_RELOC_NDS32_25_ABS,
+
+/* For ex9 and ifc using.  */
   BFD_RELOC_NDS32_DATA,
   BFD_RELOC_NDS32_TRAN,
   BFD_RELOC_NDS32_17IFC_PCREL,
   BFD_RELOC_NDS32_10IFCU_PCREL,
 
+/* For TLS.  */
+  BFD_RELOC_NDS32_TPOFF,
+  BFD_RELOC_NDS32_TLS_LE_HI20,
+  BFD_RELOC_NDS32_TLS_LE_LO12,
+  BFD_RELOC_NDS32_TLS_LE_ADD,
+  BFD_RELOC_NDS32_TLS_LE_LS,
+  BFD_RELOC_NDS32_GOTTPOFF,
+  BFD_RELOC_NDS32_TLS_IE_HI20,
+  BFD_RELOC_NDS32_TLS_IE_LO12S2,
+  BFD_RELOC_NDS32_TLS_TPOFF,
+  BFD_RELOC_NDS32_TLS_LE_20,
+  BFD_RELOC_NDS32_TLS_LE_15S0,
+  BFD_RELOC_NDS32_TLS_LE_15S1,
+  BFD_RELOC_NDS32_TLS_LE_15S2,
+
 /* This is a 9-bit reloc  */
   BFD_RELOC_V850_9_PCREL,
 
@@ -4475,6 +4493,18 @@ value.  */
   BFD_RELOC_AVR_DIFF16,
   BFD_RELOC_AVR_DIFF32,
 
+/* This is a 7 bit reloc for the AVR that stores SRAM address for 16bit
+lds and sts instructions supported only tiny core.  */
+  BFD_RELOC_AVR_LDS_STS_16,
+
+/* This is a 6 bit reloc for the AVR that stores an I/O register
+number for the IN and OUT instructions  */
+  BFD_RELOC_AVR_PORT6,
+
+/* This is a 5 bit reloc for the AVR that stores an I/O register
+number for the SBIC, SBIS, SBI and CBI instructions  */
+  BFD_RELOC_AVR_PORT5,
+
 /* Renesas RL78 Relocations.  */
   BFD_RELOC_RL78_NEG8,
   BFD_RELOC_RL78_NEG16,
@@ -6013,7 +6043,17 @@ assembler and not (currently) written to
 
 /* Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction.  */
   BFD_RELOC_EPIPHANY_IMM8,
+
+/* Visium Relocations.  */
+  BFD_RELOC_VISIUM_HI16,
+  BFD_RELOC_VISIUM_LO16,
+  BFD_RELOC_VISIUM_IM16,
+  BFD_RELOC_VISIUM_REL16,
+  BFD_RELOC_VISIUM_HI16_PCREL,
+  BFD_RELOC_VISIUM_LO16_PCREL,
+  BFD_RELOC_VISIUM_IM16_PCREL,
   BFD_RELOC_UNUSED };
+
 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
 reloc_howto_type *bfd_reloc_type_lookup
    (bfd *abfd, bfd_reloc_code_real_type code);
@@ -6211,6 +6251,7 @@ bfd_boolean bfd_copy_private_symbol_data
             (ibfd, isymbol, obfd, osymbol))
 
 /* Extracted from bfd.c.  */
+
 enum bfd_direction
   {
     no_direction = 0,
@@ -6221,9 +6262,6 @@ enum bfd_direction
 
 struct bfd
 {
-  /* A unique identifier of the BFD  */
-  unsigned int id;
-
   /* The filename the application opened the BFD with.  */
   const char *filename;
 
@@ -6246,17 +6284,17 @@ struct bfd
   /* File modified time, if mtime_set is TRUE.  */
   long mtime;
 
-  /* Reserved for an unimplemented file locking extension.  */
-  int ifd;
+  /* A unique identifier of the BFD  */
+  unsigned int id;
 
   /* The format which belongs to the BFD. (object, core, etc.)  */
-  bfd_format format;
+  ENUM_BITFIELD (bfd_format) format : 3;
 
   /* The direction with which the BFD was opened.  */
-  enum bfd_direction direction;
+  ENUM_BITFIELD (bfd_direction) direction : 2;
 
   /* Format_specific flags.  */
-  flagword flags;
+  flagword flags : 17;
 
   /* Values that may appear in the flags field of a BFD.  These also
      appear in the object_flags field of the bfd_target structure, where
@@ -6315,26 +6353,23 @@ struct bfd
      struct.  */
 #define BFD_IN_MEMORY 0x800
 
-  /* The sections in this BFD specify a memory page.  */
-#define HAS_LOAD_PAGE 0x1000
-
   /* This BFD has been created by the linker and doesn't correspond
      to any input file.  */
-#define BFD_LINKER_CREATED 0x2000
+#define BFD_LINKER_CREATED 0x1000
 
   /* This may be set before writing out a BFD to request that it
      be written using values for UIDs, GIDs, timestamps, etc. that
      will be consistent from run to run.  */
-#define BFD_DETERMINISTIC_OUTPUT 0x4000
+#define BFD_DETERMINISTIC_OUTPUT 0x2000
 
   /* Compress sections in this BFD.  */
-#define BFD_COMPRESS 0x8000
+#define BFD_COMPRESS 0x4000
 
   /* Decompress sections in this BFD.  */
-#define BFD_DECOMPRESS 0x10000
+#define BFD_DECOMPRESS 0x8000
 
   /* BFD is a dummy, for plugins.  */
-#define BFD_PLUGIN 0x20000
+#define BFD_PLUGIN 0x10000
 
   /* Flags bits to be saved in bfd_preserve_save.  */
 #define BFD_FLAGS_SAVED \
@@ -6345,6 +6380,42 @@ struct bfd
   (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \
    | BFD_PLUGIN | BFD_TRADITIONAL_FORMAT | BFD_DETERMINISTIC_OUTPUT)
 
+  /* Is the file descriptor being cached?  That is, can it be closed as
+     needed, and re-opened when accessed later?  */
+  unsigned int cacheable : 1;
+
+  /* Marks whether there was a default target specified when the
+     BFD was opened. This is used to select which matching algorithm
+     to use to choose the back end.  */
+  unsigned int target_defaulted : 1;
+
+  /* ... and here: (``once'' means at least once).  */
+  unsigned int opened_once : 1;
+
+  /* Set if we have a locally maintained mtime value, rather than
+     getting it from the file each time.  */
+  unsigned int mtime_set : 1;
+
+  /* Flag set if symbols from this BFD should not be exported.  */
+  unsigned int no_export : 1;
+
+  /* Remember when output has begun, to stop strange things
+     from happening.  */
+  unsigned int output_has_begun : 1;
+
+  /* Have archive map.  */
+  unsigned int has_armap : 1;
+
+  /* Set if this is a thin archive.  */
+  unsigned int is_thin_archive : 1;
+
+  /* Set if only required symbols should be added in the link hash table for
+     this object.  Used by VMS linkers.  */
+  unsigned int selective_search : 1;
+
+  /* Set if this is the linker output BFD.  */
+  unsigned int is_linker_output : 1;
+
   /* Currently my_archive is tested before adding origin to
      anything. I believe that this can become always an add of
      origin, with origin set to 0 for non archive files.  */
@@ -6369,17 +6440,21 @@ struct bfd
   /* The number of sections.  */
   unsigned int section_count;
 
+  /* A field used by _bfd_generic_link_add_archive_symbols.  This will
+     be used only for archive elements.  */
+  int archive_pass;
+
   /* Stuff only useful for object files:
      The start address.  */
   bfd_vma start_address;
 
-  /* Used for input and output.  */
-  unsigned int symcount;
-
   /* Symbol table for output BFD (with symcount entries).
      Also used by the linker to cache input BFD symbols.  */
   struct bfd_symbol  **outsymbols;
 
+  /* Used for input and output.  */
+  unsigned int symcount;
+
   /* Used for slurped dynamic symbol tables.  */
   unsigned int dynsymcount;
 
@@ -6394,12 +6469,12 @@ struct bfd
   struct bfd *nested_archives; /* List of nested archive in a flattened
                                   thin archive.  */
 
-  /* A chain of BFD structures involved in a link.  */
-  struct bfd *link_next;
-
-  /* A field used by _bfd_generic_link_add_archive_symbols.  This will
-     be used only for archive elements.  */
-  int archive_pass;
+  union {
+    /* For input BFDs, a chain of BFDs involved in a link.  */
+    struct bfd *next;
+    /* For output BFD, the linker hash table.  */
+    struct bfd_link_hash_table *hash;
+  } link;
 
   /* Used by the back end to hold private data.  */
   union
@@ -6451,39 +6526,6 @@ struct bfd
      struct objalloc *, but we use void * to avoid requiring the inclusion
      of objalloc.h.  */
   void *memory;
-
-  /* Is the file descriptor being cached?  That is, can it be closed as
-     needed, and re-opened when accessed later?  */
-  unsigned int cacheable : 1;
-
-  /* Marks whether there was a default target specified when the
-     BFD was opened. This is used to select which matching algorithm
-     to use to choose the back end.  */
-  unsigned int target_defaulted : 1;
-
-  /* ... and here: (``once'' means at least once).  */
-  unsigned int opened_once : 1;
-
-  /* Set if we have a locally maintained mtime value, rather than
-     getting it from the file each time.  */
-  unsigned int mtime_set : 1;
-
-  /* Flag set if symbols from this BFD should not be exported.  */
-  unsigned int no_export : 1;
-
-  /* Remember when output has begun, to stop strange things
-     from happening.  */
-  unsigned int output_has_begun : 1;
-
-  /* Have archive map.  */
-  unsigned int has_armap : 1;
-
-  /* Set if this is a thin archive.  */
-  unsigned int is_thin_archive : 1;
-
-  /* Set if only required symbols should be added in the link hash table for
-     this object.  Used by VMS linkers.  */
-  unsigned int selective_search : 1;
 };
 
 /* See note beside bfd_set_section_userdata.  */
@@ -6494,6 +6536,7 @@ bfd_set_cacheable (bfd * abfd, bfd_boole
   return TRUE;
 }
 
+
 typedef enum bfd_error
 {
   bfd_error_no_error = 0,
@@ -6529,6 +6572,7 @@ const char *bfd_errmsg (bfd_error_type e
 
 void bfd_perror (const char *message);
 
+
 typedef void (*bfd_error_handler_type) (const char *, ...);
 
 bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
@@ -6537,6 +6581,7 @@ void bfd_set_error_program_name (const c
 
 bfd_error_handler_type bfd_get_error_handler (void);
 
+
 typedef void (*bfd_assert_handler_type) (const char *bfd_formatmsg,
                                          const char *bfd_version,
                                          const char *bfd_file,
@@ -6592,12 +6637,12 @@ bfd_boolean bfd_set_private_flags (bfd *
 
 #define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
        BFD_SEND (abfd, _bfd_find_nearest_line, \
-                 (abfd, sec, syms, off, file, func, line))
+                 (abfd, syms, sec, off, file, func, line, NULL))
 
 #define bfd_find_nearest_line_discriminator(abfd, sec, syms, off, file, func, \
                                             line, disc) \
-       BFD_SEND (abfd, _bfd_find_nearest_line_discriminator, \
-                 (abfd, sec, syms, off, file, func, line, disc))
+       BFD_SEND (abfd, _bfd_find_nearest_line, \
+                 (abfd, syms, sec, off, file, func, line, disc))
 
 #define bfd_find_line(abfd, syms, sym, file, line) \
        BFD_SEND (abfd, _bfd_find_line, \
@@ -6646,9 +6691,6 @@ bfd_boolean bfd_set_private_flags (bfd *
 #define bfd_link_hash_table_create(abfd) \
        BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
 
-#define bfd_link_hash_table_free(abfd, hash) \
-       BFD_SEND (abfd, _bfd_link_hash_table_free, (hash))
-
 #define bfd_link_add_symbols(abfd, info) \
        BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info))
 
@@ -6958,12 +7000,12 @@ typedef struct bfd_target
   NAME##_make_empty_symbol, \
   NAME##_print_symbol, \
   NAME##_get_symbol_info, \
+  NAME##_get_symbol_version_string, \
   NAME##_bfd_is_local_label_name, \
   NAME##_bfd_is_target_special_symbol, \
   NAME##_get_lineno, \
   NAME##_find_nearest_line, \
-  _bfd_generic_find_nearest_line_discriminator, \
-  _bfd_generic_find_line, \
+  NAME##_find_line, \
   NAME##_find_inliner_info, \
   NAME##_bfd_make_debug_symbol, \
   NAME##_read_minisymbols, \
@@ -6980,14 +7022,14 @@ typedef struct bfd_target
   void        (*_bfd_get_symbol_info)
     (bfd *, struct bfd_symbol *, symbol_info *);
 #define bfd_get_symbol_info(b,p,e) BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
+  const char *(*_bfd_get_symbol_version_string)
+    (bfd *, struct bfd_symbol *, bfd_boolean *);
+#define bfd_get_symbol_version_string(b,s,h) BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,h))
   bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
   bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
   alent *     (*_get_lineno) (bfd *, struct bfd_symbol *);
   bfd_boolean (*_bfd_find_nearest_line)
-    (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
-     const char **, const char **, unsigned int *);
-  bfd_boolean (*_bfd_find_nearest_line_discriminator)
-    (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
+    (bfd *, struct bfd_symbol **, struct bfd_section *, bfd_vma,
      const char **, const char **, unsigned int *, unsigned int *);
   bfd_boolean (*_bfd_find_line)
     (bfd *, struct bfd_symbol **, struct bfd_symbol *,
@@ -7041,7 +7083,6 @@ typedef struct bfd_target
   NAME##_bfd_get_relocated_section_contents, \
   NAME##_bfd_relax_section, \
   NAME##_bfd_link_hash_table_create, \
-  NAME##_bfd_link_hash_table_free, \
   NAME##_bfd_link_add_symbols, \
   NAME##_bfd_link_just_syms, \
   NAME##_bfd_copy_link_hash_symbol_type, \
@@ -7068,16 +7109,14 @@ typedef struct bfd_target
   struct bfd_link_hash_table *
               (*_bfd_link_hash_table_create) (bfd *);
 
-  /* Release the memory associated with the linker hash table.  */
-  void        (*_bfd_link_hash_table_free) (struct bfd_link_hash_table *);
-
   /* Add symbols from this object file into the hash table.  */
   bfd_boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *);
 
   /* Indicate that we are only retrieving symbol values from this section.  */
   void        (*_bfd_link_just_syms) (asection *, struct bfd_link_info *);
 
-  /* Copy the symbol type of a linker hash table entry.  */
+  /* Copy the symbol type and other attributes for a linker script
+     assignment of one symbol to another.  */
 #define bfd_copy_link_hash_symbol_type(b, t, f) \
   BFD_SEND (b, _bfd_copy_link_hash_symbol_type, (b, t, f))
   void (*_bfd_copy_link_hash_symbol_type)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfd-in.h ./bfd/bfd-in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfd-in.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/bfd-in.h	2015-01-20 02:05:35.000000000 +0000
@@ -1,6 +1,6 @@
 /* Main header file for the bfd library -- portable access to object files.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
@@ -658,7 +658,7 @@ extern int bfd_elf_get_dyn_lib_class
   (bfd *);
 extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
   (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf_discard_info
+extern int bfd_elf_discard_info
   (bfd *, struct bfd_link_info *);
 extern unsigned int _bfd_elf_default_action_discarded
   (struct bfd_section *);
@@ -806,12 +806,6 @@ struct internal_syment;
 union internal_auxent;
 #endif
 
-extern bfd_boolean bfd_coff_get_syment
-  (bfd *, struct bfd_symbol *, struct internal_syment *);
-
-extern bfd_boolean bfd_coff_get_auxent
-  (bfd *, struct bfd_symbol *, int, union internal_auxent *);
-
 extern bfd_boolean bfd_coff_set_symbol_class
   (bfd *, struct bfd_symbol *, unsigned int);
 
@@ -937,10 +931,10 @@ extern void bfd_elf32_aarch64_init_maps
   (bfd *);
 
 extern void bfd_elf64_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int);
+  (bfd *, struct bfd_link_info *, int, int, int, int);
 
 extern void bfd_elf32_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int);
+  (bfd *, struct bfd_link_info *, int, int, int, int);
 
 /* ELF AArch64 mapping symbol support.  */
 #define BFD_AARCH64_SPECIAL_SYM_TYPE_MAP	(1 << 0)
@@ -991,23 +985,3 @@ extern void bfd_elf32_ia64_after_parse
 
 extern void bfd_elf64_ia64_after_parse
   (int);
-
-/* This structure is used for a comdat section, as in PE.  A comdat
-   section is associated with a particular symbol.  When the linker
-   sees a comdat section, it keeps only one of the sections with a
-   given name and associated with a given symbol.  */
-
-struct coff_comdat_info
-{
-  /* The name of the symbol associated with a comdat section.  */
-  const char *name;
-
-  /* The local symbol table index of the symbol associated with a
-     comdat section.  This is only meaningful to the object file format
-     specific code; it is not an index into the list returned by
-     bfd_canonicalize_symtab.  */
-  long symbol;
-};
-
-extern struct coff_comdat_info * bfd_coff_get_comdat_section
-  (bfd *, struct bfd_section *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfdio.c ./bfd/bfdio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfdio.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/bfdio.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low-level I/O routines for BFDs.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Written by Cygnus Support.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfd.m4 ./bfd/bfd.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfd.m4	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/bfd.m4	2015-01-20 02:05:35.000000000 +0000
@@ -1,6 +1,6 @@
 dnl This file was derived from acinclude.m4.
 dnl
-dnl   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 dnl
 dnl This file is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfdwin.c ./bfd/bfdwin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bfdwin.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/bfdwin.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for memory-mapped windows into a BFD.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/binary.c ./bfd/binary.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/binary.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/binary.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for binary objects.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -190,6 +190,8 @@ binary_canonicalize_symtab (bfd *abfd, a
 
 #define binary_make_empty_symbol  _bfd_generic_make_empty_symbol
 #define binary_print_symbol       _bfd_nosymbols_print_symbol
+#define binary_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
 
 /* Get information about a symbol.  */
 
@@ -204,6 +206,7 @@ binary_get_symbol_info (bfd *ignore_abfd
 #define binary_bfd_is_local_label_name      bfd_generic_is_local_label_name
 #define binary_get_lineno                  _bfd_nosymbols_get_lineno
 #define binary_find_nearest_line           _bfd_nosymbols_find_nearest_line
+#define binary_find_line                   _bfd_nosymbols_find_line
 #define binary_find_inliner_info           _bfd_nosymbols_find_inliner_info
 #define binary_bfd_make_debug_symbol       _bfd_nosymbols_bfd_make_debug_symbol
 #define binary_read_minisymbols            _bfd_generic_read_minisymbols
@@ -305,7 +308,6 @@ binary_sizeof_headers (bfd *abfd ATTRIBU
 #define binary_section_already_linked             _bfd_generic_section_already_linked
 #define binary_bfd_define_common_symbol            bfd_generic_define_common_symbol
 #define binary_bfd_link_hash_table_create         _bfd_generic_link_hash_table_create
-#define binary_bfd_link_hash_table_free           _bfd_generic_link_hash_table_free
 #define binary_bfd_link_just_syms                 _bfd_generic_link_just_syms
 #define binary_bfd_copy_link_hash_symbol_type \
   _bfd_generic_copy_link_hash_symbol_type
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bout.c ./bfd/bout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/bout.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/bout.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel 960 b.out binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1374,10 +1374,11 @@ b_out_bfd_get_relocated_section_contents
 
 /* Build the transfer vectors for Big and Little-Endian B.OUT files.  */
 
+#define aout_32_find_line                      _bfd_nosymbols_find_line
+#define aout_32_get_symbol_version_string      _bfd_nosymbols_get_symbol_version_string
 #define aout_32_bfd_make_debug_symbol          _bfd_nosymbols_bfd_make_debug_symbol
 #define aout_32_close_and_cleanup              aout_32_bfd_free_cached_info
 #define b_out_bfd_link_hash_table_create       _bfd_generic_link_hash_table_create
-#define b_out_bfd_link_hash_table_free         _bfd_generic_link_hash_table_free
 #define b_out_bfd_link_add_symbols             _bfd_generic_link_add_symbols
 #define b_out_bfd_link_just_syms               _bfd_generic_link_just_syms
 #define b_out_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cache.c ./bfd/cache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cache.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cache.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,6 +1,6 @@
 /* BFD library -- caching of file descriptors.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Hacked by Steve Chamberlain of Cygnus Support (steve@cygnus.com).
 
@@ -310,7 +310,7 @@ cache_bread_1 (struct bfd *abfd, void *b
   if (nread == (file_ptr)-1)
     {
       bfd_set_error (bfd_error_system_call);
-      return -1;
+      return nread;
     }
 #else
   nread = fread (buf, 1, nbytes, f);
@@ -320,7 +320,7 @@ cache_bread_1 (struct bfd *abfd, void *b
   if (nread < nbytes && ferror (f))
     {
       bfd_set_error (bfd_error_system_call);
-      return -1;
+      return nread;
     }
 #endif
   if (nread < nbytes)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cf-i386lynx.c ./bfd/cf-i386lynx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cf-i386lynx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cf-i386lynx.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel 386 COFF LynxOS files.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cf-sparclynx.c ./bfd/cf-sparclynx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cf-sparclynx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cf-sparclynx.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Sparc COFF LynxOS files.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ChangeLog ./bfd/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ChangeLog	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ChangeLog	2015-01-20 02:05:35.000000000 +0000
@@ -1,1362 +1,98 @@
-2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
 
-	* elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New.
+	* development.sh (development): Set to false.
 
-2014-12-04  H.J. Lu  <hongjiu.lu@intel.com>
+2015-01-12  Terry Guo  <terry.guo@arm.com>
 
-	PR binutils/17677
-	* elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype.
-	* elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New
+	* elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
 	function.
-	* elf32-i386.c (elf_i386_plt_sym_val): Removed.
-	(elf_backend_plt_sym_val): Likewise.
-	(elf_i386_get_plt_sym_val): New.
-	(elf_i386_get_synthetic_symtab): Likewise.
-	(bfd_elf32_get_synthetic_symtab): Likewise.
-	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed.
-	(elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
-	(elf_backend_plt_sym_val): Likewise.
-	(elf_x86_64_get_plt_sym_val): New.
-	(elf_x86_64_get_synthetic_symtab): Use
-	_bfd_elf_ifunc_get_synthetic_symtab.
-	(bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl.
-
-2014-09-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	PR gdb/17407
-	* elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET.
-
-2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
-	ELFOSABI_GNU input.
-	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
-	(elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
-
-2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR binutils/17154
-	* elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT
-	and R_*_IRELATIVE relocation offset with PLT entry.
-	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
-	(elf_x86_64_plt_sym_val_offset_plt_bnd): New.
-	(elf_x86_64_get_synthetic_symtab): Use it.
+	(_bfd_elf_gc_mark_extra_sections): Use it.
 
-2014-06-24  Philippe De Muyter  <phdm@macqel.be>
+2015-01-11  H.J. Lu  <hongjiu.lu@intel.com>
 
-	* targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for
-	a number of targets.
+	PR ld/17827
+	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
+	only discard space for pc-relative relocs symbols which turn
+	out to need copy relocs.
 
-2014-06-11  Joel Brobecker  <brobecker@adacore.com>
+2015-01-09  Nick Clifton  <nickc@redhat.com>
 
-	* development.sh (development): Set to false.
+	* tekhex.c (getvalue): Fix thinko in test for correct extraction
+	of value.
+	(getsym): Return false if there was not enough data to extract the
+	symbol.
 
-2014-06-11  Alan Modra  <amodra@gmail.com>
+2015-01-09  Anthony Green  <green@moxielogic.com>
 
-	* linker.c (unwrap_hash_lookup): Add missing parens.
+	* elf32-moxie.c (ELF_MACHINE_ALT1): Define.
 
-2014-06-11  Kai Tietz  <ktietz@redhat.com>
+2015-01-08  Nick Clifton  <nickc@redhat.com>
 
-	* libcoff-in.h (coff_tdata): Make relocbase member unsigned.
-	* libcoff.h: Regenerated.
+	* elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
+	16-bit absolute BR instructions to 10-bit pc-relative JMP
+	instructions.
 
-2014-06-10  Alan Modra  <amodra@gmail.com>
-
-	PR ld/16910
-	* linker.c (unwrap_hash_lookup): New function.
-	* elf-bfd (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
-	* elf32-i370.c (i370_elf_relocate_section): Likewise.
-	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
-	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
-	* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
-	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
-	* elf32-spu.c (spu_elf_relocate_section): Likewise.
-	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
-
-2014-06-07  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli
-	insn as a bitfield; Use complain_overflow_bitfield.
-	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
-
-2014-06-05  Joel Brobecker  <brobecker@adacore.com>
-
-	* development.sh: New file.
-	* warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
-	Make -Werror the default with GCC only if DEVELOPMENT is true.
-	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
-	$(srcdir)/development.sh.
-	* Makefile.in, configure: Regenerate.
-
-2014-06-04  Will Newton  <will.newton@linaro.org>
-
-        * elfnn-aarch64.c (tpoff_base): Make test of tls_sec
-	being non-NULL into an assert.
-	(elfNN_aarch64_tls_relax): Remove unused code.
-
-2014-06-03  DJ Delorie  <dj@redhat.com>
-
-	* elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability.
-
-2014-06-03  Nick Clifton  <nickc@redhat.com>
-
-	PR ld/16807
-	* peXXigen.c (rsrc_process_section): Page align the new contents
-	befgore writing out.
-
-2014-06-03  Alan Modra  <amodra@gmail.com>
-
-	* elf64-ppc.c (ADDIS_R12_R2): Define.
-	(build_plt_stub): Support fusion on ELFv2 stub.
-	(ppc_build_one_stub): Likewise for plt branch stubs.
-
-2014-05-28  Alan Modra  <amodra@gmail.com>
-
-	* elf32-rx.c (rx_table_map): Delete set but not used variables.
-
-2014-05-28  Tristan Gingold  <gingold@adacore.com>
-
-	* dwarf2.c (lookup_address_in_function_table): Add best_fit_len
-	to keep the length of the best fit range.
-	(lookup_symbol_in_function_table, info_hash_lookup_funcinfo):
-	Likewise.
-
-2014-05-27  DJ Delorie  <dj@redhat.com>
-
-	* bfd/elf32-rx.c (get_symbol_value_maybe): New.
-	(rx_elf_relocate_section): If we find a reloc against
-	$tableentry$default$<name>, redirect it to the appropriate
-	$tableentry$<n>$.
-	(RX_Table_Info): New.
-	(rx_table_find): New.  Check all tables and SEC_KEEP all sections
-	with table parts in them.
-	(rx_check_directives): New.
-	(rx_table_map_2): New.
-	(rx_table_map): New.
-	(rx_additional_link_map_text): New.  Called to dump tables to the
-	map file.
-	* bfd/elf32-rx.h: New.
-
-2014-05-20  DJ Delorie  <dj@redhat.com>
-
-	* elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
-
-2014-05-20  Alan Modra  <amodra@gmail.com>
-
-	PR 16952
-	* elf32-ppc.c (ppc_elf_create_linker_section): Move earlier.
-	Remove redundant setting of htab->elf.dynobj.  Don't align.
-	Define .sdata symbols using _bfd_elf_define_linkage_sym.
-	(ppc_elf_create_glink): Call ppc_elf_create_linker_section.
-	(create_sdata_sym): Delete.
-	(elf_allocate_pointer_linker_section): Rename from
-	elf_create_pointer_linker_section.  Align section.
-	(ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section
-	directly here, or create_sdata_sym.  Set ref_regular on _SDA_BASE_
-	and _SDA2_BASE_.
-	(ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param.
-	Remove unnecessary tests on _SDA_BASE_ sym.
-	(maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions.
-	(ppc_elf_relocate_section): Tighten SDA reloc symbol section checks.
-	* elf32-ppc.h (ppc_elf_set_sdata_syms): Delete.
-	(ppc_elf_maybe_strip_sdata_syms): Declare.
-
-2014-05-16  Ryan Mansfield  <rmansfield@qnx.com>
-
-	* config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*.
-
-2014-05-16  Jon Turney  <jon.turney@dronecode.org.uk>
-
-	* peXXigen.c (pe_print_debugdata): Don't interpret debug directory
-	in a section with no contents.
-	(is_vma_in_section, find_section_by_vma): New functions.
-	(_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
-	offsets in the debug directory.
-	(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
-	Byte-swap GUID from little-endian to big-endian order for
-	consistent and conventional display.
-
-2014-05-16  Kaushik Phata  <Kaushik.Phatak@kpit.com>
-
-	* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if
-	64-bit doubles objects mix with 32-bit doubles objects.
-	(rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag.
-
-2014-05-08  Hans-Peter Nilsson  <hp@bitrange.com>
-
-	* mmo.c: Update URLs in documentation comments.
-
-2014-05-02  Volodymyr Arbatov  <arbatov@cadence.com>
-	    David Weatherford  <weath@cadence.com>
-	    Max Filippov  <jcmvbkbc@gmail.com>
-
-	* elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as
-	signed.
-
-2014-05-07  Andreas Tobler  <andreast@fgznet.ch>
-
-	* config.bfd: Add proper arm config for *-*-freebsd*.
-
-2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
-
-	* aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3,
-	mips32r5 and mips64r5.
-	* archures.c (bfd_architecture): Likewise.
-	* bfd-in2.h (bfd_architecture): Likewise.
-	* cpu-mips.c (arch_info_struct): Likewise.
-	* elfxx-mips.c (mips_set_isa_flags): Likewise.
-
-2014-05-06  Richard Sandiford  <rdsandiford@googlemail.com>
-
-	* elfxx-mips.h (elfxx-mips.h): Declare.
-	* elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report
-	Tag_GNU_MIPS_ABI_FP mismatches.
-	(_bfd_mips_fp_abi_string): New function.
-
-2014-05-02  Alan Modra  <amodra@gmail.com>
-
-	* targets.c: Sort bfd_target vectors somewhat alphabetically.
-	* configure.in: Likewise.
-	* configure: Regenerate.
-
-2014-05-02  Alan Modra  <amodra@gmail.com>
-
-	* aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
-	* aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
-	* cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
-	* coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
-	* coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
-	* coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
-	* coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
-	* coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
-	* coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
-	* coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
-	* demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
-	* elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
-	* elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
-	* elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
-	* elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
-	* elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
-	* elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
-	* elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
-	* elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
-	* elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
-	* elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
-	* elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
-	* elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
-	* elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
-	* elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
-	* elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
-	* elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
-	* elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
-	* elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
-	* elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
-	* epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
-	* hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
-	* i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
-	* i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
-	* irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
-	* m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
-	* makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
-	* nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
-	* ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
-	* pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
-	* pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
-	* pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
-	* pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
-	* sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
-	* sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
-	* vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
-	* vms-alpha.c, * vms-lib.c: Rename bfd targets to
-	<cpu>_<format>_<other>_<endian>_vec.  Adjust associated MY macros
-	on aout targets.
-	* configure: Regenerate.
-
-2014-05-01  Hans-Peter Nilsson  <hp@bitrange.com>
-
-	* mmo.c (mmo File layout documentation): Add note about low bits
-	of address.
-	(mmo_write_chunk): When handling data remainder, assert that
-	previous remaining data is flushed.
-	(mmo_write_loc_chunk): Only look for trailing and leading zeros
-	when dealing with an aligned VMA and for aligned lengths.  Don't skip
-	the last 32-bit-word of zeros.
-	(mmo_write_loc_chunk): Emit an error if the VMA is not aligned.
-	(mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before
-	emitting data, not after updating it.
-	<case LOP_LOC>: Call mmo_decide_section with aligned vma.
-
-2014-04-30  Nick Clifton  <nickc@redhat.com>
-
-	* compress.c (bfd_is_section_compressed): When checking the
-	.debug_str section, also check the fifth byte in the section is
-	not part of a string.
-
-2014-04-30  Alan Modra  <amodra@gmail.com>
-
-	* elf-eh-frame.c (struct cie.personality): Replace val with sym.
-	(find_merged_cie): Identify personality functions by (bfd_id,index)
-	pair when a local sym is used.
-
-2014-04-29  Christian Svensson  <blue@cmd.nu>
-
-	* elf32-or1k.c: Fix a bug where non-TLS relocations would be forced
-	into .rela.got if it contained TLS relocations as well.
-
-2014-04-28  Nick Clifton  <nickc@redhat.com>
-
-	PR ld/16821
-	* peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile
-	time warning.
-
-2014-04-26  Alan Modra  <amodra@gmail.com>
-
-	* po/SRC-POTFILES.in: Regenerate.
-	* configure: Regenerate.
-
-2014-04-25  Nick Clifton  <nickc@redhat.com>
-
-	PR ld/16821
-	* peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on
-	a 342-bit host.  This time for older versions of gcc.
-
-2014-04-24  Nick Clifton  <nickc@redhat.com>
-
-	* peXXigen.c (rsrc_print_section): Fix compile time warning for
-	32-bit hosts.
-
-2014-04-24  Alan Modra  <amodra@gmail.com>
-
-	PR 16867
-	* dwarf2.c: Formatting.
-	(struct dwarf2_debug): Make adjusted_section_count signed.
-	(unset_sections): Make i signed.
-	(set_debug_vma): New function.
-	(place_sections): Handle separate debug object file.  Set VMA
-	on debug sections, even if they have an output section.  Also
-	set VMA on zero size sections, and non-load but alloc sections.
-	Set adjusted_section_count to -1 when no section adjustment.
-	Malloc adjusted_sections.  Don't double last_vma.  Transfer
-	alloc section VMAs to separate debug file.
-	(_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
-	(_bfd_dwarf2_slurp_debug_info): Add do_place parameter.  Drop
-	test on symbols being the same before using old stash.  Read
-	and use separate debug file symbols.  Call place_sections.
-	(find_line): Don't call place_sections here.
-	* libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
-	* libbfd.h: Regenerate.
-	* mach-o.c (bfd_mach_o_find_nearest_line): Adjust
-	_bfd_dwarf2_slurp_debug_info call.
-	* simple.c (simple_save_output_info): Clarify comment.
-
-2014-04-24  Nick Clifton  <nickc@redhat.com>
-
-	PR ld/16807
-	* peXXigen.c (struct rsrc_regions): New structure.
-	(rsrc_print_resource_directory): Use new structure.  Include
-	offset of directory in listing.
-	(rsrc_print_resource_entry): Likewise.
-	(rsrc_print_section): Likewise.
-	(rsrc_count_entries): Do not increment sizeof_strings or
-	sizeof_leaves.
-	(rsrc_count_directory): Do not increment sizeof_tables.
-	(rsrc_compute_region_sizes): New function.
-	(rsrc_write_leaf): Maintain 8-byte alignment for resource data.
-	(rsrc_process_section): Compute size of regions after merging
-	entries.
-
-2014-04-23  Alan Modra  <amodra@gmail.com>
-
-	PR ld/16787
-	* dwarf2.c (struct dwarf2_debug): Add sec_vma field.
-	(place_sections): Do not modify VMA of sections when called from
-	linker after sections have been placed in output sections.  Short
-	circuit single section case.
-	(save_section_vma, section_vma_same): New functions.
-	(_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs
-	change.
-	* reloc.c (bfd_perform_relocation): Do not modify reloc addend
-	when non-relocatable.
-
-2014-04-22  Nick Clifton  <nickc@redhat.com>
-
-	PR ld/16821
-	* peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts.
-
-2014-04-22  Christian Svensson  <blue@cmd.nu>
-
-	* Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
-	* archures.c: Likewise.
-	* coffcode.h: Likewise.
-	* config.bfd: Likewise.
-	* configure.in: Likewise.
-	* reloc.c: Likewise.
-	* targets.c: Likewise.
-	* cpu-or1k.c: New file.
-	* elf32-or1k.c: New file.
-	* coff-or32.c: Delete.
-	* cpu-openrisc.c: Delete.
-	* cpu-or32.c: Delete.
-	* elf32-openrisc.c: Delete.
-	* elf32-or32.c: Delete.
-	* Makefile.in: Regenerate.
-	* bfd-in2.h: Regenerate.
-	* configure: Regenerate.
-	* libbfd.h: Regenerate.
-
-2014-04-22  Yuanhui Zhang  <asmwarrior@gmail.com>
-
-	PR ld/16821
-	* peXXigen.c (abs_finder): Fix for 32-bit host builds.
-
-2014-04-22  Will Newton  <will.newton@linaro.org>
-
-	* elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove
-	function.  (elf_backend_section_flags): Remove define.
-
-2014-04-21  Richard Henderson  <rth@redhat.com>
-
-	* elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
-	parameter; honor it and disable got merging when false.
-	(elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
-	the first pass of relaxation.
-	(elf64_alpha_relax_with_lituse): Likewise.  Move relaxed relocs to
-	the end of the LITERAL+LITUSE chain.
-	(elf64_alpha_relax_section): Only process LITERAL relocs during the
-	second pass of relaxation.
-
-	* configure.ac (use_secureplt): Enable by default.
-	* configure: Rebuild.
-
-2014-04-18  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content,
-	bind_content, weak_bind_content, lazy_bind_content,
-	export_content.
-	(bfd_mach_o_load_command): Add comments, add next field.
-	(mach_o_data_struct): Replace commands field by first_command
-	and last_command.
-	* mach-o.c (bfd_mach_o_append_command): New function.
-	(bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines.
-	(bfd_mach_o_bfd_copy_private_section_data): Check flavour,
-	copy fields.
-	(bfd_mach_o_bfd_copy_private_header_data): Copy load commands.
-	(bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions.
-	(bfd_mach_o_write_thread): Use macro instead of literal.
-	(bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib)
-	(bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New
-	functions.
-	(bfd_mach_o_write_symtab_content): New function (extracted
-	from bfd_mach_o_write_symtab).
-	(bfd_mach_o_write_symtab): Split.
-	(bfd_mach_o_count_indirect_symbols): Move
-	(bfd_mach_o_build_dysymtab): Remove layout code.
-	(bfd_mach_o_write_contents): Rewritten to build commands in order.
-	(bfd_mach_o_count_sections_for_seg): Remove.
-	(bfd_mach_o_build_obj_seg_command): New function (extracted from
-	bfd_mach_o_build_seg_command).
-	(bfd_mach_o_build_exec_seg_command): New function.
-	(bfd_mach_o_build_dysymtab_command): Remove.
-	(bfd_mach_o_layout_commands): New function.
-	(bfd_mach_o_init_segment): New function.
-	(bfd_mach_o_build_commands): Major rework to handle non-object
-	files.
-	(bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New
-	function.
-	(bfd_mach_o_read_dyld_info): Clear content fields.
-	(bfd_mach_o_read_segment): Adjust call.
-	(bfd_mach_o_flatten_sections): Adjust as now load commands are
-	chained.
-	(bfd_mach_o_scan_start_address, bfd_mach_o_scan)
-	(bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address)
-	(bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment):
-	Likewise.
-
-2014-04-18  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data):
-	Define instead of bfd_mach_o_bfd_copy_private_bfd_data.
-	* mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename.
-	* mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise.
-
-2014-04-18  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.h (bfd_mach_o_dylinker_command)
-	(bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove
-	name_len field.
-	* mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
-	(bfd_mach_o_read_fvmlib): Adjust after name_len removal.
-
-2014-04-18  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.h (bfd_mach_o_backend_data): Add page_size field.
-	* mach-o-target.c: Check TARGET_PAGESIZE is defined.
-	(TARGET_NAME_BACKEND): Add TARGET_PAGESIZE.
-	* mach-o.c (TARGET_PAGESIZE): Define and undefined for
-	each targets declared.
-	* mach-o-x86-64.c (TARGET_PAGESIZE): Define.
-	* mach-o-i386.c (TARGET_PAGESIZE): Define.
-
-2014-04-18  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.c (bfd_mach_o_write_thread)
-	(bfd_mach_o_write_section_32, bfd_mach_o_write_section_64)
-	(bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64)
-	(bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
-	(bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum)
-	(bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib)
-	(bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab)
-	(bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
-	(bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
-	(bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment)
-	(bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64)
-	(bfd_mach_o_read_command): Now return a boolean status.
-	Adjust return statements.
-	(bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests.
-	(bfd_mach_o_core_file_failing_command): Remove useless initialization.
-
-2014-04-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
-	field.  Add assigned_low_gotno and assigned_high_gotno fields.
-	(mips_elf_create_local_got_entry): Update out-of-space condition.
-	Set index of new GOT entry to assigned_low_gotno if required by
-	the current relocation, else set it to assigned_high_gotno.
-	(mips_elf_set_global_gotidx): Replace uses of assigned_gotno
-	with assigned_low_gotno.
-	(mips_elf_multi_got): Initialize assigned_low_gotno and
-	assigned_high_gotno in secondary GOTs.  Use assigned_low_gotno
-	in place of assigned_gotno when handling global GOT entries.
-	(mips_elf_lay_out_got): Initialize assigned_low_gotno and
-	assigned_high_gotno.
-	(_bfd_mips_elf_finish_dynamic_sections): Account for a possible
-	gap in the middle of local GOT space.
-
-2014-04-17  Alan Modra  <amodra@gmail.com>
-
-	PR 16846
-	* elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when
-	current bfd is a plugin.  Don't always set type_change_ok
-	when old bfd is a plugin.
-
-2014-04-16  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
-	flag.
-
-2014-04-16  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
-	with "ba 0" rather than zeros.
-
-2014-04-15  Marcus Shawcroft  <marcus.shawcroft@arm.com>
-
-	* (elfNN_aarch64_tls_relax): Fix instruction mask.
-
-2014-04-14  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (BA): Define
-	(ppc_elf_link_hash_table_create): Correct default_params.
-	(write_glink_stub): Pad small plt call stub with "ba 0" rather
-	than "nop" for ppc476_workaround.
-	(ppc_elf_finish_dynamic_sections): Likewise for branch table
-	and __glink_PLTresolve.  Ensure plt call stub at end of page
-	doesn't allow fall-thru prefetch.
-
-2014-04-11  Nick Clifton  <nickc@redhat.com>
-
-	PR ld/16821
-	* peXXigen.c (abs_finder): New function.
-	(_bfd_XXi_swap_sym_out): For absolute symbols with values larger
-	than 1^32 try to convert them into section relative values
-	instead.
-
-2014-04-11  Nick Clifton  <nickc@redhat.com>
-
-	* bfd-in2.h: Regenerate.
-	* libbfd.h: Regenerate.
-
-2014-04-10  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
-	when building function stubs.
-
-2014-04-10  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
-
-	* elf32-avr.c: Add DIFF relocations for AVR.
-	(avr_final_link_relocate): Handle the DIFF relocs.
-	(bfd_elf_avr_diff_reloc): New.
-	(elf32_avr_is_diff_reloc): New.
-	(elf32_avr_adjust_diff_reloc_value): Reduce difference value.
-	(elf32_avr_relax_delete_bytes): Recompute difference after deleting
-	bytes.
-
-	* reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
-
-2014-04-09  Alan Modra  <amodra@gmail.com>
-
-	* libcoff.h: Regenerate.
-
-2014-04-09  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list
-	of safe ppc476 insns at end of page.  Also remove non-branch insns.
-	Expand comments.
-
-2014-04-08  Jon Turney  <jon.turney@dronecode.org.uk>
-
-	* peXXigen.c (pe_print_debugdata): New function: Displays the
-	contents of the debug directory and decodes codeview entries.
-	(_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
-	(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
-	Add functions for reading and writing debugdir and codeview
-	records.
-	* libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
-	(_bfd_XXi_write_codeview_record): Add prototypes and macros.
-	* libcoff-in.h (pe_tdata): Add build-id data.
-	* libcoff.h: Regenerate.
-	* coffcode.h (coff_write_object_contents): Run build_id
-	after_write_object_contents hook.
-
-2014-04-05  Alan Modra  <amodra@gmail.com>
-
-	* elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when
-	merging non-default sym.
-
-2014-04-04  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
-	configured for.
-
-2014-04-04  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
-	thinko on names length.
-
-2014-04-04  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
-	of output_section.
-	* mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
-
-2014-04-04  Tristan Gingold  <gingold@adacore.com>
-
-	* bfd.c (bfd_get_arch_size): Default is taken from arch.
-
-2014-04-03  Jon Turney  <jon.turney@dronecode.org.uk>
-
-	* peXXigen.c (pe_print_edata): Verify edt.name lies inside
-	section before dereferencing.
-	(pe_print_idata, pe_print_edata, pe_print_reloc)
-	(rsrc_print_section): Don't bother interpreting the contents
-	of sections which have no contents.
-
-2014-04-03  Maria Guseva  <m.guseva@samsung.com>
-
-	PR ld/16803
-	* elf.c (_bfd_elf_set_section_contents): Use correct type to hold
-	file position.
-
-2014-04-03  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.c (bfd_mach_o_mangle_symbols): Use index from
-	output_section.
-	(bfd_mach_o_build_seg_command): Add comment.  Realign segment.
-	Fix style.
-	(bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
-
-2014-04-03  Alan Modra  <amodra@gmail.com>
-
-	* elf-bfd.h (struct elf_backend_data
-	<elf_backend_bfd_from_remote_memory>): Replace "size_t size"
-	with "bfd_size_type size".
-	(_bfd_elf32_bfd_from_remote_memory): Likewise.
-	(_bfd_elf64_bfd_from_remote_memory): Likewise.
-	* elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
-	* elfcode.h (bfd_from_remote_memory): Likewise.
-	* bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
-	* bfd-in2.h: Regenerate.
-
-2014-04-02  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.h (bfd_mach_o_twolevel_hints_command)
-	(bfd_mach_o_prebind_cksum_command): New types.
-	(bfd_mach_o_prebound_dylib_command): Rewrite.
-	(bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
-	fields.
-	* mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
-	command.
-	(bfd_mach_o_read_prebind_cksum): New function.
-	(bfd_mach_o_read_twolevel_hints): Ditto.
-	(bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
-	commands.
-
-2014-04-02  Alan Modra  <amodra@gmail.com>
-
-	* elfcode.h (bfd_from_remote_memory): Add "size" parameter.
-	Consolidate code handling possible section headers past end of
-	segment.  Don't use p_align for page size guess, instead use
-	minpagesize.  Take note of ld.so clearing section headers when
-	p_memsz > p_filesz.  Handle file header specifying no section
-	headers.  Handle zero p_align throughout.  Default loadbase to
-	zero.  Add comments.  Rename contents_size to high_offset, and
-	make it a bfd_vma.  Delete unnecessary bfd_set_error calls.
-	* bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
-	* elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
-	Likewise.
-	(_bfd_elf32_bfd_from_remote_memory): Likewise.
-	(_bfd_elf64_bfd_from_remote_memory): Likewise.
-	* elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
-	* bfd-in2.h: Regnerate.
-
-2014-04-01  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
-	when num == 0.
-
-2014-03-27  Yury Gribov  <y.gribov@samsung.com>
-	    Pavel Fedin  <p.fedin@samsung.com>
-
-	* elf32-arm.c: Add support for limited pretty-printing of PLT
-	entries on eabi and nacl targets.
-	(elf32_arm_get_synthetic_symtab): Add new callback.
-	(elf32_arm_nacl_plt_sym_val): Likewise.
-	(elf32_arm_plt0_size): Add helper function.
-	(elf32_arm_plt_size): Likewise.
-
-2014-03-27  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
-	(bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
-
-2014-03-27  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.h (bfd_mach_o_get_base_address): New prototype.
-	* mach-o.c (bfd_mach_o_write_symtab)
-	(bfd_mach_o_write_contents)
-	(bfd_mach_o_set_section_flags_from_bfd)
-	(bfd_mach_o_build_seg_command): Fix indentation.
-	(bfd_mach_o_get_base_address): New function.
-
-2014-03-26  Nick Clifton  <nickc@redhat.com>
-
-	* cofflink.c (_bfd_coff_generic_relocate_section): Skip
-	relocations in discarded sections.
-
-2014-03-26  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.c (bfd_mach_o_convert_architecture): Add
-	BFD_MACH_O_CPU_TYPE_ARM64.
-
-2014-03-26  Alan Modra  <amodra@gmail.com>
-
-	* elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
-	needed plt entries when taking the address of functions for
-	abiversion == 0 (ie. unknown) as well as abiversion == 2.
-	Move opd setup and abiversion checks to..
-	(ppc64_elf_before_check_relocs): ..here.  Renamed from
-	ppc64_elf_process_dot_syms.  Set output abiversion from input and
-	input abiversion from output, if either is not set.
-	(ppc64_elf_merge_private_bfd_data): Don't merge flags here.
-	(elf_backend_check_directives): Update.
-
-2014-03-25  Will Newton  <will.newton@linaro.org>
-
-	 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
-	 Set value of DT_PLTRELSZ and DT_RELASZ based on the size
-	 of input sections rather than output sections.
-
-2014-03-20  Will Newton  <will.newton@linaro.org>
-
-	PR ld/16715
-	* elf32-arm.c (elf32_arm_check_relocs): Set
-	pointer_equality_needed for absolute references within
-	executable links.
-	(elf32_arm_finish_dynamic_symbol): Set st_value to zero
-	unless pointer_equality_needed is set.
-
-2014-03-19  Nick Clifton  <nickc@redhat.com>
-
-	* peXXigen.c (rsrc_process_section): Add code to scan input
-	sections and record their lengths.  Use these lengths to find the
-	start of each merged .rsrc section.
-
-2014-03-17  Tristan Gingold  <gingold@adacore.com>
-
-	* mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
-	(bfd_mach_o_read_command): Ditto.
-
-2014-03-14  Meador Inge  <meadori@codesourcery.com>
-
-	* configure.in: Add strnlen to AC_CHECK_DECLS.
-	* config.in: Regenerate.
-	* configure: Regenerate.
-	* sysdep.h (strnlen): Add prototype.
-
-2014-03-14  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
-	handling for VLE_SDA21 relocs.
-
-2014-03-13  Tristan Gingold  <gingold@adacore.com>
-
-	* peicode.h (pe_ILF_object_p): Adjust, as the version number
-	has been read.
-	(pe_bfd_object_p): Also read version number to detect ILF.
-	* pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
-	(x86_64pe_bigobj_vec): Define
-	* coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
-	(bfd_coff_max_nscns): New macro.
-	(coff_compute_section_file_positions): Use unsigned int for
-	target_index.  Compare with bfd_coff_max_nscns.
-	(bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
-	Set a value for _bfd_coff_max_nscns.
-	(header_bigobj_classid): New constant.
-	(coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
-	(coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
-	(coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
-	functions.
-	(bigobj_swap_table): New table.
-	* libcoff.h: Regenerate.
-	* coff-sh.c (bfd_coff_small_swap_table): Likewise.
-	* coff-alpha.c (alpha_ecoff_backend_data): Add value for
-	_bfd_coff_max_nscns.
-	* coff-mips.c (mips_ecoff_backend_data): Likewise.
-	* coff-rs6000.c (bfd_xcoff_backend_data)
-	(bfd_pmac_xcoff_backend_data): Likewise.
-	* coff64-rs6000.c (bfd_xcoff_backend_data)
-	(bfd_xcoff_aix5_backend_data): Likewise.
-	* targets.c (x86_64pe_bigobj_vec): Declare.
-	* configure.in (x86_64pe_bigobj_vec): New vector.
-	* configure: Regenerate.
-	* config.bfd: Add bigobj object format for Windows targets.
-
-2014-03-12  Nick Clifton  <nickc@redhat.com>
-
-	PR ld/16671
-	* elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
-	before testing for vxworks.
-
-2014-03-12  Alan Modra  <amodra@gmail.com>
-
-	* Makefile.in: Regenerate.
-
-2014-03-12  Alan Modra  <amodra@gmail.com>
-
-	PR 16690
-	* elf.c (copy_elf_program_header): Ignore first section lma if
-	non-alloc.
-
-2014-03-11  Alan Modra  <amodra@gmail.com>
-
-	PR 16686
-	* coff-rs6000.c: Include stdint.h.
-	* coff64-rs6000.c: Likewise.
-
-2014-03-10  Tristan Gingold  <gingold@adacore.com>
-
-	* ticoff.h: Removed.
-
-2014-03-08  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
-	many relocations.  Correct bitsize and rightshift too for a number
-	of VLE relocs.  Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
-	Correct dst_mask on R_PPC_VLE_SDA21_LO.
-	(ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
-	(ppc_elf_relocate_section): Modify overflow test for 16-bit
-	fields in instructions to signed/unsigned according to whether
-	the field takes a signed or unsigned value.  Tidy vle split16 code.
-	Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
-
-2014-03-08  Alan Modra  <amodra@gmail.com>
-
-	* elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
-	for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
-	R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
-	R_PPC64_REL16 entries.  Use complain_overflow_dont for R_PPC64_TOC.
-	(ppc64_elf_relocate_section): Modify overflow test for 16-bit
-	fields in instructions to signed/unsigned according to whether
-	the field takes a signed or unsigned value.
-
-2014-03-07  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/16696
-	* rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
-	through ptr_to_uint instead of through long.
-
-2014-03-06  Nick Clifton  <nickc@redhat.com>
-
-	PR 16664
-	* elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
-	attribute section names.
-
-2014-03-05  Alan Modra  <amodra@gmail.com>
-
-	Update copyright years.
-
-2014-03-05  Alan Modra  <amodra@gmail.com>
-
-	* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
-	(ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
-	(ppc64_elf_check_relocs): Likewise.
-	(ppc64_elf_relocate_section): Likewise.
-	* Add BFD_RELOC_PPC64_ADDR64_LOCAL.
-	* bfd-in2.h: Regenerate.
-	* libbfd.h: Regenerate.
-
-2014-03-04  Heiher  <r@hev.cc>
-
-	* elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
-	Loongson-3A.
-	(mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
-	extension of bfd_mach_mipsisa64r2.
-
-2014-03-04  Nick Clifton  <nickc@redhat.com>
-
-	PR ld/16017
-	* elf32-arm.c (elf32_thumb2_plt0_entry): New array.
-	(elf32_thumb2_plt_entry): New array.
-	(elf32_arm_create_dynamic_sections): Set PLT entry sizes when
-	using thumb2 based PLT.
-	(elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
-	entries.
-	(elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
-	PLT entries.
-	(elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
-	based PLT 0-entry.
-	(elf32_arm_output_plt_map_1): Handle creation of local symbols for
-	Thumb2 based PLT 0-entry.
-	(elf32_arm_output_arch_local_syms): Handle creation of local
-	symbols for Thumb2 based PLT entries.
-
-2014-02-28  Alan Modra  <amodra@gmail.com>
-
-	PR ld/16643
-	* elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
-	the same conditions we called check_relocs.
-
-2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
-
-	* bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
-	* bfd-in2.h: Regenerate.
-	* elf32-arm.c (elf32_arm_plt_entry_long): New array.
-	(elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
-	using long PLT entries.
-	(bfd_elf32_arm_use_long_plt): New function.
-	(elf32_arm_populate_plt_entry): Add support for long PLT entries.
-
-2014-02-27  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
-	params for targets that don't use ppc32elf.em.
-
-2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	* elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
-	of GOTOFF relocations.
-
-2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-
-	* elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
-	(elf_x86_64_legacy_plt_entry): Likewise.
-	(elf_x86_64_bnd_plt_entry): Likewise.
-	(elf_x86_64_legacy_plt2_entry): Likewise.
-	(elf_x86_64_bnd_plt2_entry): Likewise.
-	(elf_x86_64_bnd_arch_bed): Likewise.
-	(elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
-	(elf_x86_64_link_hash_table): Add plt_bnd.
-	(elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
-	plt_bnd.
-	(elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
-	(elf_x86_64_check_relocs): Create the second PLT for Intel MPX
-	in 64-bit mode.
-	(elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
-	symbols.  Resolve call to the second PLT if it is created.
-	(elf_x86_64_size_dynamic_sections): Keep the second PLT section.
-	(elf_x86_64_relocate_section): Resolve PLT references to the
-	second PLT if it is created.
-	(elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
-	second PLT entry for BND relocation.
-	(elf_x86_64_finish_dynamic_sections): Use MPX backend data if
-	the second PLT is created.
-	(elf_x86_64_get_synthetic_symtab): New.
-	(bfd_elf64_get_synthetic_symtab): Likewise.  Undefine for NaCl.
-
-2014-02-19  Alan Modra  <amodra@gmail.com>
-
-	* elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
-	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
-	provision of out-of-line register save/restore routines.
-
-2014-02-18  Jack Carter  <jack.carter@imgtec.com>
-
-	* elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
-	PT_DYNAMIC segment flags.
-
-2014-02-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	PR binutils/16595
-	* simple.c (struct saved_offsets): New.
-	(simple_save_output_info): Use it for ptr.
-	(simple_restore_output_info): Use it for ptr.  Check section_count.
-	(bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
-
-2014-02-17  Alan Modra  <amodra@gmail.com>
-
-	* elf64-ppc.h (struct ppc64_elf_params): Define.
-	(ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
-	ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
-	ppc64_elf_build_stubs): Update prototype.
-	* elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
-	fields now in params.  Adjust code throughout file.
-	(ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
-	Save params pointer in htab.
-	(ppc64_elf_edit_opd, ppc64_elf_tls_setup,
-	ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
-	ppc64_elf_build_stubs): Remove parameters now in "params".
-
-2014-02-17  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
-	patched for ppc476 workaround.  Reapply branch taken/not taken
-	relocs.
-
-2014-02-12  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
-	stubs for calls to __tls_get_addr that we know will later be
-	optimised away.
-
-2014-02-12  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
-	for ld -r, when code sections are sufficiently aligned.
-	* elf32-ppc.h (struct ppc_elf_params): Delete pagesize.  Add
-	pagesize_p2.
-
-2014-02-12  Alan Modra  <amodra@gmail.com>
-
-	PR gold/15530
-	* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
-	--export-dynamic and --dynamic-list marking of symbols.
-	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
-	cheap tests first.
-
-2014-02-10  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR gold/16530
-	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
-	executables if it matches dynamic_list.
-
-2014-02-10  Alan Modra  <amodra@gmail.com>
-
-	* po/SRC-POTFILES.in: Regenerate.
-	* po/bfd.pot: Regenerate.
-
-2014-02-09  Alan Modra  <amodra@gmail.com>
-
-	* elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
-	* elfxx-target.h (elf_backend_caches_rawsize): Define.
-	(elfNN_bed): Init new field.
-	* elflink.c (elf_link_input_bfd): Handle caches_rawsize.
-	* elf32-ppc.c (shared_stub_entry): Zero addi offset.
-	(ppc_elf_relax_section): Don't reallocate section here, write
-	stubs, or write out relocs for ld -r here..
-	(ppc_elf_relocate_section): ..instead write stubs here, and use
-	existing code to write out relocs for ld -r.  Fix offset
-	adjustment on reloc for little-endian.
-	(elf_backend_caches_rawsize): Define.
-
-2014-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	PR build/16550
-	* cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
-
-2014-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
-	return paths.  Three times.
-	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
-	return paths.
-	(ppc64_elf_tls_optimize): Free TOC_REF in return path.
-	(ppc64_elf_edit_toc): Free USED in return path.
-
-2014-02-03  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
-	(BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
-	* libbfd.h: Regenerated.
-	* bfd-in2.h: Regenerated.
-	* elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
-	(nios2_reloc_map): Likewise.
-	(GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
-	Fixed all references.
-	(nios2_elf32_relocate_section): Add new relocations.
-	(nios2_elf32_check_relocs): Likewise.
-	(nios2_elf32_gc_sweep_hook): Likewise.
-
-2014-02-03  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
-	Delete emit_stub_syms, no_tls_get_addr_opt.  Update all uses.
-	(ppc_elf_link_params): New function.
-	(ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
-	workaround.
-	(ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
-	parameters.  Use htab->params instead.
-	(ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
-	(ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
-	64 bytes for ppc476 workaround.
-	(struct ppc_elf_relax_info): New.
-	(ppc_elf_relax_section): Exclude linker created sections and
-	those too small to hold one instruction.  Don't add another
-	branch 	around trampolines on later relax passes.  Don't
-	generate trampolines for undefined symbols when !relocatable,
-	nor for plugin symbols.  Allocate space for ppc476 workaround
-	patch area.  Free fixups on error return path.
-	(ppc_elf_relocate_section): Handle ppc476 workaround patching.
-	* elf32-ppc.h (struct ppc_elf_params): New.
-	(ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
-	(ppc_elf_link_params): Declare.
-	* section.c (SEC_INFO_TYPE_TARGET): Define.
-	* bfd-in2.h: Regenerate.
-
-2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
-	h_gp_got field.
-	(nios2_elf32_relocate_section): Use got_base to adjust
-	GOT-pointer-relative relocations relative to _gp_got.
-	(create_got_section): Create _gp_got symbol.
-	(nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
-	(nios2_elf32_size_dynamic_sections): Set _gp_got offset.
-
-2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* bfd-in2.h: Update from reloc.c.
-	* elf32-nios2.c: Include elf32-nios2.h.
-	(elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
-	(nios2_reloc_map): Likewise.
-	(enum elf32_nios2_stub_type): Declare.
-	(struct elf32_nios2_stub_hash_entry): Declare.
-	(nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
-	(struct elf32_nios2_link_hash_entry): Add hsh_cache field.
-	(struct elf32_nios2_link_hash_table): Add new fields bstab,
-	stub_bfd, add_stub_section, layout_sections_again, stub_group,
-	bfd_count, top_index, input_list, all_local_syms.
-	(nios2_call26_stub_entry): New.
-	(nios2_elf32_install_imm16): Move up in file.
-	(nios2_elf32_install_data): Move up in file.
-	(hiadj): Move up in file.
-	(stub_hash_newfunc): New.
-	(link_hash_newfunc): Initialize hsh_cache field.
-	(STUB_SUFFIX): New.
-	(nios2_stub_name): New.
-	(nios2_get_stub_entry): New.
-	(nios2_add_stub): New.
-	(nios2_elf32_setup_section_lists): New.
-	(nios2_elf32_next_input_section): New.
-	(CALL26_SEGMENT): New.
-	(MAX_STUB_SECTION_SIZE): New.
-	(group_sections): New.
-	(nios2_type_of_stub): New.
-	(nios2_build_one_stub): New.
-	(nios2_size_one_stub): New.
-	(get_local_syms): New.
-	(nios2_elf32_size_stubs): New.
-	(nios2_elf32_build_stubs): New.
-	(nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
-	(nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT.  Add
-	trampolines for R_NIOS2_CALL26 stubs.
-	(nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
-	(nios2_elf32_gc_sweep_hook): Likewise.
-	(nios2_elf32_link_hash_table_create): Initialize the stub hash table.
-	(nios2_elf32_link_hash_table_free): New.
-	(bfd_elf32_bfd_link_hash_table_free): Define.
-	* elf32-nios2.h: New file.
-	* libbfd.h: Update from reloc.c.
-	* reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
-
-2014-01-29  Nick Clifton  <nickc@redhat.com>
-
-	PR binutils/16318
-	* elf32-metag.c (elf_metag_post_process_headers): Call
-	_bfd_elf_post_process_headers.
-	* elf32-sh64.c (sh64_elf_copy_private_data): Call
-	_bfd_elf_copy_private_data.
-	* elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
-
-2014-01-29  Nick Clifton  <nickc@redhat.com>
-
-	* bfd-in.h (bfd_set_section_vma): Delete.
-	(bfd_set_section_alignment): Delete.
-	(bfd_set_section_userdata): Delete.
-	(bfd_set_cacheable): Delete.
-	* bfd.c (bfd_set_cacheable): New static inline function.
-	* section.c (bfd_set_section_userdata): Likewise.
-	(bfd_set_section_vma): Likewise.
-	(bfd_set_section_alignment): Likewise.
-	* bfd-in2.h: Regenerate.
-
-2014-01-28  Nick Clifton  <nickc@redhat.com>
-
-	* dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
-	attributes select the CU containing the abbreviation, which may not
-	be the current CU.
-
-2014-01-24  Alan Modra  <amodra@gmail.com>
-
-	* elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
-	to get_relocs for ELFv2.
-
-2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ld/16498
-	* elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
-	if TLS sections are not adjacent.
-
-2014-01-22  Alan Modra  <amodra@gmail.com>
-
-	* elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
-
-2014-01-22  Alan Modra  <amodra@gmail.com>
-
-	* elf64-ppc.c (STK_LINKER): Comment typo fix.
-
-2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ld/16467
-	* elflink.c (_bfd_elf_merge_symbol): When types of the existing
-	regular default symbol definition and the versioned dynamic
-	symbol definition mismatch, skip the default symbol definition
-	if one of them is IFUNC.
-
-2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ld/2404
-	* elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
-	info->export_dynamic nor h->ref_dynamic for type mismatch when
-	adding the default version.
-
-2014-01-16  Alan Modra  <amodra@gmail.com>
-
-	* elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
-	mips_elf_traverse_got_arg* rather than mips_got_info*.
-	Adjust caller.  Alloc on output_bfd rather than symbol section
-	owner.
-
-2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
-	change.
-	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
-
-2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ld/16428
-	* elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
-	against __ehdr_start.
-	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
-
-2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
-	change.
-	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
-
-2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ld/16428
-	* elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
-	count if there are any non pc-relative relocs.
-	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
-
-2014-01-14  Michael Hudson-Doyle  <michael.hudson@linaro.org>
-	    Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
-
-	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
-	offset while calculating relocation address.
-	(elfNN_aarch64_create_small_pltn_entry): Likewise.
-	(elfNN_aarch64_init_small_plt0_entry): Likewise.
-
-2014-01-13  Ma Jiang  <ma.jiang@zte.com.cn>
-
-	PR ld/16202
-	* elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
-	R_ARM_ABS8 and R_ARM_ABS16.
-
-2014-01-13  Alan Modra  <amodra@gmail.com>
-
-	* elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
-	error when shared and force a plt call otherwise.
-	(ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
-	plt_type == PLT_NEW.
-	(ppc_elf_relocate_section): Add missing test to resolve ifuncs to
-	the appropriate call stub.
-
-2014-01-10  Alan Modra  <amodra@gmail.com>
-
-	PR ld/14207
-	PR ld/16322
-	PR binutils/16323
-	* elf.c (assign_file_positions_for_load_sections): Revert last change.
-	(assign_file_positions_for_non_load_sections): When setting up
-	PT_GNU_RELRO header, don't require a corresponding PT_LOAD
-	header that completely covers the relro region.
-
-2014-01-09  Tristan Gingold  <gingold@adacore.com>
-
-	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
-	table macros and add macros to initializa the structure.
-
-2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ld/14207
-	PR ld/16322
-	PR binutils/16323
-	* elf.c (_bfd_elf_map_sections_to_segments): Don't check section
-	size for PT_GNU_RELRO segment.
-	(assign_file_positions_for_load_sections): If PT_LOAD segment
-	doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
-
-2014-01-07  Tom Tromey  <tromey@redhat.com>
-
-	* elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
-	wrappers.
-
-2014-01-03  Nick Clifton  <nickc@redhat.com>
-
-	PR binutils/16199
-	* elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
-	zero.
-
-2014-01-02  Yuanhui Zhang  <asmwarrior@gmail.com>
-
-	PR binutils/14289
-	* pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
-
-2014-01-02  Nick Clifton  <nickc@redhat.com>
-
-	PR binutils/11983
-	* archive.c (_bfd_get_elt_at_filepos): Store a copy of the
-	filename in the bfd's filename field.
-	* elfcode.h (bfd_from_remote_memory): Likewise.
-	* ieee.c (ieee_object_p): Likewise.
-	* mach-o.c (bfd_mach_o_fat_member_init): Likewise.
-	* oasys.c (oasys_openr_next_archived_file): Likewise.
-	* vms-lib.c (_bfd_vms_lib_get_module): Likewise.
-	* opncls.c (bfd_fopen): Likewise.
-	(bfd_openstreamr): Likewise.
-	(bfd_openr_iovec): Likewise.
-	(bfd_openw): Likewise.
-	(bfd_create): Likewise.
-	(_bfd_delete_bfd): Free filename.
+2015-01-08  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* coffcode.h (coff_slurp_symbol_table): Return false if we failed
+	to load the line table.
+	* elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
+	maxpagesize of 1.
+	* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
+	the Data Directory Size is too large.
+
+2015-01-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/17512
+	* elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
+	* elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
+
+2015-01-06  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
+	string table.
+
+	* reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
+	(bfd_perform_relocation): Include the size of the reloc in the
+	test for an out of range relocation.
+	(bfd_generic_get_relocated_section_contents): Remove reloc range
+	test.
+
+	* coff-i860.c (CALC_ADDEND): Always set an addend value.
+	* tekhex.c (getvalue): Add an end pointer parameter.  Use it to
+	avoid reading off the end of the buffer.
+	(getsym): Likewise.
+	(first_phase): Likewise.
+	(pass_over): Pass an end pointer to the invoked function.
+
+2015-01-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/17512
+	* elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
+	input.
+	* elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
+
+2015-01-05  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
+	is at least big enough for the header to be read.
+	* elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
+	* mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
+	(bfd_mach_o_read_command): Prevetn duplicate error messages about
+	unrecognized commands.
+	* syms.c (_bfd_stab_section_find_nearest_line): Add range checks
+	when indexing into the string table.
+
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
 
-For older changes see ChangeLog-2013
+For older changes see ChangeLog-2014
 
-Copyright (C) 2014 Free Software Foundation, Inc.
+Copyright (C) 2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ChangeLog-2014 ./bfd/ChangeLog-2014
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ChangeLog-2014	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/ChangeLog-2014	2015-01-20 02:05:35.000000000 +0000
@@ -0,0 +1,3430 @@
+2014-12-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/17773
+	* elflink.c (bfd_elf_final_link): Assign the file position for
+	the symbol string table only there are symbols to be emitted.
+
+2014-12-28  Alan Modra  <amodra@gmail.com>
+
+	PR 17766
+	* pei-x86_64.c (pex64_bfd_print_pdata_section): Correct string
+	length.  Use memcpy rather than strcpy.
+
+2014-12-26  Alan Modra  <amodra@gmail.com>
+
+	PR 17755
+	* elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code
+	copying SHF_SH5_ISA32.
+
+2014-12-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new
+	Tag_ABI_VFP_args value and replace hardcoded values by enum values.
+	(elf32_arm_post_process_headers): Set e_flags in ELF header as hard
+	float only when Tag_ABI_VFP_args is 1, using new enum value
+	AEABI_VFP_args_vfp to check that.
+
+2014-12-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* pei-x86_64.c (pex64_bfd_print_pdata_section): Add cast to
+	unsigned long.
+
+2014-12-24  Pierre Muller  <muller@sourceware.org>
+
+	Add support for pdata output for pe coff objects.
+	* pe-x86_64.c (pex64_bfd_print_pdata): Add external
+	declaration.
+	(bfd_pe_print_data): Set macro to pex64_bfd_print_data.
+	* pei-x86_64.c (pex64_bfd_print_pdata): Changed to
+	global function. Now handles multiple .pdata sections.
+	(pex_bfd_print_pdata_section): New static helper function,
+	using most of old pex_bfd_print_pdata function code, but adding
+	support for coff pe objects, which might have some fields
+	starting at zero offset.
+	(pex64_print_all_pdata_sections) : New static helper function,
+	used in call to bfd_map_over_sections inside new
+	pex66_bfd_print_pdata function.
+	(bfd_boolean pdata_count): New static variable, used to return
+	bfd_boolean value for pex64_bfd_print_pdata function.
+
+2014-12-24  Alan Modra  <amodra@gmail.com>
+
+	* linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK
+	flag from bfd_link_hash_defined symbols.
+
+2014-12-23  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set
+	EF_AVR_LINKRELAX_PREPARED unconditionally.
+
+2014-12-23  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_define_linkage_sym): Set linker_def.
+	* linker.c (_bfd_generic_link_add_one_symbol): Clear linker_def
+	for CDEF, DEF, DEFW, COM.
+
+2014-12-22  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* archive.c (do_slurp_bsd_armap): Return if the parsed_size is
+	zero.
+	(bfd_slurp_armap): Zero terminate the name.
+	(bfd_generic_stat_arch_elt): If there is no header, fail.
+	* elf32-arc.c (arc_info_to_howto_rel): Replace BFD_ASSERT with
+	error message.
+	* elf32-avr.c (avr_info_to_howto_rela): Likewise.
+	* elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
+	* elf32-cris.c (cris_info_to_howto_rela): Likewise.
+	* elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
+	* elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
+	* elf32-dlx.c (dlx_rtype_to_howto): Likewise.
+	* elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
+	* elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
+	* elf32-frv.c (frv_info_to_howto_rela): Likewise.
+	* elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
+	* elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
+	* elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
+	* elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
+	* elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
+	* elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
+	* elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
+	* elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
+	* elf32-mep.c (mep_info_to_howto_rela): Likewise.
+	* elf32-metag.c (metag_info_to_howto_rela): Likewise.
+	* elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
+	* elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
+	* elf32-mt.c (mt_info_to_howto_rela): Likewise.
+	* elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
+	* elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
+	* elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
+	* elf32-rx.c (rx_info_to_howto_rela): Likewise.
+	* elf32-v850.c (v850_elf_info_to_howto_rel): Likewise.
+	* elf32-visium.c (visium_info_to_howto_rela): Likewise.
+	* elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
+	* elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
+	* elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
+	* elf64-x86-64.c (elf_x86_64_reloc_type_lookup): Likewise.
+	* elfnn-aarch64.c (elfNN_aarch64_bfd_reloc_from_type): Likewise.
+	* elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Add range
+	checking of reloc symbol index.
+	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): If no symbols have
+	been provided then set the reloc's symbol to undefined.
+	* reloc.c (bfd_generic_get_relocated_section_contents): Add range
+	checking of the reloc to be applied.
+	* versados.c (process_otr): Add more range checks.
+	(versados_canonicalize_reloc): If the section is unknown, set the
+	symbol to undefined.
+	* vms-alpha.c (_bfd_vms_slurp_eisd): Add range checks.
+	(alpha_vms_object_p): Likewise.
+
+2014-12-18  Richard Henderson  <rth@redhat.com>
+
+	* elf32-ppc.c (ELF_COMMONPAGESIZE): Set to 64k.
+	* elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
+
+2014-12-16  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* format.c (bfd_check_format_matches): Check for a matching vector
+	before using match priorities.
+	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Fix off-by-one
+	errors with previous delta.
+
+2014-12-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/17713
+	* elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input.
+
+2014-12-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/17689
+	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy.
+	Change has_bnd_reloc to bit field.
+	(elf_x86_64_link_hash_newfunc): Initialize needs_copy and
+	has_bnd_reloc to 0.
+	(elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead
+	of TRUE.
+	(elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the
+	real definition to a weak symbol.
+	(elf_x86_64_allocate_dynrelocs): Also check needs_copy of a
+	weak symbol for PIE when discarding space for relocs against
+	symbols which turn out to need copy relocs.
+	(elf_x86_64_relocate_section): Also check needs_copy of a
+	weak symbol for PIE with copy reloc.
+
+2014-12-12  Alan Modra  <amodra@gmail.com>
+
+	PR 15228
+	* elflink.c (_bfd_elf_adjust_dynamic_copy): Call bfd_set_error.
+
+2014-12-12  Alan Modra  <amodra@gmail.com>
+
+	PR 15228
+	* elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param.
+	Error on copy relocs against protected symbols.
+	(elf_merge_st_other): Set h->protected_def.
+	* elf-bfd.h (struct elf_link_hash_entry): Add "protected_def".
+	(_bfd_elf_adjust_dynamic_copy): Update prototype.
+	* elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update
+	_bfd_elf_adjust_dynamic_copy call.
+	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
+	* elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
+	* elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
+	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
+	* elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
+	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
+	* elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
+	* elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
+	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
+	* elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise.
+	* elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise.
+	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
+	* elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
+	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
+	* elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
+	* elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
+	* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
+	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
+	* elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
+	* elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
+	* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
+	* elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
+	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
+	* elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.
+
+2014-12-11  Keith Seitz  <keiths@redhat.com>
+
+	* elf.c (elf_parse_notes): Define convenience macro
+	GROKER_ELEMENT to add elements to 'grokers' array.
+	Add 'len' element to 'grokers'.
+	Use grokers.len instead of sizeof in string
+	comparisons.
+
+2014-12-10  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2
+	and coffgen.  Add coff-bfd.  Sort.
+	(BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2.
+	* bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete.
+	(struct coff_comdat_info, bfd_coff_get_comdat_section): Delete.
+	* coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro,
+	without unused param.  Update uses.
+	(bfd_coff_get_comdat_section): Move to coff-bfd.h as macro.
+	(bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c.
+	* libcoff-in.h: #include "coff-bfd.h".
+	(struct coff_section_tdata, coff_section_data): Move to coff-bfd.h.
+	(coff_symbol_from): Delete.
+	* coff-bfd.c: New file.
+	* coff-bfd.h: New file.
+	* coff-i386.c: Update coff_symbol_from occurrences.
+	* coff-i960.c: Likewise.
+	* coff-m68k.c: Likewise.
+	* coff-sh.c: Likewise.
+	* coff-x86_64.c: Likewise.
+	* coffcode.h: Likewise.
+	* pe-mips.c: Likewise.
+	* configure.ac (elf): Add dwarf2.lo.
+	(coffgen, coff, ecoff, xcoff): Define.  Use when mapping bfd
+	target vectors to .o files.  Add dwarf2 for mach-o targets.
+	Fix the sh target FIXME.
+	* po/SRC-POTFILES.in: Regenerate.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* libcoff.h: Regenerate.
+
+2014-12-10  Alan Modra  <amodra@gmail.com>
+
+	PR 17541
+	* dwarf2.c (struct comp_unit): Add "lang".
+	(non_mangled): New function.
+	(struct funcinfo): Add "is_linkage".  Reorder for better packing.
+	Make "name" a const char*.
+	(lookup_address_in_function_table): Delete functionname_ptr param.
+	(find_abstract_instance_name): Add is_linkage param.  Set if we
+	have DW_AT_linkage_name or non_mangled DW_AT_name.
+	(scan_unit_for_symbols): Similarly set func->is_linkage.
+	(parse_comp_unit): Stash DW_AT_language.
+	(comp_unit_find_nearest_line): Replace functionname_ptr param
+	with function_ptr param.
+	(_bfd_dwarf2_find_nearest_line): Adjust above calls.  Set
+	functionname_ptr from function->name.  Call _bfd_elf_find_function
+	to retrieve symbol for function if not linkage name.
+	(_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from..
+	* elf.c (elf_find_function): ..here.
+	(_bfd_elf_find_nearest_line): Adjust calls.
+	* elf-bfd.h (_bfd_elf_find_function): Declare.
+
+2014-12-10  Alan Modra  <amodra@gmail.com>
+
+	* dwarf2.c (read_address): Check bfd_target_elf_flavour before
+	calling get_elf_backend_data.
+	(_bfd_dwarf2_find_nearest_line): Fix parens.
+
+2014-12-10  Alan Modra  <amodra@gmail.com>
+
+	PR 17666
+	* elf-bfd.h (struct elf_backend_data): Add sort_relocs_p.
+	* elfxx-target.h (elf_backend_sort_relocs_p): Define.
+	(elfNN_bed): Init new field.
+	* elflink.c (elf_link_adjust_relocs): Conditionally sort.
+	(bfd_elf_final_link): Control sorting of relocs.
+	* elfxx-mips.c (_bfd_mips_elf_sort_relocs_p): New function.
+	* elfxx-mips.h (_bfd_mips_elf_sort_relocs_p): Declare.
+	* elf32-mips.c (elf_backend_sort_relocs_p): Define.
+	* elf64-mips.c (elf_backend_sort_relocs_p): Define.
+
+2014-12-09  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* archive64.c (bfd_elf64_archive_slurp_armap): Add range checks.
+	* libbfd.c (safe_read_leb128): New function.
+	* libbfd-in.h (safe_read_leb128): Add prototype.
+	* libbfd.h: Regenerate.
+	* elf-attrs.c (_bfd_elf_parse_attributes): Use safe_read_leb128.
+	Check for an over-long subsection length.
+	* elf.c (elf_parse_notes): Check that the namedata is long enough
+	for the string comparison that is about to be performed.
+	(elf_read_notes): Zero-terminate the note buffer.
+
+2014-12-09  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (sort_r_offset): Delete.
+	(ppc64_elf_edit_opd): Don't sort input relocs.
+
+2014-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config.bfd: Add Visium support.
+	* configure.ac: Likewise.
+	* configure: Regenerate.
+	* Makefile.am (ALL_MACHINES): Add cpu-visium.lo.
+	(ALL_MACHINES_CFILES): Add cpu-visium.c.
+	(BFD32_BACKENDS): Add elf32-visium.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-visium.c.
+	* Makefile.in: Regenerate.
+	* archures.c (DESCRIPTION): Add Visium support.
+	(bfd_visium_arch): Declare.
+	(bfd_archures_list): Add bfd_visium_arch.
+	* reloc.c: Add Visium relocations.
+	* targets.c (visium_elf32_vec): Declare.
+	(_bfd_target_vector): Add visium_elf32_vec.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Likewise.
+	* cpu-visium.c: New file.
+	* elf32-visium.c: Likewise.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2014-12-05  Steve Ellcey  <sellcey@mips.com>
+
+	* ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast.
+
+2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New.
+
+2014-12-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/17677
+	* elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype.
+	* elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New
+	function.
+	* elf32-i386.c (elf_i386_plt_sym_val): Removed.
+	(elf_backend_plt_sym_val): Likewise.
+	(elf_i386_get_plt_sym_val): New.
+	(elf_i386_get_synthetic_symtab): Likewise.
+	(bfd_elf32_get_synthetic_symtab): Likewise.
+	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed.
+	(elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
+	(elf_backend_plt_sym_val): Likewise.
+	(elf_x86_64_get_plt_sym_val): New.
+	(elf_x86_64_get_synthetic_symtab): Use
+	_bfd_elf_ifunc_get_synthetic_symtab.
+	(bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl.
+
+2014-12-04  Alan Modra  <amodra@gmail.com>
+
+	PR 17666
+	* elflink.c: Include bfd_stdint.h.
+	(cmp_ext32l_r_offset, cmp_ext32b_r_offset,
+	cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions.
+	(elf_link_adjust_relocs): Sort relocs.  Free rel hashes after
+	sorting invalidates.
+
+2014-12-03  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* compress.c (bfd_get_full_section_contents): Fail if there are no
+	section contents available when the compress_status is
+	COMPRESS_SECTION_DONE.
+	* libbfd.c (bfd_malloc): Refuse to allocate a negative size.
+	(bfd_malloc2): Use bfd_malloc.
+	(bfd_realloc): Refuse to reallocate a negative size.
+	(bfd_realloc2): Use bfd_realloc.
+	(bfd_realloc_or_free): Use bfd_realloc.
+	(bfd_zmalloc): Use bfd_malloc.
+	(bfd_zmalloc): Use bfd_malloc2.
+	* opncls.c (bfd_alloc): Refuse to allocate a negative size.
+
+2014-12-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat.
+
+2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_relocate_section): Check
+	info->executable for symbols which need copy relocs.
+
+2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_check_relocs): Revert the last
+	change.
+	(elf_x86_64_adjust_dynamic_symbol): Don't check !info->shared
+	with ELIMINATE_COPY_RELOCS.
+	(elf_x86_64_allocate_dynrelocs): For PIE, discard space for
+	relocs against symbols which turn out to need copy relocs.
+
+2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always
+	allow copy relocs for building executables.
+	(elf_x86_64_check_relocs): Allow copy relocs for non-GOT
+	pc-relative relocation in shared object.
+	(elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for
+	PIE.
+	(elf_x86_64_relocate_section): Don't copy a pc-relative
+	relocation into the output file if the symbol needs copy reloc.
+
+2014-12-02  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+	* elfxx-mips.c (mips_elf_calculate_relocation): Only check for
+	overflow on non-weak undefined symbols.
+
+2014-12-02  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (OPD_NDX): Define.  Use throughout for sizing/indexing
+	_opd_sec_data array, halving required memory.
+	(sort_r_offset): New function.
+	(ppc64_elf_edit_opd): Sort incoming relocs.  Accept .opd
+	sections with a mix of 16 and 24 byte OPD entries.  Don't
+	attempt to honour --non-overlapping-opd for .opd sections with
+	unexpected relocs.  Simplify opd entry size calculations by
+	first finding the reloc for the next entry.  Make edit loop
+	handle one opd entry per iteration, with an inner loop
+	handling relocs per entry.
+
+2014-12-01  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* archive.c (do_slurp_coff_armap): Add range checks to prevent
+	running off the end of the string table.
+	* compress.c (bfd_get_full_section_contents): Return a NULL
+	pointer for zero sized sections.  Do not attempt to copy a buffer
+	onto itself.
+	* elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty
+	header.  Add range checks to avoid running off the end of the
+	section.
+	* elf.c (bfd_elf_get_str_section): Seek before allocating so that
+	if the seek fails, no memory is allocated.
+	(bfd_elf_string_from_elf_section): Do not allocate a string from a
+	non string section.  It only leads to trouble later on.
+	(_bfd_elf_print_private_bfd_data): Check for there being too
+	little external dynamic data.
+	(bfd_section_from_shdr): Replace assertion with a failure mode.
+	(bfd_section_from_shdr): When walking a loaded group section use
+	the internal structure size, not the external size.  Check for the
+	group section being empty.
+	* elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a
+	failure mode.
+	* elfcode.h (elf_slurp_reloc_table): Likewise.
+	* reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto
+	parameter is NULL.
+
+2014-11-30  Alan Modra  <amodra@gmail.com>
+
+	PR 16452, 16457
+	* elflink.c (_bfd_elf_link_find_version_dependencies): Exclude
+	symbols from libraries that won't be listed in DT_NEEDED.
+	(elf_link_output_extsym): Don't output verdefs for such symbols.
+
+2014-11-28  Alan Modra  <amodra@gmail.com>
+
+	* elf.c (_bfd_elf_slurp_version_tables): Exit loops when vn_next/
+	vna_next/vd_next/vda_next is zero.  Correct counts.
+
+2014-11-27  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* ecoff.c (_bfd_ecoff_slurp_symbol_table): Warn about and correct
+	a discrepancy between the isymMax and ifdMax values in the
+	symbolic header.
+	* elf.c (_bfd_elf_print_private_bfd_data): Fix the range check
+	scanning the external dynamic entries.
+
+2014-11-26  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* coff-h8300.c (rtype2howto): Replace abort with returning a NULL
+	value.
+	* coff-h8500.c (rtype2howto): Likewise.
+	* coff-tic30.c (rtype2howto): Likewise.
+	* coff-z80.c (rtype2howto): Likewise.
+	* coff-z8k.c (rtype2howto): Likewise.
+	* coff-ia64.c (RTYPE2HOWTO): Always return a valid howto.
+	* coff-m68k.c (m68k_rtype2howto): Return a NULL howto if none
+	could be found.
+	* coff-mcore.c (RTYPE2HOWTO): Add range checking.
+	* coff-w65.c (rtype2howto): Likewise.
+	* coff-we32k.c (RTYPE2HOWTO): Likewise.
+	* pe-mips.c (RTYPE2HOWTO): Likewise.
+	* coff-x86_64.c (coff_amd64_reloc): Likewise.  Replace abort with
+	an error return.
+	* coffcode.h (coff_slurp_reloc_table): Allow the rel parameter to
+	be unused.
+	* coffgen.c (make_a_section_from_file): Check the length of a
+	section name before testing to see if it is a debug section name.
+	(coff_object_p): Zero out any uninitialised bytes in the opt
+	header.
+	* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Test for the raw
+	source being empty when there are values to be processed.
+	(_bfd_ecoff_slurp_symbol_table): Add range check.
+	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Likewise.
+	(bfd_mach_o_mangle_sections): Move test for too many sections to
+	before the allocation of the section table.
+	(bfd_mach_o_read_symtab_strtab): If the read fails, free the
+	memory and nullify the symbol pointer.
+	* reloc.c (bfd_generic_get_relocated_section_contents): Add
+	handling of a bfd_reloc_notsupported return value.
+	* versados.c (EDATA): Add range checking.
+	(get_record): Likewise.
+	(process_otr): Check for contents being available before updating
+	them.
+	(versados_canonicalize_reloc): Add range check.
+
+2014-11-26  Alan Modra  <amodra@gmail.com>
+
+	* elf.c (_bfd_elf_slurp_version_tables): Delay allocation of
+	internal verref buffer.  Error for zero sh_info.  Print errors.
+	Check for zero vd_ndx.  Use bfd_zalloc for vd_auxptr buffer.
+
+2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Use
+	NAME##_get_symbol_version_string.
+	(bfd_get_symbol_version_string): New.
+	* aout-adobe.c (aout_32_get_symbol_version_string): Define using
+	_bfd_nosymbols define.
+	* aout-target.h (MY_get_symbol_version_string): Likewise.
+	* aout-tic30.c (MY_get_symbol_version_string): Likewise.
+	* binary.c (binary_get_symbol_version_string): Likewise.
+	* bout.c (aout_32_get_symbol_version_string): Likewise.
+	* coff-rs6000.c (_bfd_xcoff_get_symbol_version_string): Likewise.
+	* i386msdos.c (msdos_get_symbol_version_string): Likewise.
+	* i386os9k.c (aout_32_get_symbol_version_string): Likewise.
+	* ieee.c (ieee_get_symbol_version_string): Likewise.
+	* ihex.c (ihex_get_symbol_version_string): Likewise.
+	* libecoff.h (_bfd_ecoff_get_symbol_version_string): Likewise.
+	* mach-o-target.c (bfd_mach_o_get_symbol_version_string): Likewise.
+	* mmo.c (mmo_get_symbol_version_string): Likewise.
+	* nlm-target.h (nlm_get_symbol_version_string): Likewise.
+	* oasys.c (oasys_get_symbol_version_string): Likewise.
+	* pef.c (bfd_pef_get_symbol_version_string): Likewise.
+	* plugin.c (bfd_plugin_get_symbol_version_string): Likewise.
+	* ppcboot.c (ppcboot_get_symbol_version_string): Likewise.
+	* som.c (som_get_symbol_version_string): Likewise.
+	* srec.c (srec_get_symbol_version_string): Likewise.
+	* tekhex.c (tekhex_get_symbol_version_string): Likewise.
+	* versados.c (versados_get_symbol_version_string): Likewise.
+	* vms-alpha.c (alpha_vms_get_symbol_version_string): Likewise.
+	* xsym.c (bfd_sym_get_symbol_version_string): Likewise.
+
+	* coff64-rs6000.c (rs6000_xcoff64_vec): Use
+	coff_get_symbol_version_string.
+	(rs6000_xcoff64_aix_vec): Likewise.
+
+	* elf-bfd.h (bfd_elf_get_symbol_version_string): Renamed to ...
+	(_bfd_elf_get_symbol_version_string): This.
+	* elf.c: Likewise.
+	(bfd_elf_print_symbol): Updated.
+	* elfxx-target.h (bfd_elfNN_get_symbol_version_string): Define.
+
+	* libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Define.
+	* libcoff-in.h (coff_get_symbol_version_string): Likewise.
+	* bfd-in2.h: Regenerated.
+	* libbfd.h: Likewise.
+	* libcoff.h: Likewise.
+
+2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/16496
+	* elf-bfd.h (bfd_elf_get_symbol_version_string): New.
+	* elf.c (bfd_elf_get_symbol_version_string): New.  Extracted
+	from bfd_elf_print_symbol.
+	(bfd_elf_print_symbol): Use it.
+
+2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_got_plt_entry): New.
+	(elf_i386_pic_got_plt_entry): Likewise.
+	(elf_i386_link_hash_entry): Add plt_got.
+	(elf_i386_link_hash_table): Likewise.
+	(elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1.
+	(elf_i386_get_local_sym_hash): Likewise.
+	(elf_i386_check_relocs): Create the GOT PLT if there are both
+	PLT and GOT references when the regular PLT is used.
+	(elf_i386_allocate_dynrelocs): Use the GOT PLT if there are
+	both PLT and GOT references unless pointer equality is needed.
+	(elf_i386_relocate_section): Also check the GOT PLT when
+	resolving R_386_PLT32.
+	(elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is
+	available.
+
+	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got.
+	(elf_x86_64_link_hash_table): Likewise.
+	(elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1.
+	(elf_x86_64_get_local_sym_hash): Likewise.
+	(elf_x86_64_check_relocs): Create the GOT PLT if there are both
+	PLT and GOT references when the regular PLT is used.
+	(elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are
+	both PLT and GOT references unless pointer equality is needed.
+	(elf_x86_64_relocate_section): Also check the GOT PLT when
+	resolving R_X86_64_PLT32.
+	(elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is
+	available.
+
+2014-11-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* configure: Regenerated.
+
+2014-11-24  Tejas Belagod  <tejas.belagod@arm.com>
+
+	* elfnn-aarch64.c (elf_aarch64_compare_mapping): New.
+	(erratum_835769_scan): Sort map list.
+
+2014-11-24  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (plt_stub_pad): Correct.
+
+2014-11-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of
+	elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
+	(elf_x86_64_allocate_dynrelocs): Don't assert size of
+	elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
+
+2014-11-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
+	branch displacement overflow in PLT entry.
+
+2014-11-21  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* coffgen.c (coff_get_normalized_symtab): Check for an excessive
+	number of auxillary entries.
+	* ieee.c (next_byte): Convert to a function.  Return FALSE if the
+	next byte is beyond the end of the buffer.
+	(parse_int): Test the return value of next_byte.
+	(parse_expression): Convert to boolean.  Return FALSE if the
+	parsing failed.  Test the return value of next_byte.
+	(ieee_seek): Convert to a function.  Return FALSE if the seek goes
+	beyond the end of the buffer.
+	(ieee_slurp_external_symbols): Test the return value of ieee_seek
+	and next_byte.
+	(ieee_slurp_sections): Convert to boolean.  Return FALSE if the
+	operation failed.  Test the return value of ieee_seek and
+	next_byte.
+	(ieee_archive_p): Test the return value of ieee_seek and
+	next_byte.
+	(do_one): Likewise.
+	(ieee_slurp_section_data): Likewise.
+	(ieee_object_p): Likewise.  Store the size of the buffer in the
+	total_amt field in the header.
+	* libieee.h (common_header_type): Add amt field.
+	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Check that the
+	reloc's value is within range.
+	(bfd_mach_o_read_symtab_symbols): Nullify the symbols field if the
+	operation fails.
+	* pei-x86_64.c (pex64_xdata_print_uwd_codes): Replace abort with
+	an error message.
+	(pex64_dump_xdata): Check for buffer overflows.
+	* versados.c (process_otr): Check that the section exists before
+	taking its size.
+	(versados_object_p): Make sure that enough data was read for the
+	header to be checked.
+	* vms-alpha.c (vms_get_remaining_object_record): Change
+	read_so_far parameter to an unsigned int.  Check that the amount
+	read is in range.
+
+2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize
+	PC-relative offset overflow check.
+
+2014-11-21  Alexander Cherepanov  <cherepan@mccme.ru>
+
+	PR binutils/17512
+	* coffgen.c (_bfd_coff_read_string_table): Test allocation of
+	string table before clearing the first few bytes.
+
+2014-11-21  Terry Guo  <terry.guo@arm.com>
+
+	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5.
+
+2014-11-20  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (group_sections): Init stub14_group_size from
+	--stub-group-size parameter divided by 1024.
+
+2014-11-20  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround
+	alignment calculation.
+
+2014-11-20  Terry Guo  <terry.guo@arm.com>
+
+	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd
+	hasn't attribute section.
+
+2014-11-20  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters.
+
+2014-11-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/17618
+	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
+	PC-relative offset overflow in PLT entry.
+
+2014-11-18  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* peXXIgen.c (pe_print_pdata): Fail if the section's virtual size
+	is larger than its real size.
+	(rsrc_print_section): Fix off-by-one error checking for overflow.
+	* pei-x86_64.c (pex64_bfd_print_pdata): Handle empty unwind
+	sections.
+
+2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only
+	for -z bndplt.
+
+2014-11-14  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17597
+	* opncls.c (bfd_get_debug_link_info): Avoid reading off the end of
+	the section.
+	(bfd_get_alt_debug_link_info): Likewise.
+
+2014-11-14  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* ieee.c (ieee_archive_p) Skip processing if no bytes are read at
+	all.
+	(ieee_object_p): Likewise.
+
+2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* coffcode.h (coff_slurp_line_table): Add cast to unsigned int.
+
+2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* coffcode.h (coff_pointerize_aux_hook): Fix a typo.
+
+2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR gas/17598
+	* elf64-x86-64.c (elf_x86_64_check_relocs): Treat
+	R_X86_64_GOTPLT64 the same as R_X86_64_GOT64.
+	(elf_x86_64_relocate_section): Likewise.
+
+2014-11-13  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* coffcode.h (coff_ptr_struct): Add is_sym field.
+	(coff_new_section_hook): Set the is_sym field.
+	(coff_pointerize_aux_hook): Check the is_sym field.
+	(coff_print_aux): Likewise.
+	(coff_compute_section_file_positions): Likewise.
+	(coff_write_object_contents): Likewise.
+	(coff_slurp_line_table): Likewise.
+	(coff_slurp_symbol_table): Likewise.
+	(CALC_ADDEND): Likewise.
+	* coffgen.c (coff_renumber_symbols): Likewise.
+	(coff_mangle_symbols): Likewise.
+	(coff_fix_symbol_name): Likewise.
+	(coff_write_symbol): Likewise.
+	(coff_write_alien_symbol): Likewise.
+	(coff_write_native_symbol): Likewise.
+	(coff_write_symbols): Likewise.
+	(coff_write_linenumbers): Likewise.
+	(coff_pointerize_aux): Likewise.
+	(coff_get_normalized_symtab): Likewise.
+	(coff_get_symbol_info): Likewise.
+	(bfd_coff_get_syment): Likewise.
+	(bfd_coff_get_auxent): Likewise.
+	(coff_print_symbol): Likewise.
+	(coff_find_nearest_line_with_names): Likewise.
+	(bfd_coff_set_symbol_class): Likewise.
+	(coff_make_empty_symbol): Set the is_sym field.
+	(coff_bfd_make_debug_symbol): Likewise.
+	* peicode.h (pe_ILF_make_a_symbol): Likewise.
+	* libcoff.h: Regenerate.
+	* libcoff-in.h: Regenerate.
+
+2014-11-12  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* coffcode.h (coff_slurp_line_table): Set the line number of
+	corrupt entries to -1.
+	(coff_slurp_symbol_table): Alway initialise the value of the
+	symbol.
+	* coffgen.c (coff_print_symbol): Check that the combined pointer
+	is valid.
+	(coff_print_symbol): Do not print negative line numbers.
+	* peXXigen.c (pe_print_idata): Add range checking displaying
+	member names.
+
+2014-11-12  Alan Modra  <amodra@gmail.com>
+
+	PR binutils/17512
+	* coffcode.h (coff_slurp_line_table): Drop line number info
+	not preceded by a valid function entry.  Revert last change.
+
+2014-11-11  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* coffcode.h (coff_slurp_line_table): Initialise the parts of the
+	line number cache that would not be initialised by the copy from
+	the new line number table.
+	(coff_classify_symbol): Allow for _bfd_coff_internal_syment_name
+	returning NULL.
+	* coffgen.c (coff_get_normalized_symbols): Get the external
+	symbols before allocating space for the internal symbols, in case
+	the get fails.
+	* elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref
+	array if one is needed.  Likewise with the verdef array.
+	* peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error
+	messages.
+	(_bfd_XXi_swap_aux_in): Make sure that all fields of the aux
+	structure are initialised.
+	(pe_print_edata): Avoid reading off the end of the data buffer.
+
+2014-11-11  Alan Modra  <amodra@gmail.com>
+
+	PR binutils/17512
+	* coffcode.h (coff_slurp_line_table): Use updated lineno_count
+	when building func_table.
+
+2014-11-11  Alan Modra  <amodra@gmail.com>
+
+	PR binutils/17512
+	* coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just
+	memset the particular bits we need.  Update src after hitting loop
+	"continue".  Don't count lineno omitted due to invalid symbols in
+	nbr_func, and update lineno_count.  Init entire terminating
+	lineno.  Don't both allocating terminator in n_lineno_cache.
+	Redirect sym->lineno pointer to where n_lineno_cache will be
+	copied, and free n_lineno_cache.
+	* pe-mips.c (NUM_HOWTOS): Typo fix.
+
+2014-11-11  Alan Modra  <amodra@gmail.com>
+
+	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section
+	size check to account for possible zero terminator.
+
+2014-11-10  James Cowgill  <James.Cowgill@imgtec.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small
+	data sections to be PROGBITS
+
+2014-11-10  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17521
+	* coff-i386.c (NUM_HOWTOS): New define.
+	(RTYPE2HOWTO): Use it.
+	(coff_i386_rtype_to_howto): Likewise.
+	(coff_i386_reloc_name_lookup): Likewise.
+	(CALC_ADDEND): Check that reloc r_type field is valid.
+	* coff-x86_64.c (NUM_HOWTOS): New define.
+	(RTYPE2HOWTO): Use it.
+	(coff_amd64_rtype_to_howto): Likewise.
+	(coff_amd64_reloc_name_lookup): Likewise.
+	(CALC_ADDEND): Check that reloc r_type field is valid.
+	* coffcode.h (coff_slurp_line_table): Check for symbol table
+	indexing underflow.
+	(coff_slurp_symbol_table): Use zalloc to ensure that all table
+	entries are initialised.
+	* coffgen.c (_bfd_coff_read_string_table): Initialise unused bits
+	in the string table.  Also ensure that the table is 0 terminated.
+	(coff_get_normalized_symtab): Check for symbol table indexing
+	underflow.
+	* opncls.c (bfd_alloc): Catch the case where a small negative size
+	can result in only 1 byte being allocated.
+	(bfd_alloc2): Use bfd_alloc.
+	* pe-mips.c (NUM_HOWTOS): New define.
+	(coff_mips_reloc_name_lookup): Use it.
+	(CALC_ADDEND): Check that reloc r_type field is valid.
+	* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries
+	in the DataDirectory.
+	(pe_print_idata): Avoid reading beyond the end of the data block
+	wen printing strings.
+	(pe_print_edata): Likewise.
+	Check for table indexing underflow.
+	* peicode.h (pe_mkobject): Initialise the pe_opthdr field.
+	(pe_bfd_object_p): Allocate and initialize enough space to hold a
+	PEAOUTHDR, even if the opt_hdr field specified less.
+
+2014-11-08  Alan Modra  <amodra@gmail.com>
+
+	* peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead.
+
+2014-11-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* peXXigen.c (pe_print_idata): Cast to unsigned long in range
+	checks.
+
+2014-11-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/17482
+	* elf64-x86-64.c (elf_x86_64_relocate_section): Update comments
+	for IE->LE transition.
+
+2014-11-07  Alan Modra  <amodra@gmail.com>
+
+	* tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors.
+
+2014-11-07  Alan Modra  <amodra@gmail.com>
+
+	* tekhex.c (CHUNK_SPAN): Define.
+	(struct data_struct <chunk_init>): Use one byte per span, update
+	all code accessing this field.
+	(find_chunk): Add create param, don't create new entry unless set.
+	(insert_byte): Don't save zeros.
+	(first_phase): Set section SEC_CODE or SEC_DATA flag depending
+	on symbol type.  Create an alternate section if both types of
+	symbol are given.  Attach type '2' and '6' symbols to absolute
+	section.
+	(move_section_contents): Fix caching of chunk.  Don't create chunk
+	when reading, or for writing zeros.
+	(tekhex_set_section_contents): Don't create initial chunks.
+	(tekhex_write_object_contents): Use CHUNK_SPAN.
+
+2014-11-07  Alan Modra  <amodra@gmail.com>
+
+	* aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer.
+
+2014-11-07  Alan Modra  <amodra@gmail.com>
+
+	* archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check.
+	* coffcode.h (coff_set_alignment_hook): Likewise.
+	(coff_slurp_line_table): Likewise.
+	* coffgen.c (coff_get_normalized_symtab): Likewise.
+	(_bfd_coff_get_external_symbols): Likewise.
+	* elf.c (bfd_elf_get_str_section): Likewise.
+	* tekhex.c (first_phase): Likewise.
+
+2014-11-06  Nick Clifton  <nickc@redhat.com>
+
+	* aoutx.h (slurp_symbol_table): Revert previous delta.
+	(slurp_reloc_table): Likewise.
+	* compress.c (bfd_get_full_section_contents): Remove file size
+	test.
+	* coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs
+	and do not complain about linker generated files.
+
+2014-11-06  Will Newton  <will.newton@linaro.org>
+
+	* elf-attrs.c (_bfd_elf_parse_attributes): Handle zero
+	length sections and sub-sections.
+
+2014-11-04  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT.
+	Replace another abort with an error message.
+	(coff_slurp_line_table): Add more range checking.
+	* peXXigen.c (pe_print_debugdata): Add range checking.
+
+2014-11-05  James Cowgill  <james.cowgill@imgtec.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault
+	when creating a dso with discarded dynsym section.
+
+2014-11-05  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6
+	and E_MIPS_ARCH_64R6 support.
+
+2014-11-05  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* coffcode.h (coff_set_alignment_hook): Warn if the file lies
+	about the number of relocations it contains.
+	(coff_sort_func_alent): Return 0 if the pointers are NULL.
+	(coff_slurp_line_table): Add more range checks.  Do not free new
+	tables created when sorting line numbers.
+	* peXXigen.c (pe_print_idata): Add range checks.
+	(pe_print_edata): Likewise.
+	(rsrc_print_resource_entries): Likewise.  Avoid printing control
+	characters.  Terminate priniting if corruption is detected.
+	(rsrc_print_resource_directory): Terminate printing if an unknown
+	directory type is encountered.
+	(pe_print_debugdata): Fix off-by-one error.
+	(rsrc_count_entries): Add range checking.
+	(rsrc_parse_entry): Likewise.
+
+2014-11-04  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* compress.c (bfd_get_full_section_contents): Improve test for
+	linker created objects.
+
+	PR binutils/17533
+	* archive.c (_bfd_slurp_extended_name_table): Handle archives with
+	corrupt extended name tables.
+
+2014-11-04  Alan Modra  <amodra@gmail.com>
+
+	* elf32-spu.c (ovl_mgr_stat): New function.
+	(spu_elf_open_builtin_lib): Pass to bfd_openr_iovec.
+
+2014-11-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* elf32-avr.c (elf32_avr_relax_delete_bytes): During linker
+	relaxation, reduce the size of symbols that span the deleted
+	bytes.
+
+2014-11-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols
+	located at the very end of the section.
+
+2014-11-03  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* aoutx.h (slurp_symbol_table): Check that computed table size is
+	not bigger than the file from which is it being read.
+	(slurp_reloc_table): Likewise.
+	* coffcode.h (coff_slurp_line_table): Remove unneeded local
+	'warned'.  Do not try to print the details of a symbol with an
+	invalid index.
+	* coffgen.c (make_a_sectiobn_from_file): Check computed string
+	index against length of string table.
+	(bfd_coff_internal_syment_name): Check read in string offset
+	against length of string table.
+	(build_debug_section): Return a pointer to the section used.
+	(_bfd_coff_read_string_table): Store the length of the string
+	table in the coff_tdata structure.
+	(bfd_coff_free_symbols): Set the length of the string table to
+	zero when it is freed.
+	(coff_get_normalized_symtab): Check offsets against string table
+	or data table lengths as appropriate.
+	* cofflink.c (_bfd_coff_link_input_bfd): Check offset against
+	length of string table.
+	* compress.c (bfd_get_full_section_contents): Check computed size
+	against the size of the file.
+	* libcoff-in.h (obj_coff_strings_len): Define.
+	(struct coff_tdata): Add strings_len field.
+	* libcoff.h: Regenerate.
+	* peXXigen.c (pe_print_debugdata): Do not attempt to print the
+	data if the debug section is too small.
+	* xcofflink.c (xcoff_link_input_bfd):  Check offset against
+	length of string table.
+
+2014-11-03  Nick Clifton  <nickc@redhat.com>
+
+	* po/fi.po: Updated Finnish translation.
+
+2014-10-31  Andrew Pinski  <apinski@cavium.com>
+            Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
+
+	* archures.c: Add octeon3 for mips target.
+	* bfd-in2.h: Regenerate.
+	* bfd/cpu-mips.c: Define I_mipsocteon3.
+	nfo_struct): Add octeon3 support.
+	* bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for
+	octeon3.
+	(mips_set_isa_flags): Add support for octeon3.
+	(bfd_mips_isa_ext): Add bfd_mach_mips_octeon3.
+	(mips_mach_extensions): Make bfd_mach_mips_octeon3 an
+	extension of bfd_mach_mips_octeon2.
+	(print_mips_isa_ext): Print the value of Octeon3.
+
+2014-10-31  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a
+	symbol table bigger than the file.
+	* elf.c (bfd_elf_get_str_section): Do not try to load a string
+	table bigger than the file.
+	* tekhex.c (first_phase): Check that the section range is sane.
+
+2014-10-30  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte.
+	* coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun.
+
+2014-10-29  Nick Clifton  <nickc@redhat.com>
+
+	* elf.c (bfd_section_from_shdr): Fix heap use after free memory
+	leak.
+
+2014-10-29  Dennis Brueni  <dbrueni@slickedit.com>
+
+	* elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy.
+
+2014-10-28  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* elf.c (bfd_section_from_shdr): Allocate and free the recursion
+	detection table on a per-bfd basis.
+	* peXXigen.c (pe_print_edata): Handle binaries with a truncated
+	export table.
+
+2014-10-28  Andreas Schwab  <schwab@suse.de>
+	    Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17510
+	* srec.c (srec_bad_byte): Increase size of buf to allow for
+	negative values.
+	(srec_scan): Use an unsigned char buffer to hold header bytes.
+
+2014-10-27  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/17512
+	* elf.c (bfd_section_from_shdr): Detect and warn about ELF
+	binaries with a group of sections linked by the string table
+	indicies.
+	* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries
+	with an invalid value for NumberOfRvaAndSizes.
+	(pe_print_edata): Detect out of range rvas and entry counts for
+	the Export Address table, Name Pointer table and Ordinal table.
+
+	PR binutils/17510
+	* elf.c (setup_group): Improve handling of corrupt group
+	sections.
+
+2014-10-24  Tejas Belagod  <tejas.belagod@arm.com>
+
+	* bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter.
+	* bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
+	* elfnn-aarch64.c (aarch64_erratum_835769_stub): New.
+	(elf_aarch64_stub_type): Add new type
+	aarch64_stub_erratum_835769_veneer.
+	(elf_aarch64_stub_hash_entry): New fields for erratum 835769.
+	(aarch64_erratum_835769_fix): New data struct to record erratum
+	835769.
+	(elf_aarch64_link_hash_table: Global flags for 835769.
+	(aarch64_build_one_stub): Add case for 835769.
+	(aarch64_size_one_stub): Likewise.
+	(aarch64_mem_op_p, aarch64_mlxl_p,
+	aarch64_erratum_sequence,erratum_835769_scan):
+	New. Decode and scan functions for erratum 835769.
+	(elf_aarch64_create_or_find_stub_sec): New.
+	(elfNN_aarch64_size_stubs): Look for erratum 835769 and record
+	them.
+	(bfd_elfNN_aarch64_set_options: Set global flag for 835769.
+	(erratum_835769_branch_to_stub_data,
+	make_branch_to_erratum_835769_stub):New. Connect up all the
+	erratum stubs to occurances by branches.
+	(elfNN_aarch64_write_section): New hook.
+	(aarch64_map_one_stub): Output erratum stub symbol.
+	(elfNN_aarch64_size_dynamic_sections): Init mapping symbol
+	information for erratum 835769.
+	(elf_backend_write_section): Define.
+
+2014-10-23  Victor Kamensky  <victor.kamensky@linaro.org>
+
+	* elf32-arm.c (read_code32): New function to read 32 bit
+	arm instruction.
+	(read_code16): New function to read 16 bit thumb instrution.
+	(elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32
+	and read_code16 to read instructions.
+
+2014-10-22  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* elfxx-mips.c (print_mips_ases): Print unknown ASEs.
+	(print_mips_isa_ext): Print the value of an unknown extension.
+
+2014-10-21  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc
+	entries that aren't a multiple of 8 rather than failing assertion.
+
+2014-10-21  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions
+	to thread_starter.
+
+2014-10-18  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code
+	section for function symbols defined in .opd is discarded, let
+	the symbol appear to be undefined.
+	(opd_entry_value): Ensure the result section is that for the
+	function code section in the same object as the OPD entry.
+
+2014-10-16  Alan Modra  <amodra@gmail.com>
+
+	PR 17492
+	* elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols
+	on ELF output bfd.
+	* elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
+	* elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
+	* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
+	* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
+	* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
+	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
+	* elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
+	* elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
+	* elf-s390-common.c (elf_s390_add_symbol_hook): Likewise.  Handle
+	STB_GNU_UNIQUE too.
+
+2014-10-16  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing
+	even when output is not ppc64 ELF.  Remove redundant tests on
+	type of input bfd.
+
+2014-10-15  Alan Modra  <amodra@gmail.com>
+
+	PR 17481
+	* aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr"
+	param, group "section" and "offset" params.  Zero discriminator.
+	* bfd.c (bfd_find_nearest_line): Implement with new
+	_bfd_find_nearest_line.
+	(bfd_find_nearest_line_discriminator): Likewise.
+	* coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't
+	define.
+	* coff-rs6000.c (xcoff_find_nearest_line,
+	xcoff_find_nearest_line_discriminator): Delete.
+	(_bfd_xcoff_find_nearest_line): Don't define.
+	(_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line.
+	* coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't
+	define.
+	* coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust.
+	* coffgen.c (coff_find_nearest_line_with_names): Reorder params,
+	adjust _bfd_dwarf2_find_nearest_line call.
+	(coff_find_nearest_line): Add "discriminator_ptr" param, reorder
+	others.  Set discriminator.  Adjust call.
+	(coff_find_nearest_line_discriminator): Delete.
+	* dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params.
+	* dwarf2.c (find_line): Rename to..
+	(_bfd_dwarf2_find_nearest_line): ..this, reordering params.
+	Simplify setting of do_line.  Delete old function.
+	(_bfd_dwarf2_find_line): Delete.
+	* ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add
+	discriminator_ptr and set it.
+	* elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype.
+	(_bfd_elf_find_nearest_line_discriminator): Delete.
+	(_bfd_elf_find_line_discriminator): Delete.
+	(_bfd_generic_find_nearest_line_discriminator): Don't define.
+	* elf.c (elf_find_function): Reorder params.
+	(_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr.
+	Adjust calls.
+	(_bfd_elf_find_nearest_line_discriminator): Delete.
+	(_bfd_elf_find_line): Adjust call.
+	* elf32-arm.c (arm_elf_find_function): Reorder params.
+	(elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr.
+	Adjust calls.
+	* elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly.
+	* elfnn-aarch64.c (aarch64_elf_find_function): Reorder params.
+	(elfNN_aarch64_find_nearest_line): Reorder params, add
+	discriminator_ptr.  Adjust calls.
+	* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly.
+	* elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype.
+	* libaout.h (NAME (aout, find_nearest_line)): Update prototype.
+	* libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update.
+	(_bfd_dwarf1_find_nearest_line): Likewise.
+	(_bfd_dwarf2_find_nearest_line): Likewise.
+	(_bfd_dwarf2_find_line): Delete.
+	(_bfd_generic_find_nearest_line_discriminator): Delete.
+	* libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete.
+	* libcoff-in.h (coff_find_nearest_line): Update prototype.
+	(coff_find_nearest_line_discriminator): Delete.
+	(coff_find_nearest_line_with_names): Update prototype.
+	* libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype.
+	* mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add
+	discriminator_ptr.  Adjust calls.
+	* mach-o.h (bfd_mach_o_find_nearest_line): Update prototype.
+	* pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add
+	discriminator_ptr and set.
+	* som.c (som_find_nearest_line): Similarly.
+	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for
+	_bfd_find_nearest_line_discriminator.
+	(struct bfd_target <_bfd_find_nearest_line>): Adjust prototype.
+	(struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete.
+	* vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to..
+	(_bfd_vms_find_nearest_line): ..this.  Reorder params, add
+	"discriminator" and set.
+	(_bfd_vms_find_nearest_line_discriminator): Delete.
+	(_bfd_generic_find_nearest_line_discriminator): Don't define.
+	(alpha_vms_find_nearest_line): Update define.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* libcoff.h: Regenerate.
+
+2014-10-15  Alan Modra  <amodra@gmail.com>
+
+	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line.
+	* aout-adobe.c (aout_32_find_line): Define.
+	(aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup,
+	aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define.
+	* aout-target.h (MY_find_line): Define.
+	* aout-tic30.c (MY_find_line): Define.
+	* binary.c (binary_find_line): Define.
+	* bout.c (aout_32_find_line): Define.
+	* coff-rs6000.c (_bfd_xcoff_find_line): Define.
+	* coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line.
+	(rs6000_xcoff64_aix_vec): Likewise.
+	* elf-bfd.h (_bfd_generic_find_line): Don't define.
+	* elfxx-target.h (bfd_elfNN_find_line): Define.
+	* i386msdos.c (msdos_find_line): Define.
+	* i386os9k.c (aout_32_find_line): Define.
+	* ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func.
+	(ieee_find_nearest_line, ieee_find_line,
+	ieee_find_inliner_info): Define.
+	* ihex.c (ihex_find_line): Define.
+	* libbfd-in.h (_bfd_nosymbols_find_line): Define.
+	(_bfd_generic_find_line): Don't define.
+	* libbfd.c (_bfd_generic_find_line): Delete.
+	* libcoff-in.h (coff_find_line): Define.
+	* libecoff.h (_bfd_ecoff_find_line): Define.
+	* mach-o.h (bfd_mach_o_find_line): Define.
+	* mmo.c (mmo_find_line): Define.
+	* nlm-target.h (nlm_find_line): Define.
+	* oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete.
+	(oasys_find_nearest_line, oasys_find_line,
+	oasys_find_inliner_info): Define.
+	* pef.c (bfd_pef_find_line): Define.
+	* plugin.c (bfd_plugin_find_line): Define.
+	* ppcboot.c (ppcboot_find_line): Define.
+	* som.c (som_find_line): Define.
+	* srec.c (srec_find_line): Define.
+	* tekhex.c (tekhex_find_line): Define.
+	* versados.c (versados_find_line): Define.
+	* vms-alpha.c (alpha_vms_find_line): Define.
+	* xsym.c (bfd_sym_find_line): Define.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* libcoff.h: Regenerate.
+
+2014-10-15  Tristan Gingold  <gingold@adacore.com>
+
+	* version.m4: Bump version to 2.25.51
+	* configure: Regenerate.
+
+2014-10-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation
+	offset is less than 2.
+	* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
+
+2014-10-14  Alan Modra  <amodra@gmail.com>
+
+	PR 17453
+	* libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types.
+	(EIGHT_GAZILLION): Delete.
+
+2014-10-13  Alan Modra  <amodra@gmail.com>
+
+	PR 17467
+	* elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc.
+	(_bfd_elf_parse_eh_frame): When relocatable output, don't set
+	flags enabling conversion of CIEs and FDEs to use relative encoding.
+	(find_merged_cie): Similarly.
+	(_bfd_elf_write_section_eh_frame): Don't edit FDEs when
+	relocatable, except for CIE pointer.
+	* elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for
+	relocs against symbols in dropped comdat group sections.
+	(bfd_elf_discard_info): Do some eh_frame optimisation when
+	relocatable.
+
+2014-10-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle
+	the hwcaps2 object attribute.
+
+2014-10-04  Alan Modra  <amodra@gmail.com>
+
+	PR 17447
+	* elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf.
+	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address
+	range FDEs for discarding.
+	(vma_compare): Sort on range after address.
+	(_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf.
+	(_bfd_elf_discard_section_eh_frame): Likewise.  Write "FDE" in
+	error message rather than "fde".
+	(_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in
+	error message.
+
+2014-09-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/17440
+	* elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build
+	for OLD_FREEBSD_ABI_LABEL.
+
+2014-09-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR 17422
+	* plugin.c (try_claim): New function. Moved from
+	bfd_plugin_object_p.
+	(try_load_plugin): Pass through bfd. Add test.
+	(load_plugin): Pass through bfd.
+	(bfd_plugin_object_p): Move logic to try_claim.
+
+2014-09-23  Sterling Augustine  <augustine.sterling@gmail.com>
+
+	* elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section
+	call relaxation use furthermost addresses where call source and
+	destination can be to check whether it's in the range of a direct
+	call.
+
+2014-09-22  Alan Modra  <amodra@gmail.com>
+
+	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return
+	false for overflow or overlapping FDEs.  Give more detail in
+	error messages.
+
+2014-09-22  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+	* elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend
+	the addend if relocations are RELA.
+
+2014-09-22  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
+	* elf32-nds32.c (nds32_elf_ex9_build_hash_table,
+	nds32_elf_ex9_relocation_check): Synchronize the argument type.
+
+2014-09-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF
+	for PIE.
+	* elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF
+	for PIE.
+
+2014-09-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR gdb/17407
+	* elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET.
+
+2014-09-16  Terry Guo  <terry.guo@arm.com>
+
+	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if
+	failed to merge.
+
+2014-09-16  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
+	* bfd-in2.h: Regenerate.
+	* elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject.
+	(nds32_elf_relax_section): Code refactoring.
+	(nds32_elf_relax_longcall1, nds32_elf_relax_longcall2,
+	nds32_elf_relax_longcall3, nds32_elf_relax_longcall4,
+	nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call
+	pattern. The first three is moved from nds32_elf_relax_section,
+	and the last three is new function.
+	(nds32_elf_relax_longjump1, nds32_elf_relax_longjump2,
+	nds32_elf_relax_longjump3, nds32_elf_relax_longjump4,
+	nds32_elf_relax_longjump5, nds32_elf_relax_longjump6,
+	nds32_elf_relax_longjump7): Relax condition branch pattern. The	first
+	three is moved from nds32_elf_relax_section, and the last four
+	is new function.
+	(nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store
+	pattern and address setting pattern.
+	(nds32_elf_relax_piclo12, nds32_elf_relax_ptr,
+	nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff,
+	nds32_elf_relax_gotoff_suff): Relax pic pattern.
+	(nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd,
+	nds32_elf_relax_letlsls): Relax TLS pattern.
+	(nds32_relax_adjust_label): Adjust alignment and nop.
+	(nds32_elf_pick_relax): Choose relaxation optimization.
+	(nds32_elf_get_relocated_section_contents): New hook.
+	(nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9
+	table 234th entry.
+	* elf32-nds32.h: Declare.
+	* libbfd.h: Regenerate.
+	* reloc.c: Add nds32 new relocations.
+
+2014-09-15  Chen Gang  <gang.chen.5i5j@gmail.com>
+
+	* dwarf2.c (find_abstract_instance_name): Use 'form' instead of
+	'name' for the typo issue, which related with commit
+	60d77146a249ae9b51d7ce98930cdbedb2cfa352.
+
+2014-09-15  Andrew Bennett  <andrew.bennett@imgtec.com>
+	    Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6.
+	* archures.c (bfd_architecture): Likewise.
+	* bfd-in2.h (bfd_architecture): Likewise.
+	(bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2,
+	BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
+	BFD_RELOC_MIPS_19_PCREL_S2.
+	* cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6.
+	* elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2
+	R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
+	(mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
+	BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
+	BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
+	BFD_RELOC_LO16_PCREL.
+	* elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2,
+	R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16
+	and R_MIPS_PCLO16.
+	(mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
+	BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
+	BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
+	BFD_RELOC_LO16_PCREL.
+	* elfn32-mips.c: Likewise.
+	* elfxx-mips.c (MIPSR6_P): New define.
+	(mipsr6_exec_plt_entry): New array.
+	(hi16_reloc_p): Add support for R_MIPS_PCHI16.
+	(lo16_reloc_p): Add support for R_MIPS_PCLO16.
+	(aligned_pcrel_reloc_p): New function.
+	(mips_elf_relocation_needs_la25_stub): Add support for relocs:
+	R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
+	(mips_elf_calculate_relocation): Add support for relocs:
+	R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2,
+	R_MIPS_PCHI16 and R_MIPS_PCLO16.
+	(_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6.
+	(mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16.
+	(_bfd_mips_elf_check_relocs): Add support for relocs:
+	R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
+	(_bfd_mips_elf_relocate_section): Add a check for unaligned
+	pc relative relocs.
+	(_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6
+	plt entry.
+	(mips_set_isa_flags): Add support for mips32r6 and mips64r6.
+	(_bfd_mips_elf_print_private_bfd_data): Likewise.
+	(mips_32bit_flags_p): Add support for mips32r6.
+	* libbfd.h (bfd_reloc_code_real_names): Add entries for
+	BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2,
+	BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2.
+	* reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2,
+	BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
+	BFD_RELOC_MIPS_19_PCREL_S2.
+	* config.bfd: Add mips*-img-elf* target triple.
+
+2014-09-12  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+	* config.bfd: Add mips*-img-elf* target triple.
+
+2014-09-12  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct eh_frame_array_ent): Add "range".
+	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address
+	range of FDEs to hdr_info->array.
+	(_bfd_elf_write_section_eh_frame_hdr): Report overflow in
+	.eh_frame_hdr entries, and overlapping FDEs.
+
+2014-09-10  Alan Modra  <amodra@gmail.com>
+
+	* elf.c (assign_file_positions_except_relocs): Move section header
+	placement to..
+	(_bfd_elf_assign_file_positions_for_relocs): ..here.  Make static.
+	* elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete.
+	* elflink.c (bfd_elf_final_link): Don't call above function.
+
+2014-08-30  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relax_section): Fix off by one error.
+
+2014-08-29  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Report a different
+	error for calls via a toc adjusting stub without a nop.
+
+2014-08-29  Alan Modra  <amodra@gmail.com>
+
+	* vms-alpha.c (alpha_vma_object_p): Don't return file_truncated
+	error.  Remove redundant bfd_set_error.
+
+2014-08-29  Alan Modra  <amodra@gmail.com>
+
+	* srec.c (srec_scan): Revert last change.  Report an error for
+	S-records with less than the miniumum byte count.
+
+2014-08-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* srec.c (srec_scan): Return error for 0 size.
+
+2014-08-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/17306
+	* elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section
+	to check discarded input section.
+	* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
+
+2014-08-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/17313
+	* elflink.c (elf_link_add_object_symbols): Don't attach dynamic
+	sections to input from ld --just-symbols.
+
+2014-08-26  DJ Delorie  <dj@redhat.com>
+
+	* elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for
+	relaxation type.
+
+2014-08-26  Jiong Wang  <jiong.wang@arm.com>
+
+	* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
+	properly for MOVW_G0/1/2_NC and MOVW_G3.  Reject them when linking
+	shared library.
+	(elfNN_aarch64_gc_sweep_hook): Add check on these relocs.
+
+2014-08-26  Nick Clifton  <nickc@redhat.com>
+
+	* config.bfd: Fix typo in or1knd selection.
+
+2014-08-22  Kai Tietz  <ktietz@redhat.com>
+
+	PR binutils/11822
+	* coffcode.h (coff_compute_section_file_positions): Keep
+	FileAlignment valid as set.
+
+2014-08-22  Alan Modra  <amodra@gmail.com>
+
+	* elf-eh-frame.c (struct cie): Delete "output_sec" field.
+	(cie_eq, cie_compute_hash): Use output_section from cie_inf instead.
+
+2014-08-22  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and
+	parsed_eh_frames.
+	(_bfd_elf_begin_eh_frame_parsing): Delete.
+	(_bfd_elf_end_eh_frame_parsing): Delete.
+	* elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete.
+	(_bfd_elf_end_eh_frame_parsing): Delete.
+	(_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame.  Test
+	!info->relocatable in place of merge_cies.
+	* elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust.
+	* elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8.
+	(ppc64_elf_size_stubs): Likewise pad stub FDE.
+	(ppc64_elf_build_stubs): Move code setting glink .eh_frame to..
+	(ppc64_elf_size_stubs): ..here and..
+	(ppc64_elf_finish_dynamic_sections): ..here.
+
+2014-08-21  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* elf64-ppc.h (ppc64_elf_set_toc): Fix indentation.
+
+2014-08-21  Tony Wang  <tony.wang@arm.com>
+
+	* elf32-arm.c (elf32_arm_final_link_relocate): Implement
+	the veneer routine for R_ARM_THM_JUMP19.
+	(arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19
+	(elf32_arm_size_stub): Ditto.
+
+2014-08-20  Roland McGrath  <mcgrathr@google.com>
+
+	PR ld/17277
+	* elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for
+	all reloc types with pc_relative set in the howto, not just for
+	R_ARM_REL32 and R_ARM_REL32_NOI.
+	(allocate_dynrelocs_for_symbol): Update comment.
+	(elf32_arm_gc_sweep_hook): For all reloc types with pc_relative
+	set in the howto, set call_reloc_p and may_need_local_target_p but
+	not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI.
+	(elf32_arm_check_relocs): Likewise.
+
+2014-08-20  Will Newton  <will.newton@linaro.org>
+
+	* config.bfd: Default armeb-*-eabi* to big endian.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-18  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to
+	use dynrelocs for ifunc.
+	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly.
+
+2014-08-18  Alan Modra  <amodra@gmail.com>
+
+	PR 17287
+	* elflink.c (on_needed_list): Only consider libraries that have
+	been loaded.
+
+2014-08-18  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (bfd_elf_discard_info): Return int error status.
+	* stabs.c (_bfd_discard_section_stabs): Comment typo fix.
+	* bfd-in.h (bfd_elf_discard_info): Updata prototype.
+	* bfd-in2.h: Regenerate.
+
+2014-08-14  Alan Modra  <amodra@gmail.com>
+
+	* peXXigen.c (pe_print_reloc): Protect against access past end
+	of .reloc section.
+
+2014-08-14  Alan Modra  <amodra@gmail.com>
+
+	PR 16563
+	* elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab
+	in the order they are mapped to output sections.
+
+2014-08-14  Alan Modra  <amodra@gmail.com>
+
+	* configure.ac: Delete redundant plugin related checks.
+	* configure: Regenerate.
+
+2014-08-13  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
+
+	* elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs,
+	allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL
+	and SYMBOLIC_BIND.
+
+2014-08-12  Alan Modra  <amodra@gmail.com>
+
+	* coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice"
+	here when not calling the generic add_symbol function.  Formatting.
+	Correct handling of indirect symbols.  Update notice call.
+	* elflink.c (_bfd_elf_notice_as_needed): Update notice call.
+	* linker.c (_bfd_generic_link_add_one_symbol): Create indirect
+	symbols early.  Update notice call.  Add comments regarding weak
+	symbols vs. indirect.
+
+2014-08-12  Alan Modra  <amodra@gmail.com>
+
+	PR ld/16746
+	* linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle
+	!lto_plugin_active.
+
+2014-08-07  Chen Gang <gang.chen.5i5j@gmail.com>
+
+	* coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are
+	zero terminated.
+
+2014-08-07  H.J. Lu  <hongjiu.lu@intel.com>
+	    Alan Modra  <amodra@gmail.com>
+
+	PR ld/16746
+	* linker.c (_bfd_generic_link_add_one_symbol): Don't issue a
+	warning for references in LTO IR to warning symbols.
+
+2014-08-07  Alan Modra  <amodra@gmail.com>
+
+	* linker.c (WARN, CWARN): Collapse these states to WARN.
+	(_bfd_generic_link_add_one_symbol): Use old CWARN case for
+	new WARN.
+
+2014-08-05  Doug Evans  <dje@google.com>
+
+	* bfd-in2.h: Regenerate.
+	* libcoff.h: Regenerate.
+
+2014-08-05  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's
+	rawsize if changing size.
+
+2014-08-05  Alan Modra  <amodra@gmail.com>
+
+	PR ld/17226
+	* elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix.
+
+2014-08-05  Alan Modra  <amodra@gmail.com>
+
+	* linker.c (generic_link_check_archive_element): Move handling
+	of command link -u symbols with a common symbol def to the
+	code handling non-common symbols so that archive element symbols
+	are loaded.  Use generic_link_add_object_symbols.
+
+2014-08-05  Alan Modra  <amodra@gmail.com>
+
+	PR 13557
+	* linker.c (struct archive_list, struct archive_hash_entry,
+	struct archive_hash_table, archive_hash_newfunc,
+	archive_hash_table_init, archive_hash_lookup, archive_hash_allocate,
+	archive_hash_table_free): Delete.
+	(_bfd_generic_link_add_archive_symbols): Add h and name params to
+	checkfn.  Rewrite using a straight-forward scan over archive map.
+	(generic_link_check_archive_element_no_collect,
+	generic_link_check_archive_element_collect,
+	generic_link_check_archive_element): Add h and name params.
+	* aoutx.h (aout_link_check_archive_element): Likewise.
+	* pdp11.c (aout_link_check_archive_element): Likewise.
+	* xcofflink.c (xcoff_link_check_archive_element): Likewise.
+	* cofflink.c (coff_link_check_archive_element): Likewise.  Don't
+	scan symbols, simply add archive element whenever h is undefined.
+	(coff_link_check_ar_symbols): Delete.
+	* ecoff.c (read_ext_syms_and_strs): Delete.
+	(reread_ext_syms_and_strs): Delete.
+	(ecoff_link_check_archive_element): Add h and name param.  Don't
+	scan symbols, simply add based on h.  Use ecoff_link_add_object_symbols.
+	* elflink.c (elf_link_is_defined_archive_symbol): Don't test
+	archive_pass.
+	(elf_link_add_archive_symbols): Delete "defined" array, merge
+	functionality into "included".  Make "included" a char array.  Don't
+	set or test archive_pass.
+	* libbfd-in.h (_bfd_generic_link_add_archive_symbols): Update.
+	* libbfd.h: Regenerate.
+
+2014-08-01  Takashi Yoshii  <yoshii.takashi@renesas.com>
+
+	PR 10373
+	* elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing.
+
+2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro.
+	(mips_elf_obj_tdata): Add abiflags and abiflags_valid fields.
+	(bfd_mips_elf_swap_abiflags_v0_in): New function.
+	(bfd_mips_elf_swap_abiflags_v0_out): Likewise.
+	(_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS.
+	(_bfd_mips_elf_fake_sections): Likewise.
+	(_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags.
+	(_bfd_mips_elf_additional_program_headers): Account for new
+	PT_MIPS_ABIFLAGS program header.
+	(_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and
+	associate with .MIPS.abiflags.
+	(_bfd_mips_elf_gc_mark_extra_sections): New function.
+	(bfd_mips_isa_ext, update_mips_abiflags_isa): New static function.
+	(infer_mips_abiflags): Likewise.
+	(_bfd_mips_elf_final_link): Handle .MIPS.abiflags.
+	(mips_32bit_flags_p): Moved higher.
+	(mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error
+	checking for FP ABIs.
+	(_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags
+	checks.  Check EF_MIPS_FP64 flag consistency.
+	(print_mips_ases, print_mips_isa_ext): New static function.
+	(print_mips_fp_abi_value, get_mips_reg_size): Likewise.
+	(_bfd_mips_elf_print_private_bfd_data): Display abiflags data.
+	(_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for
+	Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A.
+	* elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype.
+	* elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
+	* elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
+	* elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement.
+
+2014-07-28  Alan Modra  <amodra@gmail.com>
+
+	PR 13227
+	* archive.c (_bfd_compute_and_write_armap): Warn on adding
+	__gnu_lto_slim to armap.
+	* linker.c (_bfd_generic_link_add_one_symbol): Warn on adding
+	__gnu_lto_slim to linker hash table.
+
+2014-07-27  Anthony Green  <green@moxielogic.org>
+
+	* config.bfd: Add moxie-*-moxiebox*.
+
+2014-07-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
+
+	Add or reactivate or1k-*-rtems*
+	* config.bfd (or1k-*-rtems*): Reactivate.
+
+2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
+	ELFOSABI_GNU input.
+	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
+	(elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
+
+2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/17154
+	* elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT
+	and R_*_IRELATIVE relocation offset with PLT entry.
+	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
+	(elf_x86_64_plt_sym_val_offset_plt_bnd): New.
+	(elf_x86_64_get_synthetic_symtab): Use it.
+
+2014-07-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/17057
+	* elf32-i386.c (elf_i386_compute_jump_table_size): Replace
+	next_tls_desc_index with elf.srelplt->reloc_count.
+
+2014-07-15  Alan Modra  <amodra@gmail.com>
+
+	* cache.c (cache_bread_1): Don't return -1 when fread returns
+	a positive value.
+
+2014-07-15  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (elf_merge_st_other): Update comments.  Simplify
+	visibility handling.  Make isym const.  Move code modifying
+	isym->st_other for --exclude-libs to..
+	(elf_link_add_object_symbols): ..here.
+
+2014-07-11  Maks Naumov  <maksqwe1@ukr.net>
+
+	PR 17141
+	* elf.c (_bfd_elf_strtab_add): Check strtab name for failure.
+
+2014-07-08  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/17110
+	* elf32-sh.c (sh_elf_osec_to_segment): Do not look for output
+	segments in input bfds.
+
+2014-07-08  Will Newton  <will.newton@linaro.org>
+
+	* elf32-arm.c (ELF_MAXPAGESIZE): Increase the default
+	value to 64kB and remove custom setting for NaCl.
+
+2014-07-08  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other
+	bits from source to dest.
+	* linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment.
+	* targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>):
+	Likewise.
+	* bfd-in2.h: Regenerate.
+
+2014-07-08  Jiong Wang  <jiong.wang@arm.com>
+
+	* elfnn-aarch64.c (elf_backend_rela_normal): Set to 1.
+	(elfNN_aarch64_relocate_section): Remove duplicated addend adjustment
+	when info->relocatable be true.
+
+2014-07-07  Barney Stratford  <barney_stratford@fastmail.fm>
+
+	* elf32-avr.c: Handle R_AVR_PORT5 and R_AVR_PORT6.
+	* reloc.c: Add BFD_RELOC_AVR_PORT5 and BFD_RELOC_AVR_PORT6.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2014-07-04  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am: Update "configure.in" comments.
+	* PORTING: Likewise.
+	* aoutx.h: Likewise.
+	* configure.host: Likewise.
+	* doc/bfdint.texi: Likewise.
+	* targets.c: Likewise.
+	* warning.m4: Likewise.
+	* Makefile.in: Regenerate.
+
+2014-07-04  Alan Modra  <amodra@gmail.com>
+
+	* configure.ac: Rename from configure.in.
+	* Makefile.in: Regenerate.
+	* config.in: Regenerate.
+	* doc/Makefile.in: Regenerate.
+
+2014-07-04  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in.
+	* Makefile.in: Regenerate.
+
+2014-07-04  Alan Modra  <amodra@gmail.com>
+
+	* version.m4: New file.
+	* configure.in: Include version.m4.
+	(AC_INIT): Update.
+	* Makefile.am (RELEASE): Delete.
+	(bfdver.h): Depend on development.sh, use instead of RELEASE.
+	* Makefile.in: Regenerate.
+	* doc/Makefile.in: Regenerate.
+
+2014-07-02  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear
+	pointer_equality_needed when !readonly_dynrelocs.
+	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
+
+2014-07-02  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too.
+	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
+
+2014-07-01  Alan Modra  <amodra@gmail.com>
+
+	* bfd.c (struct bfd): Reorganise for better packing.  Delete
+	"ifd" field.  Make "format", "direction" and "flags" bitfields.
+	(HAS_LOAD_PAGE): Delete, renumber following flags.
+	* bfd-in2.h: Regenerate.
+	* coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs.
+
+2014-07-01  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry.
+	(struct ppc_link_hash_table): Increase size of stub_count array.
+	(build_global_entry_stubs): Emit symbol on global entry stub.
+	(ppc64_elf_build_stubs): NULL check htab->brlt.  Add global entry
+	stub stats.
+
+2014-07-01  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (abiversion, set_abiversion): Move earlier.
+	(ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset.
+	(ppc64_elf_set_toc): Set ".TOC." symbol value when using
+	generic linker.
+	(ppc64_elf_relocate_section): Disable ELFv2 function entry
+	optimisation when --traditional-format.
+
+2014-07-01  Barney Stratford   <barney_stratford@fastmail.fm>
+            Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+            Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+            Soundararajan  <Sounderarajan.D@atmel.com>
+
+	* archures.c: Add avrtiny architecture for avr target.
+	* cpu-avr.c (arch_info_struct): Add avrtiny arch info.
+	* elf32-avr.c (elf_avr_howto_table): New relocation R_AVR_LDS_STS_16
+	added for 16 bit LDS/STS instruction of avrtiny arch.
+	(avr_reloc_map): Reloc R_AVR_LDS_STS_16 is mapped to
+	BFD_RELOC_AVR_LDS_STS_16.
+	(bfd_elf_avr_final_write_processing): Select machine number
+	avrtiny arch.
+	(elf32_avr_object_p): Set machine number for avrtiny arch.
+	* reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2014-06-26  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/16949
+	* dwarf2.c (is_str_attr): New function.
+	(find_abstract_instance_name): Use it to determine when an
+	attribute has a string value.
+
+2014-06-24  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep
+	.sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output
+	for --emit-relocs.
+
+2014-06-21  Philippe De Muyter  <phdm@macqel.be>
+
+	* targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for
+	a number of targets.
+
+2014-06-20  Kyle McMartin <kyle@redhat.com>
+
+	* elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when
+	emitting initial-exec relocs when not linking an executable.
+
+2014-06-16  Will Newton  <will.newton@linaro.org>
+
+	* elf32-arm.c (elf32_arm_allocate_plt_entry): Increment
+	htab->next_tls_desc_index in the non-IPLT case.
+	Calculate GOT offset correctly for the non-IPLT case.
+	(allocate_dynrelocs_for_symbol): Don't increment
+	htab->next_tls_desc_index here.
+
+2014-06-16  Alan Modra  <amodra@gmail.com>
+
+	* elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker
+	created sections.
+
+2014-06-13  Omair Javaid  <omair.javaid@linaro.org>
+
+	* elfxx-aarch64.c (stdarg.h): Include.
+	(string.h): Include.
+	(_bfd_aarch64_elf_grok_prstatus): Updated.
+	(_bfd_aarch64_elf_grok_psinfo): New function.
+	(_bfd_aarch64_elf_write_core_note): New function.
+	* elfxx-aarch64.h (elf_backend_grok_psinfo): Define.
+	(elf_backend_write_core_note): Define.
+
+2014-06-13  Alan Modra  <amodra@gmail.com>
+
+	* archive.c: Include bfdlink.h.
+	(_bfd_archive_close_and_cleanup): Call linker hash_table_free.
+	* bfd.c (struct bfd): Add is_linker_output field.
+	* elf-bfd.h (_bfd_elf_link_hash_table_free): Update prototype.
+	* linker.c (_bfd_link_hash_table_init): Set up hash_table_free,
+	link.hash and is_linker_output.
+	(_bfd_generic_link_hash_table_free): Replace bfd_link_hash_table*
+	param with bfd*.  Assert is_linker_output and link.hash, and
+	clear them before exit.
+	* elf-m10300.c (elf32_mn10300_link_hash_table_free): Replace
+	bfd_link_hash_table* param with bfd*.  Hack is_linker_output
+	and link.hash so we can free two linker hash tables.
+	(elf32_mn10300_link_hash_table_create): Create static_hash_table
+	first.  Clean up on errors.  Set hash_table_free pointer.
+	* elf32-arm.c (elf32_arm_link_hash_table_free): Replace
+	bfd_link_hash_table* param with bfd*.
+	(elf32_arm_link_hash_table_create): Clean up on errors.  Set
+	hash_table_free pointer.
+	* elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc1x.c,
+	* elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-xgate.c,
+	* elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, * elflink.c,
+	* elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c,
+	* xcofflink.c: Similarly.
+	* simple.c (bfd_simple_get_relocated_section_contents): Save and
+	clear link.next before creating linker hash table.  Clean up on
+	errors, and restore link.next on exit.
+	* elf32-m68hc1x.h (m68hc11_elf_bfd_link_hash_table_free): Delete.
+	* elf32-xgate.h (xgate_elf_bfd_link_hash_table_free): Delete.
+	* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table_free): Delete.
+	* libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Delete.
+	* hash.c (bfd_hash_table_init_n): Free table on error.
+	* libbfd-in.h (_bfd_generic_link_hash_table_free): Update proto.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* libcoff.h: Regenerate.
+
+2014-06-13  Alan Modra  <amodra@gmail.com>
+
+	PR 17047
+	* targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free.
+	(struct bfd_target <_bfd_link_hash_table_free>): Delete.
+	* bfd.c (bfd_link_hash_table_free): Don't define.
+	* aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c,
+	* coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c,
+	* elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c,
+	* elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
+	* elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c,
+	* elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c,
+	* elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c,
+	* libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c,
+	* nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c,
+	* srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c,
+	* xsym.c: Don't define various link_hash_table_free defines, and
+	remove from bfd_target vars.  Temporarily reference some of the
+	target link_hash_table_free functions to avoid warnings.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2014-06-13  Alan Modra  <amodra@gmail.com>
+
+	* elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c,
+	* elf32-i386.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-metag.c,
+	* elf32-nios2.c, * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c,
+	* elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, * xcofflink.c:
+	Move link_hash_table_free functions before their corresponding
+	link_hash_table_create functions.
+
+2014-06-13  Alan Modra  <amodra@gmail.com>
+
+	* bfd.c (struct bfd): Replace link_next with a union.
+	* aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c,
+	* ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c,
+	* elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c,
+	* elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c,
+	* elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c,
+	* elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
+	* elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c,
+	* elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c,
+	* elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
+	* elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c,
+	* elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
+	* elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c,
+	* sunos.c, * vms-alpha.c, * xcofflink.c: Update for above.
+	* bfd-in2.h: Regenerate.
+
+2014-06-11  Alan Modra  <amodra@gmail.com>
+
+	* linker.c (unwrap_hash_lookup): Add missing parens.
+
+2014-06-11  Kai Tietz  <ktietz@redhat.com>
+
+	* libcoff-in.h (coff_tdata): Make relocbase member unsigned.
+	* libcoff.h: Regenerated.
+
+2014-06-10  Alan Modra  <amodra@gmail.com>
+
+	PR ld/16910
+	* linker.c (unwrap_hash_lookup): New function.
+	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
+	* elf32-i370.c (i370_elf_relocate_section): Likewise.
+	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
+	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+	* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
+	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
+	* elf32-spu.c (spu_elf_relocate_section): Likewise.
+	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
+
+2014-06-07  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli
+	insn as a bitfield; Use complain_overflow_bitfield.
+	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+
+2014-06-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* development.sh: New file.
+	* warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
+	Make -Werror the default with GCC only if DEVELOPMENT is true.
+	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
+	$(srcdir)/development.sh.
+	* Makefile.in, configure: Regenerate.
+
+2014-06-04  Will Newton  <will.newton@linaro.org>
+
+	* elfnn-aarch64.c (tpoff_base): Make test of tls_sec
+	being non-NULL into an assert.
+	(elfNN_aarch64_tls_relax): Remove unused code.
+
+2014-06-03  DJ Delorie  <dj@redhat.com>
+
+	* elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability.
+
+2014-06-03  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/16807
+	* peXXigen.c (rsrc_process_section): Page align the new contents
+	befgore writing out.
+
+2014-06-03  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ADDIS_R12_R2): Define.
+	(build_plt_stub): Support fusion on ELFv2 stub.
+	(ppc_build_one_stub): Likewise for plt branch stubs.
+
+2014-05-28  Alan Modra  <amodra@gmail.com>
+
+	* elf32-rx.c (rx_table_map): Delete set but not used variables.
+
+2014-05-28  Tristan Gingold  <gingold@adacore.com>
+
+	* dwarf2.c (lookup_address_in_function_table): Add best_fit_len
+	to keep the length of the best fit range.
+	(lookup_symbol_in_function_table, info_hash_lookup_funcinfo):
+	Likewise.
+
+2014-05-27  DJ Delorie  <dj@redhat.com>
+
+	* elf32-rx.c (get_symbol_value_maybe): New.
+	(rx_elf_relocate_section): If we find a reloc against
+	$tableentry$default$<name>, redirect it to the appropriate
+	$tableentry$<n>$.
+	(RX_Table_Info): New.
+	(rx_table_find): New.  Check all tables and SEC_KEEP all sections
+	with table parts in them.
+	(rx_check_directives): New.
+	(rx_table_map_2): New.
+	(rx_table_map): New.
+	(rx_additional_link_map_text): New.  Called to dump tables to the
+	map file.
+	* elf32-rx.h: New.
+
+2014-05-20  DJ Delorie  <dj@redhat.com>
+
+	* elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
+
+2014-05-20  Alan Modra  <amodra@gmail.com>
+
+	PR 16952
+	* elf32-ppc.c (ppc_elf_create_linker_section): Move earlier.
+	Remove redundant setting of htab->elf.dynobj.  Don't align.
+	Define .sdata symbols using _bfd_elf_define_linkage_sym.
+	(ppc_elf_create_glink): Call ppc_elf_create_linker_section.
+	(create_sdata_sym): Delete.
+	(elf_allocate_pointer_linker_section): Rename from
+	elf_create_pointer_linker_section.  Align section.
+	(ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section
+	directly here, or create_sdata_sym.  Set ref_regular on _SDA_BASE_
+	and _SDA2_BASE_.
+	(ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param.
+	Remove unnecessary tests on _SDA_BASE_ sym.
+	(maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions.
+	(ppc_elf_relocate_section): Tighten SDA reloc symbol section checks.
+	* elf32-ppc.h (ppc_elf_set_sdata_syms): Delete.
+	(ppc_elf_maybe_strip_sdata_syms): Declare.
+
+2014-05-16  Ryan Mansfield  <rmansfield@qnx.com>
+
+	* config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*.
+
+2014-05-16  Jon Turney  <jon.turney@dronecode.org.uk>
+
+	* peXXigen.c (pe_print_debugdata): Don't interpret debug directory
+	in a section with no contents.
+	(is_vma_in_section, find_section_by_vma): New functions.
+	(_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
+	offsets in the debug directory.
+	(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
+	Byte-swap GUID from little-endian to big-endian order for
+	consistent and conventional display.
+
+2014-05-16  Kaushik Phata  <Kaushik.Phatak@kpit.com>
+
+	* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if
+	64-bit doubles objects mix with 32-bit doubles objects.
+	(rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag.
+
+2014-05-08  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* mmo.c: Update URLs in documentation comments.
+
+2014-05-02  Volodymyr Arbatov  <arbatov@cadence.com>
+	    David Weatherford  <weath@cadence.com>
+	    Max Filippov  <jcmvbkbc@gmail.com>
+
+	* elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as
+	signed.
+
+2014-05-07  Andreas Tobler  <andreast@fgznet.ch>
+
+	* config.bfd: Add proper arm config for *-*-freebsd*.
+
+2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+	* aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3,
+	mips32r5 and mips64r5.
+	* archures.c (bfd_architecture): Likewise.
+	* bfd-in2.h (bfd_architecture): Likewise.
+	* cpu-mips.c (arch_info_struct): Likewise.
+	* elfxx-mips.c (mips_set_isa_flags): Likewise.
+
+2014-05-06  Richard Sandiford  <rdsandiford@googlemail.com>
+
+	* elfxx-mips.h (elfxx-mips.h): Declare.
+	* elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report
+	Tag_GNU_MIPS_ABI_FP mismatches.
+	(_bfd_mips_fp_abi_string): New function.
+
+2014-05-02  Alan Modra  <amodra@gmail.com>
+
+	* targets.c: Sort bfd_target vectors somewhat alphabetically.
+	* configure.in: Likewise.
+	* configure: Regenerate.
+
+2014-05-02  Alan Modra  <amodra@gmail.com>
+
+	* aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
+	* aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
+	* cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
+	* coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
+	* coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
+	* coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
+	* coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
+	* coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
+	* coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
+	* coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
+	* demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
+	* elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
+	* elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
+	* elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
+	* elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
+	* elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
+	* elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
+	* elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
+	* elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
+	* elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
+	* elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
+	* elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
+	* elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
+	* elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
+	* elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
+	* elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
+	* elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
+	* elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
+	* elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
+	* elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
+	* epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
+	* hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
+	* i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
+	* i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
+	* irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
+	* m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
+	* makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
+	* nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
+	* ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
+	* pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
+	* pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
+	* pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
+	* pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
+	* sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
+	* sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
+	* vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
+	* vms-alpha.c, * vms-lib.c: Rename bfd targets to
+	<cpu>_<format>_<other>_<endian>_vec.  Adjust associated MY macros
+	on aout targets.
+	* configure: Regenerate.
+
+2014-05-01  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* mmo.c (mmo File layout documentation): Add note about low bits
+	of address.
+	(mmo_write_chunk): When handling data remainder, assert that
+	previous remaining data is flushed.
+	(mmo_write_loc_chunk): Only look for trailing and leading zeros
+	when dealing with an aligned VMA and for aligned lengths.  Don't skip
+	the last 32-bit-word of zeros.
+	(mmo_write_loc_chunk): Emit an error if the VMA is not aligned.
+	(mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before
+	emitting data, not after updating it.
+	<case LOP_LOC>: Call mmo_decide_section with aligned vma.
+
+2014-04-30  Nick Clifton  <nickc@redhat.com>
+
+	* compress.c (bfd_is_section_compressed): When checking the
+	.debug_str section, also check the fifth byte in the section is
+	not part of a string.
+
+2014-04-30  Alan Modra  <amodra@gmail.com>
+
+	* elf-eh-frame.c (struct cie.personality): Replace val with sym.
+	(find_merged_cie): Identify personality functions by (bfd_id,index)
+	pair when a local sym is used.
+
+2014-04-29  Christian Svensson  <blue@cmd.nu>
+
+	* elf32-or1k.c: Fix a bug where non-TLS relocations would be forced
+	into .rela.got if it contained TLS relocations as well.
+
+2014-04-28  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/16821
+	* peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile
+	time warning.
+
+2014-04-26  Alan Modra  <amodra@gmail.com>
+
+	* po/SRC-POTFILES.in: Regenerate.
+	* configure: Regenerate.
+
+2014-04-25  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/16821
+	* peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on
+	a 342-bit host.  This time for older versions of gcc.
+
+2014-04-24  Nick Clifton  <nickc@redhat.com>
+
+	* peXXigen.c (rsrc_print_section): Fix compile time warning for
+	32-bit hosts.
+
+2014-04-24  Alan Modra  <amodra@gmail.com>
+
+	PR 16867
+	* dwarf2.c: Formatting.
+	(struct dwarf2_debug): Make adjusted_section_count signed.
+	(unset_sections): Make i signed.
+	(set_debug_vma): New function.
+	(place_sections): Handle separate debug object file.  Set VMA
+	on debug sections, even if they have an output section.  Also
+	set VMA on zero size sections, and non-load but alloc sections.
+	Set adjusted_section_count to -1 when no section adjustment.
+	Malloc adjusted_sections.  Don't double last_vma.  Transfer
+	alloc section VMAs to separate debug file.
+	(_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
+	(_bfd_dwarf2_slurp_debug_info): Add do_place parameter.  Drop
+	test on symbols being the same before using old stash.  Read
+	and use separate debug file symbols.  Call place_sections.
+	(find_line): Don't call place_sections here.
+	* libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
+	* libbfd.h: Regenerate.
+	* mach-o.c (bfd_mach_o_find_nearest_line): Adjust
+	_bfd_dwarf2_slurp_debug_info call.
+	* simple.c (simple_save_output_info): Clarify comment.
+
+2014-04-24  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/16807
+	* peXXigen.c (struct rsrc_regions): New structure.
+	(rsrc_print_resource_directory): Use new structure.  Include
+	offset of directory in listing.
+	(rsrc_print_resource_entry): Likewise.
+	(rsrc_print_section): Likewise.
+	(rsrc_count_entries): Do not increment sizeof_strings or
+	sizeof_leaves.
+	(rsrc_count_directory): Do not increment sizeof_tables.
+	(rsrc_compute_region_sizes): New function.
+	(rsrc_write_leaf): Maintain 8-byte alignment for resource data.
+	(rsrc_process_section): Compute size of regions after merging
+	entries.
+
+2014-04-23  Alan Modra  <amodra@gmail.com>
+
+	PR ld/16787
+	* dwarf2.c (struct dwarf2_debug): Add sec_vma field.
+	(place_sections): Do not modify VMA of sections when called from
+	linker after sections have been placed in output sections.  Short
+	circuit single section case.
+	(save_section_vma, section_vma_same): New functions.
+	(_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs
+	change.
+	* reloc.c (bfd_perform_relocation): Do not modify reloc addend
+	when non-relocatable.
+
+2014-04-22  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/16821
+	* peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts.
+
+2014-04-22  Christian Svensson  <blue@cmd.nu>
+
+	* Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
+	* archures.c: Likewise.
+	* coffcode.h: Likewise.
+	* config.bfd: Likewise.
+	* configure.in: Likewise.
+	* reloc.c: Likewise.
+	* targets.c: Likewise.
+	* cpu-or1k.c: New file.
+	* elf32-or1k.c: New file.
+	* coff-or32.c: Delete.
+	* cpu-openrisc.c: Delete.
+	* cpu-or32.c: Delete.
+	* elf32-openrisc.c: Delete.
+	* elf32-or32.c: Delete.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* libbfd.h: Regenerate.
+
+2014-04-22  Yuanhui Zhang  <asmwarrior@gmail.com>
+
+	PR ld/16821
+	* peXXigen.c (abs_finder): Fix for 32-bit host builds.
+
+2014-04-22  Will Newton  <will.newton@linaro.org>
+
+	* elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove
+	function.  (elf_backend_section_flags): Remove define.
+
+2014-04-21  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
+	parameter; honor it and disable got merging when false.
+	(elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
+	the first pass of relaxation.
+	(elf64_alpha_relax_with_lituse): Likewise.  Move relaxed relocs to
+	the end of the LITERAL+LITUSE chain.
+	(elf64_alpha_relax_section): Only process LITERAL relocs during the
+	second pass of relaxation.
+
+	* configure.ac (use_secureplt): Enable by default.
+	* configure: Rebuild.
+
+2014-04-18  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content,
+	bind_content, weak_bind_content, lazy_bind_content,
+	export_content.
+	(bfd_mach_o_load_command): Add comments, add next field.
+	(mach_o_data_struct): Replace commands field by first_command
+	and last_command.
+	* mach-o.c (bfd_mach_o_append_command): New function.
+	(bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines.
+	(bfd_mach_o_bfd_copy_private_section_data): Check flavour,
+	copy fields.
+	(bfd_mach_o_bfd_copy_private_header_data): Copy load commands.
+	(bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions.
+	(bfd_mach_o_write_thread): Use macro instead of literal.
+	(bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib)
+	(bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New
+	functions.
+	(bfd_mach_o_write_symtab_content): New function (extracted
+	from bfd_mach_o_write_symtab).
+	(bfd_mach_o_write_symtab): Split.
+	(bfd_mach_o_count_indirect_symbols): Move
+	(bfd_mach_o_build_dysymtab): Remove layout code.
+	(bfd_mach_o_write_contents): Rewritten to build commands in order.
+	(bfd_mach_o_count_sections_for_seg): Remove.
+	(bfd_mach_o_build_obj_seg_command): New function (extracted from
+	bfd_mach_o_build_seg_command).
+	(bfd_mach_o_build_exec_seg_command): New function.
+	(bfd_mach_o_build_dysymtab_command): Remove.
+	(bfd_mach_o_layout_commands): New function.
+	(bfd_mach_o_init_segment): New function.
+	(bfd_mach_o_build_commands): Major rework to handle non-object
+	files.
+	(bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New
+	function.
+	(bfd_mach_o_read_dyld_info): Clear content fields.
+	(bfd_mach_o_read_segment): Adjust call.
+	(bfd_mach_o_flatten_sections): Adjust as now load commands are
+	chained.
+	(bfd_mach_o_scan_start_address, bfd_mach_o_scan)
+	(bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address)
+	(bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment):
+	Likewise.
+
+2014-04-18  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data):
+	Define instead of bfd_mach_o_bfd_copy_private_bfd_data.
+	* mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename.
+	* mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise.
+
+2014-04-18  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.h (bfd_mach_o_dylinker_command)
+	(bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove
+	name_len field.
+	* mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
+	(bfd_mach_o_read_fvmlib): Adjust after name_len removal.
+
+2014-04-18  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.h (bfd_mach_o_backend_data): Add page_size field.
+	* mach-o-target.c: Check TARGET_PAGESIZE is defined.
+	(TARGET_NAME_BACKEND): Add TARGET_PAGESIZE.
+	* mach-o.c (TARGET_PAGESIZE): Define and undefined for
+	each targets declared.
+	* mach-o-x86-64.c (TARGET_PAGESIZE): Define.
+	* mach-o-i386.c (TARGET_PAGESIZE): Define.
+
+2014-04-18  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.c (bfd_mach_o_write_thread)
+	(bfd_mach_o_write_section_32, bfd_mach_o_write_section_64)
+	(bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64)
+	(bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
+	(bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum)
+	(bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib)
+	(bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab)
+	(bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
+	(bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
+	(bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment)
+	(bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64)
+	(bfd_mach_o_read_command): Now return a boolean status.
+	Adjust return statements.
+	(bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests.
+	(bfd_mach_o_core_file_failing_command): Remove useless initialization.
+
+2014-04-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
+	field.  Add assigned_low_gotno and assigned_high_gotno fields.
+	(mips_elf_create_local_got_entry): Update out-of-space condition.
+	Set index of new GOT entry to assigned_low_gotno if required by
+	the current relocation, else set it to assigned_high_gotno.
+	(mips_elf_set_global_gotidx): Replace uses of assigned_gotno
+	with assigned_low_gotno.
+	(mips_elf_multi_got): Initialize assigned_low_gotno and
+	assigned_high_gotno in secondary GOTs.  Use assigned_low_gotno
+	in place of assigned_gotno when handling global GOT entries.
+	(mips_elf_lay_out_got): Initialize assigned_low_gotno and
+	assigned_high_gotno.
+	(_bfd_mips_elf_finish_dynamic_sections): Account for a possible
+	gap in the middle of local GOT space.
+
+2014-04-17  Alan Modra  <amodra@gmail.com>
+
+	PR 16846
+	* elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when
+	current bfd is a plugin.  Don't always set type_change_ok
+	when old bfd is a plugin.
+
+2014-04-16  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
+	flag.
+
+2014-04-16  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
+	with "ba 0" rather than zeros.
+
+2014-04-15  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+	* (elfNN_aarch64_tls_relax): Fix instruction mask.
+
+2014-04-14  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (BA): Define
+	(ppc_elf_link_hash_table_create): Correct default_params.
+	(write_glink_stub): Pad small plt call stub with "ba 0" rather
+	than "nop" for ppc476_workaround.
+	(ppc_elf_finish_dynamic_sections): Likewise for branch table
+	and __glink_PLTresolve.  Ensure plt call stub at end of page
+	doesn't allow fall-thru prefetch.
+
+2014-04-11  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/16821
+	* peXXigen.c (abs_finder): New function.
+	(_bfd_XXi_swap_sym_out): For absolute symbols with values larger
+	than 1^32 try to convert them into section relative values
+	instead.
+
+2014-04-11  Nick Clifton  <nickc@redhat.com>
+
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2014-04-10  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
+	when building function stubs.
+
+2014-04-10  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	* elf32-avr.c: Add DIFF relocations for AVR.
+	(avr_final_link_relocate): Handle the DIFF relocs.
+	(bfd_elf_avr_diff_reloc): New.
+	(elf32_avr_is_diff_reloc): New.
+	(elf32_avr_adjust_diff_reloc_value): Reduce difference value.
+	(elf32_avr_relax_delete_bytes): Recompute difference after deleting
+	bytes.
+
+	* reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
+
+2014-04-09  Alan Modra  <amodra@gmail.com>
+
+	* libcoff.h: Regenerate.
+
+2014-04-09  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list
+	of safe ppc476 insns at end of page.  Also remove non-branch insns.
+	Expand comments.
+
+2014-04-08  Jon Turney  <jon.turney@dronecode.org.uk>
+
+	* peXXigen.c (pe_print_debugdata): New function: Displays the
+	contents of the debug directory and decodes codeview entries.
+	(_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
+	(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
+	Add functions for reading and writing debugdir and codeview
+	records.
+	* libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
+	(_bfd_XXi_write_codeview_record): Add prototypes and macros.
+	* libcoff-in.h (pe_tdata): Add build-id data.
+	* libcoff.h: Regenerate.
+	* coffcode.h (coff_write_object_contents): Run build_id
+	after_write_object_contents hook.
+
+2014-04-05  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when
+	merging non-default sym.
+
+2014-04-04  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
+	configured for.
+
+2014-04-04  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
+	thinko on names length.
+
+2014-04-04  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
+	of output_section.
+	* mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
+
+2014-04-04  Tristan Gingold  <gingold@adacore.com>
+
+	* bfd.c (bfd_get_arch_size): Default is taken from arch.
+
+2014-04-03  Jon Turney  <jon.turney@dronecode.org.uk>
+
+	* peXXigen.c (pe_print_edata): Verify edt.name lies inside
+	section before dereferencing.
+	(pe_print_idata, pe_print_edata, pe_print_reloc)
+	(rsrc_print_section): Don't bother interpreting the contents
+	of sections which have no contents.
+
+2014-04-03  Maria Guseva  <m.guseva@samsung.com>
+
+	PR ld/16803
+	* elf.c (_bfd_elf_set_section_contents): Use correct type to hold
+	file position.
+
+2014-04-03  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.c (bfd_mach_o_mangle_symbols): Use index from
+	output_section.
+	(bfd_mach_o_build_seg_command): Add comment.  Realign segment.
+	Fix style.
+	(bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
+
+2014-04-03  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct elf_backend_data
+	<elf_backend_bfd_from_remote_memory>): Replace "size_t size"
+	with "bfd_size_type size".
+	(_bfd_elf32_bfd_from_remote_memory): Likewise.
+	(_bfd_elf64_bfd_from_remote_memory): Likewise.
+	* elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
+	* elfcode.h (bfd_from_remote_memory): Likewise.
+	* bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
+	* bfd-in2.h: Regenerate.
+
+2014-04-02  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.h (bfd_mach_o_twolevel_hints_command)
+	(bfd_mach_o_prebind_cksum_command): New types.
+	(bfd_mach_o_prebound_dylib_command): Rewrite.
+	(bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
+	fields.
+	* mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
+	command.
+	(bfd_mach_o_read_prebind_cksum): New function.
+	(bfd_mach_o_read_twolevel_hints): Ditto.
+	(bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
+	commands.
+
+2014-04-02  Alan Modra  <amodra@gmail.com>
+
+	* elfcode.h (bfd_from_remote_memory): Add "size" parameter.
+	Consolidate code handling possible section headers past end of
+	segment.  Don't use p_align for page size guess, instead use
+	minpagesize.  Take note of ld.so clearing section headers when
+	p_memsz > p_filesz.  Handle file header specifying no section
+	headers.  Handle zero p_align throughout.  Default loadbase to
+	zero.  Add comments.  Rename contents_size to high_offset, and
+	make it a bfd_vma.  Delete unnecessary bfd_set_error calls.
+	* bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
+	* elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
+	Likewise.
+	(_bfd_elf32_bfd_from_remote_memory): Likewise.
+	(_bfd_elf64_bfd_from_remote_memory): Likewise.
+	* elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
+	* bfd-in2.h: Regnerate.
+
+2014-04-01  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
+	when num == 0.
+
+2014-03-27  Yury Gribov  <y.gribov@samsung.com>
+	    Pavel Fedin  <p.fedin@samsung.com>
+
+	* elf32-arm.c: Add support for limited pretty-printing of PLT
+	entries on eabi and nacl targets.
+	(elf32_arm_get_synthetic_symtab): Add new callback.
+	(elf32_arm_nacl_plt_sym_val): Likewise.
+	(elf32_arm_plt0_size): Add helper function.
+	(elf32_arm_plt_size): Likewise.
+
+2014-03-27  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
+	(bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
+
+2014-03-27  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.h (bfd_mach_o_get_base_address): New prototype.
+	* mach-o.c (bfd_mach_o_write_symtab)
+	(bfd_mach_o_write_contents)
+	(bfd_mach_o_set_section_flags_from_bfd)
+	(bfd_mach_o_build_seg_command): Fix indentation.
+	(bfd_mach_o_get_base_address): New function.
+
+2014-03-26  Nick Clifton  <nickc@redhat.com>
+
+	* cofflink.c (_bfd_coff_generic_relocate_section): Skip
+	relocations in discarded sections.
+
+2014-03-26  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.c (bfd_mach_o_convert_architecture): Add
+	BFD_MACH_O_CPU_TYPE_ARM64.
+
+2014-03-26  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
+	needed plt entries when taking the address of functions for
+	abiversion == 0 (ie. unknown) as well as abiversion == 2.
+	Move opd setup and abiversion checks to..
+	(ppc64_elf_before_check_relocs): ..here.  Renamed from
+	ppc64_elf_process_dot_syms.  Set output abiversion from input and
+	input abiversion from output, if either is not set.
+	(ppc64_elf_merge_private_bfd_data): Don't merge flags here.
+	(elf_backend_check_directives): Update.
+
+2014-03-25  Will Newton  <will.newton@linaro.org>
+
+	 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
+	 Set value of DT_PLTRELSZ and DT_RELASZ based on the size
+	 of input sections rather than output sections.
+
+2014-03-20  Will Newton  <will.newton@linaro.org>
+
+	PR ld/16715
+	* elf32-arm.c (elf32_arm_check_relocs): Set
+	pointer_equality_needed for absolute references within
+	executable links.
+	(elf32_arm_finish_dynamic_symbol): Set st_value to zero
+	unless pointer_equality_needed is set.
+
+2014-03-19  Nick Clifton  <nickc@redhat.com>
+
+	* peXXigen.c (rsrc_process_section): Add code to scan input
+	sections and record their lengths.  Use these lengths to find the
+	start of each merged .rsrc section.
+
+2014-03-17  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
+	(bfd_mach_o_read_command): Ditto.
+
+2014-03-14  Meador Inge  <meadori@codesourcery.com>
+
+	* configure.in: Add strnlen to AC_CHECK_DECLS.
+	* config.in: Regenerate.
+	* configure: Regenerate.
+	* sysdep.h (strnlen): Add prototype.
+
+2014-03-14  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
+	handling for VLE_SDA21 relocs.
+
+2014-03-13  Tristan Gingold  <gingold@adacore.com>
+
+	* peicode.h (pe_ILF_object_p): Adjust, as the version number
+	has been read.
+	(pe_bfd_object_p): Also read version number to detect ILF.
+	* pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
+	(x86_64pe_bigobj_vec): Define
+	* coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
+	(bfd_coff_max_nscns): New macro.
+	(coff_compute_section_file_positions): Use unsigned int for
+	target_index.  Compare with bfd_coff_max_nscns.
+	(bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
+	Set a value for _bfd_coff_max_nscns.
+	(header_bigobj_classid): New constant.
+	(coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
+	(coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
+	(coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
+	functions.
+	(bigobj_swap_table): New table.
+	* libcoff.h: Regenerate.
+	* coff-sh.c (bfd_coff_small_swap_table): Likewise.
+	* coff-alpha.c (alpha_ecoff_backend_data): Add value for
+	_bfd_coff_max_nscns.
+	* coff-mips.c (mips_ecoff_backend_data): Likewise.
+	* coff-rs6000.c (bfd_xcoff_backend_data)
+	(bfd_pmac_xcoff_backend_data): Likewise.
+	* coff64-rs6000.c (bfd_xcoff_backend_data)
+	(bfd_xcoff_aix5_backend_data): Likewise.
+	* targets.c (x86_64pe_bigobj_vec): Declare.
+	* configure.in (x86_64pe_bigobj_vec): New vector.
+	* configure: Regenerate.
+	* config.bfd: Add bigobj object format for Windows targets.
+
+2014-03-12  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/16671
+	* elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
+	before testing for vxworks.
+
+2014-03-12  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.in: Regenerate.
+
+2014-03-12  Alan Modra  <amodra@gmail.com>
+
+	PR 16690
+	* elf.c (copy_elf_program_header): Ignore first section lma if
+	non-alloc.
+
+2014-03-11  Alan Modra  <amodra@gmail.com>
+
+	PR 16686
+	* coff-rs6000.c: Include stdint.h.
+	* coff64-rs6000.c: Likewise.
+
+2014-03-10  Tristan Gingold  <gingold@adacore.com>
+
+	* ticoff.h: Removed.
+
+2014-03-08  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
+	many relocations.  Correct bitsize and rightshift too for a number
+	of VLE relocs.  Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
+	Correct dst_mask on R_PPC_VLE_SDA21_LO.
+	(ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
+	(ppc_elf_relocate_section): Modify overflow test for 16-bit
+	fields in instructions to signed/unsigned according to whether
+	the field takes a signed or unsigned value.  Tidy vle split16 code.
+	Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
+
+2014-03-08  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
+	for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
+	R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
+	R_PPC64_REL16 entries.  Use complain_overflow_dont for R_PPC64_TOC.
+	(ppc64_elf_relocate_section): Modify overflow test for 16-bit
+	fields in instructions to signed/unsigned according to whether
+	the field takes a signed or unsigned value.
+
+2014-03-07  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/16696
+	* rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
+	through ptr_to_uint instead of through long.
+
+2014-03-06  Nick Clifton  <nickc@redhat.com>
+
+	PR 16664
+	* elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
+	attribute section names.
+
+2014-03-05  Alan Modra  <amodra@gmail.com>
+
+	Update copyright years.
+
+2014-03-05  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
+	(ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
+	(ppc64_elf_check_relocs): Likewise.
+	(ppc64_elf_relocate_section): Likewise.
+	* Add BFD_RELOC_PPC64_ADDR64_LOCAL.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2014-03-04  Heiher  <r@hev.cc>
+
+	* elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
+	Loongson-3A.
+	(mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
+	extension of bfd_mach_mipsisa64r2.
+
+2014-03-04  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/16017
+	* elf32-arm.c (elf32_thumb2_plt0_entry): New array.
+	(elf32_thumb2_plt_entry): New array.
+	(elf32_arm_create_dynamic_sections): Set PLT entry sizes when
+	using thumb2 based PLT.
+	(elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
+	entries.
+	(elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
+	PLT entries.
+	(elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
+	based PLT 0-entry.
+	(elf32_arm_output_plt_map_1): Handle creation of local symbols for
+	Thumb2 based PLT 0-entry.
+	(elf32_arm_output_arch_local_syms): Handle creation of local
+	symbols for Thumb2 based PLT entries.
+
+2014-02-28  Alan Modra  <amodra@gmail.com>
+
+	PR ld/16643
+	* elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
+	the same conditions we called check_relocs.
+
+2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
+
+	* bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
+	* bfd-in2.h: Regenerate.
+	* elf32-arm.c (elf32_arm_plt_entry_long): New array.
+	(elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
+	using long PLT entries.
+	(bfd_elf32_arm_use_long_plt): New function.
+	(elf32_arm_populate_plt_entry): Add support for long PLT entries.
+
+2014-02-27  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
+	params for targets that don't use ppc32elf.em.
+
+2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	* elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
+	of GOTOFF relocations.
+
+2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
+	(elf_x86_64_legacy_plt_entry): Likewise.
+	(elf_x86_64_bnd_plt_entry): Likewise.
+	(elf_x86_64_legacy_plt2_entry): Likewise.
+	(elf_x86_64_bnd_plt2_entry): Likewise.
+	(elf_x86_64_bnd_arch_bed): Likewise.
+	(elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
+	(elf_x86_64_link_hash_table): Add plt_bnd.
+	(elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
+	plt_bnd.
+	(elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
+	(elf_x86_64_check_relocs): Create the second PLT for Intel MPX
+	in 64-bit mode.
+	(elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
+	symbols.  Resolve call to the second PLT if it is created.
+	(elf_x86_64_size_dynamic_sections): Keep the second PLT section.
+	(elf_x86_64_relocate_section): Resolve PLT references to the
+	second PLT if it is created.
+	(elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
+	second PLT entry for BND relocation.
+	(elf_x86_64_finish_dynamic_sections): Use MPX backend data if
+	the second PLT is created.
+	(elf_x86_64_get_synthetic_symtab): New.
+	(bfd_elf64_get_synthetic_symtab): Likewise.  Undefine for NaCl.
+
+2014-02-19  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
+	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
+	provision of out-of-line register save/restore routines.
+
+2014-02-18  Jack Carter  <jack.carter@imgtec.com>
+
+	* elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
+	PT_DYNAMIC segment flags.
+
+2014-02-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR binutils/16595
+	* simple.c (struct saved_offsets): New.
+	(simple_save_output_info): Use it for ptr.
+	(simple_restore_output_info): Use it for ptr.  Check section_count.
+	(bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
+
+2014-02-17  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.h (struct ppc64_elf_params): Define.
+	(ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
+	ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
+	ppc64_elf_build_stubs): Update prototype.
+	* elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
+	fields now in params.  Adjust code throughout file.
+	(ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
+	Save params pointer in htab.
+	(ppc64_elf_edit_opd, ppc64_elf_tls_setup,
+	ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
+	ppc64_elf_build_stubs): Remove parameters now in "params".
+
+2014-02-17  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
+	patched for ppc476 workaround.  Reapply branch taken/not taken
+	relocs.
+
+2014-02-12  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
+	stubs for calls to __tls_get_addr that we know will later be
+	optimised away.
+
+2014-02-12  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
+	for ld -r, when code sections are sufficiently aligned.
+	* elf32-ppc.h (struct ppc_elf_params): Delete pagesize.  Add
+	pagesize_p2.
+
+2014-02-12  Alan Modra  <amodra@gmail.com>
+
+	PR gold/15530
+	* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
+	--export-dynamic and --dynamic-list marking of symbols.
+	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
+	cheap tests first.
+
+2014-02-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR gold/16530
+	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
+	executables if it matches dynamic_list.
+
+2014-02-10  Alan Modra  <amodra@gmail.com>
+
+	* po/SRC-POTFILES.in: Regenerate.
+	* po/bfd.pot: Regenerate.
+
+2014-02-09  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
+	* elfxx-target.h (elf_backend_caches_rawsize): Define.
+	(elfNN_bed): Init new field.
+	* elflink.c (elf_link_input_bfd): Handle caches_rawsize.
+	* elf32-ppc.c (shared_stub_entry): Zero addi offset.
+	(ppc_elf_relax_section): Don't reallocate section here, write
+	stubs, or write out relocs for ld -r here..
+	(ppc_elf_relocate_section): ..instead write stubs here, and use
+	existing code to write out relocs for ld -r.  Fix offset
+	adjustment on reloc for little-endian.
+	(elf_backend_caches_rawsize): Define.
+
+2014-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	PR build/16550
+	* cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
+
+2014-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
+	return paths.  Three times.
+	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
+	return paths.
+	(ppc64_elf_tls_optimize): Free TOC_REF in return path.
+	(ppc64_elf_edit_toc): Free USED in return path.
+
+2014-02-03  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
+	(BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
+	* libbfd.h: Regenerated.
+	* bfd-in2.h: Regenerated.
+	* elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
+	(nios2_reloc_map): Likewise.
+	(GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
+	Fixed all references.
+	(nios2_elf32_relocate_section): Add new relocations.
+	(nios2_elf32_check_relocs): Likewise.
+	(nios2_elf32_gc_sweep_hook): Likewise.
+
+2014-02-03  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
+	Delete emit_stub_syms, no_tls_get_addr_opt.  Update all uses.
+	(ppc_elf_link_params): New function.
+	(ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
+	workaround.
+	(ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
+	parameters.  Use htab->params instead.
+	(ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
+	(ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
+	64 bytes for ppc476 workaround.
+	(struct ppc_elf_relax_info): New.
+	(ppc_elf_relax_section): Exclude linker created sections and
+	those too small to hold one instruction.  Don't add another
+	branch around trampolines on later relax passes.  Don't
+	generate trampolines for undefined symbols when !relocatable,
+	nor for plugin symbols.  Allocate space for ppc476 workaround
+	patch area.  Free fixups on error return path.
+	(ppc_elf_relocate_section): Handle ppc476 workaround patching.
+	* elf32-ppc.h (struct ppc_elf_params): New.
+	(ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
+	(ppc_elf_link_params): Declare.
+	* section.c (SEC_INFO_TYPE_TARGET): Define.
+	* bfd-in2.h: Regenerate.
+
+2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
+	h_gp_got field.
+	(nios2_elf32_relocate_section): Use got_base to adjust
+	GOT-pointer-relative relocations relative to _gp_got.
+	(create_got_section): Create _gp_got symbol.
+	(nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
+	(nios2_elf32_size_dynamic_sections): Set _gp_got offset.
+
+2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* bfd-in2.h: Update from reloc.c.
+	* elf32-nios2.c: Include elf32-nios2.h.
+	(elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
+	(nios2_reloc_map): Likewise.
+	(enum elf32_nios2_stub_type): Declare.
+	(struct elf32_nios2_stub_hash_entry): Declare.
+	(nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
+	(struct elf32_nios2_link_hash_entry): Add hsh_cache field.
+	(struct elf32_nios2_link_hash_table): Add new fields bstab,
+	stub_bfd, add_stub_section, layout_sections_again, stub_group,
+	bfd_count, top_index, input_list, all_local_syms.
+	(nios2_call26_stub_entry): New.
+	(nios2_elf32_install_imm16): Move up in file.
+	(nios2_elf32_install_data): Move up in file.
+	(hiadj): Move up in file.
+	(stub_hash_newfunc): New.
+	(link_hash_newfunc): Initialize hsh_cache field.
+	(STUB_SUFFIX): New.
+	(nios2_stub_name): New.
+	(nios2_get_stub_entry): New.
+	(nios2_add_stub): New.
+	(nios2_elf32_setup_section_lists): New.
+	(nios2_elf32_next_input_section): New.
+	(CALL26_SEGMENT): New.
+	(MAX_STUB_SECTION_SIZE): New.
+	(group_sections): New.
+	(nios2_type_of_stub): New.
+	(nios2_build_one_stub): New.
+	(nios2_size_one_stub): New.
+	(get_local_syms): New.
+	(nios2_elf32_size_stubs): New.
+	(nios2_elf32_build_stubs): New.
+	(nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
+	(nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT.  Add
+	trampolines for R_NIOS2_CALL26 stubs.
+	(nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
+	(nios2_elf32_gc_sweep_hook): Likewise.
+	(nios2_elf32_link_hash_table_create): Initialize the stub hash table.
+	(nios2_elf32_link_hash_table_free): New.
+	(bfd_elf32_bfd_link_hash_table_free): Define.
+	* elf32-nios2.h: New file.
+	* libbfd.h: Update from reloc.c.
+	* reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
+
+2014-01-29  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/16318
+	* elf32-metag.c (elf_metag_post_process_headers): Call
+	_bfd_elf_post_process_headers.
+	* elf32-sh64.c (sh64_elf_copy_private_data): Call
+	_bfd_elf_copy_private_data.
+	* elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
+
+2014-01-29  Nick Clifton  <nickc@redhat.com>
+
+	* bfd-in.h (bfd_set_section_vma): Delete.
+	(bfd_set_section_alignment): Delete.
+	(bfd_set_section_userdata): Delete.
+	(bfd_set_cacheable): Delete.
+	* bfd.c (bfd_set_cacheable): New static inline function.
+	* section.c (bfd_set_section_userdata): Likewise.
+	(bfd_set_section_vma): Likewise.
+	(bfd_set_section_alignment): Likewise.
+	* bfd-in2.h: Regenerate.
+
+2014-01-28  Nick Clifton  <nickc@redhat.com>
+
+	* dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
+	attributes select the CU containing the abbreviation, which may not
+	be the current CU.
+
+2014-01-24  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
+	to get_relocs for ELFv2.
+
+2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/16498
+	* elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
+	if TLS sections are not adjacent.
+
+2014-01-22  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
+
+2014-01-22  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (STK_LINKER): Comment typo fix.
+
+2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/16467
+	* elflink.c (_bfd_elf_merge_symbol): When types of the existing
+	regular default symbol definition and the versioned dynamic
+	symbol definition mismatch, skip the default symbol definition
+	if one of them is IFUNC.
+
+2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/2404
+	* elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
+	info->export_dynamic nor h->ref_dynamic for type mismatch when
+	adding the default version.
+
+2014-01-16  Alan Modra  <amodra@gmail.com>
+
+	* elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
+	mips_elf_traverse_got_arg* rather than mips_got_info*.
+	Adjust caller.  Alloc on output_bfd rather than symbol section
+	owner.
+
+2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
+	change.
+	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
+
+2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/16428
+	* elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
+	against __ehdr_start.
+	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
+
+2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
+	change.
+	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
+
+2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/16428
+	* elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
+	count if there are any non pc-relative relocs.
+	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
+
+2014-01-14  Michael Hudson-Doyle  <michael.hudson@linaro.org>
+	    Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
+
+	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
+	offset while calculating relocation address.
+	(elfNN_aarch64_create_small_pltn_entry): Likewise.
+	(elfNN_aarch64_init_small_plt0_entry): Likewise.
+
+2014-01-13  Ma Jiang  <ma.jiang@zte.com.cn>
+
+	PR ld/16202
+	* elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
+	R_ARM_ABS8 and R_ARM_ABS16.
+
+2014-01-13  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
+	error when shared and force a plt call otherwise.
+	(ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
+	plt_type == PLT_NEW.
+	(ppc_elf_relocate_section): Add missing test to resolve ifuncs to
+	the appropriate call stub.
+
+2014-01-10  Alan Modra  <amodra@gmail.com>
+
+	PR ld/14207
+	PR ld/16322
+	PR binutils/16323
+	* elf.c (assign_file_positions_for_load_sections): Revert last change.
+	(assign_file_positions_for_non_load_sections): When setting up
+	PT_GNU_RELRO header, don't require a corresponding PT_LOAD
+	header that completely covers the relro region.
+
+2014-01-09  Tristan Gingold  <gingold@adacore.com>
+
+	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
+	table macros and add macros to initializa the structure.
+
+2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/14207
+	PR ld/16322
+	PR binutils/16323
+	* elf.c (_bfd_elf_map_sections_to_segments): Don't check section
+	size for PT_GNU_RELRO segment.
+	(assign_file_positions_for_load_sections): If PT_LOAD segment
+	doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
+
+2014-01-07  Tom Tromey  <tromey@redhat.com>
+
+	* elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
+	wrappers.
+
+2014-01-03  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/16199
+	* elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
+	zero.
+
+2014-01-02  Yuanhui Zhang  <asmwarrior@gmail.com>
+
+	PR binutils/14289
+	* pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
+
+2014-01-02  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/11983
+	* archive.c (_bfd_get_elt_at_filepos): Store a copy of the
+	filename in the bfd's filename field.
+	* elfcode.h (bfd_from_remote_memory): Likewise.
+	* ieee.c (ieee_object_p): Likewise.
+	* mach-o.c (bfd_mach_o_fat_member_init): Likewise.
+	* oasys.c (oasys_openr_next_archived_file): Likewise.
+	* vms-lib.c (_bfd_vms_lib_get_module): Likewise.
+	* opncls.c (bfd_fopen): Likewise.
+	(bfd_openstreamr): Likewise.
+	(bfd_openr_iovec): Likewise.
+	(bfd_openw): Likewise.
+	(bfd_create): Likewise.
+	(_bfd_delete_bfd): Free filename.
+
+For older changes see ChangeLog-2013
+
+Copyright (C) 2014 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cisco-core.c ./bfd/cisco-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cisco-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cisco-core.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for CISCO crash dumps.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff64-rs6000.c ./bfd/coff64-rs6000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff64-rs6000.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff64-rs6000.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for IBM RS/6000 "XCOFF64" files.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Written Clinton Popetz.
    Contributed by Cygnus Support.
 
@@ -2712,12 +2712,12 @@ const bfd_target rs6000_xcoff64_vec =
     coff_make_empty_symbol,
     coff_print_symbol,
     coff_get_symbol_info,
+    coff_get_symbol_version_string,
     _bfd_xcoff_is_local_label_name,
     coff_bfd_is_target_special_symbol,
     coff_get_lineno,
     coff_find_nearest_line,
-    _bfd_generic_find_nearest_line_discriminator,
-    _bfd_generic_find_line,
+    coff_find_line,
     coff_find_inliner_info,
     coff_bfd_make_debug_symbol,
     _bfd_generic_read_minisymbols,
@@ -2738,7 +2738,6 @@ const bfd_target rs6000_xcoff64_vec =
     bfd_generic_get_relocated_section_contents,
     bfd_generic_relax_section,
     _bfd_xcoff_bfd_link_hash_table_create,
-    _bfd_generic_link_hash_table_free,
     _bfd_xcoff_bfd_link_add_symbols,
     _bfd_generic_link_just_syms,
     _bfd_generic_copy_link_hash_symbol_type,
@@ -2971,12 +2970,12 @@ const bfd_target rs6000_xcoff64_aix_vec 
     coff_make_empty_symbol,
     coff_print_symbol,
     coff_get_symbol_info,
+    coff_get_symbol_version_string,
     _bfd_xcoff_is_local_label_name,
     coff_bfd_is_target_special_symbol,
     coff_get_lineno,
     coff_find_nearest_line,
-    _bfd_generic_find_nearest_line_discriminator,
-    _bfd_generic_find_line,
+    coff_find_line,
     coff_find_inliner_info,
     coff_bfd_make_debug_symbol,
     _bfd_generic_read_minisymbols,
@@ -2997,7 +2996,6 @@ const bfd_target rs6000_xcoff64_aix_vec 
     bfd_generic_get_relocated_section_contents,
     bfd_generic_relax_section,
     _bfd_xcoff_bfd_link_hash_table_create,
-    _bfd_generic_link_hash_table_free,
     _bfd_xcoff_bfd_link_add_symbols,
     _bfd_generic_link_just_syms,
     _bfd_generic_copy_link_hash_symbol_type,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-alpha.c ./bfd/coff-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-alpha.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-alpha.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for ALPHA Extended-Coff files.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Modified from coff-mips.c by Steve Chamberlain <sac@cygnus.com> and
    Ian Lance Taylor <ian@cygnus.com>.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-apollo.c ./bfd/coff-apollo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-apollo.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-apollo.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Apollo 68000 COFF binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    By Troy Rollo (troy@cbme.unsw.edu.au)
    Based on m68k standard COFF version Written by Cygnus Support.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-arm.c ./bfd/coff-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-arm.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-arm.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for ARM COFF files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-aux.c ./bfd/coff-aux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-aux.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-aux.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Apple M68K COFF A/UX 3.x files.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Richard Henderson <rth@tamu.edu>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -73,20 +73,17 @@ coff_m68k_aux_link_add_one_symbol (struc
 				   bfd_boolean collect,
 				   struct bfd_link_hash_entry **hashp)
 {
-  struct bfd_link_hash_entry *h;
+  struct bfd_link_hash_entry *h, *inh, *t;
 
-  if ((flags & (BSF_WARNING | BSF_CONSTRUCTOR | BSF_WEAK)) == 0 &&
-      !bfd_is_und_section (section) &&
-      !bfd_is_com_section (section))
+  if ((flags & (BSF_WARNING | BSF_CONSTRUCTOR | BSF_WEAK)) == 0
+      && !bfd_is_und_section (section)
+      && !bfd_is_com_section (section))
     {
       /* The new symbol is a definition or an indirect definition */
 
       /* This bit copied from linker.c */
       if (hashp != NULL && *hashp != NULL)
-	{
-	  h = *hashp;
-	  BFD_ASSERT (strcmp (h->root.string, name) == 0);
-	}
+	h = *hashp;
       else
 	{
 	  h = bfd_link_hash_lookup (info->hash, name, TRUE, copy, FALSE);
@@ -98,37 +95,46 @@ coff_m68k_aux_link_add_one_symbol (struc
 	    }
 	}
 
-      if (info->notice_hash != (struct bfd_hash_table *) NULL
-	  && (bfd_hash_lookup (info->notice_hash, name, FALSE, FALSE)
-	      != (struct bfd_hash_entry *) NULL))
-	{
-	  if (! (*info->callbacks->notice) (info, h, abfd, section, value,
-					    flags, string))
-	    return FALSE;
-	}
-
       if (hashp != (struct bfd_link_hash_entry **) NULL)
 	*hashp = h;
       /* end duplication from linker.c */
 
-      if (h->type == bfd_link_hash_defined
-	  || h->type == bfd_link_hash_indirect)
+      t = h;
+      inh = NULL;
+      if (h->type == bfd_link_hash_indirect)
 	{
-	  asection *msec;
+	  inh = h->u.i.link;
+	  t = inh;
+	}
 
-	  if (h->type == bfd_link_hash_defined)
-	    msec = h->u.def.section;
-	  else
-	    msec = bfd_ind_section_ptr;
+      if (t->type == bfd_link_hash_defined)
+	{
+	  asection *msec = t->u.def.section;
+	  bfd_boolean special = FALSE;
 
 	  if (bfd_is_abs_section (msec) && !bfd_is_abs_section (section))
 	    {
-	      h->u.def.section = section;
-	      h->u.def.value = value;
-	      return TRUE;
+	      t->u.def.section = section;
+	      t->u.def.value = value;
+	      special = TRUE;
 	    }
 	  else if (bfd_is_abs_section (section) && !bfd_is_abs_section (msec))
-	    return TRUE;
+	    special = TRUE;
+
+	  if (special)
+	    {
+	      if (info->notice_all
+		  || (info->notice_hash != NULL
+		      && bfd_hash_lookup (info->notice_hash, name,
+					  FALSE, FALSE) != NULL))
+		{
+		  if (!(*info->callbacks->notice) (info, h, inh,
+						   abfd, section, value, flags))
+		    return FALSE;
+		}
+
+	      return TRUE;
+	    }
 	}
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-bfd.c ./bfd/coff-bfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-bfd.c	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/coff-bfd.c	2015-01-20 02:05:35.000000000 +0000
@@ -0,0 +1,99 @@
+/* BFD COFF interfaces used outside of BFD.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
+   Written by Cygnus Support.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "libbfd.h"
+#include "coff/internal.h"
+#include "libcoff.h"
+
+/* Return the COFF syment for a symbol.  */
+
+bfd_boolean
+bfd_coff_get_syment (bfd *abfd,
+		     asymbol *symbol,
+		     struct internal_syment *psyment)
+{
+  coff_symbol_type *csym;
+
+  csym = coff_symbol_from (symbol);
+  if (csym == NULL || csym->native == NULL
+      || ! csym->native->is_sym)
+    {
+      bfd_set_error (bfd_error_invalid_operation);
+      return FALSE;
+    }
+
+  *psyment = csym->native->u.syment;
+
+  if (csym->native->fix_value)
+    psyment->n_value = psyment->n_value -
+      (bfd_hostptr_t) obj_raw_syments (abfd);
+
+  /* FIXME: We should handle fix_line here.  */
+
+  return TRUE;
+}
+
+/* Return the COFF auxent for a symbol.  */
+
+bfd_boolean
+bfd_coff_get_auxent (bfd *abfd,
+		     asymbol *symbol,
+		     int indx,
+		     union internal_auxent *pauxent)
+{
+  coff_symbol_type *csym;
+  combined_entry_type *ent;
+
+  csym = coff_symbol_from (symbol);
+
+  if (csym == NULL
+      || csym->native == NULL
+      || ! csym->native->is_sym
+      || indx >= csym->native->u.syment.n_numaux)
+    {
+      bfd_set_error (bfd_error_invalid_operation);
+      return FALSE;
+    }
+
+  ent = csym->native + indx + 1;
+
+  BFD_ASSERT (! ent->is_sym);
+  *pauxent = ent->u.auxent;
+
+  if (ent->fix_tag)
+    pauxent->x_sym.x_tagndx.l =
+      ((combined_entry_type *) pauxent->x_sym.x_tagndx.p
+       - obj_raw_syments (abfd));
+
+  if (ent->fix_end)
+    pauxent->x_sym.x_fcnary.x_fcn.x_endndx.l =
+      ((combined_entry_type *) pauxent->x_sym.x_fcnary.x_fcn.x_endndx.p
+       - obj_raw_syments (abfd));
+
+  if (ent->fix_scnlen)
+    pauxent->x_csect.x_scnlen.l =
+      ((combined_entry_type *) pauxent->x_csect.x_scnlen.p
+       - obj_raw_syments (abfd));
+
+  return TRUE;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-bfd.h ./bfd/coff-bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-bfd.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/coff-bfd.h	2015-01-20 02:05:35.000000000 +0000
@@ -0,0 +1,86 @@
+/* BFD COFF interfaces used outside of BFD.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
+   Written by Cygnus Support.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+/* This structure is used for a comdat section, as in PE.  A comdat
+   section is associated with a particular symbol.  When the linker
+   sees a comdat section, it keeps only one of the sections with a
+   given name and associated with a given symbol.  */
+
+struct coff_comdat_info
+{
+  /* The name of the symbol associated with a comdat section.  */
+  const char *name;
+
+  /* The local symbol table index of the symbol associated with a
+     comdat section.  This is only meaningful to the object file format
+     specific code; it is not an index into the list returned by
+     bfd_canonicalize_symtab.  */
+  long symbol;
+};
+
+/* The used_by_bfd field of a section may be set to a pointer to this
+   structure.  */
+
+struct coff_section_tdata
+{
+  /* The relocs, swapped into COFF internal form.  This may be NULL.  */
+  struct internal_reloc *relocs;
+  /* If this is TRUE, the relocs entry may not be freed.  */
+  bfd_boolean keep_relocs;
+  /* The section contents.  This may be NULL.  */
+  bfd_byte *contents;
+  /* If this is TRUE, the contents entry may not be freed.  */
+  bfd_boolean keep_contents;
+  /* Information cached by coff_find_nearest_line.  */
+  bfd_vma offset;
+  unsigned int i;
+  const char *function;
+  /* Optional information about a COMDAT entry; NULL if not COMDAT. */
+  struct coff_comdat_info *comdat;
+  int line_base;
+  /* A pointer used for .stab linking optimizations.  */
+  void * stab_info;
+  /* Available for individual backends.  */
+  void * tdata;
+};
+
+/* An accessor macro for the coff_section_tdata structure.  */
+#define coff_section_data(abfd, sec) \
+  ((struct coff_section_tdata *) (sec)->used_by_bfd)
+
+#define bfd_coff_get_comdat_section(abfd, sec)		\
+  ((bfd_get_flavour (abfd) == bfd_target_coff_flavour	\
+    && coff_section_data (abfd, sec) != NULL)		\
+   ? coff_section_data (abfd, sec)->comdat : NULL)
+
+#define coff_symbol_from(symbol)			\
+  ((bfd_family_coff (bfd_asymbol_bfd (symbol))		\
+    && bfd_asymbol_bfd (symbol)->tdata.coff_obj_data)	\
+   ? (coff_symbol_type *) (symbol) : NULL)
+
+struct internal_syment;
+union internal_auxent;
+
+extern bfd_boolean bfd_coff_get_syment
+  (bfd *, struct bfd_symbol *, struct internal_syment *);
+
+extern bfd_boolean bfd_coff_get_auxent
+  (bfd *, struct bfd_symbol *, int, union internal_auxent *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coffcode.h ./bfd/coffcode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coffcode.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coffcode.h	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for the generic parts of most COFF variants, for BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -307,7 +307,7 @@ CODE_FRAGMENT
 .typedef struct coff_ptr_struct
 .{
 .  {* Remembers the offset from the first symbol in the file for
-.     this symbol. Generated by coff_renumber_symbols. *}
+.     this symbol. Generated by coff_renumber_symbols.  *}
 .  unsigned int offset;
 .
 .  {* Should the value of this symbol be renumbered.  Used for
@@ -315,15 +315,15 @@ CODE_FRAGMENT
 .  unsigned int fix_value : 1;
 .
 .  {* Should the tag field of this symbol be renumbered.
-.     Created by coff_pointerize_aux. *}
+.     Created by coff_pointerize_aux.  *}
 .  unsigned int fix_tag : 1;
 .
 .  {* Should the endidx field of this symbol be renumbered.
-.     Created by coff_pointerize_aux. *}
+.     Created by coff_pointerize_aux.  *}
 .  unsigned int fix_end : 1;
 .
 .  {* Should the x_csect.x_scnlen field be renumbered.
-.     Created by coff_pointerize_aux. *}
+.     Created by coff_pointerize_aux.  *}
 .  unsigned int fix_scnlen : 1;
 .
 .  {* Fix up an XCOFF C_BINCL/C_EINCL symbol.  The value is the
@@ -331,12 +331,15 @@ CODE_FRAGMENT
 .  unsigned int fix_line : 1;
 .
 .  {* The container for the symbol structure as read and translated
-.     from the file. *}
+.     from the file.  *}
 .  union
 .  {
 .    union internal_auxent auxent;
 .    struct internal_syment syment;
 .  } u;
+.
+. {* Selector for the union above.  *}
+. bfd_boolean is_sym;
 .} combined_entry_type;
 .
 .
@@ -928,12 +931,7 @@ handle_COMDAT (bfd * abfd,
 
       bfd_coff_swap_sym_in (abfd, esym, & isym);
 
-      if (sizeof (internal_s->s_name) > SYMNMLEN)
-	{
-	  /* This case implies that the matching
-	     symbol name will be in the string table.  */
-	  abort ();
-	}
+      BFD_ASSERT (sizeof (internal_s->s_name) <= SYMNMLEN);
 
       if (isym.n_scnum == section->target_index)
 	{
@@ -964,8 +962,12 @@ handle_COMDAT (bfd * abfd,
 	  /* All 3 branches use this.  */
 	  symname = _bfd_coff_internal_syment_name (abfd, &isym, buf);
 
+	  /* PR 17512 file: 078-11867-0.004  */ 
 	  if (symname == NULL)
-	    abort ();
+	    {
+	      _bfd_error_handler (_("%B: unable to load COMDAT section name"), abfd);
+	      break;
+	    }
 
 	  switch (seen_state)
 	    {
@@ -1797,6 +1799,7 @@ coff_new_section_hook (bfd * abfd, asect
      in case this symbol winds up getting written out.  The value 0
      for n_numaux is already correct.  */
 
+  native->is_sym = TRUE;
   native->u.syment.n_type = T_NULL;
   native->u.syment.n_sclass = sclass;
 
@@ -2498,11 +2501,13 @@ coff_pointerize_aux_hook (bfd *abfd ATTR
 			  unsigned int indaux,
 			  combined_entry_type *aux)
 {
+  BFD_ASSERT (symbol->is_sym);
   int n_sclass = symbol->u.syment.n_sclass;
 
   if (CSECT_SYM_P (n_sclass)
       && indaux + 1 == symbol->u.syment.n_numaux)
     {
+      BFD_ASSERT (! aux->is_sym);
       if (SMTYP_SMTYP (aux->u.auxent.x_csect.x_smtyp) == XTY_LD)
 	{
 	  aux->u.auxent.x_csect.x_scnlen.p =
@@ -2535,6 +2540,7 @@ coff_pointerize_aux_hook (bfd *abfd ATTR
   /* Return TRUE if we don't want to pointerize this aux entry, which
      is the case for the lastfirst aux entry for a C_LEAFPROC symbol.  */
   return (indaux == 1
+	  && symbol->is_sym
 	  && (symbol->u.syment.n_sclass == C_LEAFPROC
 	      || symbol->u.syment.n_sclass == C_LEAFSTAT
 	      || symbol->u.syment.n_sclass == C_LEAFEXT));
@@ -2557,6 +2563,8 @@ coff_print_aux (bfd *abfd ATTRIBUTE_UNUS
 		combined_entry_type *aux ATTRIBUTE_UNUSED,
 		unsigned int indaux ATTRIBUTE_UNUSED)
 {
+  BFD_ASSERT (symbol->is_sym);
+  BFD_ASSERT (! aux->is_sym);
 #ifdef RS6000COFF_C
   if (CSECT_SYM_P (symbol->u.syment.n_sclass)
       && indaux + 1 == symbol->u.syment.n_numaux)
@@ -3134,7 +3142,8 @@ coff_compute_section_file_positions (bfd
 #ifdef COFF_IMAGE_WITH_PE
   int page_size;
 
-  if (coff_data (abfd)->link_info)
+  if (coff_data (abfd)->link_info
+      || (pe_data (abfd) && pe_data (abfd)->pe_opthdr.FileAlignment))
     {
       page_size = pe_data (abfd)->pe_opthdr.FileAlignment;
 
@@ -3165,9 +3174,10 @@ coff_compute_section_file_positions (bfd
 	{
 	  coff_symbol_type *cf;
 
-	  cf = coff_symbol_from (abfd, *symp);
+	  cf = coff_symbol_from (*symp);
 	  if (cf != NULL
 	      && cf->native != NULL
+	      && cf->native->is_sym
 	      && SYMNAME_IN_DEBUG (&cf->native->u.syment))
 	    {
 	      size_t len;
@@ -3862,9 +3872,10 @@ coff_write_object_contents (bfd * abfd)
 	      /* See if this is the section symbol.  */
 	      if (strcmp ((*psym)->name, current->name) == 0)
 		{
-		  csym = coff_symbol_from (abfd, *psym);
+		  csym = coff_symbol_from (*psym);
 		  if (csym == NULL
 		      || csym->native == NULL
+		      || ! csym->native->is_sym
 		      || csym->native->u.syment.n_numaux < 1
 		      || csym->native->u.syment.n_sclass != C_STAT
 		      || csym->native->u.syment.n_type != T_NULL)
@@ -3887,6 +3898,7 @@ coff_write_object_contents (bfd * abfd)
 		 x_associated field is not currently supported.  */
 
 	      aux = csym->native + 1;
+	      BFD_ASSERT (! aux->is_sym);
 	      switch (current->flags & SEC_LINK_DUPLICATES)
 		{
 		case SEC_LINK_DUPLICATES_DISCARD:
@@ -4032,8 +4044,6 @@ coff_write_object_contents (bfd * abfd)
     internal_f.f_flags |= F_DYNLOAD;
 #endif
 
-  memset (&internal_a, 0, sizeof internal_a);
-
   /* Set up architecture-dependent stuff.  */
   {
     unsigned int magic = 0;
@@ -4455,11 +4465,11 @@ buy_and_read (bfd *abfd, file_ptr where,
   void * area = bfd_alloc (abfd, size);
 
   if (!area)
-    return (NULL);
+    return NULL;
   if (bfd_seek (abfd, where, SEEK_SET) != 0
       || bfd_bread (area, size, abfd) != size)
-    return (NULL);
-  return (area);
+    return NULL;
+  return area;
 }
 
 /*
@@ -4493,6 +4503,8 @@ coff_sort_func_alent (const void * arg1,
   const coff_symbol_type *s1 = (const coff_symbol_type *) (al1->u.sym);
   const coff_symbol_type *s2 = (const coff_symbol_type *) (al2->u.sym);
 
+  if (s1 == NULL || s2 == NULL)
+    return 0;
   if (s1->symbol.value < s2->symbol.value)
     return -1;
   else if (s1->symbol.value > s2->symbol.value)
@@ -4510,9 +4522,10 @@ coff_slurp_line_table (bfd *abfd, asecti
   unsigned int counter;
   alent *cache_ptr;
   bfd_vma prev_offset = 0;
-  int ordered = 1;
+  bfd_boolean ordered = TRUE;
   unsigned int nbr_func;
   LINENO *src;
+  bfd_boolean have_func;
 
   BFD_ASSERT (asect->lineno == NULL);
 
@@ -4535,57 +4548,85 @@ coff_slurp_line_table (bfd *abfd, asecti
   asect->lineno = lineno_cache;
   src = native_lineno;
   nbr_func = 0;
+  have_func = FALSE;
 
-  for (counter = 0; counter < asect->lineno_count; counter++)
+  for (counter = 0; counter < asect->lineno_count; counter++, src++)
     {
       struct internal_lineno dst;
 
       bfd_coff_swap_lineno_in (abfd, src, &dst);
       cache_ptr->line_number = dst.l_lnno;
+      /* Appease memory checkers that get all excited about
+	 uninitialised memory when copying alents if u.offset is
+	 larger than u.sym.  (64-bit BFD on 32-bit host.)  */
+      memset (&cache_ptr->u, 0, sizeof (cache_ptr->u));
 
       if (cache_ptr->line_number == 0)
 	{
-	  bfd_boolean warned;
-	  bfd_signed_vma symndx;
+	  combined_entry_type * ent;
+	  bfd_vma symndx;
 	  coff_symbol_type *sym;
 
-	  nbr_func++;
-	  warned = FALSE;
+	  have_func = FALSE;
 	  symndx = dst.l_addr.l_symndx;
-	  if (symndx < 0
-	      || (bfd_vma) symndx >= obj_raw_syment_count (abfd))
+	  if (symndx >= obj_raw_syment_count (abfd))
 	    {
 	      (*_bfd_error_handler)
-		(_("%B: warning: illegal symbol index %ld in line numbers"),
-		 abfd, (long) symndx);
-	      symndx = 0;
-	      warned = TRUE;
+		(_("%B: warning: illegal symbol index 0x%lx in line number entry %d"),
+		 abfd, (long) symndx, counter);
+	      cache_ptr->line_number = -1;
+	      continue;
 	    }
 
+	  ent = obj_raw_syments (abfd) + symndx;
 	  /* FIXME: We should not be casting between ints and
 	     pointers like this.  */
-	  sym = ((coff_symbol_type *)
-		 ((symndx + obj_raw_syments (abfd))
-		  ->u.syment._n._n_n._n_zeroes));
+	  if (! ent->is_sym)
+	    {
+	      (*_bfd_error_handler)
+		(_("%B: warning: illegal symbol index 0x%lx in line number entry %d"),
+		 abfd, (long) symndx, counter);
+	      cache_ptr->line_number = -1;
+	      continue;
+	    }
+	  sym = (coff_symbol_type *) (ent->u.syment._n._n_n._n_zeroes);
+
+	  /* PR 17512 file: 078-10659-0.004  */
+	  if (sym < obj_symbols (abfd)
+	      || sym >= obj_symbols (abfd) + bfd_get_symcount (abfd))
+	    {
+	      (*_bfd_error_handler)
+		(_("%B: warning: illegal symbol in line number entry %d"),
+		 abfd, counter);
+	      cache_ptr->line_number = -1;
+	      continue;
+	    }
+
+	  have_func = TRUE;
+	  nbr_func++;
 	  cache_ptr->u.sym = (asymbol *) sym;
-	  if (sym->lineno != NULL && ! warned)
+	  if (sym->lineno != NULL)
 	    (*_bfd_error_handler)
 	      (_("%B: warning: duplicate line number information for `%s'"),
 	       abfd, bfd_asymbol_name (&sym->symbol));
 
 	  sym->lineno = cache_ptr;
 	  if (sym->symbol.value < prev_offset)
-	    ordered = 0;
+	    ordered = FALSE;
 	  prev_offset = sym->symbol.value;
 	}
+      else if (!have_func)
+	/* Drop line information that has no associated function.
+	   PR 17521: file: 078-10659-0.004.  */
+	continue;
       else
-	cache_ptr->u.offset = dst.l_addr.l_paddr
-	  - bfd_section_vma (abfd, asect);
-
+	cache_ptr->u.offset = (dst.l_addr.l_paddr
+			       - bfd_section_vma (abfd, asect));
       cache_ptr++;
-      src++;
     }
-  cache_ptr->line_number = 0;
+
+  asect->lineno_count = cache_ptr - lineno_cache;
+  memset (cache_ptr, 0, sizeof (*cache_ptr));
   bfd_release (abfd, native_lineno);
 
   /* On some systems (eg AIX5.3) the lineno table may not be sorted.  */
@@ -4602,15 +4643,17 @@ coff_slurp_line_table (bfd *abfd, asecti
 	  alent **p = func_table;
 	  unsigned int i;
 
-	  for (i = 0; i < counter; i++)
+	  for (i = 0; i < asect->lineno_count; i++)
 	    if (lineno_cache[i].line_number == 0)
 	      *p++ = &lineno_cache[i];
 
+	  BFD_ASSERT ((unsigned int) (p - func_table) == nbr_func);
+	  
 	  /* Sort by functions.  */
 	  qsort (func_table, nbr_func, sizeof (alent *), coff_sort_func_alent);
 
 	  /* Create the new sorted table.  */
-	  amt = ((bfd_size_type) asect->lineno_count + 1) * sizeof (alent);
+	  amt = (bfd_size_type) asect->lineno_count * sizeof (alent);
 	  n_lineno_cache = (alent *) bfd_alloc (abfd, amt);
 	  if (n_lineno_cache != NULL)
 	    {
@@ -4621,18 +4664,18 @@ coff_slurp_line_table (bfd *abfd, asecti
 		  coff_symbol_type *sym;
 		  alent *old_ptr = func_table[i];
 
-		  /* Copy the function entry and update it.  */
-		  *n_cache_ptr = *old_ptr;
-		  sym = (coff_symbol_type *)n_cache_ptr->u.sym;
-		  sym->lineno = n_cache_ptr;
-		  n_cache_ptr++;
-		  old_ptr++;
-
-		  /* Copy the line number entries.  */
-		  while (old_ptr->line_number != 0)
+		  /* Update the function entry.  */
+		  sym = (coff_symbol_type *) old_ptr->u.sym;
+		  /* PR binutils/17512: Point the lineno to where
+		     this entry will be after the memcpy below.  */
+		  sym->lineno = lineno_cache + (n_cache_ptr - n_lineno_cache);
+		  /* Copy the function and line number entries.  */
+		  do
 		    *n_cache_ptr++ = *old_ptr++;
+		  while (old_ptr->line_number != 0);
 		}
-	      n_cache_ptr->line_number = 0;
+	      BFD_ASSERT ((bfd_size_type) (n_cache_ptr - n_lineno_cache) == (amt / sizeof (alent)));
+
 	      memcpy (lineno_cache, n_lineno_cache, amt);
 	    }
 	  bfd_release (abfd, func_table);
@@ -4671,7 +4714,7 @@ coff_slurp_symbol_table (bfd * abfd)
 
   amt = obj_raw_syment_count (abfd);
   amt *= sizeof (unsigned int);
-  table_ptr = (unsigned int *) bfd_alloc (abfd, amt);
+  table_ptr = (unsigned int *) bfd_zalloc (abfd, amt);
 
   if (table_ptr == NULL)
     return FALSE;
@@ -4685,14 +4728,17 @@ coff_slurp_symbol_table (bfd * abfd)
 	{
 	  combined_entry_type *src = native_symbols + this_index;
 	  table_ptr[this_index] = number_of_symbols;
-	  dst->symbol.the_bfd = abfd;
 
+	  dst->symbol.the_bfd = abfd;
+	  BFD_ASSERT (src->is_sym);
 	  dst->symbol.name = (char *) (src->u.syment._n._n_n._n_offset);
 	  /* We use the native name field to point to the cached field.  */
 	  src->u.syment._n._n_n._n_zeroes = (bfd_hostptr_t) dst;
 	  dst->symbol.section = coff_section_from_bfd_index (abfd,
 						     src->u.syment.n_scnum);
 	  dst->symbol.flags = 0;
+	  /* PR 17512: file: 079-7098-0.001:0.1.  */
+	  dst->symbol.value = 0;
 	  dst->done_lineno = FALSE;
 
 	  switch (src->u.syment.n_sclass)
@@ -4966,22 +5012,22 @@ coff_slurp_symbol_table (bfd * abfd)
 #if defined(TIC80COFF) || defined(TICOFF)
 	    case C_UEXT:	/* Tentative external definition.  */
 #endif
-	    case C_EXTLAB:	/* External load time label.  */
-	    case C_HIDDEN:	/* Ext symbol in dmert public lib.  */
 	    default:
 	      (*_bfd_error_handler)
 		(_("%B: Unrecognized storage class %d for %s symbol `%s'"),
 		 abfd, src->u.syment.n_sclass,
 		 dst->symbol.section->name, dst->symbol.name);
+	    case C_EXTLAB:	/* External load time label.  */
+	    case C_HIDDEN:	/* Ext symbol in dmert public lib.  */
 	      dst->symbol.flags = BSF_DEBUGGING;
 	      dst->symbol.value = (src->u.syment.n_value);
 	      break;
 	    }
 
 	  dst->native = src;
-
 	  dst->symbol.udata.i = 0;
 	  dst->lineno = NULL;
+
 	  this_index += (src->u.syment.n_numaux) + 1;
 	  dst++;
 	  number_of_symbols++;
@@ -5000,7 +5046,8 @@ coff_slurp_symbol_table (bfd * abfd)
     p = abfd->sections;
     while (p)
       {
-	coff_slurp_line_table (abfd, p);
+	if (! coff_slurp_line_table (abfd, p))
+	  return FALSE;
 	p = p->next;
       }
   }
@@ -5064,13 +5111,13 @@ coff_classify_symbol (bfd *abfd,
       if (syment->n_value == 0)
 	{
 	  asection *sec;
-	  char buf[SYMNMLEN + 1];
-
-	  sec = coff_section_from_bfd_index (abfd, syment->n_scnum);
-	  if (sec != NULL
-	      && (strcmp (bfd_get_section_name (abfd, sec),
-			  _bfd_coff_internal_syment_name (abfd, syment, buf))
-		  == 0))
+	  char * name;
+ 	  char buf[SYMNMLEN + 1];
+ 
+	  name = _bfd_coff_internal_syment_name (abfd, syment, buf)
+ 	  sec = coff_section_from_bfd_index (abfd, syment->n_scnum);
+	  if (sec != NULL && name != NULL
+	      && (strcmp (bfd_get_section_name (abfd, sec), name) == 0))
 	    return COFF_SYMBOL_PE_SECTION;
 	}
 #endif
@@ -5139,8 +5186,9 @@ SUBSUBSECTION
       coffsym = (obj_symbols (abfd)				\
 		 + (cache_ptr->sym_ptr_ptr - symbols));		\
     else if (ptr)						\
-      coffsym = coff_symbol_from (abfd, ptr);			\
+      coffsym = coff_symbol_from (ptr);				\
     if (coffsym != NULL						\
+	&& coffsym->native->is_sym				\
 	&& coffsym->native->u.syment.n_scnum == 0)		\
       cache_ptr->addend = 0;					\
     else if (ptr && bfd_asymbol_bfd (ptr) == abfd		\
@@ -5263,7 +5311,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_
 static reloc_howto_type *
 coff_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
 		     asection *sec ATTRIBUTE_UNUSED,
-		     struct internal_reloc *rel,
+		     struct internal_reloc *rel ATTRIBUTE_UNUSED,
 		     struct coff_link_hash_entry *h ATTRIBUTE_UNUSED,
 		     struct internal_syment *sym ATTRIBUTE_UNUSED,
 		     bfd_vma *addendp ATTRIBUTE_UNUSED)
@@ -5355,10 +5403,6 @@ dummy_reloc16_extra_cases (bfd *abfd ATT
 }
 #endif
 
-#ifndef coff_bfd_link_hash_table_free
-#define coff_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
-#endif
-
 /* If coff_relocate_section is defined, we can use the optimized COFF
    backend linker.  Otherwise we must continue to use the old linker.  */
 
@@ -5590,7 +5634,7 @@ static bfd_coff_backend_data ticoff1_swa
 #endif
 
 #ifdef COFF_WITH_PE_BIGOBJ
-/* The UUID for bigobj files.  */
+/* The UID for bigobj files.  */
 
 static const char header_bigobj_classid[16] =
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coffgen.c ./bfd/coffgen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coffgen.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coffgen.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for the generic parts of COFF, for BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -84,9 +84,8 @@ make_a_section_from_file (bfd *abfd,
 	  strings = _bfd_coff_read_string_table (abfd);
 	  if (strings == NULL)
 	    return FALSE;
-	  /* FIXME: For extra safety, we should make sure that
-             strindex does not run us past the end, but right now we
-             don't know the length of the string table.  */
+	  if ((bfd_size_type)(strindex + 2) >= obj_coff_strings_len (abfd))
+	    return FALSE;
 	  strings += strindex;
 	  name = (char *) bfd_alloc (abfd,
                                      (bfd_size_type) strlen (strings) + 1 + 1);
@@ -147,8 +146,9 @@ make_a_section_from_file (bfd *abfd,
   /* Compress/decompress DWARF debug sections with names: .debug_* and
      .zdebug_*, after the section flags is set.  */
   if ((flags & SEC_DEBUGGING)
+      && strlen (name) > 7
       && ((name[1] == 'd' && name[6] == '_')
-	  || (name[1] == 'z' && name[7] == '_')))
+	  || (strlen (name) > 8 && name[1] == 'z' && name[7] == '_')))
     {
       enum { nothing, compress, decompress } action = nothing;
       char *new_name = NULL;
@@ -366,6 +366,10 @@ coff_object_p (bfd *abfd)
 	  bfd_release (abfd, opthdr);
 	  return NULL;
 	}
+      /* PR 17512: file: 11056-1136-0.004.  */
+      if (internal_f.f_opthdr < aoutsz)
+	memset (((char *) opthdr) + internal_f.f_opthdr, 0, aoutsz - internal_f.f_opthdr);
+
       bfd_coff_swap_aouthdr_in (abfd, opthdr, (void *) &internal_a);
       bfd_release (abfd, opthdr);
     }
@@ -464,6 +468,8 @@ _bfd_coff_internal_syment_name (bfd *abf
 	  if (strings == NULL)
 	    return NULL;
 	}
+      if (sym->_n._n_n._n_offset >= obj_coff_strings_len (abfd))
+	return NULL;
       return strings + sym->_n._n_n._n_offset;
     }
 }
@@ -627,22 +633,6 @@ coff_count_linenumbers (bfd *abfd)
   return total;
 }
 
-/* Takes a bfd and a symbol, returns a pointer to the coff specific
-   area of the symbol if there is one.  */
-
-coff_symbol_type *
-coff_symbol_from (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-		  asymbol *symbol)
-{
-  if (!bfd_family_coff (bfd_asymbol_bfd (symbol)))
-    return (coff_symbol_type *) NULL;
-
-  if (bfd_asymbol_bfd (symbol)->tdata.coff_obj_data == (coff_data_type *) NULL)
-    return (coff_symbol_type *) NULL;
-
-  return (coff_symbol_type *) symbol;
-}
-
 static void
 fixup_symbol_value (bfd *abfd,
 		    coff_symbol_type *coff_symbol_ptr,
@@ -759,13 +749,16 @@ coff_renumber_symbols (bfd *bfd_ptr, int
 
   for (symbol_index = 0; symbol_index < symbol_count; symbol_index++)
     {
-      coff_symbol_type *coff_symbol_ptr = coff_symbol_from (bfd_ptr, symbol_ptr_ptr[symbol_index]);
+      coff_symbol_type *coff_symbol_ptr;
+
+      coff_symbol_ptr = coff_symbol_from (symbol_ptr_ptr[symbol_index]);
       symbol_ptr_ptr[symbol_index]->udata.i = symbol_index;
       if (coff_symbol_ptr && coff_symbol_ptr->native)
 	{
 	  combined_entry_type *s = coff_symbol_ptr->native;
 	  int i;
 
+	  BFD_ASSERT (s->is_sym);
 	  if (s->u.syment.n_sclass == C_FILE)
 	    {
 	      if (last_file != NULL)
@@ -802,14 +795,15 @@ coff_mangle_symbols (bfd *bfd_ptr)
 
   for (symbol_index = 0; symbol_index < symbol_count; symbol_index++)
     {
-      coff_symbol_type *coff_symbol_ptr =
-      coff_symbol_from (bfd_ptr, symbol_ptr_ptr[symbol_index]);
+      coff_symbol_type *coff_symbol_ptr;
 
+      coff_symbol_ptr = coff_symbol_from (symbol_ptr_ptr[symbol_index]);
       if (coff_symbol_ptr && coff_symbol_ptr->native)
 	{
 	  int i;
 	  combined_entry_type *s = coff_symbol_ptr->native;
 
+	  BFD_ASSERT (s->is_sym);
 	  if (s->fix_value)
 	    {
 	      /* FIXME: We should use a union here.  */
@@ -833,6 +827,8 @@ coff_mangle_symbols (bfd *bfd_ptr)
 	  for (i = 0; i < s->u.syment.n_numaux; i++)
 	    {
 	      combined_entry_type *a = s + i + 1;
+
+	      BFD_ASSERT (! a->is_sym);
 	      if (a->fix_tag)
 		{
 		  a->u.auxent.x_sym.x_tagndx.l =
@@ -876,6 +872,7 @@ coff_fix_symbol_name (bfd *abfd,
     }
   name_length = strlen (name);
 
+  BFD_ASSERT (native->is_sym);
   if (native->u.syment.n_sclass == C_FILE
       && native->u.syment.n_numaux > 0)
     {
@@ -891,6 +888,7 @@ coff_fix_symbol_name (bfd *abfd,
       else
   	strncpy (native->u.syment._n._n_name, ".file", SYMNMLEN);
 
+      BFD_ASSERT (! (native + 1)->is_sym);
       auxent = &(native + 1)->u.auxent;
 
       filnmlen = bfd_coff_filnmlen (abfd);
@@ -993,6 +991,8 @@ coff_write_symbol (bfd *abfd,
   void * buf;
   bfd_size_type symesz;
 
+  BFD_ASSERT (native->is_sym);
+
   if (native->u.syment.n_sclass == C_FILE)
     symbol->flags |= BSF_DEBUGGING;
 
@@ -1033,6 +1033,7 @@ coff_write_symbol (bfd *abfd,
 	return FALSE;
       for (j = 0; j < native->u.syment.n_numaux; j++)
 	{
+	  BFD_ASSERT (! (native + j + 1)->is_sym);
 	  bfd_coff_swap_aux_out (abfd,
 				 &((native + j + 1)->u.auxent),
 				 type, n_sclass, (int) j,
@@ -1078,10 +1079,12 @@ coff_write_alien_symbol (bfd *abfd,
     {
       symbol->name = "";
       if (isym != NULL)
-        memset (isym, 0, sizeof(*isym));
+        memset (isym, 0, sizeof (*isym));
       return TRUE;
     }
   native = dummy;
+  native->is_sym = TRUE;
+  native[1].is_sym = FALSE;
   native->u.syment.n_type = T_NULL;
   native->u.syment.n_flags = 0;
   native->u.syment.n_numaux = 0;
@@ -1108,7 +1111,7 @@ coff_write_alien_symbol (bfd *abfd,
          name to keep it from being put in the string table.  */
       symbol->name = "";
       if (isym != NULL)
-        memset (isym, 0, sizeof(*isym));
+        memset (isym, 0, sizeof (*isym));
       return TRUE;
     }
   else
@@ -1122,7 +1125,7 @@ coff_write_alien_symbol (bfd *abfd,
       /* Copy the any flags from the file header into the symbol.
          FIXME: Why?  */
       {
-	coff_symbol_type *c = coff_symbol_from (abfd, symbol);
+	coff_symbol_type *c = coff_symbol_from (symbol);
 	if (c != (coff_symbol_type *) NULL)
 	  native->u.syment.n_flags = bfd_asymbol_bfd (&c->symbol)->flags;
       }
@@ -1167,6 +1170,7 @@ coff_write_native_symbol (bfd *abfd,
       return TRUE;
     }
 
+  BFD_ASSERT (native->is_sym);
   /* If this symbol has an associated line number, we must store the
      symbol index in the line number field.  We also tag the auxent to
      point to the right place in the lineno table.  */
@@ -1253,7 +1257,7 @@ coff_write_symbols (bfd *abfd)
   for (p = abfd->outsymbols, i = 0; i < limit; i++, p++)
     {
       asymbol *symbol = *p;
-      coff_symbol_type *c_symbol = coff_symbol_from (abfd, symbol);
+      coff_symbol_type *c_symbol = coff_symbol_from (symbol);
 
       if (c_symbol == (coff_symbol_type *) NULL
 	  || c_symbol->native == (combined_entry_type *) NULL)
@@ -1276,8 +1280,9 @@ coff_write_symbols (bfd *abfd)
 		 symbol which has no associated section and we do not have to
 		 worry about this, all we need to know is that it is local.  */
 	      current_error_handler = bfd_set_error_handler (null_error_handler);
+	      BFD_ASSERT (c_symbol->native->is_sym);
 	      sym_class = bfd_coff_classify_symbol (abfd,
-                                                   &c_symbol->native->u.syment);
+						    &c_symbol->native->u.syment);
 	      (void) bfd_set_error_handler (current_error_handler);
 
 	      n_sclass = &c_symbol->native->u.syment.n_sclass;
@@ -1352,7 +1357,7 @@ coff_write_symbols (bfd *abfd)
 	{
 	  asymbol *q = *p;
 	  size_t name_length = strlen (q->name);
-	  coff_symbol_type *c_symbol = coff_symbol_from (abfd, q);
+	  coff_symbol_type *c_symbol = coff_symbol_from (q);
 	  size_t maxlen;
 
 	  /* Figure out whether the symbol name should go in the string
@@ -1368,6 +1373,9 @@ coff_write_symbols (bfd *abfd)
 	       file name, nor does it go in the .debug section.  */
 	    maxlen = bfd_coff_force_symnames_in_strings (abfd) ? 0 : SYMNMLEN;
 
+	  else if (! c_symbol->native->is_sym)
+	    maxlen = bfd_coff_force_symnames_in_strings (abfd) ? 0 : SYMNMLEN;
+	    
 	  else if (bfd_coff_symname_in_debug (abfd,
 					      &c_symbol->native->u.syment))
 	    /* This symbol name is in the XCOFF .debug section.
@@ -1458,6 +1466,7 @@ coff_write_linenumbers (bfd *abfd)
 		    {
 		      /* Found a linenumber entry, output.  */
 		      struct internal_lineno out;
+
 		      memset ((void *) & out, 0, sizeof (out));
 		      out.l_lnno = 0;
 		      out.l_addr.l_symndx = l->u.offset;
@@ -1505,6 +1514,7 @@ coff_pointerize_aux (bfd *abfd,
   unsigned int type = symbol->u.syment.n_type;
   unsigned int n_sclass = symbol->u.syment.n_sclass;
 
+  BFD_ASSERT (symbol->is_sym);
   if (coff_backend_info (abfd)->_bfd_coff_pointerize_aux_hook)
     {
       if ((*coff_backend_info (abfd)->_bfd_coff_pointerize_aux_hook)
@@ -1518,6 +1528,7 @@ coff_pointerize_aux (bfd *abfd,
   if (n_sclass == C_FILE)
     return;
 
+  BFD_ASSERT (! auxent->is_sym);
   /* Otherwise patch up.  */
 #define N_TMASK coff_data  (abfd)->local_n_tmask
 #define N_BTSHFT coff_data (abfd)->local_n_btshft
@@ -1545,7 +1556,7 @@ coff_pointerize_aux (bfd *abfd,
    we didn't want to go to the trouble until someone needed it.  */
 
 static char *
-build_debug_section (bfd *abfd)
+build_debug_section (bfd *abfd, asection ** sect_return)
 {
   char *debug_section;
   file_ptr position;
@@ -1573,6 +1584,8 @@ build_debug_section (bfd *abfd)
       || bfd_bread (debug_section, sec_size, abfd) != sec_size
       || bfd_seek (abfd, position, SEEK_SET) != 0)
     return NULL;
+
+  * sect_return = sect;
   return debug_section;
 }
 
@@ -1635,7 +1648,9 @@ _bfd_coff_get_external_symbols (bfd *abf
 
 /* Read in the external strings.  The strings are not loaded until
    they are needed.  This is because we have no simple way of
-   detecting a missing string table in an archive.  */
+   detecting a missing string table in an archive.  If the strings
+   are loaded then the STRINGS and STRINGS_LEN fields in the
+   coff_tdata structure will be set.  */
 
 const char *
 _bfd_coff_read_string_table (bfd *abfd)
@@ -1685,10 +1700,16 @@ _bfd_coff_read_string_table (bfd *abfd)
       return NULL;
     }
 
-  strings = (char *) bfd_malloc (strsize);
+  strings = (char *) bfd_malloc (strsize + 1);
   if (strings == NULL)
     return NULL;
 
+  /* PR 17521 file: 079-54929-0.004.
+     A corrupt file could contain an index that points into the first
+     STRING_SIZE_SIZE bytes of the string table, so make sure that
+     they are zero.  */
+  memset (strings, 0, STRING_SIZE_SIZE);
+
   if (bfd_bread (strings + STRING_SIZE_SIZE, strsize - STRING_SIZE_SIZE, abfd)
       != strsize - STRING_SIZE_SIZE)
     {
@@ -1697,7 +1718,9 @@ _bfd_coff_read_string_table (bfd *abfd)
     }
 
   obj_coff_strings (abfd) = strings;
-
+  obj_coff_strings_len (abfd) = strsize;
+  /* Terminate the string table, just in case.  */
+  strings[strsize] = 0;
   return strings;
 }
 
@@ -1717,6 +1740,7 @@ _bfd_coff_free_symbols (bfd *abfd)
     {
       free (obj_coff_strings (abfd));
       obj_coff_strings (abfd) = NULL;
+      obj_coff_strings_len (abfd) = 0;
     }
   return TRUE;
 }
@@ -1737,21 +1761,22 @@ coff_get_normalized_symtab (bfd *abfd)
   char *raw_src;
   char *raw_end;
   const char *string_table = NULL;
-  char *debug_section = NULL;
+  asection * debug_sec = NULL;
+  char *debug_sec_data = NULL;
   bfd_size_type size;
 
   if (obj_raw_syments (abfd) != NULL)
     return obj_raw_syments (abfd);
 
+  if (! _bfd_coff_get_external_symbols (abfd))
+    return NULL;
+
   size = obj_raw_syment_count (abfd) * sizeof (combined_entry_type);
   internal = (combined_entry_type *) bfd_zalloc (abfd, size);
   if (internal == NULL && size != 0)
     return NULL;
   internal_end = internal + obj_raw_syment_count (abfd);
-
-  if (! _bfd_coff_get_external_symbols (abfd))
-    return NULL;
-
+  
   raw_src = (char *) obj_coff_external_syms (abfd);
 
   /* Mark the end of the symbols.  */
@@ -1766,23 +1791,44 @@ coff_get_normalized_symtab (bfd *abfd)
        raw_src < raw_end;
        raw_src += symesz, internal_ptr++)
     {
-
       unsigned int i;
+
       bfd_coff_swap_sym_in (abfd, (void *) raw_src,
 			    (void *) & internal_ptr->u.syment);
       symbol_ptr = internal_ptr;
+      internal_ptr->is_sym = TRUE;
+
+      /* PR 17512: file: 1353-1166-0.004.  */
+      if (symbol_ptr->u.syment.n_sclass == C_FILE
+	  && symbol_ptr->u.syment.n_numaux > 0
+	  && raw_src + symesz + symbol_ptr->u.syment.n_numaux
+	  * sizeof (union internal_auxent) >= raw_end)
+	{
+	  bfd_release (abfd, internal);
+	  return NULL;
+	}
 
       for (i = 0;
 	   i < symbol_ptr->u.syment.n_numaux;
 	   i++)
 	{
 	  internal_ptr++;
+	  /* PR 17512: Prevent buffer overrun.  */
+	  if (internal_ptr >= internal_end)
+	    {
+	      bfd_release (abfd, internal);
+	      return NULL;
+	    }
+
 	  raw_src += symesz;
+
 	  bfd_coff_swap_aux_in (abfd, (void *) raw_src,
 				symbol_ptr->u.syment.n_type,
 				symbol_ptr->u.syment.n_sclass,
 				(int) i, symbol_ptr->u.syment.n_numaux,
 				&(internal_ptr->u.auxent));
+
+	  internal_ptr->is_sym = FALSE;
 	  coff_pointerize_aux (abfd, internal, symbol_ptr, i,
 			       internal_ptr);
 	}
@@ -1796,12 +1842,18 @@ coff_get_normalized_symtab (bfd *abfd)
   for (internal_ptr = internal; internal_ptr < internal_end;
        internal_ptr++)
     {
+      BFD_ASSERT (internal_ptr->is_sym);
+
       if (internal_ptr->u.syment.n_sclass == C_FILE
 	  && internal_ptr->u.syment.n_numaux > 0)
 	{
+	  combined_entry_type * aux = internal_ptr + 1;
+
 	  /* Make a file symbol point to the name in the auxent, since
 	     the text ".file" is redundant.  */
-	  if ((internal_ptr + 1)->u.auxent.x_file.x_n.x_zeroes == 0)
+	  BFD_ASSERT (! aux->is_sym);
+
+	  if (aux->u.auxent.x_file.x_n.x_zeroes == 0)
 	    {
 	      /* The filename is a long one, point into the string table.  */
 	      if (string_table == NULL)
@@ -1811,10 +1863,12 @@ coff_get_normalized_symtab (bfd *abfd)
 		    return NULL;
 		}
 
-	      internal_ptr->u.syment._n._n_n._n_offset =
-		((bfd_hostptr_t)
-		 (string_table
-		  + (internal_ptr + 1)->u.auxent.x_file.x_n.x_offset));
+	      if ((bfd_size_type)(aux->u.auxent.x_file.x_n.x_offset)
+		  >= obj_coff_strings_len (abfd))
+		internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) _("<corrupt>");
+	      else
+		internal_ptr->u.syment._n._n_n._n_offset =
+		  (bfd_hostptr_t) (string_table + (aux->u.auxent.x_file.x_n.x_offset));
 	    }
 	  else
 	    {
@@ -1824,15 +1878,15 @@ coff_get_normalized_symtab (bfd *abfd)
 	      if (internal_ptr->u.syment.n_numaux > 1
 		  && coff_data (abfd)->pe)
 		internal_ptr->u.syment._n._n_n._n_offset =
-		  ((bfd_hostptr_t)
-		   copy_name (abfd,
-			      (internal_ptr + 1)->u.auxent.x_file.x_fname,
-			      internal_ptr->u.syment.n_numaux * symesz));
+		  (bfd_hostptr_t)
+		  copy_name (abfd,
+			     aux->u.auxent.x_file.x_fname,
+			     internal_ptr->u.syment.n_numaux * symesz);
 	      else
 		internal_ptr->u.syment._n._n_n._n_offset =
 		  ((bfd_hostptr_t)
 		   copy_name (abfd,
-			      (internal_ptr + 1)->u.auxent.x_file.x_fname,
+			      aux->u.auxent.x_file.x_fname,
 			      (size_t) bfd_coff_filnmlen (abfd)));
 	    }
 	}
@@ -1869,18 +1923,33 @@ coff_get_normalized_symtab (bfd *abfd)
 		  if (string_table == NULL)
 		    return NULL;
 		}
-	      internal_ptr->u.syment._n._n_n._n_offset =
-		((bfd_hostptr_t)
-		 (string_table
-		  + internal_ptr->u.syment._n._n_n._n_offset));
+	      if (internal_ptr->u.syment._n._n_n._n_offset >= obj_coff_strings_len (abfd)
+		  || string_table + internal_ptr->u.syment._n._n_n._n_offset < string_table)
+		internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) _("<corrupt>");
+	      else
+		internal_ptr->u.syment._n._n_n._n_offset =
+		  ((bfd_hostptr_t)
+		   (string_table
+		    + internal_ptr->u.syment._n._n_n._n_offset));
 	    }
 	  else
 	    {
 	      /* Long name in debug section.  Very similar.  */
-	      if (debug_section == NULL)
-		debug_section = build_debug_section (abfd);
-	      internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t)
-		(debug_section + internal_ptr->u.syment._n._n_n._n_offset);
+	      if (debug_sec_data == NULL)
+		debug_sec_data = build_debug_section (abfd, & debug_sec);
+	      if (debug_sec_data != NULL)
+		{
+		  BFD_ASSERT (debug_sec != NULL);
+		  /* PR binutils/17512: Catch out of range offsets into the debug data.  */
+		  if (internal_ptr->u.syment._n._n_n._n_offset > debug_sec->size
+		      || debug_sec_data + internal_ptr->u.syment._n._n_n._n_offset < debug_sec_data)
+		    internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) _("<corrupt>");
+		  else
+		    internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t)
+		      (debug_sec_data + internal_ptr->u.syment._n._n_n._n_offset);
+		}
+	      else
+		internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) "";
 	    }
 	}
       internal_ptr += internal_ptr->u.syment.n_numaux;
@@ -1913,7 +1982,7 @@ coff_make_empty_symbol (bfd *abfd)
   if (new_symbol == NULL)
     return NULL;
   new_symbol->symbol.section = 0;
-  new_symbol->native = 0;
+  new_symbol->native = NULL;
   new_symbol->lineno = NULL;
   new_symbol->done_lineno = FALSE;
   new_symbol->symbol.the_bfd = abfd;
@@ -1939,6 +2008,7 @@ coff_bfd_make_debug_symbol (bfd *abfd,
   new_symbol->native = (combined_entry_type *) bfd_zalloc (abfd, amt);
   if (!new_symbol->native)
     return NULL;
+  new_symbol->native->is_sym = TRUE;
   new_symbol->symbol.section = bfd_abs_section_ptr;
   new_symbol->symbol.flags = BSF_DEBUGGING;
   new_symbol->lineno = NULL;
@@ -1954,81 +2024,12 @@ coff_get_symbol_info (bfd *abfd, asymbol
   bfd_symbol_info (symbol, ret);
 
   if (coffsymbol (symbol)->native != NULL
-      && coffsymbol (symbol)->native->fix_value)
+      && coffsymbol (symbol)->native->fix_value
+      && coffsymbol (symbol)->native->is_sym)
     ret->value = coffsymbol (symbol)->native->u.syment.n_value -
       (bfd_hostptr_t) obj_raw_syments (abfd);
 }
 
-/* Return the COFF syment for a symbol.  */
-
-bfd_boolean
-bfd_coff_get_syment (bfd *abfd,
-		     asymbol *symbol,
-		     struct internal_syment *psyment)
-{
-  coff_symbol_type *csym;
-
-  csym = coff_symbol_from (abfd, symbol);
-  if (csym == NULL || csym->native == NULL)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return FALSE;
-    }
-
-  *psyment = csym->native->u.syment;
-
-  if (csym->native->fix_value)
-    psyment->n_value = psyment->n_value -
-      (bfd_hostptr_t) obj_raw_syments (abfd);
-
-  /* FIXME: We should handle fix_line here.  */
-
-  return TRUE;
-}
-
-/* Return the COFF auxent for a symbol.  */
-
-bfd_boolean
-bfd_coff_get_auxent (bfd *abfd,
-		     asymbol *symbol,
-		     int indx,
-		     union internal_auxent *pauxent)
-{
-  coff_symbol_type *csym;
-  combined_entry_type *ent;
-
-  csym = coff_symbol_from (abfd, symbol);
-
-  if (csym == NULL
-      || csym->native == NULL
-      || indx >= csym->native->u.syment.n_numaux)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return FALSE;
-    }
-
-  ent = csym->native + indx + 1;
-
-  *pauxent = ent->u.auxent;
-
-  if (ent->fix_tag)
-    pauxent->x_sym.x_tagndx.l =
-      ((combined_entry_type *) pauxent->x_sym.x_tagndx.p
-       - obj_raw_syments (abfd));
-
-  if (ent->fix_end)
-    pauxent->x_sym.x_fcnary.x_fcn.x_endndx.l =
-      ((combined_entry_type *) pauxent->x_sym.x_fcnary.x_fcn.x_endndx.p
-       - obj_raw_syments (abfd));
-
-  if (ent->fix_scnlen)
-    pauxent->x_csect.x_scnlen.l =
-      ((combined_entry_type *) pauxent->x_csect.x_scnlen.p
-       - obj_raw_syments (abfd));
-
-  return TRUE;
-}
-
 /* Print out information about COFF symbol.  */
 
 void
@@ -2062,6 +2063,15 @@ coff_print_symbol (bfd *abfd,
 
 	  fprintf (file, "[%3ld]", (long) (combined - root));
 
+	  /* PR 17512: file: 079-33786-0.001:0.1.  */
+	  if (combined < obj_raw_syments (abfd)
+	      || combined >= obj_raw_syments (abfd) + obj_raw_syment_count (abfd))
+	    {
+	      fprintf (file, _("<corrupt info> %s"), symbol->name);
+	      break;
+	    }
+
+	  BFD_ASSERT (combined->is_sym);
 	  if (! combined->fix_value)
 	    val = (bfd_vma) combined->u.syment.n_value;
 	  else
@@ -2081,6 +2091,7 @@ coff_print_symbol (bfd *abfd,
 	      combined_entry_type *auxp = combined + aux + 1;
 	      long tagndx;
 
+	      BFD_ASSERT (! auxp->is_sym);
 	      if (auxp->fix_tag)
 		tagndx = auxp->u.auxent.x_sym.x_tagndx.p - root;
 	      else
@@ -2155,8 +2166,11 @@ coff_print_symbol (bfd *abfd,
 	      l++;
 	      while (l->line_number)
 		{
-		  fprintf (file, "\n%4d : ", l->line_number);
-		  bfd_fprintf_vma (abfd, file, l->u.offset + symbol->section->vma);
+		  if (l->line_number > 0)
+		    {
+		      fprintf (file, "\n%4d : ", l->line_number);
+		      bfd_fprintf_vma (abfd, file, l->u.offset + symbol->section->vma);
+		    }
 		  l++;
 		}
 	    }
@@ -2191,13 +2205,13 @@ _bfd_coff_is_local_label_name (bfd *abfd
 
 bfd_boolean
 coff_find_nearest_line_with_names (bfd *abfd,
-                                   const struct dwarf_debug_section *debug_sections,
-                                   asection *section,
                                    asymbol **symbols,
+                                   asection *section,
                                    bfd_vma offset,
                                    const char **filename_ptr,
                                    const char **functionname_ptr,
-                                   unsigned int *line_ptr)
+                                   unsigned int *line_ptr,
+                                   const struct dwarf_debug_section *debug_sections)
 {
   bfd_boolean found;
   unsigned int i;
@@ -2222,10 +2236,9 @@ coff_find_nearest_line_with_names (bfd *
     return TRUE;
 
   /* Also try examining DWARF2 debugging information.  */
-  if (_bfd_dwarf2_find_nearest_line (abfd, debug_sections,
-                                     section, symbols, offset,
+  if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
 				     filename_ptr, functionname_ptr,
-				     line_ptr, NULL, 0,
+				     line_ptr, NULL, debug_sections, 0,
 				     &coff_data(abfd)->dwarf2_find_line_info))
     return TRUE;
 
@@ -2248,6 +2261,7 @@ coff_find_nearest_line_with_names (bfd *
   pend = p + cof->raw_syment_count;
   while (p < pend)
     {
+      BFD_ASSERT (p->is_sym);
       if (p->u.syment.n_sclass == C_FILE)
 	break;
       p += 1 + p->u.syment.n_numaux;
@@ -2271,6 +2285,7 @@ coff_find_nearest_line_with_names (bfd *
 	       p2 < pend;
 	       p2 += 1 + p2->u.syment.n_numaux)
 	    {
+	      BFD_ASSERT (p2->is_sym);
 	      if (p2->u.syment.n_scnum > 0
 		  && (section
 		      == coff_section_from_bfd_index (abfd,
@@ -2282,6 +2297,8 @@ coff_find_nearest_line_with_names (bfd *
 		  break;
 		}
 	    }
+	  if (p2 >= pend)
+	    break;
 
 	  file_addr = (bfd_vma) p2->u.syment.n_value;
 	  /* PR 11512: Include the section address of the function name symbol.  */
@@ -2346,6 +2363,8 @@ coff_find_nearest_line_with_names (bfd *
 	      if (coff->native)
 		{
 		  combined_entry_type *s = coff->native;
+
+		  BFD_ASSERT (s->is_sym);
 		  s = s + 1 + s->u.syment.n_numaux;
 
 		  /* In XCOFF a debugging symbol can follow the
@@ -2358,6 +2377,7 @@ coff_find_nearest_line_with_names (bfd *
 		    {
 		      /* The linenumber is stored in the auxent.  */
 		      union internal_auxent *a = &((s + 1)->u.auxent);
+
 		      line_base = a->x_sym.x_misc.x_lnsz.x_lnno;
 		      *line_ptr = line_base;
 		    }
@@ -2407,37 +2427,21 @@ coff_find_nearest_line_with_names (bfd *
 
 bfd_boolean
 coff_find_nearest_line (bfd *abfd,
-			asection *section,
 			asymbol **symbols,
+			asection *section,
 			bfd_vma offset,
 			const char **filename_ptr,
 			const char **functionname_ptr,
-			unsigned int *line_ptr)
+			unsigned int *line_ptr,
+			unsigned int *discriminator_ptr)
 {
-  return coff_find_nearest_line_with_names (abfd, dwarf_debug_sections,
-                                            section, symbols, offset,
-                                            filename_ptr, functionname_ptr,
-                                            line_ptr);
-}
-
-bfd_boolean
-coff_find_nearest_line_discriminator (bfd *abfd,
-				      asection *section,
-				      asymbol **symbols,
-				      bfd_vma offset,
-				      const char **filename_ptr,
-				      const char **functionname_ptr,
-				      unsigned int *line_ptr,
-				      unsigned int *discriminator)
-{
-  *discriminator = 0;
-  return coff_find_nearest_line_with_names (abfd, dwarf_debug_sections,
-                                            section, symbols, offset,
+  if (discriminator_ptr)
+    *discriminator_ptr = 0;
+  return coff_find_nearest_line_with_names (abfd, symbols, section, offset,
                                             filename_ptr, functionname_ptr,
-                                            line_ptr);
+                                            line_ptr, dwarf_debug_sections);
 }
 
-
 bfd_boolean
 coff_find_inliner_info (bfd *abfd,
 			const char **filename_ptr,
@@ -2475,7 +2479,7 @@ bfd_coff_set_symbol_class (bfd *        
 {
   coff_symbol_type * csym;
 
-  csym = coff_symbol_from (abfd, symbol);
+  csym = coff_symbol_from (symbol);
   if (csym == NULL)
     {
       bfd_set_error (bfd_error_invalid_operation);
@@ -2495,6 +2499,7 @@ bfd_coff_set_symbol_class (bfd *        
       if (native == NULL)
 	return FALSE;
 
+      native->is_sym = TRUE;
       native->u.syment.n_type   = T_NULL;
       native->u.syment.n_sclass = symbol_class;
 
@@ -2530,16 +2535,6 @@ bfd_coff_set_symbol_class (bfd *        
   return TRUE;
 }
 
-struct coff_comdat_info *
-bfd_coff_get_comdat_section (bfd *abfd, struct bfd_section *sec)
-{
-  if (bfd_get_flavour (abfd) == bfd_target_coff_flavour
-      && coff_section_data (abfd, sec) != NULL)
-    return coff_section_data (abfd, sec)->comdat;
-  else
-    return NULL;
-}
-
 bfd_boolean
 _bfd_coff_section_already_linked (bfd *abfd,
 				  asection *sec,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-go32.c ./bfd/coff-go32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-go32.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-go32.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel 386 COFF files (DJGPP variant).
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by DJ Delorie.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-h8300.c ./bfd/coff-h8300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-h8300.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-h8300.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Renesas H8/300 COFF binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain, <sac@cygnus.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -337,7 +337,7 @@ rtype2howto (arelent *internal, struct i
       internal->howto = howto_table + 19;
       break;
     default:
-      abort ();
+      internal->howto = NULL;
       break;
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-h8500.c ./bfd/coff-h8500.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-h8500.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-h8500.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Renesas H8/500 COFF binaries.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
    Written by Steve Chamberlain, <sac@cygnus.com>.
 
@@ -95,7 +95,7 @@ rtype2howto (arelent * internal, struct 
   switch (dst->r_type)
     {
     default:
-      abort ();
+      internal->howto = NULL;
       break;
     case R_H8500_IMM8:
       internal->howto = &r_imm8;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-i386.c ./bfd/coff-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-i386.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-i386.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel 386 COFF files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -340,16 +340,18 @@ static reloc_howto_type howto_table[] =
 	 PCRELOFFSET)		/* pcrel_offset */
 };
 
+#define NUM_HOWTOS (sizeof (howto_table) / sizeof (howto_table[0]))
+
 /* Turn a howto into a reloc  nunmber */
 
 #define SELECT_RELOC(x,howto) { x.r_type = howto->type; }
 #define BADMAG(x) I386BADMAG(x)
 #define I386 1			/* Customize coffcode.h */
 
-#define RTYPE2HOWTO(cache_ptr, dst)					\
-  ((cache_ptr)->howto =							\
-   ((dst)->r_type < sizeof (howto_table) / sizeof (howto_table[0])	\
-    ? howto_table + (dst)->r_type					\
+#define RTYPE2HOWTO(cache_ptr, dst)				\
+  ((cache_ptr)->howto =						\
+   ((dst)->r_type < NUM_HOWTOS					\
+    ? howto_table + (dst)->r_type				\
     : NULL))
 
 /* For 386 COFF a STYP_NOLOAD | STYP_BSS section is part of a shared
@@ -377,7 +379,7 @@ static reloc_howto_type howto_table[] =
       coffsym = (obj_symbols (abfd)				\
 	         + (cache_ptr->sym_ptr_ptr - symbols));		\
     else if (ptr)						\
-      coffsym = coff_symbol_from (abfd, ptr);			\
+      coffsym = coff_symbol_from (ptr);				\
     if (coffsym != (coff_symbol_type *) NULL			\
 	&& coffsym->native->u.syment.n_scnum == 0)		\
       cache_ptr->addend = - coffsym->native->u.syment.n_value;	\
@@ -386,7 +388,8 @@ static reloc_howto_type howto_table[] =
       cache_ptr->addend = - (ptr->section->vma + ptr->value);	\
     else							\
       cache_ptr->addend = 0;					\
-    if (ptr && howto_table[reloc.r_type].pc_relative)		\
+    if (ptr && reloc.r_type < NUM_HOWTOS			\
+	&& howto_table[reloc.r_type].pc_relative)		\
       cache_ptr->addend += asect->vma;				\
   }
 
@@ -438,7 +441,7 @@ coff_i386_rtype_to_howto (bfd *abfd ATTR
 {
   reloc_howto_type *howto;
 
-  if (rel->r_type >= sizeof (howto_table) / sizeof (howto_table[0]))
+  if (rel->r_type >= NUM_HOWTOS)
     {
       bfd_set_error (bfd_error_bad_value);
       return NULL;
@@ -574,7 +577,7 @@ coff_i386_reloc_name_lookup (bfd *abfd A
 {
   unsigned int i;
 
-  for (i = 0; i < sizeof (howto_table) / sizeof (howto_table[0]); i++)
+  for (i = 0; i < NUM_HOWTOS; i++)
     if (howto_table[i].name != NULL
 	&& strcasecmp (howto_table[i].name, r_name) == 0)
       return &howto_table[i];
@@ -605,9 +608,6 @@ coff_i386_is_local_label_name (bfd *abfd
 
 #include "coffcode.h"
 
-#define _bfd_generic_find_nearest_line_discriminator \
-	coff_find_nearest_line_discriminator
-
 const bfd_target
 #ifdef TARGET_SYM
   TARGET_SYM =
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-i860.c ./bfd/coff-i860.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-i860.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-i860.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel i860 COFF files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Created mostly by substituting "860" for "386" in coff-i386.c
    Harry Dolan <dolan@ssd.intel.com>, October 1995
 
@@ -467,7 +467,10 @@ static reloc_howto_type howto_table[] =
    FIXME: This macro refers to symbols and asect; these are from the
    calling function, not the macro arguments.  */
 
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)
+/* PR 17512: file: 0a38fb7c
+   Set an addend value, even if it is not going to be used.  A tool
+   like coffdump might be used to print out the contents of the reloc.  */
+#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) (cache_ptr)->addend = 0
 
 /* We use the special COFF backend linker.  */
 #define coff_relocate_section _bfd_coff_generic_relocate_section
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-i960.c ./bfd/coff-i960.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-i960.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-i960.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel 960 COFF files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -62,22 +62,22 @@ coff_i960_is_local_label_name (bfd *abfd
 /* This is just like the usual CALC_ADDEND, but it includes the
    section VMA for PC relative relocs.  */
 #ifndef CALC_ADDEND
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)                \
-  {                                                             \
-    coff_symbol_type *coffsym = (coff_symbol_type *) NULL;      \
-    if (ptr && bfd_asymbol_bfd (ptr) != abfd)                   \
-      coffsym = (obj_symbols (abfd)                             \
-                 + (cache_ptr->sym_ptr_ptr - symbols));         \
-    else if (ptr)                                               \
-      coffsym = coff_symbol_from (abfd, ptr);                   \
-    if (coffsym != (coff_symbol_type *) NULL                    \
-        && coffsym->native->u.syment.n_scnum == 0)              \
-      cache_ptr->addend = 0;                                    \
-    else if (ptr && bfd_asymbol_bfd (ptr) == abfd               \
-             && ptr->section != (asection *) NULL)              \
-      cache_ptr->addend = - (ptr->section->vma + ptr->value);   \
-    else                                                        \
-      cache_ptr->addend = 0;                                    \
+#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)		\
+  {								\
+    coff_symbol_type *coffsym = (coff_symbol_type *) NULL;	\
+    if (ptr && bfd_asymbol_bfd (ptr) != abfd)			\
+      coffsym = (obj_symbols (abfd)				\
+		 + (cache_ptr->sym_ptr_ptr - symbols));		\
+    else if (ptr)						\
+      coffsym = coff_symbol_from (ptr);				\
+    if (coffsym != (coff_symbol_type *) NULL			\
+	&& coffsym->native->u.syment.n_scnum == 0)		\
+      cache_ptr->addend = 0;					\
+    else if (ptr && bfd_asymbol_bfd (ptr) == abfd		\
+	     && ptr->section != (asection *) NULL)		\
+      cache_ptr->addend = - (ptr->section->vma + ptr->value);	\
+    else							\
+      cache_ptr->addend = 0;					\
     if (ptr && (reloc.r_type == 25 || reloc.r_type == 27))	\
       cache_ptr->addend += asect->vma;				\
   }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-ia64.c ./bfd/coff-ia64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-ia64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-ia64.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for HP/Intel IA-64 COFF files.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger <davidm@hpl.hp.com>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -47,7 +47,7 @@ static reloc_howto_type howto_table[] =
 #endif
 
 #define RTYPE2HOWTO(cache_ptr, dst) \
-	    (cache_ptr)->howto = howto_table + (dst)->r_type;
+  (cache_ptr)->howto = howto_table;
 
 #ifdef COFF_WITH_PE
 /* Return TRUE if this relocation should
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cofflink.c ./bfd/cofflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cofflink.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cofflink.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* COFF specific linker code.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -29,9 +29,11 @@
 #include "libcoff.h"
 #include "safe-ctype.h"
 
-static bfd_boolean coff_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info);
-static bfd_boolean coff_link_check_archive_element (bfd *abfd, struct bfd_link_info *info, bfd_boolean *pneeded);
-static bfd_boolean coff_link_add_symbols (bfd *abfd, struct bfd_link_info *info);
+static bfd_boolean coff_link_add_object_symbols (bfd *, struct bfd_link_info *);
+static bfd_boolean coff_link_check_archive_element
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *,
+   bfd_boolean *);
+static bfd_boolean coff_link_add_symbols (bfd *, struct bfd_link_info *);
 
 /* Return TRUE if SYM is a weak, external symbol.  */
 #define IS_WEAK_EXTERNAL(abfd, sym)			\
@@ -190,74 +192,6 @@ coff_link_add_object_symbols (bfd *abfd,
   return TRUE;
 }
 
-/* Look through the symbols to see if this object file should be
-   included in the link.  */
-
-static bfd_boolean
-coff_link_check_ar_symbols (bfd *abfd,
-			    struct bfd_link_info *info,
-			    bfd_boolean *pneeded,
-			    bfd **subsbfd)
-{
-  bfd_size_type symesz;
-  bfd_byte *esym;
-  bfd_byte *esym_end;
-
-  *pneeded = FALSE;
-
-  symesz = bfd_coff_symesz (abfd);
-  esym = (bfd_byte *) obj_coff_external_syms (abfd);
-  esym_end = esym + obj_raw_syment_count (abfd) * symesz;
-  while (esym < esym_end)
-    {
-      struct internal_syment sym;
-      enum coff_symbol_classification classification;
-
-      bfd_coff_swap_sym_in (abfd, esym, &sym);
-
-      classification = bfd_coff_classify_symbol (abfd, &sym);
-      if (classification == COFF_SYMBOL_GLOBAL
-	  || classification == COFF_SYMBOL_COMMON)
-	{
-	  const char *name;
-	  char buf[SYMNMLEN + 1];
-	  struct bfd_link_hash_entry *h;
-
-	  /* This symbol is externally visible, and is defined by this
-             object file.  */
-	  name = _bfd_coff_internal_syment_name (abfd, &sym, buf);
-	  if (name == NULL)
-	    return FALSE;
-	  h = bfd_link_hash_lookup (info->hash, name, FALSE, FALSE, TRUE);
-
-	  /* Auto import.  */
-	  if (!h
-	      && info->pei386_auto_import
-	      && CONST_STRNEQ (name, "__imp_"))
-	    h = bfd_link_hash_lookup (info->hash, name + 6, FALSE, FALSE, TRUE);
-
-	  /* We are only interested in symbols that are currently
-	     undefined.  If a symbol is currently known to be common,
-	     COFF linkers do not bring in an object file which defines
-	     it.  */
-	  if (h != (struct bfd_link_hash_entry *) NULL
-	      && h->type == bfd_link_hash_undefined)
-	    {
-	      if (!(*info->callbacks
-		    ->add_archive_element) (info, abfd, name, subsbfd))
-		return FALSE;
-	      *pneeded = TRUE;
-	      return TRUE;
-	    }
-	}
-
-      esym += (sym.n_numaux + 1) * symesz;
-    }
-
-  /* We do not need this object file.  */
-  return TRUE;
-}
-
 /* Check a single archive element to see if we need to include it in
    the link.  *PNEEDED is set according to whether this element is
    needed in the link or not.  This is called via
@@ -266,41 +200,23 @@ coff_link_check_ar_symbols (bfd *abfd,
 static bfd_boolean
 coff_link_check_archive_element (bfd *abfd,
 				 struct bfd_link_info *info,
+				 struct bfd_link_hash_entry *h,
+				 const char *name,
 				 bfd_boolean *pneeded)
 {
-  bfd *oldbfd;
-  bfd_boolean needed;
+  *pneeded = FALSE;
 
-  if (!_bfd_coff_get_external_symbols (abfd))
-    return FALSE;
+  /* We are only interested in symbols that are currently undefined.
+     If a symbol is currently known to be common, COFF linkers do not
+     bring in an object file which defines it.  */
+  if (h->type != bfd_link_hash_undefined)
+    return TRUE;
 
-  oldbfd = abfd;
-  if (!coff_link_check_ar_symbols (abfd, info, pneeded, &abfd))
+  if (!(*info->callbacks->add_archive_element) (info, abfd, name, &abfd))
     return FALSE;
+  *pneeded = TRUE;
 
-  needed = *pneeded;
-  if (needed)
-    {
-      /* Potentially, the add_archive_element hook may have set a
-	 substitute BFD for us.  */
-      if (abfd != oldbfd)
-	{
-	  if (!info->keep_memory
-	      && !_bfd_coff_free_symbols (oldbfd))
-	    return FALSE;
-	  if (!_bfd_coff_get_external_symbols (abfd))
-	    return FALSE;
-	}
-      if (!coff_link_add_symbols (abfd, info))
-	return FALSE;
-    }
-
-  if (!info->keep_memory || !needed)
-    {
-      if (!_bfd_coff_free_symbols (abfd))
-	return FALSE;
-    }
-  return TRUE;
+  return coff_link_add_object_symbols (abfd, info);
 }
 
 /* Add all the symbols from an object file to the hash table.  */
@@ -860,7 +776,7 @@ _bfd_coff_final_link (bfd *abfd,
      the opportunity to clear the output_has_begun fields of all the
      input BFD's.  */
   max_sym_count = 0;
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       size_t sz;
 
@@ -945,7 +861,7 @@ _bfd_coff_final_link (bfd *abfd,
   if (flaginfo.info->strip != strip_all && flaginfo.info->discard != discard_all)
     {
       /* Add local symbols from foreign inputs.  */
-      for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+      for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
 	{
 	  unsigned int i;
 
@@ -2087,7 +2003,10 @@ _bfd_coff_link_input_bfd (struct coff_fi
 			  if (strings == NULL)
 			    return FALSE;
 			}
-		      filename = strings + auxp->x_file.x_n.x_offset;
+		      if ((bfd_size_type) auxp->x_file.x_n.x_offset >= obj_coff_strings_len (input_bfd))
+			filename = _("<corrupt>");
+		      else
+			filename = strings + auxp->x_file.x_n.x_offset;
 		      indx = _bfd_stringtab_add (flaginfo->strtab, filename,
 						 hash, copy);
 		      if (indx == (bfd_size_type) -1)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-m68k.c ./bfd/coff-m68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-m68k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-m68k.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Motorola 68000 COFF binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -143,6 +143,7 @@ m68k_rtype2howto (arelent *internal, int
     case R_PCRWORD:	internal->howto = m68kcoff_howto_table + 4; break;
     case R_PCRLONG:	internal->howto = m68kcoff_howto_table + 5; break;
     case R_RELLONG_NEG:	internal->howto = m68kcoff_howto_table + 6; break;
+    default:            internal->howto = NULL; break;
     }
 }
 
@@ -359,7 +360,7 @@ m68kcoff_common_addend_special_fn (bfd *
       coffsym = (obj_symbols (abfd)				\
 	         + (cache_ptr->sym_ptr_ptr - symbols));		\
     else if (ptr)						\
-      coffsym = coff_symbol_from (abfd, ptr);			\
+      coffsym = coff_symbol_from (ptr);				\
     if (coffsym != (coff_symbol_type *) NULL			\
 	&& coffsym->native->u.syment.n_scnum == 0)		\
       cache_ptr->addend = - coffsym->native->u.syment.n_value;	\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-m88k.c ./bfd/coff-m88k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-m88k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-m88k.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Motorola 88000 COFF "Binary Compatibility Standard" files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-mcore.c ./bfd/coff-mcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-mcore.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-mcore.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Motorola MCore COFF/PE
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -273,16 +273,15 @@ mcore_coff_reloc_type_lookup (bfd * abfd
 }
 #undef HOW2MAP
 
+#define NUM_HOWTOS NUM_ELEM (mcore_coff_howto_table)
+
 static reloc_howto_type *
 mcore_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
 			      const char *r_name)
 {
   unsigned int i;
 
-  for (i = 0;
-       i < (sizeof (mcore_coff_howto_table)
-	    / sizeof (mcore_coff_howto_table[0]));
-       i++)
+  for (i = 0; i < NUM_HOWTOS; i++)
     if (mcore_coff_howto_table[i].name != NULL
 	&& strcasecmp (mcore_coff_howto_table[i].name, r_name) == 0)
       return &mcore_coff_howto_table[i];
@@ -290,8 +289,11 @@ mcore_coff_reloc_name_lookup (bfd *abfd 
   return NULL;
 }
 
-#define RTYPE2HOWTO(cache_ptr, dst) \
-  (cache_ptr)->howto = mcore_coff_howto_table + (dst)->r_type;
+#define RTYPE2HOWTO(cache_ptr, dst)				\
+  ((cache_ptr)->howto =						\
+   ((dst)->r_type < NUM_HOWTOS					\
+    ? mcore_coff_howto_table + (dst)->r_type			\
+    : NULL))
 
 static reloc_howto_type *
 coff_mcore_rtype_to_howto (bfd * abfd ATTRIBUTE_UNUSED,
@@ -303,7 +305,7 @@ coff_mcore_rtype_to_howto (bfd * abfd AT
 {
   reloc_howto_type * howto;
 
-  if (rel->r_type >= NUM_ELEM (mcore_coff_howto_table))
+  if (rel->r_type >= NUM_HOWTOS)
     return NULL;
 
   howto = mcore_coff_howto_table + rel->r_type;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-mips.c ./bfd/coff-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-mips.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-mips.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for MIPS Extended-Coff files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Original version by Per Bothner.
    Full support added by Ian Lance Taylor, ian@cygnus.com.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-ppc.c ./bfd/coff-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-ppc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-ppc.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for PowerPC Microsoft Portable Executable files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Original version pieced together by Kim Knuttila (krk@cygnus.com)
 
@@ -1073,10 +1073,11 @@ coff_ppc_relocate_section (bfd *output_b
 	      {
 		/* It is a file local symbol.  */
 		int *local_toc_table;
-		const char *name;
+		char name[SYMNMLEN + 1];
 
 		sym = syms + symndx;
-		name = sym->_n._n_name;
+		strncpy (name, sym->_n._n_name, SYMNMLEN);
+		name[SYMNMLEN] = '\0';
 
 		local_toc_table = obj_coff_local_toc_table(input_bfd);
 		our_toc_offset = local_toc_table[symndx];
@@ -1225,9 +1226,14 @@ coff_ppc_relocate_section (bfd *output_b
 	case IMAGE_REL_PPC_ABSOLUTE:
 	  {
 	    const char *my_name;
+	    char buf[SYMNMLEN + 1];
 
 	    if (h == 0)
-	      my_name = (syms+symndx)->_n._n_name;
+	      {
+		strncpy (buf, (syms+symndx)->_n._n_name, SYMNMLEN);
+		buf[SYMNMLEN] = '\0';
+		my_name = buf;
+	      }
 	    else
 	      my_name = h->root.root.root.string;
 
@@ -1288,11 +1294,8 @@ coff_ppc_relocate_section (bfd *output_b
 	      }
 
 	    if (h == 0)
-	      {
-		/* It is a file local symbol.  */
-		sym = syms + symndx;
-		name = sym->_n._n_name;
-	      }
+	      /* It is a file local symbol.  */
+	      sym = syms + symndx;
 	    else
 	      {
 		char *target = 0;
@@ -2149,7 +2152,7 @@ ppc_bfd_coff_final_link (bfd *abfd, stru
      the opportunity to clear the output_has_begun fields of all the
      input BFD's.  */
   max_sym_count = 0;
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       bfd_size_type sz;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-rs6000.c ./bfd/coff-rs6000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-rs6000.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-rs6000.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for IBM RS/6000 "XCOFF" files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Metin G. Ozisik, Mimi Phuong-Thao Vo, and John Gilmore.
    Archive support from Damon A. Permezel.
    Contributed by IBM Corporation and Cygnus Support.
@@ -430,39 +430,6 @@ static const struct dwarf_debug_section 
   { NULL,	NULL }, /* .debug_weaknames */
   { NULL,	NULL },
 };
-
-static bfd_boolean
-xcoff_find_nearest_line (bfd *abfd,
-                         asection *section,
-                         asymbol **symbols,
-                         bfd_vma offset,
-                         const char **filename_ptr,
-                         const char **functionname_ptr,
-                         unsigned int *line_ptr)
-{
-  return coff_find_nearest_line_with_names (abfd, xcoff_debug_sections,
-                                            section, symbols, offset,
-                                            filename_ptr, functionname_ptr,
-                                            line_ptr);
-}
-
-static bfd_boolean
-xcoff_find_nearest_line_discriminator (bfd *abfd,
-                                      asection *section,
-                                      asymbol **symbols,
-                                      bfd_vma offset,
-                                      const char **filename_ptr,
-                                      const char **functionname_ptr,
-                                      unsigned int *line_ptr,
-                                      unsigned int *discriminator)
-{
-  *discriminator = 0;
-  return coff_find_nearest_line_with_names (abfd, xcoff_debug_sections,
-                                            section, symbols, offset,
-                                            filename_ptr, functionname_ptr,
-                                            line_ptr);
-}
-
 
 void
 _bfd_xcoff_swap_sym_in (bfd *abfd, void * ext1, void * in1)
@@ -2608,7 +2575,7 @@ _bfd_xcoff_sizeof_headers (bfd *abfd,
 	return -1;
 
       /* Sum.  */
-      for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+      for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
 	for (s = sub->sections; s != NULL; s = s->next)
 	  {
 	    struct nbr_reloc_lineno *e = &n_rl[s->output_section->index];
@@ -4041,13 +4008,14 @@ const struct xcoff_dwsect_name xcoff_dws
 #define _bfd_xcoff_make_empty_symbol coff_make_empty_symbol
 #define _bfd_xcoff_print_symbol coff_print_symbol
 #define _bfd_xcoff_get_symbol_info coff_get_symbol_info
+#define _bfd_xcoff_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
 #define _bfd_xcoff_bfd_is_local_label_name _bfd_xcoff_is_local_label_name
 #define _bfd_xcoff_bfd_is_target_special_symbol \
   coff_bfd_is_target_special_symbol
 #define _bfd_xcoff_get_lineno coff_get_lineno
-#define _bfd_xcoff_find_nearest_line xcoff_find_nearest_line
-#define _bfd_generic_find_nearest_line_discriminator \
-  xcoff_find_nearest_line_discriminator
+#define _bfd_xcoff_find_nearest_line coff_find_nearest_line
+#define _bfd_xcoff_find_line coff_find_line
 #define _bfd_xcoff_find_inliner_info coff_find_inliner_info
 #define _bfd_xcoff_bfd_make_debug_symbol coff_bfd_make_debug_symbol
 #define _bfd_xcoff_read_minisymbols _bfd_generic_read_minisymbols
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-sh.c ./bfd/coff-sh.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-sh.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-sh.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Renesas Super-H COFF binaries.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
    Written by Steve Chamberlain, <sac@cygnus.com>.
    Relaxing code written by Ian Lance Taylor, <ian@cygnus.com>.
@@ -530,22 +530,22 @@ sh_coff_reloc_name_lookup (bfd *abfd ATT
 
 /* This is the same as the macro in coffcode.h, except that it copies
    r_offset into reloc_entry->addend for some relocs.  */
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)                \
-  {                                                             \
-    coff_symbol_type *coffsym = (coff_symbol_type *) NULL;      \
-    if (ptr && bfd_asymbol_bfd (ptr) != abfd)                   \
-      coffsym = (obj_symbols (abfd)                             \
-                 + (cache_ptr->sym_ptr_ptr - symbols));         \
-    else if (ptr)                                               \
-      coffsym = coff_symbol_from (abfd, ptr);                   \
-    if (coffsym != (coff_symbol_type *) NULL                    \
-        && coffsym->native->u.syment.n_scnum == 0)              \
-      cache_ptr->addend = 0;                                    \
-    else if (ptr && bfd_asymbol_bfd (ptr) == abfd               \
-             && ptr->section != (asection *) NULL)              \
-      cache_ptr->addend = - (ptr->section->vma + ptr->value);   \
-    else                                                        \
-      cache_ptr->addend = 0;                                    \
+#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)		\
+  {								\
+    coff_symbol_type *coffsym = (coff_symbol_type *) NULL;	\
+    if (ptr && bfd_asymbol_bfd (ptr) != abfd)			\
+      coffsym = (obj_symbols (abfd)				\
+		 + (cache_ptr->sym_ptr_ptr - symbols));		\
+    else if (ptr)						\
+      coffsym = coff_symbol_from (ptr);				\
+    if (coffsym != (coff_symbol_type *) NULL			\
+	&& coffsym->native->u.syment.n_scnum == 0)		\
+      cache_ptr->addend = 0;					\
+    else if (ptr && bfd_asymbol_bfd (ptr) == abfd		\
+	     && ptr->section != (asection *) NULL)		\
+      cache_ptr->addend = - (ptr->section->vma + ptr->value);	\
+    else							\
+      cache_ptr->addend = 0;					\
     if ((reloc).r_type == R_SH_SWITCH8				\
 	|| (reloc).r_type == R_SH_SWITCH16			\
 	|| (reloc).r_type == R_SH_SWITCH32			\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-sparc.c ./bfd/coff-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-sparc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-sparc.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Sparc COFF files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-stgo32.c ./bfd/coff-stgo32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-stgo32.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-stgo32.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel 386 COFF files (DJGPP variant with a stub).
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Written by Robert Hoehne.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-svm68k.c ./bfd/coff-svm68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-svm68k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-svm68k.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Motorola sysv68
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Written by Philippe De Muyter <phdm@info.ucl.ac.be>.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coffswap.h ./bfd/coffswap.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coffswap.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coffswap.h	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic COFF swapping routines, for BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-tic30.c ./bfd/coff-tic30.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-tic30.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-tic30.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for TMS320C30 coff binaries.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -136,7 +136,7 @@ rtype2howto (arelent *internal, struct i
       internal->howto = &tic30_coff_howto_table[4];
       break;
     default:
-      abort ();
+      internal->howto = NULL;
       break;
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-tic4x.c ./bfd/coff-tic4x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-tic4x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-tic4x.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for TMS320C4X coff binaries.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
 
@@ -261,30 +261,30 @@ tic4x_reloc_processing (arelent *relent,
 
 /* TI COFF v0, DOS tools (little-endian headers).  */
 CREATE_LITTLE_COFF_TARGET_VEC(tic4x_coff0_vec, "coff0-tic4x",
-			      HAS_LOAD_PAGE, SEC_CODE | SEC_READONLY, '_',
+			      0, SEC_CODE | SEC_READONLY, '_',
 			      NULL, &ticoff0_swap_table);
 
 /* TI COFF v0, SPARC tools (big-endian headers).  */
 CREATE_BIGHDR_COFF_TARGET_VEC(tic4x_coff0_beh_vec, "coff0-beh-tic4x",
-			      HAS_LOAD_PAGE, SEC_CODE | SEC_READONLY, '_',
+			      0, SEC_CODE | SEC_READONLY, '_',
 			      &tic4x_coff0_vec, &ticoff0_swap_table);
 
 /* TI COFF v1, DOS tools (little-endian headers).  */
 CREATE_LITTLE_COFF_TARGET_VEC(tic4x_coff1_vec, "coff1-tic4x",
-			      HAS_LOAD_PAGE, SEC_CODE | SEC_READONLY, '_',
+			      0, SEC_CODE | SEC_READONLY, '_',
 			      &tic4x_coff0_beh_vec, &ticoff1_swap_table);
 
 /* TI COFF v1, SPARC tools (big-endian headers).  */
 CREATE_BIGHDR_COFF_TARGET_VEC(tic4x_coff1_beh_vec, "coff1-beh-tic4x",
-			      HAS_LOAD_PAGE, SEC_CODE | SEC_READONLY, '_',
+			      0, SEC_CODE | SEC_READONLY, '_',
 			      &tic4x_coff1_vec, &ticoff1_swap_table);
 
 /* TI COFF v2, TI DOS tools output (little-endian headers).  */
 CREATE_LITTLE_COFF_TARGET_VEC(tic4x_coff2_vec, "coff2-tic4x",
-			      HAS_LOAD_PAGE, SEC_CODE | SEC_READONLY, '_',
+			      0, SEC_CODE | SEC_READONLY, '_',
 			      &tic4x_coff1_beh_vec, COFF_SWAP_TABLE);
 
 /* TI COFF v2, TI SPARC tools output (big-endian headers).  */
 CREATE_BIGHDR_COFF_TARGET_VEC(tic4x_coff2_beh_vec, "coff2-beh-tic4x",
-			      HAS_LOAD_PAGE, SEC_CODE | SEC_READONLY, '_',
+			      0, SEC_CODE | SEC_READONLY, '_',
 			      &tic4x_coff2_vec, COFF_SWAP_TABLE);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-tic54x.c ./bfd/coff-tic54x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-tic54x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-tic54x.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for TMS320C54X coff binaries.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Timothy Wall (twall@cygnus.com)
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-tic80.c ./bfd/coff-tic80.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-tic80.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-tic80.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Texas Instruments TMS320C80 Multimedia Video Processor (MVP).
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish (fnf@cygnus.com)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-u68k.c ./bfd/coff-u68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-u68k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-u68k.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Motorola 68000 COFF binaries having underscore with name.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-w65.c ./bfd/coff-w65.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-w65.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-w65.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for WDC 65816 COFF binaries.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain, <sac@cygnus.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -31,16 +31,18 @@
 static reloc_howto_type howto_table[] =
 {
   HOWTO (R_W65_ABS8,    0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "abs8", TRUE, 0x000000ff, 0x000000ff, FALSE),
-    HOWTO (R_W65_ABS16,   1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, "abs16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-    HOWTO (R_W65_ABS24,   0,  2, 32, FALSE, 0, complain_overflow_bitfield, 0, "abs24", TRUE, 0x00ffffff, 0x00ffffff, FALSE),
-    HOWTO (R_W65_ABS8S8,  0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, ">abs8", TRUE, 0x000000ff, 0x000000ff, FALSE),
-    HOWTO (R_W65_ABS8S16, 0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "^abs8", TRUE, 0x000000ff, 0x000000ff, FALSE),
-    HOWTO (R_W65_ABS16S8, 1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, ">abs16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-    HOWTO (R_W65_ABS16S16,1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, "^abs16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
-    HOWTO (R_W65_PCR8,    0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "pcrel8", TRUE, 0x000000ff, 0x000000ff, TRUE),
-    HOWTO (R_W65_PCR16,   1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, "pcrel16", TRUE, 0x0000ffff, 0x0000ffff, TRUE),
-    HOWTO (R_W65_DP,      0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "dp", TRUE, 0x000000ff, 0x000000ff, FALSE),
-  };
+  HOWTO (R_W65_ABS16,   1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, "abs16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
+  HOWTO (R_W65_ABS24,   0,  2, 32, FALSE, 0, complain_overflow_bitfield, 0, "abs24", TRUE, 0x00ffffff, 0x00ffffff, FALSE),
+  HOWTO (R_W65_ABS8S8,  0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, ">abs8", TRUE, 0x000000ff, 0x000000ff, FALSE),
+  HOWTO (R_W65_ABS8S16, 0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "^abs8", TRUE, 0x000000ff, 0x000000ff, FALSE),
+  HOWTO (R_W65_ABS16S8, 1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, ">abs16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
+  HOWTO (R_W65_ABS16S16,1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, "^abs16", TRUE, 0x0000ffff, 0x0000ffff, FALSE),
+  HOWTO (R_W65_PCR8,    0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "pcrel8", TRUE, 0x000000ff, 0x000000ff, TRUE),
+  HOWTO (R_W65_PCR16,   1,  0, 16, FALSE, 0, complain_overflow_bitfield, 0, "pcrel16", TRUE, 0x0000ffff, 0x0000ffff, TRUE),
+  HOWTO (R_W65_DP,      0,  0, 8,  FALSE, 0, complain_overflow_bitfield, 0, "dp", TRUE, 0x000000ff, 0x000000ff, FALSE),
+};
+
+#define NUM_HOWTOS (sizeof (howto_table) / sizeof (howto_table[0]))
 
 /* Turn a howto into a reloc number.  */
 
@@ -61,7 +63,7 @@ static reloc_howto_type howto_table[] =
 static int
 select_reloc (reloc_howto_type *howto)
 {
-  return howto->type ;
+  return howto->type;
 }
 
 /* Code to turn a r_type into a howto ptr, uses the above howto table.  */
@@ -70,7 +72,10 @@ static void
 rtype2howto (arelent *internal,
 	     struct internal_reloc *dst)
 {
-  internal->howto = howto_table + dst->r_type - 1;
+  if (dst->r_type > 0 && dst->r_type <= NUM_HOWTOS)
+    internal->howto = howto_table + dst->r_type - 1;
+  else
+    internal->howto = NULL;
 }
 
 #define RTYPE2HOWTO(internal, relocentry) rtype2howto(internal,relocentry)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-we32k.c ./bfd/coff-we32k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-we32k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-we32k.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for we32k COFF files.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Contributed by Brendan Kehoe (brendan@cs.widener.edu).
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -53,14 +53,19 @@ static reloc_howto_type howto_table[] =
   HOWTO(R_PCRLONG,	       0,  2, 	32, TRUE,  0, complain_overflow_signed, 0, "DISP32",   TRUE, 0xffffffff,0xffffffff, FALSE),
 };
 
+#define NUM_HOWTOS (sizeof (howto_table) / sizeof (howto_table[0]))
+
 /* Turn a howto into a reloc  nunmber */
 
 #define SELECT_RELOC(x,howto) { x.r_type = howto->type; }
 #define BADMAG(x) WE32KBADMAG(x)
 #define WE32K	1
 
-#define RTYPE2HOWTO(cache_ptr, dst) \
-	    (cache_ptr)->howto = howto_table + (dst)->r_type;
+#define RTYPE2HOWTO(cache_ptr, dst)				\
+  ((cache_ptr)->howto =						\
+   ((dst)->r_type < NUM_HOWTOS					\
+    ? howto_table + (dst)->r_type				\
+    : NULL))
 
 #ifndef bfd_pe_print_pdata
 #define bfd_pe_print_pdata	NULL
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-x86_64.c ./bfd/coff-x86_64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-x86_64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-x86_64.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for AMD 64 COFF files.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -143,6 +143,16 @@ coff_amd64_reloc (bfd *abfd,
 	reloc_howto_type *howto = reloc_entry->howto;
 	unsigned char *addr = (unsigned char *) data + reloc_entry->address;
 
+	/* FIXME: We do not have an end address for data, so we cannot
+	   accurately range check any addresses computed against it.
+	   cf: PR binutils/17512: file: 1085-1761-0.004.
+	   For now we do the best that we can.  */
+	if (addr < (unsigned char *) data || addr > ((unsigned char *) data) + input_section->size)
+	  {
+	    bfd_set_error (bfd_error_bad_value);
+	    return bfd_reloc_notsupported;
+	  }
+
 	switch (howto->size)
 	  {
 	  case 0:
@@ -177,7 +187,8 @@ coff_amd64_reloc (bfd *abfd,
 	    break;
 
 	  default:
-	    abort ();
+	    bfd_set_error (bfd_error_bad_value);
+	    return bfd_reloc_notsupported;
 	  }
       }
 
@@ -448,6 +459,8 @@ static reloc_howto_type howto_table[] =
 	 PCRELOFFSET)		/* pcrel_offset */
 };
 
+#define NUM_HOWTOS ARRAY_SIZE (howto_table)
+
 /* Turn a howto into a reloc  nunmber */
 
 #define SELECT_RELOC(x,howto) { x.r_type = howto->type; }
@@ -456,7 +469,7 @@ static reloc_howto_type howto_table[] =
 
 #define RTYPE2HOWTO(cache_ptr, dst)		\
   ((cache_ptr)->howto =				\
-   ((dst)->r_type < ARRAY_SIZE (howto_table))	\
+   ((dst)->r_type < NUM_HOWTOS)			\
     ? howto_table + (dst)->r_type		\
     : NULL)
 
@@ -486,7 +499,7 @@ static reloc_howto_type howto_table[] =
       coffsym = (obj_symbols (abfd)				\
 	         + (cache_ptr->sym_ptr_ptr - symbols));		\
     else if (ptr)						\
-      coffsym = coff_symbol_from (abfd, ptr);			\
+      coffsym = coff_symbol_from (ptr);				\
     								\
     if (coffsym != NULL						\
 	&& coffsym->native->u.syment.n_scnum == 0)		\
@@ -496,7 +509,8 @@ static reloc_howto_type howto_table[] =
       cache_ptr->addend = - (ptr->section->vma + ptr->value);	\
     else							\
       cache_ptr->addend = 0;					\
-    if (ptr && howto_table[reloc.r_type].pc_relative)		\
+    if (ptr && reloc.r_type < NUM_HOWTOS			\
+	&& howto_table[reloc.r_type].pc_relative)		\
       cache_ptr->addend += asect->vma;				\
   }
 
@@ -546,7 +560,7 @@ coff_amd64_rtype_to_howto (bfd *abfd ATT
 {
   reloc_howto_type *howto;
 
-  if (rel->r_type >= ARRAY_SIZE (howto_table))
+  if (rel->r_type >= NUM_HOWTOS)
     {
       bfd_set_error (bfd_error_bad_value);
       return NULL;
@@ -689,7 +703,7 @@ coff_amd64_reloc_name_lookup (bfd *abfd 
 {
   unsigned int i;
 
-  for (i = 0; i < sizeof (howto_table) / sizeof (howto_table[0]); i++)
+  for (i = 0; i < NUM_HOWTOS; i++)
     if (howto_table[i].name != NULL
 	&& strcasecmp (howto_table[i].name, r_name) == 0)
       return &howto_table[i];
@@ -730,9 +744,6 @@ coff_amd64_is_local_label_name (bfd *abf
 #define amd64coff_object_p coff_object_p
 #endif
 
-#define _bfd_generic_find_nearest_line_discriminator \
-	coff_find_nearest_line_discriminator
-
 const bfd_target
 #ifdef TARGET_SYM
   TARGET_SYM =
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-z80.c ./bfd/coff-z80.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-z80.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-z80.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Zilog Z80 COFF binaries.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Arnold Metselaar <arnold_m@operamail.com>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -81,7 +81,7 @@ rtype2howto (arelent *internal, struct i
   switch (dst->r_type)
     {
     default:
-      abort ();
+      internal->howto = NULL;
       break;
     case R_IMM8:
       internal->howto = &r_imm8;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-z8k.c ./bfd/coff-z8k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/coff-z8k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/coff-z8k.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Zilog Z800n COFF binaries.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
    Written by Steve Chamberlain, <sac@cygnus.com>.
 
@@ -85,7 +85,7 @@ rtype2howto (arelent *internal, struct i
   switch (dst->r_type)
     {
     default:
-      abort ();
+      internal->howto = NULL;
       break;
     case R_IMM8:
       internal->howto = &r_imm8;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/compress.c ./bfd/compress.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/compress.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/compress.c	2015-01-20 02:05:35.000000000 +0000
@@ -1,5 +1,5 @@
 /* Compressed section support (intended for debug sections).
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -152,7 +152,8 @@ DESCRIPTION
 	return @var{*ptr} with memory malloc'd by this function.
 
 	Return @code{TRUE} if the full section contents is retrieved
-	successfully.
+	successfully.  If the section has no contents then this function
+	returns @code{TRUE} but @var{*ptr} is set to NULL.
 */
 
 bfd_boolean
@@ -172,7 +173,10 @@ bfd_get_full_section_contents (bfd *abfd
   else
     sz = sec->size;
   if (sz == 0)
-    return TRUE;
+    {
+      *ptr = NULL;
+      return TRUE;
+    }
 
   switch (sec->compress_status)
     {
@@ -183,6 +187,7 @@ bfd_get_full_section_contents (bfd *abfd
 	  if (p == NULL)
 	    return FALSE;
 	}
+
       if (!bfd_get_section_contents (abfd, sec, p, 0, sz))
 	{
 	  if (*ptr != p)
@@ -239,6 +244,8 @@ bfd_get_full_section_contents (bfd *abfd
 #endif
 
     case COMPRESS_SECTION_DONE:
+      if (sec->contents == NULL)
+	return FALSE;
       if (p == NULL)
 	{
 	  p = (bfd_byte *) bfd_malloc (sz);
@@ -246,7 +253,9 @@ bfd_get_full_section_contents (bfd *abfd
 	    return FALSE;
 	  *ptr = p;
 	}
-      memcpy (p, sec->contents, sz);
+      /* PR 17512; file: 5bc29788.  */
+      if (p != sec->contents)
+	memcpy (p, sec->contents, sz);
       return TRUE;
 
     default:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/config.bfd ./bfd/config.bfd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/config.bfd	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/config.bfd	2015-01-20 02:05:35.000000000 +0000
@@ -1,6 +1,6 @@
 # config.bfd
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -77,7 +77,6 @@ case $targ in
  m68*-bull-sysv* | \
  maxq-*-coff | \
  mips*el-*-rtems* | \
- or1k-*-rtems* | \
  powerpcle-*-rtems* | \
  sparc*-*-rtemsaout* | \
  sparc-*-lynxos* | \
@@ -128,6 +127,7 @@ spu*)            targ_archs=bfd_spu_arch
 tilegx*)	 targ_archs=bfd_tilegx_arch ;;
 tilepro*)	 targ_archs=bfd_tilepro_arch ;;
 v850*)		 targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;;
+visium*)	 targ_archs=bfd_visium_arch ;;
 x86_64*)	 targ_archs=bfd_i386_arch ;;
 xtensa*)	 targ_archs=bfd_xtensa_arch ;;
 xgate)		 targ_archs=bfd_xgate_arch ;;
@@ -329,7 +329,7 @@ case "${targ}" in
     targ_defvec=arm_elf32_le_vec
     targ_selvecs=arm_elf32_be_vec
     ;;
-  armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-*)
+  armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-* | armeb-*-eabi*)
     targ_defvec=arm_elf32_be_vec
     targ_selvecs=arm_elf32_le_vec
     ;;
@@ -447,6 +447,10 @@ case "${targ}" in
     targ_selvecs=moxie_elf32_le_vec
     ;;
 
+  moxie-*-moxiebox*)
+    targ_defvec=moxie_elf32_le_vec
+    ;;
+
   h8300*-*-rtemscoff*)
     targ_defvec=h8300_coff_vec
     targ_underscore=yes
@@ -1030,7 +1034,7 @@ case "${targ}" in
     targ_defvec=mips_elf32_trad_le_vec
     targ_selvecs="mips_elf32_trad_be_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
     ;;
-  mips*-sde-elf* | mips*-mti-elf*)
+  mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
     targ_defvec=mips_elf32_trad_be_vec
     targ_selvecs="mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
     ;;
@@ -1170,11 +1174,11 @@ case "${targ}" in
     targ_selvecs=nios2_elf32_be_vec
     ;;
 
-  or1k-*-elf | or1k-*-linux*)
+  or1k-*-elf | or1k-*-linux* | or1k-*-rtems*)
     targ_defvec=or1k_elf32_vec
     ;;
 
-  or1knd-*-elf | or1knd-*-linux*)
+  or1knd-*-elf | or1knd-*-linux* | or1knd-*-rtems*)
     targ_defvec=or1k_elf32_vec
     ;;
 
@@ -1654,6 +1658,10 @@ case "${targ}" in
     targ_defvec=vax_elf32_vec
     ;;
 
+  visium-*-elf)
+    targ_defvec=visium_elf32_vec
+    ;;
+ 
   we32k-*-*)
     targ_defvec=we32k_coff_vec
     ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/config.in ./bfd/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/config.in	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/config.in	2015-01-20 02:05:35.000000000 +0000
@@ -1,4 +1,4 @@
-/* config.in.  Generated from configure.in by autoheader.  */
+/* config.in.  Generated from configure.ac by autoheader.  */
 
 /* Check that config.h is #included before system headers
     (this works only for glibc, but that should be enough).  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure ./bfd/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/configure	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for bfd 2.24.51.
+# Generated by GNU Autoconf 2.64 for bfd 2.25.51.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='bfd'
 PACKAGE_TARNAME='bfd'
-PACKAGE_VERSION='2.24.51'
-PACKAGE_STRING='bfd 2.24.51'
+PACKAGE_VERSION='2.25.51'
+PACKAGE_STRING='bfd 2.25.51'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1349,7 +1349,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bfd 2.24.51 to adapt to many kinds of systems.
+\`configure' configures bfd 2.25.51 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1420,7 +1420,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bfd 2.24.51:";;
+     short | recursive ) echo "Configuration of bfd 2.25.51:";;
    esac
   cat <<\_ACEOF
 
@@ -1435,7 +1435,7 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --disable-largefile     omit support for large files
   --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)
   --enable-targets        alternative target configurations
@@ -1541,7 +1541,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bfd configure 2.24.51
+bfd configure 2.25.51
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2183,7 +2183,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bfd $as_me 2.24.51, which was
+It was created by bfd $as_me 2.25.51, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -3991,7 +3991,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='bfd'
- VERSION='2.24.51'
+ VERSION='2.25.51'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -7938,7 +7938,7 @@ fi
       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
 	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
 	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[012]*)
+	10.[012][,.]*)
 	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
 	10.*)
 	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
@@ -9211,7 +9211,7 @@ _LT_EOF
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
 	 && test "$tmp_diet" = no
       then
-	tmp_addflag=
+	tmp_addflag=' $pic_flag'
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
@@ -11776,17 +11776,106 @@ CC="$lt_save_CC"
 # even in directories otherwise not depending on the $plugins option.
 
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
 
 case "${host}" in
@@ -12012,10 +12101,6 @@ fi
 
 
 if test "$plugins" = "yes"; then
-  if test "$enable_dlopen" != "yes" ; then
-    as_fn_error "
-      Building BFD with plugin support requires a host that supports -ldl." "$LINENO" 5
-  fi
   enable_targets="$enable_targets plugin"
 fi
 
@@ -13532,21 +13617,6 @@ fi
 fi
 
 
-for ac_header in windows.h dlfcn.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether string.h and strings.h may both be included" >&5
 $as_echo_n "checking whether string.h and strings.h may both be included... " >&6; }
 if test "${gcc_cv_header_string+set}" = set; then :
@@ -15206,7 +15276,11 @@ selarchs="$f"
 tb=
 
 elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo
-     elf-eh-frame.lo dwarf1.lo"
+     elf-eh-frame.lo dwarf1.lo dwarf2.lo"
+coffgen="coffgen.lo dwarf2.lo"
+coff="cofflink.lo $coffgen"
+ecoff="ecofflink.lo $coffgen"
+xcoff="xcofflink.lo $coffgen"
 
 for vec in $selvecs
 do
@@ -15219,7 +15293,7 @@ do
     aarch64_elf32_le_vec)	 tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
     aarch64_elf64_be_vec)	 tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
     aarch64_elf64_le_vec)	 tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
-    alpha_ecoff_le_vec)		 tb="$tb coff-alpha.lo ecoff.lo ecofflink.lo"; target_size=64 ;;
+    alpha_ecoff_le_vec)		 tb="$tb coff-alpha.lo ecoff.lo $ecoff"; target_size=64 ;;
     alpha_elf64_vec)		 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
     alpha_elf64_fbsd_vec)	 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
     alpha_nlm32_vec)		 tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"; target_size=64 ;;
@@ -15236,8 +15310,8 @@ do
     arm_aout_le_vec)		 tb="$tb aout-arm.lo aout32.lo" ;;
     arm_aout_nbsd_vec)		 tb="$tb armnetbsd.lo aout32.lo" ;;
     arm_aout_riscix_vec)	 tb="$tb aout32.lo riscix.lo" ;;
-    arm_coff_be_vec)		 tb="$tb coff-arm.lo cofflink.lo " ;;
-    arm_coff_le_vec)		 tb="$tb coff-arm.lo cofflink.lo " ;;
+    arm_coff_be_vec)		 tb="$tb coff-arm.lo $coff" ;;
+    arm_coff_le_vec)		 tb="$tb coff-arm.lo $coff" ;;
     arm_elf32_be_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_le_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_nacl_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
@@ -15246,18 +15320,18 @@ do
     arm_elf32_symbian_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_vxworks_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
     arm_elf32_vxworks_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
-    arm_pe_be_vec)		 tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_le_vec)		 tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_epoc_be_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_epoc_le_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_wince_be_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_wince_le_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_be_vec)		 tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_le_vec)		 tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_epoc_be_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_epoc_le_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_wince_be_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_wince_le_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;;
+    arm_pe_be_vec)		 tb="$tb pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_le_vec)		 tb="$tb pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_epoc_be_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_epoc_le_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_wince_be_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_wince_le_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;;
+    arm_pei_be_vec)		 tb="$tb pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_le_vec)		 tb="$tb pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_epoc_be_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_epoc_le_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_wince_be_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_wince_le_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
     avr_elf32_vec)		 tb="$tb elf32-avr.lo elf32.lo $elf" ;;
     bfin_elf32_vec)		 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     bfin_elf32_fdpic_vec)	 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
@@ -15280,9 +15354,9 @@ do
     fr30_elf32_vec)		 tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
     frv_elf32_vec)		 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
     frv_elf32_fdpic_vec)	 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
-    h8300_coff_vec)		 tb="$tb coff-h8300.lo reloc16.lo" ;;
+    h8300_coff_vec)		 tb="$tb coff-h8300.lo reloc16.lo $coffgen" ;;
     h8300_elf32_vec)		 tb="$tb elf32-h8300.lo elf32.lo $elf" ;;
-    h8500_coff_vec)		 tb="$tb coff-h8500.lo reloc16.lo" ;;
+    h8500_coff_vec)		 tb="$tb coff-h8500.lo reloc16.lo $coffgen" ;;
     hppa_elf32_vec)		 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     hppa_elf32_linux_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     hppa_elf32_nbsd_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
@@ -15299,10 +15373,10 @@ do
     i386_aout_mach3_vec)	 tb="$tb i386mach3.lo aout32.lo" ;;
     i386_aout_nbsd_vec)		 tb="$tb i386netbsd.lo aout32.lo" ;;
     i386_aout_os9k_vec)		 tb="$tb i386os9k.lo aout32.lo" ;;
-    i386_coff_vec)		 tb="$tb coff-i386.lo cofflink.lo" ;;
-    i386_coff_go32_vec)		 tb="$tb coff-go32.lo cofflink.lo" ;;
-    i386_coff_go32stubbed_vec)	 tb="$tb coff-stgo32.lo cofflink.lo" ;;
-    i386_coff_lynx_vec)		 tb="$tb cf-i386lynx.lo cofflink.lo lynx-core.lo" ;;
+    i386_coff_vec)		 tb="$tb coff-i386.lo $coff" ;;
+    i386_coff_go32_vec)		 tb="$tb coff-go32.lo $coff" ;;
+    i386_coff_go32stubbed_vec)	 tb="$tb coff-stgo32.lo $coff" ;;
+    i386_coff_lynx_vec)		 tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;;
     i386_elf32_vec)		 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
     i386_elf32_fbsd_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
     i386_elf32_nacl_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
@@ -15311,9 +15385,9 @@ do
     i386_mach_o_vec)		 tb="$tb mach-o-i386.lo" ;;
     i386_msdos_vec)		 tb="$tb i386msdos.lo" ;;
     i386_nlm32_vec)		 tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;;
-    i386_pe_vec)		 tb="$tb pe-i386.lo peigen.lo cofflink.lo" ;;
-    i386_pei_vec)		 tb="$tb pei-i386.lo peigen.lo cofflink.lo" ;;
-    i860_coff_vec)		 tb="$tb coff-i860.lo cofflink.lo" ;;
+    i386_pe_vec)		 tb="$tb pe-i386.lo peigen.lo $coff" ;;
+    i386_pei_vec)		 tb="$tb pei-i386.lo peigen.lo $coff" ;;
+    i860_coff_vec)		 tb="$tb coff-i860.lo $coff" ;;
     i860_elf32_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
     i860_elf32_le_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
     i960_elf32_vec)		 tb="$tb elf32-i960.lo elf32.lo $elf" ;;
@@ -15323,9 +15397,9 @@ do
     ia64_elf64_le_vec)		 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf64_hpux_be_vec)	 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf64_vms_vec)		 tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;;
-    ia64_pei_vec)		 tb="$tb pei-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;;
-    icoff_be_vec)		 tb="$tb coff-i960.lo cofflink.lo" ;;
-    icoff_le_vec)		 tb="$tb coff-i960.lo cofflink.lo" ;;
+    ia64_pei_vec)		 tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;;
+    icoff_be_vec)		 tb="$tb coff-i960.lo $coff" ;;
+    icoff_le_vec)		 tb="$tb coff-i960.lo $coff" ;;
     ieee_vec)			 tb="$tb ieee.lo" ;;
     ip2k_elf32_vec)		 tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
     iq2000_elf32_vec)		 tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
@@ -15348,56 +15422,56 @@ do
     m68k_aout_linux_vec)	 tb="$tb m68klinux.lo aout32.lo" ;;
     m68k_aout_nbsd_vec)		 tb="$tb m68knetbsd.lo aout32.lo" ;;
     m68k_aout_newsos3_vec)	 tb="$tb newsos3.lo aout32.lo" ;;
-    m68k_coff_vec)		 tb="$tb coff-m68k.lo cofflink.lo" ;;
-    m68k_coff_apollo_vec)	 tb="$tb coff-apollo.lo" ;;
-    m68k_coff_aux_vec)		 tb="$tb coff-aux.lo coff-m68k.lo cofflink.lo" ;;
-    m68k_coff_sysv_vec)		 tb="$tb coff-svm68k.lo cofflink.lo" ;;
-    m68k_coff_un_vec)		 tb="$tb coff-u68k.lo coff-m68k.lo cofflink.lo" ;;
+    m68k_coff_vec)		 tb="$tb coff-m68k.lo $coff" ;;
+    m68k_coff_apollo_vec)	 tb="$tb coff-apollo.lo $coffgen" ;;
+    m68k_coff_aux_vec)		 tb="$tb coff-aux.lo coff-m68k.lo $coff" ;;
+    m68k_coff_sysv_vec)		 tb="$tb coff-svm68k.lo $coff" ;;
+    m68k_coff_un_vec)		 tb="$tb coff-u68k.lo coff-m68k.lo $coff" ;;
     m68k_elf32_vec)		 tb="$tb elf32-m68k.lo elf32.lo $elf" ;;
     m68k_versados_vec)		 tb="$tb versados.lo" ;;
     m88k_aout_mach3_vec)	 tb="$tb m88kmach3.lo aout32.lo" ;;
     m88k_aout_obsd_vec)		 tb="$tb m88kopenbsd.lo aout32.lo" ;;
-    m88k_coff_bcs_vec)		 tb="$tb coff-m88k.lo" ;;
+    m88k_coff_bcs_vec)		 tb="$tb coff-m88k.lo $coffgen" ;;
     m88k_elf32_vec)		 tb="$tb elf32-m88k.lo elf32.lo $elf" ;;
-    mach_o_be_vec)		 tb="$tb mach-o.lo" ;;
-    mach_o_le_vec)		 tb="$tb mach-o.lo" ;;
-    mach_o_fat_vec)		 tb="$tb mach-o.lo" ;;
+    mach_o_be_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
+    mach_o_le_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
+    mach_o_fat_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
     mcore_elf32_be_vec)		 tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
     mcore_elf32_le_vec)		 tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
-    mcore_pe_be_vec)		 tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;;
-    mcore_pe_le_vec)		 tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;;
-    mcore_pei_be_vec)		 tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;;
-    mcore_pei_le_vec)		 tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;;
+    mcore_pe_be_vec)		 tb="$tb pe-mcore.lo peigen.lo $coff" ;;
+    mcore_pe_le_vec)		 tb="$tb pe-mcore.lo peigen.lo $coff" ;;
+    mcore_pei_be_vec)		 tb="$tb pei-mcore.lo peigen.lo $coff" ;;
+    mcore_pei_le_vec)		 tb="$tb pei-mcore.lo peigen.lo $coff" ;;
     mep_elf32_vec)		 tb="$tb elf32-mep.lo elf32.lo $elf" ;;
     mep_elf32_le_vec)		 tb="$tb elf32-mep.lo elf32.lo $elf" ;;
     metag_elf32_vec)		 tb="$tb elf32-metag.lo elf32.lo $elf" ;;
     microblaze_elf32_vec)	 tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
     microblaze_elf32_le_vec)	 tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
-    mips_ecoff_be_vec)		 tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
-    mips_ecoff_le_vec)		 tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
-    mips_ecoff_bele_vec)	 tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
-    mips_elf32_be_vec)		 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_le_vec)		 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_n_be_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_n_le_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_ntrad_be_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_ntrad_le_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_ntradfbsd_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_ntradfbsd_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_trad_be_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_trad_le_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_tradfbsd_be_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_tradfbsd_le_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_vxworks_be_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_vxworks_le_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf64_be_vec)		 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_le_vec)		 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_trad_be_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_trad_le_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_tradfbsd_be_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_tradfbsd_le_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_pe_le_vec)		 tb="$tb pe-mips.lo peigen.lo cofflink.lo" ;;
-    mips_pei_le_vec)		 tb="$tb pei-mips.lo peigen.lo cofflink.lo" ;;
+    mips_ecoff_be_vec)		 tb="$tb coff-mips.lo ecoff.lo $ecoff" ;;
+    mips_ecoff_le_vec)		 tb="$tb coff-mips.lo ecoff.lo $ecoff" ;;
+    mips_ecoff_bele_vec)	 tb="$tb coff-mips.lo ecoff.lo $ecoff" ;;
+    mips_elf32_be_vec)		 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_le_vec)		 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_n_be_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_n_le_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_ntrad_be_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_ntrad_le_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_ntradfbsd_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_ntradfbsd_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_trad_be_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_trad_le_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_tradfbsd_be_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_tradfbsd_le_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_vxworks_be_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_vxworks_le_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf64_be_vec)		 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_le_vec)		 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_trad_be_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_trad_le_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_tradfbsd_be_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_tradfbsd_le_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_pe_le_vec)		 tb="$tb pe-mips.lo peigen.lo $coff" ;;
+    mips_pei_le_vec)		 tb="$tb pei-mips.lo peigen.lo $coff" ;;
     mmix_elf64_vec)		 tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;;
     mmix_mmo_vec)			 tb="$tb mmo.lo" target_size=64 ;;
     mn10200_elf32_vec)		 tb="$tb elf-m10200.lo elf32.lo $elf" ;;
@@ -15431,15 +15505,15 @@ do
     powerpc_elf64_le_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
     powerpc_elf64_fbsd_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
     powerpc_nlm32_vec)		 tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;;
-    powerpc_pe_vec)		 tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;;
-    powerpc_pe_le_vec)		 tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;;
-    powerpc_pei_vec)		 tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
-    powerpc_pei_le_vec)		 tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
-    powerpc_xcoff_vec)		 tb="$tb coff-rs6000.lo xcofflink.lo" ;;
+    powerpc_pe_vec)		 tb="$tb pe-ppc.lo peigen.lo $coff" ;;
+    powerpc_pe_le_vec)		 tb="$tb pe-ppc.lo peigen.lo $coff" ;;
+    powerpc_pei_vec)		 tb="$tb pei-ppc.lo peigen.lo $coff" ;;
+    powerpc_pei_le_vec)		 tb="$tb pei-ppc.lo peigen.lo $coff" ;;
+    powerpc_xcoff_vec)		 tb="$tb coff-rs6000.lo $xcoff" ;;
     rl78_elf32_vec)		 tb="$tb elf32-rl78.lo elf32.lo $elf" ;;
-    rs6000_xcoff64_vec)		 tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;;
-    rs6000_xcoff64_aix_vec)	 tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;;
-    rs6000_xcoff_vec)		 tb="$tb coff-rs6000.lo xcofflink.lo" ;;
+    rs6000_xcoff64_vec)		 tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;;
+    rs6000_xcoff64_aix_vec)	 tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;;
+    rs6000_xcoff_vec)		 tb="$tb coff-rs6000.lo $xcoff" ;;
     rx_elf32_be_vec)		 tb="$tb elf32-rx.lo elf32.lo $elf" ;;
     rx_elf32_be_ns_vec)		 tb="$tb elf32-rx.lo elf32.lo $elf" ;;
     rx_elf32_le_vec)		 tb="$tb elf32-rx.lo elf32.lo $elf" ;;
@@ -15447,45 +15521,42 @@ do
     s390_elf64_vec)		 tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
     score_elf32_be_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
     score_elf32_le_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
-    # FIXME: We include cofflink.lo not because it's needed for
-    # sh64_elf32[_le]_vec, but because we include sh_elf32[_le]_vec
-    # which needs it but does not list it.  Should be fixed in right place.
-    sh64_elf32_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
-    sh64_elf32_le_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
-    sh64_elf32_linux_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
-    sh64_elf32_linux_be_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
-    sh64_elf32_nbsd_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;;
-    sh64_elf32_nbsd_le_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;;
+    sh64_elf32_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
+    sh64_elf32_le_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
+    sh64_elf32_linux_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
+    sh64_elf32_linux_be_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
+    sh64_elf32_nbsd_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;;
+    sh64_elf32_nbsd_le_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;;
     sh64_elf64_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     sh64_elf64_le_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     sh64_elf64_linux_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     sh64_elf64_linux_be_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     sh64_elf64_nbsd_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
     sh64_elf64_nbsd_le_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh_coff_vec)		 tb="$tb coff-sh.lo cofflink.lo" ;;
-    sh_coff_le_vec)		 tb="$tb coff-sh.lo cofflink.lo" ;;
-    sh_coff_small_vec)		 tb="$tb coff-sh.lo cofflink.lo" ;;
-    sh_coff_small_le_vec)	 tb="$tb coff-sh.lo cofflink.lo" ;;
-    sh_elf32_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_elf32_le_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_elf32_fdpic_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_fdpic_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_linux_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_linux_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_nbsd_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_nbsd_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_symbian_le_vec)	 tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_elf32_vxworks_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_elf32_vxworks_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_pe_le_vec)		 tb="$tb pe-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;;
-    sh_pei_le_vec)		 tb="$tb pei-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;;
+    sh_coff_vec)		 tb="$tb coff-sh.lo $coff" ;;
+    sh_coff_le_vec)		 tb="$tb coff-sh.lo $coff" ;;
+    sh_coff_small_vec)		 tb="$tb coff-sh.lo $coff" ;;
+    sh_coff_small_le_vec)	 tb="$tb coff-sh.lo $coff" ;;
+    sh_elf32_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_le_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_fdpic_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_fdpic_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_linux_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_linux_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_nbsd_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_nbsd_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_symbian_le_vec)	 tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_vxworks_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_vxworks_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_pe_le_vec)		 tb="$tb pe-sh.lo coff-sh.lo peigen.lo $coff" ;;
+    sh_pei_le_vec)		 tb="$tb pei-sh.lo coff-sh.lo peigen.lo $coff" ;;
     sparc_aout_le_vec)		 tb="$tb aout-sparcle.lo aout32.lo" ;;
     sparc_aout_linux_vec)	 tb="$tb sparclinux.lo aout32.lo" ;;
     sparc_aout_lynx_vec)	 tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;;
     sparc_aout_nbsd_vec)	 tb="$tb sparcnetbsd.lo aout32.lo" ;;
     sparc_aout_sunos_be_vec)	 tb="$tb sunos.lo aout32.lo" ;;
-    sparc_coff_vec)		 tb="$tb coff-sparc.lo" ;;
-    sparc_coff_lynx_vec)	 tb="$tb cf-sparclynx.lo lynx-core.lo" ;;
+    sparc_coff_vec)		 tb="$tb coff-sparc.lo $coffgen" ;;
+    sparc_coff_lynx_vec)	 tb="$tb cf-sparclynx.lo lynx-core.lo $coffgen" ;;
     sparc_elf32_vec)		 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
     sparc_elf32_sol2_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
     sparc_elf32_vxworks_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
@@ -15496,26 +15567,26 @@ do
     spu_elf32_vec)		 tb="$tb elf32-spu.lo elf32.lo $elf" ;;
     sym_vec)			 tb="$tb xsym.lo" ;;
     tic30_aout_vec)		 tb="$tb aout-tic30.lo" ;;
-    tic30_coff_vec)		 tb="$tb coff-tic30.lo" ;;
-    tic4x_coff0_vec)		 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff0_beh_vec)	 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff1_vec)		 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff1_beh_vec)	 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff2_vec)		 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff2_beh_vec)	 tb="$tb coff-tic4x.lo" ;;
-    tic54x_coff0_vec)		 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff0_beh_vec)	 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff1_vec)		 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff1_beh_vec)	 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff2_vec)		 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff2_beh_vec)	 tb="$tb coff-tic54x.lo" ;;
+    tic30_coff_vec)		 tb="$tb coff-tic30.lo $coffgen" ;;
+    tic4x_coff0_vec)		 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff0_beh_vec)	 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff1_vec)		 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff1_beh_vec)	 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff2_vec)		 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff2_beh_vec)	 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic54x_coff0_vec)		 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff0_beh_vec)	 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff1_vec)		 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff1_beh_vec)	 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff2_vec)		 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff2_beh_vec)	 tb="$tb coff-tic54x.lo $coffgen" ;;
     tic6x_elf32_be_vec)		 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
     tic6x_elf32_le_vec)		 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
     tic6x_elf32_c6000_be_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
     tic6x_elf32_c6000_le_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
     tic6x_elf32_linux_be_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
     tic6x_elf32_linux_le_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
-    tic80_coff_vec)		 tb="$tb coff-tic80.lo cofflink.lo" ;;
+    tic80_coff_vec)		 tb="$tb coff-tic80.lo $coff" ;;
     tilegx_elf32_be_vec)	 tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;;
     tilegx_elf32_le_vec)	 tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;;
     tilegx_elf64_be_vec)	 tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;;
@@ -15527,9 +15598,10 @@ do
     vax_aout_bsd_vec)		 tb="$tb vaxbsd.lo aout32.lo" ;;
     vax_aout_nbsd_vec)		 tb="$tb vaxnetbsd.lo aout32.lo" ;;
     vax_elf32_vec)		 tb="$tb elf32-vax.lo elf32.lo $elf" ;;
-    w65_coff_vec)		 tb="$tb coff-w65.lo reloc16.lo" ;;
-    we32k_coff_vec)		 tb="$tb coff-we32k.lo" ;;
-    x86_64_coff_vec)		 tb="$tb coff-x86_64.lo cofflink.lo"; target_size=64 ;;
+    visium_elf32_vec)		 tb="$tb elf32-visium.lo elf32.lo $elf" ;;
+    w65_coff_vec)		 tb="$tb coff-w65.lo reloc16.lo $coffgen" ;;
+    we32k_coff_vec)		 tb="$tb coff-we32k.lo $coffgen" ;;
+    x86_64_coff_vec)		 tb="$tb coff-x86_64.lo $coff"; target_size=64 ;;
     x86_64_elf32_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
     x86_64_elf32_nacl_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
     x86_64_elf64_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
@@ -15537,16 +15609,16 @@ do
     x86_64_elf64_nacl_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
     x86_64_elf64_sol2_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
     x86_64_mach_o_vec)		 tb="$tb mach-o-x86-64.lo" ;;
-    x86_64_pe_vec)		 tb="$tb pe-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;;
-    x86_64_pe_be_vec)		 tb="$tb pe-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;;
-    x86_64_pei_vec)		 tb="$tb pei-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;;
+    x86_64_pe_vec)		 tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
+    x86_64_pe_be_vec)		 tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
+    x86_64_pei_vec)		 tb="$tb pei-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
     xc16x_elf32_vec)		 tb="$tb elf32-xc16x.lo elf32.lo $elf" ;;
     xgate_elf32_vec)		 tb="$tb elf32-xgate.lo elf32.lo $elf" ;;
     xstormy16_elf32_vec)	 tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;;
     xtensa_elf32_be_vec)	 tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
     xtensa_elf32_le_vec)	 tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
-    z80_coff_vec)		 tb="$tb coff-z80.lo reloc16.lo" ;;
-    z8k_coff_vec)		 tb="$tb coff-z8k.lo reloc16.lo cofflink.lo" ;;
+    z80_coff_vec)		 tb="$tb coff-z80.lo reloc16.lo $coffgen" ;;
+    z8k_coff_vec)		 tb="$tb coff-z8k.lo reloc16.lo $coff" ;;
 
     # These appear out of order in targets.c
     srec_vec)			 tb="$tb srec.lo" ;;
@@ -16497,7 +16569,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bfd $as_me 2.24.51, which was
+This file was extended by bfd $as_me 2.25.51, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16561,7 +16633,7 @@ Report bugs to the package provider."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-bfd config.status 2.24.51
+bfd config.status 2.25.51
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure.ac ./bfd/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure.ac	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/configure.ac	2015-01-20 02:05:36.000000000 +0000
@@ -0,0 +1,1201 @@
+dnl Process this file with autoconf to produce a configure script.
+dnl
+dnl   Copyright (C) 2012-2015 Free Software Foundation, Inc.
+dnl
+dnl This file is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl 
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl GNU General Public License for more details.
+dnl 
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; see the file COPYING3.  If not see
+dnl <http://www.gnu.org/licenses/>.
+dnl
+
+AC_PREREQ(2.59)
+m4_include([version.m4])
+AC_INIT([bfd], BFD_VERSION)
+AC_CONFIG_SRCDIR([libbfd.c])
+
+AC_CANONICAL_TARGET
+AC_ISC_POSIX
+
+AM_INIT_AUTOMAKE
+
+dnl These must be called before LT_INIT, because it may want
+dnl to call AC_CHECK_PROG.
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+dnl Default to a non shared library.  This may be overridden by the
+dnl configure option --enable-shared.
+AC_DISABLE_SHARED
+
+AC_PROG_CC
+AC_GNU_SOURCE
+AC_USE_SYSTEM_EXTENSIONS
+
+LT_INIT([dlopen])
+
+# AC_PLUGINS setting $plugins is called by ACX_LARGEFILE.
+ACX_LARGEFILE
+
+AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes")
+
+if test "$plugins" = "yes"; then
+  enable_targets="$enable_targets plugin"
+fi
+
+AC_ARG_ENABLE(64-bit-bfd,
+[  --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)],
+[case "${enableval}" in
+  yes)  want64=true  ;;
+  no)   want64=false ;;
+  *)    AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
+esac],[want64=false])dnl
+
+AC_ARG_ENABLE(targets,
+[  --enable-targets        alternative target configurations],
+[case "${enableval}" in
+  yes | "") AC_MSG_ERROR([enable-targets option must specify target names or 'all'])
+            ;;
+  no)       enable_targets= ;;
+  *)        enable_targets=$enableval ;;
+esac])dnl
+
+AC_ARG_WITH(mmap,
+[  --with-mmap             try using mmap for BFD input files if available],
+[case "${withval}" in
+  yes)  want_mmap=true ;;
+  no)   want_mmap=false ;;
+  *)    AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;;
+esac],[want_mmap=false])dnl
+
+AC_ARG_ENABLE(secureplt,
+[  --enable-secureplt      Default to creating read-only plt entries],
+[case "${enableval}" in
+  yes)  use_secureplt=true  ;;
+  no)   use_secureplt=false ;;
+  *)    AC_MSG_ERROR(bad value ${enableval} for secureplt option) ;;
+esac],[use_secureplt=true])dnl
+if test $use_secureplt = true; then
+  AC_DEFINE(USE_SECUREPLT, 1,
+    [Define if we should default to creating read-only plt entries])
+fi
+
+AC_ARG_ENABLE(leading-mingw64-underscores,
+  AS_HELP_STRING([--enable-leading-mingw64-underscores],
+                 [Enable leading underscores on 64 bit mingw targets]),
+  [],[])
+AS_IF([ test x"$enable_leading_mingw64_underscores" = xyes ],
+  [AC_DEFINE(USE_MINGW64_LEADING_UNDERSCORES, 1,
+    [Define if we should use leading underscore on 64 bit mingw targets])])
+
+DEBUGDIR=${libdir}/debug
+AC_ARG_WITH(separate-debug-dir,
+  AS_HELP_STRING([--with-separate-debug-dir=DIR],
+                 [Look for global separate debug info in DIR [[default=LIBDIR/debug]]]),
+[DEBUGDIR="${withval}"])
+AC_SUBST(DEBUGDIR)
+
+# Check to see if we should allow the generation of
+# symbols with the ELF standard's STT_COMMON type.
+AC_ARG_ENABLE(elf-stt-common,
+[  --enable-elf-stt-common Allow the generation of ELF symbols with the STT_COMMON type],
+[case "${enableval}" in
+  yes) want_elf_stt_common=true ;;
+  no)  want_elf_stt_common=false ;;
+  *)   AC_MSG_ERROR(bad value ${enableval} for ELF STT_COMMON option) ;;
+ esac],
+# We have to choose a default behaviour.  For native builds we could
+# test whether the loader supports the STT_COMMON type, but that would
+# mean that built binaries could not be exported to older systems where
+# the loader does not support it. So by default we always choose to
+# disable this feature.
+  want_elf_stt_common=false)dnl
+if test $want_elf_stt_common = true; then
+  AC_DEFINE(USE_STT_COMMON, 1,
+    [Define if we may generate symbols with ELF's STT_COMMON type])
+fi
+
+ACX_PKGVERSION([GNU Binutils])
+ACX_BUGURL([http://www.sourceware.org/bugzilla/])
+
+AM_BINUTILS_WARNINGS
+
+AC_CONFIG_HEADERS(config.h:config.in)
+
+# PR 14072
+AH_VERBATIM([00_CONFIG_H_CHECK],
+[/* Check that config.h is #included before system headers
+    (this works only for glibc, but that should be enough).  */
+#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
+#  error config.h must be #included before system headers
+#endif
+#define __CONFIG_H__ 1])
+
+if test -z "$target" ; then
+    AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
+fi
+
+AM_MAINTAINER_MODE
+AM_CONDITIONAL(GENINSRC_NEVER, false)
+AM_INSTALL_LIBBFD
+AC_EXEEXT
+
+host64=false
+target64=false
+bfd_default_target_size=32
+
+# host stuff:
+
+ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id ru uk"
+ZW_GNU_GETTEXT_SISTER_DIR
+AM_PO_SUBDIRS
+
+# Permit host specific settings.
+. ${srcdir}/configure.host
+
+AC_SUBST(HDEFINES)
+AC_PROG_INSTALL
+
+BFD_HOST_64BIT_LONG=0
+BFD_HOST_64BIT_LONG_LONG=0
+BFD_HOST_64_BIT_DEFINED=0
+BFD_HOST_64_BIT=
+BFD_HOST_U_64_BIT=
+BFD_HOSTPTR_T="unsigned long"
+
+AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(void *)
+AC_CHECK_SIZEOF(long)
+
+if test "x${ac_cv_sizeof_void_p}" = "x8"; then
+  host64=true
+fi
+
+if test "x${ac_cv_sizeof_long}" = "x8"; then
+  BFD_HOST_64BIT_LONG=1
+  test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
+  test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
+elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
+  BFD_HOST_64BIT_LONG_LONG=1
+  test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
+  test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
+  if test "x${ac_cv_sizeof_void_p}" = "x8"; then
+    BFD_HOSTPTR_T="unsigned long long"
+  fi
+fi
+
+if test -n "${HOST_64BIT_TYPE}" -a -n "${HOST_U_64BIT_TYPE}"; then
+  BFD_HOST_64_BIT_DEFINED=1
+  BFD_HOST_64_BIT="${HOST_64BIT_TYPE}"
+  BFD_HOST_U_64_BIT="${HOST_U_64BIT_TYPE}"
+fi
+
+AC_SUBST(BFD_HOST_64BIT_LONG)
+AC_SUBST(BFD_HOST_64BIT_LONG_LONG)
+AC_SUBST(BFD_HOST_64_BIT_DEFINED)
+AC_SUBST(BFD_HOST_64_BIT)
+AC_SUBST(BFD_HOST_U_64_BIT)
+AC_SUBST(BFD_HOSTPTR_T)
+
+BFD_CC_FOR_BUILD
+
+AC_CHECK_HEADERS(alloca.h stddef.h string.h strings.h stdlib.h time.h unistd.h wchar.h)
+AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h sys/stat.h sys/resource.h)
+GCC_HEADER_STDINT(bfd_stdint.h)
+AC_HEADER_TIME
+AC_HEADER_DIRENT
+
+ACX_HEADER_STRING
+AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno)
+AC_CHECK_FUNCS(strtoull getrlimit)
+
+AC_CHECK_DECLS(basename)
+AC_CHECK_DECLS(ftello)
+AC_CHECK_DECLS(ftello64)
+AC_CHECK_DECLS(fseeko)
+AC_CHECK_DECLS(fseeko64)
+
+BFD_BINARY_FOPEN
+
+AC_CHECK_DECLS(ffs)
+AC_CHECK_DECLS(free)
+AC_CHECK_DECLS(getenv)
+AC_CHECK_DECLS(malloc)
+AC_CHECK_DECLS(realloc)
+AC_CHECK_DECLS(stpcpy)
+AC_CHECK_DECLS(strstr)
+AC_CHECK_DECLS(snprintf)
+AC_CHECK_DECLS(vsnprintf)
+AC_CHECK_DECLS(strnlen)
+
+# Link in zlib if we can.  This allows us to read compressed debug sections.
+# This is used only by compress.c.
+AM_ZLIB
+
+# If we are configured native, pick a core file support file.
+COREFILE=
+COREFLAG=
+CORE_HEADER=
+TRAD_HEADER=
+if test "${target}" = "${host}"; then
+  case "${host}" in
+  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu | alpha*-*-*vms*)
+	COREFILE=''
+	;;
+  alpha*-*-linux-*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/alphalinux.h"'
+	;;
+  alpha*-*-netbsd* | alpha*-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  alpha*-*-*)
+        COREFILE=osf-core.lo
+	;;
+  arm-*-freebsd* | arm-*-kfreebsd*-gnu)
+	COREFILE='' ;;
+  arm-*-netbsd* | arm-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  arm-*-riscix)		COREFILE=trad-core.lo ;;
+  hppa*-*-hpux*)	COREFILE=hpux-core.lo ;;
+  hppa*-*-hiux*)	COREFILE=hpux-core.lo ;;
+  hppa*-*-mpeix*)	COREFILE=hpux-core.lo ;;
+  hppa*-*-bsd*)		COREFILE="hpux-core.lo hppabsd-core.lo"
+			COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;;
+  hppa*-*-netbsd* | hppa*-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+
+  i370-*-*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/i370linux.h"'
+	;;
+
+changequote(,)dnl
+  i[3-7]86-sequent-bsd*)
+changequote([,])dnl
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/symmetry.h"'
+	;;
+changequote(,)dnl
+  i[3-7]86-sequent-sysv4*) ;;
+  i[3-7]86-sequent-sysv*)
+changequote([,])dnl
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/symmetry.h"'
+	;;
+changequote(,)dnl
+  i[3-7]86-*-bsdi)
+changequote([,])dnl
+	COREFILE=
+	;;
+changequote(,)dnl
+  i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.* | i[3-7]86-*-freebsd*aout*)
+changequote([,])dnl
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/i386bsd.h"'
+	;;
+changequote(,)dnl
+  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
+changequote([,])dnl
+	COREFILE=''
+	TRAD_HEADER='"hosts/i386bsd.h"'
+	;;
+changequote(,)dnl
+  i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*)
+changequote([,])dnl
+	COREFILE=netbsd-core.lo
+	;;
+changequote(,)dnl
+  i[3-7]86-esix-sysv3*)
+changequote([,])dnl
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/esix.h"'
+	;;
+changequote(,)dnl
+  i[3-7]86-*-sco3.2v5*)
+changequote([,])dnl
+	COREFILE=sco5-core.lo
+	;;
+changequote(,)dnl
+  i[3-7]86-*-sco* | i[3-7]86-*-isc*)
+changequote([,])dnl
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/i386sco.h"'
+	;;
+changequote(,)dnl
+  i[3-7]86-*-mach3*)
+changequote([,])dnl
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/i386mach3.h"'
+	;;
+changequote(,)dnl
+  i[3-7]86-*-linux-*)
+changequote([,])dnl
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/i386linux.h"'
+	case "$enable_targets"-"$want64" in
+	*x86_64-*linux*|*-true)
+	  CORE_HEADER='"hosts/x86-64linux.h"'
+	esac
+	;;
+changequote(,)dnl
+  i[3-7]86-*-isc*)	COREFILE=trad-core.lo ;;
+  i[3-7]86-*-aix*)	COREFILE=aix386-core.lo ;;
+changequote([,])dnl
+  i860-*-mach3* | i860-*-osf1*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/i860mach3.h"'
+	;;
+  mips-*-netbsd* | mips*-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  mips-dec-*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/decstation.h"'
+	;;
+  mips-sgi-irix4*)	COREFILE=irix-core.lo ;;
+  mips-sgi-irix5*)	COREFILE=irix-core.lo ;;
+  mips-sgi-irix6*)	COREFILE=irix-core.lo ;;
+  mips-*-sysv4*)	;;
+  mips-*-sysv* | mips-*-riscos*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/riscos.h"'
+	;;
+  mips-sony-bsd*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/news-mips.h"'
+	;;
+  m68*-bull*-sysv*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/dpx2.h"'
+	;;
+  m68*-hp-hpux*)	COREFILE=hpux-core.lo ;;
+  m68*-hp-bsd*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/hp300bsd.h"'
+	;;
+  m68*-*-linux-*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/m68klinux.h"'
+	;;
+  m68*-motorola-sysv*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/delta68.h"'
+	;;
+  m68*-sony-*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/news.h"'
+	;;
+  m68*-*-netbsd* | m68*-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  m68*-apple-aux*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/m68kaux.h"'
+	;;
+  m88*-*-sysv4*)
+	;;
+  m88*-motorola-sysv*)
+	COREFILE=ptrace-core.lo
+	;;
+  m88*-*-mach3*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/m88kmach3.h"'
+	;;
+  m88*-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  ns32k-pc532-mach)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/pc532mach.h"'
+	;;
+  ns32k-*-netbsd* | ns32k-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  rs6000-*-lynx*)
+	COREFILE=lynx-core.lo
+	;;
+changequote(,)dnl
+  rs6000-*-aix[5-9].* | powerpc-*-aix[5-9].*)
+changequote([,])dnl
+        COREFILE=rs6000-core.lo
+	COREFLAG="$COREFLAG -DAIX_5_CORE -DAIX_CORE_DUMPX_CORE"
+	;;
+changequote(,)dnl
+  rs6000-*-aix4.[3-9]* | powerpc-*-aix4.[3-9]*)
+changequote([,])dnl
+        COREFILE=rs6000-core.lo
+	COREFLAG="$COREFLAG -DAIX_CORE_DUMPX_CORE"
+	# Not all versions of AIX with -DAIX_CORE_DUMPX_CORE
+	# have c_impl as a member of struct core_dumpx
+	AC_MSG_CHECKING([for c_impl in struct core_dumpx])
+	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <core.h>]], [[struct core_dumpx c; c.c_impl = 0;]])],[AC_DEFINE(HAVE_ST_C_IMPL, 1,
+	    [Define if struct core_dumpx has member c_impl])
+	  AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
+	;;
+  rs6000-*-aix4*)	COREFILE=rs6000-core.lo ;;
+  rs6000-*-*)		COREFILE=rs6000-core.lo ;;
+  powerpc-*-aix4*)	COREFILE=rs6000-core.lo ;;
+  powerpc-*-aix*)	COREFILE=rs6000-core.lo ;;
+  powerpc-*-beos*)	;;
+  powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)
+		        COREFILE='' ;;
+  powerpc-*-netbsd*)	COREFILE=netbsd-core.lo ;;
+  powerpc-*-*bsd*)	COREFILE=netbsd-core.lo ;;
+  s390*-*-*)            COREFILE=trad-core.lo ;;
+  sh*-*-netbsd* | sh*-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  sparc-*-netbsd* | sparc*-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  tahoe-*-*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/tahoe.h"'
+	;;
+  vax-*-netbsd* | vax-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  vax-*-ultrix2*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/vaxult2.h"'
+	;;
+  vax-*-ultrix*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/vaxult2.h"'
+	;;
+  vax-*-linux-*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/vaxlinux.h"'
+	;;
+  vax-*-*)
+	COREFILE=trad-core.lo
+	TRAD_HEADER='"hosts/vaxbsd.h"'
+	;;
+  x86_64-*-linux*)
+	CORE_HEADER='"hosts/x86-64linux.h"'
+	;;
+  x86_64-*-netbsd* | x86_64-*-openbsd*)
+	COREFILE=netbsd-core.lo
+	;;
+  esac
+
+  case "$COREFILE" in
+  aix386-core.lo)	COREFLAG=-DAIX386_CORE ;;
+  hppabsd-core.lo)	COREFLAG=-DHPPABSD_CORE ;;
+  hpux-core.lo)		COREFLAG=-DHPUX_CORE ;;
+  irix-core.lo)		COREFLAG=-DIRIX_CORE ;;
+  lynx-core.lo)		COREFLAG=-DLYNX_CORE ;;
+  netbsd-core.lo)	COREFLAG=-DNETBSD_CORE ;;
+  osf-core.lo)		COREFLAG=-DOSF_CORE ;;
+  ptrace-core.lo)	COREFLAG=-DPTRACE_CORE ;;
+  rs6000-core.lo)	COREFLAG="$COREFLAG -DAIX_CORE" ;;
+  sco5-core.lo)		COREFLAG="$COREFLAG -DSCO5_CORE" ;;
+  trad-core.lo)		COREFLAG="$COREFLAG -DTRAD_CORE" ;;
+  esac
+
+  # ELF corefile support has several flavors, but all of
+  # them use something called <sys/procfs.h>
+  AC_CHECK_HEADERS(sys/procfs.h)
+  if test "$ac_cv_header_sys_procfs_h" = yes; then
+    BFD_HAVE_SYS_PROCFS_TYPE(prstatus_t)
+    BFD_HAVE_SYS_PROCFS_TYPE(prstatus32_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus_t, pr_who)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus32_t, pr_who)
+    BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
+    BFD_HAVE_SYS_PROCFS_TYPE(pxstatus_t)
+    BFD_HAVE_SYS_PROCFS_TYPE(pstatus32_t)
+    BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo_t, pr_pid)
+    BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo32_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo32_t, pr_pid)
+    BFD_HAVE_SYS_PROCFS_TYPE(psinfo_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo_t, pr_pid)
+    BFD_HAVE_SYS_PROCFS_TYPE(psinfo32_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo32_t, pr_pid)
+    BFD_HAVE_SYS_PROCFS_TYPE(lwpstatus_t)
+    BFD_HAVE_SYS_PROCFS_TYPE(lwpxstatus_t)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_context)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_reg)
+    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_fpreg)
+    BFD_HAVE_SYS_PROCFS_TYPE(win32_pstatus_t)
+  fi
+fi
+AC_SUBST(COREFILE)
+AC_SUBST(COREFLAG)
+if test -n "$CORE_HEADER"; then
+  AC_DEFINE_UNQUOTED(CORE_HEADER, $CORE_HEADER,
+    [Name of host specific core header file to include in elf.c.])
+fi
+if test -n "$TRAD_HEADER"; then
+  AC_DEFINE_UNQUOTED(TRAD_HEADER, $TRAD_HEADER,
+    [Name of host specific header file to include in trad-core.c.])
+fi
+
+# Check if linker supports --as-needed and --no-as-needed options
+AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
+	[bfd_cv_ld_as_needed=no
+	if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
+		bfd_cv_ld_as_needed=yes
+	fi
+	])
+
+LT_LIB_M
+
+# When building a shared libbfd, link against the pic version of libiberty
+# so that apps that use libbfd won't need libiberty just to satisfy any
+# libbfd references.
+# We can't do that if a pic libiberty is unavailable since including non-pic
+# code would insert text relocations into libbfd.
+SHARED_LIBADD=
+SHARED_LDFLAGS=
+if test "$enable_shared" = "yes"; then
+changequote(,)dnl
+  x=`sed -n -e 's/^[ 	]*PICFLAG[ 	]*=[ 	]*//p' < ../libiberty/Makefile | sed -n '$p'`
+changequote([,])dnl
+  if test -n "$x"; then
+    SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
+  fi
+
+# More hacks to build DLLs on Windows.
+  case "${host}" in
+  *-*-cygwin*)
+    SHARED_LDFLAGS="-no-undefined"
+    SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32"
+  ;;
+
+  # Hack to build or1k-src on OSX
+  or1k*-*-darwin*)
+    SHARED_LIBADD="-L`pwd`/../libiberty/pic -L`pwd`/../intl -liberty -lintl"
+  ;;
+  esac
+
+  if test -n "$SHARED_LIBADD"; then
+    if test -n "$LIBM"; then
+      if test x"$bfd_cv_ld_as_needed" = xyes; then
+	# Link against libm only when needed.  Put -lc, -lm inside -Wl
+	# to stop libtool reordering these options.
+	SHARED_LIBADD="$SHARED_LIBADD -Wl,-lc,--as-needed,`echo $LIBM | sed 's/ /,/g'`,--no-as-needed"
+      else
+	SHARED_LIBADD="$SHARED_LIBADD $LIBM"
+      fi
+    fi
+  fi
+fi
+AC_SUBST(SHARED_LDFLAGS)
+AC_SUBST(SHARED_LIBADD)
+
+# target stuff:
+
+# Canonicalize the secondary target names.
+if test -n "$enable_targets" ; then
+    for targ in `echo $enable_targets | sed 's/,/ /g'`
+    do
+	result=`$ac_config_sub $targ 2>/dev/null`
+	if test -n "$result" ; then
+	    canon_targets="$canon_targets $result"
+	else
+	    # Allow targets that config.sub doesn't recognize, like "all".
+	    canon_targets="$canon_targets $targ"
+	fi
+    done
+fi
+
+all_targets=false
+defvec=
+selvecs=
+assocvecs=
+selarchs=
+TDEFINES=
+for targ in $target $canon_targets
+do
+    if test "x$targ" = "xall"; then
+        all_targets=true
+	assocvecs="$assocvecs $targ_defvec $targ_selvecs"
+    else
+	. $srcdir/config.bfd
+	if test "x$targ" = "x$target"; then
+	    defvec=$targ_defvec
+	fi
+	selvecs="$selvecs $targ_defvec $targ_selvecs"
+	selarchs="$selarchs $targ_archs"
+	TDEFINES="$TDEFINES $targ_cflags"
+    fi
+done
+AC_SUBST(TDEFINES)
+
+# This processing still needs to be done if we're to decide properly whether
+# 64-bit support needs to be compiled in.  Currently, it will be included if
+# the default or any other explicitly requested target requires it; it
+# will not be included on a 32-bit host if no 64-bit target is requested, and
+# no "--with-64-bit-bfd" option is given, even if "--enable-targets=all" is
+# used.
+
+# uniq the default and selected vectors in all the configured targets.
+f=""
+for i in $selvecs ; do
+    case " $f " in
+    *" $i "*) ;;
+    *) f="$f $i" ;;
+    esac
+done
+selvecs="$f"
+
+
+# uniq the associated vectors in all the configured targets.
+f=""
+for i in $assocvecs ; do
+    case " $f " in
+    *" $i "*) ;;
+    *) f="$f $i" ;;
+    esac
+done
+assocvecs="$f"
+
+
+# uniq the architectures in all the configured targets.
+f=""
+for i in $selarchs ; do
+    case " $f " in
+    *" $i "*) ;;
+    *) f="$f $i" ;;
+    esac
+done
+selarchs="$f"
+
+# Target backend .o files.
+tb=
+
+elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo
+     elf-eh-frame.lo dwarf1.lo dwarf2.lo"
+coffgen="coffgen.lo dwarf2.lo"
+coff="cofflink.lo $coffgen"
+ecoff="ecofflink.lo $coffgen"
+xcoff="xcofflink.lo $coffgen"
+
+for vec in $selvecs
+do
+    target_size=32
+    case "$vec" in
+    # This list is alphabetized to make it easy to compare
+    # with the two vector lists in targets.c.  For the same reason,
+    # use one entry per line, even though this leads to long lines.
+    aarch64_elf32_be_vec)	 tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
+    aarch64_elf32_le_vec)	 tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
+    aarch64_elf64_be_vec)	 tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
+    aarch64_elf64_le_vec)	 tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
+    alpha_ecoff_le_vec)		 tb="$tb coff-alpha.lo ecoff.lo $ecoff"; target_size=64 ;;
+    alpha_elf64_vec)		 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
+    alpha_elf64_fbsd_vec)	 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
+    alpha_nlm32_vec)		 tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"; target_size=64 ;;
+    alpha_vms_vec)		 tb="$tb vms-alpha.lo vms-misc.lo vms-lib.lo"; target_size=64 ;;
+    alpha_vms_lib_txt_vec)	 tb="$tb vms-lib.lo vms-misc.lo" ;;
+    am33_elf32_linux_vec)	 tb="$tb elf32-am33lin.lo elf32.lo $elf" ;;
+    aout0_be_vec)		 tb="$tb aout0.lo aout32.lo" ;;
+    aout64_vec)			 tb="$tb demo64.lo aout64.lo"; target_size=64 ;;
+    aout_vec)			 tb="$tb host-aout.lo aout32.lo" ;;
+    aout_adobe_vec)		 tb="$tb aout-adobe.lo aout32.lo" ;;
+    arc_elf32_be_vec)		 tb="$tb elf32-arc.lo elf32.lo $elf" ;;
+    arc_elf32_le_vec)		 tb="$tb elf32-arc.lo elf32.lo $elf" ;;
+    arm_aout_be_vec)		 tb="$tb aout-arm.lo aout32.lo" ;;
+    arm_aout_le_vec)		 tb="$tb aout-arm.lo aout32.lo" ;;
+    arm_aout_nbsd_vec)		 tb="$tb armnetbsd.lo aout32.lo" ;;
+    arm_aout_riscix_vec)	 tb="$tb aout32.lo riscix.lo" ;;
+    arm_coff_be_vec)		 tb="$tb coff-arm.lo $coff" ;;
+    arm_coff_le_vec)		 tb="$tb coff-arm.lo $coff" ;;
+    arm_elf32_be_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_le_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_nacl_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_nacl_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_symbian_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_symbian_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_vxworks_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_elf32_vxworks_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
+    arm_pe_be_vec)		 tb="$tb pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_le_vec)		 tb="$tb pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_epoc_be_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_epoc_le_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_wince_be_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;;
+    arm_pe_wince_le_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;;
+    arm_pei_be_vec)		 tb="$tb pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_le_vec)		 tb="$tb pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_epoc_be_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_epoc_le_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_wince_be_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
+    arm_pei_wince_le_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;;
+    avr_elf32_vec)		 tb="$tb elf32-avr.lo elf32.lo $elf" ;;
+    bfin_elf32_vec)		 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
+    bfin_elf32_fdpic_vec)	 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
+    bout_be_vec)		 tb="$tb bout.lo aout32.lo" ;;
+    bout_le_vec)		 tb="$tb bout.lo aout32.lo" ;;
+    cr16_elf32_vec)		 tb="$tb elf32-cr16.lo elf32.lo $elf" ;;
+    cr16c_elf32_vec)		 tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
+    cris_aout_vec)		 tb="$tb aout-cris.lo" ;;
+    cris_elf32_vec)		 tb="$tb elf32-cris.lo elf32.lo $elf" ;;
+    cris_elf32_us_vec)		 tb="$tb elf32-cris.lo elf32.lo $elf" ;;
+    crx_elf32_vec)		 tb="$tb elf32-crx.lo elf32.lo $elf" ;;
+    d10v_elf32_vec)		 tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
+    d30v_elf32_vec)		 tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
+    dlx_elf32_be_vec)		 tb="$tb elf32-dlx.lo elf32.lo $elf" ;;
+    elf32_be_vec)		 tb="$tb elf32-gen.lo elf32.lo $elf" ;;
+    elf32_le_vec)		 tb="$tb elf32-gen.lo elf32.lo $elf" ;;
+    elf64_be_vec)		 tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;;
+    elf64_le_vec)		 tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;;
+    epiphany_elf32_vec)		 tb="$tb elf32-epiphany.lo elf32.lo $elf" ;;
+    fr30_elf32_vec)		 tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
+    frv_elf32_vec)		 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
+    frv_elf32_fdpic_vec)	 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
+    h8300_coff_vec)		 tb="$tb coff-h8300.lo reloc16.lo $coffgen" ;;
+    h8300_elf32_vec)		 tb="$tb elf32-h8300.lo elf32.lo $elf" ;;
+    h8500_coff_vec)		 tb="$tb coff-h8500.lo reloc16.lo $coffgen" ;;
+    hppa_elf32_vec)		 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
+    hppa_elf32_linux_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
+    hppa_elf32_nbsd_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
+    hppa_elf64_vec)		 tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;;
+    hppa_elf64_linux_vec)	 tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;;
+    hppa_som_vec)		 tb="$tb som.lo" ;;
+    i370_elf32_vec)		 tb="$tb elf32-i370.lo elf32.lo $elf" ;;
+    i386_aout_vec)		 tb="$tb i386aout.lo aout32.lo" ;;
+    i386_aout_bsd_vec)		 tb="$tb i386bsd.lo aout32.lo" ;;
+    i386_aout_dynix_vec)	 tb="$tb i386dynix.lo aout32.lo" ;;
+    i386_aout_fbsd_vec)		 tb="$tb i386freebsd.lo aout32.lo" ;;
+    i386_aout_linux_vec)	 tb="$tb i386linux.lo aout32.lo" ;;
+    i386_aout_lynx_vec)		 tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;;
+    i386_aout_mach3_vec)	 tb="$tb i386mach3.lo aout32.lo" ;;
+    i386_aout_nbsd_vec)		 tb="$tb i386netbsd.lo aout32.lo" ;;
+    i386_aout_os9k_vec)		 tb="$tb i386os9k.lo aout32.lo" ;;
+    i386_coff_vec)		 tb="$tb coff-i386.lo $coff" ;;
+    i386_coff_go32_vec)		 tb="$tb coff-go32.lo $coff" ;;
+    i386_coff_go32stubbed_vec)	 tb="$tb coff-stgo32.lo $coff" ;;
+    i386_coff_lynx_vec)		 tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;;
+    i386_elf32_vec)		 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+    i386_elf32_fbsd_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+    i386_elf32_nacl_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+    i386_elf32_sol2_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+    i386_elf32_vxworks_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+    i386_mach_o_vec)		 tb="$tb mach-o-i386.lo" ;;
+    i386_msdos_vec)		 tb="$tb i386msdos.lo" ;;
+    i386_nlm32_vec)		 tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;;
+    i386_pe_vec)		 tb="$tb pe-i386.lo peigen.lo $coff" ;;
+    i386_pei_vec)		 tb="$tb pei-i386.lo peigen.lo $coff" ;;
+    i860_coff_vec)		 tb="$tb coff-i860.lo $coff" ;;
+    i860_elf32_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
+    i860_elf32_le_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
+    i960_elf32_vec)		 tb="$tb elf32-i960.lo elf32.lo $elf" ;;
+    ia64_elf32_be_vec)		 tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
+    ia64_elf32_hpux_be_vec)	 tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
+    ia64_elf64_be_vec)		 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
+    ia64_elf64_le_vec)		 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
+    ia64_elf64_hpux_be_vec)	 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
+    ia64_elf64_vms_vec)		 tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;;
+    ia64_pei_vec)		 tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;;
+    icoff_be_vec)		 tb="$tb coff-i960.lo $coff" ;;
+    icoff_le_vec)		 tb="$tb coff-i960.lo $coff" ;;
+    ieee_vec)			 tb="$tb ieee.lo" ;;
+    ip2k_elf32_vec)		 tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
+    iq2000_elf32_vec)		 tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
+    k1om_elf64_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+    k1om_elf64_fbsd_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+    l1om_elf64_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+    l1om_elf64_fbsd_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+    lm32_elf32_vec)		 tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
+    lm32_elf32_fdpic_vec)	 tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
+    m32c_elf32_vec)		 tb="$tb elf32-m32c.lo elf32.lo $elf" ;;
+    m32r_elf32_vec)		 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+    m32r_elf32_le_vec)		 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+    m32r_elf32_linux_vec)	 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+    m32r_elf32_linux_le_vec)	 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+    m68hc11_elf32_vec)		 tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
+    m68hc12_elf32_vec)		 tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
+    m68k_aout_4knbsd_vec)	 tb="$tb m68k4knetbsd.lo aout32.lo" ;;
+    m68k_aout_hp300bsd_vec)	 tb="$tb hp300bsd.lo aout32.lo" ;;
+    m68k_aout_hp300hpux_vec)	 tb="$tb hp300hpux.lo aout32.lo" ;;
+    m68k_aout_linux_vec)	 tb="$tb m68klinux.lo aout32.lo" ;;
+    m68k_aout_nbsd_vec)		 tb="$tb m68knetbsd.lo aout32.lo" ;;
+    m68k_aout_newsos3_vec)	 tb="$tb newsos3.lo aout32.lo" ;;
+    m68k_coff_vec)		 tb="$tb coff-m68k.lo $coff" ;;
+    m68k_coff_apollo_vec)	 tb="$tb coff-apollo.lo $coffgen" ;;
+    m68k_coff_aux_vec)		 tb="$tb coff-aux.lo coff-m68k.lo $coff" ;;
+    m68k_coff_sysv_vec)		 tb="$tb coff-svm68k.lo $coff" ;;
+    m68k_coff_un_vec)		 tb="$tb coff-u68k.lo coff-m68k.lo $coff" ;;
+    m68k_elf32_vec)		 tb="$tb elf32-m68k.lo elf32.lo $elf" ;;
+    m68k_versados_vec)		 tb="$tb versados.lo" ;;
+    m88k_aout_mach3_vec)	 tb="$tb m88kmach3.lo aout32.lo" ;;
+    m88k_aout_obsd_vec)		 tb="$tb m88kopenbsd.lo aout32.lo" ;;
+    m88k_coff_bcs_vec)		 tb="$tb coff-m88k.lo $coffgen" ;;
+    m88k_elf32_vec)		 tb="$tb elf32-m88k.lo elf32.lo $elf" ;;
+    mach_o_be_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
+    mach_o_le_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
+    mach_o_fat_vec)		 tb="$tb mach-o.lo dwarf2.lo" ;;
+    mcore_elf32_be_vec)		 tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
+    mcore_elf32_le_vec)		 tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
+    mcore_pe_be_vec)		 tb="$tb pe-mcore.lo peigen.lo $coff" ;;
+    mcore_pe_le_vec)		 tb="$tb pe-mcore.lo peigen.lo $coff" ;;
+    mcore_pei_be_vec)		 tb="$tb pei-mcore.lo peigen.lo $coff" ;;
+    mcore_pei_le_vec)		 tb="$tb pei-mcore.lo peigen.lo $coff" ;;
+    mep_elf32_vec)		 tb="$tb elf32-mep.lo elf32.lo $elf" ;;
+    mep_elf32_le_vec)		 tb="$tb elf32-mep.lo elf32.lo $elf" ;;
+    metag_elf32_vec)		 tb="$tb elf32-metag.lo elf32.lo $elf" ;;
+    microblaze_elf32_vec)	 tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
+    microblaze_elf32_le_vec)	 tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
+    mips_ecoff_be_vec)		 tb="$tb coff-mips.lo ecoff.lo $ecoff" ;;
+    mips_ecoff_le_vec)		 tb="$tb coff-mips.lo ecoff.lo $ecoff" ;;
+    mips_ecoff_bele_vec)	 tb="$tb coff-mips.lo ecoff.lo $ecoff" ;;
+    mips_elf32_be_vec)		 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_le_vec)		 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_n_be_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_n_le_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_ntrad_be_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_ntrad_le_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_ntradfbsd_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_ntradfbsd_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf32_trad_be_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_trad_le_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_tradfbsd_be_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_tradfbsd_le_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_vxworks_be_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf32_vxworks_le_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;;
+    mips_elf64_be_vec)		 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_le_vec)		 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_trad_be_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_trad_le_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_tradfbsd_be_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_elf64_tradfbsd_le_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;;
+    mips_pe_le_vec)		 tb="$tb pe-mips.lo peigen.lo $coff" ;;
+    mips_pei_le_vec)		 tb="$tb pei-mips.lo peigen.lo $coff" ;;
+    mmix_elf64_vec)		 tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;;
+    mmix_mmo_vec)			 tb="$tb mmo.lo" target_size=64 ;;
+    mn10200_elf32_vec)		 tb="$tb elf-m10200.lo elf32.lo $elf" ;;
+    mn10300_elf32_vec)		 tb="$tb elf-m10300.lo elf32.lo $elf" ;;
+    moxie_elf32_be_vec)		 tb="$tb elf32-moxie.lo elf32.lo $elf" ;;
+    moxie_elf32_le_vec)		 tb="$tb elf32-moxie.lo elf32.lo $elf" ;;
+    msp430_elf32_vec)		 tb="$tb elf32-msp430.lo elf32.lo $elf" ;;
+    msp430_elf32_ti_vec)	 tb="$tb elf32-msp430.lo elf32.lo $elf" ;;
+    mt_elf32_vec)		 tb="$tb elf32-mt.lo elf32.lo $elf" ;;
+    nds32_elf32_be_vec)		 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
+    nds32_elf32_le_vec)		 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
+    nds32_elf32_linux_be_vec)	 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
+    nds32_elf32_linux_le_vec)	 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
+    nios2_elf32_be_vec)		 tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
+    nios2_elf32_le_vec)		 tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
+    ns32k_aout_pc532mach_vec)	 tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
+    ns32k_aout_pc532nbsd_vec)	 tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;;
+    or1k_elf32_vec)		 tb="$tb elf32-or1k.lo elf32.lo $elf" ;;
+    pdp11_aout_vec)		 tb="$tb pdp11.lo" ;;
+    pef_vec)			 tb="$tb pef.lo" ;;
+    pef_xlib_vec)		 tb="$tb pef.lo" ;;
+    pj_elf32_vec)		 tb="$tb elf32-pj.lo elf32.lo $elf" ;;
+    pj_elf32_le_vec)		 tb="$tb elf32-pj.lo elf32.lo $elf" ;;
+    plugin_vec)			 tb="$tb plugin.lo" ;;
+    powerpc_boot_vec)		 tb="$tb ppcboot.lo" ;;
+    powerpc_elf32_vec)		 tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
+    powerpc_elf32_le_vec)	 tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
+    powerpc_elf32_fbsd_vec)	 tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
+    powerpc_elf32_vxworks_vec)	 tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
+    powerpc_elf64_vec)		 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;;
+    powerpc_elf64_le_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
+    powerpc_elf64_fbsd_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
+    powerpc_nlm32_vec)		 tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;;
+    powerpc_pe_vec)		 tb="$tb pe-ppc.lo peigen.lo $coff" ;;
+    powerpc_pe_le_vec)		 tb="$tb pe-ppc.lo peigen.lo $coff" ;;
+    powerpc_pei_vec)		 tb="$tb pei-ppc.lo peigen.lo $coff" ;;
+    powerpc_pei_le_vec)		 tb="$tb pei-ppc.lo peigen.lo $coff" ;;
+    powerpc_xcoff_vec)		 tb="$tb coff-rs6000.lo $xcoff" ;;
+    rl78_elf32_vec)		 tb="$tb elf32-rl78.lo elf32.lo $elf" ;;
+    rs6000_xcoff64_vec)		 tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;;
+    rs6000_xcoff64_aix_vec)	 tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;;
+    rs6000_xcoff_vec)		 tb="$tb coff-rs6000.lo $xcoff" ;;
+    rx_elf32_be_vec)		 tb="$tb elf32-rx.lo elf32.lo $elf" ;;
+    rx_elf32_be_ns_vec)		 tb="$tb elf32-rx.lo elf32.lo $elf" ;;
+    rx_elf32_le_vec)		 tb="$tb elf32-rx.lo elf32.lo $elf" ;;
+    s390_elf32_vec)		 tb="$tb elf32-s390.lo elf32.lo $elf" ;;
+    s390_elf64_vec)		 tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
+    score_elf32_be_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
+    score_elf32_le_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
+    sh64_elf32_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
+    sh64_elf32_le_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
+    sh64_elf32_linux_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
+    sh64_elf32_linux_be_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;;
+    sh64_elf32_nbsd_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;;
+    sh64_elf32_nbsd_le_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;;
+    sh64_elf64_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
+    sh64_elf64_le_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
+    sh64_elf64_linux_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
+    sh64_elf64_linux_be_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
+    sh64_elf64_nbsd_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
+    sh64_elf64_nbsd_le_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
+    sh_coff_vec)		 tb="$tb coff-sh.lo $coff" ;;
+    sh_coff_le_vec)		 tb="$tb coff-sh.lo $coff" ;;
+    sh_coff_small_vec)		 tb="$tb coff-sh.lo $coff" ;;
+    sh_coff_small_le_vec)	 tb="$tb coff-sh.lo $coff" ;;
+    sh_elf32_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_le_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_fdpic_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_fdpic_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_linux_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_linux_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_nbsd_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_nbsd_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_symbian_le_vec)	 tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_vxworks_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_elf32_vxworks_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;;
+    sh_pe_le_vec)		 tb="$tb pe-sh.lo coff-sh.lo peigen.lo $coff" ;;
+    sh_pei_le_vec)		 tb="$tb pei-sh.lo coff-sh.lo peigen.lo $coff" ;;
+    sparc_aout_le_vec)		 tb="$tb aout-sparcle.lo aout32.lo" ;;
+    sparc_aout_linux_vec)	 tb="$tb sparclinux.lo aout32.lo" ;;
+    sparc_aout_lynx_vec)	 tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;;
+    sparc_aout_nbsd_vec)	 tb="$tb sparcnetbsd.lo aout32.lo" ;;
+    sparc_aout_sunos_be_vec)	 tb="$tb sunos.lo aout32.lo" ;;
+    sparc_coff_vec)		 tb="$tb coff-sparc.lo $coffgen" ;;
+    sparc_coff_lynx_vec)	 tb="$tb cf-sparclynx.lo lynx-core.lo $coffgen" ;;
+    sparc_elf32_vec)		 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
+    sparc_elf32_sol2_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
+    sparc_elf32_vxworks_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
+    sparc_elf64_vec)		 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
+    sparc_elf64_fbsd_vec)	 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
+    sparc_elf64_sol2_vec)	 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
+    sparc_nlm32_vec)		 tb="$tb nlm32-sparc.lo nlm32.lo nlm.lo" ;;
+    spu_elf32_vec)		 tb="$tb elf32-spu.lo elf32.lo $elf" ;;
+    sym_vec)			 tb="$tb xsym.lo" ;;
+    tic30_aout_vec)		 tb="$tb aout-tic30.lo" ;;
+    tic30_coff_vec)		 tb="$tb coff-tic30.lo $coffgen" ;;
+    tic4x_coff0_vec)		 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff0_beh_vec)	 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff1_vec)		 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff1_beh_vec)	 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff2_vec)		 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic4x_coff2_beh_vec)	 tb="$tb coff-tic4x.lo $coffgen" ;;
+    tic54x_coff0_vec)		 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff0_beh_vec)	 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff1_vec)		 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff1_beh_vec)	 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff2_vec)		 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic54x_coff2_beh_vec)	 tb="$tb coff-tic54x.lo $coffgen" ;;
+    tic6x_elf32_be_vec)		 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
+    tic6x_elf32_le_vec)		 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
+    tic6x_elf32_c6000_be_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
+    tic6x_elf32_c6000_le_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
+    tic6x_elf32_linux_be_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
+    tic6x_elf32_linux_le_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
+    tic80_coff_vec)		 tb="$tb coff-tic80.lo $coff" ;;
+    tilegx_elf32_be_vec)	 tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;;
+    tilegx_elf32_le_vec)	 tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;;
+    tilegx_elf64_be_vec)	 tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;;
+    tilegx_elf64_le_vec)	 tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;;
+    tilepro_elf32_vec)		 tb="$tb elf32-tilepro.lo elf32.lo $elf" ;;
+    v800_elf32_vec)		 tb="$tb elf32-v850.lo elf32.lo $elf" ;;
+    v850_elf32_vec)		 tb="$tb elf32-v850.lo elf32.lo $elf" ;;
+    vax_aout_1knbsd_vec)	 tb="$tb vax1knetbsd.lo aout32.lo" ;;
+    vax_aout_bsd_vec)		 tb="$tb vaxbsd.lo aout32.lo" ;;
+    vax_aout_nbsd_vec)		 tb="$tb vaxnetbsd.lo aout32.lo" ;;
+    vax_elf32_vec)		 tb="$tb elf32-vax.lo elf32.lo $elf" ;;
+    visium_elf32_vec)		 tb="$tb elf32-visium.lo elf32.lo $elf" ;;
+    w65_coff_vec)		 tb="$tb coff-w65.lo reloc16.lo $coffgen" ;;
+    we32k_coff_vec)		 tb="$tb coff-we32k.lo $coffgen" ;;
+    x86_64_coff_vec)		 tb="$tb coff-x86_64.lo $coff"; target_size=64 ;;
+    x86_64_elf32_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
+    x86_64_elf32_nacl_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
+    x86_64_elf64_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+    x86_64_elf64_fbsd_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+    x86_64_elf64_nacl_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+    x86_64_elf64_sol2_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+    x86_64_mach_o_vec)		 tb="$tb mach-o-x86-64.lo" ;;
+    x86_64_pe_vec)		 tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
+    x86_64_pe_be_vec)		 tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
+    x86_64_pei_vec)		 tb="$tb pei-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
+    xc16x_elf32_vec)		 tb="$tb elf32-xc16x.lo elf32.lo $elf" ;;
+    xgate_elf32_vec)		 tb="$tb elf32-xgate.lo elf32.lo $elf" ;;
+    xstormy16_elf32_vec)	 tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;;
+    xtensa_elf32_be_vec)	 tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
+    xtensa_elf32_le_vec)	 tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
+    z80_coff_vec)		 tb="$tb coff-z80.lo reloc16.lo $coffgen" ;;
+    z8k_coff_vec)		 tb="$tb coff-z8k.lo reloc16.lo $coff" ;;
+
+    # These appear out of order in targets.c
+    srec_vec)			 tb="$tb srec.lo" ;;
+    symbolsrec_vec)		 tb="$tb srec.lo" ;;
+    tekhex_vec)			 tb="$tb tekhex.lo" ;;
+    core_cisco_be_vec)		 tb="$tb cisco-core.lo" ;;
+    core_cisco_le_vec)		 tb="$tb cisco-core.lo" ;;
+
+    "")				 ;;
+    *) AC_MSG_ERROR(*** unknown target vector $vec) ;;
+    esac
+
+    if test ${target_size} = 64; then
+	target64=true
+    fi
+    if test x"${vec}" = x"${defvec}"; then
+	bfd_default_target_size=${target_size}
+    fi
+done
+
+# Target architecture .o files.
+# A couple of CPUs use shorter file names to avoid problems on DOS
+# filesystems.
+ta=`echo $selarchs | sed -e s/bfd_/cpu-/g -e s/_arch/.lo/g -e s/mn10200/m10200/ -e s/mn10300/m10300/`
+
+# Weed out duplicate .o files.
+f=""
+for i in $tb ; do
+    case " $f " in
+    *" $i "*) ;;
+    *) f="$f $i" ;;
+    esac
+done
+tb="$f"
+
+f=""
+for i in $ta ; do
+    case " $f " in
+    *" $i "*) ;;
+    *) f="$f $i" ;;
+    esac
+done
+ta="$f"
+
+bfd_backends="$tb"
+bfd_machines="$ta"
+
+if test x${all_targets} = xtrue ; then
+  bfd_backends="${bfd_backends}"' $(ALL_BACKENDS)'
+  bfd_machines="${bfd_machines}"' $(ALL_MACHINES)'
+  selvecs=
+  havevecs=-DHAVE_all_vecs
+  selarchs=
+  test -n "$assocvecs" &&
+    assocvecs=`echo $assocvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
+else	# all_targets is true
+  # Only set these if they will be nonempty, for the clever echo.
+  havevecs=
+  assocvecs=
+  test -n "$selvecs" &&
+    havevecs=`echo $selvecs | sed -e 's/^/-DHAVE_/' -e 's/ \(.\)/ -DHAVE_\1/g'`
+  test -n "$selvecs" &&
+    selvecs=`echo $selvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
+  test -n "$selarchs" &&
+    selarchs=`echo $selarchs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
+fi	# all_targets is true
+
+case ${host64}-${target64}-${want64} in
+  *true*)
+    wordsize=64
+    bfd64_libs='$(BFD64_LIBS)'
+    all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)'
+    if test $BFD_HOST_64_BIT_DEFINED = 0; then
+      AC_MSG_WARN([You have requested a 64 bit BFD configuration, but])
+      AC_MSG_WARN([your compiler may not have a 64 bit integral type])
+    fi
+    if test -n "$GCC" ; then
+       bad_64bit_gcc=no;
+       AC_MSG_CHECKING([for gcc version with buggy 64-bit support])
+       # Add more tests for gcc versions with non-working 64-bit support here.
+       AC_EGREP_CPP([: 2 : 91 : 1 :],[:__GNUC__:__GNUC_MINOR__:__i386__:],
+		    bad_64bit_gcc=yes;
+		    AC_MSG_RESULT([yes: egcs-1.1.2 on ix86 spotted]),
+		    AC_MSG_RESULT(no))
+       if test $bad_64bit_gcc = yes ; then
+	 AC_MSG_ERROR([A newer version of gcc is needed for the requested 64-bit BFD configuration])
+       fi
+    fi
+    ;;
+  false-false-false)
+    wordsize=32
+    all_backends='$(BFD32_BACKENDS)'
+    ;;
+esac
+
+AC_SUBST(wordsize)
+AC_SUBST(bfd64_libs)
+AC_SUBST(all_backends)
+AC_SUBST(bfd_backends)
+AC_SUBST(bfd_machines)
+AC_SUBST(bfd_default_target_size)
+
+if test "$plugins" = "yes"; then
+  supports_plugins=1
+else
+  supports_plugins=0
+fi
+AC_SUBST(supports_plugins)
+AC_SUBST(lt_cv_dlopen_libs)
+
+# Determine the host dependant file_ptr a.k.a. off_t type.  In order
+# prefer: off64_t - if ftello64 and fseeko64, off_t - if ftello and
+# fseeko, long.  This assumes that sizeof off_t is .ge. sizeof long.
+# Hopefully a reasonable assumption since fseeko et.al. should be
+# upward compatible.
+AC_CHECK_FUNCS(ftello ftello64 fseeko fseeko64 fopen64)
+if test x"$ac_cv_func_ftello" = xyes -a x"$ac_cv_func_fseeko" = xyes; then
+    AC_CHECK_SIZEOF(off_t)
+fi
+AC_MSG_CHECKING([file_ptr type])
+bfd_file_ptr="long"
+bfd_ufile_ptr="unsigned long"
+if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes \
+	-o x"${ac_cv_sizeof_off_t}" = x8; then
+    bfd_file_ptr=BFD_HOST_64_BIT
+    bfd_ufile_ptr=BFD_HOST_U_64_BIT
+fi
+AC_MSG_RESULT($bfd_file_ptr)
+AC_SUBST(bfd_file_ptr)
+AC_SUBST(bfd_ufile_ptr)
+
+
+tdefaults=""
+test -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}"
+test -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'"
+test -n "${assocvecs}" && tdefaults="${tdefaults} -DASSOCIATED_VECS='${assocvecs}'"
+test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
+AC_SUBST(tdefaults)
+AC_SUBST(havevecs)
+
+dnl AC_CHECK_HEADERS(sys/mman.h)
+AC_FUNC_MMAP
+AC_CHECK_FUNCS(madvise mprotect)
+case ${want_mmap}+${ac_cv_func_mmap_fixed_mapped} in
+  true+yes )  AC_DEFINE(USE_MMAP, 1, [Use mmap if it's available?]) ;;
+esac
+
+rm -f doc/config.status
+AC_CONFIG_FILES([Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in])
+
+dnl We need this duplication, even though we use AM_PO_SUBDIRS, because of
+dnl our two separate POTFILES.  Yuck.
+AC_CONFIG_COMMANDS([default],
+[[
+case "$srcdir" in
+  .) srcdirpre= ;;
+  *) srcdirpre='$(srcdir)/' ;;
+esac
+POFILES=
+GMOFILES=
+for lang in dummy $OBSOLETE_ALL_LINGUAS; do
+  if test $lang != dummy; then
+    POFILES="$POFILES $srcdirpre$lang.po"
+    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+  fi
+done
+sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' \
+    -e '/BLD-POTFILES =/r po/BLD-POTFILES' \
+    -e "s,@POFILES@,$POFILES," \
+    -e "s,@GMOFILES@,$GMOFILES," \
+    po/Makefile.in > po/Makefile]],[[]])
+
+dnl Required by html, pdf, install-pdf and install-html
+AC_SUBST(datarootdir)
+AC_SUBST(docdir)
+AC_SUBST(htmldir)
+AC_SUBST(pdfdir)
+
+AC_OUTPUT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure.com ./bfd/configure.com
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure.com	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/configure.com	2015-01-20 02:05:36.000000000 +0000
@@ -7,7 +7,7 @@
 $! Written by Klaus K"ampf (kkaempf@rmi.de)
 $! Rewritten by Tristan Gingold (gingold@adacore.com)
 $!
-$!   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+$!   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 $!
 $! This file is free software; you can redistribute it and/or modify
 $! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure.host ./bfd/configure.host
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure.host	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/configure.host	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@
 
 # Since the "bfd/hosts" directory is shared by the bfd, opcodes, and
 # binutils directories (at least), the index to it is also shared.
-# This is that index.  Each configure.in file should source this file
+# This is that index.  Each configure.ac file should source this file
 # in its per-host part.
 
 # This sets the following shell variables:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure.in ./bfd/configure.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/configure.in	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/configure.in	1970-01-01 00:00:00.000000000 +0000
@@ -1,1204 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-dnl
-dnl   Copyright (C) 2012-2014 Free Software Foundation, Inc.
-dnl
-dnl This file is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3 of the License, or
-dnl (at your option) any later version.
-dnl 
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-dnl GNU General Public License for more details.
-dnl 
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; see the file COPYING3.  If not see
-dnl <http://www.gnu.org/licenses/>.
-dnl
-
-AC_PREREQ(2.59)
-AC_INIT([bfd], [2.24.51])
-AC_CONFIG_SRCDIR([libbfd.c])
-
-AC_CANONICAL_TARGET
-AC_ISC_POSIX
-
-AM_INIT_AUTOMAKE
-
-dnl These must be called before LT_INIT, because it may want
-dnl to call AC_CHECK_PROG.
-AC_CHECK_TOOL(AR, ar)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-
-dnl Default to a non shared library.  This may be overridden by the
-dnl configure option --enable-shared.
-AC_DISABLE_SHARED
-
-AC_PROG_CC
-AC_GNU_SOURCE
-AC_USE_SYSTEM_EXTENSIONS
-
-LT_INIT([dlopen])
-
-# AC_PLUGINS setting $plugins is called by ACX_LARGEFILE.
-ACX_LARGEFILE
-
-AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes")
-
-if test "$plugins" = "yes"; then
-  if test "$enable_dlopen" != "yes" ; then
-    AC_MSG_ERROR([
-      Building BFD with plugin support requires a host that supports -ldl.])
-  fi
-  enable_targets="$enable_targets plugin"
-fi
-
-AC_ARG_ENABLE(64-bit-bfd,
-[  --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)],
-[case "${enableval}" in
-  yes)  want64=true  ;;
-  no)   want64=false ;;
-  *)    AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
-esac],[want64=false])dnl
-
-AC_ARG_ENABLE(targets,
-[  --enable-targets        alternative target configurations],
-[case "${enableval}" in
-  yes | "") AC_MSG_ERROR([enable-targets option must specify target names or 'all'])
-            ;;
-  no)       enable_targets= ;;
-  *)        enable_targets=$enableval ;;
-esac])dnl
-
-AC_ARG_WITH(mmap,
-[  --with-mmap             try using mmap for BFD input files if available],
-[case "${withval}" in
-  yes)  want_mmap=true ;;
-  no)   want_mmap=false ;;
-  *)    AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;;
-esac],[want_mmap=false])dnl
-
-AC_ARG_ENABLE(secureplt,
-[  --enable-secureplt      Default to creating read-only plt entries],
-[case "${enableval}" in
-  yes)  use_secureplt=true  ;;
-  no)   use_secureplt=false ;;
-  *)    AC_MSG_ERROR(bad value ${enableval} for secureplt option) ;;
-esac],[use_secureplt=true])dnl
-if test $use_secureplt = true; then
-  AC_DEFINE(USE_SECUREPLT, 1,
-    [Define if we should default to creating read-only plt entries])
-fi
-
-AC_ARG_ENABLE(leading-mingw64-underscores,
-  AS_HELP_STRING([--enable-leading-mingw64-underscores],
-                 [Enable leading underscores on 64 bit mingw targets]),
-  [],[])
-AS_IF([ test x"$enable_leading_mingw64_underscores" = xyes ],
-  [AC_DEFINE(USE_MINGW64_LEADING_UNDERSCORES, 1,
-    [Define if we should use leading underscore on 64 bit mingw targets])])
-
-DEBUGDIR=${libdir}/debug
-AC_ARG_WITH(separate-debug-dir,
-  AS_HELP_STRING([--with-separate-debug-dir=DIR],
-                 [Look for global separate debug info in DIR [[default=LIBDIR/debug]]]),
-[DEBUGDIR="${withval}"])
-AC_SUBST(DEBUGDIR)
-
-# Check to see if we should allow the generation of
-# symbols with the ELF standard's STT_COMMON type.
-AC_ARG_ENABLE(elf-stt-common,
-[  --enable-elf-stt-common Allow the generation of ELF symbols with the STT_COMMON type],
-[case "${enableval}" in
-  yes) want_elf_stt_common=true ;;
-  no)  want_elf_stt_common=false ;;
-  *)   AC_MSG_ERROR(bad value ${enableval} for ELF STT_COMMON option) ;;
- esac],
-# We have to choose a default behaviour.  For native builds we could
-# test whether the loader supports the STT_COMMON type, but that would
-# mean that built binaries could not be exported to older systems where
-# the loader does not support it. So by default we always choose to
-# disable this feature.
-  want_elf_stt_common=false)dnl
-if test $want_elf_stt_common = true; then
-  AC_DEFINE(USE_STT_COMMON, 1,
-    [Define if we may generate symbols with ELF's STT_COMMON type])
-fi
-
-ACX_PKGVERSION([GNU Binutils])
-ACX_BUGURL([http://www.sourceware.org/bugzilla/])
-
-AM_BINUTILS_WARNINGS
-
-AC_CONFIG_HEADERS(config.h:config.in)
-
-# PR 14072
-AH_VERBATIM([00_CONFIG_H_CHECK],
-[/* Check that config.h is #included before system headers
-    (this works only for glibc, but that should be enough).  */
-#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
-#  error config.h must be #included before system headers
-#endif
-#define __CONFIG_H__ 1])
-
-if test -z "$target" ; then
-    AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
-fi
-
-AM_MAINTAINER_MODE
-AM_CONDITIONAL(GENINSRC_NEVER, false)
-AM_INSTALL_LIBBFD
-AC_EXEEXT
-
-host64=false
-target64=false
-bfd_default_target_size=32
-
-# host stuff:
-
-ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id ru uk"
-ZW_GNU_GETTEXT_SISTER_DIR
-AM_PO_SUBDIRS
-
-# Permit host specific settings.
-. ${srcdir}/configure.host
-
-AC_SUBST(HDEFINES)
-AC_PROG_INSTALL
-
-BFD_HOST_64BIT_LONG=0
-BFD_HOST_64BIT_LONG_LONG=0
-BFD_HOST_64_BIT_DEFINED=0
-BFD_HOST_64_BIT=
-BFD_HOST_U_64_BIT=
-BFD_HOSTPTR_T="unsigned long"
-
-AC_CHECK_SIZEOF(long long)
-AC_CHECK_SIZEOF(void *)
-AC_CHECK_SIZEOF(long)
-
-if test "x${ac_cv_sizeof_void_p}" = "x8"; then
-  host64=true
-fi
-
-if test "x${ac_cv_sizeof_long}" = "x8"; then
-  BFD_HOST_64BIT_LONG=1
-  test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
-  test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
-elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
-  BFD_HOST_64BIT_LONG_LONG=1
-  test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
-  test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
-  if test "x${ac_cv_sizeof_void_p}" = "x8"; then
-    BFD_HOSTPTR_T="unsigned long long"
-  fi
-fi
-
-if test -n "${HOST_64BIT_TYPE}" -a -n "${HOST_U_64BIT_TYPE}"; then
-  BFD_HOST_64_BIT_DEFINED=1
-  BFD_HOST_64_BIT="${HOST_64BIT_TYPE}"
-  BFD_HOST_U_64_BIT="${HOST_U_64BIT_TYPE}"
-fi
-
-AC_SUBST(BFD_HOST_64BIT_LONG)
-AC_SUBST(BFD_HOST_64BIT_LONG_LONG)
-AC_SUBST(BFD_HOST_64_BIT_DEFINED)
-AC_SUBST(BFD_HOST_64_BIT)
-AC_SUBST(BFD_HOST_U_64_BIT)
-AC_SUBST(BFD_HOSTPTR_T)
-
-BFD_CC_FOR_BUILD
-
-AC_CHECK_HEADERS(alloca.h stddef.h string.h strings.h stdlib.h time.h unistd.h wchar.h)
-AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h sys/stat.h sys/resource.h)
-GCC_HEADER_STDINT(bfd_stdint.h)
-AC_HEADER_TIME
-AC_HEADER_DIRENT
-
-AC_CHECK_HEADERS(windows.h dlfcn.h)
-
-ACX_HEADER_STRING
-AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno)
-AC_CHECK_FUNCS(strtoull getrlimit)
-
-AC_CHECK_DECLS(basename)
-AC_CHECK_DECLS(ftello)
-AC_CHECK_DECLS(ftello64)
-AC_CHECK_DECLS(fseeko)
-AC_CHECK_DECLS(fseeko64)
-
-BFD_BINARY_FOPEN
-
-AC_CHECK_DECLS(ffs)
-AC_CHECK_DECLS(free)
-AC_CHECK_DECLS(getenv)
-AC_CHECK_DECLS(malloc)
-AC_CHECK_DECLS(realloc)
-AC_CHECK_DECLS(stpcpy)
-AC_CHECK_DECLS(strstr)
-AC_CHECK_DECLS(snprintf)
-AC_CHECK_DECLS(vsnprintf)
-AC_CHECK_DECLS(strnlen)
-
-# Link in zlib if we can.  This allows us to read compressed debug sections.
-# This is used only by compress.c.
-AM_ZLIB
-
-# If we are configured native, pick a core file support file.
-COREFILE=
-COREFLAG=
-CORE_HEADER=
-TRAD_HEADER=
-if test "${target}" = "${host}"; then
-  case "${host}" in
-  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu | alpha*-*-*vms*)
-	COREFILE=''
-	;;
-  alpha*-*-linux-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/alphalinux.h"'
-	;;
-  alpha*-*-netbsd* | alpha*-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  alpha*-*-*)
-        COREFILE=osf-core.lo
-	;;
-  arm-*-freebsd* | arm-*-kfreebsd*-gnu)
-	COREFILE='' ;;
-  arm-*-netbsd* | arm-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  arm-*-riscix)		COREFILE=trad-core.lo ;;
-  hppa*-*-hpux*)	COREFILE=hpux-core.lo ;;
-  hppa*-*-hiux*)	COREFILE=hpux-core.lo ;;
-  hppa*-*-mpeix*)	COREFILE=hpux-core.lo ;;
-  hppa*-*-bsd*)		COREFILE="hpux-core.lo hppabsd-core.lo"
-			COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;;
-  hppa*-*-netbsd* | hppa*-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-
-  i370-*-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i370linux.h"'
-	;;
-
-changequote(,)dnl
-  i[3-7]86-sequent-bsd*)
-changequote([,])dnl
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/symmetry.h"'
-	;;
-changequote(,)dnl
-  i[3-7]86-sequent-sysv4*) ;;
-  i[3-7]86-sequent-sysv*)
-changequote([,])dnl
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/symmetry.h"'
-	;;
-changequote(,)dnl
-  i[3-7]86-*-bsdi)
-changequote([,])dnl
-	COREFILE=
-	;;
-changequote(,)dnl
-  i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.* | i[3-7]86-*-freebsd*aout*)
-changequote([,])dnl
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i386bsd.h"'
-	;;
-changequote(,)dnl
-  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
-changequote([,])dnl
-	COREFILE=''
-	TRAD_HEADER='"hosts/i386bsd.h"'
-	;;
-changequote(,)dnl
-  i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*)
-changequote([,])dnl
-	COREFILE=netbsd-core.lo
-	;;
-changequote(,)dnl
-  i[3-7]86-esix-sysv3*)
-changequote([,])dnl
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/esix.h"'
-	;;
-changequote(,)dnl
-  i[3-7]86-*-sco3.2v5*)
-changequote([,])dnl
-	COREFILE=sco5-core.lo
-	;;
-changequote(,)dnl
-  i[3-7]86-*-sco* | i[3-7]86-*-isc*)
-changequote([,])dnl
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i386sco.h"'
-	;;
-changequote(,)dnl
-  i[3-7]86-*-mach3*)
-changequote([,])dnl
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i386mach3.h"'
-	;;
-changequote(,)dnl
-  i[3-7]86-*-linux-*)
-changequote([,])dnl
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i386linux.h"'
-	case "$enable_targets"-"$want64" in
-	*x86_64-*linux*|*-true)
-	  CORE_HEADER='"hosts/x86-64linux.h"'
-	esac
-	;;
-changequote(,)dnl
-  i[3-7]86-*-isc*)	COREFILE=trad-core.lo ;;
-  i[3-7]86-*-aix*)	COREFILE=aix386-core.lo ;;
-changequote([,])dnl
-  i860-*-mach3* | i860-*-osf1*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/i860mach3.h"'
-	;;
-  mips-*-netbsd* | mips*-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  mips-dec-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/decstation.h"'
-	;;
-  mips-sgi-irix4*)	COREFILE=irix-core.lo ;;
-  mips-sgi-irix5*)	COREFILE=irix-core.lo ;;
-  mips-sgi-irix6*)	COREFILE=irix-core.lo ;;
-  mips-*-sysv4*)	;;
-  mips-*-sysv* | mips-*-riscos*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/riscos.h"'
-	;;
-  mips-sony-bsd*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/news-mips.h"'
-	;;
-  m68*-bull*-sysv*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/dpx2.h"'
-	;;
-  m68*-hp-hpux*)	COREFILE=hpux-core.lo ;;
-  m68*-hp-bsd*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/hp300bsd.h"'
-	;;
-  m68*-*-linux-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/m68klinux.h"'
-	;;
-  m68*-motorola-sysv*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/delta68.h"'
-	;;
-  m68*-sony-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/news.h"'
-	;;
-  m68*-*-netbsd* | m68*-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  m68*-apple-aux*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/m68kaux.h"'
-	;;
-  m88*-*-sysv4*)
-	;;
-  m88*-motorola-sysv*)
-	COREFILE=ptrace-core.lo
-	;;
-  m88*-*-mach3*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/m88kmach3.h"'
-	;;
-  m88*-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  ns32k-pc532-mach)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/pc532mach.h"'
-	;;
-  ns32k-*-netbsd* | ns32k-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  rs6000-*-lynx*)
-	COREFILE=lynx-core.lo
-	;;
-changequote(,)dnl
-  rs6000-*-aix[5-9].* | powerpc-*-aix[5-9].*)
-changequote([,])dnl
-        COREFILE=rs6000-core.lo
-	COREFLAG="$COREFLAG -DAIX_5_CORE -DAIX_CORE_DUMPX_CORE"
-	;;
-changequote(,)dnl
-  rs6000-*-aix4.[3-9]* | powerpc-*-aix4.[3-9]*)
-changequote([,])dnl
-        COREFILE=rs6000-core.lo
-	COREFLAG="$COREFLAG -DAIX_CORE_DUMPX_CORE"
-	# Not all versions of AIX with -DAIX_CORE_DUMPX_CORE
-	# have c_impl as a member of struct core_dumpx
-	AC_MSG_CHECKING([for c_impl in struct core_dumpx])
-	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <core.h>]], [[struct core_dumpx c; c.c_impl = 0;]])],[AC_DEFINE(HAVE_ST_C_IMPL, 1,
-	    [Define if struct core_dumpx has member c_impl])
-	  AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
-	;;
-  rs6000-*-aix4*)	COREFILE=rs6000-core.lo ;;
-  rs6000-*-*)		COREFILE=rs6000-core.lo ;;
-  powerpc-*-aix4*)	COREFILE=rs6000-core.lo ;;
-  powerpc-*-aix*)	COREFILE=rs6000-core.lo ;;
-  powerpc-*-beos*)	;;
-  powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)
-		        COREFILE='' ;;
-  powerpc-*-netbsd*)	COREFILE=netbsd-core.lo ;;
-  powerpc-*-*bsd*)	COREFILE=netbsd-core.lo ;;
-  s390*-*-*)            COREFILE=trad-core.lo ;;
-  sh*-*-netbsd* | sh*-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  sparc-*-netbsd* | sparc*-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  tahoe-*-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/tahoe.h"'
-	;;
-  vax-*-netbsd* | vax-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  vax-*-ultrix2*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/vaxult2.h"'
-	;;
-  vax-*-ultrix*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/vaxult2.h"'
-	;;
-  vax-*-linux-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/vaxlinux.h"'
-	;;
-  vax-*-*)
-	COREFILE=trad-core.lo
-	TRAD_HEADER='"hosts/vaxbsd.h"'
-	;;
-  x86_64-*-linux*)
-	CORE_HEADER='"hosts/x86-64linux.h"'
-	;;
-  x86_64-*-netbsd* | x86_64-*-openbsd*)
-	COREFILE=netbsd-core.lo
-	;;
-  esac
-
-  case "$COREFILE" in
-  aix386-core.lo)	COREFLAG=-DAIX386_CORE ;;
-  hppabsd-core.lo)	COREFLAG=-DHPPABSD_CORE ;;
-  hpux-core.lo)		COREFLAG=-DHPUX_CORE ;;
-  irix-core.lo)		COREFLAG=-DIRIX_CORE ;;
-  lynx-core.lo)		COREFLAG=-DLYNX_CORE ;;
-  netbsd-core.lo)	COREFLAG=-DNETBSD_CORE ;;
-  osf-core.lo)		COREFLAG=-DOSF_CORE ;;
-  ptrace-core.lo)	COREFLAG=-DPTRACE_CORE ;;
-  rs6000-core.lo)	COREFLAG="$COREFLAG -DAIX_CORE" ;;
-  sco5-core.lo)		COREFLAG="$COREFLAG -DSCO5_CORE" ;;
-  trad-core.lo)		COREFLAG="$COREFLAG -DTRAD_CORE" ;;
-  esac
-
-  # ELF corefile support has several flavors, but all of
-  # them use something called <sys/procfs.h>
-  AC_CHECK_HEADERS(sys/procfs.h)
-  if test "$ac_cv_header_sys_procfs_h" = yes; then
-    BFD_HAVE_SYS_PROCFS_TYPE(prstatus_t)
-    BFD_HAVE_SYS_PROCFS_TYPE(prstatus32_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus_t, pr_who)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus32_t, pr_who)
-    BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
-    BFD_HAVE_SYS_PROCFS_TYPE(pxstatus_t)
-    BFD_HAVE_SYS_PROCFS_TYPE(pstatus32_t)
-    BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo_t, pr_pid)
-    BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo32_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo32_t, pr_pid)
-    BFD_HAVE_SYS_PROCFS_TYPE(psinfo_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo_t, pr_pid)
-    BFD_HAVE_SYS_PROCFS_TYPE(psinfo32_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo32_t, pr_pid)
-    BFD_HAVE_SYS_PROCFS_TYPE(lwpstatus_t)
-    BFD_HAVE_SYS_PROCFS_TYPE(lwpxstatus_t)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_context)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_reg)
-    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_fpreg)
-    BFD_HAVE_SYS_PROCFS_TYPE(win32_pstatus_t)
-  fi
-fi
-AC_SUBST(COREFILE)
-AC_SUBST(COREFLAG)
-if test -n "$CORE_HEADER"; then
-  AC_DEFINE_UNQUOTED(CORE_HEADER, $CORE_HEADER,
-    [Name of host specific core header file to include in elf.c.])
-fi
-if test -n "$TRAD_HEADER"; then
-  AC_DEFINE_UNQUOTED(TRAD_HEADER, $TRAD_HEADER,
-    [Name of host specific header file to include in trad-core.c.])
-fi
-
-# Check if linker supports --as-needed and --no-as-needed options
-AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
-	[bfd_cv_ld_as_needed=no
-	if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
-		bfd_cv_ld_as_needed=yes
-	fi
-	])
-
-LT_LIB_M
-
-# When building a shared libbfd, link against the pic version of libiberty
-# so that apps that use libbfd won't need libiberty just to satisfy any
-# libbfd references.
-# We can't do that if a pic libiberty is unavailable since including non-pic
-# code would insert text relocations into libbfd.
-SHARED_LIBADD=
-SHARED_LDFLAGS=
-if test "$enable_shared" = "yes"; then
-changequote(,)dnl
-  x=`sed -n -e 's/^[ 	]*PICFLAG[ 	]*=[ 	]*//p' < ../libiberty/Makefile | sed -n '$p'`
-changequote([,])dnl
-  if test -n "$x"; then
-    SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
-  fi
-
-# More hacks to build DLLs on Windows.
-  case "${host}" in
-  *-*-cygwin*)
-    SHARED_LDFLAGS="-no-undefined"
-    SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32"
-  ;;
-
-  # Hack to build or1k-src on OSX
-  or1k*-*-darwin*)
-    SHARED_LIBADD="-L`pwd`/../libiberty/pic -L`pwd`/../intl -liberty -lintl"
-  ;;
-  esac
-
-  if test -n "$SHARED_LIBADD"; then
-    if test -n "$LIBM"; then
-      if test x"$bfd_cv_ld_as_needed" = xyes; then
-	# Link against libm only when needed.  Put -lc, -lm inside -Wl
-	# to stop libtool reordering these options.
-	SHARED_LIBADD="$SHARED_LIBADD -Wl,-lc,--as-needed,`echo $LIBM | sed 's/ /,/g'`,--no-as-needed"
-      else
-	SHARED_LIBADD="$SHARED_LIBADD $LIBM"
-      fi
-    fi
-  fi
-fi
-AC_SUBST(SHARED_LDFLAGS)
-AC_SUBST(SHARED_LIBADD)
-
-# target stuff:
-
-# Canonicalize the secondary target names.
-if test -n "$enable_targets" ; then
-    for targ in `echo $enable_targets | sed 's/,/ /g'`
-    do
-	result=`$ac_config_sub $targ 2>/dev/null`
-	if test -n "$result" ; then
-	    canon_targets="$canon_targets $result"
-	else
-	    # Allow targets that config.sub doesn't recognize, like "all".
-	    canon_targets="$canon_targets $targ"
-	fi
-    done
-fi
-
-all_targets=false
-defvec=
-selvecs=
-assocvecs=
-selarchs=
-TDEFINES=
-for targ in $target $canon_targets
-do
-    if test "x$targ" = "xall"; then
-        all_targets=true
-	assocvecs="$assocvecs $targ_defvec $targ_selvecs"
-    else
-	. $srcdir/config.bfd
-	if test "x$targ" = "x$target"; then
-	    defvec=$targ_defvec
-	fi
-	selvecs="$selvecs $targ_defvec $targ_selvecs"
-	selarchs="$selarchs $targ_archs"
-	TDEFINES="$TDEFINES $targ_cflags"
-    fi
-done
-AC_SUBST(TDEFINES)
-
-# This processing still needs to be done if we're to decide properly whether
-# 64-bit support needs to be compiled in.  Currently, it will be included if
-# the default or any other explicitly requested target requires it; it
-# will not be included on a 32-bit host if no 64-bit target is requested, and
-# no "--with-64-bit-bfd" option is given, even if "--enable-targets=all" is
-# used.
-
-# uniq the default and selected vectors in all the configured targets.
-f=""
-for i in $selvecs ; do
-    case " $f " in
-    *" $i "*) ;;
-    *) f="$f $i" ;;
-    esac
-done
-selvecs="$f"
-
-
-# uniq the associated vectors in all the configured targets.
-f=""
-for i in $assocvecs ; do
-    case " $f " in
-    *" $i "*) ;;
-    *) f="$f $i" ;;
-    esac
-done
-assocvecs="$f"
-
-
-# uniq the architectures in all the configured targets.
-f=""
-for i in $selarchs ; do
-    case " $f " in
-    *" $i "*) ;;
-    *) f="$f $i" ;;
-    esac
-done
-selarchs="$f"
-
-# Target backend .o files.
-tb=
-
-elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo
-     elf-eh-frame.lo dwarf1.lo"
-
-for vec in $selvecs
-do
-    target_size=32
-    case "$vec" in
-    # This list is alphabetized to make it easy to compare
-    # with the two vector lists in targets.c.  For the same reason,
-    # use one entry per line, even though this leads to long lines.
-    aarch64_elf32_be_vec)	 tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
-    aarch64_elf32_le_vec)	 tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
-    aarch64_elf64_be_vec)	 tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
-    aarch64_elf64_le_vec)	 tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
-    alpha_ecoff_le_vec)		 tb="$tb coff-alpha.lo ecoff.lo ecofflink.lo"; target_size=64 ;;
-    alpha_elf64_vec)		 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
-    alpha_elf64_fbsd_vec)	 tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
-    alpha_nlm32_vec)		 tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"; target_size=64 ;;
-    alpha_vms_vec)		 tb="$tb vms-alpha.lo vms-misc.lo vms-lib.lo"; target_size=64 ;;
-    alpha_vms_lib_txt_vec)	 tb="$tb vms-lib.lo vms-misc.lo" ;;
-    am33_elf32_linux_vec)	 tb="$tb elf32-am33lin.lo elf32.lo $elf" ;;
-    aout0_be_vec)		 tb="$tb aout0.lo aout32.lo" ;;
-    aout64_vec)			 tb="$tb demo64.lo aout64.lo"; target_size=64 ;;
-    aout_vec)			 tb="$tb host-aout.lo aout32.lo" ;;
-    aout_adobe_vec)		 tb="$tb aout-adobe.lo aout32.lo" ;;
-    arc_elf32_be_vec)		 tb="$tb elf32-arc.lo elf32.lo $elf" ;;
-    arc_elf32_le_vec)		 tb="$tb elf32-arc.lo elf32.lo $elf" ;;
-    arm_aout_be_vec)		 tb="$tb aout-arm.lo aout32.lo" ;;
-    arm_aout_le_vec)		 tb="$tb aout-arm.lo aout32.lo" ;;
-    arm_aout_nbsd_vec)		 tb="$tb armnetbsd.lo aout32.lo" ;;
-    arm_aout_riscix_vec)	 tb="$tb aout32.lo riscix.lo" ;;
-    arm_coff_be_vec)		 tb="$tb coff-arm.lo cofflink.lo " ;;
-    arm_coff_le_vec)		 tb="$tb coff-arm.lo cofflink.lo " ;;
-    arm_elf32_be_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
-    arm_elf32_le_vec)		 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
-    arm_elf32_nacl_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
-    arm_elf32_nacl_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
-    arm_elf32_symbian_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
-    arm_elf32_symbian_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
-    arm_elf32_vxworks_be_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
-    arm_elf32_vxworks_le_vec)	 tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;;
-    arm_pe_be_vec)		 tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_le_vec)		 tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_epoc_be_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_epoc_le_vec)		 tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_wince_be_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pe_wince_le_vec)	 tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_be_vec)		 tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_le_vec)		 tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_epoc_be_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_epoc_le_vec)	 tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_wince_be_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;;
-    arm_pei_wince_le_vec)	 tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;;
-    avr_elf32_vec)		 tb="$tb elf32-avr.lo elf32.lo $elf" ;;
-    bfin_elf32_vec)		 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
-    bfin_elf32_fdpic_vec)	 tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
-    bout_be_vec)		 tb="$tb bout.lo aout32.lo" ;;
-    bout_le_vec)		 tb="$tb bout.lo aout32.lo" ;;
-    cr16_elf32_vec)		 tb="$tb elf32-cr16.lo elf32.lo $elf" ;;
-    cr16c_elf32_vec)		 tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
-    cris_aout_vec)		 tb="$tb aout-cris.lo" ;;
-    cris_elf32_vec)		 tb="$tb elf32-cris.lo elf32.lo $elf" ;;
-    cris_elf32_us_vec)		 tb="$tb elf32-cris.lo elf32.lo $elf" ;;
-    crx_elf32_vec)		 tb="$tb elf32-crx.lo elf32.lo $elf" ;;
-    d10v_elf32_vec)		 tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
-    d30v_elf32_vec)		 tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
-    dlx_elf32_be_vec)		 tb="$tb elf32-dlx.lo elf32.lo $elf" ;;
-    elf32_be_vec)		 tb="$tb elf32-gen.lo elf32.lo $elf" ;;
-    elf32_le_vec)		 tb="$tb elf32-gen.lo elf32.lo $elf" ;;
-    elf64_be_vec)		 tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;;
-    elf64_le_vec)		 tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;;
-    epiphany_elf32_vec)		 tb="$tb elf32-epiphany.lo elf32.lo $elf" ;;
-    fr30_elf32_vec)		 tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
-    frv_elf32_vec)		 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
-    frv_elf32_fdpic_vec)	 tb="$tb elf32-frv.lo elf32.lo $elf" ;;
-    h8300_coff_vec)		 tb="$tb coff-h8300.lo reloc16.lo" ;;
-    h8300_elf32_vec)		 tb="$tb elf32-h8300.lo elf32.lo $elf" ;;
-    h8500_coff_vec)		 tb="$tb coff-h8500.lo reloc16.lo" ;;
-    hppa_elf32_vec)		 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
-    hppa_elf32_linux_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
-    hppa_elf32_nbsd_vec)	 tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
-    hppa_elf64_vec)		 tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;;
-    hppa_elf64_linux_vec)	 tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;;
-    hppa_som_vec)		 tb="$tb som.lo" ;;
-    i370_elf32_vec)		 tb="$tb elf32-i370.lo elf32.lo $elf" ;;
-    i386_aout_vec)		 tb="$tb i386aout.lo aout32.lo" ;;
-    i386_aout_bsd_vec)		 tb="$tb i386bsd.lo aout32.lo" ;;
-    i386_aout_dynix_vec)	 tb="$tb i386dynix.lo aout32.lo" ;;
-    i386_aout_fbsd_vec)		 tb="$tb i386freebsd.lo aout32.lo" ;;
-    i386_aout_linux_vec)	 tb="$tb i386linux.lo aout32.lo" ;;
-    i386_aout_lynx_vec)		 tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;;
-    i386_aout_mach3_vec)	 tb="$tb i386mach3.lo aout32.lo" ;;
-    i386_aout_nbsd_vec)		 tb="$tb i386netbsd.lo aout32.lo" ;;
-    i386_aout_os9k_vec)		 tb="$tb i386os9k.lo aout32.lo" ;;
-    i386_coff_vec)		 tb="$tb coff-i386.lo cofflink.lo" ;;
-    i386_coff_go32_vec)		 tb="$tb coff-go32.lo cofflink.lo" ;;
-    i386_coff_go32stubbed_vec)	 tb="$tb coff-stgo32.lo cofflink.lo" ;;
-    i386_coff_lynx_vec)		 tb="$tb cf-i386lynx.lo cofflink.lo lynx-core.lo" ;;
-    i386_elf32_vec)		 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
-    i386_elf32_fbsd_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
-    i386_elf32_nacl_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
-    i386_elf32_sol2_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
-    i386_elf32_vxworks_vec)	 tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
-    i386_mach_o_vec)		 tb="$tb mach-o-i386.lo" ;;
-    i386_msdos_vec)		 tb="$tb i386msdos.lo" ;;
-    i386_nlm32_vec)		 tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;;
-    i386_pe_vec)		 tb="$tb pe-i386.lo peigen.lo cofflink.lo" ;;
-    i386_pei_vec)		 tb="$tb pei-i386.lo peigen.lo cofflink.lo" ;;
-    i860_coff_vec)		 tb="$tb coff-i860.lo cofflink.lo" ;;
-    i860_elf32_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i860_elf32_le_vec)		 tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i960_elf32_vec)		 tb="$tb elf32-i960.lo elf32.lo $elf" ;;
-    ia64_elf32_be_vec)		 tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
-    ia64_elf32_hpux_be_vec)	 tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
-    ia64_elf64_be_vec)		 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
-    ia64_elf64_le_vec)		 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
-    ia64_elf64_hpux_be_vec)	 tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
-    ia64_elf64_vms_vec)		 tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;;
-    ia64_pei_vec)		 tb="$tb pei-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;;
-    icoff_be_vec)		 tb="$tb coff-i960.lo cofflink.lo" ;;
-    icoff_le_vec)		 tb="$tb coff-i960.lo cofflink.lo" ;;
-    ieee_vec)			 tb="$tb ieee.lo" ;;
-    ip2k_elf32_vec)		 tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
-    iq2000_elf32_vec)		 tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
-    k1om_elf64_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-    k1om_elf64_fbsd_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-    l1om_elf64_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-    l1om_elf64_fbsd_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-    lm32_elf32_vec)		 tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
-    lm32_elf32_fdpic_vec)	 tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
-    m32c_elf32_vec)		 tb="$tb elf32-m32c.lo elf32.lo $elf" ;;
-    m32r_elf32_vec)		 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
-    m32r_elf32_le_vec)		 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
-    m32r_elf32_linux_vec)	 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
-    m32r_elf32_linux_le_vec)	 tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
-    m68hc11_elf32_vec)		 tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
-    m68hc12_elf32_vec)		 tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
-    m68k_aout_4knbsd_vec)	 tb="$tb m68k4knetbsd.lo aout32.lo" ;;
-    m68k_aout_hp300bsd_vec)	 tb="$tb hp300bsd.lo aout32.lo" ;;
-    m68k_aout_hp300hpux_vec)	 tb="$tb hp300hpux.lo aout32.lo" ;;
-    m68k_aout_linux_vec)	 tb="$tb m68klinux.lo aout32.lo" ;;
-    m68k_aout_nbsd_vec)		 tb="$tb m68knetbsd.lo aout32.lo" ;;
-    m68k_aout_newsos3_vec)	 tb="$tb newsos3.lo aout32.lo" ;;
-    m68k_coff_vec)		 tb="$tb coff-m68k.lo cofflink.lo" ;;
-    m68k_coff_apollo_vec)	 tb="$tb coff-apollo.lo" ;;
-    m68k_coff_aux_vec)		 tb="$tb coff-aux.lo coff-m68k.lo cofflink.lo" ;;
-    m68k_coff_sysv_vec)		 tb="$tb coff-svm68k.lo cofflink.lo" ;;
-    m68k_coff_un_vec)		 tb="$tb coff-u68k.lo coff-m68k.lo cofflink.lo" ;;
-    m68k_elf32_vec)		 tb="$tb elf32-m68k.lo elf32.lo $elf" ;;
-    m68k_versados_vec)		 tb="$tb versados.lo" ;;
-    m88k_aout_mach3_vec)	 tb="$tb m88kmach3.lo aout32.lo" ;;
-    m88k_aout_obsd_vec)		 tb="$tb m88kopenbsd.lo aout32.lo" ;;
-    m88k_coff_bcs_vec)		 tb="$tb coff-m88k.lo" ;;
-    m88k_elf32_vec)		 tb="$tb elf32-m88k.lo elf32.lo $elf" ;;
-    mach_o_be_vec)		 tb="$tb mach-o.lo" ;;
-    mach_o_le_vec)		 tb="$tb mach-o.lo" ;;
-    mach_o_fat_vec)		 tb="$tb mach-o.lo" ;;
-    mcore_elf32_be_vec)		 tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
-    mcore_elf32_le_vec)		 tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
-    mcore_pe_be_vec)		 tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;;
-    mcore_pe_le_vec)		 tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;;
-    mcore_pei_be_vec)		 tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;;
-    mcore_pei_le_vec)		 tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;;
-    mep_elf32_vec)		 tb="$tb elf32-mep.lo elf32.lo $elf" ;;
-    mep_elf32_le_vec)		 tb="$tb elf32-mep.lo elf32.lo $elf" ;;
-    metag_elf32_vec)		 tb="$tb elf32-metag.lo elf32.lo $elf" ;;
-    microblaze_elf32_vec)	 tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
-    microblaze_elf32_le_vec)	 tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
-    mips_ecoff_be_vec)		 tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
-    mips_ecoff_le_vec)		 tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
-    mips_ecoff_bele_vec)	 tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
-    mips_elf32_be_vec)		 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_le_vec)		 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_n_be_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_n_le_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_ntrad_be_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_ntrad_le_vec)	 tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_ntradfbsd_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_ntradfbsd_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf32_trad_be_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_trad_le_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_tradfbsd_be_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_tradfbsd_le_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_vxworks_be_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf32_vxworks_le_vec)	 tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
-    mips_elf64_be_vec)		 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_le_vec)		 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_trad_be_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_trad_le_vec)	 tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_tradfbsd_be_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_elf64_tradfbsd_le_vec)  tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
-    mips_pe_le_vec)		 tb="$tb pe-mips.lo peigen.lo cofflink.lo" ;;
-    mips_pei_le_vec)		 tb="$tb pei-mips.lo peigen.lo cofflink.lo" ;;
-    mmix_elf64_vec)		 tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;;
-    mmix_mmo_vec)			 tb="$tb mmo.lo" target_size=64 ;;
-    mn10200_elf32_vec)		 tb="$tb elf-m10200.lo elf32.lo $elf" ;;
-    mn10300_elf32_vec)		 tb="$tb elf-m10300.lo elf32.lo $elf" ;;
-    moxie_elf32_be_vec)		 tb="$tb elf32-moxie.lo elf32.lo $elf" ;;
-    moxie_elf32_le_vec)		 tb="$tb elf32-moxie.lo elf32.lo $elf" ;;
-    msp430_elf32_vec)		 tb="$tb elf32-msp430.lo elf32.lo $elf" ;;
-    msp430_elf32_ti_vec)	 tb="$tb elf32-msp430.lo elf32.lo $elf" ;;
-    mt_elf32_vec)		 tb="$tb elf32-mt.lo elf32.lo $elf" ;;
-    nds32_elf32_be_vec)		 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
-    nds32_elf32_le_vec)		 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
-    nds32_elf32_linux_be_vec)	 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
-    nds32_elf32_linux_le_vec)	 tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
-    nios2_elf32_be_vec)		 tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
-    nios2_elf32_le_vec)		 tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
-    ns32k_aout_pc532mach_vec)	 tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
-    ns32k_aout_pc532nbsd_vec)	 tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;;
-    or1k_elf32_vec)		 tb="$tb elf32-or1k.lo elf32.lo $elf" ;;
-    pdp11_aout_vec)		 tb="$tb pdp11.lo" ;;
-    pef_vec)			 tb="$tb pef.lo" ;;
-    pef_xlib_vec)		 tb="$tb pef.lo" ;;
-    pj_elf32_vec)		 tb="$tb elf32-pj.lo elf32.lo $elf" ;;
-    pj_elf32_le_vec)		 tb="$tb elf32-pj.lo elf32.lo $elf" ;;
-    plugin_vec)			 tb="$tb plugin.lo" ;;
-    powerpc_boot_vec)		 tb="$tb ppcboot.lo" ;;
-    powerpc_elf32_vec)		 tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
-    powerpc_elf32_le_vec)	 tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
-    powerpc_elf32_fbsd_vec)	 tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
-    powerpc_elf32_vxworks_vec)	 tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
-    powerpc_elf64_vec)		 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;;
-    powerpc_elf64_le_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
-    powerpc_elf64_fbsd_vec)	 tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
-    powerpc_nlm32_vec)		 tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;;
-    powerpc_pe_vec)		 tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;;
-    powerpc_pe_le_vec)		 tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;;
-    powerpc_pei_vec)		 tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
-    powerpc_pei_le_vec)		 tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
-    powerpc_xcoff_vec)		 tb="$tb coff-rs6000.lo xcofflink.lo" ;;
-    rl78_elf32_vec)		 tb="$tb elf32-rl78.lo elf32.lo $elf" ;;
-    rs6000_xcoff64_vec)		 tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;;
-    rs6000_xcoff64_aix_vec)	 tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;;
-    rs6000_xcoff_vec)		 tb="$tb coff-rs6000.lo xcofflink.lo" ;;
-    rx_elf32_be_vec)		 tb="$tb elf32-rx.lo elf32.lo $elf" ;;
-    rx_elf32_be_ns_vec)		 tb="$tb elf32-rx.lo elf32.lo $elf" ;;
-    rx_elf32_le_vec)		 tb="$tb elf32-rx.lo elf32.lo $elf" ;;
-    s390_elf32_vec)		 tb="$tb elf32-s390.lo elf32.lo $elf" ;;
-    s390_elf64_vec)		 tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
-    score_elf32_be_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
-    score_elf32_le_vec)		 tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
-    # FIXME: We include cofflink.lo not because it's needed for
-    # sh64_elf32[_le]_vec, but because we include sh_elf32[_le]_vec
-    # which needs it but does not list it.  Should be fixed in right place.
-    sh64_elf32_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
-    sh64_elf32_le_vec)		 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
-    sh64_elf32_linux_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
-    sh64_elf32_linux_be_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
-    sh64_elf32_nbsd_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;;
-    sh64_elf32_nbsd_le_vec)	 tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;;
-    sh64_elf64_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_le_vec)		 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_linux_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_linux_be_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_nbsd_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh64_elf64_nbsd_le_vec)	 tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
-    sh_coff_vec)		 tb="$tb coff-sh.lo cofflink.lo" ;;
-    sh_coff_le_vec)		 tb="$tb coff-sh.lo cofflink.lo" ;;
-    sh_coff_small_vec)		 tb="$tb coff-sh.lo cofflink.lo" ;;
-    sh_coff_small_le_vec)	 tb="$tb coff-sh.lo cofflink.lo" ;;
-    sh_elf32_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_elf32_le_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_elf32_fdpic_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_fdpic_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_linux_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_linux_be_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_nbsd_vec)		 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_nbsd_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
-    sh_elf32_symbian_le_vec)	 tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_elf32_vxworks_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_elf32_vxworks_le_vec)	 tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
-    sh_pe_le_vec)		 tb="$tb pe-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;;
-    sh_pei_le_vec)		 tb="$tb pei-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;;
-    sparc_aout_le_vec)		 tb="$tb aout-sparcle.lo aout32.lo" ;;
-    sparc_aout_linux_vec)	 tb="$tb sparclinux.lo aout32.lo" ;;
-    sparc_aout_lynx_vec)	 tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;;
-    sparc_aout_nbsd_vec)	 tb="$tb sparcnetbsd.lo aout32.lo" ;;
-    sparc_aout_sunos_be_vec)	 tb="$tb sunos.lo aout32.lo" ;;
-    sparc_coff_vec)		 tb="$tb coff-sparc.lo" ;;
-    sparc_coff_lynx_vec)	 tb="$tb cf-sparclynx.lo lynx-core.lo" ;;
-    sparc_elf32_vec)		 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
-    sparc_elf32_sol2_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
-    sparc_elf32_vxworks_vec)	 tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
-    sparc_elf64_vec)		 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
-    sparc_elf64_fbsd_vec)	 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
-    sparc_elf64_sol2_vec)	 tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
-    sparc_nlm32_vec)		 tb="$tb nlm32-sparc.lo nlm32.lo nlm.lo" ;;
-    spu_elf32_vec)		 tb="$tb elf32-spu.lo elf32.lo $elf" ;;
-    sym_vec)			 tb="$tb xsym.lo" ;;
-    tic30_aout_vec)		 tb="$tb aout-tic30.lo" ;;
-    tic30_coff_vec)		 tb="$tb coff-tic30.lo" ;;
-    tic4x_coff0_vec)		 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff0_beh_vec)	 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff1_vec)		 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff1_beh_vec)	 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff2_vec)		 tb="$tb coff-tic4x.lo" ;;
-    tic4x_coff2_beh_vec)	 tb="$tb coff-tic4x.lo" ;;
-    tic54x_coff0_vec)		 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff0_beh_vec)	 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff1_vec)		 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff1_beh_vec)	 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff2_vec)		 tb="$tb coff-tic54x.lo" ;;
-    tic54x_coff2_beh_vec)	 tb="$tb coff-tic54x.lo" ;;
-    tic6x_elf32_be_vec)		 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
-    tic6x_elf32_le_vec)		 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
-    tic6x_elf32_c6000_be_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
-    tic6x_elf32_c6000_le_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
-    tic6x_elf32_linux_be_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
-    tic6x_elf32_linux_le_vec)	 tb="$tb elf32-tic6x.lo elf32.lo $elf" ;;
-    tic80_coff_vec)		 tb="$tb coff-tic80.lo cofflink.lo" ;;
-    tilegx_elf32_be_vec)	 tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;;
-    tilegx_elf32_le_vec)	 tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;;
-    tilegx_elf64_be_vec)	 tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;;
-    tilegx_elf64_le_vec)	 tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;;
-    tilepro_elf32_vec)		 tb="$tb elf32-tilepro.lo elf32.lo $elf" ;;
-    v800_elf32_vec)		 tb="$tb elf32-v850.lo elf32.lo $elf" ;;
-    v850_elf32_vec)		 tb="$tb elf32-v850.lo elf32.lo $elf" ;;
-    vax_aout_1knbsd_vec)	 tb="$tb vax1knetbsd.lo aout32.lo" ;;
-    vax_aout_bsd_vec)		 tb="$tb vaxbsd.lo aout32.lo" ;;
-    vax_aout_nbsd_vec)		 tb="$tb vaxnetbsd.lo aout32.lo" ;;
-    vax_elf32_vec)		 tb="$tb elf32-vax.lo elf32.lo $elf" ;;
-    w65_coff_vec)		 tb="$tb coff-w65.lo reloc16.lo" ;;
-    we32k_coff_vec)		 tb="$tb coff-we32k.lo" ;;
-    x86_64_coff_vec)		 tb="$tb coff-x86_64.lo cofflink.lo"; target_size=64 ;;
-    x86_64_elf32_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
-    x86_64_elf32_nacl_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
-    x86_64_elf64_vec)		 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-    x86_64_elf64_fbsd_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-    x86_64_elf64_nacl_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-    x86_64_elf64_sol2_vec)	 tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-    x86_64_mach_o_vec)		 tb="$tb mach-o-x86-64.lo" ;;
-    x86_64_pe_vec)		 tb="$tb pe-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;;
-    x86_64_pe_be_vec)		 tb="$tb pe-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;;
-    x86_64_pei_vec)		 tb="$tb pei-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;;
-    xc16x_elf32_vec)		 tb="$tb elf32-xc16x.lo elf32.lo $elf" ;;
-    xgate_elf32_vec)		 tb="$tb elf32-xgate.lo elf32.lo $elf" ;;
-    xstormy16_elf32_vec)	 tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;;
-    xtensa_elf32_be_vec)	 tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
-    xtensa_elf32_le_vec)	 tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
-    z80_coff_vec)		 tb="$tb coff-z80.lo reloc16.lo" ;;
-    z8k_coff_vec)		 tb="$tb coff-z8k.lo reloc16.lo cofflink.lo" ;;
-
-    # These appear out of order in targets.c
-    srec_vec)			 tb="$tb srec.lo" ;;
-    symbolsrec_vec)		 tb="$tb srec.lo" ;;
-    tekhex_vec)			 tb="$tb tekhex.lo" ;;
-    core_cisco_be_vec)		 tb="$tb cisco-core.lo" ;;
-    core_cisco_le_vec)		 tb="$tb cisco-core.lo" ;;
-
-    "")				 ;;
-    *) AC_MSG_ERROR(*** unknown target vector $vec) ;;
-    esac
-
-    if test ${target_size} = 64; then
-	target64=true
-    fi
-    if test x"${vec}" = x"${defvec}"; then
-	bfd_default_target_size=${target_size}
-    fi
-done
-
-# Target architecture .o files.
-# A couple of CPUs use shorter file names to avoid problems on DOS
-# filesystems.
-ta=`echo $selarchs | sed -e s/bfd_/cpu-/g -e s/_arch/.lo/g -e s/mn10200/m10200/ -e s/mn10300/m10300/`
-
-# Weed out duplicate .o files.
-f=""
-for i in $tb ; do
-    case " $f " in
-    *" $i "*) ;;
-    *) f="$f $i" ;;
-    esac
-done
-tb="$f"
-
-f=""
-for i in $ta ; do
-    case " $f " in
-    *" $i "*) ;;
-    *) f="$f $i" ;;
-    esac
-done
-ta="$f"
-
-bfd_backends="$tb"
-bfd_machines="$ta"
-
-if test x${all_targets} = xtrue ; then
-  bfd_backends="${bfd_backends}"' $(ALL_BACKENDS)'
-  bfd_machines="${bfd_machines}"' $(ALL_MACHINES)'
-  selvecs=
-  havevecs=-DHAVE_all_vecs
-  selarchs=
-  test -n "$assocvecs" &&
-    assocvecs=`echo $assocvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
-else	# all_targets is true
-  # Only set these if they will be nonempty, for the clever echo.
-  havevecs=
-  assocvecs=
-  test -n "$selvecs" &&
-    havevecs=`echo $selvecs | sed -e 's/^/-DHAVE_/' -e 's/ \(.\)/ -DHAVE_\1/g'`
-  test -n "$selvecs" &&
-    selvecs=`echo $selvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
-  test -n "$selarchs" &&
-    selarchs=`echo $selarchs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
-fi	# all_targets is true
-
-case ${host64}-${target64}-${want64} in
-  *true*)
-    wordsize=64
-    bfd64_libs='$(BFD64_LIBS)'
-    all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)'
-    if test $BFD_HOST_64_BIT_DEFINED = 0; then
-      AC_MSG_WARN([You have requested a 64 bit BFD configuration, but])
-      AC_MSG_WARN([your compiler may not have a 64 bit integral type])
-    fi
-    if test -n "$GCC" ; then
-       bad_64bit_gcc=no;
-       AC_MSG_CHECKING([for gcc version with buggy 64-bit support])
-       # Add more tests for gcc versions with non-working 64-bit support here.
-       AC_EGREP_CPP([: 2 : 91 : 1 :],[:__GNUC__:__GNUC_MINOR__:__i386__:],
-		    bad_64bit_gcc=yes;
-		    AC_MSG_RESULT([yes: egcs-1.1.2 on ix86 spotted]),
-		    AC_MSG_RESULT(no))
-       if test $bad_64bit_gcc = yes ; then
-	 AC_MSG_ERROR([A newer version of gcc is needed for the requested 64-bit BFD configuration])
-       fi
-    fi
-    ;;
-  false-false-false)
-    wordsize=32
-    all_backends='$(BFD32_BACKENDS)'
-    ;;
-esac
-
-AC_SUBST(wordsize)
-AC_SUBST(bfd64_libs)
-AC_SUBST(all_backends)
-AC_SUBST(bfd_backends)
-AC_SUBST(bfd_machines)
-AC_SUBST(bfd_default_target_size)
-
-if test "$plugins" = "yes"; then
-  supports_plugins=1
-else
-  supports_plugins=0
-fi
-AC_SUBST(supports_plugins)
-AC_SUBST(lt_cv_dlopen_libs)
-
-# Determine the host dependant file_ptr a.k.a. off_t type.  In order
-# prefer: off64_t - if ftello64 and fseeko64, off_t - if ftello and
-# fseeko, long.  This assumes that sizeof off_t is .ge. sizeof long.
-# Hopefully a reasonable assumption since fseeko et.al. should be
-# upward compatible.
-AC_CHECK_FUNCS(ftello ftello64 fseeko fseeko64 fopen64)
-if test x"$ac_cv_func_ftello" = xyes -a x"$ac_cv_func_fseeko" = xyes; then
-    AC_CHECK_SIZEOF(off_t)
-fi
-AC_MSG_CHECKING([file_ptr type])
-bfd_file_ptr="long"
-bfd_ufile_ptr="unsigned long"
-if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes \
-	-o x"${ac_cv_sizeof_off_t}" = x8; then
-    bfd_file_ptr=BFD_HOST_64_BIT
-    bfd_ufile_ptr=BFD_HOST_U_64_BIT
-fi
-AC_MSG_RESULT($bfd_file_ptr)
-AC_SUBST(bfd_file_ptr)
-AC_SUBST(bfd_ufile_ptr)
-
-
-tdefaults=""
-test -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}"
-test -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'"
-test -n "${assocvecs}" && tdefaults="${tdefaults} -DASSOCIATED_VECS='${assocvecs}'"
-test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
-AC_SUBST(tdefaults)
-AC_SUBST(havevecs)
-
-dnl AC_CHECK_HEADERS(sys/mman.h)
-AC_FUNC_MMAP
-AC_CHECK_FUNCS(madvise mprotect)
-case ${want_mmap}+${ac_cv_func_mmap_fixed_mapped} in
-  true+yes )  AC_DEFINE(USE_MMAP, 1, [Use mmap if it's available?]) ;;
-esac
-
-rm -f doc/config.status
-AC_CONFIG_FILES([Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in])
-
-dnl We need this duplication, even though we use AM_PO_SUBDIRS, because of
-dnl our two separate POTFILES.  Yuck.
-AC_CONFIG_COMMANDS([default],
-[[
-case "$srcdir" in
-  .) srcdirpre= ;;
-  *) srcdirpre='$(srcdir)/' ;;
-esac
-POFILES=
-GMOFILES=
-for lang in dummy $OBSOLETE_ALL_LINGUAS; do
-  if test $lang != dummy; then
-    POFILES="$POFILES $srcdirpre$lang.po"
-    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-  fi
-done
-sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' \
-    -e '/BLD-POTFILES =/r po/BLD-POTFILES' \
-    -e "s,@POFILES@,$POFILES," \
-    -e "s,@GMOFILES@,$GMOFILES," \
-    po/Makefile.in > po/Makefile]],[[]])
-
-dnl Required by html, pdf, install-pdf and install-html
-AC_SUBST(datarootdir)
-AC_SUBST(docdir)
-AC_SUBST(htmldir)
-AC_SUBST(pdfdir)
-
-AC_OUTPUT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/corefile.c ./bfd/corefile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/corefile.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/corefile.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Core file generic interface routines for BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-aarch64.c ./bfd/cpu-aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-aarch64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-aarch64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for AArch64.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-alpha.c ./bfd/cpu-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-alpha.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-alpha.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Alpha architecture.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-arc.c ./bfd/cpu-arc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-arc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-arc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the ARC processor
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Doug Evans (dje@cygnus.com).
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-arm.c ./bfd/cpu-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-arm.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-arm.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the ARM processor
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-avr.c ./bfd/cpu-avr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-avr.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-avr.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the AVR architecture.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Denis Chertykov <denisc@overta.ru>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -67,7 +67,6 @@ compatible (const bfd_arch_info_type * a
     return a;
   if (a->mach == bfd_mach_avr31 && b->mach == bfd_mach_avr3)
     return b;
-
   if (a->mach == bfd_mach_avr3 && b->mach == bfd_mach_avr35)
     return a;
   if (a->mach == bfd_mach_avr35 && b->mach == bfd_mach_avr3)
@@ -78,7 +77,6 @@ compatible (const bfd_arch_info_type * a
   if (a->mach == bfd_mach_avr51 && b->mach == bfd_mach_avr5)
     return b;
 
-
   return NULL;
 }
 
@@ -135,25 +133,28 @@ static const bfd_arch_info_type arch_inf
   /* 3-Byte PC.  */
   N (22, bfd_mach_avr6, "avr:6", FALSE, & arch_info_struct[10]),
 
-  /* Xmega 1 */
-  N (24, bfd_mach_avrxmega1, "avr:101", FALSE, & arch_info_struct[11]),
-
-  /* Xmega 2 */
-  N (24, bfd_mach_avrxmega2, "avr:102", FALSE, & arch_info_struct[12]),
-
-  /* Xmega 3 */
-  N (24, bfd_mach_avrxmega3, "avr:103", FALSE, & arch_info_struct[13]),
-
-  /* Xmega 4 */
-  N (24, bfd_mach_avrxmega4, "avr:104", FALSE, & arch_info_struct[14]),
-
-  /* Xmega 5 */
-  N (24, bfd_mach_avrxmega5, "avr:105", FALSE, & arch_info_struct[15]),
+  /* Tiny core (AVR Tiny).  */
+  N (16, bfd_mach_avrtiny, "avr:100", FALSE, & arch_info_struct[11]),
 
-  /* Xmega 6 */
-  N (24, bfd_mach_avrxmega6, "avr:106", FALSE, & arch_info_struct[16]),
+  /* Xmega 1.  */
+  N (24, bfd_mach_avrxmega1, "avr:101", FALSE, & arch_info_struct[12]),
 
-  /* Xmega 7 */
+  /* Xmega 2.  */
+  N (24, bfd_mach_avrxmega2, "avr:102", FALSE, & arch_info_struct[13]),
+  
+  /* Xmega 3.  */
+  N (24, bfd_mach_avrxmega3, "avr:103", FALSE, & arch_info_struct[14]),
+  
+  /* Xmega 4.  */
+  N (24, bfd_mach_avrxmega4, "avr:104", FALSE, & arch_info_struct[15]),
+  
+  /* Xmega 5.  */
+  N (24, bfd_mach_avrxmega5, "avr:105", FALSE, & arch_info_struct[16]),
+  
+  /* Xmega 6.  */
+  N (24, bfd_mach_avrxmega6, "avr:106", FALSE, & arch_info_struct[17]),
+  
+  /* Xmega 7.  */
   N (24, bfd_mach_avrxmega7, "avr:107", FALSE, NULL)
 
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-bfin.c ./bfd/cpu-bfin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-bfin.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-bfin.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 /* BFD Support for the ADI Blackfin processor.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-cr16.c ./bfd/cpu-cr16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-cr16.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-cr16.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the CR16 processor.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
    Written by M R Swami Reddy
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-cr16c.c ./bfd/cpu-cr16c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-cr16c.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-cr16c.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the CR16C processor.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-cris.c ./bfd/cpu-cris.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-cris.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-cris.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Axis CRIS architecture.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications AB.
    Written by Hans-Peter Nilsson.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-crx.c ./bfd/cpu-crx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-crx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-crx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the CRX processor.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-d10v.c ./bfd/cpu-d10v.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-d10v.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-d10v.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the D10V processor
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Martin Hunt (hunt@cygnus.com).
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-d30v.c ./bfd/cpu-d30v.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-d30v.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-d30v.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Mitsubishi D30V processor
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Martin Hunt (hunt@cygnus.com).
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-dlx.c ./bfd/cpu-dlx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-dlx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-dlx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the DLX Microprocessor architecture.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Hacked by Kuang Hwa Lin <kuang@sbcglobal.net>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-epiphany.c ./bfd/cpu-epiphany.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-epiphany.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-epiphany.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Adapteva EPIPHANY processor.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by Embecosm on behalf of Adapteva, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-fr30.c ./bfd/cpu-fr30.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-fr30.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-fr30.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the FR30 processor.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-frv.c ./bfd/cpu-frv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-frv.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-frv.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the FRV processor.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-h8300.c ./bfd/cpu-h8300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-h8300.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-h8300.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the Renesas H8/300 architecture.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Hacked by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-h8500.c ./bfd/cpu-h8500.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-h8500.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-h8500.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the H8/500 architecture.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Hacked by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-hppa.c ./bfd/cpu-hppa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-hppa.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-hppa.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the HP Precision Architecture architecture.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-i370.c ./bfd/cpu-i370.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-i370.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-i370.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD i370 CPU definition
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Ian Lance Taylor, Cygnus Support.
    Hacked by Linas Vepstas <linas@linas.org> in 1998, 1999
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-i386.c ./bfd/cpu-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-i386.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-i386.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Intel 386 architecture.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-i860.c ./bfd/cpu-i860.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-i860.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-i860.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Intel 860 architecture.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Created mostly by substituting "860" for "386" in cpu-i386.c
    Harry Dolan <dolan@ssd.intel.com>, October 1995
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-i960.c ./bfd/cpu-i960.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-i960.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-i960.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the i960 architecture.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Hacked by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-ia64.c ./bfd/cpu-ia64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-ia64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-ia64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the ia64 architecture.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-ia64-opc.c ./bfd/cpu-ia64-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-ia64-opc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-ia64-opc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-ip2k.c ./bfd/cpu-ip2k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-ip2k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-ip2k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Scenix IP2xxx processor.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-iq2000.c ./bfd/cpu-iq2000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-iq2000.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-iq2000.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Vitesse IQ2000 processor.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-k1om.c ./bfd/cpu-k1om.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-k1om.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-k1om.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Intel K1OM architecture.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-l1om.c ./bfd/cpu-l1om.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-l1om.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-l1om.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Intel L1OM architecture.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-lm32.c ./bfd/cpu-lm32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-lm32.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-lm32.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Lattice Mico32 architecture.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Jon Beniston <jon@beniston.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m10200.c ./bfd/cpu-m10200.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m10200.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m10200.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Matsushita 10200 processor
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m10300.c ./bfd/cpu-m10300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m10300.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m10300.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Matsushita 10300 processor
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m32c.c ./bfd/cpu-m32c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m32c.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m32c.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the M16C/M32C processors.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m32r.c ./bfd/cpu-m32r.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m32r.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m32r.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the M32R processor.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m68hc11.c ./bfd/cpu-m68hc11.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m68hc11.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m68hc11.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Motorola 68HC11 processor
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m68hc12.c ./bfd/cpu-m68hc12.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m68hc12.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m68hc12.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Motorola 68HC12 processor
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m68k.c ./bfd/cpu-m68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m68k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m68k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for architectures.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Hacked by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m88k.c ./bfd/cpu-m88k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m88k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m88k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfd back-end for m88k support
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m9s12x.c ./bfd/cpu-m9s12x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m9s12x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m9s12x.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Freescale 9S12X processor
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m9s12xg.c ./bfd/cpu-m9s12xg.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-m9s12xg.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-m9s12xg.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Freescale 9S12-XGATE co-processor
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mcore.c ./bfd/cpu-mcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mcore.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-mcore.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for Motorola's MCore architecture
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mep.c ./bfd/cpu-mep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mep.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-mep.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Toshiba Media Engine Processor.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-metag.c ./bfd/cpu-metag.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-metag.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-metag.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Imagination Technologies Meta processor.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Imagination Technologies Ltd.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-microblaze.c ./bfd/cpu-microblaze.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-microblaze.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-microblaze.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 /* BFD Xilinx MicroBlaze architecture definition
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mips.c ./bfd/cpu-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mips.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-mips.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfd back-end for mips support
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -89,10 +89,12 @@ enum
   I_mipsisa32r2,
   I_mipsisa32r3,
   I_mipsisa32r5,
+  I_mipsisa32r6,
   I_mipsisa64,
   I_mipsisa64r2,
   I_mipsisa64r3,
   I_mipsisa64r5,
+  I_mipsisa64r6,
   I_sb1,
   I_loongson_2e,
   I_loongson_2f,
@@ -100,6 +102,7 @@ enum
   I_mipsocteon,
   I_mipsocteonp,
   I_mipsocteon2,
+  I_mipsocteon3,
   I_xlr,
   I_micromips
 };
@@ -137,10 +140,12 @@ static const bfd_arch_info_type arch_inf
   N (32, 32, bfd_mach_mipsisa32r2,"mips:isa32r2", FALSE, NN(I_mipsisa32r2)),
   N (32, 32, bfd_mach_mipsisa32r3,"mips:isa32r3", FALSE, NN(I_mipsisa32r3)),
   N (32, 32, bfd_mach_mipsisa32r5,"mips:isa32r5", FALSE, NN(I_mipsisa32r5)),
+  N (32, 32, bfd_mach_mipsisa32r6,"mips:isa32r6", FALSE, NN(I_mipsisa32r6)),
   N (64, 64, bfd_mach_mipsisa64,  "mips:isa64",   FALSE, NN(I_mipsisa64)),
   N (64, 64, bfd_mach_mipsisa64r2,"mips:isa64r2", FALSE, NN(I_mipsisa64r2)),
   N (64, 64, bfd_mach_mipsisa64r3,"mips:isa64r3", FALSE, NN(I_mipsisa64r3)),
   N (64, 64, bfd_mach_mipsisa64r5,"mips:isa64r5", FALSE, NN(I_mipsisa64r5)),
+  N (64, 64, bfd_mach_mipsisa64r6,"mips:isa64r6", FALSE, NN(I_mipsisa64r6)),
   N (64, 64, bfd_mach_mips_sb1, "mips:sb1",       FALSE, NN(I_sb1)),
   N (64, 64, bfd_mach_mips_loongson_2e, "mips:loongson_2e",       FALSE, NN(I_loongson_2e)),
   N (64, 64, bfd_mach_mips_loongson_2f, "mips:loongson_2f",       FALSE, NN(I_loongson_2f)),
@@ -148,6 +153,7 @@ static const bfd_arch_info_type arch_inf
   N (64, 64, bfd_mach_mips_octeon,"mips:octeon",  FALSE, NN(I_mipsocteon)),
   N (64, 64, bfd_mach_mips_octeonp,"mips:octeon+",  FALSE, NN(I_mipsocteonp)),
   N (64, 64, bfd_mach_mips_octeon2,"mips:octeon2",  FALSE, NN(I_mipsocteon2)),
+  N (64, 64, bfd_mach_mips_octeon3, "mips:octeon3",  FALSE, NN(I_mipsocteon3)),
   N (64, 64, bfd_mach_mips_xlr, "mips:xlr",       FALSE, NN(I_xlr)),
   N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0)
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mmix.c ./bfd/cpu-mmix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mmix.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-mmix.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for MMIX.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Contributed by Hans-Peter Nilsson (hp@bitrange.com)
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-moxie.c ./bfd/cpu-moxie.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-moxie.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-moxie.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the moxie processor.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Written by Anthony Green
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-msp430.c ./bfd/cpu-msp430.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-msp430.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-msp430.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the MSP architecture.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Dmitry Diky <diwil@mail.ru>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mt.c ./bfd/cpu-mt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-mt.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-mt.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Morpho Technologies MT processor.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-nds32.c ./bfd/cpu-nds32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-nds32.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-nds32.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the NDS32 processor
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-nios2.c ./bfd/cpu-nios2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-nios2.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-nios2.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Altera Nios II processor.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Nigel Gray (ngray@altera.com).
    Contributed by Mentor Graphics, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-ns32k.c ./bfd/cpu-ns32k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-ns32k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-ns32k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the ns32k architecture.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Almost totally rewritten by Ian Dall from initial work
    by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-or1k.c ./bfd/cpu-or1k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-or1k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-or1k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the OpenRISC 1000 architecture.
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed for OR32 by Ivan Guzvinec  <ivang@opencores.org>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-pdp11.c ./bfd/cpu-pdp11.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-pdp11.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-pdp11.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for PDP-11 support.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-pj.c ./bfd/cpu-pj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-pj.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-pj.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the Pico Java architecture.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Hacked by Steve Chamberlain of Transmeta. sac@pobox.com
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-plugin.c ./bfd/cpu-plugin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-plugin.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-plugin.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for plugins.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-powerpc.c ./bfd/cpu-powerpc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-powerpc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-powerpc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD PowerPC CPU definition
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-rl78.c ./bfd/cpu-rl78.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-rl78.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-rl78.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the RL78 processor.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-rs6000.c ./bfd/cpu-rs6000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-rs6000.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-rs6000.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for rs6000 support
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Mimi Phuong-Thao Vo of IBM
    and John Gilmore of Cygnus Support.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-rx.c ./bfd/cpu-rx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-rx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-rx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the RX processor.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-s390.c ./bfd/cpu-s390.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-s390.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-s390.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the s390 processor.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Carl B. Pedersen and Martin Schwidefsky.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-score.c ./bfd/cpu-score.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-score.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-score.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the score processor
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Contributed by
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-sh.c ./bfd/cpu-sh.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-sh.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-sh.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the Renesas / SuperH SH architecture.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Hacked by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-sparc.c ./bfd/cpu-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-sparc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-sparc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the SPARC architecture.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-spu.c ./bfd/cpu-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-spu.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-spu.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic30.c ./bfd/cpu-tic30.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic30.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-tic30.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Texas Instruments TMS320C30 architecture.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic4x.c ./bfd/cpu-tic4x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic4x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-tic4x.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfd back-end for TMS320C[34]x support
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic54x.c ./bfd/cpu-tic54x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic54x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-tic54x.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Texas Instruments TMS320C54X architecture.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic6x.c ./bfd/cpu-tic6x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic6x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-tic6x.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the TI C6X processor.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic80.c ./bfd/cpu-tic80.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tic80.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-tic80.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfd back-end for TI TMS320C80 (MVP) support
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Fred Fish at Cygnus support (fnf@cygnus.com)
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tilegx.c ./bfd/cpu-tilegx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tilegx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-tilegx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the TILE-Gx processor.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tilepro.c ./bfd/cpu-tilepro.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-tilepro.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-tilepro.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the TILEPro processor.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-v850.c ./bfd/cpu-v850.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-v850.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-v850.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the NEC V850 processor
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-v850_rh850.c ./bfd/cpu-v850_rh850.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-v850_rh850.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-v850_rh850.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the NEC V850 processor with the RH850 ABI.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-vax.c ./bfd/cpu-vax.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-vax.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-vax.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfd back-end for vax support
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-visium.c ./bfd/cpu-visium.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-visium.c	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/cpu-visium.c	2015-01-20 02:05:36.000000000 +0000
@@ -0,0 +1,41 @@
+/* BFD support for the Visium processor.
+
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "libbfd.h"
+
+const bfd_arch_info_type bfd_visium_arch =
+{
+  32,				/* bits per word */
+  32,				/* bits per address */
+  8,				/* bits per byte */
+  bfd_arch_visium,		/* architecture */
+  bfd_mach_visium,		/* machine */
+  "visium",			/* architecture name */
+  "visium",			/* printable name */
+  2,				/* section align power */
+  TRUE,				/* the default ? */
+  bfd_default_compatible,	/* architecture comparison fn */
+  bfd_default_scan,		/* string to architecture convert fn */
+  bfd_arch_default_fill,	/* default fill */
+  NULL				/* next in list */
+};
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-w65.c ./bfd/cpu-w65.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-w65.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-w65.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the WDC 65816 architecture.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Hacked by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-we32k.c ./bfd/cpu-we32k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-we32k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-we32k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfd back-end for we32k support
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Contributed by Brendan Kehoe (brendan@cs.widener.edu).
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-xc16x.c ./bfd/cpu-xc16x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-xc16x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-xc16x.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Infineon XC16X Microcontroller.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-xgate.c ./bfd/cpu-xgate.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-xgate.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-xgate.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Freescale XGATE processor
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-xstormy16.c ./bfd/cpu-xstormy16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-xstormy16.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-xstormy16.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the XSTORMY16 processor.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-xtensa.c ./bfd/cpu-xtensa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-xtensa.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-xtensa.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for the Xtensa processor.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-z80.c ./bfd/cpu-z80.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-z80.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-z80.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the Z80 architecture.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Arnold Metselaar <arnold_m@operamail.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-z8k.c ./bfd/cpu-z8k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/cpu-z8k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/cpu-z8k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD library support routines for the Z800n architecture.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Hacked by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/demo64.c ./bfd/demo64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/demo64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/demo64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for demonstration 64-bit a.out binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/development.sh ./bfd/development.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/development.sh	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/development.sh	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/aoutx.texi ./bfd/doc/aoutx.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/aoutx.texi	2015-01-13 02:04:24.000000000 +0000
+++ ./bfd/doc/aoutx.texi	2015-01-20 02:08:04.000000000 +0000
@@ -90,7 +90,7 @@ to use @file{host-aout.c}, specify:
        TDEPFILES= host-aout.o trad-core.o
 @end example
 
-in the @file{config/@var{XXX}.mt} file, and modify @file{configure.in}
+in the @file{config/@var{XXX}.mt} file, and modify @file{configure.ac}
 to use the
 @file{@var{XXX}.mt} file (by setting "@code{bfd_target=XXX}") when your
 configuration is selected.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/archures.texi ./bfd/doc/archures.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/archures.texi	2015-01-13 02:04:24.000000000 +0000
+++ ./bfd/doc/archures.texi	2015-01-20 02:08:04.000000000 +0000
@@ -146,15 +146,18 @@ enum bfd_architecture
 #define bfd_mach_mips_octeon           6501
 #define bfd_mach_mips_octeonp          6601
 #define bfd_mach_mips_octeon2          6502
+#define bfd_mach_mips_octeon3          6503
 #define bfd_mach_mips_xlr              887682   /* decimal 'XLR'  */
 #define bfd_mach_mipsisa32             32
 #define bfd_mach_mipsisa32r2           33
 #define bfd_mach_mipsisa32r3           34
 #define bfd_mach_mipsisa32r5           36
+#define bfd_mach_mipsisa32r6           37
 #define bfd_mach_mipsisa64             64
 #define bfd_mach_mipsisa64r2           65
 #define bfd_mach_mipsisa64r3           66
 #define bfd_mach_mipsisa64r5           68
+#define bfd_mach_mipsisa64r6           69
 #define bfd_mach_mips_micromips        96
   bfd_arch_i386,      /* Intel 386 */
 #define bfd_mach_i386_intel_syntax     (1 << 0)
@@ -377,6 +380,7 @@ enum bfd_architecture
 #define bfd_mach_avr5          5
 #define bfd_mach_avr51         51
 #define bfd_mach_avr6          6
+#define bfd_mach_avrtiny   100
 #define bfd_mach_avrxmega1 101
 #define bfd_mach_avrxmega2 102
 #define bfd_mach_avrxmega3 103
@@ -460,6 +464,8 @@ enum bfd_architecture
 #define bfd_mach_aarch64_ilp32 32
   bfd_arch_nios2,
 #define bfd_mach_nios2 0
+  bfd_arch_visium,     /* Visium */
+#define bfd_mach_visium        1
   bfd_arch_last
   @};
 @end example
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfd.info ./bfd/doc/bfd.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfd.info	2015-01-13 02:04:25.000000000 +0000
+++ ./bfd/doc/bfd.info	2015-01-20 02:08:05.000000000 +0000
@@ -7,7 +7,7 @@ END-INFO-DIR-ENTRY
 
    This file documents the BFD library.
 
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -346,9 +346,6 @@ major data about the file and pointers t
 
      struct bfd
      {
-       /* A unique identifier of the BFD  */
-       unsigned int id;
-
        /* The filename the application opened the BFD with.  */
        const char *filename;
 
@@ -371,17 +368,17 @@ major data about the file and pointers t
        /* File modified time, if mtime_set is TRUE.  */
        long mtime;
 
-       /* Reserved for an unimplemented file locking extension.  */
-       int ifd;
+       /* A unique identifier of the BFD  */
+       unsigned int id;
 
        /* The format which belongs to the BFD. (object, core, etc.)  */
-       bfd_format format;
+       ENUM_BITFIELD (bfd_format) format : 3;
 
        /* The direction with which the BFD was opened.  */
-       enum bfd_direction direction;
+       ENUM_BITFIELD (bfd_direction) direction : 2;
 
        /* Format_specific flags.  */
-       flagword flags;
+       flagword flags : 17;
 
        /* Values that may appear in the flags field of a BFD.  These also
           appear in the object_flags field of the bfd_target structure, where
@@ -440,26 +437,23 @@ major data about the file and pointers t
           struct.  */
      #define BFD_IN_MEMORY 0x800
 
-       /* The sections in this BFD specify a memory page.  */
-     #define HAS_LOAD_PAGE 0x1000
-
        /* This BFD has been created by the linker and doesn't correspond
           to any input file.  */
-     #define BFD_LINKER_CREATED 0x2000
+     #define BFD_LINKER_CREATED 0x1000
 
        /* This may be set before writing out a BFD to request that it
           be written using values for UIDs, GIDs, timestamps, etc. that
           will be consistent from run to run.  */
-     #define BFD_DETERMINISTIC_OUTPUT 0x4000
+     #define BFD_DETERMINISTIC_OUTPUT 0x2000
 
        /* Compress sections in this BFD.  */
-     #define BFD_COMPRESS 0x8000
+     #define BFD_COMPRESS 0x4000
 
        /* Decompress sections in this BFD.  */
-     #define BFD_DECOMPRESS 0x10000
+     #define BFD_DECOMPRESS 0x8000
 
        /* BFD is a dummy, for plugins.  */
-     #define BFD_PLUGIN 0x20000
+     #define BFD_PLUGIN 0x10000
 
        /* Flags bits to be saved in bfd_preserve_save.  */
      #define BFD_FLAGS_SAVED \
@@ -470,6 +464,42 @@ major data about the file and pointers t
        (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \
         | BFD_PLUGIN | BFD_TRADITIONAL_FORMAT | BFD_DETERMINISTIC_OUTPUT)
 
+       /* Is the file descriptor being cached?  That is, can it be closed as
+          needed, and re-opened when accessed later?  */
+       unsigned int cacheable : 1;
+
+       /* Marks whether there was a default target specified when the
+          BFD was opened. This is used to select which matching algorithm
+          to use to choose the back end.  */
+       unsigned int target_defaulted : 1;
+
+       /* ... and here: (``once'' means at least once).  */
+       unsigned int opened_once : 1;
+
+       /* Set if we have a locally maintained mtime value, rather than
+          getting it from the file each time.  */
+       unsigned int mtime_set : 1;
+
+       /* Flag set if symbols from this BFD should not be exported.  */
+       unsigned int no_export : 1;
+
+       /* Remember when output has begun, to stop strange things
+          from happening.  */
+       unsigned int output_has_begun : 1;
+
+       /* Have archive map.  */
+       unsigned int has_armap : 1;
+
+       /* Set if this is a thin archive.  */
+       unsigned int is_thin_archive : 1;
+
+       /* Set if only required symbols should be added in the link hash table for
+          this object.  Used by VMS linkers.  */
+       unsigned int selective_search : 1;
+
+       /* Set if this is the linker output BFD.  */
+       unsigned int is_linker_output : 1;
+
        /* Currently my_archive is tested before adding origin to
           anything. I believe that this can become always an add of
           origin, with origin set to 0 for non archive files.  */
@@ -494,17 +524,21 @@ major data about the file and pointers t
        /* The number of sections.  */
        unsigned int section_count;
 
+       /* A field used by _bfd_generic_link_add_archive_symbols.  This will
+          be used only for archive elements.  */
+       int archive_pass;
+
        /* Stuff only useful for object files:
           The start address.  */
        bfd_vma start_address;
 
-       /* Used for input and output.  */
-       unsigned int symcount;
-
        /* Symbol table for output BFD (with symcount entries).
           Also used by the linker to cache input BFD symbols.  */
        struct bfd_symbol  **outsymbols;
 
+       /* Used for input and output.  */
+       unsigned int symcount;
+
        /* Used for slurped dynamic symbol tables.  */
        unsigned int dynsymcount;
 
@@ -519,12 +553,12 @@ major data about the file and pointers t
        struct bfd *nested_archives; /* List of nested archive in a flattened
                                        thin archive.  */
 
-       /* A chain of BFD structures involved in a link.  */
-       struct bfd *link_next;
-
-       /* A field used by _bfd_generic_link_add_archive_symbols.  This will
-          be used only for archive elements.  */
-       int archive_pass;
+       union {
+         /* For input BFDs, a chain of BFDs involved in a link.  */
+         struct bfd *next;
+         /* For output BFD, the linker hash table.  */
+         struct bfd_link_hash_table *hash;
+       } link;
 
        /* Used by the back end to hold private data.  */
        union
@@ -576,39 +610,6 @@ major data about the file and pointers t
           struct objalloc *, but we use void * to avoid requiring the inclusion
           of objalloc.h.  */
        void *memory;
-
-       /* Is the file descriptor being cached?  That is, can it be closed as
-          needed, and re-opened when accessed later?  */
-       unsigned int cacheable : 1;
-
-       /* Marks whether there was a default target specified when the
-          BFD was opened. This is used to select which matching algorithm
-          to use to choose the back end.  */
-       unsigned int target_defaulted : 1;
-
-       /* ... and here: (``once'' means at least once).  */
-       unsigned int opened_once : 1;
-
-       /* Set if we have a locally maintained mtime value, rather than
-          getting it from the file each time.  */
-       unsigned int mtime_set : 1;
-
-       /* Flag set if symbols from this BFD should not be exported.  */
-       unsigned int no_export : 1;
-
-       /* Remember when output has begun, to stop strange things
-          from happening.  */
-       unsigned int output_has_begun : 1;
-
-       /* Have archive map.  */
-       unsigned int has_armap : 1;
-
-       /* Set if this is a thin archive.  */
-       unsigned int is_thin_archive : 1;
-
-       /* Set if only required symbols should be added in the link hash table for
-          this object.  Used by VMS linkers.  */
-       unsigned int selective_search : 1;
      };
 
      /* See note beside bfd_set_section_userdata.  */
@@ -995,12 +996,12 @@ The following functions exist but have n
 
      #define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
             BFD_SEND (abfd, _bfd_find_nearest_line, \
-                      (abfd, sec, syms, off, file, func, line))
+                      (abfd, syms, sec, off, file, func, line, NULL))
 
      #define bfd_find_nearest_line_discriminator(abfd, sec, syms, off, file, func, \
                                                  line, disc) \
-            BFD_SEND (abfd, _bfd_find_nearest_line_discriminator, \
-                      (abfd, sec, syms, off, file, func, line, disc))
+            BFD_SEND (abfd, _bfd_find_nearest_line, \
+                      (abfd, syms, sec, off, file, func, line, disc))
 
      #define bfd_find_line(abfd, syms, sym, file, line) \
             BFD_SEND (abfd, _bfd_find_line, \
@@ -1049,9 +1050,6 @@ The following functions exist but have n
      #define bfd_link_hash_table_create(abfd) \
             BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
 
-     #define bfd_link_hash_table_free(abfd, hash) \
-            BFD_SEND (abfd, _bfd_link_hash_table_free, (hash))
-
      #define bfd_link_add_symbols(abfd, info) \
             BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info))
 
@@ -3765,6 +3763,12 @@ attributes.
  -- : BFD_RELOC_MICROMIPS_16_PCREL_S1
      microMIPS PC-relative relocations.
 
+ -- : BFD_RELOC_MIPS_21_PCREL_S2
+ -- : BFD_RELOC_MIPS_26_PCREL_S2
+ -- : BFD_RELOC_MIPS_18_PCREL_S3
+ -- : BFD_RELOC_MIPS_19_PCREL_S2
+     MIPS PC-relative relocations.
+
  -- : BFD_RELOC_MICROMIPS_GPREL16
  -- : BFD_RELOC_MICROMIPS_HI16
  -- : BFD_RELOC_MICROMIPS_HI16_S
@@ -4760,6 +4764,13 @@ attributes.
  -- : BFD_RELOC_NDS32_15_FIXED
  -- : BFD_RELOC_NDS32_17_FIXED
  -- : BFD_RELOC_NDS32_25_FIXED
+ -- : BFD_RELOC_NDS32_LONGCALL4
+ -- : BFD_RELOC_NDS32_LONGCALL5
+ -- : BFD_RELOC_NDS32_LONGCALL6
+ -- : BFD_RELOC_NDS32_LONGJUMP4
+ -- : BFD_RELOC_NDS32_LONGJUMP5
+ -- : BFD_RELOC_NDS32_LONGJUMP6
+ -- : BFD_RELOC_NDS32_LONGJUMP7
      for relax
 
  -- : BFD_RELOC_NDS32_PLTREL_HI20
@@ -4820,12 +4831,32 @@ attributes.
  -- : BFD_RELOC_NDS32_DIFF16
  -- : BFD_RELOC_NDS32_DIFF32
  -- : BFD_RELOC_NDS32_DIFF_ULEB128
+ -- : BFD_RELOC_NDS32_EMPTY
+     relaxation relative relocation types
+
  -- : BFD_RELOC_NDS32_25_ABS
+     This is a 25 bit absolute address.
+
  -- : BFD_RELOC_NDS32_DATA
  -- : BFD_RELOC_NDS32_TRAN
  -- : BFD_RELOC_NDS32_17IFC_PCREL
  -- : BFD_RELOC_NDS32_10IFCU_PCREL
-     relaxation relative relocation types
+     For ex9 and ifc using.
+
+ -- : BFD_RELOC_NDS32_TPOFF
+ -- : BFD_RELOC_NDS32_TLS_LE_HI20
+ -- : BFD_RELOC_NDS32_TLS_LE_LO12
+ -- : BFD_RELOC_NDS32_TLS_LE_ADD
+ -- : BFD_RELOC_NDS32_TLS_LE_LS
+ -- : BFD_RELOC_NDS32_GOTTPOFF
+ -- : BFD_RELOC_NDS32_TLS_IE_HI20
+ -- : BFD_RELOC_NDS32_TLS_IE_LO12S2
+ -- : BFD_RELOC_NDS32_TLS_TPOFF
+ -- : BFD_RELOC_NDS32_TLS_LE_20
+ -- : BFD_RELOC_NDS32_TLS_LE_15S0
+ -- : BFD_RELOC_NDS32_TLS_LE_15S1
+ -- : BFD_RELOC_NDS32_TLS_LE_15S2
+     For TLS.
 
  -- : BFD_RELOC_V850_9_PCREL
      This is a 9-bit reloc
@@ -5296,6 +5327,18 @@ attributes.
      position of the second symbol so the linker can determine whether
      to adjust the field value.
 
+ -- : BFD_RELOC_AVR_LDS_STS_16
+     This is a 7 bit reloc for the AVR that stores SRAM address for
+     16bit lds and sts instructions supported only tiny core.
+
+ -- : BFD_RELOC_AVR_PORT6
+     This is a 6 bit reloc for the AVR that stores an I/O register
+     number for the IN and OUT instructions
+
+ -- : BFD_RELOC_AVR_PORT5
+     This is a 5 bit reloc for the AVR that stores an I/O register
+     number for the SBIC, SBIS, SBI and CBI instructions
+
  -- : BFD_RELOC_RL78_NEG8
  -- : BFD_RELOC_RL78_NEG16
  -- : BFD_RELOC_RL78_NEG24
@@ -6822,6 +6865,15 @@ attributes.
  -- : BFD_RELOC_EPIPHANY_IMM8
      Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction.
 
+ -- : BFD_RELOC_VISIUM_HI16
+ -- : BFD_RELOC_VISIUM_LO16
+ -- : BFD_RELOC_VISIUM_IM16
+ -- : BFD_RELOC_VISIUM_REL16
+ -- : BFD_RELOC_VISIUM_HI16_PCREL
+ -- : BFD_RELOC_VISIUM_LO16_PCREL
+ -- : BFD_RELOC_VISIUM_IM16_PCREL
+     Visium Relocations.
+
 
      typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
    
@@ -7298,12 +7350,12 @@ BFD_JUMP_TABLE macros.
        NAME##_make_empty_symbol, \
        NAME##_print_symbol, \
        NAME##_get_symbol_info, \
+       NAME##_get_symbol_version_string, \
        NAME##_bfd_is_local_label_name, \
        NAME##_bfd_is_target_special_symbol, \
        NAME##_get_lineno, \
        NAME##_find_nearest_line, \
-       _bfd_generic_find_nearest_line_discriminator, \
-       _bfd_generic_find_line, \
+       NAME##_find_line, \
        NAME##_find_inliner_info, \
        NAME##_bfd_make_debug_symbol, \
        NAME##_read_minisymbols, \
@@ -7320,14 +7372,14 @@ BFD_JUMP_TABLE macros.
        void        (*_bfd_get_symbol_info)
          (bfd *, struct bfd_symbol *, symbol_info *);
      #define bfd_get_symbol_info(b,p,e) BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
+       const char *(*_bfd_get_symbol_version_string)
+         (bfd *, struct bfd_symbol *, bfd_boolean *);
+     #define bfd_get_symbol_version_string(b,s,h) BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,h))
        bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
        bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
        alent *     (*_get_lineno) (bfd *, struct bfd_symbol *);
        bfd_boolean (*_bfd_find_nearest_line)
-         (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
-          const char **, const char **, unsigned int *);
-       bfd_boolean (*_bfd_find_nearest_line_discriminator)
-         (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
+         (bfd *, struct bfd_symbol **, struct bfd_section *, bfd_vma,
           const char **, const char **, unsigned int *, unsigned int *);
        bfd_boolean (*_bfd_find_line)
          (bfd *, struct bfd_symbol **, struct bfd_symbol *,
@@ -7381,7 +7433,6 @@ BFD_JUMP_TABLE macros.
        NAME##_bfd_get_relocated_section_contents, \
        NAME##_bfd_relax_section, \
        NAME##_bfd_link_hash_table_create, \
-       NAME##_bfd_link_hash_table_free, \
        NAME##_bfd_link_add_symbols, \
        NAME##_bfd_link_just_syms, \
        NAME##_bfd_copy_link_hash_symbol_type, \
@@ -7408,16 +7459,14 @@ BFD_JUMP_TABLE macros.
        struct bfd_link_hash_table *
                    (*_bfd_link_hash_table_create) (bfd *);
 
-       /* Release the memory associated with the linker hash table.  */
-       void        (*_bfd_link_hash_table_free) (struct bfd_link_hash_table *);
-
        /* Add symbols from this object file into the hash table.  */
        bfd_boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *);
 
        /* Indicate that we are only retrieving symbol values from this section.  */
        void        (*_bfd_link_just_syms) (asection *, struct bfd_link_info *);
 
-       /* Copy the symbol type of a linker hash table entry.  */
+       /* Copy the symbol type and other attributes for a linker script
+          assignment of one symbol to another.  */
      #define bfd_copy_link_hash_symbol_type(b, t, f) \
        BFD_SEND (b, _bfd_copy_link_hash_symbol_type, (b, t, f))
        void (*_bfd_copy_link_hash_symbol_type)
@@ -7716,15 +7765,18 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_mips_octeon           6501
      #define bfd_mach_mips_octeonp          6601
      #define bfd_mach_mips_octeon2          6502
+     #define bfd_mach_mips_octeon3          6503
      #define bfd_mach_mips_xlr              887682   /* decimal 'XLR'  */
      #define bfd_mach_mipsisa32             32
      #define bfd_mach_mipsisa32r2           33
      #define bfd_mach_mipsisa32r3           34
      #define bfd_mach_mipsisa32r5           36
+     #define bfd_mach_mipsisa32r6           37
      #define bfd_mach_mipsisa64             64
      #define bfd_mach_mipsisa64r2           65
      #define bfd_mach_mipsisa64r3           66
      #define bfd_mach_mipsisa64r5           68
+     #define bfd_mach_mipsisa64r6           69
      #define bfd_mach_mips_micromips        96
        bfd_arch_i386,      /* Intel 386 */
      #define bfd_mach_i386_intel_syntax     (1 << 0)
@@ -7947,6 +7999,7 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_avr5          5
      #define bfd_mach_avr51         51
      #define bfd_mach_avr6          6
+     #define bfd_mach_avrtiny   100
      #define bfd_mach_avrxmega1 101
      #define bfd_mach_avrxmega2 102
      #define bfd_mach_avrxmega3 103
@@ -8030,6 +8083,8 @@ i960 KB, and 68020 and 68030 for Motorol
      #define bfd_mach_aarch64_ilp32 32
        bfd_arch_nios2,
      #define bfd_mach_nios2 0
+       bfd_arch_visium,     /* Visium */
+     #define bfd_mach_visium        1
        bfd_arch_last
        };
 
@@ -9093,24 +9148,14 @@ linker hash table instead.)
 
    In most cases the work of looking through the symbols in the archive
 should be done by the `_bfd_generic_link_add_archive_symbols' function.
-This function builds a hash table from the archive symbol table and
-looks through the list of undefined symbols to see which elements
-should be included.  `_bfd_generic_link_add_archive_symbols' is passed
-a function to call to make the final decision about adding an archive
-element to the link and to do the actual work of adding the symbols to
-the linker hash table.
-
-   The function passed to `_bfd_generic_link_add_archive_symbols' must
-read the symbols of the archive element and decide whether the archive
-element should be included in the link.  If the element is to be
-included, the `add_archive_element' linker callback routine must be
-called with the element as an argument, and the element's symbols must
-be added to the linker hash table just as though the element had itself
-been passed to the `_bfd_link_add_symbols' function.  The
-`add_archive_element' callback has the option to indicate that it would
-like to replace the element archive with a substitute BFD, in which
-case it is the symbols of that substitute BFD that must be added to the
-linker hash table instead.
+`_bfd_generic_link_add_archive_symbols' is passed a function to call to
+make the final decision about adding an archive element to the link and
+to do the actual work of adding the symbols to the linker hash table.
+If the element is to be included, the `add_archive_element' linker
+callback routine must be called with the element as an argument, and
+the element's symbols must be added to the linker hash table just as
+though the element had itself been passed to the
+`_bfd_link_add_symbols' function.
 
    When the a.out `_bfd_link_add_symbols' function receives an archive,
 it calls `_bfd_generic_link_add_archive_symbols' passing
@@ -9170,7 +9215,7 @@ some data structures for the function to
 
    The `input_bfds' field of the `bfd_link_info' structure will point
 to a list of all the input files included in the link.  These files are
-linked through the `link_next' field of the `bfd' structure.
+linked through the `link.next' field of the `bfd' structure.
 
    Each section in the output file will have a list of `link_order'
 structures attached to the `map_head.link_order' field (the
@@ -9668,7 +9713,7 @@ on your host. To configure a new machine
             TDEFAULTS = -DDEFAULT_VECTOR=host_aout_big_vec
             TDEPFILES= host-aout.o trad-core.o
 
-   in the `config/XXX.mt' file, and modify `configure.in' to use the
+   in the `config/XXX.mt' file, and modify `configure.ac' to use the
 `XXX.mt' file (by setting "`bfd_target=XXX'") when your configuration
 is selected.
 
@@ -10033,7 +10078,7 @@ The hidden information for an `asymbol' 
      typedef struct coff_ptr_struct
      {
        /* Remembers the offset from the first symbol in the file for
-          this symbol. Generated by coff_renumber_symbols. */
+          this symbol. Generated by coff_renumber_symbols.  */
        unsigned int offset;
 
        /* Should the value of this symbol be renumbered.  Used for
@@ -10041,15 +10086,15 @@ The hidden information for an `asymbol' 
        unsigned int fix_value : 1;
 
        /* Should the tag field of this symbol be renumbered.
-          Created by coff_pointerize_aux. */
+          Created by coff_pointerize_aux.  */
        unsigned int fix_tag : 1;
 
        /* Should the endidx field of this symbol be renumbered.
-          Created by coff_pointerize_aux. */
+          Created by coff_pointerize_aux.  */
        unsigned int fix_end : 1;
 
        /* Should the x_csect.x_scnlen field be renumbered.
-          Created by coff_pointerize_aux. */
+          Created by coff_pointerize_aux.  */
        unsigned int fix_scnlen : 1;
 
        /* Fix up an XCOFF C_BINCL/C_EINCL symbol.  The value is the
@@ -10057,12 +10102,15 @@ The hidden information for an `asymbol' 
        unsigned int fix_line : 1;
 
        /* The container for the symbol structure as read and translated
-          from the file. */
+          from the file.  */
        union
        {
          union internal_auxent auxent;
          struct internal_syment syment;
        } u;
+
+      /* Selector for the union above.  */
+      bfd_boolean is_sym;
      } combined_entry_type;
 
 
@@ -11326,33 +11374,33 @@ BFD Index
                                                              (line  239)
 * bfd_alloc2:                            Opening and Closing.
                                                              (line  248)
-* bfd_alt_mach_code:                     Miscellaneous.      (line  310)
-* bfd_arch_bits_per_address:             Architectures.      (line  595)
-* bfd_arch_bits_per_byte:                Architectures.      (line  587)
-* bfd_arch_default_fill:                 Architectures.      (line  676)
-* bfd_arch_get_compatible:               Architectures.      (line  530)
-* bfd_arch_list:                         Architectures.      (line  521)
-* bfd_arch_mach_octets_per_byte:         Architectures.      (line  664)
-* BFD_ARELOC_BFIN_ADD:                   howto manager.      (line 1121)
-* BFD_ARELOC_BFIN_ADDR:                  howto manager.      (line 1172)
-* BFD_ARELOC_BFIN_AND:                   howto manager.      (line 1142)
-* BFD_ARELOC_BFIN_COMP:                  howto manager.      (line 1163)
-* BFD_ARELOC_BFIN_CONST:                 howto manager.      (line 1118)
-* BFD_ARELOC_BFIN_DIV:                   howto manager.      (line 1130)
-* BFD_ARELOC_BFIN_HWPAGE:                howto manager.      (line 1169)
-* BFD_ARELOC_BFIN_LAND:                  howto manager.      (line 1151)
-* BFD_ARELOC_BFIN_LEN:                   howto manager.      (line 1157)
-* BFD_ARELOC_BFIN_LOR:                   howto manager.      (line 1154)
-* BFD_ARELOC_BFIN_LSHIFT:                howto manager.      (line 1136)
-* BFD_ARELOC_BFIN_MOD:                   howto manager.      (line 1133)
-* BFD_ARELOC_BFIN_MULT:                  howto manager.      (line 1127)
-* BFD_ARELOC_BFIN_NEG:                   howto manager.      (line 1160)
-* BFD_ARELOC_BFIN_OR:                    howto manager.      (line 1145)
-* BFD_ARELOC_BFIN_PAGE:                  howto manager.      (line 1166)
-* BFD_ARELOC_BFIN_PUSH:                  howto manager.      (line 1115)
-* BFD_ARELOC_BFIN_RSHIFT:                howto manager.      (line 1139)
-* BFD_ARELOC_BFIN_SUB:                   howto manager.      (line 1124)
-* BFD_ARELOC_BFIN_XOR:                   howto manager.      (line 1148)
+* bfd_alt_mach_code:                     Miscellaneous.      (line  307)
+* bfd_arch_bits_per_address:             Architectures.      (line  601)
+* bfd_arch_bits_per_byte:                Architectures.      (line  593)
+* bfd_arch_default_fill:                 Architectures.      (line  682)
+* bfd_arch_get_compatible:               Architectures.      (line  536)
+* bfd_arch_list:                         Architectures.      (line  527)
+* bfd_arch_mach_octets_per_byte:         Architectures.      (line  670)
+* BFD_ARELOC_BFIN_ADD:                   howto manager.      (line 1127)
+* BFD_ARELOC_BFIN_ADDR:                  howto manager.      (line 1178)
+* BFD_ARELOC_BFIN_AND:                   howto manager.      (line 1148)
+* BFD_ARELOC_BFIN_COMP:                  howto manager.      (line 1169)
+* BFD_ARELOC_BFIN_CONST:                 howto manager.      (line 1124)
+* BFD_ARELOC_BFIN_DIV:                   howto manager.      (line 1136)
+* BFD_ARELOC_BFIN_HWPAGE:                howto manager.      (line 1175)
+* BFD_ARELOC_BFIN_LAND:                  howto manager.      (line 1157)
+* BFD_ARELOC_BFIN_LEN:                   howto manager.      (line 1163)
+* BFD_ARELOC_BFIN_LOR:                   howto manager.      (line 1160)
+* BFD_ARELOC_BFIN_LSHIFT:                howto manager.      (line 1142)
+* BFD_ARELOC_BFIN_MOD:                   howto manager.      (line 1139)
+* BFD_ARELOC_BFIN_MULT:                  howto manager.      (line 1133)
+* BFD_ARELOC_BFIN_NEG:                   howto manager.      (line 1166)
+* BFD_ARELOC_BFIN_OR:                    howto manager.      (line 1151)
+* BFD_ARELOC_BFIN_PAGE:                  howto manager.      (line 1172)
+* BFD_ARELOC_BFIN_PUSH:                  howto manager.      (line 1121)
+* BFD_ARELOC_BFIN_RSHIFT:                howto manager.      (line 1145)
+* BFD_ARELOC_BFIN_SUB:                   howto manager.      (line 1130)
+* BFD_ARELOC_BFIN_XOR:                   howto manager.      (line 1154)
 * bfd_cache_close:                       File Caching.       (line   26)
 * bfd_cache_close_all:                   File Caching.       (line   39)
 * bfd_cache_init:                        File Caching.       (line   18)
@@ -11368,7 +11416,7 @@ BFD Index
                                                              (line  161)
 * bfd_close_all_done:                    Opening and Closing.
                                                              (line  179)
-* bfd_coff_backend_data:                 coff.               (line  305)
+* bfd_coff_backend_data:                 coff.               (line  308)
 * bfd_copy_private_bfd_data:             Miscellaneous.      (line  160)
 * bfd_copy_private_header_data:          Miscellaneous.      (line  142)
 * bfd_copy_private_section_data:         section prototypes. (line  278)
@@ -11383,22 +11431,22 @@ BFD Index
                                                              (line  387)
 * bfd_decode_symclass:                   symbol handling functions.
                                                              (line  111)
-* bfd_default_arch_struct:               Architectures.      (line  542)
-* bfd_default_compatible:                Architectures.      (line  604)
-* bfd_default_reloc_type_lookup:         howto manager.      (line 3479)
-* bfd_default_scan:                      Architectures.      (line  613)
-* bfd_default_set_arch_mach:             Architectures.      (line  560)
-* bfd_demangle:                          Miscellaneous.      (line  361)
-* bfd_emul_get_commonpagesize:           Miscellaneous.      (line  341)
-* bfd_emul_get_maxpagesize:              Miscellaneous.      (line  321)
-* bfd_emul_set_commonpagesize:           Miscellaneous.      (line  352)
-* bfd_emul_set_maxpagesize:              Miscellaneous.      (line  332)
+* bfd_default_arch_struct:               Architectures.      (line  548)
+* bfd_default_compatible:                Architectures.      (line  610)
+* bfd_default_reloc_type_lookup:         howto manager.      (line 3533)
+* bfd_default_scan:                      Architectures.      (line  619)
+* bfd_default_set_arch_mach:             Architectures.      (line  566)
+* bfd_demangle:                          Miscellaneous.      (line  358)
+* bfd_emul_get_commonpagesize:           Miscellaneous.      (line  338)
+* bfd_emul_get_maxpagesize:              Miscellaneous.      (line  318)
+* bfd_emul_set_commonpagesize:           Miscellaneous.      (line  349)
+* bfd_emul_set_maxpagesize:              Miscellaneous.      (line  329)
 * bfd_errmsg:                            Error reporting.    (line   67)
 * bfd_fdopenr:                           Opening and Closing.
                                                              (line   57)
 * bfd_fill_in_gnu_debuglink_section:     Opening and Closing.
                                                              (line  401)
-* bfd_find_target:                       bfd_target.         (line  473)
+* bfd_find_target:                       bfd_target.         (line  470)
 * bfd_find_version_for_sym:              Writing the symbol table.
                                                              (line   81)
 * bfd_follow_gnu_debugaltlink:           Opening and Closing.
@@ -11411,16 +11459,16 @@ BFD Index
 * bfd_generic_define_common_symbol:      Writing the symbol table.
                                                              (line   68)
 * bfd_generic_discard_group:             section prototypes. (line  304)
-* bfd_generic_gc_sections:               howto manager.      (line 3510)
-* bfd_generic_get_relocated_section_contents: howto manager. (line 3540)
+* bfd_generic_gc_sections:               howto manager.      (line 3564)
+* bfd_generic_get_relocated_section_contents: howto manager. (line 3594)
 * bfd_generic_is_group_section:          section prototypes. (line  296)
-* bfd_generic_lookup_section_flags:      howto manager.      (line 3520)
-* bfd_generic_merge_sections:            howto manager.      (line 3530)
-* bfd_generic_relax_section:             howto manager.      (line 3497)
+* bfd_generic_lookup_section_flags:      howto manager.      (line 3574)
+* bfd_generic_merge_sections:            howto manager.      (line 3584)
+* bfd_generic_relax_section:             howto manager.      (line 3551)
 * bfd_get_alt_debug_link_info:           Opening and Closing.
                                                              (line  300)
-* bfd_get_arch:                          Architectures.      (line  571)
-* bfd_get_arch_info:                     Architectures.      (line  623)
+* bfd_get_arch:                          Architectures.      (line  577)
+* bfd_get_arch_info:                     Architectures.      (line  629)
 * bfd_get_arch_size:                     Miscellaneous.      (line   63)
 * bfd_get_assert_handler:                Error reporting.    (line  150)
 * bfd_get_debug_link_info:               Opening and Closing.
@@ -11429,11 +11477,11 @@ BFD Index
 * bfd_get_error_handler:                 Error reporting.    (line  118)
 * bfd_get_gp_size:                       Miscellaneous.      (line  106)
 * bfd_get_linker_section:                section prototypes. (line   36)
-* bfd_get_mach:                          Architectures.      (line  579)
-* bfd_get_mtime:                         Miscellaneous.      (line  412)
+* bfd_get_mach:                          Architectures.      (line  585)
+* bfd_get_mtime:                         Miscellaneous.      (line  409)
 * bfd_get_next_mapent:                   Archives.           (line   58)
 * bfd_get_next_section_by_name:          section prototypes. (line   26)
-* bfd_get_reloc_code_name:               howto manager.      (line 3488)
+* bfd_get_reloc_code_name:               howto manager.      (line 3542)
 * bfd_get_reloc_size:                    typedef arelent.    (line  327)
 * bfd_get_reloc_upper_bound:             Miscellaneous.      (line    9)
 * bfd_get_section_by_name:               section prototypes. (line   17)
@@ -11441,10 +11489,10 @@ BFD Index
 * bfd_get_section_contents:              section prototypes. (line  251)
 * bfd_get_sign_extend_vma:               Miscellaneous.      (line   78)
 * bfd_get_size <1>:                      Internal.           (line   25)
-* bfd_get_size:                          Miscellaneous.      (line  421)
+* bfd_get_size:                          Miscellaneous.      (line  418)
 * bfd_get_symtab_upper_bound:            symbol handling functions.
                                                              (line    6)
-* bfd_get_target_info:                   bfd_target.         (line  489)
+* bfd_get_target_info:                   bfd_target.         (line  486)
 * bfd_get_unique_section_name:           section prototypes. (line   64)
 * bfd_h_put_size:                        Internal.           (line   97)
 * bfd_hash_allocate:                     Creating and Freeing a Hash Table.
@@ -11478,7 +11526,7 @@ BFD Index
 * bfd_link_split_section:                Writing the symbol table.
                                                              (line   44)
 * bfd_log2:                              Internal.           (line  164)
-* bfd_lookup_arch:                       Architectures.      (line  631)
+* bfd_lookup_arch:                       Architectures.      (line  637)
 * bfd_make_debug_symbol:                 symbol handling functions.
                                                              (line  102)
 * bfd_make_empty_symbol:                 symbol handling functions.
@@ -11495,8 +11543,8 @@ BFD Index
 * bfd_malloc_and_get_section:            section prototypes. (line  268)
 * bfd_map_over_sections:                 section prototypes. (line  178)
 * bfd_merge_private_bfd_data:            Miscellaneous.      (line  176)
-* bfd_mmap:                              Miscellaneous.      (line  450)
-* bfd_octets_per_byte:                   Architectures.      (line  654)
+* bfd_mmap:                              Miscellaneous.      (line  447)
+* bfd_octets_per_byte:                   Architectures.      (line  660)
 * bfd_open_file:                         File Caching.       (line   52)
 * bfd_openr:                             Opening and Closing.
                                                              (line   38)
@@ -11511,8 +11559,8 @@ BFD Index
 * bfd_perror:                            Error reporting.    (line   76)
 * bfd_print_symbol_vandf:                symbol handling functions.
                                                              (line   70)
-* bfd_printable_arch_mach:               Architectures.      (line  642)
-* bfd_printable_name:                    Architectures.      (line  502)
+* bfd_printable_arch_mach:               Architectures.      (line  648)
+* bfd_printable_name:                    Architectures.      (line  508)
 * bfd_put_size:                          Internal.           (line   22)
 * BFD_RELOC_12_PCREL:                    howto manager.      (line   39)
 * BFD_RELOC_14:                          howto manager.      (line   31)
@@ -11524,46 +11572,46 @@ BFD Index
 * BFD_RELOC_16_PCREL_S2:                 howto manager.      (line  111)
 * BFD_RELOC_16_PLT_PCREL:                howto manager.      (line   63)
 * BFD_RELOC_16_PLTOFF:                   howto manager.      (line   67)
-* BFD_RELOC_16C_ABS20:                   howto manager.      (line 2420)
-* BFD_RELOC_16C_ABS20_C:                 howto manager.      (line 2421)
-* BFD_RELOC_16C_ABS24:                   howto manager.      (line 2422)
-* BFD_RELOC_16C_ABS24_C:                 howto manager.      (line 2423)
-* BFD_RELOC_16C_DISP04:                  howto manager.      (line 2400)
-* BFD_RELOC_16C_DISP04_C:                howto manager.      (line 2401)
-* BFD_RELOC_16C_DISP08:                  howto manager.      (line 2402)
-* BFD_RELOC_16C_DISP08_C:                howto manager.      (line 2403)
-* BFD_RELOC_16C_DISP16:                  howto manager.      (line 2404)
-* BFD_RELOC_16C_DISP16_C:                howto manager.      (line 2405)
-* BFD_RELOC_16C_DISP24:                  howto manager.      (line 2406)
-* BFD_RELOC_16C_DISP24_C:                howto manager.      (line 2407)
-* BFD_RELOC_16C_DISP24a:                 howto manager.      (line 2408)
-* BFD_RELOC_16C_DISP24a_C:               howto manager.      (line 2409)
-* BFD_RELOC_16C_IMM04:                   howto manager.      (line 2424)
-* BFD_RELOC_16C_IMM04_C:                 howto manager.      (line 2425)
-* BFD_RELOC_16C_IMM16:                   howto manager.      (line 2426)
-* BFD_RELOC_16C_IMM16_C:                 howto manager.      (line 2427)
-* BFD_RELOC_16C_IMM20:                   howto manager.      (line 2428)
-* BFD_RELOC_16C_IMM20_C:                 howto manager.      (line 2429)
-* BFD_RELOC_16C_IMM24:                   howto manager.      (line 2430)
-* BFD_RELOC_16C_IMM24_C:                 howto manager.      (line 2431)
-* BFD_RELOC_16C_IMM32:                   howto manager.      (line 2432)
-* BFD_RELOC_16C_IMM32_C:                 howto manager.      (line 2433)
-* BFD_RELOC_16C_NUM08:                   howto manager.      (line 2394)
-* BFD_RELOC_16C_NUM08_C:                 howto manager.      (line 2395)
-* BFD_RELOC_16C_NUM16:                   howto manager.      (line 2396)
-* BFD_RELOC_16C_NUM16_C:                 howto manager.      (line 2397)
-* BFD_RELOC_16C_NUM32:                   howto manager.      (line 2398)
-* BFD_RELOC_16C_NUM32_C:                 howto manager.      (line 2399)
-* BFD_RELOC_16C_REG04:                   howto manager.      (line 2410)
-* BFD_RELOC_16C_REG04_C:                 howto manager.      (line 2411)
-* BFD_RELOC_16C_REG04a:                  howto manager.      (line 2412)
-* BFD_RELOC_16C_REG04a_C:                howto manager.      (line 2413)
-* BFD_RELOC_16C_REG14:                   howto manager.      (line 2414)
-* BFD_RELOC_16C_REG14_C:                 howto manager.      (line 2415)
-* BFD_RELOC_16C_REG16:                   howto manager.      (line 2416)
-* BFD_RELOC_16C_REG16_C:                 howto manager.      (line 2417)
-* BFD_RELOC_16C_REG20:                   howto manager.      (line 2418)
-* BFD_RELOC_16C_REG20_C:                 howto manager.      (line 2419)
+* BFD_RELOC_16C_ABS20:                   howto manager.      (line 2465)
+* BFD_RELOC_16C_ABS20_C:                 howto manager.      (line 2466)
+* BFD_RELOC_16C_ABS24:                   howto manager.      (line 2467)
+* BFD_RELOC_16C_ABS24_C:                 howto manager.      (line 2468)
+* BFD_RELOC_16C_DISP04:                  howto manager.      (line 2445)
+* BFD_RELOC_16C_DISP04_C:                howto manager.      (line 2446)
+* BFD_RELOC_16C_DISP08:                  howto manager.      (line 2447)
+* BFD_RELOC_16C_DISP08_C:                howto manager.      (line 2448)
+* BFD_RELOC_16C_DISP16:                  howto manager.      (line 2449)
+* BFD_RELOC_16C_DISP16_C:                howto manager.      (line 2450)
+* BFD_RELOC_16C_DISP24:                  howto manager.      (line 2451)
+* BFD_RELOC_16C_DISP24_C:                howto manager.      (line 2452)
+* BFD_RELOC_16C_DISP24a:                 howto manager.      (line 2453)
+* BFD_RELOC_16C_DISP24a_C:               howto manager.      (line 2454)
+* BFD_RELOC_16C_IMM04:                   howto manager.      (line 2469)
+* BFD_RELOC_16C_IMM04_C:                 howto manager.      (line 2470)
+* BFD_RELOC_16C_IMM16:                   howto manager.      (line 2471)
+* BFD_RELOC_16C_IMM16_C:                 howto manager.      (line 2472)
+* BFD_RELOC_16C_IMM20:                   howto manager.      (line 2473)
+* BFD_RELOC_16C_IMM20_C:                 howto manager.      (line 2474)
+* BFD_RELOC_16C_IMM24:                   howto manager.      (line 2475)
+* BFD_RELOC_16C_IMM24_C:                 howto manager.      (line 2476)
+* BFD_RELOC_16C_IMM32:                   howto manager.      (line 2477)
+* BFD_RELOC_16C_IMM32_C:                 howto manager.      (line 2478)
+* BFD_RELOC_16C_NUM08:                   howto manager.      (line 2439)
+* BFD_RELOC_16C_NUM08_C:                 howto manager.      (line 2440)
+* BFD_RELOC_16C_NUM16:                   howto manager.      (line 2441)
+* BFD_RELOC_16C_NUM16_C:                 howto manager.      (line 2442)
+* BFD_RELOC_16C_NUM32:                   howto manager.      (line 2443)
+* BFD_RELOC_16C_NUM32_C:                 howto manager.      (line 2444)
+* BFD_RELOC_16C_REG04:                   howto manager.      (line 2455)
+* BFD_RELOC_16C_REG04_C:                 howto manager.      (line 2456)
+* BFD_RELOC_16C_REG04a:                  howto manager.      (line 2457)
+* BFD_RELOC_16C_REG04a_C:                howto manager.      (line 2458)
+* BFD_RELOC_16C_REG14:                   howto manager.      (line 2459)
+* BFD_RELOC_16C_REG14_C:                 howto manager.      (line 2460)
+* BFD_RELOC_16C_REG16:                   howto manager.      (line 2461)
+* BFD_RELOC_16C_REG16_C:                 howto manager.      (line 2462)
+* BFD_RELOC_16C_REG20:                   howto manager.      (line 2463)
+* BFD_RELOC_16C_REG20_C:                 howto manager.      (line 2464)
 * BFD_RELOC_23_PCREL_S2:                 howto manager.      (line  112)
 * BFD_RELOC_24:                          howto manager.      (line   29)
 * BFD_RELOC_24_PCREL:                    howto manager.      (line   37)
@@ -11578,85 +11626,85 @@ BFD Index
 * BFD_RELOC_32_PLT_PCREL:                howto manager.      (line   61)
 * BFD_RELOC_32_PLTOFF:                   howto manager.      (line   66)
 * BFD_RELOC_32_SECREL:                   howto manager.      (line   48)
-* BFD_RELOC_386_COPY:                    howto manager.      (line  577)
-* BFD_RELOC_386_GLOB_DAT:                howto manager.      (line  578)
-* BFD_RELOC_386_GOT32:                   howto manager.      (line  575)
-* BFD_RELOC_386_GOTOFF:                  howto manager.      (line  581)
-* BFD_RELOC_386_GOTPC:                   howto manager.      (line  582)
-* BFD_RELOC_386_IRELATIVE:               howto manager.      (line  598)
-* BFD_RELOC_386_JUMP_SLOT:               howto manager.      (line  579)
-* BFD_RELOC_386_PLT32:                   howto manager.      (line  576)
-* BFD_RELOC_386_RELATIVE:                howto manager.      (line  580)
-* BFD_RELOC_386_TLS_DESC:                howto manager.      (line  597)
-* BFD_RELOC_386_TLS_DESC_CALL:           howto manager.      (line  596)
-* BFD_RELOC_386_TLS_DTPMOD32:            howto manager.      (line  592)
-* BFD_RELOC_386_TLS_DTPOFF32:            howto manager.      (line  593)
-* BFD_RELOC_386_TLS_GD:                  howto manager.      (line  587)
-* BFD_RELOC_386_TLS_GOTDESC:             howto manager.      (line  595)
-* BFD_RELOC_386_TLS_GOTIE:               howto manager.      (line  585)
-* BFD_RELOC_386_TLS_IE:                  howto manager.      (line  584)
-* BFD_RELOC_386_TLS_IE_32:               howto manager.      (line  590)
-* BFD_RELOC_386_TLS_LDM:                 howto manager.      (line  588)
-* BFD_RELOC_386_TLS_LDO_32:              howto manager.      (line  589)
-* BFD_RELOC_386_TLS_LE:                  howto manager.      (line  586)
-* BFD_RELOC_386_TLS_LE_32:               howto manager.      (line  591)
-* BFD_RELOC_386_TLS_TPOFF:               howto manager.      (line  583)
-* BFD_RELOC_386_TLS_TPOFF32:             howto manager.      (line  594)
-* BFD_RELOC_390_12:                      howto manager.      (line 2003)
-* BFD_RELOC_390_20:                      howto manager.      (line 2115)
-* BFD_RELOC_390_COPY:                    howto manager.      (line 2012)
-* BFD_RELOC_390_GLOB_DAT:                howto manager.      (line 2015)
-* BFD_RELOC_390_GOT12:                   howto manager.      (line 2006)
-* BFD_RELOC_390_GOT16:                   howto manager.      (line 2027)
-* BFD_RELOC_390_GOT20:                   howto manager.      (line 2116)
-* BFD_RELOC_390_GOT64:                   howto manager.      (line 2057)
-* BFD_RELOC_390_GOTENT:                  howto manager.      (line 2063)
-* BFD_RELOC_390_GOTOFF64:                howto manager.      (line 2066)
-* BFD_RELOC_390_GOTPC:                   howto manager.      (line 2024)
-* BFD_RELOC_390_GOTPCDBL:                howto manager.      (line 2054)
-* BFD_RELOC_390_GOTPLT12:                howto manager.      (line 2069)
-* BFD_RELOC_390_GOTPLT16:                howto manager.      (line 2072)
-* BFD_RELOC_390_GOTPLT20:                howto manager.      (line 2117)
-* BFD_RELOC_390_GOTPLT32:                howto manager.      (line 2075)
-* BFD_RELOC_390_GOTPLT64:                howto manager.      (line 2078)
-* BFD_RELOC_390_GOTPLTENT:               howto manager.      (line 2081)
-* BFD_RELOC_390_IRELATIVE:               howto manager.      (line 2121)
-* BFD_RELOC_390_JMP_SLOT:                howto manager.      (line 2018)
-* BFD_RELOC_390_PC12DBL:                 howto manager.      (line 2030)
-* BFD_RELOC_390_PC16DBL:                 howto manager.      (line 2036)
-* BFD_RELOC_390_PC24DBL:                 howto manager.      (line 2042)
-* BFD_RELOC_390_PC32DBL:                 howto manager.      (line 2048)
-* BFD_RELOC_390_PLT12DBL:                howto manager.      (line 2033)
-* BFD_RELOC_390_PLT16DBL:                howto manager.      (line 2039)
-* BFD_RELOC_390_PLT24DBL:                howto manager.      (line 2045)
-* BFD_RELOC_390_PLT32:                   howto manager.      (line 2009)
-* BFD_RELOC_390_PLT32DBL:                howto manager.      (line 2051)
-* BFD_RELOC_390_PLT64:                   howto manager.      (line 2060)
-* BFD_RELOC_390_PLTOFF16:                howto manager.      (line 2084)
-* BFD_RELOC_390_PLTOFF32:                howto manager.      (line 2087)
-* BFD_RELOC_390_PLTOFF64:                howto manager.      (line 2090)
-* BFD_RELOC_390_RELATIVE:                howto manager.      (line 2021)
-* BFD_RELOC_390_TLS_DTPMOD:              howto manager.      (line 2110)
-* BFD_RELOC_390_TLS_DTPOFF:              howto manager.      (line 2111)
-* BFD_RELOC_390_TLS_GD32:                howto manager.      (line 2096)
-* BFD_RELOC_390_TLS_GD64:                howto manager.      (line 2097)
-* BFD_RELOC_390_TLS_GDCALL:              howto manager.      (line 2094)
-* BFD_RELOC_390_TLS_GOTIE12:             howto manager.      (line 2098)
-* BFD_RELOC_390_TLS_GOTIE20:             howto manager.      (line 2118)
-* BFD_RELOC_390_TLS_GOTIE32:             howto manager.      (line 2099)
-* BFD_RELOC_390_TLS_GOTIE64:             howto manager.      (line 2100)
-* BFD_RELOC_390_TLS_IE32:                howto manager.      (line 2103)
-* BFD_RELOC_390_TLS_IE64:                howto manager.      (line 2104)
-* BFD_RELOC_390_TLS_IEENT:               howto manager.      (line 2105)
-* BFD_RELOC_390_TLS_LDCALL:              howto manager.      (line 2095)
-* BFD_RELOC_390_TLS_LDM32:               howto manager.      (line 2101)
-* BFD_RELOC_390_TLS_LDM64:               howto manager.      (line 2102)
-* BFD_RELOC_390_TLS_LDO32:               howto manager.      (line 2108)
-* BFD_RELOC_390_TLS_LDO64:               howto manager.      (line 2109)
-* BFD_RELOC_390_TLS_LE32:                howto manager.      (line 2106)
-* BFD_RELOC_390_TLS_LE64:                howto manager.      (line 2107)
-* BFD_RELOC_390_TLS_LOAD:                howto manager.      (line 2093)
-* BFD_RELOC_390_TLS_TPOFF:               howto manager.      (line 2112)
+* BFD_RELOC_386_COPY:                    howto manager.      (line  583)
+* BFD_RELOC_386_GLOB_DAT:                howto manager.      (line  584)
+* BFD_RELOC_386_GOT32:                   howto manager.      (line  581)
+* BFD_RELOC_386_GOTOFF:                  howto manager.      (line  587)
+* BFD_RELOC_386_GOTPC:                   howto manager.      (line  588)
+* BFD_RELOC_386_IRELATIVE:               howto manager.      (line  604)
+* BFD_RELOC_386_JUMP_SLOT:               howto manager.      (line  585)
+* BFD_RELOC_386_PLT32:                   howto manager.      (line  582)
+* BFD_RELOC_386_RELATIVE:                howto manager.      (line  586)
+* BFD_RELOC_386_TLS_DESC:                howto manager.      (line  603)
+* BFD_RELOC_386_TLS_DESC_CALL:           howto manager.      (line  602)
+* BFD_RELOC_386_TLS_DTPMOD32:            howto manager.      (line  598)
+* BFD_RELOC_386_TLS_DTPOFF32:            howto manager.      (line  599)
+* BFD_RELOC_386_TLS_GD:                  howto manager.      (line  593)
+* BFD_RELOC_386_TLS_GOTDESC:             howto manager.      (line  601)
+* BFD_RELOC_386_TLS_GOTIE:               howto manager.      (line  591)
+* BFD_RELOC_386_TLS_IE:                  howto manager.      (line  590)
+* BFD_RELOC_386_TLS_IE_32:               howto manager.      (line  596)
+* BFD_RELOC_386_TLS_LDM:                 howto manager.      (line  594)
+* BFD_RELOC_386_TLS_LDO_32:              howto manager.      (line  595)
+* BFD_RELOC_386_TLS_LE:                  howto manager.      (line  592)
+* BFD_RELOC_386_TLS_LE_32:               howto manager.      (line  597)
+* BFD_RELOC_386_TLS_TPOFF:               howto manager.      (line  589)
+* BFD_RELOC_386_TLS_TPOFF32:             howto manager.      (line  600)
+* BFD_RELOC_390_12:                      howto manager.      (line 2048)
+* BFD_RELOC_390_20:                      howto manager.      (line 2160)
+* BFD_RELOC_390_COPY:                    howto manager.      (line 2057)
+* BFD_RELOC_390_GLOB_DAT:                howto manager.      (line 2060)
+* BFD_RELOC_390_GOT12:                   howto manager.      (line 2051)
+* BFD_RELOC_390_GOT16:                   howto manager.      (line 2072)
+* BFD_RELOC_390_GOT20:                   howto manager.      (line 2161)
+* BFD_RELOC_390_GOT64:                   howto manager.      (line 2102)
+* BFD_RELOC_390_GOTENT:                  howto manager.      (line 2108)
+* BFD_RELOC_390_GOTOFF64:                howto manager.      (line 2111)
+* BFD_RELOC_390_GOTPC:                   howto manager.      (line 2069)
+* BFD_RELOC_390_GOTPCDBL:                howto manager.      (line 2099)
+* BFD_RELOC_390_GOTPLT12:                howto manager.      (line 2114)
+* BFD_RELOC_390_GOTPLT16:                howto manager.      (line 2117)
+* BFD_RELOC_390_GOTPLT20:                howto manager.      (line 2162)
+* BFD_RELOC_390_GOTPLT32:                howto manager.      (line 2120)
+* BFD_RELOC_390_GOTPLT64:                howto manager.      (line 2123)
+* BFD_RELOC_390_GOTPLTENT:               howto manager.      (line 2126)
+* BFD_RELOC_390_IRELATIVE:               howto manager.      (line 2166)
+* BFD_RELOC_390_JMP_SLOT:                howto manager.      (line 2063)
+* BFD_RELOC_390_PC12DBL:                 howto manager.      (line 2075)
+* BFD_RELOC_390_PC16DBL:                 howto manager.      (line 2081)
+* BFD_RELOC_390_PC24DBL:                 howto manager.      (line 2087)
+* BFD_RELOC_390_PC32DBL:                 howto manager.      (line 2093)
+* BFD_RELOC_390_PLT12DBL:                howto manager.      (line 2078)
+* BFD_RELOC_390_PLT16DBL:                howto manager.      (line 2084)
+* BFD_RELOC_390_PLT24DBL:                howto manager.      (line 2090)
+* BFD_RELOC_390_PLT32:                   howto manager.      (line 2054)
+* BFD_RELOC_390_PLT32DBL:                howto manager.      (line 2096)
+* BFD_RELOC_390_PLT64:                   howto manager.      (line 2105)
+* BFD_RELOC_390_PLTOFF16:                howto manager.      (line 2129)
+* BFD_RELOC_390_PLTOFF32:                howto manager.      (line 2132)
+* BFD_RELOC_390_PLTOFF64:                howto manager.      (line 2135)
+* BFD_RELOC_390_RELATIVE:                howto manager.      (line 2066)
+* BFD_RELOC_390_TLS_DTPMOD:              howto manager.      (line 2155)
+* BFD_RELOC_390_TLS_DTPOFF:              howto manager.      (line 2156)
+* BFD_RELOC_390_TLS_GD32:                howto manager.      (line 2141)
+* BFD_RELOC_390_TLS_GD64:                howto manager.      (line 2142)
+* BFD_RELOC_390_TLS_GDCALL:              howto manager.      (line 2139)
+* BFD_RELOC_390_TLS_GOTIE12:             howto manager.      (line 2143)
+* BFD_RELOC_390_TLS_GOTIE20:             howto manager.      (line 2163)
+* BFD_RELOC_390_TLS_GOTIE32:             howto manager.      (line 2144)
+* BFD_RELOC_390_TLS_GOTIE64:             howto manager.      (line 2145)
+* BFD_RELOC_390_TLS_IE32:                howto manager.      (line 2148)
+* BFD_RELOC_390_TLS_IE64:                howto manager.      (line 2149)
+* BFD_RELOC_390_TLS_IEENT:               howto manager.      (line 2150)
+* BFD_RELOC_390_TLS_LDCALL:              howto manager.      (line 2140)
+* BFD_RELOC_390_TLS_LDM32:               howto manager.      (line 2146)
+* BFD_RELOC_390_TLS_LDM64:               howto manager.      (line 2147)
+* BFD_RELOC_390_TLS_LDO32:               howto manager.      (line 2153)
+* BFD_RELOC_390_TLS_LDO64:               howto manager.      (line 2154)
+* BFD_RELOC_390_TLS_LE32:                howto manager.      (line 2151)
+* BFD_RELOC_390_TLS_LE64:                howto manager.      (line 2152)
+* BFD_RELOC_390_TLS_LOAD:                howto manager.      (line 2138)
+* BFD_RELOC_390_TLS_TPOFF:               howto manager.      (line 2157)
 * BFD_RELOC_64:                          howto manager.      (line   26)
 * BFD_RELOC_64_PCREL:                    howto manager.      (line   35)
 * BFD_RELOC_64_PLT_PCREL:                howto manager.      (line   60)
@@ -11680,38 +11728,38 @@ BFD Index
 * BFD_RELOC_68K_TLS_LE32:                howto manager.      (line   93)
 * BFD_RELOC_68K_TLS_LE8:                 howto manager.      (line   95)
 * BFD_RELOC_8:                           howto manager.      (line   32)
-* BFD_RELOC_860_COPY:                    howto manager.      (line 2548)
-* BFD_RELOC_860_GLOB_DAT:                howto manager.      (line 2549)
-* BFD_RELOC_860_HAGOT:                   howto manager.      (line 2574)
-* BFD_RELOC_860_HAGOTOFF:                howto manager.      (line 2575)
-* BFD_RELOC_860_HAPC:                    howto manager.      (line 2576)
-* BFD_RELOC_860_HIGH:                    howto manager.      (line 2577)
-* BFD_RELOC_860_HIGHADJ:                 howto manager.      (line 2573)
-* BFD_RELOC_860_HIGOT:                   howto manager.      (line 2578)
-* BFD_RELOC_860_HIGOTOFF:                howto manager.      (line 2579)
-* BFD_RELOC_860_JUMP_SLOT:               howto manager.      (line 2550)
-* BFD_RELOC_860_LOGOT0:                  howto manager.      (line 2562)
-* BFD_RELOC_860_LOGOT1:                  howto manager.      (line 2564)
-* BFD_RELOC_860_LOGOTOFF0:               howto manager.      (line 2566)
-* BFD_RELOC_860_LOGOTOFF1:               howto manager.      (line 2568)
-* BFD_RELOC_860_LOGOTOFF2:               howto manager.      (line 2570)
-* BFD_RELOC_860_LOGOTOFF3:               howto manager.      (line 2571)
-* BFD_RELOC_860_LOPC:                    howto manager.      (line 2572)
-* BFD_RELOC_860_LOW0:                    howto manager.      (line 2555)
-* BFD_RELOC_860_LOW1:                    howto manager.      (line 2557)
-* BFD_RELOC_860_LOW2:                    howto manager.      (line 2559)
-* BFD_RELOC_860_LOW3:                    howto manager.      (line 2561)
-* BFD_RELOC_860_PC16:                    howto manager.      (line 2554)
-* BFD_RELOC_860_PC26:                    howto manager.      (line 2552)
-* BFD_RELOC_860_PLT26:                   howto manager.      (line 2553)
-* BFD_RELOC_860_RELATIVE:                howto manager.      (line 2551)
-* BFD_RELOC_860_SPGOT0:                  howto manager.      (line 2563)
-* BFD_RELOC_860_SPGOT1:                  howto manager.      (line 2565)
-* BFD_RELOC_860_SPGOTOFF0:               howto manager.      (line 2567)
-* BFD_RELOC_860_SPGOTOFF1:               howto manager.      (line 2569)
-* BFD_RELOC_860_SPLIT0:                  howto manager.      (line 2556)
-* BFD_RELOC_860_SPLIT1:                  howto manager.      (line 2558)
-* BFD_RELOC_860_SPLIT2:                  howto manager.      (line 2560)
+* BFD_RELOC_860_COPY:                    howto manager.      (line 2593)
+* BFD_RELOC_860_GLOB_DAT:                howto manager.      (line 2594)
+* BFD_RELOC_860_HAGOT:                   howto manager.      (line 2619)
+* BFD_RELOC_860_HAGOTOFF:                howto manager.      (line 2620)
+* BFD_RELOC_860_HAPC:                    howto manager.      (line 2621)
+* BFD_RELOC_860_HIGH:                    howto manager.      (line 2622)
+* BFD_RELOC_860_HIGHADJ:                 howto manager.      (line 2618)
+* BFD_RELOC_860_HIGOT:                   howto manager.      (line 2623)
+* BFD_RELOC_860_HIGOTOFF:                howto manager.      (line 2624)
+* BFD_RELOC_860_JUMP_SLOT:               howto manager.      (line 2595)
+* BFD_RELOC_860_LOGOT0:                  howto manager.      (line 2607)
+* BFD_RELOC_860_LOGOT1:                  howto manager.      (line 2609)
+* BFD_RELOC_860_LOGOTOFF0:               howto manager.      (line 2611)
+* BFD_RELOC_860_LOGOTOFF1:               howto manager.      (line 2613)
+* BFD_RELOC_860_LOGOTOFF2:               howto manager.      (line 2615)
+* BFD_RELOC_860_LOGOTOFF3:               howto manager.      (line 2616)
+* BFD_RELOC_860_LOPC:                    howto manager.      (line 2617)
+* BFD_RELOC_860_LOW0:                    howto manager.      (line 2600)
+* BFD_RELOC_860_LOW1:                    howto manager.      (line 2602)
+* BFD_RELOC_860_LOW2:                    howto manager.      (line 2604)
+* BFD_RELOC_860_LOW3:                    howto manager.      (line 2606)
+* BFD_RELOC_860_PC16:                    howto manager.      (line 2599)
+* BFD_RELOC_860_PC26:                    howto manager.      (line 2597)
+* BFD_RELOC_860_PLT26:                   howto manager.      (line 2598)
+* BFD_RELOC_860_RELATIVE:                howto manager.      (line 2596)
+* BFD_RELOC_860_SPGOT0:                  howto manager.      (line 2608)
+* BFD_RELOC_860_SPGOT1:                  howto manager.      (line 2610)
+* BFD_RELOC_860_SPGOTOFF0:               howto manager.      (line 2612)
+* BFD_RELOC_860_SPGOTOFF1:               howto manager.      (line 2614)
+* BFD_RELOC_860_SPLIT0:                  howto manager.      (line 2601)
+* BFD_RELOC_860_SPLIT1:                  howto manager.      (line 2603)
+* BFD_RELOC_860_SPLIT2:                  howto manager.      (line 2605)
 * BFD_RELOC_8_BASEREL:                   howto manager.      (line  103)
 * BFD_RELOC_8_FFnn:                      howto manager.      (line  107)
 * BFD_RELOC_8_GOT_PCREL:                 howto manager.      (line   53)
@@ -11719,89 +11767,89 @@ BFD Index
 * BFD_RELOC_8_PCREL:                     howto manager.      (line   40)
 * BFD_RELOC_8_PLT_PCREL:                 howto manager.      (line   64)
 * BFD_RELOC_8_PLTOFF:                    howto manager.      (line   71)
-* BFD_RELOC_AARCH64_16:                  howto manager.      (line 2966)
-* BFD_RELOC_AARCH64_16_PCREL:            howto manager.      (line 2973)
-* BFD_RELOC_AARCH64_32:                  howto manager.      (line 2965)
-* BFD_RELOC_AARCH64_32_PCREL:            howto manager.      (line 2972)
-* BFD_RELOC_AARCH64_64:                  howto manager.      (line 2964)
-* BFD_RELOC_AARCH64_64_PCREL:            howto manager.      (line 2971)
-* BFD_RELOC_AARCH64_ADD_LO12:            howto manager.      (line 3038)
-* BFD_RELOC_AARCH64_ADR_GOT_PAGE:        howto manager.      (line 3095)
-* BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:   howto manager.      (line 3033)
-* BFD_RELOC_AARCH64_ADR_HI21_PCREL:      howto manager.      (line 3029)
-* BFD_RELOC_AARCH64_ADR_LO21_PCREL:      howto manager.      (line 3025)
-* BFD_RELOC_AARCH64_BRANCH19:            howto manager.      (line 3053)
-* BFD_RELOC_AARCH64_CALL26:              howto manager.      (line 3063)
-* BFD_RELOC_AARCH64_COPY:                howto manager.      (line 3196)
-* BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP:  howto manager.      (line 3230)
-* BFD_RELOC_AARCH64_GLOB_DAT:            howto manager.      (line 3199)
-* BFD_RELOC_AARCH64_GOT_LD_PREL19:       howto manager.      (line 3088)
-* BFD_RELOC_AARCH64_IRELATIVE:           howto manager.      (line 3220)
-* BFD_RELOC_AARCH64_JUMP26:              howto manager.      (line 3058)
-* BFD_RELOC_AARCH64_JUMP_SLOT:           howto manager.      (line 3202)
-* BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:    howto manager.      (line 3105)
-* BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:    howto manager.      (line 3100)
-* BFD_RELOC_AARCH64_LD_GOT_LO12_NC:      howto manager.      (line 3239)
-* BFD_RELOC_AARCH64_LD_LO19_PCREL:       howto manager.      (line 3020)
-* BFD_RELOC_AARCH64_LDST128_LO12:        howto manager.      (line 3083)
-* BFD_RELOC_AARCH64_LDST16_LO12:         howto manager.      (line 3068)
-* BFD_RELOC_AARCH64_LDST32_LO12:         howto manager.      (line 3073)
-* BFD_RELOC_AARCH64_LDST64_LO12:         howto manager.      (line 3078)
-* BFD_RELOC_AARCH64_LDST8_LO12:          howto manager.      (line 3043)
-* BFD_RELOC_AARCH64_LDST_LO12:           howto manager.      (line 3234)
-* BFD_RELOC_AARCH64_MOVW_G0:             howto manager.      (line 2977)
-* BFD_RELOC_AARCH64_MOVW_G0_NC:          howto manager.      (line 2981)
-* BFD_RELOC_AARCH64_MOVW_G0_S:           howto manager.      (line 3005)
-* BFD_RELOC_AARCH64_MOVW_G1:             howto manager.      (line 2985)
-* BFD_RELOC_AARCH64_MOVW_G1_NC:          howto manager.      (line 2989)
-* BFD_RELOC_AARCH64_MOVW_G1_S:           howto manager.      (line 3010)
-* BFD_RELOC_AARCH64_MOVW_G2:             howto manager.      (line 2993)
-* BFD_RELOC_AARCH64_MOVW_G2_NC:          howto manager.      (line 2997)
-* BFD_RELOC_AARCH64_MOVW_G2_S:           howto manager.      (line 3015)
-* BFD_RELOC_AARCH64_MOVW_G3:             howto manager.      (line 3001)
-* BFD_RELOC_AARCH64_NONE:                howto manager.      (line 2961)
-* BFD_RELOC_AARCH64_RELATIVE:            howto manager.      (line 3205)
-* BFD_RELOC_AARCH64_RELOC_END:           howto manager.      (line 3223)
-* BFD_RELOC_AARCH64_RELOC_START:         howto manager.      (line 2955)
-* BFD_RELOC_AARCH64_TLS_DTPMOD:          howto manager.      (line 3208)
-* BFD_RELOC_AARCH64_TLS_DTPREL:          howto manager.      (line 3211)
-* BFD_RELOC_AARCH64_TLS_TPREL:           howto manager.      (line 3214)
-* BFD_RELOC_AARCH64_TLSDESC:             howto manager.      (line 3217)
-* BFD_RELOC_AARCH64_TLSDESC_ADD:         howto manager.      (line 3190)
-* BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC: howto manager.      (line 3178)
-* BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:  howto manager.      (line 3169)
-* BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:  howto manager.      (line 3166)
-* BFD_RELOC_AARCH64_TLSDESC_CALL:        howto manager.      (line 3193)
-* BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC: howto manager.     (line 3175)
-* BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC: howto manager.     (line 3172)
-* BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC:  howto manager.      (line 3247)
-* BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:   howto manager.      (line 3163)
-* BFD_RELOC_AARCH64_TLSDESC_LDR:         howto manager.      (line 3187)
-* BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:   howto manager.      (line 3184)
-* BFD_RELOC_AARCH64_TLSDESC_OFF_G1:      howto manager.      (line 3181)
-* BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:   howto manager.      (line 3116)
-* BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:    howto manager.      (line 3110)
+* BFD_RELOC_AARCH64_16:                  howto manager.      (line 3011)
+* BFD_RELOC_AARCH64_16_PCREL:            howto manager.      (line 3018)
+* BFD_RELOC_AARCH64_32:                  howto manager.      (line 3010)
+* BFD_RELOC_AARCH64_32_PCREL:            howto manager.      (line 3017)
+* BFD_RELOC_AARCH64_64:                  howto manager.      (line 3009)
+* BFD_RELOC_AARCH64_64_PCREL:            howto manager.      (line 3016)
+* BFD_RELOC_AARCH64_ADD_LO12:            howto manager.      (line 3083)
+* BFD_RELOC_AARCH64_ADR_GOT_PAGE:        howto manager.      (line 3140)
+* BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:   howto manager.      (line 3078)
+* BFD_RELOC_AARCH64_ADR_HI21_PCREL:      howto manager.      (line 3074)
+* BFD_RELOC_AARCH64_ADR_LO21_PCREL:      howto manager.      (line 3070)
+* BFD_RELOC_AARCH64_BRANCH19:            howto manager.      (line 3098)
+* BFD_RELOC_AARCH64_CALL26:              howto manager.      (line 3108)
+* BFD_RELOC_AARCH64_COPY:                howto manager.      (line 3241)
+* BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP:  howto manager.      (line 3275)
+* BFD_RELOC_AARCH64_GLOB_DAT:            howto manager.      (line 3244)
+* BFD_RELOC_AARCH64_GOT_LD_PREL19:       howto manager.      (line 3133)
+* BFD_RELOC_AARCH64_IRELATIVE:           howto manager.      (line 3265)
+* BFD_RELOC_AARCH64_JUMP26:              howto manager.      (line 3103)
+* BFD_RELOC_AARCH64_JUMP_SLOT:           howto manager.      (line 3247)
+* BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:    howto manager.      (line 3150)
+* BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:    howto manager.      (line 3145)
+* BFD_RELOC_AARCH64_LD_GOT_LO12_NC:      howto manager.      (line 3284)
+* BFD_RELOC_AARCH64_LD_LO19_PCREL:       howto manager.      (line 3065)
+* BFD_RELOC_AARCH64_LDST128_LO12:        howto manager.      (line 3128)
+* BFD_RELOC_AARCH64_LDST16_LO12:         howto manager.      (line 3113)
+* BFD_RELOC_AARCH64_LDST32_LO12:         howto manager.      (line 3118)
+* BFD_RELOC_AARCH64_LDST64_LO12:         howto manager.      (line 3123)
+* BFD_RELOC_AARCH64_LDST8_LO12:          howto manager.      (line 3088)
+* BFD_RELOC_AARCH64_LDST_LO12:           howto manager.      (line 3279)
+* BFD_RELOC_AARCH64_MOVW_G0:             howto manager.      (line 3022)
+* BFD_RELOC_AARCH64_MOVW_G0_NC:          howto manager.      (line 3026)
+* BFD_RELOC_AARCH64_MOVW_G0_S:           howto manager.      (line 3050)
+* BFD_RELOC_AARCH64_MOVW_G1:             howto manager.      (line 3030)
+* BFD_RELOC_AARCH64_MOVW_G1_NC:          howto manager.      (line 3034)
+* BFD_RELOC_AARCH64_MOVW_G1_S:           howto manager.      (line 3055)
+* BFD_RELOC_AARCH64_MOVW_G2:             howto manager.      (line 3038)
+* BFD_RELOC_AARCH64_MOVW_G2_NC:          howto manager.      (line 3042)
+* BFD_RELOC_AARCH64_MOVW_G2_S:           howto manager.      (line 3060)
+* BFD_RELOC_AARCH64_MOVW_G3:             howto manager.      (line 3046)
+* BFD_RELOC_AARCH64_NONE:                howto manager.      (line 3006)
+* BFD_RELOC_AARCH64_RELATIVE:            howto manager.      (line 3250)
+* BFD_RELOC_AARCH64_RELOC_END:           howto manager.      (line 3268)
+* BFD_RELOC_AARCH64_RELOC_START:         howto manager.      (line 3000)
+* BFD_RELOC_AARCH64_TLS_DTPMOD:          howto manager.      (line 3253)
+* BFD_RELOC_AARCH64_TLS_DTPREL:          howto manager.      (line 3256)
+* BFD_RELOC_AARCH64_TLS_TPREL:           howto manager.      (line 3259)
+* BFD_RELOC_AARCH64_TLSDESC:             howto manager.      (line 3262)
+* BFD_RELOC_AARCH64_TLSDESC_ADD:         howto manager.      (line 3235)
+* BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC: howto manager.      (line 3223)
+* BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:  howto manager.      (line 3214)
+* BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:  howto manager.      (line 3211)
+* BFD_RELOC_AARCH64_TLSDESC_CALL:        howto manager.      (line 3238)
+* BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC: howto manager.     (line 3220)
+* BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC: howto manager.     (line 3217)
+* BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC:  howto manager.      (line 3292)
+* BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:   howto manager.      (line 3208)
+* BFD_RELOC_AARCH64_TLSDESC_LDR:         howto manager.      (line 3232)
+* BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:   howto manager.      (line 3229)
+* BFD_RELOC_AARCH64_TLSDESC_OFF_G1:      howto manager.      (line 3226)
+* BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:   howto manager.      (line 3161)
+* BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:    howto manager.      (line 3155)
 * BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21: howto manager.
-                                                             (line 3127)
+                                                             (line 3172)
 * BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC: howto manager.
-                                                             (line 3133)
+                                                             (line 3178)
 * BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC: howto manager.
-                                                             (line 3130)
+                                                             (line 3175)
 * BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC: howto manager.
-                                                             (line 3243)
-* BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19: howto manager. (line 3136)
+                                                             (line 3288)
+* BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19: howto manager. (line 3181)
 * BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC: howto manager.
-                                                             (line 3124)
-* BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1: howto manager.   (line 3121)
-* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12: howto manager.     (line 3154)
-* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12: howto manager.     (line 3157)
-* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC: howto manager.  (line 3160)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0: howto manager.      (line 3148)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC: howto manager.   (line 3151)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1: howto manager.      (line 3142)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC: howto manager.   (line 3145)
-* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2: howto manager.      (line 3139)
-* BFD_RELOC_AARCH64_TSTBR14:             howto manager.      (line 3048)
+                                                             (line 3169)
+* BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1: howto manager.   (line 3166)
+* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12: howto manager.     (line 3199)
+* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12: howto manager.     (line 3202)
+* BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC: howto manager.  (line 3205)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0: howto manager.      (line 3193)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC: howto manager.   (line 3196)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1: howto manager.      (line 3187)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC: howto manager.   (line 3190)
+* BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2: howto manager.      (line 3184)
+* BFD_RELOC_AARCH64_TSTBR14:             howto manager.      (line 3093)
 * BFD_RELOC_ALPHA_BOH:                   howto manager.      (line  323)
 * BFD_RELOC_ALPHA_BRSGP:                 howto manager.      (line  306)
 * BFD_RELOC_ALPHA_BSR:                   howto manager.      (line  315)
@@ -11831,359 +11879,362 @@ BFD Index
 * BFD_RELOC_ALPHA_TPREL64:               howto manager.      (line  336)
 * BFD_RELOC_ALPHA_TPREL_HI16:            howto manager.      (line  337)
 * BFD_RELOC_ALPHA_TPREL_LO16:            howto manager.      (line  338)
-* BFD_RELOC_ARC_B22_PCREL:               howto manager.      (line 1050)
-* BFD_RELOC_ARC_B26:                     howto manager.      (line 1055)
-* BFD_RELOC_ARM_ADR_IMM:                 howto manager.      (line  936)
-* BFD_RELOC_ARM_ADRL_IMMEDIATE:          howto manager.      (line  922)
-* BFD_RELOC_ARM_ALU_PC_G0:               howto manager.      (line  886)
-* BFD_RELOC_ARM_ALU_PC_G0_NC:            howto manager.      (line  885)
-* BFD_RELOC_ARM_ALU_PC_G1:               howto manager.      (line  888)
-* BFD_RELOC_ARM_ALU_PC_G1_NC:            howto manager.      (line  887)
-* BFD_RELOC_ARM_ALU_PC_G2:               howto manager.      (line  889)
-* BFD_RELOC_ARM_ALU_SB_G0:               howto manager.      (line  900)
-* BFD_RELOC_ARM_ALU_SB_G0_NC:            howto manager.      (line  899)
-* BFD_RELOC_ARM_ALU_SB_G1:               howto manager.      (line  902)
-* BFD_RELOC_ARM_ALU_SB_G1_NC:            howto manager.      (line  901)
-* BFD_RELOC_ARM_ALU_SB_G2:               howto manager.      (line  903)
-* BFD_RELOC_ARM_CP_OFF_IMM:              howto manager.      (line  932)
-* BFD_RELOC_ARM_CP_OFF_IMM_S2:           howto manager.      (line  933)
-* BFD_RELOC_ARM_GLOB_DAT:                howto manager.      (line  860)
-* BFD_RELOC_ARM_GOT32:                   howto manager.      (line  861)
-* BFD_RELOC_ARM_GOT_PREL:                howto manager.      (line  866)
-* BFD_RELOC_ARM_GOTOFF:                  howto manager.      (line  864)
-* BFD_RELOC_ARM_GOTPC:                   howto manager.      (line  865)
-* BFD_RELOC_ARM_HVC:                     howto manager.      (line  929)
-* BFD_RELOC_ARM_HWLITERAL:               howto manager.      (line  943)
-* BFD_RELOC_ARM_IMMEDIATE:               howto manager.      (line  921)
-* BFD_RELOC_ARM_IN_POOL:                 howto manager.      (line  939)
-* BFD_RELOC_ARM_IRELATIVE:               howto manager.      (line  918)
-* BFD_RELOC_ARM_JUMP_SLOT:               howto manager.      (line  859)
-* BFD_RELOC_ARM_LDC_PC_G0:               howto manager.      (line  896)
-* BFD_RELOC_ARM_LDC_PC_G1:               howto manager.      (line  897)
-* BFD_RELOC_ARM_LDC_PC_G2:               howto manager.      (line  898)
-* BFD_RELOC_ARM_LDC_SB_G0:               howto manager.      (line  910)
-* BFD_RELOC_ARM_LDC_SB_G1:               howto manager.      (line  911)
-* BFD_RELOC_ARM_LDC_SB_G2:               howto manager.      (line  912)
-* BFD_RELOC_ARM_LDR_IMM:                 howto manager.      (line  937)
-* BFD_RELOC_ARM_LDR_PC_G0:               howto manager.      (line  890)
-* BFD_RELOC_ARM_LDR_PC_G1:               howto manager.      (line  891)
-* BFD_RELOC_ARM_LDR_PC_G2:               howto manager.      (line  892)
-* BFD_RELOC_ARM_LDR_SB_G0:               howto manager.      (line  904)
-* BFD_RELOC_ARM_LDR_SB_G1:               howto manager.      (line  905)
-* BFD_RELOC_ARM_LDR_SB_G2:               howto manager.      (line  906)
-* BFD_RELOC_ARM_LDRS_PC_G0:              howto manager.      (line  893)
-* BFD_RELOC_ARM_LDRS_PC_G1:              howto manager.      (line  894)
-* BFD_RELOC_ARM_LDRS_PC_G2:              howto manager.      (line  895)
-* BFD_RELOC_ARM_LDRS_SB_G0:              howto manager.      (line  907)
-* BFD_RELOC_ARM_LDRS_SB_G1:              howto manager.      (line  908)
-* BFD_RELOC_ARM_LDRS_SB_G2:              howto manager.      (line  909)
-* BFD_RELOC_ARM_LITERAL:                 howto manager.      (line  938)
-* BFD_RELOC_ARM_MOVT:                    howto manager.      (line  850)
-* BFD_RELOC_ARM_MOVT_PCREL:              howto manager.      (line  852)
-* BFD_RELOC_ARM_MOVW:                    howto manager.      (line  849)
-* BFD_RELOC_ARM_MOVW_PCREL:              howto manager.      (line  851)
-* BFD_RELOC_ARM_MULTI:                   howto manager.      (line  931)
-* BFD_RELOC_ARM_OFFSET_IMM:              howto manager.      (line  823)
-* BFD_RELOC_ARM_OFFSET_IMM8:             howto manager.      (line  940)
-* BFD_RELOC_ARM_PCREL_BLX:               howto manager.      (line  794)
-* BFD_RELOC_ARM_PCREL_BRANCH:            howto manager.      (line  790)
-* BFD_RELOC_ARM_PCREL_CALL:              howto manager.      (line  804)
-* BFD_RELOC_ARM_PCREL_JUMP:              howto manager.      (line  808)
-* BFD_RELOC_ARM_PLT32:                   howto manager.      (line  862)
-* BFD_RELOC_ARM_PREL31:                  howto manager.      (line  846)
-* BFD_RELOC_ARM_RELATIVE:                howto manager.      (line  863)
-* BFD_RELOC_ARM_ROSEGREL32:              howto manager.      (line  835)
-* BFD_RELOC_ARM_SBREL32:                 howto manager.      (line  838)
-* BFD_RELOC_ARM_SHIFT_IMM:               howto manager.      (line  927)
-* BFD_RELOC_ARM_SMC:                     howto manager.      (line  928)
-* BFD_RELOC_ARM_SWI:                     howto manager.      (line  930)
-* BFD_RELOC_ARM_T32_ADD_IMM:             howto manager.      (line  924)
-* BFD_RELOC_ARM_T32_ADD_PC12:            howto manager.      (line  926)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM:          howto manager.      (line  934)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2:       howto manager.      (line  935)
-* BFD_RELOC_ARM_T32_IMM12:               howto manager.      (line  925)
-* BFD_RELOC_ARM_T32_IMMEDIATE:           howto manager.      (line  923)
-* BFD_RELOC_ARM_T32_OFFSET_IMM:          howto manager.      (line  942)
-* BFD_RELOC_ARM_T32_OFFSET_U8:           howto manager.      (line  941)
-* BFD_RELOC_ARM_TARGET1:                 howto manager.      (line  831)
-* BFD_RELOC_ARM_TARGET2:                 howto manager.      (line  841)
-* BFD_RELOC_ARM_THM_TLS_CALL:            howto manager.      (line  879)
-* BFD_RELOC_ARM_THM_TLS_DESCSEQ:         howto manager.      (line  881)
-* BFD_RELOC_ARM_THUMB_ADD:               howto manager.      (line  944)
-* BFD_RELOC_ARM_THUMB_IMM:               howto manager.      (line  945)
-* BFD_RELOC_ARM_THUMB_MOVT:              howto manager.      (line  854)
-* BFD_RELOC_ARM_THUMB_MOVT_PCREL:        howto manager.      (line  856)
-* BFD_RELOC_ARM_THUMB_MOVW:              howto manager.      (line  853)
-* BFD_RELOC_ARM_THUMB_MOVW_PCREL:        howto manager.      (line  855)
-* BFD_RELOC_ARM_THUMB_OFFSET:            howto manager.      (line  827)
-* BFD_RELOC_ARM_THUMB_SHIFT:             howto manager.      (line  946)
-* BFD_RELOC_ARM_TLS_CALL:                howto manager.      (line  878)
-* BFD_RELOC_ARM_TLS_DESC:                howto manager.      (line  882)
-* BFD_RELOC_ARM_TLS_DESCSEQ:             howto manager.      (line  880)
-* BFD_RELOC_ARM_TLS_DTPMOD32:            howto manager.      (line  873)
-* BFD_RELOC_ARM_TLS_DTPOFF32:            howto manager.      (line  872)
-* BFD_RELOC_ARM_TLS_GD32:                howto manager.      (line  869)
-* BFD_RELOC_ARM_TLS_GOTDESC:             howto manager.      (line  877)
-* BFD_RELOC_ARM_TLS_IE32:                howto manager.      (line  875)
-* BFD_RELOC_ARM_TLS_LDM32:               howto manager.      (line  871)
-* BFD_RELOC_ARM_TLS_LDO32:               howto manager.      (line  870)
-* BFD_RELOC_ARM_TLS_LE32:                howto manager.      (line  876)
-* BFD_RELOC_ARM_TLS_TPOFF32:             howto manager.      (line  874)
-* BFD_RELOC_ARM_V4BX:                    howto manager.      (line  915)
-* BFD_RELOC_AVR_13_PCREL:                howto manager.      (line 1818)
-* BFD_RELOC_AVR_16_PM:                   howto manager.      (line 1822)
-* BFD_RELOC_AVR_6:                       howto manager.      (line 1909)
-* BFD_RELOC_AVR_6_ADIW:                  howto manager.      (line 1913)
-* BFD_RELOC_AVR_7_PCREL:                 howto manager.      (line 1814)
-* BFD_RELOC_AVR_8_HI:                    howto manager.      (line 1921)
-* BFD_RELOC_AVR_8_HLO:                   howto manager.      (line 1925)
-* BFD_RELOC_AVR_8_LO:                    howto manager.      (line 1917)
-* BFD_RELOC_AVR_CALL:                    howto manager.      (line 1901)
-* BFD_RELOC_AVR_DIFF16:                  howto manager.      (line 1930)
-* BFD_RELOC_AVR_DIFF32:                  howto manager.      (line 1931)
-* BFD_RELOC_AVR_DIFF8:                   howto manager.      (line 1929)
-* BFD_RELOC_AVR_HH8_LDI:                 howto manager.      (line 1834)
-* BFD_RELOC_AVR_HH8_LDI_NEG:             howto manager.      (line 1853)
-* BFD_RELOC_AVR_HH8_LDI_PM:              howto manager.      (line 1882)
-* BFD_RELOC_AVR_HH8_LDI_PM_NEG:          howto manager.      (line 1896)
-* BFD_RELOC_AVR_HI8_LDI:                 howto manager.      (line 1830)
-* BFD_RELOC_AVR_HI8_LDI_GS:              howto manager.      (line 1876)
-* BFD_RELOC_AVR_HI8_LDI_NEG:             howto manager.      (line 1848)
-* BFD_RELOC_AVR_HI8_LDI_PM:              howto manager.      (line 1872)
-* BFD_RELOC_AVR_HI8_LDI_PM_NEG:          howto manager.      (line 1891)
-* BFD_RELOC_AVR_LDI:                     howto manager.      (line 1905)
-* BFD_RELOC_AVR_LO8_LDI:                 howto manager.      (line 1826)
-* BFD_RELOC_AVR_LO8_LDI_GS:              howto manager.      (line 1866)
-* BFD_RELOC_AVR_LO8_LDI_NEG:             howto manager.      (line 1843)
-* BFD_RELOC_AVR_LO8_LDI_PM:              howto manager.      (line 1862)
-* BFD_RELOC_AVR_LO8_LDI_PM_NEG:          howto manager.      (line 1887)
-* BFD_RELOC_AVR_MS8_LDI:                 howto manager.      (line 1839)
-* BFD_RELOC_AVR_MS8_LDI_NEG:             howto manager.      (line 1858)
-* BFD_RELOC_BFIN_10_PCREL:               howto manager.      (line 1075)
-* BFD_RELOC_BFIN_11_PCREL:               howto manager.      (line 1078)
-* BFD_RELOC_BFIN_12_PCREL_JUMP:          howto manager.      (line 1081)
-* BFD_RELOC_BFIN_12_PCREL_JUMP_S:        howto manager.      (line 1084)
-* BFD_RELOC_BFIN_16_HIGH:                howto manager.      (line 1063)
-* BFD_RELOC_BFIN_16_IMM:                 howto manager.      (line 1060)
-* BFD_RELOC_BFIN_16_LOW:                 howto manager.      (line 1072)
-* BFD_RELOC_BFIN_24_PCREL_CALL_X:        howto manager.      (line 1087)
-* BFD_RELOC_BFIN_24_PCREL_JUMP_L:        howto manager.      (line 1090)
-* BFD_RELOC_BFIN_4_PCREL:                howto manager.      (line 1066)
-* BFD_RELOC_BFIN_5_PCREL:                howto manager.      (line 1069)
-* BFD_RELOC_BFIN_FUNCDESC:               howto manager.      (line 1096)
-* BFD_RELOC_BFIN_FUNCDESC_GOT17M4:       howto manager.      (line 1097)
-* BFD_RELOC_BFIN_FUNCDESC_GOTHI:         howto manager.      (line 1098)
-* BFD_RELOC_BFIN_FUNCDESC_GOTLO:         howto manager.      (line 1099)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4:    howto manager.      (line 1101)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI:      howto manager.      (line 1102)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO:      howto manager.      (line 1103)
-* BFD_RELOC_BFIN_FUNCDESC_VALUE:         howto manager.      (line 1100)
-* BFD_RELOC_BFIN_GOT:                    howto manager.      (line 1109)
-* BFD_RELOC_BFIN_GOT17M4:                howto manager.      (line 1093)
-* BFD_RELOC_BFIN_GOTHI:                  howto manager.      (line 1094)
-* BFD_RELOC_BFIN_GOTLO:                  howto manager.      (line 1095)
-* BFD_RELOC_BFIN_GOTOFF17M4:             howto manager.      (line 1104)
-* BFD_RELOC_BFIN_GOTOFFHI:               howto manager.      (line 1105)
-* BFD_RELOC_BFIN_GOTOFFLO:               howto manager.      (line 1106)
-* BFD_RELOC_BFIN_PLTPC:                  howto manager.      (line 1112)
-* BFD_RELOC_C6000_ABS_H16:               howto manager.      (line 1637)
-* BFD_RELOC_C6000_ABS_L16:               howto manager.      (line 1636)
-* BFD_RELOC_C6000_ABS_S16:               howto manager.      (line 1635)
-* BFD_RELOC_C6000_ALIGN:                 howto manager.      (line 1658)
-* BFD_RELOC_C6000_COPY:                  howto manager.      (line 1653)
-* BFD_RELOC_C6000_DSBT_INDEX:            howto manager.      (line 1651)
-* BFD_RELOC_C6000_EHTYPE:                howto manager.      (line 1655)
-* BFD_RELOC_C6000_FPHEAD:                howto manager.      (line 1659)
-* BFD_RELOC_C6000_JUMP_SLOT:             howto manager.      (line 1654)
-* BFD_RELOC_C6000_NOCMP:                 howto manager.      (line 1660)
-* BFD_RELOC_C6000_PCR_H16:               howto manager.      (line 1656)
-* BFD_RELOC_C6000_PCR_L16:               howto manager.      (line 1657)
-* BFD_RELOC_C6000_PCR_S10:               howto manager.      (line 1633)
-* BFD_RELOC_C6000_PCR_S12:               howto manager.      (line 1632)
-* BFD_RELOC_C6000_PCR_S21:               howto manager.      (line 1631)
-* BFD_RELOC_C6000_PCR_S7:                howto manager.      (line 1634)
-* BFD_RELOC_C6000_PREL31:                howto manager.      (line 1652)
-* BFD_RELOC_C6000_SBR_GOT_H16_W:         howto manager.      (line 1650)
-* BFD_RELOC_C6000_SBR_GOT_L16_W:         howto manager.      (line 1649)
-* BFD_RELOC_C6000_SBR_GOT_U15_W:         howto manager.      (line 1648)
-* BFD_RELOC_C6000_SBR_H16_B:             howto manager.      (line 1645)
-* BFD_RELOC_C6000_SBR_H16_H:             howto manager.      (line 1646)
-* BFD_RELOC_C6000_SBR_H16_W:             howto manager.      (line 1647)
-* BFD_RELOC_C6000_SBR_L16_B:             howto manager.      (line 1642)
-* BFD_RELOC_C6000_SBR_L16_H:             howto manager.      (line 1643)
-* BFD_RELOC_C6000_SBR_L16_W:             howto manager.      (line 1644)
-* BFD_RELOC_C6000_SBR_S16:               howto manager.      (line 1641)
-* BFD_RELOC_C6000_SBR_U15_B:             howto manager.      (line 1638)
-* BFD_RELOC_C6000_SBR_U15_H:             howto manager.      (line 1639)
-* BFD_RELOC_C6000_SBR_U15_W:             howto manager.      (line 1640)
+* BFD_RELOC_ARC_B22_PCREL:               howto manager.      (line 1056)
+* BFD_RELOC_ARC_B26:                     howto manager.      (line 1061)
+* BFD_RELOC_ARM_ADR_IMM:                 howto manager.      (line  942)
+* BFD_RELOC_ARM_ADRL_IMMEDIATE:          howto manager.      (line  928)
+* BFD_RELOC_ARM_ALU_PC_G0:               howto manager.      (line  892)
+* BFD_RELOC_ARM_ALU_PC_G0_NC:            howto manager.      (line  891)
+* BFD_RELOC_ARM_ALU_PC_G1:               howto manager.      (line  894)
+* BFD_RELOC_ARM_ALU_PC_G1_NC:            howto manager.      (line  893)
+* BFD_RELOC_ARM_ALU_PC_G2:               howto manager.      (line  895)
+* BFD_RELOC_ARM_ALU_SB_G0:               howto manager.      (line  906)
+* BFD_RELOC_ARM_ALU_SB_G0_NC:            howto manager.      (line  905)
+* BFD_RELOC_ARM_ALU_SB_G1:               howto manager.      (line  908)
+* BFD_RELOC_ARM_ALU_SB_G1_NC:            howto manager.      (line  907)
+* BFD_RELOC_ARM_ALU_SB_G2:               howto manager.      (line  909)
+* BFD_RELOC_ARM_CP_OFF_IMM:              howto manager.      (line  938)
+* BFD_RELOC_ARM_CP_OFF_IMM_S2:           howto manager.      (line  939)
+* BFD_RELOC_ARM_GLOB_DAT:                howto manager.      (line  866)
+* BFD_RELOC_ARM_GOT32:                   howto manager.      (line  867)
+* BFD_RELOC_ARM_GOT_PREL:                howto manager.      (line  872)
+* BFD_RELOC_ARM_GOTOFF:                  howto manager.      (line  870)
+* BFD_RELOC_ARM_GOTPC:                   howto manager.      (line  871)
+* BFD_RELOC_ARM_HVC:                     howto manager.      (line  935)
+* BFD_RELOC_ARM_HWLITERAL:               howto manager.      (line  949)
+* BFD_RELOC_ARM_IMMEDIATE:               howto manager.      (line  927)
+* BFD_RELOC_ARM_IN_POOL:                 howto manager.      (line  945)
+* BFD_RELOC_ARM_IRELATIVE:               howto manager.      (line  924)
+* BFD_RELOC_ARM_JUMP_SLOT:               howto manager.      (line  865)
+* BFD_RELOC_ARM_LDC_PC_G0:               howto manager.      (line  902)
+* BFD_RELOC_ARM_LDC_PC_G1:               howto manager.      (line  903)
+* BFD_RELOC_ARM_LDC_PC_G2:               howto manager.      (line  904)
+* BFD_RELOC_ARM_LDC_SB_G0:               howto manager.      (line  916)
+* BFD_RELOC_ARM_LDC_SB_G1:               howto manager.      (line  917)
+* BFD_RELOC_ARM_LDC_SB_G2:               howto manager.      (line  918)
+* BFD_RELOC_ARM_LDR_IMM:                 howto manager.      (line  943)
+* BFD_RELOC_ARM_LDR_PC_G0:               howto manager.      (line  896)
+* BFD_RELOC_ARM_LDR_PC_G1:               howto manager.      (line  897)
+* BFD_RELOC_ARM_LDR_PC_G2:               howto manager.      (line  898)
+* BFD_RELOC_ARM_LDR_SB_G0:               howto manager.      (line  910)
+* BFD_RELOC_ARM_LDR_SB_G1:               howto manager.      (line  911)
+* BFD_RELOC_ARM_LDR_SB_G2:               howto manager.      (line  912)
+* BFD_RELOC_ARM_LDRS_PC_G0:              howto manager.      (line  899)
+* BFD_RELOC_ARM_LDRS_PC_G1:              howto manager.      (line  900)
+* BFD_RELOC_ARM_LDRS_PC_G2:              howto manager.      (line  901)
+* BFD_RELOC_ARM_LDRS_SB_G0:              howto manager.      (line  913)
+* BFD_RELOC_ARM_LDRS_SB_G1:              howto manager.      (line  914)
+* BFD_RELOC_ARM_LDRS_SB_G2:              howto manager.      (line  915)
+* BFD_RELOC_ARM_LITERAL:                 howto manager.      (line  944)
+* BFD_RELOC_ARM_MOVT:                    howto manager.      (line  856)
+* BFD_RELOC_ARM_MOVT_PCREL:              howto manager.      (line  858)
+* BFD_RELOC_ARM_MOVW:                    howto manager.      (line  855)
+* BFD_RELOC_ARM_MOVW_PCREL:              howto manager.      (line  857)
+* BFD_RELOC_ARM_MULTI:                   howto manager.      (line  937)
+* BFD_RELOC_ARM_OFFSET_IMM:              howto manager.      (line  829)
+* BFD_RELOC_ARM_OFFSET_IMM8:             howto manager.      (line  946)
+* BFD_RELOC_ARM_PCREL_BLX:               howto manager.      (line  800)
+* BFD_RELOC_ARM_PCREL_BRANCH:            howto manager.      (line  796)
+* BFD_RELOC_ARM_PCREL_CALL:              howto manager.      (line  810)
+* BFD_RELOC_ARM_PCREL_JUMP:              howto manager.      (line  814)
+* BFD_RELOC_ARM_PLT32:                   howto manager.      (line  868)
+* BFD_RELOC_ARM_PREL31:                  howto manager.      (line  852)
+* BFD_RELOC_ARM_RELATIVE:                howto manager.      (line  869)
+* BFD_RELOC_ARM_ROSEGREL32:              howto manager.      (line  841)
+* BFD_RELOC_ARM_SBREL32:                 howto manager.      (line  844)
+* BFD_RELOC_ARM_SHIFT_IMM:               howto manager.      (line  933)
+* BFD_RELOC_ARM_SMC:                     howto manager.      (line  934)
+* BFD_RELOC_ARM_SWI:                     howto manager.      (line  936)
+* BFD_RELOC_ARM_T32_ADD_IMM:             howto manager.      (line  930)
+* BFD_RELOC_ARM_T32_ADD_PC12:            howto manager.      (line  932)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM:          howto manager.      (line  940)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2:       howto manager.      (line  941)
+* BFD_RELOC_ARM_T32_IMM12:               howto manager.      (line  931)
+* BFD_RELOC_ARM_T32_IMMEDIATE:           howto manager.      (line  929)
+* BFD_RELOC_ARM_T32_OFFSET_IMM:          howto manager.      (line  948)
+* BFD_RELOC_ARM_T32_OFFSET_U8:           howto manager.      (line  947)
+* BFD_RELOC_ARM_TARGET1:                 howto manager.      (line  837)
+* BFD_RELOC_ARM_TARGET2:                 howto manager.      (line  847)
+* BFD_RELOC_ARM_THM_TLS_CALL:            howto manager.      (line  885)
+* BFD_RELOC_ARM_THM_TLS_DESCSEQ:         howto manager.      (line  887)
+* BFD_RELOC_ARM_THUMB_ADD:               howto manager.      (line  950)
+* BFD_RELOC_ARM_THUMB_IMM:               howto manager.      (line  951)
+* BFD_RELOC_ARM_THUMB_MOVT:              howto manager.      (line  860)
+* BFD_RELOC_ARM_THUMB_MOVT_PCREL:        howto manager.      (line  862)
+* BFD_RELOC_ARM_THUMB_MOVW:              howto manager.      (line  859)
+* BFD_RELOC_ARM_THUMB_MOVW_PCREL:        howto manager.      (line  861)
+* BFD_RELOC_ARM_THUMB_OFFSET:            howto manager.      (line  833)
+* BFD_RELOC_ARM_THUMB_SHIFT:             howto manager.      (line  952)
+* BFD_RELOC_ARM_TLS_CALL:                howto manager.      (line  884)
+* BFD_RELOC_ARM_TLS_DESC:                howto manager.      (line  888)
+* BFD_RELOC_ARM_TLS_DESCSEQ:             howto manager.      (line  886)
+* BFD_RELOC_ARM_TLS_DTPMOD32:            howto manager.      (line  879)
+* BFD_RELOC_ARM_TLS_DTPOFF32:            howto manager.      (line  878)
+* BFD_RELOC_ARM_TLS_GD32:                howto manager.      (line  875)
+* BFD_RELOC_ARM_TLS_GOTDESC:             howto manager.      (line  883)
+* BFD_RELOC_ARM_TLS_IE32:                howto manager.      (line  881)
+* BFD_RELOC_ARM_TLS_LDM32:               howto manager.      (line  877)
+* BFD_RELOC_ARM_TLS_LDO32:               howto manager.      (line  876)
+* BFD_RELOC_ARM_TLS_LE32:                howto manager.      (line  882)
+* BFD_RELOC_ARM_TLS_TPOFF32:             howto manager.      (line  880)
+* BFD_RELOC_ARM_V4BX:                    howto manager.      (line  921)
+* BFD_RELOC_AVR_13_PCREL:                howto manager.      (line 1851)
+* BFD_RELOC_AVR_16_PM:                   howto manager.      (line 1855)
+* BFD_RELOC_AVR_6:                       howto manager.      (line 1942)
+* BFD_RELOC_AVR_6_ADIW:                  howto manager.      (line 1946)
+* BFD_RELOC_AVR_7_PCREL:                 howto manager.      (line 1847)
+* BFD_RELOC_AVR_8_HI:                    howto manager.      (line 1954)
+* BFD_RELOC_AVR_8_HLO:                   howto manager.      (line 1958)
+* BFD_RELOC_AVR_8_LO:                    howto manager.      (line 1950)
+* BFD_RELOC_AVR_CALL:                    howto manager.      (line 1934)
+* BFD_RELOC_AVR_DIFF16:                  howto manager.      (line 1963)
+* BFD_RELOC_AVR_DIFF32:                  howto manager.      (line 1964)
+* BFD_RELOC_AVR_DIFF8:                   howto manager.      (line 1962)
+* BFD_RELOC_AVR_HH8_LDI:                 howto manager.      (line 1867)
+* BFD_RELOC_AVR_HH8_LDI_NEG:             howto manager.      (line 1886)
+* BFD_RELOC_AVR_HH8_LDI_PM:              howto manager.      (line 1915)
+* BFD_RELOC_AVR_HH8_LDI_PM_NEG:          howto manager.      (line 1929)
+* BFD_RELOC_AVR_HI8_LDI:                 howto manager.      (line 1863)
+* BFD_RELOC_AVR_HI8_LDI_GS:              howto manager.      (line 1909)
+* BFD_RELOC_AVR_HI8_LDI_NEG:             howto manager.      (line 1881)
+* BFD_RELOC_AVR_HI8_LDI_PM:              howto manager.      (line 1905)
+* BFD_RELOC_AVR_HI8_LDI_PM_NEG:          howto manager.      (line 1924)
+* BFD_RELOC_AVR_LDI:                     howto manager.      (line 1938)
+* BFD_RELOC_AVR_LDS_STS_16:              howto manager.      (line 1972)
+* BFD_RELOC_AVR_LO8_LDI:                 howto manager.      (line 1859)
+* BFD_RELOC_AVR_LO8_LDI_GS:              howto manager.      (line 1899)
+* BFD_RELOC_AVR_LO8_LDI_NEG:             howto manager.      (line 1876)
+* BFD_RELOC_AVR_LO8_LDI_PM:              howto manager.      (line 1895)
+* BFD_RELOC_AVR_LO8_LDI_PM_NEG:          howto manager.      (line 1920)
+* BFD_RELOC_AVR_MS8_LDI:                 howto manager.      (line 1872)
+* BFD_RELOC_AVR_MS8_LDI_NEG:             howto manager.      (line 1891)
+* BFD_RELOC_AVR_PORT5:                   howto manager.      (line 1980)
+* BFD_RELOC_AVR_PORT6:                   howto manager.      (line 1976)
+* BFD_RELOC_BFIN_10_PCREL:               howto manager.      (line 1081)
+* BFD_RELOC_BFIN_11_PCREL:               howto manager.      (line 1084)
+* BFD_RELOC_BFIN_12_PCREL_JUMP:          howto manager.      (line 1087)
+* BFD_RELOC_BFIN_12_PCREL_JUMP_S:        howto manager.      (line 1090)
+* BFD_RELOC_BFIN_16_HIGH:                howto manager.      (line 1069)
+* BFD_RELOC_BFIN_16_IMM:                 howto manager.      (line 1066)
+* BFD_RELOC_BFIN_16_LOW:                 howto manager.      (line 1078)
+* BFD_RELOC_BFIN_24_PCREL_CALL_X:        howto manager.      (line 1093)
+* BFD_RELOC_BFIN_24_PCREL_JUMP_L:        howto manager.      (line 1096)
+* BFD_RELOC_BFIN_4_PCREL:                howto manager.      (line 1072)
+* BFD_RELOC_BFIN_5_PCREL:                howto manager.      (line 1075)
+* BFD_RELOC_BFIN_FUNCDESC:               howto manager.      (line 1102)
+* BFD_RELOC_BFIN_FUNCDESC_GOT17M4:       howto manager.      (line 1103)
+* BFD_RELOC_BFIN_FUNCDESC_GOTHI:         howto manager.      (line 1104)
+* BFD_RELOC_BFIN_FUNCDESC_GOTLO:         howto manager.      (line 1105)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4:    howto manager.      (line 1107)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI:      howto manager.      (line 1108)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO:      howto manager.      (line 1109)
+* BFD_RELOC_BFIN_FUNCDESC_VALUE:         howto manager.      (line 1106)
+* BFD_RELOC_BFIN_GOT:                    howto manager.      (line 1115)
+* BFD_RELOC_BFIN_GOT17M4:                howto manager.      (line 1099)
+* BFD_RELOC_BFIN_GOTHI:                  howto manager.      (line 1100)
+* BFD_RELOC_BFIN_GOTLO:                  howto manager.      (line 1101)
+* BFD_RELOC_BFIN_GOTOFF17M4:             howto manager.      (line 1110)
+* BFD_RELOC_BFIN_GOTOFFHI:               howto manager.      (line 1111)
+* BFD_RELOC_BFIN_GOTOFFLO:               howto manager.      (line 1112)
+* BFD_RELOC_BFIN_PLTPC:                  howto manager.      (line 1118)
+* BFD_RELOC_C6000_ABS_H16:               howto manager.      (line 1670)
+* BFD_RELOC_C6000_ABS_L16:               howto manager.      (line 1669)
+* BFD_RELOC_C6000_ABS_S16:               howto manager.      (line 1668)
+* BFD_RELOC_C6000_ALIGN:                 howto manager.      (line 1691)
+* BFD_RELOC_C6000_COPY:                  howto manager.      (line 1686)
+* BFD_RELOC_C6000_DSBT_INDEX:            howto manager.      (line 1684)
+* BFD_RELOC_C6000_EHTYPE:                howto manager.      (line 1688)
+* BFD_RELOC_C6000_FPHEAD:                howto manager.      (line 1692)
+* BFD_RELOC_C6000_JUMP_SLOT:             howto manager.      (line 1687)
+* BFD_RELOC_C6000_NOCMP:                 howto manager.      (line 1693)
+* BFD_RELOC_C6000_PCR_H16:               howto manager.      (line 1689)
+* BFD_RELOC_C6000_PCR_L16:               howto manager.      (line 1690)
+* BFD_RELOC_C6000_PCR_S10:               howto manager.      (line 1666)
+* BFD_RELOC_C6000_PCR_S12:               howto manager.      (line 1665)
+* BFD_RELOC_C6000_PCR_S21:               howto manager.      (line 1664)
+* BFD_RELOC_C6000_PCR_S7:                howto manager.      (line 1667)
+* BFD_RELOC_C6000_PREL31:                howto manager.      (line 1685)
+* BFD_RELOC_C6000_SBR_GOT_H16_W:         howto manager.      (line 1683)
+* BFD_RELOC_C6000_SBR_GOT_L16_W:         howto manager.      (line 1682)
+* BFD_RELOC_C6000_SBR_GOT_U15_W:         howto manager.      (line 1681)
+* BFD_RELOC_C6000_SBR_H16_B:             howto manager.      (line 1678)
+* BFD_RELOC_C6000_SBR_H16_H:             howto manager.      (line 1679)
+* BFD_RELOC_C6000_SBR_H16_W:             howto manager.      (line 1680)
+* BFD_RELOC_C6000_SBR_L16_B:             howto manager.      (line 1675)
+* BFD_RELOC_C6000_SBR_L16_H:             howto manager.      (line 1676)
+* BFD_RELOC_C6000_SBR_L16_W:             howto manager.      (line 1677)
+* BFD_RELOC_C6000_SBR_S16:               howto manager.      (line 1674)
+* BFD_RELOC_C6000_SBR_U15_B:             howto manager.      (line 1671)
+* BFD_RELOC_C6000_SBR_U15_H:             howto manager.      (line 1672)
+* BFD_RELOC_C6000_SBR_U15_W:             howto manager.      (line 1673)
 * bfd_reloc_code_type:                   howto manager.      (line   10)
-* BFD_RELOC_CR16_ABS20:                  howto manager.      (line 2448)
-* BFD_RELOC_CR16_ABS24:                  howto manager.      (line 2449)
-* BFD_RELOC_CR16_DISP16:                 howto manager.      (line 2459)
-* BFD_RELOC_CR16_DISP20:                 howto manager.      (line 2460)
-* BFD_RELOC_CR16_DISP24:                 howto manager.      (line 2461)
-* BFD_RELOC_CR16_DISP24a:                howto manager.      (line 2462)
-* BFD_RELOC_CR16_DISP4:                  howto manager.      (line 2457)
-* BFD_RELOC_CR16_DISP8:                  howto manager.      (line 2458)
-* BFD_RELOC_CR16_GLOB_DAT:               howto manager.      (line 2468)
-* BFD_RELOC_CR16_GOT_REGREL20:           howto manager.      (line 2466)
-* BFD_RELOC_CR16_GOTC_REGREL20:          howto manager.      (line 2467)
-* BFD_RELOC_CR16_IMM16:                  howto manager.      (line 2452)
-* BFD_RELOC_CR16_IMM20:                  howto manager.      (line 2453)
-* BFD_RELOC_CR16_IMM24:                  howto manager.      (line 2454)
-* BFD_RELOC_CR16_IMM32:                  howto manager.      (line 2455)
-* BFD_RELOC_CR16_IMM32a:                 howto manager.      (line 2456)
-* BFD_RELOC_CR16_IMM4:                   howto manager.      (line 2450)
-* BFD_RELOC_CR16_IMM8:                   howto manager.      (line 2451)
-* BFD_RELOC_CR16_NUM16:                  howto manager.      (line 2437)
-* BFD_RELOC_CR16_NUM32:                  howto manager.      (line 2438)
-* BFD_RELOC_CR16_NUM32a:                 howto manager.      (line 2439)
-* BFD_RELOC_CR16_NUM8:                   howto manager.      (line 2436)
-* BFD_RELOC_CR16_REGREL0:                howto manager.      (line 2440)
-* BFD_RELOC_CR16_REGREL14:               howto manager.      (line 2443)
-* BFD_RELOC_CR16_REGREL14a:              howto manager.      (line 2444)
-* BFD_RELOC_CR16_REGREL16:               howto manager.      (line 2445)
-* BFD_RELOC_CR16_REGREL20:               howto manager.      (line 2446)
-* BFD_RELOC_CR16_REGREL20a:              howto manager.      (line 2447)
-* BFD_RELOC_CR16_REGREL4:                howto manager.      (line 2441)
-* BFD_RELOC_CR16_REGREL4a:               howto manager.      (line 2442)
-* BFD_RELOC_CR16_SWITCH16:               howto manager.      (line 2464)
-* BFD_RELOC_CR16_SWITCH32:               howto manager.      (line 2465)
-* BFD_RELOC_CR16_SWITCH8:                howto manager.      (line 2463)
-* BFD_RELOC_CRIS_16_DTPREL:              howto manager.      (line 2539)
-* BFD_RELOC_CRIS_16_GOT:                 howto manager.      (line 2515)
-* BFD_RELOC_CRIS_16_GOT_GD:              howto manager.      (line 2535)
-* BFD_RELOC_CRIS_16_GOT_TPREL:           howto manager.      (line 2541)
-* BFD_RELOC_CRIS_16_GOTPLT:              howto manager.      (line 2521)
-* BFD_RELOC_CRIS_16_TPREL:               howto manager.      (line 2543)
-* BFD_RELOC_CRIS_32_DTPREL:              howto manager.      (line 2538)
-* BFD_RELOC_CRIS_32_GD:                  howto manager.      (line 2536)
-* BFD_RELOC_CRIS_32_GOT:                 howto manager.      (line 2512)
-* BFD_RELOC_CRIS_32_GOT_GD:              howto manager.      (line 2534)
-* BFD_RELOC_CRIS_32_GOT_TPREL:           howto manager.      (line 2540)
-* BFD_RELOC_CRIS_32_GOTPLT:              howto manager.      (line 2518)
-* BFD_RELOC_CRIS_32_GOTREL:              howto manager.      (line 2524)
-* BFD_RELOC_CRIS_32_IE:                  howto manager.      (line 2545)
-* BFD_RELOC_CRIS_32_PLT_GOTREL:          howto manager.      (line 2527)
-* BFD_RELOC_CRIS_32_PLT_PCREL:           howto manager.      (line 2530)
-* BFD_RELOC_CRIS_32_TPREL:               howto manager.      (line 2542)
-* BFD_RELOC_CRIS_BDISP8:                 howto manager.      (line 2493)
-* BFD_RELOC_CRIS_COPY:                   howto manager.      (line 2506)
-* BFD_RELOC_CRIS_DTP:                    howto manager.      (line 2537)
-* BFD_RELOC_CRIS_DTPMOD:                 howto manager.      (line 2544)
-* BFD_RELOC_CRIS_GLOB_DAT:               howto manager.      (line 2507)
-* BFD_RELOC_CRIS_JUMP_SLOT:              howto manager.      (line 2508)
-* BFD_RELOC_CRIS_LAPCQ_OFFSET:           howto manager.      (line 2501)
-* BFD_RELOC_CRIS_RELATIVE:               howto manager.      (line 2509)
-* BFD_RELOC_CRIS_SIGNED_16:              howto manager.      (line 2499)
-* BFD_RELOC_CRIS_SIGNED_6:               howto manager.      (line 2495)
-* BFD_RELOC_CRIS_SIGNED_8:               howto manager.      (line 2497)
-* BFD_RELOC_CRIS_UNSIGNED_16:            howto manager.      (line 2500)
-* BFD_RELOC_CRIS_UNSIGNED_4:             howto manager.      (line 2502)
-* BFD_RELOC_CRIS_UNSIGNED_5:             howto manager.      (line 2494)
-* BFD_RELOC_CRIS_UNSIGNED_6:             howto manager.      (line 2496)
-* BFD_RELOC_CRIS_UNSIGNED_8:             howto manager.      (line 2498)
-* BFD_RELOC_CRX_ABS16:                   howto manager.      (line 2481)
-* BFD_RELOC_CRX_ABS32:                   howto manager.      (line 2482)
-* BFD_RELOC_CRX_IMM16:                   howto manager.      (line 2486)
-* BFD_RELOC_CRX_IMM32:                   howto manager.      (line 2487)
-* BFD_RELOC_CRX_NUM16:                   howto manager.      (line 2484)
-* BFD_RELOC_CRX_NUM32:                   howto manager.      (line 2485)
-* BFD_RELOC_CRX_NUM8:                    howto manager.      (line 2483)
-* BFD_RELOC_CRX_REGREL12:                howto manager.      (line 2477)
-* BFD_RELOC_CRX_REGREL22:                howto manager.      (line 2478)
-* BFD_RELOC_CRX_REGREL28:                howto manager.      (line 2479)
-* BFD_RELOC_CRX_REGREL32:                howto manager.      (line 2480)
-* BFD_RELOC_CRX_REL16:                   howto manager.      (line 2474)
-* BFD_RELOC_CRX_REL24:                   howto manager.      (line 2475)
-* BFD_RELOC_CRX_REL32:                   howto manager.      (line 2476)
-* BFD_RELOC_CRX_REL4:                    howto manager.      (line 2471)
-* BFD_RELOC_CRX_REL8:                    howto manager.      (line 2472)
-* BFD_RELOC_CRX_REL8_CMP:                howto manager.      (line 2473)
-* BFD_RELOC_CRX_SWITCH16:                howto manager.      (line 2489)
-* BFD_RELOC_CRX_SWITCH32:                howto manager.      (line 2490)
-* BFD_RELOC_CRX_SWITCH8:                 howto manager.      (line 2488)
-* BFD_RELOC_CTOR:                        howto manager.      (line  784)
-* BFD_RELOC_D10V_10_PCREL_L:             howto manager.      (line 1179)
-* BFD_RELOC_D10V_10_PCREL_R:             howto manager.      (line 1175)
-* BFD_RELOC_D10V_18:                     howto manager.      (line 1184)
-* BFD_RELOC_D10V_18_PCREL:               howto manager.      (line 1187)
-* BFD_RELOC_D30V_15:                     howto manager.      (line 1202)
-* BFD_RELOC_D30V_15_PCREL:               howto manager.      (line 1206)
-* BFD_RELOC_D30V_15_PCREL_R:             howto manager.      (line 1210)
-* BFD_RELOC_D30V_21:                     howto manager.      (line 1215)
-* BFD_RELOC_D30V_21_PCREL:               howto manager.      (line 1219)
-* BFD_RELOC_D30V_21_PCREL_R:             howto manager.      (line 1223)
-* BFD_RELOC_D30V_32:                     howto manager.      (line 1228)
-* BFD_RELOC_D30V_32_PCREL:               howto manager.      (line 1231)
-* BFD_RELOC_D30V_6:                      howto manager.      (line 1190)
-* BFD_RELOC_D30V_9_PCREL:                howto manager.      (line 1193)
-* BFD_RELOC_D30V_9_PCREL_R:              howto manager.      (line 1197)
-* BFD_RELOC_DLX_HI16_S:                  howto manager.      (line 1234)
-* BFD_RELOC_DLX_JMP26:                   howto manager.      (line 1240)
-* BFD_RELOC_DLX_LO16:                    howto manager.      (line 1237)
-* BFD_RELOC_EPIPHANY_HIGH:               howto manager.      (line 3449)
-* BFD_RELOC_EPIPHANY_IMM11:              howto manager.      (line 3458)
-* BFD_RELOC_EPIPHANY_IMM8:               howto manager.      (line 3462)
-* BFD_RELOC_EPIPHANY_LOW:                howto manager.      (line 3452)
-* BFD_RELOC_EPIPHANY_SIMM11:             howto manager.      (line 3455)
-* BFD_RELOC_EPIPHANY_SIMM24:             howto manager.      (line 3446)
-* BFD_RELOC_EPIPHANY_SIMM8:              howto manager.      (line 3443)
-* BFD_RELOC_FR30_10_IN_8:                howto manager.      (line 1682)
-* BFD_RELOC_FR30_12_PCREL:               howto manager.      (line 1690)
-* BFD_RELOC_FR30_20:                     howto manager.      (line 1666)
-* BFD_RELOC_FR30_48:                     howto manager.      (line 1663)
-* BFD_RELOC_FR30_6_IN_4:                 howto manager.      (line 1670)
-* BFD_RELOC_FR30_8_IN_8:                 howto manager.      (line 1674)
-* BFD_RELOC_FR30_9_IN_8:                 howto manager.      (line 1678)
-* BFD_RELOC_FR30_9_PCREL:                howto manager.      (line 1686)
-* BFD_RELOC_FRV_FUNCDESC:                howto manager.      (line  491)
-* BFD_RELOC_FRV_FUNCDESC_GOT12:          howto manager.      (line  492)
-* BFD_RELOC_FRV_FUNCDESC_GOTHI:          howto manager.      (line  493)
-* BFD_RELOC_FRV_FUNCDESC_GOTLO:          howto manager.      (line  494)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFF12:       howto manager.      (line  496)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFFHI:       howto manager.      (line  497)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFFLO:       howto manager.      (line  498)
-* BFD_RELOC_FRV_FUNCDESC_VALUE:          howto manager.      (line  495)
-* BFD_RELOC_FRV_GETTLSOFF:               howto manager.      (line  502)
-* BFD_RELOC_FRV_GETTLSOFF_RELAX:         howto manager.      (line  515)
-* BFD_RELOC_FRV_GOT12:                   howto manager.      (line  488)
-* BFD_RELOC_FRV_GOTHI:                   howto manager.      (line  489)
-* BFD_RELOC_FRV_GOTLO:                   howto manager.      (line  490)
-* BFD_RELOC_FRV_GOTOFF12:                howto manager.      (line  499)
-* BFD_RELOC_FRV_GOTOFFHI:                howto manager.      (line  500)
-* BFD_RELOC_FRV_GOTOFFLO:                howto manager.      (line  501)
-* BFD_RELOC_FRV_GOTTLSDESC12:            howto manager.      (line  504)
-* BFD_RELOC_FRV_GOTTLSDESCHI:            howto manager.      (line  505)
-* BFD_RELOC_FRV_GOTTLSDESCLO:            howto manager.      (line  506)
-* BFD_RELOC_FRV_GOTTLSOFF12:             howto manager.      (line  510)
-* BFD_RELOC_FRV_GOTTLSOFFHI:             howto manager.      (line  511)
-* BFD_RELOC_FRV_GOTTLSOFFLO:             howto manager.      (line  512)
-* BFD_RELOC_FRV_GPREL12:                 howto manager.      (line  483)
-* BFD_RELOC_FRV_GPREL32:                 howto manager.      (line  485)
-* BFD_RELOC_FRV_GPRELHI:                 howto manager.      (line  486)
-* BFD_RELOC_FRV_GPRELLO:                 howto manager.      (line  487)
-* BFD_RELOC_FRV_GPRELU12:                howto manager.      (line  484)
-* BFD_RELOC_FRV_HI16:                    howto manager.      (line  482)
-* BFD_RELOC_FRV_LABEL16:                 howto manager.      (line  479)
-* BFD_RELOC_FRV_LABEL24:                 howto manager.      (line  480)
-* BFD_RELOC_FRV_LO16:                    howto manager.      (line  481)
-* BFD_RELOC_FRV_TLSDESC_RELAX:           howto manager.      (line  514)
-* BFD_RELOC_FRV_TLSDESC_VALUE:           howto manager.      (line  503)
-* BFD_RELOC_FRV_TLSMOFF:                 howto manager.      (line  517)
-* BFD_RELOC_FRV_TLSMOFF12:               howto manager.      (line  507)
-* BFD_RELOC_FRV_TLSMOFFHI:               howto manager.      (line  508)
-* BFD_RELOC_FRV_TLSMOFFLO:               howto manager.      (line  509)
-* BFD_RELOC_FRV_TLSOFF:                  howto manager.      (line  513)
-* BFD_RELOC_FRV_TLSOFF_RELAX:            howto manager.      (line  516)
+* BFD_RELOC_CR16_ABS20:                  howto manager.      (line 2493)
+* BFD_RELOC_CR16_ABS24:                  howto manager.      (line 2494)
+* BFD_RELOC_CR16_DISP16:                 howto manager.      (line 2504)
+* BFD_RELOC_CR16_DISP20:                 howto manager.      (line 2505)
+* BFD_RELOC_CR16_DISP24:                 howto manager.      (line 2506)
+* BFD_RELOC_CR16_DISP24a:                howto manager.      (line 2507)
+* BFD_RELOC_CR16_DISP4:                  howto manager.      (line 2502)
+* BFD_RELOC_CR16_DISP8:                  howto manager.      (line 2503)
+* BFD_RELOC_CR16_GLOB_DAT:               howto manager.      (line 2513)
+* BFD_RELOC_CR16_GOT_REGREL20:           howto manager.      (line 2511)
+* BFD_RELOC_CR16_GOTC_REGREL20:          howto manager.      (line 2512)
+* BFD_RELOC_CR16_IMM16:                  howto manager.      (line 2497)
+* BFD_RELOC_CR16_IMM20:                  howto manager.      (line 2498)
+* BFD_RELOC_CR16_IMM24:                  howto manager.      (line 2499)
+* BFD_RELOC_CR16_IMM32:                  howto manager.      (line 2500)
+* BFD_RELOC_CR16_IMM32a:                 howto manager.      (line 2501)
+* BFD_RELOC_CR16_IMM4:                   howto manager.      (line 2495)
+* BFD_RELOC_CR16_IMM8:                   howto manager.      (line 2496)
+* BFD_RELOC_CR16_NUM16:                  howto manager.      (line 2482)
+* BFD_RELOC_CR16_NUM32:                  howto manager.      (line 2483)
+* BFD_RELOC_CR16_NUM32a:                 howto manager.      (line 2484)
+* BFD_RELOC_CR16_NUM8:                   howto manager.      (line 2481)
+* BFD_RELOC_CR16_REGREL0:                howto manager.      (line 2485)
+* BFD_RELOC_CR16_REGREL14:               howto manager.      (line 2488)
+* BFD_RELOC_CR16_REGREL14a:              howto manager.      (line 2489)
+* BFD_RELOC_CR16_REGREL16:               howto manager.      (line 2490)
+* BFD_RELOC_CR16_REGREL20:               howto manager.      (line 2491)
+* BFD_RELOC_CR16_REGREL20a:              howto manager.      (line 2492)
+* BFD_RELOC_CR16_REGREL4:                howto manager.      (line 2486)
+* BFD_RELOC_CR16_REGREL4a:               howto manager.      (line 2487)
+* BFD_RELOC_CR16_SWITCH16:               howto manager.      (line 2509)
+* BFD_RELOC_CR16_SWITCH32:               howto manager.      (line 2510)
+* BFD_RELOC_CR16_SWITCH8:                howto manager.      (line 2508)
+* BFD_RELOC_CRIS_16_DTPREL:              howto manager.      (line 2584)
+* BFD_RELOC_CRIS_16_GOT:                 howto manager.      (line 2560)
+* BFD_RELOC_CRIS_16_GOT_GD:              howto manager.      (line 2580)
+* BFD_RELOC_CRIS_16_GOT_TPREL:           howto manager.      (line 2586)
+* BFD_RELOC_CRIS_16_GOTPLT:              howto manager.      (line 2566)
+* BFD_RELOC_CRIS_16_TPREL:               howto manager.      (line 2588)
+* BFD_RELOC_CRIS_32_DTPREL:              howto manager.      (line 2583)
+* BFD_RELOC_CRIS_32_GD:                  howto manager.      (line 2581)
+* BFD_RELOC_CRIS_32_GOT:                 howto manager.      (line 2557)
+* BFD_RELOC_CRIS_32_GOT_GD:              howto manager.      (line 2579)
+* BFD_RELOC_CRIS_32_GOT_TPREL:           howto manager.      (line 2585)
+* BFD_RELOC_CRIS_32_GOTPLT:              howto manager.      (line 2563)
+* BFD_RELOC_CRIS_32_GOTREL:              howto manager.      (line 2569)
+* BFD_RELOC_CRIS_32_IE:                  howto manager.      (line 2590)
+* BFD_RELOC_CRIS_32_PLT_GOTREL:          howto manager.      (line 2572)
+* BFD_RELOC_CRIS_32_PLT_PCREL:           howto manager.      (line 2575)
+* BFD_RELOC_CRIS_32_TPREL:               howto manager.      (line 2587)
+* BFD_RELOC_CRIS_BDISP8:                 howto manager.      (line 2538)
+* BFD_RELOC_CRIS_COPY:                   howto manager.      (line 2551)
+* BFD_RELOC_CRIS_DTP:                    howto manager.      (line 2582)
+* BFD_RELOC_CRIS_DTPMOD:                 howto manager.      (line 2589)
+* BFD_RELOC_CRIS_GLOB_DAT:               howto manager.      (line 2552)
+* BFD_RELOC_CRIS_JUMP_SLOT:              howto manager.      (line 2553)
+* BFD_RELOC_CRIS_LAPCQ_OFFSET:           howto manager.      (line 2546)
+* BFD_RELOC_CRIS_RELATIVE:               howto manager.      (line 2554)
+* BFD_RELOC_CRIS_SIGNED_16:              howto manager.      (line 2544)
+* BFD_RELOC_CRIS_SIGNED_6:               howto manager.      (line 2540)
+* BFD_RELOC_CRIS_SIGNED_8:               howto manager.      (line 2542)
+* BFD_RELOC_CRIS_UNSIGNED_16:            howto manager.      (line 2545)
+* BFD_RELOC_CRIS_UNSIGNED_4:             howto manager.      (line 2547)
+* BFD_RELOC_CRIS_UNSIGNED_5:             howto manager.      (line 2539)
+* BFD_RELOC_CRIS_UNSIGNED_6:             howto manager.      (line 2541)
+* BFD_RELOC_CRIS_UNSIGNED_8:             howto manager.      (line 2543)
+* BFD_RELOC_CRX_ABS16:                   howto manager.      (line 2526)
+* BFD_RELOC_CRX_ABS32:                   howto manager.      (line 2527)
+* BFD_RELOC_CRX_IMM16:                   howto manager.      (line 2531)
+* BFD_RELOC_CRX_IMM32:                   howto manager.      (line 2532)
+* BFD_RELOC_CRX_NUM16:                   howto manager.      (line 2529)
+* BFD_RELOC_CRX_NUM32:                   howto manager.      (line 2530)
+* BFD_RELOC_CRX_NUM8:                    howto manager.      (line 2528)
+* BFD_RELOC_CRX_REGREL12:                howto manager.      (line 2522)
+* BFD_RELOC_CRX_REGREL22:                howto manager.      (line 2523)
+* BFD_RELOC_CRX_REGREL28:                howto manager.      (line 2524)
+* BFD_RELOC_CRX_REGREL32:                howto manager.      (line 2525)
+* BFD_RELOC_CRX_REL16:                   howto manager.      (line 2519)
+* BFD_RELOC_CRX_REL24:                   howto manager.      (line 2520)
+* BFD_RELOC_CRX_REL32:                   howto manager.      (line 2521)
+* BFD_RELOC_CRX_REL4:                    howto manager.      (line 2516)
+* BFD_RELOC_CRX_REL8:                    howto manager.      (line 2517)
+* BFD_RELOC_CRX_REL8_CMP:                howto manager.      (line 2518)
+* BFD_RELOC_CRX_SWITCH16:                howto manager.      (line 2534)
+* BFD_RELOC_CRX_SWITCH32:                howto manager.      (line 2535)
+* BFD_RELOC_CRX_SWITCH8:                 howto manager.      (line 2533)
+* BFD_RELOC_CTOR:                        howto manager.      (line  790)
+* BFD_RELOC_D10V_10_PCREL_L:             howto manager.      (line 1185)
+* BFD_RELOC_D10V_10_PCREL_R:             howto manager.      (line 1181)
+* BFD_RELOC_D10V_18:                     howto manager.      (line 1190)
+* BFD_RELOC_D10V_18_PCREL:               howto manager.      (line 1193)
+* BFD_RELOC_D30V_15:                     howto manager.      (line 1208)
+* BFD_RELOC_D30V_15_PCREL:               howto manager.      (line 1212)
+* BFD_RELOC_D30V_15_PCREL_R:             howto manager.      (line 1216)
+* BFD_RELOC_D30V_21:                     howto manager.      (line 1221)
+* BFD_RELOC_D30V_21_PCREL:               howto manager.      (line 1225)
+* BFD_RELOC_D30V_21_PCREL_R:             howto manager.      (line 1229)
+* BFD_RELOC_D30V_32:                     howto manager.      (line 1234)
+* BFD_RELOC_D30V_32_PCREL:               howto manager.      (line 1237)
+* BFD_RELOC_D30V_6:                      howto manager.      (line 1196)
+* BFD_RELOC_D30V_9_PCREL:                howto manager.      (line 1199)
+* BFD_RELOC_D30V_9_PCREL_R:              howto manager.      (line 1203)
+* BFD_RELOC_DLX_HI16_S:                  howto manager.      (line 1240)
+* BFD_RELOC_DLX_JMP26:                   howto manager.      (line 1246)
+* BFD_RELOC_DLX_LO16:                    howto manager.      (line 1243)
+* BFD_RELOC_EPIPHANY_HIGH:               howto manager.      (line 3494)
+* BFD_RELOC_EPIPHANY_IMM11:              howto manager.      (line 3503)
+* BFD_RELOC_EPIPHANY_IMM8:               howto manager.      (line 3507)
+* BFD_RELOC_EPIPHANY_LOW:                howto manager.      (line 3497)
+* BFD_RELOC_EPIPHANY_SIMM11:             howto manager.      (line 3500)
+* BFD_RELOC_EPIPHANY_SIMM24:             howto manager.      (line 3491)
+* BFD_RELOC_EPIPHANY_SIMM8:              howto manager.      (line 3488)
+* BFD_RELOC_FR30_10_IN_8:                howto manager.      (line 1715)
+* BFD_RELOC_FR30_12_PCREL:               howto manager.      (line 1723)
+* BFD_RELOC_FR30_20:                     howto manager.      (line 1699)
+* BFD_RELOC_FR30_48:                     howto manager.      (line 1696)
+* BFD_RELOC_FR30_6_IN_4:                 howto manager.      (line 1703)
+* BFD_RELOC_FR30_8_IN_8:                 howto manager.      (line 1707)
+* BFD_RELOC_FR30_9_IN_8:                 howto manager.      (line 1711)
+* BFD_RELOC_FR30_9_PCREL:                howto manager.      (line 1719)
+* BFD_RELOC_FRV_FUNCDESC:                howto manager.      (line  497)
+* BFD_RELOC_FRV_FUNCDESC_GOT12:          howto manager.      (line  498)
+* BFD_RELOC_FRV_FUNCDESC_GOTHI:          howto manager.      (line  499)
+* BFD_RELOC_FRV_FUNCDESC_GOTLO:          howto manager.      (line  500)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFF12:       howto manager.      (line  502)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFFHI:       howto manager.      (line  503)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFFLO:       howto manager.      (line  504)
+* BFD_RELOC_FRV_FUNCDESC_VALUE:          howto manager.      (line  501)
+* BFD_RELOC_FRV_GETTLSOFF:               howto manager.      (line  508)
+* BFD_RELOC_FRV_GETTLSOFF_RELAX:         howto manager.      (line  521)
+* BFD_RELOC_FRV_GOT12:                   howto manager.      (line  494)
+* BFD_RELOC_FRV_GOTHI:                   howto manager.      (line  495)
+* BFD_RELOC_FRV_GOTLO:                   howto manager.      (line  496)
+* BFD_RELOC_FRV_GOTOFF12:                howto manager.      (line  505)
+* BFD_RELOC_FRV_GOTOFFHI:                howto manager.      (line  506)
+* BFD_RELOC_FRV_GOTOFFLO:                howto manager.      (line  507)
+* BFD_RELOC_FRV_GOTTLSDESC12:            howto manager.      (line  510)
+* BFD_RELOC_FRV_GOTTLSDESCHI:            howto manager.      (line  511)
+* BFD_RELOC_FRV_GOTTLSDESCLO:            howto manager.      (line  512)
+* BFD_RELOC_FRV_GOTTLSOFF12:             howto manager.      (line  516)
+* BFD_RELOC_FRV_GOTTLSOFFHI:             howto manager.      (line  517)
+* BFD_RELOC_FRV_GOTTLSOFFLO:             howto manager.      (line  518)
+* BFD_RELOC_FRV_GPREL12:                 howto manager.      (line  489)
+* BFD_RELOC_FRV_GPREL32:                 howto manager.      (line  491)
+* BFD_RELOC_FRV_GPRELHI:                 howto manager.      (line  492)
+* BFD_RELOC_FRV_GPRELLO:                 howto manager.      (line  493)
+* BFD_RELOC_FRV_GPRELU12:                howto manager.      (line  490)
+* BFD_RELOC_FRV_HI16:                    howto manager.      (line  488)
+* BFD_RELOC_FRV_LABEL16:                 howto manager.      (line  485)
+* BFD_RELOC_FRV_LABEL24:                 howto manager.      (line  486)
+* BFD_RELOC_FRV_LO16:                    howto manager.      (line  487)
+* BFD_RELOC_FRV_TLSDESC_RELAX:           howto manager.      (line  520)
+* BFD_RELOC_FRV_TLSDESC_VALUE:           howto manager.      (line  509)
+* BFD_RELOC_FRV_TLSMOFF:                 howto manager.      (line  523)
+* BFD_RELOC_FRV_TLSMOFF12:               howto manager.      (line  513)
+* BFD_RELOC_FRV_TLSMOFFHI:               howto manager.      (line  514)
+* BFD_RELOC_FRV_TLSMOFFLO:               howto manager.      (line  515)
+* BFD_RELOC_FRV_TLSOFF:                  howto manager.      (line  519)
+* BFD_RELOC_FRV_TLSOFF_RELAX:            howto manager.      (line  522)
 * BFD_RELOC_GPREL16:                     howto manager.      (line  125)
 * BFD_RELOC_GPREL32:                     howto manager.      (line  126)
-* BFD_RELOC_H8_DIR16A8:                  howto manager.      (line 2608)
-* BFD_RELOC_H8_DIR16R8:                  howto manager.      (line 2609)
-* BFD_RELOC_H8_DIR24A8:                  howto manager.      (line 2610)
-* BFD_RELOC_H8_DIR24R8:                  howto manager.      (line 2611)
-* BFD_RELOC_H8_DIR32A16:                 howto manager.      (line 2612)
-* BFD_RELOC_H8_DISP32A16:                howto manager.      (line 2613)
+* BFD_RELOC_H8_DIR16A8:                  howto manager.      (line 2653)
+* BFD_RELOC_H8_DIR16R8:                  howto manager.      (line 2654)
+* BFD_RELOC_H8_DIR24A8:                  howto manager.      (line 2655)
+* BFD_RELOC_H8_DIR24R8:                  howto manager.      (line 2656)
+* BFD_RELOC_H8_DIR32A16:                 howto manager.      (line 2657)
+* BFD_RELOC_H8_DISP32A16:                howto manager.      (line 2658)
 * BFD_RELOC_HI16:                        howto manager.      (line  352)
 * BFD_RELOC_HI16_BASEREL:                howto manager.      (line  101)
 * BFD_RELOC_HI16_GOTOFF:                 howto manager.      (line   57)
@@ -12195,287 +12246,287 @@ BFD Index
 * BFD_RELOC_HI16_S_PCREL:                howto manager.      (line  367)
 * BFD_RELOC_HI16_S_PLTOFF:               howto manager.      (line   70)
 * BFD_RELOC_HI22:                        howto manager.      (line  120)
-* BFD_RELOC_I370_D12:                    howto manager.      (line  781)
+* BFD_RELOC_I370_D12:                    howto manager.      (line  787)
 * BFD_RELOC_I960_CALLJ:                  howto manager.      (line  132)
-* BFD_RELOC_IA64_COPY:                   howto manager.      (line 2268)
-* BFD_RELOC_IA64_DIR32LSB:               howto manager.      (line 2213)
-* BFD_RELOC_IA64_DIR32MSB:               howto manager.      (line 2212)
-* BFD_RELOC_IA64_DIR64LSB:               howto manager.      (line 2215)
-* BFD_RELOC_IA64_DIR64MSB:               howto manager.      (line 2214)
-* BFD_RELOC_IA64_DTPMOD64LSB:            howto manager.      (line 2278)
-* BFD_RELOC_IA64_DTPMOD64MSB:            howto manager.      (line 2277)
-* BFD_RELOC_IA64_DTPREL14:               howto manager.      (line 2280)
-* BFD_RELOC_IA64_DTPREL22:               howto manager.      (line 2281)
-* BFD_RELOC_IA64_DTPREL32LSB:            howto manager.      (line 2284)
-* BFD_RELOC_IA64_DTPREL32MSB:            howto manager.      (line 2283)
-* BFD_RELOC_IA64_DTPREL64I:              howto manager.      (line 2282)
-* BFD_RELOC_IA64_DTPREL64LSB:            howto manager.      (line 2286)
-* BFD_RELOC_IA64_DTPREL64MSB:            howto manager.      (line 2285)
-* BFD_RELOC_IA64_FPTR32LSB:              howto manager.      (line 2230)
-* BFD_RELOC_IA64_FPTR32MSB:              howto manager.      (line 2229)
-* BFD_RELOC_IA64_FPTR64I:                howto manager.      (line 2228)
-* BFD_RELOC_IA64_FPTR64LSB:              howto manager.      (line 2232)
-* BFD_RELOC_IA64_FPTR64MSB:              howto manager.      (line 2231)
-* BFD_RELOC_IA64_GPREL22:                howto manager.      (line 2216)
-* BFD_RELOC_IA64_GPREL32LSB:             howto manager.      (line 2219)
-* BFD_RELOC_IA64_GPREL32MSB:             howto manager.      (line 2218)
-* BFD_RELOC_IA64_GPREL64I:               howto manager.      (line 2217)
-* BFD_RELOC_IA64_GPREL64LSB:             howto manager.      (line 2221)
-* BFD_RELOC_IA64_GPREL64MSB:             howto manager.      (line 2220)
-* BFD_RELOC_IA64_IMM14:                  howto manager.      (line 2209)
-* BFD_RELOC_IA64_IMM22:                  howto manager.      (line 2210)
-* BFD_RELOC_IA64_IMM64:                  howto manager.      (line 2211)
-* BFD_RELOC_IA64_IPLTLSB:                howto manager.      (line 2267)
-* BFD_RELOC_IA64_IPLTMSB:                howto manager.      (line 2266)
-* BFD_RELOC_IA64_LDXMOV:                 howto manager.      (line 2270)
-* BFD_RELOC_IA64_LTOFF22:                howto manager.      (line 2222)
-* BFD_RELOC_IA64_LTOFF22X:               howto manager.      (line 2269)
-* BFD_RELOC_IA64_LTOFF64I:               howto manager.      (line 2223)
-* BFD_RELOC_IA64_LTOFF_DTPMOD22:         howto manager.      (line 2279)
-* BFD_RELOC_IA64_LTOFF_DTPREL22:         howto manager.      (line 2287)
-* BFD_RELOC_IA64_LTOFF_FPTR22:           howto manager.      (line 2244)
-* BFD_RELOC_IA64_LTOFF_FPTR32LSB:        howto manager.      (line 2247)
-* BFD_RELOC_IA64_LTOFF_FPTR32MSB:        howto manager.      (line 2246)
-* BFD_RELOC_IA64_LTOFF_FPTR64I:          howto manager.      (line 2245)
-* BFD_RELOC_IA64_LTOFF_FPTR64LSB:        howto manager.      (line 2249)
-* BFD_RELOC_IA64_LTOFF_FPTR64MSB:        howto manager.      (line 2248)
-* BFD_RELOC_IA64_LTOFF_TPREL22:          howto manager.      (line 2276)
-* BFD_RELOC_IA64_LTV32LSB:               howto manager.      (line 2263)
-* BFD_RELOC_IA64_LTV32MSB:               howto manager.      (line 2262)
-* BFD_RELOC_IA64_LTV64LSB:               howto manager.      (line 2265)
-* BFD_RELOC_IA64_LTV64MSB:               howto manager.      (line 2264)
-* BFD_RELOC_IA64_PCREL21B:               howto manager.      (line 2233)
-* BFD_RELOC_IA64_PCREL21BI:              howto manager.      (line 2234)
-* BFD_RELOC_IA64_PCREL21F:               howto manager.      (line 2236)
-* BFD_RELOC_IA64_PCREL21M:               howto manager.      (line 2235)
-* BFD_RELOC_IA64_PCREL22:                howto manager.      (line 2237)
-* BFD_RELOC_IA64_PCREL32LSB:             howto manager.      (line 2241)
-* BFD_RELOC_IA64_PCREL32MSB:             howto manager.      (line 2240)
-* BFD_RELOC_IA64_PCREL60B:               howto manager.      (line 2238)
-* BFD_RELOC_IA64_PCREL64I:               howto manager.      (line 2239)
-* BFD_RELOC_IA64_PCREL64LSB:             howto manager.      (line 2243)
-* BFD_RELOC_IA64_PCREL64MSB:             howto manager.      (line 2242)
-* BFD_RELOC_IA64_PLTOFF22:               howto manager.      (line 2224)
-* BFD_RELOC_IA64_PLTOFF64I:              howto manager.      (line 2225)
-* BFD_RELOC_IA64_PLTOFF64LSB:            howto manager.      (line 2227)
-* BFD_RELOC_IA64_PLTOFF64MSB:            howto manager.      (line 2226)
-* BFD_RELOC_IA64_REL32LSB:               howto manager.      (line 2259)
-* BFD_RELOC_IA64_REL32MSB:               howto manager.      (line 2258)
-* BFD_RELOC_IA64_REL64LSB:               howto manager.      (line 2261)
-* BFD_RELOC_IA64_REL64MSB:               howto manager.      (line 2260)
-* BFD_RELOC_IA64_SECREL32LSB:            howto manager.      (line 2255)
-* BFD_RELOC_IA64_SECREL32MSB:            howto manager.      (line 2254)
-* BFD_RELOC_IA64_SECREL64LSB:            howto manager.      (line 2257)
-* BFD_RELOC_IA64_SECREL64MSB:            howto manager.      (line 2256)
-* BFD_RELOC_IA64_SEGREL32LSB:            howto manager.      (line 2251)
-* BFD_RELOC_IA64_SEGREL32MSB:            howto manager.      (line 2250)
-* BFD_RELOC_IA64_SEGREL64LSB:            howto manager.      (line 2253)
-* BFD_RELOC_IA64_SEGREL64MSB:            howto manager.      (line 2252)
-* BFD_RELOC_IA64_TPREL14:                howto manager.      (line 2271)
-* BFD_RELOC_IA64_TPREL22:                howto manager.      (line 2272)
-* BFD_RELOC_IA64_TPREL64I:               howto manager.      (line 2273)
-* BFD_RELOC_IA64_TPREL64LSB:             howto manager.      (line 2275)
-* BFD_RELOC_IA64_TPREL64MSB:             howto manager.      (line 2274)
-* BFD_RELOC_IP2K_ADDR16CJP:              howto manager.      (line 2161)
-* BFD_RELOC_IP2K_BANK:                   howto manager.      (line 2158)
-* BFD_RELOC_IP2K_EX8DATA:                howto manager.      (line 2169)
-* BFD_RELOC_IP2K_FR9:                    howto manager.      (line 2155)
-* BFD_RELOC_IP2K_FR_OFFSET:              howto manager.      (line 2182)
-* BFD_RELOC_IP2K_HI8DATA:                howto manager.      (line 2168)
-* BFD_RELOC_IP2K_HI8INSN:                howto manager.      (line 2173)
-* BFD_RELOC_IP2K_LO8DATA:                howto manager.      (line 2167)
-* BFD_RELOC_IP2K_LO8INSN:                howto manager.      (line 2172)
-* BFD_RELOC_IP2K_PAGE3:                  howto manager.      (line 2164)
-* BFD_RELOC_IP2K_PC_SKIP:                howto manager.      (line 2176)
-* BFD_RELOC_IP2K_TEXT:                   howto manager.      (line 2179)
-* BFD_RELOC_IQ2000_OFFSET_16:            howto manager.      (line 2719)
-* BFD_RELOC_IQ2000_OFFSET_21:            howto manager.      (line 2720)
-* BFD_RELOC_IQ2000_UHI16:                howto manager.      (line 2721)
-* BFD_RELOC_LM32_16_GOT:                 howto manager.      (line 2826)
-* BFD_RELOC_LM32_BRANCH:                 howto manager.      (line 2825)
-* BFD_RELOC_LM32_CALL:                   howto manager.      (line 2824)
-* BFD_RELOC_LM32_COPY:                   howto manager.      (line 2829)
-* BFD_RELOC_LM32_GLOB_DAT:               howto manager.      (line 2830)
-* BFD_RELOC_LM32_GOTOFF_HI16:            howto manager.      (line 2827)
-* BFD_RELOC_LM32_GOTOFF_LO16:            howto manager.      (line 2828)
-* BFD_RELOC_LM32_JMP_SLOT:               howto manager.      (line 2831)
-* BFD_RELOC_LM32_RELATIVE:               howto manager.      (line 2832)
+* BFD_RELOC_IA64_COPY:                   howto manager.      (line 2313)
+* BFD_RELOC_IA64_DIR32LSB:               howto manager.      (line 2258)
+* BFD_RELOC_IA64_DIR32MSB:               howto manager.      (line 2257)
+* BFD_RELOC_IA64_DIR64LSB:               howto manager.      (line 2260)
+* BFD_RELOC_IA64_DIR64MSB:               howto manager.      (line 2259)
+* BFD_RELOC_IA64_DTPMOD64LSB:            howto manager.      (line 2323)
+* BFD_RELOC_IA64_DTPMOD64MSB:            howto manager.      (line 2322)
+* BFD_RELOC_IA64_DTPREL14:               howto manager.      (line 2325)
+* BFD_RELOC_IA64_DTPREL22:               howto manager.      (line 2326)
+* BFD_RELOC_IA64_DTPREL32LSB:            howto manager.      (line 2329)
+* BFD_RELOC_IA64_DTPREL32MSB:            howto manager.      (line 2328)
+* BFD_RELOC_IA64_DTPREL64I:              howto manager.      (line 2327)
+* BFD_RELOC_IA64_DTPREL64LSB:            howto manager.      (line 2331)
+* BFD_RELOC_IA64_DTPREL64MSB:            howto manager.      (line 2330)
+* BFD_RELOC_IA64_FPTR32LSB:              howto manager.      (line 2275)
+* BFD_RELOC_IA64_FPTR32MSB:              howto manager.      (line 2274)
+* BFD_RELOC_IA64_FPTR64I:                howto manager.      (line 2273)
+* BFD_RELOC_IA64_FPTR64LSB:              howto manager.      (line 2277)
+* BFD_RELOC_IA64_FPTR64MSB:              howto manager.      (line 2276)
+* BFD_RELOC_IA64_GPREL22:                howto manager.      (line 2261)
+* BFD_RELOC_IA64_GPREL32LSB:             howto manager.      (line 2264)
+* BFD_RELOC_IA64_GPREL32MSB:             howto manager.      (line 2263)
+* BFD_RELOC_IA64_GPREL64I:               howto manager.      (line 2262)
+* BFD_RELOC_IA64_GPREL64LSB:             howto manager.      (line 2266)
+* BFD_RELOC_IA64_GPREL64MSB:             howto manager.      (line 2265)
+* BFD_RELOC_IA64_IMM14:                  howto manager.      (line 2254)
+* BFD_RELOC_IA64_IMM22:                  howto manager.      (line 2255)
+* BFD_RELOC_IA64_IMM64:                  howto manager.      (line 2256)
+* BFD_RELOC_IA64_IPLTLSB:                howto manager.      (line 2312)
+* BFD_RELOC_IA64_IPLTMSB:                howto manager.      (line 2311)
+* BFD_RELOC_IA64_LDXMOV:                 howto manager.      (line 2315)
+* BFD_RELOC_IA64_LTOFF22:                howto manager.      (line 2267)
+* BFD_RELOC_IA64_LTOFF22X:               howto manager.      (line 2314)
+* BFD_RELOC_IA64_LTOFF64I:               howto manager.      (line 2268)
+* BFD_RELOC_IA64_LTOFF_DTPMOD22:         howto manager.      (line 2324)
+* BFD_RELOC_IA64_LTOFF_DTPREL22:         howto manager.      (line 2332)
+* BFD_RELOC_IA64_LTOFF_FPTR22:           howto manager.      (line 2289)
+* BFD_RELOC_IA64_LTOFF_FPTR32LSB:        howto manager.      (line 2292)
+* BFD_RELOC_IA64_LTOFF_FPTR32MSB:        howto manager.      (line 2291)
+* BFD_RELOC_IA64_LTOFF_FPTR64I:          howto manager.      (line 2290)
+* BFD_RELOC_IA64_LTOFF_FPTR64LSB:        howto manager.      (line 2294)
+* BFD_RELOC_IA64_LTOFF_FPTR64MSB:        howto manager.      (line 2293)
+* BFD_RELOC_IA64_LTOFF_TPREL22:          howto manager.      (line 2321)
+* BFD_RELOC_IA64_LTV32LSB:               howto manager.      (line 2308)
+* BFD_RELOC_IA64_LTV32MSB:               howto manager.      (line 2307)
+* BFD_RELOC_IA64_LTV64LSB:               howto manager.      (line 2310)
+* BFD_RELOC_IA64_LTV64MSB:               howto manager.      (line 2309)
+* BFD_RELOC_IA64_PCREL21B:               howto manager.      (line 2278)
+* BFD_RELOC_IA64_PCREL21BI:              howto manager.      (line 2279)
+* BFD_RELOC_IA64_PCREL21F:               howto manager.      (line 2281)
+* BFD_RELOC_IA64_PCREL21M:               howto manager.      (line 2280)
+* BFD_RELOC_IA64_PCREL22:                howto manager.      (line 2282)
+* BFD_RELOC_IA64_PCREL32LSB:             howto manager.      (line 2286)
+* BFD_RELOC_IA64_PCREL32MSB:             howto manager.      (line 2285)
+* BFD_RELOC_IA64_PCREL60B:               howto manager.      (line 2283)
+* BFD_RELOC_IA64_PCREL64I:               howto manager.      (line 2284)
+* BFD_RELOC_IA64_PCREL64LSB:             howto manager.      (line 2288)
+* BFD_RELOC_IA64_PCREL64MSB:             howto manager.      (line 2287)
+* BFD_RELOC_IA64_PLTOFF22:               howto manager.      (line 2269)
+* BFD_RELOC_IA64_PLTOFF64I:              howto manager.      (line 2270)
+* BFD_RELOC_IA64_PLTOFF64LSB:            howto manager.      (line 2272)
+* BFD_RELOC_IA64_PLTOFF64MSB:            howto manager.      (line 2271)
+* BFD_RELOC_IA64_REL32LSB:               howto manager.      (line 2304)
+* BFD_RELOC_IA64_REL32MSB:               howto manager.      (line 2303)
+* BFD_RELOC_IA64_REL64LSB:               howto manager.      (line 2306)
+* BFD_RELOC_IA64_REL64MSB:               howto manager.      (line 2305)
+* BFD_RELOC_IA64_SECREL32LSB:            howto manager.      (line 2300)
+* BFD_RELOC_IA64_SECREL32MSB:            howto manager.      (line 2299)
+* BFD_RELOC_IA64_SECREL64LSB:            howto manager.      (line 2302)
+* BFD_RELOC_IA64_SECREL64MSB:            howto manager.      (line 2301)
+* BFD_RELOC_IA64_SEGREL32LSB:            howto manager.      (line 2296)
+* BFD_RELOC_IA64_SEGREL32MSB:            howto manager.      (line 2295)
+* BFD_RELOC_IA64_SEGREL64LSB:            howto manager.      (line 2298)
+* BFD_RELOC_IA64_SEGREL64MSB:            howto manager.      (line 2297)
+* BFD_RELOC_IA64_TPREL14:                howto manager.      (line 2316)
+* BFD_RELOC_IA64_TPREL22:                howto manager.      (line 2317)
+* BFD_RELOC_IA64_TPREL64I:               howto manager.      (line 2318)
+* BFD_RELOC_IA64_TPREL64LSB:             howto manager.      (line 2320)
+* BFD_RELOC_IA64_TPREL64MSB:             howto manager.      (line 2319)
+* BFD_RELOC_IP2K_ADDR16CJP:              howto manager.      (line 2206)
+* BFD_RELOC_IP2K_BANK:                   howto manager.      (line 2203)
+* BFD_RELOC_IP2K_EX8DATA:                howto manager.      (line 2214)
+* BFD_RELOC_IP2K_FR9:                    howto manager.      (line 2200)
+* BFD_RELOC_IP2K_FR_OFFSET:              howto manager.      (line 2227)
+* BFD_RELOC_IP2K_HI8DATA:                howto manager.      (line 2213)
+* BFD_RELOC_IP2K_HI8INSN:                howto manager.      (line 2218)
+* BFD_RELOC_IP2K_LO8DATA:                howto manager.      (line 2212)
+* BFD_RELOC_IP2K_LO8INSN:                howto manager.      (line 2217)
+* BFD_RELOC_IP2K_PAGE3:                  howto manager.      (line 2209)
+* BFD_RELOC_IP2K_PC_SKIP:                howto manager.      (line 2221)
+* BFD_RELOC_IP2K_TEXT:                   howto manager.      (line 2224)
+* BFD_RELOC_IQ2000_OFFSET_16:            howto manager.      (line 2764)
+* BFD_RELOC_IQ2000_OFFSET_21:            howto manager.      (line 2765)
+* BFD_RELOC_IQ2000_UHI16:                howto manager.      (line 2766)
+* BFD_RELOC_LM32_16_GOT:                 howto manager.      (line 2871)
+* BFD_RELOC_LM32_BRANCH:                 howto manager.      (line 2870)
+* BFD_RELOC_LM32_CALL:                   howto manager.      (line 2869)
+* BFD_RELOC_LM32_COPY:                   howto manager.      (line 2874)
+* BFD_RELOC_LM32_GLOB_DAT:               howto manager.      (line 2875)
+* BFD_RELOC_LM32_GOTOFF_HI16:            howto manager.      (line 2872)
+* BFD_RELOC_LM32_GOTOFF_LO16:            howto manager.      (line 2873)
+* BFD_RELOC_LM32_JMP_SLOT:               howto manager.      (line 2876)
+* BFD_RELOC_LM32_RELATIVE:               howto manager.      (line 2877)
 * BFD_RELOC_LO10:                        howto manager.      (line  121)
 * BFD_RELOC_LO16:                        howto manager.      (line  361)
 * BFD_RELOC_LO16_BASEREL:                howto manager.      (line  100)
 * BFD_RELOC_LO16_GOTOFF:                 howto manager.      (line   56)
 * BFD_RELOC_LO16_PCREL:                  howto manager.      (line  370)
 * BFD_RELOC_LO16_PLTOFF:                 howto manager.      (line   68)
-* BFD_RELOC_M32C_HI8:                    howto manager.      (line 1243)
-* BFD_RELOC_M32C_RL_1ADDR:               howto manager.      (line 1245)
-* BFD_RELOC_M32C_RL_2ADDR:               howto manager.      (line 1246)
-* BFD_RELOC_M32C_RL_JUMP:                howto manager.      (line 1244)
-* BFD_RELOC_M32R_10_PCREL:               howto manager.      (line 1253)
-* BFD_RELOC_M32R_18_PCREL:               howto manager.      (line 1257)
-* BFD_RELOC_M32R_24:                     howto manager.      (line 1249)
-* BFD_RELOC_M32R_26_PCREL:               howto manager.      (line 1260)
-* BFD_RELOC_M32R_26_PLTREL:              howto manager.      (line 1279)
-* BFD_RELOC_M32R_COPY:                   howto manager.      (line 1280)
-* BFD_RELOC_M32R_GLOB_DAT:               howto manager.      (line 1281)
-* BFD_RELOC_M32R_GOT16_HI_SLO:           howto manager.      (line 1290)
-* BFD_RELOC_M32R_GOT16_HI_ULO:           howto manager.      (line 1289)
-* BFD_RELOC_M32R_GOT16_LO:               howto manager.      (line 1291)
-* BFD_RELOC_M32R_GOT24:                  howto manager.      (line 1278)
-* BFD_RELOC_M32R_GOTOFF:                 howto manager.      (line 1284)
-* BFD_RELOC_M32R_GOTOFF_HI_SLO:          howto manager.      (line 1286)
-* BFD_RELOC_M32R_GOTOFF_HI_ULO:          howto manager.      (line 1285)
-* BFD_RELOC_M32R_GOTOFF_LO:              howto manager.      (line 1287)
-* BFD_RELOC_M32R_GOTPC24:                howto manager.      (line 1288)
-* BFD_RELOC_M32R_GOTPC_HI_SLO:           howto manager.      (line 1293)
-* BFD_RELOC_M32R_GOTPC_HI_ULO:           howto manager.      (line 1292)
-* BFD_RELOC_M32R_GOTPC_LO:               howto manager.      (line 1294)
-* BFD_RELOC_M32R_HI16_SLO:               howto manager.      (line 1267)
-* BFD_RELOC_M32R_HI16_ULO:               howto manager.      (line 1263)
-* BFD_RELOC_M32R_JMP_SLOT:               howto manager.      (line 1282)
-* BFD_RELOC_M32R_LO16:                   howto manager.      (line 1271)
-* BFD_RELOC_M32R_RELATIVE:               howto manager.      (line 1283)
-* BFD_RELOC_M32R_SDA16:                  howto manager.      (line 1274)
-* BFD_RELOC_M68HC11_24:                  howto manager.      (line 2323)
-* BFD_RELOC_M68HC11_3B:                  howto manager.      (line 2298)
-* BFD_RELOC_M68HC11_HI8:                 howto manager.      (line 2290)
-* BFD_RELOC_M68HC11_LO16:                howto manager.      (line 2312)
-* BFD_RELOC_M68HC11_LO8:                 howto manager.      (line 2294)
-* BFD_RELOC_M68HC11_PAGE:                howto manager.      (line 2318)
-* BFD_RELOC_M68HC11_RL_GROUP:            howto manager.      (line 2307)
-* BFD_RELOC_M68HC11_RL_JUMP:             howto manager.      (line 2301)
-* BFD_RELOC_M68HC12_10_PCREL:            howto manager.      (line 2383)
-* BFD_RELOC_M68HC12_16B:                 howto manager.      (line 2377)
-* BFD_RELOC_M68HC12_5B:                  howto manager.      (line 2329)
-* BFD_RELOC_M68HC12_9_PCREL:             howto manager.      (line 2380)
-* BFD_RELOC_M68HC12_9B:                  howto manager.      (line 2374)
-* BFD_RELOC_M68HC12_HI8XG:               howto manager.      (line 2390)
-* BFD_RELOC_M68HC12_LO8XG:               howto manager.      (line 2386)
-* BFD_RELOC_MACH_O_LOCAL_SECTDIFF:       howto manager.      (line 2839)
-* BFD_RELOC_MACH_O_PAIR:                 howto manager.      (line 2842)
-* BFD_RELOC_MACH_O_SECTDIFF:             howto manager.      (line 2835)
-* BFD_RELOC_MACH_O_X86_64_BRANCH32:      howto manager.      (line 2845)
-* BFD_RELOC_MACH_O_X86_64_BRANCH8:       howto manager.      (line 2846)
-* BFD_RELOC_MACH_O_X86_64_GOT:           howto manager.      (line 2850)
-* BFD_RELOC_MACH_O_X86_64_GOT_LOAD:      howto manager.      (line 2853)
-* BFD_RELOC_MACH_O_X86_64_PCREL32_1:     howto manager.      (line 2863)
-* BFD_RELOC_MACH_O_X86_64_PCREL32_2:     howto manager.      (line 2866)
-* BFD_RELOC_MACH_O_X86_64_PCREL32_4:     howto manager.      (line 2869)
-* BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32:  howto manager.      (line 2857)
-* BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64:  howto manager.      (line 2860)
-* BFD_RELOC_MCORE_PCREL_32:              howto manager.      (line 1697)
-* BFD_RELOC_MCORE_PCREL_IMM11BY2:        howto manager.      (line 1695)
-* BFD_RELOC_MCORE_PCREL_IMM4BY2:         howto manager.      (line 1696)
-* BFD_RELOC_MCORE_PCREL_IMM8BY4:         howto manager.      (line 1694)
-* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2:    howto manager.      (line 1698)
-* BFD_RELOC_MCORE_RVA:                   howto manager.      (line 1699)
-* BFD_RELOC_MEP_16:                      howto manager.      (line 1703)
-* BFD_RELOC_MEP_32:                      howto manager.      (line 1704)
-* BFD_RELOC_MEP_8:                       howto manager.      (line 1702)
-* BFD_RELOC_MEP_ADDR24A4:                howto manager.      (line 1719)
-* BFD_RELOC_MEP_GNU_VTENTRY:             howto manager.      (line 1721)
-* BFD_RELOC_MEP_GNU_VTINHERIT:           howto manager.      (line 1720)
-* BFD_RELOC_MEP_GPREL:                   howto manager.      (line 1713)
-* BFD_RELOC_MEP_HI16S:                   howto manager.      (line 1712)
-* BFD_RELOC_MEP_HI16U:                   howto manager.      (line 1711)
-* BFD_RELOC_MEP_LOW16:                   howto manager.      (line 1710)
-* BFD_RELOC_MEP_PCABS24A2:               howto manager.      (line 1709)
-* BFD_RELOC_MEP_PCREL12A2:               howto manager.      (line 1706)
-* BFD_RELOC_MEP_PCREL17A2:               howto manager.      (line 1707)
-* BFD_RELOC_MEP_PCREL24A2:               howto manager.      (line 1708)
-* BFD_RELOC_MEP_PCREL8A2:                howto manager.      (line 1705)
-* BFD_RELOC_MEP_TPREL:                   howto manager.      (line 1714)
-* BFD_RELOC_MEP_TPREL7:                  howto manager.      (line 1715)
-* BFD_RELOC_MEP_TPREL7A2:                howto manager.      (line 1716)
-* BFD_RELOC_MEP_TPREL7A4:                howto manager.      (line 1717)
-* BFD_RELOC_MEP_UIMM24:                  howto manager.      (line 1718)
-* BFD_RELOC_METAG_COPY:                  howto manager.      (line 1743)
-* BFD_RELOC_METAG_GETSET_GOT:            howto manager.      (line 1735)
-* BFD_RELOC_METAG_GETSET_GOTOFF:         howto manager.      (line 1734)
-* BFD_RELOC_METAG_GETSETOFF:             howto manager.      (line 1727)
-* BFD_RELOC_METAG_GLOB_DAT:              howto manager.      (line 1746)
-* BFD_RELOC_METAG_GOTOFF:                howto manager.      (line 1741)
-* BFD_RELOC_METAG_HI16_GOTOFF:           howto manager.      (line 1732)
-* BFD_RELOC_METAG_HI16_GOTPC:            howto manager.      (line 1736)
-* BFD_RELOC_METAG_HI16_PLT:              howto manager.      (line 1738)
-* BFD_RELOC_METAG_HIADDR16:              howto manager.      (line 1724)
-* BFD_RELOC_METAG_HIOG:                  howto manager.      (line 1728)
-* BFD_RELOC_METAG_JMP_SLOT:              howto manager.      (line 1744)
-* BFD_RELOC_METAG_LO16_GOTOFF:           howto manager.      (line 1733)
-* BFD_RELOC_METAG_LO16_GOTPC:            howto manager.      (line 1737)
-* BFD_RELOC_METAG_LO16_PLT:              howto manager.      (line 1739)
-* BFD_RELOC_METAG_LOADDR16:              howto manager.      (line 1725)
-* BFD_RELOC_METAG_LOOG:                  howto manager.      (line 1729)
-* BFD_RELOC_METAG_PLT:                   howto manager.      (line 1742)
-* BFD_RELOC_METAG_REL16:                 howto manager.      (line 1731)
-* BFD_RELOC_METAG_REL8:                  howto manager.      (line 1730)
-* BFD_RELOC_METAG_RELATIVE:              howto manager.      (line 1745)
-* BFD_RELOC_METAG_RELBRANCH:             howto manager.      (line 1726)
-* BFD_RELOC_METAG_RELBRANCH_PLT:         howto manager.      (line 1740)
-* BFD_RELOC_METAG_TLS_DTPMOD:            howto manager.      (line 1757)
-* BFD_RELOC_METAG_TLS_DTPOFF:            howto manager.      (line 1758)
-* BFD_RELOC_METAG_TLS_GD:                howto manager.      (line 1747)
-* BFD_RELOC_METAG_TLS_IE:                howto manager.      (line 1752)
-* BFD_RELOC_METAG_TLS_IENONPIC:          howto manager.      (line 1753)
-* BFD_RELOC_METAG_TLS_IENONPIC_HI16:     howto manager.      (line 1754)
-* BFD_RELOC_METAG_TLS_IENONPIC_LO16:     howto manager.      (line 1755)
-* BFD_RELOC_METAG_TLS_LDM:               howto manager.      (line 1748)
-* BFD_RELOC_METAG_TLS_LDO:               howto manager.      (line 1751)
-* BFD_RELOC_METAG_TLS_LDO_HI16:          howto manager.      (line 1749)
-* BFD_RELOC_METAG_TLS_LDO_LO16:          howto manager.      (line 1750)
-* BFD_RELOC_METAG_TLS_LE:                howto manager.      (line 1759)
-* BFD_RELOC_METAG_TLS_LE_HI16:           howto manager.      (line 1760)
-* BFD_RELOC_METAG_TLS_LE_LO16:           howto manager.      (line 1761)
-* BFD_RELOC_METAG_TLS_TPOFF:             howto manager.      (line 1756)
-* BFD_RELOC_MICROBLAZE_32_GOTOFF:        howto manager.      (line 2916)
-* BFD_RELOC_MICROBLAZE_32_LO:            howto manager.      (line 2872)
-* BFD_RELOC_MICROBLAZE_32_LO_PCREL:      howto manager.      (line 2876)
-* BFD_RELOC_MICROBLAZE_32_ROSDA:         howto manager.      (line 2880)
-* BFD_RELOC_MICROBLAZE_32_RWSDA:         howto manager.      (line 2884)
-* BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:    howto manager.      (line 2888)
-* BFD_RELOC_MICROBLAZE_32_TLSDTPMOD:     howto manager.      (line 2937)
-* BFD_RELOC_MICROBLAZE_32_TLSDTPREL:     howto manager.      (line 2940)
-* BFD_RELOC_MICROBLAZE_64_GOT:           howto manager.      (line 2902)
-* BFD_RELOC_MICROBLAZE_64_GOTOFF:        howto manager.      (line 2911)
-* BFD_RELOC_MICROBLAZE_64_GOTPC:         howto manager.      (line 2897)
-* BFD_RELOC_MICROBLAZE_64_NONE:          howto manager.      (line 2892)
-* BFD_RELOC_MICROBLAZE_64_PLT:           howto manager.      (line 2906)
-* BFD_RELOC_MICROBLAZE_64_TLS:           howto manager.      (line 2924)
-* BFD_RELOC_MICROBLAZE_64_TLSDTPREL:     howto manager.      (line 2943)
-* BFD_RELOC_MICROBLAZE_64_TLSGD:         howto manager.      (line 2927)
-* BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL:   howto manager.      (line 2947)
-* BFD_RELOC_MICROBLAZE_64_TLSLD:         howto manager.      (line 2932)
-* BFD_RELOC_MICROBLAZE_64_TLSTPREL:      howto manager.      (line 2951)
-* BFD_RELOC_MICROBLAZE_COPY:             howto manager.      (line 2920)
+* BFD_RELOC_M32C_HI8:                    howto manager.      (line 1249)
+* BFD_RELOC_M32C_RL_1ADDR:               howto manager.      (line 1251)
+* BFD_RELOC_M32C_RL_2ADDR:               howto manager.      (line 1252)
+* BFD_RELOC_M32C_RL_JUMP:                howto manager.      (line 1250)
+* BFD_RELOC_M32R_10_PCREL:               howto manager.      (line 1259)
+* BFD_RELOC_M32R_18_PCREL:               howto manager.      (line 1263)
+* BFD_RELOC_M32R_24:                     howto manager.      (line 1255)
+* BFD_RELOC_M32R_26_PCREL:               howto manager.      (line 1266)
+* BFD_RELOC_M32R_26_PLTREL:              howto manager.      (line 1285)
+* BFD_RELOC_M32R_COPY:                   howto manager.      (line 1286)
+* BFD_RELOC_M32R_GLOB_DAT:               howto manager.      (line 1287)
+* BFD_RELOC_M32R_GOT16_HI_SLO:           howto manager.      (line 1296)
+* BFD_RELOC_M32R_GOT16_HI_ULO:           howto manager.      (line 1295)
+* BFD_RELOC_M32R_GOT16_LO:               howto manager.      (line 1297)
+* BFD_RELOC_M32R_GOT24:                  howto manager.      (line 1284)
+* BFD_RELOC_M32R_GOTOFF:                 howto manager.      (line 1290)
+* BFD_RELOC_M32R_GOTOFF_HI_SLO:          howto manager.      (line 1292)
+* BFD_RELOC_M32R_GOTOFF_HI_ULO:          howto manager.      (line 1291)
+* BFD_RELOC_M32R_GOTOFF_LO:              howto manager.      (line 1293)
+* BFD_RELOC_M32R_GOTPC24:                howto manager.      (line 1294)
+* BFD_RELOC_M32R_GOTPC_HI_SLO:           howto manager.      (line 1299)
+* BFD_RELOC_M32R_GOTPC_HI_ULO:           howto manager.      (line 1298)
+* BFD_RELOC_M32R_GOTPC_LO:               howto manager.      (line 1300)
+* BFD_RELOC_M32R_HI16_SLO:               howto manager.      (line 1273)
+* BFD_RELOC_M32R_HI16_ULO:               howto manager.      (line 1269)
+* BFD_RELOC_M32R_JMP_SLOT:               howto manager.      (line 1288)
+* BFD_RELOC_M32R_LO16:                   howto manager.      (line 1277)
+* BFD_RELOC_M32R_RELATIVE:               howto manager.      (line 1289)
+* BFD_RELOC_M32R_SDA16:                  howto manager.      (line 1280)
+* BFD_RELOC_M68HC11_24:                  howto manager.      (line 2368)
+* BFD_RELOC_M68HC11_3B:                  howto manager.      (line 2343)
+* BFD_RELOC_M68HC11_HI8:                 howto manager.      (line 2335)
+* BFD_RELOC_M68HC11_LO16:                howto manager.      (line 2357)
+* BFD_RELOC_M68HC11_LO8:                 howto manager.      (line 2339)
+* BFD_RELOC_M68HC11_PAGE:                howto manager.      (line 2363)
+* BFD_RELOC_M68HC11_RL_GROUP:            howto manager.      (line 2352)
+* BFD_RELOC_M68HC11_RL_JUMP:             howto manager.      (line 2346)
+* BFD_RELOC_M68HC12_10_PCREL:            howto manager.      (line 2428)
+* BFD_RELOC_M68HC12_16B:                 howto manager.      (line 2422)
+* BFD_RELOC_M68HC12_5B:                  howto manager.      (line 2374)
+* BFD_RELOC_M68HC12_9_PCREL:             howto manager.      (line 2425)
+* BFD_RELOC_M68HC12_9B:                  howto manager.      (line 2419)
+* BFD_RELOC_M68HC12_HI8XG:               howto manager.      (line 2435)
+* BFD_RELOC_M68HC12_LO8XG:               howto manager.      (line 2431)
+* BFD_RELOC_MACH_O_LOCAL_SECTDIFF:       howto manager.      (line 2884)
+* BFD_RELOC_MACH_O_PAIR:                 howto manager.      (line 2887)
+* BFD_RELOC_MACH_O_SECTDIFF:             howto manager.      (line 2880)
+* BFD_RELOC_MACH_O_X86_64_BRANCH32:      howto manager.      (line 2890)
+* BFD_RELOC_MACH_O_X86_64_BRANCH8:       howto manager.      (line 2891)
+* BFD_RELOC_MACH_O_X86_64_GOT:           howto manager.      (line 2895)
+* BFD_RELOC_MACH_O_X86_64_GOT_LOAD:      howto manager.      (line 2898)
+* BFD_RELOC_MACH_O_X86_64_PCREL32_1:     howto manager.      (line 2908)
+* BFD_RELOC_MACH_O_X86_64_PCREL32_2:     howto manager.      (line 2911)
+* BFD_RELOC_MACH_O_X86_64_PCREL32_4:     howto manager.      (line 2914)
+* BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32:  howto manager.      (line 2902)
+* BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64:  howto manager.      (line 2905)
+* BFD_RELOC_MCORE_PCREL_32:              howto manager.      (line 1730)
+* BFD_RELOC_MCORE_PCREL_IMM11BY2:        howto manager.      (line 1728)
+* BFD_RELOC_MCORE_PCREL_IMM4BY2:         howto manager.      (line 1729)
+* BFD_RELOC_MCORE_PCREL_IMM8BY4:         howto manager.      (line 1727)
+* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2:    howto manager.      (line 1731)
+* BFD_RELOC_MCORE_RVA:                   howto manager.      (line 1732)
+* BFD_RELOC_MEP_16:                      howto manager.      (line 1736)
+* BFD_RELOC_MEP_32:                      howto manager.      (line 1737)
+* BFD_RELOC_MEP_8:                       howto manager.      (line 1735)
+* BFD_RELOC_MEP_ADDR24A4:                howto manager.      (line 1752)
+* BFD_RELOC_MEP_GNU_VTENTRY:             howto manager.      (line 1754)
+* BFD_RELOC_MEP_GNU_VTINHERIT:           howto manager.      (line 1753)
+* BFD_RELOC_MEP_GPREL:                   howto manager.      (line 1746)
+* BFD_RELOC_MEP_HI16S:                   howto manager.      (line 1745)
+* BFD_RELOC_MEP_HI16U:                   howto manager.      (line 1744)
+* BFD_RELOC_MEP_LOW16:                   howto manager.      (line 1743)
+* BFD_RELOC_MEP_PCABS24A2:               howto manager.      (line 1742)
+* BFD_RELOC_MEP_PCREL12A2:               howto manager.      (line 1739)
+* BFD_RELOC_MEP_PCREL17A2:               howto manager.      (line 1740)
+* BFD_RELOC_MEP_PCREL24A2:               howto manager.      (line 1741)
+* BFD_RELOC_MEP_PCREL8A2:                howto manager.      (line 1738)
+* BFD_RELOC_MEP_TPREL:                   howto manager.      (line 1747)
+* BFD_RELOC_MEP_TPREL7:                  howto manager.      (line 1748)
+* BFD_RELOC_MEP_TPREL7A2:                howto manager.      (line 1749)
+* BFD_RELOC_MEP_TPREL7A4:                howto manager.      (line 1750)
+* BFD_RELOC_MEP_UIMM24:                  howto manager.      (line 1751)
+* BFD_RELOC_METAG_COPY:                  howto manager.      (line 1776)
+* BFD_RELOC_METAG_GETSET_GOT:            howto manager.      (line 1768)
+* BFD_RELOC_METAG_GETSET_GOTOFF:         howto manager.      (line 1767)
+* BFD_RELOC_METAG_GETSETOFF:             howto manager.      (line 1760)
+* BFD_RELOC_METAG_GLOB_DAT:              howto manager.      (line 1779)
+* BFD_RELOC_METAG_GOTOFF:                howto manager.      (line 1774)
+* BFD_RELOC_METAG_HI16_GOTOFF:           howto manager.      (line 1765)
+* BFD_RELOC_METAG_HI16_GOTPC:            howto manager.      (line 1769)
+* BFD_RELOC_METAG_HI16_PLT:              howto manager.      (line 1771)
+* BFD_RELOC_METAG_HIADDR16:              howto manager.      (line 1757)
+* BFD_RELOC_METAG_HIOG:                  howto manager.      (line 1761)
+* BFD_RELOC_METAG_JMP_SLOT:              howto manager.      (line 1777)
+* BFD_RELOC_METAG_LO16_GOTOFF:           howto manager.      (line 1766)
+* BFD_RELOC_METAG_LO16_GOTPC:            howto manager.      (line 1770)
+* BFD_RELOC_METAG_LO16_PLT:              howto manager.      (line 1772)
+* BFD_RELOC_METAG_LOADDR16:              howto manager.      (line 1758)
+* BFD_RELOC_METAG_LOOG:                  howto manager.      (line 1762)
+* BFD_RELOC_METAG_PLT:                   howto manager.      (line 1775)
+* BFD_RELOC_METAG_REL16:                 howto manager.      (line 1764)
+* BFD_RELOC_METAG_REL8:                  howto manager.      (line 1763)
+* BFD_RELOC_METAG_RELATIVE:              howto manager.      (line 1778)
+* BFD_RELOC_METAG_RELBRANCH:             howto manager.      (line 1759)
+* BFD_RELOC_METAG_RELBRANCH_PLT:         howto manager.      (line 1773)
+* BFD_RELOC_METAG_TLS_DTPMOD:            howto manager.      (line 1790)
+* BFD_RELOC_METAG_TLS_DTPOFF:            howto manager.      (line 1791)
+* BFD_RELOC_METAG_TLS_GD:                howto manager.      (line 1780)
+* BFD_RELOC_METAG_TLS_IE:                howto manager.      (line 1785)
+* BFD_RELOC_METAG_TLS_IENONPIC:          howto manager.      (line 1786)
+* BFD_RELOC_METAG_TLS_IENONPIC_HI16:     howto manager.      (line 1787)
+* BFD_RELOC_METAG_TLS_IENONPIC_LO16:     howto manager.      (line 1788)
+* BFD_RELOC_METAG_TLS_LDM:               howto manager.      (line 1781)
+* BFD_RELOC_METAG_TLS_LDO:               howto manager.      (line 1784)
+* BFD_RELOC_METAG_TLS_LDO_HI16:          howto manager.      (line 1782)
+* BFD_RELOC_METAG_TLS_LDO_LO16:          howto manager.      (line 1783)
+* BFD_RELOC_METAG_TLS_LE:                howto manager.      (line 1792)
+* BFD_RELOC_METAG_TLS_LE_HI16:           howto manager.      (line 1793)
+* BFD_RELOC_METAG_TLS_LE_LO16:           howto manager.      (line 1794)
+* BFD_RELOC_METAG_TLS_TPOFF:             howto manager.      (line 1789)
+* BFD_RELOC_MICROBLAZE_32_GOTOFF:        howto manager.      (line 2961)
+* BFD_RELOC_MICROBLAZE_32_LO:            howto manager.      (line 2917)
+* BFD_RELOC_MICROBLAZE_32_LO_PCREL:      howto manager.      (line 2921)
+* BFD_RELOC_MICROBLAZE_32_ROSDA:         howto manager.      (line 2925)
+* BFD_RELOC_MICROBLAZE_32_RWSDA:         howto manager.      (line 2929)
+* BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:    howto manager.      (line 2933)
+* BFD_RELOC_MICROBLAZE_32_TLSDTPMOD:     howto manager.      (line 2982)
+* BFD_RELOC_MICROBLAZE_32_TLSDTPREL:     howto manager.      (line 2985)
+* BFD_RELOC_MICROBLAZE_64_GOT:           howto manager.      (line 2947)
+* BFD_RELOC_MICROBLAZE_64_GOTOFF:        howto manager.      (line 2956)
+* BFD_RELOC_MICROBLAZE_64_GOTPC:         howto manager.      (line 2942)
+* BFD_RELOC_MICROBLAZE_64_NONE:          howto manager.      (line 2937)
+* BFD_RELOC_MICROBLAZE_64_PLT:           howto manager.      (line 2951)
+* BFD_RELOC_MICROBLAZE_64_TLS:           howto manager.      (line 2969)
+* BFD_RELOC_MICROBLAZE_64_TLSDTPREL:     howto manager.      (line 2988)
+* BFD_RELOC_MICROBLAZE_64_TLSGD:         howto manager.      (line 2972)
+* BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL:   howto manager.      (line 2992)
+* BFD_RELOC_MICROBLAZE_64_TLSLD:         howto manager.      (line 2977)
+* BFD_RELOC_MICROBLAZE_64_TLSTPREL:      howto manager.      (line 2996)
+* BFD_RELOC_MICROBLAZE_COPY:             howto manager.      (line 2965)
 * BFD_RELOC_MICROMIPS_10_PCREL_S1:       howto manager.      (line  404)
 * BFD_RELOC_MICROMIPS_16_PCREL_S1:       howto manager.      (line  405)
 * BFD_RELOC_MICROMIPS_7_PCREL_S1:        howto manager.      (line  403)
-* BFD_RELOC_MICROMIPS_CALL16:            howto manager.      (line  417)
-* BFD_RELOC_MICROMIPS_CALL_HI16:         howto manager.      (line  423)
-* BFD_RELOC_MICROMIPS_CALL_LO16:         howto manager.      (line  425)
-* BFD_RELOC_MICROMIPS_GOT16:             howto manager.      (line  415)
-* BFD_RELOC_MICROMIPS_GOT_DISP:          howto manager.      (line  433)
-* BFD_RELOC_MICROMIPS_GOT_HI16:          howto manager.      (line  419)
-* BFD_RELOC_MICROMIPS_GOT_LO16:          howto manager.      (line  421)
-* BFD_RELOC_MICROMIPS_GOT_OFST:          howto manager.      (line  431)
-* BFD_RELOC_MICROMIPS_GOT_PAGE:          howto manager.      (line  429)
-* BFD_RELOC_MICROMIPS_GPREL16:           howto manager.      (line  408)
-* BFD_RELOC_MICROMIPS_HI16:              howto manager.      (line  409)
-* BFD_RELOC_MICROMIPS_HI16_S:            howto manager.      (line  410)
-* BFD_RELOC_MICROMIPS_HIGHER:            howto manager.      (line  442)
-* BFD_RELOC_MICROMIPS_HIGHEST:           howto manager.      (line  440)
-* BFD_RELOC_MICROMIPS_JALR:              howto manager.      (line  448)
+* BFD_RELOC_MICROMIPS_CALL16:            howto manager.      (line  423)
+* BFD_RELOC_MICROMIPS_CALL_HI16:         howto manager.      (line  429)
+* BFD_RELOC_MICROMIPS_CALL_LO16:         howto manager.      (line  431)
+* BFD_RELOC_MICROMIPS_GOT16:             howto manager.      (line  421)
+* BFD_RELOC_MICROMIPS_GOT_DISP:          howto manager.      (line  439)
+* BFD_RELOC_MICROMIPS_GOT_HI16:          howto manager.      (line  425)
+* BFD_RELOC_MICROMIPS_GOT_LO16:          howto manager.      (line  427)
+* BFD_RELOC_MICROMIPS_GOT_OFST:          howto manager.      (line  437)
+* BFD_RELOC_MICROMIPS_GOT_PAGE:          howto manager.      (line  435)
+* BFD_RELOC_MICROMIPS_GPREL16:           howto manager.      (line  414)
+* BFD_RELOC_MICROMIPS_HI16:              howto manager.      (line  415)
+* BFD_RELOC_MICROMIPS_HI16_S:            howto manager.      (line  416)
+* BFD_RELOC_MICROMIPS_HIGHER:            howto manager.      (line  448)
+* BFD_RELOC_MICROMIPS_HIGHEST:           howto manager.      (line  446)
+* BFD_RELOC_MICROMIPS_JALR:              howto manager.      (line  454)
 * BFD_RELOC_MICROMIPS_JMP:               howto manager.      (line  343)
 * BFD_RELOC_MICROMIPS_LITERAL:           howto manager.      (line  400)
-* BFD_RELOC_MICROMIPS_LO16:              howto manager.      (line  411)
-* BFD_RELOC_MICROMIPS_SCN_DISP:          howto manager.      (line  444)
-* BFD_RELOC_MICROMIPS_SUB:               howto manager.      (line  427)
-* BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16:   howto manager.      (line  458)
-* BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16:   howto manager.      (line  460)
-* BFD_RELOC_MICROMIPS_TLS_GD:            howto manager.      (line  454)
-* BFD_RELOC_MICROMIPS_TLS_GOTTPREL:      howto manager.      (line  462)
-* BFD_RELOC_MICROMIPS_TLS_LDM:           howto manager.      (line  456)
-* BFD_RELOC_MICROMIPS_TLS_TPREL_HI16:    howto manager.      (line  466)
-* BFD_RELOC_MICROMIPS_TLS_TPREL_LO16:    howto manager.      (line  468)
+* BFD_RELOC_MICROMIPS_LO16:              howto manager.      (line  417)
+* BFD_RELOC_MICROMIPS_SCN_DISP:          howto manager.      (line  450)
+* BFD_RELOC_MICROMIPS_SUB:               howto manager.      (line  433)
+* BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16:   howto manager.      (line  464)
+* BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16:   howto manager.      (line  466)
+* BFD_RELOC_MICROMIPS_TLS_GD:            howto manager.      (line  460)
+* BFD_RELOC_MICROMIPS_TLS_GOTTPREL:      howto manager.      (line  468)
+* BFD_RELOC_MICROMIPS_TLS_LDM:           howto manager.      (line  462)
+* BFD_RELOC_MICROMIPS_TLS_TPREL_HI16:    howto manager.      (line  472)
+* BFD_RELOC_MICROMIPS_TLS_TPREL_LO16:    howto manager.      (line  474)
 * BFD_RELOC_MIPS16_CALL16:               howto manager.      (line  374)
 * BFD_RELOC_MIPS16_GOT16:                howto manager.      (line  373)
 * BFD_RELOC_MIPS16_GPREL:                howto manager.      (line  349)
@@ -12490,588 +12541,613 @@ BFD Index
 * BFD_RELOC_MIPS16_TLS_LDM:              howto manager.      (line  391)
 * BFD_RELOC_MIPS16_TLS_TPREL_HI16:       howto manager.      (line  395)
 * BFD_RELOC_MIPS16_TLS_TPREL_LO16:       howto manager.      (line  396)
-* BFD_RELOC_MIPS_CALL16:                 howto manager.      (line  416)
-* BFD_RELOC_MIPS_CALL_HI16:              howto manager.      (line  422)
-* BFD_RELOC_MIPS_CALL_LO16:              howto manager.      (line  424)
-* BFD_RELOC_MIPS_COPY:                   howto manager.      (line  472)
-* BFD_RELOC_MIPS_DELETE:                 howto manager.      (line  438)
-* BFD_RELOC_MIPS_EH:                     howto manager.      (line  469)
-* BFD_RELOC_MIPS_GOT16:                  howto manager.      (line  414)
-* BFD_RELOC_MIPS_GOT_DISP:               howto manager.      (line  432)
-* BFD_RELOC_MIPS_GOT_HI16:               howto manager.      (line  418)
-* BFD_RELOC_MIPS_GOT_LO16:               howto manager.      (line  420)
-* BFD_RELOC_MIPS_GOT_OFST:               howto manager.      (line  430)
-* BFD_RELOC_MIPS_GOT_PAGE:               howto manager.      (line  428)
-* BFD_RELOC_MIPS_HIGHER:                 howto manager.      (line  441)
-* BFD_RELOC_MIPS_HIGHEST:                howto manager.      (line  439)
-* BFD_RELOC_MIPS_INSERT_A:               howto manager.      (line  436)
-* BFD_RELOC_MIPS_INSERT_B:               howto manager.      (line  437)
-* BFD_RELOC_MIPS_JALR:                   howto manager.      (line  447)
+* BFD_RELOC_MIPS_18_PCREL_S3:            howto manager.      (line  410)
+* BFD_RELOC_MIPS_19_PCREL_S2:            howto manager.      (line  411)
+* BFD_RELOC_MIPS_21_PCREL_S2:            howto manager.      (line  408)
+* BFD_RELOC_MIPS_26_PCREL_S2:            howto manager.      (line  409)
+* BFD_RELOC_MIPS_CALL16:                 howto manager.      (line  422)
+* BFD_RELOC_MIPS_CALL_HI16:              howto manager.      (line  428)
+* BFD_RELOC_MIPS_CALL_LO16:              howto manager.      (line  430)
+* BFD_RELOC_MIPS_COPY:                   howto manager.      (line  478)
+* BFD_RELOC_MIPS_DELETE:                 howto manager.      (line  444)
+* BFD_RELOC_MIPS_EH:                     howto manager.      (line  475)
+* BFD_RELOC_MIPS_GOT16:                  howto manager.      (line  420)
+* BFD_RELOC_MIPS_GOT_DISP:               howto manager.      (line  438)
+* BFD_RELOC_MIPS_GOT_HI16:               howto manager.      (line  424)
+* BFD_RELOC_MIPS_GOT_LO16:               howto manager.      (line  426)
+* BFD_RELOC_MIPS_GOT_OFST:               howto manager.      (line  436)
+* BFD_RELOC_MIPS_GOT_PAGE:               howto manager.      (line  434)
+* BFD_RELOC_MIPS_HIGHER:                 howto manager.      (line  447)
+* BFD_RELOC_MIPS_HIGHEST:                howto manager.      (line  445)
+* BFD_RELOC_MIPS_INSERT_A:               howto manager.      (line  442)
+* BFD_RELOC_MIPS_INSERT_B:               howto manager.      (line  443)
+* BFD_RELOC_MIPS_JALR:                   howto manager.      (line  453)
 * BFD_RELOC_MIPS_JMP:                    howto manager.      (line  342)
-* BFD_RELOC_MIPS_JUMP_SLOT:              howto manager.      (line  473)
+* BFD_RELOC_MIPS_JUMP_SLOT:              howto manager.      (line  479)
 * BFD_RELOC_MIPS_LITERAL:                howto manager.      (line  399)
-* BFD_RELOC_MIPS_REL16:                  howto manager.      (line  445)
-* BFD_RELOC_MIPS_RELGOT:                 howto manager.      (line  446)
-* BFD_RELOC_MIPS_SCN_DISP:               howto manager.      (line  443)
-* BFD_RELOC_MIPS_SHIFT5:                 howto manager.      (line  434)
-* BFD_RELOC_MIPS_SHIFT6:                 howto manager.      (line  435)
-* BFD_RELOC_MIPS_SUB:                    howto manager.      (line  426)
-* BFD_RELOC_MIPS_TLS_DTPMOD32:           howto manager.      (line  449)
-* BFD_RELOC_MIPS_TLS_DTPMOD64:           howto manager.      (line  451)
-* BFD_RELOC_MIPS_TLS_DTPREL32:           howto manager.      (line  450)
-* BFD_RELOC_MIPS_TLS_DTPREL64:           howto manager.      (line  452)
-* BFD_RELOC_MIPS_TLS_DTPREL_HI16:        howto manager.      (line  457)
-* BFD_RELOC_MIPS_TLS_DTPREL_LO16:        howto manager.      (line  459)
-* BFD_RELOC_MIPS_TLS_GD:                 howto manager.      (line  453)
-* BFD_RELOC_MIPS_TLS_GOTTPREL:           howto manager.      (line  461)
-* BFD_RELOC_MIPS_TLS_LDM:                howto manager.      (line  455)
-* BFD_RELOC_MIPS_TLS_TPREL32:            howto manager.      (line  463)
-* BFD_RELOC_MIPS_TLS_TPREL64:            howto manager.      (line  464)
-* BFD_RELOC_MIPS_TLS_TPREL_HI16:         howto manager.      (line  465)
-* BFD_RELOC_MIPS_TLS_TPREL_LO16:         howto manager.      (line  467)
-* BFD_RELOC_MMIX_ADDR19:                 howto manager.      (line 1790)
-* BFD_RELOC_MMIX_ADDR27:                 howto manager.      (line 1794)
-* BFD_RELOC_MMIX_BASE_PLUS_OFFSET:       howto manager.      (line 1806)
-* BFD_RELOC_MMIX_CBRANCH:                howto manager.      (line 1770)
-* BFD_RELOC_MMIX_CBRANCH_1:              howto manager.      (line 1772)
-* BFD_RELOC_MMIX_CBRANCH_2:              howto manager.      (line 1773)
-* BFD_RELOC_MMIX_CBRANCH_3:              howto manager.      (line 1774)
-* BFD_RELOC_MMIX_CBRANCH_J:              howto manager.      (line 1771)
-* BFD_RELOC_MMIX_GETA:                   howto manager.      (line 1764)
-* BFD_RELOC_MMIX_GETA_1:                 howto manager.      (line 1765)
-* BFD_RELOC_MMIX_GETA_2:                 howto manager.      (line 1766)
-* BFD_RELOC_MMIX_GETA_3:                 howto manager.      (line 1767)
-* BFD_RELOC_MMIX_JMP:                    howto manager.      (line 1784)
-* BFD_RELOC_MMIX_JMP_1:                  howto manager.      (line 1785)
-* BFD_RELOC_MMIX_JMP_2:                  howto manager.      (line 1786)
-* BFD_RELOC_MMIX_JMP_3:                  howto manager.      (line 1787)
-* BFD_RELOC_MMIX_LOCAL:                  howto manager.      (line 1810)
-* BFD_RELOC_MMIX_PUSHJ:                  howto manager.      (line 1777)
-* BFD_RELOC_MMIX_PUSHJ_1:                howto manager.      (line 1778)
-* BFD_RELOC_MMIX_PUSHJ_2:                howto manager.      (line 1779)
-* BFD_RELOC_MMIX_PUSHJ_3:                howto manager.      (line 1780)
-* BFD_RELOC_MMIX_PUSHJ_STUBBABLE:        howto manager.      (line 1781)
-* BFD_RELOC_MMIX_REG:                    howto manager.      (line 1802)
-* BFD_RELOC_MMIX_REG_OR_BYTE:            howto manager.      (line 1798)
-* BFD_RELOC_MN10300_16_PCREL:            howto manager.      (line  571)
-* BFD_RELOC_MN10300_32_PCREL:            howto manager.      (line  567)
-* BFD_RELOC_MN10300_ALIGN:               howto manager.      (line  552)
-* BFD_RELOC_MN10300_COPY:                howto manager.      (line  535)
-* BFD_RELOC_MN10300_GLOB_DAT:            howto manager.      (line  538)
-* BFD_RELOC_MN10300_GOT16:               howto manager.      (line  531)
-* BFD_RELOC_MN10300_GOT24:               howto manager.      (line  527)
-* BFD_RELOC_MN10300_GOT32:               howto manager.      (line  523)
-* BFD_RELOC_MN10300_GOTOFF24:            howto manager.      (line  520)
-* BFD_RELOC_MN10300_JMP_SLOT:            howto manager.      (line  541)
-* BFD_RELOC_MN10300_RELATIVE:            howto manager.      (line  544)
-* BFD_RELOC_MN10300_SYM_DIFF:            howto manager.      (line  547)
-* BFD_RELOC_MN10300_TLS_DTPMOD:          howto manager.      (line  562)
-* BFD_RELOC_MN10300_TLS_DTPOFF:          howto manager.      (line  563)
-* BFD_RELOC_MN10300_TLS_GD:              howto manager.      (line  556)
-* BFD_RELOC_MN10300_TLS_GOTIE:           howto manager.      (line  559)
-* BFD_RELOC_MN10300_TLS_IE:              howto manager.      (line  560)
-* BFD_RELOC_MN10300_TLS_LD:              howto manager.      (line  557)
-* BFD_RELOC_MN10300_TLS_LDO:             howto manager.      (line  558)
-* BFD_RELOC_MN10300_TLS_LE:              howto manager.      (line  561)
-* BFD_RELOC_MN10300_TLS_TPOFF:           howto manager.      (line  564)
-* BFD_RELOC_MOXIE_10_PCREL:              howto manager.      (line  476)
-* BFD_RELOC_MSP430_10_PCREL:             howto manager.      (line 2654)
-* BFD_RELOC_MSP430_16:                   howto manager.      (line 2656)
-* BFD_RELOC_MSP430_16_BYTE:              howto manager.      (line 2658)
-* BFD_RELOC_MSP430_16_PCREL:             howto manager.      (line 2655)
-* BFD_RELOC_MSP430_16_PCREL_BYTE:        howto manager.      (line 2657)
-* BFD_RELOC_MSP430_2X_PCREL:             howto manager.      (line 2659)
-* BFD_RELOC_MSP430_ABS8:                 howto manager.      (line 2661)
-* BFD_RELOC_MSP430_ABS_HI16:             howto manager.      (line 2673)
-* BFD_RELOC_MSP430_PREL31:               howto manager.      (line 2674)
-* BFD_RELOC_MSP430_RL_PCREL:             howto manager.      (line 2660)
-* BFD_RELOC_MSP430_SYM_DIFF:             howto manager.      (line 2675)
-* BFD_RELOC_MSP430X_ABS16:               howto manager.      (line 2672)
-* BFD_RELOC_MSP430X_ABS20_ADR_DST:       howto manager.      (line 2669)
-* BFD_RELOC_MSP430X_ABS20_ADR_SRC:       howto manager.      (line 2668)
-* BFD_RELOC_MSP430X_ABS20_EXT_DST:       howto manager.      (line 2666)
-* BFD_RELOC_MSP430X_ABS20_EXT_ODST:      howto manager.      (line 2667)
-* BFD_RELOC_MSP430X_ABS20_EXT_SRC:       howto manager.      (line 2665)
-* BFD_RELOC_MSP430X_PCR16:               howto manager.      (line 2670)
-* BFD_RELOC_MSP430X_PCR20_CALL:          howto manager.      (line 2671)
-* BFD_RELOC_MSP430X_PCR20_EXT_DST:       howto manager.      (line 2663)
-* BFD_RELOC_MSP430X_PCR20_EXT_ODST:      howto manager.      (line 2664)
-* BFD_RELOC_MSP430X_PCR20_EXT_SRC:       howto manager.      (line 2662)
-* BFD_RELOC_MT_GNU_VTENTRY:              howto manager.      (line 2648)
-* BFD_RELOC_MT_GNU_VTINHERIT:            howto manager.      (line 2645)
-* BFD_RELOC_MT_HI16:                     howto manager.      (line 2639)
-* BFD_RELOC_MT_LO16:                     howto manager.      (line 2642)
-* BFD_RELOC_MT_PC16:                     howto manager.      (line 2636)
-* BFD_RELOC_MT_PCINSN8:                  howto manager.      (line 2651)
-* BFD_RELOC_NDS32_10_UPCREL:             howto manager.      (line 1439)
-* BFD_RELOC_NDS32_10IFCU_PCREL:          howto manager.      (line 1467)
-* BFD_RELOC_NDS32_15_FIXED:              howto manager.      (line 1400)
-* BFD_RELOC_NDS32_15_PCREL:              howto manager.      (line 1308)
-* BFD_RELOC_NDS32_17_FIXED:              howto manager.      (line 1401)
-* BFD_RELOC_NDS32_17_PCREL:              howto manager.      (line 1311)
-* BFD_RELOC_NDS32_17IFC_PCREL:           howto manager.      (line 1466)
-* BFD_RELOC_NDS32_20:                    howto manager.      (line 1297)
-* BFD_RELOC_NDS32_25_ABS:                howto manager.      (line 1463)
-* BFD_RELOC_NDS32_25_FIXED:              howto manager.      (line 1402)
-* BFD_RELOC_NDS32_25_PCREL:              howto manager.      (line 1314)
-* BFD_RELOC_NDS32_25_PLTREL:             howto manager.      (line 1375)
-* BFD_RELOC_NDS32_5:                     howto manager.      (line 1436)
-* BFD_RELOC_NDS32_9_FIXED:               howto manager.      (line 1399)
-* BFD_RELOC_NDS32_9_PCREL:               howto manager.      (line 1300)
-* BFD_RELOC_NDS32_9_PLTREL:              howto manager.      (line 1374)
-* BFD_RELOC_NDS32_COPY:                  howto manager.      (line 1376)
-* BFD_RELOC_NDS32_DATA:                  howto manager.      (line 1464)
-* BFD_RELOC_NDS32_DIFF16:                howto manager.      (line 1460)
-* BFD_RELOC_NDS32_DIFF32:                howto manager.      (line 1461)
-* BFD_RELOC_NDS32_DIFF8:                 howto manager.      (line 1459)
-* BFD_RELOC_NDS32_DIFF_ULEB128:          howto manager.      (line 1462)
-* BFD_RELOC_NDS32_DWARF2_LEB:            howto manager.      (line 1419)
-* BFD_RELOC_NDS32_DWARF2_OP1:            howto manager.      (line 1417)
-* BFD_RELOC_NDS32_DWARF2_OP2:            howto manager.      (line 1418)
-* BFD_RELOC_NDS32_GLOB_DAT:              howto manager.      (line 1377)
-* BFD_RELOC_NDS32_GOT15S2:               howto manager.      (line 1432)
-* BFD_RELOC_NDS32_GOT17S2:               howto manager.      (line 1433)
-* BFD_RELOC_NDS32_GOT20:                 howto manager.      (line 1373)
-* BFD_RELOC_NDS32_GOT_HI20:              howto manager.      (line 1384)
-* BFD_RELOC_NDS32_GOT_LO12:              howto manager.      (line 1385)
-* BFD_RELOC_NDS32_GOT_LO15:              howto manager.      (line 1428)
-* BFD_RELOC_NDS32_GOT_LO19:              howto manager.      (line 1429)
-* BFD_RELOC_NDS32_GOT_SUFF:              howto manager.      (line 1447)
-* BFD_RELOC_NDS32_GOTOFF:                howto manager.      (line 1380)
-* BFD_RELOC_NDS32_GOTOFF_HI20:           howto manager.      (line 1381)
-* BFD_RELOC_NDS32_GOTOFF_LO12:           howto manager.      (line 1382)
-* BFD_RELOC_NDS32_GOTOFF_LO15:           howto manager.      (line 1430)
-* BFD_RELOC_NDS32_GOTOFF_LO19:           howto manager.      (line 1431)
-* BFD_RELOC_NDS32_GOTOFF_SUFF:           howto manager.      (line 1448)
-* BFD_RELOC_NDS32_GOTPC20:               howto manager.      (line 1383)
-* BFD_RELOC_NDS32_GOTPC_HI20:            howto manager.      (line 1386)
-* BFD_RELOC_NDS32_GOTPC_LO12:            howto manager.      (line 1387)
-* BFD_RELOC_NDS32_HI20:                  howto manager.      (line 1317)
-* BFD_RELOC_NDS32_INSN16:                howto manager.      (line 1390)
-* BFD_RELOC_NDS32_JMP_SLOT:              howto manager.      (line 1378)
-* BFD_RELOC_NDS32_LABEL:                 howto manager.      (line 1391)
-* BFD_RELOC_NDS32_LO12S0:                howto manager.      (line 1333)
-* BFD_RELOC_NDS32_LO12S0_ORI:            howto manager.      (line 1337)
-* BFD_RELOC_NDS32_LO12S1:                howto manager.      (line 1329)
-* BFD_RELOC_NDS32_LO12S2:                howto manager.      (line 1325)
-* BFD_RELOC_NDS32_LO12S2_DP:             howto manager.      (line 1413)
-* BFD_RELOC_NDS32_LO12S2_SP:             howto manager.      (line 1414)
-* BFD_RELOC_NDS32_LO12S3:                howto manager.      (line 1321)
-* BFD_RELOC_NDS32_LOADSTORE:             howto manager.      (line 1398)
-* BFD_RELOC_NDS32_LONGCALL1:             howto manager.      (line 1392)
-* BFD_RELOC_NDS32_LONGCALL2:             howto manager.      (line 1393)
-* BFD_RELOC_NDS32_LONGCALL3:             howto manager.      (line 1394)
-* BFD_RELOC_NDS32_LONGJUMP1:             howto manager.      (line 1395)
-* BFD_RELOC_NDS32_LONGJUMP2:             howto manager.      (line 1396)
-* BFD_RELOC_NDS32_LONGJUMP3:             howto manager.      (line 1397)
-* BFD_RELOC_NDS32_MINUEND:               howto manager.      (line 1457)
-* BFD_RELOC_NDS32_MULCALL_SUFF:          howto manager.      (line 1450)
-* BFD_RELOC_NDS32_PLT_GOT_SUFF:          howto manager.      (line 1449)
-* BFD_RELOC_NDS32_PLT_GOTREL_HI20:       howto manager.      (line 1407)
-* BFD_RELOC_NDS32_PLT_GOTREL_LO12:       howto manager.      (line 1408)
-* BFD_RELOC_NDS32_PLT_GOTREL_LO15:       howto manager.      (line 1426)
-* BFD_RELOC_NDS32_PLT_GOTREL_LO19:       howto manager.      (line 1427)
-* BFD_RELOC_NDS32_PLT_GOTREL_LO20:       howto manager.      (line 1425)
-* BFD_RELOC_NDS32_PLTBLOCK:              howto manager.      (line 1454)
-* BFD_RELOC_NDS32_PLTREL_HI20:           howto manager.      (line 1405)
-* BFD_RELOC_NDS32_PLTREL_LO12:           howto manager.      (line 1406)
-* BFD_RELOC_NDS32_PTR:                   howto manager.      (line 1451)
-* BFD_RELOC_NDS32_PTR_COUNT:             howto manager.      (line 1452)
-* BFD_RELOC_NDS32_PTR_RESOLVED:          howto manager.      (line 1453)
-* BFD_RELOC_NDS32_RELATIVE:              howto manager.      (line 1379)
-* BFD_RELOC_NDS32_RELAX_ENTRY:           howto manager.      (line 1446)
-* BFD_RELOC_NDS32_RELAX_REGION_BEGIN:    howto manager.      (line 1455)
-* BFD_RELOC_NDS32_RELAX_REGION_END:      howto manager.      (line 1456)
-* BFD_RELOC_NDS32_SDA12S2_DP:            howto manager.      (line 1411)
-* BFD_RELOC_NDS32_SDA12S2_SP:            howto manager.      (line 1412)
-* BFD_RELOC_NDS32_SDA15S0:               howto manager.      (line 1353)
-* BFD_RELOC_NDS32_SDA15S1:               howto manager.      (line 1349)
-* BFD_RELOC_NDS32_SDA15S2:               howto manager.      (line 1345)
-* BFD_RELOC_NDS32_SDA15S3:               howto manager.      (line 1341)
-* BFD_RELOC_NDS32_SDA16S3:               howto manager.      (line 1357)
-* BFD_RELOC_NDS32_SDA17S2:               howto manager.      (line 1361)
-* BFD_RELOC_NDS32_SDA18S1:               howto manager.      (line 1365)
-* BFD_RELOC_NDS32_SDA19S0:               howto manager.      (line 1369)
-* BFD_RELOC_NDS32_SDA_FP7U2_RELA:        howto manager.      (line 1443)
-* BFD_RELOC_NDS32_SUBTRAHEND:            howto manager.      (line 1458)
-* BFD_RELOC_NDS32_TRAN:                  howto manager.      (line 1465)
-* BFD_RELOC_NDS32_UPDATE_TA:             howto manager.      (line 1422)
-* BFD_RELOC_NDS32_WORD_9_PCREL:          howto manager.      (line 1304)
-* BFD_RELOC_NIOS2_ALIGN:                 howto manager.      (line 2692)
-* BFD_RELOC_NIOS2_CACHE_OPX:             howto manager.      (line 2682)
-* BFD_RELOC_NIOS2_CALL16:                howto manager.      (line 2694)
-* BFD_RELOC_NIOS2_CALL26:                howto manager.      (line 2680)
-* BFD_RELOC_NIOS2_CALL26_NOAT:           howto manager.      (line 2712)
-* BFD_RELOC_NIOS2_CALL_HA:               howto manager.      (line 2716)
-* BFD_RELOC_NIOS2_CALL_LO:               howto manager.      (line 2715)
-* BFD_RELOC_NIOS2_CALLR:                 howto manager.      (line 2691)
-* BFD_RELOC_NIOS2_CJMP:                  howto manager.      (line 2690)
-* BFD_RELOC_NIOS2_COPY:                  howto manager.      (line 2707)
-* BFD_RELOC_NIOS2_GLOB_DAT:              howto manager.      (line 2708)
-* BFD_RELOC_NIOS2_GOT16:                 howto manager.      (line 2693)
-* BFD_RELOC_NIOS2_GOT_HA:                howto manager.      (line 2714)
-* BFD_RELOC_NIOS2_GOT_LO:                howto manager.      (line 2713)
-* BFD_RELOC_NIOS2_GOTOFF:                howto manager.      (line 2711)
-* BFD_RELOC_NIOS2_GOTOFF_HA:             howto manager.      (line 2696)
-* BFD_RELOC_NIOS2_GOTOFF_LO:             howto manager.      (line 2695)
-* BFD_RELOC_NIOS2_GPREL:                 howto manager.      (line 2688)
-* BFD_RELOC_NIOS2_HI16:                  howto manager.      (line 2685)
-* BFD_RELOC_NIOS2_HIADJ16:               howto manager.      (line 2687)
-* BFD_RELOC_NIOS2_IMM5:                  howto manager.      (line 2681)
-* BFD_RELOC_NIOS2_IMM6:                  howto manager.      (line 2683)
-* BFD_RELOC_NIOS2_IMM8:                  howto manager.      (line 2684)
-* BFD_RELOC_NIOS2_JUMP_SLOT:             howto manager.      (line 2709)
-* BFD_RELOC_NIOS2_LO16:                  howto manager.      (line 2686)
-* BFD_RELOC_NIOS2_PCREL_HA:              howto manager.      (line 2698)
-* BFD_RELOC_NIOS2_PCREL_LO:              howto manager.      (line 2697)
-* BFD_RELOC_NIOS2_RELATIVE:              howto manager.      (line 2710)
-* BFD_RELOC_NIOS2_S16:                   howto manager.      (line 2678)
-* BFD_RELOC_NIOS2_TLS_DTPMOD:            howto manager.      (line 2704)
-* BFD_RELOC_NIOS2_TLS_DTPREL:            howto manager.      (line 2705)
-* BFD_RELOC_NIOS2_TLS_GD16:              howto manager.      (line 2699)
-* BFD_RELOC_NIOS2_TLS_IE16:              howto manager.      (line 2702)
-* BFD_RELOC_NIOS2_TLS_LDM16:             howto manager.      (line 2700)
-* BFD_RELOC_NIOS2_TLS_LDO16:             howto manager.      (line 2701)
-* BFD_RELOC_NIOS2_TLS_LE16:              howto manager.      (line 2703)
-* BFD_RELOC_NIOS2_TLS_TPREL:             howto manager.      (line 2706)
-* BFD_RELOC_NIOS2_U16:                   howto manager.      (line 2679)
-* BFD_RELOC_NIOS2_UJMP:                  howto manager.      (line 2689)
+* BFD_RELOC_MIPS_REL16:                  howto manager.      (line  451)
+* BFD_RELOC_MIPS_RELGOT:                 howto manager.      (line  452)
+* BFD_RELOC_MIPS_SCN_DISP:               howto manager.      (line  449)
+* BFD_RELOC_MIPS_SHIFT5:                 howto manager.      (line  440)
+* BFD_RELOC_MIPS_SHIFT6:                 howto manager.      (line  441)
+* BFD_RELOC_MIPS_SUB:                    howto manager.      (line  432)
+* BFD_RELOC_MIPS_TLS_DTPMOD32:           howto manager.      (line  455)
+* BFD_RELOC_MIPS_TLS_DTPMOD64:           howto manager.      (line  457)
+* BFD_RELOC_MIPS_TLS_DTPREL32:           howto manager.      (line  456)
+* BFD_RELOC_MIPS_TLS_DTPREL64:           howto manager.      (line  458)
+* BFD_RELOC_MIPS_TLS_DTPREL_HI16:        howto manager.      (line  463)
+* BFD_RELOC_MIPS_TLS_DTPREL_LO16:        howto manager.      (line  465)
+* BFD_RELOC_MIPS_TLS_GD:                 howto manager.      (line  459)
+* BFD_RELOC_MIPS_TLS_GOTTPREL:           howto manager.      (line  467)
+* BFD_RELOC_MIPS_TLS_LDM:                howto manager.      (line  461)
+* BFD_RELOC_MIPS_TLS_TPREL32:            howto manager.      (line  469)
+* BFD_RELOC_MIPS_TLS_TPREL64:            howto manager.      (line  470)
+* BFD_RELOC_MIPS_TLS_TPREL_HI16:         howto manager.      (line  471)
+* BFD_RELOC_MIPS_TLS_TPREL_LO16:         howto manager.      (line  473)
+* BFD_RELOC_MMIX_ADDR19:                 howto manager.      (line 1823)
+* BFD_RELOC_MMIX_ADDR27:                 howto manager.      (line 1827)
+* BFD_RELOC_MMIX_BASE_PLUS_OFFSET:       howto manager.      (line 1839)
+* BFD_RELOC_MMIX_CBRANCH:                howto manager.      (line 1803)
+* BFD_RELOC_MMIX_CBRANCH_1:              howto manager.      (line 1805)
+* BFD_RELOC_MMIX_CBRANCH_2:              howto manager.      (line 1806)
+* BFD_RELOC_MMIX_CBRANCH_3:              howto manager.      (line 1807)
+* BFD_RELOC_MMIX_CBRANCH_J:              howto manager.      (line 1804)
+* BFD_RELOC_MMIX_GETA:                   howto manager.      (line 1797)
+* BFD_RELOC_MMIX_GETA_1:                 howto manager.      (line 1798)
+* BFD_RELOC_MMIX_GETA_2:                 howto manager.      (line 1799)
+* BFD_RELOC_MMIX_GETA_3:                 howto manager.      (line 1800)
+* BFD_RELOC_MMIX_JMP:                    howto manager.      (line 1817)
+* BFD_RELOC_MMIX_JMP_1:                  howto manager.      (line 1818)
+* BFD_RELOC_MMIX_JMP_2:                  howto manager.      (line 1819)
+* BFD_RELOC_MMIX_JMP_3:                  howto manager.      (line 1820)
+* BFD_RELOC_MMIX_LOCAL:                  howto manager.      (line 1843)
+* BFD_RELOC_MMIX_PUSHJ:                  howto manager.      (line 1810)
+* BFD_RELOC_MMIX_PUSHJ_1:                howto manager.      (line 1811)
+* BFD_RELOC_MMIX_PUSHJ_2:                howto manager.      (line 1812)
+* BFD_RELOC_MMIX_PUSHJ_3:                howto manager.      (line 1813)
+* BFD_RELOC_MMIX_PUSHJ_STUBBABLE:        howto manager.      (line 1814)
+* BFD_RELOC_MMIX_REG:                    howto manager.      (line 1835)
+* BFD_RELOC_MMIX_REG_OR_BYTE:            howto manager.      (line 1831)
+* BFD_RELOC_MN10300_16_PCREL:            howto manager.      (line  577)
+* BFD_RELOC_MN10300_32_PCREL:            howto manager.      (line  573)
+* BFD_RELOC_MN10300_ALIGN:               howto manager.      (line  558)
+* BFD_RELOC_MN10300_COPY:                howto manager.      (line  541)
+* BFD_RELOC_MN10300_GLOB_DAT:            howto manager.      (line  544)
+* BFD_RELOC_MN10300_GOT16:               howto manager.      (line  537)
+* BFD_RELOC_MN10300_GOT24:               howto manager.      (line  533)
+* BFD_RELOC_MN10300_GOT32:               howto manager.      (line  529)
+* BFD_RELOC_MN10300_GOTOFF24:            howto manager.      (line  526)
+* BFD_RELOC_MN10300_JMP_SLOT:            howto manager.      (line  547)
+* BFD_RELOC_MN10300_RELATIVE:            howto manager.      (line  550)
+* BFD_RELOC_MN10300_SYM_DIFF:            howto manager.      (line  553)
+* BFD_RELOC_MN10300_TLS_DTPMOD:          howto manager.      (line  568)
+* BFD_RELOC_MN10300_TLS_DTPOFF:          howto manager.      (line  569)
+* BFD_RELOC_MN10300_TLS_GD:              howto manager.      (line  562)
+* BFD_RELOC_MN10300_TLS_GOTIE:           howto manager.      (line  565)
+* BFD_RELOC_MN10300_TLS_IE:              howto manager.      (line  566)
+* BFD_RELOC_MN10300_TLS_LD:              howto manager.      (line  563)
+* BFD_RELOC_MN10300_TLS_LDO:             howto manager.      (line  564)
+* BFD_RELOC_MN10300_TLS_LE:              howto manager.      (line  567)
+* BFD_RELOC_MN10300_TLS_TPOFF:           howto manager.      (line  570)
+* BFD_RELOC_MOXIE_10_PCREL:              howto manager.      (line  482)
+* BFD_RELOC_MSP430_10_PCREL:             howto manager.      (line 2699)
+* BFD_RELOC_MSP430_16:                   howto manager.      (line 2701)
+* BFD_RELOC_MSP430_16_BYTE:              howto manager.      (line 2703)
+* BFD_RELOC_MSP430_16_PCREL:             howto manager.      (line 2700)
+* BFD_RELOC_MSP430_16_PCREL_BYTE:        howto manager.      (line 2702)
+* BFD_RELOC_MSP430_2X_PCREL:             howto manager.      (line 2704)
+* BFD_RELOC_MSP430_ABS8:                 howto manager.      (line 2706)
+* BFD_RELOC_MSP430_ABS_HI16:             howto manager.      (line 2718)
+* BFD_RELOC_MSP430_PREL31:               howto manager.      (line 2719)
+* BFD_RELOC_MSP430_RL_PCREL:             howto manager.      (line 2705)
+* BFD_RELOC_MSP430_SYM_DIFF:             howto manager.      (line 2720)
+* BFD_RELOC_MSP430X_ABS16:               howto manager.      (line 2717)
+* BFD_RELOC_MSP430X_ABS20_ADR_DST:       howto manager.      (line 2714)
+* BFD_RELOC_MSP430X_ABS20_ADR_SRC:       howto manager.      (line 2713)
+* BFD_RELOC_MSP430X_ABS20_EXT_DST:       howto manager.      (line 2711)
+* BFD_RELOC_MSP430X_ABS20_EXT_ODST:      howto manager.      (line 2712)
+* BFD_RELOC_MSP430X_ABS20_EXT_SRC:       howto manager.      (line 2710)
+* BFD_RELOC_MSP430X_PCR16:               howto manager.      (line 2715)
+* BFD_RELOC_MSP430X_PCR20_CALL:          howto manager.      (line 2716)
+* BFD_RELOC_MSP430X_PCR20_EXT_DST:       howto manager.      (line 2708)
+* BFD_RELOC_MSP430X_PCR20_EXT_ODST:      howto manager.      (line 2709)
+* BFD_RELOC_MSP430X_PCR20_EXT_SRC:       howto manager.      (line 2707)
+* BFD_RELOC_MT_GNU_VTENTRY:              howto manager.      (line 2693)
+* BFD_RELOC_MT_GNU_VTINHERIT:            howto manager.      (line 2690)
+* BFD_RELOC_MT_HI16:                     howto manager.      (line 2684)
+* BFD_RELOC_MT_LO16:                     howto manager.      (line 2687)
+* BFD_RELOC_MT_PC16:                     howto manager.      (line 2681)
+* BFD_RELOC_MT_PCINSN8:                  howto manager.      (line 2696)
+* BFD_RELOC_NDS32_10_UPCREL:             howto manager.      (line 1452)
+* BFD_RELOC_NDS32_10IFCU_PCREL:          howto manager.      (line 1485)
+* BFD_RELOC_NDS32_15_FIXED:              howto manager.      (line 1406)
+* BFD_RELOC_NDS32_15_PCREL:              howto manager.      (line 1314)
+* BFD_RELOC_NDS32_17_FIXED:              howto manager.      (line 1407)
+* BFD_RELOC_NDS32_17_PCREL:              howto manager.      (line 1317)
+* BFD_RELOC_NDS32_17IFC_PCREL:           howto manager.      (line 1484)
+* BFD_RELOC_NDS32_20:                    howto manager.      (line 1303)
+* BFD_RELOC_NDS32_25_ABS:                howto manager.      (line 1479)
+* BFD_RELOC_NDS32_25_FIXED:              howto manager.      (line 1408)
+* BFD_RELOC_NDS32_25_PCREL:              howto manager.      (line 1320)
+* BFD_RELOC_NDS32_25_PLTREL:             howto manager.      (line 1381)
+* BFD_RELOC_NDS32_5:                     howto manager.      (line 1449)
+* BFD_RELOC_NDS32_9_FIXED:               howto manager.      (line 1405)
+* BFD_RELOC_NDS32_9_PCREL:               howto manager.      (line 1306)
+* BFD_RELOC_NDS32_9_PLTREL:              howto manager.      (line 1380)
+* BFD_RELOC_NDS32_COPY:                  howto manager.      (line 1382)
+* BFD_RELOC_NDS32_DATA:                  howto manager.      (line 1482)
+* BFD_RELOC_NDS32_DIFF16:                howto manager.      (line 1473)
+* BFD_RELOC_NDS32_DIFF32:                howto manager.      (line 1474)
+* BFD_RELOC_NDS32_DIFF8:                 howto manager.      (line 1472)
+* BFD_RELOC_NDS32_DIFF_ULEB128:          howto manager.      (line 1475)
+* BFD_RELOC_NDS32_DWARF2_LEB:            howto manager.      (line 1432)
+* BFD_RELOC_NDS32_DWARF2_OP1:            howto manager.      (line 1430)
+* BFD_RELOC_NDS32_DWARF2_OP2:            howto manager.      (line 1431)
+* BFD_RELOC_NDS32_EMPTY:                 howto manager.      (line 1476)
+* BFD_RELOC_NDS32_GLOB_DAT:              howto manager.      (line 1383)
+* BFD_RELOC_NDS32_GOT15S2:               howto manager.      (line 1445)
+* BFD_RELOC_NDS32_GOT17S2:               howto manager.      (line 1446)
+* BFD_RELOC_NDS32_GOT20:                 howto manager.      (line 1379)
+* BFD_RELOC_NDS32_GOT_HI20:              howto manager.      (line 1390)
+* BFD_RELOC_NDS32_GOT_LO12:              howto manager.      (line 1391)
+* BFD_RELOC_NDS32_GOT_LO15:              howto manager.      (line 1441)
+* BFD_RELOC_NDS32_GOT_LO19:              howto manager.      (line 1442)
+* BFD_RELOC_NDS32_GOT_SUFF:              howto manager.      (line 1460)
+* BFD_RELOC_NDS32_GOTOFF:                howto manager.      (line 1386)
+* BFD_RELOC_NDS32_GOTOFF_HI20:           howto manager.      (line 1387)
+* BFD_RELOC_NDS32_GOTOFF_LO12:           howto manager.      (line 1388)
+* BFD_RELOC_NDS32_GOTOFF_LO15:           howto manager.      (line 1443)
+* BFD_RELOC_NDS32_GOTOFF_LO19:           howto manager.      (line 1444)
+* BFD_RELOC_NDS32_GOTOFF_SUFF:           howto manager.      (line 1461)
+* BFD_RELOC_NDS32_GOTPC20:               howto manager.      (line 1389)
+* BFD_RELOC_NDS32_GOTPC_HI20:            howto manager.      (line 1392)
+* BFD_RELOC_NDS32_GOTPC_LO12:            howto manager.      (line 1393)
+* BFD_RELOC_NDS32_GOTTPOFF:              howto manager.      (line 1493)
+* BFD_RELOC_NDS32_HI20:                  howto manager.      (line 1323)
+* BFD_RELOC_NDS32_INSN16:                howto manager.      (line 1396)
+* BFD_RELOC_NDS32_JMP_SLOT:              howto manager.      (line 1384)
+* BFD_RELOC_NDS32_LABEL:                 howto manager.      (line 1397)
+* BFD_RELOC_NDS32_LO12S0:                howto manager.      (line 1339)
+* BFD_RELOC_NDS32_LO12S0_ORI:            howto manager.      (line 1343)
+* BFD_RELOC_NDS32_LO12S1:                howto manager.      (line 1335)
+* BFD_RELOC_NDS32_LO12S2:                howto manager.      (line 1331)
+* BFD_RELOC_NDS32_LO12S2_DP:             howto manager.      (line 1426)
+* BFD_RELOC_NDS32_LO12S2_SP:             howto manager.      (line 1427)
+* BFD_RELOC_NDS32_LO12S3:                howto manager.      (line 1327)
+* BFD_RELOC_NDS32_LOADSTORE:             howto manager.      (line 1404)
+* BFD_RELOC_NDS32_LONGCALL1:             howto manager.      (line 1398)
+* BFD_RELOC_NDS32_LONGCALL2:             howto manager.      (line 1399)
+* BFD_RELOC_NDS32_LONGCALL3:             howto manager.      (line 1400)
+* BFD_RELOC_NDS32_LONGCALL4:             howto manager.      (line 1409)
+* BFD_RELOC_NDS32_LONGCALL5:             howto manager.      (line 1410)
+* BFD_RELOC_NDS32_LONGCALL6:             howto manager.      (line 1411)
+* BFD_RELOC_NDS32_LONGJUMP1:             howto manager.      (line 1401)
+* BFD_RELOC_NDS32_LONGJUMP2:             howto manager.      (line 1402)
+* BFD_RELOC_NDS32_LONGJUMP3:             howto manager.      (line 1403)
+* BFD_RELOC_NDS32_LONGJUMP4:             howto manager.      (line 1412)
+* BFD_RELOC_NDS32_LONGJUMP5:             howto manager.      (line 1413)
+* BFD_RELOC_NDS32_LONGJUMP6:             howto manager.      (line 1414)
+* BFD_RELOC_NDS32_LONGJUMP7:             howto manager.      (line 1415)
+* BFD_RELOC_NDS32_MINUEND:               howto manager.      (line 1470)
+* BFD_RELOC_NDS32_MULCALL_SUFF:          howto manager.      (line 1463)
+* BFD_RELOC_NDS32_PLT_GOT_SUFF:          howto manager.      (line 1462)
+* BFD_RELOC_NDS32_PLT_GOTREL_HI20:       howto manager.      (line 1420)
+* BFD_RELOC_NDS32_PLT_GOTREL_LO12:       howto manager.      (line 1421)
+* BFD_RELOC_NDS32_PLT_GOTREL_LO15:       howto manager.      (line 1439)
+* BFD_RELOC_NDS32_PLT_GOTREL_LO19:       howto manager.      (line 1440)
+* BFD_RELOC_NDS32_PLT_GOTREL_LO20:       howto manager.      (line 1438)
+* BFD_RELOC_NDS32_PLTBLOCK:              howto manager.      (line 1467)
+* BFD_RELOC_NDS32_PLTREL_HI20:           howto manager.      (line 1418)
+* BFD_RELOC_NDS32_PLTREL_LO12:           howto manager.      (line 1419)
+* BFD_RELOC_NDS32_PTR:                   howto manager.      (line 1464)
+* BFD_RELOC_NDS32_PTR_COUNT:             howto manager.      (line 1465)
+* BFD_RELOC_NDS32_PTR_RESOLVED:          howto manager.      (line 1466)
+* BFD_RELOC_NDS32_RELATIVE:              howto manager.      (line 1385)
+* BFD_RELOC_NDS32_RELAX_ENTRY:           howto manager.      (line 1459)
+* BFD_RELOC_NDS32_RELAX_REGION_BEGIN:    howto manager.      (line 1468)
+* BFD_RELOC_NDS32_RELAX_REGION_END:      howto manager.      (line 1469)
+* BFD_RELOC_NDS32_SDA12S2_DP:            howto manager.      (line 1424)
+* BFD_RELOC_NDS32_SDA12S2_SP:            howto manager.      (line 1425)
+* BFD_RELOC_NDS32_SDA15S0:               howto manager.      (line 1359)
+* BFD_RELOC_NDS32_SDA15S1:               howto manager.      (line 1355)
+* BFD_RELOC_NDS32_SDA15S2:               howto manager.      (line 1351)
+* BFD_RELOC_NDS32_SDA15S3:               howto manager.      (line 1347)
+* BFD_RELOC_NDS32_SDA16S3:               howto manager.      (line 1363)
+* BFD_RELOC_NDS32_SDA17S2:               howto manager.      (line 1367)
+* BFD_RELOC_NDS32_SDA18S1:               howto manager.      (line 1371)
+* BFD_RELOC_NDS32_SDA19S0:               howto manager.      (line 1375)
+* BFD_RELOC_NDS32_SDA_FP7U2_RELA:        howto manager.      (line 1456)
+* BFD_RELOC_NDS32_SUBTRAHEND:            howto manager.      (line 1471)
+* BFD_RELOC_NDS32_TLS_IE_HI20:           howto manager.      (line 1494)
+* BFD_RELOC_NDS32_TLS_IE_LO12S2:         howto manager.      (line 1495)
+* BFD_RELOC_NDS32_TLS_LE_15S0:           howto manager.      (line 1498)
+* BFD_RELOC_NDS32_TLS_LE_15S1:           howto manager.      (line 1499)
+* BFD_RELOC_NDS32_TLS_LE_15S2:           howto manager.      (line 1500)
+* BFD_RELOC_NDS32_TLS_LE_20:             howto manager.      (line 1497)
+* BFD_RELOC_NDS32_TLS_LE_ADD:            howto manager.      (line 1491)
+* BFD_RELOC_NDS32_TLS_LE_HI20:           howto manager.      (line 1489)
+* BFD_RELOC_NDS32_TLS_LE_LO12:           howto manager.      (line 1490)
+* BFD_RELOC_NDS32_TLS_LE_LS:             howto manager.      (line 1492)
+* BFD_RELOC_NDS32_TLS_TPOFF:             howto manager.      (line 1496)
+* BFD_RELOC_NDS32_TPOFF:                 howto manager.      (line 1488)
+* BFD_RELOC_NDS32_TRAN:                  howto manager.      (line 1483)
+* BFD_RELOC_NDS32_UPDATE_TA:             howto manager.      (line 1435)
+* BFD_RELOC_NDS32_WORD_9_PCREL:          howto manager.      (line 1310)
+* BFD_RELOC_NIOS2_ALIGN:                 howto manager.      (line 2737)
+* BFD_RELOC_NIOS2_CACHE_OPX:             howto manager.      (line 2727)
+* BFD_RELOC_NIOS2_CALL16:                howto manager.      (line 2739)
+* BFD_RELOC_NIOS2_CALL26:                howto manager.      (line 2725)
+* BFD_RELOC_NIOS2_CALL26_NOAT:           howto manager.      (line 2757)
+* BFD_RELOC_NIOS2_CALL_HA:               howto manager.      (line 2761)
+* BFD_RELOC_NIOS2_CALL_LO:               howto manager.      (line 2760)
+* BFD_RELOC_NIOS2_CALLR:                 howto manager.      (line 2736)
+* BFD_RELOC_NIOS2_CJMP:                  howto manager.      (line 2735)
+* BFD_RELOC_NIOS2_COPY:                  howto manager.      (line 2752)
+* BFD_RELOC_NIOS2_GLOB_DAT:              howto manager.      (line 2753)
+* BFD_RELOC_NIOS2_GOT16:                 howto manager.      (line 2738)
+* BFD_RELOC_NIOS2_GOT_HA:                howto manager.      (line 2759)
+* BFD_RELOC_NIOS2_GOT_LO:                howto manager.      (line 2758)
+* BFD_RELOC_NIOS2_GOTOFF:                howto manager.      (line 2756)
+* BFD_RELOC_NIOS2_GOTOFF_HA:             howto manager.      (line 2741)
+* BFD_RELOC_NIOS2_GOTOFF_LO:             howto manager.      (line 2740)
+* BFD_RELOC_NIOS2_GPREL:                 howto manager.      (line 2733)
+* BFD_RELOC_NIOS2_HI16:                  howto manager.      (line 2730)
+* BFD_RELOC_NIOS2_HIADJ16:               howto manager.      (line 2732)
+* BFD_RELOC_NIOS2_IMM5:                  howto manager.      (line 2726)
+* BFD_RELOC_NIOS2_IMM6:                  howto manager.      (line 2728)
+* BFD_RELOC_NIOS2_IMM8:                  howto manager.      (line 2729)
+* BFD_RELOC_NIOS2_JUMP_SLOT:             howto manager.      (line 2754)
+* BFD_RELOC_NIOS2_LO16:                  howto manager.      (line 2731)
+* BFD_RELOC_NIOS2_PCREL_HA:              howto manager.      (line 2743)
+* BFD_RELOC_NIOS2_PCREL_LO:              howto manager.      (line 2742)
+* BFD_RELOC_NIOS2_RELATIVE:              howto manager.      (line 2755)
+* BFD_RELOC_NIOS2_S16:                   howto manager.      (line 2723)
+* BFD_RELOC_NIOS2_TLS_DTPMOD:            howto manager.      (line 2749)
+* BFD_RELOC_NIOS2_TLS_DTPREL:            howto manager.      (line 2750)
+* BFD_RELOC_NIOS2_TLS_GD16:              howto manager.      (line 2744)
+* BFD_RELOC_NIOS2_TLS_IE16:              howto manager.      (line 2747)
+* BFD_RELOC_NIOS2_TLS_LDM16:             howto manager.      (line 2745)
+* BFD_RELOC_NIOS2_TLS_LDO16:             howto manager.      (line 2746)
+* BFD_RELOC_NIOS2_TLS_LE16:              howto manager.      (line 2748)
+* BFD_RELOC_NIOS2_TLS_TPREL:             howto manager.      (line 2751)
+* BFD_RELOC_NIOS2_U16:                   howto manager.      (line 2724)
+* BFD_RELOC_NIOS2_UJMP:                  howto manager.      (line 2734)
 * BFD_RELOC_NONE:                        howto manager.      (line  135)
-* BFD_RELOC_NS32K_DISP_16:               howto manager.      (line  639)
-* BFD_RELOC_NS32K_DISP_16_PCREL:         howto manager.      (line  642)
-* BFD_RELOC_NS32K_DISP_32:               howto manager.      (line  640)
-* BFD_RELOC_NS32K_DISP_32_PCREL:         howto manager.      (line  643)
-* BFD_RELOC_NS32K_DISP_8:                howto manager.      (line  638)
-* BFD_RELOC_NS32K_DISP_8_PCREL:          howto manager.      (line  641)
-* BFD_RELOC_NS32K_IMM_16:                howto manager.      (line  633)
-* BFD_RELOC_NS32K_IMM_16_PCREL:          howto manager.      (line  636)
-* BFD_RELOC_NS32K_IMM_32:                howto manager.      (line  634)
-* BFD_RELOC_NS32K_IMM_32_PCREL:          howto manager.      (line  637)
-* BFD_RELOC_NS32K_IMM_8:                 howto manager.      (line  632)
-* BFD_RELOC_NS32K_IMM_8_PCREL:           howto manager.      (line  635)
-* BFD_RELOC_OR1K_COPY:                   howto manager.      (line 2589)
-* BFD_RELOC_OR1K_GLOB_DAT:               howto manager.      (line 2590)
-* BFD_RELOC_OR1K_GOT16:                  howto manager.      (line 2585)
-* BFD_RELOC_OR1K_GOTOFF_HI16:            howto manager.      (line 2587)
-* BFD_RELOC_OR1K_GOTOFF_LO16:            howto manager.      (line 2588)
-* BFD_RELOC_OR1K_GOTPC_HI16:             howto manager.      (line 2583)
-* BFD_RELOC_OR1K_GOTPC_LO16:             howto manager.      (line 2584)
-* BFD_RELOC_OR1K_JMP_SLOT:               howto manager.      (line 2591)
-* BFD_RELOC_OR1K_PLT26:                  howto manager.      (line 2586)
-* BFD_RELOC_OR1K_REL_26:                 howto manager.      (line 2582)
-* BFD_RELOC_OR1K_RELATIVE:               howto manager.      (line 2592)
-* BFD_RELOC_OR1K_TLS_DTPMOD:             howto manager.      (line 2605)
-* BFD_RELOC_OR1K_TLS_DTPOFF:             howto manager.      (line 2604)
-* BFD_RELOC_OR1K_TLS_GD_HI16:            howto manager.      (line 2593)
-* BFD_RELOC_OR1K_TLS_GD_LO16:            howto manager.      (line 2594)
-* BFD_RELOC_OR1K_TLS_IE_HI16:            howto manager.      (line 2599)
-* BFD_RELOC_OR1K_TLS_IE_LO16:            howto manager.      (line 2600)
-* BFD_RELOC_OR1K_TLS_LDM_HI16:           howto manager.      (line 2595)
-* BFD_RELOC_OR1K_TLS_LDM_LO16:           howto manager.      (line 2596)
-* BFD_RELOC_OR1K_TLS_LDO_HI16:           howto manager.      (line 2597)
-* BFD_RELOC_OR1K_TLS_LDO_LO16:           howto manager.      (line 2598)
-* BFD_RELOC_OR1K_TLS_LE_HI16:            howto manager.      (line 2601)
-* BFD_RELOC_OR1K_TLS_LE_LO16:            howto manager.      (line 2602)
-* BFD_RELOC_OR1K_TLS_TPOFF:              howto manager.      (line 2603)
-* BFD_RELOC_PDP11_DISP_6_PCREL:          howto manager.      (line  647)
-* BFD_RELOC_PDP11_DISP_8_PCREL:          howto manager.      (line  646)
-* BFD_RELOC_PJ_CODE_DIR16:               howto manager.      (line  652)
-* BFD_RELOC_PJ_CODE_DIR32:               howto manager.      (line  653)
-* BFD_RELOC_PJ_CODE_HI16:                howto manager.      (line  650)
-* BFD_RELOC_PJ_CODE_LO16:                howto manager.      (line  651)
-* BFD_RELOC_PJ_CODE_REL16:               howto manager.      (line  654)
-* BFD_RELOC_PJ_CODE_REL32:               howto manager.      (line  655)
-* BFD_RELOC_PPC64_ADDR16_DS:             howto manager.      (line  717)
-* BFD_RELOC_PPC64_ADDR16_HIGH:           howto manager.      (line  728)
-* BFD_RELOC_PPC64_ADDR16_HIGHA:          howto manager.      (line  729)
-* BFD_RELOC_PPC64_ADDR16_LO_DS:          howto manager.      (line  718)
-* BFD_RELOC_PPC64_ADDR64_LOCAL:          howto manager.      (line  730)
-* BFD_RELOC_PPC64_DTPREL16_DS:           howto manager.      (line  769)
-* BFD_RELOC_PPC64_DTPREL16_HIGH:         howto manager.      (line  777)
-* BFD_RELOC_PPC64_DTPREL16_HIGHA:        howto manager.      (line  778)
-* BFD_RELOC_PPC64_DTPREL16_HIGHER:       howto manager.      (line  771)
-* BFD_RELOC_PPC64_DTPREL16_HIGHERA:      howto manager.      (line  772)
-* BFD_RELOC_PPC64_DTPREL16_HIGHEST:      howto manager.      (line  773)
-* BFD_RELOC_PPC64_DTPREL16_HIGHESTA:     howto manager.      (line  774)
-* BFD_RELOC_PPC64_DTPREL16_LO_DS:        howto manager.      (line  770)
-* BFD_RELOC_PPC64_GOT16_DS:              howto manager.      (line  719)
-* BFD_RELOC_PPC64_GOT16_LO_DS:           howto manager.      (line  720)
-* BFD_RELOC_PPC64_HIGHER:                howto manager.      (line  705)
-* BFD_RELOC_PPC64_HIGHER_S:              howto manager.      (line  706)
-* BFD_RELOC_PPC64_HIGHEST:               howto manager.      (line  707)
-* BFD_RELOC_PPC64_HIGHEST_S:             howto manager.      (line  708)
-* BFD_RELOC_PPC64_PLT16_LO_DS:           howto manager.      (line  721)
-* BFD_RELOC_PPC64_PLTGOT16:              howto manager.      (line  713)
-* BFD_RELOC_PPC64_PLTGOT16_DS:           howto manager.      (line  726)
-* BFD_RELOC_PPC64_PLTGOT16_HA:           howto manager.      (line  716)
-* BFD_RELOC_PPC64_PLTGOT16_HI:           howto manager.      (line  715)
-* BFD_RELOC_PPC64_PLTGOT16_LO:           howto manager.      (line  714)
-* BFD_RELOC_PPC64_PLTGOT16_LO_DS:        howto manager.      (line  727)
-* BFD_RELOC_PPC64_SECTOFF_DS:            howto manager.      (line  722)
-* BFD_RELOC_PPC64_SECTOFF_LO_DS:         howto manager.      (line  723)
-* BFD_RELOC_PPC64_TOC:                   howto manager.      (line  712)
-* BFD_RELOC_PPC64_TOC16_DS:              howto manager.      (line  724)
-* BFD_RELOC_PPC64_TOC16_HA:              howto manager.      (line  711)
-* BFD_RELOC_PPC64_TOC16_HI:              howto manager.      (line  710)
-* BFD_RELOC_PPC64_TOC16_LO:              howto manager.      (line  709)
-* BFD_RELOC_PPC64_TOC16_LO_DS:           howto manager.      (line  725)
-* BFD_RELOC_PPC64_TPREL16_DS:            howto manager.      (line  763)
-* BFD_RELOC_PPC64_TPREL16_HIGH:          howto manager.      (line  775)
-* BFD_RELOC_PPC64_TPREL16_HIGHA:         howto manager.      (line  776)
-* BFD_RELOC_PPC64_TPREL16_HIGHER:        howto manager.      (line  765)
-* BFD_RELOC_PPC64_TPREL16_HIGHERA:       howto manager.      (line  766)
-* BFD_RELOC_PPC64_TPREL16_HIGHEST:       howto manager.      (line  767)
-* BFD_RELOC_PPC64_TPREL16_HIGHESTA:      howto manager.      (line  768)
-* BFD_RELOC_PPC64_TPREL16_LO_DS:         howto manager.      (line  764)
-* BFD_RELOC_PPC_B16:                     howto manager.      (line  661)
-* BFD_RELOC_PPC_B16_BRNTAKEN:            howto manager.      (line  663)
-* BFD_RELOC_PPC_B16_BRTAKEN:             howto manager.      (line  662)
-* BFD_RELOC_PPC_B26:                     howto manager.      (line  658)
-* BFD_RELOC_PPC_BA16:                    howto manager.      (line  664)
-* BFD_RELOC_PPC_BA16_BRNTAKEN:           howto manager.      (line  666)
-* BFD_RELOC_PPC_BA16_BRTAKEN:            howto manager.      (line  665)
-* BFD_RELOC_PPC_BA26:                    howto manager.      (line  659)
-* BFD_RELOC_PPC_COPY:                    howto manager.      (line  667)
-* BFD_RELOC_PPC_DTPMOD:                  howto manager.      (line  736)
-* BFD_RELOC_PPC_DTPREL:                  howto manager.      (line  746)
-* BFD_RELOC_PPC_DTPREL16:                howto manager.      (line  742)
-* BFD_RELOC_PPC_DTPREL16_HA:             howto manager.      (line  745)
-* BFD_RELOC_PPC_DTPREL16_HI:             howto manager.      (line  744)
-* BFD_RELOC_PPC_DTPREL16_LO:             howto manager.      (line  743)
-* BFD_RELOC_PPC_EMB_BIT_FLD:             howto manager.      (line  686)
-* BFD_RELOC_PPC_EMB_MRKREF:              howto manager.      (line  681)
-* BFD_RELOC_PPC_EMB_NADDR16:             howto manager.      (line  673)
-* BFD_RELOC_PPC_EMB_NADDR16_HA:          howto manager.      (line  676)
-* BFD_RELOC_PPC_EMB_NADDR16_HI:          howto manager.      (line  675)
-* BFD_RELOC_PPC_EMB_NADDR16_LO:          howto manager.      (line  674)
-* BFD_RELOC_PPC_EMB_NADDR32:             howto manager.      (line  672)
-* BFD_RELOC_PPC_EMB_RELSDA:              howto manager.      (line  687)
-* BFD_RELOC_PPC_EMB_RELSEC16:            howto manager.      (line  682)
-* BFD_RELOC_PPC_EMB_RELST_HA:            howto manager.      (line  685)
-* BFD_RELOC_PPC_EMB_RELST_HI:            howto manager.      (line  684)
-* BFD_RELOC_PPC_EMB_RELST_LO:            howto manager.      (line  683)
-* BFD_RELOC_PPC_EMB_SDA21:               howto manager.      (line  680)
-* BFD_RELOC_PPC_EMB_SDA2I16:             howto manager.      (line  678)
-* BFD_RELOC_PPC_EMB_SDA2REL:             howto manager.      (line  679)
-* BFD_RELOC_PPC_EMB_SDAI16:              howto manager.      (line  677)
-* BFD_RELOC_PPC_GLOB_DAT:                howto manager.      (line  668)
-* BFD_RELOC_PPC_GOT_DTPREL16:            howto manager.      (line  759)
-* BFD_RELOC_PPC_GOT_DTPREL16_HA:         howto manager.      (line  762)
-* BFD_RELOC_PPC_GOT_DTPREL16_HI:         howto manager.      (line  761)
-* BFD_RELOC_PPC_GOT_DTPREL16_LO:         howto manager.      (line  760)
-* BFD_RELOC_PPC_GOT_TLSGD16:             howto manager.      (line  747)
-* BFD_RELOC_PPC_GOT_TLSGD16_HA:          howto manager.      (line  750)
-* BFD_RELOC_PPC_GOT_TLSGD16_HI:          howto manager.      (line  749)
-* BFD_RELOC_PPC_GOT_TLSGD16_LO:          howto manager.      (line  748)
-* BFD_RELOC_PPC_GOT_TLSLD16:             howto manager.      (line  751)
-* BFD_RELOC_PPC_GOT_TLSLD16_HA:          howto manager.      (line  754)
-* BFD_RELOC_PPC_GOT_TLSLD16_HI:          howto manager.      (line  753)
-* BFD_RELOC_PPC_GOT_TLSLD16_LO:          howto manager.      (line  752)
-* BFD_RELOC_PPC_GOT_TPREL16:             howto manager.      (line  755)
-* BFD_RELOC_PPC_GOT_TPREL16_HA:          howto manager.      (line  758)
-* BFD_RELOC_PPC_GOT_TPREL16_HI:          howto manager.      (line  757)
-* BFD_RELOC_PPC_GOT_TPREL16_LO:          howto manager.      (line  756)
-* BFD_RELOC_PPC_JMP_SLOT:                howto manager.      (line  669)
-* BFD_RELOC_PPC_LOCAL24PC:               howto manager.      (line  671)
-* BFD_RELOC_PPC_RELATIVE:                howto manager.      (line  670)
-* BFD_RELOC_PPC_TLS:                     howto manager.      (line  733)
-* BFD_RELOC_PPC_TLSGD:                   howto manager.      (line  734)
-* BFD_RELOC_PPC_TLSLD:                   howto manager.      (line  735)
-* BFD_RELOC_PPC_TOC16:                   howto manager.      (line  660)
-* BFD_RELOC_PPC_TPREL:                   howto manager.      (line  741)
-* BFD_RELOC_PPC_TPREL16:                 howto manager.      (line  737)
-* BFD_RELOC_PPC_TPREL16_HA:              howto manager.      (line  740)
-* BFD_RELOC_PPC_TPREL16_HI:              howto manager.      (line  739)
-* BFD_RELOC_PPC_TPREL16_LO:              howto manager.      (line  738)
-* BFD_RELOC_PPC_VLE_HA16A:               howto manager.      (line  695)
-* BFD_RELOC_PPC_VLE_HA16D:               howto manager.      (line  696)
-* BFD_RELOC_PPC_VLE_HI16A:               howto manager.      (line  693)
-* BFD_RELOC_PPC_VLE_HI16D:               howto manager.      (line  694)
-* BFD_RELOC_PPC_VLE_LO16A:               howto manager.      (line  691)
-* BFD_RELOC_PPC_VLE_LO16D:               howto manager.      (line  692)
-* BFD_RELOC_PPC_VLE_REL15:               howto manager.      (line  689)
-* BFD_RELOC_PPC_VLE_REL24:               howto manager.      (line  690)
-* BFD_RELOC_PPC_VLE_REL8:                howto manager.      (line  688)
-* BFD_RELOC_PPC_VLE_SDA21:               howto manager.      (line  697)
-* BFD_RELOC_PPC_VLE_SDA21_LO:            howto manager.      (line  698)
-* BFD_RELOC_PPC_VLE_SDAREL_HA16A:        howto manager.      (line  703)
-* BFD_RELOC_PPC_VLE_SDAREL_HA16D:        howto manager.      (line  704)
-* BFD_RELOC_PPC_VLE_SDAREL_HI16A:        howto manager.      (line  701)
-* BFD_RELOC_PPC_VLE_SDAREL_HI16D:        howto manager.      (line  702)
-* BFD_RELOC_PPC_VLE_SDAREL_LO16A:        howto manager.      (line  699)
-* BFD_RELOC_PPC_VLE_SDAREL_LO16D:        howto manager.      (line  700)
-* BFD_RELOC_RELC:                        howto manager.      (line 2622)
-* BFD_RELOC_RL78_16_OP:                  howto manager.      (line 1943)
-* BFD_RELOC_RL78_16U:                    howto manager.      (line 1947)
-* BFD_RELOC_RL78_24_OP:                  howto manager.      (line 1944)
-* BFD_RELOC_RL78_24U:                    howto manager.      (line 1948)
-* BFD_RELOC_RL78_32_OP:                  howto manager.      (line 1945)
-* BFD_RELOC_RL78_8U:                     howto manager.      (line 1946)
-* BFD_RELOC_RL78_ABS16:                  howto manager.      (line 1960)
-* BFD_RELOC_RL78_ABS16_REV:              howto manager.      (line 1961)
-* BFD_RELOC_RL78_ABS16U:                 howto manager.      (line 1964)
-* BFD_RELOC_RL78_ABS16UL:                howto manager.      (line 1966)
-* BFD_RELOC_RL78_ABS16UW:                howto manager.      (line 1965)
-* BFD_RELOC_RL78_ABS32:                  howto manager.      (line 1962)
-* BFD_RELOC_RL78_ABS32_REV:              howto manager.      (line 1963)
-* BFD_RELOC_RL78_ABS8:                   howto manager.      (line 1959)
-* BFD_RELOC_RL78_CODE:                   howto manager.      (line 1971)
-* BFD_RELOC_RL78_DIFF:                   howto manager.      (line 1950)
-* BFD_RELOC_RL78_DIR3U_PCREL:            howto manager.      (line 1949)
-* BFD_RELOC_RL78_GPRELB:                 howto manager.      (line 1951)
-* BFD_RELOC_RL78_GPRELL:                 howto manager.      (line 1953)
-* BFD_RELOC_RL78_GPRELW:                 howto manager.      (line 1952)
-* BFD_RELOC_RL78_HI16:                   howto manager.      (line 1968)
-* BFD_RELOC_RL78_HI8:                    howto manager.      (line 1969)
-* BFD_RELOC_RL78_LO16:                   howto manager.      (line 1970)
-* BFD_RELOC_RL78_NEG16:                  howto manager.      (line 1940)
-* BFD_RELOC_RL78_NEG24:                  howto manager.      (line 1941)
-* BFD_RELOC_RL78_NEG32:                  howto manager.      (line 1942)
-* BFD_RELOC_RL78_NEG8:                   howto manager.      (line 1939)
-* BFD_RELOC_RL78_OP_AND:                 howto manager.      (line 1957)
-* BFD_RELOC_RL78_OP_NEG:                 howto manager.      (line 1956)
-* BFD_RELOC_RL78_OP_SHRA:                howto manager.      (line 1958)
-* BFD_RELOC_RL78_OP_SUBTRACT:            howto manager.      (line 1955)
-* BFD_RELOC_RL78_RELAX:                  howto manager.      (line 1967)
-* BFD_RELOC_RL78_SYM:                    howto manager.      (line 1954)
+* BFD_RELOC_NS32K_DISP_16:               howto manager.      (line  645)
+* BFD_RELOC_NS32K_DISP_16_PCREL:         howto manager.      (line  648)
+* BFD_RELOC_NS32K_DISP_32:               howto manager.      (line  646)
+* BFD_RELOC_NS32K_DISP_32_PCREL:         howto manager.      (line  649)
+* BFD_RELOC_NS32K_DISP_8:                howto manager.      (line  644)
+* BFD_RELOC_NS32K_DISP_8_PCREL:          howto manager.      (line  647)
+* BFD_RELOC_NS32K_IMM_16:                howto manager.      (line  639)
+* BFD_RELOC_NS32K_IMM_16_PCREL:          howto manager.      (line  642)
+* BFD_RELOC_NS32K_IMM_32:                howto manager.      (line  640)
+* BFD_RELOC_NS32K_IMM_32_PCREL:          howto manager.      (line  643)
+* BFD_RELOC_NS32K_IMM_8:                 howto manager.      (line  638)
+* BFD_RELOC_NS32K_IMM_8_PCREL:           howto manager.      (line  641)
+* BFD_RELOC_OR1K_COPY:                   howto manager.      (line 2634)
+* BFD_RELOC_OR1K_GLOB_DAT:               howto manager.      (line 2635)
+* BFD_RELOC_OR1K_GOT16:                  howto manager.      (line 2630)
+* BFD_RELOC_OR1K_GOTOFF_HI16:            howto manager.      (line 2632)
+* BFD_RELOC_OR1K_GOTOFF_LO16:            howto manager.      (line 2633)
+* BFD_RELOC_OR1K_GOTPC_HI16:             howto manager.      (line 2628)
+* BFD_RELOC_OR1K_GOTPC_LO16:             howto manager.      (line 2629)
+* BFD_RELOC_OR1K_JMP_SLOT:               howto manager.      (line 2636)
+* BFD_RELOC_OR1K_PLT26:                  howto manager.      (line 2631)
+* BFD_RELOC_OR1K_REL_26:                 howto manager.      (line 2627)
+* BFD_RELOC_OR1K_RELATIVE:               howto manager.      (line 2637)
+* BFD_RELOC_OR1K_TLS_DTPMOD:             howto manager.      (line 2650)
+* BFD_RELOC_OR1K_TLS_DTPOFF:             howto manager.      (line 2649)
+* BFD_RELOC_OR1K_TLS_GD_HI16:            howto manager.      (line 2638)
+* BFD_RELOC_OR1K_TLS_GD_LO16:            howto manager.      (line 2639)
+* BFD_RELOC_OR1K_TLS_IE_HI16:            howto manager.      (line 2644)
+* BFD_RELOC_OR1K_TLS_IE_LO16:            howto manager.      (line 2645)
+* BFD_RELOC_OR1K_TLS_LDM_HI16:           howto manager.      (line 2640)
+* BFD_RELOC_OR1K_TLS_LDM_LO16:           howto manager.      (line 2641)
+* BFD_RELOC_OR1K_TLS_LDO_HI16:           howto manager.      (line 2642)
+* BFD_RELOC_OR1K_TLS_LDO_LO16:           howto manager.      (line 2643)
+* BFD_RELOC_OR1K_TLS_LE_HI16:            howto manager.      (line 2646)
+* BFD_RELOC_OR1K_TLS_LE_LO16:            howto manager.      (line 2647)
+* BFD_RELOC_OR1K_TLS_TPOFF:              howto manager.      (line 2648)
+* BFD_RELOC_PDP11_DISP_6_PCREL:          howto manager.      (line  653)
+* BFD_RELOC_PDP11_DISP_8_PCREL:          howto manager.      (line  652)
+* BFD_RELOC_PJ_CODE_DIR16:               howto manager.      (line  658)
+* BFD_RELOC_PJ_CODE_DIR32:               howto manager.      (line  659)
+* BFD_RELOC_PJ_CODE_HI16:                howto manager.      (line  656)
+* BFD_RELOC_PJ_CODE_LO16:                howto manager.      (line  657)
+* BFD_RELOC_PJ_CODE_REL16:               howto manager.      (line  660)
+* BFD_RELOC_PJ_CODE_REL32:               howto manager.      (line  661)
+* BFD_RELOC_PPC64_ADDR16_DS:             howto manager.      (line  723)
+* BFD_RELOC_PPC64_ADDR16_HIGH:           howto manager.      (line  734)
+* BFD_RELOC_PPC64_ADDR16_HIGHA:          howto manager.      (line  735)
+* BFD_RELOC_PPC64_ADDR16_LO_DS:          howto manager.      (line  724)
+* BFD_RELOC_PPC64_ADDR64_LOCAL:          howto manager.      (line  736)
+* BFD_RELOC_PPC64_DTPREL16_DS:           howto manager.      (line  775)
+* BFD_RELOC_PPC64_DTPREL16_HIGH:         howto manager.      (line  783)
+* BFD_RELOC_PPC64_DTPREL16_HIGHA:        howto manager.      (line  784)
+* BFD_RELOC_PPC64_DTPREL16_HIGHER:       howto manager.      (line  777)
+* BFD_RELOC_PPC64_DTPREL16_HIGHERA:      howto manager.      (line  778)
+* BFD_RELOC_PPC64_DTPREL16_HIGHEST:      howto manager.      (line  779)
+* BFD_RELOC_PPC64_DTPREL16_HIGHESTA:     howto manager.      (line  780)
+* BFD_RELOC_PPC64_DTPREL16_LO_DS:        howto manager.      (line  776)
+* BFD_RELOC_PPC64_GOT16_DS:              howto manager.      (line  725)
+* BFD_RELOC_PPC64_GOT16_LO_DS:           howto manager.      (line  726)
+* BFD_RELOC_PPC64_HIGHER:                howto manager.      (line  711)
+* BFD_RELOC_PPC64_HIGHER_S:              howto manager.      (line  712)
+* BFD_RELOC_PPC64_HIGHEST:               howto manager.      (line  713)
+* BFD_RELOC_PPC64_HIGHEST_S:             howto manager.      (line  714)
+* BFD_RELOC_PPC64_PLT16_LO_DS:           howto manager.      (line  727)
+* BFD_RELOC_PPC64_PLTGOT16:              howto manager.      (line  719)
+* BFD_RELOC_PPC64_PLTGOT16_DS:           howto manager.      (line  732)
+* BFD_RELOC_PPC64_PLTGOT16_HA:           howto manager.      (line  722)
+* BFD_RELOC_PPC64_PLTGOT16_HI:           howto manager.      (line  721)
+* BFD_RELOC_PPC64_PLTGOT16_LO:           howto manager.      (line  720)
+* BFD_RELOC_PPC64_PLTGOT16_LO_DS:        howto manager.      (line  733)
+* BFD_RELOC_PPC64_SECTOFF_DS:            howto manager.      (line  728)
+* BFD_RELOC_PPC64_SECTOFF_LO_DS:         howto manager.      (line  729)
+* BFD_RELOC_PPC64_TOC:                   howto manager.      (line  718)
+* BFD_RELOC_PPC64_TOC16_DS:              howto manager.      (line  730)
+* BFD_RELOC_PPC64_TOC16_HA:              howto manager.      (line  717)
+* BFD_RELOC_PPC64_TOC16_HI:              howto manager.      (line  716)
+* BFD_RELOC_PPC64_TOC16_LO:              howto manager.      (line  715)
+* BFD_RELOC_PPC64_TOC16_LO_DS:           howto manager.      (line  731)
+* BFD_RELOC_PPC64_TPREL16_DS:            howto manager.      (line  769)
+* BFD_RELOC_PPC64_TPREL16_HIGH:          howto manager.      (line  781)
+* BFD_RELOC_PPC64_TPREL16_HIGHA:         howto manager.      (line  782)
+* BFD_RELOC_PPC64_TPREL16_HIGHER:        howto manager.      (line  771)
+* BFD_RELOC_PPC64_TPREL16_HIGHERA:       howto manager.      (line  772)
+* BFD_RELOC_PPC64_TPREL16_HIGHEST:       howto manager.      (line  773)
+* BFD_RELOC_PPC64_TPREL16_HIGHESTA:      howto manager.      (line  774)
+* BFD_RELOC_PPC64_TPREL16_LO_DS:         howto manager.      (line  770)
+* BFD_RELOC_PPC_B16:                     howto manager.      (line  667)
+* BFD_RELOC_PPC_B16_BRNTAKEN:            howto manager.      (line  669)
+* BFD_RELOC_PPC_B16_BRTAKEN:             howto manager.      (line  668)
+* BFD_RELOC_PPC_B26:                     howto manager.      (line  664)
+* BFD_RELOC_PPC_BA16:                    howto manager.      (line  670)
+* BFD_RELOC_PPC_BA16_BRNTAKEN:           howto manager.      (line  672)
+* BFD_RELOC_PPC_BA16_BRTAKEN:            howto manager.      (line  671)
+* BFD_RELOC_PPC_BA26:                    howto manager.      (line  665)
+* BFD_RELOC_PPC_COPY:                    howto manager.      (line  673)
+* BFD_RELOC_PPC_DTPMOD:                  howto manager.      (line  742)
+* BFD_RELOC_PPC_DTPREL:                  howto manager.      (line  752)
+* BFD_RELOC_PPC_DTPREL16:                howto manager.      (line  748)
+* BFD_RELOC_PPC_DTPREL16_HA:             howto manager.      (line  751)
+* BFD_RELOC_PPC_DTPREL16_HI:             howto manager.      (line  750)
+* BFD_RELOC_PPC_DTPREL16_LO:             howto manager.      (line  749)
+* BFD_RELOC_PPC_EMB_BIT_FLD:             howto manager.      (line  692)
+* BFD_RELOC_PPC_EMB_MRKREF:              howto manager.      (line  687)
+* BFD_RELOC_PPC_EMB_NADDR16:             howto manager.      (line  679)
+* BFD_RELOC_PPC_EMB_NADDR16_HA:          howto manager.      (line  682)
+* BFD_RELOC_PPC_EMB_NADDR16_HI:          howto manager.      (line  681)
+* BFD_RELOC_PPC_EMB_NADDR16_LO:          howto manager.      (line  680)
+* BFD_RELOC_PPC_EMB_NADDR32:             howto manager.      (line  678)
+* BFD_RELOC_PPC_EMB_RELSDA:              howto manager.      (line  693)
+* BFD_RELOC_PPC_EMB_RELSEC16:            howto manager.      (line  688)
+* BFD_RELOC_PPC_EMB_RELST_HA:            howto manager.      (line  691)
+* BFD_RELOC_PPC_EMB_RELST_HI:            howto manager.      (line  690)
+* BFD_RELOC_PPC_EMB_RELST_LO:            howto manager.      (line  689)
+* BFD_RELOC_PPC_EMB_SDA21:               howto manager.      (line  686)
+* BFD_RELOC_PPC_EMB_SDA2I16:             howto manager.      (line  684)
+* BFD_RELOC_PPC_EMB_SDA2REL:             howto manager.      (line  685)
+* BFD_RELOC_PPC_EMB_SDAI16:              howto manager.      (line  683)
+* BFD_RELOC_PPC_GLOB_DAT:                howto manager.      (line  674)
+* BFD_RELOC_PPC_GOT_DTPREL16:            howto manager.      (line  765)
+* BFD_RELOC_PPC_GOT_DTPREL16_HA:         howto manager.      (line  768)
+* BFD_RELOC_PPC_GOT_DTPREL16_HI:         howto manager.      (line  767)
+* BFD_RELOC_PPC_GOT_DTPREL16_LO:         howto manager.      (line  766)
+* BFD_RELOC_PPC_GOT_TLSGD16:             howto manager.      (line  753)
+* BFD_RELOC_PPC_GOT_TLSGD16_HA:          howto manager.      (line  756)
+* BFD_RELOC_PPC_GOT_TLSGD16_HI:          howto manager.      (line  755)
+* BFD_RELOC_PPC_GOT_TLSGD16_LO:          howto manager.      (line  754)
+* BFD_RELOC_PPC_GOT_TLSLD16:             howto manager.      (line  757)
+* BFD_RELOC_PPC_GOT_TLSLD16_HA:          howto manager.      (line  760)
+* BFD_RELOC_PPC_GOT_TLSLD16_HI:          howto manager.      (line  759)
+* BFD_RELOC_PPC_GOT_TLSLD16_LO:          howto manager.      (line  758)
+* BFD_RELOC_PPC_GOT_TPREL16:             howto manager.      (line  761)
+* BFD_RELOC_PPC_GOT_TPREL16_HA:          howto manager.      (line  764)
+* BFD_RELOC_PPC_GOT_TPREL16_HI:          howto manager.      (line  763)
+* BFD_RELOC_PPC_GOT_TPREL16_LO:          howto manager.      (line  762)
+* BFD_RELOC_PPC_JMP_SLOT:                howto manager.      (line  675)
+* BFD_RELOC_PPC_LOCAL24PC:               howto manager.      (line  677)
+* BFD_RELOC_PPC_RELATIVE:                howto manager.      (line  676)
+* BFD_RELOC_PPC_TLS:                     howto manager.      (line  739)
+* BFD_RELOC_PPC_TLSGD:                   howto manager.      (line  740)
+* BFD_RELOC_PPC_TLSLD:                   howto manager.      (line  741)
+* BFD_RELOC_PPC_TOC16:                   howto manager.      (line  666)
+* BFD_RELOC_PPC_TPREL:                   howto manager.      (line  747)
+* BFD_RELOC_PPC_TPREL16:                 howto manager.      (line  743)
+* BFD_RELOC_PPC_TPREL16_HA:              howto manager.      (line  746)
+* BFD_RELOC_PPC_TPREL16_HI:              howto manager.      (line  745)
+* BFD_RELOC_PPC_TPREL16_LO:              howto manager.      (line  744)
+* BFD_RELOC_PPC_VLE_HA16A:               howto manager.      (line  701)
+* BFD_RELOC_PPC_VLE_HA16D:               howto manager.      (line  702)
+* BFD_RELOC_PPC_VLE_HI16A:               howto manager.      (line  699)
+* BFD_RELOC_PPC_VLE_HI16D:               howto manager.      (line  700)
+* BFD_RELOC_PPC_VLE_LO16A:               howto manager.      (line  697)
+* BFD_RELOC_PPC_VLE_LO16D:               howto manager.      (line  698)
+* BFD_RELOC_PPC_VLE_REL15:               howto manager.      (line  695)
+* BFD_RELOC_PPC_VLE_REL24:               howto manager.      (line  696)
+* BFD_RELOC_PPC_VLE_REL8:                howto manager.      (line  694)
+* BFD_RELOC_PPC_VLE_SDA21:               howto manager.      (line  703)
+* BFD_RELOC_PPC_VLE_SDA21_LO:            howto manager.      (line  704)
+* BFD_RELOC_PPC_VLE_SDAREL_HA16A:        howto manager.      (line  709)
+* BFD_RELOC_PPC_VLE_SDAREL_HA16D:        howto manager.      (line  710)
+* BFD_RELOC_PPC_VLE_SDAREL_HI16A:        howto manager.      (line  707)
+* BFD_RELOC_PPC_VLE_SDAREL_HI16D:        howto manager.      (line  708)
+* BFD_RELOC_PPC_VLE_SDAREL_LO16A:        howto manager.      (line  705)
+* BFD_RELOC_PPC_VLE_SDAREL_LO16D:        howto manager.      (line  706)
+* BFD_RELOC_RELC:                        howto manager.      (line 2667)
+* BFD_RELOC_RL78_16_OP:                  howto manager.      (line 1988)
+* BFD_RELOC_RL78_16U:                    howto manager.      (line 1992)
+* BFD_RELOC_RL78_24_OP:                  howto manager.      (line 1989)
+* BFD_RELOC_RL78_24U:                    howto manager.      (line 1993)
+* BFD_RELOC_RL78_32_OP:                  howto manager.      (line 1990)
+* BFD_RELOC_RL78_8U:                     howto manager.      (line 1991)
+* BFD_RELOC_RL78_ABS16:                  howto manager.      (line 2005)
+* BFD_RELOC_RL78_ABS16_REV:              howto manager.      (line 2006)
+* BFD_RELOC_RL78_ABS16U:                 howto manager.      (line 2009)
+* BFD_RELOC_RL78_ABS16UL:                howto manager.      (line 2011)
+* BFD_RELOC_RL78_ABS16UW:                howto manager.      (line 2010)
+* BFD_RELOC_RL78_ABS32:                  howto manager.      (line 2007)
+* BFD_RELOC_RL78_ABS32_REV:              howto manager.      (line 2008)
+* BFD_RELOC_RL78_ABS8:                   howto manager.      (line 2004)
+* BFD_RELOC_RL78_CODE:                   howto manager.      (line 2016)
+* BFD_RELOC_RL78_DIFF:                   howto manager.      (line 1995)
+* BFD_RELOC_RL78_DIR3U_PCREL:            howto manager.      (line 1994)
+* BFD_RELOC_RL78_GPRELB:                 howto manager.      (line 1996)
+* BFD_RELOC_RL78_GPRELL:                 howto manager.      (line 1998)
+* BFD_RELOC_RL78_GPRELW:                 howto manager.      (line 1997)
+* BFD_RELOC_RL78_HI16:                   howto manager.      (line 2013)
+* BFD_RELOC_RL78_HI8:                    howto manager.      (line 2014)
+* BFD_RELOC_RL78_LO16:                   howto manager.      (line 2015)
+* BFD_RELOC_RL78_NEG16:                  howto manager.      (line 1985)
+* BFD_RELOC_RL78_NEG24:                  howto manager.      (line 1986)
+* BFD_RELOC_RL78_NEG32:                  howto manager.      (line 1987)
+* BFD_RELOC_RL78_NEG8:                   howto manager.      (line 1984)
+* BFD_RELOC_RL78_OP_AND:                 howto manager.      (line 2002)
+* BFD_RELOC_RL78_OP_NEG:                 howto manager.      (line 2001)
+* BFD_RELOC_RL78_OP_SHRA:                howto manager.      (line 2003)
+* BFD_RELOC_RL78_OP_SUBTRACT:            howto manager.      (line 2000)
+* BFD_RELOC_RL78_RELAX:                  howto manager.      (line 2012)
+* BFD_RELOC_RL78_SYM:                    howto manager.      (line 1999)
 * BFD_RELOC_RVA:                         howto manager.      (line  104)
-* BFD_RELOC_RX_16_OP:                    howto manager.      (line 1978)
-* BFD_RELOC_RX_16U:                      howto manager.      (line 1982)
-* BFD_RELOC_RX_24_OP:                    howto manager.      (line 1979)
-* BFD_RELOC_RX_24U:                      howto manager.      (line 1983)
-* BFD_RELOC_RX_32_OP:                    howto manager.      (line 1980)
-* BFD_RELOC_RX_8U:                       howto manager.      (line 1981)
-* BFD_RELOC_RX_ABS16:                    howto manager.      (line 1993)
-* BFD_RELOC_RX_ABS16_REV:                howto manager.      (line 1994)
-* BFD_RELOC_RX_ABS16U:                   howto manager.      (line 1997)
-* BFD_RELOC_RX_ABS16UL:                  howto manager.      (line 1999)
-* BFD_RELOC_RX_ABS16UW:                  howto manager.      (line 1998)
-* BFD_RELOC_RX_ABS32:                    howto manager.      (line 1995)
-* BFD_RELOC_RX_ABS32_REV:                howto manager.      (line 1996)
-* BFD_RELOC_RX_ABS8:                     howto manager.      (line 1992)
-* BFD_RELOC_RX_DIFF:                     howto manager.      (line 1985)
-* BFD_RELOC_RX_DIR3U_PCREL:              howto manager.      (line 1984)
-* BFD_RELOC_RX_GPRELB:                   howto manager.      (line 1986)
-* BFD_RELOC_RX_GPRELL:                   howto manager.      (line 1988)
-* BFD_RELOC_RX_GPRELW:                   howto manager.      (line 1987)
-* BFD_RELOC_RX_NEG16:                    howto manager.      (line 1975)
-* BFD_RELOC_RX_NEG24:                    howto manager.      (line 1976)
-* BFD_RELOC_RX_NEG32:                    howto manager.      (line 1977)
-* BFD_RELOC_RX_NEG8:                     howto manager.      (line 1974)
-* BFD_RELOC_RX_OP_NEG:                   howto manager.      (line 1991)
-* BFD_RELOC_RX_OP_SUBTRACT:              howto manager.      (line 1990)
-* BFD_RELOC_RX_RELAX:                    howto manager.      (line 2000)
-* BFD_RELOC_RX_SYM:                      howto manager.      (line 1989)
-* BFD_RELOC_SCORE16_BRANCH:              howto manager.      (line 2143)
-* BFD_RELOC_SCORE16_JMP:                 howto manager.      (line 2140)
-* BFD_RELOC_SCORE_BCMP:                  howto manager.      (line 2146)
-* BFD_RELOC_SCORE_BRANCH:                howto manager.      (line 2131)
-* BFD_RELOC_SCORE_CALL15:                howto manager.      (line 2151)
-* BFD_RELOC_SCORE_DUMMY2:                howto manager.      (line 2127)
-* BFD_RELOC_SCORE_DUMMY_HI16:            howto manager.      (line 2152)
-* BFD_RELOC_SCORE_GOT15:                 howto manager.      (line 2149)
-* BFD_RELOC_SCORE_GOT_LO16:              howto manager.      (line 2150)
-* BFD_RELOC_SCORE_GPREL15:               howto manager.      (line 2124)
-* BFD_RELOC_SCORE_IMM30:                 howto manager.      (line 2134)
-* BFD_RELOC_SCORE_IMM32:                 howto manager.      (line 2137)
-* BFD_RELOC_SCORE_JMP:                   howto manager.      (line 2128)
-* BFD_RELOC_SH_ALIGN:                    howto manager.      (line  972)
-* BFD_RELOC_SH_CODE:                     howto manager.      (line  973)
-* BFD_RELOC_SH_COPY:                     howto manager.      (line  978)
-* BFD_RELOC_SH_COPY64:                   howto manager.      (line 1003)
-* BFD_RELOC_SH_COUNT:                    howto manager.      (line  971)
-* BFD_RELOC_SH_DATA:                     howto manager.      (line  974)
-* BFD_RELOC_SH_DISP12:                   howto manager.      (line  954)
-* BFD_RELOC_SH_DISP12BY2:                howto manager.      (line  955)
-* BFD_RELOC_SH_DISP12BY4:                howto manager.      (line  956)
-* BFD_RELOC_SH_DISP12BY8:                howto manager.      (line  957)
-* BFD_RELOC_SH_DISP20:                   howto manager.      (line  958)
-* BFD_RELOC_SH_DISP20BY8:                howto manager.      (line  959)
-* BFD_RELOC_SH_FUNCDESC:                 howto manager.      (line 1046)
-* BFD_RELOC_SH_GLOB_DAT:                 howto manager.      (line  979)
-* BFD_RELOC_SH_GLOB_DAT64:               howto manager.      (line 1004)
-* BFD_RELOC_SH_GOT10BY4:                 howto manager.      (line 1007)
-* BFD_RELOC_SH_GOT10BY8:                 howto manager.      (line 1008)
-* BFD_RELOC_SH_GOT20:                    howto manager.      (line 1040)
-* BFD_RELOC_SH_GOT_HI16:                 howto manager.      (line  986)
-* BFD_RELOC_SH_GOT_LOW16:                howto manager.      (line  983)
-* BFD_RELOC_SH_GOT_MEDHI16:              howto manager.      (line  985)
-* BFD_RELOC_SH_GOT_MEDLOW16:             howto manager.      (line  984)
-* BFD_RELOC_SH_GOTFUNCDESC:              howto manager.      (line 1042)
-* BFD_RELOC_SH_GOTFUNCDESC20:            howto manager.      (line 1043)
-* BFD_RELOC_SH_GOTOFF20:                 howto manager.      (line 1041)
-* BFD_RELOC_SH_GOTOFF_HI16:              howto manager.      (line  998)
-* BFD_RELOC_SH_GOTOFF_LOW16:             howto manager.      (line  995)
-* BFD_RELOC_SH_GOTOFF_MEDHI16:           howto manager.      (line  997)
-* BFD_RELOC_SH_GOTOFF_MEDLOW16:          howto manager.      (line  996)
-* BFD_RELOC_SH_GOTOFFFUNCDESC:           howto manager.      (line 1044)
-* BFD_RELOC_SH_GOTOFFFUNCDESC20:         howto manager.      (line 1045)
-* BFD_RELOC_SH_GOTPC:                    howto manager.      (line  982)
-* BFD_RELOC_SH_GOTPC_HI16:               howto manager.      (line 1002)
-* BFD_RELOC_SH_GOTPC_LOW16:              howto manager.      (line  999)
-* BFD_RELOC_SH_GOTPC_MEDHI16:            howto manager.      (line 1001)
-* BFD_RELOC_SH_GOTPC_MEDLOW16:           howto manager.      (line 1000)
-* BFD_RELOC_SH_GOTPLT10BY4:              howto manager.      (line 1009)
-* BFD_RELOC_SH_GOTPLT10BY8:              howto manager.      (line 1010)
-* BFD_RELOC_SH_GOTPLT32:                 howto manager.      (line 1011)
-* BFD_RELOC_SH_GOTPLT_HI16:              howto manager.      (line  990)
-* BFD_RELOC_SH_GOTPLT_LOW16:             howto manager.      (line  987)
-* BFD_RELOC_SH_GOTPLT_MEDHI16:           howto manager.      (line  989)
-* BFD_RELOC_SH_GOTPLT_MEDLOW16:          howto manager.      (line  988)
-* BFD_RELOC_SH_IMM3:                     howto manager.      (line  952)
-* BFD_RELOC_SH_IMM3U:                    howto manager.      (line  953)
-* BFD_RELOC_SH_IMM4:                     howto manager.      (line  960)
-* BFD_RELOC_SH_IMM4BY2:                  howto manager.      (line  961)
-* BFD_RELOC_SH_IMM4BY4:                  howto manager.      (line  962)
-* BFD_RELOC_SH_IMM8:                     howto manager.      (line  963)
-* BFD_RELOC_SH_IMM8BY2:                  howto manager.      (line  964)
-* BFD_RELOC_SH_IMM8BY4:                  howto manager.      (line  965)
-* BFD_RELOC_SH_IMM_HI16:                 howto manager.      (line 1029)
-* BFD_RELOC_SH_IMM_HI16_PCREL:           howto manager.      (line 1030)
-* BFD_RELOC_SH_IMM_LOW16:                howto manager.      (line 1023)
-* BFD_RELOC_SH_IMM_LOW16_PCREL:          howto manager.      (line 1024)
-* BFD_RELOC_SH_IMM_MEDHI16:              howto manager.      (line 1027)
-* BFD_RELOC_SH_IMM_MEDHI16_PCREL:        howto manager.      (line 1028)
-* BFD_RELOC_SH_IMM_MEDLOW16:             howto manager.      (line 1025)
-* BFD_RELOC_SH_IMM_MEDLOW16_PCREL:       howto manager.      (line 1026)
-* BFD_RELOC_SH_IMMS10:                   howto manager.      (line 1017)
-* BFD_RELOC_SH_IMMS10BY2:                howto manager.      (line 1018)
-* BFD_RELOC_SH_IMMS10BY4:                howto manager.      (line 1019)
-* BFD_RELOC_SH_IMMS10BY8:                howto manager.      (line 1020)
-* BFD_RELOC_SH_IMMS16:                   howto manager.      (line 1021)
-* BFD_RELOC_SH_IMMS6:                    howto manager.      (line 1014)
-* BFD_RELOC_SH_IMMS6BY32:                howto manager.      (line 1015)
-* BFD_RELOC_SH_IMMU16:                   howto manager.      (line 1022)
-* BFD_RELOC_SH_IMMU5:                    howto manager.      (line 1013)
-* BFD_RELOC_SH_IMMU6:                    howto manager.      (line 1016)
-* BFD_RELOC_SH_JMP_SLOT:                 howto manager.      (line  980)
-* BFD_RELOC_SH_JMP_SLOT64:               howto manager.      (line 1005)
-* BFD_RELOC_SH_LABEL:                    howto manager.      (line  975)
-* BFD_RELOC_SH_LOOP_END:                 howto manager.      (line  977)
-* BFD_RELOC_SH_LOOP_START:               howto manager.      (line  976)
-* BFD_RELOC_SH_PCDISP12BY2:              howto manager.      (line  951)
-* BFD_RELOC_SH_PCDISP8BY2:               howto manager.      (line  950)
-* BFD_RELOC_SH_PCRELIMM8BY2:             howto manager.      (line  966)
-* BFD_RELOC_SH_PCRELIMM8BY4:             howto manager.      (line  967)
-* BFD_RELOC_SH_PLT_HI16:                 howto manager.      (line  994)
-* BFD_RELOC_SH_PLT_LOW16:                howto manager.      (line  991)
-* BFD_RELOC_SH_PLT_MEDHI16:              howto manager.      (line  993)
-* BFD_RELOC_SH_PLT_MEDLOW16:             howto manager.      (line  992)
-* BFD_RELOC_SH_PT_16:                    howto manager.      (line 1031)
-* BFD_RELOC_SH_RELATIVE:                 howto manager.      (line  981)
-* BFD_RELOC_SH_RELATIVE64:               howto manager.      (line 1006)
-* BFD_RELOC_SH_SHMEDIA_CODE:             howto manager.      (line 1012)
-* BFD_RELOC_SH_SWITCH16:                 howto manager.      (line  968)
-* BFD_RELOC_SH_SWITCH32:                 howto manager.      (line  969)
-* BFD_RELOC_SH_TLS_DTPMOD32:             howto manager.      (line 1037)
-* BFD_RELOC_SH_TLS_DTPOFF32:             howto manager.      (line 1038)
-* BFD_RELOC_SH_TLS_GD_32:                howto manager.      (line 1032)
-* BFD_RELOC_SH_TLS_IE_32:                howto manager.      (line 1035)
-* BFD_RELOC_SH_TLS_LD_32:                howto manager.      (line 1033)
-* BFD_RELOC_SH_TLS_LDO_32:               howto manager.      (line 1034)
-* BFD_RELOC_SH_TLS_LE_32:                howto manager.      (line 1036)
-* BFD_RELOC_SH_TLS_TPOFF32:              howto manager.      (line 1039)
-* BFD_RELOC_SH_USES:                     howto manager.      (line  970)
+* BFD_RELOC_RX_16_OP:                    howto manager.      (line 2023)
+* BFD_RELOC_RX_16U:                      howto manager.      (line 2027)
+* BFD_RELOC_RX_24_OP:                    howto manager.      (line 2024)
+* BFD_RELOC_RX_24U:                      howto manager.      (line 2028)
+* BFD_RELOC_RX_32_OP:                    howto manager.      (line 2025)
+* BFD_RELOC_RX_8U:                       howto manager.      (line 2026)
+* BFD_RELOC_RX_ABS16:                    howto manager.      (line 2038)
+* BFD_RELOC_RX_ABS16_REV:                howto manager.      (line 2039)
+* BFD_RELOC_RX_ABS16U:                   howto manager.      (line 2042)
+* BFD_RELOC_RX_ABS16UL:                  howto manager.      (line 2044)
+* BFD_RELOC_RX_ABS16UW:                  howto manager.      (line 2043)
+* BFD_RELOC_RX_ABS32:                    howto manager.      (line 2040)
+* BFD_RELOC_RX_ABS32_REV:                howto manager.      (line 2041)
+* BFD_RELOC_RX_ABS8:                     howto manager.      (line 2037)
+* BFD_RELOC_RX_DIFF:                     howto manager.      (line 2030)
+* BFD_RELOC_RX_DIR3U_PCREL:              howto manager.      (line 2029)
+* BFD_RELOC_RX_GPRELB:                   howto manager.      (line 2031)
+* BFD_RELOC_RX_GPRELL:                   howto manager.      (line 2033)
+* BFD_RELOC_RX_GPRELW:                   howto manager.      (line 2032)
+* BFD_RELOC_RX_NEG16:                    howto manager.      (line 2020)
+* BFD_RELOC_RX_NEG24:                    howto manager.      (line 2021)
+* BFD_RELOC_RX_NEG32:                    howto manager.      (line 2022)
+* BFD_RELOC_RX_NEG8:                     howto manager.      (line 2019)
+* BFD_RELOC_RX_OP_NEG:                   howto manager.      (line 2036)
+* BFD_RELOC_RX_OP_SUBTRACT:              howto manager.      (line 2035)
+* BFD_RELOC_RX_RELAX:                    howto manager.      (line 2045)
+* BFD_RELOC_RX_SYM:                      howto manager.      (line 2034)
+* BFD_RELOC_SCORE16_BRANCH:              howto manager.      (line 2188)
+* BFD_RELOC_SCORE16_JMP:                 howto manager.      (line 2185)
+* BFD_RELOC_SCORE_BCMP:                  howto manager.      (line 2191)
+* BFD_RELOC_SCORE_BRANCH:                howto manager.      (line 2176)
+* BFD_RELOC_SCORE_CALL15:                howto manager.      (line 2196)
+* BFD_RELOC_SCORE_DUMMY2:                howto manager.      (line 2172)
+* BFD_RELOC_SCORE_DUMMY_HI16:            howto manager.      (line 2197)
+* BFD_RELOC_SCORE_GOT15:                 howto manager.      (line 2194)
+* BFD_RELOC_SCORE_GOT_LO16:              howto manager.      (line 2195)
+* BFD_RELOC_SCORE_GPREL15:               howto manager.      (line 2169)
+* BFD_RELOC_SCORE_IMM30:                 howto manager.      (line 2179)
+* BFD_RELOC_SCORE_IMM32:                 howto manager.      (line 2182)
+* BFD_RELOC_SCORE_JMP:                   howto manager.      (line 2173)
+* BFD_RELOC_SH_ALIGN:                    howto manager.      (line  978)
+* BFD_RELOC_SH_CODE:                     howto manager.      (line  979)
+* BFD_RELOC_SH_COPY:                     howto manager.      (line  984)
+* BFD_RELOC_SH_COPY64:                   howto manager.      (line 1009)
+* BFD_RELOC_SH_COUNT:                    howto manager.      (line  977)
+* BFD_RELOC_SH_DATA:                     howto manager.      (line  980)
+* BFD_RELOC_SH_DISP12:                   howto manager.      (line  960)
+* BFD_RELOC_SH_DISP12BY2:                howto manager.      (line  961)
+* BFD_RELOC_SH_DISP12BY4:                howto manager.      (line  962)
+* BFD_RELOC_SH_DISP12BY8:                howto manager.      (line  963)
+* BFD_RELOC_SH_DISP20:                   howto manager.      (line  964)
+* BFD_RELOC_SH_DISP20BY8:                howto manager.      (line  965)
+* BFD_RELOC_SH_FUNCDESC:                 howto manager.      (line 1052)
+* BFD_RELOC_SH_GLOB_DAT:                 howto manager.      (line  985)
+* BFD_RELOC_SH_GLOB_DAT64:               howto manager.      (line 1010)
+* BFD_RELOC_SH_GOT10BY4:                 howto manager.      (line 1013)
+* BFD_RELOC_SH_GOT10BY8:                 howto manager.      (line 1014)
+* BFD_RELOC_SH_GOT20:                    howto manager.      (line 1046)
+* BFD_RELOC_SH_GOT_HI16:                 howto manager.      (line  992)
+* BFD_RELOC_SH_GOT_LOW16:                howto manager.      (line  989)
+* BFD_RELOC_SH_GOT_MEDHI16:              howto manager.      (line  991)
+* BFD_RELOC_SH_GOT_MEDLOW16:             howto manager.      (line  990)
+* BFD_RELOC_SH_GOTFUNCDESC:              howto manager.      (line 1048)
+* BFD_RELOC_SH_GOTFUNCDESC20:            howto manager.      (line 1049)
+* BFD_RELOC_SH_GOTOFF20:                 howto manager.      (line 1047)
+* BFD_RELOC_SH_GOTOFF_HI16:              howto manager.      (line 1004)
+* BFD_RELOC_SH_GOTOFF_LOW16:             howto manager.      (line 1001)
+* BFD_RELOC_SH_GOTOFF_MEDHI16:           howto manager.      (line 1003)
+* BFD_RELOC_SH_GOTOFF_MEDLOW16:          howto manager.      (line 1002)
+* BFD_RELOC_SH_GOTOFFFUNCDESC:           howto manager.      (line 1050)
+* BFD_RELOC_SH_GOTOFFFUNCDESC20:         howto manager.      (line 1051)
+* BFD_RELOC_SH_GOTPC:                    howto manager.      (line  988)
+* BFD_RELOC_SH_GOTPC_HI16:               howto manager.      (line 1008)
+* BFD_RELOC_SH_GOTPC_LOW16:              howto manager.      (line 1005)
+* BFD_RELOC_SH_GOTPC_MEDHI16:            howto manager.      (line 1007)
+* BFD_RELOC_SH_GOTPC_MEDLOW16:           howto manager.      (line 1006)
+* BFD_RELOC_SH_GOTPLT10BY4:              howto manager.      (line 1015)
+* BFD_RELOC_SH_GOTPLT10BY8:              howto manager.      (line 1016)
+* BFD_RELOC_SH_GOTPLT32:                 howto manager.      (line 1017)
+* BFD_RELOC_SH_GOTPLT_HI16:              howto manager.      (line  996)
+* BFD_RELOC_SH_GOTPLT_LOW16:             howto manager.      (line  993)
+* BFD_RELOC_SH_GOTPLT_MEDHI16:           howto manager.      (line  995)
+* BFD_RELOC_SH_GOTPLT_MEDLOW16:          howto manager.      (line  994)
+* BFD_RELOC_SH_IMM3:                     howto manager.      (line  958)
+* BFD_RELOC_SH_IMM3U:                    howto manager.      (line  959)
+* BFD_RELOC_SH_IMM4:                     howto manager.      (line  966)
+* BFD_RELOC_SH_IMM4BY2:                  howto manager.      (line  967)
+* BFD_RELOC_SH_IMM4BY4:                  howto manager.      (line  968)
+* BFD_RELOC_SH_IMM8:                     howto manager.      (line  969)
+* BFD_RELOC_SH_IMM8BY2:                  howto manager.      (line  970)
+* BFD_RELOC_SH_IMM8BY4:                  howto manager.      (line  971)
+* BFD_RELOC_SH_IMM_HI16:                 howto manager.      (line 1035)
+* BFD_RELOC_SH_IMM_HI16_PCREL:           howto manager.      (line 1036)
+* BFD_RELOC_SH_IMM_LOW16:                howto manager.      (line 1029)
+* BFD_RELOC_SH_IMM_LOW16_PCREL:          howto manager.      (line 1030)
+* BFD_RELOC_SH_IMM_MEDHI16:              howto manager.      (line 1033)
+* BFD_RELOC_SH_IMM_MEDHI16_PCREL:        howto manager.      (line 1034)
+* BFD_RELOC_SH_IMM_MEDLOW16:             howto manager.      (line 1031)
+* BFD_RELOC_SH_IMM_MEDLOW16_PCREL:       howto manager.      (line 1032)
+* BFD_RELOC_SH_IMMS10:                   howto manager.      (line 1023)
+* BFD_RELOC_SH_IMMS10BY2:                howto manager.      (line 1024)
+* BFD_RELOC_SH_IMMS10BY4:                howto manager.      (line 1025)
+* BFD_RELOC_SH_IMMS10BY8:                howto manager.      (line 1026)
+* BFD_RELOC_SH_IMMS16:                   howto manager.      (line 1027)
+* BFD_RELOC_SH_IMMS6:                    howto manager.      (line 1020)
+* BFD_RELOC_SH_IMMS6BY32:                howto manager.      (line 1021)
+* BFD_RELOC_SH_IMMU16:                   howto manager.      (line 1028)
+* BFD_RELOC_SH_IMMU5:                    howto manager.      (line 1019)
+* BFD_RELOC_SH_IMMU6:                    howto manager.      (line 1022)
+* BFD_RELOC_SH_JMP_SLOT:                 howto manager.      (line  986)
+* BFD_RELOC_SH_JMP_SLOT64:               howto manager.      (line 1011)
+* BFD_RELOC_SH_LABEL:                    howto manager.      (line  981)
+* BFD_RELOC_SH_LOOP_END:                 howto manager.      (line  983)
+* BFD_RELOC_SH_LOOP_START:               howto manager.      (line  982)
+* BFD_RELOC_SH_PCDISP12BY2:              howto manager.      (line  957)
+* BFD_RELOC_SH_PCDISP8BY2:               howto manager.      (line  956)
+* BFD_RELOC_SH_PCRELIMM8BY2:             howto manager.      (line  972)
+* BFD_RELOC_SH_PCRELIMM8BY4:             howto manager.      (line  973)
+* BFD_RELOC_SH_PLT_HI16:                 howto manager.      (line 1000)
+* BFD_RELOC_SH_PLT_LOW16:                howto manager.      (line  997)
+* BFD_RELOC_SH_PLT_MEDHI16:              howto manager.      (line  999)
+* BFD_RELOC_SH_PLT_MEDLOW16:             howto manager.      (line  998)
+* BFD_RELOC_SH_PT_16:                    howto manager.      (line 1037)
+* BFD_RELOC_SH_RELATIVE:                 howto manager.      (line  987)
+* BFD_RELOC_SH_RELATIVE64:               howto manager.      (line 1012)
+* BFD_RELOC_SH_SHMEDIA_CODE:             howto manager.      (line 1018)
+* BFD_RELOC_SH_SWITCH16:                 howto manager.      (line  974)
+* BFD_RELOC_SH_SWITCH32:                 howto manager.      (line  975)
+* BFD_RELOC_SH_TLS_DTPMOD32:             howto manager.      (line 1043)
+* BFD_RELOC_SH_TLS_DTPOFF32:             howto manager.      (line 1044)
+* BFD_RELOC_SH_TLS_GD_32:                howto manager.      (line 1038)
+* BFD_RELOC_SH_TLS_IE_32:                howto manager.      (line 1041)
+* BFD_RELOC_SH_TLS_LD_32:                howto manager.      (line 1039)
+* BFD_RELOC_SH_TLS_LDO_32:               howto manager.      (line 1040)
+* BFD_RELOC_SH_TLS_LE_32:                howto manager.      (line 1042)
+* BFD_RELOC_SH_TLS_TPOFF32:              howto manager.      (line 1045)
+* BFD_RELOC_SH_USES:                     howto manager.      (line  976)
 * BFD_RELOC_SIZE32:                      howto manager.      (line   74)
 * BFD_RELOC_SIZE64:                      howto manager.      (line   75)
 * BFD_RELOC_SPARC13:                     howto manager.      (line  138)
@@ -13167,378 +13243,385 @@ BFD Index
 * BFD_RELOC_SPU_PCREL9b:                 howto manager.      (line  233)
 * BFD_RELOC_SPU_PPU32:                   howto manager.      (line  237)
 * BFD_RELOC_SPU_PPU64:                   howto manager.      (line  238)
-* BFD_RELOC_THUMB_PCREL_BLX:             howto manager.      (line  799)
-* BFD_RELOC_THUMB_PCREL_BRANCH12:        howto manager.      (line  813)
-* BFD_RELOC_THUMB_PCREL_BRANCH20:        howto manager.      (line  814)
-* BFD_RELOC_THUMB_PCREL_BRANCH23:        howto manager.      (line  815)
-* BFD_RELOC_THUMB_PCREL_BRANCH25:        howto manager.      (line  816)
-* BFD_RELOC_THUMB_PCREL_BRANCH7:         howto manager.      (line  811)
-* BFD_RELOC_THUMB_PCREL_BRANCH9:         howto manager.      (line  812)
-* BFD_RELOC_TIC30_LDP:                   howto manager.      (line 1604)
-* BFD_RELOC_TIC54X_16_OF_23:             howto manager.      (line 1622)
-* BFD_RELOC_TIC54X_23:                   howto manager.      (line 1619)
-* BFD_RELOC_TIC54X_MS7_OF_23:            howto manager.      (line 1627)
-* BFD_RELOC_TIC54X_PARTLS7:              howto manager.      (line 1609)
-* BFD_RELOC_TIC54X_PARTMS9:              howto manager.      (line 1614)
-* BFD_RELOC_TILEGX_BROFF_X1:             howto manager.      (line 3343)
-* BFD_RELOC_TILEGX_COPY:                 howto manager.      (line 3339)
-* BFD_RELOC_TILEGX_DEST_IMM8_X1:         howto manager.      (line 3350)
-* BFD_RELOC_TILEGX_GLOB_DAT:             howto manager.      (line 3340)
-* BFD_RELOC_TILEGX_HW0:                  howto manager.      (line 3332)
-* BFD_RELOC_TILEGX_HW0_LAST:             howto manager.      (line 3336)
-* BFD_RELOC_TILEGX_HW1:                  howto manager.      (line 3333)
-* BFD_RELOC_TILEGX_HW1_LAST:             howto manager.      (line 3337)
-* BFD_RELOC_TILEGX_HW2:                  howto manager.      (line 3334)
-* BFD_RELOC_TILEGX_HW2_LAST:             howto manager.      (line 3338)
-* BFD_RELOC_TILEGX_HW3:                  howto manager.      (line 3335)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0:         howto manager.      (line 3359)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT:     howto manager.      (line 3387)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST:    howto manager.      (line 3367)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT: howto manager.     (line 3395)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL: howto manager.   (line 3381)
+* BFD_RELOC_THUMB_PCREL_BLX:             howto manager.      (line  805)
+* BFD_RELOC_THUMB_PCREL_BRANCH12:        howto manager.      (line  819)
+* BFD_RELOC_THUMB_PCREL_BRANCH20:        howto manager.      (line  820)
+* BFD_RELOC_THUMB_PCREL_BRANCH23:        howto manager.      (line  821)
+* BFD_RELOC_THUMB_PCREL_BRANCH25:        howto manager.      (line  822)
+* BFD_RELOC_THUMB_PCREL_BRANCH7:         howto manager.      (line  817)
+* BFD_RELOC_THUMB_PCREL_BRANCH9:         howto manager.      (line  818)
+* BFD_RELOC_TIC30_LDP:                   howto manager.      (line 1637)
+* BFD_RELOC_TIC54X_16_OF_23:             howto manager.      (line 1655)
+* BFD_RELOC_TIC54X_23:                   howto manager.      (line 1652)
+* BFD_RELOC_TIC54X_MS7_OF_23:            howto manager.      (line 1660)
+* BFD_RELOC_TIC54X_PARTLS7:              howto manager.      (line 1642)
+* BFD_RELOC_TIC54X_PARTMS9:              howto manager.      (line 1647)
+* BFD_RELOC_TILEGX_BROFF_X1:             howto manager.      (line 3388)
+* BFD_RELOC_TILEGX_COPY:                 howto manager.      (line 3384)
+* BFD_RELOC_TILEGX_DEST_IMM8_X1:         howto manager.      (line 3395)
+* BFD_RELOC_TILEGX_GLOB_DAT:             howto manager.      (line 3385)
+* BFD_RELOC_TILEGX_HW0:                  howto manager.      (line 3377)
+* BFD_RELOC_TILEGX_HW0_LAST:             howto manager.      (line 3381)
+* BFD_RELOC_TILEGX_HW1:                  howto manager.      (line 3378)
+* BFD_RELOC_TILEGX_HW1_LAST:             howto manager.      (line 3382)
+* BFD_RELOC_TILEGX_HW2:                  howto manager.      (line 3379)
+* BFD_RELOC_TILEGX_HW2_LAST:             howto manager.      (line 3383)
+* BFD_RELOC_TILEGX_HW3:                  howto manager.      (line 3380)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0:         howto manager.      (line 3404)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT:     howto manager.      (line 3432)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST:    howto manager.      (line 3412)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT: howto manager.     (line 3440)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL: howto manager.   (line 3426)
 * BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL: howto manager.
-                                                             (line 3415)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD: howto manager.  (line 3409)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE: howto manager.  (line 3421)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE: howto manager.  (line 3405)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL:   howto manager.      (line 3373)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL: howto manager.    (line 3389)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD:  howto manager.      (line 3401)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE:  howto manager.      (line 3413)
-* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE:  howto manager.      (line 3403)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1:         howto manager.      (line 3361)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST:    howto manager.      (line 3369)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT: howto manager.     (line 3397)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL: howto manager.   (line 3383)
+                                                             (line 3460)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD: howto manager.  (line 3454)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE: howto manager.  (line 3466)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE: howto manager.  (line 3450)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL:   howto manager.      (line 3418)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL: howto manager.    (line 3434)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD:  howto manager.      (line 3446)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE:  howto manager.      (line 3458)
+* BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE:  howto manager.      (line 3448)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1:         howto manager.      (line 3406)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST:    howto manager.      (line 3414)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT: howto manager.     (line 3442)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL: howto manager.   (line 3428)
 * BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL: howto manager.
-                                                             (line 3417)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD: howto manager.  (line 3411)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE: howto manager.  (line 3423)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE: howto manager.  (line 3407)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL:   howto manager.      (line 3375)
-* BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL: howto manager.    (line 3391)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2:         howto manager.      (line 3363)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST:    howto manager.      (line 3371)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL: howto manager.   (line 3385)
+                                                             (line 3462)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD: howto manager.  (line 3456)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE: howto manager.  (line 3468)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE: howto manager.  (line 3452)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL:   howto manager.      (line 3420)
+* BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL: howto manager.    (line 3436)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2:         howto manager.      (line 3408)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST:    howto manager.      (line 3416)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL: howto manager.   (line 3430)
 * BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL: howto manager.
-                                                             (line 3419)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL:   howto manager.      (line 3377)
-* BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL: howto manager.    (line 3393)
-* BFD_RELOC_TILEGX_IMM16_X0_HW3:         howto manager.      (line 3365)
-* BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL:   howto manager.      (line 3379)
-* BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL: howto manager.    (line 3399)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0:         howto manager.      (line 3360)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT:     howto manager.      (line 3388)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST:    howto manager.      (line 3368)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT: howto manager.     (line 3396)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL: howto manager.   (line 3382)
+                                                             (line 3464)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL:   howto manager.      (line 3422)
+* BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL: howto manager.    (line 3438)
+* BFD_RELOC_TILEGX_IMM16_X0_HW3:         howto manager.      (line 3410)
+* BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL:   howto manager.      (line 3424)
+* BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL: howto manager.    (line 3444)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0:         howto manager.      (line 3405)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT:     howto manager.      (line 3433)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST:    howto manager.      (line 3413)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT: howto manager.     (line 3441)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL: howto manager.   (line 3427)
 * BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL: howto manager.
-                                                             (line 3416)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD: howto manager.  (line 3410)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE: howto manager.  (line 3422)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE: howto manager.  (line 3406)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL:   howto manager.      (line 3374)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL: howto manager.    (line 3390)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD:  howto manager.      (line 3402)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE:  howto manager.      (line 3414)
-* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE:  howto manager.      (line 3404)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1:         howto manager.      (line 3362)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST:    howto manager.      (line 3370)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT: howto manager.     (line 3398)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL: howto manager.   (line 3384)
+                                                             (line 3461)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD: howto manager.  (line 3455)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE: howto manager.  (line 3467)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE: howto manager.  (line 3451)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL:   howto manager.      (line 3419)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL: howto manager.    (line 3435)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD:  howto manager.      (line 3447)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE:  howto manager.      (line 3459)
+* BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE:  howto manager.      (line 3449)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1:         howto manager.      (line 3407)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST:    howto manager.      (line 3415)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT: howto manager.     (line 3443)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL: howto manager.   (line 3429)
 * BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL: howto manager.
-                                                             (line 3418)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD: howto manager.  (line 3412)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE: howto manager.  (line 3424)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE: howto manager.  (line 3408)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL:   howto manager.      (line 3376)
-* BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL: howto manager.    (line 3392)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2:         howto manager.      (line 3364)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST:    howto manager.      (line 3372)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL: howto manager.   (line 3386)
+                                                             (line 3463)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD: howto manager.  (line 3457)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE: howto manager.  (line 3469)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE: howto manager.  (line 3453)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL:   howto manager.      (line 3421)
+* BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL: howto manager.    (line 3437)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2:         howto manager.      (line 3409)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST:    howto manager.      (line 3417)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL: howto manager.   (line 3431)
 * BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL: howto manager.
-                                                             (line 3420)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL:   howto manager.      (line 3378)
-* BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL: howto manager.    (line 3394)
-* BFD_RELOC_TILEGX_IMM16_X1_HW3:         howto manager.      (line 3366)
-* BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL:   howto manager.      (line 3380)
-* BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL: howto manager.    (line 3400)
-* BFD_RELOC_TILEGX_IMM8_X0:              howto manager.      (line 3346)
-* BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD:      howto manager.      (line 3437)
-* BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD:   howto manager.      (line 3432)
-* BFD_RELOC_TILEGX_IMM8_X1:              howto manager.      (line 3348)
-* BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD:      howto manager.      (line 3438)
-* BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD:   howto manager.      (line 3433)
-* BFD_RELOC_TILEGX_IMM8_Y0:              howto manager.      (line 3347)
-* BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD:      howto manager.      (line 3439)
-* BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD:   howto manager.      (line 3434)
-* BFD_RELOC_TILEGX_IMM8_Y1:              howto manager.      (line 3349)
-* BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD:      howto manager.      (line 3440)
-* BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD:   howto manager.      (line 3435)
-* BFD_RELOC_TILEGX_JMP_SLOT:             howto manager.      (line 3341)
-* BFD_RELOC_TILEGX_JUMPOFF_X1:           howto manager.      (line 3344)
-* BFD_RELOC_TILEGX_JUMPOFF_X1_PLT:       howto manager.      (line 3345)
-* BFD_RELOC_TILEGX_MF_IMM14_X1:          howto manager.      (line 3352)
-* BFD_RELOC_TILEGX_MMEND_X0:             howto manager.      (line 3354)
-* BFD_RELOC_TILEGX_MMSTART_X0:           howto manager.      (line 3353)
-* BFD_RELOC_TILEGX_MT_IMM14_X1:          howto manager.      (line 3351)
-* BFD_RELOC_TILEGX_RELATIVE:             howto manager.      (line 3342)
-* BFD_RELOC_TILEGX_SHAMT_X0:             howto manager.      (line 3355)
-* BFD_RELOC_TILEGX_SHAMT_X1:             howto manager.      (line 3356)
-* BFD_RELOC_TILEGX_SHAMT_Y0:             howto manager.      (line 3357)
-* BFD_RELOC_TILEGX_SHAMT_Y1:             howto manager.      (line 3358)
-* BFD_RELOC_TILEGX_TLS_DTPMOD32:         howto manager.      (line 3428)
-* BFD_RELOC_TILEGX_TLS_DTPMOD64:         howto manager.      (line 3425)
-* BFD_RELOC_TILEGX_TLS_DTPOFF32:         howto manager.      (line 3429)
-* BFD_RELOC_TILEGX_TLS_DTPOFF64:         howto manager.      (line 3426)
-* BFD_RELOC_TILEGX_TLS_GD_CALL:          howto manager.      (line 3431)
-* BFD_RELOC_TILEGX_TLS_IE_LOAD:          howto manager.      (line 3436)
-* BFD_RELOC_TILEGX_TLS_TPOFF32:          howto manager.      (line 3430)
-* BFD_RELOC_TILEGX_TLS_TPOFF64:          howto manager.      (line 3427)
-* BFD_RELOC_TILEPRO_BROFF_X1:            howto manager.      (line 3255)
-* BFD_RELOC_TILEPRO_COPY:                howto manager.      (line 3251)
-* BFD_RELOC_TILEPRO_DEST_IMM8_X1:        howto manager.      (line 3262)
-* BFD_RELOC_TILEPRO_GLOB_DAT:            howto manager.      (line 3252)
-* BFD_RELOC_TILEPRO_IMM16_X0:            howto manager.      (line 3265)
-* BFD_RELOC_TILEPRO_IMM16_X0_GOT:        howto manager.      (line 3281)
-* BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA:     howto manager.      (line 3287)
-* BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI:     howto manager.      (line 3285)
-* BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO:     howto manager.      (line 3283)
-* BFD_RELOC_TILEPRO_IMM16_X0_HA:         howto manager.      (line 3271)
-* BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL:   howto manager.      (line 3279)
-* BFD_RELOC_TILEPRO_IMM16_X0_HI:         howto manager.      (line 3269)
-* BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL:   howto manager.      (line 3277)
-* BFD_RELOC_TILEPRO_IMM16_X0_LO:         howto manager.      (line 3267)
-* BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL:   howto manager.      (line 3275)
-* BFD_RELOC_TILEPRO_IMM16_X0_PCREL:      howto manager.      (line 3273)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD:     howto manager.      (line 3303)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA:  howto manager.      (line 3309)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI:  howto manager.      (line 3307)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO:  howto manager.      (line 3305)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE:     howto manager.      (line 3311)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA:  howto manager.      (line 3317)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI:  howto manager.      (line 3315)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO:  howto manager.      (line 3313)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE:     howto manager.      (line 3322)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA:  howto manager.      (line 3328)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI:  howto manager.      (line 3326)
-* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO:  howto manager.      (line 3324)
-* BFD_RELOC_TILEPRO_IMM16_X1:            howto manager.      (line 3266)
-* BFD_RELOC_TILEPRO_IMM16_X1_GOT:        howto manager.      (line 3282)
-* BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA:     howto manager.      (line 3288)
-* BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI:     howto manager.      (line 3286)
-* BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO:     howto manager.      (line 3284)
-* BFD_RELOC_TILEPRO_IMM16_X1_HA:         howto manager.      (line 3272)
-* BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL:   howto manager.      (line 3280)
-* BFD_RELOC_TILEPRO_IMM16_X1_HI:         howto manager.      (line 3270)
-* BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL:   howto manager.      (line 3278)
-* BFD_RELOC_TILEPRO_IMM16_X1_LO:         howto manager.      (line 3268)
-* BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL:   howto manager.      (line 3276)
-* BFD_RELOC_TILEPRO_IMM16_X1_PCREL:      howto manager.      (line 3274)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD:     howto manager.      (line 3304)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA:  howto manager.      (line 3310)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI:  howto manager.      (line 3308)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO:  howto manager.      (line 3306)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE:     howto manager.      (line 3312)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA:  howto manager.      (line 3318)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI:  howto manager.      (line 3316)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO:  howto manager.      (line 3314)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE:     howto manager.      (line 3323)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA:  howto manager.      (line 3329)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI:  howto manager.      (line 3327)
-* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO:  howto manager.      (line 3325)
-* BFD_RELOC_TILEPRO_IMM8_X0:             howto manager.      (line 3258)
-* BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD:  howto manager.      (line 3298)
-* BFD_RELOC_TILEPRO_IMM8_X1:             howto manager.      (line 3260)
-* BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD:  howto manager.      (line 3299)
-* BFD_RELOC_TILEPRO_IMM8_Y0:             howto manager.      (line 3259)
-* BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD:  howto manager.      (line 3300)
-* BFD_RELOC_TILEPRO_IMM8_Y1:             howto manager.      (line 3261)
-* BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD:  howto manager.      (line 3301)
-* BFD_RELOC_TILEPRO_JMP_SLOT:            howto manager.      (line 3253)
-* BFD_RELOC_TILEPRO_JOFFLONG_X1:         howto manager.      (line 3256)
-* BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT:     howto manager.      (line 3257)
-* BFD_RELOC_TILEPRO_MF_IMM15_X1:         howto manager.      (line 3264)
-* BFD_RELOC_TILEPRO_MMEND_X0:            howto manager.      (line 3290)
-* BFD_RELOC_TILEPRO_MMEND_X1:            howto manager.      (line 3292)
-* BFD_RELOC_TILEPRO_MMSTART_X0:          howto manager.      (line 3289)
-* BFD_RELOC_TILEPRO_MMSTART_X1:          howto manager.      (line 3291)
-* BFD_RELOC_TILEPRO_MT_IMM15_X1:         howto manager.      (line 3263)
-* BFD_RELOC_TILEPRO_RELATIVE:            howto manager.      (line 3254)
-* BFD_RELOC_TILEPRO_SHAMT_X0:            howto manager.      (line 3293)
-* BFD_RELOC_TILEPRO_SHAMT_X1:            howto manager.      (line 3294)
-* BFD_RELOC_TILEPRO_SHAMT_Y0:            howto manager.      (line 3295)
-* BFD_RELOC_TILEPRO_SHAMT_Y1:            howto manager.      (line 3296)
-* BFD_RELOC_TILEPRO_TLS_DTPMOD32:        howto manager.      (line 3319)
-* BFD_RELOC_TILEPRO_TLS_DTPOFF32:        howto manager.      (line 3320)
-* BFD_RELOC_TILEPRO_TLS_GD_CALL:         howto manager.      (line 3297)
-* BFD_RELOC_TILEPRO_TLS_IE_LOAD:         howto manager.      (line 3302)
-* BFD_RELOC_TILEPRO_TLS_TPOFF32:         howto manager.      (line 3321)
-* bfd_reloc_type_lookup:                 howto manager.      (line 3466)
-* BFD_RELOC_V850_16_GOT:                 howto manager.      (line 1568)
-* BFD_RELOC_V850_16_GOTOFF:              howto manager.      (line 1592)
-* BFD_RELOC_V850_16_PCREL:               howto manager.      (line 1538)
-* BFD_RELOC_V850_16_S1:                  howto manager.      (line 1556)
-* BFD_RELOC_V850_16_SPLIT_OFFSET:        howto manager.      (line 1553)
-* BFD_RELOC_V850_17_PCREL:               howto manager.      (line 1541)
-* BFD_RELOC_V850_22_PCREL:               howto manager.      (line 1473)
-* BFD_RELOC_V850_22_PLT_PCREL:           howto manager.      (line 1574)
-* BFD_RELOC_V850_23:                     howto manager.      (line 1544)
-* BFD_RELOC_V850_32_ABS:                 howto manager.      (line 1550)
-* BFD_RELOC_V850_32_GOT:                 howto manager.      (line 1571)
-* BFD_RELOC_V850_32_GOTOFF:              howto manager.      (line 1595)
-* BFD_RELOC_V850_32_GOTPCREL:            howto manager.      (line 1565)
-* BFD_RELOC_V850_32_PCREL:               howto manager.      (line 1547)
-* BFD_RELOC_V850_32_PLT_PCREL:           howto manager.      (line 1577)
-* BFD_RELOC_V850_9_PCREL:                howto manager.      (line 1470)
-* BFD_RELOC_V850_ALIGN:                  howto manager.      (line 1531)
-* BFD_RELOC_V850_CALLT_15_16_OFFSET:     howto manager.      (line 1562)
-* BFD_RELOC_V850_CALLT_16_16_OFFSET:     howto manager.      (line 1522)
-* BFD_RELOC_V850_CALLT_6_7_OFFSET:       howto manager.      (line 1519)
-* BFD_RELOC_V850_CODE:                   howto manager.      (line 1598)
-* BFD_RELOC_V850_COPY:                   howto manager.      (line 1580)
-* BFD_RELOC_V850_DATA:                   howto manager.      (line 1601)
-* BFD_RELOC_V850_GLOB_DAT:               howto manager.      (line 1583)
-* BFD_RELOC_V850_JMP_SLOT:               howto manager.      (line 1586)
-* BFD_RELOC_V850_LO16_S1:                howto manager.      (line 1559)
-* BFD_RELOC_V850_LO16_SPLIT_OFFSET:      howto manager.      (line 1534)
-* BFD_RELOC_V850_LONGCALL:               howto manager.      (line 1525)
-* BFD_RELOC_V850_LONGJUMP:               howto manager.      (line 1528)
-* BFD_RELOC_V850_RELATIVE:               howto manager.      (line 1589)
-* BFD_RELOC_V850_SDA_15_16_OFFSET:       howto manager.      (line 1479)
-* BFD_RELOC_V850_SDA_16_16_OFFSET:       howto manager.      (line 1476)
-* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager.      (line 1511)
-* BFD_RELOC_V850_TDA_16_16_OFFSET:       howto manager.      (line 1501)
-* BFD_RELOC_V850_TDA_4_4_OFFSET:         howto manager.      (line 1508)
-* BFD_RELOC_V850_TDA_4_5_OFFSET:         howto manager.      (line 1504)
-* BFD_RELOC_V850_TDA_6_8_OFFSET:         howto manager.      (line 1490)
-* BFD_RELOC_V850_TDA_7_7_OFFSET:         howto manager.      (line 1498)
-* BFD_RELOC_V850_TDA_7_8_OFFSET:         howto manager.      (line 1494)
-* BFD_RELOC_V850_ZDA_15_16_OFFSET:       howto manager.      (line 1486)
-* BFD_RELOC_V850_ZDA_16_16_OFFSET:       howto manager.      (line 1483)
-* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager.      (line 1515)
-* BFD_RELOC_VAX_GLOB_DAT:                howto manager.      (line 2631)
-* BFD_RELOC_VAX_JMP_SLOT:                howto manager.      (line 2632)
-* BFD_RELOC_VAX_RELATIVE:                howto manager.      (line 2633)
-* BFD_RELOC_VPE4KMATH_DATA:              howto manager.      (line 2185)
-* BFD_RELOC_VPE4KMATH_INSN:              howto manager.      (line 2186)
-* BFD_RELOC_VTABLE_ENTRY:                howto manager.      (line 2190)
-* BFD_RELOC_VTABLE_INHERIT:              howto manager.      (line 2189)
-* BFD_RELOC_X86_64_32S:                  howto manager.      (line  608)
-* BFD_RELOC_X86_64_COPY:                 howto manager.      (line  603)
-* BFD_RELOC_X86_64_DTPMOD64:             howto manager.      (line  609)
-* BFD_RELOC_X86_64_DTPOFF32:             howto manager.      (line  614)
-* BFD_RELOC_X86_64_DTPOFF64:             howto manager.      (line  610)
-* BFD_RELOC_X86_64_GLOB_DAT:             howto manager.      (line  604)
-* BFD_RELOC_X86_64_GOT32:                howto manager.      (line  601)
-* BFD_RELOC_X86_64_GOT64:                howto manager.      (line  619)
-* BFD_RELOC_X86_64_GOTOFF64:             howto manager.      (line  617)
-* BFD_RELOC_X86_64_GOTPC32:              howto manager.      (line  618)
-* BFD_RELOC_X86_64_GOTPC32_TLSDESC:      howto manager.      (line  624)
-* BFD_RELOC_X86_64_GOTPC64:              howto manager.      (line  621)
-* BFD_RELOC_X86_64_GOTPCREL:             howto manager.      (line  607)
-* BFD_RELOC_X86_64_GOTPCREL64:           howto manager.      (line  620)
-* BFD_RELOC_X86_64_GOTPLT64:             howto manager.      (line  622)
-* BFD_RELOC_X86_64_GOTTPOFF:             howto manager.      (line  615)
-* BFD_RELOC_X86_64_IRELATIVE:            howto manager.      (line  627)
-* BFD_RELOC_X86_64_JUMP_SLOT:            howto manager.      (line  605)
-* BFD_RELOC_X86_64_PC32_BND:             howto manager.      (line  628)
-* BFD_RELOC_X86_64_PLT32:                howto manager.      (line  602)
-* BFD_RELOC_X86_64_PLT32_BND:            howto manager.      (line  629)
-* BFD_RELOC_X86_64_PLTOFF64:             howto manager.      (line  623)
-* BFD_RELOC_X86_64_RELATIVE:             howto manager.      (line  606)
-* BFD_RELOC_X86_64_TLSDESC:              howto manager.      (line  626)
-* BFD_RELOC_X86_64_TLSDESC_CALL:         howto manager.      (line  625)
-* BFD_RELOC_X86_64_TLSGD:                howto manager.      (line  612)
-* BFD_RELOC_X86_64_TLSLD:                howto manager.      (line  613)
-* BFD_RELOC_X86_64_TPOFF32:              howto manager.      (line  616)
-* BFD_RELOC_X86_64_TPOFF64:              howto manager.      (line  611)
-* BFD_RELOC_XC16X_PAG:                   howto manager.      (line 2625)
-* BFD_RELOC_XC16X_POF:                   howto manager.      (line 2626)
-* BFD_RELOC_XC16X_SEG:                   howto manager.      (line 2627)
-* BFD_RELOC_XC16X_SOF:                   howto manager.      (line 2628)
-* BFD_RELOC_XGATE_24:                    howto manager.      (line 2348)
-* BFD_RELOC_XGATE_GPAGE:                 howto manager.      (line 2345)
-* BFD_RELOC_XGATE_IMM3:                  howto manager.      (line 2365)
-* BFD_RELOC_XGATE_IMM4:                  howto manager.      (line 2368)
-* BFD_RELOC_XGATE_IMM5:                  howto manager.      (line 2371)
-* BFD_RELOC_XGATE_IMM8_HI:               howto manager.      (line 2361)
-* BFD_RELOC_XGATE_IMM8_LO:               howto manager.      (line 2357)
-* BFD_RELOC_XGATE_LO16:                  howto manager.      (line 2341)
-* BFD_RELOC_XGATE_PCREL_10:              howto manager.      (line 2354)
-* BFD_RELOC_XGATE_PCREL_9:               howto manager.      (line 2351)
-* BFD_RELOC_XGATE_RL_GROUP:              howto manager.      (line 2336)
-* BFD_RELOC_XGATE_RL_JUMP:               howto manager.      (line 2332)
-* BFD_RELOC_XSTORMY16_12:                howto manager.      (line 2617)
-* BFD_RELOC_XSTORMY16_24:                howto manager.      (line 2618)
-* BFD_RELOC_XSTORMY16_FPTR16:            howto manager.      (line 2619)
-* BFD_RELOC_XSTORMY16_REL_12:            howto manager.      (line 2616)
-* BFD_RELOC_XTENSA_ASM_EXPAND:           howto manager.      (line 2793)
-* BFD_RELOC_XTENSA_ASM_SIMPLIFY:         howto manager.      (line 2798)
-* BFD_RELOC_XTENSA_DIFF16:               howto manager.      (line 2740)
-* BFD_RELOC_XTENSA_DIFF32:               howto manager.      (line 2741)
-* BFD_RELOC_XTENSA_DIFF8:                howto manager.      (line 2739)
-* BFD_RELOC_XTENSA_GLOB_DAT:             howto manager.      (line 2729)
-* BFD_RELOC_XTENSA_JMP_SLOT:             howto manager.      (line 2730)
-* BFD_RELOC_XTENSA_OP0:                  howto manager.      (line 2787)
-* BFD_RELOC_XTENSA_OP1:                  howto manager.      (line 2788)
-* BFD_RELOC_XTENSA_OP2:                  howto manager.      (line 2789)
-* BFD_RELOC_XTENSA_PLT:                  howto manager.      (line 2734)
-* BFD_RELOC_XTENSA_RELATIVE:             howto manager.      (line 2731)
-* BFD_RELOC_XTENSA_RTLD:                 howto manager.      (line 2724)
-* BFD_RELOC_XTENSA_SLOT0_ALT:            howto manager.      (line 2769)
-* BFD_RELOC_XTENSA_SLOT0_OP:             howto manager.      (line 2749)
-* BFD_RELOC_XTENSA_SLOT10_ALT:           howto manager.      (line 2779)
-* BFD_RELOC_XTENSA_SLOT10_OP:            howto manager.      (line 2759)
-* BFD_RELOC_XTENSA_SLOT11_ALT:           howto manager.      (line 2780)
-* BFD_RELOC_XTENSA_SLOT11_OP:            howto manager.      (line 2760)
-* BFD_RELOC_XTENSA_SLOT12_ALT:           howto manager.      (line 2781)
-* BFD_RELOC_XTENSA_SLOT12_OP:            howto manager.      (line 2761)
-* BFD_RELOC_XTENSA_SLOT13_ALT:           howto manager.      (line 2782)
-* BFD_RELOC_XTENSA_SLOT13_OP:            howto manager.      (line 2762)
-* BFD_RELOC_XTENSA_SLOT14_ALT:           howto manager.      (line 2783)
-* BFD_RELOC_XTENSA_SLOT14_OP:            howto manager.      (line 2763)
-* BFD_RELOC_XTENSA_SLOT1_ALT:            howto manager.      (line 2770)
-* BFD_RELOC_XTENSA_SLOT1_OP:             howto manager.      (line 2750)
-* BFD_RELOC_XTENSA_SLOT2_ALT:            howto manager.      (line 2771)
-* BFD_RELOC_XTENSA_SLOT2_OP:             howto manager.      (line 2751)
-* BFD_RELOC_XTENSA_SLOT3_ALT:            howto manager.      (line 2772)
-* BFD_RELOC_XTENSA_SLOT3_OP:             howto manager.      (line 2752)
-* BFD_RELOC_XTENSA_SLOT4_ALT:            howto manager.      (line 2773)
-* BFD_RELOC_XTENSA_SLOT4_OP:             howto manager.      (line 2753)
-* BFD_RELOC_XTENSA_SLOT5_ALT:            howto manager.      (line 2774)
-* BFD_RELOC_XTENSA_SLOT5_OP:             howto manager.      (line 2754)
-* BFD_RELOC_XTENSA_SLOT6_ALT:            howto manager.      (line 2775)
-* BFD_RELOC_XTENSA_SLOT6_OP:             howto manager.      (line 2755)
-* BFD_RELOC_XTENSA_SLOT7_ALT:            howto manager.      (line 2776)
-* BFD_RELOC_XTENSA_SLOT7_OP:             howto manager.      (line 2756)
-* BFD_RELOC_XTENSA_SLOT8_ALT:            howto manager.      (line 2777)
-* BFD_RELOC_XTENSA_SLOT8_OP:             howto manager.      (line 2757)
-* BFD_RELOC_XTENSA_SLOT9_ALT:            howto manager.      (line 2778)
-* BFD_RELOC_XTENSA_SLOT9_OP:             howto manager.      (line 2758)
-* BFD_RELOC_XTENSA_TLS_ARG:              howto manager.      (line 2808)
-* BFD_RELOC_XTENSA_TLS_CALL:             howto manager.      (line 2809)
-* BFD_RELOC_XTENSA_TLS_DTPOFF:           howto manager.      (line 2805)
-* BFD_RELOC_XTENSA_TLS_FUNC:             howto manager.      (line 2807)
-* BFD_RELOC_XTENSA_TLS_TPOFF:            howto manager.      (line 2806)
-* BFD_RELOC_XTENSA_TLSDESC_ARG:          howto manager.      (line 2804)
-* BFD_RELOC_XTENSA_TLSDESC_FN:           howto manager.      (line 2803)
-* BFD_RELOC_Z80_DISP8:                   howto manager.      (line 2812)
-* BFD_RELOC_Z8K_CALLR:                   howto manager.      (line 2818)
-* BFD_RELOC_Z8K_DISP7:                   howto manager.      (line 2815)
-* BFD_RELOC_Z8K_IMM4L:                   howto manager.      (line 2821)
+                                                             (line 3465)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL:   howto manager.      (line 3423)
+* BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL: howto manager.    (line 3439)
+* BFD_RELOC_TILEGX_IMM16_X1_HW3:         howto manager.      (line 3411)
+* BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL:   howto manager.      (line 3425)
+* BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL: howto manager.    (line 3445)
+* BFD_RELOC_TILEGX_IMM8_X0:              howto manager.      (line 3391)
+* BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD:      howto manager.      (line 3482)
+* BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD:   howto manager.      (line 3477)
+* BFD_RELOC_TILEGX_IMM8_X1:              howto manager.      (line 3393)
+* BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD:      howto manager.      (line 3483)
+* BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD:   howto manager.      (line 3478)
+* BFD_RELOC_TILEGX_IMM8_Y0:              howto manager.      (line 3392)
+* BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD:      howto manager.      (line 3484)
+* BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD:   howto manager.      (line 3479)
+* BFD_RELOC_TILEGX_IMM8_Y1:              howto manager.      (line 3394)
+* BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD:      howto manager.      (line 3485)
+* BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD:   howto manager.      (line 3480)
+* BFD_RELOC_TILEGX_JMP_SLOT:             howto manager.      (line 3386)
+* BFD_RELOC_TILEGX_JUMPOFF_X1:           howto manager.      (line 3389)
+* BFD_RELOC_TILEGX_JUMPOFF_X1_PLT:       howto manager.      (line 3390)
+* BFD_RELOC_TILEGX_MF_IMM14_X1:          howto manager.      (line 3397)
+* BFD_RELOC_TILEGX_MMEND_X0:             howto manager.      (line 3399)
+* BFD_RELOC_TILEGX_MMSTART_X0:           howto manager.      (line 3398)
+* BFD_RELOC_TILEGX_MT_IMM14_X1:          howto manager.      (line 3396)
+* BFD_RELOC_TILEGX_RELATIVE:             howto manager.      (line 3387)
+* BFD_RELOC_TILEGX_SHAMT_X0:             howto manager.      (line 3400)
+* BFD_RELOC_TILEGX_SHAMT_X1:             howto manager.      (line 3401)
+* BFD_RELOC_TILEGX_SHAMT_Y0:             howto manager.      (line 3402)
+* BFD_RELOC_TILEGX_SHAMT_Y1:             howto manager.      (line 3403)
+* BFD_RELOC_TILEGX_TLS_DTPMOD32:         howto manager.      (line 3473)
+* BFD_RELOC_TILEGX_TLS_DTPMOD64:         howto manager.      (line 3470)
+* BFD_RELOC_TILEGX_TLS_DTPOFF32:         howto manager.      (line 3474)
+* BFD_RELOC_TILEGX_TLS_DTPOFF64:         howto manager.      (line 3471)
+* BFD_RELOC_TILEGX_TLS_GD_CALL:          howto manager.      (line 3476)
+* BFD_RELOC_TILEGX_TLS_IE_LOAD:          howto manager.      (line 3481)
+* BFD_RELOC_TILEGX_TLS_TPOFF32:          howto manager.      (line 3475)
+* BFD_RELOC_TILEGX_TLS_TPOFF64:          howto manager.      (line 3472)
+* BFD_RELOC_TILEPRO_BROFF_X1:            howto manager.      (line 3300)
+* BFD_RELOC_TILEPRO_COPY:                howto manager.      (line 3296)
+* BFD_RELOC_TILEPRO_DEST_IMM8_X1:        howto manager.      (line 3307)
+* BFD_RELOC_TILEPRO_GLOB_DAT:            howto manager.      (line 3297)
+* BFD_RELOC_TILEPRO_IMM16_X0:            howto manager.      (line 3310)
+* BFD_RELOC_TILEPRO_IMM16_X0_GOT:        howto manager.      (line 3326)
+* BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA:     howto manager.      (line 3332)
+* BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI:     howto manager.      (line 3330)
+* BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO:     howto manager.      (line 3328)
+* BFD_RELOC_TILEPRO_IMM16_X0_HA:         howto manager.      (line 3316)
+* BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL:   howto manager.      (line 3324)
+* BFD_RELOC_TILEPRO_IMM16_X0_HI:         howto manager.      (line 3314)
+* BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL:   howto manager.      (line 3322)
+* BFD_RELOC_TILEPRO_IMM16_X0_LO:         howto manager.      (line 3312)
+* BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL:   howto manager.      (line 3320)
+* BFD_RELOC_TILEPRO_IMM16_X0_PCREL:      howto manager.      (line 3318)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD:     howto manager.      (line 3348)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA:  howto manager.      (line 3354)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI:  howto manager.      (line 3352)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO:  howto manager.      (line 3350)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE:     howto manager.      (line 3356)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA:  howto manager.      (line 3362)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI:  howto manager.      (line 3360)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO:  howto manager.      (line 3358)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE:     howto manager.      (line 3367)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA:  howto manager.      (line 3373)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI:  howto manager.      (line 3371)
+* BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO:  howto manager.      (line 3369)
+* BFD_RELOC_TILEPRO_IMM16_X1:            howto manager.      (line 3311)
+* BFD_RELOC_TILEPRO_IMM16_X1_GOT:        howto manager.      (line 3327)
+* BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA:     howto manager.      (line 3333)
+* BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI:     howto manager.      (line 3331)
+* BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO:     howto manager.      (line 3329)
+* BFD_RELOC_TILEPRO_IMM16_X1_HA:         howto manager.      (line 3317)
+* BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL:   howto manager.      (line 3325)
+* BFD_RELOC_TILEPRO_IMM16_X1_HI:         howto manager.      (line 3315)
+* BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL:   howto manager.      (line 3323)
+* BFD_RELOC_TILEPRO_IMM16_X1_LO:         howto manager.      (line 3313)
+* BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL:   howto manager.      (line 3321)
+* BFD_RELOC_TILEPRO_IMM16_X1_PCREL:      howto manager.      (line 3319)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD:     howto manager.      (line 3349)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA:  howto manager.      (line 3355)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI:  howto manager.      (line 3353)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO:  howto manager.      (line 3351)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE:     howto manager.      (line 3357)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA:  howto manager.      (line 3363)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI:  howto manager.      (line 3361)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO:  howto manager.      (line 3359)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE:     howto manager.      (line 3368)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA:  howto manager.      (line 3374)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI:  howto manager.      (line 3372)
+* BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO:  howto manager.      (line 3370)
+* BFD_RELOC_TILEPRO_IMM8_X0:             howto manager.      (line 3303)
+* BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD:  howto manager.      (line 3343)
+* BFD_RELOC_TILEPRO_IMM8_X1:             howto manager.      (line 3305)
+* BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD:  howto manager.      (line 3344)
+* BFD_RELOC_TILEPRO_IMM8_Y0:             howto manager.      (line 3304)
+* BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD:  howto manager.      (line 3345)
+* BFD_RELOC_TILEPRO_IMM8_Y1:             howto manager.      (line 3306)
+* BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD:  howto manager.      (line 3346)
+* BFD_RELOC_TILEPRO_JMP_SLOT:            howto manager.      (line 3298)
+* BFD_RELOC_TILEPRO_JOFFLONG_X1:         howto manager.      (line 3301)
+* BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT:     howto manager.      (line 3302)
+* BFD_RELOC_TILEPRO_MF_IMM15_X1:         howto manager.      (line 3309)
+* BFD_RELOC_TILEPRO_MMEND_X0:            howto manager.      (line 3335)
+* BFD_RELOC_TILEPRO_MMEND_X1:            howto manager.      (line 3337)
+* BFD_RELOC_TILEPRO_MMSTART_X0:          howto manager.      (line 3334)
+* BFD_RELOC_TILEPRO_MMSTART_X1:          howto manager.      (line 3336)
+* BFD_RELOC_TILEPRO_MT_IMM15_X1:         howto manager.      (line 3308)
+* BFD_RELOC_TILEPRO_RELATIVE:            howto manager.      (line 3299)
+* BFD_RELOC_TILEPRO_SHAMT_X0:            howto manager.      (line 3338)
+* BFD_RELOC_TILEPRO_SHAMT_X1:            howto manager.      (line 3339)
+* BFD_RELOC_TILEPRO_SHAMT_Y0:            howto manager.      (line 3340)
+* BFD_RELOC_TILEPRO_SHAMT_Y1:            howto manager.      (line 3341)
+* BFD_RELOC_TILEPRO_TLS_DTPMOD32:        howto manager.      (line 3364)
+* BFD_RELOC_TILEPRO_TLS_DTPOFF32:        howto manager.      (line 3365)
+* BFD_RELOC_TILEPRO_TLS_GD_CALL:         howto manager.      (line 3342)
+* BFD_RELOC_TILEPRO_TLS_IE_LOAD:         howto manager.      (line 3347)
+* BFD_RELOC_TILEPRO_TLS_TPOFF32:         howto manager.      (line 3366)
+* bfd_reloc_type_lookup:                 howto manager.      (line 3520)
+* BFD_RELOC_V850_16_GOT:                 howto manager.      (line 1601)
+* BFD_RELOC_V850_16_GOTOFF:              howto manager.      (line 1625)
+* BFD_RELOC_V850_16_PCREL:               howto manager.      (line 1571)
+* BFD_RELOC_V850_16_S1:                  howto manager.      (line 1589)
+* BFD_RELOC_V850_16_SPLIT_OFFSET:        howto manager.      (line 1586)
+* BFD_RELOC_V850_17_PCREL:               howto manager.      (line 1574)
+* BFD_RELOC_V850_22_PCREL:               howto manager.      (line 1506)
+* BFD_RELOC_V850_22_PLT_PCREL:           howto manager.      (line 1607)
+* BFD_RELOC_V850_23:                     howto manager.      (line 1577)
+* BFD_RELOC_V850_32_ABS:                 howto manager.      (line 1583)
+* BFD_RELOC_V850_32_GOT:                 howto manager.      (line 1604)
+* BFD_RELOC_V850_32_GOTOFF:              howto manager.      (line 1628)
+* BFD_RELOC_V850_32_GOTPCREL:            howto manager.      (line 1598)
+* BFD_RELOC_V850_32_PCREL:               howto manager.      (line 1580)
+* BFD_RELOC_V850_32_PLT_PCREL:           howto manager.      (line 1610)
+* BFD_RELOC_V850_9_PCREL:                howto manager.      (line 1503)
+* BFD_RELOC_V850_ALIGN:                  howto manager.      (line 1564)
+* BFD_RELOC_V850_CALLT_15_16_OFFSET:     howto manager.      (line 1595)
+* BFD_RELOC_V850_CALLT_16_16_OFFSET:     howto manager.      (line 1555)
+* BFD_RELOC_V850_CALLT_6_7_OFFSET:       howto manager.      (line 1552)
+* BFD_RELOC_V850_CODE:                   howto manager.      (line 1631)
+* BFD_RELOC_V850_COPY:                   howto manager.      (line 1613)
+* BFD_RELOC_V850_DATA:                   howto manager.      (line 1634)
+* BFD_RELOC_V850_GLOB_DAT:               howto manager.      (line 1616)
+* BFD_RELOC_V850_JMP_SLOT:               howto manager.      (line 1619)
+* BFD_RELOC_V850_LO16_S1:                howto manager.      (line 1592)
+* BFD_RELOC_V850_LO16_SPLIT_OFFSET:      howto manager.      (line 1567)
+* BFD_RELOC_V850_LONGCALL:               howto manager.      (line 1558)
+* BFD_RELOC_V850_LONGJUMP:               howto manager.      (line 1561)
+* BFD_RELOC_V850_RELATIVE:               howto manager.      (line 1622)
+* BFD_RELOC_V850_SDA_15_16_OFFSET:       howto manager.      (line 1512)
+* BFD_RELOC_V850_SDA_16_16_OFFSET:       howto manager.      (line 1509)
+* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager.      (line 1544)
+* BFD_RELOC_V850_TDA_16_16_OFFSET:       howto manager.      (line 1534)
+* BFD_RELOC_V850_TDA_4_4_OFFSET:         howto manager.      (line 1541)
+* BFD_RELOC_V850_TDA_4_5_OFFSET:         howto manager.      (line 1537)
+* BFD_RELOC_V850_TDA_6_8_OFFSET:         howto manager.      (line 1523)
+* BFD_RELOC_V850_TDA_7_7_OFFSET:         howto manager.      (line 1531)
+* BFD_RELOC_V850_TDA_7_8_OFFSET:         howto manager.      (line 1527)
+* BFD_RELOC_V850_ZDA_15_16_OFFSET:       howto manager.      (line 1519)
+* BFD_RELOC_V850_ZDA_16_16_OFFSET:       howto manager.      (line 1516)
+* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager.      (line 1548)
+* BFD_RELOC_VAX_GLOB_DAT:                howto manager.      (line 2676)
+* BFD_RELOC_VAX_JMP_SLOT:                howto manager.      (line 2677)
+* BFD_RELOC_VAX_RELATIVE:                howto manager.      (line 2678)
+* BFD_RELOC_VISIUM_HI16:                 howto manager.      (line 3510)
+* BFD_RELOC_VISIUM_HI16_PCREL:           howto manager.      (line 3514)
+* BFD_RELOC_VISIUM_IM16:                 howto manager.      (line 3512)
+* BFD_RELOC_VISIUM_IM16_PCREL:           howto manager.      (line 3516)
+* BFD_RELOC_VISIUM_LO16:                 howto manager.      (line 3511)
+* BFD_RELOC_VISIUM_LO16_PCREL:           howto manager.      (line 3515)
+* BFD_RELOC_VISIUM_REL16:                howto manager.      (line 3513)
+* BFD_RELOC_VPE4KMATH_DATA:              howto manager.      (line 2230)
+* BFD_RELOC_VPE4KMATH_INSN:              howto manager.      (line 2231)
+* BFD_RELOC_VTABLE_ENTRY:                howto manager.      (line 2235)
+* BFD_RELOC_VTABLE_INHERIT:              howto manager.      (line 2234)
+* BFD_RELOC_X86_64_32S:                  howto manager.      (line  614)
+* BFD_RELOC_X86_64_COPY:                 howto manager.      (line  609)
+* BFD_RELOC_X86_64_DTPMOD64:             howto manager.      (line  615)
+* BFD_RELOC_X86_64_DTPOFF32:             howto manager.      (line  620)
+* BFD_RELOC_X86_64_DTPOFF64:             howto manager.      (line  616)
+* BFD_RELOC_X86_64_GLOB_DAT:             howto manager.      (line  610)
+* BFD_RELOC_X86_64_GOT32:                howto manager.      (line  607)
+* BFD_RELOC_X86_64_GOT64:                howto manager.      (line  625)
+* BFD_RELOC_X86_64_GOTOFF64:             howto manager.      (line  623)
+* BFD_RELOC_X86_64_GOTPC32:              howto manager.      (line  624)
+* BFD_RELOC_X86_64_GOTPC32_TLSDESC:      howto manager.      (line  630)
+* BFD_RELOC_X86_64_GOTPC64:              howto manager.      (line  627)
+* BFD_RELOC_X86_64_GOTPCREL:             howto manager.      (line  613)
+* BFD_RELOC_X86_64_GOTPCREL64:           howto manager.      (line  626)
+* BFD_RELOC_X86_64_GOTPLT64:             howto manager.      (line  628)
+* BFD_RELOC_X86_64_GOTTPOFF:             howto manager.      (line  621)
+* BFD_RELOC_X86_64_IRELATIVE:            howto manager.      (line  633)
+* BFD_RELOC_X86_64_JUMP_SLOT:            howto manager.      (line  611)
+* BFD_RELOC_X86_64_PC32_BND:             howto manager.      (line  634)
+* BFD_RELOC_X86_64_PLT32:                howto manager.      (line  608)
+* BFD_RELOC_X86_64_PLT32_BND:            howto manager.      (line  635)
+* BFD_RELOC_X86_64_PLTOFF64:             howto manager.      (line  629)
+* BFD_RELOC_X86_64_RELATIVE:             howto manager.      (line  612)
+* BFD_RELOC_X86_64_TLSDESC:              howto manager.      (line  632)
+* BFD_RELOC_X86_64_TLSDESC_CALL:         howto manager.      (line  631)
+* BFD_RELOC_X86_64_TLSGD:                howto manager.      (line  618)
+* BFD_RELOC_X86_64_TLSLD:                howto manager.      (line  619)
+* BFD_RELOC_X86_64_TPOFF32:              howto manager.      (line  622)
+* BFD_RELOC_X86_64_TPOFF64:              howto manager.      (line  617)
+* BFD_RELOC_XC16X_PAG:                   howto manager.      (line 2670)
+* BFD_RELOC_XC16X_POF:                   howto manager.      (line 2671)
+* BFD_RELOC_XC16X_SEG:                   howto manager.      (line 2672)
+* BFD_RELOC_XC16X_SOF:                   howto manager.      (line 2673)
+* BFD_RELOC_XGATE_24:                    howto manager.      (line 2393)
+* BFD_RELOC_XGATE_GPAGE:                 howto manager.      (line 2390)
+* BFD_RELOC_XGATE_IMM3:                  howto manager.      (line 2410)
+* BFD_RELOC_XGATE_IMM4:                  howto manager.      (line 2413)
+* BFD_RELOC_XGATE_IMM5:                  howto manager.      (line 2416)
+* BFD_RELOC_XGATE_IMM8_HI:               howto manager.      (line 2406)
+* BFD_RELOC_XGATE_IMM8_LO:               howto manager.      (line 2402)
+* BFD_RELOC_XGATE_LO16:                  howto manager.      (line 2386)
+* BFD_RELOC_XGATE_PCREL_10:              howto manager.      (line 2399)
+* BFD_RELOC_XGATE_PCREL_9:               howto manager.      (line 2396)
+* BFD_RELOC_XGATE_RL_GROUP:              howto manager.      (line 2381)
+* BFD_RELOC_XGATE_RL_JUMP:               howto manager.      (line 2377)
+* BFD_RELOC_XSTORMY16_12:                howto manager.      (line 2662)
+* BFD_RELOC_XSTORMY16_24:                howto manager.      (line 2663)
+* BFD_RELOC_XSTORMY16_FPTR16:            howto manager.      (line 2664)
+* BFD_RELOC_XSTORMY16_REL_12:            howto manager.      (line 2661)
+* BFD_RELOC_XTENSA_ASM_EXPAND:           howto manager.      (line 2838)
+* BFD_RELOC_XTENSA_ASM_SIMPLIFY:         howto manager.      (line 2843)
+* BFD_RELOC_XTENSA_DIFF16:               howto manager.      (line 2785)
+* BFD_RELOC_XTENSA_DIFF32:               howto manager.      (line 2786)
+* BFD_RELOC_XTENSA_DIFF8:                howto manager.      (line 2784)
+* BFD_RELOC_XTENSA_GLOB_DAT:             howto manager.      (line 2774)
+* BFD_RELOC_XTENSA_JMP_SLOT:             howto manager.      (line 2775)
+* BFD_RELOC_XTENSA_OP0:                  howto manager.      (line 2832)
+* BFD_RELOC_XTENSA_OP1:                  howto manager.      (line 2833)
+* BFD_RELOC_XTENSA_OP2:                  howto manager.      (line 2834)
+* BFD_RELOC_XTENSA_PLT:                  howto manager.      (line 2779)
+* BFD_RELOC_XTENSA_RELATIVE:             howto manager.      (line 2776)
+* BFD_RELOC_XTENSA_RTLD:                 howto manager.      (line 2769)
+* BFD_RELOC_XTENSA_SLOT0_ALT:            howto manager.      (line 2814)
+* BFD_RELOC_XTENSA_SLOT0_OP:             howto manager.      (line 2794)
+* BFD_RELOC_XTENSA_SLOT10_ALT:           howto manager.      (line 2824)
+* BFD_RELOC_XTENSA_SLOT10_OP:            howto manager.      (line 2804)
+* BFD_RELOC_XTENSA_SLOT11_ALT:           howto manager.      (line 2825)
+* BFD_RELOC_XTENSA_SLOT11_OP:            howto manager.      (line 2805)
+* BFD_RELOC_XTENSA_SLOT12_ALT:           howto manager.      (line 2826)
+* BFD_RELOC_XTENSA_SLOT12_OP:            howto manager.      (line 2806)
+* BFD_RELOC_XTENSA_SLOT13_ALT:           howto manager.      (line 2827)
+* BFD_RELOC_XTENSA_SLOT13_OP:            howto manager.      (line 2807)
+* BFD_RELOC_XTENSA_SLOT14_ALT:           howto manager.      (line 2828)
+* BFD_RELOC_XTENSA_SLOT14_OP:            howto manager.      (line 2808)
+* BFD_RELOC_XTENSA_SLOT1_ALT:            howto manager.      (line 2815)
+* BFD_RELOC_XTENSA_SLOT1_OP:             howto manager.      (line 2795)
+* BFD_RELOC_XTENSA_SLOT2_ALT:            howto manager.      (line 2816)
+* BFD_RELOC_XTENSA_SLOT2_OP:             howto manager.      (line 2796)
+* BFD_RELOC_XTENSA_SLOT3_ALT:            howto manager.      (line 2817)
+* BFD_RELOC_XTENSA_SLOT3_OP:             howto manager.      (line 2797)
+* BFD_RELOC_XTENSA_SLOT4_ALT:            howto manager.      (line 2818)
+* BFD_RELOC_XTENSA_SLOT4_OP:             howto manager.      (line 2798)
+* BFD_RELOC_XTENSA_SLOT5_ALT:            howto manager.      (line 2819)
+* BFD_RELOC_XTENSA_SLOT5_OP:             howto manager.      (line 2799)
+* BFD_RELOC_XTENSA_SLOT6_ALT:            howto manager.      (line 2820)
+* BFD_RELOC_XTENSA_SLOT6_OP:             howto manager.      (line 2800)
+* BFD_RELOC_XTENSA_SLOT7_ALT:            howto manager.      (line 2821)
+* BFD_RELOC_XTENSA_SLOT7_OP:             howto manager.      (line 2801)
+* BFD_RELOC_XTENSA_SLOT8_ALT:            howto manager.      (line 2822)
+* BFD_RELOC_XTENSA_SLOT8_OP:             howto manager.      (line 2802)
+* BFD_RELOC_XTENSA_SLOT9_ALT:            howto manager.      (line 2823)
+* BFD_RELOC_XTENSA_SLOT9_OP:             howto manager.      (line 2803)
+* BFD_RELOC_XTENSA_TLS_ARG:              howto manager.      (line 2853)
+* BFD_RELOC_XTENSA_TLS_CALL:             howto manager.      (line 2854)
+* BFD_RELOC_XTENSA_TLS_DTPOFF:           howto manager.      (line 2850)
+* BFD_RELOC_XTENSA_TLS_FUNC:             howto manager.      (line 2852)
+* BFD_RELOC_XTENSA_TLS_TPOFF:            howto manager.      (line 2851)
+* BFD_RELOC_XTENSA_TLSDESC_ARG:          howto manager.      (line 2849)
+* BFD_RELOC_XTENSA_TLSDESC_FN:           howto manager.      (line 2848)
+* BFD_RELOC_Z80_DISP8:                   howto manager.      (line 2857)
+* BFD_RELOC_Z8K_CALLR:                   howto manager.      (line 2863)
+* BFD_RELOC_Z8K_DISP7:                   howto manager.      (line 2860)
+* BFD_RELOC_Z8K_IMM4L:                   howto manager.      (line 2866)
 * bfd_rename_section:                    section prototypes. (line  169)
-* bfd_scan_arch:                         Architectures.      (line  511)
+* bfd_scan_arch:                         Architectures.      (line  517)
 * bfd_scan_vma:                          Miscellaneous.      (line  126)
-* bfd_seach_for_target:                  bfd_target.         (line  524)
+* bfd_seach_for_target:                  bfd_target.         (line  521)
 * bfd_section_already_linked:            Writing the symbol table.
                                                              (line   55)
 * bfd_section_list_clear:                section prototypes. (line    8)
 * bfd_sections_find_if:                  section prototypes. (line  199)
-* bfd_set_arch_info:                     Architectures.      (line  552)
+* bfd_set_arch_info:                     Architectures.      (line  558)
 * bfd_set_archive_head:                  Archives.           (line   75)
 * bfd_set_assert_handler:                Error reporting.    (line  141)
-* bfd_set_default_target:                bfd_target.         (line  463)
+* bfd_set_default_target:                bfd_target.         (line  460)
 * bfd_set_error:                         Error reporting.    (line   57)
 * bfd_set_error_handler:                 Error reporting.    (line   99)
 * bfd_set_error_program_name:            Error reporting.    (line  108)
@@ -13555,7 +13638,7 @@ BFD Index
                                                              (line   60)
 * bfd_symbol_info:                       symbol handling functions.
                                                              (line  130)
-* bfd_target_list:                       bfd_target.         (line  515)
+* bfd_target_list:                       bfd_target.         (line  512)
 * bfd_write_bigendian_4byte_int:         Internal.           (line   13)
 * bfd_zalloc:                            Opening and Closing.
                                                              (line  257)
@@ -13574,7 +13657,7 @@ BFD Index
                                                              (line  323)
 * separate_debug_file_exists:            Opening and Closing.
                                                              (line  314)
-* struct bfd_iovec:                      Miscellaneous.      (line  372)
+* struct bfd_iovec:                      Miscellaneous.      (line  369)
 * target vector (_bfd_final_link):       Performing the Final Link.
                                                              (line    6)
 * target vector (_bfd_link_add_symbols): Adding Symbols to the Hash Table.
@@ -13596,61 +13679,61 @@ Node: BFD information loss6253
 Node: Canonical format8785
 Node: BFD front end13157
 Node: typedef bfd13581
-Node: Error reporting24502
-Node: Miscellaneous29369
-Node: Memory Usage46643
-Node: Initialization47871
-Node: Sections48330
-Node: Section Input48813
-Node: Section Output50178
-Node: typedef asection52664
-Node: section prototypes78847
-Node: Symbols89104
-Node: Reading Symbols90699
-Node: Writing Symbols91806
-Node: Mini Symbols93547
-Node: typedef asymbol94521
-Node: symbol handling functions100580
-Node: Archives105922
-Node: Formats109951
-Node: Relocations112899
-Node: typedef arelent113626
-Node: howto manager129262
-Node: Core Files242853
-Node: Targets244891
-Node: bfd_target246861
-Node: Architectures270083
-Node: Opening and Closing297418
-Node: Internal311740
-Node: File Caching318085
-Node: Linker Functions319999
-Node: Creating a Linker Hash Table321672
-Node: Adding Symbols to the Hash Table323410
-Node: Differing file formats324310
-Node: Adding symbols from an object file326035
-Node: Adding symbols from an archive328186
-Node: Performing the Final Link331115
-Node: Information provided by the linker332357
-Node: Relocating the section contents333511
-Node: Writing the symbol table335262
-Node: Hash Tables339646
-Node: Creating and Freeing a Hash Table340844
-Node: Looking Up or Entering a String342094
-Node: Traversing a Hash Table343347
-Node: Deriving a New Hash Table Type344136
-Node: Define the Derived Structures345202
-Node: Write the Derived Creation Routine346283
-Node: Write Other Derived Routines348907
-Node: BFD back ends350222
-Node: What to Put Where350492
-Node: aout350672
-Node: coff357010
-Node: elf385584
-Node: mmo385985
-Node: File layout386858
-Node: Symbol-table392785
-Node: mmo section mapping396549
-Node: GNU Free Documentation License400201
-Node: BFD Index425284
+Node: Error reporting24587
+Node: Miscellaneous29454
+Node: Memory Usage46604
+Node: Initialization47832
+Node: Sections48291
+Node: Section Input48774
+Node: Section Output50139
+Node: typedef asection52625
+Node: section prototypes78808
+Node: Symbols89065
+Node: Reading Symbols90660
+Node: Writing Symbols91767
+Node: Mini Symbols93508
+Node: typedef asymbol94482
+Node: symbol handling functions100541
+Node: Archives105883
+Node: Formats109912
+Node: Relocations112860
+Node: typedef arelent113587
+Node: howto manager129223
+Node: Core Files244439
+Node: Targets246477
+Node: bfd_target248447
+Node: Architectures271539
+Node: Opening and Closing299132
+Node: Internal313454
+Node: File Caching319799
+Node: Linker Functions321713
+Node: Creating a Linker Hash Table323386
+Node: Adding Symbols to the Hash Table325124
+Node: Differing file formats326024
+Node: Adding symbols from an object file327749
+Node: Adding symbols from an archive329900
+Node: Performing the Final Link332246
+Node: Information provided by the linker333488
+Node: Relocating the section contents334642
+Node: Writing the symbol table336393
+Node: Hash Tables340777
+Node: Creating and Freeing a Hash Table341975
+Node: Looking Up or Entering a String343225
+Node: Traversing a Hash Table344478
+Node: Deriving a New Hash Table Type345267
+Node: Define the Derived Structures346333
+Node: Write the Derived Creation Routine347414
+Node: Write Other Derived Routines350038
+Node: BFD back ends351353
+Node: What to Put Where351623
+Node: aout351803
+Node: coff358141
+Node: elf386790
+Node: mmo387191
+Node: File layout388064
+Node: Symbol-table393991
+Node: mmo section mapping397755
+Node: GNU Free Documentation License401407
+Node: BFD Index426490
 
 End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfdint.texi ./bfd/doc/bfdint.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfdint.texi	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/doc/bfdint.texi	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 \input texinfo
-@c Copyright (C) 1988-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
 @setfilename bfdint.info
 
 @settitle BFD Internals
@@ -14,7 +14,7 @@
 @copying
 This file documents the internals of the BFD library.
 
-Copyright @copyright{} 1988-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2015 Free Software Foundation, Inc.
 Contributed by Cygnus Support.
 
 Permission is granted to copy, distribute and/or modify this document
@@ -1548,7 +1548,7 @@ following:
 Define either @samp{TARGET_BIG_SYM} or @samp{TARGET_LITTLE_SYM}, or
 both, to a unique C name to use for the target vector.  This name should
 appear in the list of target vectors in @file{targets.c}, and will also
-have to appear in @file{config.bfd} and @file{configure.in}.  Define
+have to appear in @file{config.bfd} and @file{configure.ac}.  Define
 @samp{TARGET_BIG_SYM} for a big-endian processor,
 @samp{TARGET_LITTLE_SYM} for a little-endian processor, and define both
 for a bi-endian processor.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfdsumm.texi ./bfd/doc/bfdsumm.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfdsumm.texi	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/doc/bfdsumm.texi	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 @c This summary of BFD is shared by the BFD and LD docs.
-@c Copyright (C) 2012-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 When an object file is opened, BFD subroutines automatically determine
 the format of the input object file.  They then build a descriptor in
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfd.texinfo ./bfd/doc/bfd.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfd.texinfo	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/doc/bfd.texinfo	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 \input texinfo.tex
 @setfilename bfd.info
-@c Copyright (C) 1988-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
 @c 
 @synindex fn cp
 
@@ -14,7 +14,7 @@
 @copying
 This file documents the BFD library.
 
-Copyright @copyright{} 1991-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1991-2015 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -62,7 +62,7 @@ included in the section entitled ``GNU F
 @end tex
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1991-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1991-2015 Free Software Foundation, Inc.
 
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.3
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfdt.texi ./bfd/doc/bfdt.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfdt.texi	2015-01-13 02:04:24.000000000 +0000
+++ ./bfd/doc/bfdt.texi	2015-01-20 02:08:04.000000000 +0000
@@ -21,9 +21,6 @@ enum bfd_direction
 
 struct bfd
 @{
-  /* A unique identifier of the BFD  */
-  unsigned int id;
-
   /* The filename the application opened the BFD with.  */
   const char *filename;
 
@@ -46,17 +43,17 @@ struct bfd
   /* File modified time, if mtime_set is TRUE.  */
   long mtime;
 
-  /* Reserved for an unimplemented file locking extension.  */
-  int ifd;
+  /* A unique identifier of the BFD  */
+  unsigned int id;
 
   /* The format which belongs to the BFD. (object, core, etc.)  */
-  bfd_format format;
+  ENUM_BITFIELD (bfd_format) format : 3;
 
   /* The direction with which the BFD was opened.  */
-  enum bfd_direction direction;
+  ENUM_BITFIELD (bfd_direction) direction : 2;
 
   /* Format_specific flags.  */
-  flagword flags;
+  flagword flags : 17;
 
   /* Values that may appear in the flags field of a BFD.  These also
      appear in the object_flags field of the bfd_target structure, where
@@ -115,26 +112,23 @@ struct bfd
      struct.  */
 #define BFD_IN_MEMORY 0x800
 
-  /* The sections in this BFD specify a memory page.  */
-#define HAS_LOAD_PAGE 0x1000
-
   /* This BFD has been created by the linker and doesn't correspond
      to any input file.  */
-#define BFD_LINKER_CREATED 0x2000
+#define BFD_LINKER_CREATED 0x1000
 
   /* This may be set before writing out a BFD to request that it
      be written using values for UIDs, GIDs, timestamps, etc. that
      will be consistent from run to run.  */
-#define BFD_DETERMINISTIC_OUTPUT 0x4000
+#define BFD_DETERMINISTIC_OUTPUT 0x2000
 
   /* Compress sections in this BFD.  */
-#define BFD_COMPRESS 0x8000
+#define BFD_COMPRESS 0x4000
 
   /* Decompress sections in this BFD.  */
-#define BFD_DECOMPRESS 0x10000
+#define BFD_DECOMPRESS 0x8000
 
   /* BFD is a dummy, for plugins.  */
-#define BFD_PLUGIN 0x20000
+#define BFD_PLUGIN 0x10000
 
   /* Flags bits to be saved in bfd_preserve_save.  */
 #define BFD_FLAGS_SAVED \
@@ -145,6 +139,42 @@ struct bfd
   (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \
    | BFD_PLUGIN | BFD_TRADITIONAL_FORMAT | BFD_DETERMINISTIC_OUTPUT)
 
+  /* Is the file descriptor being cached?  That is, can it be closed as
+     needed, and re-opened when accessed later?  */
+  unsigned int cacheable : 1;
+
+  /* Marks whether there was a default target specified when the
+     BFD was opened. This is used to select which matching algorithm
+     to use to choose the back end.  */
+  unsigned int target_defaulted : 1;
+
+  /* ... and here: (``once'' means at least once).  */
+  unsigned int opened_once : 1;
+
+  /* Set if we have a locally maintained mtime value, rather than
+     getting it from the file each time.  */
+  unsigned int mtime_set : 1;
+
+  /* Flag set if symbols from this BFD should not be exported.  */
+  unsigned int no_export : 1;
+
+  /* Remember when output has begun, to stop strange things
+     from happening.  */
+  unsigned int output_has_begun : 1;
+
+  /* Have archive map.  */
+  unsigned int has_armap : 1;
+
+  /* Set if this is a thin archive.  */
+  unsigned int is_thin_archive : 1;
+
+  /* Set if only required symbols should be added in the link hash table for
+     this object.  Used by VMS linkers.  */
+  unsigned int selective_search : 1;
+
+  /* Set if this is the linker output BFD.  */
+  unsigned int is_linker_output : 1;
+
   /* Currently my_archive is tested before adding origin to
      anything. I believe that this can become always an add of
      origin, with origin set to 0 for non archive files.  */
@@ -169,17 +199,21 @@ struct bfd
   /* The number of sections.  */
   unsigned int section_count;
 
+  /* A field used by _bfd_generic_link_add_archive_symbols.  This will
+     be used only for archive elements.  */
+  int archive_pass;
+
   /* Stuff only useful for object files:
      The start address.  */
   bfd_vma start_address;
 
-  /* Used for input and output.  */
-  unsigned int symcount;
-
   /* Symbol table for output BFD (with symcount entries).
      Also used by the linker to cache input BFD symbols.  */
   struct bfd_symbol  **outsymbols;
 
+  /* Used for input and output.  */
+  unsigned int symcount;
+
   /* Used for slurped dynamic symbol tables.  */
   unsigned int dynsymcount;
 
@@ -194,12 +228,12 @@ struct bfd
   struct bfd *nested_archives; /* List of nested archive in a flattened
                                   thin archive.  */
 
-  /* A chain of BFD structures involved in a link.  */
-  struct bfd *link_next;
-
-  /* A field used by _bfd_generic_link_add_archive_symbols.  This will
-     be used only for archive elements.  */
-  int archive_pass;
+  union @{
+    /* For input BFDs, a chain of BFDs involved in a link.  */
+    struct bfd *next;
+    /* For output BFD, the linker hash table.  */
+    struct bfd_link_hash_table *hash;
+  @} link;
 
   /* Used by the back end to hold private data.  */
   union
@@ -251,39 +285,6 @@ struct bfd
      struct objalloc *, but we use void * to avoid requiring the inclusion
      of objalloc.h.  */
   void *memory;
-
-  /* Is the file descriptor being cached?  That is, can it be closed as
-     needed, and re-opened when accessed later?  */
-  unsigned int cacheable : 1;
-
-  /* Marks whether there was a default target specified when the
-     BFD was opened. This is used to select which matching algorithm
-     to use to choose the back end.  */
-  unsigned int target_defaulted : 1;
-
-  /* ... and here: (``once'' means at least once).  */
-  unsigned int opened_once : 1;
-
-  /* Set if we have a locally maintained mtime value, rather than
-     getting it from the file each time.  */
-  unsigned int mtime_set : 1;
-
-  /* Flag set if symbols from this BFD should not be exported.  */
-  unsigned int no_export : 1;
-
-  /* Remember when output has begun, to stop strange things
-     from happening.  */
-  unsigned int output_has_begun : 1;
-
-  /* Have archive map.  */
-  unsigned int has_armap : 1;
-
-  /* Set if this is a thin archive.  */
-  unsigned int is_thin_archive : 1;
-
-  /* Set if only required symbols should be added in the link hash table for
-     this object.  Used by VMS linkers.  */
-  unsigned int selective_search : 1;
 @};
 
 /* See note beside bfd_set_section_userdata.  */
@@ -730,12 +731,12 @@ The following functions exist but have n
 
 #define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
        BFD_SEND (abfd, _bfd_find_nearest_line, \
-                 (abfd, sec, syms, off, file, func, line))
+                 (abfd, syms, sec, off, file, func, line, NULL))
 
 #define bfd_find_nearest_line_discriminator(abfd, sec, syms, off, file, func, \
                                             line, disc) \
-       BFD_SEND (abfd, _bfd_find_nearest_line_discriminator, \
-                 (abfd, sec, syms, off, file, func, line, disc))
+       BFD_SEND (abfd, _bfd_find_nearest_line, \
+                 (abfd, syms, sec, off, file, func, line, disc))
 
 #define bfd_find_line(abfd, syms, sym, file, line) \
        BFD_SEND (abfd, _bfd_find_line, \
@@ -784,9 +785,6 @@ The following functions exist but have n
 #define bfd_link_hash_table_create(abfd) \
        BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
 
-#define bfd_link_hash_table_free(abfd, hash) \
-       BFD_SEND (abfd, _bfd_link_hash_table_free, (hash))
-
 #define bfd_link_add_symbols(abfd, info) \
        BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info))
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfdver.texi ./bfd/doc/bfdver.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/bfdver.texi	2015-01-13 02:04:25.000000000 +0000
+++ ./bfd/doc/bfdver.texi	2015-01-20 02:08:05.000000000 +0000
@@ -1,4 +1,4 @@
-@set VERSION 2.24.51
+@set VERSION 2.25.51
 @set VERSION_PACKAGE (GNU Binutils) 
 @set UPDATED January 2015
 @set BUGURL @uref{http://www.sourceware.org/bugzilla/}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/ChangeLog ./bfd/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/ChangeLog	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/doc/ChangeLog	2015-01-20 02:05:36.000000000 +0000
@@ -1,3 +1,28 @@
+2015-01-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+	    Alan Modra  <amodra@gmail.com>
+
+	PR 17817
+	* Makefile.am (aoutx.stamp): cp -p $srcdir/aoutx.texi to keep
+	timestamps so that makeinfo need not be installed.
+	(archive.stamp, archures.stamp, bfdt.stamp, cache.stamp,
+	coffcode.stamp, core.stamp, elf.stamp, elfcode.stamp, mmo.stamp,
+	format.stamp, libbfd.stamp, bfdio.stamp, bfdwin.stamp,
+	opncls.stamp, reloc.stamp, section.stamp, syms.stamp, targets.stamp,
+	init.stamp, hash.stamp, linker.stamp): Similarly.
+	(bfdver.texi): Use test rather than [ ] in commands.
+	* Makefile.in: Regenerate.
+
+2014-08-05  Doug Evans  <dje@google.com>
+
+	* chew.c (skip_past_newline_1): New function.
+	(outputdots): Call it.
+	(skip_past_newline): Ditto.
+
+2014-08-05  Alan Modra  <amodra@gmail.com>
+
+	* chew.c (print_stack_level, main): Cast result of pointer
+	difference to match format string.
+
 2014-04-09  Alan Modra  <amodra@gmail.com>
 
 	* Makefile.am ($(MKDOC)): New rule, depend on chew.stamp.  Move
@@ -293,7 +318,7 @@
 
 For older changes see ChangeLog-9103
 
-Copyright (C) 2004-2014 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/chew.c ./bfd/doc/chew.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/chew.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/doc/chew.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* chew
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Contributed by steve chamberlain @cygnus
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -265,6 +265,19 @@ skip_white_and_stars (src, idx)
   return idx;
 }
 
+static unsigned int
+skip_past_newline_1 (ptr, idx)
+     string_type *ptr;
+     unsigned int idx;
+{
+  while (at (ptr, idx)
+	 && at (ptr, idx) != '\n')
+    idx++;
+  if (at (ptr, idx) == '\n')
+    return idx + 1;
+  return idx;
+}
+
 /***********************************************************************/
 
 string_type stack[STACK];
@@ -474,8 +487,10 @@ remove_noncomments (src, dst)
 static void
 print_stack_level ()
 {
-  fprintf (stderr, "current string stack depth = %ld, ", tos - stack);
-  fprintf (stderr, "current integer stack depth = %ld\n", isp - istack);
+  fprintf (stderr, "current string stack depth = %ld, ",
+	   (long) (tos - stack));
+  fprintf (stderr, "current integer stack depth = %ld\n",
+	   (long) (isp - istack));
   pc++;
 }
 
@@ -601,10 +616,12 @@ outputdots ()
 
   while (at (tos, idx))
     {
-      if (at (tos, idx) == '\n' && at (tos, idx + 1) == '.')
+      /* Every iteration begins at the start of a line.  */
+      if (at (tos, idx) == '.')
 	{
 	  char c;
-	  idx += 2;
+
+	  idx++;
 
 	  while ((c = at (tos, idx)) && c != '\n')
 	    {
@@ -624,11 +641,13 @@ outputdots ()
 		  idx++;
 		}
 	    }
+	  if (c == '\n')
+	    idx++;
 	  catchar (&out, '\n');
 	}
       else
 	{
-	  idx++;
+	  idx = skip_past_newline_1 (tos, idx);
 	}
     }
 
@@ -1093,10 +1112,7 @@ icatstr ()
 static void
 skip_past_newline ()
 {
-  while (at (ptr, idx)
-	 && at (ptr, idx) != '\n')
-    idx++;
-  idx++;
+  idx = skip_past_newline_1 (ptr, idx);
   pc++;
 }
 
@@ -1562,7 +1578,7 @@ main (ac, av)
   if (tos != stack)
     {
       fprintf (stderr, "finishing with current stack level %ld\n",
-	       tos - stack);
+	       (long) (tos - stack));
       return 1;
     }
   return 0;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/coffcode.texi ./bfd/doc/coffcode.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/coffcode.texi	2015-01-13 02:04:24.000000000 +0000
+++ ./bfd/doc/coffcode.texi	2015-01-20 02:08:04.000000000 +0000
@@ -272,7 +272,7 @@ The hidden information for an @code{asym
 typedef struct coff_ptr_struct
 @{
   /* Remembers the offset from the first symbol in the file for
-     this symbol. Generated by coff_renumber_symbols. */
+     this symbol. Generated by coff_renumber_symbols.  */
   unsigned int offset;
 
   /* Should the value of this symbol be renumbered.  Used for
@@ -280,15 +280,15 @@ typedef struct coff_ptr_struct
   unsigned int fix_value : 1;
 
   /* Should the tag field of this symbol be renumbered.
-     Created by coff_pointerize_aux. */
+     Created by coff_pointerize_aux.  */
   unsigned int fix_tag : 1;
 
   /* Should the endidx field of this symbol be renumbered.
-     Created by coff_pointerize_aux. */
+     Created by coff_pointerize_aux.  */
   unsigned int fix_end : 1;
 
   /* Should the x_csect.x_scnlen field be renumbered.
-     Created by coff_pointerize_aux. */
+     Created by coff_pointerize_aux.  */
   unsigned int fix_scnlen : 1;
 
   /* Fix up an XCOFF C_BINCL/C_EINCL symbol.  The value is the
@@ -296,12 +296,15 @@ typedef struct coff_ptr_struct
   unsigned int fix_line : 1;
 
   /* The container for the symbol structure as read and translated
-     from the file. */
+     from the file.  */
   union
   @{
     union internal_auxent auxent;
     struct internal_syment syment;
   @} u;
+
+ /* Selector for the union above.  */
+ bfd_boolean is_sym;
 @} combined_entry_type;
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/linker.texi ./bfd/doc/linker.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/linker.texi	2015-01-13 02:04:25.000000000 +0000
+++ ./bfd/doc/linker.texi	2015-01-20 02:08:05.000000000 +0000
@@ -184,28 +184,16 @@ to the linker hash table instead.)
 @findex _bfd_generic_link_add_archive_symbols
 In most cases the work of looking through the symbols in the
 archive should be done by the
-@code{_bfd_generic_link_add_archive_symbols} function.  This
-function builds a hash table from the archive symbol table and
-looks through the list of undefined symbols to see which
-elements should be included.
+@code{_bfd_generic_link_add_archive_symbols} function.
 @code{_bfd_generic_link_add_archive_symbols} is passed a function
 to call to make the final decision about adding an archive
 element to the link and to do the actual work of adding the
-symbols to the linker hash table.
-
-The function passed to
-@code{_bfd_generic_link_add_archive_symbols} must read the
-symbols of the archive element and decide whether the archive
-element should be included in the link.  If the element is to
+symbols to the linker hash table.  If the element is to
 be included, the @code{add_archive_element} linker callback
 routine must be called with the element as an argument, and
 the element's symbols must be added to the linker hash table
 just as though the element had itself been passed to the
-@code{_bfd_link_add_symbols} function.  The @code{add_archive_element}
-callback has the option to indicate that it would like to
-replace the element archive with a substitute BFD, in which
-case it is the symbols of that substitute BFD that must be
-added to the linker hash table instead.
+@code{_bfd_link_add_symbols} function.
 
 When the a.out @code{_bfd_link_add_symbols} function receives an
 archive, it calls @code{_bfd_generic_link_add_archive_symbols}
@@ -262,7 +250,7 @@ it sets up some data structures for the 
 
 The @code{input_bfds} field of the @code{bfd_link_info} structure
 will point to a list of all the input files included in the
-link.  These files are linked through the @code{link_next} field
+link.  These files are linked through the @code{link.next} field
 of the @code{bfd} structure.
 
 Each section in the output file will have a list of
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/Makefile.am ./bfd/doc/Makefile.am
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/Makefile.am	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/doc/Makefile.am	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 ## Process this file with automake to generate Makefile.in
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -97,18 +97,21 @@ protos: libbfd.h libcoff.h bfd.h
 aoutx.texi: aoutx.stamp ; @true
 aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >aoutx.tmp
+	test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || cp -p $(srcdir)/aoutx.texi .
 	$(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
 	touch $@
 
 archive.texi: archive.stamp ; @true
 archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >archive.tmp
+	test -e archive.texi || test ! -f $(srcdir)/archive.texi || cp -p $(srcdir)/archive.texi .
 	$(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
 	touch $@
 
 archures.texi: archures.stamp ; @true
 archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >archures.tmp
+	test -e archures.texi || test ! -f $(srcdir)/archures.texi || cp -p $(srcdir)/archures.texi .
 	$(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
 	touch $@
 
@@ -117,114 +120,133 @@ archures.stamp: $(srcdir)/../archures.c 
 bfdt.texi: bfdt.stamp ; @true
 bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >bfd.tmp
+	test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || cp -p $(srcdir)/bfdt.texi .
 	$(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
 	touch $@
 
 cache.texi: cache.stamp ; @true
 cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >cache.tmp
+	test -e cache.texi || test ! -f $(srcdir)/cache.texi || cp -p $(srcdir)/cache.texi .
 	$(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
 	touch $@
 
 coffcode.texi: coffcode.stamp ; @true
 coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >coffcode.tmp
+	test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || cp -p $(srcdir)/coffcode.texi .
 	$(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
 	touch $@
 
 core.texi: core.stamp ; @true
 core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >core.tmp
+	test -e core.texi || test ! -f $(srcdir)/core.texi || cp -p $(srcdir)/core.texi .
 	$(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
 	touch $@
 
 elf.texi: elf.stamp ; @true
 elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >elf.tmp
+	test -e elf.texi || test ! -f $(srcdir)/elf.texi || cp -p $(srcdir)/elf.texi .
 	$(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
 	touch $@
 
 elfcode.texi: elfcode.stamp ; @true
 elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >elfcode.tmp
+	test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || cp -p $(srcdir)/elfcode.texi .
 	$(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
 	touch $@
 
 mmo.texi: mmo.stamp ; @true
 mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >mmo.tmp
+	test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || cp -p $(srcdir)/mmo.texi .
 	$(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
 	touch $@
 
 format.texi: format.stamp ; @true
 format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >format.tmp
+	test -e format.texi || test ! -f $(srcdir)/format.texi || cp -p $(srcdir)/format.texi .
 	$(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
 	touch $@
 
 libbfd.texi: libbfd.stamp ; @true
 libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >libbfd.tmp
+	test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || cp -p $(srcdir)/libbfd.texi .
 	$(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
 	touch $@
 
 bfdio.texi: bfdio.stamp ; @true
 bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdio.tmp
+	test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || cp -p $(srcdir)/bfdio.texi .
 	$(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
 	touch $@
 
 bfdwin.texi: bfdwin.stamp ; @true
 bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdwin.tmp
+	test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || cp -p $(srcdir)/bfdwin.texi .
 	$(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
 	touch $@
 
 opncls.texi: opncls.stamp ; @true
 opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >opncls.tmp
+	test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || cp -p $(srcdir)/opncls.texi .
 	$(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
 	touch $@
 
 reloc.texi: reloc.stamp ; @true
 reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >reloc.tmp
+	test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || cp -p $(srcdir)/reloc.texi .
 	$(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
 	touch $@
 
 section.texi: section.stamp ; @true
 section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >section.tmp
+	test -e section.texi || test ! -f $(srcdir)/section.texi || cp -p $(srcdir)/section.texi .
 	$(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
 	touch $@
 
 syms.texi: syms.stamp ; @true
 syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >syms.tmp
+	test -e syms.texi || test ! -f $(srcdir)/syms.texi || cp -p $(srcdir)/syms.texi .
 	$(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
 	touch $@
 
 targets.texi: targets.stamp ; @true
 targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >targets.tmp
+	test -e targets.texi || test ! -f $(srcdir)/targets.texi || cp -p $(srcdir)/targets.texi .
 	$(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
 	touch $@
 
 init.texi: init.stamp ; @true
 init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >init.tmp
+	test -e init.texi || test ! -f $(srcdir)/init.texi || cp -p $(srcdir)/init.texi .
 	$(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
 	touch $@
 
 hash.texi: hash.stamp ; @true
 hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >hash.tmp
+	test -e hash.texi || test ! -f $(srcdir)/hash.texi || cp -p $(srcdir)/hash.texi .
 	$(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
 	touch $@
 
 linker.texi: linker.stamp ; @true
 linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >linker.tmp
+	test -e linker.texi || test ! -f $(srcdir)/linker.texi || cp -p $(srcdir)/linker.texi .
 	$(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
 	touch $@
 
@@ -316,11 +338,11 @@ bfd.h: $(BFD_H_DEP)
 bfdver.texi: $(srcdir)/Makefile.in
 	@echo "creating $@"; \
 	echo "@set VERSION $(VERSION)" > bfdver.texi; \
-	if [ -n "$(PKGVERSION)" ]; then \
+	if test -n "$(PKGVERSION)"; then \
 	  echo "@set VERSION_PACKAGE $(PKGVERSION)" >> bfdver.texi; \
 	fi; \
 	echo "@set UPDATED `date '+%B %Y'`" >> bfdver.texi; \
-	if [ -n "$(REPORT_BUGS_TEXI)" ]; then \
+	if test -n "$(REPORT_BUGS_TEXI)"; then \
 	  echo "@set BUGURL $(REPORT_BUGS_TEXI)" >> bfdver.texi; \
 	fi
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/Makefile.in ./bfd/doc/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/Makefile.in	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/doc/Makefile.in	2015-01-20 02:05:36.000000000 +0000
@@ -16,7 +16,7 @@
 @SET_MAKE@
 
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -76,7 +76,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \
 	$(top_srcdir)/bfd.m4 $(top_srcdir)/warning.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/../config/zlib.m4 \
-	$(top_srcdir)/configure.in
+	$(top_srcdir)/version.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
@@ -796,18 +796,21 @@ protos: libbfd.h libcoff.h bfd.h
 aoutx.texi: aoutx.stamp ; @true
 aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >aoutx.tmp
+	test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || cp -p $(srcdir)/aoutx.texi .
 	$(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
 	touch $@
 
 archive.texi: archive.stamp ; @true
 archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >archive.tmp
+	test -e archive.texi || test ! -f $(srcdir)/archive.texi || cp -p $(srcdir)/archive.texi .
 	$(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
 	touch $@
 
 archures.texi: archures.stamp ; @true
 archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >archures.tmp
+	test -e archures.texi || test ! -f $(srcdir)/archures.texi || cp -p $(srcdir)/archures.texi .
 	$(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
 	touch $@
 
@@ -816,114 +819,133 @@ archures.stamp: $(srcdir)/../archures.c 
 bfdt.texi: bfdt.stamp ; @true
 bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >bfd.tmp
+	test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || cp -p $(srcdir)/bfdt.texi .
 	$(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
 	touch $@
 
 cache.texi: cache.stamp ; @true
 cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >cache.tmp
+	test -e cache.texi || test ! -f $(srcdir)/cache.texi || cp -p $(srcdir)/cache.texi .
 	$(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
 	touch $@
 
 coffcode.texi: coffcode.stamp ; @true
 coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >coffcode.tmp
+	test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || cp -p $(srcdir)/coffcode.texi .
 	$(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
 	touch $@
 
 core.texi: core.stamp ; @true
 core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >core.tmp
+	test -e core.texi || test ! -f $(srcdir)/core.texi || cp -p $(srcdir)/core.texi .
 	$(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
 	touch $@
 
 elf.texi: elf.stamp ; @true
 elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >elf.tmp
+	test -e elf.texi || test ! -f $(srcdir)/elf.texi || cp -p $(srcdir)/elf.texi .
 	$(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
 	touch $@
 
 elfcode.texi: elfcode.stamp ; @true
 elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >elfcode.tmp
+	test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || cp -p $(srcdir)/elfcode.texi .
 	$(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
 	touch $@
 
 mmo.texi: mmo.stamp ; @true
 mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >mmo.tmp
+	test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || cp -p $(srcdir)/mmo.texi .
 	$(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
 	touch $@
 
 format.texi: format.stamp ; @true
 format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >format.tmp
+	test -e format.texi || test ! -f $(srcdir)/format.texi || cp -p $(srcdir)/format.texi .
 	$(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
 	touch $@
 
 libbfd.texi: libbfd.stamp ; @true
 libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >libbfd.tmp
+	test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || cp -p $(srcdir)/libbfd.texi .
 	$(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
 	touch $@
 
 bfdio.texi: bfdio.stamp ; @true
 bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdio.tmp
+	test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || cp -p $(srcdir)/bfdio.texi .
 	$(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
 	touch $@
 
 bfdwin.texi: bfdwin.stamp ; @true
 bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdwin.tmp
+	test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || cp -p $(srcdir)/bfdwin.texi .
 	$(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
 	touch $@
 
 opncls.texi: opncls.stamp ; @true
 opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >opncls.tmp
+	test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || cp -p $(srcdir)/opncls.texi .
 	$(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
 	touch $@
 
 reloc.texi: reloc.stamp ; @true
 reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >reloc.tmp
+	test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || cp -p $(srcdir)/reloc.texi .
 	$(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
 	touch $@
 
 section.texi: section.stamp ; @true
 section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >section.tmp
+	test -e section.texi || test ! -f $(srcdir)/section.texi || cp -p $(srcdir)/section.texi .
 	$(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
 	touch $@
 
 syms.texi: syms.stamp ; @true
 syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >syms.tmp
+	test -e syms.texi || test ! -f $(srcdir)/syms.texi || cp -p $(srcdir)/syms.texi .
 	$(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
 	touch $@
 
 targets.texi: targets.stamp ; @true
 targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >targets.tmp
+	test -e targets.texi || test ! -f $(srcdir)/targets.texi || cp -p $(srcdir)/targets.texi .
 	$(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
 	touch $@
 
 init.texi: init.stamp ; @true
 init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >init.tmp
+	test -e init.texi || test ! -f $(srcdir)/init.texi || cp -p $(srcdir)/init.texi .
 	$(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
 	touch $@
 
 hash.texi: hash.stamp ; @true
 hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >hash.tmp
+	test -e hash.texi || test ! -f $(srcdir)/hash.texi || cp -p $(srcdir)/hash.texi .
 	$(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
 	touch $@
 
 linker.texi: linker.stamp ; @true
 linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
 	./$(MKDOC) -f $(srcdir)/doc.str < $< >linker.tmp
+	test -e linker.texi || test ! -f $(srcdir)/linker.texi || cp -p $(srcdir)/linker.texi .
 	$(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
 	touch $@
 
@@ -970,11 +992,11 @@ bfd.h: $(BFD_H_DEP)
 bfdver.texi: $(srcdir)/Makefile.in
 	@echo "creating $@"; \
 	echo "@set VERSION $(VERSION)" > bfdver.texi; \
-	if [ -n "$(PKGVERSION)" ]; then \
+	if test -n "$(PKGVERSION)"; then \
 	  echo "@set VERSION_PACKAGE $(PKGVERSION)" >> bfdver.texi; \
 	fi; \
 	echo "@set UPDATED `date '+%B %Y'`" >> bfdver.texi; \
-	if [ -n "$(REPORT_BUGS_TEXI)" ]; then \
+	if test -n "$(REPORT_BUGS_TEXI)"; then \
 	  echo "@set BUGURL $(REPORT_BUGS_TEXI)" >> bfdver.texi; \
 	fi
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/makefile.vms ./bfd/doc/makefile.vms
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/makefile.vms	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/doc/makefile.vms	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/reloc.texi ./bfd/doc/reloc.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/reloc.texi	2015-01-13 02:04:24.000000000 +0000
+++ ./bfd/doc/reloc.texi	2015-01-20 02:08:04.000000000 +0000
@@ -884,6 +884,12 @@ Relocation against a MIPS literal sectio
 @deffnx {} BFD_RELOC_MICROMIPS_16_PCREL_S1
 microMIPS PC-relative relocations.
 @end deffn
+@deffn {} BFD_RELOC_MIPS_21_PCREL_S2
+@deffnx {} BFD_RELOC_MIPS_26_PCREL_S2
+@deffnx {} BFD_RELOC_MIPS_18_PCREL_S3
+@deffnx {} BFD_RELOC_MIPS_19_PCREL_S2
+MIPS PC-relative relocations.
+@end deffn
 @deffn {} BFD_RELOC_MICROMIPS_GPREL16
 @deffnx {} BFD_RELOC_MICROMIPS_HI16
 @deffnx {} BFD_RELOC_MICROMIPS_HI16_S
@@ -1883,6 +1889,13 @@ for PIC
 @deffnx {} BFD_RELOC_NDS32_15_FIXED
 @deffnx {} BFD_RELOC_NDS32_17_FIXED
 @deffnx {} BFD_RELOC_NDS32_25_FIXED
+@deffnx {} BFD_RELOC_NDS32_LONGCALL4
+@deffnx {} BFD_RELOC_NDS32_LONGCALL5
+@deffnx {} BFD_RELOC_NDS32_LONGCALL6
+@deffnx {} BFD_RELOC_NDS32_LONGJUMP4
+@deffnx {} BFD_RELOC_NDS32_LONGJUMP5
+@deffnx {} BFD_RELOC_NDS32_LONGJUMP6
+@deffnx {} BFD_RELOC_NDS32_LONGJUMP7
 for relax
 @end deffn
 @deffn {} BFD_RELOC_NDS32_PLTREL_HI20
@@ -1943,12 +1956,32 @@ If fp were omitted, fp can used as anoth
 @deffnx {} BFD_RELOC_NDS32_DIFF16
 @deffnx {} BFD_RELOC_NDS32_DIFF32
 @deffnx {} BFD_RELOC_NDS32_DIFF_ULEB128
-@deffnx {} BFD_RELOC_NDS32_25_ABS
-@deffnx {} BFD_RELOC_NDS32_DATA
+@deffnx {} BFD_RELOC_NDS32_EMPTY
+relaxation relative relocation types
+@end deffn
+@deffn {} BFD_RELOC_NDS32_25_ABS
+This is a 25 bit absolute address.
+@end deffn
+@deffn {} BFD_RELOC_NDS32_DATA
 @deffnx {} BFD_RELOC_NDS32_TRAN
 @deffnx {} BFD_RELOC_NDS32_17IFC_PCREL
 @deffnx {} BFD_RELOC_NDS32_10IFCU_PCREL
-relaxation relative relocation types
+For ex9 and ifc using.
+@end deffn
+@deffn {} BFD_RELOC_NDS32_TPOFF
+@deffnx {} BFD_RELOC_NDS32_TLS_LE_HI20
+@deffnx {} BFD_RELOC_NDS32_TLS_LE_LO12
+@deffnx {} BFD_RELOC_NDS32_TLS_LE_ADD
+@deffnx {} BFD_RELOC_NDS32_TLS_LE_LS
+@deffnx {} BFD_RELOC_NDS32_GOTTPOFF
+@deffnx {} BFD_RELOC_NDS32_TLS_IE_HI20
+@deffnx {} BFD_RELOC_NDS32_TLS_IE_LO12S2
+@deffnx {} BFD_RELOC_NDS32_TLS_TPOFF
+@deffnx {} BFD_RELOC_NDS32_TLS_LE_20
+@deffnx {} BFD_RELOC_NDS32_TLS_LE_15S0
+@deffnx {} BFD_RELOC_NDS32_TLS_LE_15S1
+@deffnx {} BFD_RELOC_NDS32_TLS_LE_15S2
+For TLS.
 @end deffn
 @deffn {} BFD_RELOC_V850_9_PCREL
 This is a 9-bit reloc
@@ -2416,6 +2449,18 @@ assuming no relaxation.  The relocation 
 second symbol so the linker can determine whether to adjust the field
 value.
 @end deffn
+@deffn {} BFD_RELOC_AVR_LDS_STS_16
+This is a 7 bit reloc for the AVR that stores SRAM address for 16bit
+lds and sts instructions supported only tiny core.
+@end deffn
+@deffn {} BFD_RELOC_AVR_PORT6
+This is a 6 bit reloc for the AVR that stores an I/O register
+number for the IN and OUT instructions
+@end deffn
+@deffn {} BFD_RELOC_AVR_PORT5
+This is a 5 bit reloc for the AVR that stores an I/O register
+number for the SBIC, SBIS, SBI and CBI instructions
+@end deffn
 @deffn {} BFD_RELOC_RL78_NEG8
 @deffnx {} BFD_RELOC_RL78_NEG16
 @deffnx {} BFD_RELOC_RL78_NEG24
@@ -3954,6 +3999,15 @@ Adapteva EPIPHANY - 11 bit sign-magnitud
 @deffn {} BFD_RELOC_EPIPHANY_IMM8
 Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction.
 @end deffn
+@deffn {} BFD_RELOC_VISIUM_HI16
+@deffnx {} BFD_RELOC_VISIUM_LO16
+@deffnx {} BFD_RELOC_VISIUM_IM16
+@deffnx {} BFD_RELOC_VISIUM_REL16
+@deffnx {} BFD_RELOC_VISIUM_HI16_PCREL
+@deffnx {} BFD_RELOC_VISIUM_LO16_PCREL
+@deffnx {} BFD_RELOC_VISIUM_IM16_PCREL
+Visium Relocations.
+@end deffn
 
 @example
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/targets.texi ./bfd/doc/targets.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/doc/targets.texi	2015-01-13 02:04:25.000000000 +0000
+++ ./bfd/doc/targets.texi	2015-01-20 02:08:05.000000000 +0000
@@ -335,12 +335,12 @@ BFD_JUMP_TABLE macros.
   NAME##_make_empty_symbol, \
   NAME##_print_symbol, \
   NAME##_get_symbol_info, \
+  NAME##_get_symbol_version_string, \
   NAME##_bfd_is_local_label_name, \
   NAME##_bfd_is_target_special_symbol, \
   NAME##_get_lineno, \
   NAME##_find_nearest_line, \
-  _bfd_generic_find_nearest_line_discriminator, \
-  _bfd_generic_find_line, \
+  NAME##_find_line, \
   NAME##_find_inliner_info, \
   NAME##_bfd_make_debug_symbol, \
   NAME##_read_minisymbols, \
@@ -357,14 +357,14 @@ BFD_JUMP_TABLE macros.
   void        (*_bfd_get_symbol_info)
     (bfd *, struct bfd_symbol *, symbol_info *);
 #define bfd_get_symbol_info(b,p,e) BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
+  const char *(*_bfd_get_symbol_version_string)
+    (bfd *, struct bfd_symbol *, bfd_boolean *);
+#define bfd_get_symbol_version_string(b,s,h) BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,h))
   bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
   bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
   alent *     (*_get_lineno) (bfd *, struct bfd_symbol *);
   bfd_boolean (*_bfd_find_nearest_line)
-    (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
-     const char **, const char **, unsigned int *);
-  bfd_boolean (*_bfd_find_nearest_line_discriminator)
-    (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
+    (bfd *, struct bfd_symbol **, struct bfd_section *, bfd_vma,
      const char **, const char **, unsigned int *, unsigned int *);
   bfd_boolean (*_bfd_find_line)
     (bfd *, struct bfd_symbol **, struct bfd_symbol *,
@@ -418,7 +418,6 @@ BFD_JUMP_TABLE macros.
   NAME##_bfd_get_relocated_section_contents, \
   NAME##_bfd_relax_section, \
   NAME##_bfd_link_hash_table_create, \
-  NAME##_bfd_link_hash_table_free, \
   NAME##_bfd_link_add_symbols, \
   NAME##_bfd_link_just_syms, \
   NAME##_bfd_copy_link_hash_symbol_type, \
@@ -445,16 +444,14 @@ BFD_JUMP_TABLE macros.
   struct bfd_link_hash_table *
               (*_bfd_link_hash_table_create) (bfd *);
 
-  /* Release the memory associated with the linker hash table.  */
-  void        (*_bfd_link_hash_table_free) (struct bfd_link_hash_table *);
-
   /* Add symbols from this object file into the hash table.  */
   bfd_boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *);
 
   /* Indicate that we are only retrieving symbol values from this section.  */
   void        (*_bfd_link_just_syms) (asection *, struct bfd_link_info *);
 
-  /* Copy the symbol type of a linker hash table entry.  */
+  /* Copy the symbol type and other attributes for a linker script
+     assignment of one symbol to another.  */
 #define bfd_copy_link_hash_symbol_type(b, t, f) \
   BFD_SEND (b, _bfd_copy_link_hash_symbol_type, (b, t, f))
   void (*_bfd_copy_link_hash_symbol_type)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/dwarf1.c ./bfd/dwarf1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/dwarf1.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/dwarf1.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* DWARF 1 find nearest line (_bfd_dwarf1_find_nearest_line).
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Written by Gavin Romig-Koch of Cygnus Solutions (gavin@cygnus.com).
 
@@ -449,8 +449,8 @@ dwarf1_unit_find_nearest_line (struct dw
 
 bfd_boolean
 _bfd_dwarf1_find_nearest_line (bfd *abfd,
-			       asection *section,
 			       asymbol **symbols,
+			       asection *section,
 			       bfd_vma offset,
 			       const char **filename_ptr,
 			       const char **functionname_ptr,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/dwarf2.c ./bfd/dwarf2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/dwarf2.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/dwarf2.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* DWARF 2 support.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    Adapted from gdb/dwarf2read.c by Gavin Koch of Cygnus Solutions
    (gavin@cygnus.com).
@@ -222,6 +222,9 @@ struct comp_unit
   /* The abbrev hash table.  */
   struct abbrev_info **abbrevs;
 
+  /* DW_AT_language.  */
+  int lang;
+
   /* Note that an error was found by comp_unit_find_nearest_line.  */
   int error;
 
@@ -745,7 +748,10 @@ read_alt_indirect_ref (struct comp_unit 
 static bfd_uint64_t
 read_address (struct comp_unit *unit, bfd_byte *buf)
 {
-  int signed_vma = get_elf_backend_data (unit->abfd)->sign_extend_vma;
+  int signed_vma = 0;
+
+  if (bfd_get_flavour (unit->abfd) == bfd_target_elf_flavour)
+    signed_vma = get_elf_backend_data (unit->abfd)->sign_extend_vma;
 
   if (signed_vma)
     {
@@ -911,6 +917,14 @@ read_abbrevs (bfd *abfd, bfd_uint64_t of
   return abbrevs;
 }
 
+/* Returns true if the form is one which has a string value.  */
+
+static inline bfd_boolean
+is_str_attr (enum dwarf_form form)
+{
+  return form == DW_FORM_string || form == DW_FORM_strp || form == DW_FORM_GNU_strp_alt;
+}
+
 /* Read an attribute value described by an attribute form.  */
 
 static bfd_byte *
@@ -1092,6 +1106,33 @@ read_attribute (struct attribute *attr,
   return info_ptr;
 }
 
+/* Return whether DW_AT_name will return the same as DW_AT_linkage_name
+   for a function.  */
+
+static bfd_boolean
+non_mangled (int lang)
+{
+  switch (lang)
+    {
+    default:
+      return FALSE;
+
+    case DW_LANG_C89:
+    case DW_LANG_C:
+    case DW_LANG_Ada83:
+    case DW_LANG_Cobol74:
+    case DW_LANG_Cobol85:
+    case DW_LANG_Fortran77:
+    case DW_LANG_Pascal83:
+    case DW_LANG_C99:
+    case DW_LANG_Ada95:
+    case DW_LANG_PLI:
+    case DW_LANG_UPC:
+    case DW_LANG_C11:
+      return TRUE;
+    }
+}
+
 /* Source line information table routines.  */
 
 #define FILE_ALLOC_CHUNK 5
@@ -1150,14 +1191,15 @@ struct funcinfo
   struct funcinfo *caller_func;
   /* Source location file name where caller_func inlines this func.  */
   char *caller_file;
-  /* Source location line number where caller_func inlines this func.  */
-  int caller_line;
   /* Source location file name.  */
   char *file;
+  /* Source location line number where caller_func inlines this func.  */
+  int caller_line;
   /* Source location line number.  */
   int line;
   int tag;
-  char *name;
+  bfd_boolean is_linkage;
+  const char *name;
   struct arange arange;
   /* Where the symbol is defined.  */
   asection *sec;
@@ -1981,7 +2023,7 @@ read_debug_ranges (struct comp_unit *uni
 
 /* Function table functions.  */
 
-/* If ADDR is within UNIT's function tables, set FUNCTIONNAME_PTR, and return
+/* If ADDR is within UNIT's function tables, set FUNCTION_PTR, and return
    TRUE.  Note that we need to find the function that has the smallest range
    that contains ADDR, to handle inlined functions without depending upon
    them being ordered in TABLE by increasing range.  */
@@ -1989,8 +2031,7 @@ read_debug_ranges (struct comp_unit *uni
 static bfd_boolean
 lookup_address_in_function_table (struct comp_unit *unit,
 				  bfd_vma addr,
-				  struct funcinfo **function_ptr,
-				  const char **functionname_ptr)
+				  struct funcinfo **function_ptr)
 {
   struct funcinfo* each_func;
   struct funcinfo* best_fit = NULL;
@@ -2019,14 +2060,10 @@ lookup_address_in_function_table (struct
 
   if (best_fit)
     {
-      *functionname_ptr = best_fit->name;
       *function_ptr = best_fit;
       return TRUE;
     }
-  else
-    {
-      return FALSE;
-    }
+  return FALSE;
 }
 
 /* If SYM at ADDR is within function table of UNIT, set FILENAME_PTR
@@ -2117,7 +2154,8 @@ lookup_symbol_in_variable_table (struct 
 
 static char *
 find_abstract_instance_name (struct comp_unit *unit,
-			     struct attribute *attr_ptr)
+			     struct attribute *attr_ptr,
+			     bfd_boolean *is_linkage)
 {
   bfd *abfd = unit->abfd;
   bfd_byte *info_ptr;
@@ -2168,7 +2206,7 @@ find_abstract_instance_name (struct comp
 	  (*_bfd_error_handler)
 	    (_("Dwarf Error: Unable to read alt ref %u."), die_ref);
 	  bfd_set_error (bfd_error_bad_value);
-	  return name;
+	  return NULL;
 	}
       /* FIXME: Do we need to locate the correct CU, in a similar
 	 fashion to the code in the DW_FORM_ref_addr case above ?  */
@@ -2201,15 +2239,25 @@ find_abstract_instance_name (struct comp
 		case DW_AT_name:
 		  /* Prefer DW_AT_MIPS_linkage_name or DW_AT_linkage_name
 		     over DW_AT_name.  */
-		  if (name == NULL)
-		    name = attr.u.str;
+		  if (name == NULL && is_str_attr (attr.form))
+		    {
+		      name = attr.u.str;
+		      if (non_mangled (unit->lang))
+			*is_linkage = TRUE;
+		    }
 		  break;
 		case DW_AT_specification:
-		  name = find_abstract_instance_name (unit, &attr);
+		  name = find_abstract_instance_name (unit, &attr, is_linkage);
 		  break;
 		case DW_AT_linkage_name:
 		case DW_AT_MIPS_linkage_name:
-		  name = attr.u.str;
+		  /* PR 16949:  Corrupt debug info can place
+		     non-string forms into these attributes.  */
+		  if (is_str_attr (attr.form))
+		    {
+		      name = attr.u.str;
+		      *is_linkage = TRUE;
+		    }
 		  break;
 		default:
 		  break;
@@ -2375,19 +2423,30 @@ scan_unit_for_symbols (struct comp_unit 
 
 		case DW_AT_abstract_origin:
 		case DW_AT_specification:
-		  func->name = find_abstract_instance_name (unit, &attr);
+		  func->name = find_abstract_instance_name (unit, &attr,
+							    &func->is_linkage);
 		  break;
 
 		case DW_AT_name:
 		  /* Prefer DW_AT_MIPS_linkage_name or DW_AT_linkage_name
 		     over DW_AT_name.  */
-		  if (func->name == NULL)
-		    func->name = attr.u.str;
+		  if (func->name == NULL && is_str_attr (attr.form))
+		    {
+		      func->name = attr.u.str;
+		      if (non_mangled (unit->lang))
+			func->is_linkage = TRUE;
+		    }
 		  break;
 
 		case DW_AT_linkage_name:
 		case DW_AT_MIPS_linkage_name:
-		  func->name = attr.u.str;
+		  /* PR 16949:  Corrupt debug info can place
+		     non-string forms into these attributes.  */
+		  if (is_str_attr (attr.form))
+		    {
+		      func->name = attr.u.str;
+		      func->is_linkage = TRUE;
+		    }
 		  break;
 
 		case DW_AT_low_pc:
@@ -2675,6 +2734,10 @@ parse_comp_unit (struct dwarf2_debug *st
 	    break;
 	  }
 
+	case DW_AT_language:
+	  unit->lang = attr.u.val;
+	  break;
+
 	default:
 	  break;
 	}
@@ -2719,7 +2782,7 @@ comp_unit_contains_address (struct comp_
 
 /* If UNIT contains ADDR, set the output parameters to the values for
    the line containing ADDR.  The output parameters, FILENAME_PTR,
-   FUNCTIONNAME_PTR, and LINENUMBER_PTR, are pointers to the objects
+   FUNCTION_PTR, and LINENUMBER_PTR, are pointers to the objects
    to be filled in.
 
    Returns the range of addresses covered by the entry that was used
@@ -2729,13 +2792,12 @@ static bfd_vma
 comp_unit_find_nearest_line (struct comp_unit *unit,
 			     bfd_vma addr,
 			     const char **filename_ptr,
-			     const char **functionname_ptr,
+			     struct funcinfo **function_ptr,
 			     unsigned int *linenumber_ptr,
 			     unsigned int *discriminator_ptr,
 			     struct dwarf2_debug *stash)
 {
   bfd_boolean func_p;
-  struct funcinfo *function;
 
   if (unit->error)
     return FALSE;
@@ -2764,11 +2826,10 @@ comp_unit_find_nearest_line (struct comp
 	}
     }
 
-  function = NULL;
-  func_p = lookup_address_in_function_table (unit, addr,
-					     &function, functionname_ptr);
-  if (func_p && (function->tag == DW_TAG_inlined_subroutine))
-    stash->inliner_chain = function;
+  *function_ptr = NULL;
+  func_p = lookup_address_in_function_table (unit, addr, function_ptr);
+  if (func_p && (*function_ptr)->tag == DW_TAG_inlined_subroutine)
+    stash->inliner_chain = *function_ptr;
 
   return lookup_address_in_line_info_table (unit->line_table, addr,
 					    filename_ptr,
@@ -3588,19 +3649,19 @@ _bfd_dwarf2_slurp_debug_info (bfd *abfd,
    field and in the abbreviation offset, or zero to indicate that the
    default value should be used.  */
 
-static bfd_boolean
-find_line (bfd *abfd,
-	   const struct dwarf_debug_section *debug_sections,
-	   asection *section,
-	   bfd_vma offset,
-	   asymbol *symbol,
-	   asymbol **symbols,
-	   const char **filename_ptr,
-	   const char **functionname_ptr,
-	   unsigned int *linenumber_ptr,
-	   unsigned int *discriminator_ptr,
-	   unsigned int addr_size,
-	   void **pinfo)
+bfd_boolean
+_bfd_dwarf2_find_nearest_line (bfd *abfd,
+			       asymbol **symbols,
+			       asymbol *symbol,
+			       asection *section,
+			       bfd_vma offset,
+			       const char **filename_ptr,
+			       const char **functionname_ptr,
+			       unsigned int *linenumber_ptr,
+			       unsigned int *discriminator_ptr,
+			       const struct dwarf_debug_section *debug_sections,
+			       unsigned int addr_size,
+			       void **pinfo)
 {
   /* Read each compilation unit from the section .debug_info, and check
      to see if it contains the address we are searching for.  If yes,
@@ -3614,6 +3675,7 @@ find_line (bfd *abfd,
   /* What address are we looking for?  */
   bfd_vma addr;
   struct comp_unit* each;
+  struct funcinfo *function = NULL;
   bfd_boolean found = FALSE;
   bfd_boolean do_line;
 
@@ -3631,21 +3693,18 @@ find_line (bfd *abfd,
 
   stash = (struct dwarf2_debug *) *pinfo;
 
-  do_line = (section == NULL
-	     && offset == 0
-	     && functionname_ptr == NULL
-	     && symbol != NULL);
+  do_line = symbol != NULL;
   if (do_line)
     {
-      addr = symbol->value;
+      BFD_ASSERT (section == NULL && offset == 0 && functionname_ptr == NULL);
       section = bfd_get_section (symbol);
+      addr = symbol->value;
     }
-  else if (section != NULL
-	   && functionname_ptr != NULL
-	   && symbol == NULL)
-    addr = offset;
   else
-    abort ();
+    {
+      BFD_ASSERT (section != NULL && functionname_ptr != NULL);
+      addr = offset;
+    }
 
   if (section->output_section)
     addr += section->output_section->vma + section->output_offset;
@@ -3699,7 +3758,7 @@ find_line (bfd *abfd,
     {
       bfd_vma min_range = (bfd_vma) -1;
       const char * local_filename = NULL;
-      const char * local_functionname = NULL;
+      struct funcinfo *local_function = NULL;
       unsigned int local_linenumber = 0;
       unsigned int local_discriminator = 0;
 
@@ -3711,7 +3770,7 @@ find_line (bfd *abfd,
 		    || comp_unit_contains_address (each, addr))
 		   && (range = comp_unit_find_nearest_line (each, addr,
 							    & local_filename,
-							    & local_functionname,
+							    & local_function,
 							    & local_linenumber,
 							    & local_discriminator,
 							    stash)) != 0);
@@ -3732,8 +3791,8 @@ find_line (bfd *abfd,
 		{
 		  if (filename_ptr && local_filename)
 		    * filename_ptr = local_filename;
-		  if (functionname_ptr && local_functionname)
-		    * functionname_ptr = local_functionname;
+		  if (local_function)
+		    function = local_function;
 		  if (discriminator_ptr && local_discriminator)
 		    * discriminator_ptr = local_discriminator;
 		  if (local_linenumber)
@@ -3835,10 +3894,10 @@ find_line (bfd *abfd,
 		      || comp_unit_contains_address (each, addr))
 		     && comp_unit_find_nearest_line (each, addr,
 						     filename_ptr,
-						     functionname_ptr,
+						     &function,
 						     linenumber_ptr,
 						     discriminator_ptr,
-						     stash)) > 0;
+						     stash) != 0);
 
 	  if ((bfd_vma) (stash->info_ptr - stash->sec_info_ptr)
 	      == stash->sec->size)
@@ -3854,51 +3913,25 @@ find_line (bfd *abfd,
     }
 
  done:
+  if (function)
+    {
+      if (!function->is_linkage
+	  && _bfd_elf_find_function (abfd, symbols, section, offset,
+				     *filename_ptr ? NULL : filename_ptr,
+				     functionname_ptr))
+	{
+	  function->name = *functionname_ptr;
+	  function->is_linkage = TRUE;
+	}
+      else
+	*functionname_ptr = function->name;
+    }
   if ((abfd->flags & (EXEC_P | DYNAMIC)) == 0)
     unset_sections (stash);
 
   return found;
 }
 
-/* The DWARF2 version of find_nearest_line.
-   Return TRUE if the line is found without error.  */
-
-bfd_boolean
-_bfd_dwarf2_find_nearest_line (bfd *abfd,
-			       const struct dwarf_debug_section *debug_sections,
-			       asection *section,
-			       asymbol **symbols,
-			       bfd_vma offset,
-			       const char **filename_ptr,
-			       const char **functionname_ptr,
-			       unsigned int *linenumber_ptr,
-			       unsigned int *discriminator_ptr,
-			       unsigned int addr_size,
-			       void **pinfo)
-{
-  return find_line (abfd, debug_sections, section, offset, NULL, symbols,
-		    filename_ptr, functionname_ptr, linenumber_ptr,
-		    discriminator_ptr, addr_size, pinfo);
-}
-
-/* The DWARF2 version of find_line.
-   Return TRUE if the line is found without error.  */
-
-bfd_boolean
-_bfd_dwarf2_find_line (bfd *abfd,
-		       asymbol **symbols,
-		       asymbol *symbol,
-		       const char **filename_ptr,
-		       unsigned int *linenumber_ptr,
-		       unsigned int *discriminator_ptr,
-		       unsigned int addr_size,
-		       void **pinfo)
-{
-  return find_line (abfd, dwarf_debug_sections, NULL, 0, symbol, symbols,
-		    filename_ptr, NULL, linenumber_ptr, discriminator_ptr,
-		    addr_size, pinfo);
-}
-
 bfd_boolean
 _bfd_dwarf2_find_inliner_info (bfd *abfd ATTRIBUTE_UNUSED,
 			       const char **filename_ptr,
@@ -4010,3 +4043,109 @@ _bfd_dwarf2_cleanup_debug_info (bfd *abf
   if (stash->alt_bfd_ptr)
     bfd_close (stash->alt_bfd_ptr);
 }
+
+/* Find the function to a particular section and offset,
+   for error reporting.  */
+
+bfd_boolean
+_bfd_elf_find_function (bfd *abfd,
+			asymbol **symbols,
+			asection *section,
+			bfd_vma offset,
+			const char **filename_ptr,
+			const char **functionname_ptr)
+{
+  struct elf_find_function_cache
+  {
+    asection *last_section;
+    asymbol *func;
+    const char *filename;
+    bfd_size_type func_size;
+  } *cache;
+
+  if (symbols == NULL)
+    return FALSE;
+
+  if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
+    return FALSE;
+
+  cache = elf_tdata (abfd)->elf_find_function_cache;
+  if (cache == NULL)
+    {
+      cache = bfd_zalloc (abfd, sizeof (*cache));
+      elf_tdata (abfd)->elf_find_function_cache = cache;
+      if (cache == NULL)
+	return FALSE;
+    }
+  if (cache->last_section != section
+      || cache->func == NULL
+      || offset < cache->func->value
+      || offset >= cache->func->value + cache->func_size)
+    {
+      asymbol *file;
+      bfd_vma low_func;
+      asymbol **p;
+      /* ??? Given multiple file symbols, it is impossible to reliably
+	 choose the right file name for global symbols.  File symbols are
+	 local symbols, and thus all file symbols must sort before any
+	 global symbols.  The ELF spec may be interpreted to say that a
+	 file symbol must sort before other local symbols, but currently
+	 ld -r doesn't do this.  So, for ld -r output, it is possible to
+	 make a better choice of file name for local symbols by ignoring
+	 file symbols appearing after a given local symbol.  */
+      enum { nothing_seen, symbol_seen, file_after_symbol_seen } state;
+      const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+
+      file = NULL;
+      low_func = 0;
+      state = nothing_seen;
+      cache->filename = NULL;
+      cache->func = NULL;
+      cache->func_size = 0;
+      cache->last_section = section;
+
+      for (p = symbols; *p != NULL; p++)
+	{
+	  asymbol *sym = *p;
+	  bfd_vma code_off;
+	  bfd_size_type size;
+
+	  if ((sym->flags & BSF_FILE) != 0)
+	    {
+	      file = sym;
+	      if (state == symbol_seen)
+		state = file_after_symbol_seen;
+	      continue;
+	    }
+
+	  size = bed->maybe_function_sym (sym, section, &code_off);
+	  if (size != 0
+	      && code_off <= offset
+	      && (code_off > low_func
+		  || (code_off == low_func
+		      && size > cache->func_size)))
+	    {
+	      cache->func = sym;
+	      cache->func_size = size;
+	      cache->filename = NULL;
+	      low_func = code_off;
+	      if (file != NULL
+		  && ((sym->flags & BSF_LOCAL) != 0
+		      || state != file_after_symbol_seen))
+		cache->filename = bfd_asymbol_name (file);
+	    }
+	  if (state == nothing_seen)
+	    state = symbol_seen;
+	}
+    }
+
+  if (cache->func == NULL)
+    return FALSE;
+
+  if (filename_ptr)
+    *filename_ptr = cache->filename;
+  if (functionname_ptr)
+    *functionname_ptr = bfd_asymbol_name (cache->func);
+
+  return TRUE;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ecoff.c ./bfd/ecoff.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ecoff.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ecoff.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic ECOFF (Extended-COFF) routines.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Original version by Per Bothner.
    Full support added by Ian Lance Taylor, ian@cygnus.com.
 
@@ -615,6 +615,9 @@ _bfd_ecoff_slurp_symbolic_info (bfd *abf
   external_fdr_size = backend->debug_swap.external_fdr_size;
   fdr_ptr = debug->fdr;
   fraw_src = (char *) debug->external_fdr;
+  /* PR 17512: file: 3372-1243-0.004.  */
+  if (fraw_src == NULL && internal_symhdr->ifdMax > 0)
+    return FALSE;
   fraw_end = fraw_src + internal_symhdr->ifdMax * external_fdr_size;
   for (; fraw_src < fraw_end; fraw_src += external_fdr_size, fdr_ptr++)
     (*backend->debug_swap.swap_fdr_in) (abfd, (void *) fraw_src, fdr_ptr);
@@ -891,12 +894,18 @@ _bfd_ecoff_slurp_symbol_table (bfd *abfd
       EXTR internal_esym;
 
       (*swap_ext_in) (abfd, (void *) eraw_src, &internal_esym);
+
+      /* PR 17512: file: 3372-1000-0.004.  */
+      if (internal_esym.asym.iss >= ecoff_data (abfd)->debug_info.symbolic_header.issExtMax)
+	return FALSE;
+
       internal_ptr->symbol.name = (ecoff_data (abfd)->debug_info.ssext
 				   + internal_esym.asym.iss);
       if (!ecoff_set_symbol_info (abfd, &internal_esym.asym,
 				  &internal_ptr->symbol, 1,
 				  internal_esym.weakext))
 	return FALSE;
+      
       /* The alpha uses a negative ifd field for section symbols.  */
       if (internal_esym.ifd >= 0)
 	internal_ptr->fdr = (ecoff_data (abfd)->debug_info.fdr
@@ -938,6 +947,20 @@ _bfd_ecoff_slurp_symbol_table (bfd *abfd
 	}
     }
 
+  /* PR 17512: file: 3372-3080-0.004.
+     A discrepancy between ecoff_data (abfd)->debug_info.symbolic_header.isymMax
+     and ecoff_data (abfd)->debug_info.symbolic_header.ifdMax can mean that
+     we have fewer symbols than we were expecting.  Allow for this by updating
+     the symbol count and warning the user.  */
+  if (internal_ptr - internal < (ptrdiff_t) bfd_get_symcount (abfd))
+    {
+      bfd_get_symcount (abfd) = internal_ptr - internal;
+      (*_bfd_error_handler)
+	(_("%B: warning: isymMax (%ld) is greater than ifdMax (%d)\n"),
+	 abfd, ecoff_data (abfd)->debug_info.symbolic_header.isymMax,
+	 ecoff_data (abfd)->debug_info.symbolic_header.ifdMax);
+    }
+
   ecoff_data (abfd)->canonical_symbols = internal;
 
   return TRUE;
@@ -1704,12 +1727,13 @@ _bfd_ecoff_canonicalize_reloc (bfd *abfd
 
 bfd_boolean
 _bfd_ecoff_find_nearest_line (bfd *abfd,
+			      asymbol **symbols ATTRIBUTE_UNUSED,
 			      asection *section,
-			      asymbol **ignore_symbols ATTRIBUTE_UNUSED,
 			      bfd_vma offset,
 			      const char **filename_ptr,
 			      const char **functionname_ptr,
-			      unsigned int *retline_ptr)
+			      unsigned int *retline_ptr,
+			      unsigned int *discriminator_ptr)
 {
   const struct ecoff_debug_swap * const debug_swap
     = &ecoff_backend (abfd)->debug_swap;
@@ -1730,8 +1754,10 @@ _bfd_ecoff_find_nearest_line (bfd *abfd,
       if (ecoff_data (abfd)->find_line_info == NULL)
 	return FALSE;
     }
-  line_info = ecoff_data (abfd)->find_line_info;
 
+  if (discriminator_ptr)
+    *discriminator_ptr = 0;
+  line_info = ecoff_data (abfd)->find_line_info;
   return _bfd_ecoff_locate_line (abfd, section, offset, debug_info,
 				 debug_swap, line_info, filename_ptr,
 				 functionname_ptr, retline_ptr);
@@ -3497,171 +3523,29 @@ ecoff_link_add_object_symbols (bfd *abfd
   return FALSE;
 }
 
-/* Factored out from ecoff_link_check_archive_element.  */
-
-static bfd_boolean
-read_ext_syms_and_strs (HDRR **symhdr, bfd_size_type *external_ext_size,
-	bfd_size_type *esize, void **external_ext, char **ssext, bfd *abfd,
-	const struct ecoff_backend_data * const backend)
-{
-  if (! ecoff_slurp_symbolic_header (abfd))
-    return FALSE;
-
-  /* If there are no symbols, we don't want it.  */
-  if (bfd_get_symcount (abfd) == 0)
-    return TRUE;
-
-  *symhdr = &ecoff_data (abfd)->debug_info.symbolic_header;
-
-  *external_ext_size = backend->debug_swap.external_ext_size;
-  *esize = (*symhdr)->iextMax * *external_ext_size;
-  *external_ext = bfd_malloc (*esize);
-  if (*external_ext == NULL && *esize != 0)
-    return FALSE;
-
-  if (bfd_seek (abfd, (file_ptr) (*symhdr)->cbExtOffset, SEEK_SET) != 0
-      || bfd_bread (*external_ext, *esize, abfd) != *esize)
-    return FALSE;
-
-  *ssext = (char *) bfd_malloc ((bfd_size_type) (*symhdr)->issExtMax);
-  if (*ssext == NULL && (*symhdr)->issExtMax != 0)
-    return FALSE;
-
-  if (bfd_seek (abfd, (file_ptr) (*symhdr)->cbSsExtOffset, SEEK_SET) != 0
-      || (bfd_bread (*ssext, (bfd_size_type) (*symhdr)->issExtMax, abfd)
-	  != (bfd_size_type) (*symhdr)->issExtMax))
-    return FALSE;
-  return TRUE;
-}
-
-static bfd_boolean
-reread_ext_syms_and_strs (HDRR **symhdr, bfd_size_type *external_ext_size,
-	bfd_size_type *esize, void **external_ext, char **ssext, bfd *abfd,
-	const struct ecoff_backend_data * const backend)
-{
-  if (*external_ext != NULL)
-    free (*external_ext);
-  *external_ext = NULL;
-  if (*ssext != NULL)
-    free (*ssext);
-  *ssext = NULL;
-  return read_ext_syms_and_strs (symhdr, external_ext_size, esize,
-				external_ext, ssext, abfd, backend);
-}
-
 /* This is called if we used _bfd_generic_link_add_archive_symbols
    because we were not dealing with an ECOFF archive.  */
 
 static bfd_boolean
 ecoff_link_check_archive_element (bfd *abfd,
 				  struct bfd_link_info *info,
+				  struct bfd_link_hash_entry *h,
+				  const char *name,
 				  bfd_boolean *pneeded)
 {
-  const struct ecoff_backend_data * const backend = ecoff_backend (abfd);
-  void (* const swap_ext_in) (bfd *, void *, EXTR *)
-    = backend->debug_swap.swap_ext_in;
-  HDRR *symhdr;
-  bfd_size_type external_ext_size = 0;
-  void * external_ext = NULL;
-  bfd_size_type esize = 0;
-  char *ssext = NULL;
-  char *ext_ptr;
-  char *ext_end;
-
   *pneeded = FALSE;
 
-  /* Read in the external symbols and external strings.  */
-  if (!read_ext_syms_and_strs (&symhdr, &external_ext_size, &esize,
-	&external_ext, &ssext, abfd, backend))
-    goto error_return;
-
-  /* If there are no symbols, we don't want it.  */
-  if (bfd_get_symcount (abfd) == 0)
-    goto successful_return;
-
-  /* Look through the external symbols to see if they define some
-     symbol that is currently undefined.  */
-  ext_ptr = (char *) external_ext;
-  ext_end = ext_ptr + esize;
-  for (; ext_ptr < ext_end; ext_ptr += external_ext_size)
-    {
-      EXTR esym;
-      bfd_boolean def;
-      const char *name;
-      bfd *oldbfd;
-      struct bfd_link_hash_entry *h;
-
-      (*swap_ext_in) (abfd, (void *) ext_ptr, &esym);
-
-      /* See if this symbol defines something.  */
-      if (esym.asym.st != stGlobal
-	  && esym.asym.st != stLabel
-	  && esym.asym.st != stProc)
-	continue;
-
-      switch (esym.asym.sc)
-	{
-	case scText:
-	case scData:
-	case scBss:
-	case scAbs:
-	case scSData:
-	case scSBss:
-	case scRData:
-	case scCommon:
-	case scSCommon:
-	case scInit:
-	case scFini:
-	case scRConst:
-	  def = TRUE;
-	  break;
-	default:
-	  def = FALSE;
-	  break;
-	}
-
-      if (! def)
-	continue;
-
-      name = ssext + esym.asym.iss;
-      h = bfd_link_hash_lookup (info->hash, name, FALSE, FALSE, TRUE);
-
-      /* Unlike the generic linker, we do not pull in elements because
-	 of common symbols.  */
-      if (h == NULL
-	  || h->type != bfd_link_hash_undefined)
-	continue;
-
-      /* Include this element.  */
-      oldbfd = abfd;
-      if (!(*info->callbacks
-	    ->add_archive_element) (info, abfd, name, &abfd))
-	goto error_return;
-      /* Potentially, the add_archive_element hook may have set a
-	 substitute BFD for us.  */
-      if (abfd != oldbfd
-	  && !reread_ext_syms_and_strs (&symhdr, &external_ext_size, &esize,
-					&external_ext, &ssext, abfd, backend))
-	goto error_return;
-      if (! ecoff_link_add_externals (abfd, info, external_ext, ssext))
-	goto error_return;
+  /* Unlike the generic linker, we do not pull in elements because
+     of common symbols.  */
+  if (h->type != bfd_link_hash_undefined)
+    return TRUE;
 
-      *pneeded = TRUE;
-      goto successful_return;
-    }
+  /* Include this element.  */
+  if (!(*info->callbacks->add_archive_element) (info, abfd, name, &abfd))
+    return FALSE;
+  *pneeded = TRUE;
 
- successful_return:
-  if (external_ext != NULL)
-    free (external_ext);
-  if (ssext != NULL)
-    free (ssext);
-  return TRUE;
- error_return:
-  if (external_ext != NULL)
-    free (external_ext);
-  if (ssext != NULL)
-    free (ssext);
-  return FALSE;
+  return ecoff_link_add_object_symbols (abfd, info);
 }
 
 /* Add the symbols from an archive file to the global hash table.
@@ -4447,7 +4331,7 @@ _bfd_ecoff_bfd_final_link (bfd *abfd, st
   /* Accumulate the debugging symbols from each input BFD.  */
   for (input_bfd = info->input_bfds;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     {
       bfd_boolean ret;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ecofflink.c ./bfd/ecofflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ecofflink.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ecofflink.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Routines to link ECOFF debugging information.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ecoffswap.h ./bfd/ecoffswap.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ecoffswap.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ecoffswap.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic ECOFF swapping routines, for BFD.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-am33lin.c ./bfd/elf32-am33lin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-am33lin.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-am33lin.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Matsushita AM33/2.0 support for 32-bit GNU/Linux ELF
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-arc.c ./bfd/elf32-arc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-arc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-arc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ARC-specific support for 32-bit ELF
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Doug Evans (dje@cygnus.com).
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -172,7 +172,11 @@ arc_info_to_howto_rel (bfd *abfd ATTRIBU
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_ARC_max);
+  if (r_type >= (unsigned int) R_ARC_max)
+    {
+      _bfd_error_handler (_("%A: invalid ARC reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_arc_howto_table[r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-arm.c ./bfd/elf32-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-arm.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-arm.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* 32-bit ELF support for ARM
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -2172,7 +2172,7 @@ static const bfd_vma elf32_thumb2_plt0_e
      an instruction maybe encoded to one or two array elements.  */
   0xf8dfb500,		/* push    {lr}          */
   0x44fee008,		/* ldr.w   lr, [pc, #8]  */
-                        /* add     lr, pc        */
+			/* add     lr, pc        */
   0xff08f85e,		/* ldr.w   pc, [lr, #8]! */
   0x00000000,		/* &GOT[0] - .           */
 };
@@ -2187,7 +2187,7 @@ static const bfd_vma elf32_thumb2_plt_en
   0x0c00f2c0,		/* movt    ip, #0xNNNN    */
   0xf8dc44fc,           /* add     ip, pc         */
   0xbf00f000            /* ldr.w   pc, [ip]       */
-                        /* nop                    */
+			/* nop                    */
 };
 
 /* The format of the first entry in the procedure linkage table
@@ -2283,6 +2283,8 @@ static const bfd_vma elf32_arm_nacl_plt_
 #define THM_MAX_BWD_BRANCH_OFFSET  (-(1 << 22) + 4)
 #define THM2_MAX_FWD_BRANCH_OFFSET (((1 << 24) - 2) + 4)
 #define THM2_MAX_BWD_BRANCH_OFFSET (-(1 << 24) + 4)
+#define THM2_MAX_FWD_COND_BRANCH_OFFSET (((1 << 20) -2) + 4)
+#define THM2_MAX_BWD_COND_BRANCH_OFFSET (-(1 << 20) + 4)
 
 enum stub_insn_type
 {
@@ -3523,6 +3525,18 @@ elf32_arm_copy_indirect_symbol (struct b
   _bfd_elf_link_hash_copy_indirect (info, dir, ind);
 }
 
+/* Destroy an ARM elf linker hash table.  */
+
+static void
+elf32_arm_link_hash_table_free (bfd *obfd)
+{
+  struct elf32_arm_link_hash_table *ret
+    = (struct elf32_arm_link_hash_table *) obfd->link.hash;
+
+  bfd_hash_table_free (&ret->stub_hash_table);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create an ARM elf linker hash table.  */
 
 static struct bfd_link_hash_table *
@@ -3558,25 +3572,14 @@ elf32_arm_link_hash_table_create (bfd *a
   if (!bfd_hash_table_init (&ret->stub_hash_table, stub_hash_newfunc,
 			    sizeof (struct elf32_arm_stub_hash_entry)))
     {
-      free (ret);
+      _bfd_elf_link_hash_table_free (abfd);
       return NULL;
     }
+  ret->root.root.hash_table_free = elf32_arm_link_hash_table_free;
 
   return &ret->root.root;
 }
 
-/* Free the derived linker hash table.  */
-
-static void
-elf32_arm_hash_table_free (struct bfd_link_hash_table *hash)
-{
-  struct elf32_arm_link_hash_table *ret
-    = (struct elf32_arm_link_hash_table *) hash;
-
-  bfd_hash_table_free (&ret->stub_hash_table);
-  _bfd_elf_link_hash_table_free (hash);
-}
-
 /* Determine what kind of NOPs are available.  */
 
 static bfd_boolean
@@ -3666,7 +3669,8 @@ arm_type_of_stub (struct bfd_link_info *
 
   /* ST_BRANCH_TO_ARM is nonsense to thumb-only targets when we
      are considering a function call relocation.  */
-  if (thumb_only && (r_type == R_ARM_THM_CALL || r_type == R_ARM_THM_JUMP24)
+  if (thumb_only && (r_type == R_ARM_THM_CALL || r_type == R_ARM_THM_JUMP24
+                     || r_type == R_ARM_THM_JUMP19)
       && branch_type == ST_BRANCH_TO_ARM)
     branch_type = ST_BRANCH_TO_THUMB;
 
@@ -3710,7 +3714,7 @@ arm_type_of_stub (struct bfd_link_info *
   branch_offset = (bfd_signed_vma)(destination - location);
 
   if (r_type == R_ARM_THM_CALL || r_type == R_ARM_THM_JUMP24
-      || r_type == R_ARM_THM_TLS_CALL)
+      || r_type == R_ARM_THM_TLS_CALL || r_type == R_ARM_THM_JUMP19)
     {
       /* Handle cases where:
 	 - this call goes too far (different Thumb/Thumb2 max
@@ -3726,10 +3730,15 @@ arm_type_of_stub (struct bfd_link_info *
 	  || (thumb2
 	      && (branch_offset > THM2_MAX_FWD_BRANCH_OFFSET
 		  || (branch_offset < THM2_MAX_BWD_BRANCH_OFFSET)))
+	  || (thumb2
+	      && (branch_offset > THM2_MAX_FWD_COND_BRANCH_OFFSET
+		  || (branch_offset < THM2_MAX_BWD_COND_BRANCH_OFFSET))
+	      && (r_type == R_ARM_THM_JUMP19))
 	  || (branch_type == ST_BRANCH_TO_ARM
 	      && (((r_type == R_ARM_THM_CALL
 		    || r_type == R_ARM_THM_TLS_CALL) && !globals->use_blx)
-		  || (r_type == R_ARM_THM_JUMP24))
+		  || (r_type == R_ARM_THM_JUMP24)
+                  || (r_type == R_ARM_THM_JUMP19))
 	      && !use_plt))
 	{
 	  if (branch_type == ST_BRANCH_TO_THUMB)
@@ -4436,7 +4445,7 @@ elf32_arm_setup_section_lists (bfd *outp
   /* Count the number of input BFDs and find the top input section id.  */
   for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     {
       bfd_count += 1;
       for (section = input_bfd->sections;
@@ -5045,7 +5054,7 @@ elf32_arm_size_stubs (bfd *output_bfd,
       num_a8_fixes = 0;
       for (input_bfd = info->input_bfds, bfd_indx = 0;
 	   input_bfd != NULL;
-	   input_bfd = input_bfd->link_next, bfd_indx++)
+	   input_bfd = input_bfd->link.next, bfd_indx++)
 	{
 	  Elf_Internal_Shdr *symtab_hdr;
 	  asection *section;
@@ -5346,7 +5355,8 @@ elf32_arm_size_stubs (bfd *output_bfd,
 		      /* For historical reasons, use the existing names for
 			 ARM-to-Thumb and Thumb-to-ARM stubs.  */
 		      if ((r_type == (unsigned int) R_ARM_THM_CALL
-			   || r_type == (unsigned int) R_ARM_THM_JUMP24)
+			   || r_type == (unsigned int) R_ARM_THM_JUMP24
+                           || r_type == (unsigned int) R_ARM_THM_JUMP19)
 			  && branch_type == ST_BRANCH_TO_ARM)
 			sprintf (stub_entry->output_name,
 				 THUMB2ARM_GLUE_ENTRY_NAME, sym_name);
@@ -7521,6 +7531,8 @@ elf32_arm_allocate_plt_entry (struct bfd
 	 first entry.  */
       if (splt->size == 0)
 	splt->size += htab->plt_header_size;
+
+      htab->next_tls_desc_index++;
     }
 
   /* Allocate the PLT entry itself, including any leading Thumb stub.  */
@@ -7533,7 +7545,10 @@ elf32_arm_allocate_plt_entry (struct bfd
     {
       /* We also need to make an entry in the .got.plt section, which
 	 will be placed in the .got section by the linker script.  */
-      arm_plt->got_offset = sgotplt->size - 8 * htab->num_tls_desc;
+      if (is_iplt_entry)
+	arm_plt->got_offset = sgotplt->size;
+      else
+	arm_plt->got_offset = sgotplt->size - 8 * htab->num_tls_desc;
       sgotplt->size += 4;
     }
 }
@@ -7754,7 +7769,7 @@ elf32_arm_populate_plt_entry (bfd *outpu
       else if (using_thumb_only (htab))
 	{
 	  /* PR ld/16017: Generate thumb only PLT entries.  */
-          if (!using_thumb2 (htab))
+	  if (!using_thumb2 (htab))
 	    {
 	      /* FIXME: We ought to be able to generate thumb-1 PLT
 		 instructions...  */
@@ -9119,6 +9134,9 @@ elf32_arm_final_link_relocate (reloc_how
 	bfd_signed_vma reloc_signed_max = 0xffffe;
 	bfd_signed_vma reloc_signed_min = -0x100000;
 	bfd_signed_vma signed_check;
+        enum elf32_arm_stub_type stub_type = arm_stub_none;
+	struct elf32_arm_stub_hash_entry *stub_entry;
+	struct elf32_arm_link_hash_entry *hash;
 
 	/* Need to refetch the addend, reconstruct the top three bits,
 	   and squish the two 11 bit pieces together.  */
@@ -9150,8 +9168,25 @@ elf32_arm_final_link_relocate (reloc_how
 	    *unresolved_reloc_p = FALSE;
 	  }
 
-	/* ??? Should handle interworking?  GCC might someday try to
-	   use this for tail calls.  */
+	hash = (struct elf32_arm_link_hash_entry *)h;
+
+	stub_type = arm_type_of_stub (info, input_section, rel,
+		                      st_type, &branch_type,
+		                      hash, value, sym_sec,
+		                      input_bfd, sym_name);
+	if (stub_type != arm_stub_none)
+	  {
+	    stub_entry = elf32_arm_get_stub_entry (input_section,
+				                   sym_sec, h,
+				                   rel, globals,
+				                   stub_type);
+	    if (stub_entry != NULL)
+	      {
+	        value = (stub_entry->stub_offset
+                        + stub_entry->stub_sec->output_offset
+                        + stub_entry->stub_sec->output_section->vma);
+	      }
+	  }
 
 	relocation = value + signed_addend;
 	relocation -= (input_section->output_section->vma
@@ -10911,7 +10946,7 @@ elf32_arm_fix_exidx_coverage (asection *
 
   /* Walk over all EXIDX sections, and create backlinks from the corrsponding
      text sections.  */
-  for (inp = info->input_bfds; inp != NULL; inp = inp->link_next)
+  for (inp = info->input_bfds; inp != NULL; inp = inp->link.next)
     {
       asection *sec;
 
@@ -11665,6 +11700,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
   static const int order_021[3] = {0, 2, 1};
   int i;
   bfd_boolean result = TRUE;
+  const char *sec_name = get_elf_backend_data (ibfd)->obj_attrs_section;
 
   /* Skip the linker stubs file.  This preserves previous behavior
      of accepting unknown attributes in the first input file - but
@@ -11672,6 +11708,12 @@ elf32_arm_merge_eabi_attributes (bfd *ib
   if (ibfd->flags & BFD_LINKER_CREATED)
     return TRUE;
 
+  /* Skip any input that hasn't attribute section.
+     This enables to link object files without attribute section with
+     any others.  */
+  if (bfd_get_section_by_name (ibfd, sec_name) == NULL)
+    return TRUE;
+
   if (!elf_known_obj_attributes_proc (obfd)[0].i)
     {
       /* This is the first object.  Copy the attributes.  */
@@ -11711,10 +11753,14 @@ elf32_arm_merge_eabi_attributes (bfd *ib
   /* This needs to happen before Tag_ABI_FP_number_model is merged.  */
   if (in_attr[Tag_ABI_VFP_args].i != out_attr[Tag_ABI_VFP_args].i)
     {
-      /* Ignore mismatches if the object doesn't use floating point.  */
-      if (out_attr[Tag_ABI_FP_number_model].i == 0)
+      /* Ignore mismatches if the object doesn't use floating point or is
+	 floating point ABI independent.  */
+      if (out_attr[Tag_ABI_FP_number_model].i == AEABI_FP_number_model_none
+	  || (in_attr[Tag_ABI_FP_number_model].i != AEABI_FP_number_model_none
+	      && out_attr[Tag_ABI_VFP_args].i == AEABI_VFP_args_compatible))
 	out_attr[Tag_ABI_VFP_args].i = in_attr[Tag_ABI_VFP_args].i;
-      else if (in_attr[Tag_ABI_FP_number_model].i != 0)
+      else if (in_attr[Tag_ABI_FP_number_model].i != AEABI_FP_number_model_none
+	       && in_attr[Tag_ABI_VFP_args].i != AEABI_VFP_args_compatible)
 	{
 	  _bfd_error_handler
 	    (_("error: %B uses VFP register arguments, %B does not"),
@@ -11743,7 +11789,9 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	  {
 	    int secondary_compat = -1, secondary_compat_out = -1;
 	    unsigned int saved_out_attr = out_attr[i].i;
-	    static const char *name_table[] = {
+	    int arch_attr;
+	    static const char *name_table[] =
+	      {
 		/* These aren't real CPU names, but we can't guess
 		   that from the architecture version alone.  */
 		"Pre v4",
@@ -11765,10 +11813,17 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 	    /* Merge Tag_CPU_arch and Tag_also_compatible_with.  */
 	    secondary_compat = get_secondary_compatible_arch (ibfd);
 	    secondary_compat_out = get_secondary_compatible_arch (obfd);
-	    out_attr[i].i = tag_cpu_arch_combine (ibfd, out_attr[i].i,
-						  &secondary_compat_out,
-						  in_attr[i].i,
-						  secondary_compat);
+	    arch_attr = tag_cpu_arch_combine (ibfd, out_attr[i].i,
+					      &secondary_compat_out,
+					      in_attr[i].i,
+					      secondary_compat);
+
+	    /* Return with error if failed to merge.  */
+	    if (arch_attr == -1)
+	      return FALSE;
+
+	    out_attr[i].i = arch_attr;
+
 	    set_secondary_compatible_arch (obfd, secondary_compat_out);
 
 	    /* Merge Tag_CPU_name and Tag_CPU_raw_name.  */
@@ -11904,7 +11959,7 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 		 when it's 0.  It might mean absence of FP hardware if
 		 Tag_FP_arch is zero, otherwise it is effectively SP + DP.  */
 
-#define VFP_VERSION_COUNT 8
+#define VFP_VERSION_COUNT 9
 	      static const struct
 	      {
 		  int ver;
@@ -11918,7 +11973,8 @@ elf32_arm_merge_eabi_attributes (bfd *ib
 		  {3, 16},
 		  {4, 32},
 		  {4, 16},
-		  {8, 32}
+		  {8, 32},
+		  {8, 16}
 		};
 	      int ver;
 	      int regs;
@@ -12494,7 +12550,7 @@ elf32_arm_gc_sweep_hook (bfd *          
 	      && (sec->flags & SEC_ALLOC) != 0)
 	    {
 	      if (h == NULL
-		  && (r_type == R_ARM_REL32 || r_type == R_ARM_REL32_NOI))
+		  && elf32_arm_howto_from_type (r_type)->pc_relative)
 		{
 		  call_reloc_p = TRUE;
 		  may_need_local_target_p = TRUE;
@@ -12705,6 +12761,9 @@ elf32_arm_check_relocs (bfd *abfd, struc
 		default: tls_type = GOT_NORMAL; break;
 		}
 
+	      if (!info->executable && (tls_type & GOT_TLS_IE))
+		info->flags |= DF_STATIC_TLS;
+
 	      if (h != NULL)
 		{
 		  h->got.refcount++;
@@ -12817,7 +12876,7 @@ elf32_arm_check_relocs (bfd *abfd, struc
 		&& (sec->flags & SEC_ALLOC) != 0)
 	      {
 		if (h == NULL
-		    && (r_type == R_ARM_REL32 || r_type == R_ARM_REL32_NOI))
+		    && elf32_arm_howto_from_type (r_type)->pc_relative)
 		  {
 		    /* In shared libraries and relocatable executables,
 		       we treat local relative references as calls;
@@ -12963,7 +13022,7 @@ elf32_arm_check_relocs (bfd *abfd, struc
 	      p->pc_count = 0;
 	    }
 
-	  if (r_type == R_ARM_REL32 || r_type == R_ARM_REL32_NOI)
+	  if (elf32_arm_howto_from_type (r_type)->pc_relative)
 	    p->pc_count += 1;
 	  p->count += 1;
 	}
@@ -12991,7 +13050,7 @@ elf32_arm_gc_mark_extra_sections (struct
   while (again)
     {
       again = FALSE;
-      for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+      for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
 	{
 	  asection *o;
 
@@ -13036,8 +13095,8 @@ elf32_arm_is_target_special_symbol (bfd 
 
 static bfd_boolean
 arm_elf_find_function (bfd *         abfd ATTRIBUTE_UNUSED,
-		       asection *    section,
 		       asymbol **    symbols,
+		       asection *    section,
 		       bfd_vma       offset,
 		       const char ** filename_ptr,
 		       const char ** functionname_ptr)
@@ -13098,31 +13157,33 @@ arm_elf_find_function (bfd *         abf
 
 static bfd_boolean
 elf32_arm_find_nearest_line (bfd *          abfd,
-			     asection *     section,
 			     asymbol **     symbols,
+			     asection *     section,
 			     bfd_vma        offset,
 			     const char **  filename_ptr,
 			     const char **  functionname_ptr,
-			     unsigned int * line_ptr)
+			     unsigned int * line_ptr,
+			     unsigned int * discriminator_ptr)
 {
   bfd_boolean found = FALSE;
 
-  /* We skip _bfd_dwarf1_find_nearest_line since no known ARM toolchain uses it.  */
-
-  if (_bfd_dwarf2_find_nearest_line (abfd, dwarf_debug_sections,
-				     section, symbols, offset,
+  if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
 				     filename_ptr, functionname_ptr,
-				     line_ptr, NULL, 0,
+				     line_ptr, discriminator_ptr,
+				     dwarf_debug_sections, 0,
 				     & elf_tdata (abfd)->dwarf2_find_line_info))
     {
       if (!*functionname_ptr)
-	arm_elf_find_function (abfd, section, symbols, offset,
+	arm_elf_find_function (abfd, symbols, section, offset,
 			       *filename_ptr ? NULL : filename_ptr,
 			       functionname_ptr);
 
       return TRUE;
     }
 
+  /* Skip _bfd_dwarf1_find_nearest_line since no known ARM toolchain
+     uses DWARF1.  */
+
   if (! _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset,
 					     & found, filename_ptr,
 					     functionname_ptr, line_ptr,
@@ -13135,7 +13196,7 @@ elf32_arm_find_nearest_line (bfd *      
   if (symbols == NULL)
     return FALSE;
 
-  if (! arm_elf_find_function (abfd, section, symbols, offset,
+  if (! arm_elf_find_function (abfd, symbols, section, offset,
 			       filename_ptr, functionname_ptr))
     return FALSE;
 
@@ -13282,7 +13343,7 @@ elf32_arm_adjust_dynamic_symbol (struct 
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -13359,8 +13420,6 @@ allocate_dynrelocs_for_symbol (struct el
 	      h->target_internal = ST_BRANCH_TO_ARM;
 	    }
 
-	  htab->next_tls_desc_index++;
-
 	  /* VxWorks executables have a second set of relocations for
 	     each PLT entry.  They go in a separate relocation section,
 	     which is processed by the kernel loader.  */
@@ -13544,12 +13603,12 @@ allocate_dynrelocs_for_symbol (struct el
 
   if (info->shared || htab->root.is_relocatable_executable)
     {
-      /* The only relocs that use pc_count are R_ARM_REL32 and
-	 R_ARM_REL32_NOI, which will appear on something like
-	 ".long foo - .".  We want calls to protected symbols to resolve
-	 directly to the function rather than going via the plt.  If people
-	 want function pointer comparisons to work as expected then they
-	 should avoid writing assembly like ".long foo - .".  */
+      /* Relocs that use pc_count are PC-relative forms, which will appear
+	 on something like ".long foo - ." or "movw REG, foo - .".  We want
+	 calls to protected symbols to resolve directly to the function
+	 rather than going via the plt.  If people want function pointer
+	 comparisons to work as expected then they should avoid writing
+	 assembly like ".long foo - .".  */
       if (SYMBOL_CALLS_LOCAL (info, h))
 	{
 	  struct elf_dyn_relocs **pp;
@@ -13729,7 +13788,7 @@ elf32_arm_size_dynamic_sections (bfd * o
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -13906,7 +13965,7 @@ elf32_arm_size_dynamic_sections (bfd * o
   elf_link_hash_traverse (& htab->root, allocate_dynrelocs_for_symbol, info);
 
   /* Here we rummage through the found bfds to collect glue information.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       if (! is_arm_elf (ibfd))
 	continue;
@@ -14664,7 +14723,7 @@ elf32_arm_post_process_headers (bfd * ab
       && ((i_ehdrp->e_type == ET_DYN) || (i_ehdrp->e_type == ET_EXEC)))
     {
       int abi = bfd_elf_get_obj_attr_int (abfd, OBJ_ATTR_PROC, Tag_ABI_VFP_args);
-      if (abi)
+      if (abi == AEABI_VFP_args_vfp)
 	i_ehdrp->e_flags |= EF_ARM_ABI_FLOAT_HARD;
       else
 	i_ehdrp->e_flags |= EF_ARM_ABI_FLOAT_SOFT;
@@ -15072,7 +15131,7 @@ elf32_arm_output_arch_local_syms (bfd *o
      mapping symbols.  */
   for (input_bfd = info->input_bfds;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     {
       if ((input_bfd->flags & (BFD_LINKER_CREATED | HAS_SYMS)) == HAS_SYMS)
 	for (osi.sec = input_bfd->sections;
@@ -15230,7 +15289,7 @@ elf32_arm_output_arch_local_syms (bfd *o
       elf_link_hash_traverse (&htab->root, elf32_arm_output_plt_map, &osi);
       for (input_bfd = info->input_bfds;
 	   input_bfd != NULL;
-	   input_bfd = input_bfd->link_next)
+	   input_bfd = input_bfd->link.next)
 	{
 	  struct arm_local_iplt_info **local_iplt;
 	  unsigned int i, num_syms;
@@ -15861,9 +15920,10 @@ elf32_arm_add_symbol_hook (bfd *abfd, st
 			   Elf_Internal_Sym *sym, const char **namep,
 			   flagword *flagsp, asection **secp, bfd_vma *valp)
 {
-  if ((abfd->flags & DYNAMIC) == 0
-      && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-	  || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE))
+  if ((ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+      && (abfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
 
   if (elf32_arm_hash_table (info) == NULL)
@@ -15908,6 +15968,26 @@ const struct elf_size_info elf32_arm_siz
   bfd_elf32_swap_reloca_out
 };
 
+static bfd_vma
+read_code32 (const bfd *abfd, const bfd_byte *addr)
+{
+  /* V7 BE8 code is always little endian.  */
+  if ((elf_elfheader (abfd)->e_flags & EF_ARM_BE8) != 0)
+    return bfd_getl32 (addr);
+
+  return bfd_get_32 (abfd, addr);
+}
+
+static bfd_vma
+read_code16 (const bfd *abfd, const bfd_byte *addr)
+{
+  /* V7 BE8 code is always little endian.  */
+  if ((elf_elfheader (abfd)->e_flags & EF_ARM_BE8) != 0)
+    return bfd_getl16 (addr);
+
+  return bfd_get_16 (abfd, addr);
+}
+
 /* Return size of plt0 entry starting at ADDR
    or (bfd_vma) -1 if size can not be determined.  */
 
@@ -15917,7 +15997,7 @@ elf32_arm_plt0_size (const bfd *abfd, co
   bfd_vma first_word;
   bfd_vma plt0_size;
 
-  first_word = H_GET_32 (abfd, addr);
+  first_word = read_code32 (abfd, addr);
 
   if (first_word == elf32_arm_plt0_entry[0])
     plt0_size = 4 * ARRAY_SIZE (elf32_arm_plt0_entry);
@@ -15942,17 +16022,17 @@ elf32_arm_plt_size (const bfd *abfd, con
   const bfd_byte *addr = start + offset;
 
   /* PLT entry size if fixed on Thumb-only platforms.  */
-  if (H_GET_32(abfd, start) == elf32_thumb2_plt0_entry[0])
+  if (read_code32 (abfd, start) == elf32_thumb2_plt0_entry[0])
       return 4 * ARRAY_SIZE (elf32_thumb2_plt_entry);
 
   /* Respect Thumb stub if necessary.  */
-  if (H_GET_16(abfd, addr) == elf32_arm_plt_thumb_stub[0])
+  if (read_code16 (abfd, addr) == elf32_arm_plt_thumb_stub[0])
     {
       plt_size += 2 * ARRAY_SIZE(elf32_arm_plt_thumb_stub);
     }
 
   /* Strip immediate from first add.  */
-  first_insn = H_GET_32(abfd, addr + plt_size) & 0xffffff00;
+  first_insn = read_code32 (abfd, addr + plt_size) & 0xffffff00;
 
 #ifdef FOUR_WORD_PLT
   if (first_insn == elf32_arm_plt_entry[0])
@@ -16093,7 +16173,7 @@ elf32_arm_get_synthetic_symtab (bfd *abf
 #ifdef __QNXTARGET__
 #define ELF_MAXPAGESIZE			0x1000
 #else
-#define ELF_MAXPAGESIZE			0x8000
+#define ELF_MAXPAGESIZE			0x10000
 #endif
 #define ELF_MINPAGESIZE			0x1000
 #define ELF_COMMONPAGESIZE		0x1000
@@ -16105,7 +16185,6 @@ elf32_arm_get_synthetic_symtab (bfd *abf
 #define bfd_elf32_bfd_set_private_flags		elf32_arm_set_private_flags
 #define bfd_elf32_bfd_print_private_bfd_data	elf32_arm_print_private_bfd_data
 #define bfd_elf32_bfd_link_hash_table_create    elf32_arm_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free      elf32_arm_hash_table_free
 #define bfd_elf32_bfd_reloc_type_lookup		elf32_arm_reloc_type_lookup
 #define bfd_elf32_bfd_reloc_name_lookup		elf32_arm_reloc_name_lookup
 #define bfd_elf32_find_nearest_line	        elf32_arm_find_nearest_line
@@ -16244,8 +16323,6 @@ elf32_arm_nacl_plt_sym_val (bfd_vma i, c
 #undef  elf_backend_plt_sym_val
 #define elf_backend_plt_sym_val			elf32_arm_nacl_plt_sym_val
 
-#undef	ELF_MAXPAGESIZE
-#define ELF_MAXPAGESIZE			0x10000
 #undef	ELF_MINPAGESIZE
 #undef	ELF_COMMONPAGESIZE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-avr.c ./bfd/elf32-avr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-avr.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-avr.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* AVR-specific support for 32-bit ELF
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Denis Chertykov <denisc@overta.ru>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -33,13 +33,8 @@ static bfd_boolean debug_relax = FALSE;
 static bfd_boolean debug_stubs = FALSE;
 
 static bfd_reloc_status_type
-bfd_elf_avr_diff_reloc (bfd *abfd,
-              arelent *reloc_entry,
-              asymbol *symbol,
-              void *data,
-              asection *input_section,
-              bfd *output_bfd,
-              char **error_message);
+bfd_elf_avr_diff_reloc (bfd *, arelent *, asymbol *, void *,
+			asection *, bfd *, char **);
 
 /* Hash table initialization and handling.  Code is taken from the hppa port
    and adapted to the needs of AVR.  */
@@ -566,45 +561,86 @@ static reloc_howto_type elf_avr_howto_ta
 	 0xffffff,		/* src_mask */
 	 0xffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
-  HOWTO (R_AVR_DIFF8,      /* type */
-     0,             /* rightshift */
-     0, 			/* size (0 = byte, 1 = short, 2 = long) */
-     8, 			/* bitsize */
-     FALSE,         /* pc_relative */
-     0,             /* bitpos */
-     complain_overflow_bitfield, /* complain_on_overflow */
-     bfd_elf_avr_diff_reloc, /* special_function */
-     "R_AVR_DIFF8",     /* name */
-     FALSE,         /* partial_inplace */
-     0,             /* src_mask */
-     0xff,          /* dst_mask */
-     FALSE),        /* pcrel_offset */
-  HOWTO (R_AVR_DIFF16,     /* type */
-     0,             /* rightshift */
-     1,			/* size (0 = byte, 1 = short, 2 = long) */
-     16,			/* bitsize */
-     FALSE,         /* pc_relative */
-     0,             /* bitpos */
-     complain_overflow_bitfield, /* complain_on_overflow */
-     bfd_elf_avr_diff_reloc, /* special_function */
-     "R_AVR_DIFF16",     /* name */
-     FALSE,         /* partial_inplace */
-     0,             /* src_mask */
-     0xffff,        /* dst_mask */
-     FALSE),        /* pcrel_offset */
-  HOWTO (R_AVR_DIFF32,    /* type */
-     0,             /* rightshift */
-     2,         /* size (0 = byte, 1 = short, 2 = long) */
-     32,        /* bitsize */
-     FALSE,         /* pc_relative */
-     0,             /* bitpos */
-     complain_overflow_bitfield, /* complain_on_overflow */
-     bfd_elf_avr_diff_reloc, /* special_function */
-     "R_AVR_DIFF32",     /* name */
-     FALSE,         /* partial_inplace */
-     0,             /* src_mask */
-     0xffffffff,    /* dst_mask */ 
-     FALSE)         /* pcrel_offset */
+  HOWTO (R_AVR_DIFF8,		/* type */
+	 0,             	/* rightshift */
+	 0, 			/* size (0 = byte, 1 = short, 2 = long) */
+	 8, 			/* bitsize */
+	 FALSE,         	/* pc_relative */
+	 0,             	/* bitpos */
+	 complain_overflow_bitfield, /* complain_on_overflow */
+	 bfd_elf_avr_diff_reloc, /* special_function */
+	 "R_AVR_DIFF8",     	/* name */
+	 FALSE,         	/* partial_inplace */
+	 0,             	/* src_mask */
+	 0xff,          	/* dst_mask */
+	 FALSE),        	/* pcrel_offset */
+  HOWTO (R_AVR_DIFF16,  	/* type */
+	 0,             	/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,         	/* pc_relative */
+	 0,             	/* bitpos */
+	 complain_overflow_bitfield, /* complain_on_overflow */
+	 bfd_elf_avr_diff_reloc,/* special_function */
+	 "R_AVR_DIFF16",     	/* name */
+	 FALSE,         	/* partial_inplace */
+	 0,             	/* src_mask */
+	 0xffff,        	/* dst_mask */
+	 FALSE),        	/* pcrel_offset */
+  HOWTO (R_AVR_DIFF32,  	/* type */
+	 0,             	/* rightshift */
+	 2,         		/* size (0 = byte, 1 = short, 2 = long) */
+	 32,        		/* bitsize */
+	 FALSE,         	/* pc_relative */
+	 0,             	/* bitpos */
+	 complain_overflow_bitfield, /* complain_on_overflow */
+	 bfd_elf_avr_diff_reloc,/* special_function */
+	 "R_AVR_DIFF32",     	/* name */
+	 FALSE,         	/* partial_inplace */
+	 0,             	/* src_mask */
+	 0xffffffff,    	/* dst_mask */
+	 FALSE),        	/* pcrel_offset */
+  /* 7 bit immediate for LDS/STS in Tiny core.  */
+  HOWTO (R_AVR_LDS_STS_16,  /* type */
+	 0,                     /* rightshift */
+	 1,                     /* size (0 = byte, 1 = short, 2 = long) */
+	 7,                     /* bitsize */
+	 FALSE,                 /* pc_relative */
+	 0,                     /* bitpos */
+	 complain_overflow_dont,/* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_AVR_LDS_STS_16",    /* name */
+	 FALSE,                 /* partial_inplace */
+	 0xffff,                /* src_mask */
+	 0xffff,                /* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_AVR_PORT6,		/* type */
+	 0,			/* rightshift */
+	 0,			/* size (0 = byte, 1 = short, 2 = long) */
+	 6,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_AVR_PORT6",		/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffff,		/* src_mask */
+	 0xffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_AVR_PORT5,		/* type */
+	 0,			/* rightshift */
+	 0,			/* size (0 = byte, 1 = short, 2 = long) */
+	 5,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_AVR_PORT5",		/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffff,		/* src_mask */
+	 0xffffff,		/* dst_mask */
+	 FALSE) 		/* pcrel_offset */
 };
 
 /* Map BFD reloc types to AVR ELF reloc types.  */
@@ -649,7 +685,10 @@ static const struct avr_reloc_map avr_re
   { BFD_RELOC_AVR_8_HLO,            R_AVR_8_HLO8 },
   { BFD_RELOC_AVR_DIFF8,            R_AVR_DIFF8 },
   { BFD_RELOC_AVR_DIFF16,           R_AVR_DIFF16 },
-  { BFD_RELOC_AVR_DIFF32,           R_AVR_DIFF32 }
+  { BFD_RELOC_AVR_DIFF32,           R_AVR_DIFF32 },
+  { BFD_RELOC_AVR_LDS_STS_16,       R_AVR_LDS_STS_16},
+  { BFD_RELOC_AVR_PORT6,            R_AVR_PORT6},
+  { BFD_RELOC_AVR_PORT5,            R_AVR_PORT5}
 };
 
 /* Meant to be filled one day with the wrap around address for the
@@ -711,6 +750,24 @@ elf32_avr_link_hash_newfunc (struct bfd_
   return _bfd_elf_link_hash_newfunc (entry, table, string);
 }
 
+/* Free the derived linker hash table.  */
+
+static void
+elf32_avr_link_hash_table_free (bfd *obfd)
+{
+  struct elf32_avr_link_hash_table *htab
+    = (struct elf32_avr_link_hash_table *) obfd->link.hash;
+
+  /* Free the address mapping table.  */
+  if (htab->amt_stub_offsets != NULL)
+    free (htab->amt_stub_offsets);
+  if (htab->amt_destination_addr != NULL)
+    free (htab->amt_destination_addr);
+
+  bfd_hash_table_free (&htab->bstab);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create the derived linker hash table.  The AVR ELF port uses the derived
    hash table to keep information specific to the AVR ELF linker (without
    using static variables).  */
@@ -737,29 +794,15 @@ elf32_avr_link_hash_table_create (bfd *a
   /* Init the stub hash table too.  */
   if (!bfd_hash_table_init (&htab->bstab, stub_hash_newfunc,
                             sizeof (struct elf32_avr_stub_hash_entry)))
-    return NULL;
+    {
+      _bfd_elf_link_hash_table_free (abfd);
+      return NULL;
+    }
+  htab->etab.root.hash_table_free = elf32_avr_link_hash_table_free;
 
   return &htab->etab.root;
 }
 
-/* Free the derived linker hash table.  */
-
-static void
-elf32_avr_link_hash_table_free (struct bfd_link_hash_table *btab)
-{
-  struct elf32_avr_link_hash_table *htab
-    = (struct elf32_avr_link_hash_table *) btab;
-
-  /* Free the address mapping table.  */
-  if (htab->amt_stub_offsets != NULL)
-    free (htab->amt_stub_offsets);
-  if (htab->amt_destination_addr != NULL)
-    free (htab->amt_destination_addr);
-
-  bfd_hash_table_free (&htab->bstab);
-  _bfd_elf_link_hash_table_free (btab);
-}
-
 /* Calculates the effective distance of a pc relative jump/call.  */
 
 static int
@@ -816,7 +859,11 @@ avr_info_to_howto_rela (bfd *abfd ATTRIB
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_AVR_max);
+  if (r_type >= (unsigned int) R_AVR_max)
+    {
+      _bfd_error_handler (_("%A: invalid AVR reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_avr_howto_table[r_type];
 }
 
@@ -1223,6 +1270,37 @@ avr_final_link_relocate (reloc_howto_typ
       r = bfd_reloc_ok;
       break;
 
+   case R_AVR_LDS_STS_16:
+      contents += rel->r_offset;
+      srel = (bfd_signed_vma) relocation + rel->r_addend;
+      if ((srel & 0xFFFF) < 0x40 || (srel & 0xFFFF) > 0xbf)
+        return bfd_reloc_outofrange;
+      srel = srel & 0x7f;
+      x = bfd_get_16 (input_bfd, contents);
+      x |= (srel & 0x0f) | ((srel & 0x30) << 5) | ((srel & 0x40) << 2);
+      bfd_put_16 (input_bfd, x, contents);
+      break;
+
+    case R_AVR_PORT6:
+      contents += rel->r_offset;
+      srel = (bfd_signed_vma) relocation + rel->r_addend;
+      if ((srel & 0xffff) > 0x3f)
+        return bfd_reloc_outofrange;
+      x = bfd_get_16 (input_bfd, contents);
+      x = (x & 0xf9f0) | ((srel & 0x30) << 5) | (srel & 0x0f);
+      bfd_put_16 (input_bfd, x, contents);
+      break;
+
+    case R_AVR_PORT5:
+      contents += rel->r_offset;
+      srel = (bfd_signed_vma) relocation + rel->r_addend;
+      if ((srel & 0xffff) > 0x1f)
+        return bfd_reloc_outofrange;
+      x = bfd_get_16 (input_bfd, contents);
+      x = (x & 0xff07) | ((srel & 0x1f) << 3);
+      bfd_put_16 (input_bfd, x, contents);
+      break;
+
     default:
       r = _bfd_final_link_relocate (howto, input_bfd, input_section,
 				    contents, rel->r_offset,
@@ -1435,12 +1513,15 @@ bfd_elf_avr_final_write_processing (bfd 
     case bfd_mach_avrxmega7:
       val = E_AVR_MACH_XMEGA7;
       break;
+
+   case bfd_mach_avrtiny:
+      val = E_AVR_MACH_AVRTINY;
+      break;
     }
 
   elf_elfheader (abfd)->e_machine = EM_AVR;
   elf_elfheader (abfd)->e_flags &= ~ EF_AVR_MACH;
   elf_elfheader (abfd)->e_flags |= val;
-  elf_elfheader (abfd)->e_flags |= EF_AVR_LINKRELAX_PREPARED;
 }
 
 /* Set the right machine number.  */
@@ -1525,6 +1606,10 @@ elf32_avr_object_p (bfd *abfd)
 	case E_AVR_MACH_XMEGA7:
 	  e_set = bfd_mach_avrxmega7;
 	  break;
+
+    case E_AVR_MACH_AVRTINY:
+      e_set = bfd_mach_avrtiny;
+      break;
 	}
     }
   return bfd_default_set_arch_mach (abfd, bfd_arch_avr,
@@ -1541,9 +1626,9 @@ elf32_avr_is_diff_reloc (Elf_Internal_Re
           || ELF32_R_TYPE (irel->r_info) == R_AVR_DIFF32);
 }
 
-/* Reduce the diff value written in the section by count if the shrinked 
-   insn address happens to fall between the two symbols for which this 
-   diff reloc was emitted. */
+/* Reduce the diff value written in the section by count if the shrinked
+   insn address happens to fall between the two symbols for which this
+   diff reloc was emitted.  */
 
 static void
 elf32_avr_adjust_diff_reloc_value (bfd *abfd,
@@ -1598,11 +1683,11 @@ elf32_avr_adjust_diff_reloc_value (bfd *
   bfd_vma end_address = symval + irel->r_addend;
   bfd_vma start_address = end_address - x;
 
-  /* Reduce the diff value by count bytes and write it back into section 
+  /* Reduce the diff value by count bytes and write it back into section
     contents. */
 
-  if (shrinked_insn_address >= start_address && 
-      shrinked_insn_address <= end_address)
+  if (shrinked_insn_address >= start_address
+      && shrinked_insn_address <= end_address)
   {
     switch (ELF32_R_TYPE (irel->r_info))
     {
@@ -1799,10 +1884,22 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
       isymend = isym + symtab_hdr->sh_info;
       for (; isym < isymend; isym++)
 	{
-	  if (isym->st_shndx == sec_shndx
-	      && isym->st_value > addr
-	      && isym->st_value < toaddr)
-	    isym->st_value -= count;
+	  if (isym->st_shndx == sec_shndx)
+            {
+	      if (isym->st_value > addr
+                  && isym->st_value <= toaddr)
+                isym->st_value -= count;
+
+              if (isym->st_value <= addr
+                  && isym->st_value + isym->st_size > addr)
+                {
+                  /* If this assert fires then we have a symbol that ends
+                     part way through an instruction.  Does that make
+                     sense?  */
+                  BFD_ASSERT (isym->st_value + isym->st_size >= addr + count);
+                  isym->st_size -= count;
+                }
+            }
 	}
     }
 
@@ -1816,11 +1913,22 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
       struct elf_link_hash_entry *sym_hash = *sym_hashes;
       if ((sym_hash->root.type == bfd_link_hash_defined
            || sym_hash->root.type == bfd_link_hash_defweak)
-          && sym_hash->root.u.def.section == sec
-          && sym_hash->root.u.def.value > addr
-          && sym_hash->root.u.def.value < toaddr)
+          && sym_hash->root.u.def.section == sec)
         {
-          sym_hash->root.u.def.value -= count;
+          if (sym_hash->root.u.def.value > addr
+              && sym_hash->root.u.def.value <= toaddr)
+            sym_hash->root.u.def.value -= count;
+
+          if (sym_hash->root.u.def.value <= addr
+              && (sym_hash->root.u.def.value + sym_hash->size > addr))
+            {
+              /* If this assert fires then we have a symbol that ends
+                 part way through an instruction.  Does that make
+                 sense?  */
+              BFD_ASSERT (sym_hash->root.u.def.value + sym_hash->size
+                          >= addr + count);
+              sym_hash->size -= count;
+            }
         }
     }
 
@@ -1945,8 +2053,8 @@ elf32_avr_relax_section (bfd *abfd,
       bfd_vma symval;
 
       if (   ELF32_R_TYPE (irel->r_info) != R_AVR_13_PCREL
-	     && ELF32_R_TYPE (irel->r_info) != R_AVR_7_PCREL
-	     && ELF32_R_TYPE (irel->r_info) != R_AVR_CALL)
+	  && ELF32_R_TYPE (irel->r_info) != R_AVR_7_PCREL
+	  && ELF32_R_TYPE (irel->r_info) != R_AVR_CALL)
         continue;
 
       /* Get the section contents if we haven't done so already.  */
@@ -2373,7 +2481,7 @@ elf32_avr_relax_section (bfd *abfd,
 			  {
 			    Elf_Internal_Rela *rel;
 			    Elf_Internal_Rela *relend;
-              
+
 			    rel = elf_section_data (isec)->relocs;
 			    if (rel == NULL)
 			      rel = _bfd_elf_link_read_relocs (abfd, isec, NULL, NULL, TRUE);
@@ -2822,7 +2930,7 @@ elf32_avr_setup_section_lists (bfd *outp
   /* Count the number of input BFDs and find the top input section id.  */
   for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     {
       bfd_count += 1;
       for (section = input_bfd->sections;
@@ -2896,7 +3004,7 @@ get_local_syms (bfd *input_bfd, struct b
      export stubs.  */
   for (bfd_indx = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next, bfd_indx++)
+       input_bfd = input_bfd->link.next, bfd_indx++)
     {
       Elf_Internal_Shdr *symtab_hdr;
 
@@ -2973,7 +3081,7 @@ elf32_avr_size_stubs (bfd *output_bfd,
       bfd_hash_traverse (&htab->bstab, avr_mark_stub_not_to_be_necessary, htab);
       for (input_bfd = info->input_bfds, bfd_indx = 0;
            input_bfd != NULL;
-           input_bfd = input_bfd->link_next, bfd_indx++)
+           input_bfd = input_bfd->link.next, bfd_indx++)
         {
           Elf_Internal_Shdr *symtab_hdr;
           asection *section;
@@ -3249,7 +3357,6 @@ elf32_avr_build_stubs (struct bfd_link_i
 #define TARGET_LITTLE_NAME	"elf32-avr"
 
 #define bfd_elf32_bfd_link_hash_table_create elf32_avr_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free   elf32_avr_link_hash_table_free
 
 #define elf_info_to_howto	             avr_info_to_howto_rela
 #define elf_info_to_howto_rel	             NULL
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-avr.h ./bfd/elf32-avr.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-avr.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-avr.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* AVR-specific support for 32-bit ELF.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Written by Bjoern Haase <bjoern.m.haase@web.de>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-bfin.c ./bfd/elf32-bfin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-bfin.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-bfin.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ADI Blackfin BFD support for 32-bit ELF.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32.c ./bfd/elf32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF 32-bit executable support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-cr16.c ./bfd/elf32-cr16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-cr16.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-cr16.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for National Semiconductor's CR16 ELF
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
    Written by M R Swami Reddy.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -2437,7 +2437,7 @@ _bfd_cr16_elf_adjust_dynamic_symbol (str
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Set the sizes of the dynamic sections.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-cr16c.c ./bfd/elf32-cr16c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-cr16c.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-cr16c.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for National Semiconductor's CR16C ELF
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -180,7 +180,11 @@ elf_cr16c_info_to_howto_rel (bfd *abfd A
 {
   unsigned int r_type = ELF32_R_TYPE (dst->r_info);
 
-  BFD_ASSERT (r_type < (unsigned int) RINDEX_16C_MAX);
+  if (r_type >= RINDEX_16C_MAX)
+    {
+      _bfd_error_handler (_("%A; invalid CR16C reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_howto_table[r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-cris.c ./bfd/elf32-cris.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-cris.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-cris.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* CRIS-specific support for 32-bit ELF.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications AB.
    Written by Hans-Peter Nilsson, based on elf32-fr30.c
    PIC and shlib bits based primarily on elf32-m68k.c and elf32-i386.c.
@@ -461,7 +461,11 @@ cris_info_to_howto_rela (bfd * abfd ATTR
   enum elf_cris_reloc_type r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_CRIS_max);
+  if (r_type >= R_CRIS_max)
+    {
+      _bfd_error_handler (_("%A: invalid CRIS reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & cris_elf_howto_table [r_type];
 }
 
@@ -3054,7 +3058,7 @@ elf_cris_adjust_dynamic_symbol (struct b
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Adjust our "subclass" elements for an indirect symbol.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-crx.c ./bfd/elf32-crx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-crx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-crx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for National Semiconductor's CRX ELF
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Written by Tomer Levi, NSC, Israel.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-d10v.c ./bfd/elf32-d10v.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-d10v.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-d10v.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* D10V-specific support for 32-bit ELF
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Martin Hunt (hunt@cygnus.com).
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -228,7 +228,11 @@ d10v_info_to_howto_rel (bfd *abfd ATTRIB
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_D10V_max);
+  if (r_type >= (unsigned int) R_D10V_max)
+    {
+      _bfd_error_handler (_("%A: invalid D10V reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_d10v_howto_table[r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-d30v.c ./bfd/elf32-d30v.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-d30v.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-d30v.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* D30V-specific support for 32-bit ELF
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Martin Hunt (hunt@cygnus.com).
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -516,7 +516,11 @@ d30v_info_to_howto_rel (bfd *abfd ATTRIB
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_D30V_max);
+  if (r_type >= (unsigned int) R_D30V_max)
+    {
+      _bfd_error_handler (_("%A: invalid D30V reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_d30v_howto_table[r_type];
 }
 
@@ -530,7 +534,11 @@ d30v_info_to_howto_rela (bfd *abfd ATTRI
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_D30V_max);
+  if (r_type >= (unsigned int) R_D30V_max)
+    {
+      _bfd_error_handler (_("%A: invalid D30V reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_d30v_howto_table[r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-dlx.c ./bfd/elf32-dlx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-dlx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-dlx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* DLX specific support for 32-bit ELF
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -546,7 +546,11 @@ dlx_rtype_to_howto (unsigned int r_type)
     case R_DLX_RELOC_16_LO:
       return & elf_dlx_reloc_16_lo;
     default:
-      BFD_ASSERT (r_type < (unsigned int) R_DLX_max);
+      if (r_type >= (unsigned int) R_DLX_max)
+	{
+	  _bfd_error_handler (_("Invalid DLX reloc number: %d"), r_type);
+	  r_type = 0;
+	}
       return & dlx_elf_howto_table[r_type];
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-epiphany.c ./bfd/elf32-epiphany.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-epiphany.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-epiphany.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Adapteva epiphany specific support for 32-bit ELF
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Embecosm on behalf of Adapteva, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -370,6 +370,11 @@ epiphany_info_to_howto_rela (bfd * abfd 
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
+  if (r_type >= (unsigned int) R_EPIPHANY_max)
+    {
+      _bfd_error_handler (_("%A: invalid Epiphany reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & epiphany_elf_howto_table [r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-fr30.c ./bfd/elf32-fr30.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-fr30.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-fr30.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* FR30-specific support for 32-bit ELF.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -375,7 +375,11 @@ fr30_info_to_howto_rela (bfd *abfd ATTRI
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_FR30_max);
+  if (r_type >= (unsigned int) R_FR30_max)
+    {
+      _bfd_error_handler (_("%A: invalid FR30 reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & fr30_elf_howto_table [r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-frv.c ./bfd/elf32-frv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-frv.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-frv.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* FRV-specific support for 32-bit ELF.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -2557,6 +2557,11 @@ frv_info_to_howto_rela (bfd *abfd ATTRIB
       break;
 
     default:
+      if (r_type >= (unsigned int) R_FRV_max)
+	{
+	  _bfd_error_handler (_("%A: invalid FRV reloc number: %d"), abfd, r_type);
+	  r_type = 0;
+	}
       cache_ptr->howto = & elf32_frv_howto_table [r_type];
       break;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-gen.c ./bfd/elf32-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-gen.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-gen.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic support for 32-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-h8300.c ./bfd/elf32-h8300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-h8300.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-h8300.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Renesas H8/300 ELF binaries.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-hppa.c ./bfd/elf32-hppa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-hppa.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-hppa.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for HP PA-RISC ELF files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Original code by
 	Center for Software Science
@@ -407,6 +407,18 @@ hppa_link_hash_newfunc (struct bfd_hash_
   return entry;
 }
 
+/* Free the derived linker hash table.  */
+
+static void
+elf32_hppa_link_hash_table_free (bfd *obfd)
+{
+  struct elf32_hppa_link_hash_table *htab
+    = (struct elf32_hppa_link_hash_table *) obfd->link.hash;
+
+  bfd_hash_table_free (&htab->bstab);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create the derived linker hash table.  The PA ELF port uses the derived
    hash table to keep information specific to the PA ELF linker (without
    using static variables).  */
@@ -432,25 +444,17 @@ elf32_hppa_link_hash_table_create (bfd *
   /* Init the stub hash table too.  */
   if (!bfd_hash_table_init (&htab->bstab, stub_hash_newfunc,
 			    sizeof (struct elf32_hppa_stub_hash_entry)))
-    return NULL;
+    {
+      _bfd_elf_link_hash_table_free (abfd);
+      return NULL;
+    }
+  htab->etab.root.hash_table_free = elf32_hppa_link_hash_table_free;
 
   htab->text_segment_base = (bfd_vma) -1;
   htab->data_segment_base = (bfd_vma) -1;
   return &htab->etab.root;
 }
 
-/* Free the derived linker hash table.  */
-
-static void
-elf32_hppa_link_hash_table_free (struct bfd_link_hash_table *btab)
-{
-  struct elf32_hppa_link_hash_table *htab
-    = (struct elf32_hppa_link_hash_table *) btab;
-
-  bfd_hash_table_free (&htab->bstab);
-  _bfd_elf_link_hash_table_free (btab);
-}
-
 /* Build a name for an entry in the stub hash table.  */
 
 static char *
@@ -1911,7 +1915,7 @@ elf32_hppa_adjust_dynamic_symbol (struct
 
   sec = htab->sdynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (eh, sec);
+  return _bfd_elf_adjust_dynamic_copy (info, eh, sec);
 }
 
 /* Allocate space in the .plt for entries that won't have relocations.
@@ -2228,7 +2232,7 @@ elf32_hppa_size_dynamic_sections (bfd *o
 
   /* Set up .got and .plt offsets for local syms, and space for local
      dynamic relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -2503,7 +2507,7 @@ elf32_hppa_setup_section_lists (bfd *out
   /* Count the number of input BFDs and find the top input section id.  */
   for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     {
       bfd_count += 1;
       for (section = input_bfd->sections;
@@ -2694,7 +2698,7 @@ get_local_syms (bfd *output_bfd, bfd *in
      export stubs.  */
   for (bfd_indx = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next, bfd_indx++)
+       input_bfd = input_bfd->link.next, bfd_indx++)
     {
       Elf_Internal_Shdr *symtab_hdr;
 
@@ -2868,7 +2872,7 @@ elf32_hppa_size_stubs
 
       for (input_bfd = info->input_bfds, bfd_indx = 0;
 	   input_bfd != NULL;
-	   input_bfd = input_bfd->link_next, bfd_indx++)
+	   input_bfd = input_bfd->link.next, bfd_indx++)
 	{
 	  Elf_Internal_Shdr *symtab_hdr;
 	  asection *section;
@@ -4625,7 +4629,6 @@ elf32_hppa_elf_get_symbol_type (Elf_Inte
 /* Stuff for the BFD linker.  */
 #define bfd_elf32_bfd_final_link	     elf32_hppa_final_link
 #define bfd_elf32_bfd_link_hash_table_create elf32_hppa_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free   elf32_hppa_link_hash_table_free
 #define elf_backend_adjust_dynamic_symbol    elf32_hppa_adjust_dynamic_symbol
 #define elf_backend_copy_indirect_symbol     elf32_hppa_copy_indirect_symbol
 #define elf_backend_check_relocs	     elf32_hppa_check_relocs
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-hppa.h ./bfd/elf32-hppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-hppa.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-hppa.h	2015-01-20 02:05:36.000000000 +0000
@@ -4,7 +4,7 @@
    in the Stratus FTX/Golf Object File Format (SED-1762) dated
    February 1994.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Written by:
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-i370.c ./bfd/elf32-i370.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-i370.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-i370.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* i370-specific support for 32-bit ELF
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
    Hacked by Linas Vepstas for i370 linas@linas.org
 
@@ -534,7 +534,7 @@ i370_elf_adjust_dynamic_symbol (struct b
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Increment the index of a dynamic symbol by a given amount.  Called
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-i386.c ./bfd/elf32-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-i386.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-i386.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Intel 80386/80486-specific support for 32-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -379,7 +379,9 @@ elf_i386_rtype_to_howto (bfd *abfd, unsi
 			     abfd, (int) r_type);
       indx = R_386_NONE;
     }
-  BFD_ASSERT (elf_howto_table [indx].type == r_type);
+  /* PR 17512: file: 0f67f69d.  */
+  if (elf_howto_table [indx].type != r_type)
+    return NULL;
   return &elf_howto_table[indx];
 }
 
@@ -580,6 +582,24 @@ static const bfd_byte elf_i386_pic_plt_e
   0, 0, 0, 0	/* replaced with offset to start of .plt.  */
 };
 
+/* Entries in the GOT procedure linkage table look like this.  */
+
+static const bfd_byte elf_i386_got_plt_entry[8] =
+{
+  0xff, 0x25,	/* jmp indirect */
+  0, 0, 0, 0,	/* replaced with offset of this symbol in .got.  */
+  0x66, 0x90	/* xchg %ax,%ax  */
+};
+
+/* Entries in the PIC GOT procedure linkage table look like this.  */
+
+static const bfd_byte elf_i386_pic_got_plt_entry[8] =
+{
+  0xff, 0xa3,	/* jmp *offset(%ebx)  */
+  0, 0, 0, 0,	/* replaced with offset of this symbol in .got.  */
+  0x66, 0x90	/* xchg %ax,%ax  */
+};
+
 /* .eh_frame covering the .plt section.  */
 
 static const bfd_byte elf_i386_eh_frame_plt[] =
@@ -736,6 +756,10 @@ struct elf_i386_link_hash_entry
   (GOT_TLS_GD_P (type) || GOT_TLS_GDESC_P (type))
   unsigned char tls_type;
 
+  /* Information about the GOT PLT entry. Filled when there are both
+     GOT and PLT relocations against the same function.  */
+  union gotplt_union plt_got;
+
   /* Offset of the GOTPLT entry reserved for the TLS descriptor,
      starting at the end of the jump table.  */
   bfd_vma tlsdesc_got;
@@ -785,6 +809,7 @@ struct elf_i386_link_hash_table
   asection *sdynbss;
   asection *srelbss;
   asection *plt_eh_frame;
+  asection *plt_got;
 
   union
   {
@@ -826,7 +851,7 @@ struct elf_i386_link_hash_table
   == I386_ELF_DATA ? ((struct elf_i386_link_hash_table *) ((p)->hash)) : NULL)
 
 #define elf_i386_compute_jump_table_size(htab) \
-  ((htab)->next_tls_desc_index * 4)
+  ((htab)->elf.srelplt->reloc_count * 4)
 
 /* Create an entry in an i386 ELF linker hash table.  */
 
@@ -854,6 +879,7 @@ elf_i386_link_hash_newfunc (struct bfd_h
       eh = (struct elf_i386_link_hash_entry *) entry;
       eh->dyn_relocs = NULL;
       eh->tls_type = GOT_UNKNOWN;
+      eh->plt_got.offset = (bfd_vma) -1;
       eh->tlsdesc_got = (bfd_vma) -1;
     }
 
@@ -922,11 +948,27 @@ elf_i386_get_local_sym_hash (struct elf_
       ret->elf.indx = sec->id;
       ret->elf.dynstr_index = ELF32_R_SYM (rel->r_info);
       ret->elf.dynindx = -1;
+      ret->plt_got.offset = (bfd_vma) -1;
       *slot = ret;
     }
   return &ret->elf;
 }
 
+/* Destroy an i386 ELF linker hash table.  */
+
+static void
+elf_i386_link_hash_table_free (bfd *obfd)
+{
+  struct elf_i386_link_hash_table *htab
+    = (struct elf_i386_link_hash_table *) obfd->link.hash;
+
+  if (htab->loc_hash_table)
+    htab_delete (htab->loc_hash_table);
+  if (htab->loc_hash_memory)
+    objalloc_free ((struct objalloc *) htab->loc_hash_memory);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create an i386 ELF linker hash table.  */
 
 static struct bfd_link_hash_table *
@@ -955,28 +997,14 @@ elf_i386_link_hash_table_create (bfd *ab
   ret->loc_hash_memory = objalloc_create ();
   if (!ret->loc_hash_table || !ret->loc_hash_memory)
     {
-      free (ret);
+      elf_i386_link_hash_table_free (abfd);
       return NULL;
     }
+  ret->elf.root.hash_table_free = elf_i386_link_hash_table_free;
 
   return &ret->elf.root;
 }
 
-/* Destroy an i386 ELF linker hash table.  */
-
-static void
-elf_i386_link_hash_table_free (struct bfd_link_hash_table *hash)
-{
-  struct elf_i386_link_hash_table *htab
-    = (struct elf_i386_link_hash_table *) hash;
-
-  if (htab->loc_hash_table)
-    htab_delete (htab->loc_hash_table);
-  if (htab->loc_hash_memory)
-    objalloc_free ((struct objalloc *) htab->loc_hash_memory);
-  _bfd_elf_link_hash_table_free (hash);
-}
-
 /* Create .plt, .rel.plt, .got, .got.plt, .rel.got, .dynbss, and
    .rel.bss sections in DYNOBJ, and set up shortcuts to them in our
    hash table.  */
@@ -1417,6 +1445,7 @@ elf_i386_check_relocs (bfd *abfd,
   const Elf_Internal_Rela *rel;
   const Elf_Internal_Rela *rel_end;
   asection *sreloc;
+  bfd_boolean use_plt_got;
 
   if (info->relocatable)
     return TRUE;
@@ -1427,6 +1456,10 @@ elf_i386_check_relocs (bfd *abfd,
   if (htab == NULL)
     return FALSE;
 
+  use_plt_got = (!get_elf_i386_backend_data (abfd)->is_vxworks
+		 && (get_elf_i386_backend_data (abfd)
+		     == &elf_i386_arch_bed));
+
   symtab_hdr = &elf_symtab_hdr (abfd);
   sym_hashes = elf_sym_hashes (abfd);
 
@@ -1818,6 +1851,39 @@ do_size:
 	default:
 	  break;
 	}
+
+      if (use_plt_got
+	  && h != NULL
+	  && h->plt.refcount > 0
+	  && h->got.refcount > 0
+	  && htab->plt_got == NULL)
+	{
+	  /* Create the GOT procedure linkage table.  */
+	  unsigned int plt_got_align;
+	  const struct elf_backend_data *bed;
+
+	  bed = get_elf_backend_data (info->output_bfd);
+	  BFD_ASSERT (sizeof (elf_i386_got_plt_entry) == 8
+		      && (sizeof (elf_i386_got_plt_entry)
+			  == sizeof (elf_i386_pic_got_plt_entry)));
+	  plt_got_align = 3;
+
+	  if (htab->elf.dynobj == NULL)
+	    htab->elf.dynobj = abfd;
+	  htab->plt_got
+	    = bfd_make_section_anyway_with_flags (htab->elf.dynobj,
+						  ".plt.got",
+						  (bed->dynamic_sec_flags
+						   | SEC_ALLOC
+						   | SEC_CODE
+						   | SEC_LOAD
+						   | SEC_READONLY));
+	  if (htab->plt_got == NULL
+	      || !bfd_set_section_alignment (htab->elf.dynobj,
+					     htab->plt_got,
+					     plt_got_align))
+	    return FALSE;
+	}
     }
 
   return TRUE;
@@ -2163,7 +2229,7 @@ elf_i386_adjust_dynamic_symbol (struct b
 
   s = htab->sdynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2190,6 +2256,24 @@ elf_i386_allocate_dynrelocs (struct elf_
 
   plt_entry_size = GET_PLT_ENTRY_SIZE (info->output_bfd);
 
+  /* We can't use the GOT PLT if pointer equality is needed since
+     finish_dynamic_symbol won't clear symbol value and the dynamic
+     linker won't update the GOT slot.  We will get into an infinite
+     loop at run-time.  */
+  if (htab->plt_got != NULL
+      && h->type != STT_GNU_IFUNC
+      && !h->pointer_equality_needed
+      && h->plt.refcount > 0
+      && h->got.refcount > 0)
+    {
+      /* Don't use the regular PLT if there are both GOT and GOTPLT
+         reloctions.  */
+      h->plt.offset = (bfd_vma) -1;
+
+      /* Use the GOT PLT.  */
+      eh->plt_got.refcount = 1;
+    }
+
   /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it
      here if it is defined and referenced in a non-shared object.  */
   if (h->type == STT_GNU_IFUNC
@@ -2198,8 +2282,10 @@ elf_i386_allocate_dynrelocs (struct elf_
                                                plt_entry_size,
 					       plt_entry_size, 4);
   else if (htab->elf.dynamic_sections_created
-	   && h->plt.refcount > 0)
+	   && (h->plt.refcount > 0 || eh->plt_got.refcount > 0))
     {
+      bfd_boolean use_plt_got = eh->plt_got.refcount > 0;
+
       /* Make sure this symbol is output as a dynamic symbol.
 	 Undefined weak syms won't yet be marked as dynamic.  */
       if (h->dynindx == -1
@@ -2213,13 +2299,17 @@ elf_i386_allocate_dynrelocs (struct elf_
 	  || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, 0, h))
 	{
 	  asection *s = htab->elf.splt;
+	  asection *got_s = htab->plt_got;
 
 	  /* If this is the first .plt entry, make room for the special
 	     first entry.  */
 	  if (s->size == 0)
 	    s->size = plt_entry_size;
 
-	  h->plt.offset = s->size;
+	  if (use_plt_got)
+	    eh->plt_got.offset = got_s->size;
+	  else
+	    h->plt.offset = s->size;
 
 	  /* If this symbol is not defined in a regular file, and we are
 	     not generating a shared library, then set the symbol to this
@@ -2229,20 +2319,36 @@ elf_i386_allocate_dynrelocs (struct elf_
 	  if (! info->shared
 	      && !h->def_regular)
 	    {
-	      h->root.u.def.section = s;
-	      h->root.u.def.value = h->plt.offset;
+	      if (use_plt_got)
+		{
+		  /* We need to make a call to the entry of the GOT PLT
+		     instead of regular PLT entry.  */
+		  h->root.u.def.section = got_s;
+		  h->root.u.def.value = eh->plt_got.offset;
+		}
+	      else
+		{
+		  h->root.u.def.section = s;
+		  h->root.u.def.value = h->plt.offset;
+		}
 	    }
 
 	  /* Make room for this entry.  */
-	  s->size += plt_entry_size;
+	  if (use_plt_got)
+	    got_s->size += sizeof (elf_i386_got_plt_entry);
+	  else
+	    {
+	      s->size += plt_entry_size;
 
-	  /* We also need to make an entry in the .got.plt section, which
-	     will be placed in the .got section by the linker script.  */
-	  htab->elf.sgotplt->size += 4;
-
-	  /* We also need to make an entry in the .rel.plt section.  */
-	  htab->elf.srelplt->size += sizeof (Elf32_External_Rel);
-	  htab->elf.srelplt->reloc_count++;
+	      /* We also need to make an entry in the .got.plt section,
+		 which will be placed in the .got section by the linker
+		 script.  */
+	      htab->elf.sgotplt->size += 4;
+
+	      /* We also need to make an entry in the .rel.plt section.  */
+	      htab->elf.srelplt->size += sizeof (Elf32_External_Rel);
+	      htab->elf.srelplt->reloc_count++;
+	    }
 
 	  if (get_elf_i386_backend_data (info->output_bfd)->is_vxworks
               && !info->shared)
@@ -2532,7 +2638,7 @@ elf_i386_convert_mov_to_lea (bfd *abfd, 
   /* Nothing to do if there are no codes, no relocations or no output.  */
   if ((sec->flags & (SEC_CODE | SEC_RELOC)) != (SEC_CODE | SEC_RELOC)
       || sec->reloc_count == 0
-      || discarded_section (sec))
+      || bfd_is_abs_section (sec->output_section))
     return TRUE;
 
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
@@ -2579,6 +2685,7 @@ elf_i386_convert_mov_to_lea (bfd *abfd, 
 
 	  /* STT_GNU_IFUNC must keep R_386_GOT32 relocation.  */
 	  if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC
+	      && irel->r_offset >= 2
 	      && bfd_get_8 (input_bfd,
 			    contents + irel->r_offset - 2) == 0x8b)
 	    {
@@ -2608,6 +2715,7 @@ elf_i386_convert_mov_to_lea (bfd *abfd, 
 	  && h->type != STT_GNU_IFUNC
 	  && h != htab->elf.hdynamic
 	  && SYMBOL_REFERENCES_LOCAL (link_info, h)
+	  && irel->r_offset >= 2
 	  && bfd_get_8 (input_bfd,
 			contents + irel->r_offset - 2) == 0x8b)
 	{
@@ -2686,7 +2794,7 @@ elf_i386_size_dynamic_sections (bfd *out
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -2883,6 +2991,7 @@ elf_i386_size_dynamic_sections (bfd *out
       else if (s == htab->elf.sgotplt
 	       || s == htab->elf.iplt
 	       || s == htab->elf.igotplt
+	       || s == htab->plt_got
 	       || s == htab->plt_eh_frame
 	       || s == htab->sdynbss)
 	{
@@ -3180,15 +3289,17 @@ elf_i386_relocate_section (bfd *output_b
       reloc_howto_type *howto;
       unsigned long r_symndx;
       struct elf_link_hash_entry *h;
+      struct elf_i386_link_hash_entry *eh;
       Elf_Internal_Sym *sym;
       asection *sec;
-      bfd_vma off, offplt;
+      bfd_vma off, offplt, plt_offset;
       bfd_vma relocation;
       bfd_boolean unresolved_reloc;
       bfd_reloc_status_type r;
       unsigned int indx;
       int tls_type;
       bfd_vma st_size;
+      asection *resolved_plt;
 
       r_type = ELF32_R_TYPE (rel->r_info);
       if (r_type == R_386_GNU_VTINHERIT
@@ -3662,7 +3773,9 @@ elf_i386_relocate_section (bfd *output_b
 	  if (h == NULL)
 	    break;
 
-	  if (h->plt.offset == (bfd_vma) -1
+	  eh = (struct elf_i386_link_hash_entry *) h;
+	  if ((h->plt.offset == (bfd_vma) -1
+	       && eh->plt_got.offset == (bfd_vma) -1)
 	      || htab->elf.splt == NULL)
 	    {
 	      /* We didn't make a PLT entry for this symbol.  This
@@ -3671,9 +3784,20 @@ elf_i386_relocate_section (bfd *output_b
 	      break;
 	    }
 
-	  relocation = (htab->elf.splt->output_section->vma
-			+ htab->elf.splt->output_offset
-			+ h->plt.offset);
+	  if (h->plt.offset != (bfd_vma) -1)
+	    {
+	      resolved_plt = htab->elf.splt;
+	      plt_offset = h->plt.offset;
+	    }
+	  else
+	    {
+	      resolved_plt = htab->plt_got;
+	      plt_offset = eh->plt_got.offset;
+	    }
+
+	  relocation = (resolved_plt->output_section->vma
+			+ resolved_plt->output_offset
+			+ plt_offset);
 	  unresolved_reloc = FALSE;
 	  break;
 
@@ -4424,6 +4548,7 @@ elf_i386_finish_dynamic_symbol (bfd *out
   struct elf_i386_link_hash_table *htab;
   unsigned plt_entry_size;
   const struct elf_i386_backend_data *abed;
+  struct elf_i386_link_hash_entry *eh;
 
   htab = elf_i386_hash_table (info);
   if (htab == NULL)
@@ -4432,6 +4557,8 @@ elf_i386_finish_dynamic_symbol (bfd *out
   abed = get_elf_i386_backend_data (output_bfd);
   plt_entry_size = GET_PLT_ENTRY_SIZE (output_bfd);
 
+  eh = (struct elf_i386_link_hash_entry *) h;
+
   if (h->plt.offset != (bfd_vma) -1)
     {
       bfd_vma plt_index;
@@ -4596,21 +4723,65 @@ elf_i386_finish_dynamic_symbol (bfd *out
 		      plt->contents + h->plt.offset
                       + abed->plt->plt_plt_offset);
 	}
+    }
+  else if (eh->plt_got.offset != (bfd_vma) -1)
+    {
+      bfd_vma got_offset, plt_offset;
+      asection *plt, *got, *gotplt;
+      const bfd_byte *got_plt_entry;
+
+      /* Offset of displacement of the indirect jump.  */
+      bfd_vma plt_got_offset = 2;
+
+      /* Set the entry in the GOT procedure linkage table.  */
+      plt = htab->plt_got;
+      got = htab->elf.sgot;
+      gotplt = htab->elf.sgotplt;
+      got_offset = h->got.offset;
 
-      if (!h->def_regular)
+      if (got_offset == (bfd_vma) -1
+	  || plt == NULL
+	  || got == NULL
+	  || gotplt == NULL)
+	abort ();
+
+      /* Fill in the entry in the GOT procedure linkage table.  */
+      if (! info->shared)
 	{
-	  /* Mark the symbol as undefined, rather than as defined in
-	     the .plt section.  Leave the value if there were any
-	     relocations where pointer equality matters (this is a clue
-	     for the dynamic linker, to make function pointer
-	     comparisons work between an application and shared
-	     library), otherwise set it to zero.  If a function is only
-	     called from a binary, there is no need to slow down
-	     shared libraries because of that.  */
-	  sym->st_shndx = SHN_UNDEF;
-	  if (!h->pointer_equality_needed)
-	    sym->st_value = 0;
+	  got_plt_entry = elf_i386_got_plt_entry;
+	  got_offset += got->output_section->vma + got->output_offset;
 	}
+      else
+	{
+	  got_plt_entry = elf_i386_pic_got_plt_entry;
+	  got_offset += (got->output_section->vma
+			 + got->output_offset
+			 - gotplt->output_section->vma
+			 - gotplt->output_offset);
+	}
+
+      plt_offset = eh->plt_got.offset;
+      memcpy (plt->contents + plt_offset, got_plt_entry,
+	      sizeof (elf_i386_got_plt_entry));
+      bfd_put_32 (output_bfd, got_offset,
+		  plt->contents + plt_offset + plt_got_offset);
+    }
+
+  if (!h->def_regular
+      && (h->plt.offset != (bfd_vma) -1
+	  || eh->plt_got.offset != (bfd_vma) -1))
+    {
+      /* Mark the symbol as undefined, rather than as defined in
+	 the .plt section.  Leave the value if there were any
+	 relocations where pointer equality matters (this is a clue
+	 for the dynamic linker, to make function pointer
+	 comparisons work between an application and shared
+	 library), otherwise set it to zero.  If a function is only
+	 called from a binary, there is no need to slow down
+	 shared libraries because of that.  */
+      sym->st_shndx = SHN_UNDEF;
+      if (!h->pointer_equality_needed)
+	sym->st_value = 0;
     }
 
   if (h->got.offset != (bfd_vma) -1
@@ -5023,6 +5194,10 @@ bad_return:
     {
       long reloc_index;
 
+      /* Skip unknown relocation.  PR 17512: file: bc9d6cf5.  */
+      if (p->howto == NULL)
+	continue;
+
       if (p->howto->type != R_386_JUMP_SLOT
 	  && p->howto->type != R_386_IRELATIVE)
 	continue;
@@ -5076,16 +5251,17 @@ elf_i386_hash_symbol (struct elf_link_ha
 
 static bfd_boolean
 elf_i386_add_symbol_hook (bfd * abfd,
-			  struct bfd_link_info * info ATTRIBUTE_UNUSED,
+			  struct bfd_link_info * info,
 			  Elf_Internal_Sym * sym,
 			  const char ** namep ATTRIBUTE_UNUSED,
 			  flagword * flagsp ATTRIBUTE_UNUSED,
 			  asection ** secp ATTRIBUTE_UNUSED,
 			  bfd_vma * valp ATTRIBUTE_UNUSED)
 {
-  if ((abfd->flags & DYNAMIC) == 0
-      && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-	  || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE))
+  if ((ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+      && (abfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
 
   return TRUE;
@@ -5114,7 +5290,6 @@ elf_i386_add_symbol_hook (bfd * abfd,
 
 #define bfd_elf32_bfd_is_local_label_name     elf_i386_is_local_label_name
 #define bfd_elf32_bfd_link_hash_table_create  elf_i386_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free    elf_i386_link_hash_table_free
 #define bfd_elf32_bfd_reloc_type_lookup	      elf_i386_reloc_type_lookup
 #define bfd_elf32_bfd_reloc_name_lookup	      elf_i386_reloc_name_lookup
 #define bfd_elf32_get_synthetic_symtab	      elf_i386_get_synthetic_symtab
@@ -5161,8 +5336,11 @@ elf_i386_fbsd_post_process_headers (bfd 
   _bfd_elf_post_process_headers (abfd, info);
 
 #ifdef OLD_FREEBSD_ABI_LABEL
-  /* The ABI label supported by FreeBSD <= 4.0 is quite nonstandard.  */
-  memcpy (&i_ehdrp->e_ident[EI_ABIVERSION], "FreeBSD", 8);
+  {
+    /* The ABI label supported by FreeBSD <= 4.0 is quite nonstandard.  */
+    Elf_Internal_Ehdr *i_ehdrp = elf_elfheader (abfd);
+    memcpy (&i_ehdrp->e_ident[EI_ABIVERSION], "FreeBSD", 8);
+  }
 #endif
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-i860.c ./bfd/elf32-i860.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-i860.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-i860.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Intel i860 specific support for 32-bit ELF.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Full i860 support contributed by Jason Eckhardt <jle@cygnus.com>.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-i960.c ./bfd/elf32-i960.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-i960.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-i960.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Intel 960 specific support for 32-bit ELF
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -132,7 +132,13 @@ elf32_i960_info_to_howto_rel (bfd *abfd 
   enum elf_i960_reloc_type type;
 
   type = (enum elf_i960_reloc_type) ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (type < R_960_max);
+
+  /* PR 17521: file: 9609b8d6.  */
+  if (type >= R_960_max)
+    {
+      _bfd_error_handler (_("%A; invalid i960 reloc number: %d"), abfd, type);
+      type = 0;
+    }
 
   cache_ptr->howto = &elf_howto_table[(int) type];
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-ip2k.c ./bfd/elf32-ip2k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-ip2k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-ip2k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Ubicom IP2xxx specific support for 32-bit ELF
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -1239,6 +1239,11 @@ ip2k_info_to_howto_rela (bfd * abfd ATTR
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
+  if (r_type >= (unsigned int) R_IP2K_max)
+    {
+      _bfd_error_handler (_("%A: invalid IP2K reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & ip2k_elf_howto_table [r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-iq2000.c ./bfd/elf32-iq2000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-iq2000.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-iq2000.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IQ2000-specific support for 32-bit ELF.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -435,6 +435,11 @@ iq2000_info_to_howto_rela (bfd * abfd AT
       break;
 
     default:
+      if (r_type >= (unsigned int) R_IQ2000_max)
+	{
+	  _bfd_error_handler (_("%A: invalid IQ2000 reloc number: %d"), abfd, r_type);
+	  r_type = 0;
+	}
       cache_ptr->howto = & iq2000_elf_howto_table [r_type];
       break;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-lm32.c ./bfd/elf32-lm32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-lm32.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-lm32.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Lattice Mico32-specific support for 32-bit ELF
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Jon Beniston <jon@beniston.com>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -588,7 +588,11 @@ lm32_info_to_howto_rela (bfd *abfd ATTRI
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_LM32_max);
+  if (r_type >= (unsigned int) R_LM32_max)
+    {
+      _bfd_error_handler (_("%A: invalid LM32 reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &lm32_elf_howto_table[r_type];
 }
 
@@ -1892,7 +1896,7 @@ lm32_elf_adjust_dynamic_symbol (struct b
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2146,7 +2150,7 @@ lm32_elf_size_dynamic_sections (bfd *out
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -2324,7 +2328,7 @@ lm32_elf_size_dynamic_sections (bfd *out
       int r32_count = 0;
       int rgot_count = 0;
       /* Look for deleted sections.  */
-      for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+      for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
         {
           for (s = ibfd->sections; s != NULL; s = s->next)
             {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m32c.c ./bfd/elf32-m32c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m32c.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-m32c.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* M16C/M32C specific support for 32-bit ELF.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -297,7 +297,11 @@ m32c_info_to_howto_rela
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_M32C_max);
+  if (r_type >= (unsigned int) R_M32C_max)
+    {
+      _bfd_error_handler (_("%A: invalid M32C reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & m32c_elf_howto_table [r_type];
 }
 
@@ -1110,7 +1114,7 @@ m32c_elf_relax_plt_section (asection *sp
 
   /* Likewise for local symbols, though that's somewhat less convenient
      as we have to walk the list of input bfds and swap in symbol data.  */
-  for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
     {
       bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
       Elf_Internal_Shdr *symtab_hdr;
@@ -1184,7 +1188,7 @@ m32c_elf_relax_plt_section (asection *sp
       elf_link_hash_traverse (elf_hash_table (info),
 			      m32c_relax_plt_realloc, &entry);
 
-      for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
+      for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
 	{
 	  bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
 	  unsigned int nlocals = elf_tdata (ibfd)->symtab_hdr.sh_info;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m32r.c ./bfd/elf32-m32r.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m32r.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-m32r.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* M32R-specific support for 32-bit ELF.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -1280,7 +1280,11 @@ m32r_info_to_howto_rel (bfd *abfd ATTRIB
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (ELF32_R_TYPE(dst->r_info) <= (unsigned int) R_M32R_GNU_VTENTRY);
+  if (r_type > (unsigned int) R_M32R_GNU_VTENTRY)
+    {
+      _bfd_error_handler (_("%A: invalid M32R reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &m32r_elf_howto_table[r_type];
 }
 
@@ -1919,7 +1923,7 @@ m32r_elf_adjust_dynamic_symbol (struct b
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2177,7 +2181,7 @@ m32r_elf_size_dynamic_sections (bfd *out
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68hc11.c ./bfd/elf32-m68hc11.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68hc11.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-m68hc11.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Motorola 68HC11-specific support for 32-bit ELF
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Stephane Carrez (stcarrez@nerim.fr)
    (Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
 
@@ -384,7 +384,11 @@ m68hc11_info_to_howto_rel (bfd *abfd ATT
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_M68HC11_max);
+  if (r_type >= (unsigned int) R_M68HC11_max)
+    {
+      _bfd_error_handler (_("%A: invalid M68HC11 reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_m68hc11_howto_table[r_type];
 }
 
@@ -1305,8 +1309,6 @@ static const struct bfd_elf_special_sect
 
 #define bfd_elf32_bfd_link_hash_table_create \
                                 m68hc11_elf_bfd_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free \
-				m68hc11_elf_bfd_link_hash_table_free
 #define bfd_elf32_bfd_merge_private_bfd_data \
 					_bfd_m68hc11_elf_merge_private_bfd_data
 #define bfd_elf32_bfd_set_private_flags	_bfd_m68hc11_elf_set_private_flags
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68hc12.c ./bfd/elf32-m68hc12.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68hc12.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-m68hc12.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Motorola 68HC12-specific support for 32-bit ELF
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Stephane Carrez (stcarrez@nerim.fr)
    (Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
 
@@ -504,7 +504,11 @@ m68hc11_info_to_howto_rel (bfd *abfd ATT
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_M68HC11_max);
+  if (r_type >= (unsigned int) R_M68HC11_max)
+    {
+      _bfd_error_handler (_("%A: invalid M68HC12 reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_m68hc11_howto_table[r_type];
 }
 
@@ -655,8 +659,6 @@ static const struct bfd_elf_special_sect
 
 #define bfd_elf32_bfd_link_hash_table_create \
                                 m68hc12_elf_bfd_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free \
-				m68hc11_elf_bfd_link_hash_table_free
 #define bfd_elf32_bfd_merge_private_bfd_data \
 					_bfd_m68hc11_elf_merge_private_bfd_data
 #define bfd_elf32_bfd_set_private_flags	_bfd_m68hc11_elf_set_private_flags
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68hc1x.c ./bfd/elf32-m68hc1x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68hc1x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-m68hc1x.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Motorola 68HC11/HC12-specific support for 32-bit ELF
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Stephane Carrez (stcarrez@nerim.fr)
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -58,6 +58,19 @@ struct m68hc11_scan_param
 };
 
 
+/* Destroy a 68HC11/68HC12 ELF linker hash table.  */
+
+static void
+m68hc11_elf_bfd_link_hash_table_free (bfd *obfd)
+{
+  struct m68hc11_elf_link_hash_table *ret
+    = (struct m68hc11_elf_link_hash_table *) obfd->link.hash;
+
+  bfd_hash_table_free (ret->stub_hash_table);
+  free (ret->stub_hash_table);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create a 68HC11/68HC12 ELF linker hash table.  */
 
 struct m68hc11_elf_link_hash_table*
@@ -84,29 +97,21 @@ m68hc11_elf_hash_table_create (bfd *abfd
   ret->stub_hash_table = (struct bfd_hash_table*) bfd_malloc (amt);
   if (ret->stub_hash_table == NULL)
     {
-      free (ret);
+      _bfd_elf_link_hash_table_free (abfd);
       return NULL;
     }
   if (!bfd_hash_table_init (ret->stub_hash_table, stub_hash_newfunc,
 			    sizeof (struct elf32_m68hc11_stub_hash_entry)))
-    return NULL;
+    {
+      free (ret->stub_hash_table);
+      _bfd_elf_link_hash_table_free (abfd);
+      return NULL;
+    }
+  ret->root.root.hash_table_free = m68hc11_elf_bfd_link_hash_table_free;
 
   return ret;
 }
 
-/* Free the derived linker hash table.  */
-
-void
-m68hc11_elf_bfd_link_hash_table_free (struct bfd_link_hash_table *hash)
-{
-  struct m68hc11_elf_link_hash_table *ret
-    = (struct m68hc11_elf_link_hash_table *) hash;
-
-  bfd_hash_table_free (ret->stub_hash_table);
-  free (ret->stub_hash_table);
-  _bfd_elf_link_hash_table_free (hash);
-}
-
 /* Assorted hash table functions.  */
 
 /* Initialize an entry in the stub hash table.  */
@@ -254,7 +259,7 @@ elf32_m68hc11_setup_section_lists (bfd *
   text_section = 0;
   for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     {
       bfd_count += 1;
       for (section = input_bfd->sections;
@@ -342,7 +347,7 @@ elf32_m68hc11_size_stubs (bfd *output_bf
   /* Count the number of input BFDs and find the top input section id.  */
   for (input_bfd = info->input_bfds, bfd_count = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     bfd_count += 1;
 
   /* We want to read in symbol extension records only once.  To do this
@@ -356,7 +361,7 @@ elf32_m68hc11_size_stubs (bfd *output_bf
   /* Walk over all the input BFDs, swapping in local symbols.  */
   for (input_bfd = info->input_bfds, bfd_indx = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next, bfd_indx++)
+       input_bfd = input_bfd->link.next, bfd_indx++)
     {
       Elf_Internal_Shdr *symtab_hdr;
 
@@ -386,7 +391,7 @@ elf32_m68hc11_size_stubs (bfd *output_bf
 
   for (input_bfd = info->input_bfds, bfd_indx = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next, bfd_indx++)
+       input_bfd = input_bfd->link.next, bfd_indx++)
     {
       Elf_Internal_Shdr *symtab_hdr;
       struct elf_link_hash_entry ** sym_hashes;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68hc1x.h ./bfd/elf32-m68hc1x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68hc1x.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-m68hc1x.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Motorola 68HC11/68HC12-specific support for 32-bit ELF
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
    Contributed by Stephane Carrez (stcarrez@nerim.fr)
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -136,7 +136,6 @@ struct m68hc11_elf_link_hash_table
 
 extern struct m68hc11_elf_link_hash_table* m68hc11_elf_hash_table_create
   (bfd*);
-extern void m68hc11_elf_bfd_link_hash_table_free (struct bfd_link_hash_table*);
 
 extern void m68hc11_elf_get_bank_parameters (struct bfd_link_info*);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68k.c ./bfd/elf32-m68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m68k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-m68k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Motorola 68k series support for 32-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -940,6 +940,23 @@ elf_m68k_link_hash_newfunc (struct bfd_h
   return ret;
 }
 
+/* Destroy an m68k ELF linker hash table.  */
+
+static void
+elf_m68k_link_hash_table_free (bfd *obfd)
+{
+  struct elf_m68k_link_hash_table *htab;
+
+  htab = (struct elf_m68k_link_hash_table *) obfd->link.hash;
+
+  if (htab->multi_got_.bfd2got != NULL)
+    {
+      htab_delete (htab->multi_got_.bfd2got);
+      htab->multi_got_.bfd2got = NULL;
+    }
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create an m68k ELF linker hash table.  */
 
 static struct bfd_link_hash_table *
@@ -960,29 +977,13 @@ elf_m68k_link_hash_table_create (bfd *ab
       free (ret);
       return NULL;
     }
+  ret->root.root.hash_table_free = elf_m68k_link_hash_table_free;
 
   ret->multi_got_.global_symndx = 1;
 
   return &ret->root.root;
 }
 
-/* Destruct local data.  */
-
-static void
-elf_m68k_link_hash_table_free (struct bfd_link_hash_table *_htab)
-{
-  struct elf_m68k_link_hash_table *htab;
-
-  htab = (struct elf_m68k_link_hash_table *) _htab;
-
-  if (htab->multi_got_.bfd2got != NULL)
-    {
-      htab_delete (htab->multi_got_.bfd2got);
-      htab->multi_got_.bfd2got = NULL;
-    }
-  _bfd_elf_link_hash_table_free (_htab);
-}
-
 /* Set the right machine number.  */
 
 static bfd_boolean
@@ -3236,7 +3237,7 @@ elf_m68k_adjust_dynamic_symbol (struct b
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Set the sizes of the dynamic sections.  */
@@ -4841,9 +4842,10 @@ elf_m68k_add_symbol_hook (bfd *abfd,
 			  asection **secp ATTRIBUTE_UNUSED,
 			  bfd_vma *valp ATTRIBUTE_UNUSED)
 {
-  if ((abfd->flags & DYNAMIC) == 0
-      && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-	  || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE))
+  if ((ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+      && (abfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
 
   return TRUE;
@@ -4857,9 +4859,6 @@ elf_m68k_add_symbol_hook (bfd *abfd,
 					_bfd_elf_create_dynamic_sections
 #define bfd_elf32_bfd_link_hash_table_create \
 					elf_m68k_link_hash_table_create
-/* ??? Should it be this macro or bfd_elfNN_bfd_link_hash_table_create?  */
-#define bfd_elf32_bfd_link_hash_table_free \
-					elf_m68k_link_hash_table_free
 #define bfd_elf32_bfd_final_link	bfd_elf_final_link
 
 #define elf_backend_check_relocs	elf_m68k_check_relocs
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m88k.c ./bfd/elf32-m88k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-m88k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-m88k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Motorola 88k-specific support for 32-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-mcore.c ./bfd/elf32-mcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-mcore.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-mcore.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Motorola MCore specific support for 32-bit ELF
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-mep.c ./bfd/elf32-mep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-mep.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-mep.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* MeP-specific support for 32-bit ELF.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -400,6 +400,11 @@ mep_info_to_howto_rela
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
+  if (r_type >= R_MEP_max)
+    {
+      _bfd_error_handler (_("%A: invalid MEP reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & mep_elf_howto_table [r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-metag.c ./bfd/elf32-metag.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-metag.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-metag.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Meta support for 32-bit ELF
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Imagination Technologies Ltd.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -896,7 +896,11 @@ metag_info_to_howto_rela (bfd *abfd ATTR
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_METAG_MAX);
+  if (r_type >= (unsigned int) R_METAG_MAX)
+    {
+      _bfd_error_handler (_("%A: invalid METAG reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & elf_metag_howto_table [r_type];
 }
 
@@ -1017,6 +1021,18 @@ metag_link_hash_newfunc (struct bfd_hash
   return entry;
 }
 
+/* Free the derived linker hash table.  */
+
+static void
+elf_metag_link_hash_table_free (bfd *obfd)
+{
+  struct elf_metag_link_hash_table *htab
+    = (struct elf_metag_link_hash_table *) obfd->link.hash;
+
+  bfd_hash_table_free (&htab->bstab);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create the derived linker hash table.  The Meta ELF port uses the derived
    hash table to keep information specific to the Meta ELF linker (without
    using static variables).  */
@@ -1043,23 +1059,15 @@ elf_metag_link_hash_table_create (bfd *a
   /* Init the stub hash table too.  */
   if (!bfd_hash_table_init (&htab->bstab, stub_hash_newfunc,
 			    sizeof (struct elf_metag_stub_hash_entry)))
-    return NULL;
+    {
+      _bfd_elf_link_hash_table_free (abfd);
+      return NULL;
+    }
+  htab->etab.root.hash_table_free = elf_metag_link_hash_table_free;
 
   return &htab->etab.root;
 }
 
-/* Free the derived linker hash table.  */
-
-static void
-elf_metag_link_hash_table_free (struct bfd_link_hash_table *btab)
-{
-  struct elf_metag_link_hash_table *htab
-    = (struct elf_metag_link_hash_table *) btab;
-
-  bfd_hash_table_free (&htab->bstab);
-  _bfd_elf_link_hash_table_free (btab);
-}
-
 /* Section name for stubs is the associated section name plus this
    string.  */
 #define STUB_SUFFIX ".stub"
@@ -2583,7 +2591,7 @@ elf_metag_adjust_dynamic_symbol (struct 
 
   s = htab->sdynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (eh, s);
+  return _bfd_elf_adjust_dynamic_copy (info, eh, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2847,7 +2855,7 @@ elf_metag_size_dynamic_sections (bfd *ou
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -3725,7 +3733,7 @@ elf_metag_setup_section_lists (bfd *outp
   /* Count the number of input BFDs and find the top input section id.  */
   for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     {
       bfd_count += 1;
       for (section = input_bfd->sections;
@@ -3907,7 +3915,7 @@ get_local_syms (bfd *output_bfd ATTRIBUT
   /* Walk over all the input BFDs, swapping in local symbols.  */
   for (bfd_indx = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next, bfd_indx++)
+       input_bfd = input_bfd->link.next, bfd_indx++)
     {
       Elf_Internal_Shdr *symtab_hdr;
 
@@ -4004,7 +4012,7 @@ elf_metag_size_stubs(bfd *output_bfd, bf
 
       for (input_bfd = info->input_bfds, bfd_indx = 0;
 	   input_bfd != NULL;
-	   input_bfd = input_bfd->link_next, bfd_indx++)
+	   input_bfd = input_bfd->link.next, bfd_indx++)
 	{
 	  Elf_Internal_Shdr *symtab_hdr;
 	  asection *section;
@@ -4295,7 +4303,6 @@ elf_metag_plt_sym_val (bfd_vma i, const 
 #define bfd_elf32_bfd_is_local_label_name	elf_metag_is_local_label_name
 #define bfd_elf32_bfd_link_hash_table_create \
 	elf_metag_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free	elf_metag_link_hash_table_free
 #define elf_backend_relocate_section		elf_metag_relocate_section
 #define elf_backend_gc_mark_hook		elf_metag_gc_mark_hook
 #define elf_backend_gc_sweep_hook		elf_metag_gc_sweep_hook
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-metag.h ./bfd/elf32-metag.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-metag.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-metag.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Meta support for 32-bit ELF
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Imagination Technologies Ltd.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-microblaze.c ./bfd/elf32-microblaze.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-microblaze.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-microblaze.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 /* Xilinx MicroBlaze-specific support for 32-bit ELF
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -2973,7 +2973,7 @@ microblaze_elf_size_dynamic_sections (bf
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-mips.c ./bfd/elf32-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-mips.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-mips.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* MIPS-specific support for 32-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Most of the information added by Ian Lance Taylor, Cygnus Support,
    <ian@cygnus.com>.
@@ -716,6 +716,99 @@ static reloc_howto_type elf_mips_howto_t
 	 0x0,			/* src_mask */
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (52),
+  EMPTY_HOWTO (53),
+  EMPTY_HOWTO (54),
+  EMPTY_HOWTO (55),
+  EMPTY_HOWTO (56),
+  EMPTY_HOWTO (57),
+  EMPTY_HOWTO (58),
+  EMPTY_HOWTO (59),
+
+  HOWTO (R_MIPS_PC21_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 21,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC21_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x001fffff,		/* src_mask */
+	 0x001fffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC26_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 26,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC26_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x03ffffff,		/* src_mask */
+	 0x03ffffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC18_S3,	/* type */
+	 3,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 18,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC18_S3",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0003ffff,		/* src_mask */
+	 0x0003ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC19_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 19,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC19_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0007ffff,		/* src_mask */
+	 0x0007ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCHI16,		/* type */
+	 16,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCHI16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCLO16,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCLO16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
 };
 
 /* The reloc used for BFD_RELOC_CTOR when doing a 64 bit link.  This
@@ -1905,7 +1998,13 @@ static const struct elf_reloc_map mips_r
   { BFD_RELOC_MIPS_TLS_TPREL32, R_MIPS_TLS_TPREL32 },
   { BFD_RELOC_MIPS_TLS_TPREL64, R_MIPS_TLS_TPREL64 },
   { BFD_RELOC_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_HI16 },
-  { BFD_RELOC_MIPS_TLS_TPREL_LO16, R_MIPS_TLS_TPREL_LO16 }
+  { BFD_RELOC_MIPS_TLS_TPREL_LO16, R_MIPS_TLS_TPREL_LO16 },
+  { BFD_RELOC_MIPS_21_PCREL_S2, R_MIPS_PC21_S2 },
+  { BFD_RELOC_MIPS_26_PCREL_S2, R_MIPS_PC26_S2 },
+  { BFD_RELOC_MIPS_18_PCREL_S3, R_MIPS_PC18_S3 },
+  { BFD_RELOC_MIPS_19_PCREL_S2, R_MIPS_PC19_S2 },
+  { BFD_RELOC_HI16_S_PCREL, R_MIPS_PCHI16 },
+  { BFD_RELOC_LO16_PCREL, R_MIPS_PCLO16 }
 };
 
 static const struct elf_reloc_map mips16_reloc_map[] =
@@ -2315,6 +2414,8 @@ static const struct ecoff_debug_swap mip
 #define elf_backend_collect		TRUE
 #define elf_backend_type_change_ok	TRUE
 #define elf_backend_can_gc_sections	TRUE
+#define elf_backend_gc_mark_extra_sections \
+					_bfd_mips_elf_gc_mark_extra_sections
 #define elf_info_to_howto		mips_info_to_howto_rela
 #define elf_info_to_howto_rel		mips_info_to_howto_rel
 #define elf_backend_sym_is_global	mips_elf_sym_is_global
@@ -2372,6 +2473,8 @@ static const struct ecoff_debug_swap mip
 #define elf_backend_write_section	_bfd_mips_elf_write_section
 #define elf_backend_mips_irix_compat	elf32_mips_irix_compat
 #define elf_backend_mips_rtype_to_howto	mips_elf32_rtype_to_howto
+#define elf_backend_sort_relocs_p	_bfd_mips_elf_sort_relocs_p
+
 #define bfd_elf32_bfd_is_local_label_name \
 					mips_elf_is_local_label_name
 #define bfd_elf32_bfd_is_target_special_symbol \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-moxie.c ./bfd/elf32-moxie.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-moxie.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-moxie.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,8 +1,8 @@
 /* moxie-specific support for 32-bit ELF.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    Copied from elf32-fr30.c which is..
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -131,7 +131,11 @@ moxie_info_to_howto_rela (bfd *abfd ATTR
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_MOXIE_max);
+  if (r_type >= (unsigned int) R_MOXIE_max)
+    {
+      _bfd_error_handler (_("%A: invalid Moxie reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & moxie_elf_howto_table [r_type];
 }
 
@@ -367,6 +371,7 @@ moxie_elf_check_relocs (bfd *abfd,
 
 #define ELF_ARCH		bfd_arch_moxie
 #define ELF_MACHINE_CODE	EM_MOXIE
+#define ELF_MACHINE_ALT1        EM_MOXIE_OLD
 #define ELF_MAXPAGESIZE		0x1
 
 #define TARGET_BIG_SYM          moxie_elf32_be_vec
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-msp430.c ./bfd/elf32-msp430.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-msp430.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-msp430.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /*  MSP430-specific support for 32-bit ELF
-    Copyright (C) 2002-2014 Free Software Foundation, Inc.
+    Copyright (C) 2002-2015 Free Software Foundation, Inc.
     Contributed by Dmitry Diky <diwil@mail.ru>
 
     This file is part of BFD, the Binary File Descriptor library.
@@ -617,12 +617,20 @@ msp430_info_to_howto_rela (bfd * abfd AT
 
   if (uses_msp430x_relocs (abfd))
     {
-      BFD_ASSERT (r_type < (unsigned int) R_MSP430x_max);
+      if (r_type >= (unsigned int) R_MSP430x_max)
+	{
+	  _bfd_error_handler (_("%A: invalid MSP430X reloc number: %d"), abfd, r_type);
+	  r_type = 0;
+	}
       cache_ptr->howto = elf_msp430x_howto_table + r_type;
       return;
     }
 
-  BFD_ASSERT (r_type < (unsigned int) R_MSP430_max);
+  if (r_type >= (unsigned int) R_MSP430_max)
+    {
+      _bfd_error_handler (_("%A: invalid MSP430 reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_msp430_howto_table[r_type];
 }
 
@@ -1760,7 +1768,6 @@ msp430_elf_relax_section (bfd * abfd, as
   bfd_byte *          contents = NULL;
   Elf_Internal_Sym *  isymbuf = NULL;
 
-
   /* Assume nothing changes.  */
   *again = FALSE;
 
@@ -1958,10 +1965,6 @@ msp430_elf_relax_section (bfd * abfd, as
       *again = TRUE;
     }
 
-  if (! uses_msp430x_relocs (abfd))
-    /* Now perform the relocations that shrink the code size.
-       We only do this for non msp430x as gas only generates the RL
-       reloc for the msp430.  */
     for (irel = internal_relocs; irel < irelend; irel++)
       {
 	bfd_vma symval;
@@ -2040,7 +2043,8 @@ msp430_elf_relax_section (bfd * abfd, as
 	/* Try to turn a 16bit pc-relative branch into a 10bit pc-relative
 	   branch.  */
 	/* Paranoia? paranoia...  */      
-	if (ELF32_R_TYPE (irel->r_info) == (int) R_MSP430_RL_PCREL)
+	if (! uses_msp430x_relocs (abfd)
+	    && ELF32_R_TYPE (irel->r_info) == (int) R_MSP430_RL_PCREL)
 	  {
 	    bfd_vma value = symval;
 
@@ -2150,6 +2154,62 @@ msp430_elf_relax_section (bfd * abfd, as
 		*again = TRUE;
 	      }
 	  }
+
+	/* Try to turn a 16-bit absolute branch into a 10-bit pc-relative
+	   branch.  */
+	if (uses_msp430x_relocs (abfd)
+	    && ELF32_R_TYPE (irel->r_info) == R_MSP430X_ABS16)
+	  {
+	    bfd_vma value = symval;
+
+	    value -= irel->r_offset;
+	    value += irel->r_addend;
+	   
+	    /* See if the value will fit in 10 bits, note the high value is
+	       1016 as the target will be two bytes closer if we are
+	       able to relax.  */
+	    if ((long) value < 1016 && (long) value > -1016)
+	      {
+		int code2;
+
+		/* Get the opcode.  */
+		code2 = bfd_get_16 (abfd, contents + irel->r_offset - 2);
+		if (code2 != 0x4030)
+		  continue;
+		/* FIXME: check r4 and r3 ? */
+		/* FIXME: Handle 0x4010 as well ?  */
+
+		/* Note that we've changed the relocs, section contents, etc.  */
+		elf_section_data (sec)->relocs = internal_relocs;
+		elf_section_data (sec)->this_hdr.contents = contents;
+		symtab_hdr->contents = (unsigned char *) isymbuf;
+
+		/* Fix the relocation's type.  */
+		if (uses_msp430x_relocs (abfd))
+		  {
+		    irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
+						 R_MSP430X_10_PCREL);
+		  }
+		else
+		  {
+		    irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
+						 R_MSP430_10_PCREL);
+		  }
+
+		/* Fix the opcode right way.  */
+		bfd_put_16 (abfd, 0x3c00, contents + irel->r_offset - 2);
+		irel->r_offset -= 2;
+
+		/* Delete bytes.  */
+		if (!msp430_elf_relax_delete_bytes (abfd, sec,
+						    irel->r_offset + 2, 2))
+		  goto error_return;
+
+		/* That will change things, so, we should relax again.
+		   Note that this is not required, and it may be slow.  */
+		*again = TRUE;
+	      }
+	  }
       }
 
   if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-mt.c ./bfd/elf32-mt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-mt.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-mt.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Morpho Technologies MT specific support for 32-bit ELF
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -236,6 +236,11 @@ mt_info_to_howto_rela
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
+  if (r_type >= (unsigned int) R_MT_max)
+    {
+      _bfd_error_handler (_("%A: invalid MT reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & mt_elf_howto_table [r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-nds32.c ./bfd/elf32-nds32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-nds32.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-nds32.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* NDS32-specific support for 32-bit ELF.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -17,7 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-   02110-1301, USA.*/
+   02110-1301, USA.  */
 
 
 #include "sysdep.h"
@@ -97,6 +97,7 @@ static bfd_boolean nds32_elf_finish_dyna
 static bfd_boolean nds32_elf_finish_dynamic_symbol
   (bfd *, struct bfd_link_info *, struct elf_link_hash_entry *,
    Elf_Internal_Sym *);
+static bfd_boolean nds32_elf_mkobject (bfd *);
 
 /* Nds32 helper functions.  */
 static bfd_reloc_status_type nds32_elf_final_sda_base
@@ -111,15 +112,21 @@ static bfd_vma calculate_memory_address
 static int nds32_get_section_contents (bfd *, asection *, bfd_byte **);
 static bfd_boolean nds32_elf_ex9_build_hash_table
   (bfd *, asection *, struct bfd_link_info *);
+static bfd_boolean nds32_elf_ex9_itb_base (struct bfd_link_info *);
+static void nds32_elf_ex9_import_table (struct bfd_link_info *);
+static void nds32_elf_ex9_finish (struct bfd_link_info *);
+static void nds32_elf_ex9_reloc_jmp (struct bfd_link_info *);
 static void nds32_elf_get_insn_with_reg
-  (Elf_Internal_Rela *, unsigned long, unsigned long *);
+  (Elf_Internal_Rela *, uint32_t, uint32_t *);
 static int nds32_get_local_syms (bfd *, asection *ATTRIBUTE_UNUSED,
 				 Elf_Internal_Sym **);
 static bfd_boolean nds32_elf_ex9_replace_instruction
   (struct bfd_link_info *, bfd *, asection *);
 static bfd_boolean nds32_elf_ifc_calc (struct bfd_link_info *, bfd *,
 				       asection *);
+static bfd_boolean nds32_elf_ifc_finish (struct bfd_link_info *);
 static bfd_boolean nds32_elf_ifc_replace (struct bfd_link_info *);
+static bfd_boolean nds32_elf_ifc_reloc (void);
 static bfd_boolean  nds32_relax_fp_as_gp
   (struct bfd_link_info *link_info, bfd *abfd, asection *sec,
    Elf_Internal_Rela *internal_relocs, Elf_Internal_Rela *irelend,
@@ -127,6 +134,13 @@ static bfd_boolean  nds32_relax_fp_as_gp
 static bfd_boolean nds32_fag_remove_unused_fpbase
   (bfd *abfd, asection *sec, Elf_Internal_Rela *internal_relocs,
    Elf_Internal_Rela *irelend);
+static bfd_byte *
+nds32_elf_get_relocated_section_contents (bfd *abfd,
+					  struct bfd_link_info *link_info,
+					  struct bfd_link_order *link_order,
+					  bfd_byte *data,
+					  bfd_boolean relocatable,
+					  asymbol **symbols);
 
 enum
 {
@@ -181,13 +195,31 @@ enum
 #define PLT_PIC_ENTRY_WORD4  0x45000000		/* movi   r16, sizeof(RELA) * n      */
 #define PLT_PIC_ENTRY_WORD5  0x48000000		/* j      .plt0                      */
 
+/* These are macros used to get the relocation accurate value.  */
+#define ACCURATE_8BIT_S1	(0x100)
+#define ACCURATE_U9BIT_S1	(0x400)
+#define ACCURATE_12BIT_S1	(0x2000)
+#define ACCURATE_14BIT_S1	(0x4000)
+#define ACCURATE_19BIT		(0x40000)
+
+/* These are macros used to get the relocation conservative value.  */
+#define CONSERVATIVE_8BIT_S1	(0x100 - 4)
+#define CONSERVATIVE_14BIT_S1	(0x4000 - 4)
+#define CONSERVATIVE_16BIT_S1	(0x10000 - 4)
+#define CONSERVATIVE_24BIT_S1	(0x1000000 - 4)
+/* These must be more conservative because the address may be in
+   different segment.  */
+#define CONSERVATIVE_15BIT	(0x4000 - 0x1000)
+#define CONSERVATIVE_15BIT_S1	(0x8000 - 0x1000)
+#define CONSERVATIVE_15BIT_S2	(0x10000 - 0x1000)
+#define CONSERVATIVE_19BIT	(0x40000 - 0x1000)
+#define CONSERVATIVE_20BIT	(0x80000 - 0x1000)
+
 /* Size of small data/bss sections, used to calculate SDA_BASE.  */
 static long got_size = 0;
 static int is_SDA_BASE_set = 0;
 static int is_ITB_BASE_set = 0;
 
-static int relax_active = 0;
-
 /* Convert ELF-VER in eflags to string for debugging purpose.  */
 static const char *const nds32_elfver_strtab[] =
 {
@@ -243,6 +275,12 @@ struct elf_nds32_link_hash_entry
 
   /* Track dynamic relocs copied for this symbol.  */
   struct elf_nds32_dyn_relocs *dyn_relocs;
+
+  /* For checking relocation type.  */
+#define GOT_UNKNOWN     0
+#define GOT_NORMAL      1
+#define GOT_TLS_IE      2
+  unsigned int tls_type;
 };
 
 /* Get the nds32 ELF linker hash table from a link_info structure.  */
@@ -251,6 +289,32 @@ struct elf_nds32_link_hash_entry
 static int check_start_export_sym = 0;
 static size_t ex9_relax_size = 0;		/* Save ex9 predicted reducing size.  */
 
+/* The offset for executable tls relaxation.  */
+#define TP_OFFSET 0x0
+
+struct elf_nds32_obj_tdata
+{
+  struct elf_obj_tdata root;
+
+  /* tls_type for each local got entry.  */
+  char *local_got_tls_type;
+};
+
+#define elf_nds32_tdata(bfd) \
+  ((struct elf_nds32_obj_tdata *) (bfd)->tdata.any)
+
+#define elf32_nds32_local_got_tls_type(bfd) \
+  (elf_nds32_tdata (bfd)->local_got_tls_type)
+
+#define elf32_nds32_hash_entry(ent) ((struct elf_nds32_link_hash_entry *)(ent))
+
+static bfd_boolean
+nds32_elf_mkobject (bfd *abfd)
+{
+  return bfd_elf_allocate_object (abfd, sizeof (struct elf_nds32_obj_tdata),
+				  NDS32_ELF_DATA);
+}
+
 /* Relocations used for relocation.  */
 static reloc_howto_type nds32_elf_howto_table[] =
 {
@@ -1704,6 +1768,234 @@ static reloc_howto_type nds32_elf_howto_
 	 0x1ff,			/* src_mask */
 	 0x1ff,			/* dst_mask */
 	 TRUE),			/* pcrel_offset */
+
+  /* Like R_NDS32_HI20, but referring to the TLS entry for the symbol.  */
+  HOWTO (R_NDS32_TLS_LE_HI20,	/* type */
+	 12,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 20,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_NDS32_TLS_LE_HI20",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x000fffff,		/* src_mask */
+	 0x000fffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_NDS32_TLS_LE_LO12,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 12,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_NDS32_TLS_LE_LO12",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00000fff,		/* src_mask */
+	 0x00000fff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Like R_NDS32_HI20, but referring to the TLS entry for the symbol.  */
+  HOWTO (R_NDS32_TLS_IE_HI20,	/* type */
+	 12,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 20,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_NDS32_TLS_IE_HI20",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x000fffff,		/* src_mask */
+	 0x000fffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_NDS32_TLS_IE_LO12S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 10,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_NDS32_TLS_IE_LO12S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x000003ff,		/* src_mask */
+	 0x000003ff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  /* Mark a TLS IE entry in GOT.  */
+  HOWTO (R_NDS32_TLS_TPOFF,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_NDS32_TLS_TPOFF",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  /* A 20 bit address.  */
+  HOWTO (R_NDS32_TLS_LE_20,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 20,			/* bitsize */
+	 FALSE,		/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_NDS32_TLS_LE_20",	/* name */
+	 FALSE,		/* partial_inplace */
+	 0xfffff,		/* src_mask */
+	 0xfffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_NDS32_TLS_LE_15S0,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 15,			/* bitsize */
+	 FALSE,		/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_NDS32_TLS_LE_15S0",	/* name */
+	 FALSE,		/* partial_inplace */
+	 0x7fff,		/* src_mask */
+	 0x7fff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_NDS32_TLS_LE_15S1,	/* type */
+	 1,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 15,			/* bitsize */
+	 FALSE,		/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_NDS32_TLS_LE_15S1",	/* name */
+	 FALSE,		/* partial_inplace */
+	 0x7fff,		/* src_mask */
+	 0x7fff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_NDS32_TLS_LE_15S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 15,			/* bitsize */
+	 FALSE,		/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_NDS32_TLS_LE_15S2",	/* name */
+	 FALSE,		/* partial_inplace */
+	 0x7fff,		/* src_mask */
+	 0x7fff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Relax hint for unconditional call sequence  */
+  HOWTO (R_NDS32_LONGCALL4,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_LONGCALL4",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Relax hint for conditional call sequence.  */
+  HOWTO (R_NDS32_LONGCALL5,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_LONGCALL5",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Relax hint for conditional call sequence.  */
+  HOWTO (R_NDS32_LONGCALL6,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_LONGCALL6",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Relax hint for unconditional branch sequence.  */
+  HOWTO (R_NDS32_LONGJUMP4,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_LONGJUMP4",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Relax hint for conditional branch sequence.  */
+  HOWTO (R_NDS32_LONGJUMP5,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_LONGJUMP5",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Relax hint for conditional branch sequence.  */
+  HOWTO (R_NDS32_LONGJUMP6,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_LONGJUMP6",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* Relax hint for conditional branch sequence.  */
+  HOWTO (R_NDS32_LONGJUMP7,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_LONGJUMP7",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
 };
 
 /* Relocations used for relaxation.  */
@@ -1956,6 +2248,45 @@ static reloc_howto_type nds32_elf_relax_
 	 0xffffffff,		/* src_mask */
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+  HOWTO (R_NDS32_TLS_LE_ADD,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_TLS_LE_ADD",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_NDS32_TLS_LE_LS,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_TLS_LE_LS",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+  HOWTO (R_NDS32_EMPTY,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 nds32_elf_ignore_reloc,	/* special_function */
+	 "R_NDS32_EMPTY",		/* name */
+	 FALSE,			/* partial_inplace */
+	 0xffffffff,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
 };
 
 
@@ -1967,7 +2298,7 @@ nds32_insertion_sort (void *base, size_t
 		      int (*compar) (const void *lhs, const void *rhs))
 {
   char *ptr = (char *) base;
-  unsigned int i, j;
+  int i, j;
   char *tmp = alloca (size);
 
   /* If i is less than j, i is inserted before j.
@@ -1977,14 +2308,16 @@ nds32_insertion_sort (void *base, size_t
 	 sorted		unsorted
    */
 
-  for (i = 1; i < nmemb; i++)
+  for (i = 1; i < (int) nmemb; i++)
     {
-      for (j = 0; j < i; j++)
-	if (compar (ptr + i * size, ptr + j * size) < 0)
+      for (j = (i - 1); j >= 0; j--)
+	if (compar (ptr + i * size, ptr + j * size) >= 0)
 	  break;
 
+      j++;
+
       if (i == j)
-	continue; /* j is in order.  */
+	continue; /* i is in order.  */
 
       memcpy (tmp, ptr + i * size, size);
       memmove (ptr + (j + 1) * size, ptr + j * size, (i - j) * size);
@@ -2065,7 +2398,8 @@ nds32_elf_9_pcrel_reloc (bfd *abfd, arel
 static bfd_reloc_status_type
 nds32_elf_do_9_pcrel_reloc (bfd *abfd, reloc_howto_type *howto,
 			    asection *input_section, bfd_byte *data,
-			    bfd_vma offset, asection *symbol_section ATTRIBUTE_UNUSED,
+			    bfd_vma offset,
+			    asection *symbol_section ATTRIBUTE_UNUSED,
 			    bfd_vma symbol_value, bfd_vma addend)
 {
   bfd_signed_vma relocation;
@@ -2084,7 +2418,7 @@ nds32_elf_do_9_pcrel_reloc (bfd *abfd, r
      before doing pcrel calculations.  */
   relocation -= (offset & -(bfd_vma) 2);
 
-  if (relocation < -0x100 || relocation > 0xff)
+  if (relocation < -ACCURATE_8BIT_S1 || relocation >= ACCURATE_8BIT_S1)
     status = bfd_reloc_overflow;
   else
     status = bfd_reloc_ok;
@@ -2495,9 +2829,16 @@ static const struct nds32_reloc_map_entr
   {BFD_RELOC_NDS32_LONGCALL1, R_NDS32_LONGCALL1},
   {BFD_RELOC_NDS32_LONGCALL2, R_NDS32_LONGCALL2},
   {BFD_RELOC_NDS32_LONGCALL3, R_NDS32_LONGCALL3},
+  {BFD_RELOC_NDS32_LONGCALL4, R_NDS32_LONGCALL4},
+  {BFD_RELOC_NDS32_LONGCALL5, R_NDS32_LONGCALL5},
+  {BFD_RELOC_NDS32_LONGCALL6, R_NDS32_LONGCALL6},
   {BFD_RELOC_NDS32_LONGJUMP1, R_NDS32_LONGJUMP1},
   {BFD_RELOC_NDS32_LONGJUMP2, R_NDS32_LONGJUMP2},
   {BFD_RELOC_NDS32_LONGJUMP3, R_NDS32_LONGJUMP3},
+  {BFD_RELOC_NDS32_LONGJUMP4, R_NDS32_LONGJUMP4},
+  {BFD_RELOC_NDS32_LONGJUMP5, R_NDS32_LONGJUMP5},
+  {BFD_RELOC_NDS32_LONGJUMP6, R_NDS32_LONGJUMP6},
+  {BFD_RELOC_NDS32_LONGJUMP7, R_NDS32_LONGJUMP7},
   {BFD_RELOC_NDS32_LOADSTORE, R_NDS32_LOADSTORE},
   {BFD_RELOC_NDS32_9_FIXED, R_NDS32_9_FIXED_RELA},
   {BFD_RELOC_NDS32_15_FIXED, R_NDS32_15_FIXED_RELA},
@@ -2538,6 +2879,7 @@ static const struct nds32_reloc_map_entr
   {BFD_RELOC_NDS32_RELAX_REGION_END, R_NDS32_RELAX_REGION_END},
   {BFD_RELOC_NDS32_MINUEND, R_NDS32_MINUEND},
   {BFD_RELOC_NDS32_SUBTRAHEND, R_NDS32_SUBTRAHEND},
+  {BFD_RELOC_NDS32_EMPTY, R_NDS32_EMPTY},
 
   {BFD_RELOC_NDS32_DIFF8, R_NDS32_DIFF8},
   {BFD_RELOC_NDS32_DIFF16, R_NDS32_DIFF16},
@@ -2548,6 +2890,17 @@ static const struct nds32_reloc_map_entr
   {BFD_RELOC_NDS32_TRAN, R_NDS32_TRAN},
   {BFD_RELOC_NDS32_17IFC_PCREL, R_NDS32_17IFC_PCREL_RELA},
   {BFD_RELOC_NDS32_10IFCU_PCREL, R_NDS32_10IFCU_PCREL_RELA},
+  {BFD_RELOC_NDS32_TLS_LE_HI20, R_NDS32_TLS_LE_HI20},
+  {BFD_RELOC_NDS32_TLS_LE_LO12, R_NDS32_TLS_LE_LO12},
+  {BFD_RELOC_NDS32_TLS_LE_ADD, R_NDS32_TLS_LE_ADD},
+  {BFD_RELOC_NDS32_TLS_LE_LS, R_NDS32_TLS_LE_LS},
+  {BFD_RELOC_NDS32_TLS_IE_HI20, R_NDS32_TLS_IE_HI20},
+  {BFD_RELOC_NDS32_TLS_IE_LO12S2, R_NDS32_TLS_IE_LO12S2},
+  {BFD_RELOC_NDS32_TLS_TPOFF, R_NDS32_TLS_TPOFF},
+  {BFD_RELOC_NDS32_TLS_LE_20, R_NDS32_TLS_LE_20},
+  {BFD_RELOC_NDS32_TLS_LE_15S0, R_NDS32_TLS_LE_15S0},
+  {BFD_RELOC_NDS32_TLS_LE_15S1, R_NDS32_TLS_LE_15S1},
+  {BFD_RELOC_NDS32_TLS_LE_15S2, R_NDS32_TLS_LE_15S2},
 };
 
 /* Patch tag.  */
@@ -2612,7 +2965,11 @@ nds32_info_to_howto_rel (bfd *abfd ATTRI
   enum elf_nds32_reloc_type r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (ELF32_R_TYPE (dst->r_info) <= R_NDS32_GNU_VTENTRY);
+  if (r_type > R_NDS32_GNU_VTENTRY)
+    {
+      _bfd_error_handler (_("%A: invalid NDS32 reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = bfd_elf32_bfd_reloc_type_table_lookup (r_type);
 }
 
@@ -2802,7 +3159,7 @@ nds32_elf_add_symbol_hook (bfd *abfd,
 
 static asection *sda_rela_sec = NULL;
 
-#define SDA_SECTION_NUM 11
+#define SDA_SECTION_NUM 10
 
 static bfd_reloc_status_type
 nds32_elf_final_sda_base (bfd *output_bfd, struct bfd_link_info *info,
@@ -2811,6 +3168,7 @@ nds32_elf_final_sda_base (bfd *output_bf
   int relax_fp_as_gp;
   struct elf_nds32_link_hash_table *table;
   struct bfd_link_hash_entry *h, *h2;
+  long unsigned int total = 0;
 
   h = bfd_link_hash_lookup (info->hash, "_SDA_BASE_", FALSE, FALSE, TRUE);
   if (!h || (h->type != bfd_link_hash_defined && h->type != bfd_link_hash_defweak))
@@ -2823,7 +3181,7 @@ nds32_elf_final_sda_base (bfd *output_bf
       static const char sec_name[SDA_SECTION_NUM][10] =
 	{
 	  ".data", ".got", ".sdata_d", ".sdata_w", ".sdata_h", ".sdata_b",
-	  ".sbss_b", ".sbss_h", ".sbss_w", ".sbss_d", ".bss"
+	  ".sbss_b", ".sbss_h", ".sbss_w", ".sbss_d"
 	};
       size_t i = 0;
 
@@ -2834,24 +3192,49 @@ nds32_elf_final_sda_base (bfd *output_bf
 	}
 
       /* Get the first and final section.  */
-      while (i < sizeof (sec_name) / 10)
+      while (i < sizeof (sec_name) / sizeof (sec_name [0]))
 	{
 	  temp = bfd_get_section_by_name (output_bfd, sec_name[i]);
 	  if (temp && !first && (temp->size != 0 || temp->rawsize != 0))
 	    first = temp;
 	  if (temp && (temp->size != 0 || temp->rawsize != 0))
 	    final = temp;
+
+	  /* Summarize the sections in order to check if joining .bss.  */
+	  if (temp && temp->size != 0)
+	    total += temp->size;
+	  else if (temp && temp->rawsize != 0)
+	    total += temp->rawsize;
+
 	  i++;
 	}
 
+      /* Check .bss size.  */
+      temp = bfd_get_section_by_name (output_bfd, ".bss");
+      if (temp)
+	{
+	  if (temp->size != 0)
+	    total += temp->size;
+	  else if (temp->rawsize != 0)
+	    total += temp->rawsize;
+
+	  if (total < 0x80000)
+	    {
+	      if (!first && (temp->size != 0 || temp->rawsize != 0))
+		first = temp;
+	      if ((temp->size != 0 || temp->rawsize != 0))
+		final = temp;
+	    }
+	}
+
       if (first && final)
 	{
 	  /* The middle of data region.  */
-	  sda_base = (final->vma + final->rawsize + first->vma) / 2;
+	  sda_base = final->vma / 2 + final->rawsize / 2 + first->vma / 2;
 
 	  /* Find the section sda_base located.  */
 	  i = 0;
-	  while (i < sizeof (sec_name) / 10)
+	  while (i < sizeof (sec_name) / sizeof (sec_name [0]))
 	    {
 	      final = bfd_get_section_by_name (output_bfd, sec_name[i]);
 	      if (final && (final->size != 0 || final->rawsize != 0)
@@ -2876,7 +3259,7 @@ nds32_elf_final_sda_base (bfd *output_bf
 	      *psb = elf_gp (output_bfd);
 	      return bfd_reloc_ok;
 	    }
-	  sda_base = first->vma;
+	  sda_base = first->vma + first->rawsize;
 	}
 
       sda_base -= first->vma;
@@ -2963,6 +3346,7 @@ nds32_elf_link_hash_newfunc (struct bfd_
 
       eh = (struct elf_nds32_link_hash_entry *) ret;
       eh->dyn_relocs = NULL;
+      eh->tls_type = GOT_UNKNOWN;
     }
 
   return (struct bfd_hash_entry *) ret;
@@ -3453,6 +3837,7 @@ allocate_dynrelocs (struct elf_link_hash
     {
       asection *s;
       bfd_boolean dyn;
+      int tls_type = elf32_nds32_hash_entry (h)->tls_type;
 
       /* Make sure this symbol is output as a dynamic symbol.
 	 Undefined weak syms won't yet be marked as dynamic.  */
@@ -3463,9 +3848,15 @@ allocate_dynrelocs (struct elf_link_hash
 	}
 
       s = htab->sgot;
-
       h->got.offset = s->size;
-      s->size += 4;
+
+      if (tls_type == GOT_UNKNOWN)
+	abort ();
+      else if (tls_type == GOT_NORMAL
+	       || tls_type == GOT_TLS_IE)
+	/* Need a GOT slot.  */
+	s->size += 4;
+
       dyn = htab->root.dynamic_sections_created;
       if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h))
 	htab->srelgot->size += sizeof (Elf32_External_Rela);
@@ -3599,7 +3990,7 @@ nds32_elf_size_dynamic_sections (bfd *ou
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -4060,6 +4451,15 @@ nds32_elf_output_symbol_hook (struct bfd
    section, which means that the addend must be adjusted
    accordingly.  */
 
+static bfd_vma
+dtpoff_base (struct bfd_link_info *info)
+{
+  /* If tls_sec is NULL, we should have signalled an error already.  */
+  if (elf_hash_table (info)->tls_sec == NULL)
+    return 0;
+  return elf_hash_table (info)->tls_sec->vma;
+}
+
 static bfd_boolean
 nds32_elf_relocate_section (bfd *                  output_bfd ATTRIBUTE_UNUSED,
 			    struct bfd_link_info * info,
@@ -4113,6 +4513,15 @@ nds32_elf_relocate_section (bfd *       
 	return FALSE;
     }
 
+  if (table->target_optimize & NDS32_RELAX_JUMP_IFC_ON)
+    if (!nds32_elf_ifc_reloc ())
+      (*_bfd_error_handler) (_("error: IFC relocation error."));
+
+ /* Relocation for .ex9.itable.  */
+  if (table->target_optimize & NDS32_RELAX_EX9_ON
+      || (table->ex9_import_file && table->update_ex9_table))
+    nds32_elf_ex9_reloc_jmp (info);
+
   /* Use gp as fp to prevent truncated fit.  Because in relaxation time
      the fp value is set as gp, and it has be reverted for instruction
      setting fp.  */
@@ -4153,7 +4562,8 @@ nds32_elf_relocate_section (bfd *       
 	  || r_type == R_NDS32_RELA_GNU_VTINHERIT
 	  || (r_type >= R_NDS32_INSN16 && r_type <= R_NDS32_25_FIXED_RELA)
 	  || r_type == R_NDS32_DATA
-	  || r_type == R_NDS32_TRAN)
+	  || r_type == R_NDS32_TRAN
+	  || (r_type >= R_NDS32_LONGCALL4 && r_type <= R_NDS32_LONGJUMP6))
 	continue;
 
       /* If we enter the fp-as-gp region.  Resolve the address of best fp-base.  */
@@ -4581,8 +4991,8 @@ nds32_elf_relocate_section (bfd *       
 	  if (info->shared)
 	    {
 	      (*_bfd_error_handler)
-		(_("%s: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."),
-		 bfd_get_filename (input_bfd));
+		(_("%s: warning: cannot deal R_NDS32_25_ABS_RELA in shared "
+		   "mode."), bfd_get_filename (input_bfd));
 	      return FALSE;
 	    }
 	  break;
@@ -4616,7 +5026,8 @@ nds32_elf_relocate_section (bfd *       
 		}
 	      else
 		r = _bfd_final_link_relocate (howto, input_bfd, input_section,
-					      contents, offset, relocation, addend);
+					      contents, offset, relocation,
+					      addend);
 	    }
 
 	  goto check_reloc;
@@ -4789,6 +5200,101 @@ handle_sda:
 	  /* do nothing */
 	  break;
 
+	case R_NDS32_TLS_LE_HI20:
+	case R_NDS32_TLS_LE_LO12:
+	case R_NDS32_TLS_LE_20:
+	case R_NDS32_TLS_LE_15S0:
+	case R_NDS32_TLS_LE_15S1:
+	case R_NDS32_TLS_LE_15S2:
+	  if (elf_hash_table (info)->tls_sec != NULL)
+	    relocation -= (elf_hash_table (info)->tls_sec->vma + TP_OFFSET);
+	  break;
+	case R_NDS32_TLS_IE_HI20:
+	case R_NDS32_TLS_IE_LO12S2:
+	  {
+	    /* Relocation is to the entry for this symbol in the global
+	       offset table.  */
+	    unsigned int tls_type;
+	    asection *srelgot;
+	    Elf_Internal_Rela outrel;
+	    bfd_vma off;
+	    bfd_byte *loc;
+	    int indx = 0;
+
+	    BFD_ASSERT (sgot != NULL);
+	    if (h != NULL)
+	      {
+		bfd_boolean dyn;
+
+		off = h->got.offset;
+		BFD_ASSERT (off != (bfd_vma) - 1);
+		dyn = htab->root.dynamic_sections_created;
+		tls_type = ((struct elf_nds32_link_hash_entry *) h)->tls_type;
+		if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h)
+		    && (!info->shared
+			|| !SYMBOL_REFERENCES_LOCAL (info, h)))
+		  indx = h->dynindx;
+	      }
+	    else
+	      {
+		/* Never happen currently.  */
+		BFD_ASSERT (local_got_offsets != NULL
+			    && local_got_offsets[r_symndx] != (bfd_vma) - 1);
+
+		off = local_got_offsets[r_symndx];
+
+		tls_type = elf32_nds32_local_got_tls_type (input_bfd)[r_symndx];
+	      }
+	    relocation = sgot->output_section->vma + sgot->output_offset + off;
+
+	    if (r_type == R_NDS32_TLS_IE_LO12S2)
+	      break;
+
+	    /* The offset must always be a multiple of 4.  We use
+	       the least significant bit to record whether we have
+	       already processed this entry.  */
+	    if ((off & 1) != 0)
+	      off &= ~1;
+	    else
+	      {
+		bfd_boolean need_relocs = FALSE;
+		srelgot = htab->srelgot;
+		if ((info->shared || indx != 0)
+		    && (h == NULL
+			|| ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+			|| h->root.type != bfd_link_hash_undefweak))
+		  {
+		    need_relocs = TRUE;
+		    BFD_ASSERT (srelgot != NULL);
+		  }
+		if (tls_type & GOT_TLS_IE)
+		  {
+		    if (need_relocs)
+		      {
+			if (h->dynindx == 0)
+			  outrel.r_addend = relocation - dtpoff_base (info);
+			else
+			  outrel.r_addend = 0;
+			outrel.r_offset = (sgot->output_section->vma
+					   + sgot->output_offset
+					   + off);
+			outrel.r_info =
+			  ELF32_R_INFO (h->dynindx, R_NDS32_TLS_TPOFF);
+
+			loc = srelgot->contents;
+			loc +=
+			  srelgot->reloc_count * sizeof (Elf32_External_Rela);
+			bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc);
+			++srelgot->reloc_count;
+		      }
+		    else
+		      bfd_put_32 (output_bfd, h->root.u.def.value - TP_OFFSET,
+				  sgot->contents + off);
+		  }
+	      }
+	  }
+	break;
+
 	  /* DON'T   fall through.  */
 
 	default:
@@ -4855,8 +5361,16 @@ handle_sda:
 	case R_NDS32_PLT_GOTREL_LO20:
 	case R_NDS32_17IFC_PCREL_RELA:
 	case R_NDS32_10IFCU_PCREL_RELA:
+	case R_NDS32_TLS_LE_HI20:
+	case R_NDS32_TLS_LE_LO12:
+	case R_NDS32_TLS_IE_HI20:
+	case R_NDS32_TLS_IE_LO12S2:
+	case R_NDS32_TLS_LE_20:
+	case R_NDS32_TLS_LE_15S0:
+	case R_NDS32_TLS_LE_15S1:
+	case R_NDS32_TLS_LE_15S2:
 	  /* Instruction related relocs must handle endian properly.  */
-	  /* NOTE: PIC IS NOT HANDLE YET; DO IT LATER */
+	  /* NOTE: PIC IS NOT HANDLE YET; DO IT LATER.  */
 	  r = nds32_elf_final_link_relocate (howto, input_bfd,
 					     input_section, contents,
 					     rel->r_offset, relocation,
@@ -5845,6 +6359,7 @@ nds32_elf_check_relocs (bfd *abfd, struc
       enum elf_nds32_reloc_type r_type;
       struct elf_link_hash_entry *h;
       unsigned long r_symndx;
+      int tls_type, old_tls_type;
 
       r_symndx = ELF32_R_SYM (rel->r_info);
       r_type = ELF32_R_TYPE (rel->r_info);
@@ -5858,7 +6373,9 @@ nds32_elf_check_relocs (bfd *abfd, struc
 	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
 	}
 
-      /* Some relocs require a global offset table.  */
+      /* Some relocs require a global offset table.  We create
+	 got section here, since these relocation need got section
+	 and it is not created yet.  */
       if (htab->sgot == NULL)
 	{
 	  switch (r_type)
@@ -5878,6 +6395,8 @@ nds32_elf_check_relocs (bfd *abfd, struc
 	    case R_NDS32_GOTPC_HI20:
 	    case R_NDS32_GOTPC_LO12:
 	    case R_NDS32_GOT20:
+	    case R_NDS32_TLS_IE_HI20:
+	    case R_NDS32_TLS_IE_LO12S2:
 	      if (dynobj == NULL)
 		htab->root.dynobj = dynobj = abfd;
 	      if (!create_got_section (dynobj, info))
@@ -5896,8 +6415,23 @@ nds32_elf_check_relocs (bfd *abfd, struc
 	case R_NDS32_GOT_LO15:
 	case R_NDS32_GOT_LO19:
 	case R_NDS32_GOT20:
+	case R_NDS32_TLS_IE_HI20:
+	case R_NDS32_TLS_IE_LO12S2:
+	  switch (r_type)
+	    {
+	    case R_NDS32_TLS_IE_HI20:
+	    case R_NDS32_TLS_IE_LO12S2:
+	      tls_type = GOT_TLS_IE;
+	      break;
+	    default:
+	      tls_type = GOT_NORMAL;
+	      break;
+	    }
 	  if (h != NULL)
-	    h->got.refcount += 1;
+	    {
+	      old_tls_type = elf32_nds32_hash_entry (h)->tls_type;
+	      h->got.refcount += 1;
+	    }
 	  else
 	    {
 	      bfd_signed_vma *local_got_refcounts;
@@ -5917,12 +6451,27 @@ nds32_elf_check_relocs (bfd *abfd, struc
 		  elf_local_got_refcounts (abfd) = local_got_refcounts;
 		}
 	      local_got_refcounts[r_symndx] += 1;
+	      old_tls_type = elf32_nds32_local_got_tls_type (abfd)[r_symndx];
 	    }
-	  break;
 
-	case R_NDS32_9_PLTREL:
-	case R_NDS32_25_PLTREL:
-	case R_NDS32_PLTREL_HI20:
+	  /* We will already have issued an error message if there
+	     is a TLS/non-TLS mismatch, based on the symbol
+	     type.  So just combine any TLS types needed.  */
+	  if (old_tls_type != GOT_UNKNOWN && old_tls_type != GOT_NORMAL
+	      && tls_type != GOT_NORMAL)
+	    tls_type |= old_tls_type;
+
+	  if (old_tls_type != tls_type)
+	    {
+	      if (h != NULL)
+		elf32_nds32_hash_entry (h)->tls_type = tls_type;
+	      else
+		elf32_nds32_local_got_tls_type (abfd)[r_symndx] = tls_type;
+	    }
+	  break;
+	case R_NDS32_9_PLTREL:
+	case R_NDS32_25_PLTREL:
+	case R_NDS32_PLTREL_HI20:
 	case R_NDS32_PLTREL_LO12:
 	case R_NDS32_PLT_GOTREL_HI20:
 	case R_NDS32_PLT_GOTREL_LO12:
@@ -5944,6 +6493,7 @@ nds32_elf_check_relocs (bfd *abfd, struc
 	  if (h->forced_local)
 	    break;
 
+	  elf32_nds32_hash_entry (h)->tls_type = GOT_NORMAL;
 	  h->needs_plt = 1;
 	  h->plt.refcount += 1;
 	  break;
@@ -6602,7 +7152,8 @@ nds32_convert_32_to_16 (bfd *abfd, uint3
 	  else if (N32_IS_RT4 (insn) && N32_RT5 (insn) == N32_RA5 (insn)
 		   && N32_IMM15S (insn) > -32)
 	    {
-	      insn16 = N16_TYPE45 (SUBI45, N32_RT54 (insn), 0 - N32_IMM15S (insn));
+	      insn16 = N16_TYPE45 (SUBI45, N32_RT54 (insn),
+				   0 - N32_IMM15S (insn));
 	      insn_type = NDS32_INSN_SUBI45;
 	    }
 	  else if (mach >= MACH_V2 && N32_RT5 (insn) == REG_SP
@@ -6727,7 +7278,8 @@ nds32_convert_32_to_16 (bfd *abfd, uint3
       else if (mach >= MACH_V2 && N32_IS_RT4 (insn) && N32_RA5 (insn) == REG_R8
 	       && -32 <= N32_IMM15S (insn) && N32_IMM15S (insn) < 0)
 	{
-	  insn16 = N16_TYPE45 (LWI45_FE, N32_RT54 (insn), N32_IMM15S (insn) + 32);
+	  insn16 = N16_TYPE45 (LWI45_FE, N32_RT54 (insn),
+			       N32_IMM15S (insn) + 32);
 	  insn_type = NDS32_INSN_LWI45_FE;
 	}
       break;
@@ -6741,7 +7293,8 @@ nds32_convert_32_to_16 (bfd *abfd, uint3
       else if (N32_IS_RT3 (insn) && N32_IS_RA3 (insn)
 	       && IS_WITHIN_U (N32_IMM15S (insn), 3))
 	{
-	  insn16 = N16_TYPE333 (SWI333, N32_RT5 (insn), N32_RA5 (insn), N32_IMM15S (insn));
+	  insn16 = N16_TYPE333 (SWI333, N32_RT5 (insn), N32_RA5 (insn),
+				N32_IMM15S (insn));
 	  insn_type = NDS32_INSN_SWI333;
 	}
       else if (N32_IS_RT3 (insn) && N32_RA5 (insn) == REG_FP
@@ -6863,7 +7416,8 @@ nds32_convert_32_to_16 (bfd *abfd, uint3
 	      insn16 = N16_TYPE38 (BEQZ38, N32_RT5 (insn), N32_IMM16S (insn));
 	      insn_type = NDS32_INSN_BEQZ38;
 	    }
-	  else if (N32_RT5 (insn) == REG_R15 && IS_WITHIN_S (N32_IMM16S (insn), 8))
+	  else if (N32_RT5 (insn) == REG_R15
+		   && IS_WITHIN_S (N32_IMM16S (insn), 8))
 	    {
 	      insn16 = N16_TYPE8 (BEQZS8, N32_IMM16S (insn));
 	      insn_type = NDS32_INSN_BEQZS8;
@@ -6876,7 +7430,8 @@ nds32_convert_32_to_16 (bfd *abfd, uint3
 	      insn16 = N16_TYPE38 (BNEZ38, N32_RT5 (insn), N32_IMM16S (insn));
 	      insn_type = NDS32_INSN_BNEZ38;
 	    }
-	  else if (N32_RT5 (insn) == REG_R15 && IS_WITHIN_S (N32_IMM16S (insn), 8))
+	  else if (N32_RT5 (insn) == REG_R15
+		   && IS_WITHIN_S (N32_IMM16S (insn), 8))
 	    {
 	      insn16 = N16_TYPE8 (BNEZS8, N32_IMM16S (insn));
 	      insn_type = NDS32_INSN_BNEZS8;
@@ -7026,71 +7581,88 @@ nds32_convert_16_to_32 (bfd *abfd, uint1
   switch (__GF (insn16, 9, 6))
     {
     case 0x4:			/* add45 */
-      insn = N32_ALU1 (ADD, N16_RT4 (insn16), N16_RT4 (insn16), N16_RA5 (insn16));
+      insn = N32_ALU1 (ADD, N16_RT4 (insn16), N16_RT4 (insn16),
+		       N16_RA5 (insn16));
       goto done;
     case 0x5:			/* sub45 */
-      insn = N32_ALU1 (SUB, N16_RT4 (insn16), N16_RT4 (insn16), N16_RA5 (insn16));
+      insn = N32_ALU1 (SUB, N16_RT4 (insn16), N16_RT4 (insn16),
+		       N16_RA5 (insn16));
       goto done;
     case 0x6:			/* addi45 */
-      insn = N32_TYPE2 (ADDI, N16_RT4 (insn16), N16_RT4 (insn16), N16_IMM5U (insn16));
+      insn = N32_TYPE2 (ADDI, N16_RT4 (insn16), N16_RT4 (insn16),
+			N16_IMM5U (insn16));
       goto done;
     case 0x7:			/* subi45 */
-      insn = N32_TYPE2 (ADDI, N16_RT4 (insn16), N16_RT4 (insn16), -N16_IMM5U (insn16));
+      insn = N32_TYPE2 (ADDI, N16_RT4 (insn16), N16_RT4 (insn16),
+			-N16_IMM5U (insn16));
       goto done;
     case 0x8:			/* srai45 */
-      insn = N32_ALU1 (SRAI, N16_RT4 (insn16), N16_RT4 (insn16), N16_IMM5U (insn16));
+      insn = N32_ALU1 (SRAI, N16_RT4 (insn16), N16_RT4 (insn16),
+		       N16_IMM5U (insn16));
       goto done;
     case 0x9:			/* srli45 */
-      insn = N32_ALU1 (SRLI, N16_RT4 (insn16), N16_RT4 (insn16), N16_IMM5U (insn16));
+      insn = N32_ALU1 (SRLI, N16_RT4 (insn16), N16_RT4 (insn16),
+		       N16_IMM5U (insn16));
       goto done;
-
     case 0xa:			/* slli333 */
-      insn = N32_ALU1 (SLLI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_ALU1 (SLLI, N16_RT3 (insn16), N16_RA3 (insn16),
+		       N16_IMM3U (insn16));
       goto done;
     case 0xc:			/* add333 */
-      insn = N32_ALU1 (ADD, N16_RT3 (insn16), N16_RA3 (insn16), N16_RB3 (insn16));
+      insn = N32_ALU1 (ADD, N16_RT3 (insn16), N16_RA3 (insn16),
+		       N16_RB3 (insn16));
       goto done;
     case 0xd:			/* sub333 */
-      insn = N32_ALU1 (SUB, N16_RT3 (insn16), N16_RA3 (insn16), N16_RB3 (insn16));
+      insn = N32_ALU1 (SUB, N16_RT3 (insn16), N16_RA3 (insn16),
+		       N16_RB3 (insn16));
       goto done;
     case 0xe:			/* addi333 */
-      insn = N32_TYPE2 (ADDI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_TYPE2 (ADDI, N16_RT3 (insn16), N16_RA3 (insn16),
+			N16_IMM3U (insn16));
       goto done;
     case 0xf:			/* subi333 */
-      insn = N32_TYPE2 (ADDI, N16_RT3 (insn16), N16_RA3 (insn16), -N16_IMM3U (insn16));
+      insn = N32_TYPE2 (ADDI, N16_RT3 (insn16), N16_RA3 (insn16),
+			-N16_IMM3U (insn16));
       goto done;
-
     case 0x10:			/* lwi333 */
-      insn = N32_TYPE2 (LWI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_TYPE2 (LWI, N16_RT3 (insn16), N16_RA3 (insn16),
+			N16_IMM3U (insn16));
       goto done;
     case 0x12:			/* lhi333 */
-      insn = N32_TYPE2 (LHI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_TYPE2 (LHI, N16_RT3 (insn16), N16_RA3 (insn16),
+			N16_IMM3U (insn16));
       goto done;
     case 0x13:			/* lbi333 */
-      insn = N32_TYPE2 (LBI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_TYPE2 (LBI, N16_RT3 (insn16), N16_RA3 (insn16),
+			N16_IMM3U (insn16));
       goto done;
     case 0x11:			/* lwi333.bi */
-      insn = N32_TYPE2 (LWI_BI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_TYPE2 (LWI_BI, N16_RT3 (insn16), N16_RA3 (insn16),
+			N16_IMM3U (insn16));
       goto done;
     case 0x14:			/* swi333 */
-      insn = N32_TYPE2 (SWI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_TYPE2 (SWI, N16_RT3 (insn16), N16_RA3 (insn16),
+			N16_IMM3U (insn16));
       goto done;
     case 0x16:			/* shi333 */
-      insn = N32_TYPE2 (SHI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_TYPE2 (SHI, N16_RT3 (insn16), N16_RA3 (insn16),
+			N16_IMM3U (insn16));
       goto done;
     case 0x17:			/* sbi333 */
-      insn = N32_TYPE2 (SBI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_TYPE2 (SBI, N16_RT3 (insn16), N16_RA3 (insn16),
+			N16_IMM3U (insn16));
       goto done;
     case 0x15:			/* swi333.bi */
-      insn = N32_TYPE2 (SWI_BI, N16_RT3 (insn16), N16_RA3 (insn16), N16_IMM3U (insn16));
+      insn = N32_TYPE2 (SWI_BI, N16_RT3 (insn16), N16_RA3 (insn16),
+			N16_IMM3U (insn16));
       goto done;
-
     case 0x18:			/* addri36.sp */
-      insn = N32_TYPE2 (ADDI, REG_SP, N16_RT3 (insn16), N16_IMM6U (insn16) << 2);
+      insn = N32_TYPE2 (ADDI, N16_RT3 (insn16), REG_SP,
+			N16_IMM6U (insn16) << 2);
       goto done;
-
     case 0x19:			/* lwi45.fe */
-      insn = N32_TYPE2 (LWI, N16_RT4 (insn16), REG_R8, (32 - N16_IMM5U (insn16)) << 2);
+      insn = N32_TYPE2 (LWI, N16_RT4 (insn16), REG_R8,
+			(N16_IMM5U (insn16) - 32));
       goto done;
     case 0x1a:			/* lwi450 */
       insn = N32_TYPE2 (LWI, N16_RT4 (insn16), N16_RA5 (insn16), 0);
@@ -7099,7 +7671,7 @@ nds32_convert_16_to_32 (bfd *abfd, uint1
       insn = N32_TYPE2 (SWI, N16_RT4 (insn16), N16_RA5 (insn16), 0);
       goto done;
 
-    /* These are r15 implied instructions.  */
+      /* These are r15 implied instructions.  */
     case 0x30:			/* slts45 */
       insn = N32_ALU1 (SLTS, REG_TA, N16_RT4 (insn16), N16_RA5 (insn16));
       goto done;
@@ -7132,30 +7704,35 @@ nds32_convert_16_to_32 (bfd *abfd, uint1
       goto done;
 
     case 0x3f:			/* MISC33 */
-      switch (insn & 0x7)
+      switch (insn16 & 0x7)
 	{
 	case 2:			/* neg33 */
 	  insn = N32_TYPE2 (SUBRI, N16_RT3 (insn16), N16_RA3 (insn16), 0);
 	  break;
 	case 3:			/* not33 */
-	  insn = N32_ALU1 (NOR, N16_RT3 (insn16), N16_RA3 (insn16), N16_RA3 (insn16));
+	  insn = N32_ALU1 (NOR, N16_RT3 (insn16), N16_RA3 (insn16),
+			   N16_RA3 (insn16));
 	  break;
 	case 4:			/* mul33 */
-	  insn = N32_ALU2 (MUL, N16_RT3 (insn16), N16_RT3 (insn16), N16_RA3 (insn16));
+	  insn = N32_ALU2 (MUL, N16_RT3 (insn16), N16_RT3 (insn16),
+			   N16_RA3 (insn16));
 	  break;
 	case 5:			/* xor33 */
-	  insn = N32_ALU1 (XOR, N16_RT3 (insn16), N16_RT3 (insn16), N16_RA3 (insn16));
+	  insn = N32_ALU1 (XOR, N16_RT3 (insn16), N16_RT3 (insn16),
+			   N16_RA3 (insn16));
 	  break;
 	case 6:			/* and33 */
-	  insn = N32_ALU1 (AND, N16_RT3 (insn16), N16_RT3 (insn16), N16_RA3 (insn16));
+	  insn = N32_ALU1 (AND, N16_RT3 (insn16), N16_RT3 (insn16),
+			   N16_RA3 (insn16));
 	  break;
 	case 7:			/* or33 */
-	  insn = N32_ALU1 (OR, N16_RT3 (insn16), N16_RT3 (insn16), N16_RA3 (insn16));
+	  insn = N32_ALU1 (OR, N16_RT3 (insn16), N16_RT3 (insn16),
+			   N16_RA3 (insn16));
 	  break;
 	}
       goto done;
 
-    case 0xb:			/* ... */
+    case 0xb:
       switch (insn16 & 0x7)
 	{
 	case 0:			/* zeb33 */
@@ -7178,11 +7755,11 @@ nds32_convert_16_to_32 (bfd *abfd, uint1
 	  break;
 	case 6:			/* bmski33 */
 	  insn = N32_TYPE2 (ANDI, N16_RT3 (insn16), N16_RT3 (insn16),
-			    1 << N16_IMM3U (insn16));
+			    1 << __GF (insn16, 3, 3));
 	  break;
 	case 7:			/* fexti33 */
 	  insn = N32_TYPE2 (ANDI, N16_RT3 (insn16), N16_RT3 (insn16),
-			    (1 << (N16_IMM3U (insn16) + 1)) - 1);
+			    (1 << (__GF (insn16, 3, 3) + 1)) - 1);
 	  break;
 	}
       goto done;
@@ -7193,9 +7770,9 @@ nds32_convert_16_to_32 (bfd *abfd, uint1
     case 0x0:			/* mov55 or ifret16 */
       if (mach >= MACH_V3 && N16_RT5 (insn16) == REG_SP
 	  && N16_RT5 (insn16) == N16_RA5 (insn16))
-	  insn = N32_JREG (JR, 0, 0, 0, 3);
+	insn = N32_JREG (JR, 0, 0, 0, 3);
       else
-	  insn = N32_TYPE2 (ADDI, N16_RT5 (insn16), N16_RA5 (insn16), 0);
+	insn = N32_TYPE2 (ADDI, N16_RT5 (insn16), N16_RA5 (insn16), 0);
       goto done;
     case 0x1:			/* movi55 */
       insn = N32_TYPE1 (MOVI, N16_RT5 (insn16), N16_IMM5S (insn16));
@@ -7582,7 +8159,7 @@ is_convert_32_to_16 (bfd *abfd, asection
   /* Find the first relocation of the same relocation-type,
      so we iteratie them forward.  */
   pc_rel = reloc;
-  while ((pc_rel - 1) > internal_relocs && pc_rel[-1].r_offset == offset)
+  while ((pc_rel - 1) >= internal_relocs && pc_rel[-1].r_offset == offset)
     pc_rel--;
 
   for (; pc_rel < irelend && pc_rel->r_offset == offset; pc_rel++)
@@ -7594,19 +8171,29 @@ is_convert_32_to_16 (bfd *abfd, asection
 	{
 	  off = calculate_offset (abfd, sec, pc_rel, isymbuf, symtab_hdr,
 				  &pic_ext_target);
-	  if (off > 0xff || off < -0x100 || off == 0)
+	  if (off >= ACCURATE_8BIT_S1 || off < -ACCURATE_8BIT_S1
+	      || off == 0)
 	    return FALSE;
 	  break;
 	}
       else if (ELF32_R_TYPE (pc_rel->r_info) == R_NDS32_20_RELA)
 	{
 	  /* movi => movi55  */
-	  mem_addr = calculate_memory_address (abfd, pc_rel, isymbuf, symtab_hdr);
-	  /* mem_addr is unsigned, but the value should be between [-16, 15].  */
+	  mem_addr = calculate_memory_address (abfd, pc_rel, isymbuf,
+					       symtab_hdr);
+	  /* mem_addr is unsigned, but the value should
+	     be between [-16, 15].  */
 	  if ((mem_addr + 0x10) >> 5)
 	    return FALSE;
 	  break;
 	}
+      else if ((ELF32_R_TYPE (pc_rel->r_info) == R_NDS32_TLS_LE_20)
+	       || (ELF32_R_TYPE (pc_rel->r_info) == R_NDS32_TLS_LE_LO12))
+	{
+	  /* It never happen movi to movi55 for R_NDS32_TLS_LE_20,
+	     because it can be relaxed to addi for TLS_LE_ADD.  */
+	  return FALSE;
+	}
       else if ((ELF32_R_TYPE (pc_rel->r_info) == R_NDS32_SDA15S2_RELA
 		|| ELF32_R_TYPE (pc_rel->r_info) == R_NDS32_SDA17S2_RELA)
 	       && (reloc->r_addend & R_NDS32_INSN16_FP7U2_FLAG)
@@ -7624,9 +8211,18 @@ is_convert_32_to_16 (bfd *abfd, asection
 	       || ((ELF32_R_TYPE (pc_rel->r_info) > R_NDS32_LOADSTORE)
 		   && (ELF32_R_TYPE (pc_rel->r_info) < R_NDS32_DWARF2_OP1_RELA)))
 	{
-	  /* Prevent unresolved addi instruction translate to addi45 or addi333.  */
+	  /* Prevent unresolved addi instruction translate
+	     to addi45 or addi333.  */
 	  return FALSE;
 	}
+      else if ((ELF32_R_TYPE (pc_rel->r_info) == R_NDS32_17IFC_PCREL_RELA))
+	{
+	  off = calculate_offset (abfd, sec, pc_rel, isymbuf, symtab_hdr,
+				  &pic_ext_target);
+	  if (off >= ACCURATE_U9BIT_S1 || off <= 0)
+	    return FALSE;
+	  break;
+	}
     }
 
   return TRUE;
@@ -7669,6 +8265,9 @@ nds32_elf_write_16 (bfd *abfd ATTRIBUTE_
 	       || ELF32_R_TYPE (pc_rel->r_info) == R_NDS32_SDA17S2_RELA)
 	pc_rel->r_info =
 	  ELF32_R_INFO (ELF32_R_SYM (pc_rel->r_info), R_NDS32_SDA_FP7U2_RELA);
+      else if ((ELF32_R_TYPE (pc_rel->r_info) == R_NDS32_17IFC_PCREL_RELA))
+	pc_rel->r_info =
+	  ELF32_R_INFO (ELF32_R_SYM (pc_rel->r_info), R_NDS32_10IFCU_PCREL_RELA);
     }
 }
 
@@ -7695,7 +8294,7 @@ find_relocs_at_address (Elf_Internal_Rel
     if (ELF32_R_TYPE (rel_t->r_info) == reloc_type)
       return rel_t;
 
-  /* We didn't find it backward. Try find it forward.  */
+  /* We didn't find it backward.  Try find it forward.  */
   for (rel_t = reloc;
        rel_t < irelend && rel_t->r_offset == reloc->r_offset;
        rel_t++)
@@ -7985,7 +8584,7 @@ nds32_elf_relax_delete_blanks (bfd *abfd
 			       nds32_elf_blank_t *blank_p)
 {
   Elf_Internal_Shdr *symtab_hdr;	/* Symbol table header of this bfd.  */
-  Elf_Internal_Sym *isym = NULL;		/* Symbol table of this bfd.  */
+  Elf_Internal_Sym *isym = NULL;	/* Symbol table of this bfd.  */
   Elf_Internal_Sym *isymend;		/* Symbol entry iterator.  */
   unsigned int sec_shndx;		/* The section the be relaxed.  */
   bfd_byte *contents;			/* Contents data of iterating section.  */
@@ -8066,18 +8665,28 @@ nds32_elf_relax_delete_blanks (bfd *abfd
 	      && isym[ELF32_R_SYM (irel->r_info)].st_shndx == sec_shndx)
 	    {
 	      unsigned long val = 0;
-	      unsigned long before, between;
+	      unsigned long mask;
+	      long before, between;
+	      long offset;
 
 	      switch (ELF32_R_TYPE (irel->r_info))
 		{
 		case R_NDS32_DIFF8:
-		  val = bfd_get_8 (abfd, contents + irel->r_offset);
+		  offset = bfd_get_8 (abfd, contents + irel->r_offset);
 		  break;
 		case R_NDS32_DIFF16:
-		  val = bfd_get_16 (abfd, contents + irel->r_offset);
+		  offset = bfd_get_16 (abfd, contents + irel->r_offset);
 		  break;
 		case R_NDS32_DIFF32:
 		  val = bfd_get_32 (abfd, contents + irel->r_offset);
+		  /* Get the signed bit and mask for the high part.  The
+		     gcc will alarm when right shift 32-bit since the
+		     type size of long may be 32-bit.  */
+		  mask = 0 - (val >> 31);
+		  if (mask)
+		    offset = (val | (mask - 0xffffffff));
+		  else
+		    offset = val;
 		  break;
 		default:
 		  BFD_ASSERT (0);
@@ -8090,23 +8699,28 @@ nds32_elf_relax_delete_blanks (bfd *abfd
 		-- before ---| *****************
 		--------------------- between ---|
 
-		We only care how much data are relax between DIFF, marked as ***.  */
+		We only care how much data are relax between DIFF,
+		marked as ***.  */
 
 	      before = get_nds32_elf_blank_total (&blank_t, irel->r_addend, 0);
-	      between = get_nds32_elf_blank_total (&blank_t, irel->r_addend + val, 0);
+	      between = get_nds32_elf_blank_total (&blank_t,
+						   irel->r_addend + offset, 0);
 	      if (between == before)
 		goto done_adjust_diff;
 
 	      switch (ELF32_R_TYPE (irel->r_info))
 		{
 		case R_NDS32_DIFF8:
-		  bfd_put_8 (abfd, val - (between - before), contents + irel->r_offset);
+		  bfd_put_8 (abfd, offset - (between - before),
+			     contents + irel->r_offset);
 		  break;
 		case R_NDS32_DIFF16:
-		  bfd_put_16 (abfd, val - (between - before), contents + irel->r_offset);
+		  bfd_put_16 (abfd, offset - (between - before),
+			      contents + irel->r_offset);
 		  break;
 		case R_NDS32_DIFF32:
-		  bfd_put_32 (abfd, val - (between - before), contents + irel->r_offset);
+		  bfd_put_32 (abfd, offset - (between - before),
+			      contents + irel->r_offset);
 		  break;
 		}
 	    }
@@ -8118,10 +8732,12 @@ nds32_elf_relax_delete_blanks (bfd *abfd
 	      unsigned long before, between;
 	      bfd_byte *endp, *p;
 
-	      val = read_unsigned_leb128 (abfd, contents + irel->r_offset, &len);
+	      val = read_unsigned_leb128 (abfd, contents + irel->r_offset,
+					  &len);
 
 	      before = get_nds32_elf_blank_total (&blank_t, irel->r_addend, 0);
-	      between = get_nds32_elf_blank_total (&blank_t, irel->r_addend + val, 0);
+	      between = get_nds32_elf_blank_total (&blank_t,
+						   irel->r_addend + val, 0);
 	      if (between == before)
 		goto done_adjust_diff;
 
@@ -8138,14 +8754,17 @@ done_adjust_diff:
 	  if (sec == sect)
 	    {
 	      raddr = irel->r_offset;
-	      irel->r_offset -= get_nds32_elf_blank_total (&blank_t2, irel->r_offset, 1);
+	      irel->r_offset -= get_nds32_elf_blank_total (&blank_t2,
+							   irel->r_offset, 1);
 
 	      if (ELF32_R_TYPE (irel->r_info) == R_NDS32_NONE)
 		continue;
 	      if (blank_t2 && blank_t2->next
-		  && (blank_t2->offset > raddr || blank_t2->next->offset <= raddr))
-		(*_bfd_error_handler) (_("%B: %s\n"), abfd,
-				       "Error: search_nds32_elf_blank reports wrong node");
+		  && (blank_t2->offset > raddr
+		      || blank_t2->next->offset <= raddr))
+		(*_bfd_error_handler)
+		  (_("%B: %s\n"), abfd,
+		   "Error: search_nds32_elf_blank reports wrong node");
 
 	      /* Mark reloc in deleted portion as NONE.
 		 For some relocs like R_NDS32_LABEL that doesn't modify the
@@ -8197,9 +8816,11 @@ done_adjust_diff:
 	      isym->st_value -= ahead;
 
 	      /* Adjust function size.  */
-	      if (ELF32_ST_TYPE (isym->st_info) == STT_FUNC && isym->st_size > 0)
-		isym->st_size -= get_nds32_elf_blank_total
-				   (&blank_t, orig_addr + isym->st_size, 0) - ahead;
+	      if (ELF32_ST_TYPE (isym->st_info) == STT_FUNC
+		  && isym->st_size > 0)
+		isym->st_size -=
+		  get_nds32_elf_blank_total
+		  (&blank_t, orig_addr + isym->st_size, 0) - ahead;
 	    }
 	}
     }
@@ -8228,8 +8849,9 @@ done_adjust_diff:
 
 	      /* Adjust function size.  */
 	      if (sym_hash->type == STT_FUNC)
-		sym_hash->size -= get_nds32_elf_blank_total
-				    (&blank_t, orig_addr + sym_hash->size, 0) - ahead;
+		sym_hash->size -=
+		  get_nds32_elf_blank_total
+		  (&blank_t, orig_addr + sym_hash->size, 0) - ahead;
 
 	    }
 	}
@@ -8323,8 +8945,9 @@ nds32_get_local_syms (bfd *abfd, asectio
 }
 
 /* Range of small data.  */
-static bfd_vma sdata_range[5][2];
-static bfd_vma const sdata_init_range[5] = { 0x2000, 0x4000, 0x8000, 0x10000, 0x40000 };
+static bfd_vma sdata_range[2][2];
+static bfd_vma const sdata_init_range[2] =
+{ ACCURATE_12BIT_S1, ACCURATE_19BIT };
 
 static int
 nds32_elf_insn_size (bfd *abfd ATTRIBUTE_UNUSED,
@@ -8348,9 +8971,9 @@ relax_range_measurement (bfd *abfd)
   /* For upper bound.   */
   bfd_vma maxpgsz = get_elf_backend_data (abfd)->maxpagesize;
   bfd_vma align;
-  bfd_vma init_range;
   static int decide_relax_range = 0;
   int i;
+  int range_number = sizeof (sdata_init_range) / sizeof (sdata_init_range[0]);
 
   if (decide_relax_range)
     return;
@@ -8359,7 +8982,7 @@ relax_range_measurement (bfd *abfd)
   if (sda_rela_sec == NULL)
     {
       /* Since there is no data sections, we assume the range is page size.  */
-      for (i = 0; i < 5; i++)
+      for (i = 0; i < range_number; i++)
 	{
 	  sdata_range[i][0] = sdata_init_range[i] - 0x1000;
 	  sdata_range[i][1] = sdata_init_range[i] - 0x1000;
@@ -8380,12 +9003,11 @@ relax_range_measurement (bfd *abfd)
 
   /* I guess we can not determine the section before
      gp located section, so we assume the align is max page size.  */
-  for (i = 0; i < 5; i++)
+  for (i = 0; i < range_number; i++)
     {
-      init_range = sdata_init_range[i];
-      sdata_range[i][1] = init_range - align;
+      sdata_range[i][1] = sdata_init_range[i] - align;
       BFD_ASSERT (sdata_range[i][1] <= sdata_init_range[i]);
-      sdata_range[i][0] = init_range - maxpgsz;
+      sdata_range[i][0] = sdata_init_range[i] - maxpgsz;
       BFD_ASSERT (sdata_range[i][0] <= sdata_init_range[i]);
     }
 }
@@ -8397,2561 +9019,3284 @@ relax_range_measurement (bfd *abfd)
 #define IS_OPTIMIZE(addend)     ((addend) & 0x40000000)
 #define IS_16BIT_ON(addend)     ((addend) & 0x20000000)
 
+/* Relax LONGCALL1 relocation for nds32_elf_relax_section.  */
+
 static bfd_boolean
-nds32_elf_relax_section (bfd *abfd, asection *sec,
-			 struct bfd_link_info *link_info, bfd_boolean *again)
-{
-  nds32_elf_blank_t *relax_blank_list = NULL;
-  Elf_Internal_Shdr *symtab_hdr;
-  Elf_Internal_Rela *internal_relocs;
-  Elf_Internal_Rela *irel;
-  Elf_Internal_Rela *irelend;
-  Elf_Internal_Sym *isymbuf = NULL;
-  bfd_byte *contents = NULL;
-  bfd_boolean result = TRUE;
-  int optimize = 0;
-  int optimize_for_space ATTRIBUTE_UNUSED = 0;
-  int optimize_for_space_no_align ATTRIBUTE_UNUSED = 0;
-  int insn_opt = 0;
-  int i;
+nds32_elf_relax_longcall1 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* There are 3 variations for LONGCALL1
+     case 4-4-2; 16-bit on, optimize off or optimize for space
+     sethi ta, hi20(symbol)     ; LONGCALL1/HI20
+     ori   ta, ta, lo12(symbol) ; LO12S0
+     jral5 ta                   ;
+
+     case 4-4-4; 16-bit off, optimize don't care
+     sethi ta, hi20(symbol)     ; LONGCALL1/HI20
+     ori   ta, ta, lo12(symbol) ; LO12S0
+     jral  ta                   ;
+
+     case 4-4-4; 16-bit on, optimize for speed
+     sethi ta, hi20(symbol)     ; LONGCALL1/HI20
+     ori   ta, ta, lo12(symbol) ; LO12S0
+     jral  ta                   ;
+     Check code for -mlong-calls output.  */
+
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+
+  bfd_vma laddr;
+  int seq_len;	/* Original length of instruction sequence.  */
   uint32_t insn;
+  Elf_Internal_Rela *hi_irelfn, *lo_irelfn, *irelend;
+  int pic_ext_target = 0;
+  bfd_signed_vma foff;
   uint16_t insn16;
-  bfd_vma local_sda;
 
-  /* Target dependnet option.  */
-  struct elf_nds32_link_hash_table *table;
-  int load_store_relax;
-  int relax_round;
+  irelend = internal_relocs + sec->reloc_count;
+  seq_len = GET_SEQ_LEN (irel->r_addend);
+  laddr = irel->r_offset;
+  *insn_len = seq_len;
+
+  hi_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					   R_NDS32_HI20_RELA, laddr);
+  lo_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					   R_NDS32_LO12S0_ORI_RELA,
+					   laddr + 4);
 
-  relax_blank_list = NULL;
+  if (hi_irelfn == irelend || lo_irelfn == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGCALL1 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-  *again = FALSE;
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, hi_irelfn, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-  /* Nothing to do for
-   * relocatable link or
-   * non-relocatable section or
-   * non-code section or
-   * empty content or
-   * no reloc entry.  */
-  if (link_info->relocatable
-      || (sec->flags & SEC_RELOC) == 0
-      || (sec->flags & SEC_EXCLUDE) == 1
-      || (sec->flags & SEC_CODE) == 0
-      || sec->size == 0)
-    return TRUE;
+  /* This condition only happened when symbol is undefined.  */
+  if (pic_ext_target || foff == 0 || foff < -CONSERVATIVE_24BIT_S1
+      || foff >= CONSERVATIVE_24BIT_S1)
+    return FALSE;
 
-  /* 09.12.11 Workaround.  */
-  /*  We have to adjust align for R_NDS32_LABEL if needed.
-     The adjust approach only can fix 2-byte align once.  */
-  if (sec->alignment_power > 2)
+  /* Relax to: jal symbol; 25_PCREL */
+  /* For simplicity of coding, we are going to modify the section
+     contents, the section relocs, and the BFD symbol table.  We
+     must tell the rest of the code not to free up this
+     information.  It would be possible to instead create a table
+     of changes which have to be made, as is done in coff-mips.c;
+     that would be more work, but would require less memory when
+     the linker is run.  */
+
+  /* Replace the long call with a jal.  */
+  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
+			       R_NDS32_25_PCREL_RELA);
+  irel->r_addend = hi_irelfn->r_addend;
+
+  /* We don't resolve this here but resolve it in relocate_section.  */
+  insn = INSN_JAL;
+  bfd_putb32 (insn, contents + irel->r_offset);
+
+  hi_irelfn->r_info =
+    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
+  lo_irelfn->r_info =
+    ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
+  *insn_len = 4;
+
+  if (seq_len & 0x2)
+    {
+      insn16 = NDS32_NOP16;
+      bfd_putb16 (insn16, contents + irel->r_offset + *insn_len);
+      lo_irelfn->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_INSN16);
+      lo_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
+      *insn_len += 2;
+    }
+  return TRUE;
+}
+
+#define CONVERT_CONDITION_CALL(insn) (((insn) & 0xffff0000) ^ 0x90000)
+/* Relax LONGCALL2 relocation for nds32_elf_relax_section.  */
+
+static bfd_boolean
+nds32_elf_relax_longcall2 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* bltz  rt, .L1   ; LONGCALL2
+     jal   symbol   ; 25_PCREL
+     .L1: */
+
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+
+  bfd_vma laddr;
+  uint32_t insn;
+  Elf_Internal_Rela *i1_irelfn, *cond_irelfn, *irelend;
+  int pic_ext_target = 0;
+  bfd_signed_vma foff;
+
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
+  i1_irelfn =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_25_PCREL_RELA, laddr + 4);
+
+  if (i1_irelfn == irelend)
     {
       (*_bfd_error_handler)
-	(_("%B(%A): warning: relax is suppressed for sections "
-	   "of alignment %d-bytes > 4-byte."),
-	 abfd, sec, sec->alignment_power);
-      return TRUE;
+	("%B: warning: R_NDS32_LONGCALL2 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
     }
 
-  /* The optimization type to do.  */
+  insn = bfd_getb32 (contents + laddr);
 
-  table = nds32_elf_hash_table (link_info);
-  relax_round = table->relax_round;
-  switch (relax_round)
-    {
-    case NDS32_RELAX_JUMP_IFC_ROUND:
-      /* Here is the entrance of ifc jump relaxation.  */
-      if (!nds32_elf_ifc_calc (link_info, abfd, sec))
-	return FALSE;
-      return TRUE;
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, i1_irelfn, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-    case NDS32_RELAX_EX9_BUILD_ROUND:
-      /* Here is the entrance of ex9 relaxation.  There are two pass of
-	 ex9 relaxation.  The one is to traverse all instructions and build
-	 the hash table.  The other one is to compare instructions and replace
-	 it by ex9.it.  */
-      if (!nds32_elf_ex9_build_hash_table (abfd, sec, link_info))
-	return FALSE;
-      return TRUE;
+  if (foff == 0 || foff < -CONSERVATIVE_16BIT_S1
+      || foff >= CONSERVATIVE_16BIT_S1)
+    return FALSE;
 
-    case NDS32_RELAX_EX9_REPLACE_ROUND:
-      if (!nds32_elf_ex9_replace_instruction (link_info, abfd, sec))
-	return FALSE;
-      return TRUE;
+  /* Relax to	bgezal   rt, label ; 17_PCREL
+     or		bltzal   rt, label ; 17_PCREL */
 
-    default:
-      if (sec->reloc_count == 0)
-	return TRUE;
-      break;
-    }
+  /* Convert to complimentary conditional call.  */
+  insn = CONVERT_CONDITION_CALL (insn);
 
-  /* The begining of general relaxation.  */
+  /* For simplicity of coding, we are going to modify the section
+     contents, the section relocs, and the BFD symbol table.  We
+     must tell the rest of the code not to free up this
+     information.  It would be possible to instead create a table
+     of changes which have to be made, as is done in coff-mips.c;
+     that would be more work, but would require less memory when
+     the linker is run.  */
+
+  /* Clean unnessary relocations.  */
+  i1_irelfn->r_info =
+    ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info), R_NDS32_NONE);
+  cond_irelfn =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_17_PCREL_RELA, laddr);
+  if (cond_irelfn != irelend)
+    cond_irelfn->r_info =
+      ELF32_R_INFO (ELF32_R_SYM (cond_irelfn->r_info), R_NDS32_NONE);
+
+  /* Replace the long call with a bgezal.  */
+  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info),
+			       R_NDS32_17_PCREL_RELA);
+  irel->r_addend = i1_irelfn->r_addend;
 
-  if (is_SDA_BASE_set == 0)
+  bfd_putb32 (insn, contents + irel->r_offset);
+
+  *insn_len = 4;
+  return TRUE;
+}
+
+/* Relax LONGCALL3 relocation for nds32_elf_relax_section.  */
+
+static bfd_boolean
+nds32_elf_relax_longcall3 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* There are 3 variations for LONGCALL3
+     case 4-4-4-2; 16-bit on, optimize off or optimize for space
+     bltz  rt,   $1                ; LONGCALL3
+     sethi ta,   hi20(symbol)      ; HI20
+     ori   ta, ta,  lo12(symbol)   ; LO12S0
+     jral5 ta                      ;
+     $1
+
+     case 4-4-4-4; 16-bit off, optimize don't care
+     bltz  rt,   $1                ; LONGCALL3
+     sethi ta,   hi20(symbol)      ; HI20
+     ori   ta, ta,  lo12(symbol)   ; LO12S0
+     jral  ta                      ;
+     $1
+
+     case 4-4-4-4; 16-bit on, optimize for speed
+     bltz  rt,   $1                ; LONGCALL3
+     sethi ta,   hi20(symbol)      ; HI20
+     ori   ta, ta,  lo12(symbol)   ; LO12S0
+     jral  ta                      ;
+     $1 */
+
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+
+  bfd_vma laddr;
+  int seq_len;	/* Original length of instruction sequence.  */
+  uint32_t insn;
+  Elf_Internal_Rela *hi_irelfn, *lo_irelfn, *cond_irelfn, *irelend;
+  int pic_ext_target = 0;
+  bfd_signed_vma foff;
+  uint16_t insn16;
+
+  irelend = internal_relocs + sec->reloc_count;
+  seq_len = GET_SEQ_LEN (irel->r_addend);
+  laddr = irel->r_offset;
+  *insn_len = seq_len;
+
+  hi_irelfn =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_HI20_RELA, laddr + 4);
+  lo_irelfn =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_LO12S0_ORI_RELA, laddr + 8);
+
+  if (hi_irelfn == irelend || lo_irelfn == irelend)
     {
-      bfd_vma gp;
-      is_SDA_BASE_set = 1;
-      nds32_elf_final_sda_base (sec->output_section->owner, link_info, &gp, FALSE);
-      relax_range_measurement (abfd);
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGCALL3 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
     }
 
-  if (is_ITB_BASE_set == 0)
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, hi_irelfn, isymbuf, symtab_hdr,
+			   &pic_ext_target);
+
+  if (pic_ext_target || foff == 0 || foff < -CONSERVATIVE_24BIT_S1
+      || foff >= CONSERVATIVE_24BIT_S1)
+    return FALSE;
+
+  insn = bfd_getb32 (contents + laddr);
+  if (foff >= -CONSERVATIVE_16BIT_S1 && foff < CONSERVATIVE_16BIT_S1)
     {
-      /* Set the _ITB_BASE_.  */
-      if (!nds32_elf_ex9_itb_base (link_info))
+      /* Relax to  bgezal   rt, label ; 17_PCREL
+	 or	   bltzal   rt, label ; 17_PCREL */
+
+      /* Convert to complimentary conditional call.  */
+      insn = CONVERT_CONDITION_CALL (insn);
+      bfd_putb32 (insn, contents + irel->r_offset);
+
+      *insn_len = 4;
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
+      hi_irelfn->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
+      lo_irelfn->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
+
+      cond_irelfn =
+	find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				     R_NDS32_17_PCREL_RELA, laddr);
+      if (cond_irelfn != irelend)
+	{
+	  cond_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
+					      R_NDS32_17_PCREL_RELA);
+	  cond_irelfn->r_addend = hi_irelfn->r_addend;
+	}
+
+      if (seq_len & 0x2)
 	{
-	  (*_bfd_error_handler) (_("%B: error: Cannot set _ITB_BASE_"), abfd);
-	  bfd_set_error (bfd_error_bad_value);
+	  insn16 = NDS32_NOP16;
+	  bfd_putb16 (insn16, contents + irel->r_offset + *insn_len);
+	  hi_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
+					    R_NDS32_INSN16);
+	  hi_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
+	  insn_len += 2;
+	}
+    }
+  else if (foff >= -CONSERVATIVE_24BIT_S1 && foff < CONSERVATIVE_24BIT_S1)
+    {
+      /* Relax to the following instruction sequence
+	 bltz  rt,   $1 ; LONGCALL2
+	 jal   symbol   ; 25_PCREL
+	 $1	*/
+      *insn_len = 8;
+      insn = INSN_JAL;
+      bfd_putb32 (insn, contents + hi_irelfn->r_offset);
+
+      hi_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
+					R_NDS32_25_PCREL_RELA);
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_LONGCALL2);
+
+      lo_irelfn->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
+
+      if (seq_len & 0x2)
+	{
+	  insn16 = NDS32_NOP16;
+	  bfd_putb16 (insn16, contents + irel->r_offset + *insn_len);
+	  lo_irelfn->r_info =
+	    ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_INSN16);
+	  lo_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
+	  insn_len += 2;
 	}
     }
+  return TRUE;
+}
 
-  symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-  /* Relocations MUST be kept in memory, because relaxation adjust them.  */
-  internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
-					       TRUE /* keep_memory */);
-  if (internal_relocs == NULL)
-    goto error_return;
+/* Relax LONGJUMP1 relocation for nds32_elf_relax_section.  */
 
-  irelend = internal_relocs + sec->reloc_count;
-  irel =
-    find_relocs_at_address (internal_relocs, internal_relocs, irelend,
-			    R_NDS32_RELAX_ENTRY);
-  /* If 31th bit of addend of R_NDS32_RELAX_ENTRY is set,
-     this section is already relaxed.  */
-  if (irel == irelend)
-    return TRUE;
+static bfd_boolean
+nds32_elf_relax_longjump1 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* There are 3 variations for LONGJUMP1
+     case 4-4-2; 16-bit bit on, optimize off or optimize for space
+     sethi ta, hi20(symbol)      ; LONGJUMP1/HI20
+     ori   ta, ta, lo12(symbol)  ; LO12S0
+     jr5   ta                    ;
+
+     case 4-4-4; 16-bit off, optimize don't care
+     sethi ta, hi20(symbol)      ; LONGJUMP1/HI20
+     ori   ta, ta, lo12(symbol)  ; LO12S0
+     jr    ta                    ;
+
+     case 4-4-4; 16-bit on, optimize for speed
+     sethi ta, hi20(symbol)      ; LONGJUMP1/HI20
+     ori   ta, ta, lo12(symbol)  ; LO12S0
+     jr    ta                    ;	*/
+
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+
+  bfd_vma laddr;
+  int seq_len;	/* Original length of instruction sequence.  */
+  int insn16_on;	/* 16-bit on/off.  */
+  uint32_t insn;
+  Elf_Internal_Rela *hi_irelfn, *lo_irelfn, *irelend;
+  int pic_ext_target = 0;
+  bfd_signed_vma foff;
+  uint16_t insn16;
+  unsigned long reloc;
 
-  if (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_ENTRY)
+  irelend = internal_relocs + sec->reloc_count;
+  seq_len = GET_SEQ_LEN (irel->r_addend);
+  laddr = irel->r_offset;
+  *insn_len = seq_len;
+  insn16_on = IS_16BIT_ON (irel->r_addend);
+
+  hi_irelfn =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_HI20_RELA, laddr);
+  lo_irelfn =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_LO12S0_ORI_RELA, laddr + 4);
+  if (hi_irelfn == irelend || lo_irelfn == irelend)
     {
-      if (irel->r_addend & R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG)
-	return TRUE;
-
-      if (irel->r_addend & R_NDS32_RELAX_ENTRY_OPTIMIZE_FLAG)
-	optimize = 1;
-
-      if (irel->r_addend & R_NDS32_RELAX_ENTRY_OPTIMIZE_FOR_SPACE_FLAG)
-	optimize_for_space = 1;
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGJUMP1 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
     }
 
-  relax_active = 1;
-  load_store_relax = table->load_store_relax;
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, hi_irelfn, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-  /* Get symbol table and section content.  */
-  if (!nds32_get_section_contents (abfd, sec, &contents)
-      || !nds32_get_local_syms (abfd, sec, &isymbuf))
-    goto error_return;
+  if (pic_ext_target || foff == 0 || foff >= CONSERVATIVE_24BIT_S1
+      || foff < -CONSERVATIVE_24BIT_S1)
+    return FALSE;
 
-  /* Do relax loop only when finalize is not done.
-     Take care of relaxable relocs except INSN16.  */
-  for (irel = internal_relocs; irel < irelend; irel++)
+  if (insn16_on && foff >= -ACCURATE_8BIT_S1
+      && foff < ACCURATE_8BIT_S1 && (seq_len & 0x2))
     {
-      bfd_vma laddr;
-      unsigned long comp_insn = 0;
-      unsigned short comp_insn16 = 0;
-      unsigned long i_mask = 0xffffffff;
-      int seq_len;		/* Original length of instruction sequence.  */
-      int insn_len = 0;		/* Final length of instruction sequence.  */
-      int convertible;		/* 1st insn convertible.  */
-      int insn16_on;		/* 16-bit on/off.  */
-      Elf_Internal_Rela *hi_irelfn = NULL;
-      Elf_Internal_Rela *lo_irelfn = NULL;
-      Elf_Internal_Rela *i1_irelfn = NULL;
-      Elf_Internal_Rela *i2_irelfn = NULL;
-      Elf_Internal_Rela *cond_irelfn = NULL;
-      int i1_offset = 0;
-      int i2_offset = 0;
-      bfd_signed_vma foff;
-      unsigned long reloc = R_NDS32_NONE;
-      int hi_off;
-      int insn_off;
-      int pic_ext_target = 0;
-      bfd_vma access_addr = 0;
-      bfd_vma range_l = 0, range_h = 0;	/* Upper/lower bound.  */
+      /* j8	label */
+      /* 16-bit on, but not optimized for speed.  */
+      reloc = R_NDS32_9_PCREL_RELA;
+      insn16 = INSN_J8;
+      bfd_putb16 (insn16, contents + irel->r_offset);
+      *insn_len = 2;
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+    }
+  else
+    {
+      /* j     label */
+      reloc = R_NDS32_25_PCREL_RELA;
+      insn = INSN_J;
+      bfd_putb32 (insn, contents + irel->r_offset);
+      *insn_len = 4;
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_INSN16);
+      irel->r_addend = 0;
+    }
+
+  hi_irelfn->r_info =
+    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), reloc);
+  lo_irelfn->r_info =
+    ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
+
+  if ((seq_len & 0x2) && ((*insn_len & 2) == 0))
+    {
+      insn16 = NDS32_NOP16;
+      bfd_putb16 (insn16, contents + irel->r_offset + *insn_len);
+      lo_irelfn->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info),
+		      R_NDS32_INSN16);
+      lo_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
+      *insn_len += 2;
+    }
+  return TRUE;
+}
 
-      insn = 0;
-      insn16 = 0;
-      if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL
-	  && (irel->r_addend & 0x1f) >= 2)
-	optimize = 1;
+/* Revert condition branch.  This function does not check if the input
+   instruction is condition branch or not.  */
 
-      /* Relocation Types
-	 R_NDS32_LONGCALL1	53
-	 R_NDS32_LONGCALL2	54
-	 R_NDS32_LONGCALL3	55
-	 R_NDS32_LONGJUMP1	56
-	 R_NDS32_LONGJUMP2	57
-	 R_NDS32_LONGJUMP3	58
-	 R_NDS32_LOADSTORE	59  */
-      if (ELF32_R_TYPE (irel->r_info) >= R_NDS32_LONGCALL1
-	  && ELF32_R_TYPE (irel->r_info) <= R_NDS32_LOADSTORE)
+static void
+nds32_elf_convert_branch (uint16_t insn16, uint32_t insn,
+			   uint16_t *re_insn16, uint32_t *re_insn)
+{
+  uint32_t comp_insn = 0;
+  uint16_t comp_insn16 = 0;
+
+  if (insn)
+    {
+      if (N32_OP6 (insn) == N32_OP6_BR1)
 	{
-	  seq_len = GET_SEQ_LEN (irel->r_addend);
-	  insn_opt = IS_OPTIMIZE (irel->r_addend);
-	  convertible = IS_1ST_CONVERT (irel->r_addend);
-	  insn16_on = IS_16BIT_ON (irel->r_addend);
-	  laddr = irel->r_offset;
+	  /* beqs label.  */
+	  comp_insn = (insn ^ 0x4000) & 0xffffc000;
+	  if (N32_IS_RT3 (insn) && N32_RA5 (insn) == REG_R5)
+	    {
+	      /* Insn can be contracted to 16-bit implied r5.  */
+	      comp_insn16 =
+		(comp_insn & 0x4000) ? INSN_BNES38 : INSN_BEQS38;
+	      comp_insn16 |= (N32_RT5 (insn) & 0x7) << 8;
+	    }
 	}
-      /* Relocation Types
-	 R_NDS32_LO12S0_RELA		30
-	 R_NDS32_LO12S1_RELA		29
-	 R_NDS32_LO12S2_RELA		28
-	 R_NDS32_LO12S2_SP_RELA		71
-	 R_NDS32_LO12S2_DP_RELA		70
-	 R_NDS32_GOT_LO12		46
-	 R_NDS32_GOTOFF_LO12		50
-	 R_NDS32_PLTREL_LO12		65
-	 R_NDS32_PLT_GOTREL_LO12	67
-	 R_NDS32_GOT_SUFF		193
-	 R_NDS32_GOTOFF_SUFF		194
-	 R_NDS32_PLT_GOT_SUFF		195
-	 R_NDS32_MULCALL_SUFF		196
-	 R_NDS32_PTR			197  */
-      else if ((ELF32_R_TYPE (irel->r_info) <= R_NDS32_LO12S0_RELA
-		&& ELF32_R_TYPE (irel->r_info) >= R_NDS32_LO12S2_RELA)
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S2_SP_RELA
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S2_DP_RELA
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_GOT_LO12
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_GOTOFF_LO12
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_PLTREL_LO12
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_PLT_GOTREL_LO12
-	       || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_GOT_SUFF
-		   && ELF32_R_TYPE (irel->r_info) <= R_NDS32_PTR)
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_PLTBLOCK
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_17IFC_PCREL_RELA)
+      else if (N32_OP6 (insn) == N32_OP6_BR3)
 	{
-	  seq_len = 0;
-	  insn_opt = IS_OPTIMIZE (irel->r_addend) > 0;
-	  convertible = 0;
-	  insn16_on = 0;
-	  laddr = irel->r_offset;
+	  /* bnec $ta, imm11, label.  */
+	  comp_insn = (insn ^ 0x80000) & 0xffffff00;
 	}
       else
-	continue;
-
-      insn_len = seq_len;
-
-      if (laddr + seq_len > (bfd_vma) sec->size)
 	{
-	  char *s = NULL;
-	  int pass_check = 0;
-
-	  if (ELF32_R_TYPE (irel->r_info) >= R_NDS32_LONGCALL1
-	      && ELF32_R_TYPE (irel->r_info) <= R_NDS32_LONGJUMP3)
-	    {
-	      for (i1_irelfn = irel;
-		   i1_irelfn < irelend && i1_irelfn->r_offset < (laddr + seq_len - 4);
-		   i1_irelfn++)
-		;
-
-	      for (;
-		   i1_irelfn < irelend && i1_irelfn->r_offset == (laddr + seq_len - 4);
-		   i1_irelfn++)
-		if (ELF32_R_TYPE (i1_irelfn->r_info) == R_NDS32_INSN16)
-		  {
-		    pass_check = 1;
-		    break;
-		  }
-	      i1_irelfn = NULL;
+	  comp_insn = (insn ^ 0x10000) & 0xffffc000;
+	  if (N32_BR2_SUB (insn) == N32_BR2_BEQZ
+	      || N32_BR2_SUB (insn) == N32_BR2_BNEZ)
+	    {
+	      if (N32_IS_RT3 (insn))
+		{
+		  /* Insn can be contracted to 16-bit.  */
+		  comp_insn16 =
+		    (comp_insn & 0x10000) ? INSN_BNEZ38 : INSN_BEQZ38;
+		  comp_insn16 |= (N32_RT5 (insn) & 0x7) << 8;
+		}
+	      else if (N32_RT5 (insn) == REG_R15)
+		{
+		  /* Insn can be contracted to 16-bit.  */
+		  comp_insn16 =
+		    (comp_insn & 0x10000) ? INSN_BNES38 : INSN_BEQS38;
+		}
 	    }
+	}
+    }
+  else
+    {
+      switch ((insn16 & 0xf000) >> 12)
+	{
+	case 0xc:
+	  /* beqz38 or bnez38 */
+	  comp_insn16 = (insn16 ^ 0x0800) & 0xff00;
+	  comp_insn = (comp_insn16 & 0x0800) ? INSN_BNEZ : INSN_BEQZ;
+	  comp_insn |= ((comp_insn16 & 0x0700) >> 8) << 20;
+	  break;
+
+	case 0xd:
+	  /* beqs38 or bnes38 */
+	  comp_insn16 = (insn16 ^ 0x0800) & 0xff00;
+	  comp_insn = (comp_insn16 & 0x0800) ? INSN_BNE : INSN_BEQ;
+	  comp_insn |= (((comp_insn16 & 0x0700) >> 8) << 20)
+	    | (REG_R5 << 15);
+	  break;
+
+	case 0xe:
+	  /* beqzS8 or bnezS8 */
+	  comp_insn16 = (insn16 ^ 0x0100) & 0xff00;
+	  comp_insn = (comp_insn16 & 0x0100) ? INSN_BNEZ : INSN_BEQZ;
+	  comp_insn |= REG_R15 << 20;
+	  break;
 
-	  if (pass_check == 0)
-	    {
-	      reloc_howto_type *howto =
-		bfd_elf32_bfd_reloc_type_table_lookup (ELF32_R_TYPE
-						       (irel->r_info));
-	      s = howto->name;
+	default:
+	  break;
+	}
+    }
+  if (comp_insn && re_insn)
+    *re_insn = comp_insn;
+  if (comp_insn16 && re_insn16)
+    *re_insn16 = comp_insn16;
+}
 
-	      (*_bfd_error_handler)
-	       ("%B: warning: %s points to unrecognized insns at 0x%lx.",
-		abfd, s, (long) irel->r_offset);
+/* Relax LONGJUMP2 relocation for nds32_elf_relax_section.  */
 
-	      continue;
-	    }
-	}
+static bfd_boolean
+nds32_elf_relax_longjump2 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* There are 3 variations for LONGJUMP2
+     case 2-4;  1st insn convertible, 16-bit on,
+     optimize off or optimize for space
+     bnes38  rt, ra, $1 ; LONGJUMP2
+     j       label      ; 25_PCREL
+     $1:
+
+     case 4-4; 1st insn not convertible
+     bne  rt, ra, $1 ; LONGJUMP2
+     j    label      ; 25_PCREL
+     $1:
+
+     case 4-4; 1st insn convertible, 16-bit on, optimize for speed
+     bne  rt, ra, $1 ; LONGJUMP2
+     j    label      ; 25_PCREL
+     $1: */
+
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+
+  bfd_vma laddr;
+  int seq_len;	/* Original length of instruction sequence.  */
+  Elf_Internal_Rela *i2_irelfn, *cond_irelfn, *irelend;
+  int pic_ext_target = 0, first_size;
+  unsigned int i;
+  bfd_signed_vma foff;
+  uint32_t insn, re_insn = 0;
+  uint16_t insn16, re_insn16 = 0;
+  unsigned long reloc, cond_reloc;
 
-      if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LONGCALL1)
-	{
-	  /* There are 3 variations for LONGCALL1
-	     case 4-4-2; 16-bit on, optimize off or optimize for space
-	     sethi ta, hi20(symbol)     ; LONGCALL1/HI20
-	     ori   ta, ta, lo12(symbol) ; LO12S0
-	     jral5 ta                   ;
-
-	     case 4-4-4; 16-bit off, optimize don't care
-	     sethi ta, hi20(symbol)     ; LONGCALL1/HI20
-	     ori   ta, ta, lo12(symbol) ; LO12S0
-	     jral  ta                   ;
-
-	     case 4-4-4; 16-bit on, optimize for speed
-	     sethi ta, hi20(symbol)     ; LONGCALL1/HI20
-	     ori   ta, ta, lo12(symbol) ; LO12S0
-	     jral  ta                   ; (INSN16)
-	     Check code for -mlong-calls output.  */
-
-	  /* Get the reloc for the address from which the register is
-	     being loaded.  This reloc will tell us which function is
-	     actually being called.  */
-	  hi_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
-						   R_NDS32_HI20_RELA, laddr);
-	  lo_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
-						   R_NDS32_LO12S0_ORI_RELA,
-						   laddr + 4);
-	  i1_offset = 8;
-
-	  if (hi_irelfn == irelend || lo_irelfn == irelend)
-	    {
-	      hi_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
-						       R_NDS32_20_RELA, laddr);
-	      i1_offset = 4;
-	      if (hi_irelfn == irelend)
-		{
-		  (*_bfd_error_handler)
-		   ("%B: warning: R_NDS32_LONGCALL1 points to unrecognized reloc at 0x%lx.",
-		    abfd, (long) irel->r_offset);
-		  continue;
-		}
-	    }
+  enum elf_nds32_reloc_type checked_types[] =
+    { R_NDS32_15_PCREL_RELA, R_NDS32_9_PCREL_RELA };
 
-	  i1_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
-						   R_NDS32_INSN16,
-						   laddr + i1_offset);
-
-	  /* Get the value of the symbol referred to by the reloc.  */
-	  foff = calculate_offset (abfd, sec, hi_irelfn, isymbuf, symtab_hdr,
-				   &pic_ext_target);
+  irelend = internal_relocs + sec->reloc_count;
+  seq_len = GET_SEQ_LEN (irel->r_addend);
+  laddr = irel->r_offset;
+  *insn_len = seq_len;
+  first_size = (seq_len == 6) ? 2 : 4;
+
+  i2_irelfn =
+    find_relocs_at_address_addr (irel, internal_relocs,
+				 irelend, R_NDS32_25_PCREL_RELA,
+				 laddr + first_size);
+
+  for (i = 0; i < sizeof (checked_types) / sizeof(checked_types[0]); i++)
+    {
+      cond_irelfn =
+	find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				     checked_types[i], laddr);
+      if (cond_irelfn != irelend)
+	break;
+    }
 
-	  /* This condition only happened when symbol is undefined.  */
-	  if (pic_ext_target || foff == 0)
-	    continue;
-	  if (foff < -0x1000000 || foff >= 0x1000000)
-	    {
-	      continue;
-	    }
+  if (i2_irelfn == irelend || cond_irelfn == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGJUMP2 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-	  /* Relax to
-	     jal   symbol   ; 25_PCREL */
-	  /* For simplicity of coding, we are going to modify the section
-	     contents, the section relocs, and the BFD symbol table.  We
-	     must tell the rest of the code not to free up this
-	     information.  It would be possible to instead create a table
-	     of changes which have to be made, as is done in coff-mips.c;
-	     that would be more work, but would require less memory when
-	     the linker is run.  */
-
-	  /* Replace the long call with a jal.  */
-	  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-				       R_NDS32_25_PCREL_RELA);
-	  irel->r_addend = hi_irelfn->r_addend;
-
-	  /* We don't resolve this here but resolve it in relocate_section.  */
-	  insn = INSN_JAL;
-
-	  bfd_putb32 (insn, contents + irel->r_offset);
-	  hi_irelfn->r_info =
-	    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
-	  lo_irelfn->r_info =
-	    ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
-	  insn_len = 4;
-	  if (i1_irelfn != irelend)
-	    {
-	      if (!insn_opt
-		  && (i1_irelfn->r_addend & R_NDS32_INSN16_CONVERT_FLAG))
-		{
-		  /* The instruction pointed by R_NDS32_INSN16 is already
-		     turned into 16-bit instruction, so the total length of
-		     this sequence is decreased by 2.  */
-		  seq_len = seq_len - 2;
-		}
-	      i1_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info), R_NDS32_NONE);
-	    }
-	  if (seq_len & 0x2)
-	    {
-	      insn16 = NDS32_NOP16;
-	      bfd_putb16 (insn16, contents + irel->r_offset + insn_len);
-	      lo_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info),
-			      R_NDS32_INSN16);
-	      lo_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-	      insn_len += 2;
-	    }
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LONGCALL2)
-	{
-	  /* bltz  rt, $1   ; LONGCALL2
-	     jal   symbol   ; 25_FIXED
-	     $1: */
-	  /* Get the reloc for the address from which the register is
-	     being loaded.  This reloc will tell us which function is
-	     actually being called.  */
-	  i1_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_25_PCREL_RELA, laddr + 4);
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff =
+    calculate_offset (abfd, sec, i2_irelfn, isymbuf, symtab_hdr,
+		      &pic_ext_target);
+  if (pic_ext_target || foff == 0 || foff < -CONSERVATIVE_16BIT_S1
+      || foff >= CONSERVATIVE_16BIT_S1)
+    return FALSE;
 
-	  if (i1_irelfn == irelend)
-	    {
-	      (*_bfd_error_handler)
-	       ("%B: warning: R_NDS32_LONGCALL2 points to unrecognized reloc at 0x%lx.",
-		abfd, (long) irel->r_offset);
+  /* Get the all corresponding instructions.  */
+  if (first_size == 4)
+    {
+      insn = bfd_getb32 (contents + laddr);
+      nds32_elf_convert_branch (0, insn, &re_insn16, &re_insn);
+    }
+  else
+    {
+      insn16 = bfd_getb16 (contents + laddr);
+      nds32_elf_convert_branch (insn16, 0, &re_insn16, &re_insn);
+    }
 
-	      continue;
-	    }
+  if (re_insn16 && foff >= -(ACCURATE_8BIT_S1 - first_size)
+      && foff < ACCURATE_8BIT_S1 - first_size)
+    {
+      if (first_size == 4)
+	{
+	  /* Don't convert it to 16-bit now, keep this as relaxable for
+	     ``label reloc; INSN16''.  */
 
-	  insn = bfd_getb32 (contents + laddr);
+	  /* Save comp_insn32 to buffer.  */
+	  bfd_putb32 (re_insn, contents + irel->r_offset);
+	  *insn_len = 4;
+	  reloc = (N32_OP6 (re_insn) == N32_OP6_BR1) ?
+	    R_NDS32_15_PCREL_RELA : R_NDS32_17_PCREL_RELA;
+	  cond_reloc = R_NDS32_INSN16;
+	}
+      else
+	{
+	  bfd_putb16 (re_insn16, contents + irel->r_offset);
+	  *insn_len = 2;
+	  reloc = R_NDS32_9_PCREL_RELA;
+	  cond_reloc = R_NDS32_NONE;
+	}
+    }
+  else if (N32_OP6 (re_insn) == N32_OP6_BR1
+	   && (foff >= -(ACCURATE_14BIT_S1 - first_size)
+	       && foff < ACCURATE_14BIT_S1 - first_size))
+    {
+      /* beqs     label    ; 15_PCREL */
+      bfd_putb32 (re_insn, contents + irel->r_offset);
+      *insn_len = 4;
+      reloc = R_NDS32_15_PCREL_RELA;
+      cond_reloc = R_NDS32_NONE;
+    }
+  else if (N32_OP6 (re_insn) == N32_OP6_BR2
+	   && foff >= -CONSERVATIVE_16BIT_S1
+	   && foff < CONSERVATIVE_16BIT_S1)
+    {
+      /* beqz     label ; 17_PCREL */
+      bfd_putb32 (re_insn, contents + irel->r_offset);
+      *insn_len = 4;
+      reloc = R_NDS32_17_PCREL_RELA;
+      cond_reloc = R_NDS32_NONE;
+    }
+  else
+    return FALSE;
 
-	  /* Get the value of the symbol referred to by the reloc.  */
-	  foff =
-	    calculate_offset (abfd, sec, i1_irelfn, isymbuf, symtab_hdr,
-			      &pic_ext_target);
-	  if (foff == 0)
-	    continue;
-	  if (foff < -0x10000 - 4 || foff >= 0x10000 - 4)
-	    /* After all that work, we can't shorten this function call.  */
-	    continue;
+  /* Set all relocations.  */
+  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info), reloc);
+  irel->r_addend = i2_irelfn->r_addend;
+
+  cond_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (cond_irelfn->r_info),
+				      cond_reloc);
+  cond_irelfn->r_addend = 0;
+
+  if ((seq_len ^ *insn_len ) & 0x2)
+    {
+      insn16 = NDS32_NOP16;
+      bfd_putb16 (insn16, contents + irel->r_offset + 4);
+      i2_irelfn->r_offset = 4;
+      i2_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
+					R_NDS32_INSN16);
+      i2_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
+      *insn_len += 2;
+    }
+  else
+    i2_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
+				      R_NDS32_NONE);
+  return TRUE;
+}
 
-	  /* Relax to	bgezal   rt, label ; 17_PCREL
-	     or		bltzal   rt, label ; 17_PCREL */
+/* Relax LONGJUMP3 relocation for nds32_elf_relax_section.  */
 
-	  /* Convert to complimentary conditional call.  */
-	  insn &= 0xffff0000;
-	  insn ^= 0x90000;
-
-	  /* For simplicity of coding, we are going to modify the section
-	     contents, the section relocs, and the BFD symbol table.  We
-	     must tell the rest of the code not to free up this
-	     information.  It would be possible to instead create a table
-	     of changes which have to be made, as is done in coff-mips.c;
-	     that would be more work, but would require less memory when
-	     the linker is run.  */
+static bfd_boolean
+nds32_elf_relax_longjump3 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* There are 5 variations for LONGJUMP3
+     case 1: 2-4-4-2; 1st insn convertible, 16-bit on,
+     optimize off or optimize for space
+     bnes38   rt, ra, $1            ; LONGJUMP3
+     sethi    ta, hi20(symbol)      ; HI20
+     ori      ta, ta, lo12(symbol)  ; LO12S0
+     jr5      ta                    ;
+     $1:                            ;
+
+     case 2: 2-4-4-2; 1st insn convertible, 16-bit on, optimize for speed
+     bnes38   rt, ra, $1           ; LONGJUMP3
+     sethi    ta, hi20(symbol)     ; HI20
+     ori      ta, ta, lo12(symbol) ; LO12S0
+     jr5      ta                   ;
+     $1:                           ; LABEL
+
+     case 3: 4-4-4-2; 1st insn not convertible, 16-bit on,
+     optimize off or optimize for space
+     bne   rt, ra, $1           ; LONGJUMP3
+     sethi ta, hi20(symbol)     ; HI20
+     ori   ta, ta, lo12(symbol) ; LO12S0
+     jr5   ta                   ;
+     $1:                        ;
+
+     case 4: 4-4-4-4; 1st insn don't care, 16-bit off, optimize don't care
+     16-bit off if no INSN16
+     bne   rt, ra, $1           ; LONGJUMP3
+     sethi ta, hi20(symbol)     ; HI20
+     ori   ta, ta, lo12(symbol) ; LO12S0
+     jr    ta                   ;
+     $1:                        ;
+
+     case 5: 4-4-4-4; 1st insn not convertible, 16-bit on, optimize for speed
+     16-bit off if no INSN16
+     bne   rt, ra, $1           ; LONGJUMP3
+     sethi ta, hi20(symbol)     ; HI20
+     ori   ta, ta, lo12(symbol) ; LO12S0
+     jr    ta                   ;
+     $1:                        ; LABEL */
+
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+  enum elf_nds32_reloc_type checked_types[] =
+    { R_NDS32_15_PCREL_RELA, R_NDS32_9_PCREL_RELA };
+
+  int reloc_off = 0, cond_removed = 0, convertible;
+  bfd_vma laddr;
+  int seq_len;	/* Original length of instruction sequence.  */
+  Elf_Internal_Rela *hi_irelfn, *lo_irelfn, *cond_irelfn, *irelend;
+  int pic_ext_target = 0, first_size;
+  unsigned int i;
+  bfd_signed_vma foff;
+  uint32_t insn, re_insn = 0;
+  uint16_t insn16, re_insn16 = 0;
+  unsigned long reloc, cond_reloc;
 
-	  /* Replace the long call with a bgezal.  */
-	  irel->r_info =
-	    ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info),
-			  R_NDS32_17_PCREL_RELA);
+  irelend = internal_relocs + sec->reloc_count;
+  seq_len = GET_SEQ_LEN (irel->r_addend);
+  laddr = irel->r_offset;
+  *insn_len = seq_len;
 
-	  bfd_putb32 (insn, contents + irel->r_offset);
+  convertible = IS_1ST_CONVERT (irel->r_addend);
 
-	  i1_irelfn->r_info =
-	    ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info), R_NDS32_NONE);
-	  cond_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_17_PCREL_RELA, laddr);
-	  if (cond_irelfn != irelend)
-	    {
-	      cond_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info),
-			      R_NDS32_17_PCREL_RELA);
-	      cond_irelfn->r_addend = i1_irelfn->r_addend;
-	    }
-	  insn_len = 4;
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LONGCALL3)
-	{
-	  /* There are 3 variations for LONGCALL3
-	     case 4-4-4-2; 16-bit on, optimize off or optimize for space
-	     bltz  rt,   $1                ; LONGCALL3
-	     sethi ta,   hi20(symbol)      ; HI20
-	     ori   ta, ta,  lo12(symbol)   ; LO12S0
-	     jral5 ta                      ;
-	     $1
-
-	     case 4-4-4-4; 16-bit off, optimize don't care
-	     bltz  rt,   $1                ; LONGCALL3
-	     sethi ta,   hi20(symbol)      ; HI20
-	     ori   ta, ta,  lo12(symbol)   ; LO12S0
-	     jral  ta                      ;
-	     $1
-
-	     case 4-4-4-4; 16-bit on, optimize for speed
-	     bltz  rt,   $1                ; LONGCALL3
-	     sethi ta,   hi20(symbol)      ; HI20
-	     ori   ta, ta,  lo12(symbol)   ; LO12S0
-	     jral  ta                      ; (INSN16)
-	     $1 */
-
-	  /* Get the reloc for the address from which the register is
-	     being loaded.  This reloc will tell us which function is
-	     actually being called.  */
-	  hi_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_HI20_RELA, laddr + 4);
-	  lo_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_LO12S0_ORI_RELA, laddr + 8);
-	  i2_offset = 12;
+  if (convertible)
+    first_size = 2;
+  else
+    first_size = 4;
 
-	  if (hi_irelfn == irelend || lo_irelfn == irelend)
-	    {
-	      i2_offset = 8;
-	      hi_irelfn =
-		find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					     R_NDS32_20_RELA, laddr + 4);
+  /* Get all needed relocations.  */
+  hi_irelfn =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_HI20_RELA, laddr + first_size);
+  lo_irelfn =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_LO12S0_ORI_RELA,
+				 laddr + first_size + 4);
+
+  for (i = 0; i < sizeof (checked_types) / sizeof (checked_types[0]); i++)
+    {
+      cond_irelfn =
+	find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				     checked_types[i], laddr);
+      if (cond_irelfn != irelend)
+	break;
+    }
 
-	      if (hi_irelfn == irelend)
-		{
-		  (*_bfd_error_handler)
-		   ("%B: warning: R_NDS32_LONGCALL3 points to unrecognized reloc at 0x%lx.",
-		    abfd, (long) irel->r_offset);
-		  continue;
-		}
-	    }
+  if (hi_irelfn == irelend || lo_irelfn == irelend || cond_irelfn == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGJUMP3 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-	  i2_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_INSN16, laddr + i2_offset);
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, hi_irelfn, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-	  /* Get the value of the symbol referred to by the reloc.  */
-	  foff =
-	    calculate_offset (abfd, sec, hi_irelfn, isymbuf, symtab_hdr,
-			      &pic_ext_target);
-	  if (pic_ext_target || foff == 0)
-	    continue;
-	  if (foff < -0x1000000 || foff >= 0x1000000)
-	    continue;
+  if (pic_ext_target || foff == 0 || foff < -CONSERVATIVE_24BIT_S1
+      || foff >= CONSERVATIVE_24BIT_S1)
+    return FALSE;
 
-	  insn = bfd_getb32 (contents + laddr);
-	  if (foff >= -0x10000 - 4 && foff < 0x10000 - 4)
-	    {
-	      /* Relax to  bgezal   rt, label ; 17_PCREL
-		 or	   bltzal   rt, label ; 17_PCREL */
+  /* Get the all corresponding instructions.  */
+  if (first_size == 4)
+    {
+      insn = bfd_getb32 (contents + laddr);
+      nds32_elf_convert_branch (0, insn, &re_insn16, &re_insn);
+    }
+  else
+    {
+      insn16 = bfd_getb16 (contents + laddr);
+      nds32_elf_convert_branch (insn16, 0, &re_insn16, &re_insn);
+    }
 
-	      /* Convert to complimentary conditional call.  */
-	      insn &= 0xffff0000;
-	      insn ^= 0x90000;
-	      bfd_putb32 (insn, contents + irel->r_offset);
+  /* For simplicity of coding, we are going to modify the section
+     contents, the section relocs, and the BFD symbol table.  We
+     must tell the rest of the code not to free up this
+     information.  It would be possible to instead create a table
+     of changes which have to be made, as is done in coff-mips.c;
+     that would be more work, but would require less memory when
+     the linker is run.  */
+
+  if (re_insn16 && foff >= -ACCURATE_8BIT_S1 - first_size
+      && foff < ACCURATE_8BIT_S1 - first_size)
+    {
+      if (!(seq_len & 0x2))
+	{
+	  /* Don't convert it to 16-bit now, keep this as relaxable
+	     for ``label reloc; INSN1a''6.  */
+	  /* Save comp_insn32 to buffer.  */
+	  bfd_putb32 (re_insn, contents + irel->r_offset);
+	  *insn_len = 4;
+	  reloc = (N32_OP6 (re_insn) == N32_OP6_BR1) ?
+	    R_NDS32_15_PCREL_RELA : R_NDS32_17_PCREL_RELA;
+	  cond_reloc = R_NDS32_INSN16;
+	}
+      else
+	{
+	  /* Not optimize for speed; convert sequence to 16-bit.  */
+	  /* Save comp_insn16 to buffer.  */
+	  bfd_putb16 (re_insn16, contents + irel->r_offset);
+	  *insn_len = 2;
+	  reloc = R_NDS32_9_PCREL_RELA;
+	  cond_reloc = R_NDS32_NONE;
+	}
+      cond_removed = 1;
+    }
+  else if (N32_OP6 (re_insn) == N32_OP6_BR1
+	   && (foff >= -(ACCURATE_14BIT_S1 - first_size)
+	       && foff < ACCURATE_14BIT_S1 - first_size))
+    {
+      /* beqs     label    ; 15_PCREL */
+      bfd_putb32 (re_insn, contents + irel->r_offset);
+      *insn_len = 4;
+      reloc = R_NDS32_15_PCREL_RELA;
+      cond_reloc = R_NDS32_NONE;
+      cond_removed = 1;
+    }
+  else if (N32_OP6 (re_insn) == N32_OP6_BR2
+	   && foff >= -CONSERVATIVE_16BIT_S1
+	   && foff < CONSERVATIVE_16BIT_S1)
+    {
+      /* beqz     label ; 17_PCREL */
+      bfd_putb32 (re_insn, contents + irel->r_offset);
+      *insn_len = 4;
+      reloc = R_NDS32_17_PCREL_RELA;
+      cond_reloc = R_NDS32_NONE;
+      cond_removed = 1;
+    }
+  else if (foff >= -CONSERVATIVE_24BIT_S1 - reloc_off
+	   && foff < CONSERVATIVE_24BIT_S1 - reloc_off)
+    {
+      /* Relax to one of the following 3 variations
+
+	 case 2-4; 1st insn convertible, 16-bit on, optimize off or optimize
+	 for space
+	 bnes38  rt, $1 ; LONGJUMP2
+	 j       label  ; 25_PCREL
+	 $1
+
+	 case 4-4; 1st insn not convertible, others don't care
+	 bne   rt, ra, $1 ; LONGJUMP2
+	 j     label      ; 25_PCREL
+	 $1
+
+	 case 4-4; 1st insn convertible, 16-bit on, optimize for speed
+	 bne   rt, ra, $1 ; LONGJUMP2
+	 j     label      ; 25_PCREL
+	 $1 */
+
+      /* Offset for first instruction.  */
+
+      /* Use j label as second instruction.  */
+      *insn_len = 4 + first_size;
+      insn = INSN_J;
+      bfd_putb32 (insn, contents + hi_irelfn->r_offset);
+      reloc = R_NDS32_LONGJUMP2;
+      cond_reloc = R_NDS32_25_PLTREL;
+    }
+    else
+      return FALSE;
 
-	      insn_len = 4;
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-			      R_NDS32_NONE);
-	      hi_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
-	      lo_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
-	      if (i2_irelfn != irelend)
-		{
-		  if (!insn_opt
-		      && (i2_irelfn->r_addend & R_NDS32_INSN16_CONVERT_FLAG))
-		    {
-		      /* The instruction pointed by R_NDS32_INSN16 is already
-			 turned into 16-bit instruction, so the total length
-			 of this sequence is decreased by 2.  */
-		      seq_len = seq_len - 2;
-		    }
-		  i2_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
-				  R_NDS32_NONE);
-		}
-	      cond_irelfn =
-		find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					     R_NDS32_17_PCREL_RELA, laddr);
-	      if (cond_irelfn != irelend)
-		{
-		  cond_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-				  R_NDS32_17_PCREL_RELA);
-		  cond_irelfn->r_addend = hi_irelfn->r_addend;
-		}
+    if (cond_removed == 1)
+      {
+	/* Set all relocations.  */
+	irel->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), reloc);
+	irel->r_addend = hi_irelfn->r_addend;
+
+	cond_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (cond_irelfn->r_info),
+					    cond_reloc);
+	cond_irelfn->r_addend = 0;
+	hi_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
+					  R_NDS32_NONE);
+      }
+    else
+      {
+	irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), reloc);
+	irel->r_addend = irel->r_addend;
+	hi_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
+					  cond_reloc);
+      }
 
-	      if (seq_len & 0x2)
-		{
-		  insn16 = NDS32_NOP16;
-		  bfd_putb16 (insn16, contents + irel->r_offset + insn_len);
-		  hi_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-				  R_NDS32_INSN16);
-		  hi_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-		  insn_len += 2;
-		}
-	    }
-	  else
-	    {
-	      /* Relax to the following instruction sequence
-		  bltz  rt,   $1 ; LONGCALL2
-		  jal   symbol   ; 25_PCREL
-		  $1
-	       */
-	      insn = (insn & 0xffff0000) | 4;
-	      bfd_putb32 (insn, contents + irel->r_offset);
-	      /* This relax is incorrect.  Review, fix and test it.
-		 Check 6a726f0f for the oringnal code.  */
-	      BFD_ASSERT (0);
-
-	      bfd_putb32 (insn, contents + irel->r_offset + 4);
-	      insn_len = 8;
-	      hi_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-			      R_NDS32_25_PCREL_RELA);
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_LONGCALL2);
+  if ((seq_len ^ *insn_len ) & 0x2)
+    {
+      insn16 = NDS32_NOP16;
+      bfd_putb16 (insn16, contents + irel->r_offset + *insn_len);
+      lo_irelfn->r_offset = *insn_len;
+      lo_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info),
+					R_NDS32_INSN16);
+      lo_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
+      *insn_len += 2;
+    }
+  else
+    lo_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info),
+				      R_NDS32_NONE);
+  return TRUE;
+}
 
-	      lo_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
-	      if (i2_irelfn != irelend)
-		{
-		  i2_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
-				  R_NDS32_NONE);
-		}
-	      if (seq_len & 0x2)
-		{
-		  insn16 = NDS32_NOP16;
-		  bfd_putb16 (insn16, contents + irel->r_offset + insn_len);
-		  lo_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info),
-				  R_NDS32_INSN16);
-		  lo_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-		  insn_len += 2;
-		}
-	    }
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LONGJUMP1)
-	{
-	  /* There are 3 variations for LONGJUMP1
-	     case 4-4-2; 16-bit bit on, optimize off or optimize for space
-	     sethi ta, hi20(symbol)      ; LONGJUMP1/HI20
-	     ori   ta, ta, lo12(symbol)  ; LO12S0
-	     jr5   ta                    ;
-
-	     case 4-4-4; 16-bit off, optimize don't care
-	     sethi ta, hi20(symbol)      ; LONGJUMP1/HI20
-	     ori   ta, ta, lo12(symbol)  ; LO12S0
-	     jr    ta                    ;
-
-	     case 4-4-4; 16-bit on, optimize for speed
-	     sethi ta, hi20(symbol)      ; LONGJUMP1/HI20
-	     ori   ta, ta, lo12(symbol)  ; LO12S0
-	     jr    ta                    ; INSN16 */
-
-	  /* Get the reloc for the address from which the register is
-	     being loaded.  This reloc will tell us which function is
-	     actually being called.  */
-	  hi_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_HI20_RELA, laddr);
-	  lo_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_LO12S0_ORI_RELA, laddr + 4);
-	  i1_offset = 8;
+/* Relax LONGCALL4 relocation for nds32_elf_relax_section.  */
 
-	  if (hi_irelfn == irelend || lo_irelfn == irelend)
-	    {
-	      hi_irelfn =
-		find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					     R_NDS32_20_RELA, laddr);
-	      i1_offset = 4;
+static bfd_boolean
+nds32_elf_relax_longcall4 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* The pattern for LONGCALL4.  Support for function cse.
+     sethi ta, hi20(symbol)	; LONGCALL4/HI20
+     ori   ta, ta, lo12(symbol)	; LO12S0_ORI/PTR
+     jral  ta			; PTR_RES/EMPTY/INSN16  */
 
-	      if (hi_irelfn == irelend)
-		{
-		  (*_bfd_error_handler)
-		   ("%B: warning: R_NDS32_LONGJUMP1 points to unrecognized reloc at 0x%lx.",
-		    abfd, (long) irel->r_offset);
+  bfd_vma laddr;
+  uint32_t insn;
+  Elf_Internal_Rela *hi_irel, *ptr_irel, *insn_irel, *em_irel, *call_irel;
+  Elf_Internal_Rela *irelend;
+  int pic_ext_target = 0;
+  bfd_signed_vma foff;
 
-		  continue;
-		}
-	    }
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
 
-	  i1_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_INSN16, laddr + i1_offset);
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+  hi_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					 R_NDS32_HI20_RELA, laddr);
 
-	  /* Get the value of the symbol referred to by the reloc.  */
-	  foff =
-	    calculate_offset (abfd, sec, hi_irelfn, isymbuf, symtab_hdr,
-			      &pic_ext_target);
-	  if (pic_ext_target || foff == 0)
-	    continue;
+  if (hi_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGCALL4 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-	  if (foff >= -0x1000000 && foff < 0x1000000)
-	    {
-	      /* j     label */
-	      if (!insn_opt && insn16_on && foff >= -0x100 && foff < 0x100
-		  && (seq_len & 0x2))
-		{
-		  /* 16-bit on, but not optimized for speed.  */
-		  reloc = R_NDS32_9_PCREL_RELA;
-		  insn16 = INSN_J8;
-		  bfd_putb16 (insn16, contents + irel->r_offset);
-		  insn_len = 2;
-		}
-	      else
-		{
-		  reloc = R_NDS32_25_PCREL_RELA;
-		  insn = INSN_J;
-		  bfd_putb32 (insn, contents + irel->r_offset);
-		  insn_len = 4;
-		}
-	    }
-	  else
-	    {
-	      continue;
-	    }
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, hi_irel, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-	  /* For simplicity of coding, we are going to modify the section
-	     contents, the section relocs, and the BFD symbol table.  We
-	     must tell the rest of the code not to free up this
-	     information.  It would be possible to instead create a table
-	     of changes which have to be made, as is done in coff-mips.c;
-	     that would be more work, but would require less memory when
-	     the linker is run.  */
+  /* This condition only happened when symbol is undefined.  */
+  if (pic_ext_target || foff == 0 || foff < -CONSERVATIVE_24BIT_S1
+      || foff >= CONSERVATIVE_24BIT_S1)
+    return FALSE;
 
-	  if (insn == 4)
-	    {
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_INSN16);
-	      irel->r_addend = 0;
-	    }
-	  else
-	    irel->r_info =
-	      ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+  /* Relax to: jal symbol; 25_PCREL */
+  /* For simplicity of coding, we are going to modify the section
+     contents, the section relocs, and the BFD symbol table.  We
+     must tell the rest of the code not to free up this
+     information.  It would be possible to instead create a table
+     of changes which have to be made, as is done in coff-mips.c;
+     that would be more work, but would require less memory when
+     the linker is run.  */
+
+  ptr_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					  R_NDS32_PTR_RESOLVED, irel->r_addend);
+  em_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					  R_NDS32_EMPTY, irel->r_addend);
 
-	  hi_irelfn->r_info =
-	    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), reloc);
-	  lo_irelfn->r_info =
-	    ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
-	  if (i1_irelfn != irelend)
-	    {
-	      if (!insn_opt
-		  && (i1_irelfn->r_addend & R_NDS32_INSN16_CONVERT_FLAG))
-		{
-		  /* The instruction pointed by R_NDS32_INSN16 is already
-		     turned into 16-bit instruction, so the total length
-		     of this sequence is decreased by 2.  */
-		  seq_len = seq_len - 2;
-		  i1_irelfn->r_addend = 0;
-		}
-	      i1_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info), R_NDS32_NONE);
-	    }
+  if (ptr_irel == irelend || em_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGCALL4 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
+  /* Check these is enough space to insert jal in R_NDS32_EMPTY.  */
+  insn = bfd_getb32 (contents + irel->r_addend);
+  if (insn & 0x80000000)
+    return FALSE;
 
-	  if ((seq_len & 0x2) && ((insn_len & 2) == 0))
-	    {
-	      insn16 = NDS32_NOP16;
-	      bfd_putb16 (insn16, contents + irel->r_offset + insn_len);
-	      lo_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info),
-			      R_NDS32_INSN16);
-	      lo_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-	      insn_len += 2;
-	    }
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LONGJUMP2)
-	{
-	  /* There are 3 variations for LONGJUMP2
-	     case 2-4;  1st insn convertible, 16-bit on, optimize off or optimize for space
-	     bnes38  rt, ra, $1 ; LONGJUMP2
-	     j       label      ; 25_PCREL
-	     $1:
-
-	     case 4-4; 1st insn not convertible
-	     bne  rt, ra, $1 ; LONGJUMP2
-	     j    label      ; 25_PCREL
-	     $1:
-
-	     case 4-4; 1st insn convertible, 16-bit on, optimize for speed
-	     bne  rt, ra, $1 ; LONGJUMP2/INSN16
-	     j    label      ; 25_PCREL
-	     $1: */
-
-	  /* Get the reloc for the address from which the register is
-	     being loaded.  This reloc will tell us which function is
-	     actually being called.  */
-	  enum elf_nds32_reloc_type checked_types[] =
-	    { R_NDS32_15_PCREL_RELA, R_NDS32_9_PCREL_RELA };
-	  hi_off = (seq_len == 6) ? 2 : 4;
-	  i2_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_25_PCREL_RELA,
-					 laddr + hi_off);
+  /* Replace the long call with a jal.  */
+  em_irel->r_info = ELF32_R_INFO (ELF32_R_SYM (em_irel->r_info),
+				  R_NDS32_25_PCREL_RELA);
+  ptr_irel->r_addend = 1;
+
+  /* We don't resolve this here but resolve it in relocate_section.  */
+  insn = INSN_JAL;
+  bfd_putb32 (insn, contents + em_irel->r_offset);
+
+  irel->r_info =
+    ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+
+  /* If there is function cse, HI20 can not remove now.  */
+  call_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					   R_NDS32_LONGCALL4, laddr);
+  if (call_irel == irelend)
+    {
+      *insn_len = 0;
+      hi_irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (hi_irel->r_info), R_NDS32_NONE);
+    }
+
+  insn_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					  R_NDS32_INSN16, irel->r_addend);
+  if (insn_irel != irelend)
+    insn_irel->r_info =
+      ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
 
-	  for (i = 0; i < 2; i++)
-	    {
-	      cond_irelfn =
-		find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					     checked_types[i], laddr);
-	      if (cond_irelfn != irelend)
-		break;
-	    }
-	  if (i2_irelfn == irelend)
-	    {
-	      (*_bfd_error_handler)
-	       ("%B: warning: R_NDS32_LONGJUMP2 points to unrecognized reloc at 0x%lx.",
-		abfd, (long) irel->r_offset);
+  return TRUE;
+}
 
-	      continue;
-	    }
+/* Relax LONGCALL5 relocation for nds32_elf_relax_section.  */
 
-	  i1_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_INSN16, laddr);
+static bfd_boolean
+nds32_elf_relax_longcall5 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* The pattern for LONGCALL5.
+     bltz  rt, .L1	; LONGCALL5/17_PCREL
+     jal   symbol	; 25_PCREL
+     .L1:  */
 
-	  if (i1_irelfn != irelend && !insn_opt
-	      && (i1_irelfn->r_addend & R_NDS32_INSN16_CONVERT_FLAG))
-	    {
-	      /* The instruction pointed by R_NDS32_INSN16 is already turned
-		 into 16-bit instruction, so the total length of this sequence
-		 is decreased by 2.  */
-	      seq_len = seq_len - 2;
-	    }
+  bfd_vma laddr;
+  uint32_t insn;
+  Elf_Internal_Rela *cond_irel, *irelend;
+  int pic_ext_target = 0;
+  bfd_signed_vma foff;
 
-	  if (seq_len == 8)
-	    {
-	      /* possible cases
-		 1. range is outside of +/-256 bytes
-		 2. optimize is on with INSN16
-		 3. optimize is off  */
-	      insn_off = 4;
-	      insn = bfd_getb32 (contents + laddr);
-	      if (!insn16_on)
-		{
-		  /* 16-bit is off, can't convert to 16-bit.  */
-		  comp_insn16 = 0;
-		}
-	      else if (N32_OP6 (insn) == N32_OP6_BR1)
-		{
-		  /* beqs     label    ; 15_PCREL (INSN16) */
-		  comp_insn = (insn ^ 0x4000) & 0xffffc000;
-		  i_mask = 0xffffc000;
-		  if (N32_IS_RT3 (insn) && N32_RA5 (insn) == REG_R5)
-		    {
-		      /* Insn can be contracted to 16-bit.  */
-		      comp_insn16 =
-			(insn & 0x4000) ? INSN_BNES38 : INSN_BEQS38;
-		      comp_insn16 |= (N32_RT5 (insn) & 0x7) << 8;
-		    }
-		  else
-		    {
-		      /* No conversion.  */
-		      comp_insn16 = 0;
-		    }
-		}
-	      else
-		{
-		  comp_insn = (insn ^ 0x10000) & 0xffffc000;
-		  i_mask = 0xffff0000;
-		  if (N32_BR2_SUB (insn) == N32_BR2_BEQZ
-		      || N32_BR2_SUB (insn) == N32_BR2_BNEZ)
-		    {
-		      if (N32_IS_RT3 (insn))
-			{
-			  /* Insn can be contracted to 16-bit.  */
-			  comp_insn16 =
-			    (insn & 0x10000) ? INSN_BNEZ38 : INSN_BEQZ38;
-			  comp_insn16 |= (N32_RT5 (insn) & 0x7) << 8;
-			}
-		      else if (N32_RT5 (insn) == REG_R15)
-			{
-			  /* Insn can be contracted to 16-bit.  */
-			  comp_insn16 =
-			    (insn & 0x10000) ? INSN_BNES38 : INSN_BEQS38;
-			}
-		      else
-			{
-			  /* No conversion.  */
-			  comp_insn16 = 0;
-			}
-		    }
-		  else
-		    {
-		      /* No conversion.  */
-		      comp_insn16 = 0;
-		    }
-		}
-	    }
-	  else
-	    {
-	      /* First instruction is 16-bit.  */
-	      insn_off = 2;
-	      insn16 = bfd_getb16 (contents + laddr);
-	      switch ((insn16 & 0xf000) >> 12)
-		{
-		case 0xc:
-		  /* beqz38 or bnez38 */
-		  comp_insn = (insn16 & 0x0800) ? INSN_BNEZ : INSN_BEQZ;
-		  comp_insn |= ((insn16 & 0x0700) >> 8) << 20;
-		  comp_insn16 = (insn16 ^ 0x0800) & 0xff00;
-		  insn = (insn16 & 0x0800) ? INSN_BEQZ : INSN_BNEZ;
-		  insn |= ((insn16 & 0x0700) >> 8) << 20;
-		  i_mask = 0xffff0000;
-		  break;
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
+  insn = bfd_getb32 (contents + laddr);
 
-		case 0xd:
-		  /* beqs38 or bnes38 */
-		  comp_insn = (insn16 & 0x0800) ? INSN_BNE : INSN_BEQ;
-		  comp_insn |= (((insn16 & 0x0700) >> 8) << 20)
-		    | (REG_R5 << 15);
-		  comp_insn16 = (insn16 ^ 0x0800) & 0xff00;
-		  insn = (insn16 & 0x0800) ? INSN_BEQ : INSN_BNE;
-		  insn |= (((insn16 & 0x0700) >> 8) << 20) | (REG_R5 << 15);
-		  i_mask = 0xffffc000;
-		  break;
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+  cond_irel =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_25_PCREL_RELA, irel->r_addend);
+  if (cond_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGCALL5 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-		case 0xe:
-		  /* beqzS8 or bnezS8 */
-		  comp_insn = (insn16 & 0x0100) ? INSN_BNEZ : INSN_BEQZ;
-		  comp_insn |= REG_R15 << 20;
-		  comp_insn16 = (insn16 ^ 0x0100) & 0xff00;
-		  insn = (insn16 & 0x0100) ? INSN_BEQZ : INSN_BNEZ;
-		  insn |= REG_R15 << 20;
-		  i_mask = 0xffff0000;
-		  break;
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, cond_irel, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-		default:
-		  comp_insn16 = 0;
-		  insn = 0;
-		  break;
-		}
-	    }
+  if (foff == 0 || foff < -CONSERVATIVE_16BIT_S1
+      || foff >= CONSERVATIVE_16BIT_S1)
+    return FALSE;
 
-	  /* Get the value of the symbol referred to by the reloc.  */
-	  foff =
-	    calculate_offset (abfd, sec, i2_irelfn, isymbuf, symtab_hdr,
-			      &pic_ext_target);
-	  if (pic_ext_target || foff == 0)
-	    continue;
+  /* Relax to	bgezal   rt, label ; 17_PCREL
+     or		bltzal   rt, label ; 17_PCREL */
 
-	  if (comp_insn16
-	      && foff >= -0x100 - insn_off && foff < 0x100 - insn_off)
-	    {
-	      if (insn_opt || seq_len == 8)
-		{
-		  /* Don't convert it to 16-bit now, keep this as relaxable for
-		     ``label reloc; INSN16''.  */
+  /* Convert to complimentary conditional call.  */
+  insn = CONVERT_CONDITION_CALL (insn);
 
-		  /* Save comp_insn32 to buffer.  */
-		  insn = comp_insn;
-		  bfd_putb32 (insn, contents + irel->r_offset);
-		  insn_len = 4;
-		  reloc = (N32_OP6 (comp_insn) == N32_OP6_BR1) ?
-		    R_NDS32_15_PCREL_RELA : R_NDS32_17_PCREL_RELA;
+  /* For simplicity of coding, we are going to modify the section
+     contents, the section relocs, and the BFD symbol table.  We
+     must tell the rest of the code not to free up this
+     information.  It would be possible to instead create a table
+     of changes which have to be made, as is done in coff-mips.c;
+     that would be more work, but would require less memory when
+     the linker is run.  */
+
+  /* Modify relocation and contents.  */
+  cond_irel->r_info =
+    ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info), R_NDS32_17_PCREL_RELA);
+
+  /* Replace the long call with a bgezal.  */
+  bfd_putb32 (insn, contents + cond_irel->r_offset);
+  *insn_len = 0;
+
+  /* Clean unnessary relocations.  */
+  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+
+  cond_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					   R_NDS32_17_PCREL_RELA, laddr);
+  cond_irel->r_info =
+    ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info), R_NDS32_NONE);
 
-		  if (cond_irelfn != irelend)
-		    {
-		      cond_irelfn->r_info =
-			ELF32_R_INFO (ELF32_R_SYM (cond_irelfn->r_info),
-				      R_NDS32_INSN16);
-		      cond_irelfn->r_addend = 0;
-		    }
-		}
-	      else
-		{
-		  /* Not optimize for speed; convert sequence to 16-bit.  */
+  return TRUE;
+}
 
-		  /* Save comp_insn16 to buffer.  */
-		  insn16 = comp_insn16;
-		  bfd_putb16 (insn16, contents + irel->r_offset);
-		  insn_len = 2;
-		  reloc = R_NDS32_9_PCREL_RELA;
-		}
-
-	      /* Change relocs.  */
-	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info), reloc);
-	      irel->r_addend = i2_irelfn->r_addend;
-
-	      i2_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
-						R_NDS32_NONE);
-	    }
-	  else if (N32_OP6 (insn) == N32_OP6_BR1
-		   && (foff >= -0x4000 - insn_off && foff < 0x4000 - insn_off))
-	    {
-	      /* beqs     label    ; 15_PCREL */
-	      insn = comp_insn;
-	      bfd_putb32 (insn, contents + irel->r_offset);
-	      insn_len = 4;
-
-	      /* Change relocs.  */
-	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
-					   R_NDS32_15_PCREL_RELA);
-	      irel->r_addend = i2_irelfn->r_addend;
-	      if (i1_irelfn != irelend)
-		i1_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info),
-						  R_NDS32_NONE);
+/* Relax LONGCALL6 relocation for nds32_elf_relax_section.  */
 
-	      if (seq_len & 0x2)
-		{
-		  insn16 = NDS32_NOP16;
-		  bfd_putb16 (insn16, contents + irel->r_offset + insn_len);
-		  i2_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
-				  R_NDS32_INSN16);
-		  i2_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-		  insn_len += 2;
-		}
-	    }
-	  else if (N32_OP6 (insn) == N32_OP6_BR2 && foff >= -0x10000 && foff < 0x10000)
-	    {
-	      /* beqz     label ; 17_PCREL */
-	      insn = comp_insn;
-	      bfd_putb32 (insn, contents + irel->r_offset);
-	      insn_len = 4;
-
-	      /* Change relocs.  */
-	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
-					   R_NDS32_17_PCREL_RELA);
-	      irel->r_addend = i2_irelfn->r_addend;
-	      if (i1_irelfn != irelend)
-		i1_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info),
-						  R_NDS32_NONE);
-	      if (seq_len & 0x2)
-		{
-		  insn16 = NDS32_NOP16;
-		  bfd_putb16 (insn16, contents + irel->r_offset + insn_len);
-		  i2_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
-						    R_NDS32_INSN16);
-		  i2_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-		  insn_len += 2;
-		}
-	    }
-	  else
-	    continue;
+static bfd_boolean
+nds32_elf_relax_longcall6 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* The pattern for LONGCALL6.
+     bltz  rt,   .L1			; LONGCALL6/17_PCREL
+     sethi ta,   hi20(symbol)		; HI20/PTR
+     ori   ta, ta,  lo12(symbol)	; LO12S0_ORI/PTR
+     jral  ta				; PTR_RES/EMPTY/INSN16
+     .L1  */
 
-	  if (cond_irelfn != irelend)
-	    cond_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (cond_irelfn->r_info),
-						R_NDS32_NONE);
-
-
-	  /* For simplicity of coding, we are going to modify the section
-	     contents, the section relocs, and the BFD symbol table.  We
-	     must tell the rest of the code not to free up this
-	     information.  It would be possible to instead create a table
-	     of changes which have to be made, as is done in coff-mips.c;
-	     that would be more work, but would require less memory when
-	     the linker is run.  */
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LONGJUMP3)
-	{
-	  int reloc_off = 0, cond_removed = 0;
-	  /* Get the reloc for the address from which the register is
-	     being loaded.  This reloc will tell us which function is
-	     actually being called.  */
-	  enum elf_nds32_reloc_type checked_types[] =
-	    { R_NDS32_15_PCREL_RELA, R_NDS32_9_PCREL_RELA };
-
-	  /* There are 5 variations for LONGJUMP3
-	     case 1: 2-4-4-2; 1st insn convertible, 16-bit on,
-			      optimize off or optimize for space
-	     bnes38   rt, ra, $1            ; LONGJUMP3
-	     sethi    ta, hi20(symbol)      ; HI20
-	     ori      ta, ta, lo12(symbol)  ; LO12S0
-	     jr5      ta                    ;
-	     $1:                            ;
-
-	     case 2: 2-4-4-2; 1st insn convertible, 16-bit on, optimize for speed
-	     bnes38   rt, ra, $1           ; LONGJUMP3
-	     sethi    ta, hi20(symbol)     ; HI20
-	     ori      ta, ta, lo12(symbol) ; LO12S0
-	     jr5      ta                   ;
-	     $1:                           ; LABEL
-
-	     case 3: 4-4-4-2; 1st insn not convertible, 16-bit on,
-			      optimize off or optimize for space
-	     bne   rt, ra, $1           ; LONGJUMP3
-	     sethi ta, hi20(symbol)     ; HI20
-	     ori   ta, ta, lo12(symbol) ; LO12S0
-	     jr5   ta                   ;
-	     $1:                        ;
-
-	     case 4: 4-4-4-4; 1st insn don't care, 16-bit off, optimize don't care
-	     16-bit off if no INSN16
-	     bne   rt, ra, $1           ; LONGJUMP3
-	     sethi ta, hi20(symbol)     ; HI20
-	     ori   ta, ta, lo12(symbol) ; LO12S0
-	     jr    ta                   ;
-	     $1:                        ;
-
-	     case 5: 4-4-4-4; 1st insn not convertible, 16-bit on, optimize for speed
-	     16-bit off if no INSN16
-	     bne   rt, ra, $1           ; LONGJUMP3
-	     sethi ta, hi20(symbol)     ; HI20
-	     ori   ta, ta, lo12(symbol) ; LO12S0
-	     jr    ta                   ; INSN16
-	     $1:                        ; LABEL
-	   */
-
-	  if (convertible)
-	    {
-	      hi_off = 2;
-	      if (insn_opt)
-		reloc_off = 2;
-	    }
-	  else
-	    {
-	      hi_off = 4;
-	    }
+  bfd_vma laddr;
+  uint32_t insn;
+  Elf_Internal_Rela *em_irel, *cond_irel, *irelend;
+  int pic_ext_target = 0;
+  bfd_signed_vma foff;
 
-	  hi_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
-						   R_NDS32_HI20_RELA,
-						   laddr + hi_off);
-	  lo_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
-						   R_NDS32_LO12S0_ORI_RELA,
-						   laddr + hi_off + 4);
-	  i2_offset = 8;
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
 
-	  if (hi_irelfn == irelend || lo_irelfn == irelend)
-	    {
-	      hi_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
-						       R_NDS32_20_RELA,
-						       laddr + hi_off);
-	      i2_offset = 4;
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+  em_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					 R_NDS32_EMPTY, irel->r_addend);
 
-	      if (hi_irelfn == irelend)
-		{
-		  (*_bfd_error_handler)
-		   ("%B: warning: R_NDS32_LONGJUMP3 points to unrecognized reloc at 0x%lx.",
-		    abfd, (long) irel->r_offset);
-		  continue;
-		}
-	    }
+  if (em_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGCALL6 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-	  i2_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_INSN16,
-					 laddr + hi_off + i2_offset);
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, em_irel, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-	  /* Get the value of the symbol referred to by the reloc.  */
-	  foff =
-	    calculate_offset (abfd, sec, hi_irelfn, isymbuf, symtab_hdr,
-			      &pic_ext_target);
-	  if (pic_ext_target || foff == 0)
-	    continue;
+  if (pic_ext_target || foff == 0 || foff < -CONSERVATIVE_24BIT_S1
+      || foff >= CONSERVATIVE_24BIT_S1)
+    return FALSE;
 
-	  /* Set offset adjustment value.  */
-	  /* Check instruction type and set complimentary instruction.  */
-	  if (hi_off == 2)
-	    {
-	      /* First instruction is 16-bit.  */
-	      insn_off = 2;
-	      insn16 = bfd_getb16 (contents + laddr);
-	      switch ((insn16 & 0xf000) >> 12)
-		{
-		case 0xc:
-		  /* beqz38 or bnez38 */
-		  comp_insn = (insn16 & 0x0800) ? INSN_BNEZ : INSN_BEQZ;
-		  comp_insn |= ((insn16 & 0x0700) >> 8) << 20;
-		  comp_insn16 = (insn16 ^ 0x0800) & 0xff00;
-		  insn = (insn16 & 0x0800) ? INSN_BEQZ : INSN_BNEZ;
-		  insn |= ((insn16 & 0x0700) >> 8) << 20;
-		  i_mask = 0xffff0000;
-		  break;
+  /* Check these is enough space to insert jal in R_NDS32_EMPTY.  */
+  insn = bfd_getb32 (contents + irel->r_addend);
+  if (insn & 0x80000000)
+    return FALSE;
 
-		case 0xd:
-		  /* beqs38 or bnes38 */
-		  comp_insn = (insn16 & 0x0800) ? INSN_BNE : INSN_BEQ;
-		  comp_insn |= (((insn16 & 0x0700) >> 8) << 20)
-		    | (REG_R5 << 15);
-		  comp_insn16 = (insn16 ^ 0x0800) & 0xff00;
-		  insn = (insn16 & 0x0800) ? INSN_BEQ : INSN_BNE;
-		  insn |= (((insn16 & 0x0700) >> 8) << 20) | (REG_R5 << 15);
-		  i_mask = 0xffffc000;
-		  break;
+  insn = bfd_getb32 (contents + laddr);
+  if (foff >= -CONSERVATIVE_16BIT_S1 && foff < CONSERVATIVE_16BIT_S1)
+    {
+      /* Relax to  bgezal   rt, label ; 17_PCREL
+	 or	   bltzal   rt, label ; 17_PCREL */
 
-		case 0xe:
-		  /* beqzS8 or bnezS8 */
-		  comp_insn = (insn16 & 0x0100) ? INSN_BNEZ : INSN_BEQZ;
-		  comp_insn |= REG_R15 << 20;
-		  comp_insn16 = (insn16 ^ 0x0100) & 0xff00;
-		  insn = (insn16 & 0x0100) ? INSN_BEQZ : INSN_BNEZ;
-		  insn |= REG_R15 << 20;
-		  i_mask = 0xffff0000;
-		  break;
-		}
-	    }
-	  else
-	    {
-	      /* First instruction is 32-bit.  */
-	      insn_off = 4;
-	      insn = bfd_getb32 (contents + laddr);
-	      if (!insn16_on)
-		{
-		  /* 16-bit is off */
-		  comp_insn16 = 0;
-		}
-	      else if (N32_OP6 (insn) == N32_OP6_BR1)
-		{
-		  /* +/-16K range */
-		  comp_insn = insn ^ 0x4000;
-		  i_mask = 0xffffc000;
-		  if (N32_IS_RT3 (insn) && N32_RA5 (insn) == REG_R5)
-		    {
-		      /* This instruction can turn to 16-bit.  */
-		      comp_insn16 =
-			(insn & 0x4000) ? INSN_BNES38 : INSN_BEQS38;
-		      comp_insn16 |= (N32_RT5 (insn) & 0x7) << 8;
-		    }
-		  else
-		    {
-		      /* no conversion */
-		      comp_insn16 = 0;
-		    }
-		}
-	      else
-		{
-		  /* +/-64K range */
-		  comp_insn = insn ^ 0x10000;
-		  i_mask = 0xffff0000;
-		  if (N32_BR2_SUB (insn) == N32_BR2_BEQZ
-		      || N32_BR2_SUB (insn) == N32_BR2_BNEZ)
-		    {
-		      if (N32_IS_RT3 (insn))
-			{
-			  /* This instruction can turn to 16-bit.  */
-			  comp_insn16 =
-			    (insn & 0x10000) ? INSN_BNEZ38 : INSN_BEQZ38;
-			  comp_insn16 |= (N32_RT5 (insn) & 0x7) << 8;
-			}
-		      else if (N32_RT5 (insn) == REG_R15)
-			{
-			  /* This instruction can turn to 16-bit.  */
-			  comp_insn16 =
-			    (insn & 0x10000) ? INSN_BNEZS8 : INSN_BEQZS8;
-			}
-		      else
-			{
-			  /* No conversion.  */
-			  comp_insn16 = 0;
-			}
-		    }
-		  else
-		    {
-		      /* No conversion.  */
-		      comp_insn16 = 0;
-		    }
-		}
-	    }
+      /* Convert to complimentary conditional call.  */
+      *insn_len = 0;
+      insn = CONVERT_CONDITION_CALL (insn);
+      bfd_putb32 (insn, contents + em_irel->r_offset);
+
+      em_irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (em_irel->r_info), R_NDS32_17_PCREL_RELA);
+
+      /* Set resolved relocation.  */
+      cond_irel =
+	find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				     R_NDS32_PTR_RESOLVED, irel->r_addend);
+      if (cond_irel == irelend)
+	{
+	  (*_bfd_error_handler)
+	    ("%B: warning: R_NDS32_LONGCALL6 points to unrecognized"
+	     "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+	  return FALSE;
+	}
+      cond_irel->r_addend = 1;
 
-	  if (foff < -0x1000000 && foff >= 0x1000000)
-	    continue;
+      /* Clear relocations.  */
 
-	  if (i2_irelfn != irelend)
-	    {
-	      if (insn_opt == 0
-		  && (i2_irelfn->r_addend & R_NDS32_INSN16_CONVERT_FLAG))
-		{
-		  /* The instruction pointed by R_NDS32_INSN16 is already
-		     turned into 16-bit instruction, so the total length
-		     of this sequence is decreased by 2.  */
-		  seq_len = seq_len - 2;
-		  i2_irelfn->r_addend = 0;
-		}
-	    }
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
 
-	  /* For simplicity of coding, we are going to modify the section
-	     contents, the section relocs, and the BFD symbol table.  We
-	     must tell the rest of the code not to free up this
-	     information.  It would be possible to instead create a table
-	     of changes which have to be made, as is done in coff-mips.c;
-	     that would be more work, but would require less memory when
-	     the linker is run.  */
-
-	  if (comp_insn16
-	      && foff >= -0x100 - insn_off && foff < 0x100 - insn_off)
-	    {
-	      if (insn_opt || (seq_len & 0x2) == 0)
-		{
-		  /* Don't convert it to 16-bit now, keep this as relaxable
-		     for ``label reloc; INSN1a''6.  */
-		  /* Save comp_insn32 to buffer.  */
-		  insn = comp_insn;
-		  bfd_putb32 (insn, contents + irel->r_offset);
-		  insn_len = 4;
-		  reloc = (N32_OP6 (comp_insn) == N32_OP6_BR1) ?
-		    R_NDS32_15_PCREL_RELA : R_NDS32_17_PCREL_RELA;
-
-		  irel->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-				  R_NDS32_INSN16);
-		}
-	      else
-		{
-		  /* Not optimize for speed; convert sequence to 16-bit.  */
-		  /* Save comp_insn16 to buffer.  */
-		  insn16 = comp_insn16;
-		  bfd_putb16 (insn16, contents + irel->r_offset);
-		  insn_len = 2;
-		  reloc = R_NDS32_9_PCREL_RELA;
-		  irel->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-				  R_NDS32_NONE);
-		}
-
-	      /* Change relocs.  */
-	      for (i = 0; i < 2; i++)
-		{
-		  cond_irelfn =
-		    find_relocs_at_address_addr (irel, internal_relocs,
-						 irelend, checked_types[i],
-						 laddr);
+      cond_irel =
+	find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				     R_NDS32_17_PCREL_RELA, laddr);
+      if (cond_irel != irelend)
+	cond_irel->r_info =
+	  ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info), R_NDS32_NONE);
+
+      cond_irel =
+	find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				     R_NDS32_INSN16, irel->r_addend);
+      if (cond_irel != irelend)
+	cond_irel->r_info =
+	  ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info), R_NDS32_NONE);
+
+    }
+  else if (foff >= -CONSERVATIVE_24BIT_S1 && foff < CONSERVATIVE_24BIT_S1)
+    {
+      /* Relax to the following instruction sequence
+	 bltz  rt, .L1	; LONGCALL2/17_PCREL
+	 jal   symbol	; 25_PCREL/PTR_RES
+	 .L1  */
+      *insn_len = 4;
+      /* Convert instruction.  */
+      insn = INSN_JAL;
+      bfd_putb32 (insn, contents + em_irel->r_offset);
+
+      /* Convert relocations.  */
+      em_irel->r_info = ELF32_R_INFO (ELF32_R_SYM (em_irel->r_info),
+				      R_NDS32_25_PCREL_RELA);
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_LONGCALL5);
+
+      /* Set resolved relocation.  */
+      cond_irel =
+	find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				     R_NDS32_PTR_RESOLVED, irel->r_addend);
+      if (cond_irel == irelend)
+	{
+	  (*_bfd_error_handler)
+	    ("%B: warning: R_NDS32_LONGCALL6 points to unrecognized"
+	     "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+	  return FALSE;
+	}
+      cond_irel->r_addend = 1;
 
-		  if (cond_irelfn != irelend)
-		    {
-		      cond_irelfn->r_info =
-			ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), reloc);
-		      cond_irelfn->r_addend = hi_irelfn->r_addend;
-		    }
-		}
-	      hi_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
-	      lo_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
-	      cond_removed = 1;
-	    }
-	  else if (N32_OP6 (insn) == N32_OP6_BR1
-		   && foff >= -0x4000 - insn_off && foff < 0x4000 - insn_off)
-	    {
-	      /* Relax to `beq  label ; 15_PCREL'.  */
-
-	      /* Save comp_insn to buffer.  */
-	      insn = comp_insn;
-	      bfd_putb32 (insn, contents + irel->r_offset);
-	      insn_len = 4;
-	      reloc = R_NDS32_15_PCREL_RELA;
+      cond_irel =
+	find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				     R_NDS32_INSN16, irel->r_addend);
+      if (cond_irel != irelend)
+	cond_irel->r_info =
+	  ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info), R_NDS32_NONE);
+    }
+  return TRUE;
+}
 
-	      /* Change relocs.  */
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
-	      hi_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
-	      lo_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
-	      if (seq_len & 0x2)
-		{
-		  insn16 = NDS32_NOP16;
-		  bfd_putb16 (insn16, contents + irel->r_offset + insn_len);
-		  hi_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-				  R_NDS32_INSN16);
-		  hi_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-		  if (hi_off == 2)
-		    hi_irelfn->r_offset += 2;
-		  insn_len += 2;
-		}
-	      cond_removed = 1;
-	    }
-	  else if (N32_OP6 (insn) == N32_OP6_BR2
-		   && foff >= -0x10000 - insn_off
-		   && foff < 0x10000 - insn_off)
-	    {
-	      /* Relax to `beqz  label ; 17_PCREL'.  */
-
-	      /* Save comp_insn to buffer.  */
-	      insn = comp_insn;
-	      bfd_putb32 (insn, contents + irel->r_offset);
-	      insn_len = 4;
-	      reloc = R_NDS32_17_PCREL_RELA;
+/* Relax LONGJUMP4 relocation for nds32_elf_relax_section.  */
 
-	      /* Change relocs.  */
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
-	      hi_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
-	      lo_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
-	      if (seq_len & 0x2)
-		{
-		  insn16 = NDS32_NOP16;
-		  bfd_putb16 (insn16, contents + irel->r_offset + insn_len);
-		  lo_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info),
-				  R_NDS32_INSN16);
-		  lo_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-		  if (hi_off == 2)
-		    hi_irelfn->r_offset += 2;
-		  insn_len += 2;
-		}
-	      cond_removed = 1;
-	    }
-	  else if (foff >= -0x1000000 - reloc_off
-		   && foff < 0x1000000 - reloc_off)
-	    {
-	      /* Relax to one of the following 3 variations
-
-		 case 2-4; 1st insn convertible, 16-bit on, optimize off or optimize for space
-		 bnes38  rt, $1 ; LONGJUMP2
-		 j       label  ; 25_PCREL
-		 $1
-
-		 case 4-4; 1st insn not convertible, others don't care
-		 bne   rt, ra, $1 ; LONGJUMP2
-		 j     label      ; 25_PCREL
-		 $1
-
-		 case 4-4; 1st insn convertible, 16-bit on, optimize for speed
-		 bne   rt, ra, $1 ; LONGJUMP2/INSN16
-		 j     label      ; 25_PCREL
-		 $1
-	       */
+static bfd_boolean
+nds32_elf_relax_longjump4 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* The pattern for LONGJUMP4.
+     sethi ta, hi20(symbol)	; LONGJUMP4/HI20
+     ori   ta, ta, lo12(symbol)	; LO12S0_ORI/PTR
+     jr    ta			; PTR_RES/INSN16/EMPTY  */
 
-	      /* Offset for first instruction.  */
+  bfd_vma laddr;
+  int seq_len;	/* Original length of instruction sequence.  */
+  uint32_t insn;
+  Elf_Internal_Rela *hi_irel, *ptr_irel, *em_irel, *call_irel, *irelend;
+  int pic_ext_target = 0;
+  bfd_signed_vma foff;
 
-	      if (hi_off == 2)
-		{
-		  /* First instruction is 16-bit.  */
-		  if (hi_irelfn != irelend)
-		    {
-		      /* INSN16 exists so this is optimized for speed.  */
-		      /* Convert this instruction to 32-bit for label alignment.  */
-		      insn = (insn & i_mask) | 4;
-		      bfd_putb32 (insn, contents + irel->r_offset);
-		      insn_len = 8;
-		      hi_irelfn->r_offset += 2;
-		    }
-		  else
-		    {
-		      /* Not optimized for speed.  */
-		      insn16 = (insn16 & 0xff00) | 3;
-		      bfd_putb16 (insn16, contents + irel->r_offset);
-		      insn_len = 6;
-		    }
-		}
-	      else
-		{
-		  /* First instruction is 32-bit.  */
-		  insn = (insn & i_mask) | 4;
-		  bfd_putb32 (insn, contents + irel->r_offset);
-		  insn_len = 8;
-		}
-
-	      /* Use j label as second instruction.  */
-	      insn = INSN_J;
-	      bfd_putb32 (insn, contents + irel->r_offset);
-
-	      /* Change relocs.  */
-	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_LONGJUMP2);
-	      hi_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-						R_NDS32_25_PCREL_RELA);
-	      lo_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info), R_NDS32_NONE);
-	      if (((seq_len ^ insn_len) & 0x2) != 0x2)
-		{
-		  insn16 = NDS32_NOP16;
-		  bfd_putb16 (insn16, contents + irel->r_offset + insn_len);
-		  lo_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (lo_irelfn->r_info),
-						    R_NDS32_INSN16);
-		  lo_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-		  lo_irelfn->r_offset = hi_irelfn->r_offset + 4;
-		  insn_len += 2;
-		}
-	    }
+  irelend = internal_relocs + sec->reloc_count;
+  seq_len = GET_SEQ_LEN (irel->r_addend);
+  laddr = irel->r_offset;
+  *insn_len = seq_len;
+
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
 
-	  if (cond_removed)
-	    {
-	      for (i = 0; i < 2; i++)
-		{
-		  cond_irelfn =
-		    find_relocs_at_address_addr (irel, internal_relocs,
-						 irelend, checked_types[i],
-						 laddr);
+  hi_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					 R_NDS32_HI20_RELA, laddr);
 
-		  if (cond_irelfn != irelend)
-		    break;
-		}
-	      if (cond_irelfn != irelend)
-		{
-		  cond_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), reloc);
-		  cond_irelfn->r_addend = hi_irelfn->r_addend;
-		}
-	    }
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LOADSTORE)
-	{
-	  int eliminate_sethi = 0, ls_range_type;
-	  enum elf_nds32_reloc_type checked_types[] =
-	    { R_NDS32_HI20_RELA, R_NDS32_GOT_HI20,
-	      R_NDS32_GOTPC_HI20, R_NDS32_GOTOFF_HI20,
-	      R_NDS32_PLTREL_HI20, R_NDS32_PLT_GOTREL_HI20
-	    };
+  if (hi_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGJUMP4 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-	  insn_len = seq_len;
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, hi_irel, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-	  for (i = 0; i < 6; i++)
-	    {
-	      hi_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
-						       checked_types[i], laddr);
-	      if (hi_irelfn != irelend)
-		break;
-	    }
+  if (pic_ext_target || foff == 0 || foff >= CONSERVATIVE_24BIT_S1
+      || foff < -CONSERVATIVE_24BIT_S1)
+    return FALSE;
 
-	  if (hi_irelfn == irelend)
-	    {
-	      (*_bfd_error_handler)
-	       ("%B: warning: R_NDS32_LOADSTORE points to unrecognized reloc at 0x%lx.",
-		abfd, (long) irel->r_offset);
-	      continue;
-	    }
+  /* Convert it to "j label", it may be converted to j8 in the final
+     pass of relaxation.  Therefore, we do not consider this currently.  */
+  ptr_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					  R_NDS32_PTR_RESOLVED, irel->r_addend);
+  em_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					 R_NDS32_EMPTY, irel->r_addend);
 
-	  ls_range_type = (irel->r_addend >> 8) & 0x3f;
+  if (ptr_irel == irelend || em_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGJUMP4 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-	  nds32_elf_final_sda_base (sec->output_section->owner, link_info,
-				    &local_sda, FALSE);
-	  switch (ELF32_R_TYPE (hi_irelfn->r_info))
-	    {
-	    case R_NDS32_HI20_RELA:
-	      insn = bfd_getb32 (contents + laddr);
-	      access_addr =
-		calculate_memory_address (abfd, hi_irelfn, isymbuf,
-					  symtab_hdr);
+  em_irel->r_info =
+    ELF32_R_INFO (ELF32_R_SYM (em_irel->r_info), R_NDS32_25_PCREL_RELA);
+  ptr_irel->r_addend = 1;
+
+  /* Write instruction.  */
+  insn = INSN_J;
+  bfd_putb32 (insn, contents + em_irel->r_offset);
+
+  /* Clear relocations.  */
+  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+
+  /* If there is function cse, HI20 can not remove now.  */
+  call_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					   R_NDS32_LONGJUMP4, laddr);
+  if (call_irel == irelend)
+    {
+      *insn_len = 0;
+      hi_irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (hi_irel->r_info), R_NDS32_NONE);
+    }
 
-	      if ((ls_range_type & 0x3f) == 0x20)
-		{
-		  if ((access_addr < 0x7f000))
-		    {
-		      eliminate_sethi = 1;
-		      break;
-		    }
-		  else
-		    {
-		      /* This is avoid to relax symbol address which is fixed
-			 relocations.  Ex: _stack.  */
-		      struct elf_link_hash_entry *h;
-		      int indx;
-		      indx = ELF32_R_SYM (hi_irelfn->r_info) - symtab_hdr->sh_info;
-		      if (indx >= 0)
-			{
-			  h = elf_sym_hashes (abfd)[indx];
-			  if (h && bfd_is_abs_section (h->root.u.def.section))
-			    break;
-			}
-		    }
-		}
+  return TRUE;
+}
 
-	      if (!load_store_relax)
-		continue;
+/* Relax LONGJUMP5 relocation for nds32_elf_relax_section.  */
 
-	      if (((insn >> 20) & 0x1f) == REG_GP)
-		break;
+static bfd_boolean
+nds32_elf_relax_longjump5 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   int *seq_len, bfd_byte *contents,
+			   Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* There are 2 variations for LONGJUMP5
+     case 2-4;  1st insn convertible, 16-bit on.
+     bnes38  rt, ra, .L1	; LONGJUMP5/9_PCREL/INSN16
+     j       label		; 25_PCREL/INSN16
+     $1:
+
+     case 4-4; 1st insn not convertible
+     bne  rt, ra, .L1	; LONGJUMP5/15_PCREL/INSN16
+     j    label		; 25_PCREL/INSN16
+     .L1:  */
 
-	      if (ls_range_type & 0x8 || ls_range_type & 0x10)
-		{
-		  range_l = sdata_range[0][0];
-		  range_h = sdata_range[0][1];
-		}
-	      else
-		{
-		  range_l = sdata_range[4][0];
-		  range_h = sdata_range[4][1];
-		}
-	      break;
+  bfd_vma laddr;
+  Elf_Internal_Rela *cond_irel,  *irelend;
+  int pic_ext_target = 0;
+  unsigned int i;
+  bfd_signed_vma foff;
+  uint32_t insn, re_insn = 0;
+  uint16_t insn16, re_insn16 = 0;
+  unsigned long reloc;
+
+  enum elf_nds32_reloc_type checked_types[] =
+    { R_NDS32_17_PCREL_RELA, R_NDS32_15_PCREL_RELA,
+      R_NDS32_9_PCREL_RELA, R_NDS32_INSN16 };
 
-	    case R_NDS32_GOT_HI20:
-	      access_addr =
-		calculate_got_memory_address (abfd, link_info, hi_irelfn,
-					      symtab_hdr);
-
-	      /* If this symbol is not in .got, the return value will be -1.
-		 Since the gp value is set to SDA_BASE but not GLOBAL_OFFSET_TABLE,
-		 a negative offset is allowed.  */
-	      if ((bfd_signed_vma) (access_addr - local_sda) < 0x7f000
-		  && (bfd_signed_vma) (access_addr - local_sda) >= -0x7f000)
-		eliminate_sethi = 1;
-	      break;
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
 
-	    case R_NDS32_PLT_GOTREL_HI20:
-	      access_addr =
-		calculate_plt_memory_address (abfd, link_info, isymbuf,
-					      hi_irelfn, symtab_hdr);
-
-	      if ((bfd_signed_vma) (access_addr - local_sda) < 0x7f000
-		  && (bfd_signed_vma) (access_addr - local_sda) >= -0x7f000)
-		eliminate_sethi = 1;
-	      break;
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+
+  cond_irel =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_25_PCREL_RELA, irel->r_addend);
+  if (cond_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGJUMP5 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-	    case R_NDS32_GOTOFF_HI20:
-	      access_addr =
-		calculate_memory_address (abfd, hi_irelfn, isymbuf,
-					  symtab_hdr);
-
-	      if ((bfd_signed_vma) (access_addr - local_sda) < 0x7f000
-		  && (bfd_signed_vma) (access_addr - local_sda) >= -0x7f000)
-		eliminate_sethi = 1;
-	      break;
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, cond_irel, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-	    case R_NDS32_GOTPC_HI20:
-	      for (i1_irelfn = irel;
-		   i1_irelfn->r_offset <= irel->r_offset + 4
-		   && i1_irelfn < irelend; i1_irelfn++)
-		if (ELF32_R_TYPE (i1_irelfn->r_info) == R_NDS32_GOTPC_LO12)
-		  break;
-	      if (i1_irelfn == irelend
-		  || i1_irelfn->r_offset != irel->r_offset + 4)
-		continue;
+  if (pic_ext_target || foff == 0 || foff < -CONSERVATIVE_16BIT_S1
+      || foff >= CONSERVATIVE_16BIT_S1)
+    return FALSE;
 
-	      access_addr = sec->output_section->vma + sec->output_offset
-			    + irel->r_offset;
-	      if ((bfd_signed_vma) (local_sda - access_addr) < 0x7f000
-		  && (bfd_signed_vma) (local_sda - access_addr) >= -0x7f000)
-		{
-		  /* Turn into MOVI.  */
-		  insn = bfd_getb32 (contents + laddr + 4);
-		  if (((insn & 0x1f00000) >> 20) != REG_GP)
-		    continue;
-
-		  hi_irelfn->r_addend = ((int) hi_irelfn->r_addend) < -4
-		    ? (hi_irelfn->r_addend + 4) : (hi_irelfn->r_addend);
-		  hi_irelfn->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-				  R_NDS32_GOTPC20);
-		  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
-		  i1_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info),
-						    R_NDS32_NONE);
-		  insn = N32_TYPE1 (MOVI, N32_RT5 (insn), 0);
-		  bfd_putb32 (insn, contents + laddr);
-		  insn_len = 4;
-		  seq_len = 8;
-		}
-	      break;
+  /* Get the all corresponding instructions.  */
+  insn = bfd_getb32 (contents + laddr);
+  /* Check instruction size.  */
+  if (insn & 0x80000000)
+    {
+      *seq_len = 0;
+      insn16 = insn >> 16;
+      nds32_elf_convert_branch (insn16, 0, &re_insn16, &re_insn);
+    }
+  else
+    nds32_elf_convert_branch (0, insn, &re_insn16, &re_insn);
 
-	    default:
-	      continue;
-	    }
-	  if (eliminate_sethi == 1
-	      || (local_sda <= access_addr && (access_addr - local_sda) < range_h)
-	      || (local_sda > access_addr && (local_sda - access_addr) <= range_l))
-	    {
-	      hi_irelfn->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
-	      insn_len = 0;
+  if (N32_OP6 (re_insn) == N32_OP6_BR1
+      && (foff >= -CONSERVATIVE_14BIT_S1 && foff < CONSERVATIVE_14BIT_S1))
+    {
+      /* beqs label ; 15_PCREL.  */
+      bfd_putb32 (re_insn, contents + cond_irel->r_offset);
+      reloc = R_NDS32_15_PCREL_RELA;
+    }
+  else if (N32_OP6 (re_insn) == N32_OP6_BR2
+	   && foff >= -CONSERVATIVE_16BIT_S1 && foff < CONSERVATIVE_16BIT_S1)
+    {
+      /* beqz label ; 17_PCREL.  */
+      bfd_putb32 (re_insn, contents + cond_irel->r_offset);
+      reloc = R_NDS32_17_PCREL_RELA;
+    }
+  else if ( N32_OP6 (re_insn) == N32_OP6_BR3
+	   && foff >= -CONSERVATIVE_8BIT_S1 && foff < CONSERVATIVE_8BIT_S1)
+    {
+      /* beqc label ; 9_PCREL.  */
+      bfd_putb32 (re_insn, contents + cond_irel->r_offset);
+      reloc = R_NDS32_WORD_9_PCREL_RELA;
+    }
+  else
+    return FALSE;
+
+  /* Set all relocations.  */
+  cond_irel->r_info = ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info), reloc);
+
+  /* Clean relocations.  */
+  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+  for (i = 0; i < sizeof (checked_types) / sizeof (checked_types[0]); i++)
+    {
+      cond_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					       checked_types[i], laddr);
+      if (cond_irel != irelend)
+	{
+	  if (*seq_len == 0
+	      && (ELF32_R_TYPE (cond_irel->r_info) == R_NDS32_INSN16))
+	    {
+	      /* If the branch instruction is 2 byte, it cannot remove
+		 directly.  Only convert it to nop16 and remove it after
+		 checking alignment issue.  */
+	      insn16 = NDS32_NOP16;
+	      bfd_putb16 (insn16, contents + laddr);
+	      cond_irel->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
 	    }
+	  else
+	    cond_irel->r_info = ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info),
+					      R_NDS32_NONE);
 	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_17IFC_PCREL_RELA)
+    }
+  *insn_len = 0;
+
+  return TRUE;
+}
+
+/* Relax LONGJUMP6 relocation for nds32_elf_relax_section.  */
+
+static bfd_boolean
+nds32_elf_relax_longjump6 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   int *seq_len, bfd_byte *contents,
+			   Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* There are 5 variations for LONGJUMP6
+     case : 2-4-4-4; 1st insn convertible, 16-bit on.
+     bnes38   rt, ra, .L1		; LONGJUMP6/15_PCREL/INSN16
+     sethi    ta, hi20(symbol)		; HI20/PTR
+     ori      ta, ta, lo12(symbol)	; LO12S0_ORI/PTR
+     jr       ta			; PTR_RES/INSN16/EMPTY
+     .L1:
+
+     case : 4-4-4-4; 1st insn not convertible, 16-bit on.
+     bne   rt, ra, .L1		; LONGJUMP6/15_PCREL/INSN16
+     sethi ta, hi20(symbol)	; HI20/PTR
+     ori   ta, ta, lo12(symbol)	; LO12S0_ORI/PTR
+     jr    ta			; PTR_RES/INSN16/EMPTY
+     .L1:  */
+
+  enum elf_nds32_reloc_type checked_types[] =
+    { R_NDS32_17_PCREL_RELA, R_NDS32_15_PCREL_RELA,
+      R_NDS32_9_PCREL_RELA, R_NDS32_INSN16 };
+
+  int reloc_off = 0, cond_removed = 0;
+  bfd_vma laddr;
+  Elf_Internal_Rela *cond_irel, *em_irel, *irelend, *insn_irel;
+  int pic_ext_target = 0;
+  unsigned int i;
+  bfd_signed_vma foff;
+  uint32_t insn, re_insn = 0;
+  uint16_t insn16, re_insn16 = 0;
+  unsigned long reloc;
+
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
+
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+  em_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					 R_NDS32_EMPTY, irel->r_addend);
+
+  if (em_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGJUMP6 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
+
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, em_irel, isymbuf, symtab_hdr,
+			   &pic_ext_target);
+
+  if (pic_ext_target || foff == 0 || foff < -CONSERVATIVE_24BIT_S1
+      || foff >= CONSERVATIVE_24BIT_S1)
+    return FALSE;
+
+  insn = bfd_getb32 (contents + laddr);
+  /* Check instruction size.  */
+  if (insn & 0x80000000)
+    {
+      *seq_len = 0;
+      insn16 = insn >> 16;
+      nds32_elf_convert_branch (insn16, 0, &re_insn16, &re_insn);
+    }
+  else
+    nds32_elf_convert_branch (0, insn, &re_insn16, &re_insn);
+
+  /* For simplicity of coding, we are going to modify the section
+     contents, the section relocs, and the BFD symbol table.  We
+     must tell the rest of the code not to free up this
+     information.  It would be possible to instead create a table
+     of changes which have to be made, as is done in coff-mips.c;
+     that would be more work, but would require less memory when
+     the linker is run.  */
+
+  if (N32_OP6 (re_insn) == N32_OP6_BR1
+      && (foff >= -CONSERVATIVE_14BIT_S1 && foff < CONSERVATIVE_14BIT_S1))
+    {
+      /* beqs     label    ; 15_PCREL */
+      bfd_putb32 (re_insn, contents + em_irel->r_offset);
+      reloc = R_NDS32_15_PCREL_RELA;
+      cond_removed = 1;
+    }
+  else if (N32_OP6 (re_insn) == N32_OP6_BR2
+	   && foff >= -CONSERVATIVE_16BIT_S1 && foff < CONSERVATIVE_16BIT_S1)
+    {
+      /* beqz     label ; 17_PCREL */
+      bfd_putb32 (re_insn, contents + em_irel->r_offset);
+      reloc = R_NDS32_17_PCREL_RELA;
+      cond_removed = 1;
+    }
+  else if (foff >= -CONSERVATIVE_24BIT_S1 - reloc_off
+	   && foff < CONSERVATIVE_24BIT_S1 - reloc_off)
+    {
+      /* Relax to one of the following 2 variations
+
+	 case 2-4;  1st insn convertible, 16-bit on.
+	 bnes38  rt, ra, .L1	; LONGJUMP5/9_PCREL/INSN16
+	 j       label		; 25_PCREL/INSN16
+	 $1:
+
+	 case 4-4; 1st insn not convertible
+	 bne  rt, ra, .L1	; LONGJUMP5/15_PCREL/INSN16
+	 j    label		; 25_PCREL/INSN16
+	 .L1:  */
+
+      /* Use j label as second instruction.  */
+      insn = INSN_J;
+      reloc = R_NDS32_25_PCREL_RELA;
+      bfd_putb32 (insn, contents + em_irel->r_offset);
+    }
+  else
+    return FALSE;
+
+  /* Set all relocations.  */
+  em_irel->r_info = ELF32_R_INFO (ELF32_R_SYM (em_irel->r_info), reloc);
+
+  cond_irel =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_PTR_RESOLVED, em_irel->r_offset);
+  cond_irel->r_addend = 1;
+
+  /* Use INSN16 of first branch instruction to distinguish if keeping
+     INSN16 of final instruction or not.  */
+  insn_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					   R_NDS32_INSN16, irel->r_offset);
+  if (insn_irel == irelend)
+    {
+      /* Clean the final INSN16.  */
+      insn_irel =
+	find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				     R_NDS32_INSN16, em_irel->r_offset);
+      insn_irel->r_info = ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info),
+					R_NDS32_NONE);
+    }
+
+  if (cond_removed == 1)
+    {
+      *insn_len = 0;
+
+      /* Clear relocations.  */
+      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+
+      for (i = 0; i < sizeof (checked_types) / sizeof (checked_types[0]); i++)
 	{
-	  foff = calculate_offset (abfd, sec, irel, isymbuf, symtab_hdr,
-				   &pic_ext_target);
-	  if (pic_ext_target || foff == 0)
-	    continue;
-	  if (foff < 1022 && foff >= 0)
+	  cond_irel =
+	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					 checked_types[i], laddr);
+	  if (cond_irel != irelend)
 	    {
-	      reloc = R_NDS32_10IFCU_PCREL_RELA;
-	      insn16 = INSN_IFCALL9;
-	      bfd_putb16 (insn16, contents + irel->r_offset);
-	      insn_len = 2;
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_10IFCU_PCREL_RELA);
-	      *again = TRUE;
-
-	      i2_irelfn = find_relocs_at_address (irel, internal_relocs,
-						  irelend, R_NDS32_INSN16);
-	      if (i2_irelfn < irelend)
+	      if (*seq_len == 0
+		  && (ELF32_R_TYPE (cond_irel->r_info) == R_NDS32_INSN16))
 		{
+		  /* If the branch instruction is 2 byte, it cannot remove
+		     directly.  Only convert it to nop16 and remove it after
+		     checking alignment issue.  */
 		  insn16 = NDS32_NOP16;
-		  bfd_putb16 (insn16, contents + irel->r_offset + 2);
-		  i2_irelfn->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
-		  i2_irelfn->r_offset += 2;
-		  insn_len += 2;
+		  bfd_putb16 (insn16, contents + laddr);
+		  cond_irel->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
 		}
 	      else
-		{
-		  ((*_bfd_error_handler)
-		   ("%s: 0x%lx: warning: R_NDS32_17IFC points to unrecognized reloc at 0x%lx",
-		    bfd_get_filename (abfd), (long) irel->r_offset));
-		}
+		cond_irel->r_info =
+		  ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info), R_NDS32_NONE);
 	    }
 	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S0_RELA
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S1_RELA
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S2_DP_RELA
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S2_SP_RELA
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S2_RELA)
-	{
-	  nds32_elf_final_sda_base (sec->output_section->owner, link_info,
-				    &local_sda, FALSE);
-
-	  insn = bfd_getb32 (contents + laddr);
-
-	  if (!is_sda_access_insn (insn)
-	      && N32_OP6 (insn) != N32_OP6_ORI)
-	    continue;
-
-	  access_addr =
-	    calculate_memory_address (abfd, irel, isymbuf, symtab_hdr);
-	  insn_len = seq_len = 4;
+    }
+  else
+    {
+      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
+				   R_NDS32_LONGJUMP5);
+    }
 
-	  /* This is avoid to relax symbol address which is fixed
-	     relocations.  Ex: _stack.  */
-	  if (N32_OP6 (insn) == N32_OP6_ORI && access_addr >= 0x7f000)
-	    {
-	      struct elf_link_hash_entry *h;
-	      int indx;
-	      indx = ELF32_R_SYM (irel->r_info) - symtab_hdr->sh_info;
-	      if (indx >= 0)
-		{
-		  h = elf_sym_hashes (abfd)[indx];
-		  if (h && bfd_is_abs_section (h->root.u.def.section))
-		    continue;
-		}
-	    }
+  return TRUE;
+}
 
-	  if (N32_OP6 (insn) == N32_OP6_ORI && access_addr < 0x7f000)
-	    {
-	      reloc = R_NDS32_20_RELA;
-	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), reloc);
-	      insn = N32_TYPE1 (MOVI, N32_RT5 (insn), 0);
-	      bfd_putb32 (insn, contents + laddr);
-	    }
-	  else if (load_store_relax)
-	    {
-	      range_l = sdata_range[4][0];
-	      range_h = sdata_range[4][1];
-	      switch (ELF32_R_TYPE (irel->r_info))
-		{
-		case R_NDS32_LO12S0_RELA:
-		  reloc = R_NDS32_SDA19S0_RELA;
-		  break;
-		case R_NDS32_LO12S1_RELA:
-		  reloc = R_NDS32_SDA18S1_RELA;
-		  break;
-		case R_NDS32_LO12S2_RELA:
-		  reloc = R_NDS32_SDA17S2_RELA;
-		  break;
-		case R_NDS32_LO12S2_DP_RELA:
-		  range_l = sdata_range[0][0];
-		  range_h = sdata_range[0][1];
-		  reloc = R_NDS32_SDA12S2_DP_RELA;
-		  break;
-		case R_NDS32_LO12S2_SP_RELA:
-		  range_l = sdata_range[0][0];
-		  range_h = sdata_range[0][1];
-		  reloc = R_NDS32_SDA12S2_SP_RELA;
-		  break;
-		default:
-		  break;
-		}
+/* Relax LONGJUMP7 relocation for nds32_elf_relax_section.  */
 
-	      /* There are range_h and range_l because linker has to promise
-		 all sections move cross one page together.  */
-	      if ((local_sda <= access_addr && (access_addr - local_sda) < range_h)
-		  || (local_sda > access_addr && (local_sda - access_addr) <= range_l))
-		{
-		  if (N32_OP6 (insn) == N32_OP6_ORI && N32_RT5 (insn) == REG_GP)
-		    {
-		      /* Maybe we should add R_NDS32_INSN16 reloc type here
-			 or manually do some optimization.  sethi can't be
-			 eliminated when updating $gp so the relative ori
-			 needs to be preserved.  */
-		      continue;
-		    }
-		  if (!turn_insn_to_sda_access (insn, ELF32_R_TYPE (irel->r_info),
-					        &insn))
-		    continue;
-		  irel->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (irel->r_info), reloc);
-		  bfd_putb32 (insn, contents + laddr);
-		}
-	    }
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_GOT_LO12
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_GOTOFF_LO12
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_PLTREL_LO12
-	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_PLT_GOTREL_LO12)
-	{
-	  nds32_elf_final_sda_base (sec->output_section->owner, link_info,
-				    &local_sda, FALSE);
+static bfd_boolean
+nds32_elf_relax_longjump7 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   int *seq_len, bfd_byte *contents,
+			   Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  /* There are 2 variations for LONGJUMP5
+     case 2-4;  1st insn convertible, 16-bit on.
+     movi55  ta, imm11		; LONGJUMP7/INSN16
+     beq     rt, ta, label	; 15_PCREL
+
+     case 4-4; 1st insn not convertible
+     movi55  ta, imm11		; LONGJUMP7/INSN16
+     beq     rt, ta, label	; 15_PCREL  */
 
-	  insn = bfd_getb32 (contents + laddr);
+  bfd_vma laddr;
+  Elf_Internal_Rela *cond_irel,  *irelend, *insn_irel;
+  int pic_ext_target = 0;
+  bfd_signed_vma foff;
+  uint32_t insn, re_insn = 0;
+  uint16_t insn16;
+  uint32_t imm11;
 
-	  if (N32_OP6 (insn) != N32_OP6_ORI)
-	    continue;
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
 
-	  insn_len = seq_len = 4;
-	  if (ELF32_R_TYPE (irel->r_info) == R_NDS32_GOT_LO12)
-	    {
-	      foff = calculate_got_memory_address (abfd, link_info, irel,
-						   symtab_hdr) - local_sda;
-	      reloc = R_NDS32_GOT20;
-	    }
-	  else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_PLT_GOTREL_LO12)
-	    {
-	      foff = calculate_plt_memory_address (abfd, link_info, isymbuf, irel,
-						   symtab_hdr) - local_sda;
-	      reloc = R_NDS32_PLT_GOTREL_LO20;
-	    }
-	  else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_GOTOFF_LO12)
-	    {
-	      foff = calculate_memory_address (abfd, irel, isymbuf,
-					       symtab_hdr) - local_sda;
-	      reloc = R_NDS32_GOTOFF;
-	    }
-	  else
-	    continue;
+  /* Get the reloc for the address from which the register is
+     being loaded.  This reloc will tell us which function is
+     actually being called.  */
+
+  cond_irel =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_15_PCREL_RELA, irel->r_addend);
+  if (cond_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LONGJUMP7 points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+      return FALSE;
+    }
 
-	  if ((foff < 0x7f000) && (foff >= -0x7f000))
-	    {
-	      /* Turn into MOVI.  */
-	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), reloc);
-	      insn = N32_TYPE1 (MOVI, N32_RT5 (insn), 0);
-	      bfd_putb32 (insn, contents + laddr);
-	    }
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_PTR)
-	{
-	  i1_irelfn =
-	    find_relocs_at_address_addr (irel, internal_relocs, irelend,
-					 R_NDS32_PTR_RESOLVED, irel->r_addend);
+  /* Get the value of the symbol referred to by the reloc.  */
+  foff = calculate_offset (abfd, sec, cond_irel, isymbuf, symtab_hdr,
+			   &pic_ext_target);
 
-	  if (i1_irelfn == irelend)
-	    {
-	      (*_bfd_error_handler)
-	       ("%B: warning: R_NDS32_PTR points to unrecognized reloc at 0x%lx.",
-		abfd, (long) irel->r_offset);
-	      continue;
-	    }
+  if (pic_ext_target || foff == 0 || foff < -CONSERVATIVE_8BIT_S1
+      || foff >= CONSERVATIVE_8BIT_S1)
+    return FALSE;
 
-	  if (i1_irelfn->r_addend & 1)
-	    {
-	      /* Pointed target is relaxed and no longer needs this void *,
-		 change the type to NONE.  */
-	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+  /* Get the first instruction for its size.  */
+  insn = bfd_getb32 (contents + laddr);
+  if (insn & 0x80000000)
+    {
+      *seq_len = 0;
+      /* Get the immediate from movi55.  */
+      imm11 = N16_IMM5S (insn >> 16);
+    }
+  else
+    {
+      /* Get the immediate from movi.  */
+      imm11 = N32_IMM20S (insn);
+    }
 
-	      i1_irelfn =
-		find_relocs_at_address (irel, internal_relocs, irelend,
-					R_NDS32_PTR_COUNT);
+  /* Get the branch instruction.  */
+  insn = bfd_getb32 (contents + irel->r_addend);
+  /* Convert instruction to BR3.  */
+  if ((insn >> 14) & 0x1)
+    re_insn = N32_BR3 (BNEC, N32_RT5 (insn), imm11, 0);
+  else
+    re_insn = N32_BR3 (BEQC, N32_RT5 (insn), imm11, 0);
 
-	      if (i1_irelfn == irelend)
-		{
-		  (*_bfd_error_handler)
-		   ("%B: warning: no R_NDS32_PTR_COUNT coexist with R_NDS32_PTR at 0x%lx.",
-		    abfd, (long) irel->r_offset);
-		  continue;
-		}
+  bfd_putb32 (re_insn, contents + cond_irel->r_offset);
 
-	      if (--i1_irelfn->r_addend > 0)
-		continue;
+  /* Set all relocations.  */
+  cond_irel->r_info = ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info),
+				    R_NDS32_WORD_9_PCREL_RELA);
 
-	      /* If the PTR_COUNT is already 0, remove current instruction.  */
-	      seq_len = nds32_elf_insn_size (abfd, contents, irel->r_offset);
-	      insn_len = 0;
-	    }
-	  else
-	    continue;
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_PLT_GOT_SUFF)
+  /* Clean relocations.  */
+  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+  insn_irel = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					   R_NDS32_INSN16, irel->r_offset);
+  if (insn_irel != irelend)
+    {
+      if (*seq_len == 0)
 	{
-	  /* FIXME: It's a little trouble to turn JRAL5 to JAL since
-	     we need additional space.  It might be help if we could
-	     borrow some space from instructions to be eliminated
-	     such as sethi, ori, add.  */
+	  /* If the first insntruction is 16bit, convert it to nop16.  */
+	  insn16 = NDS32_NOP16;
+	  bfd_putb16 (insn16, contents + laddr);
+	  insn_irel->r_addend = R_NDS32_INSN16_CONVERT_FLAG;
+	}
+      else
+	cond_irel->r_info = ELF32_R_INFO (ELF32_R_SYM (cond_irel->r_info),
+					  R_NDS32_NONE);
+    }
+  *insn_len = 0;
 
-	  insn = bfd_getb32 (contents + laddr);
-	  if (insn & 0x80000000)
-	    continue;
+  return TRUE;
+}
 
-	  if (nds32_elf_check_dup_relocs
-	      (irel, internal_relocs, irelend, R_NDS32_PLT_GOT_SUFF))
-	    continue;
+#define GET_LOADSTORE_RANGE(addend) (((addend) >> 8) & 0x3f)
 
-	  seq_len = insn_len = 4;
-	  i1_irelfn =
-	    find_relocs_at_address (irel, internal_relocs, irelend,
-				    R_NDS32_PTR_RESOLVED);
-
-	  /* FIXIT 090606
-	     The boundary should be reduced since the .plt section hasn't
-	     been created and the address of specific entry is still unknown
-	     Maybe the range between the function call and the begin of the
-	     .text section can be used to decide if the .plt is in the range
-	     of function call.  */
-
-	  if (N32_OP6 (insn) == N32_OP6_ALU1
-	      && N32_SUB5 (insn) == N32_ALU1_ADD_SLLI
-	      && N32_SH5 (insn) == 0)
-	    {
-	      /* Get the value of the symbol referred to by the reloc.  */
-	      nds32_elf_final_sda_base (sec->output_section->owner, link_info,
-					&local_sda, FALSE);
-	      foff = (bfd_signed_vma) (calculate_plt_memory_address
-				       (abfd, link_info, isymbuf, irel,
-					symtab_hdr) - local_sda);
-	      /* This condition only happened when symbol is undefined.  */
-	      if (foff == 0)
-		continue;
+/* Relax LOADSTORE relocation for nds32_elf_relax_section.  */
 
-	      if (foff < -0x3f000 || foff >= 0x3f000)
-		    continue;
-	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
-					   R_NDS32_PLT_GOTREL_LO19);
-	      /* addi.gp */
-	      insn = N32_TYPE1 (SBGP, N32_RT5 (insn), __BIT (19));
-	    }
-	  else if (N32_OP6 (insn) == N32_OP6_JREG
-		   && N32_SUB5 (insn) == N32_JREG_JRAL)
-	    {
-	      /* Get the value of the symbol referred to by the reloc.  */
-	      foff =
-		calculate_plt_offset (abfd, sec, link_info, isymbuf, irel,
-				      symtab_hdr);
-	      /* This condition only happened when symbol is undefined.  */
-	      if (foff == 0)
-		continue;
-	      if (foff < -0x1000000 || foff >= 0x1000000)
-		continue;
-	      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_25_PLTREL);
-	      insn = INSN_JAL;
-	    }
-	  else
-	    continue;
+static bfd_boolean
+nds32_elf_relax_loadstore (struct bfd_link_info *link_info, bfd *abfd,
+			   asection *sec, Elf_Internal_Rela *irel,
+			   Elf_Internal_Rela *internal_relocs, int *insn_len,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr, int load_store_relax)
+{
+  int eliminate_sethi = 0, range_type, i;
+  bfd_vma local_sda, laddr;
+  int seq_len;	/* Original length of instruction sequence.  */
+  uint32_t insn;
+  Elf_Internal_Rela *hi_irelfn = NULL, *irelend;
+  bfd_vma access_addr = 0;
+  bfd_vma range_l = 0, range_h = 0;	/* Upper/lower bound.  */
+  enum elf_nds32_reloc_type checked_types[] =
+    { R_NDS32_HI20_RELA, R_NDS32_GOT_HI20,
+      R_NDS32_GOTPC_HI20, R_NDS32_GOTOFF_HI20,
+      R_NDS32_PLTREL_HI20, R_NDS32_PLT_GOTREL_HI20,
+      R_NDS32_TLS_LE_HI20
+    };
 
-	  bfd_putb32 (insn, contents + laddr);
-	  if (i1_irelfn != irelend)
-	    {
-	      i1_irelfn->r_addend |= 1;
-	      *again = TRUE;
-	    }
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_GOT_SUFF)
-	{
+  irelend = internal_relocs + sec->reloc_count;
+  seq_len = GET_SEQ_LEN (irel->r_addend);
+  laddr = irel->r_offset;
+  *insn_len = seq_len;
+
+  /* Get the high part relocation.  */
+  for (i = 0; (unsigned) i < sizeof (checked_types); i++)
+    {
+      hi_irelfn = find_relocs_at_address_addr (irel, internal_relocs, irelend,
+					       checked_types[i], laddr);
+      if (hi_irelfn != irelend)
+	break;
+    }
 
-	  insn = bfd_getb32 (contents + laddr);
-	  if (insn & 0x80000000)
-	    continue;
+  if (hi_irelfn == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_LOADSTORE points to unrecognized"
+	 "reloc at 0x%lx.", abfd, (long) irel->r_offset);
+	return FALSE;
+    }
 
-	  if (nds32_elf_check_dup_relocs
-		(irel, internal_relocs, irelend, R_NDS32_GOT_SUFF))
-	    continue;
+  range_type = GET_LOADSTORE_RANGE (irel->r_addend);
+  nds32_elf_final_sda_base (sec->output_section->owner,
+			    link_info, &local_sda, FALSE);
 
-	  seq_len = insn_len = 4;
-	  i1_irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
-					      R_NDS32_PTR_RESOLVED);
+  switch (ELF32_R_TYPE (hi_irelfn->r_info))
+    {
+    case R_NDS32_HI20_RELA:
+      insn = bfd_getb32 (contents + laddr);
+      access_addr =
+	calculate_memory_address (abfd, hi_irelfn, isymbuf, symtab_hdr);
 
-	  foff = calculate_got_memory_address (abfd, link_info, irel,
-					       symtab_hdr) - local_sda;
+      if (range_type == NDS32_LOADSTORE_IMM)
+	{
+	  struct elf_link_hash_entry *h = NULL;
+	  int indx;
 
-	  if (foff < 0x3f000 && foff >= -0x3f000)
+	  if (ELF32_R_SYM (hi_irelfn->r_info) >= symtab_hdr->sh_info)
 	    {
-	      /* Turn LW to LWI.GP.  Change relocation type to R_NDS32_GOT_REL.  */
-	      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __MF (6, 17, 3));
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_GOT17S2_RELA);
+	      indx = ELF32_R_SYM (hi_irelfn->r_info) - symtab_hdr->sh_info;
+	      h = elf_sym_hashes (abfd)[indx];
 	    }
-	  else
-	    continue;
 
-	  bfd_putb32 (insn, contents + laddr);
-	  if (i1_irelfn != irelend)
+	  if ((access_addr < CONSERVATIVE_20BIT)
+	      && (!h || (h && strcmp (h->root.root.string, FP_BASE_NAME) != 0)))
 	    {
-	      i1_irelfn->r_addend |= 1;
-	      *again = TRUE;
+	      eliminate_sethi = 1;
+	      break;
 	    }
+
+	  /* This is avoid to relax symbol address which is fixed
+	     relocations.  Ex: _stack.  */
+	  if (h && bfd_is_abs_section (h->root.u.def.section))
+	    return FALSE;
+	}
+
+      if (!load_store_relax)
+	return FALSE;
+
+      /* Case for set gp register.  */
+      if (N32_RT5 (insn) == REG_GP)
+	break;
+
+      if (range_type == NDS32_LOADSTORE_FLOAT_S
+	  || range_type == NDS32_LOADSTORE_FLOAT_S)
+	{
+	  range_l = sdata_range[0][0];
+	  range_h = sdata_range[0][1];
 	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_GOTOFF_SUFF)
+      else
 	{
-	  int opc_insn_gotoff;
+	  range_l = sdata_range[1][0];
+	  range_h = sdata_range[1][1];
+	}
+      break;
 
-	  insn = bfd_getb32 (contents + laddr);
-	  if (insn & 0x80000000)
-	    continue;
+    case R_NDS32_GOT_HI20:
+      access_addr =
+	calculate_got_memory_address (abfd, link_info, hi_irelfn, symtab_hdr);
 
-	  if (nds32_elf_check_dup_relocs
-	      (irel, internal_relocs, irelend, R_NDS32_GOTOFF_SUFF))
-	    continue;
+      /* If this symbol is not in .got, the return value will be -1.
+	 Since the gp value is set to SDA_BASE but not GLOBAL_OFFSET_TABLE,
+	 a negative offset is allowed.  */
+      if ((bfd_signed_vma) (access_addr - local_sda) < CONSERVATIVE_20BIT
+	  && (bfd_signed_vma) (access_addr - local_sda) >= -CONSERVATIVE_20BIT)
+	eliminate_sethi = 1;
+      break;
 
-	  seq_len = insn_len = 4;
+    case R_NDS32_PLT_GOTREL_HI20:
+      access_addr = calculate_plt_memory_address (abfd, link_info, isymbuf,
+						  hi_irelfn, symtab_hdr);
 
-	  i1_irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
-					      R_NDS32_PTR_RESOLVED);
-	  nds32_elf_final_sda_base (sec->output_section->owner, link_info,
-				    &local_sda, FALSE);
-	  access_addr = calculate_memory_address (abfd, irel, isymbuf, symtab_hdr);
-	  foff = access_addr - local_sda;
+      if ((bfd_signed_vma) (access_addr - local_sda) < CONSERVATIVE_20BIT
+	  && (bfd_signed_vma) (access_addr - local_sda) >= -CONSERVATIVE_20BIT)
+	eliminate_sethi = 1;
+      break;
 
-	  if (foff >= 0x3f000 || foff < -0x3f000)
-	    continue;
+    case R_NDS32_GOTOFF_HI20:
+      access_addr =
+	calculate_memory_address (abfd, hi_irelfn, isymbuf, symtab_hdr);
 
-	  /* Concatenate opcode and sub-opcode for switch case.
-	     It may be MEM or ALU1.  */
-	  opc_insn_gotoff = (N32_OP6 (insn) << 8) | (insn & 0xff);
-	  switch (opc_insn_gotoff)
-	    {
-	    case (N32_OP6_MEM << 8) | N32_MEM_LW:
-	      /* 4-byte aligned.  */
-	      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __MF (6, 17, 3));
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA17S2_RELA);
-	      break;
-	    case (N32_OP6_MEM << 8) | N32_MEM_SW:
-	      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __MF (7, 17, 3));
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA17S2_RELA);
-	      break;
-	    case (N32_OP6_MEM << 8) | N32_MEM_LH:
-	      /* 2-byte aligned.  */
-	      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), 0);
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA18S1_RELA);
-	      break;
-	    case (N32_OP6_MEM << 8) | N32_MEM_LHS:
-	      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __BIT (18));
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA18S1_RELA);
-	      break;
-	    case (N32_OP6_MEM << 8) | N32_MEM_SH:
-	      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __BIT (19));
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA18S1_RELA);
-	      break;
-	    case (N32_OP6_MEM << 8) | N32_MEM_LB:
-	      /* 1-byte aligned.  */
-	      insn = N32_TYPE1 (LBGP, N32_RT5 (insn), 0);
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
-	      break;
-	    case (N32_OP6_MEM << 8) | N32_MEM_LBS:
-	      insn = N32_TYPE1 (LBGP, N32_RT5 (insn), __BIT (19));
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
-	      break;
-	    case (N32_OP6_MEM << 8) | N32_MEM_SB:
-	      insn = N32_TYPE1 (SBGP, N32_RT5 (insn), 0);
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
-	      break;
-	    case (N32_OP6_ALU1 << 8) | N32_ALU1_ADD_SLLI:
-	      if (N32_SH5 (insn) != 0)
-		continue;
-	      insn = N32_TYPE1 (SBGP, N32_RT5 (insn), __BIT (19));
-	      irel->r_info =
-		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
-	      break;
-	    default:
-	      continue;
-	    }
+      if ((bfd_signed_vma) (access_addr - local_sda) < CONSERVATIVE_20BIT
+	  && (bfd_signed_vma) (access_addr - local_sda) >= -CONSERVATIVE_20BIT)
+	eliminate_sethi = 1;
+      break;
 
-	  bfd_putb32 (insn, contents + laddr);
-	  if (i1_irelfn != irelend)
-	    {
-	      i1_irelfn->r_addend |= 1;
-	      *again = TRUE;
-	    }
-	  if ((i2_irelfn =
-	       find_relocs_at_address (irel, internal_relocs, irelend,
-				       R_NDS32_INSN16)) != irelend)
-	    i2_irelfn->r_info =
-	      ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_MULCALL_SUFF)
-	{
-	  /* The last bit of r_addend indicates its a two instruction block.  */
-	  i1_irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
-					      R_NDS32_PTR_RESOLVED);
-	  if ((i1_irelfn != irelend && (i1_irelfn->r_addend & 1))
-	      || (nds32_elf_insn_size (abfd, contents, irel->r_offset) != 4
-		  && !(i1_irelfn != irelend && (i1_irelfn->r_addend & 2))))
-	    continue;
+    case R_NDS32_GOTPC_HI20:
+      /* The access_addr must consider r_addend of hi_irel.  */
+      access_addr = sec->output_section->vma + sec->output_offset
+	+ irel->r_offset + hi_irelfn->r_addend;
 
-	  /* Get the value of the symbol referred to by the reloc.  */
-	  foff = calculate_offset (abfd, sec, irel, isymbuf, symtab_hdr,
-				   &pic_ext_target);
+      if ((bfd_signed_vma) (local_sda - access_addr) < CONSERVATIVE_20BIT
+	  && (bfd_signed_vma) (local_sda - access_addr) >= -CONSERVATIVE_20BIT)
+	eliminate_sethi = 1;
+      break;
 
-	  /* This condition only happened when symbol is undefined.  */
-	  if (pic_ext_target || foff == 0)
-	    continue;
-	  if (foff < -0x1000000 || foff >= 0x1000000)
-	    continue;
+    case R_NDS32_TLS_LE_HI20:
+      access_addr =
+	calculate_memory_address (abfd, hi_irelfn, isymbuf, symtab_hdr);
+      BFD_ASSERT (elf_hash_table (link_info)->tls_sec != NULL);
+      access_addr -= (elf_hash_table (link_info)->tls_sec->vma + TP_OFFSET);
+      if ((range_type == NDS32_LOADSTORE_IMM)
+	  && (bfd_signed_vma) (access_addr) < CONSERVATIVE_20BIT
+	  && (bfd_signed_vma) (access_addr) >= -CONSERVATIVE_20BIT)
+	eliminate_sethi = 1;
+      break;
 
-	  if (i1_irelfn != irelend && (i1_irelfn->r_addend & 2))
-	    {
-	      seq_len = nds32_elf_insn_size (abfd, contents, irel->r_offset);
-	      seq_len += nds32_elf_insn_size (abfd, contents,
-					      irel->r_offset + seq_len);
-	    }
-	  else
-	    seq_len = 4;
-	  insn_len = 4;
+    default:
+      return FALSE;
+    }
 
-	  insn = INSN_JAL;
-	  bfd_putb32 (insn, contents + laddr);
-	  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_25_PCREL_RELA);
+  /* Delete sethi instruction.  */
+  if (eliminate_sethi == 1
+      || (local_sda <= access_addr && (access_addr - local_sda) < range_h)
+      || (local_sda > access_addr && (local_sda - access_addr) <= range_l))
+    {
+      hi_irelfn->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info), R_NDS32_NONE);
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+      *insn_len = 0;
+    }
+  return TRUE;
+}
 
-	  if (i1_irelfn != irelend)
-	    {
-	      i1_irelfn->r_addend |= 1;
-	      *again = TRUE;
-	    }
-	  while (i1_irelfn != irelend
-		 && irel->r_offset == i1_irelfn->r_offset)
-	    i1_irelfn++;
-	  for (;
-	       i1_irelfn != irelend
-	       && i1_irelfn->r_offset < irel->r_offset + 4; i1_irelfn++)
-	    i1_irelfn->r_info =
-	      ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info), R_NDS32_NONE);
-	}
-      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_PLTBLOCK)
-	{
-	  i1_irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
-					      R_NDS32_PLT_GOTREL_HI20);
+/* Relax LO12 relocation for nds32_elf_relax_section.  */
 
-	  if (i1_irelfn == irelend)
-	    {
-	      (*_bfd_error_handler)
-	       ("%B: warning: R_NDS32_PLTBLOCK points to unrecognized reloc at 0x%lx.",
-		abfd, (long) irel->r_offset);
-	      continue;
-	    }
+static void
+nds32_elf_relax_lo12 (struct bfd_link_info *link_info, bfd *abfd,
+		      asection *sec, Elf_Internal_Rela *irel,
+		      Elf_Internal_Rela *internal_relocs, bfd_byte *contents,
+		      Elf_Internal_Sym *isymbuf, Elf_Internal_Shdr *symtab_hdr)
+{
+  uint32_t insn;
+  bfd_vma local_sda, laddr;
+  unsigned long reloc;
+  bfd_vma access_addr;
+  bfd_vma range_l = 0, range_h = 0;	/* Upper/lower bound.  */
+  Elf_Internal_Rela *irelfn = NULL, *irelend;
+  struct elf_link_hash_entry *h = NULL;
+  int indx;
+
+  /* For SDA base relative relaxation.  */
+  nds32_elf_final_sda_base (sec->output_section->owner, link_info,
+			    &local_sda, FALSE);
 
-	  nds32_elf_final_sda_base (sec->output_section->owner, link_info,
-				    &local_sda, FALSE);
-	  foff =
-	    calculate_plt_offset (abfd, sec, link_info, isymbuf, hi_irelfn,
-				  symtab_hdr);
-
-	  if (foff < -0x1000000 || foff >= 0x1000000)
-	    {
-	      foff = (bfd_signed_vma) (calculate_plt_memory_address
-				       (abfd, link_info, isymbuf, hi_irelfn,
-					symtab_hdr) - local_sda);
-	      if (foff >= -0x4000 && foff < 0x4000)
-		{
-		  /* addi  $rt, $gp, lo15(Sym - SDA_BASE)
-		     jral  $rt */
-
-		  /* TODO: We can use add.gp here, once ISA V1 is obsolete.  */
-		  insn = N32_TYPE2 (ADDI, N32_RT5 (insn), REG_GP, 0);
-		  bfd_putb32 (insn, contents + irel->r_offset + 8);
-
-		  i1_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-						    R_NDS32_PLT_GOTREL_LO15);
-		  i1_irelfn->r_addend = hi_irelfn->r_addend;
-
-		  seq_len = 8;
-		}
-	      else if (foff >= -0x80000 && foff < 0x80000)
-		{
-		  /* movi $rt, lo20(Sym - SDA_BASE)	PLT_GOTREL_LO20
-		     add  $rt, $gp, $rt			INSN16
-		     jral $rt				INSN16 */
-
-		  for (i1_irelfn = irel;
-		       i1_irelfn->r_offset < irel->r_offset + 4; i1_irelfn++)
-		    ;
-		  for (; i1_irelfn->r_offset < irel->r_offset + 8; i1_irelfn++)
-		    if (ELF32_R_TYPE (i1_irelfn->r_info) != R_NDS32_PLT_GOTREL_LO12)
-		      i2_irelfn = i1_irelfn;
-		    else if (ELF32_R_TYPE (i1_irelfn->r_info) != R_NDS32_LABEL)
-		      i1_irelfn->r_info =
-			ELF32_R_INFO (ELF32_R_SYM (i1_irelfn->r_info),
-				      R_NDS32_NONE);
-		  if (i2_irelfn)
-		    {
-		      insn = N32_TYPE1 (MOVI, N32_RT5 (insn), 0);
-		      bfd_putb32 (insn, contents + irel->r_offset + 4);
-		      i2_irelfn->r_info =
-			ELF32_R_INFO (ELF32_R_SYM (i2_irelfn->r_info),
-				      R_NDS32_PLT_GOTREL_LO20);
-		    }
-		  seq_len = 4;
-		}
-	      else
-		continue;
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
+  insn = bfd_getb32 (contents + laddr);
 
-	    }
-	  else
-	    {
-	      /* jal Sym INSN16/25_PLTREL */
-	      for (i1_irelfn = irel;
-		   i1_irelfn->r_offset < irel->r_offset + 12; i1_irelfn++)
-		;
-
-	      i2_irelfn = i1_irelfn - 1;
-	      i2_irelfn->r_offset = i1_irelfn->r_offset;
-	      i2_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (hi_irelfn->r_info),
-						R_NDS32_25_PLTREL);
-	      i2_irelfn->r_addend = hi_irelfn->r_addend;
-	      insn = INSN_JAL;
-	      bfd_putb32 (insn, contents + irel->r_offset + 12);
-	      seq_len = 12;
-	    }
+  if (!is_sda_access_insn (insn) && N32_OP6 (insn) != N32_OP6_ORI)
+    return;
 
-	  insn_len = 0;
-	}
-      else
-	continue;
+  access_addr = calculate_memory_address (abfd, irel, isymbuf, symtab_hdr);
+
+  if (ELF32_R_SYM (irel->r_info) >= symtab_hdr->sh_info)
+    {
+      indx = ELF32_R_SYM (irel->r_info) - symtab_hdr->sh_info;
+      h = elf_sym_hashes (abfd)[indx];
+    }
 
-      if (seq_len - insn_len > 0)
+  if (N32_OP6 (insn) == N32_OP6_ORI && access_addr < CONSERVATIVE_20BIT
+      && (!h || (h && strcmp (h->root.root.string, FP_BASE_NAME) != 0)))
+    {
+      reloc = R_NDS32_20_RELA;
+      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), reloc);
+      insn = N32_TYPE1 (MOVI, N32_RT5 (insn), 0);
+      bfd_putb32 (insn, contents + laddr);
+    }
+  /* This is avoid to relax symbol address which is fixed
+     relocations.  Ex: _stack.  */
+  else if (N32_OP6 (insn) == N32_OP6_ORI
+	   && h && bfd_is_abs_section (h->root.u.def.section))
+    return;
+  else
+    {
+      range_l = sdata_range[1][0];
+      range_h = sdata_range[1][1];
+      switch (ELF32_R_TYPE (irel->r_info))
 	{
-	  if (!insert_nds32_elf_blank
-	      (&relax_blank_list, irel->r_offset + insn_len,
-	       seq_len - insn_len))
-	    goto error_return;
-	  *again = TRUE;
+	case R_NDS32_LO12S0_RELA:
+	  reloc = R_NDS32_SDA19S0_RELA;
+	  break;
+	case R_NDS32_LO12S1_RELA:
+	  reloc = R_NDS32_SDA18S1_RELA;
+	  break;
+	case R_NDS32_LO12S2_RELA:
+	  reloc = R_NDS32_SDA17S2_RELA;
+	  break;
+	case R_NDS32_LO12S2_DP_RELA:
+	  range_l = sdata_range[0][0];
+	  range_h = sdata_range[0][1];
+	  reloc = R_NDS32_SDA12S2_DP_RELA;
+	  break;
+	case R_NDS32_LO12S2_SP_RELA:
+	  range_l = sdata_range[0][0];
+	  range_h = sdata_range[0][1];
+	  reloc = R_NDS32_SDA12S2_SP_RELA;
+	  break;
+	default:
+	  return;
 	}
-    }
 
-  calc_nds32_blank_total (relax_blank_list);
+      /* There are range_h and range_l because linker has to promise
+	 all sections move cross one page together.  */
+      if ((local_sda <= access_addr && (access_addr - local_sda) < range_h)
+	  || (local_sda > access_addr && (local_sda - access_addr) <= range_l))
+	{
+	  if (N32_OP6 (insn) == N32_OP6_ORI && N32_RT5 (insn) == REG_GP)
+	    {
+	      /* Maybe we should add R_NDS32_INSN16 reloc type here
+		 or manually do some optimization.  sethi can't be
+		 eliminated when updating $gp so the relative ori
+		 needs to be preserved.  */
+	      return;
+	    }
+	  if (!turn_insn_to_sda_access (insn, ELF32_R_TYPE (irel->r_info),
+					&insn))
+	    return;
+	  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), reloc);
+	  bfd_putb32 (insn, contents + laddr);
 
-  if (table->relax_fp_as_gp)
-    {
-      if (!nds32_relax_fp_as_gp (link_info, abfd, sec, internal_relocs,
-				 irelend, isymbuf))
-	goto error_return;
+	  irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
+					   R_NDS32_INSN16);
+	  /* SDA17 must keep INSN16 for converting fp_as_gp.  */
+	  if (irelfn != irelend && reloc != R_NDS32_SDA17S2_RELA)
+	    irelfn->r_info =
+	      ELF32_R_INFO (ELF32_R_SYM (irelfn->r_info), R_NDS32_NONE);
 
-      if (*again == FALSE)
-	{
-	  if (!nds32_fag_remove_unused_fpbase (abfd, sec, internal_relocs,
-					       irelend))
-	    goto error_return;
 	}
     }
+  return;
+}
 
-  if (*again == FALSE)
-    {
-      /* This code block is used to adjust 4-byte alignment by relax a pair
-	 of instruction a time.
+/* Relax low part of PIC instruction pattern.  */
 
-	 It recognizes three types of relocations.
-	 1. R_NDS32_LABEL - a aligment.
-	 2. R_NDS32_INSN16 - relax a 32-bit instruction to 16-bit.
-	 3. is_16bit_NOP () - remove a 16-bit instruction.
-
-	 FIXME: It seems currently implementation only support 4-byte aligment.
-	 We should handle any-aligment.  */
-
-      Elf_Internal_Rela *insn_rel = NULL;
-      Elf_Internal_Rela *label_rel = NULL;
-      Elf_Internal_Rela *tmp_rel, tmp2_rel, *tmp3_rel = NULL;
-
-      /* Checking for branch relaxation relies on the relocations to
-	 be sorted on 'r_offset'.  This is not guaranteed so we must sort.  */
-      nds32_insertion_sort (internal_relocs, sec->reloc_count,
-			    sizeof (Elf_Internal_Rela), compar_reloc);
+static void
+nds32_elf_relax_piclo12 (struct bfd_link_info *link_info, bfd *abfd,
+			 asection *sec, Elf_Internal_Rela *irel,
+			 bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			 Elf_Internal_Shdr *symtab_hdr)
+{
+  uint32_t insn;
+  bfd_vma local_sda, laddr;
+  bfd_signed_vma foff;
+  unsigned long reloc;
+
+  nds32_elf_final_sda_base (sec->output_section->owner, link_info,
+			    &local_sda, FALSE);
+  laddr = irel->r_offset;
+  insn = bfd_getb32 (contents + laddr);
+
+  if (N32_OP6 (insn) != N32_OP6_ORI)
+    return;
+
+  if (ELF32_R_TYPE (irel->r_info) == R_NDS32_GOT_LO12)
+    {
+      foff = calculate_got_memory_address (abfd, link_info, irel,
+					   symtab_hdr) - local_sda;
+      reloc = R_NDS32_GOT20;
+    }
+  else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_PLT_GOTREL_LO12)
+    {
+      foff = calculate_plt_memory_address (abfd, link_info, isymbuf, irel,
+					   symtab_hdr) - local_sda;
+      reloc = R_NDS32_PLT_GOTREL_LO20;
+    }
+  else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_GOTOFF_LO12)
+    {
+      foff = calculate_memory_address (abfd, irel, isymbuf,
+				       symtab_hdr) - local_sda;
+      reloc = R_NDS32_GOTOFF;
+    }
+  else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_GOTPC_LO12)
+    {
+      foff = local_sda - sec->output_section->vma + sec->output_offset
+	+ irel->r_offset + irel->r_addend;
+      reloc = R_NDS32_GOTPC20;
+    }
+  else
+    return;
+
+  if ((foff < CONSERVATIVE_20BIT) && (foff >= -CONSERVATIVE_20BIT))
+    {
+      /* Turn into MOVI.  */
+      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), reloc);
+      insn = N32_TYPE1 (MOVI, N32_RT5 (insn), 0);
+      bfd_putb32 (insn, contents + laddr);
+    }
+}
+
+/* Relax low part of LE TLS instruction pattern.  */
+
+static void
+nds32_elf_relax_letlslo12 (struct bfd_link_info *link_info, bfd *abfd,
+			   Elf_Internal_Rela *irel,
+			   bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			   Elf_Internal_Shdr *symtab_hdr)
+{
+  uint32_t insn;
+  bfd_vma laddr;
+  bfd_signed_vma foff;
+  unsigned long reloc;
+
+  laddr = irel->r_offset;
+  foff = calculate_memory_address (abfd, irel, isymbuf, symtab_hdr);
+  BFD_ASSERT (elf_hash_table (link_info)->tls_sec != NULL);
+  foff -= (elf_hash_table (link_info)->tls_sec->vma + TP_OFFSET);
+  insn = bfd_getb32 (contents + laddr);
+
+  if ( (bfd_signed_vma) (foff) < CONSERVATIVE_20BIT
+      && (bfd_signed_vma) (foff) >= -CONSERVATIVE_20BIT)
+    {
+      /* Pattern sethi-ori transform to movi.  */
+      reloc = R_NDS32_TLS_LE_20;
+      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), reloc);
+      insn = N32_TYPE1 (MOVI, N32_RT5 (insn), 0);
+      bfd_putb32 (insn, contents + laddr);
+    }
+}
+
+/* Relax LE TLS calculate address instruction pattern.  */
+
+static void
+nds32_elf_relax_letlsadd (struct bfd_link_info *link_info, bfd *abfd,
+			  asection *sec, Elf_Internal_Rela *irel,
+			  Elf_Internal_Rela *internal_relocs,
+			  bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			  Elf_Internal_Shdr *symtab_hdr, bfd_boolean *again)
+{
+  /* Local TLS non-pic
+     sethi    ta, hi20(symbol@tpoff)      ; TLS_LE_HI20
+     ori      ta, ta, lo12(symbol@tpoff)  ; TLS_LE_LO12
+     add      ra, ta, tp                  ; TLS_LE_ADD */
+
+  uint32_t insn;
+  bfd_vma laddr;
+  bfd_signed_vma foff;
+  Elf_Internal_Rela *i1_irelfn, *irelend;
+
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
+  insn = bfd_getb32 (contents + laddr);
+  i1_irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
+				      R_NDS32_PTR_RESOLVED);
+  foff = calculate_memory_address (abfd, irel, isymbuf, symtab_hdr);
+  BFD_ASSERT (elf_hash_table (link_info)->tls_sec != NULL);
+  foff -= (elf_hash_table (link_info)->tls_sec->vma + TP_OFFSET);
+
+  /* The range is +/-16k.  */
+  if ((bfd_signed_vma) (foff) < CONSERVATIVE_15BIT
+      && (bfd_signed_vma) (foff) >= -CONSERVATIVE_15BIT)
+    {
+      /* Transform add to addi.  */
+      insn = N32_TYPE2 (ADDI, N32_RT5 (insn), N32_RB5 (insn), 0);
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_TLS_LE_15S0);
+
+      bfd_putb32 (insn, contents + laddr);
+      if (i1_irelfn != irelend)
+	{
+	  i1_irelfn->r_addend |= 1;
+	  *again = TRUE;
+	}
+    }
+}
+
+/* Relax LE TLS load store instruction pattern.  */
+
+static void
+nds32_elf_relax_letlsls (struct bfd_link_info *link_info, bfd *abfd,
+			 asection *sec, Elf_Internal_Rela *irel,
+			 Elf_Internal_Rela *internal_relocs,
+			 bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			 Elf_Internal_Shdr *symtab_hdr, bfd_boolean *again)
+{
+
+  uint32_t insn;
+  bfd_vma laddr;
+  bfd_signed_vma foff;
+  Elf_Internal_Rela *i1_irelfn, *irelend;
+  int success = 0;
+
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
+  insn = bfd_getb32 (contents + laddr);
+  i1_irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
+				      R_NDS32_PTR_RESOLVED);
+  foff = calculate_memory_address (abfd, irel, isymbuf, symtab_hdr);
+  BFD_ASSERT (elf_hash_table (link_info)->tls_sec != NULL);
+  foff -= (elf_hash_table (link_info)->tls_sec->vma + TP_OFFSET);
+
+  switch ((N32_OP6 (insn) << 8) | (insn & 0xff))
+    {
+    case (N32_OP6_MEM << 8) | N32_MEM_LB:
+    case (N32_OP6_MEM << 8) | N32_MEM_SB:
+    case (N32_OP6_MEM << 8) | N32_MEM_LBS:
+      /* The range is +/-16k.  */
+      if ((bfd_signed_vma) (foff) < CONSERVATIVE_15BIT
+	  && (bfd_signed_vma) (foff) >= -CONSERVATIVE_15BIT)
+	{
+	  insn =
+	    ((insn & 0xff) << 25) | (insn & 0x1f00000) | ((insn & 0x7c00) << 5);
+	  irel->r_info =
+	    ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_TLS_LE_15S0);
+	  success = 1;
+	  break;
+	}
+    case (N32_OP6_MEM << 8) | N32_MEM_LH:
+    case (N32_OP6_MEM << 8) | N32_MEM_SH:
+    case (N32_OP6_MEM << 8) | N32_MEM_LHS:
+      /* The range is +/-32k.  */
+      if ((bfd_signed_vma) (foff) < CONSERVATIVE_15BIT_S1
+	  && (bfd_signed_vma) (foff) >= -CONSERVATIVE_15BIT_S1)
+	{
+	  insn =
+	    ((insn & 0xff) << 25) | (insn & 0x1f00000) | ((insn & 0x7c00) << 5);
+	  irel->r_info =
+	    ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_TLS_LE_15S1);
+	  success = 1;
+	  break;
+	}
+    case (N32_OP6_MEM << 8) | N32_MEM_LW:
+    case (N32_OP6_MEM << 8) | N32_MEM_SW:
+      /* The range is +/-64k.  */
+      if ((bfd_signed_vma) (foff) < CONSERVATIVE_15BIT_S2
+	  && (bfd_signed_vma) (foff) >= -CONSERVATIVE_15BIT_S2)
+	{
+	  insn =
+	    ((insn & 0xff) << 25) | (insn & 0x1f00000) | ((insn & 0x7c00) << 5);
+	  irel->r_info =
+	    ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_TLS_LE_15S2);
+	  success = 1;
+	  break;
+	}
+    default:
+      break;
+    }
+
+  if (success)
+    {
+      bfd_putb32 (insn, contents + laddr);
+      if (i1_irelfn != irelend)
+	{
+	  i1_irelfn->r_addend |= 1;
+	  *again = TRUE;
+	}
+    }
+}
+
+/* Relax PTR relocation for nds32_elf_relax_section.  */
+
+static bfd_boolean
+nds32_elf_relax_ptr (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
+		     Elf_Internal_Rela *internal_relocs, int *insn_len,
+		     int *seq_len, bfd_byte *contents)
+{
+  Elf_Internal_Rela *ptr_irel, *irelend, *count_irel, *re_irel;
+
+  irelend = internal_relocs + sec->reloc_count;
+
+  re_irel =
+    find_relocs_at_address_addr (irel, internal_relocs, irelend,
+				 R_NDS32_PTR_RESOLVED, irel->r_addend);
+
+  if (re_irel == irelend)
+    {
+      (*_bfd_error_handler)
+	("%B: warning: R_NDS32_PTR points to unrecognized reloc at 0x%lx.",
+	 abfd, (long) irel->r_offset);
+      return FALSE;
+    }
+
+  if (re_irel->r_addend != 1)
+    return FALSE;
+
+  /* Pointed target is relaxed and no longer needs this void *,
+     change the type to NONE.  */
+  irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+
+  /* Find PTR_COUNT to decide remove it or not.  If PTR_COUNT does
+     not exist, it means only count 1 and remove it directly.  */
+  /* TODO: I hope we can obsolate R_NDS32_COUNT in the future.  */
+  count_irel = find_relocs_at_address (irel, internal_relocs, irelend,
+				       R_NDS32_PTR_COUNT);
+  ptr_irel = find_relocs_at_address (irel, internal_relocs, irelend,
+				     R_NDS32_PTR);
+  if (count_irel != irelend)
+    {
+      if (--count_irel->r_addend > 0)
+	return FALSE;
+    }
 
+  if (ptr_irel != irelend)
+    return FALSE;
+
+  /* If the PTR_COUNT is already 0, remove current instruction.  */
+  *seq_len = nds32_elf_insn_size (abfd, contents, irel->r_offset);
+  *insn_len = 0;
+  return TRUE;
+}
+
+/* Relax PLT_GOT_SUFF relocation for nds32_elf_relax_section.  */
+
+static void
+nds32_elf_relax_pltgot_suff (struct bfd_link_info *link_info, bfd *abfd,
+			     asection *sec, Elf_Internal_Rela *irel,
+			     Elf_Internal_Rela *internal_relocs,
+			     bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			     Elf_Internal_Shdr *symtab_hdr, bfd_boolean *again)
+{
+  uint32_t insn;
+  bfd_signed_vma foff;
+  Elf_Internal_Rela *i1_irelfn, *irelend;
+  bfd_vma local_sda, laddr;
+
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
+  insn = bfd_getb32 (contents + laddr);
+
+  /* FIXME: It's a little trouble to turn JRAL5 to JAL since
+     we need additional space.  It might be help if we could
+     borrow some space from instructions to be eliminated
+     such as sethi, ori, add.  */
+  if (insn & 0x80000000)
+    return;
+
+  if (nds32_elf_check_dup_relocs
+      (irel, internal_relocs, irelend, R_NDS32_PLT_GOT_SUFF))
+    return;
+
+  i1_irelfn =
+    find_relocs_at_address (irel, internal_relocs, irelend,
+			    R_NDS32_PTR_RESOLVED);
+
+  /* FIXIT 090606
+     The boundary should be reduced since the .plt section hasn't
+     been created and the address of specific entry is still unknown
+     Maybe the range between the function call and the begin of the
+     .text section can be used to decide if the .plt is in the range
+     of function call.  */
+
+  if (N32_OP6 (insn) == N32_OP6_ALU1
+      && N32_SUB5 (insn) == N32_ALU1_ADD)
+    {
+      /* Get the value of the symbol referred to by the reloc.  */
       nds32_elf_final_sda_base (sec->output_section->owner, link_info,
 				&local_sda, FALSE);
+      foff = (bfd_signed_vma) (calculate_plt_memory_address
+			       (abfd, link_info, isymbuf, irel,
+				symtab_hdr) - local_sda);
+      /* This condition only happened when symbol is undefined.  */
+      if (foff == 0)
+	return;
+
+      if (foff < -CONSERVATIVE_19BIT || foff >= CONSERVATIVE_19BIT)
+	return;
+      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
+				   R_NDS32_PLT_GOTREL_LO19);
+      /* addi.gp */
+      insn = N32_TYPE1 (SBGP, N32_RT5 (insn), __BIT (19));
+    }
+  else if (N32_OP6 (insn) == N32_OP6_JREG
+	   && N32_SUB5 (insn) == N32_JREG_JRAL)
+    {
+      /* Get the value of the symbol referred to by the reloc.  */
+      foff =
+	calculate_plt_offset (abfd, sec, link_info, isymbuf, irel, symtab_hdr);
+      /* This condition only happened when symbol is undefined.  */
+      if (foff == 0)
+	return;
+      if (foff < -CONSERVATIVE_24BIT_S1 || foff >= CONSERVATIVE_24BIT_S1)
+	return;
+      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_25_PLTREL);
+      insn = INSN_JAL;
+    }
+  else
+    return;
+
+  bfd_putb32 (insn, contents + laddr);
+  if (i1_irelfn != irelend)
+    {
+      i1_irelfn->r_addend |= 1;
+      *again = TRUE;
+    }
+}
+
+/* Relax GOT_SUFF relocation for nds32_elf_relax_section.  */
+
+static void
+nds32_elf_relax_got_suff (struct bfd_link_info *link_info, bfd *abfd,
+			  asection *sec, Elf_Internal_Rela *irel,
+			  Elf_Internal_Rela *internal_relocs,
+			  bfd_byte *contents, Elf_Internal_Shdr *symtab_hdr,
+			  bfd_boolean *again)
+{
+  uint32_t insn;
+  bfd_signed_vma foff;
+  Elf_Internal_Rela *i1_irelfn, *irelend;
+  bfd_vma local_sda, laddr;
+
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
+  insn = bfd_getb32 (contents + laddr);
+  if (insn & 0x80000000)
+    return;
+
+  if (nds32_elf_check_dup_relocs
+      (irel, internal_relocs, irelend, R_NDS32_GOT_SUFF))
+    return;
+
+  i1_irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
+				      R_NDS32_PTR_RESOLVED);
 
-      /* Force R_NDS32_LABEL before R_NDS32_INSN16.  */
-      /* FIXME: Can we generate the right order in assembler?
-		So we don't have to swapping them here.  */
-      for (label_rel = internal_relocs, insn_rel = internal_relocs;
-	   label_rel < irelend; label_rel++)
+  nds32_elf_final_sda_base (sec->output_section->owner, link_info,
+			    &local_sda, FALSE);
+  foff = calculate_got_memory_address (abfd, link_info, irel,
+				       symtab_hdr) - local_sda;
+
+  if (foff < CONSERVATIVE_19BIT && foff >= -CONSERVATIVE_19BIT)
+    {
+      /* Turn LW to LWI.GP.  Change relocation type to R_NDS32_GOT_REL.  */
+      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __MF (6, 17, 3));
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_GOT17S2_RELA);
+      bfd_putb32 (insn, contents + laddr);
+      if (i1_irelfn != irelend)
 	{
-	  if (ELF32_R_TYPE (label_rel->r_info) != R_NDS32_LABEL)
-	    continue;
+	  i1_irelfn->r_addend |= 1;
+	  *again = TRUE;
+	}
+    }
+}
 
-	  /* Find the first reloc has the same offset with label_rel.  */
-	  while (insn_rel < irelend && insn_rel->r_offset < label_rel->r_offset)
-	    insn_rel++;
-
-	  for (;
-	       insn_rel < irelend && insn_rel->r_offset == label_rel->r_offset;
-	       insn_rel++)
-	    /* Check if there were R_NDS32_INSN16 and R_NDS32_LABEL at the same
-	       address.  */
-	    if (ELF32_R_TYPE (insn_rel->r_info) == R_NDS32_INSN16)
-	      break;
+/* Relax PLT_GOT_SUFF relocation for nds32_elf_relax_section.  */
 
-	  if (insn_rel < irelend && insn_rel->r_offset == label_rel->r_offset
-	      && insn_rel < label_rel)
-	    {
-	      /* Swap the two reloc if the R_NDS32_INSN16 is before R_NDS32_LABEL.  */
-	      memcpy (&tmp2_rel, insn_rel, sizeof (Elf_Internal_Rela));
-	      memcpy (insn_rel, label_rel, sizeof (Elf_Internal_Rela));
-	      memcpy (label_rel, &tmp2_rel, sizeof (Elf_Internal_Rela));
-	    }
+static void
+nds32_elf_relax_gotoff_suff (struct bfd_link_info *link_info, bfd *abfd,
+			     asection *sec, Elf_Internal_Rela *irel,
+			     Elf_Internal_Rela *internal_relocs,
+			     bfd_byte *contents, Elf_Internal_Sym *isymbuf,
+			     Elf_Internal_Shdr *symtab_hdr, bfd_boolean *again)
+{
+  int opc_insn_gotoff;
+  uint32_t insn;
+  bfd_signed_vma foff;
+  Elf_Internal_Rela *i1_irelfn, *i2_irelfn, *irelend;
+  bfd_vma local_sda, laddr;
+
+  irelend = internal_relocs + sec->reloc_count;
+  laddr = irel->r_offset;
+  insn = bfd_getb32 (contents + laddr);
+
+  if (insn & 0x80000000)
+    return;
+
+  if (nds32_elf_check_dup_relocs
+      (irel, internal_relocs, irelend, R_NDS32_GOTOFF_SUFF))
+    return;
+
+  i1_irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
+				      R_NDS32_PTR_RESOLVED);
+  nds32_elf_final_sda_base (sec->output_section->owner, link_info,
+			    &local_sda, FALSE);
+  foff = calculate_memory_address (abfd, irel, isymbuf, symtab_hdr);
+  foff = foff - local_sda;
+
+  if (foff >= CONSERVATIVE_19BIT || foff < -CONSERVATIVE_19BIT)
+    return;
+
+  /* Concatenate opcode and sub-opcode for switch case.
+     It may be MEM or ALU1.  */
+  opc_insn_gotoff = (N32_OP6 (insn) << 8) | (insn & 0xff);
+  switch (opc_insn_gotoff)
+    {
+    case (N32_OP6_MEM << 8) | N32_MEM_LW:
+      /* 4-byte aligned.  */
+      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __MF (6, 17, 3));
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA17S2_RELA);
+      break;
+    case (N32_OP6_MEM << 8) | N32_MEM_SW:
+      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __MF (7, 17, 3));
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA17S2_RELA);
+      break;
+    case (N32_OP6_MEM << 8) | N32_MEM_LH:
+      /* 2-byte aligned.  */
+      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), 0);
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA18S1_RELA);
+      break;
+    case (N32_OP6_MEM << 8) | N32_MEM_LHS:
+      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __BIT (18));
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA18S1_RELA);
+      break;
+    case (N32_OP6_MEM << 8) | N32_MEM_SH:
+      insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __BIT (19));
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA18S1_RELA);
+      break;
+    case (N32_OP6_MEM << 8) | N32_MEM_LB:
+      /* 1-byte aligned.  */
+      insn = N32_TYPE1 (LBGP, N32_RT5 (insn), 0);
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
+      break;
+    case (N32_OP6_MEM << 8) | N32_MEM_LBS:
+      insn = N32_TYPE1 (LBGP, N32_RT5 (insn), __BIT (19));
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
+      break;
+    case (N32_OP6_MEM << 8) | N32_MEM_SB:
+      insn = N32_TYPE1 (SBGP, N32_RT5 (insn), 0);
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
+      break;
+    case (N32_OP6_ALU1 << 8) | N32_ALU1_ADD:
+      insn = N32_TYPE1 (SBGP, N32_RT5 (insn), __BIT (19));
+      irel->r_info =
+	ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
+      break;
+    default:
+      return;
+    }
+
+  bfd_putb32 (insn, contents + laddr);
+  if (i1_irelfn != irelend)
+    {
+      i1_irelfn->r_addend |= 1;
+      *again = TRUE;
+    }
+  if ((i2_irelfn = find_relocs_at_address (irel, internal_relocs, irelend,
+					   R_NDS32_INSN16)) != irelend)
+    i2_irelfn->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+
+}
+
+static bfd_boolean
+nds32_relax_adjust_label (bfd *abfd, asection *sec,
+			  Elf_Internal_Rela *internal_relocs,
+			  bfd_byte *contents,
+			  nds32_elf_blank_t **relax_blank_list,
+			  int optimize, int opt_size)
+{
+  /* This code block is used to adjust 4-byte alignment by relax a pair
+     of instruction a time.
+
+     It recognizes three types of relocations.
+     1. R_NDS32_LABEL - a aligment.
+     2. R_NDS32_INSN16 - relax a 32-bit instruction to 16-bit.
+     3. is_16bit_NOP () - remove a 16-bit instruction.  */
+
+  /* TODO: It seems currently implementation only support 4-byte aligment.
+     We should handle any-aligment.  */
+
+  Elf_Internal_Rela *insn_rel = NULL, *label_rel = NULL, *irel;
+  Elf_Internal_Rela *tmp_rel, *tmp2_rel = NULL;
+  Elf_Internal_Rela rel_temp;
+  Elf_Internal_Rela *irelend;
+  bfd_vma address;
+  uint16_t insn16;
+
+  /* Checking for branch relaxation relies on the relocations to
+     be sorted on 'r_offset'.  This is not guaranteed so we must sort.  */
+  nds32_insertion_sort (internal_relocs, sec->reloc_count,
+			sizeof (Elf_Internal_Rela), compar_reloc);
+
+  irelend = internal_relocs + sec->reloc_count;
+
+  /* Force R_NDS32_LABEL before R_NDS32_INSN16.  */
+  /* FIXME: Can we generate the right order in assembler?
+     So we don't have to swapping them here.  */
+
+  for (label_rel = internal_relocs, insn_rel = internal_relocs;
+       label_rel < irelend; label_rel++)
+    {
+      if (ELF32_R_TYPE (label_rel->r_info) != R_NDS32_LABEL)
+	continue;
+
+      /* Find the first reloc has the same offset with label_rel.  */
+      while (insn_rel < irelend && insn_rel->r_offset < label_rel->r_offset)
+	insn_rel++;
+
+      for (;insn_rel < irelend && insn_rel->r_offset == label_rel->r_offset;
+	   insn_rel++)
+	/* Check if there were R_NDS32_INSN16 and R_NDS32_LABEL at the same
+	   address.  */
+	if (ELF32_R_TYPE (insn_rel->r_info) == R_NDS32_INSN16)
+	  break;
+
+      if (insn_rel < irelend && insn_rel->r_offset == label_rel->r_offset
+	  && insn_rel < label_rel)
+	{
+	  /* Swap the two reloc if the R_NDS32_INSN16 is
+	     before R_NDS32_LABEL.  */
+	  memcpy (&rel_temp, insn_rel, sizeof (Elf_Internal_Rela));
+	  memcpy (insn_rel, label_rel, sizeof (Elf_Internal_Rela));
+	  memcpy (label_rel, &rel_temp, sizeof (Elf_Internal_Rela));
 	}
-      label_rel = NULL;
-      insn_rel = NULL;
+    }
 
-      /* If there were a sequence of R_NDS32_LABEL end up with .align 2 or higher,
-	 remove other R_NDS32_LABEL with lower alignment.
-	 If an R_NDS32_INSN16 in between R_NDS32_LABELs must be converted,
-	 then the R_NDS32_LABEL sequence is broke.  */
-      for (tmp_rel = internal_relocs; tmp_rel < irelend; tmp_rel++)
+  label_rel = NULL;
+  insn_rel = NULL;
+  /* If there were a sequence of R_NDS32_LABEL end up with .align 2
+     or higher, remove other R_NDS32_LABEL with lower alignment.
+     If an R_NDS32_INSN16 in between R_NDS32_LABELs must be converted,
+     then the R_NDS32_LABEL sequence is broke.  */
+  for (tmp_rel = internal_relocs; tmp_rel < irelend; tmp_rel++)
+    {
+      if (ELF32_R_TYPE (tmp_rel->r_info) == R_NDS32_LABEL)
 	{
-	  if (ELF32_R_TYPE (tmp_rel->r_info) == R_NDS32_LABEL)
+	  if (label_rel == NULL)
 	    {
-	      if (label_rel == NULL)
-		{
-		  if (tmp_rel->r_addend < 2)
-		    label_rel = tmp_rel;
-		  continue;
-		}
-	      else if (tmp_rel->r_addend > 1)
-		{
-		  for (tmp3_rel = label_rel; tmp3_rel < tmp_rel; tmp3_rel++)
-		    {
-		      if (ELF32_R_TYPE (tmp3_rel->r_info) == R_NDS32_LABEL
-			  && tmp3_rel->r_addend < 2)
-			tmp3_rel->r_info = ELF32_R_INFO (ELF32_R_SYM (tmp3_rel->r_info), R_NDS32_NONE);
-		    }
-		  label_rel = NULL;
-		}
+	      if (tmp_rel->r_addend < 2)
+		label_rel = tmp_rel;
+	      continue;
 	    }
-	  else if (ELF32_R_TYPE (tmp_rel->r_info) == R_NDS32_INSN16)
+	  else if (tmp_rel->r_addend > 1)
 	    {
-	      if (label_rel
-		  && label_rel->r_offset != tmp_rel->r_offset
-		  && (is_convert_32_to_16 (abfd, sec, tmp_rel, internal_relocs,
-					   irelend, &insn16)
-		      || is_16bit_NOP (abfd, sec, tmp_rel)))
+	      /* Remove all LABEL relocation from label_rel to tmp_rel
+		 including relocations with same offset as tmp_rel.  */
+	      for (tmp2_rel = label_rel; tmp2_rel < tmp_rel
+		   || tmp2_rel->r_offset == tmp_rel->r_offset; tmp2_rel++)
 		{
-		  label_rel = NULL;
+		  if (ELF32_R_TYPE (tmp2_rel->r_info) == R_NDS32_LABEL
+		      && tmp2_rel->r_addend < 2)
+		    tmp2_rel->r_info =
+		      ELF32_R_INFO (ELF32_R_SYM (tmp2_rel->r_info),
+				    R_NDS32_NONE);
 		}
+	      label_rel = NULL;
 	    }
 	}
-      label_rel = NULL;
-      insn_rel = NULL;
-
-      /* Optimized for speed and nothing has not been relaxed.
-	 It's time to align labels.
-	 We may convert a 16-bit instruction right before a label to
-	 32-bit, in order to align the label if necessary
-	 all reloc entries has been sorted by r_offset.  */
-      for (irel = internal_relocs; irel < irelend; irel++)
+      else if (ELF32_R_TYPE (tmp_rel->r_info) == R_NDS32_INSN16 && label_rel)
 	{
-	  if (ELF32_R_TYPE (irel->r_info) != R_NDS32_INSN16
-	      && ELF32_R_TYPE (irel->r_info) != R_NDS32_LABEL)
-	    continue;
+	  /* A new INSN16 which can be converted, so clear label_rel.  */
+	  if (is_convert_32_to_16 (abfd, sec, tmp_rel, internal_relocs,
+				   irelend, &insn16)
+	      || is_16bit_NOP (abfd, sec, tmp_rel))
+	    label_rel = NULL;
+	}
+    }
+
+  label_rel = NULL;
+  insn_rel = NULL;
+  /* Optimized for speed and nothing has not been relaxed.
+     It's time to align labels.
+     We may convert a 16-bit instruction right before a label to
+     32-bit, in order to align the label if necessary
+     all reloc entries has been sorted by r_offset.  */
+  for (irel = internal_relocs; irel < irelend; irel++)
+    {
+      if (ELF32_R_TYPE (irel->r_info) != R_NDS32_INSN16
+	  && ELF32_R_TYPE (irel->r_info) != R_NDS32_LABEL)
+	continue;
 
-	  /* Search for INSN16 reloc.  */
-	  if (ELF32_R_TYPE (irel->r_info) == R_NDS32_INSN16)
+      if (ELF32_R_TYPE (irel->r_info) == R_NDS32_INSN16)
+	{
+	  /* A new INSN16 found, resize the old one.  */
+	  if (is_convert_32_to_16
+	      (abfd, sec, irel, internal_relocs, irelend, &insn16)
+	      || is_16bit_NOP (abfd, sec, irel))
 	    {
-	      if (label_rel)
-		{
-		  /* Previous LABEL reloc exists.  Try to resolve it.  */
-		  if (label_rel->r_offset == irel->r_offset)
-		    {
-		      /* LABEL and INSN are at the same addr.  */
-		      if ((irel->r_offset
-			   - get_nds32_elf_blank_total (&relax_blank_list,
-							irel->r_offset,
-							1)) & 0x02)
-			{
-			  if (irel->r_addend > 1)
-			    {
-			      /* Force to relax.  */
-			      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
-							   R_NDS32_NONE);
-			      if (is_convert_32_to_16
-				  (abfd, sec, irel, internal_relocs, irelend,
-				   &insn16))
-				{
-				  nds32_elf_write_16 (abfd, contents, irel,
-						      internal_relocs, irelend,
-						      insn16);
-
-				  if (!insert_nds32_elf_blank_recalc_total
-				      (&relax_blank_list, irel->r_offset + 2,
-				       2))
-				    goto error_return;
-				}
-			      else if (is_16bit_NOP (abfd, sec, irel))
-				{
-				  if (!insert_nds32_elf_blank_recalc_total
-				      (&relax_blank_list, irel->r_offset, 2))
-				    goto error_return;
-				}
-			    }
-			  else
-			    {
-			      if (is_convert_32_to_16
-				  (abfd, sec, irel, internal_relocs, irelend,
-				   &insn16)
-				  || is_16bit_NOP (abfd, sec, irel))
-				insn_rel = irel;
-			    }
-			  label_rel = NULL;
-			  continue;
-			}
-		      else
-			{
-			  /* Already aligned, reset LABEL and keep INSN16.  */
-			}
-		    }
-		  else
-		    {
-		      /* No INSN16 to relax, we don't want to insert 16-bit.  */
-		      /* Nop here, just signal the algorithm is wrong.  */
-		    }
-		  label_rel = NULL;
-		}
-	      /* A new INSN16 found, resize the old one.  */
-	      else if (insn_rel)
+	      if (insn_rel)
 		{
-		  if (!is_convert_32_to_16
-		      (abfd, sec, irel, internal_relocs, irelend,
-		       &insn16)
-		      && !is_16bit_NOP (abfd, sec, irel))
-		    {
-		      irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
-						   R_NDS32_NONE);
-		      continue;
-		    }
-		  /* Previous INSN16 reloc exists, reduce its size to 16-bit.  */
-		  if (is_convert_32_to_16
-		      (abfd, sec, insn_rel, internal_relocs, irelend,
-		       &insn16))
+		  /* Previous INSN16 reloc exists, reduce its
+		     size to 16-bit.  */
+		  if (is_convert_32_to_16 (abfd, sec, insn_rel, internal_relocs,
+					   irelend, &insn16))
 		    {
 		      nds32_elf_write_16 (abfd, contents, insn_rel,
 					  internal_relocs, irelend, insn16);
 
 		      if (!insert_nds32_elf_blank_recalc_total
-			  (&relax_blank_list, insn_rel->r_offset + 2, 2))
-			goto error_return;
+			  (relax_blank_list, insn_rel->r_offset + 2, 2))
+			return FALSE;
 		    }
 		  else if (is_16bit_NOP (abfd, sec, insn_rel))
 		    {
 		      if (!insert_nds32_elf_blank_recalc_total
-			  (&relax_blank_list, insn_rel->r_offset, 2))
-			goto error_return;
+			  (relax_blank_list, insn_rel->r_offset, 2))
+			return FALSE;
 		    }
 		  insn_rel->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (insn_rel->r_info),
-				  R_NDS32_NONE);
-		  insn_rel = NULL;
-		}
-
-	      if (is_convert_32_to_16
-		  (abfd, sec, irel, internal_relocs, irelend, &insn16)
-		  || is_16bit_NOP (abfd, sec, irel))
-		{
-		  insn_rel = irel;
+		    ELF32_R_INFO (ELF32_R_SYM (insn_rel->r_info), R_NDS32_NONE);
 		}
 	      /* Save the new one for later use.  */
+	      insn_rel = irel;
 	    }
+	  else
+	    irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
+					 R_NDS32_NONE);
+	}
+      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL)
+	{
 	  /* Search for label.  */
-	  else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL)
-	    {
-	      /* Label on 16-bit instruction, just reset this reloc.  */
-	      insn16 = bfd_getb16 (contents + irel->r_offset);
-	      if ((irel->r_addend & 0x1f) < 2 && (insn16 & 0x8000))
-		{
-		  irel->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
-		  continue;
-		}
-
-	      if (!optimize && (irel->r_addend & 0x1f) < 2)
-		{
-		  irel->r_info =
-		    ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
-		  continue;
-		}
+	  int force_relax = 0;
 
-	      /* Try to align this label.  */
-	      if (insn_rel)
-		{
-		  int force_relax = 0;
+	  /* Label on 16-bit instruction or optimization
+	     needless, just reset this reloc.  */
+	  insn16 = bfd_getb16 (contents + irel->r_offset);
+	  if ((irel->r_addend & 0x1f) < 2 && (!optimize || (insn16 & 0x8000)))
+	    {
+	      irel->r_info =
+		ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_NONE);
+	      continue;
+	    }
 
-		  /* If current location is .align 2, we can't relax previous 32-bit inst.  */
-		  /* Or the alignment constraint is broke.  */
-		  if ((irel->r_addend & 0x1f) < 2)
-		    {
-		      /* Label_rel always seats before insn_rel after our sort.  */
+	  address =
+	    irel->r_offset - get_nds32_elf_blank_total (relax_blank_list,
+							irel->r_offset, 1);
 
-		      /* INSN16 and LABEL at different location.  */
-		      /* Search for INSN16 at LABEL location.  */
-		      for (tmp_rel = irel;
-			   tmp_rel < irelend && tmp_rel->r_offset == irel->r_offset;
-			   tmp_rel++)
-			{
-			  if (ELF32_R_TYPE (tmp_rel->r_info) == R_NDS32_INSN16)
-			    break;
-			}
+	  if (!insn_rel)
+	    {
+	      /* Check if there is case which can not be aligned.  */
+	      if (irel->r_addend == 2 && address & 0x2)
+		return FALSE;
+	      continue;
+	    }
 
-		      if (tmp_rel < irelend
-			  && tmp_rel->r_offset == irel->r_offset)
-			{
-			  if (ELF32_R_TYPE (tmp_rel->r_info) == R_NDS32_INSN16)
-			    {
-			      if (is_convert_32_to_16
-				  (abfd, sec, tmp_rel, internal_relocs,
-				   irelend, &insn16)
-				  || is_16bit_NOP (abfd, sec, tmp_rel))
-				force_relax = 1;
-			    }
-			}
-		    }
+	  /* Try to align this label.  */
 
-		  if ((irel->r_offset
-		       - get_nds32_elf_blank_total (&relax_blank_list,
-						    irel->r_offset, 1)) & 0x01)
+	  if ((irel->r_addend & 0x1f) < 2)
+	    {
+	      /* Check if there is a INSN16 at the same address.
+		 Label_rel always seats before insn_rel after
+		 our sort.  */
+
+	      /* Search for INSN16 at LABEL location.  If INSN16 is at
+		 same location and this LABEL alignment is lower than 2,
+		 the INSN16 can be converted to 2-byte.  */
+	      for (tmp_rel = irel;
+		   tmp_rel < irelend && tmp_rel->r_offset == irel->r_offset;
+		   tmp_rel++)
+		{
+		  if (ELF32_R_TYPE (tmp_rel->r_info) == R_NDS32_INSN16
+		      && (is_convert_32_to_16
+			  (abfd, sec, tmp_rel, internal_relocs,
+			   irelend, &insn16)
+			  || is_16bit_NOP (abfd, sec, tmp_rel)))
 		    {
-		      /* Can't align on byte, BIG ERROR.  */
+		      force_relax = 1;
+		      break;
 		    }
+		}
+	    }
+
+	  if (force_relax || irel->r_addend == 1 || address & 0x2)
+	    {
+	      /* Label not aligned.  */
+	      /* Previous reloc exists, reduce its size to 16-bit.  */
+	      if (is_convert_32_to_16 (abfd, sec, insn_rel,
+				       internal_relocs, irelend, &insn16))
+		{
+		  nds32_elf_write_16 (abfd, contents, insn_rel,
+				      internal_relocs, irelend, insn16);
+
+		  if (!insert_nds32_elf_blank_recalc_total
+		      (relax_blank_list, insn_rel->r_offset + 2, 2))
+		    return FALSE;
+		}
+	      else if (is_16bit_NOP (abfd, sec, insn_rel))
+		{
+		  if (!insert_nds32_elf_blank_recalc_total
+		      (relax_blank_list, insn_rel->r_offset, 2))
+		    return FALSE;
+		}
+
+	    }
+	  /* INSN16 reloc is used.  */
+	  insn_rel = NULL;
+	}
+    }
+
+  address =
+    sec->size - get_nds32_elf_blank_total (relax_blank_list, sec->size, 0);
+  if (insn_rel && (address & 0x2 || opt_size))
+    {
+      if (is_convert_32_to_16 (abfd, sec, insn_rel, internal_relocs,
+			       irelend, &insn16))
+	{
+	  nds32_elf_write_16 (abfd, contents, insn_rel, internal_relocs,
+			      irelend, insn16);
+	  if (!insert_nds32_elf_blank_recalc_total
+	      (relax_blank_list, insn_rel->r_offset + 2, 2))
+	    return FALSE;
+	  insn_rel->r_info = ELF32_R_INFO (ELF32_R_SYM (insn_rel->r_info),
+					   R_NDS32_NONE);
+	}
+      else if (is_16bit_NOP (abfd, sec, insn_rel))
+	{
+	  if (!insert_nds32_elf_blank_recalc_total
+	      (relax_blank_list, insn_rel->r_offset, 2))
+	    return FALSE;
+	  insn_rel->r_info = ELF32_R_INFO (ELF32_R_SYM (insn_rel->r_info),
+					   R_NDS32_NONE);
+	}
+    }
+  insn_rel = NULL;
+  return TRUE;
+}
+
+/* Pick relaxation round.  */
+
+static int
+nds32_elf_pick_relax (bfd_boolean init, asection *sec, bfd_boolean *again,
+		      struct elf_nds32_link_hash_table *table,
+		      struct bfd_link_info *link_info)
+{
+  static asection *final_sec;
+  static bfd_boolean set = FALSE;
+  static bfd_boolean first = TRUE;
+  int round_table[] = {
+      NDS32_RELAX_NORMAL_ROUND,
+      NDS32_RELAX_JUMP_IFC_ROUND,
+      NDS32_RELAX_EX9_BUILD_ROUND,
+      NDS32_RELAX_EX9_REPLACE_ROUND,
+  };
+  static int pass = 0;
+  static int relax_round;
+
+  if (first)
+    {
+      /* Run an empty run to get the final section.  */
+      relax_round = NDS32_RELAX_EMPTY_ROUND;
+
+      /* It has to enter relax again because we can
+	 not make sure what the final turn is.  */
+      *again = TRUE;
+      first = FALSE;
+    }
+
+  if (!set && *again)
+    {
+      /* It is reentered when again is FALSE.  */
+      final_sec = sec;
+      return relax_round;
+    }
+
+  /* The second round begins.  */
+  set = TRUE;
+
+  relax_round = round_table[pass];
+
+  if (!init && final_sec == sec)
+    {
+      switch (relax_round)
+	{
+	case NDS32_RELAX_NORMAL_ROUND:
+	  if (!*again)
+	    {
+	      /* Normal relaxation done.  */
+	      if (table->target_optimize & NDS32_RELAX_JUMP_IFC_ON)
+		{
+		  pass++;
+		  *again = TRUE;
+		}
+	      else if (table->target_optimize & NDS32_RELAX_EX9_ON)
+		{
+		  pass += 2;	/* NDS32_RELAX_EX9_BUILD_ROUND */
+		  *again = TRUE;
+		}
+	      else if (table->ex9_import_file)
+		{
+		  /* Import ex9 table.  */
+		  if (table->update_ex9_table)
+		    pass += 2;	/* NDS32_RELAX_EX9_BUILD_ROUND */
 		  else
-		    {
-		      if (force_relax
-			  || ((irel->r_offset
-			       - get_nds32_elf_blank_total
-				   (&relax_blank_list, irel->r_offset, 1))
-			      & 0x02)
-			  || irel->r_addend == 1)
-			{
-			  if (insn_rel != NULL)
-			    {
-			      /* Label not aligned.  */
-			      /* Previous reloc exists, reduce its size to 16-bit.  */
-			      if (is_convert_32_to_16
-				  (abfd, sec, insn_rel, internal_relocs,
-				   irelend, &insn16))
-				{
-				  nds32_elf_write_16 (abfd, contents, insn_rel,
-						      internal_relocs, irelend,
-						      insn16);
-
-				  if (!insert_nds32_elf_blank_recalc_total
-				      (&relax_blank_list,
-				       insn_rel->r_offset + 2, 2))
-				    goto error_return;
-				}
-			      else if (is_16bit_NOP (abfd, sec, insn_rel))
-				{
-				  if (!insert_nds32_elf_blank_recalc_total
-				      (&relax_blank_list, insn_rel->r_offset,
-				       2))
-				    goto error_return;
-				}
-			      else
-				{
-				  goto error_return;
-				}
-			    }
-			}
+		    pass += 3;	/* NDS32_RELAX_EX9_REPLACE_ROUND */
+		  nds32_elf_ex9_import_table (link_info);
+		  *again = TRUE;
+		}
+	    }
+	  break;
+	case NDS32_RELAX_JUMP_IFC_ROUND:
+	  if (!nds32_elf_ifc_finish (link_info))
+	    (*_bfd_error_handler) (_("error: Jump IFC Fail."));
+	  if (table->target_optimize & NDS32_RELAX_EX9_ON)
+	    {
+	      pass++;
+	      *again = TRUE;
+	    }
+	  break;
+	case NDS32_RELAX_EX9_BUILD_ROUND:
+	  nds32_elf_ex9_finish (link_info);
+	  pass++;
+	  *again = TRUE;
+	  break;
+	case NDS32_RELAX_EX9_REPLACE_ROUND:
+	  if (table->target_optimize & NDS32_RELAX_JUMP_IFC_ON)
+	    {
+	      /* Do jump IFC optimization again.  */
+	      if (!nds32_elf_ifc_finish (link_info))
+		(*_bfd_error_handler) (_("error: Jump IFC Fail."));
+	    }
+	  break;
+	default:
+	  break;
+	}
+    }
+
+  return relax_round;
+}
+
+static bfd_boolean
+nds32_elf_relax_section (bfd *abfd, asection *sec,
+			 struct bfd_link_info *link_info, bfd_boolean *again)
+{
+  nds32_elf_blank_t *relax_blank_list = NULL;
+  Elf_Internal_Shdr *symtab_hdr;
+  Elf_Internal_Rela *internal_relocs;
+  Elf_Internal_Rela *irel;
+  Elf_Internal_Rela *irelend;
+  Elf_Internal_Sym *isymbuf = NULL;
+  bfd_byte *contents = NULL;
+  bfd_boolean result = TRUE;
+  int optimize = 0;
+  int opt_size = 0;
+  uint32_t insn;
+  uint16_t insn16;
+
+  /* Target dependnet option.  */
+  struct elf_nds32_link_hash_table *table;
+  int load_store_relax;
+  int relax_round;
+
+  relax_blank_list = NULL;
+
+  *again = FALSE;
+
+  /* Nothing to do for
+   * relocatable link or
+   * non-relocatable section or
+   * non-code section or
+   * empty content or
+   * no reloc entry.  */
+  if (link_info->relocatable
+      || (sec->flags & SEC_RELOC) == 0
+      || (sec->flags & SEC_EXCLUDE) == 1
+      || (sec->flags & SEC_CODE) == 0
+      || sec->size == 0)
+    return TRUE;
+
+  /* 09.12.11 Workaround.  */
+  /*  We have to adjust align for R_NDS32_LABEL if needed.
+      The adjust approach only can fix 2-byte align once.  */
+  if (sec->alignment_power > 2)
+    return TRUE;
+
+  /* The optimization type to do.  */
+
+  table = nds32_elf_hash_table (link_info);
+  relax_round = nds32_elf_pick_relax (TRUE, sec, again, table, link_info);
+  switch (relax_round)
+    {
+    case NDS32_RELAX_JUMP_IFC_ROUND:
+      /* Here is the entrance of ifc jump relaxation.  */
+      if (!nds32_elf_ifc_calc (link_info, abfd, sec))
+	return FALSE;
+      nds32_elf_pick_relax (FALSE, sec, again, table, link_info);
+      return TRUE;
+
+    case NDS32_RELAX_EX9_BUILD_ROUND:
+      /* Here is the entrance of ex9 relaxation.  There are two pass of
+	 ex9 relaxation.  The one is to traverse all instructions and build
+	 the hash table.  The other one is to compare instructions and replace
+	 it by ex9.it.  */
+      if (!nds32_elf_ex9_build_hash_table (abfd, sec, link_info))
+	return FALSE;
+      nds32_elf_pick_relax (FALSE, sec, again, table, link_info);
+      return TRUE;
+
+    case NDS32_RELAX_EX9_REPLACE_ROUND:
+      if (!nds32_elf_ex9_replace_instruction (link_info, abfd, sec))
+	return FALSE;
+      return TRUE;
+
+    case NDS32_RELAX_EMPTY_ROUND:
+      nds32_elf_pick_relax (FALSE, sec, again, table, link_info);
+      return TRUE;
+
+    case NDS32_RELAX_NORMAL_ROUND:
+    default:
+      if (sec->reloc_count == 0)
+	return TRUE;
+      break;
+    }
+
+  /* The begining of general relaxation.  */
+
+  if (is_SDA_BASE_set == 0)
+    {
+      bfd_vma gp;
+      is_SDA_BASE_set = 1;
+      nds32_elf_final_sda_base (sec->output_section->owner, link_info,
+				&gp, FALSE);
+      relax_range_measurement (abfd);
+    }
+
+  if (is_ITB_BASE_set == 0)
+    {
+      /* Set the _ITB_BASE_.  */
+      if (!nds32_elf_ex9_itb_base (link_info))
+	{
+	  (*_bfd_error_handler) (_("%B: error: Cannot set _ITB_BASE_"), abfd);
+	  bfd_set_error (bfd_error_bad_value);
+	}
+    }
+
+  symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+  /* Relocations MUST be kept in memory, because relaxation adjust them.  */
+  internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
+					       TRUE /* keep_memory */);
+  if (internal_relocs == NULL)
+    goto error_return;
+
+  irelend = internal_relocs + sec->reloc_count;
+  irel = find_relocs_at_address (internal_relocs, internal_relocs,
+				 irelend, R_NDS32_RELAX_ENTRY);
+
+  if (irel == irelend)
+    return TRUE;
+
+  if (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_ENTRY)
+    {
+      if (irel->r_addend & R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG)
+	return TRUE;
+
+      if (irel->r_addend & R_NDS32_RELAX_ENTRY_OPTIMIZE_FLAG)
+	optimize = 1;
+
+      if (irel->r_addend & R_NDS32_RELAX_ENTRY_OPTIMIZE_FOR_SPACE_FLAG)
+	opt_size = 1;
+    }
+
+  load_store_relax = table->load_store_relax;
+
+  /* Get symbol table and section content.  */
+  if (!nds32_get_section_contents (abfd, sec, &contents)
+      || !nds32_get_local_syms (abfd, sec, &isymbuf))
+    goto error_return;
+
+  /* Do relax loop only when finalize is not done.
+     Take care of relaxable relocs except INSN16.  */
+  for (irel = internal_relocs; irel < irelend; irel++)
+    {
+      int seq_len;		/* Original length of instruction sequence.  */
+      int insn_len = 0;		/* Final length of instruction sequence.  */
+      bfd_boolean removed;
+
+      insn = 0;
+      if (ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL
+	  && (irel->r_addend & 0x1f) >= 2)
+	optimize = 1;
+
+      /* Relocation Types
+	 R_NDS32_LONGCALL1	53
+	 R_NDS32_LONGCALL2	54
+	 R_NDS32_LONGCALL3	55
+	 R_NDS32_LONGJUMP1	56
+	 R_NDS32_LONGJUMP2	57
+	 R_NDS32_LONGJUMP3	58
+	 R_NDS32_LOADSTORE	59  */
+      if (ELF32_R_TYPE (irel->r_info) >= R_NDS32_LONGCALL1
+	  && ELF32_R_TYPE (irel->r_info) <= R_NDS32_LOADSTORE)
+	seq_len = GET_SEQ_LEN (irel->r_addend);
+
+      /* Relocation Types
+	 R_NDS32_LONGCALL4	107
+	 R_NDS32_LONGCALL5	108
+	 R_NDS32_LONGCALL6	109
+	 R_NDS32_LONGJUMP4	110
+	 R_NDS32_LONGJUMP5	111
+	 R_NDS32_LONGJUMP6	112
+	 R_NDS32_LONGJUMP7	113  */
+      else if (ELF32_R_TYPE (irel->r_info) >= R_NDS32_LONGCALL4
+	       && ELF32_R_TYPE (irel->r_info) <= R_NDS32_LONGJUMP7)
+	seq_len = 4;
+
+	/* Relocation Types
+	 R_NDS32_LO12S0_RELA		30
+	 R_NDS32_LO12S1_RELA		29
+	 R_NDS32_LO12S2_RELA		28
+	 R_NDS32_LO12S2_SP_RELA		71
+	 R_NDS32_LO12S2_DP_RELA		70
+	 R_NDS32_GOT_LO12		46
+	 R_NDS32_GOTOFF_LO12		50
+	 R_NDS32_PLTREL_LO12		65
+	 R_NDS32_PLT_GOTREL_LO12	67
+	 R_NDS32_17IFC_PCREL_RELA	96
+	 R_NDS32_GOT_SUFF		193
+	 R_NDS32_GOTOFF_SUFF		194
+	 R_NDS32_PLT_GOT_SUFF		195
+	 R_NDS32_MULCALL_SUFF		196
+	 R_NDS32_PTR			197  */
+      else if ((ELF32_R_TYPE (irel->r_info) <= R_NDS32_LO12S0_RELA
+		&& ELF32_R_TYPE (irel->r_info) >= R_NDS32_LO12S2_RELA)
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S2_SP_RELA
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_LO12S2_DP_RELA
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_GOT_LO12
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_GOTOFF_LO12
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_GOTPC_LO12
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_PLTREL_LO12
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_PLT_GOTREL_LO12
+	       || (ELF32_R_TYPE (irel->r_info) >= R_NDS32_GOT_SUFF
+		   && ELF32_R_TYPE (irel->r_info) <= R_NDS32_PTR)
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_17IFC_PCREL_RELA
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_TLS_LE_LO12
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_TLS_LE_ADD
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_TLS_LE_LS)
+	seq_len = 0;
+      else
+	continue;
+
+      insn_len = seq_len;
+      removed = FALSE;
+
+      switch (ELF32_R_TYPE (irel->r_info))
+	{
+	case R_NDS32_LONGCALL1:
+	  removed = nds32_elf_relax_longcall1 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGCALL2:
+	  removed = nds32_elf_relax_longcall2 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGCALL3:
+	  removed = nds32_elf_relax_longcall3 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGJUMP1:
+	  removed = nds32_elf_relax_longjump1 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGJUMP2:
+	  removed = nds32_elf_relax_longjump2 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGJUMP3:
+	  removed = nds32_elf_relax_longjump3 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGCALL4:
+	  removed = nds32_elf_relax_longcall4 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGCALL5:
+	  removed = nds32_elf_relax_longcall5 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGCALL6:
+	  removed = nds32_elf_relax_longcall6 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGJUMP4:
+	  removed = nds32_elf_relax_longjump4 (abfd, sec, irel, internal_relocs,
+					       &insn_len, contents, isymbuf,
+					       symtab_hdr);
+	  break;
+	case R_NDS32_LONGJUMP5:
+	  removed = nds32_elf_relax_longjump5 (abfd, sec, irel, internal_relocs,
+					       &insn_len, &seq_len, contents,
+					       isymbuf, symtab_hdr);
+	  break;
+	case R_NDS32_LONGJUMP6:
+	  removed = nds32_elf_relax_longjump6 (abfd, sec, irel, internal_relocs,
+					       &insn_len, &seq_len, contents,
+					       isymbuf, symtab_hdr);
+	  break;
+	case R_NDS32_LONGJUMP7:
+	  removed = nds32_elf_relax_longjump7 (abfd, sec, irel, internal_relocs,
+					       &insn_len, &seq_len, contents,
+					       isymbuf, symtab_hdr);
+	  break;
+	case R_NDS32_LOADSTORE:
+	  removed = nds32_elf_relax_loadstore (link_info, abfd, sec, irel,
+					       internal_relocs, &insn_len,
+					       contents, isymbuf, symtab_hdr,
+					       load_store_relax);
+	  break;
+	case R_NDS32_LO12S0_RELA:
+	case R_NDS32_LO12S1_RELA:
+	case R_NDS32_LO12S2_DP_RELA:
+	case R_NDS32_LO12S2_SP_RELA:
+	case R_NDS32_LO12S2_RELA:
+	  /* Relax for low part.  */
+	  nds32_elf_relax_lo12 (link_info, abfd, sec, irel, internal_relocs,
+				contents, isymbuf, symtab_hdr);
 
-		      if (force_relax)
-			{
-			  label_rel = irel;
-			}
+	  /* It is impossible to delete blank, so just continue.  */
+	  continue;
+	case R_NDS32_GOT_LO12:
+	case R_NDS32_GOTOFF_LO12:
+	case R_NDS32_PLTREL_LO12:
+	case R_NDS32_PLT_GOTREL_LO12:
+	case R_NDS32_GOTPC_LO12:
+	  /* Relax for PIC gp-relative low part.  */
+	  nds32_elf_relax_piclo12 (link_info, abfd, sec, irel, contents,
+				   isymbuf, symtab_hdr);
 
-		      /* INSN16 reloc is used.  */
-		      insn_rel = NULL;
-		    }
-		}
-	    }
+	  /* It is impossible to delete blank, so just continue.  */
+	  continue;
+	case R_NDS32_TLS_LE_LO12:
+	  /* Relax for LE TLS low part.  */
+	  nds32_elf_relax_letlslo12 (link_info, abfd, irel, contents,
+				     isymbuf, symtab_hdr);
+
+	  /* It is impossible to delete blank, so just continue.  */
+	  continue;
+	case R_NDS32_TLS_LE_ADD:
+	  nds32_elf_relax_letlsadd (link_info, abfd, sec, irel, internal_relocs,
+				    contents, isymbuf, symtab_hdr, again);
+	  /* It is impossible to delete blank, so just continue.  */
+	  continue;
+	case R_NDS32_TLS_LE_LS:
+	  nds32_elf_relax_letlsls (link_info, abfd, sec, irel, internal_relocs,
+				   contents, isymbuf, symtab_hdr, again);
+	  continue;
+	case R_NDS32_PTR:
+	  removed = nds32_elf_relax_ptr (abfd, sec, irel, internal_relocs,
+					 &insn_len, &seq_len, contents);
+	  break;
+	case R_NDS32_PLT_GOT_SUFF:
+	  nds32_elf_relax_pltgot_suff (link_info, abfd, sec, irel,
+				       internal_relocs, contents,
+				       isymbuf, symtab_hdr, again);
+	  /* It is impossible to delete blank, so just continue.  */
+	  continue;
+	case R_NDS32_GOT_SUFF:
+	  nds32_elf_relax_got_suff (link_info, abfd, sec, irel,
+				    internal_relocs, contents,
+				    symtab_hdr, again);
+	  /* It is impossible to delete blank, so just continue.  */
+	  continue;
+	case R_NDS32_GOTOFF_SUFF:
+	  nds32_elf_relax_gotoff_suff (link_info, abfd, sec, irel,
+				       internal_relocs, contents,
+				       isymbuf, symtab_hdr, again);
+	  /* It is impossible to delete blank, so just continue.  */
+	  continue;
+	default:
+	  continue;
+
+	}
+      if (removed && seq_len - insn_len > 0)
+	{
+	  if (!insert_nds32_elf_blank
+	      (&relax_blank_list, irel->r_offset + insn_len,
+	       seq_len - insn_len))
+	    goto error_return;
+	  *again = TRUE;
 	}
+    }
+
+  calc_nds32_blank_total (relax_blank_list);
+
+  if (table->relax_fp_as_gp)
+    {
+      if (!nds32_relax_fp_as_gp (link_info, abfd, sec, internal_relocs,
+				 irelend, isymbuf))
+	goto error_return;
 
-      if (insn_rel)
+      if (*again == FALSE)
 	{
-	  if (((sec->size - get_nds32_elf_blank_total (&relax_blank_list, sec->size, 0))
-	       - ((sec->size - get_nds32_elf_blank_total (&relax_blank_list, sec->size, 0))
-		  & (0xffffffff << sec->alignment_power)) == 2)
-	      || optimize_for_space)
-	    {
-	      if (is_convert_32_to_16
-		  (abfd, sec, insn_rel, internal_relocs, irelend,
-		   &insn16))
-		{
-		  nds32_elf_write_16 (abfd, contents, insn_rel, internal_relocs,
-				      irelend, insn16);
-		  if (!insert_nds32_elf_blank_recalc_total
-		      (&relax_blank_list, insn_rel->r_offset + 2, 2))
-		    goto error_return;
-		  insn_rel->r_info = ELF32_R_INFO (ELF32_R_SYM (insn_rel->r_info),
-						   R_NDS32_NONE);
-		}
-	      else if (is_16bit_NOP (abfd, sec, insn_rel))
-		{
-		  if (!insert_nds32_elf_blank_recalc_total
-		      (&relax_blank_list, insn_rel->r_offset, 2))
-		    goto error_return;
-		  insn_rel->r_info = ELF32_R_INFO (ELF32_R_SYM (insn_rel->r_info),
-						   R_NDS32_NONE);
-		}
-	    }
-	  insn_rel = NULL;
+	  if (!nds32_fag_remove_unused_fpbase (abfd, sec, internal_relocs,
+					       irelend))
+	    goto error_return;
 	}
     }
-    /* It doesn't matter optimize_for_space_no_align anymore.
+
+  nds32_elf_pick_relax (FALSE, sec, again, table, link_info);
+
+  if (*again == FALSE)
+    {
+      if (!nds32_relax_adjust_label (abfd, sec, internal_relocs, contents,
+				     &relax_blank_list, optimize, opt_size))
+	goto error_return;
+    }
+
+  /* It doesn't matter optimize_for_space_no_align anymore.
        If object file is assembled with flag '-Os',
        the we don't adjust jump-destination on 4-byte boundary.  */
 
@@ -10984,8 +12329,8 @@ nds32_elf_relax_section (bfd *abfd, asec
 	  sec->size += 4;
 	}
 
-      tmp_rel = find_relocs_at_address (internal_relocs, internal_relocs, irelend,
-					R_NDS32_RELAX_ENTRY);
+      tmp_rel = find_relocs_at_address (internal_relocs, internal_relocs,
+					irelend, R_NDS32_RELAX_ENTRY);
       if (tmp_rel != irelend)
 	tmp_rel->r_addend |= R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG;
 
@@ -11096,8 +12441,9 @@ bfd_elf32_nds32_set_target_option (struc
    optimization.  */
 
 #define FAG_THRESHOLD	3	/* At least 3 gp-access.  */
-#define FAG_BUMPER	8	/* Leave some space to avoid aligment issues.  */
-#define FAG_WINDOW	(512 - FAG_BUMPER)  /* lwi37.fp covers 512 bytes.  */
+/* lwi37.fp covers 508 bytes, but there may be 32-byte padding between
+   the read-only section and read-write section.  */
+#define FAG_WINDOW	(508 - 32)
 
 /* An nds32_fag represent a gp-relative access.
    We find best fp-base by using a sliding window
@@ -11204,19 +12550,13 @@ nds32_fag_free_list (struct nds32_fag *h
     }
 }
 
-static bfd_boolean
-nds32_fag_isempty (struct nds32_fag *head)
-{
-  return head->next == NULL;
-}
-
 /* Find the best fp-base address.
    The relocation associated with that address is returned,
    so we can track the symbol instead of a fixed address.
 
    When relaxation, the address of an datum may change,
    because a text section is shrinked, so the data section
-   moves forward. If the aligments of text and data section
+   moves forward.  If the aligments of text and data section
    are different, their distance may change too.
    Therefore, tracking a fixed address is not appriate.  */
 
@@ -11235,8 +12575,11 @@ nds32_fag_find_base (struct nds32_fag *h
      and accumulate following fags which are inside the window,
      untill we each the end.  */
 
-  if (nds32_fag_isempty (head))
-    return 0;
+  if (head->next == NULL)
+    {
+      *bestpp = NULL;
+      return 0;
+    }
 
   /* Initialize base.  */
   base = head->next;
@@ -11250,22 +12593,22 @@ nds32_fag_find_base (struct nds32_fag *h
 
   /* Record the best base in each iteration.  */
   while (base->next)
-   {
-     accu -= base->count;
-     base = base->next;
-     /* Account fags in window.  */
-     for (/* Nothing.  */;
-	  last && last->addr < base->addr + FAG_WINDOW;
-	  last = last->next)
-       accu += last->count;
-
-     /* A better fp-base?  */
-     if (accu > baccu)
-       {
-	 best = base;
-	 baccu = accu;
-       }
-   }
+    {
+      accu -= base->count;
+      base = base->next;
+      /* Account fags in window.  */
+      for (/* Nothing.  */;
+	   last && last->addr < base->addr + FAG_WINDOW;
+	   last = last->next)
+	accu += last->count;
+
+      /* A better fp-base?  */
+      if (accu > baccu)
+	{
+	  best = base;
+	  baccu = accu;
+	}
+    }
 
   if (bestpp)
     *bestpp = best;
@@ -11291,8 +12634,8 @@ nds32_fag_mark_relax (struct bfd_link_in
   nds32_elf_final_sda_base (output_bfd, link_info, &gp, FALSE);
   best_fpbase = best_fag->addr;
 
-  if (best_fpbase > gp + sdata_range[4][1]
-      || best_fpbase < gp - sdata_range[4][0])
+  if (best_fpbase > gp + sdata_range[1][1]
+      || best_fpbase < gp - sdata_range[1][0])
     return FALSE;
 
   /* Mark these inside the window R_NDS32_INSN16_FP7U2_FLAG flag,
@@ -11322,6 +12665,34 @@ nds32_fag_mark_relax (struct bfd_link_in
   return TRUE;
 }
 
+/* Reset INSN16 to clean fp as gp.  */
+
+static void
+nds32_fag_unmark_relax (struct nds32_fag *fag,
+			Elf_Internal_Rela *internal_relocs,
+			Elf_Internal_Rela *irelend)
+{
+  struct nds32_fag *ifag;
+  int i;
+  Elf_Internal_Rela *insn16_rel;
+  Elf_Internal_Rela *fag_rel;
+
+  for (ifag = fag; ifag; ifag = ifag->next)
+    {
+      for (i = 0; i < ifag->count; i++)
+	{
+	  fag_rel = ifag->relas[i];
+
+	  /* Restore the INSN16 relocation.  */
+	  insn16_rel = find_relocs_at_address
+	    (fag_rel, internal_relocs, irelend, R_NDS32_INSN16);
+
+	  if (insn16_rel != irelend)
+	    insn16_rel->r_addend &= ~R_NDS32_INSN16_FP7U2_FLAG;
+	}
+    }
+}
+
 /* This is the main function of fp-as-gp optimization.
    It should be called by relax_section.  */
 
@@ -11337,6 +12708,7 @@ nds32_relax_fp_as_gp (struct bfd_link_in
   struct nds32_fag fag_head;
   Elf_Internal_Shdr *symtab_hdr;
   bfd_byte *contents;
+  bfd_boolean ifc_inside = FALSE;
 
   /* FIXME: Can we bfd_elf_link_read_relocs for the relocs?  */
 
@@ -11385,12 +12757,13 @@ nds32_relax_fp_as_gp (struct bfd_link_in
 
 	  begin_rel = irel;
 	  nds32_fag_init (&fag_head);
+	  ifc_inside = FALSE;
 	}
       else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_END
 	       && (irel->r_addend & R_NDS32_RELAX_REGION_OMIT_FP_FLAG))
 	{
 	  int accu;
-	  struct nds32_fag *best_fag;
+	  struct nds32_fag *best_fag, *tmp_fag;
 	  int dist;
 
 	  /* End of the region.
@@ -11404,6 +12777,10 @@ nds32_relax_fp_as_gp (struct bfd_link_in
 
 	  accu = nds32_fag_find_base (&fag_head, &best_fag);
 
+	  /* Clean FP7U2_FLAG because they may set ever.  */
+	  tmp_fag = fag_head.next;
+	  nds32_fag_unmark_relax (tmp_fag, internal_relocs, irelend);
+
 	  /* Check if it is worth, and FP_BASE is near enough to SDA_BASE.  */
 	  if (accu < FAG_THRESHOLD
 	      || !nds32_fag_mark_relax (link_info, abfd, best_fag,
@@ -11426,13 +12803,14 @@ nds32_relax_fp_as_gp (struct bfd_link_in
 	  BFD_ASSERT (dist > 0 && dist < 0xffffff);
 	  /* Use high 16 bits of addend to record the _FP_BASE_ matched
 	     relocation.  And get the base value when relocating.  */
+	  begin_rel->r_addend &= (0x1 << 16) - 1;
 	  begin_rel->r_addend |= dist << 16;
 
 	  nds32_fag_free_list (&fag_head);
 	  begin_rel = NULL;
 	}
 
-      if (begin_rel == NULL)
+      if (begin_rel == NULL || ifc_inside)
 	/* Skip if we are not in the region of fp-as-gp.  */
 	continue;
 
@@ -11456,6 +12834,12 @@ nds32_relax_fp_as_gp (struct bfd_link_in
 	{
 	  begin_rel = NULL;
 	}
+      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_17IFC_PCREL_RELA
+	       || ELF32_R_TYPE (irel->r_info) == R_NDS32_10IFCU_PCREL_RELA)
+	{
+	  /* Suppress fp as gp when encounter ifc.  */
+	  ifc_inside = TRUE;
+	}
     }
 
   return TRUE;
@@ -11559,6 +12943,138 @@ error_return:
   result = FALSE;
   goto finish;
 }
+
+/* This is a version of bfd_generic_get_relocated_section_contents.
+   We need this variety because relaxation will modify the dwarf
+   infomation.  When there is undefined symbol reference error mesage,
+   linker need to dump line number where the symbol be used.  However
+   the address is be relaxed, it can not get the original dwarf contents.
+   The variety only modify function call for reading in the section.  */
+
+static bfd_byte *
+nds32_elf_get_relocated_section_contents (bfd *abfd,
+					  struct bfd_link_info *link_info,
+					  struct bfd_link_order *link_order,
+					  bfd_byte *data,
+					  bfd_boolean relocatable,
+					  asymbol **symbols)
+{
+  bfd *input_bfd = link_order->u.indirect.section->owner;
+  asection *input_section = link_order->u.indirect.section;
+  long reloc_size;
+  arelent **reloc_vector;
+  long reloc_count;
+
+  reloc_size = bfd_get_reloc_upper_bound (input_bfd, input_section);
+  if (reloc_size < 0)
+    return NULL;
+
+  /* Read in the section.  */
+  if (!nds32_get_section_contents (input_bfd, input_section, &data))
+    return NULL;
+
+  if (reloc_size == 0)
+    return data;
+
+  reloc_vector = (arelent **) bfd_malloc (reloc_size);
+  if (reloc_vector == NULL)
+    return NULL;
+
+  reloc_count = bfd_canonicalize_reloc (input_bfd, input_section,
+					reloc_vector, symbols);
+  if (reloc_count < 0)
+    goto error_return;
+
+  if (reloc_count > 0)
+    {
+      arelent **parent;
+      for (parent = reloc_vector; *parent != NULL; parent++)
+	{
+	  char *error_message = NULL;
+	  asymbol *symbol;
+	  bfd_reloc_status_type r;
+
+	  symbol = *(*parent)->sym_ptr_ptr;
+	  if (symbol->section && discarded_section (symbol->section))
+	    {
+	      bfd_byte *p;
+	      static reloc_howto_type none_howto
+		= HOWTO (0, 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL,
+			 "unused", FALSE, 0, 0, FALSE);
+
+	      p = data + (*parent)->address * bfd_octets_per_byte (input_bfd);
+	      _bfd_clear_contents ((*parent)->howto, input_bfd, input_section,
+				   p);
+	      (*parent)->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
+	      (*parent)->addend = 0;
+	      (*parent)->howto = &none_howto;
+	      r = bfd_reloc_ok;
+	    }
+	  else
+	    r = bfd_perform_relocation (input_bfd, *parent, data,
+					input_section,
+					relocatable ? abfd : NULL,
+					&error_message);
+
+	  if (relocatable)
+	    {
+	      asection *os = input_section->output_section;
+
+	      /* A partial link, so keep the relocs.  */
+	      os->orelocation[os->reloc_count] = *parent;
+	      os->reloc_count++;
+	    }
+
+	  if (r != bfd_reloc_ok)
+	    {
+	      switch (r)
+		{
+		case bfd_reloc_undefined:
+		  if (!((*link_info->callbacks->undefined_symbol)
+			(link_info, bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
+			 input_bfd, input_section, (*parent)->address, TRUE)))
+		    goto error_return;
+		  break;
+		case bfd_reloc_dangerous:
+		  BFD_ASSERT (error_message != NULL);
+		  if (!((*link_info->callbacks->reloc_dangerous)
+			(link_info, error_message, input_bfd, input_section,
+			 (*parent)->address)))
+		    goto error_return;
+		  break;
+		case bfd_reloc_overflow:
+		  if (!((*link_info->callbacks->reloc_overflow)
+			(link_info, NULL,
+			 bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
+			 (*parent)->howto->name, (*parent)->addend,
+			 input_bfd, input_section, (*parent)->address)))
+		    goto error_return;
+		  break;
+		case bfd_reloc_outofrange:
+		  /* PR ld/13730:
+		     This error can result when processing some partially
+		     complete binaries.  Do not abort, but issue an error
+		     message instead.  */
+		  link_info->callbacks->einfo
+		    (_("%X%P: %B(%A): relocation \"%R\" goes out of range\n"),
+		     abfd, input_section, * parent);
+		  goto error_return;
+
+		default:
+		  abort ();
+		  break;
+		}
+	    }
+	}
+    }
+
+  free (reloc_vector);
+  return data;
+
+error_return:
+  free (reloc_vector);
+  return NULL;
+}
 
 /* Link-time IFC relaxation.
    In this optimization, we chains jump instructions
@@ -11682,7 +13198,7 @@ nds32_elf_ifc_calc (struct bfd_link_info
   Elf_Internal_Rela *irel;
   Elf_Internal_Shdr *symtab_hdr;
   bfd_byte *contents = NULL;
-  unsigned long insn, insn_with_reg;
+  uint32_t insn, insn_with_reg;
   unsigned long r_symndx;
   struct elf_link_hash_entry *h;
   struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (abfd);
@@ -11788,9 +13304,9 @@ nds32_elf_ifc_filter (struct bfd_link_in
 	}
       else
 	{
-	  /* Global symbol.  We have to get the absolute address
-	     and decide whether to keep it or not.*/
-
+	  /* Global symbol.  */
+	  /* We have to get the absolute address and decide
+	     whether to keep it or not.  */
 	  while (irel_ptr)
 	    {
 	      address = (irel_ptr->irel->r_offset
@@ -11803,11 +13319,13 @@ nds32_elf_ifc_filter (struct bfd_link_in
 	  irel_ptr = ptr->irel_head;
 	  while (irel_ptr)
 	    {
+	      /* Sort by address.  */
 	      struct elf_nds32_ifc_irel_list *irel_dest = irel_ptr;
 	      struct elf_nds32_ifc_irel_list *irel_temp = irel_ptr;
 	      struct elf_nds32_ifc_irel_list *irel_ptr_prev = NULL;
 	      struct elf_nds32_ifc_irel_list *irel_dest_prev = NULL;
 
+	      /* Get the smallest one.  */
 	      while (irel_temp->next)
 		{
 		  if (irel_temp->next->addr < irel_dest->addr)
@@ -11817,6 +13335,7 @@ nds32_elf_ifc_filter (struct bfd_link_in
 		    }
 		  irel_temp = irel_temp->next;
 		}
+
 	      if (irel_dest != irel_ptr)
 		{
 		  if (irel_ptr_prev)
@@ -11846,7 +13365,7 @@ nds32_elf_ifc_filter (struct bfd_link_in
 	    }
 	}
 
-	/* Ex9 enable. Reserve it for ex9.  */
+	/* Ex9 enable.  Reserve it for ex9.  */
       if ((target_optimize & NDS32_RELAX_EX9_ON)
 	  && ptr->irel_head != irel_keeper)
 	ptr->enable = 0;
@@ -11932,7 +13451,8 @@ nds32_elf_ifc_replace (struct bfd_link_i
       /* Traverse the ifc gather list, and replace the
 	 filter entries by ifcall9.  */
       if ((!(relax_status & NDS32_RELAX_JUMP_IFC_DONE) && ptr->enable == 1)
-	  || ((relax_status & NDS32_RELAX_JUMP_IFC_DONE) && ptr->ex9_enable == 1))
+	  || ((relax_status & NDS32_RELAX_JUMP_IFC_DONE)
+	      && ptr->ex9_enable == 1))
 	{
 	  irel_ptr = ptr->irel_head;
 	  if (ptr->h == NULL)
@@ -11942,17 +13462,19 @@ nds32_elf_ifc_replace (struct bfd_link_i
 		(ptr->sec->owner, ptr->sec, NULL, NULL, TRUE /* keep_memory */);
 	      irelend = internal_relocs + ptr->sec->reloc_count;
 
-	      if (!nds32_get_section_contents (ptr->sec->owner, ptr->sec, &contents))
+	      if (!nds32_get_section_contents (ptr->sec->owner, ptr->sec,
+					       &contents))
 		return FALSE;
 
 	      while (irel_ptr)
 		{
 		  if (irel_ptr->keep == 0 && irel_ptr->next)
 		    {
-		      /* The one can be replaced. We have to check whether
+		      /* The one can be replaced.  We have to check whether
 			 there is any alignment point in the region.  */
 		      irel = irel_ptr->irel;
-		      while (((irel_ptr->next->keep == 0 && irel < irel_ptr->next->irel)
+		      while (((irel_ptr->next->keep == 0
+			       && irel < irel_ptr->next->irel)
 			      || (irel_ptr->next->keep == 1 && irel < irelend))
 			     && !(ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL
 				  && (irel->r_addend & 0x1f) == 2))
@@ -11960,9 +13482,9 @@ nds32_elf_ifc_replace (struct bfd_link_i
 		      if (irel >= irelend
 			  || !(ELF32_R_TYPE (irel->r_info) == R_NDS32_LABEL
 			       && (irel->r_addend & 0x1f) == 2
-			       && ((irel->r_offset
-				    - get_nds32_elf_blank_total
-					(&relax_blank_list, irel->r_offset, 1)) & 0x02) == 0))
+			       && ((irel->r_offset - get_nds32_elf_blank_total
+				    (&relax_blank_list, irel->r_offset, 1))
+				   & 0x02) == 0))
 			{
 			  /* Replace by ifcall9.  */
 			  bfd_putb16 (insn16, contents + irel_ptr->irel->r_offset);
@@ -11970,7 +13492,8 @@ nds32_elf_ifc_replace (struct bfd_link_i
 			      (&relax_blank_list, irel_ptr->irel->r_offset + 2, 2))
 			    return FALSE;
 			  irel_ptr->irel->r_info =
-			    ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info), R_NDS32_TRAN);
+			    ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info),
+					  R_NDS32_10IFCU_PCREL_RELA);
 			}
 		    }
 		  irel_ptr = irel_ptr->next;
@@ -12029,7 +13552,8 @@ nds32_elf_ifc_replace (struct bfd_link_i
 							 irel_ptr->sec,
 							 relax_blank_list);
 			  irel_ptr->irel->r_info =
-			    ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info), R_NDS32_TRAN);
+			    ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info),
+					  R_NDS32_10IFCU_PCREL_RELA);
 			  relax_blank_list = NULL;
 			}
 		    }
@@ -12046,7 +13570,7 @@ nds32_elf_ifc_replace (struct bfd_link_i
 
 /* Relocate ifcall.  */
 
-bfd_boolean
+static bfd_boolean
 nds32_elf_ifc_reloc (void)
 {
   struct elf_nds32_ifc_symbol_entry *ptr = ifc_symbol_head;
@@ -12054,14 +13578,20 @@ nds32_elf_ifc_reloc (void)
   struct elf_nds32_ifc_irel_list *irel_keeper = NULL;
   bfd_vma relocation, address;
   unsigned short insn16;
-
   bfd_byte *contents = NULL;
+  static bfd_boolean done = FALSE;
+
+  if (done)
+    return TRUE;
+
+  done = TRUE;
 
   while (ptr)
     {
+      /* Check the entry is enable ifcall.  */
       if (ptr->enable == 1 || ptr->ex9_enable == 1)
 	{
-	  /* Check the entry is enable ifcall.  */
+	  /* Get the reserve jump.  */
 	  irel_ptr = ptr->irel_head;
 	  while (irel_ptr)
 	    {
@@ -12083,7 +13613,7 @@ nds32_elf_ifc_reloc (void)
 	      while (irel_ptr)
 		{
 		  if (irel_ptr->keep == 0
-		      && ELF32_R_TYPE (irel_ptr->irel->r_info) == R_NDS32_TRAN)
+		      && ELF32_R_TYPE (irel_ptr->irel->r_info) == R_NDS32_10IFCU_PCREL_RELA)
 		    {
 		      relocation = irel_keeper->irel->r_offset;
 		      relocation = relocation - irel_ptr->irel->r_offset;
@@ -12114,7 +13644,9 @@ nds32_elf_ifc_reloc (void)
 			  if (!irel_keeper)
 			    return FALSE;
 			}
-
+		      irel_ptr->irel->r_info =
+			ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info),
+				      R_NDS32_NONE);
 		      insn16 = INSN_IFCALL9 | (relocation >> 1);
 		      bfd_putb16 (insn16, contents + irel_ptr->irel->r_offset);
 		    }
@@ -12127,8 +13659,9 @@ nds32_elf_ifc_reloc (void)
 	      while (irel_ptr)
 		{
 		  if (irel_ptr->keep == 0
-		      && ELF32_R_TYPE (irel_ptr->irel->r_info) == R_NDS32_TRAN)
+		      && ELF32_R_TYPE (irel_ptr->irel->r_info) == R_NDS32_10IFCU_PCREL_RELA)
 		    {
+		      /* Get the distance between ifcall and jump.  */
 		      relocation = (irel_keeper->irel->r_offset
 				    + irel_keeper->sec->output_section->vma
 				    + irel_keeper->sec->output_offset);
@@ -12136,6 +13669,8 @@ nds32_elf_ifc_reloc (void)
 				 + irel_ptr->sec->output_section->vma
 				 + irel_ptr->sec->output_offset);
 		      relocation = relocation - address;
+
+		      /* The distance is over ragne, find callee again.  */
 		      while (irel_keeper && relocation > 1022)
 			{
 			  irel_keeper = irel_keeper->next;
@@ -12170,10 +13705,13 @@ nds32_elf_ifc_reloc (void)
 			    return FALSE;
 			}
 		      if (!nds32_get_section_contents
-			     (irel_ptr->sec->owner, irel_ptr->sec, &contents))
-			  return FALSE;
-			insn16 = INSN_IFCALL9 | (relocation >> 1);
-			bfd_putb16 (insn16, contents + irel_ptr->irel->r_offset);
+			  (irel_ptr->sec->owner, irel_ptr->sec, &contents))
+			return FALSE;
+		      insn16 = INSN_IFCALL9 | (relocation >> 1);
+		      bfd_putb16 (insn16, contents + irel_ptr->irel->r_offset);
+		      irel_ptr->irel->r_info =
+			ELF32_R_INFO (ELF32_R_SYM (irel_ptr->irel->r_info),
+				      R_NDS32_NONE);
 		    }
 		  irel_ptr =irel_ptr->next;
 		}
@@ -12569,92 +14107,31 @@ static void
 nds32_elf_order_insn_times (struct bfd_link_info *info)
 {
   struct elf_nds32_insn_times_entry *ex9_insn;
-  struct elf_nds32_insn_times_entry *temp;
+  struct elf_nds32_insn_times_entry *temp = NULL;
   struct elf_nds32_link_hash_table *table;
-  char *insn;
   int ex9_limit;
-  int number = 0, total = 0;
-  struct bfd_link_hash_entry *bh;
+  int number = 0;
+
+  if (ex9_insn_head == NULL)
+    return;
 
 /* The max number of entries is 512.  */
   ex9_insn = ex9_insn_head;
   table = nds32_elf_hash_table (info);
   ex9_limit = table->ex9_limit;
 
-  /* Get the minimun one of ex9 list and limitation.  */
-  while (ex9_insn)
-    {
-      total++;
-      ex9_insn = ex9_insn->next;
-    }
-  total = MIN (total, ex9_limit);
-
-  temp = bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
-  temp->string = bfd_malloc (sizeof (char) * 10);
-  temp->times = 0;
-  temp->sec = NULL;
-  temp->m_list = NULL;
-  temp->irel = NULL;
-  temp->next = NULL;
-  /* Since the struct elf_nds32_insn_times_entry string is const char,
-     it has to allocate another space to write break 0xea.  */
-  insn = bfd_malloc (sizeof (char) * 10);
-  snprintf (insn, sizeof (char) * 10, "%08x", INSN_BREAK_EA);
-  temp->string = (const char *) insn;
-
   ex9_insn = ex9_insn_head;
 
-  while (ex9_insn != NULL && number <= ex9_limit)
+  while (ex9_insn != NULL && number < ex9_limit)
     {
-      /* Save 234th entry for break 0xea, because trace32 need to use
-	 break16 0xea.  If the number of entry is less than 234, adjust
-	 the address of _ITB_BASE_ backward.  */
-      if (total < 234)
-	{
-	  ex9_insn->order = number + 234 - total;
-	  if (!ex9_insn->next)
-	    {
-	      /* Link break 0xea entry into list.  */
-	      ex9_insn->next = temp;
-	      temp->next = NULL;
-	      temp ->order = number + 235 - total;
-	      ex9_insn = NULL;
-	      break;
-	    }
-	}
-      else
-	ex9_insn->order = number;
-
+      ex9_insn->order = number;
       number++;
-
-      if (number == 234)
-	{
-	  /* Link break 0xea entry into list.  */
-	  temp->next = ex9_insn->next;
-	  ex9_insn->next = temp;
-	  temp->order = number;
-	  number++;
-	  ex9_insn = ex9_insn->next;
-	}
-
-      if (number > ex9_limit)
-	{
-	  temp = ex9_insn;
-	  ex9_insn = ex9_insn->next;
-	  temp->next = NULL;
-	  break;
-	}
+      temp = ex9_insn;
       ex9_insn = ex9_insn->next;
     }
 
-  if (total < 234)
-    {
-      /* Adjust the address of _ITB_BASE_.  */
-      bh = bfd_link_hash_lookup (info->hash, "_ITB_BASE_",
-				 FALSE, FALSE, FALSE);
-      if (bh)
-	bh->u.def.value = (total - 234) * 4;
-    }
+  if (ex9_insn && temp)
+    temp->next = NULL;
 
   while (ex9_insn != NULL)
     {
@@ -12677,7 +14154,7 @@ nds32_elf_ex9_build_itable (struct bfd_l
   bfd_byte *contents = NULL;
 
   for (it_abfd = link_info->input_bfds; it_abfd != NULL;
-       it_abfd = it_abfd->link_next)
+       it_abfd = it_abfd->link.next)
     {
       /* Find the section .ex9.itable, and put all entries into it.  */
       table_sec = bfd_get_section_by_name (it_abfd, ".ex9.itable");
@@ -12692,13 +14169,7 @@ nds32_elf_ex9_build_itable (struct bfd_l
 	  table_sec->size = number * 4;
 
 	  if (number == 0)
-	    {
-	      /* There is no insntruction effective enough to convert to ex9.
-		 Only add break 0xea into ex9 table.  */
-	      table_sec->size = 4;
-	      bfd_putb32 ((bfd_vma) INSN_BREAK_EA, (char *) contents);
-	      return;
-	    }
+	    return;
 
 	  elf_elfheader (link_info->output_bfd)->e_flags |= E_NDS32_HAS_EX9_INST;
 	  number = 0;
@@ -12719,7 +14190,7 @@ nds32_elf_ex9_build_itable (struct bfd_l
 
 static void
 nds32_elf_get_insn_with_reg (Elf_Internal_Rela *irel,
-			     unsigned long insn, unsigned long *insn_with_reg)
+			     uint32_t insn, uint32_t *insn_with_reg)
 {
   reloc_howto_type *howto = NULL;
 
@@ -12808,8 +14279,7 @@ nds32_elf_ex9_relocation_check (struct b
 				Elf_Internal_Rela **irel,
 				Elf_Internal_Rela *irelend,
 				nds32_elf_blank_t *relax_blank_list,
-				asection *sec,
-				long unsigned int *off,
+				asection *sec,bfd_vma *off,
 				bfd_byte *contents)
 {
   /* Suppress ex9 if `.no_relax ex9' or inner loop.  */
@@ -12864,8 +14334,7 @@ nds32_elf_ex9_relocation_check (struct b
 			       && ((*irel)->r_addend & R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG))
 			nested_loop = FALSE;
 		    }
-		  else if (relax_blank_list
-			   && ELF32_R_TYPE ((*irel)->r_info) == R_NDS32_LABEL
+		  else if (ELF32_R_TYPE ((*irel)->r_info) == R_NDS32_LABEL
 			   && ((*irel)->r_addend & 0x1f) == 2)
 		    {
 		      /* Alignment exist in the region.  */
@@ -12888,7 +14357,7 @@ nds32_elf_ex9_relocation_check (struct b
 	  break;
 
 	case R_NDS32_LABEL:
-	  if (relax_blank_list && ((*irel)->r_addend & 0x1f) == 2)
+	  if (((*irel)->r_addend & 0x1f) == 2)
 	    {
 	      /* Check this point is align and decide to do ex9 or not.  */
 	      result |= CLEAN_PRE;
@@ -12948,7 +14417,8 @@ nds32_elf_ex9_relocation_check (struct b
 	default:
 	  /* Not support relocations.  */
 	  if (ELF32_R_TYPE ((*irel)->r_info) < ARRAY_SIZE (nds32_elf_howto_table)
-	      && ELF32_R_TYPE ((*irel)->r_info) != R_NDS32_NONE)
+	      && ELF32_R_TYPE ((*irel)->r_info) != R_NDS32_NONE
+	      && ELF32_R_TYPE ((*irel)->r_info) != R_NDS32_INSN16)
 	    {
 	      /* Note: To optimize aggressively, it maybe can ignore R_NDS32_INSN16 here.
 		 But we have to consider if there is any side-effect.  */
@@ -12983,6 +14453,27 @@ nds32_elf_ex9_relocation_check (struct b
   return result;
 }
 
+/* Replace with ex9 instruction.  */
+
+static bfd_boolean
+nds32_elf_ex9_push_insn (uint16_t insn16, bfd_byte *contents, bfd_vma pre_off,
+			 nds32_elf_blank_t **relax_blank_list,
+			 struct elf_nds32_irel_entry *pre_irel_ptr,
+			 struct elf_nds32_irel_entry **irel_list)
+{
+  if (insn16 != 0)
+    {
+      /* Implement the ex9 relaxation.  */
+      bfd_putb16 (insn16, contents + pre_off);
+      if (!insert_nds32_elf_blank_recalc_total (relax_blank_list,
+						pre_off + 2, 2))
+	return FALSE;
+      if (pre_irel_ptr != NULL)
+	nds32_elf_insert_irel_entry (irel_list, pre_irel_ptr);
+    }
+  return TRUE;
+}
+
 /* Replace input file instruction which is in ex9 itable.  */
 
 static bfd_boolean
@@ -12990,11 +14481,11 @@ nds32_elf_ex9_replace_instruction (struc
 {
   struct elf_nds32_insn_times_entry *ex9_insn = ex9_insn_head;
   bfd_byte *contents = NULL;
-  long unsigned int off;
-  unsigned short insn16, insn_ex9;
+  bfd_vma off;
+  uint16_t insn16, insn_ex9;
   /* `pre_*' are used to track previous instruction that can use ex9.it.  */
-  unsigned int pre_off = -1;
-  unsigned short pre_insn16 = 0;
+  bfd_vma pre_off = -1;
+  uint16_t pre_insn16 = 0;
   struct elf_nds32_irel_entry *pre_irel_ptr = NULL;
   Elf_Internal_Rela *internal_relocs;
   Elf_Internal_Rela *irel;
@@ -13002,30 +14493,32 @@ nds32_elf_ex9_replace_instruction (struc
   Elf_Internal_Shdr *symtab_hdr;
   Elf_Internal_Sym *isym = NULL;
   nds32_elf_blank_t *relax_blank_list = NULL;
-  unsigned long insn = 0;
-  unsigned long insn_with_reg = 0;
-  unsigned long it_insn;
-  unsigned long it_insn_with_reg;
+  uint32_t insn = 0;
+  uint32_t insn_with_reg = 0;
+  uint32_t it_insn;
+  uint32_t it_insn_with_reg;
   unsigned long r_symndx;
   asection *isec;
   struct elf_nds32_irel_entry *irel_list = NULL;
   struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (abfd);
   int data_flag, do_replace, save_irel;
+  struct elf_link_hash_entry_list *h_list;
+
 
   /* Load section instructions, relocations, and symbol table.  */
   if (!nds32_get_section_contents (abfd, sec, &contents)
       || !nds32_get_local_syms (abfd, sec, &isym))
     return FALSE;
-  internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
-					       TRUE /* keep_memory */);
+  internal_relocs =
+    _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL, TRUE /* keep_memory */);
   irelend = internal_relocs + sec->reloc_count;
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
 
   off = 0;
 
   /* Check if the object enable ex9.  */
-  irel = find_relocs_at_address (internal_relocs, internal_relocs, irelend,
-				 R_NDS32_RELAX_ENTRY);
+  irel = find_relocs_at_address (internal_relocs, internal_relocs,
+				 irelend, R_NDS32_RELAX_ENTRY);
 
   /* Check this section trigger ex9 relaxation.  */
   if (irel == NULL
@@ -13051,19 +14544,10 @@ nds32_elf_ex9_replace_instruction (struc
 						  relax_blank_list, sec,
 						  &off, contents);
       if (data_flag & PUSH_PRE)
-	{
-	  if (pre_insn16 != 0)
-	    {
-	      /* Implement the ex9 relaxation.  */
-	      bfd_putb16 (pre_insn16, contents + pre_off);
-	      if (!insert_nds32_elf_blank_recalc_total
-		  (&relax_blank_list, pre_off + 2, 2))
-		return FALSE;
-	      if (pre_irel_ptr != NULL)
-		nds32_elf_insert_irel_entry (&irel_list,
-					     pre_irel_ptr);
-	    }
-	}
+	if (!nds32_elf_ex9_push_insn (pre_insn16, contents, pre_off,
+				      &relax_blank_list, pre_irel_ptr,
+				      &irel_list))
+	  return FALSE;
 
       if (data_flag & CLEAN_PRE)
 	{
@@ -13102,10 +14586,12 @@ nds32_elf_ex9_replace_instruction (struc
 	      nds32_elf_get_insn_with_reg (irel, insn, &insn_with_reg);
 
 	      if (ex9_insn->irel != NULL)
-		  nds32_elf_get_insn_with_reg (ex9_insn->irel, it_insn, &it_insn_with_reg);
+		nds32_elf_get_insn_with_reg (ex9_insn->irel, it_insn,
+					     &it_insn_with_reg);
 
 	      if (ex9_insn->irel != NULL
-		  && ELF32_R_TYPE (irel->r_info) == ELF32_R_TYPE (ex9_insn->irel->r_info)
+		  && (ELF32_R_TYPE (irel->r_info) ==
+		      ELF32_R_TYPE (ex9_insn->irel->r_info))
 		  && (insn_with_reg == it_insn_with_reg))
 		{
 		  /* Insn relocation and format is the same as table entry.  */
@@ -13146,13 +14632,12 @@ nds32_elf_ex9_replace_instruction (struc
 			  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
 			  if (ex9_insn->m_list)
 			    {
-			      struct elf_link_hash_entry_list *h_list;
-
 			      h_list = ex9_insn->m_list->h_list;
 			      while (h_list)
 				{
 				  if (h == h_list->h
-				      && ex9_insn->m_list->irel->r_addend == irel->r_addend)
+				      && (ex9_insn->m_list->irel->r_addend ==
+					  irel->r_addend))
 				    {
 				      do_replace = 1;
 				      save_irel = 1;
@@ -13190,12 +14675,13 @@ nds32_elf_ex9_replace_instruction (struc
 
 			  while (m_list)
 			    {
-			      struct elf_link_hash_entry_list *h_list = m_list->h_list;
+			      h_list = m_list->h_list;
 
 			      while (h_list)
 				{
 				  if (h == h_list->h
-				      && m_list->irel->r_addend == irel->r_addend)
+				      && (m_list->irel->r_addend
+					  == irel->r_addend))
 				    {
 				      do_replace = 1;
 				      save_irel = 1;
@@ -13234,19 +14720,19 @@ nds32_elf_ex9_replace_instruction (struc
 			  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
 			  if ((h->root.type == bfd_link_hash_defined
 			       || h->root.type == bfd_link_hash_defweak)
-			      && (h->root.u.def.section != NULL
-				  && h->root.u.def.section->output_section != NULL)
+			      && h->root.u.def.section != NULL
+			      && h->root.u.def.section->output_section != NULL
 			      && h->root.u.def.section->gc_mark == 1
-			      && strcmp (h->root.u.def.section->name,
-					 BFD_ABS_SECTION_NAME) == 0
+			      && bfd_is_abs_section (h->root.u.def.section)
 			      && h->root.u.def.value > sec->size)
 			    {
-			      relocation = (h->root.u.def.value +
-					    h->root.u.def.section->output_section->vma +
-					    h->root.u.def.section->output_offset);
+			      relocation = h->root.u.def.value +
+				h->root.u.def.section->output_section->vma +
+				h->root.u.def.section->output_offset;
 			      relocation += irel->r_addend;
-			      insn = insn_with_reg | ((relocation >> 1) & 0xffffff);
-			      snprintf (code, sizeof (code), "%08lx", insn);
+			      insn = insn_with_reg
+				| ((relocation >> 1) & 0xffffff);
+			      snprintf (code, sizeof (code), "%08x", insn);
 			      if (strcmp (code, ex9_insn->string) == 0)
 				{
 				  do_replace = 1;
@@ -13257,7 +14743,8 @@ nds32_elf_ex9_replace_instruction (struc
 		    }
 		}
 	      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_BEGIN
-		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_END)
+		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_END
+		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_NONE)
 		{
 		  /* These relocations do not have to relocate contens, so it can
 		     be regard as instruction without relocation.  */
@@ -13283,15 +14770,10 @@ nds32_elf_ex9_replace_instruction (struc
 		insn_ex9 = INSN_EX9_IT_1;
 	      insn16 = insn_ex9 | ex9_insn->order;
 
-	      if (pre_insn16 != 0)
-		{
-		  bfd_putb16 (pre_insn16, contents + pre_off);
-		  if (!insert_nds32_elf_blank_recalc_total
-		      (&relax_blank_list, pre_off + 2, 2))
-		    return FALSE;
-		  if (pre_irel_ptr != NULL)
-		    nds32_elf_insert_irel_entry (&irel_list, pre_irel_ptr);
-		}
+	      /* Insert ex9 instruction.  */
+	      nds32_elf_ex9_push_insn (pre_insn16, contents, pre_off,
+				       &relax_blank_list, pre_irel_ptr,
+				       &irel_list);
 	      pre_off = off;
 	      pre_insn16 = insn16;
 
@@ -13313,16 +14795,10 @@ nds32_elf_ex9_replace_instruction (struc
       off += 4;
     }
 
-  if (pre_insn16 != 0)
-    {
-      /* Implement the ex9 relaxation.  */
-      bfd_putb16 (pre_insn16, contents + pre_off);
-      if (!insert_nds32_elf_blank_recalc_total
-	  (&relax_blank_list, pre_off + 2, 2))
-	return FALSE;
-      if (pre_irel_ptr != NULL)
-	nds32_elf_insert_irel_entry (&irel_list, pre_irel_ptr);
-    }
+  /* Insert ex9 instruction.  */
+  nds32_elf_ex9_push_insn (pre_insn16, contents, pre_off,
+			   &relax_blank_list, pre_irel_ptr,
+			   &irel_list);
 
   /* Delete the redundant code.  */
   if (relax_blank_list)
@@ -13416,8 +14892,6 @@ nds32_elf_ex9_total_relax (struct bfd_li
 void
 nds32_elf_ex9_finish (struct bfd_link_info *link_info)
 {
-  struct elf_nds32_link_hash_table *table;
-
   nds32_elf_code_hash_traverse (nds32_elf_examine_insn_times);
   nds32_elf_order_insn_times (link_info);
   nds32_elf_ex9_total_relax (link_info);
@@ -13425,9 +14899,6 @@ nds32_elf_ex9_finish (struct bfd_link_in
   nds32_elf_code_hash_traverse (nds32_elf_count_insn_times);
   nds32_elf_order_insn_times (link_info);
   nds32_elf_ex9_build_itable (link_info);
-  table = nds32_elf_hash_table (link_info);
-  if (table)
-    table->relax_round = NDS32_RELAX_EX9_REPLACE_ROUND;
 }
 
 /* Relocate the entries in ex9 table.  */
@@ -13438,19 +14909,21 @@ nds32_elf_ex9_reloc_insn (struct elf_nds
 {
   Elf_Internal_Sym *isym = NULL;
   bfd_vma relocation = -1;
+  struct elf_link_hash_entry *h;
 
   if (ptr->m_list != NULL)
     {
       /* Global symbol.  */
-      if ((ptr->m_list->h_list->h->root.type == bfd_link_hash_defined
-	   || ptr->m_list->h_list->h->root.type == bfd_link_hash_defweak)
-	  && (ptr->m_list->h_list->h->root.u.def.section != NULL
-	      && ptr->m_list->h_list->h->root.u.def.section->output_section != NULL))
+      h = ptr->m_list->h_list->h;
+      if ((h->root.type == bfd_link_hash_defined
+	   || h->root.type == bfd_link_hash_defweak)
+	  && h->root.u.def.section != NULL
+	  && h->root.u.def.section->output_section != NULL)
 	{
 
-	  relocation = (ptr->m_list->h_list->h->root.u.def.value +
-			ptr->m_list->h_list->h->root.u.def.section->output_section->vma +
-			ptr->m_list->h_list->h->root.u.def.section->output_offset);
+	  relocation = h->root.u.def.value +
+	    h->root.u.def.section->output_section->vma +
+	    h->root.u.def.section->output_offset;
 	  relocation += ptr->m_list->irel->r_addend;
 	}
       else
@@ -13505,7 +14978,7 @@ nds32_elf_ex9_reloc_insn (struct elf_nds
 void
 nds32_elf_ex9_import_table (struct bfd_link_info *info)
 {
-  int count = 0, num = 1;
+  int num = 0;
   bfd_byte *contents;
   unsigned long insn;
   FILE *ex9_import_file;
@@ -13514,30 +14987,21 @@ nds32_elf_ex9_import_table (struct bfd_l
 
   table = nds32_elf_hash_table (info);
   ex9_import_file = table->ex9_import_file;
+  rewind (table->ex9_import_file);
 
   contents = bfd_malloc (sizeof (bfd_byte) * 4);
 
-  /* Count the number of input file instructions.  */
-  while (!feof (ex9_import_file))
-    {
-      fgetc (ex9_import_file);
-      count++;
-    }
-  count = count / 4;
-  rewind (ex9_import_file);
   /* Read instructions from the input file and build the list.  */
-  while (count != 0)
+  while (!feof (ex9_import_file))
     {
       char *code;
       struct elf_nds32_insn_times_entry *ptr;
       size_t nread;
 
       nread = fread (contents, sizeof (bfd_byte) * 4, 1, ex9_import_file);
-      if (nread < sizeof (bfd_byte) * 4)
-	{
-	  (*_bfd_error_handler) ("Unexpected size of imported ex9 table.");
-	  break;
-	}
+      /* Ignore the final byte 0x0a.  */
+      if (nread < 1)
+	break;
       insn = bfd_getb32 (contents);
       code = bfd_malloc (sizeof (char) * 9);
       snprintf (code, 9, "%08lx", insn);
@@ -13553,7 +15017,6 @@ nds32_elf_ex9_import_table (struct bfd_l
       ptr->irel = NULL;
       ptr->next = NULL;
       nds32_elf_ex9_insert_entry (ptr);
-      count--;
       num++;
     }
 
@@ -13585,14 +15048,14 @@ nds32_elf_ex9_export (struct bfd_link_in
 /* Adjust relocations of J and JAL in ex9.itable.
    Export ex9 table.  */
 
-void
+static void
 nds32_elf_ex9_reloc_jmp (struct bfd_link_info *link_info)
 {
   asection *table_sec = NULL;
   struct elf_nds32_insn_times_entry *ex9_insn = ex9_insn_head;
   struct elf_nds32_insn_times_entry *temp_ptr, *temp_ptr2;
   bfd *it_abfd;
-  unsigned long insn, insn_with_reg, source_insn;
+  uint32_t insn, insn_with_reg, source_insn;
   bfd_byte *contents = NULL, *source_contents = NULL;
   int size = 0;
   bfd_vma gp;
@@ -13601,7 +15064,13 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
   Elf_Internal_Rela rel_backup;
   unsigned short insn_ex9;
   struct elf_nds32_link_hash_table *table;
-  FILE *ex9_export_file, *ex9_import_file;
+  FILE *ex9_export_file;
+  static bfd_boolean done = FALSE;
+
+  if (done)
+    return;
+
+  done = TRUE;
 
   table = nds32_elf_hash_table (link_info);
   if (table)
@@ -13613,7 +15082,7 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
   if (update_ex9_table == 0)
     {
       for (it_abfd = link_info->input_bfds; it_abfd != NULL;
-	   it_abfd = it_abfd->link_next)
+	   it_abfd = it_abfd->link.next)
 	{
 	  table_sec = bfd_get_section_by_name (it_abfd, ".ex9.itable");
 	  if (table_sec != NULL)
@@ -13623,7 +15092,6 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
       if (table_sec != NULL)
 	{
 	  bfd *output_bfd;
-	  struct bfd_link_hash_entry *bh = NULL;
 
 	  output_bfd = table_sec->output_section->owner;
 	  nds32_elf_final_sda_base (output_bfd, link_info, &gp, FALSE);
@@ -13632,10 +15100,6 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
 
 	  if (!nds32_get_section_contents (it_abfd, table_sec, &contents))
 	    return;
-	  /* Get the offset between _ITB_BASE_ and .ex9.itable.  */
-	  bh = bfd_link_hash_lookup (link_info->hash, "_ITB_BASE_",
-				     FALSE, FALSE, FALSE);
-	  offset = bh->u.def.value;
 	}
     }
   else
@@ -13677,7 +15141,7 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
 	      insn =
 		insn_with_reg | ((relocation >> shift) &
 				 nds32_elf_irel_mask (&rel_backup));
-	      bfd_putb32 (insn, contents + (ex9_insn->order) * 4 + offset);
+	      bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
 	    }
 	  else if ((ELF32_R_TYPE (rel_backup.r_info) >= R_NDS32_SDA15S3
 		    && ELF32_R_TYPE (rel_backup.r_info) <= R_NDS32_SDA15S0)
@@ -13692,27 +15156,27 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
 	      insn =
 		insn_with_reg | (((relocation - gp) >> shift) &
 				 nds32_elf_irel_mask (&rel_backup));
-	      bfd_putb32 (insn, contents + (ex9_insn->order) * 4 + offset);
+	      bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
 	    }
 	  else if (ELF32_R_TYPE (rel_backup.r_info) == R_NDS32_HI20_RELA)
 	    {
 	      /* Sethi may be multiple entry for one insn.  */
-	      if (ex9_insn->next && ((ex9_insn->m_list && ex9_insn->m_list == ex9_insn->next->m_list)
-				|| (ex9_insn->m_list && ex9_insn->next->order == 234
-				    && ex9_insn->next->next
-				    && ex9_insn->m_list == ex9_insn->next->next->m_list)))
+	      if (ex9_insn->next && ex9_insn->m_list
+		  && ex9_insn->m_list == ex9_insn->next->m_list)
 		{
 		  struct elf_link_hash_entry_mul_list *m_list;
 		  struct elf_nds32_ex9_refix *fix_ptr;
+		  struct elf_link_hash_entry *h;
 
 		  temp_ptr = ex9_insn;
 		  temp_ptr2 = ex9_insn;
 		  m_list = ex9_insn->m_list;
 		  while (m_list)
 		    {
-		      relocation = (m_list->h_list->h->root.u.def.value +
-				    m_list->h_list->h->root.u.def.section->output_section->vma +
-				    m_list->h_list->h->root.u.def.section->output_offset);
+		      h = m_list->h_list->h;
+		      relocation = h->root.u.def.value +
+			h->root.u.def.section->output_section->vma +
+			h->root.u.def.section->output_offset;
 		      relocation += m_list->irel->r_addend;
 
 		      if (relocation < min_relocation)
@@ -13724,26 +15188,19 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
 		  /* Put insntruction into ex9 table.  */
 		  insn = insn_with_reg
 		    | ((relocation >> shift) & nds32_elf_irel_mask (&rel_backup));
-		  bfd_putb32 (insn, contents + (ex9_insn->order) * 4 + offset);
+		  bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
 		  relocation = relocation + 0x1000;	/* hi20 */
 
-		  while (ex9_insn->next && ((ex9_insn->m_list && ex9_insn->m_list == ex9_insn->next->m_list)
-				       || (ex9_insn->m_list && ex9_insn->next->order == 234
-					   && ex9_insn->next->next
-					   && ex9_insn->m_list == ex9_insn->next->next->m_list)))
+		  while (ex9_insn->next && ex9_insn->m_list
+			 && ex9_insn->m_list == ex9_insn->next->m_list)
 		    {
 		      /* Multiple sethi.  */
 		      ex9_insn = ex9_insn->next;
 		      size += 4;
-		      if (ex9_insn->order == 234)
-			{
-			  ex9_insn = ex9_insn->next;
-			  size += 4;
-			}
 		      insn =
 			insn_with_reg | ((relocation >> shift) &
 					 nds32_elf_irel_mask (&rel_backup));
-		      bfd_putb32 (insn, contents + (ex9_insn->order) * 4 + offset);
+		      bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
 		      relocation = relocation + 0x1000;	/* hi20 */
 		    }
 
@@ -13761,21 +15218,16 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
 			break;
 
 		      /* Set source insn.  */
-		      relocation = (fix_ptr->h->root.u.def.value +
-				    fix_ptr->h->root.u.def.section->output_section->vma +
-				    fix_ptr->h->root.u.def.section->output_offset);
+		      relocation =
+			fix_ptr->h->root.u.def.value +
+			fix_ptr->h->root.u.def.section->output_section->vma +
+			fix_ptr->h->root.u.def.section->output_offset;
 		      relocation += fix_ptr->irel->r_addend;
 		      /* sethi imm is imm20s.  */
 		      source_insn = insn_with_reg | ((relocation >> shift) & 0xfffff);
 
 		      while (temp_ptr)
 			{
-			  if (temp_ptr->order == 234)
-			    {
-			      temp_ptr = temp_ptr->next;
-			      continue;
-			    }
-
 			  /* Match entry and source code.  */
 			  insn = bfd_getb32 (contents + (temp_ptr->order) * 4 + offset);
 			  if (insn == source_insn)
@@ -13814,7 +15266,7 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
 		  relocation = nds32_elf_ex9_reloc_insn (ex9_insn, link_info);
 		  insn = insn_with_reg
 			 | ((relocation >> shift) & nds32_elf_irel_mask (&rel_backup));
-		  bfd_putb32 (insn, contents + (ex9_insn->order) * 4 + offset);
+		  bfd_putb32 (insn, contents + (ex9_insn->order) * 4);
 		}
 	    }
 	}
@@ -13831,20 +15283,19 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link
 
   ex9_export_file = table->ex9_export_file;
   if (ex9_export_file != NULL)
-    nds32_elf_ex9_export (link_info, contents + 4, table_sec->size - 4);
+    nds32_elf_ex9_export (link_info, contents, table_sec->size);
   else if (update_ex9_table == 1)
     {
-      ex9_import_file = table->ex9_import_file;
-      ex9_export_file = ex9_import_file;
-      rewind (ex9_export_file);
-      nds32_elf_ex9_export (link_info, contents + 4, size);
+      table->ex9_export_file = table->ex9_import_file;
+      rewind (table->ex9_export_file);
+      nds32_elf_ex9_export (link_info, contents, size);
     }
 }
 
 /* Generate ex9 hash table.  */
 
 static bfd_boolean
-nds32_elf_ex9_build_hash_table (bfd * abfd, asection * sec,
+nds32_elf_ex9_build_hash_table (bfd *abfd, asection *sec,
 				struct bfd_link_info *link_info)
 {
   Elf_Internal_Rela *internal_relocs;
@@ -13857,10 +15308,9 @@ nds32_elf_ex9_build_hash_table (bfd * ab
   asection *isec;
   struct elf_link_hash_entry **sym_hashes;
   bfd_byte *contents = NULL;
-  long unsigned int off = 0;
+  bfd_vma off = 0;
   unsigned long r_symndx;
-  unsigned long insn;
-  unsigned long insn_with_reg;
+  uint32_t insn, insn_with_reg;
   struct elf_link_hash_entry *h;
   int data_flag, shift, align;
   bfd_vma relocation;
@@ -13902,8 +15352,8 @@ nds32_elf_ex9_build_hash_table (bfd * ab
       while (irel != NULL && irel < irelend && irel->r_offset < off)
 	irel++;
 
-      data_flag = nds32_elf_ex9_relocation_check (link_info, &irel, irelend, NULL,
-						  sec, &off, contents);
+      data_flag = nds32_elf_ex9_relocation_check (link_info, &irel, irelend,
+						  NULL, sec, &off, contents);
       if (data_flag & DATA_EXIST)
 	{
 	  /* We save the move offset in the highest byte.  */
@@ -13974,8 +15424,9 @@ nds32_elf_ex9_build_hash_table (bfd * ab
 					       h, sym_sec, relocation,
 					       unresolved_reloc, warned, ignored);
 		      relocation += irel->r_addend;
-		      if (h->type != bfd_link_hash_defined
-			  && h->type != bfd_link_hash_defweak)
+		      if ((h->root.type != bfd_link_hash_defined
+			   && h->root.type != bfd_link_hash_defweak)
+			  || strcmp (h->root.root.string, "_FP_BASE_") == 0)
 			{
 			  off += 4;
 			  continue;
@@ -14025,7 +15476,8 @@ nds32_elf_ex9_build_hash_table (bfd * ab
 		    | ((relocation >> shift) & nds32_elf_irel_mask (irel));
 		}
 	      else if (ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_BEGIN
-		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_END)
+		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_RELAX_REGION_END
+		       || ELF32_R_TYPE (irel->r_info) == R_NDS32_NONE)
 		{
 		  /* These relocations do not have to relocate contens, so it can
 		     be regard as instruction without relocation.  */
@@ -14037,7 +15489,7 @@ nds32_elf_ex9_build_hash_table (bfd * ab
 		}
 	    }
 
-	  snprintf (code, sizeof (code), "%08lx", insn);
+	  snprintf (code, sizeof (code), "%08x", insn);
 	  /* Copy "code".  */
 	  entry = (struct elf_nds32_code_hash_entry*)
 	    bfd_hash_lookup (&ex9_code_table, code, TRUE, TRUE);
@@ -14162,19 +15614,20 @@ nds32_elf_ex9_itb_base (struct bfd_link_
   asection *sec;
   bfd *output_bfd = NULL;
   struct bfd_link_hash_entry *bh = NULL;
-  int target_optimize;
-  struct elf_nds32_link_hash_table *table;
 
   if (is_ITB_BASE_set == 1)
     return TRUE;
 
   is_ITB_BASE_set = 1;
 
-  table = nds32_elf_hash_table (link_info);
-  target_optimize  = table->target_optimize;
+  bh = bfd_link_hash_lookup (link_info->hash, "_ITB_BASE_", FALSE, FALSE, TRUE);
+
+  if (bh && (bh->type == bfd_link_hash_defined
+	     || bh->type == bfd_link_hash_defweak))
+    return TRUE;
 
   for (abfd = link_info->input_bfds; abfd != NULL;
-       abfd = abfd->link_next)
+       abfd = abfd->link.next)
     {
       sec = bfd_get_section_by_name (abfd, ".ex9.itable");
       if (sec != NULL)
@@ -14195,9 +15648,7 @@ nds32_elf_ex9_itb_base (struct bfd_link_
 			     FALSE, FALSE, TRUE);
   return (_bfd_generic_link_add_one_symbol
 	  (link_info, output_bfd, "_ITB_BASE_",
-	   BSF_GLOBAL | BSF_WEAK, sec,
-	   /* We don't know its value yet, set it to 0.  */
-	   (target_optimize & NDS32_RELAX_EX9_ON) ? 0 : (-234 * 4),
+	   BSF_GLOBAL | BSF_WEAK, sec, 0,
 	   (const char *) NULL, FALSE, get_elf_backend_data
 	   (output_bfd)->collect, &bh));
 } /* End EX9.IT  */
@@ -14206,6 +15657,7 @@ nds32_elf_ex9_itb_base (struct bfd_link_
 #define ELF_ARCH				bfd_arch_nds32
 #define ELF_MACHINE_CODE			EM_NDS32
 #define ELF_MAXPAGESIZE				0x1000
+#define ELF_TARGET_ID                           NDS32_ELF_DATA
 
 #define TARGET_BIG_SYM				nds32_elf32_be_vec
 #define TARGET_BIG_NAME				"elf32-nds32be"
@@ -14221,6 +15673,7 @@ nds32_elf_ex9_itb_base (struct bfd_link_
 #define bfd_elf32_bfd_relax_section		nds32_elf_relax_section
 #define bfd_elf32_bfd_set_private_flags		nds32_elf_set_private_flags
 
+#define bfd_elf32_mkobject		        nds32_elf_mkobject
 #define elf_backend_action_discarded		nds32_elf_action_discarded
 #define elf_backend_add_symbol_hook		nds32_elf_add_symbol_hook
 #define elf_backend_check_relocs		nds32_elf_check_relocs
@@ -14241,6 +15694,8 @@ nds32_elf_ex9_itb_base (struct bfd_link_
 #define elf_backend_object_p			nds32_elf_object_p
 #define elf_backend_final_write_processing	nds32_elf_final_write_processing
 #define elf_backend_special_sections		nds32_elf_special_sections
+#define bfd_elf32_bfd_get_relocated_section_contents \
+                                nds32_elf_get_relocated_section_contents
 
 #define elf_backend_can_gc_sections		1
 #define elf_backend_can_refcount		1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-nds32.h ./bfd/elf32-nds32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-nds32.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-nds32.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* NDS32-specific support for 32-bit ELF.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -46,6 +46,7 @@
 
 /* Relocation flags for R_NDS32_INSN16.  */
 
+/* Tag the nop16 can be removed.  */
 #define R_NDS32_INSN16_CONVERT_FLAG				(1 << 0)
 /* Convert a gp-relative access (e.g., lwi.gp)
    to fp-as-gp access (lwi37.fp).
@@ -67,15 +68,28 @@
    in this region due to performance drop.  */
 #define R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG		(1 << 4)
 
+/* Tag range for LOADSTORE relocation.  */
+enum
+{
+  NDS32_LOADSTORE_NONE = 0x0,
+  NDS32_LOADSTORE_BYTE = 0x1,
+  NDS32_LOADSTORE_HALF = 0x2,
+  NDS32_LOADSTORE_WORD = 0x4,
+  NDS32_LOADSTORE_FLOAT_S = 0x8,
+  NDS32_LOADSTORE_FLOAT_D = 0x10,
+  NDS32_LOADSTORE_IMM = 0x20
+};
+
 /* Relax tag for nds32_elf_relax_section, we have to specify which
    optimization do in this round.  */
 enum
 {
   NDS32_RELAX_NONE_ROUND = 0,
-  NDS32_RELAX_JUMP_IFC_ROUND = 1,
+  NDS32_RELAX_NORMAL_ROUND,
+  NDS32_RELAX_JUMP_IFC_ROUND,
   NDS32_RELAX_EX9_BUILD_ROUND,
-  NDS32_RELAX_EX9_REPLACE_ROUND
-
+  NDS32_RELAX_EX9_REPLACE_ROUND,
+  NDS32_RELAX_EMPTY_ROUND
 };
 
 /* Optimization status mask.  */
@@ -85,29 +99,23 @@ enum
 /* Optimization turn on mask.  */
 #define NDS32_RELAX_JUMP_IFC_ON		(1 << 0)
 #define NDS32_RELAX_EX9_ON		(1 << 1)
-
-/* The break 0xea defined for ex9 table to keep for trace32 to use 0xeaea.  */
-#define INSN_BREAK_EA   0x64001d4a
 
 extern void nds32_insertion_sort
   (void *, size_t, size_t, int (*) (const void *, const void *));
 
 extern int         nds32_elf_ex9_init (void);
-extern void        nds32_elf_ex9_reloc_jmp (struct bfd_link_info *);
-extern void        nds32_elf_ex9_finish (struct bfd_link_info *);
-extern bfd_boolean nds32_elf_ex9_itb_base (struct bfd_link_info *);
-extern void        nds32_elf_ex9_import_table (struct bfd_link_info *);
-extern bfd_boolean nds32_elf_ifc_reloc (void);
-extern bfd_boolean nds32_elf_ifc_finish (struct bfd_link_info *);
 extern int         nds32_convert_32_to_16 (bfd *, uint32_t, uint16_t *, int *);
 extern int         nds32_convert_16_to_32 (bfd *, uint16_t, uint32_t *);
-extern void        bfd_elf32_nds32_set_target_option (struct bfd_link_info *, int, int,
-						      FILE *, int, int, int, int, FILE *, FILE *,
-						      int, int, bfd_boolean, bfd_boolean);
+extern void        bfd_elf32_nds32_set_target_option (struct bfd_link_info *,
+						      int, int, FILE *, int,
+						      int, int, int, FILE *,
+						      FILE *, int, int,
+						      bfd_boolean, bfd_boolean);
 
 #define nds32_elf_hash_table(info) \
   (elf_hash_table_id ((struct elf_link_hash_table *) ((info)->hash)) \
-   == NDS32_ELF_DATA ? ((struct elf_nds32_link_hash_table *) ((info)->hash)) : NULL)
+   == NDS32_ELF_DATA ? \
+   ((struct elf_nds32_link_hash_table *) ((info)->hash)) : NULL)
 
 /* Hash table structure for target nds32.  There are some members to
    save target options passed from nds32elf.em to bfd.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-nios2.c ./bfd/elf32-nios2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-nios2.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-nios2.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* 32-bit ELF support for Nios II.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Nigel Gray (ngray@altera.com).
    Contributed by Mentor Graphics, Inc.
 
@@ -1383,7 +1383,7 @@ nios2_elf32_setup_section_lists (bfd *ou
   /* Count the number of input BFDs and find the top input section id.  */
   for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     {
       bfd_count += 1;
       for (section = input_bfd->sections;
@@ -1718,7 +1718,7 @@ get_local_syms (bfd *output_bfd ATTRIBUT
   /* Walk over all the input BFDs, swapping in local symbols.  */
   for (bfd_indx = 0;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next, bfd_indx++)
+       input_bfd = input_bfd->link.next, bfd_indx++)
     {
       Elf_Internal_Shdr *symtab_hdr;
 
@@ -1783,7 +1783,7 @@ nios2_elf32_size_stubs (bfd *output_bfd,
 
       for (input_bfd = info->input_bfds, bfd_indx = 0;
 	   input_bfd != NULL;
-	   input_bfd = input_bfd->link_next, bfd_indx++)
+	   input_bfd = input_bfd->link.next, bfd_indx++)
 	{
 	  Elf_Internal_Shdr *symtab_hdr;
 	  asection *section;
@@ -4891,7 +4891,7 @@ nios2_elf32_size_dynamic_sections (bfd *
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -5104,6 +5104,17 @@ nios2_elf32_size_dynamic_sections (bfd *
   return TRUE;
 }
 
+/* Free the derived linker hash table.  */
+static void
+nios2_elf32_link_hash_table_free (bfd *obfd)
+{
+  struct elf32_nios2_link_hash_table *htab
+    = (struct elf32_nios2_link_hash_table *) obfd->link.hash;
+
+  bfd_hash_table_free (&htab->bstab);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Implement bfd_elf32_bfd_link_hash_table_create.  */
 static struct bfd_link_hash_table *
 nios2_elf32_link_hash_table_create (bfd *abfd)
@@ -5128,22 +5139,15 @@ nios2_elf32_link_hash_table_create (bfd 
   /* Init the stub hash table too.  */
   if (!bfd_hash_table_init (&ret->bstab, stub_hash_newfunc,
 			    sizeof (struct elf32_nios2_stub_hash_entry)))
-    return NULL;
+    {
+      _bfd_elf_link_hash_table_free (abfd);
+      return NULL;
+    }
+  ret->root.root.hash_table_free = nios2_elf32_link_hash_table_free;
 
   return &ret->root.root;
 }
 
-/* Free the derived linker hash table.  */
-static void
-nios2_elf32_link_hash_table_free (struct bfd_link_hash_table *btab)
-{
-  struct elf32_nios2_link_hash_table *htab
-    = (struct elf32_nios2_link_hash_table *) btab;
-
-  bfd_hash_table_free (&htab->bstab);
-  _bfd_elf_link_hash_table_free (btab);
-}
-
 /* Implement elf_backend_reloc_type_class.  */
 static enum elf_reloc_type_class
 nios2_elf32_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED,
@@ -5250,8 +5254,6 @@ const struct bfd_elf_special_section elf
 
 #define bfd_elf32_bfd_link_hash_table_create \
 					  nios2_elf32_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free \
-					  nios2_elf32_link_hash_table_free
 
 /* Relocation table lookup macros.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-nios2.h ./bfd/elf32-nios2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-nios2.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-nios2.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Nios II support for 32-bit ELF
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Mentor Graphics
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-or1k.c ./bfd/elf32-or1k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-or1k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-or1k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Or1k-specific support for 32-bit ELF.
-   Copyright 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Contributed for OR32 by Johan Rydberg, jrydberg@opencores.org
 
    PIC parts added by Stefan Kristiansson, stefan.kristiansson@saunalahti.fi,
@@ -738,7 +738,11 @@ or1k_info_to_howto_rela (bfd * abfd ATTR
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_OR1K_max);
+  if (r_type >= (unsigned int) R_OR1K_max)
+    {
+      _bfd_error_handler (_("%A: invalid OR1K reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = & or1k_elf_howto_table[r_type];
 }
 
@@ -907,10 +911,7 @@ or1k_elf_relocate_section (bfd *output_b
               dyn = htab->root.dynamic_sections_created;
               if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h)
                   || (info->shared
-                      && (info->symbolic
-                          || h->dynindx == -1
-                          || h->forced_local)
-                      && h->def_regular))
+                      && SYMBOL_REFERENCES_LOCAL (info, h)))
                 {
                   /* This is actually a static link, or it is a
                      -Bsymbolic link and the symbol is defined
@@ -1015,11 +1016,8 @@ or1k_elf_relocate_section (bfd *output_b
                  && (h == NULL
                      || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
                      || h->root.type != bfd_link_hash_undefweak)
-                 && (!howto->pc_relative
-                     || (h != NULL
-                         && h->dynindx != -1
-                         && (!info->symbolic
-                             || !h->def_regular))))
+		 && (howto->type != R_OR1K_INSN_REL_26
+		     || !SYMBOL_CALLS_LOCAL (info, h)))
                 || (!info->shared
                     && h != NULL
                     && h->dynindx != -1
@@ -1613,7 +1611,7 @@ or1k_elf_check_relocs (bfd *abfd,
                  && (sec->flags & SEC_ALLOC) != 0
                  && (ELF32_R_TYPE (rel->r_info) != R_OR1K_INSN_REL_26
                      || (h != NULL
-                         && (! info->symbolic
+                         && (!SYMBOLIC_BIND (info, h)
                              || h->root.type == bfd_link_hash_defweak
                              || !h->def_regular))))
                 || (!info->shared
@@ -1991,11 +1989,7 @@ or1k_elf_finish_dynamic_symbol (bfd *out
          the symbol was forced to be local because of a version file.
          The entry in the global offset table will already have been
          initialized in the relocate_section function.  */
-      if (info->shared
-          && (info->symbolic
-              || h->dynindx == -1
-              || h->forced_local)
-          && h->def_regular)
+      if (info->shared && SYMBOL_REFERENCES_LOCAL (info, h))
         {
           rela.r_info = ELF32_R_INFO (0, R_OR1K_RELATIVE);
           rela.r_addend = (h->root.u.def.value
@@ -2197,7 +2191,7 @@ or1k_elf_adjust_dynamic_symbol (struct b
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2327,9 +2321,7 @@ allocate_dynrelocs (struct elf_link_hash
 
   if (info->shared)
     {
-      if (h->def_regular
-          && (h->forced_local
-              || info->symbolic))
+      if (SYMBOL_CALLS_LOCAL (info, h))
         {
           struct elf_or1k_dyn_relocs **pp;
 
@@ -2464,7 +2456,7 @@ or1k_elf_size_dynamic_sections (bfd *out
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-pj.c ./bfd/elf32-pj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-pj.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-pj.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* picoJava specific support for 32-bit ELF
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Steve Chamberlan of Transmeta (sac@pobox.com).
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-ppc.c ./bfd/elf32-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-ppc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-ppc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* PowerPC-specific support for 32-bit ELF
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -2629,7 +2629,7 @@ ppc_elf_begin_write_processing (bfd *abf
   apuinfo_list_init ();
 
   /* Read in the input sections contents.  */
-  for (ibfd = link_info->input_bfds; ibfd; ibfd = ibfd->link_next)
+  for (ibfd = link_info->input_bfds; ibfd; ibfd = ibfd->link.next)
     {
       unsigned long datum;
 
@@ -3636,9 +3636,10 @@ ppc_elf_add_symbol_hook (bfd *abfd,
       *valp = sym->st_size;
     }
 
-  if ((abfd->flags & DYNAMIC) == 0
-      && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-	  || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE))
+  if ((ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+      && (abfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
 
   return TRUE;
@@ -4017,7 +4018,7 @@ ppc_elf_check_relocs (bfd *abfd,
 	case R_PPC_GOT_TPREL16_LO:
 	case R_PPC_GOT_TPREL16_HI:
 	case R_PPC_GOT_TPREL16_HA:
-	  if (!info->executable)
+	  if (info->shared)
 	    info->flags |= DF_STATIC_TLS;
 	  tls_type = TLS_TLS | TLS_TPREL;
 	  goto dogottls;
@@ -4308,7 +4309,7 @@ ppc_elf_check_relocs (bfd *abfd,
 	case R_PPC_TPREL16_LO:
 	case R_PPC_TPREL16_HI:
 	case R_PPC_TPREL16_HA:
-	  if (!info->executable)
+	  if (info->shared)
 	    info->flags |= DF_STATIC_TLS;
 	  goto dodyn;
 
@@ -4828,7 +4829,7 @@ ppc_elf_select_plt_layout (bfd *output_b
 	     --secure-plt and we never see REL16 relocs.  */
 	  if (plt_type == PLT_UNSET)
 	    plt_type = PLT_OLD;
-	  for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
+	  for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
 	    if (is_ppc_elf (ibfd))
 	      {
 		if (ppc_elf_tdata (ibfd)->has_rel16)
@@ -5197,7 +5198,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
      notify relocate_section that optimization can be done, and
      adjust got and plt refcounts.  */
   for (pass = 0; pass < 2; ++pass)
-    for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+    for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
       {
 	Elf_Internal_Sym *locsyms = NULL;
 	Elf_Internal_Shdr *symtab_hdr = &elf_symtab_hdr (ibfd);
@@ -5506,9 +5507,24 @@ ppc_elf_adjust_dynamic_symbol (struct bf
 	     will go to this object, or will remain undefined.  */
 	  h->plt.plist = NULL;
 	  h->needs_plt = 0;
+	  h->pointer_equality_needed = 0;
 	}
       else
 	{
+	  /* Taking a function's address in a read/write section
+	     doesn't require us to define the function symbol in the
+	     executable on a plt call stub.  A dynamic reloc can
+	     be used instead.  */
+	  if (h->pointer_equality_needed
+	      && h->type != STT_GNU_IFUNC
+	      && !htab->is_vxworks
+	      && !ppc_elf_hash_entry (h)->has_sda_refs
+	      && !readonly_dynrelocs (h))
+	    {
+	      h->pointer_equality_needed = 0;
+	      h->non_got_ref = 0;
+	    }
+
 	  /* After adjust_dynamic_symbol, non_got_ref set in the
 	     non-shared case means that we have allocated space in
 	     .dynbss for the symbol and thus dyn_relocs for this
@@ -5518,12 +5534,12 @@ ppc_elf_adjust_dynamic_symbol (struct bf
 	     relocations against this symbol to the PLT entry.  Allow
 	     dynamic relocs if the reference is weak, and the dynamic
 	     relocs will not cause text relocation.  */
-	  if (!h->ref_regular_nonweak
-	      && h->non_got_ref
-	      && h->type != STT_GNU_IFUNC
-	      && !htab->is_vxworks
-	      && !ppc_elf_hash_entry (h)->has_sda_refs
-	      && !readonly_dynrelocs (h))
+	  else if (!h->ref_regular_nonweak
+		   && h->non_got_ref
+		   && h->type != STT_GNU_IFUNC
+		   && !htab->is_vxworks
+		   && !ppc_elf_hash_entry (h)->has_sda_refs
+		   && !readonly_dynrelocs (h))
 	    h->non_got_ref = 0;
 	}
       return TRUE;
@@ -5612,7 +5628,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Generate a symbol to mark plt call stubs.  For non-PIC code the sym is
@@ -6130,7 +6146,7 @@ ppc_elf_size_dynamic_sections (bfd *outp
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -6304,6 +6320,16 @@ ppc_elf_size_dynamic_sections (bfd *outp
       sda->root.u.def.section = htab->elf.hgot->root.u.def.section;
       sda->root.u.def.value = htab->elf.hgot->root.u.def.value;
     }
+  if (info->emitrelocations)
+    {
+      struct elf_link_hash_entry *sda = htab->sdata[0].sym;
+
+      if (sda != NULL && sda->ref_regular)
+	sda->root.u.def.section->flags |= SEC_KEEP;
+      sda = htab->sdata[1].sym;
+      if (sda != NULL && sda->ref_regular)
+	sda->root.u.def.section->flags |= SEC_KEEP;
+    }
 
   if (htab->glink != NULL
       && htab->glink->size != 0
@@ -6396,12 +6422,15 @@ ppc_elf_size_dynamic_sections (bfd *outp
 	       || s == htab->sgotplt
 	       || s == htab->sbss
 	       || s == htab->dynbss
-	       || s == htab->dynsbss
-	       || s == htab->sdata[0].section
-	       || s == htab->sdata[1].section)
+	       || s == htab->dynsbss)
 	{
 	  /* Strip these too.  */
 	}
+      else if (s == htab->sdata[0].section
+	       || s == htab->sdata[1].section)
+	{
+	  strip_section = (s->flags & SEC_KEEP) == 0;
+	}
       else if (CONST_STRNEQ (bfd_get_section_name (htab->elf.dynobj, s),
 			     ".rela"))
 	{
@@ -7137,7 +7166,7 @@ ppc_elf_relax_section (bfd *abfd,
       bfd_vma pagesize = (bfd_vma) 1 << htab->params->pagesize_p2;
 
       addr = isec->output_section->vma + isec->output_offset;
-      end_addr = addr + trampoff - 1;
+      end_addr = addr + trampoff;
       addr &= -pagesize;
       crossings = ((end_addr & -pagesize) - addr) >> htab->params->pagesize_p2;
       if (crossings != 0)
@@ -7145,7 +7174,7 @@ ppc_elf_relax_section (bfd *abfd,
 	  /* Keep space aligned, to ensure the patch code itself does
 	     not cross a page.  Don't decrease size calculated on a
 	     previous pass as otherwise we might never settle on a layout.  */
-	  newsize = 15 - (end_addr & 15);
+	  newsize = 15 - ((end_addr - 1) & 15);
 	  newsize += crossings * 16;
 	  if (relax_info->workaround_size < newsize)
 	    {
@@ -10298,11 +10327,12 @@ ppc_elf_finish_dynamic_sections (bfd *ou
 #define ELF_MACHINE_CODE	EM_PPC
 #ifdef __QNXTARGET__
 #define ELF_MAXPAGESIZE		0x1000
+#define ELF_COMMONPAGESIZE	0x1000
 #else
 #define ELF_MAXPAGESIZE		0x10000
+#define ELF_COMMONPAGESIZE	0x10000
 #endif
 #define ELF_MINPAGESIZE		0x1000
-#define ELF_COMMONPAGESIZE	0x1000
 #define elf_info_to_howto	ppc_elf_info_to_howto
 
 #ifdef  EM_CYGNUS_POWERPC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-ppc.h ./bfd/elf32-ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-ppc.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-ppc.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* PowerPC-specific support for 64-bit ELF.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-rl78.c ./bfd/elf32-rl78.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-rl78.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-rl78.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Renesas RL78 specific support for 32-bit ELF.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -276,7 +276,11 @@ rl78_info_to_howto_rela (bfd *          
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_RL78_max);
+  if (r_type >= (unsigned int) R_RL78_max)
+    {
+      _bfd_error_handler (_("%A: invalid RL78 reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = rl78_elf_howto_table + r_type;
 }
 
@@ -1370,7 +1374,7 @@ rl78_elf_relax_plt_section (bfd *dynobj,
 
   /* Likewise for local symbols, though that's somewhat less convenient
      as we have to walk the list of input bfds and swap in symbol data.  */
-  for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
     {
       bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
       Elf_Internal_Shdr *symtab_hdr;
@@ -1444,7 +1448,7 @@ rl78_elf_relax_plt_section (bfd *dynobj,
       elf_link_hash_traverse (elf_hash_table (info),
 			      rl78_relax_plt_realloc, &entry);
 
-      for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
+      for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
 	{
 	  bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
 	  unsigned int nlocals = elf_tdata (ibfd)->symtab_hdr.sh_info;
@@ -2199,7 +2203,7 @@ rl78_elf_relax_section
 	 61 F3 EF ad	SKNH ; BR $rel8
        */
 
-      if (irel->r_addend & RL78_RELAXA_BRA)
+      if ((irel->r_addend & RL78_RELAXA_MASK) == RL78_RELAXA_BRA)
 	{
 	  /* SKIP opcodes that skip non-branches will have a relax tag
 	     but no corresponding symbol to relax against; we just
@@ -2334,7 +2338,7 @@ rl78_elf_relax_section
 
 	}
 
-      if (irel->r_addend & RL78_RELAXA_ADDR16)
+      if ((irel->r_addend &  RL78_RELAXA_MASK) == RL78_RELAXA_ADDR16)
 	{
 	  /*----------------------------------------------------------------------*/
 	  /* Some insns have both a 16-bit address operand and an 8-bit
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-rx.c ./bfd/elf32-rx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-rx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-rx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Renesas RX specific support for 32-bit ELF.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -307,7 +307,11 @@ rx_info_to_howto_rela (bfd *            
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_RX_max);
+  if (r_type >= (unsigned int) R_RX_max)
+    {
+      _bfd_error_handler (_("%A: invalid RX reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = rx_elf_howto_table + r_type;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-rx.h ./bfd/elf32-rx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-rx.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-rx.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Renesas RX specific support for 32-bit ELF.
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-s390.c ./bfd/elf32-s390.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-s390.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-s390.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IBM S/390-specific support for 32-bit ELF
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Carl B. Pedersen and Martin Schwidefsky.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1250,6 +1250,12 @@ elf_s390_check_relocs (bfd *abfd,
 	  /* Fall through.  */
 
 	case R_390_TLS_LE32:
+	  /* For static linking and executables this reloc will be
+	     calculated at linktime otherwise a TLS_TPOFF runtime
+	     reloc will be generated.  */
+	  if (r_type == R_390_TLS_LE32 && info->pie)
+	    break;
+
 	  if (!info->shared)
 	    break;
 	  info->flags |= DF_STATIC_TLS;
@@ -1756,7 +1762,7 @@ elf_s390_adjust_dynamic_symbol (struct b
 
   s = htab->sdynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2045,7 +2051,7 @@ elf_s390_size_dynamic_sections (bfd *out
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -3104,7 +3110,7 @@ elf_s390_relocate_section (bfd *output_b
 	  break;
 
 	case R_390_TLS_LE32:
-	  if (info->shared)
+	  if (info->shared && !info->pie)
 	    {
 	      /* Linking a shared library with non-fpic code requires
 		 a R_390_TLS_TPOFF relocation.  */
@@ -3903,7 +3909,7 @@ elf_s390_finish_dynamic_sections (bfd *o
 	->this_hdr.sh_entsize = 4;
     }
   /* Finish dynamic symbol for local IFUNC symbols.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       struct plt_entry *local_plt;
       Elf_Internal_Sym *isym;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-score7.c ./bfd/elf32-score7.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-score7.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-score7.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* 32-bit ELF support for S+core.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
@@ -3006,7 +3006,7 @@ s7_bfd_score_elf_always_size_sections (b
 
   /* Calculate the total loadable size of the output.  That will give us the
      maximum number of GOT_PAGE entries required.  */
-  for (sub = info->input_bfds; sub; sub = sub->link_next)
+  for (sub = info->input_bfds; sub; sub = sub->link.next)
     {
       asection *subsection;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-score.c ./bfd/elf32-score.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-score.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-score.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* 32-bit ELF support for S+core.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Contributed by
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
@@ -3199,7 +3199,7 @@ s3_bfd_score_elf_always_size_sections (b
 
   /* Calculate the total loadable size of the output.  That will give us the
      maximum number of GOT_PAGE entries required.  */
-  for (sub = info->input_bfds; sub; sub = sub->link_next)
+  for (sub = info->input_bfds; sub; sub = sub->link.next)
     {
       asection *subsection;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-score.h ./bfd/elf32-score.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-score.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-score.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* 32-bit ELF support for S+core.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh64.c ./bfd/elf32-sh64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-sh64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* SuperH SH64-specific support for 32-bit ELF
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh64-com.c ./bfd/elf32-sh64-com.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh64-com.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-sh64-com.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* SuperH SH64-specific support for 32-bit ELF
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh64.h ./bfd/elf32-sh64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh64.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-sh64.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* SH ELF support for BFD.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh.c ./bfd/elf32-sh.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-sh.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Renesas / SuperH SH specific support for 32-bit ELF
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -702,10 +702,10 @@ sh_elf_relax_section (bfd *abfd, asectio
       elf_section_data (sec)->this_hdr.contents = contents;
       symtab_hdr->contents = (unsigned char *) isymbuf;
 
-      /* Replace the jsr with a bsr.  */
+      /* Replace the jmp/jsr with a bra/bsr.  */
 
       /* Change the R_SH_USES reloc into an R_SH_IND12W reloc, and
-	 replace the jsr with a bsr.  */
+	 replace the jmp/jsr with a bra/bsr.  */
       irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irelfn->r_info), R_SH_IND12W);
       /* We used to test (ELF32_R_SYM (irelfn->r_info) < symtab_hdr->sh_info)
 	 here, but that only checks if the symbol is an external symbol,
@@ -716,7 +716,10 @@ sh_elf_relax_section (bfd *abfd, asectio
       /* We can't fully resolve this yet, because the external
 	 symbol value may be changed by future relaxing.  We let
 	 the final link phase handle it.  */
-      bfd_put_16 (abfd, (bfd_vma) 0xb000, contents + irel->r_offset);
+      if (bfd_get_16 (abfd, contents + irel->r_offset) & 0x0020)
+	bfd_put_16 (abfd, (bfd_vma) 0xa000, contents + irel->r_offset);
+      else
+	bfd_put_16 (abfd, (bfd_vma) 0xb000, contents + irel->r_offset);
 
       irel->r_addend = -4;
 
@@ -2916,7 +2919,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -3341,7 +3344,7 @@ sh_elf_size_dynamic_sections (bfd *outpu
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -3676,7 +3679,9 @@ sh_elf_osec_to_segment (bfd *output_bfd,
 {
   Elf_Internal_Phdr *p = NULL;
 
-  if (output_bfd->xvec->flavour == bfd_target_elf_flavour)
+  if (output_bfd->xvec->flavour == bfd_target_elf_flavour
+      /* PR ld/17110: Do not look for output segments in an input bfd.  */
+      && output_bfd->direction != read_direction)
     p = _bfd_elf_find_segment_containing_section (output_bfd, osec);
 
   /* FIXME: Nothing ever says what this index is relative to.  The kernel
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh-relocs.h ./bfd/elf32-sh-relocs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh-relocs.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-sh-relocs.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh-symbian.c ./bfd/elf32-sh-symbian.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sh-symbian.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-sh-symbian.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Renesas / SuperH specific support for Symbian 32-bit ELF files
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Red Hat
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sparc.c ./bfd/elf32-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-sparc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-sparc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* SPARC-specific support for 32-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -173,16 +173,17 @@ elf32_sparc_reloc_type_class (const stru
 
 static bfd_boolean
 elf32_sparc_add_symbol_hook (bfd * abfd,
-			     struct bfd_link_info * info ATTRIBUTE_UNUSED,
+			     struct bfd_link_info * info,
 			     Elf_Internal_Sym * sym,
 			     const char ** namep ATTRIBUTE_UNUSED,
 			     flagword * flagsp ATTRIBUTE_UNUSED,
 			     asection ** secp ATTRIBUTE_UNUSED,
 			     bfd_vma * valp ATTRIBUTE_UNUSED)
 {
-  if ((abfd->flags & DYNAMIC) == 0
-      && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-	  || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE))
+  if ((ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+      && (abfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
   return TRUE;
 }
@@ -209,8 +210,6 @@ elf32_sparc_add_symbol_hook (bfd * abfd,
   _bfd_sparc_elf_reloc_name_lookup
 #define bfd_elf32_bfd_link_hash_table_create \
 					_bfd_sparc_elf_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free \
-					_bfd_sparc_elf_link_hash_table_free
 #define bfd_elf32_bfd_relax_section	_bfd_sparc_elf_relax_section
 #define bfd_elf32_new_section_hook	_bfd_sparc_elf_new_section_hook
 #define elf_backend_copy_indirect_symbol \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-spu.c ./bfd/elf32-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-spu.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-spu.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 /* SPU specific support for 32-bit ELF
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -555,7 +555,7 @@ spu_elf_create_sections (struct bfd_link
   struct spu_link_hash_table *htab = spu_hash_table (info);
   bfd *ibfd;
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     if (bfd_get_section_by_name (ibfd, SPU_PTNOTE_SPUNAME) != NULL)
       break;
 
@@ -1520,7 +1520,7 @@ process_stubs (struct bfd_link_info *inf
   struct spu_link_hash_table *htab = spu_hash_table (info);
   bfd *ibfd;
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       extern const bfd_target spu_elf32_vec;
       Elf_Internal_Shdr *symtab_hdr;
@@ -1828,6 +1828,18 @@ ovl_mgr_pread (struct bfd *abfd ATTRIBUT
   return count;
 }
 
+static int
+ovl_mgr_stat (struct bfd *abfd ATTRIBUTE_UNUSED,
+	      void *stream,
+	      struct stat *sb)
+{
+  struct _ovl_stream *os = (struct _ovl_stream *) stream;
+
+  memset (sb, 0, sizeof (*sb));
+  sb->st_size = (const char *) os->end - (const char *) os->start;
+  return 0;
+}
+
 bfd_boolean
 spu_elf_open_builtin_lib (bfd **ovl_bfd, const struct _ovl_stream *stream)
 {
@@ -1837,7 +1849,7 @@ spu_elf_open_builtin_lib (bfd **ovl_bfd,
 			      (void *) stream,
 			      ovl_mgr_pread,
 			      NULL,
-			      NULL);
+			      ovl_mgr_stat);
   return *ovl_bfd != NULL;
 }
 
@@ -2936,7 +2948,7 @@ discover_functions (struct bfd_link_info
   bfd_boolean gaps = FALSE;
 
   bfd_idx = 0;
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     bfd_idx++;
 
   psym_arr = bfd_zmalloc (bfd_idx * sizeof (*psym_arr));
@@ -2948,7 +2960,7 @@ discover_functions (struct bfd_link_info
 
   for (ibfd = info->input_bfds, bfd_idx = 0;
        ibfd != NULL;
-       ibfd = ibfd->link_next, bfd_idx++)
+       ibfd = ibfd->link.next, bfd_idx++)
     {
       extern const bfd_target spu_elf32_vec;
       Elf_Internal_Shdr *symtab_hdr;
@@ -3056,7 +3068,7 @@ discover_functions (struct bfd_link_info
 	 relocations.  */
       for (ibfd = info->input_bfds, bfd_idx = 0;
 	   ibfd != NULL;
-	   ibfd = ibfd->link_next, bfd_idx++)
+	   ibfd = ibfd->link.next, bfd_idx++)
 	{
 	  asection *sec;
 
@@ -3070,7 +3082,7 @@ discover_functions (struct bfd_link_info
 
       for (ibfd = info->input_bfds, bfd_idx = 0;
 	   ibfd != NULL;
-	   ibfd = ibfd->link_next, bfd_idx++)
+	   ibfd = ibfd->link.next, bfd_idx++)
 	{
 	  Elf_Internal_Shdr *symtab_hdr;
 	  asection *sec;
@@ -3109,7 +3121,7 @@ discover_functions (struct bfd_link_info
 	    }
 	}
 
-      for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+      for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
 	{
 	  extern const bfd_target spu_elf32_vec;
 	  asection *sec;
@@ -3152,7 +3164,7 @@ discover_functions (struct bfd_link_info
 
   for (ibfd = info->input_bfds, bfd_idx = 0;
        ibfd != NULL;
-       ibfd = ibfd->link_next, bfd_idx++)
+       ibfd = ibfd->link.next, bfd_idx++)
     {
       if (psym_arr[bfd_idx] == NULL)
 	continue;
@@ -3181,7 +3193,7 @@ for_each_node (bfd_boolean (*doit) (stru
 {
   bfd *ibfd;
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       extern const bfd_target spu_elf32_vec;
       asection *sec;
@@ -3330,7 +3342,7 @@ build_call_tree (struct bfd_link_info *i
   bfd *ibfd;
   unsigned int depth;
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       extern const bfd_target spu_elf32_vec;
       asection *sec;
@@ -3707,7 +3719,7 @@ auto_ovl_lib_functions (struct bfd_link_
 
   memset (&dummy_caller, 0, sizeof (dummy_caller));
   lib_count = 0;
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       extern const bfd_target spu_elf32_vec;
       asection *sec;
@@ -4252,7 +4264,7 @@ spu_elf_auto_overlay (struct bfd_link_in
     goto err_exit;
 
   bfd_count = 0;
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     ++bfd_count;
   bfd_arr = bfd_malloc (bfd_count * sizeof (*bfd_arr));
   if (bfd_arr == NULL)
@@ -4262,7 +4274,7 @@ spu_elf_auto_overlay (struct bfd_link_in
   count = 0;
   bfd_count = 0;
   total_overlay_size = 0;
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       extern const bfd_target spu_elf32_vec;
       asection *sec;
@@ -5395,7 +5407,7 @@ spu_elf_size_sections (bfd * output_bfd,
       bfd *ibfd;
       size_t size;
 
-      for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+      for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
 	{
 	  asection *isec;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-spu.h ./bfd/elf32-spu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-spu.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-spu.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 /* SPU specific support for 32-bit ELF.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tic6x.c ./bfd/elf32-tic6x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tic6x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-tic6x.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* 32-bit ELF support for TI C6X
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Joseph Myers <joseph@codesourcery.com>
    		  Bernd Schmidt  <bernds@codesourcery.com>
 
@@ -1919,7 +1919,7 @@ elf32_tic6x_gc_mark_extra_sections (stru
   while (again)
     {
       again = FALSE;
-      for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+      for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
 	{
 	  asection *o;
 
@@ -2168,7 +2168,7 @@ elf32_tic6x_adjust_dynamic_symbol (struc
 
   s = htab->sdynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 static bfd_boolean
@@ -3309,7 +3309,7 @@ elf32_tic6x_size_dynamic_sections (bfd *
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -4051,7 +4051,7 @@ elf32_tic6x_fix_exidx_coverage (asection
 
   /* Walk over all EXIDX sections, and create backlinks from the corrsponding
      text sections.  */
-  for (inp = info->input_bfds; inp != NULL; inp = inp->link_next)
+  for (inp = info->input_bfds; inp != NULL; inp = inp->link.next)
     {
       asection *sec;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tic6x.h ./bfd/elf32-tic6x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tic6x.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-tic6x.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* 32-bit ELF support for TI C6X
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tilegx.c ./bfd/elf32-tilegx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tilegx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-tilegx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILE-Gx-specific support for 32-bit ELF.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tilegx.h ./bfd/elf32-tilegx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tilegx.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-tilegx.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILE-Gx-specific support for 32-bit ELF.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tilepro.c ./bfd/elf32-tilepro.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tilepro.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-tilepro.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILEPro-specific support for 32-bit ELF.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -2189,7 +2189,7 @@ tilepro_elf_adjust_dynamic_symbol (struc
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, htab->sdynbss);
+  return _bfd_elf_adjust_dynamic_copy (info, h, htab->sdynbss);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2472,7 +2472,7 @@ tilepro_elf_size_dynamic_sections (bfd *
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tilepro.h ./bfd/elf32-tilepro.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-tilepro.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-tilepro.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILEPro-specific support for 32-bit ELF.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-v850.c ./bfd/elf32-v850.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-v850.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-v850.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* V850-specific support for 32-bit ELF
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -1896,7 +1896,11 @@ v850_elf_info_to_howto_rel (bfd *abfd AT
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_V850_max);
+  if (r_type >= (unsigned int) R_V850_max)
+    {
+      _bfd_error_handler (_("%A: invalid V850 reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &v850_elf_howto_table[r_type];
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-vax.c ./bfd/elf32-vax.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-vax.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-vax.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* VAX series support for 32-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Contributed by Matt Thomas <matt@3am-software.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1043,7 +1043,7 @@ elf_vax_adjust_dynamic_symbol (struct bf
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* This function is called via elf_link_hash_traverse.  It resets GOT
@@ -1221,7 +1221,7 @@ elf_vax_size_dynamic_sections (bfd *outp
 	continue;
 
       /* Allocate memory for the section contents.  */
-      s->contents = (bfd_byte *) bfd_alloc (dynobj, s->size);
+      s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->size);
       if (s->contents == NULL)
 	return FALSE;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-visium.c ./bfd/elf32-visium.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-visium.c	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/elf32-visium.c	2015-01-20 02:05:36.000000000 +0000
@@ -0,0 +1,903 @@
+/* Visium-specific support for 32-bit ELF.
+
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "sysdep.h"
+#include "libbfd.h"
+#include "elf-bfd.h"
+#include "elf/visium.h"
+
+static bfd_reloc_status_type visium_elf_howto_parity_reloc
+  (bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **);
+
+static reloc_howto_type visium_elf_howto_table[] = {
+  /* This reloc does nothing.  */
+  HOWTO (R_VISIUM_NONE,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_VISIUM_NONE",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0,			/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* A 8 bit absolute relocation.  */
+  HOWTO (R_VISIUM_8,		/* type */
+	 0,			/* rightshift */
+	 0,			/* size (0 = byte, 1 = short, 2 = long) */
+	 8,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_VISIUM_8",		/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00,			/* src_mask */
+	 0xff,			/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* A 16 bit absolute relocation.  */
+  HOWTO (R_VISIUM_16,		/* type */
+	 0,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_VISIUM_16",		/* name */
+	 FALSE,			/* partial_inplace */
+	 0x0000,		/* src_mask */
+	 0xffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* A 32 bit absolute relocation.  */
+  HOWTO (R_VISIUM_32,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_VISIUM_32",		/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00000000,		/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+
+  /* A 8 bit PC relative relocation.  */
+  HOWTO (R_VISIUM_8_PCREL,		/* type */
+	 0,			/* rightshift */
+	 0,			/* size (0 = byte, 1 = short, 2 = long) */
+	 8,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_VISIUM_8_PCREL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00,			/* src_mask */
+	 0xff,			/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  /* A 16 bit PC relative relocation.  */
+  HOWTO (R_VISIUM_16_PCREL,	/* type */
+	 0,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_VISIUM_16_PCREL",	/* name */
+	 FALSE,			/* partial inplace */
+	 0x0000,		/* src_mask */
+	 0xffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  /* A 32-bit PC relative relocation.  */
+  HOWTO (R_VISIUM_32_PCREL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield,	/* complain_on_overflow */
+	 bfd_elf_generic_reloc,	/* special_function */
+	 "R_VISIUM_32_PCREL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  /* A 16-bit PC word relative offset, relative to start of instruction
+     and always in the second half of the instruction.  */
+  HOWTO (R_VISIUM_PC16,		/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed,	/* complain_on_overflow */
+	 visium_elf_howto_parity_reloc,	/* special_function */
+	 "R_VISIUM_PC16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00000000,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  /* The high 16 bits of symbol value.  */
+  HOWTO (R_VISIUM_HI16,		/* type */
+	 16,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 visium_elf_howto_parity_reloc,	/* special_function */
+	 "R_VISIUM_HI16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00000000,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* The low 16 bits of symbol value.  */
+  HOWTO (R_VISIUM_LO16,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 visium_elf_howto_parity_reloc,	/* special_function */
+	 "R_VISIUM_LO16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00000000,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* A 16 bit immediate value.  */
+  HOWTO (R_VISIUM_IM16,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_unsigned,	/* complain_on_overflow */
+	 visium_elf_howto_parity_reloc,	/* special_function */
+	 "R_VISIUM_IM16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x0000000,		/* src_mask */
+	 0x000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* The high 16 bits of symbol value, pc relative.  */
+  HOWTO (R_VISIUM_HI16_PCREL,	/* type */
+	 16,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 visium_elf_howto_parity_reloc,	/* special_function */
+	 "R_VISIUM_HI16_PCREL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00000000,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  /* The low 16 bits of symbol value, pc relative.  */
+  HOWTO (R_VISIUM_LO16_PCREL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont,	/* complain_on_overflow */
+	 visium_elf_howto_parity_reloc,	/* special_function */
+	 "R_VISIUM_LO16_PCREL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x00000000,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  /* A 16 bit immediate value, pc relative.  */
+  HOWTO (R_VISIUM_IM16_PCREL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_unsigned,	/* complain_on_overflow */
+	 visium_elf_howto_parity_reloc,	/* special_function */
+	 "R_VISIUM_IM16_PCREL",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0x0000000,		/* src_mask */
+	 0x000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+};
+
+/* GNU extension to record C++ vtable hierarchy.  */
+static reloc_howto_type visium_elf_vtinherit_howto =
+  HOWTO (R_VISIUM_GNU_VTINHERIT,      /* type */
+	 0,			   /* rightshift */
+	 2,			   /* size (0 = byte, 1 = short, 2 = long) */
+	 0,			   /* bitsize */
+	 FALSE,			   /* pc_relative */
+	 0,			   /* bitpos */
+	 complain_overflow_dont,   /* complain_on_overflow */
+	 NULL,			   /* special_function */
+	 "R_VISIUM_GNU_VTINHERIT", /* name */
+	 FALSE,			   /* partial_inplace */
+	 0,			   /* src_mask */
+	 0,			   /* dst_mask */
+	 FALSE);		   /* pcrel_offset */
+
+/* GNU extension to record C++ vtable member usage.  */
+static reloc_howto_type visium_elf_vtentry_howto =
+  HOWTO (R_VISIUM_GNU_VTENTRY,	   /* type */
+	 0,			   /* rightshift */
+	 2,			   /* size (0 = byte, 1 = short, 2 = long) */
+	 0,			   /* bitsize */
+	 FALSE,			   /* pc_relative */
+	 0,			   /* bitpos */
+	 complain_overflow_dont,   /* complain_on_overflow */
+	 NULL,			   /* special_function */
+	 "R_VISIUM_GNU_VTENTRY",   /* name */
+	 FALSE,			   /* partial_inplace */
+	 0,			   /* src_mask */
+	 0,			   /* dst_mask */
+	 FALSE);		   /* pcrel_offset */
+
+/* Map BFD reloc types to VISIUM ELF reloc types.  */
+struct visium_reloc_map
+{
+  bfd_reloc_code_real_type bfd_reloc_val;
+  unsigned int visium_reloc_val;
+};
+
+static const struct visium_reloc_map visium_reloc_map[] = {
+  {BFD_RELOC_NONE, 		R_VISIUM_NONE},
+  {BFD_RELOC_8, 		R_VISIUM_8},
+  {BFD_RELOC_16,		R_VISIUM_16},
+  {BFD_RELOC_32, 		R_VISIUM_32},
+  {BFD_RELOC_8_PCREL,		R_VISIUM_8_PCREL},
+  {BFD_RELOC_16_PCREL,		R_VISIUM_16_PCREL},
+  {BFD_RELOC_32_PCREL,		R_VISIUM_32_PCREL},
+  {BFD_RELOC_VISIUM_REL16,	R_VISIUM_PC16},
+  {BFD_RELOC_VISIUM_HI16,	R_VISIUM_HI16},
+  {BFD_RELOC_VISIUM_LO16,	R_VISIUM_LO16},
+  {BFD_RELOC_VISIUM_IM16,	R_VISIUM_IM16},
+  {BFD_RELOC_VISIUM_HI16_PCREL,	R_VISIUM_HI16_PCREL},
+  {BFD_RELOC_VISIUM_LO16_PCREL,	R_VISIUM_LO16_PCREL},
+  {BFD_RELOC_VISIUM_IM16_PCREL,	R_VISIUM_IM16_PCREL},
+  {BFD_RELOC_VTABLE_INHERIT,	R_VISIUM_GNU_VTINHERIT},
+  {BFD_RELOC_VTABLE_ENTRY,	R_VISIUM_GNU_VTENTRY},
+};
+
+/* Return the parity bit for INSN shifted to its final position.  */
+
+static bfd_vma
+visium_parity_bit (bfd_vma insn)
+{
+  bfd_vma p = 0;
+  int i;
+
+  for (i = 0; i < 31; i++)
+    {
+      p ^= (insn & 1);
+      insn >>= 1;
+    }
+
+  return p << 31;
+}
+
+/* This "special function" will only be used when the input and
+   output files have different formats ie. when generating S-records
+   directly using "--oformat srec". Otherwise we use
+   _bfd_final_link_relocate which uses a howto structure, but does
+   not use the special_function field.
+
+   It sets instruction parity to even.  This cannot be done by a howto.  */
+
+static bfd_reloc_status_type
+visium_elf_howto_parity_reloc (bfd * input_bfd, arelent *reloc_entry,
+			       asymbol *symbol, PTR data,
+			       asection *input_section, bfd *output_bfd,
+			       char **error_message ATTRIBUTE_UNUSED)
+{
+  bfd_reloc_status_type ret;
+  bfd_vma relocation;
+  bfd_byte *inplace_address;
+  bfd_vma insn;
+  const bfd_vma signmask = 0xffff8000;
+
+  /* This part is from bfd_elf_generic_reloc.
+     If we're relocating, and this an external symbol, we don't want
+     to change anything.  */
+  if (output_bfd != (bfd *) NULL && (symbol->flags & BSF_SECTION_SYM) == 0)
+    {
+      reloc_entry->address += input_section->output_offset;
+      return bfd_reloc_ok;
+    }
+
+  /* Now do the reloc in the usual way.  */
+
+  /* Sanity check the address (offset in section).  */
+  if (reloc_entry->address > bfd_get_section_limit (input_bfd, input_section))
+    return bfd_reloc_outofrange;
+
+  ret = bfd_reloc_ok;
+  if (bfd_is_und_section (symbol->section) && output_bfd == (bfd *) NULL)
+    ret = bfd_reloc_undefined;
+
+  if (bfd_is_com_section (symbol->section) || output_bfd != (bfd *) NULL)
+    relocation = 0;
+  else
+    relocation = symbol->value;
+
+  /* Only do this for a final link.  */
+  if (output_bfd == (bfd *) NULL)
+    {
+      relocation += symbol->section->output_section->vma;
+      relocation += symbol->section->output_offset;
+    }
+
+  relocation += reloc_entry->addend;
+  inplace_address = (bfd_byte *) data + reloc_entry->address;
+  insn = bfd_get_32 (input_bfd, inplace_address);
+
+  if (reloc_entry->howto->pc_relative)
+    {
+      relocation -= input_section->output_section->vma
+	+ input_section->output_offset;
+      relocation -= reloc_entry->address;
+    }
+
+  switch (reloc_entry->howto->type)
+    {
+    case R_VISIUM_PC16:
+      relocation >>= 2;
+      if (ret == bfd_reloc_ok && (relocation & signmask) != 0
+	  && (relocation & signmask) != signmask)
+	ret = bfd_reloc_overflow;
+      relocation &= 0xffff;
+      break;
+    case R_VISIUM_HI16:
+    case R_VISIUM_HI16_PCREL:
+      relocation = (relocation >> 16) & 0xffff;
+      break;
+    case R_VISIUM_LO16:
+    case R_VISIUM_LO16_PCREL:
+      relocation &= 0xffff;
+      break;
+    case R_VISIUM_IM16:
+    case R_VISIUM_IM16_PCREL:
+      if (ret == bfd_reloc_ok && (relocation & 0xffff0000) != 0)
+	ret = bfd_reloc_overflow;
+      relocation &= 0xffff;
+      break;
+    }
+  insn = (insn & 0x7fff0000) | relocation;
+  insn |= visium_parity_bit (insn);
+  bfd_put_32 (input_bfd, insn, inplace_address);
+
+  if (output_bfd != (bfd *) NULL)
+    reloc_entry->address += input_section->output_offset;
+
+  return ret;
+}
+
+static reloc_howto_type *
+visium_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+			  bfd_reloc_code_real_type code)
+{
+  /* Note that the visium_elf_howto_table is indexed by the R_
+     constants. Thus, the order that the howto records appear in the
+     table *must* match the order of the relocation types defined in
+     include/elf/visium.h.  */
+  switch (code)
+    {
+    case BFD_RELOC_NONE:
+      return &visium_elf_howto_table[(int) R_VISIUM_NONE];
+    case BFD_RELOC_8:
+      return &visium_elf_howto_table[(int) R_VISIUM_8];
+    case BFD_RELOC_16:
+      return &visium_elf_howto_table[(int) R_VISIUM_16];
+    case BFD_RELOC_32:
+      return &visium_elf_howto_table[(int) R_VISIUM_32];
+    case BFD_RELOC_8_PCREL:
+      return &visium_elf_howto_table[(int) R_VISIUM_8_PCREL];
+    case BFD_RELOC_16_PCREL:
+      return &visium_elf_howto_table[(int) R_VISIUM_16_PCREL];
+    case BFD_RELOC_32_PCREL:
+      return &visium_elf_howto_table[(int) R_VISIUM_32_PCREL];
+    case BFD_RELOC_VISIUM_REL16:
+      return &visium_elf_howto_table[(int) R_VISIUM_PC16];
+    case BFD_RELOC_VISIUM_HI16:
+      return &visium_elf_howto_table[(int) R_VISIUM_HI16];
+    case BFD_RELOC_VISIUM_LO16:
+      return &visium_elf_howto_table[(int) R_VISIUM_LO16];
+    case BFD_RELOC_VISIUM_IM16:
+      return &visium_elf_howto_table[(int) R_VISIUM_IM16];
+    case BFD_RELOC_VISIUM_HI16_PCREL:
+      return &visium_elf_howto_table[(int) R_VISIUM_HI16_PCREL];
+    case BFD_RELOC_VISIUM_LO16_PCREL:
+      return &visium_elf_howto_table[(int) R_VISIUM_LO16_PCREL];
+    case BFD_RELOC_VISIUM_IM16_PCREL:
+      return &visium_elf_howto_table[(int) R_VISIUM_IM16_PCREL];
+    case BFD_RELOC_VTABLE_INHERIT:
+      return &visium_elf_vtinherit_howto;
+    case BFD_RELOC_VTABLE_ENTRY:
+      return &visium_elf_vtentry_howto;
+    default:
+      return NULL;
+    }
+}
+
+static reloc_howto_type *
+visium_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, const char *r_name)
+{
+  unsigned int i;
+
+  for (i = 0;
+       i < (sizeof (visium_elf_howto_table)
+	    / sizeof (visium_elf_howto_table[0])); i++)
+    if (visium_elf_howto_table[i].name != NULL
+	&& strcasecmp (visium_elf_howto_table[i].name, r_name) == 0)
+      return &visium_elf_howto_table[i];
+
+  if (strcasecmp (visium_elf_vtinherit_howto.name, r_name) == 0)
+    return &visium_elf_vtinherit_howto;
+  if (strcasecmp (visium_elf_vtentry_howto.name, r_name) == 0)
+    return &visium_elf_vtentry_howto;
+
+  return NULL;
+}
+
+/* Set the howto pointer for a VISIUM ELF reloc.  */
+
+static void
+visium_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
+			   Elf_Internal_Rela *dst)
+{
+  unsigned int r_type = ELF32_R_TYPE (dst->r_info);
+
+  switch (r_type)
+    {
+    case R_VISIUM_GNU_VTINHERIT:
+      cache_ptr->howto = &visium_elf_vtinherit_howto;
+      break;
+
+    case R_VISIUM_GNU_VTENTRY:
+      cache_ptr->howto = &visium_elf_vtentry_howto;
+      break;
+
+    default:
+      if (r_type >= (unsigned int) R_VISIUM_max)
+	{
+	  _bfd_error_handler (_("%A: invalid Visium reloc number: %d"), abfd, r_type);
+	  r_type = 0;
+	}
+      cache_ptr->howto = &visium_elf_howto_table[r_type];
+      break;
+    }
+}
+
+/* Look through the relocs for a section during the first phase.
+   Since we don't do .gots or .plts, we just need to consider the
+   virtual table relocs for gc.  */
+
+static bfd_boolean
+visium_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
+			 asection *sec, const Elf_Internal_Rela *relocs)
+{
+  Elf_Internal_Shdr *symtab_hdr;
+  struct elf_link_hash_entry **sym_hashes;
+  const Elf_Internal_Rela *rel;
+  const Elf_Internal_Rela *rel_end;
+
+  if (info->relocatable)
+    return TRUE;
+
+  symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+  sym_hashes = elf_sym_hashes (abfd);
+
+  rel_end = relocs + sec->reloc_count;
+  for (rel = relocs; rel < rel_end; rel++)
+    {
+      struct elf_link_hash_entry *h;
+      unsigned long r_symndx;
+
+      r_symndx = ELF32_R_SYM (rel->r_info);
+      if (r_symndx < symtab_hdr->sh_info)
+	h = NULL;
+      else
+	{
+	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+	  while (h->root.type == bfd_link_hash_indirect
+		 || h->root.type == bfd_link_hash_warning)
+	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
+	}
+
+      switch (ELF32_R_TYPE (rel->r_info))
+	{
+	  /* This relocation describes the C++ object vtable hierarchy.
+	     Reconstruct it for later use during GC.  */
+	case R_VISIUM_GNU_VTINHERIT:
+	  if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+	    return FALSE;
+	  break;
+
+	  /* This relocation describes which C++ vtable entries are actually
+	     used.  Record for later use during GC.  */
+	case R_VISIUM_GNU_VTENTRY:
+	  if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+	    return FALSE;
+	  break;
+	}
+    }
+
+  return TRUE;
+}
+
+/* Relocate a VISIUM ELF section.  */
+
+static bfd_boolean
+visium_elf_relocate_section (bfd *output_bfd,
+			     struct bfd_link_info *info, bfd *input_bfd,
+			     asection *input_section, bfd_byte *contents,
+			     Elf_Internal_Rela *relocs,
+			     Elf_Internal_Sym *local_syms,
+			     asection **local_sections)
+{
+  Elf_Internal_Shdr *symtab_hdr;
+  struct elf_link_hash_entry **sym_hashes;
+  Elf_Internal_Rela *rel;
+  Elf_Internal_Rela *relend;
+
+  symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
+  sym_hashes = elf_sym_hashes (input_bfd);
+  relend = relocs + input_section->reloc_count;
+
+  for (rel = relocs; rel < relend; rel++)
+    {
+      reloc_howto_type *howto;
+      unsigned long r_symndx;
+      Elf_Internal_Sym *sym;
+      asection *sec;
+      struct elf_link_hash_entry *h;
+      bfd_vma relocation;
+      bfd_reloc_status_type r;
+      const char *name = NULL;
+      int r_type;
+      bfd_vma insn;
+
+      r_type = ELF32_R_TYPE (rel->r_info);
+
+      if (r_type == R_VISIUM_GNU_VTINHERIT || r_type == R_VISIUM_GNU_VTENTRY)
+	continue;
+
+      r_symndx = ELF32_R_SYM (rel->r_info);
+
+      howto = visium_elf_howto_table + ELF32_R_TYPE (rel->r_info);
+      h = NULL;
+      sym = NULL;
+      sec = NULL;
+
+      if (r_symndx < symtab_hdr->sh_info)
+	{
+	  /* This is a local symbol.  */
+	  sym = local_syms + r_symndx;
+	  sec = local_sections[r_symndx];
+	  relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
+
+	  name = bfd_elf_string_from_elf_section
+	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
+	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	}
+      else
+	{
+	  bfd_boolean unresolved_reloc;
+	  bfd_boolean warned, ignored;
+
+	  RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+				   r_symndx, symtab_hdr, sym_hashes,
+				   h, sec, relocation,
+				   unresolved_reloc, warned, ignored);
+
+	  name = h->root.root.string;
+	}
+
+      if (sec != NULL && discarded_section (sec))
+	{
+	  /* For relocs against symbols from removed linkonce sections,
+	     or sections discarded by a linker script, we just want the
+	     section contents zeroed.  Avoid any special processing.  */
+	  _bfd_clear_contents (howto, input_bfd, input_section,
+			       contents + rel->r_offset);
+
+	  rel->r_info = 0;
+	  rel->r_addend = 0;
+	  continue;
+	}
+
+      if (info->relocatable)
+	continue;
+
+      switch (r_type)
+	{
+	case R_VISIUM_PC16:
+	case R_VISIUM_HI16:
+	case R_VISIUM_LO16:
+	case R_VISIUM_IM16:
+	case R_VISIUM_HI16_PCREL:
+	case R_VISIUM_LO16_PCREL:
+	case R_VISIUM_IM16_PCREL:
+	  r = _bfd_final_link_relocate (howto, input_bfd, input_section,
+					contents, rel->r_offset,
+					relocation, rel->r_addend);
+
+	  /* For instruction relocations, the parity needs correcting.  */
+	  if (r == bfd_reloc_ok)
+	    {
+	      insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
+	      insn = (insn & 0x7fffffff) | visium_parity_bit (insn);
+	      bfd_put_32 (input_bfd, insn, contents + rel->r_offset);
+	    }
+	  break;
+
+	default:
+	  r = _bfd_final_link_relocate (howto, input_bfd, input_section,
+					contents, rel->r_offset,
+					relocation, rel->r_addend);
+	  break;
+	}
+
+      if (r != bfd_reloc_ok)
+	{
+	  const char *msg = (const char *) NULL;
+
+	  switch (r)
+	    {
+	    case bfd_reloc_overflow:
+	      r = info->callbacks->reloc_overflow
+		(info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0,
+		 input_bfd, input_section, rel->r_offset);
+	      break;
+
+	    case bfd_reloc_undefined:
+	      r = info->callbacks->undefined_symbol
+		(info, name, input_bfd, input_section, rel->r_offset, TRUE);
+	      break;
+
+	    case bfd_reloc_outofrange:
+	      msg = _("internal error: out of range error");
+	      break;
+
+	    case bfd_reloc_notsupported:
+	      msg = _("internal error: unsupported relocation error");
+	      break;
+
+	    case bfd_reloc_dangerous:
+	      msg = _("internal error: dangerous relocation");
+	      break;
+
+	    default:
+	      msg = _("internal error: unknown error");
+	      break;
+	    }
+
+	  if (msg)
+	    r = info->callbacks->warning
+	      (info, msg, name, input_bfd, input_section, rel->r_offset);
+
+	  if (!r)
+	    return FALSE;
+	}
+    }
+
+  return TRUE;
+}
+
+/* This function is called during section gc to discover the section a
+   to which a particular relocation refers.  Return the section that
+   should be marked against GC for a given relocation.  */
+
+static asection *
+visium_elf_gc_mark_hook (asection *sec, struct bfd_link_info *info,
+			 Elf_Internal_Rela *rel, struct elf_link_hash_entry *h,
+			 Elf_Internal_Sym *sym)
+{
+  if (h != NULL)
+    switch (ELF32_R_TYPE (rel->r_info))
+      {
+      case R_VISIUM_GNU_VTINHERIT:
+      case R_VISIUM_GNU_VTENTRY:
+	return NULL;
+      }
+
+  return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
+}
+
+static void
+visium_elf_post_process_headers (bfd *abfd,
+				 struct bfd_link_info *info ATTRIBUTE_UNUSED)
+{
+  Elf_Internal_Ehdr *i_ehdrp = elf_elfheader (abfd);
+  i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_STANDALONE;
+  i_ehdrp->e_ident[EI_ABIVERSION] = 1;
+}
+
+/* Function to set the ELF flag bits.  */
+
+static bfd_boolean
+visium_elf_set_private_flags (bfd *abfd, flagword flags)
+{
+  elf_elfheader (abfd)->e_flags = flags;
+  elf_flags_init (abfd) = TRUE;
+  return TRUE;
+}
+
+/* Copy backend specific data from one object module to another.  */
+
+static bfd_boolean
+visium_elf_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
+{
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
+      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+    return TRUE;
+
+  BFD_ASSERT (!elf_flags_init (obfd)
+	      || elf_elfheader (obfd)->e_flags ==
+	      elf_elfheader (ibfd)->e_flags);
+
+  elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
+  elf_flags_init (obfd) = TRUE;
+
+  /* Copy object attributes.  */
+  _bfd_elf_copy_obj_attributes (ibfd, obfd);
+
+  return TRUE;
+}
+
+/* Merge backend specific data from an object
+   file to the output object file when linking.  */
+
+static bfd_boolean
+visium_elf_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
+{
+  flagword old_flags;
+  flagword new_flags;
+  flagword mismatch;
+  const char *opt_arch = NULL;
+  const char *new_opt_with = NULL;
+  const char *old_opt_with = NULL;
+  const char *with = "with";
+  const char *without = "without";
+  const char *mcm = "mcm";
+  const char *mcm24 = "mcm24";
+  const char *gr6 = "gr6";
+
+  new_flags = elf_elfheader (ibfd)->e_flags;
+  old_flags = elf_elfheader (obfd)->e_flags;
+
+  if (!elf_flags_init (obfd))
+    {
+      /* First call, no flags set.  */
+      elf_flags_init (obfd) = TRUE;
+      elf_elfheader (obfd)->e_flags = new_flags;
+    }
+  else
+    {
+      mismatch = (new_flags ^ old_flags)
+	& (EF_VISIUM_ARCH_MCM | EF_VISIUM_ARCH_MCM24 | EF_VISIUM_ARCH_GR6);
+      if (mismatch & EF_VISIUM_ARCH_GR6)
+	{
+	  opt_arch = gr6;
+	  new_opt_with = new_flags & EF_VISIUM_ARCH_GR6 ? with : without;
+	  old_opt_with = old_flags & EF_VISIUM_ARCH_GR6 ? with : without;
+	}
+      else if (mismatch & EF_VISIUM_ARCH_MCM)
+	{
+	  opt_arch = mcm;
+	  new_opt_with = new_flags & EF_VISIUM_ARCH_MCM ? with : without;
+	  old_opt_with = old_flags & EF_VISIUM_ARCH_MCM ? with : without;
+	}
+      else if (mismatch & EF_VISIUM_ARCH_MCM24)
+	{
+	  opt_arch = mcm24;
+	  new_opt_with = new_flags & EF_VISIUM_ARCH_MCM24 ? with : without;
+	  old_opt_with = old_flags & EF_VISIUM_ARCH_MCM24 ? with : without;
+	}
+
+      if (mismatch)
+	_bfd_error_handler
+	  (_
+	   ("%s: compiled %s -mtune=%s and linked with modules"
+	    " compiled %s -mtune=%s"),
+	   bfd_get_filename (ibfd), new_opt_with, opt_arch, old_opt_with,
+	   opt_arch);
+    }
+
+  return TRUE;
+}
+
+static bfd_boolean
+visium_elf_print_private_bfd_data (bfd *abfd, void *ptr)
+{
+  FILE *file = (FILE *) ptr;
+  flagword flags;
+
+  BFD_ASSERT (abfd != NULL && ptr != NULL);
+
+  /* Print normal ELF private data.  */
+  _bfd_elf_print_private_bfd_data (abfd, ptr);
+
+  flags = elf_elfheader (abfd)->e_flags;
+  fprintf (file, _("private flags = 0x%lx:"), (long) flags);
+
+  if (flags & EF_VISIUM_ARCH_GR6)
+    fprintf (file, " -mtune=gr6");
+  else if (flags & EF_VISIUM_ARCH_MCM)
+    fprintf (file, " -mtune=mcm");
+  else if (flags & EF_VISIUM_ARCH_MCM24)
+    fprintf (file, " -mtune=mcm24");
+
+  fputc ('\n', file);
+  return TRUE;
+}
+
+#define ELF_ARCH		bfd_arch_visium
+#define ELF_MACHINE_CODE	EM_VISIUM
+#define ELF_MAXPAGESIZE		1
+
+#define TARGET_BIG_SYM		visium_elf32_vec
+#define TARGET_BIG_NAME		"elf32-visium"
+
+#define elf_info_to_howto_rel			NULL
+#define elf_info_to_howto			visium_info_to_howto_rela
+#define elf_backend_relocate_section		visium_elf_relocate_section
+#define elf_backend_gc_mark_hook		visium_elf_gc_mark_hook
+#define elf_backend_check_relocs		visium_elf_check_relocs
+#define elf_backend_rela_normal			1
+
+#define elf_backend_can_gc_sections		1
+
+#define bfd_elf32_bfd_reloc_type_lookup		visium_reloc_type_lookup
+#define bfd_elf32_bfd_reloc_name_lookup		visium_reloc_name_lookup
+
+#define bfd_elf32_bfd_set_private_flags		visium_elf_set_private_flags
+#define bfd_elf32_bfd_copy_private_bfd_data	visium_elf_copy_private_bfd_data
+#define bfd_elf32_bfd_merge_private_bfd_data	visium_elf_merge_private_bfd_data
+#define bfd_elf32_bfd_print_private_bfd_data	visium_elf_print_private_bfd_data
+#define elf_backend_post_process_headers	visium_elf_post_process_headers
+
+#include "elf32-target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xc16x.c ./bfd/elf32-xc16x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xc16x.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-xc16x.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Infineon XC16X-specific support for 16-bit ELF.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xgate.c ./bfd/elf32-xgate.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xgate.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-xgate.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Freescale XGATE-specific support for 32-bit ELF
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Sean Keys(skeys@ipdatasys.com)
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -422,24 +422,28 @@ xgate_info_to_howto_rel (bfd *abfd ATTRI
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  BFD_ASSERT(r_type < (unsigned int) R_XGATE_max);
+  if (r_type >= (unsigned int) R_XGATE_max)
+    {
+      _bfd_error_handler (_("%A: invalid XGate reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_xgate_howto_table[r_type];
 }
 
-/* Free the derived linker hash table.  */
+/* Destroy an XGATE ELF linker hash table.  */
 
-void
-xgate_elf_bfd_link_hash_table_free (struct bfd_link_hash_table *hash)
+static void
+xgate_elf_bfd_link_hash_table_free (bfd *obfd)
 {
   struct xgate_elf_link_hash_table *ret =
-      (struct xgate_elf_link_hash_table *) hash;
+      (struct xgate_elf_link_hash_table *) obfd->link.hash;
 
   bfd_hash_table_free (ret->stub_hash_table);
   free (ret->stub_hash_table);
-  _bfd_elf_link_hash_table_free (hash);
+  _bfd_elf_link_hash_table_free (obfd);
 }
 
-/* Create a XGATE ELF linker hash table.  */
+/* Create an XGATE ELF linker hash table.  */
 
 static struct bfd_link_hash_table*
 xgate_elf_bfd_link_hash_table_create (bfd *abfd)
@@ -464,7 +468,7 @@ xgate_elf_bfd_link_hash_table_create (bf
   ret->stub_hash_table = (struct bfd_hash_table*) bfd_zmalloc (amt);
   if (ret->stub_hash_table == NULL)
     {
-      free (ret);
+      _bfd_elf_link_hash_table_free (abfd);
       return NULL;
     }
 
@@ -472,9 +476,10 @@ xgate_elf_bfd_link_hash_table_create (bf
       sizeof(struct elf32_xgate_stub_hash_entry)))
     {
       free (ret->stub_hash_table);
-      free (ret);
+      _bfd_elf_link_hash_table_free (abfd);
       return NULL;
     }
+  ret->root.root.hash_table_free = xgate_elf_bfd_link_hash_table_free;
 
   return &ret->root.root;
 }
@@ -717,7 +722,6 @@ elf32_xgate_post_process_headers (bfd *a
 #define elf_backend_add_symbol_hook          elf32_xgate_add_symbol_hook
 
 #define bfd_elf32_bfd_link_hash_table_create xgate_elf_bfd_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free   xgate_elf_bfd_link_hash_table_free
 #define bfd_elf32_bfd_merge_private_bfd_data _bfd_xgate_elf_merge_private_bfd_data
 #define bfd_elf32_bfd_set_private_flags      _bfd_xgate_elf_set_private_flags
 #define bfd_elf32_bfd_print_private_bfd_data _bfd_xgate_elf_print_private_bfd_data
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xgate.h ./bfd/elf32-xgate.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xgate.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-xgate.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Freescale XGATE-specific support for 32-bit ELF
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    Contributed by Sean Keys (skeys@ipdatasys.com)
    (Heavily copied from the HC11 port by Stephane Carrez (stcarrez@nerim.fr))
@@ -100,7 +100,6 @@ struct xgate_elf_link_hash_table
 
 extern struct xgate_elf_link_hash_table* xgate_elf_hash_table_create
   (bfd *);
-extern void xgate_elf_bfd_link_hash_table_free (struct bfd_link_hash_table *);
 
 extern void xgate_elf_get_bank_parameters (struct bfd_link_info *);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xstormy16.c ./bfd/elf32-xstormy16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xstormy16.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-xstormy16.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Xstormy16-specific support for 32-bit ELF.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -610,7 +610,7 @@ xstormy16_elf_relax_section (bfd *dynobj
 
   /* Likewise for local symbols, though that's somewhat less convenient
      as we have to walk the list of input bfds and swap in symbol data.  */
-  for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
     {
       bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
       Elf_Internal_Shdr *symtab_hdr;
@@ -684,7 +684,7 @@ xstormy16_elf_relax_section (bfd *dynobj
       elf_link_hash_traverse (elf_hash_table (info),
 			      xstormy16_relax_plt_realloc, &entry);
 
-      for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
+      for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
 	{
 	  bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
 	  unsigned int nlocals = elf_tdata (ibfd)->symtab_hdr.sh_info;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xtensa.c ./bfd/elf32-xtensa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf32-xtensa.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf32-xtensa.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Xtensa-specific support for 32-bit ELF.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -479,7 +479,11 @@ elf_xtensa_info_to_howto_rela (bfd *abfd
 {
   unsigned int r_type = ELF32_R_TYPE (dst->r_info);
 
-  BFD_ASSERT (r_type < (unsigned int) R_XTENSA_max);
+  if (r_type >= (unsigned int) R_XTENSA_max)
+    {
+      _bfd_error_handler (_("%A: invalid XTENSA reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_howto_table[r_type];
 }
 
@@ -1561,7 +1565,7 @@ elf_xtensa_allocate_local_got_size (stru
   if (htab == NULL)
     return;
 
-  for (i = info->input_bfds; i; i = i->link_next)
+  for (i = info->input_bfds; i; i = i->link.next)
     {
       bfd_signed_vma *local_got_refcounts;
       bfd_size_type j, cnt;
@@ -1700,7 +1704,7 @@ elf_xtensa_size_dynamic_sections (bfd *o
 	 literal tables.  */
       sgotloc = htab->sgotloc;
       sgotloc->size = spltlittbl->size;
-      for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link_next)
+      for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link.next)
 	{
 	  if (abfd->flags & DYNAMIC)
 	    continue;
@@ -6746,14 +6750,14 @@ analyze_relocations (struct bfd_link_inf
   bfd_boolean is_relaxable = FALSE;
 
   /* Initialize the per-section relaxation info.  */
-  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
+  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
     for (sec = abfd->sections; sec != NULL; sec = sec->next)
       {
 	init_xtensa_relax_info (sec);
       }
 
   /* Mark relaxable sections (and count relocations against each one).  */
-  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
+  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
     for (sec = abfd->sections; sec != NULL; sec = sec->next)
       {
 	if (!find_relaxable_sections (abfd, sec, link_info, &is_relaxable))
@@ -6765,7 +6769,7 @@ analyze_relocations (struct bfd_link_inf
     return TRUE;
 
   /* Allocate space for source_relocs.  */
-  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
+  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
     for (sec = abfd->sections; sec != NULL; sec = sec->next)
       {
 	xtensa_relax_info *relax_info;
@@ -6782,7 +6786,7 @@ analyze_relocations (struct bfd_link_inf
       }
 
   /* Collect info on relocations against each relaxable section.  */
-  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
+  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
     for (sec = abfd->sections; sec != NULL; sec = sec->next)
       {
 	if (!collect_source_relocs (abfd, sec, link_info))
@@ -6790,7 +6794,7 @@ analyze_relocations (struct bfd_link_inf
       }
 
   /* Compute the text actions.  */
-  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
+  for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
     for (sec = abfd->sections; sec != NULL; sec = sec->next)
       {
 	if (!compute_text_actions (abfd, sec, link_info))
@@ -7124,10 +7128,43 @@ is_resolvable_asm_expansion (bfd *abfd,
 	  || is_reloc_sym_weak (abfd, irel)))
     return FALSE;
 
-  self_address = (sec->output_section->vma
-		  + sec->output_offset + irel->r_offset + 3);
-  dest_address = (target_sec->output_section->vma
-		  + target_sec->output_offset + target_offset);
+  if (target_sec->output_section != sec->output_section)
+    {
+      /* If the two sections are sufficiently far away that relaxation
+	 might take the call out of range, we can't simplify.  For
+	 example, a positive displacement call into another memory
+	 could get moved to a lower address due to literal removal,
+	 but the destination won't move, and so the displacment might
+	 get larger.
+
+	 If the displacement is negative, assume the destination could
+	 move as far back as the start of the output section.  The
+	 self_address will be at least as far into the output section
+	 as it is prior to relaxation.
+
+	 If the displacement is postive, assume the destination will be in
+	 it's pre-relaxed location (because relaxation only makes sections
+	 smaller).  The self_address could go all the way to the beginning
+	 of the output section.  */
+
+      dest_address = target_sec->output_section->vma;
+      self_address = sec->output_section->vma;
+
+      if (sec->output_section->vma > target_sec->output_section->vma)
+	self_address += sec->output_offset + irel->r_offset + 3;
+      else
+	dest_address += bfd_get_section_limit (abfd, target_sec->output_section);
+      /* Call targets should be four-byte aligned.  */
+      dest_address = (dest_address + 3) & ~3;
+    }
+  else
+    {
+
+      self_address = (sec->output_section->vma
+		      + sec->output_offset + irel->r_offset + 3);
+      dest_address = (target_sec->output_section->vma
+		      + target_sec->output_offset + target_offset);
+    }
 
   *is_reachable_p = pcrel_reloc_fits (direct_call_opcode, 0,
 				      self_address, dest_address);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-alpha.c ./bfd/elf64-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-alpha.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-alpha.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Alpha specific support for 64-bit ELF
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Richard Henderson <rth@tamu.edu>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1442,17 +1442,19 @@ elf64_alpha_is_local_label_name (bfd *ab
 }
 
 static bfd_boolean
-elf64_alpha_find_nearest_line (bfd *abfd, asection *section, asymbol **symbols,
-			       bfd_vma offset, const char **filename_ptr,
+elf64_alpha_find_nearest_line (bfd *abfd, asymbol **symbols,
+			       asection *section, bfd_vma offset,
+			       const char **filename_ptr,
 			       const char **functionname_ptr,
-			       unsigned int *line_ptr)
+			       unsigned int *line_ptr,
+			       unsigned int *discriminator_ptr)
 {
   asection *msec;
 
-  if (_bfd_dwarf2_find_nearest_line (abfd, dwarf_debug_sections,
-                                     section, symbols, offset,
+  if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
 				     filename_ptr, functionname_ptr,
-				     line_ptr, NULL, 0,
+				     line_ptr, discriminator_ptr,
+				     dwarf_debug_sections, 0,
 				     &elf_tdata (abfd)->dwarf2_find_line_info))
     return TRUE;
 
@@ -1532,9 +1534,9 @@ elf64_alpha_find_nearest_line (bfd *abfd
 
   /* Fall back on the generic ELF find_nearest_line routine.  */
 
-  return _bfd_elf_find_nearest_line (abfd, section, symbols, offset,
+  return _bfd_elf_find_nearest_line (abfd, symbols, section, offset,
 				     filename_ptr, functionname_ptr,
-				     line_ptr);
+				     line_ptr, discriminator_ptr);
 }
 
 /* Structure used to pass information to alpha_elf_output_extsym.  */
@@ -2481,7 +2483,7 @@ elf64_alpha_size_got_sections (struct bf
      consisting of all of the input files.  */
   if (got_list == NULL)
     {
-      for (i = info->input_bfds; i ; i = i->link_next)
+      for (i = info->input_bfds; i ; i = i->link.next)
 	{
 	  bfd *this_got;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64.c ./bfd/elf64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF 64-bit executable support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-gen.c ./bfd/elf64-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-gen.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-gen.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic support for 64-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-hppa.c ./bfd/elf64-hppa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-hppa.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-hppa.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for HPPA 64-bit ELF
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -1580,7 +1580,7 @@ elf64_hppa_size_dynamic_sections (bfd *o
 
   /* Set up DLT, PLT and OPD offsets for local syms, and space for local
      dynamic relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_dlt;
       bfd_signed_vma *end_local_dlt;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-hppa.h ./bfd/elf64-hppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-hppa.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-hppa.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 /* ELF64/HPPA support
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-ia64-vms.c ./bfd/elf64-ia64-vms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-ia64-vms.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-ia64-vms.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IA-64 support for OpenVMS
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -975,40 +975,6 @@ elf64_ia64_local_htab_eq (const void *pt
   return entry1->id == entry2->id && entry1->r_sym == entry2->r_sym;
 }
 
-/* Create the derived linker hash table.  The IA-64 ELF port uses this
-   derived hash table to keep information specific to the IA-64 ElF
-   linker (without using static variables).  */
-
-static struct bfd_link_hash_table *
-elf64_ia64_hash_table_create (bfd *abfd)
-{
-  struct elf64_ia64_link_hash_table *ret;
-
-  ret = bfd_zmalloc ((bfd_size_type) sizeof (*ret));
-  if (!ret)
-    return NULL;
-
-  if (!_bfd_elf_link_hash_table_init (&ret->root, abfd,
-				      elf64_ia64_new_elf_hash_entry,
-				      sizeof (struct elf64_ia64_link_hash_entry),
-				      IA64_ELF_DATA))
-    {
-      free (ret);
-      return NULL;
-    }
-
-  ret->loc_hash_table = htab_try_create (1024, elf64_ia64_local_htab_hash,
-					 elf64_ia64_local_htab_eq, NULL);
-  ret->loc_hash_memory = objalloc_create ();
-  if (!ret->loc_hash_table || !ret->loc_hash_memory)
-    {
-      free (ret);
-      return NULL;
-    }
-
-  return &ret->root.root;
-}
-
 /* Free the global elf64_ia64_dyn_sym_info array.  */
 
 static bfd_boolean
@@ -1057,10 +1023,10 @@ elf64_ia64_local_dyn_info_free (void **s
 /* Destroy IA-64 linker hash table.  */
 
 static void
-elf64_ia64_hash_table_free (struct bfd_link_hash_table *hash)
+elf64_ia64_link_hash_table_free (bfd *obfd)
 {
   struct elf64_ia64_link_hash_table *ia64_info
-    = (struct elf64_ia64_link_hash_table *) hash;
+    = (struct elf64_ia64_link_hash_table *) obfd->link.hash;
   if (ia64_info->loc_hash_table)
     {
       htab_traverse (ia64_info->loc_hash_table,
@@ -1071,7 +1037,42 @@ elf64_ia64_hash_table_free (struct bfd_l
     objalloc_free ((struct objalloc *) ia64_info->loc_hash_memory);
   elf_link_hash_traverse (&ia64_info->root,
 			  elf64_ia64_global_dyn_info_free, NULL);
-  _bfd_elf_link_hash_table_free (hash);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
+/* Create the derived linker hash table.  The IA-64 ELF port uses this
+   derived hash table to keep information specific to the IA-64 ElF
+   linker (without using static variables).  */
+
+static struct bfd_link_hash_table *
+elf64_ia64_hash_table_create (bfd *abfd)
+{
+  struct elf64_ia64_link_hash_table *ret;
+
+  ret = bfd_zmalloc ((bfd_size_type) sizeof (*ret));
+  if (!ret)
+    return NULL;
+
+  if (!_bfd_elf_link_hash_table_init (&ret->root, abfd,
+				      elf64_ia64_new_elf_hash_entry,
+				      sizeof (struct elf64_ia64_link_hash_entry),
+				      IA64_ELF_DATA))
+    {
+      free (ret);
+      return NULL;
+    }
+
+  ret->loc_hash_table = htab_try_create (1024, elf64_ia64_local_htab_hash,
+					 elf64_ia64_local_htab_eq, NULL);
+  ret->loc_hash_memory = objalloc_create ();
+  if (!ret->loc_hash_table || !ret->loc_hash_memory)
+    {
+      elf64_ia64_link_hash_table_free (abfd);
+      return NULL;
+    }
+  ret->root.root.hash_table_free = elf64_ia64_link_hash_table_free;
+
+  return &ret->root.root;
 }
 
 /* Traverse both local and global hash tables.  */
@@ -2818,7 +2819,7 @@ elf64_ia64_size_dynamic_sections (bfd *o
         return FALSE;
 
       /* Add entries for shared libraries.  */
-      for (abfd = info->input_bfds; abfd; abfd = abfd->link_next)
+      for (abfd = info->input_bfds; abfd; abfd = abfd->link.next)
         {
           char *soname;
           size_t soname_len;
@@ -5458,8 +5459,6 @@ static const struct elf_size_info elf64_
 /* Stuff for the BFD linker: */
 #define bfd_elf64_bfd_link_hash_table_create \
 	elf64_ia64_hash_table_create
-#define bfd_elf64_bfd_link_hash_table_free \
-	elf64_ia64_hash_table_free
 #define elf_backend_create_dynamic_sections \
 	elf64_ia64_create_dynamic_sections
 #define elf_backend_check_relocs \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-mips.c ./bfd/elf64-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-mips.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-mips.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* MIPS-specific support for 64-bit ELF
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Ian Lance Taylor, Cygnus Support
    Linker support added by Mark Mitchell, CodeSourcery, LLC.
    <mark@codesourcery.com>
@@ -805,6 +805,100 @@ static reloc_howto_type mips_elf64_howto
 	 0x0,			/* src_mask */
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (52),
+  EMPTY_HOWTO (53),
+  EMPTY_HOWTO (54),
+  EMPTY_HOWTO (55),
+  EMPTY_HOWTO (56),
+  EMPTY_HOWTO (57),
+  EMPTY_HOWTO (58),
+  EMPTY_HOWTO (59),
+
+  HOWTO (R_MIPS_PC21_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 21,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC21_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x001fffff,		/* src_mask */
+	 0x001fffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC26_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 26,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC26_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x03ffffff,		/* src_mask */
+	 0x03ffffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC18_S3,	/* type */
+	 3,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 18,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC18_S3",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0003ffff,		/* src_mask */
+	 0x0003ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC19_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 19,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC19_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0007ffff,		/* src_mask */
+	 0x0007ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCHI16,		/* type */
+	 16,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCHI16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCLO16,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCLO16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
 };
 
 /* The relocation table used for SHT_RELA sections.  */
@@ -1492,6 +1586,100 @@ static reloc_howto_type mips_elf64_howto
 	 0x0,			/* src_mask */
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (52),
+  EMPTY_HOWTO (53),
+  EMPTY_HOWTO (54),
+  EMPTY_HOWTO (55),
+  EMPTY_HOWTO (56),
+  EMPTY_HOWTO (57),
+  EMPTY_HOWTO (58),
+  EMPTY_HOWTO (59),
+
+  HOWTO (R_MIPS_PC21_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 21,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC21_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x001fffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC26_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 26,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC26_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x03ffffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC18_S3,	/* type */
+	 3,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 18,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC18_S3",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0003ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC19_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 19,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC19_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0007ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCHI16,		/* type */
+	 16,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCHI16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCLO16,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCLO16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
 };
 
 static reloc_howto_type mips16_elf64_howto_table_rel[] =
@@ -3202,7 +3390,13 @@ static const struct elf_reloc_map mips_r
   { BFD_RELOC_MIPS_TLS_TPREL32, R_MIPS_TLS_TPREL32 },
   { BFD_RELOC_MIPS_TLS_TPREL64, R_MIPS_TLS_TPREL64 },
   { BFD_RELOC_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_HI16 },
-  { BFD_RELOC_MIPS_TLS_TPREL_LO16, R_MIPS_TLS_TPREL_LO16 }
+  { BFD_RELOC_MIPS_TLS_TPREL_LO16, R_MIPS_TLS_TPREL_LO16 },
+  { BFD_RELOC_MIPS_21_PCREL_S2, R_MIPS_PC21_S2 },
+  { BFD_RELOC_MIPS_26_PCREL_S2, R_MIPS_PC26_S2 },
+  { BFD_RELOC_MIPS_18_PCREL_S3, R_MIPS_PC18_S3 },
+  { BFD_RELOC_MIPS_19_PCREL_S2, R_MIPS_PC19_S2 },
+  { BFD_RELOC_HI16_S_PCREL, R_MIPS_PCHI16 },
+  { BFD_RELOC_LO16_PCREL, R_MIPS_PCLO16 }
 };
 
 static const struct elf_reloc_map mips16_reloc_map[] =
@@ -4185,6 +4379,8 @@ const struct elf_size_info mips_elf64_si
 #define elf_backend_collect		TRUE
 #define elf_backend_type_change_ok	TRUE
 #define elf_backend_can_gc_sections	TRUE
+#define elf_backend_gc_mark_extra_sections \
+					_bfd_mips_elf_gc_mark_extra_sections
 #define elf_info_to_howto		mips_elf64_info_to_howto_rela
 #define elf_info_to_howto_rel		mips_elf64_info_to_howto_rel
 #define elf_backend_object_p		mips_elf64_object_p
@@ -4248,6 +4444,7 @@ const struct elf_size_info mips_elf64_si
 #define elf_backend_sign_extend_vma	TRUE
 
 #define elf_backend_write_section	_bfd_mips_elf_write_section
+#define elf_backend_sort_relocs_p	_bfd_mips_elf_sort_relocs_p
 
 /* We don't set bfd_elf64_bfd_is_local_label_name because the 32-bit
    MIPS-specific function only applies to IRIX5, which had no 64-bit
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-mmix.c ./bfd/elf64-mmix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-mmix.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-mmix.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* MMIX-specific support for 64-bit ELF.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Contributed by Hans-Peter Nilsson <hp@bitrange.com>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1259,7 +1259,11 @@ mmix_info_to_howto_rela (bfd *abfd ATTRI
   unsigned int r_type;
 
   r_type = ELF64_R_TYPE (dst->r_info);
-  BFD_ASSERT (r_type < (unsigned int) R_MMIX_max);
+  if (r_type >= (unsigned int) R_MMIX_max)
+    {
+      _bfd_error_handler (_("%A: invalid MMIX reloc number: %d"), abfd, r_type);
+      r_type = 0;
+    }
   cache_ptr->howto = &elf_mmix_howto_table[r_type];
 }
 
@@ -2322,7 +2326,7 @@ _bfd_mmix_before_linker_allocation (bfd 
   bfd *ibfd;
 
   /* Set the initial size of sections.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     bfd_map_over_sections (ibfd, mmix_set_relaxable_size, info);
 
   /* The bpo_greg_owner bfd is supposed to have been set by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-ppc.c ./bfd/elf64-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-ppc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-ppc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* PowerPC64-specific support for 64-bit ELF.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Linus Nordberg, Swox AB <info@swox.com>,
    based on elf32-ppc.c by Ian Lance Taylor.
    Largely rewritten by Alan Modra.
@@ -64,7 +64,7 @@ static bfd_vma opd_entry_value
 #define ELF_TARGET_ID		PPC64_ELF_DATA
 #define ELF_MACHINE_CODE	EM_PPC64
 #define ELF_MAXPAGESIZE		0x10000
-#define ELF_COMMONPAGESIZE	0x1000
+#define ELF_COMMONPAGESIZE	0x10000
 #define elf_info_to_howto	ppc64_elf_info_to_howto
 
 #define elf_backend_want_got_sym 0
@@ -84,7 +84,6 @@ static bfd_vma opd_entry_value
 #define bfd_elf64_bfd_print_private_bfd_data  ppc64_elf_print_private_bfd_data
 #define bfd_elf64_new_section_hook	      ppc64_elf_new_section_hook
 #define bfd_elf64_bfd_link_hash_table_create  ppc64_elf_link_hash_table_create
-#define bfd_elf64_bfd_link_hash_table_free    ppc64_elf_link_hash_table_free
 #define bfd_elf64_get_synthetic_symtab	      ppc64_elf_get_synthetic_symtab
 #define bfd_elf64_bfd_link_just_syms	      ppc64_elf_link_just_syms
 
@@ -236,6 +235,19 @@ static bfd_vma opd_entry_value
 #ifndef NO_OPD_RELOCS
 #define NO_OPD_RELOCS 0
 #endif
+
+static inline int
+abiversion (bfd *abfd)
+{
+  return elf_elfheader (abfd)->e_flags & EF_PPC64_ABI;
+}
+
+static inline void
+set_abiversion (bfd *abfd, int ver)
+{
+  elf_elfheader (abfd)->e_flags &= ~EF_PPC64_ABI;
+  elf_elfheader (abfd)->e_flags |= ver & EF_PPC64_ABI;
+}
 
 #define ONES(n) (((bfd_vma) 1 << ((n) - 1) << 1) - 1)
 
@@ -2488,6 +2500,29 @@ ppc64_elf_branch_reloc (bfd *abfd, arele
 				      + symbol->section->output_section->vma
 				      + symbol->section->output_offset);
     }
+  else
+    {
+      elf_symbol_type *elfsym = (elf_symbol_type *) symbol;
+
+      if (symbol->section->owner != abfd
+	  && abiversion (symbol->section->owner) >= 2)
+	{
+	  unsigned int i;
+
+	  for (i = 0; i < symbol->section->owner->symcount; ++i)
+	    {
+	      asymbol *symdef = symbol->section->owner->outsymbols[i];
+
+	      if (strcmp (symdef->name, symbol->name) == 0)
+		{
+		  elfsym = (elf_symbol_type *) symdef;
+		  break;
+		}
+	    }
+	}
+      reloc_entry->addend
+	+= PPC64_LOCAL_ENTRY_OFFSET (elfsym->internal_elf_sym.st_other);
+    }
   return bfd_reloc_continue;
 }
 
@@ -2919,7 +2954,9 @@ struct _ppc64_elf_section_data
 
   union
   {
-    /* An array with one entry for each opd function descriptor.  */
+    /* An array with one entry for each opd function descriptor,
+       and some spares since opd entries may be either 16 or 24 bytes.  */
+#define OPD_NDX(OFF) ((OFF) >> 4)
     struct _opd_sec_data
     {
       /* Points to the function code section for local opd entries.  */
@@ -2976,19 +3013,6 @@ get_opd_info (asection * sec)
     return &ppc64_elf_section_data (sec)->u.opd;
   return NULL;
 }
-
-static inline int
-abiversion (bfd *abfd)
-{
-  return elf_elfheader (abfd)->e_flags & EF_PPC64_ABI;
-}
-
-static inline void
-set_abiversion (bfd *abfd, int ver)
-{
-  elf_elfheader (abfd)->e_flags &= ~EF_PPC64_ABI;
-  elf_elfheader (abfd)->e_flags |= ver & EF_PPC64_ABI;
-}
 
 /* Parameters for the qsort hook.  */
 static bfd_boolean synthetic_relocatable;
@@ -3763,7 +3787,8 @@ enum ppc_stub_type {
   ppc_stub_plt_branch,
   ppc_stub_plt_branch_r2off,
   ppc_stub_plt_call,
-  ppc_stub_plt_call_r2save
+  ppc_stub_plt_call_r2save,
+  ppc_stub_global_entry
 };
 
 struct ppc_stub_hash_entry {
@@ -3937,7 +3962,7 @@ struct ppc_link_hash_table
   bfd_size_type got_reli_size;
 
   /* Statistics.  */
-  unsigned long stub_count[ppc_stub_plt_call_r2save];
+  unsigned long stub_count[ppc_stub_global_entry];
 
   /* Number of stubs against global syms.  */
   unsigned long stub_globals;
@@ -4142,6 +4167,21 @@ tocsave_htab_eq (const void *p1, const v
   return e1->sec == e2->sec && e1->offset == e2->offset;
 }
 
+/* Destroy a ppc64 ELF linker hash table.  */
+
+static void
+ppc64_elf_link_hash_table_free (bfd *obfd)
+{
+  struct ppc_link_hash_table *htab;
+
+  htab = (struct ppc_link_hash_table *) obfd->link.hash;
+  if (htab->tocsave_htab)
+    htab_delete (htab->tocsave_htab);
+  bfd_hash_table_free (&htab->branch_hash_table);
+  bfd_hash_table_free (&htab->stub_hash_table);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create a ppc64 ELF linker hash table.  */
 
 static struct bfd_link_hash_table *
@@ -4166,7 +4206,7 @@ ppc64_elf_link_hash_table_create (bfd *a
   if (!bfd_hash_table_init (&htab->stub_hash_table, stub_hash_newfunc,
 			    sizeof (struct ppc_stub_hash_entry)))
     {
-      _bfd_elf_link_hash_table_free ((struct bfd_link_hash_table *) htab);
+      _bfd_elf_link_hash_table_free (abfd);
       return NULL;
     }
 
@@ -4175,7 +4215,7 @@ ppc64_elf_link_hash_table_create (bfd *a
 			    sizeof (struct ppc_branch_hash_entry)))
     {
       bfd_hash_table_free (&htab->stub_hash_table);
-      _bfd_elf_link_hash_table_free ((struct bfd_link_hash_table *) htab);
+      _bfd_elf_link_hash_table_free (abfd);
       return NULL;
     }
 
@@ -4185,11 +4225,10 @@ ppc64_elf_link_hash_table_create (bfd *a
 					NULL);
   if (htab->tocsave_htab == NULL)
     {
-      bfd_hash_table_free (&htab->branch_hash_table);
-      bfd_hash_table_free (&htab->stub_hash_table);
-      _bfd_elf_link_hash_table_free ((struct bfd_link_hash_table *) htab);
+      ppc64_elf_link_hash_table_free (abfd);
       return NULL;
     }
+  htab->elf.root.hash_table_free = ppc64_elf_link_hash_table_free;
 
   /* Initializing two fields of the union is just cosmetic.  We really
      only care about glist, but when compiled on a 32-bit host the
@@ -4207,20 +4246,6 @@ ppc64_elf_link_hash_table_create (bfd *a
   return &htab->elf.root;
 }
 
-/* Free the derived linker hash table.  */
-
-static void
-ppc64_elf_link_hash_table_free (struct bfd_link_hash_table *hash)
-{
-  struct ppc_link_hash_table *htab = (struct ppc_link_hash_table *) hash;
-
-  bfd_hash_table_free (&htab->stub_hash_table);
-  bfd_hash_table_free (&htab->branch_hash_table);
-  if (htab->tocsave_htab)
-    htab_delete (htab->tocsave_htab);
-  _bfd_elf_link_hash_table_free (hash);
-}
-
 /* Create sections for linker generated code.  */
 
 static bfd_boolean
@@ -4782,22 +4807,35 @@ ppc64_elf_add_symbol_hook (bfd *ibfd,
 			   const char **name,
 			   flagword *flags ATTRIBUTE_UNUSED,
 			   asection **sec,
-			   bfd_vma *value ATTRIBUTE_UNUSED)
+			   bfd_vma *value)
 {
-  if ((ibfd->flags & DYNAMIC) == 0
-      && ELF_ST_BIND (isym->st_info) == STB_GNU_UNIQUE)
+  if ((ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (isym->st_info) == STB_GNU_UNIQUE)
+      && (ibfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
 
-  if (ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC)
+  if (*sec != NULL
+      && strcmp ((*sec)->name, ".opd") == 0)
     {
-      if ((ibfd->flags & DYNAMIC) == 0)
-	elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
+      asection *code_sec;
+
+      if (!(ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC
+	    || ELF_ST_TYPE (isym->st_info) == STT_FUNC))
+	isym->st_info = ELF_ST_INFO (ELF_ST_BIND (isym->st_info), STT_FUNC);
+
+      /* If the symbol is a function defined in .opd, and the function
+	 code is in a discarded group, let it appear to be undefined.  */
+      if (!info->relocatable
+	  && (*sec)->reloc_count != 0
+	  && opd_entry_value (*sec, *value, &code_sec, NULL,
+			      FALSE) != (bfd_vma) -1
+	  && discarded_section (code_sec))
+	{
+	  *sec = bfd_und_section_ptr;
+	  isym->st_shndx = SHN_UNDEF;
+	}
     }
-  else if (ELF_ST_TYPE (isym->st_info) == STT_FUNC)
-    ;
-  else if (*sec != NULL
-	   && strcmp ((*sec)->name, ".opd") == 0)
-    isym->st_info = ELF_ST_INFO (ELF_ST_BIND (isym->st_info), STT_FUNC);
 
   if ((STO_PPC64_LOCAL_MASK & isym->st_other) != 0)
     {
@@ -4939,81 +4977,77 @@ ppc64_elf_before_check_relocs (bfd *ibfd
 {
   struct ppc_link_hash_table *htab;
   struct ppc_link_hash_entry **p, *eh;
+  asection *opd = bfd_get_section_by_name (ibfd, ".opd");
 
-  if (!is_ppc64_elf (info->output_bfd))
-    return TRUE;
-  htab = ppc_hash_table (info);
-  if (htab == NULL)
-    return FALSE;
-
-  if (is_ppc64_elf (ibfd))
+  if (opd != NULL && opd->size != 0)
     {
-      asection *opd = bfd_get_section_by_name (ibfd, ".opd");
-
-      if (opd != NULL && opd->size != 0)
+      if (abiversion (ibfd) == 0)
+	set_abiversion (ibfd, 1);
+      else if (abiversion (ibfd) == 2)
 	{
-	  if (abiversion (ibfd) == 0)
-	    set_abiversion (ibfd, 1);
-	  else if (abiversion (ibfd) == 2)
-	    {
-	      info->callbacks->einfo (_("%P: %B .opd not allowed in ABI"
-					" version %d\n"),
-				      ibfd, abiversion (ibfd));
-	      bfd_set_error (bfd_error_bad_value);
-	      return FALSE;
-	    }
-
-	  if ((ibfd->flags & DYNAMIC) == 0
-	      && (opd->flags & SEC_RELOC) != 0
-	      && opd->reloc_count != 0
-	      && !bfd_is_abs_section (opd->output_section))
-	    {
-	      /* Garbage collection needs some extra help with .opd sections.
-		 We don't want to necessarily keep everything referenced by
-		 relocs in .opd, as that would keep all functions.  Instead,
-		 if we reference an .opd symbol (a function descriptor), we
-		 want to keep the function code symbol's section.  This is
-		 easy for global symbols, but for local syms we need to keep
-		 information about the associated function section.  */
-	      bfd_size_type amt;
-	      asection **opd_sym_map;
-
-	      amt = opd->size * sizeof (*opd_sym_map) / 8;
-	      opd_sym_map = bfd_zalloc (ibfd, amt);
-	      if (opd_sym_map == NULL)
-		return FALSE;
-	      ppc64_elf_section_data (opd)->u.opd.func_sec = opd_sym_map;
-	      BFD_ASSERT (ppc64_elf_section_data (opd)->sec_type == sec_normal);
-	      ppc64_elf_section_data (opd)->sec_type = sec_opd;
-	    }
+	  info->callbacks->einfo (_("%P: %B .opd not allowed in ABI"
+				    " version %d\n"),
+				  ibfd, abiversion (ibfd));
+	  bfd_set_error (bfd_error_bad_value);
+	  return FALSE;
 	}
 
-      /* For input files without an explicit abiversion in e_flags
-	 we should have flagged any with symbol st_other bits set
-	 as ELFv1 and above flagged those with .opd as ELFv2.
-	 Set the output abiversion if not yet set, and for any input
-	 still ambiguous, take its abiversion from the output.
-	 Differences in ABI are reported later.  */
-      if (abiversion (info->output_bfd) == 0)
-	set_abiversion (info->output_bfd, abiversion (ibfd));
-      else if (abiversion (ibfd) == 0)
-	set_abiversion (ibfd, abiversion (info->output_bfd));
+      if ((ibfd->flags & DYNAMIC) == 0
+	  && (opd->flags & SEC_RELOC) != 0
+	  && opd->reloc_count != 0
+	  && !bfd_is_abs_section (opd->output_section))
+	{
+	  /* Garbage collection needs some extra help with .opd sections.
+	     We don't want to necessarily keep everything referenced by
+	     relocs in .opd, as that would keep all functions.  Instead,
+	     if we reference an .opd symbol (a function descriptor), we
+	     want to keep the function code symbol's section.  This is
+	     easy for global symbols, but for local syms we need to keep
+	     information about the associated function section.  */
+	  bfd_size_type amt;
+	  asection **opd_sym_map;
 
-      p = &htab->dot_syms;
-      while ((eh = *p) != NULL)
-	{
-	  *p = NULL;
-	  if (&eh->elf == htab->elf.hgot)
-	    ;
-	  else if (htab->elf.hgot == NULL
-		   && strcmp (eh->elf.root.root.string, ".TOC.") == 0)
-	    htab->elf.hgot = &eh->elf;
-	  else if (!add_symbol_adjust (eh, info))
+	  amt = OPD_NDX (opd->size) * sizeof (*opd_sym_map);
+	  opd_sym_map = bfd_zalloc (ibfd, amt);
+	  if (opd_sym_map == NULL)
 	    return FALSE;
-	  p = &eh->u.next_dot_sym;
+	  ppc64_elf_section_data (opd)->u.opd.func_sec = opd_sym_map;
+	  BFD_ASSERT (ppc64_elf_section_data (opd)->sec_type == sec_normal);
+	  ppc64_elf_section_data (opd)->sec_type = sec_opd;
 	}
     }
 
+  if (!is_ppc64_elf (info->output_bfd))
+    return TRUE;
+  htab = ppc_hash_table (info);
+  if (htab == NULL)
+    return FALSE;
+
+  /* For input files without an explicit abiversion in e_flags
+     we should have flagged any with symbol st_other bits set
+     as ELFv1 and above flagged those with .opd as ELFv2.
+     Set the output abiversion if not yet set, and for any input
+     still ambiguous, take its abiversion from the output.
+     Differences in ABI are reported later.  */
+  if (abiversion (info->output_bfd) == 0)
+    set_abiversion (info->output_bfd, abiversion (ibfd));
+  else if (abiversion (ibfd) == 0)
+    set_abiversion (ibfd, abiversion (info->output_bfd));
+
+  p = &htab->dot_syms;
+  while ((eh = *p) != NULL)
+    {
+      *p = NULL;
+      if (&eh->elf == htab->elf.hgot)
+	;
+      else if (htab->elf.hgot == NULL
+	       && strcmp (eh->elf.root.root.string, ".TOC.") == 0)
+	htab->elf.hgot = &eh->elf;
+      else if (!add_symbol_adjust (eh, info))
+	return FALSE;
+      p = &eh->u.next_dot_sym;
+    }
+
   /* Clear the list for non-ppc64 input files.  */
   p = &htab->dot_syms;
   while ((eh = *p) != NULL)
@@ -5305,7 +5339,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	case R_PPC64_GOT_TPREL16_LO_DS:
 	case R_PPC64_GOT_TPREL16_HI:
 	case R_PPC64_GOT_TPREL16_HA:
-	  if (!info->executable)
+	  if (info->shared)
 	    info->flags |= DF_STATIC_TLS;
 	  tls_type = TLS_TLS | TLS_TPREL;
 	  goto dogottls;
@@ -5535,7 +5569,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 
 	case R_PPC64_TPREL64:
 	  tls_type = TLS_EXPLICIT | TLS_TLS | TLS_TPREL;
-	  if (!info->executable)
+	  if (info->shared)
 	    info->flags |= DF_STATIC_TLS;
 	  goto dotlstoc;
 
@@ -5613,8 +5647,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	case R_PPC64_TPREL16_HIGHESTA:
 	  if (info->shared)
 	    {
-	      if (!info->executable)
-		info->flags |= DF_STATIC_TLS;
+	      info->flags |= DF_STATIC_TLS;
 	      goto dodyn;
 	    }
 	  break;
@@ -5645,7 +5678,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 
 		  s = bfd_section_from_elf_index (abfd, isym->st_shndx);
 		  if (s != NULL && s != sec)
-		    opd_sym_map[rel->r_offset / 8] = s;
+		    opd_sym_map[OPD_NDX (rel->r_offset)] = s;
 		}
 	    }
 	  /* Fall through.  */
@@ -5882,7 +5915,8 @@ ppc64_elf_print_private_bfd_data (bfd *a
 }
 
 /* OFFSET in OPD_SEC specifies a function descriptor.  Return the address
-   of the code entry point, and its section.  */
+   of the code entry point, and its section, which must be in the same
+   object as OPD_SEC.  Returns (bfd_vma) -1 on error.  */
 
 static bfd_vma
 opd_entry_value (asection *opd_sec,
@@ -5965,32 +5999,10 @@ opd_entry_value (asection *opd_sec,
 	      && ELF64_R_TYPE ((look + 1)->r_info) == R_PPC64_TOC)
 	    {
 	      unsigned long symndx = ELF64_R_SYM (look->r_info);
-	      asection *sec;
+	      asection *sec = NULL;
 
-	      if (symndx < symtab_hdr->sh_info
-		  || elf_sym_hashes (opd_bfd) == NULL)
-		{
-		  Elf_Internal_Sym *sym;
-
-		  sym = (Elf_Internal_Sym *) symtab_hdr->contents;
-		  if (sym == NULL)
-		    {
-		      size_t symcnt = symtab_hdr->sh_info;
-		      if (elf_sym_hashes (opd_bfd) == NULL)
-			symcnt = symtab_hdr->sh_size / symtab_hdr->sh_entsize;
-		      sym = bfd_elf_get_elf_syms (opd_bfd, symtab_hdr, symcnt,
-						  0, NULL, NULL, NULL);
-		      if (sym == NULL)
-			break;
-		      symtab_hdr->contents = (bfd_byte *) sym;
-		    }
-
-		  sym += symndx;
-		  val = sym->st_value;
-		  sec = bfd_section_from_elf_index (opd_bfd, sym->st_shndx);
-		  BFD_ASSERT ((sec->flags & SEC_MERGE) == 0);
-		}
-	      else
+	      if (symndx >= symtab_hdr->sh_info
+		  && elf_sym_hashes (opd_bfd) != NULL)
 		{
 		  struct elf_link_hash_entry **sym_hashes;
 		  struct elf_link_hash_entry *rh;
@@ -6004,24 +6016,48 @@ opd_entry_value (asection *opd_sec,
 				  || rh->root.type == bfd_link_hash_defweak);
 		      val = rh->root.u.def.value;
 		      sec = rh->root.u.def.section;
+		      if (sec->owner != opd_bfd)
+			{
+			  sec = NULL;
+			  val = (bfd_vma) -1;
+			}
+		    }
+		}
+
+	      if (sec == NULL)
+		{
+		  Elf_Internal_Sym *sym;
+
+		  if (symndx < symtab_hdr->sh_info)
+		    {
+		      sym = (Elf_Internal_Sym *) symtab_hdr->contents;
+		      if (sym == NULL)
+			{
+			  size_t symcnt = symtab_hdr->sh_info;
+			  sym = bfd_elf_get_elf_syms (opd_bfd, symtab_hdr,
+						      symcnt, 0,
+						      NULL, NULL, NULL);
+			  if (sym == NULL)
+			    break;
+			  symtab_hdr->contents = (bfd_byte *) sym;
+			}
+		      sym += symndx;
 		    }
 		  else
 		    {
-		      /* Handle the odd case where we can be called
-			 during bfd_elf_link_add_symbols before the
-			 symbol hashes have been fully populated.  */
-		      Elf_Internal_Sym *sym;
-
-		      sym = bfd_elf_get_elf_syms (opd_bfd, symtab_hdr, 1,
-						  symndx, NULL, NULL, NULL);
+		      sym = bfd_elf_get_elf_syms (opd_bfd, symtab_hdr,
+						  1, symndx,
+						  NULL, NULL, NULL);
 		      if (sym == NULL)
 			break;
-
-		      val = sym->st_value;
-		      sec = bfd_section_from_elf_index (opd_bfd, sym->st_shndx);
-		      free (sym);
 		    }
+		  sec = bfd_section_from_elf_index (opd_bfd, sym->st_shndx);
+		  if (sec == NULL)
+		    break;
+		  BFD_ASSERT ((sec->flags & SEC_MERGE) == 0);
+		  val = sym->st_value;
 		}
+
 	      val += look->r_addend;
 	      if (code_off != NULL)
 		*code_off = val;
@@ -6032,7 +6068,7 @@ opd_entry_value (asection *opd_sec,
 		  else
 		    *code_sec = sec;
 		}
-	      if (sec != NULL && sec->output_section != NULL)
+	      if (sec->output_section != NULL)
 		val += sec->output_section->vma + sec->output_offset;
 	    }
 	  break;
@@ -6309,7 +6345,7 @@ ppc64_elf_gc_mark_hook (asection *sec,
 	{
 	  rsec->gc_mark = 1;
 
-	  rsec = opd->func_sec[(sym->st_value + rel->r_addend) / 8];
+	  rsec = opd->func_sec[OPD_NDX (sym->st_value + rel->r_addend)];
 	}
     }
 
@@ -6971,9 +7007,22 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 	{
 	  h->plt.plist = NULL;
 	  h->needs_plt = 0;
+	  h->pointer_equality_needed = 0;
 	}
       else if (abiversion (info->output_bfd) == 2)
 	{
+	  /* Taking a function's address in a read/write section
+	     doesn't require us to define the function symbol in the
+	     executable on a global entry stub.  A dynamic reloc can
+	     be used instead.  */
+	  if (h->pointer_equality_needed
+	      && h->type != STT_GNU_IFUNC
+	      && !readonly_dynrelocs (h))
+	    {
+	      h->pointer_equality_needed = 0;
+	      h->non_got_ref = 0;
+	    }
+
 	  /* After adjust_dynamic_symbol, non_got_ref set in the
 	     non-shared case means that we have allocated space in
 	     .dynbss for the symbol and thus dyn_relocs for this
@@ -6983,10 +7032,10 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 	     relocations against this symbol to the PLT entry.  Allow
 	     dynamic relocs if the reference is weak, and the dynamic
 	     relocs will not cause text relocation.  */
-	  if (!h->ref_regular_nonweak
-	      && h->non_got_ref
-	      && h->type != STT_GNU_IFUNC
-	      && !readonly_dynrelocs (h))
+	  else if (!h->ref_regular_nonweak
+		   && h->non_got_ref
+		   && h->type != STT_GNU_IFUNC
+		   && !readonly_dynrelocs (h))
 	    h->non_got_ref = 0;
 
 	  /* If making a plt entry, then we don't need copy relocs.  */
@@ -7072,7 +7121,7 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 
   s = htab->dynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* If given a function descriptor symbol, hide both the function code
@@ -7357,7 +7406,7 @@ adjust_opd_syms (struct elf_link_hash_en
   opd = get_opd_info (sym_sec);
   if (opd != NULL && opd->adjust != NULL)
     {
-      long adjust = opd->adjust[eh->elf.root.u.def.value / 8];
+      long adjust = opd->adjust[OPD_NDX (eh->elf.root.u.def.value)];
       if (adjust == -1)
 	{
 	  /* This entry has been deleted.  */
@@ -7558,15 +7607,14 @@ ppc64_elf_edit_opd (struct bfd_link_info
   if (htab == NULL)
     return FALSE;
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       asection *sec;
       Elf_Internal_Rela *relstart, *rel, *relend;
       Elf_Internal_Shdr *symtab_hdr;
       Elf_Internal_Sym *local_syms;
-      bfd_vma offset;
       struct _opd_sec_data *opd;
-      bfd_boolean need_edit, add_aux_fields;
+      bfd_boolean need_edit, add_aux_fields, broken;
       bfd_size_type cnt_16b = 0;
 
       if (!is_ppc64_elf (ibfd))
@@ -7598,8 +7646,8 @@ ppc64_elf_edit_opd (struct bfd_link_info
       /* First run through the relocs to check they are sane, and to
 	 determine whether we need to edit this opd section.  */
       need_edit = FALSE;
+      broken = FALSE;
       need_pad = sec;
-      offset = 0;
       relend = relstart + sec->reloc_count;
       for (rel = relstart; rel < relend; )
 	{
@@ -7608,13 +7656,14 @@ ppc64_elf_edit_opd (struct bfd_link_info
 	  asection *sym_sec;
 	  struct elf_link_hash_entry *h;
 	  Elf_Internal_Sym *sym;
+	  bfd_vma offset;
 
-	  /* .opd contains a regular array of 16 or 24 byte entries.  We're
+	  /* .opd contains an array of 16 or 24 byte entries.  We're
 	     only interested in the reloc pointing to a function entry
 	     point.  */
-	  if (rel->r_offset != offset
-	      || rel + 1 >= relend
-	      || (rel + 1)->r_offset != offset + 8)
+	  offset = rel->r_offset;
+	  if (rel + 1 == relend
+	      || rel[1].r_offset != offset + 8)
 	    {
 	      /* If someone messes with .opd alignment then after a
 		 "ld -r" we might have padding in the middle of .opd.
@@ -7624,7 +7673,7 @@ ppc64_elf_edit_opd (struct bfd_link_info
 	    broken_opd:
 	      (*_bfd_error_handler)
 		(_("%B: .opd is not a regular array of opd entries"), ibfd);
-	      need_edit = FALSE;
+	      broken = TRUE;
 	      break;
 	    }
 
@@ -7634,7 +7683,7 @@ ppc64_elf_edit_opd (struct bfd_link_info
 	      (*_bfd_error_handler)
 		(_("%B: unexpected reloc type %u in .opd section"),
 		 ibfd, r_type);
-	      need_edit = FALSE;
+	      broken = TRUE;
 	      break;
 	    }
 
@@ -7655,7 +7704,7 @@ ppc64_elf_edit_opd (struct bfd_link_info
 	      (*_bfd_error_handler)
 		(_("%B: undefined sym `%s' in .opd section"),
 		 ibfd, sym_name);
-	      need_edit = FALSE;
+	      broken = TRUE;
 	      break;
 	    }
 
@@ -7671,39 +7720,33 @@ ppc64_elf_edit_opd (struct bfd_link_info
 	    need_edit = TRUE;
 
 	  rel += 2;
-	  if (rel == relend
-	      || (rel + 1 == relend && rel->r_offset == offset + 16))
+	  if (rel + 1 == relend
+	      || (rel + 2 < relend
+		  && ELF64_R_TYPE (rel[2].r_info) == R_PPC64_TOC))
+	    ++rel;
+
+	  if (rel == relend)
 	    {
 	      if (sec->size == offset + 24)
 		{
 		  need_pad = NULL;
 		  break;
 		}
-	      if (rel == relend && sec->size == offset + 16)
+	      if (sec->size == offset + 16)
 		{
 		  cnt_16b++;
 		  break;
 		}
 	      goto broken_opd;
 	    }
-
-	  if (rel->r_offset == offset + 24)
-	    offset += 24;
-	  else if (rel->r_offset != offset + 16)
-	    goto broken_opd;
 	  else if (rel + 1 < relend
 		   && ELF64_R_TYPE (rel[0].r_info) == R_PPC64_ADDR64
 		   && ELF64_R_TYPE (rel[1].r_info) == R_PPC64_TOC)
 	    {
-	      offset += 16;
-	      cnt_16b++;
-	    }
-	  else if (rel + 2 < relend
-		   && ELF64_R_TYPE (rel[1].r_info) == R_PPC64_ADDR64
-		   && ELF64_R_TYPE (rel[2].r_info) == R_PPC64_TOC)
-	    {
-	      offset += 24;
-	      rel += 1;
+	      if (rel[0].r_offset == offset + 16)
+		cnt_16b++;
+	      else if (rel[0].r_offset != offset + 24)
+		goto broken_opd;
 	    }
 	  else
 	    goto broken_opd;
@@ -7711,18 +7754,16 @@ ppc64_elf_edit_opd (struct bfd_link_info
 
       add_aux_fields = htab->params->non_overlapping_opd && cnt_16b > 0;
 
-      if (need_edit || add_aux_fields)
+      if (!broken && (need_edit || add_aux_fields))
 	{
 	  Elf_Internal_Rela *write_rel;
 	  Elf_Internal_Shdr *rel_hdr;
 	  bfd_byte *rptr, *wptr;
 	  bfd_byte *new_contents;
-	  bfd_boolean skip;
-	  long opd_ent_size;
 	  bfd_size_type amt;
 
 	  new_contents = NULL;
-	  amt = sec->size * sizeof (long) / 8;
+	  amt = OPD_NDX (sec->size) * sizeof (long);
 	  opd = &ppc64_elf_section_data (sec)->u.opd;
 	  opd->adjust = bfd_zalloc (sec->owner, amt);
 	  if (opd->adjust == NULL)
@@ -7760,123 +7801,134 @@ ppc64_elf_edit_opd (struct bfd_link_info
 	      new_contents = bfd_malloc (sec->size + cnt_16b * 8);
 	      if (new_contents == NULL)
 		return FALSE;
-	      need_pad = FALSE;
+	      need_pad = NULL;
 	    }
 	  wptr = new_contents;
 	  rptr = sec->contents;
-
 	  write_rel = relstart;
-	  skip = FALSE;
-	  offset = 0;
-	  opd_ent_size = 0;
-	  for (rel = relstart; rel < relend; rel++)
+	  for (rel = relstart; rel < relend; )
 	    {
 	      unsigned long r_symndx;
 	      asection *sym_sec;
 	      struct elf_link_hash_entry *h;
+	      struct ppc_link_hash_entry *fdh = NULL;
 	      Elf_Internal_Sym *sym;
+	      long opd_ent_size;
+	      Elf_Internal_Rela *next_rel;
+	      bfd_boolean skip;
 
 	      r_symndx = ELF64_R_SYM (rel->r_info);
 	      if (!get_sym_h (&h, &sym, &sym_sec, NULL, &local_syms,
 			      r_symndx, ibfd))
 		goto error_ret;
 
-	      if (rel->r_offset == offset)
+	      next_rel = rel + 2;
+	      if (next_rel + 1 == relend
+		  || (next_rel + 2 < relend
+		      && ELF64_R_TYPE (next_rel[2].r_info) == R_PPC64_TOC))
+		++next_rel;
+
+	      /* See if the .opd entry is full 24 byte or
+		 16 byte (with fd_aux entry overlapped with next
+		 fd_func).  */
+	      opd_ent_size = 24;
+	      if (next_rel == relend)
 		{
-		  struct ppc_link_hash_entry *fdh = NULL;
-
-		  /* See if the .opd entry is full 24 byte or
-		     16 byte (with fd_aux entry overlapped with next
-		     fd_func).  */
-		  opd_ent_size = 24;
-		  if ((rel + 2 == relend && sec->size == offset + 16)
-		      || (rel + 3 < relend
-			  && rel[2].r_offset == offset + 16
-			  && rel[3].r_offset == offset + 24
-			  && ELF64_R_TYPE (rel[2].r_info) == R_PPC64_ADDR64
-			  && ELF64_R_TYPE (rel[3].r_info) == R_PPC64_TOC))
+		  if (sec->size == rel->r_offset + 16)
 		    opd_ent_size = 16;
+		}
+	      else if (next_rel->r_offset == rel->r_offset + 16)
+		opd_ent_size = 16;
 
-		  if (h != NULL
-		      && h->root.root.string[0] == '.')
-		    {
-		      fdh = lookup_fdh ((struct ppc_link_hash_entry *) h, htab);
-		      if (fdh != NULL
-			  && fdh->elf.root.type != bfd_link_hash_defined
-			  && fdh->elf.root.type != bfd_link_hash_defweak)
-			fdh = NULL;
-		    }
+	      if (h != NULL
+		  && h->root.root.string[0] == '.')
+		{
+		  fdh = lookup_fdh ((struct ppc_link_hash_entry *) h, htab);
+		  if (fdh != NULL
+		      && fdh->elf.root.type != bfd_link_hash_defined
+		      && fdh->elf.root.type != bfd_link_hash_defweak)
+		    fdh = NULL;
+		}
 
-		  skip = (sym_sec->owner != ibfd
-			  || sym_sec->output_section == bfd_abs_section_ptr);
-		  if (skip)
+	      skip = (sym_sec->owner != ibfd
+		      || sym_sec->output_section == bfd_abs_section_ptr);
+	      if (skip)
+		{
+		  if (fdh != NULL && sym_sec->owner == ibfd)
 		    {
-		      if (fdh != NULL && sym_sec->owner == ibfd)
-			{
-			  /* Arrange for the function descriptor sym
-			     to be dropped.  */
-			  fdh->elf.root.u.def.value = 0;
-			  fdh->elf.root.u.def.section = sym_sec;
-			}
-		      opd->adjust[rel->r_offset / 8] = -1;
+		      /* Arrange for the function descriptor sym
+			 to be dropped.  */
+		      fdh->elf.root.u.def.value = 0;
+		      fdh->elf.root.u.def.section = sym_sec;
 		    }
-		  else
-		    {
-		      /* We'll be keeping this opd entry.  */
+		  opd->adjust[OPD_NDX (rel->r_offset)] = -1;
 
-		      if (fdh != NULL)
-			{
-			  /* Redefine the function descriptor symbol to
-			     this location in the opd section.  It is
-			     necessary to update the value here rather
-			     than using an array of adjustments as we do
-			     for local symbols, because various places
-			     in the generic ELF code use the value
-			     stored in u.def.value.  */
-			  fdh->elf.root.u.def.value = wptr - new_contents;
-			  fdh->adjust_done = 1;
-			}
+		  if (NO_OPD_RELOCS || info->relocatable)
+		    rel = next_rel;
+		  else
+		    while (1)
+		      {
+			if (!dec_dynrel_count (rel->r_info, sec, info,
+					       NULL, h, sym))
+			  goto error_ret;
 
-		      /* Local syms are a bit tricky.  We could
-			 tweak them as they can be cached, but
-			 we'd need to look through the local syms
-			 for the function descriptor sym which we
-			 don't have at the moment.  So keep an
-			 array of adjustments.  */
-		      opd->adjust[rel->r_offset / 8]
-			= (wptr - new_contents) - (rptr - sec->contents);
-
-		      if (wptr != rptr)
-			memcpy (wptr, rptr, opd_ent_size);
-		      wptr += opd_ent_size;
-		      if (add_aux_fields && opd_ent_size == 16)
-			{
-			  memset (wptr, '\0', 8);
-			  wptr += 8;
-			}
-		    }
-		  rptr += opd_ent_size;
-		  offset += opd_ent_size;
-		}
+			if (++rel == next_rel)
+			  break;
 
-	      if (skip)
-		{
-		  if (!NO_OPD_RELOCS
-		      && !info->relocatable
-		      && !dec_dynrel_count (rel->r_info, sec, info,
-					    NULL, h, sym))
-		    goto error_ret;
+			r_symndx = ELF64_R_SYM (rel->r_info);
+			if (!get_sym_h (&h, &sym, &sym_sec, NULL, &local_syms,
+					r_symndx, ibfd))
+			  goto error_ret;
+		      }
 		}
 	      else
 		{
+		  /* We'll be keeping this opd entry.  */
+		  long adjust;
+
+		  if (fdh != NULL)
+		    {
+		      /* Redefine the function descriptor symbol to
+			 this location in the opd section.  It is
+			 necessary to update the value here rather
+			 than using an array of adjustments as we do
+			 for local symbols, because various places
+			 in the generic ELF code use the value
+			 stored in u.def.value.  */
+		      fdh->elf.root.u.def.value = wptr - new_contents;
+		      fdh->adjust_done = 1;
+		    }
+
+		  /* Local syms are a bit tricky.  We could
+		     tweak them as they can be cached, but
+		     we'd need to look through the local syms
+		     for the function descriptor sym which we
+		     don't have at the moment.  So keep an
+		     array of adjustments.  */
+		  adjust = (wptr - new_contents) - (rptr - sec->contents);
+		  opd->adjust[OPD_NDX (rel->r_offset)] = adjust;
+
+		  if (wptr != rptr)
+		    memcpy (wptr, rptr, opd_ent_size);
+		  wptr += opd_ent_size;
+		  if (add_aux_fields && opd_ent_size == 16)
+		    {
+		      memset (wptr, '\0', 8);
+		      wptr += 8;
+		    }
+
 		  /* We need to adjust any reloc offsets to point to the
-		     new opd entries.  While we're at it, we may as well
-		     remove redundant relocs.  */
-		  rel->r_offset += opd->adjust[(offset - opd_ent_size) / 8];
-		  if (write_rel != rel)
-		    memcpy (write_rel, rel, sizeof (*rel));
-		  ++write_rel;
+		     new opd entries.  */
+		  for ( ; rel != next_rel; ++rel)
+		    {
+		      rel->r_offset += adjust;
+		      if (write_rel != rel)
+			memcpy (write_rel, rel, sizeof (*rel));
+		      ++write_rel;
+		    }
 		}
+
+	      rptr += opd_ent_size;
 	    }
 
 	  sec->size = wptr - new_contents;
@@ -8105,7 +8157,7 @@ ppc64_elf_tls_optimize (struct bfd_link_
      and plt refcounts.  */
   toc_ref = NULL;
   for (pass = 0; pass < 2; ++pass)
-    for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+    for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
       {
 	Elf_Internal_Sym *locsyms = NULL;
 	asection *toc = bfd_get_section_by_name (ibfd, ".toc");
@@ -8296,7 +8348,10 @@ ppc64_elf_tls_optimize (struct bfd_link_
 		      else
 			value = sym->st_value;
 		      value += rel->r_addend;
-		      BFD_ASSERT (value < toc->size && value % 8 == 0);
+		      if (value % 8 != 0)
+			continue;
+		      BFD_ASSERT (value < toc->size
+				  && toc->output_offset % 8 == 0);
 		      toc_ref_index = (value + toc->output_offset) / 8;
 		      if (r_type == R_PPC64_TLS
 			  || r_type == R_PPC64_TLSGD
@@ -8602,7 +8657,7 @@ ppc64_elf_edit_toc (struct bfd_link_info
 
   htab->do_toc_opt = 1;
   toc_inf.global_toc_syms = TRUE;
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       asection *toc, *sec;
       Elf_Internal_Shdr *symtab_hdr;
@@ -9662,7 +9717,7 @@ ppc64_elf_size_dynamic_sections (bfd *ou
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       struct got_entry **lgot_ents;
       struct got_entry **end_lgot_ents;
@@ -9784,7 +9839,7 @@ ppc64_elf_size_dynamic_sections (bfd *ou
     elf_link_hash_traverse (&htab->elf, size_global_entry_stubs, info);
 
   first_tlsld = NULL;
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       struct got_entry *ent;
 
@@ -9892,7 +9947,7 @@ ppc64_elf_size_dynamic_sections (bfd *ou
 	return FALSE;
     }
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       if (!is_ppc64_elf (ibfd))
 	continue;
@@ -10159,7 +10214,7 @@ plt_stub_pad (struct ppc_link_hash_table
   bfd_vma stub_off = stub_entry->stub_sec->size;
 
   if (((stub_off + stub_size - 1) & -stub_align) - (stub_off & -stub_align)
-      > (stub_size & -stub_align))
+      > ((stub_size - 1) & -stub_align))
     return stub_align - (stub_off & (stub_align - 1));
   return 0;
 }
@@ -11071,7 +11126,7 @@ ppc64_elf_setup_section_lists (struct bf
   /* Find the top input section id.  */
   for (input_bfd = info->input_bfds, top_id = 3;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     {
       for (section = input_bfd->sections;
 	   section != NULL;
@@ -11252,7 +11307,7 @@ ppc64_elf_layout_multitoc (struct bfd_li
   elf_link_hash_traverse (&htab->elf, merge_global_got, info);
 
   /* And tlsld_got.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       struct got_entry *ent, *ent2;
 
@@ -11263,7 +11318,7 @@ ppc64_elf_layout_multitoc (struct bfd_li
       if (!ent->is_indirect
 	  && ent->got.offset != (bfd_vma) -1)
 	{
-	  for (ibfd2 = ibfd->link_next; ibfd2 != NULL; ibfd2 = ibfd2->link_next)
+	  for (ibfd2 = ibfd->link.next; ibfd2 != NULL; ibfd2 = ibfd2->link.next)
 	    {
 	      if (!is_ppc64_elf (ibfd2))
 		continue;
@@ -11285,7 +11340,7 @@ ppc64_elf_layout_multitoc (struct bfd_li
   htab->elf.irelplt->size -= htab->got_reli_size;
   htab->got_reli_size = 0;
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       asection *got, *relgot;
 
@@ -11305,7 +11360,7 @@ ppc64_elf_layout_multitoc (struct bfd_li
 
   /* Now reallocate the got, local syms first.  We don't need to
      allocate section contents again since we never increase size.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       struct got_entry **lgot_ents;
       struct got_entry **end_lgot_ents;
@@ -11362,7 +11417,7 @@ ppc64_elf_layout_multitoc (struct bfd_li
 
   elf_link_hash_traverse (&htab->elf, reallocate_got, info);
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       struct got_entry *ent;
 
@@ -11386,7 +11441,7 @@ ppc64_elf_layout_multitoc (struct bfd_li
 
   done_something = htab->elf.irelplt->rawsize != htab->elf.irelplt->size;
   if (!done_something)
-    for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+    for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
       {
 	asection *got;
 
@@ -11539,7 +11594,7 @@ toc_adjusting_stub_needed (struct bfd_li
 		{
 		  long adjust;
 
-		  adjust = opd->adjust[sym->st_value / 8];
+		  adjust = opd->adjust[OPD_NDX (sym->st_value)];
 		  if (adjust == -1)
 		    /* Assume deleted functions won't ever be called.  */
 		    continue;
@@ -11755,7 +11810,7 @@ group_sections (struct ppc_link_hash_tab
   bfd_boolean suppress_size_errors;
 
   suppress_size_errors = FALSE;
-  stub14_group_size = stub_group_size;
+  stub14_group_size = stub_group_size >> 10;
   if (stub_group_size == 1)
     {
       /* Default values.  */
@@ -11859,7 +11914,8 @@ static const unsigned char glink_eh_fram
   65,					/* RA reg.  */
   1,					/* Augmentation size.  */
   DW_EH_PE_pcrel | DW_EH_PE_sdata4,	/* FDE encoding.  */
-  DW_CFA_def_cfa, 1, 0			/* def_cfa: r1 offset 0.  */
+  DW_CFA_def_cfa, 1, 0,			/* def_cfa: r1 offset 0.  */
+  0, 0, 0, 0
 };
 
 /* Stripping output sections is normally done before dynamic section
@@ -11916,12 +11972,20 @@ ppc64_elf_size_stubs (struct bfd_link_in
 	  /* libanl */
 	  "getaddrinfo_a",
 	  /* libgomp */
+	  "GOMP_parallel",
 	  "GOMP_parallel_start",
+	  "GOMP_parallel_loop_static",
 	  "GOMP_parallel_loop_static_start",
+	  "GOMP_parallel_loop_dynamic",
 	  "GOMP_parallel_loop_dynamic_start",
+	  "GOMP_parallel_loop_guided",
 	  "GOMP_parallel_loop_guided_start",
+	  "GOMP_parallel_loop_runtime",
 	  "GOMP_parallel_loop_runtime_start",
+	  "GOMP_parallel_sections",
 	  "GOMP_parallel_sections_start",
+	  /* libgo */
+	  "__go_go",
 	};
       unsigned i;
 
@@ -11953,7 +12017,7 @@ ppc64_elf_size_stubs (struct bfd_link_in
 
       for (input_bfd = info->input_bfds, bfd_indx = 0;
 	   input_bfd != NULL;
-	   input_bfd = input_bfd->link_next, bfd_indx++)
+	   input_bfd = input_bfd->link.next, bfd_indx++)
 	{
 	  Elf_Internal_Shdr *symtab_hdr;
 	  asection *section;
@@ -12106,7 +12170,7 @@ ppc64_elf_size_stubs (struct bfd_link_in
 
 		      if (hash == NULL && opd->adjust != NULL)
 			{
-			  long adjust = opd->adjust[sym_value / 8];
+			  long adjust = opd->adjust[OPD_NDX (sym_value)];
 			  if (adjust == -1)
 			    continue;
 			  code_value += adjust;
@@ -12291,7 +12355,7 @@ ppc64_elf_size_stubs (struct bfd_link_in
 	       stub_sec != NULL;
 	       stub_sec = stub_sec->next)
 	    if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
-	      size += 20;
+	      size += 24;
 	  if (htab->glink != NULL && htab->glink->size != 0)
 	    size += 24;
 	  if (size != 0)
@@ -12331,6 +12395,89 @@ ppc64_elf_size_stubs (struct bfd_link_in
       (*htab->params->layout_sections_again) ();
     }
 
+  if (htab->glink_eh_frame != NULL
+      && htab->glink_eh_frame->size != 0)
+    {
+      bfd_vma val;
+      bfd_byte *p, *last_fde;
+      size_t last_fde_len, size, align, pad;
+      asection *stub_sec;
+
+      p = bfd_zalloc (htab->glink_eh_frame->owner, htab->glink_eh_frame->size);
+      if (p == NULL)
+	return FALSE;
+      htab->glink_eh_frame->contents = p;
+      last_fde = p;
+
+      memcpy (p, glink_eh_frame_cie, sizeof (glink_eh_frame_cie));
+      /* CIE length (rewrite in case little-endian).  */
+      last_fde_len = sizeof (glink_eh_frame_cie) - 4;
+      bfd_put_32 (htab->elf.dynobj, last_fde_len, p);
+      p += sizeof (glink_eh_frame_cie);
+
+      for (stub_sec = htab->params->stub_bfd->sections;
+	   stub_sec != NULL;
+	   stub_sec = stub_sec->next)
+	if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
+	  {
+	    last_fde = p;
+	    last_fde_len = 20;
+	    /* FDE length.  */
+	    bfd_put_32 (htab->elf.dynobj, 20, p);
+	    p += 4;
+	    /* CIE pointer.  */
+	    val = p - htab->glink_eh_frame->contents;
+	    bfd_put_32 (htab->elf.dynobj, val, p);
+	    p += 4;
+	    /* Offset to stub section, written later.  */
+	    p += 4;
+	    /* stub section size.  */
+	    bfd_put_32 (htab->elf.dynobj, stub_sec->size, p);
+	    p += 4;
+	    /* Augmentation.  */
+	    p += 1;
+	    /* Pad.  */
+	    p += 7;
+	  }
+      if (htab->glink != NULL && htab->glink->size != 0)
+	{
+	  last_fde = p;
+	  last_fde_len = 20;
+	  /* FDE length.  */
+	  bfd_put_32 (htab->elf.dynobj, 20, p);
+	  p += 4;
+	  /* CIE pointer.  */
+	  val = p - htab->glink_eh_frame->contents;
+	  bfd_put_32 (htab->elf.dynobj, val, p);
+	  p += 4;
+	  /* Offset to .glink, written later.  */
+	  p += 4;
+	  /* .glink size.  */
+	  bfd_put_32 (htab->elf.dynobj, htab->glink->size - 8, p);
+	  p += 4;
+	  /* Augmentation.  */
+	  p += 1;
+
+	  *p++ = DW_CFA_advance_loc + 1;
+	  *p++ = DW_CFA_register;
+	  *p++ = 65;
+	  *p++ = 12;
+	  *p++ = DW_CFA_advance_loc + 4;
+	  *p++ = DW_CFA_restore_extended;
+	  *p++ = 65;
+	}
+      /* Subsume any padding into the last FDE if user .eh_frame
+	 sections are aligned more than glink_eh_frame.  Otherwise any
+	 zero padding will be seen as a terminator.  */
+      size = p - htab->glink_eh_frame->contents;
+      align = 1;
+      align <<= htab->glink_eh_frame->output_section->alignment_power;
+      align -= 1;
+      pad = ((size + align) & ~align) - size;
+      htab->glink_eh_frame->size = size + pad;
+      bfd_put_32 (htab->elf.dynobj, last_fde_len + pad, last_fde);
+    }
+
   maybe_strip_output (info, htab->brlt);
   if (htab->glink_eh_frame != NULL)
     maybe_strip_output (info, htab->glink_eh_frame);
@@ -12395,15 +12542,24 @@ ppc64_elf_set_toc (struct bfd_link_info 
 
   _bfd_set_gp_value (obfd, TOCstart);
 
-  if (info != NULL && s != NULL && is_ppc64_elf (obfd))
+  if (info != NULL && s != NULL)
     {
       struct ppc_link_hash_table *htab = ppc_hash_table (info);
 
-      if (htab != NULL
-	  && htab->elf.hgot != NULL)
+      if (htab != NULL)
+	{
+	  if (htab->elf.hgot != NULL)
+	    {
+	      htab->elf.hgot->root.u.def.value = TOC_BASE_OFF;
+	      htab->elf.hgot->root.u.def.section = s;
+	    }
+	}
+      else
 	{
-	  htab->elf.hgot->root.u.def.value = TOC_BASE_OFF;
-	  htab->elf.hgot->root.u.def.section = s;
+	  struct bfd_link_hash_entry *bh = NULL;
+	  _bfd_generic_link_add_one_symbol (info, obfd, ".TOC.", BSF_GLOBAL,
+					    s, TOC_BASE_OFF, NULL, FALSE,
+					    FALSE, &bh);
 	}
     }
   return TOCstart;
@@ -12460,6 +12616,32 @@ build_global_entry_stubs (struct elf_lin
 	    htab->stub_error = TRUE;
 	  }
 
+	htab->stub_count[ppc_stub_global_entry - 1] += 1;
+	if (htab->params->emit_stub_syms)
+	  {
+	    size_t len = strlen (h->root.root.string);
+	    char *name = bfd_malloc (sizeof "12345678.global_entry." + len);
+
+	    if (name == NULL)
+	      return FALSE;
+
+	    sprintf (name, "%08x.global_entry.%s", s->id, h->root.root.string);
+	    h = elf_link_hash_lookup (&htab->elf, name, TRUE, FALSE, FALSE);
+	    if (h == NULL)
+	      return FALSE;
+	    if (h->root.type == bfd_link_hash_new)
+	      {
+		h->root.type = bfd_link_hash_defined;
+		h->root.u.def.section = s;
+		h->root.u.def.value = p - s->contents;
+		h->ref_regular = 1;
+		h->def_regular = 1;
+		h->ref_regular_nonweak = 1;
+		h->forced_local = 1;
+		h->non_elf = 0;
+	      }
+	  }
+
 	if (PPC_HA (off) != 0)
 	  {
 	    bfd_put_32 (s->owner, ADDIS_R12_R12 | PPC_HA (off), p);
@@ -12638,7 +12820,7 @@ ppc64_elf_build_stubs (struct bfd_link_i
 	elf_link_hash_traverse (&htab->elf, build_global_entry_stubs, info);
     }
 
-  if (htab->brlt->size != 0)
+  if (htab->brlt != NULL && htab->brlt->size != 0)
     {
       htab->brlt->contents = bfd_zalloc (htab->brlt->owner,
 					 htab->brlt->size);
@@ -12653,117 +12835,6 @@ ppc64_elf_build_stubs (struct bfd_link_i
 	return FALSE;
     }
 
-  if (htab->glink_eh_frame != NULL
-      && htab->glink_eh_frame->size != 0)
-    {
-      bfd_vma val;
-      bfd_byte *last_fde;
-      size_t last_fde_len, size, align, pad;
-
-      p = bfd_zalloc (htab->glink_eh_frame->owner, htab->glink_eh_frame->size);
-      if (p == NULL)
-	return FALSE;
-      htab->glink_eh_frame->contents = p;
-      last_fde = p;
-
-      htab->glink_eh_frame->rawsize = htab->glink_eh_frame->size;
-
-      memcpy (p, glink_eh_frame_cie, sizeof (glink_eh_frame_cie));
-      /* CIE length (rewrite in case little-endian).  */
-      last_fde_len = sizeof (glink_eh_frame_cie) - 4;
-      bfd_put_32 (htab->elf.dynobj, last_fde_len, p);
-      p += sizeof (glink_eh_frame_cie);
-
-      for (stub_sec = htab->params->stub_bfd->sections;
-	   stub_sec != NULL;
-	   stub_sec = stub_sec->next)
-	if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
-	  {
-	    last_fde = p;
-	    last_fde_len = 16;
-	    /* FDE length.  */
-	    bfd_put_32 (htab->elf.dynobj, 16, p);
-	    p += 4;
-	    /* CIE pointer.  */
-	    val = p - htab->glink_eh_frame->contents;
-	    bfd_put_32 (htab->elf.dynobj, val, p);
-	    p += 4;
-	    /* Offset to stub section.  */
-	    val = (stub_sec->output_section->vma
-		   + stub_sec->output_offset);
-	    val -= (htab->glink_eh_frame->output_section->vma
-		    + htab->glink_eh_frame->output_offset);
-	    val -= p - htab->glink_eh_frame->contents;
-	    if (val + 0x80000000 > 0xffffffff)
-	      {
-		info->callbacks->einfo
-		  (_("%P: %s offset too large for .eh_frame sdata4 encoding"),
-		   stub_sec->name);
-		return FALSE;
-	      }
-	    bfd_put_32 (htab->elf.dynobj, val, p);
-	    p += 4;
-	    /* stub section size.  */
-	    bfd_put_32 (htab->elf.dynobj, stub_sec->rawsize, p);
-	    p += 4;
-	    /* Augmentation.  */
-	    p += 1;
-	    /* Pad.  */
-	    p += 3;
-	  }
-      if (htab->glink != NULL && htab->glink->size != 0)
-	{
-	  last_fde = p;
-	  last_fde_len = 20;
-	  /* FDE length.  */
-	  bfd_put_32 (htab->elf.dynobj, 20, p);
-	  p += 4;
-	  /* CIE pointer.  */
-	  val = p - htab->glink_eh_frame->contents;
-	  bfd_put_32 (htab->elf.dynobj, val, p);
-	  p += 4;
-	  /* Offset to .glink.  */
-	  val = (htab->glink->output_section->vma
-		 + htab->glink->output_offset
-		 + 8);
-	  val -= (htab->glink_eh_frame->output_section->vma
-		  + htab->glink_eh_frame->output_offset);
-	  val -= p - htab->glink_eh_frame->contents;
-	  if (val + 0x80000000 > 0xffffffff)
-	    {
-	      info->callbacks->einfo
-		(_("%P: %s offset too large for .eh_frame sdata4 encoding"),
-		 htab->glink->name);
-	      return FALSE;
-	    }
-	  bfd_put_32 (htab->elf.dynobj, val, p);
-	  p += 4;
-	  /* .glink size.  */
-	  bfd_put_32 (htab->elf.dynobj, htab->glink->size - 8, p);
-	  p += 4;
-	  /* Augmentation.  */
-	  p += 1;
-
-	  *p++ = DW_CFA_advance_loc + 1;
-	  *p++ = DW_CFA_register;
-	  *p++ = 65;
-	  *p++ = 12;
-	  *p++ = DW_CFA_advance_loc + 4;
-	  *p++ = DW_CFA_restore_extended;
-	  *p++ = 65;
-	}
-      /* Subsume any padding into the last FDE if user .eh_frame
-	 sections are aligned more than glink_eh_frame.  Otherwise any
-	 zero padding will be seen as a terminator.  */
-      size = p - htab->glink_eh_frame->contents;
-      align = 1;
-      align <<= htab->glink_eh_frame->output_section->alignment_power;
-      align -= 1;
-      pad = ((size + align) & ~align) - size;
-      htab->glink_eh_frame->size = size + pad;
-      bfd_put_32 (htab->elf.dynobj, last_fde_len + pad, last_fde);
-    }
-
   /* Build the stubs as directed by the stub hash table.  */
   bfd_hash_traverse (&htab->stub_hash_table, ppc_build_one_stub, info);
 
@@ -12789,6 +12860,9 @@ ppc64_elf_build_stubs (struct bfd_link_i
 	  break;
       }
 
+  /* Note that the glink_eh_frame check here is not only testing that
+     the generated size matched the calculated size but also that
+     bfd_elf_discard_info didn't make any changes to the section.  */
   if (stub_sec != NULL
       || (htab->glink_eh_frame != NULL
 	  && htab->glink_eh_frame->rawsize != htab->glink_eh_frame->size))
@@ -12812,7 +12886,8 @@ ppc64_elf_build_stubs (struct bfd_link_i
 			 "  long branch  %lu\n"
 			 "  long toc adj %lu\n"
 			 "  plt call     %lu\n"
-			 "  plt call toc %lu"),
+			 "  plt call toc %lu\n"
+			 "  global entry %lu"),
 	       stub_sec_count,
 	       stub_sec_count == 1 ? "" : "s",
 	       htab->stub_count[ppc_stub_long_branch - 1],
@@ -12820,7 +12895,8 @@ ppc64_elf_build_stubs (struct bfd_link_i
 	       htab->stub_count[ppc_stub_plt_branch - 1],
 	       htab->stub_count[ppc_stub_plt_branch_r2off - 1],
 	       htab->stub_count[ppc_stub_plt_call - 1],
-	       htab->stub_count[ppc_stub_plt_call_r2save - 1]);
+	       htab->stub_count[ppc_stub_plt_call_r2save - 1],
+	       htab->stub_count[ppc_stub_global_entry - 1]);
     }
   return TRUE;
 }
@@ -13006,7 +13082,8 @@ ppc64_elf_relocate_section (bfd *output_
 	  opd = get_opd_info (sec);
 	  if (opd != NULL && opd->adjust != NULL)
 	    {
-	      long adjust = opd->adjust[(sym->st_value + rel->r_addend) / 8];
+	      long adjust = opd->adjust[OPD_NDX (sym->st_value
+						 + rel->r_addend)];
 	      if (adjust == -1)
 		relocation = 0;
 	      else
@@ -13545,6 +13622,7 @@ ppc64_elf_relocate_section (bfd *output_
 	     .		addi 2,2,.TOC.@l
 	     if .TOC. is in range.  */
 	  if (!info->shared
+	      && !info->traditional_format
 	      && h != NULL && &h->elf == htab->elf.hgot
 	      && rel + 1 < relend
 	      && rel[1].r_info == ELF64_R_INFO (r_symndx, R_PPC64_REL16_LO)
@@ -13712,10 +13790,17 @@ ppc64_elf_relocate_section (bfd *output_
 
 	      if (!can_plt_call)
 		{
-		  info->callbacks->einfo
-		    (_("%P: %H: call to `%T' lacks nop, can't restore toc; "
-		       "recompile with -fPIC\n"),
-		     input_bfd, input_section, rel->r_offset, sym_name);
+		  if (stub_entry->stub_type == ppc_stub_plt_call
+		      || stub_entry->stub_type == ppc_stub_plt_call_r2save)
+		    info->callbacks->einfo
+		      (_("%P: %H: call to `%T' lacks nop, can't restore toc; "
+			 "recompile with -fPIC\n"),
+		       input_bfd, input_section, rel->r_offset, sym_name);
+		  else
+		    info->callbacks->einfo
+		      (_("%P: %H: call to `%T' lacks nop, can't restore toc; "
+			 "(-mcmodel=small toc adjust stub)\n"),
+		       input_bfd, input_section, rel->r_offset, sym_name);
 
 		  bfd_set_error (bfd_error_bad_value);
 		  ret = FALSE;
@@ -14765,7 +14850,7 @@ ppc64_elf_output_symbol_hook (struct bfd
   if (!info->relocatable)
     value -= input_sec->output_section->vma;
 
-  adjust = opd->adjust[value / 8];
+  adjust = opd->adjust[OPD_NDX (value)];
   if (adjust == -1)
     return 2;
 
@@ -15053,18 +15138,86 @@ ppc64_elf_finish_dynamic_sections (bfd *
 				       NULL))
     return FALSE;
 
-
   if (htab->glink_eh_frame != NULL
-      && htab->glink_eh_frame->sec_info_type == SEC_INFO_TYPE_EH_FRAME
-      && !_bfd_elf_write_section_eh_frame (output_bfd, info,
-					   htab->glink_eh_frame,
-					   htab->glink_eh_frame->contents))
-    return FALSE;
+      && htab->glink_eh_frame->size != 0)
+    {
+      bfd_vma val;
+      bfd_byte *p;
+      asection *stub_sec;
+
+      p = htab->glink_eh_frame->contents + sizeof (glink_eh_frame_cie);
+      for (stub_sec = htab->params->stub_bfd->sections;
+	   stub_sec != NULL;
+	   stub_sec = stub_sec->next)
+	if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
+	  {
+	    /* FDE length.  */
+	    p += 4;
+	    /* CIE pointer.  */
+	    p += 4;
+	    /* Offset to stub section.  */
+	    val = (stub_sec->output_section->vma
+		   + stub_sec->output_offset);
+	    val -= (htab->glink_eh_frame->output_section->vma
+		    + htab->glink_eh_frame->output_offset
+		    + (p - htab->glink_eh_frame->contents));
+	    if (val + 0x80000000 > 0xffffffff)
+	      {
+		info->callbacks->einfo
+		  (_("%P: %s offset too large for .eh_frame sdata4 encoding"),
+		   stub_sec->name);
+		return FALSE;
+	      }
+	    bfd_put_32 (dynobj, val, p);
+	    p += 4;
+	    /* stub section size.  */
+	    p += 4;
+	    /* Augmentation.  */
+	    p += 1;
+	    /* Pad.  */
+	    p += 7;
+	  }
+      if (htab->glink != NULL && htab->glink->size != 0)
+	{
+	  /* FDE length.  */
+	  p += 4;
+	  /* CIE pointer.  */
+	  p += 4;
+	  /* Offset to .glink.  */
+	  val = (htab->glink->output_section->vma
+		 + htab->glink->output_offset
+		 + 8);
+	  val -= (htab->glink_eh_frame->output_section->vma
+		  + htab->glink_eh_frame->output_offset
+		  + (p - htab->glink_eh_frame->contents));
+	  if (val + 0x80000000 > 0xffffffff)
+	    {
+	      info->callbacks->einfo
+		(_("%P: %s offset too large for .eh_frame sdata4 encoding"),
+		 htab->glink->name);
+	      return FALSE;
+	    }
+	  bfd_put_32 (dynobj, val, p);
+	  p += 4;
+	  /* .glink size.  */
+	  p += 4;
+	  /* Augmentation.  */
+	  p += 1;
+	  /* Ops.  */
+	  p += 7;
+	}
+
+      if (htab->glink_eh_frame->sec_info_type == SEC_INFO_TYPE_EH_FRAME
+	  && !_bfd_elf_write_section_eh_frame (output_bfd, info,
+					       htab->glink_eh_frame,
+					       htab->glink_eh_frame->contents))
+	return FALSE;
+    }
 
   /* We need to handle writing out multiple GOT sections ourselves,
      since we didn't add them to DYNOBJ.  We know dynobj is the first
      bfd.  */
-  while ((dynobj = dynobj->link_next) != NULL)
+  while ((dynobj = dynobj->link.next) != NULL)
     {
       asection *s;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-ppc.h ./bfd/elf64-ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-ppc.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-ppc.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* PowerPC64-specific support for 64-bit ELF.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -72,7 +72,7 @@ bfd_boolean ppc64_elf_edit_toc
 bfd_boolean ppc64_elf_has_small_toc_reloc
   (asection *);
 bfd_vma ppc64_elf_set_toc
-(struct bfd_link_info *, bfd *);
+  (struct bfd_link_info *, bfd *);
 int ppc64_elf_setup_section_lists
   (struct bfd_link_info *);
 void ppc64_elf_start_multitoc_partition
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-s390.c ./bfd/elf64-s390.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-s390.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-s390.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IBM S/390-specific support for 64-bit ELF
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed Martin Schwidefsky (schwidefsky@de.ibm.com).
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1183,6 +1183,12 @@ elf_s390_check_relocs (bfd *abfd,
 	  /* Fall through */
 
 	case R_390_TLS_LE64:
+	  /* For static linking and executables this reloc will be
+	     calculated at linktime otherwise a TLS_TPOFF runtime
+	     reloc will be generated.  */
+	  if (r_type == R_390_TLS_LE64 && info->pie)
+	    break;
+
 	  if (!info->shared)
 	    break;
 	  info->flags |= DF_STATIC_TLS;
@@ -1701,7 +1707,7 @@ elf_s390_adjust_dynamic_symbol (struct b
 
   s = htab->sdynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -1995,7 +2001,7 @@ elf_s390_size_dynamic_sections (bfd *out
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -3074,7 +3080,7 @@ elf_s390_relocate_section (bfd *output_b
 	  break;
 
 	case R_390_TLS_LE64:
-	  if (info->shared)
+	  if (info->shared && !info->pie)
 	    {
 	      /* Linking a shared library with non-fpic code requires
 		 a R_390_TLS_TPOFF relocation.  */
@@ -3717,7 +3723,7 @@ elf_s390_finish_dynamic_sections (bfd *o
     }
 
   /* Finish dynamic symbol for local IFUNC symbols.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       struct plt_entry *local_plt;
       Elf_Internal_Sym *isym;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-sh64.c ./bfd/elf64-sh64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-sh64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-sh64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* SuperH SH64-specific support for 64-bit ELF
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -2259,31 +2259,10 @@ sh_elf64_set_private_flags (bfd *abfd, f
 static bfd_boolean
 sh_elf64_copy_private_data_internal (bfd *ibfd, bfd *obfd)
 {
-  Elf_Internal_Shdr **o_shdrp;
-  asection *isec;
-  asection *osec;
-
   if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
       || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
     return TRUE;
 
-  o_shdrp = elf_elfsections (obfd);
-  for (osec = obfd->sections; osec; osec = osec->next)
-    {
-      int oIndex = ((struct bfd_elf_section_data *) elf_section_data (osec))->this_idx;
-      for (isec = ibfd->sections; isec; isec = isec->next)
-	{
-	  if (strcmp (osec->name, isec->name) == 0)
-	    {
-	      /* Note that we're not disallowing mixing data and code.  */
-	      if ((elf_section_data (isec)->this_hdr.sh_flags
-		   & SHF_SH5_ISA32) != 0)
-		o_shdrp[oIndex]->sh_flags |= SHF_SH5_ISA32;
-	      break;
-	    }
-	}
-    }
-
   /* Copy object attributes.  */
   _bfd_elf_copy_private_bfd_data (ibfd, obfd);
   
@@ -3381,7 +3360,7 @@ sh64_elf64_adjust_dynamic_symbol (struct
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* This function is called via sh_elf_link_hash_traverse if we are
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-sparc.c ./bfd/elf64-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-sparc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-sparc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* SPARC-specific support for 64-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -97,7 +97,9 @@ elf64_sparc_slurp_one_reloc_table (bfd *
       else
 	relent->address = rela.r_offset - asect->vma;
 
-      if (ELF64_R_SYM (rela.r_info) == STN_UNDEF)
+      if (ELF64_R_SYM (rela.r_info) == STN_UNDEF
+	  /* PR 17512: file: 996185f8.  */
+	  || ELF64_R_SYM (rela.r_info) > bfd_get_symcount (abfd))
 	relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
       else
 	{
@@ -424,9 +426,10 @@ elf64_sparc_add_symbol_hook (bfd *abfd, 
 {
   static const char *const stt_types[] = { "NOTYPE", "OBJECT", "FUNCTION" };
 
-  if ((abfd->flags & DYNAMIC) == 0
-      && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-	  || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE))
+  if ((ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+      && (abfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
 
   if (ELF_ST_TYPE (sym->st_info) == STT_REGISTER)
@@ -864,8 +867,6 @@ const struct elf_size_info elf64_sparc_s
   _bfd_sparc_elf_plt_sym_val
 #define bfd_elf64_bfd_link_hash_table_create \
   _bfd_sparc_elf_link_hash_table_create
-#define bfd_elf64_bfd_link_hash_table_free \
-  _bfd_sparc_elf_link_hash_table_free
 #define elf_info_to_howto \
   _bfd_sparc_elf_info_to_howto
 #define elf_backend_copy_indirect_symbol \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-tilegx.c ./bfd/elf64-tilegx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-tilegx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-tilegx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILE-Gx-specific support for 64-bit ELF.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-tilegx.h ./bfd/elf64-tilegx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-tilegx.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-tilegx.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILE-Gx-specific support for 64-bit ELF.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-x86-64.c ./bfd/elf64-x86-64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf64-x86-64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf64-x86-64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* X86-64 specific support for ELF
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Jan Hubicka <jh@suse.cz>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -302,7 +302,7 @@ elf_x86_64_reloc_type_lookup (bfd *abfd,
 	return elf_x86_64_rtype_to_howto (abfd,
 					  x86_64_reloc_map[i].elf_reloc_val);
     }
-  return 0;
+  return NULL;
 }
 
 static reloc_howto_type *
@@ -757,8 +757,19 @@ struct elf_x86_64_link_hash_entry
   (GOT_TLS_GD_P (type) || GOT_TLS_GDESC_P (type))
   unsigned char tls_type;
 
+  /* TRUE if a weak symbol with a real definition needs a copy reloc.
+     When there is a weak symbol with a real definition, the processor
+     independent code will have arranged for us to see the real
+     definition first.  We need to copy the needs_copy bit from the
+     real definition and check it when allowing copy reloc in PIE.  */
+  unsigned int needs_copy : 1;
+
   /* TRUE if symbol has at least one BND relocation.  */
-  bfd_boolean has_bnd_reloc;
+  unsigned int has_bnd_reloc : 1;
+
+  /* Information about the GOT PLT entry. Filled when there are both
+     GOT and PLT relocations against the same function.  */
+  union gotplt_union plt_got;
 
   /* Information about the second PLT entry. Filled when has_bnd_reloc is
      set.  */
@@ -815,6 +826,7 @@ struct elf_x86_64_link_hash_table
   asection *srelbss;
   asection *plt_eh_frame;
   asection *plt_bnd;
+  asection *plt_got;
 
   union
   {
@@ -892,8 +904,10 @@ elf_x86_64_link_hash_newfunc (struct bfd
       eh = (struct elf_x86_64_link_hash_entry *) entry;
       eh->dyn_relocs = NULL;
       eh->tls_type = GOT_UNKNOWN;
-      eh->has_bnd_reloc = FALSE;
+      eh->needs_copy = 0;
+      eh->has_bnd_reloc = 0;
       eh->plt_bnd.offset = (bfd_vma) -1;
+      eh->plt_got.offset = (bfd_vma) -1;
       eh->tlsdesc_got = (bfd_vma) -1;
     }
 
@@ -962,11 +976,27 @@ elf_x86_64_get_local_sym_hash (struct el
       ret->elf.indx = sec->id;
       ret->elf.dynstr_index = htab->r_sym (rel->r_info);
       ret->elf.dynindx = -1;
+      ret->plt_got.offset = (bfd_vma) -1;
       *slot = ret;
     }
   return &ret->elf;
 }
 
+/* Destroy an X86-64 ELF linker hash table.  */
+
+static void
+elf_x86_64_link_hash_table_free (bfd *obfd)
+{
+  struct elf_x86_64_link_hash_table *htab
+    = (struct elf_x86_64_link_hash_table *) obfd->link.hash;
+
+  if (htab->loc_hash_table)
+    htab_delete (htab->loc_hash_table);
+  if (htab->loc_hash_memory)
+    objalloc_free ((struct objalloc *) htab->loc_hash_memory);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create an X86-64 ELF linker hash table.  */
 
 static struct bfd_link_hash_table *
@@ -1012,28 +1042,14 @@ elf_x86_64_link_hash_table_create (bfd *
   ret->loc_hash_memory = objalloc_create ();
   if (!ret->loc_hash_table || !ret->loc_hash_memory)
     {
-      free (ret);
+      elf_x86_64_link_hash_table_free (abfd);
       return NULL;
     }
+  ret->elf.root.hash_table_free = elf_x86_64_link_hash_table_free;
 
   return &ret->elf.root;
 }
 
-/* Destroy an X86-64 ELF linker hash table.  */
-
-static void
-elf_x86_64_link_hash_table_free (struct bfd_link_hash_table *hash)
-{
-  struct elf_x86_64_link_hash_table *htab
-    = (struct elf_x86_64_link_hash_table *) hash;
-
-  if (htab->loc_hash_table)
-    htab_delete (htab->loc_hash_table);
-  if (htab->loc_hash_memory)
-    objalloc_free ((struct objalloc *) htab->loc_hash_memory);
-  _bfd_elf_link_hash_table_free (hash);
-}
-
 /* Create .plt, .rela.plt, .got, .got.plt, .rela.got, .dynbss, and
    .rela.bss sections in DYNOBJ, and set up shortcuts to them in our
    hash table.  */
@@ -1052,13 +1068,28 @@ elf_x86_64_create_dynamic_sections (bfd 
     return FALSE;
 
   htab->sdynbss = bfd_get_linker_section (dynobj, ".dynbss");
-  if (!info->shared)
-    htab->srelbss = bfd_get_linker_section (dynobj, ".rela.bss");
-
-  if (!htab->sdynbss
-      || (!info->shared && !htab->srelbss))
+  if (!htab->sdynbss)
     abort ();
 
+  if (info->executable)
+    {
+      /* Always allow copy relocs for building executables.  */
+      asection *s = bfd_get_linker_section (dynobj, ".rela.bss");
+      if (s == NULL)
+	{
+	  const struct elf_backend_data *bed = get_elf_backend_data (dynobj);
+	  s = bfd_make_section_anyway_with_flags (dynobj,
+						  ".rela.bss",
+						  (bed->dynamic_sec_flags
+						   | SEC_READONLY));
+	  if (s == NULL
+	      || ! bfd_set_section_alignment (dynobj, s,
+					      bed->s->log_file_align))
+	    return FALSE;
+	}
+      htab->srelbss = s;
+    }
+
   if (!info->no_ld_generated_unwind_info
       && htab->plt_eh_frame == NULL
       && htab->elf.splt != NULL)
@@ -1513,6 +1544,7 @@ elf_x86_64_check_relocs (bfd *abfd, stru
   const Elf_Internal_Rela *rel;
   const Elf_Internal_Rela *rel_end;
   asection *sreloc;
+  bfd_boolean use_plt_got;
 
   if (info->relocatable)
     return TRUE;
@@ -1523,6 +1555,8 @@ elf_x86_64_check_relocs (bfd *abfd, stru
   if (htab == NULL)
     return FALSE;
 
+  use_plt_got = get_elf_x86_64_backend_data (abfd) == &elf_x86_64_arch_bed;
+
   symtab_hdr = &elf_symtab_hdr (abfd);
   sym_hashes = elf_sym_hashes (abfd);
 
@@ -1628,13 +1662,18 @@ elf_x86_64_check_relocs (bfd *abfd, stru
 
 	    case R_X86_64_PC32_BND:
 	    case R_X86_64_PLT32_BND:
+	    case R_X86_64_PC32:
+	    case R_X86_64_PLT32:
+	    case R_X86_64_32:
+	    case R_X86_64_64:
 	      /* MPX PLT is supported only if elf_x86_64_arch_bed
 		 is used in 64-bit mode.  */
 	      if (ABI_64_P (abfd)
-		  && (get_elf_x86_64_backend_data (abfd)
-		      == &elf_x86_64_arch_bed))
+		      && info->bndplt
+		      && (get_elf_x86_64_backend_data (abfd)
+			  == &elf_x86_64_arch_bed))
 		{
-		  elf_x86_64_hash_entry (h)->has_bnd_reloc = TRUE;
+		  elf_x86_64_hash_entry (h)->has_bnd_reloc = 1;
 
 		  /* Create the second PLT for Intel MPX support.  */
 		  if (htab->plt_bnd == NULL)
@@ -1643,17 +1682,10 @@ elf_x86_64_check_relocs (bfd *abfd, stru
 		      const struct elf_backend_data *bed;
 
 		      bed = get_elf_backend_data (info->output_bfd);
-		      switch (sizeof (elf_x86_64_bnd_plt2_entry))
-			{
-			case 8:
-			  plt_bnd_align = 3;
-			  break;
-			case 16:
-			  plt_bnd_align = 4;
-			  break;
-			default:
-			  abort ();
-			}
+		      BFD_ASSERT (sizeof (elf_x86_64_bnd_plt2_entry) == 8
+				  && (sizeof (elf_x86_64_bnd_plt2_entry)
+				      == sizeof (elf_x86_64_legacy_plt2_entry)));
+		      plt_bnd_align = 3;
 
 		      if (htab->elf.dynobj == NULL)
 			htab->elf.dynobj = abfd;
@@ -1674,11 +1706,7 @@ elf_x86_64_check_relocs (bfd *abfd, stru
 		}
 
 	    case R_X86_64_32S:
-	    case R_X86_64_32:
-	    case R_X86_64_64:
-	    case R_X86_64_PC32:
 	    case R_X86_64_PC64:
-	    case R_X86_64_PLT32:
 	    case R_X86_64_GOTPCREL:
 	    case R_X86_64_GOTPCREL64:
 	      if (htab->elf.dynobj == NULL)
@@ -1751,14 +1779,6 @@ elf_x86_64_check_relocs (bfd *abfd, stru
 
 	    if (h != NULL)
 	      {
-		if (r_type == R_X86_64_GOTPLT64)
-		  {
-		    /* This relocation indicates that we also need
-		       a PLT entry, as this is a function.  We don't need
-		       a PLT entry for local symbols.  */
-		    h->needs_plt = 1;
-		    h->plt.refcount += 1;
-		  }
 		h->got.refcount += 1;
 		old_tls_type = elf_x86_64_hash_entry (h)->tls_type;
 	      }
@@ -2052,6 +2072,39 @@ do_size:
 	default:
 	  break;
 	}
+
+      if (use_plt_got
+	  && h != NULL
+	  && h->plt.refcount > 0
+	  && h->got.refcount > 0
+	  && htab->plt_got == NULL)
+	{
+	  /* Create the GOT procedure linkage table.  */
+	  unsigned int plt_got_align;
+	  const struct elf_backend_data *bed;
+
+	  bed = get_elf_backend_data (info->output_bfd);
+	  BFD_ASSERT (sizeof (elf_x86_64_legacy_plt2_entry) == 8
+		      && (sizeof (elf_x86_64_bnd_plt2_entry)
+			  == sizeof (elf_x86_64_legacy_plt2_entry)));
+	  plt_got_align = 3;
+
+	  if (htab->elf.dynobj == NULL)
+	    htab->elf.dynobj = abfd;
+	  htab->plt_got
+	    = bfd_make_section_anyway_with_flags (htab->elf.dynobj,
+						  ".plt.got",
+						  (bed->dynamic_sec_flags
+						   | SEC_ALLOC
+						   | SEC_CODE
+						   | SEC_LOAD
+						   | SEC_READONLY));
+	  if (htab->plt_got == NULL
+	      || !bfd_set_section_alignment (htab->elf.dynobj,
+					     htab->plt_got,
+					     plt_got_align))
+	    return FALSE;
+	}
     }
 
   return TRUE;
@@ -2180,8 +2233,6 @@ elf_x86_64_gc_sweep_hook (bfd *abfd, str
 	case R_X86_64_GOTPLT64:
 	  if (h != NULL)
 	    {
-	      if (r_type == R_X86_64_GOTPLT64 && h->plt.refcount > 0)
-		h->plt.refcount -= 1;
 	      if (h->got.refcount > 0)
 		h->got.refcount -= 1;
 	      if (h->type == STT_GNU_IFUNC)
@@ -2330,7 +2381,11 @@ elf_x86_64_adjust_dynamic_symbol (struct
       h->root.u.def.section = h->u.weakdef->root.u.def.section;
       h->root.u.def.value = h->u.weakdef->root.u.def.value;
       if (ELIMINATE_COPY_RELOCS || info->nocopyreloc)
-	h->non_got_ref = h->u.weakdef->non_got_ref;
+	{
+	  eh = (struct elf_x86_64_link_hash_entry *) h;
+	  h->non_got_ref = h->u.weakdef->non_got_ref;
+	  eh->needs_copy = h->u.weakdef->needs_copy;
+	}
       return TRUE;
     }
 
@@ -2341,7 +2396,7 @@ elf_x86_64_adjust_dynamic_symbol (struct
      only references to the symbol are via the global offset table.
      For such cases we need not do anything here; the relocations will
      be handled correctly by relocate_section.	*/
-  if (info->shared)
+  if (!info->executable)
     return TRUE;
 
   /* If there are no references to this symbol that do not use the
@@ -2402,7 +2457,7 @@ elf_x86_64_adjust_dynamic_symbol (struct
 
   s = htab->sdynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2430,6 +2485,24 @@ elf_x86_64_allocate_dynrelocs (struct el
   bed = get_elf_backend_data (info->output_bfd);
   plt_entry_size = GET_PLT_ENTRY_SIZE (info->output_bfd);
 
+  /* We can't use the GOT PLT if pointer equality is needed since
+     finish_dynamic_symbol won't clear symbol value and the dynamic
+     linker won't update the GOT slot.  We will get into an infinite
+     loop at run-time.  */
+  if (htab->plt_got != NULL
+      && h->type != STT_GNU_IFUNC
+      && !h->pointer_equality_needed
+      && h->plt.refcount > 0
+      && h->got.refcount > 0)
+    {
+      /* Don't use the regular PLT if there are both GOT and GOTPLT
+         reloctions.  */
+      h->plt.offset = (bfd_vma) -1;
+
+      /* Use the GOT PLT.  */
+      eh->plt_got.refcount = 1;
+    }
+
   /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it
      here if it is defined and referenced in a non-shared object.  */
   if (h->type == STT_GNU_IFUNC
@@ -2457,8 +2530,10 @@ elf_x86_64_allocate_dynrelocs (struct el
 	return FALSE;
     }
   else if (htab->elf.dynamic_sections_created
-	   && h->plt.refcount > 0)
+	   && (h->plt.refcount > 0 || eh->plt_got.refcount > 0))
     {
+      bfd_boolean use_plt_got = eh->plt_got.refcount > 0;
+
       /* Make sure this symbol is output as a dynamic symbol.
 	 Undefined weak syms won't yet be marked as dynamic.  */
       if (h->dynindx == -1
@@ -2473,15 +2548,21 @@ elf_x86_64_allocate_dynrelocs (struct el
 	{
 	  asection *s = htab->elf.splt;
 	  asection *bnd_s = htab->plt_bnd;
+	  asection *got_s = htab->plt_got;
 
 	  /* If this is the first .plt entry, make room for the special
 	     first entry.  */
 	  if (s->size == 0)
 	    s->size = plt_entry_size;
 
-	  h->plt.offset = s->size;
-	  if (bnd_s)
-	    eh->plt_bnd.offset = bnd_s->size;
+	  if (use_plt_got)
+	    eh->plt_got.offset = got_s->size;
+	  else
+	    {
+	      h->plt.offset = s->size;
+	      if (bnd_s)
+		eh->plt_bnd.offset = bnd_s->size;
+	    }
 
 	  /* If this symbol is not defined in a regular file, and we are
 	     not generating a shared library, then set the symbol to this
@@ -2491,36 +2572,49 @@ elf_x86_64_allocate_dynrelocs (struct el
 	  if (! info->shared
 	      && !h->def_regular)
 	    {
-	      if (bnd_s)
+	      if (use_plt_got)
 		{
-		  /* We need to make a call to the entry of the second
-		     PLT instead of regular PLT entry.  */
-		  h->root.u.def.section = bnd_s;
-		  h->root.u.def.value = eh->plt_bnd.offset;
+		  /* We need to make a call to the entry of the GOT PLT
+		     instead of regular PLT entry.  */
+		  h->root.u.def.section = got_s;
+		  h->root.u.def.value = eh->plt_got.offset;
 		}
 	      else
 		{
-		  h->root.u.def.section = s;
-		  h->root.u.def.value = h->plt.offset;
+		  if (bnd_s)
+		    {
+		      /* We need to make a call to the entry of the second
+			 PLT instead of regular PLT entry.  */
+		      h->root.u.def.section = bnd_s;
+		      h->root.u.def.value = eh->plt_bnd.offset;
+		    }
+		  else
+		    {
+		      h->root.u.def.section = s;
+		      h->root.u.def.value = h->plt.offset;
+		    }
 		}
 	    }
 
 	  /* Make room for this entry.  */
-	  s->size += plt_entry_size;
-	  if (bnd_s)
+	  if (use_plt_got)
+	    got_s->size += sizeof (elf_x86_64_legacy_plt2_entry);
+	  else
 	    {
-	      BFD_ASSERT (sizeof (elf_x86_64_bnd_plt2_entry)
-			  == sizeof (elf_x86_64_legacy_plt2_entry));
-	      bnd_s->size += sizeof (elf_x86_64_legacy_plt2_entry);
-	    }
-
-	  /* We also need to make an entry in the .got.plt section, which
-	     will be placed in the .got section by the linker script.  */
-	  htab->elf.sgotplt->size += GOT_ENTRY_SIZE;
+	      s->size += plt_entry_size;
+	      if (bnd_s)
+		bnd_s->size += sizeof (elf_x86_64_legacy_plt2_entry);
 
-	  /* We also need to make an entry in the .rela.plt section.  */
-	  htab->elf.srelplt->size += bed->s->sizeof_rela;
-	  htab->elf.srelplt->reloc_count++;
+	      /* We also need to make an entry in the .got.plt section,
+		 which will be placed in the .got section by the linker
+		 script.  */
+	      htab->elf.sgotplt->size += GOT_ENTRY_SIZE;
+
+	      /* We also need to make an entry in the .rela.plt
+		 section.  */
+	      htab->elf.srelplt->size += bed->s->sizeof_rela;
+	      htab->elf.srelplt->reloc_count++;
+	    }
 	}
       else
 	{
@@ -2634,20 +2728,38 @@ elf_x86_64_allocate_dynrelocs (struct el
 
       /* Also discard relocs on undefined weak syms with non-default
 	 visibility.  */
-      if (eh->dyn_relocs != NULL
-	  && h->root.type == bfd_link_hash_undefweak)
+      if (eh->dyn_relocs != NULL)
 	{
-	  if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT)
-	    eh->dyn_relocs = NULL;
+	  if (h->root.type == bfd_link_hash_undefweak)
+	    {
+	      if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT)
+		eh->dyn_relocs = NULL;
 
-	  /* Make sure undefined weak symbols are output as a dynamic
-	     symbol in PIEs.  */
-	  else if (h->dynindx == -1
-		   && ! h->forced_local
-		   && ! bfd_elf_link_record_dynamic_symbol (info, h))
-	    return FALSE;
-	}
+	      /* Make sure undefined weak symbols are output as a dynamic
+		 symbol in PIEs.  */
+	      else if (h->dynindx == -1
+		       && ! h->forced_local
+		       && ! bfd_elf_link_record_dynamic_symbol (info, h))
+		return FALSE;
+	    }
+	  /* For PIE, discard space for pc-relative relocs against
+	     symbols which turn out to need copy relocs.  */
+	  else if (info->executable
+		   && (h->needs_copy || eh->needs_copy)
+		   && h->def_dynamic
+		   && !h->def_regular)
+	    {
+	      struct elf_dyn_relocs **pp;
 
+	      for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
+		{
+		  if (p->pc_count != 0)
+		    *pp = p->next;
+		  else
+		    pp = &p->next;
+		}
+	    }
+	}
     }
   else if (ELIMINATE_COPY_RELOCS)
     {
@@ -2776,7 +2888,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd
   /* Nothing to do if there are no codes, no relocations or no output.  */
   if ((sec->flags & (SEC_CODE | SEC_RELOC)) != (SEC_CODE | SEC_RELOC)
       || sec->reloc_count == 0
-      || discarded_section (sec))
+      || bfd_is_abs_section (sec->output_section))
     return TRUE;
 
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
@@ -2823,6 +2935,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd
 
 	  /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation.  */
 	  if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC
+	      && irel->r_offset >= 2
 	      && bfd_get_8 (input_bfd,
 			    contents + irel->r_offset - 2) == 0x8b)
 	    {
@@ -2853,6 +2966,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd
 	  && h->type != STT_GNU_IFUNC
 	  && h != htab->elf.hdynamic
 	  && SYMBOL_REFERENCES_LOCAL (link_info, h)
+	  && irel->r_offset >= 2
 	  && bfd_get_8 (input_bfd,
 			contents + irel->r_offset - 2) == 0x8b)
 	{
@@ -2935,7 +3049,7 @@ elf_x86_64_size_dynamic_sections (bfd *o
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -3137,6 +3251,7 @@ elf_x86_64_size_dynamic_sections (bfd *o
 	  || s == htab->elf.iplt
 	  || s == htab->elf.igotplt
 	  || s == htab->plt_bnd
+	  || s == htab->plt_got
 	  || s == htab->plt_eh_frame
 	  || s == htab->sdynbss)
 	{
@@ -3717,12 +3832,7 @@ elf_x86_64_relocate_section (bfd *output
 	case R_X86_64_GOTPCREL64:
 	  /* Use global offset table entry as symbol value.  */
 	case R_X86_64_GOTPLT64:
-	  /* This is the same as GOT64 for relocation purposes, but
-	     indicates the existence of a PLT entry.  The difficulty is,
-	     that we must calculate the GOT slot offset from the PLT
-	     offset, if this symbol got a PLT entry (it was global).
-	     Additionally if it's computed from the PLT entry, then that
-	     GOT offset is relative to .got.plt, not to .got.  */
+	  /* This is obsolete and treated the the same as GOT64.  */
 	  base_got = htab->elf.sgot;
 
 	  if (htab->elf.sgot == NULL)
@@ -3907,7 +4017,8 @@ elf_x86_64_relocate_section (bfd *output
 	  if (h == NULL)
 	    break;
 
-	  if (h->plt.offset == (bfd_vma) -1
+	  if ((h->plt.offset == (bfd_vma) -1
+	       && eh->plt_got.offset == (bfd_vma) -1)
 	      || htab->elf.splt == NULL)
 	    {
 	      /* We didn't make a PLT entry for this symbol.  This
@@ -3916,15 +4027,24 @@ elf_x86_64_relocate_section (bfd *output
 	      break;
 	    }
 
-	  if (htab->plt_bnd != NULL)
+	  if (h->plt.offset != (bfd_vma) -1)
 	    {
-	      resolved_plt = htab->plt_bnd;
-	      plt_offset = eh->plt_bnd.offset;
+	      if (htab->plt_bnd != NULL)
+		{
+		  resolved_plt = htab->plt_bnd;
+		  plt_offset = eh->plt_bnd.offset;
+		}
+	      else
+		{
+		  resolved_plt = htab->elf.splt;
+		  plt_offset = h->plt.offset;
+		}
 	    }
 	  else
 	    {
-	      resolved_plt = htab->elf.splt;
-	      plt_offset = h->plt.offset;
+	      /* Use the GOT PLT.  */
+	      resolved_plt = htab->plt_got;
+	      plt_offset = eh->plt_got.offset;
 	    }
 
 	  relocation = (resolved_plt->output_section->vma
@@ -3960,10 +4080,12 @@ elf_x86_64_relocate_section (bfd *output
 		     defined locally or for a branch.  */
 		  fail = !h->def_regular && !branch;
 		}
-	      else
+	      else if (!(info->executable
+			 && (h->needs_copy || eh->needs_copy)))
 		{
-		  /* Symbol isn't referenced locally.  We only allow
-		     branch to symbol with non-default visibility. */
+		  /* Symbol doesn't need copy reloc and isn't referenced
+		     locally.  We only allow branch to symbol with
+		     non-default visibility. */
 		  fail = (!branch
 			  || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT);
 		}
@@ -4017,7 +4139,13 @@ direct:
 	  if ((input_section->flags & SEC_ALLOC) == 0)
 	    break;
 
+	   /* Don't copy a pc-relative relocation into the output file
+	      if the symbol needs copy reloc.  */
 	  if ((info->shared
+	       && !(info->executable
+		    && h != NULL
+		    && (h->needs_copy || eh->needs_copy)
+		    && IS_X86_64_PCREL_TYPE (r_type))
 	       && (h == NULL
 		   || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
 		   || h->root.type != bfd_link_hash_undefweak)
@@ -4280,17 +4408,27 @@ direct:
 	      else if (ELF32_R_TYPE (rel->r_info) == R_X86_64_GOTTPOFF)
 		{
 		  /* IE->LE transition:
-		     Originally it can be one of:
+		     For 64bit, originally it can be one of:
 		     movq foo@gottpoff(%rip), %reg
 		     addq foo@gottpoff(%rip), %reg
 		     We change it into:
 		     movq $foo, %reg
 		     leaq foo(%reg), %reg
-		     addq $foo, %reg.  */
+		     addq $foo, %reg.
+		     For 32bit, originally it can be one of:
+		     movq foo@gottpoff(%rip), %reg
+		     addl foo@gottpoff(%rip), %reg
+		     We change it into:
+		     movq $foo, %reg
+		     leal foo(%reg), %reg
+		     addl $foo, %reg. */
 
 		  unsigned int val, type, reg;
 
-		  val = bfd_get_8 (input_bfd, contents + roff - 3);
+		  if (roff >= 3)
+		    val = bfd_get_8 (input_bfd, contents + roff - 3);
+		  else
+		    val = 0;
 		  type = bfd_get_8 (input_bfd, contents + roff - 2);
 		  reg = bfd_get_8 (input_bfd, contents + roff - 1);
 		  reg >>= 3;
@@ -4310,8 +4448,8 @@ direct:
 		    }
 		  else if (reg == 4)
 		    {
-		      /* addq -> addq - addressing with %rsp/%r12 is
-			 special  */
+		      /* addq/addl -> addq/addl - addressing with %rsp/%r12
+			 is special  */
 		      if (val == 0x4c)
 			bfd_put_8 (output_bfd, 0x49,
 				   contents + roff - 3);
@@ -4325,7 +4463,7 @@ direct:
 		    }
 		  else
 		    {
-		      /* addq -> leaq */
+		      /* addq/addl -> leaq/leal */
 		      if (val == 0x4c)
 			bfd_put_8 (output_bfd, 0x4d,
 				   contents + roff - 3);
@@ -4729,6 +4867,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
   struct elf_x86_64_link_hash_table *htab;
   const struct elf_x86_64_backend_data *abed;
   bfd_boolean use_plt_bnd;
+  struct elf_x86_64_link_hash_entry *eh;
 
   htab = elf_x86_64_hash_table (info);
   if (htab == NULL)
@@ -4741,6 +4880,8 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
 	  ? &elf_x86_64_bnd_arch_bed
 	  : get_elf_x86_64_backend_data (output_bfd));
 
+  eh = (struct elf_x86_64_link_hash_entry *) h;
+
   if (h->plt.offset != (bfd_vma) -1)
     {
       bfd_vma plt_index;
@@ -4750,6 +4891,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
       bfd_byte *loc;
       asection *plt, *gotplt, *relplt, *resolved_plt;
       const struct elf_backend_data *bed;
+      bfd_vma plt_got_pcrel_offset;
 
       /* When building a static executable, use .iplt, .igot.plt and
 	 .rela.iplt sections for STT_GNU_IFUNC symbols.  */
@@ -4807,8 +4949,6 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
 	{
 	  /* Use the second PLT with BND relocations.  */
 	  const bfd_byte *plt_entry, *plt2_entry;
-	  struct elf_x86_64_link_hash_entry *eh
-	    = (struct elf_x86_64_link_hash_entry *) h;
 
 	  if (eh->has_bnd_reloc)
 	    {
@@ -4854,14 +4994,20 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
 
       /* Put offset the PC-relative instruction referring to the GOT entry,
 	 subtracting the size of that instruction.  */
-      bfd_put_32 (output_bfd,
-		  (gotplt->output_section->vma
-		   + gotplt->output_offset
-		   + got_offset
-		   - resolved_plt->output_section->vma
-		   - resolved_plt->output_offset
-		   - plt_offset
-		   - plt_got_insn_size),
+      plt_got_pcrel_offset = (gotplt->output_section->vma
+			      + gotplt->output_offset
+			      + got_offset
+			      - resolved_plt->output_section->vma
+			      - resolved_plt->output_offset
+			      - plt_offset
+			      - plt_got_insn_size);
+
+      /* Check PC-relative offset overflow in PLT entry.  */
+      if ((plt_got_pcrel_offset + 0x80000000) > 0xffffffff)
+	info->callbacks->einfo (_("%F%B: PC-relative offset overflow in PLT entry for `%s'\n"),
+				output_bfd, h->root.root.string);
+
+      bfd_put_32 (output_bfd, plt_got_pcrel_offset,
 		  resolved_plt->contents + plt_offset + plt_got_offset);
 
       /* Fill in the entry in the global offset table, initially this
@@ -4900,32 +5046,101 @@ elf_x86_64_finish_dynamic_symbol (bfd *o
       /* Don't fill PLT entry for static executables.  */
       if (plt == htab->elf.splt)
 	{
+	  bfd_vma plt0_offset = h->plt.offset + plt_plt_insn_end;
+
 	  /* Put relocation index.  */
 	  bfd_put_32 (output_bfd, plt_index,
 		      plt->contents + h->plt.offset + abed->plt_reloc_offset);
-	  /* Put offset for jmp .PLT0.  */
-	  bfd_put_32 (output_bfd, - (h->plt.offset + plt_plt_insn_end),
+
+	  /* Put offset for jmp .PLT0 and check for overflow.  We don't
+	     check relocation index for overflow since branch displacement
+	     will overflow first.  */
+	  if (plt0_offset > 0x80000000)
+	    info->callbacks->einfo (_("%F%B: branch displacement overflow in PLT entry for `%s'\n"),
+				    output_bfd, h->root.root.string);
+	  bfd_put_32 (output_bfd, - plt0_offset,
 		      plt->contents + h->plt.offset + plt_plt_offset);
 	}
 
       bed = get_elf_backend_data (output_bfd);
       loc = relplt->contents + plt_index * bed->s->sizeof_rela;
       bed->s->swap_reloca_out (output_bfd, &rela, loc);
+    }
+  else if (eh->plt_got.offset != (bfd_vma) -1)
+    {
+      bfd_vma got_offset, plt_offset, plt_got_offset, plt_got_insn_size;
+      asection *plt, *got;
+      bfd_boolean got_after_plt;
+      int32_t got_pcrel_offset;
+      const bfd_byte *got_plt_entry;
+
+      /* Set the entry in the GOT procedure linkage table.  */
+      plt = htab->plt_got;
+      got = htab->elf.sgot;
+      got_offset = h->got.offset;
 
-      if (!h->def_regular)
+      if (got_offset == (bfd_vma) -1
+	  || h->type == STT_GNU_IFUNC
+	  || plt == NULL
+	  || got == NULL)
+	abort ();
+
+      /* Use the second PLT entry template for the GOT PLT since they
+	 are the identical.  */
+      plt_got_insn_size = elf_x86_64_bnd_arch_bed.plt_got_insn_size;
+      plt_got_offset = elf_x86_64_bnd_arch_bed.plt_got_offset;
+      if (eh->has_bnd_reloc)
+	got_plt_entry = elf_x86_64_bnd_plt2_entry;
+      else
 	{
-	  /* Mark the symbol as undefined, rather than as defined in
-	     the .plt section.  Leave the value if there were any
-	     relocations where pointer equality matters (this is a clue
-	     for the dynamic linker, to make function pointer
-	     comparisons work between an application and shared
-	     library), otherwise set it to zero.  If a function is only
-	     called from a binary, there is no need to slow down
-	     shared libraries because of that.  */
-	  sym->st_shndx = SHN_UNDEF;
-	  if (!h->pointer_equality_needed)
-	    sym->st_value = 0;
-	}
+	  got_plt_entry = elf_x86_64_legacy_plt2_entry;
+
+	  /* Subtract 1 since there is no BND prefix.  */
+	  plt_got_insn_size -= 1;
+	  plt_got_offset -= 1;
+	}
+
+      /* Fill in the entry in the GOT procedure linkage table.  */
+      plt_offset = eh->plt_got.offset;
+      memcpy (plt->contents + plt_offset,
+	      got_plt_entry, sizeof (elf_x86_64_legacy_plt2_entry));
+
+      /* Put offset the PC-relative instruction referring to the GOT
+	 entry, subtracting the size of that instruction.  */
+      got_pcrel_offset = (got->output_section->vma
+			  + got->output_offset
+			  + got_offset
+			  - plt->output_section->vma
+			  - plt->output_offset
+			  - plt_offset
+			  - plt_got_insn_size);
+
+      /* Check PC-relative offset overflow in GOT PLT entry.  */
+      got_after_plt = got->output_section->vma > plt->output_section->vma;
+      if ((got_after_plt && got_pcrel_offset < 0)
+	  || (!got_after_plt && got_pcrel_offset > 0))
+	info->callbacks->einfo (_("%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"),
+				output_bfd, h->root.root.string);
+
+      bfd_put_32 (output_bfd, got_pcrel_offset,
+		  plt->contents + plt_offset + plt_got_offset);
+    }
+
+  if (!h->def_regular
+      && (h->plt.offset != (bfd_vma) -1
+	  || eh->plt_got.offset != (bfd_vma) -1))
+    {
+      /* Mark the symbol as undefined, rather than as defined in
+	 the .plt section.  Leave the value if there were any
+	 relocations where pointer equality matters (this is a clue
+	 for the dynamic linker, to make function pointer
+	 comparisons work between an application and shared
+	 library), otherwise set it to zero.  If a function is only
+	 called from a binary, there is no need to slow down
+	 shared libraries because of that.  */
+      sym->st_shndx = SHN_UNDEF;
+      if (!h->pointer_equality_needed)
+	sym->st_value = 0;
     }
 
   if (h->got.offset != (bfd_vma) -1
@@ -5354,6 +5569,10 @@ bad_return:
     {
       long reloc_index;
 
+      /* Skip unknown relocation.  */
+      if (p->howto == NULL)
+	continue;
+
       if (p->howto->type != R_X86_64_JUMP_SLOT
 	  && p->howto->type != R_X86_64_IRELATIVE)
 	continue;
@@ -5454,9 +5673,10 @@ elf_x86_64_add_symbol_hook (bfd *abfd,
       return TRUE;
     }
 
-  if ((abfd->flags & DYNAMIC) == 0
-      && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-	  || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE))
+  if ((ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+      && (abfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
 
   return TRUE;
@@ -5635,8 +5855,6 @@ static const struct bfd_elf_special_sect
 
 #define bfd_elf64_bfd_link_hash_table_create \
   elf_x86_64_link_hash_table_create
-#define bfd_elf64_bfd_link_hash_table_free \
-  elf_x86_64_link_hash_table_free
 #define bfd_elf64_bfd_reloc_type_lookup	    elf_x86_64_reloc_type_lookup
 #define bfd_elf64_bfd_reloc_name_lookup \
   elf_x86_64_reloc_name_lookup
@@ -5905,8 +6123,6 @@ elf32_x86_64_nacl_elf_object_p (bfd *abf
 
 #define bfd_elf32_bfd_link_hash_table_create \
   elf_x86_64_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free \
-  elf_x86_64_link_hash_table_free
 #define bfd_elf32_bfd_reloc_type_lookup	\
   elf_x86_64_reloc_type_lookup
 #define bfd_elf32_bfd_reloc_name_lookup \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-attrs.c ./bfd/elf-attrs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-attrs.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-attrs.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF attributes support (based on ARM EABI attributes).
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -430,9 +430,13 @@ _bfd_elf_parse_attributes (bfd *abfd, El
 {
   bfd_byte *contents;
   bfd_byte *p;
+  bfd_byte *p_end;
   bfd_vma len;
   const char *std_sec;
 
+  /* PR 17512: file: 2844a11d.  */
+  if (hdr->sh_size == 0)
+    return;
   contents = (bfd_byte *) bfd_malloc (hdr->sh_size);
   if (!contents)
     return;
@@ -443,11 +447,14 @@ _bfd_elf_parse_attributes (bfd *abfd, El
       return;
     }
   p = contents;
+  p_end = p + hdr->sh_size;
   std_sec = get_elf_backend_data (abfd)->obj_attrs_vendor;
+  
   if (*(p++) == 'A')
     {
       len = hdr->sh_size - 1;
-      while (len > 0)
+
+      while (len > 0 && p < p_end - 4)
 	{
 	  unsigned namelen;
 	  bfd_vma section_len;
@@ -455,6 +462,8 @@ _bfd_elf_parse_attributes (bfd *abfd, El
 
 	  section_len = bfd_get_32 (abfd, p);
 	  p += 4;
+	  if (section_len == 0)
+	    break;
 	  if (section_len > len)
 	    section_len = len;
 	  len -= section_len;
@@ -475,7 +484,7 @@ _bfd_elf_parse_attributes (bfd *abfd, El
 	    }
 
 	  p += namelen;
-	  while (section_len > 0)
+	  while (section_len > 0 && p < p_end)
 	    {
 	      int tag;
 	      unsigned int n;
@@ -483,15 +492,23 @@ _bfd_elf_parse_attributes (bfd *abfd, El
 	      bfd_vma subsection_len;
 	      bfd_byte *end;
 
-	      tag = read_unsigned_leb128 (abfd, p, &n);
+	      tag = safe_read_leb128 (abfd, p, &n, FALSE, p_end);
 	      p += n;
-	      subsection_len = bfd_get_32 (abfd, p);
+	      if (p < p_end - 4)
+		subsection_len = bfd_get_32 (abfd, p);
+	      else
+		subsection_len = 0;
 	      p += 4;
+	      if (subsection_len == 0)
+		break;
 	      if (subsection_len > section_len)
 		subsection_len = section_len;
 	      section_len -= subsection_len;
 	      subsection_len -= n + 4;
 	      end = p + subsection_len;
+	      /* PR 17512: file: 0e8c0c90.  */
+	      if (end > p_end)
+		end = p_end;
 	      switch (tag)
 		{
 		case Tag_File:
@@ -499,25 +516,25 @@ _bfd_elf_parse_attributes (bfd *abfd, El
 		    {
 		      int type;
 
-		      tag = read_unsigned_leb128 (abfd, p, &n);
+		      tag = safe_read_leb128 (abfd, p, &n, FALSE, end);
 		      p += n;
 		      type = _bfd_elf_obj_attrs_arg_type (abfd, vendor, tag);
 		      switch (type & (ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_STR_VAL))
 			{
 			case ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_STR_VAL:
-			  val = read_unsigned_leb128 (abfd, p, &n);
+			  val = safe_read_leb128 (abfd, p, &n, FALSE, end);
 			  p += n;
 			  bfd_elf_add_obj_attr_int_string (abfd, vendor, tag,
-							   val, (char *)p);
+							   val, (char *) p);
 			  p += strlen ((char *)p) + 1;
 			  break;
 			case ATTR_TYPE_FLAG_STR_VAL:
 			  bfd_elf_add_obj_attr_string (abfd, vendor, tag,
-						       (char *)p);
+						       (char *) p);
 			  p += strlen ((char *)p) + 1;
 			  break;
 			case ATTR_TYPE_FLAG_INT_VAL:
-			  val = read_unsigned_leb128 (abfd, p, &n);
+			  val = safe_read_leb128 (abfd, p, &n, FALSE, end);
 			  p += n;
 			  bfd_elf_add_obj_attr_int (abfd, vendor, tag, val);
 			  break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-bfd.h ./bfd/elf-bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-bfd.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-bfd.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end data structures for ELF files.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -196,6 +196,8 @@ struct elf_link_hash_entry
   unsigned int pointer_equality_needed : 1;
   /* Symbol is a unique global symbol.  */
   unsigned int unique_global : 1;
+  /* Symbol is defined with non-default visibility.  */
+  unsigned int protected_def : 1;
 
   /* String table index in .dynstr if this is a dynamic symbol.  */
   unsigned long dynstr_index;
@@ -280,7 +282,9 @@ struct eh_cie_fde
 
 	 If REMOVED == 0, this is the CIE that we have chosen to use for
 	 the output FDE.  The CIE's REMOVED field is also 0, but the CIE
-	 might belong to a different .eh_frame input section from the FDE.  */
+	 might belong to a different .eh_frame input section from the FDE.
+
+	 May be NULL to signify that the FDE should be discarded.  */
       struct eh_cie_fde *cie_inf;
       struct eh_cie_fde *next_for_section;
     } fde;
@@ -372,6 +376,7 @@ struct eh_frame_sec_info
 struct eh_frame_array_ent
 {
   bfd_vma initial_loc;
+  bfd_size_type range;
   bfd_vma fde;
 };
 
@@ -383,10 +388,6 @@ struct eh_frame_hdr_info
   asection *hdr_sec;
   unsigned int fde_count, array_count;
   struct eh_frame_array_ent *array;
-  /* TRUE if we should try to merge CIEs between input sections.  */
-  bfd_boolean merge_cies;
-  /* TRUE if all .eh_frames have been parsd.  */
-  bfd_boolean parsed_eh_frames;
   /* TRUE if .eh_frame_hdr should contain the sorted search table.
      We build it if we successfully read all .eh_frame input sections
      and recognize them.  */
@@ -1110,6 +1111,11 @@ struct elf_backend_data
   unsigned int (*elf_backend_count_relocs)
     (struct bfd_link_info *, asection *);
 
+  /* Say whether to sort relocs output by ld -r and ld --emit-relocs,
+     by r_offset.  If NULL, default to true.  */
+  bfd_boolean (*sort_relocs_p)
+    (asection *);
+
   /* This function, if defined, is called when an NT_PRSTATUS note is found
      in a core file.  */
   bfd_boolean (*elf_backend_grok_prstatus)
@@ -1773,6 +1779,8 @@ extern bfd_boolean _bfd_elf_copy_private
   (bfd *, bfd *);
 extern bfd_boolean _bfd_elf_print_private_bfd_data
   (bfd *, void *);
+const char * _bfd_elf_get_symbol_version_string
+  (bfd *, asymbol *, bfd_boolean *);
 extern void bfd_elf_print_symbol
   (bfd *, void *, asymbol *, bfd_print_symbol_type);
 
@@ -1816,7 +1824,7 @@ extern struct bfd_hash_entry *_bfd_elf_l
 extern struct bfd_link_hash_table *_bfd_elf_link_hash_table_create
   (bfd *);
 extern void _bfd_elf_link_hash_table_free
-  (struct bfd_link_hash_table *);
+  (bfd *);
 extern void _bfd_elf_link_hash_copy_indirect
   (struct bfd_link_info *, struct elf_link_hash_entry *,
    struct elf_link_hash_entry *);
@@ -1899,20 +1907,14 @@ extern alent *_bfd_elf_get_lineno
 extern bfd_boolean _bfd_elf_set_arch_mach
   (bfd *, enum bfd_architecture, unsigned long);
 extern bfd_boolean _bfd_elf_find_nearest_line
-  (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
-   unsigned int *);
-extern bfd_boolean _bfd_elf_find_nearest_line_discriminator
-  (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
-   unsigned int *, unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *);
 extern bfd_boolean _bfd_elf_find_line
   (bfd *, asymbol **, asymbol *, const char **, unsigned int *);
-extern bfd_boolean _bfd_elf_find_line_discriminator
-  (bfd *, asymbol **, asymbol *, const char **, unsigned int *, unsigned int *);
-#define _bfd_generic_find_line _bfd_elf_find_line
-#define _bfd_generic_find_nearest_line_discriminator \
-        _bfd_elf_find_nearest_line_discriminator
 extern bfd_boolean _bfd_elf_find_inliner_info
   (bfd *, const char **, const char **, unsigned int *);
+extern bfd_boolean _bfd_elf_find_function
+  (bfd *, asymbol **, asection *, bfd_vma, const char **, const char **);
 #define _bfd_elf_read_minisymbols _bfd_generic_read_minisymbols
 #define _bfd_elf_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
 extern int _bfd_elf_sizeof_headers
@@ -1968,13 +1970,8 @@ extern bfd_boolean _bfd_elf_strtab_emit
 extern void _bfd_elf_strtab_finalize
   (struct elf_strtab_hash *);
 
-extern void _bfd_elf_begin_eh_frame_parsing
-  (struct bfd_link_info *info);
 extern void _bfd_elf_parse_eh_frame
   (bfd *, struct bfd_link_info *, asection *, struct elf_reloc_cookie *);
-extern void _bfd_elf_end_eh_frame_parsing
-  (struct bfd_link_info *info);
-
 extern bfd_boolean _bfd_elf_discard_section_eh_frame
   (bfd *, struct bfd_link_info *, asection *,
    bfd_boolean (*) (bfd_vma, void *), struct elf_reloc_cookie *);
@@ -1997,8 +1994,6 @@ extern long _bfd_elf_link_lookup_local_d
   (struct bfd_link_info *, bfd *, long);
 extern bfd_boolean _bfd_elf_compute_section_file_positions
   (bfd *, struct bfd_link_info *);
-extern void _bfd_elf_assign_file_positions_for_relocs
-  (bfd *);
 extern file_ptr _bfd_elf_assign_file_position_for_section
   (Elf_Internal_Shdr *, file_ptr, bfd_boolean);
 
@@ -2033,7 +2028,7 @@ extern bfd_boolean _bfd_elf_link_output_
    struct elf_link_hash_entry **);
 
 extern bfd_boolean _bfd_elf_adjust_dynamic_copy
-  (struct elf_link_hash_entry *, asection *);
+  (struct bfd_link_info *, struct elf_link_hash_entry *, asection *);
 
 extern bfd_boolean _bfd_elf_dynamic_symbol_p
   (struct elf_link_hash_entry *, struct bfd_link_info *, bfd_boolean);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf.c ./bfd/elf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 /* ELF executable support for BFD.
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -297,13 +297,14 @@ bfd_elf_get_str_section (bfd *abfd, unsi
       /* Allocate and clear an extra byte at the end, to prevent crashes
 	 in case the string table is not terminated.  */
       if (shstrtabsize + 1 <= 1
-	  || (shstrtab = (bfd_byte *) bfd_alloc (abfd, shstrtabsize + 1)) == NULL
-	  || bfd_seek (abfd, offset, SEEK_SET) != 0)
+	  || bfd_seek (abfd, offset, SEEK_SET) != 0
+	  || (shstrtab = (bfd_byte *) bfd_alloc (abfd, shstrtabsize + 1)) == NULL)
 	shstrtab = NULL;
       else if (bfd_bread (shstrtab, shstrtabsize, abfd) != shstrtabsize)
 	{
 	  if (bfd_get_error () != bfd_error_system_call)
 	    bfd_set_error (bfd_error_file_truncated);
+	  bfd_release (abfd, shstrtab);
 	  shstrtab = NULL;
 	  /* Once we've failed to read it, make sure we don't keep
 	     trying.  Otherwise, we'll keep allocating space for
@@ -332,9 +333,19 @@ bfd_elf_string_from_elf_section (bfd *ab
 
   hdr = elf_elfsections (abfd)[shindex];
 
-  if (hdr->contents == NULL
-      && bfd_elf_get_str_section (abfd, shindex) == NULL)
-    return NULL;
+  if (hdr->contents == NULL)
+    {
+      if (hdr->sh_type != SHT_STRTAB && hdr->sh_type < SHT_LOOS)
+	{
+	  /* PR 17512: file: f057ec89.  */
+	  _bfd_error_handler (_("%B: attempt to load strings from a non-string section (number %d)"),
+			      abfd, shindex);
+	  return NULL;
+	}
+  
+      if (bfd_elf_get_str_section (abfd, shindex) == NULL)
+	return NULL;
+    }
 
   if (strindex >= hdr->sh_size)
     {
@@ -608,9 +619,10 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 		  if (shdr->contents == NULL)
 		    {
 		      _bfd_error_handler
-			(_("%B: Corrupt size field in group section header: 0x%lx"), abfd, shdr->sh_size);
+			(_("%B: corrupt size field in group section header: 0x%lx"), abfd, shdr->sh_size);
 		      bfd_set_error (bfd_error_bad_value);
-		      return FALSE;
+		      -- num_group;
+		      continue;
 		    }
 
 		  memset (shdr->contents, 0, amt);
@@ -618,7 +630,16 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 		  if (bfd_seek (abfd, shdr->sh_offset, SEEK_SET) != 0
 		      || (bfd_bread (shdr->contents, shdr->sh_size, abfd)
 			  != shdr->sh_size))
-		    return FALSE;
+		    {
+		      _bfd_error_handler
+			(_("%B: invalid size field in group section header: 0x%lx"), abfd, shdr->sh_size);
+		      bfd_set_error (bfd_error_bad_value);
+		      -- num_group;
+		      /* PR 17510: If the group contents are even partially
+			 corrupt, do not allow any of the contents to be used.  */
+		      memset (shdr->contents, 0, amt);
+		      continue;
+		    }
 
 		  /* Translate raw contents, a flag word followed by an
 		     array of elf section indices all in target byte order,
@@ -626,6 +647,7 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 		     pointers.  */
 		  src = shdr->contents + shdr->sh_size;
 		  dest = (Elf_Internal_Group *) (shdr->contents + amt);
+
 		  while (1)
 		    {
 		      unsigned int idx;
@@ -651,6 +673,21 @@ setup_group (bfd *abfd, Elf_Internal_Shd
 		    }
 		}
 	    }
+
+	  /* PR 17510: Corrupt binaries might contain invalid groups.  */
+	  if (num_group != (unsigned) elf_tdata (abfd)->num_group)
+	    {
+	      elf_tdata (abfd)->num_group = num_group;
+
+	      /* If all groups are invalid then fail.  */
+	      if (num_group == 0)
+		{
+		  elf_tdata (abfd)->group_sect_ptr = NULL;
+		  elf_tdata (abfd)->num_group = num_group = -1;
+		  (*_bfd_error_handler) (_("%B: no valid group sections found"), abfd);
+		  bfd_set_error (bfd_error_bad_value);
+		}
+	    }
 	}
     }
 
@@ -716,6 +753,7 @@ setup_group (bfd *abfd, Elf_Internal_Shd
     {
       (*_bfd_error_handler) (_("%B: no group info for section %A"),
 			     abfd, newsect);
+      return FALSE;
     }
   return TRUE;
 }
@@ -1227,8 +1265,13 @@ _bfd_elf_print_private_bfd_data (bfd *ab
       swap_dyn_in = get_elf_backend_data (abfd)->s->swap_dyn_in;
 
       extdyn = dynbuf;
+      /* PR 17512: file: 6f427532.  */
+      if (s->size < extdynsize)
+	goto error_return;
       extdynend = extdyn + s->size;
-      for (; extdyn < extdynend; extdyn += extdynsize)
+      /* PR 17512: file: id:000006,sig:06,src:000000,op:flip4,pos:5664.
+         Fix range check.  */
+      for (; extdyn <= (extdynend - extdynsize); extdyn += extdynsize)
 	{
 	  Elf_Internal_Dyn dyn;
 	  const char *name = "";
@@ -1396,6 +1439,53 @@ _bfd_elf_print_private_bfd_data (bfd *ab
   return FALSE;
 }
 
+/* Get version string.  */
+
+const char *
+_bfd_elf_get_symbol_version_string (bfd *abfd, asymbol *symbol,
+				    bfd_boolean *hidden)
+{
+  const char *version_string = NULL;
+  if (elf_dynversym (abfd) != 0
+      && (elf_dynverdef (abfd) != 0 || elf_dynverref (abfd) != 0))
+    {
+      unsigned int vernum = ((elf_symbol_type *) symbol)->version;
+
+      *hidden = (vernum & VERSYM_HIDDEN) != 0;
+      vernum &= VERSYM_VERSION;
+
+      if (vernum == 0)
+	version_string = "";
+      else if (vernum == 1)
+	version_string = "Base";
+      else if (vernum <= elf_tdata (abfd)->cverdefs)
+	version_string =
+	  elf_tdata (abfd)->verdef[vernum - 1].vd_nodename;
+      else
+	{
+	  Elf_Internal_Verneed *t;
+
+	  version_string = "";
+	  for (t = elf_tdata (abfd)->verref;
+	       t != NULL;
+	       t = t->vn_nextref)
+	    {
+	      Elf_Internal_Vernaux *a;
+
+	      for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
+		{
+		  if (a->vna_other == vernum)
+		    {
+		      version_string = a->vna_nodename;
+		      break;
+		    }
+		}
+	    }
+	}
+    }
+  return version_string;
+}
+
 /* Display ELF-specific fields of a symbol.  */
 
 void
@@ -1422,6 +1512,8 @@ bfd_elf_print_symbol (bfd *abfd,
 	const struct elf_backend_data *bed;
 	unsigned char st_other;
 	bfd_vma val;
+	const char *version_string;
+	bfd_boolean hidden;
 
 	section_name = symbol->section ? symbol->section->name : "(*none*)";
 
@@ -1447,45 +1539,12 @@ bfd_elf_print_symbol (bfd *abfd,
 	bfd_fprintf_vma (abfd, file, val);
 
 	/* If we have version information, print it.  */
-	if (elf_dynversym (abfd) != 0
-	    && (elf_dynverdef (abfd) != 0
-		|| elf_dynverref (abfd) != 0))
+	version_string = _bfd_elf_get_symbol_version_string (abfd,
+							     symbol,
+							     &hidden);
+	if (version_string)
 	  {
-	    unsigned int vernum;
-	    const char *version_string;
-
-	    vernum = ((elf_symbol_type *) symbol)->version & VERSYM_VERSION;
-
-	    if (vernum == 0)
-	      version_string = "";
-	    else if (vernum == 1)
-	      version_string = "Base";
-	    else if (vernum <= elf_tdata (abfd)->cverdefs)
-	      version_string =
-		elf_tdata (abfd)->verdef[vernum - 1].vd_nodename;
-	    else
-	      {
-		Elf_Internal_Verneed *t;
-
-		version_string = "";
-		for (t = elf_tdata (abfd)->verref;
-		     t != NULL;
-		     t = t->vn_nextref)
-		  {
-		    Elf_Internal_Vernaux *a;
-
-		    for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
-		      {
-			if (a->vna_other == vernum)
-			  {
-			    version_string = a->vna_nodename;
-			    break;
-			  }
-		      }
-		  }
-	      }
-
-	    if ((((elf_symbol_type *) symbol)->version & VERSYM_HIDDEN) == 0)
+	    if (!hidden)
 	      fprintf (file, "  %-11s", version_string);
 	    else
 	      {
@@ -1552,38 +1611,74 @@ bfd_section_from_shdr (bfd *abfd, unsign
   Elf_Internal_Ehdr *ehdr;
   const struct elf_backend_data *bed;
   const char *name;
+  bfd_boolean ret = TRUE;
+  static bfd_boolean * sections_being_created = NULL;
+  static bfd * sections_being_created_abfd = NULL;
+  static unsigned int nesting = 0;
 
   if (shindex >= elf_numsections (abfd))
     return FALSE;
 
+  if (++ nesting > 3)
+    {
+      /* PR17512: A corrupt ELF binary might contain a recursive group of
+	 sections, with each the string indicies pointing to the next in the
+	 loop.  Detect this here, by refusing to load a section that we are
+	 already in the process of loading.  We only trigger this test if
+	 we have nested at least three sections deep as normal ELF binaries
+	 can expect to recurse at least once.
+
+	 FIXME: It would be better if this array was attached to the bfd,
+	 rather than being held in a static pointer.  */
+
+      if (sections_being_created_abfd != abfd)
+	sections_being_created = NULL;
+      if (sections_being_created == NULL)
+	{
+	  /* FIXME: It would be more efficient to attach this array to the bfd somehow.  */
+	  sections_being_created = (bfd_boolean *)
+	    bfd_zalloc (abfd, elf_numsections (abfd) * sizeof (bfd_boolean));
+	  sections_being_created_abfd = abfd;
+	}
+      if (sections_being_created [shindex])
+	{
+	  (*_bfd_error_handler)
+	    (_("%B: warning: loop in section dependencies detected"), abfd);
+	  return FALSE;
+	}
+      sections_being_created [shindex] = TRUE;
+    }
+
   hdr = elf_elfsections (abfd)[shindex];
   ehdr = elf_elfheader (abfd);
   name = bfd_elf_string_from_elf_section (abfd, ehdr->e_shstrndx,
 					  hdr->sh_name);
   if (name == NULL)
-    return FALSE;
+    goto fail;
 
   bed = get_elf_backend_data (abfd);
   switch (hdr->sh_type)
     {
     case SHT_NULL:
       /* Inactive section. Throw it away.  */
-      return TRUE;
+      goto success;
 
-    case SHT_PROGBITS:	/* Normal section with contents.  */
-    case SHT_NOBITS:	/* .bss section.  */
-    case SHT_HASH:	/* .hash section.  */
-    case SHT_NOTE:	/* .note section.  */
+    case SHT_PROGBITS:		/* Normal section with contents.  */
+    case SHT_NOBITS:		/* .bss section.  */
+    case SHT_HASH:		/* .hash section.  */
+    case SHT_NOTE:		/* .note section.  */
     case SHT_INIT_ARRAY:	/* .init_array section.  */
     case SHT_FINI_ARRAY:	/* .fini_array section.  */
     case SHT_PREINIT_ARRAY:	/* .preinit_array section.  */
     case SHT_GNU_LIBLIST:	/* .gnu.liblist section.  */
     case SHT_GNU_HASH:		/* .gnu.hash section.  */
-      return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      goto success;
 
     case SHT_DYNAMIC:	/* Dynamic linking information.  */
       if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
-	return FALSE;
+	goto fail;
+
       if (hdr->sh_link > elf_numsections (abfd))
 	{
 	  /* PR 10478: Accept Solaris binaries with a sh_link
@@ -1597,11 +1692,11 @@ bfd_section_from_shdr (bfd *abfd, unsign
 		break;
 	      /* Otherwise fall through.  */
 	    default:
-	      return FALSE;
+	      goto fail;
 	    }
 	}
       else if (elf_elfsections (abfd)[hdr->sh_link] == NULL)
-	return FALSE;
+	goto fail;
       else if (elf_elfsections (abfd)[hdr->sh_link]->sh_type != SHT_STRTAB)
 	{
 	  Elf_Internal_Shdr *dynsymhdr;
@@ -1630,24 +1725,26 @@ bfd_section_from_shdr (bfd *abfd, unsign
 		}
 	    }
 	}
-      break;
+      goto success;
 
-    case SHT_SYMTAB:		/* A symbol table */
+    case SHT_SYMTAB:		/* A symbol table.  */
       if (elf_onesymtab (abfd) == shindex)
-	return TRUE;
+	goto success;
 
       if (hdr->sh_entsize != bed->s->sizeof_sym)
-	return FALSE;
+	goto fail;
+
       if (hdr->sh_info * hdr->sh_entsize > hdr->sh_size)
 	{
 	  if (hdr->sh_size != 0)
-	    return FALSE;
+	    goto fail;
 	  /* Some assemblers erroneously set sh_info to one with a
 	     zero sh_size.  ld sees this as a global symbol count
 	     of (unsigned) -1.  Fix it here.  */
 	  hdr->sh_info = 0;
-	  return TRUE;
+	  goto success;
 	}
+
       BFD_ASSERT (elf_onesymtab (abfd) == 0);
       elf_onesymtab (abfd) = shindex;
       elf_tdata (abfd)->symtab_hdr = *hdr;
@@ -1664,7 +1761,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	  && (abfd->flags & DYNAMIC) != 0
 	  && ! _bfd_elf_make_section_from_shdr (abfd, hdr, name,
 						shindex))
-	return FALSE;
+	goto fail;
 
       /* Go looking for SHT_SYMTAB_SHNDX too, since if there is one we
 	 can't read symbols without that section loaded as well.  It
@@ -1690,26 +1787,29 @@ bfd_section_from_shdr (bfd *abfd, unsign
 		  break;
 	      }
 	  if (i != shindex)
-	    return bfd_section_from_shdr (abfd, i);
+	    ret = bfd_section_from_shdr (abfd, i);
 	}
-      return TRUE;
+      goto success;
 
-    case SHT_DYNSYM:		/* A dynamic symbol table */
+    case SHT_DYNSYM:		/* A dynamic symbol table.  */
       if (elf_dynsymtab (abfd) == shindex)
-	return TRUE;
+	goto success;
 
       if (hdr->sh_entsize != bed->s->sizeof_sym)
-	return FALSE;
+	goto fail;
+
       if (hdr->sh_info * hdr->sh_entsize > hdr->sh_size)
 	{
 	  if (hdr->sh_size != 0)
-	    return FALSE;
+	    goto fail;
+
 	  /* Some linkers erroneously set sh_info to one with a
 	     zero sh_size.  ld sees this as a global symbol count
 	     of (unsigned) -1.  Fix it here.  */
 	  hdr->sh_info = 0;
-	  return TRUE;
+	  goto success;
 	}
+
       BFD_ASSERT (elf_dynsymtab (abfd) == 0);
       elf_dynsymtab (abfd) = shindex;
       elf_tdata (abfd)->dynsymtab_hdr = *hdr;
@@ -1718,34 +1818,38 @@ bfd_section_from_shdr (bfd *abfd, unsign
 
       /* Besides being a symbol table, we also treat this as a regular
 	 section, so that objcopy can handle it.  */
-      return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      goto success;
 
-    case SHT_SYMTAB_SHNDX:	/* Symbol section indices when >64k sections */
+    case SHT_SYMTAB_SHNDX:	/* Symbol section indices when >64k sections.  */
       if (elf_symtab_shndx (abfd) == shindex)
-	return TRUE;
+	goto success;
 
       BFD_ASSERT (elf_symtab_shndx (abfd) == 0);
       elf_symtab_shndx (abfd) = shindex;
       elf_tdata (abfd)->symtab_shndx_hdr = *hdr;
       elf_elfsections (abfd)[shindex] = &elf_tdata (abfd)->symtab_shndx_hdr;
-      return TRUE;
+      goto success;
 
-    case SHT_STRTAB:		/* A string table */
+    case SHT_STRTAB:		/* A string table.  */
       if (hdr->bfd_section != NULL)
-	return TRUE;
+	goto success;
+
       if (ehdr->e_shstrndx == shindex)
 	{
 	  elf_tdata (abfd)->shstrtab_hdr = *hdr;
 	  elf_elfsections (abfd)[shindex] = &elf_tdata (abfd)->shstrtab_hdr;
-	  return TRUE;
+	  goto success;
 	}
+
       if (elf_elfsections (abfd)[elf_onesymtab (abfd)]->sh_link == shindex)
 	{
 	symtab_strtab:
 	  elf_tdata (abfd)->strtab_hdr = *hdr;
 	  elf_elfsections (abfd)[shindex] = &elf_tdata (abfd)->strtab_hdr;
-	  return TRUE;
+	  goto success;
 	}
+
       if (elf_elfsections (abfd)[elf_dynsymtab (abfd)]->sh_link == shindex)
 	{
 	dynsymtab_strtab:
@@ -1754,8 +1858,9 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	  elf_elfsections (abfd)[shindex] = hdr;
 	  /* We also treat this as a regular section, so that objcopy
 	     can handle it.  */
-	  return _bfd_elf_make_section_from_shdr (abfd, hdr, name,
-						  shindex);
+	  ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name,
+						 shindex);
+	  goto success;
 	}
 
       /* If the string table isn't one of the above, then treat it as a
@@ -1773,9 +1878,9 @@ bfd_section_from_shdr (bfd *abfd, unsign
 		{
 		  /* Prevent endless recursion on broken objects.  */
 		  if (i == shindex)
-		    return FALSE;
+		    goto fail;
 		  if (! bfd_section_from_shdr (abfd, i))
-		    return FALSE;
+		    goto fail;
 		  if (elf_onesymtab (abfd) == i)
 		    goto symtab_strtab;
 		  if (elf_dynsymtab (abfd) == i)
@@ -1783,7 +1888,8 @@ bfd_section_from_shdr (bfd *abfd, unsign
 		}
 	    }
 	}
-      return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      goto success;
 
     case SHT_REL:
     case SHT_RELA:
@@ -1798,7 +1904,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	if (hdr->sh_entsize
 	    != (bfd_size_type) (hdr->sh_type == SHT_REL
 				? bed->s->sizeof_rel : bed->s->sizeof_rela))
-	  return FALSE;
+	  goto fail;
 
 	/* Check for a bogus link to avoid crashing.  */
 	if (hdr->sh_link >= num_sec)
@@ -1806,8 +1912,9 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	    ((*_bfd_error_handler)
 	     (_("%B: invalid link %lu for reloc section %s (index %u)"),
 	      abfd, hdr->sh_link, name, shindex));
-	    return _bfd_elf_make_section_from_shdr (abfd, hdr, name,
-						    shindex);
+	    ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name,
+						   shindex);
+	    goto success;
 	  }
 
 	/* For some incomprehensible reason Oracle distributes
@@ -1848,7 +1955,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	if ((elf_elfsections (abfd)[hdr->sh_link]->sh_type == SHT_SYMTAB
 	     || elf_elfsections (abfd)[hdr->sh_link]->sh_type == SHT_DYNSYM)
 	    && ! bfd_section_from_shdr (abfd, hdr->sh_link))
-	  return FALSE;
+	  goto fail;
 
 	/* If this reloc section does not use the main symbol table we
 	   don't treat it as a reloc section.  BFD can't adequately
@@ -1863,14 +1970,18 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	    || hdr->sh_info >= num_sec
 	    || elf_elfsections (abfd)[hdr->sh_info]->sh_type == SHT_REL
 	    || elf_elfsections (abfd)[hdr->sh_info]->sh_type == SHT_RELA)
-	  return _bfd_elf_make_section_from_shdr (abfd, hdr, name,
-						  shindex);
+	  {
+	    ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name,
+						   shindex);
+	    goto success;
+	  }
 
 	if (! bfd_section_from_shdr (abfd, hdr->sh_info))
-	  return FALSE;
+	  goto fail;
+
 	target_sect = bfd_section_from_elf_index (abfd, hdr->sh_info);
 	if (target_sect == NULL)
-	  return FALSE;
+	  goto fail;
 
 	esdt = elf_section_data (target_sect);
 	if (hdr->sh_type == SHT_RELA)
@@ -1878,11 +1989,13 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	else
 	  p_hdr = &esdt->rel.hdr;
 
-	BFD_ASSERT (*p_hdr == NULL);
+	/* PR 17512: file: 0b4f81b7.  */
+	if (*p_hdr != NULL)
+	  goto fail;
 	amt = sizeof (*hdr2);
 	hdr2 = (Elf_Internal_Shdr *) bfd_alloc (abfd, amt);
 	if (hdr2 == NULL)
-	  return FALSE;
+	  goto fail;
 	*hdr2 = *hdr;
 	*p_hdr = hdr2;
 	elf_elfsections (abfd)[shindex] = hdr2;
@@ -1898,46 +2011,55 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	      target_sect->use_rela_p = 1;
 	  }
 	abfd->flags |= HAS_RELOC;
-	return TRUE;
+	goto success;
       }
 
     case SHT_GNU_verdef:
       elf_dynverdef (abfd) = shindex;
       elf_tdata (abfd)->dynverdef_hdr = *hdr;
-      return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      goto success;
 
     case SHT_GNU_versym:
       if (hdr->sh_entsize != sizeof (Elf_External_Versym))
-	return FALSE;
+	goto fail;
+
       elf_dynversym (abfd) = shindex;
       elf_tdata (abfd)->dynversym_hdr = *hdr;
-      return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      goto success;
 
     case SHT_GNU_verneed:
       elf_dynverref (abfd) = shindex;
       elf_tdata (abfd)->dynverref_hdr = *hdr;
-      return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+      goto success;
 
     case SHT_SHLIB:
-      return TRUE;
+      goto success;
 
     case SHT_GROUP:
       if (! IS_VALID_GROUP_SECTION_HEADER (hdr, GRP_ENTRY_SIZE))
-	return FALSE;
+	goto fail;
+
       if (!_bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
-	return FALSE;
+	goto fail;
+
       if (hdr->contents != NULL)
 	{
 	  Elf_Internal_Group *idx = (Elf_Internal_Group *) hdr->contents;
-	  unsigned int n_elt = hdr->sh_size / GRP_ENTRY_SIZE;
+	  unsigned int n_elt = hdr->sh_size / sizeof (* idx);
 	  asection *s;
 
+	  if (n_elt == 0)
+	    goto fail;
 	  if (idx->flags & GRP_COMDAT)
 	    hdr->bfd_section->flags
 	      |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
 
 	  /* We try to keep the same section order as it comes in.  */
 	  idx += n_elt;
+
 	  while (--n_elt != 0)
 	    {
 	      --idx;
@@ -1951,7 +2073,7 @@ bfd_section_from_shdr (bfd *abfd, unsign
 		}
 	    }
 	}
-      break;
+      goto success;
 
     default:
       /* Possibly an attributes section.  */
@@ -1959,14 +2081,14 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	  || hdr->sh_type == bed->obj_attrs_section_type)
 	{
 	  if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
-	    return FALSE;
+	    goto fail;
 	  _bfd_elf_parse_attributes (abfd, hdr);
-	  return TRUE;
+	  goto success;
 	}
 
       /* Check for any processor-specific section types.  */
       if (bed->elf_backend_section_from_shdr (abfd, hdr, name, shindex))
-	return TRUE;
+	goto success;
 
       if (hdr->sh_type >= SHT_LOUSER && hdr->sh_type <= SHT_HIUSER)
 	{
@@ -1978,9 +2100,12 @@ bfd_section_from_shdr (bfd *abfd, unsign
 		 "specific section `%s' [0x%8x]"),
 	       abfd, name, hdr->sh_type);
 	  else
-	    /* Allow sections reserved for applications.  */
-	    return _bfd_elf_make_section_from_shdr (abfd, hdr, name,
-						    shindex);
+	    {
+	      /* Allow sections reserved for applications.  */
+	      ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name,
+						     shindex);
+	      goto success;
+	    }
 	}
       else if (hdr->sh_type >= SHT_LOPROC
 	       && hdr->sh_type <= SHT_HIPROC)
@@ -2001,8 +2126,11 @@ bfd_section_from_shdr (bfd *abfd, unsign
 		 "`%s' [0x%8x]"),
 	       abfd, name, hdr->sh_type);
 	  else
-	    /* Otherwise it should be processed.  */
-	    return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+	    {
+	      /* Otherwise it should be processed.  */
+	      ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+	      goto success;
+	    }
 	}
       else
 	/* FIXME: We should handle this section.  */
@@ -2010,10 +2138,20 @@ bfd_section_from_shdr (bfd *abfd, unsign
 	  (_("%B: don't know how to handle section `%s' [0x%8x]"),
 	   abfd, name, hdr->sh_type);
 
-      return FALSE;
+      goto fail;
     }
 
-  return TRUE;
+ fail:
+  ret = FALSE;
+ success:
+  if (sections_being_created && sections_being_created_abfd == abfd)
+    sections_being_created [shindex] = FALSE;
+  if (-- nesting == 0)
+    {
+      sections_being_created = NULL;
+      sections_being_created_abfd = abfd;
+    }
+  return ret;
 }
 
 /* Return the local symbol specified by ABFD, R_SYMNDX.  */
@@ -3873,6 +4011,11 @@ _bfd_elf_map_sections_to_segments (bfd *
       last_size = 0;
       phdr_index = 0;
       maxpagesize = bed->maxpagesize;
+      /* PR 17512: file: c8455299.
+	 Avoid divide-by-zero errors later on.
+	 FIXME: Should we abort if the maxpagesize is zero ?  */
+      if (maxpagesize == 0)
+	maxpagesize = 1;
       writable = FALSE;
       dynsec = bfd_get_section_by_name (abfd, ".dynamic");
       if (dynsec != NULL
@@ -5124,7 +5267,6 @@ assign_file_positions_except_relocs (bfd
 {
   struct elf_obj_tdata *tdata = elf_tdata (abfd);
   Elf_Internal_Ehdr *i_ehdrp = elf_elfheader (abfd);
-  file_ptr off;
   const struct elf_backend_data *bed = get_elf_backend_data (abfd);
 
   if ((abfd->flags & (EXEC_P | DYNAMIC)) == 0
@@ -5134,6 +5276,7 @@ assign_file_positions_except_relocs (bfd
       unsigned int num_sec = elf_numsections (abfd);
       Elf_Internal_Shdr **hdrpp;
       unsigned int i;
+      file_ptr off;
 
       /* Start after the ELF header.  */
       off = i_ehdrp->e_ehsize;
@@ -5157,6 +5300,8 @@ assign_file_positions_except_relocs (bfd
 	  else
 	    off = _bfd_elf_assign_file_position_for_section (hdr, off, TRUE);
 	}
+
+      elf_next_file_pos (abfd) = off;
     }
   else
     {
@@ -5203,17 +5348,8 @@ assign_file_positions_except_relocs (bfd
       if (bfd_seek (abfd, (bfd_signed_vma) bed->s->sizeof_ehdr, SEEK_SET) != 0
 	  || bed->s->write_out_phdrs (abfd, tdata->phdr, alloc) != 0)
 	return FALSE;
-
-      off = elf_next_file_pos (abfd);
     }
 
-  /* Place the section headers.  */
-  off = align_file_position (off, 1 << bed->s->log_file_align);
-  i_ehdrp->e_shoff = off;
-  off += i_ehdrp->e_shnum * i_ehdrp->e_shentsize;
-
-  elf_next_file_pos (abfd) = off;
-
   return TRUE;
 }
 
@@ -5298,7 +5434,7 @@ prep_headers (bfd *abfd)
   elf_tdata (abfd)->shstrtab_hdr.sh_name =
     (unsigned int) _bfd_elf_strtab_add (shstrtab, ".shstrtab", FALSE);
   if (elf_tdata (abfd)->symtab_hdr.sh_name == (unsigned int) -1
-      || elf_tdata (abfd)->symtab_hdr.sh_name == (unsigned int) -1
+      || elf_tdata (abfd)->strtab_hdr.sh_name == (unsigned int) -1
       || elf_tdata (abfd)->shstrtab_hdr.sh_name == (unsigned int) -1)
     return FALSE;
 
@@ -5306,14 +5442,16 @@ prep_headers (bfd *abfd)
 }
 
 /* Assign file positions for all the reloc sections which are not part
-   of the loadable file image.  */
+   of the loadable file image, and the file position of section headers.  */
 
-void
+static void
 _bfd_elf_assign_file_positions_for_relocs (bfd *abfd)
 {
   file_ptr off;
   unsigned int i, num_sec;
   Elf_Internal_Shdr **shdrpp;
+  Elf_Internal_Ehdr *i_ehdrp;
+  const struct elf_backend_data *bed;
 
   off = elf_next_file_pos (abfd);
 
@@ -5328,6 +5466,12 @@ _bfd_elf_assign_file_positions_for_reloc
 	off = _bfd_elf_assign_file_position_for_section (shdrp, off, TRUE);
     }
 
+/* Place the section headers.  */
+  i_ehdrp = elf_elfheader (abfd);
+  bed = get_elf_backend_data (abfd);
+  off = align_file_position (off, 1 << bed->s->log_file_align);
+  i_ehdrp->e_shoff = off;
+  off += i_ehdrp->e_shnum * i_ehdrp->e_shentsize;
   elf_next_file_pos (abfd) = off;
 }
 
@@ -7168,26 +7312,30 @@ _bfd_elf_slurp_version_tables (bfd *abfd
 
       hdr = &elf_tdata (abfd)->dynverref_hdr;
 
-      elf_tdata (abfd)->verref = (Elf_Internal_Verneed *)
-          bfd_zalloc2 (abfd, hdr->sh_info, sizeof (Elf_Internal_Verneed));
-      if (elf_tdata (abfd)->verref == NULL)
-	goto error_return;
-
-      elf_tdata (abfd)->cverrefs = hdr->sh_info;
-
-      contents = (bfd_byte *) bfd_malloc (hdr->sh_size);
-      if (contents == NULL)
+      if (hdr->sh_info == 0 || hdr->sh_size < sizeof (Elf_External_Verneed))
 	{
+error_return_bad_verref:
+	  (*_bfd_error_handler)
+	    (_("%B: .gnu.version_r invalid entry"), abfd);
+	  bfd_set_error (bfd_error_bad_value);
 error_return_verref:
 	  elf_tdata (abfd)->verref = NULL;
 	  elf_tdata (abfd)->cverrefs = 0;
 	  goto error_return;
 	}
+
+      contents = (bfd_byte *) bfd_malloc (hdr->sh_size);
+      if (contents == NULL)
+	goto error_return_verref;
+
       if (bfd_seek (abfd, hdr->sh_offset, SEEK_SET) != 0
 	  || bfd_bread (contents, hdr->sh_size, abfd) != hdr->sh_size)
 	goto error_return_verref;
 
-      if (hdr->sh_info && hdr->sh_size < sizeof (Elf_External_Verneed))
+      elf_tdata (abfd)->verref = (Elf_Internal_Verneed *)
+	bfd_zalloc2 (abfd, hdr->sh_info, sizeof (Elf_Internal_Verneed));
+
+      if (elf_tdata (abfd)->verref == NULL)
 	goto error_return_verref;
 
       BFD_ASSERT (sizeof (Elf_External_Verneed)
@@ -7209,7 +7357,7 @@ error_return_verref:
 	    bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
 					     iverneed->vn_file);
 	  if (iverneed->vn_filename == NULL)
-	    goto error_return_verref;
+	    goto error_return_bad_verref;
 
 	  if (iverneed->vn_cnt == 0)
 	    iverneed->vn_auxptr = NULL;
@@ -7224,7 +7372,7 @@ error_return_verref:
 
 	  if (iverneed->vn_aux
 	      > (size_t) (contents_end - (bfd_byte *) everneed))
-	    goto error_return_verref;
+	    goto error_return_bad_verref;
 
 	  evernaux = ((Elf_External_Vernaux *)
 		      ((bfd_byte *) everneed + iverneed->vn_aux));
@@ -7237,36 +7385,42 @@ error_return_verref:
 		bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
 						 ivernaux->vna_name);
 	      if (ivernaux->vna_nodename == NULL)
-		goto error_return_verref;
+		goto error_return_bad_verref;
+
+	      if (ivernaux->vna_other > freeidx)
+		freeidx = ivernaux->vna_other;
 
+	      ivernaux->vna_nextptr = NULL;
+	      if (ivernaux->vna_next == 0)
+		{
+		  iverneed->vn_cnt = j + 1;
+		  break;
+		}
 	      if (j + 1 < iverneed->vn_cnt)
 		ivernaux->vna_nextptr = ivernaux + 1;
-	      else
-		ivernaux->vna_nextptr = NULL;
 
 	      if (ivernaux->vna_next
 		  > (size_t) (contents_end - (bfd_byte *) evernaux))
-		goto error_return_verref;
+		goto error_return_bad_verref;
 
 	      evernaux = ((Elf_External_Vernaux *)
 			  ((bfd_byte *) evernaux + ivernaux->vna_next));
-
-	      if (ivernaux->vna_other > freeidx)
-		freeidx = ivernaux->vna_other;
 	    }
 
+	  iverneed->vn_nextref = NULL;
+	  if (iverneed->vn_next == 0)
+	    break;
 	  if (i + 1 < hdr->sh_info)
 	    iverneed->vn_nextref = iverneed + 1;
-	  else
-	    iverneed->vn_nextref = NULL;
 
 	  if (iverneed->vn_next
 	      > (size_t) (contents_end - (bfd_byte *) everneed))
-	    goto error_return_verref;
+	    goto error_return_bad_verref;
 
 	  everneed = ((Elf_External_Verneed *)
 		      ((bfd_byte *) everneed + iverneed->vn_next));
 	}
+      elf_tdata (abfd)->cverrefs = i;
 
       free (contents);
       contents = NULL;
@@ -7285,15 +7439,24 @@ error_return_verref:
 
       hdr = &elf_tdata (abfd)->dynverdef_hdr;
 
+      if (hdr->sh_info == 0 || hdr->sh_size < sizeof (Elf_External_Verdef))
+	{
+	error_return_bad_verdef:
+	  (*_bfd_error_handler)
+	    (_("%B: .gnu.version_d invalid entry"), abfd);
+	  bfd_set_error (bfd_error_bad_value);
+	error_return_verdef:
+	  elf_tdata (abfd)->verdef = NULL;
+	  elf_tdata (abfd)->cverdefs = 0;
+	  goto error_return;
+	}
+
       contents = (bfd_byte *) bfd_malloc (hdr->sh_size);
       if (contents == NULL)
-	goto error_return;
+	goto error_return_verdef;
       if (bfd_seek (abfd, hdr->sh_offset, SEEK_SET) != 0
 	  || bfd_bread (contents, hdr->sh_size, abfd) != hdr->sh_size)
-	goto error_return;
-
-      if (hdr->sh_info && hdr->sh_size < sizeof (Elf_External_Verdef))
-	goto error_return;
+	goto error_return_verdef;
 
       BFD_ASSERT (sizeof (Elf_External_Verdef)
 		  >= sizeof (Elf_External_Verdaux));
@@ -7311,12 +7474,17 @@ error_return_verref:
 	{
 	  _bfd_elf_swap_verdef_in (abfd, everdef, &iverdefmem);
 
+	  if ((iverdefmem.vd_ndx & ((unsigned) VERSYM_VERSION)) == 0)
+	    goto error_return_bad_verdef;
 	  if ((iverdefmem.vd_ndx & ((unsigned) VERSYM_VERSION)) > maxidx)
 	    maxidx = iverdefmem.vd_ndx & ((unsigned) VERSYM_VERSION);
 
+	  if (iverdefmem.vd_next == 0)
+	    break;
+
 	  if (iverdefmem.vd_next
 	      > (size_t) (contents_end_def - (bfd_byte *) everdef))
-	    goto error_return;
+	    goto error_return_bad_verdef;
 
 	  everdef = ((Elf_External_Verdef *)
 		     ((bfd_byte *) everdef + iverdefmem.vd_next));
@@ -7329,10 +7497,11 @@ error_return_verref:
 	  else
 	    freeidx = ++maxidx;
 	}
+
       elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *)
-          bfd_zalloc2 (abfd, maxidx, sizeof (Elf_Internal_Verdef));
+	bfd_zalloc2 (abfd, maxidx, sizeof (Elf_Internal_Verdef));
       if (elf_tdata (abfd)->verdef == NULL)
-	goto error_return;
+	goto error_return_verdef;
 
       elf_tdata (abfd)->cverdefs = maxidx;
 
@@ -7347,12 +7516,7 @@ error_return_verref:
 	  _bfd_elf_swap_verdef_in (abfd, everdef, &iverdefmem);
 
 	  if ((iverdefmem.vd_ndx & VERSYM_VERSION) == 0)
-	    {
-error_return_verdef:
-	      elf_tdata (abfd)->verdef = NULL;
-	      elf_tdata (abfd)->cverdefs = 0;
-	      goto error_return;
-	    }
+	    goto error_return_bad_verdef;
 
 	  iverdef = &iverdefarr[(iverdefmem.vd_ndx & VERSYM_VERSION) - 1];
 	  memcpy (iverdef, &iverdefmem, sizeof (Elf_Internal_Verdef));
@@ -7372,7 +7536,7 @@ error_return_verdef:
 
 	  if (iverdef->vd_aux
 	      > (size_t) (contents_end_aux - (bfd_byte *) everdef))
-	    goto error_return_verdef;
+	    goto error_return_bad_verdef;
 
 	  everdaux = ((Elf_External_Verdaux *)
 		      ((bfd_byte *) everdef + iverdef->vd_aux));
@@ -7385,16 +7549,20 @@ error_return_verdef:
 		bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
 						 iverdaux->vda_name);
 	      if (iverdaux->vda_nodename == NULL)
-		goto error_return_verdef;
+		goto error_return_bad_verdef;
 
+	      iverdaux->vda_nextptr = NULL;
+	      if (iverdaux->vda_next == 0)
+		{
+		  iverdef->vd_cnt = j + 1;
+		  break;
+		}
 	      if (j + 1 < iverdef->vd_cnt)
 		iverdaux->vda_nextptr = iverdaux + 1;
-	      else
-		iverdaux->vda_nextptr = NULL;
 
 	      if (iverdaux->vda_next
 		  > (size_t) (contents_end_aux - (bfd_byte *) everdaux))
-		goto error_return_verdef;
+		goto error_return_bad_verdef;
 
 	      everdaux = ((Elf_External_Verdaux *)
 			  ((bfd_byte *) everdaux + iverdaux->vda_next));
@@ -7403,10 +7571,11 @@ error_return_verdef:
 	  if (iverdef->vd_cnt)
 	    iverdef->vd_nodename = iverdef->vd_auxptr->vda_nodename;
 
+	  iverdef->vd_nextdef = NULL;
+	  if (iverdef->vd_next == 0)
+	    break;
 	  if ((size_t) (iverdef - iverdefarr) + 1 < maxidx)
 	    iverdef->vd_nextdef = iverdef + 1;
-	  else
-	    iverdef->vd_nextdef = NULL;
 
 	  everdef = ((Elf_External_Verdef *)
 		     ((bfd_byte *) everdef + iverdef->vd_next));
@@ -7449,14 +7618,13 @@ error_return_verdef:
       if (iverdef->vd_nodename == NULL)
 	goto error_return_verdef;
       iverdef->vd_nextdef = NULL;
-      iverdef->vd_auxptr = (struct elf_internal_verdaux *)
-          bfd_alloc (abfd, sizeof (Elf_Internal_Verdaux));
+      iverdef->vd_auxptr = ((struct elf_internal_verdaux *)
+			    bfd_zalloc (abfd, sizeof (Elf_Internal_Verdaux)));
       if (iverdef->vd_auxptr == NULL)
 	goto error_return_verdef;
 
       iverdaux = iverdef->vd_auxptr;
       iverdaux->vda_nodename = iverdef->vd_nodename;
-      iverdaux->vda_nextptr = NULL;
     }
 
   return TRUE;
@@ -7471,16 +7639,12 @@ asymbol *
 _bfd_elf_make_empty_symbol (bfd *abfd)
 {
   elf_symbol_type *newsym;
-  bfd_size_type amt = sizeof (elf_symbol_type);
 
-  newsym = (elf_symbol_type *) bfd_zalloc (abfd, amt);
+  newsym = (elf_symbol_type *) bfd_zalloc (abfd, sizeof * newsym);
   if (!newsym)
     return NULL;
-  else
-    {
-      newsym->symbol.the_bfd = abfd;
-      return &newsym->symbol;
-    }
+  newsym->symbol.the_bfd = abfd;
+  return &newsym->symbol;
 }
 
 void
@@ -7543,163 +7707,34 @@ _bfd_elf_set_arch_mach (bfd *abfd,
   return bfd_default_set_arch_mach (abfd, arch, machine);
 }
 
-/* Find the function to a particular section and offset,
-   for error reporting.  */
-
-static bfd_boolean
-elf_find_function (bfd *abfd,
-		   asection *section,
-		   asymbol **symbols,
-		   bfd_vma offset,
-		   const char **filename_ptr,
-		   const char **functionname_ptr)
-{
-  struct elf_find_function_cache
-  {
-    asection *last_section;
-    asymbol *func;
-    const char *filename;
-    bfd_size_type func_size;
-  } *cache;
-
-  if (symbols == NULL)
-    return FALSE;
-
-  cache = elf_tdata (abfd)->elf_find_function_cache;
-  if (cache == NULL)
-    {
-      cache = bfd_zalloc (abfd, sizeof (*cache));
-      elf_tdata (abfd)->elf_find_function_cache = cache;
-      if (cache == NULL)
-	return FALSE;
-    }
-  if (cache->last_section != section
-      || cache->func == NULL
-      || offset < cache->func->value
-      || offset >= cache->func->value + cache->func_size)
-    {
-      asymbol *file;
-      bfd_vma low_func;
-      asymbol **p;
-      /* ??? Given multiple file symbols, it is impossible to reliably
-	 choose the right file name for global symbols.  File symbols are
-	 local symbols, and thus all file symbols must sort before any
-	 global symbols.  The ELF spec may be interpreted to say that a
-	 file symbol must sort before other local symbols, but currently
-	 ld -r doesn't do this.  So, for ld -r output, it is possible to
-	 make a better choice of file name for local symbols by ignoring
-	 file symbols appearing after a given local symbol.  */
-      enum { nothing_seen, symbol_seen, file_after_symbol_seen } state;
-      const struct elf_backend_data *bed = get_elf_backend_data (abfd);
-
-      file = NULL;
-      low_func = 0;
-      state = nothing_seen;
-      cache->filename = NULL;
-      cache->func = NULL;
-      cache->func_size = 0;
-      cache->last_section = section;
-
-      for (p = symbols; *p != NULL; p++)
-	{
-	  asymbol *sym = *p;
-	  bfd_vma code_off;
-	  bfd_size_type size;
-
-	  if ((sym->flags & BSF_FILE) != 0)
-	    {
-	      file = sym;
-	      if (state == symbol_seen)
-		state = file_after_symbol_seen;
-	      continue;
-	    }
-
-	  size = bed->maybe_function_sym (sym, section, &code_off);
-	  if (size != 0
-	      && code_off <= offset
-	      && (code_off > low_func
-		  || (code_off == low_func
-		      && size > cache->func_size)))
-	    {
-	      cache->func = sym;
-	      cache->func_size = size;
-	      cache->filename = NULL;
-	      low_func = code_off;
-	      if (file != NULL
-		  && ((sym->flags & BSF_LOCAL) != 0
-		      || state != file_after_symbol_seen))
-		cache->filename = bfd_asymbol_name (file);
-	    }
-	  if (state == nothing_seen)
-	    state = symbol_seen;
-	}
-    }
-
-  if (cache->func == NULL)
-    return FALSE;
-
-  if (filename_ptr)
-    *filename_ptr = cache->filename;
-  if (functionname_ptr)
-    *functionname_ptr = bfd_asymbol_name (cache->func);
-
-  return TRUE;
-}
-
 /* Find the nearest line to a particular section and offset,
    for error reporting.  */
 
 bfd_boolean
 _bfd_elf_find_nearest_line (bfd *abfd,
-			    asection *section,
 			    asymbol **symbols,
+			    asection *section,
 			    bfd_vma offset,
 			    const char **filename_ptr,
 			    const char **functionname_ptr,
-			    unsigned int *line_ptr)
-{
-  return _bfd_elf_find_nearest_line_discriminator (abfd, section, symbols,
-                                                   offset, filename_ptr,
-                                                   functionname_ptr,
-                                                   line_ptr,
-                                                   NULL);
-}
-
-bfd_boolean
-_bfd_elf_find_nearest_line_discriminator (bfd *abfd,
-                                          asection *section,
-                                          asymbol **symbols,
-                                          bfd_vma offset,
-                                          const char **filename_ptr,
-                                          const char **functionname_ptr,
-                                          unsigned int *line_ptr,
-                                          unsigned int *discriminator_ptr)
+			    unsigned int *line_ptr,
+			    unsigned int *discriminator_ptr)
 {
   bfd_boolean found;
 
-  if (_bfd_dwarf1_find_nearest_line (abfd, section, symbols, offset,
+  if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
 				     filename_ptr, functionname_ptr,
-				     line_ptr))
+				     line_ptr, discriminator_ptr,
+				     dwarf_debug_sections, 0,
+				     &elf_tdata (abfd)->dwarf2_find_line_info)
+      || _bfd_dwarf1_find_nearest_line (abfd, symbols, section, offset,
+					filename_ptr, functionname_ptr,
+					line_ptr))
     {
       if (!*functionname_ptr)
-	elf_find_function (abfd, section, symbols, offset,
-			   *filename_ptr ? NULL : filename_ptr,
-			   functionname_ptr);
-
-      return TRUE;
-    }
-
-  if (_bfd_dwarf2_find_nearest_line (abfd, dwarf_debug_sections,
-                                     section, symbols, offset,
-				     filename_ptr, functionname_ptr,
-				     line_ptr, discriminator_ptr, 0,
-				     &elf_tdata (abfd)->dwarf2_find_line_info))
-    {
-      if (!*functionname_ptr)
-	elf_find_function (abfd, section, symbols, offset,
-			   *filename_ptr ? NULL : filename_ptr,
-			   functionname_ptr);
-
+	_bfd_elf_find_function (abfd, symbols, section, offset,
+				*filename_ptr ? NULL : filename_ptr,
+				functionname_ptr);
       return TRUE;
     }
 
@@ -7714,8 +7749,8 @@ _bfd_elf_find_nearest_line_discriminator
   if (symbols == NULL)
     return FALSE;
 
-  if (! elf_find_function (abfd, section, symbols, offset,
-			   filename_ptr, functionname_ptr))
+  if (! _bfd_elf_find_function (abfd, symbols, section, offset,
+				filename_ptr, functionname_ptr))
     return FALSE;
 
   *line_ptr = 0;
@@ -7728,20 +7763,10 @@ bfd_boolean
 _bfd_elf_find_line (bfd *abfd, asymbol **symbols, asymbol *symbol,
 		    const char **filename_ptr, unsigned int *line_ptr)
 {
-  return _bfd_elf_find_line_discriminator (abfd, symbols, symbol,
-		                           filename_ptr, line_ptr,
-                                           NULL);
-}
-
-bfd_boolean
-_bfd_elf_find_line_discriminator (bfd *abfd, asymbol **symbols, asymbol *symbol,
-                                  const char **filename_ptr,
-                                  unsigned int *line_ptr,
-                                  unsigned int *discriminator_ptr)
-{
-  return _bfd_dwarf2_find_line (abfd, symbols, symbol,
-				filename_ptr, line_ptr, discriminator_ptr, 0,
-				&elf_tdata (abfd)->dwarf2_find_line_info);
+  return _bfd_dwarf2_find_nearest_line (abfd, symbols, symbol, NULL, 0,
+					filename_ptr, NULL, line_ptr, NULL,
+					dwarf_debug_sections, 0,
+					&elf_tdata (abfd)->dwarf2_find_line_info);
 }
 
 /* After a call to bfd_find_nearest_line, successive calls to
@@ -9334,7 +9359,7 @@ elfcore_write_lwpstatus (bfd *abfd,
   lwpstat.pr_lwpid  = pid >> 16;
   lwpstat.pr_cursig = cursig;
 #if defined (HAVE_LWPSTATUS_T_PR_REG)
-  memcpy (lwpstat.pr_reg, gregs, sizeof (lwpstat.pr_reg));
+  memcpy (&lwpstat.pr_reg, gregs, sizeof (lwpstat.pr_reg));
 #elif defined (HAVE_LWPSTATUS_T_PR_CONTEXT)
 #if !defined(gregs)
   memcpy (lwpstat.pr_context.uc_mcontext.gregs,
@@ -9685,32 +9710,38 @@ elf_parse_notes (bfd *abfd, char *buf, s
 	  return TRUE;
 
 	case bfd_core:
-	  if (CONST_STRNEQ (in.namedata, "NetBSD-CORE"))
-	    {
-	      if (! elfcore_grok_netbsd_note (abfd, &in))
-		return FALSE;
-	    }
-	  else if (CONST_STRNEQ (in.namedata, "OpenBSD"))
-	    {
-	      if (! elfcore_grok_openbsd_note (abfd, &in))
-		return FALSE;
-	    }
-	  else if (CONST_STRNEQ (in.namedata, "QNX"))
-	    {
-	      if (! elfcore_grok_nto_note (abfd, &in))
-		return FALSE;
-	    }
-	  else if (CONST_STRNEQ (in.namedata, "SPU/"))
+	  {
+#define GROKER_ELEMENT(S,F) {S, sizeof (S) - 1, F}
+	    struct
 	    {
-	      if (! elfcore_grok_spu_note (abfd, &in))
-		return FALSE;
+	      const char * string;
+	      size_t len;
+	      bfd_boolean (* func)(bfd *, Elf_Internal_Note *);
 	    }
-	  else
+	    grokers[] =
 	    {
-	      if (! elfcore_grok_note (abfd, &in))
-		return FALSE;
-	    }
-	  break;
+	      GROKER_ELEMENT ("", elfcore_grok_note),
+	      GROKER_ELEMENT ("NetBSD-CORE", elfcore_grok_netbsd_note),
+	      GROKER_ELEMENT ( "OpenBSD", elfcore_grok_openbsd_note),
+	      GROKER_ELEMENT ("QNX", elfcore_grok_nto_note),
+	      GROKER_ELEMENT ("SPU/", elfcore_grok_spu_note)
+	    };
+#undef GROKER_ELEMENT
+	    int i;
+
+	    for (i = ARRAY_SIZE (grokers); i--;)
+	      {
+		if (in.namesz >= grokers[i].len
+		    && strncmp (in.namedata, grokers[i].string,
+				grokers[i].len) == 0)
+		  {
+		    if (! grokers[i].func (abfd, & in))
+		      return FALSE;
+		    break;
+		  }
+	      }
+	    break;
+	  }
 
 	case bfd_object:
 	  if (in.namesz == sizeof "GNU" && strcmp (in.namedata, "GNU") == 0)
@@ -9744,10 +9775,14 @@ elf_read_notes (bfd *abfd, file_ptr offs
   if (bfd_seek (abfd, offset, SEEK_SET) != 0)
     return FALSE;
 
-  buf = (char *) bfd_malloc (size);
+  buf = (char *) bfd_malloc (size + 1);
   if (buf == NULL)
     return FALSE;
 
+  /* PR 17512: file: ec08f814
+     0-termintate the buffer so that string searches will not overflow.  */
+  buf[size] = 0;
+
   if (bfd_bread (buf, size, abfd) != size
       || !elf_parse_notes (abfd, buf, size, offset))
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfcode.h ./bfd/elfcode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfcode.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfcode.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF executable support for BFD.
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, from information published
    in "UNIX System V Release 4, Programmers Guide: ANSI C and
@@ -1214,10 +1214,9 @@ elf_slurp_symbol_table (bfd *abfd, asymb
       for (isym = isymbuf + 1, sym = symbase; isym < isymend; isym++, sym++)
 	{
 	  memcpy (&sym->internal_elf_sym, isym, sizeof (Elf_Internal_Sym));
-	  sym->symbol.the_bfd = abfd;
 
+	  sym->symbol.the_bfd = abfd;
 	  sym->symbol.name = bfd_elf_sym_name (abfd, hdr, isym, NULL);
-
 	  sym->symbol.value = isym->st_value;
 
 	  if (isym->st_shndx == SHN_UNDEF)
@@ -1501,7 +1500,9 @@ elf_slurp_reloc_table (bfd *abfd,
       rel_hdr2 = d->rela.hdr;
       reloc_count2 = rel_hdr2 ? NUM_SHDR_ENTRIES (rel_hdr2) : 0;
 
-      BFD_ASSERT (asect->reloc_count == reloc_count + reloc_count2);
+      /* PR 17512: file: 0b4f81b7.  */
+      if (asect->reloc_count != reloc_count + reloc_count2)
+	return FALSE;
       BFD_ASSERT ((rel_hdr && asect->rel_filepos == rel_hdr->sh_offset)
 		  || (rel_hdr2 && asect->rel_filepos == rel_hdr2->sh_offset));
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfcore.h ./bfd/elfcore.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfcore.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfcore.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF core file support for BFD.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-eh-frame.c ./bfd/elf-eh-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-eh-frame.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-eh-frame.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* .eh_frame section optimization.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Written by Jakub Jelinek <jakub@redhat.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -46,7 +46,6 @@ struct cie
     } sym;
     unsigned int reloc_index;
   } personality;
-  asection *output_sec;
   struct eh_cie_fde *cie_inf;
   unsigned char per_encoding;
   unsigned char lsda_encoding;
@@ -232,7 +231,8 @@ cie_eq (const void *e1, const void *e2)
       && c1->augmentation_size == c2->augmentation_size
       && memcmp (&c1->personality, &c2->personality,
 		 sizeof (c1->personality)) == 0
-      && c1->output_sec == c2->output_sec
+      && (c1->cie_inf->u.cie.u.sec->output_section
+	  == c2->cie_inf->u.cie.u.sec->output_section)
       && c1->per_encoding == c2->per_encoding
       && c1->lsda_encoding == c2->lsda_encoding
       && c1->fde_encoding == c2->fde_encoding
@@ -266,7 +266,7 @@ cie_compute_hash (struct cie *c)
   h = iterative_hash_object (c->ra_column, h);
   h = iterative_hash_object (c->augmentation_size, h);
   h = iterative_hash_object (c->personality, h);
-  h = iterative_hash_object (c->output_sec, h);
+  h = iterative_hash_object (c->cie_inf->u.cie.u.sec->output_section, h);
   h = iterative_hash_object (c->per_encoding, h);
   h = iterative_hash_object (c->lsda_encoding, h);
   h = iterative_hash_object (c->fde_encoding, h);
@@ -452,18 +452,6 @@ make_pc_relative (unsigned char encoding
   return encoding | DW_EH_PE_pcrel;
 }
 
-/* Called before calling _bfd_elf_parse_eh_frame on every input bfd's
-   .eh_frame section.  */
-
-void
-_bfd_elf_begin_eh_frame_parsing (struct bfd_link_info *info)
-{
-  struct eh_frame_hdr_info *hdr_info;
-
-  hdr_info = &elf_hash_table (info)->eh_info;
-  hdr_info->merge_cies = !info->relocatable;
-}
-
 /* Try to parse .eh_frame section SEC, which belongs to ABFD.  Store the
    information in the section's sec_info field on success.  COOKIE
    describes the relocations in SEC.  */
@@ -494,8 +482,6 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
 
   htab = elf_hash_table (info);
   hdr_info = &htab->eh_info;
-  if (hdr_info->parsed_eh_frames)
-    return;
 
   if (sec->size == 0
       || sec->sec_info_type != SEC_INFO_TYPE_NONE)
@@ -570,10 +556,13 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
 
   /* FIXME: octets_per_byte.  */
 #define ENSURE_NO_RELOCS(buf)				\
-  REQUIRE (!(cookie->rel < cookie->relend		\
-	     && (cookie->rel->r_offset			\
-		 < (bfd_size_type) ((buf) - ehbuf))	\
-	     && cookie->rel->r_info != 0))
+  while (cookie->rel < cookie->relend			\
+	 && (cookie->rel->r_offset			\
+	     < (bfd_size_type) ((buf) - ehbuf)))	\
+    {							\
+      REQUIRE (cookie->rel->r_info == 0);		\
+      cookie->rel++;					\
+    }
 
   /* FIXME: octets_per_byte.  */
 #define SKIP_RELOCS(buf)				\
@@ -639,7 +628,6 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
 
 	  cie->cie_inf = this_inf;
 	  cie->length = hdr_length;
-	  cie->output_sec = sec->output_section;
 	  start = buf;
 	  REQUIRE (read_byte (&buf, end, &cie->version));
 
@@ -741,6 +729,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
 	  /* For shared libraries, try to get rid of as many RELATIVE relocs
 	     as possible.  */
 	  if (info->shared
+	      && !info->relocatable
 	      && (get_elf_backend_data (abfd)
 		  ->elf_backend_can_make_relative_eh_frame
 		  (abfd, info, sec)))
@@ -777,10 +766,13 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
 	  buf += initial_insn_length;
 	  ENSURE_NO_RELOCS (buf);
 
-	  if (hdr_info->merge_cies)
-	    this_inf->u.cie.u.full_cie = cie;
-	  this_inf->u.cie.per_encoding_relative
-	    = (cie->per_encoding & 0x70) == DW_EH_PE_pcrel;
+	  if (!info->relocatable)
+	    {
+	      /* Keep info for merging cies.  */
+	      this_inf->u.cie.u.full_cie = cie;
+	      this_inf->u.cie.per_encoding_relative
+		= (cie->per_encoding & 0x70) == DW_EH_PE_pcrel;
+	    }
 	}
       else
 	{
@@ -822,6 +814,16 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
 	  length = get_DW_EH_PE_width (cie->fde_encoding, ptr_size);
 	  REQUIRE (skip_bytes (&buf, end, 2 * length));
 
+	  SKIP_RELOCS (buf - length);
+	  if (!GET_RELOC (buf - length)
+	      && read_value (abfd, buf - length, length, FALSE) == 0)
+	    {
+	      (*info->callbacks->minfo)
+		(_("discarding zero address range FDE in %B(%A).\n"),
+		 abfd, sec);
+	      this_inf->u.fde.cie_inf = NULL;
+	    }
+
 	  /* Skip the augmentation size, if present.  */
 	  if (cie->augmentation[0] == 'z')
 	    REQUIRE (read_uleb128 (&buf, end, &length));
@@ -911,8 +913,9 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
 
   elf_section_data (sec)->sec_info = sec_info;
   sec->sec_info_type = SEC_INFO_TYPE_EH_FRAME;
-  if (hdr_info->merge_cies)
+  if (!info->relocatable)
     {
+      /* Keep info for merging cies.  */
       sec_info->cies = local_cies;
       local_cies = NULL;
     }
@@ -933,17 +936,6 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
 #undef REQUIRE
 }
 
-/* Finish a pass over all .eh_frame sections.  */
-
-void
-_bfd_elf_end_eh_frame_parsing (struct bfd_link_info *info)
-{
-  struct eh_frame_hdr_info *hdr_info;
-
-  hdr_info = &elf_hash_table (info)->eh_info;
-  hdr_info->parsed_eh_frames = TRUE;
-}
-
 /* Mark all relocations against CIE or FDE ENT, which occurs in
    .eh_frame section SEC.  COOKIE describes the relocations in SEC;
    its "rel" field can be changed freely.  */
@@ -983,7 +975,7 @@ _bfd_elf_gc_mark_fdes (struct bfd_link_i
       /* At this stage, all cie_inf fields point to local CIEs, so we
 	 can use the same cookie to refer to them.  */
       cie = fde->u.fde.cie_inf;
-      if (!cie->u.cie.gc_mark)
+      if (cie != NULL && !cie->u.cie.gc_mark)
 	{
 	  cie->u.cie.gc_mark = 1;
 	  if (!mark_entry (info, eh_frame, cie, gc_mark_hook, cookie))
@@ -1085,6 +1077,7 @@ find_merged_cie (bfd *abfd, struct bfd_l
 
       if (per_binds_local
 	  && info->shared
+	  && !info->relocatable
 	  && (cie->per_encoding & 0x70) == DW_EH_PE_absptr
 	  && (get_elf_backend_data (abfd)
 	      ->elf_backend_can_make_relative_eh_frame (abfd, info, sec)))
@@ -1095,7 +1088,6 @@ find_merged_cie (bfd *abfd, struct bfd_l
     }
 
   /* See if we can merge this CIE with an earlier one.  */
-  cie->output_sec = sec->output_section;
   cie_compute_hash (cie);
   if (hdr_info->cies == NULL)
     {
@@ -1162,7 +1154,7 @@ _bfd_elf_discard_section_eh_frame
       /* There should only be one zero terminator, on the last input
 	 file supplying .eh_frame (crtend.o).  Remove any others.  */
       ent->removed = sec->map_head.s != NULL;
-    else if (!ent->cie)
+    else if (!ent->cie && ent->u.fde.cie_inf != NULL)
       {
 	bfd_boolean keep;
 	if ((sec->flags & SEC_LINKER_CREATED) != 0 && cookie->rels == NULL)
@@ -1195,7 +1187,7 @@ _bfd_elf_discard_section_eh_frame
 		   since it is affected by runtime relocations.  */
 		hdr_info->table = FALSE;
 		(*info->callbacks->einfo)
-		  (_("%P: fde encoding in %B(%A) prevents .eh_frame_hdr"
+		  (_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr"
 		     " table being created.\n"), abfd, sec);
 	      }
 	    ent->removed = 0;
@@ -1406,6 +1398,7 @@ _bfd_elf_write_section_eh_frame (bfd *ab
   struct eh_frame_hdr_info *hdr_info;
   unsigned int ptr_size;
   struct eh_cie_fde *ent;
+  bfd_size_type sec_size;
 
   if (sec->sec_info_type != SEC_INFO_TYPE_EH_FRAME)
     /* FIXME: octets_per_byte.  */
@@ -1592,6 +1585,8 @@ _bfd_elf_write_section_eh_frame (bfd *ab
 	  value = ((ent->new_offset + sec->output_offset + 4)
 		   - (cie->new_offset + cie->u.cie.u.sec->output_offset));
 	  bfd_put_32 (abfd, value, buf);
+	  if (info->relocatable)
+	    continue;
 	  buf += 4;
 	  width = get_DW_EH_PE_width (ent->fde_encoding, ptr_size);
 	  value = read_value (abfd, buf, width,
@@ -1657,6 +1652,8 @@ _bfd_elf_write_section_eh_frame (bfd *ab
 	      if (sizeof (address) > 4 && ptr_size == 4)
 		address &= 0xffffffff;
 	      hdr_info->array[hdr_info->array_count].initial_loc = address;
+	      hdr_info->array[hdr_info->array_count].range
+		= read_value (abfd, buf + width, width, FALSE);
 	      hdr_info->array[hdr_info->array_count++].fde
 		= (sec->output_section->vma
 		   + sec->output_offset
@@ -1727,7 +1724,11 @@ _bfd_elf_write_section_eh_frame (bfd *ab
      the pointer size. _bfd_elf_discard_section_eh_frame should
      have padded CIE/FDE records to multiple of pointer size with
      size_of_output_cie_fde.  */
-  if ((sec->size % ptr_size) != 0)
+  sec_size = sec->size;
+  if (sec_info->count != 0
+      && sec_info->entry[sec_info->count - 1].size == 4)
+    sec_size -= 4;
+  if ((sec_size % ptr_size) != 0)
     abort ();
 
   /* FIXME: octets_per_byte.  */
@@ -1748,6 +1749,10 @@ vma_compare (const void *a, const void *
     return 1;
   if (p->initial_loc < q->initial_loc)
     return -1;
+  if (p->range > q->range)
+    return 1;
+  if (p->range < q->range)
+    return -1;
   return 0;
 }
 
@@ -1836,20 +1841,43 @@ _bfd_elf_write_section_eh_frame_hdr (bfd
 		 sizeof (*hdr_info->array), vma_compare);
 	  for (i = 0; i < hdr_info->fde_count; i++)
 	    {
-	      bfd_put_32 (abfd,
-			  hdr_info->array[i].initial_loc
-			  - sec->output_section->vma,
-			  contents + EH_FRAME_HDR_SIZE + i * 8 + 4);
-	      bfd_put_32 (abfd,
-			  hdr_info->array[i].fde - sec->output_section->vma,
-			  contents + EH_FRAME_HDR_SIZE + i * 8 + 8);
+	      bfd_vma val;
+
+	      val = hdr_info->array[i].initial_loc - sec->output_section->vma;
+	      val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
+	      if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64
+		  && (hdr_info->array[i].initial_loc
+		      != sec->output_section->vma + val))
+		(*info->callbacks->einfo)
+		  (_("%X%P: .eh_frame_hdr table[%u] PC overflow.\n"), i);
+	      bfd_put_32 (abfd, val, contents + EH_FRAME_HDR_SIZE + i * 8 + 4);
+
+	      val = hdr_info->array[i].fde - sec->output_section->vma;
+	      val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
+	      if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64
+		  && (hdr_info->array[i].fde
+		      != sec->output_section->vma + val))
+		(*info->callbacks->einfo)
+		  (_("%X%P: .eh_frame_hdr table[%u] FDE overflow.\n"), i);
+	      bfd_put_32 (abfd, val, contents + EH_FRAME_HDR_SIZE + i * 8 + 8);
+
+	      if (i != 0
+		  && (hdr_info->array[i].initial_loc
+		      < (hdr_info->array[i - 1].initial_loc
+			 + hdr_info->array[i - 1].range)))
+		(*info->callbacks->einfo)
+		  (_("%X%P: .eh_frame_hdr table[%u] FDE at %V overlaps "
+		     "table[%u] FDE at %V.\n"),
+		   i - 1, hdr_info->array[i - 1].fde,
+		   i, hdr_info->array[i].fde);
 	    }
 	}
 
       /* FIXME: octets_per_byte.  */
-      retval = bfd_set_section_contents (abfd, sec->output_section, contents,
-					 (file_ptr) sec->output_offset,
-					 sec->size);
+      if (!bfd_set_section_contents (abfd, sec->output_section, contents,
+				     (file_ptr) sec->output_offset,
+				     sec->size))
+	retval = FALSE;
       free (contents);
     }
   if (hdr_info->array != NULL)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-hppa.h ./bfd/elf-hppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-hppa.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-hppa.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common code for PA ELF implementations.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-ifunc.c ./bfd/elf-ifunc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-ifunc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-ifunc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF STT_GNU_IFUNC support.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elflink.c ./bfd/elflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elflink.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elflink.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF linking support for BFD.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -20,6 +20,7 @@
 
 #include "sysdep.h"
 #include "bfd.h"
+#include "bfd_stdint.h"
 #include "bfdlink.h"
 #include "libbfd.h"
 #define ARCH_SIZE 0
@@ -84,6 +85,7 @@ _bfd_elf_define_linkage_sym (bfd *abfd,
   h = (struct elf_link_hash_entry *) bh;
   h->def_regular = 1;
   h->non_elf = 0;
+  h->root.linker_def = 1;
   h->type = STT_OBJECT;
   if (ELF_ST_VISIBILITY (h->other) != STV_INTERNAL)
     h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN;
@@ -851,48 +853,29 @@ _bfd_elf_link_renumber_dynsyms (bfd *out
 
 static void
 elf_merge_st_other (bfd *abfd, struct elf_link_hash_entry *h,
-		    Elf_Internal_Sym *isym, bfd_boolean definition,
-		    bfd_boolean dynamic)
+		    const Elf_Internal_Sym *isym,
+		    bfd_boolean definition, bfd_boolean dynamic)
 {
   const struct elf_backend_data *bed = get_elf_backend_data (abfd);
 
   /* If st_other has a processor-specific meaning, specific
-     code might be needed here. We never merge the visibility
-     attribute with the one from a dynamic object.  */
+     code might be needed here.  */
   if (bed->elf_backend_merge_symbol_attribute)
     (*bed->elf_backend_merge_symbol_attribute) (h, isym, definition,
 						dynamic);
 
-  /* If this symbol has default visibility and the user has requested
-     we not re-export it, then mark it as hidden.  */
-  if (definition
-      && !dynamic
-      && (abfd->no_export
-	  || (abfd->my_archive && abfd->my_archive->no_export))
-      && ELF_ST_VISIBILITY (isym->st_other) != STV_INTERNAL)
-    isym->st_other = (STV_HIDDEN
-		      | (isym->st_other & ~ELF_ST_VISIBILITY (-1)));
-
-  if (!dynamic && ELF_ST_VISIBILITY (isym->st_other) != 0)
-    {
-      unsigned char hvis, symvis, other, nvis;
-
-      /* Only merge the visibility. Leave the remainder of the
-	 st_other field to elf_backend_merge_symbol_attribute.  */
-      other = h->other & ~ELF_ST_VISIBILITY (-1);
-
-      /* Combine visibilities, using the most constraining one.  */
-      hvis = ELF_ST_VISIBILITY (h->other);
-      symvis = ELF_ST_VISIBILITY (isym->st_other);
-      if (! hvis)
-	nvis = symvis;
-      else if (! symvis)
-	nvis = hvis;
-      else
-	nvis = hvis < symvis ? hvis : symvis;
+  if (!dynamic)
+    {
+      unsigned symvis = ELF_ST_VISIBILITY (isym->st_other);
+      unsigned hvis = ELF_ST_VISIBILITY (h->other);
 
-      h->other = other | nvis;
+      /* Keep the most constraining visibility.  Leave the remainder
+	 of the st_other field to elf_backend_merge_symbol_attribute.  */
+      if (symvis - 1 < hvis - 1)
+	h->other = symvis | (h->other & ~ELF_ST_VISIBILITY (-1));
     }
+  else if (definition && ELF_ST_VISIBILITY (isym->st_other) != STV_DEFAULT)
+    h->protected_def = 1;
 }
 
 /* This function is called when we want to merge a new symbol with an
@@ -1853,7 +1836,9 @@ _bfd_elf_link_find_version_dependencies 
   if (!h->def_dynamic
       || h->def_regular
       || h->dynindx == -1
-      || h->verinfo.verdef == NULL)
+      || h->verinfo.verdef == NULL
+      || (elf_dyn_lib_class (h->verinfo.verdef->vd_bfd)
+	  & (DYN_AS_NEEDED | DYN_DT_NEEDED | DYN_NO_NEEDED)))
     return TRUE;
 
   /* See if we already know about this version.  */
@@ -2655,7 +2640,8 @@ _bfd_elf_adjust_dynamic_symbol (struct e
    DYNBSS.  */
 
 bfd_boolean
-_bfd_elf_adjust_dynamic_copy (struct elf_link_hash_entry *h,
+_bfd_elf_adjust_dynamic_copy (struct bfd_link_info *info,
+			      struct elf_link_hash_entry *h,
 			      asection *dynbss)
 {
   unsigned int power_of_two;
@@ -2694,6 +2680,15 @@ _bfd_elf_adjust_dynamic_copy (struct elf
   /* Increment the size of DYNBSS to make room for the symbol.  */
   dynbss->size += h->size;
 
+  if (h->protected_def)
+    {
+      info->callbacks->einfo
+	(_("%P: copy reloc against protected `%T' is invalid\n"),
+	 h->root.root.string);
+      bfd_set_error (bfd_error_bad_value);
+      return FALSE;
+    }
+
   return TRUE;
 }
 
@@ -2952,13 +2947,6 @@ elf_link_is_defined_archive_symbol (bfd 
   if (! bfd_check_format (abfd, bfd_object))
     return FALSE;
 
-  /* If we have already included the element containing this symbol in the
-     link then we do not need to include it again.  Just claim that any symbol
-     it contains is not a definition, so that our caller will not decide to
-     (re)include this element.  */
-  if (abfd->archive_pass)
-    return FALSE;
-
   /* Select the appropriate symbol table.  */
   if ((abfd->flags & DYNAMIC) == 0 || elf_dynsymtab (abfd) == 0)
     hdr = &elf_tdata (abfd)->symtab_hdr;
@@ -3114,7 +3102,8 @@ static bfd_boolean
 on_needed_list (const char *soname, struct bfd_link_needed_list *needed)
 {
   for (; needed != NULL; needed = needed->next)
-    if (strcmp (soname, needed->name) == 0)
+    if ((elf_dyn_lib_class (needed->by) & DYN_AS_NEEDED) == 0
+	&& strcmp (soname, needed->name) == 0)
       return TRUE;
 
   return FALSE;
@@ -3327,7 +3316,7 @@ _bfd_elf_notice_as_needed (bfd *ibfd,
 			   struct bfd_link_info *info,
 			   enum notice_asneeded_action act)
 {
-  return (*info->callbacks->notice) (info, NULL, ibfd, NULL, act, 0, NULL);
+  return (*info->callbacks->notice) (info, NULL, NULL, ibfd, NULL, act, 0);
 }
 
 /* Add symbols from an ELF object file to the linker hash table.  */
@@ -3366,6 +3355,7 @@ elf_link_add_object_symbols (bfd *abfd, 
   bfd_size_type old_dynstr_size = 0;
   size_t tabsize = 0;
   asection *s;
+  bfd_boolean just_syms;
 
   htab = elf_hash_table (info);
   bed = get_elf_backend_data (abfd);
@@ -3469,15 +3459,20 @@ elf_link_add_object_symbols (bfd *abfd, 
 	}
     }
 
+  just_syms = ((s = abfd->sections) != NULL
+	       && s->sec_info_type == SEC_INFO_TYPE_JUST_SYMS);
+
   add_needed = TRUE;
   if (! dynamic)
     {
       /* If we are creating a shared library, create all the dynamic
 	 sections immediately.  We need to attach them to something,
 	 so we attach them to this BFD, provided it is the right
-	 format.  FIXME: If there are no input BFD's of the same
-	 format as the output, we can't make a shared library.  */
-      if (info->shared
+	 format and is not from ld --just-symbols.  FIXME: If there
+	 are no input BFD's of the same format as the output, we can't
+	 make a shared library.  */
+      if (!just_syms
+	  && info->shared
 	  && is_elf_hash_table (htab)
 	  && info->output_bfd->xvec == abfd->xvec
 	  && !htab->dynamic_sections_created)
@@ -3497,8 +3492,7 @@ elf_link_add_object_symbols (bfd *abfd, 
 
       /* ld --just-symbols and dynamic objects don't mix very well.
 	 ld shouldn't allow it.  */
-      if ((s = abfd->sections) != NULL
-	  && s->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
+      if (just_syms)
 	abort ();
 
       /* If this dynamic lib was specified on the command line with
@@ -4095,6 +4089,16 @@ error_free_dyn:
 	      name = newname;
 	    }
 
+	  /* If this symbol has default visibility and the user has
+	     requested we not re-export it, then mark it as hidden.  */
+	  if (definition
+	      && !dynamic
+	      && (abfd->no_export
+		  || (abfd->my_archive && abfd->my_archive->no_export))
+	      && ELF_ST_VISIBILITY (isym->st_other) != STV_INTERNAL)
+	    isym->st_other = (STV_HIDDEN
+			      | (isym->st_other & ~ELF_ST_VISIBILITY (-1)));
+
 	  if (!_bfd_elf_merge_symbol (abfd, info, name, isym, &sec, &value,
 				      sym_hash, &old_bfd, &old_weak,
 				      &old_alignment, &skip, &override,
@@ -4939,20 +4943,8 @@ _bfd_elf_archive_symbol_lookup (bfd *abf
 }
 
 /* Add symbols from an ELF archive file to the linker hash table.  We
-   don't use _bfd_generic_link_add_archive_symbols because of a
-   problem which arises on UnixWare.  The UnixWare libc.so is an
-   archive which includes an entry libc.so.1 which defines a bunch of
-   symbols.  The libc.so archive also includes a number of other
-   object files, which also define symbols, some of which are the same
-   as those defined in libc.so.1.  Correct linking requires that we
-   consider each object file in turn, and include it if it defines any
-   symbols we need.  _bfd_generic_link_add_archive_symbols does not do
-   this; it looks through the list of undefined symbols, and includes
-   any object file which defines them.  When this algorithm is used on
-   UnixWare, it winds up pulling in libc.so.1 early and defining a
-   bunch of symbols.  This means that some of the other objects in the
-   archive are not included in the link, which is incorrect since they
-   precede libc.so.1 in the archive.
+   don't use _bfd_generic_link_add_archive_symbols because we need to
+   handle versioned symbols.
 
    Fortunately, ELF archive handling is simpler than that done by
    _bfd_generic_link_add_archive_symbols, which has to allow for a.out
@@ -4967,8 +4959,7 @@ static bfd_boolean
 elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
 {
   symindex c;
-  bfd_boolean *defined = NULL;
-  bfd_boolean *included = NULL;
+  unsigned char *included = NULL;
   carsym *symdefs;
   bfd_boolean loop;
   bfd_size_type amt;
@@ -4992,11 +4983,10 @@ elf_link_add_archive_symbols (bfd *abfd,
   if (c == 0)
     return TRUE;
   amt = c;
-  amt *= sizeof (bfd_boolean);
-  defined = (bfd_boolean *) bfd_zmalloc (amt);
-  included = (bfd_boolean *) bfd_zmalloc (amt);
-  if (defined == NULL || included == NULL)
-    goto error_return;
+  amt *= sizeof (*included);
+  included = (unsigned char *) bfd_zmalloc (amt);
+  if (included == NULL)
+    return FALSE;
 
   symdefs = bfd_ardata (abfd)->symdefs;
   bed = get_elf_backend_data (abfd);
@@ -5021,7 +5011,7 @@ elf_link_add_archive_symbols (bfd *abfd,
 	  struct bfd_link_hash_entry *undefs_tail;
 	  symindex mark;
 
-	  if (defined[i] || included[i])
+	  if (included[i])
 	    continue;
 	  if (symdef->file_offset == last)
 	    {
@@ -5056,7 +5046,8 @@ elf_link_add_archive_symbols (bfd *abfd,
 	  else if (h->root.type != bfd_link_hash_undefined)
 	    {
 	      if (h->root.type != bfd_link_hash_undefweak)
-		defined[i] = TRUE;
+		/* Symbol must be defined.  Don't check it again.  */
+		included[i] = TRUE;
 	      continue;
 	    }
 
@@ -5068,16 +5059,6 @@ elf_link_add_archive_symbols (bfd *abfd,
 	  if (! bfd_check_format (element, bfd_object))
 	    goto error_return;
 
-	  /* Doublecheck that we have not included this object
-	     already--it should be impossible, but there may be
-	     something wrong with the archive.  */
-	  if (element->archive_pass != 0)
-	    {
-	      bfd_set_error (bfd_error_bad_value);
-	      goto error_return;
-	    }
-	  element->archive_pass = 1;
-
 	  undefs_tail = info->hash->undefs_tail;
 
 	  if (!(*info->callbacks
@@ -5115,14 +5096,11 @@ elf_link_add_archive_symbols (bfd *abfd,
     }
   while (loop);
 
-  free (defined);
   free (included);
 
   return TRUE;
 
  error_return:
-  if (defined != NULL)
-    free (defined);
   if (included != NULL)
     free (included);
   return FALSE;
@@ -5488,7 +5466,7 @@ _bfd_elf_size_group_sections (struct bfd
 {
   bfd *ibfd;
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     if (bfd_get_flavour (ibfd) == bfd_target_elf_flavour
 	&& !_bfd_elf_fixup_group_sections (ibfd, bfd_abs_section_ptr))
       return FALSE;
@@ -5615,7 +5593,7 @@ bfd_elf_size_dynamic_sections (bfd *outp
 
       for (inputobj = info->input_bfds;
 	   inputobj;
-	   inputobj = inputobj->link_next)
+	   inputobj = inputobj->link.next)
 	{
 	  asection *s;
 
@@ -5881,7 +5859,7 @@ bfd_elf_size_dynamic_sections (bfd *outp
 	      asection *o;
 
 	      for (sub = info->input_bfds; sub != NULL;
-		   sub = sub->link_next)
+		   sub = sub->link.next)
 		if (bfd_get_flavour (sub) == bfd_target_elf_flavour)
 		  for (o = sub->sections; o != NULL; o = o->next)
 		    if (elf_section_data (o)->this_hdr.sh_type
@@ -6711,7 +6689,7 @@ _bfd_elf_merge_sections (bfd *abfd, stru
   if (!is_elf_hash_table (info->hash))
     return FALSE;
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     if ((ibfd->flags & DYNAMIC) == 0)
       for (sec = ibfd->sections; sec != NULL; sec = sec->next)
 	if ((sec->flags & SEC_MERGE) != 0
@@ -6901,6 +6879,7 @@ _bfd_elf_link_hash_table_create (bfd *ab
       free (ret);
       return NULL;
     }
+  ret->root.hash_table_free = _bfd_elf_link_hash_table_free;
 
   return &ret->root;
 }
@@ -6908,13 +6887,15 @@ _bfd_elf_link_hash_table_create (bfd *ab
 /* Destroy an ELF linker hash table.  */
 
 void
-_bfd_elf_link_hash_table_free (struct bfd_link_hash_table *hash)
+_bfd_elf_link_hash_table_free (bfd *obfd)
 {
-  struct elf_link_hash_table *htab = (struct elf_link_hash_table *) hash;
+  struct elf_link_hash_table *htab;
+
+  htab = (struct elf_link_hash_table *) obfd->link.hash;
   if (htab->dynstr != NULL)
     _bfd_elf_strtab_free (htab->dynstr);
   _bfd_merge_sections_free (htab->merge_info);
-  _bfd_generic_link_hash_table_free (hash);
+  _bfd_generic_link_hash_table_free (obfd);
 }
 
 /* This is a hook for the ELF emulation code in the generic linker to
@@ -7990,6 +7971,138 @@ bfd_elf_perform_complex_relocation (bfd 
   return r;
 }
 
+/* qsort comparison functions sorting external relocs by r_offset.  */
+
+static int
+cmp_ext32l_r_offset (const void *p, const void *q)
+{
+  union aligned32
+  {
+    uint32_t v;
+    unsigned char c[4];
+  };
+  const union aligned32 *a
+    = (const union aligned32 *) ((const Elf32_External_Rel *) p)->r_offset;
+  const union aligned32 *b
+    = (const union aligned32 *) ((const Elf32_External_Rel *) q)->r_offset;
+
+  uint32_t aval = (  (uint32_t) a->c[0]
+		   | (uint32_t) a->c[1] << 8
+		   | (uint32_t) a->c[2] << 16
+		   | (uint32_t) a->c[3] << 24);
+  uint32_t bval = (  (uint32_t) b->c[0]
+		   | (uint32_t) b->c[1] << 8
+		   | (uint32_t) b->c[2] << 16
+		   | (uint32_t) b->c[3] << 24);
+  if (aval < bval)
+    return -1;
+  else if (aval > bval)
+    return 1;
+  return 0;
+}
+
+static int
+cmp_ext32b_r_offset (const void *p, const void *q)
+{
+  union aligned32
+  {
+    uint32_t v;
+    unsigned char c[4];
+  };
+  const union aligned32 *a
+    = (const union aligned32 *) ((const Elf32_External_Rel *) p)->r_offset;
+  const union aligned32 *b
+    = (const union aligned32 *) ((const Elf32_External_Rel *) q)->r_offset;
+
+  uint32_t aval = (  (uint32_t) a->c[0] << 24
+		   | (uint32_t) a->c[1] << 16
+		   | (uint32_t) a->c[2] << 8
+		   | (uint32_t) a->c[3]);
+  uint32_t bval = (  (uint32_t) b->c[0] << 24
+		   | (uint32_t) b->c[1] << 16
+		   | (uint32_t) b->c[2] << 8
+		   | (uint32_t) b->c[3]);
+  if (aval < bval)
+    return -1;
+  else if (aval > bval)
+    return 1;
+  return 0;
+}
+
+#ifdef BFD_HOST_64_BIT
+static int
+cmp_ext64l_r_offset (const void *p, const void *q)
+{
+  union aligned64
+  {
+    uint64_t v;
+    unsigned char c[8];
+  };
+  const union aligned64 *a
+    = (const union aligned64 *) ((const Elf64_External_Rel *) p)->r_offset;
+  const union aligned64 *b
+    = (const union aligned64 *) ((const Elf64_External_Rel *) q)->r_offset;
+
+  uint64_t aval = (  (uint64_t) a->c[0]
+		   | (uint64_t) a->c[1] << 8
+		   | (uint64_t) a->c[2] << 16
+		   | (uint64_t) a->c[3] << 24
+		   | (uint64_t) a->c[4] << 32
+		   | (uint64_t) a->c[5] << 40
+		   | (uint64_t) a->c[6] << 48
+		   | (uint64_t) a->c[7] << 56);
+  uint64_t bval = (  (uint64_t) b->c[0]
+		   | (uint64_t) b->c[1] << 8
+		   | (uint64_t) b->c[2] << 16
+		   | (uint64_t) b->c[3] << 24
+		   | (uint64_t) b->c[4] << 32
+		   | (uint64_t) b->c[5] << 40
+		   | (uint64_t) b->c[6] << 48
+		   | (uint64_t) b->c[7] << 56);
+  if (aval < bval)
+    return -1;
+  else if (aval > bval)
+    return 1;
+  return 0;
+}
+
+static int
+cmp_ext64b_r_offset (const void *p, const void *q)
+{
+  union aligned64
+  {
+    uint64_t v;
+    unsigned char c[8];
+  };
+  const union aligned64 *a
+    = (const union aligned64 *) ((const Elf64_External_Rel *) p)->r_offset;
+  const union aligned64 *b
+    = (const union aligned64 *) ((const Elf64_External_Rel *) q)->r_offset;
+
+  uint64_t aval = (  (uint64_t) a->c[0] << 56
+		   | (uint64_t) a->c[1] << 48
+		   | (uint64_t) a->c[2] << 40
+		   | (uint64_t) a->c[3] << 32
+		   | (uint64_t) a->c[4] << 24
+		   | (uint64_t) a->c[5] << 16
+		   | (uint64_t) a->c[6] << 8
+		   | (uint64_t) a->c[7]);
+  uint64_t bval = (  (uint64_t) b->c[0] << 56
+		   | (uint64_t) b->c[1] << 48
+		   | (uint64_t) b->c[2] << 40
+		   | (uint64_t) b->c[3] << 32
+		   | (uint64_t) b->c[4] << 24
+		   | (uint64_t) b->c[5] << 16
+		   | (uint64_t) b->c[6] << 8
+		   | (uint64_t) b->c[7]);
+  if (aval < bval)
+    return -1;
+  else if (aval > bval)
+    return 1;
+  return 0;
+}
+#endif
+
 /* When performing a relocatable link, the input relocations are
    preserved.  But, if they reference global symbols, the indices
    referenced must be updated.  Update all the relocations found in
@@ -7997,7 +8110,8 @@ bfd_elf_perform_complex_relocation (bfd 
 
 static void
 elf_link_adjust_relocs (bfd *abfd,
-			struct bfd_elf_section_reloc_data *reldata)
+			struct bfd_elf_section_reloc_data *reldata,
+			bfd_boolean sort)
 {
   unsigned int i;
   const struct elf_backend_data *bed = get_elf_backend_data (abfd);
@@ -8053,6 +8167,35 @@ elf_link_adjust_relocs (bfd *abfd,
 			   | (irela[j].r_info & r_type_mask));
       (*swap_out) (abfd, irela, erela);
     }
+
+  if (sort)
+    {
+      int (*compare) (const void *, const void *);
+
+      if (bed->s->arch_size == 32)
+	{
+	  if (abfd->xvec->header_byteorder == BFD_ENDIAN_LITTLE)
+	    compare = cmp_ext32l_r_offset;
+	  else if (abfd->xvec->header_byteorder == BFD_ENDIAN_BIG)
+	    compare = cmp_ext32b_r_offset;
+	  else
+	    abort ();
+	}
+      else
+	{
+#ifdef BFD_HOST_64_BIT
+	  if (abfd->xvec->header_byteorder == BFD_ENDIAN_LITTLE)
+	    compare = cmp_ext64l_r_offset;
+	  else if (abfd->xvec->header_byteorder == BFD_ENDIAN_BIG)
+	    compare = cmp_ext64b_r_offset;
+	  else
+#endif
+	    abort ();
+	}
+      qsort (reldata->hdr->contents, count, reldata->hdr->sh_entsize, compare);
+      free (reldata->hashes);
+      reldata->hashes = NULL;
+    }
 }
 
 struct elf_link_sort_rela
@@ -9085,7 +9228,9 @@ elf_link_output_extsym (struct bfd_hash_
 
 	  if (!h->def_regular)
 	    {
-	      if (h->verinfo.verdef == NULL)
+	      if (h->verinfo.verdef == NULL
+		  || (elf_dyn_lib_class (h->verinfo.verdef->vd_bfd)
+		      & (DYN_AS_NEEDED | DYN_DT_NEEDED | DYN_NO_NEEDED)))
 		iversym.vs_vers = 0;
 	      else
 		iversym.vs_vers = h->verinfo.verdef->vd_exp_refno + 1;
@@ -10469,7 +10614,6 @@ bfd_elf_final_link (bfd *abfd, struct bf
   unsigned int i;
   Elf_Internal_Shdr *symtab_hdr;
   Elf_Internal_Shdr *symtab_shndx_hdr;
-  Elf_Internal_Shdr *symstrtab_hdr;
   const struct elf_backend_data *bed = get_elf_backend_data (abfd);
   struct elf_outext_info eoinfo;
   bfd_boolean merged;
@@ -10726,12 +10870,10 @@ bfd_elf_final_link (bfd *abfd, struct bf
       esdo->rela.count = 0;
     }
 
-  _bfd_elf_assign_file_positions_for_relocs (abfd);
-
   /* We have now assigned file positions for all the sections except
-     .symtab and .strtab.  We start the .symtab section at the current
-     file position, and write directly to it.  We build the .strtab
-     section in memory.  */
+     .symtab, .strtab, and non-loaded reloc sections.  We start the
+     .symtab section at the current file position, and write directly
+     to it.  We build the .strtab section in memory.  */
   bfd_get_symcount (abfd) = 0;
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
   /* sh_name is set in prep_headers.  */
@@ -10929,7 +11071,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
      we could write the relocs out and then read them again; I don't
      know how bad the memory loss will be.  */
 
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     sub->output_has_begun = FALSE;
   for (o = abfd->sections; o != NULL; o = o->next)
     {
@@ -10991,7 +11133,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
   /* Free symbol buffer if needed.  */
   if (!info->reduce_memory_overheads)
     {
-      for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+      for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
 	if (bfd_get_flavour (sub) == bfd_target_elf_flavour
 	    && elf_tdata (sub)->symbuf)
 	  {
@@ -11172,25 +11314,28 @@ bfd_elf_final_link (bfd *abfd, struct bf
     }
 
 
-  /* Finish up and write out the symbol string table (.strtab)
-     section.  */
-  symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr;
-  /* sh_name was set in prep_headers.  */
-  symstrtab_hdr->sh_type = SHT_STRTAB;
-  symstrtab_hdr->sh_flags = 0;
-  symstrtab_hdr->sh_addr = 0;
-  symstrtab_hdr->sh_size = _bfd_stringtab_size (flinfo.symstrtab);
-  symstrtab_hdr->sh_entsize = 0;
-  symstrtab_hdr->sh_link = 0;
-  symstrtab_hdr->sh_info = 0;
-  /* sh_offset is set just below.  */
-  symstrtab_hdr->sh_addralign = 1;
-
-  off = _bfd_elf_assign_file_position_for_section (symstrtab_hdr, off, TRUE);
-  elf_next_file_pos (abfd) = off;
-
   if (bfd_get_symcount (abfd) > 0)
     {
+      /* Finish up and write out the symbol string table (.strtab)
+	 section.  */
+      Elf_Internal_Shdr *symstrtab_hdr;
+
+      symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr;
+      /* sh_name was set in prep_headers.  */
+      symstrtab_hdr->sh_type = SHT_STRTAB;
+      symstrtab_hdr->sh_flags = 0;
+      symstrtab_hdr->sh_addr = 0;
+      symstrtab_hdr->sh_size = _bfd_stringtab_size (flinfo.symstrtab);
+      symstrtab_hdr->sh_entsize = 0;
+      symstrtab_hdr->sh_link = 0;
+      symstrtab_hdr->sh_info = 0;
+      /* sh_offset is set just below.  */
+      symstrtab_hdr->sh_addralign = 1;
+
+      off = _bfd_elf_assign_file_position_for_section (symstrtab_hdr,
+						       off, TRUE);
+      elf_next_file_pos (abfd) = off;
+
       if (bfd_seek (abfd, symstrtab_hdr->sh_offset, SEEK_SET) != 0
 	  || ! _bfd_stringtab_emit (abfd, flinfo.symstrtab))
 	return FALSE;
@@ -11200,13 +11345,15 @@ bfd_elf_final_link (bfd *abfd, struct bf
   for (o = abfd->sections; o != NULL; o = o->next)
     {
       struct bfd_elf_section_data *esdo = elf_section_data (o);
+      bfd_boolean sort;
       if ((o->flags & SEC_RELOC) == 0)
 	continue;
 
+      sort = bed->sort_relocs_p == NULL || (*bed->sort_relocs_p) (o);
       if (esdo->rel.hdr != NULL)
-	elf_link_adjust_relocs (abfd, &esdo->rel);
+	elf_link_adjust_relocs (abfd, &esdo->rel, sort);
       if (esdo->rela.hdr != NULL)
-	elf_link_adjust_relocs (abfd, &esdo->rela);
+	elf_link_adjust_relocs (abfd, &esdo->rela, sort);
 
       /* Set the reloc_count field to 0 to prevent write_relocs from
 	 trying to swap the relocs out itself.  */
@@ -11677,7 +11824,7 @@ _bfd_elf_gc_mark_hook (asection *sec,
 	    {
 	      bfd *i;
 
-	      for (i = info->input_bfds; i; i = i->link_next)
+	      for (i = info->input_bfds; i; i = i->link.next)
 		{
 		  sec = bfd_get_section_by_name (i, sec_name);
 		  if (sec)
@@ -11716,6 +11863,12 @@ _bfd_elf_gc_mark_rsec (struct bfd_link_i
       || ELF_ST_BIND (cookie->locsyms[r_symndx].st_info) != STB_LOCAL)
     {
       h = cookie->sym_hashes[r_symndx - cookie->extsymoff];
+      if (h == NULL)
+	{
+	  info->callbacks->einfo (_("%F%P: corrupt input: %B\n"),
+				  sec->owner);
+	  return NULL;
+	}
       while (h->root.type == bfd_link_hash_indirect
 	     || h->root.type == bfd_link_hash_warning)
 	h = (struct elf_link_hash_entry *) h->root.u.i.link;
@@ -11818,6 +11971,47 @@ _bfd_elf_gc_mark (struct bfd_link_info *
   return ret;
 }
 
+/* Scan and mark sections in a special or debug section group.  */
+
+static void
+_bfd_elf_gc_mark_debug_special_section_group (asection *grp)
+{
+  /* Point to first section of section group.  */
+  asection *ssec;
+  /* Used to iterate the section group.  */
+  asection *msec;
+
+  bfd_boolean is_special_grp = TRUE;
+  bfd_boolean is_debug_grp = TRUE;
+
+  /* First scan to see if group contains any section other than debug
+     and special section.  */
+  ssec = msec = elf_next_in_group (grp);
+  do
+    {
+      if ((msec->flags & SEC_DEBUGGING) == 0)
+	is_debug_grp = FALSE;
+
+      if ((msec->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) != 0)
+	is_special_grp = FALSE;
+
+      msec = elf_next_in_group (msec);
+    }
+  while (msec != ssec);
+
+  /* If this is a pure debug section group or pure special section group,
+     keep all sections in this group.  */
+  if (is_debug_grp || is_special_grp)
+    {
+      do
+	{
+	  msec->gc_mark = 1;
+	  msec = elf_next_in_group (msec);
+	}
+      while (msec != ssec);
+    }
+}
+
 /* Keep debug and special sections.  */
 
 bfd_boolean
@@ -11826,7 +12020,7 @@ _bfd_elf_gc_mark_extra_sections (struct 
 {
   bfd *ibfd;
 
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       asection *isec;
       bfd_boolean some_kept;
@@ -11858,13 +12052,17 @@ _bfd_elf_gc_mark_extra_sections (struct 
 	continue;
 
       /* Keep debug and special sections like .comment when they are
-	 not part of a group, or when we have single-member groups.  */
+	 not part of a group.  Also keep section groups that contain
+	 just debug sections or special sections.  */
       for (isec = ibfd->sections; isec != NULL; isec = isec->next)
-	if ((elf_next_in_group (isec) == NULL
-	     || elf_next_in_group (isec) == isec)
-	    && ((isec->flags & SEC_DEBUGGING) != 0
-		|| (isec->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) == 0))
-	  isec->gc_mark = 1;
+	{
+	  if ((isec->flags & SEC_GROUP) != 0)
+	    _bfd_elf_gc_mark_debug_special_section_group (isec);
+	  else if (((isec->flags & SEC_DEBUGGING) != 0
+		    || (isec->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) == 0)
+		   && elf_next_in_group (isec) == NULL)
+	    isec->gc_mark = 1;
+	}
 
       if (! debug_frag_seen)
 	continue;
@@ -11954,7 +12152,7 @@ elf_gc_sweep (bfd *abfd, struct bfd_link
   unsigned long section_sym_count;
   struct elf_gc_sweep_symbol_info sweep_info;
 
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       asection *o;
 
@@ -12194,6 +12392,7 @@ bfd_elf_gc_sections (bfd *abfd, struct b
   bfd *sub;
   elf_gc_mark_hook_fn gc_mark_hook;
   const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+  struct elf_link_hash_table *htab;
 
   if (!bed->can_gc_sections
       || !is_elf_hash_table (info->hash))
@@ -12203,11 +12402,11 @@ bfd_elf_gc_sections (bfd *abfd, struct b
     }
 
   bed->gc_keep (info);
+  htab = elf_hash_table (info);
 
   /* Try to parse each bfd's .eh_frame section.  Point elf_eh_frame_section
      at the .eh_frame section if we can mark the FDEs individually.  */
-  _bfd_elf_begin_eh_frame_parsing (info);
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       asection *sec;
       struct elf_reloc_cookie cookie;
@@ -12223,31 +12422,24 @@ bfd_elf_gc_sections (bfd *abfd, struct b
 	  sec = bfd_get_next_section_by_name (sec);
 	}
     }
-  _bfd_elf_end_eh_frame_parsing (info);
 
   /* Apply transitive closure to the vtable entry usage info.  */
-  elf_link_hash_traverse (elf_hash_table (info),
-			  elf_gc_propagate_vtable_entries_used,
-			  &ok);
+  elf_link_hash_traverse (htab, elf_gc_propagate_vtable_entries_used, &ok);
   if (!ok)
     return FALSE;
 
   /* Kill the vtable relocations that were not used.  */
-  elf_link_hash_traverse (elf_hash_table (info),
-			  elf_gc_smash_unused_vtentry_relocs,
-			  &ok);
+  elf_link_hash_traverse (htab, elf_gc_smash_unused_vtentry_relocs, &ok);
   if (!ok)
     return FALSE;
 
   /* Mark dynamically referenced symbols.  */
-  if (elf_hash_table (info)->dynamic_sections_created)
-    elf_link_hash_traverse (elf_hash_table (info),
-			    bed->gc_mark_dynamic_ref,
-			    info);
+  if (htab->dynamic_sections_created)
+    elf_link_hash_traverse (htab, bed->gc_mark_dynamic_ref, info);
 
   /* Grovel through relocs to find out who stays ...  */
   gc_mark_hook = bed->gc_mark_hook;
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       asection *o;
 
@@ -12556,7 +12748,7 @@ bfd_elf_gc_common_finalize_got_offsets (
     gotoff = bed->got_header_size;
 
   /* Do the local .got entries first.  */
-  for (i = info->input_bfds; i; i = i->link_next)
+  for (i = info->input_bfds; i; i = i->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_size_type j, locsymcount;
@@ -12645,10 +12837,10 @@ bfd_elf_reloc_symbol_deleted_p (bfd_vma 
 
 	  if ((h->root.type == bfd_link_hash_defined
 	       || h->root.type == bfd_link_hash_defweak)
-	      && discarded_section (h->root.u.def.section))
+	      && (h->root.u.def.section->owner != rcookie->abfd
+		  || h->root.u.def.section->kept_section != NULL
+		  || discarded_section (h->root.u.def.section)))
 	    return TRUE;
-	  else
-	    return FALSE;
 	}
       else
 	{
@@ -12661,7 +12853,9 @@ bfd_elf_reloc_symbol_deleted_p (bfd_vma 
 	  /* Need to: get the symbol; get the section.  */
 	  isym = &rcookie->locsyms[r_symndx];
 	  isec = bfd_section_from_elf_index (rcookie->abfd, isym->st_shndx);
-	  if (isec != NULL && discarded_section (isec))
+	  if (isec != NULL
+	      && (isec->kept_section != NULL
+		  || discarded_section (isec)))
 	    return TRUE;
 	}
       return FALSE;
@@ -12670,94 +12864,105 @@ bfd_elf_reloc_symbol_deleted_p (bfd_vma 
 }
 
 /* Discard unneeded references to discarded sections.
-   Returns TRUE if any section's size was changed.  */
-/* This function assumes that the relocations are in sorted order,
-   which is true for all known assemblers.  */
+   Returns -1 on error, 1 if any section's size was changed, 0 if
+   nothing changed.  This function assumes that the relocations are in
+   sorted order, which is true for all known assemblers.  */
 
-bfd_boolean
+int
 bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
 {
   struct elf_reloc_cookie cookie;
-  asection *stab, *eh;
-  const struct elf_backend_data *bed;
+  asection *o;
   bfd *abfd;
-  bfd_boolean ret = FALSE;
+  int changed = 0;
 
   if (info->traditional_format
       || !is_elf_hash_table (info->hash))
-    return FALSE;
+    return 0;
 
-  _bfd_elf_begin_eh_frame_parsing (info);
-  for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link_next)
+  o = bfd_get_section_by_name (output_bfd, ".stab");
+  if (o != NULL)
     {
-      if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
-	continue;
+      asection *i;
 
-      bed = get_elf_backend_data (abfd);
-
-      eh = NULL;
-      if (!info->relocatable)
+      for (i = o->map_head.s; i != NULL; i = i->map_head.s)
 	{
-	  eh = bfd_get_section_by_name (abfd, ".eh_frame");
-	  while (eh != NULL
-		 && (eh->size == 0
-		     || bfd_is_abs_section (eh->output_section)))
-	    eh = bfd_get_next_section_by_name (eh);
-	}
-
-      stab = bfd_get_section_by_name (abfd, ".stab");
-      if (stab != NULL
-	  && (stab->size == 0
-	      || bfd_is_abs_section (stab->output_section)
-	      || stab->sec_info_type != SEC_INFO_TYPE_STABS))
-	stab = NULL;
-
-      if (stab == NULL
-	  && eh == NULL
-	  && bed->elf_backend_discard_info == NULL)
-	continue;
+	  if (i->size == 0
+	      || i->reloc_count == 0
+	      || i->sec_info_type != SEC_INFO_TYPE_STABS)
+	    continue;
 
-      if (!init_reloc_cookie (&cookie, info, abfd))
-	return FALSE;
+	  abfd = i->owner;
+	  if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
+	    continue;
 
-      if (stab != NULL
-	  && stab->reloc_count > 0
-	  && init_reloc_cookie_rels (&cookie, info, abfd, stab))
-	{
-	  if (_bfd_discard_section_stabs (abfd, stab,
-					  elf_section_data (stab)->sec_info,
+	  if (!init_reloc_cookie_for_section (&cookie, info, i))
+	    return -1;
+
+	  if (_bfd_discard_section_stabs (abfd, i,
+					  elf_section_data (i)->sec_info,
 					  bfd_elf_reloc_symbol_deleted_p,
 					  &cookie))
-	    ret = TRUE;
-	  fini_reloc_cookie_rels (&cookie, stab);
+	    changed = 1;
+
+	  fini_reloc_cookie_for_section (&cookie, i);
 	}
+    }
+
+  o = bfd_get_section_by_name (output_bfd, ".eh_frame");
+  if (o != NULL)
+    {
+      asection *i;
 
-      while (eh != NULL
-	     && init_reloc_cookie_rels (&cookie, info, abfd, eh))
+      for (i = o->map_head.s; i != NULL; i = i->map_head.s)
 	{
-	  _bfd_elf_parse_eh_frame (abfd, info, eh, &cookie);
-	  if (_bfd_elf_discard_section_eh_frame (abfd, info, eh,
+	  if (i->size == 0)
+	    continue;
+
+	  abfd = i->owner;
+	  if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
+	    continue;
+
+	  if (!init_reloc_cookie_for_section (&cookie, info, i))
+	    return -1;
+
+	  _bfd_elf_parse_eh_frame (abfd, info, i, &cookie);
+	  if (_bfd_elf_discard_section_eh_frame (abfd, info, i,
 						 bfd_elf_reloc_symbol_deleted_p,
 						 &cookie))
-	    ret = TRUE;
-	  fini_reloc_cookie_rels (&cookie, eh);
-	  eh = bfd_get_next_section_by_name (eh);
+	    changed = 1;
+
+	  fini_reloc_cookie_for_section (&cookie, i);
 	}
+    }
 
-      if (bed->elf_backend_discard_info != NULL
-	  && (*bed->elf_backend_discard_info) (abfd, &cookie, info))
-	ret = TRUE;
+  for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link.next)
+    {
+      const struct elf_backend_data *bed;
 
-      fini_reloc_cookie (&cookie, abfd);
+      if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
+	continue;
+
+      bed = get_elf_backend_data (abfd);
+
+      if (bed->elf_backend_discard_info != NULL)
+	{
+	  if (!init_reloc_cookie (&cookie, info, abfd))
+	    return -1;
+
+	  if ((*bed->elf_backend_discard_info) (abfd, &cookie, info))
+	    changed = 1;
+
+	  fini_reloc_cookie (&cookie, abfd);
+	}
     }
-  _bfd_elf_end_eh_frame_parsing (info);
 
   if (info->eh_frame_hdr
       && !info->relocatable
       && _bfd_elf_discard_section_eh_frame_hdr (output_bfd, info))
-    ret = TRUE;
+    changed = 1;
 
-  return ret;
+  return changed;
 }
 
 bfd_boolean
@@ -13041,17 +13246,24 @@ _bfd_elf_make_dynamic_reloc_section (ase
   return reloc_sec;
 }
 
-/* Copy the ELF symbol type associated with a linker hash entry.  */
+/* Copy the ELF symbol type and other attributes for a linker script
+   assignment from HSRC to HDEST.  Generally this should be treated as
+   if we found a strong non-dynamic definition for HDEST (except that
+   ld ignores multiple definition errors).  */
 void
-_bfd_elf_copy_link_hash_symbol_type (bfd *abfd ATTRIBUTE_UNUSED,
-    struct bfd_link_hash_entry * hdest,
-    struct bfd_link_hash_entry * hsrc)
-{
-  struct elf_link_hash_entry *ehdest = (struct elf_link_hash_entry *)hdest;
-  struct elf_link_hash_entry *ehsrc = (struct elf_link_hash_entry *)hsrc;
+_bfd_elf_copy_link_hash_symbol_type (bfd *abfd,
+				     struct bfd_link_hash_entry *hdest,
+				     struct bfd_link_hash_entry *hsrc)
+{
+  struct elf_link_hash_entry *ehdest = (struct elf_link_hash_entry *) hdest;
+  struct elf_link_hash_entry *ehsrc = (struct elf_link_hash_entry *) hsrc;
+  Elf_Internal_Sym isym;
 
   ehdest->type = ehsrc->type;
   ehdest->target_internal = ehsrc->target_internal;
+
+  isym.st_other = ehsrc->other;
+  elf_merge_st_other (abfd, ehdest, &isym, TRUE, FALSE);
 }
 
 /* Append a RELA relocation REL to section S in BFD.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-linux-psinfo.h ./bfd/elf-linux-psinfo.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-linux-psinfo.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-linux-psinfo.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions for PRPSINFO structures under ELF on GNU/Linux.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-m10200.c ./bfd/elf-m10200.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-m10200.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-m10200.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Matsushita 10200 specific support for 32-bit ELF
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-m10300.c ./bfd/elf-m10300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-m10300.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-m10300.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Matsushita 10300 specific support for 32-bit ELF
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -2679,7 +2679,7 @@ mn10300_elf_relax_section (bfd *abfd,
       /* Iterate over all the input bfds.  */
       for (input_bfd = link_info->input_bfds;
 	   input_bfd != NULL;
-	   input_bfd = input_bfd->link_next)
+	   input_bfd = input_bfd->link.next)
 	{
 	  /* We're going to need all the symbols for each bfd.  */
 	  symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
@@ -3022,7 +3022,7 @@ mn10300_elf_relax_section (bfd *abfd,
 	 a "call" instruction.  */
       for (input_bfd = link_info->input_bfds;
 	   input_bfd != NULL;
-	   input_bfd = input_bfd->link_next)
+	   input_bfd = input_bfd->link.next)
 	{
 	  /* We're going to need all the local symbols for each bfd.  */
 	  symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
@@ -4598,6 +4598,21 @@ _bfd_mn10300_copy_indirect_symbol (struc
   _bfd_elf_link_hash_copy_indirect (info, dir, ind);
 }
 
+/* Destroy an mn10300 ELF linker hash table.  */
+
+static void
+elf32_mn10300_link_hash_table_free (bfd *obfd)
+{
+  struct elf32_mn10300_link_hash_table *ret
+    = (struct elf32_mn10300_link_hash_table *) obfd->link.hash;
+
+  obfd->link.hash = &ret->static_hash_table->root.root;
+  _bfd_elf_link_hash_table_free (obfd);
+  obfd->is_linker_output = TRUE;
+  obfd->link.hash = &ret->root.root;
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create an mn10300 ELF linker hash table.  */
 
 static struct bfd_link_hash_table *
@@ -4610,17 +4625,6 @@ elf32_mn10300_link_hash_table_create (bf
   if (ret == NULL)
     return NULL;
 
-  if (!_bfd_elf_link_hash_table_init (&ret->root, abfd,
-				      elf32_mn10300_link_hash_newfunc,
-				      sizeof (struct elf32_mn10300_link_hash_entry),
-				      MN10300_ELF_DATA))
-    {
-      free (ret);
-      return NULL;
-    }
-
-  ret->tls_ldm_got.offset = -1;
-
   amt = sizeof (struct elf_link_hash_table);
   ret->static_hash_table = bfd_zmalloc (amt);
   if (ret->static_hash_table == NULL)
@@ -4638,21 +4642,25 @@ elf32_mn10300_link_hash_table_create (bf
       free (ret);
       return NULL;
     }
-  return & ret->root.root;
-}
 
-/* Free an mn10300 ELF linker hash table.  */
+  abfd->is_linker_output = FALSE;
+  abfd->link.hash = NULL;
+  if (!_bfd_elf_link_hash_table_init (&ret->root, abfd,
+				      elf32_mn10300_link_hash_newfunc,
+				      sizeof (struct elf32_mn10300_link_hash_entry),
+				      MN10300_ELF_DATA))
+    {
+      abfd->is_linker_output = TRUE;
+      abfd->link.hash = &ret->static_hash_table->root.root;
+      _bfd_elf_link_hash_table_free (abfd);
+      free (ret);
+      return NULL;
+    }
+  ret->root.root.hash_table_free = elf32_mn10300_link_hash_table_free;
 
-static void
-elf32_mn10300_link_hash_table_free (struct bfd_link_hash_table *hash)
-{
-  struct elf32_mn10300_link_hash_table *ret
-    = (struct elf32_mn10300_link_hash_table *) hash;
+  ret->tls_ldm_got.offset = -1;
 
-  _bfd_elf_link_hash_table_free
-    ((struct bfd_link_hash_table *) ret->static_hash_table);
-  _bfd_elf_link_hash_table_free
-    ((struct bfd_link_hash_table *) ret);
+  return & ret->root.root;
 }
 
 static unsigned long
@@ -5016,7 +5024,7 @@ _bfd_mn10300_elf_adjust_dynamic_symbol (
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Set the sizes of the dynamic sections.  */
@@ -5581,8 +5589,6 @@ mn10300_elf_mkobject (bfd *abfd)
 				mn10300_elf_get_relocated_section_contents
 #define bfd_elf32_bfd_link_hash_table_create \
 				elf32_mn10300_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free \
-				elf32_mn10300_link_hash_table_free
 
 #ifndef elf_symbol_leading_char
 #define elf_symbol_leading_char '_'
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfn32-mips.c ./bfd/elfn32-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfn32-mips.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfn32-mips.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* MIPS-specific support for 32-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Most of the information added by Ian Lance Taylor, Cygnus Support,
    <ian@cygnus.com>.
@@ -770,6 +770,100 @@ static reloc_howto_type elf_mips_howto_t
 	 0x0,			/* src_mask */
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (52),
+  EMPTY_HOWTO (53),
+  EMPTY_HOWTO (54),
+  EMPTY_HOWTO (55),
+  EMPTY_HOWTO (56),
+  EMPTY_HOWTO (57),
+  EMPTY_HOWTO (58),
+  EMPTY_HOWTO (59),
+
+  HOWTO (R_MIPS_PC21_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 21,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC21_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x001fffff,		/* src_mask */
+	 0x001fffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC26_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 26,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC26_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x03ffffff,		/* src_mask */
+	 0x03ffffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC18_S3,	/* type */
+	 3,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 18,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC18_S3",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0003ffff,		/* src_mask */
+	 0x0003ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC19_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 19,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC19_S2",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0007ffff,		/* src_mask */
+	 0x0007ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCHI16,		/* type */
+	 16,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCHI16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCLO16,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCLO16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
 };
 
 /* The relocation table used for SHT_RELA sections.  */
@@ -1458,6 +1552,100 @@ static reloc_howto_type elf_mips_howto_t
 	 0x0,			/* src_mask */
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  EMPTY_HOWTO (52),
+  EMPTY_HOWTO (53),
+  EMPTY_HOWTO (54),
+  EMPTY_HOWTO (55),
+  EMPTY_HOWTO (56),
+  EMPTY_HOWTO (57),
+  EMPTY_HOWTO (58),
+  EMPTY_HOWTO (59),
+
+  HOWTO (R_MIPS_PC21_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 21,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC21_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x001fffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC26_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 26,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS_PC26_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x03ffffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC18_S3,	/* type */
+	 3,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 18,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC18_S3",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0003ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PC19_S2,	/* type */
+	 2,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 19,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PC19_S2",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0007ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCHI16,		/* type */
+	 16,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCHI16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
+  HOWTO (R_MIPS_PCLO16,		/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 TRUE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_dont, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc,   /* special_function */
+	 "R_MIPS_PCLO16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 TRUE),			/* pcrel_offset */
+
 };
 
 static reloc_howto_type elf_mips16_howto_table_rel[] =
@@ -3018,7 +3206,13 @@ static const struct elf_reloc_map mips_r
   { BFD_RELOC_MIPS_TLS_TPREL32, R_MIPS_TLS_TPREL32 },
   { BFD_RELOC_MIPS_TLS_TPREL64, R_MIPS_TLS_TPREL64 },
   { BFD_RELOC_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_HI16 },
-  { BFD_RELOC_MIPS_TLS_TPREL_LO16, R_MIPS_TLS_TPREL_LO16 }
+  { BFD_RELOC_MIPS_TLS_TPREL_LO16, R_MIPS_TLS_TPREL_LO16 },
+  { BFD_RELOC_MIPS_21_PCREL_S2, R_MIPS_PC21_S2 },
+  { BFD_RELOC_MIPS_26_PCREL_S2, R_MIPS_PC26_S2 },
+  { BFD_RELOC_MIPS_18_PCREL_S3, R_MIPS_PC18_S3 },
+  { BFD_RELOC_MIPS_19_PCREL_S2, R_MIPS_PC19_S2 },
+  { BFD_RELOC_HI16_S_PCREL, R_MIPS_PCHI16 },
+  { BFD_RELOC_LO16_PCREL, R_MIPS_PCLO16 }
 };
 
 static const struct elf_reloc_map mips16_reloc_map[] =
@@ -3410,6 +3604,8 @@ static const struct ecoff_debug_swap mip
 #define elf_backend_collect		TRUE
 #define elf_backend_type_change_ok	TRUE
 #define elf_backend_can_gc_sections	TRUE
+#define elf_backend_gc_mark_extra_sections \
+					_bfd_mips_elf_gc_mark_extra_sections
 #define elf_info_to_howto		mips_info_to_howto_rela
 #define elf_info_to_howto_rel		mips_info_to_howto_rel
 #define elf_backend_sym_is_global	mips_elf_sym_is_global
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-nacl.c ./bfd/elf-nacl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-nacl.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-nacl.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Native Client support for ELF
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-nacl.h ./bfd/elf-nacl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-nacl.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-nacl.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Native Client support for ELF
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfnn-aarch64.c ./bfd/elfnn-aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfnn-aarch64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfnn-aarch64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* AArch64-specific support for NN-bit ELF.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1431,6 +1431,14 @@ elfNN_aarch64_bfd_reloc_from_type (unsig
   if (r_type == R_AARCH64_NONE || r_type == R_AARCH64_NULL)
     return BFD_RELOC_AARCH64_NONE;
 
+  /* PR 17512: file: b371e70a.  */
+  if (r_type >= R_AARCH64_end)
+    {
+      _bfd_error_handler (_("Invalid AArch64 reloc number: %d"), r_type);
+      bfd_set_error (bfd_error_bad_value);
+      return BFD_RELOC_AARCH64_NONE;
+    }
+
   return BFD_RELOC_AARCH64_RELOC_START + offsets[r_type];
 }
 
@@ -1611,6 +1619,12 @@ static const uint32_t aarch64_long_branc
   0x00000000,
 };
 
+static const uint32_t aarch64_erratum_835769_stub[] =
+{
+  0x00000000,    /* Placeholder for multiply accumulate.  */
+  0x14000000,    /* b <label> */
+};
+
 /* Section name for stubs is the associated section name plus this
    string.  */
 #define STUB_SUFFIX ".stub"
@@ -1620,6 +1634,7 @@ enum elf_aarch64_stub_type
   aarch64_stub_none,
   aarch64_stub_adrp_branch,
   aarch64_stub_long_branch,
+  aarch64_stub_erratum_835769_veneer,
 };
 
 struct elf_aarch64_stub_hash_entry
@@ -1654,6 +1669,10 @@ struct elf_aarch64_stub_hash_entry
      stub name in the hash table has to be unique; this does not, so
      it can be friendlier.  */
   char *output_name;
+
+  /* The instruction which caused this stub to be generated (only valid for
+     erratum 835769 workaround stubs at present).  */
+  uint32_t veneered_insn;
 };
 
 /* Used to build a map of a section.  This is required for mixed-endian
@@ -1679,6 +1698,17 @@ _aarch64_elf_section_data;
 #define elf_aarch64_section_data(sec) \
   ((_aarch64_elf_section_data *) elf_section_data (sec))
 
+/* A fix-descriptor for erratum 835769.  */
+struct aarch64_erratum_835769_fix
+{
+  bfd *input_bfd;
+  asection *section;
+  bfd_vma offset;
+  uint32_t veneered_insn;
+  char *stub_name;
+  enum elf_aarch64_stub_type stub_type;
+};
+
 /* The size of the thread control block which is defined to be two pointers.  */
 #define TCB_SIZE	(ARCH_SIZE/8)*2
 
@@ -1799,6 +1829,15 @@ struct elf_aarch64_link_hash_table
   /* Nonzero to force PIC branch veneers.  */
   int pic_veneer;
 
+  /* Fix erratum 835769.  */
+  int fix_erratum_835769;
+
+  /* A table of fix locations for erratum 835769.  This holds erratum
+     fix locations between elfNN_aarch64_size_stubs() and
+     elfNN_aarch64_write_section().  */
+  struct aarch64_erratum_835769_fix *aarch64_erratum_835769_fixes;
+  unsigned int num_aarch64_erratum_835769_fixes;
+
   /* The number of bytes in the initial entry in the PLT.  */
   bfd_size_type plt_header_size;
 
@@ -2055,6 +2094,23 @@ elfNN_aarch64_copy_indirect_symbol (stru
   _bfd_elf_link_hash_copy_indirect (info, dir, ind);
 }
 
+/* Destroy an AArch64 elf linker hash table.  */
+
+static void
+elfNN_aarch64_link_hash_table_free (bfd *obfd)
+{
+  struct elf_aarch64_link_hash_table *ret
+    = (struct elf_aarch64_link_hash_table *) obfd->link.hash;
+
+  if (ret->loc_hash_table)
+    htab_delete (ret->loc_hash_table);
+  if (ret->loc_hash_memory)
+    objalloc_free ((struct objalloc *) ret->loc_hash_memory);
+
+  bfd_hash_table_free (&ret->stub_hash_table);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create an AArch64 elf linker hash table.  */
 
 static struct bfd_link_hash_table *
@@ -2083,7 +2139,7 @@ elfNN_aarch64_link_hash_table_create (bf
   if (!bfd_hash_table_init (&ret->stub_hash_table, stub_hash_newfunc,
 			    sizeof (struct elf_aarch64_stub_hash_entry)))
     {
-      free (ret);
+      _bfd_elf_link_hash_table_free (abfd);
       return NULL;
     }
 
@@ -2094,30 +2150,14 @@ elfNN_aarch64_link_hash_table_create (bf
   ret->loc_hash_memory = objalloc_create ();
   if (!ret->loc_hash_table || !ret->loc_hash_memory)
     {
-      free (ret);
+      elfNN_aarch64_link_hash_table_free (abfd);
       return NULL;
     }
+  ret->root.root.hash_table_free = elfNN_aarch64_link_hash_table_free;
 
   return &ret->root.root;
 }
 
-/* Free the derived linker hash table.  */
-
-static void
-elfNN_aarch64_hash_table_free (struct bfd_link_hash_table *hash)
-{
-  struct elf_aarch64_link_hash_table *ret
-    = (struct elf_aarch64_link_hash_table *) hash;
-
-  if (ret->loc_hash_table)
-    htab_delete (ret->loc_hash_table);
-  if (ret->loc_hash_memory)
-    objalloc_free ((struct objalloc *) ret->loc_hash_memory);
-
-  bfd_hash_table_free (&ret->stub_hash_table);
-  _bfd_elf_link_hash_table_free (hash);
-}
-
 static bfd_boolean
 aarch64_relocate (unsigned int r_type, bfd *input_bfd, asection *input_section,
 		  bfd_vma offset, bfd_vma value)
@@ -2342,6 +2382,9 @@ aarch64_build_one_stub (struct bfd_hash_
   bfd *stub_bfd;
   bfd_byte *loc;
   bfd_vma sym_value;
+  bfd_vma veneered_insn_loc;
+  bfd_vma veneer_entry_loc;
+  bfd_signed_vma branch_offset = 0;
   unsigned int template_size;
   const uint32_t *template;
   unsigned int i;
@@ -2382,6 +2425,10 @@ aarch64_build_one_stub (struct bfd_hash_
       template = aarch64_long_branch_stub;
       template_size = sizeof (aarch64_long_branch_stub);
       break;
+    case aarch64_stub_erratum_835769_veneer:
+      template = aarch64_erratum_835769_stub;
+      template_size = sizeof (aarch64_erratum_835769_stub);
+      break;
     default:
       BFD_FAIL ();
       return FALSE;
@@ -2424,6 +2471,23 @@ aarch64_build_one_stub (struct bfd_hash_
 				stub_entry->stub_offset + 16,
 				sym_value + 12, 0);
       break;
+
+    case aarch64_stub_erratum_835769_veneer:
+      veneered_insn_loc = stub_entry->target_section->output_section->vma
+			  + stub_entry->target_section->output_offset
+			  + stub_entry->target_value;
+      veneer_entry_loc = stub_entry->stub_sec->output_section->vma
+			  + stub_entry->stub_sec->output_offset
+			  + stub_entry->stub_offset;
+      branch_offset = veneered_insn_loc - veneer_entry_loc;
+      branch_offset >>= 2;
+      branch_offset &= 0x3ffffff;
+      bfd_putl32 (stub_entry->veneered_insn,
+		  stub_sec->contents + stub_entry->stub_offset);
+      bfd_putl32 (template[1] | branch_offset,
+		  stub_sec->contents + stub_entry->stub_offset + 4);
+      break;
+
     default:
       break;
     }
@@ -2452,6 +2516,9 @@ aarch64_size_one_stub (struct bfd_hash_e
     case aarch64_stub_long_branch:
       size = sizeof (aarch64_long_branch_stub);
       break;
+    case aarch64_stub_erratum_835769_veneer:
+      size = sizeof (aarch64_erratum_835769_stub);
+      break;
     default:
       BFD_FAIL ();
       return FALSE;
@@ -2487,7 +2554,7 @@ elfNN_aarch64_setup_section_lists (bfd *
 
   /* Count the number of input BFDs and find the top input section id.  */
   for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
-       input_bfd != NULL; input_bfd = input_bfd->link_next)
+       input_bfd != NULL; input_bfd = input_bfd->link.next)
     {
       bfd_count += 1;
       for (section = input_bfd->sections;
@@ -2640,6 +2707,415 @@ group_sections (struct elf_aarch64_link_
 
 #undef PREV_SEC
 
+#define AARCH64_BITS(x, pos, n) (((x) >> (pos)) & ((1 << (n)) - 1))
+
+#define AARCH64_RT(insn) AARCH64_BITS (insn, 0, 5)
+#define AARCH64_RT2(insn) AARCH64_BITS (insn, 10, 5)
+#define AARCH64_RA(insn) AARCH64_BITS (insn, 10, 5)
+#define AARCH64_RD(insn) AARCH64_BITS (insn, 0, 5)
+#define AARCH64_RN(insn) AARCH64_BITS (insn, 5, 5)
+#define AARCH64_RM(insn) AARCH64_BITS (insn, 16, 5)
+
+#define AARCH64_MAC(insn) (((insn) & 0xff000000) == 0x9b000000)
+#define AARCH64_BIT(insn, n) AARCH64_BITS (insn, n, 1)
+#define AARCH64_OP31(insn) AARCH64_BITS (insn, 21, 3)
+#define AARCH64_ZR 0x1f
+
+/* All ld/st ops.  See C4-182 of the ARM ARM.  The encoding space for
+   LD_PCREL, LDST_RO, LDST_UI and LDST_UIMM cover prefetch ops.  */
+
+#define AARCH64_LD(insn) (AARCH64_BIT (insn, 22) == 1)
+#define AARCH64_LDST(insn) (((insn) & 0x0a000000) == 0x08000000)
+#define AARCH64_LDST_EX(insn) (((insn) & 0x3f000000) == 0x08000000)
+#define AARCH64_LDST_PCREL(insn) (((insn) & 0x3b000000) == 0x18000000)
+#define AARCH64_LDST_NAP(insn) (((insn) & 0x3b800000) == 0x28000000)
+#define AARCH64_LDSTP_PI(insn) (((insn) & 0x3b800000) == 0x28800000)
+#define AARCH64_LDSTP_O(insn) (((insn) & 0x3b800000) == 0x29000000)
+#define AARCH64_LDSTP_PRE(insn) (((insn) & 0x3b800000) == 0x29800000)
+#define AARCH64_LDST_UI(insn) (((insn) & 0x3b200c00) == 0x38000000)
+#define AARCH64_LDST_PIIMM(insn) (((insn) & 0x3b200c00) == 0x38000400)
+#define AARCH64_LDST_U(insn) (((insn) & 0x3b200c00) == 0x38000800)
+#define AARCH64_LDST_PREIMM(insn) (((insn) & 0x3b200c00) == 0x38000c00)
+#define AARCH64_LDST_RO(insn) (((insn) & 0x3b200c00) == 0x38200800)
+#define AARCH64_LDST_UIMM(insn) (((insn) & 0x3b000000) == 0x39000000)
+#define AARCH64_LDST_SIMD_M(insn) (((insn) & 0xbfbf0000) == 0x0c000000)
+#define AARCH64_LDST_SIMD_M_PI(insn) (((insn) & 0xbfa00000) == 0x0c800000)
+#define AARCH64_LDST_SIMD_S(insn) (((insn) & 0xbf9f0000) == 0x0d000000)
+#define AARCH64_LDST_SIMD_S_PI(insn) (((insn) & 0xbf800000) == 0x0d800000)
+
+/* Classify an INSN if it is indeed a load/store.  Return TRUE if INSN
+   is a load/store along with the Rt and Rtn.  Return FALSE if not a
+   load/store.  */
+
+static bfd_boolean
+aarch64_mem_op_p (uint32_t insn, unsigned int *rt, unsigned int *rtn,
+		  bfd_boolean *pair, bfd_boolean *load)
+{
+  uint32_t opcode;
+  unsigned int r;
+  uint32_t opc = 0;
+  uint32_t v = 0;
+  uint32_t opc_v = 0;
+
+  /* Bail out quickly if INSN doesn't fall into the the load-store
+     encoding space.  */
+  if (!AARCH64_LDST (insn))
+    return FALSE;
+
+  *pair = FALSE;
+  *load = FALSE;
+  if (AARCH64_LDST_EX (insn))
+    {
+      *rt = AARCH64_RT (insn);
+      *rtn = *rt;
+      if (AARCH64_BIT (insn, 21) == 1)
+        {
+	  *pair = TRUE;
+	  *rtn = AARCH64_RT2 (insn);
+	}
+      *load = AARCH64_LD (insn);
+      return TRUE;
+    }
+  else if (AARCH64_LDST_NAP (insn)
+	   || AARCH64_LDSTP_PI (insn)
+	   || AARCH64_LDSTP_O (insn)
+	   || AARCH64_LDSTP_PRE (insn))
+    {
+      *pair = TRUE;
+      *rt = AARCH64_RT (insn);
+      *rtn = AARCH64_RT2 (insn);
+      *load = AARCH64_LD (insn);
+      return TRUE;
+    }
+  else if (AARCH64_LDST_PCREL (insn)
+	   || AARCH64_LDST_UI (insn)
+	   || AARCH64_LDST_PIIMM (insn)
+	   || AARCH64_LDST_U (insn)
+	   || AARCH64_LDST_PREIMM (insn)
+	   || AARCH64_LDST_RO (insn)
+	   || AARCH64_LDST_UIMM (insn))
+   {
+      *rt = AARCH64_RT (insn);
+      *rtn = *rt;
+      if (AARCH64_LDST_PCREL (insn))
+	*load = TRUE;
+      opc = AARCH64_BITS (insn, 22, 2);
+      v = AARCH64_BIT (insn, 26);
+      opc_v = opc | (v << 2);
+      *load =  (opc_v == 1 || opc_v == 2 || opc_v == 3
+		|| opc_v == 5 || opc_v == 7);
+      return TRUE;
+   }
+  else if (AARCH64_LDST_SIMD_M (insn)
+	   || AARCH64_LDST_SIMD_M_PI (insn))
+    {
+      *rt = AARCH64_RT (insn);
+      *load = AARCH64_BIT (insn, 22);
+      opcode = (insn >> 12) & 0xf;
+      switch (opcode)
+	{
+	case 0:
+	case 2:
+	  *rtn = *rt + 3;
+	  break;
+
+	case 4:
+	case 6:
+	  *rtn = *rt + 2;
+	  break;
+
+	case 7:
+	  *rtn = *rt;
+	  break;
+
+	case 8:
+	case 10:
+	  *rtn = *rt + 1;
+	  break;
+
+	default:
+	  return FALSE;
+	}
+      return TRUE;
+    }
+  else if (AARCH64_LDST_SIMD_S (insn)
+	   || AARCH64_LDST_SIMD_S_PI (insn))
+    {
+      *rt = AARCH64_RT (insn);
+      r = (insn >> 21) & 1;
+      *load = AARCH64_BIT (insn, 22);
+      opcode = (insn >> 13) & 0x7;
+      switch (opcode)
+	{
+	case 0:
+	case 2:
+	case 4:
+	  *rtn = *rt + r;
+	  break;
+
+	case 1:
+	case 3:
+	case 5:
+	  *rtn = *rt + (r == 0 ? 2 : 3);
+	  break;
+
+	case 6:
+	  *rtn = *rt + r;
+	  break;
+
+	case 7:
+	  *rtn = *rt + (r == 0 ? 2 : 3);
+	  break;
+
+	default:
+	  return FALSE;
+	}
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+/* Return TRUE if INSN is multiply-accumulate.  */
+
+static bfd_boolean
+aarch64_mlxl_p (uint32_t insn)
+{
+  uint32_t op31 = AARCH64_OP31 (insn);
+
+  if (AARCH64_MAC (insn)
+      && (op31 == 0 || op31 == 1 || op31 == 5)
+      /* Exclude MUL instructions which are encoded as a multiple accumulate
+	 with RA = XZR.  */
+      && AARCH64_RA (insn) != AARCH64_ZR)
+    return TRUE;
+
+  return FALSE;
+}
+
+/* Some early revisions of the Cortex-A53 have an erratum (835769) whereby
+   it is possible for a 64-bit multiply-accumulate instruction to generate an
+   incorrect result.  The details are quite complex and hard to
+   determine statically, since branches in the code may exist in some
+   circumstances, but all cases end with a memory (load, store, or
+   prefetch) instruction followed immediately by the multiply-accumulate
+   operation.  We employ a linker patching technique, by moving the potentially
+   affected multiply-accumulate instruction into a patch region and replacing
+   the original instruction with a branch to the patch.  This function checks
+   if INSN_1 is the memory operation followed by a multiply-accumulate
+   operation (INSN_2).  Return TRUE if an erratum sequence is found, FALSE
+   if INSN_1 and INSN_2 are safe.  */
+
+static bfd_boolean
+aarch64_erratum_sequence (uint32_t insn_1, uint32_t insn_2)
+{
+  uint32_t rt;
+  uint32_t rtn;
+  uint32_t rn;
+  uint32_t rm;
+  uint32_t ra;
+  bfd_boolean pair;
+  bfd_boolean load;
+
+  if (aarch64_mlxl_p (insn_2)
+      && aarch64_mem_op_p (insn_1, &rt, &rtn, &pair, &load))
+    {
+      /* Any SIMD memory op is independent of the subsequent MLA
+	 by definition of the erratum.  */
+      if (AARCH64_BIT (insn_1, 26))
+	return TRUE;
+
+      /* If not SIMD, check for integer memory ops and MLA relationship.  */
+      rn = AARCH64_RN (insn_2);
+      ra = AARCH64_RA (insn_2);
+      rm = AARCH64_RM (insn_2);
+
+      /* If this is a load and there's a true(RAW) dependency, we are safe
+	 and this is not an erratum sequence.  */
+      if (load &&
+	  (rt == rn || rt == rm || rt == ra
+	   || (pair && (rtn == rn || rtn == rm || rtn == ra))))
+	return FALSE;
+
+      /* We conservatively put out stubs for all other cases (including
+	 writebacks).  */
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+/* Used to order a list of mapping symbols by address.  */
+
+static int
+elf_aarch64_compare_mapping (const void *a, const void *b)
+{
+  const elf_aarch64_section_map *amap = (const elf_aarch64_section_map *) a;
+  const elf_aarch64_section_map *bmap = (const elf_aarch64_section_map *) b;
+
+  if (amap->vma > bmap->vma)
+    return 1;
+  else if (amap->vma < bmap->vma)
+    return -1;
+  else if (amap->type > bmap->type)
+    /* Ensure results do not depend on the host qsort for objects with
+       multiple mapping symbols at the same address by sorting on type
+       after vma.  */
+    return 1;
+  else if (amap->type < bmap->type)
+    return -1;
+  else
+    return 0;
+}
+
+static bfd_boolean
+erratum_835769_scan (bfd *input_bfd,
+		     struct bfd_link_info *info,
+		     struct aarch64_erratum_835769_fix **fixes_p,
+		     unsigned int *num_fixes_p,
+		     unsigned int *fix_table_size_p)
+{
+  asection *section;
+  struct elf_aarch64_link_hash_table *htab = elf_aarch64_hash_table (info);
+  struct aarch64_erratum_835769_fix *fixes = *fixes_p;
+  unsigned int num_fixes = *num_fixes_p;
+  unsigned int fix_table_size = *fix_table_size_p;
+
+  if (htab == NULL)
+    return FALSE;
+
+  for (section = input_bfd->sections;
+       section != NULL;
+       section = section->next)
+    {
+      bfd_byte *contents = NULL;
+      struct _aarch64_elf_section_data *sec_data;
+      unsigned int span;
+
+      if (elf_section_type (section) != SHT_PROGBITS
+	  || (elf_section_flags (section) & SHF_EXECINSTR) == 0
+	  || (section->flags & SEC_EXCLUDE) != 0
+	  || (section->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
+	  || (section->output_section == bfd_abs_section_ptr))
+	continue;
+
+      if (elf_section_data (section)->this_hdr.contents != NULL)
+	contents = elf_section_data (section)->this_hdr.contents;
+      else if (! bfd_malloc_and_get_section (input_bfd, section, &contents))
+	return TRUE;
+
+      sec_data = elf_aarch64_section_data (section);
+
+      qsort (sec_data->map, sec_data->mapcount,
+	     sizeof (elf_aarch64_section_map), elf_aarch64_compare_mapping);
+
+      for (span = 0; span < sec_data->mapcount; span++)
+	{
+	  unsigned int span_start = sec_data->map[span].vma;
+	  unsigned int span_end = ((span == sec_data->mapcount - 1)
+				   ? sec_data->map[0].vma + section->size
+				   : sec_data->map[span + 1].vma);
+	  unsigned int i;
+	  char span_type = sec_data->map[span].type;
+
+	  if (span_type == 'd')
+	    continue;
+
+	  for (i = span_start; i + 4 < span_end; i += 4)
+	    {
+	      uint32_t insn_1 = bfd_getl32 (contents + i);
+	      uint32_t insn_2 = bfd_getl32 (contents + i + 4);
+
+	      if (aarch64_erratum_sequence (insn_1, insn_2))
+		{
+		  char *stub_name = NULL;
+		  stub_name = (char *) bfd_malloc
+				(strlen ("__erratum_835769_veneer_") + 16);
+		  if (stub_name != NULL)
+		    sprintf
+		      (stub_name,"__erratum_835769_veneer_%d", num_fixes);
+		  else
+		    return TRUE;
+
+		  if (num_fixes == fix_table_size)
+		    {
+		      fix_table_size *= 2;
+		      fixes =
+			(struct aarch64_erratum_835769_fix *)
+			  bfd_realloc (fixes,
+				       sizeof (struct aarch64_erratum_835769_fix)
+					 * fix_table_size);
+		      if (fixes == NULL)
+			return TRUE;
+		    }
+
+		  fixes[num_fixes].input_bfd = input_bfd;
+		  fixes[num_fixes].section = section;
+		  fixes[num_fixes].offset = i + 4;
+		  fixes[num_fixes].veneered_insn = insn_2;
+		  fixes[num_fixes].stub_name = stub_name;
+		  fixes[num_fixes].stub_type = aarch64_stub_erratum_835769_veneer;
+		  num_fixes++;
+		}
+	    }
+	}
+      if (elf_section_data (section)->this_hdr.contents == NULL)
+	free (contents);
+    }
+
+  *fixes_p = fixes;
+  *num_fixes_p = num_fixes;
+  *fix_table_size_p = fix_table_size;
+  return FALSE;
+}
+
+/* Find or create a stub section.  Returns a pointer to the stub section, and
+   the section to which the stub section will be attached (in *LINK_SEC_P).
+   LINK_SEC_P may be NULL.  */
+
+static asection *
+elf_aarch64_create_or_find_stub_sec (asection **link_sec_p, asection *section,
+				   struct elf_aarch64_link_hash_table *htab)
+{
+  asection *link_sec;
+  asection *stub_sec;
+
+  link_sec = htab->stub_group[section->id].link_sec;
+  BFD_ASSERT (link_sec != NULL);
+  stub_sec = htab->stub_group[section->id].stub_sec;
+
+  if (stub_sec == NULL)
+    {
+      stub_sec = htab->stub_group[link_sec->id].stub_sec;
+      if (stub_sec == NULL)
+	{
+	  size_t namelen;
+	  bfd_size_type len;
+	  char *s_name;
+
+	  namelen = strlen (link_sec->name);
+	  len = namelen + sizeof (STUB_SUFFIX);
+	  s_name = (char *) bfd_alloc (htab->stub_bfd, len);
+	  if (s_name == NULL)
+	    return NULL;
+
+	  memcpy (s_name, link_sec->name, namelen);
+	  memcpy (s_name + namelen, STUB_SUFFIX, sizeof (STUB_SUFFIX));
+	  stub_sec = (*htab->add_stub_section) (s_name, link_sec);
+
+	  if (stub_sec == NULL)
+	    return NULL;
+	  htab->stub_group[link_sec->id].stub_sec = stub_sec;
+	}
+      htab->stub_group[section->id].stub_sec = stub_sec;
+    }
+
+  if (link_sec_p)
+    *link_sec_p = link_sec;
+
+  return stub_sec;
+}
+
 /* Determine and set the size of the stub section for a final link.
 
    The basic idea here is to examine all the relocations looking for
@@ -2659,6 +3135,21 @@ elfNN_aarch64_size_stubs (bfd *output_bf
   bfd_boolean stubs_always_before_branch;
   bfd_boolean stub_changed = 0;
   struct elf_aarch64_link_hash_table *htab = elf_aarch64_hash_table (info);
+  struct aarch64_erratum_835769_fix *erratum_835769_fixes = NULL;
+  unsigned int num_erratum_835769_fixes = 0;
+  unsigned int erratum_835769_fix_table_size = 10;
+  unsigned int i;
+
+  if (htab->fix_erratum_835769)
+    {
+      erratum_835769_fixes
+	= (struct aarch64_erratum_835769_fix *)
+	    bfd_zmalloc
+	      (sizeof (struct aarch64_erratum_835769_fix) *
+					erratum_835769_fix_table_size);
+      if (erratum_835769_fixes == NULL)
+	goto error_ret_free_local;
+    }
 
   /* Propagate mach to stub bfd, because it may not have been
      finalized when we created stub_bfd.  */
@@ -2689,9 +3180,11 @@ elfNN_aarch64_size_stubs (bfd *output_bf
       bfd *input_bfd;
       unsigned int bfd_indx;
       asection *stub_sec;
+      unsigned prev_num_erratum_835769_fixes = num_erratum_835769_fixes;
 
+      num_erratum_835769_fixes = 0;
       for (input_bfd = info->input_bfds, bfd_indx = 0;
-	   input_bfd != NULL; input_bfd = input_bfd->link_next, bfd_indx++)
+	   input_bfd != NULL; input_bfd = input_bfd->link.next, bfd_indx++)
 	{
 	  Elf_Internal_Shdr *symtab_hdr;
 	  asection *section;
@@ -2942,8 +3435,20 @@ elfNN_aarch64_size_stubs (bfd *output_bf
 	      if (elf_section_data (section)->relocs == NULL)
 		free (internal_relocs);
 	    }
+
+	  if (htab->fix_erratum_835769)
+	    {
+	      /* Scan for sequences which might trigger erratum 835769.  */
+	      if (erratum_835769_scan (input_bfd, info, &erratum_835769_fixes,
+				       &num_erratum_835769_fixes,
+				       &erratum_835769_fix_table_size)  != 0)
+		goto error_ret_free_local;
+	    }
 	}
 
+      if (prev_num_erratum_835769_fixes != num_erratum_835769_fixes)
+	stub_changed = TRUE;
+
       if (!stub_changed)
 	break;
 
@@ -2951,15 +3456,76 @@ elfNN_aarch64_size_stubs (bfd *output_bf
          stub sections.  */
       for (stub_sec = htab->stub_bfd->sections;
 	   stub_sec != NULL; stub_sec = stub_sec->next)
-	stub_sec->size = 0;
+	{
+	  /* Ignore non-stub sections.  */
+	  if (!strstr (stub_sec->name, STUB_SUFFIX))
+	    continue;
+	  stub_sec->size = 0;
+	}
 
       bfd_hash_traverse (&htab->stub_hash_table, aarch64_size_one_stub, htab);
 
+      /* Add erratum 835769 veneers to stub section sizes too.  */
+      if (htab->fix_erratum_835769)
+	for (i = 0; i < num_erratum_835769_fixes; i++)
+	  {
+	    stub_sec = elf_aarch64_create_or_find_stub_sec (NULL,
+			 erratum_835769_fixes[i].section, htab);
+
+	    if (stub_sec == NULL)
+	      goto error_ret_free_local;
+
+	    stub_sec->size += 8;
+	  }
+
       /* Ask the linker to do its stuff.  */
       (*htab->layout_sections_again) ();
       stub_changed = FALSE;
     }
 
+  /* Add stubs for erratum 835769 fixes now.  */
+  if (htab->fix_erratum_835769)
+    {
+      for (i = 0; i < num_erratum_835769_fixes; i++)
+	{
+	  struct elf_aarch64_stub_hash_entry *stub_entry;
+	  char *stub_name = erratum_835769_fixes[i].stub_name;
+	  asection *section = erratum_835769_fixes[i].section;
+	  unsigned int section_id = erratum_835769_fixes[i].section->id;
+	  asection *link_sec = htab->stub_group[section_id].link_sec;
+	  asection *stub_sec = htab->stub_group[section_id].stub_sec;
+
+	  stub_entry = aarch64_stub_hash_lookup (&htab->stub_hash_table,
+						 stub_name, TRUE, FALSE);
+	  if (stub_entry == NULL)
+	    {
+	      (*_bfd_error_handler) (_("%s: cannot create stub entry %s"),
+				     section->owner,
+				     stub_name);
+	      return FALSE;
+	    }
+
+	  stub_entry->stub_sec = stub_sec;
+	  stub_entry->stub_offset = 0;
+	  stub_entry->id_sec = link_sec;
+	  stub_entry->stub_type = erratum_835769_fixes[i].stub_type;
+	  stub_entry->target_section = section;
+	  stub_entry->target_value = erratum_835769_fixes[i].offset;
+	  stub_entry->veneered_insn = erratum_835769_fixes[i].veneered_insn;
+	  stub_entry->output_name = erratum_835769_fixes[i].stub_name;
+	}
+
+      /* Stash the erratum 835769 fix array for use later in
+	 elfNN_aarch64_write_section().  */
+      htab->aarch64_erratum_835769_fixes = erratum_835769_fixes;
+      htab->num_aarch64_erratum_835769_fixes = num_erratum_835769_fixes;
+    }
+  else
+    {
+      htab->aarch64_erratum_835769_fixes = NULL;
+      htab->num_aarch64_erratum_835769_fixes = 0;
+    }
+
   return TRUE;
 
 error_ret_free_local:
@@ -3052,7 +3618,7 @@ bfd_elfNN_aarch64_init_maps (bfd *abfd)
     return;
 
   if ((abfd->flags & DYNAMIC) != 0)
-    return;
+   return;
 
   hdr = &elf_symtab_hdr (abfd);
   localsyms = hdr->sh_info;
@@ -3090,12 +3656,14 @@ void
 bfd_elfNN_aarch64_set_options (struct bfd *output_bfd,
 			       struct bfd_link_info *link_info,
 			       int no_enum_warn,
-			       int no_wchar_warn, int pic_veneer)
+			       int no_wchar_warn, int pic_veneer,
+			       int fix_erratum_835769)
 {
   struct elf_aarch64_link_hash_table *globals;
 
   globals = elf_aarch64_hash_table (link_info);
   globals->pic_veneer = pic_veneer;
+  globals->fix_erratum_835769 = fix_erratum_835769;
 
   BFD_ASSERT (is_aarch64_elf (output_bfd));
   elf_aarch64_tdata (output_bfd)->no_enum_size_warning = no_enum_warn;
@@ -3405,6 +3973,89 @@ symbol_tlsdesc_got_offset (bfd *input_bf
   return value;
 }
 
+/* Data for make_branch_to_erratum_835769_stub().  */
+
+struct erratum_835769_branch_to_stub_data
+{
+  asection *output_section;
+  bfd_byte *contents;
+};
+
+/* Helper to insert branches to erratum 835769 stubs in the right
+   places for a particular section.  */
+
+static bfd_boolean
+make_branch_to_erratum_835769_stub (struct bfd_hash_entry *gen_entry,
+				    void *in_arg)
+{
+  struct elf_aarch64_stub_hash_entry *stub_entry;
+  struct erratum_835769_branch_to_stub_data *data;
+  bfd_byte *contents;
+  unsigned long branch_insn = 0;
+  bfd_vma veneered_insn_loc, veneer_entry_loc;
+  bfd_signed_vma branch_offset;
+  unsigned int target;
+  bfd *abfd;
+
+  stub_entry = (struct elf_aarch64_stub_hash_entry *) gen_entry;
+  data = (struct erratum_835769_branch_to_stub_data *) in_arg;
+
+  if (stub_entry->target_section != data->output_section
+      || stub_entry->stub_type != aarch64_stub_erratum_835769_veneer)
+    return TRUE;
+
+  contents = data->contents;
+  veneered_insn_loc = stub_entry->target_section->output_section->vma
+		      + stub_entry->target_section->output_offset
+		      + stub_entry->target_value;
+  veneer_entry_loc = stub_entry->stub_sec->output_section->vma
+		     + stub_entry->stub_sec->output_offset
+		     + stub_entry->stub_offset;
+  branch_offset = veneer_entry_loc - veneered_insn_loc;
+
+  abfd = stub_entry->target_section->owner;
+  if (!aarch64_valid_branch_p (veneer_entry_loc, veneered_insn_loc))
+	    (*_bfd_error_handler)
+		(_("%B: error: Erratum 835769 stub out "
+		   "of range (input file too large)"), abfd);
+
+  target = stub_entry->target_value;
+  branch_insn = 0x14000000;
+  branch_offset >>= 2;
+  branch_offset &= 0x3ffffff;
+  branch_insn |= branch_offset;
+  bfd_putl32 (branch_insn, &contents[target]);
+
+  return TRUE;
+}
+
+static bfd_boolean
+elfNN_aarch64_write_section (bfd *output_bfd  ATTRIBUTE_UNUSED,
+			     struct bfd_link_info *link_info,
+			     asection *sec,
+			     bfd_byte *contents)
+
+{
+  struct elf_aarch64_link_hash_table *globals =
+					elf_aarch64_hash_table (link_info);
+
+  if (globals == NULL)
+    return FALSE;
+
+  /* Fix code to point to erratum 835769 stubs.  */
+  if (globals->fix_erratum_835769)
+    {
+      struct erratum_835769_branch_to_stub_data data;
+
+      data.output_section = sec;
+      data.contents = contents;
+      bfd_hash_traverse (&globals->stub_hash_table,
+			 make_branch_to_erratum_835769_stub, &data);
+    }
+
+  return FALSE;
+}
+
 /* Perform a relocation as part of a final link.  */
 static bfd_reloc_status_type
 elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
@@ -4157,15 +4808,7 @@ elfNN_aarch64_relocate_section (bfd *out
 					 rel, 1, relend, howto, 0, contents);
 
       if (info->relocatable)
-	{
-	  /* This is a relocatable link.  We don't have to change
-	     anything, unless the reloc is against a section symbol,
-	     in which case we have to adjust according to where the
-	     section symbol winds up in the output section.  */
-	  if (sym != NULL && ELF_ST_TYPE (sym->st_info) == STT_SECTION)
-	    rel->r_addend += sec->output_offset;
-	  continue;
-	}
+	continue;
 
       if (h != NULL)
 	name = h->root.root.string;
@@ -4773,16 +5416,6 @@ elfNN_aarch64_gc_sweep_hook (bfd *abfd,
 	    }
 	  break;
 
-	case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
-	case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
-	case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
-	  if (h != NULL && info->executable)
-	    {
-	      if (h->plt.refcount > 0)
-		h->plt.refcount -= 1;
-	    }
-	  break;
-
 	case BFD_RELOC_AARCH64_CALL26:
 	case BFD_RELOC_AARCH64_JUMP26:
 	  /* If this is a local symbol then we resolve it
@@ -4794,6 +5427,13 @@ elfNN_aarch64_gc_sweep_hook (bfd *abfd,
 	    h->plt.refcount -= 1;
 	  break;
 
+	case BFD_RELOC_AARCH64_MOVW_G0_NC:
+	case BFD_RELOC_AARCH64_MOVW_G1_NC:
+	case BFD_RELOC_AARCH64_MOVW_G2_NC:
+	case BFD_RELOC_AARCH64_MOVW_G3:
+	case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
+	case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
+	case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
 	case BFD_RELOC_AARCH64_NN:
 	  if (h != NULL && info->executable)
 	    {
@@ -4910,7 +5550,7 @@ elfNN_aarch64_adjust_dynamic_symbol (str
 
   s = htab->sdynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 
 }
 
@@ -5290,6 +5930,22 @@ elfNN_aarch64_check_relocs (bfd *abfd, s
 	    break;
 	  }
 
+	case BFD_RELOC_AARCH64_MOVW_G0_NC:
+	case BFD_RELOC_AARCH64_MOVW_G1_NC:
+	case BFD_RELOC_AARCH64_MOVW_G2_NC:
+	case BFD_RELOC_AARCH64_MOVW_G3:
+	  if (info->shared)
+	    {
+	      int howto_index = bfd_r_type - BFD_RELOC_AARCH64_RELOC_START;
+	      (*_bfd_error_handler)
+		(_("%B: relocation %s against `%s' can not be used when making "
+		   "a shared object; recompile with -fPIC"),
+		 abfd, elfNN_aarch64_howto_table[howto_index].name,
+		 (h) ? h->root.root.string : "a local symbol");
+	      bfd_set_error (bfd_error_bad_value);
+	      return FALSE;
+	    }
+
 	case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
 	case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
 	case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
@@ -5347,8 +6003,8 @@ elfNN_aarch64_is_target_special_symbol (
 
 static bfd_boolean
 aarch64_elf_find_function (bfd *abfd ATTRIBUTE_UNUSED,
-			   asection *section,
 			   asymbol **symbols,
+			   asection *section,
 			   bfd_vma offset,
 			   const char **filename_ptr,
 			   const char **functionname_ptr)
@@ -5407,32 +6063,33 @@ aarch64_elf_find_function (bfd *abfd ATT
 
 static bfd_boolean
 elfNN_aarch64_find_nearest_line (bfd *abfd,
-				 asection *section,
 				 asymbol **symbols,
+				 asection *section,
 				 bfd_vma offset,
 				 const char **filename_ptr,
 				 const char **functionname_ptr,
-				 unsigned int *line_ptr)
+				 unsigned int *line_ptr,
+				 unsigned int *discriminator_ptr)
 {
   bfd_boolean found = FALSE;
 
-  /* We skip _bfd_dwarf1_find_nearest_line since no known AArch64
-     toolchain uses it.  */
-
-  if (_bfd_dwarf2_find_nearest_line (abfd, dwarf_debug_sections,
-				     section, symbols, offset,
+  if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
 				     filename_ptr, functionname_ptr,
-				     line_ptr, NULL, 0,
+				     line_ptr, discriminator_ptr,
+				     dwarf_debug_sections, 0,
 				     &elf_tdata (abfd)->dwarf2_find_line_info))
     {
       if (!*functionname_ptr)
-	aarch64_elf_find_function (abfd, section, symbols, offset,
+	aarch64_elf_find_function (abfd, symbols, section, offset,
 				   *filename_ptr ? NULL : filename_ptr,
 				   functionname_ptr);
 
       return TRUE;
     }
 
+  /* Skip _bfd_dwarf1_find_nearest_line since no known AArch64
+     toolchain uses DWARF1.  */
+
   if (!_bfd_stab_section_find_nearest_line (abfd, symbols, section, offset,
 					    &found, filename_ptr,
 					    functionname_ptr, line_ptr,
@@ -5445,7 +6102,7 @@ elfNN_aarch64_find_nearest_line (bfd *ab
   if (symbols == NULL)
     return FALSE;
 
-  if (!aarch64_elf_find_function (abfd, section, symbols, offset,
+  if (!aarch64_elf_find_function (abfd, symbols, section, offset,
 				  filename_ptr, functionname_ptr))
     return FALSE;
 
@@ -5741,6 +6398,13 @@ aarch64_map_one_stub (struct bfd_hash_en
       if (!elfNN_aarch64_output_map_sym (osi, AARCH64_MAP_DATA, addr + 16))
 	return FALSE;
       break;
+    case aarch64_stub_erratum_835769_veneer:
+      if (!elfNN_aarch64_output_stub_sym (osi, stub_name, addr,
+					  sizeof (aarch64_erratum_835769_stub)))
+	return FALSE;
+      if (!elfNN_aarch64_output_map_sym (osi, AARCH64_MAP_INSN, addr))
+	return FALSE;
+      break;
     default:
       BFD_FAIL ();
     }
@@ -6289,7 +6953,7 @@ elfNN_aarch64_size_dynamic_sections (bfd
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       struct elf_aarch64_local_symbol *locals = NULL;
       Elf_Internal_Shdr *symtab_hdr;
@@ -6436,6 +7100,16 @@ elfNN_aarch64_size_dynamic_sections (bfd
 	}
     }
 
+  /* Init mapping symbols information to use later to distingush between
+     code and data while scanning for erratam 835769.  */
+  if (htab->fix_erratum_835769)
+    for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
+      {
+	if (!is_aarch64_elf (ibfd))
+	  continue;
+	bfd_elfNN_aarch64_init_maps (ibfd);
+      }
+
   /* We now have determined the sizes of the various dynamic sections.
      Allocate memory for them.  */
   relocs = FALSE;
@@ -7196,9 +7870,6 @@ const struct elf_size_info elfNN_aarch64
 #define bfd_elfNN_bfd_link_hash_table_create    \
   elfNN_aarch64_link_hash_table_create
 
-#define bfd_elfNN_bfd_link_hash_table_free      \
-  elfNN_aarch64_hash_table_free
-
 #define bfd_elfNN_bfd_merge_private_bfd_data	\
   elfNN_aarch64_merge_private_bfd_data
 
@@ -7282,6 +7953,9 @@ const struct elf_size_info elfNN_aarch64
 #define elf_backend_size_info			\
   elfNN_aarch64_size_info
 
+#define elf_backend_write_section		\
+  elfNN_aarch64_write_section
+
 #define elf_backend_can_refcount       1
 #define elf_backend_can_gc_sections    1
 #define elf_backend_plt_readonly       1
@@ -7290,6 +7964,7 @@ const struct elf_size_info elfNN_aarch64
 #define elf_backend_may_use_rel_p      0
 #define elf_backend_may_use_rela_p     1
 #define elf_backend_default_use_rela_p 1
+#define elf_backend_rela_normal        1
 #define elf_backend_got_header_size (GOT_ENTRY_SIZE * 3)
 #define elf_backend_default_execstack  0
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfnn-ia64.c ./bfd/elfnn-ia64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfnn-ia64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfnn-ia64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IA-64 support for 64-bit ELF
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1369,40 +1369,6 @@ elfNN_ia64_local_htab_eq (const void *pt
   return entry1->id == entry2->id && entry1->r_sym == entry2->r_sym;
 }
 
-/* Create the derived linker hash table.  The IA-64 ELF port uses this
-   derived hash table to keep information specific to the IA-64 ElF
-   linker (without using static variables).  */
-
-static struct bfd_link_hash_table *
-elfNN_ia64_hash_table_create (bfd *abfd)
-{
-  struct elfNN_ia64_link_hash_table *ret;
-
-  ret = bfd_zmalloc ((bfd_size_type) sizeof (*ret));
-  if (!ret)
-    return NULL;
-
-  if (!_bfd_elf_link_hash_table_init (&ret->root, abfd,
-				      elfNN_ia64_new_elf_hash_entry,
-				      sizeof (struct elfNN_ia64_link_hash_entry),
-				      IA64_ELF_DATA))
-    {
-      free (ret);
-      return NULL;
-    }
-
-  ret->loc_hash_table = htab_try_create (1024, elfNN_ia64_local_htab_hash,
-					 elfNN_ia64_local_htab_eq, NULL);
-  ret->loc_hash_memory = objalloc_create ();
-  if (!ret->loc_hash_table || !ret->loc_hash_memory)
-    {
-      free (ret);
-      return NULL;
-    }
-
-  return &ret->root.root;
-}
-
 /* Free the global elfNN_ia64_dyn_sym_info array.  */
 
 static bfd_boolean
@@ -1448,10 +1414,10 @@ elfNN_ia64_local_dyn_info_free (void **s
 /* Destroy IA-64 linker hash table.  */
 
 static void
-elfNN_ia64_hash_table_free (struct bfd_link_hash_table *hash)
+elfNN_ia64_link_hash_table_free (bfd *obfd)
 {
   struct elfNN_ia64_link_hash_table *ia64_info
-    = (struct elfNN_ia64_link_hash_table *) hash;
+    = (struct elfNN_ia64_link_hash_table *) obfd->link.hash;
   if (ia64_info->loc_hash_table)
     {
       htab_traverse (ia64_info->loc_hash_table,
@@ -1462,7 +1428,42 @@ elfNN_ia64_hash_table_free (struct bfd_l
     objalloc_free ((struct objalloc *) ia64_info->loc_hash_memory);
   elf_link_hash_traverse (&ia64_info->root,
 			  elfNN_ia64_global_dyn_info_free, NULL);
-  _bfd_elf_link_hash_table_free (hash);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
+/* Create the derived linker hash table.  The IA-64 ELF port uses this
+   derived hash table to keep information specific to the IA-64 ElF
+   linker (without using static variables).  */
+
+static struct bfd_link_hash_table *
+elfNN_ia64_hash_table_create (bfd *abfd)
+{
+  struct elfNN_ia64_link_hash_table *ret;
+
+  ret = bfd_zmalloc ((bfd_size_type) sizeof (*ret));
+  if (!ret)
+    return NULL;
+
+  if (!_bfd_elf_link_hash_table_init (&ret->root, abfd,
+				      elfNN_ia64_new_elf_hash_entry,
+				      sizeof (struct elfNN_ia64_link_hash_entry),
+				      IA64_ELF_DATA))
+    {
+      free (ret);
+      return NULL;
+    }
+
+  ret->loc_hash_table = htab_try_create (1024, elfNN_ia64_local_htab_hash,
+					 elfNN_ia64_local_htab_eq, NULL);
+  ret->loc_hash_memory = objalloc_create ();
+  if (!ret->loc_hash_table || !ret->loc_hash_memory)
+    {
+      elfNN_ia64_link_hash_table_free (abfd);
+      return NULL;
+    }
+  ret->root.root.hash_table_free = elfNN_ia64_link_hash_table_free;
+
+  return &ret->root.root;
 }
 
 /* Traverse both local and global hash tables.  */
@@ -5024,8 +5025,6 @@ elfNN_hpux_backend_symbol_processing (bf
 /* Stuff for the BFD linker: */
 #define bfd_elfNN_bfd_link_hash_table_create \
 	elfNN_ia64_hash_table_create
-#define bfd_elfNN_bfd_link_hash_table_free \
-	elfNN_ia64_hash_table_free
 #define elf_backend_create_dynamic_sections \
 	elfNN_ia64_create_dynamic_sections
 #define elf_backend_check_relocs \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-s390-common.c ./bfd/elf-s390-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-s390-common.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-s390-common.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IBM S/390-specific support for ELF 32 and 64 bit functions
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Andreas Krebbel.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -234,8 +234,10 @@ elf_s390_add_symbol_hook (bfd *abfd,
 			  asection **secp ATTRIBUTE_UNUSED,
 			  bfd_vma *valp ATTRIBUTE_UNUSED)
 {
-  if ((abfd->flags & DYNAMIC) == 0
-      && ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)
+  if ((ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+      && (abfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
 
   return TRUE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-strtab.c ./bfd/elf-strtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-strtab.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-strtab.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF strtab with GC and suffix merging support.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Written by Jakub Jelinek <jakub@redhat.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-vxworks.c ./bfd/elf-vxworks.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-vxworks.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-vxworks.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* VxWorks support for ELF
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-vxworks.h ./bfd/elf-vxworks.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elf-vxworks.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elf-vxworks.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* VxWorks support for ELF
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-aarch64.c ./bfd/elfxx-aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-aarch64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-aarch64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* AArch64-specific support for ELF.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -20,6 +20,8 @@
 
 #include "sysdep.h"
 #include "elfxx-aarch64.h"
+#include <stdarg.h>
+#include <string.h>
 
 #define MASK(n) ((1u << (n)) - 1)
 
@@ -479,9 +481,10 @@ _bfd_aarch64_elf_add_symbol_hook (bfd *a
 				  asection **secp ATTRIBUTE_UNUSED,
 				  bfd_vma *valp ATTRIBUTE_UNUSED)
 {
-  if ((abfd->flags & DYNAMIC) == 0
-      && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
-	  || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE))
+  if ((ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC
+       || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
+      && (abfd->flags & DYNAMIC) == 0
+      && bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
     elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE;
 
   return TRUE;
@@ -520,3 +523,82 @@ _bfd_aarch64_elf_grok_prstatus (bfd *abf
   return _bfd_elfcore_make_pseudosection (abfd, ".reg",
 					  size, note->descpos + offset);
 }
+
+bfd_boolean
+_bfd_aarch64_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
+{
+  switch (note->descsz)
+    {
+    default:
+      return FALSE;
+
+    case 136:        /* This is sizeof(struct elf_prpsinfo) on Linux/aarch64.  */
+      elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 24);
+      elf_tdata (abfd)->core->program
+	= _bfd_elfcore_strndup (abfd, note->descdata + 40, 16);
+      elf_tdata (abfd)->core->command
+	= _bfd_elfcore_strndup (abfd, note->descdata + 56, 80);
+    }
+
+  /* Note that for some reason, a spurious space is tacked
+     onto the end of the args in some (at least one anyway)
+     implementations, so strip it off if it exists.  */
+
+  {
+    char *command = elf_tdata (abfd)->core->command;
+    int n = strlen (command);
+
+    if (0 < n && command[n - 1] == ' ')
+      command[n - 1] = '\0';
+  }
+
+  return TRUE;
+}
+
+char *
+_bfd_aarch64_elf_write_core_note (bfd *abfd, char *buf, int *bufsiz, int note_type,
+				  ...)
+{
+  switch (note_type)
+    {
+    default:
+      return NULL;
+
+    case NT_PRPSINFO:
+      {
+        char data[136];
+        va_list ap;
+
+        va_start (ap, note_type);
+        memset (data, 0, sizeof (data));
+        strncpy (data + 40, va_arg (ap, const char *), 16);
+        strncpy (data + 56, va_arg (ap, const char *), 80);
+        va_end (ap);
+
+        return elfcore_write_note (abfd, buf, bufsiz, "CORE",
+				   note_type, data, sizeof (data));
+      }
+
+    case NT_PRSTATUS:
+      {
+        char data[392];
+        va_list ap;
+        long pid;
+        int cursig;
+        const void *greg;
+
+        va_start (ap, note_type);
+        memset (data, 0, sizeof (data));
+        pid = va_arg (ap, long);
+        bfd_put_32 (abfd, pid, data + 32);
+        cursig = va_arg (ap, int);
+        bfd_put_16 (abfd, cursig, data + 12);
+        greg = va_arg (ap, const void *);
+        memcpy (data + 112, greg, 272);
+        va_end (ap);
+
+        return elfcore_write_note (abfd, buf, bufsiz, "CORE",
+				   note_type, data, sizeof (data));
+      }
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-aarch64.h ./bfd/elfxx-aarch64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-aarch64.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-aarch64.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* AArch64-specific backend routines.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -23,8 +23,8 @@
 #include "stdint.h"
 
 /* Take the PAGE component of an address or offset.  */
-#define PG(x) ((x) & ~ (bfd_vma) 0xfff)
-#define PG_OFFSET(x) ((x) & (bfd_vma) 0xfff)
+#define PG(x)        ((x) & ~ (bfd_vma) 0xfff)
+#define PG_OFFSET(x) ((x) &   (bfd_vma) 0xfff)
 
 extern bfd_reloc_status_type
 _bfd_aarch64_elf_put_addend (bfd *, bfd_byte *, bfd_reloc_code_real_type,
@@ -42,6 +42,13 @@ _bfd_aarch64_elf_add_symbol_hook (bfd *,
 extern bfd_boolean
 _bfd_aarch64_elf_grok_prstatus (bfd *, Elf_Internal_Note *);
 
+extern bfd_boolean
+_bfd_aarch64_elf_grok_psinfo (bfd *, Elf_Internal_Note *);
+
+extern char *
+_bfd_aarch64_elf_write_core_note (bfd *, char *, int *, int, ...);
 
 #define elf_backend_add_symbol_hook	_bfd_aarch64_elf_add_symbol_hook
 #define elf_backend_grok_prstatus	_bfd_aarch64_elf_grok_prstatus
+#define elf_backend_grok_psinfo         _bfd_aarch64_elf_grok_psinfo
+#define elf_backend_write_core_note     _bfd_aarch64_elf_write_core_note
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-ia64.c ./bfd/elfxx-ia64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-ia64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-ia64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IA-64 support for 64-bit ELF
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-ia64.h ./bfd/elfxx-ia64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-ia64.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-ia64.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IA-64 support for 64-bit ELF
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-mips.c ./bfd/elfxx-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-mips.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-mips.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* MIPS-specific support for ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Most of the information added by Ian Lance Taylor, Cygnus Support,
    <ian@cygnus.com>.
@@ -547,6 +547,10 @@ struct mips_elf_obj_tdata
   /* Input BFD providing Tag_GNU_MIPS_ABI_MSA attribute for output.  */
   bfd *abi_msa_bfd;
 
+  /* The abiflags for this object.  */
+  Elf_Internal_ABIFlags_v0 abiflags;
+  bfd_boolean abiflags_valid;
+
   /* The GOT requirements of input bfds.  */
   struct mips_got_info *got;
 
@@ -776,6 +780,10 @@ static bfd *reldyn_sorting_bfd;
 #define PIC_OBJECT_P(abfd) \
   ((elf_elfheader (abfd)->e_flags & EF_MIPS_PIC) != 0)
 
+/* Nonzero if ABFD is using the O32 ABI.  */
+#define ABI_O32_P(abfd) \
+  ((elf_elfheader (abfd)->e_flags & EF_MIPS_ABI) == E_MIPS_ABI_O32)
+
 /* Nonzero if ABFD is using the N32 ABI.  */
 #define ABI_N32_P(abfd) \
   ((elf_elfheader (abfd)->e_flags & EF_MIPS_ABI2) != 0)
@@ -791,6 +799,11 @@ static bfd *reldyn_sorting_bfd;
 #define MICROMIPS_P(abfd) \
   ((elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH_ASE_MICROMIPS) != 0)
 
+/* Nonzero if ABFD is MIPS R6.  */
+#define MIPSR6_P(abfd) \
+  ((elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH) == E_MIPS_ARCH_32R6 \
+    || (elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH) == E_MIPS_ARCH_64R6)
+
 /* The IRIX compatibility level we are striving for.  */
 #define IRIX_COMPAT(abfd) \
   (get_elf_backend_data (abfd)->elf_backend_mips_irix_compat (abfd))
@@ -808,6 +821,10 @@ static bfd *reldyn_sorting_bfd;
 #define MIPS_ELF_OPTIONS_SECTION_NAME_P(NAME) \
   (strcmp (NAME, ".MIPS.options") == 0 || strcmp (NAME, ".options") == 0)
 
+/* True if NAME is the recognized name of any SHT_MIPS_ABIFLAGS section.  */
+#define MIPS_ELF_ABIFLAGS_SECTION_NAME_P(NAME) \
+  (strcmp (NAME, ".MIPS.abiflags") == 0)
+
 /* Whether the section is readonly.  */
 #define MIPS_ELF_READONLY_SECTION(sec) \
   ((sec->flags & (SEC_ALLOC | SEC_LOAD | SEC_READONLY))		\
@@ -1088,6 +1105,17 @@ static const bfd_vma mips_exec_plt_entry
   0x03200008	/* jr $25					*/
 };
 
+/* In the following PLT entry the JR and ADDIU instructions will
+   be swapped in _bfd_mips_elf_finish_dynamic_symbol because
+   LOAD_INTERLOCKS_P will be true for MIPS R6.  */
+static const bfd_vma mipsr6_exec_plt_entry[] =
+{
+  0x3c0f0000,	/* lui $15, %hi(.got.plt entry)			*/
+  0x01f90000,	/* l[wd] $25, %lo(.got.plt entry)($15)		*/
+  0x25f80000,	/* addiu $24, $15, %lo(.got.plt entry)		*/
+  0x03200009	/* jr $25					*/
+};
+
 /* The format of subsequent MIPS16 o32 PLT entries.  We use v0 ($2)
    and v1 ($3) as temporaries because t8 ($24) and t9 ($25) are not
    directly addressable.  */
@@ -2168,7 +2196,8 @@ hi16_reloc_p (int r_type)
 {
   return (r_type == R_MIPS_HI16
 	  || r_type == R_MIPS16_HI16
-	  || r_type == R_MICROMIPS_HI16);
+	  || r_type == R_MICROMIPS_HI16
+	  || r_type == R_MIPS_PCHI16);
 }
 
 static inline bfd_boolean
@@ -2176,7 +2205,8 @@ lo16_reloc_p (int r_type)
 {
   return (r_type == R_MIPS_LO16
 	  || r_type == R_MIPS16_LO16
-	  || r_type == R_MICROMIPS_LO16);
+	  || r_type == R_MICROMIPS_LO16
+	  || r_type == R_MIPS_PCLO16);
 }
 
 static inline bfd_boolean
@@ -2194,6 +2224,13 @@ jal_reloc_p (int r_type)
 }
 
 static inline bfd_boolean
+aligned_pcrel_reloc_p (int r_type)
+{
+  return (r_type == R_MIPS_PC18_S3
+	  || r_type == R_MIPS_PC19_S2);
+}
+
+static inline bfd_boolean
 micromips_branch_reloc_p (int r_type)
 {
   return (r_type == R_MICROMIPS_26_S1
@@ -2664,6 +2701,46 @@ bfd_mips_elf_swap_options_out (bfd *abfd
   H_PUT_16 (abfd, in->section, ex->section);
   H_PUT_32 (abfd, in->info, ex->info);
 }
+
+/* Swap in an abiflags structure.  */
+
+void
+bfd_mips_elf_swap_abiflags_v0_in (bfd *abfd,
+				  const Elf_External_ABIFlags_v0 *ex,
+				  Elf_Internal_ABIFlags_v0 *in)
+{
+  in->version = H_GET_16 (abfd, ex->version);
+  in->isa_level = H_GET_8 (abfd, ex->isa_level);
+  in->isa_rev = H_GET_8 (abfd, ex->isa_rev);
+  in->gpr_size = H_GET_8 (abfd, ex->gpr_size);
+  in->cpr1_size = H_GET_8 (abfd, ex->cpr1_size);
+  in->cpr2_size = H_GET_8 (abfd, ex->cpr2_size);
+  in->fp_abi = H_GET_8 (abfd, ex->fp_abi);
+  in->isa_ext = H_GET_32 (abfd, ex->isa_ext);
+  in->ases = H_GET_32 (abfd, ex->ases);
+  in->flags1 = H_GET_32 (abfd, ex->flags1);
+  in->flags2 = H_GET_32 (abfd, ex->flags2);
+}
+
+/* Swap out an abiflags structure.  */
+
+void
+bfd_mips_elf_swap_abiflags_v0_out (bfd *abfd,
+				   const Elf_Internal_ABIFlags_v0 *in,
+				   Elf_External_ABIFlags_v0 *ex)
+{
+  H_PUT_16 (abfd, in->version, ex->version);
+  H_PUT_8 (abfd, in->isa_level, ex->isa_level);
+  H_PUT_8 (abfd, in->isa_rev, ex->isa_rev);
+  H_PUT_8 (abfd, in->gpr_size, ex->gpr_size);
+  H_PUT_8 (abfd, in->cpr1_size, ex->cpr1_size);
+  H_PUT_8 (abfd, in->cpr2_size, ex->cpr2_size);
+  H_PUT_8 (abfd, in->fp_abi, ex->fp_abi);
+  H_PUT_32 (abfd, in->isa_ext, ex->isa_ext);
+  H_PUT_32 (abfd, in->ases, ex->ases);
+  H_PUT_32 (abfd, in->flags1, ex->flags1);
+  H_PUT_32 (abfd, in->flags2, ex->flags2);
+}
 
 /* This function is called via qsort() to sort the dynamic relocation
    entries by increasing r_symndx value.  */
@@ -4737,7 +4814,7 @@ mips_elf_multi_got (bfd *abfd, struct bf
   /* Try to merge the GOTs of input bfds together, as long as they
      don't seem to exceed the maximum GOT size, choosing one of them
      to be the primary GOT.  */
-  for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
     {
       gg = mips_elf_bfd_got (ibfd, FALSE);
       if (gg && !mips_elf_merge_got (ibfd, gg, &got_per_bfd_arg))
@@ -5109,6 +5186,8 @@ mips_elf_relocation_needs_la25_stub (bfd
     {
     case R_MIPS_26:
     case R_MIPS_PC16:
+    case R_MIPS_PC21_S2:
+    case R_MIPS_PC26_S2:
     case R_MICROMIPS_26_S1:
     case R_MICROMIPS_PC7_S1:
     case R_MICROMIPS_PC10_S1:
@@ -5635,7 +5714,9 @@ mips_elf_calculate_relocation (bfd *abfd
       return bfd_reloc_continue;
 
     case R_MIPS_16:
-      value = symbol + _bfd_mips_elf_sign_extend (addend, 16);
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 16);
+      value = symbol + addend;
       overflowed_p = mips_elf_overflow_p (value, 16);
       break;
 
@@ -5707,8 +5788,10 @@ mips_elf_calculate_relocation (bfd *abfd
 
 	if (was_local_p)
 	  value = addend | ((p + 4) & (0xfc000000 << shift));
-	else
+	else if (howto->partial_inplace)
 	  value = _bfd_mips_elf_sign_extend (addend, 26 + shift);
+	else
+	  value = addend;
 	value = (value + symbol) >> shift;
 	if (!was_local_p && h->root.root.type != bfd_link_hash_undefweak)
 	  overflowed_p = (value >> 26) != ((p + 4) >> (26 + shift));
@@ -5845,7 +5928,8 @@ mips_elf_calculate_relocation (bfd *abfd
 	 to them before.  */
       if (was_local_p)
 	value += gp0;
-      overflowed_p = mips_elf_overflow_p (value, 16);
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 16);
       break;
 
     case R_MIPS16_GOT16:
@@ -5893,36 +5977,125 @@ mips_elf_calculate_relocation (bfd *abfd
 
     case R_MIPS_PC16:
     case R_MIPS_GNU_REL16_S2:
-      value = symbol + _bfd_mips_elf_sign_extend (addend, 18) - p;
-      overflowed_p = mips_elf_overflow_p (value, 18);
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 18);
+
+      if ((symbol + addend) & 3)
+	return bfd_reloc_outofrange;
+
+      value = symbol + addend - p;
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 18);
       value >>= howto->rightshift;
       value &= howto->dst_mask;
       break;
 
+    case R_MIPS_PC21_S2:
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 23);
+
+      if ((symbol + addend) & 3)
+	return bfd_reloc_outofrange;
+
+      value = symbol + addend - p;
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 23);
+      value >>= howto->rightshift;
+      value &= howto->dst_mask;
+      break;
+
+    case R_MIPS_PC26_S2:
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 28);
+
+      if ((symbol + addend) & 3)
+	return bfd_reloc_outofrange;
+
+      value = symbol + addend - p;
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 28);
+      value >>= howto->rightshift;
+      value &= howto->dst_mask;
+      break;
+
+    case R_MIPS_PC18_S3:
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 21);
+
+      if ((symbol + addend) & 7)
+	return bfd_reloc_outofrange;
+
+      value = symbol + addend - ((p | 7) ^ 7);
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 21);
+      value >>= howto->rightshift;
+      value &= howto->dst_mask;
+      break;
+
+    case R_MIPS_PC19_S2:
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 21);
+
+      if ((symbol + addend) & 3)
+	return bfd_reloc_outofrange;
+
+      value = symbol + addend - p;
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 21);
+      value >>= howto->rightshift;
+      value &= howto->dst_mask;
+      break;
+
+    case R_MIPS_PCHI16:
+      value = mips_elf_high (symbol + addend - p);
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 16);
+      value &= howto->dst_mask;
+      break;
+
+    case R_MIPS_PCLO16:
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 16);
+      value = symbol + addend - p;
+      value &= howto->dst_mask;
+      break;
+
     case R_MICROMIPS_PC7_S1:
-      value = symbol + _bfd_mips_elf_sign_extend (addend, 8) - p;
-      overflowed_p = mips_elf_overflow_p (value, 8);
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 8);
+      value = symbol + addend - p;
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 8);
       value >>= howto->rightshift;
       value &= howto->dst_mask;
       break;
 
     case R_MICROMIPS_PC10_S1:
-      value = symbol + _bfd_mips_elf_sign_extend (addend, 11) - p;
-      overflowed_p = mips_elf_overflow_p (value, 11);
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 11);
+      value = symbol + addend - p;
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 11);
       value >>= howto->rightshift;
       value &= howto->dst_mask;
       break;
 
     case R_MICROMIPS_PC16_S1:
-      value = symbol + _bfd_mips_elf_sign_extend (addend, 17) - p;
-      overflowed_p = mips_elf_overflow_p (value, 17);
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 17);
+      value = symbol + addend - p;
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 17);
       value >>= howto->rightshift;
       value &= howto->dst_mask;
       break;
 
     case R_MICROMIPS_PC23_S2:
-      value = symbol + _bfd_mips_elf_sign_extend (addend, 25) - ((p | 3) ^ 3);
-      overflowed_p = mips_elf_overflow_p (value, 25);
+      if (howto->partial_inplace)
+	addend = _bfd_mips_elf_sign_extend (addend, 25);
+      value = symbol + addend - ((p | 3) ^ 3);
+      if (was_local_p || h->root.root.type != bfd_link_hash_undefweak)
+	overflowed_p = mips_elf_overflow_p (value, 25);
       value >>= howto->rightshift;
       value &= howto->dst_mask;
       break;
@@ -6426,6 +6599,9 @@ _bfd_elf_mips_mach (flagword flags)
     case E_MIPS_MACH_LS3A:
       return bfd_mach_mips_loongson_3a;
 
+    case E_MIPS_MACH_OCTEON3:
+      return bfd_mach_mips_octeon3;
+
     case E_MIPS_MACH_OCTEON2:
       return bfd_mach_mips_octeon2;
 
@@ -6465,6 +6641,12 @@ _bfd_elf_mips_mach (flagword flags)
 
 	case E_MIPS_ARCH_64R2:
 	  return bfd_mach_mipsisa64r2;
+
+	case E_MIPS_ARCH_32R6:
+	  return bfd_mach_mipsisa32r6;
+
+	case E_MIPS_ARCH_64R6:
+	  return bfd_mach_mipsisa64r6;
 	}
     }
 
@@ -6815,20 +6997,11 @@ _bfd_mips_elf_section_processing (bfd *a
       if (strcmp (name, ".sdata") == 0
 	  || strcmp (name, ".lit8") == 0
 	  || strcmp (name, ".lit4") == 0)
-	{
-	  hdr->sh_flags |= SHF_ALLOC | SHF_WRITE | SHF_MIPS_GPREL;
-	  hdr->sh_type = SHT_PROGBITS;
-	}
+	hdr->sh_flags |= SHF_ALLOC | SHF_WRITE | SHF_MIPS_GPREL;
       else if (strcmp (name, ".srdata") == 0)
-	{
-	  hdr->sh_flags |= SHF_ALLOC | SHF_MIPS_GPREL;
-	  hdr->sh_type = SHT_PROGBITS;
-	}
+	hdr->sh_flags |= SHF_ALLOC | SHF_MIPS_GPREL;
       else if (strcmp (name, ".compact_rel") == 0)
-	{
-	  hdr->sh_flags = 0;
-	  hdr->sh_type = SHT_PROGBITS;
-	}
+	hdr->sh_flags = 0;
       else if (strcmp (name, ".rtproc") == 0)
 	{
 	  if (hdr->sh_addralign != 0 && hdr->sh_entsize == 0)
@@ -6910,6 +7083,11 @@ _bfd_mips_elf_section_from_shdr (bfd *ab
       if (!MIPS_ELF_OPTIONS_SECTION_NAME_P (name))
 	return FALSE;
       break;
+    case SHT_MIPS_ABIFLAGS:
+      if (!MIPS_ELF_ABIFLAGS_SECTION_NAME_P (name))
+	return FALSE;
+      flags = (SEC_LINK_ONCE | SEC_LINK_DUPLICATES_SAME_SIZE);
+      break;
     case SHT_MIPS_DWARF:
       if (! CONST_STRNEQ (name, ".debug_")
           && ! CONST_STRNEQ (name, ".zdebug_"))
@@ -6940,6 +7118,20 @@ _bfd_mips_elf_section_from_shdr (bfd *ab
 	return FALSE;
     }
 
+  if (hdr->sh_type == SHT_MIPS_ABIFLAGS)
+    {
+      Elf_External_ABIFlags_v0 ext;
+
+      if (! bfd_get_section_contents (abfd, hdr->bfd_section,
+				      &ext, 0, sizeof ext))
+	return FALSE;
+      bfd_mips_elf_swap_abiflags_v0_in (abfd, &ext,
+					&mips_elf_tdata (abfd)->abiflags);
+      if (mips_elf_tdata (abfd)->abiflags.version != 0)
+	return FALSE;
+      mips_elf_tdata (abfd)->abiflags_valid = TRUE;
+    }
+
   /* FIXME: We should record sh_info for a .gptab section.  */
 
   /* For a .reginfo section, set the gp value in the tdata information
@@ -7106,6 +7298,11 @@ _bfd_mips_elf_fake_sections (bfd *abfd, 
       hdr->sh_entsize = 1;
       hdr->sh_flags |= SHF_MIPS_NOSTRIP;
     }
+  else if (CONST_STRNEQ (name, ".MIPS.abiflags"))
+    {
+      hdr->sh_type = SHT_MIPS_ABIFLAGS;
+      hdr->sh_entsize = sizeof (Elf_External_ABIFlags_v0);
+    }
   else if (CONST_STRNEQ (name, ".debug_")
            || CONST_STRNEQ (name, ".zdebug_"))
     {
@@ -7617,6 +7814,8 @@ mips_elf_add_lo16_rel_addend (bfd *abfd,
     lo16_type = R_MIPS16_LO16;
   else if (micromips_reloc_p (r_type))
     lo16_type = R_MICROMIPS_LO16;
+  else if (r_type == R_MIPS_PCHI16)
+    lo16_type = R_MIPS_PCLO16;
   else
     lo16_type = R_MIPS_LO16;
 
@@ -8129,6 +8328,8 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s
 
 	case R_MIPS_26:
 	case R_MIPS_PC16:
+	case R_MIPS_PC21_S2:
+	case R_MIPS_PC26_S2:
 	case R_MIPS16_26:
 	case R_MICROMIPS_26_S1:
 	case R_MICROMIPS_PC7_S1:
@@ -9014,7 +9215,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (str
      dynamic will now refer to the local copy instead.  */
   hmips->possibly_dynamic_relocs = 0;
 
-  return _bfd_elf_adjust_dynamic_copy (h, htab->sdynbss);
+  return _bfd_elf_adjust_dynamic_copy (info, h, htab->sdynbss);
 }
 
 /* This function is called after all the input files have been read,
@@ -9025,7 +9226,7 @@ bfd_boolean
 _bfd_mips_elf_always_size_sections (bfd *output_bfd,
 				    struct bfd_link_info *info)
 {
-  asection *ri;
+  asection *sect;
   struct mips_elf_link_hash_table *htab;
   struct mips_htab_traverse_info hti;
 
@@ -9033,9 +9234,14 @@ _bfd_mips_elf_always_size_sections (bfd 
   BFD_ASSERT (htab != NULL);
 
   /* The .reginfo section has a fixed size.  */
-  ri = bfd_get_section_by_name (output_bfd, ".reginfo");
-  if (ri != NULL)
-    bfd_set_section_size (output_bfd, ri, sizeof (Elf32_External_RegInfo));
+  sect = bfd_get_section_by_name (output_bfd, ".reginfo");
+  if (sect != NULL)
+    bfd_set_section_size (output_bfd, sect, sizeof (Elf32_External_RegInfo));
+
+  /* The .MIPS.abiflags section has a fixed size.  */
+  sect = bfd_get_section_by_name (output_bfd, ".MIPS.abiflags");
+  if (sect != NULL)
+    bfd_set_section_size (output_bfd, sect, sizeof (Elf_External_ABIFlags_v0));
 
   hti.info = info;
   hti.output_bfd = output_bfd;
@@ -9092,7 +9298,7 @@ mips_elf_lay_out_got (bfd *output_bfd, s
   /* Calculate the total loadable size of the output.  That
      will give us the maximum number of GOT_PAGE entries
      required.  */
-  for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
     {
       asection *subsection;
 
@@ -9141,7 +9347,7 @@ mips_elf_lay_out_got (bfd *output_bfd, s
     {
       /* Record that all bfds use G.  This also has the effect of freeing
 	 the per-bfd GOTs, which we no longer need.  */
-      for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
+      for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
 	if (mips_elf_bfd_got (ibfd, FALSE))
 	  mips_elf_replace_bfd_got (ibfd, g);
       mips_elf_replace_bfd_got (output_bfd, g);
@@ -10048,6 +10254,13 @@ _bfd_mips_elf_relocate_section (bfd *out
 		(info, msg, name, input_bfd, input_section, rel->r_offset);
 	      return FALSE;
 	    }
+	  if (aligned_pcrel_reloc_p (howto->type))
+	    {
+	      msg = _("PC-relative load from unaligned address");
+	      info->callbacks->warning
+		(info, msg, name, input_bfd, input_section, rel->r_offset);
+	      return FALSE;
+	    }
 	  /* Fall through.  */
 
 	default:
@@ -10337,7 +10550,11 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd
 	  load = MIPS_ELF_LOAD_WORD (output_bfd);
 
 	  /* Fill in the PLT entry itself.  */
-	  plt_entry = mips_exec_plt_entry;
+
+	  if (MIPSR6_P (output_bfd))
+	    plt_entry = mipsr6_exec_plt_entry;
+	  else
+	    plt_entry = mips_exec_plt_entry;
 	  bfd_put_32 (output_bfd, plt_entry[0] | got_address_high, loc);
 	  bfd_put_32 (output_bfd, plt_entry[1] | got_address_low | load,
 		      loc + 4);
@@ -11242,9 +11459,11 @@ _bfd_mips_elf_finish_dynamic_sections (b
 	      name = ".dynsym";
 	      elemsize = MIPS_ELF_SYM_SIZE (output_bfd);
 	      s = bfd_get_section_by_name (output_bfd, name);
-	      BFD_ASSERT (s != NULL);
 
-	      dyn.d_un.d_val = s->size / elemsize;
+	      if (s != NULL)
+		dyn.d_un.d_val = s->size / elemsize;
+	      else
+		dyn.d_un.d_val = 0;
 	      break;
 
 	    case DT_MIPS_HIPAGENO:
@@ -11647,6 +11866,10 @@ mips_set_isa_flags (bfd *abfd)
       val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON;
       break;
 
+    case bfd_mach_mips_octeon3:
+      val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON3;
+      break;
+
     case bfd_mach_mips_xlr:
       val = E_MIPS_ARCH_64 | E_MIPS_MACH_XLR;
       break;
@@ -11674,6 +11897,14 @@ mips_set_isa_flags (bfd *abfd)
     case bfd_mach_mipsisa64r5:
       val = E_MIPS_ARCH_64R2;
       break;
+
+    case bfd_mach_mipsisa32r6:
+      val = E_MIPS_ARCH_32R6;
+      break;
+
+    case bfd_mach_mipsisa64r6:
+      val = E_MIPS_ARCH_64R6;
+      break;
     }
   elf_elfheader (abfd)->e_flags &= ~(EF_MIPS_ARCH | EF_MIPS_MACH);
   elf_elfheader (abfd)->e_flags |= val;
@@ -11681,6 +11912,18 @@ mips_set_isa_flags (bfd *abfd)
 }
 
 
+/* Whether to sort relocs output by ld -r or ld --emit-relocs, by r_offset.
+   Don't do so for code sections.  We want to keep ordering of HI16/LO16
+   as is.  On the other hand, elf-eh-frame.c processing requires .eh_frame
+   relocs to be sorted.  */
+
+bfd_boolean
+_bfd_mips_elf_sort_relocs_p (asection *sec)
+{
+  return (sec->flags & SEC_CODE) == 0;
+}
+
+
 /* The final processing done just before writing out a MIPS ELF object
    file.  This gets the MIPS architecture right based on the machine
    number.  This is used by both the 32-bit and the 64-bit ABI.  */
@@ -11782,6 +12025,10 @@ _bfd_mips_elf_additional_program_headers
   if (s && (s->flags & SEC_LOAD))
     ++ret;
 
+  /* See if we need a PT_MIPS_ABIFLAGS segment.  */
+  if (bfd_get_section_by_name (abfd, ".MIPS.abiflags"))
+    ++ret;
+
   /* See if we need a PT_MIPS_OPTIONS segment.  */
   if (IRIX_COMPAT (abfd) == ict_irix6
       && bfd_get_section_by_name (abfd,
@@ -11844,6 +12091,37 @@ _bfd_mips_elf_modify_segment_map (bfd *a
 	}
     }
 
+  /* If there is a .MIPS.abiflags section, we need a PT_MIPS_ABIFLAGS
+     segment.  */
+  s = bfd_get_section_by_name (abfd, ".MIPS.abiflags");
+  if (s != NULL && (s->flags & SEC_LOAD) != 0)
+    {
+      for (m = elf_seg_map (abfd); m != NULL; m = m->next)
+	if (m->p_type == PT_MIPS_ABIFLAGS)
+	  break;
+      if (m == NULL)
+	{
+	  amt = sizeof *m;
+	  m = bfd_zalloc (abfd, amt);
+	  if (m == NULL)
+	    return FALSE;
+
+	  m->p_type = PT_MIPS_ABIFLAGS;
+	  m->count = 1;
+	  m->sections[0] = s;
+
+	  /* We want to put it after the PHDR and INTERP segments.  */
+	  pm = &elf_seg_map (abfd);
+	  while (*pm != NULL
+		 && ((*pm)->p_type == PT_PHDR
+		     || (*pm)->p_type == PT_INTERP))
+	    pm = &(*pm)->next;
+
+	  m->next = *pm;
+	  *pm = m;
+	}
+    }
+
   /* For IRIX 6, we don't have .mdebug sections, nor does anything but
      .dynamic end up in PT_DYNAMIC.  However, we do have to insert a
      PT_MIPS_OPTIONS segment immediately following the program header
@@ -12127,6 +12405,36 @@ _bfd_mips_elf_gc_sweep_hook (bfd *abfd A
 
   return TRUE;
 }
+
+/* Prevent .MIPS.abiflags from being discarded with --gc-sections.  */
+
+bfd_boolean
+_bfd_mips_elf_gc_mark_extra_sections (struct bfd_link_info *info,
+				      elf_gc_mark_hook_fn gc_mark_hook)
+{
+  bfd *sub;
+
+  _bfd_elf_gc_mark_extra_sections (info, gc_mark_hook);
+
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
+    {
+      asection *o;
+
+      if (! is_mips_elf (sub))
+	continue;
+
+      for (o = sub->sections; o != NULL; o = o->next)
+	if (!o->gc_mark
+	    && MIPS_ELF_ABIFLAGS_SECTION_NAME_P
+		 (bfd_get_section_name (sub, o)))
+	  {
+	    if (!_bfd_elf_gc_mark (info, o, gc_mark_hook))
+	      return FALSE;
+	  }
+    }
+
+  return TRUE;
+}
 
 /* Copy data from a MIPS ELF indirect symbol to its direct symbol,
    hiding the old indirect symbol.  Process additional relocation
@@ -12234,6 +12542,8 @@ _bfd_mips_elf_discard_info (bfd *abfd, s
   if (skip != 0)
     {
       mips_elf_section_data (o)->u.tdata = tdata;
+      if (o->rawsize == 0)
+	o->rawsize = o->size;
       o->size -= skip * PDR_SIZE;
       ret = TRUE;
     }
@@ -12304,24 +12614,26 @@ struct mips_elf_find_line
 };
 
 bfd_boolean
-_bfd_mips_elf_find_nearest_line (bfd *abfd, asection *section,
-				 asymbol **symbols, bfd_vma offset,
+_bfd_mips_elf_find_nearest_line (bfd *abfd, asymbol **symbols,
+				 asection *section, bfd_vma offset,
 				 const char **filename_ptr,
 				 const char **functionname_ptr,
-				 unsigned int *line_ptr)
+				 unsigned int *line_ptr,
+				 unsigned int *discriminator_ptr)
 {
   asection *msec;
 
-  if (_bfd_dwarf1_find_nearest_line (abfd, section, symbols, offset,
+  if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
 				     filename_ptr, functionname_ptr,
-				     line_ptr))
+				     line_ptr, discriminator_ptr,
+				     dwarf_debug_sections,
+				     ABI_64_P (abfd) ? 8 : 0,
+				     &elf_tdata (abfd)->dwarf2_find_line_info))
     return TRUE;
 
-  if (_bfd_dwarf2_find_nearest_line (abfd, dwarf_debug_sections,
-                                     section, symbols, offset,
+  if (_bfd_dwarf1_find_nearest_line (abfd, symbols, section, offset,
 				     filename_ptr, functionname_ptr,
-				     line_ptr, NULL, ABI_64_P (abfd) ? 8 : 0,
-				     &elf_tdata (abfd)->dwarf2_find_line_info))
+				     line_ptr))
     return TRUE;
 
   msec = bfd_get_section_by_name (abfd, ".mdebug");
@@ -12400,9 +12712,9 @@ _bfd_mips_elf_find_nearest_line (bfd *ab
 
   /* Fall back on the generic ELF find_nearest_line routine.  */
 
-  return _bfd_elf_find_nearest_line (abfd, section, symbols, offset,
+  return _bfd_elf_find_nearest_line (abfd, symbols, section, offset,
 				     filename_ptr, functionname_ptr,
-				     line_ptr);
+				     line_ptr, discriminator_ptr);
 }
 
 bfd_boolean
@@ -13577,6 +13889,181 @@ _bfd_mips_elf_insn32 (struct bfd_link_in
   mips_elf_hash_table (info)->insn32 = on;
 }
 
+/* Return the .MIPS.abiflags value representing each ISA Extension.  */
+
+unsigned int
+bfd_mips_isa_ext (bfd *abfd)
+{
+  switch (bfd_get_mach (abfd))
+    {
+    case bfd_mach_mips3900:
+      return AFL_EXT_3900;
+    case bfd_mach_mips4010:
+      return AFL_EXT_4010;
+    case bfd_mach_mips4100:
+      return AFL_EXT_4100;
+    case bfd_mach_mips4111:
+      return AFL_EXT_4111;
+    case bfd_mach_mips4120:
+      return AFL_EXT_4120;
+    case bfd_mach_mips4650:
+      return AFL_EXT_4650;
+    case bfd_mach_mips5400:
+      return AFL_EXT_5400;
+    case bfd_mach_mips5500:
+      return AFL_EXT_5500;
+    case bfd_mach_mips5900:
+      return AFL_EXT_5900;
+    case bfd_mach_mips10000:
+      return AFL_EXT_10000;
+    case bfd_mach_mips_loongson_2e:
+      return AFL_EXT_LOONGSON_2E;
+    case bfd_mach_mips_loongson_2f:
+      return AFL_EXT_LOONGSON_2F;
+    case bfd_mach_mips_loongson_3a:
+      return AFL_EXT_LOONGSON_3A;
+    case bfd_mach_mips_sb1:
+      return AFL_EXT_SB1;
+    case bfd_mach_mips_octeon:
+      return AFL_EXT_OCTEON;
+    case bfd_mach_mips_octeonp:
+      return AFL_EXT_OCTEONP;
+    case bfd_mach_mips_octeon3:
+      return AFL_EXT_OCTEON3;
+    case bfd_mach_mips_octeon2:
+      return AFL_EXT_OCTEON2;
+    case bfd_mach_mips_xlr:
+      return AFL_EXT_XLR;
+    }
+  return 0;
+}
+
+/* Update the isa_level, isa_rev, isa_ext fields of abiflags.  */
+
+static void
+update_mips_abiflags_isa (bfd *abfd, Elf_Internal_ABIFlags_v0 *abiflags)
+{
+  switch (elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH)
+    {
+    case E_MIPS_ARCH_1:
+      abiflags->isa_level = 1;
+      abiflags->isa_rev = 0;
+      break;
+    case E_MIPS_ARCH_2:
+      abiflags->isa_level = 2;
+      abiflags->isa_rev = 0;
+      break;
+    case E_MIPS_ARCH_3:
+      abiflags->isa_level = 3;
+      abiflags->isa_rev = 0;
+      break;
+    case E_MIPS_ARCH_4:
+      abiflags->isa_level = 4;
+      abiflags->isa_rev = 0;
+      break;
+    case E_MIPS_ARCH_5:
+      abiflags->isa_level = 5;
+      abiflags->isa_rev = 0;
+      break;
+    case E_MIPS_ARCH_32:
+      abiflags->isa_level = 32;
+      abiflags->isa_rev = 1;
+      break;
+    case E_MIPS_ARCH_32R2:
+      abiflags->isa_level = 32;
+      /* Handle MIPS32r3 and MIPS32r5 which do not have a header flag.  */
+      if (abiflags->isa_rev < 2)
+	abiflags->isa_rev = 2;
+      break;
+    case E_MIPS_ARCH_32R6:
+      abiflags->isa_level = 32;
+      abiflags->isa_rev = 6;
+      break;
+    case E_MIPS_ARCH_64:
+      abiflags->isa_level = 64;
+      abiflags->isa_rev = 1;
+      break;
+    case E_MIPS_ARCH_64R2:
+      /* Handle MIPS64r3 and MIPS64r5 which do not have a header flag.  */
+      abiflags->isa_level = 64;
+      if (abiflags->isa_rev < 2)
+	abiflags->isa_rev = 2;
+      break;
+    case E_MIPS_ARCH_64R6:
+      abiflags->isa_level = 64;
+      abiflags->isa_rev = 6;
+      break;
+    default:
+      (*_bfd_error_handler)
+	(_("%B: Unknown architecture %s"),
+	 abfd, bfd_printable_name (abfd));
+    }
+
+  abiflags->isa_ext = bfd_mips_isa_ext (abfd);
+}
+
+/* Return true if the given ELF header flags describe a 32-bit binary.  */
+
+static bfd_boolean
+mips_32bit_flags_p (flagword flags)
+{
+  return ((flags & EF_MIPS_32BITMODE) != 0
+	  || (flags & EF_MIPS_ABI) == E_MIPS_ABI_O32
+	  || (flags & EF_MIPS_ABI) == E_MIPS_ABI_EABI32
+	  || (flags & EF_MIPS_ARCH) == E_MIPS_ARCH_1
+	  || (flags & EF_MIPS_ARCH) == E_MIPS_ARCH_2
+	  || (flags & EF_MIPS_ARCH) == E_MIPS_ARCH_32
+	  || (flags & EF_MIPS_ARCH) == E_MIPS_ARCH_32R2
+	  || (flags & EF_MIPS_ARCH) == E_MIPS_ARCH_32R6);
+}
+
+/* Infer the content of the ABI flags based on the elf header.  */
+
+static void
+infer_mips_abiflags (bfd *abfd, Elf_Internal_ABIFlags_v0* abiflags)
+{
+  obj_attribute *in_attr;
+
+  memset (abiflags, 0, sizeof (Elf_Internal_ABIFlags_v0));
+  update_mips_abiflags_isa (abfd, abiflags);
+
+  if (mips_32bit_flags_p (elf_elfheader (abfd)->e_flags))
+    abiflags->gpr_size = AFL_REG_32;
+  else
+    abiflags->gpr_size = AFL_REG_64;
+
+  abiflags->cpr1_size = AFL_REG_NONE;
+
+  in_attr = elf_known_obj_attributes (abfd)[OBJ_ATTR_GNU];
+  abiflags->fp_abi = in_attr[Tag_GNU_MIPS_ABI_FP].i;
+
+  if (abiflags->fp_abi == Val_GNU_MIPS_ABI_FP_SINGLE
+      || abiflags->fp_abi == Val_GNU_MIPS_ABI_FP_XX
+      || (abiflags->fp_abi == Val_GNU_MIPS_ABI_FP_DOUBLE
+	  && abiflags->gpr_size == AFL_REG_32))
+    abiflags->cpr1_size = AFL_REG_32;
+  else if (abiflags->fp_abi == Val_GNU_MIPS_ABI_FP_DOUBLE
+	   || abiflags->fp_abi == Val_GNU_MIPS_ABI_FP_64
+	   || abiflags->fp_abi == Val_GNU_MIPS_ABI_FP_64A)
+    abiflags->cpr1_size = AFL_REG_64;
+
+  abiflags->cpr2_size = AFL_REG_NONE;
+
+  if (elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH_ASE_MDMX)
+    abiflags->ases |= AFL_ASE_MDMX;
+  if (elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH_ASE_M16)
+    abiflags->ases |= AFL_ASE_MIPS16;
+  if (elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH_ASE_MICROMIPS)
+    abiflags->ases |= AFL_ASE_MICROMIPS;
+
+  if (abiflags->fp_abi != Val_GNU_MIPS_ABI_FP_ANY
+      && abiflags->fp_abi != Val_GNU_MIPS_ABI_FP_SOFT
+      && abiflags->fp_abi != Val_GNU_MIPS_ABI_FP_64A
+      && abiflags->isa_level >= 32
+      && abiflags->isa_ext != AFL_EXT_LOONGSON_3A)
+    abiflags->flags1 |= AFL_FLAGS1_ODDSPREG;
+}
+
 /* We need to use a special link routine to handle the .reginfo and
    the .mdebug sections.  We need to merge all instances of these
    sections together, not write them all out sequentially.  */
@@ -13587,7 +14074,7 @@ _bfd_mips_elf_final_link (bfd *abfd, str
   asection *o;
   struct bfd_link_order *p;
   asection *reginfo_sec, *mdebug_sec, *gptab_data_sec, *gptab_bss_sec;
-  asection *rtproc_sec;
+  asection *rtproc_sec, *abiflags_sec;
   Elf32_RegInfo reginfo;
   struct ecoff_debug_info debug;
   struct mips_htab_traverse_info hti;
@@ -13669,12 +14156,46 @@ _bfd_mips_elf_final_link (bfd *abfd, str
 
   /* Go through the sections and collect the .reginfo and .mdebug
      information.  */
+  abiflags_sec = NULL;
   reginfo_sec = NULL;
   mdebug_sec = NULL;
   gptab_data_sec = NULL;
   gptab_bss_sec = NULL;
   for (o = abfd->sections; o != NULL; o = o->next)
     {
+      if (strcmp (o->name, ".MIPS.abiflags") == 0)
+	{
+	  /* We have found the .MIPS.abiflags section in the output file.
+	     Look through all the link_orders comprising it and remove them.
+	     The data is merged in _bfd_mips_elf_merge_private_bfd_data.  */
+	  for (p = o->map_head.link_order; p != NULL; p = p->next)
+	    {
+	      asection *input_section;
+
+	      if (p->type != bfd_indirect_link_order)
+		{
+		  if (p->type == bfd_data_link_order)
+		    continue;
+		  abort ();
+		}
+
+	      input_section = p->u.indirect.section;
+
+	      /* Hack: reset the SEC_HAS_CONTENTS flag so that
+		 elf_link_input_bfd ignores this section.  */
+	      input_section->flags &= ~SEC_HAS_CONTENTS;
+	    }
+
+	  /* Size has been set in _bfd_mips_elf_always_size_sections.  */
+	  BFD_ASSERT(o->size == sizeof (Elf_External_ABIFlags_v0));
+
+	  /* Skip this section later on (I don't think this currently
+	     matters, but someday it might).  */
+	  o->map_head.link_order = NULL;
+
+	  abiflags_sec = o;
+	}
+
       if (strcmp (o->name, ".reginfo") == 0)
 	{
 	  memset (&reginfo, 0, sizeof reginfo);
@@ -14159,6 +14680,24 @@ _bfd_mips_elf_final_link (bfd *abfd, str
 
   /* Now write out the computed sections.  */
 
+  if (abiflags_sec != NULL)
+    {
+      Elf_External_ABIFlags_v0 ext;
+      Elf_Internal_ABIFlags_v0 *abiflags;
+
+      abiflags = &mips_elf_tdata (abfd)->abiflags;
+
+      /* Set up the abiflags if no valid input sections were found.  */
+      if (!mips_elf_tdata (abfd)->abiflags_valid)
+	{
+	  infer_mips_abiflags (abfd, abiflags);
+	  mips_elf_tdata (abfd)->abiflags_valid = TRUE;
+	}
+      bfd_mips_elf_swap_abiflags_v0_out (abfd, abiflags, &ext);
+      if (! bfd_set_section_contents (abfd, abiflags_sec, &ext, 0, sizeof ext))
+	return FALSE;
+    }
+
   if (reginfo_sec != NULL)
     {
       Elf32_External_RegInfo ext;
@@ -14224,6 +14763,7 @@ struct mips_mach_extension
 static const struct mips_mach_extension mips_mach_extensions[] =
 {
   /* MIPS64r2 extensions.  */
+  { bfd_mach_mips_octeon3, bfd_mach_mips_octeon2 },
   { bfd_mach_mips_octeon2, bfd_mach_mips_octeonp },
   { bfd_mach_mips_octeonp, bfd_mach_mips_octeon },
   { bfd_mach_mips_octeon, bfd_mach_mipsisa64r2 },
@@ -14316,21 +14856,6 @@ mips_mach_extends_p (unsigned long base,
 }
 
 
-/* Return true if the given ELF header flags describe a 32-bit binary.  */
-
-static bfd_boolean
-mips_32bit_flags_p (flagword flags)
-{
-  return ((flags & EF_MIPS_32BITMODE) != 0
-	  || (flags & EF_MIPS_ABI) == E_MIPS_ABI_O32
-	  || (flags & EF_MIPS_ABI) == E_MIPS_ABI_EABI32
-	  || (flags & EF_MIPS_ARCH) == E_MIPS_ARCH_1
-	  || (flags & EF_MIPS_ARCH) == E_MIPS_ARCH_2
-	  || (flags & EF_MIPS_ARCH) == E_MIPS_ARCH_32
-	  || (flags & EF_MIPS_ARCH) == E_MIPS_ARCH_32R2);
-}
-
-
 /* Merge object attributes from IBFD into OBFD.  Raise an error if
    there are conflicting attributes.  */
 static bfd_boolean
@@ -14375,6 +14900,28 @@ mips_elf_merge_obj_attributes (bfd *ibfd
       out_attr[Tag_GNU_MIPS_ABI_FP].type = 1;
       if (out_fp == Val_GNU_MIPS_ABI_FP_ANY)
 	out_attr[Tag_GNU_MIPS_ABI_FP].i = in_fp;
+      else if (out_fp == Val_GNU_MIPS_ABI_FP_XX
+	       && (in_fp == Val_GNU_MIPS_ABI_FP_DOUBLE
+		   || in_fp == Val_GNU_MIPS_ABI_FP_64
+		   || in_fp == Val_GNU_MIPS_ABI_FP_64A))
+	{
+	  mips_elf_tdata (obfd)->abi_fp_bfd = ibfd;
+	  out_attr[Tag_GNU_MIPS_ABI_FP].i = in_attr[Tag_GNU_MIPS_ABI_FP].i;
+	}
+      else if (in_fp == Val_GNU_MIPS_ABI_FP_XX
+	       && (out_fp == Val_GNU_MIPS_ABI_FP_DOUBLE
+		   || out_fp == Val_GNU_MIPS_ABI_FP_64
+		   || out_fp == Val_GNU_MIPS_ABI_FP_64A))
+	/* Keep the current setting.  */;
+      else if (out_fp == Val_GNU_MIPS_ABI_FP_64A
+	       && in_fp == Val_GNU_MIPS_ABI_FP_64)
+	{
+	  mips_elf_tdata (obfd)->abi_fp_bfd = ibfd;
+	  out_attr[Tag_GNU_MIPS_ABI_FP].i = in_attr[Tag_GNU_MIPS_ABI_FP].i;
+	}
+      else if (in_fp == Val_GNU_MIPS_ABI_FP_64A
+	       && out_fp == Val_GNU_MIPS_ABI_FP_64)
+	/* Keep the current setting.  */;
       else if (in_fp != Val_GNU_MIPS_ABI_FP_ANY)
 	{
 	  const char *out_string, *in_string;
@@ -14471,6 +15018,7 @@ _bfd_mips_elf_merge_private_bfd_data (bf
   bfd_boolean ok;
   bfd_boolean null_input_bfd = TRUE;
   asection *sec;
+  obj_attribute *out_attr;
 
   /* Check if we have the same endianness.  */
   if (! _bfd_generic_verify_endian_match (ibfd, obfd))
@@ -14492,17 +15040,98 @@ _bfd_mips_elf_merge_private_bfd_data (bf
       return FALSE;
     }
 
+  /* Set up the FP ABI attribute from the abiflags if it is not already
+     set.  */
+  if (mips_elf_tdata (ibfd)->abiflags_valid)
+    {
+      obj_attribute *in_attr = elf_known_obj_attributes (ibfd)[OBJ_ATTR_GNU];
+      if (in_attr[Tag_GNU_MIPS_ABI_FP].i == Val_GNU_MIPS_ABI_FP_ANY)
+        in_attr[Tag_GNU_MIPS_ABI_FP].i =
+	  mips_elf_tdata (ibfd)->abiflags.fp_abi;
+    }
+
   if (!mips_elf_merge_obj_attributes (ibfd, obfd))
     return FALSE;
 
-  new_flags = elf_elfheader (ibfd)->e_flags;
-  elf_elfheader (obfd)->e_flags |= new_flags & EF_MIPS_NOREORDER;
-  old_flags = elf_elfheader (obfd)->e_flags;
+  /* Check to see if the input BFD actually contains any sections.
+     If not, its flags may not have been initialised either, but it cannot
+     actually cause any incompatibility.  */
+  for (sec = ibfd->sections; sec != NULL; sec = sec->next)
+    {
+      /* Ignore synthetic sections and empty .text, .data and .bss sections
+	 which are automatically generated by gas.  Also ignore fake
+	 (s)common sections, since merely defining a common symbol does
+	 not affect compatibility.  */
+      if ((sec->flags & SEC_IS_COMMON) == 0
+	  && strcmp (sec->name, ".reginfo")
+	  && strcmp (sec->name, ".mdebug")
+	  && (sec->size != 0
+	      || (strcmp (sec->name, ".text")
+		  && strcmp (sec->name, ".data")
+		  && strcmp (sec->name, ".bss"))))
+	{
+	  null_input_bfd = FALSE;
+	  break;
+	}
+    }
+  if (null_input_bfd)
+    return TRUE;
+
+  /* Populate abiflags using existing information.  */
+  if (!mips_elf_tdata (ibfd)->abiflags_valid)
+    {
+      infer_mips_abiflags (ibfd, &mips_elf_tdata (ibfd)->abiflags);
+      mips_elf_tdata (ibfd)->abiflags_valid = TRUE;
+    }
+  else
+    {
+      Elf_Internal_ABIFlags_v0 abiflags;
+      Elf_Internal_ABIFlags_v0 in_abiflags;
+      infer_mips_abiflags (ibfd, &abiflags);
+      in_abiflags = mips_elf_tdata (ibfd)->abiflags;
+
+      /* It is not possible to infer the correct ISA revision
+         for R3 or R5 so drop down to R2 for the checks.  */
+      if (in_abiflags.isa_rev == 3 || in_abiflags.isa_rev == 5)
+	in_abiflags.isa_rev = 2;
+
+      if (in_abiflags.isa_level != abiflags.isa_level
+	  || in_abiflags.isa_rev != abiflags.isa_rev
+	  || in_abiflags.isa_ext != abiflags.isa_ext)
+	(*_bfd_error_handler)
+	  (_("%B: warning: Inconsistent ISA between e_flags and "
+	     ".MIPS.abiflags"), ibfd);
+      if (abiflags.fp_abi != Val_GNU_MIPS_ABI_FP_ANY
+	  && in_abiflags.fp_abi != abiflags.fp_abi)
+	(*_bfd_error_handler)
+	  (_("%B: warning: Inconsistent FP ABI between e_flags and "
+	     ".MIPS.abiflags"), ibfd);
+      if ((in_abiflags.ases & abiflags.ases) != abiflags.ases)
+	(*_bfd_error_handler)
+	  (_("%B: warning: Inconsistent ASEs between e_flags and "
+	     ".MIPS.abiflags"), ibfd);
+      if (in_abiflags.isa_ext != abiflags.isa_ext)
+	(*_bfd_error_handler)
+	  (_("%B: warning: Inconsistent ISA extensions between e_flags and "
+	     ".MIPS.abiflags"), ibfd);
+      if (in_abiflags.flags2 != 0)
+	(*_bfd_error_handler)
+	  (_("%B: warning: Unexpected flag in the flags2 field of "
+	     ".MIPS.abiflags (0x%lx)"), ibfd,
+	   (unsigned long) in_abiflags.flags2);
+    }
+
+  if (!mips_elf_tdata (obfd)->abiflags_valid)
+    {
+      /* Copy input abiflags if output abiflags are not already valid.  */
+      mips_elf_tdata (obfd)->abiflags = mips_elf_tdata (ibfd)->abiflags;
+      mips_elf_tdata (obfd)->abiflags_valid = TRUE;
+    }
 
   if (! elf_flags_init (obfd))
     {
       elf_flags_init (obfd) = TRUE;
-      elf_elfheader (obfd)->e_flags = new_flags;
+      elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
       elf_elfheader (obfd)->e_ident[EI_CLASS]
 	= elf_elfheader (ibfd)->e_ident[EI_CLASS];
 
@@ -14514,11 +15143,42 @@ _bfd_mips_elf_merge_private_bfd_data (bf
 	  if (! bfd_set_arch_mach (obfd, bfd_get_arch (ibfd),
 				   bfd_get_mach (ibfd)))
 	    return FALSE;
+
+	  /* Update the ABI flags isa_level, isa_rev and isa_ext fields.  */
+	  update_mips_abiflags_isa (obfd, &mips_elf_tdata (obfd)->abiflags);
 	}
 
       return TRUE;
     }
 
+  /* Update the output abiflags fp_abi using the computed fp_abi.  */
+  out_attr = elf_known_obj_attributes (obfd)[OBJ_ATTR_GNU];
+  mips_elf_tdata (obfd)->abiflags.fp_abi = out_attr[Tag_GNU_MIPS_ABI_FP].i;
+
+#define max(a,b) ((a) > (b) ? (a) : (b))
+  /* Merge abiflags.  */
+  mips_elf_tdata (obfd)->abiflags.isa_rev
+    = max (mips_elf_tdata (obfd)->abiflags.isa_rev,
+	   mips_elf_tdata (ibfd)->abiflags.isa_rev);
+  mips_elf_tdata (obfd)->abiflags.gpr_size
+    = max (mips_elf_tdata (obfd)->abiflags.gpr_size,
+	   mips_elf_tdata (ibfd)->abiflags.gpr_size);
+  mips_elf_tdata (obfd)->abiflags.cpr1_size
+    = max (mips_elf_tdata (obfd)->abiflags.cpr1_size,
+	   mips_elf_tdata (ibfd)->abiflags.cpr1_size);
+  mips_elf_tdata (obfd)->abiflags.cpr2_size
+    = max (mips_elf_tdata (obfd)->abiflags.cpr2_size,
+	   mips_elf_tdata (ibfd)->abiflags.cpr2_size);
+#undef max
+  mips_elf_tdata (obfd)->abiflags.ases
+    |= mips_elf_tdata (ibfd)->abiflags.ases;
+  mips_elf_tdata (obfd)->abiflags.flags1
+    |= mips_elf_tdata (ibfd)->abiflags.flags1;
+
+  new_flags = elf_elfheader (ibfd)->e_flags;
+  elf_elfheader (obfd)->e_flags |= new_flags & EF_MIPS_NOREORDER;
+  old_flags = elf_elfheader (obfd)->e_flags;
+
   /* Check flag compatibility.  */
 
   new_flags &= ~EF_MIPS_NOREORDER;
@@ -14541,30 +15201,6 @@ _bfd_mips_elf_merge_private_bfd_data (bf
   if (new_flags == old_flags)
     return TRUE;
 
-  /* Check to see if the input BFD actually contains any sections.
-     If not, its flags may not have been initialised either, but it cannot
-     actually cause any incompatibility.  */
-  for (sec = ibfd->sections; sec != NULL; sec = sec->next)
-    {
-      /* Ignore synthetic sections and empty .text, .data and .bss sections
-	 which are automatically generated by gas.  Also ignore fake
-	 (s)common sections, since merely defining a common symbol does
-	 not affect compatibility.  */
-      if ((sec->flags & SEC_IS_COMMON) == 0
-	  && strcmp (sec->name, ".reginfo")
-	  && strcmp (sec->name, ".mdebug")
-	  && (sec->size != 0
-	      || (strcmp (sec->name, ".text")
-		  && strcmp (sec->name, ".data")
-		  && strcmp (sec->name, ".bss"))))
-	{
-	  null_input_bfd = FALSE;
-	  break;
-	}
-    }
-  if (null_input_bfd)
-    return TRUE;
-
   ok = TRUE;
 
   if (((new_flags & (EF_MIPS_PIC | EF_MIPS_CPIC)) != 0)
@@ -14605,6 +15241,9 @@ _bfd_mips_elf_merge_private_bfd_data (bf
 	  elf_elfheader (obfd)->e_flags
 	    |= new_flags & (EF_MIPS_ARCH | EF_MIPS_MACH | EF_MIPS_32BITMODE);
 
+	  /* Update the ABI flags isa_level, isa_rev, isa_ext fields.  */
+	  update_mips_abiflags_isa (obfd, &mips_elf_tdata (obfd)->abiflags);
+
 	  /* Copy across the ABI flags if OBFD doesn't use them
 	     and if that was what caused us to treat IBFD as 32-bit.  */
 	  if ((old_flags & EF_MIPS_ABI) == 0
@@ -14690,6 +15329,20 @@ _bfd_mips_elf_merge_private_bfd_data (bf
       old_flags &= ~EF_MIPS_NAN2008;
     }
 
+  /* Compare FP64 state.  */
+  if ((new_flags & EF_MIPS_FP64) != (old_flags & EF_MIPS_FP64))
+    {
+      _bfd_error_handler (_("%B: linking %s module with previous %s modules"),
+			  ibfd,
+			  (new_flags & EF_MIPS_FP64
+			   ? "-mfp64" : "-mfp32"),
+			  (old_flags & EF_MIPS_FP64
+			   ? "-mfp64" : "-mfp32"));
+      ok = FALSE;
+      new_flags &= ~EF_MIPS_FP64;
+      old_flags &= ~EF_MIPS_FP64;
+    }
+
   /* Warn about any other mismatches */
   if (new_flags != old_flags)
     {
@@ -14840,14 +15493,174 @@ _bfd_mips_fp_abi_string (int fp)
     case Val_GNU_MIPS_ABI_FP_SOFT:
       return "-msoft-float";
 
+    case Val_GNU_MIPS_ABI_FP_OLD_64:
+      return _("-mips32r2 -mfp64 (12 callee-saved)");
+
+    case Val_GNU_MIPS_ABI_FP_XX:
+      return "-mfpxx";
+
     case Val_GNU_MIPS_ABI_FP_64:
-      return "-mips32r2 -mfp64";
+      return "-mgp32 -mfp64";
+
+    case Val_GNU_MIPS_ABI_FP_64A:
+      return "-mgp32 -mfp64 -mno-odd-spreg";
 
     default:
       return 0;
     }
 }
 
+static void
+print_mips_ases (FILE *file, unsigned int mask)
+{
+  if (mask & AFL_ASE_DSP)
+    fputs ("\n\tDSP ASE", file);
+  if (mask & AFL_ASE_DSPR2)
+    fputs ("\n\tDSP R2 ASE", file);
+  if (mask & AFL_ASE_EVA)
+    fputs ("\n\tEnhanced VA Scheme", file);
+  if (mask & AFL_ASE_MCU)
+    fputs ("\n\tMCU (MicroController) ASE", file);
+  if (mask & AFL_ASE_MDMX)
+    fputs ("\n\tMDMX ASE", file);
+  if (mask & AFL_ASE_MIPS3D)
+    fputs ("\n\tMIPS-3D ASE", file);
+  if (mask & AFL_ASE_MT)
+    fputs ("\n\tMT ASE", file);
+  if (mask & AFL_ASE_SMARTMIPS)
+    fputs ("\n\tSmartMIPS ASE", file);
+  if (mask & AFL_ASE_VIRT)
+    fputs ("\n\tVZ ASE", file);
+  if (mask & AFL_ASE_MSA)
+    fputs ("\n\tMSA ASE", file);
+  if (mask & AFL_ASE_MIPS16)
+    fputs ("\n\tMIPS16 ASE", file);
+  if (mask & AFL_ASE_MICROMIPS)
+    fputs ("\n\tMICROMIPS ASE", file);
+  if (mask & AFL_ASE_XPA)
+    fputs ("\n\tXPA ASE", file);
+  if (mask == 0)
+    fprintf (file, "\n\t%s", _("None"));
+  else if ((mask & ~AFL_ASE_MASK) != 0)
+    fprintf (stdout, "\n\t%s (%x)", _("Unknown"), mask & ~AFL_ASE_MASK);
+}
+
+static void
+print_mips_isa_ext (FILE *file, unsigned int isa_ext)
+{
+  switch (isa_ext)
+    {
+    case 0:
+      fputs (_("None"), file);
+      break;
+    case AFL_EXT_XLR:
+      fputs ("RMI XLR", file);
+      break;
+    case AFL_EXT_OCTEON3:
+      fputs ("Cavium Networks Octeon3", file);
+      break;
+    case AFL_EXT_OCTEON2:
+      fputs ("Cavium Networks Octeon2", file);
+      break;
+    case AFL_EXT_OCTEONP:
+      fputs ("Cavium Networks OcteonP", file);
+      break;
+    case AFL_EXT_LOONGSON_3A:
+      fputs ("Loongson 3A", file);
+      break;
+    case AFL_EXT_OCTEON:
+      fputs ("Cavium Networks Octeon", file);
+      break;
+    case AFL_EXT_5900:
+      fputs ("Toshiba R5900", file);
+      break;
+    case AFL_EXT_4650:
+      fputs ("MIPS R4650", file);
+      break;
+    case AFL_EXT_4010:
+      fputs ("LSI R4010", file);
+      break;
+    case AFL_EXT_4100:
+      fputs ("NEC VR4100", file);
+      break;
+    case AFL_EXT_3900:
+      fputs ("Toshiba R3900", file);
+      break;
+    case AFL_EXT_10000:
+      fputs ("MIPS R10000", file);
+      break;
+    case AFL_EXT_SB1:
+      fputs ("Broadcom SB-1", file);
+      break;
+    case AFL_EXT_4111:
+      fputs ("NEC VR4111/VR4181", file);
+      break;
+    case AFL_EXT_4120:
+      fputs ("NEC VR4120", file);
+      break;
+    case AFL_EXT_5400:
+      fputs ("NEC VR5400", file);
+      break;
+    case AFL_EXT_5500:
+      fputs ("NEC VR5500", file);
+      break;
+    case AFL_EXT_LOONGSON_2E:
+      fputs ("ST Microelectronics Loongson 2E", file);
+      break;
+    case AFL_EXT_LOONGSON_2F:
+      fputs ("ST Microelectronics Loongson 2F", file);
+      break;
+    default:
+      fprintf (file, "%s (%d)", _("Unknown"), isa_ext);
+      break;
+    }
+}
+
+static void
+print_mips_fp_abi_value (FILE *file, int val)
+{
+  switch (val)
+    {
+    case Val_GNU_MIPS_ABI_FP_ANY:
+      fprintf (file, _("Hard or soft float\n"));
+      break;
+    case Val_GNU_MIPS_ABI_FP_DOUBLE:
+      fprintf (file, _("Hard float (double precision)\n"));
+      break;
+    case Val_GNU_MIPS_ABI_FP_SINGLE:
+      fprintf (file, _("Hard float (single precision)\n"));
+      break;
+    case Val_GNU_MIPS_ABI_FP_SOFT:
+      fprintf (file, _("Soft float\n"));
+      break;
+    case Val_GNU_MIPS_ABI_FP_OLD_64:
+      fprintf (file, _("Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"));
+      break;
+    case Val_GNU_MIPS_ABI_FP_XX:
+      fprintf (file, _("Hard float (32-bit CPU, Any FPU)\n"));
+      break;
+    case Val_GNU_MIPS_ABI_FP_64:
+      fprintf (file, _("Hard float (32-bit CPU, 64-bit FPU)\n"));
+      break;
+    case Val_GNU_MIPS_ABI_FP_64A:
+      fprintf (file, _("Hard float compat (32-bit CPU, 64-bit FPU)\n"));
+      break;
+    default:
+      fprintf (file, "??? (%d)\n", val);
+      break;
+    }
+}
+
+static int
+get_mips_reg_size (int reg_size)
+{
+  return (reg_size == AFL_REG_NONE) ? 0
+	 : (reg_size == AFL_REG_32) ? 32
+	 : (reg_size == AFL_REG_64) ? 64
+	 : (reg_size == AFL_REG_128) ? 128
+	 : -1;
+}
+
 bfd_boolean
 _bfd_mips_elf_print_private_bfd_data (bfd *abfd, void *ptr)
 {
@@ -14896,6 +15709,10 @@ _bfd_mips_elf_print_private_bfd_data (bf
     fprintf (file, " [mips32r2]");
   else if ((elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH) == E_MIPS_ARCH_64R2)
     fprintf (file, " [mips64r2]");
+  else if ((elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH) == E_MIPS_ARCH_32R6)
+    fprintf (file, " [mips32r6]");
+  else if ((elf_elfheader (abfd)->e_flags & EF_MIPS_ARCH) == E_MIPS_ARCH_64R6)
+    fprintf (file, " [mips64r6]");
   else
     fprintf (file, _(" [unknown ISA]"));
 
@@ -14912,7 +15729,7 @@ _bfd_mips_elf_print_private_bfd_data (bf
     fprintf (file, " [nan2008]");
 
   if (elf_elfheader (abfd)->e_flags & EF_MIPS_FP64)
-    fprintf (file, " [fp64]");
+    fprintf (file, " [old fp64]");
 
   if (elf_elfheader (abfd)->e_flags & EF_MIPS_32BITMODE)
     fprintf (file, " [32bitmode]");
@@ -14936,6 +15753,30 @@ _bfd_mips_elf_print_private_bfd_data (bf
 
   fputc ('\n', file);
 
+  if (mips_elf_tdata (abfd)->abiflags_valid)
+    {
+      Elf_Internal_ABIFlags_v0 *abiflags = &mips_elf_tdata (abfd)->abiflags;
+      fprintf (file, "\nMIPS ABI Flags Version: %d\n", abiflags->version);
+      fprintf (file, "\nISA: MIPS%d", abiflags->isa_level);
+      if (abiflags->isa_rev > 1)
+	fprintf (file, "r%d", abiflags->isa_rev);
+      fprintf (file, "\nGPR size: %d",
+	       get_mips_reg_size (abiflags->gpr_size));
+      fprintf (file, "\nCPR1 size: %d",
+	       get_mips_reg_size (abiflags->cpr1_size));
+      fprintf (file, "\nCPR2 size: %d",
+	       get_mips_reg_size (abiflags->cpr2_size));
+      fputs ("\nFP ABI: ", file);
+      print_mips_fp_abi_value (file, abiflags->fp_abi);
+      fputs ("ISA Extension: ", file);
+      print_mips_isa_ext (file, abiflags->isa_ext);
+      fputs ("\nASEs:", file);
+      print_mips_ases (file, abiflags->ases);
+      fprintf (file, "\nFLAGS 1: %8.8lx", abiflags->flags1);
+      fprintf (file, "\nFLAGS 2: %8.8lx", abiflags->flags2);
+      fputc ('\n', file);
+    }
+
   return TRUE;
 }
 
@@ -15258,4 +16099,8 @@ _bfd_mips_post_process_headers (bfd *abf
     }
 
   _bfd_elf_post_process_headers (abfd, link_info);
+
+  if (mips_elf_tdata (abfd)->abiflags.fp_abi == Val_GNU_MIPS_ABI_FP_64
+      || mips_elf_tdata (abfd)->abiflags.fp_abi == Val_GNU_MIPS_ABI_FP_64A)
+    i_ehdrp->e_ident[EI_ABIVERSION] = 3;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-mips.h ./bfd/elfxx-mips.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-mips.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-mips.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* MIPS ELF specific backend routines.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -67,6 +67,8 @@ extern bfd_boolean _bfd_mips_vxworks_fin
    Elf_Internal_Sym *);
 extern bfd_boolean _bfd_mips_elf_finish_dynamic_sections
   (bfd *, struct bfd_link_info *);
+extern bfd_boolean _bfd_mips_elf_sort_relocs_p
+  (asection *);
 extern void _bfd_mips_elf_final_write_processing
   (bfd *, bfd_boolean);
 extern int _bfd_mips_elf_additional_program_headers
@@ -86,8 +88,8 @@ extern bfd_boolean _bfd_mips_elf_ignore_
 extern bfd_boolean _bfd_mips_elf_is_target_special_symbol
   (bfd *abfd, asymbol *sym);
 extern bfd_boolean _bfd_mips_elf_find_nearest_line
-  (bfd *, asection *, asymbol **, bfd_vma, const char **,
-   const char **, unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *);
 extern bfd_boolean _bfd_mips_elf_find_inliner_info
   (bfd *, const char **, const char **, unsigned int *);
 extern bfd_boolean _bfd_mips_elf_set_section_contents
@@ -157,6 +159,8 @@ extern bfd_vma _bfd_mips_elf_plt_sym_val
   (bfd_vma, const asection *, const arelent *rel);
 extern long _bfd_mips_elf_get_synthetic_symtab
   (bfd *, long, asymbol **, long, asymbol **, asymbol **);
+extern bfd_boolean _bfd_mips_elf_gc_mark_extra_sections
+  (struct bfd_link_info *, elf_gc_mark_hook_fn);
 extern void _bfd_mips_post_process_headers
   (bfd *abfd, struct bfd_link_info *link_info);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-sparc.c ./bfd/elfxx-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-sparc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-sparc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* SPARC-specific support for ELF
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -1102,6 +1102,21 @@ elf_sparc_get_local_sym_hash (struct _bf
   return &ret->elf;
 }
 
+/* Destroy a SPARC ELF linker hash table.  */
+
+static void
+_bfd_sparc_elf_link_hash_table_free (bfd *obfd)
+{
+  struct _bfd_sparc_elf_link_hash_table *htab
+    = (struct _bfd_sparc_elf_link_hash_table *) obfd->link.hash;
+
+  if (htab->loc_hash_table)
+    htab_delete (htab->loc_hash_table);
+  if (htab->loc_hash_memory)
+    objalloc_free ((struct objalloc *) htab->loc_hash_memory);
+  _bfd_elf_link_hash_table_free (obfd);
+}
+
 /* Create a SPARC ELF linker hash table.  */
 
 struct bfd_link_hash_table *
@@ -1168,28 +1183,14 @@ _bfd_sparc_elf_link_hash_table_create (b
   ret->loc_hash_memory = objalloc_create ();
   if (!ret->loc_hash_table || !ret->loc_hash_memory)
     {
-      free (ret);
+      _bfd_sparc_elf_link_hash_table_free (abfd);
       return NULL;
     }
+  ret->elf.root.hash_table_free = _bfd_sparc_elf_link_hash_table_free;
 
   return &ret->elf.root;
 }
 
-/* Destroy a SPARC ELF linker hash table.  */
-
-void
-_bfd_sparc_elf_link_hash_table_free (struct bfd_link_hash_table *hash)
-{
-  struct _bfd_sparc_elf_link_hash_table *htab
-    = (struct _bfd_sparc_elf_link_hash_table *) hash;
-
-  if (htab->loc_hash_table)
-    htab_delete (htab->loc_hash_table);
-  if (htab->loc_hash_memory)
-    objalloc_free ((struct objalloc *) htab->loc_hash_memory);
-  _bfd_generic_link_hash_table_free (hash);
-}
-
 /* Create .plt, .rela.plt, .got, .rela.got, .dynbss, and
    .rela.bss sections in DYNOBJ, and set up shortcuts to them in our
    hash table.  */
@@ -1969,7 +1970,7 @@ _bfd_sparc_elf_gc_sweep_hook (bfd *abfd,
 	}
 
       r_type = SPARC_ELF_R_TYPE (rel->r_info);
-      r_type = sparc_elf_tls_transition (info, abfd, r_type, h != NULL);
+      r_type = sparc_elf_tls_transition (info, abfd, r_type, h == NULL);
       switch (r_type)
 	{
 	case R_SPARC_TLS_LDM_HI22:
@@ -2210,7 +2211,7 @@ _bfd_sparc_elf_adjust_dynamic_symbol (st
 
   s = htab->sdynbss;
 
-  return _bfd_elf_adjust_dynamic_copy (h, s);
+  return _bfd_elf_adjust_dynamic_copy (info, h, s);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2567,7 +2568,7 @@ _bfd_sparc_elf_size_dynamic_sections (bf
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
@@ -4907,10 +4908,17 @@ _bfd_sparc_elf_merge_private_bfd_data (b
 
   in_attr = &in_attrs[Tag_GNU_Sparc_HWCAPS];
   out_attr = &out_attrs[Tag_GNU_Sparc_HWCAPS];
+  
+  out_attr->i |= in_attr->i;
+  out_attr->type = 1;
 
+  in_attr = &in_attrs[Tag_GNU_Sparc_HWCAPS2];
+  out_attr = &out_attrs[Tag_GNU_Sparc_HWCAPS2];
+  
   out_attr->i |= in_attr->i;
   out_attr->type = 1;
 
+
   /* Merge Tag_compatibility attributes and any common GNU ones.  */
   _bfd_elf_merge_object_attributes (ibfd, obfd);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-sparc.h ./bfd/elfxx-sparc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-sparc.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-sparc.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* SPARC ELF specific backend routines.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -106,8 +106,6 @@ extern bfd_boolean _bfd_sparc_elf_mkobje
   (bfd *);
 extern struct bfd_link_hash_table *_bfd_sparc_elf_link_hash_table_create
   (bfd *);
-extern void _bfd_sparc_elf_link_hash_table_free
-  (struct bfd_link_hash_table *);
 extern bfd_boolean _bfd_sparc_elf_create_dynamic_sections
   (bfd *, struct bfd_link_info *);
 extern void _bfd_sparc_elf_copy_indirect_symbol
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-target.h ./bfd/elfxx-target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-target.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-target.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target definitions for NN-bit ELF
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -49,6 +49,9 @@
 #ifndef bfd_elfNN_find_nearest_line
 #define bfd_elfNN_find_nearest_line	_bfd_elf_find_nearest_line
 #endif
+#ifndef bfd_elfNN_find_line
+#define bfd_elfNN_find_line		_bfd_elf_find_line
+#endif
 #ifndef bfd_elfNN_find_inliner_info
 #define bfd_elfNN_find_inliner_info	_bfd_elf_find_inliner_info
 #endif
@@ -63,6 +66,10 @@
 #ifndef bfd_elfNN_get_symbol_info
 #define bfd_elfNN_get_symbol_info	_bfd_elf_get_symbol_info
 #endif
+#ifndef bfd_elfNN_get_symbol_version_string
+#define bfd_elfNN_get_symbol_version_string \
+  _bfd_elf_get_symbol_version_string
+#endif
 #define bfd_elfNN_canonicalize_symtab	_bfd_elf_canonicalize_symtab
 #define bfd_elfNN_get_symtab_upper_bound _bfd_elf_get_symtab_upper_bound
 #define bfd_elfNN_make_empty_symbol	_bfd_elf_make_empty_symbol
@@ -237,9 +244,6 @@
 #ifndef bfd_elfNN_bfd_link_hash_table_create
 #define bfd_elfNN_bfd_link_hash_table_create _bfd_elf_link_hash_table_create
 #endif
-#ifndef bfd_elfNN_bfd_link_hash_table_free
-#define bfd_elfNN_bfd_link_hash_table_free _bfd_elf_link_hash_table_free
-#endif
 #ifndef bfd_elfNN_bfd_link_add_symbols
 #define bfd_elfNN_bfd_link_add_symbols	bfd_elf_link_add_symbols
 #endif
@@ -256,9 +260,6 @@
 #define bfd_elfNN_bfd_link_hash_table_create \
   _bfd_generic_link_hash_table_create
 #endif
-#ifndef bfd_elfNN_bfd_link_hash_table_free
-#define bfd_elfNN_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
-#endif
 #ifndef bfd_elfNN_bfd_link_add_symbols
 #define bfd_elfNN_bfd_link_add_symbols	_bfd_generic_link_add_symbols
 #endif
@@ -534,6 +535,9 @@
 #ifndef elf_backend_count_relocs
 #define elf_backend_count_relocs		NULL
 #endif
+#ifndef elf_backend_sort_relocs_p
+#define elf_backend_sort_relocs_p		NULL
+#endif
 #ifndef elf_backend_grok_prstatus
 #define elf_backend_grok_prstatus		NULL
 #endif
@@ -736,6 +740,7 @@ static struct elf_backend_data elfNN_bed
   elf_backend_ignore_undef_symbol,
   elf_backend_emit_relocs,
   elf_backend_count_relocs,
+  elf_backend_sort_relocs_p,
   elf_backend_grok_prstatus,
   elf_backend_grok_psinfo,
   elf_backend_write_core_note,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-tilegx.c ./bfd/elfxx-tilegx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-tilegx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-tilegx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILE-Gx-specific support for ELF.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -2456,7 +2456,7 @@ tilegx_elf_adjust_dynamic_symbol (struct
       h->needs_copy = 1;
     }
 
-  return _bfd_elf_adjust_dynamic_copy (h, htab->sdynbss);
+  return _bfd_elf_adjust_dynamic_copy (info, h, htab->sdynbss);
 }
 
 /* Allocate space in .plt, .got and associated reloc sections for
@@ -2733,7 +2733,7 @@ tilegx_elf_size_dynamic_sections (bfd *o
 
   /* Set up .got offsets for local syms, and space for local dynamic
      relocs.  */
-  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+  for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
     {
       bfd_signed_vma *local_got;
       bfd_signed_vma *end_local_got;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-tilegx.h ./bfd/elfxx-tilegx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/elfxx-tilegx.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/elfxx-tilegx.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILE-Gx ELF specific backend routines.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/epoc-pe-arm.c ./bfd/epoc-pe-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/epoc-pe-arm.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/epoc-pe-arm.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for ARM EPOC PE files.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/epoc-pei-arm.c ./bfd/epoc-pei-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/epoc-pei-arm.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/epoc-pei-arm.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for ARM EPOC PE IMAGE COFF files.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/format.c ./bfd/format.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/format.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/format.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic BFD support for file formats.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -402,7 +402,7 @@ bfd_check_format_matches (bfd *abfd, bfd
   /* We still have more than one equally good match, and at least some
      of the targets support match priority.  Choose the first of the
      best matches.  */
-  if (match_count > 1 && best_count != match_count)
+  if (matching_vector && match_count > 1 && best_count != match_count)
     {
       int i;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/freebsd.h ./bfd/freebsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/freebsd.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/freebsd.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end definitions used by all FreeBSD targets.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/gen-aout.c ./bfd/gen-aout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/gen-aout.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/gen-aout.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generate parameters for an a.out system.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/genlink.h ./bfd/genlink.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/genlink.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/genlink.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* genlink.h -- interface to the BFD generic linker
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hash.c ./bfd/hash.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hash.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hash.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* hash.c -- hash table routines for BFD
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain <sac@cygnus.com>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -392,6 +392,7 @@ bfd_hash_table_init_n (struct bfd_hash_t
       objalloc_alloc ((struct objalloc *) table->memory, alloc);
   if (table->table == NULL)
     {
+      bfd_hash_table_free (table);
       bfd_set_error (bfd_error_no_memory);
       return FALSE;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/host-aout.c ./bfd/host-aout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/host-aout.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/host-aout.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for local host's a.out binaries
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.  Probably John Gilmore's fault.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/alphalinux.h ./bfd/hosts/alphalinux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/alphalinux.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/alphalinux.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/alphavms.h ./bfd/hosts/alphavms.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/alphavms.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/alphavms.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* alphavms.h -- BFD definitions for an openVMS host
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Klaus Kämpf (kkaempf@progis.de)
    of proGIS Softwareentwicklung, Aachen, Germany
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/decstation.h ./bfd/hosts/decstation.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/decstation.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/decstation.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/delta68.h ./bfd/hosts/delta68.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/delta68.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/delta68.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/dpx2.h ./bfd/hosts/dpx2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/dpx2.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/dpx2.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/hp300bsd.h ./bfd/hosts/hp300bsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/hp300bsd.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/hp300bsd.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i386bsd.h ./bfd/hosts/i386bsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i386bsd.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/i386bsd.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i386linux.h ./bfd/hosts/i386linux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i386linux.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/i386linux.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i386mach3.h ./bfd/hosts/i386mach3.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i386mach3.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/i386mach3.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i386sco.h ./bfd/hosts/i386sco.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i386sco.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/i386sco.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i860mach3.h ./bfd/hosts/i860mach3.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/i860mach3.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/i860mach3.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/m68kaux.h ./bfd/hosts/m68kaux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/m68kaux.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/m68kaux.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/m68klinux.h ./bfd/hosts/m68klinux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/m68klinux.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/m68klinux.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/m88kmach3.h ./bfd/hosts/m88kmach3.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/m88kmach3.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/m88kmach3.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/mipsbsd.h ./bfd/hosts/mipsbsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/mipsbsd.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/mipsbsd.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/mipsmach3.h ./bfd/hosts/mipsmach3.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/mipsmach3.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/mipsmach3.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/news.h ./bfd/hosts/news.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/news.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/news.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/news-mips.h ./bfd/hosts/news-mips.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/news-mips.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/news-mips.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/pc532mach.h ./bfd/hosts/pc532mach.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/pc532mach.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/pc532mach.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/riscos.h ./bfd/hosts/riscos.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/riscos.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/riscos.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/symmetry.h ./bfd/hosts/symmetry.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/symmetry.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/symmetry.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/tahoe.h ./bfd/hosts/tahoe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/tahoe.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/tahoe.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/vaxbsd.h ./bfd/hosts/vaxbsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/vaxbsd.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/vaxbsd.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/vaxlinux.h ./bfd/hosts/vaxlinux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/vaxlinux.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/vaxlinux.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/vaxult2.h ./bfd/hosts/vaxult2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/vaxult2.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/vaxult2.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/vaxult.h ./bfd/hosts/vaxult.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/vaxult.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/vaxult.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/x86-64linux.h ./bfd/hosts/x86-64linux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hosts/x86-64linux.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hosts/x86-64linux.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hp300bsd.c ./bfd/hp300bsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hp300bsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hp300bsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for HP 9000/300 (68000-based) machines running BSD Unix.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hp300hpux.c ./bfd/hp300hpux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hp300hpux.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hp300hpux.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for hp-ux 9000/300
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Glenn Engel.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hppabsd-core.c ./bfd/hppabsd-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hppabsd-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hppabsd-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for HPPA BSD core files.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hpux-core.c ./bfd/hpux-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/hpux-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/hpux-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for HP/UX core files.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Stu Grossman, Cygnus Support.
    Converted to back-end form by Ian Lance Taylor, Cygnus SUpport
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386aout.c ./bfd/i386aout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386aout.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386aout.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for i386 a.out binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386bsd.c ./bfd/i386bsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386bsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386bsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for i386 a.out binaries under BSD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386dynix.c ./bfd/i386dynix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386dynix.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386dynix.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for i386 a.out binaries under dynix.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386freebsd.c ./bfd/i386freebsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386freebsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386freebsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for FreeBSD/386 a.out-ish binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386linux.c ./bfd/i386linux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386linux.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386linux.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for linux flavored i386 a.out binaries.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386lynx.c ./bfd/i386lynx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386lynx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386lynx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for i386 a.out binaries under LynxOS.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386mach3.c ./bfd/i386mach3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386mach3.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386mach3.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for i386 a.out binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386msdos.c ./bfd/i386msdos.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386msdos.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386msdos.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for MS-DOS executables.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Bryan Ford of the University of Utah.
 
    Contributed by the Center for Software Science at the
@@ -150,7 +150,6 @@ msdos_set_section_contents (bfd *abfd,
   _bfd_generic_section_already_linked
 #define msdos_bfd_define_common_symbol bfd_generic_define_common_symbol
 #define msdos_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define msdos_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
 #define msdos_bfd_link_add_symbols _bfd_generic_link_add_symbols
 #define msdos_bfd_link_just_syms _bfd_generic_link_just_syms
 #define msdos_bfd_copy_link_hash_symbol_type \
@@ -163,7 +162,10 @@ msdos_set_section_contents (bfd *abfd,
 #define msdos_canonicalize_symtab _bfd_nosymbols_canonicalize_symtab
 #define msdos_print_symbol _bfd_nosymbols_print_symbol
 #define msdos_get_symbol_info _bfd_nosymbols_get_symbol_info
+#define msdos_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
 #define msdos_find_nearest_line _bfd_nosymbols_find_nearest_line
+#define msdos_find_line _bfd_nosymbols_find_line
 #define msdos_find_inliner_info _bfd_nosymbols_find_inliner_info
 #define msdos_get_lineno _bfd_nosymbols_get_lineno
 #define msdos_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386netbsd.c ./bfd/i386netbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386netbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386netbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for NetBSD/386 a.out-ish binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386os9k.c ./bfd/i386os9k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/i386os9k.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/i386os9k.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for os9000 i386 binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -154,6 +154,9 @@ os9k_sizeof_headers (bfd *abfd ATTRIBUTE
 
 #define aout_32_close_and_cleanup aout_32_bfd_free_cached_info
 
+#define aout_32_find_line	      _bfd_nosymbols_find_line
+#define aout_32_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
 #define aout_32_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
 
 #define aout_32_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
@@ -174,7 +177,6 @@ os9k_sizeof_headers (bfd *abfd ATTRIBUTE
   _bfd_generic_section_already_linked
 #define os9k_bfd_define_common_symbol bfd_generic_define_common_symbol
 #define os9k_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define os9k_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
 #define os9k_bfd_link_add_symbols _bfd_generic_link_add_symbols
 #define os9k_bfd_link_just_syms _bfd_generic_link_just_syms
 #define os9k_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ieee.c ./bfd/ieee.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ieee.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ieee.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for ieee-695 objects.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Written by Steve Chamberlain of Cygnus Support.
 
@@ -170,9 +170,16 @@ ieee_write_id (bfd *abfd, const char *id
    standard requires.  */
 
 #define this_byte(ieee)           *((ieee)->input_p)
-#define next_byte(ieee)            ((ieee)->input_p++)
 #define this_byte_and_next(ieee) (*((ieee)->input_p++))
 
+static bfd_boolean
+next_byte (common_header_type * ieee)
+{
+  ieee->input_p++;
+
+  return ieee->input_p < ieee->last_byte;
+}
+
 static unsigned short
 read_2bytes (common_header_type *ieee)
 {
@@ -348,15 +355,15 @@ parse_int (common_header_type *ieee, bfd
   if (value >= 0 && value <= 127)
     {
       *value_ptr = value;
-      next_byte (ieee);
-      return TRUE;
+      return next_byte (ieee);
     }
   else if (value >= 0x80 && value <= 0x88)
     {
       unsigned int count = value & 0xf;
 
       result = 0;
-      next_byte (ieee);
+      if (! next_byte (ieee))
+	return FALSE;
       while (count)
 	{
 	  result = (result << 8) | this_byte_and_next (ieee);
@@ -496,7 +503,7 @@ static reloc_howto_type rel8_howto =
 
 static ieee_symbol_index_type NOSYMBOL = {0, 0};
 
-static void
+static bfd_boolean
 parse_expression (ieee_data_type *ieee,
 		  bfd_vma *value,
 		  ieee_symbol_index_type *symbol,
@@ -529,68 +536,83 @@ parse_expression (ieee_data_type *ieee,
 	  {
 	    int section_n;
 
-	    next_byte (&(ieee->h));
+	    if (! next_byte (&(ieee->h)))
+	      return FALSE;
 	    *pcrel = TRUE;
 	    section_n = must_parse_int (&(ieee->h));
 	    (void) section_n;
 	    PUSH (NOSYMBOL, bfd_abs_section_ptr, 0);
 	    break;
 	  }
+
 	case ieee_variable_L_enum:
 	  /* L variable  address of section N.  */
-	  next_byte (&(ieee->h));
+	  if (! next_byte (&(ieee->h)))
+	    return FALSE;
 	  PUSH (NOSYMBOL, ieee->section_table[must_parse_int (&(ieee->h))], 0);
 	  break;
+
 	case ieee_variable_R_enum:
 	  /* R variable, logical address of section module.  */
 	  /* FIXME, this should be different to L.  */
-	  next_byte (&(ieee->h));
+	  if (! next_byte (&(ieee->h)))
+	    return FALSE;
 	  PUSH (NOSYMBOL, ieee->section_table[must_parse_int (&(ieee->h))], 0);
 	  break;
+
 	case ieee_variable_S_enum:
 	  /* S variable, size in MAUS of section module.  */
-	  next_byte (&(ieee->h));
+	  if (! next_byte (&(ieee->h)))
+	    return FALSE;
 	  PUSH (NOSYMBOL,
 		0,
 		ieee->section_table[must_parse_int (&(ieee->h))]->size);
 	  break;
+
 	case ieee_variable_I_enum:
 	  /* Push the address of variable n.  */
 	  {
 	    ieee_symbol_index_type sy;
 
-	    next_byte (&(ieee->h));
+	    if (! next_byte (&(ieee->h)))
+	      return FALSE;
 	    sy.index = (int) must_parse_int (&(ieee->h));
 	    sy.letter = 'I';
 
 	    PUSH (sy, bfd_abs_section_ptr, 0);
 	  }
 	  break;
+
 	case ieee_variable_X_enum:
 	  /* Push the address of external variable n.  */
 	  {
 	    ieee_symbol_index_type sy;
 
-	    next_byte (&(ieee->h));
+	    if (! next_byte (&(ieee->h)))
+	      return FALSE;
+
 	    sy.index = (int) (must_parse_int (&(ieee->h)));
 	    sy.letter = 'X';
 
 	    PUSH (sy, bfd_und_section_ptr, 0);
 	  }
 	  break;
+
 	case ieee_function_minus_enum:
 	  {
 	    bfd_vma value1, value2;
 	    asection *section1, *section_dummy;
 	    ieee_symbol_index_type sy;
 
-	    next_byte (&(ieee->h));
+	    if (! next_byte (&(ieee->h)))
+	      return FALSE;
 
 	    POP (sy, section1, value1);
 	    POP (sy, section_dummy, value2);
 	    PUSH (sy, section1 ? section1 : section_dummy, value2 - value1);
 	  }
 	  break;
+
 	case ieee_function_plus_enum:
 	  {
 	    bfd_vma value1, value2;
@@ -599,7 +621,8 @@ parse_expression (ieee_data_type *ieee,
 	    ieee_symbol_index_type sy1;
 	    ieee_symbol_index_type sy2;
 
-	    next_byte (&(ieee->h));
+	    if (! next_byte (&(ieee->h)))
+	      return FALSE;
 
 	    POP (sy1, section1, value1);
 	    POP (sy2, section2, value2);
@@ -608,6 +631,7 @@ parse_expression (ieee_data_type *ieee,
 		  value1 + value2);
 	  }
 	  break;
+
 	default:
 	  {
 	    bfd_vma va;
@@ -644,17 +668,9 @@ parse_expression (ieee_data_type *ieee,
   POP (*symbol, dummy, *value);
   if (section)
     *section = dummy;
-}
-
 
-#define ieee_seek(ieee, offset) \
-  do								\
-    {								\
-      ieee->h.input_p = ieee->h.first_byte + offset;		\
-      ieee->h.last_byte = (ieee->h.first_byte			\
-			   + ieee_part_after (ieee, offset));	\
-    }								\
-  while (0)
+  return TRUE;
+}
 
 #define ieee_pos(ieee) \
   (ieee->h.input_p - ieee->h.first_byte)
@@ -676,6 +692,22 @@ ieee_part_after (ieee_data_type *ieee, f
   return after;
 }
 
+static bfd_boolean
+ieee_seek (ieee_data_type * ieee, file_ptr offset)
+{
+  /* PR 17512: file:  017-1157-0.004.  */
+  if (offset < 0 || (bfd_size_type) offset >= ieee->h.total_amt)
+    {
+      ieee->h.input_p = ieee->h.first_byte + ieee->h.total_amt;
+      ieee->h.last_byte = ieee->h.input_p;
+      return FALSE;
+    }
+
+  ieee->h.input_p = ieee->h.first_byte + offset;
+  ieee->h.last_byte = (ieee->h.first_byte + ieee_part_after (ieee, offset));
+  return TRUE;
+}
+
 static unsigned int last_index;
 static char last_type;		/* Is the index for an X or a D.  */
 
@@ -730,14 +762,16 @@ ieee_slurp_external_symbols (bfd *abfd)
   last_index = 0xffffff;
   ieee->symbol_table_full = TRUE;
 
-  ieee_seek (ieee, offset);
+  if (! ieee_seek (ieee, offset))
+    return FALSE;
 
   while (loop)
     {
       switch (this_byte (&(ieee->h)))
 	{
 	case ieee_nn_record:
-	  next_byte (&(ieee->h));
+	  if (! next_byte (&(ieee->h)))
+	    return FALSE;
 
 	  symbol = get_symbol (abfd, ieee, symbol, &symbol_count,
 			       & prev_symbols_ptr,
@@ -750,8 +784,10 @@ ieee_slurp_external_symbols (bfd *abfd)
 	  symbol->symbol.udata.p = NULL;
 	  symbol->symbol.flags = BSF_NO_FLAGS;
 	  break;
+
 	case ieee_external_symbol_enum:
-	  next_byte (&(ieee->h));
+	  if (! next_byte (&(ieee->h)))
+	    return FALSE;
 
 	  symbol = get_symbol (abfd, ieee, symbol, &symbol_count,
 			       &prev_symbols_ptr,
@@ -842,6 +878,7 @@ ieee_slurp_external_symbols (bfd *abfd)
 	      }
 	  }
 	  break;
+
 	case ieee_value_record_enum >> 8:
 	  {
 	    unsigned int symbol_name_index;
@@ -849,17 +886,20 @@ ieee_slurp_external_symbols (bfd *abfd)
 	    bfd_boolean pcrel_ignore;
 	    unsigned int extra;
 
-	    next_byte (&(ieee->h));
-	    next_byte (&(ieee->h));
+	    if (! next_byte (&(ieee->h)))
+	      return FALSE;
+	    if (! next_byte (&(ieee->h)))
+	      return FALSE;
 
 	    symbol_name_index = must_parse_int (&(ieee->h));
 	    (void) symbol_name_index;
-	    parse_expression (ieee,
-			      &symbol->symbol.value,
-			      &symbol_ignore,
-			      &pcrel_ignore,
-			      &extra,
-			      &symbol->symbol.section);
+	    if (! parse_expression (ieee,
+				    &symbol->symbol.value,
+				    &symbol_ignore,
+				    &pcrel_ignore,
+				    &extra,
+				    &symbol->symbol.section))
+	      return FALSE;
 
 	    /* Fully linked IEEE-695 files tend to give every symbol
                an absolute value.  Try to convert that back into a
@@ -892,7 +932,9 @@ ieee_slurp_external_symbols (bfd *abfd)
 	    bfd_vma size;
 	    bfd_vma value;
 
-	    next_byte (&(ieee->h));
+	    if (! next_byte (&(ieee->h)))
+	      return FALSE;
+
 	    /* Throw away the external reference index.  */
 	    (void) must_parse_int (&(ieee->h));
 	    /* Fetch the default size if not resolved.  */
@@ -907,7 +949,8 @@ ieee_slurp_external_symbols (bfd *abfd)
 	  break;
 
 	case ieee_external_reference_enum:
-	  next_byte (&(ieee->h));
+	  if (! next_byte (&(ieee->h)))
+	    return FALSE;
 
 	  symbol = get_symbol (abfd, ieee, symbol, &symbol_count,
 			       &prev_reference_ptr,
@@ -1092,7 +1135,7 @@ get_section_entry (bfd *abfd, ieee_data_
   return ieee->section_table[sindex];
 }
 
-static void
+static bfd_boolean
 ieee_slurp_sections (bfd *abfd)
 {
   ieee_data_type *ieee = IEEE_DATA (abfd);
@@ -1103,7 +1146,9 @@ ieee_slurp_sections (bfd *abfd)
     {
       bfd_byte section_type[3];
 
-      ieee_seek (ieee, offset);
+      if (! ieee_seek (ieee, offset))
+	return FALSE;
+
       while (TRUE)
 	{
 	  switch (this_byte (&(ieee->h)))
@@ -1113,7 +1158,8 @@ ieee_slurp_sections (bfd *abfd)
 		asection *section;
 		unsigned int section_index;
 
-		next_byte (&(ieee->h));
+		if (! next_byte (&(ieee->h)))
+		  return FALSE;
 		section_index = must_parse_int (&(ieee->h));
 
 		section = get_section_entry (abfd, ieee, section_index);
@@ -1132,22 +1178,26 @@ ieee_slurp_sections (bfd *abfd)
 		      {
 			/* AS Absolute section attributes.  */
 		      case 0xD3:
-			next_byte (&(ieee->h));
+			if (! next_byte (&(ieee->h)))
+			  return FALSE;
 			section_type[2] = this_byte (&(ieee->h));
 			switch (section_type[2])
 			  {
 			  case 0xD0:
 			    /* Normal code.  */
-			    next_byte (&(ieee->h));
+			    if (! next_byte (&(ieee->h)))
+			      return FALSE;
 			    section->flags |= SEC_CODE;
 			    break;
 			  case 0xC4:
 			    /* Normal data.  */
-			    next_byte (&(ieee->h));
+			    if (! next_byte (&(ieee->h)))
+			      return FALSE;
 			    section->flags |= SEC_DATA;
 			    break;
 			  case 0xD2:
-			    next_byte (&(ieee->h));
+			    if (! next_byte (&(ieee->h)))
+			      return FALSE;
 			    /* Normal rom data.  */
 			    section->flags |= SEC_ROM | SEC_DATA;
 			    break;
@@ -1164,15 +1214,18 @@ ieee_slurp_sections (bfd *abfd)
 		    switch (section_type[1])
 		      {
 		      case 0xD0:	/* Normal code (CP).  */
-			next_byte (&(ieee->h));
+			if (! next_byte (&(ieee->h)))
+			  return FALSE;
 			section->flags |= SEC_CODE;
 			break;
 		      case 0xC4:	/* Normal data (CD).  */
-			next_byte (&(ieee->h));
+			if (! next_byte (&(ieee->h)))
+			  return FALSE;
 			section->flags |= SEC_DATA;
 			break;
 		      case 0xD2:	/* Normal rom data (CR).  */
-			next_byte (&(ieee->h));
+			if (! next_byte (&(ieee->h)))
+			  return FALSE;
 			section->flags |= SEC_ROM | SEC_DATA;
 			break;
 		      default:
@@ -1201,7 +1254,8 @@ ieee_slurp_sections (bfd *abfd)
 		bfd_vma value;
 		asection *section;
 
-		next_byte (&(ieee->h));
+		if (! next_byte (&(ieee->h)))
+		  return FALSE;
 		section_index = must_parse_int (&ieee->h);
 		section = get_section_entry (abfd, ieee, section_index);
 		if (section_index > ieee->section_count)
@@ -1251,15 +1305,17 @@ ieee_slurp_sections (bfd *abfd)
 		    (void) must_parse_int (&(ieee->h));
 		    break;
 		  default:
-		    return;
+		    return TRUE;
 		  }
 	      }
 	      break;
 	    default:
-	      return;
+	      return TRUE;
 	    }
 	}
     }
+
+  return TRUE;
 }
 
 /* Make a section for the debugging information, if any.  We don't try
@@ -1312,7 +1368,8 @@ ieee_archive_p (bfd *abfd)
 
   /* Ignore the return value here.  It doesn't matter if we don't read
      the entire buffer.  We might have a very small ieee file.  */
-  bfd_bread ((void *) buffer, (bfd_size_type) sizeof (buffer), abfd);
+  if (bfd_bread ((void *) buffer, (bfd_size_type) sizeof (buffer), abfd) <= 0)
+    goto got_wrong_format_error;
 
   ieee->h.first_byte = buffer;
   ieee->h.input_p = buffer;
@@ -1322,7 +1379,8 @@ ieee_archive_p (bfd *abfd)
   if (this_byte (&(ieee->h)) != Module_Beginning)
     goto got_wrong_format_error;
 
-  next_byte (&(ieee->h));
+  (void) next_byte (&(ieee->h));
+
   library = read_id (&(ieee->h));
   if (strcmp (library, "LIBRARY") != 0)
     goto got_wrong_format_error;
@@ -1333,7 +1391,7 @@ ieee_archive_p (bfd *abfd)
   ieee->element_count = 0;
   ieee->element_index = 0;
 
-  next_byte (&(ieee->h));	/* Drop the ad part.  */
+  (void) next_byte (&(ieee->h));	/* Drop the ad part.  */
   must_parse_int (&(ieee->h));	/* And the two dummy numbers.  */
   must_parse_int (&(ieee->h));
 
@@ -1406,8 +1464,9 @@ ieee_archive_p (bfd *abfd)
       ieee->h.first_byte = buffer;
       ieee->h.input_p = buffer;
 
-      next_byte (&(ieee->h));		/* Drop F8.  */
-      next_byte (&(ieee->h));		/* Drop 14.  */
+      (void) next_byte (&(ieee->h));	/* Drop F8.  */
+      if (! next_byte (&(ieee->h)))	/* Drop 14.  */
+	goto error_return;
       must_parse_int (&(ieee->h));	/* Drop size of block.  */
 
       if (must_parse_int (&(ieee->h)) != 0)
@@ -1466,7 +1525,8 @@ do_one (ieee_data_type *ieee,
 	unsigned int number_of_maus;
 	unsigned int i;
 
-	next_byte (&(ieee->h));
+	if (! next_byte (&(ieee->h)))
+	  return FALSE;
 	number_of_maus = must_parse_int (&(ieee->h));
 
 	for (i = 0; i < number_of_maus; i++)
@@ -1481,7 +1541,8 @@ do_one (ieee_data_type *ieee,
       {
 	bfd_boolean loop = TRUE;
 
-	next_byte (&(ieee->h));
+	if (! next_byte (&(ieee->h)))
+	  return FALSE;
 	while (loop)
 	  {
 	    switch (this_byte (&(ieee->h)))
@@ -1504,13 +1565,16 @@ do_one (ieee_data_type *ieee,
 		  *(current_map->reloc_tail_ptr) = r;
 		  current_map->reloc_tail_ptr = &r->next;
 		  r->next = (ieee_reloc_type *) NULL;
-		  next_byte (&(ieee->h));
-/*			    abort();*/
+		  if (! next_byte (&(ieee->h)))
+		    return FALSE;
+
 		  r->relent.sym_ptr_ptr = 0;
-		  parse_expression (ieee,
-				    &r->relent.addend,
-				    &r->symbol,
-				    &pcrel, &extra, &section);
+		  if (! parse_expression (ieee,
+					  &r->relent.addend,
+					  &r->symbol,
+					  &pcrel, &extra, &section))
+		    return FALSE;
+
 		  r->relent.address = current_map->pc;
 		  s->flags |= SEC_RELOC;
 		  s->owner->flags |= HAS_RELOC;
@@ -1520,7 +1584,8 @@ do_one (ieee_data_type *ieee,
 
 		  if (this_byte (&(ieee->h)) == (int) ieee_comma)
 		    {
-		      next_byte (&(ieee->h));
+		      if (! next_byte (&(ieee->h)))
+			return FALSE;
 		      /* Fetch number of bytes to pad.  */
 		      extra = must_parse_int (&(ieee->h));
 		    };
@@ -1528,13 +1593,16 @@ do_one (ieee_data_type *ieee,
 		  switch (this_byte (&(ieee->h)))
 		    {
 		    case ieee_function_signed_close_b_enum:
-		      next_byte (&(ieee->h));
+		      if (! next_byte (&(ieee->h)))
+			return FALSE;
 		      break;
 		    case ieee_function_unsigned_close_b_enum:
-		      next_byte (&(ieee->h));
+		      if (! next_byte (&(ieee->h)))
+			return FALSE;
 		      break;
 		    case ieee_function_either_close_b_enum:
-		      next_byte (&(ieee->h));
+		      if (! next_byte (&(ieee->h)))
+			return FALSE;
 		      break;
 		    default:
 		      break;
@@ -1633,7 +1701,8 @@ do_one (ieee_data_type *ieee,
 		      for (i = 0; i < this_size; i++)
 			{
 			  location_ptr[current_map->pc++] = this_byte (&(ieee->h));
-			  next_byte (&(ieee->h));
+			  if (! next_byte (&(ieee->h)))
+			    return FALSE;
 			}
 		    }
 		  else
@@ -1666,7 +1735,9 @@ ieee_slurp_section_data (bfd *abfd)
   if (ieee->read_data)
     return TRUE;
   ieee->read_data = TRUE;
-  ieee_seek (ieee, ieee->w.r.data_part);
+
+  if (! ieee_seek (ieee, ieee->w.r.data_part))
+    return FALSE;
 
   /* Allocate enough space for all the section contents.  */
   for (s = abfd->sections; s != (asection *) NULL; s = s->next)
@@ -1692,7 +1763,8 @@ ieee_slurp_section_data (bfd *abfd)
 	  return TRUE;
 
 	case ieee_set_current_section_enum:
-	  next_byte (&(ieee->h));
+	  if (! next_byte (&(ieee->h)))
+	    return FALSE;
 	  section_number = must_parse_int (&(ieee->h));
 	  s = ieee->section_table[section_number];
 	  s->flags |= SEC_LOAD | SEC_HAS_CONTENTS;
@@ -1705,7 +1777,8 @@ ieee_slurp_section_data (bfd *abfd)
 	  break;
 
 	case ieee_e2_first_byte_enum:
-	  next_byte (&(ieee->h));
+	  if (! next_byte (&(ieee->h)))
+	    return FALSE;
 	  switch (this_byte (&(ieee->h)))
 	    {
 	    case ieee_set_current_pc_enum & 0xff:
@@ -1715,21 +1788,28 @@ ieee_slurp_section_data (bfd *abfd)
 		unsigned int extra;
 		bfd_boolean pcrel;
 
-		next_byte (&(ieee->h));
+		if (! next_byte (&(ieee->h)))
+		  return FALSE;
 		must_parse_int (&(ieee->h));	/* Throw away section #.  */
-		parse_expression (ieee, &value,
-				  &symbol,
-				  &pcrel, &extra,
-				  0);
+		if (! parse_expression (ieee, &value,
+					&symbol,
+					&pcrel, &extra,
+					0))
+		  return FALSE;
+
 		current_map->pc = value;
 		BFD_ASSERT ((unsigned) (value - s->vma) <= s->size);
 	      }
 	      break;
 
 	    case ieee_value_starting_address_enum & 0xff:
-	      next_byte (&(ieee->h));
+	      if (! next_byte (&(ieee->h)))
+		return FALSE;
 	      if (this_byte (&(ieee->h)) == ieee_function_either_open_b_enum)
-		next_byte (&(ieee->h));
+		{
+		  if (! next_byte (&(ieee->h)))
+		    return FALSE;
+		}
 	      abfd->start_address = must_parse_int (&(ieee->h));
 	      /* We've got to the end of the data now -  */
 	      return TRUE;
@@ -1747,7 +1827,8 @@ ieee_slurp_section_data (bfd *abfd)
 	    unsigned int iterations;
 	    unsigned char *start;
 
-	    next_byte (&(ieee->h));
+	    if (! next_byte (&(ieee->h)))
+	      return FALSE;
 	    iterations = must_parse_int (&(ieee->h));
 	    start = ieee->h.input_p;
 	    if (start[0] == (int) ieee_load_constant_bytes_enum
@@ -1758,9 +1839,10 @@ ieee_slurp_section_data (bfd *abfd)
 		    location_ptr[current_map->pc++] = start[2];
 		    iterations--;
 		  }
-		next_byte (&(ieee->h));
-		next_byte (&(ieee->h));
-		next_byte (&(ieee->h));
+		(void) next_byte (&(ieee->h));
+		(void) next_byte (&(ieee->h));
+		if (! next_byte (&(ieee->h)))
+		  return FALSE;
 	      }
 	    else
 	      {
@@ -1801,9 +1883,11 @@ ieee_object_p (bfd *abfd)
     goto fail;
   /* Read the first few bytes in to see if it makes sense.  Ignore
      bfd_bread return value;  The file might be very small.  */
-  bfd_bread ((void *) buffer, (bfd_size_type) sizeof (buffer), abfd);
+  if (bfd_bread ((void *) buffer, (bfd_size_type) sizeof (buffer), abfd) <= 0)
+    goto got_wrong_format;
 
   ieee->h.input_p = buffer;
+  ieee->h.total_amt = sizeof (buffer);
   if (this_byte_and_next (&(ieee->h)) != Module_Beginning)
     goto got_wrong_format;
 
@@ -1899,7 +1983,8 @@ ieee_object_p (bfd *abfd)
   if (this_byte (&(ieee->h)) != (int) ieee_address_descriptor_enum)
     goto fail;
 
-  next_byte (&(ieee->h));
+  if (! next_byte (&(ieee->h)))
+    goto fail;
 
   if (! parse_int (&(ieee->h), &ieee->ad.number_of_bits_mau))
     goto fail;
@@ -1910,7 +1995,10 @@ ieee_object_p (bfd *abfd)
   /* If there is a byte order info, take it.  */
   if (this_byte (&(ieee->h)) == (int) ieee_variable_L_enum
       || this_byte (&(ieee->h)) == (int) ieee_variable_M_enum)
-    next_byte (&(ieee->h));
+    {
+      if (! next_byte (&(ieee->h)))
+	goto fail;
+    }
 
   for (part = 0; part < N_W_VARIABLES; part++)
     {
@@ -1941,12 +2029,17 @@ ieee_object_p (bfd *abfd)
     goto fail;
   if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
     goto fail;
+
   /* FIXME: Check return value.  I'm not sure whether it needs to read
      the entire buffer or not.  */
-  bfd_bread ((void *) (IEEE_DATA (abfd)->h.first_byte),
-	    (bfd_size_type) ieee->w.r.me_record + 1, abfd);
+  amt = bfd_bread ((void *) (IEEE_DATA (abfd)->h.first_byte),
+		   (bfd_size_type) ieee->w.r.me_record + 1, abfd);
+  if (amt <= 0)
+    goto fail;
 
-  ieee_slurp_sections (abfd);
+  IEEE_DATA (abfd)->h.total_amt = amt;
+  if (ieee_slurp_sections (abfd))
+    goto fail;
 
   if (! ieee_slurp_debug (abfd))
     goto fail;
@@ -3675,26 +3768,9 @@ ieee_openr_next_archived_file (bfd *arch
     }
 }
 
-static bfd_boolean
-ieee_find_nearest_line (bfd *abfd ATTRIBUTE_UNUSED,
-			asection *section ATTRIBUTE_UNUSED,
-			asymbol **symbols ATTRIBUTE_UNUSED,
-			bfd_vma offset ATTRIBUTE_UNUSED,
-			const char **filename_ptr ATTRIBUTE_UNUSED,
-			const char **functionname_ptr ATTRIBUTE_UNUSED,
-			unsigned int *line_ptr ATTRIBUTE_UNUSED)
-{
-  return FALSE;
-}
-
-static bfd_boolean
-ieee_find_inliner_info (bfd *abfd ATTRIBUTE_UNUSED,
-			const char **filename_ptr ATTRIBUTE_UNUSED,
-			const char **functionname_ptr ATTRIBUTE_UNUSED,
-			unsigned int *line_ptr ATTRIBUTE_UNUSED)
-{
-  return FALSE;
-}
+#define ieee_find_nearest_line _bfd_nosymbols_find_nearest_line
+#define ieee_find_line         _bfd_nosymbols_find_line
+#define ieee_find_inliner_info _bfd_nosymbols_find_inliner_info
 
 static int
 ieee_generic_stat_arch_elt (bfd *abfd, struct stat *buf)
@@ -3752,6 +3828,8 @@ ieee_sizeof_headers (bfd *abfd ATTRIBUTE
 #define ieee_update_armap_timestamp bfd_true
 #define ieee_get_elt_at_index _bfd_generic_get_elt_at_index
 
+#define ieee_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
 #define ieee_bfd_is_target_special_symbol  \
   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 #define ieee_bfd_is_local_label_name bfd_generic_is_local_label_name
@@ -3779,7 +3857,6 @@ ieee_sizeof_headers (bfd *abfd ATTRIBUTE
   _bfd_generic_section_already_linked
 #define ieee_bfd_define_common_symbol bfd_generic_define_common_symbol
 #define ieee_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define ieee_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
 #define ieee_bfd_link_add_symbols _bfd_generic_link_add_symbols
 #define ieee_bfd_link_just_syms _bfd_generic_link_just_syms
 #define ieee_bfd_copy_link_hash_symbol_type \
@@ -3857,7 +3934,6 @@ const bfd_target ieee_vec =
 
   /* ieee_sizeof_headers, ieee_bfd_get_relocated_section_contents,
      ieee_bfd_relax_section, ieee_bfd_link_hash_table_create,
-     _bfd_generic_link_hash_table_free,
      ieee_bfd_link_add_symbols, ieee_bfd_final_link,
      ieee_bfd_link_split_section, ieee_bfd_gc_sections,
      ieee_bfd_merge_sections.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ihex.c ./bfd/ihex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ihex.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ihex.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel Hex objects.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor of Cygnus Support <ian@cygnus.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -321,7 +321,7 @@ ihex_scan (bfd *abfd)
 	    {
 	      if (! ISHEX (buf[i]))
 		{
-		  ihex_bad_byte (abfd, lineno, hdr[i], error);
+		  ihex_bad_byte (abfd, lineno, buf[i], error);
 		  goto error_return;
 		}
 	    }
@@ -918,10 +918,12 @@ ihex_sizeof_headers (bfd *abfd ATTRIBUTE
 #define ihex_make_empty_symbol                    _bfd_generic_make_empty_symbol
 #define ihex_print_symbol                         _bfd_nosymbols_print_symbol
 #define ihex_get_symbol_info                      _bfd_nosymbols_get_symbol_info
+#define ihex_get_symbol_version_string		  _bfd_nosymbols_get_symbol_version_string
 #define ihex_bfd_is_target_special_symbol         ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 #define ihex_bfd_is_local_label_name              _bfd_nosymbols_bfd_is_local_label_name
 #define ihex_get_lineno                           _bfd_nosymbols_get_lineno
 #define ihex_find_nearest_line                    _bfd_nosymbols_find_nearest_line
+#define ihex_find_line                            _bfd_nosymbols_find_line
 #define ihex_find_inliner_info                    _bfd_nosymbols_find_inliner_info
 #define ihex_bfd_make_debug_symbol                _bfd_nosymbols_bfd_make_debug_symbol
 #define ihex_read_minisymbols                     _bfd_nosymbols_read_minisymbols
@@ -936,7 +938,6 @@ ihex_sizeof_headers (bfd *abfd ATTRIBUTE
 #define ihex_section_already_linked               _bfd_generic_section_already_linked
 #define ihex_bfd_define_common_symbol             bfd_generic_define_common_symbol
 #define ihex_bfd_link_hash_table_create           _bfd_generic_link_hash_table_create
-#define ihex_bfd_link_hash_table_free             _bfd_generic_link_hash_table_free
 #define ihex_bfd_link_add_symbols                 _bfd_generic_link_add_symbols
 #define ihex_bfd_link_just_syms                   _bfd_generic_link_just_syms
 #define ihex_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/init.c ./bfd/init.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/init.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/init.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfd initialization stuff
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/irix-core.c ./bfd/irix-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/irix-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/irix-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Irix core files.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Stu Grossman, Cygnus Support.
    Converted to back-end form by Ian Lance Taylor, Cygnus Support
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libaout.h ./bfd/libaout.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libaout.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libaout.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end data structures for a.out (and similar) files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -551,8 +551,8 @@ extern void NAME (aout, get_symbol_info)
   (bfd *, asymbol *, symbol_info *);
 
 extern bfd_boolean NAME (aout, find_nearest_line)
-  (bfd *, asection *, asymbol **, bfd_vma, const char **,
-   const char **, unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *);
 
 extern long NAME (aout, read_minisymbols)
   (bfd *, bfd_boolean, void * *, unsigned int *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libbfd.c ./bfd/libbfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libbfd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libbfd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Assorted BFD support routines, only used internally.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -171,15 +171,18 @@ void *
 bfd_malloc (bfd_size_type size)
 {
   void *ptr;
+  size_t sz = (size_t) size;
 
-  if (size != (size_t) size)
+  if (size != sz
+      /* This is to pacify memory checkers like valgrind.  */
+      || ((signed long) sz) < 0)
     {
       bfd_set_error (bfd_error_no_memory);
       return NULL;
     }
 
-  ptr = malloc ((size_t) size);
-  if (ptr == NULL && (size_t) size != 0)
+  ptr = malloc (sz);
+  if (ptr == NULL && sz != 0)
     bfd_set_error (bfd_error_no_memory);
 
   return ptr;
@@ -190,8 +193,6 @@ bfd_malloc (bfd_size_type size)
 void *
 bfd_malloc2 (bfd_size_type nmemb, bfd_size_type size)
 {
-  void *ptr;
-
   if ((nmemb | size) >= HALF_BFD_SIZE_TYPE
       && size != 0
       && nmemb > ~(bfd_size_type) 0 / size)
@@ -200,19 +201,7 @@ bfd_malloc2 (bfd_size_type nmemb, bfd_si
       return NULL;
     }
 
-  size *= nmemb;
-
-  if (size != (size_t) size)
-    {
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
-
-  ptr = malloc ((size_t) size);
-  if (ptr == NULL && (size_t) size != 0)
-    bfd_set_error (bfd_error_no_memory);
-
-  return ptr;
+  return bfd_malloc (size * nmemb);
 }
 
 /* Reallocate memory using realloc.  */
@@ -221,19 +210,22 @@ void *
 bfd_realloc (void *ptr, bfd_size_type size)
 {
   void *ret;
+  size_t sz = (size_t) size;
 
-  if (size != (size_t) size)
+  if (ptr == NULL)
+    return bfd_malloc (size);
+
+  if (size != sz
+      /* This is to pacify memory checkers like valgrind.  */
+      || ((signed long) sz) < 0)
     {
       bfd_set_error (bfd_error_no_memory);
       return NULL;
     }
 
-  if (ptr == NULL)
-    ret = malloc ((size_t) size);
-  else
-    ret = realloc (ptr, (size_t) size);
+  ret = realloc (ptr, sz);
 
-  if (ret == NULL && (size_t) size != 0)
+  if (ret == NULL && sz != 0)
     bfd_set_error (bfd_error_no_memory);
 
   return ret;
@@ -244,8 +236,6 @@ bfd_realloc (void *ptr, bfd_size_type si
 void *
 bfd_realloc2 (void *ptr, bfd_size_type nmemb, bfd_size_type size)
 {
-  void *ret;
-
   if ((nmemb | size) >= HALF_BFD_SIZE_TYPE
       && size != 0
       && nmemb > ~(bfd_size_type) 0 / size)
@@ -254,23 +244,7 @@ bfd_realloc2 (void *ptr, bfd_size_type n
       return NULL;
     }
 
-  size *= nmemb;
-
-  if (size != (size_t) size)
-    {
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
-
-  if (ptr == NULL)
-    ret = malloc ((size_t) size);
-  else
-    ret = realloc (ptr, (size_t) size);
-
-  if (ret == NULL && (size_t) size != 0)
-    bfd_set_error (bfd_error_no_memory);
-
-  return ret;
+  return bfd_realloc (ptr, size * nmemb);
 }
 
 /* Reallocate memory using realloc.
@@ -279,24 +253,10 @@ bfd_realloc2 (void *ptr, bfd_size_type n
 void *
 bfd_realloc_or_free (void *ptr, bfd_size_type size)
 {
-  size_t amount = (size_t) size;
-  void *ret;
+  void *ret = bfd_realloc (ptr, size);
 
-  if (size != amount)
-    ret = NULL;
-  else if (ptr == NULL)
-    ret = malloc (amount);
-  else
-    ret = realloc (ptr, amount);
-
-  if (ret == NULL)
-    {
-      if (amount > 0)
-	bfd_set_error (bfd_error_no_memory);
-
-      if (ptr != NULL)
-	free (ptr);
-    }
+  if (ret == NULL && ptr != NULL)
+    free (ptr);
 
   return ret;
 }
@@ -306,23 +266,10 @@ bfd_realloc_or_free (void *ptr, bfd_size
 void *
 bfd_zmalloc (bfd_size_type size)
 {
-  void *ptr;
-
-  if (size != (size_t) size)
-    {
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
+  void *ptr = bfd_malloc (size);
 
-  ptr = malloc ((size_t) size);
-
-  if ((size_t) size != 0)
-    {
-      if (ptr == NULL)
-	bfd_set_error (bfd_error_no_memory);
-      else
-	memset (ptr, 0, (size_t) size);
-    }
+  if (ptr != NULL && size > 0)
+    memset (ptr, 0, (size_t) size);
 
   return ptr;
 }
@@ -333,32 +280,14 @@ bfd_zmalloc (bfd_size_type size)
 void *
 bfd_zmalloc2 (bfd_size_type nmemb, bfd_size_type size)
 {
-  void *ptr;
-
-  if ((nmemb | size) >= HALF_BFD_SIZE_TYPE
-      && size != 0
-      && nmemb > ~(bfd_size_type) 0 / size)
-    {
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
+  void *ptr = bfd_malloc2 (nmemb, size);
 
-  size *= nmemb;
-
-  if (size != (size_t) size)
+  if (ptr != NULL)
     {
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
-
-  ptr = malloc ((size_t) size);
+      size_t sz = nmemb * size;
 
-  if ((size_t) size != 0)
-    {
-      if (ptr == NULL)
-	bfd_set_error (bfd_error_no_memory);
-      else
-	memset (ptr, 0, (size_t) size);
+      if (sz > 0)
+	memset (ptr, 0, sz);
     }
 
   return ptr;
@@ -548,11 +477,10 @@ DESCRIPTION
 .*/
 
 /* Sign extension to bfd_signed_vma.  */
-#define COERCE16(x) (((bfd_signed_vma) (x) ^ 0x8000) - 0x8000)
-#define COERCE32(x) (((bfd_signed_vma) (x) ^ 0x80000000) - 0x80000000)
-#define EIGHT_GAZILLION ((bfd_int64_t) 1 << 63)
+#define COERCE16(x) (((bfd_vma) (x) ^ 0x8000) - 0x8000)
+#define COERCE32(x) (((bfd_vma) (x) ^ 0x80000000) - 0x80000000)
 #define COERCE64(x) \
-  (((bfd_int64_t) (x) ^ EIGHT_GAZILLION) - EIGHT_GAZILLION)
+  (((bfd_uint64_t) (x) ^ ((bfd_uint64_t) 1 << 63)) - ((bfd_uint64_t) 1 << 63))
 
 bfd_vma
 bfd_getb16 (const void *p)
@@ -1075,6 +1003,45 @@ read_unsigned_leb128 (bfd *abfd ATTRIBUT
   return result;
 }
 
+/* Read in a LEB128 encoded value from ABFD starting at DATA.
+   If SIGN is true, return a signed LEB128 value.
+   If LENGTH_RETURN is not NULL, return in it the number of bytes read.
+   No bytes will be read at address END or beyond.  */
+
+bfd_vma
+safe_read_leb128 (bfd *abfd ATTRIBUTE_UNUSED,
+		  bfd_byte *data,
+		  unsigned int *length_return,
+		  bfd_boolean sign,
+		  const bfd_byte * const end)
+{
+  bfd_vma result = 0;
+  unsigned int num_read = 0;
+  unsigned int shift = 0;
+  unsigned char byte = 0;
+
+  while (data < end)
+    {
+      byte = bfd_get_8 (abfd, data);
+      data++;
+      num_read++;
+
+      result |= ((bfd_vma) (byte & 0x7f)) << shift;
+
+      shift += 7;
+      if ((byte & 0x80) == 0)
+	break;
+    }
+
+  if (length_return != NULL)
+    *length_return = num_read;
+
+  if (sign && (shift < 8 * sizeof (result)) && (byte & 0x40))
+    result |= (bfd_vma) -1 << shift;
+
+  return result;
+}
+
 /* Helper function for reading sleb128 encoded data.  */
 
 bfd_signed_vma
@@ -1106,29 +1073,6 @@ read_signed_leb128 (bfd *abfd ATTRIBUTE_
 }
 
 bfd_boolean
-_bfd_generic_find_line (bfd *abfd ATTRIBUTE_UNUSED,
-		       asymbol **symbols ATTRIBUTE_UNUSED,
-		       asymbol *symbol ATTRIBUTE_UNUSED,
-		       const char **filename_ptr ATTRIBUTE_UNUSED,
-		       unsigned int *linenumber_ptr ATTRIBUTE_UNUSED)
-{
-  return FALSE;
-}
-
-bfd_boolean
-_bfd_generic_find_nearest_line_discriminator (bfd *abfd ATTRIBUTE_UNUSED,
-                                              asection *section ATTRIBUTE_UNUSED,
-                                              asymbol **symbols ATTRIBUTE_UNUSED,
-                                              bfd_vma offset ATTRIBUTE_UNUSED,
-                                              const char **filename_ptr ATTRIBUTE_UNUSED,
-                                              const char **functionname_ptr ATTRIBUTE_UNUSED,
-                                              unsigned int *line_ptr ATTRIBUTE_UNUSED,
-                                              unsigned int *discriminator_ptr ATTRIBUTE_UNUSED)
-{
-  return FALSE;
-}
-
-bfd_boolean
 _bfd_generic_init_private_section_data (bfd *ibfd ATTRIBUTE_UNUSED,
 					asection *isec ATTRIBUTE_UNUSED,
 					bfd *obfd ATTRIBUTE_UNUSED,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libbfd.h ./bfd/libbfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libbfd.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libbfd.h	2015-01-20 02:05:36.000000000 +0000
@@ -6,7 +6,7 @@
 /* libbfd.h -- Declarations used by bfd library *implementation*.
    (This include file is not for users of the library.)
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Written by Cygnus Support.
 
@@ -397,6 +397,8 @@ extern bfd_boolean _bfd_vms_lib_ia64_mka
   ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
 #define _bfd_nosymbols_get_symbol_info \
   ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
+#define _bfd_nosymbols_get_symbol_version_string \
+  ((const char *(*) (bfd *, asymbol *, bfd_boolean *)) bfd_nullvoidptr)
 #define _bfd_nosymbols_bfd_is_local_label_name \
   ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
 #define _bfd_nosymbols_bfd_is_target_special_symbol \
@@ -404,8 +406,13 @@ extern bfd_boolean _bfd_vms_lib_ia64_mka
 #define _bfd_nosymbols_get_lineno \
   ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
 #define _bfd_nosymbols_find_nearest_line \
-  ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \
-		     const char **, unsigned int *)) \
+  ((bfd_boolean (*) (bfd *, asymbol **, asection *, bfd_vma,		\
+		     const char **, const char **, unsigned int *,	\
+		     unsigned int *))					\
+   bfd_false)
+#define _bfd_nosymbols_find_line \
+  ((bfd_boolean (*) (bfd *, asymbol **, asymbol *,	\
+		     const char **, unsigned int *))	\
    bfd_false)
 #define _bfd_nosymbols_find_inliner_info \
   ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
@@ -476,8 +483,6 @@ extern bfd_boolean _bfd_generic_set_sect
    bfd_false)
 #define _bfd_nolink_bfd_link_hash_table_create \
   ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
-#define _bfd_nolink_bfd_link_hash_table_free \
-  ((void (*) (struct bfd_link_hash_table *)) bfd_void)
 #define _bfd_nolink_bfd_link_add_symbols \
   ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
 #define _bfd_nolink_bfd_link_just_syms \
@@ -527,8 +532,8 @@ extern bfd_boolean _bfd_stab_section_fin
 
 /* Find the nearest line using DWARF 1 debugging information.  */
 extern bfd_boolean _bfd_dwarf1_find_nearest_line
-  (bfd *, asection *, asymbol **, bfd_vma, const char **,
-   const char **, unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *);
 
 struct dwarf_debug_section
 {
@@ -543,21 +548,9 @@ extern const struct dwarf_debug_section 
 
 /* Find the nearest line using DWARF 2 debugging information.  */
 extern bfd_boolean _bfd_dwarf2_find_nearest_line
-  (bfd *, const struct dwarf_debug_section *, asection *, asymbol **, bfd_vma,
-   const char **, const char **, unsigned int *, unsigned int *, unsigned int,
-   void **);
-
-/* Find the line using DWARF 2 debugging information.  */
-extern bfd_boolean _bfd_dwarf2_find_line
-  (bfd *, asymbol **, asymbol *, const char **,
-   unsigned int *, unsigned int *, unsigned int, void **);
-
-bfd_boolean _bfd_generic_find_line
-  (bfd *, asymbol **, asymbol *, const char **, unsigned int *);
-
-bfd_boolean _bfd_generic_find_nearest_line_discriminator
-  (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
-   unsigned int *, unsigned int *);
+  (bfd *, asymbol **, asymbol *, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *,
+   const struct dwarf_debug_section *, unsigned int, void **);
 
 /* Find inliner info after calling bfd_find_nearest_line. */
 extern bfd_boolean _bfd_dwarf2_find_inliner_info
@@ -595,7 +588,7 @@ extern struct bfd_link_hash_table *_bfd_
 
 /* Generic link hash table destruction routine.  */
 extern void _bfd_generic_link_hash_table_free
-  (struct bfd_link_hash_table *);
+  (bfd *);
 
 /* Generic add symbol routine.  */
 extern bfd_boolean _bfd_generic_link_add_symbols
@@ -610,7 +603,9 @@ extern bfd_boolean _bfd_generic_link_add
 /* Generic archive add symbol routine.  */
 extern bfd_boolean _bfd_generic_link_add_archive_symbols
   (bfd *, struct bfd_link_info *,
-   bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
+   bfd_boolean (*) (bfd *, struct bfd_link_info *,
+		    struct bfd_link_hash_entry *, const char *,
+		    bfd_boolean *));
 
 /* Forward declaration to avoid prototype errors.  */
 typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
@@ -849,6 +844,8 @@ extern void bfd_section_already_linked_t
 
 extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
 extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
+extern bfd_vma safe_read_leb128 (bfd *, bfd_byte *, unsigned int *,
+				 bfd_boolean, const bfd_byte * const);
 /* Extracted from init.c.  */
 /* Extracted from libbfd.c.  */
 bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
@@ -1126,6 +1123,10 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_MICROMIPS_7_PCREL_S1",
   "BFD_RELOC_MICROMIPS_10_PCREL_S1",
   "BFD_RELOC_MICROMIPS_16_PCREL_S1",
+  "BFD_RELOC_MIPS_21_PCREL_S2",
+  "BFD_RELOC_MIPS_26_PCREL_S2",
+  "BFD_RELOC_MIPS_18_PCREL_S3",
+  "BFD_RELOC_MIPS_19_PCREL_S2",
   "BFD_RELOC_MICROMIPS_GPREL16",
   "BFD_RELOC_MICROMIPS_HI16",
   "BFD_RELOC_MICROMIPS_HI16_S",
@@ -1793,6 +1794,13 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_NDS32_15_FIXED",
   "BFD_RELOC_NDS32_17_FIXED",
   "BFD_RELOC_NDS32_25_FIXED",
+  "BFD_RELOC_NDS32_LONGCALL4",
+  "BFD_RELOC_NDS32_LONGCALL5",
+  "BFD_RELOC_NDS32_LONGCALL6",
+  "BFD_RELOC_NDS32_LONGJUMP4",
+  "BFD_RELOC_NDS32_LONGJUMP5",
+  "BFD_RELOC_NDS32_LONGJUMP6",
+  "BFD_RELOC_NDS32_LONGJUMP7",
   "BFD_RELOC_NDS32_PLTREL_HI20",
   "BFD_RELOC_NDS32_PLTREL_LO12",
   "BFD_RELOC_NDS32_PLT_GOTREL_HI20",
@@ -1834,11 +1842,25 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_NDS32_DIFF16",
   "BFD_RELOC_NDS32_DIFF32",
   "BFD_RELOC_NDS32_DIFF_ULEB128",
+  "BFD_RELOC_NDS32_EMPTY",
   "BFD_RELOC_NDS32_25_ABS",
   "BFD_RELOC_NDS32_DATA",
   "BFD_RELOC_NDS32_TRAN",
   "BFD_RELOC_NDS32_17IFC_PCREL",
   "BFD_RELOC_NDS32_10IFCU_PCREL",
+  "BFD_RELOC_NDS32_TPOFF",
+  "BFD_RELOC_NDS32_TLS_LE_HI20",
+  "BFD_RELOC_NDS32_TLS_LE_LO12",
+  "BFD_RELOC_NDS32_TLS_LE_ADD",
+  "BFD_RELOC_NDS32_TLS_LE_LS",
+  "BFD_RELOC_NDS32_GOTTPOFF",
+  "BFD_RELOC_NDS32_TLS_IE_HI20",
+  "BFD_RELOC_NDS32_TLS_IE_LO12S2",
+  "BFD_RELOC_NDS32_TLS_TPOFF",
+  "BFD_RELOC_NDS32_TLS_LE_20",
+  "BFD_RELOC_NDS32_TLS_LE_15S0",
+  "BFD_RELOC_NDS32_TLS_LE_15S1",
+  "BFD_RELOC_NDS32_TLS_LE_15S2",
   "BFD_RELOC_V850_9_PCREL",
   "BFD_RELOC_V850_22_PCREL",
   "BFD_RELOC_V850_SDA_16_16_OFFSET",
@@ -2043,6 +2065,9 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_AVR_DIFF8",
   "BFD_RELOC_AVR_DIFF16",
   "BFD_RELOC_AVR_DIFF32",
+  "BFD_RELOC_AVR_LDS_STS_16",
+  "BFD_RELOC_AVR_PORT6",
+  "BFD_RELOC_AVR_PORT5",
   "BFD_RELOC_RL78_NEG8",
   "BFD_RELOC_RL78_NEG16",
   "BFD_RELOC_RL78_NEG24",
@@ -2932,6 +2957,13 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_EPIPHANY_SIMM11",
   "BFD_RELOC_EPIPHANY_IMM11",
   "BFD_RELOC_EPIPHANY_IMM8",
+  "BFD_RELOC_VISIUM_HI16",
+  "BFD_RELOC_VISIUM_LO16",
+  "BFD_RELOC_VISIUM_IM16",
+  "BFD_RELOC_VISIUM_REL16",
+  "BFD_RELOC_VISIUM_HI16_PCREL",
+  "BFD_RELOC_VISIUM_LO16_PCREL",
+  "BFD_RELOC_VISIUM_IM16_PCREL",
  "@@overflow: BFD_RELOC_UNUSED@@",
 };
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libbfd-in.h ./bfd/libbfd-in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libbfd-in.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libbfd-in.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,7 +1,7 @@
 /* libbfd.h -- Declarations used by bfd library *implementation*.
    (This include file is not for users of the library.)
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Written by Cygnus Support.
 
@@ -392,6 +392,8 @@ extern bfd_boolean _bfd_vms_lib_ia64_mka
   ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
 #define _bfd_nosymbols_get_symbol_info \
   ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
+#define _bfd_nosymbols_get_symbol_version_string \
+  ((const char *(*) (bfd *, asymbol *, bfd_boolean *)) bfd_nullvoidptr)
 #define _bfd_nosymbols_bfd_is_local_label_name \
   ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
 #define _bfd_nosymbols_bfd_is_target_special_symbol \
@@ -399,8 +401,13 @@ extern bfd_boolean _bfd_vms_lib_ia64_mka
 #define _bfd_nosymbols_get_lineno \
   ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
 #define _bfd_nosymbols_find_nearest_line \
-  ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \
-		     const char **, unsigned int *)) \
+  ((bfd_boolean (*) (bfd *, asymbol **, asection *, bfd_vma,		\
+		     const char **, const char **, unsigned int *,	\
+		     unsigned int *))					\
+   bfd_false)
+#define _bfd_nosymbols_find_line \
+  ((bfd_boolean (*) (bfd *, asymbol **, asymbol *,	\
+		     const char **, unsigned int *))	\
    bfd_false)
 #define _bfd_nosymbols_find_inliner_info \
   ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
@@ -471,8 +478,6 @@ extern bfd_boolean _bfd_generic_set_sect
    bfd_false)
 #define _bfd_nolink_bfd_link_hash_table_create \
   ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
-#define _bfd_nolink_bfd_link_hash_table_free \
-  ((void (*) (struct bfd_link_hash_table *)) bfd_void)
 #define _bfd_nolink_bfd_link_add_symbols \
   ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
 #define _bfd_nolink_bfd_link_just_syms \
@@ -522,8 +527,8 @@ extern bfd_boolean _bfd_stab_section_fin
 
 /* Find the nearest line using DWARF 1 debugging information.  */
 extern bfd_boolean _bfd_dwarf1_find_nearest_line
-  (bfd *, asection *, asymbol **, bfd_vma, const char **,
-   const char **, unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *);
 
 struct dwarf_debug_section
 {
@@ -538,21 +543,9 @@ extern const struct dwarf_debug_section 
 
 /* Find the nearest line using DWARF 2 debugging information.  */
 extern bfd_boolean _bfd_dwarf2_find_nearest_line
-  (bfd *, const struct dwarf_debug_section *, asection *, asymbol **, bfd_vma,
-   const char **, const char **, unsigned int *, unsigned int *, unsigned int,
-   void **);
-
-/* Find the line using DWARF 2 debugging information.  */
-extern bfd_boolean _bfd_dwarf2_find_line
-  (bfd *, asymbol **, asymbol *, const char **,
-   unsigned int *, unsigned int *, unsigned int, void **);
-
-bfd_boolean _bfd_generic_find_line
-  (bfd *, asymbol **, asymbol *, const char **, unsigned int *);
-
-bfd_boolean _bfd_generic_find_nearest_line_discriminator
-  (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
-   unsigned int *, unsigned int *);
+  (bfd *, asymbol **, asymbol *, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *,
+   const struct dwarf_debug_section *, unsigned int, void **);
 
 /* Find inliner info after calling bfd_find_nearest_line. */
 extern bfd_boolean _bfd_dwarf2_find_inliner_info
@@ -590,7 +583,7 @@ extern struct bfd_link_hash_table *_bfd_
 
 /* Generic link hash table destruction routine.  */
 extern void _bfd_generic_link_hash_table_free
-  (struct bfd_link_hash_table *);
+  (bfd *);
 
 /* Generic add symbol routine.  */
 extern bfd_boolean _bfd_generic_link_add_symbols
@@ -605,7 +598,9 @@ extern bfd_boolean _bfd_generic_link_add
 /* Generic archive add symbol routine.  */
 extern bfd_boolean _bfd_generic_link_add_archive_symbols
   (bfd *, struct bfd_link_info *,
-   bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
+   bfd_boolean (*) (bfd *, struct bfd_link_info *,
+		    struct bfd_link_hash_entry *, const char *,
+		    bfd_boolean *));
 
 /* Forward declaration to avoid prototype errors.  */
 typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
@@ -844,3 +839,5 @@ extern void bfd_section_already_linked_t
 
 extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
 extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
+extern bfd_vma safe_read_leb128 (bfd *, bfd_byte *, unsigned int *,
+				 bfd_boolean, const bfd_byte * const);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libcoff.h ./bfd/libcoff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libcoff.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libcoff.h	2015-01-20 02:05:36.000000000 +0000
@@ -3,7 +3,7 @@
    Run "make headers" in your build bfd/ to regenerate.  */
 
 /* BFD COFF object file private structure.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -24,6 +24,7 @@
    MA 02110-1301, USA.  */
 
 #include "bfdlink.h"
+#include "coff-bfd.h"
 
 /* Object file tdata; access macros.  */
 
@@ -39,6 +40,7 @@
 #define obj_coff_external_syms(bfd)   (coff_data (bfd)->external_syms)
 #define obj_coff_keep_syms(bfd)	      (coff_data (bfd)->keep_syms)
 #define obj_coff_strings(bfd)	      (coff_data (bfd)->strings)
+#define obj_coff_strings_len(bfd)     (coff_data (bfd)->strings_len)
 #define obj_coff_keep_strings(bfd)    (coff_data (bfd)->keep_strings)
 #define obj_coff_sym_hashes(bfd)      (coff_data (bfd)->sym_hashes)
 #define obj_coff_strings_written(bfd) (coff_data (bfd)->strings_written)
@@ -79,6 +81,8 @@ typedef struct coff_tdata
   /* The string table.  May be NULL.  Read by
      _bfd_coff_read_string_table.  */
   char *strings;
+  /* The length of the strings table.  For error checking.  */
+  bfd_size_type strings_len;
   /* If this is TRUE, the strings may not be freed.  */
   bfd_boolean keep_strings;
   /* If this is TRUE, the strings have been written out already.  */
@@ -188,36 +192,6 @@ struct xcoff_tdata
    macro is only ever applied to an asymbol.  */
 #define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd)))
 
-/* The used_by_bfd field of a section may be set to a pointer to this
-   structure.  */
-
-struct coff_section_tdata
-{
-  /* The relocs, swapped into COFF internal form.  This may be NULL.  */
-  struct internal_reloc *relocs;
-  /* If this is TRUE, the relocs entry may not be freed.  */
-  bfd_boolean keep_relocs;
-  /* The section contents.  This may be NULL.  */
-  bfd_byte *contents;
-  /* If this is TRUE, the contents entry may not be freed.  */
-  bfd_boolean keep_contents;
-  /* Information cached by coff_find_nearest_line.  */
-  bfd_vma offset;
-  unsigned int i;
-  const char *function;
-  /* Optional information about a COMDAT entry; NULL if not COMDAT. */
-  struct coff_comdat_info *comdat;
-  int line_base;
-  /* A pointer used for .stab linking optimizations.  */
-  void * stab_info;
-  /* Available for individual backends.  */
-  void * tdata;
-};
-
-/* An accessor macro for the coff_section_tdata structure.  */
-#define coff_section_data(abfd, sec) \
-  ((struct coff_section_tdata *) (sec)->used_by_bfd)
-
 /* Tdata for sections in XCOFF files.  This is used by the linker.  */
 
 struct xcoff_section_tdata
@@ -321,8 +295,6 @@ extern long coff_canonicalize_symtab
   (bfd *, asymbol **);
 extern int coff_count_linenumbers
   (bfd *);
-extern struct coff_symbol_struct *coff_symbol_from
-  (bfd *, asymbol *);
 extern bfd_boolean coff_renumber_symbols
   (bfd *, int *);
 extern void coff_mangle_symbols
@@ -354,20 +326,20 @@ extern void coff_print_symbol
   (bfd *, void * filep, asymbol *, bfd_print_symbol_type);
 extern void coff_get_symbol_info
   (bfd *, asymbol *, symbol_info *ret);
+#define coff_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
 extern bfd_boolean _bfd_coff_is_local_label_name
   (bfd *, const char *);
 extern asymbol *coff_bfd_make_debug_symbol
   (bfd *, void *, unsigned long);
 extern bfd_boolean coff_find_nearest_line
-  (bfd *, asection *, asymbol **, bfd_vma, const char **,
-   const char **, unsigned int *);
-extern bfd_boolean coff_find_nearest_line_discriminator
-  (bfd *, asection *, asymbol **, bfd_vma, const char **,
-   const char **, unsigned int *, unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *);
+#define coff_find_line _bfd_nosymbols_find_line
 struct dwarf_debug_section;
 extern bfd_boolean coff_find_nearest_line_with_names
-  (bfd *, const struct dwarf_debug_section *, asection *, asymbol **,
-   bfd_vma, const char **, const char **, unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma, const char **, const char **,
+   unsigned int *, const struct dwarf_debug_section *);
 extern bfd_boolean coff_find_inliner_info
   (bfd *, const char **, const char **, unsigned int *);
 extern int coff_sizeof_headers
@@ -607,8 +579,6 @@ extern long _bfd_xcoff_canonicalize_dyna
   (bfd *, arelent **, asymbol **);
 extern struct bfd_link_hash_table *_bfd_xcoff_bfd_link_hash_table_create
   (bfd *);
-extern void _bfd_xcoff_bfd_link_hash_table_free
-  (struct bfd_link_hash_table *);
 extern bfd_boolean _bfd_xcoff_bfd_link_add_symbols
   (bfd *, struct bfd_link_info *);
 extern bfd_boolean _bfd_xcoff_bfd_final_link
@@ -627,10 +597,11 @@ extern bfd_boolean ppc_allocate_toc_sect
 extern bfd_boolean ppc_process_before_allocation
   (bfd *, struct bfd_link_info *);
 /* Extracted from coffcode.h.  */
+
 typedef struct coff_ptr_struct
 {
   /* Remembers the offset from the first symbol in the file for
-     this symbol. Generated by coff_renumber_symbols. */
+     this symbol. Generated by coff_renumber_symbols.  */
   unsigned int offset;
 
   /* Should the value of this symbol be renumbered.  Used for
@@ -638,15 +609,15 @@ typedef struct coff_ptr_struct
   unsigned int fix_value : 1;
 
   /* Should the tag field of this symbol be renumbered.
-     Created by coff_pointerize_aux. */
+     Created by coff_pointerize_aux.  */
   unsigned int fix_tag : 1;
 
   /* Should the endidx field of this symbol be renumbered.
-     Created by coff_pointerize_aux. */
+     Created by coff_pointerize_aux.  */
   unsigned int fix_end : 1;
 
   /* Should the x_csect.x_scnlen field be renumbered.
-     Created by coff_pointerize_aux. */
+     Created by coff_pointerize_aux.  */
   unsigned int fix_scnlen : 1;
 
   /* Fix up an XCOFF C_BINCL/C_EINCL symbol.  The value is the
@@ -654,12 +625,15 @@ typedef struct coff_ptr_struct
   unsigned int fix_line : 1;
 
   /* The container for the symbol structure as read and translated
-     from the file. */
+     from the file.  */
   union
   {
     union internal_auxent auxent;
     struct internal_syment syment;
   } u;
+
+ /* Selector for the union above.  */
+ bfd_boolean is_sym;
 } combined_entry_type;
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libcoff-in.h ./bfd/libcoff-in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libcoff-in.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libcoff-in.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD COFF object file private structure.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -20,6 +20,7 @@
    MA 02110-1301, USA.  */
 
 #include "bfdlink.h"
+#include "coff-bfd.h"
 
 /* Object file tdata; access macros.  */
 
@@ -35,6 +36,7 @@
 #define obj_coff_external_syms(bfd)   (coff_data (bfd)->external_syms)
 #define obj_coff_keep_syms(bfd)	      (coff_data (bfd)->keep_syms)
 #define obj_coff_strings(bfd)	      (coff_data (bfd)->strings)
+#define obj_coff_strings_len(bfd)     (coff_data (bfd)->strings_len)
 #define obj_coff_keep_strings(bfd)    (coff_data (bfd)->keep_strings)
 #define obj_coff_sym_hashes(bfd)      (coff_data (bfd)->sym_hashes)
 #define obj_coff_strings_written(bfd) (coff_data (bfd)->strings_written)
@@ -75,6 +77,8 @@ typedef struct coff_tdata
   /* The string table.  May be NULL.  Read by
      _bfd_coff_read_string_table.  */
   char *strings;
+  /* The length of the strings table.  For error checking.  */
+  bfd_size_type strings_len;
   /* If this is TRUE, the strings may not be freed.  */
   bfd_boolean keep_strings;
   /* If this is TRUE, the strings have been written out already.  */
@@ -184,36 +188,6 @@ struct xcoff_tdata
    macro is only ever applied to an asymbol.  */
 #define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd)))
 
-/* The used_by_bfd field of a section may be set to a pointer to this
-   structure.  */
-
-struct coff_section_tdata
-{
-  /* The relocs, swapped into COFF internal form.  This may be NULL.  */
-  struct internal_reloc *relocs;
-  /* If this is TRUE, the relocs entry may not be freed.  */
-  bfd_boolean keep_relocs;
-  /* The section contents.  This may be NULL.  */
-  bfd_byte *contents;
-  /* If this is TRUE, the contents entry may not be freed.  */
-  bfd_boolean keep_contents;
-  /* Information cached by coff_find_nearest_line.  */
-  bfd_vma offset;
-  unsigned int i;
-  const char *function;
-  /* Optional information about a COMDAT entry; NULL if not COMDAT. */
-  struct coff_comdat_info *comdat;
-  int line_base;
-  /* A pointer used for .stab linking optimizations.  */
-  void * stab_info;
-  /* Available for individual backends.  */
-  void * tdata;
-};
-
-/* An accessor macro for the coff_section_tdata structure.  */
-#define coff_section_data(abfd, sec) \
-  ((struct coff_section_tdata *) (sec)->used_by_bfd)
-
 /* Tdata for sections in XCOFF files.  This is used by the linker.  */
 
 struct xcoff_section_tdata
@@ -317,8 +291,6 @@ extern long coff_canonicalize_symtab
   (bfd *, asymbol **);
 extern int coff_count_linenumbers
   (bfd *);
-extern struct coff_symbol_struct *coff_symbol_from
-  (bfd *, asymbol *);
 extern bfd_boolean coff_renumber_symbols
   (bfd *, int *);
 extern void coff_mangle_symbols
@@ -350,20 +322,20 @@ extern void coff_print_symbol
   (bfd *, void * filep, asymbol *, bfd_print_symbol_type);
 extern void coff_get_symbol_info
   (bfd *, asymbol *, symbol_info *ret);
+#define coff_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
 extern bfd_boolean _bfd_coff_is_local_label_name
   (bfd *, const char *);
 extern asymbol *coff_bfd_make_debug_symbol
   (bfd *, void *, unsigned long);
 extern bfd_boolean coff_find_nearest_line
-  (bfd *, asection *, asymbol **, bfd_vma, const char **,
-   const char **, unsigned int *);
-extern bfd_boolean coff_find_nearest_line_discriminator
-  (bfd *, asection *, asymbol **, bfd_vma, const char **,
-   const char **, unsigned int *, unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *);
+#define coff_find_line _bfd_nosymbols_find_line
 struct dwarf_debug_section;
 extern bfd_boolean coff_find_nearest_line_with_names
-  (bfd *, const struct dwarf_debug_section *, asection *, asymbol **,
-   bfd_vma, const char **, const char **, unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma, const char **, const char **,
+   unsigned int *, const struct dwarf_debug_section *);
 extern bfd_boolean coff_find_inliner_info
   (bfd *, const char **, const char **, unsigned int *);
 extern int coff_sizeof_headers
@@ -603,8 +575,6 @@ extern long _bfd_xcoff_canonicalize_dyna
   (bfd *, arelent **, asymbol **);
 extern struct bfd_link_hash_table *_bfd_xcoff_bfd_link_hash_table_create
   (bfd *);
-extern void _bfd_xcoff_bfd_link_hash_table_free
-  (struct bfd_link_hash_table *);
 extern bfd_boolean _bfd_xcoff_bfd_link_add_symbols
   (bfd *, struct bfd_link_info *);
 extern bfd_boolean _bfd_xcoff_bfd_final_link
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libecoff.h ./bfd/libecoff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libecoff.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libecoff.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD ECOFF object file private structure.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -285,12 +285,15 @@ extern void _bfd_ecoff_print_symbol
   (bfd *, void *, asymbol *, bfd_print_symbol_type);
 extern void _bfd_ecoff_get_symbol_info
   (bfd *, asymbol *, symbol_info *);
+#define _bfd_ecoff_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
 extern bfd_boolean _bfd_ecoff_bfd_is_local_label_name
   (bfd *, const char *);
 #define _bfd_ecoff_get_lineno _bfd_nosymbols_get_lineno
 extern bfd_boolean _bfd_ecoff_find_nearest_line
-  (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
-   unsigned int *);
+  (bfd *, asymbol **, asection *, bfd_vma,
+   const char **, const char **, unsigned int *, unsigned int *);
+#define _bfd_ecoff_find_line _bfd_nosymbols_find_line
 #define _bfd_ecoff_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
 #define _bfd_ecoff_read_minisymbols _bfd_generic_read_minisymbols
 #define _bfd_ecoff_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
@@ -311,7 +314,6 @@ extern int _bfd_ecoff_sizeof_headers (bf
 /* ecoff_bfd_relax_section defined by backend.  */
 extern struct bfd_link_hash_table *_bfd_ecoff_bfd_link_hash_table_create
   (bfd *);
-#define _bfd_ecoff_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
 extern bfd_boolean _bfd_ecoff_bfd_link_add_symbols
   (bfd *, struct bfd_link_info *);
 #define _bfd_ecoff_bfd_link_just_syms _bfd_generic_link_just_syms
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libhppa.h ./bfd/libhppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libhppa.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libhppa.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* HP PA-RISC SOM object file format:  definitions internal to BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by the Center for Software Science at the
    University of Utah (pa-gdb-bugs@cs.utah.edu).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libieee.h ./bfd/libieee.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libieee.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libieee.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IEEE-695 object file formats:  definitions internal to BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.  Mostly Steve Chamberlain's fault.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -66,6 +66,7 @@ typedef struct {
   unsigned char *input_p;
   unsigned char *first_byte;
   unsigned char *last_byte;
+  bfd_size_type total_amt;
   bfd *abfd;
 } common_header_type ;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libnlm.h ./bfd/libnlm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libnlm.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libnlm.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end data structures for NLM (NetWare Loadable Modules) files.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/liboasys.h ./bfd/liboasys.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/liboasys.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/liboasys.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD internal declarations for Oasys file format handling.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Scrawled by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libpei.h ./bfd/libpei.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libpei.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libpei.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for the generic parts of PE/PEI; common header information.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Cygnus Solutions.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libxcoff.h ./bfd/libxcoff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/libxcoff.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/libxcoff.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD XCOFF object file private structure.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Written by Tom Rix, Redhat.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/linker.c ./bfd/linker.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/linker.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/linker.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* linker.c -- BFD linker routines
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -229,28 +229,16 @@ SUBSUBSECTION
 @findex _bfd_generic_link_add_archive_symbols
 	In most cases the work of looking through the symbols in the
 	archive should be done by the
-	<<_bfd_generic_link_add_archive_symbols>> function.  This
-	function builds a hash table from the archive symbol table and
-	looks through the list of undefined symbols to see which
-	elements should be included.
+	<<_bfd_generic_link_add_archive_symbols>> function.
 	<<_bfd_generic_link_add_archive_symbols>> is passed a function
 	to call to make the final decision about adding an archive
 	element to the link and to do the actual work of adding the
-	symbols to the linker hash table.
-
-	The function passed to
-	<<_bfd_generic_link_add_archive_symbols>> must read the
-	symbols of the archive element and decide whether the archive
-	element should be included in the link.  If the element is to
+	symbols to the linker hash table.  If the element is to
 	be included, the <<add_archive_element>> linker callback
 	routine must be called with the element as an argument, and
 	the element's symbols must be added to the linker hash table
 	just as though the element had itself been passed to the
-	<<_bfd_link_add_symbols>> function.  The <<add_archive_element>>
-	callback has the option to indicate that it would like to
-	replace the element archive with a substitute BFD, in which
-	case it is the symbols of that substitute BFD that must be
-	added to the linker hash table instead.
+	<<_bfd_link_add_symbols>> function.
 
 	When the a.out <<_bfd_link_add_symbols>> function receives an
 	archive, it calls <<_bfd_generic_link_add_archive_symbols>>
@@ -313,7 +301,7 @@ SUBSUBSECTION
 
 	The <<input_bfds>> field of the <<bfd_link_info>> structure
 	will point to a list of all the input files included in the
-	link.  These files are linked through the <<link_next>> field
+	link.  These files are linked through the <<link.next>> field
 	of the <<bfd>> structure.
 
 	Each section in the output file will have a list of
@@ -419,11 +407,14 @@ static bfd_boolean generic_link_add_obje
 static bfd_boolean generic_link_add_symbols
   (bfd *, struct bfd_link_info *, bfd_boolean);
 static bfd_boolean generic_link_check_archive_element_no_collect
-  (bfd *, struct bfd_link_info *, bfd_boolean *);
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *,
+   bfd_boolean *);
 static bfd_boolean generic_link_check_archive_element_collect
-  (bfd *, struct bfd_link_info *, bfd_boolean *);
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *,
+   bfd_boolean *);
 static bfd_boolean generic_link_check_archive_element
-  (bfd *, struct bfd_link_info *, bfd_boolean *, bfd_boolean);
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *,
+   bfd_boolean *, bfd_boolean);
 static bfd_boolean generic_link_add_symbol_list
   (bfd *, struct bfd_link_info *, bfd_size_type count, asymbol **,
    bfd_boolean);
@@ -482,11 +473,22 @@ _bfd_link_hash_table_init
 				      const char *),
    unsigned int entsize)
 {
+  bfd_boolean ret;
+
+  BFD_ASSERT (!abfd->is_linker_output && !abfd->link.hash);
   table->undefs = NULL;
   table->undefs_tail = NULL;
   table->type = bfd_link_generic_hash_table;
 
-  return bfd_hash_table_init (&table->table, newfunc, entsize);
+  ret = bfd_hash_table_init (&table->table, newfunc, entsize);
+  if (ret)
+    {
+      /* Arrange for destruction of this hash table on closing ABFD.  */
+      table->hash_table_free = _bfd_generic_link_hash_table_free;
+      abfd->link.hash = table;
+      abfd->is_linker_output = TRUE;
+    }
+  return ret;
 }
 
 /* Look up a symbol in a link hash table.  If follow is TRUE, we
@@ -771,13 +773,16 @@ _bfd_generic_link_hash_table_create (bfd
 }
 
 void
-_bfd_generic_link_hash_table_free (struct bfd_link_hash_table *hash)
+_bfd_generic_link_hash_table_free (bfd *obfd)
 {
-  struct generic_link_hash_table *ret
-    = (struct generic_link_hash_table *) hash;
+  struct generic_link_hash_table *ret;
 
+  BFD_ASSERT (obfd->is_linker_output && obfd->link.hash);
+  ret = (struct generic_link_hash_table *) obfd->link.hash;
   bfd_hash_table_free (&ret->root.table);
   free (ret);
+  obfd->link.hash = NULL;
+  obfd->is_linker_output = FALSE;
 }
 
 /* Grab the symbols for an object file when doing a generic link.  We
@@ -847,14 +852,13 @@ _bfd_generic_link_just_syms (asection *s
   sec->output_offset = sec->vma;
 }
 
-/* Copy the type of a symbol assiciated with a linker hast table entry.
-   Override this so that symbols created in linker scripts get their
-   type from the RHS of the assignment.
+/* Copy the symbol type and other attributes for a linker script
+   assignment from HSRC to HDEST.
    The default implementation does nothing.  */
 void
 _bfd_generic_copy_link_hash_symbol_type (bfd *abfd ATTRIBUTE_UNUSED,
-    struct bfd_link_hash_entry * hdest ATTRIBUTE_UNUSED,
-    struct bfd_link_hash_entry * hsrc ATTRIBUTE_UNUSED)
+    struct bfd_link_hash_entry *hdest ATTRIBUTE_UNUSED,
+    struct bfd_link_hash_entry *hsrc ATTRIBUTE_UNUSED)
 {
 }
 
@@ -904,138 +908,32 @@ generic_link_add_object_symbols (bfd *ab
   return generic_link_add_symbol_list (abfd, info, symcount, outsyms, collect);
 }
 
-/* We build a hash table of all symbols defined in an archive.  */
-
-/* An archive symbol may be defined by multiple archive elements.
-   This linked list is used to hold the elements.  */
-
-struct archive_list
-{
-  struct archive_list *next;
-  unsigned int indx;
-};
-
-/* An entry in an archive hash table.  */
-
-struct archive_hash_entry
-{
-  struct bfd_hash_entry root;
-  /* Where the symbol is defined.  */
-  struct archive_list *defs;
-};
-
-/* An archive hash table itself.  */
-
-struct archive_hash_table
-{
-  struct bfd_hash_table table;
-};
-
-/* Create a new entry for an archive hash table.  */
-
-static struct bfd_hash_entry *
-archive_hash_newfunc (struct bfd_hash_entry *entry,
-		      struct bfd_hash_table *table,
-		      const char *string)
-{
-  struct archive_hash_entry *ret = (struct archive_hash_entry *) entry;
-
-  /* Allocate the structure if it has not already been allocated by a
-     subclass.  */
-  if (ret == NULL)
-    ret = (struct archive_hash_entry *)
-        bfd_hash_allocate (table, sizeof (struct archive_hash_entry));
-  if (ret == NULL)
-    return NULL;
-
-  /* Call the allocation method of the superclass.  */
-  ret = ((struct archive_hash_entry *)
-	 bfd_hash_newfunc ((struct bfd_hash_entry *) ret, table, string));
-
-  if (ret)
-    {
-      /* Initialize the local fields.  */
-      ret->defs = NULL;
-    }
-
-  return &ret->root;
-}
-
-/* Initialize an archive hash table.  */
-
-static bfd_boolean
-archive_hash_table_init
-  (struct archive_hash_table *table,
-   struct bfd_hash_entry *(*newfunc) (struct bfd_hash_entry *,
-				      struct bfd_hash_table *,
-				      const char *),
-   unsigned int entsize)
-{
-  return bfd_hash_table_init (&table->table, newfunc, entsize);
-}
-
-/* Look up an entry in an archive hash table.  */
-
-#define archive_hash_lookup(t, string, create, copy) \
-  ((struct archive_hash_entry *) \
-   bfd_hash_lookup (&(t)->table, (string), (create), (copy)))
-
-/* Allocate space in an archive hash table.  */
-
-#define archive_hash_allocate(t, size) bfd_hash_allocate (&(t)->table, (size))
-
-/* Free an archive hash table.  */
-
-#define archive_hash_table_free(t) bfd_hash_table_free (&(t)->table)
-
 /* Generic function to add symbols from an archive file to the global
    hash file.  This function presumes that the archive symbol table
    has already been read in (this is normally done by the
-   bfd_check_format entry point).  It looks through the undefined and
-   common symbols and searches the archive symbol table for them.  If
-   it finds an entry, it includes the associated object file in the
-   link.
-
-   The old linker looked through the archive symbol table for
-   undefined symbols.  We do it the other way around, looking through
-   undefined symbols for symbols defined in the archive.  The
-   advantage of the newer scheme is that we only have to look through
-   the list of undefined symbols once, whereas the old method had to
-   re-search the symbol table each time a new object file was added.
-
-   The CHECKFN argument is used to see if an object file should be
-   included.  CHECKFN should set *PNEEDED to TRUE if the object file
-   should be included, and must also call the bfd_link_info
-   add_archive_element callback function and handle adding the symbols
-   to the global hash table.  CHECKFN must notice if the callback
-   indicates a substitute BFD, and arrange to add those symbols instead
-   if it does so.  CHECKFN should only return FALSE if some sort of
-   error occurs.
-
-   For some formats, such as a.out, it is possible to look through an
-   object file but not actually include it in the link.  The
-   archive_pass field in a BFD is used to avoid checking the symbols
-   of an object files too many times.  When an object is included in
-   the link, archive_pass is set to -1.  If an object is scanned but
-   not included, archive_pass is set to the pass number.  The pass
-   number is incremented each time a new object file is included.  The
-   pass number is used because when a new object file is included it
-   may create new undefined symbols which cause a previously examined
-   object file to be included.  */
+   bfd_check_format entry point).  It looks through the archive symbol
+   table for symbols that are undefined or common in the linker global
+   symbol hash table.  When one is found, the CHECKFN argument is used
+   to see if an object file should be included.  This allows targets
+   to customize common symbol behaviour.  CHECKFN should set *PNEEDED
+   to TRUE if the object file should be included, and must also call
+   the bfd_link_info add_archive_element callback function and handle
+   adding the symbols to the global hash table.  CHECKFN must notice
+   if the callback indicates a substitute BFD, and arrange to add
+   those symbols instead if it does so.  CHECKFN should only return
+   FALSE if some sort of error occurs.  */
 
 bfd_boolean
 _bfd_generic_link_add_archive_symbols
   (bfd *abfd,
    struct bfd_link_info *info,
-   bfd_boolean (*checkfn) (bfd *, struct bfd_link_info *, bfd_boolean *))
+   bfd_boolean (*checkfn) (bfd *, struct bfd_link_info *,
+			   struct bfd_link_hash_entry *, const char *,
+			   bfd_boolean *))
 {
-  carsym *arsyms;
-  carsym *arsym_end;
-  register carsym *arsym;
-  int pass;
-  struct archive_hash_table arsym_hash;
-  unsigned int indx;
-  struct bfd_link_hash_entry **pundef;
+  bfd_boolean loop;
+  bfd_size_type amt;
+  unsigned char *included;
 
   if (! bfd_has_map (abfd))
     {
@@ -1046,148 +944,103 @@ _bfd_generic_link_add_archive_symbols
       return FALSE;
     }
 
-  arsyms = bfd_ardata (abfd)->symdefs;
-  arsym_end = arsyms + bfd_ardata (abfd)->symdef_count;
-
-  /* In order to quickly determine whether an symbol is defined in
-     this archive, we build a hash table of the symbols.  */
-  if (! archive_hash_table_init (&arsym_hash, archive_hash_newfunc,
-				 sizeof (struct archive_hash_entry)))
+  amt = bfd_ardata (abfd)->symdef_count;
+  if (amt == 0)
+    return TRUE;
+  amt *= sizeof (*included);
+  included = (unsigned char *) bfd_zmalloc (amt);
+  if (included == NULL)
     return FALSE;
-  for (arsym = arsyms, indx = 0; arsym < arsym_end; arsym++, indx++)
-    {
-      struct archive_hash_entry *arh;
-      struct archive_list *l, **pp;
-
-      arh = archive_hash_lookup (&arsym_hash, arsym->name, TRUE, FALSE);
-      if (arh == NULL)
-	goto error_return;
-      l = ((struct archive_list *)
-	   archive_hash_allocate (&arsym_hash, sizeof (struct archive_list)));
-      if (l == NULL)
-	goto error_return;
-      l->indx = indx;
-      for (pp = &arh->defs; *pp != NULL; pp = &(*pp)->next)
-	;
-      *pp = l;
-      l->next = NULL;
-    }
 
-  /* The archive_pass field in the archive itself is used to
-     initialize PASS, sine we may search the same archive multiple
-     times.  */
-  pass = abfd->archive_pass + 1;
-
-  /* New undefined symbols are added to the end of the list, so we
-     only need to look through it once.  */
-  pundef = &info->hash->undefs;
-  while (*pundef != NULL)
-    {
-      struct bfd_link_hash_entry *h;
-      struct archive_hash_entry *arh;
-      struct archive_list *l;
-
-      h = *pundef;
-
-      /* When a symbol is defined, it is not necessarily removed from
-	 the list.  */
-      if (h->type != bfd_link_hash_undefined
-	  && h->type != bfd_link_hash_common)
-	{
-	  /* Remove this entry from the list, for general cleanliness
-	     and because we are going to look through the list again
-	     if we search any more libraries.  We can't remove the
-	     entry if it is the tail, because that would lose any
-	     entries we add to the list later on (it would also cause
-	     us to lose track of whether the symbol has been
-	     referenced).  */
-	  if (*pundef != info->hash->undefs_tail)
-	    *pundef = (*pundef)->u.undef.next;
-	  else
-	    pundef = &(*pundef)->u.undef.next;
-	  continue;
-	}
-
-      /* Look for this symbol in the archive symbol map.  */
-      arh = archive_hash_lookup (&arsym_hash, h->root.string, FALSE, FALSE);
-      if (arh == NULL)
+  do
+    {
+      carsym *arsyms;
+      carsym *arsym_end;
+      carsym *arsym;
+      unsigned int indx;
+      file_ptr last_ar_offset = -1;
+      bfd_boolean needed = FALSE;
+      bfd *element = NULL;
+
+      loop = FALSE;
+      arsyms = bfd_ardata (abfd)->symdefs;
+      arsym_end = arsyms + bfd_ardata (abfd)->symdef_count;
+      for (arsym = arsyms, indx = 0; arsym < arsym_end; arsym++, indx++)
 	{
-	  /* If we haven't found the exact symbol we're looking for,
-	     let's look for its import thunk */
-	  if (info->pei386_auto_import)
-	    {
-	      bfd_size_type amt = strlen (h->root.string) + 10;
-	      char *buf = (char *) bfd_malloc (amt);
-	      if (buf == NULL)
-		return FALSE;
+	  struct bfd_link_hash_entry *h;
+	  struct bfd_link_hash_entry *undefs_tail;
 
-	      sprintf (buf, "__imp_%s", h->root.string);
-	      arh = archive_hash_lookup (&arsym_hash, buf, FALSE, FALSE);
-	      free(buf);
-	    }
-	  if (arh == NULL)
+	  if (included[indx])
+	    continue;
+	  if (needed && arsym->file_offset == last_ar_offset)
 	    {
-	      pundef = &(*pundef)->u.undef.next;
+	      included[indx] = 1;
 	      continue;
 	    }
-	}
-      /* Look at all the objects which define this symbol.  */
-      for (l = arh->defs; l != NULL; l = l->next)
-	{
-	  bfd *element;
-	  bfd_boolean needed;
-
-	  /* If the symbol has gotten defined along the way, quit.  */
-	  if (h->type != bfd_link_hash_undefined
-	      && h->type != bfd_link_hash_common)
-	    break;
 
-	  element = bfd_get_elt_at_index (abfd, l->indx);
-	  if (element == NULL)
-	    goto error_return;
+	  h = bfd_link_hash_lookup (info->hash, arsym->name,
+				    FALSE, FALSE, TRUE);
 
-	  /* If we've already included this element, or if we've
-	     already checked it on this pass, continue.  */
-	  if (element->archive_pass == -1
-	      || element->archive_pass == pass)
+	  if (h == NULL
+	      && info->pei386_auto_import
+	      && CONST_STRNEQ (arsym->name, "__imp_"))
+	    h = bfd_link_hash_lookup (info->hash, arsym->name + 6,
+				      FALSE, FALSE, TRUE);
+	  if (h == NULL)
 	    continue;
 
-	  /* If we can't figure this element out, just ignore it.  */
-	  if (! bfd_check_format (element, bfd_object))
+	  if (h->type != bfd_link_hash_undefined
+	      && h->type != bfd_link_hash_common)
 	    {
-	      element->archive_pass = -1;
+	      if (h->type != bfd_link_hash_undefweak)
+		/* Symbol must be defined.  Don't check it again.  */
+		included[indx] = 1;
 	      continue;
 	    }
 
+	  if (last_ar_offset != arsym->file_offset)
+	    {
+	      last_ar_offset = arsym->file_offset;
+	      element = _bfd_get_elt_at_filepos (abfd, last_ar_offset);
+	      if (element == NULL
+		  || !bfd_check_format (element, bfd_object))
+		goto error_return;
+	    }
+
+	  undefs_tail = info->hash->undefs_tail;
+
 	  /* CHECKFN will see if this element should be included, and
 	     go ahead and include it if appropriate.  */
-	  if (! (*checkfn) (element, info, &needed))
+	  if (! (*checkfn) (element, info, h, arsym->name, &needed))
 	    goto error_return;
 
-	  if (! needed)
-	    element->archive_pass = pass;
-	  else
+	  if (needed)
 	    {
-	      element->archive_pass = -1;
+	      unsigned int mark;
+
+	      /* Look backward to mark all symbols from this object file
+		 which we have already seen in this pass.  */
+	      mark = indx;
+	      do
+		{
+		  included[mark] = 1;
+		  if (mark == 0)
+		    break;
+		  --mark;
+		}
+	      while (arsyms[mark].file_offset == last_ar_offset);
 
-	      /* Increment the pass count to show that we may need to
-		 recheck object files which were already checked.  */
-	      ++pass;
+	      if (undefs_tail != info->hash->undefs_tail)
+		loop = TRUE;
 	    }
 	}
+    } while (loop);
 
-      pundef = &(*pundef)->u.undef.next;
-    }
-
-  archive_hash_table_free (&arsym_hash);
-
-  /* Save PASS in case we are called again.  */
-  abfd->archive_pass = pass;
-
+  free (included);
   return TRUE;
 
  error_return:
-  archive_hash_table_free (&arsym_hash);
+  free (included);
   return FALSE;
 }
 
@@ -1197,12 +1050,14 @@ _bfd_generic_link_add_archive_symbols
    for finding them.  */
 
 static bfd_boolean
-generic_link_check_archive_element_no_collect (
-					       bfd *abfd,
+generic_link_check_archive_element_no_collect (bfd *abfd,
 					       struct bfd_link_info *info,
+					       struct bfd_link_hash_entry *h,
+					       const char *name,
 					       bfd_boolean *pneeded)
 {
-  return generic_link_check_archive_element (abfd, info, pneeded, FALSE);
+  return generic_link_check_archive_element (abfd, info, h, name, pneeded,
+					     FALSE);
 }
 
 /* See if we should include an archive element.  This version is used
@@ -1212,9 +1067,12 @@ generic_link_check_archive_element_no_co
 static bfd_boolean
 generic_link_check_archive_element_collect (bfd *abfd,
 					    struct bfd_link_info *info,
+					    struct bfd_link_hash_entry *h,
+					    const char *name,
 					    bfd_boolean *pneeded)
 {
-  return generic_link_check_archive_element (abfd, info, pneeded, TRUE);
+  return generic_link_check_archive_element (abfd, info, h, name, pneeded,
+					     TRUE);
 }
 
 /* See if we should include an archive element.  Optionally collect
@@ -1223,6 +1081,8 @@ generic_link_check_archive_element_colle
 static bfd_boolean
 generic_link_check_archive_element (bfd *abfd,
 				    struct bfd_link_info *info,
+				    struct bfd_link_hash_entry *h,
+				    const char *name ATTRIBUTE_UNUSED,
 				    bfd_boolean *pneeded,
 				    bfd_boolean collect)
 {
@@ -1238,7 +1098,6 @@ generic_link_check_archive_element (bfd 
   for (; pp < ppend; pp++)
     {
       asymbol *p;
-      struct bfd_link_hash_entry *h;
 
       p = *pp;
 
@@ -1261,29 +1120,21 @@ generic_link_check_archive_element (bfd 
 
       /* P is a symbol we are looking for.  */
 
-      if (! bfd_is_com_section (p->section))
+      if (! bfd_is_com_section (p->section)
+	  || (h->type == bfd_link_hash_undefined
+	      && h->u.undef.abfd == NULL))
 	{
-	  bfd_size_type symcount;
-	  asymbol **symbols;
-	  bfd *oldbfd = abfd;
-
-	  /* This object file defines this symbol, so pull it in.  */
+	  /* P is not a common symbol, or an undefined reference was
+	     created from outside BFD such as from a linker -u option.
+	     This object file defines the symbol, so pull it in.  */
+	  *pneeded = TRUE;
 	  if (!(*info->callbacks
 		->add_archive_element) (info, abfd, bfd_asymbol_name (p),
 					&abfd))
 	    return FALSE;
 	  /* Potentially, the add_archive_element hook may have set a
 	     substitute BFD for us.  */
-	  if (abfd != oldbfd
-	      && !bfd_generic_link_read_symbols (abfd))
-	    return FALSE;
-	  symcount = _bfd_generic_link_get_symcount (abfd);
-	  symbols = _bfd_generic_link_get_symbols (abfd);
-	  if (! generic_link_add_symbol_list (abfd, info, symcount,
-					      symbols, collect))
-	    return FALSE;
-	  *pneeded = TRUE;
-	  return TRUE;
+	  return generic_link_add_object_symbols (abfd, info, collect);
 	}
 
       /* P is a common symbol.  */
@@ -1294,23 +1145,6 @@ generic_link_check_archive_element (bfd 
 	  bfd_vma size;
 	  unsigned int power;
 
-	  symbfd = h->u.undef.abfd;
-	  if (symbfd == NULL)
-	    {
-	      /* This symbol was created as undefined from outside
-		 BFD.  We assume that we should link in the object
-		 file.  This is for the -u option in the linker.  */
-	      if (!(*info->callbacks
-		    ->add_archive_element) (info, abfd, bfd_asymbol_name (p),
-					    &abfd))
-		return FALSE;
-	      /* Potentially, the add_archive_element hook may have set a
-		 substitute BFD for us.  But no symbols are going to get
-		 registered by anything we're returning to from here.  */
-	      *pneeded = TRUE;
-	      return TRUE;
-	    }
-
 	  /* Turn the symbol into a common symbol but do not link in
 	     the object file.  This is how a.out works.  Object
 	     formats that require different semantics must implement
@@ -1318,6 +1152,7 @@ generic_link_check_archive_element (bfd 
 	     undefs list.  We add the section to a common section
 	     attached to symbfd to ensure that it is in a BFD which
 	     will be linked in.  */
+	  symbfd = h->u.undef.abfd;
 	  h->type = bfd_link_hash_common;
 	  h->u.c.p = (struct bfd_link_hash_common_entry *)
 	    bfd_hash_allocate (&info->hash->table,
@@ -1507,8 +1342,7 @@ enum link_action
   CIND,		/* Make indirect symbol from existing common symbol.  */
   SET,		/* Add value to set.  */
   MWARN,	/* Make warning symbol.  */
-  WARN,		/* Issue warning.  */
-  CWARN,	/* Warn if referenced, else MWARN.  */
+  WARN,		/* Warn if referenced, else MWARN.  */
   CYCLE,	/* Repeat with symbol pointed to.  */
   REFC,		/* Mark indirect symbol referenced and then CYCLE.  */
   WARNC		/* Issue warning and then CYCLE.  */
@@ -1526,7 +1360,7 @@ static const enum link_action link_actio
   /* DEFW_ROW 	*/  {DEFW,  DEFW,  DEFW,  NOACT, NOACT, NOACT, NOACT, CYCLE },
   /* COMMON_ROW	*/  {COM,   COM,   COM,   CREF,  COM,   BIG,   REFC,  WARNC },
   /* INDR_ROW	*/  {IND,   IND,   IND,   MDEF,  IND,   CIND,  MIND,  CYCLE },
-  /* WARN_ROW   */  {MWARN, WARN,  WARN,  CWARN, CWARN, WARN,  CWARN, NOACT },
+  /* WARN_ROW   */  {MWARN, WARN,  WARN,  WARN,  WARN,  WARN,  WARN,  NOACT },
   /* SET_ROW	*/  {SET,   SET,   SET,   SET,   SET,   SET,   CYCLE, CYCLE }
 };
 
@@ -1608,13 +1442,23 @@ _bfd_generic_link_add_one_symbol (struct
 {
   enum link_row row;
   struct bfd_link_hash_entry *h;
+  struct bfd_link_hash_entry *inh = NULL;
   bfd_boolean cycle;
 
   BFD_ASSERT (section != NULL);
 
   if (bfd_is_ind_section (section)
       || (flags & BSF_INDIRECT) != 0)
-    row = INDR_ROW;
+    {
+      row = INDR_ROW;
+      /* Create the indirect symbol here.  This is for the benefit of
+	 the plugin "notice" function.
+	 STRING is the name of the symbol we want to indirect to.  */
+      inh = bfd_wrapped_link_hash_lookup (abfd, info, string, TRUE,
+					  copy, FALSE);
+      if (inh == NULL)
+	return FALSE;
+    }
   else if ((flags & BSF_WARNING) != 0)
     row = WARN_ROW;
   else if ((flags & BSF_CONSTRUCTOR) != 0)
@@ -1629,7 +1473,13 @@ _bfd_generic_link_add_one_symbol (struct
   else if ((flags & BSF_WEAK) != 0)
     row = DEFW_ROW;
   else if (bfd_is_com_section (section))
-    row = COMMON_ROW;
+    {
+      row = COMMON_ROW;
+      if (strcmp (name, "__gnu_lto_slim") == 0)
+	(*_bfd_error_handler)
+	  (_("%s: plugin needed to handle lto object"),
+	   bfd_get_filename (abfd));
+    }
   else
     row = DEF_ROW;
 
@@ -1653,8 +1503,8 @@ _bfd_generic_link_add_one_symbol (struct
       || (info->notice_hash != NULL
 	  && bfd_hash_lookup (info->notice_hash, name, FALSE, FALSE) != NULL))
     {
-      if (! (*info->callbacks->notice) (info, h,
-					abfd, section, value, flags, string))
+      if (! (*info->callbacks->notice) (info, h, inh,
+					abfd, section, value, flags))
 	return FALSE;
     }
 
@@ -1710,6 +1560,7 @@ _bfd_generic_link_add_one_symbol (struct
 	      h->type = bfd_link_hash_defined;
 	    h->u.def.section = section;
 	    h->u.def.value = value;
+	    h->linker_def = 0;
 
 	    /* If we have been asked to, we act like collect2 and
 	       identify all functions that might be global
@@ -1809,6 +1660,7 @@ _bfd_generic_link_add_one_symbol (struct
 	    }
 	  else
 	    h->u.c.p->section = section;
+	  h->linker_def = 0;
 	  break;
 
 	case REF:
@@ -1888,44 +1740,40 @@ _bfd_generic_link_add_one_symbol (struct
 	    return FALSE;
 	  /* Fall through.  */
 	case IND:
-	  /* Create an indirect symbol.  */
-	  {
-	    struct bfd_link_hash_entry *inh;
-
-	    /* STRING is the name of the symbol we want to indirect
-	       to.  */
-	    inh = bfd_wrapped_link_hash_lookup (abfd, info, string, TRUE,
-						copy, FALSE);
-	    if (inh == NULL)
+	  if (inh->type == bfd_link_hash_indirect
+	      && inh->u.i.link == h)
+	    {
+	      (*_bfd_error_handler)
+		(_("%B: indirect symbol `%s' to `%s' is a loop"),
+		 abfd, name, string);
+	      bfd_set_error (bfd_error_invalid_operation);
 	      return FALSE;
-	    if (inh->type == bfd_link_hash_indirect
-		&& inh->u.i.link == h)
-	      {
-		(*_bfd_error_handler)
-		  (_("%B: indirect symbol `%s' to `%s' is a loop"),
-		   abfd, name, string);
-		bfd_set_error (bfd_error_invalid_operation);
-		return FALSE;
-	      }
-	    if (inh->type == bfd_link_hash_new)
-	      {
-		inh->type = bfd_link_hash_undefined;
-		inh->u.undef.abfd = abfd;
-		bfd_link_add_undef (info->hash, inh);
-	      }
-
-	    /* If the indirect symbol has been referenced, we need to
-	       push the reference down to the symbol we are
-	       referencing.  */
-	    if (h->type != bfd_link_hash_new)
-	      {
-		row = UNDEF_ROW;
-		cycle = TRUE;
-	      }
-
-	    h->type = bfd_link_hash_indirect;
-	    h->u.i.link = inh;
-	  }
+	    }
+	  if (inh->type == bfd_link_hash_new)
+	    {
+	      inh->type = bfd_link_hash_undefined;
+	      inh->u.undef.abfd = abfd;
+	      bfd_link_add_undef (info->hash, inh);
+	    }
+
+	  /* If the indirect symbol has been referenced, we need to
+	     push the reference down to the symbol we are referencing.  */
+	  if (h->type != bfd_link_hash_new)
+	    {
+	      /* ??? If inh->type == bfd_link_hash_undefweak this
+		 converts inh to bfd_link_hash_undefined.  */
+	      row = UNDEF_ROW;
+	      cycle = TRUE;
+	    }
+
+	  h->type = bfd_link_hash_indirect;
+	  h->u.i.link = inh;
+	  /* Not setting h = h->u.i.link here means that when cycle is
+	     set above we'll always go to REFC, and then cycle again
+	     to the indirected symbol.  This means that any successful
+	     change of an existing symbol to indirect counts as a
+	     reference.  ??? That may not be correct when the existing
+	     symbol was defweak.  */
 	  break;
 
 	case SET:
@@ -1936,8 +1784,10 @@ _bfd_generic_link_add_one_symbol (struct
 	  break;
 
 	case WARNC:
-	  /* Issue a warning and cycle.  */
-	  if (h->u.i.warning != NULL)
+	  /* Issue a warning and cycle, except when the reference is
+	     in LTO IR.  */
+	  if (h->u.i.warning != NULL
+	      && (abfd->flags & BFD_PLUGIN) == 0)
 	    {
 	      if (! (*info->callbacks->warning) (info, h->u.i.warning,
 						 h->root.string, abfd,
@@ -1962,19 +1812,11 @@ _bfd_generic_link_add_one_symbol (struct
 	  break;
 
 	case WARN:
-	  /* Issue a warning.  */
-	  if (! (*info->callbacks->warning) (info, string, h->root.string,
-					     hash_entry_bfd (h), NULL, 0))
-	    return FALSE;
-	  break;
-
-	case CWARN:
-	  /* Warn if this symbol has been referenced already,
-	     otherwise add a warning.  A symbol has been referenced if
-	     the u.undef.next field is not NULL, or it is the tail of the
-	     undefined symbol list.  The REF case above helps to
-	     ensure this.  */
-	  if (h->u.undef.next != NULL || info->hash->undefs_tail == h)
+	  /* Warn if this symbol has been referenced already from non-IR,
+	     otherwise add a warning.  */
+	  if ((!info->lto_plugin_active
+	       && (h->u.undef.next != NULL || info->hash->undefs_tail == h))
+	      || h->non_ir_ref)
 	    {
 	      if (! (*info->callbacks->warning) (info, string, h->root.string,
 						 hash_entry_bfd (h), NULL, 0))
@@ -2046,7 +1888,7 @@ _bfd_generic_final_link (bfd *abfd, stru
 	p->u.indirect.section->linker_mark = TRUE;
 
   /* Build the output symbol table.  */
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     if (! _bfd_generic_link_output_symbols (abfd, sub, info, &outsymalloc))
       return FALSE;
 
@@ -2294,7 +2136,7 @@ _bfd_generic_link_output_symbols (bfd *o
 		  /* fall through */
 		case bfd_link_hash_defined:
 		  sym->flags |= BSF_GLOBAL;
-		  sym->flags &=~ BSF_CONSTRUCTOR;
+		  sym->flags &=~ (BSF_WEAK | BSF_CONSTRUCTOR);
 		  sym->value = h->root.u.def.value;
 		  sym->section = h->root.u.def.section;
 		  break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/lynx-core.c ./bfd/lynx-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/lynx-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/lynx-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back end for Lynx core files
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Stu Grossman of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m68k4knetbsd.c ./bfd/m68k4knetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m68k4knetbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/m68k4knetbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for NetBSD/m68k a.out-ish binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m68klinux.c ./bfd/m68klinux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m68klinux.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/m68klinux.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for linux flavored m68k a.out binaries.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m68knetbsd.c ./bfd/m68knetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m68knetbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/m68knetbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for NetBSD/m68k a.out-ish binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m88kmach3.c ./bfd/m88kmach3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m88kmach3.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/m88kmach3.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Motorola m88k a.out (Mach 3) binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m88kopenbsd.c ./bfd/m88kopenbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/m88kopenbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/m88kopenbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for OpenBSD/m88k a.out binaries.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o.c ./bfd/mach-o.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/mach-o.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -790,18 +790,19 @@ bfd_mach_o_get_synthetic_symtab (bfd *ab
   bfd_mach_o_dysymtab_command *dysymtab = mdata->dysymtab;
   bfd_mach_o_symtab_command *symtab = mdata->symtab;
   asymbol *s;
+  char * s_start;
+  char * s_end;
   unsigned long count, i, j, n;
   size_t size;
   char *names;
   char *nul_name;
+  const char stub [] = "$stub";
 
   *ret = NULL;
 
   /* Stop now if no symbols or no indirect symbols.  */
-  if (dysymtab == NULL || symtab == NULL || symtab->symbols == NULL)
-    return 0;
-
-  if (dysymtab->nindirectsyms == 0)
+  if (dysymtab == NULL || dysymtab->nindirectsyms == 0
+      || symtab == NULL || symtab->symbols == NULL)
     return 0;
 
   /* We need to allocate a bfd symbol for every indirect symbol and to
@@ -811,19 +812,23 @@ bfd_mach_o_get_synthetic_symtab (bfd *ab
 
   for (j = 0; j < count; j++)
     {
+      const char * strng;
       unsigned int isym = dysymtab->indirect_syms[j];
 
       /* Some indirect symbols are anonymous.  */
-      if (isym < symtab->nsyms && symtab->symbols[isym].symbol.name)
-        size += strlen (symtab->symbols[isym].symbol.name) + sizeof ("$stub");
+      if (isym < symtab->nsyms && (strng = symtab->symbols[isym].symbol.name))
+	/* PR 17512: file: f5b8eeba.  */
+	size += strnlen (strng, symtab->strsize - (strng - symtab->strtab)) + sizeof (stub);
     }
 
-  s = *ret = (asymbol *) bfd_malloc (size);
+  s_start = bfd_malloc (size);
+  s = *ret = (asymbol *) s_start;
   if (s == NULL)
     return -1;
   names = (char *) (s + count);
   nul_name = names;
   *names++ = 0;
+  s_end = s_start + size;
 
   n = 0;
   for (i = 0; i < mdata->nsects; i++)
@@ -843,10 +848,19 @@ bfd_mach_o_get_synthetic_symtab (bfd *ab
           last = first + bfd_mach_o_section_get_nbr_indirect (abfd, sec);
           addr = sec->addr;
           entry_size = bfd_mach_o_section_get_entry_size (abfd, sec);
+
+	  /* PR 17512: file: 08e15eec.  */
+	  if (first >= count || last >= count || first > last)
+	    goto fail;
+
           for (j = first; j < last; j++)
             {
               unsigned int isym = dysymtab->indirect_syms[j];
 
+	      /* PR 17512: file: 04d64d9b.  */
+	      if (((char *) s) + sizeof (* s) > s_end)
+		goto fail;
+
               s->flags = BSF_GLOBAL | BSF_SYNTHETIC;
               s->section = sec->bfdsection;
               s->value = addr - sec->addr;
@@ -860,10 +874,16 @@ bfd_mach_o_get_synthetic_symtab (bfd *ab
 
                   s->name = names;
                   len = strlen (sym);
+		  /* PR 17512: file: 47dfd4d2.  */
+		  if (names + len >= s_end)
+		    goto fail;
                   memcpy (names, sym, len);
                   names += len;
-                  memcpy (names, "$stub", sizeof ("$stub"));
-                  names += sizeof ("$stub");
+		  /* PR 17512: file: 18f340a4.  */
+		  if (names + sizeof (stub) >= s_end)
+		    goto fail;
+                  memcpy (names, stub, sizeof (stub));
+                  names += sizeof (stub);
                 }
               else
                 s->name = nul_name;
@@ -879,6 +899,11 @@ bfd_mach_o_get_synthetic_symtab (bfd *ab
     }
 
   return n;
+
+ fail:
+  free (s_start);
+  * ret = NULL;
+  return -1;
 }
 
 void
@@ -1349,8 +1374,14 @@ bfd_mach_o_canonicalize_one_reloc (bfd *
 
       if (reloc.r_extern)
 	{
-	  /* An external symbol number.  */
-	  sym = syms + num;
+	  /* PR 17512: file: 8396-1185-0.004.  */
+	  if (bfd_get_symcount (abfd) > 0 && num > bfd_get_symcount (abfd))
+	    sym = bfd_und_section_ptr->symbol_ptr_ptr;
+	  else if (syms == NULL)
+	    sym = bfd_und_section_ptr->symbol_ptr_ptr;	    
+	  else
+	    /* An external symbol number.  */
+	    sym = syms + num;
 	}
       else if (num == 0x00ffffff || num == 0)
 	{
@@ -1363,9 +1394,11 @@ bfd_mach_o_canonicalize_one_reloc (bfd *
 	}
       else
         {
+	  /* PR 17512: file: 006-2964-0.004.  */
+	  if (num > mdata->nsects)
+	    return -1;
+	  
 	  /* A section number.  */
-          BFD_ASSERT (num <= mdata->nsects);
-
           sym = mdata->sections[num - 1]->bfdsection->symbol_ptr_ptr;
           /* For a symbol defined in section S, the addend (stored in the
              binary) contains the address of the section.  To comply with
@@ -1394,6 +1427,7 @@ bfd_mach_o_canonicalize_one_reloc (bfd *
 
   if (!(*bed->_bfd_mach_o_swap_reloc_in)(res, &reloc))
     return -1;
+
   return 0;
 }
 
@@ -1408,6 +1442,7 @@ bfd_mach_o_canonicalize_relocs (bfd *abf
 
   /* Allocate and read relocs.  */
   native_size = count * BFD_MACH_O_RELENT_SIZE;
+
   native_relocs =
     (struct mach_o_reloc_info_external *) bfd_malloc (native_size);
   if (native_relocs == NULL)
@@ -2334,17 +2369,20 @@ bfd_mach_o_mangle_sections (bfd *abfd, b
       && (mdata->nsects == 0 || mdata->sections != NULL))
     return TRUE;
 
+  /* We need to check that this can be done...  */
+  if (nsect > 255)
+    {
+      (*_bfd_error_handler) (_("mach-o: there are too many sections (%u)"
+			       " maximum is 255,\n"), nsect);
+      return FALSE;
+    }
+
   mdata->nsects = nsect;
   mdata->sections = bfd_alloc (abfd,
 			       mdata->nsects * sizeof (bfd_mach_o_section *));
   if (mdata->sections == NULL)
     return FALSE;
 
-  /* We need to check that this can be done...  */
-  if (nsect > 255)
-    (*_bfd_error_handler) (_("mach-o: there are too many sections (%d)"
-			     " maximum is 255,\n"), nsect);
-
   /* Create Mach-O sections.
      Section type, attribute and align should have been set when the
      section was created - either read in or specified.  */
@@ -3637,16 +3675,21 @@ bfd_mach_o_read_symtab_strtab (bfd *abfd
     }
   else
     {
-      sym->strtab = bfd_alloc (abfd, sym->strsize);
+      sym->strtab = bfd_alloc (abfd, sym->strsize + 1);
       if (sym->strtab == NULL)
         return FALSE;
 
       if (bfd_seek (abfd, sym->stroff, SEEK_SET) != 0
           || bfd_bread (sym->strtab, sym->strsize, abfd) != sym->strsize)
         {
+	  /* PR 17512: file: 10888-1609-0.004.  */
+	  bfd_release (abfd, sym->strtab);
+	  sym->strtab = NULL;
           bfd_set_error (bfd_error_file_truncated);
           return FALSE;
         }
+      /* Zero terminate the string table.  */
+      sym->strtab[sym->strsize] = 0;
     }
 
   return TRUE;
@@ -3660,10 +3703,8 @@ bfd_mach_o_read_symtab_symbols (bfd *abf
   unsigned long i;
 
   if (sym == NULL || sym->symbols)
-    {
-      /* Return now if there are no symbols or if already loaded.  */
-      return TRUE;
-    }
+    /* Return now if there are no symbols or if already loaded.  */
+    return TRUE;
 
   sym->symbols = bfd_alloc (abfd, sym->nsyms * sizeof (bfd_mach_o_asymbol));
 
@@ -3674,12 +3715,20 @@ bfd_mach_o_read_symtab_symbols (bfd *abf
     }
 
   if (!bfd_mach_o_read_symtab_strtab (abfd))
-    return FALSE;
+    {
+      bfd_release (abfd, sym->symbols);
+      sym->symbols = NULL;
+      return FALSE;
+    }
 
   for (i = 0; i < sym->nsyms; i++)
     {
       if (!bfd_mach_o_read_symtab_symbol (abfd, sym, &sym->symbols[i], i))
-	return FALSE;
+	{
+	  bfd_release (abfd, sym->symbols);
+	  sym->symbols = NULL;
+	  return FALSE;
+	}
     }
 
   return TRUE;
@@ -4638,9 +4687,21 @@ bfd_mach_o_read_command (bfd *abfd, bfd_
 	return FALSE;
       break;
     default:
-      (*_bfd_error_handler)(_("%B: unknown load command 0x%lx"),
-         abfd, (unsigned long) command->type);
-      break;
+      {
+	static bfd_boolean unknown_set = FALSE;
+	static unsigned long unknown_command = 0;
+
+	/* Prevent reams of error messages when parsing corrupt binaries.  */
+	if (!unknown_set)
+	  unknown_set = TRUE;
+	else if (command->type == unknown_command)
+	  break;
+	unknown_command = command->type;
+
+	(*_bfd_error_handler)(_("%B: unknown load command 0x%lx"),
+			      abfd, (unsigned long) command->type);
+	break;
+      }
     }
 
   return TRUE;
@@ -5631,12 +5692,13 @@ bfd_mach_o_follow_dsym (bfd *abfd)
 
 bfd_boolean
 bfd_mach_o_find_nearest_line (bfd *abfd,
-			      asection *section,
 			      asymbol **symbols,
+			      asection *section,
 			      bfd_vma offset,
 			      const char **filename_ptr,
 			      const char **functionname_ptr,
-			      unsigned int *line_ptr)
+			      unsigned int *line_ptr,
+			      unsigned int *discriminator_ptr)
 {
   bfd_mach_o_data_struct *mdata = bfd_mach_o_get_data (abfd);
   if (mdata == NULL)
@@ -5668,13 +5730,11 @@ bfd_mach_o_find_nearest_line (bfd *abfd,
     default:
       return FALSE;
     }
-  if (_bfd_dwarf2_find_nearest_line (abfd, dwarf_debug_sections,
-				     section, symbols, offset,
-				     filename_ptr, functionname_ptr,
-				     line_ptr, NULL, 0,
-				     &mdata->dwarf2_find_line_info))
-    return TRUE;
-  return FALSE;
+  return _bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
+					filename_ptr, functionname_ptr,
+					line_ptr, discriminator_ptr,
+					dwarf_debug_sections, 0,
+					&mdata->dwarf2_find_line_info);
 }
 
 bfd_boolean
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o.h ./bfd/mach-o.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/mach-o.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -680,9 +680,11 @@ unsigned int bfd_mach_o_get_section_attr
 
 void bfd_mach_o_convert_section_name_to_bfd (bfd *, const char *, const char *,
 					     const char **, flagword *);
-bfd_boolean bfd_mach_o_find_nearest_line (bfd *, asection *, asymbol **,
-                                          bfd_vma, const char **,
-                                          const char **, unsigned int *);
+bfd_boolean bfd_mach_o_find_nearest_line (bfd *, asymbol **,
+					  asection *, bfd_vma,
+					  const char **, const char **,
+					  unsigned int *, unsigned int *);
+#define bfd_mach_o_find_line _bfd_nosymbols_find_line
 bfd_boolean bfd_mach_o_close_and_cleanup (bfd *);
 bfd_boolean bfd_mach_o_free_cached_info (bfd *);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o-i386.c ./bfd/mach-o-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o-i386.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/mach-o-i386.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Intel i386 Mach-O support for BFD.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o-target.c ./bfd/mach-o-target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o-target.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/mach-o-target.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -31,13 +31,13 @@
 #define bfd_mach_o_bfd_is_local_label_name            bfd_generic_is_local_label_name
 #define bfd_mach_o_get_lineno                         _bfd_nosymbols_get_lineno
 #define bfd_mach_o_find_inliner_info                  _bfd_nosymbols_find_inliner_info
+#define bfd_mach_o_get_symbol_version_string	      _bfd_nosymbols_get_symbol_version_string
 #define bfd_mach_o_bfd_make_debug_symbol              _bfd_nosymbols_bfd_make_debug_symbol
 #define bfd_mach_o_read_minisymbols                   _bfd_generic_read_minisymbols
 #define bfd_mach_o_minisymbol_to_symbol               _bfd_generic_minisymbol_to_symbol
 #define bfd_mach_o_bfd_get_relocated_section_contents bfd_generic_get_relocated_section_contents
 #define bfd_mach_o_bfd_relax_section                  bfd_generic_relax_section
 #define bfd_mach_o_bfd_link_hash_table_create         _bfd_generic_link_hash_table_create
-#define bfd_mach_o_bfd_link_hash_table_free           _bfd_generic_link_hash_table_free
 #define bfd_mach_o_bfd_link_add_symbols               _bfd_generic_link_add_symbols
 #define bfd_mach_o_bfd_link_just_syms                 _bfd_generic_link_just_syms
 #define bfd_mach_o_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o-x86-64.c ./bfd/mach-o-x86-64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mach-o-x86-64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/mach-o-x86-64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Intel x86-64 Mach-O support for BFD.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/MAINTAINERS ./bfd/MAINTAINERS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/MAINTAINERS	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/MAINTAINERS	2015-01-20 02:05:35.000000000 +0000
@@ -1,6 +1,6 @@
 See ../binutils/MAINTAINERS
 
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/Makefile.am ./bfd/Makefile.am
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/Makefile.am	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/Makefile.am	2015-01-20 02:05:35.000000000 +0000
@@ -1,6 +1,6 @@
 ## Process this file with automake to generate Makefile.in
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,9 +20,6 @@
 AUTOMAKE_OPTIONS = 1.11 no-dist foreign
 ACLOCAL_AMFLAGS = -I . -I .. -I ../config
 
-# Uncomment the following line when doing a release.
-# RELEASE=y
-
 INCDIR = $(srcdir)/../include
 CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
 
@@ -67,21 +64,19 @@ BFD_H = bfd.h
 # debugger).
 BFD32_LIBS = \
 	archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \
-	cache.lo coffgen.lo corefile.lo \
-	format.lo init.lo libbfd.lo opncls.lo reloc.lo \
-	section.lo syms.lo targets.lo hash.lo linker.lo \
-	srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo \
-	merge.lo dwarf2.lo simple.lo compress.lo verilog.lo
+	cache.lo coff-bfd.lo compress.lo corefile.lo format.lo hash.lo \
+	init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \
+	section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \
+	binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
 
 BFD64_LIBS = archive64.lo
 
 BFD32_LIBS_CFILES = \
 	archive.c archures.c bfd.c bfdio.c bfdwin.c \
-	cache.c coffgen.c corefile.c \
-	format.c init.c libbfd.c opncls.c reloc.c \
-	section.c syms.c targets.c hash.c linker.c \
-	srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \
-	merge.c dwarf2.c simple.c compress.c verilog.c
+	cache.c coff-bfd.c compress.c corefile.c format.c hash.c \
+	init.c libbfd.c linker.c merge.c opncls.c reloc.c \
+	section.c simple.c stab-syms.c stabs.c syms.c targets.c \
+	binary.c ihex.c srec.c tekhex.c verilog.c
 
 BFD64_LIBS_CFILES = archive64.c
 
@@ -162,6 +157,7 @@ ALL_MACHINES = \
 	cpu-v850.lo \
 	cpu-v850_rh850.lo \
 	cpu-vax.lo \
+	cpu-visium.lo \
 	cpu-w65.lo \
 	cpu-we32k.lo \
 	cpu-xc16x.lo \
@@ -246,6 +242,7 @@ ALL_MACHINES_CFILES = \
 	cpu-v850.c \
 	cpu-v850_rh850.c \
 	cpu-vax.c \
+	cpu-visium.c \
 	cpu-w65.c \
 	cpu-we32k.c \
 	cpu-xc16x.c \
@@ -296,8 +293,10 @@ BFD32_BACKENDS = \
 	coff-we32k.lo \
 	coff-z80.lo \
 	coff-z8k.lo \
+	coffgen.lo \
 	cofflink.lo \
 	dwarf1.lo \
+	dwarf2.lo \
 	ecoff.lo \
 	ecofflink.lo \
 	elf-attrs.lo \
@@ -367,6 +366,7 @@ BFD32_BACKENDS = \
 	elf32-tilepro.lo \
 	elf32-v850.lo \
 	elf32-vax.lo \
+	elf32-visium.lo \
 	elf32-xc16x.lo \
 	elf32-xgate.lo \
 	elf32-xstormy16.lo \
@@ -483,8 +483,10 @@ BFD32_BACKENDS_CFILES = \
 	coff-we32k.c \
 	coff-z80.c \
 	coff-z8k.c \
+	coffgen.c \
 	cofflink.c \
 	dwarf1.c \
+	dwarf2.c \
 	ecoff.c \
 	ecofflink.c \
 	elf-attrs.c \
@@ -554,6 +556,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-tilepro.c \
 	elf32-v850.c \
 	elf32-vax.c \
+	elf32-visium.c \
 	elf32-xc16x.c \
 	elf32-xgate.c \
 	elf32-xstormy16.c \
@@ -735,16 +738,14 @@ OPTIONAL_BACKENDS_CFILES = \
 	sco5-core.c \
 	trad-core.c
 
-# We want to rerun configure if configure.in, config.bfd or
-# configure.host change. configure.in is needed since the version
-# number in Makefile comes from configure.in.
+# Reconfigure if config.bfd or configure.host changes.
+# development.sh is used to determine -Werror default.
 CONFIG_STATUS_DEPENDENCIES = \
-	$(srcdir)/configure.in \
 	$(srcdir)/config.bfd \
 	$(srcdir)/configure.host \
 	$(srcdir)/development.sh
 
-# These are defined by configure.in:
+# These are defined by configure:
 WORDSIZE = @wordsize@
 ALL_BACKENDS = @all_backends@
 BFD_BACKENDS = @bfd_backends@
@@ -1027,14 +1028,15 @@ CLEANFILES = bfd.h dep.sed stmp-bfd-h DE
 
 DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES) libtool-soversion
 
-bfdver.h: $(srcdir)/version.h $(srcdir)/Makefile.in
+bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in
 	@echo "creating $@"
 	@bfd_version=`echo "$(VERSION)" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
 	bfd_version_string="\"$(VERSION)\"" ;\
 	bfd_soversion="$(VERSION)" ;\
 	bfd_version_package="\"$(PKGVERSION)\"" ;\
 	report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\
-	if test "x$(RELEASE)" = x ; then \
+	. $(srcdir)/development.sh ;\
+	if test "$$development" = true ; then \
 	  bfd_version_date=`sed -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\
 	  bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\
 	  bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/Makefile.in ./bfd/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/Makefile.in	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/Makefile.in	2015-01-20 02:05:35.000000000 +0000
@@ -16,7 +16,7 @@
 @SET_MAKE@
 
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -80,7 +80,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \
 	$(top_srcdir)/bfd.m4 $(top_srcdir)/warning.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/../config/zlib.m4 \
-	$(top_srcdir)/configure.in
+	$(top_srcdir)/version.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -121,11 +121,10 @@ am__installdirs = "$(DESTDIR)$(bfdlibdir
 LTLIBRARIES = $(bfdlib_LTLIBRARIES) $(noinst_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 am__objects_1 = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \
-	cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo \
-	opncls.lo reloc.lo section.lo syms.lo targets.lo hash.lo \
-	linker.lo srec.lo binary.lo tekhex.lo ihex.lo stabs.lo \
-	stab-syms.lo merge.lo dwarf2.lo simple.lo compress.lo \
-	verilog.lo
+	cache.lo coff-bfd.lo compress.lo corefile.lo format.lo hash.lo \
+	init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \
+	section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \
+	binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
 am_libbfd_la_OBJECTS = $(am__objects_1)
 libbfd_la_OBJECTS = $(am_libbfd_la_OBJECTS)
 libbfd_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -337,9 +336,6 @@ top_srcdir = @top_srcdir@
 wordsize = @wordsize@
 AUTOMAKE_OPTIONS = 1.11 no-dist foreign
 ACLOCAL_AMFLAGS = -I . -I .. -I ../config
-
-# Uncomment the following line when doing a release.
-# RELEASE=y
 INCDIR = $(srcdir)/../include
 CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
 SUBDIRS = doc po
@@ -369,20 +365,18 @@ BFD_H = bfd.h
 # debugger).
 BFD32_LIBS = \
 	archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \
-	cache.lo coffgen.lo corefile.lo \
-	format.lo init.lo libbfd.lo opncls.lo reloc.lo \
-	section.lo syms.lo targets.lo hash.lo linker.lo \
-	srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo \
-	merge.lo dwarf2.lo simple.lo compress.lo verilog.lo
+	cache.lo coff-bfd.lo compress.lo corefile.lo format.lo hash.lo \
+	init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \
+	section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \
+	binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
 
 BFD64_LIBS = archive64.lo
 BFD32_LIBS_CFILES = \
 	archive.c archures.c bfd.c bfdio.c bfdwin.c \
-	cache.c coffgen.c corefile.c \
-	format.c init.c libbfd.c opncls.c reloc.c \
-	section.c syms.c targets.c hash.c linker.c \
-	srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \
-	merge.c dwarf2.c simple.c compress.c verilog.c
+	cache.c coff-bfd.c compress.c corefile.c format.c hash.c \
+	init.c libbfd.c linker.c merge.c opncls.c reloc.c \
+	section.c simple.c stab-syms.c stabs.c syms.c targets.c \
+	binary.c ihex.c srec.c tekhex.c verilog.c
 
 BFD64_LIBS_CFILES = archive64.c
 
@@ -463,6 +457,7 @@ ALL_MACHINES = \
 	cpu-v850.lo \
 	cpu-v850_rh850.lo \
 	cpu-vax.lo \
+	cpu-visium.lo \
 	cpu-w65.lo \
 	cpu-we32k.lo \
 	cpu-xc16x.lo \
@@ -547,6 +542,7 @@ ALL_MACHINES_CFILES = \
 	cpu-v850.c \
 	cpu-v850_rh850.c \
 	cpu-vax.c \
+	cpu-visium.c \
 	cpu-w65.c \
 	cpu-we32k.c \
 	cpu-xc16x.c \
@@ -598,8 +594,10 @@ BFD32_BACKENDS = \
 	coff-we32k.lo \
 	coff-z80.lo \
 	coff-z8k.lo \
+	coffgen.lo \
 	cofflink.lo \
 	dwarf1.lo \
+	dwarf2.lo \
 	ecoff.lo \
 	ecofflink.lo \
 	elf-attrs.lo \
@@ -669,6 +667,7 @@ BFD32_BACKENDS = \
 	elf32-tilepro.lo \
 	elf32-v850.lo \
 	elf32-vax.lo \
+	elf32-visium.lo \
 	elf32-xc16x.lo \
 	elf32-xgate.lo \
 	elf32-xstormy16.lo \
@@ -785,8 +784,10 @@ BFD32_BACKENDS_CFILES = \
 	coff-we32k.c \
 	coff-z80.c \
 	coff-z8k.c \
+	coffgen.c \
 	cofflink.c \
 	dwarf1.c \
+	dwarf2.c \
 	ecoff.c \
 	ecofflink.c \
 	elf-attrs.c \
@@ -856,6 +857,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-tilepro.c \
 	elf32-v850.c \
 	elf32-vax.c \
+	elf32-visium.c \
 	elf32-xc16x.c \
 	elf32-xgate.c \
 	elf32-xstormy16.c \
@@ -1039,17 +1041,15 @@ OPTIONAL_BACKENDS_CFILES = \
 	trad-core.c
 
 
-# We want to rerun configure if configure.in, config.bfd or
-# configure.host change. configure.in is needed since the version
-# number in Makefile comes from configure.in.
+# Reconfigure if config.bfd or configure.host changes.
+# development.sh is used to determine -Werror default.
 CONFIG_STATUS_DEPENDENCIES = \
-	$(srcdir)/configure.in \
 	$(srcdir)/config.bfd \
 	$(srcdir)/configure.host \
 	$(srcdir)/development.sh
 
 
-# These are defined by configure.in:
+# These are defined by configure:
 WORDSIZE = @wordsize@
 ALL_BACKENDS = @all_backends@
 BFD_BACKENDS = @bfd_backends@
@@ -1273,6 +1273,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-apollo.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-arm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-aux.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-bfd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-go32.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8300.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8500.Plo@am__quote@
@@ -1376,6 +1377,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-v850.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-v850_rh850.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-vax.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-visium.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-w65.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-we32k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-xc16x.Plo@am__quote@
@@ -1461,6 +1463,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-tilepro.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-v850.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-vax.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-visium.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-xc16x.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-xgate.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-xstormy16.Plo@am__quote@
@@ -2087,14 +2090,15 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES)
 	$(SHELL) $(srcdir)/../move-if-change libcoff.h-new $(srcdir)/libcoff.h
 	touch stmp-lcoff-h
 
-bfdver.h: $(srcdir)/version.h $(srcdir)/Makefile.in
+bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in
 	@echo "creating $@"
 	@bfd_version=`echo "$(VERSION)" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
 	bfd_version_string="\"$(VERSION)\"" ;\
 	bfd_soversion="$(VERSION)" ;\
 	bfd_version_package="\"$(PKGVERSION)\"" ;\
 	report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\
-	if test "x$(RELEASE)" = x ; then \
+	. $(srcdir)/development.sh ;\
+	if test "$$development" = true ; then \
 	  bfd_version_date=`sed -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\
 	  bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\
 	  bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/makefile.vms ./bfd/makefile.vms
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/makefile.vms	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/makefile.vms	2015-01-20 02:05:36.000000000 +0000
@@ -5,7 +5,7 @@
 #
 # Created by Klaus K"ampf, kkaempf@rmi.de
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mep-relocs.pl ./bfd/mep-relocs.pl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mep-relocs.pl	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/mep-relocs.pl	2015-01-20 02:05:36.000000000 +0000
@@ -2,7 +2,7 @@
 # -*- perl -*-
 #
 # Toshiba MeP Media Engine Relocation Generator
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2015 Free Software Foundation, Inc.
 # This file is part of BFD.
 # Originally written by DJ Delorie <dj@redhat.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/merge.c ./bfd/merge.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/merge.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/merge.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* SEC_MERGE support.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Written by Jakub Jelinek <jakub@redhat.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mipsbsd.c ./bfd/mipsbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mipsbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/mipsbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for MIPS BSD (a.out) binaries.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Ralph Campbell.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mmo.c ./bfd/mmo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/mmo.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/mmo.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for mmo objects (MMIX-specific object-format).
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Written by Hans-Peter Nilsson (hp@bitrange.com).
    Infrastructure and other bits originally copied from srec.c and
    binary.c.
@@ -3204,12 +3204,16 @@ mmo_write_object_contents (bfd *abfd)
 #define mmo_bfd_is_target_special_symbol  \
   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 
+#define mmo_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
+
 /* Is this one really used or defined by anyone?  */
 #define mmo_get_lineno _bfd_nosymbols_get_lineno
 
 /* FIXME: We can do better on this one, if we have a dwarf2 .debug_line
    section or if MMO line numbers are implemented.  */
 #define mmo_find_nearest_line _bfd_nosymbols_find_nearest_line
+#define mmo_find_line _bfd_nosymbols_find_line
 #define mmo_find_inliner_info _bfd_nosymbols_find_inliner_info
 #define mmo_make_empty_symbol _bfd_generic_make_empty_symbol
 #define mmo_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
@@ -3223,7 +3227,6 @@ mmo_write_object_contents (bfd *abfd)
 #define mmo_bfd_gc_sections bfd_generic_gc_sections
 #define mmo_bfd_lookup_section_flags bfd_generic_lookup_section_flags
 #define mmo_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define mmo_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
 #define mmo_bfd_link_add_symbols _bfd_generic_link_add_symbols
 #define mmo_bfd_link_just_syms _bfd_generic_link_just_syms
 #define mmo_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/netbsd-core.c ./bfd/netbsd-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/netbsd-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/netbsd-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back end for NetBSD style core files
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
    Written by Paul Kranenburg, EUR
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/netbsd.h ./bfd/netbsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/netbsd.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/netbsd.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end definitions used by all NetBSD targets.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/newsos3.c ./bfd/newsos3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/newsos3.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/newsos3.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for NewsOS3 (Sony, 68k) binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32-alpha.c ./bfd/nlm32-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32-alpha.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlm32-alpha.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for 32-bit Alpha NLM (NetWare Loadable Module)
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32.c ./bfd/nlm32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlm32.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* NLM (NetWare Loadable Module) 32-bit executable support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32-i386.c ./bfd/nlm32-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32-i386.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlm32-i386.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for 32-bit i386 NLM (NetWare Loadable Module)
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32-ppc.c ./bfd/nlm32-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32-ppc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlm32-ppc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for 32-bit PowerPC NLM (NetWare Loadable Module)
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32-sparc.c ./bfd/nlm32-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm32-sparc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlm32-sparc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for 32-bit SPARC NLM (NetWare Loadable Module)
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm64.c ./bfd/nlm64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlm64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* NLM (NetWare Loadable Module) 64-bit executable support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm.c ./bfd/nlm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlm.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* NLM (NetWare Loadable Module) executable support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlmcode.h ./bfd/nlmcode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlmcode.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlmcode.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* NLM (NetWare Loadable Module) executable support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, using ELF support as the
    template.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlmswap.h ./bfd/nlmswap.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlmswap.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlmswap.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* NLM (NetWare Loadable Module) swapping routines for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, using ELF support as the
    template.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm-target.h ./bfd/nlm-target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/nlm-target.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/nlm-target.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target definitions for 32/64-bit NLM (NetWare Loadable Module)
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -25,10 +25,12 @@
 #define nlm_make_empty_symbol                   nlmNAME (make_empty_symbol)
 #define nlm_print_symbol                        nlmNAME (print_symbol)
 #define nlm_get_symbol_info                     nlmNAME (get_symbol_info)
+#define nlm_get_symbol_version_string		_bfd_nosymbols_get_symbol_version_string
 #define nlm_bfd_is_local_label_name             bfd_generic_is_local_label_name
 #define nlm_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 #define nlm_get_lineno                          _bfd_nosymbols_get_lineno
 #define nlm_find_nearest_line                   _bfd_nosymbols_find_nearest_line
+#define nlm_find_line                           _bfd_nosymbols_find_line
 #define nlm_find_inliner_info                   _bfd_nosymbols_find_inliner_info
 #define nlm_bfd_make_debug_symbol               _bfd_nosymbols_bfd_make_debug_symbol
 #define nlm_read_minisymbols                    _bfd_generic_read_minisymbols
@@ -51,7 +53,6 @@
 #define nlm_section_already_linked              _bfd_generic_section_already_linked
 #define nlm_bfd_define_common_symbol            bfd_generic_define_common_symbol
 #define nlm_bfd_link_hash_table_create          _bfd_generic_link_hash_table_create
-#define nlm_bfd_link_hash_table_free            _bfd_generic_link_hash_table_free
 #define nlm_bfd_link_add_symbols                _bfd_generic_link_add_symbols
 #define nlm_bfd_link_just_syms                  _bfd_generic_link_just_syms
 #define nlm_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ns32k.h ./bfd/ns32k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ns32k.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ns32k.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header file for ns32k routines.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ns32knetbsd.c ./bfd/ns32knetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ns32knetbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ns32knetbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for NetBSD/ns32k a.out-ish binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/oasys.c ./bfd/oasys.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/oasys.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/oasys.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for oasys objects.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support, <sac@cygnus.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1129,26 +1129,9 @@ oasys_openr_next_archived_file (bfd *arc
   return NULL;
 }
 
-static bfd_boolean
-oasys_find_nearest_line (bfd *abfd ATTRIBUTE_UNUSED,
-			 asection *section ATTRIBUTE_UNUSED,
-			 asymbol **symbols ATTRIBUTE_UNUSED,
-			 bfd_vma offset ATTRIBUTE_UNUSED,
-			 const char **filename_ptr ATTRIBUTE_UNUSED,
-			 const char **functionname_ptr ATTRIBUTE_UNUSED,
-			 unsigned int *line_ptr ATTRIBUTE_UNUSED)
-{
-  return FALSE;
-}
-
-static bfd_boolean
-oasys_find_inliner_info (bfd *abfd ATTRIBUTE_UNUSED,
-			 const char **filename_ptr ATTRIBUTE_UNUSED,
-			 const char **functionname_ptr ATTRIBUTE_UNUSED,
-			 unsigned int *line_ptr ATTRIBUTE_UNUSED)
-{
-  return FALSE;
-}
+#define oasys_find_nearest_line _bfd_nosymbols_find_nearest_line
+#define oasys_find_line         _bfd_nosymbols_find_line
+#define oasys_find_inliner_info _bfd_nosymbols_find_inliner_info
 
 static int
 oasys_generic_stat_arch_elt (bfd *abfd, struct stat *buf)
@@ -1187,6 +1170,7 @@ oasys_sizeof_headers (bfd *abfd ATTRIBUT
 #define oasys_bfd_is_local_label_name              bfd_generic_is_local_label_name
 #define oasys_bfd_is_target_special_symbol         ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 #define oasys_get_lineno                           _bfd_nosymbols_get_lineno
+#define oasys_get_symbol_version_string		   _bfd_nosymbols_get_symbol_version_string
 #define oasys_bfd_make_debug_symbol                _bfd_nosymbols_bfd_make_debug_symbol
 #define oasys_read_minisymbols                     _bfd_generic_read_minisymbols
 #define oasys_minisymbol_to_symbol                 _bfd_generic_minisymbol_to_symbol
@@ -1204,7 +1188,6 @@ oasys_sizeof_headers (bfd *abfd ATTRIBUT
 #define oasys_section_already_linked               _bfd_generic_section_already_linked
 #define oasys_bfd_define_common_symbol             bfd_generic_define_common_symbol
 #define oasys_bfd_link_hash_table_create           _bfd_generic_link_hash_table_create
-#define oasys_bfd_link_hash_table_free             _bfd_generic_link_hash_table_free
 #define oasys_bfd_link_add_symbols                 _bfd_generic_link_add_symbols
 #define oasys_bfd_link_just_syms                   _bfd_generic_link_just_syms
 #define oasys_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/opncls.c ./bfd/opncls.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/opncls.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/opncls.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* opncls.c -- open and close a BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Written by Cygnus Support.
 
@@ -937,14 +937,23 @@ void *
 bfd_alloc (bfd *abfd, bfd_size_type size)
 {
   void *ret;
+  unsigned long ul_size = (unsigned long) size;
 
-  if (size != (unsigned long) size)
+  if (size != ul_size
+      /* Note - although objalloc_alloc takes an unsigned long as its
+	 argument, internally the size is treated as a signed long.  This can
+	 lead to problems where, for example, a request to allocate -1 bytes
+	 can result in just 1 byte being allocated, rather than
+	 ((unsigned long) -1) bytes.  Also memory checkers will often
+	 complain about attempts to allocate a negative amount of memory.
+	 So to stop these problems we fail if the size is negative.  */
+      || ((signed long) ul_size) < 0)
     {
       bfd_set_error (bfd_error_no_memory);
       return NULL;
     }
 
-  ret = objalloc_alloc ((struct objalloc *) abfd->memory, (unsigned long) size);
+  ret = objalloc_alloc ((struct objalloc *) abfd->memory, ul_size);
   if (ret == NULL)
     bfd_set_error (bfd_error_no_memory);
   return ret;
@@ -965,8 +974,6 @@ DESCRIPTION
 void *
 bfd_alloc2 (bfd *abfd, bfd_size_type nmemb, bfd_size_type size)
 {
-  void *ret;
-
   if ((nmemb | size) >= HALF_BFD_SIZE_TYPE
       && size != 0
       && nmemb > ~(bfd_size_type) 0 / size)
@@ -975,18 +982,7 @@ bfd_alloc2 (bfd *abfd, bfd_size_type nme
       return NULL;
     }
 
-  size *= nmemb;
-
-  if (size != (unsigned long) size)
-    {
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
-
-  ret = objalloc_alloc ((struct objalloc *) abfd->memory, (unsigned long) size);
-  if (ret == NULL)
-    bfd_set_error (bfd_error_no_memory);
-  return ret;
+  return bfd_alloc (abfd, size * nmemb);
 }
 
 /*
@@ -1178,7 +1174,7 @@ bfd_get_debug_link_info (bfd *abfd, unsi
   asection *sect;
   unsigned long crc32;
   bfd_byte *contents;
-  int crc_offset;
+  unsigned int crc_offset;
   char *name;
 
   BFD_ASSERT (abfd);
@@ -1196,10 +1192,13 @@ bfd_get_debug_link_info (bfd *abfd, unsi
       return NULL;
     }
 
-  /* Crc value is stored after the filename, aligned up to 4 bytes.  */
+  /* CRC value is stored after the filename, aligned up to 4 bytes.  */
   name = (char *) contents;
-  crc_offset = strlen (name) + 1;
+  /* PR 17597: avoid reading off the end of the buffer.  */
+  crc_offset = strnlen (name, bfd_get_section_size (sect)) + 1;
   crc_offset = (crc_offset + 3) & ~3;
+  if (crc_offset >= bfd_get_section_size (sect))
+    return NULL;
 
   crc32 = bfd_get_32 (abfd, contents + crc_offset);
 
@@ -1231,7 +1230,7 @@ bfd_get_alt_debug_link_info (bfd * abfd,
 {
   asection *sect;
   bfd_byte *contents;
-  int buildid_offset;
+  unsigned int buildid_offset;
   char *name;
 
   BFD_ASSERT (abfd);
@@ -1252,7 +1251,9 @@ bfd_get_alt_debug_link_info (bfd * abfd,
 
   /* BuildID value is stored after the filename.  */
   name = (char *) contents;
-  buildid_offset = strlen (name) + 1;
+  buildid_offset = strnlen (name, bfd_get_section_size (sect)) + 1;
+  if (buildid_offset >= bfd_get_section_size (sect))
+    return NULL;
 
   *buildid_len = bfd_get_section_size (sect) - buildid_offset;
   *buildid_out = bfd_malloc (*buildid_len);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/osf-core.c ./bfd/osf-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/osf-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/osf-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for OSF/1 core files.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pc532-mach.c ./bfd/pc532-mach.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pc532-mach.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pc532-mach.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Mach3/532 a.out-ish binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pdp11.c ./bfd/pdp11.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pdp11.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pdp11.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for PDP-11 a.out binaries.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -251,7 +251,7 @@ HOWTO( 1,	       0,  1,  16,  TRUE,  0, 
 #define TABLE_SIZE(TABLE)	(sizeof(TABLE)/sizeof(TABLE[0]))
 
 
-static bfd_boolean aout_link_check_archive_element (bfd *, struct bfd_link_info *, bfd_boolean *);
+static bfd_boolean aout_link_check_archive_element (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *, bfd_boolean *);
 static bfd_boolean aout_link_add_object_symbols    (bfd *, struct bfd_link_info *);
 static bfd_boolean aout_link_add_symbols           (bfd *, struct bfd_link_info *);
 static bfd_boolean aout_link_write_symbols         (struct aout_final_link_info *, bfd *);
@@ -2182,12 +2182,13 @@ NAME (aout, minisymbol_to_symbol) (bfd *
 
 bfd_boolean
 NAME (aout, find_nearest_line) (bfd *abfd,
-				asection *section,
 				asymbol **symbols,
+				asection *section,
 				bfd_vma offset,
 				const char **filename_ptr,
 				const char **functionname_ptr,
-				unsigned int *line_ptr)
+				unsigned int *line_ptr,
+				unsigned int *discriminator_ptr)
 {
   /* Run down the file looking for the filename, function and linenumber.  */
   asymbol **p;
@@ -2204,6 +2205,8 @@ NAME (aout, find_nearest_line) (bfd *abf
   *filename_ptr = abfd->filename;
   *functionname_ptr = 0;
   *line_ptr = 0;
+  if (discriminator_ptr)
+    *discriminator_ptr = 0;
 
   if (symbols != NULL)
     {
@@ -2679,6 +2682,8 @@ aout_link_check_ar_symbols (bfd *abfd,
 static bfd_boolean
 aout_link_check_archive_element (bfd *abfd,
 				 struct bfd_link_info *info,
+				 struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED,
+				 const char *name ATTRIBUTE_UNUSED,
 				 bfd_boolean *pneeded)
 {
   bfd *oldbfd;
@@ -3638,7 +3643,7 @@ aout_link_input_bfd (struct aout_final_l
 
 /* Do the final link step.  This is called on the output BFD.  The
    INFO structure should point to a list of BFDs linked through the
-   link_next field which can be used to find each BFD which takes part
+   link.next field which can be used to find each BFD which takes part
    in the output.  Also, each section in ABFD should point to a list
    of bfd_link_order structures which list all the input sections for
    the output section.  */
@@ -3685,7 +3690,7 @@ NAME (aout, final_link) (bfd *abfd,
   max_contents_size = 0;
   max_relocs_size = 0;
   max_sym_count = 0;
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       size_t sz;
 
@@ -3823,7 +3828,7 @@ NAME (aout, final_link) (bfd *abfd,
 
      We use the output_has_begun field of the input BFDs to see
      whether we have already handled it.  */
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     sub->output_has_begun = FALSE;
 
   /* Mark all sections which are to be included in the link.  This
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-arm.c ./bfd/pe-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-arm.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pe-arm.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for ARM PECOFF files.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-arm-wince.c ./bfd/pe-arm-wince.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-arm-wince.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pe-arm-wince.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for ARM WINCE PE files.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pef.c ./bfd/pef.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pef.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pef.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* PEF support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -41,7 +41,9 @@
 #define bfd_pef_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 #define bfd_pef_get_lineno                          _bfd_nosymbols_get_lineno
 #define bfd_pef_find_nearest_line                   _bfd_nosymbols_find_nearest_line
+#define bfd_pef_find_line                           _bfd_nosymbols_find_line
 #define bfd_pef_find_inliner_info                   _bfd_nosymbols_find_inliner_info
+#define bfd_pef_get_symbol_version_string	    _bfd_nosymbols_get_symbol_version_string
 #define bfd_pef_bfd_make_debug_symbol               _bfd_nosymbols_bfd_make_debug_symbol
 #define bfd_pef_read_minisymbols                    _bfd_generic_read_minisymbols
 #define bfd_pef_minisymbol_to_symbol                _bfd_generic_minisymbol_to_symbol
@@ -58,7 +60,6 @@
 #define bfd_pef_section_already_linked	            _bfd_generic_section_already_linked
 #define bfd_pef_bfd_define_common_symbol            bfd_generic_define_common_symbol
 #define bfd_pef_bfd_link_hash_table_create          _bfd_generic_link_hash_table_create
-#define bfd_pef_bfd_link_hash_table_free            _bfd_generic_link_hash_table_free
 #define bfd_pef_bfd_link_add_symbols                _bfd_generic_link_add_symbols
 #define bfd_pef_bfd_link_just_syms                  _bfd_generic_link_just_syms
 #define bfd_pef_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pef.h ./bfd/pef.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pef.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pef.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* PEF support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pef-traceback.h ./bfd/pef-traceback.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pef-traceback.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pef-traceback.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* PowerPC traceback table support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-i386.c ./bfd/pe-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-i386.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pe-i386.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel 386 PECOFF files.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-arm.c ./bfd/pei-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-arm.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pei-arm.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for arm PE IMAGE COFF files.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-arm-wince.c ./bfd/pei-arm-wince.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-arm-wince.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pei-arm-wince.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for ARM WINCE PE IMAGE COFF files.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/peicode.h ./bfd/peicode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/peicode.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/peicode.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for the generic parts of PE/PEI, for BFD.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Cygnus Solutions.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -271,6 +271,7 @@ pe_mkobject (bfd * abfd)
   /* in_reloc_p is architecture dependent.  */
   pe->in_reloc_p = in_reloc_p;
 
+  memset (& pe->pe_opthdr, 0, sizeof pe->pe_opthdr);
   return TRUE;
 }
 
@@ -567,6 +568,7 @@ pe_ILF_make_a_symbol (pe_ILF_vars *  var
   ent->u.syment.n_sclass          = sclass;
   ent->u.syment.n_scnum           = section->target_index;
   ent->u.syment._n._n_n._n_offset = (bfd_hostptr_t) sym;
+  ent->is_sym = TRUE;
 
   sym->symbol.the_bfd = vars->abfd;
   sym->symbol.name    = vars->string_ptr;
@@ -1313,7 +1315,7 @@ pe_bfd_object_p (bfd * abfd)
 
   /* Swap file header, so that we get the location for calling
      real_object_p.  */
-  bfd_coff_swap_filehdr_in (abfd, (PTR)&image_hdr, &internal_f);
+  bfd_coff_swap_filehdr_in (abfd, &image_hdr, &internal_f);
 
   if (! bfd_coff_bad_format_hook (abfd, &internal_f)
       || internal_f.f_opthdr > bfd_coff_aoutsz (abfd))
@@ -1327,16 +1329,21 @@ pe_bfd_object_p (bfd * abfd)
 
   if (opt_hdr_size != 0)
     {
-      PTR opthdr;
+      bfd_size_type amt = opt_hdr_size;
+      void * opthdr;
 
-      opthdr = bfd_alloc (abfd, opt_hdr_size);
+      /* PR 17521 file: 230-131433-0.004.  */
+      if (amt < sizeof (PEAOUTHDR))
+	amt = sizeof (PEAOUTHDR);
+
+      opthdr = bfd_zalloc (abfd, amt);
       if (opthdr == NULL)
 	return NULL;
       if (bfd_bread (opthdr, opt_hdr_size, abfd)
 	  != (bfd_size_type) opt_hdr_size)
 	return NULL;
 
-      bfd_coff_swap_aouthdr_in (abfd, opthdr, (PTR) & internal_a);
+      bfd_coff_swap_aouthdr_in (abfd, opthdr, & internal_a);
     }
 
   return coff_real_object_p (abfd, internal_f.f_nscns, &internal_f,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-i386.c ./bfd/pei-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-i386.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pei-i386.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel 386 PE IMAGE COFF files.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-ia64.c ./bfd/pei-ia64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-ia64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pei-ia64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for HP/Intel IA-64 PE IMAGE COFF files.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger <davidm@hpl.hp.com>
 
    This implementation only supports objcopy to ouput IA-64 PE IMAGE COFF
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-mcore.c ./bfd/pei-mcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-mcore.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pei-mcore.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for MCore PECOFF files.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-mips.c ./bfd/pei-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-mips.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pei-mips.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for MIPS PE IMAGE COFF files.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-ppc.c ./bfd/pei-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-ppc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pei-ppc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for PowerPC PE IMAGE COFF files.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-sh.c ./bfd/pei-sh.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-sh.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pei-sh.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for SH PE IMAGE COFF files.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-x86_64.c ./bfd/pei-x86_64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pei-x86_64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pei-x86_64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel 386 PE IMAGE COFF files.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -115,6 +115,7 @@ pex64_get_unwind_info (bfd *abfd, struct
   ui->sizeofUnwindCodes = PEX64_UWI_SIZEOF_UWCODE_ARRAY (ui->CountOfCodes);
   ui->SizeOfBlock = ui->sizeofUnwindCodes + 4;
   ui->rawUnwindCodes = &ex_dta[4];
+
   ex_dta += ui->SizeOfBlock;
   switch (ui->Flags)
     {
@@ -276,8 +277,9 @@ pex64_xdata_print_uwd_codes (FILE *file,
 	    fprintf (file, ", unknown(%u))", info);
 	  break;
 	default:
-	  /* Already caught by the previous scan.  */
-	  abort ();
+	  /* PR 17512: file: 2245-7442-0.004.  */
+	  fprintf (file, _("Unknown: %x"), PEX64_UNWCODE_CODE (dta[1]));
+	  break;
       }
       if (unexpected)
 	fprintf (file, " [Unexpected!]");
@@ -317,20 +319,34 @@ pex64_dump_xdata (FILE *file, bfd *abfd,
   bfd_vma vaddr;
   bfd_vma end_addr;
   bfd_vma addr = rf->rva_UnwindData;
+  bfd_size_type sec_size = xdata_section->rawsize > 0 ? xdata_section->rawsize : xdata_section->size;
   struct pex64_unwind_info ui;
 
   vaddr = xdata_section->vma - pe_data (abfd)->pe_opthdr.ImageBase;
   addr -= vaddr;
 
+  /* PR 17512: file: 2245-7442-0.004.  */
+  if (addr >= sec_size)
+    {
+      fprintf (file, _("warning: xdata section corrupt\n"));
+      return;
+    }
+
   if (endx)
-    end_addr = endx[0] - vaddr;
+    {
+      end_addr = endx[0] - vaddr;
+      /* PR 17512: file: 2245-7442-0.004.  */
+      if (end_addr > sec_size)
+	{
+	  fprintf (file, _("warning: xdata section corrupt"));
+	  end_addr = sec_size;
+	}
+    }
   else
-    end_addr = (xdata_section->rawsize != 0 ?
-		xdata_section->rawsize : xdata_section->size);
-
+    end_addr = sec_size;
 
   pex64_get_unwind_info (abfd, &ui, &xdata[addr]);
-
+  
   if (ui.Version != 1 && ui.Version != 2)
     {
       unsigned int i;
@@ -380,7 +396,11 @@ pex64_dump_xdata (FILE *file, bfd *abfd,
 	   ui.FrameRegister == 0 ? "none"
 	   : pex_regs[(unsigned int) ui.FrameRegister]);
 
-  pex64_xdata_print_uwd_codes (file, abfd, &ui, rf);
+  /* PR 17512: file: 2245-7442-0.004.  */
+  if (ui.CountOfCodes * 2 + ui.rawUnwindCodes > xdata + xdata_section->size)
+    fprintf (file, _("Too many unwind codes (%ld)\n"), (long) ui.CountOfCodes);
+  else
+    pex64_xdata_print_uwd_codes (file, abfd, &ui, rf);
 
   switch (ui.Flags)
     {
@@ -439,23 +459,24 @@ sort_xdata_arr (const void *l, const voi
 /* Display unwind tables for x86-64.  */
 
 static bfd_boolean
-pex64_bfd_print_pdata (bfd *abfd, void *vfile)
+pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section)
 {
   FILE *file = (FILE *) vfile;
   bfd_byte *pdata = NULL;
   bfd_byte *xdata = NULL;
-  asection *pdata_section = bfd_get_section_by_name (abfd, ".pdata");
-  asection *xdata_section;
+  asection *xdata_section = NULL;
   bfd_vma xdata_base;
   bfd_size_type i;
+  bfd_size_type datasize;
   bfd_size_type stop;
-  bfd_vma prev_beginaddress = 0;
-  bfd_vma prev_unwinddata_rva = 0;
+  bfd_vma prev_beginaddress = (bfd_vma) -1;
+  bfd_vma prev_unwinddata_rva = (bfd_vma) -1;
   bfd_vma imagebase;
   int onaline = PDATA_ROW_SIZE;
   int seen_error = 0;
   bfd_vma *xdata_arr = NULL;
   int xdata_arr_cnt;
+  bfd_boolean virt_size_is_zero = FALSE;
 
   /* Sanity checks.  */
   if (pdata_section == NULL
@@ -466,12 +487,38 @@ pex64_bfd_print_pdata (bfd *abfd, void *
   stop = pei_section_data (abfd, pdata_section)->virt_size;
   if ((stop % onaline) != 0)
     fprintf (file,
-	     _("warning: .pdata section size (%ld) is not a multiple of %d\n"),
-	     (long) stop, onaline);
+	     _("Warning: %s section size (%ld) is not a multiple of %d\n"),
+	     pdata_section->name, (long) stop, onaline);
+
+  datasize = pdata_section->size;
+  if (datasize == 0)
+    {
+      if (stop)
+	fprintf (file, _("Warning: %s section size is zero\n"),
+		 pdata_section->name);
+      return TRUE;
+    }
+
+  /* virt_size might be zero for objects.  */
+  if (stop == 0 && strcmp (abfd->xvec->name, "pe-x86-64") == 0)
+    {
+      stop = (datasize / onaline) * onaline;
+      virt_size_is_zero = TRUE;
+    }
+  else if (datasize < stop)
+      {
+	fprintf (file,
+		 _("Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"),
+		 pdata_section->name, (unsigned long) datasize,
+		 (unsigned long) stop);
+	/* Be sure not to read passed datasize.  */
+	stop = datasize / onaline;
+      }
 
   /* Display functions table.  */
   fprintf (file,
-	   _("\nThe Function Table (interpreted .pdata section contents)\n"));
+	   _("\nThe Function Table (interpreted %s section contents)\n"),
+	   pdata_section->name);
 
   fprintf (file, _("vma:\t\t\tBeginAddress\t EndAddress\t  UnwindData\n"));
 
@@ -482,7 +529,10 @@ pex64_bfd_print_pdata (bfd *abfd, void *
   xdata_arr = (bfd_vma *) xmalloc (sizeof (bfd_vma) * ((stop / onaline) + 1));
   xdata_arr_cnt = 0;
 
-  imagebase = pe_data (abfd)->pe_opthdr.ImageBase;
+  if (strcmp (abfd->xvec->name, "pei-x86-64") == 0)
+    imagebase = pe_data (abfd)->pe_opthdr.ImageBase;
+  else
+    imagebase = 0;
 
   for (i = 0; i < stop; i += onaline)
     {
@@ -490,6 +540,7 @@ pex64_bfd_print_pdata (bfd *abfd, void *
 
       if (i + PDATA_ROW_SIZE > stop)
 	break;
+
       pex64_get_runtime_function (abfd, &rf, &pdata[i]);
 
       if (rf.rva_BeginAddress == 0 && rf.rva_EndAddress == 0
@@ -528,8 +579,9 @@ pex64_bfd_print_pdata (bfd *abfd, void *
 	  seen_error = 1;
 	  fprintf (file, "  has negative unwind address\n");
 	}
-      if (rf.rva_UnwindData && !PEX64_IS_RUNTIME_FUNCTION_CHAINED (&rf))
-        xdata_arr[xdata_arr_cnt++] = rf.rva_UnwindData;
+      else if ((rf.rva_UnwindData && !PEX64_IS_RUNTIME_FUNCTION_CHAINED (&rf))
+		|| virt_size_is_zero)
+	xdata_arr[xdata_arr_cnt++] = rf.rva_UnwindData;
     }
 
   if (seen_error)
@@ -545,20 +597,42 @@ pex64_bfd_print_pdata (bfd *abfd, void *
 
   /* Find the section containing the unwind data (.xdata).  */
   xdata_base = xdata_arr[0];
-  xdata_section = pex64_get_section_by_rva (abfd, xdata_base, ".rdata");
+  /* For sections with long names, first look for the same
+     section name, replacing .pdata by .xdata prefix.  */
+  if (strcmp (pdata_section->name, ".pdata") != 0)
+    {
+      size_t len = strlen (pdata_section->name);
+      char *xdata_name = alloca (len + 1);
 
-  if (!xdata_section)
-    xdata_section = pex64_get_section_by_rva (abfd, xdata_base, ".data");
+      xdata_name = memcpy (xdata_name, pdata_section->name, len + 1);
+      /* Transform .pdata prefix into .xdata prefix.  */
+      if (len > 1)
+	xdata_name [1] = 'x';
+      xdata_section = pex64_get_section_by_rva (abfd, xdata_base,
+						xdata_name);
+    }
+  /* Second, try the .xdata section itself.  */
   if (!xdata_section)
     xdata_section = pex64_get_section_by_rva (abfd, xdata_base, ".xdata");
-  if (!xdata_section)
+  /* Otherwise, if xdata_base is non zero, search also inside
+     other standard sections.  */
+  if (!xdata_section && xdata_base)
+    xdata_section = pex64_get_section_by_rva (abfd, xdata_base, ".rdata");
+  if (!xdata_section && xdata_base)
+    xdata_section = pex64_get_section_by_rva (abfd, xdata_base, ".data");
+  if (!xdata_section && xdata_base)
     xdata_section = pex64_get_section_by_rva (abfd, xdata_base, ".pdata");
-  if (!xdata_section)
+  if (!xdata_section && xdata_base)
     xdata_section = pex64_get_section_by_rva (abfd, xdata_base, ".text");
+  /* Transfer xdata section into xdata array.  */
   if (!xdata_section
       || !bfd_malloc_and_get_section (abfd, xdata_section, &xdata))
     goto done;
 
+  /* Avoid "also used "... ouput for single unwind info
+     in object file.  */
+  prev_unwinddata_rva = (bfd_vma) -1;
+
   /* Do dump of pdata related xdata.  */
   for (i = 0; i < stop; i += onaline)
     {
@@ -566,6 +640,7 @@ pex64_bfd_print_pdata (bfd *abfd, void *
 
       if (i + PDATA_ROW_SIZE > stop)
 	break;
+
       pex64_get_runtime_function (abfd, &rf, &pdata[i]);
 
       if (rf.rva_BeginAddress == 0 && rf.rva_EndAddress == 0
@@ -573,7 +648,7 @@ pex64_bfd_print_pdata (bfd *abfd, void *
 	/* We are probably into the padding of the section now.  */
 	break;
       if (i == 0)
-        fprintf (file, "\nDump of .xdata\n");
+        fprintf (file, _("\nDump of %s\n"), xdata_section->name);
 
       fputc (' ', file);
       fprintf_vma (file, rf.rva_UnwindData + imagebase);
@@ -596,7 +671,7 @@ pex64_bfd_print_pdata (bfd *abfd, void *
       fprintf_vma (file, rf.rva_EndAddress + imagebase);
       fputc ('\n', file);
 
-      if (rf.rva_UnwindData != 0)
+      if (rf.rva_UnwindData != 0 || virt_size_is_zero)
 	{
 	  if (PEX64_IS_RUNTIME_FUNCTION_CHAINED (&rf))
 	    {
@@ -635,6 +710,7 @@ pex64_bfd_print_pdata (bfd *abfd, void *
 		 identical pointers in the array; advance past all of them.  */
 	      while (p[0] <= rf.rva_UnwindData)
 		++p;
+
 	      if (p[0] == ~((bfd_vma) 0))
 		p = NULL;
 
@@ -651,6 +727,37 @@ pex64_bfd_print_pdata (bfd *abfd, void *
   return TRUE;
 }
 
+/* Static counter of number of found pdata sections.  */
+static bfd_boolean pdata_count;
+
+/* Functionn prototype.  */
+bfd_boolean pex64_bfd_print_pdata (bfd *, void *);
+
+/* Helper function for bfd_map_over_section.  */
+static void
+pex64_print_all_pdata_sections (bfd *abfd, asection *pdata, void *obj)
+{
+  if (CONST_STRNEQ (pdata->name, ".pdata"))
+    {
+      if (pex64_bfd_print_pdata_section (abfd, obj, pdata))
+	pdata_count++;
+    }
+}
+
+bfd_boolean
+pex64_bfd_print_pdata (bfd *abfd, void *vfile)
+{
+  asection *pdata_section = bfd_get_section_by_name (abfd, ".pdata");
+
+  if (pdata_section)
+    return pex64_bfd_print_pdata_section (abfd, vfile, pdata_section);
+
+  pdata_count = 0;
+  bfd_map_over_sections (abfd, pex64_print_all_pdata_sections, vfile);
+  return (pdata_count > 0);
+}
+
 #define bfd_pe_print_pdata   pex64_bfd_print_pdata
+#define bfd_coff_std_swap_table bfd_coff_pei_swap_table
 
 #include "coff-x86_64.c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-mcore.c ./bfd/pe-mcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-mcore.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pe-mcore.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for MCore PECOFF files.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-mips.c ./bfd/pe-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-mips.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pe-mips.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for MIPS PE COFF files.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Modified from coff-i386.c by DJ Delorie, dj@cygnus.com
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -339,6 +339,8 @@ static reloc_howto_type howto_table[] =
 	 FALSE),                /* Pcrel_offset. */
 };
 
+#define NUM_HOWTOS (sizeof (howto_table) / sizeof (howto_table[0]))
+
 /* Turn a howto into a reloc nunmber.  */
 
 #define SELECT_RELOC(x, howto) { x.r_type = howto->type; }
@@ -347,8 +349,11 @@ static reloc_howto_type howto_table[] =
 /* Customize coffcode.h.  */
 #define MIPS 1
 
-#define RTYPE2HOWTO(cache_ptr, dst) \
-	    (cache_ptr)->howto = howto_table + (dst)->r_type;
+#define RTYPE2HOWTO(cache_ptr, dst)				\
+  ((cache_ptr)->howto =						\
+   ((dst)->r_type < NUM_HOWTOS					\
+    ? howto_table + (dst)->r_type				\
+    : NULL))
 
 /* Compute the addend of a reloc.  If the reloc is to a common symbol,
    the object file contains the value of the common symbol.  By the
@@ -370,7 +375,7 @@ static reloc_howto_type howto_table[] =
       coffsym = (obj_symbols (abfd)				\
 	         + (cache_ptr->sym_ptr_ptr - symbols));		\
     else if (ptr)						\
-      coffsym = coff_symbol_from (abfd, ptr);			\
+      coffsym = coff_symbol_from (ptr);				\
     if (coffsym != NULL						\
 	&& coffsym->native->u.syment.n_scnum == 0)		\
       cache_ptr->addend = - coffsym->native->u.syment.n_value;	\
@@ -379,7 +384,8 @@ static reloc_howto_type howto_table[] =
       cache_ptr->addend = - (ptr->section->vma + ptr->value);	\
     else							\
       cache_ptr->addend = 0;					\
-    if (ptr && howto_table[reloc.r_type].pc_relative)		\
+    if (ptr && reloc.r_type < NUM_HOWTOS			\
+	&& howto_table[reloc.r_type].pc_relative)		\
       cache_ptr->addend += asect->vma;				\
   }
 
@@ -509,9 +515,7 @@ coff_mips_reloc_name_lookup (bfd *abfd A
 {
   unsigned int i;
 
-  for (i = 0;
-       i < sizeof (howto_table) / sizeof (howto_table[0]);
-       i++)
+  for (i = 0; i < NUM_HOWTOS; i++)
     if (howto_table[i].name != NULL
 	&& strcasecmp (howto_table[i].name, r_name) == 0)
       return &howto_table[i];
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-ppc.c ./bfd/pe-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-ppc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pe-ppc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for PowerPC PECOFF files.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-sh.c ./bfd/pe-sh.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-sh.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pe-sh.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for SH PECOFF files.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-x86_64.c ./bfd/pe-x86_64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/pe-x86_64.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/pe-x86_64.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for Intel/AMD x86_64 PECOFF files.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -58,6 +58,12 @@
 { COFF_SECTION_NAME_PARTIAL_MATCH (".gnu.linkonce.wi."), \
   COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }
 
+/* The function pex64_bfd_print_pdata is implemented in pei-x86_64.c
+   source, but has be extended to also handle pe objects.  */
+extern bfd_boolean pex64_bfd_print_pdata (bfd *, void *);
+
+#define bfd_pe_print_pdata   pex64_bfd_print_pdata
+
 #include "coff-x86_64.c"
 
 /* Entry for big object files.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/peXXigen.c ./bfd/peXXigen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/peXXigen.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/peXXigen.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for the generic parts of PE/PEI; the common executable parts.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Cygnus Solutions.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -149,8 +149,13 @@ _bfd_XXi_swap_sym_in (bfd * abfd, void *
 
 	  name = _bfd_coff_internal_syment_name (abfd, in, namebuf);
 	  if (name == NULL)
-	    /* FIXME: Return error.  */
-	    abort ();
+	    {
+	      _bfd_error_handler (_("%B: unable to find name for empty section"),
+				  abfd);
+	      bfd_set_error (bfd_error_invalid_target);
+	      return;
+	    }
+
 	  sec = bfd_get_section_by_name (abfd, name);
 	  if (sec != NULL)
 	    in->n_scnum = sec->target_index;
@@ -170,15 +175,22 @@ _bfd_XXi_swap_sym_in (bfd * abfd, void *
 	    {
 	      name = (const char *) bfd_alloc (abfd, strlen (namebuf) + 1);
 	      if (name == NULL)
-		/* FIXME: Return error.  */
-		abort ();
+		{
+		  _bfd_error_handler (_("%B: out of memory creating name for empty section"),
+				      abfd);
+		  return;
+		}
 	      strcpy ((char *) name, namebuf);
 	    }
+
 	  flags = SEC_HAS_CONTENTS | SEC_ALLOC | SEC_DATA | SEC_LOAD;
 	  sec = bfd_make_section_anyway_with_flags (abfd, name, flags);
 	  if (sec == NULL)
-	    /* FIXME: Return error.  */
-	    abort ();
+	    {
+	      _bfd_error_handler (_("%B: unable to create fake empty section"),
+				  abfd);
+	      return;
+	    }
 
 	  sec->vma = 0;
 	  sec->lma = 0;
@@ -283,6 +295,9 @@ _bfd_XXi_swap_aux_in (bfd *	abfd,
   AUXENT *ext = (AUXENT *) ext1;
   union internal_auxent *in = (union internal_auxent *) in1;
 
+  /* PR 17521: Make sure that all fields in the aux structure
+     are initialised.  */
+  memset (in, 0, sizeof * in);
   switch (in_class)
     {
     case C_FILE:
@@ -458,6 +473,7 @@ _bfd_XXi_swap_aouthdr_in (bfd * abfd,
   aouthdr_int->entry = GET_AOUTHDR_ENTRY (abfd, aouthdr_ext->entry);
   aouthdr_int->text_start =
     GET_AOUTHDR_TEXT_START (abfd, aouthdr_ext->text_start);
+
 #if !defined(COFF_WITH_pep) && !defined(COFF_WITH_pex64)
   /* PE32+ does not have data_start member!  */
   aouthdr_int->data_start =
@@ -504,6 +520,17 @@ _bfd_XXi_swap_aouthdr_in (bfd * abfd,
   {
     int idx;
 
+    /* PR 17512: Corrupt PE binaries can cause seg-faults.  */
+    if (a->NumberOfRvaAndSizes > IMAGE_NUMBEROF_DIRECTORY_ENTRIES)
+      {
+	(*_bfd_error_handler)
+	  (_("%B: aout header specifies an invalid number of data-directory entries: %d"),
+	   abfd, a->NumberOfRvaAndSizes);
+	/* Paranoia: If the number is corrupt, then assume that the
+	   actual entries themselves might be corrupt as well.  */
+	a->NumberOfRvaAndSizes = 0;
+      }
+
     for (idx = 0; idx < a->NumberOfRvaAndSizes; idx++)
       {
         /* If data directory is empty, rva also should be 0.  */
@@ -518,6 +545,13 @@ _bfd_XXi_swap_aouthdr_in (bfd * abfd,
 	else
 	  a->DataDirectory[idx].VirtualAddress = 0;
       }
+
+    while (idx < IMAGE_NUMBEROF_DIRECTORY_ENTRIES)
+      {
+	a->DataDirectory[idx].Size = 0;
+	a->DataDirectory[idx].VirtualAddress = 0;
+	idx ++;
+      }
   }
 
   if (aouthdr_int->entry)
@@ -761,7 +795,7 @@ _bfd_XXi_swap_aouthdr_out (bfd * abfd, v
   {
     int idx;
 
-    for (idx = 0; idx < 16; idx++)
+    for (idx = 0; idx < IMAGE_NUMBEROF_DIRECTORY_ENTRIES; idx++)
       {
 	H_PUT_32 (abfd, extra->DataDirectory[idx].VirtualAddress,
 		  aouthdr_out->DataDirectory[idx][0]);
@@ -1380,7 +1414,9 @@ pe_print_idata (bfd * abfd, void * vfile
         break;
 
       dll = (char *) data + dll_name - adj;
-      fprintf (file, _("\n\tDLL Name: %s\n"), dll);
+      /* PR 17512 file: 078-12277-0.004.  */
+      bfd_size_type maxlen = (char *)(data + datasize) - dll - 1;
+      fprintf (file, _("\n\tDLL Name: %.*s\n"), (int) maxlen, dll);
 
       if (hint_addr != 0)
 	{
@@ -1445,24 +1481,31 @@ pe_print_idata (bfd * abfd, void * vfile
 #ifdef COFF_WITH_pex64
 	  for (j = 0; idx + j + 8 <= datasize; j += 8)
 	    {
+	      bfd_size_type amt;
 	      unsigned long member = bfd_get_32 (abfd, data + idx + j);
 	      unsigned long member_high = bfd_get_32 (abfd, data + idx + j + 4);
 
 	      if (!member && !member_high)
 		break;
 
+	      amt = member - adj;
+
 	      if (HighBitSet (member_high))
 		fprintf (file, "\t%lx%08lx\t %4lx%08lx  <none>",
 			 member_high, member,
 			 WithoutHighBit (member_high), member);
+	      /* PR binutils/17512: Handle corrupt PE data.  */
+	      else if (amt + 2 >= datasize)
+		fprintf (file, _("\t<corrupt: 0x%04lx>"), member);
 	      else
 		{
 		  int ordinal;
 		  char *member_name;
 
-		  ordinal = bfd_get_16 (abfd, data + member - adj);
-		  member_name = (char *) data + member - adj + 2;
-		  fprintf (file, "\t%04lx\t %4d  %s",member, ordinal, member_name);
+		  ordinal = bfd_get_16 (abfd, data + amt);
+		  member_name = (char *) data + amt + 2;
+		  fprintf (file, "\t%04lx\t %4d  %.*s",member, ordinal,
+			   (int) (datasize - (amt + 2)), member_name);
 		}
 
 	      /* If the time stamp is not zero, the import address
@@ -1478,24 +1521,30 @@ pe_print_idata (bfd * abfd, void * vfile
 #else
 	  for (j = 0; idx + j + 4 <= datasize; j += 4)
 	    {
+	      bfd_size_type amt;
 	      unsigned long member = bfd_get_32 (abfd, data + idx + j);
 
 	      /* Print single IMAGE_IMPORT_BY_NAME vector.  */
 	      if (member == 0)
 		break;
 
+	      amt = member - adj;
 	      if (HighBitSet (member))
 		fprintf (file, "\t%04lx\t %4lu  <none>",
 			 member, WithoutHighBit (member));
+	      /* PR binutils/17512: Handle corrupt PE data.  */
+	      else if (amt + 2 >= datasize)
+		fprintf (file, _("\t<corrupt: 0x%04lx>"), member);
 	      else
 		{
 		  int ordinal;
 		  char *member_name;
 
-		  ordinal = bfd_get_16 (abfd, data + member - adj);
-		  member_name = (char *) data + member - adj + 2;
-		  fprintf (file, "\t%04lx\t %4d  %s",
-			   member, ordinal, member_name);
+		  ordinal = bfd_get_16 (abfd, data + amt);
+		  member_name = (char *) data + amt + 2;
+		  fprintf (file, "\t%04lx\t %4d  %.*s",
+			   member, ordinal,
+			   (int) (datasize - (amt + 2)), member_name);
 		}
 
 	      /* If the time stamp is not zero, the import address
@@ -1600,6 +1649,15 @@ pe_print_edata (bfd * abfd, void * vfile
 	}
     }
 
+  /* PR 17512: Handle corrupt PE binaries.  */
+  if (datasize < 36)
+    {
+      fprintf (file,
+	       _("\nThere is an export table in %s, but it is too small (%d)\n"),
+	       section->name, (int) datasize);
+      return TRUE;
+    }
+
   fprintf (file, _("\nThere is an export table in %s at 0x%lx\n"),
 	   section->name, (unsigned long) addr);
 
@@ -1645,7 +1703,9 @@ pe_print_edata (bfd * abfd, void * vfile
   bfd_fprintf_vma (abfd, file, edt.name);
 
   if ((edt.name >= adj) && (edt.name < adj + datasize))
-    fprintf (file, " %s\n", data + edt.name - adj);
+    fprintf (file, " %.*s\n",
+	     (int) (datasize - (edt.name - adj)),
+	     data + edt.name - adj);
   else
     fprintf (file, "(outside .edata section)\n");
 
@@ -1693,7 +1753,14 @@ pe_print_edata (bfd * abfd, void * vfile
 	  _("\nExport Address Table -- Ordinal Base %ld\n"),
 	  edt.base);
 
-  for (i = 0; i < edt.num_functions; ++i)
+  /* PR 17512: Handle corrupt PE binaries.  */
+  if (edt.eat_addr + (edt.num_functions * 4) - adj >= datasize
+      /* PR 17512 file: 140-165018-0.004.  */
+      || data + edt.eat_addr - adj < data)
+    fprintf (file, _("\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"),
+	     (long) edt.eat_addr,
+	     (long) edt.num_functions);
+  else for (i = 0; i < edt.num_functions; ++i)
     {
       bfd_vma eat_member = bfd_get_32 (abfd,
 				       data + edt.eat_addr + (i * 4) - adj);
@@ -1705,11 +1772,12 @@ pe_print_edata (bfd * abfd, void * vfile
 	  /* This rva is to a name (forwarding function) in our section.  */
 	  /* Should locate a function descriptor.  */
 	  fprintf (file,
-		   "\t[%4ld] +base[%4ld] %04lx %s -- %s\n",
+		   "\t[%4ld] +base[%4ld] %04lx %s -- %.*s\n",
 		   (long) i,
 		   (long) (i + edt.base),
 		   (unsigned long) eat_member,
 		   _("Forwarder RVA"),
+		   (int)(datasize - (eat_member - adj)),
 		   data + eat_member - adj);
 	}
       else
@@ -1729,21 +1797,38 @@ pe_print_edata (bfd * abfd, void * vfile
   fprintf (file,
 	   _("\n[Ordinal/Name Pointer] Table\n"));
 
-  for (i = 0; i < edt.num_names; ++i)
-    {
-      bfd_vma name_ptr = bfd_get_32 (abfd,
-				    data +
-				    edt.npt_addr
-				    + (i*4) - adj);
-
-      char *name = (char *) data + name_ptr - adj;
-
-      bfd_vma ord = bfd_get_16 (abfd,
-				    data +
-				    edt.ot_addr
-				    + (i*2) - adj);
-      fprintf (file,
-	      "\t[%4ld] %s\n", (long) ord, name);
+  /* PR 17512: Handle corrupt PE binaries.  */
+  if (edt.npt_addr + (edt.num_names * 4) - adj >= datasize
+      || (data + edt.npt_addr - adj) < data)
+    fprintf (file, _("\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"),
+	     (long) edt.npt_addr,
+	     (long) edt.num_names);
+  /* PR 17512: file: 140-147171-0.004.  */
+  else if (edt.ot_addr + (edt.num_names * 2) - adj >= datasize
+	   || data + edt.ot_addr - adj < data)
+    fprintf (file, _("\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"),
+	     (long) edt.ot_addr,
+	     (long) edt.num_names);
+  else for (i = 0; i < edt.num_names; ++i)
+    {
+      bfd_vma  name_ptr;
+      bfd_vma  ord;
+
+      ord = bfd_get_16 (abfd, data + edt.ot_addr + (i * 2) - adj);
+      name_ptr = bfd_get_32 (abfd, data + edt.npt_addr + (i * 4) - adj);
+
+      if ((name_ptr - adj) >= datasize)
+	{
+	  fprintf (file, _("\t[%4ld] <corrupt offset: %lx>\n"),
+		   (long) ord, (long) name_ptr);
+	}
+      else
+	{
+	  char * name = (char *) data + name_ptr - adj;
+
+	  fprintf (file, "\t[%4ld] %.*s\n", (long) ord,
+		   (int)((char *)(data + datasize) - name), name);
+	}
     }
 
   free (data);
@@ -1805,6 +1890,14 @@ pe_print_pdata (bfd * abfd, void * vfile
   if (datasize == 0)
     return TRUE;
 
+  /* PR 17512: file: 002-193900-0.004.  */
+  if (datasize < stop)
+    {
+      fprintf (file, _("Virtual size of .pdata section (%ld) larger than real size (%ld)\n"),
+	       (long) stop, (long) datasize);
+      return FALSE;
+    }
+
   if (! bfd_malloc_and_get_section (abfd, section, &data))
     {
       if (data != NULL)
@@ -2092,8 +2185,7 @@ pe_print_reloc (bfd * abfd, void * vfile
   FILE *file = (FILE *) vfile;
   bfd_byte *data = 0;
   asection *section = bfd_get_section_by_name (abfd, ".reloc");
-  bfd_size_type i;
-  bfd_size_type start, stop;
+  bfd_byte *p, *end;
 
   if (section == NULL || section->size == 0 || !(section->flags & SEC_HAS_CONTENTS))
     return TRUE;
@@ -2108,20 +2200,20 @@ pe_print_reloc (bfd * abfd, void * vfile
       return FALSE;
     }
 
-  start = 0;
-
-  stop = section->size;
-
-  for (i = start; i < stop;)
+  p = data;
+  end = data + section->size;
+  while (p + 8 <= end)
     {
       int j;
       bfd_vma virtual_address;
       long number, size;
+      bfd_byte *chunk_end;
 
       /* The .reloc section is a sequence of blocks, with a header consisting
 	 of two 32 bit quantities, followed by a number of 16 bit entries.  */
-      virtual_address = bfd_get_32 (abfd, data+i);
-      size = bfd_get_32 (abfd, data+i+4);
+      virtual_address = bfd_get_32 (abfd, p);
+      size = bfd_get_32 (abfd, p + 4);
+      p += 8;
       number = (size - 8) / 2;
 
       if (size == 0)
@@ -2131,9 +2223,13 @@ pe_print_reloc (bfd * abfd, void * vfile
 	       _("\nVirtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n"),
 	       (unsigned long) virtual_address, size, (unsigned long) size, number);
 
-      for (j = 0; j < number; ++j)
+      chunk_end = p + size;
+      if (chunk_end > end)
+	chunk_end = end;
+      j = 0;
+      while (p + 2 <= chunk_end)
 	{
-	  unsigned short e = bfd_get_16 (abfd, data + i + 8 + j * 2);
+	  unsigned short e = bfd_get_16 (abfd, p);
 	  unsigned int t = (e & 0xF000) >> 12;
 	  int off = e & 0x0FFF;
 
@@ -2144,20 +2240,20 @@ pe_print_reloc (bfd * abfd, void * vfile
 		   _("\treloc %4d offset %4x [%4lx] %s"),
 		   j, off, (unsigned long) (off + virtual_address), tbl[t]);
 
+	  p += 2;
+	  j++;
+
 	  /* HIGHADJ takes an argument, - the next record *is* the
 	     low 16 bits of addend.  */
-	  if (t == IMAGE_REL_BASED_HIGHADJ)
+	  if (t == IMAGE_REL_BASED_HIGHADJ && p + 2 <= chunk_end)
 	    {
-	      fprintf (file, " (%4x)",
-		       ((unsigned int)
-			bfd_get_16 (abfd, data + i + 8 + j * 2 + 2)));
+	      fprintf (file, " (%4x)", (unsigned int) bfd_get_16 (abfd, p));
+	      p += 2;
 	      j++;
 	    }
 
 	  fprintf (file, "\n");
 	}
-
-      i += size;
     }
 
   free (data);
@@ -2180,6 +2276,12 @@ static bfd_byte *
 rsrc_print_resource_directory (FILE * , bfd *, unsigned int, bfd_byte *,
 			       rsrc_regions *, bfd_vma);
 
+/* Print the resource entry at DATA, with the text indented by INDENT.
+   Recusively calls rsrc_print_resource_directory to print the contents
+   of directory entries.
+   Returns the address of the end of the data associated with the entry
+   or section_end + 1 upon failure.  */
+
 static bfd_byte *
 rsrc_print_resource_entries (FILE *         file,
 			     bfd *          abfd,
@@ -2196,7 +2298,7 @@ rsrc_print_resource_entries (FILE *     
 
   fprintf (file, _("%03x %*.s Entry: "), (int)(data - regions->section_start), indent, " ");
 
-  entry = (long) bfd_get_32 (abfd, data);
+  entry = (unsigned long) bfd_get_32 (abfd, data);
   if (is_name)
     {
       bfd_byte * name;
@@ -2209,7 +2311,7 @@ rsrc_print_resource_entries (FILE *     
       else
 	name = regions->section_start + entry - rva_bias;
 
-      if (name + 2 < regions->section_end)
+      if (name + 2 < regions->section_end && name > regions->section_start)
 	{
 	  unsigned int len;
 
@@ -2219,20 +2321,38 @@ rsrc_print_resource_entries (FILE *     
 	  len = bfd_get_16 (abfd, name);
 
 	  fprintf (file, _("name: [val: %08lx len %d]: "), entry, len);
+
 	  if (name + 2 + len * 2 < regions->section_end)
 	    {
 	      /* This strange loop is to cope with multibyte characters.  */
 	      while (len --)
 		{
+		  char c;
+
 		  name += 2;
-		  fprintf (file, "%.1s", name);
+		  c = * name;
+		  /* Avoid printing control characters.  */
+		  if (c > 0 && c < 32)
+		    fprintf (file, "^%c", c + 64);
+		  else
+		    fprintf (file, "%.1s", name);
 		}
 	    }
 	  else
-	    fprintf (file, _("<corrupt string length: %#x>"), len);
+	    {
+	      fprintf (file, _("<corrupt string length: %#x>\n"), len);
+	      /* PR binutils/17512: Do not try to continue decoding a
+		 corrupted resource section.  It is likely to end up with
+		 reams of extraneous output.  FIXME: We could probably
+		 continue if we disable the printing of strings...  */
+	      return regions->section_end + 1;
+	    }
 	}
       else
-	fprintf (file, _("<corrupt string offset: %#lx>"), entry);
+	{
+	  fprintf (file, _("<corrupt string offset: %#lx>\n"), entry);
+	  return regions->section_end + 1;
+	}
     }
   else
     fprintf (file, _("ID: %#08lx"), entry);
@@ -2241,9 +2361,16 @@ rsrc_print_resource_entries (FILE *     
   fprintf (file, _(", Value: %#08lx\n"), entry);
 
   if (HighBitSet  (entry))
-    return rsrc_print_resource_directory (file, abfd, indent + 1,
-					  regions->section_start + WithoutHighBit (entry),
-					  regions, rva_bias);
+    {
+      data = regions->section_start + WithoutHighBit (entry);
+      if (data <= regions->section_start || data > regions->section_end)
+	return regions->section_end + 1;
+
+      /* FIXME: PR binutils/17512: A corrupt file could contain a loop
+	 in the resource table.  We need some way to detect this.  */
+      return rsrc_print_resource_directory (file, abfd, indent + 1, data,
+					    regions, rva_bias);
+    }
 
   if (regions->section_start + entry + 16 >= regions->section_end)
     return regions->section_end + 1;
@@ -2290,7 +2417,12 @@ rsrc_print_resource_directory (FILE *   
     case 0: fprintf (file, "Type"); break;
     case 2: fprintf (file, "Name"); break;
     case 4: fprintf (file, "Language"); break;
-    default: fprintf (file, "<unknown>"); break;
+    default:
+      fprintf (file, _("<unknown directory type: %d>\n"), indent);
+      /* FIXME: For now we end the printing here.  If in the
+	 future more directory types are added to the RSRC spec
+	 then we will need to change this.  */
+      return regions->section_end + 1;
     }
 
   fprintf (file, _(" Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"),
@@ -2402,7 +2534,7 @@ rsrc_print_section (bfd * abfd, void * v
 	      /* If the extra data is all zeros then do not complain.
 		 This is just padding so that the section meets the
 		 page size requirements.  */
-	      while (data ++ < regions.section_end)
+	      while (++ data < regions.section_end)
 		if (*data != 0)
 		  break;
 	      if (data < regions.section_end)
@@ -2412,10 +2544,10 @@ rsrc_print_section (bfd * abfd, void * v
     }
 
   if (regions.strings_start != NULL)
-    fprintf (file, " String table starts at %03x\n",
+    fprintf (file, " String table starts at offset: %#03x\n",
 	     (int) (regions.strings_start - regions.section_start));
   if (regions.resource_start != NULL)
-    fprintf (file, " Resources start at %03xx\n",
+    fprintf (file, " Resources start at offset: %#03x\n",
 	     (int) (regions.resource_start - regions.section_start));
   
   free (regions.section_start);
@@ -2477,16 +2609,29 @@ pe_print_debugdata (bfd * abfd, void * v
                section->name);
       return TRUE;
     }
+  else if (section->size < size)
+    {
+      fprintf (file,
+               _("\nError: section %s contains the debug data starting address but it is too small\n"),
+               section->name);
+      return FALSE;
+    }
 
   fprintf (file, _("\nThere is a debug directory in %s at 0x%lx\n\n"),
 	   section->name, (unsigned long) addr);
 
   dataoff = addr - section->vma;
 
+  if (size > (section->size - dataoff))
+    {
+      fprintf (file, _("The debug data size field in the data directory is too big for the section"));
+      return FALSE;
+    }
+
   fprintf (file,
 	   _("Type                Size     Rva      Offset\n"));
 
-  /* Read the whole section. */
+  /* Read the whole section.  */
   if (!bfd_malloc_and_get_section (abfd, section, &data))
     {
       if (data != NULL)
@@ -2503,7 +2648,7 @@ pe_print_debugdata (bfd * abfd, void * v
 
       _bfd_XXi_swap_debugdir_in (abfd, ext, &idd);
 
-      if ((idd.Type) > IMAGE_NUMBEROF_DEBUG_TYPES)
+      if ((idd.Type) >= IMAGE_NUMBEROF_DEBUG_TYPES)
         type_name = debug_type_names[0];
       else
         type_name = debug_type_names[idd.Type];
@@ -2785,6 +2930,16 @@ _bfd_XX_bfd_copy_private_bfd_data_common
           struct external_IMAGE_DEBUG_DIRECTORY *dd =
 	    (struct external_IMAGE_DEBUG_DIRECTORY *)(data + (addr - section->vma));
 
+	  /* PR 17512: file: 0f15796a.  */
+	  if (ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size + (addr - section->vma)
+	      > bfd_get_section_size (section))
+	    {
+	      _bfd_error_handler (_("%A: Data Directory size (%lx) exceeds space left in section (%lx)"),
+				  obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size,
+				  bfd_get_section_size (section) - (addr - section->vma));
+	      return FALSE;
+	    }
+
           for (i = 0; i < ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size
 		 / sizeof (struct external_IMAGE_DEBUG_DIRECTORY); i++)
             {
@@ -2909,7 +3064,7 @@ rsrc_count_entries (bfd *          abfd,
       else
 	name = datastart + entry - rva_bias;
 
-      if (name + 2 >= dataend)
+      if (name + 2 >= dataend || name < datastart)
 	return dataend + 1;
 
       unsigned int len = bfd_get_16 (abfd, name);
@@ -2920,10 +3075,14 @@ rsrc_count_entries (bfd *          abfd,
   entry = (long) bfd_get_32 (abfd, data + 4);
 
   if (HighBitSet (entry))
-    return rsrc_count_directory (abfd,
-				 datastart,
-				 datastart + WithoutHighBit (entry),
-				 dataend, rva_bias);
+    {
+      data = datastart + WithoutHighBit (entry);
+
+      if (data <= datastart || data >= dataend)
+	return dataend + 1;
+
+      return rsrc_count_directory (abfd, datastart, data, dataend, rva_bias);
+    }
 
   if (datastart + entry + 16 >= dataend)
     return dataend + 1;
@@ -3045,20 +3204,24 @@ rsrc_parse_entry (bfd *            abfd,
 
   if (is_name)
     {
-      /* FIXME: Add range checking ?  */
+      bfd_byte * address;
+
       if (HighBitSet (val))
 	{
 	  val = WithoutHighBit (val);
 
-	  entry->name_id.name.len    = bfd_get_16 (abfd, datastart + val);
-	  entry->name_id.name.string = datastart + val + 2;
+	  address = datastart + val;
 	}
       else
 	{
-	  entry->name_id.name.len    = bfd_get_16 (abfd, datastart + val
-						   - rva_bias);
-	  entry->name_id.name.string = datastart + val - rva_bias + 2;
+	  address = datastart + val - rva_bias;
 	}
+
+      if (address + 3 > dataend)
+	return dataend;
+
+      entry->name_id.name.len    = bfd_get_16 (abfd, address);
+      entry->name_id.name.string = address + 2;
     }
   else
     entry->name_id.id = val;
@@ -3941,7 +4104,7 @@ rsrc_process_section (bfd * abfd,
 
   for (input = pfinfo->info->input_bfds;
        input != NULL;
-       input = input->link_next)
+       input = input->link.next)
     {
       asection * rsrc_sec = bfd_get_section_by_name (input, ".rsrc");
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/plugin.c ./bfd/plugin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/plugin.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/plugin.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Plugin support for BFD.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -83,7 +83,9 @@ dlerror (void)
 #define bfd_plugin_bfd_is_target_special_symbol       ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 #define bfd_plugin_get_lineno                         _bfd_nosymbols_get_lineno
 #define bfd_plugin_find_nearest_line                  _bfd_nosymbols_find_nearest_line
+#define bfd_plugin_find_line                          _bfd_nosymbols_find_line
 #define bfd_plugin_find_inliner_info                  _bfd_nosymbols_find_inliner_info
+#define bfd_plugin_get_symbol_version_string	      _bfd_nosymbols_get_symbol_version_string
 #define bfd_plugin_bfd_make_debug_symbol              _bfd_nosymbols_bfd_make_debug_symbol
 #define bfd_plugin_read_minisymbols                   _bfd_generic_read_minisymbols
 #define bfd_plugin_minisymbol_to_symbol               _bfd_generic_minisymbol_to_symbol
@@ -92,7 +94,6 @@ dlerror (void)
 #define bfd_plugin_bfd_get_relocated_section_contents bfd_generic_get_relocated_section_contents
 #define bfd_plugin_bfd_relax_section                  bfd_generic_relax_section
 #define bfd_plugin_bfd_link_hash_table_create         _bfd_generic_link_hash_table_create
-#define bfd_plugin_bfd_link_hash_table_free           _bfd_generic_link_hash_table_free
 #define bfd_plugin_bfd_link_add_symbols               _bfd_generic_link_add_symbols
 #define bfd_plugin_bfd_link_just_syms                 _bfd_generic_link_just_syms
 #define bfd_plugin_bfd_final_link                     _bfd_generic_final_link
@@ -157,9 +158,54 @@ bfd_plugin_set_program_name (const char 
 }
 
 static int
-try_load_plugin (const char *pname)
+try_claim (bfd *abfd)
 {
-  static void *plugin_handle;
+  int claimed = 0;
+  struct ld_plugin_input_file file;
+  bfd *iobfd;
+
+  file.name = abfd->filename;
+
+  if (abfd->my_archive)
+    {
+      iobfd = abfd->my_archive;
+      file.offset = abfd->origin;
+      file.filesize = arelt_size (abfd);
+    }
+  else
+    {
+      iobfd = abfd;
+      file.offset = 0;
+      file.filesize = 0;
+    }
+
+  if (!iobfd->iostream && !bfd_open_file (iobfd))
+    return 0;
+
+  file.fd = fileno ((FILE *) iobfd->iostream);
+
+  if (!abfd->my_archive)
+    {
+      struct stat stat_buf;
+      if (fstat (file.fd, &stat_buf))
+        return 0;
+      file.filesize = stat_buf.st_size;
+    }
+
+  file.handle = abfd;
+  off_t cur_offset = lseek(file.fd, 0, SEEK_CUR);
+  claim_file (&file, &claimed);
+  lseek(file.fd, cur_offset, SEEK_SET);
+  if (!claimed)
+    return 0;
+
+  return 1;
+}
+
+static int
+try_load_plugin (const char *pname, bfd *abfd)
+{
+  void *plugin_handle;
   int tv_size = 4;
   struct ld_plugin_tv tv[tv_size];
   int i;
@@ -201,6 +247,9 @@ try_load_plugin (const char *pname)
   if (!claim_file)
     goto err;
 
+  if (!try_claim (abfd))
+    goto err;
+
   return 1;
 
  err:
@@ -217,7 +266,7 @@ bfd_plugin_set_plugin (const char *p)
 }
 
 static int
-load_plugin (void)
+load_plugin (bfd *abfd)
 {
   char *plugin_dir;
   char *p;
@@ -226,7 +275,7 @@ load_plugin (void)
   int found = 0;
 
   if (plugin_name)
-    return try_load_plugin (plugin_name);
+    return try_load_plugin (plugin_name, abfd);
 
   if (plugin_program_name == NULL)
     return 0;
@@ -249,7 +298,7 @@ load_plugin (void)
 
       full_name = concat (p, "/", ent->d_name, NULL);
       if (stat(full_name, &s) == 0 && S_ISREG (s.st_mode))
-	found = try_load_plugin (full_name);
+	found = try_load_plugin (full_name, abfd);
       free (full_name);
       if (found)
 	break;
@@ -267,53 +316,7 @@ load_plugin (void)
 static const bfd_target *
 bfd_plugin_object_p (bfd *abfd)
 {
-  int claimed = 0;
-  struct ld_plugin_input_file file;
-  bfd *iobfd;
-  static int have_loaded = 0;
-  static int have_plugin = 0;
-
-  if (!have_loaded)
-    {
-      have_loaded = 1;
-      have_plugin = load_plugin ();
-    }
-  if (!have_plugin)
-    return NULL;
-
-  file.name = abfd->filename;
-
-  if (abfd->my_archive)
-    {
-      iobfd = abfd->my_archive;
-      file.offset = abfd->origin;
-      file.filesize = arelt_size (abfd);
-    }
-  else
-    {
-      iobfd = abfd;
-      file.offset = 0;
-      file.filesize = 0;
-    }
-
-  if (!iobfd->iostream && !bfd_open_file (iobfd))
-    return NULL;
-
-  file.fd = fileno ((FILE *) iobfd->iostream);
-
-  if (!abfd->my_archive)
-    {
-      struct stat stat_buf;
-      if (fstat (file.fd, &stat_buf))
-        return NULL;
-      file.filesize = stat_buf.st_size;
-    }
-
-  file.handle = abfd;
-  off_t cur_offset = lseek(file.fd, 0, SEEK_CUR);
-  claim_file (&file, &claimed);
-  lseek(file.fd, cur_offset, SEEK_SET);
-  if (!claimed)
+  if (!load_plugin (abfd))
     return NULL;
 
   return abfd->xvec;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/plugin.h ./bfd/plugin.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/plugin.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/plugin.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Plugin support for BFD.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/po/fi.gmo ./bfd/po/fi.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/po/fi.gmo	2015-01-13 02:07:23.000000000 +0000
+++ ./bfd/po/fi.gmo	2015-01-20 02:10:03.000000000 +0000
@@ -1,58 +1,70 @@
-Þ•!$)Ù,R�m‘mªmÉmàm$óm3nLn%ln’nA¢n&äno$o=oVofo …o¦oÆoßoöo	p*!p9Lp6†p;½pùpFq6Rq:‰q5ÄqJúq)ErGorL·r)sL.s{s‘sD¨sístt2tJt3it�t0´tåtõtu+u+Ku+wu#£uÇußuèuôuv)v@v`v}v–v±vÑvêvww3w,Gwtw„w�wµwÌwÛwñwx1"xTxexrx‰x¤x#¼x+àx&y53yiy�y›y±yËyäyûy$z6zOzoz‡z$œzÁzÕzêz<{@{O{
^{l{€{ ˜{¹{Ô{ä{| |@|Y|r|…|*‘|¼|Î|&à|}0}L}"`}	ƒ}�}# }Ä}Ý}î}~" ~C~"W~#z~#ž~Â~#×~#û~.,[ain
-‹–›!¡ Ãäéî€.€3€G€ L€m€t€z€€„€Š€Ž€“€¯€È€Í€í€�!�A�F�K�R�X�]�o�v�Š�‘�ª�¾�Ï�à�ñ�‚‚	"‚
,‚
:‚
-H‚
-S‚
-^‚i‚
-~‚‰‚$�‚
-µ‚#À‚%ä‚
+Þ•wÔ+KŒW¸t¹tÆtßtþtu$(u3Mu�uŽu%®uÔuAäu&&vMvfvv˜v¨v Çvèvw!w8wKw*cw9Žw6Èw;ÿw;xFMx6”x:Ëx5yJ<y)‡yG±yLùy)FzLpz½zÓzDêzG/{w{–{¨{¼{Ô{3ó{'|0>|o||�|+©|+Õ|+}#-}Q}i}r}~}œ}³}Ê}ê}~ ~;~[~t~�~¥~½~,Ñ~þ~'?Ve{•1¬Þïü€.€#F€+j€&–€5½€ó€�%�;�U�n�…�$›�À�Ù�ù�‚$&‚K‚_‚t‚<�‚Ê‚Ù‚
è‚ö‚
+ƒ "ƒCƒ^ƒnƒŽƒªƒÊƒãƒüƒ„*„F„X„&j„‘„0¥„Ö„"ê„	
……#*…N…g…x…‘…"ª…Í…"á…#†#(†L†#a†#…†©†¶†¼†Ä†É†
+æ†ñ†ö†!ü† ‡?‡D‡I‡i‡‰‡Ž‡¢‡!§‡É‡Ð‡Ö‡Û‡à‡æ‡ê‡ï‡ˆ$ˆ)ˆIˆ]ˆB}ˆÀˆàˆåˆêˆñˆ÷ˆüˆ‰‰‰%‰>‰R‰c‰t‰…‰–‰§‰¿‰	Î‰
Ø‰
æ‰
+ô‰
+ÿ‰
 
-ƒƒ(ƒ$@ƒeƒƒƒ!�ƒ¿ƒÔƒ
-ãƒ
îƒ	üƒ„
-„"„)„A„[„j„�„œ„«„Ä„Ó„Ú„ê„þ„(…/@…p…‰…›…°…+¿…ë…A†I†c†}†—†8¬†å†ý†‡&,‡S‡r‡†‡2¡‡Ô‡?î‡&.ˆUˆtˆ(‡ˆ°ˆ"Äˆçˆ*‰62‰{i‰rå‰xXŠÑŠDçŠ*,‹7W‹$�‹'´‹*Ü‹!Œ=)ŒAgŒE©ŒïŒ%�D4�.y�,¨�*Õ�%Ž4&Ž[Ž>zŽG¹Ž�J
-�5U�8‹�(Ä�,í�P�Ek�F±�Fø�3?‘<s‘%°‘AÖ‘n’K‡’7Ó’*“86“.o“<ž“9Û“@”HV”BŸ”Jâ”B-•Tp•TÅ•T–To–‰Ä–<N—m‹—[ù—PU˜<¦˜Dã˜^(™D‡™€Ì™1MšJšIÊš>›mS›6Á›mø›!fœ#ˆœ8¬œ)åœ.�0>�>o�>®�/í�/žFMž>”ž-Óž(Ÿ*Ÿ7HŸ1€Ÿ0²Ÿ/ãŸ) /= ;m <© <æ /#¡-S¡&�¡3¨¡3Ü¡O¢W`¢O¸¢o£+x£5¤£#Ú£7þ£E6¤>|¤2»¤:î¤2)¥(\¥+…¥<±¥?î¥Q.¦3€¦'´¦=Ü¦<§MW§K¥§Dñ§!6¨:X¨7“¨Ë¨.é¨©18©'j©%’© ¸©EÙ©4ªHTª?�ª<ÝªG«-b«7�«1È«8ú«23¬+f¬/’¬7Â¬ú¬+­LF­$“­+¸­ä­®®;®+V®5‚®@¸®@ù®I:¯I„¯9Î¯$°,-°'Z°=‚°QÀ°D±1W±5‰±¿±2Ü±.²?>²A~²EÀ²$³9+³5e³&›³4Â³1÷³$)´$N´/s´%£´<É´*µ'1µ3Yµ&�µ´µ4Ðµ¶4$¶Y¶.p¶(Ÿ¶*È¶6ó¶2*·5]·8“·WÌ·Z$¸B¸5Â¸=ø¸<6¹(s¹-œ¹0Ê¹û¹Pº fº@‡ºkÈº44»;i»$¥»'Ê»ò»2¼OB¼K’¼GÞ¼`&½A‡½YÉ½S#¾<w¾g´¾a¿l~¿Fë¿-2À2`À(“À3¼À1ðÀ-"ÁDPÁB•Á6ØÁ*Â2:Â.mÂ*œÂ(ÇÂðÂ4ÃD@ÃC…ÃCÉÃE
Ä^SÄ]²Ä)Å+:Å$fÅ)‹Å8µÅ:îÅ&)Æ&PÆ2wÆ+ªÆ=ÖÆ,ÇAÇ+_Ç‹Ç-¡Ç+ÏÇûÇ*È2EÈ"xÈ#›È"¿È-âÈ,ÉG=ÉG…ÉGÍÉ(Ê@>ÊDÊ2ÄÊ7÷Ê5/Ë/eË*•Ë1ÀË;òËW.Ì-†Ì-´ÌâÌ)Í%*Í2PÍ2ƒÍ=¶Í;ôÍB0ÎAsÎ:µÎ2ðÎ?#ÏcÏ›ƒÏ6Ð6VÐA�ÐGÏÐ6Ñ=NÑ:ŒÑ:ÇÑDÒ8GÒ9€ÒCºÒ:þÒ79Ó8qÓ9ªÓ,äÓ6ÔHÔ;dÔ: Ô.ÛÔ
-Õ1*Õ$\Õ5�Õ9·ÕOñÕ#AÖ1eÖC—Ö6ÛÖ(×&;×:b×#�×'Á×pé×'ZØ1‚Ø;´Ø£ðØ7”Ù(ÌÙ5õÙ8+Ú>dÚ £ÚÄÚ!âÚ Û%%ÛbKÛ'®Û)ÖÛ=ÜG>Ü%†Ü*¬Ü0×Ü&Ý&/Ý7VÝ8ŽÝ9ÇÝ6Þ/8ÞChÞQ¬ÞþÞß-ßBß2Xß&‹ß²ßMÁßTà2dà|—à(á[=á+™á/Åá(õáRâFqâF¸â:ÿâ6:ãDqã7¶ã*îã-ä0GäAxäHºä>å+BåInå;¸åôå;æ;Pæ.Œæ.»æ=êæI(ç.rç/¡ç@Ñç*è)=è;gè£è>ÁèBélCé@°é?ñéG1êFyêJÀêHëKTëG ëBèëX+ì4„ì/¹ìNéì08í(ií/’íÂíÕíéí0ûí=,îDjî0¯î5àî)ï7@ïxï’ï'±ï&Ùï[ðG\ðO¤ð9ôð.ñ>Nñ2�ñ5ÀñPöñ=Gò/…òoµò%ó
9óGó
Sóaó%ró\˜ó;õó1ôCôYô\ôyô†ô	Ÿô©ô»ô,Èôõô	õ/õOõ;_õ›õ°õÀõÉõÝõòõöö	;ö"Eö+hö#”ö,¸ö:åö ÷2÷.N÷4}÷?²÷=ò÷	0ø":ø]øtø}ø�ø”ø¦ø¸ø'Êøòø ù#0ùTùnù$€ù$¥ù$Êù'ïù%ú'=úeúƒú£ú"Ãúæúöúû û7û)Mûwû#�û#±û-Õû8ü1<üAnü.°üYßü_9ý;™ý)Õý!ÿý$!þFþH[þ%¤þÊþ5çþÿ
-2ÿ"=ÿ`ÿrÿ‹ÿ¦ÿ»ÿÈÿ×ÿ
õÿ/+E8qªÀß'ñ+.I-xG¦3î""AId%®Ôçù":L$eŠ§5¹ï#9Kk…–¥·	¾ÈÑ
-è"ó%<HWnŠ ²Òë1I-g•§¹Îè)/Gw‰›¢!©.Ë,ú':C%~%¤Ê=ãC!	=e	"£	[Æ	?"
-b
-�
-)ž
-È
-Ñ
-*ì
-&)Pp‚‰(�¹'Ëó(H#`$„,©.Ö,
.2
a
"~
,¡
.Î
!ý
10Q2‚,µ.â#5U(i/’!Âä(#*+Nz,“ Àáú.N#m-‘"¿âô7Pew2’$Å&ê	1!;]DwD¼/1/C?s³ÄäûJ7bš*´ß÷%6L#i%�³ÆãJJ]J¨Ió:=;x:´Eï659l7¦9ÞQ/jBš@Ý.=M&‹.²/á-i?D©dî,SF€fÇC.r#‘@µ8ö7/g	‡‘­¿Ñ<æ2# .V … � ¤ ¼ dÔ 9!6L!@ƒ!=Ä!d"gg"bÏ"=2#Ep#1¶#(è#$$6$4L$'�$$©$7Î$%%/%F%W%o%‡%™%«%½%Ï%é%&&'&?&^&2}&°&-É&+÷&+#'*O'	z'	„'
-Ž'™'®'½'Ò'á'1æ'(7('V("~(¡(¿(Ô(Ý(]û(=Y)(—)ZÀ)Z*Ev*A¼*Gþ*WF+Wž+9ö+90,4j,9Ÿ,4Ù,2-7A-5y-7¯-.ç-2. I.[j.@Æ.:/#B/=f/<¤/Ná/-00O^0 ®0>Ï091
-H11S1&…1&¬1!Ó1õ1,27A2
y2‡2š2®2Á27Ô23$,3"Q3At3¶3,Ô32444¾D4»5¿5Ú5õ5B6DX6*�6LÈ67*7y97³70»7ì78888298Ol8¼8*Û8 9'9KE9‘9ž9 ¸9Ù9í9::,:B:Y:v:‡:›:N£:ò:#ö:6;Q; q;8’;Ë;Ý;í;õ;
-<<2<F<Y<Ll< ¹<DÚ<=1=D=3_=!“=µ="¼=ß=ï=þ=%>'7>$_>)„>*®>Ù>0õ>,&?S?q?‹?“?
«?%¹?ß?'÷?@9@P@b@y@7�@È@á@ó@AA.ADA-cA)‘A>»AgúAxbB-ÛB!	C7+CcC!|C;žC0ÚC5D<AD<~D2»D/îD.E=ME/‹E6»E,òEÇFçGýGH.H,IHGvH-¾H&ìHIE#I+iI•I ±IÒIòI!J#&J"JJmJŠJ¤J#¸J.ÜJ0K4<K;qK­KP¾K,L5<L+rLHžL+çL8M9LM+†M<²MïMNMN&fN�NŸN#³N×N1õN'O/<OlO|OŒO,¦O,ÓO,P$-PRPiPrP~P"žPÁPÕPõPQ/Q+KQwQ'�Q·QÑQìQ9R:RJReRzR’R¥R¼R×R.îRS.S;SUSpS&„S-«S)ÙS8T<T[TtT‰T¡TºTÑT/çTU!1USUoU#†UªUÂUØU<òU/V>V
MV[VqV!„V¦VÂVÔVóVW,WFW_WuW*�W¬WÁW/ÖWX1XOX-cX
-‘XœX#¯XÓXìXýXY%/YUY!iY#‹Y#¯YÓY#ìY#Z4Z.AZpZvZ~ZƒZ
- Z«Z°Z¶ZÓZñZöZ%ûZ%![G[L[b[!g[‰[�[–[›[ [¦[ª[$¯[$Ô[ù[$þ[#\$9\$^\ƒ\ˆ\�\”\š\ Ÿ\À\$Ç\ì\ó\]']8]I]Z]k]|]	Ž]
˜]
¦]
-´]
-¿]
-Ê]Õ]í]^7"^Z^0k^3œ^Ð^ê^6ú^H1_2z_0­_0Þ_`*`<`H`"\``’`Ÿ`º`%Ï`õ`a"&aIa[a
zaˆa�a§a"Åa.èa6b"Nbqb†b¥b-´bâbEþbDccc‚c¡cH·cdd3d&Rdyd™d·d2Òd#eB)e&le#“e·e'Êeòe0f(Af,jf8—f~ÐfyOgˆÉgRhsmhCáh4%i%Zi0€i#±i/ÕiSjPYjOªj#új%k@DkA…k-Çk<õk)2l0\l$�lW²lO
-mZmKcm1¯m;ám4n7RnQŠnDÜnT!oTvoCËo\p0lp`�pvþpTuq6Êq=rG?r2‡r@ºr7ûrA3sIusC¿sLtHPt�™t�u‡�u�%vÀ§v@hw‘©wq;xf­xSylhy_Õy@5z‚vz:ùzU4{RŠ{@Ý{‹|Oª|‡ú|'‚}+ª}LÖ}B#~Af~8¨~Dá~D&;k/§L×G$€?l€9¬€.æ€M�Ac�6¥�7Ü�5‚7J‚:‚‚S½‚Sƒ;eƒC¡ƒ%åƒC„LO„†œ„t#…z˜…‘†4¥†;Ú†>‡CU‡€™‡mˆbˆˆYëˆ8E‰)~‰=¨‰Sæ‰P:Ša‹Š3íŠ.!‹JP‹_›‹tû‹JpŒ:»Œ#öŒK�Af�&¨�4Ï�!Ž=&Ž.dŽ&“Ž"ºŽJÝŽI(�Or�FÂ�L	�FV�>��OÜ�:,‘Jg‘5²‘Pè‘49’]n’-Ì’;ú’h6“+Ÿ“=Ë“(	”$2”#W”&{”8¢”FÛ”Q"•Qt•lÆ•f3–3š–!Î–/ð–7 —XX—T±—M˜8T˜;�˜#É˜>í˜3,™X`™@¹™Vú™2QšJ„š;Ïš:›CF›@Š›5Ë›8œ4:œ5oœ?¥œ>åœ4$�?Y�4™�$Î�<ó�"0žDSž˜ž9¯ž=éžG'Ÿ?oŸƒ¯ŸT3 Xˆ qá ~S¡FÒ¡Q¢]k¢ZÉ¢=$£?b£A¢£'ä£b¤ o¤_�¤€ð¤Eq¥Y·¥4¦3F¦,z¦D§¦\ì¦dI§Q®§…¨;†¨\Â¨p©B�©rÓ©xFªw¿ªc7«9›«>Õ«0¬<E¬3‚¬:¶¬Rñ¬SD­@˜­/Ù­A	®=K®=‰®3Ç®û®:¯IS¯H�¯Hæ¯J/°cz°bÞ°8A±:z±'µ±9Ý±3²;K²0‡²<¸²=õ²/3³Mc³3±³%å³6´B´-X´2†´ ¹´*Ú´3µ9µ Yµzµ)šµ(Äµ\íµPJ¶^›¶+ú¶M&·St·8È·A¸=C¸@�¸6Â¸lù¸Hf¹Z¯¹<
-º3Gº {º3œº7Ðº7»9@»Yz»IÔ»N¼Om¼J½¼:½CC½‡½å§½M�¾GÛ¾N#¿Tr¿/Ç¿5÷¿8-À9fÀK À6ìÀ8#ÁJ\Á8§Á6àÁ6ÂLNÂ>›Â9ÚÂ%Ã;:ÃXvÃ:ÏÃ!
-ÄB,Ä(oÄ0˜Ä8ÉÄIÅ#LÅ3pÅR¤ÅB÷Å5:Æ4pÆI¥Æ/ïÆ2ÇŸRÇ4òÇO'È:wÈù²È;¬É4èÉDÊBbÊI¥Ê+ïÊ-Ë6IË1€ËI²Ë~üË2{Ì5®ÌAäÌN&Í*uÍ? Í,àÍ&
Î-4Î?bÎ;¢ÎAÞÎD Ï4eÏ?šÏdÚÏ9?ÐyÐ–Ð¶Ð<ËÐ,Ñ5ÑmDÑb²Ñ:Ò„PÒ)ÕÒhÿÒ9hÓM¢Ó>ðÓi/Ô[™ÔYõÔKOÕn›Õ:
-Ö8EÖ2~Ö,±Ö>ÞÖM×Wk×FÃ×1
-ØQ<Ø@ŽØ#ÏØ„óØ|xÙ<õÙ<2ÚVoÚjÆÚO1ÛO�ÛEÑÛ1Ü-IÜIwÜ#ÁÜGåÜI-ÝywÝSñÝTEÞ]šÞ\øÞ`Uß`¶ß^à^vàLÕàh"áJ‹á:ÖáWâ@iâ&ªâ0Ñâãã
+ã:9ãBtãL·ã@ä=Eä;ƒä;¿ä"ûä å-?å#må`‘åPòådCæK¨æ$ôæ>ç;Xç4”ç�ÉçYYè@³è‚ôèwé
-�éšé¦é
¸é2ÆéƒùéW}ê
Õêãêþêë!ë#6ëZëgëyë3†ëºëÐëEçë-ìLLì ™ìºìÙìâìñìí+í =í^í6kíD¢í-çíGîG]î¥î&·îBÞîP!ïCrï>¶ï
õïð#ð;ðCðGðYðkð}ð$�ð´ð Óð$ôðñ3ñ=Eñ&ƒñ&ªñ)Ññ'ûñ)#òMò!mò!�ò$±òÖòïò
-ó&ó";óM^ó¬ó(¼ó!åó,ôC4ô>xôL·ô;õv@õe·õDö&bö!‰ö(«öÔöVìö1C÷u÷=�÷Î÷#â÷;øBø$Tøyø—ø¶øÌø"àø,ù0ùTBùC—ù@Ûùú%3úYú#kú�ú£ú1Àú'òúAû<\û™û#´û›Øû-tü¢ü¹ü(Ïü%øüý0ý(Gýpý�ý8ŸýØýêýüýþ(þHþ-fþ”þ
¤þ²þÄþ	Íþ×þ!äþÿÿ01ÿbÿuÿˆÿ(ŸÿÈÿàÿ%ïÿ1Qbx!�<²ï',"Tw1“7Åý!(/9O7‰#Á:å% %FlQ‰WÛD3*xh£^k ‹>¬ëó5
C,U&‚©»Â,Éö)2Og†$œ#Á7å?7]?•&Õ*ü7'	?_	*Ÿ	<Ê	=
-EE
-7‹
-?Ã
--.1`3w:«#æ 
-,+&X.®/Ê,ú'
-C
q
"ˆ
«
#Ç
-ë
&@Rn„š°È!Ù?û+;#g%‹
-±2¼!ïTTf2»î1Z8“£ ÀáöIÿCI�J¤ï
*D_ $ 4Åú5T^f_Å_%^…Bä='Mea³MhcfÌh3wœPMee³7FQ5˜FÎ>3T†ˆM€]1ÞfgwUß458jX£NüHK.”	ÃÍë + CD 7ˆ .À ï ö !&)!{P!Ì!=ã!M!"Ho"q¸"„*#|¯#J,$Gw$5¿$,õ$("%K%Gg%9¯%=é%V'&~&›&"¹&Ü&ù&'4'R'p'Ž'¬'Ì'ë'	(&(#D("h(3‹("¿(>â(<!)<^)2›)Î)ß)ð)**&*;*J*4Q*†*%¦*0Ì*-ý*%++Q+f+$u+_š+?ú+):,_d,aÄ,L&-Ms-IÁ-s.y.?ù.;9/Hu/?¾/Fþ/=E0Xƒ0@Ü0X19v17°1'è1h2Zy2LÔ2-!38O3Qˆ3RÚ3B-4Gp41¸4Gê4B25u5=‹5,É5-ö5$62D6;w6C³6÷6%
-707D7W7Nj7"¹7%Ü748T78!Œ8(®8;×89Ö%9Èü9Å:á:';G(;Ip;.º;Né;8<Q<Ðf<	7=1A=#s=—=
¤=
²=À=7Ü=^>6s>Oª>!ú>1?kN?º?Ò?ð?@'@?@X@o@ˆ@¢@¾@Ï@
è@\ö@	SA,]A6ŠA'ÁA+éA.BDB^BqB~B™B­BÁBÕBèBiûB$eCTŠCßCôC!DL'D(tD�D%¥DËDÛDêD3E54E$jE4�E9ÄEþE-F4KF*€F#«F
-ÏFÚFõF)G0G3JG~GšG³GÊGáG5ôG&*HQHdHxH�H¢H¹H/ØH.IL7I’„I¬J=ÄJ!KK$K.pK"ŸK=ÂK@L@ALC‚LCÆL*
-M/5M<eMI¢M5ìM@"N,cNê:Š;–Îý#ë¾>ÏÅÏÊýˆ>ñ†)Œô-ÌšúüeÆFR KÔú>N<Ù•º;9/½ÞZ~24ÊlŠbuƒ÷P’‚»O�,æ´è-ÆM³4	‰.¥±Rÿ¡—«ì�”@�€°^Ð
ã÷ª=×äW@©D�
ÇÝL_ð¡ºàßÍœS5¦óà’Ê¿}ti›û(cÁs^8]ñPž]®*º™qûZ7Ë„¹PŸqÀóÛŽïa6Àç¨/TõË{Ev®‚xQÍ¸Ãƒ/œ7ô€ëž›Å¤Ò©cyM!A†¦
-ÿ�ÖÏþî—*Zïu�àXˆ! Èõ&$x.˜„
-.c�ÿ“%^îeÉý‰é00¹�¥#o¿2?“íßHx$úd':a­‚YJ‹íÜUso©˜"öF¯AÐLaT³ì’»t~Ì}ÕØP¸·w`´�øÙ¸õ£ïÂÅ¢EúIÃ°ƒ>$=N&'�j]h[ð¸.jòÓÿÄþFúò�{åãkö°q‚ÝXpkÈNŠòå5ˆ
ï§*…çÖÏÑÑ#ÁŸ';ÄšÞØÂjŽ„®¥a–rÃU¿~¾Û7”'ùÐ¤Ú_%­âévÑÁ­Mhj`ˆC¤né§Sül(•
	ã^|ÁoÇžäCÖ‹ùŠVX)†u=lRF¨nøRzÕYÄ¬b5fšÛN
-—<œðì½T^€|Â¤v¼½pW	—ûþçÐÅÞWã¬f\’T9×pzæþ…b„8[¡1è”K%)ÕCñMtG(,wdå ðwmñÒ:þ»ÿ7EÑ®Ã‘¸ž¾‘$HiêuÔcDŒæ<Æá3I¨›f9 6N@Ø"\#Ÿ·!]åªÏV(ÂÜšÇ�r§p¨ãY; ¼ä)ÛB°D �BÝ]�ŸïÜ
-ñ²Õáô* ³4»gÀ©ÜÍ‡Þ9kíîO…w¦¶Õ¿ý8Y|Ò²åõ÷eÚâë{¢ÓÍsRl¤
&× B6÷Œ�ä!n3 ±#_ªâ¼¯e¯bÉülzä�‹£ë<h_ÈíM†Æ­‰ù.¬3ý«­·?œÎôÒK®|(™ËHiDÉèmmàvîßJT°ó1æ[Úƒ›„¦Æö0DùˆìSüg£\eøµèÌv,é¡4È©ðµÇA
-x{+Ë+†¶yªrd[5±ÂJ>‰XŸ"â¢æZ\¡? ÓALÉ¢G%‘õ+Èrc·�µ2\ÍŠ•«£Q›‡”¥™0<Ëºâs¼gÖ¯�–ø@OoCsçJÔóy€nÔ5¶Ugë}Ý�Ý•;Q"
Pi²I1”ôÎØO}‡B=…`|øof™b6QÌªqpLÄÙ`÷¢K•,“tkyÎÉ
-Ó7òW�ízÔàF0Ž‘Ùi¹¦¹4Où�yG–&Å«£µ±¶2ó×-~}ÚG²Ò‹�?gu/J¨E,!/V¹S3`	dŒnèÖ	ÁéQÜ=€X¾³E˜·fêÊç‘hß+Y-B$Lî:?q¬±'_áÀ“À´9œa%ÊÄòÌ³t…§Œ‡áÚ!Þ“ê-½ÓÑCÇmG8¼‡~ßH�á¥{UÃZ«˜m28ê1´ìØ¿Vƒ13�ŽxÛ¶[’wj—ž‚–6¯kA:‹‰�rÐz&§UW× "ü	»IÙ*¬IHV@d+ûû™ö)´˜KŽh½²ÎºSµöš¾	Export Address Table 			Export Address Table 		%08lx
+Š
+Š Š
+5Š$@Š
+eŠ#pŠ%”Š
+ºŠÅŠ×ŠêŠ$‹'‹E‹!_‹�‹–‹
+¥‹
°‹	¾‹È‹
+Ù‹ä‹ë‹ŒŒ/Œ>ŒUŒpŒŒ˜Œ§Œ®Œ(¾Œ/çŒ�)�+8�d�A€�Â�Ü�ö�Ž8%Ž^ŽvŽ‹Ž&¥ŽÌŽëŽ2�?9�&y� �(¿�"è��*+�6V�{��r	‘x|‘õ‘5’A’DN’*“’7¾’$ö’'“*C“!n“=�“AÎ“E”V”%u”D›”à”.þ”,-•*Z•%…•4«•à•>ÿ•Q>–G�–8Ø–	—J—5f—8œ—(Õ—,þ—P+˜E|˜FÂ˜F	™OP™H ™3é™<š%ZšA€šnÂšK1›7}›*µ›8à›.œ<Hœ9…œ@¿œH�BI�JŒ�B×�TžTožTÄž‰Ÿ<£ŸmàŸ[N Pª <û D8¡^}¡DÜ¡€!¢1¢¢JÔ¢I£>i£m¨£6¤aM¤¯¤·¤7Ë¤!¥#%¥8I¥)‚¥.¬¥0Û¥>¦>K¦/Š¦/º¦Fê¦>1§-p§(ž§Ç§7å§1¨0O¨/€¨)°¨/Ú¨;
+©<F©Aƒ©<Å©,ª//ª-_ª&�ª3´ª3èªO«Wl«OÄ«o¬+„¬5°¬#æ¬7
+­EB­>ˆ­2Ç­:ú­U5®2‹®(¾®+ç®¯7-¯<e¯?¢¯Qâ¯34°'h°=�°<Î°"±M.±K|±DÈ±!
²:/²7j²¢².À²ï²1³A³'^³%†³ ¬³EÍ³4´HH´?‘´<Ñ´Gµ>Vµ-•µ<Ãµ7¶18¶8j¶2£¶+Ö¶/·^2·]‘·7ï·'¸+G¸Ls¸+À¸ì¸
+¹#¹C¹+^¹5Š¹@À¹@ºIBºIŒº9Öº$»,5»'b»=Š»QÈ»D¼1_¼5‘¼Ç¼2ä¼.½?F½.†½ µ½AÖ½E¾:^¾$™¾9¾¾5ø¾&.¿&U¿4|¿1±¿$ã¿$À/-À%]À<ƒÀ*ÀÀ'ëÀ3Á&GÁnÁ4ŠÁ¿Á4ÞÁÂ.*Â(YÂ*‚Â6­Â2äÂ5Ã8MÃW†ÃZÞÃB9Ä5|Ä=²Ä<ðÄ(-Å-VÅ0„ÅµÅPÏÅ  Æ@AÆk‚Æ4îÆ;#Ç$_Ç'„Ç¬Ç2ÉÇOüÇKLÈG˜È`àÈAAÉYƒÉSÝÉ<1ÊgnÊaÖÊl8ËF¥Ë-ìË2Ì(MÌ3vÌ1ªÌ-ÜÌD
+ÍBOÍ6’Í*ÉÍ#ôÍ2Î.KÎ*zÎ(¥Î]ÎÎJ,ÏwÏ’Ï4¬ÏDáÏC&ÐCjÐE®Ð^ôÐ]SÑ)±Ñ+ÛÑ$Ò),Ò7VÒ9ŽÒ&ÈÒ&ïÒ2Ó+IÓ=uÓ,³ÓàÓ+þÓ*Ô-@Ô+nÔšÔ¹Ô*ØÔ2Õ"6Õ#YÕ"}Õ- Õ,ÎÕGûÕGCÖG‹Ö(ÓÖ@üÖD=×3‚×2¶×`é×2JØ7}Ø5µØ/ëØ*Ù1FÙ;xÙ&´ÙWÛÙ-3Ú+aÚ-�Ú»Ú)ÙÚ%Û2)Û2\Û=�Û;ÍÛB	ÜALÜ:ŽÜ2ÉÜ?üÜ<Ý›\Ý6øÝ6/ÞAfÞG¨Þ6ðÞ='ß:eß: ßDÛß8 à9YàC“à:×à7á8Já9ƒá,½á6êá!â;=â:yâ.´â/ãâã13ã%eã$‹ã9°ãOêã#:ä,^ä1‹äC½ä6å"8å2[å/Žå(¾å&çå%æ)4æ ^æHæ4Èæ'ýæ1%ç;Wç>“ç%Òç7øç(0è5Yè'�è8·è>ðè /éPé!né �é'±ébÙé)<ê=fêG¤ê%ìê*ë0=ë&në&•ë7¼ë7ôë8,ì0eì9–ì6Ðì/íC7íQ{íÍíííüíî2'î&Zî.�î°îM¿îT
ï2bï|•ï(ð[;ð+—ð/Ãð(óðRñFoñF¶ñ:ýñ68òDoò(´ò7Ýò*ó-@ó0nóAŸóHáó>*ô+iôI•ô;ßôõ;;õ;wõ.³õ.âõ=öIOö.™ö/Èö@øö*9÷)d÷;Ž÷Ê÷>è÷B'øljø@×ø?ùGXùF ùJçùH2úK{úGÇúBûXRû4«û/àûNü0_ü(�ü/¹üéüüüý0"ý=SýD‘ý0Öý5þ)=þ7gþŸþ¹þ'Øþ&ÿ['ÿGƒÿOËÿ9U>u2´5çP=n<¬/éo]‰ç
û	
#%4\Z;·ó;H	ak}•¦,³àô
+/!/Q2�9´#î'2:3m¡;±í/DYk~•²Ï	í"÷+#F,j:—Òä.	4/	?d	=¤		â	"ì	
+&
+/
+3
+F
+X
+j
+'|
+¤
+ Á
+#â
+  2S$q$–'»%ã'	1Oo"�²Â×ì
)
C
#Y
#}
-¡
8Ï
2A;'}.¥YÔ_.;Ž)Ê!ô$;HP%™¿5Ü
+'"2Ug€›°½Ì
êø/
++:8fŸ
+µÀß'ñ+.I-xG¦3î""AId%®Ôçù":L$e*Š+µáþ5FXj€’²ÌÝìþ	
+/":%]ƒ�žµÑçù2Rfx�-®Üî/O)d/Ž¾Ðâé!ð.,An:Š%Å%ëC*=nC¬=ð".[Q?­í))S\vw*î&+Rr„‹(’»'Íõ*J#b$†,«.Ø, .4 c "€ ,£ .Ð !ÿ 1!!0S!2„!,·!.ä!#"7"W"(k"/”"!Ä"æ"(##,#+P#|#,•# Â#ã#ü#$0$P$#o$-“$"Á$ä$ö$%!%:%O%a%2|%$¯%&Ô%û%	&!%&DG&DŒ&/Ñ&'/'?C'ƒ'”'´'Ë'7Þ'(J(‰j(7ô(,)*F)q)‰)¡)·)È)Þ)#û)%*E*X*u*’*J¤*Jï*J:+I…+:Ï+;
+,:F,E�,6Ç,+þ,;*-Ff-Q­-/ÿ-B/.@r.;³.Kï..;/Fj/a±/=0&Q0.x0/§0-×0/1i51DŸ1dä1.I2,x2F¥2fì2CS3—3#¶3@Ú3847T4Œ4˜¬4	E5O5k5}5�5<¤52á5.6C6K6b6z6d’6÷66
+7=A7g7bç7=J8Eˆ81Î8(9$)9N94d9'™9$Á97æ9:/:G:^:o:‡:Ÿ:±:Ã:Õ:ç:;;.;?;W;v;2•;È;-á;+<+;<*g<	’<	œ<
+¦<
+±<¼<Ñ<à<õ<=1	=;=Z='y="¡=Ä=â=÷=>,>]K>=©>(ç>Z?Zk?EÆ?A@GN@W–@Wî@9FA9€A-ºA4èA9B4WB2ŒB7¿B5÷B7-CBeCE¨CBîCC1DAuD.·D2æD E[:E@–E:×E#F=6F<tF%±FN×F-&GOTG;¤G àG>H9@H
+zH1…H&·H&ÞH!I'I,FIJsI7¾I
öIJJ+J>J7QJ6‰JÀJ$àJ"KA(KjK,ˆK2µKèK¾øK»·LsMŽM©MBÉMDN*QNL|NÉNÞNŒíNzO0‚O9³OíOPPP3P:P2VPO‰PÙP*øP #QDQbQoQ ‰QªQ¾QÓQéQýQR*RGRXRlRNtRÃR#ÇRëR6S:S ZS8{S´SÆSÖSÞSóSTT/TBTLUT ¢TDÃTPUYUkU~U3™U!ÍUïU"öUV)V8V%KV'qV$™V*¾VéV0W,6WcW�W›W£W
»W%ÉWïW'X/XIXcXzXŒX£X7ºXòXY Y2YEYYYmYƒY™Y-¸Y)æY>ZgOZx·Z-0[!^[7€[¸[!Ñ[;ó[0/\5`\<–\<Ó\2]/C].s]=¢]/à]6^,G^Çt^<`I`_`{`�`,«`GØ` a-,a&Za�aE‘a+×ab b@b`b!rb#”b"¸bÛbøbc#&c.Jc0yc4ªc;ßcdP,d,}d5ªd+àdHe+Ue8�e9ºe+ôe< f]fofM†f=Ôf&g9gKg#_gƒg1¡gÓg/ègh(h8h,Rh,h,¬h$Ùhþhii*i"Jimi�i¡iÁiÛi+÷i#j';jcj}j˜j9¬jæjöjk&k>kQkhkƒk.škÉkÚkçkll&0l-Wl)…l8¯lèlm m5mMmfm}m/“mÃm!Ýmÿmn#2nVnnn„n<žnÛnên
ùnoo!0oRono€oŸo»oØoòop!p*-pXpmp/‚p²p1Épûp-q
+=qHq#[qq˜q©qÂq%Ûqr!r#7r#[rr#˜r#¼ràrírórûrs
+s(s-s3sPsnsss%xs%žsÄsÉsßs!äst
tttt#t't$,t$Qtvt${t t$¶tNÛt$*uOuTuYu`ufuku$ru—užu¥uÀuÙuêuûuvv .vOv	av
kv
yv
+‡v
+’v
+�v
+¨v³vËv7åvw0.w3_w“w­wÈw6ØwHx2Xx0‹x0¼xíxyy&y":y]ypy}y˜y%­yÓyîyz"zBzTz
sz�zˆz. z6Ïz{{-*{X{Et{º{Ù{ø{|H-|v|“|©|&È|ï|}2*}B]}& }#Ç}'ë}0~(D~,m~8š~~Ó~yRˆÌU€9p€ª€s·€C+�4o�%¤�0Ê�#û�/‚SO‚P£‚Oô‚#Dƒ%hƒ@Žƒ(ÏƒAøƒ-:„<h„)¥„0Ï„$…Z%…R€…OÓ…:#†	^†Kh†5´†?ê†4*‡7_‡Q—‡Dé‡T.ˆTƒˆ]ØˆK6‰C‚‰\Æ‰0#Š`TŠvµŠT,‹6�‹A¸‹Gú‹2BŒDuŒ7ºŒAòŒI4�C~�LÂ�HŽ�XŽ�ÚŽ‡\�Àä�D¥�‘ê�q|‘fî‘WU’p­’_“@~“‚¿“:B”Y}”V×”D.•‹s•Sÿ•tS–È–Ð–Gé–'1—+Y—L…—BÒ—A˜8W˜D�˜DÕ˜;™/V™L†™GÓ™?š9[š.•šMÄšA›6T›;‹›5Ç›;ý›:9œStœGÈœS�4d�;™�CÕ�%žL?žSŒžŠàžtkŸzàŸ‘[ 4í ;"¡>^¡C�¡€á¡mb¢bÐ¢Y3£`�£8î£)'¤=Q¤'�¤;·¤Só¤PG¥a˜¥3ú¥..¦J]¦_¨¦)§x2§J«§:ö§#1¨KU¨A¡¨&ã¨4
+©!?©=a©*Ÿ©.Ê©&ù©" ªJCªIŽªOØªF(«Lo«F¼«C¬>G¬J†¬OÑ¬:!­J\­5§­PÝ­4.®‡c®†ë®]r¯-Ð¯;þ¯h:°=£°(á°$
+±#/±&S±8z±F³±Qú±QL²lž²f³3r³!¦³/È³7ø³X0´T‰´MÞ´8,µ?eµ#¥µ>Éµ3¶X<¶?•¶)Õ¶@ÿ¶V@·@—·2Ø·J¸;V¸(’¸:»¸Gö¸@>¹5¹8µ¹4î¹5#º?Yº>™º4Øº?
»4M»$‚»<§»"ä»D¼L¼9c¼=�¼GÛ¼?#½ƒc½Tç½X<¾q•¾~¿F†¿QÍ¿]ÀV}À=ÔÀ?ÁARÁ'”Áf¼Á #ÂcDÂ€¨ÂI)Ã]sÃ4ÑÃ3Ä,:ÄDgÄe¬ÄhÅU{Å€ÑÅ?RÆe’ÆpøÆBiÇv¬Ç|#È{ ÈcÉ9€É>ºÉ0ùÉ<*Ê3gÊ:›ÊRÖÊS)Ë@}Ë/¾Ë(îËAÌ=YÌ=—Ì3ÕÌc	ÍDmÍ²ÍÏÍ>ëÍI*ÎHtÎH½ÎJÏcQÏbµÏ8Ð:QÐ'ŒÐ9´Ð3îÐ;"Ñ0^Ñ<�Ñ=ÌÑ/
+ÒM:Ò3ˆÒ%¼Ò@âÒ#Ó-9Ó2gÓ!šÓ ¼Ó*ÝÓ3Ô<Ô \Ô}Ô)�Ô(ÇÔ\ðÔPMÕ^žÕ+ýÕM)ÖSwÖNËÖ6×jQ×8¼×Aõ×=7Ø@uØ6¶ØlíØHZÙ-£ÙZÑÙ<,Ú:iÚ3¤Ú ØÚ3ùÚ7-Û7eÛ9�ÛY×ÛI1ÜN{ÜOÊÜJÝ:eÝC ÝäÝåÞMêÞG8ßN€ßTÏß/$à5Tà8Šà9ÃàKýà6Iá8€áJ¹á8â6=â6tâL«â>øâ97ã2qã;¤ãXàã:9ä9tä!®äBÐä,å(@å7iåI¡å#ëå9æ3Iæ_}æBÝæ2 ç5SçA‰ç?Ëç8è5Dè8zè)³è|ÝèQZé4¬éSáé:5êFpê6·ê?îê4.ëDcë*¨ëBÓëIì+`ì-Œì6ºì1ñìX#í‚|í5ÿíA5îNwî4Æî?ûî,;ï&hï-�ï>½ï?üï;<ð>xðA·ðDùð4>ñ?sñd³ñ9òRòoò�ò<¤ò,áò;óJómYóbÇó:*ô„eô)êôhõ9}õM·õ>öiDö[®öY
+÷Kd÷n°÷:ø/Zø8Šø2Ãø,öø>#ùQbù[´ùFú1WúQ‰ú@Ûú#û„@û|Åû<Bü<üV¼üjýO~ýOÎýEþ1dþ-–þIÄþ#ÿG2ÿIzÿyÄÿS>T’]ç\E`¢`^d^ÃL"hoJØ:#W^@¶&÷0Of
x:†FÁP@Y=š;Ø;"P s-”#Â`æPGd˜Ký$I	Bn	;±	4í	�"
+Y²
+N@[‚œ_
+—¢®
À2Îƒ
W…

Ý
ë
	)#>bo�™©3¶êE.:t:¯Fê418fEŸ@å&LE ’³ÒÛêú
+
+% Q$r&—¾:ËD-KGyGÁ	&BBP…CÖ>
Yg‡Ÿ§«½Ïá$ó 7$X}—#©Í&é&)7'a)‰³!Ó!õ$<UpŒ"¡MÄ("!K,mCš?ÞL7k;£vßeVD¼&!((JsV‹1â=/m#�;¥á$ó6Uk",¢ÏTáC6@z»Ò%ã	 # ? S 1p '¢ AÊ <!I!#d!›ˆ!-$"R"i"("%¨"Î"à"(÷"8 #6Y#�#­#8¿#ø#
+$$8$X$-v$¤$
´$Â$Ô$	Ý$ç$!ô$%#%0A%r%…%˜%(¯%Ø%ð%%ÿ%%&A&a&r&ˆ&! &<Â&ÿ&''''<'"d'‡'1£'7Õ'
((1(8(?(9_(7™(#Ñ(:õ(%0)%V)|)S™)Qí)W?*D—**Ü*h+^p+Ï+ ï+>,O,W,…q,5÷,--,?-&l-“-¥-¬-,³-à-)ò-.9.Q.p.$†.#«.7Ï.?/7G/?/&¿/*æ/70?I0*‰0<´0=ñ0E/17u1?­1-í1.2J23a2:•2#Ð2 ô2,3&B3.i3˜3/´3,ä34--4[4"r4•4#±4-Õ4&5*5<5X5n5„5œ5!­5?Ï5+6#;6%_6
+…62�6TÃ6T72m7 71¸7Zê7E8U8 r8“8N¨8÷8I9±J9Cü9@:JW:¢:À:Ý:÷:; 2;$S;4x;­;È;è;<^<_x<_Ø<^8=B—==Ú=M>af>MÈ>;?RR?X¥?wþ?Pv@MÇ@eAR{AiÎA78BXpBuÉBF?C5†CF¼C>D3BD5vD†¬DM3E€�E3F16FfhFgÏFU7G4�G8ÂGXûGNTHH£H.ìHªI	ÆIÐIîIJ.JCGJ7‹J.ÃJòJùJK&,K{SKÏK=æKH$L„mL|òLJoMGºM5N,8N(eNŽNFªN9ñN=+OViOÀOÝO"ûOP;PYPvP”P²PÐPîPQ-QKQhQ#†Q"ªQ3ÍQ"R>$R<cR< R2ÝRS!S2S
+DSOSdSsSˆS—S4žSÓS%óS0T-JT%xTžT³T$ÂT7çT_U?U)¿U_éUaIVL«VMøVIFWs�WyX?~X;¾X9úXH4Y?}YF½Y=ZXBZ@›ZXÜZJ5[M€[HÎ[M\Ke\9±\7ë\'#]hK]Z´]L^-\^8Š^QÃ^,_RB_B•_GØ_A `1b`G”`BÜ`a=5a,sa- aÎa2îa;!bQ]bC¯bób%c,c@cScNfc6µc"ìc%d45dTjd!¿d(ád;
+eFeÖXeÈ/føfg'3gG[gI£g.ígNhkh„hó™h	�i1—i0Éi#úij
+j9j
Yjgj7ƒj^»j6kOQk!¡k1Ãkõk
l+lKlblzl“lªlÃlÝlùl
+m
#m\1m	Žm,˜m Åm6æm'n+En.qn nºnÍnÚnõn	oo1oDoiWo$ÁoTæoW;p“p¨p!¹pLÛp((qQq%Yqq�qžq3´q5èq$r9Cr}r-œr4Êr*ÿr#*s
+NsYsts)…s¯s3Ésýst7tPtgt~t5‘t&Çtîtuu+u@uUuluƒu/¢u.ÒuLv’Nv¬áv=Žw!ÌwKîw.:x"ix=Œx@Êx@yCLyC�y*Ôy/ÿy</zIlz5¶z@ìz,-{�ÝgóAX]˜1Ð�rb:Yð
+kê4ÏrGJêæ‘(äOÒªqúçîß/ièB_Œ¾Snwx½RŽÐ	[ïÌT+‚ÿ| Ì¡†c2ºÐFÀí?\ÿJM>ŸAqÀŸ²VýIÔ^š­Ç/rÒä—Ô£HÈ®²è‡bHÔGûì¾Ãn™�®–%­ÊñIkc¶“2<Êº�¥Y´§X5“$
\7÷àã²©æEéãšz´V|ÓòˆK­˜EouÄ$VJK¡»†>Ûì¨
+èñ¢â&	¨k'¸sØv.9¤b†át ˜Ýioðõ[½ÖašŽœžÄQ8‘@ «³dÍ¬zØ8ÅêCt”idþBf–§ž*oÃìËEÞ—ôþ]ºcl0ÑÎ¹\8¼,)œ™�\PõíÁmT±ê�•¬BÇY‰;]¤0ayON£�X6³ÖSu:1r€3"‡n	ö±[rƒÓ=§^=IåMÄ$%X¶<¾”p-á:Á¬�Â@3üRÉOÅeÅµŸ¹ç{÷Œ^ñö›	¶¦¥=e´ç(UˆhD¸Üã5…27e*sôù.é4äMXW	OP_eÉQÛèjÅkLë‚Œ™©1SÅ½³6,Jœ:¿P.’Ö˜Ñ*ë¸ÝU}jt#Ùat~8<ÿ­0!¦uüVÆZ	;�Í³÷ù¬+`ø°`Ê@ÈØ¹ $µ°_Ö£G€‰lò~¯¹!ÞÙ{;…Àóq{M’ˆ¿¼URÇ(!¢C(þïv‹¿JLnIjÒskmswŠG#(?ë¥#"@q�¨Ü’÷+!„Ç‹J6ÒÎÈÚ]‡d'Ô„p¶OÂbîÂ]žÈ›Z
V�x\˜�¦·zur²Á‚Œ™GX;¼ÚˆS?&=xÕ-#©òHEoNcõgÁ¨pÞù*œ¾6«�óúF‡Æ1òdRÆ'
+ÖýeUWC·–>-ËNàÌzé›ZŽ»–K»•ƒi%`Ä¡Ã:h¤¤.k
+n KÛZ*¤w³(I&já ßí/º&A·L�+‘·�å—o4)%6žßûð"ú`‹vâû€ï9úZ}Õ‘,®vzø9+Žní…­â×š=
g)jÊtþUŒiw¿
+ƒ”‚QáW¸Ú2¡m«±!¥÷ûÚ>¢¾+°aYž’d_À€pý_Šæ„ôµ±Ÿ¯ÞÎgÔ½Ûô’gPÿ,•é?�à,Ù
‰ŸÌ§A@á�530^fÌ{¯ú<«×µ5ZRx�-hùBN)…PÒußR „å/�Amyv2€véD>ÝOøNýË8lº±´/›|$Á'D\œIÐ~ãø‹¦ï"V‹Ú;Qùf�l/Š-�Äh$Õ
pÇË—FðàfH"9hâg6ø4”ƒªª}×²Ù|S-°^9%õeØ�a<EWD<ÏÕÎ%•ÿ[puwèìÙh�ÈDyû!£Í:§†; Ym5·bß¥”}ÜÑªWÊÑ…Þöä¦¯8°qñ~]ŠAF)d«Y7M[là—Õ}4ëw�ÂKóC‰F¬ˆ„•"ë>fU3¢f3GØN*ÀÉô
`ñóÎ[îT¸ö¹b»–2FÃÉ7å|Ó.t†TÑ
+?T“Hi.M›µÓîìCEçƒLoòÐqs¢ËÆŽy&®#D™âõ‘'ý`{ðÝ0¯Âüa�x9BC½#¡‚BQÉ“ä¿&ŠªÃ×ÛLüþsLÍ¨y ãç1æ'31K´@QÏ5‡T4Ü©Ó)¶‰Wíl7ÏcH®©S_î¼Ü7æï×~ÍÏ^üåšm »“öPc=,?Æê0¼ j£	    TLS: %A	Export Address Table 			Export Address Table 		%08lx
 	Name Pointer Table 			Ordinal Table 				[Name Pointer/Ordinal] Table	%08lx
 	code-base %08lx toc (loadable/actual) %08lx/%08lx
-	reloc %4d offset %4x [%4lx] %s	vma:  Hint/Ord Member-Name Bound-To
+	non-TLS: %A	reloc %4d offset %4x [%4lx] %s	vma:  Hint/Ord Member-Name Bound-To
 
 	DLL Name: %s
 
@@ -112,6 +124,8 @@ Version definitions:
 
 Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld
 
+WARNING: Extra data in .rsrc section - it will be ignored by Windows:
+
 [Ordinal/Name Pointer] Table
 
 ppcboot header:
@@ -211,23 +225,20 @@ ppcboot header:
   shlextra  : %5u, permctx   : %5u
   shlstoff  : %5u, shrimgcnt : %5u
   size : %u
- #: Segment name     Section name     Address
  %08x 0x%08x 64B <EABI version unrecognised> BPAGE: %u COM COMM Change Protection (%u entries):
  Code Address Reference Fixups:
  DEF EXE First address : 0x%08x 0x%08x
  Fourth address: 0x%08x 0x%08x
- GBL Glue code sequence LIB Linkage Pairs Referece Fixups:
+ GBL Glue code sequence LIB Linkage Pairs Reference Fixups:
  NOMOD NORM OVR PIC QVAL RD REL Register restore millicode Register save millicode SHR Second address: 0x%08x 0x%08x
  Shareable images:
  Shared image  : 0x%08x 0x%08x
+ Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d
  Third address : 0x%08x 0x%08x
- UNI VEC VECEP WEAK WRT [64-bit doubles] [BE8] [FPA float format] [LE8] [Maverick float format] [VFP float format] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [abi unknown] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [absolute position] [d-float] [dsp] [dynamic symbols use segment index] [fix dep] [floats passed in float registers] [floats passed in integer registers] [g-float] [has entry point] [interworking enabled] [interworking flag not initialised] [interworking not supported] [interworking supported] [mapping symbols precede others] [memory=bank-model] [memory=flat] [new ABI] [no abi set] [nonpic] [not 32bitmode] [old ABI] [pic] [position independent] [relocatable executable] [software FP] [sorted symbol table] [symbols have a _ prefix] [unknown ISA] [unsorted symbol table] [v10 and v32] [v32] corrupted GST
- cpusubtype: %08lx
- cputype   : %08lx (%s)
+ UNI VEC VECEP WEAK WRT [BE8] [FPA float format] [G10] [LE8] [Maverick float format] [VFP float format] [Version1 EABI] [Version2 EABI] [Version3 EABI] [Version4 EABI] [Version5 EABI] [XGATE RAM offsetting] [abi unknown] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [absolute position] [d-float] [dynamic symbols use segment index] [fix dep] [floats passed in float registers] [floats passed in integer registers] [g-float] [hard-float ABI] [has entry point] [interworking enabled] [interworking flag not initialised] [interworking not supported] [interworking supported] [mapping symbols precede others] [memory=bank-model] [memory=flat] [new ABI] [no abi set] [nonpic] [not 32bitmode] [old ABI] [pic] [position independent] [relocatable executable] [soft-float ABI] [software FP] [sorted symbol table] [symbols have a _ prefix] [unknown ISA] [unsorted symbol table] [v10 and v32] [v32] corrupted GST
  debug module table : vbn: %u, size: %u
  debug symbol table : vbn: %u, size: %u (0x%x)
- filetype  : %08lx (%s)
- fixup info rva:  flags     : %08lx ( flags: 0x%04x global symbol table: vbn: %u, records: %u
+ fixup info rva:  flags: 0x%04x global symbol table: vbn: %u, records: %u
  ident: 0x%08x, name: %.*s
  ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u
  image build ident: %.*s
@@ -238,16 +249,12 @@ ppcboot header:
  linker flags: %08x: linker ident     : %.*s
  long-word .address reference fixups:
  long-word relocation fixups:
- magic     : %08lx
  majorid: %u, minorid: %u
  module offset: 0x%08x, size: 0x%08x, (%u psects)
- ncmds     : %08lx (%lu)
  offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u
  quad-word .address reference fixups:
  quad-word relocation fixups:
- reserved  : %08x
  section: base: 0x%08x%08x size: 0x%08x
- sizeofcmds: %08lx
  type: %3u, len: %3u (at 0x%08x):  unhandled EOBJ record type %u
  vbn: %u, pfc: %u, matchctl: %u type: %u ( vma:			Begin Address    End Address      Unwind Info
  vma:		Begin    End      EH       EH       PrologEnd  Exception
@@ -256,35 +263,36 @@ ppcboot header:
      		Address  Length   Length   32b exc  Handler   Data
  vma:            Hint    Time      Forward  DLL       First
                  Table   Stamp     Chain    Name      Thunk
-#<Invalid error code>%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections%A has both ordered and unordered sections%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)
+#<Invalid error code>%*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d
+%*.s Entry: %A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections%A has both ordered and unordered sections%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)
 %A:0x%v not found in function table
-%B (%s): Section flag %s (0x%x) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A+0x%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link%B(%A+0x%lx): %s relocation against SEC_MERGE section%B(%A+0x%lx): %s relocation against external symbol "%s"%B(%A+0x%lx): %s used with TLS symbol %s%B(%A+0x%lx): %s used with non-TLS symbol %s%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): Stabs entry has invalid string index.%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section%B(%A+0x%lx): cannot handle %s for %s%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+0x%lx): could not decode instruction; possible configuration mismatch%B(%A+0x%lx): invalid instruction for TLS relocation %s%B(%A+0x%lx): reloc against `%s': error %d%B(%A+0x%lx): relocation offset out of range (size=0x%x)%B(%A+0x%lx): unexpected fix for %s relocation%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'%B(%A+0x%lx): unresolvable relocation against symbol `%s'%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
+%B (%s): Section flag %s (0x%x) ignored%B and %B are for different configurations%B and %B are for different cores%B contains CRIS v32 code, incompatible with previous objects%B contains non-CRIS-v32 code, incompatible with previous objects%B has has both the current and legacy Tag_MPextension_use attributes%B is not allowed to define %s%B section %A exceeds stub group size%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section%B uses unknown e_flags 0x%lx%B(%A): error: call to undefined function '%s'%B(%A): internal error: dangerous relocation%B(%A): internal error: out of range error%B(%A): internal error: unknown error%B(%A): internal error: unsupported relocation error%B(%A): invalid property table%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)%B(%A): warning: relax is suppressed for sections of alignment %d-bytes > 4-byte.%B(%A): warning: unaligned access to symbol '%s' in the small data area%B(%A): warning: unaligned small data access of type %d.%B(%A+0x%%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link%B(%A+0x%lx): %s relocation against SEC_MERGE section%B(%A+0x%lx): %s relocation against external symbol "%s"%B(%A+0x%lx): %s used with TLS symbol %s%B(%A+0x%lx): %s used with non-TLS symbol %s%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object%B(%A+0x%lx): Stabs entry has invalid string index.%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section%B(%A+0x%lx): cannot handle %s for %s%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch%B(%A+0x%lx): could not decode instruction; possible configuration mismatch%B(%A+0x%lx): invalid instruction for TLS relocation %s%B(%A+0x%lx): reloc against `%s': error %d%B(%A+0x%lx): relocation offset out of range (size=0x%x)%B(%A+0x%lx): unexpected fix for %s relocation%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'%B(%A+0x%lx): unresolvable relocation against symbol `%s'%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete
 %B(%s): warning: interworking not enabled.
   first occurrence: %B: ARM call to Thumb%B(%s): warning: interworking not enabled.
   first occurrence: %B: Thumb call to ARM%B(%s): warning: interworking not enabled.
   first occurrence: %B: arm call to thumb%B(%s): warning: interworking not enabled.
-  first occurrence: %B: thumb call to arm%B(%s): warning: interworking not enabled.
   first occurrence: %B: thumb call to arm
   consider relinking with --support-old-code enabled%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'%B, section %A:
   relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC%B, section %A:
   relocation %s should not be used in a shared object; recompile with -fPIC%B, section %A:
   v10/v32 compatible object %s must not contain a PIC relocation%B, section %A: No PLT for relocation %s against symbol `%s'%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?%B, section %A: relocation %s is not allowed for global symbol: `%s'%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?%B, section %A: relocation %s with no GOT created%B, section %A: relocation %s with non-zero addend %d against local symbol%B, section %A: relocation %s with non-zero addend %d against symbol `%s'%B, section %A: unresolvable relocation %s against symbol `%s'%B, section `%A', to symbol `%s':
-  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled.%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: '%s' accessed both as normal and thread local symbol%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32%B: 0x%lx: fatal: reloc overflow while relaxing%B: 0x%lx: fatal: unaligned %s relocation 0x%lx%B: 0x%lx: fatal: unaligned branch target for relax-support relocation%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: 0x%lx: warning: bad R_SH_USES load offset%B: 0x%lx: warning: bad R_SH_USES offset%B: 0x%lx: warning: bad count%B: 0x%lx: warning: could not find expected COUNT reloc%B: 0x%lx: warning: could not find expected reloc%B: 0x%lx: warning: symbol in unexpected section%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI mismatch: linking %s module with previous %s modules%B: ASE mismatch: linking %s module with previous %s modules%B: Architecture mismatch with previous modules%B: BE8 images only valid in big-endian mode.%B: Bad relocation record imported: %d%B: CALL15 reloc at 0x%lx not against global symbol%B: CALL16 reloc at 0x%lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000).%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
-   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Corrupt size field in group section header: 0x%lx%B: Failed to add renamed symbol %s%B: Function descriptor relocation with non-zero addend%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at 0x%lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: Instruction set mismatch with previous modules%B: Invalid relocation type imported: %d%B: Malformed reloc detected for section %s%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
-%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: TLS local exec code cannot be linked into shared objects%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
+  relocation %s should not be used in a shared object; recompile with -fPIC%B: !samegp reloc against symbol without .prologue: %s%B: %A+0x%lx: Unsupported jump between ISA modes; consider recompiling with interlinking enabled.%B: %s
+%B: %s not absolute%B: %s' accessed both as normal and thread local symbol%B: %s: invalid needed version %d%B: %s: invalid version %u (max %d)%B: '%s' accessed both as normal and thread local symbol%B: .got subsegment exceeds 64K (size %d)%B: .opd is not a regular array of opd entries%B: .preinit_array section is not allowed in DSO%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32%B: 0x%lx: fatal: reloc overflow while relaxing%B: 0x%lx: fatal: unaligned %s relocation 0x%lx%B: 0x%lx: fatal: unaligned branch target for relax-support relocation%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x%B: 0x%lx: warning: bad R_SH_USES load offset%B: 0x%lx: warning: bad R_SH_USES offset%B: 0x%lx: warning: bad count%B: 0x%lx: warning: could not find expected COUNT reloc%B: 0x%lx: warning: could not find expected reloc%B: 0x%lx: warning: symbol in unexpected section%B: @gprel relocation against dynamic symbol %s%B: @internal branch to dynamic symbol %s%B: @pcrel relocation against dynamic symbol %s%B: ABI is incompatible with that of the selected emulation%B: ABI mismatch: linking %s module with previous %s modules%B: ABI version %ld is not compatible with ABI version %ld output%B: ASE mismatch: linking %s module with previous %s modules%B: Alignment mismatch with previous modules%B: Architecture mismatch with previous modules%B: BE8 images only valid in big-endian mode.%B: Bad relocation record imported: %d%B: CALL15 reloc at 0x%lx not against global symbol%B: CALL16 reloc at 0x%lx not against global symbol%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000).%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch.%B: Cannot handle compressed Alpha binaries.
+   Use compiler flags, or objZ, to generate uncompressed binaries.%B: Cannot link together %s and %s objects.%B: Corrupt size field in group section header: 0x%lx%B: Failed to add renamed symbol %s%B: Function descriptor relocation with non-zero addend%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d%B: GOT overflow: Number of relocations with 8-bit offset > %d%B: GOT reloc at 0x%lx not expected in executables%B: IMPORT AS directive for %s conceals previous IMPORT AS%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte%B: Instruction set mismatch with previous modules%B: Invalid relocation type imported: %d%B: Malformed reloc detected for section %s%B: Nested OMIT_FP in %A.%B: No symbol version section for versioned symbol `%s'%B: Not enough room for program headers, try linking with -N%B: Only registers %%g[2367] can be declared using STT_REGISTER%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive%B: Relocation %s (%d) is not currently supported.
+%B: Relocations in generic ELF (EM: %d)%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined%B: TLS local exec code cannot be linked into shared objects%B: TLS sections are not adjacent:%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed%B: The first section in the PT_DYNAMIC segment is not the .dynamic section%B: The target (%s) of an %s relocation is in the wrong section (%A)%B: Too many sections: %d (>= %d)%B: Unable to sort relocs - they are in more than one size%B: Unable to sort relocs - they are of an unknown size%B: Unhandled import type; %x%B: Unknown mandatory EABI object attribute %d%B: Unknown relocation type %d
 %B: Unknown section type in a.out.adobe file: %x
-%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: XMC_TC0 symbol `%s' is class %d scnlen %d%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `ld -r' not supported with PE MIPS objects
-%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d%B: bad pair/reflo after refhi
-%B: bad reloc address 0x%lx in section `%A'%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'%B: bad relocation section name `%s'%B: bad section length in ihex_read_section%B: bad string table size %lu%B: bad symbol index: %d%B: cannot create stub entry %s%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with -mrelocatable and linked with modules compiled normally%B: could not find output section %A for input section %A%B: could not find output section %s%B: could not read contents of section `%A'
+%B: Unmatched OMIT_FP in %A.%B: Unrecognised .directive command: %s%B: Unrecognised import name type; %x%B: Unrecognised import type; %x%B: Unrecognised machine type (0x%x) in Import Library Format archive%B: Unrecognized storage class %d for %s symbol `%s'%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s%B: Warning: Thumb BLX instruction targets thumb function '%s'.%B: Warning: bad `%s' option size %u smaller than its header%B: Warning: cannot determine the target function for stub section `%s'%B: Warning: thumb mode PLT generation not currently supported%B: XMC_TC0 symbol `%s' is class %d scnlen %d%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC%B: `%s' accessed both as FDPIC and thread local symbol%B: `%s' accessed both as normal and FDPIC symbol%B: `%s' accessed both as normal and thread local symbol%B: `%s' has line numbers but no enclosing section%B: `%s' in loader reloc but not loader sym%B: `ld -r' not supported with PE MIPS objects
+%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range%B: addend 0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d%B: bad pair/reflo after refhi
+%B: bad reloc address 0x%lx in section `%A'%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'%B: bad section length in ihex_read_section%B: bad string table size %lu%B: bad symbol index: %d%B: cannot create stub entry %s%B: change in gp: BRSGP %s%B: class %d symbol `%s' has no aux entries%B: compiled for a 64 bit system and target is 32 bit%B: compiled for a big endian system and target is little endian%B: compiled for a little endian system and target is big endian%B: compiled normally and linked with modules compiled with -mrelocatable%B: compiled with -mrelocatable and linked with modules compiled normally%B: could not find output section %A for input section %A%B: could not find output section %s%B: could not read contents of section `%A'
 %B: csect `%s' not in enclosing section%B: don't know how to handle OS specific section `%s' [0x%8x]%B: don't know how to handle allocated, application specific section `%s' [0x%8x]%B: don't know how to handle processor specific section `%s' [0x%8x]%B: don't know how to handle section `%s' [0x%8x]%B: dtp-relative relocation against dynamic symbol %s%B: duplicate export stub %s%B: duplicate section `%A' has different contents
 %B: duplicate section `%A' has different size
-%B: endianness incompatible with that of the selected emulation%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: VFP11 veneer out of range%B: error: unaligned relocation type %d at %08x reloc %p
-%B: error: unknown mandatory EABI object attribute %d%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
+%B: endianness incompatible with that of the selected emulation%B: error: ABI mismatch with previous modules.%B: error: Cannot set _ITB_BASE_%B: error: Cortex-A8 erratum stub is allocated in unsafe location%B: error: Cortex-A8 erratum stub out of range (input file too large)%B: error: Instruction set mismatch with previous modules.%B: error: VFP11 veneer out of range%B: error: unaligned relocation type %d at %08x reloc %p
+%B: error: unknown mandatory EABI object attribute %d%B: error: unknown relocation type %d.%B: file class %s incompatible with %s%B: gp-relative relocation against dynamic symbol %s%B: hidden symbol `%s' in %B is referenced by DSO%B: hidden symbol `%s' isn't defined%B: ignoring duplicate section `%A'
 %B: illegal relocation type %d at address 0x%lx%B: illegal symbol index in reloc: %d%B: incompatible machine type. Output is 0x%x. Input is 0x%x%B: indirect symbol `%s' to `%s' is a loop%B: internal error in ihex_read_section%B: internal symbol `%s' in %B is referenced by DSO%B: internal symbol `%s' isn't defined%B: invalid SHT_GROUP entry%B: invalid link %lu for reloc section %s (index %u)%B: invalid relocation type %d%B: invalid string offset %u >= %lu for section `%s'%B: jump too far away
-%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'.%B: no group info for section %A%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: reloc %s:%d not in csect%B: reloc against a non-existant symbol index: %ld%B: relocation %s against %s `%s' can not be used when making a shared object%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#lx adjusted to %#lx%B: section %s: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: string not null terminated in ILF object file.%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: too many sections (%d)%B: tp-relative relocation against dynamic symbol %s%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to get decompressed section %A%B: unable to initialize commpress status for section %s%B: unable to initialize decommpress status for section %s%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %d in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
-%B: unimplemented ATI record %u for symbol %u%B: unknown [%d] section `%s' in group [%s]%B: unknown relocation type %d%B: unknown/unsupported relocation type %d%B: unrecognized relocation (0x%x) in section `%A'%B: unsupported relocation type %i%B: unsupported relocation type %i
+%B: linking %s module with previous %s modules%B: linking 32-bit code with 64-bit code%B: linking 64-bit files with 32-bit files%B: linking UltraSPARC specific with HAL specific code%B: linking auto-pic files with non-auto-pic files%B: linking big-endian files with little-endian files%B: linking constant-gp files with non-constant-gp files%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double%B: linking files compiled for HCS12 with others compiled for HC12%B: linking little endian files with big endian files%B: linking non-pic code in a position independent executable%B: linking trap-on-NULL-dereference with non-trapping files%B: loader reloc in read-only section %A%B: loader reloc in unrecognized section `%s'%B: local symbol `%s' in %B is referenced by DSO%B: misplaced XTY_LD `%s'%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'.%B: no group info for section %A%B: non-pic code with imm relocation against dynamic symbol `%s'%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table%B: pc-relative relocation against dynamic symbol %s%B: pc-relative relocation against undefined weak symbol %s%B: probably compiled without -fPIC?%B: protected symbol `%s' isn't defined%B: reloc %s:%d not in csect%B: reloc against a non-existant symbol index: %ld%B: relocation %s against %s `%s' can not be used when making a shared object%s%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC%B: relocation %s against symbol `%s' isn't supported in x32 mode%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s%B: relocation %s can not be used when making a shared object; recompile with -fPIC%B: relocation %s cannot be used when making a shared object%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend%B: relocation size mismatch in %B section %A%B: relocs in section `%A', but it has no contents%B: section %A lma %#lx adjusted to %#lx%B: section %s: string table overflow at offset %ld%B: section `%A' can't be allocated in segment %d%B: sh_link [%d] in section `%A' is incorrect%B: sh_link of section `%A' points to discarded section `%A' of `%B'%B: sh_link of section `%A' points to removed section `%A' of `%B'%B: size field is zero in Import Library Format header%B: speculation fixup to dynamic symbol %s%B: stack size specified and %s set%B: string not null terminated in ILF object file.%B: symbol `%s' has unrecognized csect type %d%B: symbol `%s' has unrecognized smclas %d%B: symbol `%s' required but not present%B: taking the address of protected function '%s' cannot be done when making a shared library%B: the target (%s) of a %s relocation is in the wrong output section (%s)%B: too many sections (%d)%B: too many sections: %u%B: tp-relative relocation against dynamic symbol %s%B: unable to fill in DataDictionary[12] because .idata$5 is missing%B: unable to fill in DataDictionary[1] because .idata$2 is missing%B: unable to fill in DataDictionary[1] because .idata$4 is missing%B: unable to fill in DataDictionary[9] because __tls_used is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing%B: unable to find ARM glue '%s' for `%s'%B: unable to find THUMB glue '%s' for `%s'%B: unable to find VFP11 veneer `%s'%B: unable to get decompressed section %A%B: unable to initialize compress status for section %s%B: unable to initialize decompress status for section %s%B: undefined reference to symbol '%s'%B: undefined sym `%s' in .opd section%B: undefined symbol on R_PPC64_TOCSAVE relocation%B: unexpected ATN type %d in external part%B: unexpected redefinition of indirect versioned symbol `%s'%B: unexpected reloc type %u in .opd section%B: unexpected type after ATN%B: unhandled dynamic relocation against %s%B: unimplemented %s
+%B: unimplemented ATI record %u for symbol %u%B: unknown [%d] section `%s' in group [%s]%B: unknown load command 0x%lx%B: unknown relocation type %d%B: unknown/unsupported relocation type %d%B: unrecognized relocation (0x%x) in section `%A'%B: unsupported relocation type %i%B: unsupported relocation type %i
 %B: unsupported relocation type %s%B: unsupported relocation: ALPHA_R_GPRELHIGH%B: unsupported relocation: ALPHA_R_GPRELLOW%B: uses _-prefixed symbols, but writing file with non-prefixed symbols%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)%B: uses non-prefixed symbols, but writing file with _-prefixed symbols%B: version node not found for symbol %s%B: warning: COMDAT symbol '%s' does not match section name '%s'%B: warning: Empty loadable segment detected, is this intentional ?
-%B: warning: allocated section `%s' not in segment%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol index %ld in line numbers%B: warning: illegal symbol index %ld in relocs%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: unknown EABI object attribute %d%B:%A%s exceeds overlay size
+%B: warning: Endian mismatch with previous modules.%B: warning: Incompatible elf-versions %s and  %s.%B: warning: Older version of object file encountered, Please recompile with current tool chain.%B: warning: allocated section `%s' not in segment%B: warning: duplicate line number information for `%s'%B: warning: illegal symbol index %ld in line numbers%B: warning: illegal symbol index %ld in relocs%B: warning: line number table read failed%B: warning: linking PIC files with non-PIC files%B: warning: linking abicalls files with non-abicalls files%B: warning: relocate SDA_BASE failed.%B: warning: selected VFP11 erratum workaround is not necessary for target architecture%B: warning: sh_link not set for section `%A'%B: warning: unaligned access to GOT entry.%B: warning: unknown EABI object attribute %d%B:%A%s exceeds overlay size
 %B:%A: Warning: deprecated Red Hat reloc %B:%d: Bad checksum in S-record file
 %B:%d: Unexpected character `%s' in S-record file
 %B:%d: unexpected character `%s' in Intel Hex file%B:%u: bad checksum in Intel Hex file (expected %u, found %u)%B:%u: bad extended address record length in Intel Hex file%B:%u: bad extended linear address record length in Intel Hex file%B:%u: bad extended linear start address length in Intel Hex file%B:%u: bad extended start address length in Intel Hex file%B:%u: unrecognized ihex type %u in Intel Hex file%C: warning: relocation to "%s" references a different segment
@@ -312,47 +320,56 @@ ppcboot header:
 %H: relocation references symbol not defined in the module
 %H: relocation to `%s+%v' may have caused the error above
 %P%F: --relax and -r may not be used together
+%P%F: failed creating ex9.it %s hash table: %E
 %P%X: can not read symbols: %E
 %P%X: read-only segment has dynamic relocations.
+%P: %B: %s is not supported for `%T'
 %P: %B: cannot create stub entry %s
-%P: %B: relocation %s is not supported for symbol %s
 %P: %B: relocation %s is not yet supported for symbol %s
 %P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)
 %P: %B: unexpected relocation type
+%P: %B: unknown relocation type %d for `%T'
 %P: %B: unknown relocation type %d for symbol %s
 %P: %B: warning: relocation against `%s' in readonly section `%A'.
 %P: %B: warning: relocation in readonly section `%A'.
+%P: %H: %s against `%T': error %d
+%P: %H: %s for indirect function `%T' unsupported
+%P: %H: %s references optimized away TOC entry
 %P: %H: %s reloc against `%s': error %d
 %P: %H: %s reloc against local symbol
-%P: %H: %s relocation references optimized away TOC entry
-%P: %H: %s used with TLS symbol %s
-%P: %H: %s used with non-TLS symbol %s
-%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc
+%P: %H: %s used with TLS symbol `%T'
+%P: %H: %s used with non-TLS symbol `%T'
+%P: %H: @local call to ifunc %s
+%P: %H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC
+%P: %H: error: %s against `%s' not a multiple of %u
 %P: %H: error: %s not a multiple of %u
 %P: %H: non-zero addend on %s reloc against `%s'
 %P: %H: relocation %s for indirect function %s unsupported
-%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern
+%P: %H: toc optimization is not supported for %s instruction.
+%P: %H: unresolvable %s against `%T'
 %P: %H: unresolvable %s relocation against symbol `%s'
 %P: %s not defined in linker created %s
-%P: %s offset too large for .eh_frame sdata4 encoding%P: DW_EH_PE_datarel unspecified for this architecture.
+%P: %s offset too large for .eh_frame sdata4 encoding%P: .opd not allowed in ABI version %d
+%P: DW_EH_PE_datarel unspecified for this architecture.
 %P: alternate ELF machine code found (%d) in %B, expecting %d
 %P: bss-plt forced by profiling
 %P: bss-plt forced due to %B
 %P: can't build branch stub `%s'
 %P: can't find branch stub `%s'
-%P: cannot find opd entry toc for %s
-%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc
-%P: dynamic variable `%s' is zero size
+%P: cannot find opd entry toc for `%T'
+%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc
 %P: dynreloc miscount for %B, section %A
 %P: error in %B(%A); no .eh_frame_hdr table will be created.
 %P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.
-%P: linkage table error against `%s'
+%P: linkage table error against `%T'
 %P: long branch stub `%s' offset overflow
 %P: multiple entry points: in modules %B and %B
 %P: relocatable link is not supported
 %P: stubs don't match calculated size
+%P: symbol '%s' has invalid st_other for ABI version 1
 %P: warning: creating a DT_TEXTREL in a shared object.
 %X%C: relocation to "%s" references a different segment
+%X%P: %B(%A): relocation "%R" goes out of range
 %X%P: overlay section %A does not start on a cache line.
 %X%P: overlay section %A is larger than a cache line.
 %X%P: overlay section %A is not in cache area.
@@ -360,14 +377,14 @@ ppcboot header:
 %X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B
 %s defined on removed toc entry%s duplicated
 %s duplicated in %s
-%s in overlay section%s(%s): relocation %d has invalid symbol index %ld%s: %s: reloc overflow: 0x%lx > 0xffff%s: 0x%v 0x%v
+%s in overlay section%s(%s): relocation %d has invalid symbol index %ld%s: %s: reloc overflow: 0x%lx > 0xffff%s: .rsrc merge failure: corrupt .rsrc section%s: 0x%v 0x%v
 %s: Bad symbol definition: `Main' set to %s rather than the start address %s
 %s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file
 %s: GAS error: unexpected PTB insn with R_SH_PT_16%s: Internal inconsistency error for value for
  linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx
 %s: Invalid relocation type exported: %d%s: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld.%s: Malformed reloc detected for section %s%s: No core to allocate a symbol %d bytes long
 %s: No core to allocate section name %s
-%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry%s: The target (%s) of an %s relocation is in the wrong section (%s)%s: XCOFF shared object when not producing XCOFF output%s: __gp does not cover short data segment%s: access beyond end of merged section (%ld)%s: address 0x%s out of range for Intel Hex file%s: base-plus-offset relocation against register symbol: %s in %s%s: base-plus-offset relocation against register symbol: (unknown) in %s%s: can not represent section `%s' in a.out object file format%s: can not represent section `%s' in oasys%s: can not represent section for symbol `%s' in a.out object file format%s: cannot allocate file name for file number %d, %d bytes
+%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A%s: TLS definition in %B section %A mismatches non-TLS reference in %B%s: TLS reference in %B mismatches non-TLS definition in %B section %A%s: TLS reference in %B mismatches non-TLS reference in %B%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry%s: The target (%s) of an %s relocation is in the wrong section (%s)%s: Unsupported transition from %s to %s%s: XCOFF shared object when not producing XCOFF output%s: __gp does not cover short data segment%s: access beyond end of merged section (%ld)%s: address 0x%s out of range for Intel Hex file%s: base-plus-offset relocation against register symbol: %s in %s%s: base-plus-offset relocation against register symbol: (unknown) in %s%s: can not represent section `%s' in a.out object file format%s: can not represent section `%s' in oasys%s: can not represent section for symbol `%s' in a.out object file format%s: cannot allocate file name for file number %d, %d bytes
 %s: cannot create stub entry %s%s: cannot link fdpic object file into non-fdpic executable%s: cannot link non-fdpic object file into fdpic executable%s: compiled as 32-bit object and %s is 64-bit%s: compiled as 64-bit object and %s is 32-bit%s: compiled with %s and linked with modules compiled with %s%s: compiled with %s and linked with modules that use non-pic relocations%s: could not write out added .cranges entries%s: could not write out sorted .cranges entries%s: directive LOCAL valid only with a register or absolute value%s: dynamic object with no .loader section%s: encountered datalabel symbol in input%s: error: unaligned relocation type %d at %08x reloc %08x
 %s: illegal section name `%s'%s: internal error, internal register section %s had contents
 %s: internal error, symbol table changed size from %d to %d words
@@ -389,8 +406,8 @@ ppcboot header:
 %s: line number overflow: 0x%lx > 0xffff%s: no initialized registers; section length 0
 %s: no such symbol%s: not implemented%s: not supported%s: object size does not match that of target %s%s: register relocation against non-register symbol: %s in %s%s: register relocation against non-register symbol: (unknown) in %s%s: relocatable link from %s to %s not supported%s: short data segment overflowed (0x%lx >= 0x400000)%s: string too long (%d chars, max 65535)%s: too many initialized registers; section length %ld
 %s: undefined version: %s%s: unknown relocation type %d%s: unrecognized symbol `%s' flags 0x%x%s: unsupported relocation type 0x%02x%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'
-%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)%s: version count (%ld) does not match symbol count (%ld)%s: warning core file truncated%s: warning: %s relocation against symbol `%s' from %s section%s: warning: %s relocation to 0x%x from %s section%s: warning: %s: line number overflow: 0x%lx > 0xffff%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld%s: warning: PLT addend of %d to `%s' from %s section ignored%s: warning: illegal symbol index %ld in relocs%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
-(at bit offset %u)
+%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)%s: version count (%ld) does not match symbol count (%ld)%s: warning core file truncated%s: warning: %s relocation against symbol `%s' from %s section%s: warning: %s relocation to 0x%x from %s section%s: warning: %s: line number overflow: 0x%lx > 0xffff%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld%s: warning: PLT addend of %d to `%s' from %s section ignored%s: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode.%s: warning: illegal symbol index %ld in relocs%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.
+%s: warning: unaligned small data access. For entry: {%d, %d, %d}, addr = 0x%x, align = 0x%x.(at bit offset %u)
 (descriptor)
 (no value)
 (not active)
@@ -400,11 +417,14 @@ ppcboot header:
 )
 *** check this relocation %s*unhandled*
 *unhandled* dst type %u
-*unknown**unknown*        , alias: %u
+*unknown**unknown*        , 8-byte data alignment, Value: %#08lx
+, alias: %u
 , ext fixup offset: %u, no_opt psect off: %u, subtype: %u (%s)
-, symbol vector rva: .got section not immediately after .plt section32-bit double, 32bits gp relative relocation occurs for an external symbol64 bits *unhandled*
+, symbol vector rva: - %s is G10, %s is not.got section not immediately after .plt section.rsrc merge failure: a directory matches a leaf.rsrc merge failure: differing directory versions
+.rsrc merge failure: dirs with differing characteristics
+.rsrc merge failure: duplicate leaf.rsrc merge failure: duplicate leaf: %s.rsrc merge failure: duplicate string resource: %d.rsrc merge failure: multiple non-default manifests32-bit double, 32bits gp relative relocation occurs for an external symbol64 bits *unhandled*
 64-bit double, : %u.%u
-: m32r instructions: m32r2 instructions: m32rx instructions; recompile with -fPIC<Unrecognised flag bits set><unknown>@pltoff reloc against local symbolArchive has no index; run ranlib to add oneArchive object file in wrong formatAttempt to convert L32R/CALLX to CALL failedAttempt to do relocatable link with %s input and %s outputBASE_IMAGE       BFD %s assertion fail %s:%dBFD %s internal error, aborting at %s line %d
+: m32r instructions: m32r2 instructions: m32rx instructions: n1 instructions: n1h instructions; recompile with -fPIC<Unrecognised flag bits set><corrupt string length: %#x><corrupt string offset: %#lx><unknown>@pltoff reloc against local symbolArchive has no index; run ranlib to add oneArchive object file in wrong formatAttempt to convert L32R/CALLX to CALL failedAttempt to do relocatable link with %s input and %s outputBASE_IMAGE       BFD %s assertion fail %s:%dBFD %s internal error, aborting at %s line %d
 BFD %s internal error, aborting at %s line %d in %s
 BFD Link Error: branch (PC rel16) to section (%s) not supportedBFD Link Error: jump (PC rel26) to section (%s) not supportedBad valueBase Relocation Directory [.reloc]Bound Import DirectoryBounds:
 CLICLR Runtime HeaderCLUSTERS_LOCKMGR COUNTERS         CPU              CTL_AUGRB (augment relocation base) %u
@@ -413,16 +433,17 @@ ppcboot header:
 CTL_STKDL (stack defined location)
 CTL_STLOC (set location)
 Copyright Header
-DIV usage mismatch between %B and %BDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
+Corrupt .rsrc section detected!
+DSO missing from command lineDST__K_BEG_STMT_MODE not implementedDST__K_END_STMT_MODE not implementedDST__K_RESET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR not implementedDST__K_SET_LINUM_INCR_W not implementedDST__K_SET_PC not implementedDST__K_SET_PC_L not implementedDST__K_SET_PC_W not implementedDST__K_SET_STMTNUM not implementedDebug DirectoryDebug module table:
 Debug symbol table:
 Delay Import DirectoryDeprecated %s called
 Deprecated %s called at %s line %d in %s
-Description DirectoryDwarf Error: Bad abbrev number: %u.Dwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %u.Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu).Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
+Description DirectoryDwarf Error: Bad abbrev number: %u.Dwarf Error: Can't find %s section.Dwarf Error: Could not find abbrev number %u.Dwarf Error: Invalid maximum operations per instruction.Dwarf Error: Invalid or unhandled FORM value: %#x.Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu).Dwarf Error: Unable to read alt ref %u.Dwarf Error: Unhandled .debug_line version %d.Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'.Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information.Dwarf Error: mangled line number section (bad file number).Dwarf Error: mangled line number section.EIHD: (size: %u, nbr blocks: %u)
 Entry offset        = 0x%.8lx (%ld)
 Error reading %s: %sError: %B has both the current and legacy Tag_MPextension_use attributesErrors encountered processing file %sException Directory [.pdata]Export Directory [.edata (or where ever we found it)]Export Flags 			%lx
 Export RVAFAILED to find previous HI16 relocFILES_VOLUMES    File format is ambiguousFile format not recognizedFile in wrong formatFile too bigFile truncatedFlag field          = 0x%.2x
 Forwarder RVAGALAXY           GP relative relocation used when GP not definedGP relative relocation when _gp not definedGPDISP relocation did not find ldah and lda instructionsGlobal symbol table:
-IDC - Ident Consistency check
+ID: %#08lxIDC - Ident Consistency check
 IMAGE_ACTIVATOR  INPUT_SECTION_FLAGS are not supported.
 IO               Image activation:  (size=%u)
 Image activator fixup: (major: %u, minor: %u)
@@ -432,8 +453,9 @@ ppcboot header:
 Import Address Table DirectoryImport Directory [parts of .idata]Internal inconsistency: remaining %u != max %u.
   Please report this bug.Invalid TARGET2 relocation type '%s'.Invalid bfd targetInvalid operationInvalid section index in ETIRJALX to a non-word-aligned addressLOGICAL_NAMES    Language Processor Name
 Length              = 0x%.8lx (%ld)
-Load Configuration DirectoryMEMORY_MANAGEMENTMIPS16 and microMIPS functions cannot call each otherMISC             MULTI_PROCESSING Mach-O header:
-Major/Minor 			%d/%d
+Linker: cannot init ex9 hash table error 
+Linker: error cannot fixed ex9 relocation 
+Load Configuration DirectoryMEMORY_MANAGEMENTMIPS16 and microMIPS functions cannot call each otherMISC             MULTI_PROCESSING Major/Minor 			%d/%d
 Malformed archiveMaximum stack required is 0x%v
 MeP: howto %d has type %dMemory exhaustedModule header
 NETWORKS         NORMALName 				No errorNo more archived filesNo symbolsNonrepresentable section on outputNot enough memory to sort relocationsNumber in:
@@ -464,9 +486,9 @@ ppcboot header:
 Partition[%d] length = 0x%.8lx (%ld)
 Partition[%d] sector = 0x%.8lx (%ld)
 Please report this bug.
-R_BFIN_FUNCDESC references dynamic symbol with nonzero addendR_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addendR_FRV_TLSMOFFLO not applied to a setlo or setlos instruction
+RL78/G10 ABI conflict: cannot link G10 and non-G10 objects togetherR_BFIN_FUNCDESC references dynamic symbol with nonzero addendR_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addendR_FRV_TLSMOFFLO not applied to a setlo or setlos instruction
 Reading archive file mod timestampReference to the far symbol `%s' using a wrong relocation may result in incorrect executionRegister %%g%d used incompatibly: %s in %B, previously %s in %BRegister section has contents
-Relocation for non-REL psectRemoving unused section '%s' in file '%B'ReservedResource Directory [.rsrc]SDA relocation when _SDA_BASE_ not definedSECURITY         SEC_RELOC with no relocs in section %sSH Error: unknown reloc type %dSHELL            SHRFXDSHRPICSPSC - Shared Image Program section def
+Relocation for non-REL psectRemoving unused section '%s' in file '%B'ReservedResource Directory [.rsrc]S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your codeSDA relocation when _SDA_BASE_ not definedSECURITY         SEC_RELOC with no relocs in section %sSH Error: unknown reloc type %dSHELL            SHRFXDSHRPICSPSC - Shared Image Program section def
 STABLE           STA_CKARG (compare procedure argument)
 STA_GBL (stack global) %.*s
 STA_LI (stack literal)
@@ -509,26 +531,25 @@ ppcboot header:
 SYMG - Universal symbol definition
 SYMM - Global symbol definition with version
 SYMV - Vectored symbol definition
-SYSGEN           Section has no contentsSecurity DirectorySegments and Sections:
-Size error in section %sSource Files Header
+SYSGEN           Section has no contentsSecurity DirectorySize error in section %sSource Files Header
 Special DirectorySpurious ALPHA_R_BSR relocStack analysis will ignore the call from %s to %s
 Stack overflow (%d) in _bfd_vms_pushStack size for call graph root nodes.
 Stack underflow in _bfd_vms_popStrides:
 Symbol %s not defined for fixups
-Symbol %s replaced by %s
 Symbol `%s' has differing types: %s in %B, previously REGISTER in %BSymbol `%s' has differing types: REGISTER in %B, previously %s in %BSymbol needs debug section which does not existSystem call errorTLS relocation invalid without dynamic sectionsTOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compilingTable Addresses
 Thread Storage Directory [.tls]Time/Date stamp 		%lx
 Title Text Header
-USRSTACKUnable to find equivalent output section for symbol '%s' from section '%s'Unexpected STO_SH5_ISA32 on local symbol is not handledUnexpected machine numberUnhandled OSF/1 core file section type %d
+Try enabling relaxation to avoid relocation truncationsUSRSTACKUnable to find equivalent output section for symbol '%s' from section '%s'Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.
+Unexpected STO_SH5_ISA32 on local symbol is not handledUnexpected machine numberUnhandled OSF/1 core file section type %d
 Unhandled relocation %sUnknown EGSD subtype %dUnknown basic type %dUnknown reloc %sUnknown reloc %s + %sUnknown symbol in command %sUnrecognized INPUT_SECTION_FLAG %s
 Unrecognized TI COFF target id '0x%x'Unrecognized relocUnrecognized reloc type 0x%xUnsupported .stab relocationVOLATILE         Variable `%s' can only be in one of the small, zero, and tiny data regionsVariable `%s' cannot be in both small and tiny data regions simultaneouslyVariable `%s' cannot be in both small and zero data regions simultaneouslyVariable `%s' cannot be in both zero and tiny data regions simultaneouslyVariable `%s' cannot occupy in multiple small data regionsWarning, .pdata section size (%ld) is not a multiple of %d
-Warning: %B does not support interworking, whereas %B doesWarning: %B is truncated: expected core file size >= %lu, found: %lu.Warning: %B supports interworking, whereas %B does notWarning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64Warning: %B uses -msingle-float, %B uses -mdouble-floatWarning: %B uses -msingle-float, %B uses -mips32r2 -mfp64Warning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses soft float, %B uses single-precision hard floatWarning: %B uses unknown floating point ABI %dWarning: %B uses unknown small structure return convention %dWarning: %B uses unknown vector ABI %dWarning: %B uses vector ABI "%s", %B uses "%s"Warning: %B: Conflicting platform configurationWarning: %B: Unknown EABI object attribute %dWarning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with itWarning: Clearing the interworking flag of %B due to outside requestWarning: Not setting interworking flag of %B since it has already been specified as non-interworkingWarning: RX_SYM reloc with an unknown symbolWarning: Writing section `%s' to huge (ie negative) file offset 0x%lx.Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %AWarning: alignment %u of symbol `%s' in %B is smaller than %u in %BWarning: fixup count mismatch
+Warning: %B does not support interworking, whereas %B doesWarning: %B is truncated: expected core file size >= %lu, found: %lu.Warning: %B supports interworking, whereas %B does notWarning: %B uses %s (set by %B), %B uses %sWarning: %B uses %s (set by %B), %B uses unknown MSA ABI %dWarning: %B uses %s (set by %B), %B uses unknown floating point ABI %dWarning: %B uses double-precision hard float, %B uses single-precision hard floatWarning: %B uses hard float, %B uses soft floatWarning: %B uses r3/r4 for small structure returns, %B uses memoryWarning: %B uses soft float, %B uses single-precision hard floatWarning: %B uses unknown MSA ABI %d (set by %B), %B uses %sWarning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %dWarning: %B uses unknown floating point ABI %dWarning: %B uses unknown floating point ABI %d (set by %B), %B uses %sWarning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %dWarning: %B uses unknown small structure return convention %dWarning: %B uses unknown vector ABI %dWarning: %B uses vector ABI "%s", %B uses "%s"Warning: %B: Conflicting platform configurationWarning: %B: Unknown EABI object attribute %dWarning: %B: Unknown MSPABI object attribute %dWarning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with itWarning: Clearing the interworking flag of %B due to outside requestWarning: Not setting interworking flag of %B since it has already been specified as non-interworkingWarning: RL78_SYM reloc with an unknown symbolWarning: RX_SYM reloc with an unknown symbolWarning: Writing section `%s' to huge (ie negative) file offset 0x%lx.Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %AWarning: alignment %u of symbol `%s' in %B is smaller than %u in %BWarning: fixup count mismatch
 Warning: gc-sections option ignoredWarning: size of symbol `%s' changed from %lu in %B to %lu in %BWarning: type of symbol `%s' changed from %d to %d in %BWarning: writing archive was slow: rewriting timestamp
-Writing updated armap timestamp[%u]: %u
+Writing updated armap timestampXGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code.[%u]: %u
 [%u]: Lower: %u, upper: %u
 [abi=16-bit int, [abi=32-bit int, [whose name is lost]\%B: Warning: Arm BLX instruction targets Arm function '%s'._bfd_vms_output_counted called with too many bytes_bfd_vms_output_counted called with zero bytesaddressaddress not word alignarsize: %u, a0: 0x%08x
 bad section index in %sbanked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)base: %u, pos: %u
-bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lubfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)bfd_mach_o_read_symtab_symbol: symbol "%s" is unsupported 'indirect' reference: setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
+bfd_mach_o_canonicalize_symtab: unable to load symbolsbfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)bfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid section %d (max %lu): setting to undefinedbfd_mach_o_read_symtab_symbol: symbol "%s" specified invalid type field 0x%x: setting to undefinedbfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lubfd_mach_o_read_symtab_symbols: unable to allocate memory for symbolsbfd_mach_o_scan: unknown architecture 0x%lx/0x%lxbfd_pef_scan: unknown architecture 0x%lxblkbeg: address: 0x%08x, name: %.*s
 blkend: size: 0x%08x
 cannot emit dynamic relocations in read-only sectioncannot emit fixups in read-only sectioncannot find EMH in first GST record
 cannot handle R_MEM_INDIRECT reloc when using %s outputcannot read DMT
@@ -549,7 +570,7 @@ ppcboot header:
 cannot read GST record header
 cannot read GST record length
 class: %u, dtype: %u, length: %u, pointer: 0x%08x
-corrupt %s section in %Bcould not locate special linker symbol __ctbpcould not locate special linker symbol __epcould not locate special linker symbol __gpcould not open shared image '%s' from '%s'cpu=HC11]cpu=HC12]cpu=HCS12]dangerous relocationdelta pc +%-4ddelta_pc_l: +0x%08x
+corrupt %s section in %Bcould not locate special linker symbol __ctbpcould not locate special linker symbol __epcould not locate special linker symbol __gpcould not open shared image '%s' from '%s'cpu=HC11]cpu=HC12]cpu=HCS12]cpu=XGATE]dangerous relocationdelta pc +%-4ddelta_pc_l: +0x%08x
 delta_pc_w %u
 descdimct: %u, aflags: 0x%02x, digits: %u, scale: %u
 discarded output section: `%A'discontiguous range (nbr: %u)
@@ -557,11 +578,12 @@ ppcboot header:
 enumelt, name: %.*s
 enumend
 epilog: flags: %u, count: %u
-error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses FPA instructions, whereas %B does noterror: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: size of section %A is not multiple of address sizeerror: %B: unable to merge virtualization attributes with %Berror: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation when _gp not definedhidden symbolignoring reloc %s
+error reading cpu type from elf private dataerror: %B contains a reloc (0x%s) for section %A that references a non-existent global symbolerror: %B does not use Maverick instructions, whereas %B doeserror: %B is already in final BE8 formaterror: %B is compiled as absolute position code, whereas target %B is position independenterror: %B is compiled as position independent code, whereas target %B is absolute positionerror: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%derror: %B is compiled for APCS-%d, whereas target %B uses APCS-%derror: %B is compiled for the EP9312, whereas %B is compiled for XScaleerror: %B passes floats in float registers, whereas %B passes them in integer registerserror: %B passes floats in integer registers, whereas %B passes them in float registerserror: %B requires more array alignment than %B preserveserror: %B requires more stack alignment than %B preserveserror: %B uses %s instructions but %B uses %serror: %B uses FPA instructions, whereas %B does noterror: %B uses Maverick instructions, whereas %B does noterror: %B uses VFP instructions, whereas %B does noterror: %B uses VFP register arguments, %B does noterror: %B uses hardware FP, whereas %B uses software FPerror: %B uses iWMMXt register arguments, %B does noterror: %B uses software FP, whereas %B uses hardware FPerror: %B uses the %s code model whereas %B uses the %s code modelerror: %B uses the %s data model but %B only uses MSP430 instructionserror: %B uses the %s data model whereas %B uses the %s data modelerror: %B uses the large code model but %B uses MSP430 instructionserror: %B uses the small code model but %B uses the %s data modelerror: %B: Conflicting CPU architectures %d/%derror: %B: Conflicting architecture profiles %c/%cerror: %B: Conflicting use of R9error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchainerror: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'error: %B: SB relative addressing conflicts with use of R9error: %B: Unknown CPU architectureerror: %B: size of section %A is not multiple of address sizeerror: %B: unable to merge virtualization attributes with %Berror: Can't find symbol: _SDA_BASE_.error: Source object %B has EABI version %d, but target %B has EABI version %derror: fp16 format mismatch between %B and %Berror: inappropriate relocation type for shared library (did you forget -fpic?)error: required section '%s' not found in the linker scripterror: undefined symbol __rtiniterror: unknown Tag_ABI_array_object_align_expected value in %Berror: unknown Tag_ABI_array_object_alignment value in %Bexecutablefailed to allocate space for new APUinfo section.failed to compute new APUinfo section.failed to install new APUinfo section.fatal error while creating .fixupgeneric linker can't handle %sglobal pointer relative address out of rangeglobal pointer relative relocation at address 0x%08x when _gp not defined
+global pointer relative relocation when _gp not definedhidden symbolignoring reloc %s
 incr_linum(b): +%u
 incr_linum_l: +%u
 incr_linum_w: +%u
-internal error: addend should be zero for R_LM32_16_GOTinternal error: dangerous errorinternal error: dangerous relocationinternal error: out of range errorinternal error: suspicious relocation type used in shared libraryinternal error: unknown errorinternal error: unsupported relocation errorinternal inconsistency in size of .got.loc sectioninternal symbolinvalid input relocation when producing non-ELF, non-mmo format output.
+internal error: addend should be zero for R_LM32_16_GOTinternal error: branch/jump to an odd address detectedinternal error: dangerous errorinternal error: dangerous relocationinternal error: out of range errorinternal error: suspicious relocation type used in shared libraryinternal error: unknown errorinternal error: unsupported relocation errorinternal inconsistency in size of .got.loc sectioninternal symbolinvalid input relocation when producing non-ELF, non-mmo format output.
  Please use the objcopy program to convert from ELF or mmo,
  or assemble using "-no-expand" (for gcc, "-Wa,-no-expand"invalid input relocation when producing non-ELF, non-mmo format output.
  Please use the objcopy program to convert from ELF or mmo,
@@ -571,16 +593,18 @@ ppcboot header:
   toc adjust   %lu
   long branch  %lu
   long toc adj %lu
-  plt call     %luliteralliteral relocation occurs for an external symbolmep: no reloc for code %dmodbeg
+  plt call     %lu
+  plt call toc %luliteralliteral relocation occurs for an external symbolmach-o: there are too many sections (%d) maximum is 255,
+mep: no reloc for code %dmodbeg
 modend
-nativenon-contiguous array of %s
+name: [val: %08lx len %d]: nativenon-contiguous array of %s
 non-dynamic relocations refer to dynamic symbol %snon-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store
 non-zero addend in @fptr relocnot enough GOT space for local GOT entriesnot mapping: data=%lx mapped=%d
 not mapping: env var not set
-note: '%s' is defined in DSO %B so try adding it to the linker command lineout of rangeoverflow after relaxationoverlay stub relocation overflowprivate flags = %lxprivate flags = %lx:private flags = %lx: private flags = %x:private flags = 0x%lxprivate flags = 0x%lx:prolog: bkpt address 0x%08x
+out of rangeoverflow after relaxationoverlay stub relocation overflowprivate flags = %lxprivate flags = %lx:private flags = %lx: private flags = %x:private flags = 0x%lxprivate flags = 0x%lx:prolog: bkpt address 0x%08x
 protected symbolrecbeg: name: %.*s
 recend
-reference to a banked address [%lx:%04lx] in the normal address space at %04lxregrelocation `%s' not yet implementedrelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedreopening %B: %s
+reference to a banked address [%lx:%04lx] in the normal address space at %04lxregrelocation `%s' not yet implementedrelocation out of rangerelocation references symbol not defined in the modulerelocation requires zero addendrelocation should be even numberrelocations between different segments are not supportedreopening %B: %s
 reserved cmd %drtnbeg
 rtnend: size 0x%08x
 septyp, name: %.*s
@@ -589,21 +613,21 @@ ppcboot header:
 set_line_num_b %u
 set_line_num_l %u
 small-data section exceeds 64KB; lower small-data size limit (see option -G)som_sizeof_headers unimplementedsorry, no support for duplicate object files in auto-overlay script
-source (len: %u)
+sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands.source (len: %u)
 standard data: %s
 static procedure (no name)stub entry for %s cannot load .plt, dp offset = %ldstubs don't match calculated sizesymbolsystem version array information:
 term(b): 0x%02xterm_w: 0x%04xtypspec (len: %u)
-unable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to read in %s section from %Bunable to read unknown load command 0x%lxunable to write unknown load command 0x%lxunaligned bit-string of %s
+unable to find ARM glue '%s' for '%s'unable to find THUMB glue '%s' for '%s'unable to read in %s section from %Bunable to write unknown load command 0x%lxunaligned bit-string of %s
 uncertain calling convention for non-COFF symbolundefined %s reference in complex symbol: %sunhandled egsd entry type %u
 unhandled emh subtype %u
-unknownunknown ETIR command %dunknown errorunknown header byte-order value 0x%lxunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
+unknownunknown ETIR command %dunknown errorunknown header byte-order value 0x%lxunknown line command %dunknown operator '%c' in complex symbolunknown source command %dunknown v850 architectureunsupported STA cmd %sunsupported relocunsupported reloc typeunsupported relocationunsupported relocation between data/insn address spacesusing multiple gp valuesv850 E3 architecturev850 architecturev850e architecturev850e1 architecturev850e2 architecturev850e2v3 architecturev850e3v5 architecturevflags: 0x%02x, value: 0x%08x vma:			BeginAddress	 EndAddress	  UnwindData
 warning: %B and %B differ in wchar_t sizewarning: %B and %B differ in whether code is compiled for DSBTwarning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may failwarning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may failwarning: %B: local symbol `%s' has no sectionwarning: %s exceeds section size
 warning: %s has a corrupt string table index - ignoringwarning: %s overlaps %s
 warning: %s section has zero sizewarning: .pdata section size (%ld) is not a multiple of %d
-warning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %syou are not allowed to define %s in a scriptProject-Id-Version: bfd 2.22.90
+warning: attempt to export undefined symbol `%s'warning: call to non-function symbol %s defined in %Bwarning: generating a shared library containing non-PIC codewarning: generating a shared library containing non-PID codewarning: relocation references a different segmentwarning: section '%s' is being made into a notewarning: section `%A' type changed to PROGBITSwarning: type and size of dynamic symbol `%s' are not definedwarning: unable to set size of %s section in %Bwarning: unable to update contents of %s section in %syou are not allowed to define %s in a scriptProject-Id-Version: bfd 2.24.90
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2011-10-25 11:58+0100
-PO-Revision-Date: 2012-07-28 23:26+0200
+POT-Creation-Date: 2014-02-10 09:42+1030
+PO-Revision-Date: 2014-11-03 01:40+0200
 Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>
 Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>
 Language: fi
@@ -612,10 +636,10 @@ Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 Plural-Forms: nplurals=2; plural=(n != 1);
 X-Generator: KBabel 1.11.2
-	Vientiosoitetaulu 			Vientiosoitetaulu 		%08lx
+	    TLS: %A	Vientiosoitetaulu 			Vientiosoitetaulu 		%08lx
 	Nimiosoitintaulu 			JÃ¤rjestysnumerotaulu 				[Nimiosoitin/JÃ¤rjestysnumero] taulu	%08lx
 	koodipohja %08lx sisÃ¤ltÃ¶luettelo (ladattava/todellinen) %08lx/%08lx
-	reloc-tietue %4d siirrososoite %4x [%4lx] %s	vma:  Vihje/JÃ¤r JÃ¤sen-Nimi Sidottu
+	ei-TLS: %A	reloc-tietue %4d siirrososoite %4x [%4lx] %s	vma:  Vihje/JÃ¤r JÃ¤sen-Nimi Sidottu
 
 	DLL-nimi: %s
 
@@ -675,6 +699,8 @@ VersiomÃ¤Ã¤rittelyt:
 
 Virtuaaliosoite: %08lx alilohkokoko %ld (0x%lx) Korjausten lukumÃ¤Ã¤rÃ¤ %ld
 
+VAROITUS: LisÃ¤tietoja lohkossa .rsrc - Windows ohittaa ne:
+
 [JÃ¤rjestysnumero/Nimiosoitin] Taulu
 
 ppcboot-otsake:
@@ -774,7 +800,6 @@ ppcboot-otsake:
   shlextra  : %5u, permctx   : %5u
   shlstoff  : %5u, shrimgcnt : %5u
   koko : %u
- #: Segmenttinimi     Lohkonnimi       Osoite
  %08x 0x%08x 64B <EABI-versio tunnistamaton> BPAGE: %u COM COMM Vaihda suoja (%u alkiota):
  Koodiosoiteviitekorjaukset:
  DEF EXE EnsimmÃ¤inen osoite : 0x%08x 0x%08x
@@ -783,14 +808,12 @@ ppcboot-otsake:
  NOMOD NORM OVR PIC QVAL RD REL Rekisteri palauttaa millicode-bitin Rekisteri tallentaa millicode-bitin SHR Toinen osoite      : 0x%08x 0x%08x
  Jaettavat vedokset:
  Jaettu vedos       : 0x%08x 0x%08x
+ Taulu: Merkki: %d, Aika: %08lx, Ver: %d/%d, NimimÃ¤Ã¤rÃ¤: %d, Tunnisteet: %d
  Kolmas osoite      : 0x%08x 0x%08x
- UNI VEC VECEP WEAK WRT [64-bittiset double-liukuluvut] [BE8] [Liukulukukiihdytin-liukulukumuoto] [LE8] [Maverick-liukulukumuoto] [vektoriliukulukumuoto] [Versio 1 EABI] [Versio 2 EABI] [Versio 3 EABI] [Versio 4 EABI] [Versio 5 EABI] [abi tuntematon] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [absoluuttinen paikka] [d-float-liukulukulippu] [paikkariippumaton koodi] [dynaamiset symbolit kÃ¤yttÃ¤vÃ¤t segmentti-indeksiÃ¤] [korjaussyvyys] [liukuluvut vÃ¤litetty liukulukurekistereissÃ¤] [liukuluvut vÃ¤litetty kokonaislukurekistereissÃ¤] [g-float-liukulukulippu] [on tulokohta] [yhteistoimivuus vanhan koodin kanssa on kÃ¤ytÃ¶ssÃ¤] [vanhan koodin kanssa toimimisen yhteistoimivuulippua ei ole alustettu] [yhteistoimivuutta vanhan koodin kanssa ei tueta] [yhteistoimivuutta vanhan koodin kanssa tuettu] [kuvaussymbolit ylittÃ¤vÃ¤t tÃ¤rkeydessÃ¤ muut] [muisti=muistilohkomalli] [muisti=litteÃ¤] [uusi ABI] [ei abia asetettu] [paikkariippuvaisen koodin lippu] [ei 32-bittitila] [vanha ABI] [paikkariippumaton koodi] [paikkariippumaton] [sijoitettava suoritettava tiedosto] [ohjelmistoliukuluku] [lajiteltu symbolitaulu] [symboleissa on â€�_â€�-etuliite] [tuntematon ISA] [lajittelematon symbolitaulu] [v10 ja v32] [v32] rikkoutunut kohde GST
- prosessorialityyppi : %08lx
- prosessorityyppi    : %08lx (%s)
+ UNI VEC VECEP WEAK WRT [BE8] [Liukulukukiihdytin-liukulukumuoto] [G10] [LE8] [Maverick-liukulukumuoto] [vektoriliukulukumuoto] [Versio 1 EABI] [Versio 2 EABI] [Versio 3 EABI] [Versio 4 EABI] [Versio 5 EABI] [XGATE RAM-siirrososoiteasetus] [abi tuntematon] [abi=64] [abi=EABI32] [abi=EABI64] [abi=N32] [abi=O32] [abi=O64] [abiv%ld] [absoluuttinen paikka] [d-float-liukulukulippu] [dynaamiset symbolit kÃ¤yttÃ¤vÃ¤t segmentti-indeksiÃ¤] [korjaussyvyys] [liukuluvut vÃ¤litetty liukulukurekistereissÃ¤] [liukuluvut vÃ¤litetty kokonaislukurekistereissÃ¤] [g-float-liukulukulippu] [laitteistoliukuluku-ABI] [on tulokohta] [yhteistoimivuus vanhan koodin kanssa on kÃ¤ytÃ¶ssÃ¤] [vanhan koodin kanssa toimimisen yhteistoimivuulippua ei ole alustettu] [yhteistoimivuutta vanhan koodin kanssa ei tueta] [yhteistoimivuutta vanhan koodin kanssa tuettu] [kuvaussymbolit ylittÃ¤vÃ¤t tÃ¤rkeydessÃ¤ muut] [muisti=muistilohkomalli] [muisti=litteÃ¤] [uusi ABI] [ei abia asetettu] [paikkariippuvaisen koodin lippu] [ei 32-bittitila] [vanha ABI] [paikkariippumaton koodi] [paikkariippumaton] [sijoitettava suoritettava tiedosto] [ohjelmistoliukuluku-ABI] [ohjelmistoliukuluku] [lajiteltu symbolitaulu] [symboleissa on â€�_â€�-etuliite] [tuntematon ISA] [lajittelematon symbolitaulu] [v10 ja v32] [v32] rikkoutunut kohde GST
  vianjÃ¤ljitysmodulitaulu : vbn: %u, koko: %u
  vianjÃ¤ljityssymbolitaulu : vbn: %u, koko: %u (0x%x)
- tiedostotyyppi      : %08lx (%s)
- korjaustiedot rva:  liput               : %08lx ( liput: 0x%04x yleinen symbolitaulu: vbn: %u, tietueet: %u
+ korjaustiedot rva:  liput: 0x%04x yleinen symbolitaulu: vbn: %u, tietueet: %u
  ident: 0x%08x, nimi: %.*s
  ident: 0x%08x, sysver: 0x%08x, tÃ¤smÃ¤Ã¤ ctrl: %u, symvect_size: %u
  vedoksen rakennusident: %.*s
@@ -801,16 +824,12 @@ ppcboot-otsake:
  linkkeriliput: %08x: linkkeri-ident        : %.*s
  long-word .address -viitekorjaukset:
  long-word-sijoituskorjaukset:
- maaginen            : %08lx
  majorid: %u, minorid: %u
  modulisiirros: 0x%08x, koko: 0x%08x, (%u psects)
-ncmds                : %08lx (%lu)
  siirrokset: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u
  quad-word .address -viitekorjaukset:
  quad-sanaiset sijoituskorjaukset:
- varattu   : %08x
  lohko: kanta: 0x%08x%08x koko: 0x%08x
- komentojenkoko      : %08lx
  tyyppi: %3u, pituus: %3u (osoitteessa 0x%08x):  kÃ¤sittelemÃ¤tÃ¶n EOBJ-tietuetyyppi %u
  vbn: %u, pfc: %u, matchctl: %u tyyppi: %u ( vma:			Alkuosoite       Loppuosoite      Unwind-tiedot
  vma:		Alku-    Loppu-   EH-kÃ¤sit- EH-     PrologEnd  Poikkeus-
@@ -819,35 +838,36 @@ ppcboot-otsake:
      		osoite   pituus   pituus   32b exc  kÃ¤sittelijÃ¤ Data
  vma:            Vihje-  Aika-     JatkolÃ¤h.  DLL-    EnsimmÃ¤inen
                  taulu   leima     ketju      nimi    Thunk-funktio
-#<Virheellinen virhekoodi>%A:ssa on sekÃ¤ jÃ¤rjestettyjÃ¤ [â€�%Aâ€� kohteessa %B] ettÃ¤ jÃ¤rjestÃ¤mÃ¤ttÃ¶miÃ¤ [â€�%Aâ€� kohteessa %B] lohkoja%A:ssa on sekÃ¤ jÃ¤rjestettyjÃ¤ ettÃ¤ jÃ¤rjestÃ¤mÃ¤ttÃ¶miÃ¤ lohkoja%A:0x%v lrlive .brinfo (%u) eroaa analyysistÃ¤ (%u)
+#<Virheellinen virhekoodi>%*.s  Lehti: Osoite: %#08lx, Koko: %#08lx, Koodisivu: %d
+%*.s Entry: %A:ssa on sekÃ¤ jÃ¤rjestettyjÃ¤ [â€�%Aâ€� kohteessa %B] ettÃ¤ jÃ¤rjestÃ¤mÃ¤ttÃ¶miÃ¤ [â€�%Aâ€� kohteessa %B] lohkoja%A:ssa on sekÃ¤ jÃ¤rjestettyjÃ¤ ettÃ¤ jÃ¤rjestÃ¤mÃ¤ttÃ¶miÃ¤ lohkoja%A:0x%v lrlive .brinfo (%u) eroaa analyysistÃ¤ (%u)
 %A:0x%v ei lÃ¶ytynyt funktiotaulusta
-%B (%s): Lohkolippua %s (0x%x) ei oteta huomioon%B ja %B ovat eri konfiguraatioille%B ja %B ovat eri kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ytimille%B sisÃ¤ltÃ¤Ã¤ â€�CRIS v32â€�-koodia, ei ole yhteensopiva aiempien objektien kanssa%B ei sisÃ¤llÃ¤ â€�CRIS-v32â€�-koodia, yhteensopimaton aiempien objektien kanssakohteella %B on sekÃ¤ nykyisiÃ¤ ettÃ¤ perinne-Tag_MPextension_use-attribuutteja%B ei saa mÃ¤Ã¤ritellÃ¤ kohdetta %s%B lohko %A ylittÃ¤Ã¤ stub-ryhmÃ¤koon%B symbolinumero %lu viittaa puuttuvaan SHT_SYMTAB_SHNDX-lohkoon%B(%A): virhe: kutsu mÃ¤Ã¤rittelemÃ¤ttÃ¶mÃ¤Ã¤n funktioon â€™%sâ€™%B(%A): sisÃ¤inen virhe: vaarallinen sijoitus%B(%A): sisÃ¤inen virhe: â€�lukualueen ulkopuolellaâ€�-virhe%B(%A): sisÃ¤inen virhe: tuntematon virhe%B(%A): sisÃ¤inen virhe: ei-tuettu sijoitusvirhe%B(%A): virheellinen ominaisuustaulu%B(%A): turvaton PID-sijoitus %s osoitteessa 0x%08lx (symbolia %s vastaan kohteessa %s)%B(%A): varoitus: tasaamaton pÃ¤Ã¤sy symboliin â€™%sâ€™ pienellÃ¤ data-alueella%B(%A+0x%B(%A+0x%lx): %s korjaus kÃ¤skylle 0x%x ei ole tuettu ei-jaetussa linkissÃ¤%B(%A+0x%lx): %s sijoitus SEC_MERGE-lohkoa varten%B(%A+0x%lx): %s sijoitus ulkoista symbolia â€�%sâ€� varten%B(%A+0x%lx): %s kÃ¤ytetÃ¤Ã¤n TLS-symbolin %s kanssa%B(%A+0x%lx): %s kÃ¤ytetÃ¤Ã¤n ei-TLS-symbolin %s kanssa%B(%A+0x%lx): Vain ADD- tai SUB-kÃ¤skyt ovat sallittuja ALU-ryhmÃ¤n sijoituksille%B(%A+0x%lx): Ylivuoto, kun halkaistaan 0x%lx ryhmÃ¤sijoitukselle %s%B(%A+0x%lx): R_68K_TLS_LE32-sijoitukset eivÃ¤t ole sallittuja jaetuissa objekteissa%B(%A+0x%lx): R_ARM_TLS_LE32-sijoitukset eivÃ¤t ole sallittuja jaetuissa objekteissa%B(%A+0x%lx): Stabs-tulokohdassa on virheellinen merkkijonoindeksi.%B(%A+0x%lx): ei voi lÃ¤hettÃ¤Ã¤ korjauksia kohteeseen â€�%sâ€� kirjoitussuojatussa lohkossa%B(%A+0x%lx): ei voi kÃ¤sitellÃ¤ %s kohteelle %s%B(%A+0x%lx): ei tavoita kohdetta %s, kÃ¤Ã¤nnÃ¤ uudelleen â€�-ffunction-sectionsâ€�-valitsimilla%B(%A+0x%lx): ei voitu avata kÃ¤skyÃ¤ XTENSA_ASM_SIMPLIFY-sijoitukselle; mahdollinen konfiguraatiotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys%B(%A+0x%lx): ei voitu avata kÃ¤skyÃ¤; mahdollinen konfiguraatiotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys%B(%A+0x%lx): virheellinen kÃ¤sky TLS-sijoitukselle %s%B(%A+0x%lx): reloc-tietue kohdetta â€�%sâ€� varten: virhe %d%B(%A+0x%lx): sijoitussiirrososoite lukualueen (koko=0x%x) ulkopuolella%B(%A+0x%lx): odottamaton korjaus %s-sijoitukselle%B(%A+0x%lx): ratkaisematon %s sijoitus symbolia â€�%sâ€� varten%B(%A+0x%lx): ratkaisematon sijoitus symboliin â€�%sâ€�%B(%A+0x%lx):odottamaton ARM-kÃ¤sky â€™0x%xâ€™ TLS-trampoliinissa%B(%A+0x%lx):TLS_GOTDESC viittasi odottamattomaan ARM-kÃ¤skyyn â€™0x%xâ€™%B(%A+0x%lx):odottamaton Thumb-kÃ¤sky â€™0x%xâ€™ TLS-trampoliinissa%B(%A+0x%lx):TLS_GOTDESC viittasi odottamattomaann Thumb-kÃ¤skyyn â€™0x%xâ€™%B(%A+0x%v): kutsu ei-koodilohkoon %B(%A), analyysi ei ole tÃ¤ydellinen
+%B (%s): Lohkolippua %s (0x%x) ei oteta huomioon%B ja %B ovat eri konfiguraatioille%B ja %B ovat eri kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ytimille%B sisÃ¤ltÃ¤Ã¤ â€�CRIS v32â€�-koodia, ei ole yhteensopiva aiempien objektien kanssa%B ei sisÃ¤llÃ¤ â€�CRIS-v32â€�-koodia, yhteensopimaton aiempien objektien kanssakohteella %B on sekÃ¤ nykyisiÃ¤ ettÃ¤ perinne-Tag_MPextension_use-attribuutteja%B ei saa mÃ¤Ã¤ritellÃ¤ kohdetta %s%B lohko %A ylittÃ¤Ã¤ stub-ryhmÃ¤koon%B symbolinumero %lu viittaa puuttuvaan SHT_SYMTAB_SHNDX-lohkoon%B kÃ¤yttÃ¤Ã¤ tuntematonta e_flags 0x%lx%B(%A): virhe: kutsu mÃ¤Ã¤rittelemÃ¤ttÃ¶mÃ¤Ã¤n funktioon â€™%sâ€™%B(%A): sisÃ¤inen virhe: vaarallinen sijoitus%B(%A): sisÃ¤inen virhe: â€�lukualueen ulkopuolellaâ€�-virhe%B(%A): sisÃ¤inen virhe: tuntematon virhe%B(%A): sisÃ¤inen virhe: ei-tuettu sijoitusvirhe%B(%A): virheellinen ominaisuustaulu%B(%A): turvaton PID-sijoitus %s osoitteessa 0x%08lx (kÃ¤yttÃ¤en symbolia %s kohteessa %s)%B(%A): varoitus: relax on vaimennettu lohkoissa, joissa tasaus %d-tavua > 4-tavu.%B(%A): varoitus: tasaamaton pÃ¤Ã¤sy symboliin â€™%sâ€™ pienellÃ¤ data-alueella%B(%A): varoitus: tasaamaton %d-tyypin small data-pÃ¤Ã¤sy.%B(%A+0x%%B(%A+0x%lx): %s korjaus kÃ¤skylle 0x%x ei ole tuettu ei-jaetussa linkissÃ¤%B(%A+0x%lx): %s-sijoitus kÃ¤yttÃ¤en SEC_MERGE-lohkoa%B(%A+0x%lx): %s sijoitus kÃ¤yttÃ¤en ulkoista symbolia â€�%sâ€�%B(%A+0x%lx): %s kÃ¤ytetÃ¤Ã¤n TLS-symbolin %s kanssa%B(%A+0x%lx): %s kÃ¤ytetÃ¤Ã¤n ei-TLS-symbolin %s kanssa%B(%A+0x%lx): Vain ADD- tai SUB-kÃ¤skyt ovat sallittuja ALU-ryhmÃ¤n sijoituksille%B(%A+0x%lx): Ylivuoto, kun halkaistaan 0x%lx ryhmÃ¤sijoitukselle %s%B(%A+0x%lx): R_68K_TLS_LE32-sijoitukset eivÃ¤t ole sallittuja jaetuissa objekteissa%B(%A+0x%lx): R_ARM_TLS_LE32-sijoitukset eivÃ¤t ole sallittuja jaetuissa objekteissa%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC-sijoitukset eivÃ¤t ole sallittuja jaetuissa objekteissa%B(%A+0x%lx): R_NIOS2_TLS_LE16-sijoitus ei ole sallittu jaetussa objektissa%B(%A+0x%lx): Stabs-tulokohdassa on virheellinen merkkijonoindeksi.%B(%A+0x%lx): ei voi lÃ¤hettÃ¤Ã¤ korjauksia kohteeseen â€�%sâ€� kirjoitussuojatussa lohkossa%B(%A+0x%lx): ei voi kÃ¤sitellÃ¤ %s kohteelle %s%B(%A+0x%lx): ei tavoita kohdetta %s, kÃ¤Ã¤nnÃ¤ uudelleen â€�-ffunction-sectionsâ€�-valitsimilla%B(%A+0x%lx): ei voitu avata kÃ¤skyÃ¤ XTENSA_ASM_SIMPLIFY-sijoitukselle; mahdollinen konfiguraatiotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys%B(%A+0x%lx): ei voitu avata kÃ¤skyÃ¤; mahdollinen konfiguraatiotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys%B(%A+0x%lx): virheellinen kÃ¤sky TLS-sijoitukselle %s%B(%A+0x%lx): reloc-tietue kÃ¤yttÃ¤en kohdetta â€�%sâ€�: virhe %d%B(%A+0x%lx): sijoitussiirrososoite lukualueen (koko=0x%x) ulkopuolella%B(%A+0x%lx): odottamaton korjaus %s-sijoitukselle%B(%A+0x%lx): ratkaisematon %s-sijoitus kÃ¤yttÃ¤en symbolia â€�%sâ€�%B(%A+0x%lx): ratkaisematon sijoitus symboliin â€�%sâ€�%B(%A+0x%lx):odottamaton ARM-kÃ¤sky â€™0x%xâ€™ TLS-trampoliinissa%B(%A+0x%lx):TLS_GOTDESC viittasi odottamattomaan ARM-kÃ¤skyyn â€™0x%xâ€™%B(%A+0x%lx):odottamaton Thumb-kÃ¤sky â€™0x%xâ€™ TLS-trampoliinissa%B(%A+0x%lx):TLS_GOTDESC viittasi odottamattomaann Thumb-kÃ¤skyyn â€™0x%xâ€™%B(%A+0x%v): kutsu ei-koodilohkoon %B(%A), analyysi ei ole tÃ¤ydellinen
 %B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.
   ensimmÃ¤inen esiintymÃ¤: %B: ARM-kutsu Thumb-koodiin%B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.
   ensimmÃ¤inen esiintymÃ¤: %B: Thumb-kutsu ARM-koodiin%B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.
   ensimmÃ¤inen esiintymÃ¤: %B: â€�armâ€�-kutsu thumb-koodiin%B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.
-  ensimmÃ¤inen esiintymÃ¤: %B: thumb-kutsu arm-koodiin%B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.
   ensimmÃ¤inen esiintymÃ¤: %B: thumb-kutsu arm-koodiin
-  harkitse uudelleenlinkitystÃ¤ --support-old-code aktivoituna%B(%s+0x%lx): ratkaisematon %s sijoitus symbolia â€�%sâ€� varten%B, lohko %A:
+  harkitse uudelleenlinkitystÃ¤ --support-old-code aktivoituna%B(%s+0x%lx): ratkaisematon %s sijoitus kÃ¤yttÃ¤en symbolia â€�%sâ€�%B, lohko %A:
   sijoitusta %s ei pitÃ¤isi kÃ¤yttÃ¤Ã¤ jaetussa objektissa; tyypillisesti valitsinsekaannus, kÃ¤Ã¤nnÃ¤ uudelleen argumentilla -fPIC%B, lohko %A:
   sijoitusta %s ei pitÃ¤isi kÃ¤yttÃ¤Ã¤ jaettussa objektissa; kÃ¤Ã¤nnÃ¤ uudelleen argumentilla -fPIC%B, lohko %A:
-  v10/v32 yhteensopiva objekti %s ei saa sisÃ¤ltÃ¤Ã¤ paikkariippumatonta koodisijoitusta%B, lohko %A: Ei proseduurilinkitystaulua sijoituksille %s symbolia â€�%sâ€� varten%B, lohko %A: Ei proseduurilinkitystaulua eikÃ¤ yleissiirrostaulua sijoitukselle %s symbolia â€�%sâ€� varten%B, lohkon %A: sijoituksella %s on mÃ¤Ã¤rittelemÃ¤tÃ¶n viite â€�%sâ€�, ehkÃ¤ esittelysekaannus?%B, lohko %A: sijoitusta %s ei sallita yleissymbolille: â€�%sâ€�%B, lohko %A: sijoitusta %s ei sallita symbolille: â€�%sâ€�, joka mÃ¤Ã¤ritellÃ¤Ã¤n ohjelman ulkopuolella, ehkÃ¤ esittelysekaannus?%B, lohko %A: sijoitus %s ilman yleissiirrostaulun luontia%B, lohko %A: sijoitus %s ei-nolla-yhteenlaskettavalla %d paikallista symbolia varten%B, lohko %A: sijoitus %s ei-nolla-yhteenlaskettavalla %d symbolia â€�%sâ€� varten%B, lohko %A: ratkaisematon sijoitus %s symbolia â€�%sâ€� varten%B, lohko â€�%Aâ€�, symboliin â€�%sâ€�:
-  sijoitusta %s ei pitÃ¤isi kÃ¤yttÃ¤Ã¤ jaettussa objektissa; kÃ¤Ã¤nnÃ¤ uudelleen argumentilla -fPIC%B: â€�!samegp relocâ€�-tietue symbolia varten ilman â€�.prologueâ€�-lohkoa: %s%B: %A+0x%lx: Suorat hypyt ISA-tilojen vÃ¤lillÃ¤ eivÃ¤t ole sallittuja; harkitse uudelleenkÃ¤Ã¤ntÃ¤mistÃ¤ kÃ¤yttÃ¤en yhteislinkitystÃ¤.%B: %s: virheellinen tarvittu versio %d%B: %s: virheellinen versio %u (maksimi %d)%B: â€�%sâ€� kutsuttu sekÃ¤ normaalina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina%B: â€�.gotâ€�-alisegmentti ylittÃ¤Ã¤ 64 kilotavun rajan (koko %d)%B: â€�.opdâ€� ei ole sÃ¤Ã¤nnÃ¶nmukainen opd-tulokohtien taulukko%B: â€�.preinit_arrayâ€�-lohkoa ei sallita kohteessa DSO%B: 0x%lx: vakava: R_SH_PSHA-sijoitus %d ei ole lukualueella -32..32%B: 0x%lx: vakava: R_SH_PSHL-sijoitus %d ei ole lukualueella -32..32%B: 0x%lx: vakava: reloc-tietue ylivuoto avartamisen aikana%B: 0x%lx: vakava: tasaamaton %s sijoitus 0x%lx%B: 0x%lx: vakava: tasaamaton haarautumiskohde avarrustuetulle sijoitukselle%B: 0x%lx: varoitus: R_SH_USES osoittaa tunnistamattomaan kÃ¤skyyn 0x%x%B: 0x%lx: varoitus: virheellinen R_SH_USES lataussiirrososoite%B: 0x%lx: varoitus: virheellinen R_SH_USES-siirrososoite%B: 0x%lx: varoitus: virheellinen lukumÃ¤Ã¤rÃ¤%B: 0x%lx: varoitus: ei voitu lÃ¶ytÃ¤Ã¤ odotettua â€�COUNT relocâ€�-tietuetta%B: 0x%lx: varoitus: ei voitu lÃ¶ytÃ¤Ã¤ odotettua reloc-tietuetta%B: 0x%lx: varoitus: symboli odottamattomassa lohkossa%B: â€�@gprelâ€�-sijoitus dynaamista symbolia %s varten%B: @sisÃ¤inen haarautuminen dynaamiseen symboliin %s%B: â€�@pcrelâ€�-sijoitus dynaamista symbolia %s varten%B: ABI ei ole yhteensopiva valitun emuloinnin ABIn kanssa%B: ABI-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys: linkitetÃ¤Ã¤n %s-moduli edellisten %s-modulien kanssa%B: ASE-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys: linkitetÃ¤Ã¤n %s-moduli edellisten %s-modulien kanssa%B: Arkkitehtuuri ei tÃ¤smÃ¤nnyt edellisten modulien kanssa%B: BE8-vedokset ovat oikeita vain big-endian-tavujÃ¤rjestyksessÃ¤.%B: VÃ¤Ã¤rÃ¤ sijoitustietue tuotu: %d%B: CALL15 reloc-tietue kohteessa 0x%lx ei ole yleissymbolia varten%B: â€�CALL16 relocâ€�-tietue siirroksessa 0x%lx ei ole yleissymbolia varten%B: Ei lÃ¶ydy tÃ¤smÃ¤Ã¤vÃ¤Ã¤ â€�LO16 relocâ€�-tietuetta tulolohkoa â€�%sâ€� varten symbolinimelle %s kohteessa 0x%lx lohkossa â€�%Aâ€�%B: Ei voi avartaa br-kÃ¤skyÃ¤ (%s) kohteelle â€�%sâ€� kohteessa 0x%lx lohkossa â€�%Aâ€� koolla 0x%lx (> 0x1000000).%B: Ei voi avartaa br-kÃ¤skyÃ¤ kohteessa 0x%lx lohkossa â€�%Aâ€�. KÃ¤ytÃ¤ â€�brlâ€�-kÃ¤skyÃ¤ tai epÃ¤suoraa haarautumista.%B: Ei voi kÃ¤sitellÃ¤ tiivistettyjÃ¤ Alpha-binaareja.
-   KÃ¤ytÃ¤ kÃ¤Ã¤ntÃ¤jÃ¤lippuja, tai objZ:aa, tiivistÃ¤mÃ¤ttÃ¶mien binaarien tuottamiseksi.%B: Ei voida linkittÃ¤Ã¤ yhteen %s- ja %s-objekteja.%B: RikkinÃ¤inen kokokenttÃ¤ ryhmÃ¤lohko-otsakkeessa: 0x%lx%B: Ei onnistuttu lisÃ¤Ã¤mÃ¤Ã¤n uudelleennimettyÃ¤ symbolia %s%B: Funktiokuvaajasijoitus nollasta poikeavalla yhteenlaskettavalla%B: Yleissiirrostaulun ylivuoto: 8-bittisellÃ¤ tai 16-bittisellÃ¤ siirrososoitteella varustettujen sijoitusten lukumÃ¤Ã¤rÃ¤ > %d%B: Yleissiirrostaulun ylivuoto: 8-bittisellÃ¤ siirrososoitteella varustettujen sijoitusten lukumÃ¤Ã¤rÃ¤ > %d%B: Yleissiirrostaulu-reloc-tietue siirroksessa 0x%lx ei ole odotettu suoritettavissa tiedostoissa%B: â€�IMPORT ASâ€�-direktiivi kohteelle %s kÃ¤tkee edellisen â€�IMPORT ASâ€�-direktiivin%B: KÃ¤skyjoukko ei tÃ¤smÃ¤Ã¤ edellisten modulien kanssa%B: Virheellinen sijoitustyyppi tuotu: %d%B: Muodoltaan virheellinen reloc-tietue havaittu lohkossa %s%B: Ei tarpeeksi tilaa ohjelmaotsakkeille, yritÃ¤ linkittÃ¤Ã¤ â€�-Nâ€�-argumentilla%B: Vain rekisterit %%g[2367] voidaan esitellÃ¤ kÃ¤yttÃ¤en STT_REGISTER-symbolia%B: Tunnistettu, mutta kÃ¤sittelemÃ¤tÃ¶n konetyyppi (0x%x) â€�Import Library Formatâ€�-arkistossa%B: Sijoitusta %s (%d) ei tÃ¤llÃ¤ hetkellÃ¤ tueta.
-%B: Sijoituksia geneerisessÃ¤ ELF (EM: %d):ssa%B: SB-suhteellinen sijoitus, mutta __c6xabi_DSBT_BASE ei ole mÃ¤Ã¤ritelty%B: TLS-tyyppistÃ¤ paikallista suoritettavaa koodia ei voida linkittÃ¤Ã¤ jaettuihin objekteihin%B: TLS-siirros kohteesta %s kohteeseen %s kohdetta â€�%sâ€� varten osoitteessa 0x%lx lohkossa â€�%Aâ€� epÃ¤onnistui%B: EnsimmÃ¤inen lohko PT_DYNAMIC-segmentissÃ¤ ei ole â€�.dynamicâ€�-lohko%B: Kohteen (%s) sijoitus %s on vÃ¤Ã¤rÃ¤ssÃ¤ lohkossa (%A)%B: Liian monia lohkoja: %d (>= %d)%B: Ei voi lajitella relocs-tietueita - niitÃ¤ on useampia kuin yhtÃ¤ kokoa%B: Ei voi lajitella relocs-tietueita - niiden koko on tuntematon%B: KÃ¤sittelemÃ¤tÃ¶n tuontityyppi; %x%B: Tuntematon pakollinen EABI-objektiattribuutti %d%B: Tuntematon sijoitustyyppi %d
+  v10/v32 yhteensopiva objekti %s ei saa sisÃ¤ltÃ¤Ã¤ paikkariippumatonta koodisijoitusta%B, lohko %A: Ei proseduurilinkitystaulua sijoituksille %s kÃ¤yttÃ¤en symbolia â€�%sâ€�%B, lohko %A: Ei proseduurilinkitystaulua eikÃ¤ yleissiirrostaulua sijoitukselle %s kÃ¤yttÃ¤en symbolia â€�%sâ€�%B, lohkon %A: sijoituksella %s on mÃ¤Ã¤rittelemÃ¤tÃ¶n viite â€�%sâ€�, ehkÃ¤ esittelysekaannus?%B, lohko %A: sijoitusta %s ei sallita yleissymbolille: â€�%sâ€�%B, lohko %A: sijoitusta %s ei sallita symbolille: â€�%sâ€�, joka mÃ¤Ã¤ritellÃ¤Ã¤n ohjelman ulkopuolella, ehkÃ¤ esittelysekaannus?%B, lohko %A: sijoitus %s ilman yleissiirrostaulun luontia%B, lohko %A: sijoitus %s ei-nolla-yhteenlaskettavalla %d kÃ¤yttÃ¤en paikallista symbolia%B, lohko %A: sijoitus %s ei-nolla-yhteenlaskettavalla %d kÃ¤yttÃ¤en symbolia â€�%sâ€�%B, lohko %A: ratkaisematon sijoitus %s kÃ¤yttÃ¤en symbolia â€�%sâ€�%B, lohko â€�%Aâ€�, symboliin â€�%sâ€�:
+  sijoitusta %s ei pitÃ¤isi kÃ¤yttÃ¤Ã¤ jaettussa objektissa; kÃ¤Ã¤nnÃ¤ uudelleen argumentilla -fPIC%B: â€�!samegp relocâ€�-tietue kÃ¤yttÃ¤en symbolia ilman â€�.prologueâ€�-lohkoa: %s%B: %A+0x%lx: Tukematon hyppy ISA-tilojen vÃ¤lillÃ¤; harkitse uudelleenkÃ¤Ã¤ntÃ¤mistÃ¤ kÃ¤yttÃ¤en yhteislinkitystÃ¤.%B: %s
+%B: ei ole absoluuttinen%B: %sâ€™ haettu sekÃ¤ normaalina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina%B: %s: virheellinen tarvittu versio %d%B: %s: virheellinen versio %u (maksimi %d)%B: â€�%sâ€� kutsuttu sekÃ¤ normaalina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina%B: â€�.gotâ€�-alisegmentti ylittÃ¤Ã¤ 64 kilotavun rajan (koko %d)%B: â€�.opdâ€� ei ole sÃ¤Ã¤nnÃ¶nmukainen opd-tulokohtien taulukko%B: â€�.preinit_arrayâ€�-lohkoa ei sallita kohteessa DSO%B: 0x%lx: vakava: R_SH_PSHA-sijoitus %d ei ole lukualueella -32..32%B: 0x%lx: vakava: R_SH_PSHL-sijoitus %d ei ole lukualueella -32..32%B: 0x%lx: vakava: reloc-tietue ylivuoto avartamisen aikana%B: 0x%lx: vakava: tasaamaton %s sijoitus 0x%lx%B: 0x%lx: vakava: tasaamaton haarautumiskohde avarrustuetulle sijoitukselle%B: 0x%lx: varoitus: R_SH_USES osoittaa tunnistamattomaan kÃ¤skyyn 0x%x%B: 0x%lx: varoitus: virheellinen R_SH_USES lataussiirrososoite%B: 0x%lx: varoitus: virheellinen R_SH_USES-siirrososoite%B: 0x%lx: varoitus: virheellinen lukumÃ¤Ã¤rÃ¤%B: 0x%lx: varoitus: ei voitu lÃ¶ytÃ¤Ã¤ odotettua â€�COUNT relocâ€�-tietuetta%B: 0x%lx: varoitus: ei voitu lÃ¶ytÃ¤Ã¤ odotettua reloc-tietuetta%B: 0x%lx: varoitus: symboli odottamattomassa lohkossa%B: â€�@gprelâ€�-sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s%B: @sisÃ¤inen haarautuminen dynaamiseen symboliin %s%B: â€�@pcrelâ€�-sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s%B: ABI ei ole yhteensopiva valitun emuloinnin ABIn kanssa%B: ABI-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys: linkitetÃ¤Ã¤n %s-moduli edellisten %s-modulien kanssa%B: ABI-versio %ld ei ole yhteensopiva ABI-version %ld tulosteen kanssa%B: ASE-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys: linkitetÃ¤Ã¤n %s-moduli edellisten %s-modulien kanssa%B: TasaustÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys edellisiin moduleihin%B: Arkkitehtuuri ei tÃ¤smÃ¤nnyt edellisten modulien kanssa%B: BE8-vedokset ovat oikeita vain big-endian-tavujÃ¤rjestyksessÃ¤.%B: VÃ¤Ã¤rÃ¤ sijoitustietue tuotu: %d%B: CALL15 reloc-tietueessa osoitteessa 0x%lx ei ole kÃ¤ytetty yleissymbolia%B: â€�CALL16 relocâ€�-tietueessa siirroksessa 0x%lx ei ole kÃ¤ytetty yleissymbolia%B: Ei lÃ¶ydy tÃ¤smÃ¤Ã¤vÃ¤Ã¤ â€�LO16 relocâ€�-tietuetta kÃ¤yttÃ¤en tulolohkoa â€�%sâ€� symbolinimelle %s kohteessa 0x%lx lohkossa â€�%Aâ€�%B: Ei voi avartaa br-kÃ¤skyÃ¤ (%s) kohteelle â€�%sâ€� kohteessa 0x%lx lohkossa â€�%Aâ€� koolla 0x%lx (> 0x1000000).%B: Ei voi avartaa br-kÃ¤skyÃ¤ kohteessa 0x%lx lohkossa â€�%Aâ€�. KÃ¤ytÃ¤ â€�brlâ€�-kÃ¤skyÃ¤ tai epÃ¤suoraa haarautumista.%B: Ei voi kÃ¤sitellÃ¤ tiivistettyjÃ¤ Alpha-binaareja.
+   KÃ¤ytÃ¤ kÃ¤Ã¤ntÃ¤jÃ¤lippuja, tai objZ:aa, tiivistÃ¤mÃ¤ttÃ¶mien binaarien tuottamiseksi.%B: Ei voida linkittÃ¤Ã¤ yhteen %s- ja %s-objekteja.%B: RikkinÃ¤inen kokokenttÃ¤ ryhmÃ¤lohko-otsakkeessa: 0x%lx%B: Ei onnistuttu lisÃ¤Ã¤mÃ¤Ã¤n uudelleennimettyÃ¤ symbolia %s%B: Funktiokuvaajasijoitus nollasta poikeavalla yhteenlaskettavalla%B: Yleissiirrostaulun ylivuoto: 8-bittisellÃ¤ tai 16-bittisellÃ¤ siirrososoitteella varustettujen sijoitusten lukumÃ¤Ã¤rÃ¤ > %d%B: Yleissiirrostaulun ylivuoto: 8-bittisellÃ¤ siirrososoitteella varustettujen sijoitusten lukumÃ¤Ã¤rÃ¤ > %d%B: Yleissiirrostaulu-reloc-tietue siirroksessa 0x%lx ei ole odotettu suoritettavissa tiedostoissa%B: â€�IMPORT ASâ€�-direktiivi kohteelle %s kÃ¤tkee edellisen â€�IMPORT ASâ€�-direktiivin%B: ISR-vektorikokotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys edelliseen moduliin, edellinen %u-tavu, nykyinen %u-tavu%B: KÃ¤skyjoukko ei tÃ¤smÃ¤Ã¤ edellisten modulien kanssa%B: Virheellinen sijoitustyyppi tuotu: %d%B: Muodoltaan virheellinen reloc-tietue havaittu lohkossa %s%B: SisÃ¤kkÃ¤inen OMIT_FP kohteessa %A.%B: Ei symboliversiolohkoa versioidulle symbolille â€�%sâ€�%B: Ei tarpeeksi tilaa ohjelmaotsakkeille, yritÃ¤ linkittÃ¤Ã¤ â€�-Nâ€�-argumentilla%B: Vain rekisterit %%g[2367] voidaan esitellÃ¤ kÃ¤yttÃ¤en STT_REGISTER-symbolia%B: Tunnistettu, mutta kÃ¤sittelemÃ¤tÃ¶n konetyyppi (0x%x) â€�Import Library Formatâ€�-arkistossa%B: Sijoitusta %s (%d) ei tÃ¤llÃ¤ hetkellÃ¤ tueta.
+%B: Sijoituksia geneerisessÃ¤ ELF (EM: %d):ssa%B: SB-suhteellinen sijoitus, mutta __c6xabi_DSBT_BASE ei ole mÃ¤Ã¤ritelty%B: TLS-tyyppistÃ¤ paikallista suoritettavaa koodia ei voida linkittÃ¤Ã¤ jaettuihin objekteihin%B: TLS-lohkot eivÃ¤t ole vierekkÃ¤isiÃ¤:%B: TLS-siirros kohteesta %s kohteeseen %s kÃ¤yttÃ¤en kohdetta â€�%sâ€� osoitteessa 0x%lx lohkossa â€�%Aâ€� epÃ¤onnistui%B: EnsimmÃ¤inen lohko PT_DYNAMIC-segmentissÃ¤ ei ole â€�.dynamicâ€�-lohko%B: Kohteen (%s) sijoitus %s on vÃ¤Ã¤rÃ¤ssÃ¤ lohkossa (%A)%B: Liian monia lohkoja: %d (>= %d)%B: Ei voi lajitella relocs-tietueita - niitÃ¤ on useampia kuin yhtÃ¤ kokoa%B: Ei voi lajitella relocs-tietueita - niiden koko on tuntematon%B: KÃ¤sittelemÃ¤tÃ¶n tuontityyppi; %x%B: Tuntematon pakollinen EABI-objektiattribuutti %d%B: Tuntematon sijoitustyyppi %d
 %B: Tuntematon lohkotyyppi â€�a.out.adobeâ€�-tiedostossa: %x
-%B: Tunnistamaton â€�.directiveâ€�-komento: %s%B: Tunnistamaton tuontinimityyppi; %x%B: Tunnistamaton tuontityyppi; %x%B: Tunnistamaton konetyyppi (0x%x) â€�Import Library Formatâ€�-arkistossa%B: Tunnistamaton tallennusluokka: %d lohkonimi: %s symbolinimi: â€�%sâ€�%B: Varoitus: Ei oteta huomioon lohkolippua IMAGE_SCN_MEM_NOT_PAGED lohkossa %s%B: Varoitus: â€�Thumb BLXâ€�-kÃ¤skykohteet thumb-funktiossa â€�%sâ€�.%B: Varoitus: virheellinen â€�%sâ€�-valitsinkoko %u pienempi kuin sen otsake%B: Varoitus: ei voi mÃ¤Ã¤ritellÃ¤ stub-lohkon â€�%sâ€� kohdefunktiota%B: XMC_TC0-symboli â€�%sâ€� on luokka %d ohjauslohkopituus %d%B: â€�%sâ€� haettu sekÃ¤ FDPIC-symbolina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina%B: â€�%sâ€� haettu sekÃ¤ normaalina ettÃ¤ FDPIC-symbolina%B: â€�%sâ€� haettu sekÃ¤ normaalina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina%B: â€�%sâ€� on rivinumerot, mutta ei sulkevaa lohkoa%B: â€�%sâ€� â€�loader relocâ€�-tietueessa, mutta ei â€�loader.symâ€�-binaarissa%B: â€�ld -râ€� ei tuettu â€�PE MIPSâ€�-objekteilla
-%B: virheellinen XTY_ER-symboli â€�%sâ€�: luokka %d ohjauslohkonumero %d ohjauslohkopituus %d%B: virheellinen pari/reflo refhi:n jÃ¤lkeen
-%B: virheellinen reloc-tietueosoite 0x%lx lohkossa â€�%Aâ€�%B: virheellinen reloc-tietuesymboli-indeksi (0x%lx >= 0x%lx) siirrososoitteelle 0x%lx lohkossa â€�%Aâ€�%B: virheellinen sijoituslohkonimi â€�%sâ€�%B: virheellinen lohkopituus â€�ihex_read_sectionâ€�-lohkossa%B: virheellinen merkkijonotaulukoko %lu%B: virheellinen symboli-indeksi: %d%B: ei voi luoda stub-tulokohtaa %s%B: vaihto yleisosoittimessa: BRSGP %s%B: luokassa %d symbolissa â€�%sâ€� ei ole aputulokohtia%B: kÃ¤Ã¤nnetty 64-bittiselle jÃ¤rjestelmÃ¤lle ja kohde on 32-bittinen%B: kÃ¤Ã¤nnetty â€�big endianâ€�-jÃ¤rjestelmÃ¤lle ja kohde on â€�little endianâ€�%B: kÃ¤Ã¤nnetty â€�little endianâ€�-jÃ¤rjestelmÃ¤lle ja kohde on â€�big endianâ€�%B: kÃ¤Ã¤nnetty tavallisesti ja linkitetty moduleilla, jotka on kÃ¤Ã¤nnetty â€�-mrelocatableâ€�-argumentilla%B: kÃ¤Ã¤nnetty â€�-mrelocatableâ€�-argumentilla ja linkitetty tavallisesti kÃ¤Ã¤nnetyillÃ¤ moduleilla%B: ei lÃ¶ytynyt tulostelohkoa %A syÃ¶telohkolle %A%B: ei lÃ¶ytynyt tulostelohkoa %s%B: ei voitu lukea lohkon â€�%Aâ€� sisÃ¤ltÃ¶Ã¤
-%B: ohjauslohkoa â€�%sâ€� ei ole sulkeutuvassa lohkossa%B: ei tiedÃ¤, kuinka kÃ¤sitellÃ¤ kÃ¤yttÃ¶jÃ¤rjestelmÃ¤kohtaista lohkoa â€�%sâ€� [0x%8x]%B: ei tiedÃ¤ kuinka kÃ¤sitellÃ¤ varattua, sovelluskohtaista lohkoa â€�%sâ€� [0x%8x]%B: ei tiedÃ¤, kuinka kÃ¤sitellÃ¤ prosessorikohtaista lohkoa â€�%sâ€� [0x%8x]%B: ei tiedÃ¤ kuinka kÃ¤sitellÃ¤ lohkoa â€�%sâ€� [0x%8x]%B: dtp-suhteellinen sijoitus dynaamista symbolia %s varten%B: vienti-stubin %s kaksoiskappale%B: lohkon â€�%Aâ€� kaksoiskappaleella on erilainen sisÃ¤ltÃ¶
+%B: TÃ¤smÃ¤Ã¤mÃ¤tÃ¶n OMIT_FP kohteessa %A.%B: Tunnistamaton â€�.directiveâ€�-komento: %s%B: Tunnistamaton tuontinimityyppi; %x%B: Tunnistamaton tuontityyppi; %x%B: Tunnistamaton konetyyppi (0x%x) â€�Import Library Formatâ€�-arkistossa%B: Tunnistamaton tallennusluokka: %d lohkonimi: %s symbolinimi: â€�%sâ€�%B: Varoitus: Ei oteta huomioon lohkolippua IMAGE_SCN_MEM_NOT_PAGED lohkossa %s%B: Varoitus: â€�Thumb BLXâ€�-kÃ¤skykohteet thumb-funktiossa â€�%sâ€�.%B: Varoitus: virheellinen â€�%sâ€�-valitsinkoko %u pienempi kuin sen otsake%B: Varoitus: ei voi mÃ¤Ã¤ritellÃ¤ stub-lohkon â€�%sâ€� kohdefunktiota%B: Varoitus: thumb-tila-PLT-tuottamista ei tÃ¤llÃ¤ hetkellÃ¤ tueta%B: XMC_TC0-symboli â€�%sâ€� on luokka %d ohjauslohkopituus %d%B: â€�%Aâ€� %ld-siirrosoiste kohteesta â€�%Aâ€� ADDIUPC-lukualueen takana%B: â€�%sâ€� haettu sekÃ¤ FDPIC-symbolina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina%B: â€�%sâ€� haettu sekÃ¤ normaalina ettÃ¤ FDPIC-symbolina%B: â€�%sâ€� haettu sekÃ¤ normaalina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina%B: â€�%sâ€� on rivinumerot, mutta ei sulkevaa lohkoa%B: â€�%sâ€� â€�loader relocâ€�-tietueessa, mutta ei â€�loader.symâ€�-binaarissa%B: â€�ld -râ€� ei tuettu â€�PE MIPSâ€�-objekteilla
+%B: yhteenlaskettava -0x%x sijoituksessa %s kÃ¤yttÃ¤en symbolia â€�%sâ€� osoitteessa 0x%lx lohkossa â€�%Aâ€� on lukualueen ulkopuolella%B: yhteenlaskettava 0x%x sijoituksessa %s kÃ¤yttÃ¤en symbolia â€�%sâ€� osoitteessa 0x%lx lohkossa â€�%Aâ€� on lukualueen ulkopuolella%B: virheellinen XTY_ER-symboli â€�%sâ€�: luokka %d ohjauslohkonumero %d ohjauslohkopituus %d%B: virheellinen pari/reflo refhi:n jÃ¤lkeen
+%B: virheellinen reloc-tietueosoite 0x%lx lohkossa â€�%Aâ€�%B: virheellinen reloc-tietuesymboli-indeksi (0x%lx >= 0x%lx) siirrososoitteelle 0x%lx lohkossa â€�%Aâ€�%B: virheellinen lohkopituus â€�ihex_read_sectionâ€�-lohkossa%B: virheellinen merkkijonotaulukoko %lu%B: virheellinen symboli-indeksi: %d%B: ei voi luoda stub-tulokohtaa %s%B: vaihto yleisosoittimessa: BRSGP %s%B: luokassa %d symbolissa â€�%sâ€� ei ole aputulokohtia%B: kÃ¤Ã¤nnetty 64-bittiselle jÃ¤rjestelmÃ¤lle ja kohde on 32-bittinen%B: kÃ¤Ã¤nnetty â€�big endianâ€�-jÃ¤rjestelmÃ¤lle ja kohde on â€�little endianâ€�%B: kÃ¤Ã¤nnetty â€�little endianâ€�-jÃ¤rjestelmÃ¤lle ja kohde on â€�big endianâ€�%B: kÃ¤Ã¤nnetty tavallisesti ja linkitetty moduleilla, jotka on kÃ¤Ã¤nnetty â€�-mrelocatableâ€�-argumentilla%B: kÃ¤Ã¤nnetty â€�-mrelocatableâ€�-argumentilla ja linkitetty tavallisesti kÃ¤Ã¤nnetyillÃ¤ moduleilla%B: ei lÃ¶ytynyt tulostelohkoa %A syÃ¶telohkolle %A%B: ei lÃ¶ytynyt tulostelohkoa %s%B: ei voitu lukea lohkon â€�%Aâ€� sisÃ¤ltÃ¶Ã¤
+%B: ohjauslohkoa â€�%sâ€� ei ole sulkeutuvassa lohkossa%B: ei tiedÃ¤, kuinka kÃ¤sitellÃ¤ kÃ¤yttÃ¶jÃ¤rjestelmÃ¤kohtaista lohkoa â€�%sâ€� [0x%8x]%B: ei tiedÃ¤ kuinka kÃ¤sitellÃ¤ varattua, sovelluskohtaista lohkoa â€�%sâ€� [0x%8x]%B: ei tiedÃ¤, kuinka kÃ¤sitellÃ¤ prosessorikohtaista lohkoa â€�%sâ€� [0x%8x]%B: ei tiedÃ¤ kuinka kÃ¤sitellÃ¤ lohkoa â€�%sâ€� [0x%8x]%B: dtp-suhteellinen sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s%B: vienti-stubin %s kaksoiskappale%B: lohkon â€�%Aâ€� kaksoiskappaleella on erilainen sisÃ¤ltÃ¶
 %B: lohkon â€�%Aâ€� kaksoiskappaleessa on eri koko
-%B: tavujÃ¤rjestys tyypiltÃ¤Ã¤n sopimaton valitun emuloinnin tavujÃ¤rjestystyypin kanssa%B: virhe: Cortex-A8 virhe-stub on varattu turvattomaan paikkaan%B: virhe: Cortex-A8 virhe-stub lukualueen ulkopuolella (syÃ¶tetiedoston on liian iso)%B: virhe: VFP11-julkisivu lukualueen ulkopuolella%B: virhe: tasaamaton sijoitustyyppi %d siirroksessa %08x reloc-tietue %p
-%B: virhe: tuntematon pakollinen EABI-objektiattribuutti %d%B: tiedostoluokka %s on yhteensopimaton kohteen %s kanssa%B: yleisosoitinsuhteellinen sijoitus dynaamista symbolia %s varten%B: piilotettu symboli â€�%sâ€� kohteessa %B on DSO:n viitteenÃ¤%B: piilotettua symbolia â€�%sâ€� ei ole mÃ¤Ã¤ritelty%B: ei oteta huomioon lohkon â€�%Aâ€� kaksoiskappaletta
+%B: tavujÃ¤rjestys tyypiltÃ¤Ã¤n sopimaton valitun emuloinnin tavujÃ¤rjestystyypin kanssa%B: virhe: ABI-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys edellisten modulien kanssa.%B: virhe: _ITB_BASE_-asetus epÃ¤onnistui%B: virhe: Cortex-A8 virhe-stub on varattu turvattomaan paikkaan%B: virhe: Cortex-A8 virhe-stub lukualueen ulkopuolella (syÃ¶tetiedoston on liian iso)%B: virhe: KÃ¤skyjoukko ei tÃ¤smÃ¤Ã¤ edellisten modulien kanssa.%B: virhe: VFP11-julkisivu lukualueen ulkopuolella%B: virhe: tasaamaton sijoitustyyppi %d siirroksessa %08x reloc-tietue %p
+%B: virhe: tuntematon pakollinen EABI-objektiattribuutti %d%B: virhe: tuntematon sijoitustyyppi %d.%B: tiedostoluokka %s on yhteensopimaton kohteen %s kanssa%B: yleisosoitinsuhteellinen sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s%B: piilotettu symboli â€�%sâ€� kohteessa %B on DSO:n viitteenÃ¤%B: piilotettua symbolia â€�%sâ€� ei ole mÃ¤Ã¤ritelty%B: ei oteta huomioon lohkon â€�%Aâ€� kaksoiskappaletta
 %B: virheellinen sijoitustyyppi %d osoitteessa 0x%lx%B: virheellinen symboli-indeksi reloc-tietueessa: %d%B: yhteensopimaton konetyyppi. Tuloste on 0x%x. SyÃ¶te on 0x%x%B: epÃ¤suora symboli â€�%sâ€� kohteeseen â€�%sâ€� on silmukka%B: sisÃ¤inen virhe â€�ihex_read_sectionâ€�-lohkossa%B: sisÃ¤inen symboli â€�%sâ€� kohteessa %B on DSO:n viitteenÃ¤%B: sisÃ¤istÃ¤ symbolia â€�%sâ€� ei ole mÃ¤Ã¤ritelty%B: virheellinen SHT_GROUP-tulokohta%B: virheellinen linkki %lu reloc-tietueelle %s (indeksi %u)%B: virheellinen sijoitustyyppi %d%B: virheellinen merkkijonosiirrososoite %u >= %lu lohkolle â€�%sâ€�%B: hyppy liian kauas
-%B: linkitetÃ¤Ã¤n %s-moduli edellisten %s-modulien kanssa%B: linkitetÃ¤Ã¤n 32-bittinen koodi 64-bittisen koodin kanssa%B: linkitetÃ¤Ã¤n 64-bittiset tiedostot 32-bittisten tiedostojen kanssa%B: linkitetÃ¤Ã¤n UltraSPARC-kohtainen HAL-kohtaisella koodilla%B: linkitetÃ¤Ã¤n automaattiset paikkariippumattomat kooditiedostot ei-automaattisten paikkariippumattomien kooditiedostojen kanssa%B: linkitetÃ¤Ã¤n â€�big-endianâ€�-tiedostoja â€�little-endianâ€�-tiedostojen kanssa%B: linkitetÃ¤Ã¤n vakioyleisosoitintiedostot ei-vakioiden yleisosoitintiedostojen kanssa%B: linkitystiedostot kÃ¤Ã¤nnetty 16-bittisille kokonaisluvuille (-mshort) ja muut 32-bittisille kokonaisluvuille%B: linkitystiedostot kÃ¤Ã¤nnetty 32-bittiselle double-liukuluvulle (-fshort-double) ja muut 64-bittiselle double-liukuluvulle%B: linkitystiedostot kÃ¤Ã¤nnetty HCS12:lle, muut kÃ¤Ã¤nnetty HC12:lle%B: linkitetty â€�little endianâ€�-tiedostoja â€�big endianâ€�-tiedostojen kanssa%B: linkitetÃ¤Ã¤n paikkariippuvainen koodi paikkariippumattomassa suoritettavassa tiedostossa%B: linkitetÃ¤Ã¤n keskeytysnollassa uudelleenviite â€�ei-keskeytetÃ¤â€�-tiedostojen kanssa%B: â€�loader relocâ€�-tietue kirjoitussuojatussa lohkossa %A%B: â€�loader relocâ€�-tietue tunnistamattomassa lohkossa â€�%s%B: paikallinen symboli â€�%sâ€� kohteessa %B on DSO:n viitteenÃ¤%B: vÃ¤Ã¤rin sijoitettu XTY_LD â€�%sâ€�%B: siirroksen %s puuttuva TLS-lohko kohdetta â€�%sâ€� varten osoitteessa 0x%lx lohkossa â€�%Aâ€�.%B: ei ryhmÃ¤tietoja lohkolle %A%B: paikkariippuvainen koodi vÃ¤littÃ¶mÃ¤llÃ¤ sijoituksella dynaamista symbolia â€�%sâ€� varten%B: ei-nolla symboli-indeksi (0x%lx) siirrososoitetta 0x%lx varten lohkossa â€�%Aâ€� kun objektitiedostolla ei ole symbolitaulua%B: ohjelmalaskurisuhteellinen sijoitus dynaamista symbolia %s varten%B: ohjelmalaskurisuhteellinen sijoitus mÃ¤Ã¤rittelemÃ¤tÃ¶ntÃ¤ heikkoa symbolia %s varten%B: luultavasti kÃ¤Ã¤nnetty ilman -fPIC-argumenttia?%B: suojattua symbolia â€�%sâ€� ei ole mÃ¤Ã¤ritelty%B: reloc-tietue %s:%d ei ole ohjauslohkossa%B: reloc-tietue kÃ¤yttÃ¤en ei-olemassaolevaa symboli-indeksiÃ¤: %ld%B: sijoitusta %s kohteeseen %s â€�%sâ€� ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia %s%B: sijoituksella %s kohteen STT_GNU_IFUNC-symbolia â€�%sâ€� varten on ei-nolla-yhteenlaskettava: %d%B: sijoitusta %s kohteen STT_GNU_IFUNC-symbolia â€�%sâ€� varten ei kÃ¤sittele %s%B: sijoitusta %s kohdetta â€�%sâ€� varten ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia; kÃ¤Ã¤nnÃ¤ uudelleen -fPIC-argumentilla%B: sijoitusta %s symbolia `%s' varten ei tueta x32-tilassa%B: sijoitusta %s kohteeseen %s â€�%sâ€� ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia %s%B: sijoitusta %s ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia; kÃ¤Ã¤nnÃ¤ uudelleen â€�-fPICâ€�-argumentilla%B: sijoitusta %s ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia%B: R_386_GOTOFF-sijoitusta suojattua funktiota â€�%sâ€� varten ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia%B: R_386_GOTOFF-sijoitusta mÃ¤Ã¤rittelemÃ¤tÃ¶ntÃ¤ %s â€�%sâ€� varten ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia%B: sijoitusta R_X86_64_GOTOFF64 suojattua funktiota â€�%sâ€� varten ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia%B: sijoitus kohteessa â€�%A+0x%xâ€� viittaa symboliin â€�%sâ€�, jossa on ei-nolla-yhteenlaskettava%B: sijoituskokotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys %B:n tulolohkossa %A%B: relocs-tietueet lohkossa â€�%Aâ€�, mutta ilman sisÃ¤ltÃ¶Ã¤%B: lohko %A vma %#lx sÃ¤Ã¤detty kohteeseen %#lx%B: lohko %s: merkkijonotaulun ylitys siirrososoitteessa %ld%B: lohkoa â€�%Aâ€� ei voida varata segmentissÃ¤ %d%B: sh_link [%d]-kenttÃ¤ lohkossa â€�%Aâ€� on virheellinen%B: sh_link-lohko â€�%Aâ€� osoittaa hylÃ¤ttyyn lohkoon â€�%Aâ€� kohteessa â€�%Bâ€�%B: sh_link-lohko â€�%Aâ€� osoittaa poistettuun lohkoon â€�%Aâ€� kohteessa â€�%Bâ€�%B: kokokenttÃ¤ on nolla â€�Import Library Formatâ€�-otsakkeessa%B: spekulaatiokorjaus dynaamiseen symboliin %s%B: merkkijonoa ei ole pÃ¤Ã¤tetty nollaan ILF-objektitiedostossa.%B: symbolissa â€�%sâ€� on tunnistamaton ohjauslohkotyyppi %d%B: symbolissa â€�%sâ€� on tunnistamaton â€�smclasâ€�-arvo %d%B: symboli â€�%sâ€� vaadittu, mutta ei ole annettu%B: liian monia lohkoja (%d)%B: tp-suhteellinen sijoitus dynaamista symbolia %s varten%B: DataDictionary[12]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$5â€� puuttuu%B: DataDictionary[1]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$2â€� puuttuu%B: DataDictionary[1]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$4â€� puuttuu%B: DataDictionary[9]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�__tls_usedâ€� puuttuu%B: DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$6â€� puuttuu%B: DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$6â€� puuttuu%B: ei lÃ¶ydetty ARM-vihjettÃ¤ â€�%sâ€� nimelle â€�%sâ€�%B: ei lÃ¶ydetty THUMB-vihjettÃ¤ â€�%sâ€� nimelle â€�%sâ€�%B: ei lÃ¶ydy VFP11-julkisivua â€�%sâ€�%B: ei kyetÃ¤ hakemaan tiivistyksestÃ¤ purettua lohkoa %A%B: ei kyetÃ¤ alustamaan tiivistystilaa lohkolle %s%B: ei kyetÃ¤ alustamaan tiivistyksenpurkutilaa lohkolle %s%B: mÃ¤Ã¤rittelemÃ¤tÃ¶n viite symboliin â€™%sâ€™%B: mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli â€�%sâ€� â€�.opdâ€�-lohkossa%B: mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli R_PPC64_TOCSAVE-sijoituksessa%B: odottamaton ATN-tyyppi %d ulkoisessa osassa%B: epÃ¤suoran versioidun symbolin â€�%sâ€� odottamaton uudelleenmÃ¤Ã¤rittely%B: odottamaton reloc-tyyppi %u â€�.opdâ€�-lohkossa%B: odottamaton tyyppi ATN:n jÃ¤lkeen%B: kÃ¤sittelemÃ¤tÃ¶n dynaaminen sijoitus %s:ta varten%B: toteuttamaton %s
-%B: toteuttamaton ATI-tietue %u symbolille %u%B: tuntematon [%d] lohko â€�%sâ€� ryhmÃ¤ssÃ¤ [%s]%B: tuntematon sijoitustyyppi %d%B: tuntematon/ei-tuettu sijoitustyyppi %d%B: tunnistamaton sijoitus (0x%x) lohkossa â€�%Aâ€�%B: ei-tuettu sijoitustyyppi %i%B: ei-tuettu sijoitustyyppi %i
+%B: linkitetÃ¤Ã¤n %s-moduli edellisten %s-modulien kanssa%B: linkitetÃ¤Ã¤n 32-bittinen koodi 64-bittisen koodin kanssa%B: linkitetÃ¤Ã¤n 64-bittiset tiedostot 32-bittisten tiedostojen kanssa%B: linkitetÃ¤Ã¤n UltraSPARC-kohtainen HAL-kohtaisella koodilla%B: linkitetÃ¤Ã¤n automaattiset paikkariippumattomat kooditiedostot ei-automaattisten paikkariippumattomien kooditiedostojen kanssa%B: linkitetÃ¤Ã¤n â€�big-endianâ€�-tiedostoja â€�little-endianâ€�-tiedostojen kanssa%B: linkitetÃ¤Ã¤n vakioyleisosoitintiedostot ei-vakioiden yleisosoitintiedostojen kanssa%B: linkitystiedostot kÃ¤Ã¤nnetty 16-bittisille kokonaisluvuille (-mshort) ja muut 32-bittisille kokonaisluvuille%B: linkitystiedostot kÃ¤Ã¤nnetty 32-bittiselle double-liukuluvulle (-fshort-double) ja muut 64-bittiselle double-liukuluvulle%B: linkitystiedostot kÃ¤Ã¤nnetty HCS12:lle, muut kÃ¤Ã¤nnetty HC12:lle%B: linkitetty â€�little endianâ€�-tiedostoja â€�big endianâ€�-tiedostojen kanssa%B: linkitetÃ¤Ã¤n paikkariippuvainen koodi paikkariippumattomassa suoritettavassa tiedostossa%B: linkitetÃ¤Ã¤n keskeytysnollassa purkuviite â€�ei-keskeytetÃ¤â€�-tiedostojen kanssa%B: â€�loader relocâ€�-tietue kirjoitussuojatussa lohkossa %A%B: â€�loader relocâ€�-tietue tunnistamattomassa lohkossa â€�%s%B: paikallinen symboli â€�%sâ€� kohteessa %B on DSO:n viitteenÃ¤%B: vÃ¤Ã¤rin sijoitettu XTY_LD â€�%sâ€�%B: siirroksen %s puuttuva TLS-lohko kÃ¤yttÃ¤en kohdetta â€�%sâ€� osoitteessa 0x%lx lohkossa â€�%Aâ€�.%B: ei ryhmÃ¤tietoja lohkolle %A%B: paikkariippuvainen koodi vÃ¤littÃ¶mÃ¤llÃ¤ sijoituksella kÃ¤yttÃ¤en dynaamista symbolia â€�%sâ€�%B: ei-nolla symboli-indeksi (0x%lx) siirrososoitetta 0x%lx varten lohkossa â€�%Aâ€� kun objektitiedostolla ei ole symbolitaulua%B: ohjelmalaskurisuhteellinen sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s%B: ohjelmalaskurisuhteellinen sijoitus kÃ¤yttÃ¤en mÃ¤Ã¤rittelemÃ¤tÃ¶ntÃ¤ heikkoa symbolia %s%B: luultavasti kÃ¤Ã¤nnetty ilman -fPIC-argumenttia?%B: suojattua symbolia â€�%sâ€� ei ole mÃ¤Ã¤ritelty%B: reloc-tietue %s:%d ei ole ohjauslohkossa%B: reloc-tietue kÃ¤yttÃ¤en ei-olemassaolevaa symboli-indeksiÃ¤: %ld%B: sijoitusta %s kÃ¤yttÃ¤en kohdetta %s â€�%sâ€� ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia %s%B: sijoituksella %s kÃ¤yttÃ¤en kohteen STT_GNU_IFUNC-symbolia â€�%sâ€� on ei-nolla-yhteenlaskettava: %d%B: sijoitusta %s kÃ¤yttÃ¤en kohteen STT_GNU_IFUNC-symbolia â€�%sâ€� ei kÃ¤sittele %s%B: sijoitusta %s kÃ¤yttÃ¤en â€�%sâ€� ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia; kÃ¤Ã¤nnÃ¤ uudelleen -fPIC-argumentilla%B: sijoitusta %s kÃ¤yttÃ¤en symbolia `%s' ei tueta x32-tilassa%B: sijoitusta %s kÃ¤yttÃ¤en kohdetta %s â€�%sâ€� ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia %s%B: sijoitusta %s ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia; kÃ¤Ã¤nnÃ¤ uudelleen â€�-fPICâ€�-argumentilla%B: sijoitusta %s ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia%B: R_386_GOTOFF-sijoitusta suojattua kÃ¤yttÃ¤en funktiota â€�%sâ€� ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia%B: R_386_GOTOFF-sijoitusta kÃ¤yttÃ¤en mÃ¤Ã¤rittelemÃ¤tÃ¶ntÃ¤ %s â€�%sâ€� ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia%B: sijoitusta R_X86_64_GOTOFF64 kÃ¤yttÃ¤en suojattua funktiota â€�%sâ€� ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia%B: sijoitus kohteessa â€�%A+0x%xâ€� viittaa symboliin â€�%sâ€�, jossa on ei-nolla-yhteenlaskettava%B: sijoituskokotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys %B:n tulolohkossa %A%B: relocs-tietueet lohkossa â€�%Aâ€�, mutta ilman sisÃ¤ltÃ¶Ã¤%B: lohko %A vma %#lx sÃ¤Ã¤detty kohteeseen %#lx%B: lohko %s: merkkijonotaulun ylitys siirrososoitteessa %ld%B: lohkoa â€�%Aâ€� ei voida varata segmentissÃ¤ %d%B: sh_link [%d]-kenttÃ¤ lohkossa â€�%Aâ€� on virheellinen%B: sh_link-lohko â€�%Aâ€� osoittaa hylÃ¤ttyyn lohkoon â€�%Aâ€� kohteessa â€�%Bâ€�%B: sh_link-lohko â€�%Aâ€� osoittaa poistettuun lohkoon â€�%Aâ€� kohteessa â€�%Bâ€�%B: kokokenttÃ¤ on nolla â€�Import Library Formatâ€�-otsakkeessa%B: spekulaatiokorjaus dynaamiseen symboliin %s%B: pinokoko mÃ¤Ã¤ritelty ja %s asetettu%B: merkkijonoa ei ole pÃ¤Ã¤tetty nollaan ILF-objektitiedostossa.%B: symbolissa â€�%sâ€� on tunnistamaton ohjauslohkotyyppi %d%B: symbolissa â€�%sâ€� on tunnistamaton â€�smclasâ€�-arvo %d%B: symboli â€�%sâ€� vaadittu, mutta ei ole annettu%B: suojatun funktion â€™%sâ€™ osoitteen ottamista ei voida tehdÃ¤, kun tehdÃ¤Ã¤n jaettua kirjastoa%B: kohde (%s) sijoituksessa %s on vÃ¤Ã¤rÃ¤ssÃ¤ tulostelohkossa (%s)%B: liian monia lohkoja (%d)%B: liian monia lohkoja: %u%B: tp-suhteellinen sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s%B: DataDictionary[12]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$5â€� puuttuu%B: DataDictionary[1]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$2â€� puuttuu%B: DataDictionary[1]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$4â€� puuttuu%B: DataDictionary[9]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�__tls_usedâ€� puuttuu%B: DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$6â€� puuttuu%B: DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$6â€� puuttuu%B: ei lÃ¶ydetty ARM-vihjettÃ¤ â€�%sâ€� nimelle â€�%sâ€�%B: ei lÃ¶ydetty THUMB-vihjettÃ¤ â€�%sâ€� nimelle â€�%sâ€�%B: ei lÃ¶ydy VFP11-julkisivua â€�%sâ€�%B: ei kyetÃ¤ hakemaan tiivistyksestÃ¤ purettua lohkoa %A%B: ei kyetÃ¤ alustamaan tiivistystilaa lohkolle %s%B: ei kyetÃ¤ alustamaan tiivistyksenpurkutilaa lohkolle %s%B: mÃ¤Ã¤rittelemÃ¤tÃ¶n viite symboliin â€™%sâ€™%B: mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli â€�%sâ€� â€�.opdâ€�-lohkossa%B: mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli R_PPC64_TOCSAVE-sijoituksessa%B: odottamaton ATN-tyyppi %d ulkoisessa osassa%B: epÃ¤suoran versioidun symbolin â€�%sâ€� odottamaton uudelleenmÃ¤Ã¤rittely%B: odottamaton reloc-tyyppi %u â€�.opdâ€�-lohkossa%B: odottamaton tyyppi ATN:n jÃ¤lkeen%B: kÃ¤sittelemÃ¤tÃ¶n dynaaminen sijoitus kÃ¤yttÃ¤en kohdetta %s%B: toteuttamaton %s
+%B: toteuttamaton ATI-tietue %u symbolille %u%B: tuntematon [%d] lohko â€�%sâ€� ryhmÃ¤ssÃ¤ [%s]%B: tuntematon latauskÃ¤sky 0x%lx%B: tuntematon sijoitustyyppi %d%B: tuntematon/ei-tuettu sijoitustyyppi %d%B: tunnistamaton sijoitus (0x%x) lohkossa â€�%Aâ€�%B: ei-tuettu sijoitustyyppi %i%B: ei-tuettu sijoitustyyppi %i
 %B: ei-tuettu sijoitustyyppi %s%B: ei-tuettu sijoitus: ALPHA_R_GPRELHIGH%B: ei-tuettu sijoitus: ALPHA_R_GPRELLOW%B: kÃ¤yttÃ¤Ã¤ â€�_â€�-etuliitesymboleja, mutta kirjoittaa tiedoston ilman etuliitesymboleja%B: kÃ¤yttÃ¤Ã¤ eri â€�e_flags (0x%lx)â€�-kenttiÃ¤ kuin edelliset modulit (0x%lx)%B: kÃ¤yttÃ¤Ã¤ ilman etuliitesymboleja, mutta kirjoittaa tiedoston â€�_â€�-etuliitesymboleilla%B: versiosolmua ei lÃ¶ydetty symbolille %s%B: varoitus: COMDAT-symboli â€�%sâ€� ei tÃ¤smÃ¤Ã¤ lohkonimen â€�%sâ€� kanssa%B: varoitus: TyhjÃ¤ ladattava segmentti havaittu, onko tÃ¤mÃ¤ tarkoituksellinen ?
-%B: varoitus: varattu lohko â€�%sâ€� ei ole segmentissÃ¤%B: varoitus: rivinumerojen kaksoiskappaleita symbolille â€�%sâ€�%B: varoitus: virheellinen symboli-indeksi %ld rivinumeroissa%B: varoitus: virheellinen symboli-indeksi %ld relocs-tietueissa%B: varoitus: rivinumerotaulun lukeminen ei onnistunut%B: varoitus: linkitetÃ¤Ã¤n paikkariippumattomia kooditiedostoja paikkariippuvaisten kooditiedostojen kanssa%B: varoitus: linkitetÃ¤Ã¤n abi-kutsutiedostoja ei-abi-kutsutiedostoihin%B: varoitus: valittu VFP11-virheenkiertotapa ei ole vÃ¤lttÃ¤mÃ¤tÃ¶n kohdearkkitehtuurille%B: varoitus: sh_link-kenttÃ¤Ã¤ ei aseteta lohkolle â€�%Aâ€�%B: varoitus: tuntematon EABI-objektiattribuutti %d%B:%A%s ylittÃ¤Ã¤ pÃ¤Ã¤llyskoon
+%B: varoitus: Endian-tavujÃ¤rjestystÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys edellisiin moduleihin.%B: varoitus: Yhteensopimattomat elf-versiot %s ja %s.%B: varoitus: Objektitiedoston vanhempi versio kohdattu, kÃ¤Ã¤nnÃ¤ uudelleen nykyisellÃ¤ tyÃ¶kaluketjulla.%B: varoitus: varattu lohko â€�%sâ€� ei ole segmentissÃ¤%B: varoitus: rivinumerojen kaksoiskappaleita symbolille â€�%sâ€�%B: varoitus: virheellinen symboli-indeksi %ld rivinumeroissa%B: varoitus: virheellinen symboli-indeksi %ld relocs-tietueissa%B: varoitus: rivinumerotaulun lukeminen ei onnistunut%B: varoitus: linkitetÃ¤Ã¤n paikkariippumattomia kooditiedostoja paikkariippuvaisten kooditiedostojen kanssa%B: varoitus: linkitetÃ¤Ã¤n abi-kutsutiedostoja ei-abi-kutsutiedostoihin%B: varoitus: SDA_BASE-sijoitus epÃ¤onnistui.%B: varoitus: valittu VFP11-virheenkiertotapa ei ole vÃ¤lttÃ¤mÃ¤tÃ¶n kohdearkkitehtuurille%B: varoitus: sh_link-kenttÃ¤Ã¤ ei aseteta lohkolle â€�%Aâ€�%B: varoitus: tasaamaton pÃ¤Ã¤sy yleissiirrostaulukohtaan.%B: varoitus: tuntematon EABI-objektiattribuutti %d%B:%A%s ylittÃ¤Ã¤ pÃ¤Ã¤llyskoon
 %B:%A: Varoitus: vanhentunut Red Hat reloc -tietue %B:%d: Virheellinen tarkistussumma S-tietuetiedostossa
 %B:%d: Odottamaton merkki â€�%sâ€� S-tietuetiedostossa
 %B:%d: odottamaton merkki â€�%sâ€� Intel-heksatiedostossa%B:%u: virheellinen tarkistussumma Intel-heksatiedostossa (odotettiin %u, lÃ¶ydettiin %u)%B:%u: virheellinen laajennettu osoitetietuepituus Intel-heksatiedostossa%B:%u: virheellinen laajennettu lineaariosoitetietuepituus Intel-heksatiedosto%B:%u: virheellinen laajennettu lineaarialkuosoitepituus Intel-heksatiedostossa%B:%u: virheellinen laajennettu aloitusosoitepituus Intel-heksatiedostossa%B:%u: tunnistamaton ihex-tyyppi %u Intel-heksatiedostossa%C: varoitus: sijoitus kohteeseen â€�%sâ€� viittaa eri segmenttiin
@@ -871,51 +891,60 @@ ppcboot-otsake:
 %H: ei voi lÃ¤hettÃ¤Ã¤ dynaamisia sijoituksia kirjoitussuojattussa lohkossa
 %H: ei voi lÃ¤hettÃ¤Ã¤ korjauksia kirjoitussuojattuun lohkoon
 %H: sijoitus kohteeseen â€�%sâ€� viittaa eri segmenttiin
-%H: reloc-tietue â€�%sâ€�: %s varten
+%H: reloc-tietue kÃ¤yttÃ¤en kohdetta â€�%sâ€�: %s
 %H: sijoitusviitteet-symboli ei ole mÃ¤Ã¤ritelty modulissa
 %H: sijoitus kohteeseen â€�%s+%vâ€� saattaa olla ylÃ¤puolella olevan virheen aiheuttama
 %P%F: valitsimia --relax ja -r ei saa kÃ¤yttÃ¤Ã¤ yhdessÃ¤
+%P%F: ex9.it %s-tiivistetaulun luominen epÃ¤onnistui: %E
 %P%X: ei voi lukea symboleja: %E
 %P%X: kirjoitussuojatussa segmentissÃ¤ on dynaamisia sijoituksia.
+%P: %B: %s ei ole tuettu kohteelle â€�%Tâ€�
 %P: %B: ei voi luoda stub-tulokohtaa %s
-%P: %B: sijoitus %s ei ole tuettu symbolille %s
-%P: %B: sijoitus %s ei ole vielÃ¤ tuettu symbolille %s.
+%P: %B: sijoitus %s ei ole vielÃ¤ tuettu symbolille %s
 %P: %B: kohde (%s) sijoituksessa %s on vÃ¤Ã¤rÃ¤ssÃ¤ tulostelohkossa (%s)
 %P: %B: odottamaton sijoitustyyppi
+%P: %B: tuntematon sijoitustyyppi %d symbolille â€�%Tâ€�
 %P: %B: tuntematon sijoitustyyppi %d symbolille %s
-%P: %B: varoitus: sijoitus â€�%sâ€� varten kirjoitussuojatussa lohkossa â€�%Aâ€�.
+%P: %B: varoitus: sijoitus kÃ¤yttÃ¤en kohdetta â€�%sâ€� kirjoitussuojatussa lohkossa â€�%Aâ€�.
 %P: %B: varoitus: sijoitus kirjoitussuojatussa lohkossa â€�%Aâ€�.
-%P: %H: %s reloc-tietuetta â€�%sâ€� varten: virhe %d
-%P: %H: %s reloc-tietue paikallista symbolia varten
-%P: %H: %s-sijoitusviitteet optimoitu pois tulokohtasisÃ¤llysluettelossa
-%P: %H: %s kÃ¤ytetÃ¤Ã¤n TLS-symbolin %s kanssa
-%P: %H: %s kÃ¤ytetÃ¤Ã¤n ei-TLS-symbolin %s kanssa
-%P: %H: automaattisia useita sisÃ¤ltÃ¶luettelotauluja ei ole tuettu crt-tiedostoissasi; kÃ¤Ã¤nnÃ¤ uudelleen â€�-mminimal-tocâ€�-argumentilla tai pÃ¤ivitÃ¤ gcc
+%P: %H: %s kÃ¤yttÃ¤en kohdetta â€�%Tâ€�: virhe %d
+%P: %H: %s epÃ¤suoralle funktiolle â€�%Tâ€� ei tueta
+%P: %H: %s-viitteet optimoitu pois tulokohtasisÃ¤llysluettelossa
+%P: %H: %s reloc-tietue kÃ¤yttÃ¤en kohdetta â€�%sâ€�: virhe %d
+%P: %H: %s reloc-tietue kÃ¤yttÃ¤en paikallista symbolia
+%P: %H: %s kÃ¤ytetÃ¤Ã¤n TLS-symbolin â€�%Tâ€� kanssa
+%P: %H: %s kÃ¤ytetÃ¤Ã¤n ei-TLS-symbolin â€�%Tâ€� kanssa
+%P: %H: @local-kutsu kohteeseen ifunc %s
+%P: %H: â€�%Tâ€�-kutsusta puuttuu nop, tulokohtasisÃ¤ltÃ¶luetteloa ei voi palauttaa; kÃ¤Ã¤nnÃ¤ uudelleen valitsimella -fPIC
+%P: %H: virhe: sijoitus %s kÃ¤yttÃ¤en kohdetta â€�%sâ€� ei ole %u:n kerrannainen
 %P: %H: virhe: sijoitus %s ei ole %u:n kerrannainen
-%P: %H: ei-nolla-yhteenlaskettava %s reloc-tietueessa symbolia â€�%sâ€� varten
+%P: %H: ei-nolla-yhteenlaskettava %s reloc-tietueessa kÃ¤yttÃ¤en symbolia â€�%sâ€�
 %P: %H: sijoitusta %s epÃ¤suoralle funktiolle %s ei tueta
-%P: %H: sisarruskutsuoptimointi kohteeseen â€�%sâ€� ei salli automaattisia useita sisÃ¤llysluettelotauluja; kÃ¤Ã¤nnÃ¤ uudelleen â€�-mminimal-tocâ€�-argumentilla tai â€�-fno-optimize-sibling-callsâ€�-argumentilla, tai tee kohteesta â€�%sâ€� ulkoinen
-%P: %H: ratkaisematon %s sijoitus symbolia â€�%sâ€� varten
+%P: %B: tulokohtasisÃ¤llysluettelo-optimointia ei tueta %s-kÃ¤skylle.
+%P: %H: ratkaisematon %s kÃ¤yttÃ¤en kohdetta â€�%Tâ€�
+%P: %H: ratkaisematon %s sijoitus kÃ¤yttÃ¤en symbolia â€�%sâ€�
 %P: %s ei ole mÃ¤Ã¤ritelty linkkerissÃ¤ luodussa %s
-%P: %s-siirrososoite liian suuri kohteelle .eh_frame sdata4 encoding%P: DW_EH_PE_datarel mÃ¤Ã¤rittelemÃ¤tÃ¶n tÃ¤lle arkkitehtuurille.
+%P: %s-siirrososoite liian suuri kohteelle .eh_frame sdata4 encoding%P: .opd ei ole sallittu ABI-versiossa %d
+%P: DW_EH_PE_datarel mÃ¤Ã¤rittelemÃ¤tÃ¶n tÃ¤lle arkkitehtuurille.
 %P: vaihtoehtoinen ELF-konekoodi lÃ¶ydetty (%d) kohteessa %B, otetaan %d
 %P: profilointi pakotti bss-plt-argumentin
 %P: bss-plt-argumentti pakotettu %B:n vuoksi
 %P: ei voi muodostaa haaroitus-stub-kohdetta â€�%sâ€�
 %P: ei lÃ¶ydy haarautumis-stub-kohdetta â€�%sâ€�
-%P: ei kyetÃ¤ lÃ¶ytÃ¤mÃ¤Ã¤n opd-tulokohtasisÃ¤llysluetteloa kohteelle %s
-%P: kopio-reloc-tietue â€�%sâ€�:ta varten vaatii laiskan plt-linkityksen; vÃ¤ltÃ¤ asettamasta LD_BIND_NOW=1 tai pÃ¤ivitÃ¤ gcc
-%P: dynaaminen muuttuja â€�%sâ€� on nollakokoinen
+%P: opd-kohdan tulokohtasisÃ¤llysluettelon lÃ¶ytÃ¤minen kohteelle â€�%Tâ€� epÃ¤onnistui
+%P: kopio-reloc-tietue kÃ¤yttÃ¤en â€�%Tâ€�:ta vaatii laiskan plt-linkityksen; vÃ¤ltÃ¤ asettamasta LD_BIND_NOW=1 tai pÃ¤ivitÃ¤ gcc
 %P: dynreloc-vÃ¤Ã¤rinlaskenta kohteelle %B, lohko %A
 %P: virhe kohteessa %B(%A); â€�.eh_frame_hdrâ€�-taulua ei luotu.
 %P: fde-koodaus kohteessa %B(%A) estÃ¤Ã¤ â€�.eh_frame_hdrâ€�-taulun luomisen.
-%P: linkitystauluvirhe â€�%sâ€�:ta varten
+%P: linkitystauluvirhe kÃ¤yttÃ¤en kohdetta â€�%Tâ€�
 %P: pitkÃ¤ haarautumis-stub â€�%sâ€� siirrososoitteen ylivuoto
 %P: useita tulokohtia: moduuleissa %B ja %B
 %P: sijoitettava linkki ei ole tuettu
 %P: stubit ei tÃ¤smÃ¤Ã¤ lasketun koon kanssa
+%P: symboli â€™%sâ€™ on virheellinen st_other ABI-versiolle 1
 %P: varoitus: luodaan DT_TEXTREL-tunniste jaetussa objektissa.
 %X%C: sijoitus kohteeseen â€�%sâ€� viittaa eri segmenttiin
+%X%P: %B(%A): sijoitus â€�%Râ€� menee lukualueen ulkopuolelle
 %X%P: pÃ¤Ã¤llyslohko %A ei ala vÃ¤limuistissa olevalta riviltÃ¤.
 %X%P: pÃ¤Ã¤llyslohko %A on laajempi kuin vÃ¤limuistissa oleva rivi.
 %X%P: pÃ¤Ã¤llyslohko %A ei ole vÃ¤limuistialueella.
@@ -923,14 +952,14 @@ ppcboot-otsake:
 %Xâ€�%sâ€� viitattu lohkossa â€�%Aâ€� kohteessa %B: mÃ¤Ã¤ritelty hylÃ¤tyssÃ¤ lohkossa â€�%Aâ€� / %B
 %s mÃ¤Ã¤ritelty poistetussa sisÃ¤llysluettelotulokohdassa%s on tehty kahteen kertaan
 %s kaksoiskappale kohteessa %s
-%s pÃ¤Ã¤llyslohkossa%s(%s): sijoituksessa %d on virheellinen symboli-indeksi %ld%s: %s: reloc-tietueylivuoto: 0x%lx > 0xffff%s: 0x%v 0x%v
+%s pÃ¤Ã¤llyslohkossa%s(%s): sijoituksessa %d on virheellinen symboli-indeksi %ld%s: %s: reloc-tietueylivuoto: 0x%lx > 0xffff%s: .rsrc-lohkon yhdistÃ¤misvirhe: rikkinÃ¤inen .rsrc-lohko%s: 0x%v 0x%v
 %s: Virheellinen symbolimÃ¤Ã¤rittely: â€�Mainâ€� asetettu kohteeseen %s pikemmin kuin aloitusosoitteeseen %s
 %s: Virhe: useita â€�%sâ€�-mÃ¤Ã¤rittelyjÃ¤; %s-alku on asetettu aiemmin linkitetyssÃ¤ tiedostossa
 %s: GAS-virhe: odottamaton PTB-kÃ¤sky R_SH_PT_16-tyypillÃ¤%s: SisÃ¤inen yhteensopimattomuusvirhe linkkerin varaamalle
  yleisrekisteriarvolle: linkitetty: 0x%lx%08lx != avarrettu: 0x%lx%08lx
 %s: Virheellinen sijoitustyyppi viety: %d%s: LOCAL-direktiivi: Rekisteri $%ld ei ole paikallinen rekisteri.  EnsimmÃ¤inen yleisrekisteri on $%ld.%s: VÃ¤Ã¤rÃ¤n muotoinen reloc-tietue havaittu lohkolle %s%s: Ei kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintÃ¤ symbolin varaamiseksi %d tavua pitkÃ¤nÃ¤
 %s: Ei kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintÃ¤ lohkonimen %s varaamiseen
-%s: TLS-mÃ¤Ã¤rittely kohteessa %B lohko %A ei tÃ¤smÃ¤Ã¤ ei-TLS-mÃ¤Ã¤rittelyn kanssa kohteessa %B lohko %A%s: TLS-mÃ¤Ã¤rittely kohteessa %B lohko %A ei tÃ¤smÃ¤Ã¤ ei-TLS-viitteen kanssa kohteessa %B%s: TLS-viite kohteessa %B ei tÃ¤smÃ¤Ã¤ ei-TLS-mÃ¤Ã¤rittelyn kanssa kohteessa %B lohko %A%s: TLS-viite kohteessa %B ei tÃ¤smÃ¤Ã¤ ei-TLS-viitteen kanssa kohteessa %B%s: â€�SisÃ¤ltÃ¶luettelo-relocâ€�-tietue osoitteessa 0x%x symboliin â€�%sâ€� ilman sisÃ¤ltÃ¶luettelotulokohtaa%s: Kohteen (%s) sijoitus %s on vÃ¤Ã¤rÃ¤ssÃ¤ lohkossa (%s)%s: XCOFF jaettu objekti kun ei tuoteta XCOFF-tulostetta%s: â€�__gpâ€� ei kata â€�shortâ€�-datasegmenttiÃ¤%s: pÃ¤Ã¤sy lomitetun lohkon (%ld) lopun yli%s: osoite 0x%s lukualueen ulkopuolella Intel-heksatiedostolle%s: â€�base-plus-offsetâ€�-sijoitus rekisterisymbolia varten: %s kohteessa %s%s: â€�base-plus-offsetâ€�-sijoitus rekisterisymbolia varten: (tuntematon) kohteessa %s%s: ei voi edustaa lohkoa â€™%sâ€™ â€�a.outâ€�-objektitiedostomuodossa%s: ei voi edustaa lohkoa â€�%sâ€� oasys-lohkossa%s: ei voi edustaa lohkoa symbolille â€™%sâ€™ â€�a.outâ€�-objektitiedostomuodossa%s: ei voi varata tiedostonimeÃ¤ tiedostonumerolle %d, %d tavua
+%s: TLS-mÃ¤Ã¤rittely kohteessa %B lohko %A ei tÃ¤smÃ¤Ã¤ ei-TLS-mÃ¤Ã¤rittelyn kanssa kohteessa %B lohko %A%s: TLS-mÃ¤Ã¤rittely kohteessa %B lohko %A ei tÃ¤smÃ¤Ã¤ ei-TLS-viitteen kanssa kohteessa %B%s: TLS-viite kohteessa %B ei tÃ¤smÃ¤Ã¤ ei-TLS-mÃ¤Ã¤rittelyn kanssa kohteessa %B lohko %A%s: TLS-viite kohteessa %B ei tÃ¤smÃ¤Ã¤ ei-TLS-viitteen kanssa kohteessa %B%s: â€�SisÃ¤ltÃ¶luettelo-relocâ€�-tietue osoitteessa 0x%x symboliin â€�%sâ€� ilman sisÃ¤ltÃ¶luettelotulokohtaa%s: Kohteen (%s) sijoitus %s on vÃ¤Ã¤rÃ¤ssÃ¤ lohkossa (%s)%s: Tukematon siirto kohteesta %s kohteeseen %s%s: XCOFF jaettu objekti kun ei tuoteta XCOFF-tulostetta%s: â€�__gpâ€� ei kata â€�shortâ€�-datasegmenttiÃ¤%s: pÃ¤Ã¤sy lomitetun lohkon (%ld) lopun yli%s: osoite 0x%s lukualueen ulkopuolella Intel-heksatiedostolle%s: â€�base-plus-offsetâ€�-sijoitus kÃ¤yttÃ¤en rekisterisymbolia: %s kohteessa %s%s: â€�base-plus-offsetâ€�-sijoitus kÃ¤yttÃ¤en rekisterisymbolia: (tuntematon) kohteessa %s%s: ei voi edustaa lohkoa â€™%sâ€™ â€�a.outâ€�-objektitiedostomuodossa%s: ei voi edustaa lohkoa â€�%sâ€� oasys-lohkossa%s: ei voi edustaa lohkoa symbolille â€™%sâ€™ â€�a.outâ€�-objektitiedostomuodossa%s: ei voi varata tiedostonimeÃ¤ tiedostonumerolle %d, %d tavua
 %s: ei voi luoda stub-tulokohtaa %s%s: ei voi linkittÃ¤Ã¤ fdpic-rekisteriÃ¤ kÃ¤yttÃ¤vÃ¤Ã¤ objektitiedostoa suoritettavaan tiedostoon, joka ei kÃ¤ytÃ¤ fdpic-rekisteriÃ¤%s: ei voi linkittÃ¤Ã¤ objektitiedostoa ilman fdpic-rekisteriÃ¤ suoritettavaan tiedostoon, joka kÃ¤yttÃ¤Ã¤ fdpic-rekisteriÃ¤%s: kÃ¤Ã¤nnetty 32-bittisenÃ¤ objektina ja %s on 64-bittinen%s: kÃ¤Ã¤nnetty 64-bittisenÃ¤ objektina ja %s on 32-bittinen%s: kÃ¤Ã¤nnetty %s:n kanssa ja linkitetty moduleihin, jotka on kÃ¤Ã¤nnetty %s:n kanssa%s: kÃ¤Ã¤nnetty %s:n kanssa ja linkitetty paikkariippuvaisia koodisijoituksia kÃ¤yttÃ¤vien modulien kanssa%s: ei voitu kirjoittaa lisÃ¤ttyjÃ¤ â€�.crangesâ€�-tulokohtia kokonaisuudessaan%s: ei voitu kirjoittaa lajiteltuja â€�.crangesâ€�-tulokohtia kokonaisuudessaan%s: direktiivi LOCAL on oikea vain rekisterissÃ¤ tai absoluuttiarvona%s: dynaaminen objekti ilman â€�.loaderâ€�-lohkoa%s: kohdattiin datalabel-symboli syÃ¶tteessÃ¤%s: virhe: tasaamaton sijoitustyyppi %d kohteessa %08x reloc-tietue %08x
 %s: virheellinen lohkonimi â€�%sâ€�%s: sisÃ¤inen virhe, sisÃ¤isessÃ¤ rekisterilohkossa %s oli sisÃ¤ltÃ¶Ã¤
 %s: sisÃ¤inen virhe, symbolitaulu vaihtoi kokoa %d:sta sanasta %d sanaan
@@ -950,10 +979,10 @@ ppcboot-otsake:
 %s: virheellinen aloitusosoite alustetuille rekistereille pituudeltaan %ld: 0x%lx%08lx
 %s: virheellinen symbolitaulu: symbolin â€�%sâ€� kaksoiskappale
 %s: rivinumeroylivuoto: 0x%lx > 0xffff%s: ei alustettuja rekistereitÃ¤; lohkopituus 0
-%s: tuntematon symboli%s: ei toteutettu%s: ei tuettu%s: objektikoko ei tÃ¤smÃ¤Ã¤ kohteen %s objektikoon kanssa%s: rekisterisijoitus ei-rekisterisymbolia varten: %s kohteessa %s%s: rekisterisijoitus ei-rekisterisymbolia varten: (tuntematon) kohteessa %s%s: sijoitettava linkki kohteesta %s kohteeseen %s ei ole tuettu%s: â€�shortâ€�-datasegmentti ylivuotanut (0x%lx >= 0x400000)%s: merkkijono on liian pitkÃ¤ (%d merkkiÃ¤, maksimi 65535)%s: liian monia alustettuja rekistereitÃ¤; lohkopituus %ld
+%s: tuntematon symboli%s: ei toteutettu%s: ei tuettu%s: objektikoko ei tÃ¤smÃ¤Ã¤ kohteen %s objektikoon kanssa%s: rekisterisijoitus kÃ¤yttÃ¤en ei-rekisterisymbolia: %s kohteessa %s%s: rekisterisijoitus kÃ¤yttÃ¤en ei-rekisterisymbolia: (tuntematon) kohteessa %s%s: sijoitettava linkki kohteesta %s kohteeseen %s ei ole tuettu%s: â€�shortâ€�-datasegmentti ylivuotanut (0x%lx >= 0x400000)%s: merkkijono on liian pitkÃ¤ (%d merkkiÃ¤, maksimi 65535)%s: liian monia alustettuja rekistereitÃ¤; lohkopituus %ld
 %s: mÃ¤Ã¤rittelemÃ¤tÃ¶n versio: %s%s: tuntematon sijoitustyyppi %d%s: tunnistamaton symboli â€�%sâ€� liput 0x%x%s: ei-tuettu sijoitustyyppi 0x%02x%s: ei-tuettu leveÃ¤merkkisekvenssi 0x%02X 0x%02X symbolinimen jÃ¤lkeen alkaen arvolla â€�%sâ€�
-%s: kÃ¤yttÃ¤Ã¤ eri â€�e_flags (0x%lx)â€�-kenttiÃ¤ kuin edelliset modulit (0x%lx)%s: kÃ¤yttÃ¤Ã¤ erilaisia tuntemattomia â€�e_flags (0x%lx)â€�-kenttiÃ¤ kuin edelliset modulit (0x%lx)%s: versiolukumÃ¤Ã¤rÃ¤ (%ld) ei tÃ¤smÃ¤Ã¤ symbolilukumÃ¤Ã¤rÃ¤n (%ld) kanssa%s: varoitus ydintiedosto typistetty%s: varoitus: %s sijoitus symbolia â€�%sâ€� varten %s-lohkosta%s: varoitus: %s sijoitus kohteeseen 0x%x â€�%sâ€�-lohkosta%s: varoitus: %s: rivinumeroylivuoto: 0x%lx > 0xffff%s: varoitus: Yleissiirrostaulun %ld-yhteenlaskettava kohteelle â€�%sâ€� ei tÃ¤smÃ¤Ã¤ edellisen yleissiirrostaulun %ld-yhteenlaskettavan kanssa%s: varoitus: %d:n PLT-yhteenlaskettavaa kohteelle â€�%sâ€� lohkosta %s ei oteta huomioon%s: varoitus: virheellinen symboli-indeksi %ld relocs-tietueissa%s: varoitus: symbolitaulu liian laaja kohteelle mmo, laajempi kuin 65535 32-bittistÃ¤ sanaa: %d.  Vain â€�Mainâ€� lÃ¤hetetÃ¤Ã¤n.
-(bittisiirroksessa %u)
+%s: kÃ¤yttÃ¤Ã¤ eri â€�e_flags (0x%lx)â€�-kenttiÃ¤ kuin edelliset modulit (0x%lx)%s: kÃ¤yttÃ¤Ã¤ erilaisia tuntemattomia â€�e_flags (0x%lx)â€�-kenttiÃ¤ kuin edelliset modulit (0x%lx)%s: versiolukumÃ¤Ã¤rÃ¤ (%ld) ei tÃ¤smÃ¤Ã¤ symbolilukumÃ¤Ã¤rÃ¤n (%ld) kanssa%s: varoitus ydintiedosto typistetty%s: varoitus: %s sijoitus kÃ¤yttÃ¤en symbolia â€�%sâ€� %s-lohkosta%s: varoitus: %s sijoitus kohteeseen 0x%x â€�%sâ€�-lohkosta%s: varoitus: %s: rivinumeroylivuoto: 0x%lx > 0xffff%s: varoitus: Yleissiirrostaulun %ld-yhteenlaskettava kohteelle â€�%sâ€� ei tÃ¤smÃ¤Ã¤ edellisen yleissiirrostaulun %ld-yhteenlaskettavan kanssa%s: varoitus: %d:n PLT-yhteenlaskettavaa kohteelle â€�%sâ€� lohkosta %s ei oteta huomioon%s: varoitus: R_NDS32_25_ABS_RELA-kÃ¤sittely jaetussa objektissa epÃ¤onnistui.%s: varoitus: virheellinen symboli-indeksi %ld relocs-tietueissa%s: varoitus: symbolitaulu liian laaja kohteelle mmo, laajempi kuin 65535 32-bittistÃ¤ sanaa: %d.  Vain â€�Mainâ€� lÃ¤hetetÃ¤Ã¤n.
+%s: varoitus: tasaamaton small data-pÃ¤Ã¤sy. Kohde: {%d, %d, %d}, osoite = 0x%x, tasaus = 0x%x.(bittisiirroksessa %u)
 (kuvaaja)
 (ei arvoa)
 (ei kÃ¤ytÃ¶ssÃ¤)
@@ -963,11 +992,14 @@ ppcboot-otsake:
 )
 *** tarkista tÃ¤mÃ¤ sijoitus %s*kÃ¤sittelemÃ¤tÃ¶n*
 *kÃ¤sittelemÃ¤tÃ¶n* kohdetyyppi %u
-*tuntematon**tuntematon*     , alias: %u
+*tuntematon**tuntematon*     , 8-tavuinen datatasaus, Arvo: %#08lx
+, alias: %u
 , ext korjaussiirros: %u, no_opt psect -siirros: %u, alityyppi: %u (%s)
-, symbolivektori rva: â€�.gotâ€�-alilohko ei ole vÃ¤littÃ¶mÃ¤sti â€�.pltâ€�-lohkon jÃ¤lkeen32-bittinen double-liukuluku, 32-bittinen yleisosoitinsuhteellinen sijoitus tapahtuu ulkoiselle symbolille64 bittinen *kÃ¤sittelemÃ¤tÃ¶n*
+, symbolivektori rva: - %s on G10, %s ei oleâ€�.gotâ€�-alilohko ei ole vÃ¤littÃ¶mÃ¤sti â€�.pltâ€�-lohkon jÃ¤lkeen.rsrc-lohkon yhdistÃ¤misvirhe: hakemisto tÃ¤smÃ¤Ã¤ lehteen.rsrc-lohkon yhdistÃ¤misvirhe: eriÃ¤vÃ¤t hakemistoversiot
+.rsrc-lohkon yhdistÃ¤misvirhe: hakemistot eriÃ¤villÃ¤ ominaisuuksilla
+.rsrc-lohkon yhdistÃ¤misvirhe: lehden kaksoiskappale.rsrc-lohkon yhdistÃ¤misvirhe: lehden kaksoiskappale: %s.rsrc-lohkon yhdistÃ¤misvirhe: merkkijonoresurssin kaksoiskappale: %d.rsrc-lohkon yhdistÃ¤misvirhe: useita ei-oletus-manifest-tietoja32-bittinen double-liukuluku, 32-bittinen yleisosoitinsuhteellinen sijoitus tapahtuu ulkoiselle symbolille64 bittinen *kÃ¤sittelemÃ¤tÃ¶n*
 64-bittinen double-liukuluku, : %u.%u
-: m32r-kÃ¤skyt: m32r2-kÃ¤skyt: m32rx-kÃ¤skyt; kÃ¤Ã¤nnetty uudelleen -fPIC-parametrillÃ¤<Tunnistamaton lippubittijoukko><tuntematon>â€�@pltoff relocâ€�-tietue paikallista symbolia vartenArkistossa ei ole hakemistoa; lisÃ¤Ã¤ sellainen suorittamalla ranlibArkisto-objektitiedosto vÃ¤Ã¤rÃ¤ssÃ¤ muodossaYritys muuttaa â€�L32R/CALLXâ€�-kutsu â€�CALLâ€�-kutsuksi ei onnistunutYritettiin tehdÃ¤ sijoitettava linkki %s-syÃ¶tteellÃ¤ ja %s-tulosteellaPERUS_VEDOS      BFD %s suoritusehto epÃ¤onnistui %s:%dBFD %s sisÃ¤inen virhe, keskeytetÃ¤Ã¤n tiedostossa %s rivillÃ¤ %d
+: m32r-kÃ¤skyt: m32r2-kÃ¤skyt: m32rx-kÃ¤skyt: n1-kÃ¤skyt: n1h-kÃ¤skyt; kÃ¤Ã¤nnetty uudelleen -fPIC-parametrillÃ¤<Tunnistamaton lippubittijoukko><rikkinÃ¤inen merkkijonopituus: %#x><rikkinÃ¤inen merkkijonosiirros: %#lx><tuntematon>â€�@pltoff relocâ€�-tietue kÃ¤yttÃ¤en paikallista symboliaArkistossa ei ole hakemistoa; lisÃ¤Ã¤ sellainen suorittamalla ranlibArkisto-objektitiedosto vÃ¤Ã¤rÃ¤ssÃ¤ muodossaYritys muuttaa â€�L32R/CALLXâ€�-kutsu â€�CALLâ€�-kutsuksi ei onnistunutYritettiin tehdÃ¤ sijoitettava linkki %s-syÃ¶tteellÃ¤ ja %s-tulosteellaPERUS_VEDOS      BFD %s suoritusehto epÃ¤onnistui %s:%dBFD %s sisÃ¤inen virhe, keskeytetÃ¤Ã¤n tiedostossa %s rivillÃ¤ %d
 BFD %s sisÃ¤inen virhe, keskeytetÃ¤Ã¤n tiedostossa %s rivillÃ¤ %d funktiossa %s
 BFD-linkitysvirhe: haaralinja (PC rel16) lohkoon (%s) ei ole tuettuBFD-linkitysvirhe: hyppy (PC rel26) lohkoon (%s) ei ole tuettuVÃ¤Ã¤rÃ¤ arvoPerussijoitushakemisto [.reloc]Sidottu tuontihakemistoRajat:
 CLICLR ajoaikaotsakeKLUSTERIEN_LUKOT LASKURIT         PROSESSORI       CTL_AUGRB (lisÃ¤yssijoituskanta) %u
@@ -976,16 +1008,17 @@ ppcboot-otsake:
 CTL_STKDL (pinomÃ¤Ã¤ritelty paikka)
 CTL_STLOC (aseta paikka)
 Copyright-otsake
-DIV-kÃ¤yttÃ¶tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys kohteiden %B ja %B vÃ¤lillÃ¤DST__K_BEG_STMT_MODE ei ole toteutettuDST__K_END_STMT_MODE ei ole toteutettuDST__K_RESET_LINUM_INCR ei ole toteutettuDST__K_SET_LINUM_INCR ei ole toteutettuDST__K_SET_LINUM_INCR_W ei ole toteutettuDST__K_SET_PC ei ole toteutettuDST__K_SET_PC_L ei ole toteutettuDST__K_SET_PC_W ei ole toteutettuDST__K_SET_STMTNUM ei ole toteutettuVirheenetsintÃ¤hakemistoVianjÃ¤ljitysmodulitaulu:
+RikkinÃ¤inen .rsrc-lohko havaittu!
+DSO puuttuu komentoriviltÃ¤DST__K_BEG_STMT_MODE ei ole toteutettuDST__K_END_STMT_MODE ei ole toteutettuDST__K_RESET_LINUM_INCR ei ole toteutettuDST__K_SET_LINUM_INCR ei ole toteutettuDST__K_SET_LINUM_INCR_W ei ole toteutettuDST__K_SET_PC ei ole toteutettuDST__K_SET_PC_L ei ole toteutettuDST__K_SET_PC_W ei ole toteutettuDST__K_SET_STMTNUM ei ole toteutettuVirheenetsintÃ¤hakemistoVianjÃ¤ljitysmodulitaulu:
 VianjÃ¤ljityssymbolitaulu:
 ViivetuontihakemistoKÃ¤ytÃ¶stÃ¤ poistettu %s kutsuttu
 KÃ¤ytÃ¶stÃ¤ poistettu %s kutsuttiin tiedostossa %s rivillÃ¤ %d funktiossa %s
-KuvaushakemistoDwarf-virhe: VÃ¤Ã¤rÃ¤ lyhennenumero: %u.Dwarf-virhe: Ei lÃ¶ydy %s-lohkoa.Dwarf-virhe: Ei lÃ¶ytynyt lyhennenumeroa %u.Dwarf-virhe: Virheellinen toimintojen enimmÃ¤ismÃ¤Ã¤rÃ¤ per kÃ¤sky.Dwarf-virhe: Virheellinen tai kÃ¤sittelemÃ¤tÃ¶n FORM-arvo: %u.Dwarf-virhe: Siirrososoite (%lu) suurempi tai yhtÃ¤suuri kuin %s-koko (%lu).Dwarf-virhe: KÃ¤sittelemÃ¤tÃ¶n â€�.debug_lineâ€�-versio %d.Dwarf-virhe: lÃ¶ytyi osoitekoko â€™%uâ€™, tÃ¤mÃ¤ lukija ei voi kÃ¤sitellÃ¤ kokoja, jotka ovat suurempia kuin â€™%uâ€™.Dwarf-virhe: lÃ¶ytyi dwarf-versio â€™%uâ€™, tÃ¤mÃ¤ lukija kÃ¤sittelee vain version 2, 3 ja 4 tietoja.Dwarf-virhe: runneltu rivinumerolohko (virheellinen tiedostonumero).Dwarf-virhe: runneltu rivinumerolohko.EIHD: (koko: %u, nbr lohkoa: %u)
+KuvaushakemistoDwarf-virhe: VÃ¤Ã¤rÃ¤ lyhennenumero: %u.Dwarf-virhe: Ei lÃ¶ydy %s-lohkoa.Dwarf-virhe: Ei lÃ¶ytynyt lyhennenumeroa %u.Dwarf-virhe: Virheellinen toimintojen enimmÃ¤ismÃ¤Ã¤rÃ¤ per kÃ¤sky.Dwarf-virhe: Virheellinen tai kÃ¤sittelemÃ¤tÃ¶n FORM-arvo: %#x.Dwarf-virhe: Siirrososoite (%lu) suurempi tai yhtÃ¤suuri kuin %s-koko (%lu).Dwarf-virhe: Kohteen alt ref %u lukeminen epÃ¤onnistui.Dwarf-virhe: KÃ¤sittelemÃ¤tÃ¶n â€�.debug_lineâ€�-versio %d.Dwarf-virhe: lÃ¶ytyi osoitekoko â€™%uâ€™, tÃ¤mÃ¤ lukija ei voi kÃ¤sitellÃ¤ kokoja, jotka ovat suurempia kuin â€™%uâ€™.Dwarf-virhe: lÃ¶ytyi dwarf-versio â€™%uâ€™, tÃ¤mÃ¤ lukija kÃ¤sittelee vain version 2, 3 ja 4 tietoja.Dwarf-virhe: runneltu rivinumerolohko (virheellinen tiedostonumero).Dwarf-virhe: runneltu rivinumerolohko.EIHD: (koko: %u, nbr lohkoa: %u)
 Tulokohtasiirrososoite  = 0x%.8lx (%ld)
 Virhe luettaessa %s: %sVirhe: kohteessa %B on sekÃ¤ nykyisiÃ¤ ettÃ¤ perinne-Tag_MPextension_use-attribuuttejaKohdattiin virheitÃ¤ prosessoitaessa tiedostoa %sPoikkeushakemisto [.pdata]Vientihakemisto [.edata (tai missÃ¤ sen sitten lÃ¶ysimmekin)]Vientiliput 			%lx
 Viennin suhteellinen muuttujaosoiteEI ONNISTUTTU lÃ¶ytÃ¤mÃ¤Ã¤n edellistÃ¤ HI16 reloc-tietuettaTIEDOSTOT_TALTIOTTiedostomuoto ei ole yksiselitteinenTiedostomuotoa ei tunnistettuTiedosto vÃ¤Ã¤rÃ¤ssÃ¤ muodossaTiedosto on liian isoTiedosto typistettyLippukenttÃ¤             = 0x%.2x
 JatkolÃ¤hetyksen suhteellinen muuttujaosoiteGALAKSI          Yleisosoitinsuhteellista sijoitusta kÃ¤ytetty kun yleisosoitinta ei ole mÃ¤Ã¤riteltyYleisosoitinsuhteellinen sijoitus kun â€�_gpâ€� ei ole mÃ¤Ã¤riteltyGPDISP-sijoitus ei lÃ¶ytÃ¤nyt â€�ldahâ€�- ja â€�ldaâ€�-kÃ¤skyjÃ¤Yleinen symbolitaulu:
-IDC - Ident-johdonmukaisuustarkistus
+Tunniste: %#08lxIDC - Ident-johdonmukaisuustarkistus
 VEDOS_AKTIVOIJA  INPUT_SECTION_FLAGS ei ole tuettu.
 SIIRRÃ„NTÃ„        Vedosaktivointi:  (koko=%u)
 Vedosaktivaattorikorjaus: (major: %u, minor: %u)
@@ -995,8 +1028,9 @@ ppcboot-otsake:
 TuontiosoitetauluhakemistoTuontihakemisto [â€�.idataâ€�-osat]SisÃ¤inen yhteensopimattomuus: jÃ¤ljelle jÃ¤Ã¤vÃ¤ %u != maksimi %u.
   Ilmoita ohjelmistovioista (englanniksi) osoitteeseen http://sourceware.org/bugzilla/.Virheellinen TARGET2-sijoitustyyppi â€�%sâ€�.Virheellinen bfd-kohdeVirheellinen toimintavirheellinen lohkoindeksi kohteessa ETIRJALX word-tasaamattomaan osoitteeseenLOOGISET_NIMET   Kielisuorittimen nimi
 Pituus                  = 0x%.8lx (%ld)
-Lataa konfigurationhakemistoMUISTI_HALLINTA  MIPS16- ja microMIPS-funktiot eivÃ¤t voi kutsua toisiaanSEKALAISET       MONI_PROSESSOINTIMach-O otsake:
-Suurempi/Pienempi 			%d/%d
+Linkkeri: ex9-tiivistetauluvirheen alustus epÃ¤onnistui
+Linkkeri: virhe: ex9-sijoituksen korjaus epÃ¤onnistui
+Lataa konfigurationhakemistoMUISTI_HALLINTA  MIPS16- ja microMIPS-funktiot eivÃ¤t voi kutsua toisiaanSEKALAISET       MONI_PROSESSOINTISuurempi/Pienempi 			%d/%d
 Muodoltaan virheellinen arkistoVaadittu maksimipino on 0x%v
 MeP: kuinka tehdÃ¤ -kohteella %d on tyyppi %dMuisti loppunutModuliotsake
 VERKOT           NORMAALINimi 				Ei virhettÃ¤Ei enÃ¤Ã¤ arkistoituja tiedostojaEi symbolejaEi-edustava lohko tulosteessaEi tarpeeksi muistia sijoitusten lajittelemiseenNumero kohteessa:
@@ -1027,9 +1061,9 @@ ppcboot-otsake:
 Osio[%d] pituus      = 0x%.8lx (%ld)
 Osio[%d] sektori     = 0x%.8lx (%ld)
 Ilmoita tÃ¤stÃ¤ virheestÃ¤.
-R_BFIN_FUNCDESC viittaa dynaamiseen symboliin, jossa on ei-nolla-yhteenlaskettavaR_BFIN_FUNCDESC_VALUE viittaa dynaamiseen symboliin, jossa on ei-nolla-yhteenlaskettavaR_FRV_TLSMOFFLO ei sovelleta â€�setloâ€�- tai â€�setlosâ€�-kÃ¤skyyn
+RL78/G10 ABI-ristiriita: G10 ja ei-G10-objektien linkittÃ¤minen yhteen epÃ¤onnistuiR_BFIN_FUNCDESC viittaa dynaamiseen symboliin, jossa on ei-nolla-yhteenlaskettavaR_BFIN_FUNCDESC_VALUE viittaa dynaamiseen symboliin, jossa on ei-nolla-yhteenlaskettavaR_FRV_TLSMOFFLO ei sovelleta â€�setloâ€�- tai â€�setlosâ€�-kÃ¤skyyn
 Luetaan arkistotiedoston muokkausaikaleimaViite etÃ¤symboliin â€�%sâ€� vÃ¤Ã¤rÃ¤Ã¤ sijoitusta kÃ¤yttÃ¤en saattaa aiheuttaa virheellisen suorituksenRekisteriÃ¤ %%g%d kÃ¤ytetty yhteensopimattomasti: %s kohteessa %B, aikaisemmin %s kohteessa %BRekisterilohkossa on sisÃ¤ltÃ¶
-Sijoitus kohteelle non-REL psectPoistetaan kÃ¤yttÃ¤mÃ¤tÃ¶n lohko â€�%sâ€� tiedostossa â€�%Bâ€�VarattuResurssihakemisto [.rsrc]SDA-sijoitus kun â€�_SDA_BASE_â€� ei ole mÃ¤Ã¤riteltyTURVALLISUUS     SEC_RELOC ilman relocs-tietueita lohkossa %sSH-virhe: tuntematon sijoitustyyppi %dKUORI            SHRFXDSHRPICSPSC - Jaettu vedosohjelmalohkomÃ¤Ã¤rittely
+Sijoitus kohteelle non-REL psectPoistetaan kÃ¤yttÃ¤mÃ¤tÃ¶n lohko â€�%sâ€� tiedostossa â€�%Bâ€�VarattuResurssihakemisto [.rsrc]S12-osoite (%lx) ei ole jaetun RAM(0x2000-0x4000)-muistin sisÃ¤llÃ¤, siksi sinun on asetettava siirrososoite koodissasi manuaalisestiSDA-sijoitus kun â€�_SDA_BASE_â€� ei ole mÃ¤Ã¤riteltyTURVALLISUUS     SEC_RELOC ilman relocs-tietueita lohkossa %sSH-virhe: tuntematon sijoitustyyppi %dKUORI            SHRFXDSHRPICSPSC - Jaettu vedosohjelmalohkomÃ¤Ã¤rittely
 STABIILI         STA_CKARG (vertaa proseduuriargumenttia)
 STA_GBL (pino yleinen) %.*s
 STA_LI (pinoliteraali)
@@ -1072,28 +1106,27 @@ ppcboot-otsake:
 SYMG - Yleinen symbolimÃ¤Ã¤rittely
 SYMM - Yleinen symbolimÃ¤Ã¤rittely versiolla
 SYMV - Vektoroitu symbolimÃ¤Ã¤rittely
-SYSGEN           Lohkossa ei ole sisÃ¤ltÃ¶Ã¤TurvallisuushakemistoSegmentit ja lohkot:
-Kokovirhe lohkossa %sLÃ¤hdetiedostot-otsake
+SYSGEN           Lohkossa ei ole sisÃ¤ltÃ¶Ã¤TurvallisuushakemistoKokovirhe lohkossa %sLÃ¤hdetiedostot-otsake
 ErityishakemistoVÃ¤Ã¤rÃ¤ ALPHA_R_BSR reloc-tietuePinoanalyysi ei ota huomioon kutsua kohteesta %s kohteeseen %s
 Pinon ylivuoto (%d) kohteessa _bfd_vms_pushPinokoko kutsugraafijuurinodeille.
 Pinon ylivuoto kohteessa _bfd_vms_popAskeleet:
 Symbolia %s ei ole mÃ¤Ã¤ritelty korjauksia varten
-Symboli %s korvattu kohteella %s
 Symbolissa â€�%sâ€� on eri tyyppejÃ¤: %s kohteessa %B, aiemmin REGISTER kohteessa %BSymbolissa â€�%sâ€� on eri tyyppejÃ¤: REGISTER kohteessa %B, aiemmin %s kohteessa %BSymboli tarvitsee vianjÃ¤ljityslohkon, jota ei oleJÃ¤rjestelmÃ¤kutsuvirheTLS-siirros virheellinen ilman dynaamisia lohkojaSisÃ¤ltÃ¶luettelon ylivuoto: 0x%lx > 0x10000; yritÃ¤ â€�-mminimal-tocâ€� kÃ¤Ã¤nnettÃ¤essÃ¤Tauluosoitteet
 SÃ¤ievarastohakemisto [.tls]Aika/PÃ¤ivÃ¤mÃ¤Ã¤rÃ¤leima 		%lx
 Otsikkotekstiotsake
-USRSTACKEi lÃ¶ydy samanlaista tulostelohkoa symbolille â€�%sâ€� lohkosta â€�%sâ€�Odottamatonta STO_SH5_ISA32 paikallisessa symbolissa ei kÃ¤sitellÃ¤Odottamaton konenumeroKÃ¤sittelemÃ¤tÃ¶n OSF/1-kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintiedoston lohkotyyppi %d
+YritÃ¤ ottaa kÃ¤yttÃ¶Ã¶n avartaminen sijoituksen typistymisien vÃ¤lttÃ¤miseksiUSRSTACKEi lÃ¶ydy samanlaista tulostelohkoa symbolille â€�%sâ€� lohkosta â€�%sâ€�Kohteen %s (osoitteessa 0x%08x) tavoittaminen yleisosoittimesta epÃ¤onnistui (osoitteessa 0x%08x) koska siirrososoite (%d) on sallitun lukualueen -32678 ... 32767 ulkopuolella.
+Odottamatonta STO_SH5_ISA32 paikallisessa symbolissa ei kÃ¤sitellÃ¤Odottamaton konenumeroKÃ¤sittelemÃ¤tÃ¶n OSF/1-kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintiedoston lohkotyyppi %d
 KÃ¤sittelemÃ¤tÃ¶n sijoitus %sTuntematon EGSD-alityyppi %dTuntematon perustyyppi %dTuntematon reloc-tietue %sTuntematon reloc-tietue %s + %sTuntematon symboli komennossa %sTunnistamaton INPUT_SECTION_FLAG %s
 Tunnistamaton â€�TI COFFâ€�-kohdetunniste â€�0x%xâ€�Tunnistamaton reloc-tietueTunnistamaton reloc-tyyppi 0x%xâ€�Ei-tuettu .stabâ€�-sijoitusKATOAVA          Muuttuja â€�%sâ€� voi olla vain yhdessÃ¤ â€�smallâ€�-, â€�zeroâ€�- ja â€�tinyâ€�-data-alueistaMuuttuja â€�%sâ€� ei voi olla sekÃ¤ â€�smallâ€�- ettÃ¤ â€�tinyâ€�-data-alueissa samanaikaisestiMuuttuja â€�%sâ€� ei voi olla sekÃ¤ â€�smallâ€�- ettÃ¤ â€�zeroâ€�-data-alueissa samanaikaisestiMuuttuja â€�%sâ€� ei voi olla sekÃ¤ â€�zeroâ€�- ettÃ¤ â€�tinyâ€�-data-alueissa samanaikaisestiMuuttuja â€�%sâ€� ei voi sijaita useissa â€�smallâ€�-data-alueissaVaroitus,â€� .pdataâ€�-lohkokoko (%ld) ei ole %d:n monikerta
-Varoitus: %B ei tue yhteistoimivuutta vanhan koodin kanssa, kun taas %B tukeeVaroitus: %B typistettiin: odotettu kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintiedoston koko >= %lu, lÃ¶ytyi: %lu.Varoitus: %B tukee yhteistoimivuutta vanhan koodin kanssa, kun taas %B ei tueVaroitus: %B kÃ¤yttÃ¤Ã¤ â€�-mdouble-floatâ€�-valitsinta, %B kÃ¤yttÃ¤Ã¤ â€�-mips32r2 -mfp64â€�-valitsimiaVaroitus: %B kÃ¤yttÃ¤Ã¤ â€�-msingle-floatâ€�-valitsinta, %B kÃ¤yttÃ¤Ã¤ â€�-mdouble-floatâ€�-valitsintaVaroitus: %B kÃ¤yttÃ¤Ã¤ â€�-msingle-floatâ€�-valitsinta, %B kÃ¤yttÃ¤Ã¤ â€�-mips32r2 -mfp64â€�-valitsimiaVaroitus: %B kÃ¤yttÃ¤Ã¤ kaksoistarkkuuden laitteistoliukulukua, %B kÃ¤yttÃ¤Ã¤ yksittÃ¤istarkkuuden laitteistoliukulukuaVaroitus: %B kÃ¤yttÃ¤Ã¤ laitteistoliukulukua, %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukuaVaroitus: %B kÃ¤yttÃ¤Ã¤ r3/r4 pienille rakennepaluille, %B kÃ¤yttÃ¤Ã¤ muistiaVaroitus: %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukua, %B kÃ¤yttÃ¤Ã¤ yksittÃ¤istarkkuuden laitteistoliukulukuaVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %dVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta pientÃ¤ rakennepaluusopimusta  %dVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta vektori-ABI:a %dVaroitus: %B kÃ¤yttÃ¤Ã¤ vektori-ABI:a â€�%sâ€�, %B kÃ¤yttÃ¤Ã¤ â€�%sâ€�Varoitus: %B: Ristiriitainen kÃ¤yttÃ¶jÃ¤rjestemÃ¤konfiguraatioVaroitus: %B: Tuntematon EABI-objektiattribuutti %dVaroitus: Nollataan %B:n vanhan koodin kanssa toimimisen yhteistoimivuuslippu, koska se on linkitetty ei-yhteistoimivuuskoodiin %B:ssaVaroitus: %B:n yhteistoimivuuslipun nollaus johtuu ulkopuolisesta pyynnÃ¶stÃ¤Varoitus: Ei aseteta %B:n lippua yhteistoimivuudesta vanhan koodin kanssa koska se on jo mÃ¤Ã¤ritelty ei-yhteistoimivuuskohteenaVaroitus: RX_SYM-reloc tuntemattomalla symbolillaVaroitus: Kirjoitetaan lohko â€�%sâ€� valtavaan (ts. negatiiviseen) tiedostosiirrososoitteeseen 0x%lx.Varoitus: tasaus %u yhteissymbolissa â€�%sâ€� kohteessa %B on suurempi kuin tasaus (%u) sen lohkossa %AVaroitus: tasaus %u symbolissa â€�%sâ€� kohteessa %B on pienempi kuin %u kohteessa %BVaroitus: korjauslukumÃ¤Ã¤rÃ¤n tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys
+Varoitus: %B ei tue yhteistoimivuutta vanhan koodin kanssa, kun taas %B tukeeVaroitus: %B typistettiin: odotettu kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintiedoston koko >= %lu, lÃ¶ytyi: %lu.Varoitus: %B tukee yhteistoimivuutta vanhan koodin kanssa, kun taas %B ei tueVaroitus: %B kÃ¤yttÃ¤Ã¤ %s (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ %sVaroitus: %B kÃ¤yttÃ¤Ã¤ %s (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ tuntematonta MSA ABI:a %dVaroitus: %B kÃ¤yttÃ¤Ã¤ %s (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %dVaroitus: %B kÃ¤yttÃ¤Ã¤ kaksoistarkkuuden laitteistoliukulukua, %B kÃ¤yttÃ¤Ã¤ yksittÃ¤istarkkuuden laitteistoliukulukuaVaroitus: %B kÃ¤yttÃ¤Ã¤ laitteistoliukulukua, %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukuaVaroitus: %B kÃ¤yttÃ¤Ã¤ r3/r4 pienille rakennepaluille, %B kÃ¤yttÃ¤Ã¤ muistiaVaroitus: %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukua, %B kÃ¤yttÃ¤Ã¤ yksittÃ¤istarkkuuden laitteistoliukulukuaVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta MSA ABI:a %d (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ %sVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta MSA ABI:a %d (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ tuntematonta MSA ABI:a %dVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %dVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %d (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ %sVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %d (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %dVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta pientÃ¤ rakennepaluusopimusta  %dVaroitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta vektori-ABI:a %dVaroitus: %B kÃ¤yttÃ¤Ã¤ vektori-ABI:a â€�%sâ€�, %B kÃ¤yttÃ¤Ã¤ â€�%sâ€�Varoitus: %B: Ristiriitainen kÃ¤yttÃ¶jÃ¤rjestemÃ¤konfiguraatioVaroitus: %B: Tuntematon EABI-objektiattribuutti %dVaroitus: %B: Tuntematon MSPABI-objektiattribuutti %dVaroitus: Nollataan %B:n vanhan koodin kanssa toimimisen yhteistoimivuuslippu, koska se on linkitetty ei-yhteistoimivuuskoodiin %B:ssaVaroitus: %B:n yhteistoimivuuslipun nollaus johtuu ulkopuolisesta pyynnÃ¶stÃ¤Varoitus: Ei aseteta %B:n lippua yhteistoimivuudesta vanhan koodin kanssa koska se on jo mÃ¤Ã¤ritelty ei-yhteistoimivuuskohteenaVaroitus: RL78_SYM-reloc tuntemattomalla symbolillaVaroitus: RX_SYM-reloc tuntemattomalla symbolillaVaroitus: Kirjoitetaan lohko â€�%sâ€� valtavaan (ts. negatiiviseen) tiedostosiirrososoitteeseen 0x%lx.Varoitus: tasaus %u yhteissymbolissa â€�%sâ€� kohteessa %B on suurempi kuin tasaus (%u) sen lohkossa %AVaroitus: tasaus %u symbolissa â€�%sâ€� kohteessa %B on pienempi kuin %u kohteessa %BVaroitus: korjauslukumÃ¤Ã¤rÃ¤n tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys
 Varoitus: â€�gc-sectionsâ€�-valitsinta ei oteta huomioonVaroitus: symbolin â€�%sâ€� koko vaihtui koosta %lu kohteessa %B kokoon %lu kohteessa %BVaroitus: symbolityyppi â€�%sâ€� vaihtui tyypistÃ¤ %d tyyppiin %d kohteessa %BVaroitus: arkiston kirjoitus oli hidasta: aikaleiman uudelleenkirjoitus
-Kirjoitetaan pÃ¤ivitetty â€�armapâ€�-aikaleima[%u]: %u
+Kirjoitetaan pÃ¤ivitetty â€�armapâ€�-aikaleimaXGATE-osoite (%lx) ei ole jaetun RAM(0xE000-0xFFFF)-muistin sisÃ¤llÃ¤, siksi sinun on asetettava siirrososoite manuaalisesti, ja mahdollisesti hallittava sivu koodissasi.[%u]: %u
 [%u]: Alempi: %u, ylempi: %u
 [abi=16-bittinen kokonaisluku, [abi=32-bittinen kokonaisluku, [jonka nimi on kadonnut]\%B: Varoitus: â€�Arm BLXâ€�-kÃ¤skykohteet Arm-funktiossa â€�%sâ€�._bfd_vms_output_counted kutsuttu liian monilla tavuilla_bfd_vms_output_counted kutsuttu nollatavuillaosoiteosoite ei ole word-tasattuarsize: %u, a0: 0x%08x
 virheellinen lohkoindeksi kohteessa %smuistilohkottu osoite [%lx:%04lx] (%lx) ei ole samassa muistilohkossa kuin nykyinen muistilohkottu osoite [%lx:%04lx] (%lx)kanta: %u, paikka: %u
-bfd_mach_o_canonicalize_symtab: ei kyetÃ¤ lataamaan symbolejabfd_mach_o_read_dysymtab_symbol: ei kyetÃ¤ lukemaan %lu tavua osoitteesta %lubfd_mach_o_read_symtab_symbol: nimi lukualueen ulkopuolella (%lu >= %lu)bfd_mach_o_read_symtab_symbol: symboli â€�%sâ€� on tukematon â€™epÃ¤suoraâ€™ viite: asetus on mÃ¤Ã¤rittelemÃ¤tÃ¶nbfd_mach_o_read_symtab_symbol: symboli â€�%sâ€� mÃ¤Ã¤ritellyt virheellisen lohkon %d (enintÃ¤Ã¤n %lu): asetus on mÃ¤Ã¤rittelemÃ¤tÃ¶nbfd_mach_o_read_symtab_symbol: symboli â€�%sâ€� mÃ¤Ã¤ritellyt virheellisen tyyppikentÃ¤n 0x%x: asetus on mÃ¤Ã¤rittelemÃ¤tÃ¶nbfd_mach_o_read_symtab_symbol: ei kyetÃ¤ lukemaan %d tavua osoitteesta %lubfd_mach_o_read_symtab_symbols: ei kyetÃ¤ varaamaan muistia symboleillebfd_mach_o_scan: tuntematon arkkitehtuuri 0x%lx/0x%lxbfd_pef_scan: tuntematon arkkitehtuuri 0x%lxblkbeg-alku: osoite: 0x%08x, nimi: %.*s
+bfd_mach_o_canonicalize_symtab: ei kyetÃ¤ lataamaan symbolejabfd_mach_o_read_symtab_symbol: nimi lukualueen ulkopuolella (%lu >= %lu)bfd_mach_o_read_symtab_symbol: symboli â€�%sâ€� mÃ¤Ã¤ritellyt virheellisen lohkon %d (enintÃ¤Ã¤n %lu): asetus on mÃ¤Ã¤rittelemÃ¤tÃ¶nbfd_mach_o_read_symtab_symbol: symboli â€�%sâ€� mÃ¤Ã¤ritellyt virheellisen tyyppikentÃ¤n 0x%x: asetus on mÃ¤Ã¤rittelemÃ¤tÃ¶nbfd_mach_o_read_symtab_symbol: ei kyetÃ¤ lukemaan %d tavua osoitteesta %lubfd_mach_o_read_symtab_symbols: ei kyetÃ¤ varaamaan muistia symboleillebfd_mach_o_scan: tuntematon arkkitehtuuri 0x%lx/0x%lxbfd_pef_scan: tuntematon arkkitehtuuri 0x%lxblkbeg-alku: osoite: 0x%08x, nimi: %.*s
 blkend-loppu: koko: 0x%08x
-ei voi lÃ¤hettÃ¤Ã¤ dynaamisia sijoituksia kirjoitussuojattussa lohkossaei voi lÃ¤hettÃ¤Ã¤ korjauksia kirjoitussuojattuun lohkoonei voi lÃ¶ytÃ¤Ã¤ kohdetta EMH ensimmÃ¤isessÃ¤ GST-tietueessa
+ei voi lÃ¤hettÃ¤Ã¤ dynaamisia sijoituksia kirjoitussuojatussa lohkossaei voi lÃ¤hettÃ¤Ã¤ korjauksia kirjoitussuojattuun lohkoonei voi lÃ¶ytÃ¤Ã¤ kohdetta EMH ensimmÃ¤isessÃ¤ GST-tietueessa
 ei voi kÃ¤sitellÃ¤ â€�R_MEM_INDIRECT relocâ€�-tietuetta kun kÃ¤ytetÃ¤Ã¤n %s tulostettaei voida lukea kohdetta DMT
 ei voida lukea DMT-otsaketta
 ei voida lukea kohdetta DMT psect
@@ -1112,7 +1145,7 @@ ppcboot-otsake:
 ei voida lukea GST-tietueotsaketta
 ei voida lukea GST-tietuepituutta
 luokka: %u, dtype: %u, pituus: %u, osoitin: 0x%08x
-rikkinÃ¤inen %s-lohko kohteessa %Bei voitu paikallistaa erityistÃ¤ linkkerisymbolia â€�__ctbpâ€�ei voitu paikallistaa erityistÃ¤ linkkerisymbolia â€�__epâ€�ei voitu paikallistaa erityistÃ¤ linkkerisymbolia â€�__gpâ€�ei voitu avata jaettua vedosta '%s' kohteesta '%s'prosessori=HC11]prosessori=HC12]prosessori=HCS12]vaarallinen sijoitusdelta pc +%-4ddelta_pc_l: +0x%08x
+rikkinÃ¤inen %s-lohko kohteessa %Bei voitu paikallistaa erityistÃ¤ linkkerisymbolia â€�__ctbpâ€�ei voitu paikallistaa erityistÃ¤ linkkerisymbolia â€�__epâ€�ei voitu paikallistaa erityistÃ¤ linkkerisymbolia â€�__gpâ€�ei voitu avata jaettua vedosta '%s' kohteesta '%s'prosessori=HC11]prosessori=HC12]prosessori=HCS12]cpu=XGATE]vaarallinen sijoitusdelta pc +%-4ddelta_pc_l: +0x%08x
 delta_pc_w %u
 kuvausdimct: %u, a-liput: 0x%02x, numerot: %u, skaala: %u
 hylÃ¤tty tulostelohko: â€�%Aâ€�ei-yhtenÃ¤inen lukualue (numero: %u)
@@ -1120,11 +1153,12 @@ ppcboot-otsake:
 enumelt, nimi: %.*s
 enumend-loppu
 epilog: liput: %u, lukumÃ¤Ã¤rÃ¤: %u
-virhe: %B sisÃ¤ltÃ¤Ã¤ reloc-tietueen (0x%s) lohkolle %A, joka viittaa puuttuvaan yleissymboliinvirhe: %B ei kÃ¤ytÃ¤ Maverick-kÃ¤skyjÃ¤, kun taas %B kÃ¤yttÃ¤Ã¤virhe: %B on jo lopullisessa BE8-muodossavirhe: %B kÃ¤Ã¤nnetÃ¤Ã¤n absoluuttisella paikkakoodilla, kun taas kohde %B on paikkariippumatonvirhe: %B kÃ¤Ã¤nnetÃ¤Ã¤n paikkariippumattomana koodina, kun taas kohde %B on absoluuttipaikkainenvirhe: %B on kÃ¤Ã¤nnetty APCS-%d:lle, kun taas %B on kÃ¤Ã¤nnetty APCS-%d:llevirhe: %B on kÃ¤Ã¤nnetty APCS-%d:lle, kun taas kohde %B kÃ¤yttÃ¤Ã¤ APCS-%d:tavirhe: %B on kÃ¤Ã¤nnetty EP9312:lle, kun taas %B on kÃ¤Ã¤nnetty XScalellevirhe: %B vÃ¤littÃ¤Ã¤ float-liukuluvut liukulukurekistereissa, kun taas %B vÃ¤littÃ¤Ã¤ ne kokonaislukurekistereissavirhe: %B vÃ¤littÃ¤Ã¤ float-liukuluvut kokonaislukurekistereissa, kun taas %B vÃ¤littÃ¤Ã¤ ne float-liukulukurekistereissavirhe: %B vaatii enemmÃ¤n taulukkotasausta kuin %B sÃ¤ilyttÃ¤Ã¤virhe: %B vaatii enemmÃ¤n pinotasausta kuin %B sÃ¤ilyttÃ¤Ã¤virhe: %B kÃ¤yttÃ¤Ã¤ liukulukukiihdytinkÃ¤skyjÃ¤, kun taas %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ Maverick-kÃ¤skyjÃ¤, kun taas %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ vektoriliukulukukÃ¤skyjÃ¤, kun taas %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ VFP-rekisteriargumentteja, %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ laitteistoliukulukuja, kun taas %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukujavirhe: %B kÃ¤yttÃ¤Ã¤ iWMMXt-rekisteriargumentteja, %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukuja, kun taas %B kÃ¤yttÃ¤Ã¤ laitteistoliukulukujavirhe: %B: Ristiriitaisia prosessoriarkkitehtuureja %d/%dvirhe: %B: Ristiriitaisia arkkitehtuuriprofiileja %c/%cvirhe: %B: Ristiriitainen R9:n kÃ¤yttÃ¶virhe: %B: Objektilla on toimittajakohtainen sisÃ¤ltÃ¶, joka on kÃ¤siteltÃ¤vÃ¤ â€™%sâ€™-tyÃ¶kaluketjullavirhe: %B: Objektitunniste â€™%d, %sâ€™ ei ole yhteensopiva tunnisteen â€™%d, %sâ€™ kanssavirhe: %B: SB-suhteellinen osoitteitus on ristiriidassa R9:n kÃ¤ytÃ¶n kanssavirhe: %B: Tuntematon prosessoriarkkitehtuurivirhe: %B: lohkon %A koko ei ole osoitekoon kerrannainenvirhe: %B: ei kyetÃ¤ yhdistÃ¤mÃ¤Ã¤n virtualisointiattribuutteja kohteen %B kanssavirhe: LÃ¤hdeobjektissa %B on EABI-versio %d, mutta kohteessa %B on EABI-versio %dvirhe: fp16-muototÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys kohteiden %B ja %B vÃ¤lillÃ¤virhe: sopimaton sijoitustyyppi jaetulle kirjastolle (unohtuiko -fpic?)virhe: mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli â€�__rtinitâ€�virhe: tuntematon Tag_ABI_array_object_align_expected-arvo kohteessa %Bvirhe: tuntematon Tag_ABI_array_object_alignment-arvo kohteessa %Bsuoritettava tiedostoei onnistuttu varaamaan muistitilaa uudelle APUinfo-lohkolle.ei onnistuttu laskemaan uutta APUinfo-lohkoaei onnistuttu asentamaan uutta APUinfo-lohkoavakava virhe kun luodaan .fixupgeneerinen linkkeri ei voi kÃ¤sitellÃ¤ kohdetta %syleisosoittimen suhteellinen osoite lukualueen ulkopuolellayleisosoitinsuhteellinen sijoitus kun â€�_gpâ€� ei ole mÃ¤Ã¤riteltypiilotettu symboliei oteta huomioon reloc-tietuetta %s
+virhe luettaessa prosessorityyppiÃ¤ elf private-datastavirhe: %B sisÃ¤ltÃ¤Ã¤ reloc-tietueen (0x%s) lohkolle %A, joka viittaa puuttuvaan yleissymboliinvirhe: %B ei kÃ¤ytÃ¤ Maverick-kÃ¤skyjÃ¤, kun taas %B kÃ¤yttÃ¤Ã¤virhe: %B on jo lopullisessa BE8-muodossavirhe: %B kÃ¤Ã¤nnetÃ¤Ã¤n absoluuttisella paikkakoodilla, kun taas kohde %B on paikkariippumatonvirhe: %B kÃ¤Ã¤nnetÃ¤Ã¤n paikkariippumattomana koodina, kun taas kohde %B on absoluuttipaikkainenvirhe: %B on kÃ¤Ã¤nnetty APCS-%d:lle, kun taas %B on kÃ¤Ã¤nnetty APCS-%d:llevirhe: %B on kÃ¤Ã¤nnetty APCS-%d:lle, kun taas kohde %B kÃ¤yttÃ¤Ã¤ APCS-%d:tavirhe: %B on kÃ¤Ã¤nnetty EP9312:lle, kun taas %B on kÃ¤Ã¤nnetty XScalellevirhe: %B vÃ¤littÃ¤Ã¤ float-liukuluvut liukulukurekistereissa, kun taas %B vÃ¤littÃ¤Ã¤ ne kokonaislukurekistereissavirhe: %B vÃ¤littÃ¤Ã¤ float-liukuluvut kokonaislukurekistereissa, kun taas %B vÃ¤littÃ¤Ã¤ ne float-liukulukurekistereissavirhe: %B vaatii enemmÃ¤n taulukkotasausta kuin %B sÃ¤ilyttÃ¤Ã¤virhe: %B vaatii enemmÃ¤n pinotasausta kuin %B sÃ¤ilyttÃ¤Ã¤virhe: %B kÃ¤yttÃ¤Ã¤ %s-kÃ¤skyjÃ¤, mutta %B kÃ¤yttÃ¤Ã¤ %svirhe: %B kÃ¤yttÃ¤Ã¤ liukulukukiihdytinkÃ¤skyjÃ¤, kun taas %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ Maverick-kÃ¤skyjÃ¤, kun taas %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ vektoriliukulukukÃ¤skyjÃ¤, kun taas %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ VFP-rekisteriargumentteja, %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ laitteistoliukulukuja, kun taas %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukujavirhe: %B kÃ¤yttÃ¤Ã¤ iWMMXt-rekisteriargumentteja, %B ei kÃ¤ytÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukuja, kun taas %B kÃ¤yttÃ¤Ã¤ laitteistoliukulukujavirhe: %B kÃ¤yttÃ¤Ã¤ %s-koodimallia, kun taas %B kÃ¤yttÃ¤Ã¤ %s-koodimalliavirhe: %B kÃ¤yttÃ¤Ã¤ %s-datamallia, mutta %B kÃ¤yttÃ¤Ã¤ vain MSP430-kÃ¤skyjÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ %s-datamallia, kun taas %B kÃ¤yttÃ¤Ã¤ %s-datamalliavirhe: %B kÃ¤yttÃ¤Ã¤ laajaa koodimallia, mutta %B kÃ¤yttÃ¤Ã¤ MSP430-kÃ¤skyjÃ¤virhe: %B kÃ¤yttÃ¤Ã¤ pientÃ¤ koodimallia, mutta %B kÃ¤yttÃ¤Ã¤ %s-datamalliavirhe: %B: Ristiriitaisia prosessoriarkkitehtuureja %d/%dvirhe: %B: Ristiriitaisia arkkitehtuuriprofiileja %c/%cvirhe: %B: Ristiriitainen R9:n kÃ¤yttÃ¶virhe: %B: Objektilla on toimittajakohtainen sisÃ¤ltÃ¶, joka on kÃ¤siteltÃ¤vÃ¤ â€™%sâ€™-tyÃ¶kaluketjullavirhe: %B: Objektitunniste â€™%d, %sâ€™ ei ole yhteensopiva tunnisteen â€™%d, %sâ€™ kanssavirhe: %B: SB-suhteellinen osoitteitus on ristiriidassa R9:n kÃ¤ytÃ¶n kanssavirhe: %B: Tuntematon prosessoriarkkitehtuurivirhe: %B: lohkon %A koko ei ole osoitekoon kerrannainenvirhe: %B: ei kyetÃ¤ yhdistÃ¤mÃ¤Ã¤n virtualisointiattribuutteja kohteen %B kanssavirhe: Symbolia ei lÃ¶ytynyt: _SDA_BASE_.â€�virhe: LÃ¤hdeobjektissa %B on EABI-versio %d, mutta kohteessa %B on EABI-versio %dvirhe: fp16-muototÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys kohteiden %B ja %B vÃ¤lillÃ¤virhe: sopimaton sijoitustyyppi jaetulle kirjastolle (unohtuiko -fpic?)virhe: vaadittua lohkoa â€™%sâ€™ ei lÃ¶ytynyt linkkeriskriptistÃ¤virhe: mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli â€�__rtinitâ€�virhe: tuntematon Tag_ABI_array_object_align_expected-arvo kohteessa %Bvirhe: tuntematon Tag_ABI_array_object_alignment-arvo kohteessa %Bsuoritettava tiedostoei onnistuttu varaamaan muistitilaa uudelle APUinfo-lohkolle.ei onnistuttu laskemaan uutta APUinfo-lohkoaei onnistuttu asentamaan uutta APUinfo-lohkoavakava virhe kun luodaan .fixupgeneerinen linkkeri ei voi kÃ¤sitellÃ¤ kohdetta %syleisosoittimen suhteellinen osoite lukualueen ulkopuolellayleisosoitinsuhteellinen sijoitus osoitteessa 0x%08x kun _gp ei ole mÃ¤Ã¤ritelty
+yleisosoitinsuhteellinen sijoitus kun â€�_gpâ€� ei ole mÃ¤Ã¤riteltypiilotettu symboliei oteta huomioon reloc-tietuetta %s
 incr_linum(b): +%u
 incr_linum_l: +%u
 incr_linum_w: +%u
-sisÃ¤inen virhe: yhteenlaskettavan pitÃ¤isi olla nolla kohteelle R_LM32_16_GOTsisÃ¤inen virhe: vaarallinen virhesisÃ¤inen virhe: vaarallinen sijoitussisÃ¤inen virhe: â€�lukualueen ulkopuolellaâ€�-virhesisÃ¤inen virhe: epÃ¤ilyttÃ¤vÃ¤Ã¤ sijoitustyyppiÃ¤ kÃ¤ytetÃ¤Ã¤n jaetussa kirjastossasisÃ¤inen virhe: tuntematon virhesisÃ¤inen virhe: ei-tuettu sijoitusvirhesisÃ¤inen epÃ¤johdonmukaisuus â€�.got.locâ€�-alilohkokoossasisÃ¤inen symbolivirheellinen syÃ¶tesijoitus kun tuotetaan ei-ELF, ei-mmo-muotoinen tuloste.
+sisÃ¤inen virhe: yhteenlaskettavan pitÃ¤isi olla nolla kohteelle R_LM32_16_GOTsisÃ¤inen virhe: havaittu haarautuma/hyppy parittomaansisÃ¤inen virhe: vaarallinen virhesisÃ¤inen virhe: vaarallinen sijoitussisÃ¤inen virhe: â€�lukualueen ulkopuolellaâ€�-virhesisÃ¤inen virhe: epÃ¤ilyttÃ¤vÃ¤Ã¤ sijoitustyyppiÃ¤ kÃ¤ytetÃ¤Ã¤n jaetussa kirjastossasisÃ¤inen virhe: tuntematon virhesisÃ¤inen virhe: ei-tuettu sijoitusvirhesisÃ¤inen epÃ¤johdonmukaisuus â€�.got.locâ€�-alilohkokoossasisÃ¤inen symbolivirheellinen syÃ¶tesijoitus kun tuotetaan ei-ELF, ei-mmo-muotoinen tuloste.
  KÃ¤ytÃ¤ objcopy-ohjelmaa muuntamiseen ELF:stÃ¤ tai mmo:sta,
  tai assembloi kÃ¤yttÃ¤en "-no-expand" (gcc-kÃ¤Ã¤ntÃ¤jÃ¤lle, "-Wa,-no-expand"virheellinen syÃ¶tesijoitus kun tuotetaan ei-ELF, ei-mmo-muotoinen tuloste.
  KÃ¤ytÃ¤ objcopy-ohjelmaa muuntamiseen ELF:stÃ¤ tai mmo:sta,
@@ -1134,16 +1168,18 @@ ppcboot-otsake:
   sisÃ¤ltÃ¶luettelosÃ¤Ã¤tÃ¶       %lu
   pitkÃ¤ haarautuminen        %lu
   pitkÃ¤ sisÃ¤ltÃ¶luettelosÃ¤Ã¤tÃ¶ %lu
-  plt-kutsu                  %luliteraaliliteraali sijoitus tapahtuu ulkoiselle symbolillemep: ei reloc-tietuetta koodille %dmodbeg-alku
+  plt-kutsu                  %lu
+  plt-kutsusisÃ¤ltÃ¶luettelo   %luliteraaliliteraali sijoitus tapahtuu ulkoiselle symbolillemach-o: liian monta lohkoa (%d) maksimi on 255,
+mep: ei reloc-tietuetta koodille %dmodbeg-alku
 modend-loppu
-kotoperÃ¤inenei-yhtenÃ¤inen %s-taulukko
+nimi: [arvo: %08lx pituus %d]: kotoperÃ¤inenei-yhtenÃ¤inen %s-taulukko
 ei-dynaaminen sijoitus viittaa dynaamiseen symboliin %sei-pÃ¤Ã¤llyksen koko 0x%v plus pÃ¤Ã¤llyksen maksimikoko 0x%v ylittÃ¤vÃ¤t paikallisen varaston
 ei-nolla-yhteenlaskettava â€�@fptr relocâ€�-tietueessaei tarpeeksi yleissiirrostaulutilaa paikallisille yleissiirrostaulutulokohdilleei kuvausta: data=%lx kuvattu=%d
 ei kuvausta: ympÃ¤ristÃ¶muuttuja ei ole asetettu
-huomatus: â€™%sâ€™ on mÃ¤Ã¤ritelty kohteessa DSO %B, joten yritÃ¤ lisÃ¤tÃ¤ se linkkittÃ¤jÃ¤n komentorivillelukualueen ulkopuolellaylivuoto avartamisen jÃ¤lkeenpÃ¤Ã¤llys-stub-sijoitusylivuotoyksityiset liput = %lxyksityiset liput = %lx:yksityiset liput = %lx: yksityiset liput = %x:yksityiset liput = 0x%lxyksityiset liput = 0x%lx:prolog: bkpt-osoite 0x%08x
+lukualueen ulkopuolellaylivuoto avartamisen jÃ¤lkeenpÃ¤Ã¤llys-stub-sijoitusylivuotoyksityiset liput = %lxyksityiset liput = %lx:yksityiset liput = %lx: yksityiset liput = %x:yksityiset liput = 0x%lxyksityiset liput = 0x%lx:prolog: bkpt-osoite 0x%08x
 suojattu symbolirecbeg-alku: nimi: %.*s
 recend-loppu
-viite muistilohkottuun osoitteeseen [%lx:%04lx] tavallisessa osoitetilassa osoitteessa %04lxrekisterisijoitusta â€�%sâ€� ei ole vielÃ¤ toteutettusijoitusviitteet-symboli ei ole mÃ¤Ã¤ritelty modulissasijoitus vaatii nolla-yhteenlaskettavansijoituksen pitÃ¤isi olla parillinen numerosijoituksia eri segmenttien vÃ¤lillÃ¤ ei tuetaavataan uudelleen %B: %s
+viite muistilohkottuun osoitteeseen [%lx:%04lx] tavallisessa osoitetilassa osoitteessa %04lxrekisterisijoitusta â€�%sâ€� ei ole vielÃ¤ toteutettusijoitus lukualueen ulkopuolellasijoitusviitteet-symboli ei ole mÃ¤Ã¤ritelty modulissasijoitus vaatii nolla-yhteenlaskettavansijoituksen pitÃ¤isi olla parillinen numerosijoituksia eri segmenttien vÃ¤lillÃ¤ ei tuetaavataan uudelleen %B: %s
 varattu komento %drtnbeg-alku
 rtnend-loppu: koko 0x%08x
 septyp, nimi: %.*s
@@ -1152,14 +1188,14 @@ ppcboot-otsake:
 set_line_num_b %u
 set_line_num_l %u
 â€�smallâ€�-datalohko ylittÃ¤Ã¤ 64 kilotavua; alenna â€�smallâ€�-datalohkon kokorajaa (katso valitsin -G)som_sizeof_headers ei ole toteutettuei tukea objektitiedostojen kaksoiskappaleille automaattisessa pÃ¤Ã¤llysskriptissÃ¤
-lÃ¤hde (pituus: %u)
+valitettavasti modtab, toc ja extrefsyms ei ole vielÃ¤ toteutettu dysymtab-komennoille.lÃ¤hde (pituus: %u)
 vakiotiedot: %s
 staattinen proseduuri (ei nimeÃ¤)stub-tulokohta kohteelle %s ei voi ladata â€�.pltâ€�, dp-siirrososoite = %ldstubit ei tÃ¤smÃ¤Ã¤ lasketun koon kanssasymbolijÃ¤rjestelmÃ¤version taulukkotiedot:
 term(b): 0x%02xterm_w: 0x%04xtypspec (pituus: %u)
-ei lÃ¶ydy ARM-vihjettÃ¤ â€�%sâ€� kohteelle â€�%sâ€�ei lÃ¶ydy THUMB-vihjettÃ¤ â€�%sâ€� kohteelle â€�%sâ€�ei voi lukea %s-lohkoon kohteesta %Bei kyetÃ¤ lukemaan tuntematonta lataa-kÃ¤skyÃ¤ 0x%lxei kyetÃ¤ kirjoittamaan tuntematonta lataa-komentoa 0x%lxtasaamaton %s-bittimerkkijono
+ei lÃ¶ydy ARM-vihjettÃ¤ â€�%sâ€� kohteelle â€�%sâ€�ei lÃ¶ydy THUMB-vihjettÃ¤ â€�%sâ€� kohteelle â€�%sâ€�ei voi lukea %s-lohkoon kohteesta %Bei kyetÃ¤ kirjoittamaan tuntematonta lataa-komentoa 0x%lxtasaamaton %s-bittimerkkijono
 epÃ¤varma kutsukÃ¤ytÃ¤ntÃ¶ ei-COFF-symbolillemÃ¤Ã¤rittelemÃ¤tÃ¶n %s-viite kompleksisymbolissa: %skÃ¤sittelemÃ¤tÃ¶n egsd-tulokohtatyyppi %u
 kÃ¤sittelemÃ¤tÃ¶n emh-alityyppi %u
-tuntematontuntematon ETIR-komento %dtuntematon virhetuntematon otsaketavujÃ¤rjestysarvo 0x%lxtuntematon rivikomento %dtuntematon operaattori â€�%câ€� kompleksisymbolissatuntematon lÃ¤hdekomento %dei-tuettu STA-komento %sei-tuettu reloc-tietueei-tuettu reloc-tyyppiei-tuettu sijoitusei-tuettu sijoitus data/kÃ¤skyosoitetilojen vÃ¤lillÃ¤kÃ¤ytetÃ¤Ã¤n useita yleisosoitinarvojav850-arkkitehtuuriv850e-arkkitehtuuriv850e1-arkkitehtuuriv850e2-arkkitehtuuriv850e2v3-arkkitehtuuriv-liput: 0x%02x, arvo: 0x%08x vma:			Alkuosoite	 Loppuosoite	  Unwind-tiedot
+tuntematontuntematon ETIR-komento %dtuntematon virhetuntematon otsaketavujÃ¤rjestysarvo 0x%lxtuntematon rivikomento %dtuntematon operaattori â€�%câ€� kompleksisymbolissatuntematon lÃ¤hdekomento %dtuntematon v850-arkkitehtuuriei-tuettu STA-komento %sei-tuettu reloc-tietueei-tuettu reloc-tyyppiei-tuettu sijoitusei-tuettu sijoitus data/kÃ¤skyosoitetilojen vÃ¤lillÃ¤kÃ¤ytetÃ¤Ã¤n useita yleisosoitinarvojav850 E3-arkkitehtuuriv850-arkkitehtuuriv850e-arkkitehtuuriv850e1-arkkitehtuuriv850e2-arkkitehtuuriv850e2v3-arkkitehtuuriv850e3v5-arkkitehtuuriv-liput: 0x%02x, arvo: 0x%08x vma:			Alkuosoite	 Loppuosoite	  Unwind-tiedot
 varoitus: %B ja %B eroavat wchar_t size-koossavaroitus: %B ja %B eroavat siinÃ¤, ettÃ¤ koodi on kÃ¤Ã¤nnetty kohteelle DSBTvaroitus: %B kÃ¤yttÃ¤Ã¤ %s enums-alkioita vaikka tuloste kÃ¤yttÃ¤Ã¤ %s enums-alkioita; enum-arvojen kÃ¤yttÃ¶ objekteissa saattaa olla virheellinenvaroitus: %B kÃ¤yttÃ¤Ã¤ %u-tavuista wchar_t-merkkiÃ¤ vaikka tuloste kÃ¤yttÃ¤Ã¤ %u-tavuista wchar_t-merkkiÃ¤; wchart_t-kÃ¤yttÃ¶arvot objekteissa saattavat olla virheellisiÃ¤varoitus: %B: paikallisessa symbolissa â€�%sâ€� ei ole lohkoavaroitus: %s ylittÃ¤Ã¤ lohkokoon
 varoitus: %s:ssa on rikkinÃ¤inen merkkijonotauluindeksi - ei oteta huomioonvaroitus: %s menee pÃ¤Ã¤llekkÃ¤in %s:n kanssa
 varoitus: %s-lohkossa on nollakokovaroitus: â€�.pdataâ€�-lohkokoko (%ld) ei ole %d:n monikerta
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/po/fi.po ./bfd/po/fi.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/po/fi.po	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/po/fi.po	2015-01-20 02:05:36.000000000 +0000
@@ -1,14 +1,14 @@
 # Finnish messages for bfd.
-# Copyright Â© 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Copyright Â© 2007, 2009, 2010, 2011, 2012, 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2007, 2009-2012.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2007, 2009-2012, 2014.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bfd 2.22.90\n"
+"Project-Id-Version: bfd 2.24.90\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2011-10-25 11:58+0100\n"
-"PO-Revision-Date: 2012-07-28 23:26+0200\n"
+"POT-Creation-Date: 2014-02-10 09:42+1030\n"
+"PO-Revision-Date: 2014-11-03 01:40+0200\n"
 "Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "Language: fi\n"
@@ -22,16 +22,16 @@ msgstr ""
 msgid "%B: Unknown section type in a.out.adobe file: %x\n"
 msgstr "%B: Tuntematon lohkotyyppi â€�a.out.adobeâ€�-tiedostossa: %x\n"
 
-#: aout-cris.c:199
+#: aout-cris.c:200
 #, c-format
 msgid "%s: Invalid relocation type exported: %d"
 msgstr "%s: Virheellinen sijoitustyyppi viety: %d"
 
-#: aout-cris.c:242
+#: aout-cris.c:243
 msgid "%B: Invalid relocation type imported: %d"
 msgstr "%B: Virheellinen sijoitustyyppi tuotu: %d"
 
-#: aout-cris.c:253
+#: aout-cris.c:254
 msgid "%B: Bad relocation record imported: %d"
 msgstr "%B: VÃ¤Ã¤rÃ¤ sijoitustietue tuotu: %d"
 
@@ -45,7 +45,7 @@ msgstr "%s: ei voi edustaa lohkoa â€™%sâ
 msgid "%s: can not represent section for symbol `%s' in a.out object file format"
 msgstr "%s: ei voi edustaa lohkoa symbolille â€™%sâ€™ â€�a.outâ€�-objektitiedostomuodossa"
 
-#: aoutx.h:1579 vms-alpha.c:7671
+#: aoutx.h:1579 vms-alpha.c:7564
 msgid "*unknown*"
 msgstr "*tuntematon*"
 
@@ -58,120 +58,124 @@ msgstr "%P: %B: odottamaton sijoitustyyp
 msgid "%s: relocatable link from %s to %s not supported"
 msgstr "%s: sijoitettava linkki kohteesta %s kohteeseen %s ei ole tuettu"
 
-#: archive.c:2203
+#: archive.c:2249
 msgid "Warning: writing archive was slow: rewriting timestamp\n"
 msgstr "Varoitus: arkiston kirjoitus oli hidasta: aikaleiman uudelleenkirjoitus\n"
 
-#: archive.c:2491
+#: archive.c:2549
 msgid "Reading archive file mod timestamp"
 msgstr "Luetaan arkistotiedoston muokkausaikaleima"
 
 #  Intel coff armap
-#: archive.c:2515
+#: archive.c:2573
 msgid "Writing updated armap timestamp"
 msgstr "Kirjoitetaan pÃ¤ivitetty â€�armapâ€�-aikaleima"
 
-#: bfd.c:398
+#: bfd.c:411
 msgid "No error"
 msgstr "Ei virhettÃ¤"
 
-#: bfd.c:399
+#: bfd.c:412
 msgid "System call error"
 msgstr "JÃ¤rjestelmÃ¤kutsuvirhe"
 
-#: bfd.c:400
+#: bfd.c:413
 msgid "Invalid bfd target"
 msgstr "Virheellinen bfd-kohde"
 
-#: bfd.c:401
+#: bfd.c:414
 msgid "File in wrong format"
 msgstr "Tiedosto vÃ¤Ã¤rÃ¤ssÃ¤ muodossa"
 
-#: bfd.c:402
+#: bfd.c:415
 msgid "Archive object file in wrong format"
 msgstr "Arkisto-objektitiedosto vÃ¤Ã¤rÃ¤ssÃ¤ muodossa"
 
-#: bfd.c:403
+#: bfd.c:416
 msgid "Invalid operation"
 msgstr "Virheellinen toiminta"
 
-#: bfd.c:404
+#: bfd.c:417
 msgid "Memory exhausted"
 msgstr "Muisti loppunut"
 
-#: bfd.c:405
+#: bfd.c:418
 msgid "No symbols"
 msgstr "Ei symboleja"
 
-#: bfd.c:406
+#: bfd.c:419
 msgid "Archive has no index; run ranlib to add one"
 msgstr "Arkistossa ei ole hakemistoa; lisÃ¤Ã¤ sellainen suorittamalla ranlib"
 
-#: bfd.c:407
+#: bfd.c:420
 msgid "No more archived files"
 msgstr "Ei enÃ¤Ã¤ arkistoituja tiedostoja"
 
-#: bfd.c:408
+#: bfd.c:421
 msgid "Malformed archive"
 msgstr "Muodoltaan virheellinen arkisto"
 
-#: bfd.c:409
+#: bfd.c:422
+msgid "DSO missing from command line"
+msgstr "DSO puuttuu komentoriviltÃ¤"
+
+#: bfd.c:423
 msgid "File format not recognized"
 msgstr "Tiedostomuotoa ei tunnistettu"
 
-#: bfd.c:410
+#: bfd.c:424
 msgid "File format is ambiguous"
 msgstr "Tiedostomuoto ei ole yksiselitteinen"
 
-#: bfd.c:411
+#: bfd.c:425
 msgid "Section has no contents"
 msgstr "Lohkossa ei ole sisÃ¤ltÃ¶Ã¤"
 
-#: bfd.c:412
+#: bfd.c:426
 msgid "Nonrepresentable section on output"
 msgstr "Ei-edustava lohko tulosteessa"
 
-#: bfd.c:413
+#: bfd.c:427
 msgid "Symbol needs debug section which does not exist"
 msgstr "Symboli tarvitsee vianjÃ¤ljityslohkon, jota ei ole"
 
-#: bfd.c:414
+#: bfd.c:428
 msgid "Bad value"
 msgstr "VÃ¤Ã¤rÃ¤ arvo"
 
-#: bfd.c:415
+#: bfd.c:429
 msgid "File truncated"
 msgstr "Tiedosto typistetty"
 
-#: bfd.c:416
+#: bfd.c:430
 msgid "File too big"
 msgstr "Tiedosto on liian iso"
 
-#: bfd.c:417
+#: bfd.c:431
 #, c-format
 msgid "Error reading %s: %s"
 msgstr "Virhe luettaessa %s: %s"
 
-#: bfd.c:418
+#: bfd.c:432
 msgid "#<Invalid error code>"
 msgstr "#<Virheellinen virhekoodi>"
 
-#: bfd.c:945
+#: bfd.c:1046
 #, c-format
 msgid "BFD %s assertion fail %s:%d"
 msgstr "BFD %s suoritusehto epÃ¤onnistui %s:%d"
 
-#: bfd.c:957
+#: bfd.c:1058
 #, c-format
 msgid "BFD %s internal error, aborting at %s line %d in %s\n"
 msgstr "BFD %s sisÃ¤inen virhe, keskeytetÃ¤Ã¤n tiedostossa %s rivillÃ¤ %d funktiossa %s\n"
 
-#: bfd.c:961
+#: bfd.c:1062
 #, c-format
 msgid "BFD %s internal error, aborting at %s line %d\n"
 msgstr "BFD %s sisÃ¤inen virhe, keskeytetÃ¤Ã¤n tiedostossa %s rivillÃ¤ %d\n"
 
-#: bfd.c:963
+#: bfd.c:1064
 msgid "Please report this bug.\n"
 msgstr "Ilmoita tÃ¤stÃ¤ virheestÃ¤.\n"
 
@@ -191,17 +195,17 @@ msgstr "ei kuvausta: ympÃ¤ristÃ¶muuttuja
 msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
 msgstr "Varoitus: Kirjoitetaan lohko â€�%sâ€� valtavaan (ts. negatiiviseen) tiedostosiirrososoitteeseen 0x%lx."
 
-#: bout.c:1146 elf-m10300.c:2063 elf32-avr.c:1654 elf32-frv.c:5734
-#: elfxx-sparc.c:2802 reloc.c:6115 reloc16.c:162 elf32-ia64.c:360
-#: elf64-ia64.c:360
+#: bout.c:1146 elf-m10300.c:2665 elf32-avr.c:1706 elf32-frv.c:5641
+#: elf64-ia64-vms.c:354 elfxx-sparc.c:2869 reloc.c:7324 reloc16.c:160
+#: elf32-ia64.c:351 elf64-ia64.c:351
 msgid "%P%F: --relax and -r may not be used together\n"
 msgstr "%P%F: valitsimia --relax ja -r ei saa kÃ¤yttÃ¤Ã¤ yhdessÃ¤\n"
 
-#: cache.c:227
+#: cache.c:253
 msgid "reopening %B: %s\n"
 msgstr "avataan uudelleen %B: %s\n"
 
-#: coff-alpha.c:491
+#: coff-alpha.c:452
 msgid ""
 "%B: Cannot handle compressed Alpha binaries.\n"
 "   Use compiler flags, or objZ, to generate uncompressed binaries."
@@ -209,42 +213,42 @@ msgstr ""
 "%B: Ei voi kÃ¤sitellÃ¤ tiivistettyjÃ¤ Alpha-binaareja.\n"
 "   KÃ¤ytÃ¤ kÃ¤Ã¤ntÃ¤jÃ¤lippuja, tai objZ:aa, tiivistÃ¤mÃ¤ttÃ¶mien binaarien tuottamiseksi."
 
-#: coff-alpha.c:648
+#: coff-alpha.c:603
 msgid "%B: unknown/unsupported relocation type %d"
 msgstr "%B: tuntematon/ei-tuettu sijoitustyyppi %d"
 
-#: coff-alpha.c:900 coff-alpha.c:937 coff-alpha.c:2025 coff-mips.c:1003
+#: coff-alpha.c:852 coff-alpha.c:889 coff-alpha.c:1973 coff-mips.c:946
 msgid "GP relative relocation used when GP not defined"
 msgstr "Yleisosoitinsuhteellista sijoitusta kÃ¤ytetty kun yleisosoitinta ei ole mÃ¤Ã¤ritelty"
 
-#: coff-alpha.c:1502
+#: coff-alpha.c:1450
 msgid "using multiple gp values"
 msgstr "kÃ¤ytetÃ¤Ã¤n useita yleisosoitinarvoja"
 
-#: coff-alpha.c:1561
+#: coff-alpha.c:1509
 msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
 msgstr "%B: ei-tuettu sijoitus: ALPHA_R_GPRELHIGH"
 
-#: coff-alpha.c:1568
+#: coff-alpha.c:1516
 msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
 msgstr "%B: ei-tuettu sijoitus: ALPHA_R_GPRELLOW"
 
-#: coff-alpha.c:1575 elf32-m32r.c:2484 elf64-alpha.c:4074 elf64-alpha.c:4224
-#: elf32-ia64.c:3839 elf64-ia64.c:3839
+#: coff-alpha.c:1523 elf32-m32r.c:2443 elf64-alpha.c:4083 elf64-alpha.c:4233
+#: elf64-ia64-vms.c:3429 elf32-ia64.c:3836 elf64-ia64.c:3836
 msgid "%B: unknown relocation type %d"
 msgstr "%B: tuntematon sijoitustyyppi %d"
 
-#: coff-arm.c:1038
+#: coff-arm.c:1034
 #, c-format
 msgid "%B: unable to find THUMB glue '%s' for `%s'"
 msgstr "%B: ei lÃ¶ydetty THUMB-vihjettÃ¤ â€�%sâ€� nimelle â€�%sâ€�"
 
-#: coff-arm.c:1067
+#: coff-arm.c:1063
 #, c-format
 msgid "%B: unable to find ARM glue '%s' for `%s'"
 msgstr "%B: ei lÃ¶ydetty ARM-vihjettÃ¤ â€�%sâ€� nimelle â€�%sâ€�"
 
-#: coff-arm.c:1369 elf32-arm.c:7023
+#: coff-arm.c:1365 elf32-arm.c:7141
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -253,7 +257,7 @@ msgstr ""
 "%B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.\n"
 "  ensimmÃ¤inen esiintymÃ¤: %B: â€�armâ€�-kutsu thumb-koodiin"
 
-#: coff-arm.c:1459
+#: coff-arm.c:1455
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -264,100 +268,100 @@ msgstr ""
 "  ensimmÃ¤inen esiintymÃ¤: %B: thumb-kutsu arm-koodiin\n"
 "  harkitse uudelleenlinkitystÃ¤ --support-old-code aktivoituna"
 
-#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3081
+#: coff-arm.c:1750 coff-tic80.c:673 cofflink.c:3168
 msgid "%B: bad reloc address 0x%lx in section `%A'"
 msgstr "%B: virheellinen reloc-tietueosoite 0x%lx lohkossa â€�%Aâ€�"
 
-#: coff-arm.c:2079
+#: coff-arm.c:2075
 msgid "%B: illegal symbol index in reloc: %d"
 msgstr "%B: virheellinen symboli-indeksi reloc-tietueessa: %d"
 
-#: coff-arm.c:2210
+#: coff-arm.c:2206
 #, c-format
 msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
 msgstr "virhe: %B on kÃ¤Ã¤nnetty APCS-%d:lle, kun taas %B on kÃ¤Ã¤nnetty APCS-%d:lle"
 
-#: coff-arm.c:2226 elf32-arm.c:15621
+#: coff-arm.c:2222 elf32-arm.c:16123
 #, c-format
 msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
 msgstr "virhe: %B vÃ¤littÃ¤Ã¤ float-liukuluvut liukulukurekistereissa, kun taas %B vÃ¤littÃ¤Ã¤ ne kokonaislukurekistereissa"
 
-#: coff-arm.c:2229 elf32-arm.c:15625
+#: coff-arm.c:2225 elf32-arm.c:16127
 #, c-format
 msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
 msgstr "virhe: %B vÃ¤littÃ¤Ã¤ float-liukuluvut kokonaislukurekistereissa, kun taas %B vÃ¤littÃ¤Ã¤ ne float-liukulukurekistereissa"
 
-#: coff-arm.c:2243
+#: coff-arm.c:2239
 #, c-format
 msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
 msgstr "virhe: %B kÃ¤Ã¤nnetÃ¤Ã¤n paikkariippumattomana koodina, kun taas kohde %B on absoluuttipaikkainen"
 
-#: coff-arm.c:2246
+#: coff-arm.c:2242
 #, c-format
 msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
 msgstr "virhe: %B kÃ¤Ã¤nnetÃ¤Ã¤n absoluuttisella paikkakoodilla, kun taas kohde %B on paikkariippumaton"
 
-#: coff-arm.c:2274 elf32-arm.c:15690
+#: coff-arm.c:2270 elf32-arm.c:16192
 #, c-format
 msgid "Warning: %B supports interworking, whereas %B does not"
 msgstr "Varoitus: %B tukee yhteistoimivuutta vanhan koodin kanssa, kun taas %B ei tue"
 
-#: coff-arm.c:2277 elf32-arm.c:15696
+#: coff-arm.c:2273 elf32-arm.c:16198
 #, c-format
 msgid "Warning: %B does not support interworking, whereas %B does"
 msgstr "Varoitus: %B ei tue yhteistoimivuutta vanhan koodin kanssa, kun taas %B tukee"
 
-#: coff-arm.c:2301
+#: coff-arm.c:2297
 #, c-format
 msgid "private flags = %x:"
 msgstr "yksityiset liput = %x:"
 
-#: coff-arm.c:2309 elf32-arm.c:11806
+#: coff-arm.c:2305 elf32-arm.c:12119
 #, c-format
 msgid " [floats passed in float registers]"
 msgstr " [liukuluvut vÃ¤litetty liukulukurekistereissÃ¤]"
 
-#: coff-arm.c:2311
+#: coff-arm.c:2307
 #, c-format
 msgid " [floats passed in integer registers]"
 msgstr " [liukuluvut vÃ¤litetty kokonaislukurekistereissÃ¤]"
 
-#: coff-arm.c:2314 elf32-arm.c:11809
+#: coff-arm.c:2310 elf32-arm.c:12122
 #, c-format
 msgid " [position independent]"
 msgstr " [paikkariippumaton]"
 
-#: coff-arm.c:2316
+#: coff-arm.c:2312
 #, c-format
 msgid " [absolute position]"
 msgstr " [absoluuttinen paikka]"
 
-#: coff-arm.c:2320
+#: coff-arm.c:2316
 #, c-format
 msgid " [interworking flag not initialised]"
 msgstr " [vanhan koodin kanssa toimimisen yhteistoimivuulippua ei ole alustettu]"
 
-#: coff-arm.c:2322
+#: coff-arm.c:2318
 #, c-format
 msgid " [interworking supported]"
 msgstr " [yhteistoimivuutta vanhan koodin kanssa tuettu]"
 
-#: coff-arm.c:2324
+#: coff-arm.c:2320
 #, c-format
 msgid " [interworking not supported]"
 msgstr " [yhteistoimivuutta vanhan koodin kanssa ei tueta]"
 
-#: coff-arm.c:2370 elf32-arm.c:10841
+#: coff-arm.c:2366 elf32-arm.c:11104
 #, c-format
 msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
 msgstr "Varoitus: Ei aseteta %B:n lippua yhteistoimivuudesta vanhan koodin kanssa koska se on jo mÃ¤Ã¤ritelty ei-yhteistoimivuuskohteena"
 
-#: coff-arm.c:2374 elf32-arm.c:10845
+#: coff-arm.c:2370 elf32-arm.c:11108
 #, c-format
 msgid "Warning: Clearing the interworking flag of %B due to outside request"
 msgstr "Varoitus: %B:n yhteistoimivuuslipun nollaus johtuu ulkopuolisesta pyynnÃ¶stÃ¤"
 
-#: coff-h8300.c:1122
+#: coff-h8300.c:1096
 #, c-format
 msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
 msgstr "ei voi kÃ¤sitellÃ¤ â€�R_MEM_INDIRECT relocâ€�-tietuetta kun kÃ¤ytetÃ¤Ã¤n %s tulostetta"
@@ -367,57 +371,57 @@ msgstr "ei voi kÃ¤sitellÃ¤ â€�R_MEM_INDI
 msgid "relocation `%s' not yet implemented"
 msgstr "sijoitusta â€�%sâ€� ei ole vielÃ¤ toteutettu"
 
-#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5198
+#: coff-i860.c:605 coff-tic54x.c:365 coffcode.h:5209
 msgid "%B: warning: illegal symbol index %ld in relocs"
 msgstr "%B: varoitus: virheellinen symboli-indeksi %ld relocs-tietueissa"
 
-#: coff-i960.c:144 coff-i960.c:507
+#: coff-i960.c:124 coff-i960.c:480
 msgid "uncertain calling convention for non-COFF symbol"
 msgstr "epÃ¤varma kutsukÃ¤ytÃ¤ntÃ¶ ei-COFF-symbolille"
 
-#: coff-m68k.c:506 elf32-bfin.c:5690 elf32-cr16.c:2897 elf32-m68k.c:4677
+#: coff-m68k.c:484 elf32-bfin.c:5556 elf32-cr16.c:2853 elf32-m68k.c:4632
 msgid "unsupported reloc type"
 msgstr "ei-tuettu reloc-tyyppi"
 
-#: coff-mips.c:688 elf32-mips.c:1516 elf32-score.c:431 elf32-score7.c:330
-#: elf64-mips.c:2618 elfn32-mips.c:2431
+#: coff-mips.c:636 elf32-mips.c:1637 elf32-score.c:431 elf32-score7.c:330
+#: elf64-mips.c:2925 elfn32-mips.c:2737
 msgid "GP relative relocation when _gp not defined"
 msgstr "Yleisosoitinsuhteellinen sijoitus kun â€�_gpâ€� ei ole mÃ¤Ã¤ritelty"
 
-#: coff-or32.c:229
+#: coff-or32.c:216
 msgid "Unrecognized reloc"
 msgstr "Tunnistamaton reloc-tietue"
 
-#: coff-rs6000.c:2720
+#: coff-rs6000.c:2802
 #, c-format
 msgid "%s: unsupported relocation type 0x%02x"
 msgstr "%s: ei-tuettu sijoitustyyppi 0x%02x"
 
-#: coff-rs6000.c:2805
+#: coff-rs6000.c:2887
 #, c-format
 msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
 msgstr "%s: â€�SisÃ¤ltÃ¶luettelo-relocâ€�-tietue osoitteessa 0x%x symboliin â€�%sâ€� ilman sisÃ¤ltÃ¶luettelotulokohtaa"
 
-#: coff-rs6000.c:3556 coff64-rs6000.c:2111
+#: coff-rs6000.c:3638 coff64-rs6000.c:2117
 msgid "%B: symbol `%s' has unrecognized smclas %d"
 msgstr "%B: symbolissa â€�%sâ€� on tunnistamaton â€�smclasâ€�-arvo %d"
 
-#: coff-sh.c:521
+#: coff-sh.c:506
 #, c-format
 msgid "SH Error: unknown reloc type %d"
 msgstr "SH-virhe: tuntematon sijoitustyyppi %d"
 
-#: coff-tic4x.c:195 coff-tic54x.c:299 coff-tic80.c:458
+#: coff-tic4x.c:184 coff-tic54x.c:279 coff-tic80.c:440
 #, c-format
 msgid "Unrecognized reloc type 0x%x"
 msgstr "Tunnistamaton reloc-tyyppi 0x%x"
 
-#: coff-tic4x.c:240
+#: coff-tic4x.c:227
 #, c-format
 msgid "%s: warning: illegal symbol index %ld in relocs"
 msgstr "%s: varoitus: virheellinen symboli-indeksi %ld relocs-tietueissa"
 
-#: coff-w65.c:367
+#: coff-w65.c:355
 #, c-format
 msgid "ignoring reloc %s\n"
 msgstr "ei oteta huomioon reloc-tietuetta %s\n"
@@ -427,161 +431,174 @@ msgstr "ei oteta huomioon reloc-tietuett
 #  C++ ABI-ryhmÃ¤ on pyrkinyt ratkaisemaan tÃ¤mÃ¤n pulman sallimalla kÃ¤Ã¤ntÃ¤jÃ¤n lÃ¤hettÃ¤Ã¤ vaaditut
 #  tiedot useisiin kÃ¤Ã¤nnÃ¶syksikÃ¶ihin, mikÃ¤ sallii linkkerin poistaa kaikki muuta paitsi yhden
 #  kopion. TÃ¤tÃ¤ ominaisuutta kutsutaan useissa olemassa olevissa toteutuksissa nimellÃ¤ COMDAT.
-#: coffcode.h:997
+#: coffcode.h:1005
 msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
 msgstr "%B: varoitus: COMDAT-symboli â€�%sâ€� ei tÃ¤smÃ¤Ã¤ lohkonimen â€�%sâ€� kanssa"
 
 #. Generate a warning message rather using the 'unhandled'
 #. variable as this will allow some .sys files generate by
 #. other toolchains to be processed.  See bugzilla issue 196.
-#: coffcode.h:1221
+#: coffcode.h:1230
 msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
 msgstr "%B: Varoitus: Ei oteta huomioon lohkolippua IMAGE_SCN_MEM_NOT_PAGED lohkossa %s"
 
-#: coffcode.h:1288
+#: coffcode.h:1297
 msgid "%B (%s): Section flag %s (0x%x) ignored"
 msgstr "%B (%s): Lohkolippua %s (0x%x) ei oteta huomioon"
 
 #  TI tarkoittaa luultavasti Texas Instruments
-#: coffcode.h:2430
+#: coffcode.h:2439
 #, c-format
 msgid "Unrecognized TI COFF target id '0x%x'"
 msgstr "Tunnistamaton â€�TI COFFâ€�-kohdetunniste â€�0x%xâ€�"
 
-#: coffcode.h:2744
+#: coffcode.h:2753
 msgid "%B: reloc against a non-existant symbol index: %ld"
 msgstr "%B: reloc-tietue kÃ¤yttÃ¤en ei-olemassaolevaa symboli-indeksiÃ¤: %ld"
 
-#: coffcode.h:3302
+#: coffcode.h:3311
 msgid "%B: too many sections (%d)"
 msgstr "%B: liian monia lohkoja (%d)"
 
-#: coffcode.h:3718
+#: coffcode.h:3729
 msgid "%B: section %s: string table overflow at offset %ld"
 msgstr "%B: lohko %s: merkkijonotaulun ylitys siirrososoitteessa %ld"
 
-#: coffcode.h:4523
+#: coffcode.h:4534
 msgid "%B: warning: line number table read failed"
 msgstr "%B: varoitus: rivinumerotaulun lukeminen ei onnistunut"
 
-#: coffcode.h:4553
+#: coffcode.h:4564
 msgid "%B: warning: illegal symbol index %ld in line numbers"
 msgstr "%B: varoitus: virheellinen symboli-indeksi %ld rivinumeroissa"
 
-#: coffcode.h:4567
+#: coffcode.h:4578
 msgid "%B: warning: duplicate line number information for `%s'"
 msgstr "%B: varoitus: rivinumerojen kaksoiskappaleita symbolille â€�%sâ€�"
 
-#: coffcode.h:4967
+#: coffcode.h:4978
 msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
 msgstr "%B: Tunnistamaton tallennusluokka: %d lohkonimi: %s symbolinimi: â€�%sâ€�"
 
-#: coffcode.h:5093
+#: coffcode.h:5104
 msgid "warning: %B: local symbol `%s' has no section"
 msgstr "varoitus: %B: paikallisessa symbolissa â€�%sâ€� ei ole lohkoa"
 
-#: coffcode.h:5237
+#: coffcode.h:5248
 msgid "%B: illegal relocation type %d at address 0x%lx"
 msgstr "%B: virheellinen sijoitustyyppi %d osoitteessa 0x%lx"
 
-#: coffgen.c:1595
+#: coffgen.c:179 elf.c:1030
+msgid "%B: unable to initialize compress status for section %s"
+msgstr "%B: ei kyetÃ¤ alustamaan tiivistystilaa lohkolle %s"
+
+#: coffgen.c:199 elf.c:1050
+msgid "%B: unable to initialize decompress status for section %s"
+msgstr "%B: ei kyetÃ¤ alustamaan tiivistyksenpurkutilaa lohkolle %s"
+
+#: coffgen.c:1685
 msgid "%B: bad string table size %lu"
 msgstr "%B: virheellinen merkkijonotaulukoko %lu"
 
-#: coffgen.c:2500 elflink.c:12689 linker.c:3122
+#: coffgen.c:2608 elflink.c:12906 linker.c:3136
 msgid "%F%P: already_linked_table: %E\n"
 msgstr "%F%P: already_linked_table: %E\n"
 
 #  EpÃ¤ilen, ettÃ¤ lÃ¤hdekoodissa on virhe: tyypit ovat kaksi viimeistÃ¤ parametriÃ¤.
-#: cofflink.c:533 elflink.c:4323
+#: cofflink.c:533 elf64-ia64-vms.c:5173 elflink.c:4356
 msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
 msgstr "Varoitus: symbolityyppi â€�%sâ€� vaihtui tyypistÃ¤ %d tyyppiin %d kohteessa %B"
 
-#: cofflink.c:2329
+#: cofflink.c:2416
 msgid "%B: relocs in section `%A', but it has no contents"
 msgstr "%B: relocs-tietueet lohkossa â€�%Aâ€�, mutta ilman sisÃ¤ltÃ¶Ã¤"
 
-#: cofflink.c:2391 elflink.c:9545
+#: cofflink.c:2478 elflink.c:9711
 msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
 msgstr "%Xâ€�%sâ€� viitattu lohkossa â€�%Aâ€� kohteessa %B: mÃ¤Ã¤ritelty hylÃ¤tyssÃ¤ lohkossa â€�%Aâ€� / %B\n"
 
-#: cofflink.c:2690 coffswap.h:826
+#: cofflink.c:2777 coffswap.h:826
 #, c-format
 msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
 msgstr "%s: %s: reloc-tietueylivuoto: 0x%lx > 0xffff"
 
-#: cofflink.c:2699 coffswap.h:812
+#: cofflink.c:2786 coffswap.h:812
 #, c-format
 msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
 msgstr "%s: varoitus: %s: rivinumeroylivuoto: 0x%lx > 0xffff"
 
-#: cpu-arm.c:189 cpu-arm.c:200
+#: cpu-arm.c:190 cpu-arm.c:201
 msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
 msgstr "virhe: %B on kÃ¤Ã¤nnetty EP9312:lle, kun taas %B on kÃ¤Ã¤nnetty XScalelle"
 
-#: cpu-arm.c:333
+#: cpu-arm.c:334
 #, c-format
 msgid "warning: unable to update contents of %s section in %s"
 msgstr "varoitus: ei voi pÃ¤ivittÃ¤Ã¤ %s-lohkon sisÃ¤ltÃ¶Ã¤ kohteessa %s"
 
-#: dwarf2.c:496
+#: dwarf2.c:514
 #, c-format
 msgid "Dwarf Error: Can't find %s section."
 msgstr "Dwarf-virhe: Ei lÃ¶ydy %s-lohkoa."
 
-#: dwarf2.c:525
+#: dwarf2.c:543
 #, c-format
 msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
 msgstr "Dwarf-virhe: Siirrososoite (%lu) suurempi tai yhtÃ¤suuri kuin %s-koko (%lu)."
 
-#: dwarf2.c:949
+#: dwarf2.c:1071
 #, c-format
-msgid "Dwarf Error: Invalid or unhandled FORM value: %u."
-msgstr "Dwarf-virhe: Virheellinen tai kÃ¤sittelemÃ¤tÃ¶n FORM-arvo: %u."
+msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
+msgstr "Dwarf-virhe: Virheellinen tai kÃ¤sittelemÃ¤tÃ¶n FORM-arvo: %#x."
 
-#: dwarf2.c:1200
+#: dwarf2.c:1332
 msgid "Dwarf Error: mangled line number section (bad file number)."
 msgstr "Dwarf-virhe: runneltu rivinumerolohko (virheellinen tiedostonumero)."
 
-#: dwarf2.c:1453
+#: dwarf2.c:1590
 #, c-format
 msgid "Dwarf Error: Unhandled .debug_line version %d."
 msgstr "Dwarf-virhe: KÃ¤sittelemÃ¤tÃ¶n â€�.debug_lineâ€�-versio %d."
 
-#: dwarf2.c:1475
+#: dwarf2.c:1612
 msgid "Dwarf Error: Invalid maximum operations per instruction."
 msgstr "Dwarf-virhe: Virheellinen toimintojen enimmÃ¤ismÃ¤Ã¤rÃ¤ per kÃ¤sky."
 
-#: dwarf2.c:1662
+#: dwarf2.c:1807
 msgid "Dwarf Error: mangled line number section."
 msgstr "Dwarf-virhe: runneltu rivinumerolohko."
 
-#: dwarf2.c:1989 dwarf2.c:2109 dwarf2.c:2394
+#: dwarf2.c:2160
+#, c-format
+msgid "Dwarf Error: Unable to read alt ref %u."
+msgstr "Dwarf-virhe: Kohteen alt ref %u lukeminen epÃ¤onnistui."
+
+#: dwarf2.c:2179 dwarf2.c:2299 dwarf2.c:2595
 #, c-format
 msgid "Dwarf Error: Could not find abbrev number %u."
 msgstr "Dwarf-virhe: Ei lÃ¶ytynyt lyhennenumeroa %u."
 
-#: dwarf2.c:2355
+#: dwarf2.c:2551
 #, c-format
 msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
 msgstr "Dwarf-virhe: lÃ¶ytyi dwarf-versio â€™%uâ€™, tÃ¤mÃ¤ lukija kÃ¤sittelee vain version 2, 3 ja 4 tietoja."
 
-#: dwarf2.c:2362
+#: dwarf2.c:2560
 #, c-format
 msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
 msgstr "Dwarf-virhe: lÃ¶ytyi osoitekoko â€™%uâ€™, tÃ¤mÃ¤ lukija ei voi kÃ¤sitellÃ¤ kokoja, jotka ovat suurempia kuin â€™%uâ€™."
 
-#: dwarf2.c:2385
+#: dwarf2.c:2586
 #, c-format
 msgid "Dwarf Error: Bad abbrev number: %u."
 msgstr "Dwarf-virhe: VÃ¤Ã¤rÃ¤ lyhennenumero: %u."
 
-#: ecoff.c:1239
+#: ecoff.c:1233
 #, c-format
 msgid "Unknown basic type %d"
 msgstr "Tuntematon perustyyppi %d"
 
-#: ecoff.c:1496
+#: ecoff.c:1490
 #, c-format
 msgid ""
 "\n"
@@ -590,7 +607,7 @@ msgstr ""
 "\n"
 "      Loppu+1 symboli: %ld"
 
-#: ecoff.c:1503 ecoff.c:1506
+#: ecoff.c:1497 ecoff.c:1500
 #, c-format
 msgid ""
 "\n"
@@ -599,7 +616,7 @@ msgstr ""
 "\n"
 "      EnsimmÃ¤inen symboli: %ld"
 
-#: ecoff.c:1518
+#: ecoff.c:1512
 #, c-format
 msgid ""
 "\n"
@@ -608,7 +625,7 @@ msgstr ""
 "\n"
 "      Loppu+1 symboli: %-7ld   Tyyppi:  %s"
 
-#: ecoff.c:1525
+#: ecoff.c:1519
 #, c-format
 msgid ""
 "\n"
@@ -617,7 +634,7 @@ msgstr ""
 "\n"
 "      Paikallinen symboli: %ld"
 
-#: ecoff.c:1533
+#: ecoff.c:1527
 #, c-format
 msgid ""
 "\n"
@@ -626,7 +643,7 @@ msgstr ""
 "\n"
 "      struct; Loppu+1 symboli: %ld"
 
-#: ecoff.c:1538
+#: ecoff.c:1532
 #, c-format
 msgid ""
 "\n"
@@ -635,7 +652,7 @@ msgstr ""
 "\n"
 "      union; Loppu+1 symboli: %ld"
 
-#: ecoff.c:1543
+#: ecoff.c:1537
 #, c-format
 msgid ""
 "\n"
@@ -644,7 +661,7 @@ msgstr ""
 "\n"
 "      enum; Loppu+1 symboli: %ld"
 
-#: ecoff.c:1549
+#: ecoff.c:1543
 #, c-format
 msgid ""
 "\n"
@@ -653,140 +670,138 @@ msgstr ""
 "\n"
 "      Tyyppi: %s"
 
-#: elf-attrs.c:569
+#: elf-attrs.c:573
 msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
 msgstr "virhe: %B: Objektilla on toimittajakohtainen sisÃ¤ltÃ¶, joka on kÃ¤siteltÃ¤vÃ¤ â€™%sâ€™-tyÃ¶kaluketjulla"
 
-#: elf-attrs.c:578
+#: elf-attrs.c:582
 msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
 msgstr "virhe: %B: Objektitunniste â€™%d, %sâ€™ ei ole yhteensopiva tunnisteen â€™%d, %sâ€™ kanssa"
 
-#: elf-eh-frame.c:917
+#: elf-eh-frame.c:921
 msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
 msgstr "%P: virhe kohteessa %B(%A); â€�.eh_frame_hdrâ€�-taulua ei luotu.\n"
 
-#: elf-eh-frame.c:1189
+#: elf-eh-frame.c:1193
 msgid "%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
 msgstr "%P: fde-koodaus kohteessa %B(%A) estÃ¤Ã¤ â€�.eh_frame_hdrâ€�-taulun luomisen.\n"
 
-#: elf-eh-frame.c:1605
+#: elf-eh-frame.c:1612
 msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
 msgstr "%P: DW_EH_PE_datarel mÃ¤Ã¤rittelemÃ¤tÃ¶n tÃ¤lle arkkitehtuurille.\n"
 
-#: elf-ifunc.c:179
+#: elf-ifunc.c:135
 msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
 msgstr "%F%P: dynaamista STT_GNU_IFUNC symbolia â€�%sâ€� osoitinyhtÃ¤lÃ¤isyydellÃ¤ kohteessa â€�%Bâ€� ei voida kÃ¤yttÃ¤Ã¤ tekemÃ¤Ã¤n suoritettavaa tiedostoa; kÃ¤Ã¤nnÃ¤ uudelleen valitsimella -fPIE ja linkitÃ¤ uudelleen valitsemella -pie\n"
 
-#: elf-m10200.c:450 elf-m10300.c:1563 elf32-avr.c:1221 elf32-bfin.c:3213
-#: elf32-cr16.c:1482 elf32-cr16c.c:780 elf32-cris.c:2081 elf32-crx.c:922
-#: elf32-d10v.c:509 elf32-epiphany.c:556 elf32-fr30.c:609 elf32-frv.c:4105
-#: elf32-h8300.c:509 elf32-i860.c:1211 elf32-ip2k.c:1468 elf32-iq2000.c:684
-#: elf32-lm32.c:1168 elf32-m32c.c:553 elf32-m32r.c:3106 elf32-m68hc1x.c:1138
-#: elf32-mep.c:535 elf32-microblaze.c:1231 elf32-moxie.c:282
-#: elf32-msp430.c:486 elf32-mt.c:395 elf32-openrisc.c:404 elf32-score.c:2729
-#: elf32-score7.c:2537 elf32-spu.c:5044 elf32-tilepro.c:3214 elf32-v850.c:2143
-#: elf32-xstormy16.c:935 elf64-mmix.c:1590 elfxx-tilegx.c:3577
+#: elf-m10200.c:430 elf-m10300.c:2164 elf32-avr.c:1256 elf32-bfin.c:3220
+#: elf32-cr16.c:1484 elf32-cr16c.c:780 elf32-cris.c:2016 elf32-crx.c:922
+#: elf32-d10v.c:513 elf32-epiphany.c:557 elf32-fr30.c:589 elf32-frv.c:4039
+#: elf32-h8300.c:525 elf32-i860.c:1212 elf32-ip2k.c:1468 elf32-iq2000.c:688
+#: elf32-lm32.c:1160 elf32-m32c.c:553 elf32-m32r.c:3066 elf32-m68hc1x.c:1283
+#: elf32-mep.c:535 elf32-metag.c:1992 elf32-microblaze.c:1560
+#: elf32-moxie.c:282 elf32-mt.c:395 elf32-nds32.c:4910 elf32-openrisc.c:404
+#: elf32-score.c:2729 elf32-score7.c:2537 elf32-spu.c:5041
+#: elf32-tilepro.c:3666 elf32-v850.c:2281 elf32-xstormy16.c:936
+#: elf64-mmix.c:1538 elfxx-tilegx.c:4051
 msgid "internal error: out of range error"
 msgstr "sisÃ¤inen virhe: â€�lukualueen ulkopuolellaâ€�-virhe"
 
-#: elf-m10200.c:454 elf-m10300.c:1567 elf32-avr.c:1225 elf32-bfin.c:3217
-#: elf32-cr16.c:1486 elf32-cr16c.c:784 elf32-cris.c:2085 elf32-crx.c:926
-#: elf32-d10v.c:513 elf32-fr30.c:613 elf32-frv.c:4109 elf32-h8300.c:513
-#: elf32-i860.c:1215 elf32-iq2000.c:688 elf32-lm32.c:1172 elf32-m32c.c:557
-#: elf32-m32r.c:3110 elf32-m68hc1x.c:1142 elf32-mep.c:539
-#: elf32-microblaze.c:1235 elf32-moxie.c:286 elf32-msp430.c:490
-#: elf32-openrisc.c:408 elf32-score.c:2733 elf32-score7.c:2541
-#: elf32-spu.c:5048 elf32-tilepro.c:3218 elf32-v850.c:2147
-#: elf32-xstormy16.c:939 elf64-mmix.c:1594 elfxx-mips.c:9465
-#: elfxx-tilegx.c:3581
+#: elf-m10200.c:434 elf-m10300.c:2168 elf32-avr.c:1260 elf32-bfin.c:3224
+#: elf32-cr16.c:1488 elf32-cr16c.c:784 elf32-cris.c:2020 elf32-crx.c:926
+#: elf32-d10v.c:517 elf32-fr30.c:593 elf32-frv.c:4043 elf32-h8300.c:529
+#: elf32-i860.c:1216 elf32-iq2000.c:692 elf32-lm32.c:1164 elf32-m32c.c:557
+#: elf32-m32r.c:3070 elf32-m68hc1x.c:1287 elf32-mep.c:539 elf32-metag.c:1996
+#: elf32-microblaze.c:1564 elf32-moxie.c:286 elf32-msp430.c:1321
+#: elf32-nds32.c:4914 elf32-openrisc.c:408 elf32-score.c:2733
+#: elf32-score7.c:2541 elf32-spu.c:5045 elf32-tilepro.c:3670 elf32-v850.c:2285
+#: elf32-xstormy16.c:940 elf64-mmix.c:1542 elfxx-mips.c:9995
+#: elfxx-tilegx.c:4055
 msgid "internal error: unsupported relocation error"
 msgstr "sisÃ¤inen virhe: ei-tuettu sijoitusvirhe"
 
-#: elf-m10200.c:458 elf32-cr16.c:1490 elf32-cr16c.c:788 elf32-crx.c:930
-#: elf32-d10v.c:517 elf32-h8300.c:517 elf32-lm32.c:1176 elf32-m32r.c:3114
-#: elf32-m68hc1x.c:1146 elf32-microblaze.c:1239 elf32-score.c:2737
-#: elf32-score7.c:2545 elf32-spu.c:5052
+#: elf-m10200.c:438 elf32-cr16.c:1492 elf32-cr16c.c:788 elf32-crx.c:930
+#: elf32-d10v.c:521 elf32-h8300.c:533 elf32-lm32.c:1168 elf32-m32r.c:3074
+#: elf32-m68hc1x.c:1291 elf32-microblaze.c:1568 elf32-nds32.c:4918
+#: elf32-score.c:2737 elf32-score7.c:2545 elf32-spu.c:5049
 msgid "internal error: dangerous error"
 msgstr "sisÃ¤inen virhe: vaarallinen virhe"
 
-#: elf-m10200.c:462 elf-m10300.c:1580 elf32-avr.c:1233 elf32-bfin.c:3225
-#: elf32-cr16.c:1494 elf32-cr16c.c:792 elf32-cris.c:2093 elf32-crx.c:934
-#: elf32-d10v.c:521 elf32-epiphany.c:571 elf32-fr30.c:621 elf32-frv.c:4117
-#: elf32-h8300.c:521 elf32-i860.c:1223 elf32-ip2k.c:1483 elf32-iq2000.c:696
-#: elf32-lm32.c:1180 elf32-m32c.c:565 elf32-m32r.c:3118 elf32-m68hc1x.c:1150
-#: elf32-mep.c:547 elf32-microblaze.c:1243 elf32-moxie.c:294
-#: elf32-msp430.c:498 elf32-mt.c:403 elf32-openrisc.c:416 elf32-score.c:2746
-#: elf32-score7.c:2549 elf32-spu.c:5056 elf32-tilepro.c:3226 elf32-v850.c:2167
-#: elf32-xstormy16.c:947 elf64-mmix.c:1602 elfxx-tilegx.c:3589
+#: elf-m10200.c:442 elf-m10300.c:2184 elf32-avr.c:1268 elf32-bfin.c:3232
+#: elf32-cr16.c:1496 elf32-cr16c.c:792 elf32-cris.c:2028 elf32-crx.c:934
+#: elf32-d10v.c:525 elf32-epiphany.c:572 elf32-fr30.c:601 elf32-frv.c:4051
+#: elf32-h8300.c:537 elf32-i860.c:1224 elf32-ip2k.c:1483 elf32-iq2000.c:700
+#: elf32-lm32.c:1172 elf32-m32c.c:565 elf32-m32r.c:3078 elf32-m68hc1x.c:1295
+#: elf32-mep.c:547 elf32-metag.c:2004 elf32-microblaze.c:1572
+#: elf32-moxie.c:294 elf32-msp430.c:1329 elf32-mt.c:403 elf32-nds32.c:4922
+#: elf32-openrisc.c:416 elf32-score.c:2746 elf32-score7.c:2549
+#: elf32-spu.c:5053 elf32-tilepro.c:3678 elf32-v850.c:2305
+#: elf32-xstormy16.c:948 elf64-mmix.c:1550 elfxx-tilegx.c:4063
 msgid "internal error: unknown error"
 msgstr "sisÃ¤inen virhe: tuntematon virhe"
 
-#: elf-m10300.c:1507 elf32-arm.c:10419 elf32-i386.c:4264 elf32-m32r.c:2599
-#: elf32-m68k.c:4156 elf32-s390.c:3003 elf32-sh.c:4218 elf32-tilepro.c:3117
-#: elf32-xtensa.c:3066 elf64-s390.c:2978 elf64-sh64.c:1640 elf64-x86-64.c:4110
-#: elfxx-sparc.c:3835 elfxx-tilegx.c:3500
+#: elf-m10300.c:1021
+#, c-format
+msgid "%s: Unsupported transition from %s to %s"
+msgstr "%s: Tukematon siirto kohteesta %s kohteeseen %s"
+
+#: elf-m10300.c:1213
+msgid "%B: %s' accessed both as normal and thread local symbol"
+msgstr "%B: %sâ€™ haettu sekÃ¤ normaalina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina"
+
+#: elf-m10300.c:2108 elf32-arm.c:10632 elf32-i386.c:4363 elf32-m32r.c:2558
+#: elf32-m68k.c:4120 elf32-s390.c:3303 elf32-sh.c:4109 elf32-tilepro.c:3569
+#: elf32-xtensa.c:3063 elf64-s390.c:3229 elf64-sh64.c:1640 elf64-x86-64.c:4463
+#: elfxx-sparc.c:3904 elfxx-tilegx.c:3974
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:4450
 msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): ratkaisematon %s sijoitus symbolia â€�%sâ€� varten"
+msgstr "%B(%A+0x%lx): ratkaisematon %s-sijoitus kÃ¤yttÃ¤en symbolia â€�%sâ€�"
 
-#: elf-m10300.c:1572
+#: elf-m10300.c:2173
 msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
 msgstr "virhe: sopimaton sijoitustyyppi jaetulle kirjastolle (unohtuiko -fpic?)"
 
-#: elf-m10300.c:1575
+#: elf-m10300.c:2176
+msgid "%B: taking the address of protected function '%s' cannot be done when making a shared library"
+msgstr "%B: suojatun funktion â€™%sâ€™ osoitteen ottamista ei voida tehdÃ¤, kun tehdÃ¤Ã¤n jaettua kirjastoa"
+
+#: elf-m10300.c:2179
 msgid "internal error: suspicious relocation type used in shared library"
 msgstr "sisÃ¤inen virhe: epÃ¤ilyttÃ¤vÃ¤Ã¤ sijoitustyyppiÃ¤ kÃ¤ytetÃ¤Ã¤n jaetussa kirjastossa"
 
-#: elf-m10300.c:4372 elf32-arm.c:12800 elf32-cr16.c:2451 elf32-cris.c:3057
-#: elf32-hppa.c:1894 elf32-i370.c:503 elf32-i386.c:2182 elf32-lm32.c:1868
-#: elf32-m32r.c:1927 elf32-m68k.c:3253 elf32-s390.c:1652 elf32-sh.c:2931
-#: elf32-tic6x.c:2162 elf32-tilepro.c:1940 elf32-vax.c:1041 elf64-s390.c:1635
-#: elf64-sh64.c:3381 elf64-x86-64.c:2176 elfxx-sparc.c:2119
-#: elfxx-tilegx.c:2261
-#, c-format
-msgid "dynamic variable `%s' is zero size"
-msgstr "dynaaminen muuttuja â€�%sâ€� on nollakokoinen"
-
-#: elf.c:334
+#: elf.c:343
 msgid "%B: invalid string offset %u >= %lu for section `%s'"
 msgstr "%B: virheellinen merkkijonosiirrososoite %u >= %lu lohkolle â€�%sâ€�"
 
-#: elf.c:446
+#: elf.c:455
 msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
 msgstr "%B symbolinumero %lu viittaa puuttuvaan SHT_SYMTAB_SHNDX-lohkoon"
 
-#: elf.c:602
+#: elf.c:611
 msgid "%B: Corrupt size field in group section header: 0x%lx"
 msgstr "%B: RikkinÃ¤inen kokokenttÃ¤ ryhmÃ¤lohko-otsakkeessa: 0x%lx"
 
-#: elf.c:638
+#: elf.c:647
 msgid "%B: invalid SHT_GROUP entry"
 msgstr "%B: virheellinen SHT_GROUP-tulokohta"
 
-#: elf.c:708
+#: elf.c:717
 msgid "%B: no group info for section %A"
 msgstr "%B: ei ryhmÃ¤tietoja lohkolle %A"
 
-#: elf.c:737 elf.c:3121 elflink.c:10135
+#: elf.c:746 elf.c:3144 elflink.c:10290
 msgid "%B: warning: sh_link not set for section `%A'"
 msgstr "%B: varoitus: sh_link-kenttÃ¤Ã¤ ei aseteta lohkolle â€�%Aâ€�"
 
-#: elf.c:756
+#: elf.c:765
 msgid "%B: sh_link [%d] in section `%A' is incorrect"
 msgstr "%B: sh_link [%d]-kenttÃ¤ lohkossa â€�%Aâ€� on virheellinen"
 
-#: elf.c:791
+#: elf.c:800
 msgid "%B: unknown [%d] section `%s' in group [%s]"
 msgstr "%B: tuntematon [%d] lohko â€�%sâ€� ryhmÃ¤ssÃ¤ [%s]"
 
-#: elf.c:1041
-msgid "%B: unable to initialize commpress status for section %s"
-msgstr "%B: ei kyetÃ¤ alustamaan tiivistystilaa lohkolle %s"
-
-#: elf.c:1061
-msgid "%B: unable to initialize decommpress status for section %s"
-msgstr "%B: ei kyetÃ¤ alustamaan tiivistyksenpurkutilaa lohkolle %s"
-
-#: elf.c:1181
+#: elf.c:1174
 #, c-format
 msgid ""
 "\n"
@@ -795,7 +810,7 @@ msgstr ""
 "\n"
 "Ohjelmaotsake:\n"
 
-#: elf.c:1223
+#: elf.c:1216
 #, c-format
 msgid ""
 "\n"
@@ -804,7 +819,7 @@ msgstr ""
 "\n"
 "Dynaaminen lohko:\n"
 
-#: elf.c:1359
+#: elf.c:1352
 #, c-format
 msgid ""
 "\n"
@@ -813,7 +828,7 @@ msgstr ""
 "\n"
 "VersiomÃ¤Ã¤rittelyt:\n"
 
-#: elf.c:1384
+#: elf.c:1377
 #, c-format
 msgid ""
 "\n"
@@ -822,82 +837,100 @@ msgstr ""
 "\n"
 "Versioviitteet:\n"
 
-#: elf.c:1389
+#: elf.c:1382
 #, c-format
 msgid "  required from %s:\n"
 msgstr "  kysytty kohteesta %s:\n"
 
-#: elf.c:1796
+#: elf.c:1807
 msgid "%B: invalid link %lu for reloc section %s (index %u)"
 msgstr "%B: virheellinen linkki %lu reloc-tietueelle %s (indeksi %u)"
 
-#: elf.c:1966
+#: elf.c:1977
 msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
 msgstr "%B: ei tiedÃ¤ kuinka kÃ¤sitellÃ¤ varattua, sovelluskohtaista lohkoa â€�%sâ€� [0x%8x]"
 
-#: elf.c:1978
+#: elf.c:1989
 msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
 msgstr "%B: ei tiedÃ¤, kuinka kÃ¤sitellÃ¤ prosessorikohtaista lohkoa â€�%sâ€� [0x%8x]"
 
-#: elf.c:1989
+#: elf.c:2000
 msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
 msgstr "%B: ei tiedÃ¤, kuinka kÃ¤sitellÃ¤ kÃ¤yttÃ¶jÃ¤rjestelmÃ¤kohtaista lohkoa â€�%sâ€� [0x%8x]"
 
-#: elf.c:1999
+#: elf.c:2010
 msgid "%B: don't know how to handle section `%s' [0x%8x]"
 msgstr "%B: ei tiedÃ¤ kuinka kÃ¤sitellÃ¤ lohkoa â€�%sâ€� [0x%8x]"
 
-#: elf.c:2634
+#: elf.c:2648
 #, c-format
 msgid "warning: section `%A' type changed to PROGBITS"
 msgstr "varoitus: lohkon â€�%Aâ€� tyyppi vaihtunut tyypiksi PROGBITS"
 
-#: elf.c:3078
+#: elf.c:3015
+msgid "%B: too many sections: %u"
+msgstr "%B: liian monia lohkoja: %u"
+
+#: elf.c:3101
 msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
 msgstr "%B: sh_link-lohko â€�%Aâ€� osoittaa hylÃ¤ttyyn lohkoon â€�%Aâ€� kohteessa â€�%Bâ€�"
 
-#: elf.c:3101
+#: elf.c:3124
 msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
 msgstr "%B: sh_link-lohko â€�%Aâ€� osoittaa poistettuun lohkoon â€�%Aâ€� kohteessa â€�%Bâ€�"
 
-#: elf.c:4527
+#: elf.c:4126
+msgid "%B: TLS sections are not adjacent:"
+msgstr "%B: TLS-lohkot eivÃ¤t ole vierekkÃ¤isiÃ¤:"
+
+#: elf.c:4133
+#, c-format
+msgid "\t    TLS: %A"
+msgstr "\t    TLS: %A"
+
+#: elf.c:4137
+#, c-format
+msgid "\tnon-TLS: %A"
+msgstr "\tei-TLS: %A"
+
+#: elf.c:4596
 msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
 msgstr "%B: EnsimmÃ¤inen lohko PT_DYNAMIC-segmentissÃ¤ ei ole â€�.dynamicâ€�-lohko"
 
-#: elf.c:4554
+#: elf.c:4621
 msgid "%B: Not enough room for program headers, try linking with -N"
 msgstr "%B: Ei tarpeeksi tilaa ohjelmaotsakkeille, yritÃ¤ linkittÃ¤Ã¤ â€�-Nâ€�-argumentilla"
 
-#: elf.c:4641
+#: elf.c:4707
 msgid "%B: section %A lma %#lx adjusted to %#lx"
 msgstr "%B: lohko %A vma %#lx sÃ¤Ã¤detty kohteeseen %#lx"
 
-#: elf.c:4776
+#: elf.c:4843
 msgid "%B: section `%A' can't be allocated in segment %d"
 msgstr "%B: lohkoa â€�%Aâ€� ei voida varata segmentissÃ¤ %d"
 
-#: elf.c:4824
+#: elf.c:4892
 msgid "%B: warning: allocated section `%s' not in segment"
 msgstr "%B: varoitus: varattu lohko â€�%sâ€� ei ole segmentissÃ¤"
 
-#: elf.c:5324
+#: elf.c:5473
 msgid "%B: symbol `%s' required but not present"
 msgstr "%B: symboli â€�%sâ€� vaadittu, mutta ei ole annettu"
 
-#: elf.c:5662
+#: elf.c:5811
 msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
 msgstr "%B: varoitus: TyhjÃ¤ ladattava segmentti havaittu, onko tÃ¤mÃ¤ tarkoituksellinen ?\n"
 
-#: elf.c:6692
+#: elf.c:6867
 #, c-format
 msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
 msgstr "Ei lÃ¶ydy samanlaista tulostelohkoa symbolille â€�%sâ€� lohkosta â€�%sâ€�"
 
-#: elf.c:7692
+#: elf.c:7915
 msgid "%B: unsupported relocation type %s"
 msgstr "%B: ei-tuettu sijoitustyyppi %s"
 
-#: elf32-arm.c:3617
+#: elf32-arm.c:3722 elf32-arm.c:7051
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
 "  first occurrence: %B: Thumb call to ARM"
@@ -905,7 +938,7 @@ msgstr ""
 "%B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.\n"
 "  ensimmÃ¤inen esiintymÃ¤: %B: Thumb-kutsu ARM-koodiin"
 
-#: elf32-arm.c:3664
+#: elf32-arm.c:3769
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
 "  first occurrence: %B: ARM call to Thumb"
@@ -913,378 +946,401 @@ msgstr ""
 "%B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.\n"
 "  ensimmÃ¤inen esiintymÃ¤: %B: ARM-kutsu Thumb-koodiin"
 
-#: elf32-arm.c:3878 elf32-arm.c:5315
+#: elf32-arm.c:3988 elf32-arm.c:5433
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:2324
 #, c-format
 msgid "%s: cannot create stub entry %s"
 msgstr "%s: ei voi luoda stub-tulokohtaa %s"
 
-#: elf32-arm.c:5431
+#: elf32-arm.c:5549
 #, c-format
 msgid "unable to find THUMB glue '%s' for '%s'"
 msgstr "ei lÃ¶ydy THUMB-vihjettÃ¤ â€�%sâ€� kohteelle â€�%sâ€�"
 
-#: elf32-arm.c:5467
+#: elf32-arm.c:5585
 #, c-format
 msgid "unable to find ARM glue '%s' for '%s'"
 msgstr "ei lÃ¶ydy ARM-vihjettÃ¤ â€�%sâ€� kohteelle â€�%sâ€�"
 
-#: elf32-arm.c:6005
+#: elf32-arm.c:6123
 msgid "%B: BE8 images only valid in big-endian mode."
 msgstr "%B: BE8-vedokset ovat oikeita vain big-endian-tavujÃ¤rjestyksessÃ¤."
 
 #  Vector Floating Point (VFP)
 #. Give a warning, but do as the user requests anyway.
-#: elf32-arm.c:6235
+#: elf32-arm.c:6353
 msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
 msgstr "%B: varoitus: valittu VFP11-virheenkiertotapa ei ole vÃ¤lttÃ¤mÃ¤tÃ¶n kohdearkkitehtuurille"
 
-#: elf32-arm.c:6779 elf32-arm.c:6799
+#: elf32-arm.c:6897 elf32-arm.c:6917
 msgid "%B: unable to find VFP11 veneer `%s'"
 msgstr "%B: ei lÃ¶ydy VFP11-julkisivua â€�%sâ€�"
 
-#: elf32-arm.c:6848
+#: elf32-arm.c:6966
 #, c-format
 msgid "Invalid TARGET2 relocation type '%s'."
 msgstr "Virheellinen TARGET2-sijoitustyyppi â€�%sâ€�."
 
-#: elf32-arm.c:6933
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-"  first occurrence: %B: thumb call to arm"
-msgstr ""
-"%B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.\n"
-"  ensimmÃ¤inen esiintymÃ¤: %B: thumb-kutsu arm-koodiin"
+#. PR ld/16017: Do not generate ARM instructions for
+#. the PLT if compiling for a thumb-only target.
+#.
+#. FIXME: We ought to be able to generate thumb PLT instructions...
+#: elf32-arm.c:7696
+msgid "%B: Warning: thumb mode PLT generation not currently supported"
+msgstr "%B: Varoitus: thumb-tila-PLT-tuottamista ei tÃ¤llÃ¤ hetkellÃ¤ tueta"
 
-#: elf32-arm.c:7717
+#: elf32-arm.c:7909
 msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline"
 msgstr "%B(%A+0x%lx):odottamaton Thumb-kÃ¤sky â€™0x%xâ€™ TLS-trampoliinissa"
 
-#: elf32-arm.c:7756
+#: elf32-arm.c:7948
 msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline"
 msgstr "%B(%A+0x%lx):odottamaton ARM-kÃ¤sky â€™0x%xâ€™ TLS-trampoliinissa"
 
-#: elf32-arm.c:8209
+#: elf32-arm.c:8412
 msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
 msgstr "\\%B: Varoitus: â€�Arm BLXâ€�-kÃ¤skykohteet Arm-funktiossa â€�%sâ€�."
 
-#: elf32-arm.c:8622
+#: elf32-arm.c:8831
 msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
 msgstr "%B: Varoitus: â€�Thumb BLXâ€�-kÃ¤skykohteet thumb-funktiossa â€�%sâ€�."
 
-#: elf32-arm.c:9460
+#: elf32-arm.c:9672
 msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
 msgstr "%B(%A+0x%lx):TLS_GOTDESC viittasi odottamattomaann Thumb-kÃ¤skyyn â€™0x%xâ€™"
 
-#: elf32-arm.c:9483
+#: elf32-arm.c:9695
 msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
 msgstr "%B(%A+0x%lx):TLS_GOTDESC viittasi odottamattomaan ARM-kÃ¤skyyn â€™0x%xâ€™"
 
-#: elf32-arm.c:9512
+#: elf32-arm.c:9724
 msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
 msgstr "%B(%A+0x%lx): R_ARM_TLS_LE32-sijoitukset eivÃ¤t ole sallittuja jaetuissa objekteissa"
 
-#: elf32-arm.c:9727
+#: elf32-arm.c:9937
 msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"
 msgstr "%B(%A+0x%lx): Vain ADD- tai SUB-kÃ¤skyt ovat sallittuja ALU-ryhmÃ¤n sijoituksille"
 
-#: elf32-arm.c:9767 elf32-arm.c:9854 elf32-arm.c:9937 elf32-arm.c:10022
+#: elf32-arm.c:9977 elf32-arm.c:10065 elf32-arm.c:10149 elf32-arm.c:10235
 msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
 msgstr "%B(%A+0x%lx): Ylivuoto, kun halkaistaan 0x%lx ryhmÃ¤sijoitukselle %s"
 
-#: elf32-arm.c:10261 elf32-sh.c:4103 elf64-sh64.c:1544
+#: elf32-arm.c:10474 elf32-sh.c:3994 elf64-sh64.c:1544
 msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
-msgstr "%B(%A+0x%lx): %s sijoitus SEC_MERGE-lohkoa varten"
+msgstr "%B(%A+0x%lx): %s-sijoitus kÃ¤yttÃ¤en SEC_MERGE-lohkoa"
 
 #  TLS: transport layer security
-#: elf32-arm.c:10372 elf32-m68k.c:4191 elf32-xtensa.c:2802
+#: elf32-arm.c:10585 elf32-m68k.c:4155 elf32-xtensa.c:2799
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:4192
 msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
 msgstr "%B(%A+0x%lx): %s kÃ¤ytetÃ¤Ã¤n TLS-symbolin %s kanssa"
 
-#: elf32-arm.c:10373 elf32-m68k.c:4192 elf32-xtensa.c:2803
+#: elf32-arm.c:10586 elf32-m68k.c:4156 elf32-xtensa.c:2800
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:4193
 msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
 msgstr "%B(%A+0x%lx): %s kÃ¤ytetÃ¤Ã¤n ei-TLS-symbolin %s kanssa"
 
-#: elf32-arm.c:10453 elf32-tic6x.c:2753
+#: elf32-arm.c:10666 elf32-tic6x.c:2736
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:4481
 msgid "out of range"
 msgstr "lukualueen ulkopuolella"
 
-#: elf32-arm.c:10457 elf32-tic6x.c:2757
+#: elf32-arm.c:10670 elf32-nios2.c:3525 elf32-tic6x.c:2740
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:4485
 msgid "unsupported relocation"
 msgstr "ei-tuettu sijoitus"
 
-#: elf32-arm.c:10465 elf32-tic6x.c:2765
+#: elf32-arm.c:10678 elf32-nios2.c:3535 elf32-tic6x.c:2748
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:4493
 msgid "unknown error"
 msgstr "tuntematon virhe"
 
-#: elf32-arm.c:10890
+#: elf32-arm.c:11153
 msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
 msgstr "Varoitus: Nollataan %B:n vanhan koodin kanssa toimimisen yhteistoimivuuslippu, koska se on linkitetty ei-yhteistoimivuuskoodiin %B:ssa"
 
-#: elf32-arm.c:10984
+#: elf32-arm.c:11240
 msgid "%B: Unknown mandatory EABI object attribute %d"
 msgstr "%B: Tuntematon pakollinen EABI-objektiattribuutti %d"
 
-#: elf32-arm.c:10992
+#: elf32-arm.c:11248
 msgid "Warning: %B: Unknown EABI object attribute %d"
 msgstr "Varoitus: %B: Tuntematon EABI-objektiattribuutti %d"
 
-#: elf32-arm.c:11173
+#: elf32-arm.c:11449
 msgid "error: %B: Unknown CPU architecture"
 msgstr "virhe: %B: Tuntematon prosessoriarkkitehtuuri"
 
-#: elf32-arm.c:11211
+#: elf32-arm.c:11487
 msgid "error: %B: Conflicting CPU architectures %d/%d"
 msgstr "virhe: %B: Ristiriitaisia prosessoriarkkitehtuureja %d/%d"
 
-#: elf32-arm.c:11260
+#: elf32-arm.c:11576
 msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
 msgstr "Virhe: kohteessa %B on sekÃ¤ nykyisiÃ¤ ettÃ¤ perinne-Tag_MPextension_use-attribuutteja"
 
-#: elf32-arm.c:11285
+#: elf32-arm.c:11601
 msgid "error: %B uses VFP register arguments, %B does not"
 msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ VFP-rekisteriargumentteja, %B ei kÃ¤ytÃ¤"
 
-#: elf32-arm.c:11430
+#: elf32-arm.c:11747
 msgid "error: %B: unable to merge virtualization attributes with %B"
 msgstr "virhe: %B: ei kyetÃ¤ yhdistÃ¤mÃ¤Ã¤n virtualisointiattribuutteja kohteen %B kanssa"
 
-#: elf32-arm.c:11456
+#: elf32-arm.c:11773
 msgid "error: %B: Conflicting architecture profiles %c/%c"
 msgstr "virhe: %B: Ristiriitaisia arkkitehtuuriprofiileja %c/%c"
 
-#: elf32-arm.c:11557
+#: elf32-arm.c:11877
 msgid "Warning: %B: Conflicting platform configuration"
 msgstr "Varoitus: %B: Ristiriitainen kÃ¤yttÃ¶jÃ¤rjestemÃ¤konfiguraatio"
 
-#: elf32-arm.c:11566
+#: elf32-arm.c:11886
 msgid "error: %B: Conflicting use of R9"
 msgstr "virhe: %B: Ristiriitainen R9:n kÃ¤yttÃ¶"
 
-#: elf32-arm.c:11578
+#: elf32-arm.c:11898
 msgid "error: %B: SB relative addressing conflicts with use of R9"
 msgstr "virhe: %B: SB-suhteellinen osoitteitus on ristiriidassa R9:n kÃ¤ytÃ¶n kanssa"
 
-#: elf32-arm.c:11591
+#: elf32-arm.c:11911
 msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
 msgstr "varoitus: %B kÃ¤yttÃ¤Ã¤ %u-tavuista wchar_t-merkkiÃ¤ vaikka tuloste kÃ¤yttÃ¤Ã¤ %u-tavuista wchar_t-merkkiÃ¤; wchart_t-kÃ¤yttÃ¶arvot objekteissa saattavat olla virheellisiÃ¤"
 
-#: elf32-arm.c:11622
+#: elf32-arm.c:11942
 msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
 msgstr "varoitus: %B kÃ¤yttÃ¤Ã¤ %s enums-alkioita vaikka tuloste kÃ¤yttÃ¤Ã¤ %s enums-alkioita; enum-arvojen kÃ¤yttÃ¶ objekteissa saattaa olla virheellinen"
 
-#: elf32-arm.c:11634
+#: elf32-arm.c:11954
 msgid "error: %B uses iWMMXt register arguments, %B does not"
 msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ iWMMXt-rekisteriargumentteja, %B ei kÃ¤ytÃ¤"
 
-#: elf32-arm.c:11651
+#: elf32-arm.c:11971
 msgid "error: fp16 format mismatch between %B and %B"
 msgstr "virhe: fp16-muototÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys kohteiden %B ja %B vÃ¤lillÃ¤"
 
-#: elf32-arm.c:11675
-msgid "DIV usage mismatch between %B and %B"
-msgstr "DIV-kÃ¤yttÃ¶tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys kohteiden %B ja %B vÃ¤lillÃ¤"
-
-#: elf32-arm.c:11694
+#: elf32-arm.c:12007
 msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
 msgstr "kohteella %B on sekÃ¤ nykyisiÃ¤ ettÃ¤ perinne-Tag_MPextension_use-attribuutteja"
 
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
 #. Ignore init flag - it may not be set, despite the flags field containing valid data.
-#: elf32-arm.c:11782 elf32-bfin.c:5079 elf32-cris.c:4169 elf32-m68hc1x.c:1282
-#: elf32-m68k.c:1236 elf32-score.c:3994 elf32-score7.c:3800 elf32-vax.c:529
-#: elfxx-mips.c:14103
+#. Ignore init flag - it may not be set, despite the flags field
+#. containing valid data.
+#: elf32-arm.c:12095 elf32-bfin.c:4949 elf32-cris.c:4139 elf32-m68hc1x.c:1427
+#: elf32-m68k.c:1195 elf32-score.c:4004 elf32-score7.c:3808 elf32-vax.c:529
+#: elf32-xgate.c:674 elfxx-mips.c:14955
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:4645
 #, c-format
 msgid "private flags = %lx:"
 msgstr "yksityiset liput = %lx:"
 
-#: elf32-arm.c:11791
+#: elf32-arm.c:12104
 #, c-format
 msgid " [interworking enabled]"
 msgstr " [yhteistoimivuus vanhan koodin kanssa on kÃ¤ytÃ¶ssÃ¤]"
 
-#: elf32-arm.c:11799
+#: elf32-arm.c:12112
 #, c-format
 msgid " [VFP float format]"
 msgstr " [vektoriliukulukumuoto]"
 
-#: elf32-arm.c:11801
+#: elf32-arm.c:12114
 #, c-format
 msgid " [Maverick float format]"
 msgstr " [Maverick-liukulukumuoto]"
 
-#: elf32-arm.c:11803
+#: elf32-arm.c:12116
 #, c-format
 msgid " [FPA float format]"
 msgstr " [Liukulukukiihdytin-liukulukumuoto]"
 
-#: elf32-arm.c:11812
+#: elf32-arm.c:12125
 #, c-format
 msgid " [new ABI]"
 msgstr " [uusi ABI]"
 
-#: elf32-arm.c:11815
+#: elf32-arm.c:12128
 #, c-format
 msgid " [old ABI]"
 msgstr " [vanha ABI]"
 
-#: elf32-arm.c:11818
+#: elf32-arm.c:12131
 #, c-format
 msgid " [software FP]"
 msgstr " [ohjelmistoliukuluku]"
 
-#: elf32-arm.c:11827
+#: elf32-arm.c:12140
 #, c-format
 msgid " [Version1 EABI]"
 msgstr " [Versio 1 EABI]"
 
-#: elf32-arm.c:11830 elf32-arm.c:11841
+#: elf32-arm.c:12143 elf32-arm.c:12154
 #, c-format
 msgid " [sorted symbol table]"
 msgstr " [lajiteltu symbolitaulu]"
 
-#: elf32-arm.c:11832 elf32-arm.c:11843
+#: elf32-arm.c:12145 elf32-arm.c:12156
 #, c-format
 msgid " [unsorted symbol table]"
 msgstr " [lajittelematon symbolitaulu]"
 
-#: elf32-arm.c:11838
+#: elf32-arm.c:12151
 #, c-format
 msgid " [Version2 EABI]"
 msgstr " [Versio 2 EABI]"
 
-#: elf32-arm.c:11846
+#: elf32-arm.c:12159
 #, c-format
 msgid " [dynamic symbols use segment index]"
 msgstr " [dynaamiset symbolit kÃ¤yttÃ¤vÃ¤t segmentti-indeksiÃ¤]"
 
-#: elf32-arm.c:11849
+#: elf32-arm.c:12162
 #, c-format
 msgid " [mapping symbols precede others]"
 msgstr " [kuvaussymbolit ylittÃ¤vÃ¤t tÃ¤rkeydessÃ¤ muut]"
 
-#: elf32-arm.c:11856
+#: elf32-arm.c:12169
 #, c-format
 msgid " [Version3 EABI]"
 msgstr " [Versio 3 EABI]"
 
-#: elf32-arm.c:11860
+#: elf32-arm.c:12173
 #, c-format
 msgid " [Version4 EABI]"
 msgstr " [Versio 4 EABI]"
 
-#: elf32-arm.c:11864
+#: elf32-arm.c:12177
 #, c-format
 msgid " [Version5 EABI]"
 msgstr " [Versio 5 EABI]"
 
-#: elf32-arm.c:11867
+#: elf32-arm.c:12180
+#, c-format
+msgid " [soft-float ABI]"
+msgstr " [ohjelmistoliukuluku-ABI]"
+
+#: elf32-arm.c:12183
+#, c-format
+msgid " [hard-float ABI]"
+msgstr " [laitteistoliukuluku-ABI]"
+
+#: elf32-arm.c:12189
 #, c-format
 msgid " [BE8]"
 msgstr " [BE8]"
 
-#: elf32-arm.c:11870
+#: elf32-arm.c:12192
 #, c-format
 msgid " [LE8]"
 msgstr " [LE8]"
 
-#: elf32-arm.c:11876
+#: elf32-arm.c:12198
 #, c-format
 msgid " <EABI version unrecognised>"
 msgstr " <EABI-versio tunnistamaton>"
 
-#: elf32-arm.c:11883
+#: elf32-arm.c:12205
 #, c-format
 msgid " [relocatable executable]"
 msgstr " [sijoitettava suoritettava tiedosto]"
 
-#: elf32-arm.c:11886
+#: elf32-arm.c:12208
 #, c-format
 msgid " [has entry point]"
 msgstr " [on tulokohta]"
 
-#: elf32-arm.c:11891
+#: elf32-arm.c:12213 /src/binutils-gdb/bfd/elfnn-aarch64.c:4648
 #, c-format
 msgid "<Unrecognised flag bits set>"
 msgstr "<Tunnistamaton lippubittijoukko>"
 
-#: elf32-arm.c:12189 elf32-i386.c:1461 elf32-s390.c:1000 elf32-tic6x.c:2829
-#: elf32-tilepro.c:1336 elf32-xtensa.c:1009 elf64-s390.c:960
-#: elf64-x86-64.c:1364 elfxx-sparc.c:1371 elfxx-tilegx.c:1586
+#: elf32-arm.c:12522 elf32-i386.c:1452 elf32-s390.c:1005 elf32-tic6x.c:2812
+#: elf32-tilepro.c:1511 elf32-xtensa.c:999 elf64-s390.c:927
+#: elf64-x86-64.c:1467 elfxx-sparc.c:1415 elfxx-tilegx.c:1728
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:5038
 msgid "%B: bad symbol index: %d"
 msgstr "%B: virheellinen symboli-indeksi: %d"
 
-#: elf32-arm.c:12337 elf64-x86-64.c:1561 elf64-x86-64.c:1732 elfxx-mips.c:8223
+#: elf32-arm.c:12674 elf32-metag.c:2283 elf64-x86-64.c:1593
+#: elf64-x86-64.c:1771 elfxx-mips.c:8482
 msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: sijoitusta %s kohdetta â€�%sâ€� varten ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia; kÃ¤Ã¤nnÃ¤ uudelleen -fPIC-argumentilla"
+msgstr "%B: sijoitusta %s kÃ¤yttÃ¤en â€�%sâ€� ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia; kÃ¤Ã¤nnÃ¤ uudelleen -fPIC-argumentilla"
 
-#: elf32-arm.c:13460
+#: elf32-arm.c:13796
 #, c-format
 msgid "Errors encountered processing file %s"
 msgstr "Kohdattiin virheitÃ¤ prosessoitaessa tiedostoa %s"
 
-#: elf32-arm.c:14837
+#: elf32-arm.c:14230
+#, c-format
+msgid "error: required section '%s' not found in the linker script"
+msgstr "virhe: vaadittua lohkoa â€™%sâ€™ ei lÃ¶ytynyt linkkeriskriptistÃ¤"
+
+#: elf32-arm.c:15252
 msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
 msgstr "%B: virhe: Cortex-A8 virhe-stub on varattu turvattomaan paikkaan"
 
 #. There's not much we can do apart from complain if this
 #. happens.
-#: elf32-arm.c:14864
+#: elf32-arm.c:15279
 msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
 msgstr "%B: virhe: Cortex-A8 virhe-stub lukualueen ulkopuolella (syÃ¶tetiedoston on liian iso)"
 
-#: elf32-arm.c:14958 elf32-arm.c:14980
+#: elf32-arm.c:15373 elf32-arm.c:15395
 msgid "%B: error: VFP11 veneer out of range"
 msgstr "%B: virhe: VFP11-julkisivu lukualueen ulkopuolella"
 
-#: elf32-arm.c:15518
+#: elf32-arm.c:16020
 msgid "error: %B is already in final BE8 format"
 msgstr "virhe: %B on jo lopullisessa BE8-muodossa"
 
-#: elf32-arm.c:15594
+#: elf32-arm.c:16096
 msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
 msgstr "virhe: LÃ¤hdeobjektissa %B on EABI-versio %d, mutta kohteessa %B on EABI-versio %d"
 
-#: elf32-arm.c:15610
+#: elf32-arm.c:16112
 msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
 msgstr "virhe: %B on kÃ¤Ã¤nnetty APCS-%d:lle, kun taas kohde %B kÃ¤yttÃ¤Ã¤ APCS-%d:ta"
 
 #  Vector floating point (coprosessor)
-#: elf32-arm.c:15635
+#: elf32-arm.c:16137
 msgid "error: %B uses VFP instructions, whereas %B does not"
 msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ vektoriliukulukukÃ¤skyjÃ¤, kun taas %B ei kÃ¤ytÃ¤"
 
 #  Floating Point Accelerator (chip)
-#: elf32-arm.c:15639
+#: elf32-arm.c:16141
 msgid "error: %B uses FPA instructions, whereas %B does not"
 msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ liukulukukiihdytinkÃ¤skyjÃ¤, kun taas %B ei kÃ¤ytÃ¤"
 
-#: elf32-arm.c:15649
+#: elf32-arm.c:16151
 msgid "error: %B uses Maverick instructions, whereas %B does not"
 msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ Maverick-kÃ¤skyjÃ¤, kun taas %B ei kÃ¤ytÃ¤"
 
-#: elf32-arm.c:15653
+#: elf32-arm.c:16155
 msgid "error: %B does not use Maverick instructions, whereas %B does"
 msgstr "virhe: %B ei kÃ¤ytÃ¤ Maverick-kÃ¤skyjÃ¤, kun taas %B kÃ¤yttÃ¤Ã¤"
 
-#: elf32-arm.c:15672
+#: elf32-arm.c:16174
 msgid "error: %B uses software FP, whereas %B uses hardware FP"
 msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukuja, kun taas %B kÃ¤yttÃ¤Ã¤ laitteistoliukulukuja"
 
-#: elf32-arm.c:15676
+#: elf32-arm.c:16178
 msgid "error: %B uses hardware FP, whereas %B uses software FP"
 msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ laitteistoliukulukuja, kun taas %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukuja"
 
-#: elf32-avr.c:1229 elf32-bfin.c:3221 elf32-cris.c:2089 elf32-epiphany.c:567
-#: elf32-fr30.c:617 elf32-frv.c:4113 elf32-i860.c:1219 elf32-ip2k.c:1479
-#: elf32-iq2000.c:692 elf32-m32c.c:561 elf32-mep.c:543 elf32-moxie.c:290
-#: elf32-msp430.c:494 elf32-mt.c:399 elf32-openrisc.c:412 elf32-tilepro.c:3222
-#: elf32-v850.c:2151 elf32-xstormy16.c:943 elf64-mmix.c:1598
-#: elfxx-tilegx.c:3585
+#: elf32-avr.c:1264 elf32-bfin.c:3228 elf32-cris.c:2024 elf32-epiphany.c:568
+#: elf32-fr30.c:597 elf32-frv.c:4047 elf32-i860.c:1220 elf32-ip2k.c:1479
+#: elf32-iq2000.c:696 elf32-m32c.c:561 elf32-mep.c:543 elf32-metag.c:2000
+#: elf32-moxie.c:290 elf32-msp430.c:1325 elf32-mt.c:399 elf32-openrisc.c:412
+#: elf32-tilepro.c:3674 elf32-v850.c:2289 elf32-xstormy16.c:944
+#: elf64-mmix.c:1546 elfxx-tilegx.c:4059
 msgid "internal error: dangerous relocation"
 msgstr "sisÃ¤inen virhe: vaarallinen sijoitus"
 
-#: elf32-avr.c:2415 elf32-hppa.c:598 elf32-m68hc1x.c:166
+#: elf32-avr.c:2476 elf32-hppa.c:578 elf32-m68hc1x.c:160 elf32-metag.c:1197
+#: elf32-nios2.c:1357
 msgid "%B: cannot create stub entry %s"
 msgstr "%B: ei voi luoda stub-tulokohtaa %s"
 
@@ -1292,121 +1348,121 @@ msgstr "%B: ei voi luoda stub-tulokohtaa
 msgid "relocation should be even number"
 msgstr "sijoituksen pitÃ¤isi olla parillinen numero"
 
-#: elf32-bfin.c:1593
+#: elf32-bfin.c:1601
 msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
 msgstr "%B(%A+0x%lx): ratkaisematon sijoitus symboliin â€�%sâ€�"
 
-#: elf32-bfin.c:1626 elf32-i386.c:4307 elf32-m68k.c:4233 elf32-s390.c:3055
-#: elf64-s390.c:3030 elf64-x86-64.c:4151
+#: elf32-bfin.c:1634 elf32-i386.c:4406 elf32-m68k.c:4197 elf32-s390.c:3364
+#: elf64-s390.c:3290 elf64-x86-64.c:4506
 msgid "%B(%A+0x%lx): reloc against `%s': error %d"
-msgstr "%B(%A+0x%lx): reloc-tietue kohdetta â€�%sâ€� varten: virhe %d"
+msgstr "%B(%A+0x%lx): reloc-tietue kÃ¤yttÃ¤en kohdetta â€�%sâ€�: virhe %d"
 
-#: elf32-bfin.c:2725
+#: elf32-bfin.c:2732
 msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
 msgstr "%B: sijoitus kohteessa â€�%A+0x%xâ€� viittaa symboliin â€�%sâ€�, jossa on ei-nolla-yhteenlaskettava"
 
-#: elf32-bfin.c:2741
+#: elf32-bfin.c:2748
 msgid "relocation references symbol not defined in the module"
 msgstr "sijoitusviitteet-symboli ei ole mÃ¤Ã¤ritelty modulissa"
 
-#: elf32-bfin.c:2838
+#: elf32-bfin.c:2845
 msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC viittaa dynaamiseen symboliin, jossa on ei-nolla-yhteenlaskettava"
 
-#: elf32-bfin.c:2879 elf32-bfin.c:3002
+#: elf32-bfin.c:2886 elf32-bfin.c:3009
 msgid "cannot emit fixups in read-only section"
 msgstr "ei voi lÃ¤hettÃ¤Ã¤ korjauksia kirjoitussuojattuun lohkoon"
 
-#: elf32-bfin.c:2910 elf32-bfin.c:3040 elf32-lm32.c:1103 elf32-sh.c:5016
+#: elf32-bfin.c:2917 elf32-bfin.c:3047 elf32-lm32.c:1095 elf32-sh.c:4913
 msgid "cannot emit dynamic relocations in read-only section"
-msgstr "ei voi lÃ¤hettÃ¤Ã¤ dynaamisia sijoituksia kirjoitussuojattussa lohkossa"
+msgstr "ei voi lÃ¤hettÃ¤Ã¤ dynaamisia sijoituksia kirjoitussuojatussa lohkossa"
 
-#: elf32-bfin.c:2960
+#: elf32-bfin.c:2967
 msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
 msgstr "R_BFIN_FUNCDESC_VALUE viittaa dynaamiseen symboliin, jossa on ei-nolla-yhteenlaskettava"
 
-#: elf32-bfin.c:3125
+#: elf32-bfin.c:3132
 msgid "relocations between different segments are not supported"
 msgstr "sijoituksia eri segmenttien vÃ¤lillÃ¤ ei tueta"
 
-#: elf32-bfin.c:3126
+#: elf32-bfin.c:3133
 msgid "warning: relocation references a different segment"
 msgstr "varoitus: sijoitus viittaa eri segmenttiin"
 
-#: elf32-bfin.c:4971
+#: elf32-bfin.c:4907
 msgid "%B: unsupported relocation type %i"
 msgstr "%B: ei-tuettu sijoitustyyppi %i"
 
 #  The FR-V FDPIC ABI: The FDPIC register is used as a base register for accessing the global offset table (GOT) and function descriptors.
 #  Yksi prosessorin rekistereistÃ¤ on nimetty fdpic-rekisteriksi milloin data- ja tekstilohkot ovat sijoitettavia (eli niiden siirros ei ole vakio).
-#: elf32-bfin.c:5125 elf32-frv.c:6808
+#: elf32-bfin.c:4995 elf32-frv.c:6600
 #, c-format
 msgid "%s: cannot link non-fdpic object file into fdpic executable"
 msgstr "%s: ei voi linkittÃ¤Ã¤ objektitiedostoa ilman fdpic-rekisteriÃ¤ suoritettavaan tiedostoon, joka kÃ¤yttÃ¤Ã¤ fdpic-rekisteriÃ¤"
 
-#: elf32-bfin.c:5129 elf32-frv.c:6812
+#: elf32-bfin.c:4999 elf32-frv.c:6604
 #, c-format
 msgid "%s: cannot link fdpic object file into non-fdpic executable"
 msgstr "%s: ei voi linkittÃ¤Ã¤ fdpic-rekisteriÃ¤ kÃ¤yttÃ¤vÃ¤Ã¤ objektitiedostoa suoritettavaan tiedostoon, joka ei kÃ¤ytÃ¤ fdpic-rekisteriÃ¤"
 
-#: elf32-bfin.c:5283
+#: elf32-bfin.c:5153
 #, c-format
 msgid "*** check this relocation %s"
 msgstr "*** tarkista tÃ¤mÃ¤ sijoitus %s"
 
-#: elf32-cris.c:1176
+#: elf32-cris.c:1110
 msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
-msgstr "%B, lohko %A: ratkaisematon sijoitus %s symbolia â€�%sâ€� varten"
+msgstr "%B, lohko %A: ratkaisematon sijoitus %s kÃ¤yttÃ¤en symbolia â€�%sâ€�"
 
 #  Procedure Linkage Table (PLT) and Global Offset Table (GOT)
-#: elf32-cris.c:1238
+#: elf32-cris.c:1172
 msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
-msgstr "%B, lohko %A: Ei proseduurilinkitystaulua eikÃ¤ yleissiirrostaulua sijoitukselle %s symbolia â€�%sâ€� varten"
+msgstr "%B, lohko %A: Ei proseduurilinkitystaulua eikÃ¤ yleissiirrostaulua sijoitukselle %s kÃ¤yttÃ¤en symbolia â€�%sâ€�"
 
-#: elf32-cris.c:1240
+#: elf32-cris.c:1174
 msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
-msgstr "%B, lohko %A: Ei proseduurilinkitystaulua sijoituksille %s symbolia â€�%sâ€� varten"
+msgstr "%B, lohko %A: Ei proseduurilinkitystaulua sijoituksille %s kÃ¤yttÃ¤en symbolia â€�%sâ€�"
 
-#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1639 elf32-cris.c:1722
-#: elf32-cris.c:1875 elf32-tic6x.c:2662
+#: elf32-cris.c:1180 elf32-cris.c:1313 elf32-cris.c:1573 elf32-cris.c:1656
+#: elf32-cris.c:1809 elf32-tic6x.c:2645
 msgid "[whose name is lost]"
 msgstr "[jonka nimi on kadonnut]"
 
-#: elf32-cris.c:1365 elf32-tic6x.c:2647
+#: elf32-cris.c:1299 elf32-tic6x.c:2630
 msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol"
-msgstr "%B, lohko %A: sijoitus %s ei-nolla-yhteenlaskettavalla %d paikallista symbolia varten"
+msgstr "%B, lohko %A: sijoitus %s ei-nolla-yhteenlaskettavalla %d kÃ¤yttÃ¤en paikallista symbolia"
 
-#: elf32-cris.c:1373 elf32-cris.c:1716 elf32-cris.c:1869 elf32-tic6x.c:2655
+#: elf32-cris.c:1307 elf32-cris.c:1650 elf32-cris.c:1803 elf32-tic6x.c:2638
 msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
-msgstr "%B, lohko %A: sijoitus %s ei-nolla-yhteenlaskettavalla %d symbolia â€�%sâ€� varten"
+msgstr "%B, lohko %A: sijoitus %s ei-nolla-yhteenlaskettavalla %d kÃ¤yttÃ¤en symbolia â€�%sâ€�"
 
-#: elf32-cris.c:1399
+#: elf32-cris.c:1333
 msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
 msgstr "%B, lohko %A: sijoitusta %s ei sallita yleissymbolille: â€�%sâ€�"
 
-#: elf32-cris.c:1415
+#: elf32-cris.c:1349
 msgid "%B, section %A: relocation %s with no GOT created"
 msgstr "%B, lohko %A: sijoitus %s ilman yleissiirrostaulun luontia"
 
 #. We shouldn't get here for GCC-emitted code.
-#: elf32-cris.c:1630
+#: elf32-cris.c:1564
 msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
 msgstr "%B, lohkon %A: sijoituksella %s on mÃ¤Ã¤rittelemÃ¤tÃ¶n viite â€�%sâ€�, ehkÃ¤ esittelysekaannus?"
 
-#: elf32-cris.c:2002
+#: elf32-cris.c:1937
 msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
 msgstr "%B, lohko %A: sijoitusta %s ei sallita symbolille: â€�%sâ€�, joka mÃ¤Ã¤ritellÃ¤Ã¤n ohjelman ulkopuolella, ehkÃ¤ esittelysekaannus?"
 
-#: elf32-cris.c:2055
+#: elf32-cris.c:1990
 msgid "(too many global variables for -fpic: recompile with -fPIC)"
 msgstr "(liian monta yleismuuttujaa valitsimelle -fpic: kÃ¤Ã¤nnÃ¤ uudelleen valitsimella -fPIC)"
 
-#: elf32-cris.c:2062
+#: elf32-cris.c:1997
 msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
 msgstr "(sÃ¤ikeen paikallinen data liian iso valitsimelle -fpic tai -msmall-tls: kÃ¤Ã¤nnÃ¤ uudelleen valitsimella -fPIC tai -mno-small-tls)"
 
 #  position-independent code (PIC)
-#: elf32-cris.c:3261
+#: elf32-cris.c:3234
 msgid ""
 "%B, section %A:\n"
 "  v10/v32 compatible object %s must not contain a PIC relocation"
@@ -1414,7 +1470,7 @@ msgstr ""
 "%B, lohko %A:\n"
 "  v10/v32 yhteensopiva objekti %s ei saa sisÃ¤ltÃ¤Ã¤ paikkariippumatonta koodisijoitusta"
 
-#: elf32-cris.c:3366
+#: elf32-cris.c:3342
 msgid ""
 "%B, section %A:\n"
 "  relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
@@ -1422,7 +1478,7 @@ msgstr ""
 "%B, lohko %A:\n"
 "  sijoitusta %s ei pitÃ¤isi kÃ¤yttÃ¤Ã¤ jaetussa objektissa; tyypillisesti valitsinsekaannus, kÃ¤Ã¤nnÃ¤ uudelleen argumentilla -fPIC"
 
-#: elf32-cris.c:3580
+#: elf32-cris.c:3556
 msgid ""
 "%B, section %A:\n"
 "  relocation %s should not be used in a shared object; recompile with -fPIC"
@@ -1430,7 +1486,7 @@ msgstr ""
 "%B, lohko %A:\n"
 "  sijoitusta %s ei pitÃ¤isi kÃ¤yttÃ¤Ã¤ jaettussa objektissa; kÃ¤Ã¤nnÃ¤ uudelleen argumentilla -fPIC"
 
-#: elf32-cris.c:4002
+#: elf32-cris.c:3978
 msgid ""
 "%B, section `%A', to symbol `%s':\n"
 "  relocation %s should not be used in a shared object; recompile with -fPIC"
@@ -1438,39 +1494,39 @@ msgstr ""
 "%B, lohko â€�%Aâ€�, symboliin â€�%sâ€�:\n"
 "  sijoitusta %s ei pitÃ¤isi kÃ¤yttÃ¤Ã¤ jaettussa objektissa; kÃ¤Ã¤nnÃ¤ uudelleen argumentilla -fPIC"
 
-#: elf32-cris.c:4118
+#: elf32-cris.c:4091
 msgid "Unexpected machine number"
 msgstr "Odottamaton konenumero"
 
-#: elf32-cris.c:4172
+#: elf32-cris.c:4142
 #, c-format
 msgid " [symbols have a _ prefix]"
 msgstr " [symboleissa on â€�_â€�-etuliite]"
 
-#: elf32-cris.c:4175
+#: elf32-cris.c:4145
 #, c-format
 msgid " [v10 and v32]"
 msgstr " [v10 ja v32]"
 
-#: elf32-cris.c:4178
+#: elf32-cris.c:4148
 #, c-format
 msgid " [v32]"
 msgstr " [v32]"
 
-#: elf32-cris.c:4223
+#: elf32-cris.c:4191
 msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
 msgstr "%B: kÃ¤yttÃ¤Ã¤ â€�_â€�-etuliitesymboleja, mutta kirjoittaa tiedoston ilman etuliitesymboleja"
 
-#: elf32-cris.c:4224
+#: elf32-cris.c:4192
 msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
 msgstr "%B: kÃ¤yttÃ¤Ã¤ ilman etuliitesymboleja, mutta kirjoittaa tiedoston â€�_â€�-etuliitesymboleilla"
 
 #  CRIS v32 info: The chip with the CRIS v32 core.
-#: elf32-cris.c:4243
+#: elf32-cris.c:4211
 msgid "%B contains CRIS v32 code, incompatible with previous objects"
 msgstr "%B sisÃ¤ltÃ¤Ã¤ â€�CRIS v32â€�-koodia, ei ole yhteensopiva aiempien objektien kanssa"
 
-#: elf32-cris.c:4245
+#: elf32-cris.c:4213
 msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
 msgstr "%B ei sisÃ¤llÃ¤ â€�CRIS-v32â€�-koodia, yhteensopimaton aiempien objektien kanssa"
 
@@ -1485,116 +1541,116 @@ msgid "BFD Link Error: jump (PC rel26) t
 msgstr "BFD-linkitysvirhe: hyppy (PC rel26) lohkoon (%s) ei ole tuettu"
 
 #. Only if it's not an unresolved symbol.
-#: elf32-epiphany.c:563 elf32-ip2k.c:1475
+#: elf32-epiphany.c:564 elf32-ip2k.c:1475
 msgid "unsupported relocation between data/insn address spaces"
 msgstr "ei-tuettu sijoitus data/kÃ¤skyosoitetilojen vÃ¤lillÃ¤"
 
-#: elf32-frv.c:1509 elf32-frv.c:1658
+#: elf32-frv.c:1460 elf32-frv.c:1609
 msgid "relocation requires zero addend"
 msgstr "sijoitus vaatii nolla-yhteenlaskettavan"
 
-#: elf32-frv.c:2888
+#: elf32-frv.c:2822
 msgid "%H: relocation to `%s+%v' may have caused the error above\n"
 msgstr "%H: sijoitus kohteeseen â€�%s+%vâ€� saattaa olla ylÃ¤puolella olevan virheen aiheuttama\n"
 
-#: elf32-frv.c:2905
+#: elf32-frv.c:2839
 msgid "%H: relocation references symbol not defined in the module\n"
 msgstr "%H: sijoitusviitteet-symboli ei ole mÃ¤Ã¤ritelty modulissa\n"
 
-#: elf32-frv.c:2981
+#: elf32-frv.c:2915
 msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
 msgstr "%H: R_FRV_GETTLSOFF ei sovelleta kutsukÃ¤skyyn\n"
 
-#: elf32-frv.c:3022
+#: elf32-frv.c:2956
 msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
 msgstr "%H: R_FRV_GOTTLSDESC12 ei sovelleta â€�lddiâ€�-kÃ¤skyyn\n"
 
-#: elf32-frv.c:3093
+#: elf32-frv.c:3027
 msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
 msgstr "%H: R_FRV_GOTTLSDESCHI ei sovelleta â€�sethiâ€�-kÃ¤skyyn\n"
 
-#: elf32-frv.c:3130
+#: elf32-frv.c:3064
 msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
 msgstr "%H: R_FRV_GOTTLSDESCLO ei sovelleta â€�setloâ€�- tai â€�setlosâ€�-kÃ¤skyyn\n"
 
-#: elf32-frv.c:3177
+#: elf32-frv.c:3111
 msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
 msgstr "%H: R_FRV_TLSDESC_RELAX ei sovelleta â€�lddâ€�-kÃ¤skyyn\n"
 
 #  msgid-virhe: calll, eli yksi Ã¤llÃ¤ liikaa
-#: elf32-frv.c:3261
+#: elf32-frv.c:3195
 msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
 msgstr "%H: R_FRV_GETTLSOFF_RELAX ei sovelleta kutsukÃ¤skyyn\n"
 
-#: elf32-frv.c:3315
+#: elf32-frv.c:3249
 msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
 msgstr "%H: R_FRV_GOTTLSOFF12 ei sovelleta â€�ldiâ€�-kÃ¤skyyn\n"
 
-#: elf32-frv.c:3345
+#: elf32-frv.c:3279
 msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
 msgstr "%H: R_FRV_GOTTLSOFFHI ei sovelleta â€�sethiâ€�-kÃ¤skyyn\n"
 
-#: elf32-frv.c:3374
+#: elf32-frv.c:3308
 msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
 msgstr "%H: R_FRV_GOTTLSOFFLO ei sovelleta â€�setloâ€�- tai â€�setlosâ€�-kÃ¤skyyn\n"
 
-#: elf32-frv.c:3404
+#: elf32-frv.c:3338
 msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
 msgstr "%H: R_FRV_TLSOFF_RELAX ei sovelleta â€�ldâ€�-kÃ¤skyyn\n"
 
-#: elf32-frv.c:3449
+#: elf32-frv.c:3383
 msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
 msgstr "%H: R_FRV_TLSMOFFHI ei sovelleta â€�sethiâ€�-kÃ¤skyyn\n"
 
-#: elf32-frv.c:3476
+#: elf32-frv.c:3410
 msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
 msgstr "R_FRV_TLSMOFFLO ei sovelleta â€�setloâ€�- tai â€�setlosâ€�-kÃ¤skyyn\n"
 
-#: elf32-frv.c:3597
+#: elf32-frv.c:3531
 msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
 msgstr "%H: R_FRV_FUNCDESC viittaa dynaamiseen symboliin ei-nolla-yhteenlaskettavalla\n"
 
-#: elf32-frv.c:3638 elf32-frv.c:3760
+#: elf32-frv.c:3572 elf32-frv.c:3694
 msgid "%H: cannot emit fixups in read-only section\n"
 msgstr "%H: ei voi lÃ¤hettÃ¤Ã¤ korjauksia kirjoitussuojattuun lohkoon\n"
 
-#: elf32-frv.c:3669 elf32-frv.c:3803
+#: elf32-frv.c:3603 elf32-frv.c:3737
 msgid "%H: cannot emit dynamic relocations in read-only section\n"
 msgstr "%H: ei voi lÃ¤hettÃ¤Ã¤ dynaamisia sijoituksia kirjoitussuojattussa lohkossa\n"
 
-#: elf32-frv.c:3718
+#: elf32-frv.c:3652
 msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
 msgstr "%H: R_FRV_FUNCDESC_VALUE viittaa dynaamiseen symboliin ei-nolla-yhteenlaskettavalla\n"
 
-#: elf32-frv.c:3974
+#: elf32-frv.c:3908
 msgid "%H: reloc against `%s' references a different segment\n"
 msgstr "%H: sijoitus kohteeseen â€�%sâ€� viittaa eri segmenttiin\n"
 
-#: elf32-frv.c:4124
+#: elf32-frv.c:4058
 msgid "%H: reloc against `%s': %s\n"
-msgstr "%H: reloc-tietue â€�%sâ€�: %s varten\n"
+msgstr "%H: reloc-tietue kÃ¤yttÃ¤en kohdetta â€�%sâ€�: %s\n"
 
-#: elf32-frv.c:6400
+#: elf32-frv.c:6265
 msgid "%B: unsupported relocation type %i\n"
 msgstr "%B: ei-tuettu sijoitustyyppi %i\n"
 
-#: elf32-frv.c:6722
+#: elf32-frv.c:6514
 #, c-format
 msgid "%s: compiled with %s and linked with modules that use non-pic relocations"
 msgstr "%s: kÃ¤Ã¤nnetty %s:n kanssa ja linkitetty paikkariippuvaisia koodisijoituksia kÃ¤yttÃ¤vien modulien kanssa"
 
-#: elf32-frv.c:6775 elf32-iq2000.c:845 elf32-m32c.c:807
+#: elf32-frv.c:6567 elf32-iq2000.c:828 elf32-m32c.c:812
 #, c-format
 msgid "%s: compiled with %s and linked with modules compiled with %s"
 msgstr "%s: kÃ¤Ã¤nnetty %s:n kanssa ja linkitetty moduleihin, jotka on kÃ¤Ã¤nnetty %s:n kanssa"
 
-#: elf32-frv.c:6787
+#: elf32-frv.c:6579
 #, c-format
 msgid "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
 msgstr "%s: kÃ¤yttÃ¤Ã¤ erilaisia tuntemattomia â€�e_flags (0x%lx)â€�-kenttiÃ¤ kuin edelliset modulit (0x%lx)"
 
-#: elf32-frv.c:6837 elf32-iq2000.c:882 elf32-m32c.c:843 elf32-mt.c:576
-#: elf32-rx.c:3001
+#: elf32-frv.c:6627 elf32-iq2000.c:865 elf32-m32c.c:848 elf32-mt.c:561
+#: elf32-rl78.c:1069 elf32-rx.c:3040 elf64-ppc.c:5839
 #, c-format
 msgid "private flags = 0x%lx:"
 msgstr "yksityiset liput = 0x%lx:"
@@ -1603,89 +1659,90 @@ msgstr "yksityiset liput = 0x%lx:"
 msgid "%B: Relocations in generic ELF (EM: %d)"
 msgstr "%B: Sijoituksia geneerisessÃ¤ ELF (EM: %d):ssa"
 
-#: elf32-hppa.c:850 elf32-hppa.c:3598
+#: elf32-hppa.c:830 elf32-hppa.c:3592
 msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
 msgstr "%B(%A+0x%lx): ei tavoita kohdetta %s, kÃ¤Ã¤nnÃ¤ uudelleen â€�-ffunction-sectionsâ€�-valitsimilla"
 
-#: elf32-hppa.c:1284
+#: elf32-hppa.c:1268
 msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
 msgstr "%B: sijoitusta %s ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia; kÃ¤Ã¤nnÃ¤ uudelleen â€�-fPICâ€�-argumentilla"
 
-#: elf32-hppa.c:2791
+#: elf32-hppa.c:2781
 msgid "%B: duplicate export stub %s"
 msgstr "%B: vienti-stubin %s kaksoiskappale"
 
-#: elf32-hppa.c:3437
+#: elf32-hppa.c:3427
 msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
 msgstr "%B(%A+0x%lx): %s korjaus kÃ¤skylle 0x%x ei ole tuettu ei-jaetussa linkissÃ¤"
 
-#: elf32-hppa.c:4284
+#: elf32-hppa.c:4279
 msgid "%B(%A+0x%lx): cannot handle %s for %s"
 msgstr "%B(%A+0x%lx): ei voi kÃ¤sitellÃ¤ %s kohteelle %s"
 
-#: elf32-hppa.c:4603
+#: elf32-hppa.c:4598
 msgid ".got section not immediately after .plt section"
 msgstr "â€�.gotâ€�-alilohko ei ole vÃ¤littÃ¶mÃ¤sti â€�.pltâ€�-lohkon jÃ¤lkeen"
 
 #. Unknown relocation.
-#: elf32-i386.c:373 elf32-m68k.c:384 elf32-ppc.c:1676 elf32-s390.c:379
-#: elf32-tic6x.c:2684 elf64-ppc.c:2300 elf64-s390.c:403 elf64-x86-64.c:265
+#: elf32-i386.c:380 elf32-m68k.c:353 elf32-ppc.c:2035 elf32-s390.c:345
+#: elf32-tic6x.c:2667 elf64-ppc.c:2427 elf64-s390.c:371 elf64-x86-64.c:281
 msgid "%B: invalid relocation type %d"
 msgstr "%B: virheellinen sijoitustyyppi %d"
 
-#: elf32-i386.c:1404 elf64-x86-64.c:1308
+#: elf32-i386.c:1394 elf64-x86-64.c:1410
 msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
-msgstr "%B: TLS-siirros kohteesta %s kohteeseen %s kohdetta â€�%sâ€� varten osoitteessa 0x%lx lohkossa â€�%Aâ€� epÃ¤onnistui"
-
-#: elf32-i386.c:1549 elf32-i386.c:3244 elf64-x86-64.c:1487 elf64-x86-64.c:3125
-#: elfxx-sparc.c:3083
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
-msgstr "%B: sijoitusta %s kohteen STT_GNU_IFUNC-symbolia â€�%sâ€� varten ei kÃ¤sittele %s"
+msgstr "%B: TLS-siirros kohteesta %s kohteeseen %s kÃ¤yttÃ¤en kohdetta â€�%sâ€� osoitteessa 0x%lx lohkossa â€�%Aâ€� epÃ¤onnistui"
 
-#: elf32-i386.c:1711 elf32-s390.c:1182 elf32-sh.c:6362 elf32-tilepro.c:1434
-#: elf32-xtensa.c:1182 elf64-s390.c:1151 elfxx-sparc.c:1548
-#: elfxx-tilegx.c:1701
+#: elf32-i386.c:1642 elf32-s390.c:1233 elf32-sh.c:6263 elf32-tilepro.c:1627
+#: elf32-xtensa.c:1176 elf64-s390.c:1166 elfxx-sparc.c:1596
+#: elfxx-tilegx.c:1836
 msgid "%B: `%s' accessed both as normal and thread local symbol"
 msgstr "%B: â€�%sâ€� haettu sekÃ¤ normaalina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina"
 
-#: elf32-i386.c:2539 elf64-x86-64.c:2506
+#: elf32-i386.c:2500 elf64-x86-64.c:2582
 msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'.\n"
-msgstr "%P: %B: varoitus: sijoitus â€�%sâ€� varten kirjoitussuojatussa lohkossa â€�%Aâ€�.\n"
+msgstr "%P: %B: varoitus: sijoitus kÃ¤yttÃ¤en kohdetta â€�%sâ€� kirjoitussuojatussa lohkossa â€�%Aâ€�.\n"
 
-#: elf32-i386.c:2629 elf64-x86-64.c:2593
+#: elf32-i386.c:2740 elf64-x86-64.c:2820
 msgid "%P: %B: warning: relocation in readonly section `%A'.\n"
 msgstr "%P: %B: varoitus: sijoitus kirjoitussuojatussa lohkossa â€�%Aâ€�.\n"
 
-#: elf32-i386.c:3086 elf32-tilepro.c:2557 elfxx-tilegx.c:2871
+#: elf32-i386.c:3207 elf32-tilepro.c:2873 elf64-x86-64.c:3275
+#: elfxx-tilegx.c:3172 /src/binutils-gdb/bfd/elfnn-aarch64.c:4099
 msgid "%B: unrecognized relocation (0x%x) in section `%A'"
 msgstr "%B: tunnistamaton sijoitus (0x%x) lohkossa â€�%Aâ€�"
 
-#: elf32-i386.c:3494 elf64-x86-64.c:3513
+#: elf32-i386.c:3368 elf64-x86-64.c:3380 elfxx-sparc.c:3150
+#: /src/binutils-gdb/bfd/elfnn-aarch64.c:3496
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
+msgstr "%B: sijoitusta %s kÃ¤yttÃ¤en kohteen STT_GNU_IFUNC-symbolia â€�%sâ€� ei kÃ¤sittele %s"
+
+#: elf32-i386.c:3610 elf64-x86-64.c:3777
 msgid "hidden symbol"
 msgstr "piilotettu symboli"
 
-#: elf32-i386.c:3497 elf64-x86-64.c:3516
+#: elf32-i386.c:3613 elf64-x86-64.c:3780
 msgid "internal symbol"
 msgstr "sisÃ¤inen symboli"
 
-#: elf32-i386.c:3500 elf64-x86-64.c:3519
+#: elf32-i386.c:3616 elf64-x86-64.c:3783
 msgid "protected symbol"
 msgstr "suojattu symboli"
 
-#: elf32-i386.c:3503 elf64-x86-64.c:3522
+#: elf32-i386.c:3619 elf64-x86-64.c:3786
 msgid "symbol"
 msgstr "symboli"
 
-#: elf32-i386.c:3508
+#: elf32-i386.c:3624
 msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
-msgstr "%B: R_386_GOTOFF-sijoitusta mÃ¤Ã¤rittelemÃ¤tÃ¶ntÃ¤ %s â€�%sâ€� varten ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia"
+msgstr "%B: R_386_GOTOFF-sijoitusta kÃ¤yttÃ¤en mÃ¤Ã¤rittelemÃ¤tÃ¶ntÃ¤ %s â€�%sâ€� ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia"
 
-#: elf32-i386.c:3518
+#: elf32-i386.c:3635
 msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object"
-msgstr "%B: R_386_GOTOFF-sijoitusta suojattua funktiota â€�%sâ€� varten ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia"
+msgstr "%B: R_386_GOTOFF-sijoitusta suojattua kÃ¤yttÃ¤en funktiota â€�%sâ€� ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia"
 
-#: elf32-i386.c:4839 elf32-tilepro.c:3467 elf64-x86-64.c:4609
-#: elfxx-tilegx.c:3847
+#: elf32-i386.c:4923 elf32-tilepro.c:3923 elf64-x86-64.c:4964
+#: elfxx-tilegx.c:4326 /src/binutils-gdb/bfd/elfnn-aarch64.c:7105
 #, c-format
 msgid "discarded output section: `%A'"
 msgstr "hylÃ¤tty tulostelohko: â€�%Aâ€�"
@@ -1710,20 +1767,20 @@ msgstr "ip2k-linkkeri: puuttuva sivukÃ¤s
 msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
 msgstr "ip2k-linkkeri: redundanssisivukÃ¤sky kohteessa 0x%08lx (kohde = 0x%08lx)."
 
-#: elf32-iq2000.c:858 elf32-m32c.c:819
+#: elf32-iq2000.c:841 elf32-m32c.c:824
 #, c-format
 msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
 msgstr "%s: kÃ¤yttÃ¤Ã¤ eri â€�e_flags (0x%lx)â€�-kenttiÃ¤ kuin edelliset modulit (0x%lx)"
 
-#: elf32-lm32.c:706
+#: elf32-lm32.c:698 elf32-nios2.c:2191
 msgid "global pointer relative relocation when _gp not defined"
 msgstr "yleisosoitinsuhteellinen sijoitus kun â€�_gpâ€� ei ole mÃ¤Ã¤ritelty"
 
-#: elf32-lm32.c:761
+#: elf32-lm32.c:753 elf32-nios2.c:2623
 msgid "global pointer relative address out of range"
 msgstr "yleisosoittimen suhteellinen osoite lukualueen ulkopuolella"
 
-#: elf32-lm32.c:1057
+#: elf32-lm32.c:1049
 msgid "internal error: addend should be zero for R_LM32_16_GOT"
 msgstr "sisÃ¤inen virhe: yhteenlaskettavan pitÃ¤isi olla nolla kohteelle R_LM32_16_GOT"
 
@@ -1731,124 +1788,139 @@ msgstr "sisÃ¤inen virhe: yhteenlaskettav
 msgid "SDA relocation when _SDA_BASE_ not defined"
 msgstr "SDA-sijoitus kun â€�_SDA_BASE_â€� ei ole mÃ¤Ã¤ritelty"
 
-#: elf32-m32r.c:3043
+#: elf32-m32r.c:3003
 msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
 msgstr "%B: Kohteen (%s) sijoitus %s on vÃ¤Ã¤rÃ¤ssÃ¤ lohkossa (%A)"
 
-#: elf32-m32r.c:3571
+#: elf32-m32r.c:3529
 msgid "%B: Instruction set mismatch with previous modules"
 msgstr "%B: KÃ¤skyjoukko ei tÃ¤smÃ¤Ã¤ edellisten modulien kanssa"
 
-#: elf32-m32r.c:3592
+#: elf32-m32r.c:3550 elf32-nds32.c:5636
 #, c-format
 msgid "private flags = %lx"
 msgstr "yksityiset liput = %lx"
 
-#: elf32-m32r.c:3597
+#: elf32-m32r.c:3555
 #, c-format
 msgid ": m32r instructions"
 msgstr ": m32r-kÃ¤skyt"
 
-#: elf32-m32r.c:3598
+#: elf32-m32r.c:3556
 #, c-format
 msgid ": m32rx instructions"
 msgstr ": m32rx-kÃ¤skyt"
 
-#: elf32-m32r.c:3599
+#: elf32-m32r.c:3557
 #, c-format
 msgid ": m32r2 instructions"
 msgstr ": m32r2-kÃ¤skyt"
 
-#: elf32-m68hc1x.c:1050
+#: elf32-m68hc1x.c:1114
 #, c-format
 msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
 msgstr "Viite etÃ¤symboliin â€�%sâ€� vÃ¤Ã¤rÃ¤Ã¤ sijoitusta kÃ¤yttÃ¤en saattaa aiheuttaa virheellisen suorituksen"
 
+#: elf32-m68hc1x.c:1150
+#, c-format
+msgid "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code."
+msgstr "XGATE-osoite (%lx) ei ole jaetun RAM(0xE000-0xFFFF)-muistin sisÃ¤llÃ¤, siksi sinun on asetettava siirrososoite manuaalisesti, ja mahdollisesti hallittava sivu koodissasi."
+
 #  memory bank: A physical section of memory.
-#: elf32-m68hc1x.c:1073
+#: elf32-m68hc1x.c:1170
 #, c-format
 msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
 msgstr "muistilohkottu osoite [%lx:%04lx] (%lx) ei ole samassa muistilohkossa kuin nykyinen muistilohkottu osoite [%lx:%04lx] (%lx)"
 
-#: elf32-m68hc1x.c:1092
+#: elf32-m68hc1x.c:1190
 #, c-format
 msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
 msgstr "viite muistilohkottuun osoitteeseen [%lx:%04lx] tavallisessa osoitetilassa osoitteessa %04lx"
 
-#: elf32-m68hc1x.c:1225
+#: elf32-m68hc1x.c:1237
+#, c-format
+msgid "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your code"
+msgstr "S12-osoite (%lx) ei ole jaetun RAM(0x2000-0x4000)-muistin sisÃ¤llÃ¤, siksi sinun on asetettava siirrososoite koodissasi manuaalisesti"
+
+#: elf32-m68hc1x.c:1370
 msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
 msgstr "%B: linkitystiedostot kÃ¤Ã¤nnetty 16-bittisille kokonaisluvuille (-mshort) ja muut 32-bittisille kokonaisluvuille"
 
-#: elf32-m68hc1x.c:1232
+#: elf32-m68hc1x.c:1377
 msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
 msgstr "%B: linkitystiedostot kÃ¤Ã¤nnetty 32-bittiselle double-liukuluvulle (-fshort-double) ja muut 64-bittiselle double-liukuluvulle"
 
-#: elf32-m68hc1x.c:1241
+#: elf32-m68hc1x.c:1386
 msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
 msgstr "%B: linkitystiedostot kÃ¤Ã¤nnetty HCS12:lle, muut kÃ¤Ã¤nnetty HC12:lle"
 
-#: elf32-m68hc1x.c:1257 elf32-ppc.c:4227 elf64-sparc.c:706 elfxx-mips.c:13965
+#: elf32-m68hc1x.c:1402 elf32-ppc.c:4776 elf64-sparc.c:706 elfxx-mips.c:14817
 msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
 msgstr "%B: kÃ¤yttÃ¤Ã¤ eri â€�e_flags (0x%lx)â€�-kenttiÃ¤ kuin edelliset modulit (0x%lx)"
 
-#: elf32-m68hc1x.c:1285
+#: elf32-m68hc1x.c:1430 elf32-xgate.c:677
 #, c-format
 msgid "[abi=32-bit int, "
 msgstr "[abi=32-bittinen kokonaisluku, "
 
-#: elf32-m68hc1x.c:1287
+#: elf32-m68hc1x.c:1432 elf32-xgate.c:679
 #, c-format
 msgid "[abi=16-bit int, "
 msgstr "[abi=16-bittinen kokonaisluku, "
 
-#: elf32-m68hc1x.c:1290
+#: elf32-m68hc1x.c:1435 elf32-xgate.c:682
 #, c-format
 msgid "64-bit double, "
 msgstr "64-bittinen double-liukuluku, "
 
-#: elf32-m68hc1x.c:1292
+#: elf32-m68hc1x.c:1437 elf32-xgate.c:684
 #, c-format
 msgid "32-bit double, "
 msgstr "32-bittinen double-liukuluku, "
 
-#: elf32-m68hc1x.c:1295
+#: elf32-m68hc1x.c:1440
 #, c-format
 msgid "cpu=HC11]"
 msgstr "prosessori=HC11]"
 
-#: elf32-m68hc1x.c:1297
+#: elf32-m68hc1x.c:1442
 #, c-format
 msgid "cpu=HCS12]"
 msgstr "prosessori=HCS12]"
 
-#: elf32-m68hc1x.c:1299
+#: elf32-m68hc1x.c:1444
 #, c-format
 msgid "cpu=HC12]"
 msgstr "prosessori=HC12]"
 
-#: elf32-m68hc1x.c:1302
+#: elf32-m68hc1x.c:1447
 #, c-format
 msgid " [memory=bank-model]"
 msgstr " [muisti=muistilohkomalli]"
 
-#: elf32-m68hc1x.c:1304
+#: elf32-m68hc1x.c:1449
 #, c-format
 msgid " [memory=flat]"
 msgstr " [muisti=litteÃ¤]"
 
-#: elf32-m68k.c:1251 elf32-m68k.c:1252 vms-alpha.c:7314 vms-alpha.c:7329
+#: elf32-m68hc1x.c:1452
+#, c-format
+msgid " [XGATE RAM offsetting]"
+msgstr " [XGATE RAM-siirrososoiteasetus]"
+
+#: elf32-m68k.c:1210 elf32-m68k.c:1211 vms-alpha.c:7207 vms-alpha.c:7222
 msgid "unknown"
 msgstr "tuntematon"
 
-#: elf32-m68k.c:1715
+#: elf32-m68k.c:1674
 msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
 msgstr "%B: Yleissiirrostaulun ylivuoto: 8-bittisellÃ¤ siirrososoitteella varustettujen sijoitusten lukumÃ¤Ã¤rÃ¤ > %d"
 
-#: elf32-m68k.c:1721
+#: elf32-m68k.c:1680
 msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
 msgstr "%B: Yleissiirrostaulun ylivuoto: 8-bittisellÃ¤ tai 16-bittisellÃ¤ siirrososoitteella varustettujen sijoitusten lukumÃ¤Ã¤rÃ¤ > %d"
 
-#: elf32-m68k.c:3957
+#: elf32-m68k.c:3921
 msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
 msgstr "%B(%A+0x%lx): R_68K_TLS_LE32-sijoitukset eivÃ¤t ole sallittuja jaetuissa objekteissa"
 
@@ -1871,135 +1943,298 @@ msgstr "mep: ei reloc-tietuetta koodille
 msgid "MeP: howto %d has type %d"
 msgstr "MeP: kuinka tehdÃ¤ -kohteella %d on tyyppi %d"
 
-#: elf32-mep.c:648
+#: elf32-mep.c:632
 msgid "%B and %B are for different cores"
 msgstr "%B ja %B ovat eri kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ytimille"
 
-#: elf32-mep.c:665
+#: elf32-mep.c:649
 msgid "%B and %B are for different configurations"
 msgstr "%B ja %B ovat eri konfiguraatioille"
 
-#: elf32-mep.c:702
+#: elf32-mep.c:686
 #, c-format
 msgid "private flags = 0x%lx"
 msgstr "yksityiset liput = 0x%lx"
 
-#: elf32-microblaze.c:742
+#: elf32-metag.c:1921
+msgid "%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object"
+msgstr "%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC-sijoitukset eivÃ¤t ole sallittuja jaetuissa objekteissa"
+
+#: elf32-microblaze.c:950
 #, c-format
 msgid "%s: unknown relocation type %d"
 msgstr "%s: tuntematon sijoitustyyppi %d"
 
-#: elf32-microblaze.c:867 elf32-microblaze.c:912
+#: elf32-microblaze.c:1076 elf32-microblaze.c:1121
 #, c-format
 msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
 msgstr "%s: Kohteen (%s) sijoitus %s on vÃ¤Ã¤rÃ¤ssÃ¤ lohkossa (%s)"
 
-#: elf32-microblaze.c:1155 elf32-tilepro.c:2891 elfxx-sparc.c:3457
-#: elfxx-tilegx.c:3230
+#: elf32-microblaze.c:1484 elf32-tilepro.c:3320 elfxx-sparc.c:3526
+#: elfxx-tilegx.c:3729
 msgid "%B: probably compiled without -fPIC?"
 msgstr "%B: luultavasti kÃ¤Ã¤nnetty ilman -fPIC-argumenttia?"
 
-#: elf32-microblaze.c:2074
-msgid "%B: bad relocation section name `%s'"
-msgstr "%B: virheellinen sijoituslohkonimi â€�%sâ€�"
-
-#: elf32-mips.c:1549 elf64-mips.c:2683 elfn32-mips.c:2487
+#: elf32-mips.c:1670 elf64-mips.c:2990 elfn32-mips.c:2793
 msgid "literal relocation occurs for an external symbol"
 msgstr "literaali sijoitus tapahtuu ulkoiselle symbolille"
 
-#: elf32-mips.c:1596 elf32-score.c:570 elf32-score7.c:469 elf64-mips.c:2726
-#: elfn32-mips.c:2528
+#: elf32-mips.c:1717 elf32-score.c:570 elf32-score7.c:469 elf64-mips.c:3033
+#: elfn32-mips.c:2834
 msgid "32bits gp relative relocation occurs for an external symbol"
 msgstr "32-bittinen yleisosoitinsuhteellinen sijoitus tapahtuu ulkoiselle symbolille"
 
-#: elf32-ppc.c:1741
+#: elf32-msp430.c:801 elf32-msp430.c:1109
+msgid "Try enabling relaxation to avoid relocation truncations"
+msgstr "YritÃ¤ ottaa kÃ¤yttÃ¶Ã¶n avartaminen sijoituksen typistymisien vÃ¤lttÃ¤miseksi"
+
+#: elf32-msp430.c:1317
+msgid "internal error: branch/jump to an odd address detected"
+msgstr "sisÃ¤inen virhe: havaittu haarautuma/hyppy parittomaan"
+
+#: elf32-msp430.c:2221
+msgid "Warning: %B: Unknown MSPABI object attribute %d"
+msgstr "Varoitus: %B: Tuntematon MSPABI-objektiattribuutti %d"
+
+#  Vector floating point (coprosessor)
+#: elf32-msp430.c:2312
+msgid "error: %B uses %s instructions but %B uses %s"
+msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ %s-kÃ¤skyjÃ¤, mutta %B kÃ¤yttÃ¤Ã¤ %s"
+
+#: elf32-msp430.c:2324
+msgid "error: %B uses the %s code model whereas %B uses the %s code model"
+msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ %s-koodimallia, kun taas %B kÃ¤yttÃ¤Ã¤ %s-koodimallia"
+
+#: elf32-msp430.c:2336
+msgid "error: %B uses the large code model but %B uses MSP430 instructions"
+msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ laajaa koodimallia, mutta %B kÃ¤yttÃ¤Ã¤ MSP430-kÃ¤skyjÃ¤"
+
+#: elf32-msp430.c:2346
+msgid "error: %B uses the %s data model whereas %B uses the %s data model"
+msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ %s-datamallia, kun taas %B kÃ¤yttÃ¤Ã¤ %s-datamallia"
+
+#: elf32-msp430.c:2358
+msgid "error: %B uses the small code model but %B uses the %s data model"
+msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ pientÃ¤ koodimallia, mutta %B kÃ¤yttÃ¤Ã¤ %s-datamallia"
+
+#: elf32-msp430.c:2369
+msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
+msgstr "virhe: %B kÃ¤yttÃ¤Ã¤ %s-datamallia, mutta %B kÃ¤yttÃ¤Ã¤ vain MSP430-kÃ¤skyjÃ¤"
+
+#: elf32-nds32.c:2921
+msgid "error: Can't find symbol: _SDA_BASE_."
+msgstr "virhe: Symbolia ei lÃ¶ytynyt: _SDA_BASE_.â€�"
+
+#: elf32-nds32.c:4142
+msgid "%B: error: unknown relocation type %d."
+msgstr "%B: virhe: tuntematon sijoitustyyppi %d."
+
+#: elf32-nds32.c:4584
+#, c-format
+msgid "%s: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."
+msgstr "%s: varoitus: R_NDS32_25_ABS_RELA-kÃ¤sittely jaetussa objektissa epÃ¤onnistui."
+
+#: elf32-nds32.c:4716
+msgid "%B: warning: unaligned access to GOT entry."
+msgstr "%B: varoitus: tasaamaton pÃ¤Ã¤sy yleissiirrostaulukohtaan."
+
+#: elf32-nds32.c:4758
+msgid "%B: warning: relocate SDA_BASE failed."
+msgstr "%B: varoitus: SDA_BASE-sijoitus epÃ¤onnistui."
+
+#: elf32-nds32.c:4779
+msgid "%B(%A): warning: unaligned small data access of type %d."
+msgstr "%B(%A): varoitus: tasaamaton %d-tyypin small data-pÃ¤Ã¤sy."
+
+#: elf32-nds32.c:5446
+msgid "%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte"
+msgstr "%B: ISR-vektorikokotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys edelliseen moduliin, edellinen %u-tavu, nykyinen %u-tavu"
+
+#: elf32-nds32.c:5489
+msgid "%B: warning: Endian mismatch with previous modules."
+msgstr "%B: varoitus: Endian-tavujÃ¤rjestystÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys edellisiin moduleihin."
+
+#: elf32-nds32.c:5499
+msgid "%B: warning: Older version of object file encountered, Please recompile with current tool chain."
+msgstr "%B: varoitus: Objektitiedoston vanhempi versio kohdattu, kÃ¤Ã¤nnÃ¤ uudelleen nykyisellÃ¤ tyÃ¶kaluketjulla."
+
+#: elf32-nds32.c:5577
+msgid "%B: error: ABI mismatch with previous modules."
+msgstr "%B: virhe: ABI-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys edellisten modulien kanssa."
+
+#: elf32-nds32.c:5588
+msgid "%B: error: Instruction set mismatch with previous modules."
+msgstr "%B: virhe: KÃ¤skyjoukko ei tÃ¤smÃ¤Ã¤ edellisten modulien kanssa."
+
+#: elf32-nds32.c:5612
+msgid "%B: warning: Incompatible elf-versions %s and  %s."
+msgstr "%B: varoitus: Yhteensopimattomat elf-versiot %s ja %s."
+
+#: elf32-nds32.c:5642
+#, c-format
+msgid ": n1 instructions"
+msgstr ": n1-kÃ¤skyt"
+
+#: elf32-nds32.c:5645
+#, c-format
+msgid ": n1h instructions"
+msgstr ": n1h-kÃ¤skyt"
+
+#: elf32-nds32.c:8147
+msgid "%B: %s\n"
+msgstr "%B: %s\n"
+
+#: elf32-nds32.c:8449
+msgid "%B(%A): warning: relax is suppressed for sections of alignment %d-bytes > 4-byte."
+msgstr "%B(%A): varoitus: relax on vaimennettu lohkoissa, joissa tasaus %d-tavua > 4-tavu."
+
+#: elf32-nds32.c:8502
+msgid "%B: error: Cannot set _ITB_BASE_"
+msgstr "%B: virhe: _ITB_BASE_-asetus epÃ¤onnistui"
+
+#: elf32-nds32.c:11384
+msgid "%B: Nested OMIT_FP in %A."
+msgstr "%B: SisÃ¤kkÃ¤inen OMIT_FP kohteessa %A."
+
+#: elf32-nds32.c:11401
+msgid "%B: Unmatched OMIT_FP in %A."
+msgstr "%B: TÃ¤smÃ¤Ã¤mÃ¤tÃ¶n OMIT_FP kohteessa %A."
+
+#: elf32-nds32.c:13357
+msgid "Linker: cannot init ex9 hash table error \n"
+msgstr "Linkkeri: ex9-tiivistetauluvirheen alustus epÃ¤onnistui\n"
+
+#: elf32-nds32.c:13790 elf32-nds32.c:13804
+msgid "Linker: error cannot fixed ex9 relocation \n"
+msgstr "Linkkeri: virhe: ex9-sijoituksen korjaus epÃ¤onnistui\n"
+
+#: elf32-nds32.c:14015
+#, c-format
+msgid "%s: warning: unaligned small data access. For entry: {%d, %d, %d}, addr = 0x%x, align = 0x%x."
+msgstr "%s: varoitus: tasaamaton small data-pÃ¤Ã¤sy. Kohde: {%d, %d, %d}, osoite = 0x%x, tasaus = 0x%x."
+
+#: elf32-nds32.c:14047
+msgid "%P%F: failed creating ex9.it %s hash table: %E\n"
+msgstr "%P%F: ex9.it %s-tiivistetaulun luominen epÃ¤onnistui: %E\n"
+
+#: elf32-nios2.c:2861
+#, c-format
+msgid "global pointer relative relocation at address 0x%08x when _gp not defined\n"
+msgstr "yleisosoitinsuhteellinen sijoitus osoitteessa 0x%08x kun _gp ei ole mÃ¤Ã¤ritelty\n"
+
+#: elf32-nios2.c:2878
+#, c-format
+msgid "Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.\n"
+msgstr "Kohteen %s (osoitteessa 0x%08x) tavoittaminen yleisosoittimesta epÃ¤onnistui (osoitteessa 0x%08x) koska siirrososoite (%d) on sallitun lukualueen -32678 ... 32767 ulkopuolella.\n"
+
+#: elf32-nios2.c:3392
+msgid "%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object"
+msgstr "%B(%A+0x%lx): R_NIOS2_TLS_LE16-sijoitus ei ole sallittu jaetussa objektissa"
+
+#: elf32-nios2.c:3520
+msgid "relocation out of range"
+msgstr "sijoitus lukualueen ulkopuolella"
+
+#: elf32-nios2.c:3530 elf32-tic6x.c:2744
+msgid "dangerous relocation"
+msgstr "vaarallinen sijoitus"
+
+#: elf32-nios2.c:4529
+#, c-format
+msgid "dynamic variable `%s' is zero size"
+msgstr "dynaaminen muuttuja â€�%sâ€� on nollakokoinen"
+
+#: elf32-ppc.c:2100
 #, c-format
 msgid "generic linker can't handle %s"
 msgstr "geneerinen linkkeri ei voi kÃ¤sitellÃ¤ kohdetta %s"
 
-#: elf32-ppc.c:2184
+#: elf32-ppc.c:2642
 msgid "corrupt %s section in %B"
 msgstr "rikkinÃ¤inen %s-lohko kohteessa %B"
 
-#: elf32-ppc.c:2203
+#: elf32-ppc.c:2661
 msgid "unable to read in %s section from %B"
 msgstr "ei voi lukea %s-lohkoon kohteesta %B"
 
-#: elf32-ppc.c:2244
+#: elf32-ppc.c:2702
 msgid "warning: unable to set size of %s section in %B"
 msgstr "varoitus: ei voi asettaa %s-lohkon kokoa kohteessa %B"
 
-#: elf32-ppc.c:2294
+#: elf32-ppc.c:2752
 msgid "failed to allocate space for new APUinfo section."
 msgstr "ei onnistuttu varaamaan muistitilaa uudelle APUinfo-lohkolle."
 
-#: elf32-ppc.c:2313
+#: elf32-ppc.c:2771
 msgid "failed to compute new APUinfo section."
 msgstr "ei onnistuttu laskemaan uutta APUinfo-lohkoa"
 
-#: elf32-ppc.c:2316
+#: elf32-ppc.c:2774
 msgid "failed to install new APUinfo section."
 msgstr "ei onnistuttu asentamaan uutta APUinfo-lohkoa"
 
-#: elf32-ppc.c:3356
+#: elf32-ppc.c:3844
 msgid "%B: relocation %s cannot be used when making a shared object"
 msgstr "%B: sijoitusta %s ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia"
 
 #. It does not make sense to have a procedure linkage
 #. table entry for a local symbol.
-#: elf32-ppc.c:3700
+#: elf32-ppc.c:4218
 msgid "%P: %H: %s reloc against local symbol\n"
-msgstr "%P: %H: %s reloc-tietue paikallista symbolia varten\n"
+msgstr "%P: %H: %s reloc-tietue kÃ¤yttÃ¤en paikallista symbolia\n"
+
+#: elf32-ppc.c:4299
+msgid "%P: %H: @local call to ifunc %s\n"
+msgstr "%P: %H: @local-kutsu kohteeseen ifunc %s\n"
 
 #  Otaksun tÃ¤ssÃ¤ ettÃ¤ hard float tarkoittaa tÃ¤ssÃ¤ muistipaikkaa (esim. rekisteriÃ¤), joka on varattu float-tyyppisille liukuluvuille
-#: elf32-ppc.c:4039 elf32-ppc.c:4054 elfxx-mips.c:13651 elfxx-mips.c:13677
-#: elfxx-mips.c:13699 elfxx-mips.c:13725
+#: elf32-ppc.c:4588 elf32-ppc.c:4603
 msgid "Warning: %B uses hard float, %B uses soft float"
 msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ laitteistoliukulukua, %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukua"
 
 #  Otaksun tÃ¤ssÃ¤ ettÃ¤ hard float tarkoittaa tÃ¤ssÃ¤ muistipaikkaa (esim. rekisteriÃ¤), joka on varattu float-tyyppisille liukuluvuille
-#: elf32-ppc.c:4042 elf32-ppc.c:4046
+#: elf32-ppc.c:4591 elf32-ppc.c:4595
 msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
 msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ kaksoistarkkuuden laitteistoliukulukua, %B kÃ¤yttÃ¤Ã¤ yksittÃ¤istarkkuuden laitteistoliukulukua"
 
 #  Otaksun tÃ¤ssÃ¤ ettÃ¤ hard float tarkoittaa tÃ¤ssÃ¤ muistipaikkaa (esim. rekisteriÃ¤), joka on varattu float-tyyppisille liukuluvuille
-#: elf32-ppc.c:4050
+#: elf32-ppc.c:4599
 msgid "Warning: %B uses soft float, %B uses single-precision hard float"
 msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ ohjelmistoliukulukua, %B kÃ¤yttÃ¤Ã¤ yksittÃ¤istarkkuuden laitteistoliukulukua"
 
-#: elf32-ppc.c:4057 elf32-ppc.c:4061 elfxx-mips.c:13631 elfxx-mips.c:13635
+#: elf32-ppc.c:4606 elf32-ppc.c:4610
 msgid "Warning: %B uses unknown floating point ABI %d"
 msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %d"
 
-#: elf32-ppc.c:4103 elf32-ppc.c:4107
+#: elf32-ppc.c:4652 elf32-ppc.c:4656
 msgid "Warning: %B uses unknown vector ABI %d"
 msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta vektori-ABI:a %d"
 
-#: elf32-ppc.c:4111
+#: elf32-ppc.c:4660
 msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
 msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ vektori-ABI:a â€�%sâ€�, %B kÃ¤yttÃ¤Ã¤ â€�%sâ€�"
 
-#: elf32-ppc.c:4128 elf32-ppc.c:4131
+#: elf32-ppc.c:4677 elf32-ppc.c:4680
 msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
 msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ r3/r4 pienille rakennepaluille, %B kÃ¤yttÃ¤Ã¤ muistia"
 
-#: elf32-ppc.c:4134 elf32-ppc.c:4138
+#: elf32-ppc.c:4683 elf32-ppc.c:4687
 msgid "Warning: %B uses unknown small structure return convention %d"
 msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta pientÃ¤ rakennepaluusopimusta  %d"
 
-#: elf32-ppc.c:4192
+#: elf32-ppc.c:4741
 msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
 msgstr "%B: kÃ¤Ã¤nnetty â€�-mrelocatableâ€�-argumentilla ja linkitetty tavallisesti kÃ¤Ã¤nnetyillÃ¤ moduleilla"
 
-#: elf32-ppc.c:4200
+#: elf32-ppc.c:4749
 msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
 msgstr "%B: kÃ¤Ã¤nnetty tavallisesti ja linkitetty moduleilla, jotka on kÃ¤Ã¤nnetty â€�-mrelocatableâ€�-argumentilla"
 
-#: elf32-ppc.c:4309
+#: elf32-ppc.c:4872
 msgid "%P: bss-plt forced due to %B\n"
 msgstr "%P: bss-plt-argumentti pakotettu %B:n vuoksi\n"
 
-#: elf32-ppc.c:4312
+#: elf32-ppc.c:4875
 msgid "%P: bss-plt forced by profiling\n"
 msgstr "%P: profilointi pakotti bss-plt-argumentin\n"
 
@@ -2007,101 +2242,113 @@ msgstr "%P: profilointi pakotti bss-plt-
 #. could just mark this symbol to exclude it
 #. from tls optimization but it's safer to skip
 #. the entire optimization.
-#: elf32-ppc.c:4809 elf64-ppc.c:7858
+#: elf32-ppc.c:5369 elf64-ppc.c:8371
 msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
 msgstr "%H argumentti lost __tls_get_addr, TLS otimointi poistettu kÃ¤ytÃ¶stÃ¤\n"
 
-#: elf32-ppc.c:5044 elf64-ppc.c:6528
-msgid "%P: dynamic variable `%s' is zero size\n"
-msgstr "%P: dynaaminen muuttuja â€�%sâ€� on nollakokoinen\n"
-
-#: elf32-ppc.c:7263 elf64-ppc.c:12675
+#: elf32-ppc.c:7927
 msgid "%P: %B: unknown relocation type %d for symbol %s\n"
 msgstr "%P: %B: tuntematon sijoitustyyppi %d symbolille %s\n"
 
-#: elf32-ppc.c:7524
+#: elf32-ppc.c:8191
 msgid "%P: %H: non-zero addend on %s reloc against `%s'\n"
-msgstr "%P: %H: ei-nolla-yhteenlaskettava %s reloc-tietueessa symbolia â€�%sâ€� varten\n"
+msgstr "%P: %H: ei-nolla-yhteenlaskettava %s reloc-tietueessa kÃ¤yttÃ¤en symbolia â€�%sâ€�\n"
 
-#: elf32-ppc.c:7720 elf64-ppc.c:13181
+#: elf32-ppc.c:8389
 msgid "%P: %H: relocation %s for indirect function %s unsupported\n"
 msgstr "%P: %H: sijoitusta %s epÃ¤suoralle funktiolle %s ei tueta\n"
 
-#: elf32-ppc.c:7948 elf32-ppc.c:7978 elf32-ppc.c:8025
+#: elf32-ppc.c:8646 elf32-ppc.c:8676 elf32-ppc.c:8767
 msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
 msgstr "%P: %B: kohde (%s) sijoituksessa %s on vÃ¤Ã¤rÃ¤ssÃ¤ tulostelohkossa (%s)\n"
 
-#: elf32-ppc.c:8097
+#: elf32-ppc.c:8854
+msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
+msgstr "%B: kohde (%s) sijoituksessa %s on vÃ¤Ã¤rÃ¤ssÃ¤ tulostelohkossa (%s)"
+
+#: elf32-ppc.c:8958
 msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
-msgstr "%P: %B: sijoitus %s ei ole vielÃ¤ tuettu symbolille %s.\n"
+msgstr "%P: %B: sijoitus %s ei ole vielÃ¤ tuettu symbolille %s\n"
 
-#: elf32-ppc.c:8158 elf64-ppc.c:13467
+#: elf32-ppc.c:9038
+msgid "%P: %H: error: %s against `%s' not a multiple of %u\n"
+msgstr "%P: %H: virhe: sijoitus %s kÃ¤yttÃ¤en kohdetta â€�%sâ€� ei ole %u:n kerrannainen\n"
+
+#: elf32-ppc.c:9067
 msgid "%P: %H: unresolvable %s relocation against symbol `%s'\n"
-msgstr "%P: %H: ratkaisematon %s sijoitus symbolia â€�%sâ€� varten\n"
+msgstr "%P: %H: ratkaisematon %s sijoitus kÃ¤yttÃ¤en symbolia â€�%sâ€�\n"
 
-#: elf32-ppc.c:8205 elf64-ppc.c:13512
+#: elf32-ppc.c:9114
 msgid "%P: %H: %s reloc against `%s': error %d\n"
-msgstr "%P: %H: %s reloc-tietuetta â€�%sâ€� varten: virhe %d\n"
+msgstr "%P: %H: %s reloc-tietue kÃ¤yttÃ¤en kohdetta â€�%sâ€�: virhe %d\n"
 
-#: elf32-ppc.c:8696
+#: elf32-ppc.c:9750
 msgid "%P: %s not defined in linker created %s\n"
 msgstr "%P: %s ei ole mÃ¤Ã¤ritelty linkkerissÃ¤ luodussa %s\n"
 
-#: elf32-rx.c:563
-msgid "%B:%A: Warning: deprecated Red Hat reloc "
-msgstr "%B:%A: Varoitus: vanhentunut Red Hat reloc -tietue "
-
-#. Check for unsafe relocs in PID mode.  These are any relocs where
-#. an absolute address is being computed.  There are special cases
-#. for relocs against symbols that are known to be referenced in
-#. crt0.o before the PID base address register has been initialised.
-#: elf32-rx.c:581
-msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
-msgstr "%B(%A): turvaton PID-sijoitus %s osoitteessa 0x%08lx (symbolia %s vastaan kohteessa %s)"
-
-#: elf32-rx.c:1157
-msgid "Warning: RX_SYM reloc with an unknown symbol"
-msgstr "Varoitus: RX_SYM-reloc tuntemattomalla symbolilla"
+#: elf32-rl78.c:784
+msgid "Warning: RL78_SYM reloc with an unknown symbol"
+msgstr "Varoitus: RL78_SYM-reloc tuntemattomalla symbolilla"
 
-#: elf32-rx.c:1324
+#: elf32-rl78.c:952 elf32-rx.c:1324
 msgid "%B(%A): error: call to undefined function '%s'"
 msgstr "%B(%A): virhe: kutsu mÃ¤Ã¤rittelemÃ¤ttÃ¶mÃ¤Ã¤n funktioon â€™%sâ€™"
 
-#: elf32-rx.c:1338
+#: elf32-rl78.c:966 elf32-rx.c:1338
 msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
 msgstr "%B(%A): varoitus: tasaamaton pÃ¤Ã¤sy symboliin â€™%sâ€™ pienellÃ¤ data-alueella"
 
-#: elf32-rx.c:1342
+#: elf32-rl78.c:970 elf32-rx.c:1342
 msgid "%B(%A): internal error: out of range error"
 msgstr "%B(%A): sisÃ¤inen virhe: â€�lukualueen ulkopuolellaâ€�-virhe"
 
-#: elf32-rx.c:1346
+#: elf32-rl78.c:974 elf32-rx.c:1346
 msgid "%B(%A): internal error: unsupported relocation error"
 msgstr "%B(%A): sisÃ¤inen virhe: ei-tuettu sijoitusvirhe"
 
-#: elf32-rx.c:1350
+#: elf32-rl78.c:978 elf32-rx.c:1350
 msgid "%B(%A): internal error: dangerous relocation"
 msgstr "%B(%A): sisÃ¤inen virhe: vaarallinen sijoitus"
 
-#: elf32-rx.c:1354
+#: elf32-rl78.c:982 elf32-rx.c:1354
 msgid "%B(%A): internal error: unknown error"
 msgstr "%B(%A): sisÃ¤inen virhe: tuntematon virhe"
 
-#: elf32-rx.c:3004
+#: elf32-rl78.c:1043
+msgid "RL78/G10 ABI conflict: cannot link G10 and non-G10 objects together"
+msgstr "RL78/G10 ABI-ristiriita: G10 ja ei-G10-objektien linkittÃ¤minen yhteen epÃ¤onnistui"
+
+#: elf32-rl78.c:1046 elf32-rl78.c:1049
 #, c-format
-msgid " [64-bit doubles]"
-msgstr " [64-bittiset double-liukuluvut]"
+msgid "- %s is G10, %s is not"
+msgstr "- %s on G10, %s ei ole"
 
-#: elf32-rx.c:3006
+#: elf32-rl78.c:1072
 #, c-format
-msgid " [dsp]"
-msgstr " [paikkariippumaton koodi]"
+msgid " [G10]"
+msgstr " [G10]"
+
+#: elf32-rx.c:563
+msgid "%B:%A: Warning: deprecated Red Hat reloc "
+msgstr "%B:%A: Varoitus: vanhentunut Red Hat reloc -tietue "
+
+#. Check for unsafe relocs in PID mode.  These are any relocs where
+#. an absolute address is being computed.  There are special cases
+#. for relocs against symbols that are known to be referenced in
+#. crt0.o before the PID base address register has been initialised.
+#: elf32-rx.c:581
+msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
+msgstr "%B(%A): turvaton PID-sijoitus %s osoitteessa 0x%08lx (kÃ¤yttÃ¤en symbolia %s kohteessa %s)"
+
+#: elf32-rx.c:1157
+msgid "Warning: RX_SYM reloc with an unknown symbol"
+msgstr "Varoitus: RX_SYM-reloc tuntemattomalla symbolilla"
 
-#: elf32-s390.c:2200 elf64-s390.c:2187
+#: elf32-s390.c:2292 elf64-s390.c:2244
 msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
 msgstr "%B(%A+0x%lx): virheellinen kÃ¤sky TLS-sijoitukselle %s"
 
-#: elf32-score.c:1520 elf32-score7.c:1379 elfxx-mips.c:3435
+#: elf32-score.c:1520 elf32-score7.c:1379 elfxx-mips.c:3642
 msgid "not enough GOT space for local GOT entries"
 msgstr "ei tarpeeksi yleissiirrostaulutilaa paikallisille yleissiirrostaulutulokohdille"
 
@@ -2114,21 +2361,21 @@ msgstr "osoite ei ole word-tasattu"
 msgid "%s: Malformed reloc detected for section %s"
 msgstr "%s: VÃ¤Ã¤rÃ¤n muotoinen reloc-tietue havaittu lohkolle %s"
 
-#: elf32-score.c:2878 elf32-score7.c:2682
+#: elf32-score.c:2882 elf32-score7.c:2686
 msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
-msgstr "%B: CALL15 reloc-tietue kohteessa 0x%lx ei ole yleissymbolia varten"
+msgstr "%B: CALL15 reloc-tietueessa osoitteessa 0x%lx ei ole kÃ¤ytetty yleissymbolia"
 
-#: elf32-score.c:3997 elf32-score7.c:3803
+#: elf32-score.c:4007 elf32-score7.c:3811
 #, c-format
 msgid " [pic]"
 msgstr " [paikkariippumaton koodi]"
 
-#: elf32-score.c:4001 elf32-score7.c:3807
+#: elf32-score.c:4011 elf32-score7.c:3815
 #, c-format
 msgid " [fix dep]"
 msgstr " [korjaussyvyys]"
 
-#: elf32-score.c:4043 elf32-score7.c:3849
+#: elf32-score.c:4053 elf32-score7.c:3857
 msgid "%B: warning: linking PIC files with non-PIC files"
 msgstr "%B: varoitus: linkitetÃ¤Ã¤n paikkariippumattomia kooditiedostoja paikkariippuvaisten kooditiedostojen kanssa"
 
@@ -2140,142 +2387,142 @@ msgstr "%B: â€�IMPORT ASâ€�-direktiivi k
 msgid "%B: Unrecognised .directive command: %s"
 msgstr "%B: Tunnistamaton â€�.directiveâ€�-komento: %s"
 
-#: elf32-sh-symbian.c:504
+#: elf32-sh-symbian.c:500
 msgid "%B: Failed to add renamed symbol %s"
 msgstr "%B: Ei onnistuttu lisÃ¤Ã¤mÃ¤Ã¤n uudelleennimettyÃ¤ symbolia %s"
 
-#: elf32-sh.c:568
+#: elf32-sh.c:569
 msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
 msgstr "%B: 0x%lx: varoitus: virheellinen R_SH_USES-siirrososoite"
 
-#: elf32-sh.c:580
+#: elf32-sh.c:581
 msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
 msgstr "%B: 0x%lx: varoitus: R_SH_USES osoittaa tunnistamattomaan kÃ¤skyyn 0x%x"
 
-#: elf32-sh.c:597
+#: elf32-sh.c:598
 msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
 msgstr "%B: 0x%lx: varoitus: virheellinen R_SH_USES lataussiirrososoite"
 
-#: elf32-sh.c:612
+#: elf32-sh.c:613
 msgid "%B: 0x%lx: warning: could not find expected reloc"
 msgstr "%B: 0x%lx: varoitus: ei voitu lÃ¶ytÃ¤Ã¤ odotettua reloc-tietuetta"
 
-#: elf32-sh.c:640
+#: elf32-sh.c:641
 msgid "%B: 0x%lx: warning: symbol in unexpected section"
 msgstr "%B: 0x%lx: varoitus: symboli odottamattomassa lohkossa"
 
-#: elf32-sh.c:766
+#: elf32-sh.c:767
 msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
 msgstr "%B: 0x%lx: varoitus: ei voitu lÃ¶ytÃ¤Ã¤ odotettua â€�COUNT relocâ€�-tietuetta"
 
-#: elf32-sh.c:775
+#: elf32-sh.c:776
 msgid "%B: 0x%lx: warning: bad count"
 msgstr "%B: 0x%lx: varoitus: virheellinen lukumÃ¤Ã¤rÃ¤"
 
 #  Kun kÃ¤skyoperandi on sen lukualueen ulkopuolella, joka sallitaan kullekin kÃ¤skykentÃ¤lle, assembler voi muuntaa koodin kÃ¤yttÃ¤mÃ¤Ã¤n toiminnallisesti samanlaista kÃ¤skyÃ¤ tai kÃ¤skysekvenssiÃ¤. TÃ¤mÃ¤ prosessi tunnetaan nimellÃ¤ relaxation. TÃ¤tÃ¤ tehdÃ¤Ã¤n tyypillisesti haarautumiskÃ¤skyissÃ¤, koska haarautumiskohteen etÃ¤isyyttÃ¤ ei tunneta ennen linkitystÃ¤. Tavallaan tÃ¤llÃ¤ tavalla kumotaan lukualueen rajoitteet (constraints). Siksi olen suomentanut sen termillÃ¤ avartaminen.
-#: elf32-sh.c:1179 elf32-sh.c:1549
+#: elf32-sh.c:1180 elf32-sh.c:1550
 msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
 msgstr "%B: 0x%lx: vakava: reloc-tietue ylivuoto avartamisen aikana"
 
-#: elf32-sh.c:4048 elf64-sh64.c:1514
+#: elf32-sh.c:3939 elf64-sh64.c:1514
 msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
 msgstr "Odottamatonta STO_SH5_ISA32 paikallisessa symbolissa ei kÃ¤sitellÃ¤"
 
 #  Kun kÃ¤skyoperandi on sen lukualueen ulkopuolella, joka sallitaan kullekin kÃ¤skykentÃ¤lle, assembler voi muuntaa koodin kÃ¤yttÃ¤mÃ¤Ã¤n toiminnallisesti samanlaista kÃ¤skyÃ¤ tai kÃ¤skysekvenssiÃ¤. TÃ¤mÃ¤ prosessi tunnetaan nimellÃ¤ relaxation. TÃ¤tÃ¤ tehdÃ¤Ã¤n tyypillisesti haarautumiskÃ¤skyissÃ¤, koska haarautumiskohteen etÃ¤isyyttÃ¤ ei tunneta ennen linkitystÃ¤. Tavallaan tÃ¤llÃ¤ tavalla kumotaan lukualueen rajoitteet (constraints). Siksi olen suomentanut sen termillÃ¤ avartaminen.
-#: elf32-sh.c:4299
+#: elf32-sh.c:4190
 msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
 msgstr "%B: 0x%lx: vakava: tasaamaton haarautumiskohde avarrustuetulle sijoitukselle"
 
-#: elf32-sh.c:4332 elf32-sh.c:4347
+#: elf32-sh.c:4223 elf32-sh.c:4238
 msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
 msgstr "%B: 0x%lx: vakava: tasaamaton %s sijoitus 0x%lx"
 
-#: elf32-sh.c:4361
+#: elf32-sh.c:4252
 msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
 msgstr "%B: 0x%lx: vakava: R_SH_PSHA-sijoitus %d ei ole lukualueella -32..32"
 
-#: elf32-sh.c:4375
+#: elf32-sh.c:4266
 msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
 msgstr "%B: 0x%lx: vakava: R_SH_PSHL-sijoitus %d ei ole lukualueella -32..32"
 
-#: elf32-sh.c:4519 elf32-sh.c:4989
+#: elf32-sh.c:4410 elf32-sh.c:4886
 msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
 msgstr "%B(%A+0x%lx): ei voi lÃ¤hettÃ¤Ã¤ korjauksia kohteeseen â€�%sâ€� kirjoitussuojatussa lohkossa"
 
-#: elf32-sh.c:5096
+#: elf32-sh.c:4993
 msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
-msgstr "%B(%A+0x%lx): %s sijoitus ulkoista symbolia â€�%sâ€� varten"
+msgstr "%B(%A+0x%lx): %s sijoitus kÃ¤yttÃ¤en ulkoista symbolia â€�%sâ€�"
 
-#: elf32-sh.c:5569
+#: elf32-sh.c:5466
 #, c-format
 msgid "%X%C: relocation to \"%s\" references a different segment\n"
 msgstr "%X%C: sijoitus kohteeseen â€�%sâ€� viittaa eri segmenttiin\n"
 
-#: elf32-sh.c:5575
+#: elf32-sh.c:5472
 #, c-format
 msgid "%C: warning: relocation to \"%s\" references a different segment\n"
 msgstr "%C: varoitus: sijoitus kohteeseen â€�%sâ€� viittaa eri segmenttiin\n"
 
-#: elf32-sh.c:6353 elf32-sh.c:6436
+#: elf32-sh.c:6254 elf32-sh.c:6337
 msgid "%B: `%s' accessed both as normal and FDPIC symbol"
 msgstr "%B: â€�%sâ€� haettu sekÃ¤ normaalina ettÃ¤ FDPIC-symbolina"
 
-#: elf32-sh.c:6358 elf32-sh.c:6440
+#: elf32-sh.c:6259 elf32-sh.c:6341
 msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
 msgstr "%B: â€�%sâ€� haettu sekÃ¤ FDPIC-symbolina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina"
 
-#: elf32-sh.c:6388
+#: elf32-sh.c:6289
 msgid "%B: Function descriptor relocation with non-zero addend"
 msgstr "%B: Funktiokuvaajasijoitus nollasta poikeavalla yhteenlaskettavalla"
 
-#: elf32-sh.c:6624 elf64-alpha.c:4652
+#: elf32-sh.c:6525 elf64-alpha.c:4661
 msgid "%B: TLS local exec code cannot be linked into shared objects"
 msgstr "%B: TLS-tyyppistÃ¤ paikallista suoritettavaa koodia ei voida linkittÃ¤Ã¤ jaettuihin objekteihin"
 
-#: elf32-sh64.c:223 elf64-sh64.c:2318
+#: elf32-sh64.c:224 elf64-sh64.c:2318
 #, c-format
 msgid "%s: compiled as 32-bit object and %s is 64-bit"
 msgstr "%s: kÃ¤Ã¤nnetty 32-bittisenÃ¤ objektina ja %s on 64-bittinen"
 
-#: elf32-sh64.c:226 elf64-sh64.c:2321
+#: elf32-sh64.c:227 elf64-sh64.c:2321
 #, c-format
 msgid "%s: compiled as 64-bit object and %s is 32-bit"
 msgstr "%s: kÃ¤Ã¤nnetty 64-bittisenÃ¤ objektina ja %s on 32-bittinen"
 
-#: elf32-sh64.c:228 elf64-sh64.c:2323
+#: elf32-sh64.c:229 elf64-sh64.c:2323
 #, c-format
 msgid "%s: object size does not match that of target %s"
 msgstr "%s: objektikoko ei tÃ¤smÃ¤Ã¤ kohteen %s objektikoon kanssa"
 
-#: elf32-sh64.c:451 elf64-sh64.c:2837
+#: elf32-sh64.c:452 elf64-sh64.c:2839
 #, c-format
 msgid "%s: encountered datalabel symbol in input"
 msgstr "%s: kohdattiin datalabel-symboli syÃ¶tteessÃ¤"
 
 #  prepare-to-branch (PTB) instruction
-#: elf32-sh64.c:528
+#: elf32-sh64.c:529
 msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
 msgstr "PTB-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys: SHmedia-osoite (bitti 0 == 1)"
 
-#: elf32-sh64.c:531
+#: elf32-sh64.c:532
 msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
 msgstr "PTA-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys: SHcompact-osoite (bitti 0 == 0)"
 
-#: elf32-sh64.c:549
+#: elf32-sh64.c:550
 #, c-format
 msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16"
 msgstr "%s: GAS-virhe: odottamaton PTB-kÃ¤sky R_SH_PT_16-tyypillÃ¤"
 
-#: elf32-sh64.c:598
+#: elf32-sh64.c:599
 msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
 msgstr "%B: virhe: tasaamaton sijoitustyyppi %d siirroksessa %08x reloc-tietue %p\n"
 
-#: elf32-sh64.c:674
+#: elf32-sh64.c:675
 #, c-format
 msgid "%s: could not write out added .cranges entries"
 msgstr "%s: ei voitu kirjoittaa lisÃ¤ttyjÃ¤ â€�.crangesâ€�-tulokohtia kokonaisuudessaan"
 
-#: elf32-sh64.c:734
+#: elf32-sh64.c:735
 #, c-format
 msgid "%s: could not write out sorted .cranges entries"
 msgstr "%s: ei voitu kirjoittaa lajiteltuja â€�.crangesâ€�-tulokohtia kokonaisuudessaan"
@@ -2288,120 +2535,120 @@ msgstr "%B: kÃ¤Ã¤nnetty 64-bittiselle jÃ
 msgid "%B: linking little endian files with big endian files"
 msgstr "%B: linkitetty â€�little endianâ€�-tiedostoja â€�big endianâ€�-tiedostojen kanssa"
 
-#: elf32-spu.c:719
+#: elf32-spu.c:716
 msgid "%X%P: overlay section %A does not start on a cache line.\n"
 msgstr "%X%P: pÃ¤Ã¤llyslohko %A ei ala vÃ¤limuistissa olevalta riviltÃ¤.\n"
 
-#: elf32-spu.c:727
+#: elf32-spu.c:724
 msgid "%X%P: overlay section %A is larger than a cache line.\n"
 msgstr "%X%P: pÃ¤Ã¤llyslohko %A on laajempi kuin vÃ¤limuistissa oleva rivi.\n"
 
-#: elf32-spu.c:747
+#: elf32-spu.c:744
 msgid "%X%P: overlay section %A is not in cache area.\n"
 msgstr "%X%P: pÃ¤Ã¤llyslohko %A ei ole vÃ¤limuistialueella.\n"
 
-#: elf32-spu.c:787
+#: elf32-spu.c:784
 msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
 msgstr "%X%P: pÃ¤Ã¤llyslohkot %A ja %A eivÃ¤t ala samasta osoitteesta.\n"
 
-#: elf32-spu.c:1011
+#: elf32-spu.c:1008
 msgid "warning: call to non-function symbol %s defined in %B"
 msgstr "varoitus: kutsu ei-funktiosymboliin %s mÃ¤Ã¤ritelty kohteessa %B"
 
-#: elf32-spu.c:1361
+#: elf32-spu.c:1358
 msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
 msgstr "%A:0x%v lrlive .brinfo (%u) eroaa analyysistÃ¤ (%u)\n"
 
-#: elf32-spu.c:1880
+#: elf32-spu.c:1877
 msgid "%B is not allowed to define %s"
 msgstr "%B ei saa mÃ¤Ã¤ritellÃ¤ kohdetta %s"
 
-#: elf32-spu.c:1888
+#: elf32-spu.c:1885
 #, c-format
 msgid "you are not allowed to define %s in a script"
 msgstr "et saa mÃ¤Ã¤ritellÃ¤ kohdetta %s skriptissÃ¤"
 
-#: elf32-spu.c:1922
+#: elf32-spu.c:1919
 #, c-format
 msgid "%s in overlay section"
 msgstr "%s pÃ¤Ã¤llyslohkossa"
 
-#: elf32-spu.c:1951
+#: elf32-spu.c:1948
 msgid "overlay stub relocation overflow"
 msgstr "pÃ¤Ã¤llys-stub-sijoitusylivuoto"
 
-#: elf32-spu.c:1960
+#: elf32-spu.c:1957
 msgid "stubs don't match calculated size"
 msgstr "stubit ei tÃ¤smÃ¤Ã¤ lasketun koon kanssa"
 
-#: elf32-spu.c:2542
+#: elf32-spu.c:2539
 #, c-format
 msgid "warning: %s overlaps %s\n"
 msgstr "varoitus: %s menee pÃ¤Ã¤llekkÃ¤in %s:n kanssa\n"
 
-#: elf32-spu.c:2558
+#: elf32-spu.c:2555
 #, c-format
 msgid "warning: %s exceeds section size\n"
 msgstr "varoitus: %s ylittÃ¤Ã¤ lohkokoon\n"
 
-#: elf32-spu.c:2589
+#: elf32-spu.c:2586
 msgid "%A:0x%v not found in function table\n"
 msgstr "%A:0x%v ei lÃ¶ytynyt funktiotaulusta\n"
 
-#: elf32-spu.c:2729
+#: elf32-spu.c:2726
 msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
 msgstr "%B(%A+0x%v): kutsu ei-koodilohkoon %B(%A), analyysi ei ole tÃ¤ydellinen\n"
 
-#: elf32-spu.c:3297
+#: elf32-spu.c:3294
 #, c-format
 msgid "Stack analysis will ignore the call from %s to %s\n"
 msgstr "Pinoanalyysi ei ota huomioon kutsua kohteesta %s kohteeseen %s\n"
 
-#: elf32-spu.c:3988
+#: elf32-spu.c:3985
 msgid "  %s: 0x%v\n"
 msgstr "  %s: 0x%v\n"
 
-#: elf32-spu.c:3989
+#: elf32-spu.c:3986
 msgid "%s: 0x%v 0x%v\n"
 msgstr "%s: 0x%v 0x%v\n"
 
-#: elf32-spu.c:3994
+#: elf32-spu.c:3991
 msgid "  calls:\n"
 msgstr "  kutsut:\n"
 
-#: elf32-spu.c:4002
+#: elf32-spu.c:3999
 #, c-format
 msgid "   %s%s %s\n"
 msgstr "   %s%s %s\n"
 
-#: elf32-spu.c:4307
+#: elf32-spu.c:4304
 #, c-format
 msgid "%s duplicated in %s\n"
 msgstr "%s kaksoiskappale kohteessa %s\n"
 
-#: elf32-spu.c:4311
+#: elf32-spu.c:4308
 #, c-format
 msgid "%s duplicated\n"
 msgstr "%s on tehty kahteen kertaan\n"
 
-#: elf32-spu.c:4318
+#: elf32-spu.c:4315
 msgid "sorry, no support for duplicate object files in auto-overlay script\n"
 msgstr "ei tukea objektitiedostojen kaksoiskappaleille automaattisessa pÃ¤Ã¤llysskriptissÃ¤\n"
 
-#: elf32-spu.c:4359
+#: elf32-spu.c:4356
 msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n"
 msgstr "ei-pÃ¤Ã¤llyksen koko 0x%v plus pÃ¤Ã¤llyksen maksimikoko 0x%v ylittÃ¤vÃ¤t paikallisen varaston\n"
 
-#: elf32-spu.c:4514
+#: elf32-spu.c:4511
 msgid "%B:%A%s exceeds overlay size\n"
 msgstr "%B:%A%s ylittÃ¤Ã¤ pÃ¤Ã¤llyskoon\n"
 
-#: elf32-spu.c:4676
+#: elf32-spu.c:4673
 msgid "Stack size for call graph root nodes.\n"
 msgstr "Pinokoko kutsugraafijuurinodeille.\n"
 
 #  Wikipedia: A tail call is a subroutine call just before the end of a subroutine.
-#: elf32-spu.c:4677
+#: elf32-spu.c:4674
 msgid ""
 "\n"
 "Stack size for functions.  Annotations: '*' max stack, 't' tail call\n"
@@ -2409,144 +2656,164 @@ msgstr ""
 "\n"
 "Pinokoko funktioille.  Sivuhuomautukset: â€�*â€� maksimipino, â€�tâ€� alikutsu\n"
 
-#: elf32-spu.c:4687
+#: elf32-spu.c:4684
 msgid "Maximum stack required is 0x%v\n"
 msgstr "Vaadittu maksimipino on 0x%v\n"
 
-#: elf32-spu.c:4778
+#: elf32-spu.c:4775
 msgid "fatal error while creating .fixup"
 msgstr "vakava virhe kun luodaan .fixup"
 
-#: elf32-spu.c:5008
+#: elf32-spu.c:5005
 msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%s+0x%lx): ratkaisematon %s sijoitus symbolia â€�%sâ€� varten"
+msgstr "%B(%s+0x%lx): ratkaisematon %s sijoitus kÃ¤yttÃ¤en symbolia â€�%sâ€�"
 
-#: elf32-tic6x.c:1602
+#: elf32-tic6x.c:1600
 msgid "warning: generating a shared library containing non-PIC code"
 msgstr "varoitus: tuotetaan jaettu kirjasto, joka sisÃ¤ltÃ¤Ã¤ ei-PIC-koodia"
 
-#: elf32-tic6x.c:1607
+#: elf32-tic6x.c:1605
 msgid "warning: generating a shared library containing non-PID code"
 msgstr "varoitus: tuotetaan jaettu kirjasto, joka sisÃ¤ltÃ¤Ã¤ ei-PID-koodia"
 
-#: elf32-tic6x.c:2541
+#: elf32-tic6x.c:2524
 msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
 msgstr "%B: SB-suhteellinen sijoitus, mutta __c6xabi_DSBT_BASE ei ole mÃ¤Ã¤ritelty"
 
-#: elf32-tic6x.c:2761
-msgid "dangerous relocation"
-msgstr "vaarallinen sijoitus"
-
-#: elf32-tic6x.c:3733
+#: elf32-tic6x.c:3648
 msgid "%B: error: unknown mandatory EABI object attribute %d"
 msgstr "%B: virhe: tuntematon pakollinen EABI-objektiattribuutti %d"
 
-#: elf32-tic6x.c:3741
+#: elf32-tic6x.c:3656
 msgid "%B: warning: unknown EABI object attribute %d"
 msgstr "%B: varoitus: tuntematon EABI-objektiattribuutti %d"
 
-#: elf32-tic6x.c:3853 elf32-tic6x.c:3861
+#: elf32-tic6x.c:3768 elf32-tic6x.c:3776
 msgid "error: %B requires more stack alignment than %B preserves"
 msgstr "virhe: %B vaatii enemmÃ¤n pinotasausta kuin %B sÃ¤ilyttÃ¤Ã¤"
 
-#: elf32-tic6x.c:3871 elf32-tic6x.c:3880
+#: elf32-tic6x.c:3786 elf32-tic6x.c:3795
 msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
 msgstr "virhe: tuntematon Tag_ABI_array_object_alignment-arvo kohteessa %B"
 
-#: elf32-tic6x.c:3889 elf32-tic6x.c:3898
+#: elf32-tic6x.c:3804 elf32-tic6x.c:3813
 msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
 msgstr "virhe: tuntematon Tag_ABI_array_object_align_expected-arvo kohteessa %B"
 
-#: elf32-tic6x.c:3906 elf32-tic6x.c:3913
+#: elf32-tic6x.c:3821 elf32-tic6x.c:3828
 msgid "error: %B requires more array alignment than %B preserves"
 msgstr "virhe: %B vaatii enemmÃ¤n taulukkotasausta kuin %B sÃ¤ilyttÃ¤Ã¤"
 
-#: elf32-tic6x.c:3935
+#: elf32-tic6x.c:3850
 msgid "warning: %B and %B differ in wchar_t size"
 msgstr "varoitus: %B ja %B eroavat wchar_t size-koossa"
 
-#: elf32-tic6x.c:3953
+#: elf32-tic6x.c:3868
 msgid "warning: %B and %B differ in whether code is compiled for DSBT"
 msgstr "varoitus: %B ja %B eroavat siinÃ¤, ettÃ¤ koodi on kÃ¤Ã¤nnetty kohteelle DSBT"
 
 #  small data region on sama kuin .scommon data region
-#: elf32-v850.c:173
+#: elf32-v850.c:157
 #, c-format
 msgid "Variable `%s' cannot occupy in multiple small data regions"
 msgstr "Muuttuja â€�%sâ€� ei voi sijaita useissa â€�smallâ€�-data-alueissa"
 
 #  small on .scommon, zero on .zcommon ja tiny on .tcommon
-#: elf32-v850.c:176
+#: elf32-v850.c:160
 #, c-format
 msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
 msgstr "Muuttuja â€�%sâ€� voi olla vain yhdessÃ¤ â€�smallâ€�-, â€�zeroâ€�- ja â€�tinyâ€�-data-alueista"
 
-#: elf32-v850.c:179
+#: elf32-v850.c:163
 #, c-format
 msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
 msgstr "Muuttuja â€�%sâ€� ei voi olla sekÃ¤ â€�smallâ€�- ettÃ¤ â€�zeroâ€�-data-alueissa samanaikaisesti"
 
-#: elf32-v850.c:182
+#: elf32-v850.c:166
 #, c-format
 msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
 msgstr "Muuttuja â€�%sâ€� ei voi olla sekÃ¤ â€�smallâ€�- ettÃ¤ â€�tinyâ€�-data-alueissa samanaikaisesti"
 
-#: elf32-v850.c:185
+#: elf32-v850.c:169
 #, c-format
 msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
 msgstr "Muuttuja â€�%sâ€� ei voi olla sekÃ¤ â€�zeroâ€�- ettÃ¤ â€�tinyâ€�-data-alueissa samanaikaisesti"
 
-#: elf32-v850.c:483
+#: elf32-v850.c:467
 msgid "FAILED to find previous HI16 reloc"
 msgstr "EI ONNISTUTTU lÃ¶ytÃ¤mÃ¤Ã¤n edellistÃ¤ HI16 reloc-tietuetta"
 
-#: elf32-v850.c:2155
+#: elf32-v850.c:2293
 msgid "could not locate special linker symbol __gp"
 msgstr "ei voitu paikallistaa erityistÃ¤ linkkerisymbolia â€�__gpâ€�"
 
-#: elf32-v850.c:2159
+#: elf32-v850.c:2297
 msgid "could not locate special linker symbol __ep"
 msgstr "ei voitu paikallistaa erityistÃ¤ linkkerisymbolia â€�__epâ€�"
 
-#: elf32-v850.c:2163
+#: elf32-v850.c:2301
 msgid "could not locate special linker symbol __ctbp"
 msgstr "ei voitu paikallistaa erityistÃ¤ linkkerisymbolia â€�__ctbpâ€�"
 
-#: elf32-v850.c:2341
+#: elf32-v850.c:2471 elf32-v850.c:2534
 msgid "%B: Architecture mismatch with previous modules"
 msgstr "%B: Arkkitehtuuri ei tÃ¤smÃ¤nnyt edellisten modulien kanssa"
 
+#: elf32-v850.c:2478
+msgid "%B: Alignment mismatch with previous modules"
+msgstr "%B: TasaustÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys edellisiin moduleihin"
+
 #. xgettext:c-format.
-#: elf32-v850.c:2360
+#: elf32-v850.c:2553
 #, c-format
 msgid "private flags = %lx: "
 msgstr "yksityiset liput = %lx: "
 
-#: elf32-v850.c:2365
+#: elf32-v850.c:2558
+#, c-format
+msgid "unknown v850 architecture"
+msgstr "tuntematon v850-arkkitehtuuri"
+
+#: elf32-v850.c:2560
+#, c-format
+msgid "v850 E3 architecture"
+msgstr "v850 E3-arkkitehtuuri"
+
+#: elf32-v850.c:2562 elf32-v850.c:2572
 #, c-format
 msgid "v850 architecture"
 msgstr "v850-arkkitehtuuri"
 
-#: elf32-v850.c:2366
+#: elf32-v850.c:2565
+#, c-format
+msgid ", 8-byte data alignment"
+msgstr ", 8-tavuinen datatasaus"
+
+#: elf32-v850.c:2573
 #, c-format
 msgid "v850e architecture"
 msgstr "v850e-arkkitehtuuri"
 
-#: elf32-v850.c:2367
+#: elf32-v850.c:2574
 #, c-format
 msgid "v850e1 architecture"
 msgstr "v850e1-arkkitehtuuri"
 
-#: elf32-v850.c:2368
+#: elf32-v850.c:2575
 #, c-format
 msgid "v850e2 architecture"
 msgstr "v850e2-arkkitehtuuri"
 
-#: elf32-v850.c:2369
+#: elf32-v850.c:2576
 #, c-format
 msgid "v850e2v3 architecture"
 msgstr "v850e2v3-arkkitehtuuri"
 
+#: elf32-v850.c:2577
+#, c-format
+msgid "v850e3v5 architecture"
+msgstr "v850e3v5-arkkitehtuuri"
+
 #: elf32-vax.c:532
 #, c-format
 msgid " [nonpic]"
@@ -2562,133 +2829,232 @@ msgstr " [d-float-liukulukulippu]"
 msgid " [g-float]"
 msgstr " [g-float-liukulukulippu]"
 
-#: elf32-vax.c:655
+#: elf32-vax.c:656
 #, c-format
 msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
 msgstr "%s: varoitus: Yleissiirrostaulun %ld-yhteenlaskettava kohteelle â€�%sâ€� ei tÃ¤smÃ¤Ã¤ edellisen yleissiirrostaulun %ld-yhteenlaskettavan kanssa"
 
-#: elf32-vax.c:1585
+#: elf32-vax.c:1543
 #, c-format
 msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored"
 msgstr "%s: varoitus: %d:n PLT-yhteenlaskettavaa kohteelle â€�%sâ€� lohkosta %s ei oteta huomioon"
 
-#: elf32-vax.c:1712
+#: elf32-vax.c:1668
 #, c-format
 msgid "%s: warning: %s relocation against symbol `%s' from %s section"
-msgstr "%s: varoitus: %s sijoitus symbolia â€�%sâ€� varten %s-lohkosta"
+msgstr "%s: varoitus: %s sijoitus kÃ¤yttÃ¤en symbolia â€�%sâ€� %s-lohkosta"
 
-#: elf32-vax.c:1718
+#: elf32-vax.c:1674
 #, c-format
 msgid "%s: warning: %s relocation to 0x%x from %s section"
 msgstr "%s: varoitus: %s sijoitus kohteeseen 0x%x â€�%sâ€�-lohkosta"
 
-#: elf32-xstormy16.c:451 elf32-ia64.c:2336 elf64-ia64.c:2336
+#: elf32-xgate.c:686
+#, c-format
+msgid "cpu=XGATE]"
+msgstr "cpu=XGATE]"
+
+#: elf32-xgate.c:688
+#, c-format
+msgid "error reading cpu type from elf private data"
+msgstr "virhe luettaessa prosessorityyppiÃ¤ elf private-datasta"
+
+#: elf32-xstormy16.c:455 elf64-ia64-vms.c:2072 elf32-ia64.c:2330
+#: elf64-ia64.c:2330
 msgid "non-zero addend in @fptr reloc"
 msgstr "ei-nolla-yhteenlaskettava â€�@fptr relocâ€�-tietueessa"
 
-#: elf32-xtensa.c:918
+#: elf32-xtensa.c:908
 msgid "%B(%A): invalid property table"
 msgstr "%B(%A): virheellinen ominaisuustaulu"
 
-#: elf32-xtensa.c:2777
+#: elf32-xtensa.c:2774
 msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
 msgstr "%B(%A+0x%lx): sijoitussiirrososoite lukualueen (koko=0x%x) ulkopuolella"
 
-#: elf32-xtensa.c:2856 elf32-xtensa.c:2977
+#: elf32-xtensa.c:2853 elf32-xtensa.c:2974
 msgid "dynamic relocation in read-only section"
 msgstr "dynaaminen sijoitus kirjoitussuojatussa lohkossa"
 
-#: elf32-xtensa.c:2953
+#: elf32-xtensa.c:2950
 msgid "TLS relocation invalid without dynamic sections"
 msgstr "TLS-siirros virheellinen ilman dynaamisia lohkoja"
 
-#: elf32-xtensa.c:3172
+#: elf32-xtensa.c:3169
 msgid "internal inconsistency in size of .got.loc section"
 msgstr "sisÃ¤inen epÃ¤johdonmukaisuus â€�.got.locâ€�-alilohkokoossa"
 
-#: elf32-xtensa.c:3485
+#: elf32-xtensa.c:3482
 msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
 msgstr "%B: yhteensopimaton konetyyppi. Tuloste on 0x%x. SyÃ¶te on 0x%x"
 
-#: elf32-xtensa.c:4714 elf32-xtensa.c:4722
+#: elf32-xtensa.c:4713 elf32-xtensa.c:4721
 msgid "Attempt to convert L32R/CALLX to CALL failed"
 msgstr "Yritys muuttaa â€�L32R/CALLXâ€�-kutsu â€�CALLâ€�-kutsuksi ei onnistunut"
 
-#: elf32-xtensa.c:6332 elf32-xtensa.c:6408 elf32-xtensa.c:7524
+#: elf32-xtensa.c:6330 elf32-xtensa.c:6406 elf32-xtensa.c:7522
 msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
 msgstr "%B(%A+0x%lx): ei voitu avata kÃ¤skyÃ¤; mahdollinen konfiguraatiotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys"
 
-#: elf32-xtensa.c:7264
+#: elf32-xtensa.c:7262
 msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
 msgstr "%B(%A+0x%lx): ei voitu avata kÃ¤skyÃ¤ XTENSA_ASM_SIMPLIFY-sijoitukselle; mahdollinen konfiguraatiotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys"
 
-#: elf32-xtensa.c:9023
+#: elf32-xtensa.c:9022
 msgid "invalid relocation address"
 msgstr "virheellinen sijoitusosoite"
 
 #  Kun kÃ¤skyoperandi on sen lukualueen ulkopuolella, joka sallitaan kullekin kÃ¤skykentÃ¤lle, assembler voi muuntaa koodin kÃ¤yttÃ¤mÃ¤Ã¤n toiminnallisesti samanlaista kÃ¤skyÃ¤ tai kÃ¤skysekvenssiÃ¤. TÃ¤mÃ¤ prosessi tunnetaan nimellÃ¤ relaxation. TÃ¤tÃ¤ tehdÃ¤Ã¤n tyypillisesti haarautumiskÃ¤skyissÃ¤, koska haarautumiskohteen etÃ¤isyyttÃ¤ ei tunneta ennen linkitystÃ¤. Tavallaan tÃ¤llÃ¤ tavalla kumotaan lukualueen rajoitteet (constraints). Siksi olen suomentanut sen termillÃ¤ avartaminen.
-#: elf32-xtensa.c:9072
+#: elf32-xtensa.c:9071
 msgid "overflow after relaxation"
 msgstr "ylivuoto avartamisen jÃ¤lkeen"
 
-#: elf32-xtensa.c:10204
+#: elf32-xtensa.c:10203
 msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
 msgstr "%B(%A+0x%lx): odottamaton korjaus %s-sijoitukselle"
 
-#: elf64-alpha.c:460
+#: elf64-alpha.c:474
 msgid "GPDISP relocation did not find ldah and lda instructions"
 msgstr "GPDISP-sijoitus ei lÃ¶ytÃ¤nyt â€�ldahâ€�- ja â€�ldaâ€�-kÃ¤skyjÃ¤"
 
-#: elf64-alpha.c:2497
+#: elf64-alpha.c:2503
 msgid "%B: .got subsegment exceeds 64K (size %d)"
 msgstr "%B: â€�.gotâ€�-alisegmentti ylittÃ¤Ã¤ 64 kilotavun rajan (koko %d)"
 
-#: elf64-alpha.c:4387 elf64-alpha.c:4399
+#: elf64-alpha.c:4396 elf64-alpha.c:4408
 msgid "%B: gp-relative relocation against dynamic symbol %s"
-msgstr "%B: yleisosoitinsuhteellinen sijoitus dynaamista symbolia %s varten"
+msgstr "%B: yleisosoitinsuhteellinen sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s"
 
-#: elf64-alpha.c:4425 elf64-alpha.c:4565
+#: elf64-alpha.c:4434 elf64-alpha.c:4574
 msgid "%B: pc-relative relocation against dynamic symbol %s"
-msgstr "%B: ohjelmalaskurisuhteellinen sijoitus dynaamista symbolia %s varten"
+msgstr "%B: ohjelmalaskurisuhteellinen sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s"
 
-#: elf64-alpha.c:4453
+#: elf64-alpha.c:4462
 msgid "%B: change in gp: BRSGP %s"
 msgstr "%B: vaihto yleisosoittimessa: BRSGP %s"
 
-#: elf64-alpha.c:4478
+#: elf64-alpha.c:4487
 msgid "<unknown>"
 msgstr "<tuntematon>"
 
-#: elf64-alpha.c:4483
+#: elf64-alpha.c:4492
 msgid "%B: !samegp reloc against symbol without .prologue: %s"
-msgstr "%B: â€�!samegp relocâ€�-tietue symbolia varten ilman â€�.prologueâ€�-lohkoa: %s"
+msgstr "%B: â€�!samegp relocâ€�-tietue kÃ¤yttÃ¤en symbolia ilman â€�.prologueâ€�-lohkoa: %s"
 
-#: elf64-alpha.c:4540
+#: elf64-alpha.c:4549
 msgid "%B: unhandled dynamic relocation against %s"
-msgstr "%B: kÃ¤sittelemÃ¤tÃ¶n dynaaminen sijoitus %s:ta varten"
+msgstr "%B: kÃ¤sittelemÃ¤tÃ¶n dynaaminen sijoitus kÃ¤yttÃ¤en kohdetta %s"
 
-#: elf64-alpha.c:4572
+#: elf64-alpha.c:4581
 msgid "%B: pc-relative relocation against undefined weak symbol %s"
-msgstr "%B: ohjelmalaskurisuhteellinen sijoitus mÃ¤Ã¤rittelemÃ¤tÃ¶ntÃ¤ heikkoa symbolia %s varten"
+msgstr "%B: ohjelmalaskurisuhteellinen sijoitus kÃ¤yttÃ¤en mÃ¤Ã¤rittelemÃ¤tÃ¶ntÃ¤ heikkoa symbolia %s"
 
-#: elf64-alpha.c:4636
+#: elf64-alpha.c:4645
 msgid "%B: dtp-relative relocation against dynamic symbol %s"
-msgstr "%B: dtp-suhteellinen sijoitus dynaamista symbolia %s varten"
+msgstr "%B: dtp-suhteellinen sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s"
 
-#: elf64-alpha.c:4659
+#: elf64-alpha.c:4668
 msgid "%B: tp-relative relocation against dynamic symbol %s"
-msgstr "%B: tp-suhteellinen sijoitus dynaamista symbolia %s varten"
+msgstr "%B: tp-suhteellinen sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s"
 
-#: elf64-hppa.c:2083
+#: elf64-hppa.c:2084
 #, c-format
 msgid "stub entry for %s cannot load .plt, dp offset = %ld"
 msgstr "stub-tulokohta kohteelle %s ei voi ladata â€�.pltâ€�, dp-siirrososoite = %ld"
 
-#: elf64-hppa.c:3275
-msgid "%B(%A+0x"
-msgstr "%B(%A+0x"
+#: elf64-hppa.c:3280
+msgid "%B(%A+0x%"
+msgstr "%B(%A+0x%"
+
+#  Kun kÃ¤skyoperandi on sen lukualueen ulkopuolella, joka sallitaan kullekin kÃ¤skykentÃ¤lle, assembler voi muuntaa koodin kÃ¤yttÃ¤mÃ¤Ã¤n toiminnallisesti samanlaista kÃ¤skyÃ¤ tai kÃ¤skysekvenssiÃ¤. TÃ¤mÃ¤ prosessi tunnetaan nimellÃ¤ relaxation. TÃ¤tÃ¤ tehdÃ¤Ã¤n tyypillisesti haarautumiskÃ¤skyissÃ¤, koska haarautumiskohteen etÃ¤isyyttÃ¤ ei tunneta ennen linkitystÃ¤. Tavallaan tÃ¤llÃ¤ tavalla kumotaan lukualueen rajoitteet (constraints). Siksi olen suomentanut sen termillÃ¤ avartaminen.
+#: elf64-ia64-vms.c:587 elf32-ia64.c:619 elf64-ia64.c:619
+msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
+msgstr "%B: Ei voi avartaa br-kÃ¤skyÃ¤ kohteessa 0x%lx lohkossa â€�%Aâ€�. KÃ¤ytÃ¤ â€�brlâ€�-kÃ¤skyÃ¤ tai epÃ¤suoraa haarautumista."
+
+#: elf64-ia64-vms.c:2027 elf32-ia64.c:2278 elf64-ia64.c:2278
+msgid "@pltoff reloc against local symbol"
+msgstr "â€�@pltoff relocâ€�-tietue kÃ¤yttÃ¤en paikallista symbolia"
+
+#: elf64-ia64-vms.c:3279 elf32-ia64.c:3684 elf64-ia64.c:3684
+#, c-format
+msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
+msgstr "%s: â€�shortâ€�-datasegmentti ylivuotanut (0x%lx >= 0x400000)"
+
+#: elf64-ia64-vms.c:3290 elf32-ia64.c:3695 elf64-ia64.c:3695
+#, c-format
+msgid "%s: __gp does not cover short data segment"
+msgstr "%s: â€�__gpâ€� ei kata â€�shortâ€�-datasegmenttiÃ¤"
+
+#: elf64-ia64-vms.c:3555 elf32-ia64.c:3962 elf64-ia64.c:3962
+msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
+msgstr "%B: paikkariippuvainen koodi vÃ¤littÃ¶mÃ¤llÃ¤ sijoituksella kÃ¤yttÃ¤en dynaamista symbolia â€�%sâ€�"
+
+#: elf64-ia64-vms.c:3617 elf32-ia64.c:4029 elf64-ia64.c:4029
+msgid "%B: @gprel relocation against dynamic symbol %s"
+msgstr "%B: â€�@gprelâ€�-sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s"
+
+#: elf64-ia64-vms.c:3676 elf32-ia64.c:4092 elf64-ia64.c:4092
+msgid "%B: linking non-pic code in a position independent executable"
+msgstr "%B: linkitetÃ¤Ã¤n paikkariippuvainen koodi paikkariippumattomassa suoritettavassa tiedostossa"
+
+#: elf64-ia64-vms.c:3777 elf32-ia64.c:4229 elf64-ia64.c:4229
+msgid "%B: @internal branch to dynamic symbol %s"
+msgstr "%B: @sisÃ¤inen haarautuminen dynaamiseen symboliin %s"
+
+#: elf64-ia64-vms.c:3779 elf32-ia64.c:4231 elf64-ia64.c:4231
+msgid "%B: speculation fixup to dynamic symbol %s"
+msgstr "%B: spekulaatiokorjaus dynaamiseen symboliin %s"
+
+#: elf64-ia64-vms.c:3781 elf32-ia64.c:4233 elf64-ia64.c:4233
+msgid "%B: @pcrel relocation against dynamic symbol %s"
+msgstr "%B: â€�@pcrelâ€�-sijoitus kÃ¤yttÃ¤en dynaamista symbolia %s"
+
+#: elf64-ia64-vms.c:3905 elf32-ia64.c:4430 elf64-ia64.c:4430
+msgid "unsupported reloc"
+msgstr "ei-tuettu reloc-tietue"
+
+#: elf64-ia64-vms.c:3942 elf32-ia64.c:4468 elf64-ia64.c:4468
+msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
+msgstr "%B: siirroksen %s puuttuva TLS-lohko kÃ¤yttÃ¤en kohdetta â€�%sâ€� osoitteessa 0x%lx lohkossa â€�%Aâ€�."
+
+#  Kun kÃ¤skyoperandi on sen lukualueen ulkopuolella, joka sallitaan kullekin kÃ¤skykentÃ¤lle, assembler voi muuntaa koodin kÃ¤yttÃ¤mÃ¤Ã¤n toiminnallisesti samanlaista kÃ¤skyÃ¤ tai kÃ¤skysekvenssiÃ¤. TÃ¤mÃ¤ prosessi tunnetaan nimellÃ¤ relaxation. TÃ¤tÃ¤ tehdÃ¤Ã¤n tyypillisesti haarautumiskÃ¤skyissÃ¤, koska haarautumiskohteen etÃ¤isyyttÃ¤ ei tunneta ennen linkitystÃ¤. Tavallaan tÃ¤llÃ¤ tavalla kumotaan lukualueen rajoitteet (constraints). Siksi olen suomentanut sen termillÃ¤ avartaminen.
+#: elf64-ia64-vms.c:3957 elf32-ia64.c:4483 elf64-ia64.c:4483
+msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
+msgstr "%B: Ei voi avartaa br-kÃ¤skyÃ¤ (%s) kohteelle â€�%sâ€� kohteessa 0x%lx lohkossa â€�%Aâ€� koolla 0x%lx (> 0x1000000)."
+
+#: elf64-ia64-vms.c:4246 elf32-ia64.c:4745 elf64-ia64.c:4745
+msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
+msgstr "%B: linkitetÃ¤Ã¤n keskeytysnollassa purkuviite â€�ei-keskeytetÃ¤â€�-tiedostojen kanssa"
+
+#: elf64-ia64-vms.c:4255 elf32-ia64.c:4754 elf64-ia64.c:4754
+msgid "%B: linking big-endian files with little-endian files"
+msgstr "%B: linkitetÃ¤Ã¤n â€�big-endianâ€�-tiedostoja â€�little-endianâ€�-tiedostojen kanssa"
+
+#: elf64-ia64-vms.c:4264 elf32-ia64.c:4763 elf64-ia64.c:4763
+msgid "%B: linking 64-bit files with 32-bit files"
+msgstr "%B: linkitetÃ¤Ã¤n 64-bittiset tiedostot 32-bittisten tiedostojen kanssa"
+
+#: elf64-ia64-vms.c:4273 elf32-ia64.c:4772 elf64-ia64.c:4772
+msgid "%B: linking constant-gp files with non-constant-gp files"
+msgstr "%B: linkitetÃ¤Ã¤n vakioyleisosoitintiedostot ei-vakioiden yleisosoitintiedostojen kanssa"
+
+#: elf64-ia64-vms.c:4283 elf32-ia64.c:4782 elf64-ia64.c:4782
+msgid "%B: linking auto-pic files with non-auto-pic files"
+msgstr "%B: linkitetÃ¤Ã¤n automaattiset paikkariippumattomat kooditiedostot ei-automaattisten paikkariippumattomien kooditiedostojen kanssa"
+
+#: elf64-ia64-vms.c:5125 elflink.c:4299
+msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
+msgstr "Varoitus: tasaus %u yhteissymbolissa â€�%sâ€� kohteessa %B on suurempi kuin tasaus (%u) sen lohkossa %A"
+
+#: elf64-ia64-vms.c:5131 elflink.c:4305
+msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
+msgstr "Varoitus: tasaus %u symbolissa â€�%sâ€� kohteessa %B on pienempi kuin %u kohteessa %B"
+
+#: elf64-ia64-vms.c:5146 elflink.c:4321
+msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
+msgstr "Varoitus: symbolin â€�%sâ€� koko vaihtui koosta %lu kohteessa %B kokoon %lu kohteessa %B"
 
-#: elf64-mmix.c:1034
+#: elf64-mmix.c:986
 msgid ""
 "invalid input relocation when producing non-ELF, non-mmo format output.\n"
 " Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2698,7 +3064,7 @@ msgstr ""
 " KÃ¤ytÃ¤ objcopy-ohjelmaa muuntamiseen ELF:stÃ¤ tai mmo:sta,\n"
 " tai assembloi kÃ¤yttÃ¤en \"-no-expand\" (gcc-kÃ¤Ã¤ntÃ¤jÃ¤lle, \"-Wa,-no-expand\""
 
-#: elf64-mmix.c:1218
+#: elf64-mmix.c:1170
 msgid ""
 "invalid input relocation when producing non-ELF, non-mmo format output.\n"
 " Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2709,7 +3075,7 @@ msgstr ""
 " tai kÃ¤Ã¤nnÃ¤ kÃ¤yttÃ¤en gcc-valitsinta \"-mno-base-addresses\"."
 
 #  Kun kÃ¤skyoperandi on sen lukualueen ulkopuolella, joka sallitaan kullekin kÃ¤skykentÃ¤lle, assembler voi muuntaa koodin kÃ¤yttÃ¤mÃ¤Ã¤n toiminnallisesti samanlaista kÃ¤skyÃ¤ tai kÃ¤skysekvenssiÃ¤. TÃ¤mÃ¤ prosessi tunnetaan nimellÃ¤ relaxation. TÃ¤tÃ¤ tehdÃ¤Ã¤n tyypillisesti haarautumiskÃ¤skyissÃ¤, koska haarautumiskohteen etÃ¤isyyttÃ¤ ei tunneta ennen linkitystÃ¤. Tavallaan tÃ¤llÃ¤ tavalla kumotaan lukualueen rajoitteet (constraints). Siksi olen suomentanut sen termillÃ¤ avartaminen.
-#: elf64-mmix.c:1244
+#: elf64-mmix.c:1196
 #, c-format
 msgid ""
 "%s: Internal inconsistency error for value for\n"
@@ -2718,46 +3084,46 @@ msgstr ""
 "%s: SisÃ¤inen yhteensopimattomuusvirhe linkkerin varaamalle\n"
 " yleisrekisteriarvolle: linkitetty: 0x%lx%08lx != avarrettu: 0x%lx%08lx\n"
 
-#: elf64-mmix.c:1670
+#: elf64-mmix.c:1618
 #, c-format
 msgid "%s: base-plus-offset relocation against register symbol: (unknown) in %s"
-msgstr "%s: â€�base-plus-offsetâ€�-sijoitus rekisterisymbolia varten: (tuntematon) kohteessa %s"
+msgstr "%s: â€�base-plus-offsetâ€�-sijoitus kÃ¤yttÃ¤en rekisterisymbolia: (tuntematon) kohteessa %s"
 
-#: elf64-mmix.c:1675
+#: elf64-mmix.c:1623
 #, c-format
 msgid "%s: base-plus-offset relocation against register symbol: %s in %s"
-msgstr "%s: â€�base-plus-offsetâ€�-sijoitus rekisterisymbolia varten: %s kohteessa %s"
+msgstr "%s: â€�base-plus-offsetâ€�-sijoitus kÃ¤yttÃ¤en rekisterisymbolia: %s kohteessa %s"
 
-#: elf64-mmix.c:1719
+#: elf64-mmix.c:1667
 #, c-format
 msgid "%s: register relocation against non-register symbol: (unknown) in %s"
-msgstr "%s: rekisterisijoitus ei-rekisterisymbolia varten: (tuntematon) kohteessa %s"
+msgstr "%s: rekisterisijoitus kÃ¤yttÃ¤en ei-rekisterisymbolia: (tuntematon) kohteessa %s"
 
-#: elf64-mmix.c:1724
+#: elf64-mmix.c:1672
 #, c-format
 msgid "%s: register relocation against non-register symbol: %s in %s"
-msgstr "%s: rekisterisijoitus ei-rekisterisymbolia varten: %s kohteessa %s"
+msgstr "%s: rekisterisijoitus kÃ¤yttÃ¤en ei-rekisterisymbolia: %s kohteessa %s"
 
-#: elf64-mmix.c:1761
+#: elf64-mmix.c:1709
 #, c-format
 msgid "%s: directive LOCAL valid only with a register or absolute value"
 msgstr "%s: direktiivi LOCAL on oikea vain rekisterissÃ¤ tai absoluuttiarvona"
 
-#: elf64-mmix.c:1789
+#: elf64-mmix.c:1739
 #, c-format
 msgid "%s: LOCAL directive: Register $%ld is not a local register.  First global register is $%ld."
 msgstr "%s: LOCAL-direktiivi: Rekisteri $%ld ei ole paikallinen rekisteri.  EnsimmÃ¤inen yleisrekisteri on $%ld."
 
-#: elf64-mmix.c:2253
+#: elf64-mmix.c:2198
 #, c-format
 msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
 msgstr "%s: Virhe: useita â€�%sâ€�-mÃ¤Ã¤rittelyjÃ¤; %s-alku on asetettu aiemmin linkitetyssÃ¤ tiedostossa\n"
 
-#: elf64-mmix.c:2311
+#: elf64-mmix.c:2252
 msgid "Register section has contents\n"
 msgstr "Rekisterilohkossa on sisÃ¤ltÃ¶\n"
 
-#: elf64-mmix.c:2503
+#: elf64-mmix.c:2441
 #, c-format
 msgid ""
 "Internal inconsistency: remaining %u != max %u.\n"
@@ -2766,80 +3132,105 @@ msgstr ""
 "SisÃ¤inen yhteensopimattomuus: jÃ¤ljelle jÃ¤Ã¤vÃ¤ %u != maksimi %u.\n"
 "  Ilmoita ohjelmistovioista (englanniksi) osoitteeseen http://sourceware.org/bugzilla/."
 
-#: elf64-ppc.c:4185
+#: elf64-ppc.c:4463
 msgid "%P: %B: cannot create stub entry %s\n"
 msgstr "%P: %B: ei voi luoda stub-tulokohtaa %s\n"
 
-#: elf64-ppc.c:6518
-msgid "%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
-msgstr "%P: kopio-reloc-tietue â€�%sâ€�:ta varten vaatii laiskan plt-linkityksen; vÃ¤ltÃ¤ asettamasta LD_BIND_NOW=1 tai pÃ¤ivitÃ¤ gcc\n"
+#: elf64-ppc.c:4810
+msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
+msgstr "%P: symboli â€™%sâ€™ on virheellinen st_other ABI-versiolle 1\n"
+
+#: elf64-ppc.c:5170
+msgid "%P: .opd not allowed in ABI version %d\n"
+msgstr "%P: .opd ei ole sallittu ABI-versiossa %d\n"
+
+#: elf64-ppc.c:5809
+msgid "%B uses unknown e_flags 0x%lx"
+msgstr "%B kÃ¤yttÃ¤Ã¤ tuntematonta e_flags 0x%lx"
+
+#: elf64-ppc.c:5816
+msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
+msgstr "%B: ABI-versio %ld ei ole yhteensopiva ABI-version %ld tulosteen kanssa"
 
-#: elf64-ppc.c:6788
+#: elf64-ppc.c:5843
+#, c-format
+msgid " [abiv%ld]"
+msgstr " [abiv%ld]"
+
+#: elf64-ppc.c:7007
+msgid "%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
+msgstr "%P: kopio-reloc-tietue kÃ¤yttÃ¤en â€�%Tâ€�:ta vaatii laiskan plt-linkityksen; vÃ¤ltÃ¤ asettamasta LD_BIND_NOW=1 tai pÃ¤ivitÃ¤ gcc\n"
+
+#: elf64-ppc.c:7270
 msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
 msgstr "%B: mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli R_PPC64_TOCSAVE-sijoituksessa"
 
-#: elf64-ppc.c:6992
+#: elf64-ppc.c:7499
 msgid "%P: dynreloc miscount for %B, section %A\n"
 msgstr "%P: dynreloc-vÃ¤Ã¤rinlaskenta kohteelle %B, lohko %A\n"
 
-#: elf64-ppc.c:7076
+#: elf64-ppc.c:7583
 msgid "%B: .opd is not a regular array of opd entries"
 msgstr "%B: â€�.opdâ€� ei ole sÃ¤Ã¤nnÃ¶nmukainen opd-tulokohtien taulukko"
 
-#: elf64-ppc.c:7085
+#: elf64-ppc.c:7592
 msgid "%B: unexpected reloc type %u in .opd section"
 msgstr "%B: odottamaton reloc-tyyppi %u â€�.opdâ€�-lohkossa"
 
-#: elf64-ppc.c:7106
+#: elf64-ppc.c:7613
 msgid "%B: undefined sym `%s' in .opd section"
 msgstr "%B: mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli â€�%sâ€� â€�.opdâ€�-lohkossa"
 
-#: elf64-ppc.c:7664
+#: elf64-ppc.c:8177
 msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
 msgstr "%H __tls_get_addr kadotti argumentin, TLS-optimointi otettu pois kÃ¤ytÃ¶stÃ¤\n"
 
-#: elf64-ppc.c:8003 elf64-ppc.c:8564
+#: elf64-ppc.c:8516 elf64-ppc.c:9139
 #, c-format
 msgid "%s defined on removed toc entry"
 msgstr "%s mÃ¤Ã¤ritelty poistetussa sisÃ¤llysluettelotulokohdassa"
 
-#: elf64-ppc.c:8521
-msgid "%P: %H: %s relocation references optimized away TOC entry\n"
-msgstr "%P: %H: %s-sijoitusviitteet optimoitu pois tulokohtasisÃ¤llysluettelossa\n"
-
-#: elf64-ppc.c:9598
-msgid "%P: cannot find opd entry toc for %s\n"
-msgstr "%P: ei kyetÃ¤ lÃ¶ytÃ¤mÃ¤Ã¤n opd-tulokohtasisÃ¤llysluetteloa kohteelle %s\n"
+#: elf64-ppc.c:8868
+msgid "%P: %H: toc optimization is not supported for %s instruction.\n"
+msgstr "%P: %B: tulokohtasisÃ¤llysluettelo-optimointia ei tueta %s-kÃ¤skylle.\n"
+
+#: elf64-ppc.c:9096
+msgid "%P: %H: %s references optimized away TOC entry\n"
+msgstr "%P: %H: %s-viitteet optimoitu pois tulokohtasisÃ¤llysluettelossa\n"
+
+#: elf64-ppc.c:10394
+msgid "%P: cannot find opd entry toc for `%T'\n"
+msgstr "%P: opd-kohdan tulokohtasisÃ¤llysluettelon lÃ¶ytÃ¤minen kohteelle â€�%Tâ€� epÃ¤onnistui\n"
 
-#: elf64-ppc.c:9680
+#: elf64-ppc.c:10479
 msgid "%P: long branch stub `%s' offset overflow\n"
 msgstr "%P: pitkÃ¤ haarautumis-stub â€�%sâ€� siirrososoitteen ylivuoto\n"
 
-#: elf64-ppc.c:9739
+#: elf64-ppc.c:10538
 msgid "%P: can't find branch stub `%s'\n"
 msgstr "%P: ei lÃ¶ydy haarautumis-stub-kohdetta â€�%sâ€�\n"
 
-#: elf64-ppc.c:9801 elf64-ppc.c:9943
-msgid "%P: linkage table error against `%s'\n"
-msgstr "%P: linkitystauluvirhe â€�%sâ€�:ta varten\n"
+#: elf64-ppc.c:10602 elf64-ppc.c:10749 elf64-ppc.c:12416
+msgid "%P: linkage table error against `%T'\n"
+msgstr "%P: linkitystauluvirhe kÃ¤yttÃ¤en kohdetta â€�%Tâ€�\n"
 
-#: elf64-ppc.c:10126
+#: elf64-ppc.c:10940
 msgid "%P: can't build branch stub `%s'\n"
 msgstr "%P: ei voi muodostaa haaroitus-stub-kohdetta â€�%sâ€�\n"
 
-#: elf64-ppc.c:10941
+#: elf64-ppc.c:11748
 msgid "%B section %A exceeds stub group size"
 msgstr "%B lohko %A ylittÃ¤Ã¤ stub-ryhmÃ¤koon"
 
-#: elf64-ppc.c:11666 elf64-ppc.c:11699
+#: elf64-ppc.c:12662 elf64-ppc.c:12697
 msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
 msgstr "%P: %s-siirrososoite liian suuri kohteelle .eh_frame sdata4 encoding"
 
-#: elf64-ppc.c:11744
+#: elf64-ppc.c:12758
 msgid "%P: stubs don't match calculated size\n"
 msgstr "%P: stubit ei tÃ¤smÃ¤Ã¤ lasketun koon kanssa\n"
 
-#: elf64-ppc.c:11756
+#: elf64-ppc.c:12770
 #, c-format
 msgid ""
 "linker stubs in %u group%s\n"
@@ -2847,40 +3238,54 @@ msgid ""
 "  toc adjust   %lu\n"
 "  long branch  %lu\n"
 "  long toc adj %lu\n"
-"  plt call     %lu"
+"  plt call     %lu\n"
+"  plt call toc %lu"
 msgstr ""
 "linkkeristubit %u-ryhmÃ¤%s:ssÃ¤\n"
 "  haarautuminen              %lu\n"
 "  sisÃ¤ltÃ¶luettelosÃ¤Ã¤tÃ¶       %lu\n"
 "  pitkÃ¤ haarautuminen        %lu\n"
 "  pitkÃ¤ sisÃ¤ltÃ¶luettelosÃ¤Ã¤tÃ¶ %lu\n"
-"  plt-kutsu                  %lu"
+"  plt-kutsu                  %lu\n"
+"  plt-kutsusisÃ¤ltÃ¶luettelo   %lu"
 
 #  TLS: transport layer security
-#: elf64-ppc.c:12042
-msgid "%P: %H: %s used with TLS symbol %s\n"
-msgstr "%P: %H: %s kÃ¤ytetÃ¤Ã¤n TLS-symbolin %s kanssa\n"
-
-#: elf64-ppc.c:12043
-msgid "%P: %H: %s used with non-TLS symbol %s\n"
-msgstr "%P: %H: %s kÃ¤ytetÃ¤Ã¤n ei-TLS-symbolin %s kanssa\n"
-
-#: elf64-ppc.c:12556
-msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
-msgstr "%P: %H: automaattisia useita sisÃ¤ltÃ¶luettelotauluja ei ole tuettu crt-tiedostoissasi; kÃ¤Ã¤nnÃ¤ uudelleen â€�-mminimal-tocâ€�-argumentilla tai pÃ¤ivitÃ¤ gcc\n"
-
-#: elf64-ppc.c:12562
-msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
-msgstr "%P: %H: sisarruskutsuoptimointi kohteeseen â€�%sâ€� ei salli automaattisia useita sisÃ¤llysluettelotauluja; kÃ¤Ã¤nnÃ¤ uudelleen â€�-mminimal-tocâ€�-argumentilla tai â€�-fno-optimize-sibling-callsâ€�-argumentilla, tai tee kohteesta â€�%sâ€� ulkoinen\n"
-
-#: elf64-ppc.c:13286
-msgid "%P: %B: relocation %s is not supported for symbol %s\n"
-msgstr "%P: %B: sijoitus %s ei ole tuettu symbolille %s\n"
+#: elf64-ppc.c:13096
+msgid "%P: %H: %s used with TLS symbol `%T'\n"
+msgstr "%P: %H: %s kÃ¤ytetÃ¤Ã¤n TLS-symbolin â€�%Tâ€� kanssa\n"
+
+#: elf64-ppc.c:13097
+msgid "%P: %H: %s used with non-TLS symbol `%T'\n"
+msgstr "%P: %H: %s kÃ¤ytetÃ¤Ã¤n ei-TLS-symbolin â€�%Tâ€� kanssa\n"
+
+#: elf64-ppc.c:13675
+msgid "%P: %H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
+msgstr "%P: %H: â€�%Tâ€�-kutsusta puuttuu nop, tulokohtasisÃ¤ltÃ¶luetteloa ei voi palauttaa; kÃ¤Ã¤nnÃ¤ uudelleen valitsimella -fPIC\n"
+
+#: elf64-ppc.c:13793
+msgid "%P: %B: unknown relocation type %d for `%T'\n"
+msgstr "%P: %B: tuntematon sijoitustyyppi %d symbolille â€�%Tâ€�\n"
+
+#: elf64-ppc.c:14310
+msgid "%P: %H: %s for indirect function `%T' unsupported\n"
+msgstr "%P: %H: %s epÃ¤suoralle funktiolle â€�%Tâ€� ei tueta\n"
+
+#: elf64-ppc.c:14417
+msgid "%P: %B: %s is not supported for `%T'\n"
+msgstr "%P: %B: %s ei ole tuettu kohteelle â€�%Tâ€�\n"
 
-#: elf64-ppc.c:13446
+#: elf64-ppc.c:14565
 msgid "%P: %H: error: %s not a multiple of %u\n"
 msgstr "%P: %H: virhe: sijoitus %s ei ole %u:n kerrannainen\n"
 
+#: elf64-ppc.c:14586
+msgid "%P: %H: unresolvable %s against `%T'\n"
+msgstr "%P: %H: ratkaisematon %s kÃ¤yttÃ¤en kohdetta â€�%Tâ€�\n"
+
+#: elf64-ppc.c:14644
+msgid "%P: %H: %s against `%T': error %d\n"
+msgstr "%P: %H: %s kÃ¤yttÃ¤en kohdetta â€�%Tâ€�: virhe %d\n"
+
 #: elf64-sh64.c:1686
 #, c-format
 msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n"
@@ -2906,442 +3311,468 @@ msgstr "Symbolissa â€�%sâ€� on eri tyypp
 msgid "%B: linking UltraSPARC specific with HAL specific code"
 msgstr "%B: linkitetÃ¤Ã¤n UltraSPARC-kohtainen HAL-kohtaisella koodilla"
 
-#: elf64-x86-64.c:1427
+#: elf64-x86-64.c:1530
 msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
-msgstr "%B: sijoitusta %s symbolia `%s' varten ei tueta x32-tilassa"
+msgstr "%B: sijoitusta %s kÃ¤yttÃ¤en symbolia `%s' ei tueta x32-tilassa"
 
-#: elf64-x86-64.c:1656
+#: elf64-x86-64.c:1688
 msgid "%B: '%s' accessed both as normal and thread local symbol"
 msgstr "%B: â€�%sâ€� kutsuttu sekÃ¤ normaalina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina"
 
-#: elf64-x86-64.c:3150
+#: elf64-x86-64.c:3405 /src/binutils-gdb/bfd/elfnn-aarch64.c:3511
 msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
-msgstr "%B: sijoituksella %s kohteen STT_GNU_IFUNC-symbolia â€�%sâ€� varten on ei-nolla-yhteenlaskettava: %d"
+msgstr "%B: sijoituksella %s kÃ¤yttÃ¤en kohteen STT_GNU_IFUNC-symbolia â€�%sâ€� on ei-nolla-yhteenlaskettava: %d"
 
-#: elf64-x86-64.c:3411
+#: elf64-x86-64.c:3667
 msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object"
-msgstr "%B: sijoitusta R_X86_64_GOTOFF64 suojattua funktiota â€�%sâ€� varten ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia"
+msgstr "%B: sijoitusta R_X86_64_GOTOFF64 kÃ¤yttÃ¤en suojattua funktiota â€�%sâ€� ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia"
 
-#: elf64-x86-64.c:3523
+#: elf64-x86-64.c:3787
 msgid "; recompile with -fPIC"
 msgstr "; kÃ¤Ã¤nnetty uudelleen -fPIC-parametrillÃ¤"
 
-#: elf64-x86-64.c:3528
+#: elf64-x86-64.c:3792
 msgid "%B: relocation %s against %s `%s' can not be used when making a shared object%s"
-msgstr "%B: sijoitusta %s kohteeseen %s â€�%sâ€� ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia %s"
+msgstr "%B: sijoitusta %s kÃ¤yttÃ¤en kohdetta %s â€�%sâ€� ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia %s"
 
-#: elf64-x86-64.c:3530
+#: elf64-x86-64.c:3794
 msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
-msgstr "%B: sijoitusta %s kohteeseen %s â€�%sâ€� ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia %s"
+msgstr "%B: sijoitusta %s kÃ¤yttÃ¤en kohdetta %s â€�%sâ€� ei voi kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia %s"
 
-#: elfcode.h:767
+#: elf64-x86-64.c:3900
+msgid "%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
+msgstr "%B: yhteenlaskettava -0x%x sijoituksessa %s kÃ¤yttÃ¤en symbolia â€�%sâ€� osoitteessa 0x%lx lohkossa â€�%Aâ€� on lukualueen ulkopuolella"
+
+#: elf64-x86-64.c:3908
+msgid "%B: addend 0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
+msgstr "%B: yhteenlaskettava 0x%x sijoituksessa %s kÃ¤yttÃ¤en symbolia â€�%sâ€� osoitteessa 0x%lx lohkossa â€�%Aâ€� on lukualueen ulkopuolella"
+
+#: elfcode.h:760
 #, c-format
 msgid "warning: %s has a corrupt string table index - ignoring"
 msgstr "varoitus: %s:ssa on rikkinÃ¤inen merkkijonotauluindeksi - ei oteta huomioon"
 
-#: elfcode.h:1177
+#: elfcode.h:1186
 #, c-format
 msgid "%s: version count (%ld) does not match symbol count (%ld)"
 msgstr "%s: versiolukumÃ¤Ã¤rÃ¤ (%ld) ei tÃ¤smÃ¤Ã¤ symbolilukumÃ¤Ã¤rÃ¤n (%ld) kanssa"
 
-#: elfcode.h:1431
+#: elfcode.h:1440
 #, c-format
 msgid "%s(%s): relocation %d has invalid symbol index %ld"
 msgstr "%s(%s): sijoituksessa %d on virheellinen symboli-indeksi %ld"
 
-#: elfcore.h:312
+#: elfcore.h:305
 msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
 msgstr "Varoitus: %B typistettiin: odotettu kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintiedoston koko >= %lu, lÃ¶ytyi: %lu."
 
-#: elflink.c:1117
+#: elflink.c:1143
 msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
 msgstr "%s: TLS-mÃ¤Ã¤rittely kohteessa %B lohko %A ei tÃ¤smÃ¤Ã¤ ei-TLS-mÃ¤Ã¤rittelyn kanssa kohteessa %B lohko %A"
 
-#: elflink.c:1121
+#: elflink.c:1148
 msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
 msgstr "%s: TLS-viite kohteessa %B ei tÃ¤smÃ¤Ã¤ ei-TLS-viitteen kanssa kohteessa %B"
 
-#: elflink.c:1125
+#: elflink.c:1153
 msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
 msgstr "%s: TLS-mÃ¤Ã¤rittely kohteessa %B lohko %A ei tÃ¤smÃ¤Ã¤ ei-TLS-viitteen kanssa kohteessa %B"
 
-#: elflink.c:1129
+#: elflink.c:1158
 msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
 msgstr "%s: TLS-viite kohteessa %B ei tÃ¤smÃ¤Ã¤ ei-TLS-mÃ¤Ã¤rittelyn kanssa kohteessa %B lohko %A"
 
-#: elflink.c:1762
+#: elflink.c:1763
 msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
 msgstr "%B: epÃ¤suoran versioidun symbolin â€�%sâ€� odottamaton uudelleenmÃ¤Ã¤rittely"
 
-#: elflink.c:2063
+#: elflink.c:2066
 msgid "%B: version node not found for symbol %s"
 msgstr "%B: versiosolmua ei lÃ¶ydetty symbolille %s"
 
-#: elflink.c:2154
+#: elflink.c:2157
 msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'"
 msgstr "%B: virheellinen reloc-tietuesymboli-indeksi (0x%lx >= 0x%lx) siirrososoitteelle 0x%lx lohkossa â€�%Aâ€�"
 
-#: elflink.c:2165
+#: elflink.c:2168
 msgid "%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table"
 msgstr "%B: ei-nolla symboli-indeksi (0x%lx) siirrososoitetta 0x%lx varten lohkossa â€�%Aâ€� kun objektitiedostolla ei ole symbolitaulua"
 
-#: elflink.c:2355
+#: elflink.c:2358
 msgid "%B: relocation size mismatch in %B section %A"
 msgstr "%B: sijoituskokotÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys %B:n tulolohkossa %A"
 
-#: elflink.c:2639
+#: elflink.c:2640
 #, c-format
 msgid "warning: type and size of dynamic symbol `%s' are not defined"
 msgstr "varoitus: dynaamisen symbolin â€�%sâ€� tyyppi ja koko ei ole mÃ¤Ã¤ritelty"
 
 #  USA:ssa alternate-sanaa kÃ¤ytetÃ¤Ã¤n yleisesti, kun tarkoitetaan alternative.
-#: elflink.c:3391
+#: elflink.c:3403
 msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
 msgstr "%P: vaihtoehtoinen ELF-konekoodi lÃ¶ydetty (%d) kohteessa %B, otetaan %d\n"
 
-#: elflink.c:4037
+#: elflink.c:4032
 msgid "%B: %s: invalid version %u (max %d)"
 msgstr "%B: %s: virheellinen versio %u (maksimi %d)"
 
-#: elflink.c:4073
+#: elflink.c:4068
 msgid "%B: %s: invalid needed version %d"
 msgstr "%B: %s: virheellinen tarvittu versio %d"
 
-#: elflink.c:4269
-msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
-msgstr "Varoitus: tasaus %u yhteissymbolissa â€�%sâ€� kohteessa %B on suurempi kuin tasaus (%u) sen lohkossa %A"
-
-#: elflink.c:4275
-msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
-msgstr "Varoitus: tasaus %u symbolissa â€�%sâ€� kohteessa %B on pienempi kuin %u kohteessa %B"
-
-#: elflink.c:4290
-msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
-msgstr "Varoitus: symbolin â€�%sâ€� koko vaihtui koosta %lu kohteessa %B kokoon %lu kohteessa %B"
-
-#: elflink.c:4463
+#: elflink.c:4452
 msgid "%B: undefined reference to symbol '%s'"
 msgstr "%B: mÃ¤Ã¤rittelemÃ¤tÃ¶n viite symboliin â€™%sâ€™"
 
-#: elflink.c:4466
-msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
-msgstr "huomatus: â€™%sâ€™ on mÃ¤Ã¤ritelty kohteessa DSO %B, joten yritÃ¤ lisÃ¤tÃ¤ se linkkittÃ¤jÃ¤n komentoriville"
+#: elflink.c:5523
+msgid "%B: stack size specified and %s set"
+msgstr "%B: pinokoko mÃ¤Ã¤ritelty ja %s asetettu"
+
+#: elflink.c:5526
+msgid "%B: %s not absolute"
+msgstr "%B: ei ole absoluuttinen"
 
-#: elflink.c:5781
+#: elflink.c:5824
 #, c-format
 msgid "%s: undefined version: %s"
 msgstr "%s: mÃ¤Ã¤rittelemÃ¤tÃ¶n versio: %s"
 
-#: elflink.c:5849
+#: elflink.c:5892
 msgid "%B: .preinit_array section is not allowed in DSO"
 msgstr "%B: â€�.preinit_arrayâ€�-lohkoa ei sallita kohteessa DSO"
 
-#: elflink.c:7604
+#: elflink.c:7657
 #, c-format
 msgid "undefined %s reference in complex symbol: %s"
 msgstr "mÃ¤Ã¤rittelemÃ¤tÃ¶n %s-viite kompleksisymbolissa: %s"
 
-#: elflink.c:7758
+#: elflink.c:7811
 #, c-format
 msgid "unknown operator '%c' in complex symbol"
 msgstr "tuntematon operaattori â€�%câ€� kompleksisymbolissa"
 
-#: elflink.c:8097 elflink.c:8114 elflink.c:8151 elflink.c:8168
+#: elflink.c:8165 elflink.c:8182 elflink.c:8219 elflink.c:8236
 msgid "%B: Unable to sort relocs - they are in more than one size"
 msgstr "%B: Ei voi lajitella relocs-tietueita - niitÃ¤ on useampia kuin yhtÃ¤ kokoa"
 
-#: elflink.c:8128 elflink.c:8182
+#: elflink.c:8196 elflink.c:8250
 msgid "%B: Unable to sort relocs - they are of an unknown size"
 msgstr "%B: Ei voi lajitella relocs-tietueita - niiden koko on tuntematon"
 
-#: elflink.c:8233
+#: elflink.c:8301
 msgid "Not enough memory to sort relocations"
 msgstr "Ei tarpeeksi muistia sijoitusten lajittelemiseen"
 
-#: elflink.c:8426
+#: elflink.c:8494
 msgid "%B: Too many sections: %d (>= %d)"
 msgstr "%B: Liian monia lohkoja: %d (>= %d)"
 
-#: elflink.c:8675
+#: elflink.c:8775
 msgid "%B: internal symbol `%s' in %B is referenced by DSO"
 msgstr "%B: sisÃ¤inen symboli â€�%sâ€� kohteessa %B on DSO:n viitteenÃ¤"
 
-#: elflink.c:8677
+#: elflink.c:8777
 msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
 msgstr "%B: piilotettu symboli â€�%sâ€� kohteessa %B on DSO:n viitteenÃ¤"
 
-#: elflink.c:8679
+#: elflink.c:8779
 msgid "%B: local symbol `%s' in %B is referenced by DSO"
 msgstr "%B: paikallinen symboli â€�%sâ€� kohteessa %B on DSO:n viitteenÃ¤"
 
-#: elflink.c:8776
+#: elflink.c:8890
 msgid "%B: could not find output section %A for input section %A"
 msgstr "%B: ei lÃ¶ytynyt tulostelohkoa %A syÃ¶telohkolle %A"
 
-#: elflink.c:8899
+#: elflink.c:9013
 msgid "%B: protected symbol `%s' isn't defined"
 msgstr "%B: suojattua symbolia â€�%sâ€� ei ole mÃ¤Ã¤ritelty"
 
-#: elflink.c:8901
+#: elflink.c:9015
 msgid "%B: internal symbol `%s' isn't defined"
 msgstr "%B: sisÃ¤istÃ¤ symbolia â€�%sâ€� ei ole mÃ¤Ã¤ritelty"
 
-#: elflink.c:8903
+#: elflink.c:9017
 msgid "%B: hidden symbol `%s' isn't defined"
 msgstr "%B: piilotettua symbolia â€�%sâ€� ei ole mÃ¤Ã¤ritelty"
 
-#: elflink.c:9432
+#: elflink.c:9043
+msgid "%B: No symbol version section for versioned symbol `%s'"
+msgstr "%B: Ei symboliversiolohkoa versioidulle symbolille â€�%sâ€�"
+
+#: elflink.c:9598
 msgid "error: %B: size of section %A is not multiple of address size"
 msgstr "virhe: %B: lohkon %A koko ei ole osoitekoon kerrannainen"
 
-#: elflink.c:9479
+#: elflink.c:9645
 msgid "error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol"
 msgstr "virhe: %B sisÃ¤ltÃ¤Ã¤ reloc-tietueen (0x%s) lohkolle %A, joka viittaa puuttuvaan yleissymboliin"
 
-#: elflink.c:10214
+#: elflink.c:10369
 msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
 msgstr "%A:ssa on sekÃ¤ jÃ¤rjestettyjÃ¤ [â€�%Aâ€� kohteessa %B] ettÃ¤ jÃ¤rjestÃ¤mÃ¤ttÃ¶miÃ¤ [â€�%Aâ€� kohteessa %B] lohkoja"
 
-#: elflink.c:10219
+#: elflink.c:10374
 #, c-format
 msgid "%A has both ordered and unordered sections"
 msgstr "%A:ssa on sekÃ¤ jÃ¤rjestettyjÃ¤ ettÃ¤ jÃ¤rjestÃ¤mÃ¤ttÃ¶miÃ¤ lohkoja"
 
-#: elflink.c:10784
+#: elflink.c:10982
 msgid "%B: file class %s incompatible with %s"
 msgstr "%B: tiedostoluokka %s on yhteensopimaton kohteen %s kanssa"
 
-#: elflink.c:11093 elflink.c:11137
+#: elflink.c:11303 elflink.c:11347
 msgid "%B: could not find output section %s"
 msgstr "%B: ei lÃ¶ytynyt tulostelohkoa %s"
 
-#: elflink.c:11098
+#: elflink.c:11308
 #, c-format
 msgid "warning: %s section has zero size"
 msgstr "varoitus: %s-lohkossa on nollakoko"
 
-#: elflink.c:11143
+#: elflink.c:11353
 #, c-format
 msgid "warning: section '%s' is being made into a note"
 msgstr "varoitus: lohkosta â€�%sâ€� on tehty note-lohko"
 
-#: elflink.c:11212
+#: elflink.c:11419
 msgid "%P%X: read-only segment has dynamic relocations.\n"
 msgstr "%P%X: kirjoitussuojatussa segmentissÃ¤ on dynaamisia sijoituksia.\n"
 
-#: elflink.c:11215
+#: elflink.c:11422
 msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
 msgstr "%P: varoitus: luodaan DT_TEXTREL-tunniste jaetussa objektissa.\n"
 
-#: elflink.c:11402
+#: elflink.c:11545
 msgid "%P%X: can not read symbols: %E\n"
 msgstr "%P%X: ei voi lukea symboleja: %E\n"
 
-#: elflink.c:11792
+#: elflink.c:11989
 msgid "Removing unused section '%s' in file '%B'"
 msgstr "Poistetaan kÃ¤yttÃ¤mÃ¤tÃ¶n lohko â€�%sâ€� tiedostossa â€�%Bâ€�"
 
-#: elflink.c:11998
+#: elflink.c:12200
 msgid "Warning: gc-sections option ignored"
 msgstr "Varoitus: â€�gc-sectionsâ€�-valitsinta ei oteta huomioon"
 
-#: elflink.c:12277
+#: elflink.c:12489
 #, c-format
 msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
 msgstr "Tunnistamaton INPUT_SECTION_FLAG %s\n"
 
-#: elfxx-mips.c:1234
+#: elfxx-mips.c:1419
 msgid "static procedure (no name)"
 msgstr "staattinen proseduuri (ei nimeÃ¤)"
 
-#: elfxx-mips.c:5259
+#: elfxx-mips.c:5476
 msgid "MIPS16 and microMIPS functions cannot call each other"
 msgstr "MIPS16- ja microMIPS-funktiot eivÃ¤t voi kutsua toisiaan"
 
-#: elfxx-mips.c:5856
-msgid "%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled."
-msgstr "%B: %A+0x%lx: Suorat hypyt ISA-tilojen vÃ¤lillÃ¤ eivÃ¤t ole sallittuja; harkitse uudelleenkÃ¤Ã¤ntÃ¤mistÃ¤ kÃ¤yttÃ¤en yhteislinkitystÃ¤."
+#: elfxx-mips.c:6087
+msgid "%B: %A+0x%lx: Unsupported jump between ISA modes; consider recompiling with interlinking enabled."
+msgstr "%B: %A+0x%lx: Tukematon hyppy ISA-tilojen vÃ¤lillÃ¤; harkitse uudelleenkÃ¤Ã¤ntÃ¤mistÃ¤ kÃ¤yttÃ¤en yhteislinkitystÃ¤."
 
-#: elfxx-mips.c:6519 elfxx-mips.c:6742
+#: elfxx-mips.c:6756 elfxx-mips.c:6979
 msgid "%B: Warning: bad `%s' option size %u smaller than its header"
 msgstr "%B: Varoitus: virheellinen â€�%sâ€�-valitsinkoko %u pienempi kuin sen otsake"
 
-#: elfxx-mips.c:7495 elfxx-mips.c:7620
+#: elfxx-mips.c:7734 elfxx-mips.c:7859
 msgid "%B: Warning: cannot determine the target function for stub section `%s'"
 msgstr "%B: Varoitus: ei voi mÃ¤Ã¤ritellÃ¤ stub-lohkon â€�%sâ€� kohdefunktiota"
 
-#: elfxx-mips.c:7749
+#: elfxx-mips.c:7990
 msgid "%B: Malformed reloc detected for section %s"
 msgstr "%B: Muodoltaan virheellinen reloc-tietue havaittu lohkossa %s"
 
-#: elfxx-mips.c:7801
+#: elfxx-mips.c:8065
 msgid "%B: GOT reloc at 0x%lx not expected in executables"
 msgstr "%B: Yleissiirrostaulu-reloc-tietue siirroksessa 0x%lx ei ole odotettu suoritettavissa tiedostoissa"
 
-#: elfxx-mips.c:7930
+#: elfxx-mips.c:8199
 msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
-msgstr "%B: â€�CALL16 relocâ€�-tietue siirroksessa 0x%lx ei ole yleissymbolia varten"
+msgstr "%B: â€�CALL16 relocâ€�-tietueessa siirroksessa 0x%lx ei ole kÃ¤ytetty yleissymbolia"
 
-#: elfxx-mips.c:8645
+#: elfxx-mips.c:8977
 #, c-format
 msgid "non-dynamic relocations refer to dynamic symbol %s"
 msgstr "ei-dynaaminen sijoitus viittaa dynaamiseen symboliin %s"
 
-#: elfxx-mips.c:9347
+#: elfxx-mips.c:9877
 msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
-msgstr "%B: Ei lÃ¶ydy tÃ¤smÃ¤Ã¤vÃ¤Ã¤ â€�LO16 relocâ€�-tietuetta tulolohkoa â€�%sâ€� varten symbolinimelle %s kohteessa 0x%lx lohkossa â€�%Aâ€�"
+msgstr "%B: Ei lÃ¶ydy tÃ¤smÃ¤Ã¤vÃ¤Ã¤ â€�LO16 relocâ€�-tietuetta kÃ¤yttÃ¤en tulolohkoa â€�%sâ€� symbolinimelle %s kohteessa 0x%lx lohkossa â€�%Aâ€�"
 
-#: elfxx-mips.c:9486
+#: elfxx-mips.c:10016
 msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
 msgstr "â€�smallâ€�-datalohko ylittÃ¤Ã¤ 64 kilotavua; alenna â€�smallâ€�-datalohkon kokorajaa (katso valitsin -G)"
 
-#: elfxx-mips.c:9505
+#: elfxx-mips.c:10035
 msgid "JALX to a non-word-aligned address"
 msgstr "JALX word-tasaamattomaan osoitteeseen"
 
-#: elfxx-mips.c:13266
+#: elfxx-mips.c:10402 elfxx-mips.c:10966
+msgid "%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC"
+msgstr "%B: â€�%Aâ€� %ld-siirrosoiste kohteesta â€�%Aâ€� ADDIUPC-lukualueen takana"
+
+#: elfxx-mips.c:13990
 #, c-format
 msgid "%s: illegal section name `%s'"
 msgstr "%s: virheellinen lohkonimi â€�%sâ€�"
 
-#: elfxx-mips.c:13645 elfxx-mips.c:13671
-msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float"
-msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ â€�-msingle-floatâ€�-valitsinta, %B kÃ¤yttÃ¤Ã¤ â€�-mdouble-floatâ€�-valitsinta"
-
-#: elfxx-mips.c:13657 elfxx-mips.c:13713
-msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
-msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ â€�-msingle-floatâ€�-valitsinta, %B kÃ¤yttÃ¤Ã¤ â€�-mips32r2 -mfp64â€�-valitsimia"
-
-#: elfxx-mips.c:13683 elfxx-mips.c:13719
-msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
-msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ â€�-mdouble-floatâ€�-valitsinta, %B kÃ¤yttÃ¤Ã¤ â€�-mips32r2 -mfp64â€�-valitsimia"
+#: elfxx-mips.c:14375 elfxx-mips.c:14381 elfxx-mips.c:14387 elfxx-mips.c:14407
+#: elfxx-mips.c:14413 elfxx-mips.c:14419 elfxx-mips.c:14441 elfxx-mips.c:14460
+#: elfxx-mips.c:14467 elfxx-mips.c:14474
+msgid "Warning: %B uses %s (set by %B), %B uses %s"
+msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ %s (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ %s"
+
+#: elfxx-mips.c:14394 elfxx-mips.c:14426 elfxx-mips.c:14447 elfxx-mips.c:14480
+msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
+msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ %s (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %d"
+
+#: elfxx-mips.c:14493 elfxx-mips.c:14501 elfxx-mips.c:14509 elfxx-mips.c:14517
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
+msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %d (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ %s"
+
+#: elfxx-mips.c:14525
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %d"
+msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %d (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ tuntematonta liukuluku-ABI:a %d"
+
+#: elfxx-mips.c:14548
+msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
+msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ %s (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ tuntematonta MSA ABI:a %d"
+
+#: elfxx-mips.c:14559
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
+msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta MSA ABI:a %d (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ %s"
+
+#: elfxx-mips.c:14567
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
+msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ tuntematonta MSA ABI:a %d (asettaja: %B), %B kÃ¤yttÃ¤Ã¤ tuntematonta MSA ABI:a %d"
 
-#: elfxx-mips.c:13761
+#: elfxx-mips.c:14599
 msgid "%B: endianness incompatible with that of the selected emulation"
 msgstr "%B: tavujÃ¤rjestys tyypiltÃ¤Ã¤n sopimaton valitun emuloinnin tavujÃ¤rjestystyypin kanssa"
 
-#: elfxx-mips.c:13772
+#: elfxx-mips.c:14610
 msgid "%B: ABI is incompatible with that of the selected emulation"
 msgstr "%B: ABI ei ole yhteensopiva valitun emuloinnin ABIn kanssa"
 
-#: elfxx-mips.c:13856
+#: elfxx-mips.c:14694
 msgid "%B: warning: linking abicalls files with non-abicalls files"
 msgstr "%B: varoitus: linkitetÃ¤Ã¤n abi-kutsutiedostoja ei-abi-kutsutiedostoihin"
 
-#: elfxx-mips.c:13873
+#: elfxx-mips.c:14711
 msgid "%B: linking 32-bit code with 64-bit code"
 msgstr "%B: linkitetÃ¤Ã¤n 32-bittinen koodi 64-bittisen koodin kanssa"
 
-#: elfxx-mips.c:13901
+#: elfxx-mips.c:14739 elfxx-mips.c:14802
 msgid "%B: linking %s module with previous %s modules"
 msgstr "%B: linkitetÃ¤Ã¤n %s-moduli edellisten %s-modulien kanssa"
 
-#: elfxx-mips.c:13924
+#: elfxx-mips.c:14762
 msgid "%B: ABI mismatch: linking %s module with previous %s modules"
 msgstr "%B: ABI-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys: linkitetÃ¤Ã¤n %s-moduli edellisten %s-modulien kanssa"
 
-#: elfxx-mips.c:13948
+#: elfxx-mips.c:14786
 msgid "%B: ASE mismatch: linking %s module with previous %s modules"
 msgstr "%B: ASE-tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys: linkitetÃ¤Ã¤n %s-moduli edellisten %s-modulien kanssa"
 
-#: elfxx-mips.c:14106
+#: elfxx-mips.c:14958
 #, c-format
 msgid " [abi=O32]"
 msgstr " [abi=O32]"
 
-#: elfxx-mips.c:14108
+#: elfxx-mips.c:14960
 #, c-format
 msgid " [abi=O64]"
 msgstr " [abi=O64]"
 
-#: elfxx-mips.c:14110
+#: elfxx-mips.c:14962
 #, c-format
 msgid " [abi=EABI32]"
 msgstr " [abi=EABI32]"
 
-#: elfxx-mips.c:14112
+#: elfxx-mips.c:14964
 #, c-format
 msgid " [abi=EABI64]"
 msgstr " [abi=EABI64]"
 
-#: elfxx-mips.c:14114
+#: elfxx-mips.c:14966
 #, c-format
 msgid " [abi unknown]"
 msgstr " [abi tuntematon]"
 
-#: elfxx-mips.c:14116
+#: elfxx-mips.c:14968
 #, c-format
 msgid " [abi=N32]"
 msgstr " [abi=N32]"
 
-#: elfxx-mips.c:14118
+#: elfxx-mips.c:14970
 #, c-format
 msgid " [abi=64]"
 msgstr " [abi=64]"
 
-#: elfxx-mips.c:14120
+#: elfxx-mips.c:14972
 #, c-format
 msgid " [no abi set]"
 msgstr " [ei abia asetettu]"
 
-#: elfxx-mips.c:14141
+#: elfxx-mips.c:14993
 #, c-format
 msgid " [unknown ISA]"
 msgstr " [tuntematon ISA]"
 
-#: elfxx-mips.c:14155
+#: elfxx-mips.c:15013
 #, c-format
 msgid " [not 32bitmode]"
 msgstr " [ei 32-bittitila]"
 
-#: elfxx-sparc.c:596
+#: elfxx-sparc.c:640
 #, c-format
 msgid "invalid relocation type %d"
 msgstr "virheellinen sijoitustyyppi %d"
 
-#: elfxx-tilegx.c:3952
+#: elfxx-tilegx.c:4433
 msgid "%B: Cannot link together %s and %s objects."
 msgstr "%B: Ei voida linkittÃ¤Ã¤ yhteen %s- ja %s-objekteja."
 
-#: i386linux.c:451 m68klinux.c:456 sparclinux.c:450
+#: i386linux.c:418 m68klinux.c:421 sparclinux.c:414
 #, c-format
 msgid "Output file requires shared library `%s'\n"
 msgstr "Tulostetiedosto vaatii jaetun kirjaston â€�%sâ€�\n"
 
-#: i386linux.c:459 m68klinux.c:464 sparclinux.c:458
+#: i386linux.c:426 m68klinux.c:429 sparclinux.c:422
 #, c-format
 msgid "Output file requires shared library `%s.so.%s'\n"
 msgstr "Tulostetiedosto vaatii jaetun kirjaston â€�%s.so.%sâ€�\n"
 
-#: i386linux.c:648 i386linux.c:698 m68klinux.c:656 m68klinux.c:704
-#: sparclinux.c:648 sparclinux.c:698
+#: i386linux.c:613 i386linux.c:663 m68klinux.c:618 m68klinux.c:666
+#: sparclinux.c:609 sparclinux.c:659
 #, c-format
 msgid "Symbol %s not defined for fixups\n"
 msgstr "Symbolia %s ei ole mÃ¤Ã¤ritelty korjauksia varten\n"
 
-#: i386linux.c:722 m68klinux.c:728 sparclinux.c:722
+#: i386linux.c:687 m68klinux.c:690 sparclinux.c:683
 msgid "Warning: fixup count mismatch\n"
 msgstr "Varoitus: korjauslukumÃ¤Ã¤rÃ¤n tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys\n"
 
-#: ieee.c:159
+#: ieee.c:158
 #, c-format
 msgid "%s: string too long (%d chars, max 65535)"
 msgstr "%s: merkkijono on liian pitkÃ¤ (%d merkkiÃ¤, maksimi 65535)"
 
-#: ieee.c:286
+#: ieee.c:285
 #, c-format
 msgid "%s: unrecognized symbol `%s' flags 0x%x"
 msgstr "%s: tunnistamaton symboli â€�%sâ€� liput 0x%x"
 
-#: ieee.c:792
+#: ieee.c:791
 msgid "%B: unimplemented ATI record %u for symbol %u"
 msgstr "%B: toteuttamaton ATI-tietue %u symbolille %u"
 
-#: ieee.c:816
+#: ieee.c:815
 msgid "%B: unexpected ATN type %d in external part"
 msgstr "%B: odottamaton ATN-tyyppi %d ulkoisessa osassa"
 
-#: ieee.c:838
+#: ieee.c:837
 msgid "%B: unexpected type after ATN"
 msgstr "%B: odottamaton tyyppi ATN:n jÃ¤lkeen"
 
@@ -3408,281 +3839,223 @@ msgstr "KÃ¤ytÃ¶stÃ¤ poistettu %s kutsutt
 msgid "Deprecated %s called\n"
 msgstr "KÃ¤ytÃ¶stÃ¤ poistettu %s kutsuttu\n"
 
-#: linker.c:1872
+#: linker.c:1873
 msgid "%B: indirect symbol `%s' to `%s' is a loop"
 msgstr "%B: epÃ¤suora symboli â€�%sâ€� kohteeseen â€�%sâ€� on silmukka"
 
-#: linker.c:2736
+#: linker.c:2750
 #, c-format
 msgid "Attempt to do relocatable link with %s input and %s output"
 msgstr "Yritettiin tehdÃ¤ sijoitettava linkki %s-syÃ¶tteellÃ¤ ja %s-tulosteella"
 
-#: linker.c:3021
+#: linker.c:3035
 msgid "%B: ignoring duplicate section `%A'\n"
 msgstr "%B: ei oteta huomioon lohkon â€�%Aâ€� kaksoiskappaletta\n"
 
-#: linker.c:3030 linker.c:3039
+#: linker.c:3044 linker.c:3053
 msgid "%B: duplicate section `%A' has different size\n"
 msgstr "%B: lohkon â€�%Aâ€� kaksoiskappaleessa on eri koko\n"
 
-#: linker.c:3047 linker.c:3052
+#: linker.c:3061 linker.c:3066
 msgid "%B: could not read contents of section `%A'\n"
 msgstr "%B: ei voitu lukea lohkon â€�%Aâ€� sisÃ¤ltÃ¶Ã¤\n"
 
-#: linker.c:3056
+#: linker.c:3070
 msgid "%B: duplicate section `%A' has different contents\n"
 msgstr "%B: lohkon â€�%Aâ€� kaksoiskappaleella on erilainen sisÃ¤ltÃ¶\n"
 
-#: mach-o.c:407
+#: mach-o.c:648
 msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
 msgstr "bfd_mach_o_canonicalize_symtab: ei kyetÃ¤ lataamaan symboleja"
 
-#: mach-o.c:1301
+#: mach-o.c:1918
+#, c-format
+msgid "mach-o: there are too many sections (%d) maximum is 255,\n"
+msgstr "mach-o: liian monta lohkoa (%d) maksimi on 255,\n"
+
+#: mach-o.c:2017
 #, c-format
 msgid "unable to write unknown load command 0x%lx"
 msgstr "ei kyetÃ¤ kirjoittamaan tuntematonta lataa-komentoa 0x%lx"
 
-#: mach-o.c:1789
+#: mach-o.c:2272
+msgid "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands."
+msgstr "valitettavasti modtab, toc ja extrefsyms ei ole vielÃ¤ toteutettu dysymtab-komennoille."
+
+#: mach-o.c:2898
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
 msgstr "bfd_mach_o_read_symtab_symbol: ei kyetÃ¤ lukemaan %d tavua osoitteesta %lu"
 
-#: mach-o.c:1807
+#: mach-o.c:2916
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
 msgstr "bfd_mach_o_read_symtab_symbol: nimi lukualueen ulkopuolella (%lu >= %lu)"
 
-#: mach-o.c:1892
+#: mach-o.c:2997
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
 msgstr "bfd_mach_o_read_symtab_symbol: symboli â€�%sâ€� mÃ¤Ã¤ritellyt virheellisen lohkon %d (enintÃ¤Ã¤n %lu): asetus on mÃ¤Ã¤rittelemÃ¤tÃ¶n"
 
-#: mach-o.c:1900
-#, c-format
-msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: symboli â€�%sâ€� on tukematon â€™epÃ¤suoraâ€™ viite: asetus on mÃ¤Ã¤rittelemÃ¤tÃ¶n"
-
-#: mach-o.c:1906
+#: mach-o.c:3013
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
 msgstr "bfd_mach_o_read_symtab_symbol: symboli â€�%sâ€� mÃ¤Ã¤ritellyt virheellisen tyyppikentÃ¤n 0x%x: asetus on mÃ¤Ã¤rittelemÃ¤tÃ¶n"
 
-#: mach-o.c:1979
+#: mach-o.c:3085
 msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
 msgstr "bfd_mach_o_read_symtab_symbols: ei kyetÃ¤ varaamaan muistia symboleille"
 
-#: mach-o.c:2014
-#, c-format
-msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
-msgstr "bfd_mach_o_read_dysymtab_symbol: ei kyetÃ¤ lukemaan %lu tavua osoitteesta %lu"
-
-#: mach-o.c:2734
-#, c-format
-msgid "unable to read unknown load command 0x%lx"
-msgstr "ei kyetÃ¤ lukemaan tuntematonta lataa-kÃ¤skyÃ¤ 0x%lx"
+#: mach-o.c:3915
+msgid "%B: unknown load command 0x%lx"
+msgstr "%B: tuntematon latauskÃ¤sky 0x%lx"
 
-#: mach-o.c:2915
+#: mach-o.c:4107
 #, c-format
 msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
 msgstr "bfd_mach_o_scan: tuntematon arkkitehtuuri 0x%lx/0x%lx"
 
-#: mach-o.c:3011
+#: mach-o.c:4204
 #, c-format
 msgid "unknown header byte-order value 0x%lx"
 msgstr "tuntematon otsaketavujÃ¤rjestysarvo 0x%lx"
 
-#: mach-o.c:3577
-msgid "Mach-O header:\n"
-msgstr "Mach-O otsake:\n"
-
-#: mach-o.c:3578
-#, c-format
-msgid " magic     : %08lx\n"
-msgstr " maaginen            : %08lx\n"
-
-#: mach-o.c:3579
-#, c-format
-msgid " cputype   : %08lx (%s)\n"
-msgstr " prosessorityyppi    : %08lx (%s)\n"
-
-#: mach-o.c:3581
-#, c-format
-msgid " cpusubtype: %08lx\n"
-msgstr " prosessorialityyppi : %08lx\n"
-
-#: mach-o.c:3582
-#, c-format
-msgid " filetype  : %08lx (%s)\n"
-msgstr " tiedostotyyppi      : %08lx (%s)\n"
-
-#: mach-o.c:3585
-#, c-format
-msgid " ncmds     : %08lx (%lu)\n"
-msgstr "ncmds                : %08lx (%lu)\n"
-
-#: mach-o.c:3586
-#, c-format
-msgid " sizeofcmds: %08lx\n"
-msgstr " komentojenkoko      : %08lx\n"
-
-#: mach-o.c:3587
-#, c-format
-msgid " flags     : %08lx ("
-msgstr " liput               : %08lx ("
-
-#: mach-o.c:3589 vms-alpha.c:7674
-msgid ")\n"
-msgstr ")\n"
-
-#: mach-o.c:3590
-#, c-format
-msgid " reserved  : %08x\n"
-msgstr " varattu   : %08x\n"
-
-#: mach-o.c:3600
-msgid "Segments and Sections:\n"
-msgstr "Segmentit ja lohkot:\n"
-
-#: mach-o.c:3601
-msgid " #: Segment name     Section name     Address\n"
-msgstr " #: Segmenttinimi     Lohkonnimi       Osoite\n"
-
 #: merge.c:832
 #, c-format
 msgid "%s: access beyond end of merged section (%ld)"
 msgstr "%s: pÃ¤Ã¤sy lomitetun lohkon (%ld) lopun yli"
 
-#: mmo.c:456
+#: mmo.c:455
 #, c-format
 msgid "%s: No core to allocate section name %s\n"
 msgstr "%s: Ei kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintÃ¤ lohkonimen %s varaamiseen\n"
 
-#: mmo.c:531
+#: mmo.c:530
 #, c-format
 msgid "%s: No core to allocate a symbol %d bytes long\n"
 msgstr "%s: Ei kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintÃ¤ symbolin varaamiseksi %d tavua pitkÃ¤nÃ¤\n"
 
-#: mmo.c:1187
+#: mmo.c:1189
 #, c-format
 msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n"
 msgstr "%s: virheellinen mmo-tiedosto: alustusarvo kohteelle $255 ei ole â€�Mainâ€�\n"
 
-#: mmo.c:1332
+#: mmo.c:1334
 #, c-format
 msgid "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
 msgstr "%s: ei-tuettu leveÃ¤merkkisekvenssi 0x%02X 0x%02X symbolinimen jÃ¤lkeen alkaen arvolla â€�%sâ€�\n"
 
-#: mmo.c:1565
+#: mmo.c:1568
 #, c-format
 msgid "%s: invalid mmo file: unsupported lopcode `%d'\n"
 msgstr "%s: virheellinen mmo-tiedosto: ei-tuettu lopcode â€�%dâ€�\n"
 
-#: mmo.c:1575
+#: mmo.c:1578
 #, c-format
 msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
 msgstr "%s: virheellinen mmo-tiedosto: odotettu YZ = 1 saatiin YZ = %d kohteelle lop_quote\n"
 
-#: mmo.c:1611
+#: mmo.c:1614
 #, c-format
 msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
 msgstr "%s: virheellinen mmo-tiedosto: odotettiin z = 1 tai z = 2, saatiin z = %d kohteelle lop_loc\n"
 
-#: mmo.c:1657
+#: mmo.c:1660
 #, c-format
 msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
 msgstr "%s: virheellinen mmo-tiedosto: odotettiin z = 1 tai z = 2, saatiin z = %d kohteelle lop_fixo\n"
 
-#: mmo.c:1696
+#: mmo.c:1699
 #, c-format
 msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
 msgstr "%s: virheellinen mmo-tiedosto: odotettiin y = 0, saatiin y = %d kohteelle lop_fixrx\n"
 
-#: mmo.c:1705
+#: mmo.c:1708
 #, c-format
 msgid "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
 msgstr "%s: virheellinen mmo-tiedosto: odotettiin z = 16 tai z = 24, saatiin z = %d kohteelle lop_fixrx\n"
 
-#: mmo.c:1728
+#: mmo.c:1731
 #, c-format
 msgid "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
 msgstr "%s: virheellinen mmo-tiedosto: operandisanan etutavun on oltava 0 tai 1, saatiin %d kohteelle lop_fixrx\n"
 
-#: mmo.c:1751
+#: mmo.c:1754
 #, c-format
 msgid "%s: cannot allocate file name for file number %d, %d bytes\n"
 msgstr "%s: ei voi varata tiedostonimeÃ¤ tiedostonumerolle %d, %d tavua\n"
 
-#: mmo.c:1771
+#: mmo.c:1774
 #, c-format
 msgid "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
 msgstr "%s: virheellinen mmo-tiedosto: tiedostonumero %d â€�%sâ€�, oli jo kirjoitettu arvona â€�%sâ€�\n"
 
-#: mmo.c:1784
+#: mmo.c:1787
 #, c-format
 msgid "%s: invalid mmo file: file name for number %d was not specified before use\n"
 msgstr "%s: virheellinen mmo-tiedosto: tiedostonimi numerolle %d ei ole mÃ¤Ã¤ritelty ennen kÃ¤yttÃ¶Ã¤\n"
 
-#: mmo.c:1890
+#: mmo.c:1893
 #, c-format
 msgid "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
 msgstr "%s: virheellinen mmo-tiedosto: lop_stab:n kentÃ¤t y ja z ovat nollasta poikkeavia, y: %d, z: %d\n"
 
-#: mmo.c:1926
+#: mmo.c:1929
 #, c-format
 msgid "%s: invalid mmo file: lop_end not last item in file\n"
 msgstr "%s: virheellinen mmo-tiedosto: lop_end ei ole viimeinen alkio tiedostossa\n"
 
-#: mmo.c:1939
+#: mmo.c:1942
 #, c-format
 msgid "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
 msgstr "%s: virheellinen mmo-tiedosto: lop_end:n YZ (%ld) ei ole sama kuin tetras-numero edeltÃ¤vÃ¤Ã¤n kohteeseen lop_stab (%ld)\n"
 
-#: mmo.c:2649
+#: mmo.c:2652
 #, c-format
 msgid "%s: invalid symbol table: duplicate symbol `%s'\n"
 msgstr "%s: virheellinen symbolitaulu: symbolin â€�%sâ€� kaksoiskappale\n"
 
-#: mmo.c:2889
+#: mmo.c:2892
 #, c-format
 msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
 msgstr "%s: Virheellinen symbolimÃ¤Ã¤rittely: â€�Mainâ€� asetettu kohteeseen %s pikemmin kuin aloitusosoitteeseen %s\n"
 
-#: mmo.c:2981
+#: mmo.c:2984
 #, c-format
 msgid "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d.  Only `Main' will be emitted.\n"
 msgstr "%s: varoitus: symbolitaulu liian laaja kohteelle mmo, laajempi kuin 65535 32-bittistÃ¤ sanaa: %d.  Vain â€�Mainâ€� lÃ¤hetetÃ¤Ã¤n.\n"
 
-#: mmo.c:3026
+#: mmo.c:3029
 #, c-format
 msgid "%s: internal error, symbol table changed size from %d to %d words\n"
 msgstr "%s: sisÃ¤inen virhe, symbolitaulu vaihtoi kokoa %d:sta sanasta %d sanaan\n"
 
-#: mmo.c:3078
+#: mmo.c:3081
 #, c-format
 msgid "%s: internal error, internal register section %s had contents\n"
 msgstr "%s: sisÃ¤inen virhe, sisÃ¤isessÃ¤ rekisterilohkossa %s oli sisÃ¤ltÃ¶Ã¤\n"
 
-#: mmo.c:3129
+#: mmo.c:3132
 #, c-format
 msgid "%s: no initialized registers; section length 0\n"
 msgstr "%s: ei alustettuja rekistereitÃ¤; lohkopituus 0\n"
 
-#: mmo.c:3135
+#: mmo.c:3138
 #, c-format
 msgid "%s: too many initialized registers; section length %ld\n"
 msgstr "%s: liian monia alustettuja rekistereitÃ¤; lohkopituus %ld\n"
 
-#: mmo.c:3140
+#: mmo.c:3143
 #, c-format
 msgid "%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
 msgstr "%s: virheellinen aloitusosoite alustetuille rekistereille pituudeltaan %ld: 0x%lx%08lx\n"
 
-#: oasys.c:882
+#: oasys.c:881
 #, c-format
 msgid "%s: can not represent section `%s' in oasys"
 msgstr "%s: ei voi edustaa lohkoa â€�%sâ€� oasys-lohkossa"
 
-#: osf-core.c:140
+#: osf-core.c:128
 #, c-format
 msgid "Unhandled OSF/1 core file section type %d\n"
 msgstr "KÃ¤sittelemÃ¤tÃ¶n OSF/1-kÃ¤yttÃ¶jÃ¤rjestelmÃ¤ydintiedoston lohkotyyppi %d\n"
@@ -3707,18 +4080,18 @@ msgstr "%B: hyppy liian kauas\n"
 msgid "%B: bad pair/reflo after refhi\n"
 msgstr "%B: virheellinen pari/reflo refhi:n jÃ¤lkeen\n"
 
-#: pef.c:520
+#: pef.c:522
 #, c-format
 msgid "bfd_pef_scan: unknown architecture 0x%lx"
 msgstr "bfd_pef_scan: tuntematon arkkitehtuuri 0x%lx"
 
-#: pei-x86_64.c:444
+#: pei-x86_64.c:469
 #, c-format
 msgid "warning: .pdata section size (%ld) is not a multiple of %d\n"
 msgstr "varoitus: â€�.pdataâ€�-lohkokoko (%ld) ei ole %d:n monikerta\n"
 
-#: pei-x86_64.c:448 peigen.c:1618 peigen.c:1801 pepigen.c:1618 pepigen.c:1801
-#: pex64igen.c:1618 pex64igen.c:1801
+#: pei-x86_64.c:474 peigen.c:1626 peigen.c:1809 pepigen.c:1626 pepigen.c:1809
+#: pex64igen.c:1626 pex64igen.c:1809
 #, c-format
 msgid ""
 "\n"
@@ -3727,41 +4100,41 @@ msgstr ""
 "\n"
 "Funktiotaulu (tulkittu â€�.pdataâ€�-lohkosisÃ¤ltÃ¶)\n"
 
-#: pei-x86_64.c:450
+#: pei-x86_64.c:476
 #, c-format
 msgid "vma:\t\t\tBeginAddress\t EndAddress\t  UnwindData\n"
 msgstr "vma:\t\t\tAlkuosoite\t Loppuosoite\t  Unwind-tiedot\n"
 
 #. XXX code yet to be written.
-#: peicode.h:751
+#: peicode.h:758
 msgid "%B: Unhandled import type; %x"
 msgstr "%B: KÃ¤sittelemÃ¤tÃ¶n tuontityyppi; %x"
 
-#: peicode.h:756
+#: peicode.h:763
 msgid "%B: Unrecognised import type; %x"
 msgstr "%B: Tunnistamaton tuontityyppi; %x"
 
-#: peicode.h:770
+#: peicode.h:777
 msgid "%B: Unrecognised import name type; %x"
 msgstr "%B: Tunnistamaton tuontinimityyppi; %x"
 
-#: peicode.h:1166
+#: peicode.h:1173
 msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
 msgstr "%B: Tunnistamaton konetyyppi (0x%x) â€�Import Library Formatâ€�-arkistossa"
 
-#: peicode.h:1178
+#: peicode.h:1185
 msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive"
 msgstr "%B: Tunnistettu, mutta kÃ¤sittelemÃ¤tÃ¶n konetyyppi (0x%x) â€�Import Library Formatâ€�-arkistossa"
 
-#: peicode.h:1196
+#: peicode.h:1203
 msgid "%B: size field is zero in Import Library Format header"
 msgstr "%B: kokokenttÃ¤ on nolla â€�Import Library Formatâ€�-otsakkeessa"
 
-#: peicode.h:1227
+#: peicode.h:1234
 msgid "%B: string not null terminated in ILF object file."
 msgstr "%B: merkkijonoa ei ole pÃ¤Ã¤tetty nollaan ILF-objektitiedostossa."
 
-#: ppcboot.c:414
+#: ppcboot.c:391
 #, c-format
 msgid ""
 "\n"
@@ -3770,27 +4143,27 @@ msgstr ""
 "\n"
 "ppcboot-otsake:\n"
 
-#: ppcboot.c:415
+#: ppcboot.c:392
 #, c-format
 msgid "Entry offset        = 0x%.8lx (%ld)\n"
 msgstr "Tulokohtasiirrososoite  = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:417
+#: ppcboot.c:394
 #, c-format
 msgid "Length              = 0x%.8lx (%ld)\n"
 msgstr "Pituus                  = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:421
+#: ppcboot.c:398
 #, c-format
 msgid "Flag field          = 0x%.2x\n"
 msgstr "LippukenttÃ¤             = 0x%.2x\n"
 
-#: ppcboot.c:427
+#: ppcboot.c:404
 #, c-format
 msgid "Partition name      = \"%s\"\n"
 msgstr "Osionimi                = â€�%sâ€�\n"
 
-#: ppcboot.c:446
+#: ppcboot.c:423
 #, c-format
 msgid ""
 "\n"
@@ -3799,25 +4172,29 @@ msgstr ""
 "\n"
 "Osio[%d] alku        = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 
-#: ppcboot.c:452
+#: ppcboot.c:429
 #, c-format
 msgid "Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 msgstr "Osio[%d] loppu       = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
 
-#: ppcboot.c:458
+#: ppcboot.c:435
 #, c-format
 msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
 msgstr "Osio[%d] sektori     = 0x%.8lx (%ld)\n"
 
-#: ppcboot.c:460
+#: ppcboot.c:437
 #, c-format
 msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
 msgstr "Osio[%d] pituus      = 0x%.8lx (%ld)\n"
 
-#: reloc.c:6160
+#: reloc.c:7371
 msgid "INPUT_SECTION_FLAGS are not supported.\n"
 msgstr "INPUT_SECTION_FLAGS ei ole tuettu.\n"
 
+#: reloc.c:7526
+msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
+msgstr "%X%P: %B(%A): sijoitus â€�%Râ€� menee lukualueen ulkopuolelle\n"
+
 #: rs6000-core.c:448
 #, c-format
 msgid "%s: warning core file truncated"
@@ -3852,32 +4229,32 @@ msgstr "%B(%A+0x%lx): Stabs-tulokohdassa
 msgid "Unsupported .stab relocation"
 msgstr "â€�Ei-tuettu .stabâ€�-sijoitus"
 
-#: vms-alpha.c:1299
+#: vms-alpha.c:1294
 #, c-format
 msgid "Unknown EGSD subtype %d"
 msgstr "Tuntematon EGSD-alityyppi %d"
 
-#: vms-alpha.c:1330
+#: vms-alpha.c:1325
 #, c-format
 msgid "Stack overflow (%d) in _bfd_vms_push"
 msgstr "Pinon ylivuoto (%d) kohteessa _bfd_vms_push"
 
-#: vms-alpha.c:1343
+#: vms-alpha.c:1338
 msgid "Stack underflow in _bfd_vms_pop"
 msgstr "Pinon ylivuoto kohteessa _bfd_vms_pop"
 
 #. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1580
+#: vms-alpha.c:1575
 #, c-format
 msgid "unknown ETIR command %d"
 msgstr "tuntematon ETIR-komento %d"
 
-#: vms-alpha.c:1767
+#: vms-alpha.c:1762
 #, c-format
 msgid "bad section index in %s"
 msgstr "virheellinen lohkoindeksi kohteessa %s"
 
-#: vms-alpha.c:1780
+#: vms-alpha.c:1775
 #, c-format
 msgid "unsupported STA cmd %s"
 msgstr "ei-tuettu STA-komento %s"
@@ -3887,1394 +4264,1389 @@ msgstr "ei-tuettu STA-komento %s"
 #. Rotate.
 #. Redefine symbol to current location.
 #. Define a literal.
-#: vms-alpha.c:1956 vms-alpha.c:1987 vms-alpha.c:2234
+#: vms-alpha.c:1951 vms-alpha.c:1982 vms-alpha.c:2229
 #, c-format
 msgid "%s: not supported"
 msgstr "%s: ei tuettu"
 
-#: vms-alpha.c:1962
+#: vms-alpha.c:1957
 #, c-format
 msgid "%s: not implemented"
 msgstr "%s: ei toteutettu"
 
-#: vms-alpha.c:2218
+#: vms-alpha.c:2213
 #, c-format
 msgid "invalid use of %s with contexts"
 msgstr "virheellinen %s-kÃ¤yttÃ¶ sisÃ¤llÃ¶illÃ¤"
 
-#: vms-alpha.c:2252
+#: vms-alpha.c:2247
 #, c-format
 msgid "reserved cmd %d"
 msgstr "varattu komento %d"
 
-#: vms-alpha.c:2337
+#: vms-alpha.c:2332
 msgid "Object module NOT error-free !\n"
 msgstr "Objektimoduli EI ole virheetÃ¶n !\n"
 
-#: vms-alpha.c:2766
-#, c-format
-msgid "Symbol %s replaced by %s\n"
-msgstr "Symboli %s korvattu kohteella %s\n"
-
-#: vms-alpha.c:3769
+#: vms-alpha.c:3657
 #, c-format
 msgid "SEC_RELOC with no relocs in section %s"
 msgstr "SEC_RELOC ilman relocs-tietueita lohkossa %s"
 
-#: vms-alpha.c:3822 vms-alpha.c:4049
+#: vms-alpha.c:3709 vms-alpha.c:3922
 #, c-format
 msgid "Size error in section %s"
 msgstr "Kokovirhe lohkossa %s"
 
-#: vms-alpha.c:3991
+#: vms-alpha.c:3868
 msgid "Spurious ALPHA_R_BSR reloc"
 msgstr "VÃ¤Ã¤rÃ¤ ALPHA_R_BSR reloc-tietue"
 
-#: vms-alpha.c:4036
+#: vms-alpha.c:3909
 #, c-format
 msgid "Unhandled relocation %s"
 msgstr "KÃ¤sittelemÃ¤tÃ¶n sijoitus %s"
 
-#: vms-alpha.c:4326
+#: vms-alpha.c:4199
 #, c-format
 msgid "unknown source command %d"
 msgstr "tuntematon lÃ¤hdekomento %d"
 
-#: vms-alpha.c:4387
+#: vms-alpha.c:4260
 msgid "DST__K_SET_LINUM_INCR not implemented"
 msgstr "DST__K_SET_LINUM_INCR ei ole toteutettu"
 
-#: vms-alpha.c:4393
+#: vms-alpha.c:4266
 msgid "DST__K_SET_LINUM_INCR_W not implemented"
 msgstr "DST__K_SET_LINUM_INCR_W ei ole toteutettu"
 
-#: vms-alpha.c:4399
+#: vms-alpha.c:4272
 msgid "DST__K_RESET_LINUM_INCR not implemented"
 msgstr "DST__K_RESET_LINUM_INCR ei ole toteutettu"
 
-#: vms-alpha.c:4405
+#: vms-alpha.c:4278
 msgid "DST__K_BEG_STMT_MODE not implemented"
 msgstr "DST__K_BEG_STMT_MODE ei ole toteutettu"
 
-#: vms-alpha.c:4411
+#: vms-alpha.c:4284
 msgid "DST__K_END_STMT_MODE not implemented"
 msgstr "DST__K_END_STMT_MODE ei ole toteutettu"
 
-#: vms-alpha.c:4438
+#: vms-alpha.c:4311
 msgid "DST__K_SET_PC not implemented"
 msgstr "DST__K_SET_PC ei ole toteutettu"
 
-#: vms-alpha.c:4444
+#: vms-alpha.c:4317
 msgid "DST__K_SET_PC_W not implemented"
 msgstr "DST__K_SET_PC_W ei ole toteutettu"
 
-#: vms-alpha.c:4450
+#: vms-alpha.c:4323
 msgid "DST__K_SET_PC_L not implemented"
 msgstr "DST__K_SET_PC_L ei ole toteutettu"
 
-#: vms-alpha.c:4456
+#: vms-alpha.c:4329
 msgid "DST__K_SET_STMTNUM not implemented"
 msgstr "DST__K_SET_STMTNUM ei ole toteutettu"
 
-#: vms-alpha.c:4499
+#: vms-alpha.c:4372
 #, c-format
 msgid "unknown line command %d"
 msgstr "tuntematon rivikomento %d"
 
-#: vms-alpha.c:4953 vms-alpha.c:4970 vms-alpha.c:4984 vms-alpha.c:4999
-#: vms-alpha.c:5011 vms-alpha.c:5022 vms-alpha.c:5034
+#: vms-alpha.c:4846 vms-alpha.c:4863 vms-alpha.c:4877 vms-alpha.c:4892
+#: vms-alpha.c:4904 vms-alpha.c:4915 vms-alpha.c:4927
 #, c-format
 msgid "Unknown reloc %s + %s"
 msgstr "Tuntematon reloc-tietue %s + %s"
 
-#: vms-alpha.c:5089
+#: vms-alpha.c:4982
 #, c-format
 msgid "Unknown reloc %s"
 msgstr "Tuntematon reloc-tietue %s"
 
-#: vms-alpha.c:5102
+#: vms-alpha.c:4995
 msgid "Invalid section index in ETIR"
 msgstr "virheellinen lohkoindeksi kohteessa ETIR"
 
-#: vms-alpha.c:5109
+#: vms-alpha.c:5002
 msgid "Relocation for non-REL psect"
 msgstr "Sijoitus kohteelle non-REL psect"
 
-#: vms-alpha.c:5156
+#: vms-alpha.c:5049
 #, c-format
 msgid "Unknown symbol in command %s"
 msgstr "Tuntematon symboli komennossa %s"
 
-#: vms-alpha.c:5671
+#: vms-alpha.c:5564
 #, c-format
 msgid "  EMH %u (len=%u): "
 msgstr "  EMH %u (pituus=%u): "
 
-#: vms-alpha.c:5680
+#: vms-alpha.c:5573
 #, c-format
 msgid "Module header\n"
 msgstr "Moduliotsake\n"
 
-#: vms-alpha.c:5681
+#: vms-alpha.c:5574
 #, c-format
 msgid "   structure level: %u\n"
 msgstr "   tietuetaso: %u\n"
 
-#: vms-alpha.c:5682
+#: vms-alpha.c:5575
 #, c-format
 msgid "   max record size: %u\n"
 msgstr "   tietueen enimmÃ¤iskoko: %u\n"
 
-#: vms-alpha.c:5685
+#: vms-alpha.c:5578
 #, c-format
 msgid "   module name    : %.*s\n"
 msgstr "   modulinimi    : %.*s\n"
 
-#: vms-alpha.c:5687
+#: vms-alpha.c:5580
 #, c-format
 msgid "   module version : %.*s\n"
 msgstr "   moduliversio : %.*s\n"
 
-#: vms-alpha.c:5689
+#: vms-alpha.c:5582
 #, c-format
 msgid "   compile date   : %.17s\n"
 msgstr "   kÃ¤Ã¤nnÃ¶spÃ¤ivÃ¤mÃ¤Ã¤rÃ¤   : %.17s\n"
 
-#: vms-alpha.c:5694
+#: vms-alpha.c:5587
 #, c-format
 msgid "Language Processor Name\n"
 msgstr "Kielisuorittimen nimi\n"
 
-#: vms-alpha.c:5695
+#: vms-alpha.c:5588
 #, c-format
 msgid "   language name: %.*s\n"
 msgstr "   kielinimi: %.*s\n"
 
-#: vms-alpha.c:5702
+#: vms-alpha.c:5595
 #, c-format
 msgid "Source Files Header\n"
 msgstr "LÃ¤hdetiedostot-otsake\n"
 
-#: vms-alpha.c:5703
+#: vms-alpha.c:5596
 #, c-format
 msgid "   file: %.*s\n"
 msgstr "   tiedosto: %.*s\n"
 
-#: vms-alpha.c:5710
+#: vms-alpha.c:5603
 #, c-format
 msgid "Title Text Header\n"
 msgstr "Otsikkotekstiotsake\n"
 
-#: vms-alpha.c:5711
+#: vms-alpha.c:5604
 #, c-format
 msgid "   title: %.*s\n"
 msgstr "   otsikko: %.*s\n"
 
-#: vms-alpha.c:5718
+#: vms-alpha.c:5611
 #, c-format
 msgid "Copyright Header\n"
 msgstr "Copyright-otsake\n"
 
-#: vms-alpha.c:5719
+#: vms-alpha.c:5612
 #, c-format
 msgid "   copyright: %.*s\n"
 msgstr "   copyright: %.*s\n"
 
-#: vms-alpha.c:5725
+#: vms-alpha.c:5618
 #, c-format
 msgid "unhandled emh subtype %u\n"
 msgstr "kÃ¤sittelemÃ¤tÃ¶n emh-alityyppi %u\n"
 
-#: vms-alpha.c:5735
+#: vms-alpha.c:5628
 #, c-format
 msgid "  EEOM (len=%u):\n"
 msgstr "  EEOM (pituus=%u):\n"
 
-#: vms-alpha.c:5736
+#: vms-alpha.c:5629
 #, c-format
 msgid "   number of cond linkage pairs: %u\n"
 msgstr "   ehdollisten linkitysparien lukumÃ¤Ã¤rÃ¤: %u\n"
 
-#: vms-alpha.c:5738
+#: vms-alpha.c:5631
 #, c-format
 msgid "   completion code: %u\n"
 msgstr "   tÃ¤ydentÃ¤miskoodi: %u\n"
 
-#: vms-alpha.c:5742
+#: vms-alpha.c:5635
 #, c-format
 msgid "   transfer addr flags: 0x%02x\n"
 msgstr "   siirto-osoiteliput: 0x%02x\n"
 
-#: vms-alpha.c:5743
+#: vms-alpha.c:5636
 #, c-format
 msgid "   transfer addr psect: %u\n"
 msgstr "   siirrososoite psect: %u\n"
 
-#: vms-alpha.c:5745
+#: vms-alpha.c:5638
 #, c-format
 msgid "   transfer address   : 0x%08x\n"
 msgstr "   siirto-osoite   : 0x%08x\n"
 
 #  KÃ¤Ã¤nnettÃ¤vÃ¤ksi on merkitty monia (vianjÃ¤ljitys)symboleja ja vastaavia, joita ei oikeastaan pitÃ¤isi suomentaa. Joissakin kohdissa vain selvÃ¤kieliset sanat on suomennettu.
-#: vms-alpha.c:5754
+#: vms-alpha.c:5647
 msgid " WEAK"
 msgstr " WEAK"
 
-#: vms-alpha.c:5756
+#: vms-alpha.c:5649
 msgid " DEF"
 msgstr " DEF"
 
-#: vms-alpha.c:5758
+#: vms-alpha.c:5651
 msgid " UNI"
 msgstr " UNI"
 
-#: vms-alpha.c:5760 vms-alpha.c:5781
+#: vms-alpha.c:5653 vms-alpha.c:5674
 msgid " REL"
 msgstr " REL"
 
-#: vms-alpha.c:5762
+#: vms-alpha.c:5655
 msgid " COMM"
 msgstr " COMM"
 
-#: vms-alpha.c:5764
+#: vms-alpha.c:5657
 msgid " VECEP"
 msgstr " VECEP"
 
-#: vms-alpha.c:5766
+#: vms-alpha.c:5659
 msgid " NORM"
 msgstr " NORM"
 
-#: vms-alpha.c:5768
+#: vms-alpha.c:5661
 msgid " QVAL"
 msgstr " QVAL"
 
-#: vms-alpha.c:5775
+#: vms-alpha.c:5668
 msgid " PIC"
 msgstr " PIC"
 
-#: vms-alpha.c:5777
+#: vms-alpha.c:5670
 msgid " LIB"
 msgstr " LIB"
 
-#: vms-alpha.c:5779
+#: vms-alpha.c:5672
 msgid " OVR"
 msgstr " OVR"
 
-#: vms-alpha.c:5783
+#: vms-alpha.c:5676
 msgid " GBL"
 msgstr " GBL"
 
-#: vms-alpha.c:5785
+#: vms-alpha.c:5678
 msgid " SHR"
 msgstr " SHR"
 
-#: vms-alpha.c:5787
+#: vms-alpha.c:5680
 msgid " EXE"
 msgstr " EXE"
 
-#: vms-alpha.c:5789
+#: vms-alpha.c:5682
 msgid " RD"
 msgstr " RD"
 
-#: vms-alpha.c:5791
+#: vms-alpha.c:5684
 msgid " WRT"
 msgstr " WRT"
 
-#: vms-alpha.c:5793
+#: vms-alpha.c:5686
 msgid " VEC"
 msgstr " VEC"
 
-#: vms-alpha.c:5795
+#: vms-alpha.c:5688
 msgid " NOMOD"
 msgstr " NOMOD"
 
-#: vms-alpha.c:5797
+#: vms-alpha.c:5690
 msgid " COM"
 msgstr " COM"
 
-#: vms-alpha.c:5799
+#: vms-alpha.c:5692
 msgid " 64B"
 msgstr " 64B"
 
-#: vms-alpha.c:5808
+#: vms-alpha.c:5701
 #, c-format
 msgid "  EGSD (len=%u):\n"
 msgstr "  EGSD (pituus=%u):\n"
 
-#: vms-alpha.c:5820
+#: vms-alpha.c:5713
 #, c-format
 msgid "  EGSD entry %2u (type: %u, len: %u): "
 msgstr "  EGSD tulopiste %2u (tyyppi: %u, pituus: %u): "
 
-#: vms-alpha.c:5832
+#: vms-alpha.c:5725
 #, c-format
 msgid "PSC - Program section definition\n"
 msgstr "PSC - OhjelmalohkomÃ¤Ã¤rittely\n"
 
-#: vms-alpha.c:5833 vms-alpha.c:5850
+#: vms-alpha.c:5726 vms-alpha.c:5743
 #, c-format
 msgid "   alignment  : 2**%u\n"
 msgstr "   tasaus  : 2**%u\n"
 
-#: vms-alpha.c:5834 vms-alpha.c:5851
+#: vms-alpha.c:5727 vms-alpha.c:5744
 #, c-format
 msgid "   flags      : 0x%04x"
 msgstr "   liput      : 0x%04x"
 
-#: vms-alpha.c:5838
+#: vms-alpha.c:5731
 #, c-format
 msgid "   alloc (len): %u (0x%08x)\n"
 msgstr "   alloc (pituus): %u (0x%08x)\n"
 
-#: vms-alpha.c:5839 vms-alpha.c:5896 vms-alpha.c:5945
+#: vms-alpha.c:5732 vms-alpha.c:5789 vms-alpha.c:5838
 #, c-format
 msgid "   name       : %.*s\n"
 msgstr "   nimi       : %.*s\n"
 
-#: vms-alpha.c:5849
+#: vms-alpha.c:5742
 #, c-format
 msgid "SPSC - Shared Image Program section def\n"
 msgstr "SPSC - Jaettu vedosohjelmalohkomÃ¤Ã¤rittely\n"
 
-#: vms-alpha.c:5855
+#: vms-alpha.c:5748
 #, c-format
 msgid "   alloc (len)   : %u (0x%08x)\n"
 msgstr "   alloc (pitus) : %u (0x%08x)\n"
 
-#: vms-alpha.c:5856
+#: vms-alpha.c:5749
 #, c-format
 msgid "   image offset  : 0x%08x\n"
 msgstr "   vedossiirros  : 0x%08x\n"
 
-#: vms-alpha.c:5858
+#: vms-alpha.c:5751
 #, c-format
 msgid "   symvec offset : 0x%08x\n"
 msgstr "   symvec-siirros : 0x%08x\n"
 
-#: vms-alpha.c:5860
+#: vms-alpha.c:5753
 #, c-format
 msgid "   name          : %.*s\n"
 msgstr "   nimi          : %.*s\n"
 
-#: vms-alpha.c:5873
+#: vms-alpha.c:5766
 #, c-format
 msgid "SYM - Global symbol definition\n"
 msgstr "SYM - Yleinen symbolimÃ¤Ã¤rittely\n"
 
-#: vms-alpha.c:5874 vms-alpha.c:5934 vms-alpha.c:5955 vms-alpha.c:5974
+#: vms-alpha.c:5767 vms-alpha.c:5827 vms-alpha.c:5848 vms-alpha.c:5867
 #, c-format
 msgid "   flags: 0x%04x"
 msgstr "   liput: 0x%04x"
 
-#: vms-alpha.c:5877
+#: vms-alpha.c:5770
 #, c-format
 msgid "   psect offset: 0x%08x\n"
 msgstr "   psect-siirros: 0x%08x\n"
 
-#: vms-alpha.c:5881
+#: vms-alpha.c:5774
 #, c-format
 msgid "   code address: 0x%08x\n"
 msgstr "   koodiosoite: 0x%08x\n"
 
-#: vms-alpha.c:5883
+#: vms-alpha.c:5776
 #, c-format
 msgid "   psect index for entry point : %u\n"
 msgstr "   psect-indeksi tulokohdalle : %u\n"
 
-#: vms-alpha.c:5886 vms-alpha.c:5962 vms-alpha.c:5981
+#: vms-alpha.c:5779 vms-alpha.c:5855 vms-alpha.c:5874
 #, c-format
 msgid "   psect index : %u\n"
 msgstr "   psect-indeksi : %u\n"
 
-#: vms-alpha.c:5888 vms-alpha.c:5964 vms-alpha.c:5983
+#: vms-alpha.c:5781 vms-alpha.c:5857 vms-alpha.c:5876
 #, c-format
 msgid "   name        : %.*s\n"
 msgstr "   nimi        : %.*s\n"
 
-#: vms-alpha.c:5895
+#: vms-alpha.c:5788
 #, c-format
 msgid "SYM - Global symbol reference\n"
 msgstr "SYM - Yleinen symboliviite\n"
 
-#: vms-alpha.c:5907
+#: vms-alpha.c:5800
 #, c-format
 msgid "IDC - Ident Consistency check\n"
 msgstr "IDC - Ident-johdonmukaisuustarkistus\n"
 
-#: vms-alpha.c:5908
+#: vms-alpha.c:5801
 #, c-format
 msgid "   flags         : 0x%08x"
 msgstr "   liput          : 0x%08x"
 
-#: vms-alpha.c:5912
+#: vms-alpha.c:5805
 #, c-format
 msgid "   id match      : %x\n"
 msgstr "   tunnistetÃ¤smÃ¤ys: %x\n"
 
-#: vms-alpha.c:5914
+#: vms-alpha.c:5807
 #, c-format
 msgid "   error severity: %x\n"
 msgstr "   virhevakavuus  : %x\n"
 
-#: vms-alpha.c:5917
+#: vms-alpha.c:5810
 #, c-format
 msgid "   entity name   : %.*s\n"
 msgstr "   yksilÃ¶nimi     : %.*s\n"
 
-#: vms-alpha.c:5919
+#: vms-alpha.c:5812
 #, c-format
 msgid "   object name   : %.*s\n"
 msgstr "   objektinimi    : %.*s\n"
 
-#: vms-alpha.c:5922
+#: vms-alpha.c:5815
 #, c-format
 msgid "   binary ident  : 0x%08x\n"
 msgstr "   binaari-ident  : 0x%08x\n"
 
-#: vms-alpha.c:5925
+#: vms-alpha.c:5818
 #, c-format
 msgid "   ascii ident   : %.*s\n"
 msgstr "   ascii-ident    : %.*s\n"
 
-#: vms-alpha.c:5933
+#: vms-alpha.c:5826
 #, c-format
 msgid "SYMG - Universal symbol definition\n"
 msgstr "SYMG - Yleinen symbolimÃ¤Ã¤rittely\n"
 
-#: vms-alpha.c:5937
+#: vms-alpha.c:5830
 #, c-format
 msgid "   symbol vector offset: 0x%08x\n"
 msgstr "   symbolivektorisiirros: 0x%08x\n"
 
-#: vms-alpha.c:5939
+#: vms-alpha.c:5832
 #, c-format
 msgid "   entry point: 0x%08x\n"
 msgstr "  tulokohta: 0x%08x\n"
 
-#: vms-alpha.c:5941
+#: vms-alpha.c:5834
 #, c-format
 msgid "   proc descr : 0x%08x\n"
 msgstr "   ohjelmakuvaus  : 0x%08x\n"
 
-#: vms-alpha.c:5943
+#: vms-alpha.c:5836
 #, c-format
 msgid "   psect index: %u\n"
 msgstr "   psect-indeksi  : %u\n"
 
-#: vms-alpha.c:5954
+#: vms-alpha.c:5847
 #, c-format
 msgid "SYMV - Vectored symbol definition\n"
 msgstr "SYMV - Vektoroitu symbolimÃ¤Ã¤rittely\n"
 
-#: vms-alpha.c:5958
+#: vms-alpha.c:5851
 #, c-format
 msgid "   vector      : 0x%08x\n"
 msgstr "    vektori     : 0x%08x\n"
 
-#: vms-alpha.c:5960 vms-alpha.c:5979
+#: vms-alpha.c:5853 vms-alpha.c:5872
 #, c-format
 msgid "   psect offset: %u\n"
 msgstr "   psect-siirros: %u\n"
 
-#: vms-alpha.c:5973
+#: vms-alpha.c:5866
 #, c-format
 msgid "SYMM - Global symbol definition with version\n"
 msgstr "SYMM - Yleinen symbolimÃ¤Ã¤rittely versiolla\n"
 
-#: vms-alpha.c:5977
+#: vms-alpha.c:5870
 #, c-format
 msgid "   version mask: 0x%08x\n"
 msgstr "   versiopeite : 0x%08x\n"
 
-#: vms-alpha.c:5988
+#: vms-alpha.c:5881
 #, c-format
 msgid "unhandled egsd entry type %u\n"
 msgstr "kÃ¤sittelemÃ¤tÃ¶n egsd-tulokohtatyyppi %u\n"
 
-#: vms-alpha.c:6022
+#: vms-alpha.c:5915
 #, c-format
 msgid "    linkage index: %u, replacement insn: 0x%08x\n"
 msgstr "    linkitysindeksi: %u, korvauskÃ¤sky: 0x%08x\n"
 
-#: vms-alpha.c:6025
+#: vms-alpha.c:5918
 #, c-format
 msgid "    psect idx 1: %u, offset 1: 0x%08x %08x\n"
 msgstr "    psect idx 1: %u, siirros 1: 0x%08x %08x\n"
 
-#: vms-alpha.c:6029
+#: vms-alpha.c:5922
 #, c-format
 msgid "    psect idx 2: %u, offset 2: 0x%08x %08x\n"
 msgstr "    psect idx 2: %u, siirros 2: 0x%08x %08x\n"
 
-#: vms-alpha.c:6034
+#: vms-alpha.c:5927
 #, c-format
 msgid "    psect idx 3: %u, offset 3: 0x%08x %08x\n"
 msgstr "    psect idx 3: %u, siirros 3: 0x%08x %08x\n"
 
-#: vms-alpha.c:6039
+#: vms-alpha.c:5932
 #, c-format
 msgid "    global name: %.*s\n"
 msgstr "    yleisnimi: %.*s\n"
 
-#: vms-alpha.c:6049
+#: vms-alpha.c:5942
 #, c-format
 msgid "  %s (len=%u+%u):\n"
 msgstr "  %s (pituus=%u+%u):\n"
 
-#: vms-alpha.c:6064
+#: vms-alpha.c:5957
 #, c-format
 msgid "   (type: %3u, size: 4+%3u): "
 msgstr "   (tyyppi: %3u, koko: 4+%3u): "
 
-#: vms-alpha.c:6068
+#: vms-alpha.c:5961
 #, c-format
 msgid "STA_GBL (stack global) %.*s\n"
 msgstr "STA_GBL (pino yleinen) %.*s\n"
 
-#: vms-alpha.c:6072
+#: vms-alpha.c:5965
 #, c-format
 msgid "STA_LW (stack longword) 0x%08x\n"
 msgstr "STA_LW (pino longword) 0x%08x\n"
 
-#: vms-alpha.c:6076
+#: vms-alpha.c:5969
 #, c-format
 msgid "STA_QW (stack quadword) 0x%08x %08x\n"
 msgstr "STA_QW (pino quadword) 0x%08x %08x\n"
 
-#: vms-alpha.c:6081
+#: vms-alpha.c:5974
 #, c-format
 msgid "STA_PQ (stack psect base + offset)\n"
 msgstr "STA_PQ (pino psect-kanta + siirros)\n"
 
-#: vms-alpha.c:6082
+#: vms-alpha.c:5975
 #, c-format
 msgid "    psect: %u, offset: 0x%08x %08x\n"
 msgstr "    psect: %u, siirros: 0x%08x %08x\n"
 
-#: vms-alpha.c:6088
+#: vms-alpha.c:5981
 #, c-format
 msgid "STA_LI (stack literal)\n"
 msgstr "STA_LI (pinoliteraali)\n"
 
-#: vms-alpha.c:6091
+#: vms-alpha.c:5984
 #, c-format
 msgid "STA_MOD (stack module)\n"
 msgstr "STA_MOD (pinomoduli)\n"
 
-#: vms-alpha.c:6094
+#: vms-alpha.c:5987
 #, c-format
 msgid "STA_CKARG (compare procedure argument)\n"
 msgstr "STA_CKARG (vertaa proseduuriargumenttia)\n"
 
-#: vms-alpha.c:6098
+#: vms-alpha.c:5991
 #, c-format
 msgid "STO_B (store byte)\n"
 msgstr "STO_B (tallenna byte)\n"
 
-#: vms-alpha.c:6101
+#: vms-alpha.c:5994
 #, c-format
 msgid "STO_W (store word)\n"
 msgstr "STO_W (tallenna word)\n"
 
-#: vms-alpha.c:6104
+#: vms-alpha.c:5997
 #, c-format
 msgid "STO_LW (store longword)\n"
 msgstr "STO_LW (tallenna longword)\n"
 
-#: vms-alpha.c:6107
+#: vms-alpha.c:6000
 #, c-format
 msgid "STO_QW (store quadword)\n"
 msgstr "STO_QW (tallenna quadword)\n"
 
-#: vms-alpha.c:6113
+#: vms-alpha.c:6006
 #, c-format
 msgid "STO_IMMR (store immediate repeat) %u bytes\n"
 msgstr "STO_IMMR (tallenna vÃ¤litÃ¶n toisto) %u tavua\n"
 
-#: vms-alpha.c:6120
+#: vms-alpha.c:6013
 #, c-format
 msgid "STO_GBL (store global) %.*s\n"
 msgstr "STO_GBL (tallenna yleinen) %.*s\n"
 
-#: vms-alpha.c:6124
+#: vms-alpha.c:6017
 #, c-format
 msgid "STO_CA (store code address) %.*s\n"
 msgstr "STO_CA (tallenna koodiosoite) %.*s\n"
 
-#: vms-alpha.c:6128
+#: vms-alpha.c:6021
 #, c-format
 msgid "STO_RB (store relative branch)\n"
 msgstr "STO_RB (tallenna suhteellinen haarautuminen)\n"
 
-#: vms-alpha.c:6131
+#: vms-alpha.c:6024
 #, c-format
 msgid "STO_AB (store absolute branch)\n"
 msgstr "STO_AB (tallenna absoluuttinen haarautuminen)\n"
 
-#: vms-alpha.c:6134
+#: vms-alpha.c:6027
 #, c-format
 msgid "STO_OFF (store offset to psect)\n"
 msgstr "STO_OFF (tallenna siirros kohteeseen psect)\n"
 
-#: vms-alpha.c:6140
+#: vms-alpha.c:6033
 #, c-format
 msgid "STO_IMM (store immediate) %u bytes\n"
 msgstr "STO_IMM (tallenna vÃ¤litÃ¶n) %u tavua\n"
 
-#: vms-alpha.c:6147
+#: vms-alpha.c:6040
 #, c-format
 msgid "STO_GBL_LW (store global longword) %.*s\n"
 msgstr "STO_GBL_LW (tallenna yleinen longword) %.*s\n"
 
-#: vms-alpha.c:6151
+#: vms-alpha.c:6044
 #, c-format
 msgid "STO_OFF (store LP with procedure signature)\n"
 msgstr "STO_OFF (tallenna LP-proseduurituntomerkillÃ¤)\n"
 
-#: vms-alpha.c:6154
+#: vms-alpha.c:6047
 #, c-format
 msgid "STO_BR_GBL (store branch global) *todo*\n"
 msgstr "STO_BR_GBL (tallenna haarautuminen yleinen) *todo*\n"
 
-#: vms-alpha.c:6157
+#: vms-alpha.c:6050
 #, c-format
 msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
 msgstr "STO_BR_PS (tallenna haarautuminen psect + siirros) *todo*\n"
 
-#: vms-alpha.c:6161
+#: vms-alpha.c:6054
 #, c-format
 msgid "OPR_NOP (no-operation)\n"
 msgstr "OPR_NOP (ei-toimintoa)\n"
 
-#: vms-alpha.c:6164
+#: vms-alpha.c:6057
 #, c-format
 msgid "OPR_ADD (add)\n"
 msgstr "OPR_ADD (lisÃ¤Ã¤)\n"
 
-#: vms-alpha.c:6167
+#: vms-alpha.c:6060
 #, c-format
 msgid "OPR_SUB (substract)\n"
 msgstr "OPR_SUB (vÃ¤hennÃ¤)\n"
 
-#: vms-alpha.c:6170
+#: vms-alpha.c:6063
 #, c-format
 msgid "OPR_MUL (multiply)\n"
 msgstr "OPR_MUL (kerro)\n"
 
-#: vms-alpha.c:6173
+#: vms-alpha.c:6066
 #, c-format
 msgid "OPR_DIV (divide)\n"
 msgstr "OPR_DIV (jaa)\n"
 
-#: vms-alpha.c:6176
+#: vms-alpha.c:6069
 #, c-format
 msgid "OPR_AND (logical and)\n"
 msgstr "OPR_AND (looginen ja)\n"
 
-#: vms-alpha.c:6179
+#: vms-alpha.c:6072
 #, c-format
 msgid "OPR_IOR (logical inclusive or)\n"
 msgstr "OPR_IOR (looginen kattava tai)\n"
 
-#: vms-alpha.c:6182
+#: vms-alpha.c:6075
 #, c-format
 msgid "OPR_EOR (logical exclusive or)\n"
 msgstr "OPR_EOR (loogisesti poissulkeva tai)\n"
 
-#: vms-alpha.c:6185
+#: vms-alpha.c:6078
 #, c-format
 msgid "OPR_NEG (negate)\n"
 msgstr "OPR_NEG (kieltÃ¤vÃ¤)\n"
 
-#: vms-alpha.c:6188
+#: vms-alpha.c:6081
 #, c-format
 msgid "OPR_COM (complement)\n"
 msgstr "OPR_COM (komplementti)\n"
 
-#: vms-alpha.c:6191
+#: vms-alpha.c:6084
 #, c-format
 msgid "OPR_INSV (insert field)\n"
 msgstr "OPR_INSV (lisÃ¤Ã¤ kenttÃ¤)\n"
 
-#: vms-alpha.c:6194
+#: vms-alpha.c:6087
 #, c-format
 msgid "OPR_ASH (arithmetic shift)\n"
 msgstr "OPR_ASH (aritmeettinen sivuttaissiirto)\n"
 
-#: vms-alpha.c:6197
+#: vms-alpha.c:6090
 #, c-format
 msgid "OPR_USH (unsigned shift)\n"
 msgstr "OPR_USH (etumerkitÃ¶n sivuttaissiirto)\n"
 
-#: vms-alpha.c:6200
+#: vms-alpha.c:6093
 #, c-format
 msgid "OPR_ROT (rotate)\n"
 msgstr "OPR_ROT (pyÃ¶ritÃ¤)\n"
 
-#: vms-alpha.c:6203
+#: vms-alpha.c:6096
 #, c-format
 msgid "OPR_SEL (select)\n"
 msgstr "OPR_SEL (valitse)\n"
 
-#: vms-alpha.c:6206
+#: vms-alpha.c:6099
 #, c-format
 msgid "OPR_REDEF (redefine symbol to curr location)\n"
 msgstr "OPR_REDEF (mÃ¤Ã¤ritÃ¤ symboli uudelleen nykyiseen paikkaan)\n"
 
-#: vms-alpha.c:6209
+#: vms-alpha.c:6102
 #, c-format
 msgid "OPR_REDEF (define a literal)\n"
 msgstr "OPR_REDEF (mÃ¤Ã¤ritÃ¤ literaali)\n"
 
-#: vms-alpha.c:6213
+#: vms-alpha.c:6106
 #, c-format
 msgid "STC_LP (store cond linkage pair)\n"
 msgstr "STC_LP (tallenna ehdollinen linkityspari)\n"
 
-#: vms-alpha.c:6217
+#: vms-alpha.c:6110
 #, c-format
 msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
 msgstr "STC_LP_PSB (tallenna ehdollinen linkityspari + tuntomerkki)\n"
 
-#: vms-alpha.c:6218
+#: vms-alpha.c:6111
 #, c-format
 msgid "   linkage index: %u, procedure: %.*s\n"
 msgstr "   linkitysindeksi: %u, proseduuri: %.*s\n"
 
-#: vms-alpha.c:6221
+#: vms-alpha.c:6114
 #, c-format
 msgid "   signature: %.*s\n"
 msgstr "   tuntomerkki: %.*s\n"
 
-#: vms-alpha.c:6224
+#: vms-alpha.c:6117
 #, c-format
 msgid "STC_GBL (store cond global)\n"
 msgstr "STC_GBL (tallenna ehdollinen yleinen)\n"
 
-#: vms-alpha.c:6225
+#: vms-alpha.c:6118
 #, c-format
 msgid "   linkage index: %u, global: %.*s\n"
 msgstr "   linkitysindeksi: %u, yleinen: %.*s\n"
 
-#: vms-alpha.c:6229
+#: vms-alpha.c:6122
 #, c-format
 msgid "STC_GCA (store cond code address)\n"
 msgstr "STC_GCA (tallenna ehdollinen koodiosoite)\n"
 
-#: vms-alpha.c:6230
+#: vms-alpha.c:6123
 #, c-format
 msgid "   linkage index: %u, procedure name: %.*s\n"
 msgstr "   linkitysindeksi: %u, proseduurinimi: %.*s\n"
 
-#: vms-alpha.c:6234
+#: vms-alpha.c:6127
 #, c-format
 msgid "STC_PS (store cond psect + offset)\n"
 msgstr "STC_PS (tallenna ehdollinen psect + siirros)\n"
 
-#: vms-alpha.c:6236
+#: vms-alpha.c:6129
 #, c-format
 msgid "   linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
 msgstr "   linkitysindeksi: %u, psect: %u, siirros: 0x%08x %08x\n"
 
-#: vms-alpha.c:6243
+#: vms-alpha.c:6136
 #, c-format
 msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
 msgstr "STC_NOP_GBL (tallenna ehdollinen NOP yleisosoitteessa)\n"
 
-#: vms-alpha.c:6247
+#: vms-alpha.c:6140
 #, c-format
 msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
 msgstr "STC_NOP_PS (tallenna ehdollinen NOP kohteessa psect + siirros)\n"
 
-#: vms-alpha.c:6251
+#: vms-alpha.c:6144
 #, c-format
 msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
 msgstr "STC_BSR_GBL (tallenna ehdollinen BSR yleisosoitteessa)\n"
 
-#: vms-alpha.c:6255
+#: vms-alpha.c:6148
 #, c-format
 msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
 msgstr "STC_BSR_PS (tallenna ehdollinen BSR kohteessa psect + siirros)\n"
 
-#: vms-alpha.c:6259
+#: vms-alpha.c:6152
 #, c-format
 msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
 msgstr "STC_LDA_GBL (tallenna ehdollinen LDA yleisosoitteessa)\n"
 
-#: vms-alpha.c:6263
+#: vms-alpha.c:6156
 #, c-format
 msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
 msgstr "STC_LDA_PS (tallenna ehdollinen LDA kohteessa psect + siirros)\n"
 
-#: vms-alpha.c:6267
+#: vms-alpha.c:6160
 #, c-format
 msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
 msgstr "STC_BOH_GBL (tallenna ehdollinen BOH yleisosoitteessa)\n"
 
-#: vms-alpha.c:6271
+#: vms-alpha.c:6164
 #, c-format
 msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
 msgstr "STC_BOH_PS (tallenna ehdollinen BOH kohteessa psect + siirros)\n"
 
-#: vms-alpha.c:6276
+#: vms-alpha.c:6169
 #, c-format
 msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
 msgstr "STC_NBH_GBL (tallenna ehdollinen tai vihje yleisosoitteessa)\n"
 
-#: vms-alpha.c:6280
+#: vms-alpha.c:6173
 #, c-format
 msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
 msgstr "STC_NBH_PS (tallenna ehdollinen tai vihje kohteessa psect + siirros)\n"
 
-#: vms-alpha.c:6284
+#: vms-alpha.c:6177
 #, c-format
 msgid "CTL_SETRB (set relocation base)\n"
 msgstr "CTL_SETRB (aseta sijoituskanta)\n"
 
-#: vms-alpha.c:6290
+#: vms-alpha.c:6183
 #, c-format
 msgid "CTL_AUGRB (augment relocation base) %u\n"
 msgstr "CTL_AUGRB (lisÃ¤yssijoituskanta) %u\n"
 
-#: vms-alpha.c:6294
+#: vms-alpha.c:6187
 #, c-format
 msgid "CTL_DFLOC (define location)\n"
 msgstr "CTL_DFLOC (mÃ¤Ã¤ritÃ¤ paikka)\n"
 
-#: vms-alpha.c:6297
+#: vms-alpha.c:6190
 #, c-format
 msgid "CTL_STLOC (set location)\n"
 msgstr "CTL_STLOC (aseta paikka)\n"
 
-#: vms-alpha.c:6300
+#: vms-alpha.c:6193
 #, c-format
 msgid "CTL_STKDL (stack defined location)\n"
 msgstr "CTL_STKDL (pinomÃ¤Ã¤ritelty paikka)\n"
 
-#: vms-alpha.c:6303 vms-alpha.c:6717
+#: vms-alpha.c:6196 vms-alpha.c:6610
 #, c-format
 msgid "*unhandled*\n"
 msgstr "*kÃ¤sittelemÃ¤tÃ¶n*\n"
 
-#: vms-alpha.c:6333 vms-alpha.c:6372
+#: vms-alpha.c:6226 vms-alpha.c:6265
 #, c-format
 msgid "cannot read GST record length\n"
 msgstr "ei voida lukea GST-tietuepituutta\n"
 
 #. Ill-formed.
-#: vms-alpha.c:6354
+#: vms-alpha.c:6247
 #, c-format
 msgid "cannot find EMH in first GST record\n"
 msgstr "ei voi lÃ¶ytÃ¤Ã¤ kohdetta EMH ensimmÃ¤isessÃ¤ GST-tietueessa\n"
 
-#: vms-alpha.c:6380
+#: vms-alpha.c:6273
 #, c-format
 msgid "cannot read GST record header\n"
 msgstr "ei voida lukea GST-tietueotsaketta\n"
 
-#: vms-alpha.c:6393
+#: vms-alpha.c:6286
 #, c-format
 msgid " corrupted GST\n"
 msgstr " rikkoutunut kohde GST\n"
 
-#: vms-alpha.c:6401
+#: vms-alpha.c:6294
 #, c-format
 msgid "cannot read GST record\n"
 msgstr "ei voida lukea GST-tietuetta\n"
 
-#: vms-alpha.c:6430
+#: vms-alpha.c:6323
 #, c-format
 msgid " unhandled EOBJ record type %u\n"
 msgstr " kÃ¤sittelemÃ¤tÃ¶n EOBJ-tietuetyyppi %u\n"
 
-#: vms-alpha.c:6453
+#: vms-alpha.c:6346
 #, c-format
 msgid "  bitcount: %u, base addr: 0x%08x\n"
 msgstr "  bittilukumÃ¤Ã¤rÃ¤: %u, perusosoite: 0x%08x\n"
 
-#: vms-alpha.c:6466
+#: vms-alpha.c:6359
 #, c-format
 msgid "   bitmap: 0x%08x (count: %u):\n"
 msgstr "   bittikartta: 0x%08x (lukumÃ¤Ã¤rÃ¤: %u):\n"
 
-#: vms-alpha.c:6473
+#: vms-alpha.c:6366
 #, c-format
 msgid " %08x"
 msgstr " %08x"
 
-#: vms-alpha.c:6498
+#: vms-alpha.c:6391
 #, c-format
 msgid "  image %u (%u entries)\n"
 msgstr "  vedos %u (%u alkiota)\n"
 
-#: vms-alpha.c:6503
+#: vms-alpha.c:6396
 #, c-format
 msgid "   offset: 0x%08x, val: 0x%08x\n"
 msgstr "   siirros: 0x%08x, arvo: 0x%08x\n"
 
-#: vms-alpha.c:6524
+#: vms-alpha.c:6417
 #, c-format
 msgid "  image %u (%u entries), offsets:\n"
 msgstr "  vedos %u (%u alkiota), siirrokset:\n"
 
-#: vms-alpha.c:6531
+#: vms-alpha.c:6424
 #, c-format
 msgid " 0x%08x"
 msgstr " 0x%08x"
 
 #. 64 bits.
-#: vms-alpha.c:6653
+#: vms-alpha.c:6546
 #, c-format
 msgid "64 bits *unhandled*\n"
 msgstr "64 bittinen *kÃ¤sittelemÃ¤tÃ¶n*\n"
 
-#: vms-alpha.c:6657
+#: vms-alpha.c:6550
 #, c-format
 msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
 msgstr "luokka: %u, dtype: %u, pituus: %u, osoitin: 0x%08x\n"
 
-#: vms-alpha.c:6668
+#: vms-alpha.c:6561
 #, c-format
 msgid "non-contiguous array of %s\n"
 msgstr "ei-yhtenÃ¤inen %s-taulukko\n"
 
-#: vms-alpha.c:6672
+#: vms-alpha.c:6565
 #, c-format
 msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
 msgstr "dimct: %u, a-liput: 0x%02x, numerot: %u, skaala: %u\n"
 
-#: vms-alpha.c:6676
+#: vms-alpha.c:6569
 #, c-format
 msgid "arsize: %u, a0: 0x%08x\n"
 msgstr "arsize: %u, a0: 0x%08x\n"
 
-#: vms-alpha.c:6680
+#: vms-alpha.c:6573
 #, c-format
 msgid "Strides:\n"
 msgstr "Askeleet:\n"
 
-#: vms-alpha.c:6685
+#: vms-alpha.c:6578
 #, c-format
 msgid "[%u]: %u\n"
 msgstr "[%u]: %u\n"
 
-#: vms-alpha.c:6690
+#: vms-alpha.c:6583
 #, c-format
 msgid "Bounds:\n"
 msgstr "Rajat:\n"
 
-#: vms-alpha.c:6695
+#: vms-alpha.c:6588
 #, c-format
 msgid "[%u]: Lower: %u, upper: %u\n"
 msgstr "[%u]: Alempi: %u, ylempi: %u\n"
 
-#: vms-alpha.c:6707
+#: vms-alpha.c:6600
 #, c-format
 msgid "unaligned bit-string of %s\n"
 msgstr "tasaamaton %s-bittimerkkijono\n"
 
-#: vms-alpha.c:6711
+#: vms-alpha.c:6604
 #, c-format
 msgid "base: %u, pos: %u\n"
 msgstr "kanta: %u, paikka: %u\n"
 
-#: vms-alpha.c:6731
+#: vms-alpha.c:6624
 #, c-format
 msgid "vflags: 0x%02x, value: 0x%08x "
 msgstr "v-liput: 0x%02x, arvo: 0x%08x "
 
-#: vms-alpha.c:6737
+#: vms-alpha.c:6630
 #, c-format
 msgid "(no value)\n"
 msgstr "(ei arvoa)\n"
 
-#: vms-alpha.c:6740
+#: vms-alpha.c:6633
 #, c-format
 msgid "(not active)\n"
 msgstr "(ei kÃ¤ytÃ¶ssÃ¤)\n"
 
-#: vms-alpha.c:6743
+#: vms-alpha.c:6636
 #, c-format
 msgid "(not allocated)\n"
 msgstr "(ei varattu)\n"
 
-#: vms-alpha.c:6746
+#: vms-alpha.c:6639
 #, c-format
 msgid "(descriptor)\n"
 msgstr "(kuvaaja)\n"
 
-#: vms-alpha.c:6750
+#: vms-alpha.c:6643
 #, c-format
 msgid "(trailing value)\n"
 msgstr "(jÃ¤lkiarvo)\n"
 
-#: vms-alpha.c:6753
+#: vms-alpha.c:6646
 #, c-format
 msgid "(value spec follows)\n"
 msgstr "(arvomÃ¤Ã¤rittely seuraa)\n"
 
-#: vms-alpha.c:6756
+#: vms-alpha.c:6649
 #, c-format
 msgid "(at bit offset %u)\n"
 msgstr "(bittisiirroksessa %u)\n"
 
-#: vms-alpha.c:6759
+#: vms-alpha.c:6652
 #, c-format
 msgid "(reg: %u, disp: %u, indir: %u, kind: "
 msgstr "(rekisteri: %u, sijoitus: %u, suunta: %u, tyyppi: "
 
-#: vms-alpha.c:6766
+#: vms-alpha.c:6659
 msgid "literal"
 msgstr "literaali"
 
-#: vms-alpha.c:6769
+#: vms-alpha.c:6662
 msgid "address"
 msgstr "osoite"
 
-#: vms-alpha.c:6772
+#: vms-alpha.c:6665
 msgid "desc"
 msgstr "kuvaus"
 
-#: vms-alpha.c:6775
+#: vms-alpha.c:6668
 msgid "reg"
 msgstr "rekisteri"
 
-#: vms-alpha.c:6850
+#: vms-alpha.c:6743
 #, c-format
 msgid "Debug symbol table:\n"
 msgstr "VianjÃ¤ljityssymbolitaulu:\n"
 
-#: vms-alpha.c:6861
+#: vms-alpha.c:6754
 #, c-format
 msgid "cannot read DST header\n"
 msgstr "ei voida lukea DST-otsaketta\n"
 
-#: vms-alpha.c:6866
+#: vms-alpha.c:6759
 #, c-format
 msgid " type: %3u, len: %3u (at 0x%08x): "
 msgstr " tyyppi: %3u, pituus: %3u (osoitteessa 0x%08x): "
 
-#: vms-alpha.c:6880
+#: vms-alpha.c:6773
 #, c-format
 msgid "cannot read DST symbol\n"
 msgstr "ei voida lukea DST-symbolia\n"
 
-#: vms-alpha.c:6923
+#: vms-alpha.c:6816
 #, c-format
 msgid "standard data: %s\n"
 msgstr "vakiotiedot: %s\n"
 
-#: vms-alpha.c:6926 vms-alpha.c:7010
+#: vms-alpha.c:6819 vms-alpha.c:6903
 #, c-format
 msgid "    name: %.*s\n"
 msgstr "    nimi: %.*s\n"
 
-#: vms-alpha.c:6933
+#: vms-alpha.c:6826
 #, c-format
 msgid "modbeg\n"
 msgstr "modbeg-alku\n"
 
-#: vms-alpha.c:6934
+#: vms-alpha.c:6827
 #, c-format
 msgid "   flags: %d, language: %u, major: %u, minor: %u\n"
 msgstr "   liput: %d, kieli: %u, major: %u, minor: %u\n"
 
-#: vms-alpha.c:6940 vms-alpha.c:7206
+#: vms-alpha.c:6833 vms-alpha.c:7099
 #, c-format
 msgid "   module name: %.*s\n"
 msgstr "   modulinimi: %.*s\n"
 
-#: vms-alpha.c:6943
+#: vms-alpha.c:6836
 #, c-format
 msgid "   compiler   : %.*s\n"
 msgstr "   kÃ¤Ã¤ntÃ¤jÃ¤   : %.*s\n"
 
-#: vms-alpha.c:6948
+#: vms-alpha.c:6841
 #, c-format
 msgid "modend\n"
 msgstr "modend-loppu\n"
 
-#: vms-alpha.c:6955
+#: vms-alpha.c:6848
 msgid "rtnbeg\n"
 msgstr "rtnbeg-alku\n"
 
-#: vms-alpha.c:6956
+#: vms-alpha.c:6849
 #, c-format
 msgid "    flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
 msgstr "    liput: %u, osoite: 0x%08x, pd-osoite: 0x%08x\n"
 
-#: vms-alpha.c:6961
+#: vms-alpha.c:6854
 #, c-format
 msgid "    routine name: %.*s\n"
 msgstr "    rutiininimi: %.*s\n"
 
-#: vms-alpha.c:6969
+#: vms-alpha.c:6862
 #, c-format
 msgid "rtnend: size 0x%08x\n"
 msgstr "rtnend-loppu: koko 0x%08x\n"
 
-#: vms-alpha.c:6977
+#: vms-alpha.c:6870
 #, c-format
 msgid "prolog: bkpt address 0x%08x\n"
 msgstr "prolog: bkpt-osoite 0x%08x\n"
 
-#: vms-alpha.c:6985
+#: vms-alpha.c:6878
 #, c-format
 msgid "epilog: flags: %u, count: %u\n"
 msgstr "epilog: liput: %u, lukumÃ¤Ã¤rÃ¤: %u\n"
 
-#: vms-alpha.c:6994
+#: vms-alpha.c:6887
 #, c-format
 msgid "blkbeg: address: 0x%08x, name: %.*s\n"
 msgstr "blkbeg-alku: osoite: 0x%08x, nimi: %.*s\n"
 
-#: vms-alpha.c:7003
+#: vms-alpha.c:6896
 #, c-format
 msgid "blkend: size: 0x%08x\n"
 msgstr "blkend-loppu: koko: 0x%08x\n"
 
-#: vms-alpha.c:7009
+#: vms-alpha.c:6902
 #, c-format
 msgid "typspec (len: %u)\n"
 msgstr "typspec (pituus: %u)\n"
 
-#: vms-alpha.c:7016
+#: vms-alpha.c:6909
 #, c-format
 msgid "septyp, name: %.*s\n"
 msgstr "septyp, nimi: %.*s\n"
 
-#: vms-alpha.c:7025
+#: vms-alpha.c:6918
 #, c-format
 msgid "recbeg: name: %.*s\n"
 msgstr "recbeg-alku: nimi: %.*s\n"
 
-#: vms-alpha.c:7032
+#: vms-alpha.c:6925
 #, c-format
 msgid "recend\n"
 msgstr "recend-loppu\n"
 
-#: vms-alpha.c:7035
+#: vms-alpha.c:6928
 #, c-format
 msgid "enumbeg, len: %u, name: %.*s\n"
 msgstr "enumbeg-alku, pituus: %u, nimi: %.*s\n"
 
-#: vms-alpha.c:7039
+#: vms-alpha.c:6932
 #, c-format
 msgid "enumelt, name: %.*s\n"
 msgstr "enumelt, nimi: %.*s\n"
 
-#: vms-alpha.c:7043
+#: vms-alpha.c:6936
 #, c-format
 msgid "enumend\n"
 msgstr "enumend-loppu\n"
 
-#: vms-alpha.c:7060
+#: vms-alpha.c:6953
 #, c-format
 msgid "discontiguous range (nbr: %u)\n"
 msgstr "ei-yhtenÃ¤inen lukualue (numero: %u)\n"
 
-#: vms-alpha.c:7062
+#: vms-alpha.c:6955
 #, c-format
 msgid "    address: 0x%08x, size: %u\n"
 msgstr "    osoite: 0x%08x, koko: %u\n"
 
-#: vms-alpha.c:7072
+#: vms-alpha.c:6965
 #, c-format
 msgid "line num  (len: %u)\n"
 msgstr "rivinumero (pituus: %u)\n"
 
-#: vms-alpha.c:7089
+#: vms-alpha.c:6982
 #, c-format
 msgid "delta_pc_w %u\n"
 msgstr "delta_pc_w %u\n"
 
-#: vms-alpha.c:7096
+#: vms-alpha.c:6989
 #, c-format
 msgid "incr_linum(b): +%u\n"
 msgstr "incr_linum(b): +%u\n"
 
-#: vms-alpha.c:7102
+#: vms-alpha.c:6995
 #, c-format
 msgid "incr_linum_w: +%u\n"
 msgstr "incr_linum_w: +%u\n"
 
-#: vms-alpha.c:7108
+#: vms-alpha.c:7001
 #, c-format
 msgid "incr_linum_l: +%u\n"
 msgstr "incr_linum_l: +%u\n"
 
-#: vms-alpha.c:7114
+#: vms-alpha.c:7007
 #, c-format
 msgid "set_line_num(w) %u\n"
 msgstr "set_line_num(w) %u\n"
 
-#: vms-alpha.c:7119
+#: vms-alpha.c:7012
 #, c-format
 msgid "set_line_num_b %u\n"
 msgstr "set_line_num_b %u\n"
 
-#: vms-alpha.c:7124
+#: vms-alpha.c:7017
 #, c-format
 msgid "set_line_num_l %u\n"
 msgstr "set_line_num_l %u\n"
 
-#: vms-alpha.c:7129
+#: vms-alpha.c:7022
 #, c-format
 msgid "set_abs_pc: 0x%08x\n"
 msgstr "set_abs_pc: 0x%08x\n"
 
-#: vms-alpha.c:7133
+#: vms-alpha.c:7026
 #, c-format
 msgid "delta_pc_l: +0x%08x\n"
 msgstr "delta_pc_l: +0x%08x\n"
 
-#: vms-alpha.c:7138
+#: vms-alpha.c:7031
 #, c-format
 msgid "term(b): 0x%02x"
 msgstr "term(b): 0x%02x"
 
-#: vms-alpha.c:7140
+#: vms-alpha.c:7033
 #, c-format
 msgid "        pc: 0x%08x\n"
 msgstr "        pc: 0x%08x\n"
 
-#: vms-alpha.c:7145
+#: vms-alpha.c:7038
 #, c-format
 msgid "term_w: 0x%04x"
 msgstr "term_w: 0x%04x"
 
-#: vms-alpha.c:7147
+#: vms-alpha.c:7040
 #, c-format
 msgid "    pc: 0x%08x\n"
 msgstr "    pc: 0x%08x\n"
 
-#: vms-alpha.c:7153
+#: vms-alpha.c:7046
 #, c-format
 msgid "delta pc +%-4d"
 msgstr "delta pc +%-4d"
 
-#: vms-alpha.c:7156
+#: vms-alpha.c:7049
 #, c-format
 msgid "    pc: 0x%08x line: %5u\n"
 msgstr "    pc: 0x%08x rivi: %5u\n"
 
-#: vms-alpha.c:7161
+#: vms-alpha.c:7054
 #, c-format
 msgid "    *unhandled* cmd %u\n"
 msgstr "    *kÃ¤sittelemÃ¤tÃ¶n* komento %u\n"
 
-#: vms-alpha.c:7176
+#: vms-alpha.c:7069
 #, c-format
 msgid "source (len: %u)\n"
 msgstr "lÃ¤hde (pituus: %u)\n"
 
-#: vms-alpha.c:7190
+#: vms-alpha.c:7083
 #, c-format
 msgid "   declfile: len: %u, flags: %u, fileid: %u\n"
 msgstr "   declfile: pituus: %u, liput: %u, tiedostotunniste: %u\n"
 
-#: vms-alpha.c:7194
+#: vms-alpha.c:7087
 #, c-format
 msgid "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 msgstr "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 
-#: vms-alpha.c:7203
+#: vms-alpha.c:7096
 #, c-format
 msgid "   filename   : %.*s\n"
 msgstr "   tiedostonimi: %.*s\n"
 
-#: vms-alpha.c:7212
+#: vms-alpha.c:7105
 #, c-format
 msgid "   setfile %u\n"
 msgstr "   setfile %u\n"
 
-#: vms-alpha.c:7217 vms-alpha.c:7222
+#: vms-alpha.c:7110 vms-alpha.c:7115
 #, c-format
 msgid "   setrec %u\n"
 msgstr "   setrec %u\n"
 
-#: vms-alpha.c:7227 vms-alpha.c:7232
+#: vms-alpha.c:7120 vms-alpha.c:7125
 #, c-format
 msgid "   setlnum %u\n"
 msgstr "   setlnum %u\n"
 
-#: vms-alpha.c:7237 vms-alpha.c:7242
+#: vms-alpha.c:7130 vms-alpha.c:7135
 #, c-format
 msgid "   deflines %u\n"
 msgstr "   deflines %u\n"
 
-#: vms-alpha.c:7246
+#: vms-alpha.c:7139
 #, c-format
 msgid "   formfeed\n"
 msgstr "   formfeed\n"
 
-#: vms-alpha.c:7250
+#: vms-alpha.c:7143
 #, c-format
 msgid "   *unhandled* cmd %u\n"
 msgstr "   *kÃ¤sittelemÃ¤tÃ¶n* komento %u\n"
 
-#: vms-alpha.c:7262
+#: vms-alpha.c:7155
 #, c-format
 msgid "*unhandled* dst type %u\n"
 msgstr "*kÃ¤sittelemÃ¤tÃ¶n* kohdetyyppi %u\n"
 
-#: vms-alpha.c:7294
+#: vms-alpha.c:7187
 #, c-format
 msgid "cannot read EIHD\n"
 msgstr "ei voida lukea kohdetta EIHD\n"
 
-#: vms-alpha.c:7297
+#: vms-alpha.c:7190
 #, c-format
 msgid "EIHD: (size: %u, nbr blocks: %u)\n"
 msgstr "EIHD: (koko: %u, nbr lohkoa: %u)\n"
 
-#: vms-alpha.c:7300
+#: vms-alpha.c:7193
 #, c-format
 msgid " majorid: %u, minorid: %u\n"
 msgstr " majorid: %u, minorid: %u\n"
 
-#: vms-alpha.c:7308
+#: vms-alpha.c:7201
 msgid "executable"
 msgstr "suoritettava tiedosto"
 
-#: vms-alpha.c:7311
+#: vms-alpha.c:7204
 msgid "linkable image"
 msgstr "linkitettÃ¤vÃ¤ vedos"
 
-#: vms-alpha.c:7317
+#: vms-alpha.c:7210
 #, c-format
 msgid " image type: %u (%s)"
 msgstr " vedostyyppi: %u (%s)"
 
-#: vms-alpha.c:7323
+#: vms-alpha.c:7216
 msgid "native"
 msgstr "kotoperÃ¤inen"
 
-#: vms-alpha.c:7326
+#: vms-alpha.c:7219
 msgid "CLI"
 msgstr "CLI"
 
-#: vms-alpha.c:7332
+#: vms-alpha.c:7225
 #, c-format
 msgid ", subtype: %u (%s)\n"
 msgstr ", alityyppi: %u (%s)\n"
 
-#: vms-alpha.c:7338
+#: vms-alpha.c:7231
 #, c-format
 msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 msgstr " siirrokset: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 
-#: vms-alpha.c:7342
+#: vms-alpha.c:7235
 #, c-format
 msgid " fixup info rva: "
 msgstr " korjaustiedot rva: "
 
-#: vms-alpha.c:7344
+#: vms-alpha.c:7237
 #, c-format
 msgid ", symbol vector rva: "
 msgstr ", symbolivektori rva: "
 
-#: vms-alpha.c:7347
+#: vms-alpha.c:7240
 #, c-format
 msgid ""
 "\n"
@@ -5283,465 +5655,469 @@ msgstr ""
 "\n"
 " versiotaulukkosiirros: %u\n"
 
-#: vms-alpha.c:7351
+#: vms-alpha.c:7244
 #, c-format
 msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
 msgstr " img I/O lukumÃ¤Ã¤rÃ¤: %u, kanavien lukumÃ¤Ã¤rÃ¤: %u, req pri: %08x%08x\n"
 
-#: vms-alpha.c:7357
+#: vms-alpha.c:7250
 #, c-format
 msgid " linker flags: %08x:"
 msgstr " linkkeriliput: %08x:"
 
-#: vms-alpha.c:7387
+#: vms-alpha.c:7280
 #, c-format
 msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
 msgstr " ident: 0x%08x, sysver: 0x%08x, tÃ¤smÃ¤Ã¤ ctrl: %u, symvect_size: %u\n"
 
-#: vms-alpha.c:7393
+#: vms-alpha.c:7286
 #, c-format
 msgid " BPAGE: %u"
 msgstr " BPAGE: %u"
 
-#: vms-alpha.c:7399
+#: vms-alpha.c:7292
 #, c-format
 msgid ", ext fixup offset: %u, no_opt psect off: %u"
 msgstr ", ext korjaussiirros: %u, no_opt psect -siirros: %u"
 
-#: vms-alpha.c:7402
+#: vms-alpha.c:7295
 #, c-format
 msgid ", alias: %u\n"
 msgstr ", alias: %u\n"
 
-#: vms-alpha.c:7410
+#: vms-alpha.c:7303
 #, c-format
 msgid "system version array information:\n"
 msgstr "jÃ¤rjestelmÃ¤version taulukkotiedot:\n"
 
-#: vms-alpha.c:7414
+#: vms-alpha.c:7307
 #, c-format
 msgid "cannot read EIHVN header\n"
 msgstr "ei voida lukea EIHVN-otsaketta\n"
 
-#: vms-alpha.c:7424
+#: vms-alpha.c:7317
 #, c-format
 msgid "cannot read EIHVN version\n"
 msgstr "ei voida lukea EIHVN-versiota\n"
 
-#: vms-alpha.c:7427
+#: vms-alpha.c:7320
 #, c-format
 msgid "   %02u "
 msgstr "   %02u "
 
-#: vms-alpha.c:7431
+#: vms-alpha.c:7324
 msgid "BASE_IMAGE       "
 msgstr "PERUS_VEDOS      "
 
-#: vms-alpha.c:7434
+#: vms-alpha.c:7327
 msgid "MEMORY_MANAGEMENT"
 msgstr "MUISTI_HALLINTA  "
 
-#: vms-alpha.c:7437
+#: vms-alpha.c:7330
 msgid "IO               "
 msgstr "SIIRRÃ„NTÃ„        "
 
-#: vms-alpha.c:7440
+#: vms-alpha.c:7333
 msgid "FILES_VOLUMES    "
 msgstr "TIEDOSTOT_TALTIOT"
 
-#: vms-alpha.c:7443
+#: vms-alpha.c:7336
 msgid "PROCESS_SCHED    "
 msgstr "PROSESSI_AIKAT.  "
 
-#: vms-alpha.c:7446
+#: vms-alpha.c:7339
 msgid "SYSGEN           "
 msgstr "SYSGEN           "
 
-#: vms-alpha.c:7449
+#: vms-alpha.c:7342
 msgid "CLUSTERS_LOCKMGR "
 msgstr "KLUSTERIEN_LUKOT "
 
-#: vms-alpha.c:7452
+#: vms-alpha.c:7345
 msgid "LOGICAL_NAMES    "
 msgstr "LOOGISET_NIMET   "
 
-#: vms-alpha.c:7455
+#: vms-alpha.c:7348
 msgid "SECURITY         "
 msgstr "TURVALLISUUS     "
 
-#: vms-alpha.c:7458
+#: vms-alpha.c:7351
 msgid "IMAGE_ACTIVATOR  "
 msgstr "VEDOS_AKTIVOIJA  "
 
-#: vms-alpha.c:7461
+#: vms-alpha.c:7354
 msgid "NETWORKS         "
 msgstr "VERKOT           "
 
-#: vms-alpha.c:7464
+#: vms-alpha.c:7357
 msgid "COUNTERS         "
 msgstr "LASKURIT         "
 
-#: vms-alpha.c:7467
+#: vms-alpha.c:7360
 msgid "STABLE           "
 msgstr "STABIILI         "
 
-#: vms-alpha.c:7470
+#: vms-alpha.c:7363
 msgid "MISC             "
 msgstr "SEKALAISET       "
 
-#: vms-alpha.c:7473
+#: vms-alpha.c:7366
 msgid "CPU              "
 msgstr "PROSESSORI       "
 
-#: vms-alpha.c:7476
+#: vms-alpha.c:7369
 msgid "VOLATILE         "
 msgstr "KATOAVA          "
 
-#: vms-alpha.c:7479
+#: vms-alpha.c:7372
 msgid "SHELL            "
 msgstr "KUORI            "
 
-#: vms-alpha.c:7482
+#: vms-alpha.c:7375
 msgid "POSIX            "
 msgstr "POSIX            "
 
-#: vms-alpha.c:7485
+#: vms-alpha.c:7378
 msgid "MULTI_PROCESSING "
 msgstr "MONI_PROSESSOINTI"
 
-#: vms-alpha.c:7488
+#: vms-alpha.c:7381
 msgid "GALAXY           "
 msgstr "GALAKSI          "
 
-#: vms-alpha.c:7491
+#: vms-alpha.c:7384
 msgid "*unknown*        "
 msgstr "*tuntematon*     "
 
-#: vms-alpha.c:7494
+#: vms-alpha.c:7387
 #, c-format
 msgid ": %u.%u\n"
 msgstr ": %u.%u\n"
 
-#: vms-alpha.c:7507 vms-alpha.c:7766
+#: vms-alpha.c:7400 vms-alpha.c:7659
 #, c-format
 msgid "cannot read EIHA\n"
 msgstr "ei voida lukea kohdetta EIHA\n"
 
-#: vms-alpha.c:7510
+#: vms-alpha.c:7403
 #, c-format
 msgid "Image activation:  (size=%u)\n"
 msgstr "Vedosaktivointi:  (koko=%u)\n"
 
-#: vms-alpha.c:7512
+#: vms-alpha.c:7405
 #, c-format
 msgid " First address : 0x%08x 0x%08x\n"
 msgstr " EnsimmÃ¤inen osoite : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7515
+#: vms-alpha.c:7408
 #, c-format
 msgid " Second address: 0x%08x 0x%08x\n"
 msgstr " Toinen osoite      : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7518
+#: vms-alpha.c:7411
 #, c-format
 msgid " Third address : 0x%08x 0x%08x\n"
 msgstr " Kolmas osoite      : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7521
+#: vms-alpha.c:7414
 #, c-format
 msgid " Fourth address: 0x%08x 0x%08x\n"
 msgstr " NeljÃ¤s osoite      : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7524
+#: vms-alpha.c:7417
 #, c-format
 msgid " Shared image  : 0x%08x 0x%08x\n"
 msgstr " Jaettu vedos       : 0x%08x 0x%08x\n"
 
-#: vms-alpha.c:7535
+#: vms-alpha.c:7428
 #, c-format
 msgid "cannot read EIHI\n"
 msgstr "ei voida lukea kohdetta EIHI\n"
 
-#: vms-alpha.c:7538
+#: vms-alpha.c:7431
 #, c-format
 msgid "Image identification: (major: %u, minor: %u)\n"
 msgstr "Vedostunnistus: (major: %u, minor: %u)\n"
 
-#: vms-alpha.c:7541
+#: vms-alpha.c:7434
 #, c-format
 msgid " image name       : %.*s\n"
 msgstr " vedosnimi             : %.*s\n"
 
-#: vms-alpha.c:7543
+#: vms-alpha.c:7436
 #, c-format
 msgid " link time        : %s\n"
 msgstr " linkitysaika          : %s\n"
 
-#: vms-alpha.c:7545
+#: vms-alpha.c:7438
 #, c-format
 msgid " image ident      : %.*s\n"
 msgstr " vedossisennys         : %.*s\n"
 
-#: vms-alpha.c:7547
+#: vms-alpha.c:7440
 #, c-format
 msgid " linker ident     : %.*s\n"
 msgstr " linkkeri-ident        : %.*s\n"
 
-#: vms-alpha.c:7549
+#: vms-alpha.c:7442
 #, c-format
 msgid " image build ident: %.*s\n"
 msgstr " vedoksen rakennusident: %.*s\n"
 
-#: vms-alpha.c:7559
+#: vms-alpha.c:7452
 #, c-format
 msgid "cannot read EIHS\n"
 msgstr "ei voida lukea kohdetta EIHS\n"
 
-#: vms-alpha.c:7562
+#: vms-alpha.c:7455
 #, c-format
 msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
 msgstr "Vedossymboli- ja vianjÃ¤ljitystaulu: (major: %u, minor: %u)\n"
 
-#: vms-alpha.c:7567
+#: vms-alpha.c:7460
 #, c-format
 msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
 msgstr " vianjÃ¤ljityssymbolitaulu : vbn: %u, koko: %u (0x%x)\n"
 
-#: vms-alpha.c:7571
+#: vms-alpha.c:7464
 #, c-format
 msgid " global symbol table: vbn: %u, records: %u\n"
 msgstr " yleinen symbolitaulu: vbn: %u, tietueet: %u\n"
 
-#: vms-alpha.c:7575
+#: vms-alpha.c:7468
 #, c-format
 msgid " debug module table : vbn: %u, size: %u\n"
 msgstr " vianjÃ¤ljitysmodulitaulu : vbn: %u, koko: %u\n"
 
-#: vms-alpha.c:7588
+#: vms-alpha.c:7481
 #, c-format
 msgid "cannot read EISD\n"
 msgstr "ei voida lukea kohdetta EISD\n"
 
-#: vms-alpha.c:7598
+#: vms-alpha.c:7491
 #, c-format
 msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
 msgstr "Vedoslohkokuvaaja: (major: %u, minor: %u, koko: %u, siirros: %u)\n"
 
-#: vms-alpha.c:7605
+#: vms-alpha.c:7498
 #, c-format
 msgid " section: base: 0x%08x%08x size: 0x%08x\n"
 msgstr " lohko: kanta: 0x%08x%08x koko: 0x%08x\n"
 
-#: vms-alpha.c:7610
+#: vms-alpha.c:7503
 #, c-format
 msgid " flags: 0x%04x"
 msgstr " liput: 0x%04x"
 
-#: vms-alpha.c:7647
+#: vms-alpha.c:7540
 #, c-format
 msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
 msgstr " vbn: %u, pfc: %u, matchctl: %u tyyppi: %u ("
 
-#: vms-alpha.c:7653
+#: vms-alpha.c:7546
 msgid "NORMAL"
 msgstr "NORMAALI"
 
-#: vms-alpha.c:7656
+#: vms-alpha.c:7549
 msgid "SHRFXD"
 msgstr "SHRFXD"
 
-#: vms-alpha.c:7659
+#: vms-alpha.c:7552
 msgid "PRVFXD"
 msgstr "PRVFXD"
 
-#: vms-alpha.c:7662
+#: vms-alpha.c:7555
 msgid "SHRPIC"
 msgstr "SHRPIC"
 
-#: vms-alpha.c:7665
+#: vms-alpha.c:7558
 msgid "PRVPIC"
 msgstr "PRVPIC"
 
-#: vms-alpha.c:7668
+#: vms-alpha.c:7561
 msgid "USRSTACK"
 msgstr "USRSTACK"
 
-#: vms-alpha.c:7676
+#: vms-alpha.c:7567
+msgid ")\n"
+msgstr ")\n"
+
+#: vms-alpha.c:7569
 #, c-format
 msgid " ident: 0x%08x, name: %.*s\n"
 msgstr " ident: 0x%08x, nimi: %.*s\n"
 
-#: vms-alpha.c:7686
+#: vms-alpha.c:7579
 #, c-format
 msgid "cannot read DMT\n"
 msgstr "ei voida lukea kohdetta DMT\n"
 
-#: vms-alpha.c:7690
+#: vms-alpha.c:7583
 #, c-format
 msgid "Debug module table:\n"
 msgstr "VianjÃ¤ljitysmodulitaulu:\n"
 
-#: vms-alpha.c:7699
+#: vms-alpha.c:7592
 #, c-format
 msgid "cannot read DMT header\n"
 msgstr "ei voida lukea DMT-otsaketta\n"
 
-#: vms-alpha.c:7704
+#: vms-alpha.c:7597
 #, c-format
 msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
 msgstr " modulisiirros: 0x%08x, koko: 0x%08x, (%u psects)\n"
 
-#: vms-alpha.c:7714
+#: vms-alpha.c:7607
 #, c-format
 msgid "cannot read DMT psect\n"
 msgstr "ei voida lukea kohdetta DMT psect\n"
 
-#: vms-alpha.c:7717
+#: vms-alpha.c:7610
 #, c-format
 msgid "  psect start: 0x%08x, length: %u\n"
 msgstr "  psect-alku: 0x%08x, pituus: %u\n"
 
-#: vms-alpha.c:7730
+#: vms-alpha.c:7623
 #, c-format
 msgid "cannot read DST\n"
 msgstr "ei voida lukea kohdetta DST\n"
 
-#: vms-alpha.c:7740
+#: vms-alpha.c:7633
 #, c-format
 msgid "cannot read GST\n"
 msgstr "ei voida lukea kohdetta GST\n"
 
-#: vms-alpha.c:7744
+#: vms-alpha.c:7637
 #, c-format
 msgid "Global symbol table:\n"
 msgstr "Yleinen symbolitaulu:\n"
 
-#: vms-alpha.c:7772
+#: vms-alpha.c:7665
 #, c-format
 msgid "Image activator fixup: (major: %u, minor: %u)\n"
 msgstr "Vedosaktivaattorikorjaus: (major: %u, minor: %u)\n"
 
-#: vms-alpha.c:7775
+#: vms-alpha.c:7668
 #, c-format
 msgid "  iaflink : 0x%08x %08x\n"
 msgstr "  iaflink : 0x%08x %08x\n"
 
-#: vms-alpha.c:7778
+#: vms-alpha.c:7671
 #, c-format
 msgid "  fixuplnk: 0x%08x %08x\n"
 msgstr "  fixuplnk: 0x%08x %08x\n"
 
-#: vms-alpha.c:7781
+#: vms-alpha.c:7674
 #, c-format
 msgid "  size : %u\n"
 msgstr "  koko : %u\n"
 
-#: vms-alpha.c:7783
+#: vms-alpha.c:7676
 #, c-format
 msgid "  flags: 0x%08x\n"
 msgstr "  liput: 0x%08x\n"
 
-#: vms-alpha.c:7787
+#: vms-alpha.c:7680
 #, c-format
 msgid "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 msgstr "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 
-#: vms-alpha.c:7791
+#: vms-alpha.c:7684
 #, c-format
 msgid "  qdotadroff: %5u, ldotadroff: %5u\n"
 msgstr "  qdotadroff: %5u, ldotadroff: %5u\n"
 
-#: vms-alpha.c:7795
+#: vms-alpha.c:7688
 #, c-format
 msgid "  codeadroff: %5u, lpfixoff  : %5u\n"
 msgstr "  codeadroff: %5u, lpfixoff  : %5u\n"
 
-#: vms-alpha.c:7798
+#: vms-alpha.c:7691
 #, c-format
 msgid "  chgprtoff : %5u\n"
 msgstr "  chgprtoff : %5u\n"
 
-#: vms-alpha.c:7801
+#: vms-alpha.c:7694
 #, c-format
 msgid "  shlstoff  : %5u, shrimgcnt : %5u\n"
 msgstr "  shlstoff  : %5u, shrimgcnt : %5u\n"
 
-#: vms-alpha.c:7803
+#: vms-alpha.c:7696
 #, c-format
 msgid "  shlextra  : %5u, permctx   : %5u\n"
 msgstr "  shlextra  : %5u, permctx   : %5u\n"
 
-#: vms-alpha.c:7806
+#: vms-alpha.c:7699
 #, c-format
 msgid "  base_va : 0x%08x\n"
 msgstr "  base_va : 0x%08x\n"
 
-#: vms-alpha.c:7808
+#: vms-alpha.c:7701
 #, c-format
 msgid "  lppsbfixoff: %5u\n"
 msgstr "  lppsbfixoff: %5u\n"
 
-#: vms-alpha.c:7816
+#: vms-alpha.c:7709
 #, c-format
 msgid " Shareable images:\n"
 msgstr " Jaettavat vedokset:\n"
 
-#: vms-alpha.c:7820
+#: vms-alpha.c:7713
 #, c-format
 msgid "  %u: size: %u, flags: 0x%02x, name: %.*s\n"
 msgstr "  %u: koko: %u, liput: 0x%02x, nimi: %.*s\n"
 
-#: vms-alpha.c:7827
+#: vms-alpha.c:7720
 #, c-format
 msgid " quad-word relocation fixups:\n"
 msgstr " quad-sanaiset sijoituskorjaukset:\n"
 
-#: vms-alpha.c:7832
+#: vms-alpha.c:7725
 #, c-format
 msgid " long-word relocation fixups:\n"
 msgstr " long-word-sijoituskorjaukset:\n"
 
-#: vms-alpha.c:7837
+#: vms-alpha.c:7730
 #, c-format
 msgid " quad-word .address reference fixups:\n"
 msgstr " quad-word .address -viitekorjaukset:\n"
 
-#: vms-alpha.c:7842
+#: vms-alpha.c:7735
 #, c-format
 msgid " long-word .address reference fixups:\n"
 msgstr " long-word .address -viitekorjaukset:\n"
 
-#: vms-alpha.c:7847
+#: vms-alpha.c:7740
 #, c-format
 msgid " Code Address Reference Fixups:\n"
 msgstr " Koodiosoiteviitekorjaukset:\n"
 
-#: vms-alpha.c:7852
+#: vms-alpha.c:7745
 #, c-format
-msgid " Linkage Pairs Referece Fixups:\n"
+msgid " Linkage Pairs Reference Fixups:\n"
 msgstr " Linkitysparien viitekorjaukset:\n"
 
-#: vms-alpha.c:7861
+#: vms-alpha.c:7754
 #, c-format
 msgid " Change Protection (%u entries):\n"
 msgstr " Vaihda suoja (%u alkiota):\n"
 
-#: vms-alpha.c:7866
+#: vms-alpha.c:7759
 #, c-format
 msgid "  base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
 msgstr "  kanta: 0x%08x %08x, koko: 0x%08x, prot: 0x%08x "
 
 #. FIXME: we do not yet support relocatable link.  It is not obvious
 #. how to do it for debug infos.
-#: vms-alpha.c:8706
+#: vms-alpha.c:8599
 msgid "%P: relocatable link is not supported\n"
 msgstr "%P: sijoitettava linkki ei ole tuettu\n"
 
-#: vms-alpha.c:8776
+#: vms-alpha.c:8669
 msgid "%P: multiple entry points: in modules %B and %B\n"
 msgstr "%P: useita tulokohtia: moduuleissa %B ja %B\n"
 
-#: vms-lib.c:1423
+#: vms-lib.c:1444
 #, c-format
 msgid "could not open shared image '%s' from '%s'"
 msgstr "ei voitu avata jaettua vedosta '%s' kohteesta '%s'"
@@ -5754,225 +6130,149 @@ msgstr "_bfd_vms_output_counted kutsuttu
 msgid "_bfd_vms_output_counted called with too many bytes"
 msgstr "_bfd_vms_output_counted kutsuttu liian monilla tavuilla"
 
-#: xcofflink.c:836
+#: xcofflink.c:824
 #, c-format
 msgid "%s: XCOFF shared object when not producing XCOFF output"
 msgstr "%s: XCOFF jaettu objekti kun ei tuoteta XCOFF-tulostetta"
 
-#: xcofflink.c:857
+#: xcofflink.c:845
 #, c-format
 msgid "%s: dynamic object with no .loader section"
 msgstr "%s: dynaaminen objekti ilman â€�.loaderâ€�-lohkoa"
 
-#: xcofflink.c:1416
+#: xcofflink.c:1404
 msgid "%B: `%s' has line numbers but no enclosing section"
 msgstr "%B: â€�%sâ€� on rivinumerot, mutta ei sulkevaa lohkoa"
 
-#: xcofflink.c:1468
+#: xcofflink.c:1456
 msgid "%B: class %d symbol `%s' has no aux entries"
 msgstr "%B: luokassa %d symbolissa â€�%sâ€� ei ole aputulokohtia"
 
-#: xcofflink.c:1490
+#: xcofflink.c:1478
 msgid "%B: symbol `%s' has unrecognized csect type %d"
 msgstr "%B: symbolissa â€�%sâ€� on tunnistamaton ohjauslohkotyyppi %d"
 
-#: xcofflink.c:1502
+#: xcofflink.c:1490
 msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
 msgstr "%B: virheellinen XTY_ER-symboli â€�%sâ€�: luokka %d ohjauslohkonumero %d ohjauslohkopituus %d"
 
-#: xcofflink.c:1531
+#: xcofflink.c:1519
 msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
 msgstr "%B: XMC_TC0-symboli â€�%sâ€� on luokka %d ohjauslohkopituus %d"
 
-#: xcofflink.c:1677
+#: xcofflink.c:1665
 msgid "%B: csect `%s' not in enclosing section"
 msgstr "%B: ohjauslohkoa â€�%sâ€� ei ole sulkeutuvassa lohkossa"
 
-#: xcofflink.c:1784
+#: xcofflink.c:1772
 msgid "%B: misplaced XTY_LD `%s'"
 msgstr "%B: vÃ¤Ã¤rin sijoitettu XTY_LD â€�%sâ€�"
 
-#: xcofflink.c:2103
+#: xcofflink.c:2091
 msgid "%B: reloc %s:%d not in csect"
 msgstr "%B: reloc-tietue %s:%d ei ole ohjauslohkossa"
 
-#: xcofflink.c:3194
+#: xcofflink.c:3182
 #, c-format
 msgid "%s: no such symbol"
 msgstr "%s: tuntematon symboli"
 
-#: xcofflink.c:3299
+#: xcofflink.c:3287
 #, c-format
 msgid "warning: attempt to export undefined symbol `%s'"
 msgstr "varoitus: yritettiin viedÃ¤ mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli â€�%sâ€�"
 
-#: xcofflink.c:3678
+#: xcofflink.c:3666
 msgid "error: undefined symbol __rtinit"
 msgstr "virhe: mÃ¤Ã¤rittelemÃ¤tÃ¶n symboli â€�__rtinitâ€�"
 
-#: xcofflink.c:4057
+#: xcofflink.c:4045
 msgid "%B: loader reloc in unrecognized section `%s'"
 msgstr "%B: â€�loader relocâ€�-tietue tunnistamattomassa lohkossa â€�%s"
 
-#: xcofflink.c:4068
+#: xcofflink.c:4056
 msgid "%B: `%s' in loader reloc but not loader sym"
 msgstr "%B: â€�%sâ€� â€�loader relocâ€�-tietueessa, mutta ei â€�loader.symâ€�-binaarissa"
 
-#: xcofflink.c:4084
+#: xcofflink.c:4072
 msgid "%B: loader reloc in read-only section %A"
 msgstr "%B: â€�loader relocâ€�-tietue kirjoitussuojatussa lohkossa %A"
 
-#: xcofflink.c:5106
+#: xcofflink.c:5094
 #, c-format
 msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
 msgstr "SisÃ¤ltÃ¶luettelon ylivuoto: 0x%lx > 0x10000; yritÃ¤ â€�-mminimal-tocâ€� kÃ¤Ã¤nnettÃ¤essÃ¤"
 
-#  Kun kÃ¤skyoperandi on sen lukualueen ulkopuolella, joka sallitaan kullekin kÃ¤skykentÃ¤lle, assembler voi muuntaa koodin kÃ¤yttÃ¤mÃ¤Ã¤n toiminnallisesti samanlaista kÃ¤skyÃ¤ tai kÃ¤skysekvenssiÃ¤. TÃ¤mÃ¤ prosessi tunnetaan nimellÃ¤ relaxation. TÃ¤tÃ¤ tehdÃ¤Ã¤n tyypillisesti haarautumiskÃ¤skyissÃ¤, koska haarautumiskohteen etÃ¤isyyttÃ¤ ei tunneta ennen linkitystÃ¤. Tavallaan tÃ¤llÃ¤ tavalla kumotaan lukualueen rajoitteet (constraints). Siksi olen suomentanut sen termillÃ¤ avartaminen.
-#: elf32-ia64.c:628 elf64-ia64.c:628
-msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
-msgstr "%B: Ei voi avartaa br-kÃ¤skyÃ¤ kohteessa 0x%lx lohkossa â€�%Aâ€�. KÃ¤ytÃ¤ â€�brlâ€�-kÃ¤skyÃ¤ tai epÃ¤suoraa haarautumista."
-
-#: elf32-ia64.c:2284 elf64-ia64.c:2284
-msgid "@pltoff reloc against local symbol"
-msgstr "â€�@pltoff relocâ€�-tietue paikallista symbolia varten"
-
-#: elf32-ia64.c:3687 elf64-ia64.c:3687
-#, c-format
-msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
-msgstr "%s: â€�shortâ€�-datasegmentti ylivuotanut (0x%lx >= 0x400000)"
-
-#: elf32-ia64.c:3698 elf64-ia64.c:3698
-#, c-format
-msgid "%s: __gp does not cover short data segment"
-msgstr "%s: â€�__gpâ€� ei kata â€�shortâ€�-datasegmenttiÃ¤"
-
-#: elf32-ia64.c:3965 elf64-ia64.c:3965
-msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
-msgstr "%B: paikkariippuvainen koodi vÃ¤littÃ¶mÃ¤llÃ¤ sijoituksella dynaamista symbolia â€�%sâ€� varten"
-
-#: elf32-ia64.c:4032 elf64-ia64.c:4032
-msgid "%B: @gprel relocation against dynamic symbol %s"
-msgstr "%B: â€�@gprelâ€�-sijoitus dynaamista symbolia %s varten"
-
-#: elf32-ia64.c:4095 elf64-ia64.c:4095
-msgid "%B: linking non-pic code in a position independent executable"
-msgstr "%B: linkitetÃ¤Ã¤n paikkariippuvainen koodi paikkariippumattomassa suoritettavassa tiedostossa"
-
-#: elf32-ia64.c:4232 elf64-ia64.c:4232
-msgid "%B: @internal branch to dynamic symbol %s"
-msgstr "%B: @sisÃ¤inen haarautuminen dynaamiseen symboliin %s"
-
-#: elf32-ia64.c:4234 elf64-ia64.c:4234
-msgid "%B: speculation fixup to dynamic symbol %s"
-msgstr "%B: spekulaatiokorjaus dynaamiseen symboliin %s"
-
-#: elf32-ia64.c:4236 elf64-ia64.c:4236
-msgid "%B: @pcrel relocation against dynamic symbol %s"
-msgstr "%B: â€�@pcrelâ€�-sijoitus dynaamista symbolia %s varten"
-
-#: elf32-ia64.c:4433 elf64-ia64.c:4433
-msgid "unsupported reloc"
-msgstr "ei-tuettu reloc-tietue"
-
-#: elf32-ia64.c:4471 elf64-ia64.c:4471
-msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
-msgstr "%B: siirroksen %s puuttuva TLS-lohko kohdetta â€�%sâ€� varten osoitteessa 0x%lx lohkossa â€�%Aâ€�."
-
-#  Kun kÃ¤skyoperandi on sen lukualueen ulkopuolella, joka sallitaan kullekin kÃ¤skykentÃ¤lle, assembler voi muuntaa koodin kÃ¤yttÃ¤mÃ¤Ã¤n toiminnallisesti samanlaista kÃ¤skyÃ¤ tai kÃ¤skysekvenssiÃ¤. TÃ¤mÃ¤ prosessi tunnetaan nimellÃ¤ relaxation. TÃ¤tÃ¤ tehdÃ¤Ã¤n tyypillisesti haarautumiskÃ¤skyissÃ¤, koska haarautumiskohteen etÃ¤isyyttÃ¤ ei tunneta ennen linkitystÃ¤. Tavallaan tÃ¤llÃ¤ tavalla kumotaan lukualueen rajoitteet (constraints). Siksi olen suomentanut sen termillÃ¤ avartaminen.
-#: elf32-ia64.c:4486 elf64-ia64.c:4486
-msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
-msgstr "%B: Ei voi avartaa br-kÃ¤skyÃ¤ (%s) kohteelle â€�%sâ€� kohteessa 0x%lx lohkossa â€�%Aâ€� koolla 0x%lx (> 0x1000000)."
-
-#: elf32-ia64.c:4748 elf64-ia64.c:4748
-msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
-msgstr "%B: linkitetÃ¤Ã¤n keskeytysnollassa uudelleenviite â€�ei-keskeytetÃ¤â€�-tiedostojen kanssa"
-
-#: elf32-ia64.c:4757 elf64-ia64.c:4757
-msgid "%B: linking big-endian files with little-endian files"
-msgstr "%B: linkitetÃ¤Ã¤n â€�big-endianâ€�-tiedostoja â€�little-endianâ€�-tiedostojen kanssa"
-
-#: elf32-ia64.c:4766 elf64-ia64.c:4766
-msgid "%B: linking 64-bit files with 32-bit files"
-msgstr "%B: linkitetÃ¤Ã¤n 64-bittiset tiedostot 32-bittisten tiedostojen kanssa"
-
-#: elf32-ia64.c:4775 elf64-ia64.c:4775
-msgid "%B: linking constant-gp files with non-constant-gp files"
-msgstr "%B: linkitetÃ¤Ã¤n vakioyleisosoitintiedostot ei-vakioiden yleisosoitintiedostojen kanssa"
-
-#: elf32-ia64.c:4785 elf64-ia64.c:4785
-msgid "%B: linking auto-pic files with non-auto-pic files"
-msgstr "%B: linkitetÃ¤Ã¤n automaattiset paikkariippumattomat kooditiedostot ei-automaattisten paikkariippumattomien kooditiedostojen kanssa"
-
-#: peigen.c:1002 pepigen.c:1002 pex64igen.c:1002
+#: peigen.c:1009 pepigen.c:1009 pex64igen.c:1009
 #, c-format
 msgid "%s: line number overflow: 0x%lx > 0xffff"
 msgstr "%s: rivinumeroylivuoto: 0x%lx > 0xffff"
 
-#: peigen.c:1029 pepigen.c:1029 pex64igen.c:1029
+#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036
 msgid "Export Directory [.edata (or where ever we found it)]"
 msgstr "Vientihakemisto [.edata (tai missÃ¤ sen sitten lÃ¶ysimmekin)]"
 
-#: peigen.c:1030 pepigen.c:1030 pex64igen.c:1030
+#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037
 msgid "Import Directory [parts of .idata]"
 msgstr "Tuontihakemisto [â€�.idataâ€�-osat]"
 
-#: peigen.c:1031 pepigen.c:1031 pex64igen.c:1031
+#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038
 msgid "Resource Directory [.rsrc]"
 msgstr "Resurssihakemisto [.rsrc]"
 
-#: peigen.c:1032 pepigen.c:1032 pex64igen.c:1032
+#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039
 msgid "Exception Directory [.pdata]"
 msgstr "Poikkeushakemisto [.pdata]"
 
-#: peigen.c:1033 pepigen.c:1033 pex64igen.c:1033
+#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040
 msgid "Security Directory"
 msgstr "Turvallisuushakemisto"
 
-#: peigen.c:1034 pepigen.c:1034 pex64igen.c:1034
+#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041
 msgid "Base Relocation Directory [.reloc]"
 msgstr "Perussijoitushakemisto [.reloc]"
 
-#: peigen.c:1035 pepigen.c:1035 pex64igen.c:1035
+#: peigen.c:1042 pepigen.c:1042 pex64igen.c:1042
 msgid "Debug Directory"
 msgstr "VirheenetsintÃ¤hakemisto"
 
-#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036
+#: peigen.c:1043 pepigen.c:1043 pex64igen.c:1043
 msgid "Description Directory"
 msgstr "Kuvaushakemisto"
 
-#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037
+#: peigen.c:1044 pepigen.c:1044 pex64igen.c:1044
 msgid "Special Directory"
 msgstr "Erityishakemisto"
 
-#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038
+#: peigen.c:1045 pepigen.c:1045 pex64igen.c:1045
 msgid "Thread Storage Directory [.tls]"
 msgstr "SÃ¤ievarastohakemisto [.tls]"
 
-#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039
+#: peigen.c:1046 pepigen.c:1046 pex64igen.c:1046
 msgid "Load Configuration Directory"
 msgstr "Lataa konfigurationhakemisto"
 
-#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040
+#: peigen.c:1047 pepigen.c:1047 pex64igen.c:1047
 msgid "Bound Import Directory"
 msgstr "Sidottu tuontihakemisto"
 
-#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041
+#: peigen.c:1048 pepigen.c:1048 pex64igen.c:1048
 msgid "Import Address Table Directory"
 msgstr "Tuontiosoitetauluhakemisto"
 
-#: peigen.c:1042 pepigen.c:1042 pex64igen.c:1042
+#: peigen.c:1049 pepigen.c:1049 pex64igen.c:1049
 msgid "Delay Import Directory"
 msgstr "Viivetuontihakemisto"
 
-#: peigen.c:1043 pepigen.c:1043 pex64igen.c:1043
+#: peigen.c:1050 pepigen.c:1050 pex64igen.c:1050
 msgid "CLR Runtime Header"
 msgstr "CLR ajoaikaotsake"
 
-#: peigen.c:1044 pepigen.c:1044 pex64igen.c:1044
+#: peigen.c:1051 pepigen.c:1051 pex64igen.c:1051
 msgid "Reserved"
 msgstr "Varattu"
 
-#: peigen.c:1104 pepigen.c:1104 pex64igen.c:1104
+#: peigen.c:1111 pepigen.c:1111 pex64igen.c:1111
 #, c-format
 msgid ""
 "\n"
@@ -5981,7 +6281,7 @@ msgstr ""
 "\n"
 "Tuontitaulu lÃ¶ytyi, mutta ei lohkoa, joka sisÃ¤ltÃ¤Ã¤ sen\n"
 
-#: peigen.c:1109 pepigen.c:1109 pex64igen.c:1109
+#: peigen.c:1116 pepigen.c:1116 pex64igen.c:1116
 #, c-format
 msgid ""
 "\n"
@@ -5990,7 +6290,7 @@ msgstr ""
 "\n"
 "Tuontitaulu lohkossa %s osoitteessa 0x%lx\n"
 
-#: peigen.c:1151 pepigen.c:1151 pex64igen.c:1151
+#: peigen.c:1158 pepigen.c:1158 pex64igen.c:1158
 #, c-format
 msgid ""
 "\n"
@@ -5999,12 +6299,12 @@ msgstr ""
 "\n"
 "Funktiokuvaaja sijaitsi alkuosoitteessa: %04lx\n"
 
-#: peigen.c:1154 pepigen.c:1154 pex64igen.c:1154
+#: peigen.c:1161 pepigen.c:1161 pex64igen.c:1161
 #, c-format
 msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
 msgstr "\tkoodipohja %08lx sisÃ¤ltÃ¶luettelo (ladattava/todellinen) %08lx/%08lx\n"
 
-#: peigen.c:1162 pepigen.c:1162 pex64igen.c:1162
+#: peigen.c:1169 pepigen.c:1169 pex64igen.c:1169
 #, c-format
 msgid ""
 "\n"
@@ -6013,7 +6313,7 @@ msgstr ""
 "\n"
 "Ei reldata-lohkoa! Funktiokuvaaja ei ole koodattu.\n"
 
-#: peigen.c:1167 pepigen.c:1167 pex64igen.c:1167
+#: peigen.c:1174 pepigen.c:1174 pex64igen.c:1174
 #, c-format
 msgid ""
 "\n"
@@ -6023,7 +6323,7 @@ msgstr ""
 "Tuontitaulut (tulkittu %s lohkosisÃ¤ltÃ¶)\n"
 
 #  Taulukko-otsake, jossa sanat on kahdella rivillÃ¤ (ilman tavuviivaa), esimerkiksi: Vihjetaulu
-#: peigen.c:1170 pepigen.c:1170 pex64igen.c:1170
+#: peigen.c:1177 pepigen.c:1177 pex64igen.c:1177
 #, c-format
 msgid ""
 " vma:            Hint    Time      Forward  DLL       First\n"
@@ -6032,7 +6332,7 @@ msgstr ""
 " vma:            Vihje-  Aika-     JatkolÃ¤h.  DLL-    EnsimmÃ¤inen\n"
 "                 taulu   leima     ketju      nimi    Thunk-funktio\n"
 
-#: peigen.c:1218 pepigen.c:1218 pex64igen.c:1218
+#: peigen.c:1225 pepigen.c:1225 pex64igen.c:1225
 #, c-format
 msgid ""
 "\n"
@@ -6041,12 +6341,12 @@ msgstr ""
 "\n"
 "\tDLL-nimi: %s\n"
 
-#: peigen.c:1229 pepigen.c:1229 pex64igen.c:1229
+#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
 #, c-format
 msgid "\tvma:  Hint/Ord Member-Name Bound-To\n"
 msgstr "\tvma:  Vihje/JÃ¤r JÃ¤sen-Nimi Sidottu\n"
 
-#: peigen.c:1254 pepigen.c:1254 pex64igen.c:1254
+#: peigen.c:1261 pepigen.c:1261 pex64igen.c:1261
 #, c-format
 msgid ""
 "\n"
@@ -6055,7 +6355,7 @@ msgstr ""
 "\n"
 "EnsimmÃ¤inen thunk-funktio lÃ¶ytyi, mutta ei sen sisÃ¤ltÃ¤vÃ¤Ã¤ lohkoa\n"
 
-#: peigen.c:1415 pepigen.c:1415 pex64igen.c:1415
+#: peigen.c:1423 pepigen.c:1423 pex64igen.c:1423
 #, c-format
 msgid ""
 "\n"
@@ -6064,7 +6364,7 @@ msgstr ""
 "\n"
 "Vientitaulu lÃ¶ytyi, mutta ei sen sisÃ¤ltÃ¤vÃ¤Ã¤ lohkoa\n"
 
-#: peigen.c:1424 pepigen.c:1424 pex64igen.c:1424
+#: peigen.c:1432 pepigen.c:1432 pex64igen.c:1432
 #, c-format
 msgid ""
 "\n"
@@ -6073,7 +6373,7 @@ msgstr ""
 "\n"
 "Vientitaulu kohteessa %s, mutta ei sovi tuohon lohkoon\n"
 
-#: peigen.c:1430 pepigen.c:1430 pex64igen.c:1430
+#: peigen.c:1438 pepigen.c:1438 pex64igen.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -6082,7 +6382,7 @@ msgstr ""
 "\n"
 "Vientitaulu lohkossa %s osoitteessa 0x%lx\n"
 
-#: peigen.c:1458 pepigen.c:1458 pex64igen.c:1458
+#: peigen.c:1466 pepigen.c:1466 pex64igen.c:1466
 #, c-format
 msgid ""
 "\n"
@@ -6093,67 +6393,67 @@ msgstr ""
 "Vientitaulut (tulkittu %s lohkosisÃ¤ltÃ¶)\n"
 "\n"
 
-#: peigen.c:1462 pepigen.c:1462 pex64igen.c:1462
+#: peigen.c:1470 pepigen.c:1470 pex64igen.c:1470
 #, c-format
 msgid "Export Flags \t\t\t%lx\n"
 msgstr "Vientiliput \t\t\t%lx\n"
 
-#: peigen.c:1465 pepigen.c:1465 pex64igen.c:1465
+#: peigen.c:1473 pepigen.c:1473 pex64igen.c:1473
 #, c-format
 msgid "Time/Date stamp \t\t%lx\n"
 msgstr "Aika/PÃ¤ivÃ¤mÃ¤Ã¤rÃ¤leima \t\t%lx\n"
 
-#: peigen.c:1468 pepigen.c:1468 pex64igen.c:1468
+#: peigen.c:1476 pepigen.c:1476 pex64igen.c:1476
 #, c-format
 msgid "Major/Minor \t\t\t%d/%d\n"
 msgstr "Suurempi/Pienempi \t\t\t%d/%d\n"
 
-#: peigen.c:1471 pepigen.c:1471 pex64igen.c:1471
+#: peigen.c:1479 pepigen.c:1479 pex64igen.c:1479
 #, c-format
 msgid "Name \t\t\t\t"
 msgstr "Nimi \t\t\t\t"
 
-#: peigen.c:1477 pepigen.c:1477 pex64igen.c:1477
+#: peigen.c:1485 pepigen.c:1485 pex64igen.c:1485
 #, c-format
 msgid "Ordinal Base \t\t\t%ld\n"
 msgstr "JÃ¤rjestyslukukanta \t\t\t%ld\n"
 
-#: peigen.c:1480 pepigen.c:1480 pex64igen.c:1480
+#: peigen.c:1488 pepigen.c:1488 pex64igen.c:1488
 #, c-format
 msgid "Number in:\n"
 msgstr "Numero kohteessa:\n"
 
-#: peigen.c:1483 pepigen.c:1483 pex64igen.c:1483
+#: peigen.c:1491 pepigen.c:1491 pex64igen.c:1491
 #, c-format
 msgid "\tExport Address Table \t\t%08lx\n"
 msgstr "\tVientiosoitetaulu \t\t%08lx\n"
 
-#: peigen.c:1487 pepigen.c:1487 pex64igen.c:1487
+#: peigen.c:1495 pepigen.c:1495 pex64igen.c:1495
 #, c-format
 msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
 msgstr "\t[Nimiosoitin/JÃ¤rjestysnumero] taulu\t%08lx\n"
 
-#: peigen.c:1490 pepigen.c:1490 pex64igen.c:1490
+#: peigen.c:1498 pepigen.c:1498 pex64igen.c:1498
 #, c-format
 msgid "Table Addresses\n"
 msgstr "Tauluosoitteet\n"
 
-#: peigen.c:1493 pepigen.c:1493 pex64igen.c:1493
+#: peigen.c:1501 pepigen.c:1501 pex64igen.c:1501
 #, c-format
 msgid "\tExport Address Table \t\t"
 msgstr "\tVientiosoitetaulu \t\t"
 
-#: peigen.c:1498 pepigen.c:1498 pex64igen.c:1498
+#: peigen.c:1506 pepigen.c:1506 pex64igen.c:1506
 #, c-format
 msgid "\tName Pointer Table \t\t"
 msgstr "\tNimiosoitintaulu \t\t"
 
-#: peigen.c:1503 pepigen.c:1503 pex64igen.c:1503
+#: peigen.c:1511 pepigen.c:1511 pex64igen.c:1511
 #, c-format
 msgid "\tOrdinal Table \t\t\t"
 msgstr "\tJÃ¤rjestysnumerotaulu \t\t\t"
 
-#: peigen.c:1517 pepigen.c:1517 pex64igen.c:1517
+#: peigen.c:1525 pepigen.c:1525 pex64igen.c:1525
 #, c-format
 msgid ""
 "\n"
@@ -6162,15 +6462,15 @@ msgstr ""
 "\n"
 "Vientiosoitetaulu -- JÃ¤rjestyslukukanta %ld\n"
 
-#: peigen.c:1536 pepigen.c:1536 pex64igen.c:1536
+#: peigen.c:1544 pepigen.c:1544 pex64igen.c:1544
 msgid "Forwarder RVA"
 msgstr "JatkolÃ¤hetyksen suhteellinen muuttujaosoite"
 
-#: peigen.c:1547 pepigen.c:1547 pex64igen.c:1547
+#: peigen.c:1555 pepigen.c:1555 pex64igen.c:1555
 msgid "Export RVA"
 msgstr "Viennin suhteellinen muuttujaosoite"
 
-#: peigen.c:1554 pepigen.c:1554 pex64igen.c:1554
+#: peigen.c:1562 pepigen.c:1562 pex64igen.c:1562
 #, c-format
 msgid ""
 "\n"
@@ -6179,19 +6479,19 @@ msgstr ""
 "\n"
 "[JÃ¤rjestysnumero/Nimiosoitin] Taulu\n"
 
-#: peigen.c:1614 peigen.c:1797 pepigen.c:1614 pepigen.c:1797 pex64igen.c:1614
-#: pex64igen.c:1797
+#: peigen.c:1622 peigen.c:1805 pepigen.c:1622 pepigen.c:1805 pex64igen.c:1622
+#: pex64igen.c:1805
 #, c-format
 msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
 msgstr "Varoitus,â€� .pdataâ€�-lohkokoko (%ld) ei ole %d:n monikerta\n"
 
-#: peigen.c:1621 pepigen.c:1621 pex64igen.c:1621
+#: peigen.c:1629 pepigen.c:1629 pex64igen.c:1629
 #, c-format
 msgid " vma:\t\t\tBegin Address    End Address      Unwind Info\n"
 msgstr " vma:\t\t\tAlkuosoite       Loppuosoite      Unwind-tiedot\n"
 
 #  Taulukko-otsake, jossa sanat jakautuvat taas alekkain kahdelle riville ilman tavuviivoja
-#: peigen.c:1623 pepigen.c:1623 pex64igen.c:1623
+#: peigen.c:1631 pepigen.c:1631 pex64igen.c:1631
 #, c-format
 msgid ""
 " vma:\t\tBegin    End      EH       EH       PrologEnd  Exception\n"
@@ -6200,22 +6500,22 @@ msgstr ""
 " vma:\t\tAlku-    Loppu-   EH-kÃ¤sit- EH-     PrologEnd  Poikkeus-\n"
 "     \t\tosoite   osoite   telijÃ¤   data     osoite     peite\n"
 
-#: peigen.c:1697 pepigen.c:1697 pex64igen.c:1697
+#: peigen.c:1705 pepigen.c:1705 pex64igen.c:1705
 #, c-format
 msgid " Register save millicode"
 msgstr " Rekisteri tallentaa millicode-bitin"
 
-#: peigen.c:1700 pepigen.c:1700 pex64igen.c:1700
+#: peigen.c:1708 pepigen.c:1708 pex64igen.c:1708
 #, c-format
 msgid " Register restore millicode"
 msgstr " Rekisteri palauttaa millicode-bitin"
 
-#: peigen.c:1703 pepigen.c:1703 pex64igen.c:1703
+#: peigen.c:1711 pepigen.c:1711 pex64igen.c:1711
 #, c-format
 msgid " Glue code sequence"
 msgstr " Vihje-koodisekvenssi"
 
-#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
+#: peigen.c:1811 pepigen.c:1811 pex64igen.c:1811
 #, c-format
 msgid ""
 " vma:\t\tBegin    Prolog   Function Flags    Exception EH\n"
@@ -6224,7 +6524,7 @@ msgstr ""
 " vma:\t\tAlku-    Prologi- Funktio- Liput    Poikkeus-   EH-\n"
 "     \t\tosoite   pituus   pituus   32b exc  kÃ¤sittelijÃ¤ Data\n"
 
-#: peigen.c:1929 pepigen.c:1929 pex64igen.c:1929
+#: peigen.c:1937 pepigen.c:1937 pex64igen.c:1937
 #, c-format
 msgid ""
 "\n"
@@ -6236,7 +6536,7 @@ msgstr ""
 "PE-tiedostokantasijoitukset (tulkittu â€�.relocâ€�-lohkosisÃ¤ltÃ¶)\n"
 
 #  Esimerkiksi vÃ¤limuistissa RAM-alue koostuu usein pienistÃ¤ palasista, joita kutsutaan nimellÃ¤ chunk. Suomensin sen tÃ¤ssÃ¤ sanalla alilohko
-#: peigen.c:1958 pepigen.c:1958 pex64igen.c:1958
+#: peigen.c:1966 pepigen.c:1966 pex64igen.c:1966
 #, c-format
 msgid ""
 "\n"
@@ -6245,15 +6545,69 @@ msgstr ""
 "\n"
 "Virtuaaliosoite: %08lx alilohkokoko %ld (0x%lx) Korjausten lukumÃ¤Ã¤rÃ¤ %ld\n"
 
-#: peigen.c:1971 pepigen.c:1971 pex64igen.c:1971
+#: peigen.c:1979 pepigen.c:1979 pex64igen.c:1979
 #, c-format
 msgid "\treloc %4d offset %4x [%4lx] %s"
 msgstr "\treloc-tietue %4d siirrososoite %4x [%4lx] %s"
 
+#: peigen.c:2023 pepigen.c:2023 pex64igen.c:2023
+#, c-format
+msgid "%*.s Entry: "
+msgstr "%*.s Entry: "
+
+#: peigen.c:2043 pepigen.c:2043 pex64igen.c:2043
+#, c-format
+msgid "name: [val: %08lx len %d]: "
+msgstr "nimi: [arvo: %08lx pituus %d]: "
+
+#: peigen.c:2054 pepigen.c:2054 pex64igen.c:2054
+#, c-format
+msgid "<corrupt string length: %#x>"
+msgstr "<rikkinÃ¤inen merkkijonopituus: %#x>"
+
+#: peigen.c:2057 pepigen.c:2057 pex64igen.c:2057
+#, c-format
+msgid "<corrupt string offset: %#lx>"
+msgstr "<rikkinÃ¤inen merkkijonosiirros: %#lx>"
+
+#: peigen.c:2060 pepigen.c:2060 pex64igen.c:2060
+#, c-format
+msgid "ID: %#08lx"
+msgstr "Tunniste: %#08lx"
+
+#: peigen.c:2063 pepigen.c:2063 pex64igen.c:2063
+#, c-format
+msgid ", Value: %#08lx\n"
+msgstr ", Arvo: %#08lx\n"
+
+#: peigen.c:2074 pepigen.c:2074 pex64igen.c:2074
+#, c-format
+msgid "%*.s  Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
+msgstr "%*.s  Lehti: Osoite: %#08lx, Koko: %#08lx, Koodisivu: %d\n"
+
+#: peigen.c:2116 pepigen.c:2116 pex64igen.c:2116
+#, c-format
+msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
+msgstr " Taulu: Merkki: %d, Aika: %08lx, Ver: %d/%d, NimimÃ¤Ã¤rÃ¤: %d, Tunnisteet: %d\n"
+
+#: peigen.c:2204 pepigen.c:2204 pex64igen.c:2204
+#, c-format
+msgid "Corrupt .rsrc section detected!\n"
+msgstr "RikkinÃ¤inen .rsrc-lohko havaittu!\n"
+
+#: peigen.c:2220 pepigen.c:2220 pex64igen.c:2220
+#, c-format
+msgid ""
+"\n"
+"WARNING: Extra data in .rsrc section - it will be ignored by Windows:\n"
+msgstr ""
+"\n"
+"VAROITUS: LisÃ¤tietoja lohkossa .rsrc - Windows ohittaa ne:\n"
+
 #. The MS dumpbin program reportedly ands with 0xff0f before
 #. printing the characteristics field.  Not sure why.  No reason to
 #. emulate it here.
-#: peigen.c:2010 pepigen.c:2010 pex64igen.c:2010
+#: peigen.c:2243 pepigen.c:2243 pex64igen.c:2243
 #, c-format
 msgid ""
 "\n"
@@ -6262,32 +6616,150 @@ msgstr ""
 "\n"
 "Luonteenominaisuus 0x%x\n"
 
-#: peigen.c:2310 pepigen.c:2310 pex64igen.c:2310
+#: peigen.c:3194 pepigen.c:3194 pex64igen.c:3194
+#, c-format
+msgid ".rsrc merge failure: duplicate string resource: %d"
+msgstr ".rsrc-lohkon yhdistÃ¤misvirhe: merkkijonoresurssin kaksoiskappale: %d"
+
+#: peigen.c:3329 pepigen.c:3329 pex64igen.c:3329
+msgid ".rsrc merge failure: multiple non-default manifests"
+msgstr ".rsrc-lohkon yhdistÃ¤misvirhe: useita ei-oletus-manifest-tietoja"
+
+#: peigen.c:3347 pepigen.c:3347 pex64igen.c:3347
+msgid ".rsrc merge failure: a directory matches a leaf"
+msgstr ".rsrc-lohkon yhdistÃ¤misvirhe: hakemisto tÃ¤smÃ¤Ã¤ lehteen"
+
+#: peigen.c:3389 pepigen.c:3389 pex64igen.c:3389
+msgid ".rsrc merge failure: duplicate leaf"
+msgstr ".rsrc-lohkon yhdistÃ¤misvirhe: lehden kaksoiskappale"
+
+#: peigen.c:3391 pepigen.c:3391 pex64igen.c:3391
+#, c-format
+msgid ".rsrc merge failure: duplicate leaf: %s"
+msgstr ".rsrc-lohkon yhdistÃ¤misvirhe: lehden kaksoiskappale: %s"
+
+#: peigen.c:3457 pepigen.c:3457 pex64igen.c:3457
+msgid ".rsrc merge failure: dirs with differing characteristics\n"
+msgstr ".rsrc-lohkon yhdistÃ¤misvirhe: hakemistot eriÃ¤villÃ¤ ominaisuuksilla\n"
+
+#: peigen.c:3464 pepigen.c:3464 pex64igen.c:3464
+msgid ".rsrc merge failure: differing directory versions\n"
+msgstr ".rsrc-lohkon yhdistÃ¤misvirhe: eriÃ¤vÃ¤t hakemistoversiot\n"
+
+#. Corrupted .rsrc section - cannot merge.
+#: peigen.c:3537 pepigen.c:3537 pex64igen.c:3537
+#, c-format
+msgid "%s: .rsrc merge failure: corrupt .rsrc section"
+msgstr "%s: .rsrc-lohkon yhdistÃ¤misvirhe: rikkinÃ¤inen .rsrc-lohko"
+
+#: peigen.c:3673 pepigen.c:3673 pex64igen.c:3673
 msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
 msgstr "%B: DataDictionary[1]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$2â€� puuttuu"
 
-#: peigen.c:2330 pepigen.c:2330 pex64igen.c:2330
+#: peigen.c:3693 pepigen.c:3693 pex64igen.c:3693
 msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
 msgstr "%B: DataDictionary[1]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$4â€� puuttuu"
 
-#: peigen.c:2351 pepigen.c:2351 pex64igen.c:2351
+#: peigen.c:3714 pepigen.c:3714 pex64igen.c:3714
 msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
 msgstr "%B: DataDictionary[12]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$5â€� puuttuu"
 
-#: peigen.c:2371 pepigen.c:2371 pex64igen.c:2371
+#: peigen.c:3734 pepigen.c:3734 pex64igen.c:3734
 msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
 msgstr "%B: DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$6â€� puuttuu"
 
-#: peigen.c:2413 pepigen.c:2413 pex64igen.c:2413
+#: peigen.c:3776 pepigen.c:3776 pex64igen.c:3776
 msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
 msgstr "%B: DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�.idata$6â€� puuttuu"
 
-#: peigen.c:2438 pepigen.c:2438 pex64igen.c:2438
+#: peigen.c:3801 pepigen.c:3801 pex64igen.c:3801
 msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
 msgstr "%B: DataDictionary[9]:ia ei voi tÃ¤yttÃ¤Ã¤, koska â€�__tls_usedâ€� puuttuu"
 
-#~ msgid "%B: error: taking the address of protected function '%s' cannot be done when making a shared library"
-#~ msgstr "%B: virhe: suojatun funktion â€™%sâ€™ osoitteen ottamista ei voida tehdÃ¤, kun tehdÃ¤Ã¤n jaettua kirjastoa"
+#~ msgid "%B: unable to initialize commpress status for section %s"
+#~ msgstr "%B: ei kyetÃ¤ alustamaan tiivistystilaa lohkolle %s"
+
+#~ msgid "%B: unable to initialize decommpress status for section %s"
+#~ msgstr "%B: ei kyetÃ¤ alustamaan tiivistyksenpurkutilaa lohkolle %s"
+
+#~ msgid ""
+#~ "%B(%s): warning: interworking not enabled.\n"
+#~ "  first occurrence: %B: thumb call to arm"
+#~ msgstr ""
+#~ "%B(%s): varoitus: yhteistoimivuus vanhan koodin kanssa ei ole kÃ¤ytÃ¶ssÃ¤.\n"
+#~ "  ensimmÃ¤inen esiintymÃ¤: %B: thumb-kutsu arm-koodiin"
+
+#~ msgid "DIV usage mismatch between %B and %B"
+#~ msgstr "DIV-kÃ¤yttÃ¶tÃ¤smÃ¤Ã¤mÃ¤ttÃ¶myys kohteiden %B ja %B vÃ¤lillÃ¤"
+
+#~ msgid "%B: bad relocation section name `%s'"
+#~ msgstr "%B: virheellinen sijoituslohkonimi â€�%sâ€�"
+
+#~ msgid "%P: dynamic variable `%s' is zero size\n"
+#~ msgstr "%P: dynaaminen muuttuja â€�%sâ€� on nollakokoinen\n"
+
+#~ msgid " [64-bit doubles]"
+#~ msgstr " [64-bittiset double-liukuluvut]"
+
+#~ msgid " [dsp]"
+#~ msgstr " [paikkariippumaton koodi]"
+
+#~ msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
+#~ msgstr "%P: %H: automaattisia useita sisÃ¤ltÃ¶luettelotauluja ei ole tuettu crt-tiedostoissasi; kÃ¤Ã¤nnÃ¤ uudelleen â€�-mminimal-tocâ€�-argumentilla tai pÃ¤ivitÃ¤ gcc\n"
+
+#~ msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
+#~ msgstr "%P: %H: sisarruskutsuoptimointi kohteeseen â€�%sâ€� ei salli automaattisia useita sisÃ¤llysluettelotauluja; kÃ¤Ã¤nnÃ¤ uudelleen â€�-mminimal-tocâ€�-argumentilla tai â€�-fno-optimize-sibling-callsâ€�-argumentilla, tai tee kohteesta â€�%sâ€� ulkoinen\n"
+
+#~ msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
+#~ msgstr "huomatus: â€™%sâ€™ on mÃ¤Ã¤ritelty kohteessa DSO %B, joten yritÃ¤ lisÃ¤tÃ¤ se linkkittÃ¤jÃ¤n komentoriville"
+
+#~ msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float"
+#~ msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ â€�-msingle-floatâ€�-valitsinta, %B kÃ¤yttÃ¤Ã¤ â€�-mdouble-floatâ€�-valitsinta"
+
+#~ msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ â€�-msingle-floatâ€�-valitsinta, %B kÃ¤yttÃ¤Ã¤ â€�-mips32r2 -mfp64â€�-valitsimia"
+
+#~ msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "Varoitus: %B kÃ¤yttÃ¤Ã¤ â€�-mdouble-floatâ€�-valitsinta, %B kÃ¤yttÃ¤Ã¤ â€�-mips32r2 -mfp64â€�-valitsimia"
+
+#~ msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
+#~ msgstr "bfd_mach_o_read_symtab_symbol: symboli â€�%sâ€� on tukematon â€™epÃ¤suoraâ€™ viite: asetus on mÃ¤Ã¤rittelemÃ¤tÃ¶n"
+
+#~ msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
+#~ msgstr "bfd_mach_o_read_dysymtab_symbol: ei kyetÃ¤ lukemaan %lu tavua osoitteesta %lu"
+
+#~ msgid "Mach-O header:\n"
+#~ msgstr "Mach-O otsake:\n"
+
+#~ msgid " magic     : %08lx\n"
+#~ msgstr " maaginen            : %08lx\n"
+
+#~ msgid " cputype   : %08lx (%s)\n"
+#~ msgstr " prosessorityyppi    : %08lx (%s)\n"
+
+#~ msgid " filetype  : %08lx (%s)\n"
+#~ msgstr " tiedostotyyppi      : %08lx (%s)\n"
+
+#~ msgid " ncmds     : %08lx (%lu)\n"
+#~ msgstr "ncmds                : %08lx (%lu)\n"
+
+#~ msgid " sizeofcmds: %08lx\n"
+#~ msgstr " komentojenkoko      : %08lx\n"
+
+#~ msgid " flags     : %08lx ("
+#~ msgstr " liput               : %08lx ("
+
+#~ msgid " reserved  : %08x\n"
+#~ msgstr " varattu   : %08x\n"
+
+#~ msgid "Segments and Sections:\n"
+#~ msgstr "Segmentit ja lohkot:\n"
+
+#~ msgid " #: Segment name     Section name     Address\n"
+#~ msgstr " #: Segmenttinimi     Lohkonnimi       Osoite\n"
+
+#~ msgid "Symbol %s replaced by %s\n"
+#~ msgstr "Symboli %s korvattu kohteella %s\n"
 
 #~ msgid "%B(%A+0x%lx): cannot reach %s"
 #~ msgstr "%B(%A+0x%lx): kohdetta %s ei voi tavoittaa"
@@ -6392,7 +6864,7 @@ msgstr "%B: DataDictionary[9]:ia ei voi 
 #~ msgstr "VIRHE: %B: Yhteensopimaton objektitunnus â€�%sâ€�:%d"
 
 #~ msgid "%B(%A): warning: unresolvable relocation against symbol `%s'"
-#~ msgstr "%B(%A): varoitus: ratkaisematon sijoitus symbolia â€�%sâ€� varten"
+#~ msgstr "%B(%A): varoitus: ratkaisematon sijoitus kÃ¤yttÃ¤en symbolia â€�%sâ€�"
 
 #~ msgid "%B: Internal inconsistency; no relocation section %s"
 #~ msgstr "%B: SisÃ¤inen epÃ¤johdonmukaisuus; ei sijoituslohkoa %s"
@@ -6431,13 +6903,16 @@ msgstr "%B: DataDictionary[9]:ia ei voi 
 #~ msgstr "VIRHE: %B: Ristiriitaisia wchar_t-mÃ¤Ã¤rittelyjÃ¤"
 
 #~ msgid "%B: relocation R_X86_64_PC32 against protected function `%s' can not be used when making a shared object"
-#~ msgstr "%B: sijoitusta R_X86_64_PC32 suojattua funktiota â€�%sâ€� varten ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia"
-
-#~ msgid "%B: unable to initialize compress status for section %s"
-#~ msgstr "%B: ei kyetÃ¤ alustamaan tiivistystilaa lohkolle %s"
-
-#~ msgid "%B: unable to initialize decompress status for section %s"
-#~ msgstr "%B: ei kyetÃ¤ alustamaan tiivistyksenpurkutilaa lohkolle %s"
+#~ msgstr "%B: sijoitusta R_X86_64_PC32 kÃ¤yttÃ¤en suojattua funktiota â€�%sâ€� ei voida kÃ¤yttÃ¤Ã¤ kun tehdÃ¤Ã¤n jaettua objektia"
 
 #~ msgid "R_FRV_GETTLSOFF_RELAX not applied to a call instruction"
 #~ msgstr "R_FRV_GETTLSOFF_RELAX ei sovelleta kutsukÃ¤skyyn"
+
+#~ msgid "%B: %s accessed both as normal and thread local symbol"
+#~ msgstr "%B: %s haettu sekÃ¤ normaalina ettÃ¤ sÃ¤ikeisenÃ¤ paikallissymbolina"
+
+#~ msgid "Linker: error: Cannot fix ex9 relocation\n"
+#~ msgstr "Linkkeri: virhe: ex9-sijoituksen korjaus epÃ¤onnistui\n"
+
+#~ msgid "Linker: error: Cannot init ex9 hash table\n"
+#~ msgstr "Linkkeri: virhe: ex9-tiivistetauluvirheen alustus epÃ¤onnistui\n"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/po/Make-in ./bfd/po/Make-in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/po/Make-in	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/po/Make-in	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 # Makefile for program source directory in GNU NLS utilities package.
 # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2015 Free Software Foundation, Inc.
 #
 # This file may be copied and used freely without restrictions.  It can
 # be used in projects which are not available under the GNU Public License
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/po/SRC-POTFILES.in ./bfd/po/SRC-POTFILES.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/po/SRC-POTFILES.in	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/po/SRC-POTFILES.in	2015-01-20 02:05:36.000000000 +0000
@@ -29,6 +29,7 @@ coff-alpha.c
 coff-apollo.c
 coff-arm.c
 coff-aux.c
+coff-bfd.c
 coff-go32.c
 coff-h8300.c
 coff-h8500.c
@@ -134,6 +135,7 @@ cpu-tilepro.c
 cpu-v850.c
 cpu-v850_rh850.c
 cpu-vax.c
+cpu-visium.c
 cpu-w65.c
 cpu-we32k.c
 cpu-xc16x.c
@@ -222,6 +224,7 @@ elf32-tilegx.c
 elf32-tilepro.c
 elf32-v850.c
 elf32-vax.c
+elf32-visium.c
 elf32-xc16x.c
 elf32-xgate.c
 elf32-xstormy16.c
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/PORTING ./bfd/PORTING
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/PORTING	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/PORTING	2015-01-20 02:05:35.000000000 +0000
@@ -19,7 +19,7 @@ You need to create <target>.c and config
 and add a case for it to a case statements in bfd/configure.host and
 bfd/config.bfd, which associates each canonical host type with a BFD
 host type (used as the base of the makefile fragment names), and to the
-table in bfd/configure.in which associates each target vector with
+table in bfd/configure.ac which associates each target vector with
 the .o files it uses.
 
 config/<target>.mt is a Makefile fragment.
@@ -29,7 +29,7 @@ SELECT_ARCHITECTURES=bfd_<cpu>_arch
 
 See the list of cpu types in archures.c, or "ls cpu-*.c".
 If your architecture is new, you need to add it to the tables
-in bfd/archures.c, opcodes/configure.in, and binutils/objdump.c.
+in bfd/archures.c, opcodes/configure.ac, and binutils/objdump.c.
 
 For more information about .mt and .mh files, see config/README.
 
@@ -82,7 +82,7 @@ TARGETNAME
 	The name of the target, for run-time lookups.
 	Usually "a.out-<target>"
 
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ppcboot.c ./bfd/ppcboot.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ppcboot.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ppcboot.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for PPCbug boot records.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Michael Meissner, Cygnus Support, <meissner@cygnus.com>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -326,11 +326,14 @@ ppcboot_get_symbol_info (bfd *ignore_abf
   bfd_symbol_info (symbol, ret);
 }
 
+#define ppcboot_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
 #define ppcboot_bfd_is_target_special_symbol \
   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 #define ppcboot_bfd_is_local_label_name bfd_generic_is_local_label_name
 #define ppcboot_get_lineno _bfd_nosymbols_get_lineno
 #define ppcboot_find_nearest_line _bfd_nosymbols_find_nearest_line
+#define ppcboot_find_line _bfd_nosymbols_find_line
 #define ppcboot_find_inliner_info _bfd_nosymbols_find_inliner_info
 #define ppcboot_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
 #define ppcboot_read_minisymbols _bfd_generic_read_minisymbols
@@ -454,7 +457,6 @@ ppcboot_bfd_print_private_bfd_data (bfd 
   _bfd_generic_section_already_linked
 #define ppcboot_bfd_define_common_symbol bfd_generic_define_common_symbol
 #define ppcboot_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
-#define ppcboot_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
 #define ppcboot_bfd_link_add_symbols _bfd_generic_link_add_symbols
 #define ppcboot_bfd_link_just_syms _bfd_generic_link_just_syms
 #define ppcboot_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ptrace-core.c ./bfd/ptrace-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/ptrace-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/ptrace-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for core files which use the ptrace_user structure
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    The structure of this file is based on trad-core.c written by John Gilmore
    of Cygnus Support.
    Modified to work with the ptrace_user structure by Kevin A. Buettner.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/README ./bfd/README
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/README	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/README	2015-01-20 02:05:35.000000000 +0000
@@ -48,7 +48,7 @@ gcc manual.
 Bug reports without patches will be remembered, but they may never get
 fixed until somebody volunteers to fix them.
 
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/reloc16.c ./bfd/reloc16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/reloc16.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/reloc16.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* 8 and 16 bit COFF relocation functions, for BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/reloc.c ./bfd/reloc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/reloc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/reloc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for handling relocation entries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -437,6 +437,7 @@ bfd_get_reloc_size (reloc_howto_type *ho
     case 3: return 0;
     case 4: return 8;
     case 8: return 16;
+    case -1: return 2;
     case -2: return 4;
     default: abort ();
     }
@@ -592,6 +593,10 @@ bfd_perform_relocation (bfd *abfd,
       return bfd_reloc_ok;
     }
 
+  /* PR 17512: file: 0f67f69d.  */
+  if (howto == NULL)
+    return bfd_reloc_undefined;
+
   /* If we are not producing relocatable output, return an error if
      the symbol is not defined.  An undefined weak symbol is
      considered to have a value of zero (SVR4 ABI, p. 4-27).  */
@@ -614,7 +619,11 @@ bfd_perform_relocation (bfd *abfd,
     }
 
   /* Is the address of the relocation really within the section?  */
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
+  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section)
+      /* PR 17512: file: c146ab8b.
+	 PR 17512: file: 46dff27f.
+	 Include the size of the reloc in the test for out of range addresses.  */
+      - bfd_get_reloc_size (howto))
     return bfd_reloc_outofrange;
 
   /* Work out which section the relocation is targeted at and the
@@ -2289,6 +2298,17 @@ ENUMDOC
   microMIPS PC-relative relocations.
 
 ENUM
+  BFD_RELOC_MIPS_21_PCREL_S2
+ENUMX
+  BFD_RELOC_MIPS_26_PCREL_S2
+ENUMX
+  BFD_RELOC_MIPS_18_PCREL_S3
+ENUMX
+  BFD_RELOC_MIPS_19_PCREL_S2
+ENUMDOC
+  MIPS PC-relative relocations.
+
+ENUM
   BFD_RELOC_MICROMIPS_GPREL16
 ENUMX
   BFD_RELOC_MICROMIPS_HI16
@@ -3989,6 +4009,20 @@ ENUMX
   BFD_RELOC_NDS32_17_FIXED
 ENUMX
   BFD_RELOC_NDS32_25_FIXED
+ENUMX
+  BFD_RELOC_NDS32_LONGCALL4
+ENUMX
+  BFD_RELOC_NDS32_LONGCALL5
+ENUMX
+  BFD_RELOC_NDS32_LONGCALL6
+ENUMX
+  BFD_RELOC_NDS32_LONGJUMP4
+ENUMX
+  BFD_RELOC_NDS32_LONGJUMP5
+ENUMX
+  BFD_RELOC_NDS32_LONGJUMP6
+ENUMX
+  BFD_RELOC_NDS32_LONGJUMP7
 ENUMDOC
   for relax
 ENUM
@@ -4091,8 +4125,14 @@ ENUMX
 ENUMX
   BFD_RELOC_NDS32_DIFF_ULEB128
 ENUMX
+  BFD_RELOC_NDS32_EMPTY
+ENUMDOC
+  relaxation relative relocation types
+ENUM
   BFD_RELOC_NDS32_25_ABS
-ENUMX
+ENUMDOC
+  This is a 25 bit absolute address.
+ENUM
   BFD_RELOC_NDS32_DATA
 ENUMX
   BFD_RELOC_NDS32_TRAN
@@ -4101,7 +4141,35 @@ ENUMX
 ENUMX
   BFD_RELOC_NDS32_10IFCU_PCREL
 ENUMDOC
-  relaxation relative relocation types
+  For ex9 and ifc using.
+ENUM
+  BFD_RELOC_NDS32_TPOFF
+ENUMX
+  BFD_RELOC_NDS32_TLS_LE_HI20
+ENUMX
+  BFD_RELOC_NDS32_TLS_LE_LO12
+ENUMX
+  BFD_RELOC_NDS32_TLS_LE_ADD
+ENUMX
+  BFD_RELOC_NDS32_TLS_LE_LS
+ENUMX
+  BFD_RELOC_NDS32_GOTTPOFF
+ENUMX
+  BFD_RELOC_NDS32_TLS_IE_HI20
+ENUMX
+  BFD_RELOC_NDS32_TLS_IE_LO12S2
+ENUMX
+  BFD_RELOC_NDS32_TLS_TPOFF
+ENUMX
+  BFD_RELOC_NDS32_TLS_LE_20
+ENUMX
+  BFD_RELOC_NDS32_TLS_LE_15S0
+ENUMX
+  BFD_RELOC_NDS32_TLS_LE_15S1
+ENUMX
+  BFD_RELOC_NDS32_TLS_LE_15S2
+ENUMDOC
+  For TLS.
 
 
 ENUM
@@ -4790,6 +4858,21 @@ ENUMDOC
   second symbol so the linker can determine whether to adjust the field
   value.
 ENUM
+  BFD_RELOC_AVR_LDS_STS_16
+ENUMDOC
+  This is a 7 bit reloc for the AVR that stores SRAM address for 16bit
+  lds and sts instructions supported only tiny core.
+ENUM
+  BFD_RELOC_AVR_PORT6
+ENUMDOC
+  This is a 6 bit reloc for the AVR that stores an I/O register
+  number for the IN and OUT instructions
+ENUM
+  BFD_RELOC_AVR_PORT5
+ENUMDOC
+  This is a 5 bit reloc for the AVR that stores an I/O register
+  number for the SBIC, SBIS, SBI and CBI instructions
+ENUM
   BFD_RELOC_RL78_NEG8
 ENUMX
   BFD_RELOC_RL78_NEG16
@@ -7223,6 +7306,7 @@ ENUMX
   BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD
 ENUMDOC
   Tilera TILE-Gx Relocations.
+
 ENUM
   BFD_RELOC_EPIPHANY_SIMM8
 ENUMDOC
@@ -7252,6 +7336,22 @@ ENUM
 ENUMDOC
   Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction.
 
+ENUM
+  BFD_RELOC_VISIUM_HI16
+ENUMX
+  BFD_RELOC_VISIUM_LO16
+ENUMX
+  BFD_RELOC_VISIUM_IM16
+ENUMX
+  BFD_RELOC_VISIUM_REL16
+ENUMX
+  BFD_RELOC_VISIUM_HI16_PCREL
+ENUMX
+  BFD_RELOC_VISIUM_LO16_PCREL
+ENUMX
+  BFD_RELOC_VISIUM_IM16_PCREL
+ENUMDOC
+  Visium Relocations.
 
 ENDSENUM
   BFD_RELOC_UNUSED
@@ -7581,6 +7681,15 @@ bfd_generic_get_relocated_section_conten
 		     abfd, input_section, * parent);
 		  goto error_return;
 
+		case bfd_reloc_notsupported:
+		  /* PR ld/17512
+		     This error can result when processing a corrupt binary.
+		     Do not abort.  Issue an error message instead.  */
+		  link_info->callbacks->einfo
+		    (_("%X%P: %B(%A): relocation \"%R\" is not supported\n"),
+		     abfd, input_section, * parent);
+		  goto error_return;
+
 		default:
 		  abort ();
 		  break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/riscix.c ./bfd/riscix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/riscix.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/riscix.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for RISC iX (Acorn, arm) binaries.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/rs6000-core.c ./bfd/rs6000-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/rs6000-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/rs6000-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* IBM RS/6000 "XCOFF" back-end for BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Metin G. Ozisik, Mimi Phuong-Thao Vo, and John Gilmore.
    Archive support from Damon A. Permezel.
    Contributed by IBM Corporation and Cygnus Support.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sco5-core.c ./bfd/sco5-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sco5-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/sco5-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back end for SCO5 core files (U-area and raw sections)
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Written by Jouke Numan <jnuman@hiscom.nl>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/section.c ./bfd/section.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/section.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/section.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Object file "section" support for the BFD library.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/simple.c ./bfd/simple.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/simple.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/simple.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* simple.c -- BFD simple client routines
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by MontaVista Software, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -188,6 +188,7 @@ bfd_simple_get_relocated_section_content
   bfd_byte *contents, *data;
   int storage_needed;
   struct saved_offsets saved_offsets;
+  bfd *link_next;
 
   /* Don't apply relocation on executable and shared library.  See
      PR 4756.  */
@@ -207,8 +208,10 @@ bfd_simple_get_relocated_section_content
   memset (&link_info, 0, sizeof (link_info));
   link_info.output_bfd = abfd;
   link_info.input_bfds = abfd;
-  link_info.input_bfds_tail = &abfd->link_next;
+  link_info.input_bfds_tail = &abfd->link.next;
 
+  link_next = abfd->link.next;
+  abfd->link.next = NULL;
   link_info.hash = _bfd_generic_link_hash_table_create (abfd);
   link_info.callbacks = &callbacks;
   callbacks.warning = simple_dummy_warning;
@@ -232,7 +235,11 @@ bfd_simple_get_relocated_section_content
       bfd_size_type amt = sec->rawsize > sec->size ? sec->rawsize : sec->size;
       data = (bfd_byte *) bfd_malloc (amt);
       if (data == NULL)
-	return NULL;
+	{
+	  _bfd_generic_link_hash_table_free (abfd);
+	  abfd->link.next = link_next;
+	  return NULL;
+	}
       outbuf = data;
     }
 
@@ -243,6 +250,8 @@ bfd_simple_get_relocated_section_content
     {
       if (data)
 	free (data);
+      _bfd_generic_link_hash_table_free (abfd);
+      abfd->link.next = link_next;
       return NULL;
     }
   bfd_map_over_sections (abfd, simple_save_output_info, &saved_offsets);
@@ -270,6 +279,7 @@ bfd_simple_get_relocated_section_content
   bfd_map_over_sections (abfd, simple_restore_output_info, &saved_offsets);
   free (saved_offsets.sections);
 
-  _bfd_generic_link_hash_table_free (link_info.hash);
+  _bfd_generic_link_hash_table_free (abfd);
+  abfd->link.next = link_next;
   return contents;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/som.c ./bfd/som.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/som.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/som.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfd back-end for HP PA-RISC SOM objects.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by the Center for Software Science at the
    University of Utah.
@@ -5715,18 +5715,22 @@ som_set_arch_mach (bfd *abfd,
 
 static bfd_boolean
 som_find_nearest_line (bfd *abfd,
-		       asection *section,
 		       asymbol **symbols,
+		       asection *section,
 		       bfd_vma offset,
 		       const char **filename_ptr,
 		       const char **functionname_ptr,
-		       unsigned int *line_ptr)
+		       unsigned int *line_ptr,
+		       unsigned int *discriminator_ptr)
 {
   bfd_boolean found;
   asymbol *func;
   bfd_vma low_func;
   asymbol **p;
 
+  if (discriminator_ptr)
+    *discriminator_ptr = 0;
+
   if (! _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset,
                                              & found, filename_ptr,
                                              functionname_ptr, line_ptr,
@@ -6713,6 +6717,8 @@ som_bfd_link_split_section (bfd *abfd AT
   return som_is_subspace (sec) && sec->size > 240000;
 }
 
+#define som_find_line			        _bfd_nosymbols_find_line
+#define som_get_symbol_version_string		_bfd_nosymbols_get_symbol_version_string
 #define	som_close_and_cleanup		        som_bfd_free_cached_info
 #define som_read_ar_hdr			        _bfd_generic_read_ar_hdr
 #define som_write_ar_hdr		        _bfd_generic_write_ar_hdr
@@ -6732,7 +6738,6 @@ som_bfd_link_split_section (bfd *abfd AT
 #define som_bfd_get_relocated_section_contents  bfd_generic_get_relocated_section_contents
 #define som_bfd_relax_section                   bfd_generic_relax_section
 #define som_bfd_link_hash_table_create          _bfd_generic_link_hash_table_create
-#define som_bfd_link_hash_table_free            _bfd_generic_link_hash_table_free
 #define som_bfd_link_add_symbols                _bfd_generic_link_add_symbols
 #define som_bfd_link_just_syms                  _bfd_generic_link_just_syms
 #define som_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/som.h ./bfd/som.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/som.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/som.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* HP PA-RISC SOM object file format:  definitions internal to BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by the Center for Software Science at the
    University of Utah (pa-gdb-bugs@cs.utah.edu).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sparclinux.c ./bfd/sparclinux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sparclinux.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/sparclinux.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for linux flavored sparc a.out binaries.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sparclynx.c ./bfd/sparclynx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sparclynx.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/sparclynx.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD support for Sparc binaries under LynxOS.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sparcnetbsd.c ./bfd/sparcnetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sparcnetbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/sparcnetbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for NetBSD/sparc a.out-ish binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/srec.c ./bfd/srec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/srec.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/srec.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for s-record objects.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -246,7 +246,7 @@ srec_bad_byte (bfd *abfd,
     }
   else
     {
-      char buf[10];
+      char buf[40];
 
       if (! ISPRINT (c))
 	sprintf (buf, "\\%03o", (unsigned int) c);
@@ -452,8 +452,8 @@ srec_scan (bfd *abfd)
 	case 'S':
 	  {
 	    file_ptr pos;
-	    char hdr[3];
-	    unsigned int bytes;
+	    unsigned char hdr[3];
+	    unsigned int bytes, min_bytes;
 	    bfd_vma address;
 	    bfd_byte *data;
 	    unsigned char check_sum;
@@ -476,6 +476,19 @@ srec_scan (bfd *abfd)
 	      }
 
 	    check_sum = bytes = HEX (hdr + 1);
+	    min_bytes = 3;
+	    if (hdr[0] == '2' || hdr[0] == '8')
+	      min_bytes = 4;
+	    else if (hdr[0] == '3' || hdr[0] == '7')
+	      min_bytes = 5;
+	    if (bytes < min_bytes)
+	      {
+		(*_bfd_error_handler) (_("%B:%d: byte count %d too small\n"),
+				       abfd, lineno, bytes);
+		bfd_set_error (bfd_error_bad_value);
+		goto error_return;
+	      }
+
 	    if (bytes * 2 > bufsize)
 	      {
 		if (buf != NULL)
@@ -1242,8 +1255,10 @@ srec_print_symbol (bfd *abfd,
 #define srec_bfd_is_local_label_name              bfd_generic_is_local_label_name
 #define srec_get_lineno                           _bfd_nosymbols_get_lineno
 #define srec_find_nearest_line                    _bfd_nosymbols_find_nearest_line
+#define srec_find_line                            _bfd_nosymbols_find_line
 #define srec_find_inliner_info                    _bfd_nosymbols_find_inliner_info
 #define srec_make_empty_symbol                    _bfd_generic_make_empty_symbol
+#define srec_get_symbol_version_string		  _bfd_nosymbols_get_symbol_version_string
 #define srec_bfd_make_debug_symbol                _bfd_nosymbols_bfd_make_debug_symbol
 #define srec_read_minisymbols                     _bfd_generic_read_minisymbols
 #define srec_minisymbol_to_symbol                 _bfd_generic_minisymbol_to_symbol
@@ -1258,7 +1273,6 @@ srec_print_symbol (bfd *abfd,
 #define srec_section_already_linked               _bfd_generic_section_already_linked
 #define srec_bfd_define_common_symbol             bfd_generic_define_common_symbol
 #define srec_bfd_link_hash_table_create           _bfd_generic_link_hash_table_create
-#define srec_bfd_link_hash_table_free             _bfd_generic_link_hash_table_free
 #define srec_bfd_link_add_symbols                 _bfd_generic_link_add_symbols
 #define srec_bfd_link_just_syms                   _bfd_generic_link_just_syms
 #define srec_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/stabs.c ./bfd/stabs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/stabs.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/stabs.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Stabs in sections linking support.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -536,7 +536,7 @@ _bfd_discard_section_stabs (bfd *abfd,
        link, so we should just ignore them.  */
     return FALSE;
 
-  /* We should have initialized our data in _bfd_link_stab_sections.
+  /* We should have initialized our data in _bfd_link_section_stabs.
      If there was some bizarre error reading the string sections, though,
      we might not have.  Bail rather than asserting.  */
   if (psecinfo == NULL)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/stab-syms.c ./bfd/stab-syms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/stab-syms.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/stab-syms.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table of stab names for the BFD library.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sunos.c ./bfd/sunos.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sunos.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/sunos.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for SunOS binaries.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -1891,7 +1891,7 @@ bfd_sunos_size_dynamic_sections (bfd *ou
      to determine the number of dynamic relocs we need, and, more
      importantly, there is no other way to know which symbols should
      get an entry in the procedure linkage table.  */
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       if ((sub->flags & DYNAMIC) == 0
 	  && sub->xvec == output_bfd->xvec)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/syms.c ./bfd/syms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/syms.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/syms.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic symbol-table support for the BFD library.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -823,6 +823,7 @@ _bfd_generic_read_minisymbols (bfd *abfd
 
   *minisymsp = syms;
   *sizep = sizeof (asymbol *);
+
   return symcount;
 
  error_return:
@@ -1191,6 +1192,8 @@ _bfd_stab_section_find_nearest_line (bfd
 		{
 		  nul_fun = stab;
 		  nul_str = str;
+		  if (file_name >= (char *) info->strs + strsize)
+		    file_name = NULL;
 		  if (stab + STABSIZE + TYPEOFF < info->stabs + stabsize
 		      && *(stab + STABSIZE + TYPEOFF) == (bfd_byte) N_SO)
 		    {
@@ -1200,6 +1203,8 @@ _bfd_stab_section_find_nearest_line (bfd
 		      directory_name = file_name;
 		      file_name = ((char *) str
 				   + bfd_get_32 (abfd, stab + STRDXOFF));
+		      if (file_name >= (char *) info->strs + strsize)
+			file_name = NULL;
 		    }
 		}
 	      break;
@@ -1207,6 +1212,9 @@ _bfd_stab_section_find_nearest_line (bfd
 	    case N_SOL:
 	      /* The name of an include file.  */
 	      file_name = (char *) str + bfd_get_32 (abfd, stab + STRDXOFF);
+	      /* PR 17512: file: 0c680a1f.  */
+	      if (file_name >= (char *) info->strs + strsize)
+		file_name = NULL;
 	      break;
 
 	    case N_FUN:
@@ -1214,6 +1222,8 @@ _bfd_stab_section_find_nearest_line (bfd
 	      function_name = (char *) str + bfd_get_32 (abfd, stab + STRDXOFF);
 	      if (function_name == (char *) str)
 		continue;
+	      if (function_name >= (char *) info->strs + strsize)
+		function_name = NULL;
 
 	      nul_fun = NULL;
 	      info->indextable[i].val = bfd_get_32 (abfd, stab + VALOFF);
@@ -1321,6 +1331,8 @@ _bfd_stab_section_find_nearest_line (bfd
 	  if (val <= offset)
 	    {
 	      file_name = (char *) str + bfd_get_32 (abfd, stab + STRDXOFF);
+	      if (file_name >= (char *) info->strs + strsize)
+		file_name = NULL;
 	      *pline = 0;
 	    }
 	  break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sysdep.h ./bfd/sysdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/sysdep.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/sysdep.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* sysdep.h -- handle host dependencies for the BFD library
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/targets.c ./bfd/targets.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/targets.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/targets.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic target-file-type support for the BFD library.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -363,12 +363,12 @@ BFD_JUMP_TABLE macros.
 .  NAME##_make_empty_symbol, \
 .  NAME##_print_symbol, \
 .  NAME##_get_symbol_info, \
+.  NAME##_get_symbol_version_string, \
 .  NAME##_bfd_is_local_label_name, \
 .  NAME##_bfd_is_target_special_symbol, \
 .  NAME##_get_lineno, \
 .  NAME##_find_nearest_line, \
-.  _bfd_generic_find_nearest_line_discriminator, \
-.  _bfd_generic_find_line, \
+.  NAME##_find_line, \
 .  NAME##_find_inliner_info, \
 .  NAME##_bfd_make_debug_symbol, \
 .  NAME##_read_minisymbols, \
@@ -385,14 +385,14 @@ BFD_JUMP_TABLE macros.
 .  void        (*_bfd_get_symbol_info)
 .    (bfd *, struct bfd_symbol *, symbol_info *);
 .#define bfd_get_symbol_info(b,p,e) BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
+.  const char *(*_bfd_get_symbol_version_string)
+.    (bfd *, struct bfd_symbol *, bfd_boolean *);
+.#define bfd_get_symbol_version_string(b,s,h) BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,h))
 .  bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
 .  bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
 .  alent *     (*_get_lineno) (bfd *, struct bfd_symbol *);
 .  bfd_boolean (*_bfd_find_nearest_line)
-.    (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
-.     const char **, const char **, unsigned int *);
-.  bfd_boolean (*_bfd_find_nearest_line_discriminator)
-.    (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
+.    (bfd *, struct bfd_symbol **, struct bfd_section *, bfd_vma,
 .     const char **, const char **, unsigned int *, unsigned int *);
 .  bfd_boolean (*_bfd_find_line)
 .    (bfd *, struct bfd_symbol **, struct bfd_symbol *,
@@ -446,7 +446,6 @@ BFD_JUMP_TABLE macros.
 .  NAME##_bfd_get_relocated_section_contents, \
 .  NAME##_bfd_relax_section, \
 .  NAME##_bfd_link_hash_table_create, \
-.  NAME##_bfd_link_hash_table_free, \
 .  NAME##_bfd_link_add_symbols, \
 .  NAME##_bfd_link_just_syms, \
 .  NAME##_bfd_copy_link_hash_symbol_type, \
@@ -473,16 +472,14 @@ BFD_JUMP_TABLE macros.
 .  struct bfd_link_hash_table *
 .              (*_bfd_link_hash_table_create) (bfd *);
 .
-.  {* Release the memory associated with the linker hash table.  *}
-.  void        (*_bfd_link_hash_table_free) (struct bfd_link_hash_table *);
-.
 .  {* Add symbols from this object file into the hash table.  *}
 .  bfd_boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *);
 .
 .  {* Indicate that we are only retrieving symbol values from this section.  *}
 .  void        (*_bfd_link_just_syms) (asection *, struct bfd_link_info *);
 .
-.  {* Copy the symbol type of a linker hash table entry.  *}
+.  {* Copy the symbol type and other attributes for a linker script
+.     assignment of one symbol to another.  *}
 .#define bfd_copy_link_hash_symbol_type(b, t, f) \
 .  BFD_SEND (b, _bfd_copy_link_hash_symbol_type, (b, t, f))
 .  void (*_bfd_copy_link_hash_symbol_type)
@@ -879,6 +876,7 @@ extern const bfd_target vax_aout_1knbsd_
 extern const bfd_target vax_aout_bsd_vec;
 extern const bfd_target vax_aout_nbsd_vec;
 extern const bfd_target vax_elf32_vec;
+extern const bfd_target visium_elf32_vec;
 extern const bfd_target w65_coff_vec;
 extern const bfd_target we32k_coff_vec;
 extern const bfd_target x86_64_coff_vec;
@@ -934,7 +932,7 @@ static const bfd_target * const _bfd_tar
 #endif
 	/* This list is alphabetized to make it easy to compare
 	   with other vector lists -- the decls above and
-	   the case statement in configure.in.
+	   the case statement in configure.ac.
 	   Try to keep it in order when adding new targets, and
 	   use a name of the form <cpu>_<format>_<other>_<endian>_vec.
 	   Note that sorting is done as if _<endian>_vec wasn't present.
@@ -1388,6 +1386,8 @@ static const bfd_target * const _bfd_tar
 	&vax_aout_nbsd_vec,
 	&vax_elf32_vec,
 
+	&visium_elf32_vec,
+
 	&w65_coff_vec,
 
 	&we32k_coff_vec,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/tekhex.c ./bfd/tekhex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/tekhex.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/tekhex.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD backend for Extended Tektronix Hex Format  objects.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -246,11 +246,12 @@ struct tekhex_data_list_struct
 typedef struct tekhex_data_list_struct tekhex_data_list_type;
 
 #define CHUNK_MASK 0x1fff
+#define CHUNK_SPAN 32
 
 struct data_struct
 {
-  char chunk_data[CHUNK_MASK + 1];
-  char chunk_init[CHUNK_MASK + 1];
+  unsigned char chunk_data[CHUNK_MASK + 1];
+  unsigned char chunk_init[(CHUNK_MASK + 1 + CHUNK_SPAN - 1) / CHUNK_SPAN];
   bfd_vma vma;
   struct data_struct *next;
 };
@@ -266,7 +267,7 @@ typedef struct tekhex_data_struct
 #define enda(x) (x->vma + x->size)
 
 static bfd_boolean
-getvalue (char **srcp, bfd_vma *valuep)
+getvalue (char **srcp, bfd_vma *valuep, char * endp)
 {
   char *src = *srcp;
   bfd_vma value = 0;
@@ -278,7 +279,7 @@ getvalue (char **srcp, bfd_vma *valuep)
   len = hex_value (*src++);
   if (len == 0)
     len = 16;
-  while (len--)
+  while (len-- && src < endp)
     {
       if (!ISHEX (*src))
 	return FALSE;
@@ -287,11 +288,11 @@ getvalue (char **srcp, bfd_vma *valuep)
 
   *srcp = src;
   *valuep = value;
-  return TRUE;
+  return len == -1U;
 }
 
 static bfd_boolean
-getsym (char *dstp, char **srcp, unsigned int *lenp)
+getsym (char *dstp, char **srcp, unsigned int *lenp, char * endp)
 {
   char *src = *srcp;
   unsigned int i;
@@ -303,16 +304,16 @@ getsym (char *dstp, char **srcp, unsigne
   len = hex_value (*src++);
   if (len == 0)
     len = 16;
-  for (i = 0; i < len; i++)
+  for (i = 0; i < len && src < endp; i++)
     dstp[i] = src[i];
   dstp[i] = 0;
   *srcp = src + i;
   *lenp = len;
-  return TRUE;
+  return i == len;
 }
 
 static struct data_struct *
-find_chunk (bfd *abfd, bfd_vma vma)
+find_chunk (bfd *abfd, bfd_vma vma, bfd_boolean create)
 {
   struct data_struct *d = abfd->tdata.tekhex_data->data;
 
@@ -320,7 +321,7 @@ find_chunk (bfd *abfd, bfd_vma vma)
   while (d && (d->vma) != vma)
     d = d->next;
 
-  if (!d)
+  if (!d && create)
     {
       /* No chunk for this address, so make one up.  */
       d = (struct data_struct *)
@@ -339,20 +340,23 @@ find_chunk (bfd *abfd, bfd_vma vma)
 static void
 insert_byte (bfd *abfd, int value, bfd_vma addr)
 {
-  /* Find the chunk that this byte needs and put it in.  */
-  struct data_struct *d = find_chunk (abfd, addr);
+  if (value != 0)
+    {
+      /* Find the chunk that this byte needs and put it in.  */
+      struct data_struct *d = find_chunk (abfd, addr, TRUE);
 
-  d->chunk_data[addr & CHUNK_MASK] = value;
-  d->chunk_init[addr & CHUNK_MASK] = 1;
+      d->chunk_data[addr & CHUNK_MASK] = value;
+      d->chunk_init[(addr & CHUNK_MASK) / CHUNK_SPAN] = 1;
+    }
 }
 
 /* The first pass is to find the names of all the sections, and see
   how big the data is.  */
 
 static bfd_boolean
-first_phase (bfd *abfd, int type, char *src)
+first_phase (bfd *abfd, int type, char *src, char * src_end)
 {
-  asection *section = bfd_abs_section_ptr;
+  asection *section, *alt_section;
   unsigned int len;
   bfd_vma val;
   char sym[17];			/* A symbol can only be 16chars long.  */
@@ -364,21 +368,21 @@ first_phase (bfd *abfd, int type, char *
       {
 	bfd_vma addr;
 
-	if (!getvalue (&src, &addr))
+	if (!getvalue (&src, &addr, src_end))
 	  return FALSE;
 
-	while (*src)
+	while (*src && src < src_end - 1)
 	  {
 	    insert_byte (abfd, HEX (src), addr);
 	    src += 2;
 	    addr++;
 	  }
+	return TRUE;
       }
 
-      return TRUE;
     case '3':
       /* Symbol record, read the segment.  */
-      if (!getsym (sym, &src, &len))
+      if (!getsym (sym, &src, &len, src_end))
 	return FALSE;
       section = bfd_get_section_by_name (abfd, sym);
       if (section == NULL)
@@ -392,15 +396,16 @@ first_phase (bfd *abfd, int type, char *
 	  if (section == NULL)
 	    return FALSE;
 	}
+      alt_section = NULL;
       while (*src)
 	{
 	  switch (*src)
 	    {
 	    case '1':		/* Section range.  */
 	      src++;
-	      if (!getvalue (&src, &section->vma))
+	      if (!getvalue (&src, &section->vma, src_end))
 		return FALSE;
-	      if (!getvalue (&src, &val))
+	      if (!getvalue (&src, &val, src_end))
 		return FALSE;
 	      section->size = val - section->vma;
 	      section->flags = SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC;
@@ -427,7 +432,7 @@ first_phase (bfd *abfd, int type, char *
 		abfd->flags |= HAS_SYMS;
 		new_symbol->prev = abfd->tdata.tekhex_data->symbols;
 		abfd->tdata.tekhex_data->symbols = new_symbol;
-		if (!getsym (sym, &src, &len))
+		if (!getsym (sym, &src, &len, src_end))
 		  return FALSE;
 		new_symbol->symbol.name = (const char *)
                     bfd_alloc (abfd, (bfd_size_type) len + 1);
@@ -439,7 +444,43 @@ first_phase (bfd *abfd, int type, char *
 		  new_symbol->symbol.flags = (BSF_GLOBAL | BSF_EXPORT);
 		else
 		  new_symbol->symbol.flags = BSF_LOCAL;
-		if (!getvalue (&src, &val))
+		if (stype == '2' || stype == '6')
+		  new_symbol->symbol.section = bfd_abs_section_ptr;
+		else if (stype == '3' || stype == '7')
+		  {
+		    if ((section->flags & SEC_DATA) == 0)
+		      section->flags |= SEC_CODE;
+		    else
+		      {
+			if (alt_section == NULL)
+			  alt_section = bfd_get_next_section_by_name (section);
+			if (alt_section == NULL)
+			  alt_section = bfd_make_section_anyway_with_flags
+			    (abfd, section->name,
+			     (section->flags & ~SEC_DATA) | SEC_CODE);
+			if (alt_section == NULL)
+			  return FALSE;
+			new_symbol->symbol.section = alt_section;
+		      }
+		  }
+		else if (stype == '4' || stype == '8')
+		  {
+		    if ((section->flags & SEC_CODE) == 0)
+		      section->flags |= SEC_DATA;
+		    else
+		      {
+			if (alt_section == NULL)
+			  alt_section = bfd_get_next_section_by_name (section);
+			if (alt_section == NULL)
+			  alt_section = bfd_make_section_anyway_with_flags
+			    (abfd, section->name,
+			     (section->flags & ~SEC_CODE) | SEC_DATA);
+			if (alt_section == NULL)
+			  return FALSE;
+			new_symbol->symbol.section = alt_section;
+		      }
+		  }
+		if (!getvalue (&src, &val, src_end))
 		  return FALSE;
 		new_symbol->symbol.value = val - section->vma;
 		break;
@@ -457,7 +498,7 @@ first_phase (bfd *abfd, int type, char *
    record.  */
 
 static bfd_boolean
-pass_over (bfd *abfd, bfd_boolean (*func) (bfd *, int, char *))
+pass_over (bfd *abfd, bfd_boolean (*func) (bfd *, int, char *, char *))
 {
   unsigned int chars_on_line;
   bfd_boolean is_eof = FALSE;
@@ -498,8 +539,7 @@ pass_over (bfd *abfd, bfd_boolean (*func
 
       /* Put a null at the end.  */
       src[chars_on_line] = 0;
-
-      if (!func (abfd, type, src))
+      if (!func (abfd, type, src, src + chars_on_line))
 	return FALSE;
     }
 
@@ -589,22 +629,26 @@ move_section_contents (bfd *abfd,
       /* Get high bits of address.  */
       bfd_vma chunk_number = addr & ~(bfd_vma) CHUNK_MASK;
       bfd_vma low_bits = addr & CHUNK_MASK;
+      bfd_boolean must_write = !get && *location != 0;
 
-      if (chunk_number != prev_number)
-	/* Different chunk, so move pointer. */
-	d = find_chunk (abfd, chunk_number);
+      if (chunk_number != prev_number || (!d && must_write))
+	{
+	  /* Different chunk, so move pointer. */
+	  d = find_chunk (abfd, chunk_number, must_write);
+	  prev_number = chunk_number;
+	}
 
       if (get)
 	{
-	  if (d->chunk_init[low_bits])
+	  if (d)
 	    *location = d->chunk_data[low_bits];
 	  else
 	    *location = 0;
 	}
-      else
+      else if (must_write)
 	{
 	  d->chunk_data[low_bits] = *location;
-	  d->chunk_init[low_bits] = (*location != 0);
+	  d->chunk_init[low_bits / CHUNK_SPAN] = 1;
 	}
 
       location++;
@@ -632,7 +676,9 @@ tekhex_set_arch_mach (bfd *abfd,
 		      enum bfd_architecture arch,
 		      unsigned long machine)
 {
-  return bfd_default_set_arch_mach (abfd, arch, machine);
+  /* Ignore errors about unknown architecture.  */
+  return (bfd_default_set_arch_mach (abfd, arch, machine)
+	  || arch == bfd_arch_unknown);
 }
 
 /* We have to save up all the Tekhexords for a splurge before output.  */
@@ -644,24 +690,6 @@ tekhex_set_section_contents (bfd *abfd,
 			     file_ptr offset,
 			     bfd_size_type bytes_to_do)
 {
-  if (! abfd->output_has_begun)
-    {
-      /* The first time around, allocate enough sections to hold all the chunks.  */
-      asection *s = abfd->sections;
-      bfd_vma vma;
-
-      for (s = abfd->sections; s; s = s->next)
-	{
-	  if (s->flags & SEC_LOAD)
-	    {
-	      for (vma = s->vma & ~(bfd_vma) CHUNK_MASK;
-		   vma < s->vma + s->size;
-		   vma += CHUNK_MASK)
-		find_chunk (abfd, vma);
-	    }
-	}
-    }
-
   if (section->flags & (SEC_LOAD | SEC_ALLOC))
     {
       move_section_contents (abfd, section, locationp, offset, bytes_to_do,
@@ -772,26 +800,17 @@ tekhex_write_object_contents (bfd *abfd)
        d = d->next)
     {
       int low;
-
-      const int span = 32;
       int addr;
 
       /* Write it in blocks of 32 bytes.  */
-      for (addr = 0; addr < CHUNK_MASK + 1; addr += span)
+      for (addr = 0; addr < CHUNK_MASK + 1; addr += CHUNK_SPAN)
 	{
-	  int need = 0;
-
-	  /* Check to see if necessary.  */
-	  for (low = 0; !need && low < span; low++)
-	    if (d->chunk_init[addr + low])
-	      need = 1;
-
-	  if (need)
+	  if (d->chunk_init[addr / CHUNK_SPAN])
 	    {
 	      char *dst = buffer;
 
 	      writevalue (&dst, addr + d->vma);
-	      for (low = 0; low < span; low++)
+	      for (low = 0; low < CHUNK_SPAN; low++)
 		{
 		  TOHEX (dst, d->chunk_data[addr + low]);
 		  dst += 2;
@@ -935,7 +954,9 @@ tekhex_print_symbol (bfd *abfd,
 #define tekhex_bfd_is_local_label_name               bfd_generic_is_local_label_name
 #define tekhex_get_lineno                           _bfd_nosymbols_get_lineno
 #define tekhex_find_nearest_line                    _bfd_nosymbols_find_nearest_line
+#define tekhex_find_line                            _bfd_nosymbols_find_line
 #define tekhex_find_inliner_info                    _bfd_nosymbols_find_inliner_info
+#define tekhex_get_symbol_version_string	    _bfd_nosymbols_get_symbol_version_string
 #define tekhex_bfd_make_debug_symbol                _bfd_nosymbols_bfd_make_debug_symbol
 #define tekhex_read_minisymbols                     _bfd_generic_read_minisymbols
 #define tekhex_minisymbol_to_symbol                 _bfd_generic_minisymbol_to_symbol
@@ -949,7 +970,6 @@ tekhex_print_symbol (bfd *abfd,
 #define tekhex_section_already_linked               _bfd_generic_section_already_linked
 #define tekhex_bfd_define_common_symbol             bfd_generic_define_common_symbol
 #define tekhex_bfd_link_hash_table_create           _bfd_generic_link_hash_table_create
-#define tekhex_bfd_link_hash_table_free             _bfd_generic_link_hash_table_free
 #define tekhex_bfd_link_add_symbols                 _bfd_generic_link_add_symbols
 #define tekhex_bfd_link_just_syms                   _bfd_generic_link_just_syms
 #define tekhex_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/TODO ./bfd/TODO
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/TODO	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/TODO	2015-01-20 02:05:35.000000000 +0000
@@ -20,7 +20,7 @@ Things that still need to be done: -*- T
 
  o - upgrade the reloc handling as per Steve's suggestion.
 
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/trad-core.c ./bfd/trad-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/trad-core.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/trad-core.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back end for traditional Unix core files (U-area and raw sections)
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
    Written by John Gilmore of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vax1knetbsd.c ./bfd/vax1knetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vax1knetbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/vax1knetbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for NetBSD/VAX (1K page size) a.out-ish binaries.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vaxbsd.c ./bfd/vaxbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vaxbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/vaxbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for BSD and Ultrix/VAX (1K page size) a.out-ish binaries.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vaxnetbsd.c ./bfd/vaxnetbsd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vaxnetbsd.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/vaxnetbsd.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for NetBSD/VAX (4K page size) a.out-ish binaries.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/verilog.c ./bfd/verilog.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/verilog.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/verilog.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for verilog hex memory dump files.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Written by Anthony Green <green@moxielogic.com>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -311,7 +311,6 @@ verilog_mkobject (bfd *abfd)
 #define verilog_bfd_discard_group                    bfd_generic_discard_group
 #define verilog_section_already_linked               _bfd_generic_section_already_linked
 #define verilog_bfd_link_hash_table_create           _bfd_generic_link_hash_table_create
-#define verilog_bfd_link_hash_table_free             _bfd_generic_link_hash_table_free
 #define verilog_bfd_link_add_symbols                 _bfd_generic_link_add_symbols
 #define verilog_bfd_link_just_syms                   _bfd_generic_link_just_syms
 #define verilog_bfd_final_link                       _bfd_generic_final_link
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/versados.c ./bfd/versados.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/versados.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/versados.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* BFD back-end for VERSAdos-E objects.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
 
    Versados is a Motorola trademark.
@@ -85,8 +85,8 @@ typedef struct versados_data_struct
 tdata_type;
 
 #define VDATA(abfd)       (abfd->tdata.versados_data)
-#define EDATA(abfd, n)    (abfd->tdata.versados_data->e[n])
-#define RDATA(abfd, n)    (abfd->tdata.versados_data->rest[n])
+#define EDATA(abfd, n)    (abfd->tdata.versados_data->e[(n) < 16 ? (n) : 0])
+#define RDATA(abfd, n)    (abfd->tdata.versados_data->rest[(n) < 240 ? (n) : 0])
 
 struct ext_otr
 {
@@ -181,14 +181,22 @@ versados_new_symbol (bfd *abfd,
   return n;
 }
 
-static int
+static bfd_boolean
 get_record (bfd *abfd, union ext_any *ptr)
 {
   if (bfd_bread (&ptr->size, (bfd_size_type) 1, abfd) != 1
       || (bfd_bread ((char *) ptr + 1, (bfd_size_type) ptr->size, abfd)
 	  != ptr->size))
-    return 0;
-  return 1;
+    return FALSE;
+
+  {
+    bfd_size_type amt = ptr->size + 1;
+
+    if (amt < sizeof (* ptr))
+      memset ((char *) ptr + amt, 0, sizeof (* ptr) - amt);
+  }
+
+  return TRUE;
 }
 
 static int
@@ -365,10 +373,17 @@ process_otr (bfd *abfd, struct ext_otr *
   | (otr->map[3] << 0);
 
   struct esdid *esdid = &EDATA (abfd, otr->esdid - 1);
-  unsigned char *contents = esdid->contents;
-  int need_contents = 0;
-  unsigned int dst_idx = esdid->pc;
-
+  unsigned char *contents;
+  bfd_boolean need_contents = FALSE;
+  unsigned int dst_idx;
+
+  /* PR 17512: file: ac7da425.  */
+  if (otr->esdid == 0)
+    return;
+  
+  contents = esdid->contents;
+  dst_idx = esdid->pc;
+  
   for (shift = ((unsigned long) 1 << 31); shift && srcp < endp; shift >>= 1)
     {
       if (bits & shift)
@@ -390,8 +405,8 @@ process_otr (bfd *abfd, struct ext_otr *
 	      int val = get_offset (offsetlen, srcp + esdids);
 
 	      if (pass == 1)
-		need_contents = 1;
-	      else
+		need_contents = TRUE;
+	      else if (contents && dst_idx < esdid->section->size - sizeinwords * 2)
 		for (j = 0; j < sizeinwords * 2; j++)
 		  {
 		    contents[dst_idx + (sizeinwords * 2) - j - 1] = val;
@@ -413,10 +428,13 @@ process_otr (bfd *abfd, struct ext_otr *
 			}
 		      else
 			{
-			  arelent *n =
-			  EDATA (abfd, otr->esdid - 1).section->relocation + rn;
-			  n->address = dst_idx;
+			  arelent *n;
 
+			  /* PR 17512: file: 54f733e0.  */
+			  if (EDATA (abfd, otr->esdid - 1).section == NULL)
+			    continue;
+			  n = EDATA (abfd, otr->esdid - 1).section->relocation + rn;
+			  n->address = dst_idx;
 			  n->sym_ptr_ptr = (asymbol **) (size_t) id;
 			  n->addend = 0;
 			  n->howto = versados_howto_table + ((j & 1) * 2) + (sizeinwords - 1);
@@ -429,31 +447,41 @@ process_otr (bfd *abfd, struct ext_otr *
 	}
       else
 	{
-	  need_contents = 1;
-	  if (dst_idx < esdid->section->size)
+	  need_contents = TRUE;
+
+	  if (esdid->section && contents && dst_idx < esdid->section->size)
 	    if (pass == 2)
 	      {
 		/* Absolute code, comes in 16 bit lumps.  */
 		contents[dst_idx] = srcp[0];
 		contents[dst_idx + 1] = srcp[1];
 	      }
+
 	  dst_idx += 2;
 	  srcp += 2;
 	}
     }
+
   EDATA (abfd, otr->esdid - 1).pc = dst_idx;
 
   if (!contents && need_contents)
     {
-      bfd_size_type size = esdid->section->size;
-      esdid->contents = bfd_alloc (abfd, size);
+      if (esdid->section)
+	{
+	  bfd_size_type size;
+
+	  size = esdid->section->size;
+	  esdid->contents = bfd_alloc (abfd, size);
+	}
+      else
+	esdid->contents = NULL;
     }
 }
 
 static bfd_boolean
 versados_scan (bfd *abfd)
 {
-  int loop = 1;
+  bfd_boolean loop = TRUE;
   int i;
   int j;
   int nsecs = 0;
@@ -471,13 +499,13 @@ versados_scan (bfd *abfd)
       union ext_any any;
 
       if (!get_record (abfd, &any))
-	return TRUE;
+	return FALSE;
       switch (any.header.type)
 	{
 	case VHEADER:
 	  break;
 	case VEND:
-	  loop = 0;
+	  loop = FALSE;
 	  break;
 	case VESTDEF:
 	  process_esd (abfd, &any.esd, 1);
@@ -504,7 +532,6 @@ versados_scan (bfd *abfd)
 	{
 	  amt = (bfd_size_type) esdid->relocs * sizeof (arelent);
 	  esdid->section->relocation = bfd_alloc (abfd, amt);
-
 	  esdid->pc = 0;
 
 	  if (esdid->contents)
@@ -563,7 +590,7 @@ versados_scan (bfd *abfd)
 
   VDATA (abfd)->ref_idx = 0;
 
-  return 1;
+  return TRUE;
 }
 
 /* Check whether an existing file is a versados  file.  */
@@ -585,6 +612,13 @@ versados_object_p (bfd *abfd)
       return NULL;
     }
 
+  /* PR 17512: file: 726-2128-0.004.  */
+  if (len < 13)
+    {
+      bfd_set_error (bfd_error_wrong_format);
+      return NULL;
+    }
+
   if (bfd_bread (&ext.type, (bfd_size_type) len, abfd) != len)
     {
       if (bfd_get_error () != bfd_error_system_call)
@@ -758,6 +792,7 @@ versados_canonicalize_reloc (bfd *abfd,
 
   versados_pass_2 (abfd);
   src = section->relocation;
+
   if (!EDATA (abfd, section->target_index).donerel)
     {
       EDATA (abfd, section->target_index).donerel = 1;
@@ -773,8 +808,15 @@ versados_canonicalize_reloc (bfd *abfd,
 	      /* Section relative thing.  */
 	      struct esdid *e = &EDATA (abfd, esdid - 1);
 
-	      src[count].sym_ptr_ptr = e->section->symbol_ptr_ptr;
+	      /* PR 17512: file:cd92277c.  */
+	      if (e->section)
+		src[count].sym_ptr_ptr = e->section->symbol_ptr_ptr;
+	      else
+		src[count].sym_ptr_ptr = bfd_und_section_ptr->symbol_ptr_ptr;
 	    }
+	  /* PR 17512: file:3757-2936-0.004.  */
+	  else if ((unsigned) (esdid - ES_BASE) >= bfd_get_symcount (abfd))
+	    src[count].sym_ptr_ptr = bfd_und_section_ptr->symbol_ptr_ptr;
 	  else
 	    src[count].sym_ptr_ptr = symbols + esdid - ES_BASE;
 	}
@@ -794,7 +836,9 @@ versados_canonicalize_reloc (bfd *abfd,
 #define versados_bfd_is_local_label_name              bfd_generic_is_local_label_name
 #define versados_get_lineno                           _bfd_nosymbols_get_lineno
 #define versados_find_nearest_line                    _bfd_nosymbols_find_nearest_line
+#define versados_find_line                            _bfd_nosymbols_find_line
 #define versados_find_inliner_info                    _bfd_nosymbols_find_inliner_info
+#define versados_get_symbol_version_string	      _bfd_nosymbols_get_symbol_version_string
 #define versados_make_empty_symbol                    _bfd_generic_make_empty_symbol
 #define versados_bfd_make_debug_symbol                _bfd_nosymbols_bfd_make_debug_symbol
 #define versados_read_minisymbols                     _bfd_generic_read_minisymbols
@@ -812,7 +856,6 @@ versados_canonicalize_reloc (bfd *abfd,
 #define versados_section_already_linked               _bfd_generic_section_already_linked
 #define versados_bfd_define_common_symbol             bfd_generic_define_common_symbol
 #define versados_bfd_link_hash_table_create           _bfd_generic_link_hash_table_create
-#define versados_bfd_link_hash_table_free             _bfd_generic_link_hash_table_free
 #define versados_bfd_link_add_symbols                 _bfd_generic_link_add_symbols
 #define versados_bfd_link_just_syms                   _bfd_generic_link_just_syms
 #define versados_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/version.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/version.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20150113
+#define BFD_VERSION_DATE 20150120
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/version.m4 ./bfd/version.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/version.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/version.m4	2015-01-20 02:05:36.000000000 +0000
@@ -0,0 +1 @@
+m4_define([BFD_VERSION], [2.25.51])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vms-alpha.c ./bfd/vms-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vms-alpha.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/vms-alpha.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* vms.c -- BFD back-end for EVAX (openVMS/Alpha) files.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    Initial version written by Klaus Kaempf (kkaempf@rmi.de)
    Major rewrite by Adacore.
@@ -364,9 +364,9 @@ struct vms_section_data_struct
   ((struct vms_section_data_struct *)sec->used_by_bfd)
 
 /* To be called from the debugger.  */
-struct vms_private_data_struct *bfd_vms_get_data (bfd *abfd);
+struct vms_private_data_struct *bfd_vms_get_data (bfd *);
 
-static int vms_get_remaining_object_record (bfd *abfd, int read_so_far);
+static int vms_get_remaining_object_record (bfd *, unsigned int);
 static bfd_boolean _bfd_vms_slurp_object_records (bfd * abfd);
 static void alpha_vms_add_fixup_lp (struct bfd_link_info *, bfd *, bfd *);
 static void alpha_vms_add_fixup_ca (struct bfd_link_info *, bfd *, bfd *);
@@ -374,8 +374,8 @@ static void alpha_vms_add_fixup_qr (stru
                                     bfd_vma);
 static void alpha_vms_add_fixup_lr (struct bfd_link_info *, unsigned int,
                                     bfd_vma);
-static void alpha_vms_add_lw_reloc (struct bfd_link_info *info);
-static void alpha_vms_add_qw_reloc (struct bfd_link_info *info);
+static void alpha_vms_add_lw_reloc (struct bfd_link_info *);
+static void alpha_vms_add_qw_reloc (struct bfd_link_info *);
 
 struct vector_type
 {
@@ -521,9 +521,11 @@ _bfd_vms_slurp_eisd (bfd *abfd, unsigned
       asection *section;
       flagword bfd_flags;
 
+      /* PR 17512: file: 3d9e9fe9.  */
+      if (offset >= PRIV (recrd.rec_size))
+	return FALSE;
       eisd = (struct vms_eisd *)(PRIV (recrd.rec) + offset);
       rec_size = bfd_getl32 (eisd->eisdsize);
-
       if (rec_size == 0)
         break;
 
@@ -788,7 +790,7 @@ _bfd_vms_get_object_record (bfd *abfd)
    Return the size of the record or 0 on failure.  */
 
 static int
-vms_get_remaining_object_record (bfd *abfd, int read_so_far)
+vms_get_remaining_object_record (bfd *abfd, unsigned int read_so_far)
 {
   unsigned int to_read;
 
@@ -824,7 +826,10 @@ vms_get_remaining_object_record (bfd *ab
         return 0;
       PRIV (recrd.buf_size) = to_read;
     }
-
+  /* PR 17512: file: 025-1974-0.004.  */
+  else if (to_read <= read_so_far)
+    return 0;
+  
   /* Read the remaining record.  */
   to_read -= read_so_far;
 
@@ -2474,10 +2479,7 @@ alpha_vms_object_p (bfd *abfd)
   PRIV (recrd.rec) = buf;
 
   if (bfd_bread (buf, test_len, abfd) != test_len)
-    {
-      bfd_set_error (bfd_error_file_truncated);
-      goto error_ret;
-    }
+    goto err_wrong_format;
 
   /* Is it an image?  */
   if ((bfd_getl32 (buf) == EIHD__K_MAJORID)
@@ -2502,7 +2504,6 @@ alpha_vms_object_p (bfd *abfd)
           if (buf == NULL)
             {
               PRIV (recrd.buf) = NULL;
-              bfd_set_error (bfd_error_no_memory);
               goto error_ret;
             }
           PRIV (recrd.buf) = buf;
@@ -2517,10 +2518,7 @@ alpha_vms_object_p (bfd *abfd)
       while (remaining > 0)
         {
           if (bfd_bread (buf + read_so_far, to_read, abfd) != to_read)
-            {
-              bfd_set_error (bfd_error_file_truncated);
-              goto err_wrong_format;
-            }
+	    goto err_wrong_format;
 
           read_so_far += to_read;
           remaining -= to_read;
@@ -2531,6 +2529,9 @@ alpha_vms_object_p (bfd *abfd)
       /* Reset the record pointer.  */
       PRIV (recrd.rec) = buf;
 
+      /* PR 17512: file: 7d7c57c2.  */
+      if (PRIV (recrd.rec_size) < sizeof (struct vms_eihd))
+	goto error_ret;
       vms_debug2 ((2, "file type is image\n"));
 
       if (_bfd_vms_slurp_eihd (abfd, &eisd_offset, &eihs_offset) != TRUE)
@@ -4582,10 +4583,14 @@ module_find_nearest_line (bfd *abfd, str
    location.  */
 
 static bfd_boolean
-_bfd_vms_find_nearest_dst_line (bfd *abfd, asection *section,
-				asymbol **symbols ATTRIBUTE_UNUSED,
-				bfd_vma offset, const char **file,
-				const char **func, unsigned int *line)
+_bfd_vms_find_nearest_line (bfd *abfd,
+			    asymbol **symbols ATTRIBUTE_UNUSED,
+			    asection *section,
+			    bfd_vma offset,
+			    const char **file,
+			    const char **func,
+			    unsigned int *line,
+			    unsigned int *discriminator)
 {
   struct module *module;
 
@@ -4595,6 +4600,8 @@ _bfd_vms_find_nearest_dst_line (bfd *abf
   *file = NULL;
   *func = NULL;
   *line = 0;
+  if (discriminator)
+    *discriminator = 0;
 
   /* We can't do anything if there is no DST (debug symbol table).  */
   if (PRIV (dst_section) == NULL)
@@ -4614,26 +4621,6 @@ _bfd_vms_find_nearest_dst_line (bfd *abf
 
   return FALSE;
 }
-
-/* Likewise but with a discriminator.  */
-
-static bfd_boolean
-_bfd_vms_find_nearest_line_discriminator (bfd *abfd,
-					  asection *section,
-					  asymbol **symbols,
-					  bfd_vma offset,
-					  const char **filename_ptr,
-					  const char **functionname_ptr,
-					  unsigned int *line_ptr,
-					  unsigned int *discriminator)
-{
-  *discriminator = 0;
-
-  return _bfd_vms_find_nearest_dst_line (abfd, section, symbols, offset,
-					 filename_ptr, functionname_ptr,
-					 line_ptr);
-}
-
 
 /* Canonicalizations.  */
 /* Set name, value, section and flags of SYM from E.  */
@@ -8652,7 +8639,7 @@ alpha_vms_bfd_final_link (bfd *abfd, str
     {
       bfd *startbfd = NULL;
 
-      for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+      for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
         {
           /* Consider only VMS object files.  */
           if (sub->xvec != abfd->xvec)
@@ -8756,7 +8743,7 @@ alpha_vms_bfd_final_link (bfd *abfd, str
     dmt = NULL;
 
   /* Read all sections from the inputs.  */
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       if (sub->flags & DYNAMIC)
         {
@@ -8807,7 +8794,7 @@ alpha_vms_bfd_final_link (bfd *abfd, str
           unsigned int off = 0;
 
           /* For each object file (ie for each module).  */
-          for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+          for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
             {
               asection *sub_dst;
               struct vms_dmt_header *dmth = NULL;
@@ -9209,14 +9196,16 @@ bfd_vms_get_data (bfd *abfd)
    ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 #define alpha_vms_print_symbol             vms_print_symbol
 #define alpha_vms_get_symbol_info          vms_get_symbol_info
+#define alpha_vms_get_symbol_version_string \
+  _bfd_nosymbols_get_symbol_version_string
+
 #define alpha_vms_read_minisymbols         _bfd_generic_read_minisymbols
 #define alpha_vms_minisymbol_to_symbol     _bfd_generic_minisymbol_to_symbol
 #define alpha_vms_get_lineno               _bfd_nosymbols_get_lineno
 #define alpha_vms_find_inliner_info        _bfd_nosymbols_find_inliner_info
 #define alpha_vms_bfd_make_debug_symbol    _bfd_nosymbols_bfd_make_debug_symbol
-#define alpha_vms_find_nearest_line        _bfd_vms_find_nearest_dst_line
-#define _bfd_generic_find_nearest_line_discriminator \
-  _bfd_vms_find_nearest_line_discriminator
+#define alpha_vms_find_nearest_line        _bfd_vms_find_nearest_line
+#define alpha_vms_find_line                _bfd_nosymbols_find_line
 #define alpha_vms_bfd_is_local_label_name  vms_bfd_is_local_label_name
 
 /* Generic table.  */
@@ -9239,7 +9228,6 @@ bfd_vms_get_data (bfd *abfd)
   _bfd_generic_section_already_linked
 
 #define alpha_vms_bfd_define_common_symbol bfd_generic_define_common_symbol
-#define alpha_vms_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
 #define alpha_vms_bfd_link_just_syms _bfd_generic_link_just_syms
 #define alpha_vms_bfd_copy_link_hash_symbol_type \
   _bfd_generic_copy_link_hash_symbol_type
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vms.h ./bfd/vms.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vms.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/vms.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* vms.h -- Header file for VMS (Alpha and Vax) support.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    Main header file.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vms-lib.c ./bfd/vms-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vms-lib.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/vms-lib.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 /* BFD back-end for VMS archive files.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vms-misc.c ./bfd/vms-misc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/vms-misc.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/vms-misc.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
 /* vms-misc.c -- BFD back-end for VMS/VAX (openVMS/VAX) and
    EVAX (openVMS/Alpha) files.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    Miscellaneous functions.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/warning.m4 ./bfd/warning.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/warning.m4	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/warning.m4	2015-01-20 02:05:36.000000000 +0000
@@ -1,6 +1,6 @@
-dnl Common configure.in fragment
+dnl Common configure.ac fragment
 dnl
-dnl   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 dnl
 dnl This file is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xcofflink.c ./bfd/xcofflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xcofflink.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/xcofflink.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* POWER/PowerPC XCOFF linker support.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <ian@cygnus.com>, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -571,7 +571,22 @@ xcoff_link_hash_newfunc (struct bfd_hash
   return (struct bfd_hash_entry *) ret;
 }
 
-/* Create a XCOFF link hash table.  */
+/* Destroy an XCOFF link hash table.  */
+
+static void
+_bfd_xcoff_bfd_link_hash_table_free (bfd *obfd)
+{
+  struct xcoff_link_hash_table *ret;
+
+  ret = (struct xcoff_link_hash_table *) obfd->link.hash;
+  if (ret->archive_info)
+    htab_delete (ret->archive_info);
+  if (ret->debug_strtab)
+    _bfd_stringtab_free (ret->debug_strtab);
+  _bfd_generic_link_hash_table_free (obfd);
+}
+
+/* Create an XCOFF link hash table.  */
 
 struct bfd_link_hash_table *
 _bfd_xcoff_bfd_link_hash_table_create (bfd *abfd)
@@ -592,6 +607,12 @@ _bfd_xcoff_bfd_link_hash_table_create (b
   ret->debug_strtab = _bfd_xcoff_stringtab_init ();
   ret->archive_info = htab_create (37, xcoff_archive_info_hash,
 				   xcoff_archive_info_eq, NULL);
+  if (!ret->debug_strtab || !ret->archive_info)
+    {
+      _bfd_xcoff_bfd_link_hash_table_free (abfd);
+      return NULL;
+    }
+  ret->root.hash_table_free = _bfd_xcoff_bfd_link_hash_table_free;
 
   /* The linker will always generate a full a.out header.  We need to
      record that fact now, before the sizeof_headers routine could be
@@ -600,18 +621,6 @@ _bfd_xcoff_bfd_link_hash_table_create (b
 
   return &ret->root;
 }
-
-/* Free a XCOFF link hash table.  */
-
-void
-_bfd_xcoff_bfd_link_hash_table_free (struct bfd_link_hash_table *hash)
-{
-  struct xcoff_link_hash_table *ret = (struct xcoff_link_hash_table *) hash;
-
-  _bfd_stringtab_free (ret->debug_strtab);
-  bfd_hash_table_free (&ret->root.table);
-  free (ret);
-}
 
 /* Read internal relocs for an XCOFF csect.  This is a wrapper around
    _bfd_coff_read_internal_relocs which tries to take advantage of any
@@ -2375,6 +2384,8 @@ xcoff_link_check_ar_symbols (bfd *abfd,
 static bfd_boolean
 xcoff_link_check_archive_element (bfd *abfd,
 				  struct bfd_link_info *info,
+				  struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED,
+				  const char *name ATTRIBUTE_UNUSED,
 				  bfd_boolean *pneeded)
 {
   bfd_boolean keep_syms_p;
@@ -2454,7 +2465,7 @@ _bfd_xcoff_bfd_link_add_symbols (bfd *ab
 		bfd_boolean needed;
 
 		if (! xcoff_link_check_archive_element (member, info,
-							&needed))
+							NULL, NULL, &needed))
 		  return FALSE;
 		if (needed)
 		  member->archive_pass = -1;
@@ -2985,7 +2996,7 @@ xcoff_sweep (struct bfd_link_info *info)
 {
   bfd *sub;
 
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       asection *o;
 
@@ -3710,7 +3721,7 @@ bfd_xcoff_size_dynamic_sections (bfd *ou
 
       /* We still need to call xcoff_mark, in order to set ldrel_count
 	 correctly.  */
-      for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+      for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
 	{
 	  asection *o;
 
@@ -3804,7 +3815,7 @@ bfd_xcoff_size_dynamic_sections (bfd *ou
      and figure out the contents of the .debug section.  */
   debug_strtab = xcoff_hash_table (info)->debug_strtab;
 
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       asection *subdeb;
       bfd_size_type symcount;
@@ -3973,7 +3984,7 @@ bfd_xcoff_link_generate_rtinit (bfd *abf
   bim->size = 0;
   bim->buffer = 0;
 
-  abfd->link_next = 0;
+  abfd->link.next = 0;
   abfd->format = bfd_object;
   abfd->iostream = (void *) bim;
   abfd->flags = BFD_IN_MEMORY;
@@ -4483,7 +4494,10 @@ xcoff_link_input_bfd (struct xcoff_final
 			  if (strings == NULL)
 			    return FALSE;
 			}
-		      filename = strings + aux.x_file.x_n.x_offset;
+		      if ((bfd_size_type) aux.x_file.x_n.x_offset >= obj_coff_strings_len (input_bfd))
+			filename = _("<corrupt>");
+		      else
+			filename = strings + aux.x_file.x_n.x_offset;
 		      indx = _bfd_stringtab_add (flinfo->strtab, filename,
 						 hash, copy);
 		      if (indx == (bfd_size_type) -1)
@@ -5041,7 +5055,7 @@ xcoff_find_tc0 (bfd *output_bfd, struct 
   section_index = -1;
   for (input_bfd = flinfo->info->input_bfds;
        input_bfd != NULL;
-       input_bfd = input_bfd->link_next)
+       input_bfd = input_bfd->link.next)
     for (sec = input_bfd->sections; sec != NULL; sec = sec->next)
       if ((sec->flags & SEC_MARK) != 0 && xcoff_toc_section_p (sec))
 	{
@@ -5073,7 +5087,7 @@ xcoff_find_tc0 (bfd *output_bfd, struct 
       best_address = toc_end;
       for (input_bfd = flinfo->info->input_bfds;
 	   input_bfd != NULL;
-	   input_bfd = input_bfd->link_next)
+	   input_bfd = input_bfd->link.next)
 	for (sec = input_bfd->sections; sec != NULL; sec = sec->next)
 	  if ((sec->flags & SEC_MARK) != 0 && xcoff_toc_section_p (sec))
 	    {
@@ -6103,7 +6117,7 @@ _bfd_xcoff_bfd_final_link (bfd *abfd, st
      input BFD's.  We want at least 6 symbols, since that is the
      number which xcoff_write_global_symbol may need.  */
   max_sym_count = 6;
-  for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+  for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
     {
       bfd_size_type sz;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xsym.c ./bfd/xsym.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xsym.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/xsym.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* xSYM symbol-file support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -33,7 +33,9 @@
 #define bfd_sym_bfd_is_target_special_symbol       ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 #define bfd_sym_get_lineno                          _bfd_nosymbols_get_lineno
 #define bfd_sym_find_nearest_line                   _bfd_nosymbols_find_nearest_line
+#define bfd_sym_find_line                           _bfd_nosymbols_find_line
 #define bfd_sym_find_inliner_info                   _bfd_nosymbols_find_inliner_info
+#define bfd_sym_get_symbol_version_string	    _bfd_nosymbols_get_symbol_version_string
 #define bfd_sym_bfd_make_debug_symbol               _bfd_nosymbols_bfd_make_debug_symbol
 #define bfd_sym_read_minisymbols                    _bfd_generic_read_minisymbols
 #define bfd_sym_minisymbol_to_symbol                _bfd_generic_minisymbol_to_symbol
@@ -50,7 +52,6 @@
 #define bfd_sym_section_already_linked              _bfd_generic_section_already_linked
 #define bfd_sym_bfd_define_common_symbol            bfd_generic_define_common_symbol
 #define bfd_sym_bfd_link_hash_table_create          _bfd_generic_link_hash_table_create
-#define bfd_sym_bfd_link_hash_table_free            _bfd_generic_link_hash_table_free
 #define bfd_sym_bfd_link_add_symbols                _bfd_generic_link_add_symbols
 #define bfd_sym_bfd_link_just_syms                  _bfd_generic_link_just_syms
 #define bfd_sym_bfd_copy_link_hash_symbol_type \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xsym.h ./bfd/xsym.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xsym.h	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/xsym.h	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* xSYM symbol-file support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xtensa-isa.c ./bfd/xtensa-isa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xtensa-isa.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/xtensa-isa.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Configurable Xtensa ISA support.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xtensa-modules.c ./bfd/xtensa-modules.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/bfd/xtensa-modules.c	2015-01-13 02:02:16.000000000 +0000
+++ ./bfd/xtensa-modules.c	2015-01-20 02:05:36.000000000 +0000
@@ -1,5 +1,5 @@
 /* Xtensa configuration-specific ISA information.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/ChangeLog ./ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/ChangeLog	2015-01-13 02:02:16.000000000 +0000
+++ ./ChangeLog	2015-01-20 02:05:35.000000000 +0000
@@ -1,3 +1,90 @@
+2015-01-03  Andrew Pinski  <apinski@cavium.com>
+
+	* Makefile.def (flags_to_pass): Pass OBJCOPY_FOR_TARGET also.
+	* Makefile.tpl (HOST_EXPORTS): Add OBJCOPY_FOR_TARGET.
+	(BASE_TARGET_EXPORTS): Add OBJCOPY.
+	(OBJCOPY_FOR_TARGET): New variable.
+	(EXTRA_TARGET_FLAGS): Add OBJCOPY.
+	* Makefile.in: Regenerate.
+	* configure.ac: Check for already installed target objcopy.
+	Also GCC_TARGET_TOOL on objcopy.
+	* configure: Regenerate.
+
+2015-01-02  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* config.sub: Update from upstream, to 2015-01-01 version.
+	* config.guess: Ditto.
+
+2014-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config.sub: Update from upstream config repo.
+
+2014-11-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* libtool.m4: Updated from GCC trunk.
+
+2014-11-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+	* config.guess: Update from upstream config repo.
+	* config.sub: Ditto.
+
+2014-11-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+	* move-if-change: Update from upstream gnulib.
+
+2014-11-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+	* compile: Sync with upstream Automake.
+	* depcomp: Ditto.
+	* install-sh: Ditto.
+	* missing: Ditto.
+	* mkinstalldirs: Ditto.
+	* ylwrap: Ditto.
+
+2014-10-15  Tristan Gingold  <gingold@adacore.com>
+
+	* src-release.sh (do_proto_toplev): Configure with --target.
+
+2014-10-03  Jing Yu  <jingyu@google.com>
+
+	* configure.ac: Add aarch64 to list of targets that support gold.
+	* configure: Regenerate.
+
+2014-09-12  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+	* configure.ac: Add mips*-img-elf* target triple.
+	* configure: Regenerate.
+
+2014-09-06  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+	* configure: Disable gdb for nds32*-*-* until supported.
+	* configure.ac: Disable gdb for nds32*-*-* until supported.
+
+2014-09-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* configure: Regenerate.
+
+2014-08-27  Will Newton  <will.newton@linaro.org>
+
+	* src-release.sh: New file.
+	* src-release: Remove file.
+
+2014-07-27  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+	GDB not supported for or1k*-*-rtems*
+	* configure.ac (or1k*-*-rtems*): gdb not supported.  The ordering
+	of the stanzas results in this not being caught by or1k*-*-* later.
+	* configure. Regenerated.
+
+2014-07-25  Samuel Bronson  <naesten@gmail.com>
+
+	* .gitattributes: New file for use with git-merge-changelog.
+
+2014-07-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
+
+	Disable gdb for or1k*-*-* until supported
+	* configure.ac (or1k*-*-*): Disable gdb.
+	* configure: Regenerated.
+
 2014-05-14  Sandra Loosemore  <sandra@codesourcery.com>
 
 	* configure.ac (target_makefile_frag): Set for nios2-*-elf*.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/compile ./compile
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/compile	2015-01-13 02:02:17.000000000 +0000
+++ ./compile	2015-01-20 02:05:36.000000000 +0000
@@ -1,10 +1,9 @@
 #! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
+# Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009  Free Software
-# Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -29,21 +28,224 @@ scriptversion=2009-04-28.21; # UTC
 # bugs to <bug-automake@gnu.org> or send patches to
 # <automake-patches@gnu.org>.
 
+nl='
+'
+
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" ""	$nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+	# lazily determine how to convert abs files
+	case `uname -s` in
+	  MINGW*)
+	    file_conv=mingw
+	    ;;
+	  CYGWIN*)
+	    file_conv=cygwin
+	    ;;
+	  *)
+	    file_conv=wine
+	    ;;
+	esac
+      fi
+      case $file_conv/,$2, in
+	*,$file_conv,*)
+	  ;;
+	mingw/*)
+	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+	  ;;
+	cygwin/*)
+	  file=`cygpath -m "$file" || echo "$file"`
+	  ;;
+	wine/*)
+	  file=`winepath -w "$file" || echo "$file"`
+	  ;;
+      esac
+      ;;
+  esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+  # Assume a capable shell
+  lib_path=
+  shared=:
+  linker_opts=
+  for arg
+  do
+    if test -n "$eat"; then
+      eat=
+    else
+      case $1 in
+	-o)
+	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
+	  eat=1
+	  case $2 in
+	    *.o | *.[oO][bB][jJ])
+	      func_file_conv "$2"
+	      set x "$@" -Fo"$file"
+	      shift
+	      ;;
+	    *)
+	      func_file_conv "$2"
+	      set x "$@" -Fe"$file"
+	      shift
+	      ;;
+	  esac
+	  ;;
+	-I)
+	  eat=1
+	  func_file_conv "$2" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-I*)
+	  func_file_conv "${1#-I}" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-l)
+	  eat=1
+	  func_cl_dashl "$2"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-l*)
+	  func_cl_dashl "${1#-l}"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-L)
+	  eat=1
+	  func_cl_dashL "$2"
+	  ;;
+	-L*)
+	  func_cl_dashL "${1#-L}"
+	  ;;
+	-static)
+	  shared=false
+	  ;;
+	-Wl,*)
+	  arg=${1#-Wl,}
+	  save_ifs="$IFS"; IFS=','
+	  for flag in $arg; do
+	    IFS="$save_ifs"
+	    linker_opts="$linker_opts $flag"
+	  done
+	  IFS="$save_ifs"
+	  ;;
+	-Xlinker)
+	  eat=1
+	  linker_opts="$linker_opts $2"
+	  ;;
+	-*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+	  func_file_conv "$1"
+	  set x "$@" -Tp"$file"
+	  shift
+	  ;;
+	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+	  func_file_conv "$1" mingw
+	  set x "$@" "$file"
+	  shift
+	  ;;
+	*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+      esac
+    fi
+    shift
+  done
+  if test -n "$linker_opts"; then
+    linker_opts="-link$linker_opts"
+  fi
+  exec "$@" $linker_opts
+  exit 1
+}
+
+eat=
+
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
     cat <<\EOF
 Usage: compile [--help] [--version] PROGRAM [ARGS]
 
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
 arguments, and rename the output as expected.
 
 If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
+right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <bug-automake@gnu.org>.
 EOF
@@ -53,11 +255,13 @@ EOF
     echo "compile $scriptversion"
     exit $?
     ;;
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+    func_cl_wrapper "$@"      # Doesn't return...
+    ;;
 esac
 
 ofile=
 cfile=
-eat=
 
 for arg
 do
@@ -66,8 +270,8 @@ do
   else
     case $1 in
       -o)
-	# configure might choose to run compile as `compile cc -o foo foo.c'.
-	# So we strip `-o arg' only if arg is an object.
+	# configure might choose to run compile as 'compile cc -o foo foo.c'.
+	# So we strip '-o arg' only if arg is an object.
 	eat=1
 	case $2 in
 	  *.o | *.obj)
@@ -94,10 +298,10 @@ do
 done
 
 if test -z "$ofile" || test -z "$cfile"; then
-  # If no `-o' option was seen then we might have been invoked from a
+  # If no '-o' option was seen then we might have been invoked from a
   # pattern rule where we don't need one.  That is ok -- this is a
   # normal compilation that the losing compiler can handle.  If no
-  # `.c' file was seen then we are probably linking.  That is also
+  # '.c' file was seen then we are probably linking.  That is also
   # ok.
   exec "$@"
 fi
@@ -106,7 +310,7 @@ fi
 cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
 
 # Create the lock directory.
-# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
 # that we are using for the .o file.  Also, base the name on the expected
 # object file name, since that is what matters with a parallel build.
 lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
@@ -124,9 +328,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
 ret=$?
 
 if test -f "$cofile"; then
-  mv "$cofile" "$ofile"
+  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
 elif test -f "${cofile}bj"; then
-  mv "${cofile}bj" "$ofile"
+  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
 fi
 
 rmdir "$lockdir"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/config/ChangeLog ./config/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/config/ChangeLog	2015-01-13 02:02:17.000000000 +0000
+++ ./config/ChangeLog	2015-01-20 02:05:36.000000000 +0000
@@ -1,3 +1,14 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* plugins.m4 (AC_PLUGINS): If plugins are enabled, add -ldl to
+	LIBS via AC_SEARCH_LIBS.
+
+2014-08-14  Alan Modra  <amodra@gmail.com>
+
+	* plugins.m4: Test for dlfcn.h or windows.h here to set default
+	for --enable-plugins.  Report error if someone tries to enable
+	plugins on a host we don't support.
+
 2014-05-14  Sandra Loosemore  <sandra@codesourcery.com>
 
 	* mt-nios2-elf: New file.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/config/plugins.m4 ./config/plugins.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/config/plugins.m4	2015-01-13 02:02:17.000000000 +0000
+++ ./config/plugins.m4	2015-01-20 02:05:36.000000000 +0000
@@ -1,11 +1,21 @@
 AC_DEFUN([AC_PLUGINS],
 [
-AC_ARG_ENABLE([plugins],
-AS_HELP_STRING([--enable-plugins], [Enable support for plugins (defaults no)]),
-[case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac],
-[plugins=no])
+  maybe_plugins=no
+  AC_CHECK_HEADERS([dlfcn.h], [maybe_plugins=yes], [], [AC_INCLUDES_DEFAULT])
+  AC_CHECK_HEADERS([windows.h], [maybe_plugins=yes], [], [AC_INCLUDES_DEFAULT])
+
+  AC_ARG_ENABLE([plugins],
+    AS_HELP_STRING([--enable-plugins], [Enable support for plugins]),
+    [case "${enableval}" in
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   AC_MSG_ERROR([Building with plugin support requires a host that supports dlopen.])
+	 fi ;;
+     esac],
+    [plugins=$maybe_plugins]
+  )
+  if test "$plugins" = "yes"; then
+    AC_SEARCH_LIBS([dlopen], [dl])
+  fi
 ])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/config.guess ./config.guess
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/config.guess	2015-01-13 02:02:17.000000000 +0000
+++ ./config.guess	2015-01-20 02:05:36.000000000 +0000
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-03-23'
+timestamp='2015-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -24,12 +24,12 @@ timestamp='2014-03-23'
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
 #
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -579,8 +579,9 @@ EOF
 	else
 		IBM_ARCH=powerpc
 	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
+	if [ -x /usr/bin/lslpp ] ; then
+		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
 	else
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/config.sub ./config.sub
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/config.sub	2015-01-13 02:02:17.000000000 +0000
+++ ./config.sub	2015-01-20 02:05:36.000000000 +0000
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-05-01'
+timestamp='2015-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@ timestamp='2014-05-01'
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patch
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -260,7 +260,7 @@ case $basic_machine in
 	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| epiphany \
-	| fido | fr30 | frv \
+	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
@@ -302,6 +302,7 @@ case $basic_machine in
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
+	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -312,6 +313,7 @@ case $basic_machine in
 	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -326,6 +328,9 @@ case $basic_machine in
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
 	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
@@ -436,6 +441,7 @@ case $basic_machine in
 	| ubicom32-* \
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
+	| visium-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -773,6 +779,9 @@ case $basic_machine in
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
+	leon-*|leon[3-9]-*)
+		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+		;;
 	m68knommu)
 		basic_machine=m68k-unknown
 		os=-linux
@@ -828,6 +837,10 @@ case $basic_machine in
 		basic_machine=powerpc-unknown
 		os=-morphos
 		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -1373,7 +1386,7 @@ case $os in
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/configure ./configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/configure	2015-01-13 02:02:17.000000000 +0000
+++ ./configure	2015-01-20 02:05:36.000000000 +0000
@@ -574,6 +574,7 @@ STRIP_FOR_TARGET
 READELF_FOR_TARGET
 RANLIB_FOR_TARGET
 OBJDUMP_FOR_TARGET
+OBJCOPY_FOR_TARGET
 NM_FOR_TARGET
 LIPO_FOR_TARGET
 LD_FOR_TARGET
@@ -830,6 +831,7 @@ DLLTOOL_FOR_TARGET
 LD_FOR_TARGET
 LIPO_FOR_TARGET
 NM_FOR_TARGET
+OBJCOPY_FOR_TARGET
 OBJDUMP_FOR_TARGET
 RANLIB_FOR_TARGET
 READELF_FOR_TARGET
@@ -1603,6 +1605,8 @@ Some influential environment variables:
               LIPO for the target
   NM_FOR_TARGET
               NM for the target
+  OBJCOPY_FOR_TARGET
+              OBJCOPY for the target
   OBJDUMP_FOR_TARGET
               OBJDUMP for the target
   RANLIB_FOR_TARGET
@@ -2971,7 +2975,8 @@ case "${ENABLE_GOLD}" in
     if test "$is_elf" = "yes"; then
       # Check for target supported by gold.
       case "${target}" in
-        i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* | tilegx*-*-*)
+        i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* \
+        | aarch64*-*-* | tilegx*-*-*)
 	  configdirs="$configdirs gold"
 	  if test x${ENABLE_GOLD} = xdefault; then
 	    default_ld=gold
@@ -3603,6 +3608,10 @@ case "${target}" in
     ;;
   *-*-rtems*)
     noconfigdirs="$noconfigdirs target-libgloss"
+    # this is not caught below because this stanza matches earlier
+    case $target in
+      or1k*-*-*) noconfigdirs="$noconfigdirs gdb" ;;
+    esac
     ;;
     # The tpf target doesn't support gdb yet.
   *-*-tpf*)
@@ -3778,7 +3787,7 @@ case "${target}" in
   microblaze*)
     noconfigdirs="$noconfigdirs gprof"
     ;;
-  mips*-sde-elf* | mips*-mti-elf*)
+  mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
     if test x$with_newlib = xyes; then
       noconfigdirs="$noconfigdirs gprof"
     fi
@@ -3801,6 +3810,12 @@ case "${target}" in
   mips*-*-*)
     noconfigdirs="$noconfigdirs gprof"
     ;;
+  nds32*-*-*)
+    noconfigdirs="$noconfigdirs gdb"
+    ;;
+  or1k*-*-*)
+    noconfigdirs="$noconfigdirs gdb"
+    ;;
   sh-*-* | sh64-*-*)
     case "${target}" in
       sh*-*-elf)
@@ -6983,7 +6998,7 @@ case "${target}" in
   spu-*-*)
     target_makefile_frag="config/mt-spu"
     ;;
-  mips*-sde-elf* | mips*-mti-elf*)
+  mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
     target_makefile_frag="config/mt-sde"
     ;;
   mipsisa*-*-elfoabi*)
@@ -12350,6 +12365,236 @@ fi
 
 
 
+if test -z "$ac_cv_path_OBJCOPY_FOR_TARGET" ; then
+  if test -n "$with_build_time_tools"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objcopy in $with_build_time_tools" >&5
+$as_echo_n "checking for objcopy in $with_build_time_tools... " >&6; }
+    if test -x $with_build_time_tools/objcopy; then
+      OBJCOPY_FOR_TARGET=`cd $with_build_time_tools && pwd`/objcopy
+      ac_cv_path_OBJCOPY_FOR_TARGET=$OBJCOPY_FOR_TARGET
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_OBJCOPY_FOR_TARGET" >&5
+$as_echo "$ac_cv_path_OBJCOPY_FOR_TARGET" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+  elif test $build != $host && test $have_gcc_for_target = yes; then
+    OBJCOPY_FOR_TARGET=`$GCC_FOR_TARGET --print-prog-name=objcopy`
+    test $OBJCOPY_FOR_TARGET = objcopy && OBJCOPY_FOR_TARGET=
+    test -n "$OBJCOPY_FOR_TARGET" && ac_cv_path_OBJCOPY_FOR_TARGET=$OBJCOPY_FOR_TARGET
+  fi
+fi
+if test -z "$ac_cv_path_OBJCOPY_FOR_TARGET" && test -n "$gcc_cv_tool_dirs"; then
+  # Extract the first word of "objcopy", so it can be a program name with args.
+set dummy objcopy; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_OBJCOPY_FOR_TARGET+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $OBJCOPY_FOR_TARGET in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_OBJCOPY_FOR_TARGET="$OBJCOPY_FOR_TARGET" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $gcc_cv_tool_dirs
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_OBJCOPY_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+OBJCOPY_FOR_TARGET=$ac_cv_path_OBJCOPY_FOR_TARGET
+if test -n "$OBJCOPY_FOR_TARGET"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY_FOR_TARGET" >&5
+$as_echo "$OBJCOPY_FOR_TARGET" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_OBJCOPY_FOR_TARGET" ; then
+
+
+if test -n "$OBJCOPY_FOR_TARGET"; then
+  ac_cv_prog_OBJCOPY_FOR_TARGET=$OBJCOPY_FOR_TARGET
+elif test -n "$ac_cv_prog_OBJCOPY_FOR_TARGET"; then
+  OBJCOPY_FOR_TARGET=$ac_cv_prog_OBJCOPY_FOR_TARGET
+fi
+
+if test -n "$ac_cv_prog_OBJCOPY_FOR_TARGET"; then
+  for ncn_progname in objcopy; do
+    # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJCOPY_FOR_TARGET+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJCOPY_FOR_TARGET"; then
+  ac_cv_prog_OBJCOPY_FOR_TARGET="$OBJCOPY_FOR_TARGET" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJCOPY_FOR_TARGET="${ncn_progname}"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJCOPY_FOR_TARGET=$ac_cv_prog_OBJCOPY_FOR_TARGET
+if test -n "$OBJCOPY_FOR_TARGET"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY_FOR_TARGET" >&5
+$as_echo "$OBJCOPY_FOR_TARGET" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  done
+fi
+
+if test -z "$ac_cv_prog_OBJCOPY_FOR_TARGET" && test -n "$with_build_time_tools"; then
+  for ncn_progname in objcopy; do
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ncn_progname} in $with_build_time_tools" >&5
+$as_echo_n "checking for ${ncn_progname} in $with_build_time_tools... " >&6; }
+    if test -x $with_build_time_tools/${ncn_progname}; then
+      ac_cv_prog_OBJCOPY_FOR_TARGET=$with_build_time_tools/${ncn_progname}
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+      break
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+  done
+fi
+
+if test -z "$ac_cv_prog_OBJCOPY_FOR_TARGET"; then
+  for ncn_progname in objcopy; do
+    if test -n "$ncn_target_tool_prefix"; then
+      # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJCOPY_FOR_TARGET+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJCOPY_FOR_TARGET"; then
+  ac_cv_prog_OBJCOPY_FOR_TARGET="$OBJCOPY_FOR_TARGET" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJCOPY_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJCOPY_FOR_TARGET=$ac_cv_prog_OBJCOPY_FOR_TARGET
+if test -n "$OBJCOPY_FOR_TARGET"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY_FOR_TARGET" >&5
+$as_echo "$OBJCOPY_FOR_TARGET" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    fi
+    if test -z "$ac_cv_prog_OBJCOPY_FOR_TARGET" && test $build = $target ; then
+      # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+set dummy ${ncn_progname}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJCOPY_FOR_TARGET+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJCOPY_FOR_TARGET"; then
+  ac_cv_prog_OBJCOPY_FOR_TARGET="$OBJCOPY_FOR_TARGET" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJCOPY_FOR_TARGET="${ncn_progname}"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJCOPY_FOR_TARGET=$ac_cv_prog_OBJCOPY_FOR_TARGET
+if test -n "$OBJCOPY_FOR_TARGET"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY_FOR_TARGET" >&5
+$as_echo "$OBJCOPY_FOR_TARGET" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    fi
+    test -n "$ac_cv_prog_OBJCOPY_FOR_TARGET" && break
+  done
+fi
+
+if test -z "$ac_cv_prog_OBJCOPY_FOR_TARGET" ; then
+  set dummy objcopy
+  if test $build = $target ; then
+    OBJCOPY_FOR_TARGET="$2"
+  else
+    OBJCOPY_FOR_TARGET="${ncn_target_tool_prefix}$2"
+  fi
+else
+  OBJCOPY_FOR_TARGET="$ac_cv_prog_OBJCOPY_FOR_TARGET"
+fi
+
+else
+  OBJCOPY_FOR_TARGET=$ac_cv_path_OBJCOPY_FOR_TARGET
+fi
+
+
+
+
 if test -z "$ac_cv_path_OBJDUMP_FOR_TARGET" ; then
   if test -n "$with_build_time_tools"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdump in $with_build_time_tools" >&5
@@ -14280,6 +14525,48 @@ else
   fi
 fi
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target objcopy" >&5
+$as_echo_n "checking where to find the target objcopy... " >&6; }
+if test "x${build}" != "x${host}" ; then
+  if expr "x$OBJCOPY_FOR_TARGET" : "x/" > /dev/null; then
+    # We already found the complete path
+    ac_dir=`dirname $OBJCOPY_FOR_TARGET`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
+$as_echo "pre-installed in $ac_dir" >&6; }
+  else
+    # Canadian cross, just use what we found
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
+$as_echo "pre-installed" >&6; }
+  fi
+else
+  ok=yes
+  case " ${configdirs} " in
+    *" binutils "*) ;;
+    *) ok=no ;;
+  esac
+
+  if test $ok = yes; then
+    # An in-tree tool is available and we can use it
+    OBJCOPY_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/objcopy'
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5
+$as_echo "just compiled" >&6; }
+  elif expr "x$OBJCOPY_FOR_TARGET" : "x/" > /dev/null; then
+    # We already found the complete path
+    ac_dir=`dirname $OBJCOPY_FOR_TARGET`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
+$as_echo "pre-installed in $ac_dir" >&6; }
+  elif test "x$target" = "x$host"; then
+    # We can use an host tool
+    OBJCOPY_FOR_TARGET='$(OBJDUMP)'
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: host tool" >&5
+$as_echo "host tool" >&6; }
+  else
+    # We need a cross tool
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5
+$as_echo "pre-installed" >&6; }
+  fi
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target objdump" >&5
 $as_echo_n "checking where to find the target objdump... " >&6; }
 if test "x${build}" != "x${host}" ; then
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/configure.ac ./configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/configure.ac	2015-01-13 02:07:05.000000000 +0000
+++ ./configure.ac	2015-01-20 02:09:53.000000000 +0000
@@ -331,7 +331,8 @@ case "${ENABLE_GOLD}" in
     if test "$is_elf" = "yes"; then
       # Check for target supported by gold.
       case "${target}" in
-        i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* | tilegx*-*-*)
+        i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* \
+        | aarch64*-*-* | tilegx*-*-*)
 	  configdirs="$configdirs gold"
 	  if test x${ENABLE_GOLD} = xdefault; then
 	    default_ld=gold
@@ -931,6 +932,10 @@ case "${target}" in
     ;;
   *-*-rtems*)
     noconfigdirs="$noconfigdirs target-libgloss"
+    # this is not caught below because this stanza matches earlier
+    case $target in
+      or1k*-*-*) noconfigdirs="$noconfigdirs gdb" ;;
+    esac
     ;;
     # The tpf target doesn't support gdb yet.
   *-*-tpf*)
@@ -1106,7 +1111,7 @@ case "${target}" in
   microblaze*)
     noconfigdirs="$noconfigdirs gprof"
     ;;
-  mips*-sde-elf* | mips*-mti-elf*)
+  mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
     if test x$with_newlib = xyes; then
       noconfigdirs="$noconfigdirs gprof"
     fi
@@ -1129,6 +1134,12 @@ case "${target}" in
   mips*-*-*)
     noconfigdirs="$noconfigdirs gprof"
     ;;
+  nds32*-*-*)
+    noconfigdirs="$noconfigdirs gdb"
+    ;;
+  or1k*-*-*)
+    noconfigdirs="$noconfigdirs gdb"
+    ;;
   sh-*-* | sh64-*-*)
     case "${target}" in
       sh*-*-elf)
@@ -2361,7 +2372,7 @@ case "${target}" in
   spu-*-*)
     target_makefile_frag="config/mt-spu"
     ;;
-  mips*-sde-elf* | mips*-mti-elf*)
+  mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
     target_makefile_frag="config/mt-sde"
     ;;
   mipsisa*-*-elfoabi*)
@@ -3221,6 +3232,7 @@ ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_
 ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
 ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
 ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
+ACX_CHECK_INSTALLED_TARGET_TOOL(OBJCOPY_FOR_TARGET, objcopy)
 ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
 ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib)
 ACX_CHECK_INSTALLED_TARGET_TOOL(READELF_FOR_TARGET, readelf)
@@ -3251,6 +3263,7 @@ GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, G
 GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
 GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
 GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
+GCC_TARGET_TOOL(objcopy, OBJCOPY_FOR_TARGET, OBJDUMP, [binutils/objcopy])
 GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
 GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
 GCC_TARGET_TOOL(readelf, READELF_FOR_TARGET, READELF, [binutils/readelf])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/cpu/ChangeLog ./cpu/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/cpu/ChangeLog	2015-01-13 02:02:17.000000000 +0000
+++ ./cpu/ChangeLog	2015-01-20 02:05:36.000000000 +0000
@@ -1,3 +1,11 @@
+2014-07-20  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
+
+	* or1korbis.cpu (l-msync, l-psync, l-csync): New instructions.
+
+2014-06-12  Alan Modra  <amodra@gmail.com>
+
+	* or1k.opc: Whitespace fixes.
+
 2014-05-08  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
 
 	* or1korbis.cpu (h-atomic-reserve): New hardware.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/cpu/or1k.opc ./cpu/or1k.opc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/cpu/or1k.opc	2015-01-13 02:02:17.000000000 +0000
+++ ./cpu/or1k.opc	2015-01-20 02:05:36.000000000 +0000
@@ -53,11 +53,11 @@ static const char * MISSING_CLOSING_PARE
 
 static const char *
 parse_disp26 (CGEN_CPU_DESC cd,
-              const char ** strp,
-              int opindex,
-              int opinfo,
-              enum cgen_parse_operand_result * resultp,
-              bfd_vma * valuep)
+	      const char ** strp,
+	      int opindex,
+	      int opinfo,
+	      enum cgen_parse_operand_result * resultp,
+	      bfd_vma * valuep)
 {
   const char *errmsg = NULL;
   enum cgen_parse_operand_result result_type;
@@ -68,13 +68,13 @@ parse_disp26 (CGEN_CPU_DESC cd,
 
       *strp += 4;
       errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_OR1K_PLT26,
-                                   & result_type, & value);
+				   & result_type, & value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 2) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 2) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -97,9 +97,9 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 3;
       errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_HI16,
-                                   & result_type, & value);
+				   & result_type, & value);
       if (**strp != ')')
-        errmsg = MISSING_CLOSING_PARENTHESIS;
+	errmsg = MISSING_CLOSING_PARENTHESIS;
       ++*strp;
 
       ret = value;
@@ -118,9 +118,9 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 3;
       errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
-                                   & result_type, & value);
+				   & result_type, & value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
 
       ret = value;
@@ -137,13 +137,13 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 4;
       errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_OR1K_GOT16,
-                                   & result_type, & value);
+				   & result_type, & value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -153,14 +153,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_GOTPC_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_GOTPC_HI16,
+				   & result_type, & value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -170,14 +170,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_GOTPC_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_GOTPC_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -187,15 +187,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_GOTOFF_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_GOTOFF_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -205,14 +205,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_GOTOFF_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_GOTOFF_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -222,15 +222,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_GD_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_GD_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -240,14 +240,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_GD_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_GD_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -257,15 +257,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LDM_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_LDM_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -275,14 +275,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LDM_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_LDM_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -292,15 +292,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LDO_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_LDO_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -310,14 +310,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LDO_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_LDO_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -327,15 +327,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 11;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_IE_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_IE_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -345,14 +345,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 11;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_IE_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_IE_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -362,15 +362,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LE_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_LE_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -380,14 +380,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LE_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_LE_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/cpu/or1korbis.cpu ./cpu/or1korbis.cpu
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/cpu/or1korbis.cpu	2015-01-13 02:02:17.000000000 +0000
+++ ./cpu/or1korbis.cpu	2015-01-20 02:05:36.000000000 +0000
@@ -52,6 +52,7 @@
 (dnf f-resv-25-10  "resv-25-10"                ((MACH ORBIS-MACHS) RESERVED) 25 10)
 (dnf f-resv-25-5   "resv-25-5"                 ((MACH ORBIS-MACHS) RESERVED) 25 5)
 (dnf f-resv-23-8   "resv-23-8"                 ((MACH ORBIS-MACHS) RESERVED) 23 8)
+(dnf f-resv-20-21  "resv-20-21"                ((MACH ORBIS-MACHS) RESERVED) 20 21)
 (dnf f-resv-20-5   "resv-20-5"                 ((MACH ORBIS-MACHS) RESERVED) 20 5)
 (dnf f-resv-20-4   "resv-20-4"                 ((MACH ORBIS-MACHS) RESERVED) 20 4)
 (dnf f-resv-15-8   "resv-15-8"                 ((MACH ORBIS-MACHS) RESERVED) 15 8)
@@ -484,6 +485,29 @@
      ()
 )
 
+(dni l-msync "memory sync"
+     ((MACH ORBIS-MACHS))
+     "l.msync"
+     (+ OPC_SYSTRAPSYNCS OPC_SYSTRAPSYNCS_MSYNC (f-resv-20-21 0))
+     (nop)
+     ()
+)
+
+(dni l-psync "pipeline sync"
+     ((MACH ORBIS-MACHS))
+     "l.psync"
+     (+ OPC_SYSTRAPSYNCS OPC_SYSTRAPSYNCS_PSYNC (f-resv-20-21 0))
+     (nop)
+     ()
+)
+
+(dni l-csync "context sync"
+     ((MACH ORBIS-MACHS))
+     "l.csync"
+     (+ OPC_SYSTRAPSYNCS OPC_SYSTRAPSYNCS_CSYNC (f-resv-20-21 0))
+     (nop)
+     ()
+)
 
 (dni l-rfe "return from exception"
      ; This function may not be in delay slot
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/depcomp ./depcomp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/depcomp	2015-01-13 02:02:17.000000000 +0000
+++ ./depcomp	2015-01-20 02:05:36.000000000 +0000
@@ -1,10 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,9 +27,9 @@ scriptversion=2009-04-28.21; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
   -h | --h*)
     cat <<\EOF
 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -40,11 +39,11 @@ as side-effects.
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <bug-automake@gnu.org>.
@@ -57,6 +56,66 @@ EOF
     ;;
 esac
 
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
+# A tabulation character.
+tab='	'
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile"
 
 rm -f "$tmpdepfile"
 
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
 # Some modes work just like other modes, but use different flags.  We
 # parameterize here, but still list the modes in the big case below,
 # to make depend.m4 easier to write.  Note that we *cannot* use a case
@@ -80,18 +142,32 @@ if test "$depmode" = hp; then
 fi
 
 if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
 fi
 
 cygpath_u="cygpath -u -f -"
 if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u="sed s,\\\\\\\\,/,g"
-   depmode=msvisualcpp
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
 fi
 
 case "$depmode" in
@@ -114,8 +190,7 @@ gcc3)
   done
   "$@"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -123,13 +198,17 @@ gcc3)
   ;;
 
 gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
 ## There are various ways to get dependency output from gcc.  Here's
 ## why we pick this rather obscure method:
 ## - Don't want to use -MD because we'd like the dependencies to end
 ##   up in a subdir.  Having to rename by hand is ugly.
 ##   (We might end up doing this anyway to support other compilers.)
 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
+##   -MM, not -M (despite what the docs say).  Also, it might not be
+##   supported by the other compilers which use the 'gcc' depmode.
 ## - Using -M directly means running the compiler twice (even worse
 ##   than renaming).
   if test -z "$gccflag"; then
@@ -137,31 +216,31 @@ gcc)
   fi
   "$@" -Wp,"$gccflag$tmpdepfile"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
-## well.
+## well.  hp depmode also adds that space, but also prefixes the VPATH
+## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -172,59 +251,21 @@ hp)
   exit 1
   ;;
 
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
-    echo >> "$depfile"
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
   ;;
 
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.u
     tmpdepfile2=$base.u
@@ -237,9 +278,7 @@ aix)
     "$@" -M
   fi
   stat=$?
-
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     exit $stat
   fi
@@ -248,44 +287,100 @@ aix)
   do
     test -f "$tmpdepfile" && break
   done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
+  aix_post_process_depfile
+  ;;
+
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
   fi
+  rm -f "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file.  A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+  # Portland's C compiler understands '-MD'.
+  # Will always output deps to 'file.d' where file is the root name of the
+  # source file under compilation, even if file resides in a subdirectory.
+  # The object file name does not affect the name of the '.d' file.
+  # pgcc 10.2 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
+  # and will wrap long lines using '\' :
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
+  set_dir_from "$object"
+  # Use the source, not the object, to determine the base name, since
+  # that's sadly what pgcc will do too.
+  set_base_from "$source"
+  tmpdepfile=$base.d
+
+  # For projects that build the same source file twice into different object
+  # files, the pgcc approach of using the *source* file root name can cause
+  # problems in parallel builds.  Use a locking strategy to avoid stomping on
+  # the same $tmpdepfile.
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
+  numtries=100
+  i=$numtries
+  while test $i -gt 0; do
+    # mkdir is a portable test-and-set.
+    if mkdir "$lockdir" 2>/dev/null; then
+      # This process acquired the lock.
+      "$@" -MD
+      stat=$?
+      # Release the lock.
+      rmdir "$lockdir"
+      break
+    else
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
+        sleep 1
+        i=`expr $i - 1`
+      done
+    fi
+    i=`expr $i - 1`
+  done
+  trap - 1 2 13 15
+  if test $i -le 0; then
+    echo "$0: failed to acquire lock after $numtries attempts" >&2
+    echo "$0: check lockdir '$lockdir'" >&2
+    exit 1
+  fi
 
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -297,8 +392,8 @@ icc)
   sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
   # Some versions of the HPUX 10.20 sed can't process this invocation
   # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -309,9 +404,8 @@ hp2)
   # 'foo.d', which lands next to the object file, wherever that
   # happens to be.
   # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from  "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.d
     tmpdepfile2=$dir.libs/$base.d
@@ -322,8 +416,7 @@ hp2)
     "$@" +Maked
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
      rm -f "$tmpdepfile1" "$tmpdepfile2"
      exit $stat
   fi
@@ -333,77 +426,107 @@ hp2)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add 'dependent.h:' lines.
     sed -ne '2,${
-	       s/^ *//
-	       s/ \\*$//
-	       s/$/:/
-	       p
-	     }' "$tmpdepfile" >> "$depfile"
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
   else
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile" "$tmpdepfile2"
   ;;
 
 tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
 
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
+msvc7)
+  if test "$libtool" = yes; then
+    showIncludes=-Wc,-showIncludes
+  else
+    showIncludes=-showIncludes
+  fi
+  "$@" $showIncludes > "$tmpdepfile"
+  stat=$?
+  grep -v '^Note: including file: ' "$tmpdepfile"
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The first sed program below extracts the file names and escapes
+  # backslashes for cygpath.  The second sed program outputs the file
+  # name when reading, but also accumulates all include files in the
+  # hold buffer in order to output them again at the end.  This only
+  # works with sed implementations that can handle large buffers.
+  sed < "$tmpdepfile" -n '
+/^Note: including file:  *\(.*\)/ {
+  s//\1/
+  s/\\/\\\\/g
+  p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+  s/.*/'"$tab"'/
+  G
+  p
+}' >> "$depfile"
+  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+  rm -f "$tmpdepfile"
+  ;;
+
+msvc7msys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
 
 #nosideeffect)
   # This comment above is used by automake to tell side-effect
@@ -422,7 +545,7 @@ dashmstdout)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -442,18 +565,18 @@ dashmstdout)
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -503,12 +626,15 @@ makedepend)
   touch "$tmpdepfile"
   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # makedepend may prepend the VPATH from the source file name to the object.
+  # No need to regex-escape $object, excess matching of '.' is harmless.
+  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile" "$tmpdepfile".bak
   ;;
 
@@ -525,7 +651,7 @@ cpp)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -544,10 +670,10 @@ cpp)
     esac
   done
 
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
+  "$@" -E \
+    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    | sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   cat < "$tmpdepfile" >> "$depfile"
@@ -579,23 +705,23 @@ msvisualcpp)
       shift
       ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-	set fnord "$@"
-	shift
-	shift
-	;;
+        set fnord "$@"
+        shift
+        shift
+        ;;
     *)
-	set fnord "$@" "$arg"
-	shift
-	shift
-	;;
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
     esac
   done
   "$@" -E 2>/dev/null |
   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
-  echo "	" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/djunpack.bat	2015-01-13 02:09:42.000000000 +0000
+++ ./djunpack.bat	2015-01-20 02:11:53.000000000 +0000
@@ -17,8 +17,8 @@ Rem
 Rem The following 2 lines need to be changed with each new GDB release, to
 Rem be identical to the name of the top-level directory where the GDB
 Rem distribution unpacks itself.
-set GDBVER=gdb-7.8.1.20150113
-if "%GDBVER%"=="gdb-7.8.1.20150113" GoTo EnvOk
+set GDBVER=$package-7.8.90.20150120
+if "%GDBVER%"=="$package-7.8.90.20150120" GoTo EnvOk
 Rem If their environment space is too small, re-exec with a larger one
 command.com /e:4096 /c %0 %1
 GoTo End
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/ChangeLog ./etc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/ChangeLog	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/ChangeLog	2015-01-20 02:05:36.000000000 +0000
@@ -1,3 +1,22 @@
+2014-06-27  Ludovic CourtÃ¨s  <ludo@gnu.org>
+
+	PR external/16327
+	PR external/16328
+	* Makefile.in (MAKEINFO, TEXI2DVI, TEXI2PDF, TEXI2HTML, DVIPS)
+	(TEXIDIR, INFOFILES, DVIFILES, PDFFILES, HTMLFILES): Remove.
+	(all): Remove dependency on 'info'.
+	(install): Remove dependency on 'install-info'.
+	(standards.info, standards.html, standards.dvi, standards.ps)
+	(standards.pdf, configure.info, configure.dvi, configure.ps)
+	(configure.pdf, configure.pdf): Remove.
+	(info, install-info, html, install-html, dvi, pdf, install-pdf)
+	clean, maintainer-clean, realclean): Remove body.
+	* etc/configbuild.ein, etc/configbuild.fig, etc/configbuild.jin,
+	etc/configbuild.tin, etc/configdev.ein, etc/configdev.fig,
+	etc/configdev.jin, etc/configdev.tin, etc/configure.texi,
+	etc/fdl.texi, etc/gnu-oids.texi, etc/make-stds.texi,
+	etc/standards.texi: Remove.
+
 2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
 	* Makefile.in (install-strip): New target.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configbuild.ein ./etc/configbuild.ein
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configbuild.ein	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/configbuild.ein	1970-01-01 00:00:00.000000000 +0000
@@ -1,149 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: configbuild.fig
-%%Creator: fig2dev Version 3.1 Patchlevel 1
-%%CreationDate: Fri Jun 12 20:13:16 1998
-%%For: ian@tito.cygnus.com (Ian Lance Taylor)
-%%Orientation: Portrait
-%%BoundingBox: 0 0 322 173
-%%Pages: 0
-%%BeginSetup
-%%IncludeFeature: *PageSize Letter
-%%EndSetup
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {} def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--62.0 226.0 translate
-1 -1 scale
-
-/clp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
-
-$F2psBegin
-10 setmiterlimit
- 0.06000 0.06000 sc
-7.500 slw
-% Polyline
-n 1050 900 m 2100 900 l  2100 1425 l  1050 1425 l  clp  gs col-1 s gr 
-% Polyline
-n 1500 1425 m 1500 2100 l  gs col-1 s gr 
-n 1530.00 1980.00 m 1500.00 2100.00 l 1470.00 1980.00 l  1500.50 1980.50 l 1530.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 1500 2625 m 1500 3300 l  gs col-1 s gr 
-n 1530.00 3180.00 m 1500.00 3300.00 l 1470.00 3180.00 l  1500.50 3180.50 l 1530.00 3180.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 2925 900 m 3825 900 l  3825 1425 l  2925 1425 l  clp  gs col-1 s gr 
-% Polyline
-n 1155 2100 m 1050 2100 1050 2520 105 arcto 4 {pop} repeat 1050 2625 2220 2625 105 arcto 4 {pop} repeat 2325 2625 2325 2205 105 arcto 4 {pop} repeat 2325 2100 1155 2100 105 arcto 4 {pop} repeat clp  gs col-1 s gr 
-% Polyline
-n 2850 2100 m 4125 2100 l  4125 2625 l  2850 2625 l  clp  gs col-1 s gr 
-% Polyline
-n 3375 1425 m 3375 2100 l  gs col-1 s gr 
-n 3405.00 1980.00 m 3375.00 2100.00 l 3345.00 1980.00 l  3375.50 1980.50 l 3405.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 5100 900 m 6300 900 l  6300 1350 l  5100 1350 l  clp  gs col-1 s gr 
-% Polyline
-n 5625 1350 m 5625 2100 l  gs col-1 s gr 
-n 5655.00 1980.00 m 5625.00 2100.00 l 5595.00 1980.00 l  5625.50 1980.50 l 5655.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 5205 2100 m 5100 2100 5100 2520 105 arcto 4 {pop} repeat 5100 2625 6270 2625 105 arcto 4 {pop} repeat 6375 2625 6375 2205 105 arcto 4 {pop} repeat 6375 2100 5205 2100 105 arcto 4 {pop} repeat clp  gs col-1 s gr 
-% Polyline
-n 5625 2625 m 5625 3300 l  gs col-1 s gr 
-n 5655.00 3180.00 m 5625.00 3300.00 l 5595.00 3180.00 l  5625.50 3180.50 l 5655.00 3180.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 5100 3300 m 6225 3300 l  6225 3750 l  5100 3750 l  clp  gs col-1 s gr 
-% Polyline
-	[1 50.0] 50.000000 setdash
-n 2850 2400 m 2325 2400 l  gs col-1 s gr 	[] 0 setdash
-n 2445.00 2430.00 m 2325.00 2400.00 l 2445.00 2370.00 l  2445.50 2400.50 l 2445.00 2430.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-	[1 50.0] 50.000000 setdash
-n 4125 2400 m 5100 2400 l  gs col-1 s gr 	[] 0 setdash
-n 4980.00 2370.00 m 5100.00 2400.00 l 4980.00 2430.00 l  4980.50 2400.50 l 4980.00 2370.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 1050 3300 m 1950 3300 l  1950 3750 l  1050 3750 l  clp  gs col-1 s gr 
-/Times-Roman findfont 180.00 scalefont setfont
-1200 1200 m
-gs 1 -1 sc (config.in) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-3000 1200 m
-gs 1 -1 sc (configure) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-3000 2400 m
-gs 1 -1 sc (config.status) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-1200 2400 m
-gs 1 -1 sc (config.status) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-1200 3600 m
-gs 1 -1 sc (config.h) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-5250 1200 m
-gs 1 -1 sc (Makefile.in) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-5250 2400 m
-gs 1 -1 sc (config.status) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-5250 3600 m
-gs 1 -1 sc (Makefile) col-1 show gr
-$F2psEnd
-restore
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configbuild.fig ./etc/configbuild.fig
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configbuild.fig	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/configbuild.fig	1970-01-01 00:00:00.000000000 +0000
@@ -1,50 +0,0 @@
-#FIG 3.1
-Portrait
-Center
-Inches
-1200 2
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 1050 900 2100 900 2100 1425 1050 1425 1050 900
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 1500 1425 1500 2100
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 1500 2625 1500 3300
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 2925 900 3825 900 3825 1425 2925 1425 2925 900
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-	 2325 2625 2325 2100 1050 2100 1050 2625 2325 2625
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 2850 2100 4125 2100 4125 2625 2850 2625 2850 2100
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 3375 1425 3375 2100
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 5100 900 6300 900 6300 1350 5100 1350 5100 900
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 5625 1350 5625 2100
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-	 6375 2625 6375 2100 5100 2100 5100 2625 6375 2625
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 5625 2625 5625 3300
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 5100 3300 6225 3300 6225 3750 5100 3750 5100 3300
-2 1 2 1 -1 7 0 0 -1 3.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 2850 2400 2325 2400
-2 1 2 1 -1 7 0 0 -1 3.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 4125 2400 5100 2400
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 1050 3300 1950 3300 1950 3750 1050 3750 1050 3300
-4 0 -1 0 0 0 12 0.0000000 4 180 645 1200 1200 config.in\001
-4 0 -1 0 0 0 12 0.0000000 4 180 705 3000 1200 configure\001
-4 0 -1 0 0 0 12 0.0000000 4 180 990 3000 2400 config.status\001
-4 0 -1 0 0 0 12 0.0000000 4 180 990 1200 2400 config.status\001
-4 0 -1 0 0 0 12 0.0000000 4 180 600 1200 3600 config.h\001
-4 0 -1 0 0 0 12 0.0000000 4 135 855 5250 1200 Makefile.in\001
-4 0 -1 0 0 0 12 0.0000000 4 180 990 5250 2400 config.status\001
-4 0 -1 0 0 0 12 0.0000000 4 135 675 5250 3600 Makefile\001
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configbuild.jin ./etc/configbuild.jin
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configbuild.jin	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/configbuild.jin	1970-01-01 00:00:00.000000000 +0000
@@ -1,45 +0,0 @@
-ÿØÿàJFIFÿÛC		
-
 $.' ",#(7),01444'9=82<.342ÿÛC			

2!!22222222222222222222222222222222222222222222222222ÿÀØ}"ÿÄ	
-ÿÄµ}!1AQa"q2�‘¡#B±ÁRÑð$3br‚	
-%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ	
-ÿÄµw!1AQaq"2�B‘¡±Á	#3RðbrÑ
-$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ?÷Ú(®3AÐmµ‹;»ÛÛÝa§mJù?w¬]D¡RêTP$
-U”„vtVü!ÚgüýkŸø=½ÿã´Â¦ÏÖ¹ÿƒÛßþ;@ôVü!ÚgüýkŸø=½ÿã´Â¦ÏÖ¹ÿƒÛßþ;@ôVü!ÚgüýkŸø=½ÿã´Â¦ÏÖ¹ÿƒÛßþ;@ôVü!ÚgüýkŸø=½ÿãµ�â¿
Úiž×/í/µÈîm´ùæ…ÿ¶ï×XØ©Á—´ÛÑEQEQEQX2/ÿúGÓÃçj0»Á3Dûê$`Ha•b8#­ð‡iŸóõ®àö÷ÿŽÐý�ÿv™ÿ?Zçþoøíð‡iŸóõ®àö÷ÿŽÐý�ÿv™ÿ?Zçþoøíð‡iŸóõ®àö÷ÿŽÐý�ÿv™ÿ?Zçþoøíð‡iŸóõ®àö÷ÿŽÐýÎxV#kyâ+%¸ºšmIRµ\É;"›[w 4ŒÍ�ÌÇîk£ Š( Š( Š( Š( ŠÄñœóZøÄò¼3Å¦Ü¼rFÅYDÄG ƒÞ£ÿ„;LÿŸ­sÿ·¿üv€7è¬øC´Ïùú×?ð{{ÿÇhÿ„;LÿŸ­sÿ·¿üv€7è¬øC´Ïùú×?ð{{ÿÇhÿ„;LÿŸ­sÿ·¿üv€7è¬øC´Ïùú×?ð{{ÿÇhÿ„;LÿŸ­sÿ·¿üv€7è¬øC´Ïùú×?ð{{ÿÇhÿ„;LÿŸ­sÿ·¿üv€7è®#Å~´Ó<®_Ú_k‘ÜÛióÍÿmÞ®±±Sƒ.k· Š( °<ÿ KŸû
-ê?ú[5oÖƒ¿ä	sÿa]GÿKf 
{«ë;#íwp[ùò¬ùÒó$oº‹ž¬pp&£ŸVÓmn%·¸Ô-až+su$rLªÉ82NBü]+3^Ñ¯/µ[»D±›·3Cz	�Ë˜ÄYÊ€|Ìy@ygh`Çç\sNjKâ9usk$ôêq‰%df›ìe�€˜ùüÌ’>îÃ÷¨æ·ã
#GÒ'¾û}Œ¾]ÒØàÝ"¢Ü3ØíÎÍ¹ÜÜªàãlkÚj[ßÝÜj:tVvwD“‹µ+ ¬„àFá›nÜŸá=N#§x;]‚ÎÂÚàiÊ ²Òmähî]¾k+£! ÆCÆsÛ1Èùª¿‰ìum<ßj2ÜÚé¯.»å•êÝ�+öo!þÐÒBV Ñ£ ?ï%AÛ,Û>½¦½…¥å®£§MÝÂAo+]ªÇ3ÁTa�Ï€ØQÔ®8ä‹Z¶›©<‰c¨ZÝ<hŽëÊåU×rƒÀeäã‘\ ·¿Õü¦[hZmŒ6ÖòÙ´q} B–Ó†;FÅãa{ýå“q4š�®Øêö—°éÊ‘¾¦&X.ÝÈ[™Òt+˜—q¥8ã
Ÿá Î°<uÿ$ûÄ¿ö
-ºÿÑM[õ�ã¯ù'Þ%ÿ°U×þŠjß¢Š(¢Š(¢Š(Æ?ò¶ÿ°®�ÿ¥°Ö½Õõ��‘ö»¸-üùV|éy’7ÝEÏV88“Y1ÿ�%·ý…tïý-†�{F¼¾Ô-níÆlZÜXÍ
è&?.cg*ó1åå�¡ƒ�qÈœú¶›kq-½Æ¡kñ[›©#’eVHAÁ�‚râéYšßŒ4�Hžûíö2ùwKcƒtŠ‹pÌc·;6çspJ¨cƒŒU9ü=©/ˆåÔ-Í¬�Ó©Æ$•‘šo±ý”B@Rcçó2Hû»Þ¬�;ÁÚìv×NQ–“o#GríóY]	Æ23žØaŽGÍ@p×´Ô·¿»¸Ôtè¬ìî<‰'jV6AY	À�Ã6Ý¹?Âzœ[x¯Ã—›~Ëâ
*}Ò¤Ê¼�³#çbp~óml§+Œñ=Ž­§›íF[›]5å×b¼²½[°#…~Íä?ÚHJÄ4`¤ýä¨;e¬Zèw:ž�gw¢ÛZÁfÖöP¬3\¾Ô7$^[ìc,Rœ!ÚBm|1;@\|I¡yîµ§yéÍ'Ú“lK 2Ç8�Iëž+R¼õü¬K F‚-:ÛR‹]›Ud·½ž5¹YL�•§�RDp“«\Œe¡Ù>›¡ÙXÉ}ž%‰"�™’$^7ÌÛW¸ãv3…ÎÈoÅöOý"¶­úÀð÷ü†üWÿaTÿÒ+jß Š( Š( Š( Š( É>ñ/ý‚®¿ôSVý`xëþI÷‰ìuÿ¢š·èGñ7ö�ˆõ­âÓì×:t FâMésD}ÊHr‰zà…ÞŸ1Ü*¾�ãK=N-júàA§éuÐ¶Žöæä(Ÿ*�ær¬mæ!FÜw†ŒŒçÜxWW½¾Ö.L°XÍs¨	m®m.ßÍïvó+,mm‘‰TG˜±ç!2ÑÉá=W:ŠÃk§Cmý¥Ý�½½ä�ÛpžbFÜ€ŠÙ�vAhÏÊI $zæßê:mÜp[Ãm¬°ÜÿÖùï$j¤[|dgrô'jÞ'Ò4m?U»¹¾�¿²¢ÝC¨dLŒ¢•$aŸ¢ƒŒ’1\Å—ƒ5}*[+ÛW±š÷LÓììmRi�b™ai‘ÙÆÃ±š)AR ²1eÉBÛëËà=[þ*8c{]B-B;k©n®*]eÌ^I&8ñ!È™Ü¨>L± ~ì‚	m¿²¯{aÊ[j[Ú´¸@ÀþeùÑ”�»Ô±ùp7oÃ}gqyqi
Ü\ÛmóáIx·®å®G#=k�ñ…â;Ý~îêÂ×J{i³¶ï¤�ÿÑns•°‹•êqŒóœGð®­¢ø‡Q¿�,nUå»–Úion�üÓ”wGï1™S9T&X�ÐÂM¤EöÇºÕô¨a¶•£/öÔùvìWó3�Œ¯"©8Ü™ ¶½qØ^#ÿ„¯íßeÒ¾Åýµý¡»íÒyž_Ù>Ë�¾N7cçûØÏËŸâ®ƒÂº}æ‘á='L¿›+XíœÁ!tmŠ0%Tò8ÇÇ8É¯ã¯ù'Þ%ÿ°U×þŠjß¬É>ñ/ý‚®¿ôSVýQE�àïù\ÿØWQÿÒÙ«~¹M:ÛÅ:<W6¶úf�s^Ý\G,šœ±1Ygy@*-Øã©é@]�öÏÿÐCÿÁÌ¿ü‹GÛ<_ÿ@=ÿ2ÿò-oÑ\¦­®ø§GÑ¯µK�Gh,íä¸‘cÖ%,U±6ÀgÔUÏ¶x¿þ€zþeÿäZß¢°>Ùâÿúèø9—ÿ‘hûg‹ÿè¡ÿàæ_þE 
úÀñ×ü“ïÿØ*ëÿE5lñýô?üËÿÈµŸ®ÁâýkÃÚ–•ý“¡ÃöÛYm¼ßíi[fô+»fÆsŒŠëè¢Š(¢Š(¢ŠÀñ�ü�-¿ì+§él5¿Y&Óï5=C` k˜î­nQg�¢7•<r•,ˆÈB3ƒÖ«ý³ÅÿôÐÿðs/ÿ"Ðý�öÏÿÐCÿÁÌ¿ü‹GÛ<_ÿ@=ÿ2ÿò-oÑ\¤šïŠbÖm´¶Ðt>âÞk„a¬K´,m°?èÙÎe\qØþ7>Ùâÿúèø9—ÿ‘h~ŠÀûg‹ÿè¡ÿàæ_þE£íž/ÿ ‡ÿƒ™ù€ÈoÅöOý"¶­úÄðí†¥k.±uªEk÷÷¢ábµ�¦TQQ`³"s=;ŠÛ Š( Š( Š( Š( É>ñ/ý‚®¿ôSQÿ	×„?èjÐÿðaÿ[ôPü'^ÿ¡«CÿÁ„_üUð�xCþ†­ÿñU¿E`Âuáú´?üEÿÅQÿ	×„?èjÐÿðaÿ[õ�áïù
ø¯þÂ©ÿ¤VÔÂuáú´?üEÿÅQÿ	×„?èjÐÿðaÿ[ôPü'^ÿ¡«CÿÁ„_üUð�xCþ†­ÿñU¿Epž3ñŸ…®¼
â{èóO.›r‘ÇôLÎÆ&$“Ú»º( Š( Š( Š( É>ñ/ý‚®¿ôSVý`xëþI÷‰ìuÿ¢š·è¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(óþJ�ÿ`«ÿýi[õ�yÿ%Fÿ°Uÿþ�´­ú(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š+Ãßòñ_ý…SÿH­«~°<=ÿ!¿ÿØU?ôŠÚ€7è¢Š(¢Š(¢Š(¢Š(¢Š(¢ŠÀñ×ü“ïÿØ*ëÿE5oÖŽ¿äŸx—þÁW_ú)«~€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€0/?ä èßö
-¿ÿÑ¶•¿XŸòPtoû_ÿèÛJß Š( Š( Š( Š( Š( Š( Š( Š( °<=ÿ!¿ÿØU?ôŠÚ·ëÃßòñ_ý…SÿH­¨~Š( Š( Š( Š( Š+œD›Ål×·VÚM½ÃÛG¤¦&ºd;df�bD d
-…3å±%ÕÀ�ÿv™ÿ?Zçþoøíð‡iŸóõ®àö÷ÿŽÐÆ{[Ë�†œ¶3ßE5¶ÙY-¯›;$YûÑìvb:| ž­ÿÚÞYøF‹Pžú{ÖµInýËL$q½•‰çå,TÈÕþÑ®­å·¸—Xš	P¤‘É­Þ2º‘‚2à‚;TŸð‡iŸóõ®àö÷ÿŽÐý�ÿv™ÿ?Zçþoøíð‡iŸóõ®àö÷ÿŽÐý�ÿv™ÿ?Zçþoøíð‡iŸóõ®àö÷ÿŽÐý�ÿv™ÿ?ZçþoøíFé7…î-on®t›‹„¶’;¹L­jÎvÆË!ÌŽB¨UËãÌR
-*@::(¢€
-(¢€
-+ŒÐtmbÎîöö÷XiÛR¾OÝëQ(Tº•I€@À¥jÂ¦ÏÖ¹ÿƒÛßþ;@ôVü!ÚgüýkŸø=½ÿã´Â¦ÏÖ¹ÿƒÛßþ;@ˆ4½^OÚAòoõÅÓ'µ72yS8†?/ïÆ06ˆÙ£ƒz÷.3Õk×«œ>Ñšá.]`ÎˆÈ’nór«XæäUr;í•'ü!ÚgüýkŸø=½ÿã´¿E`Â¦ÏÖ¹ÿƒÛßþ;Gü!ÚgüýkŸø=½ÿã´¿E`Â¦ÏÖ¹ÿƒÛßþ;Gü!ÚgüýkŸø=½ÿã´¿Eqšöƒm£ÙÚ^Ù^ë:êV)ûÍbêU*÷Q#¯!R
-± õ®Î€
-(¢€
-(¢€
-(¢€
-*½õí¾™§ÜßÝÉåÛ[DÓLûIÚŠ	c�ÉÀ¥bA¡\ëñ^k×zŒ7 °Ú_=¼v„Žc
)�Žff‚T m´ÑÑXð‡iŸóõ®àö÷ÿŽÑÿv™ÿ?Zçþoøío×�ü%Òõ{Ox×ûFÿ\šÞÎëìÐ}¾gdŸ'‰pÃIåÇŽÄWÿv™ÿ?ZçþoøíG�ôh^WŠ]agß+.·x¶Ð¹oÞòvªŒžÀÔÑÑXð‡iŸóõ®àö÷ÿŽÑÿv™ÿ?ZçþoøíoÑXð‡iŸóõ®àö÷ÿŽÑÿv™ÿ?ZçþoøíoÑXð‡iŸóõ®àö÷ÿŽÔšuÍÝŽ²Ú%ýÓÞ·76—rª,’¨`²«„r…£;€\‰@Á(Ì@6è¢Š+Áßò¹ÿ°®£ÿ¥³Vý`x;þ@—?öÔô¶j×º¾³±ò>×w¿Ÿ*Á� O2Fû¨¹êÇrj9õm6Öâ[{�BÖâ·7RG$Ê¬�ƒƒ!ä ?ÅÒ³5íòûPµ»´K±kqc47 ˜ü¹ŒEœ¨ÌÇ”–v†~uÇ4çðö¤¾#—P·6²@/N§’VFi¾ÇöQ	H	�ŸÌÉ#îì?z€.k~0Ò4}"{ï·ØËåÝ-Ž
Ò*-Ã0]ŽÜìÛ�ÍÁ*¡Ž1VÆ½¦¥½ýÝÆ£§EggqäI8»R±°
-
-ÈNn¶íÉþÔàr:wƒµØ,ì-®œ¢-&ÞFŽåÛæ²º2Œd<g=°Ã�š«øžÇVÓÍö£-Í®šòë±^Y^­ØÂ¿fòí
$%b
0RþòT²Àô:¶›s¥�R
BÖ]<#9»I•¢
-¹ÜwƒŒœñƒTÆ>{Û+4×´çžùÚªÜ©û>R	-ò�œ’Úq�¤šç€­ìtÍ.Ö;H’Ùmb–þdVÌ2RTöm�^)FKnV*Æ� jÚ|Ú5ãÍkww]Ev�·$¬êcŒuòñ÷Ì$±(x —¾*ðþ�g%ÝÞ³c¼wBÊIêBNH[`ðÃ9 ýÐ	8š}Ÿ‰4-EàK-kN¹yÝÒ‚éÈÈ¡œ.$)�Ðk‘°ð6«gÊù–¬å,¶s!W{9üä!
-â“sebÚ6‡ÉLxWÿ„‚D¥ˆŒê	©Ê¢áò²Qjñ/îþeº@çˆ
-UAÞ:;=[MÔ..­ìµ[™íeÄpÌ®Ð¶HÃ€r§*x>‡Ò³<cÿ Koû
-éßú[
SðO‡µ-ÞEÔ
¬cìð[Cmm+N±,a³¶YHP—;crû0pØl8‘¡ðär¤/;¦¥§²ÅPÎEä?(Ü@ÉéÉÔŠèè¯oŒ~)ø{K¸ðkè�j7©o#j++4ŠÎŠLyT€ÜðÝGNþÃ
Ä²ýŸ}œñy±yCä·Ëò6å¹?w+òžzdÅ^‰eû>û9âób2>ò‡Éo—äl1Ër~îWå<ôÉ
Ä²ýŸ}œñy±yCä·Ëò6å¹?w+òžzd#Áßò¹ÿ°®£ÿ¥³V½Õõ��‘ö»¸-üùV|éy’7ÝEÏV88“Xž‘¦ðä’¼/¾¥¨3E!RÈMäß)ÚHÈéÁ#Ðš“^Ñ¯/µ[»D±›·3Cz	�Ë˜ÄYÊ€|Ìy@ygh`Çç\r§>­¦ÚÜKoq¨ZÃ<VæêHä™U’pd œ„øºVf·ã
#GÒ'¾û}Œ¾]ÒØàÝ"¢Ü3ØíÎÍ¹ÜÜªàãNjKâ9usk$ôêq‰%df›ìe�€˜ùüÌ’>îÃ÷«#Nðv»�…µÀÓ”Ae¤ÛÈÑÜ»|ÖWFB@1Œ‡Œç¶c‘óP\5í5-ïîî5:+;;�"IÅÚ•�€PVBp#pÍ·nOðž§Ä:¶›s¥�R
BÖ]<#9»I•¢
-¹ÜwƒŒœñƒ\‰ìum<ßj2ÜÚé¯.»å•êÝ�+öo!þÐÒBV Ñ£ ?ï%AÛ-¯¤šç€­ìtÍ.Ö;H’Ùmb–þdVÌ2RTöm�^)FKnV*a|cá§½²³M{Nyï�½ª­Ê‘0³å à’ß(É!±�§^ø«Ãúuœ—wzÍŒVñÝ)$3©	9 ymƒÃäƒ÷@$àk/NÐ5m>mñæµ»»�.¢»
ˆFÛ‰’Vu1Æºùxû‰æX”<‹j¶q\¯™jÎRËa72w³ŸÎB® I701¦V-£h|�:ë?hZ‹À–ZÖ�ró»¤+Ò9‘‘C8\HR	  Õ‹=[MÔ..­ìµ[™íeÄpÌ®Ð¶HÃ€r§*x>‡Ò¹Ááý_þu–"3¨&§*‹‡ÊÈmE«Ä¿»ù”.éœ )Ux“Á>Ô´yP6±�³Ám
µ´­:Ä±†ÎÙdQ!B\í�ËìÁÃa°.xÇþ@–ßöÓ¿ô¶ß¬ÿÈÛþÂºwþ–ÃZíq*ù˜³�¶J‘®
-|êvåÇÍ÷WqÎpß#`— (ªíq*ù˜³�¶J‘®
-|êvåÇÍ÷WqÎpß#`—#\J¾f,çm’¤k‚Ÿ:�¹qó}ÕÜsœ7ÈØåÈŠ*»\J¾f,çm’¤k‚Ÿ:�¹qó}ÕÜsœ7ÈØåÈ×¯™‹9Ûd©à§Î§n\|ßuwç
ò6ùrbŠ®×¯™‹9Ûd©à§Î§n\|ßuwç
ò6ùs™âmjïEð¶·ª[X<“Ø[É$*å
-É„
¿ïƒ°r	
ò6ùrŽ¿äŸx—þÁW_ú)«~¼XüHñ‰ü
­Áà]FÖ	t)ä:„gl-˜±¼	�„1l+;`p“^Ó@þÝgý¡ýŸö¸>Ûåyÿfó™åçný½vçŒôÍW:î�±M)ÕlDpÊðJæá1ˆ¥Ýç†UVb O¨[è×–þ%»ºÙc-•ÍÐ¾ó$¦ŠAn¶ûq…á7y›³†dÙÎêçÁÚí¦“ãNš{dÒí#\¼k$6S4¢BDlUÜ�»0BõÞÝ(£»ñ†‘k«éÖo±?lµ–ûÎ{¤T[t\ïwg9Ô‘³ò`Ø“ÄÚEŽŸcuªêúU—Û"FZõ<¹8ùnÛw¯Ì9ÀÈ àf±ô¿êúv§öÆKû?ö¯�‚áÇ›ö›˜ç�qòþLmelnÇnÎ!qkqá›­
Mà-g¥ZCub·aWQ{i­þËº-òÌ¬Œ@¦ZHT±äÔµ[MÑíÖãTÔ-l`g²]L±)l€X�œÇ±ª�x«Ã÷7š�¤ZÍ‹\iÛÍäfu fÉû«¸ÝÈ' ��â¯êúô¶­j–6ò,WVÏp×Æ(ädùf3ÊÈŸ<R.3�®ÝRjÔ§}rsjÖú�Ä7Ë#ÊÈë$kùX
-v†X2&VÞ…�UÊ‚@4/<cá­>âÖÍ{N·{«µ@e¹UY"ÈƒŒñÏÍƒŒí8·»¤\Eq,:­Œ‘ÛD³Îép„E.õv üªWæðG=+œÑ<3ªèÓi³(µ”Û=Ün�w#*êhçvó;£)@ý`ÃBJŠø3XƒIk#�r#²°±‹uìðï[I·¤›£PÑ»s…'c"s c´º²¾³Ôìã»°»‚êÚLìš	£`�pÃƒ‚ü+"óþJ�ÿ`«ÿýiVü=aw¦h°Û_N“Ýï’YdDE�ÙÏÜUFìÚ»ˆ,@$Š©yÿ%Fÿ°Uÿþ�´ 
ú(¢€
-Àðwü�.ì+¨ÿélÕ¿X—:v¥cs¢5«›§]YÝ–U–@ª�ÖUÆvª‚68;	f tVÛ<_ÿ@=ÿ2ÿò-lñýô?üËÿÈ´¿Erš¶»â�F¾Õ.4 ³·’âE�X”±TRÄÛœQW>Ùâÿúèø9—ÿ‘h~ŠÀûg‹ÿè¡ÿàæ_þE£íž/ÿ ‡ÿƒ™ù€7è¬¶x¿þ€zþeÿäZ>Ùâÿúèø9—ÿ‘h~°<cÿ Koû
-éßú[
lñýô?üËÿÈµ%¶�©__Û_ëmj†ÕÌ–¶v…™b�«!v•€2¬À
ˆöÈr€ÝQ@Q@ÿ�%Ïý…uý-š·ë”Ó­¼S£Åsko¦h÷05íÕÄrÉ©Ë–w”¢Ý€ >:ž•síž/ÿ ‡ÿƒ™ù€7è¬¶x¿þ€zþeÿäZ>Ùâÿúèø9—ÿ‘h~ŠÀûg‹ÿè¡ÿàæ_þE£íž/ÿ ‡ÿƒ™ù€7è¬¶x¿þ€zþeÿäZ>Ùâÿúèø9—ÿ‘h~ŠÀûg‹ÿè¡ÿàæ_þE£íž/ÿ ‡ÿƒ™ù€ÿÈÛþÂºwþ–Ã[õÊj6Þ)Ö"¶µ¸Ó4{höÖâIcÔå•‚Å:J@Sn ’GZêè¢Š(¢Š(¢Š(Ç_òO¼Kÿ`«¯ýÕ¿Es�Xkº
¼V<Zuö›
-í¢»�í¤¶�FªH%p	U (ÉrKPGE`}³ÅÿôÐÿðs/ÿ"ÑöÏÿÐCÿÁÌ¿ü‹@ôVÛ<_ÿ@=ÿ2ÿò-S³×|S}u¨[Å èáì.¼¥µ‰pXÅ¹_ôn›d^¸ä­utVÛ<_ÿ@=ÿ2ÿò-lñýô?üËÿÈ´¿E`}³ÅÿôÐÿðs/ÿ"ÑöÏÿÐCÿÁÌ¿ü‹@õ�yÿ%Fÿ°Uÿþ�´£íž/ÿ ‡ÿƒ™ù­éz\Ö—÷÷)u©\¢G,±DbŒF…Š"!f îrY‰.yÆÕP
J(¢€
-(¢€
-(¢€0<uÿ$ûÄ¿ö
-ºÿÑM[õ�ã¯ù'Þ%ÿ°U×þŠjß Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( °<=ÿ!¿ÿØU?ôŠÚ·ëÃßòñ_ý…SÿH­¨~Š( Š( Š( Š( Š( Š( É>ñ/ý‚®¿ôSVý`xëþI÷‰ìuÿ¢š·è¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¬ÈoÅöOý"¶­úÀð÷ü†üWÿaTÿÒ+jß¢Š(¢Š(¢Š(¢Š(¢Šã4ÛX³»½½½ÖvÔ¯“÷zÅÔJ.¥ER@ P0é@��ÿv™ÿ?Zçþoøíð‡iŸóõ®àö÷ÿŽÐÆ{[Ë�†œ¶3ßE5¶ÙY-¯›;$YûÑìvb:| ž­ÿÚÞYøF‹Pžú{ÖµInýËL$q½•‰çå,TÈÕþÑ®­å·¸—Xš	P¤‘É­Þ2º‘‚2à‚;TŸð‡iŸóõ®àö÷ÿŽÐý�ÿv™ÿ?Zçþoøíð‡iŸóõ®àö÷ÿŽÐýÈ]éè¾ ðÜ–Wz¯úF¡$2¤ú¥Ìèéö[‡ÁY$eûÈ§§jëè¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢±<g<Ö¾ñÅ¼¯ñi·/‘±VF1È ÷¨ÿáÓ?çë\ÿÁíïÿ 
ú+þí3þ~µÏüÞÿñÚ?áÓ?çë\ÿÁíïÿ 
úò„º^¯iã�ÿhßë“[ÙÝ}š·Ìì“äñ#ni<¸áÃáqØŠïÿáÓ?çë\ÿÁíïÿ¨ãð>�ÊñK¬#ÌûåeÖïvÚ-ûÞNÕQ“ØÚ€::+þí3þ~µÏüÞÿñÚ?áÓ?çë\ÿÁíïÿ 
ú+þí3þ~µÏüÞÿñÚ?áÓ?çë\ÿÁíïÿ 
ú+œð¬FÖóÄVKqu4Ú’¤?j¹’vE6¶î@i›™Ž3Ü×G@Q@`x;þ@—?öÔô¶jß¬ÈçþÂº�þ–Í@÷WÖv>GÚîà·óåX!ó¤	æHßu=XààMG>­¦ÚÜKoq¨ZÃ<VæêHä™U’pd œ„øºVf½£^_j·v‰c6-n,f†ô—1ˆ³•ù˜ò€òÎÐÁ�Î¸æœþÔ—ÄrêæÖHéÔãJÈÍ7ØþÊ! )1óù™$}Ý‡ïPÍoÆF�¤O}öû|»¥±ÁºEE¸f±Û�›s¹¸%T1ÁÆ*Ø×´Ô·¿»¸Ôtè¬ìî<‰'jV6AY	À�Ã6Ý¹?ÂzœGNðv»�…µÀÓ”Ae¤ÛÈÑÜ»|ÖWFB@1Œ‡Œç¶c‘óUØêÚy¾Ôe¹µÓ^]v+Ë+Õ»8WìÞCý¡¤„¬A£F
-@ÞJƒ¶X«Õ¼Uga Ûk–“ØÞi�u3]°±ÇÊ"i€ÊÛY†A `7#;pO
Õ¼Wò¤ÐJ�ã’6®¤dGÞ¸Áo«ø+L¶Ð´Ûm­å³hâú@…-§v8�‹ÆÂö9ûË&ânƒÃš}æ™cwmv ùµ©áhd-º9fyWp*6°ÞA#Œçœ
-þ!ÿ�ß…?ì*ÿúEs[õ�âù
øSþÂ¯ÿ¤W5¿@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@:ÿ’}â_û]è¦­úÀñ×ü“ïÿØ*ëÿE5oÐ�âoíëZÅ§Ù®té@�Ä›Òæ2ˆû”�å&õÁ½>c¸U}Æ–zœZÕõÀƒOÒ4ë¡míÍÈQ>UÌäXÛÌB�¸ïÏ¸ð®¯{}¬\™`±šçPÛ\Ú]¿š-ÞíæV>XÚÛ#¨�1cÎBe£“Âz®u†×N†ÛûJ;»;{{É &%¶á<ÄŒ5¹³ì‚ÑŸ”’@:HõÍ¾!ÔtÛ¸à·†Ú+Ya¸3ÿ­óÞHÕH*6¶øÈÎåèN(Õ¼O¤hÚ~«ws}eD%º†9PÈ™E*HÃ?E$b¹‹/júT¶W¶¯c5î™§ÙØÚ¤Ó:Å2ÂÓ#³�‡c4R‚¥AdbË’…·×—Àz·üTpÆö.º„Z„v×RÝ\TºË˜¼’LqâB	‘3¹P|™b@üþ-ÙÛe^þöÂ+”¶Ô·´?ip�€üËó£);w©còànß†úÎâòâÒ¸$¹¶ÛçÂ’ñn]Ê9\ŽFz×!â
ÄwºýÝÕ…®”öÒÿgl3ßIÿ¢Ü4ç*!`7+Ôãç8hÔ4Þ^Ème·’âêX®
ÕÃH"�Ä­��•ó0LŠ~`€‹ÎŠ( ÈoÅöOý"¶­úÀð÷ü†üWÿaTÿÒ+jß Š( ¸�
ø¯ÃšfŸyiâ
*Öæ=WPß÷‘£®o&#*NFAñ®ÞŠÀÿ„ëÂô5hø0‹ÿŠ£þ¯ÐÕ¡ÿàÂ/þ*·è øN¼!ÿCV‡ÿƒ¿øª?á:ð‡ý
Zþ"ÿâ«~ŠÀÿ„ëÂô5hø0‹ÿŠ£þ¯ÐÕ¡ÿàÂ/þ*·è 2ÿÄš±â?[ézÖ�}:êR;Gkt’°_±ÜŒ�¤œdŽ}ÅvtQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@:ÿ’}â_û]è¦£þ¯ÐÕ¡ÿàÂ/þ*·è øN¼!ÿCV‡ÿƒ¿øª?á:ð‡ý
Zþ"ÿâ«~ŠÀÿ„ëÂô5hø0‹ÿŠ£þ¯ÐÕ¡ÿàÂ/þ*·è øN¼!ÿCV‡ÿƒ¿øª?á:ð‡ý
Zþ"ÿâ«~ŠÀÿ„ëÂô5hø0‹ÿŠ£þ¯ÐÕ¡ÿàÂ/þ*·è cÂ7Özž¡â‹»¸.­¤ÕSdÐHvÀá‡øWOEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEÿÙ
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configbuild.tin ./etc/configbuild.tin
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configbuild.tin	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/configbuild.tin	1970-01-01 00:00:00.000000000 +0000
@@ -1,9 +0,0 @@
-   config.in        *configure*      Makefile.in
-      |                  |               |
-      |                  v               |
-      |             config.status        |
-      |                  |               |
-   *config.status*<======+==========>*config.status*
-      |                                  |
-      v                                  v
-   config.h                          Makefile
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configdev.ein ./etc/configdev.ein
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configdev.ein	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/configdev.ein	1970-01-01 00:00:00.000000000 +0000
@@ -1,185 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: configdev.fig
-%%Creator: fig2dev Version 3.1 Patchlevel 1
-%%CreationDate: Mon Jun 15 17:35:19 1998
-%%For: ian@tito.cygnus.com (Ian Lance Taylor)
-%%Orientation: Portrait
-%%BoundingBox: 0 0 344 317
-%%Pages: 0
-%%BeginSetup
-%%IncludeFeature: *PageSize Letter
-%%EndSetup
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {} def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--62.0 370.0 translate
-1 -1 scale
-
-/clp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
-
-$F2psBegin
-10 setmiterlimit
- 0.06000 0.06000 sc
-7.500 slw
-% Polyline
-n 1050 900 m 2100 900 l  2100 1425 l  1050 1425 l  clp  gs col-1 s gr 
-% Polyline
-n 2925 900 m 3975 900 l  3975 1425 l  2925 1425 l  clp  gs col-1 s gr 
-% Polyline
-n 5550 900 m 6750 900 l  6750 1350 l  5550 1350 l  clp  gs col-1 s gr 
-% Polyline
-n 3750 1800 m 5025 1800 l  5025 2250 l  3750 2250 l  clp  gs col-1 s gr 
-% Polyline
-n 1155 2100 m 1050 2100 1050 2520 105 arcto 4 {pop} repeat 1050 2625 2070 2625 105 arcto 4 {pop} repeat 2175 2625 2175 2205 105 arcto 4 {pop} repeat 2175 2100 1155 2100 105 arcto 4 {pop} repeat clp  gs col-1 s gr 
-% Polyline
-n 5550 3300 m 6675 3300 l  6675 3750 l  5550 3750 l  clp  gs col-1 s gr 
-% Polyline
-n 5655 2100 m 5550 2100 5550 2520 105 arcto 4 {pop} repeat 5550 2625 6495 2625 105 arcto 4 {pop} repeat 6600 2625 6600 2205 105 arcto 4 {pop} repeat 6600 2100 5655 2100 105 arcto 4 {pop} repeat clp  gs col-1 s gr 
-% Polyline
-n 3750 3600 m 4875 3600 l  4875 4050 l  3750 4050 l  clp  gs col-1 s gr 
-% Polyline
-n 3855 2700 m 3750 2700 3750 3045 105 arcto 4 {pop} repeat 3750 3150 4545 3150 105 arcto 4 {pop} repeat 4650 3150 4650 2805 105 arcto 4 {pop} repeat 4650 2700 3855 2700 105 arcto 4 {pop} repeat clp  gs col-1 s gr 
-% Polyline
-n 2850 5700 m 3750 5700 l  3750 6150 l  2850 6150 l  clp  gs col-1 s gr 
-% Polyline
-n 3030 4800 m 2925 4800 2925 5145 105 arcto 4 {pop} repeat 2925 5250 3645 5250 105 arcto 4 {pop} repeat 3750 5250 3750 4905 105 arcto 4 {pop} repeat 3750 4800 3030 4800 105 arcto 4 {pop} repeat clp  gs col-1 s gr 
-% Polyline
-n 1500 1425 m 1500 2100 l  gs col-1 s gr 
-n 1530.00 1980.00 m 1500.00 2100.00 l 1470.00 1980.00 l  1500.50 1980.50 l 1530.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 3300 1425 m 3300 4800 l  gs col-1 s gr 
-n 3330.00 4680.00 m 3300.00 4800.00 l 3270.00 4680.00 l  3300.50 4680.50 l 3330.00 4680.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 3300 1575 m 1875 1575 l  1875 2100 l  gs col-1 s gr 
-n 1905.00 1980.00 m 1875.00 2100.00 l 1845.00 1980.00 l  1875.50 1980.50 l 1905.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 3300 1575 m 5700 1575 l  5700 2100 l  gs col-1 s gr 
-n 5730.00 1980.00 m 5700.00 2100.00 l 5670.00 1980.00 l  5700.50 1980.50 l 5730.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 6225 1350 m 6225 2100 l  gs col-1 s gr 
-n 6255.00 1980.00 m 6225.00 2100.00 l 6195.00 1980.00 l  6225.50 1980.50 l 6255.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 6075 2625 m 6075 3300 l  gs col-1 s gr 
-n 6105.00 3180.00 m 6075.00 3300.00 l 6045.00 3180.00 l  6075.50 3180.50 l 6105.00 3180.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 4200 2250 m 4200 2700 l  gs col-1 s gr 
-n 4230.00 2580.00 m 4200.00 2700.00 l 4170.00 2580.00 l  4200.50 2580.50 l 4230.00 2580.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 4200 3150 m 4200 3600 l  gs col-1 s gr 
-n 4230.00 3480.00 m 4200.00 3600.00 l 4170.00 3480.00 l  4200.50 3480.50 l 4230.00 3480.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 4200 4050 m 4200 4500 l  3675 4500 l  3675 4800 l  gs col-1 s gr 
-n 3705.00 4680.00 m 3675.00 4800.00 l 3645.00 4680.00 l  3675.50 4680.50 l 3705.00 4680.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 3375 5250 m 3375 5700 l  gs col-1 s gr 
-n 3405.00 5580.00 m 3375.00 5700.00 l 3345.00 5580.00 l  3375.50 5580.50 l 3405.00 5580.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 3300 2925 m 3750 2925 l  gs col-1 s gr 
-n 3630.00 2895.00 m 3750.00 2925.00 l 3630.00 2955.00 l  3630.50 2925.50 l 3630.00 2895.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 1500 2625 m 1500 3300 l  gs col-1 s gr 
-n 1530.00 3180.00 m 1500.00 3300.00 l 1470.00 3180.00 l  1500.50 3180.50 l 1530.00 3180.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-% Polyline
-n 1050 3300 m 2100 3300 l  2100 3750 l  1050 3750 l  clp  gs col-1 s gr 
-% Polyline
-n 4875 3825 m 5250 3825 l  5250 2400 l  5550 2400 l  gs col-1 s gr 
-n 5430.00 2370.00 m 5550.00 2400.00 l 5430.00 2430.00 l  5430.50 2400.50 l 5430.00 2370.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
-/Times-Roman findfont 180.00 scalefont setfont
-1200 1200 m
-gs 1 -1 sc (acconfig.h) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-3000 1200 m
-gs 1 -1 sc (configure.in) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-5700 1200 m
-gs 1 -1 sc (Makefile.am) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-3900 2100 m
-gs 1 -1 sc (acinclude.m4) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-1200 2400 m
-gs 1 -1 sc (autoheader) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-1200 3600 m
-gs 1 -1 sc (config.in) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-5700 3600 m
-gs 1 -1 sc (Makefile.in) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-5700 2400 m
-gs 1 -1 sc (automake) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-3900 3900 m
-gs 1 -1 sc (aclocal.m4) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-3900 3000 m
-gs 1 -1 sc (aclocal) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-3000 6000 m
-gs 1 -1 sc (configure) col-1 show gr
-/Times-Roman findfont 180.00 scalefont setfont
-3000 5100 m
-gs 1 -1 sc (autoconf) col-1 show gr
-$F2psEnd
-restore
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configdev.fig ./etc/configdev.fig
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configdev.fig	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/configdev.fig	1970-01-01 00:00:00.000000000 +0000
@@ -1,80 +0,0 @@
-#FIG 3.1
-Portrait
-Center
-Inches
-1200 2
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 1050 900 2100 900 2100 1425 1050 1425 1050 900
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 2925 900 3975 900 3975 1425 2925 1425 2925 900
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 5550 900 6750 900 6750 1350 5550 1350 5550 900
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 3750 1800 5025 1800 5025 2250 3750 2250 3750 1800
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-	 2175 2625 2175 2100 1050 2100 1050 2625 2175 2625
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 5550 3300 6675 3300 6675 3750 5550 3750 5550 3300
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-	 6600 2625 6600 2100 5550 2100 5550 2625 6600 2625
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 3750 3600 4875 3600 4875 4050 3750 4050 3750 3600
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-	 4650 3150 4650 2700 3750 2700 3750 3150 4650 3150
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 2850 5700 3750 5700 3750 6150 2850 6150 2850 5700
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-	 3750 5250 3750 4800 2925 4800 2925 5250 3750 5250
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 1500 1425 1500 2100
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 3300 1425 3300 4800
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 3
-	1 1 1.00 60.00 120.00
-	 3300 1575 1875 1575 1875 2100
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 3
-	1 1 1.00 60.00 120.00
-	 3300 1575 5700 1575 5700 2100
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 6225 1350 6225 2100
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 6075 2625 6075 3300
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 4200 2250 4200 2700
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 4200 3150 4200 3600
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 4
-	1 1 1.00 60.00 120.00
-	 4200 4050 4200 4500 3675 4500 3675 4800
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 3375 5250 3375 5700
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 3300 2925 3750 2925
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 1500 2625 1500 3300
-2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
-	 1050 3300 2100 3300 2100 3750 1050 3750 1050 3300
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 4
-	1 1 1.00 60.00 120.00
-	 4875 3825 5250 3825 5250 2400 5550 2400
-4 0 -1 0 0 0 12 0.0000000 4 180 780 1200 1200 acconfig.h\001
-4 0 -1 0 0 0 12 0.0000000 4 180 885 3000 1200 configure.in\001
-4 0 -1 0 0 0 12 0.0000000 4 135 945 5700 1200 Makefile.am\001
-4 0 -1 0 0 0 12 0.0000000 4 135 990 3900 2100 acinclude.m4\001
-4 0 -1 0 0 0 12 0.0000000 4 135 840 1200 2400 autoheader\001
-4 0 -1 0 0 0 12 0.0000000 4 180 645 1200 3600 config.in\001
-4 0 -1 0 0 0 12 0.0000000 4 135 855 5700 3600 Makefile.in\001
-4 0 -1 0 0 0 12 0.0000000 4 135 735 5700 2400 automake\001
-4 0 -1 0 0 0 12 0.0000000 4 135 810 3900 3900 aclocal.m4\001
-4 0 -1 0 0 0 12 0.0000000 4 135 540 3900 3000 aclocal\001
-4 0 -1 0 0 0 12 0.0000000 4 180 705 3000 6000 configure\001
-4 0 -1 0 0 0 12 0.0000000 4 135 660 3000 5100 autoconf\001
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configdev.jin ./etc/configdev.jin
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configdev.jin	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/configdev.jin	1970-01-01 00:00:00.000000000 +0000
@@ -1,108 +0,0 @@
-ÿØÿàJFIFÿÛC		
-
 $.' ",#(7),01444'9=82<.342ÿÛC			

2!!22222222222222222222222222222222222222222222222222ÿÀx–"ÿÄ	
-ÿÄµ}!1AQa"q2�‘¡#B±ÁRÑð$3br‚	
-%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ	
-ÿÄµw!1AQaq"2�B‘¡±Á	#3RðbrÑ
-$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ?÷ú(®/AÐmµ›;»ÛÛÝe§mNý?w¬]Ä¡RêTP$
-U”ÚQ\ÿü!º_üýkŸø=½ÿãÔÂ¥ÿÏÖ¹ÿƒÛßþ=@ÏÿÂ¥ÿÏÖ¹ÿƒÛßþ=Gü!º_üýkŸø=½ÿãÔÐQ\ÿü!º_üýkŸø=½ÿãÔÂ¥ÿÏÖ¹ÿƒÛßþ=@ÏÿÂ¥ÿÏÖ¹ÿƒÛßþ=Xþ,ðÝ¦™àÝrþÎû\Žê×O¸šþÜ¼;]cb§\:ÐqEPEPEPEsþ3/ÿúGóÃçj0»Á3Dûî$`Ha•b8#­ð†éóõ®àö÷ÿ�PAEsÿð†éóõ®àö÷ÿ�Qÿn—ÿ?ZçþoøõtW?ÿn—ÿ?Zçþoøõð†éóõ®àö÷ÿ�PAEsÿð†éóõ®àö÷ÿ�Qÿn—ÿ?ZçþoøõtW?ÿn—ÿ?ZçþoøõS¶ÓcÑ¼u§[Ú]jMÆ™xòÇu¨Ïr¥’[`¤	]€ ;ŒŒu4ÖQEQEQEQEQEQEQ\ßŠâ7Wž²k‹¸`ºÔÙ&û-Ì�3¨µ¸pFÊØÜŠqžÂ¤ÿ„7KÿŸ­sÿ·¿üz€:
-+Ÿÿ„7KÿŸ­sÿ·¿üz�øCt¿ùú×?ð{{ÿÇ¨ ¢¹ÿøCt¿ùú×?ð{{ÿÇ¨ÿ„7KÿŸ­sÿ·¿üz€:
-+Ÿÿ„7KÿŸ­sÿ·¿üz�øCt¿ùú×?ð{{ÿÇ¨ ¢¹ÿøCt¿ùú×?ð{{ÿÇ¨ÿ„7KÿŸ­sÿ·¿üz€:
-+�»ÑáÑ<Aá©,¯5_ô�BHfIõ[™ÑÓì—‚’HË÷‘ONÕØPEP\ÿƒäsÿa]KÿKf®‚¹ÿÿÈçþÂº—þ–Í@Wöv>GÛ.à·óåX!ó¤	æHßu=XààMo³þÑþÎû\nò¼ÿ³yƒÌòó·~Þ»sÆzf¹¿øVçÅñÁo4q£ÛÏk)2¼,‹(QæN\.Ó˜I	&Fâ6-XÓô}Jvk»ˆ4ÓÕÂßÈÅšI ›ìÉnc�*£Lù¹†eØ3¸l&­¦Éowpš…£Adî—R,ÊVA—s…*9 ãê6×tuû>íVÄ}§Êò3pŸ½ówy{yù·ím¸ë´ã85ÍÚøSR‡ÃéŽ4Ñ=‚XEk*nÝr¶’,‰æ¾2�Êãhåîb™ÀÏ¿ðn½qk-¬CMÙs¦jÐJíràÇ5ì¾nygr#*®âT°$íÚ@:¼e¦Üêš…Œšh{+Ø,�|¨ÒLü²ª€y�£«:H¸]»Ž§öî�ý±ý‘ý«cý§ÿ>_hO;îîû™Ý÷yéÓšæïô
zk-Eà‡Mk»ÝbËQ1=Ûª"Â–Å—xˆ’KÛ�>QÃê6Ö>�pÖ>5Ô­á1ÞÎ×«ai5Ú¤ö"Fó¥3D‘å ’TebçkÀ�Ç †‘â8uoWÑ§6�j}ÆÁn—BG’‘ºË´…*šð@ �Æ£ñßü“ÏÿØ*ëÿE5e�^ÿ„‘õ‡M
uuíË~Æm[#ÊÀp6¸ ä®á�ÇSÇòO<Kÿ`«¯ýÔÐQEQEQEÏøËþ@vßöÓô¶Øº¿³±ò>Ùw¿Ÿ*Á� O2Fû¨¹êÇrkÆ_ò¶ÿ°®›ÿ¥°Ñ¯è×—ú�­åšXÍ‹K‹¡¾ÇåÌb,å@>f< <³´0có®9ÔŸVÓmn%·¸Ô-!ž+su$rLªÉ82NBÆî•—­øÇGÑ´yïÿ´,eò®ÖÇíá˜.ÇnvmÎçà•PÇªsøwR_K¨[›I §TŒI+#4ßcû(„€¤ÇÏæd‘÷v½Xúoƒuè,ì-®š¢-"ÞGŽåÛæ²º2Œd<g=°Ã�š€;¯é©o¨]ÜjZlVvWD—íJÆÀ(+!8¸fÛ·'øOS�·‹<7y·ì¾ Ò§Ý*@<«ØÛ2>v'ï6ÖÀêpqÒ¸¿Øêúy¾Ôe¹´Ó]v+Ëå»(T[yö†’±�)ÿy*ÙkºÎ§§YÝè¶Ö�Yµ½”+×/µ…ÃÉ–ûË§Hv�›_NÐØè"Þâàëzo‘n‘<ò}©6Ä²c,s€Tž¹ã5cQÔ!ÓÒÜË=¤Oqq™ÄBFfûªpw>ÝÄ(ûÄcŽ£‡k3x~4é¶Ú”Zìú«%µìñ­ÊÊd­<j’#„˜¨`ýZä`•—º&·ÿ®Ÿ¤XYiKö9l¤�
ä¨ˆ�L$ò�1»68Ð9ÆíÌÅWHIe«iº“È–…¥ÓÆ‘»¬+•W]ÈN—�{ŽEeÞÉCÑ¿ìÿ£m+/@Ð5ë^Âòú5R7ÔÄËÛ¹u:\!\Ä»ˆe(AÇ`„j^ÉCÑ¿ìÿ£m( ¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(Ÿñü‡<'ÿaY?ôŠê·'3-¼­orN˜ÒG(¬Øà�3ß†°üCÿ!Ï	ÿØVOý"º­ÉÌËo+[Ç“„&4‘Ê+68€$÷ÁÇ¡ oFñ½ž­àdñ3ZÏîƒIc�Ó	cQ‘¹Ÿrl!ÀÜ*æƒâ8u]E»½6–7š½¿Ú-¬þÔ�v‡Âä)b‚Øg¸äóú7ƒu-:ËGF{+(…Å¤w-ä\Ý[§—nä˜ú;˜•,­såóN?kcLÐc�Ø›�:ÒÊ&ÞËo´“ÌLíŒyË&bAûŸ™�9' †�®kØ£]G­ñ–æ#l“ù™ò&h]”•RË�¼íÜëUï|c£ÛÿcmBÆçûbïìÖŽ·iå¾3½ƒçv€Ë²)ÆìŒ5ðV¤–ºÅ„sÚ}q5ïfwgx<Ùex!·�f
eP~eä¹y4?
-êÖ²is^%Œ2[êlº^Ü]4ÏöI`gó&ù¹Ý~ê¡ù˜œ
‹ÿhkVv�-�Å�å¥ÍÌ¶w¾r·“2FWäH§!Ž2ó€ÇbÆþÏS³ŽòÂî»Y3²h$#`�pÃƒ‚ü+ÏÓÁÞ$½Yí/ãÒ­­n-5kgšÉ&tûl¢PÁHaP¸Ü3œñŒƒÂzF­£Z²^[X¤—¬—F+û‹–gmi|É�c�‘(ŒýÕRw±ùh`ëº:Å4§U±Ã+Á+›„Är"—tcžUYˆ<€	<
-’ËVÓu'‘,5K§�#wX&W*®»�œ/ ÷Šóø¼â™mM�ÝìÌÚ„È¥m'ó•‘<¦	70òS	ÒÙÀÜÑü=¬iúý­Ô©bÖ±Kª)påÌw7	<lËÆàT©\àuzP‡ˆä9á?û
-Éÿ¤WUÐW?âùxOþÂ²éÕtQEW?àßùÜÿØWRÿÒÙ« ®OM¶ñV�Í¥¾™£\À×·WË&©,LVYä”¢Ý€ >:ž”ÖQ\ÿÛ<aÿ@-ÿ3ò-lñ‡ý´?üÍÿÈ´ÐQ\ž­¯x«FÑ¯µK�Fh,­ä¸‘cÖ%,U±6ÀgÔUÏ¶xÃþ€ZþfÿäZè(®íž0ÿ ‡ÿƒ™¿ù�¶xÃþ€ZþfÿäZè+Ÿñßü“ÏÿØ*ëÿE5lñ‡ý´?üÍÿÈµŸ®ÛøÃ[ðö§¤ÿdhpýºÒ[o7û^fÙ½
-îÇÙ†qœã"€;
-(¢€
-(¢€
-(¢€9ÿÈÛþÂºoþ–Ã]cøŸO¼ÔôQ€�®£»µ¹EžC7•<r•,ˆÈB3ƒÖ«ý³ÆôÐÿðs7ÿ"ÐAEsÿlñ‡ý´?üÍÿÈµOV×¼U£h×Ú¥Æ�£4Vò\H±ë–*ŠX�›`3�ê(¬¢¹ÿ¶xÃþ€ZþfÿäZ>Ùãúhø9›ÿ‘h ¢¹ÿ¶xÃþ€ZþfÿäZ>Ùãúhø9›ÿ‘h ®~óþJ�ÿ`«ÿýiGÛ<aÿ@-ÿ3ò-Ggg¯]xªÓTÕ,ôÛH-l®-Õmo^vv•ál�Ð OsÔPIEPEPEPEPEPEP/âûû=3PðµåýÜ–±ê¯¾iä¢æÎä±àd�?±ÿ	ßƒÿèkÐÿðcÿ]ÏÿÂwàÿúô?üÃÿÅQÿ	ßƒÿèkÐÿðcÿ]ÏÿÂwàÿúô?üÃÿÅQÿ	ßƒÿèkÐÿðcÿ]ÏÿÂwàÿúô?üÃÿÅQÿ	ßƒÿèkÐÿðcÿG‡¿ä9âÏû
-Çÿ¤VµÐP?ÿ	ßƒÿèkÐÿðcÿGü'~ÿ¡¯CÿÁŒ?üUtP¨x—AÖ|Iá[}/[Óo§]NGhín’Vö;‘’“Œ�3î+´¢Š(¢Š(¢Š(¢Šçüwÿ$óÄ¿ö
-ºÿÑM]sþ;ÿ’yâ_û]è¦®‚€
-(¢€9¸<s¢Ý[Åqo³4 xä�D½eu# ‚"Ásš“þ-/þ}uÏü^ÿñš<	ÿ$óÃ_ö
-µÿÑK]sÿð™ióë®àŠ÷ÿŒÑÿ	–—ÿ>ºçþ¯øÍtP?ÿ	–—ÿ>ºçþ¯øÍð™ióë®àŠ÷ÿŒ×AEsÿð™ióë®àŠ÷ÿŒÑÿ	–—ÿ>ºçþ¯øÍtP?ÿ	–—ÿ>ºçþ¯øÍð™ióë®àŠ÷ÿŒ×AEsÿð™ióë®àŠ÷ÿŒÖ�<Y§\øÄ0%¶²M2åÉ¢Þ"‚baË4@(÷$Þ»Êçüwÿ$óÄ¿ö
-ºÿÑM@ü&Z_üúëŸø"½ÿã4Âe¥ÿÏ®¹ÿ‚+ßþ3]ÏÿÂe¥ÿÏ®¹ÿ‚+ßþ3Gü&Z_üúëŸø"½ÿã5ÐQ@ÿü&Z_üúëŸø"½ÿã4Âe¥ÿÏ®¹ÿ‚+ßþ3]ÏÿÂe¥ÿÏ®¹ÿ‚+ßþ3Gü&Z_üúëŸø"½ÿã5ÐQ@ÿü&Z_üúëŸø"½ÿã4Âe¥ÿÏ®¹ÿ‚+ßþ3]ÏÿÂe¥ÿÏ®¹ÿ‚+ßþ3Gü&Z_üúëŸø"½ÿã5ÐQ@ÿü&Z_üúëŸø"½ÿã4Âe¥ÿÏ®¹ÿ‚+ßþ3]ÏÿÂe¥ÿÏ®¹ÿ‚+ßþ3Gü&Z_üúëŸø"½ÿã5ÐQ@ÿü&Z_üúëŸø"½ÿã4Âe¥ÿÏ®¹ÿ‚+ßþ3]ÏÿÂe¥ÿÏ®¹ÿ‚+ßþ3QÏã�ÖÞ[‹ˆµ˜`‰É$š%êª($“œ×I\ÿŽÿäžx—þÁW_ú)¨ ¢Š(¢Š(Ÿð÷ü‡<YÿaXÿôŠÖº
-çü=ÿ!ÏØV?ý"µ®‚€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€9ÿÿÉ<ñ/ý‚®¿ôSWA\ÿŽÿäžx—þÁW_ú)«  Š( ÀŸòO<5ÿ`«_ýµÐW?àOù'žÿ°U¯þŠZè(¢Š(¢Š(¢Š(¢Š(®ÇòO<Kÿ`«¯ýÕÐW?ã¿ù'ž%ÿ°U×þŠjè(¢Š+/ZÖ†Œ,•l.ï§½¸û<0Z˜ÃòÞBI‘Õ@wô­JçüCÿ!Ï	ÿØVOý"º þSþ„ÍsþÿYòEð�êŸô&kŸ÷úËÿ’+ ¢€9ÿøHuOú5ÏûýeÿÉÂCªÐ™®ßë/þH®‚Šçÿá!Õ?èL×?ïõ—ÿ$Qÿ	©ÿBf¹ÿ¬¿ù"º
-(Ÿÿ„‡Tÿ¡3\ÿ¿Ö_ü‘Gü$:§ý	šçýþ²ÿäŠè( þSþ„ÍsþÿYòEð�êŸô&kŸ÷úËÿ’+ ¢€2ô]hk"õZÂîÆ{+�³ÍÑŒ°o-$Ý”‚²/ZÔ®Ãßòñgý…cÿÒ+Zè(¢Š(®ÇòO<Kÿ`«¯ýÕÐW?ã¿ù'ž%ÿ°U×þŠjè(¢Š(¢Šçü=ÿ!ÏØV?ý"µ®‚¹ÿÈsÅŸö�ÿH­k  Š( Š( Š( Š+›D›Ål×·vÚE½ÃÚÇ¤¦ºd;dv‘q"”2B™òØ’êà’Šçÿá
Òÿçë\ÿÁíïÿ£þÝ/þ~µÏüÞÿñêçþ4ÚÞ\|/Õ%±¸¾Škm²²Z9_62vH²÷£ØìÄtùA<]�­o,ü
¢Å¨Ü_O|Ö‰-Ãß¹i„Ž7²±<ü¥Š€yÚ£ŸÀÚ-Õ¼¶÷ë3A*’95»ÖWR0A\G©?á
Òÿçë\ÿÁíïÿ ‚¹ÿÚÞ^xZ‹N¸¾‚ùm[w°r³oUR9ùŠ… rA#½ð†éóõ®àö÷ÿ�Qÿn—ÿ?Zçþoøõsÿ­o-þérß\_K5ÎéU.Ü·•;#XÁû±ìE`:|ÄŽ¯@®nh¶¶ñ[ÛË¬ÃH8ãÖïUQ@À	pb¤ÿ„7KÿŸ­sÿ·¿üz€:
-+M¹»±Ö[CÔ.¤¼/nn­.åTY%U`²£„r…£!€\‰@Á(Ìw(¢Š(¢Š(¢Š(®ÇòO<Kÿ`«¯ýÕÐW?ã¿ù'ž%ÿ°U×þŠjè(¢Š+Ÿñü‡<'ÿaY?ôŠêº
-çüCÿ!Ï	ÿØVOý"º ‚¼ÿOñÖ©wcxòÙ@’?Ø$±›oîÚ+ÉŒ1¾Ýå�W²ÞS8à¤Gšô
-Ï]G_´mÒ¬GÚ|ß?éûß7o™»�›~ÕÝž»Fs�@ž¯â-KK˜^¸Ñ®ÞÓG¿¹g‚&f-m4BTWÝò	à¦Ët2mÁ¹ÿ	±ædo±þÓþÕþÍûgÙßÉÿ�Oµïò|Íßw÷xó:üÙþØºðŸ†ï¼�¶xJ¸ò"X!ó¬£.5û¨¹(ÉÀ
-�økA6÷çDÓ|‹„‰'�ì©¶UŒaŒ  ôÇ >]Jk/]jÚzéª÷ÖúÚÌ@Ì“,×3ÂY$7¬»\ƒ�€mäc?ÅzÎ¥¬øRÓnÓMyÚËW–âVµf�–Îo(lŒ¾QÉdpÅ›i^‡#ˆú�%åÕäšU‹Ý]Ä`¹™­Ð¼Ñ�Gle—8
GX¡ˆiV"8eIâAn˜ŽDPˆê1Ã*ª¨#��@ü~-½“ÇwºHµ€i–2Åms;Í˜ÞX•ãrL›¾geˆ �“È~
-Q®x‡X°Ö®­-^ÄCØ±æÛ»1û\ÆÝ9¸èÒ>u`ƒaÏ@š�å­äzUŠ]ZD ¶™mÐ<1€@DleWŒ95]¼'á·ó7xJo6$‚LÙFwÆ›v¡ã• Ú¾‚€<ÿÄþ%ºÔ!ÑÖîè¡±Õa{‰lìçx®¥‡P¸ŽYlwnh—9Ï¬U8ô�6™"Óí&¸ûTª°¨6àÞcqËîU;�9ö«”Ïø{þCž,ÿ°¬úEk]sþÿ�ç‹?ì+þ‘Z×A@Q@yÿÆ›[Ë�…ú¤¶7ÑMm¶VKG+æÆNÉ@>ô{˜ŽŸ('€k¬×5)¬-í¢³XÞþöámmV@J† ³9äd$k$›r»¶mŸ?‚´ýBÞXµ[ýgP3!IÚMNhVU#1BÉã{ä’Hžµ¼³ð6‹£q}=óZ$·~å¦8ÞÊÄóò–*äjè+Ÿÿ„7KÿŸ­sÿ·¿üz�øCt¿ùú×?ð{{ÿÇ¨ ¢¹ÿøCt¿ùú×?ð{{ÿÇ¨ÿ„7KÿŸ­sÿ·¿üz€<ÿá&•¬YøçÆßÚ7úäööweƒíó;$ù<HÛ†O.8pÃø\v"½‚¹¸ü
¢Âó<Rë(ó>ùYu»Ð]¶…Ë~÷“µTdöv©?á
Òÿçë\ÿÁíïÿ ‚Šçÿá°Ošýr)‡)'öÍÔ›±Û$Œ�ƒÙ•”ô Ž*Æ�}po/´‹ù<Û»-–b ˆ’°_•[rH„dÆX*«*€
Š(¢€
-(¢€
-çüÿ ;Ÿû
-ê_ú[5tÏø7þ@w?öÔ¿ô¶jØº¿³±ò>Ùw¿Ÿ*Á� O2Fû¨¹êÇrj›ø—A�Ý[ÓUÑåFSt€«D»¥ž
-)ËáœV?�ü+sâ‹xà·š8Ñíçµ”™^E”(ó'.iÌ$„“#q£Ö?á ‡Q)b#:‚jr¨¸|¬†ÐZ<Kû¿™Bî�9Áb•Pw€
‹øSÓ­¯ìõ«-n¥H!=FéX±`œ‰#ä?7µG¤xŽG[ÕôiÍ¤†Ÿq°[¥Ð‘ä„¤n²í!Jƒæ…<#q®noëøzËIßb>Í¥O¡y¾süÖò¤+öœlâAäçÉÎïõƒÜ½ÿ	#ê
š êêÛ–0ýŒÚ¶G•€àmp2AÉ]ÃˆPš¶›%½ÝÂj�“º]H³)X\9Î¨äƒŒw¬¿ø®ÏÃÞ›_Ž{ãy¶Ë-à‰.¾]ác|6æe¨îã ärú/€um3A¸Ód{‘b‚¹û]Ä�v�K¾!ó“öO—pýÖý­&ôÚP#xU:'ØK@e·Ôlœ½Ì’˜â½t•äÞËºG��P`ÃBJ€â}[Mµ¸–ÞãP´†x­ÍÔ‘É2«$ àÈA9ºT–·öwÞØîà¸ò%h&òdåÈ¿yddEqgÂÚä~.¸×’
6g™â»�%Ô.UmgâF£Ë�2®Ñ)UeÞIWÚôÑæðÿƒ´­"âHg³·X¤ŒZ6aÕÁ*§,~cÇV<ž¤;Ïù(z7ý‚¯ÿôm¥tÏÞÉCÑ¿ìÿ£m+  Š( Š( Š( ¹ÿÿÉ<ñ/ý‚®¿ôSWA\ÿŽÿäžx—þÁW_ú)¨ ¢Š(¬}{I¼ÔÛLžÂöK«³r�=±�1IR¡Ðô”œçµlQ@ÿØüaÿAÝÿÓòUcñ‡ýt?üMÿÉUÐQ@ÿØüaÿAÝÿÓòUgÃqã	|C{¤ÿkècìÖ�\ù¿Ù|ÞkÌ»qöž1äç9çwlsØW?gÿ%Yÿ°U‡þ�» ì~0ÿ î‡ÿ‚i¿ù*�±øÃþƒºþ	¦ÿäªè( ì~0ÿ î‡ÿ‚i¿ù*�±øÃþƒºþ	¦ÿäªè( ì~0ÿ î‡ÿ‚i¿ù*�±øÃþƒºþ	¦ÿäªè( }I¼ÓSžþö»«û±rí±�GP¥Üôˆç½lQEW7ŠînŒíeá}fî®&·óã’ÑUÚ)6 <êØÜ‡¨Íøãâ&½á­;N¹³ð…ð’ãPŠØÇvÐ¿œ1òãòfv£©x'€u!ÿ�ç„ÿì+'þ‘]WA^g¥ø³WñF§á™5OêZMbUStÃkâÊã `¯“¸ÿß”üÙâ½2€3ÿ·tú
-ØÿÇßØãá?ããþxõÿYþÏ_j¦¾2ðËÞÙY¦¿¦¼÷È^ÕRåXL„ùH8$·ÊrHlgiÇ/aà]VÊ+•ó-ÊYl&æB²=œþr…qI¹��2°íCî ji~Ö4ëûâ–/$RÞ‰bŽîxî•¼¾Z6V@¤ãY	Ú:®èëÒ�VÄG¯®nÈŠ]ÑŽxeUf ò$ð*K-[MÔžD°Ô-.ž4�Ý`™\ªºîBpx¼ƒÜr+‡OëÖšL0[�6ií“K´ŒIrñ¬�ØÌÒ‰	±W��»0BõÞÝ*ÂøGZi¤�›MH$Mb4±˜ª^L³Fæ&�k�T«FNçqÎ( —Äp½Ö„tãi§ê·Ûý® Áb’@T(!Çî�OÌ0q×œh.­¦³Ù"ê…ïÐ½š‰—7
-11óó€¤Œðs\<~½ºŒ[ß4q[K©›ù‚êÝH¹³{b›åLÊ2"l8ÚCº*¿<—žñ¥­Xk©¥5Ñ´‚+¨Röé!†x&i"�Up'\¹o*@0Tü’@=¹û?ù(zÏý‚¬?ômÝtÏÙÿÉCÖìaÿ£nè ¢Š(¢Š(®Á¿ò¹ÿ°®¥ÿ¥³WAXw:n¥cs¨hmhæíÄ—Vwe•e�"ÆePLgj¨#cƒ±p–b¹Esÿlñ‡ý´?üÍÿÈ´}³ÆôÐÿðs7ÿ"ÐAErz¶½â­F¾Õ.4
 ²·’âE�X”±TRÄÛœQW>Ùãúhø9›ÿ‘h ¢¹ÿ¶xÃþ€ZþfÿäZ>Ùãúhø9›ÿ‘h ¢¹ÿ¶xÃþ€ZþfÿäZ>Ùãúhø9›ÿ‘h¼ÿ’‡£Ø*ÿÿFÚWAYzV•5¥ÅÅýýÌwZ•Ê$rËF(ÄhX¢"b.ä’ÌIsÎ6ªêPEPEPEP\ÿŽÿäžx—þÁW_ú)« ®ÇòO<Kÿ`«¯ýÔÐQEQEQEW?gÿ%Yÿ°U‡þ�»®‚¼ÃúV±í¯ù×úãi�Z¨üÙœÃ'™÷#9LjÒ\l^Å>ëP°QEQEQEQEÏø7þ@w?öÔ¿ô¶jè+Ÿðoü€îì+©élÕÐP?âùxOþÂ²éÕtOTÓaÕ¬Òf‘t‘$Œ€ÑÈŽd•eVÁ`‚2+/Îñ…¿î¾Ã¡ßmÿ—�¶Mi¿þÙyRíÇO¾ÙÆxÎAEsÿlñ‡ý´?üÍÿÈ´}³ÆôÐÿðs7ÿ"ÐAEsÿlñ‡ý´?üÍÿÈµOI×¼U¬èÖ:¥¾�£,¶ñÜF²k†
-ê‹b3ƒêh¬¢¹ÿ¶xÃþ€ZþfÿäZ>Ùãúhø9›ÿ‘h ®~ÏþJ³ÿ`«ýwGÚ|a'Éý•¡ÛîãÎþÓšo/ý¯/ÈMøë·rç¦áÖ´4�3û6)ÞY¼ûË¹~Ñu8]‚I6ª|«“µB¢('
-2Y²ÄBŠ( Š( Š( Š( ÇòO<Kÿ`«¯ýÕÐW?ã¿ù'ž%ÿ°U×þŠjè(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(®ÇòO<Kÿ`«¯ýÕÐW?ã¿ù'ž%ÿ°U×þŠjè(¢Š+/\Ô¦°·¶ŠÍc{ûÛ…µµY*‚Ìç‘�‘¬’mÊîÙ´XQ®x�HðÕ½µÆ³}œm’·Ì`H�…RwŽH¬}CVÓu�OÂ·^¡i}ë#Ik2Ê¡¾ÅrpJ’3‚=Å\ÿ„FÖ_ž÷T×.®ß›ûV{}ÞŸ»�’1ÆÊ£8ÉÉ$“þÝ/þ~µÏüÞÿñêè*šjÚl–÷w	¨Z4Néu"Ì¥`dpç8R£’1Þ€2ÿá
Òÿçë\ÿÁíïÿ¨Ç�´U¸{…—Yº*<ƒ[½ÜÊ¤•ù¹ bmÇÖ®&¹æø†ÆÂàšÆûO’öÈ§Ý»cÄÚH™H`Ç<ñÐ›Ûº?ö?ö¿ö­�ögüþý¡<Ÿ½·ïçoÞã¯^(?þÝ/þ~µÏüÞÿñê?á
Òÿçë\ÿÁíïÿ­‰¯ìíï-¬æ»‚;«­ßg…äåÚ2ÛTòØœtª~ÕfÖtŸµÜ[Gm:Ü\[Ér™T4S<D†*¤‚S=Z§ÿ°´ýî•«j¶·C£\_MyŽ»^9�†Òq’¥×&´4MOûcG‚õ¡ò&mÑÏíÞLÈÅ$�ví®¬»‡ZÏø7þ@w?öÔ¿ô¶jè(¢Š(¢Šçüÿ ;Ÿû
-ê_ú[5tÏø7þ@w?öÔ¿ô¶jè(¢Š(¢Š(®ÀŸòO<5ÿ`«_ýµÐW?àOù'žÿ°U¯þŠZè(¢Š(¢Š(¢Š(¢Š(¢Š(¢Šçüwÿ$óÄ¿ö
-ºÿÑM]sþ;ÿ’yâ_û]è¦®‚€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-çüwÿ$óÄ¿ö
-ºÿÑM]sþ;ÿ’yâ_û]è¦ þOÿÐ©¡ÿàºþ&�øA<ÿB¦‡ÿ‚èøšè( /\øSàÝvÞÚÑm,’…��„ÀÒ€òÙ•s°ç�<Š¦¾ð×„uÏ�H‚ÒI5YCM–’B
•ÆW{’Û~PvçÆkÐ+Ä7XÞÙGæÝé·ku%€�­‹Îã’mÉQ¿nNÜÐÅyÝ‡�u[(®WÌ´g)e°›™
-ÈösùÈBÄ	&æ4ÊÃ´m¸�ÒÂsádùnuë)‡Þ·¿”ZÌž›¢—k®G# dGQÿ	ßƒÿèkÐÿðcÿ@ú§…µ�^U†H´«K[�+P³¹’Ùß1IvÊå–=€I´ ËBå™°¿tØÿ„{Xó?µöXÿiÿjÿi}�íäÿÇ§Ù6yÞ^ï»ûÌù}~\hÂwàÿúô?üÃÿÅQÿ	ßƒÿèkÐÿðcÿ@úÏƒ¯î®´ém>Ã¶Ò+@#‰ä³�^Ú_5WË@Áãs„
-äù#,¡‰ îxRÃRÓt™ Õ"´Žw½¹¸Qk;J»e™åÁ,ˆr•éü ÷À�þ¿ÿÐ×¡ÿàÆþ*�øNüÿC^‡ÿƒøªè+Ÿðoü€îì+©élÔÂmáùÿw¦jPj÷GîÚé’-Ì„öÈBB.p7¹TŒ°Í\ðö›6•¢CotÑµÛ¼—&"JyÒ»K L€vovžqŒäó@”QEQEsþ
ÿ�Ïý…u/ý-šº
-çüÿ ;Ÿû
-ê_ú[5tQEQEW?àOù'žÿ°U¯þŠZè+Ÿð'ü“Ï
Ø*×ÿE-tQEQEQEQEQ\^ƒ Ûk6ww··ºËNÚ�ú~ïX»‰B¥Ô¨ *Hª(´¢¹ÿøCt¿ùú×?ð{{ÿÇ¨ÿ„7KÿŸ­sÿ·¿üz€9ÿ�6·—õIln/¢šÛl¬–ŽWÍŒ�’,€}èö;1>PO×Aàk[Ë?h±j7Óß5¢Kp÷îZa#�ì¬O?)b @v¨çð6‹uo-½ÄºÌÐJ…$ŽMnõ•ÔŒA—Æ*OøCt¿ùú×?ð{{ÿÇ¨ ¢¹ÿøCt¿ùú×?ð{{ÿÇ¨ÿ„7KÿŸ­sÿ·¿üz€:
-+Ÿÿ„7KÿŸ­sÿ·¿üz±üYá»M3Áºåý�ö¹Õ®Ÿq4/ý¹xvºÆÅN¸8 u âŠ( Š( Š( Š( ¹ÿÿÉ<ñ/ý‚®¿ôSWA\ÿŽÿäžx—þÁW_ú)¨ ¢Š(¢Š(¢Š(®~ÏþJ³ÿ`«ýw]söòPõŸûXèÛºè(¢Š(¢Š(¢Š(¢Šçüÿ ;Ÿû
-ê_ú[5tÏø7þ@w?öÔ¿ô¶jè(¢¹¿Än¯<9d×pÁu©²Mö[™ gQkpà�•±¹ã=…Iÿn—ÿ?ZçþoøõtW?ÿn—ÿ?Zçþoøõð†éóõ®àö÷ÿ�Pã›[ËÏkQi×Ð_-£ËnöVc"
êªG?1P¤H$w®àµ­å¿Âý.[ë‹éf¹Ý*¥Û–ò£dk?v=ˆ¬O˜‘ÁÐÂ¥ÿÏÖ¹ÿƒÛßþ=QÁàmÖÞ+{yu˜`‰GzÝêª(.ŒPIEsÿð†éóõ®àö÷ÿ�Qÿn—ÿ?ZçþoøõtW?ÿn—ÿ?Zçþoøõð†éóõ®àö÷ÿ�PAEaø.y®¼áë‹‰dšytËg’I³;”’Iä’yÍnPEP\ÿƒäsÿa]KÿKf®‚¹ÿÿÈçþÂº—þ–Í@Wöv>GÛ.à·óåX!ó¤	æHßu=XààMG>­¦ÚÜKoq¨ZC<VæêHä™U’pd œ„�Ý+/_Ñ¯/õ[Ë4±›—3C|	�Ë˜ÄYÊ€|Ìy@ygh`Çç\sNêKâIusi$ôê‘‰%df›ìe�€˜ùüÌ’>îÃ÷¨æ·ãFÑç¿þÐ±—Ê»[´D[†`»¹Ù·;Ÿ‚UCb®
MK}BîãRÓb³²¸ò$¸jV6AY	À�Ã6Ý¹?Âzœ?Mðn½�…µÀÓTAe¤[ÈñÜ»|ÖWFB@1Œ‡Œç¶c‘óUØêúy¾Ôe¹´Ó]v+Ëå»(T[yö†’±�)ÿy*Ù`áõý5ì-/-5-6h/.yZíV9˜¾Ò¨Ã!Ÿð£©\qÉ,µm7RyÃP´ºxÒ7u‚erªë¹	Áà2òqÈ®L[ßë	Òí´6Æ[ilÚ¸¾�!KiÃŽ#bñ°†=’¾²n `“@Ð5ë^Âòú5R7ÔÄËÛ¹u:\!\Ä»ˆe(AÇ`„v•ÏøïþIç‰ìuÿ¢šº
-çüwÿ$óÄ¿ö
-ºÿÑM@Q@Q@Q@Q@sþ;ÿ’yâ_û]è¦®‚¹ÿÿÉ<ñ/ý‚®¿ôSPAEPE—­kCFJ¶wÓÞÜ}ž-La‹yo!$Èê �»úP¥ÏÿÂCªÐ™®ßë/þH£þSþ„ÍsþÿYòEtæú?Ž,ï~3júizª]H­Yä·Èk‡21Ý‘	cÚØçpé‘ž£þSþ„ÍsþÿYòErv]õ�ÄÝ_ÆÂ~ /e¸ŒÜXà0 9ÇŸÓlpã“É|öÀ¦Q\ÿü$:§ý	šçýþ²ÿäŠ?á!Õ?èL×?ïõ—ÿ$PAEsÿð�êŸô&kŸ÷úËÿ’(ÿ„‡Tÿ¡3\ÿ¿Ö_ü‘@ÏÿÂCªÐ™®ßë/þH­M'R‡YÑ¬uKu‘`½·Žâ5�Á]CpHÎ© ”QEsþ
ÿ�Ïý…u/ý-šº
-çüÿ ;Ÿû
-ê_ú[5tÏø‡þCžÿ°¬ŸúEu[“™–ÞV·Ž9'Li#”VlpHïƒ�CX~!ÿ�ç„ÿì+'þ‘]Väæe·•­ãŽIÂHå›À{àãÐÐ7£xÞÏVð2x™­gƒ÷A¤±Èi„„
±¨ÈÜÏ¹6‰ànsAñ:®�¢ÝÞ›KÍ^ßíÖjÎ»Cár±
-Al3ÜryýÁº–�e£‰…£=•”BâÒ;–ò.n­ÓË·rL}
-�ÌJ–V†
¹òù§�µ±¦h1ÈlMÆ�ieïe�7ÚIæ&vÆ<å“
-1 ýÏÌÈ“�Ã@×?µìQ®£‚ÖøËs¶IüÌù4.ÊJ©eÈ^vŒnõª÷¾1Ñíÿ±…¶¡csý±wökG[´òßÞÁ†s�»@åÙãvFø+RK]bÂ9í¾¸š„w³;³¼l²¼
ÛÈ3Œ²¨?2ò\¼š…ukY4¹¯Æ-õ¶]¯n.šgû$°3ù“|Üîˆ?uPüÌNÅ‡‰´5«;HÆâÆòÒææÛ;ß9[É™#+€€r$S�ÇyÀc©­¦ÜégTƒP´—OÎnÒeh‚®wàã'<`×žñ%êÏi•mkqi«[<Ð^I3§Ûe†b@Û
-…ÆáœçŒ`îxkI×4M6q%žšnçq$Ê5+™¼ÉD[L†YUŸR$	ƒ±A;œü´±e¯é·BÊ&Ô´Óyt€¤]¬›ÛËYFx.º¶p>VVÀµ+Ìì<â«}:+ymômöÖZM¼Eoå"F²¸órß¸C«0ãvÒ\äzesþÿ’yá¯ûZÿè¥®‚¹ÿÉ<ð×ý‚­ôR×A@Q@pþñg†ôÍ>òÎÿÄU¥Ôz®£¾ïc�×7“•'# ƒø×qEsÿð�ø?þ†½ÿ0ÿñTÂwàÿúô?üÃÿÅWAEsÿð�ø?þ†½ÿ0ÿñTÂwàÿúô?üÃÿÅWAEsÿð�ø?þ†½ÿ0ÿñTÂwàÿúô?üÃÿÅWAEsÿð�ø?þ†½ÿ0ÿñU‡ãOxVëÀ¾!··ñ.�4òé—)qßÄÌìb`²I<b»Ê(¢Š(¢Š(¢Š(¢Š(®ÇòO<Kÿ`«¯ýÕÐW?ã¿ù'ž%ÿ°U×þŠjè(¢Š+Ÿñü‡<'ÿaY?ôŠêº
-çüCÿ!Ï	ÿØVOý"º ‚Š+Ïôÿj—v7�-”	#ý‚K¶þí¢¼˜ÃíÞYÕq»-å3Ž
-Dy @¢¼ÿTÔÿ²õ¨|A<67wÖ^ÕLïfØYþÏ5¾q¯!¾S»c3¶	:ð�ëgöFûí?í_ìß¶}�üŸøôû^ÿ'ÌÝ÷w�3¯ÍŸá ÂŠâõß[jZJÚÛZ]ZL–mxÖÒyª‚ê_*6Y	O“p%J¤…ðA1�Iºÿ„sá¶­{aoG¦]ês%¸M¨cŠîv1¨Û•R ò à�‚ÜQ\9ñ^±¦êEñÛÝ½‹Çahé4Ò-™¼™ªâ!$·Í¼°GðÎâYO‰VêK¹/SK‹†žÞh”<–ÐTóU[b°`ªy<Hy\ÿ�?äžxkþÁV¿ú)k ®Áw^*_øymômH™l#y5iQ™|¥Á*-ˆ²qêh¼¢¹ÿ¶xÃþ€ZþfÿäZ>Ùãúhø9›ÿ‘hðoü€îì+©élÕÐV?†4ûÍ3E0_ˆêK»«—X$2"ù³É(PÅTœ8+b€9ßÙéš‡…¯/îà´µ�U}óO �6w e�$�øÕ�øNüÿC^‡ÿƒøªè( þ¿ÿÐ×¡ÿàÆþ*�øNüÿC^‡ÿƒøªè( þ¿ÿÐ×¡ÿàÆþ*�øNüÿC^‡ÿƒøªè( þ¿ÿÐ×¡ÿàÆþ*�øNüÿC^‡ÿƒøªè( þ¿ÿÐ×¡ÿàÆþ*�øNüÿC^‡ÿƒøªè( ÀŸòO<5ÿ`«_ýµÐQEQEQEQEQEQEQEQEQEQEQEÏøïþIç‰ìuÿ¢šº
-çüwÿ$óÄ¿ö
-ºÿÑM@Q@sþ!ÿ�ç„ÿì+'þ‘]WAXúö“y©¶™=…ì—Vfå{c:6b’"¥C¡é)9ÏjØ¬õÐ´uûFÝ*Ä}§ÍóñnŸ½óvù›¸ù·í]Ùë´g8Ÿö?ÐwCÿÁ4ßü•GØüaÿAÝÿÓòUh&…£Çyky•b—V‘-¦[t`UÁ#ŽMØZ?ö?öGöU�ögüù}�<Ÿ½»îcoÞç§^k?ì~0ÿ î‡ÿ‚i¿ù*³á¸ñ„¾!½Òµô1ökH.|ßì‰¾o5æ]¸ûOòsœó»¶9é/t�7RxÞÿO´ºxÒDFžrªëµÀÈà2ðGqÁªiá?
ÇfÖiáý)m_;¡Q„l”'+ŒrcŒŸ÷ÐU±øÃþƒºþ	¦ÿäª>Çãúèø&›ÿ’¨âxkA�ÑÓDÓUÑâuaj€«D»b#Ž
-)ÂŸáV„pCÌñE<Ï¾VU»m–õ;UFO`jÃûŒ?è;¡ÿàšoþJ£ì~0ÿ î‡ÿ‚i¿ù*€:
-çü	ÿ$óÃ_ö
-µÿÑKGØüaÿAÝÿÓòUhhZgö'‡´Í'Îó¾Ãi·›·nýˆv2qœg4¡EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\ÿŽÿäžx—þÁW_ú)« ®ÇòO<Kÿ`«¯ýÔÐQEQEQEW?gÿ%Yÿ°U‡þ�»®‚¹û?ù(zÏý‚¬?ômÝtQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEÏøïþIç‰ìuÿ¢šº
-çüwÿ$óÄ¿ö
-ºÿÑM@Q@Wá?
Új~
Ðïï/µÉ.®´ûy¦íËÁ¹Ú5,p%ÀÉ'¥wW?ÿn—ÿ?Zçþoøõð†éóõ®àö÷ÿ�PA\ýŸü”=gþÁVú6î�øCt¿ùú×?ð{{ÿÇªæ•áý?F¸¸¸´û[Opˆ’Éu{5ËBÅ@2»w8êhRŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š+Ÿÿ„¤ÜþóJÐµ]R×µÕºÃlØ3Iu#:‚„ó€‚¸¿ŠÚä:Ã�]çµ»�/-ä²
oaK*»ä�©»>¬kSþSþ„ÍsþÿYòEsþ8]SÅÞÕ41ár9.¢ýÓ›‹ ŠC¦ãçŸ—r®p3Œãšë<9®Câ_Ùë6ö·vÐ]¡xã»Œ$›r@$F�Ï ƒÞµ+“ÒuíF±Òíüâ‚ÊÞ;xÚIìKE
-	ÅÀÀôsþSþ„ÍsþÿYòE\ñ¹†¼?y¬ÜZÝÜÁh�äŽÒ0òmÈ€Hî'<Ojçþë�ë¿t‡‚Öî³·ŽÈµÄaD­j¬é‚w&ìŒú©«¶¡}¬è×Ú]Çƒü@°^ÛÉo#G=ˆ`®¥I¸#8>†£øigo¢ø.ÃÃêgKí>!öÈ.«Ç+–gÆ@Ýó W\«m8fÁ4ØQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEÏøÓçðÓÛ70Þ]ÚYN¿ß†kˆâ‘sÛ(ì29È à×A\ÿŒ¿ämÿa]7ÿKaª~7ñE÷†íã—O´Žéã·žöxˆË!¿e
->uòÌ21™;@:Ê+‹}^:ûéÉ6šëéÊæÑÉ
-l~ÕÞòU¾Vé¸tÙYvÞ.ñ—ƒt›ûÉìo.¥Ñ%Öæ²´{â†8KC€ø1”þô|£êÎxôŠ+Ÿ·Öo.<Kwk¾Æ+k±cåJJÍ,†Ýn7£g
Ãíòöç
-Ï¿�µÏÛxÓXºÓ"¸	b’\Å¦ÝE˜\ˆã¾‘¡Da¿æhØ+CŒ¨T'pô
-çõÏÜx—Ã1ü³Kw5“·\ÂöòJË�w‚#ž¿.3‚AÃ°¿ÔµŸè2ÜKh ‚ßTI!1Ý4	neB_Hn8bªÒ.æß‘¹âùxOþÂ²éÕtQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEsþ3ù|>’ž#‡P±žW=#�.âwv=•UY‰<	<
-Øº°³¾ò>ÙiÇ‘*Ï�.Eû®¹èÃ'r*Ià†êÞ[{ˆ£š	P¤‘È¡•ÔŒAà‚8Åaÿdø‚Ï÷Zgˆ kQ÷WS²k™t
-$Ic, Ë†rrK¶xÐŽ²Ã(Ò¬D�Ä�DâÝ3hÁÑã…VU`€G"�ì-þ�V?ñ÷öïø÷OøøÿžÝ?Öµ×Þ³þÇãúèø&›ÿ’¨ûŒ?è;¡ÿàšoþJ 
�°Yÿhÿhý’·y^GÚ|±æyyÝ³w]¹ç3TçðÖƒuo-½Æ‰¦Í·êHäµFW˜Œ#ÈãwZÃšãÆx†ËIþ×ÐÏÚm'¹ó²&ù|§…vãí<çÎÎsÆÞùãCì~0ÿ î‡ÿ‚i¿ù*€5-´�6ÎâK‹]>Ò	äyäŠVfr¥É d–(„žûFz
-Ë×ÿyâ
-ÄŸ4‰¨K; ä¬bÒt.G÷CI“Ó.£©}�ÆôÐÿðM7ÿ%UÍ7Hk[†¾¾¼’ÿPt)ç:*,HH&8�}Ä,ä³(fm«€
J(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€
-(¢€9ûÏù(z7ý‚¯ÿôm¥tÏÞÉCÑ¿ìÿ£m+  Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ŠâôÛY³»½½½ÖZvÔïÓ÷zÅÜJ.¥ER@ P0éZŸð†éóõ®àö÷ÿ�PAEsÿð†éóõ®àö÷ÿ�Qÿn—ÿ?Zçþoøõyÿˆ4­bOÚ'@òoõÅÓ'´7RyS8†?/ïÆ06ˆÙ£·Þ½ËŒýå¯`®løEk„¸iu“:#"Hu»ÝÊ¬A`›�	U$wÚ=*OøCt¿ùú×?ð{{ÿÇ¨ ¢¹ÿøCt¿ùú×?ð{{ÿÇ«>ïG‡Dñ†¤²¼ÕÒ5	!™'ÕngGO²\>
-I#/ÞE=;PaEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP?àßùÜÿØWRÿÒÙ«bêþÎÇÈûeÜþ|«>t�<Éî¢ç«É¬ÿÈçþÂº—þ–ÍF¿£^_ê6·–ic6-.,f†ø—1ˆ³•ù˜ò€òÎÐÁ�Î¸äR}[Mµ¸–ÞãP´†x­ÍÔ‘É2«$ àÈA9ºV^·ãFÑç¿þÐ±—Ê»[´D[†`»¹Ù·;Ÿ‚UCb©ÏáÝI|I.¡nm$€^�R1$¬ŒÓ}�ì¢�?™’GÝØ~õcé¾
× ³°¶¸jˆ,´‹y;—ošÊèÈH1�ñœöÃr>jì¿¦¥¾¡wq©i±YÙ\y\µ+ ¬„àFá›nÜŸá=NvÞ,ðÝæß²øƒJŸt©ò¯clÈùØœ¼Û[©ÁÇJâüOc«éæûQ–æÓLyuØ¯,o–ì¡Qmä?ÚHJÄ4`¤ýä¨;e¬Zèw:ž�gw¢ÛZAfÖöP¬3\¾Ô$^[ìc,Rœ!ÚBm|9;@`|K ‹{‹ƒ­é¾EºDóÉö¤ÛÈŒ±Î`ARzçŒÕ?ÿÈsÂö“ÿH®«›k3x~4é¶Ú”Zìú«%µìñ­ÊÊd­<j’#„˜¨`ýZä`•’Ø¾˜<
c$pEö}A¢H fd‰Êè*o™¶®qÆìgœÂŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Ã~,ðÞ™§ÞYßøƒJ´º�UÔwÃ=ìqºæòb2¤ädØÿ„ïÁÿô5èø1‡ÿŠ®‚Šçÿá;ðý
zþaÿâ¨ÿ„ïÁÿô5èø1‡ÿŠ®‚Šçÿá;ðý
zþaÿâ¨ÿ„ïÁÿô5èø1‡ÿŠ®‚Šçÿá;ðý
zþaÿâ«/Pñ.ƒ¬ø“Â¶ú^·¦ßNºœŽÑÚÝ$¬ìw#$)' gÜWiEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEÿÙ
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configdev.tin ./etc/configdev.tin
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configdev.tin	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/configdev.tin	1970-01-01 00:00:00.000000000 +0000
@@ -1,17 +0,0 @@
-   acconfig.h       configure.in                 Makefile.am
-       |                |                           |
-       |  --------------+----------------------     |
-       |  |             |                     |     |
-       v  v             |    acinclude.m4     |     |
-   *autoheader*         |         |           v     v
-       |                |         v      --->*automake* 
-       v                |--->*aclocal*   |       |      
-   config.in            |         |      |       v      
-                        |         v      |   Makefile.in
-                        |    aclocal.m4---
-                        |     |
-                        v     v
-                       *autoconf*
-                           |
-                           v
-                       configure
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configure.info ./etc/configure.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configure.info	2015-01-13 02:06:58.000000000 +0000
+++ ./etc/configure.info	1970-01-01 00:00:00.000000000 +0000
@@ -1,2773 +0,0 @@
-This is configure.info, produced by makeinfo version 4.13 from
-./configure.texi.
-
-INFO-DIR-SECTION GNU admin
-START-INFO-DIR-ENTRY
-* configure: (configure).	The GNU configure and build system
-END-INFO-DIR-ENTRY
-
-   This file documents the GNU configure and build system.
-
-   Copyright (C) 1998 Cygnus Solutions.
-
-   Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-
-File: configure.info,  Node: Top,  Next: Introduction,  Up: (dir)
-
-GNU configure and build system
-******************************
-
-The GNU configure and build system.
-
-* Menu:
-
-* Introduction::		Introduction.
-* Getting Started::		Getting Started.
-* Files::			Files.
-* Configuration Names::		Configuration Names.
-* Cross Compilation Tools::	Cross Compilation Tools.
-* Canadian Cross::		Canadian Cross.
-* Cygnus Configure::		Cygnus Configure.
-* Multilibs::			Multilibs.
-* FAQ::				Frequently Asked Questions.
-* Index::			Index.
-
-
-File: configure.info,  Node: Introduction,  Next: Getting Started,  Prev: Top,  Up: Top
-
-1 Introduction
-**************
-
-This document describes the GNU configure and build systems.  It
-describes how autoconf, automake, libtool, and make fit together.  It
-also includes a discussion of the older Cygnus configure system.
-
-   This document does not describe in detail how to use each of the
-tools; see the respective manuals for that.  Instead, it describes
-which files the developer must write, which files are machine generated
-and how they are generated, and where certain common problems should be
-addressed.
-
-   This document draws on several sources, including the autoconf
-manual by David MacKenzie (*note autoconf overview: (autoconf)Top.),
-the automake manual by David MacKenzie and Tom Tromey (*note automake
-overview: (automake)Top.), the libtool manual by Gordon Matzigkeit
-(*note libtool overview: (libtool)Top.), and the Cygnus configure
-manual by K. Richard Pixley.
-
-* Menu:
-
-* Goals::			Goals.
-* Tools::			The tools.
-* History::			History.
-* Building::			Building.
-
-
-File: configure.info,  Node: Goals,  Next: Tools,  Up: Introduction
-
-1.1 Goals
-=========
-
-The GNU configure and build system has two main goals.
-
-   The first is to simplify the development of portable programs.  The
-system permits the developer to concentrate on writing the program,
-simplifying many details of portability across Unix and even Windows
-systems, and permitting the developer to describe how to build the
-program using simple rules rather than complex Makefiles.
-
-   The second is to simplify the building of programs distributed as
-source code.  All programs are built using a simple, standardized, two
-step process.  The program builder need not install any special tools in
-order to build the program.
-
-
-File: configure.info,  Node: Tools,  Next: History,  Prev: Goals,  Up: Introduction
-
-1.2 Tools
-=========
-
-The GNU configure and build system is comprised of several different
-tools.  Program developers must build and install all of these tools.
-
-   People who just want to build programs from distributed sources
-normally do not need any special tools beyond a Unix shell, a make
-program, and a C compiler.
-
-autoconf
-     provides a general portability framework, based on testing the
-     features of the host system at build time.
-
-automake
-     a system for describing how to build a program, permitting the
-     developer to write a simplified `Makefile'.
-
-libtool
-     a standardized approach to building shared libraries.
-
-gettext
-     provides a framework for translation of text messages into other
-     languages; not really discussed in this document.
-
-m4
-     autoconf requires the GNU version of m4; the standard Unix m4 does
-     not suffice.
-
-perl
-     automake requires perl.
-
-
-File: configure.info,  Node: History,  Next: Building,  Prev: Tools,  Up: Introduction
-
-1.3 History
-===========
-
-This is a very brief and probably inaccurate history.
-
-   As the number of Unix variants increased during the 1980s, it became
-harder to write programs which could run on all variants.  While it was
-often possible to use `#ifdef' to identify particular systems,
-developers frequently did not have access to every system, and the
-characteristics of some systems changed from version to version.
-
-   By 1992, at least three different approaches had been developed:
-   * The Metaconfig program, by Larry Wall, Harlan Stenn, and Raphael
-     Manfredi.
-
-   * The Cygnus configure script, by K. Richard Pixley, and the gcc
-     configure script, by Richard Stallman.  These use essentially the
-     same approach, and the developers communicated regularly.
-
-   * The autoconf program, by David MacKenzie.
-
-   The Metaconfig program is still used for Perl and a few other
-programs.  It is part of the Dist package.  I do not know if it is
-being developed.
-
-   In 1994, David MacKenzie and others modified autoconf to incorporate
-all the features of Cygnus configure.  Since then, there has been a
-slow but steady conversion of GNU programs from Cygnus configure to
-autoconf. gcc has been converted, eliminating the gcc configure script.
-
-   GNU autoconf was regularly maintained until late 1996.  As of this
-writing in June, 1998, it has no public maintainer.
-
-   Most programs are built using the make program, which requires the
-developer to write Makefiles describing how to build the programs.
-Since most programs are built in pretty much the same way, this led to a
-lot of duplication.
-
-   The X Window system is built using the imake tool, which uses a
-database of rules to eliminate the duplication.  However, building a
-tool which was developed using imake requires that the builder have
-imake installed, violating one of the goals of the GNU system.
-
-   The new BSD make provides a standard library of Makefile fragments,
-which permits developers to write very simple Makefiles.  However, this
-requires that the builder install the new BSD make program.
-
-   In 1994, David MacKenzie wrote the first version of automake, which
-permitted writing a simple build description which was converted into a
-Makefile which could be used by the standard make program.  In 1995, Tom
-Tromey completely rewrote automake in Perl, and he continues to enhance
-it.
-
-   Various free packages built libraries, and by around 1995 several
-included support to build shared libraries on various platforms.
-However, there was no consistent approach.  In early 1996, Gordon
-Matzigkeit began working on libtool, which provided a standardized
-approach to building shared libraries.  This was integrated into
-automake from the start.
-
-   The development of automake and libtool was driven by the GNITS
-project, a group of GNU maintainers who designed standardized tools to
-help meet the GNU coding standards.
-
-
-File: configure.info,  Node: Building,  Prev: History,  Up: Introduction
-
-1.4 Building
-============
-
-Most readers of this document should already know how to build a tool by
-running `configure' and `make'.  This section may serve as a quick
-introduction or reminder.
-
-   Building a tool is normally as simple as running `configure'
-followed by `make'.  You should normally run `configure' from an empty
-directory, using some path to refer to the `configure' script in the
-source directory.  The directory in which you run `configure' is called
-the "object directory".
-
-   In order to use a object directory which is different from the source
-directory, you must be using the GNU version of `make', which has the
-required `VPATH' support.  Despite this restriction, using a different
-object directory is highly recommended:
-   * It keeps the files generated during the build from cluttering up
-     your sources.
-
-   * It permits you to remove the built files by simply removing the
-     entire build directory.
-
-   * It permits you to build from the same sources with several sets of
-     configure options simultaneously.
-
-   If you don't have GNU `make', you will have to run `configure' in
-the source directory.  All GNU packages should support this; in
-particular, GNU packages should not assume the presence of GNU `make'.
-
-   After running `configure', you can build the tools by running `make'.
-
-   To install the tools, run `make install'.  Installing the tools will
-copy the programs and any required support files to the "installation
-directory".  The location of the installation directory is controlled
-by `configure' options, as described below.
-
-   In the Cygnus tree at present, the info files are built and
-installed as a separate step.  To build them, run `make info'.  To
-install them, run `make install-info'. The equivalent html files are
-also built and installed in a separate step. To build the html files,
-run `make html'. To install the html files run `make install-html'.
-
-   All `configure' scripts support a wide variety of options.  The most
-interesting ones are `--with' and `--enable' options which are
-generally specific to particular tools.  You can usually use the
-`--help' option to get a list of interesting options for a particular
-configure script.
-
-   The only generic options you are likely to use are the `--prefix'
-and `--exec-prefix' options.  These options are used to specify the
-installation directory.
-
-   The directory named by the `--prefix' option will hold machine
-independent files such as info files.
-
-   The directory named by the `--exec-prefix' option, which is normally
-a subdirectory of the `--prefix' directory, will hold machine dependent
-files such as executables.
-
-   The default for `--prefix' is `/usr/local'.  The default for
-`--exec-prefix' is the value used for `--prefix'.
-
-   The convention used in Cygnus releases is to use a `--prefix' option
-of `/usr/cygnus/RELEASE', where RELEASE is the name of the release, and
-to use a `--exec-prefix' option of `/usr/cygnus/RELEASE/H-HOST', where
-HOST is the configuration name of the host system (*note Configuration
-Names::).
-
-   Do not use either the source or the object directory as the
-installation directory.  That will just lead to confusion.
-
-
-File: configure.info,  Node: Getting Started,  Next: Files,  Prev: Introduction,  Up: Top
-
-2 Getting Started
-*****************
-
-To start using the GNU configure and build system with your software
-package, you must write three files, and you must run some tools to
-manually generate additional files.
-
-* Menu:
-
-* Write configure.in::		Write configure.in.
-* Write Makefile.am::		Write Makefile.am.
-* Write acconfig.h::		Write acconfig.h.
-* Generate files::		Generate files.
-* Getting Started Example::	Example.
-
-
-File: configure.info,  Node: Write configure.in,  Next: Write Makefile.am,  Up: Getting Started
-
-2.1 Write configure.in
-======================
-
-You must first write the file `configure.in'.  This is an autoconf
-input file, and the autoconf manual describes in detail what this file
-should look like.
-
-   You will write tests in your `configure.in' file to check for
-conditions that may change from one system to another, such as the
-presence of particular header files or functions.
-
-   For example, not all systems support the `gettimeofday' function.
-If you want to use the `gettimeofday' function when it is available,
-and to use some other function when it is not, you would check for this
-by putting `AC_CHECK_FUNCS(gettimeofday)' in `configure.in'.
-
-   When the configure script is run at build time, this will arrange to
-define the preprocessor macro `HAVE_GETTIMEOFDAY' to the value 1 if the
-`gettimeofday' function is available, and to not define the macro at
-all if the function is not available.  Your code can then use `#ifdef'
-to test whether it is safe to call `gettimeofday'.
-
-   If you have an existing body of code, the `autoscan' program may
-help identify potential portability problems, and hence configure tests
-that you will want to use.  *Note Invoking autoscan: (autoconf)Invoking
-autoscan.
-
-   Another handy tool for an existing body of code is `ifnames'.  This
-will show you all the preprocessor conditionals that the code already
-uses.  *Note Invoking ifnames: (autoconf)Invoking ifnames.
-
-   Besides the portability tests which are specific to your particular
-package, every `configure.in' file should contain the following macros.
-
-`AC_INIT'
-     This macro takes a single argument, which is the name of a file in
-     your package.  For example, `AC_INIT(foo.c)'.
-
-`AC_PREREQ(VERSION)'
-     This macro is optional.  It may be used to indicate the version of
-     `autoconf' that you are using.  This will prevent users from
-     running an earlier version of `autoconf' and perhaps getting an
-     invalid `configure' script.  For example, `AC_PREREQ(2.12)'.
-
-`AM_INIT_AUTOMAKE'
-     This macro takes two arguments: the name of the package, and a
-     version number.  For example, `AM_INIT_AUTOMAKE(foo, 1.0)'.  (This
-     macro is not needed if you are not using automake).
-
-`AM_CONFIG_HEADER'
-     This macro names the header file which will hold the preprocessor
-     macro definitions at run time.  Normally this should be
-     `config.h'.  Your sources would then use `#include "config.h"' to
-     include it.
-
-     This macro may optionally name the input file for that header
-     file; by default, this is `config.h.in', but that file name works
-     poorly on DOS filesystems.  Therefore, it is often better to name
-     it explicitly as `config.in'.
-
-     This is what you should normally put in `configure.in':
-          AM_CONFIG_HEADER(config.h:config.in)
-
-     (If you are not using automake, use `AC_CONFIG_HEADER' rather than
-     `AM_CONFIG_HEADER').
-
-`AM_MAINTAINER_MODE'
-     This macro always appears in Cygnus configure scripts.  Other
-     programs may or may not use it.
-
-     If this macro is used, the `--enable-maintainer-mode' option is
-     required to enable automatic rebuilding of generated files used by
-     the configure system.  This of course requires that developers be
-     aware of, and use, that option.
-
-     If this macro is not used, then the generated files will always be
-     rebuilt automatically.  This will cause problems if the wrong
-     versions of autoconf, automake, or others are in the builder's
-     `PATH'.
-
-     (If you are not using automake, you do not need to use this macro).
-
-`AC_EXEEXT'
-     Either this macro or `AM_EXEEXT' always appears in Cygnus configure
-     files.  Other programs may or may not use one of them.
-
-     This macro looks for the executable suffix used on the host
-     system.  On Unix systems, this is the empty string.  On Windows
-     systems, this is `.exe'.  This macro directs automake to use the
-     executable suffix as appropriate when creating programs.  This
-     macro does not take any arguments.
-
-     The `AC_EXEEXT' form is new, and is part of a Cygnus patch to
-     autoconf to support compiling with Visual C++.  Older programs use
-     `AM_EXEEXT' instead.
-
-     (Programs which do not use automake use neither `AC_EXEEXT' nor
-     `AM_EXEEXT').
-
-`AC_PROG_CC'
-     If you are writing C code, you will normally want to use this
-     macro.  It locates the C compiler to use.  It does not take any
-     arguments.
-
-     However, if this `configure.in' file is for a library which is to
-     be compiled by a cross compiler which may not fully work, then you
-     will not want to use `AC_PROG_CC'.  Instead, you will want to use a
-     variant which does not call the macro `AC_PROG_CC_WORKS'.  Examples
-     can be found in various `configure.in' files for libraries that are
-     compiled with cross compilers, such as libiberty or libgloss.
-     This is essentially a bug in autoconf, and there will probably be
-     a better workaround at some point.
-
-`AC_PROG_CXX'
-     If you are writing C++ code, you will want to use this macro.  It
-     locates the C++ compiler to use.  It does not take any arguments.
-     The same cross compiler comments apply as for `AC_PROG_CC'.
-
-`AM_PROG_LIBTOOL'
-     If you want to build libraries, and you want to permit them to be
-     shared, or you want to link against libraries which were built
-     using libtool, then you will need this macro.  This macro is
-     required in order to use libtool.
-
-     By default, this will cause all libraries to be built as shared
-     libraries.  To prevent this-to change the default-use
-     `AM_DISABLE_SHARED' before `AM_PROG_LIBTOOL'.  The configure
-     options `--enable-shared' and `--disable-shared' may be used to
-     override the default at build time.
-
-`AC_DEFINE(_GNU_SOURCE)'
-     GNU packages should normally include this line before any other
-     feature tests.  This defines the macro `_GNU_SOURCE' when
-     compiling, which directs the libc header files to provide the
-     standard GNU system interfaces including all GNU extensions.  If
-     this macro is not defined, certain GNU extensions may not be
-     available.
-
-`AC_OUTPUT'
-     This macro takes a list of file names which the configure process
-     should produce.  This is normally a list of one or more `Makefile'
-     files in different directories.  If your package lives entirely in
-     a single directory, you would use simply `AC_OUTPUT(Makefile)'.
-     If you also have, for example, a `lib' subdirectory, you would use
-     `AC_OUTPUT(Makefile lib/Makefile)'.
-
-   If you want to use locally defined macros in your `configure.in'
-file, then you will need to write a `acinclude.m4' file which defines
-them (if not using automake, this file is called `aclocal.m4').
-Alternatively, you can put separate macros in an `m4' subdirectory, and
-put `ACLOCAL_AMFLAGS = -I m4' in your `Makefile.am' file so that the
-`aclocal' program will be able to find them.
-
-   The different macro prefixes indicate which tool defines the macro.
-Macros which start with `AC_' are part of autoconf.  Macros which start
-with `AM_' are provided by automake or libtool.
-
-
-File: configure.info,  Node: Write Makefile.am,  Next: Write acconfig.h,  Prev: Write configure.in,  Up: Getting Started
-
-2.2 Write Makefile.am
-=====================
-
-You must write the file `Makefile.am'.  This is an automake input file,
-and the automake manual describes in detail what this file should look
-like.
-
-   The automake commands in `Makefile.am' mostly look like variable
-assignments in a `Makefile'.  automake recognizes special variable
-names, and automatically add make rules to the output as needed.
-
-   There will be one `Makefile.am' file for each directory in your
-package.  For each directory with subdirectories, the `Makefile.am'
-file should contain the line
-     SUBDIRS = DIR DIR ...
-   where each DIR is the name of a subdirectory.
-
-   For each `Makefile.am', there should be a corresponding `Makefile'
-in the `AC_OUTPUT' macro in `configure.in'.
-
-   Every `Makefile.am' written at Cygnus should contain the line
-     AUTOMAKE_OPTIONS = cygnus
-   This puts automake into Cygnus mode.  See the automake manual for
-details.
-
-   You may to include the version number of `automake' that you are
-using on the `AUTOMAKE_OPTIONS' line.  For example,
-     AUTOMAKE_OPTIONS = cygnus 1.3
-   This will prevent users from running an earlier version of
-`automake' and perhaps getting an invalid `Makefile.in'.
-
-   If your package builds a program, then in the directory where that
-program is built you will normally want a line like
-     bin_PROGRAMS = PROGRAM
-   where PROGRAM is the name of the program.  You will then want a line
-like
-     PROGRAM_SOURCES = FILE FILE ...
-   where each FILE is the name of a source file to link into the
-program (e.g., `foo.c').
-
-   If your package builds a library, and you do not want the library to
-ever be built as a shared library, then in the directory where that
-library is built you will normally want a line like
-     lib_LIBRARIES = libNAME.a
-   where `libNAME.a' is the name of the library.  You will then want a
-line like
-     libNAME_a_SOURCES = FILE FILE ...
-   where each FILE is the name of a source file to add to the library.
-
-   If your package builds a library, and you want to permit building the
-library as a shared library, then in the directory where that library is
-built you will normally want a line like
-     lib_LTLIBRARIES = libNAME.la
-   The use of `LTLIBRARIES', and the `.la' extension, indicate a
-library to be built using libtool.  As usual, you will then want a line
-like
-     libNAME_la_SOURCES = FILE FILE ...
-
-   The strings `bin' and `lib' that appear above in `bin_PROGRAMS' and
-`lib_LIBRARIES' are not arbitrary.  They refer to particular
-directories, which may be set by the `--bindir' and `--libdir' options
-to `configure'.  If those options are not used, the default values are
-based on the `--prefix' or `--exec-prefix' options to `configure'.  It
-is possible to use other names if the program or library should be
-installed in some other directory.
-
-   The `Makefile.am' file may also contain almost anything that may
-appear in a normal `Makefile'.  automake also supports many other
-special variables, as well as conditionals.
-
-   See the automake manual for more information.
-
-
-File: configure.info,  Node: Write acconfig.h,  Next: Generate files,  Prev: Write Makefile.am,  Up: Getting Started
-
-2.3 Write acconfig.h
-====================
-
-If you are generating a portability header file, (i.e., you are using
-`AM_CONFIG_HEADER' in `configure.in'), then you will have to write a
-`acconfig.h' file.  It will have to contain the following lines.
-
-     /* Name of package.  */
-     #undef PACKAGE
-
-     /* Version of package.  */
-     #undef VERSION
-
-   This requirement is really a bug in the system, and the requirement
-may be eliminated at some later date.
-
-   The `acconfig.h' file will also similar comment and `#undef' lines
-for any unusual macros in the `configure.in' file, including any macro
-which appears in a `AC_DEFINE' macro.
-
-   In particular, if you are writing a GNU package and therefore include
-`AC_DEFINE(_GNU_SOURCE)' in `configure.in' as suggested above, you will
-need lines like this in `acconfig.h':
-     /* Enable GNU extensions.  */
-     #undef _GNU_SOURCE
-
-   Normally the `autoheader' program will inform you of any such
-requirements by printing an error message when it is run.  However, if
-you do anything particular odd in your `configure.in' file, you will
-have to make sure that the right entries appear in `acconfig.h', since
-otherwise the results of the tests may not be available in the
-`config.h' file which your code will use.
-
-   (Thee `PACKAGE' and `VERSION' lines are not required if you are not
-using automake, and in that case you may not need a `acconfig.h' file
-at all).
-
-
-File: configure.info,  Node: Generate files,  Next: Getting Started Example,  Prev: Write acconfig.h,  Up: Getting Started
-
-2.4 Generate files
-==================
-
-Once you have written `configure.in', `Makefile.am', `acconfig.h', and
-possibly `acinclude.m4', you must use autoconf and automake programs to
-produce the first versions of the generated files.  This is done by
-executing the following sequence of commands.
-
-     aclocal
-     autoconf
-     autoheader
-     automake
-
-   The `aclocal' and `automake' commands are part of the automake
-package, and the `autoconf' and `autoheader' commands are part of the
-autoconf package.
-
-   If you are using a `m4' subdirectory for your macros, you will need
-to use the `-I m4' option when you run `aclocal'.
-
-   If you are not using the Cygnus tree, use the `-a' option when
-running `automake' command in order to copy the required support files
-into your source directory.
-
-   If you are using libtool, you must build and install the libtool
-package with the same `--prefix' and `--exec-prefix' options as you
-used with the autoconf and automake packages.  You must do this before
-running any of the above commands.  If you are not using the Cygnus
-tree, you will need to run the `libtoolize' program to copy the libtool
-support files into your directory.
-
-   Once you have managed to run these commands without getting any
-errors, you should create a new empty directory, and run the `configure'
-script which will have been created by `autoconf' with the
-`--enable-maintainer-mode' option.  This will give you a set of
-Makefiles which will include rules to automatically rebuild all the
-generated files.
-
-   After doing that, whenever you have changed some of the input files
-and want to regenerated the other files, go to your object directory
-and run `make'.  Doing this is more reliable than trying to rebuild the
-files manually, because there are complex order dependencies and it is
-easy to forget something.
-
-
-File: configure.info,  Node: Getting Started Example,  Prev: Generate files,  Up: Getting Started
-
-2.5 Example
-===========
-
-Let's consider a trivial example.
-
-   Suppose we want to write a simple version of `touch'.  Our program,
-which we will call `poke', will take a single file name argument, and
-use the `utime' system call to set the modification and access times of
-the file to the current time.  We want this program to be highly
-portable.
-
-   We'll first see what this looks like without using autoconf and
-automake, and then see what it looks like with them.
-
-* Menu:
-
-* Getting Started Example 1::		First Try.
-* Getting Started Example 2::		Second Try.
-* Getting Started Example 3::		Third Try.
-* Generate Files in Example::		Generate Files.
-
-
-File: configure.info,  Node: Getting Started Example 1,  Next: Getting Started Example 2,  Up: Getting Started Example
-
-2.5.1 First Try
----------------
-
-Here is our first try at `poke.c'.  Note that we've written it without
-ANSI/ISO C prototypes, since we want it to be highly portable.
-
-     #include <stdio.h>
-     #include <stdlib.h>
-     #include <sys/types.h>
-     #include <utime.h>
-
-     int
-     main (argc, argv)
-          int argc;
-          char **argv;
-     {
-       if (argc != 2)
-         {
-           fprintf (stderr, "Usage: poke file\n");
-           exit (1);
-         }
-
-       if (utime (argv[1], NULL) < 0)
-         {
-           perror ("utime");
-           exit (1);
-         }
-
-       exit (0);
-     }
-
-   We also write a simple `Makefile'.
-
-     CC = gcc
-     CFLAGS = -g -O2
-
-     all: poke
-
-     poke: poke.o
-     	$(CC) -o poke $(CFLAGS) $(LDFLAGS) poke.o
-
-   So far, so good.
-
-   Unfortunately, there are a few problems.
-
-   On older Unix systems derived from BSD 4.3, the `utime' system call
-does not accept a second argument of `NULL'.  On those systems, we need
-to pass a pointer to `struct utimbuf' structure.  Unfortunately, even
-older systems don't define that structure; on those systems, we need to
-pass an array of two `long' values.
-
-   The header file `stdlib.h' was invented by ANSI C, and older systems
-don't have a copy.  We included it above to get a declaration of `exit'.
-
-   We can find some of these portability problems by running
-`autoscan', which will create a `configure.scan' file which we can use
-as a prototype for our `configure.in' file.  I won't show the output,
-but it will notice the potential problems with `utime' and `stdlib.h'.
-
-   In our `Makefile', we don't provide any way to install the program.
-This doesn't matter much for such a simple example, but a real program
-will need an `install' target.  For that matter, we will also want a
-`clean' target.
-
-
-File: configure.info,  Node: Getting Started Example 2,  Next: Getting Started Example 3,  Prev: Getting Started Example 1,  Up: Getting Started Example
-
-2.5.2 Second Try
-----------------
-
-Here is our second try at this program.
-
-   We modify `poke.c' to use preprocessor macros to control what
-features are available.  (I've cheated a bit by using the same macro
-names which autoconf will use).
-
-     #include <stdio.h>
-
-     #ifdef STDC_HEADERS
-     #include <stdlib.h>
-     #endif
-
-     #include <sys/types.h>
-
-     #ifdef HAVE_UTIME_H
-     #include <utime.h>
-     #endif
-
-     #ifndef HAVE_UTIME_NULL
-
-     #include <time.h>
-
-     #ifndef HAVE_STRUCT_UTIMBUF
-
-     struct utimbuf
-     {
-       long actime;
-       long modtime;
-     };
-
-     #endif
-
-     static int
-     utime_now (file)
-          char *file;
-     {
-       struct utimbuf now;
-
-       now.actime = now.modtime = time (NULL);
-       return utime (file, &now);
-     }
-
-     #define utime(f, p) utime_now (f)
-
-     #endif /* HAVE_UTIME_NULL  */
-
-     int
-     main (argc, argv)
-          int argc;
-          char **argv;
-     {
-       if (argc != 2)
-         {
-           fprintf (stderr, "Usage: poke file\n");
-           exit (1);
-         }
-
-       if (utime (argv[1], NULL) < 0)
-         {
-           perror ("utime");
-           exit (1);
-         }
-
-       exit (0);
-     }
-
-   Here is the associated `Makefile'.  We've added support for the
-preprocessor flags we use.  We've also added `install' and `clean'
-targets.
-
-     # Set this to your installation directory.
-     bindir = /usr/local/bin
-
-     # Uncomment this if you have the standard ANSI/ISO C header files.
-     # STDC_HDRS = -DSTDC_HEADERS
-
-     # Uncomment this if you have utime.h.
-     # UTIME_H = -DHAVE_UTIME_H
-
-     # Uncomment this if utime (FILE, NULL) works on your system.
-     # UTIME_NULL = -DHAVE_UTIME_NULL
-
-     # Uncomment this if struct utimbuf is defined in utime.h.
-     # UTIMBUF = -DHAVE_STRUCT_UTIMBUF
-
-     CC = gcc
-     CFLAGS = -g -O2
-
-     ALL_CFLAGS = $(STDC_HDRS) $(UTIME_H) $(UTIME_NULL) $(UTIMBUF) $(CFLAGS)
-
-     all: poke
-
-     poke: poke.o
-     	$(CC) -o poke $(ALL_CFLAGS) $(LDFLAGS) poke.o
-
-     .c.o:
-     	$(CC) -c $(ALL_CFLAGS) poke.c
-
-     install: poke
-     	cp poke $(bindir)/poke
-
-     clean:
-     	rm poke poke.o
-
-   Some problems with this approach should be clear.
-
-   Users who want to compile poke will have to know how `utime' works
-on their systems, so that they can uncomment the `Makefile' correctly.
-
-   The installation is done using `cp', but many systems have an
-`install' program which may be used, and which supports optional
-features such as stripping debugging information out of the installed
-binary.
-
-   The use of `Makefile' variables like `CC', `CFLAGS' and `LDFLAGS'
-follows the requirements of the GNU standards.  This is convenient for
-all packages, since it reduces surprises for users.  However, it is
-easy to get the details wrong, and wind up with a slightly nonstandard
-distribution.
-
-
-File: configure.info,  Node: Getting Started Example 3,  Next: Generate Files in Example,  Prev: Getting Started Example 2,  Up: Getting Started Example
-
-2.5.3 Third Try
----------------
-
-For our third try at this program, we will write a `configure.in'
-script to discover the configuration features on the host system, rather
-than requiring the user to edit the `Makefile'.  We will also write a
-`Makefile.am' rather than a `Makefile'.
-
-   The only change to `poke.c' is to add a line at the start of the
-file:
-     #include "config.h"
-
-   The new `configure.in' file is as follows.
-
-     AC_INIT(poke.c)
-     AM_INIT_AUTOMAKE(poke, 1.0)
-     AM_CONFIG_HEADER(config.h:config.in)
-     AC_PROG_CC
-     AC_HEADER_STDC
-     AC_CHECK_HEADERS(utime.h)
-     AC_EGREP_HEADER(utimbuf, utime.h, AC_DEFINE(HAVE_STRUCT_UTIMBUF))
-     AC_FUNC_UTIME_NULL
-     AC_OUTPUT(Makefile)
-
-   The first four macros in this file, and the last one, were described
-above; see *note Write configure.in::.  If we omit these macros, then
-when we run `automake' we will get a reminder that we need them.
-
-   The other macros are standard autoconf macros.
-
-`AC_HEADER_STDC'
-     Check for standard C headers.
-
-`AC_CHECK_HEADERS'
-     Check whether a particular header file exists.
-
-`AC_EGREP_HEADER'
-     Check for a particular string in a particular header file, in this
-     case checking for `utimbuf' in `utime.h'.
-
-`AC_FUNC_UTIME_NULL'
-     Check whether `utime' accepts a NULL second argument to set the
-     file change time to the current time.
-
-   See the autoconf manual for a more complete description.
-
-   The new `Makefile.am' file is as follows.  Note how simple this is
-compared to our earlier `Makefile'.
-
-     bin_PROGRAMS = poke
-
-     poke_SOURCES = poke.c
-
-   This means that we should build a single program name `poke'.  It
-should be installed in the binary directory, which we called `bindir'
-earlier.  The program `poke' is built from the source file `poke.c'.
-
-   We must also write a `acconfig.h' file.  Besides `PACKAGE' and
-`VERSION', which must be mentioned for all packages which use automake,
-we must include `HAVE_STRUCT_UTIMBUF', since we mentioned it in an
-`AC_DEFINE'.
-
-     /* Name of package.  */
-     #undef PACKAGE
-
-     /* Version of package.  */
-     #undef VERSION
-
-     /* Whether utime.h defines struct utimbuf.  */
-     #undef HAVE_STRUCT_UTIMBUF
-
-
-File: configure.info,  Node: Generate Files in Example,  Prev: Getting Started Example 3,  Up: Getting Started Example
-
-2.5.4 Generate Files
---------------------
-
-We must now generate the other files, using the following commands.
-
-     aclocal
-     autoconf
-     autoheader
-     automake
-
-   When we run `autoheader', it will remind us of any macros we forgot
-to add to `acconfig.h'.
-
-   When we run `automake', it will want to add some files to our
-distribution.  It will add them automatically if we use the
-`--add-missing' option.
-
-   By default, `automake' will run in GNU mode, which means that it
-will want us to create certain additional files; as of this writing, it
-will want `NEWS', `README', `AUTHORS', and `ChangeLog', all of which
-are files which should appear in a standard GNU distribution.  We can
-either add those files, or run `automake' with the `--foreign' option.
-
-   Running these tools will generate the following files, all of which
-are described in the next chapter.
-
-   * `aclocal.m4'
-
-   * `configure'
-
-   * `config.in'
-
-   * `Makefile.in'
-
-   * `stamp-h.in'
-
-
-File: configure.info,  Node: Files,  Next: Configuration Names,  Prev: Getting Started,  Up: Top
-
-3 Files
-*******
-
-As was seen in the previous chapter, the GNU configure and build system
-uses a number of different files.  The developer must write a few files.
-The others are generated by various tools.
-
-   The system is rather flexible, and can be used in many different
-ways.  In describing the files that it uses, I will describe the common
-case, and mention some other cases that may arise.
-
-* Menu:
-
-* Developer Files::		Developer Files.
-* Build Files::			Build Files.
-* Support Files::		Support Files.
-
-
-File: configure.info,  Node: Developer Files,  Next: Build Files,  Up: Files
-
-3.1 Developer Files
-===================
-
-This section describes the files written or generated by the developer
-of a package.
-
-* Menu:
-
-* Developer Files Picture::	Developer Files Picture.
-* Written Developer Files::	Written Developer Files.
-* Generated Developer Files::	Generated Developer Files.
-
-
-File: configure.info,  Node: Developer Files Picture,  Next: Written Developer Files,  Up: Developer Files
-
-3.1.1 Developer Files Picture
------------------------------
-
-Here is a picture of the files which are written by the developer, the
-generated files which would be included with a complete source
-distribution, and the tools which create those files.  The file names
-are plain text and the tool names are enclosed by `*' characters (e.g.,
-`autoheader' is the name of a tool, not the name of a file).
-
-   acconfig.h       configure.in                 Makefile.am
-       |                |                           |
-       |  --------------+----------------------     |
-       |  |             |                     |     |
-       v  v             |    acinclude.m4     |     |
-   *autoheader*         |         |           v     v
-       |                |         v      --->*automake*
-       v                |--->*aclocal*   |       |
-   config.in            |         |      |       v
-                        |         v      |   Makefile.in
-                        |    aclocal.m4---
-                        |     |
-                        v     v
-                       *autoconf*
-                           |
-                           v
-                       configure
-
-
-File: configure.info,  Node: Written Developer Files,  Next: Generated Developer Files,  Prev: Developer Files Picture,  Up: Developer Files
-
-3.1.2 Written Developer Files
------------------------------
-
-The following files would be written by the developer.
-
-`configure.in'
-     This is the configuration script.  This script contains
-     invocations of autoconf macros.  It may also contain ordinary
-     shell script code.  This file will contain feature tests for
-     portability issues.  The last thing in the file will normally be
-     an `AC_OUTPUT' macro listing which files to create when the
-     builder runs the configure script.  This file is always required
-     when using the GNU configure system.  *Note Write configure.in::.
-
-`Makefile.am'
-     This is the automake input file.  It describes how the code should
-     be built.  It consists of definitions of automake variables.  It
-     may also contain ordinary Makefile targets.  This file is only
-     needed when using automake (newer tools normally use automake, but
-     there are still older tools which have not been converted, in
-     which the developer writes `Makefile.in' directly).  *Note Write
-     Makefile.am::.
-
-`acconfig.h'
-     When the configure script creates a portability header file, by
-     using `AM_CONFIG_HEADER' (or, if not using automake,
-     `AC_CONFIG_HEADER'), this file is used to describe macros which are
-     not recognized by the `autoheader' command.  This is normally a
-     fairly uninteresting file, consisting of a collection of `#undef'
-     lines with comments.  Normally any call to `AC_DEFINE' in
-     `configure.in' will require a line in this file. *Note Write
-     acconfig.h::.
-
-`acinclude.m4'
-     This file is not always required.  It defines local autoconf
-     macros.  These macros may then be used in `configure.in'.  If you
-     don't need any local autoconf macros, then you don't need this
-     file at all.  In fact, in general, you never need local autoconf
-     macros, since you can put everything in `configure.in', but
-     sometimes a local macro is convenient.
-
-     Newer tools may omit `acinclude.m4', and instead use a
-     subdirectory, typically named `m4', and define `ACLOCAL_AMFLAGS =
-     -I m4' in `Makefile.am' to force `aclocal' to look there for macro
-     definitions.  The macro definitions are then placed in separate
-     files in that directory.
-
-     The `acinclude.m4' file is only used when using automake; in older
-     tools, the developer writes `aclocal.m4' directly, if it is needed.
-
-
-File: configure.info,  Node: Generated Developer Files,  Prev: Written Developer Files,  Up: Developer Files
-
-3.1.3 Generated Developer Files
--------------------------------
-
-The following files would be generated by the developer.
-
-   When using automake, these files are normally not generated manually
-after the first time.  Instead, the generated `Makefile' contains rules
-to automatically rebuild the files as required.  When
-`AM_MAINTAINER_MODE' is used in `configure.in' (the normal case in
-Cygnus code), the automatic rebuilding rules will only be defined if
-you configure using the `--enable-maintainer-mode' option.
-
-   When using automatic rebuilding, it is important to ensure that all
-the various tools have been built and installed on your `PATH'.  Using
-automatic rebuilding is highly recommended, so much so that I'm not
-going to explain what you have to do if you don't use it.
-
-`configure'
-     This is the configure script which will be run when building the
-     package.  This is generated by `autoconf' from `configure.in' and
-     `aclocal.m4'.  This is a shell script.
-
-`Makefile.in'
-     This is the file which the configure script will turn into the
-     `Makefile' at build time.  This file is generated by `automake'
-     from `Makefile.am'.  If you aren't using automake, you must write
-     this file yourself.  This file is pretty much a normal `Makefile',
-     with some configure substitutions for certain variables.
-
-`aclocal.m4'
-     This file is created by the `aclocal' program, based on the
-     contents of `configure.in' and `acinclude.m4' (or, as noted in the
-     description of `acinclude.m4' above, on the contents of an `m4'
-     subdirectory).  This file contains definitions of autoconf macros
-     which `autoconf' will use when generating the file `configure'.
-     These autoconf macros may be defined by you in `acinclude.m4' or
-     they may be defined by other packages such as automake, libtool or
-     gettext.  If you aren't using automake, you will normally write
-     this file yourself; in that case, if `configure.in' uses only
-     standard autoconf macros, this file will not be needed at all.
-
-`config.in'
-     This file is created by `autoheader' based on `acconfig.h' and
-     `configure.in'.  At build time, the configure script will define
-     some of the macros in it to create `config.h', which may then be
-     included by your program.  This permits your C code to use
-     preprocessor conditionals to change its behaviour based on the
-     characteristics of the host system.  This file may also be called
-     `config.h.in'.
-
-`stamp.h-in'
-     This rather uninteresting file, which I omitted from the picture,
-     is generated by `automake'.  It always contains the string
-     `timestamp'.  It is used as a timestamp file indicating whether
-     `config.in' is up to date.  Using a timestamp file means that
-     `config.in' can be marked as up to date without actually changing
-     its modification time.  This is useful since `config.in' depends
-     upon `configure.in', but it is easy to change `configure.in' in a
-     way which does not affect `config.in'.
-
-
-File: configure.info,  Node: Build Files,  Next: Support Files,  Prev: Developer Files,  Up: Files
-
-3.2 Build Files
-===============
-
-This section describes the files which are created at configure and
-build time.  These are the files which somebody who builds the package
-will see.
-
-   Of course, the developer will also build the package.  The
-distinction between developer files and build files is not that the
-developer does not see the build files, but that somebody who only
-builds the package does not have to worry about the developer files.
-
-* Menu:
-
-* Build Files Picture::		Build Files Picture.
-* Build Files Description::	Build Files Description.
-
-
-File: configure.info,  Node: Build Files Picture,  Next: Build Files Description,  Up: Build Files
-
-3.2.1 Build Files Picture
--------------------------
-
-Here is a picture of the files which will be created at build time.
-`config.status' is both a created file and a shell script which is run
-to create other files, and the picture attempts to show that.
-
-   config.in        *configure*      Makefile.in
-      |                  |               |
-      |                  v               |
-      |             config.status        |
-      |                  |               |
-   *config.status*<======+==========>*config.status*
-      |                                  |
-      v                                  v
-   config.h                          Makefile
-
-
-File: configure.info,  Node: Build Files Description,  Prev: Build Files Picture,  Up: Build Files
-
-3.2.2 Build Files Description
------------------------------
-
-This is a description of the files which are created at build time.
-
-`config.status'
-     The first step in building a package is to run the `configure'
-     script.  The `configure' script will create the file
-     `config.status', which is itself a shell script.  When you first
-     run `configure', it will automatically run `config.status'.  An
-     `Makefile' derived from an automake generated `Makefile.in' will
-     contain rules to automatically run `config.status' again when
-     necessary to recreate certain files if their inputs change.
-
-`Makefile'
-     This is the file which make will read to build the program.  The
-     `config.status' script will transform `Makefile.in' into
-     `Makefile'.
-
-`config.h'
-     This file defines C preprocessor macros which C code can use to
-     adjust its behaviour on different systems.  The `config.status'
-     script will transform `config.in' into `config.h'.
-
-`config.cache'
-     This file did not fit neatly into the picture, and I omitted it.
-     It is used by the `configure' script to cache results between
-     runs.  This can be an important speedup.  If you modify
-     `configure.in' in such a way that the results of old tests should
-     change (perhaps you have added a new library to `LDFLAGS'), then
-     you will have to remove `config.cache' to force the tests to be
-     rerun.
-
-     The autoconf manual explains how to set up a site specific cache
-     file.  This can speed up running `configure' scripts on your
-     system.
-
-`stamp.h'
-     This file, which I omitted from the picture, is similar to
-     `stamp-h.in'.  It is used as a timestamp file indicating whether
-     `config.h' is up to date.  This is useful since `config.h' depends
-     upon `config.status', but it is easy for `config.status' to change
-     in a way which does not affect `config.h'.
-
-
-File: configure.info,  Node: Support Files,  Prev: Build Files,  Up: Files
-
-3.3 Support Files
-=================
-
-The GNU configure and build system requires several support files to be
-included with your distribution.  You do not normally need to concern
-yourself with these.  If you are using the Cygnus tree, most are already
-present.  Otherwise, they will be installed with your source by
-`automake' (with the `--add-missing' option) and `libtoolize'.
-
-   You don't have to put the support files in the top level directory.
-You can put them in a subdirectory, and use the `AC_CONFIG_AUX_DIR'
-macro in `configure.in' to tell `automake' and the `configure' script
-where they are.
-
-   In this section, I describe the support files, so that you can know
-what they are and why they are there.
-
-`ABOUT-NLS'
-     Added by automake if you are using gettext.  This is a
-     documentation file about the gettext project.
-
-`ansi2knr.c'
-     Used by an automake generated `Makefile' if you put `ansi2knr' in
-     `AUTOMAKE_OPTIONS' in `Makefile.am'.  This permits compiling ANSI
-     C code with a K&R C compiler.
-
-`ansi2knr.1'
-     The man page which goes with `ansi2knr.c'.
-
-`config.guess'
-     A shell script which determines the configuration name for the
-     system on which it is run.
-
-`config.sub'
-     A shell script which canonicalizes a configuration name entered by
-     a user.
-
-`elisp-comp'
-     Used to compile Emacs LISP files.
-
-`install-sh'
-     A shell script which installs a program.  This is used if the
-     configure script can not find an install binary.
-
-`ltconfig'
-     Used by libtool.  This is a shell script which configures libtool
-     for the particular system on which it is used.
-
-`ltmain.sh'
-     Used by libtool.  This is the actual libtool script which is used,
-     after it is configured by `ltconfig' to build a library.
-
-`mdate-sh'
-     A shell script used by an automake generated `Makefile' to pretty
-     print the modification time of a file.  This is used to maintain
-     version numbers for texinfo files.
-
-`missing'
-     A shell script used if some tool is missing entirely.  This is
-     used by an automake generated `Makefile' to avoid certain sorts of
-     timestamp problems.
-
-`mkinstalldirs'
-     A shell script which creates a directory, including all parent
-     directories.  This is used by an automake generated `Makefile'
-     during installation.
-
-`texinfo.tex'
-     Required if you have any texinfo files.  This is used when
-     converting Texinfo files into DVI using `texi2dvi' and TeX.
-
-`ylwrap'
-     A shell script used by an automake generated `Makefile' to run
-     programs like `bison', `yacc', `flex', and `lex'.  These programs
-     default to producing output files with a fixed name, and the
-     `ylwrap' script runs them in a subdirectory to avoid file name
-     conflicts when using a parallel make program.
-
-
-File: configure.info,  Node: Configuration Names,  Next: Cross Compilation Tools,  Prev: Files,  Up: Top
-
-4 Configuration Names
-*********************
-
-The GNU configure system names all systems using a "configuration
-name".  All such names used to be triplets (they may now contain four
-parts in certain cases), and the term "configuration triplet" is still
-seen.
-
-* Menu:
-
-* Configuration Name Definition::	Configuration Name Definition.
-* Using Configuration Names::		Using Configuration Names.
-
-
-File: configure.info,  Node: Configuration Name Definition,  Next: Using Configuration Names,  Up: Configuration Names
-
-4.1 Configuration Name Definition
-=================================
-
-This is a string of the form CPU-MANUFACTURER-OPERATING_SYSTEM.  In
-some cases, this is extended to a four part form:
-CPU-MANUFACTURER-KERNEL-OPERATING_SYSTEM.
-
-   When using a configuration name in a configure option, it is normally
-not necessary to specify an entire name.  In particular, the
-MANUFACTURER field is often omitted, leading to strings such as
-`i386-linux' or `sparc-sunos'.  The shell script `config.sub' will
-translate these shortened strings into the canonical form.  autoconf
-will arrange for `config.sub' to be run automatically when it is needed.
-
-   The fields of a configuration name are as follows:
-
-CPU
-     The type of processor.  This is typically something like `i386' or
-     `sparc'.  More specific variants are used as well, such as
-     `mipsel' to indicate a little endian MIPS processor.
-
-MANUFACTURER
-     A somewhat freeform field which indicates the manufacturer of the
-     system.  This is often simply `unknown'.  Other common strings are
-     `pc' for an IBM PC compatible system, or the name of a workstation
-     vendor, such as `sun'.
-
-OPERATING_SYSTEM
-     The name of the operating system which is run on the system.  This
-     will be something like `solaris2.5' or `irix6.3'.  There is no
-     particular restriction on the version number, and strings like
-     `aix4.1.4.0' are seen.  For an embedded system, which has no
-     operating system, this field normally indicates the type of object
-     file format, such as `elf' or `coff'.
-
-KERNEL
-     This is used mainly for GNU/Linux.  A typical GNU/Linux
-     configuration name is `i586-pc-linux-gnulibc1'.  In this case the
-     kernel, `linux', is separated from the operating system,
-     `gnulibc1'.
-
-   The shell script `config.guess' will normally print the correct
-configuration name for the system on which it is run.  It does by
-running `uname' and by examining other characteristics of the system.
-
-   Because `config.guess' can normally determine the configuration name
-for a machine, it is normally only necessary to specify a configuration
-name when building a cross-compiler or when building using a
-cross-compiler.
-
-
-File: configure.info,  Node: Using Configuration Names,  Prev: Configuration Name Definition,  Up: Configuration Names
-
-4.2 Using Configuration Names
-=============================
-
-A configure script will sometimes have to make a decision based on a
-configuration name.  You will need to do this if you have to compile
-code differently based on something which can not be tested using a
-standard autoconf feature test.
-
-   It is normally better to test for particular features, rather than to
-test for a particular system.  This is because as Unix evolves,
-different systems copy features from one another.  Even if you need to
-determine whether the feature is supported based on a configuration
-name, you should define a macro which describes the feature, rather than
-defining a macro which describes the particular system you are on.
-
-   Testing for a particular system is normally done using a case
-statement in `configure.in'.  The case statement might look something
-like the following, assuming that `host' is a shell variable holding a
-canonical configuration name (which will be the case if `configure.in'
-uses the `AC_CANONICAL_HOST' or `AC_CANONICAL_SYSTEM' macro).
-
-     case "${host}" in
-     i[3-7]86-*-linux-gnu*) do something ;;
-     sparc*-sun-solaris2.[56789]*) do something ;;
-     sparc*-sun-solaris*) do something ;;
-     mips*-*-elf*) do something ;;
-     esac
-
-   It is particularly important to use `*' after the operating system
-field, in order to match the version number which will be generated by
-`config.guess'.
-
-   In most cases you must be careful to match a range of processor
-types.  For most processor families, a trailing `*' suffices, as in
-`mips*' above.  For the i386 family, something along the lines of
-`i[3-7]86' suffices at present.  For the m68k family, you will need
-something like `m68*'.  Of course, if you do not need to match on the
-processor, it is simpler to just replace the entire field by a `*', as
-in `*-*-irix*'.
-
-
-File: configure.info,  Node: Cross Compilation Tools,  Next: Canadian Cross,  Prev: Configuration Names,  Up: Top
-
-5 Cross Compilation Tools
-*************************
-
-The GNU configure and build system can be used to build "cross
-compilation" tools.  A cross compilation tool is a tool which runs on
-one system and produces code which runs on another system.
-
-* Menu:
-
-* Cross Compilation Concepts::		Cross Compilation Concepts.
-* Host and Target::			Host and Target.
-* Using the Host Type::			Using the Host Type.
-* Specifying the Target::       	Specifying the Target.
-* Using the Target Type::		Using the Target Type.
-* Cross Tools in the Cygnus Tree::	Cross Tools in the Cygnus Tree
-
-
-File: configure.info,  Node: Cross Compilation Concepts,  Next: Host and Target,  Up: Cross Compilation Tools
-
-5.1 Cross Compilation Concepts
-==============================
-
-A compiler which produces programs which run on a different system is a
-cross compilation compiler, or simply a "cross compiler".  Similarly,
-we speak of cross assemblers, cross linkers, etc.
-
-   In the normal case, a compiler produces code which runs on the same
-system as the one on which the compiler runs.  When it is necessary to
-distinguish this case from the cross compilation case, such a compiler
-is called a "native compiler".  Similarly, we speak of native
-assemblers, etc.
-
-   Although the debugger is not strictly speaking a compilation tool,
-it is nevertheless meaningful to speak of a cross debugger: a debugger
-which is used to debug code which runs on another system.  Everything
-that is said below about configuring cross compilation tools applies to
-the debugger as well.
-
-
-File: configure.info,  Node: Host and Target,  Next: Using the Host Type,  Prev: Cross Compilation Concepts,  Up: Cross Compilation Tools
-
-5.2 Host and Target
-===================
-
-When building cross compilation tools, there are two different systems
-involved: the system on which the tools will run, and the system for
-which the tools generate code.
-
-   The system on which the tools will run is called the "host" system.
-
-   The system for which the tools generate code is called the "target"
-system.
-
-   For example, suppose you have a compiler which runs on a GNU/Linux
-system and generates ELF programs for a MIPS embedded system.  In this
-case the GNU/Linux system is the host, and the MIPS ELF system is the
-target.  Such a compiler could be called a GNU/Linux cross MIPS ELF
-compiler, or, equivalently, a `i386-linux-gnu' cross `mips-elf'
-compiler.
-
-   Naturally, most programs are not cross compilation tools.  For those
-programs, it does not make sense to speak of a target.  It only makes
-sense to speak of a target for tools like `gcc' or the `binutils' which
-actually produce running code.  For example, it does not make sense to
-speak of the target of a tool like `bison' or `make'.
-
-   Most cross compilation tools can also serve as native tools.  For a
-native compilation tool, it is still meaningful to speak of a target.
-For a native tool, the target is the same as the host.  For example, for
-a GNU/Linux native compiler, the host is GNU/Linux, and the target is
-also GNU/Linux.
-
-
-File: configure.info,  Node: Using the Host Type,  Next: Specifying the Target,  Prev: Host and Target,  Up: Cross Compilation Tools
-
-5.3 Using the Host Type
-=======================
-
-In almost all cases the host system is the system on which you run the
-`configure' script, and on which you build the tools (for the case when
-they differ, *note Canadian Cross::).
-
-   If your configure script needs to know the configuration name of the
-host system, and the package is not a cross compilation tool and
-therefore does not have a target, put `AC_CANONICAL_HOST' in
-`configure.in'.  This macro will arrange to define a few shell
-variables when the `configure' script is run.
-
-`host'
-     The canonical configuration name of the host.  This will normally
-     be determined by running the `config.guess' shell script, although
-     the user is permitted to override this by using an explicit
-     `--host' option.
-
-`host_alias'
-     In the unusual case that the user used an explicit `--host' option,
-     this will be the argument to `--host'.  In the normal case, this
-     will be the same as the `host' variable.
-
-`host_cpu'
-`host_vendor'
-`host_os'
-     The first three parts of the canonical configuration name.
-
-   The shell variables may be used by putting shell code in
-`configure.in'.  For an example, see *note Using Configuration Names::.
-
-
-File: configure.info,  Node: Specifying the Target,  Next: Using the Target Type,  Prev: Using the Host Type,  Up: Cross Compilation Tools
-
-5.4 Specifying the Target
-=========================
-
-By default, the `configure' script will assume that the target is the
-same as the host.  This is the more common case; for example, it leads
-to a native compiler rather than a cross compiler.
-
-   If you want to build a cross compilation tool, you must specify the
-target explicitly by using the `--target' option when you run
-`configure'.  The argument to `--target' is the configuration name of
-the system for which you wish to generate code.  *Note Configuration
-Names::.
-
-   For example, to build tools which generate code for a MIPS ELF
-embedded system, you would use `--target mips-elf'.
-
-
-File: configure.info,  Node: Using the Target Type,  Next: Cross Tools in the Cygnus Tree,  Prev: Specifying the Target,  Up: Cross Compilation Tools
-
-5.5 Using the Target Type
-=========================
-
-When writing `configure.in' for a cross compilation tool, you will need
-to use information about the target.  To do this, put
-`AC_CANONICAL_SYSTEM' in `configure.in'.
-
-   `AC_CANONICAL_SYSTEM' will look for a `--target' option and
-canonicalize it using the `config.sub' shell script.  It will also run
-`AC_CANONICAL_HOST' (*note Using the Host Type::).
-
-   The target type will be recorded in the following shell variables.
-Note that the host versions of these variables will also be defined by
-`AC_CANONICAL_HOST'.
-
-`target'
-     The canonical configuration name of the target.
-
-`target_alias'
-     The argument to the `--target' option.  If the user did not specify
-     a `--target' option, this will be the same as `host_alias'.
-
-`target_cpu'
-`target_vendor'
-`target_os'
-     The first three parts of the canonical target configuration name.
-
-   Note that if `host' and `target' are the same string, you can assume
-a native configuration.  If they are different, you can assume a cross
-configuration.
-
-   It is arguably possible for `host' and `target' to represent the
-same system, but for the strings to not be identical.  For example, if
-`config.guess' returns `sparc-sun-sunos4.1.4', and somebody configures
-with `--target sparc-sun-sunos4.1', then the slight differences between
-the two versions of SunOS may be unimportant for your tool.  However,
-in the general case it can be quite difficult to determine whether the
-differences between two configuration names are significant or not.
-Therefore, by convention, if the user specifies a `--target' option
-without specifying a `--host' option, it is assumed that the user wants
-to configure a cross compilation tool.
-
-   The variables `target' and `target_alias' should be handled
-differently.
-
-   In general, whenever the user may actually see a string,
-`target_alias' should be used.  This includes anything which may appear
-in the file system, such as a directory name or part of a tool name.
-It also includes any tool output, unless it is clearly labelled as the
-canonical target configuration name.  This permits the user to use the
-`--target' option to specify how the tool will appear to the outside
-world.
-
-   On the other hand, when checking for characteristics of the target
-system, `target' should be used.  This is because a wide variety of
-`--target' options may map into the same canonical configuration name.
-You should not attempt to duplicate the canonicalization done by
-`config.sub' in your own code.
-
-   By convention, cross tools are installed with a prefix of the
-argument used with the `--target' option, also known as `target_alias'
-(*note Using the Target Type::).  If the user does not use the
-`--target' option, and thus is building a native tool, no prefix is
-used.
-
-   For example, if gcc is configured with `--target mips-elf', then the
-installed binary will be named `mips-elf-gcc'.  If gcc is configured
-without a `--target' option, then the installed binary will be named
-`gcc'.
-
-   The autoconf macro `AC_ARG_PROGRAM' will handle this for you.  If
-you are using automake, no more need be done; the programs will
-automatically be installed with the correct prefixes.  Otherwise, see
-the autoconf documentation for `AC_ARG_PROGRAM'.
-
-
-File: configure.info,  Node: Cross Tools in the Cygnus Tree,  Prev: Using the Target Type,  Up: Cross Compilation Tools
-
-5.6 Cross Tools in the Cygnus Tree
-==================================
-
-The Cygnus tree is used for various packages including gdb, the GNU
-binutils, and egcs.  It is also, of course, used for Cygnus releases.
-
-   In the Cygnus tree, the top level `configure' script uses the old
-Cygnus configure system, not autoconf.  The top level `Makefile.in' is
-written to build packages based on what is in the source tree, and
-supports building a large number of tools in a single
-`configure'/`make' step.
-
-   The Cygnus tree may be configured with a `--target' option.  The
-`--target' option applies recursively to every subdirectory, and
-permits building an entire set of cross tools at once.
-
-* Menu:
-
-* Host and Target Libraries::		Host and Target Libraries.
-* Target Library Configure Scripts::	Target Library Configure Scripts.
-* Make Targets in Cygnus Tree::         Make Targets in Cygnus Tree.
-* Target libiberty::			Target libiberty
-
-
-File: configure.info,  Node: Host and Target Libraries,  Next: Target Library Configure Scripts,  Up: Cross Tools in the Cygnus Tree
-
-5.6.1 Host and Target Libraries
--------------------------------
-
-The Cygnus tree distinguishes host libraries from target libraries.
-
-   Host libraries are built with the compiler used to build the programs
-which run on the host, which is called the host compiler.  This includes
-libraries such as `bfd' and `tcl'.  These libraries are built with the
-host compiler, and are linked into programs like the binutils or gcc
-which run on the host.
-
-   Target libraries are built with the target compiler.  If gcc is
-present in the source tree, then the target compiler is the gcc that is
-built using the host compiler.  Target libraries are libraries such as
-`newlib' and `libstdc++'.  These libraries are not linked into the host
-programs, but are instead made available for use with programs built
-with the target compiler.
-
-   For the rest of this section, assume that gcc is present in the
-source tree, so that it will be used to build the target libraries.
-
-   There is a complication here.  The configure process needs to know
-which compiler you are going to use to build a tool; otherwise, the
-feature tests will not work correctly.  The Cygnus tree handles this by
-not configuring the target libraries until the target compiler is
-built.  In order to permit everything to build using a single
-`configure'/`make', the configuration of the target libraries is
-actually triggered during the make step.
-
-   When the target libraries are configured, the `--target' option is
-not used.  Instead, the `--host' option is used with the argument of
-the `--target' option for the overall configuration.  If no `--target'
-option was used for the overall configuration, the `--host' option will
-be passed with the output of the `config.guess' shell script.  Any
-`--build' option is passed down unchanged.
-
-   This translation of configuration options is done because since the
-target libraries are compiled with the target compiler, they are being
-built in order to run on the target of the overall configuration.  By
-the definition of host, this means that their host system is the same as
-the target system of the overall configuration.
-
-   The same process is used for both a native configuration and a cross
-configuration.  Even when using a native configuration, the target
-libraries will be configured and built using the newly built compiler.
-This is particularly important for the C++ libraries, since there is no
-reason to assume that the C++ compiler used to build the host tools (if
-there even is one) uses the same ABI as the g++ compiler which will be
-used to build the target libraries.
-
-   There is one difference between a native configuration and a cross
-configuration.  In a native configuration, the target libraries are
-normally configured and built as siblings of the host tools.  In a cross
-configuration, the target libraries are normally built in a subdirectory
-whose name is the argument to `--target'.  This is mainly for
-historical reasons.
-
-   To summarize, running `configure' in the Cygnus tree configures all
-the host libraries and tools, but does not configure any of the target
-libraries.  Running `make' then does the following steps:
-
-   * Build the host libraries.
-
-   * Build the host programs, including gcc.  Note that we call gcc
-     both a host program (since it runs on the host) and a target
-     compiler (since it generates code for the target).
-
-   * Using the newly built target compiler, configure the target
-     libraries.
-
-   * Build the target libraries.
-
-   The steps need not be done in precisely this order, since they are
-actually controlled by `Makefile' targets.
-
-
-File: configure.info,  Node: Target Library Configure Scripts,  Next: Make Targets in Cygnus Tree,  Prev: Host and Target Libraries,  Up: Cross Tools in the Cygnus Tree
-
-5.6.2 Target Library Configure Scripts
---------------------------------------
-
-There are a few things you must know in order to write a configure
-script for a target library.  This is just a quick sketch, and beginners
-shouldn't worry if they don't follow everything here.
-
-   The target libraries are configured and built using a newly built
-target compiler.  There may not be any startup files or libraries for
-this target compiler.  In fact, those files will probably be built as
-part of some target library, which naturally means that they will not
-exist when your target library is configured.
-
-   This means that the configure script for a target library may not use
-any test which requires doing a link.  This unfortunately includes many
-useful autoconf macros, such as `AC_CHECK_FUNCS'.  autoconf macros
-which do a compile but not a link, such as `AC_CHECK_HEADERS', may be
-used.
-
-   This is a severe restriction, but normally not a fatal one, as target
-libraries can often assume the presence of other target libraries, and
-thus know which functions will be available.
-
-   As of this writing, the autoconf macro `AC_PROG_CC' does a link to
-make sure that the compiler works.  This may fail in a target library,
-so target libraries must use a different set of macros to locate the
-compiler.  See the `configure.in' file in a directory like `libiberty'
-or `libgloss' for an example.
-
-   As noted in the previous section, target libraries are sometimes
-built in directories which are siblings to the host tools, and are
-sometimes built in a subdirectory.  The `--with-target-subdir' configure
-option will be passed when the library is configured.  Its value will be
-an empty string if the target library is a sibling.  Its value will be
-the name of the subdirectory if the target library is in a subdirectory.
-
-   If the overall build is not a native build (i.e., the overall
-configure used the `--target' option), then the library will be
-configured with the `--with-cross-host' option.  The value of this
-option will be the host system of the overall build.  Recall that the
-host system of the library will be the target of the overall build.  If
-the overall build is a native build, the `--with-cross-host' option
-will not be used.
-
-   A library which can be built both standalone and as a target library
-may want to install itself into different directories depending upon the
-case.  When built standalone, or when built native, the library should
-be installed in `$(libdir)'.  When built as a target library which is
-not native, the library should be installed in `$(tooldir)/lib'.  The
-`--with-cross-host' option may be used to distinguish these cases.
-
-   This same test of `--with-cross-host' may be used to see whether it
-is OK to use link tests in the configure script.  If the
-`--with-cross-host' option is not used, then the library is being built
-either standalone or native, and a link should work.
-
-
-File: configure.info,  Node: Make Targets in Cygnus Tree,  Next: Target libiberty,  Prev: Target Library Configure Scripts,  Up: Cross Tools in the Cygnus Tree
-
-5.6.3 Make Targets in Cygnus Tree
----------------------------------
-
-The top level `Makefile' in the Cygnus tree defines targets for every
-known subdirectory.
-
-   For every subdirectory DIR which holds a host library or program,
-the `Makefile' target `all-DIR' will build that library or program.
-
-   There are dependencies among host tools.  For example, building gcc
-requires first building gas, because the gcc build process invokes the
-target assembler.  These dependencies are reflected in the top level
-`Makefile'.
-
-   For every subdirectory DIR which holds a target library, the
-`Makefile' target `configure-target-DIR' will configure that library.
-The `Makefile' target `all-target-DIR' will build that library.
-
-   Every `configure-target-DIR' target depends upon `all-gcc', since
-gcc, the target compiler, is required to configure the tool.  Every
-`all-target-DIR' target depends upon the corresponding
-`configure-target-DIR' target.
-
-   There are several other targets which may be of interest for each
-directory: `install-DIR', `clean-DIR', and `check-DIR'.  There are also
-corresponding `target' versions of these for the target libraries ,
-such as `install-target-DIR'.
-
-
-File: configure.info,  Node: Target libiberty,  Prev: Make Targets in Cygnus Tree,  Up: Cross Tools in the Cygnus Tree
-
-5.6.4 Target libiberty
-----------------------
-
-The `libiberty' subdirectory is currently a special case, in that it is
-the only directory which is built both using the host compiler and
-using the target compiler.
-
-   This is because the files in `libiberty' are used when building the
-host tools, and they are also incorporated into the `libstdc++' target
-library as support code.
-
-   This duality does not pose any particular difficulties.  It means
-that there are targets for both `all-libiberty' and
-`all-target-libiberty'.
-
-   In a native configuration, when target libraries are not built in a
-subdirectory, the same objects are normally used as both the host build
-and the target build.  This is normally OK, since libiberty contains
-only C code, and in a native configuration the results of the host
-compiler and the target compiler are normally interoperable.
-
-   Irix 6 is again an exception here, since the SGI native compiler
-defaults to using the `O32' ABI, and gcc defaults to using the `N32'
-ABI.  On Irix 6, the target libraries are built in a subdirectory even
-for a native configuration, avoiding this problem.
-
-   There are currently no other libraries built for both the host and
-the target, but there is no conceptual problem with adding more.
-
-
-File: configure.info,  Node: Canadian Cross,  Next: Cygnus Configure,  Prev: Cross Compilation Tools,  Up: Top
-
-6 Canadian Cross
-****************
-
-It is possible to use the GNU configure and build system to build a
-program which will run on a system which is different from the system on
-which the tools are built.  In other words, it is possible to build
-programs using a cross compiler.
-
-   This is referred to as a "Canadian Cross".
-
-* Menu:
-
-* Canadian Cross Example::		Canadian Cross Example.
-* Canadian Cross Concepts::		Canadian Cross Concepts.
-* Build Cross Host Tools::		Build Cross Host Tools.
-* Build and Host Options::		Build and Host Options.
-* CCross not in Cygnus Tree::		Canadian Cross not in Cygnus Tree.
-* CCross in Cygnus Tree::		Canadian Cross in Cygnus Tree.
-* Supporting Canadian Cross::		Supporting Canadian Cross.
-
-
-File: configure.info,  Node: Canadian Cross Example,  Next: Canadian Cross Concepts,  Up: Canadian Cross
-
-6.1 Canadian Cross Example
-==========================
-
-Here is an example of a Canadian Cross.
-
-   While running on a GNU/Linux, you can build a program which will run
-on a Solaris system.  You would use a GNU/Linux cross Solaris compiler
-to build the program.
-
-   Of course, you could not run the resulting program on your GNU/Linux
-system.  You would have to copy it over to a Solaris system before you
-would run it.
-
-   Of course, you could also simply build the programs on the Solaris
-system in the first place.  However, perhaps the Solaris system is not
-available for some reason; perhaps you actually don't have one, but you
-want to build the tools for somebody else to use.  Or perhaps your
-GNU/Linux system is much faster than your Solaris system.
-
-   A Canadian Cross build is most frequently used when building
-programs to run on a non-Unix system, such as DOS or Windows.  It may
-be simpler to configure and build on a Unix system than to support the
-configuration machinery on a non-Unix system.
-
-
-File: configure.info,  Node: Canadian Cross Concepts,  Next: Build Cross Host Tools,  Prev: Canadian Cross Example,  Up: Canadian Cross
-
-6.2 Canadian Cross Concepts
-===========================
-
-When building a Canadian Cross, there are at least two different systems
-involved: the system on which the tools are being built, and the system
-on which the tools will run.
-
-   The system on which the tools are being built is called the "build"
-system.
-
-   The system on which the tools will run is called the host system.
-
-   For example, if you are building a Solaris program on a GNU/Linux
-system, as in the previous section, the build system would be GNU/Linux,
-and the host system would be Solaris.
-
-   It is, of course, possible to build a cross compiler using a Canadian
-Cross (i.e., build a cross compiler using a cross compiler).  In this
-case, the system for which the resulting cross compiler generates code
-is called the target system.  (For a more complete discussion of host
-and target systems, *note Host and Target::).
-
-   An example of building a cross compiler using a Canadian Cross would
-be building a Windows cross MIPS ELF compiler on a GNU/Linux system.  In
-this case the build system would be GNU/Linux, the host system would be
-Windows, and the target system would be MIPS ELF.
-
-   The name Canadian Cross comes from the case when the build, host, and
-target systems are all different.  At the time that these issues were
-all being hashed out, Canada had three national political parties.
-
-
-File: configure.info,  Node: Build Cross Host Tools,  Next: Build and Host Options,  Prev: Canadian Cross Concepts,  Up: Canadian Cross
-
-6.3 Build Cross Host Tools
-==========================
-
-In order to configure a program for a Canadian Cross build, you must
-first build and install the set of cross tools you will use to build the
-program.
-
-   These tools will be build cross host tools.  That is, they will run
-on the build system, and will produce code that runs on the host system.
-
-   It is easy to confuse the meaning of build and host here.  Always
-remember that the build system is where you are doing the build, and the
-host system is where the resulting program will run.  Therefore, you
-need a build cross host compiler.
-
-   In general, you must have a complete cross environment in order to do
-the build.  This normally means a cross compiler, cross assembler, and
-so forth, as well as libraries and include files for the host system.
-
-
-File: configure.info,  Node: Build and Host Options,  Next: CCross not in Cygnus Tree,  Prev: Build Cross Host Tools,  Up: Canadian Cross
-
-6.4 Build and Host Options
-==========================
-
-When you run `configure', you must use both the `--build' and `--host'
-options.
-
-   The `--build' option is used to specify the configuration name of
-the build system.  This can normally be the result of running the
-`config.guess' shell script, and it is reasonable to use
-`--build=`config.guess`'.
-
-   The `--host' option is used to specify the configuration name of the
-host system.
-
-   As we explained earlier, `config.guess' is used to set the default
-value for the `--host' option (*note Using the Host Type::).  We can
-now see that since `config.guess' returns the type of system on which
-it is run, it really identifies the build system.  Since the host
-system is normally the same as the build system (i.e., people do not
-normally build using a cross compiler), it is reasonable to use the
-result of `config.guess' as the default for the host system when the
-`--host' option is not used.
-
-   It might seem that if the `--host' option were used without the
-`--build' option that the configure script could run `config.guess' to
-determine the build system, and presume a Canadian Cross if the result
-of `config.guess' differed from the `--host' option.  However, for
-historical reasons, some configure scripts are routinely run using an
-explicit `--host' option, rather than using the default from
-`config.guess'.  As noted earlier, it is difficult or impossible to
-reliably compare configuration names (*note Using the Target Type::).
-Therefore, by convention, if the `--host' option is used, but the
-`--build' option is not used, then the build system defaults to the
-host system.
-
-
-File: configure.info,  Node: CCross not in Cygnus Tree,  Next: CCross in Cygnus Tree,  Prev: Build and Host Options,  Up: Canadian Cross
-
-6.5 Canadian Cross not in Cygnus Tree.
-======================================
-
-If you are not using the Cygnus tree, you must explicitly specify the
-cross tools which you want to use to build the program.  This is done by
-setting environment variables before running the `configure' script.
-
-   You must normally set at least the environment variables `CC', `AR',
-and `RANLIB' to the cross tools which you want to use to build.
-
-   For some programs, you must set additional cross tools as well, such
-as `AS', `LD', or `NM'.
-
-   You would set these environment variables to the build cross tools
-which you are going to use.
-
-   For example, if you are building a Solaris program on a GNU/Linux
-system, and your GNU/Linux cross Solaris compiler were named
-`solaris-gcc', then you would set the environment variable `CC' to
-`solaris-gcc'.
-
-
-File: configure.info,  Node: CCross in Cygnus Tree,  Next: Supporting Canadian Cross,  Prev: CCross not in Cygnus Tree,  Up: Canadian Cross
-
-6.6 Canadian Cross in Cygnus Tree
-=================================
-
-This section describes configuring and building a Canadian Cross when
-using the Cygnus tree.
-
-* Menu:
-
-* Standard Cygnus CCross::	Building a Normal Program.
-* Cross Cygnus CCross::		Building a Cross Program.
-
-
-File: configure.info,  Node: Standard Cygnus CCross,  Next: Cross Cygnus CCross,  Up: CCross in Cygnus Tree
-
-6.6.1 Building a Normal Program
--------------------------------
-
-When configuring a Canadian Cross in the Cygnus tree, all the
-appropriate environment variables are automatically set to `HOST-TOOL',
-where HOST is the value used for the `--host' option, and TOOL is the
-name of the tool (e.g., `gcc', `as', etc.).  These tools must be on
-your `PATH'.
-
-   Adding a prefix of HOST will give the usual name for the build cross
-host tools.  To see this, consider that when these cross tools were
-built, they were configured to run on the build system and to produce
-code for the host system.  That is, they were configured with a
-`--target' option that is the same as the system which we are now
-calling the host.  Recall that the default name for installed cross
-tools uses the target system as a prefix (*note Using the Target
-Type::).  Since that is the system which we are now calling the host,
-HOST is the right prefix to use.
-
-   For example, if you configure with `--build=i386-linux-gnu' and
-`--host=solaris', then the Cygnus tree will automatically default to
-using the compiler `solaris-gcc'.  You must have previously built and
-installed this compiler, probably by doing a build with no `--host'
-option and with a `--target' option of `solaris'.
-
-
-File: configure.info,  Node: Cross Cygnus CCross,  Prev: Standard Cygnus CCross,  Up: CCross in Cygnus Tree
-
-6.6.2 Building a Cross Program
-------------------------------
-
-There are additional considerations if you want to build a cross
-compiler, rather than a native compiler, in the Cygnus tree using a
-Canadian Cross.
-
-   When you build a cross compiler using the Cygnus tree, then the
-target libraries will normally be built with the newly built target
-compiler (*note Host and Target Libraries::).  However, this will not
-work when building with a Canadian Cross.  This is because the newly
-built target compiler will be a program which runs on the host system,
-and therefore will not be able to run on the build system.
-
-   Therefore, when building a cross compiler with the Cygnus tree, you
-must first install a set of build cross target tools.  These tools will
-be used when building the target libraries.
-
-   Note that this is not a requirement of a Canadian Cross in general.
-For example, it would be possible to build just the host cross target
-tools on the build system, to copy the tools to the host system, and to
-build the target libraries on the host system.  The requirement for
-build cross target tools is imposed by the Cygnus tree, which expects
-to be able to build both host programs and target libraries in a single
-`configure'/`make' step.  Because it builds these in a single step, it
-expects to be able to build the target libraries on the build system,
-which means that it must use a build cross target toolchain.
-
-   For example, suppose you want to build a Windows cross MIPS ELF
-compiler on a GNU/Linux system.  You must have previously installed
-both a GNU/Linux cross Windows compiler and a GNU/Linux cross MIPS ELF
-compiler.
-
-   In order to build the Windows (configuration name `i386-cygwin32')
-cross MIPS ELF (configure name `mips-elf') compiler, you might execute
-the following commands (long command lines are broken across lines with
-a trailing backslash as a continuation character).
-
-     mkdir linux-x-cygwin32
-     cd linux-x-cygwin32
-     SRCDIR/configure --target i386-cygwin32 --prefix=INSTALLDIR \
-       --exec-prefix=INSTALLDIR/H-i386-linux
-     make
-     make install
-     cd ..
-     mkdir linux-x-mips-elf
-     cd linux-x-mips-elf
-     SRCDIR/configure --target mips-elf --prefix=INSTALLDIR \
-       --exec-prefix=INSTALLDIR/H-i386-linux
-     make
-     make install
-     cd ..
-     mkdir cygwin32-x-mips-elf
-     cd cygwin32-x-mips-elf
-     SRCDIR/configure --build=i386-linux-gnu --host=i386-cygwin32 \
-       --target=mips-elf --prefix=WININSTALLDIR \
-       --exec-prefix=WININSTALLDIR/H-i386-cygwin32
-     make
-     make install
-
-   You would then copy the contents of WININSTALLDIR over to the
-Windows machine, and run the resulting programs.
-
-
-File: configure.info,  Node: Supporting Canadian Cross,  Prev: CCross in Cygnus Tree,  Up: Canadian Cross
-
-6.7 Supporting Canadian Cross
-=============================
-
-If you want to make it possible to build a program you are developing
-using a Canadian Cross, you must take some care when writing your
-configure and make rules.  Simple cases will normally work correctly.
-However, it is not hard to write configure and make tests which will
-fail in a Canadian Cross.
-
-* Menu:
-
-* CCross in Configure::		Supporting Canadian Cross in Configure Scripts.
-* CCross in Make::		Supporting Canadian Cross in Makefiles.
-
-
-File: configure.info,  Node: CCross in Configure,  Next: CCross in Make,  Up: Supporting Canadian Cross
-
-6.7.1 Supporting Canadian Cross in Configure Scripts
-----------------------------------------------------
-
-In a `configure.in' file, after calling `AC_PROG_CC', you can find out
-whether this is a Canadian Cross configure by examining the shell
-variable `cross_compiling'.  In a Canadian Cross, which means that the
-compiler is a cross compiler, `cross_compiling' will be `yes'.  In a
-normal configuration, `cross_compiling' will be `no'.
-
-   You ordinarily do not need to know the type of the build system in a
-configure script.  However, if you do need that information, you can get
-it by using the macro `AC_CANONICAL_SYSTEM', the same macro that is
-used to determine the target system.  This macro will set the variables
-`build', `build_alias', `build_cpu', `build_vendor', and `build_os',
-which correspond to the similar `target' and `host' variables, except
-that they describe the build system.
-
-   When writing tests in `configure.in', you must remember that you
-want to test the host environment, not the build environment.
-
-   Macros like `AC_CHECK_FUNCS' which use the compiler will test the
-host environment.  That is because the tests will be done by running the
-compiler, which is actually a build cross host compiler.  If the
-compiler can find the function, that means that the function is present
-in the host environment.
-
-   Tests like `test -f /dev/ptyp0', on the other hand, will test the
-build environment.  Remember that the configure script is running on the
-build system, not the host system.  If your configure scripts examines
-files, those files will be on the build system.  Whatever you determine
-based on those files may or may not be the case on the host system.
-
-   Most autoconf macros will work correctly for a Canadian Cross.  The
-main exception is `AC_TRY_RUN'.  This macro tries to compile and run a
-test program.  This will fail in a Canadian Cross, because the program
-will be compiled for the host system, which means that it will not run
-on the build system.
-
-   The `AC_TRY_RUN' macro provides an optional argument to tell the
-configure script what to do in a Canadian Cross.  If that argument is
-not present, you will get a warning when you run `autoconf':
-     warning: AC_TRY_RUN called without default to allow cross compiling
-   This tells you that the resulting `configure' script will not work
-with a Canadian Cross.
-
-   In some cases while it may better to perform a test at configure
-time, it is also possible to perform the test at run time.  In such a
-case you can use the cross compiling argument to `AC_TRY_RUN' to tell
-your program that the test could not be performed at configure time.
-
-   There are a few other autoconf macros which will not work correctly
-with a Canadian Cross: a partial list is `AC_FUNC_GETPGRP',
-`AC_FUNC_SETPGRP', `AC_FUNC_SETVBUF_REVERSED', and
-`AC_SYS_RESTARTABLE_SYSCALLS'.  The `AC_CHECK_SIZEOF' macro is
-generally not very useful with a Canadian Cross; it permits an optional
-argument indicating the default size, but there is no way to know what
-the correct default should be.
-
-
-File: configure.info,  Node: CCross in Make,  Prev: CCross in Configure,  Up: Supporting Canadian Cross
-
-6.7.2 Supporting Canadian Cross in Makefiles.
----------------------------------------------
-
-The main Canadian Cross issue in a `Makefile' arises when you want to
-use a subsidiary program to generate code or data which you will then
-include in your real program.
-
-   If you compile this subsidiary program using `$(CC)' in the usual
-way, you will not be able to run it.  This is because `$(CC)' will
-build a program for the host system, but the program is being built on
-the build system.
-
-   You must instead use a compiler for the build system, rather than the
-host system.  In the Cygnus tree, this make variable `$(CC_FOR_BUILD)'
-will hold a compiler for the build system.
-
-   Note that you should not include `config.h' in a file you are
-compiling with `$(CC_FOR_BUILD)'.  The `configure' script will build
-`config.h' with information for the host system.  However, you are
-compiling the file using a compiler for the build system (a native
-compiler).  Subsidiary programs are normally simple filters which do no
-user interaction, and it is normally possible to write them in a highly
-portable fashion so that the absence of `config.h' is not crucial.
-
-   The gcc `Makefile.in' shows a complex situation in which certain
-files, such as `rtl.c', must be compiled into both subsidiary programs
-run on the build system and into the final program.  This approach may
-be of interest for advanced build system hackers.  Note that the build
-system compiler is rather confusingly called `HOST_CC'.
-
-
-File: configure.info,  Node: Cygnus Configure,  Next: Multilibs,  Prev: Canadian Cross,  Up: Top
-
-7 Cygnus Configure
-******************
-
-The Cygnus configure script predates autoconf.  All of its interesting
-features have been incorporated into autoconf.  No new programs should
-be written to use the Cygnus configure script.
-
-   However, the Cygnus configure script is still used in a few places:
-at the top of the Cygnus tree and in a few target libraries in the
-Cygnus tree.  Until those uses have been replaced with autoconf, some
-brief notes are appropriate here.  This is not complete documentation,
-but it should be possible to use this as a guide while examining the
-scripts themselves.
-
-* Menu:
-
-* Cygnus Configure Basics::		Cygnus Configure Basics.
-* Cygnus Configure in C++ Libraries::	Cygnus Configure in C++ Libraries.
-
-
-File: configure.info,  Node: Cygnus Configure Basics,  Next: Cygnus Configure in C++ Libraries,  Up: Cygnus Configure
-
-7.1 Cygnus Configure Basics
-===========================
-
-Cygnus configure does not use any generated files; there is no program
-corresponding to `autoconf'.  Instead, there is a single shell script
-named `configure' which may be found at the top of the Cygnus tree.
-This shell script was written by hand; it was not generated by
-autoconf, and it is incorrect, and indeed harmful, to run `autoconf' in
-the top level of a Cygnus tree.
-
-   Cygnus configure works in a particular directory by examining the
-file `configure.in' in that directory.  That file is broken into four
-separate shell scripts.
-
-   The first is the contents of `configure.in' up to a line that starts
-with `# per-host:'.  This is the common part.
-
-   The second is the rest of `configure.in' up to a line that starts
-with `# per-target:'.  This is the per host part.
-
-   The third is the rest of `configure.in' up to a line that starts
-with `# post-target:'.  This is the per target part.
-
-   The fourth is the remainder of `configure.in'.  This is the post
-target part.
-
-   If any of these comment lines are missing, the corresponding shell
-script is empty.
-
-   Cygnus configure will first execute the common part.  This must set
-the shell variable `srctrigger' to the name of a source file, to
-confirm that Cygnus configure is looking at the right directory.  This
-may set the shell variables `package_makefile_frag' and
-`package_makefile_rules_frag'.
-
-   Cygnus configure will next set the `build' and `host' shell
-variables, and execute the per host part.  This may set the shell
-variable `host_makefile_frag'.
-
-   Cygnus configure will next set the `target' variable, and execute
-the per target part.  This may set the shell variable
-`target_makefile_frag'.
-
-   Any of these scripts may set the `subdirs' shell variable.  This
-variable is a list of subdirectories where a `Makefile.in' file may be
-found.  Cygnus configure will automatically look for a `Makefile.in'
-file in the current directory.  The `subdirs' shell variable is not
-normally used, and I believe that the only directory which uses it at
-present is `newlib'.
-
-   For each `Makefile.in', Cygnus configure will automatically create a
-`Makefile' by adding definitions for `make' variables such as `host'
-and `target', and automatically editing the values of `make' variables
-such as `prefix' if they are present.
-
-   Also, if any of the `makefile_frag' shell variables are set, Cygnus
-configure will interpret them as file names relative to either the
-working directory or the source directory, and will read the contents of
-the file into the generated `Makefile'.  The file contents will be read
-in after the first line in `Makefile.in' which starts with `####'.
-
-   These `Makefile' fragments are used to customize behaviour for a
-particular host or target.  They serve to select particular files to
-compile, and to define particular preprocessor macros by providing
-values for `make' variables which are then used during compilation.
-Cygnus configure, unlike autoconf, normally does not do feature tests,
-and normally requires support to be added manually for each new host.
-
-   The `Makefile' fragment support is similar to the autoconf
-`AC_SUBST_FILE' macro.
-
-   After creating each `Makefile', the post target script will be run
-(i.e., it may be run several times).  This script may further customize
-the `Makefile'.  When it is run, the shell variable `Makefile' will
-hold the name of the `Makefile', including the appropriate directory
-component.
-
-   Like an autoconf generated `configure' script, Cygnus configure will
-create a file named `config.status' which, when run, will automatically
-recreate the configuration.  The `config.status' file will simply
-execute the Cygnus configure script again with the appropriate
-arguments.
-
-   Any of the parts of `configure.in' may set the shell variables
-`files' and `links'.  Cygnus configure will set up symlinks from the
-names in `links' to the files named in `files'.  This is similar to the
-autoconf `AC_LINK_FILES' macro.
-
-   Finally, any of the parts of `configure.in' may set the shell
-variable `configdirs' to a set of subdirectories.  If it is set, Cygnus
-configure will recursively run the configure process in each
-subdirectory.  If the subdirectory uses Cygnus configure, it will
-contain a `configure.in' file but no `configure' file, in which case
-Cygnus configure will invoke itself recursively.  If the subdirectory
-has a `configure' file, Cygnus configure assumes that it is an autoconf
-generated `configure' script, and simply invokes it directly.
-
-
-File: configure.info,  Node: Cygnus Configure in C++ Libraries,  Prev: Cygnus Configure Basics,  Up: Cygnus Configure
-
-7.2 Cygnus Configure in C++ Libraries
-=====================================
-
-The C++ library configure system, written by Per Bothner, deserves
-special mention.  It uses Cygnus configure, but it does feature testing
-like that done by autoconf generated `configure' scripts.  This
-approach is used in the libraries `libio', `libstdc++', and `libg++'.
-
-   Most of the `Makefile' information is written out by the shell
-script `libio/config.shared'.  Each `configure.in' file sets certain
-shell variables, and then invokes `config.shared' to create two package
-`Makefile' fragments.  These fragments are then incorporated into the
-resulting `Makefile' by the Cygnus configure script.
-
-   The file `_G_config.h' is created in the `libio' object directory by
-running the shell script `libio/gen-params'.  This shell script uses
-feature tests to define macros and typedefs in `_G_config.h'.
-
-
-File: configure.info,  Node: Multilibs,  Next: FAQ,  Prev: Cygnus Configure,  Up: Top
-
-8 Multilibs
-***********
-
-For some targets gcc may have different processor requirements depending
-upon command line options.  An obvious example is the `-msoft-float'
-option supported on several processors.  This option means that the
-floating point registers are not available, which means that floating
-point operations must be done by calling an emulation subroutine rather
-than by using machine instructions.
-
-   For such options, gcc is often configured to compile target libraries
-twice: once with `-msoft-float' and once without.  When gcc compiles
-target libraries more than once, the resulting libraries are called
-"multilibs".
-
-   Multilibs are not really part of the GNU configure and build system,
-but we discuss them here since they require support in the `configure'
-scripts and `Makefile's used for target libraries.
-
-* Menu:
-
-* Multilibs in gcc::		        Multilibs in gcc.
-* Multilibs in Target Libraries::	Multilibs in Target Libraries.
-
-
-File: configure.info,  Node: Multilibs in gcc,  Next: Multilibs in Target Libraries,  Up: Multilibs
-
-8.1 Multilibs in gcc
-====================
-
-In gcc, multilibs are defined by setting the variable
-`MULTILIB_OPTIONS' in the target `Makefile' fragment.  Several other
-`MULTILIB' variables may also be defined there.  *Note The Target
-Makefile Fragment: (gcc)Target Fragment.
-
-   If you have built gcc, you can see what multilibs it uses by running
-it with the `-print-multi-lib' option.  The output `.;' means that no
-multilibs are used.  In general, the output is a sequence of lines, one
-per multilib.  The first part of each line, up to the `;', is the name
-of the multilib directory.  The second part is a list of compiler
-options separated by `@' characters.
-
-   Multilibs are built in a tree of directories.  The top of the tree,
-represented by `.' in the list of multilib directories, is the default
-library to use when no special compiler options are used.  The
-subdirectories of the tree hold versions of the library to use when
-particular compiler options are used.
-
-
-File: configure.info,  Node: Multilibs in Target Libraries,  Prev: Multilibs in gcc,  Up: Multilibs
-
-8.2 Multilibs in Target Libraries
-=================================
-
-The target libraries in the Cygnus tree are automatically built with
-multilibs.  That means that each library is built multiple times.
-
-   This default is set in the top level `configure.in' file, by adding
-`--enable-multilib' to the list of arguments passed to configure when
-it is run for the target libraries (*note Host and Target Libraries::).
-
-   Each target library uses the shell script `config-ml.in', written by
-Doug Evans, to prepare to build target libraries.  This shell script is
-invoked after the `Makefile' has been created by the `configure'
-script.  If multilibs are not enabled, it does nothing, otherwise it
-modifies the `Makefile' to support multilibs.
-
-   The `config-ml.in' script makes one copy of the `Makefile' for each
-multilib in the appropriate subdirectory.  When configuring in the
-source directory (which is not recommended), it will build a symlink
-tree of the sources in each subdirectory.
-
-   The `config-ml.in' script sets several variables in the various
-`Makefile's.  The `Makefile.in' must have definitions for these
-variables already; `config-ml.in' simply changes the existing values.
-The `Makefile' should use default values for these variables which will
-do the right thing in the subdirectories.
-
-`MULTISRCTOP'
-     `config-ml.in' will set this to a sequence of `../' strings, where
-     the number of strings is the number of multilib levels in the
-     source tree.  The default value should be the empty string.
-
-`MULTIBUILDTOP'
-     `config-ml.in' will set this to a sequence of `../' strings, where
-     the number of strings is number of multilib levels in the object
-     directory.  The default value should be the empty string.  This
-     will differ from `MULTISRCTOP' when configuring in the source tree
-     (which is not recommended).
-
-`MULTIDIRS'
-     In the top level `Makefile' only, `config-ml.in' will set this to
-     the list of multilib subdirectories.  The default value should be
-     the empty string.
-
-`MULTISUBDIR'
-     `config-ml.in' will set this to the installed subdirectory name to
-     use for this subdirectory, with a leading `/'.  The default value
-     shold be the empty string.
-
-`MULTIDO'
-`MULTICLEAN'
-     In the top level `Makefile' only, `config-ml.in' will set these
-     variables to commands to use when doing a recursive make.  These
-     variables should both default to the string `true', so that by
-     default nothing happens.
-
-   All references to the parent of the source directory should use the
-variable `MULTISRCTOP'.  Instead of writing `$(srcdir)/..', you must
-write `$(srcdir)/$(MULTISRCTOP)..'.
-
-   Similarly, references to the parent of the object directory should
-use the variable `MULTIBUILDTOP'.
-
-   In the installation target, the libraries should be installed in the
-subdirectory `MULTISUBDIR'.  Instead of installing
-`$(libdir)/libfoo.a', install `$(libdir)$(MULTISUBDIR)/libfoo.a'.
-
-   The `config-ml.in' script also modifies the top level `Makefile' to
-add `multi-do' and `multi-clean' targets which are used when building
-multilibs.
-
-   The default target of the `Makefile' should include the following
-command:
-     @$(MULTIDO) $(FLAGS_TO_PASS) DO=all multi-do
-   This assumes that `$(FLAGS_TO_PASS)' is defined as a set of
-variables to pass to a recursive invocation of `make'.  This will build
-all the multilibs.  Note that the default value of `MULTIDO' is `true',
-so by default this command will do nothing.  It will only do something
-in the top level `Makefile' if multilibs were enabled.
-
-   The `install' target of the `Makefile' should include the following
-command:
-     @$(MULTIDO) $(FLAGS_TO_PASS) DO=install multi-do
-
-   In general, any operation, other than clean, which should be
-performed on all the multilibs should use a `$(MULTIDO)' line, setting
-the variable `DO' to the target of each recursive call to `make'.
-
-   The `clean' targets (`clean', `mostlyclean', etc.) should use
-`$(MULTICLEAN)'.  For example, the `clean' target should do this:
-     @$(MULTICLEAN) DO=clean multi-clean
-
-
-File: configure.info,  Node: FAQ,  Next: Index,  Prev: Multilibs,  Up: Top
-
-9 Frequently Asked Questions
-****************************
-
-Which do I run first, `autoconf' or `automake'?
-     Except when you first add autoconf or automake support to a
-     package, you shouldn't run either by hand.  Instead, configure
-     with the `--enable-maintainer-mode' option, and let `make' take
-     care of it.
-
-`autoconf' says something about undefined macros.
-     This means that you have macros in your `configure.in' which are
-     not defined by `autoconf'.  You may be using an old version of
-     `autoconf'; try building and installing a newer one.  Make sure the
-     newly installled `autoconf' is first on your `PATH'.  Also, see
-     the next question.
-
-My `configure' script has stuff like `CY_GNU_GETTEXT' in it.
-     This means that you have macros in your `configure.in' which should
-     be defined in your `aclocal.m4' file, but aren't.  This usually
-     means that `aclocal' was not able to appropriate definitions of the
-     macros.  Make sure that you have installed all the packages you
-     need.  In particular, make sure that you have installed libtool
-     (this is where `AM_PROG_LIBTOOL' is defined) and gettext (this is
-     where `CY_GNU_GETTEXT' is defined, at least in the Cygnus version
-     of gettext).
-
-My `Makefile' has `@' characters in it.
-     This may mean that you tried to use an autoconf substitution in
-     your `Makefile.in' without adding the appropriate `AC_SUBST' call
-     to your `configure' script.  Or it may just mean that you need to
-     rebuild `Makefile' in your build directory.  To rebuild `Makefile'
-     from `Makefile.in', run the shell script `config.status' with no
-     arguments.  If you need to force `configure' to run again, first
-     run `config.status --recheck'.  These runs are normally done
-     automatically by `Makefile' targets, but if your `Makefile' has
-     gotten messed up you'll need to help them along.
-
-Why do I have to run both `config.status --recheck' and `config.status'?
-     Normally, you don't; they will be run automatically by `Makefile'
-     targets.  If you do need to run them, use `config.status --recheck'
-     to run the `configure' script again with the same arguments as the
-     first time you ran it.  Use `config.status' (with no arguments) to
-     regenerate all files (`Makefile', `config.h', etc.) based on the
-     results of the configure script.  The two cases are separate
-     because it isn't always necessary to regenerate all the files
-     after running `config.status --recheck'.  The `Makefile' targets
-     generated by automake will use the environment variables
-     `CONFIG_FILES' and `CONFIG_HEADERS' to only regenerate files as
-     they are needed.
-
-What is the Cygnus tree?
-     The Cygnus tree is used for various packages including gdb, the GNU
-     binutils, and egcs.  It is also, of course, used for Cygnus
-     releases.  It is the build system which was developed at Cygnus,
-     using the Cygnus configure script.  It permits building many
-     different packages with a single configure and make.  The
-     configure scripts in the tree are being converted to autoconf, but
-     the general build structure remains intact.
-
-Why do I have to keep rebuilding and reinstalling the tools?
-     I know, it's a pain.  Unfortunately, there are bugs in the tools
-     themselves which need to be fixed, and each time that happens
-     everybody who uses the tools need to reinstall new versions of
-     them.  I don't know if there is going to be a clever fix until the
-     tools stabilize.
-
-Why not just have a Cygnus tree `make' target to update the tools?
-     The tools unfortunately need to be installed before they can be
-     used.  That means that they must be built using an appropriate
-     prefix, and it seems unwise to assume that every configuration
-     uses an appropriate prefix.  It might be possible to make them
-     work in place, or it might be possible to install them in some
-     subdirectory; so far these approaches have not been implemented.
-
-
-File: configure.info,  Node: Index,  Prev: FAQ,  Up: Top
-
-Index
-*****
-
-[index]
-* Menu:
-
-* --build option:                        Build and Host Options.
-                                                              (line   9)
-* --host option:                         Build and Host Options.
-                                                              (line  14)
-* --target option:                       Specifying the Target.
-                                                              (line  10)
-* _GNU_SOURCE:                           Write configure.in.  (line 134)
-* AC_CANONICAL_HOST:                     Using the Host Type. (line  10)
-* AC_CANONICAL_SYSTEM:                   Using the Target Type.
-                                                              (line   6)
-* AC_CONFIG_HEADER:                      Write configure.in.  (line  66)
-* AC_EXEEXT:                             Write configure.in.  (line  86)
-* AC_INIT:                               Write configure.in.  (line  38)
-* AC_OUTPUT:                             Write configure.in.  (line 142)
-* AC_PREREQ:                             Write configure.in.  (line  42)
-* AC_PROG_CC:                            Write configure.in.  (line 103)
-* AC_PROG_CXX:                           Write configure.in.  (line 117)
-* acconfig.h:                            Written Developer Files.
-                                                              (line  27)
-* acconfig.h, writing:                   Write acconfig.h.    (line   6)
-* acinclude.m4:                          Written Developer Files.
-                                                              (line  37)
-* aclocal.m4:                            Generated Developer Files.
-                                                              (line  33)
-* AM_CONFIG_HEADER:                      Write configure.in.  (line  53)
-* AM_DISABLE_SHARED:                     Write configure.in.  (line 127)
-* AM_EXEEXT:                             Write configure.in.  (line  86)
-* AM_INIT_AUTOMAKE:                      Write configure.in.  (line  48)
-* AM_MAINTAINER_MODE:                    Write configure.in.  (line  70)
-* AM_PROG_LIBTOOL:                       Write configure.in.  (line 122)
-* AM_PROG_LIBTOOL in configure:          FAQ.                 (line  19)
-* build option:                          Build and Host Options.
-                                                              (line   9)
-* building with a cross compiler:        Canadian Cross.      (line   6)
-* canadian cross:                        Canadian Cross.      (line   6)
-* canadian cross in configure:           CCross in Configure. (line   6)
-* canadian cross in cygnus tree:         CCross in Cygnus Tree.
-                                                              (line   6)
-* canadian cross in makefile:            CCross in Make.      (line   6)
-* canadian cross, configuring:           Build and Host Options.
-                                                              (line   6)
-* canonical system names:                Configuration Names. (line   6)
-* config.cache:                          Build Files Description.
-                                                              (line  28)
-* config.h:                              Build Files Description.
-                                                              (line  23)
-* config.h.in:                           Generated Developer Files.
-                                                              (line  45)
-* config.in:                             Generated Developer Files.
-                                                              (line  45)
-* config.status:                         Build Files Description.
-                                                              (line   9)
-* config.status --recheck:               FAQ.                 (line  40)
-* configuration names:                   Configuration Names. (line   6)
-* configuration triplets:                Configuration Names. (line   6)
-* configure:                             Generated Developer Files.
-                                                              (line  21)
-* configure build system:                Build and Host Options.
-                                                              (line   9)
-* configure host:                        Build and Host Options.
-                                                              (line  14)
-* configure target:                      Specifying the Target.
-                                                              (line  10)
-* configure.in:                          Written Developer Files.
-                                                              (line   9)
-* configure.in, writing:                 Write configure.in.  (line   6)
-* configuring a canadian cross:          Build and Host Options.
-                                                              (line   6)
-* cross compiler:                        Cross Compilation Concepts.
-                                                              (line   6)
-* cross compiler, building with:         Canadian Cross.      (line   6)
-* cross tools:                           Cross Compilation Tools.
-                                                              (line   6)
-* CY_GNU_GETTEXT in configure:           FAQ.                 (line  19)
-* cygnus configure:                      Cygnus Configure.    (line   6)
-* goals:                                 Goals.               (line   6)
-* history:                               History.             (line   6)
-* host names:                            Configuration Names. (line   6)
-* host option:                           Build and Host Options.
-                                                              (line  14)
-* host system:                           Host and Target.     (line   6)
-* host triplets:                         Configuration Names. (line   6)
-* HOST_CC:                               CCross in Make.      (line  27)
-* libg++ configure:                      Cygnus Configure in C++ Libraries.
-                                                              (line   6)
-* libio configure:                       Cygnus Configure in C++ Libraries.
-                                                              (line   6)
-* libstdc++ configure:                   Cygnus Configure in C++ Libraries.
-                                                              (line   6)
-* Makefile:                              Build Files Description.
-                                                              (line  18)
-* Makefile, garbage characters:          FAQ.                 (line  29)
-* Makefile.am:                           Written Developer Files.
-                                                              (line  18)
-* Makefile.am, writing:                  Write Makefile.am.   (line   6)
-* Makefile.in:                           Generated Developer Files.
-                                                              (line  26)
-* multilibs:                             Multilibs.           (line   6)
-* stamp-h:                               Build Files Description.
-                                                              (line  41)
-* stamp-h.in:                            Generated Developer Files.
-                                                              (line  54)
-* system names:                          Configuration Names. (line   6)
-* system types:                          Configuration Names. (line   6)
-* target option:                         Specifying the Target.
-                                                              (line  10)
-* target system:                         Host and Target.     (line   6)
-* triplets:                              Configuration Names. (line   6)
-* undefined macros:                      FAQ.                 (line  12)
-
-
-
-Tag Table:
-Node: Top972
-Node: Introduction1500
-Node: Goals2582
-Node: Tools3306
-Node: History4300
-Node: Building7298
-Node: Getting Started10561
-Node: Write configure.in11074
-Node: Write Makefile.am18325
-Node: Write acconfig.h21502
-Node: Generate files23039
-Node: Getting Started Example25005
-Node: Getting Started Example 125760
-Node: Getting Started Example 227681
-Node: Getting Started Example 330676
-Node: Generate Files in Example33040
-Node: Files34130
-Node: Developer Files34741
-Node: Developer Files Picture35121
-Node: Written Developer Files36409
-Node: Generated Developer Files38961
-Node: Build Files42105
-Node: Build Files Picture42766
-Node: Build Files Description43530
-Node: Support Files45536
-Node: Configuration Names48418
-Node: Configuration Name Definition48918
-Node: Using Configuration Names51241
-Node: Cross Compilation Tools53211
-Node: Cross Compilation Concepts53902
-Node: Host and Target54870
-Node: Using the Host Type56371
-Node: Specifying the Target57720
-Node: Using the Target Type58509
-Node: Cross Tools in the Cygnus Tree61940
-Node: Host and Target Libraries62997
-Node: Target Library Configure Scripts66746
-Node: Make Targets in Cygnus Tree69838
-Node: Target libiberty71186
-Node: Canadian Cross72573
-Node: Canadian Cross Example73414
-Node: Canadian Cross Concepts74533
-Node: Build Cross Host Tools76045
-Node: Build and Host Options76997
-Node: CCross not in Cygnus Tree78783
-Node: CCross in Cygnus Tree79761
-Node: Standard Cygnus CCross80182
-Node: Cross Cygnus CCross81546
-Node: Supporting Canadian Cross84346
-Node: CCross in Configure84961
-Node: CCross in Make88129
-Node: Cygnus Configure89732
-Node: Cygnus Configure Basics90567
-Node: Cygnus Configure in C++ Libraries95245
-Node: Multilibs96252
-Node: Multilibs in gcc97297
-Node: Multilibs in Target Libraries98375
-Node: FAQ102566
-Node: Index106666
-
-End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configure.texi ./etc/configure.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/configure.texi	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/configure.texi	1970-01-01 00:00:00.000000000 +0000
@@ -1,2646 +0,0 @@
-\input texinfo
-@c %**start of header
-@setfilename configure.info
-@settitle The GNU configure and build system
-@setchapternewpage off
-@c %**end of header
-
-@dircategory GNU admin
-@direntry
-* configure: (configure).	The GNU configure and build system
-@end direntry
-
-@ifnottex
-This file documents the GNU configure and build system.
-
-Copyright (C) 1998 Cygnus Solutions.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-
-
-@end ignore
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Foundation.
-@end ifnottex
-
-@titlepage
-@title The GNU configure and build system
-@author Ian Lance Taylor
-
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1998 Cygnus Solutions
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation
-approved by the Free Software Foundation.
-@end titlepage
-
-@ifnottex
-@node Top
-@top GNU configure and build system
-
-The GNU configure and build system.
-
-@menu
-* Introduction::		Introduction.
-* Getting Started::		Getting Started.
-* Files::			Files.
-* Configuration Names::		Configuration Names.
-* Cross Compilation Tools::	Cross Compilation Tools.
-* Canadian Cross::		Canadian Cross.
-* Cygnus Configure::		Cygnus Configure.
-* Multilibs::			Multilibs.
-* FAQ::				Frequently Asked Questions.
-* Index::			Index.
-@end menu
-
-@end ifnottex
-
-@node Introduction
-@chapter Introduction
-
-This document describes the GNU configure and build systems.  It
-describes how autoconf, automake, libtool, and make fit together.  It
-also includes a discussion of the older Cygnus configure system.
-
-This document does not describe in detail how to use each of the tools;
-see the respective manuals for that.  Instead, it describes which files
-the developer must write, which files are machine generated and how they
-are generated, and where certain common problems should be addressed.
-
-@ifnothtml
-This document draws on several sources, including the autoconf manual by
-David MacKenzie (@pxref{Top, , autoconf overview, autoconf, Autoconf}),
-the automake manual by David MacKenzie and Tom Tromey (@pxref{Top, ,
-automake overview, automake, GNU Automake}), the libtool manual by
-Gordon Matzigkeit (@pxref{Top, , libtool overview, libtool, GNU
-libtool}), and the Cygnus configure manual by K. Richard Pixley.
-@end ifnothtml
-@ifhtml
-This document draws on several sources, including
-@uref{http://www.delorie.com/gnu/docs/autoconf/autoconf_toc.html, the
-autoconf manual} by David MacKenzie,
-@uref{http://www.delorie.com/gnu/docs/automake/automake_toc.html, the
-automake manual} by David MacKenzie and Tom Tromey,
-@uref{http://www.delorie.com/gnu/docs/libtool/libtool_toc.html, the
-libtool manual} by Gordon Matzigkeit, and the Cygnus configure manual by
-K. Richard Pixley.
-@end ifhtml
-
-@menu
-* Goals::			Goals.
-* Tools::			The tools.
-* History::			History.
-* Building::			Building.
-@end menu
-
-@node Goals
-@section Goals
-@cindex goals
-
-The GNU configure and build system has two main goals.
-
-The first is to simplify the development of portable programs.  The
-system permits the developer to concentrate on writing the program,
-simplifying many details of portability across Unix and even Windows
-systems, and permitting the developer to describe how to build the
-program using simple rules rather than complex Makefiles.
-
-The second is to simplify the building of programs distributed as source
-code.  All programs are built using a simple, standardized, two step
-process.  The program builder need not install any special tools in
-order to build the program.
-
-@node Tools
-@section Tools
-
-The GNU configure and build system is comprised of several different
-tools.  Program developers must build and install all of these tools.
-
-People who just want to build programs from distributed sources normally
-do not need any special tools beyond a Unix shell, a make program, and a
-C compiler.
-
-@table @asis
-@item autoconf
-provides a general portability framework, based on testing the features
-of the host system at build time.
-@item automake
-a system for describing how to build a program, permitting the developer
-to write a simplified @file{Makefile}.
-@item libtool
-a standardized approach to building shared libraries.
-@item gettext
-provides a framework for translation of text messages into other
-languages; not really discussed in this document.
-@item m4
-autoconf requires the GNU version of m4; the standard Unix m4 does not
-suffice.
-@item perl
-automake requires perl.
-@end table
-
-@node History
-@section History
-@cindex history
-
-This is a very brief and probably inaccurate history.
-
-As the number of Unix variants increased during the 1980s, it became
-harder to write programs which could run on all variants.  While it was
-often possible to use @code{#ifdef} to identify particular systems,
-developers frequently did not have access to every system, and the
-characteristics of some systems changed from version to version.
-
-By 1992, at least three different approaches had been developed:
-@itemize @bullet
-@item
-The Metaconfig program, by Larry Wall, Harlan Stenn, and Raphael
-Manfredi.
-@item
-The Cygnus configure script, by K. Richard Pixley, and the gcc configure
-script, by Richard Stallman.  These use essentially the same approach,
-and the developers communicated regularly.
-@item
-The autoconf program, by David MacKenzie.
-@end itemize
-
-The Metaconfig program is still used for Perl and a few other programs.
-It is part of the Dist package.  I do not know if it is being developed.
-
-In 1994, David MacKenzie and others modified autoconf to incorporate all
-the features of Cygnus configure.  Since then, there has been a slow but
-steady conversion of GNU programs from Cygnus configure to autoconf. gcc
-has been converted, eliminating the gcc configure script.
-
-GNU autoconf was regularly maintained until late 1996.  As of this
-writing in June, 1998, it has no public maintainer.
-
-Most programs are built using the make program, which requires the
-developer to write Makefiles describing how to build the programs.
-Since most programs are built in pretty much the same way, this led to a
-lot of duplication.
-
-The X Window system is built using the imake tool, which uses a database
-of rules to eliminate the duplication.  However, building a tool which
-was developed using imake requires that the builder have imake
-installed, violating one of the goals of the GNU system.
-
-The new BSD make provides a standard library of Makefile fragments,
-which permits developers to write very simple Makefiles.  However, this
-requires that the builder install the new BSD make program.
-
-In 1994, David MacKenzie wrote the first version of automake, which
-permitted writing a simple build description which was converted into a
-Makefile which could be used by the standard make program.  In 1995, Tom
-Tromey completely rewrote automake in Perl, and he continues to enhance
-it.
-
-Various free packages built libraries, and by around 1995 several
-included support to build shared libraries on various platforms.
-However, there was no consistent approach.  In early 1996, Gordon
-Matzigkeit began working on libtool, which provided a standardized
-approach to building shared libraries.  This was integrated into
-automake from the start.
-
-The development of automake and libtool was driven by the GNITS project,
-a group of GNU maintainers who designed standardized tools to help meet
-the GNU coding standards.
-
-@node Building
-@section Building
-
-Most readers of this document should already know how to build a tool by
-running @samp{configure} and @samp{make}.  This section may serve as a
-quick introduction or reminder.
-
-Building a tool is normally as simple as running @samp{configure}
-followed by @samp{make}.  You should normally run @samp{configure} from
-an empty directory, using some path to refer to the @samp{configure}
-script in the source directory.  The directory in which you run
-@samp{configure} is called the @dfn{object directory}.
-
-In order to use a object directory which is different from the source
-directory, you must be using the GNU version of @samp{make}, which has
-the required @samp{VPATH} support.  Despite this restriction, using a
-different object directory is highly recommended:
-@itemize @bullet
-@item
-It keeps the files generated during the build from cluttering up your
-sources.
-@item 
-It permits you to remove the built files by simply removing the entire
-build directory.
-@item
-It permits you to build from the same sources with several sets of
-configure options simultaneously.
-@end itemize
-
-If you don't have GNU @samp{make}, you will have to run @samp{configure}
-in the source directory.  All GNU packages should support this; in
-particular, GNU packages should not assume the presence of GNU
-@samp{make}.
-
-After running @samp{configure}, you can build the tools by running
-@samp{make}.
-
-To install the tools, run @samp{make install}.  Installing the tools
-will copy the programs and any required support files to the
-@dfn{installation directory}.  The location of the installation
-directory is controlled by @samp{configure} options, as described below.
-
-In the Cygnus tree at present, the info files are built and installed as
-a separate step.  To build them, run @samp{make info}.  To install them,
-run @samp{make install-info}. The equivalent html files are also built
-and installed in a separate step. To build the html files, run
-@samp{make html}. To install the html files run @samp{make install-html}.
-
-All @samp{configure} scripts support a wide variety of options.  The
-most interesting ones are @samp{--with} and @samp{--enable} options
-which are generally specific to particular tools.  You can usually use
-the @samp{--help} option to get a list of interesting options for a
-particular configure script.
-
-The only generic options you are likely to use are the @samp{--prefix}
-and @samp{--exec-prefix} options.  These options are used to specify the
-installation directory.
-
-The directory named by the @samp{--prefix} option will hold machine
-independent files such as info files.
-
-The directory named by the @samp{--exec-prefix} option, which is
-normally a subdirectory of the @samp{--prefix} directory, will hold
-machine dependent files such as executables.
-
-The default for @samp{--prefix} is @file{/usr/local}.  The default for
-@samp{--exec-prefix} is the value used for @samp{--prefix}.
-
-The convention used in Cygnus releases is to use a @samp{--prefix}
-option of @file{/usr/cygnus/@var{release}}, where @var{release} is the
-name of the release, and to use a @samp{--exec-prefix} option of
-@file{/usr/cygnus/@var{release}/H-@var{host}}, where @var{host} is the
-configuration name of the host system (@pxref{Configuration Names}).
-
-Do not use either the source or the object directory as the installation
-directory.  That will just lead to confusion.
-
-@node Getting Started
-@chapter Getting Started
-
-To start using the GNU configure and build system with your software
-package, you must write three files, and you must run some tools to
-manually generate additional files.
-
-@menu
-* Write configure.in::		Write configure.in.
-* Write Makefile.am::		Write Makefile.am.
-* Write acconfig.h::		Write acconfig.h.
-* Generate files::		Generate files.
-* Getting Started Example::	Example.
-@end menu
-
-@node Write configure.in
-@section Write configure.in
-@cindex @file{configure.in}, writing
-
-You must first write the file @file{configure.in}.  This is an autoconf
-input file, and the autoconf manual describes in detail what this file
-should look like.
-
-You will write tests in your @file{configure.in} file to check for
-conditions that may change from one system to another, such as the
-presence of particular header files or functions.
-
-For example, not all systems support the @samp{gettimeofday} function.
-If you want to use the @samp{gettimeofday} function when it is
-available, and to use some other function when it is not, you would
-check for this by putting @samp{AC_CHECK_FUNCS(gettimeofday)} in
-@file{configure.in}.
-
-When the configure script is run at build time, this will arrange to
-define the preprocessor macro @samp{HAVE_GETTIMEOFDAY} to the value 1 if
-the @samp{gettimeofday} function is available, and to not define the
-macro at all if the function is not available.  Your code can then use
-@samp{#ifdef} to test whether it is safe to call @samp{gettimeofday}.
-
-If you have an existing body of code, the @samp{autoscan} program may
-help identify potential portability problems, and hence configure tests
-that you will want to use.
-@ifnothtml
-@xref{Invoking autoscan, , , autoconf, the autoconf manual}.
-@end ifnothtml
-@ifhtml
-See @uref{http://www.delorie.com/gnu/docs/autoconf/autoconf_4.html, the
-autoscan documentation}.
-@end ifhtml
-
-Another handy tool for an existing body of code is @samp{ifnames}.  This
-will show you all the preprocessor conditionals that the code already
-uses.
-@ifnothtml
-@xref{Invoking ifnames, , , autoconf, the autoconf manual}.
-@end ifnothtml
-@ifhtml
-See @uref{http://www.delorie.com/gnu/docs/autoconf/autoconf_5.html, the
-ifnames documentation}.
-@end ifhtml
-
-Besides the portability tests which are specific to your particular
-package, every @file{configure.in} file should contain the following
-macros.
-
-@table @samp
-@item AC_INIT
-@cindex @samp{AC_INIT}
-This macro takes a single argument, which is the name of a file in your
-package.  For example, @samp{AC_INIT(foo.c)}.
-
-@item AC_PREREQ(@var{VERSION})
-@cindex @samp{AC_PREREQ}
-This macro is optional.  It may be used to indicate the version of
-@samp{autoconf} that you are using.  This will prevent users from
-running an earlier version of @samp{autoconf} and perhaps getting an
-invalid @file{configure} script.  For example, @samp{AC_PREREQ(2.12)}.
-
-@item AM_INIT_AUTOMAKE
-@cindex @samp{AM_INIT_AUTOMAKE}
-This macro takes two arguments: the name of the package, and a version
-number.  For example, @samp{AM_INIT_AUTOMAKE(foo, 1.0)}.  (This macro is
-not needed if you are not using automake).
-
-@item AM_CONFIG_HEADER
-@cindex @samp{AM_CONFIG_HEADER}
-This macro names the header file which will hold the preprocessor macro
-definitions at run time.  Normally this should be @file{config.h}.  Your
-sources would then use @samp{#include "config.h"} to include it.
-
-This macro may optionally name the input file for that header file; by
-default, this is @file{config.h.in}, but that file name works poorly on
-DOS filesystems.  Therefore, it is often better to name it explicitly as
-@file{config.in}.
-
-This is what you should normally put in @file{configure.in}:
-@example
-AM_CONFIG_HEADER(config.h:config.in)
-@end example
-
-@cindex @samp{AC_CONFIG_HEADER}
-(If you are not using automake, use @samp{AC_CONFIG_HEADER} rather than
-@samp{AM_CONFIG_HEADER}).
-
-@item AM_MAINTAINER_MODE
-@cindex @samp{AM_MAINTAINER_MODE}
-This macro always appears in Cygnus configure scripts.  Other programs
-may or may not use it.
-
-If this macro is used, the @samp{--enable-maintainer-mode} option is
-required to enable automatic rebuilding of generated files used by the
-configure system.  This of course requires that developers be aware of,
-and use, that option.
-
-If this macro is not used, then the generated files will always be
-rebuilt automatically.  This will cause problems if the wrong versions
-of autoconf, automake, or others are in the builder's @samp{PATH}.
-
-(If you are not using automake, you do not need to use this macro).
-
-@item AC_EXEEXT
-@cindex @samp{AC_EXEEXT}
-@cindex @samp{AM_EXEEXT}
-Either this macro or @samp{AM_EXEEXT} always appears in Cygnus configure
-files.  Other programs may or may not use one of them.
-
-This macro looks for the executable suffix used on the host system.  On
-Unix systems, this is the empty string.  On Windows systems, this is
-@samp{.exe}.  This macro directs automake to use the executable suffix
-as appropriate when creating programs.  This macro does not take any
-arguments.
-
-The @samp{AC_EXEEXT} form is new, and is part of a Cygnus patch to
-autoconf to support compiling with Visual C++.  Older programs use
-@samp{AM_EXEEXT} instead.
-
-(Programs which do not use automake use neither @samp{AC_EXEEXT} nor
-@samp{AM_EXEEXT}).
-
-@item AC_PROG_CC
-@cindex @samp{AC_PROG_CC}
-If you are writing C code, you will normally want to use this macro.  It
-locates the C compiler to use.  It does not take any arguments.
-
-However, if this @file{configure.in} file is for a library which is to
-be compiled by a cross compiler which may not fully work, then you will
-not want to use @samp{AC_PROG_CC}.  Instead, you will want to use a
-variant which does not call the macro @samp{AC_PROG_CC_WORKS}.  Examples
-can be found in various @file{configure.in} files for libraries that are
-compiled with cross compilers, such as libiberty or libgloss.  This is
-essentially a bug in autoconf, and there will probably be a better
-workaround at some point.
-
-@item AC_PROG_CXX
-@cindex @samp{AC_PROG_CXX}
-If you are writing C++ code, you will want to use this macro.  It
-locates the C++ compiler to use.  It does not take any arguments.  The
-same cross compiler comments apply as for @samp{AC_PROG_CC}.
-
-@item AM_PROG_LIBTOOL
-@cindex @samp{AM_PROG_LIBTOOL}
-If you want to build libraries, and you want to permit them to be
-shared, or you want to link against libraries which were built using
-libtool, then you will need this macro.  This macro is required in order
-to use libtool.
-
-@cindex @samp{AM_DISABLE_SHARED}
-By default, this will cause all libraries to be built as shared
-libraries.  To prevent this--to change the default--use
-@samp{AM_DISABLE_SHARED} before @samp{AM_PROG_LIBTOOL}.  The configure
-options @samp{--enable-shared} and @samp{--disable-shared} may be used
-to override the default at build time.
-
-@item AC_DEFINE(_GNU_SOURCE)
-@cindex @samp{_GNU_SOURCE}
-GNU packages should normally include this line before any other feature
-tests.  This defines the macro @samp{_GNU_SOURCE} when compiling, which
-directs the libc header files to provide the standard GNU system
-interfaces including all GNU extensions.  If this macro is not defined,
-certain GNU extensions may not be available.
-
-@item AC_OUTPUT
-@cindex @samp{AC_OUTPUT}
-This macro takes a list of file names which the configure process should
-produce.  This is normally a list of one or more @file{Makefile} files
-in different directories.  If your package lives entirely in a single
-directory, you would use simply @samp{AC_OUTPUT(Makefile)}.  If you also
-have, for example, a @file{lib} subdirectory, you would use
-@samp{AC_OUTPUT(Makefile lib/Makefile)}.
-@end table
-
-If you want to use locally defined macros in your @file{configure.in}
-file, then you will need to write a @file{acinclude.m4} file which
-defines them (if not using automake, this file is called
-@file{aclocal.m4}).  Alternatively, you can put separate macros in an
-@file{m4} subdirectory, and put @samp{ACLOCAL_AMFLAGS = -I m4} in your
-@file{Makefile.am} file so that the @samp{aclocal} program will be able
-to find them.
-
-The different macro prefixes indicate which tool defines the macro.
-Macros which start with @samp{AC_} are part of autoconf.  Macros which
-start with @samp{AM_} are provided by automake or libtool.
-
-@node Write Makefile.am
-@section Write Makefile.am
-@cindex @file{Makefile.am}, writing
-
-You must write the file @file{Makefile.am}.  This is an automake input
-file, and the automake manual describes in detail what this file should
-look like.
-
-The automake commands in @file{Makefile.am} mostly look like variable
-assignments in a @file{Makefile}.  automake recognizes special variable
-names, and automatically add make rules to the output as needed.
-
-There will be one @file{Makefile.am} file for each directory in your
-package.  For each directory with subdirectories, the @file{Makefile.am}
-file should contain the line
-@smallexample
-SUBDIRS = @var{dir} @var{dir} @dots{}
-@end smallexample
-@noindent
-where each @var{dir} is the name of a subdirectory.
-
-For each @file{Makefile.am}, there should be a corresponding
-@file{Makefile} in the @samp{AC_OUTPUT} macro in @file{configure.in}.
-
-Every @file{Makefile.am} written at Cygnus should contain the line
-@smallexample
-AUTOMAKE_OPTIONS = cygnus
-@end smallexample
-@noindent
-This puts automake into Cygnus mode.  See the automake manual for
-details.
-
-You may to include the version number of @samp{automake} that you are
-using on the @samp{AUTOMAKE_OPTIONS} line.  For example,
-@smallexample
-AUTOMAKE_OPTIONS = cygnus 1.3
-@end smallexample
-@noindent
-This will prevent users from running an earlier version of
-@samp{automake} and perhaps getting an invalid @file{Makefile.in}.
-
-If your package builds a program, then in the directory where that
-program is built you will normally want a line like
-@smallexample
-bin_PROGRAMS = @var{program}
-@end smallexample
-@noindent
-where @var{program} is the name of the program.  You will then want a
-line like
-@smallexample
-@var{program}_SOURCES = @var{file} @var{file} @dots{}
-@end smallexample
-@noindent
-where each @var{file} is the name of a source file to link into the
-program (e.g., @samp{foo.c}).
-
-If your package builds a library, and you do not want the library to
-ever be built as a shared library, then in the directory where that
-library is built you will normally want a line like
-@smallexample
-lib_LIBRARIES = lib@var{name}.a
-@end smallexample
-@noindent
-where @samp{lib@var{name}.a} is the name of the library.  You will then
-want a line like
-@smallexample
-lib@var{name}_a_SOURCES = @var{file} @var{file} @dots{}
-@end smallexample
-@noindent
-where each @var{file} is the name of a source file to add to the
-library.
-
-If your package builds a library, and you want to permit building the
-library as a shared library, then in the directory where that library is
-built you will normally want a line like
-@smallexample
-lib_LTLIBRARIES = lib@var{name}.la
-@end smallexample
-The use of @samp{LTLIBRARIES}, and the @samp{.la} extension, indicate a
-library to be built using libtool.  As usual, you will then want a line
-like
-@smallexample
-lib@var{name}_la_SOURCES = @var{file} @var{file} @dots{}
-@end smallexample
-
-The strings @samp{bin} and @samp{lib} that appear above in
-@samp{bin_PROGRAMS} and @samp{lib_LIBRARIES} are not arbitrary.  They
-refer to particular directories, which may be set by the @samp{--bindir}
-and @samp{--libdir} options to @file{configure}.  If those options are
-not used, the default values are based on the @samp{--prefix} or
-@samp{--exec-prefix} options to @file{configure}.  It is possible to use
-other names if the program or library should be installed in some other
-directory.
-
-The @file{Makefile.am} file may also contain almost anything that may
-appear in a normal @file{Makefile}.  automake also supports many other
-special variables, as well as conditionals.
-
-See the automake manual for more information.
-
-@node Write acconfig.h
-@section Write acconfig.h
-@cindex @file{acconfig.h}, writing
-
-If you are generating a portability header file, (i.e., you are using
-@samp{AM_CONFIG_HEADER} in @file{configure.in}), then you will have to
-write a @file{acconfig.h} file.  It will have to contain the following
-lines.
-
-@smallexample
-/* Name of package.  */
-#undef PACKAGE
-
-/* Version of package.  */
-#undef VERSION
-@end smallexample
-
-This requirement is really a bug in the system, and the requirement may
-be eliminated at some later date.
-
-The @file{acconfig.h} file will also similar comment and @samp{#undef}
-lines for any unusual macros in the @file{configure.in} file, including
-any macro which appears in a @samp{AC_DEFINE} macro.
-
-In particular, if you are writing a GNU package and therefore include
-@samp{AC_DEFINE(_GNU_SOURCE)} in @file{configure.in} as suggested above,
-you will need lines like this in @file{acconfig.h}:
-@smallexample
-/* Enable GNU extensions.  */
-#undef _GNU_SOURCE
-@end smallexample
-
-Normally the @samp{autoheader} program will inform you of any such
-requirements by printing an error message when it is run.  However, if
-you do anything particular odd in your @file{configure.in} file, you
-will have to make sure that the right entries appear in
-@file{acconfig.h}, since otherwise the results of the tests may not be
-available in the @file{config.h} file which your code will use.
-
-(Thee @samp{PACKAGE} and @samp{VERSION} lines are not required if you
-are not using automake, and in that case you may not need a
-@file{acconfig.h} file at all).
-
-@node Generate files
-@section Generate files
-
-Once you have written @file{configure.in}, @file{Makefile.am},
-@file{acconfig.h}, and possibly @file{acinclude.m4}, you must use
-autoconf and automake programs to produce the first versions of the
-generated files.  This is done by executing the following sequence of
-commands.
-
-@smallexample
-aclocal
-autoconf
-autoheader
-automake
-@end smallexample
-
-The @samp{aclocal} and @samp{automake} commands are part of the automake
-package, and the @samp{autoconf} and @samp{autoheader} commands are part
-of the autoconf package.
-
-If you are using a @file{m4} subdirectory for your macros, you will need
-to use the @samp{-I m4} option when you run @samp{aclocal}.
-
-If you are not using the Cygnus tree, use the @samp{-a} option when
-running @samp{automake} command in order to copy the required support
-files into your source directory.
-
-If you are using libtool, you must build and install the libtool package
-with the same @samp{--prefix} and @samp{--exec-prefix} options as you
-used with the autoconf and automake packages.  You must do this before
-running any of the above commands.  If you are not using the Cygnus
-tree, you will need to run the @samp{libtoolize} program to copy the
-libtool support files into your directory.
-
-Once you have managed to run these commands without getting any errors,
-you should create a new empty directory, and run the @samp{configure}
-script which will have been created by @samp{autoconf} with the
-@samp{--enable-maintainer-mode} option.  This will give you a set of
-Makefiles which will include rules to automatically rebuild all the
-generated files.
-
-After doing that, whenever you have changed some of the input files and
-want to regenerated the other files, go to your object directory and run
-@samp{make}.  Doing this is more reliable than trying to rebuild the
-files manually, because there are complex order dependencies and it is
-easy to forget something.
-
-@node Getting Started Example
-@section Example
-
-Let's consider a trivial example.
-
-Suppose we want to write a simple version of @samp{touch}.  Our program,
-which we will call @samp{poke}, will take a single file name argument,
-and use the @samp{utime} system call to set the modification and access
-times of the file to the current time.  We want this program to be
-highly portable.
-
-We'll first see what this looks like without using autoconf and
-automake, and then see what it looks like with them.
-
-@menu
-* Getting Started Example 1::		First Try.
-* Getting Started Example 2::		Second Try.
-* Getting Started Example 3::		Third Try.
-* Generate Files in Example::		Generate Files.
-@end menu
-
-@node Getting Started Example 1
-@subsection First Try
-
-Here is our first try at @samp{poke.c}.  Note that we've written it
-without ANSI/ISO C prototypes, since we want it to be highly portable.
-
-@example
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <utime.h>
-
-int
-main (argc, argv)
-     int argc;
-     char **argv;
-@{
-  if (argc != 2)
-    @{
-      fprintf (stderr, "Usage: poke file\n");
-      exit (1);
-    @}
-
-  if (utime (argv[1], NULL) < 0)
-    @{
-      perror ("utime");
-      exit (1);
-    @}
-
-  exit (0);
-@}
-@end example
-
-We also write a simple @file{Makefile}.
-
-@example
-CC = gcc
-CFLAGS = -g -O2
-
-all: poke
-
-poke: poke.o
-	$(CC) -o poke $(CFLAGS) $(LDFLAGS) poke.o
-@end example
-
-So far, so good.
-
-Unfortunately, there are a few problems.
-
-On older Unix systems derived from BSD 4.3, the @samp{utime} system call
-does not accept a second argument of @samp{NULL}.  On those systems, we
-need to pass a pointer to @samp{struct utimbuf} structure.
-Unfortunately, even older systems don't define that structure; on those
-systems, we need to pass an array of two @samp{long} values.
-
-The header file @file{stdlib.h} was invented by ANSI C, and older
-systems don't have a copy.  We included it above to get a declaration of
-@samp{exit}.
-
-We can find some of these portability problems by running
-@samp{autoscan}, which will create a @file{configure.scan} file which we
-can use as a prototype for our @file{configure.in} file.  I won't show
-the output, but it will notice the potential problems with @samp{utime}
-and @file{stdlib.h}.
-
-In our @file{Makefile}, we don't provide any way to install the program.
-This doesn't matter much for such a simple example, but a real program
-will need an @samp{install} target.  For that matter, we will also want
-a @samp{clean} target.
-
-@node Getting Started Example 2
-@subsection Second Try
-
-Here is our second try at this program.
-
-We modify @file{poke.c} to use preprocessor macros to control what
-features are available.  (I've cheated a bit by using the same macro
-names which autoconf will use).
-
-@example
-#include <stdio.h>
-
-#ifdef STDC_HEADERS
-#include <stdlib.h>
-#endif
-
-#include <sys/types.h>
-
-#ifdef HAVE_UTIME_H
-#include <utime.h>
-#endif
-
-#ifndef HAVE_UTIME_NULL
-
-#include <time.h>
-
-#ifndef HAVE_STRUCT_UTIMBUF
-
-struct utimbuf
-@{
-  long actime;
-  long modtime;
-@};
-
-#endif
-
-static int
-utime_now (file)
-     char *file;
-@{
-  struct utimbuf now;
-
-  now.actime = now.modtime = time (NULL);
-  return utime (file, &now);
-@}
-
-#define utime(f, p) utime_now (f)
-
-#endif /* HAVE_UTIME_NULL  */
-
-int
-main (argc, argv)
-     int argc;
-     char **argv;
-@{
-  if (argc != 2)
-    @{
-      fprintf (stderr, "Usage: poke file\n");
-      exit (1);
-    @}
-
-  if (utime (argv[1], NULL) < 0)
-    @{
-      perror ("utime");
-      exit (1);
-    @}
-
-  exit (0);
-@}
-@end example
-
-Here is the associated @file{Makefile}.  We've added support for the
-preprocessor flags we use.  We've also added @samp{install} and
-@samp{clean} targets.
-
-@example
-# Set this to your installation directory.
-bindir = /usr/local/bin
-
-# Uncomment this if you have the standard ANSI/ISO C header files.
-# STDC_HDRS = -DSTDC_HEADERS
-
-# Uncomment this if you have utime.h.
-# UTIME_H = -DHAVE_UTIME_H
-
-# Uncomment this if utime (FILE, NULL) works on your system.
-# UTIME_NULL = -DHAVE_UTIME_NULL
-
-# Uncomment this if struct utimbuf is defined in utime.h.
-# UTIMBUF = -DHAVE_STRUCT_UTIMBUF
-
-CC = gcc
-CFLAGS = -g -O2
-
-ALL_CFLAGS = $(STDC_HDRS) $(UTIME_H) $(UTIME_NULL) $(UTIMBUF) $(CFLAGS)
-
-all: poke
-
-poke: poke.o
-	$(CC) -o poke $(ALL_CFLAGS) $(LDFLAGS) poke.o
-
-.c.o:
-	$(CC) -c $(ALL_CFLAGS) poke.c
-
-install: poke
-	cp poke $(bindir)/poke
-
-clean:
-	rm poke poke.o
-@end example
-
-Some problems with this approach should be clear.
-
-Users who want to compile poke will have to know how @samp{utime} works
-on their systems, so that they can uncomment the @file{Makefile}
-correctly.
-
-The installation is done using @samp{cp}, but many systems have an
-@samp{install} program which may be used, and which supports optional
-features such as stripping debugging information out of the installed
-binary.
-
-The use of @file{Makefile} variables like @samp{CC}, @samp{CFLAGS} and
-@samp{LDFLAGS} follows the requirements of the GNU standards.  This is
-convenient for all packages, since it reduces surprises for users.
-However, it is easy to get the details wrong, and wind up with a
-slightly nonstandard distribution.
-
-@node Getting Started Example 3
-@subsection Third Try
-
-For our third try at this program, we will write a @file{configure.in}
-script to discover the configuration features on the host system, rather
-than requiring the user to edit the @file{Makefile}.  We will also write
-a @file{Makefile.am} rather than a @file{Makefile}.
-
-The only change to @file{poke.c} is to add a line at the start of the
-file:
-@smallexample
-#include "config.h"
-@end smallexample
-
-The new @file{configure.in} file is as follows.
-
-@example
-AC_INIT(poke.c)
-AM_INIT_AUTOMAKE(poke, 1.0)
-AM_CONFIG_HEADER(config.h:config.in)
-AC_PROG_CC
-AC_HEADER_STDC
-AC_CHECK_HEADERS(utime.h)
-AC_EGREP_HEADER(utimbuf, utime.h, AC_DEFINE(HAVE_STRUCT_UTIMBUF))
-AC_FUNC_UTIME_NULL
-AC_OUTPUT(Makefile)
-@end example
-
-The first four macros in this file, and the last one, were described
-above; see @ref{Write configure.in}.  If we omit these macros, then when
-we run @samp{automake} we will get a reminder that we need them.
-
-The other macros are standard autoconf macros.
-
-@table @samp
-@item AC_HEADER_STDC
-Check for standard C headers.
-@item AC_CHECK_HEADERS
-Check whether a particular header file exists.
-@item AC_EGREP_HEADER
-Check for a particular string in a particular header file, in this case
-checking for @samp{utimbuf} in @file{utime.h}.
-@item AC_FUNC_UTIME_NULL
-Check whether @samp{utime} accepts a NULL second argument to set the
-file change time to the current time.
-@end table
-
-See the autoconf manual for a more complete description.
-
-The new @file{Makefile.am} file is as follows.  Note how simple this is
-compared to our earlier @file{Makefile}.
-
-@example
-bin_PROGRAMS = poke
-
-poke_SOURCES = poke.c
-@end example
-
-This means that we should build a single program name @samp{poke}.  It
-should be installed in the binary directory, which we called
-@samp{bindir} earlier.  The program @samp{poke} is built from the source
-file @file{poke.c}.
-
-We must also write a @file{acconfig.h} file.  Besides @samp{PACKAGE} and
-@samp{VERSION}, which must be mentioned for all packages which use
-automake, we must include @samp{HAVE_STRUCT_UTIMBUF}, since we mentioned
-it in an @samp{AC_DEFINE}.
-
-@example
-/* Name of package.  */
-#undef PACKAGE
-
-/* Version of package.  */
-#undef VERSION
-
-/* Whether utime.h defines struct utimbuf.  */
-#undef HAVE_STRUCT_UTIMBUF
-@end example
-
-@node Generate Files in Example
-@subsection Generate Files
-
-We must now generate the other files, using the following commands.
-
-@smallexample
-aclocal
-autoconf
-autoheader
-automake
-@end smallexample
-
-When we run @samp{autoheader}, it will remind us of any macros we forgot
-to add to @file{acconfig.h}.
-
-When we run @samp{automake}, it will want to add some files to our
-distribution.  It will add them automatically if we use the
-@samp{--add-missing} option.
-
-By default, @samp{automake} will run in GNU mode, which means that it
-will want us to create certain additional files; as of this writing, it
-will want @file{NEWS}, @file{README}, @file{AUTHORS}, and
-@file{ChangeLog}, all of which are files which should appear in a
-standard GNU distribution.  We can either add those files, or run
-@samp{automake} with the @samp{--foreign} option.
-
-Running these tools will generate the following files, all of which are
-described in the next chapter.
-
-@itemize @bullet
-@item
-@file{aclocal.m4}
-@item
-@file{configure}
-@item
-@file{config.in}
-@item
-@file{Makefile.in}
-@item
-@file{stamp-h.in}
-@end itemize
-
-@node Files
-@chapter Files
-
-As was seen in the previous chapter, the GNU configure and build system
-uses a number of different files.  The developer must write a few files.
-The others are generated by various tools.
-
-The system is rather flexible, and can be used in many different ways.
-In describing the files that it uses, I will describe the common case,
-and mention some other cases that may arise.
-
-@menu
-* Developer Files::		Developer Files.
-* Build Files::			Build Files.
-* Support Files::		Support Files.
-@end menu
-
-@node Developer Files
-@section Developer Files
-
-This section describes the files written or generated by the developer
-of a package.
-
-@menu
-* Developer Files Picture::	Developer Files Picture.
-* Written Developer Files::	Written Developer Files.
-* Generated Developer Files::	Generated Developer Files.
-@end menu
-
-@node Developer Files Picture
-@subsection Developer Files Picture
-
-Here is a picture of the files which are written by the developer, the
-generated files which would be included with a complete source
-distribution, and the tools which create those files.
-@ifinfo
-The file names are plain text and the tool names are enclosed by
-@samp{*} characters
-@end ifinfo
-@ifnotinfo
-The file names are in rectangles with square corners and the tool names
-are in rectangles with rounded corners
-@end ifnotinfo
-(e.g., @samp{autoheader} is the name of a tool, not the name of a file).
-
-@image{configdev,,,,jpg}
-
-@node Written Developer Files
-@subsection Written Developer Files
-
-The following files would be written by the developer.
-
-@table @file
-@item configure.in
-@cindex @file{configure.in}
-This is the configuration script.  This script contains invocations of
-autoconf macros.  It may also contain ordinary shell script code.  This
-file will contain feature tests for portability issues.  The last thing
-in the file will normally be an @samp{AC_OUTPUT} macro listing which
-files to create when the builder runs the configure script.  This file
-is always required when using the GNU configure system.  @xref{Write
-configure.in}.
-
-@item Makefile.am
-@cindex @file{Makefile.am}
-This is the automake input file.  It describes how the code should be
-built.  It consists of definitions of automake variables.  It may also
-contain ordinary Makefile targets.  This file is only needed when using
-automake (newer tools normally use automake, but there are still older
-tools which have not been converted, in which the developer writes
-@file{Makefile.in} directly).  @xref{Write Makefile.am}.
-
-@item acconfig.h
-@cindex @file{acconfig.h}
-When the configure script creates a portability header file, by using
-@samp{AM_CONFIG_HEADER} (or, if not using automake,
-@samp{AC_CONFIG_HEADER}), this file is used to describe macros which are
-not recognized by the @samp{autoheader} command.  This is normally a
-fairly uninteresting file, consisting of a collection of @samp{#undef}
-lines with comments.  Normally any call to @samp{AC_DEFINE} in
-@file{configure.in} will require a line in this file. @xref{Write
-acconfig.h}.
-
-@item acinclude.m4
-@cindex @file{acinclude.m4}
-This file is not always required.  It defines local autoconf macros.
-These macros may then be used in @file{configure.in}.  If you don't need
-any local autoconf macros, then you don't need this file at all.  In
-fact, in general, you never need local autoconf macros, since you can
-put everything in @file{configure.in}, but sometimes a local macro is
-convenient.
-
-Newer tools may omit @file{acinclude.m4}, and instead use a
-subdirectory, typically named @file{m4}, and define
-@samp{ACLOCAL_AMFLAGS = -I m4} in @file{Makefile.am} to force
-@samp{aclocal} to look there for macro definitions.  The macro
-definitions are then placed in separate files in that directory.
-
-The @file{acinclude.m4} file is only used when using automake; in older
-tools, the developer writes @file{aclocal.m4} directly, if it is needed.
-@end table
-
-@node Generated Developer Files
-@subsection Generated Developer Files
-
-The following files would be generated by the developer.
-
-When using automake, these files are normally not generated manually
-after the first time.  Instead, the generated @file{Makefile} contains
-rules to automatically rebuild the files as required.  When
-@samp{AM_MAINTAINER_MODE} is used in @file{configure.in} (the normal
-case in Cygnus code), the automatic rebuilding rules will only be
-defined if you configure using the @samp{--enable-maintainer-mode}
-option.
-
-When using automatic rebuilding, it is important to ensure that all the
-various tools have been built and installed on your @samp{PATH}.  Using
-automatic rebuilding is highly recommended, so much so that I'm not
-going to explain what you have to do if you don't use it.
-
-@table @file
-@item configure
-@cindex @file{configure}
-This is the configure script which will be run when building the
-package.  This is generated by @samp{autoconf} from @file{configure.in}
-and @file{aclocal.m4}.  This is a shell script.
-
-@item Makefile.in
-@cindex @file{Makefile.in}
-This is the file which the configure script will turn into the
-@file{Makefile} at build time.  This file is generated by
-@samp{automake} from @file{Makefile.am}.  If you aren't using automake,
-you must write this file yourself.  This file is pretty much a normal
-@file{Makefile}, with some configure substitutions for certain
-variables.
-
-@item aclocal.m4
-@cindex @file{aclocal.m4}
-This file is created by the @samp{aclocal} program, based on the
-contents of @file{configure.in} and @file{acinclude.m4} (or, as noted in
-the description of @file{acinclude.m4} above, on the contents of an
-@file{m4} subdirectory).  This file contains definitions of autoconf
-macros which @samp{autoconf} will use when generating the file
-@file{configure}.  These autoconf macros may be defined by you in
-@file{acinclude.m4} or they may be defined by other packages such as
-automake, libtool or gettext.  If you aren't using automake, you will
-normally write this file yourself; in that case, if @file{configure.in}
-uses only standard autoconf macros, this file will not be needed at all.
-
-@item config.in
-@cindex @file{config.in}
-@cindex @file{config.h.in}
-This file is created by @samp{autoheader} based on @file{acconfig.h} and
-@file{configure.in}.  At build time, the configure script will define
-some of the macros in it to create @file{config.h}, which may then be
-included by your program.  This permits your C code to use preprocessor
-conditionals to change its behaviour based on the characteristics of the
-host system.  This file may also be called @file{config.h.in}.
-
-@item stamp.h-in
-@cindex @file{stamp-h.in}
-This rather uninteresting file, which I omitted from the picture, is
-generated by @samp{automake}.  It always contains the string
-@samp{timestamp}.  It is used as a timestamp file indicating whether
-@file{config.in} is up to date.  Using a timestamp file means that
-@file{config.in} can be marked as up to date without actually changing
-its modification time.  This is useful since @file{config.in} depends
-upon @file{configure.in}, but it is easy to change @file{configure.in}
-in a way which does not affect @file{config.in}.
-@end table
-
-@node Build Files
-@section Build Files
-
-This section describes the files which are created at configure and
-build time.  These are the files which somebody who builds the package
-will see.
-
-Of course, the developer will also build the package.  The distinction
-between developer files and build files is not that the developer does
-not see the build files, but that somebody who only builds the package
-does not have to worry about the developer files.
-
-@menu
-* Build Files Picture::		Build Files Picture.
-* Build Files Description::	Build Files Description.
-@end menu
-
-@node Build Files Picture
-@subsection Build Files Picture
-
-Here is a picture of the files which will be created at build time.
-@file{config.status} is both a created file and a shell script which is
-run to create other files, and the picture attempts to show that.
-
-@image{configbuild,,,,jpg}
-
-@node Build Files Description
-@subsection Build Files Description
-
-This is a description of the files which are created at build time.
-
-@table @file
-@item config.status
-@cindex @file{config.status}
-The first step in building a package is to run the @file{configure}
-script.  The @file{configure} script will create the file
-@file{config.status}, which is itself a shell script.  When you first
-run @file{configure}, it will automatically run @file{config.status}.
-An @file{Makefile} derived from an automake generated @file{Makefile.in}
-will contain rules to automatically run @file{config.status} again when
-necessary to recreate certain files if their inputs change.
-
-@item Makefile
-@cindex @file{Makefile}
-This is the file which make will read to build the program.  The
-@file{config.status} script will transform @file{Makefile.in} into
-@file{Makefile}.
-
-@item config.h
-@cindex @file{config.h}
-This file defines C preprocessor macros which C code can use to adjust
-its behaviour on different systems.  The @file{config.status} script
-will transform @file{config.in} into @file{config.h}.
-
-@item config.cache
-@cindex @file{config.cache}
-This file did not fit neatly into the picture, and I omitted it.  It is
-used by the @file{configure} script to cache results between runs.  This
-can be an important speedup.  If you modify @file{configure.in} in such
-a way that the results of old tests should change (perhaps you have
-added a new library to @samp{LDFLAGS}), then you will have to remove
-@file{config.cache} to force the tests to be rerun.
-
-The autoconf manual explains how to set up a site specific cache file.
-This can speed up running @file{configure} scripts on your system.
-
-@item stamp.h
-@cindex @file{stamp-h}
-This file, which I omitted from the picture, is similar to
-@file{stamp-h.in}.  It is used as a timestamp file indicating whether
-@file{config.h} is up to date.  This is useful since @file{config.h}
-depends upon @file{config.status}, but it is easy for
-@file{config.status} to change in a way which does not affect
-@file{config.h}.
-@end table
-
-@node Support Files
-@section Support Files
-
-The GNU configure and build system requires several support files to be
-included with your distribution.  You do not normally need to concern
-yourself with these.  If you are using the Cygnus tree, most are already
-present.  Otherwise, they will be installed with your source by
-@samp{automake} (with the @samp{--add-missing} option) and
-@samp{libtoolize}.
-
-You don't have to put the support files in the top level directory.  You
-can put them in a subdirectory, and use the @samp{AC_CONFIG_AUX_DIR}
-macro in @file{configure.in} to tell @samp{automake} and the
-@file{configure} script where they are.
-
-In this section, I describe the support files, so that you can know what
-they are and why they are there.
-
-@table @file
-@item ABOUT-NLS
-Added by automake if you are using gettext.  This is a documentation
-file about the gettext project.
-@item ansi2knr.c
-Used by an automake generated @file{Makefile} if you put @samp{ansi2knr}
-in @samp{AUTOMAKE_OPTIONS} in @file{Makefile.am}.  This permits
-compiling ANSI C code with a K&R C compiler.
-@item ansi2knr.1
-The man page which goes with @file{ansi2knr.c}.
-@item config.guess
-A shell script which determines the configuration name for the system on
-which it is run.
-@item config.sub
-A shell script which canonicalizes a configuration name entered by a
-user.
-@item elisp-comp
-Used to compile Emacs LISP files.
-@item install-sh
-A shell script which installs a program.  This is used if the configure
-script can not find an install binary.
-@item ltconfig
-Used by libtool.  This is a shell script which configures libtool for
-the particular system on which it is used.
-@item ltmain.sh
-Used by libtool.  This is the actual libtool script which is used, after
-it is configured by @file{ltconfig} to build a library.
-@item mdate-sh
-A shell script used by an automake generated @file{Makefile} to pretty
-print the modification time of a file.  This is used to maintain version
-numbers for texinfo files.
-@item missing
-A shell script used if some tool is missing entirely.  This is used by
-an automake generated @file{Makefile} to avoid certain sorts of
-timestamp problems.
-@item mkinstalldirs
-A shell script which creates a directory, including all parent
-directories.  This is used by an automake generated @file{Makefile}
-during installation.
-@item texinfo.tex
-Required if you have any texinfo files.  This is used when converting
-Texinfo files into DVI using @samp{texi2dvi} and @TeX{}.
-@item ylwrap
-A shell script used by an automake generated @file{Makefile} to run
-programs like @samp{bison}, @samp{yacc}, @samp{flex}, and @samp{lex}.
-These programs default to producing output files with a fixed name, and
-the @file{ylwrap} script runs them in a subdirectory to avoid file name
-conflicts when using a parallel make program.
-@end table
-
-@node Configuration Names
-@chapter Configuration Names
-@cindex configuration names
-@cindex configuration triplets
-@cindex triplets
-@cindex host names
-@cindex host triplets
-@cindex canonical system names
-@cindex system names
-@cindex system types
-
-The GNU configure system names all systems using a @dfn{configuration
-name}.  All such names used to be triplets (they may now contain four
-parts in certain cases), and the term @dfn{configuration triplet} is
-still seen.
-
-@menu
-* Configuration Name Definition::	Configuration Name Definition.
-* Using Configuration Names::		Using Configuration Names.
-@end menu
-
-@node Configuration Name Definition
-@section Configuration Name Definition
-
-This is a string of the form
-@var{cpu}-@var{manufacturer}-@var{operating_system}.  In some cases,
-this is extended to a four part form:
-@var{cpu}-@var{manufacturer}-@var{kernel}-@var{operating_system}.
-
-When using a configuration name in a configure option, it is normally
-not necessary to specify an entire name.  In particular, the
-@var{manufacturer} field is often omitted, leading to strings such as
-@samp{i386-linux} or @samp{sparc-sunos}.  The shell script
-@file{config.sub} will translate these shortened strings into the
-canonical form.  autoconf will arrange for @file{config.sub} to be run
-automatically when it is needed.
-
-The fields of a configuration name are as follows:
-
-@table @var
-@item cpu
-The type of processor.  This is typically something like @samp{i386} or
-@samp{sparc}.  More specific variants are used as well, such as
-@samp{mipsel} to indicate a little endian MIPS processor.
-@item manufacturer
-A somewhat freeform field which indicates the manufacturer of the
-system.  This is often simply @samp{unknown}.  Other common strings are
-@samp{pc} for an IBM PC compatible system, or the name of a workstation
-vendor, such as @samp{sun}.
-@item operating_system
-The name of the operating system which is run on the system.  This will
-be something like @samp{solaris2.5} or @samp{irix6.3}.  There is no
-particular restriction on the version number, and strings like
-@samp{aix4.1.4.0} are seen.  For an embedded system, which has no
-operating system, this field normally indicates the type of object file
-format, such as @samp{elf} or @samp{coff}.
-@item kernel
-This is used mainly for GNU/Linux.  A typical GNU/Linux configuration
-name is @samp{i586-pc-linux-gnulibc1}.  In this case the kernel,
-@samp{linux}, is separated from the operating system, @samp{gnulibc1}.
-@end table
-
-The shell script @file{config.guess} will normally print the correct
-configuration name for the system on which it is run.  It does by
-running @samp{uname} and by examining other characteristics of the
-system.
-
-Because @file{config.guess} can normally determine the configuration
-name for a machine, it is normally only necessary to specify a
-configuration name when building a cross-compiler or when building using
-a cross-compiler.
-
-@node Using Configuration Names
-@section Using Configuration Names
-
-A configure script will sometimes have to make a decision based on a
-configuration name.  You will need to do this if you have to compile
-code differently based on something which can not be tested using a
-standard autoconf feature test.
-
-It is normally better to test for particular features, rather than to
-test for a particular system.  This is because as Unix evolves,
-different systems copy features from one another.  Even if you need to
-determine whether the feature is supported based on a configuration
-name, you should define a macro which describes the feature, rather than
-defining a macro which describes the particular system you are on.
-
-Testing for a particular system is normally done using a case statement
-in @file{configure.in}.  The case statement might look something like
-the following, assuming that @samp{host} is a shell variable holding a
-canonical configuration name (which will be the case if
-@file{configure.in} uses the @samp{AC_CANONICAL_HOST} or
-@samp{AC_CANONICAL_SYSTEM} macro).
-
-@smallexample
-case "$@{host@}" in
-i[3-7]86-*-linux-gnu*) do something ;;
-sparc*-sun-solaris2.[56789]*) do something ;;
-sparc*-sun-solaris*) do something ;;
-mips*-*-elf*) do something ;;
-esac
-@end smallexample
-
-It is particularly important to use @samp{*} after the operating system
-field, in order to match the version number which will be generated by
-@file{config.guess}.
-
-In most cases you must be careful to match a range of processor types.
-For most processor families, a trailing @samp{*} suffices, as in
-@samp{mips*} above.  For the i386 family, something along the lines of
-@samp{i[3-7]86} suffices at present.  For the m68k family, you will
-need something like @samp{m68*}.  Of course, if you do not need to match
-on the processor, it is simpler to just replace the entire field by a
-@samp{*}, as in @samp{*-*-irix*}.
-
-@node Cross Compilation Tools
-@chapter Cross Compilation Tools
-@cindex cross tools
-
-The GNU configure and build system can be used to build @dfn{cross
-compilation} tools.  A cross compilation tool is a tool which runs on
-one system and produces code which runs on another system.
-
-@menu
-* Cross Compilation Concepts::		Cross Compilation Concepts.
-* Host and Target::			Host and Target.
-* Using the Host Type::			Using the Host Type.
-* Specifying the Target::       	Specifying the Target.
-* Using the Target Type::		Using the Target Type.
-* Cross Tools in the Cygnus Tree::	Cross Tools in the Cygnus Tree
-@end menu
-
-@node Cross Compilation Concepts
-@section Cross Compilation Concepts
-
-@cindex cross compiler
-A compiler which produces programs which run on a different system is a
-cross compilation compiler, or simply a @dfn{cross compiler}.
-Similarly, we speak of cross assemblers, cross linkers, etc.
-
-In the normal case, a compiler produces code which runs on the same
-system as the one on which the compiler runs.  When it is necessary to
-distinguish this case from the cross compilation case, such a compiler
-is called a @dfn{native compiler}.  Similarly, we speak of native
-assemblers, etc.
-
-Although the debugger is not strictly speaking a compilation tool, it is
-nevertheless meaningful to speak of a cross debugger: a debugger which
-is used to debug code which runs on another system.  Everything that is
-said below about configuring cross compilation tools applies to the
-debugger as well.
-
-@node Host and Target
-@section Host and Target
-@cindex host system
-@cindex target system
-
-When building cross compilation tools, there are two different systems
-involved: the system on which the tools will run, and the system for
-which the tools generate code.
-
-The system on which the tools will run is called the @dfn{host} system.
-
-The system for which the tools generate code is called the @dfn{target}
-system.
-
-For example, suppose you have a compiler which runs on a GNU/Linux
-system and generates ELF programs for a MIPS embedded system.  In this
-case the GNU/Linux system is the host, and the MIPS ELF system is the
-target.  Such a compiler could be called a GNU/Linux cross MIPS ELF
-compiler, or, equivalently, a @samp{i386-linux-gnu} cross
-@samp{mips-elf} compiler.
-
-Naturally, most programs are not cross compilation tools.  For those
-programs, it does not make sense to speak of a target.  It only makes
-sense to speak of a target for tools like @samp{gcc} or the
-@samp{binutils} which actually produce running code.  For example, it
-does not make sense to speak of the target of a tool like @samp{bison}
-or @samp{make}.
-
-Most cross compilation tools can also serve as native tools.  For a
-native compilation tool, it is still meaningful to speak of a target.
-For a native tool, the target is the same as the host.  For example, for
-a GNU/Linux native compiler, the host is GNU/Linux, and the target is
-also GNU/Linux.
-
-@node Using the Host Type
-@section Using the Host Type
-
-In almost all cases the host system is the system on which you run the
-@samp{configure} script, and on which you build the tools (for the case
-when they differ, @pxref{Canadian Cross}).
-
-@cindex @samp{AC_CANONICAL_HOST}
-If your configure script needs to know the configuration name of the
-host system, and the package is not a cross compilation tool and
-therefore does not have a target, put @samp{AC_CANONICAL_HOST} in
-@file{configure.in}.  This macro will arrange to define a few shell
-variables when the @samp{configure} script is run.
-
-@table @samp
-@item host
-The canonical configuration name of the host.  This will normally be
-determined by running the @file{config.guess} shell script, although the
-user is permitted to override this by using an explicit @samp{--host}
-option.
-@item host_alias
-In the unusual case that the user used an explicit @samp{--host} option,
-this will be the argument to @samp{--host}.  In the normal case, this
-will be the same as the @samp{host} variable.
-@item host_cpu
-@itemx host_vendor
-@itemx host_os
-The first three parts of the canonical configuration name.
-@end table
-
-The shell variables may be used by putting shell code in
-@file{configure.in}.  For an example, see @ref{Using Configuration
-Names}.
-
-@node Specifying the Target
-@section Specifying the Target
-
-By default, the @samp{configure} script will assume that the target is
-the same as the host.  This is the more common case; for example, it
-leads to a native compiler rather than a cross compiler.
-
-@cindex @samp{--target} option
-@cindex target option
-@cindex configure target
-If you want to build a cross compilation tool, you must specify the
-target explicitly by using the @samp{--target} option when you run
-@samp{configure}.  The argument to @samp{--target} is the configuration
-name of the system for which you wish to generate code.
-@xref{Configuration Names}.
-
-For example, to build tools which generate code for a MIPS ELF embedded
-system, you would use @samp{--target mips-elf}.
-
-@node Using the Target Type
-@section Using the Target Type
-
-@cindex @samp{AC_CANONICAL_SYSTEM}
-When writing @file{configure.in} for a cross compilation tool, you will
-need to use information about the target.  To do this, put
-@samp{AC_CANONICAL_SYSTEM} in @file{configure.in}.
-
-@samp{AC_CANONICAL_SYSTEM} will look for a @samp{--target} option and
-canonicalize it using the @file{config.sub} shell script.  It will also
-run @samp{AC_CANONICAL_HOST} (@pxref{Using the Host Type}).
-
-The target type will be recorded in the following shell variables.  Note
-that the host versions of these variables will also be defined by
-@samp{AC_CANONICAL_HOST}.
-
-@table @samp
-@item target
-The canonical configuration name of the target.
-@item target_alias
-The argument to the @samp{--target} option.  If the user did not specify
-a @samp{--target} option, this will be the same as @samp{host_alias}.
-@item target_cpu
-@itemx target_vendor
-@itemx target_os
-The first three parts of the canonical target configuration name.
-@end table
-
-Note that if @samp{host} and @samp{target} are the same string, you can
-assume a native configuration.  If they are different, you can assume a
-cross configuration.
-
-It is arguably possible for @samp{host} and @samp{target} to represent
-the same system, but for the strings to not be identical.  For example,
-if @samp{config.guess} returns @samp{sparc-sun-sunos4.1.4}, and somebody
-configures with @samp{--target sparc-sun-sunos4.1}, then the slight
-differences between the two versions of SunOS may be unimportant for
-your tool.  However, in the general case it can be quite difficult to
-determine whether the differences between two configuration names are
-significant or not.  Therefore, by convention, if the user specifies a
-@samp{--target} option without specifying a @samp{--host} option, it is
-assumed that the user wants to configure a cross compilation tool.
-
-The variables @samp{target} and @samp{target_alias} should be handled
-differently.
-
-In general, whenever the user may actually see a string,
-@samp{target_alias} should be used.  This includes anything which may
-appear in the file system, such as a directory name or part of a tool
-name.  It also includes any tool output, unless it is clearly labelled
-as the canonical target configuration name.  This permits the user to
-use the @samp{--target} option to specify how the tool will appear to
-the outside world.
-
-On the other hand, when checking for characteristics of the target
-system, @samp{target} should be used.  This is because a wide variety of
-@samp{--target} options may map into the same canonical configuration
-name.  You should not attempt to duplicate the canonicalization done by
-@samp{config.sub} in your own code.
-
-By convention, cross tools are installed with a prefix of the argument
-used with the @samp{--target} option, also known as @samp{target_alias}
-(@pxref{Using the Target Type}).  If the user does not use the
-@samp{--target} option, and thus is building a native tool, no prefix is
-used.
-
-For example, if gcc is configured with @samp{--target mips-elf}, then
-the installed binary will be named @samp{mips-elf-gcc}.  If gcc is
-configured without a @samp{--target} option, then the installed binary
-will be named @samp{gcc}.
-
-The autoconf macro @samp{AC_ARG_PROGRAM} will handle this for you.  If
-you are using automake, no more need be done; the programs will
-automatically be installed with the correct prefixes.  Otherwise, see
-the autoconf documentation for @samp{AC_ARG_PROGRAM}.
-
-@node Cross Tools in the Cygnus Tree
-@section Cross Tools in the Cygnus Tree
-
-The Cygnus tree is used for various packages including gdb, the GNU
-binutils, and egcs.  It is also, of course, used for Cygnus releases.
-
-In the Cygnus tree, the top level @file{configure} script uses the old
-Cygnus configure system, not autoconf.  The top level @file{Makefile.in}
-is written to build packages based on what is in the source tree, and
-supports building a large number of tools in a single
-@samp{configure}/@samp{make} step.
-
-The Cygnus tree may be configured with a @samp{--target} option.  The
-@samp{--target} option applies recursively to every subdirectory, and
-permits building an entire set of cross tools at once.
-
-@menu
-* Host and Target Libraries::		Host and Target Libraries.
-* Target Library Configure Scripts::	Target Library Configure Scripts.
-* Make Targets in Cygnus Tree::         Make Targets in Cygnus Tree.
-* Target libiberty::			Target libiberty
-@end menu
-
-@node Host and Target Libraries
-@subsection Host and Target Libraries
-
-The Cygnus tree distinguishes host libraries from target libraries.
-
-Host libraries are built with the compiler used to build the programs
-which run on the host, which is called the host compiler.  This includes
-libraries such as @samp{bfd} and @samp{tcl}.  These libraries are built
-with the host compiler, and are linked into programs like the binutils
-or gcc which run on the host.
-
-Target libraries are built with the target compiler.  If gcc is present
-in the source tree, then the target compiler is the gcc that is built
-using the host compiler.  Target libraries are libraries such as
-@samp{newlib} and @samp{libstdc++}.  These libraries are not linked into
-the host programs, but are instead made available for use with programs
-built with the target compiler.
-
-For the rest of this section, assume that gcc is present in the source
-tree, so that it will be used to build the target libraries.
-
-There is a complication here.  The configure process needs to know which
-compiler you are going to use to build a tool; otherwise, the feature
-tests will not work correctly.  The Cygnus tree handles this by not
-configuring the target libraries until the target compiler is built.  In
-order to permit everything to build using a single
-@samp{configure}/@samp{make}, the configuration of the target libraries
-is actually triggered during the make step.
-
-When the target libraries are configured, the @samp{--target} option is
-not used.  Instead, the @samp{--host} option is used with the argument
-of the @samp{--target} option for the overall configuration.  If no
-@samp{--target} option was used for the overall configuration, the
-@samp{--host} option will be passed with the output of the
-@file{config.guess} shell script.  Any @samp{--build} option is passed
-down unchanged.
-
-This translation of configuration options is done because since the
-target libraries are compiled with the target compiler, they are being
-built in order to run on the target of the overall configuration.  By
-the definition of host, this means that their host system is the same as
-the target system of the overall configuration.
-
-The same process is used for both a native configuration and a cross
-configuration.  Even when using a native configuration, the target
-libraries will be configured and built using the newly built compiler.
-This is particularly important for the C++ libraries, since there is no
-reason to assume that the C++ compiler used to build the host tools (if
-there even is one) uses the same ABI as the g++ compiler which will be
-used to build the target libraries.
-
-There is one difference between a native configuration and a cross
-configuration.  In a native configuration, the target libraries are
-normally configured and built as siblings of the host tools.  In a cross
-configuration, the target libraries are normally built in a subdirectory
-whose name is the argument to @samp{--target}.  This is mainly for
-historical reasons.
-
-To summarize, running @samp{configure} in the Cygnus tree configures all
-the host libraries and tools, but does not configure any of the target
-libraries.  Running @samp{make} then does the following steps:
-
-@itemize @bullet
-@item
-Build the host libraries.
-@item
-Build the host programs, including gcc.  Note that we call gcc both a
-host program (since it runs on the host) and a target compiler (since it
-generates code for the target).
-@item
-Using the newly built target compiler, configure the target libraries.
-@item
-Build the target libraries.
-@end itemize
-
-The steps need not be done in precisely this order, since they are
-actually controlled by @file{Makefile} targets.
-
-@node Target Library Configure Scripts
-@subsection Target Library Configure Scripts
-
-There are a few things you must know in order to write a configure
-script for a target library.  This is just a quick sketch, and beginners
-shouldn't worry if they don't follow everything here.
-
-The target libraries are configured and built using a newly built target
-compiler.  There may not be any startup files or libraries for this
-target compiler.  In fact, those files will probably be built as part of
-some target library, which naturally means that they will not exist when
-your target library is configured.
-
-This means that the configure script for a target library may not use
-any test which requires doing a link.  This unfortunately includes many
-useful autoconf macros, such as @samp{AC_CHECK_FUNCS}.  autoconf macros
-which do a compile but not a link, such as @samp{AC_CHECK_HEADERS}, may
-be used.
-
-This is a severe restriction, but normally not a fatal one, as target
-libraries can often assume the presence of other target libraries, and
-thus know which functions will be available.
-
-As of this writing, the autoconf macro @samp{AC_PROG_CC} does a link to
-make sure that the compiler works.  This may fail in a target library,
-so target libraries must use a different set of macros to locate the
-compiler.  See the @file{configure.in} file in a directory like
-@file{libiberty} or @file{libgloss} for an example.
-
-As noted in the previous section, target libraries are sometimes built
-in directories which are siblings to the host tools, and are sometimes
-built in a subdirectory.  The @samp{--with-target-subdir} configure
-option will be passed when the library is configured.  Its value will be
-an empty string if the target library is a sibling.  Its value will be
-the name of the subdirectory if the target library is in a subdirectory.
-
-If the overall build is not a native build (i.e., the overall configure
-used the @samp{--target} option), then the library will be configured
-with the @samp{--with-cross-host} option.  The value of this option will
-be the host system of the overall build.  Recall that the host system of
-the library will be the target of the overall build.  If the overall
-build is a native build, the @samp{--with-cross-host} option will not be
-used.
-
-A library which can be built both standalone and as a target library may
-want to install itself into different directories depending upon the
-case.  When built standalone, or when built native, the library should
-be installed in @samp{$(libdir)}.  When built as a target library which
-is not native, the library should be installed in @samp{$(tooldir)/lib}.
-The @samp{--with-cross-host} option may be used to distinguish these
-cases.
-
-This same test of @samp{--with-cross-host} may be used to see whether it
-is OK to use link tests in the configure script.  If the
-@samp{--with-cross-host} option is not used, then the library is being
-built either standalone or native, and a link should work.
-
-@node Make Targets in Cygnus Tree
-@subsection Make Targets in Cygnus Tree
-
-The top level @file{Makefile} in the Cygnus tree defines targets for
-every known subdirectory.
-
-For every subdirectory @var{dir} which holds a host library or program,
-the @file{Makefile} target @samp{all-@var{dir}} will build that library
-or program.
-
-There are dependencies among host tools.  For example, building gcc
-requires first building gas, because the gcc build process invokes the
-target assembler.  These dependencies are reflected in the top level
-@file{Makefile}.
-
-For every subdirectory @var{dir} which holds a target library, the
-@file{Makefile} target @samp{configure-target-@var{dir}} will configure
-that library.  The @file{Makefile} target @samp{all-target-@var{dir}}
-will build that library.
-
-Every @samp{configure-target-@var{dir}} target depends upon
-@samp{all-gcc}, since gcc, the target compiler, is required to configure
-the tool.  Every @samp{all-target-@var{dir}} target depends upon the
-corresponding @samp{configure-target-@var{dir}} target.
-
-There are several other targets which may be of interest for each
-directory: @samp{install-@var{dir}}, @samp{clean-@var{dir}}, and
-@samp{check-@var{dir}}.  There are also corresponding @samp{target}
-versions of these for the target libraries , such as
-@samp{install-target-@var{dir}}.
-
-@node Target libiberty
-@subsection Target libiberty
-
-The @file{libiberty} subdirectory is currently a special case, in that
-it is the only directory which is built both using the host compiler and
-using the target compiler.
-
-This is because the files in @file{libiberty} are used when building the
-host tools, and they are also incorporated into the @file{libstdc++}
-target library as support code.
-
-This duality does not pose any particular difficulties.  It means that
-there are targets for both @samp{all-libiberty} and
-@samp{all-target-libiberty}.
-
-In a native configuration, when target libraries are not built in a
-subdirectory, the same objects are normally used as both the host build
-and the target build.  This is normally OK, since libiberty contains
-only C code, and in a native configuration the results of the host
-compiler and the target compiler are normally interoperable.
-
-Irix 6 is again an exception here, since the SGI native compiler
-defaults to using the @samp{O32} ABI, and gcc defaults to using the
-@samp{N32} ABI.  On Irix 6, the target libraries are built in a
-subdirectory even for a native configuration, avoiding this problem.
-
-There are currently no other libraries built for both the host and the
-target, but there is no conceptual problem with adding more.
-
-@node Canadian Cross
-@chapter Canadian Cross
-@cindex canadian cross
-@cindex building with a cross compiler
-@cindex cross compiler, building with
-
-It is possible to use the GNU configure and build system to build a
-program which will run on a system which is different from the system on
-which the tools are built.  In other words, it is possible to build
-programs using a cross compiler.
-
-This is referred to as a @dfn{Canadian Cross}.
-
-@menu
-* Canadian Cross Example::		Canadian Cross Example.
-* Canadian Cross Concepts::		Canadian Cross Concepts.
-* Build Cross Host Tools::		Build Cross Host Tools.
-* Build and Host Options::		Build and Host Options.
-* CCross not in Cygnus Tree::		Canadian Cross not in Cygnus Tree.
-* CCross in Cygnus Tree::		Canadian Cross in Cygnus Tree.
-* Supporting Canadian Cross::		Supporting Canadian Cross.
-@end menu
-
-@node Canadian Cross Example
-@section Canadian Cross Example
-
-Here is an example of a Canadian Cross.
-
-While running on a GNU/Linux, you can build a program which will run on
-a Solaris system.  You would use a GNU/Linux cross Solaris compiler to
-build the program.
-
-Of course, you could not run the resulting program on your GNU/Linux
-system.  You would have to copy it over to a Solaris system before you
-would run it.
-
-Of course, you could also simply build the programs on the Solaris
-system in the first place.  However, perhaps the Solaris system is not
-available for some reason; perhaps you actually don't have one, but you
-want to build the tools for somebody else to use.  Or perhaps your
-GNU/Linux system is much faster than your Solaris system.
-
-A Canadian Cross build is most frequently used when building programs to
-run on a non-Unix system, such as DOS or Windows.  It may be simpler to
-configure and build on a Unix system than to support the configuration
-machinery on a non-Unix system.
-
-@node Canadian Cross Concepts
-@section Canadian Cross Concepts
-
-When building a Canadian Cross, there are at least two different systems
-involved: the system on which the tools are being built, and the system
-on which the tools will run.
-
-The system on which the tools are being built is called the @dfn{build}
-system.
-
-The system on which the tools will run is called the host system.
-
-For example, if you are building a Solaris program on a GNU/Linux
-system, as in the previous section, the build system would be GNU/Linux,
-and the host system would be Solaris.
-
-It is, of course, possible to build a cross compiler using a Canadian
-Cross (i.e., build a cross compiler using a cross compiler).  In this
-case, the system for which the resulting cross compiler generates code
-is called the target system.  (For a more complete discussion of host
-and target systems, @pxref{Host and Target}).
-
-An example of building a cross compiler using a Canadian Cross would be
-building a Windows cross MIPS ELF compiler on a GNU/Linux system.  In
-this case the build system would be GNU/Linux, the host system would be
-Windows, and the target system would be MIPS ELF.
-
-The name Canadian Cross comes from the case when the build, host, and
-target systems are all different.  At the time that these issues were
-all being hashed out, Canada had three national political parties.
-
-@node Build Cross Host Tools
-@section Build Cross Host Tools
-
-In order to configure a program for a Canadian Cross build, you must
-first build and install the set of cross tools you will use to build the
-program.
-
-These tools will be build cross host tools.  That is, they will run on
-the build system, and will produce code that runs on the host system.
-
-It is easy to confuse the meaning of build and host here.  Always
-remember that the build system is where you are doing the build, and the
-host system is where the resulting program will run.  Therefore, you
-need a build cross host compiler.
-
-In general, you must have a complete cross environment in order to do
-the build.  This normally means a cross compiler, cross assembler, and
-so forth, as well as libraries and include files for the host system.
-
-@node Build and Host Options
-@section Build and Host Options
-@cindex configuring a canadian cross
-@cindex canadian cross, configuring
-
-When you run @file{configure}, you must use both the @samp{--build} and
-@samp{--host} options.
-
-@cindex @samp{--build} option
-@cindex build option
-@cindex configure build system
-The @samp{--build} option is used to specify the configuration name of
-the build system.  This can normally be the result of running the
-@file{config.guess} shell script, and it is reasonable to use
-@samp{--build=`config.guess`}.
-
-@cindex @samp{--host} option
-@cindex host option
-@cindex configure host
-The @samp{--host} option is used to specify the configuration name of
-the host system.
-
-As we explained earlier, @file{config.guess} is used to set the default
-value for the @samp{--host} option (@pxref{Using the Host Type}).  We
-can now see that since @file{config.guess} returns the type of system on
-which it is run, it really identifies the build system.  Since the host
-system is normally the same as the build system (i.e., people do not
-normally build using a cross compiler), it is reasonable to use the
-result of @file{config.guess} as the default for the host system when
-the @samp{--host} option is not used.
-
-It might seem that if the @samp{--host} option were used without the
-@samp{--build} option that the configure script could run
-@file{config.guess} to determine the build system, and presume a
-Canadian Cross if the result of @file{config.guess} differed from the
-@samp{--host} option.  However, for historical reasons, some configure
-scripts are routinely run using an explicit @samp{--host} option, rather
-than using the default from @file{config.guess}.  As noted earlier, it
-is difficult or impossible to reliably compare configuration names
-(@pxref{Using the Target Type}).  Therefore, by convention, if the
-@samp{--host} option is used, but the @samp{--build} option is not used,
-then the build system defaults to the host system.
-
-@node CCross not in Cygnus Tree
-@section Canadian Cross not in Cygnus Tree.
-
-If you are not using the Cygnus tree, you must explicitly specify the
-cross tools which you want to use to build the program.  This is done by
-setting environment variables before running the @file{configure}
-script.
-
-You must normally set at least the environment variables @samp{CC},
-@samp{AR}, and @samp{RANLIB} to the cross tools which you want to use to
-build.
-
-For some programs, you must set additional cross tools as well, such as
-@samp{AS}, @samp{LD}, or @samp{NM}.
-
-You would set these environment variables to the build cross tools which
-you are going to use.
-
-For example, if you are building a Solaris program on a GNU/Linux
-system, and your GNU/Linux cross Solaris compiler were named
-@samp{solaris-gcc}, then you would set the environment variable
-@samp{CC} to @samp{solaris-gcc}.
-
-@node CCross in Cygnus Tree
-@section Canadian Cross in Cygnus Tree
-@cindex canadian cross in cygnus tree
-
-This section describes configuring and building a Canadian Cross when
-using the Cygnus tree.
-
-@menu
-* Standard Cygnus CCross::	Building a Normal Program.
-* Cross Cygnus CCross::		Building a Cross Program.
-@end menu
-
-@node Standard Cygnus CCross
-@subsection Building a Normal Program
-
-When configuring a Canadian Cross in the Cygnus tree, all the
-appropriate environment variables are automatically set to
-@samp{@var{host}-@var{tool}}, where @var{host} is the value used for the
-@samp{--host} option, and @var{tool} is the name of the tool (e.g.,
-@samp{gcc}, @samp{as}, etc.).  These tools must be on your @samp{PATH}.
-
-Adding a prefix of @var{host} will give the usual name for the build
-cross host tools.  To see this, consider that when these cross tools
-were built, they were configured to run on the build system and to
-produce code for the host system.  That is, they were configured with a
-@samp{--target} option that is the same as the system which we are now
-calling the host.  Recall that the default name for installed cross
-tools uses the target system as a prefix (@pxref{Using the Target
-Type}).  Since that is the system which we are now calling the host,
-@var{host} is the right prefix to use.
-
-For example, if you configure with @samp{--build=i386-linux-gnu} and
-@samp{--host=solaris}, then the Cygnus tree will automatically default
-to using the compiler @samp{solaris-gcc}.  You must have previously
-built and installed this compiler, probably by doing a build with no
-@samp{--host} option and with a @samp{--target} option of
-@samp{solaris}.
-
-@node Cross Cygnus CCross
-@subsection Building a Cross Program
-
-There are additional considerations if you want to build a cross
-compiler, rather than a native compiler, in the Cygnus tree using a
-Canadian Cross.
-
-When you build a cross compiler using the Cygnus tree, then the target
-libraries will normally be built with the newly built target compiler
-(@pxref{Host and Target Libraries}).  However, this will not work when
-building with a Canadian Cross.  This is because the newly built target
-compiler will be a program which runs on the host system, and therefore
-will not be able to run on the build system.
-
-Therefore, when building a cross compiler with the Cygnus tree, you must
-first install a set of build cross target tools.  These tools will be
-used when building the target libraries.
-
-Note that this is not a requirement of a Canadian Cross in general.  For
-example, it would be possible to build just the host cross target tools
-on the build system, to copy the tools to the host system, and to build
-the target libraries on the host system.  The requirement for build
-cross target tools is imposed by the Cygnus tree, which expects to be
-able to build both host programs and target libraries in a single
-@samp{configure}/@samp{make} step.  Because it builds these in a single
-step, it expects to be able to build the target libraries on the build
-system, which means that it must use a build cross target toolchain.
-
-For example, suppose you want to build a Windows cross MIPS ELF compiler
-on a GNU/Linux system.  You must have previously installed both a
-GNU/Linux cross Windows compiler and a GNU/Linux cross MIPS ELF
-compiler.
-
-In order to build the Windows (configuration name @samp{i386-cygwin32})
-cross MIPS ELF (configure name @samp{mips-elf}) compiler, you might
-execute the following commands (long command lines are broken across
-lines with a trailing backslash as a continuation character).
-
-@example
-mkdir linux-x-cygwin32
-cd linux-x-cygwin32
-@var{srcdir}/configure --target i386-cygwin32 --prefix=@var{installdir} \
-  --exec-prefix=@var{installdir}/H-i386-linux
-make
-make install
-cd ..
-mkdir linux-x-mips-elf
-cd linux-x-mips-elf
-@var{srcdir}/configure --target mips-elf --prefix=@var{installdir} \
-  --exec-prefix=@var{installdir}/H-i386-linux
-make
-make install
-cd ..
-mkdir cygwin32-x-mips-elf
-cd cygwin32-x-mips-elf
-@var{srcdir}/configure --build=i386-linux-gnu --host=i386-cygwin32 \
-  --target=mips-elf --prefix=@var{wininstalldir} \
-  --exec-prefix=@var{wininstalldir}/H-i386-cygwin32
-make
-make install
-@end example
-
-You would then copy the contents of @var{wininstalldir} over to the
-Windows machine, and run the resulting programs.
-
-@node Supporting Canadian Cross
-@section Supporting Canadian Cross
-
-If you want to make it possible to build a program you are developing
-using a Canadian Cross, you must take some care when writing your
-configure and make rules.  Simple cases will normally work correctly.
-However, it is not hard to write configure and make tests which will
-fail in a Canadian Cross.
-
-@menu
-* CCross in Configure::		Supporting Canadian Cross in Configure Scripts.
-* CCross in Make::		Supporting Canadian Cross in Makefiles.
-@end menu
-
-@node CCross in Configure
-@subsection Supporting Canadian Cross in Configure Scripts
-@cindex canadian cross in configure
-
-In a @file{configure.in} file, after calling @samp{AC_PROG_CC}, you can
-find out whether this is a Canadian Cross configure by examining the
-shell variable @samp{cross_compiling}.  In a Canadian Cross, which means
-that the compiler is a cross compiler, @samp{cross_compiling} will be
-@samp{yes}.  In a normal configuration, @samp{cross_compiling} will be
-@samp{no}.
-
-You ordinarily do not need to know the type of the build system in a
-configure script.  However, if you do need that information, you can get
-it by using the macro @samp{AC_CANONICAL_SYSTEM}, the same macro that is
-used to determine the target system.  This macro will set the variables
-@samp{build}, @samp{build_alias}, @samp{build_cpu}, @samp{build_vendor},
-and @samp{build_os}, which correspond to the similar @samp{target} and
-@samp{host} variables, except that they describe the build system.
-
-When writing tests in @file{configure.in}, you must remember that you
-want to test the host environment, not the build environment.
-
-Macros like @samp{AC_CHECK_FUNCS} which use the compiler will test the
-host environment.  That is because the tests will be done by running the
-compiler, which is actually a build cross host compiler.  If the
-compiler can find the function, that means that the function is present
-in the host environment.
-
-Tests like @samp{test -f /dev/ptyp0}, on the other hand, will test the
-build environment.  Remember that the configure script is running on the
-build system, not the host system.  If your configure scripts examines
-files, those files will be on the build system.  Whatever you determine
-based on those files may or may not be the case on the host system.
-
-Most autoconf macros will work correctly for a Canadian Cross.  The main
-exception is @samp{AC_TRY_RUN}.  This macro tries to compile and run a
-test program.  This will fail in a Canadian Cross, because the program
-will be compiled for the host system, which means that it will not run
-on the build system.
-
-The @samp{AC_TRY_RUN} macro provides an optional argument to tell the
-configure script what to do in a Canadian Cross.  If that argument is
-not present, you will get a warning when you run @samp{autoconf}:
-@smallexample
-warning: AC_TRY_RUN called without default to allow cross compiling
-@end smallexample
-@noindent
-This tells you that the resulting @file{configure} script will not work
-with a Canadian Cross.
-
-In some cases while it may better to perform a test at configure time,
-it is also possible to perform the test at run time.  In such a case you
-can use the cross compiling argument to @samp{AC_TRY_RUN} to tell your
-program that the test could not be performed at configure time.
-
-There are a few other autoconf macros which will not work correctly with
-a Canadian Cross: a partial list is @samp{AC_FUNC_GETPGRP},
-@samp{AC_FUNC_SETPGRP}, @samp{AC_FUNC_SETVBUF_REVERSED}, and
-@samp{AC_SYS_RESTARTABLE_SYSCALLS}.  The @samp{AC_CHECK_SIZEOF} macro is
-generally not very useful with a Canadian Cross; it permits an optional
-argument indicating the default size, but there is no way to know what
-the correct default should be.
-
-@node CCross in Make
-@subsection Supporting Canadian Cross in Makefiles.
-@cindex canadian cross in makefile
-
-The main Canadian Cross issue in a @file{Makefile} arises when you want
-to use a subsidiary program to generate code or data which you will then
-include in your real program.
-
-If you compile this subsidiary program using @samp{$(CC)} in the usual
-way, you will not be able to run it.  This is because @samp{$(CC)} will
-build a program for the host system, but the program is being built on
-the build system.
-
-You must instead use a compiler for the build system, rather than the
-host system.  In the Cygnus tree, this make variable
-@samp{$(CC_FOR_BUILD)} will hold a compiler for the build system.
-
-Note that you should not include @file{config.h} in a file you are
-compiling with @samp{$(CC_FOR_BUILD)}.  The @file{configure} script will
-build @file{config.h} with information for the host system.  However,
-you are compiling the file using a compiler for the build system (a
-native compiler).  Subsidiary programs are normally simple filters which
-do no user interaction, and it is normally possible to write them in a
-highly portable fashion so that the absence of @file{config.h} is not
-crucial.
-
-@cindex @samp{HOST_CC}
-The gcc @file{Makefile.in} shows a complex situation in which certain
-files, such as @file{rtl.c}, must be compiled into both subsidiary
-programs run on the build system and into the final program.  This
-approach may be of interest for advanced build system hackers.  Note
-that the build system compiler is rather confusingly called
-@samp{HOST_CC}.
-
-@node Cygnus Configure
-@chapter Cygnus Configure
-@cindex cygnus configure
-
-The Cygnus configure script predates autoconf.  All of its interesting
-features have been incorporated into autoconf.  No new programs should
-be written to use the Cygnus configure script.
-
-However, the Cygnus configure script is still used in a few places: at
-the top of the Cygnus tree and in a few target libraries in the Cygnus
-tree.  Until those uses have been replaced with autoconf, some brief
-notes are appropriate here.  This is not complete documentation, but it
-should be possible to use this as a guide while examining the scripts
-themselves.
-
-@menu
-* Cygnus Configure Basics::		Cygnus Configure Basics.
-* Cygnus Configure in C++ Libraries::	Cygnus Configure in C++ Libraries.
-@end menu
-
-@node Cygnus Configure Basics
-@section Cygnus Configure Basics
-
-Cygnus configure does not use any generated files; there is no program
-corresponding to @samp{autoconf}.  Instead, there is a single shell
-script named @samp{configure} which may be found at the top of the
-Cygnus tree.  This shell script was written by hand; it was not
-generated by autoconf, and it is incorrect, and indeed harmful, to run
-@samp{autoconf} in the top level of a Cygnus tree.
-
-Cygnus configure works in a particular directory by examining the file
-@file{configure.in} in that directory.  That file is broken into four
-separate shell scripts.
-
-The first is the contents of @file{configure.in} up to a line that
-starts with @samp{# per-host:}.  This is the common part.
-
-The second is the rest of @file{configure.in} up to a line that starts
-with @samp{# per-target:}.  This is the per host part.
-
-The third is the rest of @file{configure.in} up to a line that starts
-with @samp{# post-target:}.  This is the per target part.
-
-The fourth is the remainder of @file{configure.in}.  This is the post
-target part.
-
-If any of these comment lines are missing, the corresponding shell
-script is empty.
-
-Cygnus configure will first execute the common part.  This must set the
-shell variable @samp{srctrigger} to the name of a source file, to
-confirm that Cygnus configure is looking at the right directory.  This
-may set the shell variables @samp{package_makefile_frag} and
-@samp{package_makefile_rules_frag}.
-
-Cygnus configure will next set the @samp{build} and @samp{host} shell
-variables, and execute the per host part.  This may set the shell
-variable @samp{host_makefile_frag}.
-
-Cygnus configure will next set the @samp{target} variable, and execute
-the per target part.  This may set the shell variable
-@samp{target_makefile_frag}.
-
-Any of these scripts may set the @samp{subdirs} shell variable.  This
-variable is a list of subdirectories where a @file{Makefile.in} file may
-be found.  Cygnus configure will automatically look for a
-@file{Makefile.in} file in the current directory.  The @samp{subdirs}
-shell variable is not normally used, and I believe that the only
-directory which uses it at present is @file{newlib}.
-
-For each @file{Makefile.in}, Cygnus configure will automatically create
-a @file{Makefile} by adding definitions for @samp{make} variables such
-as @samp{host} and @samp{target}, and automatically editing the values
-of @samp{make} variables such as @samp{prefix} if they are present.
-
-Also, if any of the @samp{makefile_frag} shell variables are set, Cygnus
-configure will interpret them as file names relative to either the
-working directory or the source directory, and will read the contents of
-the file into the generated @file{Makefile}.  The file contents will be
-read in after the first line in @file{Makefile.in} which starts with
-@samp{####}.
-
-These @file{Makefile} fragments are used to customize behaviour for a
-particular host or target.  They serve to select particular files to
-compile, and to define particular preprocessor macros by providing
-values for @samp{make} variables which are then used during compilation.
-Cygnus configure, unlike autoconf, normally does not do feature tests,
-and normally requires support to be added manually for each new host.
-
-The @file{Makefile} fragment support is similar to the autoconf
-@samp{AC_SUBST_FILE} macro.
-
-After creating each @file{Makefile}, the post target script will be run
-(i.e., it may be run several times).  This script may further customize
-the @file{Makefile}.  When it is run, the shell variable @samp{Makefile}
-will hold the name of the @file{Makefile}, including the appropriate
-directory component.
-
-Like an autoconf generated @file{configure} script, Cygnus configure
-will create a file named @file{config.status} which, when run, will
-automatically recreate the configuration.  The @file{config.status} file
-will simply execute the Cygnus configure script again with the
-appropriate arguments.
-
-Any of the parts of @file{configure.in} may set the shell variables
-@samp{files} and @samp{links}.  Cygnus configure will set up symlinks
-from the names in @samp{links} to the files named in @samp{files}.  This
-is similar to the autoconf @samp{AC_LINK_FILES} macro.
-
-Finally, any of the parts of @file{configure.in} may set the shell
-variable @samp{configdirs} to a set of subdirectories.  If it is set,
-Cygnus configure will recursively run the configure process in each
-subdirectory.  If the subdirectory uses Cygnus configure, it will
-contain a @file{configure.in} file but no @file{configure} file, in
-which case Cygnus configure will invoke itself recursively.  If the
-subdirectory has a @file{configure} file, Cygnus configure assumes that
-it is an autoconf generated @file{configure} script, and simply invokes
-it directly.
-
-@node Cygnus Configure in C++ Libraries
-@section Cygnus Configure in C++ Libraries
-@cindex @file{libstdc++} configure
-@cindex @file{libio} configure
-@cindex @file{libg++} configure
-
-The C++ library configure system, written by Per Bothner, deserves
-special mention.  It uses Cygnus configure, but it does feature testing
-like that done by autoconf generated @file{configure} scripts.  This
-approach is used in the libraries @file{libio}, @file{libstdc++}, and
-@file{libg++}.
-
-Most of the @file{Makefile} information is written out by the shell
-script @file{libio/config.shared}.  Each @file{configure.in} file sets
-certain shell variables, and then invokes @file{config.shared} to create
-two package @file{Makefile} fragments.  These fragments are then
-incorporated into the resulting @file{Makefile} by the Cygnus configure
-script.
-
-The file @file{_G_config.h} is created in the @file{libio} object
-directory by running the shell script @file{libio/gen-params}.  This
-shell script uses feature tests to define macros and typedefs in
-@file{_G_config.h}.
-
-@node Multilibs
-@chapter Multilibs
-@cindex multilibs
-
-For some targets gcc may have different processor requirements depending
-upon command line options.  An obvious example is the
-@samp{-msoft-float} option supported on several processors.  This option
-means that the floating point registers are not available, which means
-that floating point operations must be done by calling an emulation
-subroutine rather than by using machine instructions.
-
-For such options, gcc is often configured to compile target libraries
-twice: once with @samp{-msoft-float} and once without.  When gcc
-compiles target libraries more than once, the resulting libraries are
-called @dfn{multilibs}.
-
-Multilibs are not really part of the GNU configure and build system, but
-we discuss them here since they require support in the @file{configure}
-scripts and @file{Makefile}s used for target libraries.
-
-@menu
-* Multilibs in gcc::		        Multilibs in gcc.
-* Multilibs in Target Libraries::	Multilibs in Target Libraries.
-@end menu
-
-@node Multilibs in gcc
-@section Multilibs in gcc
-
-In gcc, multilibs are defined by setting the variable
-@samp{MULTILIB_OPTIONS} in the target @file{Makefile} fragment.  Several
-other @samp{MULTILIB} variables may also be defined there.  @xref{Target
-Fragment, , The Target Makefile Fragment, gcc, Using and Porting GNU
-CC}.
-
-If you have built gcc, you can see what multilibs it uses by running it
-with the @samp{-print-multi-lib} option.  The output @samp{.;} means
-that no multilibs are used.  In general, the output is a sequence of
-lines, one per multilib.  The first part of each line, up to the
-@samp{;}, is the name of the multilib directory.  The second part is a
-list of compiler options separated by @samp{@@} characters.
-
-Multilibs are built in a tree of directories.  The top of the tree,
-represented by @samp{.} in the list of multilib directories, is the
-default library to use when no special compiler options are used.  The
-subdirectories of the tree hold versions of the library to use when
-particular compiler options are used.
-
-@node Multilibs in Target Libraries
-@section Multilibs in Target Libraries
-
-The target libraries in the Cygnus tree are automatically built with
-multilibs.  That means that each library is built multiple times.
-
-This default is set in the top level @file{configure.in} file, by adding
-@samp{--enable-multilib} to the list of arguments passed to configure
-when it is run for the target libraries (@pxref{Host and Target
-Libraries}).
-
-Each target library uses the shell script @file{config-ml.in}, written
-by Doug Evans, to prepare to build target libraries.  This shell script
-is invoked after the @file{Makefile} has been created by the
-@file{configure} script.  If multilibs are not enabled, it does nothing,
-otherwise it modifies the @file{Makefile} to support multilibs.
-
-The @file{config-ml.in} script makes one copy of the @file{Makefile} for
-each multilib in the appropriate subdirectory.  When configuring in the
-source directory (which is not recommended), it will build a symlink
-tree of the sources in each subdirectory.
-
-The @file{config-ml.in} script sets several variables in the various
-@file{Makefile}s.  The @file{Makefile.in} must have definitions for
-these variables already; @file{config-ml.in} simply changes the existing
-values.  The @file{Makefile} should use default values for these
-variables which will do the right thing in the subdirectories.
-
-@table @samp
-@item MULTISRCTOP
-@file{config-ml.in} will set this to a sequence of @samp{../} strings,
-where the number of strings is the number of multilib levels in the
-source tree.  The default value should be the empty string.
-@item MULTIBUILDTOP
-@file{config-ml.in} will set this to a sequence of @samp{../} strings,
-where the number of strings is number of multilib levels in the object
-directory.  The default value should be the empty string.  This will
-differ from @samp{MULTISRCTOP} when configuring in the source tree
-(which is not recommended).
-@item MULTIDIRS
-In the top level @file{Makefile} only, @file{config-ml.in} will set this
-to the list of multilib subdirectories.  The default value should be the
-empty string.
-@item MULTISUBDIR
-@file{config-ml.in} will set this to the installed subdirectory name to
-use for this subdirectory, with a leading @samp{/}.  The default value
-shold be the empty string.
-@item MULTIDO
-@itemx MULTICLEAN
-In the top level @file{Makefile} only, @file{config-ml.in} will set
-these variables to commands to use when doing a recursive make.  These
-variables should both default to the string @samp{true}, so that by
-default nothing happens.
-@end table
-
-All references to the parent of the source directory should use the
-variable @samp{MULTISRCTOP}.  Instead of writing @samp{$(srcdir)/..},
-you must write @samp{$(srcdir)/$(MULTISRCTOP)..}.
-
-Similarly, references to the parent of the object directory should use
-the variable @samp{MULTIBUILDTOP}.
-
-In the installation target, the libraries should be installed in the
-subdirectory @samp{MULTISUBDIR}.  Instead of installing
-@samp{$(libdir)/libfoo.a}, install
-@samp{$(libdir)$(MULTISUBDIR)/libfoo.a}.
-
-The @file{config-ml.in} script also modifies the top level
-@file{Makefile} to add @samp{multi-do} and @samp{multi-clean} targets
-which are used when building multilibs.
-
-The default target of the @file{Makefile} should include the following
-command:
-@smallexample
-@@$(MULTIDO) $(FLAGS_TO_PASS) DO=all multi-do
-@end smallexample
-@noindent
-This assumes that @samp{$(FLAGS_TO_PASS)} is defined as a set of
-variables to pass to a recursive invocation of @samp{make}.  This will
-build all the multilibs.  Note that the default value of @samp{MULTIDO}
-is @samp{true}, so by default this command will do nothing.  It will
-only do something in the top level @file{Makefile} if multilibs were
-enabled.
-
-The @samp{install} target of the @file{Makefile} should include the
-following command:
-@smallexample
-@@$(MULTIDO) $(FLAGS_TO_PASS) DO=install multi-do
-@end smallexample
-
-In general, any operation, other than clean, which should be performed
-on all the multilibs should use a @samp{$(MULTIDO)} line, setting the
-variable @samp{DO} to the target of each recursive call to @samp{make}.
-
-The @samp{clean} targets (@samp{clean}, @samp{mostlyclean}, etc.) should
-use @samp{$(MULTICLEAN)}.  For example, the @samp{clean} target should
-do this:
-@smallexample
-@@$(MULTICLEAN) DO=clean multi-clean
-@end smallexample
-
-@node FAQ
-@chapter Frequently Asked Questions
-
-@table @asis
-@item Which do I run first, @samp{autoconf} or @samp{automake}?
-Except when you first add autoconf or automake support to a package, you
-shouldn't run either by hand.  Instead, configure with the
-@samp{--enable-maintainer-mode} option, and let @samp{make} take care of
-it.
-
-@cindex undefined macros
-@item @samp{autoconf} says something about undefined macros.
-This means that you have macros in your @file{configure.in} which are
-not defined by @samp{autoconf}.  You may be using an old version of
-@samp{autoconf}; try building and installing a newer one.  Make sure the
-newly installled @samp{autoconf} is first on your @samp{PATH}.  Also,
-see the next question.
-
-@cindex @samp{CY_GNU_GETTEXT} in @file{configure}
-@cindex @samp{AM_PROG_LIBTOOL} in @file{configure}
-@item My @file{configure} script has stuff like @samp{CY_GNU_GETTEXT} in it.
-This means that you have macros in your @file{configure.in} which should
-be defined in your @file{aclocal.m4} file, but aren't.  This usually
-means that @samp{aclocal} was not able to appropriate definitions of the
-macros.  Make sure that you have installed all the packages you need.
-In particular, make sure that you have installed libtool (this is where
-@samp{AM_PROG_LIBTOOL} is defined) and gettext (this is where
-@samp{CY_GNU_GETTEXT} is defined, at least in the Cygnus version of
-gettext).
-
-@cindex @file{Makefile}, garbage characters
-@item My @file{Makefile} has @samp{@@} characters in it.
-This may mean that you tried to use an autoconf substitution in your
-@file{Makefile.in} without adding the appropriate @samp{AC_SUBST} call
-to your @file{configure} script.  Or it may just mean that you need to
-rebuild @file{Makefile} in your build directory.  To rebuild
-@file{Makefile} from @file{Makefile.in}, run the shell script
-@file{config.status} with no arguments.  If you need to force
-@file{configure} to run again, first run @samp{config.status --recheck}.
-These runs are normally done automatically by @file{Makefile} targets,
-but if your @file{Makefile} has gotten messed up you'll need to help
-them along.
-
-@cindex @samp{config.status --recheck}
-@item Why do I have to run both @samp{config.status --recheck} and @samp{config.status}?
-Normally, you don't; they will be run automatically by @file{Makefile}
-targets.  If you do need to run them, use @samp{config.status --recheck}
-to run the @file{configure} script again with the same arguments as the
-first time you ran it.  Use @samp{config.status} (with no arguments) to
-regenerate all files (@file{Makefile}, @file{config.h}, etc.) based on
-the results of the configure script.  The two cases are separate because
-it isn't always necessary to regenerate all the files after running
-@samp{config.status --recheck}.  The @file{Makefile} targets generated
-by automake will use the environment variables @samp{CONFIG_FILES} and
-@samp{CONFIG_HEADERS} to only regenerate files as they are needed.
-
-@item What is the Cygnus tree?
-The Cygnus tree is used for various packages including gdb, the GNU
-binutils, and egcs.  It is also, of course, used for Cygnus releases.
-It is the build system which was developed at Cygnus, using the Cygnus
-configure script.  It permits building many different packages with a
-single configure and make.  The configure scripts in the tree are being
-converted to autoconf, but the general build structure remains intact.
-
-@item Why do I have to keep rebuilding and reinstalling the tools?
-I know, it's a pain.  Unfortunately, there are bugs in the tools
-themselves which need to be fixed, and each time that happens everybody
-who uses the tools need to reinstall new versions of them.  I don't know
-if there is going to be a clever fix until the tools stabilize.
-
-@item Why not just have a Cygnus tree @samp{make} target to update the tools?
-The tools unfortunately need to be installed before they can be used.
-That means that they must be built using an appropriate prefix, and it
-seems unwise to assume that every configuration uses an appropriate
-prefix.  It might be possible to make them work in place, or it might be
-possible to install them in some subdirectory; so far these approaches
-have not been implemented.
-@end table
-
-@node Index
-@unnumbered Index
-
-@printindex cp
-
-@contents
-@bye
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/fdl.texi ./etc/fdl.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/fdl.texi	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/fdl.texi	1970-01-01 00:00:00.000000000 +0000
@@ -1,505 +0,0 @@
-@c The GNU Free Documentation License.
-@center Version 1.3, 3 November 2008
-
-@c This file is intended to be included within another document,
-@c hence no sectioning command or @node.
-
-@display
-Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-@uref{http://fsf.org/}
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-@end display
-
-@enumerate 0
-@item
-PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document @dfn{free} in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of ``copyleft'', which means that derivative
-works of the document must themselves be free in the same sense.  It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does.  But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book.  We recommend this License
-principally for works whose purpose is instruction or reference.
-
-@item
-APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License.  Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein.  The ``Document'', below,
-refers to any such manual or work.  Any member of the public is a
-licensee, and is addressed as ``you''.  You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A ``Modified Version'' of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A ``Secondary Section'' is a named appendix or a front-matter section
-of the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall
-subject (or to related matters) and contains nothing that could fall
-directly within that overall subject.  (Thus, if the Document is in
-part a textbook of mathematics, a Secondary Section may not explain
-any mathematics.)  The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The ``Invariant Sections'' are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.  If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant.  The Document may contain zero
-Invariant Sections.  If the Document does not identify any Invariant
-Sections then there are none.
-
-The ``Cover Texts'' are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.  A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A ``Transparent'' copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters.  A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text.  A copy that is not ``Transparent'' is called ``Opaque''.
-
-Examples of suitable formats for Transparent copies include plain
-@sc{ascii} without markup, Texinfo input format, La@TeX{} input
-format, @acronym{SGML} or @acronym{XML} using a publicly available
-@acronym{DTD}, and standard-conforming simple @acronym{HTML},
-PostScript or @acronym{PDF} designed for human modification.  Examples
-of transparent image formats include @acronym{PNG}, @acronym{XCF} and
-@acronym{JPG}.  Opaque formats include proprietary formats that can be
-read and edited only by proprietary word processors, @acronym{SGML} or
-@acronym{XML} for which the @acronym{DTD} and/or processing tools are
-not generally available, and the machine-generated @acronym{HTML},
-PostScript or @acronym{PDF} produced by some word processors for
-output purposes only.
-
-The ``Title Page'' means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page.  For works in
-formats which do not have any title page as such, ``Title Page'' means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-The ``publisher'' means any person or entity that distributes copies
-of the Document to the public.
-
-A section ``Entitled XYZ'' means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language.  (Here XYZ stands for a
-specific section name mentioned below, such as ``Acknowledgements'',
-``Dedications'', ``Endorsements'', or ``History''.)  To ``Preserve the Title''
-of such a section when you modify the Document means that it remains a
-section ``Entitled XYZ'' according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document.  These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-@item
-VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License.  You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute.  However, you may accept
-compensation in exchange for copies.  If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-@item
-COPYING IN QUANTITY
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover.  Both covers must also clearly and legibly identify
-you as the publisher of these copies.  The front cover must present
-the full title with all words of the title equally prominent and
-visible.  You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-@item
-MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it.  In addition, you must do these things in the Modified Version:
-
-@enumerate A
-@item
-Use in the Title Page (and on the covers, if any) a title distinct
-from that of the Document, and from those of previous versions
-(which should, if there were any, be listed in the History section
-of the Document).  You may use the same title as a previous version
-if the original publisher of that version gives permission.
-
-@item
-List on the Title Page, as authors, one or more persons or entities
-responsible for authorship of the modifications in the Modified
-Version, together with at least five of the principal authors of the
-Document (all of its principal authors, if it has fewer than five),
-unless they release you from this requirement.
-
-@item
-State on the Title page the name of the publisher of the
-Modified Version, as the publisher.
-
-@item
-Preserve all the copyright notices of the Document.
-
-@item
-Add an appropriate copyright notice for your modifications
-adjacent to the other copyright notices.
-
-@item
-Include, immediately after the copyright notices, a license notice
-giving the public permission to use the Modified Version under the
-terms of this License, in the form shown in the Addendum below.
-
-@item
-Preserve in that license notice the full lists of Invariant Sections
-and required Cover Texts given in the Document's license notice.
-
-@item
-Include an unaltered copy of this License.
-
-@item
-Preserve the section Entitled ``History'', Preserve its Title, and add
-to it an item stating at least the title, year, new authors, and
-publisher of the Modified Version as given on the Title Page.  If
-there is no section Entitled ``History'' in the Document, create one
-stating the title, year, authors, and publisher of the Document as
-given on its Title Page, then add an item describing the Modified
-Version as stated in the previous sentence.
-
-@item
-Preserve the network location, if any, given in the Document for
-public access to a Transparent copy of the Document, and likewise
-the network locations given in the Document for previous versions
-it was based on.  These may be placed in the ``History'' section.
-You may omit a network location for a work that was published at
-least four years before the Document itself, or if the original
-publisher of the version it refers to gives permission.
-
-@item
-For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
-the Title of the section, and preserve in the section all the
-substance and tone of each of the contributor acknowledgements and/or
-dedications given therein.
-
-@item
-Preserve all the Invariant Sections of the Document,
-unaltered in their text and in their titles.  Section numbers
-or the equivalent are not considered part of the section titles.
-
-@item
-Delete any section Entitled ``Endorsements''.  Such a section
-may not be included in the Modified Version.
-
-@item
-Do not retitle any existing section to be Entitled ``Endorsements'' or
-to conflict in title with any Invariant Section.
-
-@item
-Preserve any Warranty Disclaimers.
-@end enumerate
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant.  To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled ``Endorsements'', provided it contains
-nothing but endorsements of your Modified Version by various
-parties---for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version.  Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity.  If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-@item
-COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy.  If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled ``History''
-in the various original documents, forming one section Entitled
-``History''; likewise combine any sections Entitled ``Acknowledgements'',
-and any sections Entitled ``Dedications''.  You must delete all
-sections Entitled ``Endorsements.''
-
-@item
-COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-@item
-AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an ``aggregate'' if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-@item
-TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections.  You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers.  In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled ``Acknowledgements'',
-``Dedications'', or ``History'', the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-@item
-TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense, or distribute it is void, and
-will automatically terminate your rights under this License.
-
-However, if you cease all violation of this License, then your license
-from a particular copyright holder is reinstated (a) provisionally,
-unless and until the copyright holder explicitly and finally
-terminates your license, and (b) permanently, if the copyright holder
-fails to notify you of the violation by some reasonable means prior to
-60 days after the cessation.
-
-Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, receipt of a copy of some or all of the same material does
-not give you any rights to use it.
-
-@item
-FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time.  Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.  See
-@uref{http://www.gnu.org/copyleft/}.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License ``or any later version'' applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation.  If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.  If the Document
-specifies that a proxy can decide which future versions of this
-License can be used, that proxy's public statement of acceptance of a
-version permanently authorizes you to choose that version for the
-Document.
-
-@item
-RELICENSING
-
-``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
-World Wide Web server that publishes copyrightable works and also
-provides prominent facilities for anybody to edit those works.  A
-public wiki that anybody can edit is an example of such a server.  A
-``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
-site means any set of copyrightable works thus published on the MMC
-site.
-
-``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
-license published by Creative Commons Corporation, a not-for-profit
-corporation with a principal place of business in San Francisco,
-California, as well as future copyleft versions of that license
-published by that same organization.
-
-``Incorporate'' means to publish or republish a Document, in whole or
-in part, as part of another Document.
-
-An MMC is ``eligible for relicensing'' if it is licensed under this
-License, and if all works that were first published under this License
-somewhere other than this MMC, and subsequently incorporated in whole
-or in part into the MMC, (1) had no cover texts or invariant sections,
-and (2) were thus incorporated prior to November 1, 2008.
-
-The operator of an MMC Site may republish an MMC contained in the site
-under CC-BY-SA on the same site at any time before August 1, 2009,
-provided the MMC is eligible for relicensing.
-
-@end enumerate
-
-@page
-@heading ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-@smallexample
-@group
-  Copyright (C)  @var{year}  @var{your name}.
-  Permission is granted to copy, distribute and/or modify this document
-  under the terms of the GNU Free Documentation License, Version 1.3
-  or any later version published by the Free Software Foundation;
-  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-  Texts.  A copy of the license is included in the section entitled ``GNU
-  Free Documentation License''.
-@end group
-@end smallexample
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the ``with@dots{}Texts.'' line with this:
-
-@smallexample
-@group
-    with the Invariant Sections being @var{list their titles}, with
-    the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
-    being @var{list}.
-@end group
-@end smallexample
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-
-@c Local Variables:
-@c ispell-local-pdict: "ispell-dict"
-@c End:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/gnu-oids.texi ./etc/gnu-oids.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/gnu-oids.texi	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/gnu-oids.texi	1970-01-01 00:00:00.000000000 +0000
@@ -1,52 +0,0 @@
-@c This table of OID's is included in the GNU Coding Standards.
-@c
-@c Copyright 2008, 2009, 2010 Free Software Foundation, Inc.
-@c
-@c Copying and distribution of this file, with or without modification,
-@c are permitted in any medium without royalty provided the copyright
-@c notice and this notice are preserved.
-@c
-@c When adding new OIDs, please add them also to
-@c http://www.alvestrand.no/objectid/  (except it gets an internal
-@c server error, so never mind)
-@c (Our page is http://www.alvestrand.no/objectid/1.3.6.1.4.1.11591.html.)
-
-1.3.6.1.4.1.11591 GNU
-
-1.3.6.1.4.1.11591.1 GNU Radius
-
-1.3.6.1.4.1.11591.2 GnuPG 
-  1.3.6.1.4.1.11591.2.1   notation
-  1.3.6.1.4.1.11591.2.1.1 pkaAddress
-
-1.3.6.1.4.1.11591.3 GNU Radar
-
-1.3.6.1.4.1.11591.4 GNU GSS
-
-@c Added 2008-10-24 on request from Sergey Poznyakoff <gray@gnu.org.ua>
-1.3.6.1.4.1.11591.5 GNU Mailutils
-
-@c Added 2009-03-03 on request from Simon Josefsson <simon@josefsson.org>
-1.3.6.1.4.1.11591.6 GNU Shishi
-
-@c Added 2010-05-17 on request from Eric Blossom <eb@comsec.com>
-1.3.6.1.4.1.11591.7 GNU Radio
-
-1.3.6.1.4.1.11591.12 digestAlgorithm
-  1.3.6.1.4.1.11591.12.2 TIGER/192
-  1.3.6.1.4.1.11591.13 encryptionAlgorithm
-    1.3.6.1.4.1.11591.13.2 Serpent
-      1.3.6.1.4.1.11591.13.2.1 Serpent-128-ECB
-      1.3.6.1.4.1.11591.13.2.2 Serpent-128-CBC
-      1.3.6.1.4.1.11591.13.2.3 Serpent-128-OFB
-      1.3.6.1.4.1.11591.13.2.4 Serpent-128-CFB
-      1.3.6.1.4.1.11591.13.2.21 Serpent-192-ECB
-      1.3.6.1.4.1.11591.13.2.22 Serpent-192-CBC
-      1.3.6.1.4.1.11591.13.2.23 Serpent-192-OFB
-      1.3.6.1.4.1.11591.13.2.24 Serpent-192-CFB
-      1.3.6.1.4.1.11591.13.2.41 Serpent-256-ECB
-      1.3.6.1.4.1.11591.13.2.42 Serpent-256-CBC
-      1.3.6.1.4.1.11591.13.2.43 Serpent-256-OFB
-      1.3.6.1.4.1.11591.13.2.44 Serpent-256-CFB
-  1.3.6.1.4.1.11591.14 CRC algorithms
-    1.3.6.1.4.1.11591.14.1 CRC 32
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/Makefile.in ./etc/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/Makefile.in	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/Makefile.in	2015-01-20 02:05:36.000000000 +0000
@@ -37,187 +37,12 @@ INSTALL 	= @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA    = @INSTALL_DATA@
 
-MAKEINFO = `if [ -f ../texinfo/makeinfo/makeinfo ]; \
-	then echo ../texinfo/makeinfo/makeinfo; \
-	else echo makeinfo; fi`
-TEXI2DVI = `if [ -f ../texinfo/util/texi2dvi ]; \
-	then echo ../texinfo/util/texi2dvi; \
-	else echo texi2dvi; fi`
-TEXI2PDF = `if [ -f ../texinfo/util/texi2dvi ]; \
-	then echo "../texinfo/util/texi2dvi --pdf"; \
-	else echo "texi2dvi --pdf"; fi`
-TEXI2HTML = `if [ -f ../texinfo/makeinfo/makeinfo ]; \
-	then echo "../texinfo/makeinfo/makeinfo --html"; \
-	else echo "makeinfo --html"; fi`
-
-DVIPS = dvips
-
-# Where to find texinfo.tex to format documentation with TeX.
-TEXIDIR = $(srcdir)/../texinfo
-
 #### Host, target, and site specific Makefile fragments come in here.
 ###
 
-INFOFILES = standards.info configure.info
-DVIFILES = standards.dvi configure.dvi
-PDFFILES = standards.pdf configure.pdf
-HTMLFILES = standards.html configure.html
-
-all: info
-install install-strip: install-info
-
-uninstall:
-
-info:
-	for f in $(INFOFILES); do \
-	  if test -f $(srcdir)/`echo $$f | sed -e 's/.info$$/.texi/'`; then \
-	    if $(MAKE) "MAKEINFO=$(MAKEINFO)" $$f; then \
-	      true; \
-	    else \
-	      exit 1; \
-	    fi; \
-	  fi; \
-	done
-
-install-info: info
-	$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(infodir)
-	if test ! -f standards.info; then cd $(srcdir); fi; \
-	if test -f standards.info; then \
-	  for i in standards.info*; do \
-	    $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/$$i; \
-	  done; \
-	fi
-	if test ! -f configure.info; then cd $(srcdir); fi; \
-	if test -f configure.info; then \
-	  for i in configure.info*; do \
-	    $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/$$i; \
-	  done; \
-	fi
-
-html:
-	for f in $(HTMLFILES); do \
-	  if test -f $(srcdir)/`echo $$f | sed -e 's/.html$$/.texi/'`; then \
-	    if $(MAKE) "TEXI2HTML=$(TEXI2HTML)" $$f; then \
-	      true; \
-	    else \
-	      exit 1; \
-	    fi; \
-	  fi; \
-	done
-
-install-html: html
-	$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(htmldir)
-	if test ! -f standards.html; then cd $(srcdir); fi; \
-	if test -f standards.html; then \
-	  for i in standards.html*; do \
-	    $(INSTALL_DATA) $$i $(DESTDIR)$(htmldir)/$$i; \
-	  done; \
-	fi
-	if test ! -f configure.html; then cd $(srcdir); fi; \
-	if test -f configure.html; then \
-	  for i in configure.html*; do \
-	    $(INSTALL_DATA) $$i $(DESTDIR)$(htmldir)/$$i; \
-	  done; \
-	fi
-
-dvi:
-	for f in $(DVIFILES); do \
-	  if test -f $(srcdir)/`echo $$f | sed -e 's/.dvi$$/.texi/'`; then \
-	    if $(MAKE) "TEXI2DVI=$(TEXI2DVI)" $$f; then \
-	      true; \
-	    else \
-	      exit 1; \
-	    fi; \
-	  fi; \
-	done
-
-pdf:
-	for f in $(PDFFILES); do \
-	  if test -f $(srcdir)/`echo $$f | sed -e 's/.pdf$$/.texi/'`; then \
-	    if $(MAKE) "TEXI2PDF=$(TEXI2PDF)" $$f; then \
-	      true; \
-	    else \
-	      exit 1; \
-	    fi; \
-	  fi; \
-	done
-
-install-pdf: pdf
-	$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(pdfdir)/etc
-	if test ! -f standards.pdf; then cd $(srcdir); fi; \
-	if test -f standards.pdf; then \
-	  for i in standards.pdf*; do \
-	    $(INSTALL_DATA) $$i $(DESTDIR)$(pdfdir)/etc/$$i; \
-	  done; \
-	fi
-	if test ! -f configure.pdf; then cd $(srcdir); fi; \
-	if test -f configure.pdf; then \
-	  for i in configure.pdf*; do \
-	    $(INSTALL_DATA) $$i $(DESTDIR)$(pdfdir)/etc/$$i; \
-	  done; \
-	fi
-
-standards.info: $(srcdir)/standards.texi $(srcdir)/make-stds.texi
-	$(MAKEINFO) --no-split -I$(srcdir) -o standards.info $(srcdir)/standards.texi
-
-standards.html: $(srcdir)/standards.texi $(srcdir)/make-stds.texi
-	$(TEXI2HTML) --no-split -I$(srcdir) -o standards.html $(srcdir)/standards.texi
-
-standards.dvi: $(srcdir)/standards.texi
-	TEXINPUTS=$(TEXIDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/standards.texi
-
-standards.ps: standards.dvi
-	$(DVIPS) standards.dvi -o standards.ps
-
-standards.pdf: $(srcdir)/standards.texi
-	TEXINPUTS=$(TEXIDIR):$$TEXINPUTS $(TEXI2PDF) $(srcdir)/standards.texi
-
-# makeinfo requires images to be in the current directory.
-configure.info: $(srcdir)/configure.texi $(srcdir)/configdev.tin $(srcdir)/configbuild.tin
-	rm -f configdev.txt configbuild.txt
-	cp $(srcdir)/configdev.tin configdev.txt
-	cp $(srcdir)/configbuild.tin configbuild.txt
-	$(MAKEINFO) -I$(srcdir) -o configure.info $(srcdir)/configure.texi
-	rm -f configdev.txt configbuild.txt
-
-# texi2dvi wants both the .txt and the .eps files.
-configure.dvi: $(srcdir)/configure.texi $(srcdir)/configdev.tin $(srcdir)/configbuild.tin $(srcdir)/configdev.ein $(srcdir)/configbuild.ein
-	rm -f configdev.txt configbuild.txt
-	cp $(srcdir)/configdev.tin configdev.txt
-	cp $(srcdir)/configbuild.tin configbuild.txt
-	rm -f configdev.eps configbuild.eps
-	cp $(srcdir)/configdev.ein configdev.eps
-	cp $(srcdir)/configbuild.ein configbuild.eps
-	TEXINPUTS=$(TEXIDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/configure.texi
-	rm -f configdev.txt configbuild.txt
-	rm -f configdev.eps configbuild.eps
-
-# dvips requires images to be in the current directory
-configure.ps: configure.dvi $(srcdir)/configdev.ein $(srcdir)/configbuild.ein
-	rm -f configdev.eps configbuild.eps
-	cp $(srcdir)/configdev.ein configdev.eps
-	cp $(srcdir)/configbuild.ein configbuild.eps
-	$(DVIPS) configure.dvi -o configure.ps
-	rm -f configdev.eps configbuild.eps
-
-configure.pdf: $(srcdir)/configure.texi $(srcdir)/configdev.tin $(srcdir)/configbuild.tin $(srcdir)/configdev.ein $(srcdir)/configbuild.ein
-	rm -f configdev.pdf configbuild.pdf
-	epstopdf $(srcdir)/configdev.ein -outfile=configdev.pdf
-	epstopdf $(srcdir)/configbuild.ein -outfile=configbuild.pdf
-	TEXINPUTS=$(TEXIDIR):$$TEXINPUTS $(TEXI2PDF) $(srcdir)/configure.texi
-	rm -f configdev.pdf configbuild.pdf
-
-configure.html: $(srcdir)/configure.texi
-	cp $(srcdir)/configdev.jin configdev.jpg
-	cp $(srcdir)/configbuild.jin configbuild.jpg
-	$(TEXI2HTML) --no-split -I$(srcdir) -o configure.html $(srcdir)/configure.texi
+all:
 
 clean:
-	rm -f *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.log
-	rm -f *.pg *.pgs *.toc *.tp *.tps *.vr *.vrs
-	rm -f configdev.txt configbuild.txt 
-	rm -f configdev.eps configbuild.eps
-	rm -f configdev.jpg configbuild.jpg
 
 mostlyclean: clean
 
@@ -225,8 +50,6 @@ distclean:   clean
 	rm -f Makefile config.status config.cache
 
 maintainer-clean realclean:   distclean
-	rm -f *.html*
-	rm -f *.info*
 
 Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) \
 	config.status
@@ -244,5 +67,8 @@ config.status: $(srcdir)/configure
 ## these last targets are for standards.texi conformance
 dist:
 check:
+info html dvi ps pdf:
+install install-strip install-info install-html install-pdf:
 installcheck:
+uninstall:
 TAGS:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/make-stds.texi ./etc/make-stds.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/make-stds.texi	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/make-stds.texi	1970-01-01 00:00:00.000000000 +0000
@@ -1,1135 +0,0 @@
-@comment This file is included by both standards.texi and make.texinfo.
-@comment It was broken out of standards.texi on 1/6/93 by roland.
-
-@node Makefile Conventions
-@chapter Makefile Conventions
-@comment standards.texi does not print an index, but make.texinfo does.
-@cindex makefile, conventions for
-@cindex conventions for makefiles
-@cindex standards for makefiles
-
-@c Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001,
-@c 2004, 2005, 2006 Free Software Foundation, Inc.
-
-@c Permission is granted to copy, distribute and/or modify this document
-@c under the terms of the GNU Free Documentation License, Version 1.2
-@c or any later version published by the Free Software Foundation;
-@c with no Invariant Sections, with no
-@c Front-Cover Texts, and with no Back-Cover Texts.
-@c A copy of the license is included in the section entitled ``GNU
-@c Free Documentation License''.
-
-This
-@ifinfo
-node
-@end ifinfo
-@iftex
-@ifset CODESTD
-section
-@end ifset
-@ifclear CODESTD
-chapter
-@end ifclear
-@end iftex
-describes conventions for writing the Makefiles for GNU programs.
-Using Automake will help you write a Makefile that follows these
-conventions.
-
-@menu
-* Makefile Basics::             General conventions for Makefiles.
-* Utilities in Makefiles::      Utilities to be used in Makefiles.
-* Command Variables::           Variables for specifying commands.
-* DESTDIR::                     Supporting staged installs.
-* Directory Variables::         Variables for installation directories.
-* Standard Targets::            Standard targets for users.
-* Install Command Categories::  Three categories of commands in the `install'
-                                  rule: normal, pre-install and post-install.
-@end menu
-
-@node Makefile Basics
-@section General Conventions for Makefiles
-
-Every Makefile should contain this line:
-
-@example
-SHELL = /bin/sh
-@end example
-
-@noindent
-to avoid trouble on systems where the @code{SHELL} variable might be
-inherited from the environment.  (This is never a problem with GNU
-@code{make}.)
-
-Different @code{make} programs have incompatible suffix lists and
-implicit rules, and this sometimes creates confusion or misbehavior.  So
-it is a good idea to set the suffix list explicitly using only the
-suffixes you need in the particular Makefile, like this:
-
-@example
-.SUFFIXES:
-.SUFFIXES: .c .o
-@end example
-
-@noindent
-The first line clears out the suffix list, the second introduces all
-suffixes which may be subject to implicit rules in this Makefile.
-
-Don't assume that @file{.} is in the path for command execution.  When
-you need to run programs that are a part of your package during the
-make, please make sure that it uses @file{./} if the program is built as
-part of the make or @file{$(srcdir)/} if the file is an unchanging part
-of the source code.  Without one of these prefixes, the current search
-path is used.
-
-The distinction between @file{./} (the @dfn{build directory}) and
-@file{$(srcdir)/} (the @dfn{source directory}) is important because
-users can build in a separate directory using the @samp{--srcdir} option
-to @file{configure}.  A rule of the form:
-
-@smallexample
-foo.1 : foo.man sedscript
-        sed -e sedscript foo.man > foo.1
-@end smallexample
-
-@noindent
-will fail when the build directory is not the source directory, because
-@file{foo.man} and @file{sedscript} are in the source directory.
-
-When using GNU @code{make}, relying on @samp{VPATH} to find the source
-file will work in the case where there is a single dependency file,
-since the @code{make} automatic variable @samp{$<} will represent the
-source file wherever it is.  (Many versions of @code{make} set @samp{$<}
-only in implicit rules.)  A Makefile target like
-
-@smallexample
-foo.o : bar.c
-        $(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o
-@end smallexample
-
-@noindent
-should instead be written as
-
-@smallexample
-foo.o : bar.c
-        $(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@@
-@end smallexample
-
-@noindent
-in order to allow @samp{VPATH} to work correctly.  When the target has
-multiple dependencies, using an explicit @samp{$(srcdir)} is the easiest
-way to make the rule work well.  For example, the target above for
-@file{foo.1} is best written as:
-
-@smallexample
-foo.1 : foo.man sedscript
-        sed -e $(srcdir)/sedscript $(srcdir)/foo.man > $@@
-@end smallexample
-
-GNU distributions usually contain some files which are not source
-files---for example, Info files, and the output from Autoconf, Automake,
-Bison or Flex.  Since these files normally appear in the source
-directory, they should always appear in the source directory, not in the
-build directory.  So Makefile rules to update them should put the
-updated files in the source directory.
-
-However, if a file does not appear in the distribution, then the
-Makefile should not put it in the source directory, because building a
-program in ordinary circumstances should not modify the source directory
-in any way.
-
-Try to make the build and installation targets, at least (and all their
-subtargets) work correctly with a parallel @code{make}.
-
-@node Utilities in Makefiles
-@section Utilities in Makefiles
-
-Write the Makefile commands (and any shell scripts, such as
-@code{configure}) to run in @code{sh}, not in @code{csh}.  Don't use any
-special features of @code{ksh} or @code{bash}.
-
-The @code{configure} script and the Makefile rules for building and
-installation should not use any utilities directly except these:
-
-@c dd find
-@c gunzip gzip md5sum
-@c mkfifo mknod tee uname
-
-@example
-cat cmp cp diff echo egrep expr false grep install-info
-ln ls mkdir mv pwd rm rmdir sed sleep sort tar test touch true
-@end example
-
-The compression program @code{gzip} can be used in the @code{dist} rule.
-
-Stick to the generally supported options for these programs.  For
-example, don't use @samp{mkdir -p}, convenient as it may be, because
-most systems don't support it.
-
-It is a good idea to avoid creating symbolic links in makefiles, since a
-few systems don't support them.
-
-The Makefile rules for building and installation can also use compilers
-and related programs, but should do so via @code{make} variables so that the
-user can substitute alternatives.  Here are some of the programs we
-mean:
-
-@example
-ar bison cc flex install ld ldconfig lex
-make makeinfo ranlib texi2dvi yacc
-@end example
-
-Use the following @code{make} variables to run those programs:
-
-@example
-$(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LDCONFIG) $(LEX)
-$(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)
-@end example
-
-When you use @code{ranlib} or @code{ldconfig}, you should make sure
-nothing bad happens if the system does not have the program in question.
-Arrange to ignore an error from that command, and print a message before
-the command to tell the user that failure of this command does not mean
-a problem.  (The Autoconf @samp{AC_PROG_RANLIB} macro can help with
-this.)
-
-If you use symbolic links, you should implement a fallback for systems
-that don't have symbolic links.
-
-Additional utilities that can be used via Make variables are:
-
-@example
-chgrp chmod chown mknod
-@end example
-
-It is ok to use other utilities in Makefile portions (or scripts)
-intended only for particular systems where you know those utilities
-exist.
-
-@node Command Variables
-@section Variables for Specifying Commands
-
-Makefiles should provide variables for overriding certain commands, options,
-and so on.
-
-In particular, you should run most utility programs via variables.
-Thus, if you use Bison, have a variable named @code{BISON} whose default
-value is set with @samp{BISON = bison}, and refer to it with
-@code{$(BISON)} whenever you need to use Bison.
-
-File management utilities such as @code{ln}, @code{rm}, @code{mv}, and
-so on, need not be referred to through variables in this way, since users
-don't need to replace them with other programs.
-
-Each program-name variable should come with an options variable that is
-used to supply options to the program.  Append @samp{FLAGS} to the
-program-name variable name to get the options variable name---for
-example, @code{BISONFLAGS}.  (The names @code{CFLAGS} for the C
-compiler, @code{YFLAGS} for yacc, and @code{LFLAGS} for lex, are
-exceptions to this rule, but we keep them because they are standard.)
-Use @code{CPPFLAGS} in any compilation command that runs the
-preprocessor, and use @code{LDFLAGS} in any compilation command that
-does linking as well as in any direct use of @code{ld}.
-
-If there are C compiler options that @emph{must} be used for proper
-compilation of certain files, do not include them in @code{CFLAGS}.
-Users expect to be able to specify @code{CFLAGS} freely themselves.
-Instead, arrange to pass the necessary options to the C compiler
-independently of @code{CFLAGS}, by writing them explicitly in the
-compilation commands or by defining an implicit rule, like this:
-
-@smallexample
-CFLAGS = -g
-ALL_CFLAGS = -I. $(CFLAGS)
-.c.o:
-        $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
-@end smallexample
-
-Do include the @samp{-g} option in @code{CFLAGS}, because that is not
-@emph{required} for proper compilation.  You can consider it a default
-that is only recommended.  If the package is set up so that it is
-compiled with GCC by default, then you might as well include @samp{-O}
-in the default value of @code{CFLAGS} as well.
-
-Put @code{CFLAGS} last in the compilation command, after other variables
-containing compiler options, so the user can use @code{CFLAGS} to
-override the others.
-
-@code{CFLAGS} should be used in every invocation of the C compiler,
-both those which do compilation and those which do linking.
-
-Every Makefile should define the variable @code{INSTALL}, which is the
-basic command for installing a file into the system.
-
-Every Makefile should also define the variables @code{INSTALL_PROGRAM}
-and @code{INSTALL_DATA}.  (The default for @code{INSTALL_PROGRAM} should
-be @code{$(INSTALL)}; the default for @code{INSTALL_DATA} should be
-@code{$@{INSTALL@} -m 644}.)  Then it should use those variables as the
-commands for actual installation, for executables and non-executables
-respectively.  Minimal use of these variables is as follows:
-
-@example
-$(INSTALL_PROGRAM) foo $(bindir)/foo
-$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
-@end example
-
-However, it is preferable to support a @code{DESTDIR} prefix on the
-target files, as explained in the next section.
-
-@noindent
-Always use a file name, not a directory name, as the second argument of
-the installation commands.  Use a separate command for each file to be
-installed.
-
-
-@node DESTDIR
-@section @code{DESTDIR}: support for staged installs
-
-@vindex DESTDIR
-@cindex staged installs
-@cindex installations, staged
-
-@code{DESTDIR} is a variable prepended to each installed target file,
-like this:
-
-@example
-$(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
-$(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
-@end example
-
-The @code{DESTDIR} variable is specified by the user on the @code{make}
-command line.  For example:
-
-@example
-make DESTDIR=/tmp/stage install
-@end example
-
-@noindent
-@code{DESTDIR} should be supported only in the @code{install*} and
-@code{uninstall*} targets, as those are the only targets where it is
-useful.
-
-If your installation step would normally install
-@file{/usr/local/bin/foo} and @file{/usr/local/lib/libfoo.a}, then an
-installation invoked as in the example above would install
-@file{/tmp/stage/usr/local/bin/foo} and
-@file{/tmp/stage/usr/local/lib/libfoo.a} instead.
-
-Prepending the variable @code{DESTDIR} to each target in this way
-provides for @dfn{staged installs}, where the installed files are not
-placed directly into their expected location but are instead copied
-into a temporary location (@code{DESTDIR}).  However, installed files
-maintain their relative directory structure and any embedded file names
-will not be modified.
-
-You should not set the value of @code{DESTDIR} in your @file{Makefile}
-at all; then the files are installed into their expected locations by
-default.  Also, specifying @code{DESTDIR} should not change the
-operation of the software in any way, so its value should not be
-included in any file contents.
-
-@code{DESTDIR} support is commonly used in package creation.  It is
-also helpful to users who want to understand what a given package will
-install where, and to allow users who don't normally have permissions
-to install into protected areas to build and install before gaining
-those permissions.  Finally, it can be useful with tools such as
-@code{stow}, where code is installed in one place but made to appear
-to be installed somewhere else using symbolic links or special mount
-operations.  So, we strongly recommend GNU packages support
-@code{DESTDIR}, though it is not an absolute requirement.
-
-
-@node Directory Variables
-@section Variables for Installation Directories
-
-Installation directories should always be named by variables, so it is
-easy to install in a nonstandard place.  The standard names for these
-variables and the values they should have in GNU packages are
-described below.  They are based on a standard file system layout;
-variants of it are used in GNU/Linux and other modern operating
-systems.
-
-Installers are expected to override these values when calling
-@command{make} (e.g., @kbd{make prefix=/usr install} or
-@command{configure} (e.g., @kbd{configure --prefix=/usr}).  GNU
-packages should not try to guess which value should be appropriate for
-these variables on the system they are being installed onto: use the
-default settings specified here so that all GNU packages behave
-identically, allowing the installer to achieve any desired layout.
-
-These first two variables set the root for the installation.  All the
-other installation directories should be subdirectories of one of
-these two, and nothing should be directly installed into these two
-directories.
-
-@table @code
-@item prefix
-@vindex prefix
-A prefix used in constructing the default values of the variables listed
-below.  The default value of @code{prefix} should be @file{/usr/local}.
-When building the complete GNU system, the prefix will be empty and
-@file{/usr} will be a symbolic link to @file{/}.
-(If you are using Autoconf, write it as @samp{@@prefix@@}.)
-
-Running @samp{make install} with a different value of @code{prefix} from
-the one used to build the program should @emph{not} recompile the
-program.
-
-@item exec_prefix
-@vindex exec_prefix
-A prefix used in constructing the default values of some of the
-variables listed below.  The default value of @code{exec_prefix} should
-be @code{$(prefix)}.
-(If you are using Autoconf, write it as @samp{@@exec_prefix@@}.)
-
-Generally, @code{$(exec_prefix)} is used for directories that contain
-machine-specific files (such as executables and subroutine libraries),
-while @code{$(prefix)} is used directly for other directories.
-
-Running @samp{make install} with a different value of @code{exec_prefix}
-from the one used to build the program should @emph{not} recompile the
-program.
-@end table
-
-Executable programs are installed in one of the following directories.
-
-@table @code
-@item bindir
-@vindex bindir
-The directory for installing executable programs that users can run.
-This should normally be @file{/usr/local/bin}, but write it as
-@file{$(exec_prefix)/bin}.
-(If you are using Autoconf, write it as @samp{@@bindir@@}.)
-
-@item sbindir
-@vindex sbindir
-The directory for installing executable programs that can be run from
-the shell, but are only generally useful to system administrators.  This
-should normally be @file{/usr/local/sbin}, but write it as
-@file{$(exec_prefix)/sbin}.
-(If you are using Autoconf, write it as @samp{@@sbindir@@}.)
-
-@item libexecdir
-@vindex libexecdir
-@comment This paragraph adjusted to avoid overfull hbox --roland 5jul94
-The directory for installing executable programs to be run by other
-programs rather than by users.  This directory should normally be
-@file{/usr/local/libexec}, but write it as @file{$(exec_prefix)/libexec}.
-(If you are using Autoconf, write it as @samp{@@libexecdir@@}.)
-
-The definition of @samp{libexecdir} is the same for all packages, so
-you should install your data in a subdirectory thereof.  Most packages
-install their data under @file{$(libexecdir)/@var{package-name}/},
-possibly within additional subdirectories thereof, such as
-@file{$(libexecdir)/@var{package-name}/@var{machine}/@var{version}}.
-@end table
-
-Data files used by the program during its execution are divided into
-categories in two ways.
-
-@itemize @bullet
-@item
-Some files are normally modified by programs; others are never normally
-modified (though users may edit some of these).
-
-@item
-Some files are architecture-independent and can be shared by all
-machines at a site; some are architecture-dependent and can be shared
-only by machines of the same kind and operating system; others may never
-be shared between two machines.
-@end itemize
-
-This makes for six different possibilities.  However, we want to
-discourage the use of architecture-dependent files, aside from object
-files and libraries.  It is much cleaner to make other data files
-architecture-independent, and it is generally not hard.
-
-Here are the variables Makefiles should use to specify directories
-to put these various kinds of files in:
-
-@table @samp
-@item datarootdir
-The root of the directory tree for read-only architecture-independent
-data files.  This should normally be @file{/usr/local/share}, but
-write it as @file{$(prefix)/share}.  (If you are using Autoconf, write
-it as @samp{@@datarootdir@@}.)  @samp{datadir}'s default value is
-based on this variable; so are @samp{infodir}, @samp{mandir}, and
-others.
-
-@item datadir
-The directory for installing idiosyncratic read-only
-architecture-independent data files for this program.  This is usually
-the same place as @samp{datarootdir}, but we use the two separate
-variables so that you can move these program-specific files without
-altering the location for Info files, man pages, etc.
-
-This should normally be @file{/usr/local/share}, but write it as
-@file{$(datarootdir)}.  (If you are using Autoconf, write it as
-@samp{@@datadir@@}.)
-
-The definition of @samp{datadir} is the same for all packages, so you
-should install your data in a subdirectory thereof.  Most packages
-install their data under @file{$(datadir)/@var{package-name}/}.
-
-@item sysconfdir
-The directory for installing read-only data files that pertain to a
-single machine--that is to say, files for configuring a host.  Mailer
-and network configuration files, @file{/etc/passwd}, and so forth belong
-here.  All the files in this directory should be ordinary ASCII text
-files.  This directory should normally be @file{/usr/local/etc}, but
-write it as @file{$(prefix)/etc}.
-(If you are using Autoconf, write it as @samp{@@sysconfdir@@}.)
-
-Do not install executables here in this directory (they probably belong
-in @file{$(libexecdir)} or @file{$(sbindir)}).  Also do not install
-files that are modified in the normal course of their use (programs
-whose purpose is to change the configuration of the system excluded).
-Those probably belong in @file{$(localstatedir)}.
-
-@item sharedstatedir
-The directory for installing architecture-independent data files which
-the programs modify while they run.  This should normally be
-@file{/usr/local/com}, but write it as @file{$(prefix)/com}.
-(If you are using Autoconf, write it as @samp{@@sharedstatedir@@}.)
-
-@item localstatedir
-The directory for installing data files which the programs modify while
-they run, and that pertain to one specific machine.  Users should never
-need to modify files in this directory to configure the package's
-operation; put such configuration information in separate files that go
-in @file{$(datadir)} or @file{$(sysconfdir)}.  @file{$(localstatedir)}
-should normally be @file{/usr/local/var}, but write it as
-@file{$(prefix)/var}.
-(If you are using Autoconf, write it as @samp{@@localstatedir@@}.)
-@end table
-
-These variables specify the directory for installing certain specific
-types of files, if your program has them.  Every GNU package should
-have Info files, so every program needs @samp{infodir}, but not all
-need @samp{libdir} or @samp{lispdir}.
-
-@table @samp
-@item includedir
-@c rewritten to avoid overfull hbox --roland
-The directory for installing header files to be included by user
-programs with the C @samp{#include} preprocessor directive.  This
-should normally be @file{/usr/local/include}, but write it as
-@file{$(prefix)/include}.
-(If you are using Autoconf, write it as @samp{@@includedir@@}.)
-
-Most compilers other than GCC do not look for header files in directory
-@file{/usr/local/include}.  So installing the header files this way is
-only useful with GCC.  Sometimes this is not a problem because some
-libraries are only really intended to work with GCC.  But some libraries
-are intended to work with other compilers.  They should install their
-header files in two places, one specified by @code{includedir} and one
-specified by @code{oldincludedir}.
-
-@item oldincludedir
-The directory for installing @samp{#include} header files for use with
-compilers other than GCC.  This should normally be @file{/usr/include}.
-(If you are using Autoconf, you can write it as @samp{@@oldincludedir@@}.)
-
-The Makefile commands should check whether the value of
-@code{oldincludedir} is empty.  If it is, they should not try to use
-it; they should cancel the second installation of the header files.
-
-A package should not replace an existing header in this directory unless
-the header came from the same package.  Thus, if your Foo package
-provides a header file @file{foo.h}, then it should install the header
-file in the @code{oldincludedir} directory if either (1) there is no
-@file{foo.h} there or (2) the @file{foo.h} that exists came from the Foo
-package.
-
-To tell whether @file{foo.h} came from the Foo package, put a magic
-string in the file---part of a comment---and @code{grep} for that string.
-
-@item docdir
-The directory for installing documentation files (other than Info) for
-this package.  By default, it should be
-@file{/usr/local/share/doc/@var{yourpkg}}, but it should be written as
-@file{$(datarootdir)/doc/@var{yourpkg}}.  (If you are using Autoconf,
-write it as @samp{@@docdir@@}.)  The @var{yourpkg} subdirectory, which
-may include a version number, prevents collisions among files with
-common names, such as @file{README}.
-
-@item infodir
-The directory for installing the Info files for this package.  By
-default, it should be @file{/usr/local/share/info}, but it should be
-written as @file{$(datarootdir)/info}.  (If you are using Autoconf,
-write it as @samp{@@infodir@@}.)  @code{infodir} is separate from
-@code{docdir} for compatibility with existing practice.
-
-@item htmldir
-@itemx dvidir
-@itemx pdfdir
-@itemx psdir
-Directories for installing documentation files in the particular
-format.  They should all be set to @code{$(docdir)} by default.  (If
-you are using Autoconf, write them as @samp{@@htmldir@@},
-@samp{@@dvidir@@}, etc.)  Packages which supply several translations
-of their documentation should install them in
-@samp{$(htmldir)/}@var{ll}, @samp{$(pdfdir)/}@var{ll}, etc. where
-@var{ll} is a locale abbreviation such as @samp{en} or @samp{pt_BR}.
-
-@item libdir
-The directory for object files and libraries of object code.  Do not
-install executables here, they probably ought to go in @file{$(libexecdir)}
-instead.  The value of @code{libdir} should normally be
-@file{/usr/local/lib}, but write it as @file{$(exec_prefix)/lib}.
-(If you are using Autoconf, write it as @samp{@@libdir@@}.)
-
-@item lispdir
-The directory for installing any Emacs Lisp files in this package.  By
-default, it should be @file{/usr/local/share/emacs/site-lisp}, but it
-should be written as @file{$(datarootdir)/emacs/site-lisp}.
-
-If you are using Autoconf, write the default as @samp{@@lispdir@@}.
-In order to make @samp{@@lispdir@@} work, you need the following lines
-in your @file{configure.in} file:
-
-@example
-lispdir='$@{datarootdir@}/emacs/site-lisp'
-AC_SUBST(lispdir)
-@end example
-
-@item localedir
-The directory for installing locale-specific message catalogs for this
-package.  By default, it should be @file{/usr/local/share/locale}, but
-it should be written as @file{$(datarootdir)/locale}.  (If you are
-using Autoconf, write it as @samp{@@localedir@@}.)  This directory
-usually has a subdirectory per locale.
-@end table
-
-Unix-style man pages are installed in one of the following:
-
-@table @samp
-@item mandir
-The top-level directory for installing the man pages (if any) for this
-package.  It will normally be @file{/usr/local/share/man}, but you
-should write it as @file{$(datarootdir)/man}.  (If you are using
-Autoconf, write it as @samp{@@mandir@@}.)
-
-@item man1dir
-The directory for installing section 1 man pages.  Write it as
-@file{$(mandir)/man1}.
-@item man2dir
-The directory for installing section 2 man pages.  Write it as
-@file{$(mandir)/man2}
-@item @dots{}
-
-@strong{Don't make the primary documentation for any GNU software be a
-man page.  Write a manual in Texinfo instead.  Man pages are just for
-the sake of people running GNU software on Unix, which is a secondary
-application only.}
-
-@item manext
-The file name extension for the installed man page.  This should contain
-a period followed by the appropriate digit; it should normally be @samp{.1}.
-
-@item man1ext
-The file name extension for installed section 1 man pages.
-@item man2ext
-The file name extension for installed section 2 man pages.
-@item @dots{}
-Use these names instead of @samp{manext} if the package needs to install man
-pages in more than one section of the manual.
-@end table
-
-And finally, you should set the following variable:
-
-@table @samp
-@item srcdir
-The directory for the sources being compiled.  The value of this
-variable is normally inserted by the @code{configure} shell script.
-(If you are using Autoconf, use @samp{srcdir = @@srcdir@@}.)
-@end table
-
-For example:
-
-@smallexample
-@c I have changed some of the comments here slightly to fix an overfull
-@c hbox, so the make manual can format correctly. --roland
-# Common prefix for installation directories.
-# NOTE: This directory must exist when you start the install.
-prefix = /usr/local
-datarootdir = $(prefix)/share
-datadir = $(datarootdir)
-exec_prefix = $(prefix)
-# Where to put the executable for the command `gcc'.
-bindir = $(exec_prefix)/bin
-# Where to put the directories used by the compiler.
-libexecdir = $(exec_prefix)/libexec
-# Where to put the Info files.
-infodir = $(datarootdir)/info
-@end smallexample
-
-If your program installs a large number of files into one of the
-standard user-specified directories, it might be useful to group them
-into a subdirectory particular to that program.  If you do this, you
-should write the @code{install} rule to create these subdirectories.
-
-Do not expect the user to include the subdirectory name in the value of
-any of the variables listed above.  The idea of having a uniform set of
-variable names for installation directories is to enable the user to
-specify the exact same values for several different GNU packages.  In
-order for this to be useful, all the packages must be designed so that
-they will work sensibly when the user does so.
-
-At times, not all of these variables may be implemented in the current
-release of Autoconf and/or Automake; but as of Autoconf@tie{}2.60, we
-believe all of them are.  When any are missing, the descriptions here
-serve as specifications for what Autoconf will implement.  As a
-programmer, you can either use a development version of Autoconf or
-avoid using these variables until a stable release is made which
-supports them.
-
-
-@node Standard Targets
-@section Standard Targets for Users
-
-All GNU programs should have the following targets in their Makefiles:
-
-@table @samp
-@item all
-Compile the entire program.  This should be the default target.  This
-target need not rebuild any documentation files; Info files should
-normally be included in the distribution, and DVI (and other
-documentation format) files should be made only when explicitly asked
-for.
-
-By default, the Make rules should compile and link with @samp{-g}, so
-that executable programs have debugging symbols.  Users who don't mind
-being helpless can strip the executables later if they wish.
-
-@item install
-Compile the program and copy the executables, libraries, and so on to
-the file names where they should reside for actual use.  If there is a
-simple test to verify that a program is properly installed, this target
-should run that test.
-
-Do not strip executables when installing them.  Devil-may-care users can
-use the @code{install-strip} target to do that.
-
-If possible, write the @code{install} target rule so that it does not
-modify anything in the directory where the program was built, provided
-@samp{make all} has just been done.  This is convenient for building the
-program under one user name and installing it under another.
-
-The commands should create all the directories in which files are to be
-installed, if they don't already exist.  This includes the directories
-specified as the values of the variables @code{prefix} and
-@code{exec_prefix}, as well as all subdirectories that are needed.
-One way to do this is by means of an @code{installdirs} target
-as described below.
-
-Use @samp{-} before any command for installing a man page, so that
-@code{make} will ignore any errors.  This is in case there are systems
-that don't have the Unix man page documentation system installed.
-
-The way to install Info files is to copy them into @file{$(infodir)}
-with @code{$(INSTALL_DATA)} (@pxref{Command Variables}), and then run
-the @code{install-info} program if it is present.  @code{install-info}
-is a program that edits the Info @file{dir} file to add or update the
-menu entry for the given Info file; it is part of the Texinfo package.
-Here is a sample rule to install an Info file:
-
-@comment This example has been carefully formatted for the Make manual.
-@comment Please do not reformat it without talking to bug-make@gnu.org.
-@smallexample
-$(DESTDIR)$(infodir)/foo.info: foo.info
-        $(POST_INSTALL)
-# There may be a newer info file in . than in srcdir.
-        -if test -f foo.info; then d=.; \
-         else d=$(srcdir); fi; \
-        $(INSTALL_DATA) $$d/foo.info $(DESTDIR)$@@; \
-# Run install-info only if it exists.
-# Use `if' instead of just prepending `-' to the
-# line so we notice real errors from install-info.
-# We use `$(SHELL) -c' because some shells do not
-# fail gracefully when there is an unknown command.
-        if $(SHELL) -c 'install-info --version' \
-           >/dev/null 2>&1; then \
-          install-info --dir-file=$(DESTDIR)$(infodir)/dir \
-                       $(DESTDIR)$(infodir)/foo.info; \
-        else true; fi
-@end smallexample
-
-When writing the @code{install} target, you must classify all the
-commands into three categories: normal ones, @dfn{pre-installation}
-commands and @dfn{post-installation} commands.  @xref{Install Command
-Categories}.
-
-@item install-html
-@itemx install-dvi
-@itemx install-pdf
-@itemx install-ps
-These targets install documentation in formats other than Info;
-they're intended to be called explicitly by the person installing the
-package, if that format is desired.  GNU prefers Info files, so these
-must be installed by the @code{install} target.
-
-When you have many documentation files to install, we recommend that
-you avoid collisions and clutter by arranging for these targets to
-install in subdirectories of the appropriate installation directory,
-such as @code{htmldir}.  As one example, if your package has multiple
-manuals, and you wish to install HTML documentation with many files
-(such as the ``split'' mode output by @code{makeinfo --html}), you'll
-certainly want to use subdirectories, or two nodes with the same name
-in different manuals will overwrite each other.
-
-Please make these @code{install-@var{format}} targets invoke the
-commands for the @var{format} target, for example, by making
-@var{format} a dependency.
-
-@item uninstall
-Delete all the installed files---the copies that the @samp{install}
-and @samp{install-*} targets create.
-
-This rule should not modify the directories where compilation is done,
-only the directories where files are installed.
-
-The uninstallation commands are divided into three categories, just like
-the installation commands.  @xref{Install Command Categories}.
-
-@item install-strip
-Like @code{install}, but strip the executable files while installing
-them.  In simple cases, this target can use the @code{install} target in
-a simple way:
-
-@smallexample
-install-strip:
-        $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
-                install
-@end smallexample
-
-But if the package installs scripts as well as real executables, the
-@code{install-strip} target can't just refer to the @code{install}
-target; it has to strip the executables but not the scripts.
-
-@code{install-strip} should not strip the executables in the build
-directory which are being copied for installation.  It should only strip
-the copies that are installed.
-
-Normally we do not recommend stripping an executable unless you are sure
-the program has no bugs.  However, it can be reasonable to install a
-stripped executable for actual execution while saving the unstripped
-executable elsewhere in case there is a bug.
-
-@comment The gratuitous blank line here is to make the table look better
-@comment in the printed Make manual.  Please leave it in.
-@item clean
-
-Delete all files in the current directory that are normally created by
-building the program.  Also delete files in other directories if they
-are created by this makefile.  However, don't delete the files that
-record the configuration.  Also preserve files that could be made by
-building, but normally aren't because the distribution comes with
-them.  There is no need to delete parent directories that were created
-with @samp{mkdir -p}, since they could have existed anyway.
-
-Delete @file{.dvi} files here if they are not part of the distribution.
-
-@item distclean
-Delete all files in the current directory (or created by this
-makefile) that are created by configuring or building the program.  If
-you have unpacked the source and built the program without creating
-any other files, @samp{make distclean} should leave only the files
-that were in the distribution.  However, there is no need to delete
-parent directories that were created with @samp{mkdir -p}, since they
-could have existed anyway.
-
-@item mostlyclean
-Like @samp{clean}, but may refrain from deleting a few files that people
-normally don't want to recompile.  For example, the @samp{mostlyclean}
-target for GCC does not delete @file{libgcc.a}, because recompiling it
-is rarely necessary and takes a lot of time.
-
-@item maintainer-clean
-Delete almost everything that can be reconstructed with this Makefile.
-This typically includes everything deleted by @code{distclean}, plus
-more: C source files produced by Bison, tags tables, Info files, and
-so on.
-
-The reason we say ``almost everything'' is that running the command
-@samp{make maintainer-clean} should not delete @file{configure} even
-if @file{configure} can be remade using a rule in the Makefile.  More
-generally, @samp{make maintainer-clean} should not delete anything
-that needs to exist in order to run @file{configure} and then begin to
-build the program.  Also, there is no need to delete parent
-directories that were created with @samp{mkdir -p}, since they could
-have existed anyway.  These are the only exceptions;
-@code{maintainer-clean} should delete everything else that can be
-rebuilt.
-
-The @samp{maintainer-clean} target is intended to be used by a maintainer of
-the package, not by ordinary users.  You may need special tools to
-reconstruct some of the files that @samp{make maintainer-clean} deletes.
-Since these files are normally included in the distribution, we don't
-take care to make them easy to reconstruct.  If you find you need to
-unpack the full distribution again, don't blame us.
-
-To help make users aware of this, the commands for the special
-@code{maintainer-clean} target should start with these two:
-
-@smallexample
-@@echo 'This command is intended for maintainers to use; it'
-@@echo 'deletes files that may need special tools to rebuild.'
-@end smallexample
-
-@item TAGS
-Update a tags table for this program.
-@c ADR: how?
-
-@item info
-Generate any Info files needed.  The best way to write the rules is as
-follows:
-
-@smallexample
-info: foo.info
-
-foo.info: foo.texi chap1.texi chap2.texi
-        $(MAKEINFO) $(srcdir)/foo.texi
-@end smallexample
-
-@noindent
-You must define the variable @code{MAKEINFO} in the Makefile.  It should
-run the @code{makeinfo} program, which is part of the Texinfo
-distribution.
-
-Normally a GNU distribution comes with Info files, and that means the
-Info files are present in the source directory.  Therefore, the Make
-rule for an info file should update it in the source directory.  When
-users build the package, ordinarily Make will not update the Info files
-because they will already be up to date.
-
-@item dvi
-@itemx html
-@itemx pdf
-@itemx ps
-Generate documentation files in the given format.  These targets
-should always exist, but any or all can be a no-op if the given output
-format cannot be generated.  These targets should not be dependencies
-of the @code{all} target; the user must manually invoke them.
-
-Here's an example rule for generating DVI files from Texinfo:
-
-@smallexample
-dvi: foo.dvi
-
-foo.dvi: foo.texi chap1.texi chap2.texi
-        $(TEXI2DVI) $(srcdir)/foo.texi
-@end smallexample
-
-@noindent
-You must define the variable @code{TEXI2DVI} in the Makefile.  It should
-run the program @code{texi2dvi}, which is part of the Texinfo
-distribution.@footnote{@code{texi2dvi} uses @TeX{} to do the real work
-of formatting. @TeX{} is not distributed with Texinfo.}  Alternatively,
-write just the dependencies, and allow GNU @code{make} to provide the command.
-
-Here's another example, this one for generating HTML from Texinfo:
-
-@smallexample
-html: foo.html
-
-foo.html: foo.texi chap1.texi chap2.texi
-        $(TEXI2HTML) $(srcdir)/foo.texi
-@end smallexample
-
-@noindent
-Again, you would define the variable @code{TEXI2HTML} in the Makefile;
-for example, it might run @code{makeinfo --no-split --html}
-(@command{makeinfo} is part of the Texinfo distribution).
-
-@item dist
-Create a distribution tar file for this program.  The tar file should be
-set up so that the file names in the tar file start with a subdirectory
-name which is the name of the package it is a distribution for.  This
-name can include the version number.
-
-For example, the distribution tar file of GCC version 1.40 unpacks into
-a subdirectory named @file{gcc-1.40}.
-
-The easiest way to do this is to create a subdirectory appropriately
-named, use @code{ln} or @code{cp} to install the proper files in it, and
-then @code{tar} that subdirectory.
-
-Compress the tar file with @code{gzip}.  For example, the actual
-distribution file for GCC version 1.40 is called @file{gcc-1.40.tar.gz}.
-
-The @code{dist} target should explicitly depend on all non-source files
-that are in the distribution, to make sure they are up to date in the
-distribution.
-@ifset CODESTD
-@xref{Releases, , Making Releases}.
-@end ifset
-@ifclear CODESTD
-@xref{Releases, , Making Releases, standards, GNU Coding Standards}.
-@end ifclear
-
-@item check
-Perform self-tests (if any).  The user must build the program before
-running the tests, but need not install the program; you should write
-the self-tests so that they work when the program is built but not
-installed.
-@end table
-
-The following targets are suggested as conventional names, for programs
-in which they are useful.
-
-@table @code
-@item installcheck
-Perform installation tests (if any).  The user must build and install
-the program before running the tests.  You should not assume that
-@file{$(bindir)} is in the search path.
-
-@item installdirs
-It's useful to add a target named @samp{installdirs} to create the
-directories where files are installed, and their parent directories.
-There is a script called @file{mkinstalldirs} which is convenient for
-this; you can find it in the Texinfo package.
-@c It's in /gd/gnu/lib/mkinstalldirs.
-You can use a rule like this:
-
-@comment This has been carefully formatted to look decent in the Make manual.
-@comment Please be sure not to make it extend any further to the right.--roland
-@smallexample
-# Make sure all installation directories (e.g. $(bindir))
-# actually exist by making them if necessary.
-installdirs: mkinstalldirs
-        $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
-                                $(libdir) $(infodir) \
-                                $(mandir)
-@end smallexample
-
-@noindent
-or, if you wish to support @env{DESTDIR},
-
-@smallexample
-# Make sure all installation directories (e.g. $(bindir))
-# actually exist by making them if necessary.
-installdirs: mkinstalldirs
-        $(srcdir)/mkinstalldirs \
-            $(DESTDIR)$(bindir) $(DESTDIR)$(datadir) \
-            $(DESTDIR)$(libdir) $(DESTDIR)$(infodir) \
-            $(DESTDIR)$(mandir)
-@end smallexample
-
-This rule should not modify the directories where compilation is done.
-It should do nothing but create installation directories.
-@end table
-
-@node Install Command Categories
-@section Install Command Categories
-
-@cindex pre-installation commands
-@cindex post-installation commands
-When writing the @code{install} target, you must classify all the
-commands into three categories: normal ones, @dfn{pre-installation}
-commands and @dfn{post-installation} commands.
-
-Normal commands move files into their proper places, and set their
-modes.  They may not alter any files except the ones that come entirely
-from the package they belong to.
-
-Pre-installation and post-installation commands may alter other files;
-in particular, they can edit global configuration files or data bases.
-
-Pre-installation commands are typically executed before the normal
-commands, and post-installation commands are typically run after the
-normal commands.
-
-The most common use for a post-installation command is to run
-@code{install-info}.  This cannot be done with a normal command, since
-it alters a file (the Info directory) which does not come entirely and
-solely from the package being installed.  It is a post-installation
-command because it needs to be done after the normal command which
-installs the package's Info files.
-
-Most programs don't need any pre-installation commands, but we have the
-feature just in case it is needed.
-
-To classify the commands in the @code{install} rule into these three
-categories, insert @dfn{category lines} among them.  A category line
-specifies the category for the commands that follow.
-
-A category line consists of a tab and a reference to a special Make
-variable, plus an optional comment at the end.  There are three
-variables you can use, one for each category; the variable name
-specifies the category.  Category lines are no-ops in ordinary execution
-because these three Make variables are normally undefined (and you
-@emph{should not} define them in the makefile).
-
-Here are the three possible category lines, each with a comment that
-explains what it means:
-
-@smallexample
-        $(PRE_INSTALL)     # @r{Pre-install commands follow.}
-        $(POST_INSTALL)    # @r{Post-install commands follow.}
-        $(NORMAL_INSTALL)  # @r{Normal commands follow.}
-@end smallexample
-
-If you don't use a category line at the beginning of the @code{install}
-rule, all the commands are classified as normal until the first category
-line.  If you don't use any category lines, all the commands are
-classified as normal.
-
-These are the category lines for @code{uninstall}:
-
-@smallexample
-        $(PRE_UNINSTALL)     # @r{Pre-uninstall commands follow.}
-        $(POST_UNINSTALL)    # @r{Post-uninstall commands follow.}
-        $(NORMAL_UNINSTALL)  # @r{Normal commands follow.}
-@end smallexample
-
-Typically, a pre-uninstall command would be used for deleting entries
-from the Info directory.
-
-If the @code{install} or @code{uninstall} target has any dependencies
-which act as subroutines of installation, then you should start
-@emph{each} dependency's commands with a category line, and start the
-main target's commands with a category line also.  This way, you can
-ensure that each command is placed in the right category regardless of
-which of the dependencies actually run.
-
-Pre-installation and post-installation commands should not run any
-programs except for these:
-
-@example
-[ basename bash cat chgrp chmod chown cmp cp dd diff echo
-egrep expand expr false fgrep find getopt grep gunzip gzip
-hostname install install-info kill ldconfig ln ls md5sum
-mkdir mkfifo mknod mv printenv pwd rm rmdir sed sort tee
-test touch true uname xargs yes
-@end example
-
-@cindex binary packages
-The reason for distinguishing the commands in this way is for the sake
-of making binary packages.  Typically a binary package contains all the
-executables and other files that need to be installed, and has its own
-method of installing them---so it does not need to run the normal
-installation commands.  But installing the binary package does need to
-execute the pre-installation and post-installation commands.
-
-Programs to build binary packages work by extracting the
-pre-installation and post-installation commands.  Here is one way of
-extracting the pre-installation commands (the @option{-s} option to
-@command{make} is needed to silence messages about entering
-subdirectories):
-
-@smallexample
-make -s -n install -o all \
-      PRE_INSTALL=pre-install \
-      POST_INSTALL=post-install \
-      NORMAL_INSTALL=normal-install \
-  | gawk -f pre-install.awk
-@end smallexample
-
-@noindent
-where the file @file{pre-install.awk} could contain this:
-
-@smallexample
-$0 ~ /^(normal-install|post-install)[ \t]*$/ @{on = 0@}
-on @{print $0@}
-$0 ~ /^pre-install[ \t]*$/ @{on = 1@}
-@end smallexample
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/standards.info ./etc/standards.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/standards.info	2015-01-13 02:06:58.000000000 +0000
+++ ./etc/standards.info	1970-01-01 00:00:00.000000000 +0000
@@ -1,5744 +0,0 @@
-This is standards.info, produced by makeinfo version 4.13 from
-./standards.texi.
-
-INFO-DIR-SECTION GNU organization
-START-INFO-DIR-ENTRY
-* Standards: (standards).       GNU coding standards.
-END-INFO-DIR-ENTRY
-
-   The GNU coding standards, last updated April 12, 2010.
-
-   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-Foundation, Inc.
-
-   Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled "GNU
-Free Documentation License".
-
-
-File: standards.info,  Node: Top,  Next: Preface,  Prev: (dir),  Up: (dir)
-
-Version
-*******
-
-The GNU coding standards, last updated April 12, 2010.
-
-   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-Foundation, Inc.
-
-   Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled "GNU
-Free Documentation License".
-
-* Menu:
-
-* Preface::                     About the GNU Coding Standards.
-* Legal Issues::                Keeping free software free.
-* Design Advice::               General program design.
-* Program Behavior::            Program behavior for all programs
-* Writing C::                   Making the best use of C.
-* Documentation::               Documenting programs.
-* Managing Releases::           The release process.
-* References::                  Mentioning non-free software or documentation.
-* GNU Free Documentation License::  Copying and sharing this manual.
-* Index::
-
-
-File: standards.info,  Node: Preface,  Next: Legal Issues,  Prev: Top,  Up: Top
-
-1 About the GNU Coding Standards
-********************************
-
-The GNU Coding Standards were written by Richard Stallman and other GNU
-Project volunteers.  Their purpose is to make the GNU system clean,
-consistent, and easy to install.  This document can also be read as a
-guide to writing portable, robust and reliable programs.  It focuses on
-programs written in C, but many of the rules and principles are useful
-even if you write in another programming language.  The rules often
-state reasons for writing in a certain way.
-
-   If you did not obtain this file directly from the GNU project and
-recently, please check for a newer version.  You can get the GNU Coding
-Standards from the GNU web server in many different formats, including
-the Texinfo source, PDF, HTML, DVI, plain text, and more, at:
-`http://www.gnu.org/prep/standards/'.
-
-   If you are maintaining an official GNU package, in addition to this
-document, please read and follow the GNU maintainer information (*note
-Contents: (maintain)Top.).
-
-   If you want to receive diffs for every change to these GNU documents,
-join the mailing list `gnustandards-commit@gnu.org', via the web
-interface at
-`http://lists.gnu.org/mailman/listinfo/gnustandards-commit'.  Archives
-are also available there.
-
-   Please send corrections or suggestions for this document to
-<bug-standards@gnu.org>.  If you make a suggestion, please include a
-suggested new wording for it, to help us consider the suggestion
-efficiently.  We prefer a context diff to the Texinfo source, but if
-that's difficult for you, you can make a context diff for some other
-version of this document, or propose it in any way that makes it clear.
-The source repository for this document can be found at
-`http://savannah.gnu.org/projects/gnustandards'.
-
-   These standards cover the minimum of what is important when writing a
-GNU package.  Likely, the need for additional standards will come up.
-Sometimes, you might suggest that such standards be added to this
-document.  If you think your standards would be generally useful, please
-do suggest them.
-
-   You should also set standards for your package on many questions not
-addressed or not firmly specified here.  The most important point is to
-be self-consistent--try to stick to the conventions you pick, and try
-to document them as much as possible.  That way, your program will be
-more maintainable by others.
-
-   The GNU Hello program serves as an example of how to follow the GNU
-coding standards for a trivial program.
-`http://www.gnu.org/software/hello/hello.html'.
-
-   This release of the GNU Coding Standards was last updated April 12,
-2010.
-
-
-File: standards.info,  Node: Legal Issues,  Next: Design Advice,  Prev: Preface,  Up: Top
-
-2 Keeping Free Software Free
-****************************
-
-This chapter discusses how you can make sure that GNU software avoids
-legal difficulties, and other related issues.
-
-* Menu:
-
-* Reading Non-Free Code::       Referring to proprietary programs.
-* Contributions::               Accepting contributions.
-* Trademarks::                  How we deal with trademark issues.
-
-
-File: standards.info,  Node: Reading Non-Free Code,  Next: Contributions,  Up: Legal Issues
-
-2.1 Referring to Proprietary Programs
-=====================================
-
-Don't in any circumstances refer to Unix source code for or during your
-work on GNU!  (Or to any other proprietary programs.)
-
-   If you have a vague recollection of the internals of a Unix program,
-this does not absolutely mean you can't write an imitation of it, but
-do try to organize the imitation internally along different lines,
-because this is likely to make the details of the Unix version
-irrelevant and dissimilar to your results.
-
-   For example, Unix utilities were generally optimized to minimize
-memory use; if you go for speed instead, your program will be very
-different.  You could keep the entire input file in memory and scan it
-there instead of using stdio.  Use a smarter algorithm discovered more
-recently than the Unix program.  Eliminate use of temporary files.  Do
-it in one pass instead of two (we did this in the assembler).
-
-   Or, on the contrary, emphasize simplicity instead of speed.  For some
-applications, the speed of today's computers makes simpler algorithms
-adequate.
-
-   Or go for generality.  For example, Unix programs often have static
-tables or fixed-size strings, which make for arbitrary limits; use
-dynamic allocation instead.  Make sure your program handles NULs and
-other funny characters in the input files.  Add a programming language
-for extensibility and write part of the program in that language.
-
-   Or turn some parts of the program into independently usable
-libraries.  Or use a simple garbage collector instead of tracking
-precisely when to free memory, or use a new GNU facility such as
-obstacks.
-
-
-File: standards.info,  Node: Contributions,  Next: Trademarks,  Prev: Reading Non-Free Code,  Up: Legal Issues
-
-2.2 Accepting Contributions
-===========================
-
-If the program you are working on is copyrighted by the Free Software
-Foundation, then when someone else sends you a piece of code to add to
-the program, we need legal papers to use it--just as we asked you to
-sign papers initially.  _Each_ person who makes a nontrivial
-contribution to a program must sign some sort of legal papers in order
-for us to have clear title to the program; the main author alone is not
-enough.
-
-   So, before adding in any contributions from other people, please tell
-us, so we can arrange to get the papers.  Then wait until we tell you
-that we have received the signed papers, before you actually use the
-contribution.
-
-   This applies both before you release the program and afterward.  If
-you receive diffs to fix a bug, and they make significant changes, we
-need legal papers for that change.
-
-   This also applies to comments and documentation files.  For copyright
-law, comments and code are just text.  Copyright applies to all kinds of
-text, so we need legal papers for all kinds.
-
-   We know it is frustrating to ask for legal papers; it's frustrating
-for us as well.  But if you don't wait, you are going out on a limb--for
-example, what if the contributor's employer won't sign a disclaimer?
-You might have to take that code out again!
-
-   You don't need papers for changes of a few lines here or there, since
-they are not significant for copyright purposes.  Also, you don't need
-papers if all you get from the suggestion is some ideas, not actual code
-which you use.  For example, if someone sent you one implementation, but
-you write a different implementation of the same idea, you don't need to
-get papers.
-
-   The very worst thing is if you forget to tell us about the other
-contributor.  We could be very embarrassed in court some day as a
-result.
-
-   We have more detailed advice for maintainers of programs; if you have
-reached the stage of actually maintaining a program for GNU (whether
-released or not), please ask us for a copy.  It is also available
-online for your perusal: `http://www.gnu.org/prep/maintain/'.
-
-
-File: standards.info,  Node: Trademarks,  Prev: Contributions,  Up: Legal Issues
-
-2.3 Trademarks
-==============
-
-Please do not include any trademark acknowledgements in GNU software
-packages or documentation.
-
-   Trademark acknowledgements are the statements that such-and-such is a
-trademark of so-and-so.  The GNU Project has no objection to the basic
-idea of trademarks, but these acknowledgements feel like kowtowing, and
-there is no legal requirement for them, so we don't use them.
-
-   What is legally required, as regards other people's trademarks, is to
-avoid using them in ways which a reader might reasonably understand as
-naming or labeling our own programs or activities.  For example, since
-"Objective C" is (or at least was) a trademark, we made sure to say
-that we provide a "compiler for the Objective C language" rather than
-an "Objective C compiler".  The latter would have been meant as a
-shorter way of saying the former, but it does not explicitly state the
-relationship, so it could be misinterpreted as using "Objective C" as a
-label for the compiler rather than for the language.
-
-   Please don't use "win" as an abbreviation for Microsoft Windows in
-GNU software or documentation.  In hacker terminology, calling
-something a "win" is a form of praise.  If you wish to praise Microsoft
-Windows when speaking on your own, by all means do so, but not in GNU
-software.  Usually we write the name "Windows" in full, but when
-brevity is very important (as in file names and sometimes symbol
-names), we abbreviate it to "w".  For instance, the files and functions
-in Emacs that deal with Windows start with `w32'.
-
-
-File: standards.info,  Node: Design Advice,  Next: Program Behavior,  Prev: Legal Issues,  Up: Top
-
-3 General Program Design
-************************
-
-This chapter discusses some of the issues you should take into account
-when designing your program.
-
-* Menu:
-
-* Source Language::             Which languages to use.
-* Compatibility::               Compatibility with other implementations.
-* Using Extensions::            Using non-standard features.
-* Standard C::                  Using standard C features.
-* Conditional Compilation::     Compiling code only if a conditional is true.
-
-
-File: standards.info,  Node: Source Language,  Next: Compatibility,  Up: Design Advice
-
-3.1 Which Languages to Use
-==========================
-
-When you want to use a language that gets compiled and runs at high
-speed, the best language to use is C.  Using another language is like
-using a non-standard feature: it will cause trouble for users.  Even if
-GCC supports the other language, users may find it inconvenient to have
-to install the compiler for that other language in order to build your
-program.  For example, if you write your program in C++, people will
-have to install the GNU C++ compiler in order to compile your program.
-
-   C has one other advantage over C++ and other compiled languages: more
-people know C, so more people will find it easy to read and modify the
-program if it is written in C.
-
-   So in general it is much better to use C, rather than the comparable
-alternatives.
-
-   But there are two exceptions to that conclusion:
-
-   * It is no problem to use another language to write a tool
-     specifically intended for use with that language.  That is because
-     the only people who want to build the tool will be those who have
-     installed the other language anyway.
-
-   * If an application is of interest only to a narrow part of the
-     community, then the question of which language it is written in
-     has less effect on other people, so you may as well please
-     yourself.
-
-   Many programs are designed to be extensible: they include an
-interpreter for a language that is higher level than C.  Often much of
-the program is written in that language, too.  The Emacs editor
-pioneered this technique.
-
-   The standard extensibility interpreter for GNU software is Guile
-(`http://www.gnu.org/software/guile/'), which implements the language
-Scheme (an especially clean and simple dialect of Lisp).  Guile also
-includes bindings for GTK+/GNOME, making it practical to write modern
-GUI functionality within Guile.  We don't reject programs written in
-other "scripting languages" such as Perl and Python, but using Guile is
-very important for the overall consistency of the GNU system.
-
-
-File: standards.info,  Node: Compatibility,  Next: Using Extensions,  Prev: Source Language,  Up: Design Advice
-
-3.2 Compatibility with Other Implementations
-============================================
-
-With occasional exceptions, utility programs and libraries for GNU
-should be upward compatible with those in Berkeley Unix, and upward
-compatible with Standard C if Standard C specifies their behavior, and
-upward compatible with POSIX if POSIX specifies their behavior.
-
-   When these standards conflict, it is useful to offer compatibility
-modes for each of them.
-
-   Standard C and POSIX prohibit many kinds of extensions.  Feel free
-to make the extensions anyway, and include a `--ansi', `--posix', or
-`--compatible' option to turn them off.  However, if the extension has
-a significant chance of breaking any real programs or scripts, then it
-is not really upward compatible.  So you should try to redesign its
-interface to make it upward compatible.
-
-   Many GNU programs suppress extensions that conflict with POSIX if the
-environment variable `POSIXLY_CORRECT' is defined (even if it is
-defined with a null value).  Please make your program recognize this
-variable if appropriate.
-
-   When a feature is used only by users (not by programs or command
-files), and it is done poorly in Unix, feel free to replace it
-completely with something totally different and better.  (For example,
-`vi' is replaced with Emacs.)  But it is nice to offer a compatible
-feature as well.  (There is a free `vi' clone, so we offer it.)
-
-   Additional useful features are welcome regardless of whether there
-is any precedent for them.
-
-
-File: standards.info,  Node: Using Extensions,  Next: Standard C,  Prev: Compatibility,  Up: Design Advice
-
-3.3 Using Non-standard Features
-===============================
-
-Many GNU facilities that already exist support a number of convenient
-extensions over the comparable Unix facilities.  Whether to use these
-extensions in implementing your program is a difficult question.
-
-   On the one hand, using the extensions can make a cleaner program.
-On the other hand, people will not be able to build the program unless
-the other GNU tools are available.  This might cause the program to
-work on fewer kinds of machines.
-
-   With some extensions, it might be easy to provide both alternatives.
-For example, you can define functions with a "keyword" `INLINE' and
-define that as a macro to expand into either `inline' or nothing,
-depending on the compiler.
-
-   In general, perhaps it is best not to use the extensions if you can
-straightforwardly do without them, but to use the extensions if they
-are a big improvement.
-
-   An exception to this rule are the large, established programs (such
-as Emacs) which run on a great variety of systems.  Using GNU
-extensions in such programs would make many users unhappy, so we don't
-do that.
-
-   Another exception is for programs that are used as part of
-compilation: anything that must be compiled with other compilers in
-order to bootstrap the GNU compilation facilities.  If these require
-the GNU compiler, then no one can compile them without having them
-installed already.  That would be extremely troublesome in certain
-cases.
-
-
-File: standards.info,  Node: Standard C,  Next: Conditional Compilation,  Prev: Using Extensions,  Up: Design Advice
-
-3.4 Standard C and Pre-Standard C
-=================================
-
-1989 Standard C is widespread enough now that it is ok to use its
-features in new programs.  There is one exception: do not ever use the
-"trigraph" feature of Standard C.
-
-   1999 Standard C is not widespread yet, so please do not require its
-features in programs.  It is ok to use its features if they are present.
-
-   However, it is easy to support pre-standard compilers in most
-programs, so if you know how to do that, feel free.  If a program you
-are maintaining has such support, you should try to keep it working.
-
-   To support pre-standard C, instead of writing function definitions in
-standard prototype form,
-
-     int
-     foo (int x, int y)
-     ...
-
-write the definition in pre-standard style like this,
-
-     int
-     foo (x, y)
-          int x, y;
-     ...
-
-and use a separate declaration to specify the argument prototype:
-
-     int foo (int, int);
-
-   You need such a declaration anyway, in a header file, to get the
-benefit of prototypes in all the files where the function is called.
-And once you have the declaration, you normally lose nothing by writing
-the function definition in the pre-standard style.
-
-   This technique does not work for integer types narrower than `int'.
-If you think of an argument as being of a type narrower than `int',
-declare it as `int' instead.
-
-   There are a few special cases where this technique is hard to use.
-For example, if a function argument needs to hold the system type
-`dev_t', you run into trouble, because `dev_t' is shorter than `int' on
-some machines; but you cannot use `int' instead, because `dev_t' is
-wider than `int' on some machines.  There is no type you can safely use
-on all machines in a non-standard definition.  The only way to support
-non-standard C and pass such an argument is to check the width of
-`dev_t' using Autoconf and choose the argument type accordingly.  This
-may not be worth the trouble.
-
-   In order to support pre-standard compilers that do not recognize
-prototypes, you may want to use a preprocessor macro like this:
-
-     /* Declare the prototype for a general external function.  */
-     #if defined (__STDC__) || defined (WINDOWSNT)
-     #define P_(proto) proto
-     #else
-     #define P_(proto) ()
-     #endif
-
-
-File: standards.info,  Node: Conditional Compilation,  Prev: Standard C,  Up: Design Advice
-
-3.5 Conditional Compilation
-===========================
-
-When supporting configuration options already known when building your
-program we prefer using `if (... )' over conditional compilation, as in
-the former case the compiler is able to perform more extensive checking
-of all possible code paths.
-
-   For example, please write
-
-       if (HAS_FOO)
-         ...
-       else
-         ...
-
-instead of:
-
-       #ifdef HAS_FOO
-         ...
-       #else
-         ...
-       #endif
-
-   A modern compiler such as GCC will generate exactly the same code in
-both cases, and we have been using similar techniques with good success
-in several projects.  Of course, the former method assumes that
-`HAS_FOO' is defined as either 0 or 1.
-
-   While this is not a silver bullet solving all portability problems,
-and is not always appropriate, following this policy would have saved
-GCC developers many hours, or even days, per year.
-
-   In the case of function-like macros like `REVERSIBLE_CC_MODE' in GCC
-which cannot be simply used in `if (...)' statements, there is an easy
-workaround.  Simply introduce another macro `HAS_REVERSIBLE_CC_MODE' as
-in the following example:
-
-       #ifdef REVERSIBLE_CC_MODE
-       #define HAS_REVERSIBLE_CC_MODE 1
-       #else
-       #define HAS_REVERSIBLE_CC_MODE 0
-       #endif
-
-
-File: standards.info,  Node: Program Behavior,  Next: Writing C,  Prev: Design Advice,  Up: Top
-
-4 Program Behavior for All Programs
-***********************************
-
-This chapter describes conventions for writing robust software.  It
-also describes general standards for error messages, the command line
-interface, and how libraries should behave.
-
-* Menu:
-
-* Non-GNU Standards::           We consider standards such as POSIX;
-                                  we don't "obey" them.
-* Semantics::                   Writing robust programs.
-* Libraries::                   Library behavior.
-* Errors::                      Formatting error messages.
-* User Interfaces::             Standards about interfaces generally.
-* Graphical Interfaces::        Standards for graphical interfaces.
-* Command-Line Interfaces::     Standards for command line interfaces.
-* Option Table::                Table of long options.
-* OID Allocations::             Table of OID slots for GNU.
-* Memory Usage::                When and how to care about memory needs.
-* File Usage::                  Which files to use, and where.
-
-
-File: standards.info,  Node: Non-GNU Standards,  Next: Semantics,  Up: Program Behavior
-
-4.1 Non-GNU Standards
-=====================
-
-The GNU Project regards standards published by other organizations as
-suggestions, not orders.  We consider those standards, but we do not
-"obey" them.  In developing a GNU program, you should implement an
-outside standard's specifications when that makes the GNU system better
-overall in an objective sense.  When it doesn't, you shouldn't.
-
-   In most cases, following published standards is convenient for
-users--it means that their programs or scripts will work more portably.
-For instance, GCC implements nearly all the features of Standard C as
-specified by that standard.  C program developers would be unhappy if
-it did not.  And GNU utilities mostly follow specifications of POSIX.2;
-shell script writers and users would be unhappy if our programs were
-incompatible.
-
-   But we do not follow either of these specifications rigidly, and
-there are specific points on which we decided not to follow them, so as
-to make the GNU system better for users.
-
-   For instance, Standard C says that nearly all extensions to C are
-prohibited.  How silly!  GCC implements many extensions, some of which
-were later adopted as part of the standard.  If you want these
-constructs to give an error message as "required" by the standard, you
-must specify `--pedantic', which was implemented only so that we can
-say "GCC is a 100% implementation of the standard," not because there
-is any reason to actually use it.
-
-   POSIX.2 specifies that `df' and `du' must output sizes by default in
-units of 512 bytes.  What users want is units of 1k, so that is what we
-do by default.  If you want the ridiculous behavior "required" by
-POSIX, you must set the environment variable `POSIXLY_CORRECT' (which
-was originally going to be named `POSIX_ME_HARDER').
-
-   GNU utilities also depart from the letter of the POSIX.2
-specification when they support long-named command-line options, and
-intermixing options with ordinary arguments.  This minor
-incompatibility with POSIX is never a problem in practice, and it is
-very useful.
-
-   In particular, don't reject a new feature, or remove an old one,
-merely because a standard says it is "forbidden" or "deprecated."
-
-
-File: standards.info,  Node: Semantics,  Next: Libraries,  Prev: Non-GNU Standards,  Up: Program Behavior
-
-4.2 Writing Robust Programs
-===========================
-
-Avoid arbitrary limits on the length or number of _any_ data structure,
-including file names, lines, files, and symbols, by allocating all data
-structures dynamically.  In most Unix utilities, "long lines are
-silently truncated".  This is not acceptable in a GNU utility.
-
-   Utilities reading files should not drop NUL characters, or any other
-nonprinting characters _including those with codes above 0177_.  The
-only sensible exceptions would be utilities specifically intended for
-interface to certain types of terminals or printers that can't handle
-those characters.  Whenever possible, try to make programs work
-properly with sequences of bytes that represent multibyte characters,
-using encodings such as UTF-8 and others.
-
-   Check every system call for an error return, unless you know you
-wish to ignore errors.  Include the system error text (from `perror' or
-equivalent) in _every_ error message resulting from a failing system
-call, as well as the name of the file if any and the name of the
-utility.  Just "cannot open foo.c" or "stat failed" is not sufficient.
-
-   Check every call to `malloc' or `realloc' to see if it returned
-zero.  Check `realloc' even if you are making the block smaller; in a
-system that rounds block sizes to a power of 2, `realloc' may get a
-different block if you ask for less space.
-
-   In Unix, `realloc' can destroy the storage block if it returns zero.
-GNU `realloc' does not have this bug: if it fails, the original block
-is unchanged.  Feel free to assume the bug is fixed.  If you wish to
-run your program on Unix, and wish to avoid lossage in this case, you
-can use the GNU `malloc'.
-
-   You must expect `free' to alter the contents of the block that was
-freed.  Anything you want to fetch from the block, you must fetch before
-calling `free'.
-
-   If `malloc' fails in a noninteractive program, make that a fatal
-error.  In an interactive program (one that reads commands from the
-user), it is better to abort the command and return to the command
-reader loop.  This allows the user to kill other processes to free up
-virtual memory, and then try the command again.
-
-   Use `getopt_long' to decode arguments, unless the argument syntax
-makes this unreasonable.
-
-   When static storage is to be written in during program execution, use
-explicit C code to initialize it.  Reserve C initialized declarations
-for data that will not be changed.
-
-   Try to avoid low-level interfaces to obscure Unix data structures
-(such as file directories, utmp, or the layout of kernel memory), since
-these are less likely to work compatibly.  If you need to find all the
-files in a directory, use `readdir' or some other high-level interface.
-These are supported compatibly by GNU.
-
-   The preferred signal handling facilities are the BSD variant of
-`signal', and the POSIX `sigaction' function; the alternative USG
-`signal' interface is an inferior design.
-
-   Nowadays, using the POSIX signal functions may be the easiest way to
-make a program portable.  If you use `signal', then on GNU/Linux
-systems running GNU libc version 1, you should include `bsd/signal.h'
-instead of `signal.h', so as to get BSD behavior.  It is up to you
-whether to support systems where `signal' has only the USG behavior, or
-give up on them.
-
-   In error checks that detect "impossible" conditions, just abort.
-There is usually no point in printing any message.  These checks
-indicate the existence of bugs.  Whoever wants to fix the bugs will have
-to read the source code and run a debugger.  So explain the problem with
-comments in the source.  The relevant data will be in variables, which
-are easy to examine with the debugger, so there is no point moving them
-elsewhere.
-
-   Do not use a count of errors as the exit status for a program.
-_That does not work_, because exit status values are limited to 8 bits
-(0 through 255).  A single run of the program might have 256 errors; if
-you try to return 256 as the exit status, the parent process will see 0
-as the status, and it will appear that the program succeeded.
-
-   If you make temporary files, check the `TMPDIR' environment
-variable; if that variable is defined, use the specified directory
-instead of `/tmp'.
-
-   In addition, be aware that there is a possible security problem when
-creating temporary files in world-writable directories.  In C, you can
-avoid this problem by creating temporary files in this manner:
-
-     fd = open (filename, O_WRONLY | O_CREAT | O_EXCL, 0600);
-
-or by using the `mkstemps' function from libiberty.
-
-   In bash, use `set -C' to avoid this problem.
-
-
-File: standards.info,  Node: Libraries,  Next: Errors,  Prev: Semantics,  Up: Program Behavior
-
-4.3 Library Behavior
-====================
-
-Try to make library functions reentrant.  If they need to do dynamic
-storage allocation, at least try to avoid any nonreentrancy aside from
-that of `malloc' itself.
-
-   Here are certain name conventions for libraries, to avoid name
-conflicts.
-
-   Choose a name prefix for the library, more than two characters long.
-All external function and variable names should start with this prefix.
-In addition, there should only be one of these in any given library
-member.  This usually means putting each one in a separate source file.
-
-   An exception can be made when two external symbols are always used
-together, so that no reasonable program could use one without the
-other; then they can both go in the same file.
-
-   External symbols that are not documented entry points for the user
-should have names beginning with `_'.  The `_' should be followed by
-the chosen name prefix for the library, to prevent collisions with
-other libraries.  These can go in the same files with user entry points
-if you like.
-
-   Static functions and variables can be used as you like and need not
-fit any naming convention.
-
-
-File: standards.info,  Node: Errors,  Next: User Interfaces,  Prev: Libraries,  Up: Program Behavior
-
-4.4 Formatting Error Messages
-=============================
-
-Error messages from compilers should look like this:
-
-     SOURCE-FILE-NAME:LINENO: MESSAGE
-
-If you want to mention the column number, use one of these formats:
-
-     SOURCE-FILE-NAME:LINENO:COLUMN: MESSAGE
-     SOURCE-FILE-NAME:LINENO.COLUMN: MESSAGE
-
-Line numbers should start from 1 at the beginning of the file, and
-column numbers should start from 1 at the beginning of the line.  (Both
-of these conventions are chosen for compatibility.)  Calculate column
-numbers assuming that space and all ASCII printing characters have
-equal width, and assuming tab stops every 8 columns.
-
-   The error message can also give both the starting and ending
-positions of the erroneous text.  There are several formats so that you
-can avoid redundant information such as a duplicate line number.  Here
-are the possible formats:
-
-     SOURCE-FILE-NAME:LINENO-1.COLUMN-1-LINENO-2.COLUMN-2: MESSAGE
-     SOURCE-FILE-NAME:LINENO-1.COLUMN-1-COLUMN-2: MESSAGE
-     SOURCE-FILE-NAME:LINENO-1-LINENO-2: MESSAGE
-
-When an error is spread over several files, you can use this format:
-
-     FILE-1:LINENO-1.COLUMN-1-FILE-2:LINENO-2.COLUMN-2: MESSAGE
-
-   Error messages from other noninteractive programs should look like
-this:
-
-     PROGRAM:SOURCE-FILE-NAME:LINENO: MESSAGE
-
-when there is an appropriate source file, or like this:
-
-     PROGRAM: MESSAGE
-
-when there is no relevant source file.
-
-   If you want to mention the column number, use this format:
-
-     PROGRAM:SOURCE-FILE-NAME:LINENO:COLUMN: MESSAGE
-
-   In an interactive program (one that is reading commands from a
-terminal), it is better not to include the program name in an error
-message.  The place to indicate which program is running is in the
-prompt or with the screen layout.  (When the same program runs with
-input from a source other than a terminal, it is not interactive and
-would do best to print error messages using the noninteractive style.)
-
-   The string MESSAGE should not begin with a capital letter when it
-follows a program name and/or file name, because that isn't the
-beginning of a sentence.  (The sentence conceptually starts at the
-beginning of the line.)  Also, it should not end with a period.
-
-   Error messages from interactive programs, and other messages such as
-usage messages, should start with a capital letter.  But they should not
-end with a period.
-
-
-File: standards.info,  Node: User Interfaces,  Next: Graphical Interfaces,  Prev: Errors,  Up: Program Behavior
-
-4.5 Standards for Interfaces Generally
-======================================
-
-Please don't make the behavior of a utility depend on the name used to
-invoke it.  It is useful sometimes to make a link to a utility with a
-different name, and that should not change what it does.
-
-   Instead, use a run time option or a compilation switch or both to
-select among the alternate behaviors.
-
-   Likewise, please don't make the behavior of the program depend on the
-type of output device it is used with.  Device independence is an
-important principle of the system's design; do not compromise it merely
-to save someone from typing an option now and then.  (Variation in error
-message syntax when using a terminal is ok, because that is a side issue
-that people do not depend on.)
-
-   If you think one behavior is most useful when the output is to a
-terminal, and another is most useful when the output is a file or a
-pipe, then it is usually best to make the default behavior the one that
-is useful with output to a terminal, and have an option for the other
-behavior.
-
-   Compatibility requires certain programs to depend on the type of
-output device.  It would be disastrous if `ls' or `sh' did not do so in
-the way all users expect.  In some of these cases, we supplement the
-program with a preferred alternate version that does not depend on the
-output device type.  For example, we provide a `dir' program much like
-`ls' except that its default output format is always multi-column
-format.
-
-
-File: standards.info,  Node: Graphical Interfaces,  Next: Command-Line Interfaces,  Prev: User Interfaces,  Up: Program Behavior
-
-4.6 Standards for Graphical Interfaces
-======================================
-
-When you write a program that provides a graphical user interface,
-please make it work with the X Window System and the GTK+ toolkit
-unless the functionality specifically requires some alternative (for
-example, "displaying jpeg images while in console mode").
-
-   In addition, please provide a command-line interface to control the
-functionality.  (In many cases, the graphical user interface can be a
-separate program which invokes the command-line program.)  This is so
-that the same jobs can be done from scripts.
-
-   Please also consider providing a D-bus interface for use from other
-running programs, such as within GNOME.  (GNOME used to use CORBA for
-this, but that is being phased out.)  In addition, consider providing a
-library interface (for use from C), and perhaps a keyboard-driven
-console interface (for use by users from console mode).  Once you are
-doing the work to provide the functionality and the graphical
-interface, these won't be much extra work.
-
-
-File: standards.info,  Node: Command-Line Interfaces,  Next: Option Table,  Prev: Graphical Interfaces,  Up: Program Behavior
-
-4.7 Standards for Command Line Interfaces
-=========================================
-
-It is a good idea to follow the POSIX guidelines for the command-line
-options of a program.  The easiest way to do this is to use `getopt' to
-parse them.  Note that the GNU version of `getopt' will normally permit
-options anywhere among the arguments unless the special argument `--'
-is used.  This is not what POSIX specifies; it is a GNU extension.
-
-   Please define long-named options that are equivalent to the
-single-letter Unix-style options.  We hope to make GNU more user
-friendly this way.  This is easy to do with the GNU function
-`getopt_long'.
-
-   One of the advantages of long-named options is that they can be
-consistent from program to program.  For example, users should be able
-to expect the "verbose" option of any GNU program which has one, to be
-spelled precisely `--verbose'.  To achieve this uniformity, look at the
-table of common long-option names when you choose the option names for
-your program (*note Option Table::).
-
-   It is usually a good idea for file names given as ordinary arguments
-to be input files only; any output files would be specified using
-options (preferably `-o' or `--output').  Even if you allow an output
-file name as an ordinary argument for compatibility, try to provide an
-option as another way to specify it.  This will lead to more consistency
-among GNU utilities, and fewer idiosyncrasies for users to remember.
-
-   All programs should support two standard options: `--version' and
-`--help'.  CGI programs should accept these as command-line options,
-and also if given as the `PATH_INFO'; for instance, visiting
-`http://example.org/p.cgi/--help' in a browser should output the same
-information as invoking `p.cgi --help' from the command line.
-
-* Menu:
-
-* --version::       The standard output for --version.
-* --help::          The standard output for --help.
-
-
-File: standards.info,  Node: --version,  Next: --help,  Up: Command-Line Interfaces
-
-4.7.1 `--version'
------------------
-
-The standard `--version' option should direct the program to print
-information about its name, version, origin and legal status, all on
-standard output, and then exit successfully.  Other options and
-arguments should be ignored once this is seen, and the program should
-not perform its normal function.
-
-   The first line is meant to be easy for a program to parse; the
-version number proper starts after the last space.  In addition, it
-contains the canonical name for this program, in this format:
-
-     GNU Emacs 19.30
-
-The program's name should be a constant string; _don't_ compute it from
-`argv[0]'.  The idea is to state the standard or canonical name for the
-program, not its file name.  There are other ways to find out the
-precise file name where a command is found in `PATH'.
-
-   If the program is a subsidiary part of a larger package, mention the
-package name in parentheses, like this:
-
-     emacsserver (GNU Emacs) 19.30
-
-If the package has a version number which is different from this
-program's version number, you can mention the package version number
-just before the close-parenthesis.
-
-   If you _need_ to mention the version numbers of libraries which are
-distributed separately from the package which contains this program,
-you can do so by printing an additional line of version info for each
-library you want to mention.  Use the same format for these lines as for
-the first line.
-
-   Please do not mention all of the libraries that the program uses
-"just for completeness"--that would produce a lot of unhelpful clutter.
-Please mention library version numbers only if you find in practice that
-they are very important to you in debugging.
-
-   The following line, after the version number line or lines, should
-be a copyright notice.  If more than one copyright notice is called
-for, put each on a separate line.
-
-   Next should follow a line stating the license, preferably using one
-of abbrevations below, and a brief statement that the program is free
-software, and that users are free to copy and change it.  Also mention
-that there is no warranty, to the extent permitted by law.  See
-recommended wording below.
-
-   It is ok to finish the output with a list of the major authors of the
-program, as a way of giving credit.
-
-   Here's an example of output that follows these rules:
-
-     GNU hello 2.3
-     Copyright (C) 2007 Free Software Foundation, Inc.
-     License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-     This is free software: you are free to change and redistribute it.
-     There is NO WARRANTY, to the extent permitted by law.
-
-   You should adapt this to your program, of course, filling in the
-proper year, copyright holder, name of program, and the references to
-distribution terms, and changing the rest of the wording as necessary.
-
-   This copyright notice only needs to mention the most recent year in
-which changes were made--there's no need to list the years for previous
-versions' changes.  You don't have to mention the name of the program in
-these notices, if that is inconvenient, since it appeared in the first
-line.  (The rules are different for copyright notices in source files;
-*note Copyright Notices: (maintain)Copyright Notices.)
-
-   Translations of the above lines must preserve the validity of the
-copyright notices (*note Internationalization::).  If the translation's
-character set supports it, the `(C)' should be replaced with the
-copyright symbol, as follows:
-
-   (the official copyright symbol, which is the letter C in a circle);
-
-   Write the word "Copyright" exactly like that, in English.  Do not
-translate it into another language.  International treaties recognize
-the English word "Copyright"; translations into other languages do not
-have legal significance.
-
-   Finally, here is the table of our suggested license abbreviations.
-Any abbreviation can be followed by `vVERSION[+]', meaning that
-particular version, or later versions with the `+', as shown above.
-
-   In the case of exceptions for extra permissions with the GPL, we use
-`/' for a separator; the version number can follow the license
-abbreviation as usual, as in the examples below.
-
-GPL
-     GNU General Public License, `http://www.gnu.org/licenses/gpl.html'.
-
-LGPL
-     GNU Lesser General Public License,
-     `http://www.gnu.org/licenses/lgpl.html'.
-
-GPL/Ada
-     GNU GPL with the exception for Ada.
-
-Apache
-     The Apache Software Foundation license,
-     `http://www.apache.org/licenses'.
-
-Artistic
-     The Artistic license used for Perl,
-     `http://www.perlfoundation.org/legal'.
-
-Expat
-     The Expat license, `http://www.jclark.com/xml/copying.txt'.
-
-MPL
-     The Mozilla Public License, `http://www.mozilla.org/MPL/'.
-
-OBSD
-     The original (4-clause) BSD license, incompatible with the GNU GPL
-     `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6'.
-
-PHP
-     The license used for PHP, `http://www.php.net/license/'.
-
-public domain
-     The non-license that is being in the public domain,
-     `http://www.gnu.org/licenses/license-list.html#PublicDomain'.
-
-Python
-     The license for Python, `http://www.python.org/2.0.1/license.html'.
-
-RBSD
-     The revised (3-clause) BSD, compatible with the GNU GPL,
-     `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5'.
-
-X11
-     The simple non-copyleft license used for most versions of the X
-     Window System, `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3'.
-
-Zlib
-     The license for Zlib, `http://www.gzip.org/zlib/zlib_license.html'.
-
-
-   More information about these licenses and many more are on the GNU
-licensing web pages, `http://www.gnu.org/licenses/license-list.html'.
-
-
-File: standards.info,  Node: --help,  Prev: --version,  Up: Command-Line Interfaces
-
-4.7.2 `--help'
---------------
-
-The standard `--help' option should output brief documentation for how
-to invoke the program, on standard output, then exit successfully.
-Other options and arguments should be ignored once this is seen, and
-the program should not perform its normal function.
-
-   Near the end of the `--help' option's output, please place lines
-giving the email address for bug reports, the package's home page
-(normally <http://www.gnu.org/software/PKG>, and the general page for
-help using GNU programs.  The format should be like this:
-
-     Report bugs to: MAILING-ADDRESS
-     PKG home page: <http://www.gnu.org/software/PKG/>
-     General help using GNU software: <http://www.gnu.org/gethelp/>
-
-   It is ok to mention other appropriate mailing lists and web pages.
-
-
-File: standards.info,  Node: Option Table,  Next: OID Allocations,  Prev: Command-Line Interfaces,  Up: Program Behavior
-
-4.8 Table of Long Options
-=========================
-
-Here is a table of long options used by GNU programs.  It is surely
-incomplete, but we aim to list all the options that a new program might
-want to be compatible with.  If you use names not already in the table,
-please send <bug-standards@gnu.org> a list of them, with their
-meanings, so we can update the table.
-
-`after-date'
-     `-N' in `tar'.
-
-`all'
-     `-a' in `du', `ls', `nm', `stty', `uname', and `unexpand'.
-
-`all-text'
-     `-a' in `diff'.
-
-`almost-all'
-     `-A' in `ls'.
-
-`append'
-     `-a' in `etags', `tee', `time'; `-r' in `tar'.
-
-`archive'
-     `-a' in `cp'.
-
-`archive-name'
-     `-n' in `shar'.
-
-`arglength'
-     `-l' in `m4'.
-
-`ascii'
-     `-a' in `diff'.
-
-`assign'
-     `-v' in `gawk'.
-
-`assume-new'
-     `-W' in `make'.
-
-`assume-old'
-     `-o' in `make'.
-
-`auto-check'
-     `-a' in `recode'.
-
-`auto-pager'
-     `-a' in `wdiff'.
-
-`auto-reference'
-     `-A' in `ptx'.
-
-`avoid-wraps'
-     `-n' in `wdiff'.
-
-`background'
-     For server programs, run in the background.
-
-`backward-search'
-     `-B' in `ctags'.
-
-`basename'
-     `-f' in `shar'.
-
-`batch'
-     Used in GDB.
-
-`baud'
-     Used in GDB.
-
-`before'
-     `-b' in `tac'.
-
-`binary'
-     `-b' in `cpio' and `diff'.
-
-`bits-per-code'
-     `-b' in `shar'.
-
-`block-size'
-     Used in `cpio' and `tar'.
-
-`blocks'
-     `-b' in `head' and `tail'.
-
-`break-file'
-     `-b' in `ptx'.
-
-`brief'
-     Used in various programs to make output shorter.
-
-`bytes'
-     `-c' in `head', `split', and `tail'.
-
-`c++'
-     `-C' in `etags'.
-
-`catenate'
-     `-A' in `tar'.
-
-`cd'
-     Used in various programs to specify the directory to use.
-
-`changes'
-     `-c' in `chgrp' and `chown'.
-
-`classify'
-     `-F' in `ls'.
-
-`colons'
-     `-c' in `recode'.
-
-`command'
-     `-c' in `su'; `-x' in GDB.
-
-`compare'
-     `-d' in `tar'.
-
-`compat'
-     Used in `gawk'.
-
-`compress'
-     `-Z' in `tar' and `shar'.
-
-`concatenate'
-     `-A' in `tar'.
-
-`confirmation'
-     `-w' in `tar'.
-
-`context'
-     Used in `diff'.
-
-`copyleft'
-     `-W copyleft' in `gawk'.
-
-`copyright'
-     `-C' in `ptx', `recode', and `wdiff'; `-W copyright' in `gawk'.
-
-`core'
-     Used in GDB.
-
-`count'
-     `-q' in `who'.
-
-`count-links'
-     `-l' in `du'.
-
-`create'
-     Used in `tar' and `cpio'.
-
-`cut-mark'
-     `-c' in `shar'.
-
-`cxref'
-     `-x' in `ctags'.
-
-`date'
-     `-d' in `touch'.
-
-`debug'
-     `-d' in `make' and `m4'; `-t' in Bison.
-
-`define'
-     `-D' in `m4'.
-
-`defines'
-     `-d' in Bison and `ctags'.
-
-`delete'
-     `-D' in `tar'.
-
-`dereference'
-     `-L' in `chgrp', `chown', `cpio', `du', `ls', and `tar'.
-
-`dereference-args'
-     `-D' in `du'.
-
-`device'
-     Specify an I/O device (special file name).
-
-`diacritics'
-     `-d' in `recode'.
-
-`dictionary-order'
-     `-d' in `look'.
-
-`diff'
-     `-d' in `tar'.
-
-`digits'
-     `-n' in `csplit'.
-
-`directory'
-     Specify the directory to use, in various programs.  In `ls', it
-     means to show directories themselves rather than their contents.
-     In `rm' and `ln', it means to not treat links to directories
-     specially.
-
-`discard-all'
-     `-x' in `strip'.
-
-`discard-locals'
-     `-X' in `strip'.
-
-`dry-run'
-     `-n' in `make'.
-
-`ed'
-     `-e' in `diff'.
-
-`elide-empty-files'
-     `-z' in `csplit'.
-
-`end-delete'
-     `-x' in `wdiff'.
-
-`end-insert'
-     `-z' in `wdiff'.
-
-`entire-new-file'
-     `-N' in `diff'.
-
-`environment-overrides'
-     `-e' in `make'.
-
-`eof'
-     `-e' in `xargs'.
-
-`epoch'
-     Used in GDB.
-
-`error-limit'
-     Used in `makeinfo'.
-
-`error-output'
-     `-o' in `m4'.
-
-`escape'
-     `-b' in `ls'.
-
-`exclude-from'
-     `-X' in `tar'.
-
-`exec'
-     Used in GDB.
-
-`exit'
-     `-x' in `xargs'.
-
-`exit-0'
-     `-e' in `unshar'.
-
-`expand-tabs'
-     `-t' in `diff'.
-
-`expression'
-     `-e' in `sed'.
-
-`extern-only'
-     `-g' in `nm'.
-
-`extract'
-     `-i' in `cpio'; `-x' in `tar'.
-
-`faces'
-     `-f' in `finger'.
-
-`fast'
-     `-f' in `su'.
-
-`fatal-warnings'
-     `-E' in `m4'.
-
-`file'
-     `-f' in `gawk', `info', `make', `mt', `sed', and `tar'.
-
-`field-separator'
-     `-F' in `gawk'.
-
-`file-prefix'
-     `-b' in Bison.
-
-`file-type'
-     `-F' in `ls'.
-
-`files-from'
-     `-T' in `tar'.
-
-`fill-column'
-     Used in `makeinfo'.
-
-`flag-truncation'
-     `-F' in `ptx'.
-
-`fixed-output-files'
-     `-y' in Bison.
-
-`follow'
-     `-f' in `tail'.
-
-`footnote-style'
-     Used in `makeinfo'.
-
-`force'
-     `-f' in `cp', `ln', `mv', and `rm'.
-
-`force-prefix'
-     `-F' in `shar'.
-
-`foreground'
-     For server programs, run in the foreground; in other words, don't
-     do anything special to run the server in the background.
-
-`format'
-     Used in `ls', `time', and `ptx'.
-
-`freeze-state'
-     `-F' in `m4'.
-
-`fullname'
-     Used in GDB.
-
-`gap-size'
-     `-g' in `ptx'.
-
-`get'
-     `-x' in `tar'.
-
-`graphic'
-     `-i' in `ul'.
-
-`graphics'
-     `-g' in `recode'.
-
-`group'
-     `-g' in `install'.
-
-`gzip'
-     `-z' in `tar' and `shar'.
-
-`hashsize'
-     `-H' in `m4'.
-
-`header'
-     `-h' in `objdump' and `recode'
-
-`heading'
-     `-H' in `who'.
-
-`help'
-     Used to ask for brief usage information.
-
-`here-delimiter'
-     `-d' in `shar'.
-
-`hide-control-chars'
-     `-q' in `ls'.
-
-`html'
-     In `makeinfo', output HTML.
-
-`idle'
-     `-u' in `who'.
-
-`ifdef'
-     `-D' in `diff'.
-
-`ignore'
-     `-I' in `ls'; `-x' in `recode'.
-
-`ignore-all-space'
-     `-w' in `diff'.
-
-`ignore-backups'
-     `-B' in `ls'.
-
-`ignore-blank-lines'
-     `-B' in `diff'.
-
-`ignore-case'
-     `-f' in `look' and `ptx'; `-i' in `diff' and `wdiff'.
-
-`ignore-errors'
-     `-i' in `make'.
-
-`ignore-file'
-     `-i' in `ptx'.
-
-`ignore-indentation'
-     `-I' in `etags'.
-
-`ignore-init-file'
-     `-f' in Oleo.
-
-`ignore-interrupts'
-     `-i' in `tee'.
-
-`ignore-matching-lines'
-     `-I' in `diff'.
-
-`ignore-space-change'
-     `-b' in `diff'.
-
-`ignore-zeros'
-     `-i' in `tar'.
-
-`include'
-     `-i' in `etags'; `-I' in `m4'.
-
-`include-dir'
-     `-I' in `make'.
-
-`incremental'
-     `-G' in `tar'.
-
-`info'
-     `-i', `-l', and `-m' in Finger.
-
-`init-file'
-     In some programs, specify the name of the file to read as the
-     user's init file.
-
-`initial'
-     `-i' in `expand'.
-
-`initial-tab'
-     `-T' in `diff'.
-
-`inode'
-     `-i' in `ls'.
-
-`interactive'
-     `-i' in `cp', `ln', `mv', `rm'; `-e' in `m4'; `-p' in `xargs';
-     `-w' in `tar'.
-
-`intermix-type'
-     `-p' in `shar'.
-
-`iso-8601'
-     Used in `date'
-
-`jobs'
-     `-j' in `make'.
-
-`just-print'
-     `-n' in `make'.
-
-`keep-going'
-     `-k' in `make'.
-
-`keep-files'
-     `-k' in `csplit'.
-
-`kilobytes'
-     `-k' in `du' and `ls'.
-
-`language'
-     `-l' in `etags'.
-
-`less-mode'
-     `-l' in `wdiff'.
-
-`level-for-gzip'
-     `-g' in `shar'.
-
-`line-bytes'
-     `-C' in `split'.
-
-`lines'
-     Used in `split', `head', and `tail'.
-
-`link'
-     `-l' in `cpio'.
-
-`lint'
-`lint-old'
-     Used in `gawk'.
-
-`list'
-     `-t' in `cpio'; `-l' in `recode'.
-
-`list'
-     `-t' in `tar'.
-
-`literal'
-     `-N' in `ls'.
-
-`load-average'
-     `-l' in `make'.
-
-`login'
-     Used in `su'.
-
-`machine'
-     Used in `uname'.
-
-`macro-name'
-     `-M' in `ptx'.
-
-`mail'
-     `-m' in `hello' and `uname'.
-
-`make-directories'
-     `-d' in `cpio'.
-
-`makefile'
-     `-f' in `make'.
-
-`mapped'
-     Used in GDB.
-
-`max-args'
-     `-n' in `xargs'.
-
-`max-chars'
-     `-n' in `xargs'.
-
-`max-lines'
-     `-l' in `xargs'.
-
-`max-load'
-     `-l' in `make'.
-
-`max-procs'
-     `-P' in `xargs'.
-
-`mesg'
-     `-T' in `who'.
-
-`message'
-     `-T' in `who'.
-
-`minimal'
-     `-d' in `diff'.
-
-`mixed-uuencode'
-     `-M' in `shar'.
-
-`mode'
-     `-m' in `install', `mkdir', and `mkfifo'.
-
-`modification-time'
-     `-m' in `tar'.
-
-`multi-volume'
-     `-M' in `tar'.
-
-`name-prefix'
-     `-a' in Bison.
-
-`nesting-limit'
-     `-L' in `m4'.
-
-`net-headers'
-     `-a' in `shar'.
-
-`new-file'
-     `-W' in `make'.
-
-`no-builtin-rules'
-     `-r' in `make'.
-
-`no-character-count'
-     `-w' in `shar'.
-
-`no-check-existing'
-     `-x' in `shar'.
-
-`no-common'
-     `-3' in `wdiff'.
-
-`no-create'
-     `-c' in `touch'.
-
-`no-defines'
-     `-D' in `etags'.
-
-`no-deleted'
-     `-1' in `wdiff'.
-
-`no-dereference'
-     `-d' in `cp'.
-
-`no-inserted'
-     `-2' in `wdiff'.
-
-`no-keep-going'
-     `-S' in `make'.
-
-`no-lines'
-     `-l' in Bison.
-
-`no-piping'
-     `-P' in `shar'.
-
-`no-prof'
-     `-e' in `gprof'.
-
-`no-regex'
-     `-R' in `etags'.
-
-`no-sort'
-     `-p' in `nm'.
-
-`no-splash'
-     Don't print a startup splash screen.
-
-`no-split'
-     Used in `makeinfo'.
-
-`no-static'
-     `-a' in `gprof'.
-
-`no-time'
-     `-E' in `gprof'.
-
-`no-timestamp'
-     `-m' in `shar'.
-
-`no-validate'
-     Used in `makeinfo'.
-
-`no-wait'
-     Used in `emacsclient'.
-
-`no-warn'
-     Used in various programs to inhibit warnings.
-
-`node'
-     `-n' in `info'.
-
-`nodename'
-     `-n' in `uname'.
-
-`nonmatching'
-     `-f' in `cpio'.
-
-`nstuff'
-     `-n' in `objdump'.
-
-`null'
-     `-0' in `xargs'.
-
-`number'
-     `-n' in `cat'.
-
-`number-nonblank'
-     `-b' in `cat'.
-
-`numeric-sort'
-     `-n' in `nm'.
-
-`numeric-uid-gid'
-     `-n' in `cpio' and `ls'.
-
-`nx'
-     Used in GDB.
-
-`old-archive'
-     `-o' in `tar'.
-
-`old-file'
-     `-o' in `make'.
-
-`one-file-system'
-     `-l' in `tar', `cp', and `du'.
-
-`only-file'
-     `-o' in `ptx'.
-
-`only-prof'
-     `-f' in `gprof'.
-
-`only-time'
-     `-F' in `gprof'.
-
-`options'
-     `-o' in `getopt', `fdlist', `fdmount', `fdmountd', and `fdumount'.
-
-`output'
-     In various programs, specify the output file name.
-
-`output-prefix'
-     `-o' in `shar'.
-
-`override'
-     `-o' in `rm'.
-
-`overwrite'
-     `-c' in `unshar'.
-
-`owner'
-     `-o' in `install'.
-
-`paginate'
-     `-l' in `diff'.
-
-`paragraph-indent'
-     Used in `makeinfo'.
-
-`parents'
-     `-p' in `mkdir' and `rmdir'.
-
-`pass-all'
-     `-p' in `ul'.
-
-`pass-through'
-     `-p' in `cpio'.
-
-`port'
-     `-P' in `finger'.
-
-`portability'
-     `-c' in `cpio' and `tar'.
-
-`posix'
-     Used in `gawk'.
-
-`prefix-builtins'
-     `-P' in `m4'.
-
-`prefix'
-     `-f' in `csplit'.
-
-`preserve'
-     Used in `tar' and `cp'.
-
-`preserve-environment'
-     `-p' in `su'.
-
-`preserve-modification-time'
-     `-m' in `cpio'.
-
-`preserve-order'
-     `-s' in `tar'.
-
-`preserve-permissions'
-     `-p' in `tar'.
-
-`print'
-     `-l' in `diff'.
-
-`print-chars'
-     `-L' in `cmp'.
-
-`print-data-base'
-     `-p' in `make'.
-
-`print-directory'
-     `-w' in `make'.
-
-`print-file-name'
-     `-o' in `nm'.
-
-`print-symdefs'
-     `-s' in `nm'.
-
-`printer'
-     `-p' in `wdiff'.
-
-`prompt'
-     `-p' in `ed'.
-
-`proxy'
-     Specify an HTTP proxy.
-
-`query-user'
-     `-X' in `shar'.
-
-`question'
-     `-q' in `make'.
-
-`quiet'
-     Used in many programs to inhibit the usual output.  Every program
-     accepting `--quiet' should accept `--silent' as a synonym.
-
-`quiet-unshar'
-     `-Q' in `shar'
-
-`quote-name'
-     `-Q' in `ls'.
-
-`rcs'
-     `-n' in `diff'.
-
-`re-interval'
-     Used in `gawk'.
-
-`read-full-blocks'
-     `-B' in `tar'.
-
-`readnow'
-     Used in GDB.
-
-`recon'
-     `-n' in `make'.
-
-`record-number'
-     `-R' in `tar'.
-
-`recursive'
-     Used in `chgrp', `chown', `cp', `ls', `diff', and `rm'.
-
-`reference'
-     `-r' in `touch'.
-
-`references'
-     `-r' in `ptx'.
-
-`regex'
-     `-r' in `tac' and `etags'.
-
-`release'
-     `-r' in `uname'.
-
-`reload-state'
-     `-R' in `m4'.
-
-`relocation'
-     `-r' in `objdump'.
-
-`rename'
-     `-r' in `cpio'.
-
-`replace'
-     `-i' in `xargs'.
-
-`report-identical-files'
-     `-s' in `diff'.
-
-`reset-access-time'
-     `-a' in `cpio'.
-
-`reverse'
-     `-r' in `ls' and `nm'.
-
-`reversed-ed'
-     `-f' in `diff'.
-
-`right-side-defs'
-     `-R' in `ptx'.
-
-`same-order'
-     `-s' in `tar'.
-
-`same-permissions'
-     `-p' in `tar'.
-
-`save'
-     `-g' in `stty'.
-
-`se'
-     Used in GDB.
-
-`sentence-regexp'
-     `-S' in `ptx'.
-
-`separate-dirs'
-     `-S' in `du'.
-
-`separator'
-     `-s' in `tac'.
-
-`sequence'
-     Used by `recode' to chose files or pipes for sequencing passes.
-
-`shell'
-     `-s' in `su'.
-
-`show-all'
-     `-A' in `cat'.
-
-`show-c-function'
-     `-p' in `diff'.
-
-`show-ends'
-     `-E' in `cat'.
-
-`show-function-line'
-     `-F' in `diff'.
-
-`show-tabs'
-     `-T' in `cat'.
-
-`silent'
-     Used in many programs to inhibit the usual output.  Every program
-     accepting `--silent' should accept `--quiet' as a synonym.
-
-`size'
-     `-s' in `ls'.
-
-`socket'
-     Specify a file descriptor for a network server to use for its
-     socket, instead of opening and binding a new socket.  This
-     provides a way to run, in a non-privileged process, a server that
-     normally needs a reserved port number.
-
-`sort'
-     Used in `ls'.
-
-`source'
-     `-W source' in `gawk'.
-
-`sparse'
-     `-S' in `tar'.
-
-`speed-large-files'
-     `-H' in `diff'.
-
-`split-at'
-     `-E' in `unshar'.
-
-`split-size-limit'
-     `-L' in `shar'.
-
-`squeeze-blank'
-     `-s' in `cat'.
-
-`start-delete'
-     `-w' in `wdiff'.
-
-`start-insert'
-     `-y' in `wdiff'.
-
-`starting-file'
-     Used in `tar' and `diff' to specify which file within a directory
-     to start processing with.
-
-`statistics'
-     `-s' in `wdiff'.
-
-`stdin-file-list'
-     `-S' in `shar'.
-
-`stop'
-     `-S' in `make'.
-
-`strict'
-     `-s' in `recode'.
-
-`strip'
-     `-s' in `install'.
-
-`strip-all'
-     `-s' in `strip'.
-
-`strip-debug'
-     `-S' in `strip'.
-
-`submitter'
-     `-s' in `shar'.
-
-`suffix'
-     `-S' in `cp', `ln', `mv'.
-
-`suffix-format'
-     `-b' in `csplit'.
-
-`sum'
-     `-s' in `gprof'.
-
-`summarize'
-     `-s' in `du'.
-
-`symbolic'
-     `-s' in `ln'.
-
-`symbols'
-     Used in GDB and `objdump'.
-
-`synclines'
-     `-s' in `m4'.
-
-`sysname'
-     `-s' in `uname'.
-
-`tabs'
-     `-t' in `expand' and `unexpand'.
-
-`tabsize'
-     `-T' in `ls'.
-
-`terminal'
-     `-T' in `tput' and `ul'.  `-t' in `wdiff'.
-
-`text'
-     `-a' in `diff'.
-
-`text-files'
-     `-T' in `shar'.
-
-`time'
-     Used in `ls' and `touch'.
-
-`timeout'
-     Specify how long to wait before giving up on some operation.
-
-`to-stdout'
-     `-O' in `tar'.
-
-`total'
-     `-c' in `du'.
-
-`touch'
-     `-t' in `make', `ranlib', and `recode'.
-
-`trace'
-     `-t' in `m4'.
-
-`traditional'
-     `-t' in `hello'; `-W traditional' in `gawk'; `-G' in `ed', `m4',
-     and `ptx'.
-
-`tty'
-     Used in GDB.
-
-`typedefs'
-     `-t' in `ctags'.
-
-`typedefs-and-c++'
-     `-T' in `ctags'.
-
-`typeset-mode'
-     `-t' in `ptx'.
-
-`uncompress'
-     `-z' in `tar'.
-
-`unconditional'
-     `-u' in `cpio'.
-
-`undefine'
-     `-U' in `m4'.
-
-`undefined-only'
-     `-u' in `nm'.
-
-`update'
-     `-u' in `cp', `ctags', `mv', `tar'.
-
-`usage'
-     Used in `gawk'; same as `--help'.
-
-`uuencode'
-     `-B' in `shar'.
-
-`vanilla-operation'
-     `-V' in `shar'.
-
-`verbose'
-     Print more information about progress.  Many programs support this.
-
-`verify'
-     `-W' in `tar'.
-
-`version'
-     Print the version number.
-
-`version-control'
-     `-V' in `cp', `ln', `mv'.
-
-`vgrind'
-     `-v' in `ctags'.
-
-`volume'
-     `-V' in `tar'.
-
-`what-if'
-     `-W' in `make'.
-
-`whole-size-limit'
-     `-l' in `shar'.
-
-`width'
-     `-w' in `ls' and `ptx'.
-
-`word-regexp'
-     `-W' in `ptx'.
-
-`writable'
-     `-T' in `who'.
-
-`zeros'
-     `-z' in `gprof'.
-
-
-File: standards.info,  Node: OID Allocations,  Next: Memory Usage,  Prev: Option Table,  Up: Program Behavior
-
-4.9 OID Allocations
-===================
-
-The OID (object identifier) 1.3.6.1.4.1.11591 has been assigned to the
-GNU Project (thanks to Werner Koch).  These are used for SNMP, LDAP,
-X.509 certificates, and so on.  The web site
-`http://www.alvestrand.no/objectid' has a (voluntary) listing of many
-OID assignments.
-
-   If you need a new slot for your GNU package, write
-<maintainers@gnu.org>.  Here is a list of arcs currently assigned:
-
-
-     1.3.6.1.4.1.11591 GNU
-
-     1.3.6.1.4.1.11591.1 GNU Radius
-
-     1.3.6.1.4.1.11591.2 GnuPG
-       1.3.6.1.4.1.11591.2.1   notation
-       1.3.6.1.4.1.11591.2.1.1 pkaAddress
-
-     1.3.6.1.4.1.11591.3 GNU Radar
-
-     1.3.6.1.4.1.11591.4 GNU GSS
-
-     1.3.6.1.4.1.11591.5 GNU Mailutils
-
-     1.3.6.1.4.1.11591.6 GNU Shishi
-
-     1.3.6.1.4.1.11591.7 GNU Radio
-
-     1.3.6.1.4.1.11591.12 digestAlgorithm
-       1.3.6.1.4.1.11591.12.2 TIGER/192
-       1.3.6.1.4.1.11591.13 encryptionAlgorithm
-         1.3.6.1.4.1.11591.13.2 Serpent
-           1.3.6.1.4.1.11591.13.2.1 Serpent-128-ECB
-           1.3.6.1.4.1.11591.13.2.2 Serpent-128-CBC
-           1.3.6.1.4.1.11591.13.2.3 Serpent-128-OFB
-           1.3.6.1.4.1.11591.13.2.4 Serpent-128-CFB
-           1.3.6.1.4.1.11591.13.2.21 Serpent-192-ECB
-           1.3.6.1.4.1.11591.13.2.22 Serpent-192-CBC
-           1.3.6.1.4.1.11591.13.2.23 Serpent-192-OFB
-           1.3.6.1.4.1.11591.13.2.24 Serpent-192-CFB
-           1.3.6.1.4.1.11591.13.2.41 Serpent-256-ECB
-           1.3.6.1.4.1.11591.13.2.42 Serpent-256-CBC
-           1.3.6.1.4.1.11591.13.2.43 Serpent-256-OFB
-           1.3.6.1.4.1.11591.13.2.44 Serpent-256-CFB
-       1.3.6.1.4.1.11591.14 CRC algorithms
-         1.3.6.1.4.1.11591.14.1 CRC 32
-
-
-File: standards.info,  Node: Memory Usage,  Next: File Usage,  Prev: OID Allocations,  Up: Program Behavior
-
-4.10 Memory Usage
-=================
-
-If a program typically uses just a few meg of memory, don't bother
-making any effort to reduce memory usage.  For example, if it is
-impractical for other reasons to operate on files more than a few meg
-long, it is reasonable to read entire input files into memory to
-operate on them.
-
-   However, for programs such as `cat' or `tail', that can usefully
-operate on very large files, it is important to avoid using a technique
-that would artificially limit the size of files it can handle.  If a
-program works by lines and could be applied to arbitrary user-supplied
-input files, it should keep only a line in memory, because this is not
-very hard and users will want to be able to operate on input files that
-are bigger than will fit in memory all at once.
-
-   If your program creates complicated data structures, just make them
-in memory and give a fatal error if `malloc' returns zero.
-
-
-File: standards.info,  Node: File Usage,  Prev: Memory Usage,  Up: Program Behavior
-
-4.11 File Usage
-===============
-
-Programs should be prepared to operate when `/usr' and `/etc' are
-read-only file systems.  Thus, if the program manages log files, lock
-files, backup files, score files, or any other files which are modified
-for internal purposes, these files should not be stored in `/usr' or
-`/etc'.
-
-   There are two exceptions.  `/etc' is used to store system
-configuration information; it is reasonable for a program to modify
-files in `/etc' when its job is to update the system configuration.
-Also, if the user explicitly asks to modify one file in a directory, it
-is reasonable for the program to store other files in the same
-directory.
-
-
-File: standards.info,  Node: Writing C,  Next: Documentation,  Prev: Program Behavior,  Up: Top
-
-5 Making The Best Use of C
-**************************
-
-This chapter provides advice on how best to use the C language when
-writing GNU software.
-
-* Menu:
-
-* Formatting::                  Formatting your source code.
-* Comments::                    Commenting your work.
-* Syntactic Conventions::       Clean use of C constructs.
-* Names::                       Naming variables, functions, and files.
-* System Portability::          Portability among different operating systems.
-* CPU Portability::             Supporting the range of CPU types.
-* System Functions::            Portability and ``standard'' library functions.
-* Internationalization::        Techniques for internationalization.
-* Character Set::               Use ASCII by default.
-* Quote Characters::            Use `...' in the C locale.
-* Mmap::                        How you can safely use `mmap'.
-
-
-File: standards.info,  Node: Formatting,  Next: Comments,  Up: Writing C
-
-5.1 Formatting Your Source Code
-===============================
-
-It is important to put the open-brace that starts the body of a C
-function in column one, so that they will start a defun.  Several tools
-look for open-braces in column one to find the beginnings of C
-functions.  These tools will not work on code not formatted that way.
-
-   Avoid putting open-brace, open-parenthesis or open-bracket in column
-one when they are inside a function, so that they won't start a defun.
-The open-brace that starts a `struct' body can go in column one if you
-find it useful to treat that definition as a defun.
-
-   It is also important for function definitions to start the name of
-the function in column one.  This helps people to search for function
-definitions, and may also help certain tools recognize them.  Thus,
-using Standard C syntax, the format is this:
-
-     static char *
-     concat (char *s1, char *s2)
-     {
-       ...
-     }
-
-or, if you want to use traditional C syntax, format the definition like
-this:
-
-     static char *
-     concat (s1, s2)        /* Name starts in column one here */
-          char *s1, *s2;
-     {                     /* Open brace in column one here */
-       ...
-     }
-
-   In Standard C, if the arguments don't fit nicely on one line, split
-it like this:
-
-     int
-     lots_of_args (int an_integer, long a_long, short a_short,
-                   double a_double, float a_float)
-     ...
-
-   The rest of this section gives our recommendations for other aspects
-of C formatting style, which is also the default style of the `indent'
-program in version 1.2 and newer.  It corresponds to the options
-
-     -nbad -bap -nbc -bbo -bl -bli2 -bls -ncdb -nce -cp1 -cs -di2
-     -ndj -nfc1 -nfca -hnl -i2 -ip5 -lp -pcs -psl -nsc -nsob
-
-   We don't think of these recommendations as requirements, because it
-causes no problems for users if two different programs have different
-formatting styles.
-
-   But whatever style you use, please use it consistently, since a
-mixture of styles within one program tends to look ugly.  If you are
-contributing changes to an existing program, please follow the style of
-that program.
-
-   For the body of the function, our recommended style looks like this:
-
-     if (x < foo (y, z))
-       haha = bar[4] + 5;
-     else
-       {
-         while (z)
-           {
-             haha += foo (z, z);
-             z--;
-           }
-         return ++x + bar ();
-       }
-
-   We find it easier to read a program when it has spaces before the
-open-parentheses and after the commas.  Especially after the commas.
-
-   When you split an expression into multiple lines, split it before an
-operator, not after one.  Here is the right way:
-
-     if (foo_this_is_long && bar > win (x, y, z)
-         && remaining_condition)
-
-   Try to avoid having two operators of different precedence at the same
-level of indentation.  For example, don't write this:
-
-     mode = (inmode[j] == VOIDmode
-             || GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])
-             ? outmode[j] : inmode[j]);
-
-   Instead, use extra parentheses so that the indentation shows the
-nesting:
-
-     mode = ((inmode[j] == VOIDmode
-              || (GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])))
-             ? outmode[j] : inmode[j]);
-
-   Insert extra parentheses so that Emacs will indent the code properly.
-For example, the following indentation looks nice if you do it by hand,
-
-     v = rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
-         + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000;
-
-but Emacs would alter it.  Adding a set of parentheses produces
-something that looks equally nice, and which Emacs will preserve:
-
-     v = (rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
-          + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000);
-
-   Format do-while statements like this:
-
-     do
-       {
-         a = foo (a);
-       }
-     while (a > 0);
-
-   Please use formfeed characters (control-L) to divide the program into
-pages at logical places (but not within a function).  It does not matter
-just how long the pages are, since they do not have to fit on a printed
-page.  The formfeeds should appear alone on lines by themselves.
-
-
-File: standards.info,  Node: Comments,  Next: Syntactic Conventions,  Prev: Formatting,  Up: Writing C
-
-5.2 Commenting Your Work
-========================
-
-Every program should start with a comment saying briefly what it is for.
-Example: `fmt - filter for simple filling of text'.  This comment
-should be at the top of the source file containing the `main' function
-of the program.
-
-   Also, please write a brief comment at the start of each source file,
-with the file name and a line or two about the overall purpose of the
-file.
-
-   Please write the comments in a GNU program in English, because
-English is the one language that nearly all programmers in all
-countries can read.  If you do not write English well, please write
-comments in English as well as you can, then ask other people to help
-rewrite them.  If you can't write comments in English, please find
-someone to work with you and translate your comments into English.
-
-   Please put a comment on each function saying what the function does,
-what sorts of arguments it gets, and what the possible values of
-arguments mean and are used for.  It is not necessary to duplicate in
-words the meaning of the C argument declarations, if a C type is being
-used in its customary fashion.  If there is anything nonstandard about
-its use (such as an argument of type `char *' which is really the
-address of the second character of a string, not the first), or any
-possible values that would not work the way one would expect (such as,
-that strings containing newlines are not guaranteed to work), be sure
-to say so.
-
-   Also explain the significance of the return value, if there is one.
-
-   Please put two spaces after the end of a sentence in your comments,
-so that the Emacs sentence commands will work.  Also, please write
-complete sentences and capitalize the first word.  If a lower-case
-identifier comes at the beginning of a sentence, don't capitalize it!
-Changing the spelling makes it a different identifier.  If you don't
-like starting a sentence with a lower case letter, write the sentence
-differently (e.g., "The identifier lower-case is ...").
-
-   The comment on a function is much clearer if you use the argument
-names to speak about the argument values.  The variable name itself
-should be lower case, but write it in upper case when you are speaking
-about the value rather than the variable itself.  Thus, "the inode
-number NODE_NUM" rather than "an inode".
-
-   There is usually no purpose in restating the name of the function in
-the comment before it, because the reader can see that for himself.
-There might be an exception when the comment is so long that the
-function itself would be off the bottom of the screen.
-
-   There should be a comment on each static variable as well, like this:
-
-     /* Nonzero means truncate lines in the display;
-        zero means continue them.  */
-     int truncate_lines;
-
-   Every `#endif' should have a comment, except in the case of short
-conditionals (just a few lines) that are not nested.  The comment should
-state the condition of the conditional that is ending, _including its
-sense_.  `#else' should have a comment describing the condition _and
-sense_ of the code that follows.  For example:
-
-     #ifdef foo
-       ...
-     #else /* not foo */
-       ...
-     #endif /* not foo */
-     #ifdef foo
-       ...
-     #endif /* foo */
-
-but, by contrast, write the comments this way for a `#ifndef':
-
-     #ifndef foo
-       ...
-     #else /* foo */
-       ...
-     #endif /* foo */
-     #ifndef foo
-       ...
-     #endif /* not foo */
-
-
-File: standards.info,  Node: Syntactic Conventions,  Next: Names,  Prev: Comments,  Up: Writing C
-
-5.3 Clean Use of C Constructs
-=============================
-
-Please explicitly declare the types of all objects.  For example, you
-should explicitly declare all arguments to functions, and you should
-declare functions to return `int' rather than omitting the `int'.
-
-   Some programmers like to use the GCC `-Wall' option, and change the
-code whenever it issues a warning.  If you want to do this, then do.
-Other programmers prefer not to use `-Wall', because it gives warnings
-for valid and legitimate code which they do not want to change.  If you
-want to do this, then do.  The compiler should be your servant, not
-your master.
-
-   Declarations of external functions and functions to appear later in
-the source file should all go in one place near the beginning of the
-file (somewhere before the first function definition in the file), or
-else should go in a header file.  Don't put `extern' declarations inside
-functions.
-
-   It used to be common practice to use the same local variables (with
-names like `tem') over and over for different values within one
-function.  Instead of doing this, it is better to declare a separate
-local variable for each distinct purpose, and give it a name which is
-meaningful.  This not only makes programs easier to understand, it also
-facilitates optimization by good compilers.  You can also move the
-declaration of each local variable into the smallest scope that includes
-all its uses.  This makes the program even cleaner.
-
-   Don't use local variables or parameters that shadow global
-identifiers.
-
-   Don't declare multiple variables in one declaration that spans lines.
-Start a new declaration on each line, instead.  For example, instead of
-this:
-
-     int    foo,
-            bar;
-
-write either this:
-
-     int foo, bar;
-
-or this:
-
-     int foo;
-     int bar;
-
-(If they are global variables, each should have a comment preceding it
-anyway.)
-
-   When you have an `if'-`else' statement nested in another `if'
-statement, always put braces around the `if'-`else'.  Thus, never write
-like this:
-
-     if (foo)
-       if (bar)
-         win ();
-       else
-         lose ();
-
-always like this:
-
-     if (foo)
-       {
-         if (bar)
-           win ();
-         else
-           lose ();
-       }
-
-   If you have an `if' statement nested inside of an `else' statement,
-either write `else if' on one line, like this,
-
-     if (foo)
-       ...
-     else if (bar)
-       ...
-
-with its `then'-part indented like the preceding `then'-part, or write
-the nested `if' within braces like this:
-
-     if (foo)
-       ...
-     else
-       {
-         if (bar)
-           ...
-       }
-
-   Don't declare both a structure tag and variables or typedefs in the
-same declaration.  Instead, declare the structure tag separately and
-then use it to declare the variables or typedefs.
-
-   Try to avoid assignments inside `if'-conditions (assignments inside
-`while'-conditions are ok).  For example, don't write this:
-
-     if ((foo = (char *) malloc (sizeof *foo)) == 0)
-       fatal ("virtual memory exhausted");
-
-instead, write this:
-
-     foo = (char *) malloc (sizeof *foo);
-     if (foo == 0)
-       fatal ("virtual memory exhausted");
-
-   Don't make the program ugly to placate `lint'.  Please don't insert
-any casts to `void'.  Zero without a cast is perfectly fine as a null
-pointer constant, except when calling a varargs function.
-
-
-File: standards.info,  Node: Names,  Next: System Portability,  Prev: Syntactic Conventions,  Up: Writing C
-
-5.4 Naming Variables, Functions, and Files
-==========================================
-
-The names of global variables and functions in a program serve as
-comments of a sort.  So don't choose terse names--instead, look for
-names that give useful information about the meaning of the variable or
-function.  In a GNU program, names should be English, like other
-comments.
-
-   Local variable names can be shorter, because they are used only
-within one context, where (presumably) comments explain their purpose.
-
-   Try to limit your use of abbreviations in symbol names.  It is ok to
-make a few abbreviations, explain what they mean, and then use them
-frequently, but don't use lots of obscure abbreviations.
-
-   Please use underscores to separate words in a name, so that the Emacs
-word commands can be useful within them.  Stick to lower case; reserve
-upper case for macros and `enum' constants, and for name-prefixes that
-follow a uniform convention.
-
-   For example, you should use names like `ignore_space_change_flag';
-don't use names like `iCantReadThis'.
-
-   Variables that indicate whether command-line options have been
-specified should be named after the meaning of the option, not after
-the option-letter.  A comment should state both the exact meaning of
-the option and its letter.  For example,
-
-     /* Ignore changes in horizontal whitespace (-b).  */
-     int ignore_space_change_flag;
-
-   When you want to define names with constant integer values, use
-`enum' rather than `#define'.  GDB knows about enumeration constants.
-
-   You might want to make sure that none of the file names would
-conflict if the files were loaded onto an MS-DOS file system which
-shortens the names.  You can use the program `doschk' to test for this.
-
-   Some GNU programs were designed to limit themselves to file names of
-14 characters or less, to avoid file name conflicts if they are read
-into older System V systems.  Please preserve this feature in the
-existing GNU programs that have it, but there is no need to do this in
-new GNU programs.  `doschk' also reports file names longer than 14
-characters.
-
-
-File: standards.info,  Node: System Portability,  Next: CPU Portability,  Prev: Names,  Up: Writing C
-
-5.5 Portability between System Types
-====================================
-
-In the Unix world, "portability" refers to porting to different Unix
-versions.  For a GNU program, this kind of portability is desirable, but
-not paramount.
-
-   The primary purpose of GNU software is to run on top of the GNU
-kernel, compiled with the GNU C compiler, on various types of CPU.  So
-the kinds of portability that are absolutely necessary are quite
-limited.  But it is important to support Linux-based GNU systems, since
-they are the form of GNU that is popular.
-
-   Beyond that, it is good to support the other free operating systems
-(*BSD), and it is nice to support other Unix-like systems if you want
-to.  Supporting a variety of Unix-like systems is desirable, although
-not paramount.  It is usually not too hard, so you may as well do it.
-But you don't have to consider it an obligation, if it does turn out to
-be hard.
-
-   The easiest way to achieve portability to most Unix-like systems is
-to use Autoconf.  It's unlikely that your program needs to know more
-information about the host platform than Autoconf can provide, simply
-because most of the programs that need such knowledge have already been
-written.
-
-   Avoid using the format of semi-internal data bases (e.g.,
-directories) when there is a higher-level alternative (`readdir').
-
-   As for systems that are not like Unix, such as MSDOS, Windows, VMS,
-MVS, and older Macintosh systems, supporting them is often a lot of
-work.  When that is the case, it is better to spend your time adding
-features that will be useful on GNU and GNU/Linux, rather than on
-supporting other incompatible systems.
-
-   If you do support Windows, please do not abbreviate it as "win".  In
-hacker terminology, calling something a "win" is a form of praise.
-You're free to praise Microsoft Windows on your own if you want, but
-please don't do this in GNU packages.  Instead of abbreviating
-"Windows" to "win", you can write it in full or abbreviate it to "woe"
-or "w".  In GNU Emacs, for instance, we use `w32' in file names of
-Windows-specific files, but the macro for Windows conditionals is
-called `WINDOWSNT'.
-
-   It is a good idea to define the "feature test macro" `_GNU_SOURCE'
-when compiling your C files.  When you compile on GNU or GNU/Linux,
-this will enable the declarations of GNU library extension functions,
-and that will usually give you a compiler error message if you define
-the same function names in some other way in your program.  (You don't
-have to actually _use_ these functions, if you prefer to make the
-program more portable to other systems.)
-
-   But whether or not you use these GNU extensions, you should avoid
-using their names for any other meanings.  Doing so would make it hard
-to move your code into other GNU programs.
-
-
-File: standards.info,  Node: CPU Portability,  Next: System Functions,  Prev: System Portability,  Up: Writing C
-
-5.6 Portability between CPUs
-============================
-
-Even GNU systems will differ because of differences among CPU
-types--for example, difference in byte ordering and alignment
-requirements.  It is absolutely essential to handle these differences.
-However, don't make any effort to cater to the possibility that an
-`int' will be less than 32 bits.  We don't support 16-bit machines in
-GNU.
-
-   Similarly, don't make any effort to cater to the possibility that
-`long' will be smaller than predefined types like `size_t'.  For
-example, the following code is ok:
-
-     printf ("size = %lu\n", (unsigned long) sizeof array);
-     printf ("diff = %ld\n", (long) (pointer2 - pointer1));
-
-   1989 Standard C requires this to work, and we know of only one
-counterexample: 64-bit programs on Microsoft Windows.  We will leave it
-to those who want to port GNU programs to that environment to figure
-out how to do it.
-
-   Predefined file-size types like `off_t' are an exception: they are
-longer than `long' on many platforms, so code like the above won't work
-with them.  One way to print an `off_t' value portably is to print its
-digits yourself, one by one.
-
-   Don't assume that the address of an `int' object is also the address
-of its least-significant byte.  This is false on big-endian machines.
-Thus, don't make the following mistake:
-
-     int c;
-     ...
-     while ((c = getchar ()) != EOF)
-       write (file_descriptor, &c, 1);
-
-Instead, use `unsigned char' as follows.  (The `unsigned' is for
-portability to unusual systems where `char' is signed and where there
-is integer overflow checking.)
-
-     int c;
-     while ((c = getchar ()) != EOF)
-       {
-         unsigned char u = c;
-         write (file_descriptor, &u, 1);
-       }
-
-   It used to be ok to not worry about the difference between pointers
-and integers when passing arguments to functions.  However, on most
-modern 64-bit machines pointers are wider than `int'.  Conversely,
-integer types like `long long int' and `off_t' are wider than pointers
-on most modern 32-bit machines.  Hence it's often better nowadays to
-use prototypes to define functions whose argument types are not trivial.
-
-   In particular, if functions accept varying argument counts or types
-they should be declared using prototypes containing `...' and defined
-using `stdarg.h'.  For an example of this, please see the Gnulib
-(http://www.gnu.org/software/gnulib/) error module, which declares and
-defines the following function:
-
-     /* Print a message with `fprintf (stderr, FORMAT, ...)';
-        if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
-        If STATUS is nonzero, terminate the program with `exit (STATUS)'.  */
-
-     void error (int status, int errnum, const char *format, ...);
-
-   A simple way to use the Gnulib error module is to obtain the two
-source files `error.c' and `error.h' from the Gnulib library source
-code repository at `http://git.savannah.gnu.org/gitweb/?p=gnulib.git'.
-Here's a sample use:
-
-     #include "error.h"
-     #include <errno.h>
-     #include <stdio.h>
-
-     char *program_name = "myprogram";
-
-     FILE *
-     xfopen (char const *name)
-     {
-       FILE *fp = fopen (name, "r");
-       if (! fp)
-         error (1, errno, "cannot read %s", name);
-       return fp;
-     }
-
-   Avoid casting pointers to integers if you can.  Such casts greatly
-reduce portability, and in most programs they are easy to avoid.  In the
-cases where casting pointers to integers is essential--such as, a Lisp
-interpreter which stores type information as well as an address in one
-word--you'll have to make explicit provisions to handle different word
-sizes.  You will also need to make provision for systems in which the
-normal range of addresses you can get from `malloc' starts far away
-from zero.
-
-
-File: standards.info,  Node: System Functions,  Next: Internationalization,  Prev: CPU Portability,  Up: Writing C
-
-5.7 Calling System Functions
-============================
-
-C implementations differ substantially.  Standard C reduces but does
-not eliminate the incompatibilities; meanwhile, many GNU packages still
-support pre-standard compilers because this is not hard to do.  This
-chapter gives recommendations for how to use the more-or-less standard C
-library functions to avoid unnecessary loss of portability.
-
-   * Don't use the return value of `sprintf'.  It returns the number of
-     characters written on some systems, but not on all systems.
-
-   * Be aware that `vfprintf' is not always available.
-
-   * `main' should be declared to return type `int'.  It should
-     terminate either by calling `exit' or by returning the integer
-     status code; make sure it cannot ever return an undefined value.
-
-   * Don't declare system functions explicitly.
-
-     Almost any declaration for a system function is wrong on some
-     system.  To minimize conflicts, leave it to the system header
-     files to declare system functions.  If the headers don't declare a
-     function, let it remain undeclared.
-
-     While it may seem unclean to use a function without declaring it,
-     in practice this works fine for most system library functions on
-     the systems where this really happens; thus, the disadvantage is
-     only theoretical.  By contrast, actual declarations have
-     frequently caused actual conflicts.
-
-   * If you must declare a system function, don't specify the argument
-     types.  Use an old-style declaration, not a Standard C prototype.
-     The more you specify about the function, the more likely a
-     conflict.
-
-   * In particular, don't unconditionally declare `malloc' or `realloc'.
-
-     Most GNU programs use those functions just once, in functions
-     conventionally named `xmalloc' and `xrealloc'.  These functions
-     call `malloc' and `realloc', respectively, and check the results.
-
-     Because `xmalloc' and `xrealloc' are defined in your program, you
-     can declare them in other files without any risk of type conflict.
-
-     On most systems, `int' is the same length as a pointer; thus, the
-     calls to `malloc' and `realloc' work fine.  For the few
-     exceptional systems (mostly 64-bit machines), you can use
-     *conditionalized* declarations of `malloc' and `realloc'--or put
-     these declarations in configuration files specific to those
-     systems.
-
-   * The string functions require special treatment.  Some Unix systems
-     have a header file `string.h'; others have `strings.h'.  Neither
-     file name is portable.  There are two things you can do: use
-     Autoconf to figure out which file to include, or don't include
-     either file.
-
-   * If you don't include either strings file, you can't get
-     declarations for the string functions from the header file in the
-     usual way.
-
-     That causes less of a problem than you might think.  The newer
-     standard string functions should be avoided anyway because many
-     systems still don't support them.  The string functions you can
-     use are these:
-
-          strcpy   strncpy   strcat   strncat
-          strlen   strcmp    strncmp
-          strchr   strrchr
-
-     The copy and concatenate functions work fine without a declaration
-     as long as you don't use their values.  Using their values without
-     a declaration fails on systems where the width of a pointer
-     differs from the width of `int', and perhaps in other cases.  It
-     is trivial to avoid using their values, so do that.
-
-     The compare functions and `strlen' work fine without a declaration
-     on most systems, possibly all the ones that GNU software runs on.
-     You may find it necessary to declare them *conditionally* on a few
-     systems.
-
-     The search functions must be declared to return `char *'.  Luckily,
-     there is no variation in the data type they return.  But there is
-     variation in their names.  Some systems give these functions the
-     names `index' and `rindex'; other systems use the names `strchr'
-     and `strrchr'.  Some systems support both pairs of names, but
-     neither pair works on all systems.
-
-     You should pick a single pair of names and use it throughout your
-     program.  (Nowadays, it is better to choose `strchr' and `strrchr'
-     for new programs, since those are the standard names.)  Declare
-     both of those names as functions returning `char *'.  On systems
-     which don't support those names, define them as macros in terms of
-     the other pair.  For example, here is what to put at the beginning
-     of your file (or in a header) if you want to use the names
-     `strchr' and `strrchr' throughout:
-
-          #ifndef HAVE_STRCHR
-          #define strchr index
-          #endif
-          #ifndef HAVE_STRRCHR
-          #define strrchr rindex
-          #endif
-
-          char *strchr ();
-          char *strrchr ();
-
-   Here we assume that `HAVE_STRCHR' and `HAVE_STRRCHR' are macros
-defined in systems where the corresponding functions exist.  One way to
-get them properly defined is to use Autoconf.
-
-
-File: standards.info,  Node: Internationalization,  Next: Character Set,  Prev: System Functions,  Up: Writing C
-
-5.8 Internationalization
-========================
-
-GNU has a library called GNU gettext that makes it easy to translate the
-messages in a program into various languages.  You should use this
-library in every program.  Use English for the messages as they appear
-in the program, and let gettext provide the way to translate them into
-other languages.
-
-   Using GNU gettext involves putting a call to the `gettext' macro
-around each string that might need translation--like this:
-
-     printf (gettext ("Processing file `%s'..."));
-
-This permits GNU gettext to replace the string `"Processing file
-`%s'..."' with a translated version.
-
-   Once a program uses gettext, please make a point of writing calls to
-`gettext' when you add new strings that call for translation.
-
-   Using GNU gettext in a package involves specifying a "text domain
-name" for the package.  The text domain name is used to separate the
-translations for this package from the translations for other packages.
-Normally, the text domain name should be the same as the name of the
-package--for example, `coreutils' for the GNU core utilities.
-
-   To enable gettext to work well, avoid writing code that makes
-assumptions about the structure of words or sentences.  When you want
-the precise text of a sentence to vary depending on the data, use two or
-more alternative string constants each containing a complete sentences,
-rather than inserting conditionalized words or phrases into a single
-sentence framework.
-
-   Here is an example of what not to do:
-
-     printf ("%s is full", capacity > 5000000 ? "disk" : "floppy disk");
-
-   If you apply gettext to all strings, like this,
-
-     printf (gettext ("%s is full"),
-             capacity > 5000000 ? gettext ("disk") : gettext ("floppy disk"));
-
-the translator will hardly know that "disk" and "floppy disk" are meant
-to be substituted in the other string.  Worse, in some languages (like
-French) the construction will not work: the translation of the word
-"full" depends on the gender of the first part of the sentence; it
-happens to be not the same for "disk" as for "floppy disk".
-
-   Complete sentences can be translated without problems:
-
-     printf (capacity > 5000000 ? gettext ("disk is full")
-             : gettext ("floppy disk is full"));
-
-   A similar problem appears at the level of sentence structure with
-this code:
-
-     printf ("#  Implicit rule search has%s been done.\n",
-             f->tried_implicit ? "" : " not");
-
-Adding `gettext' calls to this code cannot give correct results for all
-languages, because negation in some languages requires adding words at
-more than one place in the sentence.  By contrast, adding `gettext'
-calls does the job straightforwardly if the code starts out like this:
-
-     printf (f->tried_implicit
-             ? "#  Implicit rule search has been done.\n",
-             : "#  Implicit rule search has not been done.\n");
-
-   Another example is this one:
-
-     printf ("%d file%s processed", nfiles,
-             nfiles != 1 ? "s" : "");
-
-The problem with this example is that it assumes that plurals are made
-by adding `s'.  If you apply gettext to the format string, like this,
-
-     printf (gettext ("%d file%s processed"), nfiles,
-             nfiles != 1 ? "s" : "");
-
-the message can use different words, but it will still be forced to use
-`s' for the plural.  Here is a better way, with gettext being applied to
-the two strings independently:
-
-     printf ((nfiles != 1 ? gettext ("%d files processed")
-              : gettext ("%d file processed")),
-             nfiles);
-
-But this still doesn't work for languages like Polish, which has three
-plural forms: one for nfiles == 1, one for nfiles == 2, 3, 4, 22, 23,
-24, ...  and one for the rest.  The GNU `ngettext' function solves this
-problem:
-
-     printf (ngettext ("%d files processed", "%d file processed", nfiles),
-             nfiles);
-
-
-File: standards.info,  Node: Character Set,  Next: Quote Characters,  Prev: Internationalization,  Up: Writing C
-
-5.9 Character Set
-=================
-
-Sticking to the ASCII character set (plain text, 7-bit characters) is
-preferred in GNU source code comments, text documents, and other
-contexts, unless there is good reason to do something else because of
-the application domain.  For example, if source code deals with the
-French Revolutionary calendar, it is OK if its literal strings contain
-accented characters in month names like "Flore'al".  Also, it is OK to
-use non-ASCII characters to represent proper names of contributors in
-change logs (*note Change Logs::).
-
-   If you need to use non-ASCII characters, you should normally stick
-with one encoding, as one cannot in general mix encodings reliably.
-
-
-File: standards.info,  Node: Quote Characters,  Next: Mmap,  Prev: Character Set,  Up: Writing C
-
-5.10 Quote Characters
-=====================
-
-In the C locale, GNU programs should stick to plain ASCII for quotation
-characters in messages to users: preferably 0x60 (``') for left quotes
-and 0x27 (`'') for right quotes.  It is ok, but not required, to use
-locale-specific quotes in other locales.
-
-   The Gnulib (http://www.gnu.org/software/gnulib/) `quote' and
-`quotearg' modules provide a reasonably straightforward way to support
-locale-specific quote characters, as well as taking care of other
-issues, such as quoting a filename that itself contains a quote
-character.  See the Gnulib documentation for usage details.
-
-   In any case, the documentation for your program should clearly
-specify how it does quoting, if different than the preferred method of
-``' and `''.  This is especially important if the output of your
-program is ever likely to be parsed by another program.
-
-   Quotation characters are a difficult area in the computing world at
-this time: there are no true left or right quote characters in Latin1;
-the ``' character we use was standardized there as a grave accent.
-Moreover, Latin1 is still not universally usable.
-
-   Unicode contains the unambiguous quote characters required, and its
-common encoding UTF-8 is upward compatible with Latin1.  However,
-Unicode and UTF-8 are not universally well-supported, either.
-
-   This may change over the next few years, and then we will revisit
-this.
-
-
-File: standards.info,  Node: Mmap,  Prev: Quote Characters,  Up: Writing C
-
-5.11 Mmap
-=========
-
-Don't assume that `mmap' either works on all files or fails for all
-files.  It may work on some files and fail on others.
-
-   The proper way to use `mmap' is to try it on the specific file for
-which you want to use it--and if `mmap' doesn't work, fall back on
-doing the job in another way using `read' and `write'.
-
-   The reason this precaution is needed is that the GNU kernel (the
-HURD) provides a user-extensible file system, in which there can be many
-different kinds of "ordinary files."  Many of them support `mmap', but
-some do not.  It is important to make programs handle all these kinds
-of files.
-
-
-File: standards.info,  Node: Documentation,  Next: Managing Releases,  Prev: Writing C,  Up: Top
-
-6 Documenting Programs
-**********************
-
-A GNU program should ideally come with full free documentation, adequate
-for both reference and tutorial purposes.  If the package can be
-programmed or extended, the documentation should cover programming or
-extending it, as well as just using it.
-
-* Menu:
-
-* GNU Manuals::                 Writing proper manuals.
-* Doc Strings and Manuals::     Compiling doc strings doesn't make a manual.
-* Manual Structure Details::    Specific structure conventions.
-* License for Manuals::         Writing the distribution terms for a manual.
-* Manual Credits::              Giving credit to documentation contributors.
-* Printed Manuals::             Mentioning the printed manual.
-* NEWS File::                   NEWS files supplement manuals.
-* Change Logs::                 Recording changes.
-* Man Pages::                   Man pages are secondary.
-* Reading other Manuals::       How far you can go in learning
-                                from other manuals.
-
-
-File: standards.info,  Node: GNU Manuals,  Next: Doc Strings and Manuals,  Up: Documentation
-
-6.1 GNU Manuals
-===============
-
-The preferred document format for the GNU system is the Texinfo
-formatting language.  Every GNU package should (ideally) have
-documentation in Texinfo both for reference and for learners.  Texinfo
-makes it possible to produce a good quality formatted book, using TeX,
-and to generate an Info file.  It is also possible to generate HTML
-output from Texinfo source.  See the Texinfo manual, either the
-hardcopy, or the on-line version available through `info' or the Emacs
-Info subsystem (`C-h i').
-
-   Nowadays some other formats such as Docbook and Sgmltexi can be
-converted automatically into Texinfo.  It is ok to produce the Texinfo
-documentation by conversion this way, as long as it gives good results.
-
-   Make sure your manual is clear to a reader who knows nothing about
-the topic and reads it straight through.  This means covering basic
-topics at the beginning, and advanced topics only later.  This also
-means defining every specialized term when it is first used.
-
-   Programmers tend to carry over the structure of the program as the
-structure for its documentation.  But this structure is not necessarily
-good for explaining how to use the program; it may be irrelevant and
-confusing for a user.
-
-   Instead, the right way to structure documentation is according to the
-concepts and questions that a user will have in mind when reading it.
-This principle applies at every level, from the lowest (ordering
-sentences in a paragraph) to the highest (ordering of chapter topics
-within the manual).  Sometimes this structure of ideas matches the
-structure of the implementation of the software being documented--but
-often they are different.  An important part of learning to write good
-documentation is to learn to notice when you have unthinkingly
-structured the documentation like the implementation, stop yourself,
-and look for better alternatives.
-
-   For example, each program in the GNU system probably ought to be
-documented in one manual; but this does not mean each program should
-have its own manual.  That would be following the structure of the
-implementation, rather than the structure that helps the user
-understand.
-
-   Instead, each manual should cover a coherent _topic_.  For example,
-instead of a manual for `diff' and a manual for `diff3', we have one
-manual for "comparison of files" which covers both of those programs,
-as well as `cmp'.  By documenting these programs together, we can make
-the whole subject clearer.
-
-   The manual which discusses a program should certainly document all of
-the program's command-line options and all of its commands.  It should
-give examples of their use.  But don't organize the manual as a list of
-features.  Instead, organize it logically, by subtopics.  Address the
-questions that a user will ask when thinking about the job that the
-program does.  Don't just tell the reader what each feature can do--say
-what jobs it is good for, and show how to use it for those jobs.
-Explain what is recommended usage, and what kinds of usage users should
-avoid.
-
-   In general, a GNU manual should serve both as tutorial and reference.
-It should be set up for convenient access to each topic through Info,
-and for reading straight through (appendixes aside).  A GNU manual
-should give a good introduction to a beginner reading through from the
-start, and should also provide all the details that hackers want.  The
-Bison manual is a good example of this--please take a look at it to see
-what we mean.
-
-   That is not as hard as it first sounds.  Arrange each chapter as a
-logical breakdown of its topic, but order the sections, and write their
-text, so that reading the chapter straight through makes sense.  Do
-likewise when structuring the book into chapters, and when structuring a
-section into paragraphs.  The watchword is, _at each point, address the
-most fundamental and important issue raised by the preceding text._
-
-   If necessary, add extra chapters at the beginning of the manual which
-are purely tutorial and cover the basics of the subject.  These provide
-the framework for a beginner to understand the rest of the manual.  The
-Bison manual provides a good example of how to do this.
-
-   To serve as a reference, a manual should have an Index that list all
-the functions, variables, options, and important concepts that are part
-of the program.  One combined Index should do for a short manual, but
-sometimes for a complex package it is better to use multiple indices.
-The Texinfo manual includes advice on preparing good index entries, see
-*note Making Index Entries: (texinfo)Index Entries, and see *note
-Defining the Entries of an Index: (texinfo)Indexing Commands.
-
-   Don't use Unix man pages as a model for how to write GNU
-documentation; most of them are terse, badly structured, and give
-inadequate explanation of the underlying concepts.  (There are, of
-course, some exceptions.)  Also, Unix man pages use a particular format
-which is different from what we use in GNU manuals.
-
-   Please include an email address in the manual for where to report
-bugs _in the text of the manual_.
-
-   Please do not use the term "pathname" that is used in Unix
-documentation; use "file name" (two words) instead.  We use the term
-"path" only for search paths, which are lists of directory names.
-
-   Please do not use the term "illegal" to refer to erroneous input to
-a computer program.  Please use "invalid" for this, and reserve the
-term "illegal" for activities prohibited by law.
-
-   Please do not write `()' after a function name just to indicate it
-is a function.  `foo ()' is not a function, it is a function call with
-no arguments.
-
-
-File: standards.info,  Node: Doc Strings and Manuals,  Next: Manual Structure Details,  Prev: GNU Manuals,  Up: Documentation
-
-6.2 Doc Strings and Manuals
-===========================
-
-Some programming systems, such as Emacs, provide a documentation string
-for each function, command or variable.  You may be tempted to write a
-reference manual by compiling the documentation strings and writing a
-little additional text to go around them--but you must not do it.  That
-approach is a fundamental mistake.  The text of well-written
-documentation strings will be entirely wrong for a manual.
-
-   A documentation string needs to stand alone--when it appears on the
-screen, there will be no other text to introduce or explain it.
-Meanwhile, it can be rather informal in style.
-
-   The text describing a function or variable in a manual must not stand
-alone; it appears in the context of a section or subsection.  Other text
-at the beginning of the section should explain some of the concepts, and
-should often make some general points that apply to several functions or
-variables.  The previous descriptions of functions and variables in the
-section will also have given information about the topic.  A description
-written to stand alone would repeat some of that information; this
-redundancy looks bad.  Meanwhile, the informality that is acceptable in
-a documentation string is totally unacceptable in a manual.
-
-   The only good way to use documentation strings in writing a good
-manual is to use them as a source of information for writing good text.
-
-
-File: standards.info,  Node: Manual Structure Details,  Next: License for Manuals,  Prev: Doc Strings and Manuals,  Up: Documentation
-
-6.3 Manual Structure Details
-============================
-
-The title page of the manual should state the version of the programs or
-packages documented in the manual.  The Top node of the manual should
-also contain this information.  If the manual is changing more
-frequently than or independent of the program, also state a version
-number for the manual in both of these places.
-
-   Each program documented in the manual should have a node named
-`PROGRAM Invocation' or `Invoking PROGRAM'.  This node (together with
-its subnodes, if any) should describe the program's command line
-arguments and how to run it (the sort of information people would look
-for in a man page).  Start with an `@example' containing a template for
-all the options and arguments that the program uses.
-
-   Alternatively, put a menu item in some menu whose item name fits one
-of the above patterns.  This identifies the node which that item points
-to as the node for this purpose, regardless of the node's actual name.
-
-   The `--usage' feature of the Info reader looks for such a node or
-menu item in order to find the relevant text, so it is essential for
-every Texinfo file to have one.
-
-   If one manual describes several programs, it should have such a node
-for each program described in the manual.
-
-
-File: standards.info,  Node: License for Manuals,  Next: Manual Credits,  Prev: Manual Structure Details,  Up: Documentation
-
-6.4 License for Manuals
-=======================
-
-Please use the GNU Free Documentation License for all GNU manuals that
-are more than a few pages long.  Likewise for a collection of short
-documents--you only need one copy of the GNU FDL for the whole
-collection.  For a single short document, you can use a very permissive
-non-copyleft license, to avoid taking up space with a long license.
-
-   See `http://www.gnu.org/copyleft/fdl-howto.html' for more explanation
-of how to employ the GFDL.
-
-   Note that it is not obligatory to include a copy of the GNU GPL or
-GNU LGPL in a manual whose license is neither the GPL nor the LGPL.  It
-can be a good idea to include the program's license in a large manual;
-in a short manual, whose size would be increased considerably by
-including the program's license, it is probably better not to include
-it.
-
-
-File: standards.info,  Node: Manual Credits,  Next: Printed Manuals,  Prev: License for Manuals,  Up: Documentation
-
-6.5 Manual Credits
-==================
-
-Please credit the principal human writers of the manual as the authors,
-on the title page of the manual.  If a company sponsored the work, thank
-the company in a suitable place in the manual, but do not cite the
-company as an author.
-
-
-File: standards.info,  Node: Printed Manuals,  Next: NEWS File,  Prev: Manual Credits,  Up: Documentation
-
-6.6 Printed Manuals
-===================
-
-The FSF publishes some GNU manuals in printed form.  To encourage sales
-of these manuals, the on-line versions of the manual should mention at
-the very start that the printed manual is available and should point at
-information for getting it--for instance, with a link to the page
-`http://www.gnu.org/order/order.html'.  This should not be included in
-the printed manual, though, because there it is redundant.
-
-   It is also useful to explain in the on-line forms of the manual how
-the user can print out the manual from the sources.
-
-
-File: standards.info,  Node: NEWS File,  Next: Change Logs,  Prev: Printed Manuals,  Up: Documentation
-
-6.7 The NEWS File
-=================
-
-In addition to its manual, the package should have a file named `NEWS'
-which contains a list of user-visible changes worth mentioning.  In
-each new release, add items to the front of the file and identify the
-version they pertain to.  Don't discard old items; leave them in the
-file after the newer items.  This way, a user upgrading from any
-previous version can see what is new.
-
-   If the `NEWS' file gets very long, move some of the older items into
-a file named `ONEWS' and put a note at the end referring the user to
-that file.
-
-
-File: standards.info,  Node: Change Logs,  Next: Man Pages,  Prev: NEWS File,  Up: Documentation
-
-6.8 Change Logs
-===============
-
-Keep a change log to describe all the changes made to program source
-files.  The purpose of this is so that people investigating bugs in the
-future will know about the changes that might have introduced the bug.
-Often a new bug can be found by looking at what was recently changed.
-More importantly, change logs can help you eliminate conceptual
-inconsistencies between different parts of a program, by giving you a
-history of how the conflicting concepts arose and who they came from.
-
-* Menu:
-
-* Change Log Concepts::
-* Style of Change Logs::
-* Simple Changes::
-* Conditional Changes::
-* Indicating the Part Changed::
-
-
-File: standards.info,  Node: Change Log Concepts,  Next: Style of Change Logs,  Up: Change Logs
-
-6.8.1 Change Log Concepts
--------------------------
-
-You can think of the change log as a conceptual "undo list" which
-explains how earlier versions were different from the current version.
-People can see the current version; they don't need the change log to
-tell them what is in it.  What they want from a change log is a clear
-explanation of how the earlier version differed.
-
-   The change log file is normally called `ChangeLog' and covers an
-entire directory.  Each directory can have its own change log, or a
-directory can use the change log of its parent directory--it's up to
-you.
-
-   Another alternative is to record change log information with a
-version control system such as RCS or CVS.  This can be converted
-automatically to a `ChangeLog' file using `rcs2log'; in Emacs, the
-command `C-x v a' (`vc-update-change-log') does the job.
-
-   There's no need to describe the full purpose of the changes or how
-they work together.  However, sometimes it is useful to write one line
-to describe the overall purpose of a change or a batch of changes.  If
-you think that a change calls for explanation, you're probably right.
-Please do explain it--but please put the full explanation in comments
-in the code, where people will see it whenever they see the code.  For
-example, "New function" is enough for the change log when you add a
-function, because there should be a comment before the function
-definition to explain what it does.
-
-   In the past, we recommended not mentioning changes in non-software
-files (manuals, help files, etc.) in change logs.  However, we've been
-advised that it is a good idea to include them, for the sake of
-copyright records.
-
-   The easiest way to add an entry to `ChangeLog' is with the Emacs
-command `M-x add-change-log-entry'.  An entry should have an asterisk,
-the name of the changed file, and then in parentheses the name of the
-changed functions, variables or whatever, followed by a colon.  Then
-describe the changes you made to that function or variable.
-
-
-File: standards.info,  Node: Style of Change Logs,  Next: Simple Changes,  Prev: Change Log Concepts,  Up: Change Logs
-
-6.8.2 Style of Change Logs
---------------------------
-
-Here are some simple examples of change log entries, starting with the
-header line that says who made the change and when it was installed,
-followed by descriptions of specific changes.  (These examples are
-drawn from Emacs and GCC.)
-
-     1998-08-17  Richard Stallman  <rms@gnu.org>
-
-     * register.el (insert-register): Return nil.
-     (jump-to-register): Likewise.
-
-     * sort.el (sort-subr): Return nil.
-
-     * tex-mode.el (tex-bibtex-file, tex-file, tex-region):
-     Restart the tex shell if process is gone or stopped.
-     (tex-shell-running): New function.
-
-     * expr.c (store_one_arg): Round size up for move_block_to_reg.
-     (expand_call): Round up when emitting USE insns.
-     * stmt.c (assign_parms): Round size up for move_block_from_reg.
-
-   It's important to name the changed function or variable in full.
-Don't abbreviate function or variable names, and don't combine them.
-Subsequent maintainers will often search for a function name to find all
-the change log entries that pertain to it; if you abbreviate the name,
-they won't find it when they search.
-
-   For example, some people are tempted to abbreviate groups of function
-names by writing `* register.el ({insert,jump-to}-register)'; this is
-not a good idea, since searching for `jump-to-register' or
-`insert-register' would not find that entry.
-
-   Separate unrelated change log entries with blank lines.  When two
-entries represent parts of the same change, so that they work together,
-then don't put blank lines between them.  Then you can omit the file
-name and the asterisk when successive entries are in the same file.
-
-   Break long lists of function names by closing continued lines with
-`)', rather than `,', and opening the continuation with `(' as in this
-example:
-
-     * keyboard.c (menu_bar_items, tool_bar_items)
-     (Fexecute_extended_command): Deal with `keymap' property.
-
-   When you install someone else's changes, put the contributor's name
-in the change log entry rather than in the text of the entry.  In other
-words, write this:
-
-     2002-07-14  John Doe  <jdoe@gnu.org>
-
-             * sewing.c: Make it sew.
-
-rather than this:
-
-     2002-07-14  Usual Maintainer  <usual@gnu.org>
-
-             * sewing.c: Make it sew.  Patch by jdoe@gnu.org.
-
-   As for the date, that should be the date you applied the change.
-
-
-File: standards.info,  Node: Simple Changes,  Next: Conditional Changes,  Prev: Style of Change Logs,  Up: Change Logs
-
-6.8.3 Simple Changes
---------------------
-
-Certain simple kinds of changes don't need much detail in the change
-log.
-
-   When you change the calling sequence of a function in a simple
-fashion, and you change all the callers of the function to use the new
-calling sequence, there is no need to make individual entries for all
-the callers that you changed.  Just write in the entry for the function
-being called, "All callers changed"--like this:
-
-     * keyboard.c (Fcommand_execute): New arg SPECIAL.
-     All callers changed.
-
-   When you change just comments or doc strings, it is enough to write
-an entry for the file, without mentioning the functions.  Just "Doc
-fixes" is enough for the change log.
-
-   There's no technical need to make change log entries for
-documentation files.  This is because documentation is not susceptible
-to bugs that are hard to fix.  Documentation does not consist of parts
-that must interact in a precisely engineered fashion.  To correct an
-error, you need not know the history of the erroneous passage; it is
-enough to compare what the documentation says with the way the program
-actually works.
-
-   However, you should keep change logs for documentation files when the
-project gets copyright assignments from its contributors, so as to make
-the records of authorship more accurate.
-
-
-File: standards.info,  Node: Conditional Changes,  Next: Indicating the Part Changed,  Prev: Simple Changes,  Up: Change Logs
-
-6.8.4 Conditional Changes
--------------------------
-
-C programs often contain compile-time `#if' conditionals.  Many changes
-are conditional; sometimes you add a new definition which is entirely
-contained in a conditional.  It is very useful to indicate in the
-change log the conditions for which the change applies.
-
-   Our convention for indicating conditional changes is to use square
-brackets around the name of the condition.
-
-   Here is a simple example, describing a change which is conditional
-but does not have a function or entity name associated with it:
-
-     * xterm.c [SOLARIS2]: Include string.h.
-
-   Here is an entry describing a new definition which is entirely
-conditional.  This new definition for the macro `FRAME_WINDOW_P' is
-used only when `HAVE_X_WINDOWS' is defined:
-
-     * frame.h [HAVE_X_WINDOWS] (FRAME_WINDOW_P): Macro defined.
-
-   Here is an entry for a change within the function `init_display',
-whose definition as a whole is unconditional, but the changes themselves
-are contained in a `#ifdef HAVE_LIBNCURSES' conditional:
-
-     * dispnew.c (init_display) [HAVE_LIBNCURSES]: If X, call tgetent.
-
-   Here is an entry for a change that takes affect only when a certain
-macro is _not_ defined:
-
-     (gethostname) [!HAVE_SOCKETS]: Replace with winsock version.
-
-
-File: standards.info,  Node: Indicating the Part Changed,  Prev: Conditional Changes,  Up: Change Logs
-
-6.8.5 Indicating the Part Changed
----------------------------------
-
-Indicate the part of a function which changed by using angle brackets
-enclosing an indication of what the changed part does.  Here is an entry
-for a change in the part of the function `sh-while-getopts' that deals
-with `sh' commands:
-
-     * progmodes/sh-script.el (sh-while-getopts) <sh>: Handle case that
-     user-specified option string is empty.
-
-
-File: standards.info,  Node: Man Pages,  Next: Reading other Manuals,  Prev: Change Logs,  Up: Documentation
-
-6.9 Man Pages
-=============
-
-In the GNU project, man pages are secondary.  It is not necessary or
-expected for every GNU program to have a man page, but some of them do.
-It's your choice whether to include a man page in your program.
-
-   When you make this decision, consider that supporting a man page
-requires continual effort each time the program is changed.  The time
-you spend on the man page is time taken away from more useful work.
-
-   For a simple program which changes little, updating the man page may
-be a small job.  Then there is little reason not to include a man page,
-if you have one.
-
-   For a large program that changes a great deal, updating a man page
-may be a substantial burden.  If a user offers to donate a man page,
-you may find this gift costly to accept.  It may be better to refuse
-the man page unless the same person agrees to take full responsibility
-for maintaining it--so that you can wash your hands of it entirely.  If
-this volunteer later ceases to do the job, then don't feel obliged to
-pick it up yourself; it may be better to withdraw the man page from the
-distribution until someone else agrees to update it.
-
-   When a program changes only a little, you may feel that the
-discrepancies are small enough that the man page remains useful without
-updating.  If so, put a prominent note near the beginning of the man
-page explaining that you don't maintain it and that the Texinfo manual
-is more authoritative.  The note should say how to access the Texinfo
-documentation.
-
-   Be sure that man pages include a copyright statement and free
-license.  The simple all-permissive license is appropriate for simple
-man pages (*note License Notices for Other Files: (maintain)License
-Notices for Other Files.).
-
-   For long man pages, with enough explanation and documentation that
-they can be considered true manuals, use the GFDL (*note License for
-Manuals::).
-
-   Finally, the GNU help2man program
-(`http://www.gnu.org/software/help2man/') is one way to automate
-generation of a man page, in this case from `--help' output.  This is
-sufficient in many cases.
-
-
-File: standards.info,  Node: Reading other Manuals,  Prev: Man Pages,  Up: Documentation
-
-6.10 Reading other Manuals
-==========================
-
-There may be non-free books or documentation files that describe the
-program you are documenting.
-
-   It is ok to use these documents for reference, just as the author of
-a new algebra textbook can read other books on algebra.  A large portion
-of any non-fiction book consists of facts, in this case facts about how
-a certain program works, and these facts are necessarily the same for
-everyone who writes about the subject.  But be careful not to copy your
-outline structure, wording, tables or examples from preexisting non-free
-documentation.  Copying from free documentation may be ok; please check
-with the FSF about the individual case.
-
-
-File: standards.info,  Node: Managing Releases,  Next: References,  Prev: Documentation,  Up: Top
-
-7 The Release Process
-*********************
-
-Making a release is more than just bundling up your source files in a
-tar file and putting it up for FTP.  You should set up your software so
-that it can be configured to run on a variety of systems.  Your Makefile
-should conform to the GNU standards described below, and your directory
-layout should also conform to the standards discussed below.  Doing so
-makes it easy to include your package into the larger framework of all
-GNU software.
-
-* Menu:
-
-* Configuration::               How configuration of GNU packages should work.
-* Makefile Conventions::        Makefile conventions.
-* Releases::                    Making releases
-
-
-File: standards.info,  Node: Configuration,  Next: Makefile Conventions,  Up: Managing Releases
-
-7.1 How Configuration Should Work
-=================================
-
-Each GNU distribution should come with a shell script named
-`configure'.  This script is given arguments which describe the kind of
-machine and system you want to compile the program for.  The
-`configure' script must record the configuration options so that they
-affect compilation.
-
-   The description here is the specification of the interface for the
-`configure' script in GNU packages.  Many packages implement it using
-GNU Autoconf (*note Introduction: (autoconf)Top.)  and/or GNU Automake
-(*note Introduction: (automake)Top.), but you do not have to use these
-tools.  You can implement it any way you like; for instance, by making
-`configure' be a wrapper around a completely different configuration
-system.
-
-   Another way for the `configure' script to operate is to make a link
-from a standard name such as `config.h' to the proper configuration
-file for the chosen system.  If you use this technique, the
-distribution should _not_ contain a file named `config.h'.  This is so
-that people won't be able to build the program without configuring it
-first.
-
-   Another thing that `configure' can do is to edit the Makefile.  If
-you do this, the distribution should _not_ contain a file named
-`Makefile'.  Instead, it should include a file `Makefile.in' which
-contains the input used for editing.  Once again, this is so that people
-won't be able to build the program without configuring it first.
-
-   If `configure' does write the `Makefile', then `Makefile' should
-have a target named `Makefile' which causes `configure' to be rerun,
-setting up the same configuration that was set up last time.  The files
-that `configure' reads should be listed as dependencies of `Makefile'.
-
-   All the files which are output from the `configure' script should
-have comments at the beginning explaining that they were generated
-automatically using `configure'.  This is so that users won't think of
-trying to edit them by hand.
-
-   The `configure' script should write a file named `config.status'
-which describes which configuration options were specified when the
-program was last configured.  This file should be a shell script which,
-if run, will recreate the same configuration.
-
-   The `configure' script should accept an option of the form
-`--srcdir=DIRNAME' to specify the directory where sources are found (if
-it is not the current directory).  This makes it possible to build the
-program in a separate directory, so that the actual source directory is
-not modified.
-
-   If the user does not specify `--srcdir', then `configure' should
-check both `.' and `..' to see if it can find the sources.  If it finds
-the sources in one of these places, it should use them from there.
-Otherwise, it should report that it cannot find the sources, and should
-exit with nonzero status.
-
-   Usually the easy way to support `--srcdir' is by editing a
-definition of `VPATH' into the Makefile.  Some rules may need to refer
-explicitly to the specified source directory.  To make this possible,
-`configure' can add to the Makefile a variable named `srcdir' whose
-value is precisely the specified directory.
-
-   In addition, the `configure' script should take options
-corresponding to most of the standard directory variables (*note
-Directory Variables::).  Here is the list:
-
-     --prefix --exec-prefix --bindir --sbindir --libexecdir --sysconfdir
-     --sharedstatedir --localstatedir --libdir --includedir --oldincludedir
-     --datarootdir --datadir --infodir --localedir --mandir --docdir
-     --htmldir --dvidir --pdfdir --psdir
-
-   The `configure' script should also take an argument which specifies
-the type of system to build the program for.  This argument should look
-like this:
-
-     CPU-COMPANY-SYSTEM
-
-   For example, an Athlon-based GNU/Linux system might be
-`i686-pc-linux-gnu'.
-
-   The `configure' script needs to be able to decode all plausible
-alternatives for how to describe a machine.  Thus,
-`athlon-pc-gnu/linux' would be a valid alias.  There is a shell script
-called `config.sub'
-(http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD)
-that you can use as a subroutine to validate system types and
-canonicalize aliases.
-
-   The `configure' script should also take the option
-`--build=BUILDTYPE', which should be equivalent to a plain BUILDTYPE
-argument.  For example, `configure --build=i686-pc-linux-gnu' is
-equivalent to `configure i686-pc-linux-gnu'.  When the build type is
-not specified by an option or argument, the `configure' script should
-normally guess it using the shell script `config.guess'
-(http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD).
-
-   Other options are permitted to specify in more detail the software
-or hardware present on the machine, to include or exclude optional parts
-of the package, or to adjust the name of some tools or arguments to
-them:
-
-`--enable-FEATURE[=PARAMETER]'
-     Configure the package to build and install an optional user-level
-     facility called FEATURE.  This allows users to choose which
-     optional features to include.  Giving an optional PARAMETER of
-     `no' should omit FEATURE, if it is built by default.
-
-     No `--enable' option should *ever* cause one feature to replace
-     another.  No `--enable' option should ever substitute one useful
-     behavior for another useful behavior.  The only proper use for
-     `--enable' is for questions of whether to build part of the program
-     or exclude it.
-
-`--with-PACKAGE'
-     The package PACKAGE will be installed, so configure this package
-     to work with PACKAGE.
-
-     Possible values of PACKAGE include `gnu-as' (or `gas'), `gnu-ld',
-     `gnu-libc', `gdb', `x', and `x-toolkit'.
-
-     Do not use a `--with' option to specify the file name to use to
-     find certain files.  That is outside the scope of what `--with'
-     options are for.
-
-`VARIABLE=VALUE'
-     Set the value of the variable VARIABLE to VALUE.  This is used to
-     override the default values of commands or arguments in the build
-     process.  For example, the user could issue `configure CFLAGS=-g
-     CXXFLAGS=-g' to build with debugging information and without the
-     default optimization.
-
-     Specifying variables as arguments to `configure', like this:
-          ./configure CC=gcc
-     is preferable to setting them in environment variables:
-          CC=gcc ./configure
-     as it helps to recreate the same configuration later with
-     `config.status'.  However, both methods should be supported.
-
-   All `configure' scripts should accept all of the "detail" options
-and the variable settings, whether or not they make any difference to
-the particular package at hand.  In particular, they should accept any
-option that starts with `--with-' or `--enable-'.  This is so users
-will be able to configure an entire GNU source tree at once with a
-single set of options.
-
-   You will note that the categories `--with-' and `--enable-' are
-narrow: they *do not* provide a place for any sort of option you might
-think of.  That is deliberate.  We want to limit the possible
-configuration options in GNU software.  We do not want GNU programs to
-have idiosyncratic configuration options.
-
-   Packages that perform part of the compilation process may support
-cross-compilation.  In such a case, the host and target machines for the
-program may be different.
-
-   The `configure' script should normally treat the specified type of
-system as both the host and the target, thus producing a program which
-works for the same type of machine that it runs on.
-
-   To compile a program to run on a host type that differs from the
-build type, use the configure option `--host=HOSTTYPE', where HOSTTYPE
-uses the same syntax as BUILDTYPE.  The host type normally defaults to
-the build type.
-
-   To configure a cross-compiler, cross-assembler, or what have you, you
-should specify a target different from the host, using the configure
-option `--target=TARGETTYPE'.  The syntax for TARGETTYPE is the same as
-for the host type.  So the command would look like this:
-
-     ./configure --host=HOSTTYPE --target=TARGETTYPE
-
-   The target type normally defaults to the host type.  Programs for
-which cross-operation is not meaningful need not accept the `--target'
-option, because configuring an entire operating system for
-cross-operation is not a meaningful operation.
-
-   Some programs have ways of configuring themselves automatically.  If
-your program is set up to do this, your `configure' script can simply
-ignore most of its arguments.
-
-
-File: standards.info,  Node: Makefile Conventions,  Next: Releases,  Prev: Configuration,  Up: Managing Releases
-
-7.2 Makefile Conventions
-========================
-
-This node describes conventions for writing the Makefiles for GNU
-programs.  Using Automake will help you write a Makefile that follows
-these conventions.
-
-* Menu:
-
-* Makefile Basics::             General conventions for Makefiles.
-* Utilities in Makefiles::      Utilities to be used in Makefiles.
-* Command Variables::           Variables for specifying commands.
-* DESTDIR::                     Supporting staged installs.
-* Directory Variables::         Variables for installation directories.
-* Standard Targets::            Standard targets for users.
-* Install Command Categories::  Three categories of commands in the `install'
-                                  rule: normal, pre-install and post-install.
-
-
-File: standards.info,  Node: Makefile Basics,  Next: Utilities in Makefiles,  Up: Makefile Conventions
-
-7.2.1 General Conventions for Makefiles
----------------------------------------
-
-Every Makefile should contain this line:
-
-     SHELL = /bin/sh
-
-to avoid trouble on systems where the `SHELL' variable might be
-inherited from the environment.  (This is never a problem with GNU
-`make'.)
-
-   Different `make' programs have incompatible suffix lists and
-implicit rules, and this sometimes creates confusion or misbehavior.  So
-it is a good idea to set the suffix list explicitly using only the
-suffixes you need in the particular Makefile, like this:
-
-     .SUFFIXES:
-     .SUFFIXES: .c .o
-
-The first line clears out the suffix list, the second introduces all
-suffixes which may be subject to implicit rules in this Makefile.
-
-   Don't assume that `.' is in the path for command execution.  When
-you need to run programs that are a part of your package during the
-make, please make sure that it uses `./' if the program is built as
-part of the make or `$(srcdir)/' if the file is an unchanging part of
-the source code.  Without one of these prefixes, the current search
-path is used.
-
-   The distinction between `./' (the "build directory") and
-`$(srcdir)/' (the "source directory") is important because users can
-build in a separate directory using the `--srcdir' option to
-`configure'.  A rule of the form:
-
-     foo.1 : foo.man sedscript
-             sed -e sedscript foo.man > foo.1
-
-will fail when the build directory is not the source directory, because
-`foo.man' and `sedscript' are in the source directory.
-
-   When using GNU `make', relying on `VPATH' to find the source file
-will work in the case where there is a single dependency file, since
-the `make' automatic variable `$<' will represent the source file
-wherever it is.  (Many versions of `make' set `$<' only in implicit
-rules.)  A Makefile target like
-
-     foo.o : bar.c
-             $(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o
-
-should instead be written as
-
-     foo.o : bar.c
-             $(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@
-
-in order to allow `VPATH' to work correctly.  When the target has
-multiple dependencies, using an explicit `$(srcdir)' is the easiest way
-to make the rule work well.  For example, the target above for `foo.1'
-is best written as:
-
-     foo.1 : foo.man sedscript
-             sed -e $(srcdir)/sedscript $(srcdir)/foo.man > $@
-
-   GNU distributions usually contain some files which are not source
-files--for example, Info files, and the output from Autoconf, Automake,
-Bison or Flex.  Since these files normally appear in the source
-directory, they should always appear in the source directory, not in the
-build directory.  So Makefile rules to update them should put the
-updated files in the source directory.
-
-   However, if a file does not appear in the distribution, then the
-Makefile should not put it in the source directory, because building a
-program in ordinary circumstances should not modify the source directory
-in any way.
-
-   Try to make the build and installation targets, at least (and all
-their subtargets) work correctly with a parallel `make'.
-
-
-File: standards.info,  Node: Utilities in Makefiles,  Next: Command Variables,  Prev: Makefile Basics,  Up: Makefile Conventions
-
-7.2.2 Utilities in Makefiles
-----------------------------
-
-Write the Makefile commands (and any shell scripts, such as
-`configure') to run in `sh', not in `csh'.  Don't use any special
-features of `ksh' or `bash'.
-
-   The `configure' script and the Makefile rules for building and
-installation should not use any utilities directly except these:
-
-     cat cmp cp diff echo egrep expr false grep install-info
-     ln ls mkdir mv pwd rm rmdir sed sleep sort tar test touch true
-
-   The compression program `gzip' can be used in the `dist' rule.
-
-   Stick to the generally supported options for these programs.  For
-example, don't use `mkdir -p', convenient as it may be, because most
-systems don't support it.
-
-   It is a good idea to avoid creating symbolic links in makefiles,
-since a few systems don't support them.
-
-   The Makefile rules for building and installation can also use
-compilers and related programs, but should do so via `make' variables
-so that the user can substitute alternatives.  Here are some of the
-programs we mean:
-
-     ar bison cc flex install ld ldconfig lex
-     make makeinfo ranlib texi2dvi yacc
-
-   Use the following `make' variables to run those programs:
-
-     $(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LDCONFIG) $(LEX)
-     $(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)
-
-   When you use `ranlib' or `ldconfig', you should make sure nothing
-bad happens if the system does not have the program in question.
-Arrange to ignore an error from that command, and print a message before
-the command to tell the user that failure of this command does not mean
-a problem.  (The Autoconf `AC_PROG_RANLIB' macro can help with this.)
-
-   If you use symbolic links, you should implement a fallback for
-systems that don't have symbolic links.
-
-   Additional utilities that can be used via Make variables are:
-
-     chgrp chmod chown mknod
-
-   It is ok to use other utilities in Makefile portions (or scripts)
-intended only for particular systems where you know those utilities
-exist.
-
-
-File: standards.info,  Node: Command Variables,  Next: DESTDIR,  Prev: Utilities in Makefiles,  Up: Makefile Conventions
-
-7.2.3 Variables for Specifying Commands
----------------------------------------
-
-Makefiles should provide variables for overriding certain commands,
-options, and so on.
-
-   In particular, you should run most utility programs via variables.
-Thus, if you use Bison, have a variable named `BISON' whose default
-value is set with `BISON = bison', and refer to it with `$(BISON)'
-whenever you need to use Bison.
-
-   File management utilities such as `ln', `rm', `mv', and so on, need
-not be referred to through variables in this way, since users don't
-need to replace them with other programs.
-
-   Each program-name variable should come with an options variable that
-is used to supply options to the program.  Append `FLAGS' to the
-program-name variable name to get the options variable name--for
-example, `BISONFLAGS'.  (The names `CFLAGS' for the C compiler,
-`YFLAGS' for yacc, and `LFLAGS' for lex, are exceptions to this rule,
-but we keep them because they are standard.)  Use `CPPFLAGS' in any
-compilation command that runs the preprocessor, and use `LDFLAGS' in
-any compilation command that does linking as well as in any direct use
-of `ld'.
-
-   If there are C compiler options that _must_ be used for proper
-compilation of certain files, do not include them in `CFLAGS'.  Users
-expect to be able to specify `CFLAGS' freely themselves.  Instead,
-arrange to pass the necessary options to the C compiler independently
-of `CFLAGS', by writing them explicitly in the compilation commands or
-by defining an implicit rule, like this:
-
-     CFLAGS = -g
-     ALL_CFLAGS = -I. $(CFLAGS)
-     .c.o:
-             $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
-
-   Do include the `-g' option in `CFLAGS', because that is not
-_required_ for proper compilation.  You can consider it a default that
-is only recommended.  If the package is set up so that it is compiled
-with GCC by default, then you might as well include `-O' in the default
-value of `CFLAGS' as well.
-
-   Put `CFLAGS' last in the compilation command, after other variables
-containing compiler options, so the user can use `CFLAGS' to override
-the others.
-
-   `CFLAGS' should be used in every invocation of the C compiler, both
-those which do compilation and those which do linking.
-
-   Every Makefile should define the variable `INSTALL', which is the
-basic command for installing a file into the system.
-
-   Every Makefile should also define the variables `INSTALL_PROGRAM'
-and `INSTALL_DATA'.  (The default for `INSTALL_PROGRAM' should be
-`$(INSTALL)'; the default for `INSTALL_DATA' should be `${INSTALL} -m
-644'.)  Then it should use those variables as the commands for actual
-installation, for executables and non-executables respectively.
-Minimal use of these variables is as follows:
-
-     $(INSTALL_PROGRAM) foo $(bindir)/foo
-     $(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
-
-   However, it is preferable to support a `DESTDIR' prefix on the
-target files, as explained in the next section.
-
-Always use a file name, not a directory name, as the second argument of
-the installation commands.  Use a separate command for each file to be
-installed.
-
-
-File: standards.info,  Node: DESTDIR,  Next: Directory Variables,  Prev: Command Variables,  Up: Makefile Conventions
-
-7.2.4 `DESTDIR': support for staged installs
---------------------------------------------
-
-`DESTDIR' is a variable prepended to each installed target file, like
-this:
-
-     $(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
-     $(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
-
-   The `DESTDIR' variable is specified by the user on the `make'
-command line.  For example:
-
-     make DESTDIR=/tmp/stage install
-
-`DESTDIR' should be supported only in the `install*' and `uninstall*'
-targets, as those are the only targets where it is useful.
-
-   If your installation step would normally install
-`/usr/local/bin/foo' and `/usr/local/lib/libfoo.a', then an
-installation invoked as in the example above would install
-`/tmp/stage/usr/local/bin/foo' and `/tmp/stage/usr/local/lib/libfoo.a'
-instead.
-
-   Prepending the variable `DESTDIR' to each target in this way
-provides for "staged installs", where the installed files are not
-placed directly into their expected location but are instead copied
-into a temporary location (`DESTDIR').  However, installed files
-maintain their relative directory structure and any embedded file names
-will not be modified.
-
-   You should not set the value of `DESTDIR' in your `Makefile' at all;
-then the files are installed into their expected locations by default.
-Also, specifying `DESTDIR' should not change the operation of the
-software in any way, so its value should not be included in any file
-contents.
-
-   `DESTDIR' support is commonly used in package creation.  It is also
-helpful to users who want to understand what a given package will
-install where, and to allow users who don't normally have permissions
-to install into protected areas to build and install before gaining
-those permissions.  Finally, it can be useful with tools such as
-`stow', where code is installed in one place but made to appear to be
-installed somewhere else using symbolic links or special mount
-operations.  So, we strongly recommend GNU packages support `DESTDIR',
-though it is not an absolute requirement.
-
-
-File: standards.info,  Node: Directory Variables,  Next: Standard Targets,  Prev: DESTDIR,  Up: Makefile Conventions
-
-7.2.5 Variables for Installation Directories
---------------------------------------------
-
-Installation directories should always be named by variables, so it is
-easy to install in a nonstandard place.  The standard names for these
-variables and the values they should have in GNU packages are described
-below.  They are based on a standard file system layout; variants of it
-are used in GNU/Linux and other modern operating systems.
-
-   Installers are expected to override these values when calling `make'
-(e.g., `make prefix=/usr install' or `configure' (e.g., `configure
---prefix=/usr').  GNU packages should not try to guess which value
-should be appropriate for these variables on the system they are being
-installed onto: use the default settings specified here so that all GNU
-packages behave identically, allowing the installer to achieve any
-desired layout.
-
-   These first two variables set the root for the installation.  All the
-other installation directories should be subdirectories of one of these
-two, and nothing should be directly installed into these two
-directories.
-
-`prefix'
-     A prefix used in constructing the default values of the variables
-     listed below.  The default value of `prefix' should be
-     `/usr/local'.  When building the complete GNU system, the prefix
-     will be empty and `/usr' will be a symbolic link to `/'.  (If you
-     are using Autoconf, write it as `@prefix@'.)
-
-     Running `make install' with a different value of `prefix' from the
-     one used to build the program should _not_ recompile the program.
-
-`exec_prefix'
-     A prefix used in constructing the default values of some of the
-     variables listed below.  The default value of `exec_prefix' should
-     be `$(prefix)'.  (If you are using Autoconf, write it as
-     `@exec_prefix@'.)
-
-     Generally, `$(exec_prefix)' is used for directories that contain
-     machine-specific files (such as executables and subroutine
-     libraries), while `$(prefix)' is used directly for other
-     directories.
-
-     Running `make install' with a different value of `exec_prefix'
-     from the one used to build the program should _not_ recompile the
-     program.
-
-   Executable programs are installed in one of the following
-directories.
-
-`bindir'
-     The directory for installing executable programs that users can
-     run.  This should normally be `/usr/local/bin', but write it as
-     `$(exec_prefix)/bin'.  (If you are using Autoconf, write it as
-     `@bindir@'.)
-
-`sbindir'
-     The directory for installing executable programs that can be run
-     from the shell, but are only generally useful to system
-     administrators.  This should normally be `/usr/local/sbin', but
-     write it as `$(exec_prefix)/sbin'.  (If you are using Autoconf,
-     write it as `@sbindir@'.)
-
-`libexecdir'
-     The directory for installing executable programs to be run by other
-     programs rather than by users.  This directory should normally be
-     `/usr/local/libexec', but write it as `$(exec_prefix)/libexec'.
-     (If you are using Autoconf, write it as `@libexecdir@'.)
-
-     The definition of `libexecdir' is the same for all packages, so
-     you should install your data in a subdirectory thereof.  Most
-     packages install their data under `$(libexecdir)/PACKAGE-NAME/',
-     possibly within additional subdirectories thereof, such as
-     `$(libexecdir)/PACKAGE-NAME/MACHINE/VERSION'.
-
-   Data files used by the program during its execution are divided into
-categories in two ways.
-
-   * Some files are normally modified by programs; others are never
-     normally modified (though users may edit some of these).
-
-   * Some files are architecture-independent and can be shared by all
-     machines at a site; some are architecture-dependent and can be
-     shared only by machines of the same kind and operating system;
-     others may never be shared between two machines.
-
-   This makes for six different possibilities.  However, we want to
-discourage the use of architecture-dependent files, aside from object
-files and libraries.  It is much cleaner to make other data files
-architecture-independent, and it is generally not hard.
-
-   Here are the variables Makefiles should use to specify directories
-to put these various kinds of files in:
-
-`datarootdir'
-     The root of the directory tree for read-only
-     architecture-independent data files.  This should normally be
-     `/usr/local/share', but write it as `$(prefix)/share'.  (If you
-     are using Autoconf, write it as `@datarootdir@'.)  `datadir''s
-     default value is based on this variable; so are `infodir',
-     `mandir', and others.
-
-`datadir'
-     The directory for installing idiosyncratic read-only
-     architecture-independent data files for this program.  This is
-     usually the same place as `datarootdir', but we use the two
-     separate variables so that you can move these program-specific
-     files without altering the location for Info files, man pages, etc.
-
-     This should normally be `/usr/local/share', but write it as
-     `$(datarootdir)'.  (If you are using Autoconf, write it as
-     `@datadir@'.)
-
-     The definition of `datadir' is the same for all packages, so you
-     should install your data in a subdirectory thereof.  Most packages
-     install their data under `$(datadir)/PACKAGE-NAME/'.
-
-`sysconfdir'
-     The directory for installing read-only data files that pertain to a
-     single machine-that is to say, files for configuring a host.
-     Mailer and network configuration files, `/etc/passwd', and so
-     forth belong here.  All the files in this directory should be
-     ordinary ASCII text files.  This directory should normally be
-     `/usr/local/etc', but write it as `$(prefix)/etc'.  (If you are
-     using Autoconf, write it as `@sysconfdir@'.)
-
-     Do not install executables here in this directory (they probably
-     belong in `$(libexecdir)' or `$(sbindir)').  Also do not install
-     files that are modified in the normal course of their use (programs
-     whose purpose is to change the configuration of the system
-     excluded).  Those probably belong in `$(localstatedir)'.
-
-`sharedstatedir'
-     The directory for installing architecture-independent data files
-     which the programs modify while they run.  This should normally be
-     `/usr/local/com', but write it as `$(prefix)/com'.  (If you are
-     using Autoconf, write it as `@sharedstatedir@'.)
-
-`localstatedir'
-     The directory for installing data files which the programs modify
-     while they run, and that pertain to one specific machine.  Users
-     should never need to modify files in this directory to configure
-     the package's operation; put such configuration information in
-     separate files that go in `$(datadir)' or `$(sysconfdir)'.
-     `$(localstatedir)' should normally be `/usr/local/var', but write
-     it as `$(prefix)/var'.  (If you are using Autoconf, write it as
-     `@localstatedir@'.)
-
-   These variables specify the directory for installing certain specific
-types of files, if your program has them.  Every GNU package should
-have Info files, so every program needs `infodir', but not all need
-`libdir' or `lispdir'.
-
-`includedir'
-     The directory for installing header files to be included by user
-     programs with the C `#include' preprocessor directive.  This
-     should normally be `/usr/local/include', but write it as
-     `$(prefix)/include'.  (If you are using Autoconf, write it as
-     `@includedir@'.)
-
-     Most compilers other than GCC do not look for header files in
-     directory `/usr/local/include'.  So installing the header files
-     this way is only useful with GCC.  Sometimes this is not a problem
-     because some libraries are only really intended to work with GCC.
-     But some libraries are intended to work with other compilers.
-     They should install their header files in two places, one
-     specified by `includedir' and one specified by `oldincludedir'.
-
-`oldincludedir'
-     The directory for installing `#include' header files for use with
-     compilers other than GCC.  This should normally be `/usr/include'.
-     (If you are using Autoconf, you can write it as `@oldincludedir@'.)
-
-     The Makefile commands should check whether the value of
-     `oldincludedir' is empty.  If it is, they should not try to use
-     it; they should cancel the second installation of the header files.
-
-     A package should not replace an existing header in this directory
-     unless the header came from the same package.  Thus, if your Foo
-     package provides a header file `foo.h', then it should install the
-     header file in the `oldincludedir' directory if either (1) there
-     is no `foo.h' there or (2) the `foo.h' that exists came from the
-     Foo package.
-
-     To tell whether `foo.h' came from the Foo package, put a magic
-     string in the file--part of a comment--and `grep' for that string.
-
-`docdir'
-     The directory for installing documentation files (other than Info)
-     for this package.  By default, it should be
-     `/usr/local/share/doc/YOURPKG', but it should be written as
-     `$(datarootdir)/doc/YOURPKG'.  (If you are using Autoconf, write
-     it as `@docdir@'.)  The YOURPKG subdirectory, which may include a
-     version number, prevents collisions among files with common names,
-     such as `README'.
-
-`infodir'
-     The directory for installing the Info files for this package.  By
-     default, it should be `/usr/local/share/info', but it should be
-     written as `$(datarootdir)/info'.  (If you are using Autoconf,
-     write it as `@infodir@'.)  `infodir' is separate from `docdir' for
-     compatibility with existing practice.
-
-`htmldir'
-`dvidir'
-`pdfdir'
-`psdir'
-     Directories for installing documentation files in the particular
-     format.  They should all be set to `$(docdir)' by default.  (If
-     you are using Autoconf, write them as `@htmldir@', `@dvidir@',
-     etc.)  Packages which supply several translations of their
-     documentation should install them in `$(htmldir)/'LL,
-     `$(pdfdir)/'LL, etc. where LL is a locale abbreviation such as
-     `en' or `pt_BR'.
-
-`libdir'
-     The directory for object files and libraries of object code.  Do
-     not install executables here, they probably ought to go in
-     `$(libexecdir)' instead.  The value of `libdir' should normally be
-     `/usr/local/lib', but write it as `$(exec_prefix)/lib'.  (If you
-     are using Autoconf, write it as `@libdir@'.)
-
-`lispdir'
-     The directory for installing any Emacs Lisp files in this package.
-     By default, it should be `/usr/local/share/emacs/site-lisp', but it
-     should be written as `$(datarootdir)/emacs/site-lisp'.
-
-     If you are using Autoconf, write the default as `@lispdir@'.  In
-     order to make `@lispdir@' work, you need the following lines in
-     your `configure.in' file:
-
-          lispdir='${datarootdir}/emacs/site-lisp'
-          AC_SUBST(lispdir)
-
-`localedir'
-     The directory for installing locale-specific message catalogs for
-     this package.  By default, it should be `/usr/local/share/locale',
-     but it should be written as `$(datarootdir)/locale'.  (If you are
-     using Autoconf, write it as `@localedir@'.)  This directory
-     usually has a subdirectory per locale.
-
-   Unix-style man pages are installed in one of the following:
-
-`mandir'
-     The top-level directory for installing the man pages (if any) for
-     this package.  It will normally be `/usr/local/share/man', but you
-     should write it as `$(datarootdir)/man'.  (If you are using
-     Autoconf, write it as `@mandir@'.)
-
-`man1dir'
-     The directory for installing section 1 man pages.  Write it as
-     `$(mandir)/man1'.
-
-`man2dir'
-     The directory for installing section 2 man pages.  Write it as
-     `$(mandir)/man2'
-
-`...'
-     *Don't make the primary documentation for any GNU software be a
-     man page.  Write a manual in Texinfo instead.  Man pages are just
-     for the sake of people running GNU software on Unix, which is a
-     secondary application only.*
-
-`manext'
-     The file name extension for the installed man page.  This should
-     contain a period followed by the appropriate digit; it should
-     normally be `.1'.
-
-`man1ext'
-     The file name extension for installed section 1 man pages.
-
-`man2ext'
-     The file name extension for installed section 2 man pages.
-
-`...'
-     Use these names instead of `manext' if the package needs to
-     install man pages in more than one section of the manual.
-
-   And finally, you should set the following variable:
-
-`srcdir'
-     The directory for the sources being compiled.  The value of this
-     variable is normally inserted by the `configure' shell script.
-     (If you are using Autoconf, use `srcdir = @srcdir@'.)
-
-   For example:
-
-     # Common prefix for installation directories.
-     # NOTE: This directory must exist when you start the install.
-     prefix = /usr/local
-     datarootdir = $(prefix)/share
-     datadir = $(datarootdir)
-     exec_prefix = $(prefix)
-     # Where to put the executable for the command `gcc'.
-     bindir = $(exec_prefix)/bin
-     # Where to put the directories used by the compiler.
-     libexecdir = $(exec_prefix)/libexec
-     # Where to put the Info files.
-     infodir = $(datarootdir)/info
-
-   If your program installs a large number of files into one of the
-standard user-specified directories, it might be useful to group them
-into a subdirectory particular to that program.  If you do this, you
-should write the `install' rule to create these subdirectories.
-
-   Do not expect the user to include the subdirectory name in the value
-of any of the variables listed above.  The idea of having a uniform set
-of variable names for installation directories is to enable the user to
-specify the exact same values for several different GNU packages.  In
-order for this to be useful, all the packages must be designed so that
-they will work sensibly when the user does so.
-
-   At times, not all of these variables may be implemented in the
-current release of Autoconf and/or Automake; but as of Autoconf 2.60, we
-believe all of them are.  When any are missing, the descriptions here
-serve as specifications for what Autoconf will implement.  As a
-programmer, you can either use a development version of Autoconf or
-avoid using these variables until a stable release is made which
-supports them.
-
-
-File: standards.info,  Node: Standard Targets,  Next: Install Command Categories,  Prev: Directory Variables,  Up: Makefile Conventions
-
-7.2.6 Standard Targets for Users
---------------------------------
-
-All GNU programs should have the following targets in their Makefiles:
-
-`all'
-     Compile the entire program.  This should be the default target.
-     This target need not rebuild any documentation files; Info files
-     should normally be included in the distribution, and DVI (and other
-     documentation format) files should be made only when explicitly
-     asked for.
-
-     By default, the Make rules should compile and link with `-g', so
-     that executable programs have debugging symbols.  Users who don't
-     mind being helpless can strip the executables later if they wish.
-
-`install'
-     Compile the program and copy the executables, libraries, and so on
-     to the file names where they should reside for actual use.  If
-     there is a simple test to verify that a program is properly
-     installed, this target should run that test.
-
-     Do not strip executables when installing them.  Devil-may-care
-     users can use the `install-strip' target to do that.
-
-     If possible, write the `install' target rule so that it does not
-     modify anything in the directory where the program was built,
-     provided `make all' has just been done.  This is convenient for
-     building the program under one user name and installing it under
-     another.
-
-     The commands should create all the directories in which files are
-     to be installed, if they don't already exist.  This includes the
-     directories specified as the values of the variables `prefix' and
-     `exec_prefix', as well as all subdirectories that are needed.  One
-     way to do this is by means of an `installdirs' target as described
-     below.
-
-     Use `-' before any command for installing a man page, so that
-     `make' will ignore any errors.  This is in case there are systems
-     that don't have the Unix man page documentation system installed.
-
-     The way to install Info files is to copy them into `$(infodir)'
-     with `$(INSTALL_DATA)' (*note Command Variables::), and then run
-     the `install-info' program if it is present.  `install-info' is a
-     program that edits the Info `dir' file to add or update the menu
-     entry for the given Info file; it is part of the Texinfo package.
-     Here is a sample rule to install an Info file:
-
-          $(DESTDIR)$(infodir)/foo.info: foo.info
-                  $(POST_INSTALL)
-          # There may be a newer info file in . than in srcdir.
-                  -if test -f foo.info; then d=.; \
-                   else d=$(srcdir); fi; \
-                  $(INSTALL_DATA) $$d/foo.info $(DESTDIR)$@; \
-          # Run install-info only if it exists.
-          # Use `if' instead of just prepending `-' to the
-          # line so we notice real errors from install-info.
-          # We use `$(SHELL) -c' because some shells do not
-          # fail gracefully when there is an unknown command.
-                  if $(SHELL) -c 'install-info --version' \
-                     >/dev/null 2>&1; then \
-                    install-info --dir-file=$(DESTDIR)$(infodir)/dir \
-                                 $(DESTDIR)$(infodir)/foo.info; \
-                  else true; fi
-
-     When writing the `install' target, you must classify all the
-     commands into three categories: normal ones, "pre-installation"
-     commands and "post-installation" commands.  *Note Install Command
-     Categories::.
-
-`install-html'
-`install-dvi'
-`install-pdf'
-`install-ps'
-     These targets install documentation in formats other than Info;
-     they're intended to be called explicitly by the person installing
-     the package, if that format is desired.  GNU prefers Info files,
-     so these must be installed by the `install' target.
-
-     When you have many documentation files to install, we recommend
-     that you avoid collisions and clutter by arranging for these
-     targets to install in subdirectories of the appropriate
-     installation directory, such as `htmldir'.  As one example, if
-     your package has multiple manuals, and you wish to install HTML
-     documentation with many files (such as the "split" mode output by
-     `makeinfo --html'), you'll certainly want to use subdirectories,
-     or two nodes with the same name in different manuals will
-     overwrite each other.
-
-     Please make these `install-FORMAT' targets invoke the commands for
-     the FORMAT target, for example, by making FORMAT a dependency.
-
-`uninstall'
-     Delete all the installed files--the copies that the `install' and
-     `install-*' targets create.
-
-     This rule should not modify the directories where compilation is
-     done, only the directories where files are installed.
-
-     The uninstallation commands are divided into three categories,
-     just like the installation commands.  *Note Install Command
-     Categories::.
-
-`install-strip'
-     Like `install', but strip the executable files while installing
-     them.  In simple cases, this target can use the `install' target in
-     a simple way:
-
-          install-strip:
-                  $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
-                          install
-
-     But if the package installs scripts as well as real executables,
-     the `install-strip' target can't just refer to the `install'
-     target; it has to strip the executables but not the scripts.
-
-     `install-strip' should not strip the executables in the build
-     directory which are being copied for installation.  It should only
-     strip the copies that are installed.
-
-     Normally we do not recommend stripping an executable unless you
-     are sure the program has no bugs.  However, it can be reasonable
-     to install a stripped executable for actual execution while saving
-     the unstripped executable elsewhere in case there is a bug.
-
-`clean'
-     Delete all files in the current directory that are normally
-     created by building the program.  Also delete files in other
-     directories if they are created by this makefile.  However, don't
-     delete the files that record the configuration.  Also preserve
-     files that could be made by building, but normally aren't because
-     the distribution comes with them.  There is no need to delete
-     parent directories that were created with `mkdir -p', since they
-     could have existed anyway.
-
-     Delete `.dvi' files here if they are not part of the distribution.
-
-`distclean'
-     Delete all files in the current directory (or created by this
-     makefile) that are created by configuring or building the program.
-     If you have unpacked the source and built the program without
-     creating any other files, `make distclean' should leave only the
-     files that were in the distribution.  However, there is no need to
-     delete parent directories that were created with `mkdir -p', since
-     they could have existed anyway.
-
-`mostlyclean'
-     Like `clean', but may refrain from deleting a few files that people
-     normally don't want to recompile.  For example, the `mostlyclean'
-     target for GCC does not delete `libgcc.a', because recompiling it
-     is rarely necessary and takes a lot of time.
-
-`maintainer-clean'
-     Delete almost everything that can be reconstructed with this
-     Makefile.  This typically includes everything deleted by
-     `distclean', plus more: C source files produced by Bison, tags
-     tables, Info files, and so on.
-
-     The reason we say "almost everything" is that running the command
-     `make maintainer-clean' should not delete `configure' even if
-     `configure' can be remade using a rule in the Makefile.  More
-     generally, `make maintainer-clean' should not delete anything that
-     needs to exist in order to run `configure' and then begin to build
-     the program.  Also, there is no need to delete parent directories
-     that were created with `mkdir -p', since they could have existed
-     anyway.  These are the only exceptions; `maintainer-clean' should
-     delete everything else that can be rebuilt.
-
-     The `maintainer-clean' target is intended to be used by a
-     maintainer of the package, not by ordinary users.  You may need
-     special tools to reconstruct some of the files that `make
-     maintainer-clean' deletes.  Since these files are normally
-     included in the distribution, we don't take care to make them easy
-     to reconstruct.  If you find you need to unpack the full
-     distribution again, don't blame us.
-
-     To help make users aware of this, the commands for the special
-     `maintainer-clean' target should start with these two:
-
-          @echo 'This command is intended for maintainers to use; it'
-          @echo 'deletes files that may need special tools to rebuild.'
-
-`TAGS'
-     Update a tags table for this program.
-
-`info'
-     Generate any Info files needed.  The best way to write the rules
-     is as follows:
-
-          info: foo.info
-
-          foo.info: foo.texi chap1.texi chap2.texi
-                  $(MAKEINFO) $(srcdir)/foo.texi
-
-     You must define the variable `MAKEINFO' in the Makefile.  It should
-     run the `makeinfo' program, which is part of the Texinfo
-     distribution.
-
-     Normally a GNU distribution comes with Info files, and that means
-     the Info files are present in the source directory.  Therefore,
-     the Make rule for an info file should update it in the source
-     directory.  When users build the package, ordinarily Make will not
-     update the Info files because they will already be up to date.
-
-`dvi'
-`html'
-`pdf'
-`ps'
-     Generate documentation files in the given format.  These targets
-     should always exist, but any or all can be a no-op if the given
-     output format cannot be generated.  These targets should not be
-     dependencies of the `all' target; the user must manually invoke
-     them.
-
-     Here's an example rule for generating DVI files from Texinfo:
-
-          dvi: foo.dvi
-
-          foo.dvi: foo.texi chap1.texi chap2.texi
-                  $(TEXI2DVI) $(srcdir)/foo.texi
-
-     You must define the variable `TEXI2DVI' in the Makefile.  It should
-     run the program `texi2dvi', which is part of the Texinfo
-     distribution.(1)  Alternatively, write just the dependencies, and
-     allow GNU `make' to provide the command.
-
-     Here's another example, this one for generating HTML from Texinfo:
-
-          html: foo.html
-
-          foo.html: foo.texi chap1.texi chap2.texi
-                  $(TEXI2HTML) $(srcdir)/foo.texi
-
-     Again, you would define the variable `TEXI2HTML' in the Makefile;
-     for example, it might run `makeinfo --no-split --html' (`makeinfo'
-     is part of the Texinfo distribution).
-
-`dist'
-     Create a distribution tar file for this program.  The tar file
-     should be set up so that the file names in the tar file start with
-     a subdirectory name which is the name of the package it is a
-     distribution for.  This name can include the version number.
-
-     For example, the distribution tar file of GCC version 1.40 unpacks
-     into a subdirectory named `gcc-1.40'.
-
-     The easiest way to do this is to create a subdirectory
-     appropriately named, use `ln' or `cp' to install the proper files
-     in it, and then `tar' that subdirectory.
-
-     Compress the tar file with `gzip'.  For example, the actual
-     distribution file for GCC version 1.40 is called `gcc-1.40.tar.gz'.
-
-     The `dist' target should explicitly depend on all non-source files
-     that are in the distribution, to make sure they are up to date in
-     the distribution.  *Note Making Releases: Releases.
-
-`check'
-     Perform self-tests (if any).  The user must build the program
-     before running the tests, but need not install the program; you
-     should write the self-tests so that they work when the program is
-     built but not installed.
-
-   The following targets are suggested as conventional names, for
-programs in which they are useful.
-
-`installcheck'
-     Perform installation tests (if any).  The user must build and
-     install the program before running the tests.  You should not
-     assume that `$(bindir)' is in the search path.
-
-`installdirs'
-     It's useful to add a target named `installdirs' to create the
-     directories where files are installed, and their parent
-     directories.  There is a script called `mkinstalldirs' which is
-     convenient for this; you can find it in the Texinfo package.  You
-     can use a rule like this:
-
-          # Make sure all installation directories (e.g. $(bindir))
-          # actually exist by making them if necessary.
-          installdirs: mkinstalldirs
-                  $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
-                                          $(libdir) $(infodir) \
-                                          $(mandir)
-
-     or, if you wish to support `DESTDIR',
-
-          # Make sure all installation directories (e.g. $(bindir))
-          # actually exist by making them if necessary.
-          installdirs: mkinstalldirs
-                  $(srcdir)/mkinstalldirs \
-                      $(DESTDIR)$(bindir) $(DESTDIR)$(datadir) \
-                      $(DESTDIR)$(libdir) $(DESTDIR)$(infodir) \
-                      $(DESTDIR)$(mandir)
-
-     This rule should not modify the directories where compilation is
-     done.  It should do nothing but create installation directories.
-
-   ---------- Footnotes ----------
-
-   (1) `texi2dvi' uses TeX to do the real work of formatting. TeX is
-not distributed with Texinfo.
-
-
-File: standards.info,  Node: Install Command Categories,  Prev: Standard Targets,  Up: Makefile Conventions
-
-7.2.7 Install Command Categories
---------------------------------
-
-When writing the `install' target, you must classify all the commands
-into three categories: normal ones, "pre-installation" commands and
-"post-installation" commands.
-
-   Normal commands move files into their proper places, and set their
-modes.  They may not alter any files except the ones that come entirely
-from the package they belong to.
-
-   Pre-installation and post-installation commands may alter other
-files; in particular, they can edit global configuration files or data
-bases.
-
-   Pre-installation commands are typically executed before the normal
-commands, and post-installation commands are typically run after the
-normal commands.
-
-   The most common use for a post-installation command is to run
-`install-info'.  This cannot be done with a normal command, since it
-alters a file (the Info directory) which does not come entirely and
-solely from the package being installed.  It is a post-installation
-command because it needs to be done after the normal command which
-installs the package's Info files.
-
-   Most programs don't need any pre-installation commands, but we have
-the feature just in case it is needed.
-
-   To classify the commands in the `install' rule into these three
-categories, insert "category lines" among them.  A category line
-specifies the category for the commands that follow.
-
-   A category line consists of a tab and a reference to a special Make
-variable, plus an optional comment at the end.  There are three
-variables you can use, one for each category; the variable name
-specifies the category.  Category lines are no-ops in ordinary execution
-because these three Make variables are normally undefined (and you
-_should not_ define them in the makefile).
-
-   Here are the three possible category lines, each with a comment that
-explains what it means:
-
-             $(PRE_INSTALL)     # Pre-install commands follow.
-             $(POST_INSTALL)    # Post-install commands follow.
-             $(NORMAL_INSTALL)  # Normal commands follow.
-
-   If you don't use a category line at the beginning of the `install'
-rule, all the commands are classified as normal until the first category
-line.  If you don't use any category lines, all the commands are
-classified as normal.
-
-   These are the category lines for `uninstall':
-
-             $(PRE_UNINSTALL)     # Pre-uninstall commands follow.
-             $(POST_UNINSTALL)    # Post-uninstall commands follow.
-             $(NORMAL_UNINSTALL)  # Normal commands follow.
-
-   Typically, a pre-uninstall command would be used for deleting entries
-from the Info directory.
-
-   If the `install' or `uninstall' target has any dependencies which
-act as subroutines of installation, then you should start _each_
-dependency's commands with a category line, and start the main target's
-commands with a category line also.  This way, you can ensure that each
-command is placed in the right category regardless of which of the
-dependencies actually run.
-
-   Pre-installation and post-installation commands should not run any
-programs except for these:
-
-     [ basename bash cat chgrp chmod chown cmp cp dd diff echo
-     egrep expand expr false fgrep find getopt grep gunzip gzip
-     hostname install install-info kill ldconfig ln ls md5sum
-     mkdir mkfifo mknod mv printenv pwd rm rmdir sed sort tee
-     test touch true uname xargs yes
-
-   The reason for distinguishing the commands in this way is for the
-sake of making binary packages.  Typically a binary package contains
-all the executables and other files that need to be installed, and has
-its own method of installing them--so it does not need to run the normal
-installation commands.  But installing the binary package does need to
-execute the pre-installation and post-installation commands.
-
-   Programs to build binary packages work by extracting the
-pre-installation and post-installation commands.  Here is one way of
-extracting the pre-installation commands (the `-s' option to `make' is
-needed to silence messages about entering subdirectories):
-
-     make -s -n install -o all \
-           PRE_INSTALL=pre-install \
-           POST_INSTALL=post-install \
-           NORMAL_INSTALL=normal-install \
-       | gawk -f pre-install.awk
-
-where the file `pre-install.awk' could contain this:
-
-     $0 ~ /^(normal-install|post-install)[ \t]*$/ {on = 0}
-     on {print $0}
-     $0 ~ /^pre-install[ \t]*$/ {on = 1}
-
-
-File: standards.info,  Node: Releases,  Prev: Makefile Conventions,  Up: Managing Releases
-
-7.3 Making Releases
-===================
-
-You should identify each release with a pair of version numbers, a
-major version and a minor.  We have no objection to using more than two
-numbers, but it is very unlikely that you really need them.
-
-   Package the distribution of `Foo version 69.96' up in a gzipped tar
-file with the name `foo-69.96.tar.gz'.  It should unpack into a
-subdirectory named `foo-69.96'.
-
-   Building and installing the program should never modify any of the
-files contained in the distribution.  This means that all the files
-that form part of the program in any way must be classified into "source
-files" and "non-source files".  Source files are written by humans and
-never changed automatically; non-source files are produced from source
-files by programs under the control of the Makefile.
-
-   The distribution should contain a file named `README' which gives
-the name of the package, and a general description of what it does.  It
-is also good to explain the purpose of each of the first-level
-subdirectories in the package, if there are any.  The `README' file
-should either state the version number of the package, or refer to where
-in the package it can be found.
-
-   The `README' file should refer to the file `INSTALL', which should
-contain an explanation of the installation procedure.
-
-   The `README' file should also refer to the file which contains the
-copying conditions.  The GNU GPL, if used, should be in a file called
-`COPYING'.  If the GNU LGPL is used, it should be in a file called
-`COPYING.LESSER'.
-
-   Naturally, all the source files must be in the distribution.  It is
-okay to include non-source files in the distribution, provided they are
-up-to-date and machine-independent, so that building the distribution
-normally will never modify them.  We commonly include non-source files
-produced by Bison, `lex', TeX, and `makeinfo'; this helps avoid
-unnecessary dependencies between our distributions, so that users can
-install whichever packages they want to install.
-
-   Non-source files that might actually be modified by building and
-installing the program should *never* be included in the distribution.
-So if you do distribute non-source files, always make sure they are up
-to date when you make a new distribution.
-
-   Make sure that all the files in the distribution are world-readable,
-and that directories are world-readable and world-searchable (octal
-mode 755).  We used to recommend that all directories in the
-distribution also be world-writable (octal mode 777), because ancient
-versions of `tar' would otherwise not cope when extracting the archive
-as an unprivileged user.  That can easily lead to security issues when
-creating the archive, however, so now we recommend against that.
-
-   Don't include any symbolic links in the distribution itself.  If the
-tar file contains symbolic links, then people cannot even unpack it on
-systems that don't support symbolic links.  Also, don't use multiple
-names for one file in different directories, because certain file
-systems cannot handle this and that prevents unpacking the distribution.
-
-   Try to make sure that all the file names will be unique on MS-DOS.  A
-name on MS-DOS consists of up to 8 characters, optionally followed by a
-period and up to three characters.  MS-DOS will truncate extra
-characters both before and after the period.  Thus, `foobarhacker.c'
-and `foobarhacker.o' are not ambiguous; they are truncated to
-`foobarha.c' and `foobarha.o', which are distinct.
-
-   Include in your distribution a copy of the `texinfo.tex' you used to
-test print any `*.texinfo' or `*.texi' files.
-
-   Likewise, if your program uses small GNU software packages like
-regex, getopt, obstack, or termcap, include them in the distribution
-file.  Leaving them out would make the distribution file a little
-smaller at the expense of possible inconvenience to a user who doesn't
-know what other files to get.
-
-
-File: standards.info,  Node: References,  Next: GNU Free Documentation License,  Prev: Managing Releases,  Up: Top
-
-8 References to Non-Free Software and Documentation
-***************************************************
-
-A GNU program should not recommend, promote, or grant legitimacy to the
-use of any non-free program.  Proprietary software is a social and
-ethical problem, and our aim is to put an end to that problem.  We
-can't stop some people from writing proprietary programs, or stop other
-people from using them, but we can and should refuse to advertise them
-to new potential customers, or to give the public the idea that their
-existence is ethical.
-
-   The GNU definition of free software is found on the GNU web site at
-`http://www.gnu.org/philosophy/free-sw.html', and the definition of
-free documentation is found at
-`http://www.gnu.org/philosophy/free-doc.html'.  The terms "free" and
-"non-free", used in this document, refer to those definitions.
-
-   A list of important licenses and whether they qualify as free is in
-`http://www.gnu.org/licenses/license-list.html'.  If it is not clear
-whether a license qualifies as free, please ask the GNU Project by
-writing to <licensing@gnu.org>.  We will answer, and if the license is
-an important one, we will add it to the list.
-
-   When a non-free program or system is well known, you can mention it
-in passing--that is harmless, since users who might want to use it
-probably already know about it.  For instance, it is fine to explain
-how to build your package on top of some widely used non-free operating
-system, or how to use it together with some widely used non-free
-program.
-
-   However, you should give only the necessary information to help those
-who already use the non-free program to use your program with it--don't
-give, or refer to, any further information about the proprietary
-program, and don't imply that the proprietary program enhances your
-program, or that its existence is in any way a good thing.  The goal
-should be that people already using the proprietary program will get
-the advice they need about how to use your free program with it, while
-people who don't already use the proprietary program will not see
-anything likely to lead them to take an interest in it.
-
-   If a non-free program or system is obscure in your program's domain,
-your program should not mention or support it at all, since doing so
-would tend to popularize the non-free program more than it popularizes
-your program.  (You cannot hope to find many additional users for your
-program among the users of Foobar, if the existence of Foobar is not
-generally known among people who might want to use your program.)
-
-   Sometimes a program is free software in itself but depends on a
-non-free platform in order to run.  For instance, many Java programs
-depend on some non-free Java libraries.  To recommend or promote such a
-program is to promote the other programs it needs.  This is why we are
-careful about listing Java programs in the Free Software Directory: we
-don't want to promote the non-free Java libraries.
-
-   We hope this particular problem with Java will be gone by and by, as
-we replace the remaining non-free standard Java libraries with free
-software, but the general principle will remain the same: don't
-recommend, promote or legitimize programs that depend on non-free
-software to run.
-
-   Some free programs strongly encourage the use of non-free software.
-A typical example is `mplayer'.  It is free software in itself, and the
-free code can handle some kinds of files.  However, `mplayer'
-recommends use of non-free codecs for other kinds of files, and users
-that install `mplayer' are very likely to install those codecs along
-with it.  To recommend `mplayer' is, in effect, to promote use of the
-non-free codecs.
-
-   Thus, you should not recommend programs that strongly encourage the
-use of non-free software.  This is why we do not list `mplayer' in the
-Free Software Directory.
-
-   A GNU package should not refer the user to any non-free documentation
-for free software.  Free documentation that can be included in free
-operating systems is essential for completing the GNU system, or any
-free operating system, so encouraging it is a priority; to recommend
-use of documentation that we are not allowed to include undermines the
-impetus for the community to produce documentation that we can include.
-So GNU packages should never recommend non-free documentation.
-
-   By contrast, it is ok to refer to journal articles and textbooks in
-the comments of a program for explanation of how it functions, even
-though they are non-free.  This is because we don't include such things
-in the GNU system even they are free--they are outside the scope of
-what a software distribution needs to include.
-
-   Referring to a web site that describes or recommends a non-free
-program is promoting that program, so please do not make links (or
-mention by name) web sites that contain such material.  This policy is
-relevant particularly for the web pages for a GNU package.
-
-   Following links from nearly any web site can lead eventually to
-non-free software; this is inherent in the nature of the web.  So it
-makes no sense to criticize a site for having such links.  As long as
-the site does not itself recommend a non-free program, there is no need
-to consider the question of the sites that it links to for other
-reasons.
-
-   Thus, for example, you should not refer to AT&T's web site if that
-recommends AT&T's non-free software packages; you should not refer to a
-site that links to AT&T's site presenting it as a place to get some
-non-free program, because that link recommends and legitimizes the
-non-free program.  However, that a site contains a link to AT&T's web
-site for some other purpose (such as long-distance telephone service)
-is not an objection against it.
-
-
-File: standards.info,  Node: GNU Free Documentation License,  Next: Index,  Prev: References,  Up: Top
-
-Appendix A GNU Free Documentation License
-*****************************************
-
-                     Version 1.3, 3 November 2008
-
-     Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-     `http://fsf.org/'
-
-     Everyone is permitted to copy and distribute verbatim copies
-     of this license document, but changing it is not allowed.
-
-  0. PREAMBLE
-
-     The purpose of this License is to make a manual, textbook, or other
-     functional and useful document "free" in the sense of freedom: to
-     assure everyone the effective freedom to copy and redistribute it,
-     with or without modifying it, either commercially or
-     noncommercially.  Secondarily, this License preserves for the
-     author and publisher a way to get credit for their work, while not
-     being considered responsible for modifications made by others.
-
-     This License is a kind of "copyleft", which means that derivative
-     works of the document must themselves be free in the same sense.
-     It complements the GNU General Public License, which is a copyleft
-     license designed for free software.
-
-     We have designed this License in order to use it for manuals for
-     free software, because free software needs free documentation: a
-     free program should come with manuals providing the same freedoms
-     that the software does.  But this License is not limited to
-     software manuals; it can be used for any textual work, regardless
-     of subject matter or whether it is published as a printed book.
-     We recommend this License principally for works whose purpose is
-     instruction or reference.
-
-  1. APPLICABILITY AND DEFINITIONS
-
-     This License applies to any manual or other work, in any medium,
-     that contains a notice placed by the copyright holder saying it
-     can be distributed under the terms of this License.  Such a notice
-     grants a world-wide, royalty-free license, unlimited in duration,
-     to use that work under the conditions stated herein.  The
-     "Document", below, refers to any such manual or work.  Any member
-     of the public is a licensee, and is addressed as "you".  You
-     accept the license if you copy, modify or distribute the work in a
-     way requiring permission under copyright law.
-
-     A "Modified Version" of the Document means any work containing the
-     Document or a portion of it, either copied verbatim, or with
-     modifications and/or translated into another language.
-
-     A "Secondary Section" is a named appendix or a front-matter section
-     of the Document that deals exclusively with the relationship of the
-     publishers or authors of the Document to the Document's overall
-     subject (or to related matters) and contains nothing that could
-     fall directly within that overall subject.  (Thus, if the Document
-     is in part a textbook of mathematics, a Secondary Section may not
-     explain any mathematics.)  The relationship could be a matter of
-     historical connection with the subject or with related matters, or
-     of legal, commercial, philosophical, ethical or political position
-     regarding them.
-
-     The "Invariant Sections" are certain Secondary Sections whose
-     titles are designated, as being those of Invariant Sections, in
-     the notice that says that the Document is released under this
-     License.  If a section does not fit the above definition of
-     Secondary then it is not allowed to be designated as Invariant.
-     The Document may contain zero Invariant Sections.  If the Document
-     does not identify any Invariant Sections then there are none.
-
-     The "Cover Texts" are certain short passages of text that are
-     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
-     that says that the Document is released under this License.  A
-     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
-     be at most 25 words.
-
-     A "Transparent" copy of the Document means a machine-readable copy,
-     represented in a format whose specification is available to the
-     general public, that is suitable for revising the document
-     straightforwardly with generic text editors or (for images
-     composed of pixels) generic paint programs or (for drawings) some
-     widely available drawing editor, and that is suitable for input to
-     text formatters or for automatic translation to a variety of
-     formats suitable for input to text formatters.  A copy made in an
-     otherwise Transparent file format whose markup, or absence of
-     markup, has been arranged to thwart or discourage subsequent
-     modification by readers is not Transparent.  An image format is
-     not Transparent if used for any substantial amount of text.  A
-     copy that is not "Transparent" is called "Opaque".
-
-     Examples of suitable formats for Transparent copies include plain
-     ASCII without markup, Texinfo input format, LaTeX input format,
-     SGML or XML using a publicly available DTD, and
-     standard-conforming simple HTML, PostScript or PDF designed for
-     human modification.  Examples of transparent image formats include
-     PNG, XCF and JPG.  Opaque formats include proprietary formats that
-     can be read and edited only by proprietary word processors, SGML or
-     XML for which the DTD and/or processing tools are not generally
-     available, and the machine-generated HTML, PostScript or PDF
-     produced by some word processors for output purposes only.
-
-     The "Title Page" means, for a printed book, the title page itself,
-     plus such following pages as are needed to hold, legibly, the
-     material this License requires to appear in the title page.  For
-     works in formats which do not have any title page as such, "Title
-     Page" means the text near the most prominent appearance of the
-     work's title, preceding the beginning of the body of the text.
-
-     The "publisher" means any person or entity that distributes copies
-     of the Document to the public.
-
-     A section "Entitled XYZ" means a named subunit of the Document
-     whose title either is precisely XYZ or contains XYZ in parentheses
-     following text that translates XYZ in another language.  (Here XYZ
-     stands for a specific section name mentioned below, such as
-     "Acknowledgements", "Dedications", "Endorsements", or "History".)
-     To "Preserve the Title" of such a section when you modify the
-     Document means that it remains a section "Entitled XYZ" according
-     to this definition.
-
-     The Document may include Warranty Disclaimers next to the notice
-     which states that this License applies to the Document.  These
-     Warranty Disclaimers are considered to be included by reference in
-     this License, but only as regards disclaiming warranties: any other
-     implication that these Warranty Disclaimers may have is void and
-     has no effect on the meaning of this License.
-
-  2. VERBATIM COPYING
-
-     You may copy and distribute the Document in any medium, either
-     commercially or noncommercially, provided that this License, the
-     copyright notices, and the license notice saying this License
-     applies to the Document are reproduced in all copies, and that you
-     add no other conditions whatsoever to those of this License.  You
-     may not use technical measures to obstruct or control the reading
-     or further copying of the copies you make or distribute.  However,
-     you may accept compensation in exchange for copies.  If you
-     distribute a large enough number of copies you must also follow
-     the conditions in section 3.
-
-     You may also lend copies, under the same conditions stated above,
-     and you may publicly display copies.
-
-  3. COPYING IN QUANTITY
-
-     If you publish printed copies (or copies in media that commonly
-     have printed covers) of the Document, numbering more than 100, and
-     the Document's license notice requires Cover Texts, you must
-     enclose the copies in covers that carry, clearly and legibly, all
-     these Cover Texts: Front-Cover Texts on the front cover, and
-     Back-Cover Texts on the back cover.  Both covers must also clearly
-     and legibly identify you as the publisher of these copies.  The
-     front cover must present the full title with all words of the
-     title equally prominent and visible.  You may add other material
-     on the covers in addition.  Copying with changes limited to the
-     covers, as long as they preserve the title of the Document and
-     satisfy these conditions, can be treated as verbatim copying in
-     other respects.
-
-     If the required texts for either cover are too voluminous to fit
-     legibly, you should put the first ones listed (as many as fit
-     reasonably) on the actual cover, and continue the rest onto
-     adjacent pages.
-
-     If you publish or distribute Opaque copies of the Document
-     numbering more than 100, you must either include a
-     machine-readable Transparent copy along with each Opaque copy, or
-     state in or with each Opaque copy a computer-network location from
-     which the general network-using public has access to download
-     using public-standard network protocols a complete Transparent
-     copy of the Document, free of added material.  If you use the
-     latter option, you must take reasonably prudent steps, when you
-     begin distribution of Opaque copies in quantity, to ensure that
-     this Transparent copy will remain thus accessible at the stated
-     location until at least one year after the last time you
-     distribute an Opaque copy (directly or through your agents or
-     retailers) of that edition to the public.
-
-     It is requested, but not required, that you contact the authors of
-     the Document well before redistributing any large number of
-     copies, to give them a chance to provide you with an updated
-     version of the Document.
-
-  4. MODIFICATIONS
-
-     You may copy and distribute a Modified Version of the Document
-     under the conditions of sections 2 and 3 above, provided that you
-     release the Modified Version under precisely this License, with
-     the Modified Version filling the role of the Document, thus
-     licensing distribution and modification of the Modified Version to
-     whoever possesses a copy of it.  In addition, you must do these
-     things in the Modified Version:
-
-       A. Use in the Title Page (and on the covers, if any) a title
-          distinct from that of the Document, and from those of
-          previous versions (which should, if there were any, be listed
-          in the History section of the Document).  You may use the
-          same title as a previous version if the original publisher of
-          that version gives permission.
-
-       B. List on the Title Page, as authors, one or more persons or
-          entities responsible for authorship of the modifications in
-          the Modified Version, together with at least five of the
-          principal authors of the Document (all of its principal
-          authors, if it has fewer than five), unless they release you
-          from this requirement.
-
-       C. State on the Title page the name of the publisher of the
-          Modified Version, as the publisher.
-
-       D. Preserve all the copyright notices of the Document.
-
-       E. Add an appropriate copyright notice for your modifications
-          adjacent to the other copyright notices.
-
-       F. Include, immediately after the copyright notices, a license
-          notice giving the public permission to use the Modified
-          Version under the terms of this License, in the form shown in
-          the Addendum below.
-
-       G. Preserve in that license notice the full lists of Invariant
-          Sections and required Cover Texts given in the Document's
-          license notice.
-
-       H. Include an unaltered copy of this License.
-
-       I. Preserve the section Entitled "History", Preserve its Title,
-          and add to it an item stating at least the title, year, new
-          authors, and publisher of the Modified Version as given on
-          the Title Page.  If there is no section Entitled "History" in
-          the Document, create one stating the title, year, authors,
-          and publisher of the Document as given on its Title Page,
-          then add an item describing the Modified Version as stated in
-          the previous sentence.
-
-       J. Preserve the network location, if any, given in the Document
-          for public access to a Transparent copy of the Document, and
-          likewise the network locations given in the Document for
-          previous versions it was based on.  These may be placed in
-          the "History" section.  You may omit a network location for a
-          work that was published at least four years before the
-          Document itself, or if the original publisher of the version
-          it refers to gives permission.
-
-       K. For any section Entitled "Acknowledgements" or "Dedications",
-          Preserve the Title of the section, and preserve in the
-          section all the substance and tone of each of the contributor
-          acknowledgements and/or dedications given therein.
-
-       L. Preserve all the Invariant Sections of the Document,
-          unaltered in their text and in their titles.  Section numbers
-          or the equivalent are not considered part of the section
-          titles.
-
-       M. Delete any section Entitled "Endorsements".  Such a section
-          may not be included in the Modified Version.
-
-       N. Do not retitle any existing section to be Entitled
-          "Endorsements" or to conflict in title with any Invariant
-          Section.
-
-       O. Preserve any Warranty Disclaimers.
-
-     If the Modified Version includes new front-matter sections or
-     appendices that qualify as Secondary Sections and contain no
-     material copied from the Document, you may at your option
-     designate some or all of these sections as invariant.  To do this,
-     add their titles to the list of Invariant Sections in the Modified
-     Version's license notice.  These titles must be distinct from any
-     other section titles.
-
-     You may add a section Entitled "Endorsements", provided it contains
-     nothing but endorsements of your Modified Version by various
-     parties--for example, statements of peer review or that the text
-     has been approved by an organization as the authoritative
-     definition of a standard.
-
-     You may add a passage of up to five words as a Front-Cover Text,
-     and a passage of up to 25 words as a Back-Cover Text, to the end
-     of the list of Cover Texts in the Modified Version.  Only one
-     passage of Front-Cover Text and one of Back-Cover Text may be
-     added by (or through arrangements made by) any one entity.  If the
-     Document already includes a cover text for the same cover,
-     previously added by you or by arrangement made by the same entity
-     you are acting on behalf of, you may not add another; but you may
-     replace the old one, on explicit permission from the previous
-     publisher that added the old one.
-
-     The author(s) and publisher(s) of the Document do not by this
-     License give permission to use their names for publicity for or to
-     assert or imply endorsement of any Modified Version.
-
-  5. COMBINING DOCUMENTS
-
-     You may combine the Document with other documents released under
-     this License, under the terms defined in section 4 above for
-     modified versions, provided that you include in the combination
-     all of the Invariant Sections of all of the original documents,
-     unmodified, and list them all as Invariant Sections of your
-     combined work in its license notice, and that you preserve all
-     their Warranty Disclaimers.
-
-     The combined work need only contain one copy of this License, and
-     multiple identical Invariant Sections may be replaced with a single
-     copy.  If there are multiple Invariant Sections with the same name
-     but different contents, make the title of each such section unique
-     by adding at the end of it, in parentheses, the name of the
-     original author or publisher of that section if known, or else a
-     unique number.  Make the same adjustment to the section titles in
-     the list of Invariant Sections in the license notice of the
-     combined work.
-
-     In the combination, you must combine any sections Entitled
-     "History" in the various original documents, forming one section
-     Entitled "History"; likewise combine any sections Entitled
-     "Acknowledgements", and any sections Entitled "Dedications".  You
-     must delete all sections Entitled "Endorsements."
-
-  6. COLLECTIONS OF DOCUMENTS
-
-     You may make a collection consisting of the Document and other
-     documents released under this License, and replace the individual
-     copies of this License in the various documents with a single copy
-     that is included in the collection, provided that you follow the
-     rules of this License for verbatim copying of each of the
-     documents in all other respects.
-
-     You may extract a single document from such a collection, and
-     distribute it individually under this License, provided you insert
-     a copy of this License into the extracted document, and follow
-     this License in all other respects regarding verbatim copying of
-     that document.
-
-  7. AGGREGATION WITH INDEPENDENT WORKS
-
-     A compilation of the Document or its derivatives with other
-     separate and independent documents or works, in or on a volume of
-     a storage or distribution medium, is called an "aggregate" if the
-     copyright resulting from the compilation is not used to limit the
-     legal rights of the compilation's users beyond what the individual
-     works permit.  When the Document is included in an aggregate, this
-     License does not apply to the other works in the aggregate which
-     are not themselves derivative works of the Document.
-
-     If the Cover Text requirement of section 3 is applicable to these
-     copies of the Document, then if the Document is less than one half
-     of the entire aggregate, the Document's Cover Texts may be placed
-     on covers that bracket the Document within the aggregate, or the
-     electronic equivalent of covers if the Document is in electronic
-     form.  Otherwise they must appear on printed covers that bracket
-     the whole aggregate.
-
-  8. TRANSLATION
-
-     Translation is considered a kind of modification, so you may
-     distribute translations of the Document under the terms of section
-     4.  Replacing Invariant Sections with translations requires special
-     permission from their copyright holders, but you may include
-     translations of some or all Invariant Sections in addition to the
-     original versions of these Invariant Sections.  You may include a
-     translation of this License, and all the license notices in the
-     Document, and any Warranty Disclaimers, provided that you also
-     include the original English version of this License and the
-     original versions of those notices and disclaimers.  In case of a
-     disagreement between the translation and the original version of
-     this License or a notice or disclaimer, the original version will
-     prevail.
-
-     If a section in the Document is Entitled "Acknowledgements",
-     "Dedications", or "History", the requirement (section 4) to
-     Preserve its Title (section 1) will typically require changing the
-     actual title.
-
-  9. TERMINATION
-
-     You may not copy, modify, sublicense, or distribute the Document
-     except as expressly provided under this License.  Any attempt
-     otherwise to copy, modify, sublicense, or distribute it is void,
-     and will automatically terminate your rights under this License.
-
-     However, if you cease all violation of this License, then your
-     license from a particular copyright holder is reinstated (a)
-     provisionally, unless and until the copyright holder explicitly
-     and finally terminates your license, and (b) permanently, if the
-     copyright holder fails to notify you of the violation by some
-     reasonable means prior to 60 days after the cessation.
-
-     Moreover, your license from a particular copyright holder is
-     reinstated permanently if the copyright holder notifies you of the
-     violation by some reasonable means, this is the first time you have
-     received notice of violation of this License (for any work) from
-     that copyright holder, and you cure the violation prior to 30 days
-     after your receipt of the notice.
-
-     Termination of your rights under this section does not terminate
-     the licenses of parties who have received copies or rights from
-     you under this License.  If your rights have been terminated and
-     not permanently reinstated, receipt of a copy of some or all of
-     the same material does not give you any rights to use it.
-
- 10. FUTURE REVISIONS OF THIS LICENSE
-
-     The Free Software Foundation may publish new, revised versions of
-     the GNU Free Documentation License from time to time.  Such new
-     versions will be similar in spirit to the present version, but may
-     differ in detail to address new problems or concerns.  See
-     `http://www.gnu.org/copyleft/'.
-
-     Each version of the License is given a distinguishing version
-     number.  If the Document specifies that a particular numbered
-     version of this License "or any later version" applies to it, you
-     have the option of following the terms and conditions either of
-     that specified version or of any later version that has been
-     published (not as a draft) by the Free Software Foundation.  If
-     the Document does not specify a version number of this License,
-     you may choose any version ever published (not as a draft) by the
-     Free Software Foundation.  If the Document specifies that a proxy
-     can decide which future versions of this License can be used, that
-     proxy's public statement of acceptance of a version permanently
-     authorizes you to choose that version for the Document.
-
- 11. RELICENSING
-
-     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
-     World Wide Web server that publishes copyrightable works and also
-     provides prominent facilities for anybody to edit those works.  A
-     public wiki that anybody can edit is an example of such a server.
-     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
-     site means any set of copyrightable works thus published on the MMC
-     site.
-
-     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-     license published by Creative Commons Corporation, a not-for-profit
-     corporation with a principal place of business in San Francisco,
-     California, as well as future copyleft versions of that license
-     published by that same organization.
-
-     "Incorporate" means to publish or republish a Document, in whole or
-     in part, as part of another Document.
-
-     An MMC is "eligible for relicensing" if it is licensed under this
-     License, and if all works that were first published under this
-     License somewhere other than this MMC, and subsequently
-     incorporated in whole or in part into the MMC, (1) had no cover
-     texts or invariant sections, and (2) were thus incorporated prior
-     to November 1, 2008.
-
-     The operator of an MMC Site may republish an MMC contained in the
-     site under CC-BY-SA on the same site at any time before August 1,
-     2009, provided the MMC is eligible for relicensing.
-
-
-ADDENDUM: How to use this License for your documents
-====================================================
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and license
-notices just after the title page:
-
-       Copyright (C)  YEAR  YOUR NAME.
-       Permission is granted to copy, distribute and/or modify this document
-       under the terms of the GNU Free Documentation License, Version 1.3
-       or any later version published by the Free Software Foundation;
-       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-       Texts.  A copy of the license is included in the section entitled ``GNU
-       Free Documentation License''.
-
-   If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts." line with this:
-
-         with the Invariant Sections being LIST THEIR TITLES, with
-         the Front-Cover Texts being LIST, and with the Back-Cover Texts
-         being LIST.
-
-   If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-   If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License, to
-permit their use in free software.
-
-
-File: standards.info,  Node: Index,  Prev: GNU Free Documentation License,  Up: Top
-
-Index
-*****
-
-[index]
-* Menu:
-
-* #endif, commenting:                    Comments.            (line  60)
-* --help output:                         --help.              (line   6)
-* --version output:                      --version.           (line   6)
-* -Wall compiler option:                 Syntactic Conventions.
-                                                              (line  10)
-* accepting contributions:               Contributions.       (line   6)
-* address for bug reports:               --help.              (line  11)
-* ANSI C standard:                       Standard C.          (line   6)
-* arbitrary limits on data:              Semantics.           (line   6)
-* ASCII characters:                      Character Set.       (line   6)
-* autoconf:                              System Portability.  (line  23)
-* avoiding proprietary code:             Reading Non-Free Code.
-                                                              (line   6)
-* behavior, dependent on program's name: User Interfaces.     (line   6)
-* binary packages:                       Install Command Categories.
-                                                              (line  80)
-* bindir:                                Directory Variables. (line  54)
-* braces, in C source:                   Formatting.          (line   6)
-* bug reports:                           --help.              (line  11)
-* bug-standards@gnu.org email address:   Preface.             (line  30)
-* canonical name of a program:           --version.           (line  12)
-* casting pointers to integers:          CPU Portability.     (line  89)
-* CGI programs, standard options for:    Command-Line Interfaces.
-                                                              (line  31)
-* change logs:                           Change Logs.         (line   6)
-* change logs, conditional changes:      Conditional Changes. (line   6)
-* change logs, style:                    Style of Change Logs.
-                                                              (line   6)
-* character set:                         Character Set.       (line   6)
-* command-line arguments, decoding:      Semantics.           (line  46)
-* command-line interface:                Command-Line Interfaces.
-                                                              (line   6)
-* commenting:                            Comments.            (line   6)
-* compatibility with C and POSIX standards: Compatibility.    (line   6)
-* compiler warnings:                     Syntactic Conventions.
-                                                              (line  10)
-* conditional changes, and change logs:  Conditional Changes. (line   6)
-* conditionals, comments for:            Comments.            (line  60)
-* configure:                             Configuration.       (line   6)
-* control-L:                             Formatting.          (line 118)
-* conventions for makefiles:             Makefile Conventions.
-                                                              (line   6)
-* CORBA:                                 Graphical Interfaces.
-                                                              (line  16)
-* credits for manuals:                   Manual Credits.      (line   6)
-* D-bus:                                 Graphical Interfaces.
-                                                              (line  16)
-* data types, and portability:           CPU Portability.     (line   6)
-* declaration for system functions:      System Functions.    (line  21)
-* DESTDIR:                               DESTDIR.             (line   6)
-* documentation:                         Documentation.       (line   6)
-* doschk:                                Names.               (line  38)
-* downloading this manual:               Preface.             (line  14)
-* encodings:                             Character Set.       (line   6)
-* error messages:                        Semantics.           (line  19)
-* error messages, formatting:            Errors.              (line   6)
-* exec_prefix:                           Directory Variables. (line  36)
-* expressions, splitting:                Formatting.          (line  81)
-* FDL, GNU Free Documentation License:   GNU Free Documentation License.
-                                                              (line   6)
-* file usage:                            File Usage.          (line   6)
-* file-name limitations:                 Names.               (line  38)
-* formatting error messages:             Errors.              (line   6)
-* formatting source code:                Formatting.          (line   6)
-* formfeed:                              Formatting.          (line 118)
-* function argument, declaring:          Syntactic Conventions.
-                                                              (line   6)
-* function prototypes:                   Standard C.          (line  17)
-* getopt:                                Command-Line Interfaces.
-                                                              (line   6)
-* gettext:                               Internationalization.
-                                                              (line   6)
-* GNOME:                                 Graphical Interfaces.
-                                                              (line  16)
-* GNOME and Guile:                       Source Language.     (line  38)
-* gnustandards project repository:       Preface.             (line  30)
-* gnustandards-commit@gnu.org mailing list: Preface.          (line  24)
-* graphical user interface:              Graphical Interfaces.
-                                                              (line   6)
-* grave accent:                          Quote Characters.    (line   6)
-* GTK+:                                  Graphical Interfaces.
-                                                              (line   6)
-* Guile:                                 Source Language.     (line  38)
-* implicit int:                          Syntactic Conventions.
-                                                              (line   6)
-* impossible conditions:                 Semantics.           (line  70)
-* installations, staged:                 DESTDIR.             (line   6)
-* interface styles:                      Graphical Interfaces.
-                                                              (line   6)
-* internationalization:                  Internationalization.
-                                                              (line   6)
-* keyboard interface:                    Graphical Interfaces.
-                                                              (line  16)
-* LDAP:                                  OID Allocations.     (line   6)
-* left quote:                            Quote Characters.    (line   6)
-* legal aspects:                         Legal Issues.        (line   6)
-* legal papers:                          Contributions.       (line   6)
-* libexecdir:                            Directory Variables. (line  67)
-* libraries:                             Libraries.           (line   6)
-* library functions, and portability:    System Functions.    (line   6)
-* library interface:                     Graphical Interfaces.
-                                                              (line  16)
-* license for manuals:                   License for Manuals. (line   6)
-* lint:                                  Syntactic Conventions.
-                                                              (line 109)
-* locale-specific quote characters:      Quote Characters.    (line   6)
-* long option names:                     Option Table.        (line   6)
-* long-named options:                    Command-Line Interfaces.
-                                                              (line  12)
-* makefile, conventions for:             Makefile Conventions.
-                                                              (line   6)
-* malloc return value:                   Semantics.           (line  25)
-* man pages:                             Man Pages.           (line   6)
-* manual structure:                      Manual Structure Details.
-                                                              (line   6)
-* memory allocation failure:             Semantics.           (line  25)
-* memory usage:                          Memory Usage.        (line   6)
-* message text, and internationalization: Internationalization.
-                                                              (line  29)
-* mmap:                                  Mmap.                (line   6)
-* multiple variables in a line:          Syntactic Conventions.
-                                                              (line  35)
-* names of variables, functions, and files: Names.            (line   6)
-* NEWS file:                             NEWS File.           (line   6)
-* non-ASCII characters:                  Character Set.       (line   6)
-* non-POSIX systems, and portability:    System Portability.  (line  32)
-* non-standard extensions:               Using Extensions.    (line   6)
-* NUL characters:                        Semantics.           (line  11)
-* OID allocations for GNU:               OID Allocations.     (line   6)
-* open brace:                            Formatting.          (line   6)
-* optional features, configure-time:     Configuration.       (line 100)
-* options for compatibility:             Compatibility.       (line  14)
-* options, standard command-line:        Command-Line Interfaces.
-                                                              (line  31)
-* output device and program's behavior:  User Interfaces.     (line  13)
-* packaging:                             Releases.            (line   6)
-* PATH_INFO, specifying standard options as: Command-Line Interfaces.
-                                                              (line  31)
-* portability, and data types:           CPU Portability.     (line   6)
-* portability, and library functions:    System Functions.    (line   6)
-* portability, between system types:     System Portability.  (line   6)
-* POSIX compatibility:                   Compatibility.       (line   6)
-* POSIXLY_CORRECT, environment variable: Compatibility.       (line  21)
-* post-installation commands:            Install Command Categories.
-                                                              (line   6)
-* pre-installation commands:             Install Command Categories.
-                                                              (line   6)
-* prefix:                                Directory Variables. (line  26)
-* program configuration:                 Configuration.       (line   6)
-* program design:                        Design Advice.       (line   6)
-* program name and its behavior:         User Interfaces.     (line   6)
-* program's canonical name:              --version.           (line  12)
-* programming languages:                 Source Language.     (line   6)
-* proprietary programs:                  Reading Non-Free Code.
-                                                              (line   6)
-* quote characters:                      Quote Characters.    (line   6)
-* README file:                           Releases.            (line  21)
-* references to non-free material:       References.          (line   6)
-* releasing:                             Managing Releases.   (line   6)
-* Savannah repository for gnustandards:  Preface.             (line  30)
-* sbindir:                               Directory Variables. (line  60)
-* signal handling:                       Semantics.           (line  59)
-* SNMP:                                  OID Allocations.     (line   6)
-* spaces before open-paren:              Formatting.          (line  75)
-* staged installs:                       DESTDIR.             (line   6)
-* standard command-line options:         Command-Line Interfaces.
-                                                              (line  31)
-* standards for makefiles:               Makefile Conventions.
-                                                              (line   6)
-* string library functions:              System Functions.    (line  55)
-* syntactic conventions:                 Syntactic Conventions.
-                                                              (line   6)
-* table of long options:                 Option Table.        (line   6)
-* temporary files:                       Semantics.           (line  84)
-* temporary variables:                   Syntactic Conventions.
-                                                              (line  23)
-* texinfo.tex, in a distribution:        Releases.            (line  70)
-* TMPDIR environment variable:           Semantics.           (line  84)
-* trademarks:                            Trademarks.          (line   6)
-* user interface styles:                 Graphical Interfaces.
-                                                              (line   6)
-* where to obtain standards.texi:        Preface.             (line  14)
-* X.509:                                 OID Allocations.     (line   6)
-
-
-
-Tag Table:
-Node: Top815
-Node: Preface2090
-Node: Legal Issues4803
-Node: Reading Non-Free Code5273
-Node: Contributions7003
-Node: Trademarks9241
-Node: Design Advice10876
-Node: Source Language11468
-Node: Compatibility13594
-Node: Using Extensions15222
-Node: Standard C16798
-Node: Conditional Compilation19201
-Node: Program Behavior20599
-Node: Non-GNU Standards21715
-Node: Semantics23996
-Node: Libraries28716
-Node: Errors29961
-Node: User Interfaces32454
-Node: Graphical Interfaces34059
-Node: Command-Line Interfaces35243
-Node: --version37275
-Node: --help43012
-Node: Option Table43885
-Node: OID Allocations58840
-Node: Memory Usage60637
-Node: File Usage61673
-Node: Writing C62423
-Node: Formatting63395
-Node: Comments67684
-Node: Syntactic Conventions71236
-Node: Names74698
-Node: System Portability76910
-Node: CPU Portability79801
-Node: System Functions83702
-Node: Internationalization88899
-Node: Character Set92893
-Node: Quote Characters93706
-Node: Mmap95226
-Node: Documentation95934
-Node: GNU Manuals97040
-Node: Doc Strings and Manuals102778
-Node: Manual Structure Details104331
-Node: License for Manuals105749
-Node: Manual Credits106723
-Node: Printed Manuals107116
-Node: NEWS File107802
-Node: Change Logs108480
-Node: Change Log Concepts109234
-Node: Style of Change Logs111337
-Node: Simple Changes113837
-Node: Conditional Changes115279
-Node: Indicating the Part Changed116701
-Node: Man Pages117228
-Node: Reading other Manuals119434
-Node: Managing Releases120225
-Node: Configuration121006
-Node: Makefile Conventions129671
-Node: Makefile Basics130553
-Node: Utilities in Makefiles133727
-Node: Command Variables135872
-Node: DESTDIR139094
-Node: Directory Variables141243
-Node: Standard Targets155736
-Ref: Standard Targets-Footnote-1169251
-Node: Install Command Categories169351
-Node: Releases173884
-Node: References177889
-Node: GNU Free Documentation License183736
-Node: Index208903
-
-End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/standards.texi ./etc/standards.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/etc/standards.texi	2015-01-13 02:02:17.000000000 +0000
+++ ./etc/standards.texi	1970-01-01 00:00:00.000000000 +0000
@@ -1,4235 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename standards.info
-@settitle GNU Coding Standards
-@c This date is automagically updated when you save this file:
-@set lastupdate April 12, 2010
-@c %**end of header
-
-@dircategory GNU organization
-@direntry
-* Standards: (standards).       GNU coding standards.
-@end direntry
-
-@c @setchapternewpage odd
-@setchapternewpage off
-
-@c Put everything in one index (arbitrarily chosen to be the concept index).
-@syncodeindex fn cp
-@syncodeindex ky cp
-@syncodeindex pg cp
-@syncodeindex vr cp
-
-@c This is used by a cross ref in make-stds.texi
-@set CODESTD  1
-
-@copying
-The GNU coding standards, last updated @value{lastupdate}.
-
-Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled
-``GNU Free Documentation License''.
-@end copying
-
-@titlepage
-@title GNU Coding Standards
-@author Richard Stallman, et al.
-@author last updated @value{lastupdate}
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-@end titlepage
-
-@contents
-
-@ifnottex
-@node Top, Preface, (dir), (dir)
-@top Version
-
-@insertcopying
-@end ifnottex
-
-@menu
-* Preface::                     About the GNU Coding Standards.
-* Legal Issues::                Keeping free software free.
-* Design Advice::               General program design.
-* Program Behavior::            Program behavior for all programs
-* Writing C::                   Making the best use of C.
-* Documentation::               Documenting programs.
-* Managing Releases::           The release process.
-* References::                  Mentioning non-free software or documentation.
-* GNU Free Documentation License::  Copying and sharing this manual.
-* Index::
-
-@end menu
-
-@node Preface
-@chapter About the GNU Coding Standards
-
-The GNU Coding Standards were written by Richard Stallman and other GNU
-Project volunteers.  Their purpose is to make the GNU system clean,
-consistent, and easy to install.  This document can also be read as a
-guide to writing portable, robust and reliable programs.  It focuses on
-programs written in C, but many of the rules and principles are useful
-even if you write in another programming language.  The rules often
-state reasons for writing in a certain way.
-
-@cindex where to obtain @code{standards.texi}
-@cindex downloading this manual
-If you did not obtain this file directly from the GNU project and
-recently, please check for a newer version.  You can get the GNU
-Coding Standards from the GNU web server in many
-different formats, including the Texinfo source, PDF, HTML, DVI, plain
-text, and more, at: @uref{http://www.gnu.org/prep/standards/}.
-
-If you are maintaining an official GNU package, in addition to this
-document, please read and follow the GNU maintainer information
-(@pxref{Top, , Contents, maintain, Information for Maintainers of GNU
-Software}).
-
-@cindex @code{gnustandards-commit@@gnu.org} mailing list
-If you want to receive diffs for every change to these GNU documents,
-join the mailing list @code{gnustandards-commit@@gnu.org}, via the web
-interface at
-@url{http://lists.gnu.org/mailman/listinfo/gnustandards-commit}.
-Archives are also available there.
-
-@cindex @code{bug-standards@@gnu.org} email address
-@cindex Savannah repository for gnustandards
-@cindex gnustandards project repository
-Please send corrections or suggestions for this document to
-@email{bug-standards@@gnu.org}.  If you make a suggestion, please
-include a suggested new wording for it, to help us consider the
-suggestion efficiently.  We prefer a context diff to the Texinfo
-source, but if that's difficult for you, you can make a context diff
-for some other version of this document, or propose it in any way that
-makes it clear.  The source repository for this document can be found
-at @url{http://savannah.gnu.org/projects/gnustandards}.
-
-These standards cover the minimum of what is important when writing a
-GNU package.  Likely, the need for additional standards will come up.
-Sometimes, you might suggest that such standards be added to this
-document.  If you think your standards would be generally useful, please
-do suggest them.
-
-You should also set standards for your package on many questions not
-addressed or not firmly specified here.  The most important point is to
-be self-consistent---try to stick to the conventions you pick, and try
-to document them as much as possible.  That way, your program will be
-more maintainable by others.
-
-The GNU Hello program serves as an example of how to follow the GNU
-coding standards for a trivial program.
-@uref{http://www.gnu.org/software/hello/hello.html}.
-
-This release of the GNU Coding Standards was last updated
-@value{lastupdate}.
-
-
-@node Legal Issues
-@chapter Keeping Free Software Free
-@cindex legal aspects
-
-This chapter discusses how you can make sure that GNU software
-avoids legal difficulties, and other related issues.
-
-@menu
-* Reading Non-Free Code::       Referring to proprietary programs.
-* Contributions::               Accepting contributions.
-* Trademarks::                  How we deal with trademark issues.
-@end menu
-
-@node Reading Non-Free Code
-@section Referring to Proprietary Programs
-@cindex proprietary programs
-@cindex avoiding proprietary code
-
-Don't in any circumstances refer to Unix source code for or during
-your work on GNU!  (Or to any other proprietary programs.)
-
-If you have a vague recollection of the internals of a Unix program,
-this does not absolutely mean you can't write an imitation of it, but
-do try to organize the imitation internally along different lines,
-because this is likely to make the details of the Unix version
-irrelevant and dissimilar to your results.
-
-For example, Unix utilities were generally optimized to minimize
-memory use; if you go for speed instead, your program will be very
-different.  You could keep the entire input file in memory and scan it
-there instead of using stdio.  Use a smarter algorithm discovered more
-recently than the Unix program.  Eliminate use of temporary files.  Do
-it in one pass instead of two (we did this in the assembler).
-
-Or, on the contrary, emphasize simplicity instead of speed.  For some
-applications, the speed of today's computers makes simpler algorithms
-adequate.
-
-Or go for generality.  For example, Unix programs often have static
-tables or fixed-size strings, which make for arbitrary limits; use
-dynamic allocation instead.  Make sure your program handles NULs and
-other funny characters in the input files.  Add a programming language
-for extensibility and write part of the program in that language.
-
-Or turn some parts of the program into independently usable libraries.
-Or use a simple garbage collector instead of tracking precisely when
-to free memory, or use a new GNU facility such as obstacks.
-
-@node Contributions
-@section Accepting Contributions
-@cindex legal papers
-@cindex accepting contributions
-
-If the program you are working on is copyrighted by the Free Software
-Foundation, then when someone else sends you a piece of code to add to
-the program, we need legal papers to use it---just as we asked you to
-sign papers initially.  @emph{Each} person who makes a nontrivial
-contribution to a program must sign some sort of legal papers in order
-for us to have clear title to the program; the main author alone is not
-enough.
-
-So, before adding in any contributions from other people, please tell
-us, so we can arrange to get the papers.  Then wait until we tell you
-that we have received the signed papers, before you actually use the
-contribution.
-
-This applies both before you release the program and afterward.  If
-you receive diffs to fix a bug, and they make significant changes, we
-need legal papers for that change.
-
-This also applies to comments and documentation files.  For copyright
-law, comments and code are just text.  Copyright applies to all kinds of
-text, so we need legal papers for all kinds.
-
-We know it is frustrating to ask for legal papers; it's frustrating for
-us as well.  But if you don't wait, you are going out on a limb---for
-example, what if the contributor's employer won't sign a disclaimer?
-You might have to take that code out again!
-
-You don't need papers for changes of a few lines here or there, since
-they are not significant for copyright purposes.  Also, you don't need
-papers if all you get from the suggestion is some ideas, not actual code
-which you use.  For example, if someone sent you one implementation, but
-you write a different implementation of the same idea, you don't need to
-get papers.
-
-The very worst thing is if you forget to tell us about the other
-contributor.  We could be very embarrassed in court some day as a
-result.
-
-We have more detailed advice for maintainers of programs; if you have
-reached the stage of actually maintaining a program for GNU (whether
-released or not), please ask us for a copy.  It is also available
-online for your perusal: @uref{http://www.gnu.org/prep/maintain/}.
-
-@node Trademarks
-@section Trademarks
-@cindex trademarks
-
-Please do not include any trademark acknowledgements in GNU software
-packages or documentation.
-
-Trademark acknowledgements are the statements that such-and-such is a
-trademark of so-and-so.  The GNU Project has no objection to the basic
-idea of trademarks, but these acknowledgements feel like kowtowing,
-and there is no legal requirement for them, so we don't use them.
-
-What is legally required, as regards other people's trademarks, is to
-avoid using them in ways which a reader might reasonably understand as
-naming or labeling our own programs or activities.  For example, since
-``Objective C'' is (or at least was) a trademark, we made sure to say
-that we provide a ``compiler for the Objective C language'' rather
-than an ``Objective C compiler''.  The latter would have been meant as
-a shorter way of saying the former, but it does not explicitly state
-the relationship, so it could be misinterpreted as using ``Objective
-C'' as a label for the compiler rather than for the language.
-
-Please don't use ``win'' as an abbreviation for Microsoft Windows in
-GNU software or documentation.  In hacker terminology, calling
-something a ``win'' is a form of praise.  If you wish to praise
-Microsoft Windows when speaking on your own, by all means do so, but
-not in GNU software.  Usually we write the name ``Windows'' in full,
-but when brevity is very important (as in file names and sometimes
-symbol names), we abbreviate it to ``w''.  For instance, the files and
-functions in Emacs that deal with Windows start with @samp{w32}.
-
-@node Design Advice
-@chapter General Program Design
-@cindex program design
-
-This chapter discusses some of the issues you should take into
-account when designing your program.
-
-@c                         Standard or ANSI C
-@c
-@c In 1989 the American National Standards Institute (ANSI) standardized
-@c C   as  standard  X3.159-1989.    In  December   of  that   year  the
-@c International Standards Organization ISO  adopted the ANSI C standard
-@c making  minor changes.   In 1990  ANSI then  re-adopted  ISO standard
-@c C. This version of C is known as either ANSI C or Standard C.
-
-@c A major revision of the C Standard appeared in 1999.
-
-@menu
-* Source Language::             Which languages to use.
-* Compatibility::               Compatibility with other implementations.
-* Using Extensions::            Using non-standard features.
-* Standard C::                  Using standard C features.
-* Conditional Compilation::     Compiling code only if a conditional is true.
-@end menu
-
-@node Source Language
-@section Which Languages to Use
-@cindex programming languages
-
-When you want to use a language that gets compiled and runs at high
-speed, the best language to use is C.  Using another language is like
-using a non-standard feature: it will cause trouble for users.  Even if
-GCC supports the other language, users may find it inconvenient to have
-to install the compiler for that other language in order to build your
-program.  For example, if you write your program in C++, people will
-have to install the GNU C++ compiler in order to compile your program.
-
-C has one other advantage over C++ and other compiled languages: more
-people know C, so more people will find it easy to read and modify the
-program if it is written in C.
-
-So in general it is much better to use C, rather than the
-comparable alternatives.
-
-But there are two exceptions to that conclusion:
-
-@itemize @bullet
-@item
-It is no problem to use another language to write a tool specifically
-intended for use with that language.  That is because the only people
-who want to build the tool will be those who have installed the other
-language anyway.
-
-@item
-If an application is of interest only to a narrow part of the community,
-then the question of which language it is written in has less effect on
-other people, so you may as well please yourself.
-@end itemize
-
-Many programs are designed to be extensible: they include an interpreter
-for a language that is higher level than C.  Often much of the program
-is written in that language, too.  The Emacs editor pioneered this
-technique.
-
-@cindex Guile
-@cindex GNOME and Guile
-The standard extensibility interpreter for GNU software is Guile
-(@uref{http://www.gnu.org/@/software/@/guile/}), which implements the
-language Scheme (an especially clean and simple dialect of Lisp).
-Guile also includes bindings for GTK+/GNOME, making it practical to
-write modern GUI functionality within Guile.  We don't reject programs
-written in other ``scripting languages'' such as Perl and Python, but
-using Guile is very important for the overall consistency of the GNU
-system.
-
-
-@node Compatibility
-@section Compatibility with Other Implementations
-@cindex compatibility with C and @sc{posix} standards
-@cindex @sc{posix} compatibility
-
-With occasional exceptions, utility programs and libraries for GNU
-should be upward compatible with those in Berkeley Unix, and upward
-compatible with Standard C if Standard C specifies their
-behavior, and upward compatible with @sc{posix} if @sc{posix} specifies
-their behavior.
-
-When these standards conflict, it is useful to offer compatibility
-modes for each of them.
-
-@cindex options for compatibility
-Standard C and @sc{posix} prohibit many kinds of extensions.  Feel
-free to make the extensions anyway, and include a @samp{--ansi},
-@samp{--posix}, or @samp{--compatible} option to turn them off.
-However, if the extension has a significant chance of breaking any real
-programs or scripts, then it is not really upward compatible.  So you
-should try to redesign its interface to make it upward compatible.
-
-@cindex @code{POSIXLY_CORRECT}, environment variable
-Many GNU programs suppress extensions that conflict with @sc{posix} if the
-environment variable @code{POSIXLY_CORRECT} is defined (even if it is
-defined with a null value).  Please make your program recognize this
-variable if appropriate.
-
-When a feature is used only by users (not by programs or command
-files), and it is done poorly in Unix, feel free to replace it
-completely with something totally different and better.  (For example,
-@code{vi} is replaced with Emacs.)  But it is nice to offer a compatible
-feature as well.  (There is a free @code{vi} clone, so we offer it.)
-
-Additional useful features are welcome regardless of whether
-there is any precedent for them.
-
-@node Using Extensions
-@section Using Non-standard Features
-@cindex non-standard extensions
-
-Many GNU facilities that already exist support a number of convenient
-extensions over the comparable Unix facilities.  Whether to use these
-extensions in implementing your program is a difficult question.
-
-On the one hand, using the extensions can make a cleaner program.
-On the other hand, people will not be able to build the program
-unless the other GNU tools are available.  This might cause the
-program to work on fewer kinds of machines.
-
-With some extensions, it might be easy to provide both alternatives.
-For example, you can define functions with a ``keyword'' @code{INLINE}
-and define that as a macro to expand into either @code{inline} or
-nothing, depending on the compiler.
-
-In general, perhaps it is best not to use the extensions if you can
-straightforwardly do without them, but to use the extensions if they
-are a big improvement.
-
-An exception to this rule are the large, established programs (such as
-Emacs) which run on a great variety of systems.  Using GNU extensions in
-such programs would make many users unhappy, so we don't do that.
-
-Another exception is for programs that are used as part of compilation:
-anything that must be compiled with other compilers in order to
-bootstrap the GNU compilation facilities.  If these require the GNU
-compiler, then no one can compile them without having them installed
-already.  That would be extremely troublesome in certain cases.
-
-@node Standard C
-@section Standard C and Pre-Standard C
-@cindex @sc{ansi} C standard
-
-1989 Standard C is widespread enough now that it is ok to use its
-features in new programs.  There is one exception: do not ever use the
-``trigraph'' feature of Standard C.
-
-1999 Standard C is not widespread yet, so please do not require its
-features in programs.  It is ok to use its features if they are present.
-
-However, it is easy to support pre-standard compilers in most programs,
-so if you know how to do that, feel free.  If a program you are
-maintaining has such support, you should try to keep it working.
-
-@cindex function prototypes
-To support pre-standard C, instead of writing function definitions in
-standard prototype form,
-
-@example
-int
-foo (int x, int y)
-@dots{}
-@end example
-
-@noindent
-write the definition in pre-standard style like this,
-
-@example
-int
-foo (x, y)
-     int x, y;
-@dots{}
-@end example
-
-@noindent
-and use a separate declaration to specify the argument prototype:
-
-@example
-int foo (int, int);
-@end example
-
-You need such a declaration anyway, in a header file, to get the benefit
-of prototypes in all the files where the function is called.  And once
-you have the declaration, you normally lose nothing by writing the
-function definition in the pre-standard style.
-
-This technique does not work for integer types narrower than @code{int}.
-If you think of an argument as being of a type narrower than @code{int},
-declare it as @code{int} instead.
-
-There are a few special cases where this technique is hard to use.  For
-example, if a function argument needs to hold the system type
-@code{dev_t}, you run into trouble, because @code{dev_t} is shorter than
-@code{int} on some machines; but you cannot use @code{int} instead,
-because @code{dev_t} is wider than @code{int} on some machines.  There
-is no type you can safely use on all machines in a non-standard
-definition.  The only way to support non-standard C and pass such an
-argument is to check the width of @code{dev_t} using Autoconf and choose
-the argument type accordingly.  This may not be worth the trouble.
-
-In order to support pre-standard compilers that do not recognize
-prototypes, you may want to use a preprocessor macro like this:
-
-@example
-/* Declare the prototype for a general external function.  */
-#if defined (__STDC__) || defined (WINDOWSNT)
-#define P_(proto) proto
-#else
-#define P_(proto) ()
-#endif
-@end example
-
-@node Conditional Compilation
-@section Conditional Compilation
-
-When supporting configuration options already known when building your
-program we prefer using @code{if (... )} over conditional compilation,
-as in the former case the compiler is able to perform more extensive
-checking of all possible code paths.
-
-For example, please write
-
-@smallexample
-  if (HAS_FOO)
-    ...
-  else
-    ...
-@end smallexample
-
-@noindent
-instead of:
-
-@smallexample
-  #ifdef HAS_FOO
-    ...
-  #else
-    ...
-  #endif
-@end smallexample
-
-A modern compiler such as GCC will generate exactly the same code in
-both cases, and we have been using similar techniques with good success
-in several projects.  Of course, the former method assumes that
-@code{HAS_FOO} is defined as either 0 or 1.
-
-While this is not a silver bullet solving all portability problems,
-and is not always appropriate, following this policy would have saved
-GCC developers many hours, or even days, per year.
-
-In the case of function-like macros like @code{REVERSIBLE_CC_MODE} in
-GCC which cannot be simply used in @code{if (...)} statements, there is
-an easy workaround.  Simply introduce another macro
-@code{HAS_REVERSIBLE_CC_MODE} as in the following example:
-
-@smallexample
-  #ifdef REVERSIBLE_CC_MODE
-  #define HAS_REVERSIBLE_CC_MODE 1
-  #else
-  #define HAS_REVERSIBLE_CC_MODE 0
-  #endif
-@end smallexample
-
-@node Program Behavior
-@chapter Program Behavior for All Programs
-
-This chapter describes conventions for writing robust
-software.  It also describes general standards for error messages, the
-command line interface, and how libraries should behave.
-
-@menu
-* Non-GNU Standards::           We consider standards such as POSIX;
-                                  we don't "obey" them.
-* Semantics::                   Writing robust programs.
-* Libraries::                   Library behavior.
-* Errors::                      Formatting error messages.
-* User Interfaces::             Standards about interfaces generally.
-* Graphical Interfaces::        Standards for graphical interfaces.
-* Command-Line Interfaces::     Standards for command line interfaces.
-* Option Table::                Table of long options.
-* OID Allocations::             Table of OID slots for GNU.
-* Memory Usage::                When and how to care about memory needs.
-* File Usage::                  Which files to use, and where.
-@end menu
-
-@node Non-GNU Standards
-@section Non-GNU Standards
-
-The GNU Project regards standards published by other organizations as
-suggestions, not orders.  We consider those standards, but we do not
-``obey'' them.  In developing a GNU program, you should implement
-an outside standard's specifications when that makes the GNU system
-better overall in an objective sense.  When it doesn't, you shouldn't.
-
-In most cases, following published standards is convenient for
-users---it means that their programs or scripts will work more
-portably.  For instance, GCC implements nearly all the features of
-Standard C as specified by that standard.  C program developers would
-be unhappy if it did not.  And GNU utilities mostly follow
-specifications of POSIX.2; shell script writers and users would be
-unhappy if our programs were incompatible.
-
-But we do not follow either of these specifications rigidly, and there
-are specific points on which we decided not to follow them, so as to
-make the GNU system better for users.
-
-For instance, Standard C says that nearly all extensions to C are
-prohibited.  How silly!  GCC implements many extensions, some of which
-were later adopted as part of the standard.  If you want these
-constructs to give an error message as ``required'' by the standard,
-you must specify @samp{--pedantic}, which was implemented only so that
-we can say ``GCC is a 100% implementation of the standard,'' not
-because there is any reason to actually use it.
-
-POSIX.2 specifies that @samp{df} and @samp{du} must output sizes by
-default in units of 512 bytes.  What users want is units of 1k, so
-that is what we do by default.  If you want the ridiculous behavior
-``required'' by POSIX, you must set the environment variable
-@samp{POSIXLY_CORRECT} (which was originally going to be named
-@samp{POSIX_ME_HARDER}).
-
-GNU utilities also depart from the letter of the POSIX.2 specification
-when they support long-named command-line options, and intermixing
-options with ordinary arguments.  This minor incompatibility with
-POSIX is never a problem in practice, and it is very useful.
-
-In particular, don't reject a new feature, or remove an old one,
-merely because a standard says it is ``forbidden'' or ``deprecated.''
-
-@node Semantics
-@section Writing Robust Programs
-
-@cindex arbitrary limits on data
-Avoid arbitrary limits on the length or number of @emph{any} data
-structure, including file names, lines, files, and symbols, by allocating
-all data structures dynamically.  In most Unix utilities, ``long lines
-are silently truncated''.  This is not acceptable in a GNU utility.
-
-@cindex @code{NUL} characters
-Utilities reading files should not drop NUL characters, or any other
-nonprinting characters @emph{including those with codes above 0177}.
-The only sensible exceptions would be utilities specifically intended
-for interface to certain types of terminals or printers
-that can't handle those characters.
-Whenever possible, try to make programs work properly with
-sequences of bytes that represent multibyte characters, using encodings
-such as UTF-8 and others.
-
-@cindex error messages
-Check every system call for an error return, unless you know you wish to
-ignore errors.  Include the system error text (from @code{perror} or
-equivalent) in @emph{every} error message resulting from a failing
-system call, as well as the name of the file if any and the name of the
-utility.  Just ``cannot open foo.c'' or ``stat failed'' is not
-sufficient.
-
-@cindex @code{malloc} return value
-@cindex memory allocation failure
-Check every call to @code{malloc} or @code{realloc} to see if it
-returned zero.  Check @code{realloc} even if you are making the block
-smaller; in a system that rounds block sizes to a power of 2,
-@code{realloc} may get a different block if you ask for less space.
-
-In Unix, @code{realloc} can destroy the storage block if it returns
-zero.  GNU @code{realloc} does not have this bug: if it fails, the
-original block is unchanged.  Feel free to assume the bug is fixed.  If
-you wish to run your program on Unix, and wish to avoid lossage in this
-case, you can use the GNU @code{malloc}.
-
-You must expect @code{free} to alter the contents of the block that was
-freed.  Anything you want to fetch from the block, you must fetch before
-calling @code{free}.
-
-If @code{malloc} fails in a noninteractive program, make that a fatal
-error.  In an interactive program (one that reads commands from the
-user), it is better to abort the command and return to the command
-reader loop.  This allows the user to kill other processes to free up
-virtual memory, and then try the command again.
-
-@cindex command-line arguments, decoding
-Use @code{getopt_long} to decode arguments, unless the argument syntax
-makes this unreasonable.
-
-When static storage is to be written in during program execution, use
-explicit C code to initialize it.  Reserve C initialized declarations
-for data that will not be changed.
-@c ADR: why?
-
-Try to avoid low-level interfaces to obscure Unix data structures (such
-as file directories, utmp, or the layout of kernel memory), since these
-are less likely to work compatibly.  If you need to find all the files
-in a directory, use @code{readdir} or some other high-level interface.
-These are supported compatibly by GNU.
-
-@cindex signal handling
-The preferred signal handling facilities are the BSD variant of
-@code{signal}, and the @sc{posix} @code{sigaction} function; the
-alternative USG @code{signal} interface is an inferior design.
-
-Nowadays, using the @sc{posix} signal functions may be the easiest way
-to make a program portable.  If you use @code{signal}, then on GNU/Linux
-systems running GNU libc version 1, you should include
-@file{bsd/signal.h} instead of @file{signal.h}, so as to get BSD
-behavior.  It is up to you whether to support systems where
-@code{signal} has only the USG behavior, or give up on them.
-
-@cindex impossible conditions
-In error checks that detect ``impossible'' conditions, just abort.
-There is usually no point in printing any message.  These checks
-indicate the existence of bugs.  Whoever wants to fix the bugs will have
-to read the source code and run a debugger.  So explain the problem with
-comments in the source.  The relevant data will be in variables, which
-are easy to examine with the debugger, so there is no point moving them
-elsewhere.
-
-Do not use a count of errors as the exit status for a program.
-@emph{That does not work}, because exit status values are limited to 8
-bits (0 through 255).  A single run of the program might have 256
-errors; if you try to return 256 as the exit status, the parent process
-will see 0 as the status, and it will appear that the program succeeded.
-
-@cindex temporary files
-@cindex @code{TMPDIR} environment variable
-If you make temporary files, check the @code{TMPDIR} environment
-variable; if that variable is defined, use the specified directory
-instead of @file{/tmp}.
-
-In addition, be aware that there is a possible security problem when
-creating temporary files in world-writable directories.  In C, you can
-avoid this problem by creating temporary files in this manner:
-
-@example
-fd = open (filename, O_WRONLY | O_CREAT | O_EXCL, 0600);
-@end example
-
-@noindent
-or by using the @code{mkstemps} function from libiberty.
-
-In bash, use @code{set -C} to avoid this problem.
-
-@node Libraries
-@section Library Behavior
-@cindex libraries
-
-Try to make library functions reentrant.  If they need to do dynamic
-storage allocation, at least try to avoid any nonreentrancy aside from
-that of @code{malloc} itself.
-
-Here are certain name conventions for libraries, to avoid name
-conflicts.
-
-Choose a name prefix for the library, more than two characters long.
-All external function and variable names should start with this
-prefix.  In addition, there should only be one of these in any given
-library member.  This usually means putting each one in a separate
-source file.
-
-An exception can be made when two external symbols are always used
-together, so that no reasonable program could use one without the
-other; then they can both go in the same file.
-
-External symbols that are not documented entry points for the user
-should have names beginning with @samp{_}.  The @samp{_} should be
-followed by the chosen name prefix for the library, to prevent
-collisions with other libraries.  These can go in the same files with
-user entry points if you like.
-
-Static functions and variables can be used as you like and need not
-fit any naming convention.
-
-@node Errors
-@section Formatting Error Messages
-@cindex formatting error messages
-@cindex error messages, formatting
-
-Error messages from compilers should look like this:
-
-@example
-@var{source-file-name}:@var{lineno}: @var{message}
-@end example
-
-@noindent
-If you want to mention the column number, use one of these formats:
-
-@example
-@var{source-file-name}:@var{lineno}:@var{column}: @var{message}
-@var{source-file-name}:@var{lineno}.@var{column}: @var{message}
-
-@end example
-
-@noindent
-Line numbers should start from 1 at the beginning of the file, and
-column numbers should start from 1 at the beginning of the line.  (Both
-of these conventions are chosen for compatibility.)  Calculate column
-numbers assuming that space and all ASCII printing characters have
-equal width, and assuming tab stops every 8 columns.
-
-The error message can also give both the starting and ending positions
-of the erroneous text.  There are several formats so that you can
-avoid redundant information such as a duplicate line number.
-Here are the possible formats:
-
-@example
-@var{source-file-name}:@var{lineno-1}.@var{column-1}-@var{lineno-2}.@var{column-2}: @var{message}
-@var{source-file-name}:@var{lineno-1}.@var{column-1}-@var{column-2}: @var{message}
-@var{source-file-name}:@var{lineno-1}-@var{lineno-2}: @var{message}
-@end example
-
-@noindent
-When an error is spread over several files, you can use this format:
-
-@example
-@var{file-1}:@var{lineno-1}.@var{column-1}-@var{file-2}:@var{lineno-2}.@var{column-2}: @var{message}
-@end example
-
-Error messages from other noninteractive programs should look like this:
-
-@example
-@var{program}:@var{source-file-name}:@var{lineno}: @var{message}
-@end example
-
-@noindent
-when there is an appropriate source file, or like this:
-
-@example
-@var{program}: @var{message}
-@end example
-
-@noindent
-when there is no relevant source file.
-
-If you want to mention the column number, use this format:
-
-@example
-@var{program}:@var{source-file-name}:@var{lineno}:@var{column}: @var{message}
-@end example
-
-In an interactive program (one that is reading commands from a
-terminal), it is better not to include the program name in an error
-message.  The place to indicate which program is running is in the
-prompt or with the screen layout.  (When the same program runs with
-input from a source other than a terminal, it is not interactive and
-would do best to print error messages using the noninteractive style.)
-
-The string @var{message} should not begin with a capital letter when
-it follows a program name and/or file name, because that isn't the
-beginning of a sentence.  (The sentence conceptually starts at the
-beginning of the line.)  Also, it should not end with a period.
-
-Error messages from interactive programs, and other messages such as
-usage messages, should start with a capital letter.  But they should not
-end with a period.
-
-@node User Interfaces
-@section Standards for Interfaces Generally
-
-@cindex program name and its behavior
-@cindex behavior, dependent on program's name
-Please don't make the behavior of a utility depend on the name used
-to invoke it.  It is useful sometimes to make a link to a utility
-with a different name, and that should not change what it does.
-
-Instead, use a run time option or a compilation switch or both
-to select among the alternate behaviors.
-
-@cindex output device and program's behavior
-Likewise, please don't make the behavior of the program depend on the
-type of output device it is used with.  Device independence is an
-important principle of the system's design; do not compromise it merely
-to save someone from typing an option now and then.  (Variation in error
-message syntax when using a terminal is ok, because that is a side issue
-that people do not depend on.)
-
-If you think one behavior is most useful when the output is to a
-terminal, and another is most useful when the output is a file or a
-pipe, then it is usually best to make the default behavior the one that
-is useful with output to a terminal, and have an option for the other
-behavior.
-
-Compatibility requires certain programs to depend on the type of output
-device.  It would be disastrous if @code{ls} or @code{sh} did not do so
-in the way all users expect.  In some of these cases, we supplement the
-program with a preferred alternate version that does not depend on the
-output device type.  For example, we provide a @code{dir} program much
-like @code{ls} except that its default output format is always
-multi-column format.
-
-
-@node Graphical Interfaces
-@section Standards for Graphical Interfaces
-@cindex graphical user interface
-@cindex interface styles
-@cindex user interface styles
-
-@cindex GTK+
-When you write a program that provides a graphical user interface,
-please make it work with the X Window System and the GTK+ toolkit
-unless the functionality specifically requires some alternative (for
-example, ``displaying jpeg images while in console mode'').
-
-In addition, please provide a command-line interface to control the
-functionality.  (In many cases, the graphical user interface can be a
-separate program which invokes the command-line program.)  This is
-so that the same jobs can be done from scripts.
-
-@cindex CORBA
-@cindex GNOME
-@cindex D-bus
-@cindex keyboard interface
-@cindex library interface
-Please also consider providing a D-bus interface for use from other
-running programs, such as within GNOME.  (GNOME used to use CORBA
-for this, but that is being phased out.)  In addition, consider
-providing a library interface (for use from C), and perhaps a
-keyboard-driven console interface (for use by users from console
-mode).  Once you are doing the work to provide the functionality and
-the graphical interface, these won't be much extra work.
-
-
-@node Command-Line Interfaces
-@section Standards for Command Line Interfaces
-@cindex command-line interface
-
-@findex getopt
-It is a good idea to follow the @sc{posix} guidelines for the
-command-line options of a program.  The easiest way to do this is to use
-@code{getopt} to parse them.  Note that the GNU version of @code{getopt}
-will normally permit options anywhere among the arguments unless the
-special argument @samp{--} is used.  This is not what @sc{posix}
-specifies; it is a GNU extension.
-
-@cindex long-named options
-Please define long-named options that are equivalent to the
-single-letter Unix-style options.  We hope to make GNU more user
-friendly this way.  This is easy to do with the GNU function
-@code{getopt_long}.
-
-One of the advantages of long-named options is that they can be
-consistent from program to program.  For example, users should be able
-to expect the ``verbose'' option of any GNU program which has one, to be
-spelled precisely @samp{--verbose}.  To achieve this uniformity, look at
-the table of common long-option names when you choose the option names
-for your program (@pxref{Option Table}).
-
-It is usually a good idea for file names given as ordinary arguments to
-be input files only; any output files would be specified using options
-(preferably @samp{-o} or @samp{--output}).  Even if you allow an output
-file name as an ordinary argument for compatibility, try to provide an
-option as another way to specify it.  This will lead to more consistency
-among GNU utilities, and fewer idiosyncrasies for users to remember.
-
-@cindex standard command-line options
-@cindex options, standard command-line
-@cindex CGI programs, standard options for
-@cindex PATH_INFO, specifying standard options as
-All programs should support two standard options: @samp{--version}
-and @samp{--help}.  CGI programs should accept these as command-line
-options, and also if given as the @env{PATH_INFO}; for instance,
-visiting @url{http://example.org/p.cgi/--help} in a browser should
-output the same information as invoking @samp{p.cgi --help} from the
-command line.
-
-@menu
-* --version::       The standard output for --version.
-* --help::          The standard output for --help.
-@end menu
-
-@node --version
-@subsection @option{--version}
-
-@cindex @samp{--version} output
-
-The standard @code{--version} option should direct the program to
-print information about its name, version, origin and legal status,
-all on standard output, and then exit successfully.  Other options and
-arguments should be ignored once this is seen, and the program should
-not perform its normal function.
-
-@cindex canonical name of a program
-@cindex program's canonical name
-The first line is meant to be easy for a program to parse; the version
-number proper starts after the last space.  In addition, it contains
-the canonical name for this program, in this format:
-
-@example
-GNU Emacs 19.30
-@end example
-
-@noindent
-The program's name should be a constant string; @emph{don't} compute it
-from @code{argv[0]}.  The idea is to state the standard or canonical
-name for the program, not its file name.  There are other ways to find
-out the precise file name where a command is found in @code{PATH}.
-
-If the program is a subsidiary part of a larger package, mention the
-package name in parentheses, like this:
-
-@example
-emacsserver (GNU Emacs) 19.30
-@end example
-
-@noindent
-If the package has a version number which is different from this
-program's version number, you can mention the package version number
-just before the close-parenthesis.
-
-If you @emph{need} to mention the version numbers of libraries which
-are distributed separately from the package which contains this program,
-you can do so by printing an additional line of version info for each
-library you want to mention.  Use the same format for these lines as for
-the first line.
-
-Please do not mention all of the libraries that the program uses ``just
-for completeness''---that would produce a lot of unhelpful clutter.
-Please mention library version numbers only if you find in practice that
-they are very important to you in debugging.
-
-The following line, after the version number line or lines, should be a
-copyright notice.  If more than one copyright notice is called for, put
-each on a separate line.
-
-Next should follow a line stating the license, preferably using one of
-abbrevations below, and a brief statement that the program is free
-software, and that users are free to copy and change it.  Also mention
-that there is no warranty, to the extent permitted by law.  See
-recommended wording below.
-
-It is ok to finish the output with a list of the major authors of the
-program, as a way of giving credit.
-
-Here's an example of output that follows these rules:
-
-@smallexample
-GNU hello 2.3
-Copyright (C) 2007 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
-@end smallexample
-
-You should adapt this to your program, of course, filling in the proper
-year, copyright holder, name of program, and the references to
-distribution terms, and changing the rest of the wording as necessary.
-
-This copyright notice only needs to mention the most recent year in
-which changes were made---there's no need to list the years for previous
-versions' changes.  You don't have to mention the name of the program in
-these notices, if that is inconvenient, since it appeared in the first
-line.  (The rules are different for copyright notices in source files;
-@pxref{Copyright Notices,,,maintain,Information for GNU Maintainers}.)
-
-Translations of the above lines must preserve the validity of the
-copyright notices (@pxref{Internationalization}).  If the translation's
-character set supports it, the @samp{(C)} should be replaced with the
-copyright symbol, as follows:
-
-@ifinfo
-(the official copyright symbol, which is the letter C in a circle);
-@end ifinfo
-@ifnotinfo
-@copyright{}
-@end ifnotinfo
-
-Write the word ``Copyright'' exactly like that, in English.  Do not
-translate it into another language.  International treaties recognize
-the English word ``Copyright''; translations into other languages do not
-have legal significance.
-
-Finally, here is the table of our suggested license abbreviations.
-Any abbreviation can be followed by @samp{v@var{version}[+]}, meaning
-that particular version, or later versions with the @samp{+}, as shown
-above.
-
-In the case of exceptions for extra permissions with the GPL, we use
-@samp{/} for a separator; the version number can follow the license
-abbreviation as usual, as in the examples below.
-
-@table @asis
-@item GPL
-GNU General Public License, @url{http://www.gnu.org/@/licenses/@/gpl.html}.
-
-@item LGPL
-GNU Lesser General Public License, @url{http://www.gnu.org/@/licenses/@/lgpl.html}.
-
-@item GPL/Ada
-GNU GPL with the exception for Ada.
-
-@item Apache
-The Apache Software Foundation license,
-@url{http://www.apache.org/@/licenses}.
-
-@item Artistic
-The Artistic license used for Perl, @url{http://www.perlfoundation.org/@/legal}.
-
-@item Expat
-The Expat license, @url{http://www.jclark.com/@/xml/@/copying.txt}.
-
-@item MPL
-The Mozilla Public License, @url{http://www.mozilla.org/@/MPL/}.
-
-@item OBSD
-The original (4-clause) BSD license, incompatible with the GNU GPL
-@url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#6}.
-
-@item PHP
-The license used for PHP, @url{http://www.php.net/@/license/}.
-
-@item public domain
-The non-license that is being in the public domain,
-@url{http://www.gnu.org/@/licenses/@/license-list.html#PublicDomain}.
-
-@item Python
-The license for Python, @url{http://www.python.org/@/2.0.1/@/license.html}.
-
-@item RBSD
-The revised (3-clause) BSD, compatible with the GNU GPL,@*
-@url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#5}.
-
-@item X11
-The simple non-copyleft license used for most versions of the X Window
-System, @url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#3}.
-
-@item Zlib
-The license for Zlib, @url{http://www.gzip.org/@/zlib/@/zlib_license.html}.
-
-@end table
-
-More information about these licenses and many more are on the GNU
-licensing web pages,
-@url{http://www.gnu.org/@/licenses/@/license-list.html}.
-
-
-@node --help
-@subsection @option{--help}
-
-@cindex @samp{--help} output
-
-The standard @code{--help} option should output brief documentation
-for how to invoke the program, on standard output, then exit
-successfully.  Other options and arguments should be ignored once this
-is seen, and the program should not perform its normal function.
-
-@cindex address for bug reports
-@cindex bug reports
-Near the end of the @samp{--help} option's output, please place lines
-giving the email address for bug reports, the package's home page
-(normally @indicateurl{http://www.gnu.org/software/@var{pkg}}, and the
-general page for help using GNU programs.  The format should be like this:
-
-@example
-Report bugs to: @var{mailing-address}
-@var{pkg} home page: <http://www.gnu.org/software/@var{pkg}/>
-General help using GNU software: <http://www.gnu.org/gethelp/>
-@end example
-
-It is ok to mention other appropriate mailing lists and web pages.
-
-
-@node Option Table
-@section Table of Long Options
-@cindex long option names
-@cindex table of long options
-
-Here is a table of long options used by GNU programs.  It is surely
-incomplete, but we aim to list all the options that a new program might
-want to be compatible with.  If you use names not already in the table,
-please send @email{bug-standards@@gnu.org} a list of them, with their
-meanings, so we can update the table.
-
-@c Please leave newlines between items in this table; it's much easier
-@c to update when it isn't completely squashed together and unreadable.
-@c When there is more than one short option for a long option name, put
-@c a semicolon between the lists of the programs that use them, not a
-@c period.   --friedman
-
-@table @samp
-@item after-date
-@samp{-N} in @code{tar}.
-
-@item all
-@samp{-a} in @code{du}, @code{ls}, @code{nm}, @code{stty}, @code{uname},
-and @code{unexpand}.
-
-@item all-text
-@samp{-a} in @code{diff}.
-
-@item almost-all
-@samp{-A} in @code{ls}.
-
-@item append
-@samp{-a} in @code{etags}, @code{tee}, @code{time};
-@samp{-r} in @code{tar}.
-
-@item archive
-@samp{-a} in @code{cp}.
-
-@item archive-name
-@samp{-n} in @code{shar}.
-
-@item arglength
-@samp{-l} in @code{m4}.
-
-@item ascii
-@samp{-a} in @code{diff}.
-
-@item assign
-@samp{-v} in @code{gawk}.
-
-@item assume-new
-@samp{-W} in @code{make}.
-
-@item assume-old
-@samp{-o} in @code{make}.
-
-@item auto-check
-@samp{-a} in @code{recode}.
-
-@item auto-pager
-@samp{-a} in @code{wdiff}.
-
-@item auto-reference
-@samp{-A} in @code{ptx}.
-
-@item avoid-wraps
-@samp{-n} in @code{wdiff}.
-
-@item background
-For server programs, run in the background.
-
-@item backward-search
-@samp{-B} in @code{ctags}.
-
-@item basename
-@samp{-f} in @code{shar}.
-
-@item batch
-Used in GDB.
-
-@item baud
-Used in GDB.
-
-@item before
-@samp{-b} in @code{tac}.
-
-@item binary
-@samp{-b} in @code{cpio} and @code{diff}.
-
-@item bits-per-code
-@samp{-b} in @code{shar}.
-
-@item block-size
-Used in @code{cpio} and @code{tar}.
-
-@item blocks
-@samp{-b} in @code{head} and @code{tail}.
-
-@item break-file
-@samp{-b} in @code{ptx}.
-
-@item brief
-Used in various programs to make output shorter.
-
-@item bytes
-@samp{-c} in @code{head}, @code{split}, and @code{tail}.
-
-@item c@t{++}
-@samp{-C} in @code{etags}.
-
-@item catenate
-@samp{-A} in @code{tar}.
-
-@item cd
-Used in various programs to specify the directory to use.
-
-@item changes
-@samp{-c} in @code{chgrp} and @code{chown}.
-
-@item classify
-@samp{-F} in @code{ls}.
-
-@item colons
-@samp{-c} in @code{recode}.
-
-@item command
-@samp{-c} in @code{su};
-@samp{-x} in GDB.
-
-@item compare
-@samp{-d} in @code{tar}.
-
-@item compat
-Used in @code{gawk}.
-
-@item compress
-@samp{-Z} in @code{tar} and @code{shar}.
-
-@item concatenate
-@samp{-A} in @code{tar}.
-
-@item confirmation
-@samp{-w} in @code{tar}.
-
-@item context
-Used in @code{diff}.
-
-@item copyleft
-@samp{-W copyleft} in @code{gawk}.
-
-@item copyright
-@samp{-C} in @code{ptx}, @code{recode}, and @code{wdiff};
-@samp{-W copyright} in @code{gawk}.
-
-@item core
-Used in GDB.
-
-@item count
-@samp{-q} in @code{who}.
-
-@item count-links
-@samp{-l} in @code{du}.
-
-@item create
-Used in @code{tar} and @code{cpio}.
-
-@item cut-mark
-@samp{-c} in @code{shar}.
-
-@item cxref
-@samp{-x} in @code{ctags}.
-
-@item date
-@samp{-d} in @code{touch}.
-
-@item debug
-@samp{-d} in @code{make} and @code{m4};
-@samp{-t} in Bison.
-
-@item define
-@samp{-D} in @code{m4}.
-
-@item defines
-@samp{-d} in Bison and @code{ctags}.
-
-@item delete
-@samp{-D} in @code{tar}.
-
-@item dereference
-@samp{-L} in @code{chgrp}, @code{chown}, @code{cpio}, @code{du},
-@code{ls}, and @code{tar}.
-
-@item dereference-args
-@samp{-D} in @code{du}.
-
-@item device
-Specify an I/O device (special file name).
-
-@item diacritics
-@samp{-d} in @code{recode}.
-
-@item dictionary-order
-@samp{-d} in @code{look}.
-
-@item diff
-@samp{-d} in @code{tar}.
-
-@item digits
-@samp{-n} in @code{csplit}.
-
-@item directory
-Specify the directory to use, in various programs.  In @code{ls}, it
-means to show directories themselves rather than their contents.  In
-@code{rm} and @code{ln}, it means to not treat links to directories
-specially.
-
-@item discard-all
-@samp{-x} in @code{strip}.
-
-@item discard-locals
-@samp{-X} in @code{strip}.
-
-@item dry-run
-@samp{-n} in @code{make}.
-
-@item ed
-@samp{-e} in @code{diff}.
-
-@item elide-empty-files
-@samp{-z} in @code{csplit}.
-
-@item end-delete
-@samp{-x} in @code{wdiff}.
-
-@item end-insert
-@samp{-z} in @code{wdiff}.
-
-@item entire-new-file
-@samp{-N} in @code{diff}.
-
-@item environment-overrides
-@samp{-e} in @code{make}.
-
-@item eof
-@samp{-e} in @code{xargs}.
-
-@item epoch
-Used in GDB.
-
-@item error-limit
-Used in @code{makeinfo}.
-
-@item error-output
-@samp{-o} in @code{m4}.
-
-@item escape
-@samp{-b} in @code{ls}.
-
-@item exclude-from
-@samp{-X} in @code{tar}.
-
-@item exec
-Used in GDB.
-
-@item exit
-@samp{-x} in @code{xargs}.
-
-@item exit-0
-@samp{-e} in @code{unshar}.
-
-@item expand-tabs
-@samp{-t} in @code{diff}.
-
-@item expression
-@samp{-e} in @code{sed}.
-
-@item extern-only
-@samp{-g} in @code{nm}.
-
-@item extract
-@samp{-i} in @code{cpio};
-@samp{-x} in @code{tar}.
-
-@item faces
-@samp{-f} in @code{finger}.
-
-@item fast
-@samp{-f} in @code{su}.
-
-@item fatal-warnings
-@samp{-E} in @code{m4}.
-
-@item file
-@samp{-f} in @code{gawk}, @code{info}, @code{make}, @code{mt},
-@code{sed}, and @code{tar}.
-
-@item field-separator
-@samp{-F} in @code{gawk}.
-
-@item file-prefix
-@samp{-b} in Bison.
-
-@item file-type
-@samp{-F} in @code{ls}.
-
-@item files-from
-@samp{-T} in @code{tar}.
-
-@item fill-column
-Used in @code{makeinfo}.
-
-@item flag-truncation
-@samp{-F} in @code{ptx}.
-
-@item fixed-output-files
-@samp{-y} in Bison.
-
-@item follow
-@samp{-f} in @code{tail}.
-
-@item footnote-style
-Used in @code{makeinfo}.
-
-@item force
-@samp{-f} in @code{cp}, @code{ln}, @code{mv}, and @code{rm}.
-
-@item force-prefix
-@samp{-F} in @code{shar}.
-
-@item foreground
-For server programs, run in the foreground;
-in other words, don't do anything special to run the server
-in the background.
-
-@item format
-Used in @code{ls}, @code{time}, and @code{ptx}.
-
-@item freeze-state
-@samp{-F} in @code{m4}.
-
-@item fullname
-Used in GDB.
-
-@item gap-size
-@samp{-g} in @code{ptx}.
-
-@item get
-@samp{-x} in @code{tar}.
-
-@item graphic
-@samp{-i} in @code{ul}.
-
-@item graphics
-@samp{-g} in @code{recode}.
-
-@item group
-@samp{-g} in @code{install}.
-
-@item gzip
-@samp{-z} in @code{tar} and @code{shar}.
-
-@item hashsize
-@samp{-H} in @code{m4}.
-
-@item header
-@samp{-h} in @code{objdump} and @code{recode}
-
-@item heading
-@samp{-H} in @code{who}.
-
-@item help
-Used to ask for brief usage information.
-
-@item here-delimiter
-@samp{-d} in @code{shar}.
-
-@item hide-control-chars
-@samp{-q} in @code{ls}.
-
-@item html
-In @code{makeinfo}, output HTML.
-
-@item idle
-@samp{-u} in @code{who}.
-
-@item ifdef
-@samp{-D} in @code{diff}.
-
-@item ignore
-@samp{-I} in @code{ls};
-@samp{-x} in @code{recode}.
-
-@item ignore-all-space
-@samp{-w} in @code{diff}.
-
-@item ignore-backups
-@samp{-B} in @code{ls}.
-
-@item ignore-blank-lines
-@samp{-B} in @code{diff}.
-
-@item ignore-case
-@samp{-f} in @code{look} and @code{ptx};
-@samp{-i} in @code{diff} and @code{wdiff}.
-
-@item ignore-errors
-@samp{-i} in @code{make}.
-
-@item ignore-file
-@samp{-i} in @code{ptx}.
-
-@item ignore-indentation
-@samp{-I} in @code{etags}.
-
-@item ignore-init-file
-@samp{-f} in Oleo.
-
-@item ignore-interrupts
-@samp{-i} in @code{tee}.
-
-@item ignore-matching-lines
-@samp{-I} in @code{diff}.
-
-@item ignore-space-change
-@samp{-b} in @code{diff}.
-
-@item ignore-zeros
-@samp{-i} in @code{tar}.
-
-@item include
-@samp{-i} in @code{etags};
-@samp{-I} in @code{m4}.
-
-@item include-dir
-@samp{-I} in @code{make}.
-
-@item incremental
-@samp{-G} in @code{tar}.
-
-@item info
-@samp{-i}, @samp{-l}, and @samp{-m} in Finger.
-
-@item init-file
-In some programs, specify the name of the file to read as the user's
-init file.
-
-@item initial
-@samp{-i} in @code{expand}.
-
-@item initial-tab
-@samp{-T} in @code{diff}.
-
-@item inode
-@samp{-i} in @code{ls}.
-
-@item interactive
-@samp{-i} in @code{cp}, @code{ln}, @code{mv}, @code{rm};
-@samp{-e} in @code{m4};
-@samp{-p} in @code{xargs};
-@samp{-w} in @code{tar}.
-
-@item intermix-type
-@samp{-p} in @code{shar}.
-
-@item iso-8601
-Used in @code{date}
-
-@item jobs
-@samp{-j} in @code{make}.
-
-@item just-print
-@samp{-n} in @code{make}.
-
-@item keep-going
-@samp{-k} in @code{make}.
-
-@item keep-files
-@samp{-k} in @code{csplit}.
-
-@item kilobytes
-@samp{-k} in @code{du} and @code{ls}.
-
-@item language
-@samp{-l} in @code{etags}.
-
-@item less-mode
-@samp{-l} in @code{wdiff}.
-
-@item level-for-gzip
-@samp{-g} in @code{shar}.
-
-@item line-bytes
-@samp{-C} in @code{split}.
-
-@item lines
-Used in @code{split}, @code{head}, and @code{tail}.
-
-@item link
-@samp{-l} in @code{cpio}.
-
-@item lint
-@itemx lint-old
-Used in @code{gawk}.
-
-@item list
-@samp{-t} in @code{cpio};
-@samp{-l} in @code{recode}.
-
-@item list
-@samp{-t} in @code{tar}.
-
-@item literal
-@samp{-N} in @code{ls}.
-
-@item load-average
-@samp{-l} in @code{make}.
-
-@item login
-Used in @code{su}.
-
-@item machine
-Used in @code{uname}.
-
-@item macro-name
-@samp{-M} in @code{ptx}.
-
-@item mail
-@samp{-m} in @code{hello} and @code{uname}.
-
-@item make-directories
-@samp{-d} in @code{cpio}.
-
-@item makefile
-@samp{-f} in @code{make}.
-
-@item mapped
-Used in GDB.
-
-@item max-args
-@samp{-n} in @code{xargs}.
-
-@item max-chars
-@samp{-n} in @code{xargs}.
-
-@item max-lines
-@samp{-l} in @code{xargs}.
-
-@item max-load
-@samp{-l} in @code{make}.
-
-@item max-procs
-@samp{-P} in @code{xargs}.
-
-@item mesg
-@samp{-T} in @code{who}.
-
-@item message
-@samp{-T} in @code{who}.
-
-@item minimal
-@samp{-d} in @code{diff}.
-
-@item mixed-uuencode
-@samp{-M} in @code{shar}.
-
-@item mode
-@samp{-m} in @code{install}, @code{mkdir}, and @code{mkfifo}.
-
-@item modification-time
-@samp{-m} in @code{tar}.
-
-@item multi-volume
-@samp{-M} in @code{tar}.
-
-@item name-prefix
-@samp{-a} in Bison.
-
-@item nesting-limit
-@samp{-L} in @code{m4}.
-
-@item net-headers
-@samp{-a} in @code{shar}.
-
-@item new-file
-@samp{-W} in @code{make}.
-
-@item no-builtin-rules
-@samp{-r} in @code{make}.
-
-@item no-character-count
-@samp{-w} in @code{shar}.
-
-@item no-check-existing
-@samp{-x} in @code{shar}.
-
-@item no-common
-@samp{-3} in @code{wdiff}.
-
-@item no-create
-@samp{-c} in @code{touch}.
-
-@item no-defines
-@samp{-D} in @code{etags}.
-
-@item no-deleted
-@samp{-1} in @code{wdiff}.
-
-@item no-dereference
-@samp{-d} in @code{cp}.
-
-@item no-inserted
-@samp{-2} in @code{wdiff}.
-
-@item no-keep-going
-@samp{-S} in @code{make}.
-
-@item no-lines
-@samp{-l} in Bison.
-
-@item no-piping
-@samp{-P} in @code{shar}.
-
-@item no-prof
-@samp{-e} in @code{gprof}.
-
-@item no-regex
-@samp{-R} in @code{etags}.
-
-@item no-sort
-@samp{-p} in @code{nm}.
-
-@item no-splash
-Don't print a startup splash screen.
-
-@item no-split
-Used in @code{makeinfo}.
-
-@item no-static
-@samp{-a} in @code{gprof}.
-
-@item no-time
-@samp{-E} in @code{gprof}.
-
-@item no-timestamp
-@samp{-m} in @code{shar}.
-
-@item no-validate
-Used in @code{makeinfo}.
-
-@item no-wait
-Used in @code{emacsclient}.
-
-@item no-warn
-Used in various programs to inhibit warnings.
-
-@item node
-@samp{-n} in @code{info}.
-
-@item nodename
-@samp{-n} in @code{uname}.
-
-@item nonmatching
-@samp{-f} in @code{cpio}.
-
-@item nstuff
-@samp{-n} in @code{objdump}.
-
-@item null
-@samp{-0} in @code{xargs}.
-
-@item number
-@samp{-n} in @code{cat}.
-
-@item number-nonblank
-@samp{-b} in @code{cat}.
-
-@item numeric-sort
-@samp{-n} in @code{nm}.
-
-@item numeric-uid-gid
-@samp{-n} in @code{cpio} and @code{ls}.
-
-@item nx
-Used in GDB.
-
-@item old-archive
-@samp{-o} in @code{tar}.
-
-@item old-file
-@samp{-o} in @code{make}.
-
-@item one-file-system
-@samp{-l} in @code{tar}, @code{cp}, and @code{du}.
-
-@item only-file
-@samp{-o} in @code{ptx}.
-
-@item only-prof
-@samp{-f} in @code{gprof}.
-
-@item only-time
-@samp{-F} in @code{gprof}.
-
-@item options
-@samp{-o} in @code{getopt}, @code{fdlist}, @code{fdmount},
-@code{fdmountd}, and @code{fdumount}.
-
-@item output
-In various programs, specify the output file name.
-
-@item output-prefix
-@samp{-o} in @code{shar}.
-
-@item override
-@samp{-o} in @code{rm}.
-
-@item overwrite
-@samp{-c} in @code{unshar}.
-
-@item owner
-@samp{-o} in @code{install}.
-
-@item paginate
-@samp{-l} in @code{diff}.
-
-@item paragraph-indent
-Used in @code{makeinfo}.
-
-@item parents
-@samp{-p} in @code{mkdir} and @code{rmdir}.
-
-@item pass-all
-@samp{-p} in @code{ul}.
-
-@item pass-through
-@samp{-p} in @code{cpio}.
-
-@item port
-@samp{-P} in @code{finger}.
-
-@item portability
-@samp{-c} in @code{cpio} and @code{tar}.
-
-@item posix
-Used in @code{gawk}.
-
-@item prefix-builtins
-@samp{-P} in @code{m4}.
-
-@item prefix
-@samp{-f} in @code{csplit}.
-
-@item preserve
-Used in @code{tar} and @code{cp}.
-
-@item preserve-environment
-@samp{-p} in @code{su}.
-
-@item preserve-modification-time
-@samp{-m} in @code{cpio}.
-
-@item preserve-order
-@samp{-s} in @code{tar}.
-
-@item preserve-permissions
-@samp{-p} in @code{tar}.
-
-@item print
-@samp{-l} in @code{diff}.
-
-@item print-chars
-@samp{-L} in @code{cmp}.
-
-@item print-data-base
-@samp{-p} in @code{make}.
-
-@item print-directory
-@samp{-w} in @code{make}.
-
-@item print-file-name
-@samp{-o} in @code{nm}.
-
-@item print-symdefs
-@samp{-s} in @code{nm}.
-
-@item printer
-@samp{-p} in @code{wdiff}.
-
-@item prompt
-@samp{-p} in @code{ed}.
-
-@item proxy
-Specify an HTTP proxy.
-
-@item query-user
-@samp{-X} in @code{shar}.
-
-@item question
-@samp{-q} in @code{make}.
-
-@item quiet
-Used in many programs to inhibit the usual output.  Every
-program accepting @samp{--quiet} should accept @samp{--silent} as a
-synonym.
-
-@item quiet-unshar
-@samp{-Q} in @code{shar}
-
-@item quote-name
-@samp{-Q} in @code{ls}.
-
-@item rcs
-@samp{-n} in @code{diff}.
-
-@item re-interval
-Used in @code{gawk}.
-
-@item read-full-blocks
-@samp{-B} in @code{tar}.
-
-@item readnow
-Used in GDB.
-
-@item recon
-@samp{-n} in @code{make}.
-
-@item record-number
-@samp{-R} in @code{tar}.
-
-@item recursive
-Used in @code{chgrp}, @code{chown}, @code{cp}, @code{ls}, @code{diff},
-and @code{rm}.
-
-@item reference
-@samp{-r} in @code{touch}.
-
-@item references
-@samp{-r} in @code{ptx}.
-
-@item regex
-@samp{-r} in @code{tac} and @code{etags}.
-
-@item release
-@samp{-r} in @code{uname}.
-
-@item reload-state
-@samp{-R} in @code{m4}.
-
-@item relocation
-@samp{-r} in @code{objdump}.
-
-@item rename
-@samp{-r} in @code{cpio}.
-
-@item replace
-@samp{-i} in @code{xargs}.
-
-@item report-identical-files
-@samp{-s} in @code{diff}.
-
-@item reset-access-time
-@samp{-a} in @code{cpio}.
-
-@item reverse
-@samp{-r} in @code{ls} and @code{nm}.
-
-@item reversed-ed
-@samp{-f} in @code{diff}.
-
-@item right-side-defs
-@samp{-R} in @code{ptx}.
-
-@item same-order
-@samp{-s} in @code{tar}.
-
-@item same-permissions
-@samp{-p} in @code{tar}.
-
-@item save
-@samp{-g} in @code{stty}.
-
-@item se
-Used in GDB.
-
-@item sentence-regexp
-@samp{-S} in @code{ptx}.
-
-@item separate-dirs
-@samp{-S} in @code{du}.
-
-@item separator
-@samp{-s} in @code{tac}.
-
-@item sequence
-Used by @code{recode} to chose files or pipes for sequencing passes.
-
-@item shell
-@samp{-s} in @code{su}.
-
-@item show-all
-@samp{-A} in @code{cat}.
-
-@item show-c-function
-@samp{-p} in @code{diff}.
-
-@item show-ends
-@samp{-E} in @code{cat}.
-
-@item show-function-line
-@samp{-F} in @code{diff}.
-
-@item show-tabs
-@samp{-T} in @code{cat}.
-
-@item silent
-Used in many programs to inhibit the usual output.
-Every program accepting
-@samp{--silent} should accept @samp{--quiet} as a synonym.
-
-@item size
-@samp{-s} in @code{ls}.
-
-@item socket
-Specify a file descriptor for a network server to use for its socket,
-instead of opening and binding a new socket.  This provides a way to
-run, in a non-privileged process, a server that normally needs a
-reserved port number.
-
-@item sort
-Used in @code{ls}.
-
-@item source
-@samp{-W source} in @code{gawk}.
-
-@item sparse
-@samp{-S} in @code{tar}.
-
-@item speed-large-files
-@samp{-H} in @code{diff}.
-
-@item split-at
-@samp{-E} in @code{unshar}.
-
-@item split-size-limit
-@samp{-L} in @code{shar}.
-
-@item squeeze-blank
-@samp{-s} in @code{cat}.
-
-@item start-delete
-@samp{-w} in @code{wdiff}.
-
-@item start-insert
-@samp{-y} in @code{wdiff}.
-
-@item starting-file
-Used in @code{tar} and @code{diff} to specify which file within
-a directory to start processing with.
-
-@item statistics
-@samp{-s} in @code{wdiff}.
-
-@item stdin-file-list
-@samp{-S} in @code{shar}.
-
-@item stop
-@samp{-S} in @code{make}.
-
-@item strict
-@samp{-s} in @code{recode}.
-
-@item strip
-@samp{-s} in @code{install}.
-
-@item strip-all
-@samp{-s} in @code{strip}.
-
-@item strip-debug
-@samp{-S} in @code{strip}.
-
-@item submitter
-@samp{-s} in @code{shar}.
-
-@item suffix
-@samp{-S} in @code{cp}, @code{ln}, @code{mv}.
-
-@item suffix-format
-@samp{-b} in @code{csplit}.
-
-@item sum
-@samp{-s} in @code{gprof}.
-
-@item summarize
-@samp{-s} in @code{du}.
-
-@item symbolic
-@samp{-s} in @code{ln}.
-
-@item symbols
-Used in GDB and @code{objdump}.
-
-@item synclines
-@samp{-s} in @code{m4}.
-
-@item sysname
-@samp{-s} in @code{uname}.
-
-@item tabs
-@samp{-t} in @code{expand} and @code{unexpand}.
-
-@item tabsize
-@samp{-T} in @code{ls}.
-
-@item terminal
-@samp{-T} in @code{tput} and @code{ul}.
-@samp{-t} in @code{wdiff}.
-
-@item text
-@samp{-a} in @code{diff}.
-
-@item text-files
-@samp{-T} in @code{shar}.
-
-@item time
-Used in @code{ls} and @code{touch}.
-
-@item timeout
-Specify how long to wait before giving up on some operation.
-
-@item to-stdout
-@samp{-O} in @code{tar}.
-
-@item total
-@samp{-c} in @code{du}.
-
-@item touch
-@samp{-t} in @code{make}, @code{ranlib}, and @code{recode}.
-
-@item trace
-@samp{-t} in @code{m4}.
-
-@item traditional
-@samp{-t} in @code{hello};
-@samp{-W traditional} in @code{gawk};
-@samp{-G} in @code{ed}, @code{m4}, and @code{ptx}.
-
-@item tty
-Used in GDB.
-
-@item typedefs
-@samp{-t} in @code{ctags}.
-
-@item typedefs-and-c++
-@samp{-T} in @code{ctags}.
-
-@item typeset-mode
-@samp{-t} in @code{ptx}.
-
-@item uncompress
-@samp{-z} in @code{tar}.
-
-@item unconditional
-@samp{-u} in @code{cpio}.
-
-@item undefine
-@samp{-U} in @code{m4}.
-
-@item undefined-only
-@samp{-u} in @code{nm}.
-
-@item update
-@samp{-u} in @code{cp}, @code{ctags}, @code{mv}, @code{tar}.
-
-@item usage
-Used in @code{gawk}; same as @samp{--help}.
-
-@item uuencode
-@samp{-B} in @code{shar}.
-
-@item vanilla-operation
-@samp{-V} in @code{shar}.
-
-@item verbose
-Print more information about progress.  Many programs support this.
-
-@item verify
-@samp{-W} in @code{tar}.
-
-@item version
-Print the version number.
-
-@item version-control
-@samp{-V} in @code{cp}, @code{ln}, @code{mv}.
-
-@item vgrind
-@samp{-v} in @code{ctags}.
-
-@item volume
-@samp{-V} in @code{tar}.
-
-@item what-if
-@samp{-W} in @code{make}.
-
-@item whole-size-limit
-@samp{-l} in @code{shar}.
-
-@item width
-@samp{-w} in @code{ls} and @code{ptx}.
-
-@item word-regexp
-@samp{-W} in @code{ptx}.
-
-@item writable
-@samp{-T} in @code{who}.
-
-@item zeros
-@samp{-z} in @code{gprof}.
-@end table
-
-@node OID Allocations
-@section OID Allocations
-@cindex OID allocations for GNU
-@cindex SNMP
-@cindex LDAP
-@cindex X.509
-
-The OID (object identifier) 1.3.6.1.4.1.11591 has been assigned to the
-GNU Project (thanks to Werner Koch).  These are used for SNMP, LDAP,
-X.509 certificates, and so on.  The web site
-@url{http://www.alvestrand.no/objectid} has a (voluntary) listing of
-many OID assignments.
-
-If you need a new slot for your GNU package, write
-@email{maintainers@@gnu.org}.  Here is a list of arcs currently
-assigned:
-
-@example
-@include gnu-oids.texi
-@end example
-
-
-@node Memory Usage
-@section Memory Usage
-@cindex memory usage
-
-If a program typically uses just a few meg of memory, don't bother making any
-effort to reduce memory usage.  For example, if it is impractical for
-other reasons to operate on files more than a few meg long, it is
-reasonable to read entire input files into memory to operate on them.
-
-However, for programs such as @code{cat} or @code{tail}, that can
-usefully operate on very large files, it is important to avoid using a
-technique that would artificially limit the size of files it can handle.
-If a program works by lines and could be applied to arbitrary
-user-supplied input files, it should keep only a line in memory, because
-this is not very hard and users will want to be able to operate on input
-files that are bigger than will fit in memory all at once.
-
-If your program creates complicated data structures, just make them in
-memory and give a fatal error if @code{malloc} returns zero.
-
-@node File Usage
-@section File Usage
-@cindex file usage
-
-Programs should be prepared to operate when @file{/usr} and @file{/etc}
-are read-only file systems.  Thus, if the program manages log files,
-lock files, backup files, score files, or any other files which are
-modified for internal purposes, these files should not be stored in
-@file{/usr} or @file{/etc}.
-
-There are two exceptions.  @file{/etc} is used to store system
-configuration information; it is reasonable for a program to modify
-files in @file{/etc} when its job is to update the system configuration.
-Also, if the user explicitly asks to modify one file in a directory, it
-is reasonable for the program to store other files in the same
-directory.
-
-@node Writing C
-@chapter Making The Best Use of C
-
-This chapter provides advice on how best to use the C language
-when writing GNU software.
-
-@menu
-* Formatting::                  Formatting your source code.
-* Comments::                    Commenting your work.
-* Syntactic Conventions::       Clean use of C constructs.
-* Names::                       Naming variables, functions, and files.
-* System Portability::          Portability among different operating systems.
-* CPU Portability::             Supporting the range of CPU types.
-* System Functions::            Portability and ``standard'' library functions.
-* Internationalization::        Techniques for internationalization.
-* Character Set::               Use ASCII by default.
-* Quote Characters::            Use `...' in the C locale.
-* Mmap::                        How you can safely use @code{mmap}.
-@end menu
-
-@node Formatting
-@section Formatting Your Source Code
-@cindex formatting source code
-
-@cindex open brace
-@cindex braces, in C source
-It is important to put the open-brace that starts the body of a C
-function in column one, so that they will start a defun.  Several
-tools look for open-braces in column one to find the beginnings of C
-functions.  These tools will not work on code not formatted that way.
-
-Avoid putting open-brace, open-parenthesis or open-bracket in column
-one when they are inside a function, so that they won't start a defun.
-The open-brace that starts a @code{struct} body can go in column one
-if you find it useful to treat that definition as a defun.
-
-It is also important for function definitions to start the name of the
-function in column one.  This helps people to search for function
-definitions, and may also help certain tools recognize them.  Thus,
-using Standard C syntax, the format is this:
-
-@example
-static char *
-concat (char *s1, char *s2)
-@{
-  @dots{}
-@}
-@end example
-
-@noindent
-or, if you want to use traditional C syntax, format the definition like
-this:
-
-@example
-static char *
-concat (s1, s2)        /* Name starts in column one here */
-     char *s1, *s2;
-@{                     /* Open brace in column one here */
-  @dots{}
-@}
-@end example
-
-In Standard C, if the arguments don't fit nicely on one line,
-split it like this:
-
-@example
-int
-lots_of_args (int an_integer, long a_long, short a_short,
-              double a_double, float a_float)
-@dots{}
-@end example
-
-The rest of this section gives our recommendations for other aspects of
-C formatting style, which is also the default style of the @code{indent}
-program in version 1.2 and newer.  It corresponds to the options
-
-@smallexample
--nbad -bap -nbc -bbo -bl -bli2 -bls -ncdb -nce -cp1 -cs -di2
--ndj -nfc1 -nfca -hnl -i2 -ip5 -lp -pcs -psl -nsc -nsob
-@end smallexample
-
-We don't think of these recommendations as requirements, because it
-causes no problems for users if two different programs have different
-formatting styles.
-
-But whatever style you use, please use it consistently, since a mixture
-of styles within one program tends to look ugly.  If you are
-contributing changes to an existing program, please follow the style of
-that program.
-
-For the body of the function, our recommended style looks like this:
-
-@example
-if (x < foo (y, z))
-  haha = bar[4] + 5;
-else
-  @{
-    while (z)
-      @{
-        haha += foo (z, z);
-        z--;
-      @}
-    return ++x + bar ();
-  @}
-@end example
-
-@cindex spaces before open-paren
-We find it easier to read a program when it has spaces before the
-open-parentheses and after the commas.  Especially after the commas.
-
-When you split an expression into multiple lines, split it
-before an operator, not after one.  Here is the right way:
-
-@cindex expressions, splitting
-@example
-if (foo_this_is_long && bar > win (x, y, z)
-    && remaining_condition)
-@end example
-
-Try to avoid having two operators of different precedence at the same
-level of indentation.  For example, don't write this:
-
-@example
-mode = (inmode[j] == VOIDmode
-        || GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])
-        ? outmode[j] : inmode[j]);
-@end example
-
-Instead, use extra parentheses so that the indentation shows the nesting:
-
-@example
-mode = ((inmode[j] == VOIDmode
-         || (GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])))
-        ? outmode[j] : inmode[j]);
-@end example
-
-Insert extra parentheses so that Emacs will indent the code properly.
-For example, the following indentation looks nice if you do it by hand,
-
-@example
-v = rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
-    + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000;
-@end example
-
-@noindent
-but Emacs would alter it.  Adding a set of parentheses produces
-something that looks equally nice, and which Emacs will preserve:
-
-@example
-v = (rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
-     + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000);
-@end example
-
-Format do-while statements like this:
-
-@example
-do
-  @{
-    a = foo (a);
-  @}
-while (a > 0);
-@end example
-
-@cindex formfeed
-@cindex control-L
-Please use formfeed characters (control-L) to divide the program into
-pages at logical places (but not within a function).  It does not matter
-just how long the pages are, since they do not have to fit on a printed
-page.  The formfeeds should appear alone on lines by themselves.
-
-@node Comments
-@section Commenting Your Work
-@cindex commenting
-
-Every program should start with a comment saying briefly what it is for.
-Example: @samp{fmt - filter for simple filling of text}.  This comment
-should be at the top of the source file containing the @samp{main}
-function of the program.
-
-Also, please write a brief comment at the start of each source file,
-with the file name and a line or two about the overall purpose of the
-file.
-
-Please write the comments in a GNU program in English, because English
-is the one language that nearly all programmers in all countries can
-read.  If you do not write English well, please write comments in
-English as well as you can, then ask other people to help rewrite them.
-If you can't write comments in English, please find someone to work with
-you and translate your comments into English.
-
-Please put a comment on each function saying what the function does,
-what sorts of arguments it gets, and what the possible values of
-arguments mean and are used for.  It is not necessary to duplicate in
-words the meaning of the C argument declarations, if a C type is being
-used in its customary fashion.  If there is anything nonstandard about
-its use (such as an argument of type @code{char *} which is really the
-address of the second character of a string, not the first), or any
-possible values that would not work the way one would expect (such as,
-that strings containing newlines are not guaranteed to work), be sure
-to say so.
-
-Also explain the significance of the return value, if there is one.
-
-Please put two spaces after the end of a sentence in your comments, so
-that the Emacs sentence commands will work.  Also, please write
-complete sentences and capitalize the first word.  If a lower-case
-identifier comes at the beginning of a sentence, don't capitalize it!
-Changing the spelling makes it a different identifier.  If you don't
-like starting a sentence with a lower case letter, write the sentence
-differently (e.g., ``The identifier lower-case is @dots{}'').
-
-The comment on a function is much clearer if you use the argument
-names to speak about the argument values.  The variable name itself
-should be lower case, but write it in upper case when you are speaking
-about the value rather than the variable itself.  Thus, ``the inode
-number NODE_NUM'' rather than ``an inode''.
-
-There is usually no purpose in restating the name of the function in
-the comment before it, because the reader can see that for himself.
-There might be an exception when the comment is so long that the function
-itself would be off the bottom of the screen.
-
-There should be a comment on each static variable as well, like this:
-
-@example
-/* Nonzero means truncate lines in the display;
-   zero means continue them.  */
-int truncate_lines;
-@end example
-
-@cindex conditionals, comments for
-@cindex @code{#endif}, commenting
-Every @samp{#endif} should have a comment, except in the case of short
-conditionals (just a few lines) that are not nested.  The comment should
-state the condition of the conditional that is ending, @emph{including
-its sense}.  @samp{#else} should have a comment describing the condition
-@emph{and sense} of the code that follows.  For example:
-
-@example
-@group
-#ifdef foo
-  @dots{}
-#else /* not foo */
-  @dots{}
-#endif /* not foo */
-@end group
-@group
-#ifdef foo
-  @dots{}
-#endif /* foo */
-@end group
-@end example
-
-@noindent
-but, by contrast, write the comments this way for a @samp{#ifndef}:
-
-@example
-@group
-#ifndef foo
-  @dots{}
-#else /* foo */
-  @dots{}
-#endif /* foo */
-@end group
-@group
-#ifndef foo
-  @dots{}
-#endif /* not foo */
-@end group
-@end example
-
-@node Syntactic Conventions
-@section Clean Use of C Constructs
-@cindex syntactic conventions
-
-@cindex implicit @code{int}
-@cindex function argument, declaring
-Please explicitly declare the types of all objects.  For example, you
-should explicitly declare all arguments to functions, and you should
-declare functions to return @code{int} rather than omitting the
-@code{int}.
-
-@cindex compiler warnings
-@cindex @samp{-Wall} compiler option
-Some programmers like to use the GCC @samp{-Wall} option, and change the
-code whenever it issues a warning.  If you want to do this, then do.
-Other programmers prefer not to use @samp{-Wall}, because it gives
-warnings for valid and legitimate code which they do not want to change.
-If you want to do this, then do.  The compiler should be your servant,
-not your master.
-
-Declarations of external functions and functions to appear later in the
-source file should all go in one place near the beginning of the file
-(somewhere before the first function definition in the file), or else
-should go in a header file.  Don't put @code{extern} declarations inside
-functions.
-
-@cindex temporary variables
-It used to be common practice to use the same local variables (with
-names like @code{tem}) over and over for different values within one
-function.  Instead of doing this, it is better to declare a separate local
-variable for each distinct purpose, and give it a name which is
-meaningful.  This not only makes programs easier to understand, it also
-facilitates optimization by good compilers.  You can also move the
-declaration of each local variable into the smallest scope that includes
-all its uses.  This makes the program even cleaner.
-
-Don't use local variables or parameters that shadow global identifiers.
-
-@cindex multiple variables in a line
-Don't declare multiple variables in one declaration that spans lines.
-Start a new declaration on each line, instead.  For example, instead
-of this:
-
-@example
-@group
-int    foo,
-       bar;
-@end group
-@end example
-
-@noindent
-write either this:
-
-@example
-int foo, bar;
-@end example
-
-@noindent
-or this:
-
-@example
-int foo;
-int bar;
-@end example
-
-@noindent
-(If they are global variables, each should have a comment preceding it
-anyway.)
-
-When you have an @code{if}-@code{else} statement nested in another
-@code{if} statement, always put braces around the @code{if}-@code{else}.
-Thus, never write like this:
-
-@example
-if (foo)
-  if (bar)
-    win ();
-  else
-    lose ();
-@end example
-
-@noindent
-always like this:
-
-@example
-if (foo)
-  @{
-    if (bar)
-      win ();
-    else
-      lose ();
-  @}
-@end example
-
-If you have an @code{if} statement nested inside of an @code{else}
-statement, either write @code{else if} on one line, like this,
-
-@example
-if (foo)
-  @dots{}
-else if (bar)
-  @dots{}
-@end example
-
-@noindent
-with its @code{then}-part indented like the preceding @code{then}-part,
-or write the nested @code{if} within braces like this:
-
-@example
-if (foo)
-  @dots{}
-else
-  @{
-    if (bar)
-      @dots{}
-  @}
-@end example
-
-Don't declare both a structure tag and variables or typedefs in the
-same declaration.  Instead, declare the structure tag separately
-and then use it to declare the variables or typedefs.
-
-Try to avoid assignments inside @code{if}-conditions (assignments
-inside @code{while}-conditions are ok).  For example, don't write
-this:
-
-@example
-if ((foo = (char *) malloc (sizeof *foo)) == 0)
-  fatal ("virtual memory exhausted");
-@end example
-
-@noindent
-instead, write this:
-
-@example
-foo = (char *) malloc (sizeof *foo);
-if (foo == 0)
-  fatal ("virtual memory exhausted");
-@end example
-
-@pindex lint
-Don't make the program ugly to placate @code{lint}.  Please don't insert any
-casts to @code{void}.  Zero without a cast is perfectly fine as a null
-pointer constant, except when calling a varargs function.
-
-@node Names
-@section Naming Variables, Functions, and Files
-
-@cindex names of variables, functions, and files
-The names of global variables and functions in a program serve as
-comments of a sort.  So don't choose terse names---instead, look for
-names that give useful information about the meaning of the variable or
-function.  In a GNU program, names should be English, like other
-comments.
-
-Local variable names can be shorter, because they are used only within
-one context, where (presumably) comments explain their purpose.
-
-Try to limit your use of abbreviations in symbol names.  It is ok to
-make a few abbreviations, explain what they mean, and then use them
-frequently, but don't use lots of obscure abbreviations.
-
-Please use underscores to separate words in a name, so that the Emacs
-word commands can be useful within them.  Stick to lower case; reserve
-upper case for macros and @code{enum} constants, and for name-prefixes
-that follow a uniform convention.
-
-For example, you should use names like @code{ignore_space_change_flag};
-don't use names like @code{iCantReadThis}.
-
-Variables that indicate whether command-line options have been
-specified should be named after the meaning of the option, not after
-the option-letter.  A comment should state both the exact meaning of
-the option and its letter.  For example,
-
-@example
-@group
-/* Ignore changes in horizontal whitespace (-b).  */
-int ignore_space_change_flag;
-@end group
-@end example
-
-When you want to define names with constant integer values, use
-@code{enum} rather than @samp{#define}.  GDB knows about enumeration
-constants.
-
-@cindex file-name limitations
-@pindex doschk
-You might want to make sure that none of the file names would conflict
-if the files were loaded onto an MS-DOS file system which shortens the
-names.  You can use the program @code{doschk} to test for this.
-
-Some GNU programs were designed to limit themselves to file names of 14
-characters or less, to avoid file name conflicts if they are read into
-older System V systems.  Please preserve this feature in the existing
-GNU programs that have it, but there is no need to do this in new GNU
-programs.  @code{doschk} also reports file names longer than 14
-characters.
-
-@node System Portability
-@section Portability between System Types
-@cindex portability, between system types
-
-In the Unix world, ``portability'' refers to porting to different Unix
-versions.  For a GNU program, this kind of portability is desirable, but
-not paramount.
-
-The primary purpose of GNU software is to run on top of the GNU kernel,
-compiled with the GNU C compiler, on various types of @sc{cpu}.  So the
-kinds of portability that are absolutely necessary are quite limited.
-But it is important to support Linux-based GNU systems, since they
-are the form of GNU that is popular.
-
-Beyond that, it is good to support the other free operating systems
-(*BSD), and it is nice to support other Unix-like systems if you want
-to.  Supporting a variety of Unix-like systems is desirable, although
-not paramount.  It is usually not too hard, so you may as well do it.
-But you don't have to consider it an obligation, if it does turn out to
-be hard.
-
-@pindex autoconf
-The easiest way to achieve portability to most Unix-like systems is to
-use Autoconf.  It's unlikely that your program needs to know more
-information about the host platform than Autoconf can provide, simply
-because most of the programs that need such knowledge have already been
-written.
-
-Avoid using the format of semi-internal data bases (e.g., directories)
-when there is a higher-level alternative (@code{readdir}).
-
-@cindex non-@sc{posix} systems, and portability
-As for systems that are not like Unix, such as MSDOS, Windows, VMS, MVS,
-and older Macintosh systems, supporting them is often a lot of work.
-When that is the case, it is better to spend your time adding features
-that will be useful on GNU and GNU/Linux, rather than on supporting
-other incompatible systems.
-
-If you do support Windows, please do not abbreviate it as ``win''.  In
-hacker terminology, calling something a ``win'' is a form of praise.
-You're free to praise Microsoft Windows on your own if you want, but
-please don't do this in GNU packages.  Instead of abbreviating
-``Windows'' to ``win'', you can write it in full or abbreviate it to
-``woe'' or ``w''.  In GNU Emacs, for instance, we use @samp{w32} in
-file names of Windows-specific files, but the macro for Windows
-conditionals is called @code{WINDOWSNT}.
-
-It is a good idea to define the ``feature test macro''
-@code{_GNU_SOURCE} when compiling your C files.  When you compile on GNU
-or GNU/Linux, this will enable the declarations of GNU library extension
-functions, and that will usually give you a compiler error message if
-you define the same function names in some other way in your program.
-(You don't have to actually @emph{use} these functions, if you prefer
-to make the program more portable to other systems.)
-
-But whether or not you use these GNU extensions, you should avoid
-using their names for any other meanings.  Doing so would make it hard
-to move your code into other GNU programs.
-
-@node CPU Portability
-@section Portability between @sc{cpu}s
-
-@cindex data types, and portability
-@cindex portability, and data types
-Even GNU systems will differ because of differences among @sc{cpu}
-types---for example, difference in byte ordering and alignment
-requirements.  It is absolutely essential to handle these differences.
-However, don't make any effort to cater to the possibility that an
-@code{int} will be less than 32 bits.  We don't support 16-bit machines
-in GNU.
-
-Similarly, don't make any effort to cater to the possibility that
-@code{long} will be smaller than predefined types like @code{size_t}.
-For example, the following code is ok:
-
-@example
-printf ("size = %lu\n", (unsigned long) sizeof array);
-printf ("diff = %ld\n", (long) (pointer2 - pointer1));
-@end example
-
-1989 Standard C requires this to work, and we know of only one
-counterexample: 64-bit programs on Microsoft Windows.  We will
-leave it to those who want to port GNU programs to that environment
-to figure out how to do it.
-
-Predefined file-size types like @code{off_t} are an exception: they are
-longer than @code{long} on many platforms, so code like the above won't
-work with them.  One way to print an @code{off_t} value portably is to
-print its digits yourself, one by one.
-
-Don't assume that the address of an @code{int} object is also the
-address of its least-significant byte.  This is false on big-endian
-machines.  Thus, don't make the following mistake:
-
-@example
-int c;
-@dots{}
-while ((c = getchar ()) != EOF)
-  write (file_descriptor, &c, 1);
-@end example
-
-@noindent Instead, use @code{unsigned char} as follows.  (The @code{unsigned}
-is for portability to unusual systems where @code{char} is signed and
-where there is integer overflow checking.)
-
-@example
-int c;
-while ((c = getchar ()) != EOF)
-  @{
-    unsigned char u = c;
-    write (file_descriptor, &u, 1);
-  @}
-@end example
-
-It used to be ok to not worry about the difference between pointers
-and integers when passing arguments to functions.  However, on most
-modern 64-bit machines pointers are wider than @code{int}.
-Conversely, integer types like @code{long long int} and @code{off_t}
-are wider than pointers on most modern 32-bit machines.  Hence it's
-often better nowadays to use prototypes to define functions whose
-argument types are not trivial.
-
-In particular, if functions accept varying argument counts or types
-they should be declared using prototypes containing @samp{...} and
-defined using @file{stdarg.h}.  For an example of this, please see the
-@uref{http://www.gnu.org/software/gnulib/, Gnulib} error module, which
-declares and defines the following function:
-
-@example
-/* Print a message with `fprintf (stderr, FORMAT, ...)';
-   if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
-   If STATUS is nonzero, terminate the program with `exit (STATUS)'.  */
-
-void error (int status, int errnum, const char *format, ...);
-@end example
-
-A simple way to use the Gnulib error module is to obtain the two
-source files @file{error.c} and @file{error.h} from the Gnulib library
-source code repository at
-@uref{http://git.savannah.gnu.org/@/gitweb/@/?p=gnulib.git}.
-Here's a sample use:
-
-@example
-#include "error.h"
-#include <errno.h>
-#include <stdio.h>
-
-char *program_name = "myprogram";
-
-FILE *
-xfopen (char const *name)
-@{
-  FILE *fp = fopen (name, "r");
-  if (! fp)
-    error (1, errno, "cannot read %s", name);
-  return fp;
-@}
-@end example
-
-@cindex casting pointers to integers
-Avoid casting pointers to integers if you can.  Such casts greatly
-reduce portability, and in most programs they are easy to avoid.  In the
-cases where casting pointers to integers is essential---such as, a Lisp
-interpreter which stores type information as well as an address in one
-word---you'll have to make explicit provisions to handle different word
-sizes.  You will also need to make provision for systems in which the
-normal range of addresses you can get from @code{malloc} starts far away
-from zero.
-
-@node System Functions
-@section Calling System Functions
-@cindex library functions, and portability
-@cindex portability, and library functions
-
-C implementations differ substantially.  Standard C reduces but does
-not eliminate the incompatibilities; meanwhile, many GNU packages still
-support pre-standard compilers because this is not hard to do.  This
-chapter gives recommendations for how to use the more-or-less standard C
-library functions to avoid unnecessary loss of portability.
-
-@itemize @bullet
-@item
-Don't use the return value of @code{sprintf}.  It returns the number of
-characters written on some systems, but not on all systems.
-
-@item
-Be aware that @code{vfprintf} is not always available.
-
-@item
-@code{main} should be declared to return type @code{int}.  It should
-terminate either by calling @code{exit} or by returning the integer
-status code; make sure it cannot ever return an undefined value.
-
-@cindex declaration for system functions
-@item
-Don't declare system functions explicitly.
-
-Almost any declaration for a system function is wrong on some system.
-To minimize conflicts, leave it to the system header files to declare
-system functions.  If the headers don't declare a function, let it
-remain undeclared.
-
-While it may seem unclean to use a function without declaring it, in
-practice this works fine for most system library functions on the
-systems where this really happens; thus, the disadvantage is only
-theoretical.  By contrast, actual declarations have frequently caused
-actual conflicts.
-
-@item
-If you must declare a system function, don't specify the argument types.
-Use an old-style declaration, not a Standard C prototype.  The more you
-specify about the function, the more likely a conflict.
-
-@item
-In particular, don't unconditionally declare @code{malloc} or
-@code{realloc}.
-
-Most GNU programs use those functions just once, in functions
-conventionally named @code{xmalloc} and @code{xrealloc}.  These
-functions call @code{malloc} and @code{realloc}, respectively, and
-check the results.
-
-Because @code{xmalloc} and @code{xrealloc} are defined in your program,
-you can declare them in other files without any risk of type conflict.
-
-On most systems, @code{int} is the same length as a pointer; thus, the
-calls to @code{malloc} and @code{realloc} work fine.  For the few
-exceptional systems (mostly 64-bit machines), you can use
-@strong{conditionalized} declarations of @code{malloc} and
-@code{realloc}---or put these declarations in configuration files
-specific to those systems.
-
-@cindex string library functions
-@item
-The string functions require special treatment.  Some Unix systems have
-a header file @file{string.h}; others have @file{strings.h}.  Neither
-file name is portable.  There are two things you can do: use Autoconf to
-figure out which file to include, or don't include either file.
-
-@item
-If you don't include either strings file, you can't get declarations for
-the string functions from the header file in the usual way.
-
-That causes less of a problem than you might think.  The newer standard
-string functions should be avoided anyway because many systems still
-don't support them.  The string functions you can use are these:
-
-@example
-strcpy   strncpy   strcat   strncat
-strlen   strcmp    strncmp
-strchr   strrchr
-@end example
-
-The copy and concatenate functions work fine without a declaration as
-long as you don't use their values.  Using their values without a
-declaration fails on systems where the width of a pointer differs from
-the width of @code{int}, and perhaps in other cases.  It is trivial to
-avoid using their values, so do that.
-
-The compare functions and @code{strlen} work fine without a declaration
-on most systems, possibly all the ones that GNU software runs on.
-You may find it necessary to declare them @strong{conditionally} on a
-few systems.
-
-The search functions must be declared to return @code{char *}.  Luckily,
-there is no variation in the data type they return.  But there is
-variation in their names.  Some systems give these functions the names
-@code{index} and @code{rindex}; other systems use the names
-@code{strchr} and @code{strrchr}.  Some systems support both pairs of
-names, but neither pair works on all systems.
-
-You should pick a single pair of names and use it throughout your
-program.  (Nowadays, it is better to choose @code{strchr} and
-@code{strrchr} for new programs, since those are the standard
-names.)  Declare both of those names as functions returning @code{char
-*}.  On systems which don't support those names, define them as macros
-in terms of the other pair.  For example, here is what to put at the
-beginning of your file (or in a header) if you want to use the names
-@code{strchr} and @code{strrchr} throughout:
-
-@example
-#ifndef HAVE_STRCHR
-#define strchr index
-#endif
-#ifndef HAVE_STRRCHR
-#define strrchr rindex
-#endif
-
-char *strchr ();
-char *strrchr ();
-@end example
-@end itemize
-
-Here we assume that @code{HAVE_STRCHR} and @code{HAVE_STRRCHR} are
-macros defined in systems where the corresponding functions exist.
-One way to get them properly defined is to use Autoconf.
-
-@node Internationalization
-@section Internationalization
-@cindex internationalization
-
-@pindex gettext
-GNU has a library called GNU gettext that makes it easy to translate the
-messages in a program into various languages.  You should use this
-library in every program.  Use English for the messages as they appear
-in the program, and let gettext provide the way to translate them into
-other languages.
-
-Using GNU gettext involves putting a call to the @code{gettext} macro
-around each string that might need translation---like this:
-
-@example
-printf (gettext ("Processing file `%s'..."));
-@end example
-
-@noindent
-This permits GNU gettext to replace the string @code{"Processing file
-`%s'..."} with a translated version.
-
-Once a program uses gettext, please make a point of writing calls to
-@code{gettext} when you add new strings that call for translation.
-
-Using GNU gettext in a package involves specifying a @dfn{text domain
-name} for the package.  The text domain name is used to separate the
-translations for this package from the translations for other packages.
-Normally, the text domain name should be the same as the name of the
-package---for example, @samp{coreutils} for the GNU core utilities.
-
-@cindex message text, and internationalization
-To enable gettext to work well, avoid writing code that makes
-assumptions about the structure of words or sentences.  When you want
-the precise text of a sentence to vary depending on the data, use two or
-more alternative string constants each containing a complete sentences,
-rather than inserting conditionalized words or phrases into a single
-sentence framework.
-
-Here is an example of what not to do:
-
-@smallexample
-printf ("%s is full", capacity > 5000000 ? "disk" : "floppy disk");
-@end smallexample
-
-If you apply gettext to all strings, like this,
-
-@smallexample
-printf (gettext ("%s is full"),
-        capacity > 5000000 ? gettext ("disk") : gettext ("floppy disk"));
-@end smallexample
-
-@noindent
-the translator will hardly know that "disk" and "floppy disk" are meant to
-be substituted in the other string.  Worse, in some languages (like French)
-the construction will not work: the translation of the word "full" depends
-on the gender of the first part of the sentence; it happens to be not the
-same for "disk" as for "floppy disk".
-
-Complete sentences can be translated without problems:
-
-@example
-printf (capacity > 5000000 ? gettext ("disk is full")
-        : gettext ("floppy disk is full"));
-@end example
-
-A similar problem appears at the level of sentence structure with this
-code:
-
-@example
-printf ("#  Implicit rule search has%s been done.\n",
-        f->tried_implicit ? "" : " not");
-@end example
-
-@noindent
-Adding @code{gettext} calls to this code cannot give correct results for
-all languages, because negation in some languages requires adding words
-at more than one place in the sentence.  By contrast, adding
-@code{gettext} calls does the job straightforwardly if the code starts
-out like this:
-
-@example
-printf (f->tried_implicit
-        ? "#  Implicit rule search has been done.\n",
-        : "#  Implicit rule search has not been done.\n");
-@end example
-
-Another example is this one:
-
-@example
-printf ("%d file%s processed", nfiles,
-        nfiles != 1 ? "s" : "");
-@end example
-
-@noindent
-The problem with this example is that it assumes that plurals are made
-by adding `s'.  If you apply gettext to the format string, like this,
-
-@example
-printf (gettext ("%d file%s processed"), nfiles,
-        nfiles != 1 ? "s" : "");
-@end example
-
-@noindent
-the message can use different words, but it will still be forced to use
-`s' for the plural.  Here is a better way, with gettext being applied to
-the two strings independently:
-
-@example
-printf ((nfiles != 1 ? gettext ("%d files processed")
-         : gettext ("%d file processed")),
-        nfiles);
-@end example
-
-@noindent
-But this still doesn't work for languages like Polish, which has three
-plural forms: one for nfiles == 1, one for nfiles == 2, 3, 4, 22, 23, 24, ...
-and one for the rest.  The GNU @code{ngettext} function solves this problem:
-
-@example
-printf (ngettext ("%d files processed", "%d file processed", nfiles),
-        nfiles);
-@end example
-
-
-@node Character Set
-@section Character Set
-@cindex character set
-@cindex encodings
-@cindex ASCII characters
-@cindex non-ASCII characters
-
-Sticking to the ASCII character set (plain text, 7-bit characters) is
-preferred in GNU source code comments, text documents, and other
-contexts, unless there is good reason to do something else because of
-the application domain.  For example, if source code deals with the
-French Revolutionary calendar, it is OK if its literal strings contain
-accented characters in month names like ``Flor@'eal''.  Also, it is OK
-to use non-ASCII characters to represent proper names of contributors in
-change logs (@pxref{Change Logs}).
-
-If you need to use non-ASCII characters, you should normally stick with
-one encoding, as one cannot in general mix encodings reliably.
-
-
-@node Quote Characters
-@section Quote Characters
-@cindex quote characters
-@cindex locale-specific quote characters
-@cindex left quote
-@cindex grave accent
-
-In the C locale, GNU programs should stick to plain ASCII for quotation
-characters in messages to users: preferably 0x60 (@samp{`}) for left
-quotes and 0x27 (@samp{'}) for right quotes.  It is ok, but not
-required, to use locale-specific quotes in other locales.
-
-The @uref{http://www.gnu.org/software/gnulib/, Gnulib} @code{quote} and
-@code{quotearg} modules provide a reasonably straightforward way to
-support locale-specific quote characters, as well as taking care of
-other issues, such as quoting a filename that itself contains a quote
-character.  See the Gnulib documentation for usage details.
-
-In any case, the documentation for your program should clearly specify
-how it does quoting, if different than the preferred method of @samp{`}
-and @samp{'}.  This is especially important if the output of your
-program is ever likely to be parsed by another program.
-
-Quotation characters are a difficult area in the computing world at
-this time: there are no true left or right quote characters in Latin1;
-the @samp{`} character we use was standardized there as a grave
-accent.  Moreover, Latin1 is still not universally usable.
-
-Unicode contains the unambiguous quote characters required, and its
-common encoding UTF-8 is upward compatible with Latin1.  However,
-Unicode and UTF-8 are not universally well-supported, either.
-
-This may change over the next few years, and then we will revisit
-this.
-
-
-@node Mmap
-@section Mmap
-@findex mmap
-
-Don't assume that @code{mmap} either works on all files or fails
-for all files.  It may work on some files and fail on others.
-
-The proper way to use @code{mmap} is to try it on the specific file for
-which you want to use it---and if @code{mmap} doesn't work, fall back on
-doing the job in another way using @code{read} and @code{write}.
-
-The reason this precaution is needed is that the GNU kernel (the HURD)
-provides a user-extensible file system, in which there can be many
-different kinds of ``ordinary files.''  Many of them support
-@code{mmap}, but some do not.  It is important to make programs handle
-all these kinds of files.
-
-@node Documentation
-@chapter Documenting Programs
-@cindex documentation
-
-A GNU program should ideally come with full free documentation, adequate
-for both reference and tutorial purposes.  If the package can be
-programmed or extended, the documentation should cover programming or
-extending it, as well as just using it.
-
-@menu
-* GNU Manuals::                 Writing proper manuals.
-* Doc Strings and Manuals::     Compiling doc strings doesn't make a manual.
-* Manual Structure Details::    Specific structure conventions.
-* License for Manuals::         Writing the distribution terms for a manual.
-* Manual Credits::              Giving credit to documentation contributors.
-* Printed Manuals::             Mentioning the printed manual.
-* NEWS File::                   NEWS files supplement manuals.
-* Change Logs::                 Recording changes.
-* Man Pages::                   Man pages are secondary.
-* Reading other Manuals::       How far you can go in learning
-                                from other manuals.
-@end menu
-
-@node GNU Manuals
-@section GNU Manuals
-
-The preferred document format for the GNU system is the Texinfo
-formatting language.  Every GNU package should (ideally) have
-documentation in Texinfo both for reference and for learners.  Texinfo
-makes it possible to produce a good quality formatted book, using
-@TeX{}, and to generate an Info file.  It is also possible to generate
-HTML output from Texinfo source.  See the Texinfo manual, either the
-hardcopy, or the on-line version available through @code{info} or the
-Emacs Info subsystem (@kbd{C-h i}).
-
-Nowadays some other formats such as Docbook and Sgmltexi can be
-converted automatically into Texinfo.  It is ok to produce the Texinfo
-documentation by conversion this way, as long as it gives good results.
-
-Make sure your manual is clear to a reader who knows nothing about the
-topic and reads it straight through.  This means covering basic topics
-at the beginning, and advanced topics only later.  This also means
-defining every specialized term when it is first used.
-
-Programmers tend to carry over the structure of the program as the
-structure for its documentation.  But this structure is not
-necessarily good for explaining how to use the program; it may be
-irrelevant and confusing for a user.
-
-Instead, the right way to structure documentation is according to the
-concepts and questions that a user will have in mind when reading it.
-This principle applies at every level, from the lowest (ordering
-sentences in a paragraph) to the highest (ordering of chapter topics
-within the manual).  Sometimes this structure of ideas matches the
-structure of the implementation of the software being documented---but
-often they are different.  An important part of learning to write good
-documentation is to learn to notice when you have unthinkingly
-structured the documentation like the implementation, stop yourself,
-and look for better alternatives.
-
-For example, each program in the GNU system probably ought to be
-documented in one manual; but this does not mean each program should
-have its own manual.  That would be following the structure of the
-implementation, rather than the structure that helps the user
-understand.
-
-Instead, each manual should cover a coherent @emph{topic}.  For example,
-instead of a manual for @code{diff} and a manual for @code{diff3}, we
-have one manual for ``comparison of files'' which covers both of those
-programs, as well as @code{cmp}.  By documenting these programs
-together, we can make the whole subject clearer.
-
-The manual which discusses a program should certainly document all of
-the program's command-line options and all of its commands.  It should
-give examples of their use.  But don't organize the manual as a list
-of features.  Instead, organize it logically, by subtopics.  Address
-the questions that a user will ask when thinking about the job that
-the program does.  Don't just tell the reader what each feature can
-do---say what jobs it is good for, and show how to use it for those
-jobs.  Explain what is recommended usage, and what kinds of usage
-users should avoid.
-
-In general, a GNU manual should serve both as tutorial and reference.
-It should be set up for convenient access to each topic through Info,
-and for reading straight through (appendixes aside).  A GNU manual
-should give a good introduction to a beginner reading through from the
-start, and should also provide all the details that hackers want.
-The Bison manual is a good example of this---please take a look at it
-to see what we mean.
-
-That is not as hard as it first sounds.  Arrange each chapter as a
-logical breakdown of its topic, but order the sections, and write their
-text, so that reading the chapter straight through makes sense.  Do
-likewise when structuring the book into chapters, and when structuring a
-section into paragraphs.  The watchword is, @emph{at each point, address
-the most fundamental and important issue raised by the preceding text.}
-
-If necessary, add extra chapters at the beginning of the manual which
-are purely tutorial and cover the basics of the subject.  These provide
-the framework for a beginner to understand the rest of the manual.  The
-Bison manual provides a good example of how to do this.
-
-To serve as a reference, a manual should have an Index that list all the
-functions, variables, options, and important concepts that are part of
-the program.  One combined Index should do for a short manual, but
-sometimes for a complex package it is better to use multiple indices.
-The Texinfo manual includes advice on preparing good index entries, see
-@ref{Index Entries, , Making Index Entries, texinfo, GNU Texinfo}, and
-see @ref{Indexing Commands, , Defining the Entries of an
-Index, texinfo, GNU Texinfo}.
-
-Don't use Unix man pages as a model for how to write GNU documentation;
-most of them are terse, badly structured, and give inadequate
-explanation of the underlying concepts.  (There are, of course, some
-exceptions.)  Also, Unix man pages use a particular format which is
-different from what we use in GNU manuals.
-
-Please include an email address in the manual for where to report
-bugs @emph{in the text of the manual}.
-
-Please do not use the term ``pathname'' that is used in Unix
-documentation; use ``file name'' (two words) instead.  We use the term
-``path'' only for search paths, which are lists of directory names.
-
-Please do not use the term ``illegal'' to refer to erroneous input to
-a computer program.  Please use ``invalid'' for this, and reserve the
-term ``illegal'' for activities prohibited by law.
-
-Please do not write @samp{()} after a function name just to indicate
-it is a function.  @code{foo ()} is not a function, it is a function
-call with no arguments.
-
-@node Doc Strings and Manuals
-@section Doc Strings and Manuals
-
-Some programming systems, such as Emacs, provide a documentation string
-for each function, command or variable.  You may be tempted to write a
-reference manual by compiling the documentation strings and writing a
-little additional text to go around them---but you must not do it.  That
-approach is a fundamental mistake.  The text of well-written
-documentation strings will be entirely wrong for a manual.
-
-A documentation string needs to stand alone---when it appears on the
-screen, there will be no other text to introduce or explain it.
-Meanwhile, it can be rather informal in style.
-
-The text describing a function or variable in a manual must not stand
-alone; it appears in the context of a section or subsection.  Other text
-at the beginning of the section should explain some of the concepts, and
-should often make some general points that apply to several functions or
-variables.  The previous descriptions of functions and variables in the
-section will also have given information about the topic.  A description
-written to stand alone would repeat some of that information; this
-redundancy looks bad.  Meanwhile, the informality that is acceptable in
-a documentation string is totally unacceptable in a manual.
-
-The only good way to use documentation strings in writing a good manual
-is to use them as a source of information for writing good text.
-
-@node Manual Structure Details
-@section Manual Structure Details
-@cindex manual structure
-
-The title page of the manual should state the version of the programs or
-packages documented in the manual.  The Top node of the manual should
-also contain this information.  If the manual is changing more
-frequently than or independent of the program, also state a version
-number for the manual in both of these places.
-
-Each program documented in the manual should have a node named
-@samp{@var{program} Invocation} or @samp{Invoking @var{program}}.  This
-node (together with its subnodes, if any) should describe the program's
-command line arguments and how to run it (the sort of information people
-would look for in a man page).  Start with an @samp{@@example}
-containing a template for all the options and arguments that the program
-uses.
-
-Alternatively, put a menu item in some menu whose item name fits one of
-the above patterns.  This identifies the node which that item points to
-as the node for this purpose, regardless of the node's actual name.
-
-The @samp{--usage} feature of the Info reader looks for such a node
-or menu item in order to find the relevant text, so it is essential
-for every Texinfo file to have one.
-
-If one manual describes several programs, it should have such a node for
-each program described in the manual.
-
-@node License for Manuals
-@section License for Manuals
-@cindex license for manuals
-
-Please use the GNU Free Documentation License for all GNU manuals that
-are more than a few pages long.  Likewise for a collection of short
-documents---you only need one copy of the GNU FDL for the whole
-collection.  For a single short document, you can use a very permissive
-non-copyleft license, to avoid taking up space with a long license.
-
-See @uref{http://www.gnu.org/copyleft/fdl-howto.html} for more explanation
-of how to employ the GFDL.
-
-Note that it is not obligatory to include a copy of the GNU GPL or GNU
-LGPL in a manual whose license is neither the GPL nor the LGPL.  It can
-be a good idea to include the program's license in a large manual; in a
-short manual, whose size would be increased considerably by including
-the program's license, it is probably better not to include it.
-
-@node Manual Credits
-@section Manual Credits
-@cindex credits for manuals
-
-Please credit the principal human writers of the manual as the authors,
-on the title page of the manual.  If a company sponsored the work, thank
-the company in a suitable place in the manual, but do not cite the
-company as an author.
-
-@node Printed Manuals
-@section Printed Manuals
-
-The FSF publishes some GNU manuals in printed form.  To encourage sales
-of these manuals, the on-line versions of the manual should mention at
-the very start that the printed manual is available and should point at
-information for getting it---for instance, with a link to the page
-@url{http://www.gnu.org/order/order.html}.  This should not be included
-in the printed manual, though, because there it is redundant.
-
-It is also useful to explain in the on-line forms of the manual how the
-user can print out the manual from the sources.
-
-@node NEWS File
-@section The NEWS File
-@cindex @file{NEWS} file
-
-In addition to its manual, the package should have a file named
-@file{NEWS} which contains a list of user-visible changes worth
-mentioning.  In each new release, add items to the front of the file and
-identify the version they pertain to.  Don't discard old items; leave
-them in the file after the newer items.  This way, a user upgrading from
-any previous version can see what is new.
-
-If the @file{NEWS} file gets very long, move some of the older items
-into a file named @file{ONEWS} and put a note at the end referring the
-user to that file.
-
-@node Change Logs
-@section Change Logs
-@cindex change logs
-
-Keep a change log to describe all the changes made to program source
-files.  The purpose of this is so that people investigating bugs in the
-future will know about the changes that might have introduced the bug.
-Often a new bug can be found by looking at what was recently changed.
-More importantly, change logs can help you eliminate conceptual
-inconsistencies between different parts of a program, by giving you a
-history of how the conflicting concepts arose and who they came from.
-
-@menu
-* Change Log Concepts::
-* Style of Change Logs::
-* Simple Changes::
-* Conditional Changes::
-* Indicating the Part Changed::
-@end menu
-
-@node Change Log Concepts
-@subsection Change Log Concepts
-
-You can think of the change log as a conceptual ``undo list'' which
-explains how earlier versions were different from the current version.
-People can see the current version; they don't need the change log
-to tell them what is in it.  What they want from a change log is a
-clear explanation of how the earlier version differed.
-
-The change log file is normally called @file{ChangeLog} and covers an
-entire directory.  Each directory can have its own change log, or a
-directory can use the change log of its parent directory---it's up to
-you.
-
-Another alternative is to record change log information with a version
-control system such as RCS or CVS.  This can be converted automatically
-to a @file{ChangeLog} file using @code{rcs2log}; in Emacs, the command
-@kbd{C-x v a} (@code{vc-update-change-log}) does the job.
-
-There's no need to describe the full purpose of the changes or how
-they work together.  However, sometimes it is useful to write one line
-to describe the overall purpose of a change or a batch of changes.  If
-you think that a change calls for explanation, you're probably right.
-Please do explain it---but please put the full explanation in comments
-in the code, where people will see it whenever they see the code.  For
-example, ``New function'' is enough for the change log when you add a
-function, because there should be a comment before the function
-definition to explain what it does.
-
-In the past, we recommended not mentioning changes in non-software
-files (manuals, help files, etc.) in change logs.  However, we've been
-advised that it is a good idea to include them, for the sake of
-copyright records.
-
-The easiest way to add an entry to @file{ChangeLog} is with the Emacs
-command @kbd{M-x add-change-log-entry}.  An entry should have an
-asterisk, the name of the changed file, and then in parentheses the name
-of the changed functions, variables or whatever, followed by a colon.
-Then describe the changes you made to that function or variable.
-
-@node Style of Change Logs
-@subsection Style of Change Logs
-@cindex change logs, style
-
-Here are some simple examples of change log entries, starting with the
-header line that says who made the change and when it was installed,
-followed by descriptions of specific changes.  (These examples are
-drawn from Emacs and GCC.)
-
-@example
-1998-08-17  Richard Stallman  <rms@@gnu.org>
-
-* register.el (insert-register): Return nil.
-(jump-to-register): Likewise.
-
-* sort.el (sort-subr): Return nil.
-
-* tex-mode.el (tex-bibtex-file, tex-file, tex-region):
-Restart the tex shell if process is gone or stopped.
-(tex-shell-running): New function.
-
-* expr.c (store_one_arg): Round size up for move_block_to_reg.
-(expand_call): Round up when emitting USE insns.
-* stmt.c (assign_parms): Round size up for move_block_from_reg.
-@end example
-
-It's important to name the changed function or variable in full.  Don't
-abbreviate function or variable names, and don't combine them.
-Subsequent maintainers will often search for a function name to find all
-the change log entries that pertain to it; if you abbreviate the name,
-they won't find it when they search.
-
-For example, some people are tempted to abbreviate groups of function
-names by writing @samp{* register.el (@{insert,jump-to@}-register)};
-this is not a good idea, since searching for @code{jump-to-register} or
-@code{insert-register} would not find that entry.
-
-Separate unrelated change log entries with blank lines.  When two
-entries represent parts of the same change, so that they work together,
-then don't put blank lines between them.  Then you can omit the file
-name and the asterisk when successive entries are in the same file.
-
-Break long lists of function names by closing continued lines with
-@samp{)}, rather than @samp{,}, and opening the continuation with
-@samp{(} as in this example:
-
-@example
-* keyboard.c (menu_bar_items, tool_bar_items)
-(Fexecute_extended_command): Deal with `keymap' property.
-@end example
-
-When you install someone else's changes, put the contributor's name in
-the change log entry rather than in the text of the entry.  In other
-words, write this:
-
-@example
-2002-07-14  John Doe  <jdoe@@gnu.org>
-
-        * sewing.c: Make it sew.
-@end example
-
-@noindent
-rather than this:
-
-@example
-2002-07-14  Usual Maintainer  <usual@@gnu.org>
-
-        * sewing.c: Make it sew.  Patch by jdoe@@gnu.org.
-@end example
-
-As for the date, that should be the date you applied the change.
-
-@node Simple Changes
-@subsection Simple Changes
-
-Certain simple kinds of changes don't need much detail in the change
-log.
-
-When you change the calling sequence of a function in a simple fashion,
-and you change all the callers of the function to use the new calling
-sequence, there is no need to make individual entries for all the
-callers that you changed.  Just write in the entry for the function
-being called, ``All callers changed''---like this:
-
-@example
-* keyboard.c (Fcommand_execute): New arg SPECIAL.
-All callers changed.
-@end example
-
-When you change just comments or doc strings, it is enough to write an
-entry for the file, without mentioning the functions.  Just ``Doc
-fixes'' is enough for the change log.
-
-There's no technical need to make change log entries for documentation
-files.  This is because documentation is not susceptible to bugs that
-are hard to fix.  Documentation does not consist of parts that must
-interact in a precisely engineered fashion.  To correct an error, you
-need not know the history of the erroneous passage; it is enough to
-compare what the documentation says with the way the program actually
-works.
-
-However, you should keep change logs for documentation files when the
-project gets copyright assignments from its contributors, so as to
-make the records of authorship more accurate.
-
-@node Conditional Changes
-@subsection Conditional Changes
-@cindex conditional changes, and change logs
-@cindex change logs, conditional changes
-
-C programs often contain compile-time @code{#if} conditionals.  Many
-changes are conditional; sometimes you add a new definition which is
-entirely contained in a conditional.  It is very useful to indicate in
-the change log the conditions for which the change applies.
-
-Our convention for indicating conditional changes is to use square
-brackets around the name of the condition.
-
-Here is a simple example, describing a change which is conditional but
-does not have a function or entity name associated with it:
-
-@example
-* xterm.c [SOLARIS2]: Include string.h.
-@end example
-
-Here is an entry describing a new definition which is entirely
-conditional.  This new definition for the macro @code{FRAME_WINDOW_P} is
-used only when @code{HAVE_X_WINDOWS} is defined:
-
-@example
-* frame.h [HAVE_X_WINDOWS] (FRAME_WINDOW_P): Macro defined.
-@end example
-
-Here is an entry for a change within the function @code{init_display},
-whose definition as a whole is unconditional, but the changes themselves
-are contained in a @samp{#ifdef HAVE_LIBNCURSES} conditional:
-
-@example
-* dispnew.c (init_display) [HAVE_LIBNCURSES]: If X, call tgetent.
-@end example
-
-Here is an entry for a change that takes affect only when
-a certain macro is @emph{not} defined:
-
-@example
-(gethostname) [!HAVE_SOCKETS]: Replace with winsock version.
-@end example
-
-@node Indicating the Part Changed
-@subsection Indicating the Part Changed
-
-Indicate the part of a function which changed by using angle brackets
-enclosing an indication of what the changed part does.  Here is an entry
-for a change in the part of the function @code{sh-while-getopts} that
-deals with @code{sh} commands:
-
-@example
-* progmodes/sh-script.el (sh-while-getopts) <sh>: Handle case that
-user-specified option string is empty.
-@end example
-
-
-@node Man Pages
-@section Man Pages
-@cindex man pages
-
-In the GNU project, man pages are secondary.  It is not necessary or
-expected for every GNU program to have a man page, but some of them do.
-It's your choice whether to include a man page in your program.
-
-When you make this decision, consider that supporting a man page
-requires continual effort each time the program is changed.  The time
-you spend on the man page is time taken away from more useful work.
-
-For a simple program which changes little, updating the man page may be
-a small job.  Then there is little reason not to include a man page, if
-you have one.
-
-For a large program that changes a great deal, updating a man page may
-be a substantial burden.  If a user offers to donate a man page, you may
-find this gift costly to accept.  It may be better to refuse the man
-page unless the same person agrees to take full responsibility for
-maintaining it---so that you can wash your hands of it entirely.  If
-this volunteer later ceases to do the job, then don't feel obliged to
-pick it up yourself; it may be better to withdraw the man page from the
-distribution until someone else agrees to update it.
-
-When a program changes only a little, you may feel that the
-discrepancies are small enough that the man page remains useful without
-updating.  If so, put a prominent note near the beginning of the man
-page explaining that you don't maintain it and that the Texinfo manual
-is more authoritative.  The note should say how to access the Texinfo
-documentation.
-
-Be sure that man pages include a copyright statement and free license.
-The simple all-permissive license is appropriate for simple man pages
-(@pxref{License Notices for Other Files,,,maintain,Information for GNU
-Maintainers}).
-
-For long man pages, with enough explanation and documentation that
-they can be considered true manuals, use the GFDL (@pxref{License for
-Manuals}).
-
-Finally, the GNU help2man program
-(@uref{http://www.gnu.org/software/help2man/}) is one way to automate
-generation of a man page, in this case from @option{--help} output.
-This is sufficient in many cases.
-
-@node Reading other Manuals
-@section Reading other Manuals
-
-There may be non-free books or documentation files that describe the
-program you are documenting.
-
-It is ok to use these documents for reference, just as the author of a
-new algebra textbook can read other books on algebra.  A large portion
-of any non-fiction book consists of facts, in this case facts about how
-a certain program works, and these facts are necessarily the same for
-everyone who writes about the subject.  But be careful not to copy your
-outline structure, wording, tables or examples from preexisting non-free
-documentation.  Copying from free documentation may be ok; please check
-with the FSF about the individual case.
-
-@node Managing Releases
-@chapter The Release Process
-@cindex releasing
-
-Making a release is more than just bundling up your source files in a
-tar file and putting it up for FTP.  You should set up your software so
-that it can be configured to run on a variety of systems.  Your Makefile
-should conform to the GNU standards described below, and your directory
-layout should also conform to the standards discussed below.  Doing so
-makes it easy to include your package into the larger framework of
-all GNU software.
-
-@menu
-* Configuration::               How configuration of GNU packages should work.
-* Makefile Conventions::        Makefile conventions.
-* Releases::                    Making releases
-@end menu
-
-@node Configuration
-@section How Configuration Should Work
-@cindex program configuration
-
-@pindex configure
-Each GNU distribution should come with a shell script named
-@code{configure}.  This script is given arguments which describe the
-kind of machine and system you want to compile the program for.
-The @code{configure} script must record the configuration options so
-that they affect compilation.
-
-The description here is the specification of the interface for the
-@code{configure} script in GNU packages.  Many packages implement it
-using GNU Autoconf (@pxref{Top,, Introduction, autoconf, Autoconf})
-and/or GNU Automake (@pxref{Top,, Introduction, automake, Automake}),
-but you do not have to use these tools.  You can implement it any way
-you like; for instance, by making @code{configure} be a wrapper around
-a completely different configuration system.
-
-Another way for the @code{configure} script to operate is to make a
-link from a standard name such as @file{config.h} to the proper
-configuration file for the chosen system.  If you use this technique,
-the distribution should @emph{not} contain a file named
-@file{config.h}.  This is so that people won't be able to build the
-program without configuring it first.
-
-Another thing that @code{configure} can do is to edit the Makefile.  If
-you do this, the distribution should @emph{not} contain a file named
-@file{Makefile}.  Instead, it should include a file @file{Makefile.in} which
-contains the input used for editing.  Once again, this is so that people
-won't be able to build the program without configuring it first.
-
-If @code{configure} does write the @file{Makefile}, then @file{Makefile}
-should have a target named @file{Makefile} which causes @code{configure}
-to be rerun, setting up the same configuration that was set up last
-time.  The files that @code{configure} reads should be listed as
-dependencies of @file{Makefile}.
-
-All the files which are output from the @code{configure} script should
-have comments at the beginning explaining that they were generated
-automatically using @code{configure}.  This is so that users won't think
-of trying to edit them by hand.
-
-The @code{configure} script should write a file named @file{config.status}
-which describes which configuration options were specified when the
-program was last configured.  This file should be a shell script which,
-if run, will recreate the same configuration.
-
-The @code{configure} script should accept an option of the form
-@samp{--srcdir=@var{dirname}} to specify the directory where sources are found
-(if it is not the current directory).  This makes it possible to build
-the program in a separate directory, so that the actual source directory
-is not modified.
-
-If the user does not specify @samp{--srcdir}, then @code{configure} should
-check both @file{.} and @file{..} to see if it can find the sources.  If
-it finds the sources in one of these places, it should use them from
-there.  Otherwise, it should report that it cannot find the sources, and
-should exit with nonzero status.
-
-Usually the easy way to support @samp{--srcdir} is by editing a
-definition of @code{VPATH} into the Makefile.  Some rules may need to
-refer explicitly to the specified source directory.  To make this
-possible, @code{configure} can add to the Makefile a variable named
-@code{srcdir} whose value is precisely the specified directory.
-
-In addition, the @samp{configure} script should take options
-corresponding to most of the standard directory variables
-(@pxref{Directory Variables}).  Here is the list:
-
-@example
---prefix --exec-prefix --bindir --sbindir --libexecdir --sysconfdir
---sharedstatedir --localstatedir --libdir --includedir --oldincludedir
---datarootdir --datadir --infodir --localedir --mandir --docdir
---htmldir --dvidir --pdfdir --psdir
-@end example
-
-The @code{configure} script should also take an argument which specifies the
-type of system to build the program for.  This argument should look like
-this:
-
-@example
-@var{cpu}-@var{company}-@var{system}
-@end example
-
-For example, an Athlon-based GNU/Linux system might be
-@samp{i686-pc-linux-gnu}.
-
-The @code{configure} script needs to be able to decode all plausible
-alternatives for how to describe a machine.  Thus,
-@samp{athlon-pc-gnu/linux} would be a valid alias.  There is a shell
-script called
-@uref{http://git.savannah.gnu.org/@/gitweb/@/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD,
-@file{config.sub}} that you can use as a subroutine to validate system
-types and canonicalize aliases.
-
-The @code{configure} script should also take the option
-@option{--build=@var{buildtype}}, which should be equivalent to a
-plain @var{buildtype} argument.  For example, @samp{configure
---build=i686-pc-linux-gnu} is equivalent to @samp{configure
-i686-pc-linux-gnu}.  When the build type is not specified by an option
-or argument, the @code{configure} script should normally guess it using
-the shell script
-@uref{http://git.savannah.gnu.org/@/gitweb/@/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD,
-@file{config.guess}}.
-
-@cindex optional features, configure-time
-Other options are permitted to specify in more detail the software
-or hardware present on the machine, to include or exclude optional parts
-of the package, or to adjust the name of some tools or arguments to them:
-
-@table @samp
-@item --enable-@var{feature}@r{[}=@var{parameter}@r{]}
-Configure the package to build and install an optional user-level
-facility called @var{feature}.  This allows users to choose which
-optional features to include.  Giving an optional @var{parameter} of
-@samp{no} should omit @var{feature}, if it is built by default.
-
-No @samp{--enable} option should @strong{ever} cause one feature to
-replace another.  No @samp{--enable} option should ever substitute one
-useful behavior for another useful behavior.  The only proper use for
-@samp{--enable} is for questions of whether to build part of the program
-or exclude it.
-
-@item --with-@var{package}
-@c @r{[}=@var{parameter}@r{]}
-The package @var{package} will be installed, so configure this package
-to work with @var{package}.
-
-@c  Giving an optional @var{parameter} of
-@c @samp{no} should omit @var{package}, if it is used by default.
-
-Possible values of @var{package} include
-@samp{gnu-as} (or @samp{gas}), @samp{gnu-ld}, @samp{gnu-libc},
-@samp{gdb},
-@samp{x},
-and
-@samp{x-toolkit}.
-
-Do not use a @samp{--with} option to specify the file name to use to
-find certain files.  That is outside the scope of what @samp{--with}
-options are for.
-
-@item @var{variable}=@var{value}
-Set the value of the variable @var{variable} to @var{value}.  This is
-used to override the default values of commands or arguments in the
-build process.  For example, the user could issue @samp{configure
-CFLAGS=-g CXXFLAGS=-g} to build with debugging information and without
-the default optimization.
-
-Specifying variables as arguments to @code{configure}, like this:
-@example
-./configure CC=gcc
-@end example
-is preferable to setting them in environment variables:
-@example
-CC=gcc ./configure
-@end example
-as it helps to recreate the same configuration later with
-@file{config.status}.  However, both methods should be supported.
-@end table
-
-All @code{configure} scripts should accept all of the ``detail''
-options and the variable settings, whether or not they make any
-difference to the particular package at hand.  In particular, they
-should accept any option that starts with @samp{--with-} or
-@samp{--enable-}.  This is so users will be able to configure an
-entire GNU source tree at once with a single set of options.
-
-You will note that the categories @samp{--with-} and @samp{--enable-}
-are narrow: they @strong{do not} provide a place for any sort of option
-you might think of.  That is deliberate.  We want to limit the possible
-configuration options in GNU software.  We do not want GNU programs to
-have idiosyncratic configuration options.
-
-Packages that perform part of the compilation process may support
-cross-compilation.  In such a case, the host and target machines for the
-program may be different.
-
-The @code{configure} script should normally treat the specified type of
-system as both the host and the target, thus producing a program which
-works for the same type of machine that it runs on.
-
-To compile a program to run on a host type that differs from the build
-type, use the configure option @option{--host=@var{hosttype}}, where
-@var{hosttype} uses the same syntax as @var{buildtype}.  The host type
-normally defaults to the build type.
-
-To configure a cross-compiler, cross-assembler, or what have you, you
-should specify a target different from the host, using the configure
-option @samp{--target=@var{targettype}}.  The syntax for
-@var{targettype} is the same as for the host type.  So the command would
-look like this:
-
-@example
-./configure --host=@var{hosttype} --target=@var{targettype}
-@end example
-
-The target type normally defaults to the host type.
-Programs for which cross-operation is not meaningful need not accept the
-@samp{--target} option, because configuring an entire operating system for
-cross-operation is not a meaningful operation.
-
-Some programs have ways of configuring themselves automatically.  If
-your program is set up to do this, your @code{configure} script can simply
-ignore most of its arguments.
-
-@comment The makefile standards are in a separate file that is also
-@comment included by make.texinfo.  Done by roland@gnu.ai.mit.edu on 1/6/93.
-@comment For this document, turn chapters into sections, etc.
-@lowersections
-@include make-stds.texi
-@raisesections
-
-@node Releases
-@section Making Releases
-@cindex packaging
-
-You should identify each release with a pair of version numbers, a
-major version and a minor.  We have no objection to using more than
-two numbers, but it is very unlikely that you really need them.
-
-Package the distribution of @code{Foo version 69.96} up in a gzipped tar
-file with the name @file{foo-69.96.tar.gz}.  It should unpack into a
-subdirectory named @file{foo-69.96}.
-
-Building and installing the program should never modify any of the files
-contained in the distribution.  This means that all the files that form
-part of the program in any way must be classified into @dfn{source
-files} and @dfn{non-source files}.  Source files are written by humans
-and never changed automatically; non-source files are produced from
-source files by programs under the control of the Makefile.
-
-@cindex @file{README} file
-The distribution should contain a file named @file{README} which gives
-the name of the package, and a general description of what it does.  It
-is also good to explain the purpose of each of the first-level
-subdirectories in the package, if there are any.  The @file{README} file
-should either state the version number of the package, or refer to where
-in the package it can be found.
-
-The @file{README} file should refer to the file @file{INSTALL}, which
-should contain an explanation of the installation procedure.
-
-The @file{README} file should also refer to the file which contains the
-copying conditions.  The GNU GPL, if used, should be in a file called
-@file{COPYING}.  If the GNU LGPL is used, it should be in a file called
-@file{COPYING.LESSER}.
-
-Naturally, all the source files must be in the distribution.  It is okay
-to include non-source files in the distribution, provided they are
-up-to-date and machine-independent, so that building the distribution
-normally will never modify them.  We commonly include non-source files
-produced by Bison, @code{lex}, @TeX{}, and @code{makeinfo}; this helps avoid
-unnecessary dependencies between our distributions, so that users can
-install whichever packages they want to install.
-
-Non-source files that might actually be modified by building and
-installing the program should @strong{never} be included in the
-distribution.  So if you do distribute non-source files, always make
-sure they are up to date when you make a new distribution.
-
-Make sure that all the files in the distribution are world-readable, and
-that directories are world-readable and world-searchable (octal mode 755).
-We used to recommend that all directories in the distribution also be
-world-writable (octal mode 777), because ancient versions of @code{tar}
-would otherwise not cope when extracting the archive as an unprivileged
-user.  That can easily lead to security issues when creating the archive,
-however, so now we recommend against that.
-
-Don't include any symbolic links in the distribution itself.  If the tar
-file contains symbolic links, then people cannot even unpack it on
-systems that don't support symbolic links.  Also, don't use multiple
-names for one file in different directories, because certain file
-systems cannot handle this and that prevents unpacking the
-distribution.
-
-Try to make sure that all the file names will be unique on MS-DOS.  A
-name on MS-DOS consists of up to 8 characters, optionally followed by a
-period and up to three characters.  MS-DOS will truncate extra
-characters both before and after the period.  Thus,
-@file{foobarhacker.c} and @file{foobarhacker.o} are not ambiguous; they
-are truncated to @file{foobarha.c} and @file{foobarha.o}, which are
-distinct.
-
-@cindex @file{texinfo.tex}, in a distribution
-Include in your distribution a copy of the @file{texinfo.tex} you used
-to test print any @file{*.texinfo} or @file{*.texi} files.
-
-Likewise, if your program uses small GNU software packages like regex,
-getopt, obstack, or termcap, include them in the distribution file.
-Leaving them out would make the distribution file a little smaller at
-the expense of possible inconvenience to a user who doesn't know what
-other files to get.
-
-@node References
-@chapter References to Non-Free Software and Documentation
-@cindex references to non-free material
-
-A GNU program should not recommend, promote, or grant legitimacy to
-the use of any non-free program.  Proprietary software is a social and
-ethical problem, and our aim is to put an end to that problem.  We
-can't stop some people from writing proprietary programs, or stop
-other people from using them, but we can and should refuse to
-advertise them to new potential customers, or to give the public the
-idea that their existence is ethical.
-
-The GNU definition of free software is found on the GNU web site at
-@url{http://www.gnu.org/@/philosophy/@/free-sw.html}, and the definition
-of free documentation is found at
-@url{http://www.gnu.org/@/philosophy/@/free-doc.html}.  The terms ``free''
-and ``non-free'', used in this document, refer to those definitions.
-
-A list of important licenses and whether they qualify as free is in
-@url{http://www.gnu.org/@/licenses/@/license-list.html}.  If it is not
-clear whether a license qualifies as free, please ask the GNU Project
-by writing to @email{licensing@@gnu.org}.  We will answer, and if the
-license is an important one, we will add it to the list.
-
-When a non-free program or system is well known, you can mention it in
-passing---that is harmless, since users who might want to use it
-probably already know about it.  For instance, it is fine to explain
-how to build your package on top of some widely used non-free
-operating system, or how to use it together with some widely used
-non-free program.
-
-However, you should give only the necessary information to help those
-who already use the non-free program to use your program with
-it---don't give, or refer to, any further information about the
-proprietary program, and don't imply that the proprietary program
-enhances your program, or that its existence is in any way a good
-thing.  The goal should be that people already using the proprietary
-program will get the advice they need about how to use your free
-program with it, while people who don't already use the proprietary
-program will not see anything likely to lead them to take an interest
-in it.
-
-If a non-free program or system is obscure in your program's domain,
-your program should not mention or support it at all, since doing so
-would tend to popularize the non-free program more than it popularizes
-your program.  (You cannot hope to find many additional users for your
-program among the users of Foobar, if the existence of Foobar is not
-generally known among people who might want to use your program.)
-
-Sometimes a program is free software in itself but depends on a
-non-free platform in order to run.  For instance, many Java programs
-depend on some non-free Java libraries.  To recommend or promote such
-a program is to promote the other programs it needs.  This is why we
-are careful about listing Java programs in the Free Software
-Directory: we don't want to promote the non-free Java libraries.
-
-We hope this particular problem with Java will be gone by and by, as
-we replace the remaining non-free standard Java libraries with free
-software, but the general principle will remain the same: don't
-recommend, promote or legitimize programs that depend on non-free
-software to run.
-
-Some free programs strongly encourage the use of non-free software.  A
-typical example is @command{mplayer}.  It is free software in itself,
-and the free code can handle some kinds of files.  However,
-@command{mplayer} recommends use of non-free codecs for other kinds of
-files, and users that install @command{mplayer} are very likely to
-install those codecs along with it.  To recommend @command{mplayer}
-is, in effect, to promote use of the non-free codecs.
-
-Thus, you should not recommend programs that strongly encourage the
-use of non-free software.  This is why we do not list
-@command{mplayer} in the Free Software Directory.
-
-A GNU package should not refer the user to any non-free documentation
-for free software.  Free documentation that can be included in free
-operating systems is essential for completing the GNU system, or any
-free operating system, so encouraging it is a priority; to recommend
-use of documentation that we are not allowed to include undermines the
-impetus for the community to produce documentation that we can
-include.  So GNU packages should never recommend non-free
-documentation.
-
-By contrast, it is ok to refer to journal articles and textbooks in
-the comments of a program for explanation of how it functions, even
-though they are non-free.  This is because we don't include such
-things in the GNU system even they are free---they are outside the
-scope of what a software distribution needs to include.
-
-Referring to a web site that describes or recommends a non-free
-program is promoting that program, so please do not make links (or
-mention by name) web sites that contain such material.  This policy is
-relevant particularly for the web pages for a GNU package.
-
-Following links from nearly any web site can lead eventually to
-non-free software; this is inherent in the nature of the web.  So it
-makes no sense to criticize a site for having such links.  As long as
-the site does not itself recommend a non-free program, there is no
-need to consider the question of the sites that it links to for other
-reasons.
-
-Thus, for example, you should not refer to AT&T's web site if that
-recommends AT&T's non-free software packages; you should not refer to
-a site that links to AT&T's site presenting it as a place to get some
-non-free program, because that link recommends and legitimizes the
-non-free program.  However, that a site contains a link to AT&T's web
-site for some other purpose (such as long-distance telephone service)
-is not an objection against it.
-
-@node GNU Free Documentation License
-@appendix GNU Free Documentation License
-
-@cindex FDL, GNU Free Documentation License
-@include fdl.texi
-
-@node Index
-@unnumbered Index
-@printindex cp
-
-@bye
-
-Local variables:
-eval: (add-hook 'write-file-hooks 'time-stamp)
-time-stamp-start: "@set lastupdate "
-time-stamp-end: "$"
-time-stamp-format: "%:b %:d, %:y"
-compile-command: "cd work.s && make"
-End:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-linux-nat.c ./gdb/aarch64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/aarch64-linux-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for GNU/Linux AArch64.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GDB.
@@ -119,10 +119,6 @@ get_thread_id (ptid_t ptid)
 static int aarch64_num_bp_regs;
 static int aarch64_num_wp_regs;
 
-/* Debugging of hardware breakpoint/watchpoint support.  */
-
-static int debug_hw_points;
-
 /* Each bit of a variable of this type is used to indicate whether a
    hardware breakpoint or watchpoint setting has been changed since
    the last update.
@@ -144,7 +140,7 @@ static int debug_hw_points;
    ptrace calls to the kernel, i.e. avoid asking the kernel to write
    to the debug registers with unchanged values.  */
 
-typedef unsigned LONGEST dr_changed_t;
+typedef ULONGEST dr_changed_t;
 
 /* Set each of the lower M bits of X to 1; assert X is wide enough.  */
 
@@ -363,7 +359,7 @@ debug_reg_change_callback (struct lwp_in
   if (info == NULL)
     info = lwp->arch_private = XCNEW (struct arch_lwp_info);
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     {
       fprintf_unfiltered (gdb_stdlog,
 			  "debug_reg_change_callback: \n\tOn entry:\n");
@@ -392,7 +388,7 @@ debug_reg_change_callback (struct lwp_in
   if (!lwp->stopped)
     linux_stop_lwp (lwp);
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     {
       fprintf_unfiltered (gdb_stdlog,
 			  "\tOn exit:\n\tpid%d, dr_changed_bp=0x%s, "
@@ -616,14 +612,9 @@ void
 fill_gregset (const struct regcache *regcache,
 	      gdb_gregset_t *gregsetp, int regno)
 {
-  gdb_byte *gregs_buf = (gdb_byte *) gregsetp;
-  int i;
-
-  for (i = AARCH64_X0_REGNUM; i <= AARCH64_CPSR_REGNUM; i++)
-    if (regno == -1 || regno == i)
-      regcache_raw_collect (regcache, i,
-			    gregs_buf + X_REGISTER_SIZE
-			    * (i - AARCH64_X0_REGNUM));
+  regcache_collect_regset (&aarch64_linux_gregset, regcache,
+			   regno, (gdb_byte *) gregsetp,
+			   AARCH64_LINUX_SIZEOF_GREGSET);
 }
 
 /* Fill GDB's register array with the general-purpose register values
@@ -632,7 +623,9 @@ fill_gregset (const struct regcache *reg
 void
 supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregsetp)
 {
-  aarch64_linux_supply_gregset (regcache, (const gdb_byte *) gregsetp);
+  regcache_supply_regset (&aarch64_linux_gregset, regcache, -1,
+			  (const gdb_byte *) gregsetp,
+			  AARCH64_LINUX_SIZEOF_GREGSET);
 }
 
 /* Fill register REGNO (if it is a floating-point register) in
@@ -643,22 +636,9 @@ void
 fill_fpregset (const struct regcache *regcache,
 	       gdb_fpregset_t *fpregsetp, int regno)
 {
-  gdb_byte *fpregs_buf = (gdb_byte *) fpregsetp;
-  int i;
-
-  for (i = AARCH64_V0_REGNUM; i <= AARCH64_V31_REGNUM; i++)
-    if (regno == -1 || regno == i)
-      regcache_raw_collect (regcache, i,
-			    fpregs_buf + V_REGISTER_SIZE
-			    * (i - AARCH64_V0_REGNUM));
-
-  if (regno == -1 || regno == AARCH64_FPSR_REGNUM)
-    regcache_raw_collect (regcache, AARCH64_FPSR_REGNUM,
-			  fpregs_buf + V_REGISTER_SIZE * 32);
-
-  if (regno == -1 || regno == AARCH64_FPCR_REGNUM)
-    regcache_raw_collect (regcache, AARCH64_FPCR_REGNUM,
-			  fpregs_buf + V_REGISTER_SIZE * 32 + 4);
+  regcache_collect_regset (&aarch64_linux_fpregset, regcache,
+			   regno, (gdb_byte *) fpregsetp,
+			   AARCH64_LINUX_SIZEOF_FPREGSET);
 }
 
 /* Fill GDB's register array with the floating-point register values
@@ -667,7 +647,9 @@ fill_fpregset (const struct regcache *re
 void
 supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
 {
-  aarch64_linux_supply_fpregset (regcache, (const gdb_byte *) fpregsetp);
+  regcache_supply_regset (&aarch64_linux_fpregset, regcache, -1,
+			  (const gdb_byte *) fpregsetp,
+			  AARCH64_LINUX_SIZEOF_FPREGSET);
 }
 
 /* Called when resuming a thread.
@@ -691,7 +673,7 @@ aarch64_linux_prepare_to_resume (struct 
       struct aarch64_debug_reg_state *state
 	= aarch64_get_debug_reg_state (ptid_get_pid (lwp->ptid));
 
-      if (debug_hw_points)
+      if (show_debug_regs)
 	fprintf_unfiltered (gdb_stdlog, "prepare_to_resume thread %d\n", tid);
 
       /* Watchpoints.  */
@@ -1201,7 +1183,7 @@ aarch64_handle_breakpoint (int type, COR
     return aarch64_dr_state_remove_one_point (state, type, addr, len);
 }
 
-/* Insert a hardware-assisted breakpoint at BP_TGT->placed_address.
+/* Insert a hardware-assisted breakpoint at BP_TGT->reqstd_address.
    Return 0 on success, -1 on failure.  */
 
 static int
@@ -1210,11 +1192,11 @@ aarch64_linux_insert_hw_breakpoint (stru
 				    struct bp_target_info *bp_tgt)
 {
   int ret;
-  CORE_ADDR addr = bp_tgt->placed_address;
+  CORE_ADDR addr = bp_tgt->placed_address = bp_tgt->reqstd_address;
   const int len = 4;
   const int type = hw_execute;
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     fprintf_unfiltered
       (gdb_stdlog,
        "insert_hw_breakpoint on entry (addr=0x%08lx, len=%d))\n",
@@ -1222,7 +1204,7 @@ aarch64_linux_insert_hw_breakpoint (stru
 
   ret = aarch64_handle_breakpoint (type, addr, len, 1 /* is_insert */);
 
-  if (debug_hw_points > 1)
+  if (show_debug_regs)
     {
       struct aarch64_debug_reg_state *state
 	= aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
@@ -1247,14 +1229,14 @@ aarch64_linux_remove_hw_breakpoint (stru
   const int len = 4;
   const int type = hw_execute;
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     fprintf_unfiltered
       (gdb_stdlog, "remove_hw_breakpoint on entry (addr=0x%08lx, len=%d))\n",
        (unsigned long) addr, len);
 
   ret = aarch64_handle_breakpoint (type, addr, len, 0 /* is_insert */);
 
-  if (debug_hw_points > 1)
+  if (show_debug_regs)
     {
       struct aarch64_debug_reg_state *state
 	= aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
@@ -1311,7 +1293,7 @@ aarch64_handle_unaligned_watchpoint (int
 	ret = aarch64_dr_state_remove_one_point (state, type, aligned_addr,
 						 aligned_len);
 
-      if (debug_hw_points)
+      if (show_debug_regs)
 	fprintf_unfiltered (gdb_stdlog,
 "handle_unaligned_watchpoint: is_insert: %d\n"
 "                             aligned_addr: 0x%08lx, aligned_len: %d\n"
@@ -1349,7 +1331,7 @@ aarch64_linux_insert_watchpoint (struct 
 {
   int ret;
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     fprintf_unfiltered (gdb_stdlog,
 			"insert_watchpoint on entry (addr=0x%08lx, len=%d)\n",
 			(unsigned long) addr, len);
@@ -1358,7 +1340,7 @@ aarch64_linux_insert_watchpoint (struct 
 
   ret = aarch64_handle_watchpoint (type, addr, len, 1 /* is_insert */);
 
-  if (debug_hw_points > 1)
+  if (show_debug_regs)
     {
       struct aarch64_debug_reg_state *state
 	= aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
@@ -1382,7 +1364,7 @@ aarch64_linux_remove_watchpoint (struct 
 {
   int ret;
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     fprintf_unfiltered (gdb_stdlog,
 			"remove_watchpoint on entry (addr=0x%08lx, len=%d)\n",
 			(unsigned long) addr, len);
@@ -1391,7 +1373,7 @@ aarch64_linux_remove_watchpoint (struct 
 
   ret = aarch64_handle_watchpoint (type, addr, len, 0 /* is_insert */);
 
-  if (debug_hw_points > 1)
+  if (show_debug_regs)
     {
       struct aarch64_debug_reg_state *state
 	= aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
@@ -1510,7 +1492,7 @@ add_show_debug_regs_command (void)
   /* A maintenance command to enable printing the internal DRi mirror
      variables.  */
   add_setshow_boolean_cmd ("show-debug-regs", class_maintenance,
-			   &debug_hw_points, _("\
+			   &show_debug_regs, _("\
 Set whether to show variables that mirror the AArch64 debug registers."), _("\
 Show whether to show variables that mirror the AArch64 debug registers."), _("\
 Use \"on\" to enable, \"off\" to disable.\n\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-linux-tdep.c ./gdb/aarch64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/aarch64-linux-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux AArch64.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GDB.
@@ -41,16 +41,6 @@
 #include "user-regs.h"
 #include <ctype.h>
 
-/* The general-purpose regset consists of 31 X registers, plus SP, PC,
-   and PSTATE registers, as defined in the AArch64 port of the Linux
-   kernel.  */
-#define AARCH64_LINUX_SIZEOF_GREGSET  (34 * X_REGISTER_SIZE)
-
-/* The fp regset consists of 32 V registers, plus FPCR and FPSR which
-   are 4 bytes wide each, and the whole structure is padded to 128 bit
-   alignment.  */
-#define AARCH64_LINUX_SIZEOF_FPREGSET (33 * V_REGISTER_SIZE)
-
 /* Signal frame handling.
 
       +------------+  ^
@@ -190,89 +180,51 @@ static const struct tramp_frame aarch64_
   aarch64_linux_sigframe_init
 };
 
-/* Fill GDB's register array with the general-purpose register values
-   in the buffer pointed by GREGS_BUF.  */
-
-void
-aarch64_linux_supply_gregset (struct regcache *regcache,
-			      const gdb_byte *gregs_buf)
-{
-  int regno;
-
-  for (regno = AARCH64_X0_REGNUM; regno <= AARCH64_CPSR_REGNUM; regno++)
-    regcache_raw_supply (regcache, regno,
-			 gregs_buf + X_REGISTER_SIZE
-			 * (regno - AARCH64_X0_REGNUM));
-}
-
-/* The "supply_regset" function for the general-purpose register set.  */
+/* Register maps.  */
 
-static void
-supply_gregset_from_core (const struct regset *regset,
-			  struct regcache *regcache,
-			  int regnum, const void *regbuf, size_t len)
-{
-  aarch64_linux_supply_gregset (regcache, (const gdb_byte *) regbuf);
-}
-
-/* Fill GDB's register array with the floating-point register values
-   in the buffer pointed by FPREGS_BUF.  */
-
-void
-aarch64_linux_supply_fpregset (struct regcache *regcache,
-			       const gdb_byte *fpregs_buf)
-{
-  int regno;
-
-  for (regno = AARCH64_V0_REGNUM; regno <= AARCH64_V31_REGNUM; regno++)
-    regcache_raw_supply (regcache, regno,
-			 fpregs_buf + V_REGISTER_SIZE
-			 * (regno - AARCH64_V0_REGNUM));
-
-  regcache_raw_supply (regcache, AARCH64_FPSR_REGNUM,
-		       fpregs_buf + V_REGISTER_SIZE * 32);
-  regcache_raw_supply (regcache, AARCH64_FPCR_REGNUM,
-		       fpregs_buf + V_REGISTER_SIZE * 32 + 4);
-}
-
-/* The "supply_regset" function for the floating-point register set.  */
+static const struct regcache_map_entry aarch64_linux_gregmap[] =
+  {
+    { 31, AARCH64_X0_REGNUM, 8 }, /* x0 ... x30 */
+    { 1, AARCH64_SP_REGNUM, 8 },
+    { 1, AARCH64_PC_REGNUM, 8 },
+    { 1, AARCH64_CPSR_REGNUM, 8 },
+    { 0 }
+  };
 
-static void
-supply_fpregset_from_core (const struct regset *regset,
-			   struct regcache *regcache,
-			   int regnum, const void *regbuf, size_t len)
-{
-  aarch64_linux_supply_fpregset (regcache, (const gdb_byte *) regbuf);
-}
+static const struct regcache_map_entry aarch64_linux_fpregmap[] =
+  {
+    { 32, AARCH64_V0_REGNUM, 16 }, /* v0 ... v31 */
+    { 1, AARCH64_FPSR_REGNUM, 4 },
+    { 1, AARCH64_FPCR_REGNUM, 4 },
+    { 0 }
+  };
 
-/* Register set definitions. */
+/* Register set definitions.  */
 
-static const struct regset aarch64_linux_gregset =
+const struct regset aarch64_linux_gregset =
   {
-    NULL, supply_gregset_from_core, NULL
+    aarch64_linux_gregmap,
+    regcache_supply_regset, regcache_collect_regset
   };
 
-static const struct regset aarch64_linux_fpregset =
+const struct regset aarch64_linux_fpregset =
   {
-    NULL, supply_fpregset_from_core, NULL
+    aarch64_linux_fpregmap,
+    regcache_supply_regset, regcache_collect_regset
   };
 
 /* Implement the "regset_from_core_section" gdbarch method.  */
 
-static const struct regset *
-aarch64_linux_regset_from_core_section (struct gdbarch *gdbarch,
-					const char *sect_name,
-					size_t sect_size)
-{
-  if (strcmp (sect_name, ".reg") == 0
-      && sect_size == AARCH64_LINUX_SIZEOF_GREGSET)
-    return &aarch64_linux_gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0
-      && sect_size == AARCH64_LINUX_SIZEOF_FPREGSET)
-    return &aarch64_linux_fpregset;
-
-  return NULL;
+static void
+aarch64_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					    iterate_over_regset_sections_cb *cb,
+					    void *cb_data,
+					    const struct regcache *regcache)
+{
+  cb (".reg", AARCH64_LINUX_SIZEOF_GREGSET, &aarch64_linux_gregset,
+      NULL, cb_data);
+  cb (".reg2", AARCH64_LINUX_SIZEOF_FPREGSET, &aarch64_linux_fpregset,
+      NULL, cb_data);
 }
 
 /* Implementation of `gdbarch_stap_is_single_operand', as defined in
@@ -420,8 +372,8 @@ aarch64_linux_init_abi (struct gdbarch_i
   /* Enable longjmp.  */
   tdep->jb_pc = 11;
 
-  set_gdbarch_regset_from_core_section (gdbarch,
-					aarch64_linux_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, aarch64_linux_iterate_over_regset_sections);
 
   /* SystemTap related.  */
   set_gdbarch_stap_integer_prefixes (gdbarch, stap_integer_prefixes);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-linux-tdep.h ./gdb/aarch64-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-linux-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/aarch64-linux-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux on AArch64 target support, prototypes.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GDB.
@@ -18,9 +18,17 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-struct regcache;
+#include "regset.h"
 
-extern void aarch64_linux_supply_gregset (struct regcache *regcache,
-					  const gdb_byte *gregs_buf);
-extern void aarch64_linux_supply_fpregset (struct regcache *regcache,
-					   const gdb_byte *fpregs_buf);
+/* The general-purpose regset consists of 31 X registers, plus SP, PC,
+   and PSTATE registers, as defined in the AArch64 port of the Linux
+   kernel.  */
+#define AARCH64_LINUX_SIZEOF_GREGSET  (34 * X_REGISTER_SIZE)
+
+/* The fp regset consists of 32 V registers, plus FPCR and FPSR which
+   are 4 bytes wide each, and the whole structure is padded to 128 bit
+   alignment.  */
+#define AARCH64_LINUX_SIZEOF_FPREGSET (33 * V_REGISTER_SIZE)
+
+extern const struct regset aarch64_linux_gregset;
+extern const struct regset aarch64_linux_fpregset;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-newlib-tdep.c ./gdb/aarch64-newlib-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-newlib-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/aarch64-newlib-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Newlib AArch64.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-tdep.c ./gdb/aarch64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/aarch64-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common target dependent code for GDB on AArch64 systems.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GDB.
@@ -24,7 +24,6 @@
 #include "inferior.h"
 #include "gdbcmd.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "dis-asm.h"
 #include "regcache.h"
 #include "reggroups.h"
@@ -49,7 +48,6 @@
 #include "elf-bfd.h"
 #include "elf/aarch64.h"
 
-#include "gdb_assert.h"
 #include "vec.h"
 
 #include "features/aarch64.c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-tdep.h ./gdb/aarch64-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aarch64-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/aarch64-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common target dependent code for GDB on AArch64 systems.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/acinclude.m4 ./gdb/acinclude.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/acinclude.m4	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/acinclude.m4	2015-01-20 02:05:38.000000000 +0000
@@ -59,7 +59,7 @@ m4_include([common/common.m4])
 ## From Franc,ois Pinard                     ##
 ## ----------------------------------------- ##
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -458,10 +458,6 @@ AC_DEFUN([GDB_AC_CHECK_BFD], [
   CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
   LDFLAGS="-L../bfd -L../libiberty $LDFLAGS"
   intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
-  # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
-  if test "$plugins" = "yes"; then
-    AC_SEARCH_LIBS(dlopen, dl)
-  fi
   LIBS="-lbfd -liberty $intl $LIBS"
   AC_CACHE_CHECK([$1], [$2],
   [AC_TRY_LINK(
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/acx_configure_dir.m4 ./gdb/acx_configure_dir.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/acx_configure_dir.m4	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/acx_configure_dir.m4	2015-01-20 02:05:38.000000000 +0000
@@ -1,10 +1,10 @@
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# ACX_CONFIGURE_DIR(SRC-DIR-NAME, BUILD-DIR-NAME)
+# ACX_CONFIGURE_DIR(SRC-DIR-NAME, BUILD-DIR-NAME, EXTRA-ARGS)
 # ---------------------------
 #
 # Configure a subdirectory.  This is an alternative to
@@ -16,11 +16,14 @@
 # Inputs:
 #   - SRC-DIR-NAME is the source directory, relative to $srcdir.
 #   - BUILD-DIR-NAME is `top-build -> build'
+#   - EXTRA-ARGS is an optional list of extra arguments to add
+#     at the end of the configure command.
 
 AC_DEFUN([ACX_CONFIGURE_DIR],
 [
   in_src=$1
   in_build=$2
+  in_extra_args=$3
 
   # Remove --cache-file, --srcdir, and --disable-option-checking arguments
   # so they do not pile up.
@@ -105,6 +108,11 @@ AC_DEFUN([ACX_CONFIGURE_DIR],
     ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
   esac
 
+  if test -n "$in_extra_args"; then
+    # Add the extra args at the end.
+    ac_sub_configure_args="$ac_sub_configure_args $in_extra_args"
+  fi
+
   AC_MSG_NOTICE([running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir])
   # The eval makes quoting arguments work.
   eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-exp.c ./gdb/ada-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-exp.c	2015-01-13 02:06:40.000000000 +0000
+++ ./gdb/ada-exp.c	2015-01-20 02:09:33.000000000 +0000
@@ -72,7 +72,6 @@
 
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
@@ -146,7 +145,7 @@
 struct name_info {
   struct symbol *sym;
   struct minimal_symbol *msym;
-  struct block *block;
+  const struct block *block;
   struct stoken stoken;
 };
 
@@ -181,7 +180,7 @@ static void write_name_assoc (struct par
 static void write_exp_op_with_string (struct parser_state *, enum exp_opcode,
 				      struct stoken);
 
-static struct block *block_lookup (struct block *, const char *);
+static const struct block *block_lookup (const struct block *, const char *);
 
 static LONGEST convert_char_literal (struct type *, LONGEST);
 
@@ -209,7 +208,7 @@ static struct type *type_system_address 
 
 
 /* Line 189 of yacc.c  */
-#line 213 "ada-exp.c"
+#line 212 "ada-exp.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -340,7 +339,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 176 "ada-exp.y"
+#line 175 "ada-exp.y"
 
     LONGEST lval;
     struct {
@@ -353,13 +352,13 @@ typedef union YYSTYPE
     } typed_val_float;
     struct type *tval;
     struct stoken sval;
-    struct block *bval;
+    const struct block *bval;
     struct internalvar *ivar;
   
 
 
 /* Line 214 of yacc.c  */
-#line 363 "ada-exp.c"
+#line 362 "ada-exp.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -371,7 +370,7 @@ typedef union YYSTYPE
 
 
 /* Line 264 of yacc.c  */
-#line 375 "ada-exp.c"
+#line 374 "ada-exp.c"
 
 #ifdef short
 # undef short
@@ -711,19 +710,19 @@ static const yytype_int8 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   241,   241,   245,   246,   248,   253,   257,   262,   268,
-     287,   287,   299,   303,   305,   313,   324,   334,   338,   341,
-     344,   348,   352,   356,   360,   363,   365,   367,   369,   373,
-     386,   390,   394,   398,   402,   406,   410,   414,   418,   422,
-     425,   429,   433,   437,   439,   444,   452,   456,   462,   473,
-     477,   481,   485,   486,   487,   488,   489,   490,   494,   496,
-     501,   503,   508,   510,   515,   517,   521,   523,   535,   537,
-     544,   547,   550,   553,   555,   557,   559,   561,   563,   565,
-     569,   571,   576,   586,   588,   595,   599,   607,   615,   619,
-     625,   627,   631,   635,   637,   639,   647,   658,   660,   665,
-     674,   675,   681,   686,   692,   701,   702,   703,   707,   712,
-     727,   726,   729,   732,   731,   738,   737,   740,   743,   742,
-     750,   752,   754
+       0,   240,   240,   244,   245,   247,   252,   256,   261,   267,
+     286,   286,   298,   302,   304,   312,   323,   333,   337,   340,
+     343,   347,   351,   355,   359,   362,   364,   366,   368,   372,
+     385,   389,   393,   397,   401,   405,   409,   413,   417,   421,
+     424,   428,   432,   436,   438,   443,   451,   455,   461,   472,
+     476,   480,   484,   485,   486,   487,   488,   489,   493,   495,
+     500,   502,   507,   509,   514,   516,   520,   522,   534,   536,
+     543,   546,   549,   552,   554,   556,   558,   560,   562,   564,
+     568,   570,   575,   585,   587,   594,   598,   606,   614,   618,
+     624,   626,   630,   634,   636,   638,   646,   657,   659,   664,
+     673,   674,   680,   685,   691,   700,   701,   702,   706,   711,
+     726,   725,   728,   731,   730,   737,   736,   739,   742,   741,
+     749,   751,   753
 };
 #endif
 
@@ -1892,28 +1891,28 @@ yyreduce:
         case 4:
 
 /* Line 1455 of yacc.c  */
-#line 247 "ada-exp.y"
+#line 246 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_COMMA); }
     break;
 
   case 5:
 
 /* Line 1455 of yacc.c  */
-#line 249 "ada-exp.y"
+#line 248 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
     break;
 
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 254 "ada-exp.y"
+#line 253 "ada-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_IND); }
     break;
 
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 258 "ada-exp.y"
+#line 257 "ada-exp.y"
     { write_exp_op_with_string (pstate, STRUCTOP_STRUCT,
 						    (yyvsp[(2) - (2)].sval)); }
     break;
@@ -1921,7 +1920,7 @@ yyreduce:
   case 8:
 
 /* Line 1455 of yacc.c  */
-#line 263 "ada-exp.y"
+#line 262 "ada-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_FUNCALL);
 			  write_exp_elt_longcst (pstate, (yyvsp[(3) - (4)].lval));
@@ -1932,7 +1931,7 @@ yyreduce:
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 269 "ada-exp.y"
+#line 268 "ada-exp.y"
     {
 			  if ((yyvsp[(1) - (4)].tval) != NULL)
 			    {
@@ -1954,14 +1953,14 @@ yyreduce:
   case 10:
 
 /* Line 1455 of yacc.c  */
-#line 287 "ada-exp.y"
+#line 286 "ada-exp.y"
     { type_qualifier = (yyvsp[(1) - (3)].tval); }
     break;
 
   case 11:
 
 /* Line 1455 of yacc.c  */
-#line 289 "ada-exp.y"
+#line 288 "ada-exp.y"
     {
 			  if ((yyvsp[(1) - (7)].tval) == NULL)
 			    error (_("Type required for qualification"));
@@ -1975,21 +1974,21 @@ yyreduce:
   case 12:
 
 /* Line 1455 of yacc.c  */
-#line 299 "ada-exp.y"
+#line 298 "ada-exp.y"
     { (yyval.tval) = type_qualifier; }
     break;
 
   case 13:
 
 /* Line 1455 of yacc.c  */
-#line 304 "ada-exp.y"
+#line 303 "ada-exp.y"
     { write_exp_elt_opcode (pstate, TERNOP_SLICE); }
     break;
 
   case 14:
 
 /* Line 1455 of yacc.c  */
-#line 306 "ada-exp.y"
+#line 305 "ada-exp.y"
     { if ((yyvsp[(1) - (6)].tval) == NULL) 
                             write_exp_elt_opcode (pstate, TERNOP_SLICE);
 			  else
@@ -2000,14 +1999,14 @@ yyreduce:
   case 15:
 
 /* Line 1455 of yacc.c  */
-#line 313 "ada-exp.y"
+#line 312 "ada-exp.y"
     { }
     break;
 
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 325 "ada-exp.y"
+#line 324 "ada-exp.y"
     { if ((yyvsp[(1) - (1)].tval) != NULL)
 			    {
 			      write_exp_elt_opcode (pstate, OP_TYPE);
@@ -2020,77 +2019,77 @@ yyreduce:
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 335 "ada-exp.y"
+#line 334 "ada-exp.y"
     { write_dollar_variable (pstate, (yyvsp[(1) - (1)].sval)); }
     break;
 
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 345 "ada-exp.y"
+#line 344 "ada-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_NEG); }
     break;
 
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 349 "ada-exp.y"
+#line 348 "ada-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PLUS); }
     break;
 
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 353 "ada-exp.y"
+#line 352 "ada-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 357 "ada-exp.y"
+#line 356 "ada-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ABS); }
     break;
 
   case 24:
 
 /* Line 1455 of yacc.c  */
-#line 360 "ada-exp.y"
+#line 359 "ada-exp.y"
     { (yyval.lval) = 0; }
     break;
 
   case 25:
 
 /* Line 1455 of yacc.c  */
-#line 364 "ada-exp.y"
+#line 363 "ada-exp.y"
     { (yyval.lval) = 1; }
     break;
 
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 366 "ada-exp.y"
+#line 365 "ada-exp.y"
     { (yyval.lval) = 1; }
     break;
 
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 368 "ada-exp.y"
+#line 367 "ada-exp.y"
     { (yyval.lval) = (yyvsp[(1) - (3)].lval) + 1; }
     break;
 
   case 28:
 
 /* Line 1455 of yacc.c  */
-#line 370 "ada-exp.y"
+#line 369 "ada-exp.y"
     { (yyval.lval) = (yyvsp[(1) - (5)].lval) + 1; }
     break;
 
   case 29:
 
 /* Line 1455 of yacc.c  */
-#line 375 "ada-exp.y"
+#line 374 "ada-exp.y"
     { 
 			  if ((yyvsp[(2) - (4)].tval) == NULL)
 			    error (_("Type required within braces in coercion"));
@@ -2103,98 +2102,98 @@ yyreduce:
   case 30:
 
 /* Line 1455 of yacc.c  */
-#line 387 "ada-exp.y"
+#line 386 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EXP); }
     break;
 
   case 31:
 
 /* Line 1455 of yacc.c  */
-#line 391 "ada-exp.y"
+#line 390 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_MUL); }
     break;
 
   case 32:
 
 /* Line 1455 of yacc.c  */
-#line 395 "ada-exp.y"
+#line 394 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_DIV); }
     break;
 
   case 33:
 
 /* Line 1455 of yacc.c  */
-#line 399 "ada-exp.y"
+#line 398 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REM); }
     break;
 
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 403 "ada-exp.y"
+#line 402 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_MOD); }
     break;
 
   case 35:
 
 /* Line 1455 of yacc.c  */
-#line 407 "ada-exp.y"
+#line 406 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REPEAT); }
     break;
 
   case 36:
 
 /* Line 1455 of yacc.c  */
-#line 411 "ada-exp.y"
+#line 410 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ADD); }
     break;
 
   case 37:
 
 /* Line 1455 of yacc.c  */
-#line 415 "ada-exp.y"
+#line 414 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_CONCAT); }
     break;
 
   case 38:
 
 /* Line 1455 of yacc.c  */
-#line 419 "ada-exp.y"
+#line 418 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUB); }
     break;
 
   case 40:
 
 /* Line 1455 of yacc.c  */
-#line 426 "ada-exp.y"
+#line 425 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EQUAL); }
     break;
 
   case 41:
 
 /* Line 1455 of yacc.c  */
-#line 430 "ada-exp.y"
+#line 429 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
     break;
 
   case 42:
 
 /* Line 1455 of yacc.c  */
-#line 434 "ada-exp.y"
+#line 433 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LEQ); }
     break;
 
   case 43:
 
 /* Line 1455 of yacc.c  */
-#line 438 "ada-exp.y"
+#line 437 "ada-exp.y"
     { write_exp_elt_opcode (pstate, TERNOP_IN_RANGE); }
     break;
 
   case 44:
 
 /* Line 1455 of yacc.c  */
-#line 440 "ada-exp.y"
+#line 439 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_IN_BOUNDS);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(5) - (5)].lval));
 			  write_exp_elt_opcode (pstate, BINOP_IN_BOUNDS);
@@ -2204,7 +2203,7 @@ yyreduce:
   case 45:
 
 /* Line 1455 of yacc.c  */
-#line 445 "ada-exp.y"
+#line 444 "ada-exp.y"
     { 
 			  if ((yyvsp[(3) - (3)].tval) == NULL)
 			    error (_("Right operand of 'in' must be type"));
@@ -2217,7 +2216,7 @@ yyreduce:
   case 46:
 
 /* Line 1455 of yacc.c  */
-#line 453 "ada-exp.y"
+#line 452 "ada-exp.y"
     { write_exp_elt_opcode (pstate, TERNOP_IN_RANGE);
 		          write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT);
 			}
@@ -2226,7 +2225,7 @@ yyreduce:
   case 47:
 
 /* Line 1455 of yacc.c  */
-#line 457 "ada-exp.y"
+#line 456 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_IN_BOUNDS);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(6) - (6)].lval));
 			  write_exp_elt_opcode (pstate, BINOP_IN_BOUNDS);
@@ -2237,7 +2236,7 @@ yyreduce:
   case 48:
 
 /* Line 1455 of yacc.c  */
-#line 463 "ada-exp.y"
+#line 462 "ada-exp.y"
     { 
 			  if ((yyvsp[(4) - (4)].tval) == NULL)
 			    error (_("Right operand of 'in' must be type"));
@@ -2251,105 +2250,105 @@ yyreduce:
   case 49:
 
 /* Line 1455 of yacc.c  */
-#line 474 "ada-exp.y"
+#line 473 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GEQ); }
     break;
 
   case 50:
 
 /* Line 1455 of yacc.c  */
-#line 478 "ada-exp.y"
+#line 477 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LESS); }
     break;
 
   case 51:
 
 /* Line 1455 of yacc.c  */
-#line 482 "ada-exp.y"
+#line 481 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GTR); }
     break;
 
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 495 "ada-exp.y"
+#line 494 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
     break;
 
   case 59:
 
 /* Line 1455 of yacc.c  */
-#line 497 "ada-exp.y"
+#line 496 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
     break;
 
   case 60:
 
 /* Line 1455 of yacc.c  */
-#line 502 "ada-exp.y"
+#line 501 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
     break;
 
   case 61:
 
 /* Line 1455 of yacc.c  */
-#line 504 "ada-exp.y"
+#line 503 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
     break;
 
   case 62:
 
 /* Line 1455 of yacc.c  */
-#line 509 "ada-exp.y"
+#line 508 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
     break;
 
   case 63:
 
 /* Line 1455 of yacc.c  */
-#line 511 "ada-exp.y"
+#line 510 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
     break;
 
   case 64:
 
 /* Line 1455 of yacc.c  */
-#line 516 "ada-exp.y"
+#line 515 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
     break;
 
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 518 "ada-exp.y"
+#line 517 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
     break;
 
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 522 "ada-exp.y"
+#line 521 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
     break;
 
   case 67:
 
 /* Line 1455 of yacc.c  */
-#line 524 "ada-exp.y"
+#line 523 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
     break;
 
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 536 "ada-exp.y"
+#line 535 "ada-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ADDR); }
     break;
 
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 538 "ada-exp.y"
+#line 537 "ada-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ADDR);
 			  write_exp_elt_opcode (pstate, UNOP_CAST);
 			  write_exp_elt_type (pstate,
@@ -2361,7 +2360,7 @@ yyreduce:
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 545 "ada-exp.y"
+#line 544 "ada-exp.y"
     { write_int (pstate, (yyvsp[(3) - (3)].lval), type_int (pstate));
 			  write_exp_elt_opcode (pstate, OP_ATR_FIRST); }
     break;
@@ -2369,7 +2368,7 @@ yyreduce:
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 548 "ada-exp.y"
+#line 547 "ada-exp.y"
     { write_int (pstate, (yyvsp[(3) - (3)].lval), type_int (pstate));
 			  write_exp_elt_opcode (pstate, OP_ATR_LAST); }
     break;
@@ -2377,7 +2376,7 @@ yyreduce:
   case 72:
 
 /* Line 1455 of yacc.c  */
-#line 551 "ada-exp.y"
+#line 550 "ada-exp.y"
     { write_int (pstate, (yyvsp[(3) - (3)].lval), type_int (pstate));
 			  write_exp_elt_opcode (pstate, OP_ATR_LENGTH); }
     break;
@@ -2385,70 +2384,70 @@ yyreduce:
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 554 "ada-exp.y"
+#line 553 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_ATR_SIZE); }
     break;
 
   case 74:
 
 /* Line 1455 of yacc.c  */
-#line 556 "ada-exp.y"
+#line 555 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_ATR_TAG); }
     break;
 
   case 75:
 
 /* Line 1455 of yacc.c  */
-#line 558 "ada-exp.y"
+#line 557 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_ATR_MIN); }
     break;
 
   case 76:
 
 /* Line 1455 of yacc.c  */
-#line 560 "ada-exp.y"
+#line 559 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_ATR_MAX); }
     break;
 
   case 77:
 
 /* Line 1455 of yacc.c  */
-#line 562 "ada-exp.y"
+#line 561 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_ATR_POS); }
     break;
 
   case 78:
 
 /* Line 1455 of yacc.c  */
-#line 564 "ada-exp.y"
+#line 563 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_ATR_VAL); }
     break;
 
   case 79:
 
 /* Line 1455 of yacc.c  */
-#line 566 "ada-exp.y"
+#line 565 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_ATR_MODULUS); }
     break;
 
   case 80:
 
 /* Line 1455 of yacc.c  */
-#line 570 "ada-exp.y"
+#line 569 "ada-exp.y"
     { (yyval.lval) = 1; }
     break;
 
   case 81:
 
 /* Line 1455 of yacc.c  */
-#line 572 "ada-exp.y"
+#line 571 "ada-exp.y"
     { (yyval.lval) = (yyvsp[(2) - (3)].typed_val).val; }
     break;
 
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 577 "ada-exp.y"
+#line 576 "ada-exp.y"
     { 
 			  if ((yyvsp[(1) - (1)].tval) == NULL)
 			    error (_("Prefix must be type"));
@@ -2460,7 +2459,7 @@ yyreduce:
   case 84:
 
 /* Line 1455 of yacc.c  */
-#line 588 "ada-exp.y"
+#line 587 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPE);
 			  write_exp_elt_type (pstate,
 					  parse_type (pstate)->builtin_void);
@@ -2470,14 +2469,14 @@ yyreduce:
   case 85:
 
 /* Line 1455 of yacc.c  */
-#line 596 "ada-exp.y"
+#line 595 "ada-exp.y"
     { write_int (pstate, (LONGEST) (yyvsp[(1) - (1)].typed_val).val, (yyvsp[(1) - (1)].typed_val).type); }
     break;
 
   case 86:
 
 /* Line 1455 of yacc.c  */
-#line 600 "ada-exp.y"
+#line 599 "ada-exp.y"
     { write_int (pstate,
 			       convert_char_literal (type_qualifier, (yyvsp[(1) - (1)].typed_val).val),
 			       (type_qualifier == NULL) 
@@ -2488,7 +2487,7 @@ yyreduce:
   case 87:
 
 /* Line 1455 of yacc.c  */
-#line 608 "ada-exp.y"
+#line 607 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_DOUBLE);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_float).type);
 			  write_exp_elt_dblcst (pstate, (yyvsp[(1) - (1)].typed_val_float).dval);
@@ -2499,14 +2498,14 @@ yyreduce:
   case 88:
 
 /* Line 1455 of yacc.c  */
-#line 616 "ada-exp.y"
+#line 615 "ada-exp.y"
     { write_int (pstate, 0, type_int (pstate)); }
     break;
 
   case 89:
 
 /* Line 1455 of yacc.c  */
-#line 620 "ada-exp.y"
+#line 619 "ada-exp.y"
     { 
 			  write_exp_op_with_string (pstate, OP_STRING, (yyvsp[(1) - (1)].sval));
 			}
@@ -2515,42 +2514,42 @@ yyreduce:
   case 90:
 
 /* Line 1455 of yacc.c  */
-#line 626 "ada-exp.y"
+#line 625 "ada-exp.y"
     { write_int (pstate, 1, type_boolean (pstate)); }
     break;
 
   case 91:
 
 /* Line 1455 of yacc.c  */
-#line 628 "ada-exp.y"
+#line 627 "ada-exp.y"
     { write_int (pstate, 0, type_boolean (pstate)); }
     break;
 
   case 92:
 
 /* Line 1455 of yacc.c  */
-#line 632 "ada-exp.y"
+#line 631 "ada-exp.y"
     { error (_("NEW not implemented.")); }
     break;
 
   case 93:
 
 /* Line 1455 of yacc.c  */
-#line 636 "ada-exp.y"
+#line 635 "ada-exp.y"
     { (yyval.tval) = write_var_or_type (pstate, NULL, (yyvsp[(1) - (1)].sval)); }
     break;
 
   case 94:
 
 /* Line 1455 of yacc.c  */
-#line 638 "ada-exp.y"
+#line 637 "ada-exp.y"
     { (yyval.tval) = write_var_or_type (pstate, (yyvsp[(1) - (2)].bval), (yyvsp[(2) - (2)].sval)); }
     break;
 
   case 95:
 
 /* Line 1455 of yacc.c  */
-#line 640 "ada-exp.y"
+#line 639 "ada-exp.y"
     { 
 			  (yyval.tval) = write_var_or_type (pstate, NULL, (yyvsp[(1) - (2)].sval));
 			  if ((yyval.tval) == NULL)
@@ -2563,7 +2562,7 @@ yyreduce:
   case 96:
 
 /* Line 1455 of yacc.c  */
-#line 648 "ada-exp.y"
+#line 647 "ada-exp.y"
     { 
 			  (yyval.tval) = write_var_or_type (pstate, (yyvsp[(1) - (3)].bval), (yyvsp[(2) - (3)].sval));
 			  if ((yyval.tval) == NULL)
@@ -2576,21 +2575,21 @@ yyreduce:
   case 97:
 
 /* Line 1455 of yacc.c  */
-#line 659 "ada-exp.y"
+#line 658 "ada-exp.y"
     { (yyval.bval) = block_lookup (NULL, (yyvsp[(1) - (2)].sval).ptr); }
     break;
 
   case 98:
 
 /* Line 1455 of yacc.c  */
-#line 661 "ada-exp.y"
+#line 660 "ada-exp.y"
     { (yyval.bval) = block_lookup ((yyvsp[(1) - (3)].bval), (yyvsp[(2) - (3)].sval).ptr); }
     break;
 
   case 99:
 
 /* Line 1455 of yacc.c  */
-#line 666 "ada-exp.y"
+#line 665 "ada-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_AGGREGATE);
 			  write_exp_elt_longcst (pstate, (yyvsp[(2) - (3)].lval));
@@ -2601,14 +2600,14 @@ yyreduce:
   case 100:
 
 /* Line 1455 of yacc.c  */
-#line 674 "ada-exp.y"
+#line 673 "ada-exp.y"
     { (yyval.lval) = (yyvsp[(1) - (1)].lval); }
     break;
 
   case 101:
 
 /* Line 1455 of yacc.c  */
-#line 676 "ada-exp.y"
+#line 675 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_POSITIONAL);
 			  write_exp_elt_longcst (pstate, (yyvsp[(1) - (2)].lval));
 			  write_exp_elt_opcode (pstate, OP_POSITIONAL);
@@ -2619,14 +2618,14 @@ yyreduce:
   case 102:
 
 /* Line 1455 of yacc.c  */
-#line 682 "ada-exp.y"
+#line 681 "ada-exp.y"
     { (yyval.lval) = (yyvsp[(1) - (2)].lval) + (yyvsp[(2) - (2)].lval); }
     break;
 
   case 103:
 
 /* Line 1455 of yacc.c  */
-#line 687 "ada-exp.y"
+#line 686 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_POSITIONAL);
 			  write_exp_elt_longcst (pstate, 0);
 			  write_exp_elt_opcode (pstate, OP_POSITIONAL);
@@ -2637,7 +2636,7 @@ yyreduce:
   case 104:
 
 /* Line 1455 of yacc.c  */
-#line 693 "ada-exp.y"
+#line 692 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_POSITIONAL);
 			  write_exp_elt_longcst (pstate, (yyvsp[(1) - (3)].lval));
 			  write_exp_elt_opcode (pstate, OP_POSITIONAL);
@@ -2648,35 +2647,35 @@ yyreduce:
   case 105:
 
 /* Line 1455 of yacc.c  */
-#line 701 "ada-exp.y"
+#line 700 "ada-exp.y"
     { (yyval.lval) = 1; }
     break;
 
   case 106:
 
 /* Line 1455 of yacc.c  */
-#line 702 "ada-exp.y"
+#line 701 "ada-exp.y"
     { (yyval.lval) = 1; }
     break;
 
   case 107:
 
 /* Line 1455 of yacc.c  */
-#line 704 "ada-exp.y"
+#line 703 "ada-exp.y"
     { (yyval.lval) = (yyvsp[(3) - (3)].lval) + 1; }
     break;
 
   case 108:
 
 /* Line 1455 of yacc.c  */
-#line 708 "ada-exp.y"
+#line 707 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_OTHERS); }
     break;
 
   case 109:
 
 /* Line 1455 of yacc.c  */
-#line 713 "ada-exp.y"
+#line 712 "ada-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_CHOICES);
 			  write_exp_elt_longcst (pstate, (yyvsp[(1) - (1)].lval));
@@ -2687,28 +2686,28 @@ yyreduce:
   case 110:
 
 /* Line 1455 of yacc.c  */
-#line 727 "ada-exp.y"
+#line 726 "ada-exp.y"
     { write_name_assoc (pstate, (yyvsp[(1) - (2)].sval)); }
     break;
 
   case 111:
 
 /* Line 1455 of yacc.c  */
-#line 728 "ada-exp.y"
+#line 727 "ada-exp.y"
     { (yyval.lval) = 1; }
     break;
 
   case 112:
 
 /* Line 1455 of yacc.c  */
-#line 730 "ada-exp.y"
+#line 729 "ada-exp.y"
     { (yyval.lval) = 1; }
     break;
 
   case 113:
 
 /* Line 1455 of yacc.c  */
-#line 732 "ada-exp.y"
+#line 731 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_DISCRETE_RANGE);
 			  write_exp_op_with_string (pstate, OP_NAME,
 						    empty_stoken);
@@ -2718,70 +2717,70 @@ yyreduce:
   case 114:
 
 /* Line 1455 of yacc.c  */
-#line 736 "ada-exp.y"
+#line 735 "ada-exp.y"
     { (yyval.lval) = 1; }
     break;
 
   case 115:
 
 /* Line 1455 of yacc.c  */
-#line 738 "ada-exp.y"
+#line 737 "ada-exp.y"
     { write_name_assoc (pstate, (yyvsp[(1) - (2)].sval)); }
     break;
 
   case 116:
 
 /* Line 1455 of yacc.c  */
-#line 739 "ada-exp.y"
+#line 738 "ada-exp.y"
     { (yyval.lval) = (yyvsp[(4) - (4)].lval) + 1; }
     break;
 
   case 117:
 
 /* Line 1455 of yacc.c  */
-#line 741 "ada-exp.y"
+#line 740 "ada-exp.y"
     { (yyval.lval) = (yyvsp[(3) - (3)].lval) + 1; }
     break;
 
   case 118:
 
 /* Line 1455 of yacc.c  */
-#line 743 "ada-exp.y"
+#line 742 "ada-exp.y"
     { write_exp_elt_opcode (pstate, OP_DISCRETE_RANGE); }
     break;
 
   case 119:
 
 /* Line 1455 of yacc.c  */
-#line 744 "ada-exp.y"
+#line 743 "ada-exp.y"
     { (yyval.lval) = (yyvsp[(6) - (6)].lval) + 1; }
     break;
 
   case 120:
 
 /* Line 1455 of yacc.c  */
-#line 751 "ada-exp.y"
+#line 750 "ada-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_IND); }
     break;
 
   case 121:
 
 /* Line 1455 of yacc.c  */
-#line 753 "ada-exp.y"
+#line 752 "ada-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ADDR); }
     break;
 
   case 122:
 
 /* Line 1455 of yacc.c  */
-#line 755 "ada-exp.y"
+#line 754 "ada-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT); }
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 2786 "ada-exp.c"
+#line 2785 "ada-exp.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2993,7 +2992,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 758 "ada-exp.y"
+#line 757 "ada-exp.y"
 
 
 /* yylex defined in ada-lex.c: Reads one token, getting characters */
@@ -3249,8 +3248,8 @@ write_object_renaming (struct parser_sta
   error (_("Internal error in encoding of renaming declaration"));
 }
 
-static struct block*
-block_lookup (struct block *context, const char *raw_name)
+static const struct block*
+block_lookup (const struct block *context, const char *raw_name)
 {
   const char *name;
   struct ada_symbol_info *syms;
@@ -3273,7 +3272,7 @@ block_lookup (struct block *context, con
     symtab = NULL;
 
   if (symtab != NULL)
-    return BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), STATIC_BLOCK);
+    return BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (symtab), STATIC_BLOCK);
   else if (nsyms == 0 || SYMBOL_CLASS (syms[0].sym) != LOC_BLOCK)
     {
       if (context == NULL)
@@ -3326,9 +3325,9 @@ static struct type*
 find_primitive_type (struct parser_state *par_state, char *name)
 {
   struct type *type;
-  type = language_lookup_primitive_type_by_name (parse_language (par_state),
-						 parse_gdbarch (par_state),
-						 name);
+  type = language_lookup_primitive_type (parse_language (par_state),
+					 parse_gdbarch (par_state),
+					 name);
   if (type == NULL && strcmp ("system__address", name) == 0)
     type = type_system_address (par_state);
 
@@ -3765,9 +3764,9 @@ static struct type *
 type_system_address (struct parser_state *par_state)
 {
   struct type *type 
-    = language_lookup_primitive_type_by_name (parse_language (par_state),
-					      parse_gdbarch (par_state),
-					      "system__address");
+    = language_lookup_primitive_type (parse_language (par_state),
+				      parse_gdbarch (par_state),
+				      "system__address");
   return  type != NULL ? type : parse_type (par_state)->builtin_data_ptr;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-exp.y ./gdb/ada-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-exp.y	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ada-exp.y	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* YACC parser for Ada expressions, for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -36,7 +36,6 @@
 %{
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
@@ -110,7 +109,7 @@
 struct name_info {
   struct symbol *sym;
   struct minimal_symbol *msym;
-  struct block *block;
+  const struct block *block;
   struct stoken stoken;
 };
 
@@ -145,7 +144,7 @@ static void write_name_assoc (struct par
 static void write_exp_op_with_string (struct parser_state *, enum exp_opcode,
 				      struct stoken);
 
-static struct block *block_lookup (struct block *, const char *);
+static const struct block *block_lookup (const struct block *, const char *);
 
 static LONGEST convert_char_literal (struct type *, LONGEST);
 
@@ -185,7 +184,7 @@ static struct type *type_system_address 
     } typed_val_float;
     struct type *tval;
     struct stoken sval;
-    struct block *bval;
+    const struct block *bval;
     struct internalvar *ivar;
   }
 
@@ -1010,8 +1009,8 @@ write_object_renaming (struct parser_sta
   error (_("Internal error in encoding of renaming declaration"));
 }
 
-static struct block*
-block_lookup (struct block *context, const char *raw_name)
+static const struct block*
+block_lookup (const struct block *context, const char *raw_name)
 {
   const char *name;
   struct ada_symbol_info *syms;
@@ -1034,7 +1033,7 @@ block_lookup (struct block *context, con
     symtab = NULL;
 
   if (symtab != NULL)
-    return BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), STATIC_BLOCK);
+    return BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (symtab), STATIC_BLOCK);
   else if (nsyms == 0 || SYMBOL_CLASS (syms[0].sym) != LOC_BLOCK)
     {
       if (context == NULL)
@@ -1087,9 +1086,9 @@ static struct type*
 find_primitive_type (struct parser_state *par_state, char *name)
 {
   struct type *type;
-  type = language_lookup_primitive_type_by_name (parse_language (par_state),
-						 parse_gdbarch (par_state),
-						 name);
+  type = language_lookup_primitive_type (parse_language (par_state),
+					 parse_gdbarch (par_state),
+					 name);
   if (type == NULL && strcmp ("system__address", name) == 0)
     type = type_system_address (par_state);
 
@@ -1526,9 +1525,9 @@ static struct type *
 type_system_address (struct parser_state *par_state)
 {
   struct type *type 
-    = language_lookup_primitive_type_by_name (parse_language (par_state),
-					      parse_gdbarch (par_state),
-					      "system__address");
+    = language_lookup_primitive_type (parse_language (par_state),
+				      parse_gdbarch (par_state),
+				      "system__address");
   return  type != NULL ? type : parse_type (par_state)->builtin_data_ptr;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-lang.c ./gdb/ada-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ada-lang.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ada language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,10 +19,7 @@
 
 
 #include "defs.h"
-#include <stdio.h>
-#include <string.h>
 #include <ctype.h>
-#include <stdarg.h>
 #include "demangle.h"
 #include "gdb_regex.h"
 #include "frame.h"
@@ -48,7 +45,6 @@
 #include "block.h"
 #include "infcall.h"
 #include "dictionary.h"
-#include "exceptions.h"
 #include "annotate.h"
 #include "valprint.h"
 #include "source.h"
@@ -236,8 +232,6 @@ static int ada_is_direct_array_type (str
 static void ada_language_arch_info (struct gdbarch *,
 				    struct language_arch_info *);
 
-static void check_size (const struct type *);
-
 static struct value *ada_index_struct_field (int, struct value *, int,
 					     struct type *);
 
@@ -357,7 +351,8 @@ static struct cmd_list_element *maint_sh
 static void
 maint_set_ada_cmd (char *args, int from_tty)
 {
-  help_list (maint_set_ada_cmdlist, "maintenance set ada ", -1, gdb_stdout);
+  help_list (maint_set_ada_cmdlist, "maintenance set ada ", all_commands,
+	     gdb_stdout);
 }
 
 /* Implement the "maintenance show ada" (prefix) command.  */
@@ -526,8 +521,16 @@ ada_typedef_target_type (struct type *ty
 static const char *
 ada_unqualified_name (const char *decoded_name)
 {
-  const char *result = strrchr (decoded_name, '.');
+  const char *result;
+  
+  /* If the decoded name starts with '<', it means that the encoded
+     name does not follow standard naming conventions, and thus that
+     it is not your typical Ada symbol name.  Trying to unqualify it
+     is therefore pointless and possibly erroneous.  */
+  if (decoded_name[0] == '<')
+    return decoded_name;
 
+  result = strrchr (decoded_name, '.');
   if (result != NULL)
     result++;                   /* Skip the dot...  */
   else
@@ -673,7 +676,7 @@ coerce_unspec_val_to_type (struct value 
 
       /* Make sure that the object size is not unreasonable before
          trying to allocate some memory for it.  */
-      check_size (type);
+      ada_ensure_varsize_limit (type);
 
       if (value_lazy (val)
           || TYPE_LENGTH (type) > TYPE_LENGTH (value_type (val)))
@@ -681,14 +684,12 @@ coerce_unspec_val_to_type (struct value 
       else
 	{
 	  result = allocate_value (type);
-	  memcpy (value_contents_raw (result), value_contents (val),
-		  TYPE_LENGTH (type));
+	  value_contents_copy_raw (result, 0, val, 0, TYPE_LENGTH (type));
 	}
       set_value_component_location (result, val);
       set_value_bitsize (result, value_bitsize (val));
       set_value_bitpos (result, value_bitpos (val));
       set_value_address (result, value_address (val));
-      set_value_optimized_out (result, value_optimized_out_const (val));
       return result;
     }
 }
@@ -737,8 +738,8 @@ lim_warning (const char *format, ...)
    i.e. if it would be a bad idea to allocate a value of this type in
    GDB.  */
 
-static void
-check_size (const struct type *type)
+void
+ada_ensure_varsize_limit (const struct type *type)
 {
   if (TYPE_LENGTH (type) > varsize_limit)
     error (_("object size is larger than varsize-limit"));
@@ -2049,7 +2050,7 @@ ada_coerce_to_simple_array (struct value
 
       if (arrVal == NULL)
         error (_("Bounds unavailable for null array pointer."));
-      check_size (TYPE_TARGET_TYPE (value_type (arrVal)));
+      ada_ensure_varsize_limit (TYPE_TARGET_TYPE (value_type (arrVal)));
       return value_ind (arrVal);
     }
   else if (ada_is_constrained_packed_array_type (value_type (arr)))
@@ -2151,7 +2152,15 @@ decode_packed_array_bitsize (struct type
    but with the bit sizes of its elements (and those of any
    constituent arrays) recorded in the BITSIZE components of its
    TYPE_FIELD_BITSIZE values, and with *ELT_BITS set to its total size
-   in bits.  */
+   in bits.
+
+   Note that, for arrays whose index type has an XA encoding where
+   a bound references a record discriminant, getting that discriminant,
+   and therefore the actual value of that bound, is not possible
+   because none of the given parameters gives us access to the record.
+   This function assumes that it is OK in the context where it is being
+   used to return an array whose bounds are still dynamic and where
+   the length is arbitrary.  */
 
 static struct type *
 constrained_packed_array_type (struct type *type, long *elt_bits)
@@ -2181,7 +2190,9 @@ constrained_packed_array_type (struct ty
   TYPE_FIELD_BITSIZE (new_type, 0) = *elt_bits;
   TYPE_NAME (new_type) = ada_type_name (type);
 
-  if (get_discrete_bounds (index_type, &low_bound, &high_bound) < 0)
+  if ((TYPE_CODE (check_typedef (index_type)) == TYPE_CODE_RANGE
+       && is_dynamic_type (check_typedef (index_type)))
+      || get_discrete_bounds (index_type, &low_bound, &high_bound) < 0)
     low_bound = high_bound = 0;
   if (high_bound < low_bound)
     *elt_bits = TYPE_LENGTH (new_type) = 0;
@@ -2719,15 +2730,16 @@ ada_value_subscript (struct value *arr, 
   return elt;
 }
 
-/* Assuming ARR is a pointer to a standard GDB array of type TYPE, the
-   value of the element of *ARR at the ARITY indices given in
-   IND.  Does not read the entire array into memory.  */
+/* Assuming ARR is a pointer to a GDB array, the value of the element
+   of *ARR at the ARITY indices given in IND.
+   Does not read the entire array into memory.  */
 
 static struct value *
-ada_value_ptr_subscript (struct value *arr, struct type *type, int arity,
-                         struct value **ind)
+ada_value_ptr_subscript (struct value *arr, int arity, struct value **ind)
 {
   int k;
+  struct type *type
+    = check_typedef (value_enclosing_type (ada_value_ind (arr)));
 
   for (k = 0; k < arity; k += 1)
     {
@@ -2945,7 +2957,11 @@ ada_array_bound_from_type (struct type *
 static LONGEST
 ada_array_bound (struct value *arr, int n, int which)
 {
-  struct type *arr_type = value_type (arr);
+  struct type *arr_type;
+
+  if (TYPE_CODE (check_typedef (value_type (arr))) == TYPE_CODE_PTR)
+    arr = value_ind (arr);
+  arr_type = value_enclosing_type (arr);
 
   if (ada_is_constrained_packed_array_type (arr_type))
     return ada_array_bound (decode_constrained_packed_array (arr), n, which);
@@ -2964,7 +2980,11 @@ ada_array_bound (struct value *arr, int 
 static LONGEST
 ada_array_length (struct value *arr, int n)
 {
-  struct type *arr_type = ada_check_typedef (value_type (arr));
+  struct type *arr_type;
+
+  if (TYPE_CODE (check_typedef (value_type (arr))) == TYPE_CODE_PTR)
+    arr = value_ind (arr);
+  arr_type = value_enclosing_type (arr);
 
   if (ada_is_constrained_packed_array_type (arr_type))
     return ada_array_length (decode_constrained_packed_array (arr), n);
@@ -3696,7 +3716,10 @@ See set/show multiple-symbol."));
             (SYMBOL_CLASS (syms[i].sym) == LOC_CONST
              && SYMBOL_TYPE (syms[i].sym) != NULL
              && TYPE_CODE (SYMBOL_TYPE (syms[i].sym)) == TYPE_CODE_ENUM);
-          struct symtab *symtab = SYMBOL_SYMTAB (syms[i].sym);
+	  struct symtab *symtab = NULL;
+
+	  if (SYMBOL_OBJFILE_OWNED (syms[i].sym))
+	    symtab = symbol_symtab (syms[i].sym);
 
           if (SYMBOL_LINE (syms[i].sym) != 0 && symtab != NULL)
             printf_unfiltered (_("[%d] %s at %s:%d\n"),
@@ -4167,7 +4190,7 @@ parse_old_style_renaming (struct type *t
 
 static struct value *
 ada_read_renaming_var_value (struct symbol *renaming_sym,
-			     struct block *block)
+			     const struct block *block)
 {
   const char *sym_name;
   struct expression *expr;
@@ -4446,13 +4469,20 @@ cache_symbol (const char *name, domain_e
   char *copy;
   struct cache_entry *e;
 
+  /* Symbols for builtin types don't have a block.
+     For now don't cache such symbols.  */
+  if (sym != NULL && !SYMBOL_OBJFILE_OWNED (sym))
+    return;
+
   /* If the symbol is a local symbol, then do not cache it, as a search
      for that symbol depends on the context.  To determine whether
      the symbol is local or not, we check the block where we found it
      against the global and static blocks of its associated symtab.  */
   if (sym
-      && BLOCKVECTOR_BLOCK (BLOCKVECTOR (sym->symtab), GLOBAL_BLOCK) != block
-      && BLOCKVECTOR_BLOCK (BLOCKVECTOR (sym->symtab), STATIC_BLOCK) != block)
+      && BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (symbol_symtab (sym)),
+			    GLOBAL_BLOCK) != block
+      && BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (symbol_symtab (sym)),
+			    STATIC_BLOCK) != block)
     return;
 
   h = msymbol_hash (name) % HASH_SIZE;
@@ -5563,11 +5593,43 @@ ada_lookup_symbol (const char *name, con
 }
 
 static struct symbol *
-ada_lookup_symbol_nonlocal (const char *name,
+ada_lookup_symbol_nonlocal (const struct language_defn *langdef,
+			    const char *name,
                             const struct block *block,
                             const domain_enum domain)
 {
-  return ada_lookup_symbol (name, block_static_block (block), domain, NULL);
+  struct symbol *sym;
+
+  sym = ada_lookup_symbol (name, block_static_block (block), domain, NULL);
+  if (sym != NULL)
+    return sym;
+
+  /* If we haven't found a match at this point, try the primitive
+     types.  In other languages, this search is performed before
+     searching for global symbols in order to short-circuit that
+     global-symbol search if it happens that the name corresponds
+     to a primitive type.  But we cannot do the same in Ada, because
+     it is perfectly legitimate for a program to declare a type which
+     has the same name as a standard type.  If looking up a type in
+     that situation, we have traditionally ignored the primitive type
+     in favor of user-defined types.  This is why, unlike most other
+     languages, we search the primitive types this late and only after
+     having searched the global symbols without success.  */
+
+  if (domain == VAR_DOMAIN)
+    {
+      struct gdbarch *gdbarch;
+
+      if (block == NULL)
+	gdbarch = target_gdbarch ();
+      else
+	gdbarch = block_gdbarch (block);
+      sym = language_lookup_primitive_type_as_symbol (langdef, gdbarch, name);
+      if (sym != NULL)
+	return sym;
+    }
+
+  return NULL;
 }
 
 
@@ -6129,10 +6191,10 @@ ada_make_symbol_completion_list (const c
   int encoded_p;
   VEC(char_ptr) *completions = VEC_alloc (char_ptr, 128);
   struct symbol *sym;
-  struct symtab *s;
+  struct compunit_symtab *s;
   struct minimal_symbol *msymbol;
   struct objfile *objfile;
-  struct block *b, *surrounding_static_block = 0;
+  const struct block *b, *surrounding_static_block = 0;
   int i;
   struct block_iterator iter;
   struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
@@ -6210,10 +6272,10 @@ ada_make_symbol_completion_list (const c
   /* Go through the symtabs and check the externs and statics for
      symbols which match.  */
 
-  ALL_SYMTABS (objfile, s)
+  ALL_COMPUNITS (objfile, s)
   {
     QUIT;
-    b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK);
+    b = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (s), GLOBAL_BLOCK);
     ALL_BLOCK_SYMBOLS (b, iter, sym)
     {
       symbol_completion_add (&completions, SYMBOL_LINKAGE_NAME (sym),
@@ -6222,10 +6284,10 @@ ada_make_symbol_completion_list (const c
     }
   }
 
-  ALL_SYMTABS (objfile, s)
+  ALL_COMPUNITS (objfile, s)
   {
     QUIT;
-    b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK);
+    b = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (s), STATIC_BLOCK);
     /* Don't do this block twice.  */
     if (b == surrounding_static_block)
       continue;
@@ -7893,7 +7955,7 @@ ada_template_to_fixed_record_type_1 (str
 		 initialized, the type size may be completely bogus and
 		 GDB may fail to allocate a value for it.  So check the
 		 size first before creating the value.  */
-	      check_size (rtype);
+	      ada_ensure_varsize_limit (rtype);
 	      /* Using plain value_from_contents_and_address here
 		 causes problems because we will end up trying to
 		 resolve a type that is currently being
@@ -7941,7 +8003,7 @@ ada_template_to_fixed_record_type_1 (str
 	     large (due to an uninitialized variable in the inferior)
 	     that it would cause an overflow when adding it to the
 	     record size.  */
-	  check_size (field_type);
+	  ada_ensure_varsize_limit (field_type);
 
 	  TYPE_FIELD_TYPE (rtype, f) = field_type;
           TYPE_FIELD_NAME (rtype, f) = TYPE_FIELD_NAME (type, f);
@@ -8293,6 +8355,79 @@ to_fixed_variant_branch_type (struct typ
     return TYPE_FIELD_TYPE (var_type, which);
 }
 
+/* Assuming RANGE_TYPE is a TYPE_CODE_RANGE, return nonzero if
+   ENCODING_TYPE, a type following the GNAT conventions for discrete
+   type encodings, only carries redundant information.  */
+
+static int
+ada_is_redundant_range_encoding (struct type *range_type,
+				 struct type *encoding_type)
+{
+  struct type *fixed_range_type;
+  char *bounds_str;
+  int n;
+  LONGEST lo, hi;
+
+  gdb_assert (TYPE_CODE (range_type) == TYPE_CODE_RANGE);
+
+  if (TYPE_CODE (get_base_type (range_type))
+      != TYPE_CODE (get_base_type (encoding_type)))
+    {
+      /* The compiler probably used a simple base type to describe
+	 the range type instead of the range's actual base type,
+	 expecting us to get the real base type from the encoding
+	 anyway.  In this situation, the encoding cannot be ignored
+	 as redundant.  */
+      return 0;
+    }
+
+  if (is_dynamic_type (range_type))
+    return 0;
+
+  if (TYPE_NAME (encoding_type) == NULL)
+    return 0;
+
+  bounds_str = strstr (TYPE_NAME (encoding_type), "___XDLU_");
+  if (bounds_str == NULL)
+    return 0;
+
+  n = 8; /* Skip "___XDLU_".  */
+  if (!ada_scan_number (bounds_str, n, &lo, &n))
+    return 0;
+  if (TYPE_LOW_BOUND (range_type) != lo)
+    return 0;
+
+  n += 2; /* Skip the "__" separator between the two bounds.  */
+  if (!ada_scan_number (bounds_str, n, &hi, &n))
+    return 0;
+  if (TYPE_HIGH_BOUND (range_type) != hi)
+    return 0;
+
+  return 1;
+}
+
+/* Given the array type ARRAY_TYPE, return nonzero if DESC_TYPE,
+   a type following the GNAT encoding for describing array type
+   indices, only carries redundant information.  */
+
+static int
+ada_is_redundant_index_type_desc (struct type *array_type,
+				  struct type *desc_type)
+{
+  struct type *this_layer = check_typedef (array_type);
+  int i;
+
+  for (i = 0; i < TYPE_NFIELDS (desc_type); i++)
+    {
+      if (!ada_is_redundant_range_encoding (TYPE_INDEX_TYPE (this_layer),
+					    TYPE_FIELD_TYPE (desc_type, i)))
+	return 0;
+      this_layer = check_typedef (TYPE_TARGET_TYPE (this_layer));
+    }
+
+  return 1;
+}
+
 /* Assuming that TYPE0 is an array type describing the type of a value
    at ADDR, and that DVAL describes a record containing any
    discriminants used in TYPE0, returns a type for the value that
@@ -8319,6 +8454,17 @@ to_fixed_array_type (struct type *type0,
 
   index_type_desc = ada_find_parallel_type (type0, "___XA");
   ada_fixup_array_indexes_type (index_type_desc);
+  if (index_type_desc != NULL
+      && ada_is_redundant_index_type_desc (type0, index_type_desc))
+    {
+      /* Ignore this ___XA parallel type, as it does not bring any
+	 useful information.  This allows us to avoid creating fixed
+	 versions of the array's index types, which would be identical
+	 to the original ones.  This, in turn, can also help avoid
+	 the creation of fixed versions of the array itself.  */
+      index_type_desc = NULL;
+    }
+
   if (index_type_desc == NULL)
     {
       struct type *elt_type0 = ada_check_typedef (TYPE_TARGET_TYPE (type0));
@@ -10000,6 +10146,10 @@ ada_evaluate_subexp (struct type *expect
         return (value_from_longest
                  (value_type (arg1),
                   value_as_long (arg1) + value_as_long (arg2)));
+      if (TYPE_CODE (value_type (arg2)) == TYPE_CODE_PTR)
+        return (value_from_longest
+                 (value_type (arg2),
+                  value_as_long (arg1) + value_as_long (arg2)));
       if ((ada_is_fixed_point_type (value_type (arg1))
            || ada_is_fixed_point_type (value_type (arg2)))
           && value_type (arg1) != value_type (arg2))
@@ -10022,6 +10172,10 @@ ada_evaluate_subexp (struct type *expect
         return (value_from_longest
                  (value_type (arg1),
                   value_as_long (arg1) - value_as_long (arg2)));
+      if (TYPE_CODE (value_type (arg2)) == TYPE_CODE_PTR)
+        return (value_from_longest
+                 (value_type (arg2),
+                  value_as_long (arg1) - value_as_long (arg2)));
       if ((ada_is_fixed_point_type (value_type (arg1))
            || ada_is_fixed_point_type (value_type (arg2)))
           && value_type (arg1) != value_type (arg2))
@@ -10123,13 +10277,15 @@ ada_evaluate_subexp (struct type *expect
           *pos += 4;
           goto nosideret;
         }
-      else if (SYMBOL_DOMAIN (exp->elts[pc + 2].symbol) == UNDEF_DOMAIN)
+
+      if (SYMBOL_DOMAIN (exp->elts[pc + 2].symbol) == UNDEF_DOMAIN)
         /* Only encountered when an unresolved symbol occurs in a
            context other than a function call, in which case, it is
            invalid.  */
         error (_("Unexpected unresolved symbol, %s, during evaluation"),
                SYMBOL_PRINT_NAME (exp->elts[pc + 2].symbol));
-      else if (noside == EVAL_AVOID_SIDE_EFFECTS)
+
+      if (noside == EVAL_AVOID_SIDE_EFFECTS)
         {
           type = static_unwrap_type (SYMBOL_TYPE (exp->elts[pc + 2].symbol));
           /* Check to see if this is a tagged type.  We also need to handle
@@ -10140,60 +10296,72 @@ ada_evaluate_subexp (struct type *expect
           if (ada_is_tagged_type (type, 0)
               || (TYPE_CODE (type) == TYPE_CODE_REF
                   && ada_is_tagged_type (TYPE_TARGET_TYPE (type), 0)))
-          {
-            /* Tagged types are a little special in the fact that the real
-               type is dynamic and can only be determined by inspecting the
-               object's tag.  This means that we need to get the object's
-               value first (EVAL_NORMAL) and then extract the actual object
-               type from its tag.
-
-               Note that we cannot skip the final step where we extract
-               the object type from its tag, because the EVAL_NORMAL phase
-               results in dynamic components being resolved into fixed ones.
-               This can cause problems when trying to print the type
-               description of tagged types whose parent has a dynamic size:
-               We use the type name of the "_parent" component in order
-               to print the name of the ancestor type in the type description.
-               If that component had a dynamic size, the resolution into
-               a fixed type would result in the loss of that type name,
-               thus preventing us from printing the name of the ancestor
-               type in the type description.  */
-            arg1 = evaluate_subexp (NULL_TYPE, exp, pos, EVAL_NORMAL);
+	    {
+	      /* Tagged types are a little special in the fact that the real
+		 type is dynamic and can only be determined by inspecting the
+		 object's tag.  This means that we need to get the object's
+		 value first (EVAL_NORMAL) and then extract the actual object
+		 type from its tag.
+
+		 Note that we cannot skip the final step where we extract
+		 the object type from its tag, because the EVAL_NORMAL phase
+		 results in dynamic components being resolved into fixed ones.
+		 This can cause problems when trying to print the type
+		 description of tagged types whose parent has a dynamic size:
+		 We use the type name of the "_parent" component in order
+		 to print the name of the ancestor type in the type description.
+		 If that component had a dynamic size, the resolution into
+		 a fixed type would result in the loss of that type name,
+		 thus preventing us from printing the name of the ancestor
+		 type in the type description.  */
+	      arg1 = evaluate_subexp (NULL_TYPE, exp, pos, EVAL_NORMAL);
 
-	    if (TYPE_CODE (type) != TYPE_CODE_REF)
-	      {
-		struct type *actual_type;
+	      if (TYPE_CODE (type) != TYPE_CODE_REF)
+		{
+		  struct type *actual_type;
 
-		actual_type = type_from_tag (ada_value_tag (arg1));
-		if (actual_type == NULL)
-		  /* If, for some reason, we were unable to determine
-		     the actual type from the tag, then use the static
-		     approximation that we just computed as a fallback.
-		     This can happen if the debugging information is
-		     incomplete, for instance.  */
-		  actual_type = type;
-		return value_zero (actual_type, not_lval);
-	      }
-	    else
-	      {
-		/* In the case of a ref, ada_coerce_ref takes care
-		   of determining the actual type.  But the evaluation
-		   should return a ref as it should be valid to ask
-		   for its address; so rebuild a ref after coerce.  */
-		arg1 = ada_coerce_ref (arg1);
-		return value_ref (arg1);
-	      }
-          }
+		  actual_type = type_from_tag (ada_value_tag (arg1));
+		  if (actual_type == NULL)
+		    /* If, for some reason, we were unable to determine
+		       the actual type from the tag, then use the static
+		       approximation that we just computed as a fallback.
+		       This can happen if the debugging information is
+		       incomplete, for instance.  */
+		    actual_type = type;
+		  return value_zero (actual_type, not_lval);
+		}
+	      else
+		{
+		  /* In the case of a ref, ada_coerce_ref takes care
+		     of determining the actual type.  But the evaluation
+		     should return a ref as it should be valid to ask
+		     for its address; so rebuild a ref after coerce.  */
+		  arg1 = ada_coerce_ref (arg1);
+		  return value_ref (arg1);
+		}
+	    }
 
-          *pos += 4;
-          return value_zero (to_static_fixed_type (type), not_lval);
-        }
-      else
-        {
-          arg1 = evaluate_subexp_standard (expect_type, exp, pos, noside);
-          return ada_to_fixed_value (arg1);
+	  /* Records and unions for which GNAT encodings have been
+	     generated need to be statically fixed as well.
+	     Otherwise, non-static fixing produces a type where
+	     all dynamic properties are removed, which prevents "ptype"
+	     from being able to completely describe the type.
+	     For instance, a case statement in a variant record would be
+	     replaced by the relevant components based on the actual
+	     value of the discriminants.  */
+	  if ((TYPE_CODE (type) == TYPE_CODE_STRUCT
+	       && dynamic_template_type (type) != NULL)
+	      || (TYPE_CODE (type) == TYPE_CODE_UNION
+		  && ada_find_parallel_type (type, "___XVU") != NULL))
+	    {
+	      *pos += 4;
+	      return value_zero (to_static_fixed_type (type), not_lval);
+	    }
         }
 
+      arg1 = evaluate_subexp_standard (expect_type, exp, pos, noside);
+      return ada_to_fixed_value (arg1);
+
     case OP_FUNCALL:
       (*pos) += 2;
 
@@ -10313,9 +10481,9 @@ ada_evaluate_subexp (struct type *expect
                           (ada_coerce_to_simple_array (argvec[0]),
                            nargs, argvec + 1));
         case TYPE_CODE_PTR:     /* Pointer to array */
-          type = to_fixed_array_type (TYPE_TARGET_TYPE (type), NULL, 1);
           if (noside == EVAL_AVOID_SIDE_EFFECTS)
             {
+	      type = to_fixed_array_type (TYPE_TARGET_TYPE (type), NULL, 1);
               type = ada_array_element_type (type, nargs);
               if (type == NULL)
                 error (_("element type of array unknown"));
@@ -10323,8 +10491,8 @@ ada_evaluate_subexp (struct type *expect
                 return value_zero (ada_aligned_type (type), lval_memory);
             }
           return
-            unwrap_value (ada_value_ptr_subscript (argvec[0], type,
-                                                   nargs, argvec + 1));
+            unwrap_value (ada_value_ptr_subscript (argvec[0],
+						   nargs, argvec + 1));
 
         default:
           error (_("Attempt to index or call something other than an "
@@ -10777,7 +10945,7 @@ ada_evaluate_subexp (struct type *expect
 		    (ada_aligned_type
 		     (ada_check_typedef (TYPE_TARGET_TYPE (type))));
 		}
-	      check_size (type);
+	      ada_ensure_varsize_limit (type);
               return value_zero (type, lval_memory);
             }
           else if (TYPE_CODE (type) == TYPE_CODE_INT)
@@ -11496,8 +11664,8 @@ is_known_support_routine (struct frame_i
       re_comp (known_runtime_file_name_patterns[i]);
       if (re_exec (lbasename (sal.symtab->filename)))
         return 1;
-      if (sal.symtab->objfile != NULL
-          && re_exec (objfile_name (sal.symtab->objfile)))
+      if (SYMTAB_OBJFILE (sal.symtab) != NULL
+          && re_exec (objfile_name (SYMTAB_OBJFILE (sal.symtab))))
         return 1;
     }
 
@@ -12757,7 +12925,7 @@ static void
 ada_add_exceptions_from_frame (regex_t *preg, struct frame_info *frame,
 			       VEC(ada_exc_info) **exceptions)
 {
-  struct block *block = get_frame_block (frame, 0);
+  const struct block *block = get_frame_block (frame, 0);
 
   while (block != 0)
     {
@@ -12811,14 +12979,14 @@ static void
 ada_add_global_exceptions (regex_t *preg, VEC(ada_exc_info) **exceptions)
 {
   struct objfile *objfile;
-  struct symtab *s;
+  struct compunit_symtab *s;
 
   expand_symtabs_matching (NULL, ada_exc_search_name_matches,
 			   VARIABLES_DOMAIN, preg);
 
-  ALL_PRIMARY_SYMTABS (objfile, s)
+  ALL_COMPUNITS (objfile, s)
     {
-      struct blockvector *bv = BLOCKVECTOR (s);
+      const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (s);
       int i;
 
       for (i = GLOBAL_BLOCK; i <= STATIC_BLOCK; i++)
@@ -13443,7 +13611,7 @@ ada_get_symbol_name_cmp (const char *loo
 static struct value *
 ada_read_var_value (struct symbol *var, struct frame_info *frame)
 {
-  struct block *frame_block = NULL;
+  const struct block *frame_block = NULL;
   struct symbol *renaming_sym = NULL;
 
   /* The only case where default_read_var_value is not sufficient
@@ -13500,6 +13668,8 @@ const struct language_defn ada_language_
   ada_get_symbol_name_cmp,	/* la_get_symbol_name_cmp */
   ada_iterate_over_symbols,
   &ada_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
@@ -13517,7 +13687,7 @@ set_ada_command (char *arg, int from_tty
 {
   printf_unfiltered (_(\
 "\"set ada\" must be followed by the name of a setting.\n"));
-  help_list (set_ada_list, "set ada ", -1, gdb_stdout);
+  help_list (set_ada_list, "set ada ", all_commands, gdb_stdout);
 }
 
 /* Implement the "show ada" prefix command.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-lang.h ./gdb/ada-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-lang.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ada-lang.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ada language support definitions for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -34,11 +34,7 @@ struct parser_state;
    system and that might consider (confusing) debugging information.
    Each name (a basic regular expression string) is followed by a
    comma.  FIXME: Should be part of a configuration file.  */
-#if defined(__alpha__) && defined(__osf__)
-#define ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS \
-   "^[agis]-.*\\.ad[bs]$", \
-   "/usr/shlib/libpthread\\.so",
-#elif defined (__linux__)
+#if defined (__linux__)
 #define ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS \
    "^[agis]-.*\\.ad[bs]$", \
    "/lib.*/libpthread\\.so[.0-9]*$", "/lib.*/libpthread\\.a$", \
@@ -166,6 +162,8 @@ struct ada_task_info
 
 extern void *grow_vect (void *, size_t *, size_t, int);
 
+extern void ada_ensure_varsize_limit (const struct type *type);
+
 extern int ada_get_field_index (const struct type *type,
                                 const char *field_name,
                                 int maybe_missing);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-lex.c ./gdb/ada-lex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-lex.c	2015-01-13 02:06:40.000000000 +0000
+++ ./gdb/ada-lex.c	2015-01-20 02:09:33.000000000 +0000
@@ -811,7 +811,7 @@ int yy_flex_debug = 0;
 char *yytext;
 #line 1 "ada-lex.l"
 /* FLEX lexer for Ada expressions, for GDB.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -2532,8 +2532,6 @@ void yyfree (void * ptr )
 
 
 #include <ctype.h>
-#include <string.h>
-
 /* Initialize the lexer for processing new expression. */
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-lex.l ./gdb/ada-lex.l
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-lex.l	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ada-lex.l	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* FLEX lexer for Ada expressions, for GDB.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -291,8 +291,6 @@ false		{ return FALSEKEYWORD; }
 %%
 
 #include <ctype.h>
-#include <string.h>
-
 /* Initialize the lexer for processing new expression. */
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-operator.def ./gdb/ada-operator.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-operator.def	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ada-operator.def	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ada language operator definitions for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-tasks.c ./gdb/ada-tasks.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-tasks.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ada-tasks.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -292,7 +292,7 @@ int
 ada_get_task_number (ptid_t ptid)
 {
   int i;
-  struct inferior *inf = find_inferior_pid (ptid_get_pid (ptid));
+  struct inferior *inf = find_inferior_ptid (ptid);
   struct ada_tasks_inferior_data *data;
 
   gdb_assert (inf != NULL);
@@ -1025,7 +1025,7 @@ print_ada_task_info (struct ui_out *uiou
        take a --thread argument.  However, in order to be able to
        provide that thread ID, the thread list must be up to date
        first.  */
-    target_find_new_threads ();
+    target_update_thread_list ();
 
   data = get_ada_tasks_inferior_data (inf);
 
@@ -1291,7 +1291,7 @@ task_command_1 (char *taskno_str, int fr
      to the thread associated to our task if GDB does not know about
      that thread, we need to make sure that any new threads gets added
      to the thread list.  */
-  target_find_new_threads ();
+  target_update_thread_list ();
 
   /* Verify that the ptid of the task we want to switch to is valid
      (in other words, a ptid that GDB knows about).  Otherwise, we will
@@ -1449,4 +1449,3 @@ _initialize_tasks (void)
 Without argument, this command simply prints the current task ID"),
            &cmdlist);
 }
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-typeprint.c ./gdb/ada-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-typeprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ada-typeprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for printing Ada types for GDB, the GNU debugger.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,10 +32,7 @@
 #include "c-lang.h"
 #include "typeprint.h"
 #include "ada-lang.h"
-
 #include <ctype.h>
-#include <string.h>
-#include <errno.h>
 
 static int print_selected_record_field_types (struct type *, struct type *,
 					      int, int,
@@ -118,6 +115,9 @@ type_is_full_subrange_of_target_type (st
   if (subtype == NULL)
     return 0;
 
+  if (is_dynamic_type (type))
+    return 0;
+
   if (ada_discrete_type_low_bound (type)
       != ada_discrete_type_low_bound (subtype))
     return 0;
@@ -159,15 +159,33 @@ print_range (struct type *type, struct u
     case TYPE_CODE_ENUM:
       {
 	struct type *target_type;
+	volatile struct gdb_exception e;
+	LONGEST lo = 0, hi = 0; /* init for gcc -Wall */
 
 	target_type = TYPE_TARGET_TYPE (type);
 	if (target_type == NULL)
 	  target_type = type;
-	ada_print_scalar (target_type, ada_discrete_type_low_bound (type),
-			  stream);
-	fprintf_filtered (stream, " .. ");
-	ada_print_scalar (target_type, ada_discrete_type_high_bound (type),
-			  stream);
+
+	TRY_CATCH (e, RETURN_MASK_ERROR)
+	  {
+	    lo = ada_discrete_type_low_bound (type);
+	    hi = ada_discrete_type_high_bound (type);
+	  }
+	if (e.reason < 0)
+	  {
+	    /* This can happen when the range is dynamic.  Sometimes,
+	       resolving dynamic property values requires us to have
+	       access to an actual object, which is not available
+	       when the user is using the "ptype" command on a type.
+	       Print the range as an unbounded range.  */
+	    fprintf_filtered (stream, "<>");
+	  }
+	else
+	  {
+	    ada_print_scalar (target_type, lo, stream);
+	    fprintf_filtered (stream, " .. ");
+	    ada_print_scalar (target_type, hi, stream);
+	  }
       }
       break;
     default:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-valprint.c ./gdb/ada-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-valprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ada-valprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing Ada values for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include <ctype.h>
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "expression.h"
@@ -31,7 +30,6 @@
 #include "ada-lang.h"
 #include "c-lang.h"
 #include "infcall.h"
-#include "exceptions.h"
 #include "objfiles.h"
 
 static int print_field_values (struct type *, const gdb_byte *,
@@ -186,9 +184,9 @@ val_print_packed_array_elements (struct 
 					       (i * bitsize) / HOST_CHAR_BIT,
 					       (i * bitsize) % HOST_CHAR_BIT,
 					       bitsize, elttype);
-	  if (!value_available_contents_eq (v0, value_embedded_offset (v0),
-					    v1, value_embedded_offset (v1),
-					    eltlen))
+	  if (!value_contents_eq (v0, value_embedded_offset (v0),
+				  v1, value_embedded_offset (v1),
+				  eltlen))
 	    break;
 	}
 
@@ -1057,6 +1055,12 @@ ada_val_print_ref (struct type *type, co
   if (ada_is_tagged_type (value_type (deref_val), 1))
     deref_val = ada_tag_value_at_base_address (deref_val);
 
+  /* Make sure that the object does not have an unreasonable size
+     before trying to print it.  This can happen for instance with
+     references to dynamic objects whose contents is uninitialized
+     (Eg: an array whose bounds are not set yet).  */
+  ada_ensure_varsize_limit (value_type (deref_val));
+
   val_print (value_type (deref_val),
 	     value_contents_for_printing (deref_val),
 	     value_embedded_offset (deref_val),
@@ -1172,7 +1176,7 @@ ada_value_print (struct value *val0, str
 {
   struct value *val = ada_to_fixed_value (val0);
   CORE_ADDR address = value_address (val);
-  struct type *type = ada_check_typedef (value_type (val));
+  struct type *type = ada_check_typedef (value_enclosing_type (val));
   struct value_print_options opts;
 
   /* If it is a pointer, indicate what it points to.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-varobj.c ./gdb/ada-varobj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ada-varobj.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ada-varobj.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* varobj support for Ada.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -1026,5 +1026,6 @@ const struct lang_varobj_ops ada_varobj_
   ada_type_of_child,
   ada_value_of_variable,
   ada_value_is_changeable_p,
-  ada_value_has_mutated
+  ada_value_has_mutated,
+  varobj_default_is_path_expr_parent
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/addrmap.c ./gdb/addrmap.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/addrmap.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/addrmap.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* addrmap.c --- implementation of address map data structure.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,14 +18,9 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-
-#include <stdlib.h>
-
 #include "splay-tree.h"
 #include "gdb_obstack.h"
 #include "addrmap.h"
-#include "gdb_assert.h"
-
 
 
 /* The "abstract class".  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/addrmap.h ./gdb/addrmap.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/addrmap.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/addrmap.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* addrmap.h --- interface to address map data structure.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/agent.c ./gdb/agent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/agent.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/agent.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aix-thread.c ./gdb/aix-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/aix-thread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/aix-thread.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low level interface for debugging AIX 4.3+ pthreads.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Nick Duffek <nsd@redhat.com>.
 
    This file is part of GDB.
@@ -40,14 +40,12 @@
      */
 
 #include "defs.h"
-#include "gdb_assert.h"
 #include "gdbthread.h"
 #include "target.h"
 #include "inferior.h"
 #include "regcache.h"
 #include "gdbcmd.h"
 #include "ppc-tdep.h"
-#include <string.h>
 #include "observer.h"
 #include "objfiles.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphabsd-nat.c ./gdb/alphabsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphabsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alphabsd-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for Alpha BSD's.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphabsd-tdep.c ./gdb/alphabsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphabsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alphabsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common target dependent code Alpha BSD's.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphabsd-tdep.h ./gdb/alphabsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphabsd-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alphabsd-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common target dependent code for Alpha BSD's.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,10 +31,10 @@ void alphabsd_fill_fpreg (const struct r
 
 /* Functions exported from alphanbsd-tdep.c.  */
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
-extern const struct regset *
-  alphanbsd_regset_from_core_section (struct gdbarch *gdbarch,
-				      const char *sect_name, size_t len);
+/* Iterate over supported core file register note sections. */
+void alphanbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					     iterate_over_regset_sections_cb *cb,
+					     void *cb_data,
+					     const struct regcache *regcache);
 
 #endif /* alphabsd-tdep.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphafbsd-tdep.c ./gdb/alphafbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphafbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alphafbsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for FreeBSD/alpha.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -93,6 +93,11 @@ alphafbsd_init_abi (struct gdbarch_info 
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  /* FIXME: Should activate generic FreeBSD support here with
+     fbsd_init_abi(), but this requires a valid
+     'iterate_over_regset_sections' gdbarch method and
+     'collect_regset' functions for each regset.  */
+
   /* Hook into the DWARF CFI frame unwinder.  */
   alpha_dwarf2_init_abi (info, gdbarch);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-linux-nat.c ./gdb/alpha-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alpha-linux-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Low level Alpha GNU/Linux interface, for GDB when running native.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-linux-tdep.c ./gdb/alpha-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alpha-linux-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target-dependent code for GNU/Linux on Alpha.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,8 +18,6 @@
 
 #include "defs.h"
 #include "frame.h"
-#include "gdb_assert.h"
-#include <string.h>
 #include "osabi.h"
 #include "solib-svr4.h"
 #include "symtab.h"
@@ -166,21 +164,27 @@ alpha_linux_supply_gregset (const struct
 			    int regnum, const void *gregs, size_t len)
 {
   const gdb_byte *regs = gregs;
-  int i;
+
   gdb_assert (len >= 32 * 8);
+  alpha_supply_int_regs (regcache, regnum, regs, regs + 31 * 8,
+			 len >= 33 * 8 ? regs + 32 * 8 : NULL);
+}
 
-  for (i = 0; i < ALPHA_ZERO_REGNUM; i++)
-    {
-      if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + i * 8);
-    }
+/* Collect register REGNUM from the register cache REGCACHE and store
+   it in the buffer specified by GREGS and LEN as described by the
+   general-purpose register set REGSET.  If REGNUM is -1, do this for
+   all registers in REGSET.  */
 
-  if (regnum == ALPHA_PC_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, ALPHA_PC_REGNUM, regs + 31 * 8);
+static void
+alpha_linux_collect_gregset (const struct regset *regset,
+			     const struct regcache *regcache,
+			     int regnum, void *gregs, size_t len)
+{
+  gdb_byte *regs = gregs;
 
-  if (regnum == ALPHA_UNIQUE_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, ALPHA_UNIQUE_REGNUM,
-			 len >= 33 * 8 ? regs + 32 * 8 : NULL);
+  gdb_assert (len >= 32 * 8);
+  alpha_fill_int_regs (regcache, regnum, regs, regs + 31 * 8,
+		       len >= 33 * 8 ? regs + 32 * 8 : NULL);
 }
 
 /* Supply register REGNUM from the buffer specified by FPREGS and LEN
@@ -193,45 +197,49 @@ alpha_linux_supply_fpregset (const struc
 			     int regnum, const void *fpregs, size_t len)
 {
   const gdb_byte *regs = fpregs;
-  int i;
+
   gdb_assert (len >= 32 * 8);
+  alpha_supply_fp_regs (regcache, regnum, regs, regs + 31 * 8);
+}
 
-  for (i = ALPHA_FP0_REGNUM; i < ALPHA_FP0_REGNUM + 31; i++)
-    {
-      if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + (i - ALPHA_FP0_REGNUM) * 8);
-    }
+/* Collect register REGNUM from the register cache REGCACHE and store
+   it in the buffer specified by FPREGS and LEN as described by the
+   general-purpose register set REGSET.  If REGNUM is -1, do this for
+   all registers in REGSET.  */
+
+static void
+alpha_linux_collect_fpregset (const struct regset *regset,
+			      const struct regcache *regcache,
+			      int regnum, void *fpregs, size_t len)
+{
+  gdb_byte *regs = fpregs;
 
-  if (regnum == ALPHA_FPCR_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, ALPHA_FPCR_REGNUM, regs + 31 * 8);
+  gdb_assert (len >= 32 * 8);
+  alpha_fill_fp_regs (regcache, regnum, regs, regs + 31 * 8);
 }
 
 static const struct regset alpha_linux_gregset =
 {
   NULL,
-  alpha_linux_supply_gregset
+  alpha_linux_supply_gregset, alpha_linux_collect_gregset
 };
 
 static const struct regset alpha_linux_fpregset =
 {
   NULL,
-  alpha_linux_supply_fpregset
+  alpha_linux_supply_fpregset, alpha_linux_collect_fpregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-alpha_linux_regset_from_core_section (struct gdbarch *gdbarch,
-				      const char *sect_name, size_t sect_size)
+static void
+alpha_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					  iterate_over_regset_sections_cb *cb,
+					  void *cb_data,
+					  const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= 32 * 8)
-    return &alpha_linux_gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size >= 32 * 8)
-    return &alpha_linux_fpregset;
-
-  return NULL;
+  cb (".reg", 32 * 8, &alpha_linux_gregset, NULL, cb_data);
+  cb (".reg2", 32 * 8, &alpha_linux_fpregset, NULL, cb_data);
 }
 
 /* Implementation of `gdbarch_gdb_signal_from_target', as defined in
@@ -371,8 +379,8 @@ alpha_linux_init_abi (struct gdbarch_inf
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
                                              svr4_fetch_objfile_link_map);
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, alpha_linux_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, alpha_linux_iterate_over_regset_sections);
 
   set_gdbarch_gdb_signal_from_target (gdbarch,
 				      alpha_linux_gdb_signal_from_target);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-mdebug-tdep.c ./gdb/alpha-mdebug-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-mdebug-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alpha-mdebug-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target-dependent mdebug code for the ALPHA architecture.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,8 +23,6 @@
 #include "symtab.h"
 #include "gdbcore.h"
 #include "block.h"
-#include "gdb_assert.h"
-#include <string.h>
 #include "trad-frame.h"
 
 #include "alpha-tdep.h"
@@ -93,7 +91,7 @@
 static struct mdebug_extra_func_info *
 find_proc_desc (CORE_ADDR pc)
 {
-  struct block *b = block_for_pc (pc);
+  const struct block *b = block_for_pc (pc);
   struct mdebug_extra_func_info *proc_desc = NULL;
   struct symbol *sym = NULL;
   const char *sh_name = NULL;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-nat.c ./gdb/alpha-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alpha-nat.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,211 +0,0 @@
-/* Low level Alpha interface, for GDB when running native.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include <string.h>
-#include "inferior.h"
-#include "gdbcore.h"
-#include "target.h"
-#include "procfs.h"
-#include "regcache.h"
-
-#include "alpha-tdep.h"
-
-#include <sys/ptrace.h>
-#include <alpha/coreregs.h>
-#include <sys/user.h>
-
-
-/* Extract the register values out of the core file and store
-   them into REGCACHE.
-
-   CORE_REG_SECT points to the register values themselves, read into memory.
-   CORE_REG_SIZE is the size of that area.
-   WHICH says which set of registers we are handling (0 = int, 2 = float
-   on machines where they are discontiguous).
-   REG_ADDR is the offset from u.u_ar0 to the register values relative to
-   core_reg_sect.  This is used with old-fashioned core files to
-   locate the registers in a large upage-plus-stack ".reg" section.
-   Original upage address X is at location core_reg_sect+x+reg_addr.  */
-
-static void
-fetch_osf_core_registers (struct regcache *regcache,
-			  char *core_reg_sect, unsigned core_reg_size,
-			  int which, CORE_ADDR reg_addr)
-{
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  int regno;
-  int addr;
-  int bad_reg = -1;
-
-  /* Table to map a gdb regnum to an index in the core register
-     section.  The floating point register values are garbage in
-     OSF/1.2 core files.  OSF5 uses different names for the register
-     enum list, need to handle two cases.  The actual values are the
-     same.  */
-  static int const core_reg_mapping[ALPHA_NUM_REGS] =
-  {
-#ifdef NCF_REGS
-#define EFL NCF_REGS
-    CF_V0, CF_T0, CF_T1, CF_T2, CF_T3, CF_T4, CF_T5, CF_T6,
-    CF_T7, CF_S0, CF_S1, CF_S2, CF_S3, CF_S4, CF_S5, CF_S6,
-    CF_A0, CF_A1, CF_A2, CF_A3, CF_A4, CF_A5, CF_T8, CF_T9,
-    CF_T10, CF_T11, CF_RA, CF_T12, CF_AT, CF_GP, CF_SP, -1,
-    EFL + 0, EFL + 1, EFL + 2, EFL + 3,
-    EFL + 4, EFL + 5, EFL + 6, EFL + 7,
-    EFL + 8, EFL + 9, EFL + 10, EFL + 11,
-    EFL + 12, EFL + 13, EFL + 14, EFL + 15,
-    EFL + 16, EFL + 17, EFL + 18, EFL + 19,
-    EFL + 20, EFL + 21, EFL + 22, EFL + 23,
-    EFL + 24, EFL + 25, EFL + 26, EFL + 27,
-    EFL + 28, EFL + 29, EFL + 30, EFL + 31,
-    CF_PC, -1, -1
-#else
-#define EFL (EF_SIZE / 8)
-    EF_V0, EF_T0, EF_T1, EF_T2, EF_T3, EF_T4, EF_T5, EF_T6,
-    EF_T7, EF_S0, EF_S1, EF_S2, EF_S3, EF_S4, EF_S5, EF_S6,
-    EF_A0, EF_A1, EF_A2, EF_A3, EF_A4, EF_A5, EF_T8, EF_T9,
-    EF_T10, EF_T11, EF_RA, EF_T12, EF_AT, EF_GP, EF_SP, -1,
-    EFL + 0, EFL + 1, EFL + 2, EFL + 3,
-    EFL + 4, EFL + 5, EFL + 6, EFL + 7,
-    EFL + 8, EFL + 9, EFL + 10, EFL + 11,
-    EFL + 12, EFL + 13, EFL + 14, EFL + 15,
-    EFL + 16, EFL + 17, EFL + 18, EFL + 19,
-    EFL + 20, EFL + 21, EFL + 22, EFL + 23,
-    EFL + 24, EFL + 25, EFL + 26, EFL + 27,
-    EFL + 28, EFL + 29, EFL + 30, EFL + 31,
-    EF_PC, -1, -1
-#endif
-  };
-
-  for (regno = 0; regno < ALPHA_NUM_REGS; regno++)
-    {
-      if (gdbarch_cannot_fetch_register (gdbarch, regno))
-	{
-	  regcache_raw_supply (regcache, regno, NULL);
-	  continue;
-	}
-
-      if (regno == ALPHA_ZERO_REGNUM)
-	{
-	  const gdb_byte zero[8] = { 0 };
-
-	  regcache_raw_supply (regcache, regno, zero);
-	  continue;
-	}
-
-      addr = 8 * core_reg_mapping[regno];
-      if (addr < 0 || addr >= core_reg_size)
-	{
-	  /* ??? UNIQUE is a new addition.  Don't generate an error.  */
-	  if (regno == ALPHA_UNIQUE_REGNUM)
-	    {
-	      regcache_raw_supply (regcache, regno, NULL);
-	      continue;
-	    }
-	  if (bad_reg < 0)
-	    bad_reg = regno;
-	}
-      else
-	{
-	  regcache_raw_supply (regcache, regno, core_reg_sect + addr);
-	}
-    }
-  if (bad_reg >= 0)
-    {
-      error (_("Register %s not found in core file."),
-	     gdbarch_register_name (gdbarch, bad_reg));
-    }
-}
-
-
-#include <sys/procfs.h>
-/* Prototypes for supply_gregset etc.  */
-#include "gregset.h"
-
-/* See the comment in m68k-tdep.c regarding the utility of these
-   functions.  */
-
-void
-supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregsetp)
-{
-  const long *regp = gregsetp->regs;
-
-  /* PC is in slot 32.  */
-  alpha_supply_int_regs (regcache, -1, regp, regp + 31, NULL);
-}
-
-void
-fill_gregset (const struct regcache *regcache,
-	      gdb_gregset_t *gregsetp, int regno)
-{
-  long *regp = gregsetp->regs;
-
-  /* PC is in slot 32.  */
-  alpha_fill_int_regs (regcache, regno, regp, regp + 31, NULL);
-}
-
-/* Now we do the same thing for floating-point registers.
-   Again, see the comments in m68k-tdep.c.  */
-
-void
-supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
-{
-  const long *regp = fpregsetp->regs;
-
-  /* FPCR is in slot 32.  */
-  alpha_supply_fp_regs (regcache, -1, regp, regp + 31);
-}
-
-void
-fill_fpregset (const struct regcache *regcache,
-	       gdb_fpregset_t *fpregsetp, int regno)
-{
-  long *regp = fpregsetp->regs;
-
-  /* FPCR is in slot 32.  */
-  alpha_fill_fp_regs (regcache, regno, regp, regp + 31);
-}
-
-
-/* Register that we are able to handle alpha core file formats.  */
-
-static struct core_fns alpha_osf_core_fns =
-{
-  /* This really is bfd_target_unknown_flavour.  */
-
-  bfd_target_unknown_flavour,		/* core_flavour */
-  default_check_format,			/* check_format */
-  default_core_sniffer,			/* core_sniffer */
-  fetch_osf_core_registers,		/* core_read_registers */
-  NULL					/* next */
-};
-
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-extern initialize_file_ftype _initialize_alpha_nat;
-
-void
-_initialize_alpha_nat (void)
-{
-  struct target_ops *t;
-
-  t = procfs_target ();
-  add_target (t);
-
-  deprecated_add_core_fns (&alpha_osf_core_fns);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphanbsd-tdep.c ./gdb/alphanbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphanbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alphanbsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/alpha.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Wasabi Systems, Inc.
 
@@ -27,9 +27,6 @@
 #include "regset.h"
 #include "value.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "alpha-tdep.h"
 #include "alphabsd-tdep.h"
 #include "nbsd-tdep.h"
@@ -76,30 +73,6 @@ alphanbsd_supply_fpregset (const struct 
    REGCACHE.  If REGNUM is -1, do this for all registers in REGSET.  */
 
 static void
-alphanbsd_supply_gregset (const struct regset *regset,
-			  struct regcache *regcache,
-			  int regnum, const void *gregs, size_t len)
-{
-  const gdb_byte *regs = gregs;
-  int i;
-
-  gdb_assert (len >= ALPHANBSD_SIZEOF_GREGS);
-
-  for (i = 0; i < ALPHA_ZERO_REGNUM; i++)
-    {
-      if (regnum == i || regnum == -1)
-	regcache_raw_supply (regcache, i, regs + i * 8);
-    }
-
-  if (regnum == ALPHA_PC_REGNUM || regnum == -1)
-    regcache_raw_supply (regcache, ALPHA_PC_REGNUM, regs + 31 * 8);
-}
-
-/* Supply register REGNUM from the buffer specified by GREGS and LEN
-   in the general-purpose register set REGSET to register cache
-   REGCACHE.  If REGNUM is -1, do this for all registers in REGSET.  */
-
-static void
 alphanbsd_aout_supply_gregset (const struct regset *regset,
 			       struct regcache *regcache,
 			       int regnum, const void *gregs, size_t len)
@@ -139,6 +112,34 @@ alphanbsd_aout_supply_gregset (const str
     }
 }
 
+/* Supply register REGNUM from the buffer specified by GREGS and LEN
+   in the general-purpose register set REGSET to register cache
+   REGCACHE.  If REGNUM is -1, do this for all registers in REGSET.  */
+
+static void
+alphanbsd_supply_gregset (const struct regset *regset,
+			  struct regcache *regcache,
+			  int regnum, const void *gregs, size_t len)
+{
+  const gdb_byte *regs = gregs;
+  int i;
+
+  if (len >= ALPHANBSD_SIZEOF_GREGS + ALPHANBSD_SIZEOF_FPREGS)
+    {
+      alphanbsd_aout_supply_gregset (regset, regcache, regnum, gregs, len);
+      return;
+    }
+
+  for (i = 0; i < ALPHA_ZERO_REGNUM; i++)
+    {
+      if (regnum == i || regnum == -1)
+	regcache_raw_supply (regcache, i, regs + i * 8);
+    }
+
+  if (regnum == ALPHA_PC_REGNUM || regnum == -1)
+    regcache_raw_supply (regcache, ALPHA_PC_REGNUM, regs + 31 * 8);
+}
+
 /* NetBSD/alpha register sets.  */
 
 static const struct regset alphanbsd_gregset =
@@ -153,31 +154,16 @@ static const struct regset alphanbsd_fpr
   alphanbsd_supply_fpregset
 };
 
-static const struct regset alphanbsd_aout_gregset =
-{
-  NULL,
-  alphanbsd_aout_supply_gregset
-};
-
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over supported core file register note sections. */
 
-const struct regset *
-alphanbsd_regset_from_core_section (struct gdbarch *gdbarch,
-				    const char *sect_name, size_t sect_size)
+void
+alphanbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					iterate_over_regset_sections_cb *cb,
+					void *cb_data,
+					const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= ALPHANBSD_SIZEOF_GREGS)
-    {
-      if (sect_size >= ALPHANBSD_SIZEOF_GREGS + ALPHANBSD_SIZEOF_FPREGS)
-	return &alphanbsd_aout_gregset;
-      else
-	return &alphanbsd_gregset;
-    }
-
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size >= ALPHANBSD_SIZEOF_FPREGS)
-    return &alphanbsd_fpregset;
-
-  return NULL;
+  cb (".reg", ALPHANBSD_SIZEOF_GREGS, &alphanbsd_gregset, NULL, cb_data);
+  cb (".reg2", ALPHANBSD_SIZEOF_FPREGS, &alphanbsd_fpregset, NULL, cb_data);
 }
 
 
@@ -286,8 +272,8 @@ alphanbsd_init_abi (struct gdbarch_info 
   tdep->jb_pc = 2;
   tdep->jb_elt_size = 8;
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, alphanbsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, alphanbsd_iterate_over_regset_sections);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphaobsd-tdep.c ./gdb/alphaobsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alphaobsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alphaobsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/alpha.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -121,8 +121,8 @@ alphaobsd_init_abi(struct gdbarch_info i
   tdep->jb_pc = 2;
   tdep->jb_elt_size = 8;
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, alphanbsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, alphanbsd_iterate_over_regset_sections);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-osf1-tdep.c ./gdb/alpha-osf1-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-osf1-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alpha-osf1-tdep.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,79 +0,0 @@
-/* Target-dependent code for OSF/1 on Alpha.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "frame.h"
-#include "gdbcore.h"
-#include "value.h"
-#include "osabi.h"
-#include <string.h>
-#include "objfiles.h"
-
-#include "alpha-tdep.h"
-
-static int
-alpha_osf1_pc_in_sigtramp (struct gdbarch *gdbarch,
-			   CORE_ADDR pc, const char *func_name)
-{
-  return (func_name != NULL && strcmp ("__sigtramp", func_name) == 0);
-}
-
-static CORE_ADDR
-alpha_osf1_sigcontext_addr (struct frame_info *this_frame)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  struct frame_info *next_frame = get_next_frame (this_frame);
-  struct frame_id next_id = null_frame_id;
-  
-  if (next_frame != NULL)
-    next_id = get_frame_id (next_frame);
-
-  return (read_memory_integer (next_id.stack_addr, 8, byte_order));
-}
-
-static void
-alpha_osf1_init_abi (struct gdbarch_info info,
-                     struct gdbarch *gdbarch)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  /* Hook into the MDEBUG frame unwinder.  */
-  alpha_mdebug_init_abi (info, gdbarch);
-
-  /* The next/step support via procfs on OSF1 is broken when running
-     on multi-processor machines.  We need to use software single
-     stepping instead.  */
-  set_gdbarch_software_single_step (gdbarch, alpha_software_single_step);
-
-  tdep->sigcontext_addr = alpha_osf1_sigcontext_addr;
-  tdep->pc_in_sigtramp = alpha_osf1_pc_in_sigtramp;
-
-  tdep->jb_pc = 2;
-  tdep->jb_elt_size = 8;
-}
-
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-extern initialize_file_ftype _initialize_alpha_osf1_tdep;
-
-void
-_initialize_alpha_osf1_tdep (void)
-{
-  gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_OSF1,
-			  alpha_osf1_init_abi);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-tdep.c ./gdb/alpha-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alpha-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the ALPHA architecture, for GDB, the GNU Debugger.
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,7 +31,6 @@
 #include "dis-asm.h"
 #include "symfile.h"
 #include "objfiles.h"
-#include <string.h>
 #include "linespec.h"
 #include "regcache.h"
 #include "reggroups.h"
@@ -1750,14 +1749,6 @@ alpha_gdbarch_init (struct gdbarch_info 
   struct gdbarch_tdep *tdep;
   struct gdbarch *gdbarch;
 
-  /* Try to determine the ABI of the object we are loading.  */
-  if (info.abfd != NULL && info.osabi == GDB_OSABI_UNKNOWN)
-    {
-      /* If it's an ECOFF file, assume it's OSF/1.  */
-      if (bfd_get_flavour (info.abfd) == bfd_target_ecoff_flavour)
-	info.osabi = GDB_OSABI_OSF1;
-    }
-
   /* Find a candidate among extant architectures.  */
   arches = gdbarch_list_lookup_by_info (arches, &info);
   if (arches != NULL)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-tdep.h ./gdb/alpha-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/alpha-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/alpha-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common target dependent code for GDB on Alpha systems.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64bsd-nat.c ./gdb/amd64bsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64bsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64bsd-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for AMD64 BSD's.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,7 +24,6 @@
 
 /* We include <signal.h> to make sure `struct fxsave64' is defined on
    NetBSD, since NetBSD's <machine/reg.h> needs it.  */
-#include "gdb_assert.h"
 #include <signal.h>
 #include <sys/types.h>
 #include <sys/ptrace.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64bsd-nat.h ./gdb/amd64bsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64bsd-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64bsd-nat.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for AMD64 BSD's.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-darwin-tdep.c ./gdb/amd64-darwin-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-darwin-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-darwin-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Darwin support for GDB, the GNU debugger.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    Contributed by Apple Computer, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-darwin-tdep.h ./gdb/amd64-darwin-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-darwin-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-darwin-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Darwin x86-64.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-dicos-tdep.c ./gdb/amd64-dicos-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-dicos-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-dicos-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for DICOS running on x86-64's, for GDB.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "osabi.h"
-#include <string.h>
 #include "amd64-tdep.h"
 #include "dicos-tdep.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64fbsd-nat.c ./gdb/amd64fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64fbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64fbsd-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for FreeBSD/amd64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,9 +22,7 @@
 #include "regcache.h"
 #include "target.h"
 
-#include "gdb_assert.h"
 #include <signal.h>
-#include <stddef.h>
 #include <sys/types.h>
 #include <sys/ptrace.h>
 #include <sys/sysctl.h>
@@ -34,7 +32,7 @@
 #include "amd64-tdep.h"
 #include "amd64-nat.h"
 #include "amd64bsd-nat.h"
-#include "i386-nat.h"
+#include "x86-nat.h"
 
 
 /* Offset in `struct reg' where MEMBER is stored.  */
@@ -147,7 +145,7 @@ static void
 amd64fbsd_mourn_inferior (struct target_ops *ops)
 {
 #ifdef HAVE_PT_GETDBREGS
-  i386_cleanup_dregs ();
+  x86_cleanup_dregs ();
 #endif
   super_mourn_inferior (ops);
 }
@@ -169,14 +167,14 @@ _initialize_amd64fbsd_nat (void)
 
 #ifdef HAVE_PT_GETDBREGS
 
-  i386_use_watchpoints (t);
+  x86_use_watchpoints (t);
 
-  i386_dr_low.set_control = amd64bsd_dr_set_control;
-  i386_dr_low.set_addr = amd64bsd_dr_set_addr;
-  i386_dr_low.get_addr = amd64bsd_dr_get_addr;
-  i386_dr_low.get_status = amd64bsd_dr_get_status;
-  i386_dr_low.get_control = amd64bsd_dr_get_control;
-  i386_set_debug_register_length (8);
+  x86_dr_low.set_control = amd64bsd_dr_set_control;
+  x86_dr_low.set_addr = amd64bsd_dr_set_addr;
+  x86_dr_low.get_addr = amd64bsd_dr_get_addr;
+  x86_dr_low.get_status = amd64bsd_dr_get_status;
+  x86_dr_low.get_control = amd64bsd_dr_get_control;
+  x86_set_debug_register_length (8);
 
 #endif /* HAVE_PT_GETDBREGS */
 
@@ -185,7 +183,6 @@ _initialize_amd64fbsd_nat (void)
 
   t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
   t->to_find_memory_regions = fbsd_find_memory_regions;
-  t->to_make_corefile_notes = fbsd_make_corefile_notes;
   add_target (t);
 
   /* Support debugging kernel virtual memory images.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64fbsd-tdep.c ./gdb/amd64fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64fbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64fbsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for FreeBSD/amd64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,11 +24,9 @@
 #include "regcache.h"
 #include "osabi.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "amd64-tdep.h"
 #include "bsd-uthread.h"
+#include "fbsd-tdep.h"
 #include "solib-svr4.h"
 
 /* Support for signal handlers.  */
@@ -185,6 +183,9 @@ amd64fbsd_init_abi (struct gdbarch_info 
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  /* Generic FreeBSD support. */
+  fbsd_init_abi (info, gdbarch);
+
   /* Obviously FreeBSD is BSD-based.  */
   i386bsd_init_abi (info, gdbarch);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-linux-nat.c ./gdb/amd64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-linux-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for GNU/Linux x86-64.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Contributed by Jiri Smid, SuSE Labs.
 
    This file is part of GDB.
@@ -20,62 +20,23 @@
 
 #include "defs.h"
 #include "inferior.h"
-#include "gdbcore.h"
 #include "regcache.h"
-#include "regset.h"
-#include "linux-nat.h"
-#include "amd64-linux-tdep.h"
-#include "linux-btrace.h"
-#include "btrace.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include "elf/common.h"
 #include <sys/uio.h>
 #include <sys/ptrace.h>
-#include <sys/debugreg.h>
-#include <sys/syscall.h>
-#include <sys/procfs.h>
-#include <sys/user.h>
 #include <asm/prctl.h>
-/* FIXME ezannoni-2003-07-09: we need <sys/reg.h> to be included after
-   <asm/ptrace.h> because the latter redefines FS and GS for no apparent
-   reason, and those definitions don't match the ones that libpthread_db
-   uses, which come from <sys/reg.h>.  */
-/* ezannoni-2003-07-09: I think this is fixed.  The extraneous defs have
-   been removed from ptrace.h in the kernel.  However, better safe than
-   sorry.  */
-#include <asm/ptrace.h>
 #include <sys/reg.h>
-#include "gdb_proc_service.h"
-
-/* Prototypes for supply_gregset etc.  */
 #include "gregset.h"
+#include "gdb_proc_service.h"
 
+#include "amd64-nat.h"
+#include "linux-nat.h"
 #include "amd64-tdep.h"
+#include "amd64-linux-tdep.h"
 #include "i386-linux-tdep.h"
-#include "amd64-nat.h"
-#include "i386-nat.h"
-#include "i386-xstate.h"
+#include "x86-xstate.h"
 
-#ifndef PTRACE_GETREGSET
-#define PTRACE_GETREGSET	0x4204
-#endif
-
-#ifndef PTRACE_SETREGSET
-#define PTRACE_SETREGSET	0x4205
-#endif
-
-/* Per-thread arch-specific data we want to keep.  */
-
-struct arch_lwp_info
-{
-  /* Non-zero if our copy differs from what's recorded in the thread.  */
-  int debug_registers_changed;
-};
-
-/* Does the current host support PTRACE_GETREGSET?  */
-static int have_ptrace_getregset = -1;
+#include "x86-linux-nat.h"
 
 /* Mapping between the general-purpose registers in GNU/Linux x86-64
    `struct user' format and GDB's register cache layout for GNU/Linux
@@ -190,7 +151,7 @@ amd64_linux_fetch_inferior_registers (st
 
       if (have_ptrace_getregset)
 	{
-	  char xstateregs[I386_XSTATE_MAX_SIZE];
+	  char xstateregs[X86_XSTATE_MAX_SIZE];
 	  struct iovec iov;
 
 	  iov.iov_base = xstateregs;
@@ -249,7 +210,7 @@ amd64_linux_store_inferior_registers (st
 
       if (have_ptrace_getregset)
 	{
-	  char xstateregs[I386_XSTATE_MAX_SIZE];
+	  char xstateregs[X86_XSTATE_MAX_SIZE];
 	  struct iovec iov;
 
 	  iov.iov_base = xstateregs;
@@ -277,218 +238,6 @@ amd64_linux_store_inferior_registers (st
     }
 }
 
-/* Support for debug registers.  */
-
-static unsigned long
-amd64_linux_dr_get (ptid_t ptid, int regnum)
-{
-  int tid;
-  unsigned long value;
-
-  tid = ptid_get_lwp (ptid);
-  if (tid == 0)
-    tid = ptid_get_pid (ptid);
-
-  errno = 0;
-  value = ptrace (PTRACE_PEEKUSER, tid,
-		  offsetof (struct user, u_debugreg[regnum]), 0);
-  if (errno != 0)
-    perror_with_name (_("Couldn't read debug register"));
-
-  return value;
-}
-
-/* Set debug register REGNUM to VALUE in only the one LWP of PTID.  */
-
-static void
-amd64_linux_dr_set (ptid_t ptid, int regnum, unsigned long value)
-{
-  int tid;
-
-  tid = ptid_get_lwp (ptid);
-  if (tid == 0)
-    tid = ptid_get_pid (ptid);
-
-  errno = 0;
-  ptrace (PTRACE_POKEUSER, tid,
-	  offsetof (struct user, u_debugreg[regnum]), value);
-  if (errno != 0)
-    perror_with_name (_("Couldn't write debug register"));
-}
-
-/* Return the inferior's debug register REGNUM.  */
-
-static CORE_ADDR
-amd64_linux_dr_get_addr (int regnum)
-{
-  /* DR6 and DR7 are retrieved with some other way.  */
-  gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
-
-  return amd64_linux_dr_get (inferior_ptid, regnum);
-}
-
-/* Return the inferior's DR7 debug control register.  */
-
-static unsigned long
-amd64_linux_dr_get_control (void)
-{
-  return amd64_linux_dr_get (inferior_ptid, DR_CONTROL);
-}
-
-/* Get DR_STATUS from only the one LWP of INFERIOR_PTID.  */
-
-static unsigned long
-amd64_linux_dr_get_status (void)
-{
-  return amd64_linux_dr_get (inferior_ptid, DR_STATUS);
-}
-
-/* Callback for iterate_over_lwps.  Update the debug registers of
-   LWP.  */
-
-static int
-update_debug_registers_callback (struct lwp_info *lwp, void *arg)
-{
-  if (lwp->arch_private == NULL)
-    lwp->arch_private = XCNEW (struct arch_lwp_info);
-
-  /* The actual update is done later just before resuming the lwp, we
-     just mark that the registers need updating.  */
-  lwp->arch_private->debug_registers_changed = 1;
-
-  /* If the lwp isn't stopped, force it to momentarily pause, so we
-     can update its debug registers.  */
-  if (!lwp->stopped)
-    linux_stop_lwp (lwp);
-
-  /* Continue the iteration.  */
-  return 0;
-}
-
-/* Set DR_CONTROL to CONTROL in all LWPs of the current inferior.  */
-
-static void
-amd64_linux_dr_set_control (unsigned long control)
-{
-  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
-
-  iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL);
-}
-
-/* Set address REGNUM (zero based) to ADDR in all LWPs of the current
-   inferior.  */
-
-static void
-amd64_linux_dr_set_addr (int regnum, CORE_ADDR addr)
-{
-  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
-
-  gdb_assert (regnum >= 0 && regnum <= DR_LASTADDR - DR_FIRSTADDR);
-
-  iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL);
-}
-
-/* Called when resuming a thread.
-   If the debug regs have changed, update the thread's copies.  */
-
-static void
-amd64_linux_prepare_to_resume (struct lwp_info *lwp)
-{
-  int clear_status = 0;
-
-  /* NULL means this is the main thread still going through the shell,
-     or, no watchpoint has been set yet.  In that case, there's
-     nothing to do.  */
-  if (lwp->arch_private == NULL)
-    return;
-
-  if (lwp->arch_private->debug_registers_changed)
-    {
-      struct i386_debug_reg_state *state
-	= i386_debug_reg_state (ptid_get_pid (lwp->ptid));
-      int i;
-
-      /* On Linux kernel before 2.6.33 commit
-	 72f674d203cd230426437cdcf7dd6f681dad8b0d
-	 if you enable a breakpoint by the DR_CONTROL bits you need to have
-	 already written the corresponding DR_FIRSTADDR...DR_LASTADDR registers.
-
-	 Ensure DR_CONTROL gets written as the very last register here.  */
-
-      /* Clear DR_CONTROL first.  In some cases, setting DR0-3 to a
-	 value that doesn't match what is enabled in DR_CONTROL
-	 results in EINVAL.  */
-      amd64_linux_dr_set (lwp->ptid, DR_CONTROL, 0);
-
-      for (i = DR_FIRSTADDR; i <= DR_LASTADDR; i++)
-	if (state->dr_ref_count[i] > 0)
-	  {
-	    amd64_linux_dr_set (lwp->ptid, i, state->dr_mirror[i]);
-
-	    /* If we're setting a watchpoint, any change the inferior
-	       had done itself to the debug registers needs to be
-	       discarded, otherwise, i386_stopped_data_address can get
-	       confused.  */
-	    clear_status = 1;
-	  }
-
-      /* If DR_CONTROL is supposed to be zero, we've already set it
-	 above.  */
-      if (state->dr_control_mirror != 0)
-	amd64_linux_dr_set (lwp->ptid, DR_CONTROL, state->dr_control_mirror);
-
-      lwp->arch_private->debug_registers_changed = 0;
-    }
-
-  if (clear_status || lwp->stopped_by_watchpoint)
-    amd64_linux_dr_set (lwp->ptid, DR_STATUS, 0);
-}
-
-static void
-amd64_linux_new_thread (struct lwp_info *lp)
-{
-  struct arch_lwp_info *info = XCNEW (struct arch_lwp_info);
-
-  info->debug_registers_changed = 1;
-
-  lp->arch_private = info;
-}
-
-/* linux_nat_new_fork hook.   */
-
-static void
-amd64_linux_new_fork (struct lwp_info *parent, pid_t child_pid)
-{
-  pid_t parent_pid;
-  struct i386_debug_reg_state *parent_state;
-  struct i386_debug_reg_state *child_state;
-
-  /* NULL means no watchpoint has ever been set in the parent.  In
-     that case, there's nothing to do.  */
-  if (parent->arch_private == NULL)
-    return;
-
-  /* Linux kernel before 2.6.33 commit
-     72f674d203cd230426437cdcf7dd6f681dad8b0d
-     will inherit hardware debug registers from parent
-     on fork/vfork/clone.  Newer Linux kernels create such tasks with
-     zeroed debug registers.
-
-     GDB core assumes the child inherits the watchpoints/hw
-     breakpoints of the parent, and will remove them all from the
-     forked off process.  Copy the debug registers mirrors into the
-     new process so that all breakpoints and watchpoints can be
-     removed together.  The debug registers mirror will become zeroed
-     in the end before detaching the forked off process, thus making
-     this compatible with older Linux kernels too.  */
-
-  parent_pid = ptid_get_pid (parent->ptid);
-  parent_state = i386_debug_reg_state (parent_pid);
-  child_state = i386_debug_reg_state (child_pid);
-  *child_state = *parent_state;
-}
-
-
 
 /* This function is called by libthread_db as part of its handling of
    a request for a thread's local storage address.  */
@@ -499,26 +248,18 @@ ps_get_thread_area (const struct ps_proc
 {
   if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32)
     {
-      /* The full structure is found in <asm-i386/ldt.h>.  The second
-	 integer is the LDT's base_address and that is used to locate
-	 the thread's local storage.  See i386-linux-nat.c more
-	 info.  */
-      unsigned int desc[4];
-
-      /* This code assumes that "int" is 32 bits and that
-	 GET_THREAD_AREA returns no more than 4 int values.  */
-      gdb_assert (sizeof (int) == 4);	
-#ifndef PTRACE_GET_THREAD_AREA
-#define PTRACE_GET_THREAD_AREA 25
-#endif
-      if  (ptrace (PTRACE_GET_THREAD_AREA, 
-		   lwpid, (void *) (long) idx, (unsigned long) &desc) < 0)
-	return PS_ERR;
-      
-      /* Extend the value to 64 bits.  Here it's assumed that a "long"
-	 and a "void *" are the same.  */
-      (*base) = (void *) (long) desc[1];
-      return PS_OK;
+      unsigned int base_addr;
+      ps_err_e result;
+
+      result = x86_linux_get_thread_area (lwpid, (void *) (long) idx,
+					  &base_addr);
+      if (result == PS_OK)
+	{
+	  /* Extend the value to 64 bits.  Here it's assumed that
+	     a "long" and a "void *" are the same.  */
+	  (*base) = (void *) (long) base_addr;
+	}
+      return result;
     }
   else
     {
@@ -578,17 +319,6 @@ ps_get_thread_area (const struct ps_proc
 }
 
 
-static void (*super_post_startup_inferior) (struct target_ops *self,
-					    ptid_t ptid);
-
-static void
-amd64_linux_child_post_startup_inferior (struct target_ops *self, ptid_t ptid)
-{
-  i386_cleanup_dregs ();
-  super_post_startup_inferior (self, ptid);
-}
-
-
 /* When GDB is built as a 64-bit application on linux, the
    PTRACE_GETSIGINFO data is always presented in 64-bit layout.  Since
    debugging a 32-bit inferior with a 64-bit GDB should look the same
@@ -1033,193 +763,7 @@ amd64_linux_siginfo_fixup (siginfo_t *na
   else
     return 0;
 }
-
-/* Get Linux/x86 target description from running target.
-
-   Value of CS segment register:
-     1. 64bit process: 0x33.
-     2. 32bit process: 0x23.
-
-   Value of DS segment register:
-     1. LP64 process: 0x0.
-     2. X32 process: 0x2b.
- */
-
-#define AMD64_LINUX_USER64_CS	0x33
-#define AMD64_LINUX_X32_DS	0x2b
-
-static const struct target_desc *
-amd64_linux_read_description (struct target_ops *ops)
-{
-  unsigned long cs;
-  unsigned long ds;
-  int tid;
-  int is_64bit;
-  int is_x32;
-  static uint64_t xcr0;
-
-  /* GNU/Linux LWP ID's are process ID's.  */
-  tid = ptid_get_lwp (inferior_ptid);
-  if (tid == 0)
-    tid = ptid_get_pid (inferior_ptid); /* Not a threaded program.  */
-
-  /* Get CS register.  */
-  errno = 0;
-  cs = ptrace (PTRACE_PEEKUSER, tid,
-	       offsetof (struct user_regs_struct, cs), 0);
-  if (errno != 0)
-    perror_with_name (_("Couldn't get CS register"));
-
-  is_64bit = cs == AMD64_LINUX_USER64_CS;
-
-  /* Get DS register.  */
-  errno = 0;
-  ds = ptrace (PTRACE_PEEKUSER, tid,
-	       offsetof (struct user_regs_struct, ds), 0);
-  if (errno != 0)
-    perror_with_name (_("Couldn't get DS register"));
-
-  is_x32 = ds == AMD64_LINUX_X32_DS;
-
-  if (sizeof (void *) == 4 && is_64bit && !is_x32)
-    error (_("Can't debug 64-bit process with 32-bit GDB"));
-
-  if (have_ptrace_getregset == -1)
-    {
-      uint64_t xstateregs[(I386_XSTATE_SSE_SIZE / sizeof (uint64_t))];
-      struct iovec iov;
-
-      iov.iov_base = xstateregs;
-      iov.iov_len = sizeof (xstateregs);
-
-      /* Check if PTRACE_GETREGSET works.  */
-      if (ptrace (PTRACE_GETREGSET, tid,
-		  (unsigned int) NT_X86_XSTATE, (long) &iov) < 0)
-	have_ptrace_getregset = 0;
-      else
-	{
-	  have_ptrace_getregset = 1;
-
-	  /* Get XCR0 from XSAVE extended state.  */
-	  xcr0 = xstateregs[(I386_LINUX_XSAVE_XCR0_OFFSET
-			     / sizeof (uint64_t))];
-	}
-    }
-
-  /* Check the native XCR0 only if PTRACE_GETREGSET is available.  */
-  if (have_ptrace_getregset && (xcr0 & I386_XSTATE_ALL_MASK))
-    {
-      switch (xcr0 & I386_XSTATE_ALL_MASK)
-	{
-      case I386_XSTATE_MPX_AVX512_MASK:
-      case I386_XSTATE_AVX512_MASK:
-	if (is_64bit)
-	  {
-	    if (is_x32)
-	      return tdesc_x32_avx512_linux;
-	    else
-	      return tdesc_amd64_avx512_linux;
-	  }
-	else
-	  return tdesc_i386_avx512_linux;
-	case I386_XSTATE_MPX_MASK:
-	  if (is_64bit)
-	    {
-	      if (is_x32)
-		return tdesc_x32_avx_linux; /* No MPX on x32 using AVX.  */
-	      else
-		return tdesc_amd64_mpx_linux;
-	    }
-	  else
-	    return tdesc_i386_mpx_linux;
-	case I386_XSTATE_AVX_MASK:
-	  if (is_64bit)
-	    {
-	      if (is_x32)
-		return tdesc_x32_avx_linux;
-	      else
-		return tdesc_amd64_avx_linux;
-	    }
-	  else
-	    return tdesc_i386_avx_linux;
-	default:
-	  if (is_64bit)
-	    {
-	      if (is_x32)
-		return tdesc_x32_linux;
-	      else
-		return tdesc_amd64_linux;
-	    }
-	  else
-	    return tdesc_i386_linux;
-	}
-    }
-  else
-    {
-      if (is_64bit)
-	{
-	  if (is_x32)
-	    return tdesc_x32_linux;
-	  else
-	    return tdesc_amd64_linux;
-	}
-      else
-	return tdesc_i386_linux;
-    }
-}
-
-/* Enable branch tracing.  */
-
-static struct btrace_target_info *
-amd64_linux_enable_btrace (struct target_ops *self, ptid_t ptid)
-{
-  struct btrace_target_info *tinfo;
-  struct gdbarch *gdbarch;
-
-  errno = 0;
-  tinfo = linux_enable_btrace (ptid);
-
-  if (tinfo == NULL)
-    error (_("Could not enable branch tracing for %s: %s."),
-	   target_pid_to_str (ptid), safe_strerror (errno));
-
-  /* Fill in the size of a pointer in bits.  */
-  gdbarch = target_thread_architecture (ptid);
-  tinfo->ptr_bits = gdbarch_ptr_bit (gdbarch);
-
-  return tinfo;
-}
-
-/* Disable branch tracing.  */
-
-static void
-amd64_linux_disable_btrace (struct target_ops *self,
-			    struct btrace_target_info *tinfo)
-{
-  enum btrace_error errcode = linux_disable_btrace (tinfo);
-
-  if (errcode != BTRACE_ERR_NONE)
-    error (_("Could not disable branch tracing."));
-}
-
-/* Teardown branch tracing.  */
-
-static void
-amd64_linux_teardown_btrace (struct target_ops *self,
-			     struct btrace_target_info *tinfo)
-{
-  /* Ignore errors.  */
-  linux_disable_btrace (tinfo);
-}
-
-static enum btrace_error
-amd64_linux_read_btrace (struct target_ops *self,
-			 VEC (btrace_block_s) **data,
-			 struct btrace_target_info *btinfo,
-			 enum btrace_read_type type)
-{
-  return linux_read_btrace (data, btinfo, type);
-}
+
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 void _initialize_amd64_linux_nat (void);
@@ -1237,40 +781,16 @@ _initialize_amd64_linux_nat (void)
   gdb_assert (ARRAY_SIZE (amd64_linux_gregset32_reg_offset)
 	      == amd64_native_gregset32_num_regs);
 
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  i386_use_watchpoints (t);
-
-  i386_dr_low.set_control = amd64_linux_dr_set_control;
-  i386_dr_low.set_addr = amd64_linux_dr_set_addr;
-  i386_dr_low.get_addr = amd64_linux_dr_get_addr;
-  i386_dr_low.get_status = amd64_linux_dr_get_status;
-  i386_dr_low.get_control = amd64_linux_dr_get_control;
-  i386_set_debug_register_length (8);
-
-  /* Override the GNU/Linux inferior startup hook.  */
-  super_post_startup_inferior = t->to_post_startup_inferior;
-  t->to_post_startup_inferior = amd64_linux_child_post_startup_inferior;
+  /* Create a generic x86 GNU/Linux target.  */
+  t = x86_linux_create_target ();
 
   /* Add our register access methods.  */
   t->to_fetch_registers = amd64_linux_fetch_inferior_registers;
   t->to_store_registers = amd64_linux_store_inferior_registers;
 
-  t->to_read_description = amd64_linux_read_description;
+  /* Add the target.  */
+  x86_linux_add_target (t);
 
-  /* Add btrace methods.  */
-  t->to_supports_btrace = linux_supports_btrace;
-  t->to_enable_btrace = amd64_linux_enable_btrace;
-  t->to_disable_btrace = amd64_linux_disable_btrace;
-  t->to_teardown_btrace = amd64_linux_teardown_btrace;
-  t->to_read_btrace = amd64_linux_read_btrace;
-
-  /* Register the target.  */
-  linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, amd64_linux_new_thread);
-  linux_nat_set_new_fork (t, amd64_linux_new_fork);
-  linux_nat_set_forget_process (t, i386_forget_process);
+  /* Add our siginfo layout converter.  */
   linux_nat_set_siginfo_fixup (t, amd64_linux_siginfo_fixup);
-  linux_nat_set_prepare_to_resume (t, amd64_linux_prepare_to_resume);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-linux-tdep.c ./gdb/amd64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-linux-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux x86-64.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Contributed by Jiri Smid, SuSE Labs.
 
    This file is part of GDB.
@@ -31,9 +31,7 @@
 #include "amd64-linux-tdep.h"
 #include "i386-linux-tdep.h"
 #include "linux-tdep.h"
-#include "i386-xstate.h"
-
-#include <string.h>
+#include "x86-xstate.h"
 
 #include "amd64-tdep.h"
 #include "solib-svr4.h"
@@ -55,15 +53,6 @@
 #include "record-full.h"
 #include "linux-record.h"
 
-/* Supported register note sections.  */
-static struct core_regset_section amd64_linux_regset_sections[] =
-{
-  { ".reg", 27 * 8, "general-purpose" },
-  { ".reg2", 512, "floating-point" },
-  { ".reg-xstate", I386_XSTATE_MAX_SIZE, "XSAVE extended state" },
-  { NULL, 0 }
-};
-
 /* Mapping between the general-purpose registers in `struct user'
    format and GDB's register cache layout.  */
 
@@ -1585,20 +1574,20 @@ amd64_linux_core_read_description (struc
   /* Linux/x86-64.  */
   uint64_t xcr0 = i386_linux_core_read_xcr0 (abfd);
 
-  switch (xcr0 & I386_XSTATE_ALL_MASK)
+  switch (xcr0 & X86_XSTATE_ALL_MASK)
     {
-    case I386_XSTATE_MPX_AVX512_MASK:
-    case I386_XSTATE_AVX512_MASK:
+    case X86_XSTATE_MPX_AVX512_MASK:
+    case X86_XSTATE_AVX512_MASK:
       if (gdbarch_ptr_bit (gdbarch) == 32)
 	return tdesc_x32_avx512_linux;
       else
 	return tdesc_amd64_avx512_linux;
-    case I386_XSTATE_MPX_MASK:
+    case X86_XSTATE_MPX_MASK:
       if (gdbarch_ptr_bit (gdbarch) == 32)
 	return tdesc_x32_avx_linux;  /* No x32 MPX falling back to AVX.  */
       else
 	return tdesc_amd64_mpx_linux;
-    case I386_XSTATE_AVX_MASK:
+    case X86_XSTATE_AVX_MASK:
       if (gdbarch_ptr_bit (gdbarch) == 32)
 	return tdesc_x32_avx_linux;
       else
@@ -1611,6 +1600,49 @@ amd64_linux_core_read_description (struc
     }
 }
 
+/* Similar to amd64_supply_fpregset, but use XSAVE extended state.  */
+
+static void
+amd64_linux_supply_xstateregset (const struct regset *regset,
+				 struct regcache *regcache, int regnum,
+				 const void *xstateregs, size_t len)
+{
+  amd64_supply_xsave (regcache, regnum, xstateregs);
+}
+
+/* Similar to amd64_collect_fpregset, but use XSAVE extended state.  */
+
+static void
+amd64_linux_collect_xstateregset (const struct regset *regset,
+				  const struct regcache *regcache,
+				  int regnum, void *xstateregs, size_t len)
+{
+  amd64_collect_xsave (regcache, regnum, xstateregs, 1);
+}
+
+static const struct regset amd64_linux_xstateregset =
+  {
+    NULL,
+    amd64_linux_supply_xstateregset,
+    amd64_linux_collect_xstateregset
+  };
+
+/* Iterate over core file register note sections.  */
+
+static void
+amd64_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					  iterate_over_regset_sections_cb *cb,
+					  void *cb_data,
+					  const struct regcache *regcache)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  cb (".reg", 27 * 8, &i386_gregset, NULL, cb_data);
+  cb (".reg2", 512, &amd64_fpregset, NULL, cb_data);
+  cb (".reg-xstate",  regcache ? X86_XSTATE_MAX_SIZE : 0,
+      &amd64_linux_xstateregset, "XSAVE extended state", cb_data);
+}
+
 static void
 amd64_linux_init_abi_common(struct gdbarch_info info, struct gdbarch *gdbarch)
 {
@@ -1631,7 +1663,7 @@ amd64_linux_init_abi_common(struct gdbar
   tdep->register_reggroup_p = amd64_linux_register_reggroup_p;
 
   /* Functions for 'catch syscall'.  */
-  set_xml_syscall_file_name (XML_SYSCALL_FILENAME_AMD64);
+  set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_AMD64);
   set_gdbarch_get_syscall_number (gdbarch,
                                   amd64_linux_get_syscall_number);
 
@@ -1645,8 +1677,9 @@ amd64_linux_init_abi_common(struct gdbar
   /* GNU/Linux uses the dynamic linker included in the GNU C Library.  */
   set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
 
-  /* Install supported register note sections.  */
-  set_gdbarch_core_regset_sections (gdbarch, amd64_linux_regset_sections);
+  /* Iterate over core file register note sections.  */
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, amd64_linux_iterate_over_regset_sections);
 
   set_gdbarch_core_read_description (gdbarch,
 				     amd64_linux_core_read_description);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-linux-tdep.h ./gdb/amd64-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-linux-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-linux-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux AMD64.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-nat.c ./gdb/amd64-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for AMD64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,9 +21,6 @@
 #include "gdbarch.h"
 #include "regcache.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "i386-tdep.h"
 #include "amd64-tdep.h"
 #include "amd64-nat.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-nat.h ./gdb/amd64-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-nat.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for AMD64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64nbsd-nat.c ./gdb/amd64nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64nbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64nbsd-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for NetBSD/amd64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,8 +20,6 @@
 #include "defs.h"
 #include "target.h"
 
-#include "gdb_assert.h"
-
 #include "nbsd-nat.h"
 #include "amd64-tdep.h"
 #include "amd64-nat.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64nbsd-tdep.c ./gdb/amd64nbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64nbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64nbsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/amd64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,8 +24,6 @@
 #include "osabi.h"
 #include "symtab.h"
 
-#include "gdb_assert.h"
-
 #include "amd64-tdep.h"
 #include "nbsd-tdep.h"
 #include "solib-svr4.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64obsd-nat.c ./gdb/amd64obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64obsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64obsd-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for OpenBSD/amd64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,8 +22,6 @@
 #include "regcache.h"
 #include "target.h"
 
-#include "gdb_assert.h"
-
 #include "amd64-tdep.h"
 #include "amd64-nat.h"
 #include "obsd-nat.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64obsd-tdep.c ./gdb/amd64obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64obsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64obsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/amd64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,9 +29,6 @@
 #include "target.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "obsd-tdep.h"
 #include "amd64-tdep.h"
 #include "i387-tdep.h"
@@ -60,20 +57,19 @@ static const struct regset amd64obsd_com
     NULL, amd64obsd_supply_regset, NULL
   };
 
-static const struct regset *
-amd64obsd_regset_from_core_section (struct gdbarch *gdbarch,
-				    const char *sect_name, size_t sect_size)
+static void
+amd64obsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					iterate_over_regset_sections_cb *cb,
+					void *cb_data,
+					const struct regcache *regcache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   /* OpenBSD core dumps don't use seperate register sets for the
      general-purpose and floating-point registers.  */
 
-  if (strcmp (sect_name, ".reg") == 0
-      && sect_size >= tdep->sizeof_gregset + I387_SIZEOF_FXSAVE)
-    return &amd64obsd_combined_regset;
-
-  return NULL;
+  cb (".reg", tdep->sizeof_gregset + I387_SIZEOF_FXSAVE,
+      &amd64obsd_combined_regset, NULL, cb_data);
 }
 
 
@@ -495,8 +491,8 @@ amd64obsd_core_init_abi (struct gdbarch_
 {
   amd64obsd_init_abi (info, gdbarch);
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, amd64obsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, amd64obsd_iterate_over_regset_sections);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-sol2-tdep.c ./gdb/amd64-sol2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-sol2-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-sol2-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for AMD64 Solaris.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Joseph Myers, CodeSourcery, LLC.
 
@@ -26,8 +26,6 @@
 #include "osabi.h"
 #include "symtab.h"
 
-#include <string.h>
-
 #include "sol2-tdep.h"
 #include "amd64-tdep.h"
 #include "solib-svr4.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-tdep.c ./gdb/amd64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for AMD64.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Jiri Smid, SuSE Labs.
 
@@ -37,8 +37,6 @@
 #include "regset.h"
 #include "symfile.h"
 #include "disasm.h"
-#include "gdb_assert.h"
-#include "exceptions.h"
 #include "amd64-tdep.h"
 #include "i387-tdep.h"
 
@@ -201,7 +199,13 @@ static int amd64_dwarf_regmap[] =
   AMD64_ST0_REGNUM + 2, AMD64_ST0_REGNUM + 3,
   AMD64_ST0_REGNUM + 4, AMD64_ST0_REGNUM + 5,
   AMD64_ST0_REGNUM + 6, AMD64_ST0_REGNUM + 7,
-  
+
+  /* MMX Registers 0 - 7.
+     We have to handle those registers specifically, as their register
+     number within GDB depends on the target (or they may even not be
+     available at all).  */
+  -1, -1, -1, -1, -1, -1, -1, -1,
+
   /* Control and Status Flags Register.  */
   AMD64_EFLAGS_REGNUM,
 
@@ -671,7 +675,9 @@ amd64_classify (struct type *type, enum 
      struct complexT {
        T real;
        T imag;
-     };  */
+     };
+
+  */
   else if (code == TYPE_CODE_COMPLEX && len == 8)
     class[0] = AMD64_SSE;
   else if (code == TYPE_CODE_COMPLEX && len == 16)
@@ -2301,7 +2307,8 @@ amd64_skip_xmm_prologue (CORE_ADDR pc, C
 
   start_pc_sal = find_pc_sect_line (start_pc, NULL, 0);
   if (start_pc_sal.symtab == NULL
-      || producer_is_gcc_ge_4 (start_pc_sal.symtab->producer) < 6
+      || producer_is_gcc_ge_4 (COMPUNIT_PRODUCER
+	   (SYMTAB_COMPUNIT (start_pc_sal.symtab))) < 6
       || start_pc_sal.pc != start_pc || pc >= start_pc_sal.end)
     return pc;
 
@@ -2364,14 +2371,15 @@ amd64_skip_prologue (struct gdbarch *gdb
     {
       CORE_ADDR post_prologue_pc
 	= skip_prologue_using_sal (gdbarch, func_addr);
-      struct symtab *s = find_pc_symtab (func_addr);
+      struct compunit_symtab *cust = find_pc_compunit_symtab (func_addr);
 
       /* Clang always emits a line note before the prologue and another
 	 one after.  We trust clang to emit usable line notes.  */
       if (post_prologue_pc
-	  && (s != NULL
-	      && s->producer != NULL
-	      && strncmp (s->producer, "clang ", sizeof ("clang ") - 1) == 0))
+	  && (cust != NULL
+	      && COMPUNIT_PRODUCER (cust) != NULL
+	      && strncmp (COMPUNIT_PRODUCER (cust), "clang ",
+			  sizeof ("clang ") - 1) == 0))
         return max (start_pc, post_prologue_pc);
     }
 
@@ -2713,10 +2721,10 @@ static int
 amd64_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   gdb_byte insn;
-  struct symtab *symtab;
+  struct compunit_symtab *cust;
 
-  symtab = find_pc_symtab (pc);
-  if (symtab && symtab->epilogue_unwind_valid)
+  cust = find_pc_compunit_symtab (pc);
+  if (cust != NULL && COMPUNIT_EPILOGUE_UNWIND_VALID (cust))
     return 0;
 
   if (target_read_memory (pc, &insn, 1))
@@ -2867,53 +2875,10 @@ amd64_collect_fpregset (const struct reg
   amd64_collect_fxsave (regcache, regnum, fpregs);
 }
 
-/* Similar to amd64_supply_fpregset, but use XSAVE extended state.  */
-
-static void
-amd64_supply_xstateregset (const struct regset *regset,
-			   struct regcache *regcache, int regnum,
-			   const void *xstateregs, size_t len)
-{
-  amd64_supply_xsave (regcache, regnum, xstateregs);
-}
-
-/* Similar to amd64_collect_fpregset, but use XSAVE extended state.  */
-
-static void
-amd64_collect_xstateregset (const struct regset *regset,
-			    const struct regcache *regcache,
-			    int regnum, void *xstateregs, size_t len)
-{
-  amd64_collect_xsave (regcache, regnum, xstateregs, 1);
-}
-
-static const struct regset amd64_fpregset =
+const struct regset amd64_fpregset =
   {
     NULL, amd64_supply_fpregset, amd64_collect_fpregset
   };
-
-static const struct regset amd64_xstateregset =
-  {
-    NULL, amd64_supply_xstateregset, amd64_collect_xstateregset
-  };
-
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
-
-static const struct regset *
-amd64_regset_from_core_section (struct gdbarch *gdbarch,
-				const char *sect_name, size_t sect_size)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size == tdep->sizeof_fpregset)
-    return &amd64_fpregset;
-
-  if (strcmp (sect_name, ".reg-xstate") == 0)
-    return &amd64_xstateregset;
-
-  return i386_regset_from_core_section (gdbarch, sect_name, sect_size);
-}
 
 
 /* Figure out where the longjmp will land.  Slurp the jmp_buf out of
@@ -2972,6 +2937,7 @@ amd64_init_abi (struct gdbarch_info info
   /* AMD64 generally uses `fxsave' instead of `fsave' for saving its
      floating-point registers.  */
   tdep->sizeof_fpregset = I387_SIZEOF_FXSAVE;
+  tdep->fpregset = &amd64_fpregset;
 
   if (! tdesc_has_registers (tdesc))
     tdesc = tdesc_amd64;
@@ -3085,11 +3051,6 @@ amd64_init_abi (struct gdbarch_info info
   frame_unwind_append_unwinder (gdbarch, &amd64_frame_unwind);
   frame_base_set_default (gdbarch, &amd64_frame_base);
 
-  /* If we have a register mapping, enable the generic core file support.  */
-  if (tdep->gregset_reg_offset)
-    set_gdbarch_regset_from_core_section (gdbarch,
-					  amd64_regset_from_core_section);
-
   set_gdbarch_get_longjmp_target (gdbarch, amd64_get_longjmp_target);
 
   set_gdbarch_relocate_instruction (gdbarch, amd64_relocate_instruction);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-tdep.h ./gdb/amd64-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent definitions for AMD64.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Contributed by Jiri Smid, SuSE Labs.
 
    This file is part of GDB.
@@ -119,6 +119,8 @@ extern void amd64_collect_fxsave (const 
 extern void amd64_collect_xsave (const struct regcache *regcache,
 				 int regnum, void *xsave, int gcore);
 
+/* Floating-point register set. */
+extern const struct regset amd64_fpregset;
 
 /* Variables exported from amd64-linux-tdep.c.  */
 extern int amd64_linux_gregset_reg_offset[];
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-windows-nat.c ./gdb/amd64-windows-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-windows-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-windows-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,7 +17,7 @@
 
 #include "defs.h"
 #include "windows-nat.h"
-#include "i386-nat.h"
+#include "x86-nat.h"
 #include "amd64-tdep.h"
 
 #include <windows.h>
@@ -103,5 +103,5 @@ _initialize_amd64_windows_nat (void)
 {
   windows_set_context_register_offsets (mappings);
   windows_set_segment_register_p (amd64_windows_segment_register_p);
-  i386_set_debug_register_length (8);
+  x86_set_debug_register_length (8);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-windows-tdep.c ./gdb/amd64-windows-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/amd64-windows-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/amd64-windows-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -826,7 +826,7 @@ amd64_windows_frame_decode_insns (struct
 	  CORE_ADDR chain_vma;
 
 	  chain_vma = cache->image_base + unwind_info
-	    + sizeof (ex_ui) + ((codes_count + 1) & ~1) * 2 + 8;
+	    + sizeof (ex_ui) + ((codes_count + 1) & ~1) * 2;
 
 	  if (target_read_memory (chain_vma, (gdb_byte *) &d, sizeof (d)) != 0)
 	    return;
@@ -837,6 +837,15 @@ amd64_windows_frame_decode_insns (struct
 	    extract_unsigned_integer (d.rva_EndAddress, 4, byte_order);
 	  unwind_info =
 	    extract_unsigned_integer (d.rva_UnwindData, 4, byte_order);
+
+	  if (frame_debug)
+	    fprintf_unfiltered
+	      (gdb_stdlog,
+	       "amd64_windows_frame_decodes_insn (next in chain):"
+	       " unwind_data=%s, start_rva=%s, end_rva=%s\n",
+	       paddress (gdbarch, unwind_info),
+	       paddress (gdbarch, cache->start_rva),
+	       paddress (gdbarch, cache->end_rva));
 	}
 
       /* Allow the user to break this loop.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/annotate.c ./gdb/annotate.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/annotate.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/annotate.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Annotation routines for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/annotate.h ./gdb/annotate.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/annotate.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/annotate.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Annotation routines for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arch-utils.c ./gdb/arch-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arch-utils.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/arch-utils.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Dynamic architecture support for GDB, the GNU debugger.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,15 +24,14 @@
 #include "gdbcmd.h"
 #include "inferior.h"		/* enum CALL_DUMMY_LOCATION et al.  */
 #include "infrun.h"
-#include <string.h>
 #include "regcache.h"
-#include "gdb_assert.h"
 #include "sim-regno.h"
 #include "gdbcore.h"
 #include "osabi.h"
 #include "target-descriptions.h"
 #include "objfiles.h"
 #include "language.h"
+#include "symtab.h"
 
 #include "version.h"
 
@@ -169,17 +168,35 @@ no_op_reg_to_regnum (struct gdbarch *gdb
 }
 
 void
-default_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym)
+default_coff_make_msymbol_special (int val, struct minimal_symbol *msym)
 {
   return;
 }
 
+/* See arch-utils.h.  */
+
 void
-default_coff_make_msymbol_special (int val, struct minimal_symbol *msym)
+default_make_symbol_special (struct symbol *sym, struct objfile *objfile)
 {
   return;
 }
 
+/* See arch-utils.h.  */
+
+CORE_ADDR
+default_adjust_dwarf2_addr (CORE_ADDR pc)
+{
+  return pc;
+}
+
+/* See arch-utils.h.  */
+
+CORE_ADDR
+default_adjust_dwarf2_line (CORE_ADDR addr, int rel)
+{
+  return addr;
+}
+
 int
 cannot_register_not (struct gdbarch *gdbarch, int regnum)
 {
@@ -245,6 +262,14 @@ default_remote_register_number (struct g
   return regno;
 }
 
+/* See arch-utils.h.  */
+
+int
+default_vsyscall_range (struct gdbarch *gdbarch, struct mem_range *range)
+{
+  return 0;
+}
+
 
 /* Functions to manipulate the endianness of the target.  */
 
@@ -820,7 +845,42 @@ int default_insn_is_jump (struct gdbarch
   return 0;
 }
 
-/* */
+void
+default_skip_permanent_breakpoint (struct regcache *regcache)
+{
+  struct gdbarch *gdbarch = get_regcache_arch (regcache);
+  CORE_ADDR current_pc = regcache_read_pc (regcache);
+  const gdb_byte *bp_insn;
+  int bp_len;
+
+  bp_insn = gdbarch_breakpoint_from_pc (gdbarch, &current_pc, &bp_len);
+  current_pc += bp_len;
+  regcache_write_pc (regcache, current_pc);
+}
+
+CORE_ADDR
+default_infcall_mmap (CORE_ADDR size, unsigned prot)
+{
+  error (_("This target does not support inferior memory allocation by mmap."));
+}
+
+/* -mcmodel=large is used so that no GOT (Global Offset Table) is needed to be
+   created in inferior memory by GDB (normally it is set by ld.so).  */
+
+char *
+default_gcc_target_options (struct gdbarch *gdbarch)
+{
+  return xstrprintf ("-m%d%s", gdbarch_ptr_bit (gdbarch),
+		     gdbarch_ptr_bit (gdbarch) == 64 ? " -mcmodel=large" : "");
+}
+
+/* gdbarch gnu_triplet_regexp method.  */
+
+const char *
+default_gnu_triplet_regexp (struct gdbarch *gdbarch)
+{
+  return gdbarch_bfd_arch_info (gdbarch)->arch_name;
+}
 
 /* -Wmissing-prototypes */
 extern initialize_file_ftype _initialize_gdbarch_utils;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arch-utils.h ./gdb/arch-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arch-utils.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/arch-utils.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Dynamic architecture support for GDB, the GNU debugger.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -68,15 +68,22 @@ extern gdbarch_convert_from_func_ptr_add
 
 extern int no_op_reg_to_regnum (struct gdbarch *gdbarch, int reg);
 
-/* Do nothing version of elf_make_msymbol_special.  */
-
-void default_elf_make_msymbol_special (asymbol *sym,
-				       struct minimal_symbol *msym);
-
 /* Do nothing version of coff_make_msymbol_special.  */
 
 void default_coff_make_msymbol_special (int val, struct minimal_symbol *msym);
 
+/* Do nothing default implementation of gdbarch_make_symbol_special.  */
+
+void default_make_symbol_special (struct symbol *sym, struct objfile *objfile);
+
+/* Do nothing default implementation of gdbarch_adjust_dwarf2_addr.  */
+
+CORE_ADDR default_adjust_dwarf2_addr (CORE_ADDR pc);
+
+/* Do nothing default implementation of gdbarch_adjust_dwarf2_line.  */
+
+CORE_ADDR default_adjust_dwarf2_line (CORE_ADDR addr, int rel);
+
 /* Version of cannot_fetch_register() / cannot_store_register() that
    always fails.  */
 
@@ -174,4 +181,26 @@ extern int default_return_in_first_hidde
 extern int default_insn_is_call (struct gdbarch *, CORE_ADDR);
 extern int default_insn_is_ret (struct gdbarch *, CORE_ADDR);
 extern int default_insn_is_jump (struct gdbarch *, CORE_ADDR);
+
+/* Do-nothing version of vsyscall_range.  Returns false.  */
+
+extern int default_vsyscall_range (struct gdbarch *gdbarch, struct mem_range *range);
+
+/* Default way to advance the PC to the next instruction in order to
+   skip a permanent breakpoint.  Increments the PC by the size of a
+   software breakpoint instruction, as determined with
+   gdbarch_breakpoint_from_pc.  This matches how the breakpoints
+   module determines whether a breakpoint is permanent.  */
+extern void default_skip_permanent_breakpoint (struct regcache *regcache);
+
+/* Symbols for gdbarch_infcall_mmap; their Linux PROT_* system
+   definitions would be dependent on compilation host.  */
+#define GDB_MMAP_PROT_READ	0x1	/* Page can be read.  */
+#define GDB_MMAP_PROT_WRITE	0x2	/* Page can be written.  */
+#define GDB_MMAP_PROT_EXEC	0x4	/* Page can be executed.  */
+
+extern CORE_ADDR default_infcall_mmap (CORE_ADDR size, unsigned prot);
+extern char *default_gcc_target_options (struct gdbarch *gdbarch);
+extern const char *default_gnu_triplet_regexp (struct gdbarch *gdbarch);
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/armbsd-tdep.c ./gdb/armbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/armbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/armbsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for ARM BSD's.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,9 +22,6 @@
 #include "regcache.h"
 #include "regset.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "arm-tdep.h"
 
 /* Core file support.  */
@@ -110,18 +107,14 @@ static const struct regset armbsd_fpregs
   armbsd_supply_fpregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over supported core file register note sections. */
 
-const struct regset *
-armbsd_regset_from_core_section (struct gdbarch *gdbarch,
-				 const char *sect_name, size_t sect_size)
+void
+armbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				     iterate_over_regset_sections_cb *cb,
+				     void *cb_data,
+				     const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= ARMBSD_SIZEOF_GREGS)
-    return &armbsd_gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size >= ARMBSD_SIZEOF_FPREGS)
-    return &armbsd_fpregset;
-
-  return NULL;
+  cb (".reg", ARMBSD_SIZEOF_GREGS, &armbsd_gregset, NULL, cb_data);
+  cb (".reg2", ARMBSD_SIZEOF_FPREGS, &armbsd_fpregset, NULL, cb_data);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-linux-nat.c ./gdb/arm-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/arm-linux-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux on ARM native support.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 #include "defs.h"
 #include "inferior.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "regcache.h"
 #include "target.h"
 #include "linux-nat.h"
@@ -976,7 +975,7 @@ arm_linux_hw_breakpoint_initialize (stru
 				    struct arm_linux_hw_breakpoint *p)
 {
   unsigned mask;
-  CORE_ADDR address = bp_tgt->placed_address;
+  CORE_ADDR address = bp_tgt->placed_address = bp_tgt->reqstd_address;
 
   /* We have to create a mask for the control register which says which bits
      of the word pointed to by address to break on.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-linux-tdep.c ./gdb/arm-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/arm-linux-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux on ARM target support.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -54,8 +54,6 @@
 #include "user-regs.h"
 #include <ctype.h>
 #include "elf/common.h"
-#include <string.h>
-
 extern int arm_apcs_32;
 
 /* Under ARM GNU/Linux the traditional way of performing a breakpoint
@@ -246,6 +244,13 @@ static const gdb_byte arm_linux_thumb2_l
 #define ARM_SET_R7_RT_SIGRETURN		0xe3a070ad
 #define ARM_EABI_SYSCALL		0xef000000
 
+/* Equivalent patterns for Thumb2.  */
+#define THUMB2_SET_R7_SIGRETURN1	0xf04f
+#define THUMB2_SET_R7_SIGRETURN2	0x0777
+#define THUMB2_SET_R7_RT_SIGRETURN1	0xf04f
+#define THUMB2_SET_R7_RT_SIGRETURN2	0x07ad
+#define THUMB2_EABI_SYSCALL		0xdf00
+
 /* OABI syscall restart trampoline, used for EABI executables too
    whenever OABI support has been enabled in the kernel.  */
 #define ARM_OABI_SYSCALL_RESTART_SYSCALL 0xef900000
@@ -444,6 +449,30 @@ static struct tramp_frame arm_eabi_linux
   arm_linux_rt_sigreturn_init
 };
 
+static struct tramp_frame thumb2_eabi_linux_sigreturn_tramp_frame = {
+  SIGTRAMP_FRAME,
+  2,
+  {
+    { THUMB2_SET_R7_SIGRETURN1, -1 },
+    { THUMB2_SET_R7_SIGRETURN2, -1 },
+    { THUMB2_EABI_SYSCALL, -1 },
+    { TRAMP_SENTINEL_INSN }
+  },
+  arm_linux_sigreturn_init
+};
+
+static struct tramp_frame thumb2_eabi_linux_rt_sigreturn_tramp_frame = {
+  SIGTRAMP_FRAME,
+  2,
+  {
+    { THUMB2_SET_R7_RT_SIGRETURN1, -1 },
+    { THUMB2_SET_R7_RT_SIGRETURN2, -1 },
+    { THUMB2_EABI_SYSCALL, -1 },
+    { TRAMP_SENTINEL_INSN }
+  },
+  arm_linux_rt_sigreturn_init
+};
+
 static struct tramp_frame arm_linux_restart_syscall_tramp_frame = {
   NORMAL_FRAME,
   4,
@@ -702,43 +731,25 @@ static const struct regset arm_linux_vfp
     NULL, arm_linux_supply_vfp, arm_linux_collect_vfp
   };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
-
-static const struct regset *
-arm_linux_regset_from_core_section (struct gdbarch *gdbarch,
-				    const char *sect_name, size_t sect_size)
-{
-  if (strcmp (sect_name, ".reg") == 0
-      && sect_size == ARM_LINUX_SIZEOF_GREGSET)
-    return &arm_linux_gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0
-      && sect_size == ARM_LINUX_SIZEOF_NWFPE)
-    return &arm_linux_fpregset;
-
-  if (strcmp (sect_name, ".reg-arm-vfp") == 0
-      && sect_size == ARM_LINUX_SIZEOF_VFP)
-    return &arm_linux_vfpregset;
-
-  return NULL;
-}
-
-/* Core file register set sections.  */
+/* Iterate over core file register note sections.  */
 
-static struct core_regset_section arm_linux_fpa_regset_sections[] =
+static void
+arm_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					iterate_over_regset_sections_cb *cb,
+					void *cb_data,
+					const struct regcache *regcache)
 {
-  { ".reg", ARM_LINUX_SIZEOF_GREGSET, "general-purpose" },
-  { ".reg2", ARM_LINUX_SIZEOF_NWFPE, "FPA floating-point" },
-  { NULL, 0}
-};
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-static struct core_regset_section arm_linux_vfp_regset_sections[] =
-{
-  { ".reg", ARM_LINUX_SIZEOF_GREGSET, "general-purpose" },
-  { ".reg-arm-vfp", ARM_LINUX_SIZEOF_VFP, "VFP floating-point" },
-  { NULL, 0}
-};
+  cb (".reg", ARM_LINUX_SIZEOF_GREGSET, &arm_linux_gregset, NULL, cb_data);
+
+  if (tdep->have_vfp_registers)
+    cb (".reg-arm-vfp", ARM_LINUX_SIZEOF_VFP, &arm_linux_vfpregset,
+	"VFP floating-point", cb_data);
+  else if (tdep->have_fpa_registers)
+    cb (".reg2", ARM_LINUX_SIZEOF_NWFPE, &arm_linux_fpregset,
+	"FPA floating-point", cb_data);
+}
 
 /* Determine target description from core file.  */
 
@@ -1322,6 +1333,19 @@ arm_linux_syscall_record (struct regcach
   return 0;
 }
 
+/* Implement the skip_trampoline_code gdbarch method.  */
+
+static CORE_ADDR
+arm_linux_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
+{
+  CORE_ADDR target_pc = arm_skip_stub (frame, pc);
+
+  if (target_pc != 0)
+    return target_pc;
+
+  return find_solib_trampoline_target (frame, pc);
+}
+
 static void
 arm_linux_init_abi (struct gdbarch_info info,
 		    struct gdbarch *gdbarch)
@@ -1337,7 +1361,7 @@ arm_linux_init_abi (struct gdbarch_info 
   linux_init_abi (info, gdbarch);
 
   tdep->lowest_pc = 0x8000;
-  if (info.byte_order == BFD_ENDIAN_BIG)
+  if (info.byte_order_for_code == BFD_ENDIAN_BIG)
     {
       if (tdep->arm_abi == ARM_ABI_AAPCS)
 	tdep->arm_breakpoint = eabi_linux_arm_be_breakpoint;
@@ -1387,7 +1411,7 @@ arm_linux_init_abi (struct gdbarch_info 
   set_gdbarch_software_single_step (gdbarch, arm_linux_software_single_step);
 
   /* Shared library handling.  */
-  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
+  set_gdbarch_skip_trampoline_code (gdbarch, arm_linux_skip_trampoline_code);
   set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
 
   /* Enable TLS support.  */
@@ -1403,20 +1427,19 @@ arm_linux_init_abi (struct gdbarch_info 
   tramp_frame_prepend_unwinder (gdbarch,
 				&arm_eabi_linux_rt_sigreturn_tramp_frame);
   tramp_frame_prepend_unwinder (gdbarch,
+				&thumb2_eabi_linux_sigreturn_tramp_frame);
+  tramp_frame_prepend_unwinder (gdbarch,
+				&thumb2_eabi_linux_rt_sigreturn_tramp_frame);
+  tramp_frame_prepend_unwinder (gdbarch,
 				&arm_linux_restart_syscall_tramp_frame);
   tramp_frame_prepend_unwinder (gdbarch,
 				&arm_kernel_linux_restart_syscall_tramp_frame);
 
   /* Core file support.  */
-  set_gdbarch_regset_from_core_section (gdbarch,
-					arm_linux_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, arm_linux_iterate_over_regset_sections);
   set_gdbarch_core_read_description (gdbarch, arm_linux_core_read_description);
 
-  if (tdep->have_vfp_registers)
-    set_gdbarch_core_regset_sections (gdbarch, arm_linux_vfp_regset_sections);
-  else if (tdep->have_fpa_registers)
-    set_gdbarch_core_regset_sections (gdbarch, arm_linux_fpa_regset_sections);
-
   set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
 
   /* Displaced stepping.  */
@@ -1445,7 +1468,7 @@ arm_linux_init_abi (struct gdbarch_info 
   tdep->syscall_next_pc = arm_linux_syscall_next_pc;
 
   /* `catch syscall' */
-  set_xml_syscall_file_name ("syscalls/arm-linux.xml");
+  set_xml_syscall_file_name (gdbarch, "syscalls/arm-linux.xml");
   set_gdbarch_get_syscall_number (gdbarch, arm_linux_get_syscall_number);
 
   /* Syscall record.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-linux-tdep.h ./gdb/arm-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-linux-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/arm-linux-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux on ARM target support, prototypes.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/armnbsd-nat.c ./gdb/armnbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/armnbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/armnbsd-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for BSD Unix running on ARM's, for GDB.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,8 +22,6 @@
 #include "inferior.h"
 #include "regcache.h"
 #include "target.h"
-
-#include <string.h>
 #include <sys/types.h>
 #include <sys/ptrace.h>
 #include <machine/reg.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/armnbsd-tdep.c ./gdb/armnbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/armnbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/armnbsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/arm.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,8 +20,6 @@
 #include "defs.h"
 #include "osabi.h"
 
-#include <string.h>
-
 #include "arm-tdep.h"
 #include "solib-svr4.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/armobsd-tdep.c ./gdb/armobsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/armobsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/armobsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/arm.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,8 +22,6 @@
 #include "trad-frame.h"
 #include "tramp-frame.h"
 
-#include <string.h>
-
 #include "obsd-tdep.h"
 #include "arm-tdep.h"
 #include "solib-svr4.h"
@@ -93,8 +91,8 @@ armobsd_init_abi (struct gdbarch_info in
   tdep->jb_pc = 24;
   tdep->jb_elt_size = 4;
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, armbsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, armbsd_iterate_over_regset_sections);
 
   /* OpenBSD/arm uses -fpcc-struct-return by default.  */
   tdep->struct_return = pcc_struct_return;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-symbian-tdep.c ./gdb/arm-symbian-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-symbian-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/arm-symbian-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* ARM Symbian OS target support.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-tdep.c ./gdb/arm-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/arm-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common target dependent code for GDB on ARM systems.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,7 +26,6 @@
 #include "infrun.h"
 #include "gdbcmd.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "dis-asm.h"		/* For register styles.  */
 #include "regcache.h"
 #include "reggroups.h"
@@ -53,7 +52,6 @@
 #include "coff/internal.h"
 #include "elf/arm.h"
 
-#include "gdb_assert.h"
 #include "vec.h"
 
 #include "record.h"
@@ -685,6 +683,17 @@ thumb2_instruction_changes_pc (unsigned 
   return 0;
 }
 
+/* Return 1 if the 16-bit Thumb instruction INSN restores SP in
+   epilogue, 0 otherwise.  */
+
+static int
+thumb_instruction_restores_sp (unsigned short insn)
+{
+  return (insn == 0x46bd  /* mov sp, r7 */
+	  || (insn & 0xff80) == 0xb000  /* add sp, imm */
+	  || (insn & 0xfe00) == 0xbc00);  /* pop <registers> */
+}
+
 /* Analyze a Thumb prologue, looking for a recognizable stack frame
    and frame pointer.  Scan until we encounter a store that could
    clobber the stack frame unexpectedly, or an unknown instruction.
@@ -737,16 +746,16 @@ thumb_analyze_prologue (struct gdbarch *
 		pv_area_store (stack, regs[ARM_SP_REGNUM], 4, regs[regno]);
 	      }
 	}
-      else if ((insn & 0xff00) == 0xb000)	/* add sp, #simm  OR  
-						   sub sp, #simm */
+      else if ((insn & 0xff80) == 0xb080)	/* sub sp, #imm */
 	{
 	  offset = (insn & 0x7f) << 2;		/* get scaled offset */
-	  if (insn & 0x80)			/* Check for SUB.  */
-	    regs[ARM_SP_REGNUM] = pv_add_constant (regs[ARM_SP_REGNUM],
-						   -offset);
-	  else
-	    regs[ARM_SP_REGNUM] = pv_add_constant (regs[ARM_SP_REGNUM],
-						   offset);
+	  regs[ARM_SP_REGNUM] = pv_add_constant (regs[ARM_SP_REGNUM],
+						 -offset);
+	}
+      else if (thumb_instruction_restores_sp (insn))
+	{
+	  /* Don't scan past the epilogue.  */
+	  break;
 	}
       else if ((insn & 0xf800) == 0xa800)	/* add Rd, sp, #imm */
 	regs[bits (insn, 8, 10)] = pv_add_constant (regs[ARM_SP_REGNUM],
@@ -1195,7 +1204,9 @@ arm_analyze_load_stack_chk_guard(CORE_AD
 	{
 	  *destreg = bits (insn1, 8, 10);
 	  *offset = 2;
-	  address = bits (insn1, 0, 7);
+	  address = (pc & 0xfffffffc) + 4 + (bits (insn1, 0, 7) << 2);
+	  address = read_memory_unsigned_integer (address, 4,
+						  byte_order_for_code);
 	}
       else if ((insn1 & 0xfbf0) == 0xf240) /* movw Rd, #const */
 	{
@@ -1224,9 +1235,12 @@ arm_analyze_load_stack_chk_guard(CORE_AD
       unsigned int insn
 	= read_memory_unsigned_integer (pc, 4, byte_order_for_code);
 
-      if ((insn & 0x0e5f0000) == 0x041f0000) /* ldr Rd, #immed */
+      if ((insn & 0x0e5f0000) == 0x041f0000) /* ldr Rd, [PC, #immed] */
 	{
-	  address = bits (insn, 0, 11);
+	  address = bits (insn, 0, 11) + pc + 8;
+	  address = read_memory_unsigned_integer (address, 4,
+						  byte_order_for_code);
+
 	  *destreg = bits (insn, 12, 15);
 	  *offset = 4;
 	}
@@ -1297,11 +1311,10 @@ arm_skip_stack_protector(CORE_ADDR pc, s
     return pc;
 
   stack_chk_guard = lookup_minimal_symbol_by_pc (addr);
-  /* If name of symbol doesn't start with '__stack_chk_guard', this
-     instruction sequence is not for stack protector.  If symbol is
-     removed, we conservatively think this sequence is for stack protector.  */
-  if (stack_chk_guard.minsym
-      && strncmp (MSYMBOL_LINKAGE_NAME (stack_chk_guard.minsym),
+  /* ADDR must correspond to a symbol whose name is __stack_chk_guard.
+     Otherwise, this sequence cannot be for stack protector.  */
+  if (stack_chk_guard.minsym == NULL
+      || strncmp (MSYMBOL_LINKAGE_NAME (stack_chk_guard.minsym),
 		  "__stack_chk_guard",
 		  strlen ("__stack_chk_guard")) != 0)
    return pc;
@@ -1375,7 +1388,6 @@ arm_skip_prologue (struct gdbarch *gdbar
 {
   enum bfd_endian byte_order_for_code = gdbarch_byte_order_for_code (gdbarch);
   unsigned long inst;
-  CORE_ADDR skip_pc;
   CORE_ADDR func_addr, limit_pc;
 
   /* See if we can determine the end of the prologue via the symbol table.
@@ -1385,7 +1397,7 @@ arm_skip_prologue (struct gdbarch *gdbar
     {
       CORE_ADDR post_prologue_pc
 	= skip_prologue_using_sal (gdbarch, func_addr);
-      struct symtab *s = find_pc_symtab (func_addr);
+      struct compunit_symtab *cust = find_pc_compunit_symtab (func_addr);
 
       if (post_prologue_pc)
 	post_prologue_pc
@@ -1399,10 +1411,12 @@ arm_skip_prologue (struct gdbarch *gdbar
 	 will have producer information for most binaries; if it is
 	 missing (e.g. for -gstabs), assuming the GNU tools.  */
       if (post_prologue_pc
-	  && (s == NULL
-	      || s->producer == NULL
-	      || strncmp (s->producer, "GNU ", sizeof ("GNU ") - 1) == 0 
-	      || strncmp (s->producer, "clang ", sizeof ("clang ") - 1) == 0))
+	  && (cust == NULL
+	      || COMPUNIT_PRODUCER (cust) == NULL
+	      || strncmp (COMPUNIT_PRODUCER (cust), "GNU ",
+			  sizeof ("GNU ") - 1) == 0
+	      || strncmp (COMPUNIT_PRODUCER (cust), "clang ",
+			  sizeof ("clang ") - 1) == 0))
 	return post_prologue_pc;
 
       if (post_prologue_pc != 0)
@@ -1447,65 +1461,8 @@ arm_skip_prologue (struct gdbarch *gdbar
   /* Check if this is Thumb code.  */
   if (arm_pc_is_thumb (gdbarch, pc))
     return thumb_analyze_prologue (gdbarch, pc, limit_pc, NULL);
-
-  for (skip_pc = pc; skip_pc < limit_pc; skip_pc += 4)
-    {
-      inst = read_memory_unsigned_integer (skip_pc, 4, byte_order_for_code);
-
-      /* "mov ip, sp" is no longer a required part of the prologue.  */
-      if (inst == 0xe1a0c00d)			/* mov ip, sp */
-	continue;
-
-      if ((inst & 0xfffff000) == 0xe28dc000)    /* add ip, sp #n */
-	continue;
-
-      if ((inst & 0xfffff000) == 0xe24dc000)    /* sub ip, sp #n */
-	continue;
-
-      /* Some prologues begin with "str lr, [sp, #-4]!".  */
-      if (inst == 0xe52de004)			/* str lr, [sp, #-4]! */
-	continue;
-
-      if ((inst & 0xfffffff0) == 0xe92d0000)	/* stmfd sp!,{a1,a2,a3,a4} */
-	continue;
-
-      if ((inst & 0xfffff800) == 0xe92dd800)	/* stmfd sp!,{fp,ip,lr,pc} */
-	continue;
-
-      /* Any insns after this point may float into the code, if it makes
-	 for better instruction scheduling, so we skip them only if we
-	 find them, but still consider the function to be frame-ful.  */
-
-      /* We may have either one sfmfd instruction here, or several stfe
-	 insns, depending on the version of floating point code we
-	 support.  */
-      if ((inst & 0xffbf0fff) == 0xec2d0200)	/* sfmfd fn, <cnt>, [sp]! */
-	continue;
-
-      if ((inst & 0xffff8fff) == 0xed6d0103)	/* stfe fn, [sp, #-12]! */
-	continue;
-
-      if ((inst & 0xfffff000) == 0xe24cb000)	/* sub fp, ip, #nn */
-	continue;
-
-      if ((inst & 0xfffff000) == 0xe24dd000)	/* sub sp, sp, #nn */
-	continue;
-
-      if ((inst & 0xffffc000) == 0xe54b0000	/* strb r(0123),[r11,#-nn] */
-	  || (inst & 0xffffc0f0) == 0xe14b00b0	/* strh r(0123),[r11,#-nn] */
-	  || (inst & 0xffffc000) == 0xe50b0000)	/* str  r(0123),[r11,#-nn] */
-	continue;
-
-      if ((inst & 0xffffc000) == 0xe5cd0000	/* strb r(0123),[sp,#nn] */
-	  || (inst & 0xffffc0f0) == 0xe1cd00b0	/* strh r(0123),[sp,#nn] */
-	  || (inst & 0xffffc000) == 0xe58d0000)	/* str  r(0123),[sp,#nn] */
-	continue;
-
-      /* Un-recognized instruction; stop scanning.  */
-      break;
-    }
-
-  return skip_pc;		/* End of prologue.  */
+  else
+    return arm_analyze_prologue (gdbarch, pc, limit_pc, NULL);
 }
 
 /* *INDENT-OFF* */
@@ -1649,6 +1606,30 @@ arm_instruction_changes_pc (uint32_t thi
       }
 }
 
+/* Return 1 if the ARM instruction INSN restores SP in epilogue, 0
+   otherwise.  */
+
+static int
+arm_instruction_restores_sp (unsigned int insn)
+{
+  if (bits (insn, 28, 31) != INST_NV)
+    {
+      if ((insn & 0x0df0f000) == 0x0080d000
+	  /* ADD SP (register or immediate).  */
+	  || (insn & 0x0df0f000) == 0x0040d000
+	  /* SUB SP (register or immediate).  */
+	  || (insn & 0x0ffffff0) == 0x01a0d000
+	  /* MOV SP.  */
+	  || (insn & 0x0fff0000) == 0x08bd0000
+	  /* POP (LDMIA).  */
+	  || (insn & 0x0fff0000) == 0x049d0000)
+	  /* POP of a single register.  */
+	return 1;
+    }
+
+  return 0;
+}
+
 /* Analyze an ARM mode prologue starting at PROLOGUE_START and
    continuing no further than PROLOGUE_END.  If CACHE is non-NULL,
    fill it in.  Return the first address not recognized as a prologue
@@ -1671,7 +1652,6 @@ arm_analyze_prologue (struct gdbarch *gd
   pv_t regs[ARM_FPS_REGNUM];
   struct pv_area *stack;
   struct cleanup *back_to;
-  int framereg, framesize;
   CORE_ADDR unrecognized_pc = 0;
 
   /* Search the prologue looking for instructions that set up the
@@ -1847,6 +1827,11 @@ arm_analyze_prologue (struct gdbarch *gd
       else if (arm_instruction_changes_pc (insn))
 	/* Don't scan past anything that might change control flow.  */
 	break;
+      else if (arm_instruction_restores_sp (insn))
+	{
+	  /* Don't scan past the epilogue.  */
+	  break;
+	}
       else if ((insn & 0xfe500000) == 0xe8100000	/* ldm */
 	       && pv_is_register (regs[bits (insn, 16, 19)], ARM_SP_REGNUM))
 	/* Ignore block loads from the stack, potentially copying
@@ -1862,33 +1847,42 @@ arm_analyze_prologue (struct gdbarch *gd
 	continue;
       else
 	{
-	  /* The optimizer might shove anything into the prologue,
-	     so we just skip what we don't recognize.  */
+	  /* The optimizer might shove anything into the prologue, if
+	     we build up cache (cache != NULL) from scanning prologue,
+	     we just skip what we don't recognize and scan further to
+	     make cache as complete as possible.  However, if we skip
+	     prologue, we'll stop immediately on unrecognized
+	     instruction.  */
 	  unrecognized_pc = current_pc;
-	  continue;
+	  if (cache != NULL)
+	    continue;
+	  else
+	    break;
 	}
     }
 
   if (unrecognized_pc == 0)
     unrecognized_pc = current_pc;
 
-  /* The frame size is just the distance from the frame register
-     to the original stack pointer.  */
-  if (pv_is_register (regs[ARM_FP_REGNUM], ARM_SP_REGNUM))
-    {
-      /* Frame pointer is fp.  */
-      framereg = ARM_FP_REGNUM;
-      framesize = -regs[ARM_FP_REGNUM].k;
-    }
-  else
-    {
-      /* Try the stack pointer... this is a bit desperate.  */
-      framereg = ARM_SP_REGNUM;
-      framesize = -regs[ARM_SP_REGNUM].k;
-    }
-
   if (cache)
     {
+      int framereg, framesize;
+
+      /* The frame size is just the distance from the frame register
+	 to the original stack pointer.  */
+      if (pv_is_register (regs[ARM_FP_REGNUM], ARM_SP_REGNUM))
+	{
+	  /* Frame pointer is fp.  */
+	  framereg = ARM_FP_REGNUM;
+	  framesize = -regs[ARM_FP_REGNUM].k;
+	}
+      else
+	{
+	  /* Try the stack pointer... this is a bit desperate.  */
+	  framereg = ARM_SP_REGNUM;
+	  framesize = -regs[ARM_SP_REGNUM].k;
+	}
+
       cache->framereg = framereg;
       cache->framesize = framesize;
 
@@ -2870,6 +2864,64 @@ struct frame_unwind arm_exidx_unwind = {
   arm_exidx_unwind_sniffer
 };
 
+/* Recognize GCC's trampoline for thumb call-indirect.  If we are in a
+   trampoline, return the target PC.  Otherwise return 0.
+
+   void call0a (char c, short s, int i, long l) {}
+
+   int main (void)
+   {
+     (*pointer_to_call0a) (c, s, i, l);
+   }
+
+   Instead of calling a stub library function  _call_via_xx (xx is
+   the register name), GCC may inline the trampoline in the object
+   file as below (register r2 has the address of call0a).
+
+   .global main
+   .type main, %function
+   ...
+   bl .L1
+   ...
+   .size main, .-main
+
+   .L1:
+   bx r2
+
+   The trampoline 'bx r2' doesn't belong to main.  */
+
+static CORE_ADDR
+arm_skip_bx_reg (struct frame_info *frame, CORE_ADDR pc)
+{
+  /* The heuristics of recognizing such trampoline is that FRAME is
+     executing in Thumb mode and the instruction on PC is 'bx Rm'.  */
+  if (arm_frame_is_thumb (frame))
+    {
+      gdb_byte buf[2];
+
+      if (target_read_memory (pc, buf, 2) == 0)
+	{
+	  struct gdbarch *gdbarch = get_frame_arch (frame);
+	  enum bfd_endian byte_order_for_code
+	    = gdbarch_byte_order_for_code (gdbarch);
+	  uint16_t insn
+	    = extract_unsigned_integer (buf, 2, byte_order_for_code);
+
+	  if ((insn & 0xff80) == 0x4700)  /* bx <Rm> */
+	    {
+	      CORE_ADDR dest
+		= get_frame_register_unsigned (frame, bits (insn, 3, 6));
+
+	      /* Clear the LSB so that gdb core sets step-resume
+		 breakpoint at the right address.  */
+	      return UNMAKE_THUMB_ADDR (dest);
+	    }
+	}
+    }
+
+  return 0;
+}
+
 static struct arm_prologue_cache *
 arm_make_stub_cache (struct frame_info *this_frame)
 {
@@ -2906,12 +2958,19 @@ arm_stub_unwind_sniffer (const struct fr
 {
   CORE_ADDR addr_in_block;
   gdb_byte dummy[4];
+  CORE_ADDR pc, start_addr;
+  const char *name;
 
   addr_in_block = get_frame_address_in_block (this_frame);
+  pc = get_frame_pc (this_frame);
   if (in_plt_section (addr_in_block)
       /* We also use the stub winder if the target memory is unreadable
 	 to avoid having the prologue unwinder trying to read it.  */
-      || target_read_memory (get_frame_pc (this_frame), dummy, 4) != 0)
+      || target_read_memory (pc, dummy, 4) != 0)
+    return 1;
+
+  if (find_pc_partial_function (pc, &name, &start_addr, NULL) == 0
+      && arm_skip_bx_reg (this_frame, pc) != 0)
     return 1;
 
   return 0;
@@ -3197,14 +3256,9 @@ thumb_in_function_epilogue_p (struct gdb
 	found_return = 1;
       else if (insn == 0x46f7)  /* mov pc, lr */
 	found_return = 1;
-      else if (insn == 0x46bd)  /* mov sp, r7 */
-	found_stack_adjust = 1;
-      else if ((insn & 0xff00) == 0xb000)  /* add sp, imm or sub sp, imm  */
-	found_stack_adjust = 1;
-      else if ((insn & 0xfe00) == 0xbc00)  /* pop <registers> */
+      else if (thumb_instruction_restores_sp (insn))
 	{
-	  found_stack_adjust = 1;
-	  if (insn & 0x0100)  /* <registers> include PC.  */
+	  if ((insn & 0xff00) == 0xbd00)  /* pop <registers, PC> */
 	    found_return = 1;
 	}
       else if (thumb_insn_size (insn) == 4)  /* 32-bit Thumb-2 instruction */
@@ -3217,20 +3271,18 @@ thumb_in_function_epilogue_p (struct gdb
 
 	  if (insn == 0xe8bd)  /* ldm.w sp!, <registers> */
 	    {
-	      found_stack_adjust = 1;
 	      if (insn2 & 0x8000)  /* <registers> include PC.  */
 		found_return = 1;
 	    }
 	  else if (insn == 0xf85d  /* ldr.w <Rt>, [sp], #4 */
 		   && (insn2 & 0x0fff) == 0x0b04)
 	    {
-	      found_stack_adjust = 1;
 	      if ((insn2 & 0xf000) == 0xf000) /* <Rt> is PC.  */
 		found_return = 1;
 	    }
 	  else if ((insn & 0xffbf) == 0xecbd  /* vldm sp!, <list> */
 		   && (insn2 & 0x0e00) == 0x0a00)
-	    found_stack_adjust = 1;
+	    ;
 	  else
 	    break;
 	}
@@ -3247,31 +3299,24 @@ thumb_in_function_epilogue_p (struct gdb
      a 32-bit instruction.  This is just a heuristic, so we do not worry
      too much about false positives.  */
 
-  if (!found_stack_adjust)
-    {
-      if (pc - 4 < func_start)
-	return 0;
-      if (target_read_memory (pc - 4, buf, 4))
-	return 0;
+  if (pc - 4 < func_start)
+    return 0;
+  if (target_read_memory (pc - 4, buf, 4))
+    return 0;
 
-      insn = extract_unsigned_integer (buf, 2, byte_order_for_code);
-      insn2 = extract_unsigned_integer (buf + 2, 2, byte_order_for_code);
+  insn = extract_unsigned_integer (buf, 2, byte_order_for_code);
+  insn2 = extract_unsigned_integer (buf + 2, 2, byte_order_for_code);
 
-      if (insn2 == 0x46bd)  /* mov sp, r7 */
-	found_stack_adjust = 1;
-      else if ((insn2 & 0xff00) == 0xb000)  /* add sp, imm or sub sp, imm  */
-	found_stack_adjust = 1;
-      else if ((insn2 & 0xff00) == 0xbc00)  /* pop <registers> without PC */
-	found_stack_adjust = 1;
-      else if (insn == 0xe8bd)  /* ldm.w sp!, <registers> */
-	found_stack_adjust = 1;
-      else if (insn == 0xf85d  /* ldr.w <Rt>, [sp], #4 */
-	       && (insn2 & 0x0fff) == 0x0b04)
-	found_stack_adjust = 1;
-      else if ((insn & 0xffbf) == 0xecbd  /* vldm sp!, <list> */
-	       && (insn2 & 0x0e00) == 0x0a00)
-	found_stack_adjust = 1;
-    }
+  if (thumb_instruction_restores_sp (insn2))
+    found_stack_adjust = 1;
+  else if (insn == 0xe8bd)  /* ldm.w sp!, <registers> */
+    found_stack_adjust = 1;
+  else if (insn == 0xf85d  /* ldr.w <Rt>, [sp], #4 */
+	   && (insn2 & 0x0fff) == 0x0b04)
+    found_stack_adjust = 1;
+  else if ((insn & 0xffbf) == 0xecbd  /* vldm sp!, <list> */
+	   && (insn2 & 0x0e00) == 0x0a00)
+    found_stack_adjust = 1;
 
   return found_stack_adjust;
 }
@@ -3284,7 +3329,7 @@ arm_in_function_epilogue_p (struct gdbar
 {
   enum bfd_endian byte_order_for_code = gdbarch_byte_order_for_code (gdbarch);
   unsigned int insn;
-  int found_return, found_stack_adjust;
+  int found_return;
   CORE_ADDR func_start, func_end;
 
   if (arm_pc_is_thumb (gdbarch, pc))
@@ -3324,28 +3369,8 @@ arm_in_function_epilogue_p (struct gdbar
   if (pc < func_start + 4)
     return 0;
 
-  found_stack_adjust = 0;
   insn = read_memory_unsigned_integer (pc - 4, 4, byte_order_for_code);
-  if (bits (insn, 28, 31) != INST_NV)
-    {
-      if ((insn & 0x0df0f000) == 0x0080d000)
-	/* ADD SP (register or immediate).  */
-	found_stack_adjust = 1;
-      else if ((insn & 0x0df0f000) == 0x0040d000)
-	/* SUB SP (register or immediate).  */
-	found_stack_adjust = 1;
-      else if ((insn & 0x0ffffff0) == 0x01a0d000)
-	/* MOV SP.  */
-	found_stack_adjust = 1;
-      else if ((insn & 0x0fff0000) == 0x08bd0000)
-	/* POP (LDMIA).  */
-	found_stack_adjust = 1;
-      else if ((insn & 0x0fff0000) == 0x049d0000)
-	/* POP of a single register.  */
-	found_stack_adjust = 1;
-    }
-
-  if (found_stack_adjust)
+  if (arm_instruction_restores_sp (insn))
     return 1;
 
   return 0;
@@ -3496,8 +3521,8 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
    classified from *BASE_TYPE, or two types differently classified
    from each other, return -1, otherwise return the total number of
    base-type elements found (possibly 0 in an empty structure or
-   array).  Vectors and complex types are not currently supported,
-   matching the generic AAPCS support.  */
+   array).  Vector types are not currently supported, matching the
+   generic AAPCS support.  */
 
 static int
 arm_vfp_cprc_sub_candidate (struct type *t,
@@ -3528,6 +3553,38 @@ arm_vfp_cprc_sub_candidate (struct type 
 	}
       break;
 
+    case TYPE_CODE_COMPLEX:
+      /* Arguments of complex T where T is one of the types float or
+	 double get treated as if they are implemented as:
+
+	 struct complexT
+	 {
+	   T real;
+	   T imag;
+	 };
+
+      */
+      switch (TYPE_LENGTH (t))
+	{
+	case 8:
+	  if (*base_type == VFP_CPRC_UNKNOWN)
+	    *base_type = VFP_CPRC_SINGLE;
+	  else if (*base_type != VFP_CPRC_SINGLE)
+	    return -1;
+	  return 2;
+
+	case 16:
+	  if (*base_type == VFP_CPRC_UNKNOWN)
+	    *base_type = VFP_CPRC_DOUBLE;
+	  else if (*base_type != VFP_CPRC_DOUBLE)
+	    return -1;
+	  return 2;
+
+	default:
+	  return -1;
+	}
+      break;
+
     case TYPE_CODE_ARRAY:
       {
 	int count;
@@ -9226,7 +9283,15 @@ arm_skip_stub (struct frame_info *frame,
 
   /* Find the starting address and name of the function containing the PC.  */
   if (find_pc_partial_function (pc, &name, &start_addr, NULL) == 0)
-    return 0;
+    {
+      /* Trampoline 'bx reg' doesn't belong to any functions.  Do the
+	 check here.  */
+      start_addr = arm_skip_bx_reg (frame, pc);
+      if (start_addr != 0)
+	return start_addr;
+
+      return 0;
+    }
 
   /* If PC is in a Thumb call or return stub, return the address of the
      target PC, which is in a register.  The thunk functions are called
@@ -9903,27 +9968,34 @@ arm_gdbarch_init (struct gdbarch_info in
 							OBJ_ATTR_PROC,
 							Tag_ABI_VFP_args))
 			{
-			case 0:
+			case AEABI_VFP_args_base:
 			  /* "The user intended FP parameter/result
 			     passing to conform to AAPCS, base
 			     variant".  */
 			  fp_model = ARM_FLOAT_SOFT_VFP;
 			  break;
-			case 1:
+			case AEABI_VFP_args_vfp:
 			  /* "The user intended FP parameter/result
 			     passing to conform to AAPCS, VFP
 			     variant".  */
 			  fp_model = ARM_FLOAT_VFP;
 			  break;
-			case 2:
+			case AEABI_VFP_args_toolchain:
 			  /* "The user intended FP parameter/result
 			     passing to conform to tool chain-specific
 			     conventions" - we don't know any such
 			     conventions, so leave it as "auto".  */
 			  break;
+			case AEABI_VFP_args_compatible:
+			  /* "Code is compatible with both the base
+			     and VFP variants; the user did not permit
+			     non-variadic functions to pass FP
+			     parameters/results" - leave it as
+			     "auto".  */
+			  break;
 			default:
 			  /* Attribute value not mentioned in the
-			     October 2008 ABI, so leave it as
+			     November 2012 ABI, so leave it as
 			     "auto".  */
 			  break;
 			}
@@ -10576,6 +10648,8 @@ vfp - VFP co-processor."),
 #define THUMB2_INSN_SIZE_BYTES 4
 
 
+/* Position of the bit within a 32-bit ARM instruction
+   that defines whether the instruction is a load or store.  */
 #define INSN_S_L_BIT_NUM 20
 
 #define REG_ALLOC(REGS, LENGTH, RECORD_BUF) \
@@ -11373,110 +11447,90 @@ arm_record_data_proc_imm (insn_decode_re
   return 0;
 }
 
-/* Handling opcode 010 insns.  */
+/* Handle ARM mode instructions with opcode 010.  */
 
 static int
 arm_record_ld_st_imm_offset (insn_decode_record *arm_insn_r)
 {
   struct regcache *reg_cache = arm_insn_r->regcache;
 
-  uint32_t reg_src1 = 0 , reg_dest = 0;
-  uint32_t offset_12 = 0, tgt_mem_addr = 0;
+  uint32_t reg_base , reg_dest;
+  uint32_t offset_12, tgt_mem_addr;
   uint32_t record_buf[8], record_buf_mem[8];
+  unsigned char wback;
+  ULONGEST u_regval;
 
-  ULONGEST u_regval = 0;
+  /* Calculate wback.  */
+  wback = (bit (arm_insn_r->arm_insn, 24) == 0)
+	  || (bit (arm_insn_r->arm_insn, 21) == 1);
 
-  arm_insn_r->opcode = bits (arm_insn_r->arm_insn, 21, 24);
-  arm_insn_r->decode = bits (arm_insn_r->arm_insn, 4, 7);
+  arm_insn_r->reg_rec_count = 0;
+  reg_base = bits (arm_insn_r->arm_insn, 16, 19);
 
   if (bit (arm_insn_r->arm_insn, INSN_S_L_BIT_NUM))
     {
+      /* LDR (immediate), LDR (literal), LDRB (immediate), LDRB (literal), LDRBT
+	 and LDRT.  */
+
       reg_dest = bits (arm_insn_r->arm_insn, 12, 15);
-      /* LDR insn has a capability to do branching, if
-         MOV LR, PC is precedded by LDR insn having Rn as R15
-         in that case, it emulates branch and link insn, and hence we
-         need to save CSPR and PC as well.  */
-      if (ARM_PC_REGNUM != reg_dest)
-        {
-          record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
-          arm_insn_r->reg_rec_count = 1;
-        }
-      else
-        {
-          record_buf[0] = reg_dest;
-          record_buf[1] = ARM_PS_REGNUM;
-          arm_insn_r->reg_rec_count = 2;
-        }
+      record_buf[arm_insn_r->reg_rec_count++] = reg_dest;
+
+      /* The LDR instruction is capable of doing branching.  If MOV LR, PC
+	 preceeds a LDR instruction having R15 as reg_base, it
+	 emulates a branch and link instruction, and hence we need to save
+	 CPSR and PC as well.  */
+      if (ARM_PC_REGNUM == reg_dest)
+	record_buf[arm_insn_r->reg_rec_count++] = ARM_PS_REGNUM;
+
+      /* If wback is true, also save the base register, which is going to be
+	 written to.  */
+      if (wback)
+	record_buf[arm_insn_r->reg_rec_count++] = reg_base;
     }
   else
     {
-      /* Store, immediate offset, immediate pre-indexed,
-         immediate post-indexed.  */
-      reg_src1 = bits (arm_insn_r->arm_insn, 16, 19);
+      /* STR (immediate), STRB (immediate), STRBT and STRT.  */
+
       offset_12 = bits (arm_insn_r->arm_insn, 0, 11);
-      regcache_raw_read_unsigned (reg_cache, reg_src1, &u_regval);
-      /* U == 1 */
+      regcache_raw_read_unsigned (reg_cache, reg_base, &u_regval);
+
+      /* Handle bit U.  */
       if (bit (arm_insn_r->arm_insn, 23))
-        {
-          tgt_mem_addr = u_regval + offset_12;
-        }
+	{
+	  /* U == 1: Add the offset. */
+	  tgt_mem_addr = (uint32_t) u_regval + offset_12;
+	}
       else
-        {
-          tgt_mem_addr = u_regval - offset_12;
-        }
+	{
+	  /* U == 0: subtract the offset. */
+	  tgt_mem_addr = (uint32_t) u_regval - offset_12;
+	}
+
+      /* Bit 22 tells us whether the store instruction writes 1 byte or 4
+	 bytes.  */
+      if (bit (arm_insn_r->arm_insn, 22))
+	{
+	  /* STRB and STRBT: 1 byte.  */
+	  record_buf_mem[0] = 1;
+	}
+      else
+	{
+	  /* STR and STRT: 4 bytes.  */
+	  record_buf_mem[0] = 4;
+	}
+
+      /* Handle bit P.  */
+      if (bit (arm_insn_r->arm_insn, 24))
+	record_buf_mem[1] = tgt_mem_addr;
+      else
+	record_buf_mem[1] = (uint32_t) u_regval;
 
-      switch (arm_insn_r->opcode)
-        {
-          /* STR.  */
-          case 8:
-          case 12:
-          /* STR.  */
-          case 9:
-          case 13:
-          /* STRT.  */    
-          case 1:
-          case 5:
-          /* STR.  */    
-          case 4:
-          case 0:
-            record_buf_mem[0] = 4;
-          break;
-
-          /* STRB.  */
-          case 10:
-          case 14:
-          /* STRB.  */    
-          case 11:
-          case 15:
-          /* STRBT.  */    
-          case 3:
-          case 7:
-          /* STRB.  */    
-          case 2:
-          case 6:
-            record_buf_mem[0] = 1;
-          break;
-
-          default:
-            gdb_assert_not_reached ("no decoding pattern found");
-          break;
-        }
-      record_buf_mem[1] = tgt_mem_addr;
       arm_insn_r->mem_rec_count = 1;
 
-      if (9 == arm_insn_r->opcode || 11 == arm_insn_r->opcode
-          || 13 == arm_insn_r->opcode || 15 == arm_insn_r->opcode
-          || 0 == arm_insn_r->opcode || 2 == arm_insn_r->opcode
-          || 4 == arm_insn_r->opcode || 6 == arm_insn_r->opcode
-          || 1 == arm_insn_r->opcode || 3 == arm_insn_r->opcode
-          || 5 == arm_insn_r->opcode || 7 == arm_insn_r->opcode
-         )
-        {
-          /* We are handling pre-indexed mode; post-indexed mode;
-             where Rn is going to be changed.  */
-          record_buf[0] = reg_src1;
-          arm_insn_r->reg_rec_count = 1;
-        }
+      /* If wback is true, also save the base register, which is going to be
+	 written to.  */
+      if (wback)
+	record_buf[arm_insn_r->reg_rec_count++] = reg_base;
     }
 
   REG_ALLOC (arm_insn_r->arm_regs, arm_insn_r->reg_rec_count, record_buf);
@@ -11747,134 +11801,99 @@ arm_record_ld_st_reg_offset (insn_decode
   return 0;
 }
 
-/* Handling opcode 100 insns.  */
+/* Handle ARM mode instructions with opcode 100.  */
 
 static int
 arm_record_ld_st_multiple (insn_decode_record *arm_insn_r)
 {
   struct regcache *reg_cache = arm_insn_r->regcache;
-
-  uint32_t register_list[16] = {0}, register_count = 0, register_bits = 0;
-  uint32_t reg_src1 = 0, addr_mode = 0, no_of_regs = 0;
-  uint32_t start_address = 0, index = 0;
+  uint32_t register_count = 0, register_bits;
+  uint32_t reg_base, addr_mode;
   uint32_t record_buf[24], record_buf_mem[48];
+  uint32_t wback;
+  ULONGEST u_regval;
 
-  ULONGEST u_regval[2] = {0};
+  /* Fetch the list of registers.  */
+  register_bits = bits (arm_insn_r->arm_insn, 0, 15);
+  arm_insn_r->reg_rec_count = 0;
+
+  /* Fetch the base register that contains the address we are loading data
+     to.  */
+  reg_base = bits (arm_insn_r->arm_insn, 16, 19);
 
-  /* This mode is exclusively for load and store multiple.  */
-  /* Handle incremenrt after/before and decrment after.before mode;
-     Rn is changing depending on W bit, but as of now we store Rn too
-     without optimization.  */
+  /* Calculate wback.  */
+  wback = (bit (arm_insn_r->arm_insn, 21) == 1);
 
   if (bit (arm_insn_r->arm_insn, INSN_S_L_BIT_NUM))
     {
-      /* LDM  (1,2,3) where LDM  (3) changes CPSR too.  */
+      /* LDM/LDMIA/LDMFD, LDMDA/LDMFA, LDMDB and LDMIB.  */
 
-      if (bit (arm_insn_r->arm_insn, 20) && !bit (arm_insn_r->arm_insn, 22))
-        {
-          register_bits = bits (arm_insn_r->arm_insn, 0, 15);
-          no_of_regs = 15;
-        }
-      else
-        {
-          register_bits = bits (arm_insn_r->arm_insn, 0, 14);
-          no_of_regs = 14;
-        }
-      /* Get Rn.  */
-      reg_src1 = bits (arm_insn_r->arm_insn, 16, 19);
+      /* Find out which registers are going to be loaded from memory.  */
       while (register_bits)
-      {
-        if (register_bits & 0x00000001)
-          record_buf[index++] = register_count;
-        register_bits = register_bits >> 1;
-        register_count++;
-      }
+	{
+	  if (register_bits & 0x00000001)
+	    record_buf[arm_insn_r->reg_rec_count++] = register_count;
+	  register_bits = register_bits >> 1;
+	  register_count++;
+	}
+
+  
+      /* If wback is true, also save the base register, which is going to be
+	 written to.  */
+      if (wback)
+	record_buf[arm_insn_r->reg_rec_count++] = reg_base;
 
-        /* Extra space for Base Register and CPSR; wihtout optimization.  */
-        record_buf[index++] = reg_src1;
-        record_buf[index++] = ARM_PS_REGNUM;
-        arm_insn_r->reg_rec_count = index;
+      /* Save the CPSR register.  */
+      record_buf[arm_insn_r->reg_rec_count++] = ARM_PS_REGNUM;
     }
   else
     {
-      /* It handles both STM(1) and STM(2).  */
-      addr_mode = bits (arm_insn_r->arm_insn, 23, 24);    
+      /* STM (STMIA, STMEA), STMDA (STMED), STMDB (STMFD) and STMIB (STMFA).  */
 
-      register_bits = bits (arm_insn_r->arm_insn, 0, 15);
-      /* Get Rn.  */
-      reg_src1 = bits (arm_insn_r->arm_insn, 16, 19);
-      regcache_raw_read_unsigned (reg_cache, reg_src1, &u_regval[0]);
+      addr_mode = bits (arm_insn_r->arm_insn, 23, 24); 
+
+      regcache_raw_read_unsigned (reg_cache, reg_base, &u_regval);
+
+      /* Find out how many registers are going to be stored to memory.  */
       while (register_bits)
-        {
-          if (register_bits & 0x00000001)
-            register_count++;
-          register_bits = register_bits >> 1;
-        }
+	{
+	  if (register_bits & 0x00000001)
+	    register_count++;
+	  register_bits = register_bits >> 1;
+	}
 
       switch (addr_mode)
-        {
-          /* Decrement after.  */
-          case 0:                          
-            start_address = (u_regval[0]) - (register_count * 4) + 4;
-            arm_insn_r->mem_rec_count = register_count;
-            while (register_count)
-              {
-                record_buf_mem[(register_count * 2) - 1] = start_address;
-                record_buf_mem[(register_count * 2) - 2] = 4;
-                start_address = start_address + 4;
-                register_count--;
-              }
-          break;    
-
-          /* Increment after.  */
-          case 1:
-            start_address = u_regval[0];
-            arm_insn_r->mem_rec_count = register_count;
-            while (register_count)
-              {
-                record_buf_mem[(register_count * 2) - 1] = start_address;
-                record_buf_mem[(register_count * 2) - 2] = 4;
-                start_address = start_address + 4;
-                register_count--;
-              }
-          break;    
-
-          /* Decrement before.  */
-          case 2:
-
-            start_address = (u_regval[0]) - (register_count * 4);
-            arm_insn_r->mem_rec_count = register_count;
-            while (register_count)
-              {
-                record_buf_mem[(register_count * 2) - 1] = start_address;
-                record_buf_mem[(register_count * 2) - 2] = 4;
-                start_address = start_address + 4;
-                register_count--;
-              }
-          break;    
-
-          /* Increment before.  */
-          case 3:
-            start_address = u_regval[0] + 4;
-            arm_insn_r->mem_rec_count = register_count;
-            while (register_count)
-              {
-                record_buf_mem[(register_count * 2) - 1] = start_address;
-                record_buf_mem[(register_count * 2) - 2] = 4;
-                start_address = start_address + 4;
-                register_count--;
-              }
-          break;    
-
-          default:
-            gdb_assert_not_reached ("no decoding pattern found");
-          break;    
-        }
+	{
+	  /* STMDA (STMED): Decrement after.  */
+	  case 0:
+	  record_buf_mem[1] = (uint32_t) u_regval
+			      - register_count * INT_REGISTER_SIZE + 4;
+	  break;
+	  /* STM (STMIA, STMEA): Increment after.  */
+	  case 1:
+	  record_buf_mem[1] = (uint32_t) u_regval;
+	  break;
+	  /* STMDB (STMFD): Decrement before.  */
+	  case 2:
+	  record_buf_mem[1] = (uint32_t) u_regval
+			      - register_count * INT_REGISTER_SIZE;
+	  break;
+	  /* STMIB (STMFA): Increment before.  */
+	  case 3:
+	  record_buf_mem[1] = (uint32_t) u_regval + INT_REGISTER_SIZE;
+	  break;
+	  default:
+	    gdb_assert_not_reached ("no decoding pattern found");
+	  break;
+	}
 
-      /* Base register also changes; based on condition and W bit.  */
-      /* We save it anyway without optimization.  */
-      record_buf[0] = reg_src1;
-      arm_insn_r->reg_rec_count = 1;
+      record_buf_mem[0] = register_count * INT_REGISTER_SIZE;
+      arm_insn_r->mem_rec_count = 1;
+
+      /* If wback is true, also save the base register, which is going to be
+	 written to.  */
+      if (wback)
+	record_buf[arm_insn_r->reg_rec_count++] = reg_base;
     }
 
   REG_ALLOC (arm_insn_r->arm_regs, arm_insn_r->reg_rec_count, record_buf);
@@ -11916,47 +11935,617 @@ arm_record_unsupported_insn (insn_decode
   return -1;
 }
 
-/* Handling opcode 111 insns.  */
+/* Record handler for vector data transfer instructions.  */
 
 static int
-arm_record_coproc_data_proc (insn_decode_record *arm_insn_r)
+arm_record_vdata_transfer_insn (insn_decode_record *arm_insn_r)
 {
-  struct gdbarch_tdep *tdep = gdbarch_tdep (arm_insn_r->gdbarch);
-  struct regcache *reg_cache = arm_insn_r->regcache;
-  uint32_t ret = 0; /* function return value: -1:record failure ;  0:success  */
-  ULONGEST u_regval = 0;
+  uint32_t bits_a, bit_c, bit_l, reg_t, reg_v;
+  uint32_t record_buf[4];
 
-  arm_insn_r->opcode = bits (arm_insn_r->arm_insn, 24, 27);
+  const int num_regs = gdbarch_num_regs (arm_insn_r->gdbarch);
+  reg_t = bits (arm_insn_r->arm_insn, 12, 15);
+  reg_v = bits (arm_insn_r->arm_insn, 21, 23);
+  bits_a = bits (arm_insn_r->arm_insn, 21, 23);
+  bit_l = bit (arm_insn_r->arm_insn, 20);
+  bit_c = bit (arm_insn_r->arm_insn, 8);
 
-  /* Handle arm SWI/SVC system call instructions.  */
-  if (15 == arm_insn_r->opcode)
+  /* Handle VMOV instruction.  */
+  if (bit_l && bit_c)
     {
-      if (tdep->arm_syscall_record != NULL)
+      record_buf[0] = reg_t;
+      arm_insn_r->reg_rec_count = 1;
+    }
+  else if (bit_l && !bit_c)
+    {
+      /* Handle VMOV instruction.  */
+      if (bits_a == 0x00)
         {
-          ULONGEST svc_operand, svc_number;
-
-          svc_operand = (0x00ffffff & arm_insn_r->arm_insn);
+          if (bit (arm_insn_r->arm_insn, 20))
+            record_buf[0] = reg_t;
+          else
+            record_buf[0] = num_regs + (bit (arm_insn_r->arm_insn, 7) |
+                            (reg_v << 1));
 
-          if (svc_operand)  /* OABI.  */
+          arm_insn_r->reg_rec_count = 1;
+        }
+      /* Handle VMRS instruction.  */
+      else if (bits_a == 0x07)
+        {
+          if (reg_t == 15)
+            reg_t = ARM_PS_REGNUM;
+
+          record_buf[0] = reg_t;
+          arm_insn_r->reg_rec_count = 1;
+        }
+    }
+  else if (!bit_l && !bit_c)
+    {
+      /* Handle VMOV instruction.  */
+      if (bits_a == 0x00)
+        {
+          if (bit (arm_insn_r->arm_insn, 20))
+            record_buf[0] = reg_t;
+          else
+            record_buf[0] = num_regs + (bit (arm_insn_r->arm_insn, 7) |
+                            (reg_v << 1));
+
+          arm_insn_r->reg_rec_count = 1;
+        }
+      /* Handle VMSR instruction.  */
+      else if (bits_a == 0x07)
+        {
+          record_buf[0] = ARM_FPSCR_REGNUM;
+          arm_insn_r->reg_rec_count = 1;
+        }
+    }
+  else if (!bit_l && bit_c)
+    {
+      /* Handle VMOV instruction.  */
+      if (!(bits_a & 0x04))
+        {
+          record_buf[0] = (reg_v | (bit (arm_insn_r->arm_insn, 7) << 4))
+                          + ARM_D0_REGNUM;
+          arm_insn_r->reg_rec_count = 1;
+        }
+      /* Handle VDUP instruction.  */
+      else
+        {
+          if (bit (arm_insn_r->arm_insn, 21))
+            {
+              reg_v = reg_v | (bit (arm_insn_r->arm_insn, 7) << 4);
+              record_buf[0] = reg_v + ARM_D0_REGNUM;
+              record_buf[1] = reg_v + ARM_D0_REGNUM + 1;
+              arm_insn_r->reg_rec_count = 2;
+            }
+          else
+            {
+              reg_v = reg_v | (bit (arm_insn_r->arm_insn, 7) << 4);
+              record_buf[0] = reg_v + ARM_D0_REGNUM;
+              arm_insn_r->reg_rec_count = 1;
+            }
+        }
+    }
+
+  REG_ALLOC (arm_insn_r->arm_regs, arm_insn_r->reg_rec_count, record_buf);
+  return 0;
+}
+
+/* Record handler for extension register load/store instructions.  */
+
+static int
+arm_record_exreg_ld_st_insn (insn_decode_record *arm_insn_r)
+{
+  uint32_t opcode, single_reg;
+  uint8_t op_vldm_vstm;
+  uint32_t record_buf[8], record_buf_mem[128];
+  ULONGEST u_regval = 0;
+
+  struct regcache *reg_cache = arm_insn_r->regcache;
+  const int num_regs = gdbarch_num_regs (arm_insn_r->gdbarch);
+
+  opcode = bits (arm_insn_r->arm_insn, 20, 24);
+  single_reg = bit (arm_insn_r->arm_insn, 8);
+  op_vldm_vstm = opcode & 0x1b;
+
+  /* Handle VMOV instructions.  */
+  if ((opcode & 0x1e) == 0x04)
+    {
+      if (bit (arm_insn_r->arm_insn, 4))
+        {
+          record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+          record_buf[1] = bits (arm_insn_r->arm_insn, 16, 19);
+          arm_insn_r->reg_rec_count = 2;
+        }
+      else
+        {
+          uint8_t reg_m = (bits (arm_insn_r->arm_insn, 0, 3) << 1)
+                          | bit (arm_insn_r->arm_insn, 5);
+
+          if (!single_reg)
+            {
+              record_buf[0] = num_regs + reg_m;
+              record_buf[1] = num_regs + reg_m + 1;
+              arm_insn_r->reg_rec_count = 2;
+            }
+          else
+            {
+              record_buf[0] = reg_m + ARM_D0_REGNUM;
+              arm_insn_r->reg_rec_count = 1;
+            }
+        }
+    }
+  /* Handle VSTM and VPUSH instructions.  */
+  else if (op_vldm_vstm == 0x08 || op_vldm_vstm == 0x0a
+          || op_vldm_vstm == 0x12)
+    {
+      uint32_t start_address, reg_rn, imm_off32, imm_off8, memory_count;
+      uint32_t memory_index = 0;
+
+      reg_rn = bits (arm_insn_r->arm_insn, 16, 19);
+      regcache_raw_read_unsigned (reg_cache, reg_rn, &u_regval);
+      imm_off8 = bits (arm_insn_r->arm_insn, 0, 7);
+      imm_off32 = imm_off8 << 24;
+      memory_count = imm_off8;
+
+      if (bit (arm_insn_r->arm_insn, 23))
+        start_address = u_regval;
+      else
+        start_address = u_regval - imm_off32;
+
+      if (bit (arm_insn_r->arm_insn, 21))
+        {
+          record_buf[0] = reg_rn;
+          arm_insn_r->reg_rec_count = 1;
+        }
+
+      while (memory_count > 0)
+        {
+          if (!single_reg)
+            {
+              record_buf_mem[memory_index] = start_address;
+              record_buf_mem[memory_index + 1] = 4;
+              start_address = start_address + 4;
+              memory_index = memory_index + 2;
+            }
+          else
+            {
+              record_buf_mem[memory_index] = start_address;
+              record_buf_mem[memory_index + 1] = 4;
+              record_buf_mem[memory_index + 2] = start_address + 4;
+              record_buf_mem[memory_index + 3] = 4;
+              start_address = start_address + 8;
+              memory_index = memory_index + 4;
+            }
+          memory_count--;
+        }
+      arm_insn_r->mem_rec_count = (memory_index >> 1);
+    }
+  /* Handle VLDM instructions.  */
+  else if (op_vldm_vstm == 0x09 || op_vldm_vstm == 0x0b
+          || op_vldm_vstm == 0x13)
+    {
+      uint32_t reg_count, reg_vd;
+      uint32_t reg_index = 0;
+
+      reg_vd = bits (arm_insn_r->arm_insn, 12, 15);
+      reg_count = bits (arm_insn_r->arm_insn, 0, 7);
+
+      if (single_reg)
+        reg_vd = reg_vd | (bit (arm_insn_r->arm_insn, 22) << 4);
+      else
+        reg_vd = (reg_vd << 1) | bit (arm_insn_r->arm_insn, 22);
+
+      if (bit (arm_insn_r->arm_insn, 21))
+        record_buf[reg_index++] = bits (arm_insn_r->arm_insn, 16, 19);
+
+      while (reg_count > 0)
+        {
+          if (single_reg)
+              record_buf[reg_index++] = num_regs + reg_vd + reg_count - 1;
+          else
+              record_buf[reg_index++] = ARM_D0_REGNUM + reg_vd + reg_count - 1;
+
+          reg_count--;
+        }
+      arm_insn_r->reg_rec_count = reg_index;
+    }
+  /* VSTR Vector store register.  */
+  else if ((opcode & 0x13) == 0x10)
+    {
+      uint32_t start_address, reg_rn, imm_off32, imm_off8, memory_count;
+      uint32_t memory_index = 0;
+
+      reg_rn = bits (arm_insn_r->arm_insn, 16, 19);
+      regcache_raw_read_unsigned (reg_cache, reg_rn, &u_regval);
+      imm_off8 = bits (arm_insn_r->arm_insn, 0, 7);
+      imm_off32 = imm_off8 << 24;
+      memory_count = imm_off8;
+
+      if (bit (arm_insn_r->arm_insn, 23))
+        start_address = u_regval + imm_off32;
+      else
+        start_address = u_regval - imm_off32;
+
+      if (single_reg)
+        {
+          record_buf_mem[memory_index] = start_address;
+          record_buf_mem[memory_index + 1] = 4;
+          arm_insn_r->mem_rec_count = 1;
+        }
+      else
+        {
+          record_buf_mem[memory_index] = start_address;
+          record_buf_mem[memory_index + 1] = 4;
+          record_buf_mem[memory_index + 2] = start_address + 4;
+          record_buf_mem[memory_index + 3] = 4;
+          arm_insn_r->mem_rec_count = 2;
+        }
+    }
+  /* VLDR Vector load register.  */
+  else if ((opcode & 0x13) == 0x11)
+    {
+      uint32_t reg_vd = bits (arm_insn_r->arm_insn, 12, 15);
+
+      if (!single_reg)
+        {
+          reg_vd = reg_vd | (bit (arm_insn_r->arm_insn, 22) << 4);
+          record_buf[0] = ARM_D0_REGNUM + reg_vd;
+        }
+      else
+        {
+          reg_vd = (reg_vd << 1) | bit (arm_insn_r->arm_insn, 22);
+          record_buf[0] = num_regs + reg_vd;
+        }
+      arm_insn_r->reg_rec_count = 1;
+    }
+
+  REG_ALLOC (arm_insn_r->arm_regs, arm_insn_r->reg_rec_count, record_buf);
+  MEM_ALLOC (arm_insn_r->arm_mems, arm_insn_r->mem_rec_count, record_buf_mem);
+  return 0;
+}
+
+/* Record handler for arm/thumb mode VFP data processing instructions.  */
+
+static int
+arm_record_vfp_data_proc_insn (insn_decode_record *arm_insn_r)
+{
+  uint32_t opc1, opc2, opc3, dp_op_sz, bit_d, reg_vd;
+  uint32_t record_buf[4];
+  enum insn_types {INSN_T0, INSN_T1, INSN_T2, INSN_T3, INSN_INV};
+  enum insn_types curr_insn_type = INSN_INV;
+
+  reg_vd = bits (arm_insn_r->arm_insn, 12, 15);
+  opc1 = bits (arm_insn_r->arm_insn, 20, 23);
+  opc2 = bits (arm_insn_r->arm_insn, 16, 19);
+  opc3 = bits (arm_insn_r->arm_insn, 6, 7);
+  dp_op_sz = bit (arm_insn_r->arm_insn, 8);
+  bit_d = bit (arm_insn_r->arm_insn, 22);
+  opc1 = opc1 & 0x04;
+
+  /* Handle VMLA, VMLS.  */
+  if (opc1 == 0x00)
+    {
+      if (bit (arm_insn_r->arm_insn, 10))
+        {
+          if (bit (arm_insn_r->arm_insn, 6))
+            curr_insn_type = INSN_T0;
+          else
+            curr_insn_type = INSN_T1;
+        }
+      else
+        {
+          if (dp_op_sz)
+            curr_insn_type = INSN_T1;
+          else
+            curr_insn_type = INSN_T2;
+        }
+    }
+  /* Handle VNMLA, VNMLS, VNMUL.  */
+  else if (opc1 == 0x01)
+    {
+      if (dp_op_sz)
+        curr_insn_type = INSN_T1;
+      else
+        curr_insn_type = INSN_T2;
+    }
+  /* Handle VMUL.  */
+  else if (opc1 == 0x02 && !(opc3 & 0x01))
+    {
+      if (bit (arm_insn_r->arm_insn, 10))
+        {
+          if (bit (arm_insn_r->arm_insn, 6))
+            curr_insn_type = INSN_T0;
+          else
+            curr_insn_type = INSN_T1;
+        }
+      else
+        {
+          if (dp_op_sz)
+            curr_insn_type = INSN_T1;
+          else
+            curr_insn_type = INSN_T2;
+        }
+    }
+  /* Handle VADD, VSUB.  */
+  else if (opc1 == 0x03)
+    {
+      if (!bit (arm_insn_r->arm_insn, 9))
+        {
+          if (bit (arm_insn_r->arm_insn, 6))
+            curr_insn_type = INSN_T0;
+          else
+            curr_insn_type = INSN_T1;
+        }
+      else
+        {
+          if (dp_op_sz)
+            curr_insn_type = INSN_T1;
+          else
+            curr_insn_type = INSN_T2;
+        }
+    }
+  /* Handle VDIV.  */
+  else if (opc1 == 0x0b)
+    {
+      if (dp_op_sz)
+        curr_insn_type = INSN_T1;
+      else
+        curr_insn_type = INSN_T2;
+    }
+  /* Handle all other vfp data processing instructions.  */
+  else if (opc1 == 0x0b)
+    {
+      /* Handle VMOV.  */
+      if (!(opc3 & 0x01) || (opc2 == 0x00 && opc3 == 0x01))
+        {
+          if (bit (arm_insn_r->arm_insn, 4))
+            {
+              if (bit (arm_insn_r->arm_insn, 6))
+                curr_insn_type = INSN_T0;
+              else
+                curr_insn_type = INSN_T1;
+            }
+          else
+            {
+              if (dp_op_sz)
+                curr_insn_type = INSN_T1;
+              else
+                curr_insn_type = INSN_T2;
+            }
+        }
+      /* Handle VNEG and VABS.  */
+      else if ((opc2 == 0x01 && opc3 == 0x01)
+              || (opc2 == 0x00 && opc3 == 0x03))
+        {
+          if (!bit (arm_insn_r->arm_insn, 11))
+            {
+              if (bit (arm_insn_r->arm_insn, 6))
+                curr_insn_type = INSN_T0;
+              else
+                curr_insn_type = INSN_T1;
+            }
+          else
+            {
+              if (dp_op_sz)
+                curr_insn_type = INSN_T1;
+              else
+                curr_insn_type = INSN_T2;
+            }
+        }
+      /* Handle VSQRT.  */
+      else if (opc2 == 0x01 && opc3 == 0x03)
+        {
+          if (dp_op_sz)
+            curr_insn_type = INSN_T1;
+          else
+            curr_insn_type = INSN_T2;
+        }
+      /* Handle VCVT.  */
+      else if (opc2 == 0x07 && opc3 == 0x03)
+        {
+          if (!dp_op_sz)
+            curr_insn_type = INSN_T1;
+          else
+            curr_insn_type = INSN_T2;
+        }
+      else if (opc3 & 0x01)
+        {
+          /* Handle VCVT.  */
+          if ((opc2 == 0x08) || (opc2 & 0x0e) == 0x0c)
+            {
+              if (!bit (arm_insn_r->arm_insn, 18))
+                curr_insn_type = INSN_T2;
+              else
+                {
+                  if (dp_op_sz)
+                    curr_insn_type = INSN_T1;
+                  else
+                    curr_insn_type = INSN_T2;
+                }
+            }
+          /* Handle VCVT.  */
+          else if ((opc2 & 0x0e) == 0x0a || (opc2 & 0x0e) == 0x0e)
+            {
+              if (dp_op_sz)
+                curr_insn_type = INSN_T1;
+              else
+                curr_insn_type = INSN_T2;
+            }
+          /* Handle VCVTB, VCVTT.  */
+          else if ((opc2 & 0x0e) == 0x02)
+            curr_insn_type = INSN_T2;
+          /* Handle VCMP, VCMPE.  */
+          else if ((opc2 & 0x0e) == 0x04)
+            curr_insn_type = INSN_T3;
+        }
+    }
+
+  switch (curr_insn_type)
+    {
+      case INSN_T0:
+        reg_vd = reg_vd | (bit_d << 4);
+        record_buf[0] = reg_vd + ARM_D0_REGNUM;
+        record_buf[1] = reg_vd + ARM_D0_REGNUM + 1;
+        arm_insn_r->reg_rec_count = 2;
+        break;
+
+      case INSN_T1:
+        reg_vd = reg_vd | (bit_d << 4);
+        record_buf[0] = reg_vd + ARM_D0_REGNUM;
+        arm_insn_r->reg_rec_count = 1;
+        break;
+
+      case INSN_T2:
+        reg_vd = (reg_vd << 1) | bit_d;
+        record_buf[0] = reg_vd + ARM_D0_REGNUM;
+        arm_insn_r->reg_rec_count = 1;
+        break;
+
+      case INSN_T3:
+        record_buf[0] = ARM_FPSCR_REGNUM;
+        arm_insn_r->reg_rec_count = 1;
+        break;
+
+      default:
+        gdb_assert_not_reached ("no decoding pattern found");
+        break;
+    }
+
+  REG_ALLOC (arm_insn_r->arm_regs, arm_insn_r->reg_rec_count, record_buf);
+  return 0;
+}
+
+/* Handling opcode 110 insns.  */
+
+static int
+arm_record_asimd_vfp_coproc (insn_decode_record *arm_insn_r)
+{
+  uint32_t op, op1, op1_sbit, op1_ebit, coproc;
+
+  coproc = bits (arm_insn_r->arm_insn, 8, 11);
+  op1 = bits (arm_insn_r->arm_insn, 20, 25);
+  op1_ebit = bit (arm_insn_r->arm_insn, 20);
+
+  if ((coproc & 0x0e) == 0x0a)
+    {
+      /* Handle extension register ld/st instructions.  */
+      if (!(op1 & 0x20))
+        return arm_record_exreg_ld_st_insn (arm_insn_r);
+
+      /* 64-bit transfers between arm core and extension registers.  */
+      if ((op1 & 0x3e) == 0x04)
+        return arm_record_exreg_ld_st_insn (arm_insn_r);
+    }
+  else
+    {
+      /* Handle coprocessor ld/st instructions.  */
+      if (!(op1 & 0x3a))
+        {
+          /* Store.  */
+          if (!op1_ebit)
+            return arm_record_unsupported_insn (arm_insn_r);
+          else
+            /* Load.  */
+            return arm_record_unsupported_insn (arm_insn_r);
+        }
+
+      /* Move to coprocessor from two arm core registers.  */
+      if (op1 == 0x4)
+        return arm_record_unsupported_insn (arm_insn_r);
+
+      /* Move to two arm core registers from coprocessor.  */
+      if (op1 == 0x5)
+        {
+          uint32_t reg_t[2];
+
+          reg_t[0] = bits (arm_insn_r->arm_insn, 12, 15);
+          reg_t[1] = bits (arm_insn_r->arm_insn, 16, 19);
+          arm_insn_r->reg_rec_count = 2;
+
+          REG_ALLOC (arm_insn_r->arm_regs, arm_insn_r->reg_rec_count, reg_t);
+          return 0;
+       }
+    }
+  return arm_record_unsupported_insn (arm_insn_r);
+}
+
+/* Handling opcode 111 insns.  */
+
+static int
+arm_record_coproc_data_proc (insn_decode_record *arm_insn_r)
+{
+  uint32_t op, op1_sbit, op1_ebit, coproc;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (arm_insn_r->gdbarch);
+  struct regcache *reg_cache = arm_insn_r->regcache;
+  ULONGEST u_regval = 0;
+
+  arm_insn_r->opcode = bits (arm_insn_r->arm_insn, 24, 27);
+  coproc = bits (arm_insn_r->arm_insn, 8, 11);
+  op1_sbit = bit (arm_insn_r->arm_insn, 24);
+  op1_ebit = bit (arm_insn_r->arm_insn, 20);
+  op = bit (arm_insn_r->arm_insn, 4);
+
+  /* Handle arm SWI/SVC system call instructions.  */
+  if (op1_sbit)
+    {
+      if (tdep->arm_syscall_record != NULL)
+        {
+          ULONGEST svc_operand, svc_number;
+
+          svc_operand = (0x00ffffff & arm_insn_r->arm_insn);
+
+          if (svc_operand)  /* OABI.  */
             svc_number = svc_operand - 0x900000;
           else /* EABI.  */
             regcache_raw_read_unsigned (reg_cache, 7, &svc_number);
 
-          ret = tdep->arm_syscall_record (reg_cache, svc_number);
+          return tdep->arm_syscall_record (reg_cache, svc_number);
         }
       else
         {
           printf_unfiltered (_("no syscall record support\n"));
-          ret = -1;
+          return -1;
         }
     }
+
+  if ((coproc & 0x0e) == 0x0a)
+    {
+      /* VFP data-processing instructions.  */
+      if (!op1_sbit && !op)
+        return arm_record_vfp_data_proc_insn (arm_insn_r);
+
+      /* Advanced SIMD, VFP instructions.  */
+      if (!op1_sbit && op)
+        return arm_record_vdata_transfer_insn (arm_insn_r);
+    }
   else
     {
-      arm_record_unsupported_insn (arm_insn_r);
-      ret = -1;
+      /* Coprocessor data operations.  */
+      if (!op1_sbit && !op)
+        return arm_record_unsupported_insn (arm_insn_r);
+
+      /* Move to Coprocessor from ARM core register.  */
+      if (!op1_sbit && !op1_ebit && op)
+        return arm_record_unsupported_insn (arm_insn_r);
+
+      /* Move to arm core register from coprocessor.  */
+      if (!op1_sbit && op1_ebit && op)
+        {
+          uint32_t record_buf[1];
+
+          record_buf[0] = bits (arm_insn_r->arm_insn, 12, 15);
+          if (record_buf[0] == 15)
+            record_buf[0] = ARM_PS_REGNUM;
+
+          arm_insn_r->reg_rec_count = 1;
+          REG_ALLOC (arm_insn_r->arm_regs, arm_insn_r->reg_rec_count,
+                     record_buf);
+          return 0;
+        }
     }
 
-  return ret;
+  return arm_record_unsupported_insn (arm_insn_r);
 }
 
 /* Handling opcode 000 insns.  */
@@ -12872,6 +13461,206 @@ thumb2_record_lmul_lmla_div (insn_decode
   return ARM_RECORD_SUCCESS;
 }
 
+/* Record handler for thumb32 coprocessor instructions.  */
+
+static int
+thumb2_record_coproc_insn (insn_decode_record *thumb2_insn_r)
+{
+  if (bit (thumb2_insn_r->arm_insn, 25))
+    return arm_record_coproc_data_proc (thumb2_insn_r);
+  else
+    return arm_record_asimd_vfp_coproc (thumb2_insn_r);
+}
+
+/* Record handler for advance SIMD structure load/store instructions.  */
+
+static int
+thumb2_record_asimd_struct_ld_st (insn_decode_record *thumb2_insn_r)
+{
+  struct regcache *reg_cache = thumb2_insn_r->regcache;
+  uint32_t l_bit, a_bit, b_bits;
+  uint32_t record_buf[128], record_buf_mem[128];
+  uint32_t reg_rn, reg_vd, address, f_esize, f_elem;
+  uint32_t index_r = 0, index_e = 0, bf_regs = 0, index_m = 0, loop_t = 0;
+  uint8_t f_ebytes;
+
+  l_bit = bit (thumb2_insn_r->arm_insn, 21);
+  a_bit = bit (thumb2_insn_r->arm_insn, 23);
+  b_bits = bits (thumb2_insn_r->arm_insn, 8, 11);
+  reg_rn = bits (thumb2_insn_r->arm_insn, 16, 19);
+  reg_vd = bits (thumb2_insn_r->arm_insn, 12, 15);
+  reg_vd = (bit (thumb2_insn_r->arm_insn, 22) << 4) | reg_vd;
+  f_ebytes = (1 << bits (thumb2_insn_r->arm_insn, 6, 7));
+  f_esize = 8 * f_ebytes;
+  f_elem = 8 / f_ebytes;
+
+  if (!l_bit)
+    {
+      ULONGEST u_regval = 0;
+      regcache_raw_read_unsigned (reg_cache, reg_rn, &u_regval);
+      address = u_regval;
+
+      if (!a_bit)
+        {
+          /* Handle VST1.  */
+          if (b_bits == 0x02 || b_bits == 0x0a || (b_bits & 0x0e) == 0x06)
+            {
+              if (b_bits == 0x07)
+                bf_regs = 1;
+              else if (b_bits == 0x0a)
+                bf_regs = 2;
+              else if (b_bits == 0x06)
+                bf_regs = 3;
+              else if (b_bits == 0x02)
+                bf_regs = 4;
+              else
+                bf_regs = 0;
+
+              for (index_r = 0; index_r < bf_regs; index_r++)
+                {
+                  for (index_e = 0; index_e < f_elem; index_e++)
+                    {
+                      record_buf_mem[index_m++] = f_ebytes;
+                      record_buf_mem[index_m++] = address;
+                      address = address + f_ebytes;
+                      thumb2_insn_r->mem_rec_count += 1;
+                    }
+                }
+            }
+          /* Handle VST2.  */
+          else if (b_bits == 0x03 || (b_bits & 0x0e) == 0x08)
+            {
+              if (b_bits == 0x09 || b_bits == 0x08)
+                bf_regs = 1;
+              else if (b_bits == 0x03)
+                bf_regs = 2;
+              else
+                bf_regs = 0;
+
+              for (index_r = 0; index_r < bf_regs; index_r++)
+                for (index_e = 0; index_e < f_elem; index_e++)
+                  {
+                    for (loop_t = 0; loop_t < 2; loop_t++)
+                      {
+                        record_buf_mem[index_m++] = f_ebytes;
+                        record_buf_mem[index_m++] = address + (loop_t * f_ebytes);
+                        thumb2_insn_r->mem_rec_count += 1;
+                      }
+                    address = address + (2 * f_ebytes);
+                  }
+            }
+          /* Handle VST3.  */
+          else if ((b_bits & 0x0e) == 0x04)
+            {
+              for (index_e = 0; index_e < f_elem; index_e++)
+                {
+                  for (loop_t = 0; loop_t < 3; loop_t++)
+                    {
+                      record_buf_mem[index_m++] = f_ebytes;
+                      record_buf_mem[index_m++] = address + (loop_t * f_ebytes);
+                      thumb2_insn_r->mem_rec_count += 1;
+                    }
+                  address = address + (3 * f_ebytes);
+                }
+            }
+          /* Handle VST4.  */
+          else if (!(b_bits & 0x0e))
+            {
+              for (index_e = 0; index_e < f_elem; index_e++)
+                {
+                  for (loop_t = 0; loop_t < 4; loop_t++)
+                    {
+                      record_buf_mem[index_m++] = f_ebytes;
+                      record_buf_mem[index_m++] = address + (loop_t * f_ebytes);
+                      thumb2_insn_r->mem_rec_count += 1;
+                    }
+                  address = address + (4 * f_ebytes);
+                }
+            }
+        }
+      else
+        {
+          uint8_t bft_size = bits (thumb2_insn_r->arm_insn, 10, 11);
+
+          if (bft_size == 0x00)
+            f_ebytes = 1;
+          else if (bft_size == 0x01)
+            f_ebytes = 2;
+          else if (bft_size == 0x02)
+            f_ebytes = 4;
+          else
+            f_ebytes = 0;
+
+          /* Handle VST1.  */
+          if (!(b_bits & 0x0b) || b_bits == 0x08)
+            thumb2_insn_r->mem_rec_count = 1;
+          /* Handle VST2.  */
+          else if ((b_bits & 0x0b) == 0x01 || b_bits == 0x09)
+            thumb2_insn_r->mem_rec_count = 2;
+          /* Handle VST3.  */
+          else if ((b_bits & 0x0b) == 0x02 || b_bits == 0x0a)
+            thumb2_insn_r->mem_rec_count = 3;
+          /* Handle VST4.  */
+          else if ((b_bits & 0x0b) == 0x03 || b_bits == 0x0b)
+            thumb2_insn_r->mem_rec_count = 4;
+
+          for (index_m = 0; index_m < thumb2_insn_r->mem_rec_count; index_m++)
+            {
+              record_buf_mem[index_m] = f_ebytes;
+              record_buf_mem[index_m] = address + (index_m * f_ebytes);
+            }
+        }
+    }
+  else
+    {
+      if (!a_bit)
+        {
+          /* Handle VLD1.  */
+          if (b_bits == 0x02 || b_bits == 0x0a || (b_bits & 0x0e) == 0x06)
+            thumb2_insn_r->reg_rec_count = 1;
+          /* Handle VLD2.  */
+          else if (b_bits == 0x03 || (b_bits & 0x0e) == 0x08)
+            thumb2_insn_r->reg_rec_count = 2;
+          /* Handle VLD3.  */
+          else if ((b_bits & 0x0e) == 0x04)
+            thumb2_insn_r->reg_rec_count = 3;
+          /* Handle VLD4.  */
+          else if (!(b_bits & 0x0e))
+            thumb2_insn_r->reg_rec_count = 4;
+        }
+      else
+        {
+          /* Handle VLD1.  */
+          if (!(b_bits & 0x0b) || b_bits == 0x08 || b_bits == 0x0c)
+            thumb2_insn_r->reg_rec_count = 1;
+          /* Handle VLD2.  */
+          else if ((b_bits & 0x0b) == 0x01 || b_bits == 0x09 || b_bits == 0x0d)
+            thumb2_insn_r->reg_rec_count = 2;
+          /* Handle VLD3.  */
+          else if ((b_bits & 0x0b) == 0x02 || b_bits == 0x0a || b_bits == 0x0e)
+            thumb2_insn_r->reg_rec_count = 3;
+          /* Handle VLD4.  */
+          else if ((b_bits & 0x0b) == 0x03 || b_bits == 0x0b || b_bits == 0x0f)
+            thumb2_insn_r->reg_rec_count = 4;
+
+          for (index_r = 0; index_r < thumb2_insn_r->reg_rec_count; index_r++)
+            record_buf[index_r] = reg_vd + ARM_D0_REGNUM + index_r;
+        }
+    }
+
+  if (bits (thumb2_insn_r->arm_insn, 0, 3) != 15)
+    {
+      record_buf[index_r] = reg_rn;
+      thumb2_insn_r->reg_rec_count += 1;
+    }
+
+  REG_ALLOC (thumb2_insn_r->arm_regs, thumb2_insn_r->reg_rec_count,
+            record_buf);
+  MEM_ALLOC (thumb2_insn_r->arm_mems, thumb2_insn_r->mem_rec_count,
+            record_buf_mem);
+  return 0;
+}
+
 /* Decodes thumb2 instruction type and invokes its record handler.  */
 
 static unsigned int
@@ -12903,7 +13692,7 @@ thumb2_record_decode_insn_handler (insn_
       else if (op2 & 0x40)
         {
           /* Co-processor instructions.  */
-          arm_record_unsupported_insn (thumb2_insn_r);
+          return thumb2_record_coproc_insn (thumb2_insn_r);
         }
     }
   else if (op1 == 0x02)
@@ -12934,7 +13723,7 @@ thumb2_record_decode_insn_handler (insn_
       else if (!((op2 & 0x71) ^ 0x10))
         {
           /* Advanced SIMD or structure load/store instructions.  */
-          return arm_record_unsupported_insn (thumb2_insn_r);
+          return thumb2_record_asimd_struct_ld_st (thumb2_insn_r);
         }
       else if (!((op2 & 0x67) ^ 0x01))
         {
@@ -12969,7 +13758,7 @@ thumb2_record_decode_insn_handler (insn_
       else if (op2 & 0x40)
         {
           /* Co-processor instructions.  */
-          return arm_record_unsupported_insn (thumb2_insn_r);
+          return thumb2_record_coproc_insn (thumb2_insn_r);
         }
    }
 
@@ -12990,7 +13779,7 @@ extract_arm_insn (insn_decode_record *in
     return 1;
   insn_record->arm_insn = (uint32_t) extract_unsigned_integer (&buf[0],
                            insn_size, 
-                           gdbarch_byte_order (insn_record->gdbarch));
+			   gdbarch_byte_order_for_code (insn_record->gdbarch));
   return 0;
 }
 
@@ -13013,7 +13802,7 @@ decode_insn (insn_decode_record *arm_rec
     arm_record_ld_st_reg_offset,        /* 011.  */
     arm_record_ld_st_multiple,          /* 100.  */
     arm_record_b_bl,                    /* 101.  */
-    arm_record_unsupported_insn,        /* 110.  */
+    arm_record_asimd_vfp_coproc,        /* 110.  */
     arm_record_coproc_data_proc         /* 111.  */
   };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-tdep.h ./gdb/arm-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/arm-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common target dependent code for GDB on ARM systems.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -341,9 +341,11 @@ extern int arm_process_record (struct gd
 /* Return the appropriate register set for the core section identified
    by SECT_NAME and SECT_SIZE.  */
 
-extern const struct regset *
-  armbsd_regset_from_core_section (struct gdbarch *gdbarch,
-				   const char *sect_name, size_t sect_size);
+extern void
+  armbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				       iterate_over_regset_sections_cb *cb,
+				       void *cb_data,
+				       const struct regcache *regcache);
 
 /* Target descriptions.  */
 extern struct target_desc *tdesc_arm_with_m;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-wince-tdep.c ./gdb/arm-wince-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/arm-wince-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/arm-wince-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* Target-dependent code for Windows CE running on ARM processors,
    for GDB.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,8 +24,6 @@
 #include "target.h"
 #include "frame.h"
 
-#include <string.h>
-
 #include "arm-tdep.h"
 #include "windows-tdep.h"
 
@@ -47,9 +45,12 @@ arm_pe_skip_trampoline_code (struct fram
   CORE_ADDR next_pc;
 
   /* The format of an ARM DLL trampoline is:
+
        ldr  ip, [pc]
        ldr  pc, [ip]
-       .dw __imp_<func>  */
+       .dw __imp_<func>
+
+  */
 
   if (pc == 0
       || read_memory_unsigned_integer (pc + 0, 4, byte_order) != 0xe59fc000
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/auto-load.c ./gdb/auto-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/auto-load.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/auto-load.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB routines for supporting auto-loaded scripts.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,7 +26,6 @@
 #include "command.h"
 #include "observer.h"
 #include "objfiles.h"
-#include "exceptions.h"
 #include "cli/cli-script.h"
 #include "gdbcmd.h"
 #include "cli/cli-cmds.h"
@@ -318,6 +317,22 @@ Use 'set auto-load safe-path /' for disa
   auto_load_safe_path_vec_update ();
 }
 
+/* "add-auto-load-scripts-directory" command for the auto_load_dir configuration
+   variable.  */
+
+static void
+add_auto_load_dir (char *args, int from_tty)
+{
+  char *s;
+
+  if (args == NULL || *args == 0)
+    error (_("Directory argument required."));
+
+  s = xstrprintf ("%s%c%s", auto_load_dir, DIRNAME_SEPARATOR, args);
+  xfree (auto_load_dir);
+  auto_load_dir = s;
+}
+
 /* Implementation for filename_is_in_pattern overwriting the caller's FILENAME
    and PATTERN.  */
 
@@ -1527,6 +1542,15 @@ access the current full list setting."),
 		 &cmdlist);
   set_cmd_completer (cmd, filename_completer);
 
+  cmd = add_cmd ("add-auto-load-scripts-directory", class_support,
+		 add_auto_load_dir,
+		 _("Add entries to the list of directories from which to load "
+		   "auto-loaded scripts.\n\
+See the commands 'set auto-load scripts-directory' and\n\
+'show auto-load scripts-directory' to access the current full list setting."),
+		 &cmdlist);
+  set_cmd_completer (cmd, filename_completer);
+
   add_setshow_boolean_cmd ("auto-load", class_maintenance,
 			   &debug_auto_load, _("\
 Set auto-load verifications debugging."), _("\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/auto-load.h ./gdb/auto-load.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/auto-load.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/auto-load.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB routines for supporting auto-loaded scripts.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/auxv.c ./gdb/auxv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/auxv.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/auxv.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Auxiliary vector support for GDB, the GNU debugger.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,7 +23,6 @@
 #include "command.h"
 #include "inferior.h"
 #include "valprint.h"
-#include "gdb_assert.h"
 #include "gdbcore.h"
 #include "observer.h"
 #include "filestuff.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/auxv.h ./gdb/auxv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/auxv.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/auxv.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Auxiliary vector support for GDB, the GNU debugger.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/avr-tdep.c ./gdb/avr-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/avr-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/avr-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Atmel AVR, for GDB.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -34,7 +34,6 @@
 #include "symfile.h"
 #include "arch-utils.h"
 #include "regcache.h"
-#include <string.h>
 #include "dis-asm.h"
 #include "objfiles.h"
 
@@ -71,6 +70,16 @@
 
 /* Constants: prefixed with AVR_ to avoid name space clashes */
 
+/* Address space flags */
+
+/* We are assigning the TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1 to the flash address
+   space.  */
+
+#define AVR_TYPE_ADDRESS_CLASS_FLASH TYPE_ADDRESS_CLASS_1
+#define AVR_TYPE_INSTANCE_FLAG_ADDRESS_CLASS_FLASH  \
+  TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1
+
+
 enum
 {
   AVR_REG_W = 24,
@@ -295,10 +304,19 @@ avr_address_to_pointer (struct gdbarch *
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
 
+  /* Is it a data address in flash?  */
+  if (AVR_TYPE_ADDRESS_CLASS_FLASH (type))
+    {
+      /* A data pointer in flash is byte addressed.  */
+      store_unsigned_integer (buf, TYPE_LENGTH (type), byte_order,
+			      avr_convert_iaddr_to_raw (addr));
+    }
   /* Is it a code address?  */
-  if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC
-      || TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD)
+  else if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC
+	   || TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD)
     {
+      /* A code pointer is word (16 bits) addressed.  We shift the address down
+	 by 1 bit to convert it to a pointer.  */
       store_unsigned_integer (buf, TYPE_LENGTH (type), byte_order,
 			      avr_convert_iaddr_to_raw (addr >> 1));
     }
@@ -318,11 +336,21 @@ avr_pointer_to_address (struct gdbarch *
   CORE_ADDR addr
     = extract_unsigned_integer (buf, TYPE_LENGTH (type), byte_order);
 
+  /* Is it a data address in flash?  */
+  if (AVR_TYPE_ADDRESS_CLASS_FLASH (type))
+    {
+      /* A data pointer in flash is already byte addressed.  */
+      return avr_make_iaddr (addr);
+    }
   /* Is it a code address?  */
-  if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC
-      || TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD
-      || TYPE_CODE_SPACE (TYPE_TARGET_TYPE (type)))
-    return avr_make_iaddr (addr << 1);
+  else if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC
+	   || TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD
+	   || TYPE_CODE_SPACE (TYPE_TARGET_TYPE (type)))
+    {
+      /* A code pointer is word (16 bits) addressed so we shift it up
+	 by 1 bit to convert it to an address.  */
+      return avr_make_iaddr (addr << 1);
+    }
   else
     return avr_make_saddr (addr);
 }
@@ -1342,6 +1370,54 @@ avr_dwarf_reg_to_regnum (struct gdbarch 
   return -1;
 }
 
+/* Implementation of `address_class_type_flags' gdbarch method.
+
+   This method maps DW_AT_address_class attributes to a
+   type_instance_flag_value.  */
+
+static int
+avr_address_class_type_flags (int byte_size, int dwarf2_addr_class)
+{
+  /* The value 1 of the DW_AT_address_class attribute corresponds to the
+     __flash qualifier.  Note that this attribute is only valid with
+     pointer types and therefore the flag is set to the pointer type and
+     not its target type.  */
+  if (dwarf2_addr_class == 1 && byte_size == 2)
+    return AVR_TYPE_INSTANCE_FLAG_ADDRESS_CLASS_FLASH;
+  return 0;
+}
+
+/* Implementation of `address_class_type_flags_to_name' gdbarch method.
+
+   Convert a type_instance_flag_value to an address space qualifier.  */
+
+static const char*
+avr_address_class_type_flags_to_name (struct gdbarch *gdbarch, int type_flags)
+{
+  if (type_flags & AVR_TYPE_INSTANCE_FLAG_ADDRESS_CLASS_FLASH)
+    return "flash";
+  else
+    return NULL;
+}
+
+/* Implementation of `address_class_name_to_type_flags' gdbarch method.
+
+   Convert an address space qualifier to a type_instance_flag_value.  */
+
+static int
+avr_address_class_name_to_type_flags (struct gdbarch *gdbarch,
+                                      const char* name,
+                                      int *type_flags_ptr)
+{
+  if (strcmp (name, "flash") == 0)
+    {
+      *type_flags_ptr = AVR_TYPE_INSTANCE_FLAG_ADDRESS_CLASS_FLASH;
+      return 1;
+    }
+  else
+    return 0;
+}
+
 /* Initialize the gdbarch structure for the AVR's.  */
 
 static struct gdbarch *
@@ -1452,6 +1528,12 @@ avr_gdbarch_init (struct gdbarch_info in
   set_gdbarch_unwind_pc (gdbarch, avr_unwind_pc);
   set_gdbarch_unwind_sp (gdbarch, avr_unwind_sp);
 
+  set_gdbarch_address_class_type_flags (gdbarch, avr_address_class_type_flags);
+  set_gdbarch_address_class_name_to_type_flags
+    (gdbarch, avr_address_class_name_to_type_flags);
+  set_gdbarch_address_class_type_flags_to_name
+    (gdbarch, avr_address_class_type_flags_to_name);
+
   return gdbarch;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ax-gdb.c ./gdb/ax-gdb.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ax-gdb.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ax-gdb.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB-specific functions for operating on agent expressions.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,7 +30,6 @@
 #include "target.h"
 #include "ax.h"
 #include "ax-gdb.h"
-#include <string.h>
 #include "block.h"
 #include "regcache.h"
 #include "user-regs.h"
@@ -2188,7 +2187,7 @@ gen_expr (struct expression *exp, union 
     case OP_THIS:
       {
 	struct symbol *sym, *func;
-	struct block *b;
+	const struct block *b;
 	const struct language_defn *lang;
 
 	b = block_for_pc (ax->scope);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ax-gdb.h ./gdb/ax-gdb.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ax-gdb.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ax-gdb.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GDB-specific functions for operating on agent expressions
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ax-general.c ./gdb/ax-general.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ax-general.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ax-general.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Functions for manipulating expressions designed to be executed on the agent
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,8 +25,6 @@
 #include "ax.h"
 
 #include "value.h"
-#include <string.h>
-
 #include "user-regs.h"
 
 static void grow_expr (struct agent_expr *x, int n);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ax.h ./gdb/ax.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ax.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ax.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions for expressions designed to be executed on the agent
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bcache.c ./gdb/bcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bcache.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bcache.c	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
    Written by Fred Fish <fnf@cygnus.com>
    Rewritten by Jim Blandy <jimb@cygnus.com>
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,11 +22,6 @@
 #include "defs.h"
 #include "gdb_obstack.h"
 #include "bcache.h"
-#include <string.h>		/* For memcpy declaration */
-#include "gdb_assert.h"
-
-#include <stddef.h>
-#include <stdlib.h>
 
 /* The type used to hold a single bcache string.  The user data is
    stored in d.data.  Since it can be any type, it needs to have the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bcache.h ./gdb/bcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bcache.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bcache.h	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
    Written by Fred Fish <fnf@cygnus.com>
    Rewritten by Jim Blandy <jimb@cygnus.com>
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfd-target.c ./gdb/bfd-target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfd-target.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bfd-target.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Very simple "bfd" target, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfd-target.h ./gdb/bfd-target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfd-target.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bfd-target.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Very simple "bfd" target, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfin-linux-tdep.c ./gdb/bfin-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfin-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bfin-linux-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Analog Devices Blackfin processor, for GDB.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    Contributed by Analog Devices, Inc.
 
@@ -157,7 +157,7 @@ bfin_linux_init_abi (struct gdbarch_info
   tramp_frame_prepend_unwinder (gdbarch, &bfin_linux_sigframe);
 
   /* Functions for 'catch syscall'.  */
-  set_xml_syscall_file_name ("syscalls/bfin-linux.xml");
+  set_xml_syscall_file_name (gdbarch, "syscalls/bfin-linux.xml");
   set_gdbarch_get_syscall_number (gdbarch,
                                   bfin_linux_get_syscall_number);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfin-tdep.c ./gdb/bfin-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfin-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bfin-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Analog Devices Blackfin processor, for GDB.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    Contributed by Analog Devices, Inc.
 
@@ -20,7 +20,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "inferior.h"
 #include "gdbcore.h"
 #include "arch-utils.h"
@@ -30,7 +29,6 @@
 #include "frame-base.h"
 #include "trad-frame.h"
 #include "dis-asm.h"
-#include "gdb_assert.h"
 #include "sim-regno.h"
 #include "gdb/sim-bfin.h"
 #include "dwarf2-frame.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfin-tdep.h ./gdb/bfin-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bfin-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bfin-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Analog Devices Blackfin processor, for GDB.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    Contributed by Analog Devices, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/block.c ./gdb/block.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/block.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/block.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Block-related functions for the GNU debugger, GDB.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,7 +25,7 @@
 #include "cp-support.h"
 #include "addrmap.h"
 #include "gdbtypes.h"
-#include "exceptions.h"
+#include "objfiles.h"
 
 /* This is used by struct block to store namespace-related info for
    C++ files, namely using declarations and the current namespace in
@@ -40,6 +40,31 @@ struct block_namespace_info
 static void block_initialize_namespace (struct block *block,
 					struct obstack *obstack);
 
+/* See block.h.  */
+
+struct objfile *
+block_objfile (const struct block *block)
+{
+  const struct global_block *global_block;
+
+  if (BLOCK_FUNCTION (block) != NULL)
+    return symbol_objfile (BLOCK_FUNCTION (block));
+
+  global_block = (struct global_block *) block_global_block (block);
+  return COMPUNIT_OBJFILE (global_block->compunit_symtab);
+}
+
+/* See block.  */
+
+struct gdbarch *
+block_gdbarch (const struct block *block)
+{
+  if (BLOCK_FUNCTION (block) != NULL)
+    return symbol_arch (BLOCK_FUNCTION (block));
+
+  return get_objfile_arch (block_objfile (block));
+}
+
 /* Return Nonzero if block a is lexically nested within block b,
    or if a and b have the same pc range.
    Return zero otherwise.  */
@@ -107,7 +132,7 @@ block_inlined_p (const struct block *bl)
    It returns the containing block if there is one, or else NULL.  */
 
 static struct block *
-find_block_in_blockvector (struct blockvector *bl, CORE_ADDR pc)
+find_block_in_blockvector (const struct blockvector *bl, CORE_ADDR pc)
 {
   struct block *b;
   int bot, top, half;
@@ -155,22 +180,23 @@ find_block_in_blockvector (struct blockv
    is none.  PBLOCK is a pointer to the block.  If PBLOCK is NULL, we
    don't pass this information back to the caller.  */
 
-struct blockvector *
+const struct blockvector *
 blockvector_for_pc_sect (CORE_ADDR pc, struct obj_section *section,
-			 struct block **pblock, struct symtab *symtab)
+			 const struct block **pblock,
+			 struct compunit_symtab *cust)
 {
-  struct blockvector *bl;
+  const struct blockvector *bl;
   struct block *b;
 
-  if (symtab == 0)		/* if no symtab specified by caller */
+  if (cust == NULL)
     {
       /* First search all symtabs for one whose file contains our pc */
-      symtab = find_pc_sect_symtab (pc, section);
-      if (symtab == 0)
+      cust = find_pc_sect_compunit_symtab (pc, section);
+      if (cust == NULL)
 	return 0;
     }
 
-  bl = BLOCKVECTOR (symtab);
+  bl = COMPUNIT_BLOCKVECTOR (cust);
 
   /* Then search that symtab for the smallest block that wins.  */
   b = find_block_in_blockvector (bl, pc);
@@ -185,7 +211,7 @@ blockvector_for_pc_sect (CORE_ADDR pc, s
 /* Return true if the blockvector BV contains PC, false otherwise.  */
 
 int
-blockvector_contains_pc (struct blockvector *bv, CORE_ADDR pc)
+blockvector_contains_pc (const struct blockvector *bv, CORE_ADDR pc)
 {
   return find_block_in_blockvector (bv, pc) != NULL;
 }
@@ -197,14 +223,14 @@ blockvector_contains_pc (struct blockvec
 struct call_site *
 call_site_for_pc (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
-  struct symtab *symtab;
+  struct compunit_symtab *cust;
   void **slot = NULL;
 
   /* -1 as tail call PC can be already after the compilation unit range.  */
-  symtab = find_pc_symtab (pc - 1);
+  cust = find_pc_compunit_symtab (pc - 1);
 
-  if (symtab != NULL && symtab->call_site_htab != NULL)
-    slot = htab_find_slot (symtab->call_site_htab, &pc, NO_INSERT);
+  if (cust != NULL && COMPUNIT_CALL_SITE_HTAB (cust) != NULL)
+    slot = htab_find_slot (COMPUNIT_CALL_SITE_HTAB (cust), &pc, NO_INSERT);
 
   if (slot == NULL)
     {
@@ -227,8 +253,8 @@ call_site_for_pc (struct gdbarch *gdbarc
    containing the specified pc value, or 0 if there is none.
    Backward compatibility, no section.  */
 
-struct blockvector *
-blockvector_for_pc (CORE_ADDR pc, struct block **pblock)
+const struct blockvector *
+blockvector_for_pc (CORE_ADDR pc, const struct block **pblock)
 {
   return blockvector_for_pc_sect (pc, find_pc_mapped_section (pc),
 				  pblock, NULL);
@@ -237,11 +263,11 @@ blockvector_for_pc (CORE_ADDR pc, struct
 /* Return the innermost lexical block containing the specified pc value
    in the specified section, or 0 if there is none.  */
 
-struct block *
+const struct block *
 block_for_pc_sect (CORE_ADDR pc, struct obj_section *section)
 {
-  struct blockvector *bl;
-  struct block *b;
+  const struct blockvector *bl;
+  const struct block *b;
 
   bl = blockvector_for_pc_sect (pc, section, &b, NULL);
   if (bl)
@@ -252,7 +278,7 @@ block_for_pc_sect (CORE_ADDR pc, struct 
 /* Return the innermost lexical block containing the specified pc value,
    or 0 if there is none.  Backward compatibility, no section.  */
 
-struct block *
+const struct block *
 block_for_pc (CORE_ADDR pc)
 {
   return block_for_pc_sect (pc, find_pc_mapped_section (pc));
@@ -374,14 +400,7 @@ block_global_block (const struct block *
 struct block *
 allocate_block (struct obstack *obstack)
 {
-  struct block *bl = obstack_alloc (obstack, sizeof (struct block));
-
-  BLOCK_START (bl) = 0;
-  BLOCK_END (bl) = 0;
-  BLOCK_FUNCTION (bl) = NULL;
-  BLOCK_SUPERBLOCK (bl) = NULL;
-  BLOCK_DICT (bl) = NULL;
-  BLOCK_NAMESPACE (bl) = NULL;
+  struct block *bl = OBSTACK_ZALLOC (obstack, struct block);
 
   return bl;
 }
@@ -396,30 +415,30 @@ allocate_global_block (struct obstack *o
   return &bl->block;
 }
 
-/* Set the symtab of the global block.  */
+/* Set the compunit of the global block.  */
 
 void
-set_block_symtab (struct block *block, struct symtab *symtab)
+set_block_compunit_symtab (struct block *block, struct compunit_symtab *cu)
 {
   struct global_block *gb;
 
   gdb_assert (BLOCK_SUPERBLOCK (block) == NULL);
   gb = (struct global_block *) block;
-  gdb_assert (gb->symtab == NULL);
-  gb->symtab = symtab;
+  gdb_assert (gb->compunit_symtab == NULL);
+  gb->compunit_symtab = cu;
 }
 
-/* Return the symtab of the global block.  */
+/* Return the compunit of the global block.  */
 
-static struct symtab *
-get_block_symtab (const struct block *block)
+static struct compunit_symtab *
+get_block_compunit_symtab (const struct block *block)
 {
   struct global_block *gb;
 
   gdb_assert (BLOCK_SUPERBLOCK (block) == NULL);
   gb = (struct global_block *) block;
-  gdb_assert (gb->symtab != NULL);
-  return gb->symtab;
+  gdb_assert (gb->compunit_symtab != NULL);
+  return gb->compunit_symtab;
 }
 
 
@@ -433,19 +452,19 @@ initialize_block_iterator (const struct 
 			   struct block_iterator *iter)
 {
   enum block_enum which;
-  struct symtab *symtab;
+  struct compunit_symtab *cu;
 
   iter->idx = -1;
 
   if (BLOCK_SUPERBLOCK (block) == NULL)
     {
       which = GLOBAL_BLOCK;
-      symtab = get_block_symtab (block);
+      cu = get_block_compunit_symtab (block);
     }
   else if (BLOCK_SUPERBLOCK (BLOCK_SUPERBLOCK (block)) == NULL)
     {
       which = STATIC_BLOCK;
-      symtab = get_block_symtab (BLOCK_SUPERBLOCK (block));
+      cu = get_block_compunit_symtab (BLOCK_SUPERBLOCK (block));
     }
   else
     {
@@ -458,14 +477,14 @@ initialize_block_iterator (const struct 
 
   /* If this is an included symtab, find the canonical includer and
      use it instead.  */
-  while (symtab->user != NULL)
-    symtab = symtab->user;
+  while (cu->user != NULL)
+    cu = cu->user;
 
   /* Putting this check here simplifies the logic of the iterator
      functions.  If there are no included symtabs, we only need to
      search a single block, so we might as well just do that
      directly.  */
-  if (symtab->includes == NULL)
+  if (cu->includes == NULL)
     {
       iter->d.block = block;
       /* A signal value meaning that we're iterating over a single
@@ -474,20 +493,20 @@ initialize_block_iterator (const struct 
     }
   else
     {
-      iter->d.symtab = symtab;
+      iter->d.compunit_symtab = cu;
       iter->which = which;
     }
 }
 
-/* A helper function that finds the current symtab over whose static
+/* A helper function that finds the current compunit over whose static
    or global block we should iterate.  */
 
-static struct symtab *
-find_iterator_symtab (struct block_iterator *iterator)
+static struct compunit_symtab *
+find_iterator_compunit_symtab (struct block_iterator *iterator)
 {
   if (iterator->idx == -1)
-    return iterator->d.symtab;
-  return iterator->d.symtab->includes[iterator->idx];
+    return iterator->d.compunit_symtab;
+  return iterator->d.compunit_symtab->includes[iterator->idx];
 }
 
 /* Perform a single step for a plain block iterator, iterating across
@@ -505,14 +524,16 @@ block_iterator_step (struct block_iterat
     {
       if (first)
 	{
-	  struct symtab *symtab = find_iterator_symtab (iterator);
+	  struct compunit_symtab *cust
+	    = find_iterator_compunit_symtab (iterator);
 	  const struct block *block;
 
 	  /* Iteration is complete.  */
-	  if (symtab == NULL)
+	  if (cust == NULL)
 	    return  NULL;
 
-	  block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), iterator->which);
+	  block = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust),
+				     iterator->which);
 	  sym = dict_iterator_first (BLOCK_DICT (block), &iterator->dict_iter);
 	}
       else
@@ -570,14 +591,16 @@ block_iter_name_step (struct block_itera
     {
       if (first)
 	{
-	  struct symtab *symtab = find_iterator_symtab (iterator);
+	  struct compunit_symtab *cust
+	    = find_iterator_compunit_symtab (iterator);
 	  const struct block *block;
 
 	  /* Iteration is complete.  */
-	  if (symtab == NULL)
+	  if (cust == NULL)
 	    return  NULL;
 
-	  block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), iterator->which);
+	  block = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust),
+				     iterator->which);
 	  sym = dict_iter_name_first (BLOCK_DICT (block), name,
 				      &iterator->dict_iter);
 	}
@@ -639,14 +662,16 @@ block_iter_match_step (struct block_iter
     {
       if (first)
 	{
-	  struct symtab *symtab = find_iterator_symtab (iterator);
+	  struct compunit_symtab *cust
+	    = find_iterator_compunit_symtab (iterator);
 	  const struct block *block;
 
 	  /* Iteration is complete.  */
-	  if (symtab == NULL)
+	  if (cust == NULL)
 	    return  NULL;
 
-	  block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), iterator->which);
+	  block = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust),
+				     iterator->which);
 	  sym = dict_iter_match_first (BLOCK_DICT (block), name,
 				       compare, &iterator->dict_iter);
 	}
@@ -693,3 +718,82 @@ block_iter_match_next (const char *name,
 
   return block_iter_match_step (iterator, name, compare, 0);
 }
+
+/* See block.h.
+
+   Note that if NAME is the demangled form of a C++ symbol, we will fail
+   to find a match during the binary search of the non-encoded names, but
+   for now we don't worry about the slight inefficiency of looking for
+   a match we'll never find, since it will go pretty quick.  Once the
+   binary search terminates, we drop through and do a straight linear
+   search on the symbols.  Each symbol which is marked as being a ObjC/C++
+   symbol (language_cplus or language_objc set) has both the encoded and
+   non-encoded names tested for a match.  */
+
+struct symbol *
+block_lookup_symbol (const struct block *block, const char *name,
+		     const domain_enum domain)
+{
+  struct block_iterator iter;
+  struct symbol *sym;
+
+  if (!BLOCK_FUNCTION (block))
+    {
+      ALL_BLOCK_SYMBOLS_WITH_NAME (block, name, iter, sym)
+	{
+	  if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
+				     SYMBOL_DOMAIN (sym), domain))
+	    return sym;
+	}
+      return NULL;
+    }
+  else
+    {
+      /* Note that parameter symbols do not always show up last in the
+	 list; this loop makes sure to take anything else other than
+	 parameter symbols first; it only uses parameter symbols as a
+	 last resort.  Note that this only takes up extra computation
+	 time on a match.  */
+
+      struct symbol *sym_found = NULL;
+
+      ALL_BLOCK_SYMBOLS_WITH_NAME (block, name, iter, sym)
+	{
+	  if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
+				     SYMBOL_DOMAIN (sym), domain))
+	    {
+	      sym_found = sym;
+	      if (!SYMBOL_IS_ARGUMENT (sym))
+		{
+		  break;
+		}
+	    }
+	}
+      return (sym_found);	/* Will be NULL if not found.  */
+    }
+}
+
+/* See block.h.  */
+
+struct symbol *
+block_lookup_symbol_primary (const struct block *block, const char *name,
+			     const domain_enum domain)
+{
+  struct symbol *sym;
+  struct dict_iterator dict_iter;
+
+  /* Verify BLOCK is STATIC_BLOCK or GLOBAL_BLOCK.  */
+  gdb_assert (BLOCK_SUPERBLOCK (block) == NULL
+	      || BLOCK_SUPERBLOCK (BLOCK_SUPERBLOCK (block)) == NULL);
+
+  for (sym = dict_iter_name_first (block->dict, name, &dict_iter);
+       sym != NULL;
+       sym = dict_iter_name_next (name, &dict_iter))
+    {
+      if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
+				 SYMBOL_DOMAIN (sym), domain))
+	return sym;
+    }
+
+  return NULL;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/blockframe.c ./gdb/blockframe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/blockframe.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/blockframe.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* Get info from stack frames; convert between frames, blocks,
    functions and pc values.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,7 +29,6 @@
 #include "inferior.h"
 #include "annotate.h"
 #include "regcache.h"
-#include "gdb_assert.h"
 #include "dummy-frame.h"
 #include "command.h"
 #include "gdbcmd.h"
@@ -52,11 +51,11 @@
    --- hopefully pointing us at the call instruction, or its delay
    slot instruction.  */
 
-struct block *
+const struct block *
 get_frame_block (struct frame_info *frame, CORE_ADDR *addr_in_block)
 {
   CORE_ADDR pc;
-  struct block *bl;
+  const struct block *bl;
   int inline_count;
 
   if (!get_frame_address_in_block_if_available (frame, &pc))
@@ -86,7 +85,7 @@ get_frame_block (struct frame_info *fram
 CORE_ADDR
 get_pc_function_start (CORE_ADDR pc)
 {
-  struct block *bl;
+  const struct block *bl;
   struct bound_minimal_symbol msymbol;
 
   bl = block_for_pc (pc);
@@ -118,7 +117,7 @@ get_pc_function_start (CORE_ADDR pc)
 struct symbol *
 get_frame_function (struct frame_info *frame)
 {
-  struct block *bl = get_frame_block (frame, 0);
+  const struct block *bl = get_frame_block (frame, 0);
 
   if (bl == NULL)
     return NULL;
@@ -136,7 +135,7 @@ get_frame_function (struct frame_info *f
 struct symbol *
 find_pc_sect_function (CORE_ADDR pc, struct obj_section *section)
 {
-  struct block *b = block_for_pc_sect (pc, section);
+  const struct block *b = block_for_pc_sect (pc, section);
 
   if (b == 0)
     return 0;
@@ -196,7 +195,7 @@ find_pc_partial_function_gnu_ifunc (CORE
   struct obj_section *section;
   struct symbol *f;
   struct bound_minimal_symbol msymbol;
-  struct symtab *symtab = NULL;
+  struct compunit_symtab *compunit_symtab = NULL;
   struct objfile *objfile;
   int i;
   CORE_ADDR mapped_pc;
@@ -221,13 +220,17 @@ find_pc_partial_function_gnu_ifunc (CORE
   ALL_OBJFILES (objfile)
   {
     if (objfile->sf)
-      symtab = objfile->sf->qf->find_pc_sect_symtab (objfile, msymbol,
-						     mapped_pc, section, 0);
-    if (symtab)
+      {
+	compunit_symtab
+	  = objfile->sf->qf->find_pc_sect_compunit_symtab (objfile, msymbol,
+							   mapped_pc, section,
+							   0);
+      }
+    if (compunit_symtab != NULL)
       break;
   }
 
-  if (symtab)
+  if (compunit_symtab != NULL)
     {
       /* Checking whether the msymbol has a larger value is for the
 	 "pathological" case mentioned in print_frame_info.  */
@@ -338,7 +341,7 @@ block_innermost_frame (const struct bloc
     frame = get_current_frame ();
   while (frame != NULL)
     {
-      struct block *frame_block = get_frame_block (frame, NULL);
+      const struct block *frame_block = get_frame_block (frame, NULL);
       if (frame_block != NULL && contained_in (frame_block, block))
 	return frame;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/block.h ./gdb/block.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/block.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/block.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code dealing with blocks for GDB.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,7 +25,7 @@
 /* Opaque declarations.  */
 
 struct symbol;
-struct symtab;
+struct compunit_symtab;
 struct block_namespace_info;
 struct using_direct;
 struct obstack;
@@ -100,7 +100,7 @@ struct block
 };
 
 /* The global block is singled out so that we can provide a back-link
-   to the primary symtab.  */
+   to the compunit symtab.  */
 
 struct global_block
 {
@@ -108,10 +108,9 @@ struct global_block
 
   struct block block;
 
-  /* This holds a pointer to the primary symtab holding this
-     block.  */
+  /* This holds a pointer to the compunit symtab holding this block.  */
 
-  struct symtab *symtab;
+  struct compunit_symtab *compunit_symtab;
 };
 
 #define BLOCK_START(bl)		(bl)->startaddr
@@ -137,6 +136,14 @@ struct blockvector
 #define BLOCKVECTOR_BLOCK(blocklist,n) (blocklist)->block[n]
 #define BLOCKVECTOR_MAP(blocklist) ((blocklist)->map)
 
+/* Return the objfile of BLOCK, which must be non-NULL.  */
+
+extern struct objfile *block_objfile (const struct block *block);
+
+/* Return the architecture of BLOCK, which must be non-NULL.  */
+
+extern struct gdbarch *block_gdbarch (const struct block *block);
+
 extern struct symbol *block_linkage_function (const struct block *);
 
 extern struct symbol *block_containing_function (const struct block *);
@@ -145,21 +152,21 @@ extern int block_inlined_p (const struct
 
 extern int contained_in (const struct block *, const struct block *);
 
-extern struct blockvector *blockvector_for_pc (CORE_ADDR, struct block **);
+extern const struct blockvector *blockvector_for_pc (CORE_ADDR,
+					       const struct block **);
 
-extern struct blockvector *blockvector_for_pc_sect (CORE_ADDR, 
-						    struct obj_section *,
-						    struct block **,
-                                                    struct symtab *);
+extern const struct blockvector *
+  blockvector_for_pc_sect (CORE_ADDR, struct obj_section *,
+			   const struct block **, struct compunit_symtab *);
 
-extern int blockvector_contains_pc (struct blockvector *bv, CORE_ADDR pc);
+extern int blockvector_contains_pc (const struct blockvector *bv, CORE_ADDR pc);
 
 extern struct call_site *call_site_for_pc (struct gdbarch *gdbarch,
 					   CORE_ADDR pc);
 
-extern struct block *block_for_pc (CORE_ADDR);
+extern const struct block *block_for_pc (CORE_ADDR);
 
-extern struct block *block_for_pc_sect (CORE_ADDR, struct obj_section *);
+extern const struct block *block_for_pc_sect (CORE_ADDR, struct obj_section *);
 
 extern const char *block_scope (const struct block *block);
 
@@ -180,7 +187,8 @@ extern struct block *allocate_block (str
 
 extern struct block *allocate_global_block (struct obstack *obstack);
 
-extern void set_block_symtab (struct block *, struct symtab *);
+extern void set_block_compunit_symtab (struct block *,
+				       struct compunit_symtab *);
 
 /* A block iterator.  This structure should be treated as though it
    were opaque; it is only defined here because we want to support
@@ -189,11 +197,11 @@ extern void set_block_symtab (struct blo
 struct block_iterator
 {
   /* If we're iterating over a single block, this holds the block.
-     Otherwise, it holds the canonical symtab.  */
+     Otherwise, it holds the canonical compunit.  */
 
   union
   {
-    struct symtab *symtab;
+    struct compunit_symtab *compunit_symtab;
     const struct block *block;
   } d;
 
@@ -270,8 +278,22 @@ extern struct symbol *block_iter_match_n
 					     symbol_compare_ftype *compare,
 					     struct block_iterator *iterator);
 
-/* Macro to loop through all symbols in a block BL, in no particular
-   order.  ITER helps keep track of the iteration, and should be a
+/* Search BLOCK for symbol NAME in DOMAIN.  */
+
+extern struct symbol *block_lookup_symbol (const struct block *block,
+					   const char *name,
+					   const domain_enum domain);
+
+/* Search BLOCK for symbol NAME in DOMAIN but only in primary symbol table of
+   BLOCK.  BLOCK must be STATIC_BLOCK or GLOBAL_BLOCK.  Function is useful if
+   one iterates all global/static blocks of an objfile.  */
+
+extern struct symbol *block_lookup_symbol_primary (const struct block *block,
+						   const char *name,
+						   const domain_enum domain);
+
+/* Macro to loop through all symbols in BLOCK, in no particular
+   order.  ITER helps keep track of the iteration, and must be a
    struct block_iterator.  SYM points to the current symbol.  */
 
 #define ALL_BLOCK_SYMBOLS(block, iter, sym)		\
@@ -279,4 +301,13 @@ extern struct symbol *block_iter_match_n
        (sym);						\
        (sym) = block_iterator_next (&(iter)))
 
+/* Macro to loop through all symbols with name NAME in BLOCK,
+   in no particular order.  ITER helps keep track of the iteration, and
+   must be a struct block_iterator.  SYM points to the current symbol.  */
+
+#define ALL_BLOCK_SYMBOLS_WITH_NAME(block, name, iter, sym)		\
+  for ((sym) = block_iter_name_first ((block), (name), &(iter));	\
+       (sym) != NULL;							\
+       (sym) = block_iter_name_next ((name), &(iter)))
+
 #endif /* BLOCK_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/break-catch-sig.c ./gdb/break-catch-sig.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/break-catch-sig.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/break-catch-sig.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Everything about signal catchpoints, for GDB.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -346,6 +346,7 @@ signal_catchpoint_print_recreate (struct
     }
   else if (c->catch_all)
     fprintf_unfiltered (fp, " all");
+  fputc_unfiltered ('\n', fp);
 }
 
 /* Implement the "explains_signal" breakpoint_ops method for signal
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/break-catch-throw.c ./gdb/break-catch-throw.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/break-catch-throw.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/break-catch-throw.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Everything about catch/throw catchpoints, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,7 +29,6 @@
 #include "completer.h"
 #include "gdb_obstack.h"
 #include "mi/mi-common.h"
-#include "exceptions.h"
 #include "linespec.h"
 #include "probe.h"
 #include "objfiles.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/breakpoint.c ./gdb/breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/breakpoint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/breakpoint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Everything about breakpoints, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -36,7 +36,6 @@
 #include "gdbthread.h"
 #include "target.h"
 #include "language.h"
-#include <string.h>
 #include "gdb-demangle.h"
 #include "filenames.h"
 #include "annotate.h"
@@ -48,12 +47,10 @@
 #include "gdb.h"
 #include "ui-out.h"
 #include "cli/cli-script.h"
-#include "gdb_assert.h"
 #include "block.h"
 #include "solib.h"
 #include "solist.h"
 #include "observer.h"
-#include "exceptions.h"
 #include "memattr.h"
 #include "ada-lang.h"
 #include "top.h"
@@ -69,7 +66,7 @@
 #include "skip.h"
 #include "ax-gdb.h"
 #include "dummy-frame.h"
-
+#include "interps.h"
 #include "format.h"
 
 /* readline include files */
@@ -154,7 +151,8 @@ struct breakpoint *set_raw_breakpoint (s
 static struct breakpoint *
   momentary_breakpoint_from_master (struct breakpoint *orig,
 				    enum bptype type,
-				    const struct breakpoint_ops *ops);
+				    const struct breakpoint_ops *ops,
+				    int loc_enabled);
 
 static void breakpoint_adjustment_warning (CORE_ADDR, CORE_ADDR, int, int);
 
@@ -227,20 +225,50 @@ static void stopat_command (char *arg, i
 
 static void tcatch_command (char *arg, int from_tty);
 
-static void detach_single_step_breakpoints (void);
-
-static int find_single_step_breakpoint (struct address_space *aspace,
-					CORE_ADDR pc);
-
 static void free_bp_location (struct bp_location *loc);
 static void incref_bp_location (struct bp_location *loc);
 static void decref_bp_location (struct bp_location **loc);
 
 static struct bp_location *allocate_bp_location (struct breakpoint *bpt);
 
-static void update_global_location_list (int);
+/* update_global_location_list's modes of operation wrt to whether to
+   insert locations now.  */
+enum ugll_insert_mode
+{
+  /* Don't insert any breakpoint locations into the inferior, only
+     remove already-inserted locations that no longer should be
+     inserted.  Functions that delete a breakpoint or breakpoints
+     should specify this mode, so that deleting a breakpoint doesn't
+     have the side effect of inserting the locations of other
+     breakpoints that are marked not-inserted, but should_be_inserted
+     returns true on them.
+
+     This behavior is useful is situations close to tear-down -- e.g.,
+     after an exec, while the target still has execution, but
+     breakpoint shadows of the previous executable image should *NOT*
+     be restored to the new image; or before detaching, where the
+     target still has execution and wants to delete breakpoints from
+     GDB's lists, and all breakpoints had already been removed from
+     the inferior.  */
+  UGLL_DONT_INSERT,
+
+  /* May insert breakpoints iff breakpoints_should_be_inserted_now
+     claims breakpoints should be inserted now.  */
+  UGLL_MAY_INSERT,
+
+  /* Insert locations now, irrespective of
+     breakpoints_should_be_inserted_now.  E.g., say all threads are
+     stopped right now, and the user did "continue".  We need to
+     insert breakpoints _before_ resuming the target, but
+     UGLL_MAY_INSERT wouldn't insert them, because
+     breakpoints_should_be_inserted_now returns false at that point,
+     as no thread is running yet.  */
+  UGLL_INSERT
+};
+
+static void update_global_location_list (enum ugll_insert_mode);
 
-static void update_global_location_list_nothrow (int);
+static void update_global_location_list_nothrow (enum ugll_insert_mode);
 
 static int is_hardware_watchpoint (const struct breakpoint *bpt);
 
@@ -297,12 +325,6 @@ static struct breakpoint_ops bkpt_probe_
 /* Dynamic printf class type.  */
 struct breakpoint_ops dprintf_breakpoint_ops;
 
-/* One (or perhaps two) breakpoints used for software single
-   stepping.  */
-
-static void *single_step_breakpoints[2];
-static struct gdbarch *single_step_gdbarch[2];
-
 /* The style in which to perform a dynamic printf.  This is a user
    option because different output options have different tradeoffs;
    if GDB does the printing, there is better error handling if there
@@ -422,34 +444,48 @@ show_automatic_hardware_breakpoints (str
 		    value);
 }
 
-/* If on, gdb will keep breakpoints inserted even as inferior is
-   stopped, and immediately insert any new breakpoints.  If off, gdb
-   will insert breakpoints into inferior only when resuming it, and
-   will remove breakpoints upon stop.  If auto, GDB will behave as ON
-   if in non-stop mode, and as OFF if all-stop mode.*/
-
-static enum auto_boolean always_inserted_mode = AUTO_BOOLEAN_AUTO;
+/* If on, GDB keeps breakpoints inserted even if the inferior is
+   stopped, and immediately inserts any new breakpoints as soon as
+   they're created.  If off (default), GDB keeps breakpoints off of
+   the target as long as possible.  That is, it delays inserting
+   breakpoints until the next resume, and removes them again when the
+   target fully stops.  This is a bit safer in case GDB crashes while
+   processing user input.  */
+static int always_inserted_mode = 0;
 
 static void
 show_always_inserted_mode (struct ui_file *file, int from_tty,
 		     struct cmd_list_element *c, const char *value)
 {
-  if (always_inserted_mode == AUTO_BOOLEAN_AUTO)
-    fprintf_filtered (file,
-		      _("Always inserted breakpoint "
-			"mode is %s (currently %s).\n"),
-		      value,
-		      breakpoints_always_inserted_mode () ? "on" : "off");
-  else
-    fprintf_filtered (file, _("Always inserted breakpoint mode is %s.\n"),
-		      value);
+  fprintf_filtered (file, _("Always inserted breakpoint mode is %s.\n"),
+		    value);
 }
 
+/* See breakpoint.h.  */
+
 int
-breakpoints_always_inserted_mode (void)
+breakpoints_should_be_inserted_now (void)
 {
-  return (always_inserted_mode == AUTO_BOOLEAN_TRUE
-	  || (always_inserted_mode == AUTO_BOOLEAN_AUTO && non_stop));
+  if (gdbarch_has_global_breakpoints (target_gdbarch ()))
+    {
+      /* If breakpoints are global, they should be inserted even if no
+	 thread under gdb's control is running, or even if there are
+	 no threads under GDB's control yet.  */
+      return 1;
+    }
+  else if (target_has_execution)
+    {
+      if (always_inserted_mode)
+	{
+	  /* The user wants breakpoints inserted even if all threads
+	     are stopped.  */
+	  return 1;
+	}
+
+      if (threads_are_executing ())
+	return 1;
+    }
+  return 0;
 }
 
 static const char condition_evaluation_both[] = "host or target";
@@ -836,7 +872,7 @@ set_condition_evaluation_mode (char *arg
 	}
 
       /* Do the update.  */
-      update_global_location_list (1);
+      update_global_location_list (UGLL_MAY_INSERT);
     }
 
   return;
@@ -1064,7 +1100,7 @@ condition_command (char *arg, int from_t
 	set_breakpoint_condition (b, p, from_tty);
 
 	if (is_breakpoint (b))
-	  update_global_location_list (1);
+	  update_global_location_list (UGLL_MAY_INSERT);
 
 	return;
       }
@@ -1496,8 +1532,8 @@ one_breakpoint_xfer_memory (gdb_byte *re
   else
     {
       const unsigned char *bp;
-      CORE_ADDR placed_address = target_info->placed_address;
-      int placed_size = target_info->placed_size;
+      CORE_ADDR addr = target_info->reqstd_address;
+      int placed_size;
 
       /* Update the shadow with what we want to write to memory.  */
       memcpy (target_info->shadow_contents + bptoffset,
@@ -1505,7 +1541,7 @@ one_breakpoint_xfer_memory (gdb_byte *re
 
       /* Determine appropriate breakpoint contents and size for this
 	 address.  */
-      bp = gdbarch_breakpoint_from_pc (gdbarch, &placed_address, &placed_size);
+      bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &placed_size);
 
       /* Update the final write buffer with this inserted
 	 breakpoint's INSN.  */
@@ -1617,21 +1653,6 @@ breakpoint_xfer_memory (gdb_byte *readbu
     one_breakpoint_xfer_memory (readbuf, writebuf, writebuf_org,
 				memaddr, len, &bl->target_info, bl->gdbarch);
   }
-
-  /* Now process single-step breakpoints.  These are not found in the
-     bp_location array.  */
-  for (i = 0; i < 2; i++)
-    {
-      struct bp_target_info *bp_tgt = single_step_breakpoints[i];
-
-      if (bp_tgt != NULL)
-	{
-	  struct gdbarch *gdbarch = single_step_gdbarch[i];
-
-	  one_breakpoint_xfer_memory (readbuf, writebuf, writebuf_org,
-				      memaddr, len, bp_tgt, gdbarch);
-	}
-    }
 }
 
 
@@ -1704,6 +1725,29 @@ watchpoint_del_at_next_stop (struct watc
   b->disposition = disp_del_at_next_stop;
 }
 
+/* Extract a bitfield value from value VAL using the bit parameters contained in
+   watchpoint W.  */
+
+static struct value *
+extract_bitfield_from_watchpoint_value (struct watchpoint *w, struct value *val)
+{
+  struct value *bit_val;
+
+  if (val == NULL)
+    return NULL;
+
+  bit_val = allocate_value (value_type (val));
+
+  unpack_value_bitfield (bit_val,
+			 w->val_bitpos,
+			 w->val_bitsize,
+			 value_contents_for_printing (val),
+			 value_offset (val),
+			 val);
+
+  return bit_val;
+}
+
 /* Assuming that B is a watchpoint:
    - Reparse watchpoint expression, if REPARSE is non-zero
    - Evaluate expression and store the result in B->val
@@ -1878,6 +1922,12 @@ update_watchpoint (struct watchpoint *b,
 	 watchpoints.  */
       if (!b->val_valid && !is_masked_watchpoint (&b->base))
 	{
+	  if (b->val_bitsize != 0)
+	    {
+	      v = extract_bitfield_from_watchpoint_value (b, v);
+	      if (v != NULL)
+		release_value (v);
+	    }
 	  b->val = v;
 	  b->val_valid = 1;
 	}
@@ -1907,8 +1957,31 @@ update_watchpoint (struct watchpoint *b,
 		  CORE_ADDR addr;
 		  int type;
 		  struct bp_location *loc, **tmp;
+		  int bitpos = 0, bitsize = 0;
+
+		  if (value_bitsize (v) != 0)
+		    {
+		      /* Extract the bit parameters out from the bitfield
+			 sub-expression.  */
+		      bitpos = value_bitpos (v);
+		      bitsize = value_bitsize (v);
+		    }
+		  else if (v == result && b->val_bitsize != 0)
+		    {
+		     /* If VAL_BITSIZE != 0 then RESULT is actually a bitfield
+			lvalue whose bit parameters are saved in the fields
+			VAL_BITPOS and VAL_BITSIZE.  */
+		      bitpos = b->val_bitpos;
+		      bitsize = b->val_bitsize;
+		    }
 
 		  addr = value_address (v);
+		  if (bitsize != 0)
+		    {
+		      /* Skip the bytes that don't contain the bitfield.  */
+		      addr += bitpos / 8;
+		    }
+
 		  type = hw_write;
 		  if (b->base.type == bp_read_watchpoint)
 		    type = hw_read;
@@ -1923,7 +1996,15 @@ update_watchpoint (struct watchpoint *b,
 
 		  loc->pspace = frame_pspace;
 		  loc->address = addr;
-		  loc->length = TYPE_LENGTH (value_type (v));
+
+		  if (bitsize != 0)
+		    {
+		      /* Just cover the bytes that make up the bitfield.  */
+		      loc->length = ((bitpos % 8) + bitsize + 7) / 8;
+		    }
+		  else
+		    loc->length = TYPE_LENGTH (value_type (v));
+
 		  loc->watchpoint_type = type;
 		}
 	    }
@@ -2090,7 +2171,32 @@ should_be_inserted (struct bp_location *
        || bl->loc_type == bp_loc_hardware_breakpoint)
       && stepping_past_instruction_at (bl->pspace->aspace,
 				       bl->address))
-    return 0;
+    {
+      if (debug_infrun)
+	{
+	  fprintf_unfiltered (gdb_stdlog,
+			      "infrun: skipping breakpoint: "
+			      "stepping past insn at: %s\n",
+			      paddress (bl->gdbarch, bl->address));
+	}
+      return 0;
+    }
+
+  /* Don't insert watchpoints if we're trying to step past the
+     instruction that triggered one.  */
+  if ((bl->loc_type == bp_loc_hardware_watchpoint)
+      && stepping_past_nonsteppable_watchpoint ())
+    {
+      if (debug_infrun)
+	{
+	  fprintf_unfiltered (gdb_stdlog,
+			      "infrun: stepping past non-steppable watchpoint. "
+			      "skipping watchpoint at %s:%d\n",
+			      paddress (bl->gdbarch, bl->address),
+			      bl->length);
+	}
+      return 0;
+    }
 
   return 1;
 }
@@ -2484,7 +2590,7 @@ insert_bp_location (struct bp_location *
      we have a breakpoint inserted at that address and thus
      read the breakpoint instead of returning the data saved in
      the breakpoint location's shadow contents.  */
-  bl->target_info.placed_address = bl->address;
+  bl->target_info.reqstd_address = bl->address;
   bl->target_info.placed_address_space = bl->pspace->aspace;
   bl->target_info.length = bl->length;
 
@@ -2525,7 +2631,7 @@ insert_bp_location (struct bp_location *
 	     program, but it's not going to work anyway with current
 	     gdb.  */
 	  struct mem_region *mr 
-	    = lookup_mem_region (bl->target_info.placed_address);
+	    = lookup_mem_region (bl->target_info.reqstd_address);
 	  
 	  if (mr)
 	    {
@@ -2554,10 +2660,16 @@ insert_bp_location (struct bp_location *
 		    }
 		}
 	      else if (bl->loc_type == bp_loc_software_breakpoint
-		       && mr->attrib.mode != MEM_RW)	    
-		warning (_("cannot set software breakpoint "
-			   "at readonly address %s"),
-			 paddress (bl->gdbarch, bl->address));
+		       && mr->attrib.mode != MEM_RW)
+		{
+		  fprintf_unfiltered (tmp_error_stream,
+				      _("Cannot insert breakpoint %d.\n"
+					"Cannot set software breakpoint "
+					"at read-only address %s\n"),
+				      bl->owner->number,
+				      paddress (bl->gdbarch, bl->address));
+		  return 1;
+		}
 	    }
 	}
         
@@ -2599,7 +2711,7 @@ insert_bp_location (struct bp_location *
 							     bl->section);
 		  /* Set a software (trap) breakpoint at the LMA.  */
 		  bl->overlay_target_info = bl->target_info;
-		  bl->overlay_target_info.placed_address = addr;
+		  bl->overlay_target_info.reqstd_address = addr;
 
 		  /* No overlay handling: just set the breakpoint.  */
 		  TRY_CATCH (e, RETURN_MASK_ALL)
@@ -2849,7 +2961,7 @@ breakpoint_program_space_exit (struct pr
 
   /* Now update the global location list to permanently delete the
      removed locations above.  */
-  update_global_location_list (0);
+  update_global_location_list (UGLL_DONT_INSERT);
 }
 
 /* Make sure all breakpoints are inserted in inferior.
@@ -2869,13 +2981,10 @@ insert_breakpoints (void)
 	update_watchpoint (w, 0 /* don't reparse.  */);
       }
 
-  update_global_location_list (1);
-
-  /* update_global_location_list does not insert breakpoints when
-     always_inserted_mode is not enabled.  Explicitly insert them
-     now.  */
-  if (!breakpoints_always_inserted_mode ())
-    insert_breakpoint_locations ();
+  /* Updating watchpoints creates new locations, so update the global
+     location list.  Explicitly tell ugll to insert locations and
+     ignore breakpoints_always_inserted_mode.  */
+  update_global_location_list (UGLL_INSERT);
 }
 
 /* Invoke CALLBACK for each of bp_location.  */
@@ -3111,10 +3220,7 @@ remove_breakpoints_pid (int pid)
     if (bl->pspace != inf->pspace)
       continue;
 
-    if (bl->owner->type == bp_dprintf)
-      continue;
-
-    if (bl->inserted)
+    if (bl->inserted && !bl->target_info.persist)
       {
 	val = remove_breakpoint (bl, mark_uninserted);
 	if (val != 0)
@@ -3332,7 +3438,7 @@ create_overlay_event_breakpoint (void)
          overlay_events_enabled = 0;
        }
     }
-  update_global_location_list (1);
+  update_global_location_list (UGLL_MAY_INSERT);
 }
 
 static void
@@ -3442,7 +3548,7 @@ create_longjmp_master_breakpoint (void)
 	}
     }
   }
-  update_global_location_list (1);
+  update_global_location_list (UGLL_MAY_INSERT);
 
   do_cleanups (old_chain);
 }
@@ -3498,7 +3604,7 @@ create_std_terminate_master_breakpoint (
     }
   }
 
-  update_global_location_list (1);
+  update_global_location_list (UGLL_MAY_INSERT);
 
   do_cleanups (old_chain);
 }
@@ -3600,7 +3706,7 @@ create_exception_master_breakpoint (void
       b->enable_state = bp_disabled;
     }
 
-  update_global_location_list (1);
+  update_global_location_list (UGLL_MAY_INSERT);
 }
 
 void
@@ -3657,6 +3763,13 @@ update_breakpoints_after_exec (void)
 	continue;
       }
 
+    /* Just like single-step breakpoints.  */
+    if (b->type == bp_single_step)
+      {
+	delete_breakpoint (b);
+	continue;
+      }
+
     /* Longjmp and longjmp-resume breakpoints are also meaningless
        after an exec.  */
     if (b->type == bp_longjmp || b->type == bp_longjmp_resume
@@ -3716,11 +3829,6 @@ update_breakpoints_after_exec (void)
 	continue;
       }
   }
-  /* FIXME what about longjmp breakpoints?  Re-create them here?  */
-  create_overlay_event_breakpoint ();
-  create_longjmp_master_breakpoint ();
-  create_std_terminate_master_breakpoint ();
-  create_exception_master_breakpoint ();
 }
 
 int
@@ -3754,9 +3862,6 @@ detach_breakpoints (ptid_t ptid)
       val |= remove_breakpoint_1 (bl, mark_inserted);
   }
 
-  /* Detach single-step breakpoints as well.  */
-  detach_single_step_breakpoints ();
-
   do_cleanups (old_chain);
   return val;
 }
@@ -3775,7 +3880,7 @@ remove_breakpoint_1 (struct bp_location 
   /* BL is never in moribund_locations by our callers.  */
   gdb_assert (bl->owner != NULL);
 
-  if (bl->owner->enable_state == bp_permanent)
+  if (bl->permanent)
     /* Permanent breakpoints cannot be inserted or removed.  */
     return 0;
 
@@ -3925,7 +4030,7 @@ remove_breakpoint (struct bp_location *b
   /* BL is never in moribund_locations by our callers.  */
   gdb_assert (bl->owner != NULL);
 
-  if (bl->owner->enable_state == bp_permanent)
+  if (bl->permanent)
     /* Permanent breakpoints cannot be inserted or removed.  */
     return 0;
 
@@ -3951,7 +4056,8 @@ mark_breakpoints_out (void)
   struct bp_location *bl, **blp_tmp;
 
   ALL_BP_LOCATIONS (bl, blp_tmp)
-    if (bl->pspace == current_program_space)
+    if (bl->pspace == current_program_space
+	&& !bl->permanent)
       bl->inserted = 0;
 }
 
@@ -3980,13 +4086,7 @@ breakpoint_init_inferior (enum inf_conte
   if (gdbarch_has_global_breakpoints (target_gdbarch ()))
     return;
 
-  ALL_BP_LOCATIONS (bl, blp_tmp)
-  {
-    /* ALL_BP_LOCATIONS bp_location has BL->OWNER always non-NULL.  */
-    if (bl->pspace == pspace
-	&& bl->owner->enable_state != bp_permanent)
-      bl->inserted = 0;
-  }
+  mark_breakpoints_out ();
 
   ALL_BREAKPOINTS_SAFE (b, b_tmp)
   {
@@ -4026,6 +4126,10 @@ breakpoint_init_inferior (enum inf_conte
 
 	/* Also remove step-resume breakpoints.  */
 
+      case bp_single_step:
+
+	/* Also remove single-step breakpoints.  */
+
 	delete_breakpoint (b);
 	break;
 
@@ -4090,14 +4194,14 @@ breakpoint_here_p (struct address_space 
 
       /* ALL_BP_LOCATIONS bp_location has BL->OWNER always non-NULL.  */
       if ((breakpoint_enabled (bl->owner)
-	   || bl->owner->enable_state == bp_permanent)
+	   || bl->permanent)
 	  && breakpoint_location_address_match (bl, aspace, pc))
 	{
 	  if (overlay_debugging 
 	      && section_is_overlay (bl->section)
 	      && !section_is_mapped (bl->section))
 	    continue;		/* unmapped overlay -- can't be a match */
-	  else if (bl->owner->enable_state == bp_permanent)
+	  else if (bl->permanent)
 	    return permanent_breakpoint_here;
 	  else
 	    any_breakpoint_here = 1;
@@ -4122,95 +4226,92 @@ moribund_breakpoint_here_p (struct addre
   return 0;
 }
 
-/* Returns non-zero if there's a breakpoint inserted at PC, which is
-   inserted using regular breakpoint_chain / bp_location array
-   mechanism.  This does not check for single-step breakpoints, which
-   are inserted and removed using direct target manipulation.  */
+/* Returns non-zero iff BL is inserted at PC, in address space
+   ASPACE.  */
 
-int
-regular_breakpoint_inserted_here_p (struct address_space *aspace, 
-				    CORE_ADDR pc)
+static int
+bp_location_inserted_here_p (struct bp_location *bl,
+			     struct address_space *aspace, CORE_ADDR pc)
 {
-  struct bp_location *bl, **blp_tmp;
-
-  ALL_BP_LOCATIONS (bl, blp_tmp)
+  if (bl->inserted
+      && breakpoint_address_match (bl->pspace->aspace, bl->address,
+				   aspace, pc))
     {
-      if (bl->loc_type != bp_loc_software_breakpoint
-	  && bl->loc_type != bp_loc_hardware_breakpoint)
-	continue;
-
-      if (bl->inserted
-	  && breakpoint_location_address_match (bl, aspace, pc))
-	{
-	  if (overlay_debugging 
-	      && section_is_overlay (bl->section)
-	      && !section_is_mapped (bl->section))
-	    continue;		/* unmapped overlay -- can't be a match */
-	  else
-	    return 1;
-	}
+      if (overlay_debugging
+	  && section_is_overlay (bl->section)
+	  && !section_is_mapped (bl->section))
+	return 0;		/* unmapped overlay -- can't be a match */
+      else
+	return 1;
     }
   return 0;
 }
 
-/* Returns non-zero iff there's either regular breakpoint
-   or a single step breakpoint inserted at PC.  */
+/* Returns non-zero iff there's a breakpoint inserted at PC.  */
 
 int
 breakpoint_inserted_here_p (struct address_space *aspace, CORE_ADDR pc)
 {
-  if (regular_breakpoint_inserted_here_p (aspace, pc))
-    return 1;
+  struct bp_location **blp, **blp_tmp = NULL;
+  struct bp_location *bl;
 
-  if (single_step_breakpoint_inserted_here_p (aspace, pc))
-    return 1;
+  ALL_BP_LOCATIONS_AT_ADDR (blp, blp_tmp, pc)
+    {
+      struct bp_location *bl = *blp;
+
+      if (bl->loc_type != bp_loc_software_breakpoint
+	  && bl->loc_type != bp_loc_hardware_breakpoint)
+	continue;
 
+      if (bp_location_inserted_here_p (bl, aspace, pc))
+	return 1;
+    }
   return 0;
 }
 
-/* Ignoring deprecated raw breakpoints, return non-zero iff there is a
-   software breakpoint inserted at PC.  */
+/* This function returns non-zero iff there is a software breakpoint
+   inserted at PC.  */
 
-static struct bp_location *
-find_non_raw_software_breakpoint_inserted_here (struct address_space *aspace,
-						CORE_ADDR pc)
+int
+software_breakpoint_inserted_here_p (struct address_space *aspace,
+				     CORE_ADDR pc)
 {
-  struct bp_location *bl, **blp_tmp;
+  struct bp_location **blp, **blp_tmp = NULL;
+  struct bp_location *bl;
 
-  ALL_BP_LOCATIONS (bl, blp_tmp)
+  ALL_BP_LOCATIONS_AT_ADDR (blp, blp_tmp, pc)
     {
+      struct bp_location *bl = *blp;
+
       if (bl->loc_type != bp_loc_software_breakpoint)
 	continue;
 
-      if (bl->inserted
-	  && breakpoint_address_match (bl->pspace->aspace, bl->address,
-				       aspace, pc))
-	{
-	  if (overlay_debugging 
-	      && section_is_overlay (bl->section)
-	      && !section_is_mapped (bl->section))
-	    continue;		/* unmapped overlay -- can't be a match */
-	  else
-	    return bl;
-	}
+      if (bp_location_inserted_here_p (bl, aspace, pc))
+	return 1;
     }
 
-  return NULL;
+  return 0;
 }
 
-/* This function returns non-zero iff there is a software breakpoint
-   inserted at PC.  */
+/* See breakpoint.h.  */
 
 int
-software_breakpoint_inserted_here_p (struct address_space *aspace,
+hardware_breakpoint_inserted_here_p (struct address_space *aspace,
 				     CORE_ADDR pc)
 {
-  if (find_non_raw_software_breakpoint_inserted_here (aspace, pc) != NULL)
-    return 1;
+  struct bp_location **blp, **blp_tmp = NULL;
+  struct bp_location *bl;
 
-  /* Also check for software single-step breakpoints.  */
-  if (single_step_breakpoint_inserted_here_p (aspace, pc))
-    return 1;
+  ALL_BP_LOCATIONS_AT_ADDR (blp, blp_tmp, pc)
+    {
+      struct bp_location *bl = *blp;
+
+      if (bl->loc_type != bp_loc_hardware_breakpoint)
+	continue;
+
+      if (bp_location_inserted_here_p (bl, aspace, pc))
+	return 1;
+    }
 
   return 0;
 }
@@ -4246,65 +4347,6 @@ hardware_watchpoint_inserted_in_range (s
     }
   return 0;
 }
-
-/* breakpoint_thread_match (PC, PTID) returns true if the breakpoint at
-   PC is valid for process/thread PTID.  */
-
-int
-breakpoint_thread_match (struct address_space *aspace, CORE_ADDR pc,
-			 ptid_t ptid)
-{
-  struct bp_location *bl, **blp_tmp;
-  /* The thread and task IDs associated to PTID, computed lazily.  */
-  int thread = -1;
-  int task = 0;
-  
-  ALL_BP_LOCATIONS (bl, blp_tmp)
-    {
-      if (bl->loc_type != bp_loc_software_breakpoint
-	  && bl->loc_type != bp_loc_hardware_breakpoint)
-	continue;
-
-      /* ALL_BP_LOCATIONS bp_location has bl->OWNER always non-NULL.  */
-      if (!breakpoint_enabled (bl->owner)
-	  && bl->owner->enable_state != bp_permanent)
-	continue;
-
-      if (!breakpoint_location_address_match (bl, aspace, pc))
-	continue;
-
-      if (bl->owner->thread != -1)
-	{
-	  /* This is a thread-specific breakpoint.  Check that ptid
-	     matches that thread.  If thread hasn't been computed yet,
-	     it is now time to do so.  */
-	  if (thread == -1)
-	    thread = pid_to_thread_id (ptid);
-	  if (bl->owner->thread != thread)
-	    continue;
-	}
-
-      if (bl->owner->task != 0)
-        {
-	  /* This is a task-specific breakpoint.  Check that ptid
-	     matches that task.  If task hasn't been computed yet,
-	     it is now time to do so.  */
-	  if (task == 0)
-	    task = ada_get_task_number (ptid);
-	  if (bl->owner->task != task)
-	    continue;
-        }
-
-      if (overlay_debugging 
-	  && section_is_overlay (bl->section)
-	  && !section_is_mapped (bl->section))
-	continue;	    /* unmapped overlay -- can't be a match */
-
-      return 1;
-    }
-
-  return 0;
-}
 
 
 /* bpstat stuff.  External routines' interfaces are documented
@@ -4593,7 +4635,7 @@ bpstat_do_actions_1 (bpstat *bsp)
 
       if (breakpoint_proceeded)
 	{
-	  if (target_can_async_p ())
+	  if (interpreter_async && target_can_async_p ())
 	    /* If we are in async mode, then the target might be still
 	       running, not stopped at any breakpoint, so nothing for
 	       us to do here -- just return to the event loop.  */
@@ -5040,6 +5082,9 @@ watchpoint_check (void *p)
       mark = value_mark ();
       fetch_subexp_value (b->exp, &pc, &new_val, NULL, NULL, 0);
 
+      if (b->val_bitsize != 0)
+	new_val = extract_bitfield_from_watchpoint_value (b, new_val);
+
       /* We use value_equal_contents instead of value_equal because
 	 the latter coerces an array to a pointer, thus comparing just
 	 the address of the array instead of its contents.  This is
@@ -5455,7 +5500,7 @@ bpstat_stop_status (struct address_space
 
   ALL_BREAKPOINTS (b)
     {
-      if (!breakpoint_enabled (b) && b->enable_state != bp_permanent)
+      if (!breakpoint_enabled (b))
 	continue;
 
       for (bl = b->loc; bl != NULL; bl = bl->next)
@@ -5499,6 +5544,7 @@ bpstat_stop_status (struct address_space
 	}
     }
 
+  /* Check if a moribund breakpoint explains the stop.  */
   for (ix = 0; VEC_iterate (bp_location_p, moribund_locations, ix, loc); ++ix)
     {
       if (breakpoint_location_address_match (loc, aspace, bp_addr))
@@ -5550,8 +5596,7 @@ bpstat_stop_status (struct address_space
 	      if (b->disposition == disp_disable)
 		{
 		  --(b->enable_count);
-		  if (b->enable_count <= 0
-		      && b->enable_state != bp_permanent)
+		  if (b->enable_count <= 0)
 		    b->enable_state = bp_disabled;
 		  removed_any = 1;
 		}
@@ -5592,9 +5637,9 @@ bpstat_stop_status (struct address_space
 	}
 
   if (need_remove_insert)
-    update_global_location_list (1);
+    update_global_location_list (UGLL_MAY_INSERT);
   else if (removed_any)
-    update_global_location_list (0);
+    update_global_location_list (UGLL_DONT_INSERT);
 
   return bs_head;
 }
@@ -5654,6 +5699,7 @@ bpstat_what (bpstat bs_head)
 	  break;
 	case bp_breakpoint:
 	case bp_hardware_breakpoint:
+	case bp_single_step:
 	case bp_until:
 	case bp_finish:
 	case bp_shlib_event:
@@ -6012,6 +6058,7 @@ bptype_string (enum bptype type)
     {bp_none, "?deleted?"},
     {bp_breakpoint, "breakpoint"},
     {bp_hardware_breakpoint, "hw breakpoint"},
+    {bp_single_step, "sw single-step"},
     {bp_until, "until"},
     {bp_finish, "finish"},
     {bp_watchpoint, "watchpoint"},
@@ -6203,6 +6250,7 @@ print_one_breakpoint_location (struct br
 
       case bp_breakpoint:
       case bp_hardware_breakpoint:
+      case bp_single_step:
       case bp_until:
       case bp_finish:
       case bp_longjmp:
@@ -6832,8 +6880,6 @@ describe_other_breakpoints (struct gdbar
 			     ((b->enable_state == bp_disabled
 			       || b->enable_state == bp_call_disabled)
 			      ? " (disabled)"
-			      : b->enable_state == bp_permanent 
-			      ? " (permanent)"
 			      : ""),
 			     (others > 1) ? "," 
 			     : ((others == 1) ? " and" : ""));
@@ -7045,6 +7091,16 @@ adjust_breakpoint_address (struct gdbarc
          have their addresses modified.  */
       return bpaddr;
     }
+  else if (bptype == bp_single_step)
+    {
+      /* Single-step breakpoints should not have their addresses
+	 modified.  If there's any architectural constrain that
+	 applies to this address, then it should have already been
+	 taken into account when the breakpoint was created in the
+	 first place.  If we didn't do this, stepping through e.g.,
+	 Thumb-2 IT blocks would break.  */
+      return bpaddr;
+    }
   else
     {
       CORE_ADDR adjusted_bpaddr;
@@ -7081,6 +7137,7 @@ init_bp_location (struct bp_location *lo
   switch (owner->type)
     {
     case bp_breakpoint:
+    case bp_single_step:
     case bp_until:
     case bp_finish:
     case bp_longjmp:
@@ -7287,7 +7344,7 @@ get_sal_arch (struct symtab_and_line sal
   if (sal.section)
     return get_objfile_arch (sal.section->objfile);
   if (sal.symtab)
-    return get_objfile_arch (sal.symtab->objfile);
+    return get_objfile_arch (SYMTAB_OBJFILE (sal.symtab));
 
   return NULL;
 }
@@ -7354,15 +7411,16 @@ make_breakpoint_permanent (struct breakp
 {
   struct bp_location *bl;
 
-  b->enable_state = bp_permanent;
-
   /* By definition, permanent breakpoints are already present in the
      code.  Mark all locations as inserted.  For now,
      make_breakpoint_permanent is called in just one place, so it's
      hard to say if it's reasonable to have permanent breakpoint with
      multiple locations or not, but it's easy to implement.  */
   for (bl = b->loc; bl; bl = bl->next)
-    bl->inserted = 1;
+    {
+      bl->permanent = 1;
+      bl->inserted = 1;
+    }
 }
 
 /* Call this routine when stepping and nexting to enable a breakpoint
@@ -7390,7 +7448,7 @@ set_longjmp_breakpoint (struct thread_in
 	/* longjmp_breakpoint_ops ensures INITIATING_FRAME is cleared again
 	   after their removal.  */
 	clone = momentary_breakpoint_from_master (b, type,
-						  &longjmp_breakpoint_ops);
+						  &longjmp_breakpoint_ops, 1);
 	clone->thread = thread;
       }
 
@@ -7440,7 +7498,8 @@ set_longjmp_breakpoint_for_call_dummy (v
 	struct breakpoint *new_b;
 
 	new_b = momentary_breakpoint_from_master (b, bp_longjmp_call_dummy,
-						  &momentary_breakpoint_ops);
+						  &momentary_breakpoint_ops,
+						  1);
 	new_b->thread = pid_to_thread_id (inferior_ptid);
 
 	/* Link NEW_B into the chain of RETVAL breakpoints.  */
@@ -7458,7 +7517,7 @@ set_longjmp_breakpoint_for_call_dummy (v
 }
 
 /* Verify all existing dummy frames and their associated breakpoints for
-   THREAD.  Remove those which can no longer be found in the current frame
+   TP.  Remove those which can no longer be found in the current frame
    stack.
 
    You should call this function only at places where it is safe to currently
@@ -7466,12 +7525,12 @@ set_longjmp_breakpoint_for_call_dummy (v
    frames.  */
 
 void
-check_longjmp_breakpoint_for_call_dummy (int thread)
+check_longjmp_breakpoint_for_call_dummy (struct thread_info *tp)
 {
   struct breakpoint *b, *b_tmp;
 
   ALL_BREAKPOINTS_SAFE (b, b_tmp)
-    if (b->type == bp_longjmp_call_dummy && b->thread == thread)
+    if (b->type == bp_longjmp_call_dummy && b->thread == tp->num)
       {
 	struct breakpoint *dummy_b = b->related_breakpoint;
 
@@ -7481,7 +7540,7 @@ check_longjmp_breakpoint_for_call_dummy 
 	    || frame_find_by_id (dummy_b->frame_id) != NULL)
 	  continue;
 	
-	dummy_frame_discard (dummy_b->frame_id);
+	dummy_frame_discard (dummy_b->frame_id, tp->ptid);
 
 	while (b->related_breakpoint != b)
 	  {
@@ -7502,7 +7561,7 @@ enable_overlay_breakpoints (void)
     if (b->type == bp_overlay_event)
     {
       b->enable_state = bp_enabled;
-      update_global_location_list (1);
+      update_global_location_list (UGLL_MAY_INSERT);
       overlay_events_enabled = 1;
     }
 }
@@ -7516,7 +7575,7 @@ disable_overlay_breakpoints (void)
     if (b->type == bp_overlay_event)
     {
       b->enable_state = bp_disabled;
-      update_global_location_list (0);
+      update_global_location_list (UGLL_DONT_INSERT);
       overlay_events_enabled = 0;
     }
 }
@@ -7533,7 +7592,7 @@ set_std_terminate_breakpoint (void)
 	&& b->type == bp_std_terminate_master)
       {
 	momentary_breakpoint_from_master (b, bp_std_terminate,
-					  &momentary_breakpoint_ops);
+					  &momentary_breakpoint_ops, 1);
       }
 }
 
@@ -7561,7 +7620,7 @@ create_thread_event_breakpoint (struct g
   b->addr_string
     = xstrprintf ("*%s", paddress (b->loc->gdbarch, b->loc->address));
 
-  update_global_location_list_nothrow (1);
+  update_global_location_list_nothrow (UGLL_MAY_INSERT);
 
   return b;
 }
@@ -7592,7 +7651,7 @@ create_jit_event_breakpoint (struct gdba
 
   b = create_internal_breakpoint (gdbarch, address, bp_jit_event,
 				  &internal_breakpoint_ops);
-  update_global_location_list_nothrow (1);
+  update_global_location_list_nothrow (UGLL_MAY_INSERT);
   return b;
 }
 
@@ -7620,14 +7679,56 @@ remove_solib_event_breakpoints (void)
       delete_breakpoint (b);
 }
 
-struct breakpoint *
-create_solib_event_breakpoint (struct gdbarch *gdbarch, CORE_ADDR address)
+/* See breakpoint.h.  */
+
+void
+remove_solib_event_breakpoints_at_next_stop (void)
+{
+  struct breakpoint *b, *b_tmp;
+
+  ALL_BREAKPOINTS_SAFE (b, b_tmp)
+    if (b->type == bp_shlib_event
+	&& b->loc->pspace == current_program_space)
+      b->disposition = disp_del_at_next_stop;
+}
+
+/* Helper for create_solib_event_breakpoint /
+   create_and_insert_solib_event_breakpoint.  Allows specifying which
+   INSERT_MODE to pass through to update_global_location_list.  */
+
+static struct breakpoint *
+create_solib_event_breakpoint_1 (struct gdbarch *gdbarch, CORE_ADDR address,
+				 enum ugll_insert_mode insert_mode)
 {
   struct breakpoint *b;
 
   b = create_internal_breakpoint (gdbarch, address, bp_shlib_event,
 				  &internal_breakpoint_ops);
-  update_global_location_list_nothrow (1);
+  update_global_location_list_nothrow (insert_mode);
+  return b;
+}
+
+struct breakpoint *
+create_solib_event_breakpoint (struct gdbarch *gdbarch, CORE_ADDR address)
+{
+  return create_solib_event_breakpoint_1 (gdbarch, address, UGLL_MAY_INSERT);
+}
+
+/* See breakpoint.h.  */
+
+struct breakpoint *
+create_and_insert_solib_event_breakpoint (struct gdbarch *gdbarch, CORE_ADDR address)
+{
+  struct breakpoint *b;
+
+  /* Explicitly tell update_global_location_list to insert
+     locations.  */
+  b = create_solib_event_breakpoint_1 (gdbarch, address, UGLL_INSERT);
+  if (!b->loc->inserted)
+    {
+      delete_breakpoint (b);
+      return NULL;
+    }
   return b;
 }
 
@@ -8536,10 +8637,11 @@ print_it_catch_syscall (bpstat bs)
   ptid_t ptid;
   struct target_waitstatus last;
   struct syscall s;
+  struct gdbarch *gdbarch = bs->bp_location_at->gdbarch;
 
   get_last_target_status (&ptid, &last);
 
-  get_syscall_by_number (last.value.syscall_number, &s);
+  get_syscall_by_number (gdbarch, last.value.syscall_number, &s);
 
   annotate_catchpoint (b->number);
 
@@ -8582,6 +8684,7 @@ print_one_catch_syscall (struct breakpoi
   struct syscall_catchpoint *c = (struct syscall_catchpoint *) b;
   struct value_print_options opts;
   struct ui_out *uiout = current_uiout;
+  struct gdbarch *gdbarch = b->loc->gdbarch;
 
   get_user_print_options (&opts);
   /* Field 4, the address, is omitted (which makes the columns not
@@ -8608,7 +8711,7 @@ print_one_catch_syscall (struct breakpoi
         {
           char *x = text;
           struct syscall s;
-          get_syscall_by_number (iter, &s);
+          get_syscall_by_number (gdbarch, iter, &s);
 
           if (s.name != NULL)
             text = xstrprintf ("%s%s, ", text, s.name);
@@ -8639,6 +8742,7 @@ static void
 print_mention_catch_syscall (struct breakpoint *b)
 {
   struct syscall_catchpoint *c = (struct syscall_catchpoint *) b;
+  struct gdbarch *gdbarch = b->loc->gdbarch;
 
   if (c->syscalls_to_be_caught)
     {
@@ -8654,7 +8758,7 @@ print_mention_catch_syscall (struct brea
            i++)
         {
           struct syscall s;
-          get_syscall_by_number (iter, &s);
+          get_syscall_by_number (gdbarch, iter, &s);
 
           if (s.name)
             printf_filtered (" '%s' [%d]", s.name, s.number);
@@ -8675,6 +8779,7 @@ static void
 print_recreate_catch_syscall (struct breakpoint *b, struct ui_file *fp)
 {
   struct syscall_catchpoint *c = (struct syscall_catchpoint *) b;
+  struct gdbarch *gdbarch = b->loc->gdbarch;
 
   fprintf_unfiltered (fp, "catch syscall");
 
@@ -8688,7 +8793,7 @@ print_recreate_catch_syscall (struct bre
         {
           struct syscall s;
 
-          get_syscall_by_number (iter, &s);
+          get_syscall_by_number (gdbarch, iter, &s);
           if (s.name)
             fprintf_unfiltered (fp, " %s", s.name);
           else
@@ -8744,7 +8849,7 @@ install_breakpoint (int internal, struct
   observer_notify_breakpoint_created (b);
 
   if (update_gll)
-    update_global_location_list (1);
+    update_global_location_list (UGLL_MAY_INSERT);
 }
 
 static void
@@ -8986,7 +9091,7 @@ disable_watchpoints_before_interactive_c
     if (is_watchpoint (b) && breakpoint_enabled (b))
       {
 	b->enable_state = bp_call_disabled;
-	update_global_location_list (0);
+	update_global_location_list (UGLL_DONT_INSERT);
       }
   }
 }
@@ -9001,7 +9106,7 @@ enable_watchpoints_after_interactive_cal
     if (is_watchpoint (b) && b->enable_state == bp_call_disabled)
       {
 	b->enable_state = bp_enabled;
-	update_global_location_list (1);
+	update_global_location_list (UGLL_MAY_INSERT);
       }
   }
 }
@@ -9010,7 +9115,7 @@ void
 disable_breakpoints_before_startup (void)
 {
   current_program_space->executing_startup = 1;
-  update_global_location_list (0);
+  update_global_location_list (UGLL_DONT_INSERT);
 }
 
 void
@@ -9020,10 +9125,31 @@ enable_breakpoints_after_startup (void)
   breakpoint_re_set ();
 }
 
+/* Create a new single-step breakpoint for thread THREAD, with no
+   locations.  */
+
+static struct breakpoint *
+new_single_step_breakpoint (int thread, struct gdbarch *gdbarch)
+{
+  struct breakpoint *b = XNEW (struct breakpoint);
+
+  init_raw_breakpoint_without_location (b, gdbarch, bp_single_step,
+					&momentary_breakpoint_ops);
 
-/* Set a breakpoint that will evaporate an end of command
-   at address specified by SAL.
-   Restrict it to frame FRAME if FRAME is nonzero.  */
+  b->disposition = disp_donttouch;
+  b->frame_id = null_frame_id;
+
+  b->thread = thread;
+  gdb_assert (b->thread != 0);
+
+  add_to_breakpoint_chain (b);
+
+  return b;
+}
+
+/* Set a momentary breakpoint of type TYPE at address specified by
+   SAL.  If FRAME_ID is valid, the breakpoint is restricted to that
+   frame.  */
 
 struct breakpoint *
 set_momentary_breakpoint (struct gdbarch *gdbarch, struct symtab_and_line sal,
@@ -9046,19 +9172,20 @@ set_momentary_breakpoint (struct gdbarch
   if (in_thread_list (inferior_ptid))
     b->thread = pid_to_thread_id (inferior_ptid);
 
-  update_global_location_list_nothrow (1);
+  update_global_location_list_nothrow (UGLL_MAY_INSERT);
 
   return b;
 }
 
 /* Make a momentary breakpoint based on the master breakpoint ORIG.
-   The new breakpoint will have type TYPE, and use OPS as it
-   breakpoint_ops.  */
+   The new breakpoint will have type TYPE, use OPS as its
+   breakpoint_ops, and will set enabled to LOC_ENABLED.  */
 
 static struct breakpoint *
 momentary_breakpoint_from_master (struct breakpoint *orig,
 				  enum bptype type,
-				  const struct breakpoint_ops *ops)
+				  const struct breakpoint_ops *ops,
+				  int loc_enabled)
 {
   struct breakpoint *copy;
 
@@ -9074,6 +9201,7 @@ momentary_breakpoint_from_master (struct
   copy->loc->probe = orig->loc->probe;
   copy->loc->line_number = orig->loc->line_number;
   copy->loc->symtab = orig->loc->symtab;
+  copy->loc->enabled = loc_enabled;
   copy->frame_id = orig->frame_id;
   copy->thread = orig->thread;
   copy->pspace = orig->pspace;
@@ -9082,7 +9210,7 @@ momentary_breakpoint_from_master (struct
   copy->disposition = disp_donttouch;
   copy->number = internal_breakpoint_number--;
 
-  update_global_location_list_nothrow (0);
+  update_global_location_list_nothrow (UGLL_DONT_INSERT);
   return copy;
 }
 
@@ -9096,7 +9224,7 @@ clone_momentary_breakpoint (struct break
   if (orig == NULL)
     return NULL;
 
-  return momentary_breakpoint_from_master (orig, orig->type, orig->ops);
+  return momentary_breakpoint_from_master (orig, orig->type, orig->ops, 0);
 }
 
 struct breakpoint *
@@ -9126,6 +9254,8 @@ mention (struct breakpoint *b)
 }
 
 
+static int bp_loc_is_permanent (struct bp_location *loc);
+
 static struct bp_location *
 add_location_to_breakpoint (struct breakpoint *b,
 			    const struct symtab_and_line *sal)
@@ -9167,6 +9297,13 @@ add_location_to_breakpoint (struct break
 
   set_breakpoint_location_function (loc,
 				    sal->explicit_pc || sal->explicit_line);
+
+  if (bp_loc_is_permanent (loc))
+    {
+      loc->inserted = 1;
+      loc->permanent = 1;
+    }
+
   return loc;
 }
 
@@ -9186,6 +9323,20 @@ bp_loc_is_permanent (struct bp_location 
 
   gdb_assert (loc != NULL);
 
+  /* bp_call_dummy breakpoint locations are usually memory locations
+     where GDB just wrote a breakpoint instruction, making it look
+     as if there is a permanent breakpoint at that location.  Considering
+     it permanent makes GDB rely on that breakpoint instruction to stop
+     the program, thus removing the need to insert its own breakpoint
+     there.  This is normally expected to work, except that some versions
+     of QEMU (Eg: QEMU 2.0.0 for SPARC) just report a fatal problem (Trap
+     0x02 while interrupts disabled, Error state) instead of reporting
+     a SIGTRAP.  QEMU should probably be fixed, but in the interest of
+     compatibility with versions that behave this way, we always consider
+     bp_call_dummy breakpoint locations as non-permanent.  */
+  if (loc->owner->type == bp_call_dummy)
+    return 0;
+
   addr = loc->address;
   bpoint = gdbarch_breakpoint_from_pc (loc->gdbarch, &addr, &len);
 
@@ -9409,9 +9560,6 @@ init_breakpoint_sal (struct breakpoint *
 	    loc->inserted = 1;
 	}
 
-      if (bp_loc_is_permanent (loc))
-	make_breakpoint_permanent (b);
-
       if (b->cond_string)
 	{
 	  const char *arg = b->cond_string;
@@ -10037,7 +10185,7 @@ create_breakpoint (struct gdbarch *gdbar
   do_cleanups (old_chain);
 
   /* error call may happen here - have BKPT_CHAIN already discarded.  */
-  update_global_location_list (1);
+  update_global_location_list (UGLL_MAY_INSERT);
 
   return 1;
 }
@@ -10100,18 +10248,20 @@ resolve_sal_pc (struct symtab_and_line *
 
   if (sal->section == 0 && sal->symtab != NULL)
     {
-      struct blockvector *bv;
-      struct block *b;
+      const struct blockvector *bv;
+      const struct block *b;
       struct symbol *sym;
 
-      bv = blockvector_for_pc_sect (sal->pc, 0, &b, sal->symtab);
+      bv = blockvector_for_pc_sect (sal->pc, 0, &b,
+				    SYMTAB_COMPUNIT (sal->symtab));
       if (bv != NULL)
 	{
 	  sym = block_linkage_function (b);
 	  if (sym != NULL)
 	    {
-	      fixup_symbol_section (sym, sal->symtab->objfile);
-	      sal->section = SYMBOL_OBJ_SECTION (sal->symtab->objfile, sym);
+	      fixup_symbol_section (sym, SYMTAB_OBJFILE (sal->symtab));
+	      sal->section = SYMBOL_OBJ_SECTION (SYMTAB_OBJFILE (sal->symtab),
+						 sym);
 	    }
 	  else
 	    {
@@ -10549,7 +10699,7 @@ break_range_command (char *arg, int from
 
   mention (b);
   observer_notify_breakpoint_created (b);
-  update_global_location_list (1);
+  update_global_location_list (UGLL_MAY_INSERT);
 }
 
 /*  Return non-zero if EXP is verified as constant.  Returned zero
@@ -10598,8 +10748,6 @@ watchpoint_exp_is_const (const struct ex
 	case BINOP_MAX:
 	case BINOP_INTDIV:
 	case BINOP_CONCAT:
-	case BINOP_IN:
-	case BINOP_RANGE:
 	case TERNOP_COND:
 	case TERNOP_SLICE:
 
@@ -11172,6 +11320,7 @@ watch_command_1 (const char *arg, int ac
   struct expression *exp;
   const struct block *exp_valid_block = NULL, *cond_exp_valid_block = NULL;
   struct value *val, *mark, *result;
+  int saved_bitpos = 0, saved_bitsize = 0;
   struct frame_info *frame;
   const char *exp_start = NULL;
   const char *exp_end = NULL;
@@ -11305,6 +11454,12 @@ watch_command_1 (const char *arg, int ac
   mark = value_mark ();
   fetch_subexp_value (exp, &pc, &val, &result, NULL, just_location);
 
+  if (val != NULL && just_location)
+    {
+      saved_bitpos = value_bitpos (val);
+      saved_bitsize = value_bitsize (val);
+    }
+
   if (just_location)
     {
       int ret;
@@ -11440,6 +11595,8 @@ watch_command_1 (const char *arg, int ac
   else
     {
       w->val = val;
+      w->val_bitpos = saved_bitpos;
+      w->val_bitsize = saved_bitsize;
       w->val_valid = 1;
     }
 
@@ -11666,7 +11823,7 @@ until_break_command (char *arg, int from
   int thread;
   struct thread_info *tp;
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
 
   /* Set a breakpoint where the user wants it and at return from
      this function.  */
@@ -11928,6 +12085,7 @@ catch_syscall_split_args (char *arg)
 {
   VEC(int) *result = NULL;
   struct cleanup *cleanup = make_cleanup (VEC_cleanup (int), &result);
+  struct gdbarch *gdbarch = target_gdbarch ();
 
   while (*arg != '\0')
     {
@@ -11947,12 +12105,12 @@ catch_syscall_split_args (char *arg)
       /* Check if the user provided a syscall name or a number.  */
       syscall_number = (int) strtol (cur_name, &endptr, 0);
       if (*endptr == '\0')
-	get_syscall_by_number (syscall_number, &s);
+	get_syscall_by_number (gdbarch, syscall_number, &s);
       else
 	{
 	  /* We have a name.  Let's check if it's valid and convert it
 	     to a number.  */
-	  get_syscall_by_name (cur_name, &s);
+	  get_syscall_by_name (gdbarch, cur_name, &s);
 
 	  if (s.number == UNKNOWN_SYSCALL)
 	    /* Here we have to issue an error instead of a warning,
@@ -11993,7 +12151,7 @@ this architecture yet."));
      to get the syscall XML file loaded or, most important,
      to display a warning to the user if there's no XML file
      for his/her architecture.  */
-  get_syscall_by_number (0, &s);
+  get_syscall_by_number (gdbarch, 0, &s);
 
   /* The allowed syntax is:
      catch syscall
@@ -12244,7 +12402,7 @@ breakpoint_auto_delete (bpstat bs)
 /* A comparison function for bp_location AP and BP being interfaced to
    qsort.  Sort elements primarily by their ADDRESS (no matter what
    does breakpoint_address_is_meaningful say for its OWNER),
-   secondarily by ordering first bp_permanent OWNERed elements and
+   secondarily by ordering first permanent elements and
    terciarily just ensuring the array is sorted stable way despite
    qsort being an unstable algorithm.  */
 
@@ -12253,9 +12411,6 @@ bp_location_compare (const void *ap, con
 {
   struct bp_location *a = *(void **) ap;
   struct bp_location *b = *(void **) bp;
-  /* A and B come from existing breakpoints having non-NULL OWNER.  */
-  int a_perm = a->owner->enable_state == bp_permanent;
-  int b_perm = b->owner->enable_state == bp_permanent;
 
   if (a->address != b->address)
     return (a->address > b->address) - (a->address < b->address);
@@ -12269,8 +12424,8 @@ bp_location_compare (const void *ap, con
 	    - (a->pspace->num < b->pspace->num));
 
   /* Sort permanent breakpoints first.  */
-  if (a_perm != b_perm)
-    return (a_perm < b_perm) - (a_perm > b_perm);
+  if (a->permanent != b->permanent)
+    return (a->permanent < b->permanent) - (a->permanent > b->permanent);
 
   /* Make the internal GDB representation stable across GDB runs
      where A and B memory inside GDB can differ.  Breakpoint locations of
@@ -12445,24 +12600,16 @@ force_breakpoint_reinsertion (struct bp_
 	}
     }
 }
+/* Called whether new breakpoints are created, or existing breakpoints
+   deleted, to update the global location list and recompute which
+   locations are duplicate of which.
 
-/* If SHOULD_INSERT is false, do not insert any breakpoint locations
-   into the inferior, only remove already-inserted locations that no
-   longer should be inserted.  Functions that delete a breakpoint or
-   breakpoints should pass false, so that deleting a breakpoint
-   doesn't have the side effect of inserting the locations of other
-   breakpoints that are marked not-inserted, but should_be_inserted
-   returns true on them.
-
-   This behaviour is useful is situations close to tear-down -- e.g.,
-   after an exec, while the target still has execution, but breakpoint
-   shadows of the previous executable image should *NOT* be restored
-   to the new image; or before detaching, where the target still has
-   execution and wants to delete breakpoints from GDB's lists, and all
-   breakpoints had already been removed from the inferior.  */
+   The INSERT_MODE flag determines whether locations may not, may, or
+   shall be inserted now.  See 'enum ugll_insert_mode' for more
+   info.  */
 
 static void
-update_global_location_list (int should_insert)
+update_global_location_list (enum ugll_insert_mode insert_mode)
 {
   struct breakpoint *b;
   struct bp_location **locp, *loc;
@@ -12749,7 +12896,7 @@ update_global_location_list (int should_
 	}
 
       /* Permanent breakpoint should always be inserted.  */
-      if (b->enable_state == bp_permanent && ! loc->inserted)
+      if (loc->permanent && ! loc->inserted)
 	internal_error (__FILE__, __LINE__,
 			_("allegedly permanent breakpoint is not "
 			"actually inserted"));
@@ -12790,30 +12937,30 @@ update_global_location_list (int should_
       /* Clear the condition modification flag.  */
       loc->condition_changed = condition_unchanged;
 
-      if ((*loc_first_p)->owner->enable_state == bp_permanent && loc->inserted
-	  && b->enable_state != bp_permanent)
+      if (loc->inserted && !loc->permanent
+	  && (*loc_first_p)->permanent)
 	internal_error (__FILE__, __LINE__,
 			_("another breakpoint was inserted on top of "
 			"a permanent breakpoint"));
     }
 
-  if (breakpoints_always_inserted_mode ()
-      && (have_live_inferiors ()
-	  || (gdbarch_has_global_breakpoints (target_gdbarch ()))))
+  if (insert_mode == UGLL_INSERT || breakpoints_should_be_inserted_now ())
     {
-      if (should_insert)
+      if (insert_mode != UGLL_DONT_INSERT)
 	insert_breakpoint_locations ();
       else
 	{
-	  /* Though should_insert is false, we may need to update conditions
-	     on the target's side if it is evaluating such conditions.  We
+	  /* Even though the caller told us to not insert new
+	     locations, we may still need to update conditions on the
+	     target's side of breakpoints that were already inserted
+	     if the target is evaluating breakpoint conditions.  We
 	     only update conditions for locations that are marked
 	     "needs_update".  */
 	  update_inserted_breakpoint_locations ();
 	}
     }
 
-  if (should_insert)
+  if (insert_mode != UGLL_DONT_INSERT)
     download_tracepoint_locations ();
 
   do_cleanups (cleanups);
@@ -12835,12 +12982,12 @@ breakpoint_retire_moribund (void)
 }
 
 static void
-update_global_location_list_nothrow (int inserting)
+update_global_location_list_nothrow (enum ugll_insert_mode insert_mode)
 {
   volatile struct gdb_exception e;
 
   TRY_CATCH (e, RETURN_MASK_ERROR)
-    update_global_location_list (inserting);
+    update_global_location_list (insert_mode);
 }
 
 /* Clear BKP from a BPS.  */
@@ -13129,45 +13276,13 @@ bkpt_re_set (struct breakpoint *b)
   breakpoint_re_set_default (b);
 }
 
-/* Copy SRC's shadow buffer and whatever else we'd set if we actually
-   inserted DEST, so we can remove it later, in case SRC is removed
-   first.  */
-
-static void
-bp_target_info_copy_insertion_state (struct bp_target_info *dest,
-				     const struct bp_target_info *src)
-{
-  dest->shadow_len = src->shadow_len;
-  memcpy (dest->shadow_contents, src->shadow_contents, src->shadow_len);
-  dest->placed_size = src->placed_size;
-}
-
 static int
 bkpt_insert_location (struct bp_location *bl)
 {
   if (bl->loc_type == bp_loc_hardware_breakpoint)
-    return target_insert_hw_breakpoint (bl->gdbarch,
-					&bl->target_info);
+    return target_insert_hw_breakpoint (bl->gdbarch, &bl->target_info);
   else
-    {
-      struct bp_target_info *bp_tgt = &bl->target_info;
-      int ret;
-      int sss_slot;
-
-      /* There is no need to insert a breakpoint if an unconditional
-	 raw/sss breakpoint is already inserted at that location.  */
-      sss_slot = find_single_step_breakpoint (bp_tgt->placed_address_space,
-					      bp_tgt->placed_address);
-      if (sss_slot >= 0)
-	{
-	  struct bp_target_info *sss_bp_tgt = single_step_breakpoints[sss_slot];
-
-	  bp_target_info_copy_insertion_state (bp_tgt, sss_bp_tgt);
-	  return 0;
-	}
-
-      return target_insert_breakpoint (bl->gdbarch, bp_tgt);
-    }
+    return target_insert_breakpoint (bl->gdbarch, &bl->target_info);
 }
 
 static int
@@ -13176,19 +13291,7 @@ bkpt_remove_location (struct bp_location
   if (bl->loc_type == bp_loc_hardware_breakpoint)
     return target_remove_hw_breakpoint (bl->gdbarch, &bl->target_info);
   else
-    {
-      struct bp_target_info *bp_tgt = &bl->target_info;
-      struct address_space *aspace = bp_tgt->placed_address_space;
-      CORE_ADDR address = bp_tgt->placed_address;
-
-      /* Only remove the breakpoint if there is no raw/sss breakpoint
-	 still inserted at this location.  Otherwise, we would be
-	 effectively disabling the raw/sss breakpoint.  */
-      if (single_step_breakpoint_inserted_here_p (aspace, address))
-	return 0;
-
-      return target_remove_breakpoint (bl->gdbarch, bp_tgt);
-    }
+    return target_remove_breakpoint (bl->gdbarch, &bl->target_info);
 }
 
 static int
@@ -13534,9 +13637,10 @@ bkpt_probe_insert_location (struct bp_lo
     {
       /* The insertion was successful, now let's set the probe's semaphore
 	 if needed.  */
-      bl->probe.probe->pops->set_semaphore (bl->probe.probe,
-					    bl->probe.objfile,
-					    bl->gdbarch);
+      if (bl->probe.probe->pops->set_semaphore != NULL)
+	bl->probe.probe->pops->set_semaphore (bl->probe.probe,
+					      bl->probe.objfile,
+					      bl->gdbarch);
     }
 
   return v;
@@ -13546,9 +13650,10 @@ static int
 bkpt_probe_remove_location (struct bp_location *bl)
 {
   /* Let's clear the semaphore before removing the location.  */
-  bl->probe.probe->pops->clear_semaphore (bl->probe.probe,
-					  bl->probe.objfile,
-					  bl->gdbarch);
+  if (bl->probe.probe->pops->clear_semaphore != NULL)
+    bl->probe.probe->pops->clear_semaphore (bl->probe.probe,
+					    bl->probe.objfile,
+					    bl->gdbarch);
 
   return bkpt_remove_location (bl);
 }
@@ -13993,7 +14098,7 @@ delete_breakpoint (struct breakpoint *bp
      itself, since remove_breakpoint looks at location's owner.  It
      might be better design to have location completely
      self-contained, but it's not the case now.  */
-  update_global_location_list (0);
+  update_global_location_list (UGLL_DONT_INSERT);
 
   bpt->ops->dtor (bpt);
   /* On the chance that someone will soon try again to delete this
@@ -14322,7 +14427,7 @@ update_breakpoint_locations (struct brea
       /* Ranged breakpoints have only one start location and one end
 	 location.  */
       b->enable_state = bp_disabled;
-      update_global_location_list (1);
+      update_global_location_list (UGLL_MAY_INSERT);
       printf_unfiltered (_("Could not reset ranged breakpoint %d: "
 			   "multiple locations found\n"),
 			 b->number);
@@ -14379,10 +14484,6 @@ update_breakpoint_locations (struct brea
 	}
     }
 
-  /* Update locations of permanent breakpoints.  */
-  if (b->enable_state == bp_permanent)
-    make_breakpoint_permanent (b);
-
   /* If possible, carry over 'disable' status from existing
      breakpoints.  */
   {
@@ -14425,7 +14526,7 @@ update_breakpoint_locations (struct brea
   if (!locations_are_equal (existing_locations, b->loc))
     observer_notify_breakpoint_modified (b);
 
-  update_global_location_list (1);
+  update_global_location_list (UGLL_MAY_INSERT);
 }
 
 /* Find the SaL locations corresponding to the given ADDR_STRING.
@@ -14786,7 +14887,7 @@ map_breakpoint_numbers (char *args, void
 
   while (!state.finished)
     {
-      char *p = state.string;
+      const char *p = state.string;
 
       match = 0;
 
@@ -14865,10 +14966,6 @@ disable_breakpoint (struct breakpoint *b
   if (bpt->type == bp_watchpoint_scope)
     return;
 
-  /* You can't disable permanent breakpoints.  */
-  if (bpt->enable_state == bp_permanent)
-    return;
-
   bpt->enable_state = bp_disabled;
 
   /* Mark breakpoint locations modified.  */
@@ -14883,7 +14980,7 @@ disable_breakpoint (struct breakpoint *b
 	target_disable_tracepoint (location);
     }
 
-  update_global_location_list (0);
+  update_global_location_list (UGLL_DONT_INSERT);
 
   observer_notify_breakpoint_modified (bpt);
 }
@@ -14938,7 +15035,7 @@ disable_command (char *args, int from_tt
 		      && is_tracepoint (loc->owner))
 		    target_disable_tracepoint (loc);
 		}
-	      update_global_location_list (0);
+	      update_global_location_list (UGLL_DONT_INSERT);
 	    }
 	  else
 	    map_breakpoint_numbers (num, do_map_disable_breakpoint, NULL);
@@ -14989,9 +15086,6 @@ enable_breakpoint_disp (struct breakpoin
 	}
     }
 
-  if (bpt->enable_state != bp_permanent)
-    bpt->enable_state = bp_enabled;
-
   bpt->enable_state = bp_enabled;
 
   /* Mark breakpoint locations modified.  */
@@ -15008,7 +15102,7 @@ enable_breakpoint_disp (struct breakpoin
 
   bpt->disposition = disposition;
   bpt->enable_count = count;
-  update_global_location_list (1);
+  update_global_location_list (UGLL_MAY_INSERT);
 
   observer_notify_breakpoint_modified (bpt);
 }
@@ -15072,7 +15166,7 @@ enable_command (char *args, int from_tty
 		      && is_tracepoint (loc->owner))
 		    target_enable_tracepoint (loc);
 		}
-	      update_global_location_list (1);
+	      update_global_location_list (UGLL_MAY_INSERT);
 	    }
 	  else
 	    map_breakpoint_numbers (num, do_map_enable_breakpoint, NULL);
@@ -15186,87 +15280,6 @@ invalidate_bp_value_on_memory_change (st
       }
 }
 
-/* Create and insert a raw software breakpoint at PC.  Return an
-   identifier, which should be used to remove the breakpoint later.
-   In general, places which call this should be using something on the
-   breakpoint chain instead; this function should be eliminated
-   someday.  */
-
-void *
-deprecated_insert_raw_breakpoint (struct gdbarch *gdbarch,
-				  struct address_space *aspace, CORE_ADDR pc)
-{
-  struct bp_target_info *bp_tgt;
-  struct bp_location *bl;
-
-  bp_tgt = XCNEW (struct bp_target_info);
-
-  bp_tgt->placed_address_space = aspace;
-  bp_tgt->placed_address = pc;
-
-  /* If an unconditional non-raw breakpoint is already inserted at
-     that location, there's no need to insert another.  However, with
-     target-side evaluation of breakpoint conditions, if the
-     breakpoint that is currently inserted on the target is
-     conditional, we need to make it unconditional.  Note that a
-     breakpoint with target-side commands is not reported even if
-     unconditional, so we need to remove the commands from the target
-     as well.  */
-  bl = find_non_raw_software_breakpoint_inserted_here (aspace, pc);
-  if (bl != NULL
-      && VEC_empty (agent_expr_p, bl->target_info.conditions)
-      && VEC_empty (agent_expr_p, bl->target_info.tcommands))
-    {
-      bp_target_info_copy_insertion_state (bp_tgt, &bl->target_info);
-      return bp_tgt;
-    }
-
-  if (target_insert_breakpoint (gdbarch, bp_tgt) != 0)
-    {
-      /* Could not insert the breakpoint.  */
-      xfree (bp_tgt);
-      return NULL;
-    }
-
-  return bp_tgt;
-}
-
-/* Remove a breakpoint BP inserted by
-   deprecated_insert_raw_breakpoint.  */
-
-int
-deprecated_remove_raw_breakpoint (struct gdbarch *gdbarch, void *bp)
-{
-  struct bp_target_info *bp_tgt = bp;
-  struct address_space *aspace = bp_tgt->placed_address_space;
-  CORE_ADDR address = bp_tgt->placed_address;
-  struct bp_location *bl;
-  int ret;
-
-  bl = find_non_raw_software_breakpoint_inserted_here (aspace, address);
-
-  /* Only remove the raw breakpoint if there are no other non-raw
-     breakpoints still inserted at this location.  Otherwise, we would
-     be effectively disabling those breakpoints.  */
-  if (bl == NULL)
-    ret = target_remove_breakpoint (gdbarch, bp_tgt);
-  else if (!VEC_empty (agent_expr_p, bl->target_info.conditions)
-	   || !VEC_empty (agent_expr_p, bl->target_info.tcommands))
-    {
-      /* The target is evaluating conditions, and when we inserted the
-	 software single-step breakpoint, we had made the breakpoint
-	 unconditional and command-less on the target side.  Reinsert
-	 to restore the conditions/commands.  */
-      ret = target_insert_breakpoint (bl->gdbarch, &bl->target_info);
-    }
-  else
-    ret = 0;
-
-  xfree (bp_tgt);
-
-  return ret;
-}
-
 /* Create and insert a breakpoint for software single step.  */
 
 void
@@ -15274,119 +15287,40 @@ insert_single_step_breakpoint (struct gd
 			       struct address_space *aspace, 
 			       CORE_ADDR next_pc)
 {
-  void **bpt_p;
+  struct thread_info *tp = inferior_thread ();
+  struct symtab_and_line sal;
+  CORE_ADDR pc = next_pc;
 
-  if (single_step_breakpoints[0] == NULL)
+  if (tp->control.single_step_breakpoints == NULL)
     {
-      bpt_p = &single_step_breakpoints[0];
-      single_step_gdbarch[0] = gdbarch;
-    }
-  else
-    {
-      gdb_assert (single_step_breakpoints[1] == NULL);
-      bpt_p = &single_step_breakpoints[1];
-      single_step_gdbarch[1] = gdbarch;
+      tp->control.single_step_breakpoints
+	= new_single_step_breakpoint (tp->num, gdbarch);
     }
 
-  /* NOTE drow/2006-04-11: A future improvement to this function would
-     be to only create the breakpoints once, and actually put them on
-     the breakpoint chain.  That would let us use set_raw_breakpoint.
-     We could adjust the addresses each time they were needed.  Doing
-     this requires corresponding changes elsewhere where single step
-     breakpoints are handled, however.  So, for now, we use this.  */
+  sal = find_pc_line (pc, 0);
+  sal.pc = pc;
+  sal.section = find_pc_overlay (pc);
+  sal.explicit_pc = 1;
+  add_location_to_breakpoint (tp->control.single_step_breakpoints, &sal);
 
-  *bpt_p = deprecated_insert_raw_breakpoint (gdbarch, aspace, next_pc);
-  if (*bpt_p == NULL)
-    error (_("Could not insert single-step breakpoint at %s"),
-	     paddress (gdbarch, next_pc));
+  update_global_location_list (UGLL_INSERT);
 }
 
-/* Check if the breakpoints used for software single stepping
-   were inserted or not.  */
+/* See breakpoint.h.  */
 
 int
-single_step_breakpoints_inserted (void)
-{
-  return (single_step_breakpoints[0] != NULL
-          || single_step_breakpoints[1] != NULL);
-}
-
-/* Remove and delete any breakpoints used for software single step.  */
-
-void
-remove_single_step_breakpoints (void)
+breakpoint_has_location_inserted_here (struct breakpoint *bp,
+				       struct address_space *aspace,
+				       CORE_ADDR pc)
 {
-  gdb_assert (single_step_breakpoints[0] != NULL);
-
-  /* See insert_single_step_breakpoint for more about this deprecated
-     call.  */
-  deprecated_remove_raw_breakpoint (single_step_gdbarch[0],
-				    single_step_breakpoints[0]);
-  single_step_gdbarch[0] = NULL;
-  single_step_breakpoints[0] = NULL;
-
-  if (single_step_breakpoints[1] != NULL)
-    {
-      deprecated_remove_raw_breakpoint (single_step_gdbarch[1],
-					single_step_breakpoints[1]);
-      single_step_gdbarch[1] = NULL;
-      single_step_breakpoints[1] = NULL;
-    }
-}
-
-/* Delete software single step breakpoints without removing them from
-   the inferior.  This is intended to be used if the inferior's address
-   space where they were inserted is already gone, e.g. after exit or
-   exec.  */
-
-void
-cancel_single_step_breakpoints (void)
-{
-  int i;
-
-  for (i = 0; i < 2; i++)
-    if (single_step_breakpoints[i])
-      {
-	xfree (single_step_breakpoints[i]);
-	single_step_breakpoints[i] = NULL;
-	single_step_gdbarch[i] = NULL;
-      }
-}
-
-/* Detach software single-step breakpoints from INFERIOR_PTID without
-   removing them.  */
-
-static void
-detach_single_step_breakpoints (void)
-{
-  int i;
-
-  for (i = 0; i < 2; i++)
-    if (single_step_breakpoints[i])
-      target_remove_breakpoint (single_step_gdbarch[i],
-				single_step_breakpoints[i]);
-}
-
-/* Find the software single-step breakpoint that inserted at PC.
-   Returns its slot if found, and -1 if not found.  */
-
-static int
-find_single_step_breakpoint (struct address_space *aspace,
-			     CORE_ADDR pc)
-{
-  int i;
+  struct bp_location *loc;
 
-  for (i = 0; i < 2; i++)
-    {
-      struct bp_target_info *bp_tgt = single_step_breakpoints[i];
-      if (bp_tgt
-	  && breakpoint_address_match (bp_tgt->placed_address_space,
-				       bp_tgt->placed_address,
-				       aspace, pc))
-	return i;
-    }
+  for (loc = bp->loc; loc != NULL; loc = loc->next)
+    if (loc->inserted
+	&& breakpoint_location_address_match (loc, aspace, pc))
+      return 1;
 
-  return -1;
+  return 0;
 }
 
 /* Check whether a software single-step breakpoint is inserted at
@@ -15396,7 +15330,15 @@ int
 single_step_breakpoint_inserted_here_p (struct address_space *aspace,
 					CORE_ADDR pc)
 {
-  return find_single_step_breakpoint (aspace, pc) >= 0;
+  struct breakpoint *bpt;
+
+  ALL_BREAKPOINTS (bpt)
+    {
+      if (bpt->type == bp_single_step
+	  && breakpoint_has_location_inserted_here (bpt, aspace, pc))
+	return 1;
+    }
+  return 0;
 }
 
 /* Returns 0 if 'bp' is NOT a syscall catchpoint,
@@ -15452,7 +15394,7 @@ static VEC (char_ptr) *
 catch_syscall_completer (struct cmd_list_element *cmd,
                          const char *text, const char *word)
 {
-  const char **list = get_syscall_names ();
+  const char **list = get_syscall_names (get_current_arch ());
   VEC (char_ptr) *retlist
     = (list == NULL) ? NULL : complete_on_enum (list, word, word);
 
@@ -15968,7 +15910,7 @@ save_breakpoints (char *filename, int fr
       }
 
     if (tp->enable_state == bp_disabled)
-      fprintf_unfiltered (fp, "disable\n");
+      fprintf_unfiltered (fp, "disable $bpnum\n");
 
     /* If this is a multi-location breakpoint, check if the locations
        should be individually disabled.  Watchpoint locations are
@@ -16057,8 +15999,7 @@ static struct cmd_list_element *tcatch_c
 
 void
 add_catch_command (char *name, char *docstring,
-		   void (*sfunc) (char *args, int from_tty,
-				  struct cmd_list_element *command),
+		   cmd_sfunc_ftype *sfunc,
 		   completer_ftype *completer,
 		   void *user_data_catch,
 		   void *user_data_tcatch)
@@ -16094,7 +16035,7 @@ save_command (char *arg, int from_tty)
 {
   printf_unfiltered (_("\"save\" must be followed by "
 		       "the name of a save subcommand.\n"));
-  help_list (save_cmdlist, "save ", -1, gdb_stdout);
+  help_list (save_cmdlist, "save ", all_commands, gdb_stdout);
 }
 
 struct breakpoint *
@@ -16160,7 +16101,7 @@ breakpoint_free_objfile (struct objfile 
   struct bp_location **locp, *loc;
 
   ALL_BP_LOCATIONS (loc, locp)
-    if (loc->symtab != NULL && loc->symtab->objfile == objfile)
+    if (loc->symtab != NULL && SYMTAB_OBJFILE (loc->symtab) == objfile)
       loc->symtab = NULL;
 }
 
@@ -16885,18 +16826,15 @@ a warning will be emitted for such break
 			   &breakpoint_set_cmdlist,
 			   &breakpoint_show_cmdlist);
 
-  add_setshow_auto_boolean_cmd ("always-inserted", class_support,
-				&always_inserted_mode, _("\
+  add_setshow_boolean_cmd ("always-inserted", class_support,
+			   &always_inserted_mode, _("\
 Set mode for inserting breakpoints."), _("\
 Show mode for inserting breakpoints."), _("\
-When this mode is off, breakpoints are inserted in inferior when it is\n\
-resumed, and removed when execution stops.  When this mode is on,\n\
-breakpoints are inserted immediately and removed only when the user\n\
-deletes the breakpoint.  When this mode is auto (which is the default),\n\
-the behaviour depends on the non-stop setting (see help set non-stop).\n\
-In this case, if gdb is controlling the inferior in non-stop mode, gdb\n\
-behaves as if always-inserted mode is on; if gdb is controlling the\n\
-inferior in all-stop mode, gdb behaves as if always-inserted mode is off."),
+When this mode is on, breakpoints are inserted immediately as soon as\n\
+they're created, kept inserted even when execution stops, and removed\n\
+only when the user deletes them.  When this mode is off (the default),\n\
+breakpoints are inserted only when execution continues, and removed\n\
+when execution stops."),
 				NULL,
 				&show_always_inserted_mode,
 				&breakpoint_set_cmdlist,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/breakpoint.h ./gdb/breakpoint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/breakpoint.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/breakpoint.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Data structures associated with breakpoints in GDB.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -47,18 +47,13 @@ struct linespec_sals;
 
 
 /* Type of breakpoint.  */
-/* FIXME In the future, we should fold all other breakpoint-like
-   things into here.  This includes:
-
-   * single-step (for machines where we have to simulate single
-   stepping) (probably, though perhaps it is better for it to look as
-   much as possible like a single-step to wait_for_inferior).  */
 
 enum bptype
   {
     bp_none = 0,		/* Eventpoint has been deleted */
     bp_breakpoint,		/* Normal breakpoint */
     bp_hardware_breakpoint,	/* Hardware assisted breakpoint */
+    bp_single_step,		/* Software single-step */
     bp_until,			/* used by until command */
     bp_finish,			/* used by finish command */
     bp_watchpoint,		/* Watchpoint */
@@ -198,12 +193,6 @@ enum enable_state
 			    automatically enabled and reset when the
 			    call "lands" (either completes, or stops
 			    at another eventpoint).  */
-    bp_permanent	 /* There is a breakpoint instruction
-			    hard-wired into the target's code.  Don't
-			    try to write another breakpoint
-			    instruction on top of it, or restore its
-			    value.  Step over it using the
-			    architecture's SKIP_INSN macro.  */
   };
 
 
@@ -235,13 +224,16 @@ struct bp_target_info
   /* Address space at which the breakpoint was placed.  */
   struct address_space *placed_address_space;
 
-  /* Address at which the breakpoint was placed.  This is normally the
-     same as ADDRESS from the bp_location, except when adjustment
-     happens in gdbarch_breakpoint_from_pc.  The most common form of
-     adjustment is stripping an alternate ISA marker from the PC which
-     is used to determine the type of breakpoint to insert.  */
+  /* Address at which the breakpoint was placed.  This is normally
+     the same as REQUESTED_ADDRESS, except when adjustment happens in
+     gdbarch_breakpoint_from_pc.  The most common form of adjustment
+     is stripping an alternate ISA marker from the PC which is used
+     to determine the type of breakpoint to insert.  */
   CORE_ADDR placed_address;
 
+  /* Address at which the breakpoint was requested.  */
+  CORE_ADDR reqstd_address;
+
   /* If this is a ranged breakpoint, then this field contains the
      length of the range that will be watched for execution.  */
   int length;
@@ -378,6 +370,13 @@ struct bp_location
   /* Nonzero if this breakpoint is now inserted.  */
   char inserted;
 
+  /* Nonzero if this is a permanent breakpoint.  There is a breakpoint
+     instruction hard-wired into the target's code.  Don't try to
+     write another breakpoint instruction on top of it, or restore its
+     value.  Step over it using the architecture's
+     gdbarch_skip_permanent_breakpoint method.  */
+  char permanent;
+
   /* Nonzero if this is not the first breakpoint in the list
      for the given address.  location of tracepoint can _never_
      be duplicated with other locations of tracepoints and other
@@ -779,6 +778,11 @@ struct watchpoint
      then an error occurred reading the value.  */
   int val_valid;
 
+  /* When watching the location of a bitfield, contains the offset and size of
+     the bitfield.  Otherwise contains 0.  */
+  int val_bitpos;
+  int val_bitsize;
+
   /* Holds the frame address which identifies the frame this
      watchpoint should be evaluated in, or `null' if the watchpoint
      should be evaluated on the outermost frame.  */
@@ -1126,6 +1130,17 @@ extern int regular_breakpoint_inserted_h
 extern int software_breakpoint_inserted_here_p (struct address_space *, 
 						CORE_ADDR);
 
+/* Return non-zero iff there is a hardware breakpoint inserted at
+   PC.  */
+extern int hardware_breakpoint_inserted_here_p (struct address_space *,
+						CORE_ADDR);
+
+/* Check whether any location of BP is inserted at PC.  */
+
+extern int breakpoint_has_location_inserted_here (struct breakpoint *bp,
+						  struct address_space *aspace,
+						  CORE_ADDR pc);
+
 extern int single_step_breakpoint_inserted_here_p (struct address_space *,
 						   CORE_ADDR);
 
@@ -1135,9 +1150,6 @@ extern int hardware_watchpoint_inserted_
 						  CORE_ADDR addr,
 						  ULONGEST len);
 
-extern int breakpoint_thread_match (struct address_space *, 
-				    CORE_ADDR, ptid_t);
-
 /* Returns true if {ASPACE1,ADDR1} and {ASPACE2,ADDR2} represent the
    same breakpoint location.  In most targets, this can only be true
    if ASPACE1 matches ASPACE2.  On targets that have global
@@ -1221,8 +1233,7 @@ extern void initialize_breakpoint_ops (v
 
 extern void
   add_catch_command (char *name, char *docstring,
-		     void (*sfunc) (char *args, int from_tty,
-				    struct cmd_list_element *command),
+		     cmd_sfunc_ftype *sfunc,
 		     completer_ftype *completer,
 		     void *user_data_catch,
 		     void *user_data_tcatch);
@@ -1329,7 +1340,7 @@ extern void delete_longjmp_breakpoint (i
 extern void delete_longjmp_breakpoint_at_next_stop (int thread);
 
 extern struct breakpoint *set_longjmp_breakpoint_for_call_dummy (void);
-extern void check_longjmp_breakpoint_for_call_dummy (int thread);
+extern void check_longjmp_breakpoint_for_call_dummy (struct thread_info *tp);
 
 extern void enable_overlay_breakpoints (void);
 extern void disable_overlay_breakpoints (void);
@@ -1420,6 +1431,13 @@ extern struct breakpoint *create_jit_eve
 extern struct breakpoint *create_solib_event_breakpoint (struct gdbarch *,
 							 CORE_ADDR);
 
+/* Create an solib event breakpoint at ADDRESS in the current program
+   space, and immediately try to insert it.  Returns a pointer to the
+   breakpoint on success.  Deletes the new breakpoint and returns NULL
+   if inserting the breakpoint fails.  */
+extern struct breakpoint *create_and_insert_solib_event_breakpoint
+  (struct gdbarch *gdbarch, CORE_ADDR address);
+
 extern struct breakpoint *create_thread_event_breakpoint (struct gdbarch *,
 							  CORE_ADDR);
 
@@ -1427,6 +1445,10 @@ extern void remove_jit_event_breakpoints
 
 extern void remove_solib_event_breakpoints (void);
 
+/* Mark solib event breakpoints of the current program space with
+   delete at next stop disposition.  */
+extern void remove_solib_event_breakpoints_at_next_stop (void);
+
 extern void remove_thread_event_breakpoints (void);
 
 extern void disable_breakpoints_in_shlibs (void);
@@ -1443,23 +1465,13 @@ extern void add_solib_catchpoint (char *
    deletes all breakpoints.  */
 extern void delete_command (char *arg, int from_tty);
 
-/* Manage a software single step breakpoint (or two).  Insert may be
-   called twice before remove is called.  */
+/* Create and insert a new software single step breakpoint for the
+   current thread.  May be called multiple times; each time will add a
+   new location to the set of potential addresses the next instruction
+   is at.  */
 extern void insert_single_step_breakpoint (struct gdbarch *,
 					   struct address_space *, 
 					   CORE_ADDR);
-extern int single_step_breakpoints_inserted (void);
-extern void remove_single_step_breakpoints (void);
-extern void cancel_single_step_breakpoints (void);
-
-/* Manage manual breakpoints, separate from the normal chain of
-   breakpoints.  These functions are used in murky target-specific
-   ways.  Please do not add more uses!  */
-extern void *deprecated_insert_raw_breakpoint (struct gdbarch *,
-					       struct address_space *, 
-					       CORE_ADDR);
-extern int deprecated_remove_raw_breakpoint (struct gdbarch *, void *);
-
 /* Check if any hardware watchpoints have triggered, according to the
    target.  */
 int watchpoints_triggered (struct target_waitstatus *);
@@ -1476,7 +1488,17 @@ extern void breakpoint_xfer_memory (gdb_
 				    const gdb_byte *writebuf_org,
 				    ULONGEST memaddr, LONGEST len);
 
-extern int breakpoints_always_inserted_mode (void);
+/* Return true if breakpoints should be inserted now.  That'll be the
+   case if either:
+
+    - the target has global breakpoints.
+
+    - "breakpoint always-inserted" is on, and the target has
+      execution.
+
+    - threads are executing.
+*/
+extern int breakpoints_should_be_inserted_now (void);
 
 /* Called each time new event from target is processed.
    Retires previously deleted breakpoint locations that
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bsd-kvm.c ./gdb/bsd-kvm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bsd-kvm.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bsd-kvm.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* BSD Kernel Data Access Library (libkvm) interface.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,7 +27,6 @@
 #include "gdbcore.h"		/* for get_exec_file */
 #include "gdbthread.h"
 
-#include "gdb_assert.h"
 #include <fcntl.h>
 #include <kvm.h>
 #ifdef HAVE_NLIST_H
@@ -63,19 +62,20 @@ static struct target_ops bsd_kvm_ops;
 static ptid_t bsd_kvm_ptid;
 
 static void
-bsd_kvm_open (char *filename, int from_tty)
+bsd_kvm_open (const char *arg, int from_tty)
 {
   char errbuf[_POSIX2_LINE_MAX];
   char *execfile = NULL;
   kvm_t *temp_kd;
+  char *filename = NULL;
 
   target_preopen (from_tty);
 
-  if (filename)
+  if (arg)
     {
       char *temp;
 
-      filename = tilde_expand (filename);
+      filename = tilde_expand (arg);
       if (filename[0] != '/')
 	{
 	  temp = concat (current_directory, "/", filename, (char *)NULL);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bsd-kvm.h ./gdb/bsd-kvm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bsd-kvm.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bsd-kvm.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* BSD Kernel Data Access Library (libkvm) interface.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bsd-uthread.c ./gdb/bsd-uthread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bsd-uthread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bsd-uthread.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* BSD user-level threads support.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,7 +29,6 @@
 #include "symfile.h"
 #include "target.h"
 
-#include "gdb_assert.h"
 #include "gdb_obstack.h"
 
 #include "bsd-uthread.h"
@@ -413,12 +412,14 @@ bsd_uthread_thread_alive (struct target_
 }
 
 static void
-bsd_uthread_find_new_threads (struct target_ops *ops)
+bsd_uthread_update_thread_list (struct target_ops *ops)
 {
   pid_t pid = ptid_get_pid (inferior_ptid);
   int offset = bsd_uthread_thread_next_offset;
   CORE_ADDR addr;
 
+  prune_threads ();
+
   addr = bsd_uthread_read_memory_address (bsd_uthread_thread_list_addr);
   while (addr != 0)
     {
@@ -517,7 +518,7 @@ bsd_uthread_target (void)
   t->to_wait = bsd_uthread_wait;
   t->to_resume = bsd_uthread_resume;
   t->to_thread_alive = bsd_uthread_thread_alive;
-  t->to_find_new_threads = bsd_uthread_find_new_threads;
+  t->to_update_thread_list = bsd_uthread_update_thread_list;
   t->to_extra_thread_info = bsd_uthread_extra_thread_info;
   t->to_pid_to_str = bsd_uthread_pid_to_str;
   t->to_stratum = thread_stratum;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bsd-uthread.h ./gdb/bsd-uthread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/bsd-uthread.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/bsd-uthread.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* BSD user-level threads support.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/btrace.c ./gdb/btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/btrace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/btrace.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Branch trace support for GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
@@ -19,9 +19,9 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include "defs.h"
 #include "btrace.h"
 #include "gdbthread.h"
-#include "exceptions.h"
 #include "inferior.h"
 #include "target.h"
 #include "record.h"
@@ -79,7 +79,7 @@ ftrace_print_filename (const struct btra
   sym = bfun->sym;
 
   if (sym != NULL)
-    filename = symtab_to_filename_for_display (sym->symtab);
+    filename = symtab_to_filename_for_display (symbol_symtab (sym));
   else
     filename = "<unknown>";
 
@@ -151,8 +151,8 @@ ftrace_function_switched (const struct b
 	return 1;
 
       /* Check the location of those functions, as well.  */
-      bfname = symtab_to_fullname (sym->symtab);
-      fname = symtab_to_fullname (fun->symtab);
+      bfname = symtab_to_fullname (symbol_symtab (sym));
+      fname = symtab_to_fullname (symbol_symtab (fun));
       if (filename_cmp (fname, bfname) != 0)
 	return 1;
     }
@@ -183,7 +183,7 @@ ftrace_skip_file (const struct btrace_fu
   if (sym == NULL)
     return 1;
 
-  bfile = symtab_to_fullname (sym->symtab);
+  bfile = symtab_to_fullname (symbol_symtab (sym));
 
   return (filename_cmp (bfile, fullname) != 0);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/btrace.h ./gdb/btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/btrace.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/btrace.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Branch trace support for GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/build-id.c ./gdb/build-id.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/build-id.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/build-id.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* build-id-related functions.
 
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,15 +22,14 @@
 #include "elf-bfd.h"
 #include "gdb_bfd.h"
 #include "build-id.h"
-#include <string.h>
 #include "gdb_vecs.h"
 #include "symfile.h"
 #include "objfiles.h"
 #include "filenames.h"
 
-/* Locate NT_GNU_BUILD_ID from ABFD and return its content.  */
+/* See build-id.h.  */
 
-static const struct elf_build_id *
+const struct elf_build_id *
 build_id_bfd_get (bfd *abfd)
 {
   if (!bfd_check_format (abfd, bfd_object)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/build-id.h ./gdb/build-id.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/build-id.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/build-id.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* build-id-related functions.
 
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,6 +20,10 @@
 #ifndef BUILD_ID_H
 #define BUILD_ID_H
 
+/* Locate NT_GNU_BUILD_ID from ABFD and return its content.  */
+
+extern const struct elf_build_id *build_id_bfd_get (bfd *abfd);
+
 /* Return true if ABFD has NT_GNU_BUILD_ID matching the CHECK value.
    Otherwise, issue a warning and return false.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/buildsym.c ./gdb/buildsym.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/buildsym.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/buildsym.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support routines for building symbol tables in GDB's internal format.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,7 +21,53 @@
    file-reading routines.
 
    Routines to support specific debugging information formats (stabs,
-   DWARF, etc) belong somewhere else.  */
+   DWARF, etc) belong somewhere else.
+
+   The basic way this module is used is as follows:
+
+   buildsym_init ();
+   cleanups = make_cleanup (really_free_pendings, NULL);
+   cust = start_symtab (...);
+   ... read debug info ...
+   cust = end_symtab (...);
+   do_cleanups (cleanups);
+
+   The compunit symtab pointer ("cust") is returned from both start_symtab
+   and end_symtab to simplify the debug info readers.
+
+   There are minor variations on this, e.g., dwarf2read.c splits end_symtab
+   into two calls: end_symtab_get_static_block, end_symtab_from_static_block,
+   but all debug info readers follow this basic flow.
+
+   Reading DWARF Type Units is another variation:
+
+   buildsym_init ();
+   cleanups = make_cleanup (really_free_pendings, NULL);
+   cust = start_symtab (...);
+   ... read debug info ...
+   cust = end_expandable_symtab (...);
+   do_cleanups (cleanups);
+
+   And then reading subsequent Type Units within the containing "Comp Unit"
+   will use a second flow:
+
+   buildsym_init ();
+   cleanups = make_cleanup (really_free_pendings, NULL);
+   cust = restart_symtab (...);
+   ... read debug info ...
+   cust = augment_type_symtab (...);
+   do_cleanups (cleanups);
+
+   dbxread.c and xcoffread.c use another variation:
+
+   buildsym_init ();
+   cleanups = make_cleanup (really_free_pendings, NULL);
+   cust = start_symtab (...);
+   ... read debug info ...
+   cust = end_symtab (...);
+   ... start_symtab + read + end_symtab repeated ...
+   do_cleanups (cleanups);
+*/
 
 #include "defs.h"
 #include "bfd.h"
@@ -30,9 +76,7 @@
 #include "symfile.h"
 #include "objfiles.h"
 #include "gdbtypes.h"
-#include "gdb_assert.h"
 #include "complaints.h"
-#include <string.h>
 #include "expression.h"		/* For "enum exp_opcode" used by...  */
 #include "bcache.h"
 #include "filenames.h"		/* For DOSish file names.  */
@@ -54,9 +98,42 @@
 
 #include "stabsread.h"
 
-/* List of subfiles.  */
+/* Buildsym's counterpart to struct compunit_symtab.
+   TODO(dje): Move all related global state into here.  */
+
+struct buildsym_compunit
+{
+  /* The objfile we're reading debug info from.  */
+  struct objfile *objfile;
+
+  /* List of subfiles (source files).
+     Files are added to the front of the list.
+     This is important mostly for the language determination hacks we use,
+     which iterate over previously added files.  */
+  struct subfile *subfiles;
+
+  /* The subfile of the main source file.  */
+  struct subfile *main_subfile;
+
+  /* E.g., DW_AT_comp_dir if DWARF.  Space for this is malloc'd.  */
+  char *comp_dir;
 
-static struct subfile *subfiles;
+  /* Space for this is not malloc'd, and is assumed to have at least
+     the same lifetime as objfile.  */
+  const char *producer;
+
+  /* Space for this is not malloc'd, and is assumed to have at least
+     the same lifetime as objfile.  */
+  const char *debugformat;
+
+  /* The compunit we are building.  */
+  struct compunit_symtab *compunit_symtab;
+};
+
+/* The work-in-progress of the compunit we are building.
+   This is created first, before any subfiles by start_symtab.  */
+
+static struct buildsym_compunit *buildsym_compunit;
 
 /* List of free `struct pending' structures for reuse.  */
 
@@ -112,9 +189,11 @@ struct subfile_stack
 static struct subfile_stack *subfile_stack;
 
 /* The macro table for the compilation unit whose symbols we're
-   currently reading.  All the symtabs for the CU will point to this.  */
+   currently reading.  */
 static struct macro_table *pending_macros;
 
+static void free_buildsym_compunit (void);
+
 static int compare_line_numbers (const void *ln1p, const void *ln2p);
 
 static void record_pending_block (struct objfile *objfile,
@@ -189,8 +268,12 @@ find_symbol_in_list (struct pending *lis
   return (NULL);
 }
 
-/* At end of reading syms, or in case of quit, really free as many
-   `struct pending's as we can easily find.  */
+/* At end of reading syms, or in case of quit, ensure everything associated
+   with building symtabs is freed.  This is intended to be registered as a
+   cleanup before doing psymtab->symtab expansion.
+
+   N.B. This is *not* intended to be used when building psymtabs.  Some debug
+   info readers call this anyway, which is harmless if confusing.  */
 
 void
 really_free_pendings (void *dummy)
@@ -222,12 +305,13 @@ really_free_pendings (void *dummy)
 
   if (pending_macros)
     free_macro_table (pending_macros);
+  pending_macros = NULL;
 
   if (pending_addrmap)
-    {
-      obstack_free (&pending_addrmap_obstack, NULL);
-      pending_addrmap = NULL;
-    }
+    obstack_free (&pending_addrmap_obstack, NULL);
+  pending_addrmap = NULL;
+
+  free_buildsym_compunit ();
 }
 
 /* This function is called to discard any pending blocks.  */
@@ -250,9 +334,9 @@ static struct block *
 finish_block_internal (struct symbol *symbol, struct pending **listhead,
 		       struct pending_block *old_blocks,
 		       CORE_ADDR start, CORE_ADDR end,
-		       struct objfile *objfile,
 		       int is_global, int expandable)
 {
+  struct objfile *objfile = buildsym_compunit->objfile;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct pending *next, *next1;
   struct block *block;
@@ -430,11 +514,10 @@ finish_block_internal (struct symbol *sy
 struct block *
 finish_block (struct symbol *symbol, struct pending **listhead,
 	      struct pending_block *old_blocks,
-	      CORE_ADDR start, CORE_ADDR end,
-	      struct objfile *objfile)
+	      CORE_ADDR start, CORE_ADDR end)
 {
   return finish_block_internal (symbol, listhead, old_blocks,
-				start, end, objfile, 0, 0);
+				start, end, 0, 0);
 }
 
 /* Record BLOCK on the list of all blocks in the file.  Put it after
@@ -499,10 +582,10 @@ record_block_range (struct block *block,
   addrmap_set_empty (pending_addrmap, start, end_inclusive, block);
 }
 
-
 static struct blockvector *
-make_blockvector (struct objfile *objfile)
+make_blockvector (void)
 {
+  struct objfile *objfile = buildsym_compunit->objfile;
   struct pending_block *next;
   struct blockvector *blockvector;
   int i;
@@ -567,19 +650,21 @@ make_blockvector (struct objfile *objfil
 
 /* Start recording information about source code that came from an
    included (or otherwise merged-in) source file with a different
-   name.  NAME is the name of the file (cannot be NULL), DIRNAME is
-   the directory in which the file was compiled (or NULL if not
-   known).  */
+   name.  NAME is the name of the file (cannot be NULL).  */
 
 void
-start_subfile (const char *name, const char *dirname)
+start_subfile (const char *name)
 {
+  const char *subfile_dirname;
   struct subfile *subfile;
 
-  /* See if this subfile is already known as a subfile of the current
-     main source file.  */
+  gdb_assert (buildsym_compunit != NULL);
+
+  subfile_dirname = buildsym_compunit->comp_dir;
+
+  /* See if this subfile is already registered.  */
 
-  for (subfile = subfiles; subfile; subfile = subfile->next)
+  for (subfile = buildsym_compunit->subfiles; subfile; subfile = subfile->next)
     {
       char *subfile_name;
 
@@ -587,8 +672,8 @@ start_subfile (const char *name, const c
 	 attempt to create an absolute path to compare.  */
       if (IS_ABSOLUTE_PATH (name)
 	  && !IS_ABSOLUTE_PATH (subfile->name)
-	  && subfile->dirname != NULL)
-	subfile_name = concat (subfile->dirname, SLASH_STRING,
+	  && subfile_dirname != NULL)
+	subfile_name = concat (subfile_dirname, SLASH_STRING,
 			       subfile->name, (char *) NULL);
       else
 	subfile_name = subfile->name;
@@ -604,19 +689,18 @@ start_subfile (const char *name, const c
 	xfree (subfile_name);
     }
 
-  /* This subfile is not known.  Add an entry for it.  Make an entry
-     for this subfile in the list of all subfiles of the current main
-     source file.  */
+  /* This subfile is not known.  Add an entry for it.  */
 
   subfile = (struct subfile *) xmalloc (sizeof (struct subfile));
-  memset ((char *) subfile, 0, sizeof (struct subfile));
-  subfile->next = subfiles;
-  subfiles = subfile;
+  memset (subfile, 0, sizeof (struct subfile));
+  subfile->buildsym_compunit = buildsym_compunit;
+
+  subfile->next = buildsym_compunit->subfiles;
+  buildsym_compunit->subfiles = subfile;
+
   current_subfile = subfile;
 
-  /* Save its name and compilation directory name.  */
   subfile->name = xstrdup (name);
-  subfile->dirname = (dirname == NULL) ? NULL : xstrdup (dirname);
 
   /* Initialize line-number recording for this subfile.  */
   subfile->line_vector = NULL;
@@ -639,13 +723,6 @@ start_subfile (const char *name, const c
       subfile->language = subfile->next->language;
     }
 
-  /* Initialize the debug format string to NULL.  We may supply it
-     later via a call to record_debugformat.  */
-  subfile->debugformat = NULL;
-
-  /* Similarly for the producer.  */
-  subfile->producer = NULL;
-
   /* If the filename of this subfile ends in .C, then change the
      language of any pending subfiles from C to C++.  We also accept
      any other C++ suffixes accepted by deduce_language_from_filename.  */
@@ -657,7 +734,7 @@ start_subfile (const char *name, const c
       enum language sublang = deduce_language_from_filename (subfile->name);
 
       if (sublang == language_cplus || sublang == language_fortran)
-	for (s = subfiles; s != NULL; s = s->next)
+	for (s = buildsym_compunit->subfiles; s != NULL; s = s->next)
 	  if (s->language == language_c)
 	    s->language = sublang;
     }
@@ -672,6 +749,57 @@ start_subfile (const char *name, const c
     }
 }
 
+/* Start recording information about a primary source file (IOW, not an
+   included source file).
+   COMP_DIR is the directory in which the compilation unit was compiled
+   (or NULL if not known).  */
+
+static struct buildsym_compunit *
+start_buildsym_compunit (struct objfile *objfile, const char *comp_dir)
+{
+  struct buildsym_compunit *bscu;
+
+  bscu = (struct buildsym_compunit *)
+    xmalloc (sizeof (struct buildsym_compunit));
+  memset (bscu, 0, sizeof (struct buildsym_compunit));
+
+  bscu->objfile = objfile;
+  bscu->comp_dir = (comp_dir == NULL) ? NULL : xstrdup (comp_dir);
+
+  /* Initialize the debug format string to NULL.  We may supply it
+     later via a call to record_debugformat.  */
+  bscu->debugformat = NULL;
+
+  /* Similarly for the producer.  */
+  bscu->producer = NULL;
+
+  return bscu;
+}
+
+/* Delete the buildsym compunit.  */
+
+static void
+free_buildsym_compunit (void)
+{
+  struct subfile *subfile, *nextsub;
+
+  if (buildsym_compunit == NULL)
+    return;
+  for (subfile = buildsym_compunit->subfiles;
+       subfile != NULL;
+       subfile = nextsub)
+    {
+      nextsub = subfile->next;
+      xfree (subfile->name);
+      xfree (subfile->line_vector);
+      xfree (subfile);
+    }
+  xfree (buildsym_compunit->comp_dir);
+  xfree (buildsym_compunit);
+  buildsym_compunit = NULL;
+  current_subfile = NULL;
+}
+
 /* For stabs readers, the first N_SO symbol is assumed to be the
    source file name, and the subfile struct is initialized using that
    assumption.  If another N_SO symbol is later seen, immediately
@@ -687,10 +815,12 @@ start_subfile (const char *name, const c
 void
 patch_subfile_names (struct subfile *subfile, char *name)
 {
-  if (subfile != NULL && subfile->dirname == NULL && subfile->name != NULL
+  if (subfile != NULL
+      && buildsym_compunit->comp_dir == NULL
+      && subfile->name != NULL
       && IS_DIR_SEPARATOR (subfile->name[strlen (subfile->name) - 1]))
     {
-      subfile->dirname = subfile->name;
+      buildsym_compunit->comp_dir = subfile->name;
       subfile->name = xstrdup (name);
       set_last_source_file (name);
 
@@ -836,68 +966,117 @@ compare_line_numbers (const void *ln1p, 
   return ln1->line - ln2->line;
 }
 
-/* Return the macro table.
-   Initialize it if this is the first use.  */
+/* See buildsym.h.  */
+
+struct compunit_symtab *
+buildsym_compunit_symtab (void)
+{
+  gdb_assert (buildsym_compunit != NULL);
+
+  return buildsym_compunit->compunit_symtab;
+}
+
+/* See buildsym.h.  */
 
 struct macro_table *
-get_macro_table (struct objfile *objfile, const char *comp_dir)
+get_macro_table (void)
 {
+  struct objfile *objfile;
+
+  gdb_assert (buildsym_compunit != NULL);
+
+  objfile = buildsym_compunit->objfile;
+
   if (! pending_macros)
-    pending_macros = new_macro_table (&objfile->per_bfd->storage_obstack,
-				      objfile->per_bfd->macro_cache,
-				      comp_dir);
+    {
+      pending_macros = new_macro_table (&objfile->per_bfd->storage_obstack,
+					objfile->per_bfd->macro_cache,
+					buildsym_compunit->compunit_symtab);
+    }
+
   return pending_macros;
 }
 
-/* Start a new symtab for a new source file.  Called, for example,
+/* Init state to prepare for building a symtab.
+   Note: This can't be done in buildsym_init because dbxread.c and xcoffread.c
+   can call start_symtab+end_symtab multiple times after one call to
+   buildsym_init.  */
+
+static void
+prepare_for_building (const char *name, CORE_ADDR start_addr)
+{
+  set_last_source_file (name);
+  last_source_start_addr = start_addr;
+
+  local_symbols = NULL;
+  within_function = 0;
+  have_line_numbers = 0;
+
+  context_stack_depth = 0;
+
+  /* These should have been reset either by successful completion of building
+     a symtab, or by the really_free_pendings cleanup.  */
+  gdb_assert (file_symbols == NULL);
+  gdb_assert (global_symbols == NULL);
+  gdb_assert (pending_macros == NULL);
+  gdb_assert (pending_addrmap == NULL);
+  gdb_assert (current_subfile == NULL);
+}
+
+/* Start a new symtab for a new source file in OBJFILE.  Called, for example,
    when a stabs symbol of type N_SO is seen, or when a DWARF
    TAG_compile_unit DIE is seen.  It indicates the start of data for
    one original source file.
 
-   NAME is the name of the file (cannot be NULL).  DIRNAME is the directory in
+   NAME is the name of the file (cannot be NULL).  COMP_DIR is the directory in
    which the file was compiled (or NULL if not known).  START_ADDR is the
    lowest address of objects in the file (or 0 if not known).  */
 
-void
-start_symtab (const char *name, const char *dirname, CORE_ADDR start_addr)
-{
-  restart_symtab (start_addr);
-  set_last_source_file (name);
-  start_subfile (name, dirname);
+struct compunit_symtab *
+start_symtab (struct objfile *objfile, const char *name, const char *comp_dir,
+	      CORE_ADDR start_addr)
+{
+  prepare_for_building (name, start_addr);
+
+  buildsym_compunit = start_buildsym_compunit (objfile, comp_dir);
+
+  /* Allocate the compunit symtab now.  The caller needs it to allocate
+     non-primary symtabs.  It is also needed by get_macro_table.  */
+  buildsym_compunit->compunit_symtab = allocate_compunit_symtab (objfile,
+								 name);
+
+  /* Build the subfile for NAME (the main source file) so that we can record
+     a pointer to it for later.
+     IMPORTANT: Do not allocate a struct symtab for NAME here.
+     It can happen that the debug info provides a different path to NAME than
+     DIRNAME,NAME.  We cope with this in watch_main_source_file_lossage but
+     that only works if the main_subfile doesn't have a symtab yet.  */
+  start_subfile (name);
+  /* Save this so that we don't have to go looking for it at the end
+     of the subfiles list.  */
+  buildsym_compunit->main_subfile = current_subfile;
+
+  return buildsym_compunit->compunit_symtab;
 }
 
 /* Restart compilation for a symtab.
+   CUST is the result of end_expandable_symtab.
+   NAME, START_ADDR are the source file we are resuming with.
+
    This is used when a symtab is built from multiple sources.
-   The symtab is first built with start_symtab and then for each additional
-   piece call restart_symtab.  */
+   The symtab is first built with start_symtab/end_expandable_symtab
+   and then for each additional piece call restart_symtab/augment_*_symtab.
+   Note: At the moment there is only augment_type_symtab.  */
 
 void
-restart_symtab (CORE_ADDR start_addr)
+restart_symtab (struct compunit_symtab *cust,
+		const char *name, CORE_ADDR start_addr)
 {
-  set_last_source_file (NULL);
-  last_source_start_addr = start_addr;
-  file_symbols = NULL;
-  global_symbols = NULL;
-  within_function = 0;
-  have_line_numbers = 0;
+  prepare_for_building (name, start_addr);
 
-  /* Context stack is initially empty.  Allocate first one with room
-     for 10 levels; reuse it forever afterward.  */
-  if (context_stack == NULL)
-    {
-      context_stack_size = INITIAL_CONTEXT_STACK_SIZE;
-      context_stack = (struct context_stack *)
-	xmalloc (context_stack_size * sizeof (struct context_stack));
-    }
-  context_stack_depth = 0;
-
-  /* We shouldn't have any address map at this point.  */
-  gdb_assert (! pending_addrmap);
-
-  /* Initialize the list of sub source files with one entry for this
-     file (the top-level source file).  */
-  subfiles = NULL;
-  current_subfile = NULL;
+  buildsym_compunit = start_buildsym_compunit (COMPUNIT_OBJFILE (cust),
+					       COMPUNIT_DIRNAME (cust));
+  buildsym_compunit->compunit_symtab = cust;
 }
 
 /* Subroutine of end_symtab to simplify it.  Look for a subfile that
@@ -907,32 +1086,26 @@ restart_symtab (CORE_ADDR start_addr)
    main source file's subfile and discard the other subfile.  This can
    happen because of a compiler bug or from the user playing games
    with #line or from things like a distributed build system that
-   manipulates the debug info.  */
+   manipulates the debug info.  This can also happen from an innocent
+   symlink in the paths, we don't canonicalize paths here.  */
 
 static void
 watch_main_source_file_lossage (void)
 {
   struct subfile *mainsub, *subfile;
 
-  /* Find the main source file.
-     This loop could be eliminated if start_symtab saved it for us.  */
-  mainsub = NULL;
-  for (subfile = subfiles; subfile; subfile = subfile->next)
-    {
-      /* The main subfile is guaranteed to be the last one.  */
-      if (subfile->next == NULL)
-	mainsub = subfile;
-    }
+  /* We have to watch for buildsym_compunit == NULL here.  It's a quirk of
+     end_symtab, it can return NULL so there may not be a main subfile.  */
+  if (buildsym_compunit == NULL)
+    return;
 
-  /* If the main source file doesn't have any line number or symbol
-     info, look for an alias in another subfile.
+  /* Get the main source file.  */
+  mainsub = buildsym_compunit->main_subfile;
 
-     We have to watch for mainsub == NULL here.  It's a quirk of
-     end_symtab, it can return NULL so there may not be a main
-     subfile.  */
+  /* If the main source file doesn't have any line number or symbol
+     info, look for an alias in another subfile.  */
 
-  if (mainsub
-      && mainsub->line_vector == NULL
+  if (mainsub->line_vector == NULL
       && mainsub->symtab == NULL)
     {
       const char *mainbase = lbasename (mainsub->name);
@@ -942,11 +1115,12 @@ watch_main_source_file_lossage (void)
       struct subfile *prev_mainsub_alias = NULL;
 
       prevsub = NULL;
-      for (subfile = subfiles;
-	   /* Stop before we get to the last one.  */
-	   subfile->next;
+      for (subfile = buildsym_compunit->subfiles;
+	   subfile != NULL;
 	   subfile = subfile->next)
 	{
+	  if (subfile == mainsub)
+	    continue;
 	  if (filename_cmp (lbasename (subfile->name), mainbase) == 0)
 	    {
 	      ++nr_matches;
@@ -969,9 +1143,10 @@ watch_main_source_file_lossage (void)
 	  mainsub->symtab = mainsub_alias->symtab;
 
 	  if (prev_mainsub_alias == NULL)
-	    subfiles = mainsub_alias->next;
+	    buildsym_compunit->subfiles = mainsub_alias->next;
 	  else
 	    prev_mainsub_alias->next = mainsub_alias->next;
+	  xfree (mainsub_alias->name);
 	  xfree (mainsub_alias);
 	}
     }
@@ -990,19 +1165,30 @@ block_compar (const void *ap, const void
 	  - (BLOCK_START (b) < BLOCK_START (a)));
 }
 
-/* Reset globals used to build symtabs.  */
+/* Reset state after a successful building of a symtab.
+   This exists because dbxread.c and xcoffread.c can call
+   start_symtab+end_symtab multiple times after one call to buildsym_init,
+   and before the really_free_pendings cleanup is called.
+   We keep the free_pendings list around for dbx/xcoff sake.  */
 
 static void
 reset_symtab_globals (void)
 {
   set_last_source_file (NULL);
-  current_subfile = NULL;
+
+  local_symbols = NULL;
+  file_symbols = NULL;
+  global_symbols = NULL;
+
+  /* We don't free pending_macros here because if the symtab was successfully
+     built then ownership was transferred to the symtab.  */
   pending_macros = NULL;
+
   if (pending_addrmap)
-    {
-      obstack_free (&pending_addrmap_obstack, NULL);
-      pending_addrmap = NULL;
-    }
+    obstack_free (&pending_addrmap_obstack, NULL);
+  pending_addrmap = NULL;
+
+  free_buildsym_compunit ();
 }
 
 /* Implementation of the first part of end_symtab.  It allows modifying
@@ -1020,9 +1206,10 @@ reset_symtab_globals (void)
    not contain any symbols.  */
 
 struct block *
-end_symtab_get_static_block (CORE_ADDR end_addr, struct objfile *objfile,
-			     int expandable, int required)
+end_symtab_get_static_block (CORE_ADDR end_addr, int expandable, int required)
 {
+  struct objfile *objfile = buildsym_compunit->objfile;
+
   /* Finish the lexical context of the last function in the file; pop
      the context stack.  */
 
@@ -1032,7 +1219,7 @@ end_symtab_get_static_block (CORE_ADDR e
 
       /* Make a block for the local symbols within.  */
       finish_block (cstk->name, &local_symbols, cstk->old_blocks,
-		    cstk->start_addr, end_addr, objfile);
+		    cstk->start_addr, end_addr);
 
       if (context_stack_depth > 0)
 	{
@@ -1103,46 +1290,37 @@ end_symtab_get_static_block (CORE_ADDR e
     {
       /* Define the STATIC_BLOCK.  */
       return finish_block_internal (NULL, &file_symbols, NULL,
-				    last_source_start_addr, end_addr, objfile,
+				    last_source_start_addr, end_addr,
 				    0, expandable);
     }
 }
 
-/* Implementation of the second part of end_symtab.  Pass STATIC_BLOCK
-   as value returned by end_symtab_get_static_block.
-
-   SECTION is the same as for end_symtab: the section number
-   (in objfile->section_offsets) of the blockvector and linetable.
-
-   If EXPANDABLE is non-zero the GLOBAL_BLOCK dictionary is made
-   expandable.  */
-
-struct symtab *
-end_symtab_from_static_block (struct block *static_block,
-			      struct objfile *objfile, int section,
-			      int expandable)
-{
-  struct symtab *symtab = NULL;
+/* Subroutine of end_symtab_from_static_block to simplify it.
+   Handle the "have blockvector" case.
+   See end_symtab_from_static_block for a description of the arguments.  */
+
+static struct compunit_symtab *
+end_symtab_with_blockvector (struct block *static_block,
+			     int section, int expandable)
+{
+  struct objfile *objfile = buildsym_compunit->objfile;
+  struct compunit_symtab *cu = buildsym_compunit->compunit_symtab;
+  struct symtab *symtab;
   struct blockvector *blockvector;
   struct subfile *subfile;
-  struct subfile *nextsub;
+  CORE_ADDR end_addr;
 
-  if (static_block == NULL)
-    {
-      /* Ignore symtabs that have no functions with real debugging info.  */
-      blockvector = NULL;
-    }
-  else
-    {
-      CORE_ADDR end_addr = BLOCK_END (static_block);
-
-      /* Define after STATIC_BLOCK also GLOBAL_BLOCK, and build the
-         blockvector.  */
-      finish_block_internal (NULL, &global_symbols, NULL,
-			     last_source_start_addr, end_addr, objfile,
-			     1, expandable);
-      blockvector = make_blockvector (objfile);
-    }
+  gdb_assert (static_block != NULL);
+  gdb_assert (buildsym_compunit != NULL);
+  gdb_assert (buildsym_compunit->subfiles != NULL);
+
+  end_addr = BLOCK_END (static_block);
+
+  /* Create the GLOBAL_BLOCK and build the blockvector.  */
+  finish_block_internal (NULL, &global_symbols, NULL,
+			 last_source_start_addr, end_addr,
+			 1, expandable);
+  blockvector = make_blockvector ();
 
   /* Read the line table if it has to be read separately.
      This is only used by xcoffread.c.  */
@@ -1154,172 +1332,176 @@ end_symtab_from_static_block (struct blo
      line number information.  */
   watch_main_source_file_lossage ();
 
-  /* Now create the symtab objects proper, one for each subfile.  */
-  /* (The main file is the last one on the chain.)  */
+  /* Now create the symtab objects proper, if not already done,
+     one for each subfile.  */
 
-  for (subfile = subfiles; subfile; subfile = nextsub)
+  for (subfile = buildsym_compunit->subfiles;
+       subfile != NULL;
+       subfile = subfile->next)
     {
       int linetablesize = 0;
-      symtab = NULL;
 
-      /* If we have blocks of symbols, make a symtab.  Otherwise, just
-         ignore this file and any line number info in it.  */
-      if (blockvector)
+      if (subfile->line_vector)
 	{
-	  if (subfile->line_vector)
-	    {
-	      linetablesize = sizeof (struct linetable) +
-	        subfile->line_vector->nitems * sizeof (struct linetable_entry);
+	  linetablesize = sizeof (struct linetable) +
+	    subfile->line_vector->nitems * sizeof (struct linetable_entry);
 
-	      /* Like the pending blocks, the line table may be
-	         scrambled in reordered executables.  Sort it if
-	         OBJF_REORDERED is true.  */
-	      if (objfile->flags & OBJF_REORDERED)
-		qsort (subfile->line_vector->item,
-		       subfile->line_vector->nitems,
-		     sizeof (struct linetable_entry), compare_line_numbers);
-	    }
-
-	  /* Now, allocate a symbol table.  */
-	  if (subfile->symtab == NULL)
-	    symtab = allocate_symtab (subfile->name, objfile);
-	  else
-	    symtab = subfile->symtab;
-
-	  /* Fill in its components.  */
-	  symtab->blockvector = blockvector;
-          symtab->macro_table = pending_macros;
-	  if (subfile->line_vector)
-	    {
-	      /* Reallocate the line table on the symbol obstack.  */
-	      symtab->linetable = (struct linetable *)
-		obstack_alloc (&objfile->objfile_obstack, linetablesize);
-	      memcpy (symtab->linetable, subfile->line_vector, linetablesize);
-	    }
-	  else
-	    {
-	      symtab->linetable = NULL;
-	    }
-	  symtab->block_line_section = section;
-	  if (subfile->dirname)
-	    {
-	      /* Reallocate the dirname on the symbol obstack.  */
-	      symtab->dirname =
-		obstack_copy0 (&objfile->objfile_obstack,
-			       subfile->dirname,
-			       strlen (subfile->dirname));
-	    }
-	  else
-	    {
-	      symtab->dirname = NULL;
-	    }
-
-	  /* Use whatever language we have been using for this
-	     subfile, not the one that was deduced in allocate_symtab
-	     from the filename.  We already did our own deducing when
-	     we created the subfile, and we may have altered our
-	     opinion of what language it is from things we found in
-	     the symbols.  */
-	  symtab->language = subfile->language;
-
-	  /* Save the debug format string (if any) in the symtab.  */
-	  symtab->debugformat = subfile->debugformat;
-
-	  /* Similarly for the producer.  */
-	  symtab->producer = subfile->producer;
-
-	  /* All symtabs for the main file and the subfiles share a
-	     blockvector, so we need to clear primary for everything
-	     but the main file.  */
-	  set_symtab_primary (symtab, 0);
+	  /* Like the pending blocks, the line table may be
+	     scrambled in reordered executables.  Sort it if
+	     OBJF_REORDERED is true.  */
+	  if (objfile->flags & OBJF_REORDERED)
+	    qsort (subfile->line_vector->item,
+		   subfile->line_vector->nitems,
+		   sizeof (struct linetable_entry), compare_line_numbers);
+	}
+
+      /* Allocate a symbol table if necessary.  */
+      if (subfile->symtab == NULL)
+	subfile->symtab = allocate_symtab (cu, subfile->name);
+      symtab = subfile->symtab;
+
+      /* Fill in its components.  */
+
+      if (subfile->line_vector)
+	{
+	  /* Reallocate the line table on the symbol obstack.  */
+	  SYMTAB_LINETABLE (symtab) = (struct linetable *)
+	    obstack_alloc (&objfile->objfile_obstack, linetablesize);
+	  memcpy (SYMTAB_LINETABLE (symtab), subfile->line_vector,
+		  linetablesize);
 	}
       else
-        {
-          if (subfile->symtab)
-            {
-              /* Since we are ignoring that subfile, we also need
-                 to unlink the associated empty symtab that we created.
-                 Otherwise, we can run into trouble because various parts
-                 such as the block-vector are uninitialized whereas
-                 the rest of the code assumes that they are.
-                 
-                 We can only unlink the symtab because it was allocated
-                 on the objfile obstack.  */
-              struct symtab *s;
-
-              if (objfile->symtabs == subfile->symtab)
-                objfile->symtabs = objfile->symtabs->next;
-              else
-                ALL_OBJFILE_SYMTABS (objfile, s)
-                  if (s->next == subfile->symtab)
-                    {
-                      s->next = s->next->next;
-                      break;
-                    }
-              subfile->symtab = NULL;
-            }
-        }
-      if (subfile->name != NULL)
 	{
-	  xfree ((void *) subfile->name);
-	}
-      if (subfile->dirname != NULL)
-	{
-	  xfree ((void *) subfile->dirname);
-	}
-      if (subfile->line_vector != NULL)
-	{
-	  xfree ((void *) subfile->line_vector);
+	  SYMTAB_LINETABLE (symtab) = NULL;
 	}
 
-      nextsub = subfile->next;
-      xfree ((void *) subfile);
+      /* Use whatever language we have been using for this
+	 subfile, not the one that was deduced in allocate_symtab
+	 from the filename.  We already did our own deducing when
+	 we created the subfile, and we may have altered our
+	 opinion of what language it is from things we found in
+	 the symbols.  */
+      symtab->language = subfile->language;
     }
 
-  /* Set this for the main source file.  */
-  if (symtab)
-    {
-      set_symtab_primary (symtab, 1);
-
-      if (symtab->blockvector)
-	{
-	  struct block *b = BLOCKVECTOR_BLOCK (symtab->blockvector,
-					       GLOBAL_BLOCK);
+  /* Make sure the symtab of main_subfile is the first in its list.  */
+  {
+    struct symtab *main_symtab, *prev_symtab;
 
-	  set_block_symtab (b, symtab);
-	}
+    main_symtab = buildsym_compunit->main_subfile->symtab;
+    prev_symtab = NULL;
+    ALL_COMPUNIT_FILETABS (cu, symtab)
+      {
+	if (symtab == main_symtab)
+	  {
+	    if (prev_symtab != NULL)
+	      {
+		prev_symtab->next = main_symtab->next;
+		main_symtab->next = COMPUNIT_FILETABS (cu);
+		COMPUNIT_FILETABS (cu) = main_symtab;
+	      }
+	    break;
+	  }
+	prev_symtab = symtab;
+      }
+    gdb_assert (main_symtab == COMPUNIT_FILETABS (cu));
+  }
+
+  /* Fill out the compunit symtab.  */
+
+  if (buildsym_compunit->comp_dir != NULL)
+    {
+      /* Reallocate the dirname on the symbol obstack.  */
+      COMPUNIT_DIRNAME (cu)
+	= obstack_copy0 (&objfile->objfile_obstack,
+			 buildsym_compunit->comp_dir,
+			 strlen (buildsym_compunit->comp_dir));
     }
 
-  /* Default any symbols without a specified symtab to the primary
-     symtab.  */
-  if (blockvector)
-    {
-      int block_i;
+  /* Save the debug format string (if any) in the symtab.  */
+  COMPUNIT_DEBUGFORMAT (cu) = buildsym_compunit->debugformat;
 
-      for (block_i = 0; block_i < BLOCKVECTOR_NBLOCKS (blockvector); block_i++)
-	{
-	  struct block *block = BLOCKVECTOR_BLOCK (blockvector, block_i);
-	  struct symbol *sym;
-	  struct dict_iterator iter;
+  /* Similarly for the producer.  */
+  COMPUNIT_PRODUCER (cu) = buildsym_compunit->producer;
 
-	  /* Inlined functions may have symbols not in the global or
-	     static symbol lists.  */
-	  if (BLOCK_FUNCTION (block) != NULL)
-	    if (SYMBOL_SYMTAB (BLOCK_FUNCTION (block)) == NULL)
-	      SYMBOL_SYMTAB (BLOCK_FUNCTION (block)) = symtab;
-
-	  /* Note that we only want to fix up symbols from the local
-	     blocks, not blocks coming from included symtabs.  That is why
-	     we use ALL_DICT_SYMBOLS here and not ALL_BLOCK_SYMBOLS.  */
-	  ALL_DICT_SYMBOLS (BLOCK_DICT (block), iter, sym)
-	    if (SYMBOL_SYMTAB (sym) == NULL)
-	      SYMBOL_SYMTAB (sym) = symtab;
-	}
+  COMPUNIT_BLOCKVECTOR (cu) = blockvector;
+  {
+    struct block *b = BLOCKVECTOR_BLOCK (blockvector, GLOBAL_BLOCK);
+
+    set_block_compunit_symtab (b, cu);
+  }
+
+  COMPUNIT_BLOCK_LINE_SECTION (cu) = section;
+
+  COMPUNIT_MACRO_TABLE (cu) = pending_macros;
+
+  /* Default any symbols without a specified symtab to the primary symtab.  */
+  {
+    int block_i;
+
+    /* The main source file's symtab.  */
+    symtab = COMPUNIT_FILETABS (cu);
+
+    for (block_i = 0; block_i < BLOCKVECTOR_NBLOCKS (blockvector); block_i++)
+      {
+	struct block *block = BLOCKVECTOR_BLOCK (blockvector, block_i);
+	struct symbol *sym;
+	struct dict_iterator iter;
+
+	/* Inlined functions may have symbols not in the global or
+	   static symbol lists.  */
+	if (BLOCK_FUNCTION (block) != NULL)
+	  if (symbol_symtab (BLOCK_FUNCTION (block)) == NULL)
+	    symbol_set_symtab (BLOCK_FUNCTION (block), symtab);
+
+	/* Note that we only want to fix up symbols from the local
+	   blocks, not blocks coming from included symtabs.  That is why
+	   we use ALL_DICT_SYMBOLS here and not ALL_BLOCK_SYMBOLS.  */
+	ALL_DICT_SYMBOLS (BLOCK_DICT (block), iter, sym)
+	  if (symbol_symtab (sym) == NULL)
+	    symbol_set_symtab (sym, symtab);
+      }
+  }
+
+  add_compunit_symtab_to_objfile (cu);
+
+  return cu;
+}
+
+/* Implementation of the second part of end_symtab.  Pass STATIC_BLOCK
+   as value returned by end_symtab_get_static_block.
+
+   SECTION is the same as for end_symtab: the section number
+   (in objfile->section_offsets) of the blockvector and linetable.
+
+   If EXPANDABLE is non-zero the GLOBAL_BLOCK dictionary is made
+   expandable.  */
+
+struct compunit_symtab *
+end_symtab_from_static_block (struct block *static_block,
+			      int section, int expandable)
+{
+  struct compunit_symtab *cu;
+
+  if (static_block == NULL)
+    {
+      /* Handle the "no blockvector" case.
+	 When this happens there is nothing to record, so there's nothing
+	 to do: memory will be freed up later.
+
+	 Note: We won't be adding a compunit to the objfile's list of
+	 compunits, so there's nothing to unchain.  However, since each symtab
+	 is added to the objfile's obstack we can't free that space.
+	 We could do better, but this is believed to be a sufficiently rare
+	 event.  */
+      cu = NULL;
     }
+  else
+    cu = end_symtab_with_blockvector (static_block, section, expandable);
 
   reset_symtab_globals ();
 
-  return symtab;
+  return cu;
 }
 
 /* Finish the symbol definitions for one main source file, close off
@@ -1343,32 +1525,33 @@ end_symtab_from_static_block (struct blo
    call end_symtab_get_static_block and end_symtab_from_static_block
    yourself.  */
 
-struct symtab *
-end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section)
+struct compunit_symtab *
+end_symtab (CORE_ADDR end_addr, int section)
 {
   struct block *static_block;
 
-  static_block = end_symtab_get_static_block (end_addr, objfile, 0, 0);
-  return end_symtab_from_static_block (static_block, objfile, section, 0);
+  static_block = end_symtab_get_static_block (end_addr, 0, 0);
+  return end_symtab_from_static_block (static_block, section, 0);
 }
 
 /* Same as end_symtab except create a symtab that can be later added to.  */
 
-struct symtab *
-end_expandable_symtab (CORE_ADDR end_addr, struct objfile *objfile,
-		       int section)
+struct compunit_symtab *
+end_expandable_symtab (CORE_ADDR end_addr, int section)
 {
   struct block *static_block;
 
-  static_block = end_symtab_get_static_block (end_addr, objfile, 1, 0);
-  return end_symtab_from_static_block (static_block, objfile, section, 1);
+  static_block = end_symtab_get_static_block (end_addr, 1, 0);
+  return end_symtab_from_static_block (static_block, section, 1);
 }
 
 /* Subroutine of augment_type_symtab to simplify it.
-   Attach SYMTAB to all symbols in PENDING_LIST that don't have one.  */
+   Attach the main source file's symtab to all symbols in PENDING_LIST that
+   don't have one.  */
 
 static void
-set_missing_symtab (struct pending *pending_list, struct symtab *symtab)
+set_missing_symtab (struct pending *pending_list,
+		    struct compunit_symtab *cu)
 {
   struct pending *pending;
   int i;
@@ -1377,8 +1560,8 @@ set_missing_symtab (struct pending *pend
     {
       for (i = 0; i < pending->nsyms; ++i)
 	{
-	  if (SYMBOL_SYMTAB (pending->symbol[i]) == NULL)
-	    SYMBOL_SYMTAB (pending->symbol[i]) = symtab;
+	  if (symbol_symtab (pending->symbol[i]) == NULL)
+	    symbol_set_symtab (pending->symbol[i], COMPUNIT_FILETABS (cu));
 	}
     }
 }
@@ -1388,9 +1571,10 @@ set_missing_symtab (struct pending *pend
    This is the case for DWARF4 Type Units.  */
 
 void
-augment_type_symtab (struct objfile *objfile, struct symtab *primary_symtab)
+augment_type_symtab (void)
 {
-  struct blockvector *blockvector = primary_symtab->blockvector;
+  struct compunit_symtab *cust = buildsym_compunit->compunit_symtab;
+  const struct blockvector *blockvector = COMPUNIT_BLOCKVECTOR (cust);
 
   if (context_stack_depth > 0)
     {
@@ -1412,7 +1596,7 @@ augment_type_symtab (struct objfile *obj
 
       /* First mark any symbols without a specified symtab as belonging
 	 to the primary symtab.  */
-      set_missing_symtab (file_symbols, primary_symtab);
+      set_missing_symtab (file_symbols, cust);
 
       dict_add_pending (BLOCK_DICT (block), file_symbols);
     }
@@ -1423,7 +1607,7 @@ augment_type_symtab (struct objfile *obj
 
       /* First mark any symbols without a specified symtab as belonging
 	 to the primary symtab.  */
-      set_missing_symtab (global_symbols, primary_symtab);
+      set_missing_symtab (global_symbols, cust);
 
       dict_add_pending (BLOCK_DICT (block), global_symbols);
     }
@@ -1486,13 +1670,13 @@ hashname (const char *name)
 void
 record_debugformat (const char *format)
 {
-  current_subfile->debugformat = format;
+  buildsym_compunit->debugformat = format;
 }
 
 void
 record_producer (const char *producer)
 {
-  current_subfile->producer = producer;
+  buildsym_compunit->producer = producer;
 }
 
 /* Merge the first symbol list SRCLIST into the second symbol list
@@ -1556,17 +1740,29 @@ get_last_source_file (void)
 void
 buildsym_init (void)
 {
-  free_pendings = NULL;
-  file_symbols = NULL;
-  global_symbols = NULL;
-  pending_blocks = NULL;
-  pending_macros = NULL;
   using_directives = NULL;
   subfile_stack = NULL;
 
-  /* We shouldn't have any address map at this point.  */
-  gdb_assert (! pending_addrmap);
   pending_addrmap_interesting = 0;
+
+  /* Context stack is initially empty.  Allocate first one with room
+     for a few levels; reuse it forever afterward.  */
+  if (context_stack == NULL)
+    {
+      context_stack_size = INITIAL_CONTEXT_STACK_SIZE;
+      context_stack = (struct context_stack *)
+	xmalloc (context_stack_size * sizeof (struct context_stack));
+    }
+
+  /* Ensure the really_free_pendings cleanup was called after
+     the last time.  */
+  gdb_assert (free_pendings == NULL);
+  gdb_assert (pending_blocks == NULL);
+  gdb_assert (file_symbols == NULL);
+  gdb_assert (global_symbols == NULL);
+  gdb_assert (pending_macros == NULL);
+  gdb_assert (pending_addrmap == NULL);
+  gdb_assert (buildsym_compunit == NULL);
 }
 
 /* Initialize anything that needs initializing when a completely new
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/buildsym.h ./gdb/buildsym.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/buildsym.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/buildsym.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Build symbol tables in GDB's internal format.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,6 +22,7 @@
 struct objfile;
 struct symbol;
 struct addrmap;
+struct compunit_symtab;
 
 /* This module provides definitions used for creating and adding to
    the symbol table.  These routines are called from various symbol-
@@ -56,17 +57,18 @@ EXTERN CORE_ADDR last_source_start_addr;
    and associated info, but they all share one blockvector.  */
 
 struct subfile
-  {
-    struct subfile *next;
-    char *name;
-    char *dirname;
-    struct linetable *line_vector;
-    int line_vector_length;
-    enum language language;
-    const char *producer;
-    const char *debugformat;
-    struct symtab *symtab;
-  };
+{
+  struct subfile *next;
+  /* Space for this is malloc'd.  */
+  char *name;
+  /* Space for this is malloc'd.  */
+  struct linetable *line_vector;
+  int line_vector_length;
+  /* The "containing" compunit.  */
+  struct buildsym_compunit *buildsym_compunit;
+  enum language language;
+  struct symtab *symtab;
+};
 
 EXTERN struct subfile *current_subfile;
 
@@ -171,6 +173,10 @@ EXTERN int context_stack_size;
 
 EXTERN int within_function;
 
+/* The type of the record_line function.  */
+typedef void (record_line_ftype) (struct subfile *subfile, int line,
+				  CORE_ADDR pc);
+
 
 
 #define next_symbol_text(objfile) (*next_symbol_text_func)(objfile)
@@ -188,15 +194,14 @@ extern struct symbol *find_symbol_in_lis
 extern struct block *finish_block (struct symbol *symbol,
                                    struct pending **listhead,
                                    struct pending_block *old_blocks,
-                                   CORE_ADDR start, CORE_ADDR end,
-                                   struct objfile *objfile);
+                                   CORE_ADDR start, CORE_ADDR end);
 
 extern void record_block_range (struct block *,
                                 CORE_ADDR start, CORE_ADDR end_inclusive);
 
 extern void really_free_pendings (void *dummy);
 
-extern void start_subfile (const char *name, const char *dirname);
+extern void start_subfile (const char *name);
 
 extern void patch_subfile_names (struct subfile *subfile, char *name);
 
@@ -205,24 +210,19 @@ extern void push_subfile (void);
 extern char *pop_subfile (void);
 
 extern struct block *end_symtab_get_static_block (CORE_ADDR end_addr,
-						  struct objfile *objfile,
 						  int expandable,
 						  int required);
 
-extern struct symtab *end_symtab_from_static_block (struct block *static_block,
-						    struct objfile *objfile,
-						    int section,
-						    int expandable);
-
-extern struct symtab *end_symtab (CORE_ADDR end_addr,
-				  struct objfile *objfile, int section);
-
-extern struct symtab *end_expandable_symtab (CORE_ADDR end_addr,
-					     struct objfile *objfile,
-					     int section);
+extern struct compunit_symtab *
+  end_symtab_from_static_block (struct block *static_block,
+				int section, int expandable);
+
+extern struct compunit_symtab *end_symtab (CORE_ADDR end_addr, int section);
+
+extern struct compunit_symtab *end_expandable_symtab (CORE_ADDR end_addr,
+						      int section);
 
-extern void augment_type_symtab (struct objfile *objfile,
-				 struct symtab *primary_symtab);
+extern void augment_type_symtab (void);
 
 /* Defined in stabsread.c.  */
 
@@ -236,12 +236,15 @@ extern struct context_stack *push_contex
 
 extern struct context_stack *pop_context (void);
 
-extern void record_line (struct subfile *subfile, int line, CORE_ADDR pc);
+extern record_line_ftype record_line;
 
-extern void start_symtab (const char *name, const char *dirname,
-			  CORE_ADDR start_addr);
+extern struct compunit_symtab *start_symtab (struct objfile *objfile,
+					     const char *name,
+					     const char *comp_dir,
+					     CORE_ADDR start_addr);
 
-extern void restart_symtab (CORE_ADDR start_addr);
+extern void restart_symtab (struct compunit_symtab *cust,
+			    const char *name, CORE_ADDR start_addr);
 
 extern int hashname (const char *name);
 
@@ -271,10 +274,18 @@ extern void set_last_source_file (const 
 
 extern const char *get_last_source_file (void);
 
-/* Return the macro table.  */
+/* Return the compunit symtab object.
+   It is only valid to call this between calls to start_symtab and the
+   end_symtab* functions.  */
+
+extern struct compunit_symtab *buildsym_compunit_symtab (void);
+
+/* Return the macro table.
+   Initialize it if this is the first use.
+   It is only valid to call this between calls to start_symtab and the
+   end_symtab* functions.  */
 
-extern struct macro_table *get_macro_table (struct objfile *objfile,
-					    const char *comp_dir);
+extern struct macro_table *get_macro_table (void);
 
 #undef EXTERN
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-exp.c ./gdb/c-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-exp.c	2015-01-13 02:06:40.000000000 +0000
+++ ./gdb/c-exp.c	2015-01-20 02:09:33.000000000 +0000
@@ -72,7 +72,6 @@
 
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
@@ -86,7 +85,6 @@
 #include "block.h"
 #include "cp-support.h"
 #include "dfp.h"
-#include "gdb_assert.h"
 #include "macroscope.h"
 #include "objc-lang.h"
 #include "typeprint.h"
@@ -170,7 +168,7 @@ static int type_aggregate_p (struct type
 
 
 /* Line 189 of yacc.c  */
-#line 174 "c-exp.c"
+#line 172 "c-exp.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -335,7 +333,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 141 "c-exp.y"
+#line 139 "c-exp.y"
 
     LONGEST lval;
     struct {
@@ -356,7 +354,7 @@ typedef union YYSTYPE
     struct ttype tsym;
     struct symtoken ssym;
     int voidval;
-    struct block *bval;
+    const struct block *bval;
     enum exp_opcode opcode;
 
     struct stoken_vector svec;
@@ -369,7 +367,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 373 "c-exp.c"
+#line 371 "c-exp.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -380,7 +378,7 @@ typedef union YYSTYPE
 /* Copy the second part of user declarations.  */
 
 /* Line 264 of yacc.c  */
-#line 172 "c-exp.y"
+#line 170 "c-exp.y"
 
 /* YYSTYPE gets defined by %union */
 static int parse_number (struct parser_state *par_state,
@@ -397,7 +395,7 @@ static void c_print_token (FILE *file, i
 
 
 /* Line 264 of yacc.c  */
-#line 401 "c-exp.c"
+#line 399 "c-exp.c"
 
 #ifdef short
 # undef short
@@ -796,33 +794,33 @@ static const yytype_int16 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   290,   290,   291,   294,   298,   302,   308,   315,   316,
-     321,   325,   329,   333,   337,   341,   345,   349,   353,   357,
-     361,   365,   369,   373,   379,   386,   396,   402,   409,   417,
-     421,   427,   434,   444,   450,   457,   465,   469,   473,   483,
-     482,   506,   505,   522,   521,   530,   532,   535,   536,   539,
-     541,   543,   550,   547,   559,   558,   584,   588,   591,   595,
-     599,   617,   620,   627,   631,   635,   641,   645,   649,   653,
-     657,   661,   665,   669,   673,   677,   681,   685,   689,   693,
-     697,   701,   705,   709,   713,   717,   721,   725,   732,   739,
-     748,   761,   768,   775,   778,   784,   791,   811,   816,   820,
-     824,   831,   848,   866,   899,   908,   916,   926,   934,   940,
-     950,   965,   987,  1000,  1024,  1033,  1034,  1062,  1116,  1120,
-    1121,  1124,  1127,  1128,  1132,  1133,  1138,  1137,  1141,  1140,
-    1143,  1145,  1149,  1158,  1160,  1161,  1164,  1166,  1173,  1180,
-    1186,  1193,  1195,  1197,  1199,  1203,  1205,  1217,  1221,  1223,
-    1227,  1231,  1235,  1239,  1243,  1247,  1251,  1255,  1259,  1263,
-    1267,  1271,  1275,  1279,  1283,  1287,  1291,  1295,  1299,  1303,
-    1307,  1311,  1315,  1319,  1323,  1327,  1333,  1339,  1342,  1347,
-    1353,  1356,  1361,  1367,  1370,  1375,  1381,  1384,  1389,  1395,
-    1399,  1403,  1407,  1414,  1418,  1420,  1424,  1425,  1433,  1441,
-    1452,  1454,  1463,  1469,  1476,  1477,  1484,  1488,  1489,  1492,
-    1493,  1496,  1500,  1502,  1506,  1508,  1510,  1512,  1514,  1516,
-    1518,  1520,  1522,  1524,  1526,  1528,  1530,  1532,  1534,  1536,
-    1538,  1540,  1542,  1544,  1584,  1586,  1588,  1590,  1592,  1594,
-    1596,  1598,  1600,  1602,  1604,  1606,  1608,  1610,  1612,  1614,
-    1616,  1632,  1633,  1634,  1635,  1636,  1637,  1640,  1641,  1649,
-    1661
+       0,   288,   288,   289,   292,   296,   300,   306,   313,   314,
+     319,   323,   327,   331,   335,   339,   343,   347,   351,   355,
+     359,   363,   367,   371,   377,   384,   394,   400,   407,   415,
+     419,   425,   432,   442,   448,   455,   463,   467,   471,   481,
+     480,   504,   503,   520,   519,   528,   530,   533,   534,   537,
+     539,   541,   548,   545,   557,   556,   582,   586,   589,   593,
+     597,   615,   618,   625,   629,   633,   639,   643,   647,   651,
+     655,   659,   663,   667,   671,   675,   679,   683,   687,   691,
+     695,   699,   703,   707,   711,   715,   719,   723,   730,   737,
+     746,   759,   766,   773,   776,   782,   789,   809,   814,   818,
+     822,   829,   846,   864,   897,   906,   914,   924,   932,   938,
+     948,   963,   985,   998,  1022,  1031,  1032,  1060,  1114,  1118,
+    1119,  1122,  1125,  1126,  1130,  1131,  1136,  1135,  1139,  1138,
+    1141,  1143,  1147,  1156,  1158,  1159,  1162,  1164,  1171,  1178,
+    1184,  1191,  1193,  1195,  1197,  1201,  1203,  1215,  1219,  1221,
+    1225,  1229,  1233,  1237,  1241,  1245,  1249,  1253,  1257,  1261,
+    1265,  1269,  1273,  1277,  1281,  1285,  1289,  1293,  1297,  1301,
+    1305,  1309,  1313,  1317,  1321,  1325,  1331,  1337,  1340,  1345,
+    1351,  1354,  1359,  1365,  1368,  1373,  1379,  1382,  1387,  1393,
+    1397,  1401,  1405,  1412,  1416,  1418,  1422,  1423,  1431,  1439,
+    1450,  1452,  1461,  1467,  1474,  1475,  1482,  1486,  1487,  1490,
+    1491,  1494,  1498,  1500,  1504,  1506,  1508,  1510,  1512,  1514,
+    1516,  1518,  1520,  1522,  1524,  1526,  1528,  1530,  1532,  1534,
+    1536,  1538,  1540,  1542,  1582,  1584,  1586,  1588,  1590,  1592,
+    1594,  1596,  1598,  1600,  1602,  1604,  1606,  1608,  1610,  1612,
+    1614,  1630,  1631,  1632,  1633,  1634,  1635,  1638,  1639,  1647,
+    1659
 };
 #endif
 
@@ -2277,7 +2275,7 @@ yyreduce:
         case 4:
 
 /* Line 1455 of yacc.c  */
-#line 295 "c-exp.y"
+#line 293 "c-exp.y"
     { write_exp_elt_opcode(pstate, OP_TYPE);
 			  write_exp_elt_type(pstate, (yyvsp[(1) - (1)].tval));
 			  write_exp_elt_opcode(pstate, OP_TYPE);}
@@ -2286,7 +2284,7 @@ yyreduce:
   case 5:
 
 /* Line 1455 of yacc.c  */
-#line 299 "c-exp.y"
+#line 297 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_TYPEOF);
 			}
@@ -2295,7 +2293,7 @@ yyreduce:
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 303 "c-exp.y"
+#line 301 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_TYPE);
 			  write_exp_elt_type (pstate, (yyvsp[(3) - (4)].tval));
@@ -2306,7 +2304,7 @@ yyreduce:
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 309 "c-exp.y"
+#line 307 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_DECLTYPE);
 			}
@@ -2315,105 +2313,105 @@ yyreduce:
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 317 "c-exp.y"
+#line 315 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_COMMA); }
     break;
 
   case 10:
 
 /* Line 1455 of yacc.c  */
-#line 322 "c-exp.y"
+#line 320 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_IND); }
     break;
 
   case 11:
 
 /* Line 1455 of yacc.c  */
-#line 326 "c-exp.y"
+#line 324 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ADDR); }
     break;
 
   case 12:
 
 /* Line 1455 of yacc.c  */
-#line 330 "c-exp.y"
+#line 328 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_NEG); }
     break;
 
   case 13:
 
 /* Line 1455 of yacc.c  */
-#line 334 "c-exp.y"
+#line 332 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PLUS); }
     break;
 
   case 14:
 
 /* Line 1455 of yacc.c  */
-#line 338 "c-exp.y"
+#line 336 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
     break;
 
   case 15:
 
 /* Line 1455 of yacc.c  */
-#line 342 "c-exp.y"
+#line 340 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_COMPLEMENT); }
     break;
 
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 346 "c-exp.y"
+#line 344 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREINCREMENT); }
     break;
 
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 350 "c-exp.y"
+#line 348 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREDECREMENT); }
     break;
 
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 354 "c-exp.y"
+#line 352 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_POSTINCREMENT); }
     break;
 
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 358 "c-exp.y"
+#line 356 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_POSTDECREMENT); }
     break;
 
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 362 "c-exp.y"
+#line 360 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPEID); }
     break;
 
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 366 "c-exp.y"
+#line 364 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPEID); }
     break;
 
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 370 "c-exp.y"
+#line 368 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_SIZEOF); }
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 374 "c-exp.y"
+#line 372 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_PTR);
 			  write_exp_string (pstate, (yyvsp[(3) - (3)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR); }
@@ -2422,7 +2420,7 @@ yyreduce:
   case 24:
 
 /* Line 1455 of yacc.c  */
-#line 380 "c-exp.y"
+#line 378 "c-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR);
 			  write_exp_string (pstate, (yyvsp[(3) - (4)].sval));
@@ -2432,7 +2430,7 @@ yyreduce:
   case 25:
 
 /* Line 1455 of yacc.c  */
-#line 387 "c-exp.y"
+#line 385 "c-exp.y"
     { struct stoken s;
 			  mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR);
@@ -2445,7 +2443,7 @@ yyreduce:
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 397 "c-exp.y"
+#line 395 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_PTR);
 			  write_destructor_name (pstate, (yyvsp[(4) - (4)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR); }
@@ -2454,7 +2452,7 @@ yyreduce:
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 403 "c-exp.y"
+#line 401 "c-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_PTR);
 			  write_destructor_name (pstate, (yyvsp[(4) - (5)].sval));
@@ -2464,7 +2462,7 @@ yyreduce:
   case 28:
 
 /* Line 1455 of yacc.c  */
-#line 410 "c-exp.y"
+#line 408 "c-exp.y"
     { /* exp->type::name becomes exp->*(&type::name) */
 			  /* Note: this doesn't work if name is a
 			     static member!  FIXME */
@@ -2475,14 +2473,14 @@ yyreduce:
   case 29:
 
 /* Line 1455 of yacc.c  */
-#line 418 "c-exp.y"
+#line 416 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_MPTR); }
     break;
 
   case 30:
 
 /* Line 1455 of yacc.c  */
-#line 422 "c-exp.y"
+#line 420 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(3) - (3)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
@@ -2491,7 +2489,7 @@ yyreduce:
   case 31:
 
 /* Line 1455 of yacc.c  */
-#line 428 "c-exp.y"
+#line 426 "c-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(3) - (4)].sval));
@@ -2501,7 +2499,7 @@ yyreduce:
   case 32:
 
 /* Line 1455 of yacc.c  */
-#line 435 "c-exp.y"
+#line 433 "c-exp.y"
     { struct stoken s;
 			  mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
@@ -2514,7 +2512,7 @@ yyreduce:
   case 33:
 
 /* Line 1455 of yacc.c  */
-#line 445 "c-exp.y"
+#line 443 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_destructor_name (pstate, (yyvsp[(4) - (4)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
@@ -2523,7 +2521,7 @@ yyreduce:
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 451 "c-exp.y"
+#line 449 "c-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_destructor_name (pstate, (yyvsp[(4) - (5)].sval));
@@ -2533,7 +2531,7 @@ yyreduce:
   case 35:
 
 /* Line 1455 of yacc.c  */
-#line 458 "c-exp.y"
+#line 456 "c-exp.y"
     { /* exp.type::name becomes exp.*(&type::name) */
 			  /* Note: this doesn't work if name is a
 			     static member!  FIXME */
@@ -2544,28 +2542,28 @@ yyreduce:
   case 36:
 
 /* Line 1455 of yacc.c  */
-#line 466 "c-exp.y"
+#line 464 "c-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_MEMBER); }
     break;
 
   case 37:
 
 /* Line 1455 of yacc.c  */
-#line 470 "c-exp.y"
+#line 468 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT); }
     break;
 
   case 38:
 
 /* Line 1455 of yacc.c  */
-#line 474 "c-exp.y"
+#line 472 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT); }
     break;
 
   case 39:
 
 /* Line 1455 of yacc.c  */
-#line 483 "c-exp.y"
+#line 481 "c-exp.y"
     {
 			  CORE_ADDR class;
 
@@ -2586,7 +2584,7 @@ yyreduce:
   case 40:
 
 /* Line 1455 of yacc.c  */
-#line 499 "c-exp.y"
+#line 497 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
 			  end_msglist (pstate);
 			  write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
@@ -2596,7 +2594,7 @@ yyreduce:
   case 41:
 
 /* Line 1455 of yacc.c  */
-#line 506 "c-exp.y"
+#line 504 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate,
@@ -2610,7 +2608,7 @@ yyreduce:
   case 42:
 
 /* Line 1455 of yacc.c  */
-#line 515 "c-exp.y"
+#line 513 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
 			  end_msglist (pstate);
 			  write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
@@ -2620,14 +2618,14 @@ yyreduce:
   case 43:
 
 /* Line 1455 of yacc.c  */
-#line 522 "c-exp.y"
+#line 520 "c-exp.y"
     { start_msglist(); }
     break;
 
   case 44:
 
 /* Line 1455 of yacc.c  */
-#line 524 "c-exp.y"
+#line 522 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
 			  end_msglist (pstate);
 			  write_exp_elt_opcode (pstate, OP_OBJC_MSGCALL);
@@ -2637,42 +2635,42 @@ yyreduce:
   case 45:
 
 /* Line 1455 of yacc.c  */
-#line 531 "c-exp.y"
+#line 529 "c-exp.y"
     { add_msglist(&(yyvsp[(1) - (1)].sval), 0); }
     break;
 
   case 49:
 
 /* Line 1455 of yacc.c  */
-#line 540 "c-exp.y"
+#line 538 "c-exp.y"
     { add_msglist(&(yyvsp[(1) - (3)].sval), 1); }
     break;
 
   case 50:
 
 /* Line 1455 of yacc.c  */
-#line 542 "c-exp.y"
+#line 540 "c-exp.y"
     { add_msglist(0, 1);   }
     break;
 
   case 51:
 
 /* Line 1455 of yacc.c  */
-#line 544 "c-exp.y"
+#line 542 "c-exp.y"
     { add_msglist(0, 0);   }
     break;
 
   case 52:
 
 /* Line 1455 of yacc.c  */
-#line 550 "c-exp.y"
+#line 548 "c-exp.y"
     { start_arglist (); }
     break;
 
   case 53:
 
 /* Line 1455 of yacc.c  */
-#line 552 "c-exp.y"
+#line 550 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_FUNCALL);
 			  write_exp_elt_longcst (pstate,
 						 (LONGEST) end_arglist ());
@@ -2682,7 +2680,7 @@ yyreduce:
   case 54:
 
 /* Line 1455 of yacc.c  */
-#line 559 "c-exp.y"
+#line 557 "c-exp.y"
     {
 			  /* This could potentially be a an argument defined
 			     lookup function (Koenig).  */
@@ -2704,7 +2702,7 @@ yyreduce:
   case 55:
 
 /* Line 1455 of yacc.c  */
-#line 576 "c-exp.y"
+#line 574 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_FUNCALL);
 			  write_exp_elt_longcst (pstate,
@@ -2716,28 +2714,28 @@ yyreduce:
   case 56:
 
 /* Line 1455 of yacc.c  */
-#line 585 "c-exp.y"
+#line 583 "c-exp.y"
     { start_arglist (); }
     break;
 
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 592 "c-exp.y"
+#line 590 "c-exp.y"
     { arglist_len = 1; }
     break;
 
   case 59:
 
 /* Line 1455 of yacc.c  */
-#line 596 "c-exp.y"
+#line 594 "c-exp.y"
     { arglist_len++; }
     break;
 
   case 60:
 
 /* Line 1455 of yacc.c  */
-#line 600 "c-exp.y"
+#line 598 "c-exp.y"
     { int i;
 			  VEC (type_ptr) *type_list = (yyvsp[(3) - (5)].tvec);
 			  struct type *type_elt;
@@ -2758,14 +2756,14 @@ yyreduce:
   case 61:
 
 /* Line 1455 of yacc.c  */
-#line 618 "c-exp.y"
+#line 616 "c-exp.y"
     { (yyval.lval) = end_arglist () - 1; }
     break;
 
   case 62:
 
 /* Line 1455 of yacc.c  */
-#line 621 "c-exp.y"
+#line 619 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_ARRAY);
 			  write_exp_elt_longcst (pstate, (LONGEST) 0);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(3) - (3)].lval));
@@ -2775,175 +2773,175 @@ yyreduce:
   case 63:
 
 /* Line 1455 of yacc.c  */
-#line 628 "c-exp.y"
+#line 626 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_MEMVAL_TYPE); }
     break;
 
   case 64:
 
 /* Line 1455 of yacc.c  */
-#line 632 "c-exp.y"
+#line 630 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAST_TYPE); }
     break;
 
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 636 "c-exp.y"
+#line 634 "c-exp.y"
     { }
     break;
 
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 642 "c-exp.y"
+#line 640 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REPEAT); }
     break;
 
   case 67:
 
 /* Line 1455 of yacc.c  */
-#line 646 "c-exp.y"
+#line 644 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_MUL); }
     break;
 
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 650 "c-exp.y"
+#line 648 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_DIV); }
     break;
 
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 654 "c-exp.y"
+#line 652 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REM); }
     break;
 
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 658 "c-exp.y"
+#line 656 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ADD); }
     break;
 
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 662 "c-exp.y"
+#line 660 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUB); }
     break;
 
   case 72:
 
 /* Line 1455 of yacc.c  */
-#line 666 "c-exp.y"
+#line 664 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LSH); }
     break;
 
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 670 "c-exp.y"
+#line 668 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_RSH); }
     break;
 
   case 74:
 
 /* Line 1455 of yacc.c  */
-#line 674 "c-exp.y"
+#line 672 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EQUAL); }
     break;
 
   case 75:
 
 /* Line 1455 of yacc.c  */
-#line 678 "c-exp.y"
+#line 676 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
     break;
 
   case 76:
 
 /* Line 1455 of yacc.c  */
-#line 682 "c-exp.y"
+#line 680 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LEQ); }
     break;
 
   case 77:
 
 /* Line 1455 of yacc.c  */
-#line 686 "c-exp.y"
+#line 684 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GEQ); }
     break;
 
   case 78:
 
 /* Line 1455 of yacc.c  */
-#line 690 "c-exp.y"
+#line 688 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LESS); }
     break;
 
   case 79:
 
 /* Line 1455 of yacc.c  */
-#line 694 "c-exp.y"
+#line 692 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GTR); }
     break;
 
   case 80:
 
 /* Line 1455 of yacc.c  */
-#line 698 "c-exp.y"
+#line 696 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
     break;
 
   case 81:
 
 /* Line 1455 of yacc.c  */
-#line 702 "c-exp.y"
+#line 700 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
     break;
 
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 706 "c-exp.y"
+#line 704 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
     break;
 
   case 83:
 
 /* Line 1455 of yacc.c  */
-#line 710 "c-exp.y"
+#line 708 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
     break;
 
   case 84:
 
 /* Line 1455 of yacc.c  */
-#line 714 "c-exp.y"
+#line 712 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
     break;
 
   case 85:
 
 /* Line 1455 of yacc.c  */
-#line 718 "c-exp.y"
+#line 716 "c-exp.y"
     { write_exp_elt_opcode (pstate, TERNOP_COND); }
     break;
 
   case 86:
 
 /* Line 1455 of yacc.c  */
-#line 722 "c-exp.y"
+#line 720 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
     break;
 
   case 87:
 
 /* Line 1455 of yacc.c  */
-#line 726 "c-exp.y"
+#line 724 "c-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY);
 			  write_exp_elt_opcode (pstate, (yyvsp[(2) - (3)].opcode));
 			  write_exp_elt_opcode (pstate,
@@ -2953,7 +2951,7 @@ yyreduce:
   case 88:
 
 /* Line 1455 of yacc.c  */
-#line 733 "c-exp.y"
+#line 731 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_int).type);
 			  write_exp_elt_longcst (pstate, (LONGEST) ((yyvsp[(1) - (1)].typed_val_int).val));
@@ -2963,7 +2961,7 @@ yyreduce:
   case 89:
 
 /* Line 1455 of yacc.c  */
-#line 740 "c-exp.y"
+#line 738 "c-exp.y"
     {
 			  struct stoken_vector vec;
 			  vec.len = 1;
@@ -2975,7 +2973,7 @@ yyreduce:
   case 90:
 
 /* Line 1455 of yacc.c  */
-#line 749 "c-exp.y"
+#line 747 "c-exp.y"
     { YYSTYPE val;
 			  parse_number (pstate, (yyvsp[(1) - (1)].ssym).stoken.ptr,
 					(yyvsp[(1) - (1)].ssym).stoken.length, 0, &val);
@@ -2990,7 +2988,7 @@ yyreduce:
   case 91:
 
 /* Line 1455 of yacc.c  */
-#line 762 "c-exp.y"
+#line 760 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_DOUBLE);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_float).type);
 			  write_exp_elt_dblcst (pstate, (yyvsp[(1) - (1)].typed_val_float).dval);
@@ -3000,7 +2998,7 @@ yyreduce:
   case 92:
 
 /* Line 1455 of yacc.c  */
-#line 769 "c-exp.y"
+#line 767 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_DECFLOAT);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_decfloat).type);
 			  write_exp_elt_decfloatcst (pstate, (yyvsp[(1) - (1)].typed_val_decfloat).val);
@@ -3010,7 +3008,7 @@ yyreduce:
   case 94:
 
 /* Line 1455 of yacc.c  */
-#line 779 "c-exp.y"
+#line 777 "c-exp.y"
     {
 			  write_dollar_variable (pstate, (yyvsp[(1) - (1)].sval));
 			}
@@ -3019,7 +3017,7 @@ yyreduce:
   case 95:
 
 /* Line 1455 of yacc.c  */
-#line 785 "c-exp.y"
+#line 783 "c-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_OBJC_SELECTOR);
 			  write_exp_string (pstate, (yyvsp[(3) - (4)].sval));
@@ -3029,7 +3027,7 @@ yyreduce:
   case 96:
 
 /* Line 1455 of yacc.c  */
-#line 792 "c-exp.y"
+#line 790 "c-exp.y"
     { struct type *type = (yyvsp[(3) - (4)].tval);
 			  write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate, lookup_signed_typename
@@ -3052,7 +3050,7 @@ yyreduce:
   case 97:
 
 /* Line 1455 of yacc.c  */
-#line 812 "c-exp.y"
+#line 810 "c-exp.y"
     { write_exp_elt_opcode (pstate,
 						UNOP_REINTERPRET_CAST); }
     break;
@@ -3060,21 +3058,21 @@ yyreduce:
   case 98:
 
 /* Line 1455 of yacc.c  */
-#line 817 "c-exp.y"
+#line 815 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAST_TYPE); }
     break;
 
   case 99:
 
 /* Line 1455 of yacc.c  */
-#line 821 "c-exp.y"
+#line 819 "c-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_DYNAMIC_CAST); }
     break;
 
   case 100:
 
 /* Line 1455 of yacc.c  */
-#line 825 "c-exp.y"
+#line 823 "c-exp.y"
     { /* We could do more error checking here, but
 			     it doesn't seem worthwhile.  */
 			  write_exp_elt_opcode (pstate, UNOP_CAST_TYPE); }
@@ -3083,7 +3081,7 @@ yyreduce:
   case 101:
 
 /* Line 1455 of yacc.c  */
-#line 832 "c-exp.y"
+#line 830 "c-exp.y"
     {
 			  /* We copy the string here, and not in the
 			     lexer, to guarantee that we do not leak a
@@ -3104,7 +3102,7 @@ yyreduce:
   case 102:
 
 /* Line 1455 of yacc.c  */
-#line 849 "c-exp.y"
+#line 847 "c-exp.y"
     {
 			  /* Note that we NUL-terminate here, but just
 			     for convenience.  */
@@ -3125,7 +3123,7 @@ yyreduce:
   case 103:
 
 /* Line 1455 of yacc.c  */
-#line 867 "c-exp.y"
+#line 865 "c-exp.y"
     {
 			  int i;
 			  enum c_string_type type = C_STRING;
@@ -3161,7 +3159,7 @@ yyreduce:
   case 104:
 
 /* Line 1455 of yacc.c  */
-#line 902 "c-exp.y"
+#line 900 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_OBJC_NSSTRING);
 			  write_exp_string (pstate, (yyvsp[(1) - (1)].sval));
 			  write_exp_elt_opcode (pstate, OP_OBJC_NSSTRING); }
@@ -3170,7 +3168,7 @@ yyreduce:
   case 105:
 
 /* Line 1455 of yacc.c  */
-#line 909 "c-exp.y"
+#line 907 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
                           write_exp_elt_type (pstate,
 					  parse_type (pstate)->builtin_bool);
@@ -3181,7 +3179,7 @@ yyreduce:
   case 106:
 
 /* Line 1455 of yacc.c  */
-#line 917 "c-exp.y"
+#line 915 "c-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
                           write_exp_elt_type (pstate,
 					  parse_type (pstate)->builtin_bool);
@@ -3192,7 +3190,7 @@ yyreduce:
   case 107:
 
 /* Line 1455 of yacc.c  */
-#line 927 "c-exp.y"
+#line 925 "c-exp.y"
     {
 			  if ((yyvsp[(1) - (1)].ssym).sym)
 			    (yyval.bval) = SYMBOL_BLOCK_VALUE ((yyvsp[(1) - (1)].ssym).sym);
@@ -3205,7 +3203,7 @@ yyreduce:
   case 108:
 
 /* Line 1455 of yacc.c  */
-#line 935 "c-exp.y"
+#line 933 "c-exp.y"
     {
 			  (yyval.bval) = (yyvsp[(1) - (1)].bval);
 			}
@@ -3214,7 +3212,7 @@ yyreduce:
   case 109:
 
 /* Line 1455 of yacc.c  */
-#line 941 "c-exp.y"
+#line 939 "c-exp.y"
     { struct symbol *tem
 			    = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval),
 					     VAR_DOMAIN, NULL);
@@ -3227,7 +3225,7 @@ yyreduce:
   case 110:
 
 /* Line 1455 of yacc.c  */
-#line 951 "c-exp.y"
+#line 949 "c-exp.y"
     { struct symbol *sym = (yyvsp[(1) - (2)].ssym).sym;
 
 			  if (sym == NULL || !SYMBOL_IS_ARGUMENT (sym)
@@ -3245,7 +3243,7 @@ yyreduce:
   case 111:
 
 /* Line 1455 of yacc.c  */
-#line 966 "c-exp.y"
+#line 964 "c-exp.y"
     { struct symbol *sym;
 			  sym = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval),
 					       VAR_DOMAIN, NULL);
@@ -3270,7 +3268,7 @@ yyreduce:
   case 112:
 
 /* Line 1455 of yacc.c  */
-#line 988 "c-exp.y"
+#line 986 "c-exp.y"
     {
 			  struct type *type = (yyvsp[(1) - (3)].tsym).type;
 			  CHECK_TYPEDEF (type);
@@ -3288,7 +3286,7 @@ yyreduce:
   case 113:
 
 /* Line 1455 of yacc.c  */
-#line 1001 "c-exp.y"
+#line 999 "c-exp.y"
     {
 			  struct type *type = (yyvsp[(1) - (4)].tsym).type;
 			  struct stoken tmp_token;
@@ -3317,7 +3315,7 @@ yyreduce:
   case 114:
 
 /* Line 1455 of yacc.c  */
-#line 1025 "c-exp.y"
+#line 1023 "c-exp.y"
     {
 			  char *copy = copy_name ((yyvsp[(3) - (5)].sval));
 			  error (_("No type \"%s\" within class "
@@ -3329,7 +3327,7 @@ yyreduce:
   case 116:
 
 /* Line 1455 of yacc.c  */
-#line 1035 "c-exp.y"
+#line 1033 "c-exp.y"
     {
 			  char *name = copy_name ((yyvsp[(2) - (2)].ssym).stoken);
 			  struct symbol *sym;
@@ -3360,7 +3358,7 @@ yyreduce:
   case 117:
 
 /* Line 1455 of yacc.c  */
-#line 1063 "c-exp.y"
+#line 1061 "c-exp.y"
     { struct symbol *sym = (yyvsp[(1) - (1)].ssym).sym;
 
 			  if (sym)
@@ -3368,7 +3366,7 @@ yyreduce:
 			      if (symbol_read_needs_frame (sym))
 				{
 				  if (innermost_block == 0
-				      || contained_in (block_found, 
+				      || contained_in (block_found,
 						       innermost_block))
 				    innermost_block = block_found;
 				}
@@ -3417,42 +3415,42 @@ yyreduce:
   case 118:
 
 /* Line 1455 of yacc.c  */
-#line 1117 "c-exp.y"
+#line 1115 "c-exp.y"
     { insert_type_address_space (pstate, copy_name ((yyvsp[(2) - (2)].ssym).stoken)); }
     break;
 
   case 126:
 
 /* Line 1455 of yacc.c  */
-#line 1138 "c-exp.y"
+#line 1136 "c-exp.y"
     { insert_type (tp_pointer); }
     break;
 
   case 128:
 
 /* Line 1455 of yacc.c  */
-#line 1141 "c-exp.y"
+#line 1139 "c-exp.y"
     { insert_type (tp_pointer); }
     break;
 
   case 130:
 
 /* Line 1455 of yacc.c  */
-#line 1144 "c-exp.y"
+#line 1142 "c-exp.y"
     { insert_type (tp_reference); }
     break;
 
   case 131:
 
 /* Line 1455 of yacc.c  */
-#line 1146 "c-exp.y"
+#line 1144 "c-exp.y"
     { insert_type (tp_reference); }
     break;
 
   case 132:
 
 /* Line 1455 of yacc.c  */
-#line 1150 "c-exp.y"
+#line 1148 "c-exp.y"
     {
 			  (yyval.type_stack) = get_type_stack ();
 			  /* This cleanup is eventually run by
@@ -3464,21 +3462,21 @@ yyreduce:
   case 133:
 
 /* Line 1455 of yacc.c  */
-#line 1159 "c-exp.y"
+#line 1157 "c-exp.y"
     { (yyval.type_stack) = append_type_stack ((yyvsp[(2) - (2)].type_stack), (yyvsp[(1) - (2)].type_stack)); }
     break;
 
   case 136:
 
 /* Line 1455 of yacc.c  */
-#line 1165 "c-exp.y"
+#line 1163 "c-exp.y"
     { (yyval.type_stack) = (yyvsp[(2) - (3)].type_stack); }
     break;
 
   case 137:
 
 /* Line 1455 of yacc.c  */
-#line 1167 "c-exp.y"
+#line 1165 "c-exp.y"
     {
 			  push_type_stack ((yyvsp[(1) - (2)].type_stack));
 			  push_type_int ((yyvsp[(2) - (2)].lval));
@@ -3490,7 +3488,7 @@ yyreduce:
   case 138:
 
 /* Line 1455 of yacc.c  */
-#line 1174 "c-exp.y"
+#line 1172 "c-exp.y"
     {
 			  push_type_int ((yyvsp[(1) - (1)].lval));
 			  push_type (tp_array);
@@ -3501,7 +3499,7 @@ yyreduce:
   case 139:
 
 /* Line 1455 of yacc.c  */
-#line 1181 "c-exp.y"
+#line 1179 "c-exp.y"
     {
 			  push_type_stack ((yyvsp[(1) - (2)].type_stack));
 			  push_typelist ((yyvsp[(2) - (2)].tvec));
@@ -3512,7 +3510,7 @@ yyreduce:
   case 140:
 
 /* Line 1455 of yacc.c  */
-#line 1187 "c-exp.y"
+#line 1185 "c-exp.y"
     {
 			  push_typelist ((yyvsp[(1) - (1)].tvec));
 			  (yyval.type_stack) = get_type_stack ();
@@ -3522,56 +3520,56 @@ yyreduce:
   case 141:
 
 /* Line 1455 of yacc.c  */
-#line 1194 "c-exp.y"
+#line 1192 "c-exp.y"
     { (yyval.lval) = -1; }
     break;
 
   case 142:
 
 /* Line 1455 of yacc.c  */
-#line 1196 "c-exp.y"
+#line 1194 "c-exp.y"
     { (yyval.lval) = -1; }
     break;
 
   case 143:
 
 /* Line 1455 of yacc.c  */
-#line 1198 "c-exp.y"
+#line 1196 "c-exp.y"
     { (yyval.lval) = (yyvsp[(2) - (3)].typed_val_int).val; }
     break;
 
   case 144:
 
 /* Line 1455 of yacc.c  */
-#line 1200 "c-exp.y"
+#line 1198 "c-exp.y"
     { (yyval.lval) = (yyvsp[(2) - (3)].typed_val_int).val; }
     break;
 
   case 145:
 
 /* Line 1455 of yacc.c  */
-#line 1204 "c-exp.y"
+#line 1202 "c-exp.y"
     { (yyval.tvec) = NULL; }
     break;
 
   case 146:
 
 /* Line 1455 of yacc.c  */
-#line 1206 "c-exp.y"
+#line 1204 "c-exp.y"
     { (yyval.tvec) = (yyvsp[(2) - (3)].tvec); }
     break;
 
   case 148:
 
 /* Line 1455 of yacc.c  */
-#line 1222 "c-exp.y"
+#line 1220 "c-exp.y"
     { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
     break;
 
   case 149:
 
 /* Line 1455 of yacc.c  */
-#line 1224 "c-exp.y"
+#line 1222 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "int"); }
@@ -3580,7 +3578,7 @@ yyreduce:
   case 150:
 
 /* Line 1455 of yacc.c  */
-#line 1228 "c-exp.y"
+#line 1226 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long"); }
@@ -3589,7 +3587,7 @@ yyreduce:
   case 151:
 
 /* Line 1455 of yacc.c  */
-#line 1232 "c-exp.y"
+#line 1230 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "short"); }
@@ -3598,7 +3596,7 @@ yyreduce:
   case 152:
 
 /* Line 1455 of yacc.c  */
-#line 1236 "c-exp.y"
+#line 1234 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long"); }
@@ -3607,7 +3605,7 @@ yyreduce:
   case 153:
 
 /* Line 1455 of yacc.c  */
-#line 1240 "c-exp.y"
+#line 1238 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long"); }
@@ -3616,7 +3614,7 @@ yyreduce:
   case 154:
 
 /* Line 1455 of yacc.c  */
-#line 1244 "c-exp.y"
+#line 1242 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long"); }
@@ -3625,7 +3623,7 @@ yyreduce:
   case 155:
 
 /* Line 1455 of yacc.c  */
-#line 1248 "c-exp.y"
+#line 1246 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long"); }
@@ -3634,7 +3632,7 @@ yyreduce:
   case 156:
 
 /* Line 1455 of yacc.c  */
-#line 1252 "c-exp.y"
+#line 1250 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long"); }
@@ -3643,7 +3641,7 @@ yyreduce:
   case 157:
 
 /* Line 1455 of yacc.c  */
-#line 1256 "c-exp.y"
+#line 1254 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long"); }
@@ -3652,7 +3650,7 @@ yyreduce:
   case 158:
 
 /* Line 1455 of yacc.c  */
-#line 1260 "c-exp.y"
+#line 1258 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long"); }
@@ -3661,7 +3659,7 @@ yyreduce:
   case 159:
 
 /* Line 1455 of yacc.c  */
-#line 1264 "c-exp.y"
+#line 1262 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3670,7 +3668,7 @@ yyreduce:
   case 160:
 
 /* Line 1455 of yacc.c  */
-#line 1268 "c-exp.y"
+#line 1266 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3679,7 +3677,7 @@ yyreduce:
   case 161:
 
 /* Line 1455 of yacc.c  */
-#line 1272 "c-exp.y"
+#line 1270 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3688,7 +3686,7 @@ yyreduce:
   case 162:
 
 /* Line 1455 of yacc.c  */
-#line 1276 "c-exp.y"
+#line 1274 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3697,7 +3695,7 @@ yyreduce:
   case 163:
 
 /* Line 1455 of yacc.c  */
-#line 1280 "c-exp.y"
+#line 1278 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3706,7 +3704,7 @@ yyreduce:
   case 164:
 
 /* Line 1455 of yacc.c  */
-#line 1284 "c-exp.y"
+#line 1282 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "long long"); }
@@ -3715,7 +3713,7 @@ yyreduce:
   case 165:
 
 /* Line 1455 of yacc.c  */
-#line 1288 "c-exp.y"
+#line 1286 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long long"); }
@@ -3724,7 +3722,7 @@ yyreduce:
   case 166:
 
 /* Line 1455 of yacc.c  */
-#line 1292 "c-exp.y"
+#line 1290 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long long"); }
@@ -3733,7 +3731,7 @@ yyreduce:
   case 167:
 
 /* Line 1455 of yacc.c  */
-#line 1296 "c-exp.y"
+#line 1294 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long long"); }
@@ -3742,7 +3740,7 @@ yyreduce:
   case 168:
 
 /* Line 1455 of yacc.c  */
-#line 1300 "c-exp.y"
+#line 1298 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "long long"); }
@@ -3751,7 +3749,7 @@ yyreduce:
   case 169:
 
 /* Line 1455 of yacc.c  */
-#line 1304 "c-exp.y"
+#line 1302 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "short"); }
@@ -3760,7 +3758,7 @@ yyreduce:
   case 170:
 
 /* Line 1455 of yacc.c  */
-#line 1308 "c-exp.y"
+#line 1306 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "short"); }
@@ -3769,7 +3767,7 @@ yyreduce:
   case 171:
 
 /* Line 1455 of yacc.c  */
-#line 1312 "c-exp.y"
+#line 1310 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "short"); }
@@ -3778,7 +3776,7 @@ yyreduce:
   case 172:
 
 /* Line 1455 of yacc.c  */
-#line 1316 "c-exp.y"
+#line 1314 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "short"); }
@@ -3787,7 +3785,7 @@ yyreduce:
   case 173:
 
 /* Line 1455 of yacc.c  */
-#line 1320 "c-exp.y"
+#line 1318 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "short"); }
@@ -3796,7 +3794,7 @@ yyreduce:
   case 174:
 
 /* Line 1455 of yacc.c  */
-#line 1324 "c-exp.y"
+#line 1322 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "short"); }
@@ -3805,7 +3803,7 @@ yyreduce:
   case 175:
 
 /* Line 1455 of yacc.c  */
-#line 1328 "c-exp.y"
+#line 1326 "c-exp.y"
     { (yyval.tval) = lookup_typename (parse_language (pstate),
 						parse_gdbarch (pstate),
 						"double",
@@ -3816,7 +3814,7 @@ yyreduce:
   case 176:
 
 /* Line 1455 of yacc.c  */
-#line 1334 "c-exp.y"
+#line 1332 "c-exp.y"
     { (yyval.tval) = lookup_typename (parse_language (pstate),
 						parse_gdbarch (pstate),
 						"long double",
@@ -3827,7 +3825,7 @@ yyreduce:
   case 177:
 
 /* Line 1455 of yacc.c  */
-#line 1340 "c-exp.y"
+#line 1338 "c-exp.y"
     { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
 					      expression_context_block); }
     break;
@@ -3835,7 +3833,7 @@ yyreduce:
   case 178:
 
 /* Line 1455 of yacc.c  */
-#line 1343 "c-exp.y"
+#line 1341 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_STRUCT, "", 0);
 			  (yyval.tval) = NULL;
@@ -3845,7 +3843,7 @@ yyreduce:
   case 179:
 
 /* Line 1455 of yacc.c  */
-#line 1348 "c-exp.y"
+#line 1346 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_STRUCT, (yyvsp[(2) - (3)].sval).ptr,
 					       (yyvsp[(2) - (3)].sval).length);
@@ -3856,7 +3854,7 @@ yyreduce:
   case 180:
 
 /* Line 1455 of yacc.c  */
-#line 1354 "c-exp.y"
+#line 1352 "c-exp.y"
     { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
 					      expression_context_block); }
     break;
@@ -3864,9 +3862,9 @@ yyreduce:
   case 181:
 
 /* Line 1455 of yacc.c  */
-#line 1357 "c-exp.y"
+#line 1355 "c-exp.y"
     {
-			  mark_completion_tag (TYPE_CODE_CLASS, "", 0);
+			  mark_completion_tag (TYPE_CODE_STRUCT, "", 0);
 			  (yyval.tval) = NULL;
 			}
     break;
@@ -3874,9 +3872,9 @@ yyreduce:
   case 182:
 
 /* Line 1455 of yacc.c  */
-#line 1362 "c-exp.y"
+#line 1360 "c-exp.y"
     {
-			  mark_completion_tag (TYPE_CODE_CLASS, (yyvsp[(2) - (3)].sval).ptr,
+			  mark_completion_tag (TYPE_CODE_STRUCT, (yyvsp[(2) - (3)].sval).ptr,
 					       (yyvsp[(2) - (3)].sval).length);
 			  (yyval.tval) = NULL;
 			}
@@ -3885,7 +3883,7 @@ yyreduce:
   case 183:
 
 /* Line 1455 of yacc.c  */
-#line 1368 "c-exp.y"
+#line 1366 "c-exp.y"
     { (yyval.tval) = lookup_union (copy_name ((yyvsp[(2) - (2)].sval)),
 					     expression_context_block); }
     break;
@@ -3893,7 +3891,7 @@ yyreduce:
   case 184:
 
 /* Line 1455 of yacc.c  */
-#line 1371 "c-exp.y"
+#line 1369 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_UNION, "", 0);
 			  (yyval.tval) = NULL;
@@ -3903,7 +3901,7 @@ yyreduce:
   case 185:
 
 /* Line 1455 of yacc.c  */
-#line 1376 "c-exp.y"
+#line 1374 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_UNION, (yyvsp[(2) - (3)].sval).ptr,
 					       (yyvsp[(2) - (3)].sval).length);
@@ -3914,7 +3912,7 @@ yyreduce:
   case 186:
 
 /* Line 1455 of yacc.c  */
-#line 1382 "c-exp.y"
+#line 1380 "c-exp.y"
     { (yyval.tval) = lookup_enum (copy_name ((yyvsp[(2) - (2)].sval)),
 					    expression_context_block); }
     break;
@@ -3922,7 +3920,7 @@ yyreduce:
   case 187:
 
 /* Line 1455 of yacc.c  */
-#line 1385 "c-exp.y"
+#line 1383 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_ENUM, "", 0);
 			  (yyval.tval) = NULL;
@@ -3932,7 +3930,7 @@ yyreduce:
   case 188:
 
 /* Line 1455 of yacc.c  */
-#line 1390 "c-exp.y"
+#line 1388 "c-exp.y"
     {
 			  mark_completion_tag (TYPE_CODE_ENUM, (yyvsp[(2) - (3)].sval).ptr,
 					       (yyvsp[(2) - (3)].sval).length);
@@ -3943,7 +3941,7 @@ yyreduce:
   case 189:
 
 /* Line 1455 of yacc.c  */
-#line 1396 "c-exp.y"
+#line 1394 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 TYPE_NAME((yyvsp[(2) - (2)].tsym).type)); }
@@ -3952,7 +3950,7 @@ yyreduce:
   case 190:
 
 /* Line 1455 of yacc.c  */
-#line 1400 "c-exp.y"
+#line 1398 "c-exp.y"
     { (yyval.tval) = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "int"); }
@@ -3961,7 +3959,7 @@ yyreduce:
   case 191:
 
 /* Line 1455 of yacc.c  */
-#line 1404 "c-exp.y"
+#line 1402 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       TYPE_NAME((yyvsp[(2) - (2)].tsym).type)); }
@@ -3970,7 +3968,7 @@ yyreduce:
   case 192:
 
 /* Line 1455 of yacc.c  */
-#line 1408 "c-exp.y"
+#line 1406 "c-exp.y"
     { (yyval.tval) = lookup_signed_typename (parse_language (pstate),
 						       parse_gdbarch (pstate),
 						       "int"); }
@@ -3979,7 +3977,7 @@ yyreduce:
   case 193:
 
 /* Line 1455 of yacc.c  */
-#line 1415 "c-exp.y"
+#line 1413 "c-exp.y"
     { (yyval.tval) = lookup_template_type(copy_name((yyvsp[(2) - (5)].sval)), (yyvsp[(4) - (5)].tval),
 						    expression_context_block);
 			}
@@ -3988,21 +3986,21 @@ yyreduce:
   case 194:
 
 /* Line 1455 of yacc.c  */
-#line 1419 "c-exp.y"
+#line 1417 "c-exp.y"
     { (yyval.tval) = follow_types ((yyvsp[(2) - (2)].tval)); }
     break;
 
   case 195:
 
 /* Line 1455 of yacc.c  */
-#line 1421 "c-exp.y"
+#line 1419 "c-exp.y"
     { (yyval.tval) = follow_types ((yyvsp[(1) - (2)].tval)); }
     break;
 
   case 197:
 
 /* Line 1455 of yacc.c  */
-#line 1426 "c-exp.y"
+#line 1424 "c-exp.y"
     {
 		  (yyval.tsym).stoken.ptr = "int";
 		  (yyval.tsym).stoken.length = 3;
@@ -4015,7 +4013,7 @@ yyreduce:
   case 198:
 
 /* Line 1455 of yacc.c  */
-#line 1434 "c-exp.y"
+#line 1432 "c-exp.y"
     {
 		  (yyval.tsym).stoken.ptr = "long";
 		  (yyval.tsym).stoken.length = 4;
@@ -4028,7 +4026,7 @@ yyreduce:
   case 199:
 
 /* Line 1455 of yacc.c  */
-#line 1442 "c-exp.y"
+#line 1440 "c-exp.y"
     {
 		  (yyval.tsym).stoken.ptr = "short";
 		  (yyval.tsym).stoken.length = 5;
@@ -4041,14 +4039,14 @@ yyreduce:
   case 200:
 
 /* Line 1455 of yacc.c  */
-#line 1453 "c-exp.y"
+#line 1451 "c-exp.y"
     { check_parameter_typelist ((yyvsp[(1) - (1)].tvec)); }
     break;
 
   case 201:
 
 /* Line 1455 of yacc.c  */
-#line 1455 "c-exp.y"
+#line 1453 "c-exp.y"
     {
 			  VEC_safe_push (type_ptr, (yyvsp[(1) - (3)].tvec), NULL);
 			  check_parameter_typelist ((yyvsp[(1) - (3)].tvec));
@@ -4059,7 +4057,7 @@ yyreduce:
   case 202:
 
 /* Line 1455 of yacc.c  */
-#line 1464 "c-exp.y"
+#line 1462 "c-exp.y"
     {
 		  VEC (type_ptr) *typelist = NULL;
 		  VEC_safe_push (type_ptr, typelist, (yyvsp[(1) - (1)].tval));
@@ -4070,7 +4068,7 @@ yyreduce:
   case 203:
 
 /* Line 1455 of yacc.c  */
-#line 1470 "c-exp.y"
+#line 1468 "c-exp.y"
     {
 		  VEC_safe_push (type_ptr, (yyvsp[(1) - (3)].tvec), (yyvsp[(3) - (3)].tval));
 		  (yyval.tvec) = (yyvsp[(1) - (3)].tvec);
@@ -4080,7 +4078,7 @@ yyreduce:
   case 205:
 
 /* Line 1455 of yacc.c  */
-#line 1478 "c-exp.y"
+#line 1476 "c-exp.y"
     {
 		  push_type_stack ((yyvsp[(2) - (2)].type_stack));
 		  (yyval.tval) = follow_types ((yyvsp[(1) - (2)].tval));
@@ -4090,170 +4088,170 @@ yyreduce:
   case 206:
 
 /* Line 1455 of yacc.c  */
-#line 1485 "c-exp.y"
+#line 1483 "c-exp.y"
     { (yyval.tval) = follow_types ((yyvsp[(1) - (2)].tval)); }
     break;
 
   case 211:
 
 /* Line 1455 of yacc.c  */
-#line 1497 "c-exp.y"
+#line 1495 "c-exp.y"
     { insert_type (tp_const);
-			  insert_type (tp_volatile); 
+			  insert_type (tp_volatile);
 			}
     break;
 
   case 212:
 
 /* Line 1455 of yacc.c  */
-#line 1501 "c-exp.y"
+#line 1499 "c-exp.y"
     { insert_type (tp_const); }
     break;
 
   case 213:
 
 /* Line 1455 of yacc.c  */
-#line 1503 "c-exp.y"
+#line 1501 "c-exp.y"
     { insert_type (tp_volatile); }
     break;
 
   case 214:
 
 /* Line 1455 of yacc.c  */
-#line 1507 "c-exp.y"
+#line 1505 "c-exp.y"
     { (yyval.sval) = operator_stoken (" new"); }
     break;
 
   case 215:
 
 /* Line 1455 of yacc.c  */
-#line 1509 "c-exp.y"
+#line 1507 "c-exp.y"
     { (yyval.sval) = operator_stoken (" delete"); }
     break;
 
   case 216:
 
 /* Line 1455 of yacc.c  */
-#line 1511 "c-exp.y"
+#line 1509 "c-exp.y"
     { (yyval.sval) = operator_stoken (" new[]"); }
     break;
 
   case 217:
 
 /* Line 1455 of yacc.c  */
-#line 1513 "c-exp.y"
+#line 1511 "c-exp.y"
     { (yyval.sval) = operator_stoken (" delete[]"); }
     break;
 
   case 218:
 
 /* Line 1455 of yacc.c  */
-#line 1515 "c-exp.y"
+#line 1513 "c-exp.y"
     { (yyval.sval) = operator_stoken (" new[]"); }
     break;
 
   case 219:
 
 /* Line 1455 of yacc.c  */
-#line 1517 "c-exp.y"
+#line 1515 "c-exp.y"
     { (yyval.sval) = operator_stoken (" delete[]"); }
     break;
 
   case 220:
 
 /* Line 1455 of yacc.c  */
-#line 1519 "c-exp.y"
+#line 1517 "c-exp.y"
     { (yyval.sval) = operator_stoken ("+"); }
     break;
 
   case 221:
 
 /* Line 1455 of yacc.c  */
-#line 1521 "c-exp.y"
+#line 1519 "c-exp.y"
     { (yyval.sval) = operator_stoken ("-"); }
     break;
 
   case 222:
 
 /* Line 1455 of yacc.c  */
-#line 1523 "c-exp.y"
+#line 1521 "c-exp.y"
     { (yyval.sval) = operator_stoken ("*"); }
     break;
 
   case 223:
 
 /* Line 1455 of yacc.c  */
-#line 1525 "c-exp.y"
+#line 1523 "c-exp.y"
     { (yyval.sval) = operator_stoken ("/"); }
     break;
 
   case 224:
 
 /* Line 1455 of yacc.c  */
-#line 1527 "c-exp.y"
+#line 1525 "c-exp.y"
     { (yyval.sval) = operator_stoken ("%"); }
     break;
 
   case 225:
 
 /* Line 1455 of yacc.c  */
-#line 1529 "c-exp.y"
+#line 1527 "c-exp.y"
     { (yyval.sval) = operator_stoken ("^"); }
     break;
 
   case 226:
 
 /* Line 1455 of yacc.c  */
-#line 1531 "c-exp.y"
+#line 1529 "c-exp.y"
     { (yyval.sval) = operator_stoken ("&"); }
     break;
 
   case 227:
 
 /* Line 1455 of yacc.c  */
-#line 1533 "c-exp.y"
+#line 1531 "c-exp.y"
     { (yyval.sval) = operator_stoken ("|"); }
     break;
 
   case 228:
 
 /* Line 1455 of yacc.c  */
-#line 1535 "c-exp.y"
+#line 1533 "c-exp.y"
     { (yyval.sval) = operator_stoken ("~"); }
     break;
 
   case 229:
 
 /* Line 1455 of yacc.c  */
-#line 1537 "c-exp.y"
+#line 1535 "c-exp.y"
     { (yyval.sval) = operator_stoken ("!"); }
     break;
 
   case 230:
 
 /* Line 1455 of yacc.c  */
-#line 1539 "c-exp.y"
+#line 1537 "c-exp.y"
     { (yyval.sval) = operator_stoken ("="); }
     break;
 
   case 231:
 
 /* Line 1455 of yacc.c  */
-#line 1541 "c-exp.y"
+#line 1539 "c-exp.y"
     { (yyval.sval) = operator_stoken ("<"); }
     break;
 
   case 232:
 
 /* Line 1455 of yacc.c  */
-#line 1543 "c-exp.y"
+#line 1541 "c-exp.y"
     { (yyval.sval) = operator_stoken (">"); }
     break;
 
   case 233:
 
 /* Line 1455 of yacc.c  */
-#line 1545 "c-exp.y"
+#line 1543 "c-exp.y"
     { const char *op = "unknown";
 			  switch ((yyvsp[(2) - (2)].opcode))
 			    {
@@ -4298,119 +4296,119 @@ yyreduce:
   case 234:
 
 /* Line 1455 of yacc.c  */
-#line 1585 "c-exp.y"
+#line 1583 "c-exp.y"
     { (yyval.sval) = operator_stoken ("<<"); }
     break;
 
   case 235:
 
 /* Line 1455 of yacc.c  */
-#line 1587 "c-exp.y"
+#line 1585 "c-exp.y"
     { (yyval.sval) = operator_stoken (">>"); }
     break;
 
   case 236:
 
 /* Line 1455 of yacc.c  */
-#line 1589 "c-exp.y"
+#line 1587 "c-exp.y"
     { (yyval.sval) = operator_stoken ("=="); }
     break;
 
   case 237:
 
 /* Line 1455 of yacc.c  */
-#line 1591 "c-exp.y"
+#line 1589 "c-exp.y"
     { (yyval.sval) = operator_stoken ("!="); }
     break;
 
   case 238:
 
 /* Line 1455 of yacc.c  */
-#line 1593 "c-exp.y"
+#line 1591 "c-exp.y"
     { (yyval.sval) = operator_stoken ("<="); }
     break;
 
   case 239:
 
 /* Line 1455 of yacc.c  */
-#line 1595 "c-exp.y"
+#line 1593 "c-exp.y"
     { (yyval.sval) = operator_stoken (">="); }
     break;
 
   case 240:
 
 /* Line 1455 of yacc.c  */
-#line 1597 "c-exp.y"
+#line 1595 "c-exp.y"
     { (yyval.sval) = operator_stoken ("&&"); }
     break;
 
   case 241:
 
 /* Line 1455 of yacc.c  */
-#line 1599 "c-exp.y"
+#line 1597 "c-exp.y"
     { (yyval.sval) = operator_stoken ("||"); }
     break;
 
   case 242:
 
 /* Line 1455 of yacc.c  */
-#line 1601 "c-exp.y"
+#line 1599 "c-exp.y"
     { (yyval.sval) = operator_stoken ("++"); }
     break;
 
   case 243:
 
 /* Line 1455 of yacc.c  */
-#line 1603 "c-exp.y"
+#line 1601 "c-exp.y"
     { (yyval.sval) = operator_stoken ("--"); }
     break;
 
   case 244:
 
 /* Line 1455 of yacc.c  */
-#line 1605 "c-exp.y"
+#line 1603 "c-exp.y"
     { (yyval.sval) = operator_stoken (","); }
     break;
 
   case 245:
 
 /* Line 1455 of yacc.c  */
-#line 1607 "c-exp.y"
+#line 1605 "c-exp.y"
     { (yyval.sval) = operator_stoken ("->*"); }
     break;
 
   case 246:
 
 /* Line 1455 of yacc.c  */
-#line 1609 "c-exp.y"
+#line 1607 "c-exp.y"
     { (yyval.sval) = operator_stoken ("->"); }
     break;
 
   case 247:
 
 /* Line 1455 of yacc.c  */
-#line 1611 "c-exp.y"
+#line 1609 "c-exp.y"
     { (yyval.sval) = operator_stoken ("()"); }
     break;
 
   case 248:
 
 /* Line 1455 of yacc.c  */
-#line 1613 "c-exp.y"
+#line 1611 "c-exp.y"
     { (yyval.sval) = operator_stoken ("[]"); }
     break;
 
   case 249:
 
 /* Line 1455 of yacc.c  */
-#line 1615 "c-exp.y"
+#line 1613 "c-exp.y"
     { (yyval.sval) = operator_stoken ("[]"); }
     break;
 
   case 250:
 
 /* Line 1455 of yacc.c  */
-#line 1617 "c-exp.y"
+#line 1615 "c-exp.y"
     { char *name;
 			  long length;
 			  struct ui_file *buf = mem_fileopen ();
@@ -4427,49 +4425,49 @@ yyreduce:
   case 251:
 
 /* Line 1455 of yacc.c  */
-#line 1632 "c-exp.y"
+#line 1630 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
   case 252:
 
 /* Line 1455 of yacc.c  */
-#line 1633 "c-exp.y"
+#line 1631 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
   case 253:
 
 /* Line 1455 of yacc.c  */
-#line 1634 "c-exp.y"
+#line 1632 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].tsym).stoken; }
     break;
 
   case 254:
 
 /* Line 1455 of yacc.c  */
-#line 1635 "c-exp.y"
+#line 1633 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
   case 255:
 
 /* Line 1455 of yacc.c  */
-#line 1636 "c-exp.y"
+#line 1634 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
   case 256:
 
 /* Line 1455 of yacc.c  */
-#line 1637 "c-exp.y"
+#line 1635 "c-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].sval); }
     break;
 
   case 259:
 
 /* Line 1455 of yacc.c  */
-#line 1650 "c-exp.y"
+#line 1648 "c-exp.y"
     {
 			  struct field_of_this_result is_a_field_of_this;
 
@@ -4486,7 +4484,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 4491 "c-exp.c"
+#line 4489 "c-exp.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4698,7 +4696,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 1664 "c-exp.y"
+#line 1662 "c-exp.y"
 
 
 /* Like write_exp_string, but prepends a '~'.  */
@@ -4718,7 +4716,8 @@ write_destructor_name (struct parser_sta
 }
 
 /* Returns a stoken of the operator name given by OP (which does not
-   include the string "operator").  */ 
+   include the string "operator").  */
+
 static struct stoken
 operator_stoken (const char *op)
 {
@@ -4864,7 +4863,7 @@ parse_number (struct parser_state *par_s
     }
 
   /* Handle base-switching prefixes 0x, 0t, 0d, 0 */
-  if (p[0] == '0')
+  if (p[0] == '0' && len > 1)
     switch (p[1])
       {
       case 'x':
@@ -4997,7 +4996,7 @@ parse_number (struct parser_state *par_s
   else
     {
       int shift;
-      if (sizeof (ULONGEST) * HOST_CHAR_BIT 
+      if (sizeof (ULONGEST) * HOST_CHAR_BIT
 	  < gdbarch_long_long_bit (parse_gdbarch (par_state)))
 	/* A long long does not fit in a LONGEST.  */
 	shift = (sizeof (ULONGEST) * HOST_CHAR_BIT - 1);
@@ -5013,11 +5012,11 @@ parse_number (struct parser_state *par_s
    /* If the high bit of the worked out type is set then this number
       has to be unsigned. */
 
-   if (unsigned_p || (n & high_bit)) 
+   if (unsigned_p || (n & high_bit))
      {
        putithere->typed_val_int.type = unsigned_type;
      }
-   else 
+   else
      {
        putithere->typed_val_int.type = signed_type;
      }
@@ -5199,6 +5198,7 @@ c_parse_escape (const char **ptr, struct
    stored in VALUE.  This returns a token value, either STRING or
    CHAR, depending on what was parsed.  *HOST_CHARS is set to the
    number of host characters in the literal.  */
+
 static int
 parse_string_or_char (const char *tokptr, const char **outptr,
 		      struct typed_stoken *value, int *host_chars)
@@ -5448,15 +5448,13 @@ scan_macro_expansion (char *expansion)
   lexptr = copy;
 }
 
-
 static int
 scanning_macro_expansion (void)
 {
   return macro_original_text != 0;
 }
 
-
-static void 
+static void
 finished_macro_expansion (void)
 {
   /* There'd better be something to pop back to.  */
@@ -5467,7 +5465,6 @@ finished_macro_expansion (void)
   macro_original_text = 0;
 }
 
-
 static void
 scan_macro_cleanup (void *dummy)
 {
@@ -5794,7 +5791,6 @@ lex_one_token (struct parser_state *par_
 		 that we look ahead only when the '<' adjoins non-whitespace
 		 characters; for comparison expressions, e.g. "a < b > c",
 		 there must be spaces before the '<', etc. */
-               
 	      const char *p = find_template_name_end (tokstart + namelen);
 
 	      if (p)
@@ -5910,6 +5906,7 @@ static struct obstack name_obstack;
    in which lookups start; this can be NULL to mean the global scope.
    IS_QUOTED_NAME is non-zero if the name token was originally quoted
    in single quotes.  */
+
 static int
 classify_name (struct parser_state *par_state, const struct block *block,
 	       int is_quoted_name)
@@ -5924,7 +5921,7 @@ classify_name (struct parser_state *par_
      we can refer to it unconditionally below.  */
   memset (&is_a_field_of_this, 0, sizeof (is_a_field_of_this));
 
-  sym = lookup_symbol (copy, block, VAR_DOMAIN, 
+  sym = lookup_symbol (copy, block, VAR_DOMAIN,
 		       parse_language (par_state)->la_name_of_this
 		       ? &is_a_field_of_this : NULL);
 
@@ -5968,7 +5965,7 @@ classify_name (struct parser_state *par_
 	  symtab = lookup_symtab (copy);
 	  if (symtab)
 	    {
-	      yylval.bval = BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab),
+	      yylval.bval = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (symtab),
 					       STATIC_BLOCK);
 	      return FILENAME;
 	    }
@@ -5981,13 +5978,6 @@ classify_name (struct parser_state *par_
       return TYPENAME;
     }
 
-  yylval.tsym.type
-    = language_lookup_primitive_type_by_name (parse_language (par_state),
-					      parse_gdbarch (par_state),
-					      copy);
-  if (yylval.tsym.type != NULL)
-    return TYPENAME;
-
   /* See if it's an ObjC classname.  */
   if (parse_language (par_state)->la_language == language_objc && !sym)
     {
@@ -6059,7 +6049,7 @@ classify_inner_name (struct parser_state
      relative to the `this' pointer.  */
   if (yylval.ssym.sym == NULL)
     {
-      struct type *base_type = find_type_baseclass_by_name (type, copy);
+      struct type *base_type = cp_find_type_baseclass_by_name (type, copy);
 
       if (base_type != NULL)
 	{
@@ -6078,7 +6068,7 @@ classify_inner_name (struct parser_state
 	 named COPY when we really wanted a base class of the same name.
 	 Double-check this case by looking for a base class.  */
       {
-	struct type *base_type = find_type_baseclass_by_name (type, copy);
+	struct type *base_type = cp_find_type_baseclass_by_name (type, copy);
 
 	if (base_type != NULL)
 	  {
@@ -6089,7 +6079,7 @@ classify_inner_name (struct parser_state
       return ERROR;
 
     case LOC_TYPEDEF:
-      yylval.tsym.type = SYMBOL_TYPE (yylval.ssym.sym);;
+      yylval.tsym.type = SYMBOL_TYPE (yylval.ssym.sym);
       return TYPENAME;
 
     default:
@@ -6104,11 +6094,12 @@ classify_inner_name (struct parser_state
    problem in our parsing approach, where the parser could not
    distinguish between qualified names and qualified types at the
    right point.
-   
+
    This approach is still not ideal, because it mishandles template
    types.  See the comment in lex_one_token for an example.  However,
    this is still an improvement over the earlier approach, and will
    suffice until we move to better parsing technology.  */
+
 static int
 yylex (void)
 {
@@ -6221,7 +6212,7 @@ yylex (void)
 	  current.token = classification;
 
 	  last_was_coloncolon = 0;
-	  
+
 	  if (classification == NAME)
 	    break;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-exp.y ./gdb/c-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-exp.y	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/c-exp.y	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* YACC parser for C expressions, for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,11 +32,10 @@
    with include files (<malloc.h> and <stdlib.h> for example) just became
    too messy, particularly when such includes can be inserted at random
    times by the parser generator.  */
-   
+
 %{
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
@@ -50,7 +49,6 @@
 #include "block.h"
 #include "cp-support.h"
 #include "dfp.h"
-#include "gdb_assert.h"
 #include "macroscope.h"
 #include "objc-lang.h"
 #include "typeprint.h"
@@ -158,7 +156,7 @@ static int type_aggregate_p (struct type
     struct ttype tsym;
     struct symtoken ssym;
     int voidval;
-    struct block *bval;
+    const struct block *bval;
     enum exp_opcode opcode;
 
     struct stoken_vector svec;
@@ -233,7 +231,7 @@ static void c_print_token (FILE *file, i
    E.g. "c" when input_radix==16.  Depending on the parse, it will be
    turned into a name or into a number.  */
 
-%token <ssym> NAME_OR_INT 
+%token <ssym> NAME_OR_INT
 
 %token OPERATOR
 %token STRUCT CLASS UNION ENUM SIZEOF UNSIGNED COLONCOLON
@@ -277,7 +275,7 @@ static void c_print_token (FILE *file, i
 %left '*' '/' '%'
 %right UNARY INCREMENT DECREMENT
 %right ARROW ARROW_STAR '.' DOT_STAR '[' OBJC_LBRAC '('
-%token <ssym> BLOCKNAME 
+%token <ssym> BLOCKNAME
 %token <bval> FILENAME
 %type <bval> block
 %left COLONCOLON
@@ -544,7 +542,7 @@ msgarg	:	name ':' exp
 			{ add_msglist(0, 0);   }
 	;
 
-exp	:	exp '(' 
+exp	:	exp '('
 			/* This is to save the value of arglist_len
 			   being accumulated by an outer function call.  */
 			{ start_arglist (); }
@@ -717,7 +715,7 @@ exp	:	exp OROR exp
 exp	:	exp '?' exp ':' exp	%prec '?'
 			{ write_exp_elt_opcode (pstate, TERNOP_COND); }
 	;
-			  
+
 exp	:	exp '=' exp
 			{ write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
 	;
@@ -905,7 +903,7 @@ exp     :	NSSTRING	/* ObjC NextStep NSSt
 	;
 
 /* C++.  */
-exp     :       TRUEKEYWORD    
+exp     :       TRUEKEYWORD
                         { write_exp_elt_opcode (pstate, OP_LONG);
                           write_exp_elt_type (pstate,
 					  parse_type (pstate)->builtin_bool);
@@ -913,7 +911,7 @@ exp     :       TRUEKEYWORD    
                           write_exp_elt_opcode (pstate, OP_LONG); }
 	;
 
-exp     :       FALSEKEYWORD   
+exp     :       FALSEKEYWORD
                         { write_exp_elt_opcode (pstate, OP_LONG);
                           write_exp_elt_type (pstate,
 					  parse_type (pstate)->builtin_bool);
@@ -1067,7 +1065,7 @@ variable:	name_not_typename
 			      if (symbol_read_needs_frame (sym))
 				{
 				  if (innermost_block == 0
-				      || contained_in (block_found, 
+				      || contained_in (block_found,
 						       innermost_block))
 				    innermost_block = block_found;
 				}
@@ -1125,10 +1123,10 @@ cv_with_space_id : const_or_volatile spa
 	;
 
 const_or_volatile_or_space_identifier_noopt: cv_with_space_id
-	| const_or_volatile_noopt 
+	| const_or_volatile_noopt
 	;
 
-const_or_volatile_or_space_identifier: 
+const_or_volatile_or_space_identifier:
 		const_or_volatile_or_space_identifier_noopt
 	|
 	;
@@ -1137,7 +1135,7 @@ ptr_operator:
 		ptr_operator '*'
 			{ insert_type (tp_pointer); }
 		const_or_volatile_or_space_identifier
-	|	'*' 
+	|	'*'
 			{ insert_type (tp_pointer); }
 		const_or_volatile_or_space_identifier
 	|	'&'
@@ -1157,7 +1155,7 @@ ptr_operator_ts: ptr_operator
 
 abs_decl:	ptr_operator_ts direct_abs_decl
 			{ $$ = append_type_stack ($2, $1); }
-	|	ptr_operator_ts 
+	|	ptr_operator_ts
 	|	direct_abs_decl
 	;
 
@@ -1316,7 +1314,7 @@ typebase  /* Implements (approximately):
 			{ $$ = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "short"); }
-	|	SHORT UNSIGNED 
+	|	SHORT UNSIGNED
 			{ $$ = lookup_unsigned_typename (parse_language (pstate),
 							 parse_gdbarch (pstate),
 							 "short"); }
@@ -1355,12 +1353,12 @@ typebase  /* Implements (approximately):
 					      expression_context_block); }
 	|	CLASS COMPLETE
 			{
-			  mark_completion_tag (TYPE_CODE_CLASS, "", 0);
+			  mark_completion_tag (TYPE_CODE_STRUCT, "", 0);
 			  $$ = NULL;
 			}
 	|	CLASS name COMPLETE
 			{
-			  mark_completion_tag (TYPE_CODE_CLASS, $2.ptr,
+			  mark_completion_tag (TYPE_CODE_STRUCT, $2.ptr,
 					       $2.length);
 			  $$ = NULL;
 			}
@@ -1410,14 +1408,14 @@ typebase  /* Implements (approximately):
 						       "int"); }
                 /* It appears that this rule for templates is never
                    reduced; template recognition happens by lookahead
-                   in the token processing code in yylex. */         
+                   in the token processing code in yylex. */
 	|	TEMPLATE name '<' type '>'
 			{ $$ = lookup_template_type(copy_name($2), $4,
 						    expression_context_block);
 			}
-	| const_or_volatile_or_space_identifier_noopt typebase 
+	| const_or_volatile_or_space_identifier_noopt typebase
 			{ $$ = follow_types ($2); }
-	| typebase const_or_volatile_or_space_identifier_noopt 
+	| typebase const_or_volatile_or_space_identifier_noopt
 			{ $$ = follow_types ($1); }
 	;
 
@@ -1493,9 +1491,9 @@ const_and_volatile: 	CONST_KEYWORD VOLAT
 	| 		VOLATILE_KEYWORD CONST_KEYWORD
 	;
 
-const_or_volatile_noopt:  	const_and_volatile 
+const_or_volatile_noopt:  	const_and_volatile
 			{ insert_type (tp_const);
-			  insert_type (tp_volatile); 
+			  insert_type (tp_volatile);
 			}
 	| 		CONST_KEYWORD
 			{ insert_type (tp_const); }
@@ -1680,7 +1678,8 @@ write_destructor_name (struct parser_sta
 }
 
 /* Returns a stoken of the operator name given by OP (which does not
-   include the string "operator").  */ 
+   include the string "operator").  */
+
 static struct stoken
 operator_stoken (const char *op)
 {
@@ -1826,7 +1825,7 @@ parse_number (struct parser_state *par_s
     }
 
   /* Handle base-switching prefixes 0x, 0t, 0d, 0 */
-  if (p[0] == '0')
+  if (p[0] == '0' && len > 1)
     switch (p[1])
       {
       case 'x':
@@ -1959,7 +1958,7 @@ parse_number (struct parser_state *par_s
   else
     {
       int shift;
-      if (sizeof (ULONGEST) * HOST_CHAR_BIT 
+      if (sizeof (ULONGEST) * HOST_CHAR_BIT
 	  < gdbarch_long_long_bit (parse_gdbarch (par_state)))
 	/* A long long does not fit in a LONGEST.  */
 	shift = (sizeof (ULONGEST) * HOST_CHAR_BIT - 1);
@@ -1975,11 +1974,11 @@ parse_number (struct parser_state *par_s
    /* If the high bit of the worked out type is set then this number
       has to be unsigned. */
 
-   if (unsigned_p || (n & high_bit)) 
+   if (unsigned_p || (n & high_bit))
      {
        putithere->typed_val_int.type = unsigned_type;
      }
-   else 
+   else
      {
        putithere->typed_val_int.type = signed_type;
      }
@@ -2161,6 +2160,7 @@ c_parse_escape (const char **ptr, struct
    stored in VALUE.  This returns a token value, either STRING or
    CHAR, depending on what was parsed.  *HOST_CHARS is set to the
    number of host characters in the literal.  */
+
 static int
 parse_string_or_char (const char *tokptr, const char **outptr,
 		      struct typed_stoken *value, int *host_chars)
@@ -2410,15 +2410,13 @@ scan_macro_expansion (char *expansion)
   lexptr = copy;
 }
 
-
 static int
 scanning_macro_expansion (void)
 {
   return macro_original_text != 0;
 }
 
-
-static void 
+static void
 finished_macro_expansion (void)
 {
   /* There'd better be something to pop back to.  */
@@ -2429,7 +2427,6 @@ finished_macro_expansion (void)
   macro_original_text = 0;
 }
 
-
 static void
 scan_macro_cleanup (void *dummy)
 {
@@ -2756,7 +2753,6 @@ lex_one_token (struct parser_state *par_
 		 that we look ahead only when the '<' adjoins non-whitespace
 		 characters; for comparison expressions, e.g. "a < b > c",
 		 there must be spaces before the '<', etc. */
-               
 	      const char *p = find_template_name_end (tokstart + namelen);
 
 	      if (p)
@@ -2872,6 +2868,7 @@ static struct obstack name_obstack;
    in which lookups start; this can be NULL to mean the global scope.
    IS_QUOTED_NAME is non-zero if the name token was originally quoted
    in single quotes.  */
+
 static int
 classify_name (struct parser_state *par_state, const struct block *block,
 	       int is_quoted_name)
@@ -2886,7 +2883,7 @@ classify_name (struct parser_state *par_
      we can refer to it unconditionally below.  */
   memset (&is_a_field_of_this, 0, sizeof (is_a_field_of_this));
 
-  sym = lookup_symbol (copy, block, VAR_DOMAIN, 
+  sym = lookup_symbol (copy, block, VAR_DOMAIN,
 		       parse_language (par_state)->la_name_of_this
 		       ? &is_a_field_of_this : NULL);
 
@@ -2930,7 +2927,7 @@ classify_name (struct parser_state *par_
 	  symtab = lookup_symtab (copy);
 	  if (symtab)
 	    {
-	      yylval.bval = BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab),
+	      yylval.bval = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (symtab),
 					       STATIC_BLOCK);
 	      return FILENAME;
 	    }
@@ -2943,13 +2940,6 @@ classify_name (struct parser_state *par_
       return TYPENAME;
     }
 
-  yylval.tsym.type
-    = language_lookup_primitive_type_by_name (parse_language (par_state),
-					      parse_gdbarch (par_state),
-					      copy);
-  if (yylval.tsym.type != NULL)
-    return TYPENAME;
-
   /* See if it's an ObjC classname.  */
   if (parse_language (par_state)->la_language == language_objc && !sym)
     {
@@ -3021,7 +3011,7 @@ classify_inner_name (struct parser_state
      relative to the `this' pointer.  */
   if (yylval.ssym.sym == NULL)
     {
-      struct type *base_type = find_type_baseclass_by_name (type, copy);
+      struct type *base_type = cp_find_type_baseclass_by_name (type, copy);
 
       if (base_type != NULL)
 	{
@@ -3040,7 +3030,7 @@ classify_inner_name (struct parser_state
 	 named COPY when we really wanted a base class of the same name.
 	 Double-check this case by looking for a base class.  */
       {
-	struct type *base_type = find_type_baseclass_by_name (type, copy);
+	struct type *base_type = cp_find_type_baseclass_by_name (type, copy);
 
 	if (base_type != NULL)
 	  {
@@ -3051,7 +3041,7 @@ classify_inner_name (struct parser_state
       return ERROR;
 
     case LOC_TYPEDEF:
-      yylval.tsym.type = SYMBOL_TYPE (yylval.ssym.sym);;
+      yylval.tsym.type = SYMBOL_TYPE (yylval.ssym.sym);
       return TYPENAME;
 
     default:
@@ -3066,11 +3056,12 @@ classify_inner_name (struct parser_state
    problem in our parsing approach, where the parser could not
    distinguish between qualified names and qualified types at the
    right point.
-   
+
    This approach is still not ideal, because it mishandles template
    types.  See the comment in lex_one_token for an example.  However,
    this is still an improvement over the earlier approach, and will
    suffice until we move to better parsing technology.  */
+
 static int
 yylex (void)
 {
@@ -3183,7 +3174,7 @@ yylex (void)
 	  current.token = classification;
 
 	  last_was_coloncolon = 0;
-	  
+
 	  if (classification == NAME)
 	    break;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ChangeLog	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ChangeLog	2015-01-20 02:05:38.000000000 +0000
@@ -1,9578 +1,353 @@
-2014-12-31  Joel Brobecker  <brobecker@adacore.com>
+2015-01-19  Eli Zaretskii  <eliz@gnu.org>
 
-	PR backtrace/16215:
-	* dwarf2-frame.c (dwarf2_frame_cfa): Remove the restriction
-	the frame unwinder must either be the dwarf2_frame_unwind
-	or the dwarf2_tailcall_frame_unwind.  Verify that this_frame's
-	stack_addr is valid before calling get_frame_base.  Throw
-	an error if not valid.
-
-2014-12-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	PR symtab/17642
-	* gdbtypes.c (resolve_dynamic_type_internal): Apply check_typedef to
-	TYPE if not TYPE_CODE_TYPEDEF.
-
-2014-12-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* gdbtypes.c (resolve_dynamic_type_internal): Reindent the code.
-
-2014-10-29  Joel Brobecker  <brobecker@adacore.com>
-
-	* version.in: Set GDB version number to 7.8.1.DATE-cvs.
-
-2014-10-29  Joel Brobecker  <brobecker@adacore.com>
-
-	GDB 7.8.1 released.
-
-2014-10-29  Joel Brobecker  <brobecker@adacore.com>
-
-	* version.in: Set GDB version number to 7.8.1.
-
-2014-10-29  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/17408
-	* infrun.c (switch_back_to_stepped_thread): Use currently_stepping
-	instead of assuming a thread with a stepping range is always
-	stepping.
-
-2014-10-29  Pedro Alves  <palves@redhat.com>
-
-	PR python/17372
-	* event-top.c (change_line_handler): Call
-	gdb_rl_callback_handler_remove instead of
-	rl_callback_handler_remove.
-	(callback_handler_installed): New global.
-	(gdb_rl_callback_handler_remove, gdb_rl_callback_handler_install)
-	(gdb_rl_callback_handler_reinstall): New functions.
-	(display_gdb_prompt): Call gdb_rl_callback_handler_remove and
-	gdb_rl_callback_handler_install instead of
-	rl_callback_handler_remove and rl_callback_handler_install.
-	(gdb_disable_readline): Call gdb_rl_callback_handler_remove
-	instead of rl_callback_handler_remove.
-	* event-top.h (gdb_rl_callback_handler_remove)
-	(gdb_rl_callback_handler_install)
-	(gdb_rl_callback_handler_reinstall): New declarations.
-	* infrun.c (reinstall_readline_callback_handler_cleanup): New
-	cleanup function.
-	(fetch_inferior_event): Install it.
-	* top.c (gdb_readline_wrapper_line) Call
-	gdb_rl_callback_handler_remove instead of
-	rl_callback_handler_remove.
-	(gdb_readline_wrapper_cleanup): Don't call
-	rl_callback_handler_install.
-
-2014-10-17  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/17471
-	* infcmd.c (strip_bg_char): Change prototype and rewrite.  Now
-	returns a copy of the input.
-	(run_command_1, continue_command, step_1, jump_command)
-	(signal_command, until_command, advance_command, finish_command)
-	(attach_command): Adjust and install a cleanup to free the
-	stripped args.
-
-2014-10-17  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/17300
-	* infcmd.c (continue_1): If continuing all threads in the
-	foreground, make sure the inferior's terminal settings are put in
-	effect.
-
-2014-10-17  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/17472
-	* annotate.c (annotate_breakpoints_invalid): Use
-	target_terminal_our_for_output instead of target_terminal_ours.
-	Give back the terminal to the target.
-	(annotate_frames_invalid): Likewise.
-
-2014-10-17  Pedro Alves  <palves@redhat.com>
-
-	* target.c (enum terminal_state): New enum.
-	(terminal_state): New global.
-	(target_terminal_init): New function.
-	(target_terminal_inferior): Skip if inferior already owns the
-	terminal.
-	(target_terminal_ours, target_terminal_ours_for_output): New
-	functions.
-	* target.h (target_terminal_init): Convert to function prototype.
-	(target_terminal_ours_for_output): Convert to function prototype
-	and tweak comment.
-	(target_terminal_ours): Convert to function prototype and tweak
-	comment.
-	* windows-nat.c (do_initial_windows_stuff): Call
-	target_terminal_init instead of child_terminal_init_with_pgrp.
-
-2014-10-15  Doug Evans  <dje@google.com>
-	    Walfred Tedeschi  <walfred.tedeschi@intel.com>
-
-	PR python/17364
-	* python/lib/gdb/__init__.py (packages): Add "printer".
-	* python/lib/gdb/command/bound_registers.py: Moved to ...
-	* python/lib/gdb/printer/bound_registers.py: ... here.
-	Add printer to global set of builtin printers.  Rename printer from
-	"bound" to "mpx_bound128".
-	* python/lib/gdb/printing.py (_builtin_pretty_printers): New global,
-	registered as global "builtin" printer.
-	(add_builtin_pretty_printer): New function.
-	* data-directory/Makefile.in (PYTHON_FILE_LIST): Update, and add
-	gdb/printer/__init__.py.
-
-2014-10-01  Pedro Alves  <palves@redhat.com>
-
-	* features/aarch64-core.xml (cpsr): Change back to 32-bit.
-	* features/aarch64.c: Regenerate.
-
-2014-09-11  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/17347
-	* main.c: Include "infrun.h".
-	(catch_command_errors, catch_command_errors_const): Wait for the
-	foreground command to complete.
-	* top.c (maybe_wait_sync_command_done): New function, factored out
-	from ...
-	(maybe_wait_sync_command_done): ... here.
-	* top.h (maybe_wait_sync_command_done): New declaration.
-
-2014-09-09  Doug Evans  <xdje42@gmail.com>
-
-	PR guile/17367
-	* acinclude.m4 (GDB_GUILE_PROGRAM_NAMES): Pass guile version as
-	last parameter to pkg-config, not first.
-	* configure.ac: Pass --with-guile provided pkg-config path to
-	GDB_GUILE_PROGRAM_NAMES.
+	* configure.ac [*mingw32*]: Only add windows-termcap.o to
+	CONFIG_OBS if not building with a curses library.
 	* configure: Regenerate.
 
-2014-09-09  Doug Evans  <xdje42@gmail.com>
-
-	PR 17247
-	* guile.c: #include <signal.h>.
-	(_initialize_guile): Block SIGCHLD while initializing Guile.
-
-	Replaces the following, which is reverted.
-
-	2014-07-26  Doug Evans  <xdje42@gmail.com>
-
-	PR 17185
-	* configure.ac: Add check for header gc/gc.h.
-	Add check for function setenv.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-	* guile/guile.c (_initialize_guile): Add workaround for libgc 7.4.0.
-
-2014-09-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	PR python/17355
-	* python/py-framefilter.c (py_print_single_arg): Handle NULL FA->VAL.
-	Fix goto out of TRY_CATCH.
-
-2014-08-30  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* python/lib/gdb/command/xmethods.py (set_xm_status1): Use the
-	'items'	methods instead of 'iteritems' method on dictionaries.
-
-2014-08-27  Yao Qi  <yao@codesourcery.com>
-
-	* ctf.c (CTF_FILE_MIN_SIZE): Remove.
-	(ctf_end): Remove code.
-
-2014-08-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* linux-tdep.c (linux_corefile_thread_callback): Ignore THREAD_EXITED.
-	(linux_make_corefile_notes): call update_thread_list, protected against
-	exceptions.
-
-2014-08-15  Eli Zaretskii  <eliz@gnu.org>
-
-	* dcache.h: Include target.h, to avoid compile time warnings.
-
-2014-08-15  Joel Brobecker  <brobecker@adacore.com>
-
-	* gdbarch.sh: #include "frame.h" in gdbarch.h.  Delete "struct
-	frame_info" partial declaration.
-	* gdbarch.h: Regenerate.
-
-2014-08-13  Yao Qi  <yao@codesourcery.com>
-
-	PR build/17104
-	* configure.ac: Use local variable 'pos'.
-	* configure: Regenerated.
-
-2014-08-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* NEWS (Changes in GDB-4.0): Move Intel MPX and Intel AVX-512 items ...
-	(Changes in GDB 7.8): ... here.
-
-2014-07-29  Joel Brobecker  <brobecker@adacore.com>
-
-	* version.in: Set GDB version number to 7.8.0.DATE-cvs.
-
-2014-07-29  Joel Brobecker  <brobecker@adacore.com>
-
-	GDB 7.8 released.
-
-2014-07-29  Joel Brobecker  <brobecker@adacore.com>
-
-	* version.in: Set GDB version number to 7.8.
-
-2014-07-29  Joel Brobecker  <brobecker@adacore.com>
-
-	* NEWS: Change "Changes since GDB 7.7" into "Changes in GDB 7.8".
-
-2014-07-29  Yao Qi  <yao@codesourcery.com>
-
-	PR gdb/17206
-	* infcmd.c (until_next_command): Set step_range_end to PC + 1.
-
-2014-07-28  Doug Evans  <xdje42@gmail.com>
-
-	PR guile/17203
-	* guile/scm-param.c (pascm_parameter_defined_p): New function.
-	(gdbscm_register_parameter_x): Call it.  Raise error for pre-existing
-	parameters.
-
-2014-07-28  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
-
-	* ppc-linux-nat.c (ppc_linux_can_use_hw_breakpoint): Report no hardware
-	breakpoint support correctly.
-
-2014-07-26  Ludovic CourtÃ¨s  <ludo@gnu.org>
-	    Doug Evans  <xdje42@gmail.com>
-
-	PR guile/17146
-	* acinclude.m4 (GDB_GUILE_PROGRAM_NAMES): New macro.
-	(GDB_GUILD_TARGET_FLAG, GDB_TRY_GUILD): New macros.
-	* configure.ac: Try to use guild to compile an scm file, if it fails
-	then disable guile support.
-	* configure: Regenerate.
-	* data-directory/Makefile.in (GUILE_SOURCE_FILES): Renamed from
-	GUILE_FILE_LIST.
-	(GUILE_COMPILED_FILES): New variable.
-	(GUILE_FILES) Update.
-	(GUILD, GUILD_TARGET_FLAG, GUILD_COMPILE_FLAGS): New variables.
-	(stamp-guile): Compile scm files.
-	* guile/guile.c (boot_guile_support): New function.
-	(standard_throw_args_p): New function.
-	(print_standard_throw_error, print_throw_error): New functions.
-	(handle_boot_error): New function.
-	(initialize_scheme_side): Rewrite to call boot_guile_support.
-	* guile/lib/gdb/boot.scm: Update %load-compiled-path.  Load gdb.go.
-	* guile/lib/gdb/init.scm (%silence-compiler-warnings%): New function.
-
-2014-07-26  Ludovic CourtÃ¨s  <ludo@gnu.org>
-	    Doug Evans  <xdje42@gmail.com>
-
-	PR guile/17146
-	* data-directory/Makefile.in (GUILE_FILES): Add support.scm.
-	* guile/lib/gdb/support.scm: New file.
-	* guile/guile.c (gdbscm_init_module_name): Change to "gdb".
-	* guile/lib/gdb.scm: Load gdb/init.scm as an include file.
-	All uses updated.
-	* guile/lib/gdb/init.scm (SCM_ARG1, SCM_ARG2): Moved to support.scm.
-	All uses updated.
-	(%assert-type): Ditto, and renamed to assert-type.
-	(%exception-print-style): Delete.
-
-2014-07-26  Doug Evans  <xdje42@gmail.com>
-
-	PR build/17105
-	* configure.ac: Add AM_CONDITIONALs for HAVE_PYTHON, HAVE_GUILE.
-	* configure: Regenerate.
-	* data-directory/Makefile.in (PYTHON_FILE_LIST): Renamed from
-	PYTHON_FILES.
-	(PYTHON_FILES): New variable.
-	(GUILE_FILE_LIST): Renamed from GUILE_FILES.
-	(GUILE_FILES): New variable.
-	(stamp-python, install-python, uninstall-python): Handle empty
-	file list.
-	(stamp-guile, install-guile, uninstall-guile): Ditto.
-
-2014-07-26  Doug Evans  <xdje42@gmail.com>
-
-	PR guile/17177
-	* guile/lib/gdb.scm (pretty-printers): Export.
-	(set-pretty-printers!): Export.
-	* guile/lib/gdb/printing.scm (gdb module): Update.
-	(prepend-pretty-printer!, append-pretty-printer!): Update.
-	* guile/scm-pretty-print.c (pretty_printer_list_name): Delete.
-	(pretty_printer_list_var): Delete.
-	(pretty_printer_list): New static global.
-	(gdbscm_pretty_printers): New function.
-	(gdbscm_set_pretty_printers_x): New function.
-	(ppscm_find_pretty_printer_from_gdb): Update.
-	(pretty_printer_functions): Add pretty-printers, set-pretty-printers!.
-	(gdbscm_initialize_pretty_printers): Update.
-
-2014-07-26  Doug Evans  <xdje42@gmail.com>
-
-	PR 17185
-	* configure.ac: Add check for header gc/gc.h.
-	Add check for function setenv.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-	* guile/guile.c (_initialize_guile): Add workaround for libgc 7.4.0.
-
-2014-07-24  Pedro Alves  <palves@redhat.com>
-
-	* tui/tui-io.c (tui_prep_terminal): Handle NULL rl_prompt.
-
-2014-07-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* stack.c (read_frame_arg): Verify value_optimized_out before calling
-	value_available_contents_eq.
-
-2014-07-22  Pedro Alves  <palves@redhat.com>
-
-	* value.c (allocate_optimized_out_value): Don't mark value as
-	non-lazy.
-
-2014-07-20  Doug Evans  <dje@google.com>
-
-	PR server/17147
-	* remote.c (putpkt_binary): Add text to error message.
-
-2014-07-18  Joel Brobecker  <brobecker@adacore.com>
-
-	* version.in: Set GDB version number to 7.7.91.DATE-cvs.
-
-2014-07-18  Joel Brobecker  <brobecker@adacore.com>
-
-	GDB 7.7.91 released.
-
-2014-07-18  Joel Brobecker  <brobecker@adacore.com>
-
-	* version.in: Set GDB version number to 7.7.91.
-
-2014-07-17  Doug Evans  <dje@google.com>
-
-	PR gdb/17170
-	* maint.c (count_symtabs_and_blocks): Handle NULL
-	current_program_space.
-	(report_command_stats): Check global enabled flag in addition to
-	recorded enabled flag.
-	(make_command_stats_cleanup): Handle msg_type == 0, startup.
-
-2014-07-14  Pedro Alves  <palves@redhat.com>
-
-	* utils.c (prompt_for_continue): Call target_terminal_ours.
-
-2014-07-14  Pedro Alves  <palves@redhat.com>
-
-	* inf-loop.c (inferior_event_handler): Use TRY_CATCH instead of
-	catch_errors.  Don't re-enable stdin or notify observers where,
-	and rethrow error.
-	(fetch_inferior_event_wrapper): Delete.
-
-2014-07-14  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/17072
-	* top.c: Include "inf-loop.h".
-	(struct gdb_readline_wrapper_cleanup) <target_is_async_orig>: New
-	field.
-	(gdb_readline_wrapper_cleanup): Make the target async again, if it
-	was async before.
-	(gdb_readline_wrapper): Store whether the target is async, and
-	make it sync.
-
-2014-07-14  Pedro Alves  <palves@redhat.com>
+	* windows-termcap.c: Include defs.h.  Make the whole body empty if
+	either one of HAVE_CURSES_H or HAVE_NCURSES_H or
+	HAVE_NCURSES_NCURSES_H is defined.
 
-	PR gdb/17072
-	* top.c (gdb_readline_wrapper_line): Tweak comment.
-	(gdb_readline_wrapper_cleanup): If readline is enabled, reinstall
-	the input handler callback.
+2015-01-16  Eli Zaretskii  <eliz@gnu.org>
 
-2014-07-14  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/17072
-	* main.c: Include event-top.h.
-	(handle_command_errors): New function.
-	(catch_command_errors, catch_command_errors_const): Use it.
-
-2014-07-14  Pedro Alves  <palves@redhat.com>
-
-	* exceptions.c (catch_command_errors, catch_command_errors_const):
-	Moved to main.c.
-	* exceptions.h (catch_command_errors_ftype)
-	(catch_command_errors_const_ftype): Moved to main.c.
-	(catch_command_errors, catch_command_errors_const): Delete
-	declarations.
-	* main.c (catch_command_errors_ftype)
-	(catch_command_errors_const_ftype): Moved here from exceptions.h.
-	(catch_command_errors, catch_command_errors_const)): Moved here
-	from exceptions.c and make static.
-
-2014-07-14  Pedro Alves  <palves@redhat.com>
-
-	* exceptions.c (print_any_exception): Delete.
-	(catch_exceptions_with_msg): Use exception_print instead of
-	print_any_exception.
-	(catch_errors): Use exception_fprintf instead of
-	print_any_exception.
-	(catch_command_errors, catch_command_errors_const): Use
-	exception_print instead of print_any_exception.
-
-2014-07-14  Pedro Alves  <palves@redhat.com>
-
-	* infcall.c (run_inferior_call): Set 'sync_execution' while
-	running the inferior call.
-
-2014-07-14  Tom Tromey  <tromey@redhat.com>
-
-	PR exp/17106:
-	* gdbtypes.c (is_dynamic_type_internal): New function, from
-	is_dynamic_type.
-	(is_dynamic_type): Rewrite.
-	(resolve_dynamic_union): Use resolve_dynamic_type_internal.
-	(resolve_dynamic_struct): Likewise.
-	(resolve_dynamic_type_internal): New function, from
-	resolve_dynamic_type.
-	(resolve_dynamic_type): Rewrite.
-
-2014-07-14  Tom Tromey  <tromey@redhat.com>
-
-	* target.c (target_require_runnable): Also check record_stratum.
-	Update comment.
+	* tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New
+	functions.
+	(_initialize_tui_win) <border-kind, border-mode>:
+	<active-border-mode>: Use tui_set_var_cmd as the "set" function.
+	* tui/tui-win.h: Add prototype for tui_rehighlight_all.
 
-2014-07-09  Pedro Alves  <palves@redhat.com>
+2015-01-16  Eli Zaretskii  <eliz@gnu.org>
 
-	* infcmd.c (attach_command_post_wait): Don't call
-	target_terminal_inferior here.
-	(attach_command): Call it here instead.
+	* tui/tui-win.c (tui_scroll_left_command, tui_scroll_right_command):
+	Doc fix.
+	(tui_set_tab_width_command): Delete and recreate the source and
+	the disassembly windows, to show the effect of the changed tab
+	size immediately.
 
-2014-07-07  Pedro Alves  <palves@redhat.com>
+	* tui/tui-data.h (LINE_PREFIX): Make shorter
+	(MAX_PID_WIDTH): Enlarge from 14 to 19, to leave enough space for
+	"Thread NNNNN.XXXX" thread ID notation on Windows.
 
-	PR gdb/17096
-	* remote.c (async_handle_remote_sigint)
-	(async_handle_remote_sigint_twice): Call
-	gdb_call_async_signal_handler instead of
-	mark_async_signal_handler.
+2015-01-14  Pedro Alves  <palves@redhat.com>
 
-2014-06-26  Tom Tromey  <tromey@redhat.com>
+	PR gdb/17525
+	* breakpoint.c: Include "interps.h".
+	(bpstat_do_actions_1): Also check whether the interpreter is
+	async.
 
-	PR symtab/16902:
-	* dwarf2read.c (fixup_go_packaging, dwarf2_compute_name)
-	(dwarf2_physname, read_partial_die)
-	(guess_partial_die_structure_name, fixup_partial_die)
-	(guess_full_die_structure_name, anonymous_struct_prefix)
-	(dwarf2_name): Use per-BFD obstack.
+2015-01-14  Pedro Alves  <palves@redhat.com>
 
-2014-06-23  Siva Chandra Reddy  <sivachandra@google.com>
+	PR cli/17828
+	* infrun.c (reinstall_readline_callback_handler_cleanup): Don't
+	reinstall if the interpreter is sync.
 
-	* python/lib/gdb/command/xmethods.py
-	(get_method_matchers_in_loci):  Lookup xmethod matchers in the
-	current progspace only if the string "progspace" matches LOCUS_RE.
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
 
-2014-06-23  Pedro Alves  <palves@redhat.com>
+	* version.in: Set GDB version number to 7.8.90.DATE-cvs.
 
-	* amd64-linux-nat.c (amd64_linux_prepare_to_resume): Clear
-	DR_CONTROL before setting DR0..DR3.
-	* i386-linux-nat.c (i386_linux_prepare_to_resume): Likewise.
-	* i386-nat.c (i386_remove_aligned_watchpoint): Clear all bits of
-	DR_CONTROL related to the debug register slot being disabled.  If
-	all slots are vacant, clear local slowdown as well, and assert
-	DR_CONTROL is 0.
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
 
-2014-06-19  Pedro Alves  <palves@redhat.com>
+	GDB 7.8.90 released.
 
-	* gdbthread.h (ALL_THREADS): Delete.
-	(ALL_NON_EXITED_THREADS): New macro.
-	* btrace.c (btrace_free_objfile): Use ALL_NON_EXITED_THREADS
-	instead of ALL_THREADS.
-	* infrun.c (find_thread_needs_step_over)
-	(switch_back_to_stepped_thread): Use ALL_NON_EXITED_THREADS
-	instead of ALL_THREADS.
-	* record-btrace.c (record_btrace_open)
-	(record_btrace_stop_recording, record_btrace_close)
-	(record_btrace_is_replaying, record_btrace_resume)
-	(record_btrace_find_thread_to_move, record_btrace_wait): Likewise.
-	* remote.c (append_pending_thread_resumptions): Likewise.
-	* thread.c (thread_apply_all_command): Likewise.
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
 
-2014-06-16  Pedro Alves  <palves@redhat.com>
+	* version.in: Set GDB version number to 7.8.90.
 
-	* breakpoint.c (insert_bp_location, remove_breakpoint_1): Adjust.
-	(disable_breakpoints_in_freed_objfile): Skip objfiles that don't
-	have OBJF_SHARED set.
-	* objfiles.c (userloaded_objfile_contains_address_p): Rename to...
-	(shared_objfile_contains_address_p): ... this.  Check OBJF_SHARED
-	instead of OBJF_USERLOADED.
-	* objfiles.h (OBJF_SHARED): Update comment.
-	(userloaded_objfile_contains_address_p): Rename to ...
-	(shared_objfile_contains_address_p): ... this, and update
-	comments.
-	* symfile.c (add_symbol_file_command): Also set OBJF_SHARED in the
-	new objfile.
-	(remove_symbol_file_command): Skip objfiles that don't have
-	OBJF_SHARED set.
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
 
-2014-06-14  Eli Zaretskii  <eliz@gnu.org>
+	GDB 7.9 branch created (92fc2e6978d9a7c8324c7e851dbee59e22ec7a37):
+	* version.in: Bump version to 7.8.90.DATE-cvs.
 
-	* top.c (print_gdb_configuration) [HAVE_GUILE]: Print --with-guile
-	or --without-guile, according to how GDB was built.
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
 
-2014-06-11  Joel Brobecker  <brobecker@adacore.com>
+	* nat/linux-procfs.c (linux_proc_attach_tgid_threads):
+	Remove trailing new-line in argument of call to warning.
 
-	* version.in: Set GDB version number to 7.7.90.DATE-cvs.
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
 
-2014-06-11  Joel Brobecker  <brobecker@adacore.com>
+	* linux-nat.c (attach_proc_task_lwp_callback): Remove trailing
+	new-line in argument of call to "warning".
 
-	GDB 7.7.90 released.
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
 
-2014-06-11  Joel Brobecker  <brobecker@adacore.com>
+	* ada-lang.c (ada_lookup_symbol_nonlocal): If name not found
+	in static block, then try searching for primitive types.
 
-	* version.in: Set GDB version number to 7.7.90.
+2015-01-12  Patrick Palka  <patrick@parcs.ath.cx>
 
-2014-06-11  Joel Brobecker  <brobecker@adacore.com>
+	* top.h (gdb_add_history): Declare.
+	* top.c (command_count): New variable.
+	(gdb_add_history): New function.
+	(gdb_safe_append_history): New static function.
+	(quit_force): Call it.
+	(command_line_input): Use gdb_add_history instead of
+	add_history.
+	* event-top.c (command_line_handler): Likewise.
 
-	GDB 7.8 branch created (173373c6f6388171d1d62a217fae90a052395be2):
-	* version.in: Bump version to 7.7.90.DATE-cvs.
+2015-01-12  James Clarke  <jrtc27@jrtc27.com>  (tiny patch)
 
-2014-06-11  Pedro Alves  <palves@redhat.com>
+	PR gdb/17046
+	* darwin-nat.c: Replace <machine/setjmp.h> #include by
+	<setjmp.h> #include.
 
-	PR remote/17028
-	* ser-mingw.c (net_windows_socket_check_pending): New function.
-	(net_windows_select_thread): Ignore spurious wakeups.  Use
-	net_windows_socket_check_pending.
-	(net_windows_wait_handle): Check for pending events with
-	ioctlsocket, through net_windows_socket_check_pending, instead of
-	checking the socket's event.
+2015-01-11  Doug Evans  <xdje42@gmail.com>
 
-2014-06-10  Siva Chandra Reddy  <sivachandra@google.com>
+	* dwarf2read.c (compute_delayed_physnames): Use TYPE_FN_FIELD_PHYSNAME.
 
-	* python/python-internal.h (gdb_PyObject_GetAttrString)
-	(gdb_PyObject_HasAttrString): New inline function definitions.
-	* py-value.c (get_field_flag): Remove the now unnecessary cast to
-	char * of the second argument to PyObject_GetAttrString.
-	
-2014-06-10  Joel Brobecker  <brobecker@adacore.com>
+2015-01-11  Doug Evans  <xdje42@gmail.com>
 
-	* serial.c (serial_write): Fix index of character to be printed
-	in call to serial_logchar when serial debug traces are enabled.
+	PR gdb/15830
+	* NEWS: The "maint demangle" command is renamed as "demangle".
+	* demangle.c: #include cli/cli-utils.h, language.h.
+	(demangle_command): New function.
+	(_initialize_demangle): Add new command "demangle".
+	* maint.c (maintenance_demangle): Stub out.
+	(_initialize_maint_cmds): Update help text for "maint demangle",
+	and mark as deprecated.
 
-2014-06-10  Joel Brobecker  <brobecker@adacore.com>
+2015-01-11  Mark Kettenis  <kettenis@gnu.org>
 
-	* gdbtypes (resolve_dynamic_range): Add function description.
+	* inf-ptrace.c (inf_ptrace_follow_fork): Adjust now that
+	inferior_thread is a function.
 
-2014-06-09  Pedro Alves  <palves@redhat.com>
+2015-01-09  Patrick Palka  <patrick@parcs.ath.cx>
 
-	* linux-nat.c (linux_child_follow_fork): Initialize status with
-	W_STOPCODE (0) instead of 0.  Remove shodowing 'status' local from
-	inner block.  Only pass the signal to PTRACE_DETACH if in pass
-	state.
+	* Makefile.in (.y.c): Don't munge yacc's #line
+	directives.
 
-2014-06-09  Gary Benson  <gbenson@redhat.com>
+2015-01-09  Patrick Palka  <patrick@parcs.ath.cx>
 
-	* common/signals.c (gdb_signal_from_host): Reorder to separate
-	the always-available ANSI-standard signals from the signals that
-	require checking.
-	(do_gdb_signal_to_host): Likewise.
-	* proc-events.c (signal_table): Likewise.
+	* utils.c (defaulted_query): Rewrite to use gdb_readline_wrapper
+	to prompt for input.
+	* tui/tui-hooks.c (tui_query_hook): Remove.
+	(tui_install_hooks): Don't set deprecated_query_hook.
+	* tui/tui-io.c (tui_redisplay_readline): Fix off-by-one error in
+	height calculation.  Always update the command window's cur_line.
 
-2014-06-08  Hui Zhu  <hui@codesourcery.com>
+2015-01-09  Pedro Alves  <palves@redhat.com>
 
-	* common/linux-ptrace.c (linux_disable_event_reporting): New
+	* breakpoint.c (hardware_breakpoint_inserted_here_p): New
 	function.
-	* common/linux-ptrace.h (linux_disable_event_reporting): New
+	* breakpoint.h (hardware_breakpoint_inserted_here_p): New
 	declaration.
-	* linux-nat.c (linux_child_follow_fork): Do a single step before
-	detach.
-
-2014-06-07  Keith Seitz  <keiths@redhat.com>
+	* linux-nat.c (linux_nat_status_is_event): Move higher up in file.
+	(linux_resume_one_lwp): Store the thread's PC.  Adjust to clear
+	stop_reason.
+	(check_stopped_by_watchpoint): New function.
+	(save_sigtrap): Reimplement.
+	(linux_nat_stopped_by_watchpoint): Adjust.
+	(linux_nat_lp_status_is_event): Delete.
+	(stop_wait_callback): Only call save_sigtrap after storing the
+	pending status.
+	(status_callback): If the thread had been stopped for a breakpoint
+	that has since been removed, discard the event and resume the LWP.
+	(count_events_callback, select_event_lwp_callback): Use
+	lwp_status_pending_p instead of linux_nat_lp_status_is_event.
+	(cancel_breakpoint): Rename to ...
+	(check_stopped_by_breakpoint): ... this.  Record whether the LWP
+	stopped for a software breakpoint or hardware breakpoint.
+	(select_event_lwp): Only give preference to the stepping LWP in
+	all-stop mode.  Adjust comments.
+	(stop_and_resume_callback): Remove references to new_pending_p.
+	(linux_nat_filter_event): Likewise.  Leave exit events of the
+	leader thread pending here.  Handle signal short circuiting here.
+	Only call save_sigtrap after storing the pending waitstatus.
+	(linux_nat_wait_1): Remove 'retry' label.  Remove references to
+	new_pending.  Don't handle leaving events the caller is not
+	interested in pending here, nor handle signal short-circuiting
+	here.  Also give equal priority to all LWPs that have had events
+	in non-stop mode.  If reporting a software breakpoint event,
+	unadjust the LWP's PC.
+	* linux-nat.h (enum lwp_stop_reason): New.
+	(struct lwp_info) <stop_pc>: New field.
+	(struct lwp_info) <stopped_by_watchpoint>: Delete field.
+	(struct lwp_info) <stop_reason>: New field.
+	* x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
+	Set the LWP's 'resumed' flag.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (linux_resume_one_lwp): New function.
+	(resume_lwp): Use lwp_status_pending_p and linux_resume_one_lwp.
+	(linux_nat_resume): Use lwp_status_pending_p and
+	linux_resume_one_lwp.
+	(linux_handle_syscall_trap): Use linux_resume_one_lwp.
+	(linux_handle_extended_wait): Use linux_resume_one_lwp.
+	(status_callback, running_callback): Use lwp_status_pending_p.
+	(lwp_status_pending_p): New function.
+	(stop_and_resume_callback): Use lwp_status_pending_p.
+	(linux_nat_filter_event): Use linux_resume_one_lwp.
+	(linux_nat_wait_1): Always use status_callback to look for an LWP
+	with a pending status.  Use linux_resume_one_lwp.
+	(resume_stopped_resumed_lwps): Use lwp_status_pending_p and
+	linux_resume_one_lwp.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (bp_location_inserted_here_p): New function,
+	factored out from ...
+	(breakpoint_inserted_here_p): ... here.  Use
+	ALL_BP_LOCATIONS_AT_ADDR.
+	(software_breakpoint_inserted_here_p): Use
+	bp_location_inserted_here_p and ALL_BP_LOCATIONS_AT_ADDR.
 
-	Revert:
-	PR c++/16253
-	* ada-lang.c (ada_symbol_matches_domain): Moved here and renamed
-	from symbol_matches_domain in symtab.c. All local callers
-	of symbol_matches_domain updated.
-	(standard_lookup): If DOMAIN is VAR_DOMAIN and no symbol is found,
-	search STRUCT_DOMAIN.
-	(ada_find_any_type_symbol): Do not search STRUCT_DOMAIN
-	independently.  standard_lookup will do that automatically.
-	* cp-namespace.c (cp_lookup_symbol_nonlocal): Explain when/why
-	VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
-	(cp_lookup_symbol_in_namespace): Likewise.
-	If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN.
-	(cp_lookup_symbol_exports): Explain when/why VAR_DOMAIN searches
-	may return a STRUCT_DOMAIN match.
-	(lookup_symbol_file): Search for the class name in STRUCT_DOMAIN.
-	* cp-support.c: Include language.h.
-	(inspect_type): Explicitly search STRUCT_DOMAIN before searching
-	VAR_DOMAIN.
-	* psymtab.c (match_partial_symbol): Compare the requested
-	domain with the symbol's domain directly.
-	(lookup_partial_symbol): Likewise.
-	* symtab.c (lookup_symbol_in_language): Explain when/why
-	VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
-	If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN for
-	appropriate languages.
-	(symbol_matches_domain): Renamed `ada_symbol_matches_domain'
-	and moved to ada-lang.c
-	(lookup_block_symbol): Explain that this function only returns
-	symbol matching the requested DOMAIN.
-	Compare the requested domain with the symbol's domain directly.
-	(iterate_over_symbols): Compare the requested domain with the
-	symbol's domain directly.
-	* symtab.h (symbol_matches_domain): Remove.
-
-2014-06-06  Doug Evans  <xdje42@gmail.com>
-
-	* guile/guile-internal.h (gdbscm_guile_major_version): Declare.
-	(gdbscm_guile_minor_version, gdbscm_guile_micro_version): Declare.
-	(gdbscm_guile_version_is_at_least): Declare.
-	(gdbscm_scm_string_to_int): Declare.
-	* guile/guile.c (gdbscm_guile_major_version): New global.
-	(gdbscm_guile_minor_version, gdbscm_guile_micro_version): New globals.
-	(guile_datadir): New static global.
-	(gdbscm_guile_data_directory): New function.
-	(initialize_scheme_side): Update.
-	(misc_guile_functions): Add guile-data-directory.
-	(initialize_gdb_module): Fetch guile version number.
-	* guile/lib/gdb.scm: Remove call to add-to-load-path.
-	* guile/lib/gdb/init.scm (%initialize!): Ditto.
-	* guile/lib/gdb/boot.scm: Use guile-data-directory.
-	* guile/scm-exception.c (gdbscm_print_exception_with_stack): Fix
-	comments.
-	* guile/scm-string.c (gdbscm_scm_string_to_int): New function.
-	* guile/scm-utils.c (gdbscm_guile_version_is_at_least): New function.
-	* guile/scm-value.c (gdbscm_value_to_string): Only call
-	scm_port_conversion_strategy if Guile version >= 2.0.6.
-
-2014-06-06  Mingjie Xing  <mingjie.xing@gmail.com>
-
-	* main.c (print_gdb_help): Add -q and --silent.
-
-2014-06-06  Gary Benson  <gbenson@redhat.com>
-
-	* common/signals.c: Remove preprocessor conditionals for
-	always-defined signals SIGINT, SIGILL, SIGABRT, SIGFPE,
-	SIGSEGV and SIGTERM.
-	* proc-events.c: Likewise.
-
-2014-06-06  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* symfile.c (symfile_free_objfile): Remove restriction to
-	OBJF_USERLOADED.
-	* symfile-mem.c (symbol_file_add_from_memory): Call
-	add_target_sections_of_objfile.
-
-2014-06-05  Ludovic CourtÃ¨s  <ludo@gnu.org>
-
-	* guile/scm-value.c (gdbscm_history_append_x): Use
-	'vlscm_get_value_smob_arg_unsafe' instead of
-	'vlscm_scm_to_value'.
-
-2014-06-05  Simon Marchi  <simon.marchi@ericsson.com>
-
-	PR mi/15806
-	* utils.c (printchar): Don't escape at all if quoter is NUL.
-	Update function documentation to clarify effect of parameter
-	QUOTER.
-	* remote.c (escape_buffer): Pass '\\' as the quoter to
-	fputstrn_unfiltered.
-	* mi/mi-interp.c (mi_solib_loaded): Use ui_out_field_* functions to
-	generate the output.
-	(mi_solib_unloaded): Same.
-
-2014-06-05  Joel Brobecker  <brobecker@adacore.com>
-
-	* development.sh: Delete.
-	* Makefile.in (config.status): Adjust dependency on development.sh.
-	* configure.ac: Adjust development.sh source call.
-	* configure: Regenerate.
-
-2014-06-04  Doug Evans  <xdje42@gmail.com>
+2014-01-09  Pedro Alves  <palves@redhat.com>
 
-	* guile/scm-breakpoint.c (struct gdbscm_breakpoint_object): New members
-	is_scheme_bkpt, spec.
-	(bpscm_make_breakpoint_smob): Initialize new members.
-	(gdbscm_create_breakpoint_x): Split into two ...
-	(gdbscm_make_breakpoint, gdbscm_register_breakpoint_x): New functions.
-	(bpscm_breakpoint_deleted): Reset breakpoint number and stop function.
-	(scheme_function breakpoint_functions): Update.
-	* guile/lib/gdb.scm: Delete create-breakpoint!.  Rename
-	breakpoint-delete! to delete-breakpoint!.  Add make-breakpoint,
-	register-breakpoint!.
-
-2014-06-04  Joel Brobecker  <brobecker@adacorer.com>
-
-	PR server/17023
-	* mem-break.c (z_type_supported): Return zero if
-	THE_TARGET->SUPPORTS_Z_POINT_TYPE is NULL.
-
-2014-06-04  Tom Tromey  <tromey@redhat.com>
-
-	* ada-lang.c (ada_template_to_fixed_record_type_1): Use
-	value_from_contents_and_address_unresolved.
-	(ada_template_to_fixed_record_type_1): Likewise.
-	(ada_which_variant_applies): Likewise.
-	* value.h (value_from_contents_and_address_unresolved): Declare.
-	* value.c (value_from_contents_and_address_unresolved): New
-	function.
-	* gdbtypes.c (is_dynamic_type, resolve_dynamic_type)
-	<TYPE_CODE_STRUCT, TYPE_CODE_UNION>: New cases.
-	(resolve_dynamic_struct, resolve_dynamic_union): New functions.
-
-2014-06-04  Tom Tromey  <tromey@redhat.com>
-
-	* gdbtypes.c (is_dynamic_type): Remove unneeded "break"s.
-
-2014-06-04  Tom Tromey  <tromey@redhat.com>
-
-	* procfs.c (procfs_attach): Make "args" const.
-	* windows-nat.c (windows_attach): Make "args" const.
-	* nto-procfs.c (procfs_attach): Make "args" const.
-	* inf-ttrace.c (inf_ttrace_attach): Make "args" const.
-	* go32-nat.c (go32_attach): Make "args" const.
-	* gnu-nat.c (gnu_attach): Make "args" const.
-	* darwin-nat.c (darwin_attach): Make "args" const.
-	* inf-ptrace.c (inf_ptrace_attach): Make "args" const.
-	* linux-nat.c (linux_nat_attach): Make "args" const.
-	* remote.c (extended_remote_attach_1, extended_remote_attach):
-	Make "args" const.
-	* target.h (struct target_ops) <to_attach>: Make "args" const.
-	(find_default_attach): Likewise.
-	* utils.c (parse_pid_to_attach): Make "args" const.
-	* utils.h (parse_pid_to_attach): Update.
-
-2014-06-04  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (default_thread_address_space): New function.
-	(target_thread_address_space): Simplify.
-	* target.h (struct target_ops) <to_thread_address_space>: Add
-	TARGET_DEFAULT_FUNC.
-
-2014-06-04  Doug Evans  <xdje42@gmail.com>
-
-	* guile/scm-type.c (type_smob): Remove duplicate typedef.
-
-2014-06-04  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c: Include event-loop.h and inf-loop.h.
-	(record_btrace_resume_exec_dir)
-	(record_btrace_async_inferior_event_handler)
-	(record_btrace_handle_async_inferior_event): New.
-	(record_btrace_open): Create async event handler.
-	(record_btrace_close): Delete async event handler.
-	(record_btrace_resume): Set record_btrace_resume_exec_dir,
-	Mark async event handler.
-	(record_btrace_execution_direction): New.
-	(init_record_btrace_ops): Initialize to_execution_direction.
-
-2014-06-03  Doug Evans  <xdje42@gmail.com>
-
-	* guile/scm-param.c (pascm_make_param_smob): Add ARI comment.
-	(gdbscm_make_parameter): Ditto.
-
-2014-06-03  Doug Evans  <dje@google.com>
-
-	* exec.c (exec_close_1): Call clear_section_table instead of
-	resize_section_table.
-	(clear_section_table): New function.
-	(resize_section_table): Make static.  Rename arg num_added to
-	adjustment.
-	* exec.h (clear_section_table): Declare.
-	(resize_section_table): Delete.
-	* progspace.c (release_program_space): Call clear_section_table
-	instead of resize_section_table.
-
-2014-06-03  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* NEWS (Python Scripting): Add entry about the new xmethods
-	feature.
-
-2014-06-03  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* python/py-xmethods.c: New file.
-	* python/py-objfile.c (objfile_object): New field 'xmethods'.
-	(objfpy_dealloc): XDECREF on the new xmethods field.
-	(objfpy_new, objfile_to_objfile_object): Initialize xmethods
+	Skip enabling event reporting if the kernel supports
+	PTRACE_EVENT_CLONE.
+	* linux-thread-db.c: Include "nat/linux-ptrace.h".
+	(thread_db_use_events): New function.
+	(try_thread_db_load_1): Check thread_db_use_events before enabling
+	event reporting.
+	(update_thread_state): New function.
+	(attach_thread): Use it.  Check thread_db_use_events before
+	enabling event reporting.
+	(thread_db_detach): Check thread_db_use_events before disabling
+	event reporting.
+	(find_new_threads_callback): Check thread_db_use_events before
+	enabling event reporting.  Update the thread's state if not using
+	libthread_db events.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (lin_lwp_attach_lwp): Assert that the lwp id we're
+	about to wait for is > 0.
+	* linux-thread-db.c (find_new_threads_callback): Ignore thread if
+	the kernel thread ID is -1.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (attach_proc_task_lwp_callback): New function.
+	(linux_nat_attach): Use linux_proc_attach_tgid_threads.
+	(wait_lwp, linux_nat_filter_event): If not set yet, set the lwp's
+	ptrace option flags.
+	* linux-nat.h (struct lwp_info) <must_set_ptrace_flags>: New
 	field.
-	(objfpy_get_xmethods): New function.
-	(objfile_getset): New entry 'xmethods'.
-	* python/py-progspace.c (pspace_object): New field 'xmethods'.
-	(pspy_dealloc): XDECREF on the new xmethods field.
-	(pspy_new, pspace_to_pspace_object): Initialize	xmethods
-	field.
-	(pspy_get_xmethods): New function.
-	(pspace_getset): New entry 'xmethods'.
-	* python/python-internal.h: Add declarations for new functions.
-	* python/python.c (_initialize_python): Invoke
-	gdbpy_initialize_xmethods.
-	* python/lib/gdb/__init__.py (xmethods): New
-	attribute.
-	* python/lib/gdb/xmethod.py: New file.
-	* python/lib/gdb/command/xmethods.py: New file.
-
-2014-06-03  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* eval.c (evaluate_subexp_standard): Call the xmethod if the
-	best match method returned by find_overload_match is an xmethod.
-	* valarith.c (value_x_binop, value_x_unop): Call the xmethod if
-	the best matching operator returned by find_overload_match is an
-	xmethod.
-	* valops.c: #include "extension.h".
-	(find_method_list): Add "fn_list" and "xm_worker_vec" arguments.
-	Return void.  The list of matching source methods is returned in
-	"fn_list" and a vector of matching debug method workers is
-	returned in "xm_worker_vec".  Update all callers.
-	(value_find_oload_method_list): Likewise.
-	(find_oload_champ): Add "xm_worker_vec" parameter.  If it is
-	non-NULL, then the index of the best matching method in this
-	vector is returned.  Update all callers.
-	(find_overload_match): Include xmethods while performing overload
-	resolution.
-
-2014-06-03  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* defs.h (enum lval_type): New enumerator "lval_xcallable".
-	* extension-priv.h (struct extension_language_ops): Add the
-	xmethod interface.
-	* extension.c (new_xmethod_worker, clone_xmethod_worker,
-	get_matching_xmethod_workers, get_xmethod_argtypes,
-	invoke_xmethod, free_xmethod_worker,
-	free_xmethod_worker_vec): New functions.
-	* extension.h: #include "common/vec.h".
-	New function declarations.
-	(struct xmethod_worker): New struct.
-	(VEC (xmethod_worker_ptr)): New vector type.
-	(xmethod_worker_ptr): New typedef.
-	(xmethod_worker_vec): Likewise.
-	* gdbtypes.c (gdbtypes_post_init): Initialize "xmethod" field of
-	builtin_type.
-	* gdbtypes.h (enum type_code): New enumerator TYPE_CODE_XMETHOD.
-	(struct builtin_type): New field "xmethod".
-	* valarith.c (value_ptradd): Assert that the value argument is not
-	lval_xcallable.
-	* valops.c (value_must_coerce_to_target): Return 0 for
-	lval_xcallable values.
-	* value.c (struct value): New field XM_WORKER in the field
-	LOCATION.
-	(value_address, value_raw_address): Return 0 for lval_xcallable
-	values.
-	(set_value_address): Assert that the value is not an
-	lval_xcallable.
-	(value_free): Free the associated xmethod worker when freeing
-	lval_xcallable values.
-	(set_value_component_location): Assert that the WHOLE value is not
-	lval_xcallable.
-	(value_of_xmethod, call_xmethod): New functions.
-	* value.h: Declare "struct xmethod_worker".
-	Declare new functions value_of_xmethod, call_xmethod.
+	* nat/linux-procfs.c: Include <dirent.h>.
+	(linux_proc_get_int): New parameter "warn".  Handle it.
+	(linux_proc_get_tgid): Adjust.
+	(linux_proc_get_tracerpid): Rename to ...
+	(linux_proc_get_tracerpid_nowarn): ... this.
+	(linux_proc_pid_get_state): New function, factored out from
+	(linux_proc_pid_has_state): ... this.  Add new parameter "warn"
+	and handle it.
+	(linux_proc_pid_is_gone): New function.
+	(linux_proc_pid_is_stopped): Adjust.
+	(linux_proc_pid_is_zombie_maybe_warn)
+	(linux_proc_pid_is_zombie_nowarn): New functions.
+	(linux_proc_pid_is_zombie): Use
+	linux_proc_pid_is_zombie_maybe_warn.
+	(linux_proc_attach_tgid_threads): New function.
+	* nat/linux-procfs.h (linux_proc_get_tgid): Update comment.
+	(linux_proc_get_tracerpid): Rename to ...
+	(linux_proc_get_tracerpid_nowarn): ... this, and update comment.
+	(linux_proc_pid_is_gone): New declaration.
+	(linux_proc_pid_is_zombie): Update comment.
+	(linux_proc_pid_is_zombie_nowarn): New declaration.
+	(linux_proc_attach_lwp_func): New typedef.
+	(linux_proc_attach_tgid_threads): New declaration.
+	* nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Adjust to
+	use nowarn functions.
+	(linux_ptrace_attach_fail_reason_string): Move here from
+	gdbserver/linux-low.c and rename.
+	(ptrace_supports_feature): If the current ptrace options are not
+	known yet, check them now, instead of asserting.
+	* nat/linux-ptrace.h (linux_ptrace_attach_fail_reason_string):
+	Declare.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* linux-thread-db.c (thread_db_find_new_threads_silently)
+	(try_thread_db_load_1, try_thread_db_load, thread_db_load_search)
+	(find_new_threads_once): Print debug output on gdb_stdlog.
 
-2014-06-03  Joel Brobecker  <brobecker@adacore.com>
+2015-01-09  Chen Gang  <gang.chen.5i5j@gmail.com>
 	    Pedro Alves  <palves@redhat.com>
 
-	PR breakpoints/17000
-	* breakpoint.c (find_non_raw_software_breakpoint_inserted_here):
-	New function, extracted from software_breakpoint_inserted_here_p.
-	(software_breakpoint_inserted_here_p): Replace factored out code
-	by call to find_non_raw_software_breakpoint_inserted_here.
-	(bp_target_info_copy_insertion_state): New function.
-	(bkpt_insert_location): Handle the case of a single-step
-	breakpoint already inserted at the same address.
-	(bkpt_remove_location): Handle the case of a single-step
-	breakpoint still inserted at the same address.
-	(deprecated_insert_raw_breakpoint): Handle the case of non-raw
-	breakpoint already inserted at the same address.
-	(deprecated_remove_raw_breakpoint): Handle the case of a
-	non-raw breakpoint still inserted at the same address.
-	(find_single_step_breakpoint): New function, extracted from
-	single_step_breakpoint_inserted_here_p.
-	(find_single_step_breakpoint): New function,
-	factored out from single_step_breakpoint_inserted_here_p.
-	(single_step_breakpoint_inserted_here_p): Reimplement.
-
-2014-06-03  Brad Mouring  <bmouring@ni.com>  (tiny patch)
-
-	Pushed by Joel Brobecker  <brobecker@adacore.com>
-	* source.c (show_substitute_path_command): Fix display of matching
-	substitution rules.
-
-2014-06-03  Gary Benson  <gbenson@redhat.com>
-
-	* gnu-v2-abi.c (gnuv2_value_rtti_type): Use gdb_demangle.
-
-2014-06-02  Doug Evans  <xdje42@gmail.com>
-
-	Add parameter support for Guile.
-	* Makefile.in (SUBDIR_GUILE_OBS): Add scm-param.o.
-	(SUBDIR_GUILE_SRCS): Add scm-param.c.
-	(scm-param.o): New rule.
-	* guile/guile-internal.h (gdbscm_gc_dup_argv): Declare.
-	(gdbscm_misc_error): Declare.
-	(gdbscm_canonicalize_command_name): Declare.
-	(gdbscm_scm_to_host_string): Declare.
-	(gdbscm_scm_from_host_string): Declare.
-	(gdbscm_initialize_parameters): Declare.
-	* guile/guile.c (initialize_gdb_module): Call
-	gdbscm_initialize_parameters.
-	* guile/lib/gdb.scm: Export parameter symbols.
-	* guile/scm-cmd.c (gdbscm_canonicalize_command_name): Renamed from
-	cmdscm_canonicalize_name and made public.  All callers updated.
-	* guile/scm-exception.c (gdbscm_misc_error): New function.
-	* guile/scm-param.c: New file.
-	* guile/scm-string.c (gdbscm_scm_to_string): Add comments.
-	(gdbscm_scm_to_host_string): New function.
-	(gdbscm_scm_from_host_string): New function.
-	* scm-utils.c (gdbscm_gc_dup_argv): New function.
-
-2014-06-02  Doug Evans  <xdje42@gmail.com>
-
-	Add command support for Guile.
-	* Makefile.in (SUBDIR_GUILE_OBS): Add scm-cmd.o.
-	(SUBDIR_GUILE_SRCS): Add scm-cmd.c.
-	(scm-cmd.o): New rule.
-	* guile/guile-internal.h (gdbscm_gc_xstrdup): Declare.
-	(gdbscm_user_error_p): Declare.
-	(gdbscm_parse_command_name): Declare.
-	(gdbscm_valid_command_class_p): Declare.
-	(gdbscm_initialize_commands): Declare.
-	* guile/guile.c (initialize_gdb_module): Call
-	gdbscm_initialize_commands.
-	* guile/lib/gdb.scm: Export command symbols.
-	* guile/lib/gdb/init.scm (%exception-keys): Add gdb:user-error.
-	(throw-user-error): New function.
-	* guile/scm-cmd.c: New file.
-	* guile/scm-exception.c (user_error_symbol): New static global.
-	(gdbscm_user_error_p): New function.
-	(gdbscm_initialize_exceptions): Set user_error_symbol.
-	* scm-utils.c (gdbscm_gc_xstrdup): New function.
-
-2014-06-02  Phil Muldoon  <pmuldoon@redhat.com>
-
-	* top.c (command_loop): Handle comments here...
-	(command_line_input): ... not here.
-
-2014-06-02  Doug Evans  <xdje42@gmail.com>
-
-	Add progspace support for Guile.
-	* Makefile.in (SUBDIR_GUILE_OBS): Add scm-progspace.o.
-	(SUBDIR_GUILE_SRCS): Add scm-progspace.c.
-	(scm-progspace.o): New rule.
-	* guile/guile-internal.h (pspace_smob): New typedef.
-	(psscm_pspace_smob_pretty_printers): Declare.
-	(psscm_pspace_smob_from_pspace): Declare.
-	(psscm_scm_from_pspace): Declare.
-	* guile/guile.c (initialize_gdb_module): Call
-	gdbscm_initialize_pspaces.
-	* guile/lib/gdb.scm: Export progspace symbols.
-	* guile/lib/gdb/printing.scm (prepend-pretty-printer!): Add progspace
-	support.
-	(append-pretty-printer!): Ditto.
-	* guile/scm-pretty-print.c (ppscm_find_pretty_printer_from_progspace):
-	Implement.
-	* guile/scm-progspace.c: New file.
-
-2014-06-03  Alan Modra  <amodra@gmail.com>
-
-	* ppc64-tdep.c (ppc64_standard_linkage8): New.
-	(ppc64_skip_trampoline_code): Recognise ELFv2 stub supporting fusion.
-
-2014-06-02  Doug Evans  <dje@google.com>
-
-	Add support for skeletonless type units.
-	* dwarf2read.c (struct dwarf2_per_objfile): New member
-	n_allocated_type_units.
-	(struct dwarf2_per_objfile) <tu_stats>: New member
-	nr_all_type_units_reallocs.
-	(create_signatured_type_table_from_index): Initialize
-	n_allocated_type_units
-	(create_all_type_units): Ditto.
-	(add_type_unit): Move up in file.  New arg slot.
-	All callers updated.  Increase space for all_type_units more
-	efficiently.
-	(fill_in_sig_entry_from_dwo_entry): Handle psymtabs.
-	(lookup_dwo_signatured_type): Handle skeletonless TUs.
-	(lookup_dwp_signatured_type): Ditto.
-	(init_tu_and_read_dwo_dies): New arg use_existing_cu.
-	All callers updated.
-	(build_type_psymtabs_1): Leave type_unit_groups as
-	NULL if no TUs present.
-	(print_tu_stats): New function.
-	(process_skeletonless_type_unit): New function.
-	(process_dwo_file_for_skeletonless_type_units): New
-	function.
-	(process_skeletonless_type_units): New function.
-	(dwarf2_build_psymtabs_hard): Handle skeletonless TUs.
-	Call print tu_stats if debugging enabled.
-
-2014-06-02  Pedro Alves  <palves@redhat.com>
-
-	* breakpoint.c (build_target_command_list): Don't build a command
-	list if we have any duplicate location that isn't a dprintf.
-
-2014-06-02  Pedro Alves  <palves@redhat.com>
-
-	* breakpoint.c (dprintf_breakpoint_hit): New function.
-	(initialize_breakpoint_ops): Install it as dprintf's
-	breakpoint_hit method.
-
-2014-06-02  Joel Brobecker  <brobecker@adacore.com>
-
-	* source.c (substitute_path_rule_matches): Simplify using
-	filename_ncmp instead of FILENAME_CMP.
-
-2014-06-02  Joel Brobecker  <brobecker@adacore.com>
-
-	* source.c (substitute_path_rule_matches): Remove trailing spaces.
-
-2014-06-01  Ludovic CourtÃ¨s  <ludo@gnu.org>
-
-	* configure.ac: When Guile is available, check for the
-	availability of 'scm_new_smob'.
-	* configure, config.h.in: Regenerate.
-	* guile/guile-internal.h (scm_new_smob) [!HAVE_SCM_NEW_SMOB]: New
-	function.
-
-2014-05-30  Andrew Burgess  <aburgess@broadcom.com>
-
-	* frame.c (struct frame_info): Add stop_string field.
-	(get_prev_frame_always_1): Renamed from get_prev_frame_always.
-	(get_prev_frame_always): Old content moved into
-	get_prev_frame_always_1.  Call get_prev_frame_always_1 inside
-	TRY_CATCH, handle MEMORY_ERROR exceptions.
-	(frame_stop_reason_string): New function definition.
-	* frame.h (unwind_stop_reason_to_string): Extend comment to
-	mention frame_stop_reason_string.
-	(frame_stop_reason_string): New function declaration.
-	* stack.c (frame_info): Switch to frame_stop_reason_string.
-	(backtrace_command_1): Switch to frame_stop_reason_string.
-	* unwind_stop_reason.def: Add UNWIND_MEMORY_ERROR.
-	(LAST_ENTRY): Changed to UNWIND_MEMORY_ERROR.
-	* guile/lib/gdb.scm: Add FRAME_UNWIND_MEMORY_ERROR to export list.
-
-2014-05-30  Andrew Burgess  <aburgess@broadcom.com>
-
-	* frame.c (frame_stop_reason_string): Rename to ...
-	(unwind_stop_reason_to_string): this.
-	* frame.h (frame_stop_reason_string): Rename to ...
-	(unwind_stop_reason_to_string): this.
-	* stack.c (frame_info): Update call to frame_stop_reason_string.
-	(backtrace_command_1): Likewise.
-	* guile/scm-frame.c (gdbscm_unwind_stop_reason_string): Likewise.
-	* python/py-frame.c (gdbpy_frame_stop_reason_string): Likewise.
-
-2014-05-30  Andrew Burgess  <aburgess@broadcom.com>
-
-	* frame.c (remove_prev_frame): New function.
-	(get_prev_frame_if_no_cycle): Create / discard cleanup using
-	remove_prev_frame.
-
-2014-05-29  Pedro Alves  <palves@redhat.com>
-
-	* infrun.c (resume): Rename local 'hw_step' to 'entry_step'
-	and make it const.  When a single-step decays to a continue,
-	clear 'step', not 'hw_step'.  Pass whether the caller wanted
-	to step to user_visible_resume_ptid, not what we ask the
-	target to do.
-
-2014-05-29  Pedro Alves  <palves@redhat.com>
-
-	* infrun.c (process_event_stop_test, handle_step_into_function)
-	(handle_step_into_function_backward): Adjust.
-	Don't set the even thread's stop_step and call stop_waiting before
-	calling end_stepping_range.  Instead do that ...
-	(end_stepping_range): ... here.  Take an ecs pointer parameter.
-
-2014-05-29  Pedro Alves  <palves@redhat.com>
-
-	* infrun.c (stop_stepping): Rename to ...
-	(stop_waiting): ... this.
-	(proceed): Update comment.
-	(process_event_stop_test, handle_inferior_event)
-	(handle_signal_stop, handle_step_into_function)
-	(handle_step_into_function_backward): Update.
-
-2014-05-29  Pedro Alves  <palves@redhat.com>
-
-	* infcall.c (run_inferior_call): Don't check whether the current
-	thread is running after the proceed call.
-
-2014-05-29  Pedro Alves  <palves@redhat.com>
-	    Tom Tromey  <tromey@redhat.com>
-
-	* NEWS: Mention "maint set target-async", "set mi-async", and that
-	background execution commands are now always available.
-	* target.h (target_async_permitted): Update comment.
-	* target.c (target_async_permitted, target_async_permitted_1):
-	Default to 1.
-	(set_target_async_command): Rename to ...
-	(maint_set_target_async_command): ... this.
-	(show_target_async_command): Rename to ...
-	(maint_show_target_async_command): ... this.
-	(_initialize_target): Adjust.
-	* infcmd.c (prepare_execution_command): Make extern.
-	* inferior.h (prepare_execution_command): Declare.
-	* infrun.c (set_observer_mode): Leave target async alone.
-	* mi/mi-interp.c (mi_interpreter_init): Install
-	mi_on_sync_execution_done as sync_execution_done observer.
-	(mi_on_sync_execution_done): New function.
-	(mi_execute_command_input_handler): Don't print the prompt if we
-	just started a synchronous command with an async target.
-	(mi_on_resume): Check sync_execution before printing prompt.
-	* mi/mi-main.h (mi_async_p): Declare.
-	* mi/mi-main.c: Include gdbcmd.h.
-	(mi_async_p): New function.
-	(mi_async, mi_async_1): New globals.
-	(set_mi_async_command, show_mi_async_command, mi_async): New
-	functions.
-	(exec_continue): Call prepare_execution_command.
-	(run_one_inferior, mi_cmd_exec_run, mi_cmd_list_target_features)
-	(mi_execute_async_cli_command): Use mi_async_p.
-	(_initialize_mi_main): Install "set mi-async".  Make
-	"target-async" a deprecated alias.
-
-2014-05-29  Pedro Alves  <palves@redhat.com>
-
-	* cli/cli-interp.c (cli_interpreter_display_prompt_p): Delete.
-	(_initialize_cli_interp): Adjust.
-	* event-loop.c: Include "observer.h".
-	(start_event_loop): Notify 'command_error' observers instead of
-	calling display_gdb_prompt.  Remove FIXME comment.
-	* event-top.c (display_gdb_prompt): Remove call into the
-	interpreters.
-	* inf-loop.c: Include "observer.h".
-	(inferior_event_handler): Notify 'command_error' observers instead
-	of calling display_gdb_prompt.
-	* infrun.c (fetch_inferior_event): Notify 'sync_execution_done'
-	observers instead of calling display_gdb_prompt.
-	* interps.c (interp_set): Don't call display_gdb_prompt.
-	(current_interp_display_prompt_p): Delete.
-	* interps.h (interp_prompt_p): Delete declaration.
-	(interp_prompt_p_ftype): Delete.
-	(struct interp_procs) <prompt_proc_p>: Delete field.
-	(current_interp_display_prompt_p): Delete declaration.
-	* mi-interp.c (mi_interpreter_prompt_p): Delete.
-	(_initialize_mi_interp): Adjust.
-	* tui-interp.c (tui_init): Install 'sync_execution_done' and
-	'command_error' observers.
-	(tui_on_sync_execution_done, tui_on_command_error): New
-	functions.
-	(tui_display_prompt_p): Delete.
-	(_initialize_tui_interp): Adjust.
+	* compile/compile.c: Include "gdb_wait.h".
+	(do_rmdir): Check return value, and free 'zap'.
 
-2014-05-29  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/13860
-	* cli/cli-interp.c: Include infrun.h and observer.h.
-	(cli_uiout, cli_interp): New globals.
-	(cli_on_signal_received, cli_on_end_stepping_range)
-	(cli_on_signal_exited, cli_on_exited, cli_on_no_history): New
-	functions.
-	(cli_interpreter_init): Install them as 'end_stepping_range',
-	'signal_received' 'signal_exited', 'exited' and 'no_history'
-	observers.
-	(_initialize_cli_interp): Remove cli_interp local.
-	* infrun.c (handle_inferior_event): Call the several stop reason
-	observers instead of printing the stop reason directly.
-	(end_stepping_range): New function.
-	(print_end_stepping_range_reason, print_signal_exited_reason)
-	(print_exited_reason, print_signal_received_reason)
-	(print_no_history_reason): Make static, and add an uiout
-	parameter.  Print to that instead of to CURRENT_UIOUT.
-	* infrun.h (print_end_stepping_range_reason)
-	(print_signal_exited_reason, print_exited_reason)
-	(print_signal_received_reason print_no_history_reason): New
-	declarations.
-	* mi/mi-common.h (struct mi_interp): Rename 'uiout' field to
-	'mi_uiout'.
-	<cli_uiout>: New field.
-	* mi/mi-interp.c (mi_interpreter_init): Adjust.  Create the new
-	uiout for CLI output.  Install 'signal_received',
-	'end_stepping_range', 'signal_exited', 'exited' and 'no_history'
-	observers.
-	(find_mi_interpreter, mi_interp_data, mi_on_signal_received)
-	(mi_on_end_stepping_range, mi_on_signal_exited, mi_on_exited)
-	(mi_on_no_history): New functions.
-	(ui_out_free_cleanup): Delete function.
-	(mi_on_normal_stop): Don't allocate a new uiout for CLI output,
-	instead use the one already stored in the MI interpreter data.
-	(mi_ui_out): Adjust.
-	* tui/tui-interp.c: Include infrun.h and observer.h.
-	(tui_interp): New global.
-	(tui_on_signal_received, tui_on_end_stepping_range)
-	(tui_on_signal_exited, tui_on_exited)
-	(tui_on_no_history): New functions.
-	(tui_init): Install them as 'end_stepping_range',
-	'signal_received' 'signal_exited', 'exited' and 'no_history'
-	observers.
-	(_initialize_tui_interp): Delete tui_interp local.
-
-2014-05-29  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/15713
-	* linux-nat.c (linux_nat_resume_callback): Rename the second
-	parameter to 'except'.  Skip LP if it points to EXCEPT.
-	(linux_nat_resume): Don't mark the event lwp as not stopped
-	before resuming sibling lwps.  Instead ask
-	linux_nat_resume_callback to skip the event lwp.  Mark it as not
-	stopped after actually resuming it.
-	(linux_handle_syscall_trap): Mark the lwp as not stopped after
-	resuming it.
-	(wait_lwp): Mark the lwp as stopped here.
-	(stop_wait_callback): Mark the lwp as not stopped right after
-	resuming it.  Don't mark lwps as stopped here.
-	(linux_nat_filter_event): Mark the lwp as stopped earlier.
-	(linux_nat_wait_1): Don't mark dead lwps as stopped here.
-
-2014-05-29  Pedro Alves  <palves@redhat.com>
-
-	PR PR15693
-	* infrun.c (resume): Determine how much to resume depending on
-	whether the caller wanted a step, not whether we can hardware step
-	the target.  Mark all threads that we intend to run as running,
-	unless we're calling an inferior function.
-	(normal_stop): If the thread is running an infcall, don't finish
-	thread state.
-	* target.c (target_resume): Don't mark threads as running here.
-
-2014-05-28  Joel Brobecker  <brobecker@adacore.com>
-
-	* serial.c (_initialize_serial): Remove support for
-	the "set remotebaud" and "show remotebaud" commands.
-	* NEWS: Add entry documenting the removal of that command.
-
-2014-05-28  Yao Qi  <yao@codesourcery.com>
-
-	* charset.c: Fix typo in comments.
-
-2014-05-27  Gary Benson  <gbenson@redhat.com>
-
-	* utils.c (internal_vproblem): Prompt for a bug report.
-
-2014-05-26  Andy Wingo  <wingo@igalia.com>
-
-	* guile/scm-arch.c (arscm_mark_arch_smob):
-	* guile/scm-block.c (bkscm_mark_block_smob)
-	(bkscm_mark_block_syms_progress_smob):
-	* guile/scm-breakpoint.c (bpscm_mark_breakpoint_smob):
-	* guile/scm-exception.c (exscm_mark_exception_smob):
-	* guile/scm-frame.c (frscm_mark_frame_smob):
-	* guile/scm-iterator.c (itscm_mark_iterator_smob):
-	* guile/scm-lazy-string.c (lsscm_mark_lazy_string_smob):
-	* guile/scm-objfile.c (ofscm_mark_objfile_smob):
-	* guile/scm-pretty-print.c (ppscm_mark_pretty_printer_smob)
-	(ppscm_mark_pretty_printer_worker_smob):
-	* guile/scm-symbol.c (syscm_mark_symbol_smob):
-	* guile/scm-symtab.c (stscm_mark_symtab_smob, stscm_mark_sal_smob):
-	* guile/scm-type.c (tyscm_mark_type_smob, tyscm_mark_field_smob):
-	* guile/scm-value.c (vlscm_mark_value_smob): Remove unnecessary
-	mark functions.
-	* guile/scm-symtab.c (stscm_free_sal_smob): Remove unnecessary free
-	function.
-
-2014-05-26  Andy Wingo  <wingo@igalia.com>
-	    Doug Evans  <xdje42@gmail.com>
-
-	* guile/guile-internal.h (GDB_SMOB_HEAD): Replace properties with
-	empty_base_class.  All uses updated.
-	(gdbscm_mark_gsmob, gdbscm_mark_chained_gsmob)
-	(gdbscm_mark_eqable_gsmob): Remove these now-unneeded functions.
-	Adapt all callers.
-	* guile/scm-gsmob.c (gdbscm_mark_gsmob)
-	(gdbscm_mark_chained_gsmob, gdbscm_mark_eqable_gsmob): Remove.
-	(gdbscm_gsmob_property, gdbscm_set_gsmob_property_x)
-	(gdbscm_gsmob_has_property_p, add_property_name)
-	(gdbscm_gsmob_properties): Remove, and remove them from gsmob_functions.
-	* guile/lib/gdb.scm (gdb-object-property, set-gdb-object-property)
-	(gdb-object-has-property?, gdb-object-properties): Remove.
-	(gdb-object-kind): Renamed from gsmob-kind.
-
-2014-05-26  Andy Wingo  <wingo@igalia.com>
-
-	* configure.ac (try_guile_versions): Allow building with guile 2.2.
-	* configure: Regenerate.
-
-2014-05-23  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* symfile-mem.c (symbol_file_add_from_memory): Add BFD sections.
-
-2014-05-23  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (record_btrace_allow_memory_access): Remove.
-	(replay_memory_access_read_only, replay_memory_access_read_write)
-	(replay_memory_access_types, replay_memory_access)
-	(set_record_btrace_cmdlist, show_record_btrace_cmdlist)
-	(cmd_set_record_btrace, cmd_show_record_btrace)
-	(cmd_show_replay_memory_access): New.
-	(record_btrace_xfer_partial, record_btrace_insert_breakpoint)
-	(record_btrace_remove_breakpoint): Replace
-	record_btrace_allow_memory_access with replay_memory_access.
-	(_initialize_record_btrace): Add commands.
-	* NEWS: Announce it.
-
-2014-05-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	* aarch64-linux-nat.c (asm/ptrace.h): Include.
-
-2014-05-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	* MAINTAINERS (Write After Approval): Move self back from
-	paper trail.
-
-2014-05-22  Pedro Alves  <palves@redhat.com>
-
-	* inferior.h (debug_infrun, debug_displaced, stop_on_solib_events)
-	(sync_execution, sched_multi, step_stop_if_no_debug, non_stop)
-	(disable_randomization, enum exec_direction_kind)
-	(execution_direction, stop_registers, start_remote)
-	(clear_proceed_status, proceed, resume, user_visible_resume_ptid)
-	(wait_for_inferior, normal_stop, get_last_target_status)
-	(prepare_for_detach, fetch_inferior_event, init_wait_for_inferior)
-	(insert_step_resume_breakpoint_at_sal)
-	(follow_inferior_reset_breakpoints, stepping_past_instruction_at)
-	(set_step_info, print_stop_event, signal_stop_state)
-	(signal_print_state, signal_pass_state, signal_stop_update)
-	(signal_print_update, signal_pass_update)
-	(update_signals_program_target, clear_exit_convenience_vars)
-	(displaced_step_dump_bytes, update_observer_mode)
-	(signal_catch_update, gdb_signal_from_command): Move
-	declarations ...
-	* infrun.h: ... to this new file.
-	* amd64-tdep.c: Include infrun.h.
-	* annotate.c: Include infrun.h.
-	* arch-utils.c: Include infrun.h.
-	* arm-linux-tdep.c: Include infrun.h.
-	* arm-tdep.c: Include infrun.h.
-	* break-catch-sig.c: Include infrun.h.
-	* breakpoint.c: Include infrun.h.
-	* common/agent.c: Include infrun.h instead of inferior.h.
-	* corelow.c: Include infrun.h.
-	* event-top.c: Include infrun.h.
-	* go32-nat.c: Include infrun.h.
-	* i386-tdep.c: Include infrun.h.
-	* inf-loop.c: Include infrun.h.
-	* infcall.c: Include infrun.h.
-	* infcmd.c: Include infrun.h.
-	* infrun.c: Include infrun.h.
-	* linux-fork.c: Include infrun.h.
-	* linux-nat.c: Include infrun.h.
-	* linux-thread-db.c: Include infrun.h.
-	* monitor.c: Include infrun.h.
-	* nto-tdep.c: Include infrun.h.
-	* procfs.c: Include infrun.h.
-	* record-btrace.c: Include infrun.h.
-	* record-full.c: Include infrun.h.
-	* remote-m32r-sdi.c: Include infrun.h.
-	* remote-mips.c: Include infrun.h.
-	* remote-notif.c: Include infrun.h.
-	* remote-sim.c: Include infrun.h.
-	* remote.c: Include infrun.h.
-	* reverse.c: Include infrun.h.
-	* rs6000-tdep.c: Include infrun.h.
-	* s390-linux-tdep.c: Include infrun.h.
-	* solib-irix.c: Include infrun.h.
-	* solib-osf.c: Include infrun.h.
-	* solib-svr4.c: Include infrun.h.
-	* target.c: Include infrun.h.
-	* top.c: Include infrun.h.
-	* windows-nat.c: Include infrun.h.
-	* mi/mi-interp.c: Include infrun.h.
-	* mi/mi-main.c: Include infrun.h.
-	* python/py-threadevent.c: Include infrun.h.
-
-2014-05-22  Pedro Alves  <palves@redhat.com>
-
-	* infrun.c (handle_inferior_event): Store the exit code for
-	--return-child-result here, instead of ...
-	(print_exited_reason): ... here.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/13860
-	* gdbthread.h (struct thread_control_state): New field
-	`command_interp'.
-	* infrun.c (follow_fork): Copy the new thread control field to the
-	child fork thread.
-	(clear_proceed_status_thread): Clear the new thread control field.
-	(proceed): Set the new thread control field.
-	* interps.h (command_interp): Declare.
-	* interps.c (command_interpreter): New global.
-	(command_interp): New function.
-	(interp_exec): Set `command_interpreter' while here.
-	* cli-out.c (cli_uiout_dtor): New function.
-	(cli_ui_out_impl): Install it.
-	* mi/mi-interp.c: Include cli-out.h.
-	(mi_cmd_interpreter_exec): Add comment.
-	(restore_current_uiout_cleanup): New function.
-	(ui_out_free_cleanup): New function.
-	(mi_on_normal_stop): If finishing an execution command started by
-	a CLI command, or any kind of breakpoint-like event triggered,
-	print the stop event to the output (CLI) stream.
-	* mi/mi-out.c (mi_ui_out_impl): Install NULL `dtor' handler.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* cli/cli-cmds.c (list_command): Handle the first "list" after the
-	current source line having changed.
-	* frame.h (set_current_sal_from_frame): Remove 'center' parameter.
-	* infrun.c (normal_stop): Adjust call to
-	set_current_sal_from_frame.
-	* source.c (clear_lines_listed_range): New function.
-	(set_current_source_symtab_and_line, identify_source_line): Clear
-	the lines listed range.
-	(line_info): Handle the first "info line" after the current source
-	line having changed.
-	* stack.c (print_stack_frame): Remove center handling.
-	(set_current_sal_from_frame): Remove 'center' parameter.  Don't
-	center sal.line.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* inf-child.c (inf_child_mourn_inferior): New function.
-	* inf-child.h (inf_child_mourn_inferior): New declaration.
-	* darwin-nat.c (darwin_mourn_inferior): Use
-	inf_child_mourn_inferior.
-	* gnu-nat.c (gnu_mourn_inferior): Likewise.
-	* inf-ptrace.c (inf_ptrace_mourn_inferior): Likewise.
-	* inf-ttrace.c (inf_ttrace_mourn_inferior): Likewise.
-	* nto-procfs.c (procfs_mourn_inferior): Likewise.
-	* windows-nat.c (windows_mourn_inferior): Likewise.
-
-2014-05-21  Doug Evans  <xdje42@gmail.com>
-
-	* guile/scm-breakpoint.c (breakpoint_functions): Fix typo.
-
-2014-05-21  Doug Evans  <xdje42@gmail.com>
-
-	* guile/scm-exception.c (gdbscm_invalid_object_error): Make result void.
-	(gdbscm_out_of_range_error): Ditto.
-	(gdbscm_memory_error): Ditto.
-	* guile/scm-string.c (gdbscm_scm_to_target_string_unsafe): Delete.
-	* guile/guile-internal.h (gdbscm_invalid_object_error): Update.
-	(gdbscm_out_of_range_error): Update.
-	(gdbscm_memory_error): Update.
-	(gdbscm_scm_to_target_string_unsafe): Delete.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* inf-child.c (inf_child_ops, inf_child_explicitly_opened): New
-	globals.
-	(inf_child_open_target): New function.
-	(inf_child_open): Use inf_child_open_target to push the target
-	instead of erroring out.
-	(inf_child_disconnect, inf_child_close)
-	(inf_child_maybe_unpush_target): New functions.
-	(inf_child_target): Install inf_child_disconnect and
-	inf_child_close.  Store a pointer to the returned object.
-	* inf-child.h (inf_child_open_target, inf_child_maybe_unpush): New
-	declarations.
-	* target.c (auto_connect_native_target): New global.
-	(show_default_run_target): New function.
-	(find_default_run_target): Return NULL if automatically connecting
-	to the native target is disabled.
-	(_initialize_target): Install set/show auto-connect-native-target.
-	* NEWS: Mention "set auto-connect-native-target", and "target
-	native".
-	* linux-nat.c (super_close): New global.
-	(linux_nat_close): Call super_close.
-	(linux_nat_add_target): Store a pointer to the base class's
-	to_close method.
-	* inf-ptrace.c (inf_ptrace_mourn_inferior, inf_ptrace_detach): Use
-	inf_child_maybe_unpush.
-	* inf-ttrace.c (inf_ttrace_him): Don't push the target if it is
-	already pushed.
-	(inf_ttrace_mourn_inferior): Only unpush the target after mourning
-	the inferior.  Use inf_child_maybe_unpush_target.
-	(inf_ttrace_attach): Don't push the target if it is already
-	pushed.
-	(inf_ttrace_detach): Use inf_child_maybe_unpush_target.
-	* darwin-nat.c (darwin_mourn_inferior): Only unpush the target
-	after mourning the inferior.  Use inf_child_maybe_unpush_target.
-	(darwin_attach_pid): Don't push the target if it is already
-	pushed.
-	* gnu-nat.c (gnu_mourn_inferior): Only unpush the target after
-	mourning the inferior.  Use inf_child_maybe_unpush_target.
-	(gnu_detach): Use inf_child_maybe_unpush_target.
-	* go32-nat.c (go32_create_inferior): Don't push the target if it
-	is already pushed.
-	(go32_mourn_inferior): Use inf_child_maybe_unpush_target.
-	* nto-procfs.c (procfs_is_nto_target): Adjust comment.
-	(procfs_open): Rename to ...
-	(procfs_open_1): ... this.  Add target_ops parameter.  Adjust
-	comments.  Can target_preopen before changing node.  Call
-	inf_child_open_target to push the target explicitly.
-	(procfs_attach): Don't push the target if it is already pushed.
-	(procfs_detach): Use inf_child_maybe_unpush_target.
-	(procfs_create_inferior): Don't push the target if it is already
-	pushed.
-	(nto_native_ops): New global.
-	(procfs_open): Reimplement.
-	(procfs_native_open): New function.
-	(init_procfs_targets): Install procfs_native_open as to_open of
-	"target native".  Store a pointer to the "native" target in
-	nto_native_ops.
-	* procfs.c (procfs_attach): Don't push the target if it is already
-	pushed.
-	(procfs_detach): Use inf_child_maybe_unpush_target.
-	(procfs_mourn_inferior): Only unpush the target after mourning the
-	inferior.  Use inf_child_maybe_unpush_target.
-	(procfs_init_inferior): Don't push the target if it is already
-	pushed.
-	* windows-nat.c (do_initial_windows_stuff): Don't push the target
-	if it is already pushed.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* NEWS: Mention that the "child", "GNU, "djgpp", "darwin-child"
-	and "procfs" targets are now called "native" instead.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* go32-nat.c (go32_open): Delete.
-	(go32_target): Don't override the to_open method.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* nto-procfs.c (procfs_can_run): New function.
-	(nto_procfs_ops): New global.
-	(init_procfs_targets): New, based on procfs_target.  Install
-	"target native" in addition to "target procfs".
-	(_initialize_procfs): Call init_procfs_targets instead of adding
-	the target here.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* windows-nat.c (windows_target): Don't override to_shortname,
-	to_longname or to_doc.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* gnu-nat.c (gnu): Don't override to_shortname, to_longname or
-	to_doc.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* darwin-nat.c (_initialize_darwin_inferior): Don't override
-	to_shortname, to_longname or to_doc.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* go32-nat.c (go32_target): Don't override to_shortname,
-	to_longname or to_doc.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* inf-child.c (inf_child_open): Remove mention of "child".
-	(inf_child_target): Rename target to "native" instead of "child".
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* Makefile.in (SFILES): Delete "regset.c".
-	(COMMON_OBS): Delete "regset.o".
-	* regset.c: Remove.
-	* regset.h (regset_alloc): Delete prototype.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* sparc-linux-tdep.c (sparc32_linux_gregset)
-	(sparc32_linux_fpregset): New static regset structures.
-	(sparc32_linux_init_abi): Drop dynamic regset allocations.
-	* sparc-tdep.h (struct gdbarch_tdep): Constify 'gregset' and
-	'fpregset' fields.
-	* sparc64-linux-tdep.c: (sparc64_linux_gregset)
-	(sparc64_linux_fpregset): New static regset structures.
-	(sparc64_linux_init_abi): Drop dynamic regset allocations.
-	* sparc64fbsd-tdep.c (sparc64fbsd_gregset, sparc64fbsd_fpregset):
-	New static regset structures.
-	(sparc64fbsd_init_abi): Drop dynamic regset allocations.
-	* sparc64nbsd-tdep.c (sparc64nbsd_gregset, sparc64nbsd_fpregset):
-	New static regset structures.
-	(sparc64nbsd_init_abi): Drop dynamic regset allocations.
-	* sparc64obsd-tdep.c (sparc64obsd_gregset, sparc64obsd_fpregset):
-	New static regset structures.
-	(sparc64obsd_init_abi): Drop dynamic regset allocations.
-	* sparcnbsd-tdep.c (sparc32nbsd_gregset, sparc32nbsd_fpregset):
-	New static regset structures.
-	(sparc32nbsd_init_abi): Drop dynamic regset allocations.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* sparc-linux-nat.c (supply_gregset, supply_fpregset)
-	(fill_gregset, fill_fpregset, _initialize_sparc_linux_nat): Rename
-	register maps ("regmaps") from "*regset" to "*regmap".  Do this
-	for all regmap types and variables.
-	* sparc-linux-tdep.c (sparc32_linux_step_trap)
-	(sparc32_linux_supply_core_gregset)
-	(sparc32_linux_collect_core_gregset)
-	(sparc32_linux_supply_core_fpregset)
-	(sparc32_linux_collect_core_fpregset): Likewise.
-	* sparc-nat.c (sparc_gregset, sparc_fpregset): Rename to...
-	(sparc_gregmap, sparc_fpregmap): ... these.
-	(sparc_supply_gregset, sparc_collect_gregset)
-	(sparc_supply_fpregset, sparc_collect_fpregset): Likewise.
-	(sparc_fetch_inferior_registers, sparc_store_inferior_registers)
-	(_initialize_sparc_nat): Rename regmaps.
-	* sparc-nat.h (sparc_gregset, sparc_fpregset): Rename to...
-	(sparc_gregmap, sparc_fpregmap): ... these.
-	(sparc_supply_gregset, sparc_collect_gregset)
-	(sparc_supply_fpregset, sparc_collect_fpregset): Likewise.
-	* sparc-sol2-nat.c (sparc_sol2_gregset, sparc_sol2_fpregset):
-	Rename macros to...
-	(sparc_sol2_gregmap, sparc_sol2_fpregmap): ... these.
-	(supply_gregset, supply_fpregset, fill_gregset, fill_fpregset):
-	Likewise.
-	* sparc-sol2-tdep.c (sparc32_sol2_gregset, sparc32_sol2_fpregset):
-	Rename to...
-	(sparc32_sol2_gregmap, sparc32_sol2_fpregmap): ... these.
-	* sparc-tdep.c (sparc32_supply_gregset, sparc32_collect_gregset)
-	(sparc32_supply_fpregset, sparc32_collect_fpregset): Rename
-	regmaps.
-	(sparc32_sunos4_gregset, sparc32_sunos4_fpregset)
-	(sparc32_bsd_fpregset): Rename to...
-	(sparc32_sunos4_gregmap, sparc32_sunos4_fpregmap)
-	(sparc32_bsd_fpregmap): ... these.
-	* sparc-tdep.h (struct sparc_gregset, struct sparc_fpregset)
-	(sparc32_sunos4_gregset, sparc32_sunos4_fpregset)
-	(sparc32_bsd_fpregset, sparc32_sol2_gregset)
-	(sparc32_sol2_fpregset, sparc32nbsd_gregset): Rename to...
-	(struct sparc_gregmap, struct sparc_fpregmap)
-	(sparc32_sunos4_gregmap, sparc32_sunos4_fpregmap)
-	(sparc32_bsd_fpregmap, sparc32_sol2_gregmap)
-	(sparc32_sol2_fpregmap, sparc32nbsd_gregmap): ... these.
-	(sparc32_supply_regset, sparc32_collect_gregset)
-	(sparc32_supply_fpregset, sparc32_collect_fpregset): Adjust
-	prototypes.
-	* sparc64-linux-nat.c (sparc64_linux_ptrace_gregset): Rename to...
-	(sparc64_linux_ptrace_gregmap): ... this.
-	(supply_gregset, supply_fpregset, fill_gregset, fill_fpregset)
-	(_initialize_sparc64_linux_nat): Rename regmaps.
-	* sparc64-linux-tdep.c (sparc64_linux_core_gregset): Rename to...
-	(sparc64_linux_core_gregmap): ... this.
-	(sparc64_linux_supply_core_gregset)
-	(sparc64_linux_collect_core_gregset)
-	(sparc64_linux_supply_core_fpregset)
-	(sparc64_linux_collect_core_fpregset): Rename regmaps.
-	* sparc64-sol2-tdep.c (sparc64_sol2_gregset)
-	(sparc64_sol2_fpregset): Rename to...
-	(sparc64_sol2_gregmap, sparc64_sol2_fpregmap): ... these.
-	* sparc64-tdep.c (sparc64_supply_gregset, sparc64_collect_gregset)
-	(sparc64_supply_fpregset, sparc64_collect_fpregset): Rename
-	regmaps.
-	* sparc64-tdep.h (struct sparc_gregset, sparc64_sol2_gregset)
-	(sparc64_sol2_fpregset, sparc64fbsd_gregset, sparc64nbsd_gregset)
-	(sparc64_bsd_fpregset): Rename to...
-	(struct sparc_gregmap, sparc64_sol2_gregmap)
-	(sparc64_sol2_fpregmap, sparc64fbsd_gregmap, sparc64nbsd_gregmap)
-	(sparc64_bsd_fpregmap): ... these.
-	(sparc64_supply_gregset, sparc64_collect_gregset)
-	(sparc64_supply_fpregset, sparc64_collect_fpregset): Adjust
-	prototypes.
-	* sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Rename regmaps.
-	* sparc64fbsd-tdep.c (sparc64fbsd_gregset): Rename to...
-	(sparc64fbsd_gregmap): ... this.
-	(sparc64fbsd_supply_gregset, sparc64fbsd_collect_gregset)
-	(sparc64fbsd_supply_fpregset, sparc64fbsd_collect_fpregset):
-	Rename regmaps.
-	* sparc64nbsd-nat.c (sparc64nbsd_supply_gregset)
-	(sparc64nbsd_collect_gregset, sparc64nbsd_supply_fpregset)
-	(sparc64nbsd_collect_fpregset): Likewise.
-	* sparc64nbsd-tdep.c (sparc64nbsd_gregset): Rename to...
-	(sparc64nbsd_gregmap): ... this.
-	(sparc64nbsd_supply_gregset, sparc64nbsd_supply_fpregset): Rename
-	regmaps.
-	* sparc64obsd-nat.c (_initialize_sparc64obsd_nat): Likewise.
-	* sparc64obsd-tdep.c (sparc64obsd_gregset): Rename to...
-	(sparc64obsd_gregmap): ... this.
-	(sparc64obsd_supply_gregset, sparc64obsd_supply_fpregset): Rename
-	regmaps.
-	* sparcnbsd-nat.c (_initialize_sparcnbsd_nat): Likewise.
-	* sparcnbsd-tdep.c (sparc32nbsd_gregset): Rename to...
-	(sparc32nbsd_gregmap): ... this.
-	(sparc32nbsd_supply_gregset, sparc32nbsd_supply_fpregset): Rename
-	regmaps.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* score-tdep.c (score7_linux_gregset): New static regset
-	structure.
-	(score7_linux_regset_from_core_section): Remove dynamic regset
-	allocation.
-	(score_gdbarch_init): Drop allocation of tdep structure.
-	* score-tdep.h (struct gdbarch_tdep): Remove declaration.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* mn10300-linux-tdep.c (am33_gregset, am33_fpregset): New static
-	regset structures.
-	(am33_regset_from_core_section): Remove dynamic regset
-	allocations.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* mips-linux-tdep.c (mips_linux_gregset, mips64_linux_gregset)
-	(mips_linux_fpregset, mips64_linux_fpregset): New static regset
-	structures.
-	(mips_linux_regset_from_core_section): Remove dynamic regset
-	allocations.
-	* mips-tdep.h (struct gdbarch_tdep): Remove fields 'gregset',
-	'gregset64', 'fpregset', and 'fpregset64'.
-	* mips-tdep.c (mips_gdbarch_init): Remove initialization of
-	deleted tdep fields.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* amd64-tdep.c (amd64_fpregset, amd64_xstateregset): New static
-	regset structures.
-	(amd64_regset_from_core_section): Remove dynamic regset
-	allocations.
-	* amd64obsd-tdep.c (amd64obsd_combined_regset): New static regset
-	structure.
-	(amd64obsd_regset_from_core_section): Remove dynamic regset
-	allocation.
-	* i386-cygwin-tdep.c (i386_windows_regset_from_core_section):
-	Likewise.
-	* i386-nto-tdep.c (i386nto_supply_gregset): Adjust call to
-	x86-common regset supply function.
-	* i386-tdep.c (i386_collect_gregset): Make static.
-	(i386_gregset): New global regset structure.
-	(i386_fpregset, i386_xstateregset): New static regset structures.
-	(i386_regset_from_core_section): Remove dynamic regset
-	allocations.
-	(i386_gdbarch_init): Remove initialization of tdep fields
-	'gregset', 'fpregset', and 'xstateregset'.
-	* i386-tdep.h (struct gdbarch_tdep): Remove fields 'gregset',
-	'fpregset', and 'xstateregset'.
-	(i386_collect_gregset): Remove prototype.
-	(i386_gregset): New declaration.
-	* i386obsd-tdep.c (i386obsd_aout_gregset): New static regset
-	structure.
-	(i386obsd_aout_regset_from_core_section): Remove dynamic regset
-	allocation.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* arm-linux-tdep.c (arm_linux_gregset, arm_linux_fpregset)
-	(arm_linux_vfpregset): New static regset structures.
-	(arm_linux_regset_from_core_section): Remove dynamic allocation of
-	regset structures.
-	* arm-tdep.h (struct gdbarch_tdep): Remove 'gregset', 'fpregset',
-	and 'vfpregset' fields.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* aarch64-linux-tdep.c (aarch64_linux_gregset)
-	(aarch64_linux_fpregset): New static regset structures.
-	(aarch64_linux_regset_from_core_section): Drop dynamic allocation
-	of regset structures.
-	* aarch64-tdep.h (struct gdbarch_tdep): Remove 'gregset' and
-	'fpregset' fields.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* regset.h (struct regset): Remove gdbarch field.
-	* regset.c (regset_alloc): Drop initialization of gdbarch field.
-	* nios2-linux-tdep.c (nios2_core_regset): Likewise.
-	* ppcfbsd-tdep.c (ppc32_fbsd_gregset, ppc64_fbsd_gregset):
-	Likewise.
-	* ppc-linux-tdep.c (ppc32_linux_gregset, ppc64_linux_gregset)
-	(ppc32_linux_fpregset, ppc32_linux_vrregset)
-	(ppc32_linux_vsxregset): Likewise.
-	* i386obsd-tdep.c (i386obsd_aout_supply_regset): Get the gdbarch
-	via the regcache instead of the regset.
-	* i386-tdep.c (i386_supply_gregset, i386_collect_gregset)
-	(i386_supply_fpregset, i386_collect_fpregset): Likewise.
-	* amd64obsd-tdep.c (amd64obsd_supply_regset): Likewise.
-	* amd64-tdep.c (amd64_supply_fpregset, amd64_collect_fpregset):
-	Likewise.
-
-2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
-
-	* alpha-linux-tdep.c (alpha_linux_gregset, alpha_linux_fpregset):
-	Constify structures.
-	* alphanbsd-tdep.c (alphanbsd_gregset, alphanbsd_fpregset)
-	(alphanbsd_aout_gregset): Likewise.
-	* armbsd-tdep.c (armbsd_gregset, armbsd_fpregset): Likewise.
-	* frv-linux-tdep.c (frv_linux_gregset, frv_linux_fpregset):
-	Likewise.
-	* hppa-hpux-tdep.c (hppa_hpux_regset): Likewise.
-	* hppa-linux-tdep.c (hppa_linux_regset, hppa_linux_fpregset):
-	Likewise.
-	* hppanbsd-tdep.c (hppanbsd_gregset): Likewise.
-	* hppaobsd-tdep.c (hppaobsd_gregset, hppaobsd_fpregset): Likewise.
-	* m32r-linux-tdep.c (m32r_linux_gregset): Likewise.
-	* m68kbsd-tdep.c (m68kbsd_gregset, m68kbsd_fpregset): Likewise.
-	* m88k-tdep.c (m88k_gregset): Likewise.
-	* mips64obsd-tdep.c (mips64obsd_gregset): Likewise.
-	* mipsnbsd-tdep.c (mipsnbsd_gregset, mipsnbsd_fpregset): Likewise.
-	* nios2-linux-tdep.c (nios2_core_regset): Likewise.
-	* ppcfbsd-tdep.c (ppc32_fbsd_fpregset): Likewise.
-	* ppcnbsd-tdep.c (ppcnbsd_gregset, ppcnbsd_fpregset): Likewise.
-	* ppcnbsd-tdep.h (ppcnbsd_gregset, ppcnbsd_fpregset): Likewise.
-	* ppcobsd-tdep.c (ppcobsd_gregset, ppcobsd_fpregset): Likewise.
-	* ppcobsd-tdep.h (ppcobsd_gregset, ppcobsd_fpregset): Likewise.
-	* rs6000-aix-tdep.c (rs6000_aix32_regset, rs6000_aix64_regset):
-	Likewise.
-	* sh-tdep.c (sh_corefile_gregset, sh_corefile_fpregset): Likewise.
-	* sh-tdep.h (sh_corefile_gregset): Likewise.
-	* tilegx-linux-tdep.c (tilegx_linux_regset): Likewise.
-	* vax-tdep.c (vax_gregset): Likewise.
-
-2014-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	Fix TLS access for -static -pthread.
-	* linux-thread-db.c (struct thread_db_info): Add td_thr_tlsbase_p.
-	(try_thread_db_load_1): Initialize it.
-	(thread_db_get_thread_local_address): Call it if LM is zero.
-	* target.c (target_translate_tls_address): Remove LM_ADDR zero check.
-	* target.h (struct target_ops) (to_get_thread_local_address): Add
-	load_module_addr comment.
-
-2014-05-21  Pedro Alves  <palves@redhat.com>
-
-	* dcache.c (dcache_read_memory_partial): If reading the cache line
-	fails, fallback to reading just the memory the caller wanted.
-
-2014-05-20  Doug Evans  <dje@google.com>
-
-	* python/py-progspace.c (py_free_pspace): Call target_gdbarch
-	instead of get_current_arch.
-
-2014-05-20  Pedro Alves  <palves@redhat.com>
-
-	* NEWS: Mention that compare-sections now works with all targets.
-
-	* remote.c (PACKET_qCRC): New enum value.
-	(remote_verify_memory): Don't send qCRC if the target has no
-	execution.  Use packet_support/packet_ok.  If the target doesn't
-	support the qCRC packet, fallback to a deep memory copy.
-	(compare_sections_command): Say "target image" instead of "remote
-	executable".
-	(_initialize_remote): Add PACKET_qCRC to the list of config
-	packets that have no associated command.  Extend comment.
-	* target.c (simple_verify_memory, default_verify_memory): New
-	function.
-	* target.h (struct target_ops) <to_verify_memory>: Default to
-	default_verify_memory.
-	(simple_verify_memory): New declaration.
-	* target-delegates.c: Regenerate.
-
-2014-05-20  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (record_btrace_step_thread): Check for empty history.
-
-2014-05-20  Hui Zhu  <hui@codesourcery.com>
+2015-01-08  Pedro Alves  <palves@redhat.com>
 	    Yao Qi  <yao@codesourcery.com>
 
-	PR backtrace/16558
-	* aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Update comments
-	and change address of sp and pc.
-
-2014-05-19  Tom Tromey  <tromey@redhat.com>
-
-	* gdbtypes.c (rank_function): Use XNEWVEC.
-	* mi/mi-cmds.c (build_table): Use XCNEWVEC.
-
-2014-05-19  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (build_type_psymtabs_1): Renamed from
-	build_type_unit_groups and moved closer to only caller.  Remove
-	arguments.  All references updated.  Remove outdated .gdb_index
-	comment.
-	(struct tu_abbrev_offset, sort_tu_by_abbrev_offset): Move with
-	build_type_psymtabs_1.
-
-2014-05-19  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (struct dwarf2_per_objfile): Delete unused members
-	n_type_unit_groups, all_type_unit_groups.  All uses removed.
-	(get_type_unit_group, build_type_unit_groups): Delete forward decls.
-	(dw2_get_cutu): Renamed from dw2_get_cu.  All callers updated.
-	(dw2_get_cu): Renamed from dw2_get_primary_cu.  All callers updated.
-	(add_type_unit_group_to_table): Delete.
-
-2014-05-19  Doug Evans  <dje@google.com>
-
-	* eval.c (evaluate_subexp_standard): Add some comments.
-
-2014-05-17  Doug Evans  <xdje42@gmail.com>
-
-	* progspace.c (remove_program_space): Delete, unused.
-	* progspace.h (remove_program_space): Ditto.
-
-2014-05-17  Doug Evans  <xdje42@gmail.com>
-
-	* inferior.c (prune_inferiors): Fix comment.
-	(remove_inferior_command): Call prune_program_spaces.
-
-2014-05-16  Doug Evans  <dje@google.com>
-
-	New command line option -D.
-	* NEWS: Mention it.
-	* main.c (set_gdb_data_directory): New function.
-	(captured_main): Recognize -D.  Flag error for --data-directory "".
-	Call set_gdb_data_directory.
-	(print_gdb_help): Print --data-directory, -D.
-	* main.h (set_gdb_data_directory): Declare.
-	* top.c (staged_gdb_datadir): New static global.
-	(set_gdb_datadir): Call set_gdb_data_directory
-	(show_gdb_datadir): New function.
-	(init_main): Update init of data-directory parameter.
-
-2014-05-16  Gregory Fong  <gregory.0xf0@gmail.com>
-
-	Import the "dirfd" gnulib module.
-	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add dirfd.
-	* gnulib/aclocal.m4: Update.
-	* gnulib/config.in: Update.
-	* gnulib/configure: Update.
-	* gnulib/import/Makefile.am: Update.
-	* gnulib/import/Makefile.in: Update.
-	* gnulib/import/dirfd.c: New.
-	* gnulib/import/m4/dirfd.m4: New.
-	* gnulib/import/m4/gnulib-cache.m4: Update.
-	* gnulib/import/m4/gnulib-comp.m4: Update.
-
-2014-05-16  Pierre Muller  <muller@sourceware.org>
-	    Yao Qi  <yao@codesourcery.com>
-
-	* valprint.c (print_wchar): Move the code on checking whether
-	W is a printable wide char to the default branch of switch
-	statement below.  Call wchar_printable instead of gdb_iswprint.
-
-2014-05-16  Taimoor Mirza  <tmirza@codesourcery.com>
-
-	* arm-tdep.c (thumb_analyze_prologue): Fix offset calculation for
-	ldr.w and ldrd instructions.
-
-2014-05-15  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (read_structure_type): Delete outdated comments.
-
-2014-05-14  Tom Tromey  <tromey@redhat.com>
-
-	* macrocmd.c (print_macro_definition): Reindent.
-
-2014-05-13  Doug Evans  <xdje42@gmail.com>
-
-	* python/py-cmd.c (cmdpy_completer): Add comment.
-	(completers): Make const.
-
-2014-05-13  Simon Marchi  <simon.marchi@ericsson.com>
-
-	* infrun.c (resume): Remove should_resume (unused).  Move up
-	declaration of resume_ptid.
-
-2014-05-13  Tom Tromey  <tromey@redhat.com>
-
-	* language.h (unop_type_check): Remove.
-	(binop_type_check): Don't declare.
-
-2014-05-13  Andreas Arnez  <arnez@vnet.linux.ibm.com>
-
-	* s390-linux-nat.c (fill_gregset): Remove erroneous offset 4 in
-	call to regcache_raw_collect.
-
-2014-05-12  Simon Marchi  <simon.marchi@ericsson.com>
-
-	* mi/mi-console.c (mi_console_raw_packet): Use the value from
-	mi_console->quote as the quoting character.
-
-2014-05-12  Simon Marchi  <simon.marchi@ericsson.com>
-
-	* MAINTAINERS (Write After Approval): Add "Simon Marchi".
-
-2014-04-29  Tom Tromey  <tromey@redhat.com>
-
-	* varobj.c (_initialize_varobj): Rename to "set debug varobj" and
-	"show debug varobj".
-
-2014-05-07  Kyle McMartin  <kyle@redhat.com>
-
-	Pushed by Joel Brobecker  <brobecker@adacore.com>.
-	* aarch64-tdep.c (aarch64_software_single_step): New function.
-	(aarch64_gdbarch_init): Handle single stepping of atomic sequences
-	with aarch64_software_single_step.
-
-2014-05-05  Joel Brobecker  <brobecker@adacore.com>
-
-	GDB 7.7.1 released.
-
-2014-05-05  Keith Seitz  <keiths@redhat.com>
-
-	* linespec.c (linespec_parse_basic): Run cleanups if a convenience
-	variable or history value is successfully parsed.
-
-2014-05-05  Yao Qi  <yao@codesourcery.com>
-	    Pedro Alves  <palves@redhat.com>
-
-	* tracefile-tfile.c (tfile_xfer_partial): Record the lowest
-	address of blocks that intersects the requested range.  Trim
-	LEN up to LOW_ADDR_AVAILABLE if read from executable read-only
-	sections.
-	* ctf.c (ctf_xfer_partial): Likewise.
-
-2014-05-05  Yao Qi  <yao@codesourcery.com>
-
-	* printcmd.c (display_command): Remove the check to
-	target_has_execution.
-
-2014-05-03  Mark Kettenis  <kettenis@gnu.org>
-
-	* ppcobsd-nat.c: Include "obsd-nat.h".
-	(_initialize_ppcobsd_nat): Call obsd_add_target instead of
-	add_target.
-	* config/powerpc/obsd.mh (NATDEPFILES): Add obsd-nat.o.
-
-2014-05-02  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	* stap-probe.c (enum stap_arg_bitness): New enums to represent 8
-	and 16-bit signed and unsigned arguments.  Update comment.
-	(stap_parse_probe_arguments): Extend code to handle such
-	arguments.  Use warning instead of complaint to notify about
-	unrecognized bitness.
-
-2014-05-02  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	PR breakpoints/16889
-	* stap-probe.c (stap_parse_probe_arguments): Simplify
-	check for non-prefixed probes (i.e., probes whose
-	arguments do not start with "N@").  Always set the
-	argument type to a sane value.
-
-2014-05-01  David Taylor  <dtaylor@emc.com>
-
-	* remote.c (compare_sections_command): Add -r option to compare
-	all loadable read-only sections.
-
-2014-04-30  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* dwarf2loc.c (dwarf2_locexpr_baton_eval,
-	dwarf2_evaluate_property): Remove unused CORE_ADDR argument.
-	Update all callers.
-	* dwarf2loc.h (dwarf2_evaluate_property): Update signature.
-	* gdbtypes.c (resolve_dynamic_range, resolve_dynamic_array):
-	Remove unused CORE_ADDR argument.  Update all callers.
-
-2014-04-29  Pedro Alves  <palves@redhat.com>
-
-	* remote.c (struct packet_config) <detect>: Extend comment.
-	(add_packet_config_cmd): Don't set the config's detect or support
-	fields here.
-	(init_all_packet_configs): Also initialize the config's 'detect'
-	field.
-	(reset_all_packet_configs_support): New function.
-	(remote_open_1): Call reset_all_packet_configs_support instead of
-	init_all_packet_configs.
-	(_initialize_remote): Initialize all packet configs.  Assert that
-	all packets have an associated command, except a few known
-	outliers.
-
-2014-04-28  Joel Brobecker  <brobecker@adacore.com>
-
-	* dwarf2read.c (read_subrange_type): Handle dynamic
-	DW_AT_lower_bound attributes.
-
-2014-04-28  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c (ada_discrete_type_high_bound): Resolve the type's
-	dynamic bounds before computing its upper bound.
-	(ada_discrete_type_low_bound): Same as above with the lower bound.
-
-2014-04-28  Joel Brobecker  <brobecker@adacore.com>
-
-	* dwarf2read.c (is_dynamic_type): Return true for dynamic
-	range types.  Adjust the array handling implementation to
-	take advantage of this change.
-	(resolve_dynamic_range): New function, mostly extracted from
-	resolve_dynamic_bounds.
-	(resolve_dynamic_array): New function, mostly extracted from
-	resolve_dynamic_bounds.
-	(resolve_dynamic_bounds): Delete.
-	(resolve_dynamic_type): Reimplement.  Add handling of
-	TYPE_CODE_RANGE types.
-
-2014-04-28  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-varobj.c (ada_varobj_describe_simple_array_child): Remove
-	handling of parallel ___XA types.
-
-2014-04-28  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Remove
-	unnecessary second call to static_unwrap_type.
-
-2014-04-27  Hui Zhu  <hui@codesourcery.com>
-
-	* stack.c (print_frame_info): Call do_gdb_disassembly with
-	DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME.
-
-2014-04-26  Doug Evans  <xdje42@gmail.com>
-
-	* guile/scm-safe-call.c (scscm_eval_scheme_string): Fix comment.
-
-2014-04-25  Pedro Alves  <palves@redhat.com>
-
-	PR server/16255
-	* common/linux-ptrace.c (linux_ptrace_attach_warnings): Rename to ...
-	(linux_ptrace_attach_fail_reason): ... this.  Remove "warning: "
-	and newline from built string.
-	* common/linux-ptrace.h (linux_ptrace_attach_warnings): Rename to ...
-	(linux_ptrace_attach_fail_reason): ... this.
-	* linux-nat.c (linux_nat_attach): Adjust to use
-	linux_ptrace_attach_fail_reason.
-
-2014-04-25  Pedro Alves  <palves@redhat.com>
-
-	* remote.c (struct remote_state): Remove multi_process_aware,
-	non_stop_aware, cond_tracepoints, cond_breakpoints,
-	breakpoint_commands, fast_tracepoints, static_tracepoints,
-	install_in_trace, disconnected_tracing,
-	enable_disable_tracepoints, string_tracing, and
-	augmented_libraries_svr4_read fields.
-	(remote_multi_process_p): Move further below in the file.
-	(struct packet_config): Add comments.
-	(update_packet_config): Delete function.
-	(show_packet_config_cmd): Use packet_config_support.
-	(add_packet_config_cmd): Use NULL as set callback.
-	(packet_ok): "set remote foo-packet"-style commands no longer
-	change config->supported -- adjust.
-	(PACKET_ConditionalTracepoints, PACKET_ConditionalBreakpoints)
-	(PACKET_BreakpointCommands, PACKET_FastTracepoints)
-	(PACKET_StaticTracepoints, PACKET_InstallInTrace): Add comments.
-	(PACKET_QNonStop, PACKET_multiprocess_feature)
-	(PACKET_EnableDisableTracepoints_feature, PACKET_tracenz_feature)
-	(PACKET_DisconnectedTracing_feature)
-	(PACKET_augmented_libraries_svr4_read_feature): New enum values.
-	(set_remote_protocol_packet_cmd): Delete function.
-	(packet_config_support, packet_support): New functions.
-	(set_remote_protocol_Z_packet_cmd): Don't call
-	update_packet_config.
-	(remote_query_attached, remote_pass_signals)
-	(remote_program_signals, remote_threads_info)
-	(remote_threads_extra_info, remote_start_remote): Use
-	packet_support.
-	(remote_start_remote): Use packet_config_support and
-	packet_support.
-	(init_all_packet_configs): Set all packets to unknown support,
-	instead of calling update_packet_config.
-	(remote_check_symbols): Use packet_support.
-	(remote_supported_packet): Unconditionally set the packet config's
-	support status.
-	(remote_multi_process_feature, remote_non_stop_feature)
-	(remote_cond_tracepoint_feature, remote_cond_breakpoint_feature)
-	(remote_breakpoint_commands_feature)
-	(remote_fast_tracepoint_feature, remote_static_tracepoint_feature)
-	(remote_install_in_trace_feature)
-	(remote_disconnected_tracing_feature)
-	(remote_enable_disable_tracepoint_feature)
-	(remote_string_tracing_feature)
-	(remote_augmented_libraries_svr4_read_feature): Delete functions.
-	(remote_protocol_features): Adjust to use remote_supported_packet
-	for "augmented-libraries-svr4-read", "multiprocess", "QNonStop",
-	"ConditionalTracepoints", "ConditionalBreakpoints",
-	"BreakpointCommands", "FastTracepoints", "StaticTracepoints",
-	"InstallInTrace", "DisconnectedTracing", "DisconnectedTracing",
-	"EnableDisableTracepoints", and "tracenz".
-	(remote_query_supported): Use packet_support.
-	(remote_open_1): Adjust.
-	(extended_remote_attach_1): Use packet_support.  Switch on the
-	result of packet_ok instead of checking whether the packet ended
-	up disabled.
-	(remote_vcont_resume): Use packet_support.
-	(remote_resume, remote_stop_ns, fetch_register_using_p)
-	(remote_prepare_to_store, store_register_using_P)
-	(check_binary_download, remote_write_bytes): Use packet_support.
-	(remote_vkill): Use packet_support.  Switch on the result of
-	packet_ok instead of checking whether the packet ended up
-	disabled.
-	(extended_remote_supports_disable_randomization): Use
-	packet_support.
-	(extended_remote_run): Switch on the result of packet_ok instead
-	of checking whether the packet ended up disabled.
-	(remote_insert_breakpoint, remote_remove_breakpoint)
-	(remote_insert_watchpoint, remote_remove_watchpoint)
-	(remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Use
-	packet_support.
-	(remote_search_memory): Use packet_config_support.
-	(remote_get_thread_local_address, remote_get_tib_address)
-	(remote_hostio_send_command, remote_can_execute_reverse): Use
-	packet_support.
-	(remote_supports_cond_tracepoints)
-	(remote_supports_cond_breakpoints)
-	(remote_supports_fast_tracepoints)
-	(remote_supports_static_tracepoints)
-	(remote_supports_install_in_trace)
-	(remote_supports_enable_disable_tracepoint)
-	(remote_supports_string_tracing)
-	(remote_can_run_breakpoint_commands): Rewrite, checking whether
-	the packet config says the feature is enabled or disabled.
-	(remote_download_tracepoint, remote_trace_set_readonly_regions)
-	(remote_get_trace_status): Use packet_support.
-	(remote_set_disconnected_tracing): Adjust to check whether the
-	feature is enabled with packet_support.
-	(remote_set_trace_buffer_size, remote_use_agent)
-	(remote_can_use_agent, remote_supports_btrace): Use
-	packet_support.
-	(remote_enable_btrace, remote_disable_btrace, remote_read_btrace):
-	Use packet_config_support.
-	(remote_augmented_libraries_svr4_read): Rewrite, checking whether
-	the packet config says the feature is enabled or disabled.
-	(set_range_stepping): Use packet_support.
-
-2014-04-25  Tom Tromey  <tromey@redhat.com>
-
-	* cli/cli-cmds.c (_initialize_cli_cmds): Document "quit" command's
-	argument.
-
-2014-04-24  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* NEWS: Mention support for C99 variable length arrays.
-
-2014-04-24  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c (standard_exc): Expand introductory comment.
-
-2014-04-24  Michael Sturm  <michael.sturm@mintel.com>
-	    Walfred Tedeschi  <walfred.tedeschi@intel.com>
-
-	* amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add
-	AVX512 registers.
-	(amd64_linux_read_description): Add code to handle AVX512 xstate
-	mask and return respective tdesc.
-	* amd64-linux-tdep.c: Include features/i386/amd64-avx512-linux.c
-	and features/i386/x32-avx512-linux.c.
-	(amd64_linux_gregset_reg_offset): Add AVX512 registers.
-	(amd64_linux_core_read_description): Add code to handle AVX512
-	xstate mask and return respective tdesc.
-	(_initialize_amd64_linux_tdep): Initialize AVX512 tdesc.
-	* amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Adjust regnum
-	calculation.
-	(AMD64_LINUX_NUM_REGS): Adjust to new number of registers.
-	(tdesc_amd64_avx512_linux): New prototype.
-	(tdesc_x32_avx512_linux): Likewise.
-	* amd64-tdep.c: Include features/i386/amd64-avx512.c and
-	features/i386/x32-avx512.c.
-	(amd64_ymm_avx512_names): New register names for pseudo
-	registers YMM16-31.
-	(amd64_ymmh_avx512_names): New register names for raw registers
-	YMMH16-31.
-	(amd64_k_names): New register names for K registers.
-	(amd64_zmmh_names): New register names for ZMM raw registers.
-	(amd64_zmm_names): New registers names for ZMM pseudo registers.
-	(amd64_xmm_avx512_names): New register names for XMM16-31
-	registers.
-	(amd64_pseudo_register_name): Add code to return AVX512 pseudo
-	registers.
-	(amd64_init_abi): Add code to intitialize AVX512 tdep variables
-	if feature is present.
-	(_initialize_amd64_tdep): Call AVX512 tdesc initializers.
-	* amd64-tdep.h (enum amd64_regnum): Add AVX512 registers.
-	(AMD64_NUM_REGS): Adjust to new number of registers.
-	* i386-linux-nat.c (GETXSTATEREGS_SUPPLIES): Extend range of
-	registers supplied via XSTATE by AVX512 registers.
-	(i386_linux_read_description): Add case for AVX512.
-	* i386-linux-tdep.c: Include i386-avx512-linux.c.
-	(i386_linux_gregset_reg_offset): Add AVX512 registers.
-	(i386_linux_core_read_description): Add case for AVX512.
-	(i386_linux_init_abi): Install supported register note section
-	for AVX512.
-	(_initialize_i386_linux_tdep): Add call to tdesc init function for
-	AVX512.
-	* i386-linux-tdep.h (I386_LINUX_NUM_REGS): Set number of
-	registers to be number of zmm7h + 1.
-	(tdesc_i386_avx512_linux): Add tdesc for AVX512 registers.
-	* i386-tdep.c: Include features/i386/i386-avx512.c.
-	(i386_zmm_names): Add ZMM pseudo register names array.
-	(i386_zmmh_names): Add ZMM raw register names array.
-	(i386_k_names): Add K raw register names array.
-	(num_lower_zmm_regs): Add constant for the number of lower ZMM
-	registers. AVX512 has 16 more ZMM registers than there are YMM
-	registers.
-	(i386_zmmh_regnum_p): Add function to look up register number of
-	ZMM raw registers.
-	(i386_zmm_regnum_p): Likewise for ZMM pseudo registers.
-	(i386_k_regnum_p): Likewise for K raw registers.
-	(i386_ymmh_avx512_regnum_p): Likewise for additional YMM raw
-	registers added by AVX512.
-	(i386_ymm_avx512_regnum_p): Likewise for additional YMM pseudo
-	registers added by AVX512.
-	(i386_xmm_avx512_regnum_p): Likewise for additional XMM registers
-	added by AVX512.
-	(i386_register_name): Add code to hide YMMH16-31 and ZMMH0-31.
-	(i386_pseudo_register_name): Add ZMM pseudo registers.
-	(i386_zmm_type): Construct and return vector registers type for ZMM
-	registers.
-	(i386_pseudo_register_type): Return appropriate type for YMM16-31,
-	ZMM0-31 pseudo registers and K registers.
-	(i386_pseudo_register_read_into_value): Add code to read K, ZMM
-	and YMM16-31 registers from register cache.
-	(i386_pseudo_register_write): Add code to write  K, ZMM and
-	YMM16-31 registers.
-	(i386_register_reggroup_p): Add code to include/exclude AVX512
-	registers in/from respective register groups.
-	(i386_validate_tdesc_p): Handle AVX512 feature, add AVX512
-	registers if feature is present in xcr0.
-	(i386_gdbarch_init): Add code to initialize AVX512 feature
-	variables in tdep structure, wire in pseudo registers and call
-	initialize_tdesc_i386_avx512.
-	* i386-tdep.h (struct gdbarch_tdep): Add AVX512 related
-	variables.
-	(i386_regnum): Add AVX512 registers.
-	(I386_SSE_NUM_REGS): New define for number of SSE registers.
-	(I386_AVX_NUM_REGS): Likewise for AVX registers.
-	(I386_AVX512_NUM_REGS): Likewise for AVX512 registers.
-	(I386_MAX_REGISTER_SIZE): Change to 64 bytes, ZMM registers are
-	512 bits wide.
-	(i386_xmm_avx512_regnum_p): New prototype for register look up.
-	(i386_ymm_avx512_regnum_p): Likewise.
-	(i386_k_regnum_p): Likewise.
-	(i386_zmm_regnum_p): Likewise.
-	(i386_zmmh_regnum_p): Likewise.
-	* i387-tdep.c : Update year in copyright notice.
-	(xsave_ymm_avx512_offset): New table for YMM16-31 offsets in
-	XSAVE buffer.
-	(XSAVE_YMM_AVX512_ADDR): New macro.
-	(xsave_xmm_avx512_offset): New table for XMM16-31 offsets in
-	XSAVE buffer.
-	(XSAVE_XMM_AVX512_ADDR): New macro.
-	(xsave_avx512_k_offset): New table for K register offsets in
-	XSAVE buffer.
-	(XSAVE_AVX512_K_ADDR): New macro.
-	(xsave_avx512_zmm_h_offset): New table for ZMM register offsets
-	in XSAVE buffer.
-	(XSAVE_AVX512_ZMM_H_ADDR): New macro.
-	(i387_supply_xsave): Add code to supply AVX512 registers to XSAVE
-	buffer.
-	(i387_collect_xsave): Add code to collect AVX512 registers from
-	XSAVE buffer.
-	* i387-tdep.h (I387_NUM_XMM_AVX512_REGS): New define for number
-	of XMM16-31 registers.
-	(I387_NUM_K_REGS): New define for number of K registers.
-	(I387_K0_REGNUM): New define for K0 register number.
-	(I387_NUM_ZMMH_REGS): New define for number of ZMMH registers.
-	(I387_ZMM0H_REGNUM): New define for ZMM0H register number.
-	(I387_NUM_YMM_AVX512_REGS): New define for number of YMM16-31
-	registers.
-	(I387_YMM16H_REGNUM): New define for YMM16H register number.
-	(I387_XMM16_REGNUM): New define for XMM16 register number.
-	(I387_YMM0_REGNUM): New define for YMM0 register number.
-	(I387_KEND_REGNUM): New define for last K register number.
-	(I387_ZMMENDH_REGNUM): New define for last ZMMH register number.
-	(I387_YMMH_AVX512_END_REGNUM): New define for YMM31 register
-	number.
-	(I387_XMM_AVX512_END_REGNUM): New define for XMM31 register
-	number.
-	* common/i386-xstate.h: Add AVX 3.1 feature bits, mask and XSTATE
-	size.
-	* features/Makefile: Add AVX512 related files.
-	* features/i386/32bit-avx512.xml: New file.
-	* features/i386/64bit-avx512.xml: Likewise.
-	* features/i386/amd64-avx512-linux.c: Likewise.
-	* features/i386/amd64-avx512-linux.xml: Likewise.
-	* features/i386/amd64-avx512.c: Likewise.
-	* features/i386/amd64-avx512.xml: Likewise.
-	* features/i386/i386-avx512-linux.c: Likewise.
-	* features/i386/i386-avx512-linux.xml: Likewise.
-	* features/i386/i386-avx512.c: Likewise.
-	* features/i386/i386-avx512.xml: Likewise.
-	* features/i386/x32-avx512-linux.c: Likewise.
-	* features/i386/x32-avx512-linux.xml: Likewise.
-	* features/i386/x32-avx512.c: Likewise.
-	* features/i386/x32-avx512.xml: Likewise.
-	* regformats/i386/amd64-avx512-linux.dat: New file.
-	* regformats/i386/amd64-avx512.dat: Likewise.
-	* regformats/i386/i386-avx512-linux.dat: Likewise.
-	* regformats/i386/i386-avx512.dat: Likewise.
-	* regformats/i386/x32-avx512-linux.dat: Likewise.
-	* regformats/i386/x32-avx512.dat: Likewise.
-	* NEWS: Add note about new support for AVX512.
-
-
-2014-04-23  Pedro Alves  <palves@redhat.com>
-
-	* breakpoint.c (insert_bp_location): Tolerate errors if the
-	breakpoint is set in a user-loaded objfile.
-	(remove_breakpoint_1): Likewise.  Also tolerate errors if the
-	location is marked shlib_disabled.  If the breakpoint is set in a
-	user-loaded objfile is a GDB-side memory breakpoint, validate it
-	before uninsertion.  (disable_breakpoints_in_freed_objfile): Skip
-	non-OBJF_USERLOADED objfiles.  Don't clear the location's inserted
-	flag.
-	* mem-break.c (memory_validate_breakpoint): New function.
-	* objfiles.c (userloaded_objfile_contains_address_p): New
-	function.
-	* objfiles.h (userloaded_objfile_contains_address_p): Declare.
-	* target.h (memory_validate_breakpoint): New declaration.
-
-2014-04-23  Pedro Alves  <palves@redhat.com>
-
-	* breakpoint.c (insert_bp_location, remove_breakpoint_1): If
-	the breakpoint is set in a shared library, only suppress
-	errors for software breakpoints, not hardware breakpoints.
-
-2014-04-22  Pedro Alves  <palves@redhat.com>
-
-	* infrun.c (schedlock_applies): New function, factored out from
-	find_thread_needs_step_over.
-	(find_thread_needs_step_over): Use it.
-	(switch_back_to_stepped_thread): Always clear trap_expected if the
-	step over is finished.  Return early if scheduler locking applies.
-	Look for the stepping thread and a potential step-over thread with
-	a single loop.
-	(currently_stepping_or_nexting_callback): Delete.
-
-2014-04-22  Nick Clifton  <nickc@redhat.com>
-
-	* NEWS: Mention that ARM sim now supports tracing.
-
-2014-04-22  Yao Qi  <yao@codesourcery.com>
-
-	* tracefile-tfile.c (tfile_fetch_registers): Move the bottom
-	to ...
-	* tracefile.c (tracefile_fetch_registers): ... it.  New
-	function.
-	* tracefile.h (tracefile_fetch_registers): Declare.
-	* ctf.c (ctf_fetch_registers): Remove the bottom.  Call
-	tracefile_fetch_registers.
-
-2014-04-19  Eli Zaretskii  <eliz@gnu.org>
-
-	PR gdb/14018
-	* windows-nat.c (thread_rec): Don't display a warning when
-	SuspendThread fails with ERROR_ACCESS_DENIED.  If SuspendThread
-	fails for any reason, set th->suspended to -1, so that we don't
-	try to resume such a thread.  Also, don't return NULL in these
-	cases, to avoid completely ruin the session due to "PC register is
-	not available" error.
-	(do_windows_fetch_inferior_registers): Check errors in
-	GetThreadContext call.
-	(windows_continue): Accept an additional argument KILLED; if not
-	zero, ignore errors in the SetThreadContext call, since the
-	inferior was killed and is shutting down.
-	(windows_resume, get_windows_debug_event)
-	(windows_create_inferior, windows_mourn_inferior)
-	(windows_kill_inferior): All callers of windows_continue changed
-	to adjust to its new calling sequence.
-
-2014-04-19  Yao Qi  <yao@codesourcery.com>
-
-	* ctf.c (ctf_open): Call post_create_inferior.
-
-2014-04-19  Yao Qi  <yao@codesourcery.com>
-
-	* ctf.c (handle_id): New static variable.
-	(ctf_open_dir): Get handle_id from bt_context_add_trace return
-	value.  Get the declaration of event "register" and get length
-	of field "contents".
-
-2014-04-19  Yao Qi  <yao@codesourcery.com>
-
-	* ctf.c (ctf_xfer_partial): Check 'name' is NULL before strcmp.
-
-2014-04-18  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* valops.c (oload_method_static): Remove unnecessary argument
-	METHOD.  Update all callers.
-
-2014-04-18  Pedro alves  <palves@redhat.com>
-	    Tom Tromey  <tromey@redhat.com>
-
-	PR backtrace/15558
-	* frame.c (get_prev_frame_1): Rename to ...
-	(get_prev_frame_always): ... this, and make extern.  Adjust.
-	(skip_artificial_frames): Use get_prev_frame_always.
-	(frame_unwind_caller_id, frame_pop, get_prev_frame)
-	(get_frame_unwind_stop_reason): Adjust to rename.
-	* frame.h (get_prev_frame_always): Declare.
-	* inline-frame.c: Include frame.h.
-	(inline_frame_this_id): Use get_prev_frame_always.
-
-2014-04-18  Tristan Gingold  <gingold@adacore.com>
-
-	* solib-darwin.c (darwin_solib_create_inferior_hook): Simplify
-	code by using bfd_mach_o_get_base_address.
-
-2014-04-17  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* spu-tdep.c: Include "dwarf2-frame.h" and "ax.h".
-	(spu_ax_pseudo_register_collect): New function.
-	(spu_ax_pseudo_register_push_stack): Likewise.
-	(spu_dwarf_reg_to_regnum): Likewise.
-	(spu_gdbarch_init): Install them.  Append DWARF unwinders.
-
-2014-04-17  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* gdbarch.sh (value_from_register): Make class "m" instead of "f".
-	Replace FRAME argument with FRAME_ID.
-	* gdbarch.c, gdbarch.h: Regenerate.
-	* findvar.c (default_value_from_register): Add GDBARCH argument;
-	replace FRAME by FRAME_ID.  No longer call get_frame_id.
-	(value_from_register): Update call to gdbarch_value_from_register.
-	* value.h (default_value_from_register): Update prototype.
-	* s390-linux-tdep.c (s390_value_from_register): Update interface
-	and call to default_value_from_register.
-	* spu-tdep.c (spu_value_from_register): Likewise.
-
-	* findvar.c (address_from_register): Remove TYPE argument.
-	Do not call value_from_register; use gdbarch_value_from_register
-	with null_frame_id instead.
-	* value.h (address_from_register): Update prototype.
-	* dwarf2-frame.c (read_addr_from_reg): Use address_from_register.
-	* dwarf2loc.c (dwarf_expr_read_addr_from_reg): Update for
-	address_from_register interface change.
-
-2014-04-17  Yao Qi  <yao@codesourcery.com>
-
-	* gdbtypes.h: Update comments to link to types and macros'
-	definitions.
-
-2014-04-16  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* gdbtypes.h: Remove definition of the macro TYPE_FN_FIELDS.
-
-2014-04-16  Keith Seitz  <keiths@redhat.com>
-
-	PR gdb/15827
-	* dwarf2read.c (skip_one_die): Check that all relative-offset
-	sibling DIEs fall within range of the current reader's buffer.
-	(read_partial_die): Likewise.
-
-2014-04-16  Keith Seitz  <keiths@redhat.com>
-
-	PR c++/16597
-	* cp-namespace.c (lookup_symbol_file): If the type name of
-	`this' is NULL, return immediately.
-
-2014-04-14  Keith Seitz  <keiths@redhat.com>
-
-	PR c++/16253
-	* ada-lang.c (ada_symbol_matches_domain): Moved here and renamed
-	from symbol_matches_domain in symtab.c. All local callers
-	of symbol_matches_domain updated.
-	(standard_lookup): If DOMAIN is VAR_DOMAIN and no symbol is found,
-	search STRUCT_DOMAIN.
-	(ada_find_any_type_symbol): Do not search STRUCT_DOMAIN
-	independently.  standard_lookup will do that automatically.
-	* cp-namespace.c (cp_lookup_symbol_nonlocal): Explain when/why
-	VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
-	(cp_lookup_symbol_in_namespace): Likewise.
-	If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN.
-	(cp_lookup_symbol_exports): Explain when/why VAR_DOMAIN searches
-	may return a STRUCT_DOMAIN match.
-	(lookup_symbol_file): Search for the class name in STRUCT_DOMAIN.
-	* cp-support.c: Include language.h.
-	(inspect_type): Explicitly search STRUCT_DOMAIN before searching
-	VAR_DOMAIN.
-	* psymtab.c (match_partial_symbol): Compare the requested
-	domain with the symbol's domain directly.
-	(lookup_partial_symbol): Likewise.
-	* symtab.c (lookup_symbol_in_language): Explain when/why
-	VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
-	If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN for
-	appropriate languages.
-	(symbol_matches_domain): Renamed `ada_symbol_matches_domain'
-	and moved to ada-lang.c
-	(lookup_block_symbol): Explain that this function only returns
-	symbol matching the requested DOMAIN.
-	Compare the requested domain with the symbol's domain directly.
-	(iterate_over_symbols): Compare the requested domain with the
-	symbol's domain directly.
-	* symtab.h (symbol_matches_domain): Remove.
-
-2014-04-14  Tom Tromey  <tromey@redhat.com>
-
-	PR c++/15246:
-	* c-exp.y (type_aggregate_p): New function.
-	(qualified_name, classify_inner_name): Use it.
-	* c-typeprint.c (c_type_print_base): Handle TYPE_DECLARED_CLASS
-	and TYPE_TARGET_TYPE of an enum type.
-	* dwarf2read.c (read_enumeration_type): Set TYPE_DECLARED_CLASS on
-	an enum type.
-	(determine_prefix) <case DW_TAG_enumeration_type>: New case;
-	handle TYPE_DECLARED_CLASS.
-	* gdbtypes.c (rank_one_type): Handle TYPE_DECLARED_CLASS on enum
-	types.
-	* gdbtypes.h (TYPE_DECLARED_CLASS): Update comment.
-	* valops.c (enum_constant_from_type): New function.
-	(value_aggregate_elt): Use it.
-	* cp-namespace.c (cp_lookup_nested_symbol): Handle
-	TYPE_CODE_ENUM.
-
-2014-04-14  Tom Tromey  <tromey@redhat.com>
-
-	* valops.c (value_aggregate_elt, value_struct_elt_for_reference)
-	(value_namespace_elt, value_maybe_namespace_elt): Make "name"
-	const.
-	* value.h (value_aggregate_elt): Update.
-
-2014-04-14  Tom Tromey  <tromey@redhat.com>
-
-	* dwarf2read.c (read_enumeration_type): Handle DW_AT_type.
-
-2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* eval.c (evaluate_subexp_for_sizeof): Add enum noside argument.
-	(evaluate_subexp_standard): Pass noside argument.
-	(evaluate_subexp_for_sizeof) <BINOP_SUBSCRIPT>: Handle subscript case
-	if noside equals EVAL_NORMAL. If the subscript yields a vla type
-	re-evaluate subscript operation with EVAL_NORMAL to enable sideffects.
-	* gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated.
-	* gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case.
-
-2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* findvar.c (default_read_var_value): Resolve dynamic bounds if location
-	points to a constant blob.
-
-2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic
-	property and store it as the high bound and flag the range accordingly.
-	* gdbtypes.c (resolve_dynamic_bounds): If range is flagged as
-	RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound.
-	* gdbtypes.h (enum range_flags): New enum.
-	(struct range_bounds): Add flags member.
-
-2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* c-typeprint.c (c_type_print_varspec_suffix): Added
-	check for not yet resolved high bound. If unresolved, print
-	"variable length" string to the console instead of random
-	length.
-
-2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from
-	value.
-	(ada_template_to_fixed_record_type_1): Likewise.
-	(ada_to_fixed_type_1): Likewise.
-	* cp-valprint.c (cp_print_value_fields_rtti): Likewise.
-	(cp_print_value): Likewise.
-	* d-valprint.c (dynamic_array_type): Likewise.
-	* findvar.c (address_of_variable): Likewise.
-	* jv-valprint.c (java_value_print): Likewise.
-	* valops.c (value_ind): Likewise.
-	* value.c (coerce_ref): Likewise.
-
-2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* eval.c (evaluate_subexp_for_sizeof) <UNOP_IND>: Create an indirect
-	value and retrieve the dynamic type size.
-
-2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
-	passed to sizeof is dynamic evaluate the argument to compute the length.
-
-2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
-	    Joel Brobecker  <brobecker@adacore.com>
-
-	* dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
-	(dwarf2_evaluate_property): New function.
-	* dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
-	* dwarf2read.c (attr_to_dynamic_prop): New function.
-	(read_subrange_type): Use attr_to_dynamic_prop to read high bound
-	attribute.
-	* gdbtypes.c: Include dwarf2loc.h.
-	(is_dynamic_type): New function.
-	(resolve_dynamic_type): New function.
-	(resolve_dynamic_bounds): New function.
-	(get_type_length): New function.
-	(check_typedef): Use get_type_length to compute type length.
-	* gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
-	(TYPE_LOW_BOUND_KIND): New macro.
-	(is_dynamic_type): New function prototype.
-	* value.c (value_from_contents_and_address): Call resolve_dynamic_type
-	to resolve dynamic properties of the type. Update comment.
-	* valops.c (get_value_at, value_at, value_at_lazy): Update comment.
-
-2014-04-14  Richard Henderson  <rth@redhat.com>
-
-	* alpha-linux-nat.c (_initialize_alpha_linux_nat): Fix prototype.
-
-2014-04-12  Siva Chandra Reddy  <sivachandra@google.com>
-	    Doug Evans  <xdje42@gmail.com>
-
-	* guile/scm-value.c (gdbscm_value_dynamic_type): Use coerce_ref to
-	dereference TYPE_CODE_REF values.
-
-2014-04-11  Joel Brobecker  <brobecker@adacore.com>
-
-	Revert the following changes due to regressions:
-
-	* dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
-	(dwarf2_evaluate_property): New function.
-	* dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
-	* dwarf2read.c (attr_to_dynamic_prop): New function.
-	(read_subrange_type): Use attr_to_dynamic_prop to read high bound
-	attribute.
-	* gdbtypes.c: Include dwarf2loc.h.
-	(is_dynamic_type): New function.
-	(resolve_dynamic_type): New function.
-	(resolve_dynamic_bounds): New function.
-	(get_type_length): New function.
-	(check_typedef): Use get_type_length to compute type length.
-	* gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
-	(TYPE_LOW_BOUND_KIND): New macro.
-	(is_dynamic_type): New function prototype.
-	* value.c (value_from_contents_and_address): Call resolve_dynamic_type
-	to resolve dynamic properties of the type. Update comment.
-	* valops.c (get_value_at, value_at, value_at_lazy): Update comment.
-
-	* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
-	passed to sizeof is dynamic evaluate the argument to compute the length.
-
-	* eval.c (evaluate_subexp_for_sizeof) <UNOP_IND>: Create an indirect
-	value and retrieve the dynamic type size.
-
-	* ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value.
-	(ada_template_to_fixed_record_type_1): Likewise.
-	(ada_to_fixed_type_1): Likewise.
-	* cp-valprint.c (cp_print_value_fields_rtti): Likewise.
-	(cp_print_value): Likewise.
-	* d-valprint.c (dynamic_array_type): Likewise.
-	* eval.c (evaluate_subexp_with_coercion): Likewise.
-	* findvar.c (address_of_variable): Likewise.
-	* jv-valprint.c (java_value_print): Likewise.
-	* valops.c (value_ind): Likewise.
-	* value.c (coerce_ref): Likewise.
-
-	* c-typeprint.c (c_type_print_varspec_suffix): Added
-	check for not yet resolved high bound. If unresolved, print
-	"variable length" string to the console instead of random
-	length.
-
-	* dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic
-	property and store it as the high bound and flag the range accordingly.
-	* gdbtypes.c (resolve_dynamic_bounds): If range is flagged as
-	RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound.
-	* gdbtypes.h (enum range_flags): New enum.
-	(struct range_bounds): Add flags member.
-
-	* findvar.c (default_read_var_value): Resolve dynamic bounds if location
-	points to a constant blob.
-
-	* eval.c (evaluate_subexp_for_sizeof): Add enum noside argument.
-	(evaluate_subexp_standard): Pass noside argument.
-	(evaluate_subexp_for_sizeof) <BINOP_SUBSCRIPT>: Handle subscript case
-	if noside equals EVAL_NORMAL. If the subscript yields a vla type
-	re-evaluate subscript operation with EVAL_NORMAL to enable sideffects.
-	* gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated.
-	* gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case.
-
-2014-04-11  Keith Seitz  <keiths@redhat.com>
-
-	PR c++/16675
-	* c-exp.y (exp : SIZEOF '(' type ')'): Handle reference types.
-	* eval.c (evaluate_subexp_for_sizeof): Refactor and handle
-	reference types.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* eval.c (evaluate_subexp_for_sizeof): Add enum noside argument.
-	(evaluate_subexp_standard): Pass noside argument.
-	(evaluate_subexp_for_sizeof) <BINOP_SUBSCRIPT>: Handle subscript case
-	if noside equals EVAL_NORMAL. If the subscript yields a vla type
-	re-evaluate subscript operation with EVAL_NORMAL to enable sideffects.
-	* gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated.
-	* gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* findvar.c (default_read_var_value): Resolve dynamic bounds if location
-	points to a constant blob.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic
-	property and store it as the high bound and flag the range accordingly.
-	* gdbtypes.c (resolve_dynamic_bounds): If range is flagged as
-	RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound.
-	* gdbtypes.h (enum range_flags): New enum.
-	(struct range_bounds): Add flags member.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* c-typeprint.c (c_type_print_varspec_suffix): Added
-	check for not yet resolved high bound. If unresolved, print
-	"variable length" string to the console instead of random
-	length.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value.
-	(ada_template_to_fixed_record_type_1): Likewise.
-	(ada_to_fixed_type_1): Likewise.
-	* cp-valprint.c (cp_print_value_fields_rtti): Likewise.
-	(cp_print_value): Likewise.
-	* d-valprint.c (dynamic_array_type): Likewise.
-	* eval.c (evaluate_subexp_with_coercion): Likewise.
-	* findvar.c (address_of_variable): Likewise.
-	* jv-valprint.c (java_value_print): Likewise.
-	* valops.c (value_ind): Likewise.
-	* value.c (coerce_ref): Likewise.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* eval.c (evaluate_subexp_for_sizeof) <UNOP_IND>: Create an indirect
-	value and retrieve the dynamic type size.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
-	passed to sizeof is dynamic evaluate the argument to compute the length.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
-	(dwarf2_evaluate_property): New function.
-	* dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
-	* dwarf2read.c (attr_to_dynamic_prop): New function.
-	(read_subrange_type): Use attr_to_dynamic_prop to read high bound
-	attribute.
-	* gdbtypes.c: Include dwarf2loc.h.
-	(is_dynamic_type): New function.
-	(resolve_dynamic_type): New function.
-	(resolve_dynamic_bounds): New function.
-	(get_type_length): New function.
-	(check_typedef): Use get_type_length to compute type length.
-	* gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
-	(TYPE_LOW_BOUND_KIND): New macro.
-	(is_dynamic_type): New function prototype.
-	* value.c (value_from_contents_and_address): Call resolve_dynamic_type
-	to resolve dynamic properties of the type. Update comment.
-	* valops.c (get_value_at, value_at, value_at_lazy): Update comment.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* dwarf2read.c (read_subrange_type): Use struct bound_prop for
-	declaring high/low bounds and change uses accordingly. Call
-	create_range_type instead of create_static_range_type.
-	* gdbtypes.c (create_range_type): New function.
-	(create_range_type): Convert bounds into struct bound_prop and pass
-	them to create_range_type.
-	* gdbtypes.h (struct bound_prop): New struct.
-	(create_range_type): New function prototype.
-	(struct range_bounds): Use struct bound_prop instead of LONGEST for
-	high/low bounds. Remove low_undefined/high_undefined and adapt all uses.
-	(TYPE_LOW_BOUND,TYPE_HIGH_BOUND): Adapt macros to refer to the static
-	part of the bound.
-	* parse.c (follow_types): Set high bound kind to BOUND_UNDEFINED.
-
-2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* gdbtypes.c (create_static_range_type): Renamed from create_range_type.
-	* gdbtypes.h (create_static_range_type): Renamed from create_range_type.
-	* ada-lang.c: All uses of create_range_type updated.
-	* coffread.c: All uses of create_range_type updated.
-	* dwarf2read.c: All uses of create_range_type updated.
-	* f-exp.y: All uses of create_range_type updated.
-	* m2-valprint.c: All uses of create_range_type updated.
-	* mdebugread.c: All uses of create_range_type updated.
-	* stabsread.c: All uses of create_range_type updated.
-	* valops.c: All uses of create_range_type updated.
-	* valprint.c: All uses of create_range_type updated.
-
-2014-04-10  Pedro Alves  <palves@redhat.com>
-
-	* breakpoint.c (single_step_breakpoints)
-	(single_step_gdbarch): Move up in the file.
-	(one_breakpoint_xfer_memory): New function, factored out from ...
-	(breakpoint_xfer_memory): ... here.  Also process single-step
-	breakpoints.
-
-2014-04-09  Tristan Gingold  <gingold@adacore.com>
-
-	* darwin-nat.c (darwin_check_new_threads): Fix port leak, add
-	comments.
-	(darwin_decode_exception_message): Free port only after use.
-
-2014-04-08  Pierre Langlois  <pierre.langlois@embecosm.com>
-
-	* avr-tdep.c (struct gdbarch_tdep): Mention avrxmega in the comment.
-	(avr_gdbarch_init): Add xmega architectures given by bfd_architecture
-	when setting the size of call_length.
-
-2014-04-07  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* python/py-value.c (valpy_get_dynamic_type): Use coerce_ref to
-	dereference TYPE_CODE_REF values.
-
-2014-04-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* darwin-nat.c (darwin_decode_message): Remove trailing '\n' at
-	end of warning message.
-
-2014-04-03  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (read_cutu_die_from_dwo): Fix assertion, at most one
-	of stub_comp_unit_die, stub_comp_dir is non-NULL.
-
-2014-04-02  Alan Modra  <amodra@gmail.com>
-
-	* symfile-mem.c (symbol_file_add_from_memory): Add size parameter.
-	Pass to bfd_elf_bfd_from_remote_memory.  Adjust all callers.
-	(struct symbol_file_add_from_memory_args): Add size field.
-	(find_vdso_size): New function.
-	(add_vsyscall_page): Attempt to find vdso size.
-
-2014-04-01  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (read_cutu_die_from_dwo): Improve comment.
-
-2014-04-01  Tristan Gingold  <gingold@adacore.com>
-
-	* darwin-nat.c (darwin_encode_reply): Add prototype.
-	(darwin_decode_exception_message): Reply to unknown inferiors.
-	(darwin_decode_message): Handle message by id.  Ignore message
-	to unknown inferior.
-	(darwin_wait): Discard unknown messages, add debug trace.
-
-2014-03-31  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (read_cutu_die_from_dwo): Delete unused local
-	comp_dir_string.
-
-2014-03-31  Doug Evans  <dje@google.com>
-
-	New option "set print symbol-loading".
-	* NEWS: Mention it.
-	* solib.c (solib_read_symbols): Only print symbol loading messages
-	if requested.
-	(solib_add): If symbol loading is in "brief" mode, notify user
-	symbols are being loaded.
-	(reload_shared_libraries_1): Ditto.
-	* symfile.c (print_symbol_loading_off): New static global.
-	(print_symbol_loading_brief): New static global.
-	(print_symbol_loading_full): New static global.
-	(print_symbol_loading_enums): New static global.
-	(print_symbol_loading): New static global.
-	(print_symbol_loading_p): New function.
-	(symbol_file_add_with_addrs): Only print symbol loading messages
-	if requested.
-	(_initialize_symfile): Register "print symbol-loading" set/show
-	command.
-	* symfile.h (print_symbol_loading_p): Declare.
-
-2014-03-30  Doug Evans  <xdje42@gmail.com>
-
-	* infrun.c (set_last_target_status): New function.
-	(handle_inferior_event): Call it.
-
-2014-03-30  Doug Evans  <xdje42@gmail.com>
-
-	* inferior.h (enum stop_kind): Improve comment.
-
-2014-03-28  Joel Brobecker  <brobecker@adacore.com>
-
-	* varobj.c (varobj_value_has_mutated): If NEW_VALUE is
-	a reference, strip the reference layer before calling
-	the lang_ops value_has_mutated callback.
-
-2014-03-27  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	Remove some globals from our parser.
-	* language.c (unk_lang_parser): Add "struct parser_state"
-	argument.
-	* language.h (struct language_defn) <la_parser>: Likewise.
-	* parse.c (expout, expout_size, expout_ptr): Remove variables.
-	(initialize_expout): Add "struct parser_state" argument.
-	Rewrite function to use the parser state.
-	(reallocate_expout, write_exp_elt, write_exp_elt_opcode,
-	write_exp_elt_sym, write_exp_elt_block, write_exp_elt_objfile,
-	write_exp_elt_longcst, write_exp_elt_dblcst,
-	write_exp_elt_decfloatcst, write_exp_elt_type,
-	write_exp_elt_intern, write_exp_string, write_exp_string_vector,
-	write_exp_bitstring, write_exp_msymbol, mark_struct_expression,
-	write_dollar_variable): Likewise.
-	(parse_exp_in_context_1): Use parser state.
-	(insert_type_address_space): Add "struct parser_state" argument.
-	Use parser state.
-	(increase_expout_size): New function.
-	* parser-defs.h: Forward declare "struct language_defn" and
-	"struct parser_state".
-	(expout, expout_size, expout_ptr): Remove extern declarations.
-	(parse_gdbarch, parse_language): Rewrite macro declarations to
-	accept the parser state.
-	(struct parser_state): New struct.
-	(initialize_expout, reallocate_expout, write_exp_elt_opcode,
-	write_exp_elt_sym, write_exp_elt_longcst, write_exp_elt_dblcst,
-	write_exp_elt_decfloatcst, write_exp_elt_type,
-	write_exp_elt_intern, write_exp_string, write_exp_string_vector,
-	write_exp_bitstring, write_exp_elt_block, write_exp_elt_objfile,
-	write_exp_msymbol, write_dollar_variable,
-	mark_struct_expression, insert_type_address_space): Add "struct
-	parser_state" argument.
-	(increase_expout_size): New function.
-	* utils.c (do_clear_parser_state): New function.
-	(make_cleanup_clear_parser_state): Likewise.
-	* utils.h (make_cleanup_clear_parser_state): New function
-	prototype.
-	* aarch64-linux-tdep.c (aarch64_stap_parse_special_token):
-	Update calls to write_exp* in order to pass the parser state.
-	* arm-linux-tdep.c (arm_stap_parse_special_token): Likewise.
-	* i386-tdep.c (i386_stap_parse_special_token_triplet): Likewise.
-	(i386_stap_parse_special_token_three_arg_disp): Likewise.
-	* ppc-linux-tdep.c (ppc_stap_parse_special_token): Likewise.
-	* stap-probe.c (stap_parse_register_operand): Likewise.
-	(stap_parse_single_operand): Likewise.
-	(stap_parse_argument_1): Likewise.
-	(stap_parse_argument): Use parser state.
-	* stap-probe.h: Include "parser-defs.h".
-	(struct stap_parse_info) <pstate>: New field.
-	* c-exp.y (parse_type): Rewrite to use parser state.
-	(yyparse): Redefine to c_parse_internal.
-	(pstate): New global variable.
-	(parse_number): Add "struct parser_state" argument.
-	(write_destructor_name): Likewise.
-	(type_exp): Update calls to write_exp* and similars in order to
-	use parser state.
-	(exp1, exp, variable, qualified_name, space_identifier,
-	typename, typebase): Likewise.
-	(write_destructor_name, parse_number, lex_one_token,
-	classify_name, classify_inner_name, c_parse): Add "struct
-	parser_state" argument.  Update function to use parser state.
-	* c-lang.h: Forward declare "struct parser_state".
-	(c_parse): Add "struct parser_state" argument.
-	* ada-exp.y (parse_type): Rewrite macro to use parser state.
-	(yyparse): Redefine macro to ada_parse_internal.
-	(pstate): New variable.
-	(write_int, write_object_renaming, write_var_or_type,
-	write_name_assoc, write_exp_op_with_string, write_ambiguous_var,
-	type_int, type_long, type_long_long, type_float, type_double,
-	type_long_double, type_char, type_boolean, type_system_address):
-	Add "struct parser_state" argument.
-	(exp1, primary, simple_exp, relation, and_exp, and_then_exp,
-	or_exp, or_else_exp, xor_exp, type_prefix, opt_type_prefix,
-	var_or_type, aggregate, aggregate_component_list,
-	positional_list, others, component_group,
-	component_associations): Update calls to write_exp* and similar
-	functions in order to use parser state.
-	(ada_parse, write_var_from_sym, write_int,
-	write_exp_op_with_string, write_object_renaming,
-	find_primitive_type, write_selectors, write_ambiguous_var,
-	write_var_or_type, write_name_assoc, type_int, type_long,
-	type_long_long, type_float, type_double, type_long_double,
-	type_char, type_boolean, type_system_address): Add "struct
-	parser_state" argument.  Adjust function to use parser state.
-	* ada-lang.c (parse): Likewise.
-	* ada-lang.h: Forward declare "struct parser_state".
-	(ada_parse): Add "struct parser_state" argument.
-	* ada-lex.l (processInt, processReal): Likewise.  Adjust all
-	calls to both functions.
-	* f-exp.y (parse_type, parse_f_type): Rewrite macros to use
-	parser state.
-	(yyparse): Redefine macro to f_parse_internal.
-	(pstate): New variable.
-	(parse_number): Add "struct parser_state" argument.
-	(type_exp, exp, subrange, typebase): Update calls to write_exp*
-	and similars in order to use parser state.
-	(parse_number): Adjust code to use parser state.
-	(yylex): Likewise.
-	(f_parse): New function.
-	* f-lang.h: Forward declare "struct parser_state".
-	(f_parse): Add "struct parser_state" argument.
-	* jv-exp.y (parse_type, parse_java_type): Rewrite macros to use
-	parser state.
-	(yyparse): Redefine macro for java_parse_internal.
-	(pstate): New variable.
-	(push_expression_name, push_expression_name, insert_exp): Add
-	"struct parser_state" argument.
-	(type_exp, StringLiteral, Literal, PrimitiveType, IntegralType,
-	FloatingPointType, exp1, PrimaryNoNewArray, FieldAccess,
-	FuncStart, MethodInvocation, ArrayAccess, PostfixExpression,
-	PostIncrementExpression, PostDecrementExpression,
-	UnaryExpression, PreIncrementExpression, PreDecrementExpression,
-	UnaryExpressionNotPlusMinus, CastExpression,
-	MultiplicativeExpression, AdditiveExpression, ShiftExpression,
-	RelationalExpression, EqualityExpression, AndExpression,
-	ExclusiveOrExpression, InclusiveOrExpression,
-	ConditionalAndExpression, ConditionalOrExpression,
-	ConditionalExpression, Assignment, LeftHandSide): Update
-	calls to write_exp* and similars in order to use parser state.
-	(parse_number): Ajust code to use parser state.
-	(yylex): Likewise.
-	(java_parse): New function.
-	(push_variable): Add "struct parser_state" argument.  Adjust
-	code to user parser state.
-	(push_fieldnames, push_qualified_expression_name,
-	push_expression_name, insert_exp): Likewise.
-	* jv-lang.h: Forward declare "struct parser_state".
-	(java_parse): Add "struct parser_state" argument.
-	* m2-exp.y (parse_type, parse_m2_type): Rewrite macros to use
-	parser state.
-	(yyparse): Redefine macro to m2_parse_internal.
-	(pstate): New variable.
-	(type_exp, exp, fblock, variable, type): Update calls to
-	write_exp* and similars to use parser state.
-	(yylex): Likewise.
-	(m2_parse): New function.
-	* m2-lang.h: Forward declare "struct parser_state".
-	(m2_parse): Add "struct parser_state" argument.
-	* objc-lang.c (end_msglist): Add "struct parser_state" argument.
-	* objc-lang.h: Forward declare "struct parser_state".
-	(end_msglist): Add "struct parser_state" argument.
-	* p-exp.y (parse_type): Rewrite macro to use parser state.
-	(yyparse): Redefine macro to pascal_parse_internal.
-	(pstate): New variable.
-	(parse_number): Add "struct parser_state" argument.
-	(type_exp, exp1, exp, qualified_name, variable): Update calls to
-	write_exp* and similars in order to use parser state.
-	(parse_number, yylex): Adjust code to use parser state.
-	(pascal_parse): New function.
-	* p-lang.h: Forward declare "struct parser_state".
-	(pascal_parse): Add "struct parser_state" argument.
-	* go-exp.y (parse_type): Rewrite macro to use parser state.
-	(yyparse): Redefine macro to go_parse_internal.
-	(pstate): New variable.
-	(parse_number): Add "struct parser_state" argument.
-	(type_exp, exp1, exp, variable, type): Update calls to
-	write_exp* and similars in order to use parser state.
-	(parse_number, lex_one_token, classify_name, yylex): Adjust code
-	to use parser state.
-	(go_parse): Likewise.
-	* go-lang.h: Forward declare "struct parser_state".
-	(go_parse): Add "struct parser_state" argument.
-
-2014-03-27  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (read_str_index): Delete arg cu.  All callers updated.
-
-2014-03-27  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (init_cutu_and_read_dies_no_follow): Fix comments.
-	Remove argument abbrev_section.  All callers updated.
-
-2014-03-27  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (struct dwarf2_cu): Improve comments for members
-	addr_base, ranges_base.
-
-2014-03-26  Keith Seitz  <keiths@redhat.com>
-
-	* ada-tasks.c (get_tcb_types_info): Search STRUCT_DOMAIN for
-	types, not VAR_DOMAIN.
-
-2014-03-25  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* features/nios2-cpu.xml: Correct types of "gp", "fp", "ea", and
-	"ra" registers.
-	* features/nios2-linux.c: Regenerated.
-	* features/nios2.c: Regenerated.
-
-2014-03-25  Pedro Alves  <palves@redhat.com>
-
-	* cli/cli-script.c (script_from_file): Force the interpreter to
-	sync mode.
-
-2014-03-24  Pierre Langlois  <pierre.langlois@embecosm.com>
-
-	* avr-tdep.c (avr_scan_prologue): Accept push r1 instruction for
-	small stack allocation.
-
-2014-03-24  Tristan Gingold  <gingold@adacore.com>
-
-	* darwin-nat.c (exc_server): Remove unused prototype.
-	(darwin_dump_message): Correctly display data on x86_64.
-	(darwin_encode_reply): Fix style.
-	Add comments and fix indentation.
-
-2014-03-24  Pierre Langlois  <pierre.langlois@embecosm.com>
-
-	* MAINTAINERS (Write After Approval): Add "Pierre Langlois".
-
-2014-03-22  Doug Evans  <xdje42@gmail.com>
-
-	* infcmd.c: Whitespace fixes.
-	(interrupt_command): Merge two function comments into one.
-
-2014-03-22  Doug Evans  <xdje42@gmail.com>
-
-	* infcmd.c (interrupt_command): Renamed from interrupt_target_command.
-	All uses updated.
-
-2014-03-22  Yao Qi  <yao@codesourcery.com>
-
-	* remote.c (target_read_live_memory): Remove.
-	(memory_xfer_live_readonly_partial): Rename it to
-	remote_xfer_live_readonly_partial.  Remove argument 'object'.
-	All callers updated.  Call remote_read_bytes_1
-	instead of target_read_live_memory.
-	* tracepoint.c (set_traceframe_number): Remove.
-	(make_cleanup_restore_traceframe_number): Likewise .
-	* tracepoint.h (set_traceframe_number): Remove declaration.
-	(make_cleanup_restore_traceframe_number): Likewise.
-
-2014-03-22  Yao Qi  <yao@codesourcery.com>
-
-	* remote.c (remote_read_bytes): Move code on reading from the
-	remote stub to ...
-	(remote_read_bytes_1): ... here.  New function.
-
-2014-03-22  Yao Qi  <yao@codesourcery.com>
-
-	* ctf.c (ctf_xfer_partial): Check the return value of
-	exec_read_partial_read_only, if it is not TARGET_XFER_OK,
-	return TARGET_XFER_UNAVAILABLE.
-	* tracefile-tfile.c (tfile_xfer_partial): Likewise.
-	* target.c (target_read_live_memory): Move it to remote.c.
-	(memory_xfer_live_readonly_partial): Likewise.
-	(memory_xfer_partial_1): Move some code to remote_read_bytes.
-	* remote.c (target_read_live_memory): Moved from target.c.
-	(memory_xfer_live_readonly_partial): Likewise.
-	(remote_read_bytes): Factored out from
-	memory_xfer_partial_1.
-
-2014-03-21  Daniel Gutson  <daniel.gutson@tallertechnologies.com>
-
-	* extension.c (eval_ext_lang_from_control_command): Avoid dereferencing
-	NULL pointer.
-
-2014-03-21  Pedro Alves  <palves@redhat.com>
-
-	* infrun.c (normal_stop): Extend comment.
-
-2014-03-21  Hui Zhu  <hui@codesourcery.com>
-	    Pedro Alves  <palves@redhat.com>
-
-	* darwin-nat.c (darwin_pid_to_exec_file): Change xmalloc to
-	static buffer.
-	* fbsd-nat.c (fbsd_pid_to_exec_file): Ditto.
-	* linux-nat.c (linux_child_pid_to_exec_file): Ditto.
-	* nbsd-nat.c (nbsd_pid_to_exec_file): Ditto.
-
-2014-03-20  Maciej W. Rozycki  <macro@codesourcery.com>
-
-	* mi/mi-interp.c (mi_memory_changed): Avoid using the ISO C99
-	`z' formatted output modifier.
-
-2014-03-20  Tom Tromey  <tromey@redhat.com>
-	    Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	* probe.c (parse_probes): Turn assert into an ordinary error.
-	* break-catch-throw.c (re_set_exception_catchpoint): Ignore
-	exceptions when parsing probes.  Rearrange the code for clarity.
-
-2014-03-20  Tom Tromey  <tromey@redhat.com>
-
-	PR gdb/14135
-	* top.c (execute_command): Only dispatch events if the command
-	started the target.
-
-2014-03-20  Tom Tromey  <tromey@redhat.com>
-
-	PR cli/15718
-	* infcall.c: Include event-top.h.
-	(run_inferior_call): Call async_disable_stdin if needed.
-
-2014-03-20  Pedro Alves  <palves@redhat.com>
-
-	* infrun.c (prepare_to_proceed): Delete.
-	(thread_still_needs_step_over): New function.
-	(find_thread_needs_step_over): New function.
-	(proceed): If the current thread needs a step-over, set its
-	steping_over_breakpoint flag.  Adjust to use
-	find_thread_needs_step_over instead of prepare_to_proceed.
-	(process_event_stop_test): For BPSTAT_WHAT_STOP_NOISY and
-	BPSTAT_WHAT_STOP_SILENT, assume the thread stopped for a
-	breakpoint.
-	(switch_back_to_stepped_thread): Step over breakpoints of all
-	threads not the stepping thread, before switching back to the
-	stepping thread.
-
-2014-03-20  Pedro Alves  <palves@redhat.com>
-
-	* breakpoint.c (single_step_breakpoint_inserted_here_p): Make
-	extern.
-	* breakpoint.h (single_step_breakpoint_inserted_here_p): Declare.
-	* infrun.c (saved_singlestep_ptid)
-	(stepping_past_singlestep_breakpoint): Delete.
-	(resume): Remove stepping_past_singlestep_breakpoint handling.
-	(proceed): Store the prev_pc of the stepping thread too.
-	(init_wait_for_inferior): Adjust.  Clear singlestep_ptid and
-	singlestep_pc.
-	(enum infwait_states): Delete infwait_thread_hop_state.
-	(struct execution_control_state) <hit_singlestep_breakpoint>: New
-	field.
-	(handle_inferior_event): Adjust.
-	(handle_signal_stop): Delete stepping_past_singlestep_breakpoint
-	handling and the thread-hop code.  Before removing single-step
-	breakpoints, check whether the thread hit a single-step breakpoint
-	of another thread.  If it did, the trap is not a random signal.
-	(switch_back_to_stepped_thread): If the event thread hit a
-	single-step breakpoint, unblock it before switching to the
-	stepping thread.  Handle the case of the stepped thread having
-	advanced already.
-	(keep_going): Handle the case of the current thread moving past a
-	single-step breakpoint.
-
-2014-03-20  Pedro Alves  <palves@redhat.com>
-
-	PR breakpoints/7143
-	* breakpoint.c (should_be_inserted): Don't insert breakpoints that
-	are being stepped over.
-	(breakpoint_address_match): Make extern.
-	* breakpoint.h (breakpoint_address_match): New declaration.
-	* inferior.h (stepping_past_instruction_at): New declaration.
-	* infrun.c (struct step_over_info): New type.
-	(step_over_info): New global.
-	(set_step_over_info, clear_step_over_info)
-	(stepping_past_instruction_at): New functions.
-	(handle_inferior_event): Clear the step-over info when
-	trap_expected is cleared.
-	(resume): Remove now stale comment.
-	(clear_proceed_status): Clear step-over info.
-	(proceed): Adjust step-over handling to set or clear the step-over
-	info instead of removing all breakpoints.
-	(handle_signal_stop): When setting up a thread-hop, don't remove
-	breakpoints here.
-	(stop_stepping): Clear step-over info.
-	(keep_going): Adjust step-over handling to set or clear step-over
-	info and then always inserting breakpoints, instead of removing
-	all breakpoints when stepping over one.
-
-2014-03-20  Pedro Alves  <palves@redhat.com>
-
-	* infrun.c (previous_inferior_ptid): Adjust comment.
-	(deferred_step_ptid): Delete.
-	(infrun_thread_ptid_changed, prepare_to_proceed)
-	(init_wait_for_inferior): Adjust.
-	(handle_signal_stop): Delete deferred_step_ptid handling.
-
-2014-03-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	PR gdb/15358
-	* defs.h (sync_quit_force_run): New declaration.
-	(QUIT): Check also SYNC_QUIT_FORCE_RUN.
-	* event-top.c (async_sigterm_handler): New declaration.
-	(async_sigterm_token): New variable.
-	(async_init_signals): Create also async_sigterm_token.
-	(async_sigterm_handler): New function.
-	(sync_quit_force_run): New variable.
-	(handle_sigterm): Replace quit_force call by other calls.
-	* utils.c (quit): Call quit_force if SYNC_QUIT_FORCE_RUN.
-
-2014-03-18  Maciej W. Rozycki  <macro@codesourcery.com>
-
-	* rs6000-tdep.c (rs6000_frame_cache): Correct little-endian GPR
-	offset into SPE pseudo registers.
-
-2014-03-18  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/13860
-	* inferior.h (print_stop_event): Declare.
-	* infrun.c (print_stop_event): New, factored out from ...
-	(normal_stop): ... this.
-	* mi/mi-interp.c (mi_on_normal_stop): Use print_stop_event instead
-	of bpstat_print/print_stack_frame.
-
-2014-03-17  Tom Tromey  <tromey@redhat.com>
-
-	* ui-out.c (clear_table, ui_out_new): Clear uiout->table.id.
-
-2014-03-17  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* ada-lang.c (decode_constrained_packed_array): Perform a
-	minimal coercion for reference with coerce_ref instead of
-	ada_coerce_ref.
-
-2014-03-17  Tristan Gingold  <gingold@adacore.com>
-
-	* solib-darwin.c (DYLD_VERSION_MAX): Increase value.
-	(darwin_solib_create_inferior_hook): Emit a warning if version
-	is unhandled.
-
-2014-03-16  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* python/py-value.c (get_field_flag): Cast flag_name argument to
-	PyObject_GetAttrString to support Python 2.4.
-
-2014-03-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* MAINTAINERS (The Official FSF-appointed GDB Maintainers)
-	(Global Maintainers): Remove Jan Kratochvil.
-
-2014-03-14  Pedro Alves  <palves@redhat.com>
-
-	* inferior.h (terminal_ours_for_output): Rename to ...
-	(child_terminal_ours_for_output): ... this.
-	(terminal_save_ours): Rename to ...
-	(child_terminal_save_ours): ... this.
-	(terminal_ours): Rename to ...
-	(child_terminal_ours): ... this.
-	(terminal_inferior): Rename to ...
-	(child_terminal_inferior): ... this.
-	(terminal_init_inferior): Rename to ...
-	(child_terminal_init_inferior): ... this.
-	(terminal_init_inferior_with_pgrp): Rename to ...
-	(child_terminal_init_inferior_with_pgrp): ... this.
-	* inflow.c (terminal_init_inferior_with_pgrp): Rename to ...
-	(child_terminal_init_with_pgrp): ... this.
-	(terminal_save_ours): Rename to ...
-	(child_terminal_save_ours): ... this.
-	(terminal_init_inferior): Rename to ...
-	(child_terminal_init): ... this.  Adjust.
-	(terminal_inferior): Rename to ...
-	(child_terminal_inferior): ... this.
-	(terminal_ours_for_output): Rename to ...
-	(child_terminal_ours_for_output): ... this.  Adjust.
-	(terminal_ours): Rename to ...
-	(child_terminal_ours): ... this.
-	(terminal_ours_1): Rename to ...
-	(child_terminal_ours_1): ... this.  Adjust.
-	* linux-nat.c (linux_nat_terminal_inferior): Adjust.
-	* windows-nat.c (do_initial_windows_stuff): Adjust.
-	* gnu-nat.c (gnu_terminal_init_inferior): Rename to ...
-	(gnu_terminal_init): ... this.  Adjust.
-	(gnu_target): Adjust.
-	* inf-child.c (inf_child_target): Adjust.
-
-2014-03-13  Doug Evans  <xdje42@gmail.com>
-
-	PR guile/16612
-	* guile/scm-type.c (tyscm_copy_type_recursive): Move type to its
-	new eq?-hashtab.
-
-2014-03-13  Doug Evans  <xdje42@gmail.com>
-
-	* value.c (record_latest_value): Call release_value_or_incref
-	instead of release_value.
-
-2014-03-13  Pedro Alves  <palves@redhat.com>
-
-	* procfs.c (procfs_target): Don't override to_shortname,
-	to_longname or to_doc.
-
-2014-03-13  Pedro Alves  <palves@redhat.com>
-
-	* inf-child.c (inf_child_open, inf_child_target): Don't mention
-	Unix in user visible strings.
-
-2014-03-12  Stan Shebs  <stan@codesourcery.com>
-
-	* gdbtypes.h: Annotate comments for Doxygen, add a page
-	block comment with some general info.
-
-2014-03-12  Pedro Alves  <palves@redhat.com>
-
-	* infcmd.c (prepare_execution_command): New function, factored out
-	from several execution commands.
-	(run_command_1, continue_command, step_1, jump_command)
-	(signal_command, until_command, advance_command, finish_command)
-	(attach_command): Use prepare_execution_command.
-
-2014-03-12  Omair Javaid  <omair.javaid@linaro.org>
-
-	* arm-linux-nat.c (arm_linux_get_hwbp_cap): Updated.
-	(MAX_BPTS): Define.
-	(MAX_WPTS): Define.
-	(struct arm_linux_thread_points): Removed.
-	(struct arm_linux_process_info): New.
-	(DEF_VEC_P (arm_linux_thread_points_p)): Removed.
-	(VEC(arm_linux_thread_points_p) *arm_threads): Removed.
-	(arm_linux_find_breakpoints_by_tid): Removed.
-	(struct arch_lwp_info): New.
-	(arm_linux_find_process_pid): New functions.
-	(arm_linux_add_process): New functions.
-	(arm_linux_process_info_get): New functions.
-	(arm_linux_forget_process): New function.
-	(arm_linux_get_debug_reg_state): New function.
-	(struct update_registers_data): New.
-	(update_registers_callback): New function.
-	(arm_linux_insert_hw_breakpoint1): Updated.
-	(arm_linux_remove_hw_breakpoint1): Updated.
-	(arm_linux_insert_hw_breakpoint): Updated.
-	(arm_linux_remove_hw_breakpoint): Updated.
-	(arm_linux_insert_watchpoint): Updated.
-	(arm_linux_remove_watchpoint): Updated.
-	(arm_linux_new_thread): Updated.
-	(arm_linux_prepare_to_resume): New function.
-	(arm_linux_new_fork): New function.
-	(_initialize_arm_linux_nat): Updated.
-
-2014-03-12  Pedro Alves  <palves@redhat.com>
-
-	* Makefile.in (TARGET_FLAGS_TO_PASS): Add TESTS.
-
-2014-03-12  Tom Tromey  <tromey@redhat.com>
-
-	* inf-child.c (return_zero): New function.
-	(inf_child_target): Set to_can_async_p, to_supports_non_stop.
-	* aix-thread.c (aix_thread_inferior_created): New function.
-	(aix_thread_attach): Remove.
-	(init_aix_thread_ops): Don't set to_attach.
-	(_initialize_aix_thread): Register inferior_created observer.
-	* corelow.c (init_core_ops): Don't set to_attach or
-	to_create_inferior.
-	* exec.c (init_exec_ops): Don't set to_attach or
-	to_create_inferior.
-	* infcmd.c (run_command_1): Use find_run_target.  Make direct
-	target calls.
-	(attach_command): Use find_attach_target.  Make direct target
-	calls.
-	* record-btrace.c (init_record_btrace_ops): Don't set
-	to_create_inferior.
-	* record-full.c (record_full_can_async_p, record_full_is_async_p):
-	Remove.
-	(init_record_full_ops, init_record_full_core_ops): Update.  Don't
-	set to_create_inferior.
-	* target.c (complete_target_initialization): Add assertion.
-	(target_create_inferior): Remove.
-	(find_default_attach, find_default_create_inferior): Remove.
-	(find_attach_target, find_run_target): New functions.
-	(find_default_is_async_p, find_default_can_async_p)
-	(target_supports_non_stop, target_attach): Remove.
-	(init_dummy_target): Don't set to_create_inferior or
-	to_supports_non_stop.
-	* target.h (struct target_ops) <to_attach>: Add comment.  Remove
-	TARGET_DEFAULT_FUNC.
-	<to_create_inferior>: Add comment.
-	<to_can_async_p, to_is_async_p, to_supports_non_stop>: Use
-	TARGET_DEFAULT_RETURN.
-	<to_can_async_p, to_supports_non_stop, to_can_run>: Add comments.
-	(find_attach_target, find_run_target): Declare.
-	(target_create_inferior): Remove.
-	(target_has_execution_1): Update comment.
-	(target_supports_non_stop): Remove.
-	* target-delegates.c: Rebuild.
-
-2014-03-12  Pedro Alves  <palves@redhat.com>
-
-        * inf-child.h: Update comment to not mention Unix.
-
-2014-03-12  Pedro Alves  <palves@redhat.com>
-
-	* inf-child.c: Update top comment to not mention Unix.  Add
-	generic comment describing how this target is meant to be used.
-	(inf_child_post_attach, inf_child_post_startup_inferior)
-	(inf_child_follow_fork, inf_child_pid_to_exec_file): Don't mention
-	Unix in comment.
-
-2014-03-12  Pedro Alves  <palves@redhat.com>
-
-	* nto-procfs.c: Include inf-child.h.
-	(procfs_ops): Delete global.
-	(procfs_can_run): Delete method.
-	(procfs_detach, procfs_mourn_inferior): Unpush the passed in
-	target pointer instead of referencing procfs_ops.
-	(procfs_prepare_to_store): Delete.
-	(init_procfs_ops): Delete function.
-	(procfs_target): New function, based on init_procfs_ops, but
-	inherit inf_child_target.
-	(_initialize_procfs): Use procfs_target.
-
-2014-03-12  Pedro Alves  <palves@redhat.com>
-
-	* windows-nat.c: Include inf-child.h.
-	(windows_ops): Delete global.
-	(windows_open, windows_prepare_to_store, windows_can_run): Delete
-	methods.
-	(init_windows_ops): Delete function.
-	(windows_target): New function, based on init_windows_ops, but
-	inherit inf_child_target.
-	(_initialize_windows_nat): Use windows_target.  Install x86
-	specific target methods here.
-
-2014-03-10  Doug Evans  <xdje42@gmail.com>
-
-	* guile/guile.c (call_initialize_gdb_module): New function.
-	(initialize_guile): Replace call to scm_init_guile with call to
-	scm_with_guile.
-
-2014-03-10  Joel Brobecker  <brobecker@adacore.com>
-
-        * ada-lang.c (ada_evaluate_subexp): Add missing space before '('
-        in call to TYPE_CODE macro.
-
-2014-03-10  Jerome Guitton  <guitton@adacore.com>
-
-	* ada-lang.c (ada_evaluate_subexp) <UNOP_IND, STRUCTOP_STRUCT>:
-	Resolve tagged types to full view.
-
-2014-03-10  Hui Zhu  <hui@codesourcery.com>
-
-	* target.h (target_insert_breakpoint): Remove "hardware" from its
-	comments.
-
-2014-03-07  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (read_str_index): Rename local dwo_name to objf_name.
-
-2014-03-07  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (read_cutu_die_from_dwo): Fix function comment.
-	Remove unused local comp_dir_attr.  Assert exactly one of
-	stub_comp_unit_die, stub_comp_dir is non-NULL.
-
-2014-03-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* target.h (complete_target_initialization, add_target):
-	Add comment.
-
-2014-03-07  Pedro Alves  <palves@redhat.com>
-
-	* go32-nat.c: Include inf-child.h.
-	(go32_ops): Delete global.
-	(go32_close, go32_detach, go32_prepare_to_store, go32_can_run):
-	Delete methods.
-	(go32_create_inferior): Push the passed in target pointer instead
-	of referencing go32_ops.
-	(init_go32_ops): Delete function.  Moved parts to _initialize_go32_nat.
-	(go32_target): New function, based on init_go32_ops, but inherit
-	inf_child_target.
-	(_initialize_go32_nat): Use go32_target.  Move parts of
-	init_go32_ops here.
-
-2014-03-06  Joel Brobecker  <brobecker@adacore.com>
-
-	* sol-thread.c: #include "symtab.h", "minsym.h" and "objfiles.h".
-	(ps_pglobal_lookup): Use BMSYMBOL_VALUE_ADDRESS instead of
-	SYMBOL_VALUE_ADDRESS.
-	(info_cb): MSYMBOL_PRINT_NAME instead of SYMBOL_PRINT_NAME.
-
-2014-03-06  Yao Qi  <yao@codesourcery.com>
-
-	* breakpoint.c (get_tracepoint_by_number): Remove argument
-	optional_p.  All callers updated.  Adjust comments.  Update
-	output message.
-	* breakpoint.h (get_tracepoint_by_number): Update declaration.
-
-2014-03-06  Yao Qi  <yao@codesourcery.com>
-
-	* reverse.c (goto_bookmark_command): Add local 'p'.  Emit error
-	early if get_number returns zero.  Use 'p' instead of 'args'.
-
-2014-03-06  Yao Qi  <yao@codesourcery.com>
-
-	* cli/cli-utils.c (get_number_trailer): Add '\n' at the end of
-	message.
-
-2014-03-06  Yao Qi  <yao@codesourcery.com>
-
-	PR breakpoints/16508
-	* tracepoint.c (check_trace_running): New function.
-	(trace_find_command): Move code to check_trace_running and
-	call check_trace_running.
-	(trace_find_pc_command): Likewise.
-	(trace_find_tracepoint_command): Likewise.
-	(trace_find_line_command): Likewise.
-	(trace_find_range_command): Likewise.
-	* tracepoint.h (check_trace_running): Likewise.
-	* mi/mi-main.c (mi_cmd_trace_find): Call check_trace_running.
-
-2014-03-06  Yao Qi  <yao@codesourcery.com>
-
-	* target.h (struct target_ops) <to_traceframe_info>: Use
-	TARGET_DEFAULT_NORETURN (tcomplain ()).
-	* target-delegates.c: Regenerated.
-
-2014-03-05  Pedro Alves  <palves@redhat.com>
-
-	PR gdb/16575
-	* dcache.c (dcache_poke_byte): Constify ptr parameter.  Return
-	void.  Update comment.
-	(dcache_xfer_memory): Delete.
-	(dcache_read_memory_partial): New, based on the read bits of
-	dcache_xfer_memory.
-	(dcache_update): Add status parameter.  Use ULONGEST for len, and
-	adjust.  Discard cache lines if the reason for the update was
-	error.
-	* dcache.h (dcache_xfer_memory): Delete declaration.
-	(dcache_read_memory_partial): New declaration.
-	(dcache_update): Update prototype.
-	* target.c (raw_memory_xfer_partial): Update the dcache here.
-	(memory_xfer_partial_1): Don't handle dcache writes here.
-
-2014-03-05  Mike Frysinger  <vapier@gentoo.org>
-
-	* remote-sim.c (gdbsim_load): Add const to prog.
-
-2014-03-03  Tom Tromey  <tromey@redhat.com>
-
-	* elfread.c (probe_key): Change to bfd_data.
-	(elf_get_probes, probe_key_free, _initialize_elfread): Probes are
-	now per-BFD, not per-objfile.
-	* stap-probe.c (stap_probe_destroy): Update comment.
-	(handle_stap_probe): Allocate on the per-BFD obstack.
-
-2014-03-03  Tom Tromey  <tromey@redhat.com>
-
-	* break-catch-throw.c (fetch_probe_arguments): Use bound probes.
-	* breakpoint.c (create_longjmp_master_breakpoint): Use
-	get_probe_address.
-	(add_location_to_breakpoint, bkpt_probe_insert_location)
-	(bkpt_probe_remove_location): Update.
-	* breakpoint.h (struct bp_location) <probe>: Now a bound_probe.
-	* elfread.c (elf_symfile_relocate_probe): Remove.
-	(elf_probe_fns): Update.
-	(insert_exception_resume_breakpoint): Change type of "probe"
-	parameter to bound_probe.
-	(check_exception_resume): Update.
-	* objfiles.c (objfile_relocate1): Don't relocate probes.
-	* probe.c (bound_probe_s): New typedef.
-	(parse_probes): Use get_probe_address.  Set sal's objfile.
-	(find_probe_by_pc): Return a bound_probe.
-	(collect_probes): Return a VEC(bound_probe_s).
-	(compare_probes): Update.
-	(gen_ui_out_table_header_info): Change type of "probes"
-	parameter.  Update.
-	(info_probes_for_ops): Update.
-	(get_probe_address): New function.
-	(probe_safe_evaluate_at_pc): Update.
-	* probe.h (struct probe_ops) <get_probe_address>: New field.
-	<set_semaphore, clear_semaphore>: Add objfile parameter.
-	(struct probe) <objfile>: Remove field.
-	<arch>: New field.
-	<address>: Update comment.
-	(struct bound_probe): New.
-	(find_probe_by_pc): Return a bound_probe.
-	(get_probe_address): Declare.
-	* solib-svr4.c (struct probe_and_action) <address>: New field.
-	(hash_probe_and_action, equal_probe_and_action): Update.
-	(register_solib_event_probe): Add address parameter.
-	(solib_event_probe_at): Update.
-	(svr4_create_probe_breakpoints): Add objfile parameter.  Use
-	get_probe_address.
-	* stap-probe.c (struct stap_probe) <sem_addr>: Update comment.
-	(stap_get_probe_address): New function.
-	(stap_can_evaluate_probe_arguments, compute_probe_arg)
-	(compile_probe_arg): Update.
-	(stap_set_semaphore, stap_clear_semaphore): Compute semaphore's
-	address.
-	(handle_stap_probe): Don't relocate the probe.
-	(stap_relocate): Remove.
-	(stap_gen_info_probes_table_values): Update.
-	(stap_probe_ops): Remove stap_relocate.
-	* symfile-debug.c (debug_sym_relocate_probe): Remove.
-	(debug_sym_probe_fns): Update.
-	* symfile.h (struct sym_probe_fns) <sym_relocate_probe>: Remove.
-	* symtab.c (init_sal): Use memset.
-	* symtab.h (struct symtab_and_line) <objfile>: New field.
-	* tracepoint.c (start_tracing, stop_tracing): Update.
-
-2014-03-03  Tom Tromey  <tromey@redhat.com>
-
-	* probe.h (parse_probes, find_probe_by_pc)
-	(find_probes_in_objfile): Fix comments.
-
-2014-03-02  Doug Evans  <xdje42@gmail.com>
-
-	* infrun.c (handle_signal_stop): Replace test for
-	TARGET_WAITKIND_STOPPED with an assert.
-
-2014-03-02  Doug Evans  <xdje42@gmail.com>
-
-	* guile/scm-objfile.c (ofscm_mark_objfile_smob): Fix typo in comment.
-
-2014-03-02  Doug Evans  <xdje42@gmail.com>
-
-	* guile/lib/gdb/printing.scm (append-pretty-printer!): Fix thinko.
-
-2014-03-01  Mark Kettenis  <kettenis@gnu.org>
-
-	* obsd-nat.c: Include "gdb_wait.h" instead of <sys/wait.h>.
-
-2014-03-01  Mark Kettenis  <kettenis@gnu.org>
-
-	* i386obsd-nat.c: Include "obsd-nat.h".
-	(_initialize_i386obsd_nat): Call obsd_add_target instead of
-	add_target.
-	* config/i386/obsd.mh (NATDEPFILES): Add obsd-nat.o.
-
-2014-03-01  Mark Kettenis  <kettenis@gnu.org>
-
-	* i386obsd-nat.c (i386obsd_supply_pcb): Cast 'sf' to 'gdb_byte *'.
-
-2014-03-01  Mark Kettenis  <kettenis@gnu.org>
-
-	* mips64obsd-nat.c: Include "obsd-nath".
-	(_initialize_mips64obsd_nat): Call obsd_add_target instead of
-	add_target
-	* config/mips/obsd64.mh (NATDEPFILES): Add obsd-nat.o.
-
-2014-03-01  Mark Kettenis  <kettenis@gnu.org>
-
-	* amd64obsd-nat.c: Include "obsd-nat,h.
-	(_initialize_amd64obsd_nat): Call obsd_add_target instead of
-	add_target.
-	* config/i386/obsd64.mh (NATDEPFILES): Add obsd-nat.o.
-
-2014-02-28  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* valops.c (find_oload_champ): Remove unneccesary argument METHOD.
-	(find_overload_match): Update call to find_oload_champ.
-	(find_oload_champ_namespace_loop): Likewise
-
-2014-02-28  Mark Kettenis  <kettenis@gnu.org>
-
-	* Makefile.in (ALLDEPFILES): Add sparc64obsd-nat.c.
-
-	* configure.host (sparc64-*-openbsd*): Set gdb_host to obsd64.
-	* config/sparc/obsd64.mh: New file.
-	* sparc64obsd-nat.c: New file.
-
-	* obsd-nat.h: New file.
-	* obsd-nat.c: New file.
-	* Makefile.in (HFILES_NO_SRCDIR): Add obsd-nat.h.
-	(ALLDEPFILES): Add obsd-nat.c.
-
-2014-02-28  Tom Tromey  <tromey@redhat.com>
-
-	* cli-out.c (cli_ui_out_impl): Now const.  Remove comment.
-	* cli-out.h (cli_ui_out_impl): Now const.
-	* mi/mi-out.c (mi_ui_out_impl): Now const.  Remove comment.
-	* ui-out.c (struct ui_out) <impl>: Now const.
-	(default_ui_out_impl): Now const.
-	(ui_out_new): Make 'impl' parameter const.
-	* ui-out.h (ui_out_new): Update.
-
-2014-02-27  Mark Kettenis  <kettenis@gnu.org>
-
-	* solib-svr4.c (svr4_read_so_list): Initialize first_l_name to 0.
-
-2014-02-27  Mark Kettenis  <kettenis@gnu.org>
-
-	* sparc-nat.c (sparc_xfer_wcookie): Always use process ID.
-
-2014-02-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	Additional PR 8882 fix.
-	* solib-svr4.c (svr4_read_so_list): Change first to first_l_name.
-
-2014-02-27  Pedro Alves  <palves@redhat.com>
-
-	* nat/linux-waitpid.c (my_waitpid): Only block signals if WNOHANG
-	isn't set.
-
-2014-02-27  Pedro Alves  <palves@redhat.com>
-
-	PR 12702
-	* linux-nat.c (status_to_str): Moved to nat/linux-waitpid.c.
-	* nat/linux-waitpid.c: Include string.h.
-	(status_to_str): Moved here and made extern.
-	* nat/linux-waitpid.h (status_to_str): New declaration.
-
-2014-02-27  Hui Zhu  <hui@codesourcery.com>
-
-	PR 12702
-	* infrun.c (ptid_match): Move ...
-	* common/ptid.c (ptid_match): ... here.
-	* inferior.h (ptid_match): Move ...
-	* common/ptid.h (ptid_match): ... here.
-
-2014-02-27  Mark Kettenis  <kettenis@gnu.org>
-
-	* mips64obsd-tdep.c (mips64obsd_init_abi): Call obsd_init_abi.
-	* configure.tgt (mips64*-*-openbsd*): Add obsd-tdep.c to
-	gdb_target_obs.
-
-2014-02-27  Mark Kettenis  <kettenis@gnu.org>
-
-	* obsd-tdep.c (obsd_auxv_parse): New function.
-	(obsd_init_abi): Set auxv_parse.
-
-	* gdbarch.sh (auxv_parse): New.
-	* gdbarch.h: Regenerated.
-	* gdbarch.c: Regenerated.
-	* auxv.c (target_auxv_parse): Call gdbarch_parse_auxv if provided.
-
-2014-02-26  Ludovic CourtÃ¨s  <ludo@gnu.org>
-
-	* guile/scm-value.c (gdbscm_history_append_x): New function.
-	(value_functions): Add it.
-
-2014-02-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* dwarf2read.c (attr_value_as_address): New function.
-	(dwarf2_find_base_address, read_call_site_scope): Use
-	attr_value_as_address in place of DW_ADDR.
-	(dwarf2_get_pc_bounds): Use attr_value_as_address to get
-	the low and high addresses.  Slight rework of the handling
-	of the high pc being a constant form, and limit it to
-	DWARF verson 4 or higher.
-	(dwarf2_record_block_ranges): Likewise.
-	(read_partial_die): Likewise.
-	(new_symbol_full): Use attr_value_as_address in place of DW_ADDR.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* exec.c (exec_file_attach): Hold a reference to exec_bfd.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* elfread.c (elf_read_minimal_symbols): Return early if
-	minimal symbols have already been read.  Add "ei" parameter.
-	(elf_symfile_read): Call elf_read_minimal_symbols earlier.
-	* minsyms.c (prim_record_minimal_symbol_full): Update.
-	* objfiles.h (struct objstats) <n_minsyms>: Move...
-	(struct objfile_per_bfd_storage) <n_minsyms>: ... here.
-	* symmisc.c (print_objfile_statistics): Update.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* elfread.c (elf_read_minimal_symbols): New function, from
-	elf_symfile_read.
-	(elf_symfile_read): Call it.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* minsyms.c (lookup_minimal_symbol, iterate_over_minimal_symbols)
-	(lookup_minimal_symbol_text, lookup_minimal_symbol_by_pc_name)
-	(lookup_minimal_symbol_solib_trampoline)
-	(lookup_minimal_symbol_by_pc_section_1)
-	(lookup_minimal_symbol_and_objfile): Update.
-	(prim_record_minimal_symbol_full): Use the per-BFD obstack.
-	Don't allocate a minimal symbol if minsyms have already been read.
-	(build_minimal_symbol_hash_tables): Update.
-	(install_minimal_symbols): Do nothing if minsyms already read.
-	Use the per-BFD obstack.
-	(terminate_minimal_symbol_table): Use the per-BFD obstack.
-	* objfiles.c (allocate_objfile): Call
-	terminate_minimal_symbol_table later.
-	(have_minimal_symbols): Update.
-	* objfiles.h (struct objfile_per_bfd_storage) <msymbols,
-	minimal_symbol_count, msymbol_hash, msymbol_demangled_hash>:
-	Move from struct objfile.
-	<minsyms_read>: New field.
-	(struct objfile) <msymbols, minimal_symbol_count,
-	msymbol_hash, msymbol_demangled_hash>: Move.
-	(ALL_OBJFILE_MSYMBOLS): Update.
-	* symfile.c (read_symbols): Set minsyms_read.
-	(reread_symbols): Update.
-	* symmisc.c (dump_objfile, dump_msymbols): Update.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* minsyms.c (msymbols_sort): Remove.
-	* minsyms.h (msymbols_sort): Remove.
-	* objfiles.c (objfile_relocate1): Don't relocate minsyms.
-	* symtab.h (MSYMBOL_VALUE_ADDRESS): Use objfile offsets.
-	* elfread.c (elf_symtab_read): Don't add section offsets.
-	* xcoffread.c (record_minimal_symbol): Don't add section offset
-	to minimal symbol address.
-	* somread.c (text_offset, data_offset): Remove.
-	(som_symtab_read): Don't add section offsets to minimal symbol
-	addresses.
-	* coff-pe-read.c (add_pe_forwarded_sym, read_pe_exported_syms):
-	Don't add section offsets to minimal symbols.
-	* coffread.c (coff_symtab_read): Don't add section offsets
-	to minimal symbol addresses.
-	* machoread.c (macho_symtab_add_minsym): Don't add section offset
-	to minimal symbol addresses.
-	* mipsread.c (read_alphacoff_dynamic_symtab): Don't add
-	section offset to minimal symbol addresses.
-	* mdebugread.c (parse_partial_symbols): Don't add section
-	offset to minimal symbol addresses.
-	* dbxread.c (read_dbx_dynamic_symtab): Don't add section
-	offset to minimal symbol addresses.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* ada-lang.c (ada_main_name): Update.
-	(ada_add_standard_exceptions): Update.
-	* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
-	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
-	* arm-tdep.c (skip_prologue_function, arm_skip_stub): Update.
-	* auxv.c (ld_so_xfer_auxv): Update.
-	* avr-tdep.c (avr_scan_prologue): Update.
-	* ax-gdb.c (gen_var_ref): Update.
-	* blockframe.c (get_pc_function_start)
-	(find_pc_partial_function_gnu_ifunc): Update.
-	* breakpoint.c (create_overlay_event_breakpoint)
-	(create_longjmp_master_breakpoint)
-	(create_std_terminate_master_breakpoint)
-	(create_exception_master_breakpoint): Update.
-	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
-	* c-valprint.c (c_val_print): Update.
-	* coff-pe-read.c (add_pe_forwarded_sym): Update.
-	* common/agent.c (agent_look_up_symbols): Update.
-	* dbxread.c (find_stab_function_addr, end_psymtab): Update.
-	* dwarf2loc.c (call_site_to_target_addr): Update.
-	* dwarf2read.c (dw2_find_pc_sect_symtab): Update.
-	* elfread.c (elf_gnu_ifunc_record_cache)
-	(elf_gnu_ifunc_resolve_by_got): Update.
-	* findvar.c (default_read_var_value): Update.
-	* frame.c (inside_main_func): Update.
-	* frv-tdep.c (frv_frame_this_id): Update.
-	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
-	* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
-	Update.
-	* hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence)
-	(hppa_hpux_find_dummy_bpaddr): Update.
-	* hppa-tdep.c (hppa_symbol_address): Update.
-	* infcmd.c (until_next_command): Update.
-	* jit.c (jit_read_descriptor, jit_breakpoint_re_set_internal):
-	Update.
-	* linespec.c (minsym_found, add_minsym): Update.
-	* linux-nat.c (get_signo): Update.
-	* linux-thread-db.c (inferior_has_bug): Update.
-	* m32c-tdep.c (m32c_return_value)
-	(m32c_m16c_address_to_pointer): Update.
-	* m32r-tdep.c (m32r_frame_this_id): Update.
-	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
-	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
-	* maint.c (maintenance_translate_address): Update.
-	* minsyms.c (lookup_minimal_symbol_by_pc_name): Update.
-	(frob_address): New function.
-	(lookup_minimal_symbol_by_pc_section_1): Use raw addresses,
-	frob_address.  Rename parameter to "pc_in".
-	(compare_minimal_symbols, compact_minimal_symbols): Use raw
-	addresses.
-	(find_solib_trampoline_target, minimal_symbol_upper_bound):
-	Update.
-	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
-	* mips-tdep.c (mips_skip_pic_trampoline_code): Update.
-	* objc-lang.c (find_objc_msgsend): Update.
-	* objfiles.c (objfile_relocate1): Update.
-	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
-	* p-valprint.c (pascal_val_print): Update.
-	* parse.c (write_exp_msymbol): Update.
-	* ppc-linux-tdep.c (ppc_linux_spe_context_lookup)
-	(ppc_elfv2_skip_entrypoint): Update.
-	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
-	* printcmd.c (build_address_symbolic, msym_info)
-	(address_info): Update.
-	* proc-service.c (ps_pglobal_lookup): Update.
-	* psymtab.c (find_pc_sect_psymtab_closer)
-	(find_pc_sect_psymtab, find_pc_sect_symtab_from_partial):
-	Change msymbol parameter to bound_minimal_symbol.
-	* ravenscar-thread.c (get_running_thread_id): Update.
-	* remote.c (remote_check_symbols): Update.
-	* sh64-tdep.c (sh64_elf_make_msymbol_special): Use raw
-	address.
-	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
-	* solib-dsbt.c (lm_base): Update.
-	* solib-frv.c (lm_base, main_got): Update.
-	* solib-irix.c (locate_base): Update.
-	* solib-som.c (som_solib_create_inferior_hook)
-	(link_map_start): Update.
-	* solib-spu.c (spu_enable_break, ocl_enable_break): Update.
-	* solib-svr4.c (elf_locate_base, enable_break): Update.
-	* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
-	(flush_ea_cache): Update.
-	* stabsread.c (define_symbol, scan_file_globals): Update.
-	* stack.c (find_frame_funname): Update.
-	* symfile-debug.c (debug_qf_expand_symtabs_matching)
-	(debug_qf_find_pc_sect_symtab): Update.
-	* symfile.c (simple_read_overlay_table)
-	(simple_overlay_update): Update.
-	* symfile.h (struct quick_symbol_functions)
-	<find_pc_sect_symtab>: Change type of msymbol to
-	bound_minimal_symbol.
-	* symmisc.c (dump_msymbols): Update.
-	* symtab.c (find_pc_sect_symtab_via_partial)
-	(find_pc_sect_psymtab, find_pc_sect_line, skip_prologue_sal)
-	(search_symbols, print_msymbol_info): Update.
-	* symtab.h (MSYMBOL_VALUE_RAW_ADDRESS): New macro.
-	(MSYMBOL_VALUE_ADDRESS): Redefine.
-	(BMSYMBOL_VALUE_ADDRESS): New macro.
-	* tracepoint.c (scope_info): Update.
-	* tui/tui-disasm.c (tui_find_disassembly_address)
-	(tui_get_begin_asm_address): Update.
-	* valops.c (find_function_in_inferior): Update.
-	* value.c (value_static_field, value_fn_field): Update.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* ada-lang.c (ada_update_initial_language): Update.
-	(ada_main_name, ada_has_this_exception_support): Update.
-	* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
-	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
-	* arm-tdep.c (arm_skip_stub): Update.
-	* auxv.c (ld_so_xfer_auxv): Update.
-	* avr-tdep.c (avr_scan_prologue): Update.
-	* ax-gdb.c (gen_var_ref): Update.
-	* breakpoint.c (struct breakpoint_objfile_data)
-	<overlay_msym, longjmp_msym, terminate_msym, exception_msym>: Change
-	type to bound_minimal_symbol.
-	(create_overlay_event_breakpoint)
-	(create_longjmp_master_breakpoint)
-	(create_std_terminate_master_breakpoint)
-	(create_exception_master_breakpoint): Update.
-	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
-	* c-exp.y (classify_name): Update.
-	* coffread.c (coff_symfile_read): Update.
-	* common/agent.c (agent_look_up_symbols): Update.
-	* d-lang.c (d_main_name): Update.
-	* dbxread.c (find_stab_function_addr, end_psymtab): Update.
-	* dec-thread.c (enable_dec_thread): Update.
-	* dwarf2loc.c (call_site_to_target_addr): Update.
-	* elfread.c (elf_gnu_ifunc_resolve_by_got): Update.
-	* eval.c (evaluate_subexp_standard): Update.
-	* findvar.c (struct minsym_lookup_data) <result>: Change type
-	to bound_minimal_symbol.
-	<objfile>: Remove.
-	(minsym_lookup_iterator_cb, default_read_var_value): Update.
-	* frame.c (inside_main_func): Update.
-	* frv-tdep.c (frv_frame_this_id): Update.
-	* gcore.c (call_target_sbrk): Update.
-	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
-	* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
-	Update.
-	* go-lang.c (go_main_name): Update.
-	* hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code)
-	(hppa_hpux_find_import_stub_for_addr): Update.
-	* hppa-tdep.c (hppa_extract_17,	hppa_lookup_stub_minimal_symbol):
-	Update.  Change return type.
-	* hppa-tdep.h (hppa_lookup_stub_minimal_symbol): Change return
-	type.
-	* jit.c (jit_breakpoint_re_set_internal): Update.
-	* linux-fork.c (inferior_call_waitpid, checkpoint_command):
-	Update.
-	* linux-nat.c (get_signo): Update.
-	* linux-thread-db.c (inferior_has_bug): Update
-	* m32c-tdep.c (m32c_return_value)
-	(m32c_m16c_address_to_pointer): Update.
-	* m32r-tdep.c (m32r_frame_this_id): Update.
-	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
-	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
-	* minsyms.c (lookup_minimal_symbol_internal): Rename to
-	lookup_minimal_symbol.  Change return type.
-	(lookup_minimal_symbol): Remove.
-	(lookup_bound_minimal_symbol): Update.
-	(lookup_minimal_symbol_text): Change return type.
-	(lookup_minimal_symbol_solib_trampoline): Change return type.
-	* minsyms.h (lookup_minimal_symbol, lookup_minimal_symbol_text)
-	(lookup_minimal_symbol_solib_trampoline): Change return type.
-	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
-	* objc-lang.c (lookup_objc_class, lookup_child_selector)
-	(value_nsstring, find_imps): Update.
-	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
-	* p-lang.c (pascal_main_name): Update.
-	* ppc-linux-tdep.c (ppc_linux_spe_context_lookup): Update.
-	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
-	* proc-service.c (ps_pglobal_lookup): Update.
-	* ravenscar-thread.c (get_running_thread_msymbol): Change
-	return type.
-	(has_ravenscar_runtime, get_running_thread_id): Update.
-	* remote.c (remote_check_symbols): Update.
-	* sol-thread.c (ps_pglobal_lookup): Update.
-	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
-	* solib-dsbt.c (lm_base): Update.
-	* solib-frv.c (lm_base, frv_relocate_section_addresses):
-	Update.
-	* solib-irix.c (locate_base): Update.
-	* solib-som.c (som_solib_create_inferior_hook)
-	(som_solib_desire_dynamic_linker_symbols, link_map_start):
-	Update.
-	* solib-spu.c (spu_enable_break): Update.
-	* solib-svr4.c (elf_locate_base, enable_break): Update.
-	* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
-	(flush_ea_cache): Update.
-	* stabsread.c (define_symbol): Update.
-	* symfile.c (simple_read_overlay_table): Update.
-	* symtab.c (find_pc_sect_line): Update.
-	* tracepoint.c (scope_info): Update.
-	* tui-disasm.c (tui_get_begin_asm_address): Update.
-	* value.c (value_static_field): Update.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* minsyms.c (prim_record_minimal_symbol_full): Use
-	SET_MSYMBOL_VALUE_ADDRESS.
-	* objfiles.c (objfile_relocate1): Use SET_MSYMBOL_VALUE_ADDRESS.
-	* sh64-tdep.c (sh64_elf_make_msymbol_special): Use
-	SET_MSYMBOL_VALUE_ADDRESS.
-	* symtab.h (MSYMBOL_VALUE_ADDRESS): Expand to an rvalue.
-	(SET_MSYMBOL_VALUE_ADDRESS): New macro.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* symtab.h (struct minimal_symbol) <mginfo>: Rename from ginfo.
-	(MSYMBOL_VALUE, MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_BYTES)
-	(MSYMBOL_BLOCK_VALUE, MSYMBOL_VALUE_CHAIN, MSYMBOL_LANGUAGE)
-	(MSYMBOL_SECTION, MSYMBOL_OBJ_SECTION, MSYMBOL_NATURAL_NAME)
-	(MSYMBOL_LINKAGE_NAME, MSYMBOL_PRINT_NAME, MSYMBOL_DEMANGLED_NAME)
-	(MSYMBOL_SET_LANGUAGE, MSYMBOL_SEARCH_NAME)
-	(MSYMBOL_MATCHES_SEARCH_NAME, MSYMBOL_SET_NAMES): New macros.
-	* ada-lang.c (ada_main_name): Update.
-	(ada_lookup_simple_minsym): Update.
-	(ada_make_symbol_completion_list): Update.
-	(ada_add_standard_exceptions): Update.
-	* ada-tasks.c (read_atcb, ada_tasks_inferior_data_sniffer): Update.
-	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
-	* amd64-windows-tdep.c (amd64_skip_main_prologue): Update.
-	* arm-tdep.c (skip_prologue_function): Update.
-	(arm_skip_stack_protector, arm_skip_stub): Update.
-	* arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update.
-	(arm_wince_skip_main_prologue): Update.
-	* auxv.c (ld_so_xfer_auxv): Update.
-	* avr-tdep.c (avr_scan_prologue): Update.
-	* ax-gdb.c (gen_var_ref): Update.
-	* block.c (call_site_for_pc): Update.
-	* blockframe.c (get_pc_function_start): Update.
-	(find_pc_partial_function_gnu_ifunc): Update.
-	* breakpoint.c (create_overlay_event_breakpoint): Update.
-	(create_longjmp_master_breakpoint): Update.
-	(create_std_terminate_master_breakpoint): Update.
-	(create_exception_master_breakpoint): Update.
-	(resolve_sal_pc): Update.
-	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
-	* btrace.c (ftrace_print_function_name, ftrace_function_switched):
-	Update.
-	* c-valprint.c (c_val_print): Update.
-	* coff-pe-read.c (add_pe_forwarded_sym): Update.
-	* coffread.c (coff_symfile_read): Update.
-	* common/agent.c (agent_look_up_symbols): Update.
-	* dbxread.c (find_stab_function_addr): Update.
-	(end_psymtab): Update.
-	* dwarf2loc.c (call_site_to_target_addr): Update.
-	(func_verify_no_selftailcall): Update.
-	(tailcall_dump): Update.
-	(call_site_find_chain_1): Update.
-	(dwarf_expr_reg_to_entry_parameter): Update.
-	* elfread.c (elf_gnu_ifunc_record_cache): Update.
-	(elf_gnu_ifunc_resolve_by_got): Update.
-	* f-valprint.c (info_common_command): Update.
-	* findvar.c (read_var_value): Update.
-	* frame.c (get_prev_frame_1): Update.
-	(inside_main_func): Update.
-	* frv-tdep.c (frv_skip_main_prologue): Update.
-	(frv_frame_this_id): Update.
-	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
-	* gnu-v2-abi.c (gnuv2_value_rtti_type): Update.
-	* gnu-v3-abi.c (gnuv3_rtti_type): Update.
-	(gnuv3_skip_trampoline): Update.
-	* hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline): Update.
-	(hppa64_hpux_in_solib_call_trampoline): Update.
-	(hppa_hpux_skip_trampoline_code): Update.
-	(hppa64_hpux_search_dummy_call_sequence): Update.
-	(hppa_hpux_find_import_stub_for_addr): Update.
-	(hppa_hpux_find_dummy_bpaddr): Update.
-	* hppa-tdep.c (hppa_symbol_address)
-	(hppa_lookup_stub_minimal_symbol): Update.
-	* i386-tdep.c (i386_skip_main_prologue): Update.
-	(i386_pe_skip_trampoline_code): Update.
-	* ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update.
-	* infcall.c (get_function_name): Update.
-	* infcmd.c (until_next_command): Update.
-	* jit.c (jit_breakpoint_re_set_internal): Update.
-	(jit_inferior_init): Update.
-	* linespec.c (minsym_found): Update.
-	(add_minsym): Update.
-	* linux-fork.c (info_checkpoints_command): Update.
-	* linux-nat.c (get_signo): Update.
-	* linux-thread-db.c (inferior_has_bug): Update.
-	* m32c-tdep.c (m32c_return_value): Update.
-	(m32c_m16c_address_to_pointer): Update.
-	(m32c_m16c_pointer_to_address): Update.
-	* m32r-tdep.c (m32r_frame_this_id): Update.
-	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
-	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
-	* maint.c (maintenance_translate_address): Update.
-	* minsyms.c (add_minsym_to_hash_table): Update.
-	(add_minsym_to_demangled_hash_table): Update.
-	(msymbol_objfile): Update.
-	(lookup_minimal_symbol): Update.
-	(iterate_over_minimal_symbols): Update.
-	(lookup_minimal_symbol_text): Update.
-	(lookup_minimal_symbol_by_pc_name): Update.
-	(lookup_minimal_symbol_solib_trampoline): Update.
-	(lookup_minimal_symbol_by_pc_section_1): Update.
-	(lookup_minimal_symbol_and_objfile): Update.
-	(prim_record_minimal_symbol_full): Update.
-	(compare_minimal_symbols): Update.
-	(compact_minimal_symbols): Update.
-	(build_minimal_symbol_hash_tables): Update.
-	(install_minimal_symbols): Update.
-	(terminate_minimal_symbol_table): Update.
-	(find_solib_trampoline_target): Update.
-	(minimal_symbol_upper_bound): Update.
-	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
-	* mips-tdep.c (mips_stub_frame_sniffer): Update.
-	(mips_skip_pic_trampoline_code): Update.
-	* msp430-tdep.c (msp430_skip_trampoline_code): Update.
-	* objc-lang.c (selectors_info): Update.
-	(classes_info): Update.
-	(find_methods): Update.
-	(find_imps): Update.
-	(find_objc_msgsend): Update.
-	* objfiles.c (objfile_relocate1): Update.
-	* objfiles.h (ALL_OBJFILE_MSYMBOLS): Update.
-	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
-	* p-valprint.c (pascal_val_print): Update.
-	* parse.c (write_exp_msymbol): Update.
-	* ppc-linux-tdep.c (powerpc_linux_in_dynsym_resolve_code)
-	(ppc_linux_spe_context_lookup, ppc_elfv2_skip_entrypoint): Update.
-	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
-	* printcmd.c (build_address_symbolic): Update.
-	(sym_info): Update.
-	(address_info): Update.
-	* proc-service.c (ps_pglobal_lookup): Update.
-	* psymtab.c (find_pc_sect_psymtab_closer): Update.
-	(find_pc_sect_psymtab): Update.
-	* python/py-framefilter.c (py_print_frame): Update.
-	* ravenscar-thread.c (get_running_thread_id): Update.
-	* record-btrace.c (btrace_call_history, btrace_get_bfun_name):
-	Update.
-	* remote.c (remote_check_symbols): Update.
-	* rs6000-tdep.c (rs6000_skip_main_prologue): Update.
-	(rs6000_skip_trampoline_code): Update.
-	* sh64-tdep.c (sh64_elf_make_msymbol_special): Update.
-	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
-	* solib-dsbt.c (lm_base): Update.
-	* solib-frv.c (lm_base): Update.
-	(main_got): Update.
-	* solib-irix.c (locate_base): Update.
-	* solib-som.c (som_solib_create_inferior_hook): Update.
-	(som_solib_desire_dynamic_linker_symbols): Update.
-	(link_map_start): Update.
-	* solib-spu.c (spu_enable_break): Update.
-	(ocl_enable_break): Update.
-	* solib-svr4.c (elf_locate_base): Update.
-	(enable_break): Update.
-	* spu-tdep.c (spu_get_overlay_table): Update.
-	(spu_catch_start): Update.
-	(flush_ea_cache): Update.
-	* stabsread.c (define_symbol): Update.
-	(scan_file_globals): Update.
-	* stack.c (find_frame_funname): Update.
-	(frame_info): Update.
-	* symfile.c (simple_read_overlay_table): Update.
-	(simple_overlay_update): Update.
-	* symmisc.c (dump_msymbols): Update.
-	* symtab.c (fixup_section): Update.
-	(find_pc_sect_line): Update.
-	(skip_prologue_sal): Update.
-	(search_symbols): Update.
-	(print_msymbol_info): Update.
-	(rbreak_command): Update.
-	(MCOMPLETION_LIST_ADD_SYMBOL): New macro.
-	(completion_list_objc_symbol): Update.
-	(default_make_symbol_completion_list_break_on): Update.
-	* tracepoint.c (scope_info): Update.
-	* tui/tui-disasm.c (tui_find_disassembly_address): Update.
-	(tui_get_begin_asm_address): Update.
-	* valops.c (find_function_in_inferior): Update.
-	* value.c (value_static_field): Update.
-	(value_fn_field): Update.
-
-2014-02-26  Tom Tromey  <tromey@redhat.com>
-
-	* blockframe.c (find_pc_partial_function_gnu_ifunc): Use
-	bound minimal symbols.  Move code that knows about minsym
-	table layout...
-	* minsyms.c (minimal_symbol_upper_bound): ... here.  New
-	function.
-	* minsyms.h (minimal_symbol_upper_bound): Declare.
-	* objc-lang.c (find_objc_msgsend): Use bound minimal symbols,
-	minimal_symbol_upper_bound.
-
-2014-02-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* python/lib/gdb/printing.py (RegexpCollectionPrettyPrinter):
-	Use the type's name if its basic type does not have a tag.
-
-2014-02-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* dwarf2read.c (read_subrange_type): Add comment.
-
-2014-02-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* dwarf2read.c (update_enumeration_type_from_children): New
-	function, mostly extracted from process_structure_scope.
-	(read_enumeration_type): Call update_enumeration_type_from_children.
-	(process_enumeration_scope): Do not set THIS_TYPE's flag_unsigned
-	and flag_flag_enum fields.
-
-2014-02-26  Pedro Alves  <palves@redhat.com>
-
-	* bsd-uthread.c (bsd_uthread_xfer_partial): Delete function.
-	(bsd_uthread_target): Don't install bsd_uthread_xfer_partial as
-	to_xfer_partial method.
-
-2014-02-26  Pedro Alves  <palves@redhat.com>
-
-	* target.c (complete_target_initialization): Don't install
-	default_xfer_partial as to_xfer_partial hook.
-	(nomemory): Delete.
-	(update_current_target): Don't INHERIT nor de_fault
-	deprecated_xfer_memory.  Delete de_fault macro.
-	(default_xfer_partial, deprecated_debug_xfer_memory): Delete.
-	(setup_target_debug): Don't install a deprecated_xfer_memory hook.
-	* target.h (struct target_ops) <deprecated_xfer_memory>: Delete
-	field.
-
-2014-02-26  Pedro Alves  <palves@redhat.com>
-
-	* go32-nat.c (my_write_child): New function.
-	(go32_xfer_memory): Rewrite as to_xfer_partial helper.
-	(go32_xfer_partial): New function.
-	(init_go32_ops): Don't install a deprecated_xfer_memory hook.
-	Instead install a to_xfer_partial hook.
-
-2014-02-26  Pedro Alves  <palves@redhat.com>
-
-	* nto-procfs.c (procfs_xfer_memory): Adjust interface as a
-	to_xfer_partial helper.  Rewrite.
-	(procfs_xfer_partial): New function.
-	(init_procfs_ops): Don't install a deprecated_xfer_memory hook.
-	Install a to_xfer_partial hook.
-
-2014-02-26  Pedro Alves  <palves@redhat.com>
-
-	* remote-m32r-sdi.c (send_data): Constify 'buf' parameter.
-	(m32r_xfer_memory): Adjust as a to_xfer_partial helper.
-	(m32r_xfer_partial): New function.
-	(init_m32r_ops): Don't install a deprecated_xfer_memory hook.
-	Install a to_xfer_partial hook.
-
-2014-02-26  Pedro Alves  <palves@redhat.com>
-
-	* remote-mips.c (mips_xfer_memory): Adjust as to_xfer_partial
-	helper.
-	(mips_xfer_partial): New function.
-	(_initialize_remote_mips): Don't install a deprecated_xfer_memory
-	hook.  Install a to_xfer_partial hook.
-
-2014-02-26  Joel Brobecker  <brobecker@adacore.com>
-
-	* gdbtypes.h (create_array_type_with_stride): Add declaration.
-	* gdbtypes.c (create_array_type_with_stride): New function,
-	renaming create_array_type, but with an added parameter
-	called "bit_stride".
-	(create_array_type): Re-implement using
-	create_array_type_with_stride.
-	* dwarf2read.c (read_array_type): Add support for DW_AT_byte_stride
-	and DW_AT_bit_stride attributes.
-
-2014-02-26  Pedro Alves  <palves@redhat.com>
-
-	* breakpoint.c (bpstat_check_breakpoint_conditions): Handle
-	task-specific breakpoints.
-
-2014-02-25  Pedro Alves  <palves@redhat.com>
-
-	* ia64-linux-nat.c (ia64_linux_xfer_partial): Reimplement
-	handling of object == TARGET_OBJECT_UNWIND_TABLE.
-
-2014-02-25  Stan Shebs  <stan@codesourcery.com>
-
-	* defs.h: Annotate comments for Doxygen.
-
-2014-02-25  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (target_ignore): Don't declare.
-	* target.c (target_ignore): Remove.
-
-2014-02-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	PR gdb/16626
-	* auto-load.c (auto_load_objfile_script_1): Change filename to
-	debugfile.
-
-2014-02-25  Joel Brobecker  <brobecker@adacore.com>
-
-	* ia64-linux-nat.c (ia64_linux_xfer_partial): Add function
-	documentation.  Adjust prototype to match the target_ops
-	to_xfer_partial method.  Adjust implementation accordingly.
-
-2014-02-25  Hui Zhu  <hui@codesourcery.com>
-
-	* target.h (target_ops): Fix TARGET_DEFAULT_RETURN of
-	to_traceframe_info.
-
-2014-02-25  Kevin Buettner  <kevinb@redhat.com>
-
-	* rl78-tdep.c (RL78_BANK0_RP0_PTR_REGNUM, RL78_BANK0_RP1_PTR_REGNUM)
-	(RL78_BANK0_RP2_PTR_REGNUM, RL78_BANK0_RP3_PTR_REGNUM)
-	(RL78_BANK1_RP0_PTR_REGNUM, RL78_BANK1_RP1_PTR_REGNUM)
-	(RL78_BANK1_RP2_PTR_REGNUM, RL78_BANK1_RP3_PTR_REGNUM)
-	(RL78_BANK2_RP0_PTR_REGNUM, RL78_BANK2_RP1_PTR_REGNUM)
-	(RL78_BANK2_RP2_PTR_REGNUM, RL78_BANK2_RP3_PTR_REGNUM)
-	(RL78_BANK3_RP0_PTR_REGNUM, RL78_BANK3_RP1_PTR_REGNUM)
-	(RL78_BANK3_RP2_PTR_REGNUM, RL78_BANK3_RP3_PTR_REGNUM):
-	New constants.
-	(rl78_register_type): Use a data pointer type for SP and
-	new pseudo registers mentioned above.  Use a 16 bit integer
-	type for all other register pairs.
-	(rl78_register_name, rl78_g10_register_name): Update for
-	new pseudo registers.
-	(rl78_pseudo_register_read): Likewise.
-	(rl78_pseudo_register_write): Likewise.
-	(rl78_dwarf_reg_to_regnum): Return register numbers representing
-	to the newly added pseudo registers.
-
-2014-02-24  Doug Evans  <dje@google.com>
-
-	* value.c (record_latest_value): Fix comment.
-	* printcmd.c (print_command_1): Remove code to handle -1 return from
-	record_latest_value.
-
-2014-02-24  Pedro Alves  <palves@redhat.com>
-
-	* procfs.c (procfs_target): Don't install procfs_xfer_memory as
-	deprecated_xfer_memory hook.
-	(procfs_xfer_partial): Call procfs_xfer_memory instead
-	of the deprecated_xfer_memory target hook.
-	(procfs_xfer_memory): Adjust interface as a to_xfer_partial
-	helper.
-
-2014-02-24  Yuanhui Zhang  <asmwarrior@gmail.com>
-
-	* windows-nat.c (windows_xfer_shared_libraries): Return
-	TARGET_XFER_EOF if LEN is zero to fix an assert failure when
-	requested object is TARGET_OBJECT_LIBRARIES.
-
-2014-02-24  Yao Qi  <yao@codesourcery.com>
-
-	* target.h (enum target_xfer_status)
-	<TARGET_XFER_E_UNAVAILABLE>: Rename it to ...
-	<TARGET_XFER_UNAVAILABLE>: ... it with setting value 2
-	explicitly.  New.
-	* corefile.c (memory_error_message): User updated.
-	* exec.c (section_table_read_available_memory): Likewise.
-	* record-btrace.c (record_btrace_xfer_partial): Likewise.
-	* target.c (target_xfer_status_to_string): Likewise.
-	(raw_memory_xfer_partial): Likewise.
-	(memory_xfer_partial_1, target_xfer_partial): Likewise.
-	* valops.c (read_value_memory): Likewise.
-	* exec.h: Update comments.
-
-2014-02-24  Yao Qi  <yao@codesourcery.com>
-
-	* target.c (target_xfer_status_to_string): Rename argument err
-	to status.
-	* target.h (target_xfer_status_to_string): Update declaration.
-	Replace target_xfer_error_to_string with
-	target_xfer_status_to_string in comment.
-
-2014-02-24  Yao Qi  <yao@codesourcery.com>
-
-	* mips-linux-nat.c (super_close): Update its type.
-	(mips_linux_close): Pass 'self' to super_close.
-
-2014-02-24  Yao Qi  <yao@codesourcery.com>
-
-	* target.h (TARGET_XFER_STATUS_ERROR_P): Remove.
-	* corefile.c (read_memory): Adjusted.
-	* target.c (target_write_with_progress): Adjusted.
-
-2014-02-23  Yao Qi  <yao@codesourcery.com>
-
-	Revert two patches:
-
-	2013-10-25  Yao Qi  <yao@codesourcery.com>
-
-	* remote.c (remote_traceframe_info): Return early if
-	traceframe is not selected.
-
-	2013-07-19  Yao Qi  <yao@codesourcery.com>
-
-	* target.c (update_current_target): Change the default action
-	of 'to_traceframe_info' from tcomplain to return_zero.
-	* target.h (struct target_ops) <to_traceframe_info>: Add more
-	comments.
-
-2014-02-23  Yao Qi  <yao@codesourcery.com>
-
-	* valops.c (read_value_memory): Rewrite it.  Call
-	target_xfer_partial in a loop.
-	* exec.h (section_table_available_memory): Remove declaration.
-	Move comments to ...
-	* exec.c (section_table_available_memory): ... here.  Make it
-	static.
-
-2014-02-23  Yao Qi  <yao@codesourcery.com>
-
-	* exec.c (section_table_read_available_memory): New function.
-	* exec.h (section_table_read_available_memory): Declare.
-	* ctf.c (ctf_xfer_partial): Call
-	section_table_read_available_memory.
-	* tracefile-tfile.c (tfile_xfer_partial): Likewise.
-
-2014-02-23  Yao Qi  <yao@codesourcery.com>
-
-	* ctf.c (ctf_xfer_partial): Move code to ...
-	* exec.c (exec_read_partial_read_only): ... it.  New function.
-	* tracefile-tfile.c (tfile_xfer_partial): Likewise.
-	* tracefile.c: Include "exec.h".
-	* exec.h (exec_read_partial_read_only): Declare.
-
-2014-02-23  Yao Qi  <yao@codesourcery.com>
-
-	* tracefile-tfile.c (tfile_has_all_memory): Remove.
-	(tfile_has_memory): Remove.
-	(init_tfile_ops): Don't set fields to_has_all_memory and
-	to_has_memory of tfile_ops.
-	* tracefile.c (tracefile_has_all_memory): New function.
-	(tracefile_has_memory): New function.
-	(init_tracefile_ops): Initialize fields to_has_all_memory and
-	to_has_memory of 'ops'.
-
-2014-02-23  Yao Qi  <yao@codesourcery.com>
-
-	* ctf.c (ctf_has_stack, ctf_has_registers): Remove.
-	(ctf_thread_alive, ctf_get_trace_status): Remove.
-	(init_ctf_ops): Don't set some fields of ctf_ops.  Call
-	init_tracefile_ops.
-	* tracefile-tfile.c (tfile_get_trace_status): Remove.
-	(tfile_has_stack, tfile_has_registers): Remove.
-	(tfile_thread_alive): Remove.
-	(init_tfile_ops): Don't set some fields of tfile_ops.  Call
-	init_tracefile_ops.
-	* tracefile.c (tracefile_has_stack): New function.
-	(tracefile_has_registers): New function.
-	(tracefile_thread_alive): New function.
-	(tracefile_get_trace_status): New function.
-	(init_tracefile_ops): New function.
-	* tracefile.h (init_tracefile_ops): Declare.
-
-2014-02-23  Yao Qi  <yao@codesourcery.com>
-
-	* tracepoint.c (TFILE_PID): Move it to tracefile-tfile.c.
-	(O_LARGEFILE): Likewise.
-	(tfile_ops): Likewise.
-	(TRACE_HEADER_SIZE): Likewise.
-	(trace_fd, trace_frames_offset, cur_offset): Likewise.
-	(cur_data_size): Likewise.
-	(tfile_read, tfile_open, tfile_interp_line): Likewise.
-	(tfile_close, tfile_files_info): Likewise.
-	(tfile_get_trace_status): Likewise.
-	(tfile_get_tracepoint_status): Likewise.
-	(tfile_get_traceframe_address): Likewise.
-	(tfile_trace_find, match_blocktype): Likewise.
-	(traceframe_walk_blocks, traceframe_find_block_type): Likewise.
-	(tfile_fetch_registers, tfile_xfer_partial): Likewise.
-	(tfile_get_trace_state_variable_value): Likewise.
-	(tfile_has_all_memory, tfile_has_memory): Likewise.
-	(tfile_has_stack, tfile_has_registers): Likewise.
-	(tfile_thread_alive, build_traceframe_info): Likewise.
-	(tfile_traceframe_info, init_tfile_ops): Likewise.
-	(_initialize_tracepoint): Don't call init_tfile_ops
-	and add_target_with_completer.
-	* tracefile-tfile.c: Include regcache.h, inferior.h, gdbthread.h,
-	exec.h, completer.h and filenames.h.
-	(_initialize_tracefile_tfile): New function.
-
-2014-02-23  Yao Qi  <yao@codesourcery.com>
-
-	* Makefile.in (REMOTE_OBS): Append tracefile.o and
-	tracefile-tfile.o.
-	(HFILES_NO_SRCDIR): Add tracefile.h.
-	* ctf.c: Include "tracefile.h".
-	* tracefile.h: New file.
-	* tracefile.c: New file
-	* tracefile-tfile.c: New file.
-	* tracepoint.c: Include "tracefile.h".
-	(free_uploaded_tps, free_uploaded_tsvs): Remove declarations.
-	(stop_reason_names): Add const.
-	(trace_file_writer_xfree): Move it to tracefile.c.
-	(trace_save, trace_save_command, trace_save_tfile): Likewise.
-	(trace_save_ctf): Likewise.
-	(struct tfile_trace_file_writer): Move it to tracefile-tfile.c.
-	(tfile_target_save, tfile_dtor, tfile_start): Likewise.
-	(tfile_write_header, tfile_write_regblock_type): Likewise.
-	(tfile_write_status, tfile_write_uploaded_tsv): Likewise.
-	(tfile_write_uploaded_tp, tfile_write_definition_end): Likewise.
-	(tfile_write_raw_data, tfile_end): Likewise.
-	(tfile_trace_file_writer_new): Likewise.
-	(free_uploaded_tp): Make it extern.
-	(free_uploaded_tsv): Make it extern.
-	(_initialize_tracepoint): Move code to register command 'tsave'
-	to tracefile.c.
-	* tracepoint.h (stop_reason_names): Declare.
-	(struct trace_frame_write_ops): Move it to tracefile.h.
-	(struct trace_file_write_ops): Likewise.
-	(struct trace_file_writer): Likewise.
-	(free_uploaded_tsvs, free_uploaded_tps): Declare.
-
-2014-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	PR gdb/16594
-	* common/linux-osdata.c (linux_common_core_of_thread): Find the end of
-	process name.
-	(get_cores_used_by_process): New parameter num_cores, use it.
-	(linux_xfer_osdata_processes): Pass num_cores to it.
-	* linux-tdep.c (linux_info_proc, linux_fill_prpsinfo): Find the end of
-	process name.
-
-2014-02-21  Andreas Arnez  <arnez@vnet.linux.ibm.com>
-
-	* target.c (memory_xfer_partial): Fix length arg in call to
-	breakpoint_xfer_memory.
-
-2014-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	PR tdep/16397
-	* i386-tdep.c (i386_stap_parse_special_token_triplet): Check if a
-	number comes after the + or - signs.  Adjust length of register
-	name to be extracted.
-
-2014-02-20  Tom Tromey  <tromey@redhat.com>
-
-	* varobj.h (c_varobj_ops, cplus_varobj_ops, java_varobj_ops)
-	(ada_varobj_ops): Mark "extern".
-
-2014-02-20  Tom Tromey  <tromey@redhat.com>
-
-	* dbxread.c (read_dbx_symtab): Remove last_o_file_start.
-
-2014-02-20  Doug Evans  <xdje42@gmail.com>
-
-	* guile/scm-gsmob.c (gdbscm_init_eqable_gsmob): New arg containing_scm.
-	All callers updated.
-	(gdbscm_fill_eqable_gsmob_ptr_slot): Delete arg containing_scm.
-	All callers updated.
-	* guile/guile-internal.h (gdbscm_init_eqable_gsmob): Update.
-	(gdbscm_fill_eqable_gsmob_ptr_slot): Update.
-
-2014-02-20  lin zuojian  <manjian2006@gmail.com>
-	    Joel Brobecker  <brobecker@adacore.com>
-	    Doug Evans  <xdje42@gmail.com>
-
-	PR symtab/16581
-	* dwarf2read.c (struct die_info): New member in_process.
-	(reset_die_in_process): New function.
-	(process_die): Set it at the start, reset when returning.
-	(inherit_abstract_dies): Only call process_die if origin_child_die
-	not already being processed.
-
-2014-02-20  Joel Brobecker  <brobecker@adacore.com>
-
-	* windows-nat.c (handle_unload_dll): Add function documentation.
-	(do_initial_windows_stuff): Add comment explaining why we wait
-	until after inferior initialization has finished before
-	processing all DLLs.
-
-2014-02-20  Joel Brobecker  <brobecker@adacore.com>
-
-	* windows-nat.c (get_module_name): Delete.
-	(windows_get_exec_module_filename): New function, mostly
-	inspired from get_module_name.
-	(windows_pid_to_exec_file): Replace call to get_module_name
-	by call to windows_get_exec_module_filename.
-
-2014-02-20  Joel Brobecker  <brobecker@adacore.com>
-
-	* windows-nat.c (handle_load_dll): Rewrite this function's
-	introductory comment.  Remove code using get_module_name
-	to get the DLL's name.
-
-2014-02-20  Joel Brobecker  <brobecker@adacore.com>
-
-	* windows-nat.c (get_windows_debug_event): Ignore
-	LOAD_DLL_DEBUG_EVENT and UNLOAD_DLL_DEBUG_EVENT
-	if windows_initialization_done == 0.
-	(windows_add_all_dlls): Renames windows_ensure_ntdll_loaded.
-	Adjust implementation to always load all DLLs.
-	(do_initial_windows_stuff): Replace call to
-	windows_ensure_ntdll_loaded by call to windows_add_all_dlls.
-
-2014-02-20  Joel Brobecker  <brobecker@adacore.com>
-
-	* windows-nat.c (_initialize_windows_nat): Deprecate the
-	"dll-symbols" command.  Turn the "add-shared-symbol-files"
-	and "assf" aliases into commands, and deprecate them as well.
-	* NEWS: Add entry explaining that "dll-symbols" and its two
-	aliases are now deprecated.
-
-2014-02-20  Joel Brobecker  <brobecker@adacore.com>
-
-	* dec-thread.c (dec_thread_get_ada_task_ptid): Avoid unescaped
-	new-line in debug string.  Remove trailing spaces.
-
-2014-02-19  Stan Shebs  <stan@codesourcery.com>
-
-	* darwin-nat.c (darwin_xfer_partial): Fix return type.
-
-2014-02-19  Siva Chandra Reddy  <sivachandra@google.com>
-
-	* NEWS: Add entry for the new feature
-	* python/py-value.c (valpy_binop): Call value_x_binop for struct
-	and class values.
-
-2014-02-19  Stan Shebs  <stan@codesourcery.com>
-
-	* MAINTAINERS: List Yao Qi as nios2 maintainer.
-
-2014-02-19  Pedro Alves  <palves@redhat.com>
-
-	* common/ptid.h (struct ptid): Mention that process_stratum
-	targets should prefer ptid.lwp.
-
-2014-02-19  Pedro Alves  <palves@redhat.com>
-
-	* remote.c (remote_thread_alive, write_ptid, read_ptid)
-	(read_ptid, remote_newthread_step, remote_threads_extra_info)
-	(remote_get_ada_task_ptid, append_resumption, remote_stop_ns)
-	(threadalive_test, remote_pid_to_str): Use the ptid.lwp field to
-	store remote thread ids rather than ptid.tid.
-	(_initialize_remote): Adjust.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.c (target_get_unwinder): Rewrite.
-	(target_get_tailcall_unwinder): Rewrite.
-	* record-btrace.c (record_btrace_to_get_unwinder): New function.
-	(record_btrace_to_get_tailcall_unwinder): New function.
-	(init_record_btrace_ops): Update.
-	* target.h (struct target_ops) <to_get_unwinder,
-	to_get_tailcall_unwinder>: Now function pointers.  Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* nto-procfs.c (procfs_remove_hw_breakpoint): Add 'self'
-	argument.
-	(init_procfs_ops): Correctly set to_remove_hw_breakpoint.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* record-btrace.c (record_btrace_decr_pc_after_break): Delegate
-	directly.
-	* target-delegates.c: Rebuild.
-	* target.h (struct target_ops) <to_decr_pc_after_break>: Use
-	TARGET_DEFAULT_FUNC.
-	* target.c (default_target_decr_pc_after_break): Rename from
-	forward_target_decr_pc_after_break.  Simplify.
-	(target_decr_pc_after_break): Rely on delegation.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.c (update_current_target): Do not INHERIT to_doc or
-	to_magic.  Do not de_fault to_open or to_close.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* gcore.h (objfile_find_memory_regions): Declare.
-	* gcore.c (objfile_find_memory_regions): No longer static.  Add
-	"self" argument.
-	(_initialize_gcore): Don't call exec_set_find_memory_regions.
-	* exec.c: Include gcore.h.
-	(exec_set_find_memory_regions): Remove.
-	(exec_find_memory_regions): Remove.
-	(exec_do_find_memory_regions): Remove.
-	(init_exec_ops): Update.
-	* defs.h (exec_set_find_memory_regions): Remove.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.h (struct target_ops) <to_extra_thread_info,
-	to_thread_name, to_pid_to_exec_file, to_get_section_table,
-	to_memory_map, to_read_description, to_traceframe_info>: Use NULL,
-	not 0, in TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.c (complete_target_initialization): Remove casts.  Use
-	return_zero_has_execution.
-	(return_zero): Add "ignore" argument.
-	(return_zero_has_execution): New function.
-	(init_dummy_target): Remove casts.  Use
-	return_zero_has_execution.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.c (update_current_target): Update comments.  Do not
-	INHERIT to_stratum.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* arm-linux-nat.c (arm_linux_read_description): Delegate when
-	needed.
-	* corelow.c (core_read_description): Delegate when needed.
-	* remote.c (remote_read_description): Delegate when needed.
-	* target-delegates.c: Rebuild.
-	* target.c (target_read_description): Rewrite.
-	* target.h (struct target_ops) <to_read_description>: Update
-	comment.  Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_can_run.
-	(find_default_run_target): Check against delegate_can_run.
-	* target.h (struct target_ops) <to_can_run>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_disconnect): Unconditionally delegate.
-	* target.h (struct target_ops) <to_disconnect>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* record.c (record_stop): Unconditionally delegate.
-	* target-delegates.c: Rebuild.
-	* target.c (target_stop_recording): Unconditionally delegate.
-	* target.h (struct target_ops) <to_stop_recording>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_enable_btrace): Unconditionally delegate.
-	* target.h (struct target_ops) <to_enable_btrace>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_read_btrace): Unconditionally delegate.
-	* target.h (struct target_ops) <to_read_btrace>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_teardown_btrace): Unconditionally delegate.
-	* target.h (struct target_ops) <to_teardown_btrace>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_disable_btrace): Unconditionally delegate.
-	* target.h (struct target_ops) <to_disable_btrace>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (default_search_memory): New function.
-	(simple_search_memory): Update comment.
-	(target_search_memory): Unconditionally delegate.
-	* target.h (struct target_ops) <to_search_memory>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* auxv.c (default_auxv_parse): No longer static.
-	(target_auxv_parse): Unconditionally delegate.
-	* auxv.h (default_auxv_parse): Declare.
-	* target-delegates.c: Rebuild.
-	* target.c: Include auxv.h.
-	* target.h (struct target_ops) <to_auxv_parse>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_memory_map): Unconditionally delegate.
-	* target.h (struct target_ops) <to_memory_map>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_thread_alive): Unconditionally delegate.
-	* target.h (struct target_ops) <to_thread_alive>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_save_record): Unconditionally delegate.
-	* target.h (struct target_ops) <to_save_record>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_delete_record): Unconditionally delegate.
-	* target.h (struct target_ops) <to_delete_record>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_record_is_replaying): Unconditionally
-	delegate.
-	* target.h (struct target_ops) <to_record_is_replaying>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_goto_record_begin): Unconditionally delegate.
-	* target.h (struct target_ops) <to_goto_record_begin>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_goto_record_end): Unconditionally delegate.
-	* target.h (struct target_ops) <to_goto_record_end>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_goto_record): Unconditionally delegate.
-	* target.h (struct target_ops) <to_goto_record>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_insn_history): Unconditionally delegate.
-	* target.h (struct target_ops) <to_insn_history>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_insn_history_from): Unconditionally delegate.
-	* target.h (struct target_ops) <to_insn_history_from>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_insn_history_range): Unconditionally delegate.
-	* target.h (struct target_ops) <to_insn_history_range>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_call_history): Unconditionally delegate.
-	* target.h (struct target_ops) <to_call_history>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_call_history_from): Unconditionally delegate.
-	* target.h (struct target_ops) <to_call_history_from>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_call_history_range): Unconditionally delegate.
-	* target.h (struct target_ops) <to_call_history_range>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_verify_memory): Unconditionally delegate.
-	* target.h (struct target_ops) <to_verify_memory>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_core_of_thread): Unconditionally delegate.
-	* target.h (struct target_ops) <to_core_of_thread>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_flash_done): Unconditionally delegate.
-	* target.h (struct target_ops) <to_flash_done>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_flash_erase): Unconditionally delegate.
-	* target.h (struct target_ops) <to_flash_erase>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_get_section_table): Unconditionally delegate.
-	* target.h (struct target_ops) <to_get_section_table>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_pid_to_str): Unconditionally delegate.
-	(init_dummy_target): Don't initialize to_pid_to_str.
-	(default_pid_to_str): Rename from dummy_pid_to_str.
-	* target.h (struct target_ops) <to_pid_to_str>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_find_new_threads): Unconditionally delegate.
-	* target.h (struct target_ops) <to_find_new_threads>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_program_signals): Unconditionally delegate.
-	* target.h (struct target_ops) <to_program_signals>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_pass_signals): Unconditionally delegate.
-	* target.h (struct target_ops) <to_pass_signals>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (default_mourn_inferior): New function.
-	(target_mourn_inferior): Unconditionally delegate.
-	* target.h (struct target_ops) <to_mourn_inferior>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (default_follow_fork): New function.
-	(target_follow_fork): Unconditionally delegate.
-	* target.h (struct target_ops) <to_follow_fork>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_kill): Unconditionally delegate.
-	* target.h (struct target_ops) <to_kill>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_masked_watch_num_registers): Unconditionally
-	delegate.
-	* target.h (struct target_ops) <to_masked_watch_num_registers>:
-	Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_remove_mask_watchpoint): Unconditionally
-	delegate.
-	* target.h (struct target_ops) <to_remove_mask_watchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_insert_mask_watchpoint): Unconditionally
-	delegate.
-	* target.h (struct target_ops) <to_insert_mask_watchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_ranged_break_num_registers): Unconditionally
-	delegate.
-	* target.h (struct target_ops) <to_ranged_break_num_registers>:
-	Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_fetch_registers): Unconditionally delegate.
-	* target.h (struct target_ops) <to_fetch_registers>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_stop.
-	* target.h (struct target_ops) <to_stop>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_can_run_breakpoint_commands.
-	* target.h (struct target_ops) <to_can_run_breakpoint_commands>:
-	Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_supports_evaluation_of_breakpoint_conditions.
-	* target.h (struct target_ops)
-	<to_supports_evaluation_of_breakpoint_conditions>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_augmented_libraries_svr4_read.
-	* target.h (struct target_ops) <to_augmented_libraries_svr4_read>:
-	Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_can_use_agent.
-	* target.h (struct target_ops) <to_can_use_agent>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_use_agent.
-	* target.h (struct target_ops) <to_use_agent>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_traceframe_info.
-	(return_null): Remove.
-	* target.h (struct target_ops) <to_traceframe_info>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_static_tracepoint_markers_by_strid.
-	* target.h (struct target_ops)
-	<to_static_tracepoint_markers_by_strid>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_static_tracepoint_marker_at.
-	* target.h (struct target_ops) <to_static_tracepoint_marker_at>:
-	Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_set_permissions.
-	* target.h (struct target_ops) <to_set_permissions>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_get_tib_address.
-	* target.h (struct target_ops) <to_get_tib_address>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_set_trace_notes.
-	* target.h (struct target_ops) <to_set_trace_notes>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't initialize
-	to_set_trace_buffer_size.
-	* target.h (struct target_ops) <to_set_trace_buffer_size>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_set_circular_trace_buffer.
-	* target.h (struct target_ops) <to_set_circular_trace_buffer>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_set_disconnected_tracing.
-	* target.h (struct target_ops) <to_set_disconnected_tracing>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_get_min_fast_tracepoint_insn_len.
-	(return_minus_one): Remove.
-	* target.h (struct target_ops)
-	<to_get_min_fast_tracepoint_insn_len>: Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_get_raw_trace_data.
-	* target.h (struct target_ops) <to_get_raw_trace_data>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_upload_trace_state_variables.
-	* target.h (struct target_ops) <to_upload_trace_state_variables>:
-	Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_upload_tracepoints.
-	* target.h (struct target_ops) <to_upload_tracepoints>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_save_trace_data.
-	* target.h (struct target_ops) <to_save_trace_data>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_get_trace_state_variable_value.
-	* target.h (struct target_ops)
-	<to_get_trace_state_variable_value>: Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_trace_find.
-	* target.h (struct target_ops): Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_trace_stop.
-	* target.h (struct target_ops) <to_trace_stop>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_get_tracepoint_status.
-	* target.h (struct target_ops) <to_get_tracepoint_status>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_get_trace_status.
-	* target.h (struct target_ops) <to_get_trace_status>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_trace_start.
-	* target.h (struct target_ops) <to_trace_start>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_trace_set_readonly_regions.
-	* target.h (struct target_ops) <to_trace_set_readonly_regions>:
-	Use TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_disable_tracepoint.
-	* target.h (struct target_ops) <to_disable_tracepoint>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_enable_tracepoint.
-	* target.h (struct target_ops) <to_enable_tracepoint>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_download_trace_state_variable.
-	* target.h (struct target_ops) <to_download_trace_state_variable>:
-	Use TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_can_download_tracepoint.
-	* target.h (struct target_ops) <to_can_download_tracepoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_download_tracepoint.
-	* target.h (struct target_ops) <to_download_tracepoint>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_trace_init.
-	* target.h (struct target_ops) <to_trace_init>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_supports_string_tracing.
-	* target.h (struct target_ops) <to_supports_string_tracing>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_supports_enable_disable_tracepoint.
-	* target.h (struct target_ops)
-	<to_supports_enable_disable_tracepoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_supports_multi_process.
-	* target.h (struct target_ops) <to_supports_multi_process>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_get_ada_task_ptid.
-	* target.h (struct target_ops) <to_get_ada_task_ptid>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_thread_architecture.
-	* target.h (struct target_ops) <to_thread_architecture>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_execution_direction.
-	* target.h (struct target_ops) <to_execution_direction>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_can_execute_reverse.
-	* target.h (struct target_ops) <to_can_execute_reverse>: Use
-	TARGET_DEFAULT_RETURN.
-	(target_can_execute_reverse): Unconditionally delegate.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_goto_bookmark.
-	(dummy_goto_bookmark): Remove.
-	(init_dummy_target): Don't inherit or default to_goto_bookmark.
-	* target.h (struct target_ops) <to_goto_bookmark>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_get_bookmark.
-	(dummy_get_bookmark): Remove.
-	(init_dummy_target): Don't inherit or default to_get_bookmark.
-	* target.h (struct target_ops) <to_get_bookmark>: Use
-	TARGET_DEFAULT_NORETURN
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_make_corefile_notes.
-	(init_dummy_target): Don't initialize to_make_corefile_notes.
-	* target.h (struct target_ops) <to_make_corefile_notes>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_find_memory_regions.
-	(init_dummy_target): Don't initialize to_find_memory_regions.
-	* target.h (struct target_ops) <to_find_memory_regions>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_log_command.
-	* target.h (struct target_ops) <to_log_command>: Use
-	TARGET_DEFAULT_IGNORE.
-	(target_log_command): Unconditionally delegate.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_pid_to_exec_file.
-	* target.h (struct target_ops) <to_pid_to_exec_file>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_thread_name.
-	(target_thread_name): Unconditionally delegate.
-	* target.h (struct target_ops) <to_thread_name>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_extra_thread_info.
-	* target.h (struct target_ops) <to_extra_thread_info>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_has_exited.
-	* target.h (struct target_ops) <to_has_exited>: Use
-	TARGET_DEFAULT_RETURN..
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_set_syscall_catchpoint.
-	(return_one): Remove.
-	* target.h (struct target_ops) <to_set_syscall_catchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_insert_exec_catchpoint.
-	* target.h (struct target_ops) <to_insert_exec_catchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-01-08  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_insert_exec_catchpoint.
-	* target.h (struct target_ops) <to_insert_exec_catchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_remove_vfork_catchpoint.
-	* target.h (struct target_ops) <to_remove_vfork_catchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_insert_vfork_catchpoint.
-	* target.h (struct target_ops) <to_insert_vfork_catchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_remove_fork_catchpoint.
-	* target.h (struct target_ops) <to_remove_fork_catchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_insert_fork_catchpoint.
-	* target.h (struct target_ops) <to_insert_fork_catchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_post_startup_inferior.
-	* target.h (struct target_ops) <to_post_startup_inferior>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_load.
-	* target.h (struct target_ops) <to_load>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_terminal_info.
-	* target.h (struct target_ops) <to_terminal_info>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_terminal_save_ours.
-	* target.h (struct target_ops) <to_terminal_save_ours>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_terminal_ours.
-	* target.h (struct target_ops) <to_terminal_ours>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_terminal_ours_for_output.
-	* target.h (struct target_ops) <to_terminal_ours_for_output>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_terminal_inferior.
-	* target.h (struct target_ops) <to_terminal_inferior>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_terminal_init.
-	* target.h (struct target_ops) <to_terminal_init>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_can_accel_watchpoint_condition.
-	* target.h (struct target_ops)
-	<to_can_accel_watchpoint_condition>: Use TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_region_ok_for_hw_watchpoint.
-	* target.h (struct target_ops) <to_region_ok_for_hw_watchpoint>:
-	Use TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_watchpoint_addr_within_range.
-	* target.h (struct target_ops) <to_watchpoint_addr_within_range>:
-	Use TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_remove_watchpoint.
-	* target.h (struct target_ops) <to_remove_watchpoint>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_insert_watchpoint.
-	* target.h (struct target_ops) <to_insert_watchpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_remove_hw_breakpoint.
-	* target.h (struct target_ops) <to_remove_hw_breakpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_insert_hw_breakpoint.
-	* target.h (struct target_ops) <to_insert_hw_breakpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_can_use_hw_breakpoint.
-	* target.h (struct target_ops) <to_can_use_hw_breakpoint>: Use
-	TARGET_DEFAULT_RETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_files_info.
-	* target.h (struct target_ops) <to_files_info>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_store.
-	* target.h (struct target_ops) <to_store>: Use
-	TARGET_DEFAULT_NORETURN.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_post_attach.
-	* target.h (struct target_ops) <to_post_attach>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (update_current_target): Don't inherit or default
-	to_rcmd.
-	(default_rcmd): New function.
-	(do_monitor_command): Unconditionally delegate.
-	* target.h (struct target_ops) <to_rmcd>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (init_dummy_target): Don't initialize to_attach.
-	(target_attach): Unconditionally delegate.
-	* target.h (struct target_ops) <to_attach>: Use
-	TARGET_DEFAULT_FUNC.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target-delegates.c: Rebuild.
-	* target.c (target_detach): Unconditionally delegate.
-	(init_dummy_target): Don't initialize to_detach.
-	* target.h (struct target_ops) <to_detach>: Use
-	TARGET_DEFAULT_IGNORE.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_augmented_libraries_svr4_read>:
-	Add argument.
-	(target_augmented_libraries_svr4_read): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_augmented_libraries_svr4_read): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_call_history_range>: Add
-	argument.
-	* target.c (target_call_history_range): Add argument.
-	* record-btrace.c (record_btrace_call_history_range): Add 'self'
-	argument.
-	(record_btrace_call_history_from): Update.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_call_history_from>: Add
-	argument.
-	* target.c (target_call_history_from): Add argument.
-	* record-btrace.c (record_btrace_call_history_from): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_call_history>: Add argument.
-	* target.c (target_call_history): Add argument.
-	* record-btrace.c (record_btrace_call_history): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_insn_history_range>: Add
-	argument.
-	* target.c (target_insn_history_range): Add argument.
-	* record-btrace.c (record_btrace_insn_history_range): Add 'self'
-	argument.
-	(record_btrace_insn_history_from): Update.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_insn_history_from>: Add
-	argument.
-	* target.c (target_insn_history_from): Add argument.
-	* record-btrace.c (record_btrace_insn_history_from): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_insn_history>: Add argument.
-	* target.c (target_insn_history): Add argument.
-	* record-btrace.c (record_btrace_insn_history): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_goto_record>: Add argument.
-	* target.c (target_goto_record): Add argument.
-	* record-full.c (record_full_goto): Add 'self' argument.
-	* record-btrace.c (record_btrace_goto): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_goto_record_end>: Add argument.
-	* target.c (target_goto_record_end): Add argument.
-	* record-full.c (record_full_goto_end): Add 'self' argument.
-	* record-btrace.c (record_btrace_goto_end): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_goto_record_begin>: Add
-	argument.
-	* target.c (target_goto_record_begin): Add argument.
-	* record-full.c (record_full_goto_begin): Add 'self' argument.
-	* record-btrace.c (record_btrace_goto_begin): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_record_is_replaying>: Add
-	argument.
-	* target.c (target_record_is_replaying): Add argument.
-	* record-full.c (record_full_is_replaying): Add 'self' argument.
-	* record-btrace.c (record_btrace_is_replaying): Add 'self'
-	argument.
-	(record_btrace_xfer_partial, record_btrace_store_registers)
-	(record_btrace_prepare_to_store, record_btrace_resume)
-	(record_btrace_wait, record_btrace_decr_pc_after_break)
-	(record_btrace_find_new_threads, record_btrace_thread_alive):
-	Update.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_delete_record>: Add argument.
-	* target.c (target_delete_record): Add argument.
-	* record-full.c (record_full_delete): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_save_record>: Add argument.
-	* target.c (target_save_record): Add argument.
-	* record-full.c (record_full_save): Add 'self' argument.
-	(record_full_save): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_info_record>: Add argument.
-	* target.c (target_info_record): Add argument.
-	* record.c (info_record_command): Add argument.
-	* record-full.c (record_full_info): Add 'self' argument.
-	* record-btrace.c (record_btrace_info): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_stop_recording>: Add argument.
-	* target.c (target_stop_recording): Add argument.
-	* record.c (record_stop): Add argument.
-	* record-btrace.c (record_btrace_stop_recording): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_read_btrace>: Add argument.
-	* target.c (struct target_ops) <to_read_btrace>: Add argument.
-	* remote.c (struct target_ops) <to_read_btrace>: Add 'self'
-	argument.
-	* amd64-linux-nat.c (amd64_linux_read_btrace): New function.
-	(_initialize_amd64_linux_nat): Use it.
-	* i386-linux-nat.c (i386_linux_read_btrace): New function.
-	(_initialize_i386_linux_nat): Use it.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_teardown_btrace>: Add argument.
-	* target.c (target_teardown_btrace): Add argument.
-	* remote.c (remote_teardown_btrace): Add 'self' argument.
-	* i386-linux-nat.c (i386_linux_teardown_btrace): Add 'self'
-	argument.
-	* amd64-linux-nat.c (amd64_linux_teardown_btrace): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_disable_btrace>: Add argument.
-	* target.c (target_disable_btrace): Add argument.
-	* remote.c (remote_disable_btrace): Add 'self' argument.
-	* i386-linux-nat.c (i386_linux_disable_btrace): Add 'self'
-	argument.
-	* amd64-linux-nat.c (amd64_linux_disable_btrace): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_enable_btrace>: Add argument.
-	* target.c (target_enable_btrace): Add argument.
-	* remote.c (remote_enable_btrace): Add 'self' argument.
-	* i386-linux-nat.c (i386_linux_enable_btrace): Add 'self'
-	argument.
-	* amd64-linux-nat.c (amd64_linux_enable_btrace): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_can_use_agent>: Add argument.
-	(target_can_use_agent): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_can_use_agent): Add 'self' argument.
-	* inf-child.c (inf_child_can_use_agent): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_use_agent>: Add argument.
-	(target_use_agent): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_use_agent): Add 'self' argument.
-	* inf-child.c (inf_child_use_agent): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* tracepoint.c (tfile_traceframe_info): Add 'self' argument.
-	* target.h (struct target_ops) <to_traceframe_info>: Add argument.
-	(target_traceframe_info): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_traceframe_info): Add 'self' argument.
-	* ctf.c (ctf_traceframe_info): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (target_static_tracepoint_markers_by_strid): Add
-	argument.
-	(struct target_ops) <to_static_tracepoint_markers_by_strid>: Add
-	'self' argument.
-	* target.c (update_current_target): Update.
-	* remote.c (struct target_ops)
-	<to_static_tracepoint_markers_by_strid>: Add 'self' argument.
-	* linux-nat.c (struct target_ops)
-	<to_static_tracepoint_markers_by_strid>: Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_static_tracepoint_marker_at>:
-	Add argument.
-	(target_static_tracepoint_marker_at): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_static_tracepoint_marker_at): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_set_permissions>: Add argument.
-	(target_set_permissions): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_set_permissions): Add 'self' argument.
-	(remote_start_remote): Update.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* windows-nat.c (windows_get_tib_address): Add 'self' argument.
-	* target.h (struct target_ops) <to_get_tib_address>: Add argument.
-	(target_get_tib_address): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_get_tib_address): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_set_trace_notes>: Add argument.
-	(target_set_trace_notes): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_set_trace_notes): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_set_trace_buffer_size>: Add
-	argument.
-	(target_set_trace_buffer_size): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_set_trace_buffer_size): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_set_circular_trace_buffer>: Add
-	argument.
-	(target_set_circular_trace_buffer): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_set_circular_trace_buffer): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_set_disconnected_tracing>: Add
-	argument.
-	(target_set_disconnected_tracing): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_set_disconnected_tracing): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops)
-	<to_get_min_fast_tracepoint_insn_len>: Add argument.
-	(target_get_min_fast_tracepoint_insn_len): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_get_min_fast_tracepoint_insn_len): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_get_raw_trace_data>: Add
-	argument.
-	(target_get_raw_trace_data): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_get_raw_trace_data): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_upload_trace_state_variables>:
-	Add argument.
-	(target_upload_trace_state_variables): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_upload_trace_state_variables): Add 'self'
-	argument.
-	(remote_start_remote): Update.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_upload_tracepoints>: Add
-	argument.
-	(target_upload_tracepoints): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_upload_tracepoints): Add 'self' argument.
-	(remote_start_remote): Update.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_save_trace_data>: Add argument.
-	(target_save_trace_data): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_save_trace_data): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* tracepoint.c (tfile_get_trace_state_variable_value): Add 'self'
-	argument.
-	* target.h (struct target_ops)
-	<to_get_trace_state_variable_value>: Add argument.
-	(target_get_trace_state_variable_value): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_get_trace_state_variable_value): Add 'self'
-	argument.
-	* ctf.c (ctf_get_trace_state_variable_value): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* tracepoint.c (tfile_trace_find): Add 'self' argument.
-	* target.h (struct target_ops) <to_trace_find>: Add argument.
-	(target_trace_find): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_trace_find): Add 'self' argument.
-	* ctf.c (ctf_trace_find): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_trace_stop>: Add argument.
-	(target_trace_stop): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_trace_stop): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* tracepoint.c (tfile_get_tracepoint_status): Add 'self' argument.
-	* target.h (struct target_ops) <to_get_tracepoint_status>: Add
-	argument.
-	(target_get_tracepoint_status): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_get_tracepoint_status): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* tracepoint.c (tfile_get_trace_status): Add 'self' argument.
-	* target.h (struct target_ops) <to_get_trace_status>: Add
-	argument.
-	(target_get_trace_status): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_get_trace_status): Add 'self' argument.
-	(remote_start_remote, remote_can_download_tracepoint): Update.
-	* ctf.c (ctf_get_trace_status): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_trace_start>: Add argument.
-	(target_trace_start): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_trace_start): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_trace_set_readonly_regions>:
-	Add argument.
-	(target_trace_set_readonly_regions): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_trace_set_readonly_regions): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_disable_tracepoint>: Add
-	argument.
-	(target_disable_tracepoint): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_disable_tracepoint): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_enable_tracepoint>: Add
-	argument.
-	(target_enable_tracepoint): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_enable_tracepoint): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_download_trace_state_variable>:
-	Add argument.
-	(target_download_trace_state_variable): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_download_trace_state_variable): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_can_download_tracepoint>: Add
-	argument.
-	(target_can_download_tracepoint): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_can_download_tracepoint): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_download_tracepoint>: Add
-	argument.
-	(target_download_tracepoint): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_download_tracepoint): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_trace_init>: Add argument.
-	(target_trace_init): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_trace_init): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_fileio_readlink>: Add argument.
-	* target.c (target_fileio_readlink): Add argument.
-	* remote.c (remote_hostio_readlink): Add 'self' argument.
-	* inf-child.c (inf_child_fileio_readlink): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_fileio_unlink>: Add argument.
-	* target.c (target_fileio_unlink): Add argument.
-	* remote.c (remote_hostio_unlink): Add 'self' argument.
-	(remote_file_delete): Update.
-	* inf-child.c (inf_child_fileio_unlink): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_fileio_close>: Add argument.
-	* target.c (target_fileio_close): Add argument.
-	* remote.c (remote_hostio_close): Add 'self' argument.
-	(remote_hostio_close_cleanup): Update.
-	(remote_bfd_iovec_close, remote_file_put, remote_file_get):
-	Update.
-	* inf-child.c (inf_child_fileio_close): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_fileio_pread>: Add argument.
-	* target.c (target_fileio_pread): Add argument.
-	* remote.c (remote_hostio_pread): Add 'self' argument.
-	(remote_bfd_iovec_pread, remote_file_get): Update.
-	* inf-child.c (inf_child_fileio_pread): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_fileio_pwrite>: Add argument.
-	* target.c (target_fileio_pwrite): Add argument.
-	* remote.c (remote_hostio_pwrite): Add 'self' argument.
-	(remote_file_put): Update.
-	* inf-child.c (inf_child_fileio_pwrite): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_fileio_open>: Add argument.
-	* target.c (target_fileio_open): Add argument.
-	* remote.c (remote_hostio_open): Add 'self' argument.
-	(remote_bfd_iovec_open): Add 'self' argument.
-	(remote_file_put): Add 'self' argument.
-	(remote_file_get): Add 'self' argument.
-	* inf-child.c (inf_child_fileio_open): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_can_run_breakpoint_commands>:
-	Add argument.
-	(target_can_run_breakpoint_commands): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_can_run_breakpoint_commands): Add 'self'
-	argument.
-	(remote_insert_breakpoint): Add 'self' argument.
-	(remote_insert_hw_breakpoint): Add 'self' argument.
-	(remote_can_run_breakpoint_commands): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops)
-	<to_supports_evaluation_of_breakpoint_conditions>: Add argument.
-	(target_supports_evaluation_of_breakpoint_conditions): Add
-	argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_supports_cond_breakpoints): Add 'self'
-	argument.
-	(remote_insert_breakpoint): Add 'self' argument.
-	(remote_insert_hw_breakpoint): Add 'self' argument.
-	(remote_supports_cond_breakpoints): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_supports_string_tracing>: Add
-	argument.
-	(target_supports_string_tracing): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_supports_string_tracing): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops)
-	<to_supports_disable_randomization>: Add argument.
-	* target.c (find_default_supports_disable_randomization): Add
-	argument.
-	(target_supports_disable_randomization): Add argument.
-	(find_default_supports_disable_randomization): Add 'self'
-	argument.
-	* remote.c (extended_remote_supports_disable_randomization): Add
-	'self' argument.
-	(remote_supports_disable_randomization): Add 'self' argument.
-	(extended_remote_create_inferior): Update.
-	* linux-nat.c (linux_nat_supports_disable_randomization): Add
-	'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops)
-	<to_supports_enable_disable_tracepoint>: Add argument.
-	(target_supports_enable_disable_tracepoint): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_supports_enable_disable_tracepoint): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_supports_multi_process>: Add
-	argument.
-	(target_supports_multi_process): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_supports_multi_process): Add 'self' argument.
-	* linux-nat.c (linux_nat_supports_multi_process): Add 'self'
-	argument.
-	* darwin-nat.c (darwin_supports_multi_process): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_execution_direction>: Add
-	argument.
-	(target_execution_direction): Add argument.
-	* target.c (default_execution_direction): Add 'self' argument.
-	* record-full.c (record_full_execution_direction): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_can_execute_reverse>: Add
-	argument.
-	(target_can_execute_reverse): Add argument.
-	* remote.c (remote_can_execute_reverse): Add 'self' argument.
-	* record-full.c (record_full_can_execute_reverse): Add 'self'
-	argument.
-	* record-btrace.c (record_btrace_can_execute_reverse): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* windows-nat.c (windows_get_ada_task_ptid): Add 'self' argument.
-	* target.h (struct target_ops) <to_get_ada_task_ptid>: Add
-	argument.
-	(target_get_ada_task_ptid): Add argument.
-	* target.c (update_current_target): Update.
-	(default_get_ada_task_ptid): Add 'self' argument.
-	* sol-thread.c (sol_get_ada_task_ptid): Add 'self' argument.
-	* remote.c (remote_get_ada_task_ptid): Add 'self' argument.
-	* ravenscar-thread.c (ravenscar_get_ada_task_ptid): Add 'self'
-	argument.
-	* linux-thread-db.c (thread_db_get_ada_task_ptid): Add 'self'
-	argument.
-	* inf-ttrace.c (inf_ttrace_get_ada_task_ptid): Add 'self'
-	argument.
-	* dec-thread.c (dec_thread_get_ada_task_ptid): Add 'self'
-	argument.
-	* darwin-nat.c (darwin_get_ada_task_ptid): Add 'self' argument.
-	* aix-thread.c (aix_thread_get_ada_task_ptid): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_goto_bookmark>: Add argument.
-	(target_goto_bookmark): Add argument.
-	* target.c (dummy_goto_bookmark): Add 'self' argument.
-	* record-full.c (record_full_goto_bookmark): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_get_bookmark>: Add argument.
-	(target_get_bookmark): Add argument.
-	* target.c (dummy_get_bookmark): Add 'self' argument.
-	* record-full.c (record_full_get_bookmark): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_make_corefile_notes>: Add
-	argument.
-	(target_make_corefile_notes): Add argument.
-	* target.c (dummy_make_corefile_notes): Add 'self' argument.
-	* procfs.c (procfs_make_note_section): Add 'self' argument.
-	(procfs_make_note_section): Add 'self' argument.
-	(procfs_make_note_section): Add 'self' argument.
-	* linux-nat.c (linux_nat_make_corefile_notes): Add 'self'
-	argument.
-	* fbsd-nat.h (fbsd_make_corefile_notes): Add 'self' argument.
-	* fbsd-nat.c (fbsd_make_corefile_notes): Add 'self' argument.
-	* exec.c (exec_make_note_section): Add 'self' argument.
-	(exec_make_note_section): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_find_memory_regions>: Add
-	argument.
-	(target_find_memory_regions): Add argument.
-	* target.c (dummy_find_memory_regions): Add 'self' argument.
-	* procfs.c (proc_find_memory_regions): Add 'self' argument.
-	* gnu-nat.c (gnu_find_memory_regions): Add 'self' argument.
-	* fbsd-nat.h (fbsd_find_memory_regions): Add 'self' argument.
-	* fbsd-nat.c (fbsd_find_memory_regions): Add 'self' argument.
-	* exec. (exec_do_find_memory_regions): New global.
-	(exec_set_find_memory_regions): Rewrite.
-	(exec_find_memory_regions): New function.
-	(init_exec_ops): Use exec_find_memory_regions.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_supports_non_stop>: Add
-	argument.
-	* target.c (find_default_supports_non_stop): Add argument.
-	(target_supports_non_stop): Add argument.
-	(find_default_supports_non_stop): Add 'self' argument.
-	* remote.c (remote_supports_non_stop): Add 'self' argument.
-	* linux-nat.c (linux_nat_supports_non_stop): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_log_command>: Add argument.
-	(target_log_command): Add argument.
-	* serial.h (serial_log_command): Add 'self' argument.
-	* serial.c (serial_log_command): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* windows-nat.c (windows_pid_to_exec_file): Add 'self' argument.
-	* target.h (struct target_ops) <to_pid_to_exec_file>: Add
-	argument.
-	(target_pid_to_exec_file): Add argument.
-	* target.c (debug_to_pid_to_exec_file): Add argument.
-	(update_current_target): Update.
-	* nbsd-nat.h (nbsd_pid_to_exec_file): Add 'self' argument.
-	* nbsd-nat.c (nbsd_pid_to_exec_file): Add 'self' argument.
-	* linux-nat.c (linux_child_pid_to_exec_file): Add 'self' argument.
-	(linux_handle_extended_wait): Update.
-	* inf-child.c (inf_child_pid_to_exec_file): Add 'self' argument.
-	* fbsd-nat.h (fbsd_pid_to_exec_file): Add 'self' argument.
-	* fbsd-nat.c (fbsd_pid_to_exec_file): Add 'self' argument.
-	* darwin-nat.c (darwin_pid_to_exec_file): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_rcmd>: Add argument.
-	(target_rcmd): Add argument.
-	* target.c (debug_to_rcmd): Add argument.
-	(update_current_target, do_monitor_command): Update.
-	* remote.c (remote_rcmd): Add 'self' argument.
-	* monitor.c (monitor_rcmd): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* windows-nat.c (windows_stop): Add 'self' argument.
-	* target.h (struct target_ops) <to_stop>: Add argument.
-	* target.c (target_stop): Add argument.
-	(debug_to_stop): Add argument.
-	(update_current_target): Update.
-	* remote.c (remote_stop): Add 'self' argument.
-	* remote-sim.c (gdbsim_stop): Add 'self' argument.
-	(gdbsim_cntrl_c): Update.
-	* remote-m32r-sdi.c (m32r_stop): Add 'self' argument.
-	* procfs.c (procfs_stop): Add 'self' argument.
-	* nto-procfs.c (procfs_stop): Add 'self' argument.
-	* monitor.c (monitor_stop): Add 'self' argument.
-	(monitor_open): Update.
-	* linux-nat.c (linux_nat_stop): Add argument.
-	* inf-ptrace.c (inf_ptrace_stop): Add 'self' argument.
-	* gnu-nat.c (gnu_stop): Add 'self' argument.
-	* darwin-nat.c (darwin_stop): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_thread_name>: Add argument.
-	* target.c (target_thread_name): Add argument.
-	(update_current_target): Update.
-	* linux-nat.c (linux_nat_thread_name): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_extra_thread_info>: Add
-	argument.
-	(target_extra_thread_info): Add argument.
-	* target.c (update_current_target): Update.
-	* remote.c (remote_threads_extra_info): Add 'self' argument.
-	* ravenscar-thread.c (ravenscar_extra_thread_info): Add 'self'
-	argument.
-	* nto-tdep.h (nto_extra_thread_info): Add 'self' argument.
-	* nto-tdep.c (nto_extra_thread_info): Add 'self' argument.
-	* linux-thread-db.c (thread_db_extra_thread_info): Add 'self'
-	argument.
-	* inf-ttrace.c (inf_ttrace_extra_thread_info): Add 'self'
-	argument.
-	* bsd-uthread.c (bsd_uthread_extra_thread_info): Add 'self'
-	argument.
-	* aix-thread.c (aix_thread_extra_thread_info): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_program_signals>: Add argument.
-	* target.c (target_program_signals): Add argument.
-	* remote.c (remote_program_signals): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_pass_signals>: Add argument.
-	* target.c (target_pass_signals): Add argument.
-	* remote.c (remote_pass_signals): Add 'self' argument.
-	(remote_start_remote): Update.
-	* procfs.c (procfs_pass_signals): Add 'self' argument.
-	* nto-procfs.c (procfs_pass_signals): Add 'self' argument.
-	* linux-nat.c (linux_nat_pass_signals): Add 'self' argument.
-	(linux_nat_create_inferior, linux_nat_attach): Update.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* windows-nat.c (windows_can_run): Add 'self' argument.
-	* target.h (struct target_ops) <to_can_run>: Add argument.
-	(target_can_run): Add argument.
-	* target.c (debug_to_can_run): Add argument.
-	(update_current_target): Update.
-	* nto-procfs.c (procfs_can_run): Add 'self' argument.
-	* inf-child.c (inf_child_can_run): Add 'self' argument.
-	* go32-nat.c (go32_can_run): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_has_exited>: Add argument.
-	(target_has_exited): Add argument.
-	* target.c (debug_to_has_exited): Add argument.
-	(update_current_target): Update.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_set_syscall_catchpoint>: Add
-	argument.
-	(target_set_syscall_catchpoint): Add argument.
-	* linux-nat.c (linux_child_set_syscall_catchpoint): Add 'self'
-	argument.
-	* target.c (update_current_target): Update.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_remove_exec_catchpoint>: Add
-	argument.
-	(target_remove_exec_catchpoint): Add argument.
-	* target.c (debug_to_remove_exec_catchpoint): Add argument.
-	(update_current_target): Update.
-	* linux-nat.c (linux_child_remove_exec_catchpoint): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_insert_exec_catchpoint>: Add
-	argument.
-	(target_insert_exec_catchpoint): Add argument.
-	* target.c (debug_to_insert_exec_catchpoint): Add argument.
-	(update_current_target): Update.
-	* linux-nat.c (linux_child_insert_exec_catchpoint): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_remove_vfork_catchpoint>: Add
-	argument.
-	(target_remove_vfork_catchpoint): Add argument.
-	* target.c (debug_to_remove_vfork_catchpoint): Add argument.
-	(update_current_target): Update.
-	* linux-nat.c (linux_child_remove_vfork_catchpoint): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_insert_vfork_catchpoint>: Add
-	argument.
-	(target_insert_vfork_catchpoint): Add argument.
-	* target.c (debug_to_insert_vfork_catchpoint): Add argument.
-	(update_current_target): Update.
-	* linux-nat.c (linux_child_insert_vfork_catchpoint): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_remove_fork_catchpoint>: Add
-	argument.
-	(target_remove_fork_catchpoint): Add argument.
-	* target.c (debug_to_remove_fork_catchpoint): Add argument.
-	(update_current_target): Update.
-	* linux-nat.c (linux_child_remove_fork_catchpoint): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_insert_fork_catchpoint>: Add
-	argument.
-	(target_insert_fork_catchpoint): Add argument.
-	* target.c (debug_to_insert_fork_catchpoint): Add argument.
-	(update_current_target): Update.
-	* linux-nat.c (linux_child_insert_fork_catchpoint): Add 'self'
-	argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_post_startup_inferior>: Add
-	argument.
-	(target_post_startup_inferior): Add argument.
-	* target.c (debug_to_post_startup_inferior): Add argument.
-	(update_current_target): Update.
-	* spu-linux-nat.c (spu_child_post_startup_inferior): Add 'self'
-	argument.
-	* linux-nat.c (linux_child_post_startup_inferior): Add 'self'
-	argument.
-	* inf-ptrace.c (inf_ptrace_post_startup_inferior): Add 'self'
-	argument.
-	* inf-child.c (inf_child_post_startup_inferior): Add 'self'
-	argument.
-	* i386-linux-nat.c (i386_linux_child_post_startup_inferior): Add
-	'self' argument.
-	(super_post_startup_inferior): Likewise.
-	* amd64-linux-nat.c (amd64_linux_child_post_startup_inferior): Add
-	'self' argument.
-	(super_post_startup_inferior): Likewise.
-	* aarch64-linux-nat.c (aarch64_linux_child_post_startup_inferior):
-	Add 'self' argument.
-	(super_post_startup_inferior): Likewise.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_load>: Add argument.
-	* target.c (target_load): Add argument.
-	(debug_to_load): Add argument.
-	(update_current_target): Update.
-	* remote.c (remote_load): Add 'self' argument.
-	* remote-sim.c (gdbsim_load): Add 'self' argument.
-	* remote-mips.c (mips_load): Add 'self' argument.
-	* remote-m32r-sdi.c (m32r_load): Add 'self' argument.
-	* monitor.c (monitor_load): Add 'self' argument.
-	* m32r-rom.c (m32r_load_gen): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_terminal_info>: Add argument.
-	(target_terminal_info): Add argument.
-	* target.c (debug_to_terminal_info): Add argument.
-	(default_terminal_info): Likewise.
-	* inflow.c (child_terminal_info): Add 'self' argument.
-	* inferior.h (child_terminal_info): Add 'self' argument.
-	* go32-nat.c (go32_terminal_info): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_terminal_save_ours>: Add
-	argument.
-	(target_terminal_save_ours): Add argument.
-	* target.c (debug_to_terminal_save_ours): Add argument.
-	(update_current_target): Update.
-	* inflow.c (terminal_save_ours): Add 'self' argument.
-	* inferior.h (terminal_save_ours): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_terminal_ours>: Add argument.
-	(target_terminal_ours): Add argument.
-	* target.c (debug_to_terminal_ours): Add argument.
-	(update_current_target): Update.
-	* remote.c (remote_terminal_ours): Add 'self' argument.
-	(remote_close): Update.
-	* linux-nat.c (linux_nat_terminal_ours): Add 'self' argument.
-	* inflow.c (terminal_ours): Add 'self' argument.
-	* inferior.h (terminal_ours): Add 'self' argument.
-	* go32-nat.c (go32_terminal_ours): Add 'self' argument.
-
-2014-02-19  Pedro Alves  <palves@redhat.com>
-	    Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_terminal_ours_for_output>: Add
-	argument.
-	(target_terminal_ours_for_output): Add argument.
-	* target.c (debug_to_terminal_ours_for_output): Add argument.
-	(update_current_target): Update.
-	* inflow.c (terminal_ours_for_output): Add 'self' argument.
-	* inferior.h (terminal_ours_for_output): Add 'self' argument.
-	* go32-nat.c (go32_terminal_ours): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_terminal_inferior>: Add
-	argument.
-	* target.c (target_terminal_inferior): Add argument.
-	(update_current_target): Update.
-	* remote.c (remote_terminal_inferior): Add 'self' argument.
-	* linux-nat.c (linux_nat_terminal_inferior): Add 'self' argument.
-	* inflow.c (terminal_inferior): Add 'self' argument.
-	* inferior.h (terminal_inferior): Add 'self' argument.
-	* go32-nat.c (go32_terminal_inferior): Add 'self' argument.
-	(go32_terminal_inferior): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_terminal_init>: Add argument.
-	(target_terminal_init): Add argument.
-	* target.c (debug_to_terminal_init): Add argument.
-	(update_current_target): Update.
-	* inflow.c (terminal_init_inferior): Add 'self' argument.
-	* inferior.h (terminal_init_inferior): Add 'self' argument.
-	* go32-nat.c (go32_terminal_init): Add 'self' argument.
-	* gnu-nat.c (gnu_terminal_init_inferior): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops)
-	<to_can_accel_watchpoint_condition>: Add argument.
-	(target_can_accel_watchpoint_condition): Add argument.
-	* target.c (debug_to_can_accel_watchpoint_condition): Add
-	argument.
-	(update_current_target): Update.
-	* ppc-linux-nat.c (ppc_linux_can_accel_watchpoint_condition): Add
-	'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_region_ok_for_hw_watchpoint>:
-	Add argument.
-	(target_region_ok_for_hw_watchpoint): Add argument.
-	* target.c (debug_to_region_ok_for_hw_watchpoint): Add argument.
-	(default_region_ok_for_hw_watchpoint): Add argument.
-	* spu-multiarch.c (spu_region_ok_for_hw_watchpoint): Add argument.
-	* s390-linux-nat.c (s390_region_ok_for_hw_watchpoint): Add 'self'
-	argument.
-	* remote.c (remote_region_ok_for_hw_watchpoint): Add 'self'
-	argument.
-	* procfs.c (procfs_region_ok_for_hw_watchpoint): Add 'self'
-	argument.
-	* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Add
-	'self' argument.
-	* mips-linux-nat.c (mips_linux_region_ok_for_hw_watchpoint): Add
-	'self' argument.
-	* inf-ttrace.c (inf_ttrace_region_ok_for_hw_watchpoint): Add
-	'self' argument.
-	* i386-nat.c (i386_region_ok_for_watchpoint): Add 'self' argument.
-	* arm-linux-nat.c (arm_linux_region_ok_for_hw_watchpoint): Add
-	'self' argument.
-	* aarch64-linux-nat.c (aarch64_linux_region_ok_for_hw_watchpoint):
-	Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_insert_watchpoint>: Add
-	argument.
-	(target_insert_watchpoint): Add argument.
-	* target.c (debug_to_insert_watchpoint): Add argument.
-	(update_current_target): Update.
-	* s390-linux-nat.c (s390_insert_watchpoint): Add 'self' argument.
-	* remote.c (remote_insert_watchpoint): Add 'self' argument.
-	* remote-mips.c (mips_insert_watchpoint): Add 'self' argument.
-	* remote-m32r-sdi.c (m32r_insert_watchpoint): Add 'self' argument.
-	* procfs.c (procfs_insert_watchpoint): Add 'self' argument.
-	* ppc-linux-nat.c (ppc_linux_insert_watchpoint): Add 'self'
-	argument.
-	* nto-procfs.c (procfs_insert_hw_watchpoint): Add 'self' argument.
-	(procfs_insert_hw_watchpoint): Add 'self' argument.
-	* mips-linux-nat.c (mips_linux_insert_watchpoint): Add 'self'
-	argument.
-	* inf-ttrace.c (inf_ttrace_insert_watchpoint): Add 'self'
-	argument.
-	* ia64-linux-nat.c (ia64_linux_insert_watchpoint): Add 'self'
-	argument.
-	* i386-nat.c (i386_insert_watchpoint): Add 'self' argument.
-	* arm-linux-nat.c (arm_linux_insert_watchpoint): Add 'self'
-	argument.
-	* aarch64-linux-nat.c (aarch64_linux_insert_watchpoint): Add
-	'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_remove_watchpoint>: Add
-	argument.
-	(target_remove_watchpoint): Add argument.
-	* target.c (debug_to_remove_watchpoint): Add argument.
-	(update_current_target): Update.
-	* s390-linux-nat.c (s390_remove_watchpoint): Add 'self' argument.
-	* remote.c (remote_remove_watchpoint): Add 'self' argument.
-	* remote-mips.c (mips_remove_watchpoint): Add 'self' argument.
-	* remote-m32r-sdi.c (m32r_remove_watchpoint): Add 'self' argument.
-	* procfs.c (procfs_remove_watchpoint): Add 'self' argument.
-	* ppc-linux-nat.c (ppc_linux_remove_watchpoint): Add 'self'
-	argument.
-	* nto-procfs.c (procfs_remove_hw_watchpoint): Add 'self' argument.
-	* mips-linux-nat.c (mips_linux_remove_watchpoint): Add 'self'
-	argument.
-	* inf-ttrace.c (inf_ttrace_remove_watchpoint): Add 'self'
-	argument.
-	* ia64-linux-nat.c (ia64_linux_remove_watchpoint): Add 'self'
-	argument.
-	* i386-nat.c (i386_remove_watchpoint): Add 'self' argument.
-	* arm-linux-nat.c (arm_linux_remove_watchpoint): Add 'self'
-	argument.
-	* aarch64-linux-nat.c (aarch64_linux_remove_watchpoint): Add
-	'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_remove_hw_breakpoint>: Add
-	argument.
-	(target_remove_hw_breakpoint): Add argument.
-	* target.c (debug_to_remove_hw_breakpoint): Add argument.
-	(update_current_target): Update.
-	* remote.c (remote_remove_hw_breakpoint): Add 'self' argument.
-	* ppc-linux-nat.c (ppc_linux_remove_hw_breakpoint): Add 'self'
-	argument.
-	* i386-nat.c (i386_remove_hw_breakpoint): Add 'self' argument.
-	* arm-linux-nat.c (arm_linux_remove_hw_breakpoint): Add 'self'
-	argument.
-	* aarch64-linux-nat.c (aarch64_linux_remove_hw_breakpoint): Add
-	'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_insert_hw_breakpoint>: Add
-	argument.
-	(target_insert_hw_breakpoint): Add argument.
-	* target.c (debug_to_insert_hw_breakpoint): Add argument.
-	(update_current_target): Update.
-	* remote.c (remote_insert_hw_breakpoint): Add 'self' argument.
-	* ppc-linux-nat.c (ppc_linux_insert_hw_breakpoint): Add 'self'
-	argument.
-	* nto-procfs.c (procfs_insert_hw_breakpoint): Add 'self' argument.
-	* i386-nat.c (i386_insert_hw_breakpoint): Add 'self' argument.
-	* arm-linux-nat.c (arm_linux_insert_hw_breakpoint): Add 'self'
-	argument.
-	* aarch64-linux-nat.c (aarch64_linux_insert_hw_breakpoint): Add
-	'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_can_use_hw_breakpoint>: Add
-	argument.
-	(target_can_use_hardware_watchpoint): Add argument.
-	* target.c (debug_to_can_use_hw_breakpoint): Add argument.
-	(update_current_target): Update.
-	* spu-linux-nat.c (spu_can_use_hw_breakpoint): Add 'self'
-	argument.
-	* s390-linux-nat.c (s390_can_use_hw_breakpoint): Add 'self'
-	argument.
-	* remote.c (remote_check_watch_resources): Add 'self' argument.
-	* remote-mips.c (mips_can_use_watchpoint): Add 'self' argument.
-	* remote-m32r-sdi.c (m32r_can_use_hw_watchpoint): Add 'self'
-	argument.
-	* procfs.c (procfs_can_use_hw_breakpoint): Add 'self' argument.
-	* ppc-linux-nat.c (ppc_linux_can_use_hw_breakpoint): Add 'self'
-	argument.
-	* nto-procfs.c (procfs_can_use_hw_breakpoint): Add 'self'
-	argument.
-	* mips-linux-nat.c (mips_linux_can_use_hw_breakpoint): Add 'self'
-	argument.
-	* inf-ttrace.c (inf_ttrace_can_use_hw_breakpoint): Add 'self'
-	argument.
-	* ia64-linux-nat.c (ia64_linux_can_use_hw_breakpoint): Add 'self'
-	argument.
-	* ia64-hpux-nat.c (ia64_hpux_can_use_hw_breakpoint): Add 'self'
-	argument.
-	* i386-nat.c (i386_can_use_hw_breakpoint): Add 'self' argument.
-	* arm-linux-nat.c (arm_linux_can_use_hw_breakpoint): Add 'self'
-	argument.
-	* aarch64-linux-nat.c (aarch64_linux_can_use_hw_breakpoint): Add
-	'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (struct target_ops) <to_post_attach>: Add argument.
-	(target_post_attach): Add argument.
-	* target.c (debug_to_post_attach): Add argument.
-	(update_current_target): Update.
-	* spu-linux-nat.c (spu_child_post_attach): Add 'self' argument.
-	* nto-procfs.c (procfs_post_attach): Add 'self' argument.
-	* linux-nat.c (linux_child_post_attach): Add 'self' argument.
-	* inf-ptrace.c (inf_ptrace_post_attach): Add 'self' argument.
-	* inf-child.c (inf_child_post_attach): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* windows-nat.c (windows_close): Add 'self' argument.
-	* tracepoint.c (tfile_close): Add 'self' argument.
-	* target.h (struct target_ops) <to_close>: Add argument.
-	* target.c (target_close): Add argument.
-	(update_current_target): Update.
-	* remote.c (remote_close): Add 'self' argument.
-	* remote-sim.c (gdbsim_close): Add 'self' argument.
-	* remote-mips.c (mips_close): Add 'self' argument.
-	* remote-m32r-sdi.c (m32r_close): Add 'self' argument.
-	* record-full.c (record_full_close): Add 'self' argument.
-	* record-btrace.c (record_btrace_close): Add 'self' argument.
-	* monitor.h (monitor_close): Add 'self' argument.
-	* monitor.c (monitor_close): Add 'self' argument.
-	* mips-linux-nat.c (mips_linux_close): Add 'self' argument.
-	* linux-nat.c (linux_nat_close): Add argument.
-	* go32-nat.c (go32_close): Add 'self' argument.
-	* exec.c (exec_close_1): Add 'self' argument.
-	* ctf.c (ctf_close): Add 'self' argument.
-	* corelow.c (core_close): Add 'self' argument.
-	(core_close_cleanup): Update.
-	* bsd-uthread.c (bsd_uthread_close): Add 'self' argument.
-	* bsd-kvm.c (bsd_kvm_close): Add 'self' argument.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* remote.c (remote_load): New function.
-	(init_remote_ops): Use it.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* common/linux-btrace.c (linux_supports_btrace): Add "ops"
-	argument.
-	* common/linux-btrace.h (linux_supports_btrace): Update.
-	* remote.c (remote_supports_btrace): Add "self" argument.
-	* target-delegates.c: Rebuild.
-	* target.c (target_supports_btrace): Remove.
-	* target.h (struct target_ops) <to_supports_btrace>: Add
-	target_ops argument.
-	(target_supports_btrace): New define.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* record-full.c (record_full_beneath_to_resume_ops)
-	(record_full_beneath_to_resume, record_full_beneath_to_wait_ops)
-	(record_full_beneath_to_wait)
-	(record_full_beneath_to_store_registers_ops)
-	(record_full_beneath_to_store_registers)
-	(record_full_beneath_to_xfer_partial_ops)
-	(record_full_beneath_to_xfer_partial)
-	(record_full_beneath_to_insert_breakpoint_ops)
-	(record_full_beneath_to_insert_breakpoint)
-	(record_full_beneath_to_remove_breakpoint_ops)
-	(record_full_beneath_to_remove_breakpoint)
-	(record_full_beneath_to_stopped_by_watchpoint)
-	(record_full_beneath_to_stopped_data_address)
-	(record_full_beneath_to_async, tmp_to_resume_ops, tmp_to_resume)
-	(tmp_to_wait_ops, tmp_to_wait, tmp_to_store_registers_ops)
-	(tmp_to_store_registers, tmp_to_xfer_partial_ops)
-	(tmp_to_xfer_partial, tmp_to_instmp_to_insert_breakpoint_ops)
-	(tmp_to_insert_breakpoint, tmp_to_remove_breakpoint_ops)
-	(tmp_to_remove_breakpoint, tmp_to_stopped_by_watchpoint)
-	(tmp_to_stopped_data_address, tmp_to_async): Remove.
-	(record_full_open_1, record_full_open): Update.  Use RECORD_IS_USED.
-	(record_full_resume, record_full_wait_1)
-	(record_full_stopped_by_watchpoint, record_full_stopped_data_address)
-	(record_full_store_registers, record_full_xfer_partial)
-	(record_full_insert_breakpoint, record_full_remove_breakpoint)
-	(record_full_async, record_full_core_xfer_partial): Use target
-	delegation.
-	* target-delegates.c: Rebuild.
-	* target.c (current_xfer_partial): Remove.
-	(update_current_target): Do not INHERIT or de_fault
-	to_insert_breakpoint, to_remove_breakpoint,
-	to_stopped_data_address, to_stopped_by_watchpoint, to_can_async_p,
-	to_is_async_p, to_async.  Do not set to_xfer_partial field.
-	(default_xfer_partial): Simplify.
-	(current_xfer_partial): Remove.
-	(target_wait, target_resume): Simplify.
-	(find_default_can_async_p, find_default_is_async_p): Update.
-	(init_dummy_target): Don't set to_can_async_p, to_is_async_p,
-	to_xfer_partial, to_stopped_by_watchpoint,
-	to_stopped_data_address.
-	(target_store_registers): Simplify.
-	(forward_target_remove_breakpoint)
-	(forward_target_insert_breakpoint): Remove.
-	(target_remove_breakpoint, target_insert_breakpoint)
-	(debug_to_insert_breakpoint, debug_to_remove_breakpoint): Update.
-	* target.h (struct target_ops) <to_resume, to_wait,
-	to_store_registers, to_insert_breakpoint, to_remove_breakpoint,
-	to_stopped_by_watchpoint, to_stopped_data_address, to_can_async_p,
-	to_is_async_p, to_async, to_xfer_partial>: Add TARGET_DEFAULT
-	markup.
-	(forward_target_remove_breakpoint)
-	(forward_target_insert_breakpoint): Remove.
-	* record-btrace.c (record_btrace_remove_breakpoint): Delegate
-	directly.
-	(record_btrace_insert_breakpoint): Delegate directly.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	PR build/7701:
-	* target-delegates.c: New file.
-	* target.c: Include target-delegates.c.
-	(init_dummy_target): Call install_dummy_methods.
-	(complete_target_initialization): Call install_delegators.
-	* target.h (TARGET_DEFAULT_IGNORE, TARGET_DEFAULT_NORETURN)
-	(TARGET_DEFAULT_RETURN, TARGET_DEFAULT_FUNC): New defines.
-	* make-target-delegates: New file.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* record.c (find_record_target): Use find_target_at.
-	* target.c (find_target_at): New function.
-	* target.h (find_target_at): Declare.
-
-2014-02-19  Tom Tromey  <tromey@redhat.com>
-
-	* aarch64-linux-nat.c (aarch64_linux_stopped_by_watchpoint):
-	Add 'ops' argument.
-	* arm-linux-nat.c (arm_linux_stopped_by_watchpoint): Add
-	'ops' argument.
-	* i386-nat.c (i386_stopped_by_watchpoint): Add 'ops' argument.
-	* ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Add
-	'ops' argument.
-	* inf-ttrace.c (inf_ttrace_stopped_by_watchpoint): Add 'ops'
-	argument.
-	* linux-nat.c (save_sigtrap): Update.
-	(linux_nat_stopped_by_watchpoint, linux_nat_is_async_p)
-	(linux_nat_can_async_p, linux_nat_async): Add 'ops' argument.
-	(linux_nat_close): Update.
-	* mips-linux-nat.c (mips_linux_stopped_by_watchpoint): Add 'ops'
-	argument.
-	* ppc-linux-nat.c (ppc_linux_stopped_by_watchpoint): Add 'ops'
-	argument.
-	* procfs.c (procfs_stopped_by_watchpoint): Add 'ops' argument.
-	* record-full.c (record_full_beneath_to_stopped_by_watchpoint)
-	(record_full_beneath_to_async, tmp_to_stopped_by_watchpoint)
-	(tmp_to_async): Add 'ops' argument.
-	(record_full_stopped_by_watchpoint, record_full_async)
-	(record_full_can_async_p, record_full_is_async_p): Add 'ops'
-	argument.
-	* remote-m32r-sdi.c (m32r_insert_breakpoint, m32r_remove_breakpoint)
-	(m32r_stopped_by_watchpoint): Add 'ops' argument.
-	* remote-mips.c	(mips_stopped_by_watchpoint): Add 'ops' argument.
-	* remote.c (remote_stopped_by_watchpoint_p, remote_can_async_p)
-	(remote_is_async_p, remote_async): Add 'ops' argument.
-	(remote_stopped_data_address): Update.
-	* s390-nat.c (s390_stopped_by_watchpoint): Add 'ops' argument.
-	* target.c (update_current_target)
-	(find_default_can_async_p, find_default_is_async_p): Update.
-	(init_dummy_target): Update.
-	(debug_to_stopped_by_watchpoint): Add 'ops' argument.
-	* target.h (struct target_ops) <to_stopped_by_watchpoint,
-	to_can_async_p, to_is_async_p, to_async>: Add 'ops' argument.
-	(target_can_async_p, target_is_async_p, target_async)
-	(target_stopped_by_watchpoint): Update.
-
-2014-02-19  Yao Qi  <yao@codesourcery.com>
-
-	PR gdb/16220
-	* gdbarch.sh: Remove startup_gdbarch.
-	* gdbarch.c: Regenerated.
-	* gdbarch.h: Likewise.
-
-2014-02-17  Kevin Buettner  <kevinb@redhat.com>
-
-	* rl78-tdep.c (rl78_g10_register_name): New function.
-	(rl78_return_value): Add g10 support.
-	(rl78_gdbarch_init): Register rl78_g10_register_name for the
-	g10.
-
-2014-02-17  Doug Evans  <xdje42@gmail.com>
-
-	* Makefile.in (SUBDIR_GUILE_OBS): Resort alphabetically.
-	(SUBDIR_GUILE_SRCS): Ditto.
-	(scm-gsmob.o): Ditto.
-
-2014-02-17  Yao Qi  <yao@codesourcery.com>
-
-	* gnu-nat.c (ILL_RPC): Declare defined function.
-
-2014-02-17  Yao Qi  <yao@codesourcery.com>
-
-	* gnu-nat.c (gnu_read_inferior): Change 'copy_count' type to
-	mach_msg_type_number_t.
-	(gnu_write_inferior): Likewise.
-
-2014-02-17  Yao Qi  <yao@codesourcery.com>
-
-	* gnu-nat.c (proc_get_exception_port): Use 'lu' insetad of 'd'
-	in format string.
-	(proc_steal_exc_port, make_proc, inf_set_pid): Likewise.
-	(inf_validate_procs, inf_signal): Likewise.
-	(S_exception_raise_request): Likewise.
-	(do_mach_notify_dead_name): Likewise.
-	(steal_exc_port): Likewise.
-	(gnu_read_inferior): Change 'copy_count''s type to
-	mach_msg_type_number_t.
-	(gnu_write_inferior): Likewise.  Use 'lx' instead of 'x' in
-	format string.
-
-2014-02-16  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* gnu-nat.c (struct inf): Change pending_execs member to a 1-bit
-	flag.  Adjust all users; in particular...
-	(gnu_wait): ..., don't decrement its value in here...
-	(gnu_create_inferior): ..., and instead set the flag in here,
-	around the startup_inferior call, and call that one with
-	START_INFERIOR_TRAPS_EXPECTED.
-
-	* gnu-nat.c (ill_rpc): Remove function; replaced with this...
-	(ILL_RPC): ... new macro.
-	(do_mach_notify_no_senders, do_mach_notify_port_deleted)
-	(do_mach_notify_msg_accepted, do_mach_notify_port_destroyed)
-	(do_mach_notify_send_once, S_proc_setmsgport_reply)
-	(S_proc_getmsgport_reply, S_msg_sig_post_reply): Generate stub
-	functions with ILL_RPC macro.
-	(S_proc_pid2task_reply, S_proc_task2pid_reply)
-	(S_proc_task2proc_reply, S_proc_proc2task_reply)
-	(S_proc_pid2proc_reply, S_proc_getprocinfo_reply)
-	(S_proc_getprocargs_reply, S_proc_getprocenv_reply)
-	(S_proc_getloginid_reply, S_proc_getloginpids_reply)
-	(S_proc_getlogin_reply, S_proc_getsid_reply)
-	(S_proc_getsessionpgids_reply, S_proc_getsessionpids_reply)
-	(S_proc_getsidport_reply, S_proc_getpgrp_reply)
-	(S_proc_getpgrppids_reply, S_proc_get_tty_reply)
-	(S_proc_getnports_reply, S_proc_is_important_reply)
-	(S_proc_get_code_reply): New stub functions, generated with
-	ILL_RPC macro.
-
-	* reply_mig_hack.awk: In phase 5, keep going if we have not yet
-	collected the type check structures.
-
-	* reply_mig_hack.awk: Don't expect to see the auto keyword.
-
-2014-02-14  Doug Evans  <dje@google.com>
-
-	* target.c (target_write_partial): Fix result type.
-
-2014-02-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Register
-	the proper offsets to access fpregset_t.
-
-2014-02-13  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* cris-tdep.c (cris_supply_gregset): Remove zerobuf.
-	(_initialize_cris_tdep): Remove cris_set_cmdlist, cris_show_cmdlist.
-	* h8300-tdep.c (setmachinelist): Remove global.
-	* hppa-tdep.c (hppa_sigtramp): Remove global.
-	* mipsnbsd-tdep.c (sigtramp_retcode_mipsel, sigtramp_retcode_mipseb
-	RETCODE_NWORDS, RETCODE_SIZE): Wrap code with #if 0.
-	* ravenscar-thread.c (update_target_observer): Remove global.
-	* rs6000-tdep.c (rs6000_gdbarch_init): Remove segment_regs.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* common/rsp-low.c: Update comments.
-	* common/rsp-low.h: Update comments.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* common/rsp-low.c (convert_ascii_to_int): Remove.
-	* common/rsp-low.h (convert_ascii_to_int): Don't declare.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* common/rsp-low.h (unhexify): Don't declare.
-	* common/rsp-low.c (unhexify): Remove.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* common/rsp-low.h (convert_int_to_ascii): Don't declare.
-	* common/rsp-low.c (convert_int_to_ascii): Remove.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* common/rsp-low.h (hexify): Don't declare.
-	* common/rsp-low.c (hexify): Remove.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* common/rsp-low.c (hexify): Never take strlen of argument.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* common/rsp-low.c (bin2hex): Never take strlen of argument.
-	* remote.c (extended_remote_run, remote_rcmd)
-	(remote_download_trace_state_variable, remote_save_trace_data)
-	(remote_set_trace_notes): Update.
-	* tracepoint.c (encode_source_string, tfile_write_status)
-	(tfile_write_uploaded_tsv): Update.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* tracepoint.c: Include rsp-low.h.
-	* remote.h (hex2bin, bin2hex, unpack_varlen_hex): Don't declare.
-	* remote.c: Include rsp-low.h.
-	(hexchars, ishex, unpack_varlen_hex, pack_nibble, pack_hex_byte)
-	(fromhex, hex2bin, tohex, bin2hex, remote_escape_output)
-	(remote_unescape_input): Move to common/rsp-low.c.
-	* common/rsp-low.h: New file.
-	* common/rsp-low.c: New file.
-	* Makefile.in (SFILES): Add common/rsp-low.c.
-	(HFILES_NO_SRCDIR): Add common/rsp-low.h.
-	(COMMON_OBS): Add rsp-low.o.
-	(rsp-low.o): New target.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* utils.h: Include print-utils.h.
-	(host_address_to_string, plongest, pulongest, phex, phex_nz)
-	(int_string, core_addr_to_string, core_addr_to_string_nz)
-	(hex_string, hex_string_custom): Don't declare.
-	* utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
-	(plongest, thirty_two, phex, phex_nz, octal2str, hex_string)
-	(hex_string_custom, int_string, core_addr_to_string)
-	(core_addr_to_string_nz, host_address_to_string): Move to
-	common/print-utils.c.
-	* common/print-utils.h: New file.
-	* common/print-utils.c: New file
-	* Makefile.in (SFILES): Add common/print-utils.c.
-	(HFILES_NO_SRCDIR): Add common/print-utils.h.
-	(COMMON_OBS): Add print-utils.o.
-	(print-utils.o): New target.
-
-2014-02-12  Tom Tromey  <tromey@redhat.com>
-
-	* nios2-tdep.c (nios2_stub_frame_base_address): Remove.
-
-2014-02-12  Mark Kettenis  <kettenis@gnu.org>
-
-	* sparc64obsd-tdep.c (sparc64obsd_init_abi): Call obsd_init_abi.
-
-2014-02-12  Mark Kettenis  <kettenis@gnu.org>
-
-	* inf-ptrace.c (inf_ptrace_xfer_partial): Return TARGET_XFER_EOF
-	if a PT_IO ptrace request returns sucessfully but indicates that 0
-	bytes were transferred.
-
-2014-02-12  Pedro Alves  <palves@redhat.com>
-	    Kevin Buettner <kevinb@redhat.com>
-
-	* gnu-v3-abi.c (build_gdb_vtable_type): Return a type marked with
-	TYPE_INSTANCE_FLAG_CODE_SPACE.
-
-2014-02-12  Pedro Alves  <palves@redhat.com>
-
-	* h8300-tdep.c (pseudo_from_raw_register)
-	(raw_from_pseudo_register): New functions.
-	(h8300_pseudo_register_read, h8300_pseudo_register_write): Use
-	them.
-
-2014-02-12  Pedro Alves  <palves@redhat.com>
-
-	* h8300-tdep.c (h8300_register_sim_regno): New function.
-	(h8300_gdbarch_init): Install h8300_register_sim_regno as
-	gdbarch_register_sim_regno hook.
-
-2014-02-12  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* nios2-tdep.c (nios2_stub_frame_base): Remove global.
-
-2014-02-12  Sanimir Agovic  <sanimir.agovic@intel.com>
-
-	* tic6x-tdep.c (tic6x_gdbarch_init): Call frame_base_set_default.
-
-2014-02-12  Mark Kettenis  <kettenis@gnu.org>
-
-	* obsd-tdep.h (obsd_init_abi): New prototype.
-	* obsd-tdep.c: Define enum with OpenBSD signal numbers.
-	(obsd_gdb_signal_from_target, obsd_gdb_signal_to_target)
-	(obsd_init_abi): New functions.
-	* i386obsd-tdep.c: Include "obsd-tdep.h".
-	(i386obsd_init_abi): Call obsd_init_abi.
-	* amd64obsd-tdep.c: Include "obsd-tdep.h".
-	(amd64obsd_init_abi): Call obsd_init_abi.
-	* configure.tgt (i[34567]86-*-openbsd*, x86_64-*-openbsd*): Add
-	obsd-tdep.c to gdb_target_obs.
-
-2014-02-11  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-        * sparc64-tdep.c (sparc64_store_arguments): Do not align complex
-        double float arguments to 16-byte in the argument slots.
-
-2014-02-11  Doug Evans  <xdje42@gmail.com>
-
-	* configure.ac: Don't crash if pkg-config is not found and guile
-	wasn't explicitly requested.  Use AC_MSG_ERROR instead of AC_ERROR
-	in guile checks.
-	* configure: Regenerate.
-
-2014-02-11  Yao Qi  <yao@codesourcery.com>
-
-	* aix-thread.c (aix_thread_xfer_partial): Update comments.
-	* auxv.c (procfs_xfer_auxv, memory_xfer_auxv): Likewise.
-	* bsd-uthread.c (bsd_uthread_xfer_partial): Likewise.
-	* gnu-nat.c (gnu_xfer_memory): Likewise.
-	* inf-ptrace.c (inf_ptrace_xfer_partial):  Likewise.
-	* rs6000-nat.c (rs6000_xfer_partial): Likewise.
-	* sparc-nat.c (sparc_xfer_wcookie): Likewise.
-	* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.
-
-2014-02-11  Yao Qi  <yao@codesourcery.com>
-
-	* target.h (enum target_xfer_error): Rename to ...
-	(enum target_xfer_status): ... it.  New.  All users updated.
-	(enum target_xfer_status) <TARGET_XFER_OK>, <TARGET_XFER_EOF>:
-	New.
-	(TARGET_XFER_STATUS_ERROR_P): New macro.
-	(target_xfer_error_to_string): Remove declaration.
-	(target_xfer_status_to_string): Declare.
-	(target_xfer_partial_ftype): Adjust it.
-	(struct target_ops) <to_xfer_partial>: Return
-	target_xfer_status.  Add argument xfered_len.  Update
-	comments.
-	* target.c (target_xfer_error_to_string): Rename to ...
-	(target_xfer_status_to_string): ... it.  New.  All callers
-	updated.
-	(target_read_live_memory): Likewise.  Call target_xfer_partial
-	instead of target_read.
-	(memory_xfer_live_readonly_partial): Return
-	target_xfer_status.  Add argument xfered_len.
-	(raw_memory_xfer_partial): Likewise.
-	(memory_xfer_partial_1): Likewise.
-	(memory_xfer_partial): Likewise.
-	(target_xfer_partial): Likewise.  Check *XFERED_LEN is set
-	properly.  Update debug message.
-	(default_xfer_partial, current_xfer_partial): Likewise.
-	(target_write_partial): Likewise.
-	(target_read_partial): Likewise.  All callers updated.
-	(read_whatever_is_readable): Likewise.
-	(target_write_with_progress): Likewise.
-	(target_read_alloc_1): Likewise.
-
-	* aix-thread.c (aix_thread_xfer_partial): Likewise.
-	* auxv.c (procfs_xfer_auxv): Likewise.
-	(ld_so_xfer_auxv, memory_xfer_auxv): Likewise.
-	* bfd-target.c (target_bfd_xfer_partial): Likewise.
-	* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
-	* bsd-uthread.c (bsd_uthread_xfer_partia): Likewise.
-	* corefile.c (read_memory): Adjust.
-	* corelow.c (core_xfer_partial): Likewise.
-	* ctf.c (ctf_xfer_partial): Likewise.
-	* darwin-nat.c (darwin_read_dyld_info): Likewise.  All callers
-	updated.
-	(darwin_xfer_partial): Likewise.
-	* exec.c (section_table_xfer_memory_partial): Likewise.  All
-	callers updated.
-	(exec_xfer_partial): Likewise.
-	* exec.h (section_table_xfer_memory_partial): Update
-	declaration.
-	* gnu-nat.c (gnu_xfer_memory): Likewise.  Assert 'res' is not
-	negative.
-	(gnu_xfer_partial): Likewise.
-	* ia64-hpux-nat.c (ia64_hpux_xfer_memory_no_bs): Likewise.
-	(ia64_hpux_xfer_memory, ia64_hpux_xfer_uregs): Likewise.
-	(ia64_hpux_xfer_solib_got): Likewise.
-	* inf-ptrace.c (inf_ptrace_xfer_partial): Likewise.  Change
-	type of 'partial_len' to ULONGEST.
-	* inf-ttrace.c (inf_ttrace_xfer_partial): Likewise.
-	* linux-nat.c (linux_xfer_siginfo ): Likewise.
-	(linux_nat_xfer_partial): Likewise.
-	(linux_proc_xfer_partial, linux_xfer_partial): Likewise.
-	(linux_proc_xfer_spu, linux_nat_xfer_osdata): Likewise.
-	* monitor.c (monitor_xfer_memory): Likewise.
-	(monitor_xfer_partial): Likewise.
-	* procfs.c (procfs_xfer_partial): Likewise.
-	* record-btrace.c (record_btrace_xfer_partial): Likewise.
-	* record-full.c (record_full_xfer_partial): Likewise.
-	(record_full_core_xfer_partial): Likewise.
-	* remote-sim.c (gdbsim_xfer_memory): Likewise.
-	(gdbsim_xfer_partial): Likewise.
-	* remote.c (remote_write_bytes_aux): Likewise.  All callers
-	updated.
-	(remote_write_bytes, remote_read_bytes): Likewise.  All
-	callers updated.
-	(remote_flash_erase): Likewise.  All callers updated.
-	(remote_write_qxfer): Likewise.  All callers updated.
-	(remote_read_qxfer): Likewise.  All callers updated.
-	(remote_xfer_partial): Likewise.
-	* rs6000-nat.c (rs6000_xfer_partial): Likewise.
-	(rs6000_xfer_shared_libraries): Likewise.
-	* sol-thread.c (sol_thread_xfer_partial): Likewise.
-	(sol_thread_xfer_partial): Likewise.
-	* sparc-nat.c (sparc_xfer_wcookie): Likewise.
-	(sparc_xfer_partial): Likewise.
-	* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.  All callers
-	updated.
-	(spu_xfer_partial): Likewise.
-	* spu-multiarch.c (spu_xfer_partial): Likewise.
-	* tracepoint.c (tfile_xfer_partial): Likewise.
-	* windows-nat.c (windows_xfer_memory): Likewise.
-	(windows_xfer_shared_libraries): Likewise.
-	(windows_xfer_partial): Likewise.
-	* valprint.c: Replace 'target_xfer_error' with
-	'target_xfer_status' in comments.
-
-2014-02-11  Simon Marchi  <simon.marchi@ericsson.com>  (tiny patch)
-
-	Checked in by Joel Brobecker <brobecker@adacore.com>.
-	* mi/mi-main.c (mi_cmd_data_write_memory_bytes): Fix comment.
-
-2014-02-11  Joel Brobecker  <brobecker@adacore.com>
-
-	* symfile-debug.c (debug_qf_expand_symtabs_matching): Reformat
-	function parameters.
-
-2014-02-10  Will Newton  <will.newton@linaro.org>
-
-	* elfread.c (elf_rel_plt_read): Look for a .got section if
-	looking up .got.plt fails.
-	(elf_gnu_ifunc_resolve_by_got): Call gdbarch_addr_bits_remove
-	on address passed to elf_gnu_ifunc_record_cache.
-	(elf_gnu_ifunc_resolve_addr): Likewise.
-	(elf_gnu_ifunc_resolver_return_stop): Likewise.
-
-2014-02-10  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* sparc-tdep.c (sparc_in_function_epilogue_p): New function.
-	(X_RETTURN): New macro.
-	* sparc-tdep.h: sparc_in_function_epilogue_p prototype.
-
-	* sparc64-tdep.c (sparc64_init_abi): Hook
-	sparc_in_function_epilogue_p.
-
-2014-02-10  Gary Benson  <gbenson@redhat.com>
-
-	* symfile-debug.c (debug_qf_expand_symtabs_matching):
-	Rename name_matcher to symbol_matcher.
-
-2014-02-10  Gary Benson  <gbenson@redhat.com>
-
-	* symfile-debug.c (debug_qf_expand_symtabs_matching):
-	Use expand_symtabs_file_matcher_ftype and
-	expand_symtabs_symbol_matcher_ftype.
-
-2014-02-10  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c (struct cache_entry, HASH_SIZE): Move definition up.
-	(struct ada_symbol_cache): New.
-	(ada_free_symbol_cache): Forward declare.
-	(struct ada_pspace_data): New.
-	(ada_pspace_data_handle): New static global.
-	(get_ada_pspace_data, ada_pspace_data_cleanup)
-	(ada_init_symbol_cache, ada_free_symbol_cache): New functions.
-	(cache_space, cache): Delete, now folded inside struct
-	ada_pspace_data.
-	(ada_get_symbol_cache): New function.
-	(ada_clear_symbol_cache, find_entry, cache_symbol): Adjust
-	implementation.
-	(_initialize_ada_language): Remove initialization of cache_space.
-	Move call to observer_attach_inferior_exit up, grouping it
-	with the other observer registrations inside this function.
-	Rename command to be more general.  Add call to
-	register_program_space_data_with_cleanup.
-
-2014-02-10  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-tasks.c (ada_tasks_new_objfile_observer): Renames
-	ada_new_objfile_observer.
-	(ada_tasks_normal_stop_observer): Renames ada_normal_stop_observer.
-	(_initialize_tasks): Update uses of ada_new_objfile_observer
-	and ada_tasks_normal_stop_observer.
-
-2014-02-10  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c (ada_evaluate_subexp): Set the type of the value
-	returned by the 'Length attribute to integer.
-
-2014-02-10  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c (_initialize_ada_language): Initialize
-	cache_space obstack.
-
-2014-02-10  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c (HASH_SIZE): New macro.
-	(struct cache_entry): New type.
-	(cache_space, cache): New static globals.
-	(ada_clear_symbol_cache, find_entry): New functions.
-	(lookup_cached_symbol, cache_symbol): Implement.
-	(ada_new_objfile_observer, ada_free_objfile_observer): New.
-	(_initialize_ada_language): Attach ada_new_objfile_observer
-	and ada_free_objfile_observer.
-
-2014-02-10  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c (ada_add_block_symbols, add_defn_to_vec)
-	(lookup_cached_symbol, ada_add_local_symbols): Add "const" to
-	struct block * parameter.
-	(ada_lookup_symbol_list_worker): Constify local variable "block".
-	Remove cast which is no longer necessary.
-
-2014-02-10  Doug Evans  <xdje42@gmail.com>
-
-	Add Guile as an extension language.
-	* NEWS: Mention Guile scripting.
-	* Makefile.in (SUBDIR_GUILE_OBS): New variable.
-	(SUBDIR_GUILE_SRCS, SUBDIR_GUILE_DEPS): New variables
-	(SUBDIR_GUILE_LDFLAGS, SUBDIR_GUILE_CFLAGS): New variables.
-	(INTERNAL_CPPFLAGS): Add GUILE_CPPFLAGS.
-	(CLIBS): Add GUILE_LIBS.
-	(install-guile): New rule.
-	(guile.o): New rule.
-	(scm-arch.o, scm-auto-load.o, scm-block.o): New rules.
-	(scm-breakpoint.o, scm-disasm.o, scm-exception.o): New rules.
-	(scm-frame.o, scm-iterator.o, scm-lazy-string.o): New rules.
-	(scm-math.o, scm-objfile.o, scm-ports.o): New rules.
-	(scm-pretty-print.o, scm-safe-call.o, scm-gsmob.o): New rules.
-	(scm-string.o, scm-symbol.o, scm-symtab.o): New rules.
-	(scm-type.o, scm-utils.o, scm-value.o): New rules.
-	* configure.ac: New option --with-guile.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-	* auto-load.c: Remove #include "python/python.h".  Add #include
-	"gdb/section-scripts.h".
-	(source_section_scripts): Handle Guile scripts.
-	(_initialize_auto_load): Add name of Guile objfile script to
-	scripts-directory help text.
-	* breakpoint.c (condition_command): Tweak comment to include Scheme.
-	* breakpoint.h (gdbscm_breakpoint_object): Add forward decl.
-	(struct breakpoint): New member scm_bp_object.
-	* defs.h (enum command_control_type): New value guile_control.
-	* cli/cli-cmds.c: Remove #include "python/python.h".  Add #include
-	"extension.h".
-	(show_user): Update comment.
-	(_initialize_cli_cmds): Update help text for "show user".  Update help
-	text for max-user-call-depth.
-	* cli/cli-script.c: Remove #include "python/python.h".  Add #include
-	"extension.h".
-	(multi_line_command_p): Add guile_control.
-	(print_command_lines): Handle guile_control.
-	(execute_control_command, recurse_read_control_structure): Ditto.
-	(process_next_line): Recognize "guile" commands.
-	* disasm.c (gdb_disassemble_info): Make non-static.
-	* disasm.h: #include "dis-asm.h".
-	(struct gdbarch): Add forward decl.
-	(gdb_disassemble_info): Declare.
-	* extension.c: #include "guile/guile.h".
-	(extension_languages): Add guile.
-	(get_ext_lang_defn): Handle EXT_LANG_GDB.
-	* extension.h (enum extension_language): New value EXT_LANG_GUILE.
-	* gdbtypes.c (get_unsigned_type_max): New function.
-	(get_signed_type_minmax): New function.
-	* gdbtypes.h (get_unsigned_type_max): Declare.
-	(get_signed_type_minmax): Declare.
-	* guile/README: New file.
-	* guile/guile-internal.h: New file.
-	* guile/guile.c: New file.
-	* guile/guile.h: New file.
-	* guile/scm-arch.c: New file.
-	* guile/scm-auto-load.c: New file.
-	* guile/scm-block.c: New file.
-	* guile/scm-breakpoint.c: New file.
-	* guile/scm-disasm.c: New file.
-	* guile/scm-exception.c: New file.
-	* guile/scm-frame.c: New file.
-	* guile/scm-gsmob.c: New file.
-	* guile/scm-iterator.c: New file.
-	* guile/scm-lazy-string.c: New file.
-	* guile/scm-math.c: New file.
-	* guile/scm-objfile.c: New file.
-	* guile/scm-ports.c: New file.
-	* guile/scm-pretty-print.c: New file.
-	* guile/scm-safe-call.c: New file.
-	* guile/scm-string.c: New file.
-	* guile/scm-symbol.c: New file.
-	* guile/scm-symtab.c: New file.
-	* guile/scm-type.c: New file.
-	* guile/scm-utils.c: New file.
-	* guile/scm-value.c: New file.
-	* guile/lib/gdb.scm: New file.
-	* guile/lib/gdb/boot.scm: New file.
-	* guile/lib/gdb/experimental.scm: New file.
-	* guile/lib/gdb/init.scm: New file.
-	* guile/lib/gdb/iterator.scm: New file.
-	* guile/lib/gdb/printing.scm: New file.
-	* guile/lib/gdb/types.scm: New file.
-	* data-directory/Makefile.in (GUILE_SRCDIR): New variable.
-	(VPATH): Add $(GUILE_SRCDIR).
-	(GUILE_DIR): New variable.
-	(GUILE_INSTALL_DIR, GUILE_FILES): New variables.
-	(all): Add stamp-guile dependency.
-	(stamp-guile): New rule.
-	(clean-guile, install-guile, uninstall-guile): New rules.
-	(install-only): Add install-guile dependency.
-	(uninstall): Add uninstall-guile dependency.
-	(clean): Add clean-guile dependency.
-
-2014-02-09  Doug Evans  <xdje42@gmail.com>
-
-	Revert this patch (which I approved, mea culpa).
-
-	2014-02-08  Mark Kettenis  <kettenis@gnu.org>
-
-	* Makefile.in (all-lib): Remove.
-	($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
-
-2014-02-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	Fix Python stack corruption.
-	* python/py-linetable.c (ltpy_get_pcs_for_line, ltpy_has_line): Use
-	gdb_py_longest.
-
-2014-02-08  Mark Kettenis  <kettenis@gnu.org>
-
-	* Makefile.in (all-lib): Remove.
-	($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
-
-2014-02-07  Doug Evans  <dje@google.com>
-
-	* extension-priv.h (extension_language_script_ops): Add comment.
-	(extension_language_ops): Add comment.
-	(active_ext_lang_state): Fix typo in comment.
-
-2014-02-07  Pedro Alves  <palves@redhat.com>
-
-	PR breakpoints/16292
-	* infrun.c (handle_signal_stop) <signal arrives while stepping
-	over a breakpoint>: Switch back to the stepping thread.
-
-2014-02-07  Yao Qi  <yao@codesourcery.com>
-
-	* target.c (target_xfer_partial): Return zero if LEN is zero.
-
-2014-02-07  Yao Qi  <yao@codesourcery.com>
-
-	* auxv.c (procfs_xfer_auxv): Replace -1 with TARGET_XFER_E_IO.
-	(ld_so_xfer_auxv): Likewise.
-	* bfd-target.c (target_bfd_xfer_partial): Likewise.
-	* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
-	* corelow.c (core_xfer_partial): Likewise.
-	* ctf.c (ctf_xfer_partial): Likewise.
-	* darwin-nat.c (darwin_read_dyld_info): Likewise.
-	(darwin_xfer_partial): Likewise.
-	* exec.c (exec_xfer_partial): Likewise.
-	* gnu-nat.c (gnu_xfer_partial): Likewise.
-	* ia64-hpux-nat.c (ia64_hpux_xfer_uregs): Likewise.
-	* inf-ptrace.c (inf_ptrace_xfer_partial): Likewise.
-	* inf-ttrace.c (inf_ttrace_xfer_partial): Likewise.
-	* linux-nat.c (linux_xfer_siginfo): Likewise.
-	(linux_proc_xfer_spu): Likewise.
-	* procfs.c (procfs_xfer_partial): Likewise.
-	* record-full.c (record_full_xfer_partial): Likewise.
-	(record_full_core_xfer_partial): Likewise.
-	* remote-sim.c (gdbsim_xfer_partial): Likewise.
-	* remote.c (remote_write_qxfer): Likewise.
-	(remote_write_qxfer, remote_read_qxfer): Likewise.
-	(remote_xfer_partial): Likewise.
-	* rs6000-nat.c (rs6000_xfer_partial): Likewise.
-	(rs6000_xfer_shared_libraries): Likewise.
-	* sparc-nat.c (sparc_xfer_wcookie): Likewise.
-	* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.
-	(spu_xfer_partial): Likewise.
-	* target.c (memory_xfer_partial_1): Likewise.
-	* tracepoint.c (tfile_xfer_partial): Likewise.
-	* windows-nat.c (windows_xfer_shared_libraries): Likewise.
-	(windows_xfer_partial): Likewise.
-
-2014-02-07  Yao Qi  <yao@codesourcery.com>
-
-	* gdbarch.sh (core_xfer_shared_libraries): Returns ULONGEST.  Add
-	comments.
-	(core_xfer_shared_libraries_aix): Likewise.
-	* gdbarch.c, gdbarch.h: Regenerated.
-	* i386-cygwin-tdep.c (windows_core_xfer_shared_libraries): Return
-	ULONGEST.  Change 'len_avail' type to ULONGEST.
-	* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
-	* rs6000-aix-tdep.h (rs6000_aix_ld_info_to_xml): Update
-	declaration.
-	(rs6000_aix_core_xfer_shared_libraries_aix): Return ULONGEST.
-
-2014-02-07  Yao Qi  <yao@codesourcery.com>
-
-	* corefile.c (memory_error): Get 'exception' from ERR and pass
-	'exception' to throw_error.
-
-2014-02-06  Doug Evans  <xdje42@gmail.com>
-
-	* configure.ac (libpython checking): Remove all but python.o from
-	CONFIG_OBS.  Remove all but python.c from CONFIG_SRCS.
-	* configure: Regenerate.
-
-	* Makefile.in (SFILES): Add extension.c.
-	(HFILES_NO_SRCDIR): Add extension.h, extension-priv.h
-	(COMMON_OBS): Add extension.o.
-	* extension.h: New file.
-	* extension-priv.h: New file.
-	* extension.c: New file.
-
-	* python/python-internal.h: #include "extension.h".
-	(gdbpy_auto_load_enabled): Declare.
-	(gdbpy_apply_val_pretty_printer): Declare.
-	(gdbpy_apply_frame_filter): Declare.
-	(gdbpy_preserve_values): Declare.
-	(gdbpy_breakpoint_cond_says_stop): Declare.
-	(gdbpy_breakpoint_has_cond): Declare.
-	(void source_python_script_for_objfile): Delete.
-	* python/python.c: #include "extension-priv.h".
-	Delete inclusion of "observer.h".
-	(extension_language_python): Moved here and renamed from
-	script_language_python in py-auto-load.c.
-	Redefined to be of type extension_language_defn.
-	(python_extension_script_ops): New global.
-	(python_extension_ops): New global.
-	(struct python_env): New member previous_active.
-	(restore_python_env): Call restore_active_ext_lang.
-	(ensure_python_env): Call set_active_ext_lang.
-	(gdbpy_clear_quit_flag): Renamed from clear_quit_flag, made static.
-	New arg extlang.
-	(gdbpy_set_quit_flag): Renamed from set_quit_flag, made static.
-	New arg extlang.
-	(gdbpy_check_quit_flag): Renamed from check_quit_flag, made static.
-	New arg extlang.
-	(gdbpy_eval_from_control_command): Renamed from
-	eval_python_from_control_command, made static.  New arg extlang.
-	(gdbpy_source_script) Renamed from source_python_script, made static.
-	New arg extlang.
-	(gdbpy_before_prompt_hook): Renamed from before_prompt_hook.  Change
-	result to int.  New arg extlang.
-	(gdbpy_source_objfile_script): Renamed from
-	source_python_script_for_objfile, made static.  New arg extlang.
-	(gdbpy_start_type_printers): Renamed from start_type_printers, made
-	static.  New args extlang, extlang_printers.  Change result type to
-	"void".
-	(gdbpy_apply_type_printers): Renamed from apply_type_printers, made
-	static.  New arg extlang.  Rename arg printers to extlang_printers
-	and change type to ext_lang_type_printers *.
-	(gdbpy_free_type_printers): Renamed from free_type_printers, made
-	static.  Replace argument arg with extlang, extlang_printers.
-	(!HAVE_PYTHON, eval_python_from_control_command): Delete.
-	(!HAVE_PYTHON, source_python_script): Delete.
-	(!HAVE_PYTHON, gdbpy_should_stop): Delete.
-	(!HAVE_PYTHON, gdbpy_breakpoint_has_py_cond): Delete.
-	(!HAVE_PYTHON, start_type_printers): Delete.
-	(!HAVE_PYTHON, apply_type_printers): Delete.
-	(!HAVE_PYTHON, free_type_printers): Delete.
-	(_initialize_python): Delete call to observer_attach_before_prompt.
-	(finalize_python): Set/restore active extension language.
-	(gdbpy_finish_initialization) Renamed from
-	finish_python_initialization, made static.  New arg extlang.
-	(gdbpy_initialized): New function.
-	* python/python.h: #include "extension.h".  Delete #include
-	"value.h", "mi/mi-cmds.h".
-	(extension_language_python): Declare.
-	(GDBPY_AUTO_FILE_NAME): Delete.
-	(enum py_bt_status): Moved to extension.h and renamed to
-	ext_lang_bt_status.
-	(enum frame_filter_flags): Moved to extension.h.
-	(enum py_frame_args): Moved to extension.h and renamed to
-	ext_lang_frame_args.
-	(finish_python_initialization): Delete.
-	(eval_python_from_control_command): Delete.
-	(source_python_script): Delete.
-	(apply_val_pretty_printer): Delete.
-	(apply_frame_filter): Delete.
-	(preserve_python_values): Delete.
-	(gdbpy_script_language_defn): Delete.
-	(gdbpy_should_stop, gdbpy_breakpoint_has_py_cond): Delete.
-	(start_type_printers, apply_type_printers, free_type_printers): Delete.
-
-	* auto-load.c: #include "extension.h".
-	(GDB_AUTO_FILE_NAME): Delete.
-	(auto_load_gdb_scripts_enabled): Make public.  New arg extlang.
-	(script_language_gdb): Delete, moved to extension.c and renamed to
-	extension_language_gdb.
-	(source_gdb_script_for_objfile): Delete.
-	(auto_load_pspace_info): New member unsupported_script_warning_printed.
-	(loaded_script): Change type of language member to
-	struct extension_language_defn *.
-	(init_loaded_scripts_info): Initialize
-	unsupported_script_warning_printed.
-	(maybe_add_script): Make static.  Change type of language arg to
-	struct extension_language_defn *.
-	(clear_section_scripts): Reset unsupported_script_warning_printed.
-	(auto_load_objfile_script_1): Rewrite to use extension language API.
-	(auto_load_objfile_script): Make public.  Remove support-compiled-in
-	and auto-load-enabled checks, moved to auto_load_scripts_for_objfile.
-	(source_section_scripts): Rewrite to use extension language API.
-	(load_auto_scripts_for_objfile): Rewrite to use
-	auto_load_scripts_for_objfile.
-	(collect_matching_scripts_data): Change type of language member to
-	struct extension_language_defn *.
-	(auto_load_info_scripts): Change type of language arg to
-	struct extension_language_defn *.
-	(unsupported_script_warning_print): New function.
-	(script_not_found_warning_print): Make static.
-	(_initialize_auto_load): Rewrite construction of scripts-directory
-	help.
-	* auto-load.h (struct objfile): Add forward decl.
-	(struct script_language): Delete.
-	(struct auto_load_pspace_info): Add forward decl.
-	(struct extension_language_defn): Add forward decl.
-	(maybe_add_script): Delete.
-	(auto_load_objfile_script): Declare.
-	(script_not_found_warning_print): Delete.
-	(auto_load_info_scripts): Update prototype.
-	(auto_load_gdb_scripts_enabled): Declare.
-	* python/py-auto-load.c (gdbpy_auto_load_enabled): Renamed from
-	auto_load_python_scripts_enabled and made public.
-	(script_language_python): Delete, moved to python.c.
-	(gdbpy_script_language_defn): Delete.
-	(info_auto_load_python_scripts): Update to use
-	extension_language_python.
-
-	* breakpoint.c (condition_command): Replace call to
-	gdbpy_breakpoint_has_py_cond with call to get_breakpoint_cond_ext_lang.
-	(bpstat_check_breakpoint_conditions): Replace call to gdbpy_should_stop
-	with call to breakpoint_ext_lang_cond_says_stop.
-	* python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Renamed
-	from gdbpy_should_stop.  Change result type to enum scr_bp_stop.
-	New arg slang.  Return SCR_BP_STOP_UNSET if py_bp_object is NULL.
-	(gdbpy_breakpoint_has_cond): Renamed from gdbpy_breakpoint_has_py_cond.
-	New arg slang.
-	(local_setattro): Print name of extension language with existing
-	stop condition.
-
-	* valprint.c (val_print, value_print): Update to call
-	apply_ext_lang_val_pretty_printer.
-	* cp-valprint.c (cp_print_value): Update call to
-	apply_ext_lang_val_pretty_printer.
-	* python/py-prettyprint.c: Remove #ifdef HAVE_PYTHON.
-	(gdbpy_apply_val_pretty_printer): Renamed from
-	apply_val_pretty_printer.  New arg extlang.
-	(!HAVE_PYTHON, apply_val_pretty_printer): Delete.
-
-	* cli/cli-cmds.c (source_script_from_stream): Rewrite to use
-	extension language API.
-	* cli/cli-script.c (execute_control_command): Update to call
-	eval_ext_lang_from_control_command.
-
-	* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Update to use
-	enum ext_lang_bt_status values.  Update call to
-	apply_ext_lang_frame_filter.
-	(mi_cmd_stack_list_locals): Ditto.
-	(mi_cmd_stack_list_args): Ditto.
-	(mi_cmd_stack_list_variables): Ditto.
-	* mi/mi-main.c: Delete #include "python/python-internal.h".
-	Add #include "extension.h".
-	(mi_cmd_list_features): Replace reference to python internal variable
-	gdb_python_initialized with call to ext_lang_initialized_p.
-
-	* stack.c (backtrace_command_1): Update to use enum ext_lang_bt_status.
-	Update to use enum ext_lang_frame_args.  Update to call
-	apply_ext_lang_frame_filter.
-	* python/py-framefilter.c (extract_sym): Update to use enum
-	ext_lang_bt_status.
-	(extract_value, py_print_type, py_print_value): Ditto.
-	(py_print_single_arg, enumerate_args, enumerate_locals): Ditto.
-	(py_mi_print_variables, py_print_locals, py_print_args): Ditto.
-	(py_print_frame): Ditto.
-	(gdbpy_apply_frame_filter): Renamed from apply_frame_filter.
-	New arg extlang.  Update to use enum ext_lang_bt_status.
-
-	* top.c (gdb_init): Delete #ifdef HAVE_PYTHON call to
-	finish_python_initialization.  Replace with call to
-	finish_ext_lang_initialization.
-
-	* typeprint.c (do_free_global_table): Update to call
-	free_ext_lang_type_printers.
-	(create_global_typedef_table): Update to call
-	start_ext_lang_type_printers.
-	(find_global_typedef): Update to call apply_ext_lang_type_printers.
-	* typeprint.h (struct ext_lang_type_printers): Add forward decl.
-	(type_print_options): Change type of global_printers from "void *"
-	to "struct ext_lang_type_printers *".
-
-	* value.c (preserve_values): Update to call preserve_ext_lang_values.
-	* python/py-value.c: Remove #ifdef HAVE_PYTHON.
-	(gdbpy_preserve_values): Renamed from preserve_python_values.
-	New arg extlang.
-	(!HAVE_PYTHON, preserve_python_values): Delete.
-
-	* utils.c (quit_flag): Delete, moved to extension.c.
-	(clear_quit_flag, set_quit_flag, check_quit_flag): Delete, moved to
-	extension.c.
-
-	* eval.c: Delete #include "python/python.h".
-	* main.c: Delete #include "python/python.h".
-
-	* defs.h: Update comment.
-
-2014-02-06  Joel Brobecker  <brobecker@adacore.com>
-
-	GDB 7.7 released.
-
-2014-02-05  Mark Kettenis  <kettenis@gnu.org>
-
-	* c-exp.y (YYPRINT, c_print_token): Only define if YYBISON is
-	defined.
-
-2014-02-05  Yao Qi  <yao@codesourcery.com>
-
-	* remote.c (remote_pass_signals): Remove local 'buf' and use
-	rs->buf.
-	(remote_program_signals): Likewise.
-
-2014-02-05  Yao Qi  <yao@codesourcery.com>
-
-	* ctf.c: Include "inferior.h" and "gdbthread.h".
-	(CTF_PID): A new macro.
-	(ctf_open): Call inferior_appeared and add_thread_silent.
-	(ctf_close): Call exit_inferior_silent and set inferior_ptid.
-	(ctf_thread_alive): New function.
-	(init_ctf_ops): Install ctf_thread_alive to to_thread_alive.
-
-2014-02-05  Yao Qi  <yao@codesourcery.com>
-
-	Revert this patch:
-
-	2013-05-24  Yao Qi  <yao@codesourcery.com>
-
-	* tracepoint.c (TFILE_PID): Remove.
-	(tfile_open): Don't add thread and inferior.
-	(tfile_close): Don't set 'inferior_ptid'.  Don't call
-	exit_inferior_silent.
-	(tfile_thread_alive): Remove.
-	(init_tfile_ops): Don't set field 'to_thread_alive' of
-	tfile_ops.
-
-2014-02-04  Christian Eggers  <ceggers@gmx.de>  (tiny change)
-
-	* remote.c (remote_start_remote): Call remote_check_symbols even
-	if only symbol-file (not file) has been given.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* gdbarch.sh (skip_entrypoint): New callback.
-	* gdbarch.c, gdbarch.h: Regenerate.
-	* symtab.c (skip_prologue_sal): Call gdbarch_skip_entrypoint.
-	* infrun.c (fill_in_stop_func): Likewise.
-	* ppc-linux-tdep.c: Include "elf/ppc64.h".
-	(ppc_elfv2_elf_make_msymbol_special): New function.
-	(ppc_elfv2_skip_entrypoint): Likewise.
-	(ppc_linux_init_abi): Install them for ELFv2.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* ppc-sysv-tdep.c (ppc64_aggregate_candidate): New routine.
-	(ppc64_elfv2_abi_homogeneous_aggregate): Likewise.
-	(ppc64_sysv_abi_push_param): Handle ELFv2 homogeneous structs.
-	(ppc64_sysv_abi_return_value): Likewise.  Also, handle small
-	structures returned in GPRs.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Use correct
-	offset to the stack parameter list for the ELFv2 ABI.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* ppc-linux-tdep.c (ppc_linux_init_abi): Only call
-	set_gdbarch_convert_from_func_ptr_addr and
-	set_gdbarch_elf_make_msymbol_special for ELFv1.
-	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_param): Only handle
-	function descriptors on ELFv1.
-	(ppc64_sysv_abi_push_dummy_call): Likewise.  On ELFv2,
-	set up r12 at function entry.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* ppc-tdep.h (enum powerpc_elf_abi): New data type.
-	(struct gdbarch_tdep): New member elf_abi.
-
-	* rs6000-tdep.c: Include "elf/ppc64.h".
-	(rs6000_gdbarch_init): Detect ELF ABI version.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_freg): Use correct order
-	within a register pair holding a DFP 128-bit value on little-endian.
-	(ppc64_sysv_abi_return_value_base): Likewise.
-	* rs6000-tdep.c (dfp_pseudo_register_read): Likewise.
-	(dfp_pseudo_register_write): Likewise.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_freg): Use correct
-	offset on little-endian when passing _Decimal32.
-	(ppc64_sysv_abi_return_value_base): Likewise for return values.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* rs6000-tdep.c (efpr_pseudo_register_read): Use correct offset
-	of the overlapped FP register within the VSX register on little-
-	endian platforms.
-	(efpr_pseudo_register_write): Likewise.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_val): Use correct
-	offset on little-endian when passing small structures.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* ppc-sysv-tdep.c (get_decimal_float_return_value): Update comment.
-	(struct ppc64_sysv_argpos): New data structure.
-	(ppc64_sysv_abi_push_float): Remove.
-	(ppc64_sysv_abi_push_val): New function.
-	(ppc64_sysv_abi_push_integer): Likewise.
-	(ppc64_sysv_abi_push_freg): Likewise.
-	(ppc64_sysv_abi_push_vreg): Likewise.
-	(ppc64_sysv_abi_push_param): Likewise.
-	(ppc64_sysv_abi_push_dummy_call): Refactor to use those new routines.
-	(ppc64_sysv_abi_return_value_base): New function.
-	(ppc64_sysv_abi_return_value): Refactor to use it.
-
-2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* NEWS: Document new target powerpc64le-*-linux*.
-
-2014-02-04  Mark Kettenis  <kettenis@gnu.org>
-
-	* sparc64obsd-tdep.c (sparc64obsd_gregset): New variable.
-	(sparc64obsd_supply_gregset): Handle registers sets used in ELF
-	core dumps.
-	(sparc64obsd_init_abi): Adjust minimum size of the general purpose
-	register set used in ELF core dumps.  Add floating-point register set.
-
-2014-02-03  Kevin Buettner  <kevinb@redhat.com>
-
-	* mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Rewrite 
-	dwarf2_to_gdb[] table using symbolic constants.  Adjust
-	penultimate entry from number representing the PC register
-	to symbolic constant representing the MDR register.  Add
-	constant for the PC register to the end of the table.
-
-2014-02-03  Mark Kettenis  <kettenis@gnu.org>
-
-	* bsd-kvm.c: Include <sys/param.h>
-
-2014-02-03  Mark Kettenis  <kettenis@gnu.org>
-
-	* sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Fix prototype.
-
-2014-01-31  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.h (clear_ada_sym_cache): Delete.
-
-2014-01-30  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* auxv.c (fprint_target_auxv): Handle AT_HWCAP2.
-
-2014-01-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* sparc64-linux-tdep.c (sparc64_linux_step_trap): Get PC from
-          the sigreturn register save area only if the syscall is
-          sigreturn.
-
-2014-01-29  Joel Brobecker  <brobecker@adacore.com>
-
-	* valops.c (value_slice): Minor reformatting.
-
-2014-01-28  Ulrich WeigandÂ  <uweigand@de.ibm.com>
-
-	* ppc64-tdep.c (ppc64_standard_linkage7): Fix typo.
-
-2014-01-28  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c (maint_set_ada_cmdlist, maint_show_ada_cmdlist):
-	New static globals.
-	(maint_set_ada_cmd, maint_show_ada_cmd): New functions.
-	(ada_ignore_descriptive_types_p): New static global.
-	(find_parallel_type_by_descriptive_type): Return immediately
-	if ada_ignore_descriptive_types_p is set.
-	(_initialize_ada_language): Register new commands "maintenance
-	set ada", "maintenance show ada", "maintenance set ada
-	ignore-descriptive-types" and "maintenance show ada
-	ignore-descriptive-types".
-	* NEWS: Add entry for new "maint ada set/show
-	ignore-descriptive-types" commands.
-
-2014-01-27  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (record_btrace_close): Call btrace_teardown
-	for all threads.
-
-2014-01-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-lang.c: Remove "#ifdef UI_OUT" condition for including
-	"ui-out.h".
-
-2014-01-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-typeprint (type_is_full_subrange_of_target_type):
-	New function.
-	(print_range): Add parameter bounds_prefered_p.  If not set,
-	try printing range types using the name of their base type.
-	(print_range_type): Add parameter bounds_prefered_p.
-	Use it in call to print_range.
-	(print_array_type, ada_print_type): Update calls to print_range
-	and print_range_type.
-
-2014-01-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-typeprint.c (print_array_type, print_choices, print_range)
-	(print_range_bound, print_dynamic_range_bound, print_range_type):
-	Remove declaration.
-
-2014-01-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-typeprint.c (print_range): Add missing empty line
-	after local declaration.
-
-2014-01-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (print_optional_low_bound): Get index_type's
-	target type for as long as it is a TYPE_CODE_RANGE.
-
-2014-01-27  Joel Brobecker  <brobecker@adacore.com>
-
-	* procfs.c (procfs_make_note_section): Remove assertion and
-	associated comment.
-
-2014-01-24  Yao Qi  <yao@codesourcery.com>
-
-	* remote.c (remote_read_bytes): Change type of len to ULONGEST.
-	* corelow.c (get_core_siginfo): Likewise.
-
-2014-01-24  Yao Qi  <yao@codesourcery.com>
-
-	* remote.c (remote_write_bytes_aux): Change type of 'len' to
-	ULONGEST.  Don't check 'len' is negative.
-	(remote_write_bytes):  Change type of 'len' to ULONGEST.
-
-2014-01-23  Tom Tromey  <tromey@redhat.com>
-
-	PR python/16485:
-	* python/lib/gdb/FrameDecorator.py: (FrameVars.fetch_frame_args):
-	Handle exception from frame.block.
-	(FrameVars.fetch_frame_locals): Likewise.
-
-2014-01-23  Tom Tromey  <tromey@redhat.com>
-
-	PR python/16487:
-	* python/py-framefilter.c (py_print_frame): Don't call Py_DECREF
-	on a NULL pointer.  Move "goto error" to correct place.
-
-2014-01-23  Tom Tromey  <tromey@redhat.com>
-
-	PR python/16491:
-	* python/py-framefilter.c (apply_frame_filter): Call
-	ensure_python_env after computing gdbarch.
-
-2014-01-23  Yao Qi  <yao@codesourcery.com>
-
-	* target.c (raw_memory_xfer_partial): Change argument type
-	from void * to gdb_byte *.
-	(memory_xfer_partial_1, memory_xfer_partial): Likewise.
-
-2014-01-22  Doug Evans  <dje@google.com>
-
-	New gdbserver option --debug-format=timestamp.
-	* NEWS: Mention it.
-
-2014-01-22  Andreas Arnez  <arnez@vnet.linux.ibm.com>
-
-	* syscalls/s390x-linux.xml: New file.
-	* syscalls/s390-linux.xml: New file.
-	* s390-linux-tdep.c (XML_SYSCALL_FILENAME_S390): New macro.
-	(XML_SYSCALL_FILENAME_S390X): Likewise.
-	(op_svc): New enum value for SVC opcode.
-	(s390_sigtramp_frame_sniffer): Replace literal by 'op_svc'.
-	(s390_linux_get_syscall_number): New function.
-	(s390_gdbarch_init): Register '*get_syscall_number' and the
-	syscall xml file name.
-	* data-directory/Makefile.in (SYSCALLS_FILES): Add
-	"s390-linux.xml" and "s390x-linux.xml".
-	* NEWS: Announce new feature.
-
-2014-01-22  Baruch Siach  <baruch@tkos.co.il>
-
-	* xtensa-tdep.h (xtensa_elf_greg_t): Change type to uint32_t.
-
-2014-01-22  Pedro Alves  <palves@redhat.com>
-
-	* xtensa-config.c: Include defs.h.
-
-2014-01-22  Joel Brobecker  <brobecker@adacore.com>
-
-	* common/common-utils.h: Add "ARI:" comment beside __func__
-	reference.
-
-2014-01-22  Joel Brobecker  <brobecker@adacore.com>
-
-	* common/common-utils.h (FUNCTION_NAME): Expand the macro's
-	documentation a bit.
-
-2014-01-21  Roland McGrath  <mcgrathr@google.com>
-
-	* configure.ac: Call AM_PROG_INSTALL_STRIP.
-	* configure: Regenerate.
-	* aclocal.m4: Regenerate.
-	* Makefile.in (install_sh, INSTALL_STRIP_PROGRAM, STRIP):
-	New substituted	variables.
-	(install-strip): New target.
-	(INSTALL_SCRIPT): New substituted variable.
-	(FLAGS_TO_PASS): Add it.
-	(install-only): Use $(INSTALL_SCRIPT) rather than
-	$(INSTALL_PROGRAM) for gcore.
-
-2014-01-20  Tom Tromey  <tromey@redhat.com>
-
-	* cli/cli-decode.h (struct cmd_list_element): Move all bitfields
-	together.
-
-2014-01-20  Tom Tromey  <tromey@redhat.com>
-
-	* cli/cli-decode.c (add_cmd, deprecate_cmd, add_alias_cmd)
-	(add_setshow_cmd_full, delete_cmd, lookup_cmd_1)
-	(deprecated_cmd_warning, complete_on_cmdlist): Update.
-	* cli/cli-decode.h (CMD_DEPRECATED, DEPRECATED_WARN_USER)
-	(MALLOCED_REPLACEMENT, DOC_ALLOCATED): Remove.
-	(struct cmd_list_element) <flags>: Remove.
-	<cmd_deprecated, deprecated_warn_user, malloced_replacement,
-	doc_allocated>: New fields.
-	<hook_in, allow_unknown, abbrev_flag, type, var_type>: Now
-	bitfields.
-	* maint.c (maintenance_do_deprecate): Update.
-	* top.c (execute_command): Update.
-
-2014-01-20  Baruch Siach  <baruch@tkos.co.il>
-
-	* xtensa-linux-nat.c: Include asm/ptrace.h.
-
-2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
-
-	* Makefile.in (SFILES): Add d-support.c.
-	(COMMON_OBS): Add d-support.o.
-	* d-lang.h (d_parse_symbol): Add comment, now defined in
-	d-support.c.
-	* d-lang.c (parse_call_convention)
-	(parse_attributes, parse_function_types)
-	(parse_function_args, parse_type, parse_identifier)
-	(call_convention_p, d_parse_symbol): Move functions to ...
-	* d-support.c: ... New file.
-
-2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
-
-	* d-lang.h (d_parse_symbol): Add declaration.
-	* d-lang.c (extract_identifiers)
-	(extract_type_info): Remove functions.
-	(parse_call_convention, parse_attributes)
-	(parse_function_types, parse_function_args)
-	(parse_type, parse_identifier, call_convention_p)
-	(d_parse_symbol): New functions.
-	(d_demangle): Use d_parse_symbol to demangle D symbols.
-
-2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
-
-	* d-lang.h (struct builtin_d_type): New data type.
-	(builtin_d_type): Add declaration.
-	* d-lang.c (d_language_arch_info, build_d_types)
-	(builtin_d_type): New functions.
-	(enum d_primitive_types): New data type.
-	(d_language_defn): Change c_language_arch_info to
-	d_language_arch_info.
-	(d_type_data): New static variable.
-	(_initialize_d_language): Initialize d_type_data.
-
-2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
-
-	* d-lang.h (d_main_name): Add declaration.
-	* d-lang.c (d_main_name): New function.
-	* symtab.c (find_main_name): Add call to d_main_name.
-
-2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
-
-	* d-lang.c (d_language_defn): Change macro_expansion_c to
-	macro_expansion_no.
-
-2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
-
-	* MAINTAINERS: Add myself as a write-after-approval maintainer.
-
-2014-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	* breakpoint.c (insert_bp_location): Add "volatile" keyword to "struct
-	gdb_exception" declaration.
-	* remote.c (getpkt_or_notif_sane): Likewise.
-
-2014-01-17  Doug Evans  <dje@google.com>
-
-	* common/gdb_vecs.c (delim_string_to_char_ptr_vec_append): New
-	function, contents of dirnames_to_char_ptr_vec_append moved here.
-	(delim_string_to_char_ptr_vec): New function.
-	(dirnames_to_char_ptr_vec_append): Rewrite.
-	* common/gdb_vecs.h (delim_string_to_char_ptr_vec): Declare.
-
-2014-01-17  Doug Evans  <dje@google.com>
-
-	* common/common-utils.h (FUNCTION_NAME): Renamed from ASSERT_FUNCTION,
-	and moved here ...
-	* common/gdb_assert.h (ASSERT_FUNCTION): ... from here.
-	#include "common-utils.h".
-	(gdb_assert, gdb_assert_fail, gdb_assert_not_reached): Update.
-	* common/vec.h (VEC_ASSERT_PASS): Update.
-	* darwin-nat.h: Replace #include of gdb_assert.h with common-utils.h.
-	(MACH_CHECK_ERROR): Update.
-
-2014-01-17  Simon Marchi  <simon.marchi@ericsson.com>
-
-	* gdbarch.sh (gdbarch_address_class_name_to_type_flags): Add
-	comments.
-	* gdbarch.h: Regenerate.
-
-2014-01-16  Tom Tromey  <tromey@redhat.com>
-
-	* value.c (struct value) <regnum>: Move earlier.
-
-2014-01-16  Tom Tromey  <tromey@redhat.com>
-
-	* remote.c (extended_remote_create_inferior): Rename from
-	extended_remote_create_inferior_1.  Add "ops" argument.  Remove
-	old implementation.
-
-2014-01-16  Pedro Alves  <palves@redhat.com>
-
-	* s390-linux-tdep.c (s390_frame_unwind_cache): Swallow
-	NOT_AVAILABLE_ERROR errors while parsing the prologue or reading
-	the backchain.
-
-2014-01-16  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (open_and_init_dwp_file): Fix typo in comment.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* btrace.h (btrace_thread_flag): New.
-	(struct btrace_thread_info) <flags>: New.
-	* record-btrace.c (record_btrace_resume_thread)
-	(record_btrace_find_thread_to_move, btrace_step_no_history)
-	(btrace_step_stopped, record_btrace_start_replaying)
-	(record_btrace_step_thread, record_btrace_decr_pc_after_break)
-	(record_btrace_find_resume_thread): New.
-	(record_btrace_resume, record_btrace_wait): Extend.
-	(record_btrace_can_execute_reverse): New.
-	(record_btrace_open): Fail in non-stop mode.
-	(record_btrace_set_replay): Split into this, ...
-	(record_btrace_stop_replaying): ... this, ...
-	(record_btrace_clear_histories): ... and this.
-	(init_record_btrace_ops): Init to_can_execute_reverse.
-	* NEWS: Announce it.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* target.h (struct target_ops) <to_decr_pc_after_break>: New.
-	(forward_target_decr_pc_after_break)
-	(target_decr_pc_after_break): New.
-	* target.c (forward_target_decr_pc_after_break)
-	(target_decr_pc_after_break): New.
-	* aix-thread.c (aix_thread_wait): Call target_decr_pc_after_break
-	instead of gdbarch_decr_pc_after_break.
-	* darwin-nat.c (cancel_breakpoint): Call target_decr_pc_after_break
-	instead of gdbarch_decr_pc_after_break.
-	* infrun.c (adjust_pc_after_break): Call target_decr_pc_after_break
-	instead of gdbarch_decr_pc_after_break.
-	* linux-nat.c (cancel_breakpoint): Call target_decr_pc_after_break
-	instead of gdbarch_decr_pc_after_break.
-	* linux-thread-db.c (check_event): Call target_decr_pc_after_break
-	instead of gdbarch_decr_pc_after_break.
-	* record-full.c (record_full_wait_1): Call target_decr_pc_after_break
-	instead of gdbarch_decr_pc_after_break.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* btrace.c: Include regcache.h.
-	(btrace_add_pc): New.
-	(btrace_enable): Call btrace_add_pc.
-	(btrace_is_empty): New.
-	* btrace.h (btrace_is_empty): New.
-	* record-btrace.c (require_btrace, record_btrace_info): Call
-	btrace_is_empty.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* common/linux-btrace.c (perf_event_read_bts, linux_read_btrace):
-	Support delta reads.
-	(linux_disable_btrace): Change return type.
-	* common/linux-btrace.h (linux_read_btrace): Change parameters
-	and return type to allow error reporting.  Update users.
-	(linux_disable_btrace): Change return type.  Update users.
-	* common/btrace-common.h (btrace_read_type) <BTRACE_READ_DELTA>:
-	New.
-	(btrace_error): New.
-	(btrace_block) <begin>: Comment on BEGIN == 0.
-	* btrace.c (btrace_compute_ftrace): Start from the end of
-	the current trace.
-	(btrace_stitch_trace, btrace_clear_history): New.
-	(btrace_fetch): Read delta trace, return if replaying.
-	(btrace_clear): Move clear history code to btrace_clear_history.
-	(parse_xml_btrace): Throw an error if parsing failed.
-	* target.h (struct target_ops) <to_read_btrace>: Change parameters
-	and return type to allow error reporting.
-	(target_read_btrace): Change parameters and return type to allow
-	error reporting.
-	* target.c (target_read_btrace): Update.
-	* remote.c (remote_read_btrace): Support delta reads.  Pass
-	errors on.
-	* NEWS: Announce it.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record.h (record_btrace_frame_unwind)
-	(record_btrace_tailcall_frame_unwind): New declarations.
-	* dwarf2-frame: Include record.h
-	(dwarf2_frame_cfa): Throw an error for btrace frames.
-	* record-btrace.c: Include hashtab.h.
-	(btrace_get_bfun_name): New.
-	(btrace_call_history): Call btrace_get_bfun_name.
-	(struct btrace_frame_cache): New.
-	(bfcache): New.
-	(bfcache_hash, bfcache_eq, bfcache_new): New.
-	(btrace_get_frame_function): New.
-	(record_btrace_frame_unwind_stop_reason): Allow unwinding.
-	(record_btrace_frame_this_id): Compute own id.
-	(record_btrace_frame_prev_register): Provide PC, throw_error
-	for all other registers.
-	(record_btrace_frame_sniffer): Detect btrace frames.
-	(record_btrace_tailcall_frame_sniffer): New.
-	(record_btrace_frame_dealloc_cache): New.
-	(record_btrace_frame_unwind): Add new functions.
-	(record_btrace_tailcall_frame_unwind): New.
-	(_initialize_record_btrace): Allocate cache.
-	* btrace.c (btrace_clear): Call reinit_frame_cache.
-	* NEWS: Announce it.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (record_btrace_set_replay)
-	(record_btrace_goto_begin, record_btrace_goto_end)
-	(record_btrace_goto): New.
-	(init_record_btrace_ops): Initialize them.
-	* NEWS: Announce it.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (record_btrace_find_new_threads)
-	(record_btrace_thread_alive): New.
-	(init_record_btrace_ops): Initialize to_find_new_threads and
-	to_thread_alive.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (record_btrace_resume): New.
-	(record_btrace_wait): New.
-	(init_record_btrace_ops): Initialize to_wait and to_resume.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (record_btrace_xfer_partial)
-	(record_btrace_insert_breakpoint, record_btrace_remove_breakpoint)
-	(record_btrace_allow_memory_access): New.
-	(init_record_btrace_ops): Initialize new methods.
-	* target.c (raw_memory_xfer_partial): Bail out if target reports
-	that this memory is not available.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* target.h (target_ops) <to_insert_breakpoint>
-	<to_remove_breakpoint>: Add target_ops parameter.
-	(forward_target_insert_breakpoint): New.
-	(forward_target_remove_breakpoint): New.
-	(memory_remove_breakpoint, memory_insert_breakpoint):
-	Add target_ops parameter.
-	* target.c (target_insert_breakpoint): Split into this and ...
-	(forward_target_insert_breakpoint): ... this.
-	(target_remove_breakpoint): Split into this and ...
-	(forward_target_remove_breakpoint): ... this.
-	(debug_to_insert_breakpoint): Add target_ops parameter.
-	Call forward_target_insert_breakpoint.
-	(debug_to_remove_breakpoint): Add target_ops parameter.
-	Call forward_target_remove_breakpoint.
-	(update_current_target): Do not inherit or default to_insert_breakpoint
-	and to_remove_breakpoint.
-	* corelow.c (ignore): Add target_ops parameter.
-	* exec.c (ignore): Add target_ops parameter.
-	* mem-break.c (memory_insert_breakpoint, memory_remove_breakpoint):
-	Add target_ops parameter.
-	* monitor.c (monitor_insert_breakpoint, monitor_remove_breakpoint):
-	Add target_ops parameter.
-	* nto-procfs.c (procfs_insert_breakpoint, procfs_remove_breakpoint):
-	Add target_ops parameter.
-	* record-full.c (record_full_beneath_to_insert_breakpoint)
-	(record_full_beneath_to_remove_breakpoint, tmp_to_insert_breakpoint)
-	(tmp_to_remove_breakpoint, record_full_insert_breakpoint)
-	(record_full_remove_breakpoint, record_full_core_insert_breakpoint)
-	(record_full_core_remove_breakpoint): Add target_ops parameter.
-	Update users.
-	(record_full_beneath_to_insert_breakpoint_ops)
-	(record_full_beneath_to_remove_breakpoint_ops)
-	(tmp_to_insert_breakpoint_ops, tmp_to_remove_breakpoint_ops): New.
-	(record_full_open): Initialize tmp_to_insert_breakpoint_ops,
-	tmp_to_remove_breakpoint_ops,
-	record_full_beneath_to_insert_breakpoint_ops, and
-	record_full_beneath_to_remove_breakpoint_ops.
-	* remote-m32r-sdi.c (m32r_insert_breakpoint)
-	(m32r_remove_breakpoint): Add target_ops parameter.
-	* remote-mips.c (mips_insert_breakpoint, mips_remove_breakpoint):
-	Add target_ops parameter.
-	* remote.c (remote_insert_breakpoint, remote_remove_breakpoint):
-	Add target_ops parameter.
-
-2014-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
-            Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c: Include frame-unwind.h.
-	(record_btrace_frame_unwind_stop_reason)
-	(record_btrace_frame_this_id, record_btrace_frame_prev_register)
-	(record_btrace_frame_sniffer, record_btrace_frame_unwind):
-	New.
-	(init_record_btrace_ops): Install it.
-
-2014-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* frame.c (get_frame_unwind_stop_reason): Unconditionally call
-	get_prev_frame_1.
-
-2014-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* dwarf2-frame.c (dwarf2_frame_cfa): Move UNWIND_UNAVAILABLE check
-	earlier.
-
-2014-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* frame-unwind.c: Include target.h.
-	(frame_unwind_try_unwinder): New function with code from ...
-	(frame_unwind_find_by_frame): ... here.  New variable
-	unwinder_from_target, call also target_get_unwinder)
-	(target_get_tailcall_unwinder, and frame_unwind_try_unwinder for it.
-	* target.c (target_get_unwinder, target_get_tailcall_unwinder): New.
-	* target.h (struct target_ops): New fields to_get_unwinder and
-	to_get_tailcall_unwinder.
-	(target_get_unwinder, target_get_tailcall_unwinder): New declarations.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (record_btrace_fetch_registers)
-	(record_btrace_store_registers)
-	(record_btrace_to_prepare_to_store): New.
-	(init_record_btrace_ops): Add the above.
-
-2014-01-16  Tom Tromey  <tromey@redhat.com>
-
-	* windows-nat.c (windows_prepare_to_store): Add 'self' argument.
-	* target.h (struct target_ops) <to_prepare_to_store>: Add
-	argument.
-	(target_prepare_to_store): Add argument.
-	* target.c (debug_to_prepare_to_store): Add argument.
-	(update_current_target): Update.
-	* remote.c (remote_prepare_to_store): Add 'self' argument.
-	* remote-sim.c (gdbsim_prepare_to_store): Add 'self' argument.
-	* remote-mips.c (mips_prepare_to_store): Add 'self' argument.
-	* remote-m32r-sdi.c (m32r_prepare_to_store): Add 'self' argument.
-	* record-full.c (record_full_core_prepare_to_store): Add 'self'
-	argument.
-	* ravenscar-thread.c (ravenscar_prepare_to_store): Add argument.
-	* nto-procfs.c (procfs_prepare_to_store): Add 'self' argument.
-	* monitor.c (monitor_prepare_to_store): Add 'self' argument.
-	* inf-child.c (inf_child_prepare_to_store): Add 'self' argument.
-	* go32-nat.c (go32_prepare_to_store): Add 'self' argument.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* btrace.h (replay) <replay>: New.
-	(btrace_is_replaying): New.
-	* btrace.c (btrace_clear): Free replay iterator.
-	(btrace_is_replaying): New.
-	* record-btrace.c (record_btrace_is_replaying): New.
-	(record_btrace_info): Print insn number if replaying.
-	(record_btrace_insn_history): Start at replay position.
-	(record_btrace_call_history): Start at replay position.
-	(init_record_btrace_ops): Init to_record_is_replaying.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (record_btrace_insn_history_range): Include
-	end.
-	(record_btrace_insn_history_from): Adjust range.
-	(record_btrace_call_history_range): Include
-	end.
-	(record_btrace_call_history_from): Adjust range.
-	* NEWS: Announce changes.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record.h (enum record_print_flag)
-	<record_print_indent_calls>: New.
-	* record.c (get_call_history_modifiers): Recognize /c modifier.
-	(_initialize_record): Document /c modifier.
-	* record-btrace.c (btrace_call_history): Add btinfo parameter.
-	Reorder fields.  Optionally indent the function name.  Update
-	all users.
-	* NEWS: Announce changes.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* common/linux-btrace.c (linux_enable_btrace): Enlarge buffer.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* btrace.c (ftrace_new_function): Start counting at one.
-	* record-btrace.c (record_btrace_info): Adjust number of calls
-	and insns.
-	* NEWS: Announce it.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* record-btrace.c (btrace_call_history_insn_range): Print
-	insn range as [begin, end].
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* btrace.h (struct btrace_func_link): New.
-	(enum btrace_function_flag): New.
-	(struct btrace_inst): Rename to ...
-	(struct btrace_insn): ...this. Update all users.
-	(struct btrace_func) <ibegin, iend>: Remove.
-	(struct btrace_func_link): New.
-	(struct btrace_func): Rename to ...
-	(struct btrace_function): ...this. Update all users.
-	(struct btrace_function) <segment, flow, up, insn, insn_offset)
-	(number, level, flags>: New.
-	(struct btrace_insn_iterator): Rename to ...
-	(struct btrace_insn_history): ...this.
-	Update all users.
-	(struct btrace_insn_iterator, btrace_call_iterator): New.
-	(struct btrace_target_info) <btrace, itrace, ftrace>: Remove.
-	(struct btrace_target_info) <begin, end, level>
-	<insn_history, call_history>: New.
-	(btrace_insn_get, btrace_insn_number, btrace_insn_begin)
-	(btrace_insn_end, btrace_insn_prev, btrace_insn_next)
-	(btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get)
-	(btrace_call_number, btrace_call_begin, btrace_call_end)
-	(btrace_call_prev, btrace_call_next, btrace_call_cmp)
-	(btrace_find_function_by_number, btrace_set_insn_history)
-	(btrace_set_call_history): New.
-	* btrace.c (btrace_init_insn_iterator)
-	(btrace_init_func_iterator, compute_itrace): Remove.
-	(ftrace_print_function_name, ftrace_print_filename)
-	(ftrace_skip_file): Change
-	parameter to const.
-	(ftrace_init_func): Remove.
-	(ftrace_debug): Use new btrace_function fields.
-	(ftrace_function_switched): Also consider gaining and
-	losing symbol information).
-	(ftrace_print_insn_addr, ftrace_new_call, ftrace_new_return)
-	(ftrace_new_switch, ftrace_find_caller, ftrace_new_function)
-	(ftrace_update_caller, ftrace_fixup_caller, ftrace_new_tailcall):
-	New.
-	(ftrace_new_function): Move. Remove debug print.
-	(ftrace_update_lines, ftrace_update_insns): New.
-	(ftrace_update_function): Check for call, ret, and jump.
-	(compute_ftrace): Renamed to ...
-	(btrace_compute_ftrace): ...this. Rewritten to compute call
-	stack.
-	(btrace_fetch, btrace_clear): Updated.
-	(btrace_insn_get, btrace_insn_number, btrace_insn_begin)
-	(btrace_insn_end, btrace_insn_prev, btrace_insn_next)
-	(btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get)
-	(btrace_call_number, btrace_call_begin, btrace_call_end)
-	(btrace_call_prev, btrace_call_next, btrace_call_cmp)
-	(btrace_find_function_by_number, btrace_set_insn_history)
-	(btrace_set_call_history): New.
-	* record-btrace.c (require_btrace): Use new btrace thread
-	info fields.
-	(record_btrace_info, btrace_insn_history)
-	(record_btrace_insn_history, record_btrace_insn_history_range):
-	Use new btrace thread info fields and new iterator.
-	(btrace_func_history_src_line): Rename to ...
-	(btrace_call_history_src_line): ...this. Use new btrace
-	thread info fields.
-	(btrace_func_history): Rename to ...
-	(btrace_call_history): ...this. Use new btrace thread info
-	fields and new iterator.
-	(record_btrace_call_history, record_btrace_call_history_range):
-	Use new btrace thread info fields and new iterator.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* frame.h (frame_id_build_unavailable_stack_special): New.
-	* frame.c (frame_id_build_unavailable_stack_special): New.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* amd64-tdep.c (amd64_classify_insn_at, amd64_insn_is_call)
-	(amd64_insn_is_ret, amd64_insn_is_jump, amd64_jmp_p): New.
-	(amd64_init_abi): Add insn_is_call, insn_is_ret, and insn_is_jump
-	to gdbarch.
-	* i386-tdep.c (i386_insn_is_call, i386_insn_is_ret)
-	(i386_insn_is_jump, i386_jmp_p): New.
-	(i386_gdbarch_init): Add insn_is_call, insn_is_ret, and
-	insn_is_jump to gdbarch.
-	* gdbarch.sh (insn_is_call, insn_is_ret, insn_is_jump): New.
-	* gdbarch.h: Regenerated.
-	* gdbarch.c: Regenerated.
-	* arch-utils.h (default_insn_is_call, default_insn_is_ret)
-	(default_insn_is_jump): New.
-	* arch-utils.c (default_insn_is_call, default_insn_is_ret)
-	(default_insn_is_jump): New.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* common/btrace-common.h (btrace_read_type) <btrace_read_all>:
-	Change to ...
-	(btrace_read_type) <BTRACE_READ_ALL>: ... this.  Update users.
-	(btrace_read_type) <btrace_read_new>: Change to ...
-	(btrace_read_type) <BTRACE_READ_NEW>: ... this.  Update users.
-
-2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
-
-	* common/linux-btrace.c (linux_read_btrace): Free trace from
-	previous iteration.
-
-2014-01-15  Doug Evans  <dje@google.com>
-
-	* dwarf2read.c (open_and_init_dwp_file): Use pulongest to print
-	uint32_t.
-
-2014-01-15  Tom Tromey  <tromey@redhat.com>
-
-	* dbxread.c (process_one_symbol): Use set_objfile_main_name.
-	* dwarf2read.c (read_partial_die): Use set_objfile_main_name.
-	* objfiles.c (get_objfile_bfd_data): Initialize language_of_main.
-	(set_objfile_main_name): New function.
-	* objfiles.h (struct objfile_per_bfd_storage) <name_of_main,
-	language_of_main>: New fields.
-	(set_objfile_main_name): Declare.
-	* symtab.c (find_main_name): Loop over objfiles to find the main
-	name and language.
-	(set_main_name): Now static.
-	(get_main_info): Add comment.
-	* symtab.h (set_main_name): Don't declare.
-
-2014-01-15  Tom Tromey  <tromey@redhat.com>
-
-	* symtab.c (main_progspace_key): New global.
-	(struct main_info): New.
-	(name_of_main, language_of_main): Remove.
-	(get_main_info, main_info_cleanup): New function.
-	(set_main_name, main_name, main_language): Use get_main_info.
-	(_initialize_symtab): Initialize main_progspace_key.
-
-2014-01-15  Tom Tromey  <tromey@redhat.com>
-
-	* dbxread.c (process_one_symbol): Update.
-	* dwarf2read.c (read_partial_die): Update.
-	* symfile.c (set_initial_language): Call main_language.
-	* symtab.c (language_of_main): Now static.
-	(set_main_name): Add 'lang' parameter.
-	(find_main_name): Update.
-	(main_language): New function.
-	(symtab_observer_executable_changed): Update.
-	* symtab.h (set_main_name): Update.
-	(language_of_main): Remove.
-	(main_language): Declare.
-
-2014-01-15  Tom Tromey  <tromey@redhat.com>
-
-	* symfile.c (init_entry_point_info): Use new "initialized" field.
-	Update.
-	* objfiles.h (struct entry_point) <initialized>: New field.
-	(struct objfile_per_bfd_storage) <ei>: New field, moved from...
-	(struct objfile) <ei>: ...here.  Remove.
-	* objfiles.c (entry_point_address_query): Update.
-
-2014-01-15  Tom Tromey  <tromey@redhat.com>
-
-	* objfiles.c (entry_point_address_query): Relocate entry point
-	address.
-	(objfile_relocate1): Do not relocate entry point address.
-	* objfiles.h (struct entry_info) <entry_point>: Update comment.
-	<the_bfd_section_index>: New field.
-	* symfile.c (init_entry_point_info): Find the entry point's
-	section.
-
-2014-01-15  Tom Tromey  <tromey@redhat.com>
-
-	* solib-frv.c (enable_break): Use entry_point_address_query.
-
-2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
-
-	* NEWS: Add note on improved process record-replay on
-	arm*-linux* targets.
-
-2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
-
-	* arm-tdep.c (enum arm_record_result): New enum.
-	(arm_record_unsupported_insn): New function.
-	(arm_record_coproc_data_proc): Removed.
-	(thumb2_record_ld_st_multiple): New function.
-	(thumb2_record_ld_st_dual_ex_tbb): New function.
-	(thumb2_record_data_proc_sreg_mimm): New function.
-	(thumb2_record_ps_dest_generic): New function.
-	(thumb2_record_branch_misc_cntrl): New function.
-	(thumb2_record_str_single_data): New function.
-	(thumb2_record_ld_mem_hints): New function.
-	(thumb2_record_ld_word): New function.
-	(thumb2_record_lmul_lmla_div): New function.
-	(thumb2_record_decode_insn_handler): New function.
-	(decode_insn): Add thumb32 instruction handlers.
-
-2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
-
-	* arm-linux-tdep.c: Include "record-full.h" and "linux-record.h".
-	(struct arm_linux_record_tdep): Declare.
-	(arm_canonicalize_syscall): New function.
-	(arm_all_but_pc_registers_record): New function.
-	(arm_linux_syscall_record): New function.
-	(arm_linux_init_abi): Add syscall recording constructs.
-	* arm-tdep.c (thumb_record_ldm_stm_swi): Update thumb syscall
-	decoding.  (arm_record_coproc_data_proc): Update arm syscall
-	decoding.
-	* arm-tdep.h (struct gdbarch_tdep) <arm_swi_record>: Remove.
-	<arm_syscall_record>: New field.
-	* configure.tgt (arm*-*-linux*): Add linux-record.o to
-	gdb_target_obs.
-
-2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
-
-	* arm-tdep.c (thumb_record_misc): Update to use sp as base
-	register for push instruction recording.
-
-2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
-
-	* arm-tdep.c (thumb_record_misc): Update to correct logical
-	error while recording ldm, ldmia and pop instructions.
-
-2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
-
-	* arm-tdep.c (struct arm_mem_r) <addr>: Change type to uint32_t.
-
-2014-01-15  Pedro Alves  <palves@redhat.com>
-
-	* go32-nat.c (go32_open, go32_close, go32_attach, go32_detach)
-	(go32_resume, go32_fetch_registers, store_register)
-	(go32_store_registers, go32_prepare_to_store)
-	(go32_xfer_memory, go32_files_info, go32_kill_inferior)
-	(go32_create_inferior, go32_can_run, go32_terminal_init)
-	(go32_terminal_inferior, go32_terminal_ours): Delete forward
-	declarations.
-
-2014-01-15  Tom Tromey  <tromey@redhat.com>
-
-	* target.h (async_callback_ftype): New typedef.
-	(struct target_ops) <to_async>: Use it.
-
-2014-01-15  Joel Brobecker  <brobecker@adacore.com>
-
-	* python/py-value.c (get_field_type): Remove unnecessary curly
-	braces for single-statement if block.
-
-2014-01-15  Joel Brobecker  <brobecker@adacore.com>
-
-	* python/py-type.c (convert_field): Add missing empty line
-	after declarations.
-
-2014-01-14  Doug Evans  <dje@google.com>
-
-	* symfile.h (expand_symtabs_matching): Renamed from
-	expand_partial_symbol_names.  Update prototype.
-	(map_symbol_filenames): Renamed from map_partial_symbol_filenames.
-	* symfile.c (expand_symtabs_matching): Renamed from
-	expand_partial_symbol_names.  New args file_matcher, kind.
-	Rename arg fun to symbol_matcher.
-	(map_symbol_filenames): Renamed from map_partial_symbol_filenames.
-	* ada-lang.c (ada_complete_symbol_matcher): Renamed from
-	ada_expand_partial_symbol_name.
-	(ada_make_symbol_completion_list): Update to call
-	expand_symtabs_matching.
-	(ada_add_global_exceptions): Call expand_symtabs_matching.
-	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update to
-	call map_symbol_filenames.
-	* symtab.c (sources_info): Update to call map_symbol_filenames.
-	(search_symbols): Call expand_symtabs_matching.
-	(symbol_completion_matcher): Renamed from expand_partial_symbol_name.
-	(default_make_symbol_completion_list_break_on): Update to call
-	expand_symtabs_matching.
-	(make_source_files_completion_list): Update to call
-	map_symbol_filenames.
-
-2014-01-14  Doug Evans  <dje@google.com>
-
-	* symfile.h (expand_symtabs_file_matcher_ftype): New typedef.
-	(expand_symtabs_symbol_matcher_ftype): New typedef.
-	(quick_symbol_functions.expand_symtabs_matching): Update to use.
-	expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
-	* symfile.c (expand_partial_symbol_names): Update to use
-	expand_symtabs_symbol_matcher_ftype.
-	* dwarf2read.c (dw2_expand_symtabs_matching): Update to use
-	expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
-	Arg name_matcher renamed to symbol_matcher.
-	* psymtab.c (recursively_search_psymtabs): Update to use
-	expand_symtabs_symbol_matcher_ftype.  Arg name_matcher renamed to
-	sym_matcher.
-	(expand_symtabs_matching_via_partial): Update to use
-	expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
-	Arg name_matcher renamed to symbol_matcher.
-
-2014-01-14  Doug Evans  <dje@google.com>
-
-	* psymtab.c (expand_partial_symbol_names): Delete, moved to symfile.c.
-	(map_partial_symbol_filenames): Ditto.
-	* psymtab.h (expand_partial_symbol_names): Delete, moved to symfile.h.
-	(map_partial_symbol_filenames): Ditto.
-	* symfile.c (expand_partial_symbol_names): Moved here from psymtab.c.
-	(map_partial_symbol_filenames): Ditto.
-	* symfile.h (expand_partial_symbol_names): Moved here from psymtab.h.
-	(map_partial_symbol_filenames): Ditto.
-	* symtab.c: Delete #include "psymtab.h".
-
-2014-01-14  Pedro Alves  <palves@redhat.com>
-	    Tom Tromey  <tromey@redhat.com>
-
-	* infrun.c (use_displaced_stepping): Use find_record_target
-	instead of RECORD_IS_USED.
-	(adjust_pc_after_break): Use record_full_is_used instead of
-	RECORD_IS_USED.
-	* record-btrace.c (record_btrace_open): Call record_preopen
-	instead of checking RECORD_IS_USED.
-	* record-full.c (record_full_shortname)
-	(record_full_core_shortname): New globals.
-	(record_full_is_used): New function.
-	(find_full_open): Call record_preopen instead of checking
-	RECORD_IS_USED.
-	(init_record_full_ops): Set the target's shortname to
-	record_full_shortname.
-	(init_record_full_core_ops): Set the target's shortname to
-	record_full_core_shortname.
-	* record-full.h (record_full_is_used): Declare.
-	* record.c (find_record_target): Make extern.
-	(record_preopen): New function.
-	* record.h (RECORD_IS_USED): Delete macro.
-	(find_record_target, record_preopen): Declare functions.
-
-2014-01-14  Yao Qi  <yao@codesourcery.com>
-
-	* gdbarch.sh (core_xfer_shared_libraries): Change its argument
-	'len''s type to ULONGEST.
-	(core_xfer_shared_libraries_aix): Likewise.
-	* gdbarch.c, gdbarch.h: Regenerated.
-	* i386-cygwin-tdep.c (windows_core_xfer_shared_libraries):
-	Change type of 'len' to ULONGEST.
-	* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
-	(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
-
-2014-01-14  Yao Qi  <yao@codesourcery.com>
-
-	* common/linux-osdata.c (linux_xfer_osdata_processes): Change
-	type of 'len' to ULONGEST.
-	(linux_xfer_osdata_processgroups): Likewise.
-	(linux_xfer_osdata_threads): Likewise.
-	(linux_xfer_osdata_fds): Likewise.
-	(linux_xfer_osdata_isockets): Likewise.
-	(linux_xfer_osdata_shm): Likewise.
-	(linux_xfer_osdata_sem): Likewise.
-	(linux_xfer_osdata_msg): Likewise.
-	(linux_common_xfer_osdata): Likewise.
-	(struct osdata_type) <getter>: Likewise.
-	* common/linux-osdata.h (linux_common_xfer_osdata): Update
-	the declaration.
-
-2014-01-14  Yao Qi  <yao@codesourcery.com>
-
-	* target.h (target_xfer_partial_ftype): Update.
-	(struct target_ops) <to_xfer_partial>: Change 'len' type to
-	ULONGEST.
-	* aix-thread.c (aix_thread_xfer_partial): Change type of
-	argument 'len' to ULONGEST.
-	* auxv.c (procfs_xfer_auxv): Likewise.
-	(ld_so_xfer_auxv): Likewise.
-	(memory_xfer_auxv): Likewise.
-	* bfd-target.c (target_bfd_xfer_partial): Likewise.
-	* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
-	* bsd-uthread.c (bsd_uthread_xfer_partial): Likewise.
-	* corelow.c (core_xfer_partial): Likewise.
-	* ctf.c (ctf_xfer_partial): Likewise.
-	* darwin-nat.c (darwin_read_write_inferior): Likewise.  Use
-	'%u'.
-	(darwin_read_dyld_info): Likewise.
-	(darwin_xfer_partial): Likewise.
-	* exec.c (section_table_xfer_memory_partial): Likewise.
-	(exec_xfer_partial): Likewise.
-	* exec.h (section_table_xfer_memory_partial): Update
-	declaration.
-	* gnu-nat.c (gnu_xfer_memory): Likewise.  Call pulongest
-	instead of plongest.
-	(gnu_xfer_partial): Likewise.
-	* ia64-hpux-nat.c (ia64_hpux_xfer_memory): Likewise.
-	(ia64_hpux_xfer_solib_got): Likewise.
-	(ia64_hpux_xfer_partial): Likewise.
-	* ia64-linux-nat.c (ia64_linux_xfer_partial):
-	* inf-ptrace.c (inf_ptrace_xfer_partial):
-	* inf-ttrace.c (inf_ttrace_xfer_partial):
-	* linux-nat.c (linux_xfer_siginfo): Likewise.
-	(linux_nat_xfer_partial): Likewise.
-	(spu_enumerate_spu_ids, linux_proc_xfer_spu): Likewise.
-	(linux_nat_xfer_osdata, linux_xfer_partial): Likewise.
-	* monitor.c (monitor_xfer_memory): Likewise.
-	(monitor_xfer_partial): Likewise.
-	* procfs.c (procfs_xfer_partial): Likewise.
-	* record-full.c (record_full_xfer_partial): Likewise.
-	(record_full_core_xfer_partial): Likewise.
-	* remote-sim.c (gdbsim_xfer_memory): Likewise.  Call pulongest
-	instead of plongest.
-	(gdbsim_xfer_partial): Likewise.
-	* remote.c (remote_xfer_partial): Likewise.
-	* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
-	* rs6000-aix-tdep.h (rs6000_aix_ld_info_to_xml): Update
-	declaration.
-	* rs6000-nat.c (rs6000_xfer_partial): Likewise.
-	(rs6000_xfer_shared_libraries): Likewise.
-	* sol-thread.c (sol_thread_xfer_partial): Likewise.
-	* sparc-nat.c (sparc_xfer_wcookie): Likewise.
-	(sparc_xfer_partial): Likewise.
-	* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.
-	(spu_xfer_partial): Likewise.
-	* spu-multiarch.c (spu_xfer_partial): Likewise.
-	* target.c (target_read_live_memory): Likewise.
-	(memory_xfer_live_readonly_partial): Likewise.
-	(memory_xfer_partial, memory_xfer_partial_1): Likewise.
-	(target_xfer_partial, default_xfer_partial): Likewise.
-	(current_xfer_partial): Likewise.
-	* tracepoint.c (tfile_xfer_partial): Likewise.
-	* windows-nat.c (windows_xfer_memory): Likewise.  Call
-	pulongest instead of plongest.
-	(windows_xfer_partial): Likewise.
-	(windows_xfer_shared_libraries): Likewise.
-
-2014-01-14  Yao Qi  <yao@codesourcery.com>
-
-	* rs6000-nat.c (rs6000_xfer_shared_libraries): Use
-	target_xfer_partial_ftype.
-
-2014-01-13  Siva Chandra Reddy  <sivachandra@google.com>
-
-	PR python/15464
-	PR python/16113
-	* valops.c (value_struct_elt_bitpos): New function
-	* py-type.c (convert_field): Set 'name' attribute of a gdb.Field
-	object to 'None' if the field name is an empty string ("").
-	* python/py-value.c (valpy_getitem): Use 'bitpos' and 'type'
-	attribute to look for a field when 'name' is 'None'.
-	(get_field_type): New function
-
-2014-01-13  Doug Evans  <dje@google.com>
-
-	PR symtab/16426
-	* dwarf2read.c (dwarf2_get_dwz_file): Call gdb_bfd_record_inclusion.
-	(try_open_dwop_file): Ditto.
-	* gdb_bfd.c: #include "vec.h".
-	(bfdp): New typedef.
-	(struct gdb_bfd_data): New member included_bfds.
-	(gdb_bfd_unref): Unref all included bfds.
-	(gdb_bfd_record_inclusion): New function.
-	* gdb_bfd.h (gdb_bfd_record_inclusion): Declare.
-
-2014-01-13  Tom Tromey  <tromey@redhat.com>
-
-	* gdbcore.h (deprecated_core_resize_section_table): Remove.
-
-2014-01-13  Tom Tromey  <tromey@redhat.com>
-
-	* defs.h (use_windows): Remove.
-	* gdb.c (main): Update.
-	* main.c (captured_main, gdb_main): Update.
-	* main.h (struct captured_main_args) <use_windows>: Remove.
-	* top.c (use_windows): Remove.
-
-2014-01-13  Tom Tromey  <tromey@redhat.com>
-
-	* defs.h (deprecated_flush_hook): Remove.
-
-2014-01-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	PR threads/16216
-	* linux-thread-db.c (try_thread_db_load): Add parameter
-	check_auto_load_safe.  Move here the file_is_auto_load_safe call.
-	(try_thread_db_load_from_pdir_1): Move it there from here.
-	(try_thread_db_load_from_sdir): Update caller.
-	(try_thread_db_load_from_dir): Move it there from here.
-
-2014-01-13  Patrick Palka  <patrick@parcs.ath.cx>
-
-	* regformats/regdat.sh: Always rewrite the register file.
-
-2014-01-13  Pedro Alves  <palves@redhat.com>
-
-        * Makefile.in (CHECK_HEADERS): New variable.
-        (check-headers:): New rule.
-
-2014-01-13  Tom Tromey  <tromey@redhat.com>
-
-	* cli/cli-setshow.c (do_set_command): Update.
-	* defs.h (deprecated_set_hook): Remove.
-	* top.c (deprecated_set_hook): Remove.
-
-2014-01-13  Pedro Alves  <palves@redhat.com>
-
-	* tracepoint.c (tfile_fetch_registers): Don't infer the PC from
-	the tracepoint if the PC is a pseudo-register.
-
-2014-01-13  Tom Tromey  <tromey@redhat.com>
-
-	* defs.h (XCALLOC): Remove.
-	* bcache.c (bcache_xmalloc): Use XCNEW, not XCALLOC.
-	(print_bcache_statistics): Use XCNEWVEC, not XCALLOC.
-	* dwarf2loc.c (allocate_piece_closure): Likewise.
-	* elfread.c (elf_symfile_segments): Likewise.
-	(elf_symfile_segments): Likewise.
-	* gdbtypes.c (copy_type_recursive): Likewise.
-	* i386-tdep.c (i386_gdbarch_init): Use XCNEW, not XCALLOC.
-	* jit.c (jit_frame_sniffer): Use XCNEWVEC, not XCALLOC.
-	* minsyms.c (prim_record_minimal_symbol_full): Use XCNEW, not
-	XCALLOC.
-	* mt-tdep.c (mt_gdbarch_init): Likewise.
-	* opencl-lang.c (allocate_lval_closure): Use XCNEWVEC, not
-	XCALLOC.
-	* psymtab.c (psymbol_compare): Use XCNEW, not XCALLOC.
-	* regcache.c (regcache_xmalloc_1): Use XCNEWVEC, not XCALLOC.
-	* registry.c (registry_alloc_data): Likewise.
-	* rs6000-tdep.c (rs6000_gdbarch_init): Use XCNEW, not XCALLOC.
-	* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
-	* serial.c (serial_fdopen_ops): Likewise.
-	* solib-aix.c (solib_aix_get_section_offsets): Use XCNEWVEC, not
-	XCALLOC.
-	* spu-tdep.c (spu_gdbarch_init): Use XCNEW, not XCALLOC.
-	* symfile.c (default_symfile_segments): Use XCNEW and XCNEWVEC,
-	not XCALLOC.
-
-2014-01-13  Tom Tromey  <tromey@redhat.com>
-
-	* defs.h (XMALLOC): Remove.
-	* avr-tdep.c (avr_gdbarch_init): Use XNEW, not XMALLOC.
-	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
-	* cli-out.c (struct ui_out *): Likewise.
-	* cli/cli-dump.c (add_dump_command): Likewise.
-	(add_dump_command): Likewise.
-	* complaints.c (get_complaints): Likewise.
-	(find_complaint): Likewise.
-	* dwarf2-frame.c (execute_cfa_program): Likewise.
-	* dwarf2read.c (abbrev_table_read_table): Likewise.
-	* gdbarch.sh: Likewise.
-	* gdbarch.c: Rebuild.
-	* inf-ttrace.c (inf_ttrace_add_page): Likewise.
-	* interps.c (interp_new): Likewise.
-	* lm32-tdep.c (lm32_gdbarch_init): Likewise.
-	* m32r-tdep.c (m32r_gdbarch_init): Likewise.
-	* mi/mi-console.c (mi_console_file_new): Likewise.
-	* mi/mi-interp.c (mi_interpreter_init): Likewise.
-	* mi/mi-out.c (mi_out_new): Likewise.
-	* mi/mi-parse.c (mi_parse): Likewise.
-	* microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
-	* moxie-tdep.c (moxie_gdbarch_init): Likewise.
-	* observer.c (xalloc_observer_list_node): Likewise.
-	* regcache.c (regcache_xmalloc_1): Likewise.
-	* reggroups.c (reggroup_new): Likewise.
-	(_initialize_reggroup): Likewise.
-	* registry.c (register_data_with_cleanup): Likewise.
-	* remote.c (remote_notif_stop_alloc_reply): Likewise.
-	* ser-base.c (serial_ttystate): Likewise.
-	* ser-mingw.c (make_pipe_state): Likewise.
-	* ser-pipe.c (pipe_open): Likewise.
-	* serial.c (serial_open): Likewise.
-	* sh64-tdep.c (sh64_gdbarch_init): Likewise.
-	* tui/tui-data.c (tui_alloc_generic_win_info): Likewise.
-	(tui_alloc_win_info): Likewise.
-	(tui_add_content_elements): Likewise.
-	* tui/tui-file.c (tui_file_new): Likewise.
-	* tui/tui-out.c (tui_out_new): Likewise.
-	* ui-file.c (mem_file_new): Likewise.
-	* ui-out.c (push_level): Likewise.
-	(make_cleanup_ui_out_end): Likewise.
-	(append_header_to_list): Likewise.
-	(ui_out_new): Likewise.
-	* user-regs.c (user_reg_add_builtin): Likewise.
-
-2014-01-13  Tom Tromey  <tromey@redhat.com>
-
-	* defs.h (XZALLOC): Remove.
-	* ada-lang.c (get_ada_inferior_data): Use XCNEW, not XZALLOC.
-	* ada-tasks.c (get_ada_tasks_pspace_data): Likewise.
-	(get_ada_tasks_inferior_data): Likewise.
-	* auto-load.c (get_auto_load_pspace_data): Likewise.
-	* auxv.c (get_auxv_inferior_data): Likewise.
-	* bfd-target.c (target_bfd_reopen): Likewise.
-	* breakpoint.c (get_catch_syscall_inferior_data): Likewise.
-	(deprecated_insert_raw_breakpoint): Likewise.
-	* bsd-uthread.c (bsd_uthread_pid_to_str): Likewise.
-	* corelow.c (core_open): Likewise.
-	* darwin-nat.c (darwin_check_new_threads): Likewise.
-	(darwin_attach_pid): Likewise.
-	* dummy-frame.c (dummy_frame_push): Likewise.
-	* dwarf2-frame.c (dwarf2_frame_cache): Likewise.
-	* dwarf2loc.c (allocate_piece_closure): Likewise.
-	* elfread.c (elf_symfile_segments): Likewise.
-	* eval.c (ptrmath_type_p): Likewise.
-	* exceptions.c (EXCEPTIONS_SIGJMP_BUF): Likewise.
-	* gdbtypes.c (alloc_type_arch): Likewise.
-	(alloc_type_instance): Likewise.
-	* hppa-tdep.c (hppa_gdbarch_init): Likewise.
-	* inf-child.c (inf_child_can_use_agent): Likewise.
-	* inflow.c (get_inflow_inferior_data): Likewise.
-	* infrun.c (save_infcall_suspend_state): Likewise.
-	* jit.c (jit_reader_load): Likewise.
-	(get_jit_objfile_data): Likewise.
-	(get_jit_program_space_data): Likewise.
-	(jit_object_open_impl): Likewise.
-	(jit_symtab_open_impl): Likewise.
-	(jit_block_open_impl): Likewise.
-	(jit_frame_sniffer): Likewise.
-	* linux-fork.c (add_fork): Likewise.
-	* maint.c (make_command_stats_cleanup): Likewise.
-	* objfiles.c (get_objfile_pspace_data): Likewise.
-	* opencl-lang.c (struct lval_closure): Likewise.
-	* osdata.c (osdata_start_osdata): Likewise.
-	* progspace.c (new_address_space): Likewise.
-	(add_program_space): Likewise.
-	* remote-sim.c (get_sim_inferior_data): Likewise.
-	* sh-tdep.c (sh_gdbarch_init): Likewise.
-	* skip.c (Ignore): Likewise.
-	(skip_delete_command): Likewise.
-	* solib-aix.c (get_solib_aix_inferior_data): Likewise.
-	(library_list_start_library): Likewise.
-	(solib_aix_current_sos): Likewise.
-	* solib-darwin.c (get_darwin_info): Likewise.
-	(darwin_current_sos): Likewise.
-	* solib-dsbt.c (get_dsbt_info): Likewise.
-	* solib-ia64-hpux.c (new_so_list): Likewise.
-	(ia64_hpux_get_solib_linkage_addr): Likewise.
-	* solib-spu.c (append_ocl_sos): Likewise.
-	(spu_current_sos): Likewise.
-	* solib-svr4.c (get_svr4_info): Likewise.
-	(svr4_keep_data_in_core): Likewise.
-	(library_list_start_library): Likewise.
-	(svr4_default_sos): Likewise.
-	(svr4_read_so_list): Likewise.
-	* solib-target.c (library_list_start_library): Likewise.
-	(solib_target_current_sos): Likewise.
-	* sparc-tdep.c (sparc32_gdbarch_init): Likewise.
-	* symfile-debug.c (install_symfile_debug_logging): Likewise.
-	* symfile.c (default_symfile_segments): Likewise.
-	* target-descriptions.c (tdesc_data_init): Likewise.
-	(tdesc_create_reg): Likewise.
-	(struct tdesc_type *): Likewise.
-	(tdesc_create_vector): Likewise.
-	(tdesc_set_struct_size): Likewise.
-	(struct tdesc_type *): Likewise.
-	(tdesc_free_feature): Likewise.
-	(tdesc_create_feature): Likewise.
-	* windows-nat.c (windows_add_thread): Likewise.
-	(windows_make_so): Likewise.
-	* xml-support.c (gdb_xml_body_text): Likewise.
-	(gdb_xml_create_parser_and_cleanup): Likewise.
-	(xml_process_xincludes): Likewise.
-	* xml-syscall.c (allocate_syscalls_info): Likewise.
-	(syscall_create_syscall_desc): Likewise.
-
-2014-01-12  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	* i386-tdep.c (i386_stap_parse_special_token_triplet): New
-	function, with code from i386_stap_parse_special_token.
-	(i386_stap_parse_special_token_three_arg_disp): Likewise.
-	(i386_stap_parse_special_token): Move code to the two functions
-	above; simplify it.
-
-2014-01-09  Pedro Alves  <palves@redhat.com>
-	    Hui Zhu  <hui@codesourcery.com>
-
-	PR gdb/16101
-	* breakpoint.c (insert_bp_location): Rename hw_bp_err_string to
-	bp_err_string.  Don't mark the location shlib_disabled if the
-	error thrown wasn't a generic or memory error.  Catch errors
-	thrown while inserting breakpoints in overlayed code.  Output
-	error message of software breakpoints.
-	* remote.c (remote_insert_breakpoint): If this breakpoint has
-	target-side commands but this stub doesn't support Z0 packets,
-	throw NOT_SUPPORTED_ERROR error.
-	* exceptions.h (enum errors) <NOT_SUPPORTED_ERROR>: New error.
-	* target.h (target_insert_breakpoint): Extend comment.
-	(target_insert_hw_breakpoint): Add comment.
-
-2014-01-08  Pedro Alves  <palves@redhat.com>
-
-	* remote.c (remote_add_thread): Add threads silently if starting
-	up.
-	(remote_notice_new_inferior): If in all-stop, and starting up,
-	don't call notice_new_inferior.
-	(get_current_thread): New function, factored out from ...
-	(add_current_inferior_and_thread): ... this.  Adjust.
-	(remote_start_remote) <all-stop>: Fetch the thread list.  If we
-	found any thread, then select the remote's current thread as GDB's
-	current thread too.
-
-2014-01-08  Joel Brobecker  <brobecker@adacore.com>
-
-	* NEWS: Create a new section for the next release branch.
-	Rename the section of the current branch, now that it has
-	been cut.
-
-2014-01-08  Joel Brobecker  <brobecker@adacore.com>
-
-	GDB 7.7 branch created (79301218fa0f074c5656db0ec8972a5ddcf91fb5):
-	* version.in: Bump version to 7.7.50.DATE-cvs.
-
-2014-01-08  Yao Qi  <yao@codesourcery.com>
-
-	* spu-linux-nat.c (spu_symbol_file_add_from_memory): Change
-	type of 'id' to gdb_byte.  Cast 'id' to 'const char *'.
-	(spu_xfer_partial): Cast 'buf' to 'const char *'.
-
-2014-01-08  Yao Qi  <yao@codesourcery.com>
-
-	* spu-linux-nat.c (spu_symbol_file_add_from_memory): Pass
-	return value of bfd_get_filename to symbol_file_add_from_bfd.
-
-2014-01-08  Pierre Muller  <muller@sourceware.org>
-
-	Fix PR16201.
-	* coff-pe-read.c (struct read_pe_section_data): Add index field.
-	(add_pe_exported_sym): Use SECTION_DATA->INDEX for call
-	to prim_record_mininal_symbol_and_info.
-	(add_pe_forwarded_sym): Use known section number of forwarded symbol
-	in call to prim_record_minimal_symbol_and_info.
-	(read_pe_exported_syms): Set index field of section_data.
-
-2014-01-07  Andrew Pinski  <apinski@cavium.com>
-
-	* features/aarch64-core.xml (cpsr): Change to be 64bit.
-	* features/aarch64.c: Regenerate.
-
-2014-01-07  Andreas Schwab  <schwab@linux-m68k.org>
-
-	* target.c (return_null): Define.
-	(update_current_target): Use it instead of return_zero for
-	functions that return a pointer.
-
-2014-01-07  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
-
-	* source.c (add_path): Fix check for duplicated paths in the previously
-	included paths.
-
-2014-01-07  Honggyu Kim  <hong.gyu.kim@lge.com>
-
-	* ada-lang.c: Remove duplicated include statements.
-	* alphabsd-nat.c: Ditto.
-	* amd64-darwin-tdep.c: Ditto.
-	* amd64fbsd-nat.c: Ditto.
-	* auto-load.c: Ditto.
-	* ax-gdb.c: Ditto.
-	* breakpoint.c: Ditto.
-	* dbxread.c: Ditto.
-	* fork-child.c: Ditto.
-	* gdb_usleep.c: Ditto.
-	* i386-darwin-tdep.c: Ditto.
-	* i386fbsd-nat.c: Ditto.
-	* infcmd.c: Ditto.
-	* inferior.c: Ditto.
-	* jv-lang.c: Ditto.
-	* linux-nat.c: Ditto.
-	* linux-tdep.c: Ditto.
-	* m68kbsd-nat.c: Ditto.
-	* m68klinux-nat.c: Ditto.
-	* microblaze-tdep.c: Ditto.
-	* mips-linux-tdep.c: Ditto.
-	* mn10300-tdep.c: Ditto.
-	* nto-tdep.c: Ditto.
-	* opencl-lang.c: Ditto.
-	* osdata.c: Ditto.
-	* printcmd.c: Ditto.
-	* regcache.c: Ditto.
-	* remote-m32r-sdi.c: Ditto.
-	* remote.c: Ditto.
-	* symfile.c: Ditto.
-	* symtab.c: Ditto.
-	* tilegx-linux-nat.c: Ditto.
-	* tilegx-tdep.c: Ditto.
-	* tracepoint.c: Ditto.
-	* valops.c: Ditto.
-	* vaxbsd-nat.c: Ditto.
-	* windows-nat.c: Ditto.
-	* xtensa-tdep.c: Ditto.
-
-2014-01-07  Yao Qi  <yao@codesourcery.com>
-
-	* spu-linux-nat.c (_initialize_spu_nat): Declare.
-
-2014-01-07  Yao Qi  <yao@codesourcery.com>
-	    Joel Brobecker  <brobecker@adacore.com>
-
-	* aix-thread.c (pdc_read_regs): Cast parameter to uintptr_t.
-	(pdc_write_regs): Likewise.
-	(fetch_regs_kernel_thread): Likewise.
-	(store_regs_kernel_thread): Likewise.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-varobj.c (ada_varobj_adjust_for_child_access): Convert
-	tagged type objects to their actual type.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (print_field_values): Add "language" parameter.
-	Update calls to print_field_values and print_variant_part.
-	Pass new parameter "language" in call to val_print instead
-	of "current_language".  Replace call to ada_val_print by call
-	to val_print.
-	(print_variant_part): Add "language" parameter.
-	(ada_val_print_struct_union): Update call to print_field_values.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (ui_memcpy): Delete.
-	(ada_print_floating): Update documentation.  Add empty line
-	between between function documentation and implementation.
-	Delete variable "buffer".  Use ui_file_xstrdup in place of
-	ui_file_put.  Minor adjustments following this change.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (ada_val_print_string): New function,
-	extracted from ada_val_print_array.
-	(ada_val_print_array): Replace extracted code by call
-	to ada_val_print_string followed by a return.  Move
-	"else" branch to the function's top block.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (ada_val_print_array): Move implementation
-	down.  Rename parameter "offset" and "val" into "offset_aligned"
-	and "original_value" respectively.  Add parameter "offset".
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (ada_val_print_ref): Rewrite by mostly
-	re-organizing the code. Change the "???" message printed
-	when target type is a TYPE_CODE_UNDEF into
-	"<ref to undefined type>".
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (print_record): Delete, implementation inlined...
-	(ada_val_print_struct_union): ... here.  Remove call to
-	ada_check_typedef in inlined implementation.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (ada_val_print_gnat_array): New function,
-	extracted from ada_val_print_1;
-	(ada_val_print_ptr, ada_val_print_num, ada_val_print_enum)
-	(ada_val_print_flt, ada_val_print_struct_union)
-	(ada_val_print_ref): Likewise.
-	(ada_val_print_1): Delete variables i and elttype.
-	Replace extracted-out code by call to corresponding
-	new functions.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (ada_val_print_1): Remove call to gdb_flush.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (ada_val_print_1): Replace calls to
-	ada_val_print_1 by calls to val_print.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (ada_val_print_1): Add parameter "language".
-	Update calls to self accordingly.  Replace calls to c_val_print
-	by calls to val_print.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* ada-valprint.c (print_record): Delete declaration.
-	(adjust_type_signedness, ada_val_print_1): Likewise.
-	(ada_val_print): Move function implementation down.
-	(print_variant_part, print_field_values, print_record):
-	Move function implementation up.
-
-2014-01-07  Joel Brobecker  <brobecker@adacore.com>
-
-	* python/py-type.c (typy_get_name): New function.
-	(type_object_getset): Add entry for attribute "name".
-	* NEWS: Add entry mentioning this new attribute.
+	* dwarf2loc.c (indirect_pieced_value): Don't call
+	gdb_sign_extend.  Call extract_signed_integer instead.
+	* utils.c (gdb_sign_extend): Remove.
+	* utils.h (gdb_sign_extend): Remove declaration.
 
-2014-01-07  Yao Qi  <yao@codesourcery.com>
+2015-01-07  Pierre Muller  <muller@sourceware.org>
 
-	* gnu-nat.c (set_exceptions_cmd): Remove an empty body 'if'
-	statement.
+	PR symtab/17811
+	* stabsread.c (define_symbol): Set language for C++ special symbols.
 
-2014-01-07  Yao Qi  <yao@codesourcery.com>
+2015-01-07  Patrick Palka  <patrick@parcs.ath.cx>
 
-	* gnu-nat.c (info_port_rights): Add qualifier const to
-	argument args.
+	* inflow.c (initial_gdb_ttystate): Tweak comment.
 
-2014-01-07  Yao Qi  <yao@codesourcery.com>
+2015-01-07  Joel Brobecker  <brobecker@adacore.com>
 
-	* gnu-nat.c (trace_me): Use 'void' for empty argument list.
+	* inflow.c (set_initial_gdb_ttystate): Add empty line after
+	comment documenting function.
 
-2014-01-07  Yao Qi  <yao@codesourcery.com>
+2015-01-07  Patrick Palka  <patrick@parcs.ath.cx>
 
-	* gnu-nat.c (make_inf) Update declaration.
-	(make_inf): Make it static.
-	(inf_set_traced): Likewise.
-	(inf_port_to_thread, inf_task_died_status): Likewise.
+	* terminal.h (set_initial_gdb_ttystate): Declare.
+	* inflow.c (initial_gdb_ttystate): New static variable.
+	(set_initial_gdb_ttystate): New setter.
+	(child_terminal_init_with_pgrp): Copy initial_gdb_ttystate
+	instead of our current terminal state.
+	* top.c (gdb_init): Call set_initial_gdb_ttystate.
 
-2014-01-07  Yao Qi  <yao@codesourcery.com>
+2015-01-07  Joel Brobecker  <brobecker@adacore.com>
 
-	* gnu-nat.c (inf_tid_to_proc): Remove declaration.
+	* guile/scm-type.c (tyscm_array_1): Add comment.
+	* python/py-type.c (typy_array_1): Add comment.
 
-2014-01-07  Yao Qi  <yao@codesourcery.com>
+2015-01-06  Joel Brobecker  <brobecker@adacore.com>
 
-	* gnu-nat.c (_initialize_gnu_nat): Declare.
+	* guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
+	error if N2 is equal to N1 - 1.
 
-2014-01-07  Yao Qi  <yao@codesourcery.com>
+2015-01-06  Joel Brobecker  <brobecker@adacore.com>
 
-	* gdbarch.sh (byte_order, byte_order_for_code): Change type to
-	'enum bfd_endian'.
-	(struct gdbarch_info) <byte_order>: Change type to
-	'enum bfd_endian'.
-	<byte_order_for_code>: Likewise.
-	* gdbarch.c, gdbarch.h: Regenerated.
+	* python/py-type.c (typy_array_1): Do not raise negative-length
+	exception if N2 is equal to N1 - 1.
 
-2014-01-06  Sasha Smundak  <asmundak@google.com>
+2015-01-03  Doug Evans  <xdje42@gmail.com>
 
-	* jit.c: (jit_reader_load_command): Fix JIT reader path creation.
+	* c-exp.y: Whitespace cleanup.
+	(classify_inner_name): Remove extra ;.
 
-2014-01-06  Tom Tromey  <tromey@redhat.com>
+2015-01-02  Maciej W. Rozycki  <macro@codesourcery.com>
 
-	* doublest.c (convert_doublest_to_floatformat): Use const, not
-	CONST.
-	* somread.c (som_symtab_read): Likewise.
+	* mips-tdep.c (mips32_scan_prologue): Keep the extracted stack
+	offset signed.
 
-2014-01-07  Hui Zhu  <hui@codesourcery.com>
+2015-01-02  Doug Evans  <dje@google.com>
 
-	* gdb_bfd.c (gdb_bfd_stash_filename): Removed.
-	(gdb_bfd_open): Removed gdb_bfd_stash_filename.
-	(gdb_bfd_fopen): Ditto.
-	(gdb_bfd_openr): Ditto.
-	(gdb_bfd_openw): Ditto.
-	(gdb_bfd_openr_iovec): Ditto.
-	(gdb_bfd_fdopenr): Ditto.
-	* gdb_bfd.h (gdb_bfd_stash_filename): Removed.
-	* solib-aix.c (solib_aix_bfd_open): Alloc object_bfd->filename
-	with xstrdup.
-	* solib-darwin.c (darwin_bfd_open): Alloc res->filename
-	with xstrdup.
-	* symfile-mem.c (symbol_file_add_from_memory): Removed
-	gdb_bfd_stash_filename.
+	* dwarf2read.c (setup_type_unit_groups): Remove outdated comment.
 
-2014-01-03  Doug Evans  <dje@google.com>
+2015-01-02  Doug Evans  <dje@google.com>
 
-	* nat/linux-waitpid.c (linux_debug): Remove extraneous \n from
-	output.
+	* symtab.h (struct symbol): Fix typo in comment.
 
-2014-01-01  Joel Brobecker  <brobecker@adacore.com>
+2015-01-01  Joel Brobecker  <brobecker@adacore.com>
 
 	Update year range in copyright notice of all files.
 
-2014-01-01  Joel Brobecker  <brobecker@adacore.com>
+2015-01-01  Joel Brobecker  <brobecker@adacore.com>
 
-	* top.c (print_gdb_version): Set copyright year to 2014.
+	* top.c (print_gdb_version): Update copyright year to 2015.
 
-2014-01-01  Joel Brobecker  <brobecker@adacore.com>
+2015-01-01  Joel Brobecker  <brobecker@adacore.com>
 
-	* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2013.
+	* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2014.
 
-For older changes see ChangeLog-2013.
+For older changes see ChangeLog-2014.
 
 Local Variables:
 mode: change-log
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ChangeLog-2014 ./gdb/ChangeLog-2014
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ChangeLog-2014	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/ChangeLog-2014	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,16660 @@
+2014-12-31  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Document removal of "dll-symbols", "add-shared-symbol-files"
+	and "assf" commands.
+
+2014-12-30  Joel Brobecker  <brobecker@adacore.com>
+
+	* windows-nat.c (safe_symbol_file_add_stub)
+	(safe_symbol_file_add_cleanup, safe_symbol_file_add)
+	(dll_symbol_command): Delete.
+	(_initialize_windows_nat): Delete local variable "c".
+	Remove "dll-symbols", "add-shared-symbol-files" and assf"
+	commands.
+
+2014-12-29  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* arm-tdep.c (arm_gdbarch_init): Remove casts in Tag_ABI_VFP_args switch
+	case statements.
+
+2014-12-29  Anthony Green  <green@moxielogic.com>
+
+	* configure.tgt: Add support for moxiebox target.
+
+2014-12-27  Anthony Green  <green@moxielogic.com>
+
+	* moxie-tdep.c (moxie_software_single_step): ldo/sto instructions
+	are 32 bits, not 48.  Update comments for various instructions.
+	(moxie_process_record): Update for new shorter ldo/sto
+	instructions.  Add support for sex, zex, umul.x and mul.x
+	instructions.  Update comments for various instructions.
+
+2014-12-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* arm-tdep.c (arm_gdbarch_init): Explicitly handle value 3 of
+	Tag_ABI_VFP_args. Also replace hardcoded values by enum values in the
+	switch handling the different values of Tag_ABI_VFP_args.
+
+2014-12-23  Doug Evans  <xdje42@gmail.com>
+
+	* ada-lang.c (user_select_syms): Only fetch symtab if symbol is
+	objfile-owned.
+	(cache_symbol): Ignore symbols that are not objfile-owned.
+	* block.c (block_objfile): New function.
+	(block_gdbarch): New function.
+	* block.h (block_objfile): Declare.
+	(block_gdbarch): Declare.
+	* c-exp.y (classify_name): Remove call to
+	language_lookup_primitive_type.  No longer necessary.
+	* gdbtypes.c (lookup_typename): Call lookup_symbol_in_language.
+	Remove call to language_lookup_primitive_type.  No longer necessary.
+	* guile/scm-symbol.c (syscm_gdbarch_data_key): New static global.
+	(syscm_gdbarch_data): New struct.
+	(syscm_init_arch_symbols): New function.
+	(syscm_get_symbol_map): Renamed from syscm_objfile_symbol_map.
+	All callers updated.  Handle symbols owned by arches.
+	(gdbscm_symbol_symtab): Handle symbols owned by arches.
+	(gdbscm_initialize_symbols): Initialize syscm_gdbarch_data_key.
+	* language.c (language_lookup_primitive_type_1): New function.
+	(language_lookup_primitive_type): Call it.
+	(language_alloc_type_symbol): New function.
+	(language_init_primitive_type_symbols): New function.
+	(language_lookup_primitive_type_as_symbol): New function.
+	* language.h (struct language_arch_info) <primitive_type_symbols>:
+	New member.
+	(language_lookup_primitive_type): Add function comment.
+	(language_lookup_primitive_type_as_symbol): Declare.
+	* printcmd.c (address_info): Handle arch-owned symbols.
+	* python/py-symbol.c (sympy_get_symtab): Ditto.
+	(set_symbol): Ditto.
+	(sympy_dealloc): Ditto.
+	* symmisc.c (print_symbol): Ditto.
+	* symtab.c (fixup_symbol_section): Ditto.
+	(lookup_symbol_aux): Initialize block_found.
+	(basic_lookup_symbol_nonlocal): Try looking up the symbol as a
+	primitive type.
+	(initialize_objfile_symbol_1): New function.
+	(initialize_objfile_symbol): Call it.
+	(allocate_symbol): Call it.
+	(allocate_template_symbol): Call it.
+	(symbol_objfile): Assert symbol is objfile-owned.
+	(symbol_arch, symbol_symtab, symbol_set_symtab): Ditto.
+	* symtab.h (struct symbol) <owner>: Replaces member "symtab".
+	(struct symbol) <is_objfile_owned>: New member.
+	(SYMBOL_OBJFILE_OWNED): New macro.
+	* cp-namespace.c (cp_lookup_bare_symbol): New arg langdef.
+	All callers updated.  Try to find the symbol as a primitive type.
+	(lookup_namespace_scope): New arg langdef.  All callers updated.
+	Call cp_lookup_bare_symbol directly for simple bare symbols.
+
+2014-12-23  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.h (SYMBOL_DOMAIN_BITS): New macro.
+	(struct symbol) <domain>: Use it.
+
+2014-12-23  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (initialize_objfile_symbol): Renamed from initialize_symbol.
+	All callers updated.
+
+2014-12-23  Doug Evans  <xdje42@gmail.com>
+
+	* language.h (struct language_defn) <la_lookup_symbol_nonlocal>:
+	New arg language_defn.  All uses updated.
+
+2014-12-23  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.h (SYMBOL_SYMTAB): Delete
+	(SYMBOL_OBJFILE): Delete.
+	(symbol_symtab, symbol_set_symtab): Declare.
+	(symbol_objfile, symbol_arch): Declare.
+	* symtab.c (symbol_symtab): Replaces SYMBOL_SYMTAB.  All uses updated.
+	All references to symbol->symtab redirected through here.
+	(symbol_set_symtab): New function.  All assignments to SYMBOL_SYMTAB
+	redirected through here.
+	(symbol_arch): New function.
+	(symbol_objfile): New function.  Replaces SYMBOL_OBJFILE.
+	All uses updated.
+	* cp-namespace.c (cp_lookup_symbol_imports_or_template): Call
+	symbol_arch.
+	* findvar.c (default_read_var_value): Call symbol_arch.
+	* guile/scm-frame.c (gdbscm_frame_block): Call symbol_objfile.
+	* jv-lang.c (add_class_symtab_symbol): Call symbol_arch.
+	* printcmd.c (address_info): Call symbol_arch.
+	* tracepoint.c (scope_info): Call symbol_arch.
+
+2014-12-22  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_symbol_via_all_imports): New function.
+	(cp_lookup_symbol_namespace): Call it.
+	(cp_lookup_symbol_nonlocal): Ditto.
+
+2014-12-22  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_symbol_via_imports): New arg
+	"search_scope_first".  All callers updated.
+
+2014-12-22  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_nested_symbol_1): New function.
+	(cp_basic_lookup_symbol): Renamed from lookup_symbol_file.  Delete
+	arg "search".  All callers updated.
+	(cp_lookup_bare_symbol): New function.
+	(cp_search_static_and_baseclasses): New function.
+	(cp_lookup_symbol_in_namespace): Rewrite, move more logic here.
+	(find_symbol_in_baseclass): Simplify, call cp_lookup_nested_symbol_1.
+	(cp_lookup_nested_symbol): Ditto.
+
+2014-12-22  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_symbol_in_namespace): Simplify.
+
+2014-12-22  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c: Whitespace cleanup.
+
+2014-12-20  Keith Seitz  <keiths@redhat.com>
+	    Mihail-Marian Nistor  <mihail.nistor@freescale.com>
+
+	PR gdb/17394
+	* linespec.c (struct collect_minsyms): Add new member `symtab'.
+	(add_minsym): Handle cases where info.symtab is non-NULL.
+	(search_minsyms_for_name): Add new parameter `symtab'.
+	Handle limiting searches to a specific symtab.
+	(add_matching_symtabs_to_info): Search through minimal symbols
+	for language_asm files for which no new symbols are found.
+
+2014-12-19  Maciej W. Rozycki  <macro@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+	    Chris Dearman  <chris@mips.com>
+	    Luis Machado  <lgustavo@codesourcery.com>
+
+	* Makefile.in (ALL_TARGET_OBS): Add mips-sde-tdep.o.
+	(ALLDEPFILES): Add mips-sde-tdep.c.
+	* mips-sde-tdep.c: New file containg SDE specific code.
+	* configure.tgt (mips*-sde*-elf*): Add mips-sde-dep.o to
+	gdb_target_obs.
+	* defs.h (gdb_osabi): Add GDB_OSABI_SDE.
+	* osabi.c (gdb_osabi_names): Add SDE.
+	* NEWS: Mention the change.
+
+2014-12-18  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* elfread.c (elf_symfile_init): Remove stale comment.
+	(elf_symfile_read): Same.
+	* symfile.h (struct sym_fns): Same.
+
+2014-12-18  Nigel Stephens  <nigel@mips.com>
+	    Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* mips-tdep.c (print_fpu_flags): New function.
+	(mips_print_float_info): Likewise.
+	(mips_gdbarch_init): Install mips_print_float_info as gdbarch
+	print_float_info routine.
+
+2014-12-18  Yao Qi  <yao@codesourcery.com>
+
+	* gdbarch.sh (print_float_info): Change its type from 'M' to 'm'.
+	* gdbarch.c: Re-generated.
+	* gdbarch.h: Likewise.
+	* infcmd.c (default_print_float_info): New function.
+	(print_float_info): Removed.  Move code to
+	default_print_float_info.
+	(float_info): Adjust to call gdbarch_print_float_info.
+	* inferior.h (default_print_float_info): Declare it.
+
+2014-12-18  Yao Qi  <yao@codesourcery.com>
+
+	* h8300-tdep.c (h8300_print_float_info): Remove.
+	(h8300_gdbarch_init): Remove the call to
+	set_gdbarch_print_float_info.
+
+2014-12-18  Doug Evans  <xdje42@gmail.com>
+
+	* infcmd.c (jump_command): Minor simplification.
+
+2014-12-18  Doug Evans  <xdje42@gmail.com>
+
+	* language.c (language_lookup_primitive_type): Renamed from
+	language_lookup_primitive_type_by_name.  All callers updated.
+
+2014-12-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix MinGW compilation.
+	* compile/compile.c (get_compile_file_tempdir): Call error if
+	!HAVE_MKDTEMP.
+	* config.in: Regenerate.
+	* configure: Regenerate.
+	* configure.ac (AC_CHECK_FUNCS): Add mkdtemp.
+
+2014-12-17  Doug Evans  <xdje42@gmail.com>
+
+	* valops.c (value_maybe_namespace_elt): Remove redundant call to
+	lookup_static_symbol.
+
+2014-12-17  Doug Evans  <xdje42@gmail.com>
+
+	New parameter "debug symbol-lookup".
+	* NEWS: Mention it.
+	* cp-namespace.c (cp_lookup_symbol_imports_or_template): Add debug
+	output.
+	(cp_lookup_symbol_namespace, cp_lookup_symbol_nonlocal): Ditto.
+	(cp_lookup_nested_symbol): Ditto.
+	* language.c (language_lookup_primitive_type_by_name): Add debug
+	output.
+	* minsyms.c (lookup_minimal_symbol): Add debug output.
+	* objfiles.c (objfile_debug_name): Moved here, and renamed ...
+	* symfile-debug.c (debug_objfile_name): ... from here.  All callers
+	updated.
+	* objfiles.h (objfile_debug_name): Declare.
+	* symtab.h (symbol_lookup_debug): Declare.
+	* symtab.c (symbol_lookup_debug): New global.
+	(lookup_language_this): Add debug output.
+	(lookup_symbol_aux, lookup_symbol_in_block): Ditto.
+	(lookup_symbol_in_objfile_symtabs, lookup_symbol_via_quick_fns): Ditto.
+	(lookup_symbol_in_static_block, lookup_symbol_in_objfile): Ditto.
+	(_initialize_symtab): Add new parameter "debug symbol-lookup".
+
+2014-12-16  Doug Evans  <xdje42@gmail.com>
+
+	* buildsym.c: Add comments describing how the buildsym machinery
+	is used by the various file formats.
+	(really_free_pendings): Enhance function comment.
+	See pending_macros to NULL.  Simplify resetting pending_addrmap.
+	Call free_buildsym_compunit.
+	(free_buildsym_compunit): Set current_subfile to NULL.
+	(prepare_for_building): New function.
+	(start_symtab): Call it.  Remove call to set_last_source_file.
+	(restart_symtab): New arg "cust".  All callers updated.
+	Simplify, call prepare_for_building.  Re-initialize buildsym_compunit.
+	(reset_symtab_globals): Enhance function comment.
+	Set local_symbols, file_symbols, global_symbols to NULL.
+	Set pending_macros to NULL.  Simplify resetting pending_addrmap.
+	Call free_buildysym_compunit.
+	(end_symtab_without_blockvector): Delete.  All callers updated.
+	(end_symtab_with_blockvector): Remove redundant call to
+	free_buildsym_compunit.
+	(augment_type_symtab): Remove arg "cust".  All callers updated.
+	(buildsym_init): Remove resetting of free_pendings, file_symbols,
+	global_symbols, pending_blocks, pending_macros.  Instead make
+	handling consistent with pending_addrmap: Assert value was reset
+	at end of previous symtab building.  Initialize context_stack here.
+
+2014-12-16  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_symbol_via_imports): Renamed from
+	cp_lookup_symbol_imports.  All callers updated.
+
+2014-12-16  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_find_type_baseclass_by_name): Renamed from
+	find_type_baseclass_by_name.  All callers updated.
+
+2014-12-16  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.h (struct symbol_search) <symtab>: Delete.  All uses updated.
+	* symtab.c (compare_search_syms): Use SYMBOL_SYMTAB accessor.
+	(print_symbol_info): Delete arg symtab.  All callers updated.
+	(symtab_symbol_info): Use SYMBOL_SYMTAB accessor.
+
+2014-12-16  Andreas Arnez  <arnez@vnet.linux.ibm.com>
+
+	* user-regs.c (maintenance_print_user_registers): Swap "Nr" and
+	"Name" columns.  Assure that the output is always indented.
+
+2014-12-16  Joel Brobecker  <brobecker@adacore.com>
+
+	* nat/linux-ptrace.h (PTRACE_O_EXITKILL): Define if not
+	already defined.
+	(linux_enable_event_reporting): Add parameter "attached".
+	* nat/linux-ptrace.c (linux_test_for_exitkill): New forward
+	declaration.  New function.
+	(linux_check_ptrace_features): Add linux_test_for_exitkill call.
+	(linux_enable_event_reporting): Add new parameter "attached".
+	Do not call ptrace with the PTRACE_O_EXITKILL if ATTACHED is
+	nonzero.
+	* linux-nat.c (linux_init_ptrace): Add parameter "attached".
+	Use it.  Update function description.
+	(linux_child_post_attach, linux_child_post_startup_inferior):
+	Update call to linux_enable_event_reporting.
+
+2014-12-16  Yao Qi  <yao@codesourcery.com>
+
+	* NEWS: Move some entries to "Changes since GDB 7.8" section.
+
+2014-12-16  Yao Qi  <yao@codesourcery.com>
+
+	* linux-tdep.c (linux_infcall_mmap): Replace ARG_MAX with
+	ARG_LAST.
+
+2014-12-15  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* inferior.c (find_inferior_ptid): New function.
+	* inferior.h (find_inferior_ptid): New declaration.
+	* ada-tasks.c (ada_get_task_number): Use find_inferior_ptid.
+	* corelow.c (core_pid_to_str): Same.
+	* darwin-nat.c (darwin_resume): Same.
+	* infrun.c (fetch_inferior_event): Same.
+	(get_inferior_stop_soon): Same.
+	(handle_inferior_event): Same.
+	(handle_signal_stop): Same.
+	* linux-nat.c (resume_lwp): Same.
+	(stop_wait_callback): Same.
+	* mi/mi-interp.c (mi_new_thread): Same.
+	(mi_thread_exit): Same.
+	* proc-service.c (ps_pglobal_lookup): Same.
+	* record-btrace.c (record_btrace_step_thread): Same.
+	* remote-sim.c (gdbsim_close_inferior): Same.
+	(gdbsim_resume): Same.
+	(gdbsim_stop): Same.
+	* sol2-tdep.c (sol2_core_pid_to_str): Same.
+	* target.c (memory_xfer_partial_1): Same.
+	(default_thread_address_space): Same.
+	* thread.c (thread_change_ptid): Same.
+	(switch_to_thread): Same.
+	(do_restore_current_thread_cleanup): Same.
+
+2014-12-15  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* defs.h (gdb_readline): Constify argument.
+	(gdb_readline_wrapper): Same.
+	(command_line_input): Same.
+	(deprecated_readline_hook): Same.
+	* top.c (deprecated_readline_hook): Same.
+	(gdb_readline): Same.
+	(gdb_readline_wrapper): Same.
+	(command_line_input): Constify argument. Pass prompt_arg to called
+	functions instead of local_prompt, overwriting prompt_arg if necessary.
+	* event-top.h (display_gdb_prompt): Constify argument.
+	* event-top.c (display_gdb_prompt): Same.
+	* python/py-gdb-readline.c (gdbpy_readline_wrapper): Constify argument
+	if building with Python 3.4 and up.
+
+2014-12-15  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* python/lib/gdb/prompt.py (_prompt_pwd): Use os.getcwd() instead of
+	os.getcwdu().
+
+2014-12-15  Catalin Udma  <catalin.udma@freescale.com>
+
+	PR gdb/15684
+	* memattr.c (mem_info_command): Remove "unsigned long" casts.
+
+2014-12-13  Doug Evans  <xdje42@gmail.com>
+
+	* utils.c (make_hex_string): Fix off-by-one error.
+
+2014-12-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.h (ada_ensure_varsize_limit): Declare.
+	* ada-lang.c (check_size): Remove advance declaration.
+	(ada_ensure_varsize_limit): Renames check_size.
+	Replace calls to check_size by calls to ada_ensure_varsize_limit
+	throughout.
+	* ada-valprint.c (ada_val_print_ref): Add call to
+	ada_ensure_varsize_limit.  Add comment explaining why.
+
+2014-12-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* utils.c (make_hex_string): Replace use of sprintf by use of
+	xsnprintf.
+
+2014-12-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* compile/compile-object-load.c (link_callbacks_multiple_definition)
+	(link_callbacks_warning, link_callbacks_einfo): Remove trailing
+	newline at end of warning message.
+
+2014-12-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* acx_configure_dir.m4 (ACX_CONFIGURE_DIR): Add support for
+	new "EXTRA-ARGS" parameter.
+	* configure.ac: If large-file support is disabled in GDB,
+	pass --disable-largefile to ACX_CONFIGURE_DIR call for "gnulib".
+	* configure: Regenerate.
+
+2014-12-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR symtab/17642
+	* gdbtypes.c (resolve_dynamic_type_internal): Apply check_typedef to
+	TYPE if not TYPE_CODE_TYPEDEF.
+
+2014-12-13  Joel Brobecker  <brobecker@adacore.com>
+
+	PR backtrace/16215:
+	* dwarf2-frame.c (dwarf2_frame_cfa): Remove the restriction
+	the frame unwinder must either be the dwarf2_frame_unwind
+	or the dwarf2_tailcall_frame_unwind.  Verify that this_frame's
+	stack_addr is valid before calling get_frame_base.  Throw
+	an error if not valid.
+
+2014-12-12  Doug Evans  <xdje42@gmail.com>
+
+	* valops.c (value_maybe_namespace_elt): Remove unnecessary test of
+	result != NULL.
+
+2014-12-12  Doug Evans  <xdje42@gmail.com>
+
+	* cp-support.h (cp_is_in_anonymous): Renamed from cp_is_anonymous.
+	All callers updated.  Rename arg "namespace" to "symbol_name".
+
+2014-12-12  Doug Evans  <xdje42@gmail.com>
+
+	* psymtab.c (psym_map_symtabs_matching_filename): Renamed from
+	partial_map_symtabs_matching_filename.  All uses updated.
+	(psym_find_pc_sect_compunit_symtab): Renamed from
+	find_pc_sect_compunit_symtab_from_partial.  All uses updated.
+	Add function comment.
+	(psym_lookup_symbol): Renamed from lookup_symbol_aux_psymtabs.
+	All uses updated.  Add function comment.
+	(psym_relocate): Renamed from relocate_psymtabs.  All uses updated.
+	Add function comment.
+	(psym_find_last_source_symtab): Renamed from
+	find_last_source_symtab_from_partial.  All uses updated.
+	Add function comment.
+	(psym_forget_cached_source_info): Renamed from
+	forget_cached_source_info_partial.  All uses updated.
+	Add function comment.
+	(psym_print_stats): Renamed from print_psymtab_stats_for_objfile.
+	All uses updated.  Add function comment.
+	(psym_dump): Renamed from dump_psymtabs_for_objfile.  All uses
+	updated.  Add function comment.
+	(psym_expand_symtabs_for_function): Renamed from
+	read_symtabs_for_function.  All uses updated.  Update function comment.
+	(psym_expand_all_symtabs): Renamed from expand_partial_symbol_tables.
+	All uses updated.  Add function comment.
+	(psym_expand_symtabs_with_fullname): Renamed from
+	read_psymtabs_with_fullname.  All uses updated.  Add function comment.
+	(psym_map_symbol_filenames): Renamed from map_symbol_filenames_psymtab.
+	All uses updated.  Add function comment.
+	(psym_map_matching_symbols): Renamed from map_matching_symbols_psymtab.
+	All uses updated.
+	(psym_expand_symtabs_matching): Renamed from
+	expand_symtabs_matching_via_partial.  All uses updated.
+	Add function comment.
+	(psym_has_symbols): Renamed from objfile_has_psyms.  All uses updated.
+	Add function comment.
+
+2014-12-12  Phil Muldoon  <pmuldoon@redhat.com>
+	    Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* NEWS: Update.
+	* symtab.h (struct symbol_computed_ops) <generate_c_location>: New
+	field.
+	* p-lang.c (pascal_language_defn): Update.
+	* opencl-lang.c (opencl_language_defn): Update.
+	* objc-lang.c (objc_language_defn): Update.
+	* m2-lang.c (m2_language_defn): Update.
+	* language.h (struct language_defn) <la_get_compile_instance,
+	la_compute_program>: New fields.
+	* language.c (unknown_language_defn, auto_language_defn)
+	(local_language_defn): Update.
+	* jv-lang.c (java_language_defn): Update.
+	* go-lang.c (go_language_defn): Update.
+	* f-lang.c (f_language_defn): Update.
+	* dwarf2loc.h (dwarf2_compile_property_to_c): Declare.
+	* dwarf2loc.c (dwarf2_compile_property_to_c)
+	(locexpr_generate_c_location, loclist_generate_c_location): New
+	functions.
+	(dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Update.
+	* defs.h (enum compile_i_scope_types): New.
+	(enum command_control_type) <compile_control>: New constant.
+	(struct command_line) <control_u>: New field.
+	* d-lang.c (d_language_defn): Update.
+	* compile/compile.c: New file.
+	* compile/compile-c-support.c: New file.
+	* compile/compile-c-symbols.c: New file.
+	* compile/compile-c-types.c: New file.
+	* compile/compile.h: New file.
+	* compile/compile-internal.h: New file.
+	* compile/compile-loc2c.c: New file.
+	* compile/compile-object-load.c: New file.
+	* compile/compile-object-load.h: New file.
+	* compile/compile-object-run.c: New file.
+	* compile/compile-object-run.h: New file.
+	* cli/cli-script.c (multi_line_command_p, print_command_lines)
+	(execute_control_command, process_next_line)
+	(recurse_read_control_structure): Handle compile_control.
+	* c-lang.h (c_get_compile_context, c_compute_program): Declare.
+	* c-lang.c (c_language_defn, cplus_language_defn)
+	(asm_language_defn, minimal_language_defn): Update.
+	* ada-lang.c (ada_language_defn): Update.
+	* Makefile.in (SUBDIR_GCC_COMPILE_OBS, SUBDIR_GCC_COMPILE_SRCS):
+	New variables.
+	(SFILES): Add SUBDIR_GCC_COMPILE_SRCS.
+	(HFILES_NO_SRCDIR): Add compile.h.
+	(COMMON_OBS): Add SUBDIR_GCC_COMPILE_OBS.
+	(INIT_FILES): Add SUBDIR_GCC_COMPILE_SRCS.
+	(compile.o, compile-c-types.o, compile-c-symbols.o)
+	(compile-object-load.o, compile-object-run.o, compile-loc2c.o)
+	(compile-c-support.o): New targets.
+
+2014-12-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* s390-linux-tdep.c (s390_gcc_target_options): New function.
+	(s390_gdbarch_init): Add it to gdbarch.
+
+2014-12-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* linux-tdep.c: Include objfiles.h and infcall.h.
+	(GDB_MMAP_MAP_PRIVATE, GDB_MMAP_MAP_ANONYMOUS, linux_infcall_mmap): New
+	function.
+	(linux_init_abi): Add linux_infcall_mmap to gdbarch.
+
+2014-12-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* dwarf2loc.h (dwarf2_reg_to_regnum_or_error): Declare.
+	* dwarf2loc.c (dwarf2_reg_to_regnum_or_error): Rename from
+	translate_register.  Now public.
+	(dwarf2_compile_expr_to_ax): Update.
+
+2014-12-12  Tom Tromey  <tromey@redhat.com>
+	    Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* dwarf2loc.c (dwarf_expr_frame_base_1): Remove declaration.
+	(dwarf_expr_frame_base): Update caller.
+	(dwarf_expr_frame_base_1): Rename to ...
+	(func_get_frame_base_dwarf_block): ... this and make it public.
+	(dwarf2_compile_expr_to_ax, locexpr_describe_location_piece): Update
+	callers.
+	* dwarf2loc.h (func_get_frame_base_dwarf_block): New declaration.
+
+2014-12-12  Tom Tromey  <tromey@redhat.com>
+
+	* dwarf2loc.c (dwarf2_compile_expr_to_ax) <DW_OP_call_frame_cfa>:
+	Update.
+	* dwarf2-frame.c (dwarf2_fetch_cfa_info): New function, based on
+	dwarf2_compile_cfa_to_ax.
+	(dwarf2_compile_cfa_to_ax): Remove.
+	* dwarf2-frame.h (dwarf2_fetch_cfa_info): Declare.
+	(dwarf2_compile_cfa_to_ax): Remove.
+
+2014-12-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* infcall.h (call_function_by_hand_dummy): Declare.
+	* infcall.c (call_function_by_hand): Use
+	call_function_by_hand_dummy.
+	(call_function_by_hand_dummy): Rename from call_function_by_hand.
+	Add arguments.  Register a destructor.
+
+2014-12-12  Tom Tromey  <tromey@redhat.com>
+	    Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* osabi.h (osabi_triplet_regexp): Declare.
+	* osabi.c (struct osabi_names): New.
+	(gdb_osabi_names): Change type to struct osabi_names.  Update
+	values.
+	(gdbarch_osabi_name): Update.
+	(osabi_triplet_regexp): New function.
+	(osabi_from_tdesc_string, _initialize_gdb_osabi): Update.
+	* i386-tdep.c (i386_gnu_triplet_regexp): New method.
+	(i386_elf_init_abi, i386_go32_init_abi, i386_gdbarch_init): Call
+	set_gdbarch_gnu_triplet_regexp.
+	* gdbarch.sh (gnu_triplet_regexp): New method.
+	* gdbarch.c, gdbarch.h: Rebuild.
+	* arch-utils.h (default_gnu_triplet_regexp): Declare.
+	* arch-utils.c (default_gnu_triplet_regexp): New function.
+
+2014-12-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* arch-utils.c (default_infcall_mmap)
+	(default_gcc_target_options): New functions.
+	* arch-utils.h (GDB_MMAP_PROT_READ, GDB_MMAP_PROT_WRITE)
+	(GDB_MMAP_PROT_EXEC): Define.
+	(default_infcall_mmap, default_gcc_target_options): Declare.
+	* gdbarch.h: Rebuild.
+	* gdbarch.c: Rebuild.
+	* gdbarch.sh (infcall_mmap, gcc_target_options): New methods.
+
+2014-12-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* dummy-frame.c (struct dummy_frame) <dtor, dtor_data>: New
+	fields.
+	(pop_dummy_frame): Call the destructor if it exists.
+	(register_dummy_frame_dtor, find_dummy_frame_dtor): New
+	functions.
+	* dummy-frame.h (dummy_frame_dtor_ftype): New typedef.
+	(register_dummy_frame_dtor, find_dummy_frame_dtor): Declare.
+
+2014-12-12  Tom Tromey  <tromey@redhat.com>
+
+	* gdbtypes.h (make_unqualified_type): Declare.
+	* gdbtypes.c (make_unqualified_type): New function.
+
+2014-12-12  Tom Tromey  <tromey@redhat.com>
+
+	* ui-file.h (ui_file_write_for_put): Declare.
+	* ui-file.c (ui_file_write_for_put): New function.
+	* mi/mi-out.c (do_write): Remove.
+	(mi_out_put): Use ui_file_write_for_put.
+
+2014-12-12  Doug Evans  <dje@google.com>
+
+	* NEWS: Mention gdb.lookup_objfile.
+	* python/python.c (GdbMethods): Add lookup_objfile.
+	* python/python-internal.h (gdbpy_lookup_objfile): Declare.
+	* python/py-objfile.c: #include "symtab.h".
+	(objfpy_build_id_ok, objfpy_build_id_matches): New functions.
+	(objfpy_lookup_objfile_by_name): New function.
+	(objfpy_lookup_objfile_by_build_id): New function.
+	(gdbpy_lookup_objfile): New function.
+
+2014-12-12  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* mips-tdep.h (MSYMBOL_TARGET_FLAG_MIPS16): New macro.
+	(MSYMBOL_TARGET_FLAG_MICROMIPS): Likewise.
+	* mips-tdep.c (mips_elf_make_msymbol_special): Use the new
+	macros.
+	(msymbol_is_mips, msymbol_is_mips16, msymbol_is_micromips):
+	Likewise.
+
+2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* completer.c: Include "target.h", "reggroups.h", and
+	"user-regs.h".
+	(reg_or_group_completer): New.
+	* completer.h (reg_or_group_completer): Declare.
+	* infcmd.c (_initialize_infcmd): Set reg_or_group_completer for
+	the "info registers" and "info all-registers" commands and the
+	dbx-mode "lr" command.
+
+2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* user-regs.c: Include "arch-utils.h", "command.h", and
+	"cli/cli-cmds.h".
+	(maintenance_print_user_registers): New.
+	(_initialize_user_regs): Register new "maint print user-registers"
+	subcommand.
+	* NEWS: Mention new GDB command "maint print user-registers".
+
+2014-12-12  Maciej W. Rozycki  <macro@codesourcery.com>
+            Maciej W. Rozycki  <macro@mips.com>
+            Pedro Alves  <pedro@codesourcery.com>
+
+	* gdbarch.sh (elf_make_msymbol_special): Change type to `F',
+	remove `predefault' and `invalid_p' initializers.
+	(make_symbol_special): New architecture method.
+	(adjust_dwarf2_addr, adjust_dwarf2_line): Likewise.
+	(objfile, symbol): New declarations.
+	* arch-utils.h (default_elf_make_msymbol_special): Remove
+	prototype.
+	(default_make_symbol_special): New prototype.
+	(default_adjust_dwarf2_addr): Likewise.
+	(default_adjust_dwarf2_line): Likewise.
+	* mips-tdep.h (mips_unmake_compact_addr): New prototype.
+	* arch-utils.c (default_elf_make_msymbol_special): Remove
+	function.
+	(default_make_symbol_special): New function.
+	(default_adjust_dwarf2_addr): Likewise.
+	(default_adjust_dwarf2_line): Likewise.
+	* dwarf2-frame.c (decode_frame_entry_1): Call
+	`gdbarch_adjust_dwarf2_addr'.
+	* dwarf2loc.c (dwarf2_find_location_expression): Likewise.
+	* dwarf2read.c (create_addrmap_from_index): Likewise.
+	(process_psymtab_comp_unit_reader): Likewise.
+	(add_partial_symbol): Likewise.
+	(add_partial_subprogram): Likewise.
+	(process_full_comp_unit): Likewise.
+	(read_file_scope): Likewise.
+	(read_func_scope): Likewise.  Call `gdbarch_make_symbol_special'.
+	(read_lexical_block_scope): Call `gdbarch_adjust_dwarf2_addr'.
+	(read_call_site_scope): Likewise.
+	(dwarf2_ranges_read): Likewise.
+	(dwarf2_record_block_ranges): Likewise.
+	(read_attribute_value): Likewise.
+	(dwarf_decode_lines_1): Call `gdbarch_adjust_dwarf2_line'.
+	(new_symbol_full): Call `gdbarch_adjust_dwarf2_addr'.
+	* elfread.c (elf_symtab_read): Don't call
+	`gdbarch_elf_make_msymbol_special' if unset.
+	* mips-linux-tdep.c (micromips_linux_sigframe_validate): Strip
+	the ISA bit from the PC.
+	* mips-tdep.c (mips_unmake_compact_addr): New function.
+	(mips_elf_make_msymbol_special): Set the ISA bit in the symbol's
+	address appropriately.
+	(mips_make_symbol_special): New function.
+	(mips_pc_is_mips): Set the ISA bit before symbol lookup.
+	(mips_pc_is_mips16): Likewise.
+	(mips_pc_is_micromips): Likewise.
+	(mips_pc_isa): Likewise.
+	(mips_adjust_dwarf2_addr): New function.
+	(mips_adjust_dwarf2_line): Likewise.
+	(mips_read_pc, mips_unwind_pc): Keep the ISA bit.
+	(mips_addr_bits_remove): Likewise.
+	(mips_skip_trampoline_code): Likewise.
+	(mips_write_pc): Don't set the ISA bit.
+	(mips_eabi_push_dummy_call): Likewise.
+	(mips_o64_push_dummy_call): Likewise.
+	(mips_gdbarch_init): Install `mips_make_symbol_special',
+	`mips_adjust_dwarf2_addr' and `mips_adjust_dwarf2_line' gdbarch
+	handlers.
+	* solib.c (gdb_bfd_lookup_symbol_from_symtab): Get
+	target-specific symbol address adjustments.
+	* gdbarch.h: Regenerate.
+	* gdbarch.c: Regenerate.
+
+2014-12-12  Yao Qi  <yao@codesourcery.com>
+
+	PR tdep/14261
+	* arm-tdep.c (arm_skip_prologue): Remove unused local variable
+	'skip_pc'.  Remove code skipping prologue instructions, use
+	arm_analyze_prologue instead.
+	(arm_analyze_prologue): Stop the scanning for unrecognized
+	instruction when skipping prologue.
+
+2014-12-12  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (arm_instruction_restores_sp): New function.
+	(arm_analyze_prologue): Call arm_instruction_restores_sp.
+	(arm_in_function_epilogue_p): Move code to
+	arm_instruction_restores_sp.
+
+2014-12-11  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_nested_symbol): Fix comments.
+
+2014-12-11  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (lookup_symbol_in_objfile_symtabs): Delete forward decl.
+	(symbol *lookup_symbol_via_quick_fns): Ditto.
+	(lookup_symbol_in_objfile): Add forward decl.
+	(lookup_global_symbol_from_objfile): Simplify, call
+	lookup_symbol_in_objfile.
+
+2014-12-11  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (domain_name) <MODULE_DOMAIN>: Add missing case.
+
+2014-12-10  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR breakpoints/17012
+	* breakpoint.c (remove_breakpoints_pid): Skip removing breakpoint if
+	it is marked as persistent.
+
+2014-12-10  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_symbol_nonlocal): Move definition,
+	closer to its subroutines.
+
+2014-12-10  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (lookup_symbol_file): Move next to only caller.
+
+2014-12-10  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_symbol_imports): Make static.
+	* cp-support.h (cp_lookup_symbol_imports): Delete.
+
+2014-12-10  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR gdb/17627
+	* target.c (cleanup_restore_target_terminal): New function.
+	(make_cleanup_restore_target_terminal): New function.
+	* target.h (make_cleanup_restore_target_terminal): New declaration.
+	* mi/mi-interp.c (mi_thread_exit): Use the new cleanup.
+
+2014-12-08  Doug Evans  <dje@google.com>
+
+	* python/py-objfile.c (objfpy_get_owner): Increment refcount of result.
+
+2014-12-08  Doug Evans  <dje@google.com>
+
+	* NEWS: Mention gdb.Objfile.owner.
+	* python/py-objfile.c (objfpy_get_owner): New function.
+	(objfile_getset): Add "owner".
+
+2014-12-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* symtab.c (lookup_symbol_in_objfile_symtabs): New declaration.
+	(lookup_global_symbol_from_objfile): Call it.
+
+2014-12-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Remove const from struct objfile *.
+	* solib-darwin.c, solib-spu.c, solib-svr4.c, solib.c, solist.h,
+	symtab.c, symtab.h: In these files.
+
+2014-12-05  Andreas From  <andreas.from@ericsson.com>
+
+	* MAINTAINERS (Write After Approval): Add "Andreas From"
+
+2014-12-05  Doug Evans  <xdje42@gmail.com>
+
+	Revert:
+	PR symtab/17602
+	* linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp.
+
+2014-12-04  Doug Evans  <dje@google.com>
+
+	* NEWS: Mention gdb.Objfile.add_separate_debug_file.
+	* python/py-objfile.c (objfpy_add_separate_debug_file): New function.
+	(objfile_getset): Add "add_separate_debug_file".
+
+2014-12-04  Doug Evans  <dje@google.com>
+
+	* NEWS: Mention gdb.Objfile.build_id.
+	* build-id.c (build_id_bfd_get): Make non-static.
+	* build-id.h (build_id_bfd_get): Add declaration.
+	* python/py-objfile.c: #include "build-id.h", "elf-bfd.h".
+	(OBJFPY_REQUIRE_VALID): New macro.
+	(objfpy_get_build_id): New function.
+	(objfile_getset): Add "build_id".
+	* utils.c (make_hex_string): New function.
+	* utils.h (make_hex_string): Add declaration.
+
+2014-12-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* block.c (block_lookup_symbol_primary): New function.
+	* block.h (block_lookup_symbol_primary): New declaration.
+	* symtab.c (lookup_symbol_in_objfile_symtabs): Assert BLOCK_INDEX.
+	Call block_lookup_symbol_primary.
+
+2014-12-03  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* tramp-frame.h (tramp_frame): Add `validate' member.
+	* tramp-frame.c (tramp_frame_start): Validate trampoline before
+	scanning.
+	* mips-linux-tdep.c (MICROMIPS_INST_LI_V0): New macro.
+	(MICROMIPS_INST_POOL32A, MICROMIPS_INST_SYSCALL): Likewise.
+	(mips_linux_o32_sigframe): Initialize `validate' member.
+	(mips_linux_o32_rt_sigframe): Likewise.
+	(mips_linux_n32_rt_sigframe): Likewise.
+	(mips_linux_n64_rt_sigframe): Likewise.
+	(micromips_linux_o32_sigframe): New variable.
+	(micromips_linux_o32_rt_sigframe): Likewise.
+	(micromips_linux_n32_rt_sigframe): Likewise.
+	(micromips_linux_n64_rt_sigframe): Likewise.
+	(mips_linux_o32_sigframe_init): Handle microMIPS trampolines.
+	(mips_linux_n32n64_sigframe_init): Likewise.
+	(mips_linux_sigframe_validate): New function.
+	(micromips_linux_sigframe_validate): Likewise.
+	(mips_linux_init_abi): Install microMIPS trampoline unwinders.
+
+2014-12-03  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* config/sparc/sol2.mh (NATDEPFILES): Remove core-regset.o.
+	* sparc-sol2-tdep.c: Include "regset.h".
+	(sparc32_sol2_supply_core_gregset): New function.
+	(sparc32_sol2_collect_core_gregset): Likewise.
+	(sparc32_sol2_supply_core_fpregset): Likewise.
+	(sparc32_sol2_collect_core_fpregset): Likewise.
+	(sparc32_sol2_gregset, sparc32_sol2_fpregset): New variables.
+	(sparc32_sol2_init_abi): Set tdep->gregset/sizeof_gregset and
+	tdep->fpregset/sizeof_fpregset.
+	* sparc64-sol2-tdep.c: Include "regset.h".
+	(sparc64_sol2_supply_core_gregset): New function.
+	(sparc64_sol2_collect_core_gregset): Likewise.
+	(sparc64_sol2_supply_core_fpregset): Likewise.
+	(sparc64_sol2_collect_core_fpregset): Likewise.
+	(sparc64_sol2_gregset, sparc64_sol2_fpregset): New variables.
+	(sparc64_sol2_init_abi): Set tdep->gregset/sizeof_gregset and
+	tdep->fpregset/sizeof_fpregset.
+
+2014-12-03  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* common/cleanups.c (make_cleanup_dtor): Use typedef for dtor
+	type.
+
+2014-12-02  Doug Evans  <dje@google.com>
+
+	* symtab.c (symbol_init_cplus_specific): Delete.
+	(symbol_set_demangled_name): Remove special c++ support.
+	(symbol_get_demangled_name, symbol_set_language): Ditto.
+	* symtab.h (struct cplus_specific): Delete.
+	(struct general_symbol_info) <language_specific>: Remove
+	cplus_specific.
+
+2014-12-02  Doug Evans  <dje@google.com>
+
+	PR symtab/17602
+	* linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp.
+
+2014-12-02  Doug Evans  <dje@google.com>
+
+	PR symtab/17591
+	* dwarf2read.c (find_slot_in_mapped_hash): Use cp_remove_params
+	to strip parameters.
+
+2014-12-02  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (peek_die_abbrev): Improve error message text.
+
+2014-12-02  Doug Evans  <dje@google.com>
+
+	* valops.c (do_search_struct_field): Remove remnant of Chill support.
+	Ref: commit 4c2260aa5c261f7bfb26dcf3aa7c67876720b17e
+
+2014-12-02  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* common/cleanups.c (make_cleanup_dtor): Fix comment typo.
+
+2014-12-02  Nick Bull  <nicholaspbull@gmail.com>
+
+	* NEWS: Mention new Python events.
+	* Makefile.in (SUBDIR_PYTHON_OBS): Add py-infevents.o.
+	(SUBDIR_PYTHON_SRCS): Add py-infevents.c.
+	(py-infevents.o): New rule.
+	* doc/observer.texi (inferior_call_pre, inferior_call_post)
+	(memory_changed, register_changed): New observers.
+	* infcall.c (call_function_by_hand): Notify observer before and
+	after inferior call.
+	* python/py-event.h (inferior_call_kind): New enum.
+	(emit_inferior_call_event): New prototype.
+	(emit_register_changed_event): New prototype.
+	(emit_memory_changed_event): New prototype.
+	* python/py-events.h (events_object): New registries
+	inferior_call, memory_changed and register_changed.
+	* python/py-evts.c (gdbpy_initialize_py_events): Add the
+	inferior_call, memory_changed and register_changed registries.
+	* python/py-infevents.c: New.
+	* python/py-inferior.c (python_on_inferior_call_pre)
+	(python_on_inferior_call_post, python_on_register_change)
+	(python_on_memory_change): New functions.
+	(gdbpy_initialize_inferior): Attach python handler to new
+	observers.
+	* python/py-infthread.c(gdbpy_create_ptid_object): New.
+	(thpy_get_ptid) Use gdbpy_create_ptid_object.
+	* python/python-internal.h:
+	(gdbpy_create_ptid_object)
+	(gdbpy_initialize_inferior_call_pre_event)
+	(gdbpy_initialize_inferior_call_post_event)
+	(gdbpy_initialize_register_changed_event)
+	(gdbpy_initialize_memory_changed_event): New prototypes.
+	* python/python.c (_initialize_python): Initialize new events.
+	* valops.c (value_assign): Notify register_changed observer.
+
+2014-12-02  Doug Evans  <dje@google.com>
+
+	* python/py-infthread.c: Whitespace fixes.
+
+2014-12-02  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* features/Makefile (s390-te-linux64-expedite): Replace
+	non-existant r14 and r15 by r14l and r15l, respectively.
+	* regformats/s390-te-linux64.dat: Regenerate.
+
+2014-12-01  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* objfiles.c (allocate_objfile): Remove duplicate comment.
+
+2014-12-01  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* config/i386/i386gnu.mh (NATDEPFILES): Remove core-regset.o.
+	* i386gnu-nat.c: Do not include <sys/procfs.h> or "gregset.h".
+	(CREG_OFFSET, creg_offset, CREG_ADDR): Remove.
+	(supply_gregset, supply_fpregset): Remove.
+	* i386gnu-tdep.c (i386gnu_gregset_reg_offset): New variable.
+	(i386gnu_init_abi): Set tdep->gregset_reg_offset, gregset_num_regs,
+	and sizeof_gregset.
+
+2014-11-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Add add-auto-load-scripts-directory.
+	* NEWS (Changes since GDB 7.8): Add add-auto-load-scripts-directory.
+	* auto-load.c (add_auto_load_dir): New function.
+	(_initialize_auto_load): Install it.
+
+2014-11-30  Martin Galvan  <martin.galvan@tallertechnologies.com>  (tiny patch, obvious)
+
+	Pushed by Joel Brobecker  <brobecker@adacore.com>.
+	* frame.c (frame_id_eq): Fix the check for FID_STACK_INVALID.
+
+2014-11-29  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* eval.c (evaluate_subexp): Check that the thread stack	temporaries
+	are not already enabled before enabling them.
+
+2014-11-29  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (arm_analyze_prologue): Move local variables
+	'framereg' and 'framesize' to inner block.  Move code to
+	inner block too.
+
+2014-11-28  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* eval.c: Include gdbthread.h.
+	(evaluate_subexp): Enable thread stack temporaries before
+	evaluating a complete expression and clean them up after the
+	evaluation is complete.
+	* gdbthread.h: Include common/vec.h.
+	(value_ptr): New typedef.
+	(VEC (value_ptr)): New vector type.
+	(value_vec): New typedef.
+	(struct thread_info): Add new fields stack_temporaries_enabled
+	and stack_temporaries.
+	(enable_thread_stack_temporaries)
+	(thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
+	(get_last_thread_stack_temporary)
+	(value_in_thread_stack_temporaries): Declare.
+	* gdbtypes.c (class_or_union_p): New function.
+	* gdbtypes.h (class_or_union_p): Declare.
+	* infcall.c (call_function_by_hand): Store return values of class
+	type as	temporaries on stack.
+	* thread.c (enable_thread_stack_temporaries): New function.
+	(thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
+	(get_last_thread_stack_temporary): Likewise.
+	(value_in_thread_stack_temporaries): Likewise.
+	* value.c (value_force_lval): New function.
+	* value.h (value_force_lval): Declare.
+
+2014-11-28  Pierre Muller  <muller@sourceware.org>
+
+	Pushed by Joel Brobecker  <brobecker@adacore.com>.
+	* amd64-tdep.c (amd64_dwarf_regmap array): Add missing MMX
+	registers.
+
+2014-11-28  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* config/ia64/linux.mh (NATDEPFILES): Remove core-regset.o.
+	* config/sparc/linux.mh (NATDEPFILES): Likewise.
+	* config/sparc/linux64.mh (NATDEPFILES): Likewise.
+	* m68klinux-nat.c (fetch_core_registers): Remove.
+	(linux_elf_core_fns): Remove.
+	(_initialize_m68k_linux_nat): Do not call deprecated_add_core_fns.
+
+2014-11-28  Joel Brobecker  <brobecker@adacore.com>
+
+	* utils.c (gdb_realpath): Rework comment about handling on
+	Windows.
+
+2014-11-28  Yao Qi  <yao@codesourcery.com>
+
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
+	rename.
+	* gnulib/aclocal.m4: Re-generated.
+	* gnulib/config.in: Re-generated.
+	* gnulib/configure: Re-generated.
+	* gnulib/import/Makefile.am: Re-generated.
+	* gnulib/import/Makefile.in: Re-generated.
+	* gnulib/import/m4/gnulib-cache.m4: Re-generated.
+	* gnulib/import/m4/gnulib-comp.m4: Re-generated.
+	* import/basename-lgpl.c: New file.
+	* import/dirname-lgpl.c: New file.
+	* import/dirname.h: New file.
+	* import/m4/dirname.m4: New file.
+	* import/m4/malloc.m4: New file.
+	* import/m4/rename.m4: New file.
+	* import/m4/rmdir.m4: New file.
+	* import/m4/stdio_h.m4: New file.
+	* import/malloc.c: New file.
+	* import/rename.c: New file.
+	* import/rmdir.c: New file.
+	* import/same-inode.h: New file.
+	* import/stdio.c: New file.
+	* import/stdio.in.h: New file.
+	* import/stripslash.c: New file.
+
+2014-11-28  Yao Qi  <yao@codesourcery.com>
+
+	* configure.ac (AC_CHECK_FUNCS): Remove canonicalize_file_name
+	and realpath.
+	* config.in: Re-generated.
+	* configure: Re-generated.
+	* utils.c (gdb_realpath): Remove code calling realpath,
+	canonicalize_file_name and pathconf.
+	[!_WIN32]: Call canonicalize_file_name.
+
+2014-11-28  Yao Qi  <yao@codesourcery.com>
+
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
+	canonicalize-lgpl.
+	* aclocal.m4: Re-generated.
+	* config.in: Re-generated.
+	* configure: Re-generated.
+	* import/Makefile.am: Re-generated.
+	* import/Makefile.in: Re-generated.
+	* import/m4/gnulib-cache.m4: Re-generated.
+	* import/m4/gnulib-comp.m4: Re-generated.
+	* import/canonicalize-lgpl.c: New file.
+	* import/extra/snippet/_Noreturn.h: New file.
+	* import/m4/canonicalize.m4: New file.
+	* import/m4/double-slash-root.m4: New file.
+	* import/m4/eealloc.m4: New file.
+	* import/m4/malloca.m4: New file.
+	* import/m4/nocrash.m4: New file.
+	* import/m4/stdlib_h.m4: New file.
+	* import/malloca.c: New file.
+	* import/malloca.h: New file.
+	* import/malloca.valgrind: New file.
+
+2014-11-28  Yao Qi  <yao@codesourcery.com>
+
+	* configure.ac (AC_CHECK_FUNCS): Remove lstat.
+	* config.in, configure: Regenerate.
+	* symfile.c (find_separate_debug_file_by_debuglink): Remove
+	code checking HAVE_LSTAT is defined.
+
+2014-11-28  Yao Qi  <yao@codesourcery.com>
+
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
+	lstat.
+	* gnulib/aclocal.m4: Re-generated.
+	* gnulib/config.in: Re-generated.
+	* gnulib/configure: Re-generated.
+	* gnulib/import/Makefile.am: Re-generated.
+	* gnulib/import/Makefile.in: Re-generated.
+	* gnulib/import/m4/gnulib-cache.m4: Re-generated.
+	* gnulib/import/m4/gnulib-comp.m4: Re-generated.
+	* gnulib/import/lstat.c: New file.
+	* gnulib/import/m4/lstat.m4: New file.
+
+2014-11-28  Yao Qi  <yao@codesourcery.com>
+
+	* configure.ac (AC_CHECK_FUNCS): Remove readlink.
+	* config.in, configure: Re-generate.
+	* inf-child.c (inf_child_fileio_readlink): Don't check
+	HAVE_READLINK is defined.
+
+2014-11-28  Yao Qi  <yao@codesourcery.com>
+
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add readlink.
+	* gnulib/aclocal.m4: Re-generated.
+	* gnulib/config.in: Likewise.
+	* gnulib/configure: Likewise.
+	* gnulib/import/Makefile.am: Likewise.
+	* gnulib/import/Makefile.in: Likewise.
+	* gnulib/import/m4/gnulib-cache.m4: Likewise.
+	* gnulib/import/m4/gnulib-comp.m4: Likewise.
+	* gnulib/import/dosname.h: New file
+	* gnulib/import/m4/largefile.m4: New file.
+	* gnulib/import/m4/readlink.m4: New file.
+	* gnulib/import/m4/stat.m4: New file.
+	* gnulib/import/readlink.c: New file.
+	* gnulib/import/stat.c: New file.
+
+2014-11-26  Mark Wielaard  <mjw@redhat.com>
+
+	* dwarf2read.c (set_cu_language): Recognize DW_LANG_C11,
+	DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14.
+
+2014-11-25  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2-tdep.c (nios2_analyze_prologue): Replace restriction
+	that there can be only one stack adjustment in the prologue
+	with tests to detect specific disallowed stack adjustments.
+
+2014-11-25  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2-tdep.c (nios2_in_epilogue_p): Handle multiple stack
+	adjustments.
+
+2014-11-25  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2-tdep.c (nios2_fetch_insn): Move up in file.  Disassemble
+	the instruction as well as reading it from memory.
+	(nios2_match_add): New.
+	(nios2_match_sub): New.
+	(nios2_match_addi): New.
+	(nios2_match_orhi): New.
+	(nios2_match_stw): New.
+	(nios2_match_ldw): New.
+	(nios2_match_rdctl): New.
+	(enum branch_condition): New.
+	(nios2_match_branch): New.
+	(nios2_match_jmpi): New.
+	(nios2_match_calli): New.
+	(nios2_match_jmpr): New.
+	(nios2_match_callr): New.
+	(nios2_match_break): New.
+	(nios2_match_trap): New.
+	(nios2_in_epilogue_p): Rewrite to use new functions.
+	(nios2_analyze_prologue): Likewise.
+	(nios2_skip_prologue): Delete unused local limit_pc.
+	(nios2_breakpoint_from_pc): Make R1-specific encodings explicit.
+	(nios2_get_next_pc): Rewrite to use new functions.
+
+2014-11-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdbtypes.c (resolve_dynamic_type_internal): Reindent the code.
+
+2014-11-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	Pushed by Joel Brobecker  <brobecker@adacore.com>
+	* gdb/gnu-nat.c (inf_validate_procinfo): Multiply the number of
+	elements pi_len by the size of the elements before calling
+	vm_deallocate.
+	(inf_validate_task_sc): Likewise, and properly deallocate the
+	noise array.
+
+2014-11-23  Doug Evans  <xdje42@gmail.com>
+
+	* gdbtypes.c (print_args): Renamed from print_arg_types.  Print arg
+	number and name if present.  All callers updated.
+	(dump_fn_fieldlists): Fix indentation of args.
+
+2014-11-23  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* MAINTAINERS (Write After Approval): Add myself.
+
+2014-11-23  Joel Brobecker  <brobecker@adacore.com>
+
+	* breakpoint.c (bp_loc_is_permanent): Return 0 if LOC corresponds
+	to a bp_call_dummy breakpoint type.
+
+2014-11-23  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* tui/tui-win.c (tui_initialize_win): Specify SA_RESTART when
+	registering the signal handler.
+
+2014-11-23  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* event-top.h (call_stdin_event_handler_again_p): Declare.
+	* event-top.c (call_stdin_event_handler_again_p): Define.
+	(stdin_event_handler): Use it.
+	* tui/tui-io.c (tui_getc): Prepare to call the stdin event
+	handler again if there is pending input following a
+	start sequence.
+
+2014-11-23  Patrick Palka  <patrick@parcs.ath.cx>
+
+	Pushed by Joel Brobecker  <brobecker@adacore.com>
+	* linux-fork.c (checkpoint_command): Print index of new
+	checkpoint in response message.
+
+2014-11-23  Yao Qi  <yao@codesourcery.com>
+
+	* valprint.c (read_string): Move local variables 'found_nul',
+	'chunksize' and 'limit' to inner scope.  Update comments.
+
+2014-11-22  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (lookup_symbol_in_objfile_from_linkage_name): Improve
+	function comment.
+	(search_symbols): Fix comments and whitespace.
+
+2014-11-22  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_symbol_nonlocal): Fix comment.
+
+2014-11-21  Doug Evans  <dje@google.com>
+
+	* psymtab.c (psymtab_search_name): Fix whitespace.
+
+2014-11-21  Yao Qi  <yao@codesourcery.com>
+
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
+	errno.
+	* gnulib/import/Makefile.am: Re-generated.
+	* gnulib/import/Makefile.in: Likewise.
+	* gnulib/import/m4/gnulib-cache.m4: Likewise.
+
+2014-11-21  Yao Qi  <yao@codesourcery.com>
+
+	* gdb_wchar.h: Include wchar.h and wctype.h.
+	[HAVE_ICONV && HAVE_BTOWC]: Don't check HAVE_WCHAR_T and don't
+	include wchar.h and wctype.h.
+	Don't check HAVE_WCHAR_H.
+
+2014-11-21  Yao Qi  <yao@codesourcery.com>
+
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add wchar
+	and wctype-h.
+	* gnulib/import/Makefile.am: Re-generated.
+	* gnulib/import/Makefile.in: Likewise.
+	* gnulib/import/m4/gnulib-cache.m4: Likewise.
+
+2014-11-21  Yao Qi  <yao@codesourcery.com>
+
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
+	memchr.
+	* gnulib/import/Makefile.am: Re-generated.
+	* gnulib/import/Makefile.in: Likewise.
+	* gnulib/import/m4/gnulib-cache.m4: Likewise.
+
+2014-11-21  Yao Qi  <yao@codesourcery.com>
+
+	* common/common-defs.h: Include alloca.h
+	* configure.ac: Don't invoke AC_FUNC_ALLOCA.
+	* configure: Re-generated.
+	* defs.h: Remove code handling alloca.
+	* utils.c (gdb_realpath): Don't check HAVE_ALLOCA is defined
+	or not.
+
+2014-11-21  Yao Qi  <yao@codesourcery.com>
+
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULE): Add
+	alloca.
+	* gnulib/import/Makefile.am: Re-generated.
+	* gnulib/import/Makefile.in: Likewise..
+	* gnulib/import/m4/gnulib-cache.m4: Likewise.
+
+2014-11-21  Yao Qi  <yao@codesourcery.com>
+
+	* gnulib/update-gnulib.sh: Make IMPORTED_GNULIB_MODULES in
+	alphabetical order.
+
+2014-11-21  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdbtypes.c (create_range_type): Unset RESULT_TYPE's
+	flag_unsigned if HIGH_BOUND is constant and negative.
+
+2014-11-20  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR breakpoints/10737
+	* xml-syscall.c (set_xml_syscall_file_name): Remove "const"
+	modifier from "struct gdbarch" when compiling without Expat (XML)
+	support.
+	(get_syscall_by_number): Likewise.
+	(get_syscall_by_name): Likewise.
+	(get_syscall_names): Likewise.
+
+2014-11-20  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR breakpoints/10737
+	* amd64-linux-tdep.c (amd64_linux_init_abi_common): Adjust call to
+	set_xml_syscall_file_name to provide gdbarch.
+	* arm-linux-tdep.c (arm_linux_init_abi): Likewise.
+	* bfin-linux-tdep.c (bfin_linux_init_abi): Likewise.
+	* breakpoint.c (print_it_catch_syscall): Adjust call to
+	get_syscall_by_number to provide gdbarch.
+	(print_one_catch_syscall): Likewise.
+	(print_mention_catch_syscall): Likewise.
+	(print_recreate_catch_syscall): Likewise.
+	(catch_syscall_split_args): Adjust calls to get_syscall_by_number
+	and get_syscall_by_name to provide gdbarch.
+	(catch_syscall_completer): Adjust call to get_syscall_names to
+	provide gdbarch.
+	* gdbarch.c: Regenerate.
+	* gdbarch.h: Likewise.
+	* gdbarch.sh: Forward declare "struct syscalls_info".
+	(xml_syscall_file): New variable.
+	(syscalls_info): Likewise.
+	* i386-linux-tdep.c (i386_linux_init_abi): Adjust call to
+	set_xml_syscall_file_name to provide gdbarch.
+	* mips-linux-tdep.c (mips_linux_init_abi): Likewise.
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Likewise.
+	* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
+	* sparc-linux-tdep.c (sparc32_linux_init_abi): Likewise.
+	* sparc64-linux-tdep.c (sparc64_linux_init_abi): Likewise.
+	* xml-syscall.c: Include gdbarch.h.
+	(set_xml_syscall_file_name): Accept gdbarch parameter.
+	(get_syscall_by_number): Likewise.
+	(get_syscall_by_name): Likewise.
+	(get_syscall_names): Likewise.
+	(my_gdb_datadir): Delete global variable.
+	(struct syscalls_info) <my_gdb_datadir>: New variable.
+	(struct syscalls_info) <sysinfo>: Rename variable to
+	"syscalls_info".
+	(sysinfo): Delete global variable.
+	(have_initialized_sysinfo): Likewise.
+	(xml_syscall_file): Likewise.
+	(sysinfo_free_syscalls_desc): Rename to...
+	(syscalls_info_free_syscalls_desc): ... this.
+	(free_syscalls_info): Rename "sysinfo" to "syscalls_info".  Adjust
+	code to the new layout of "struct syscalls_info".
+	(make_cleanup_free_syscalls_info): Rename parameter "sysinfo" to
+	"syscalls_info".
+	(syscall_create_syscall_desc): Likewise.
+	(syscall_start_syscall): Likewise.
+	(syscall_parse_xml): Likewise.
+	(xml_init_syscalls_info): Likewise.  Drop "const" from return value.
+	(init_sysinfo): Rename to...
+	(init_syscalls_info): ...this.  Add gdbarch as a parameter.
+	Adjust function to deal with gdbarch.
+	(xml_get_syscall_number): Delete parameter sysinfo.  Accept
+	gdbarch as a parameter.  Adjust code.
+	(xml_get_syscall_name): Likewise.
+	(xml_list_of_syscalls): Likewise.
+	(set_xml_syscall_file_name): Accept gdbarch as parameter.
+	(get_syscall_by_number): Likewise.
+	(get_syscall_by_name): Likewise.
+	(get_syscall_names): Likewise.
+	* xml-syscall.h (set_xml_syscall_file_name): Likewise.
+	(get_syscall_by_number): Likewise.
+	(get_syscall_by_name): Likewise.
+	(get_syscall_names): Likewise.
+
+2014-11-20  Doug Evans  <xdje42@gmail.com>
+
+	Split struct symtab into two: struct symtab and compunit_symtab.
+	* amd64-tdep.c (amd64_skip_xmm_prologue): Fetch producer from compunit.
+	* block.c (blockvector_for_pc_sect): Change "struct symtab *" argument
+	to "struct compunit_symtab *".  All callers updated.
+	(set_block_compunit_symtab): Renamed from set_block_symtab.  Change
+	"struct symtab *" argument to "struct compunit_symtab *".
+	All callers updated.
+	(get_block_compunit_symtab): Renamed from get_block_symtab.  Change
+	result to "struct compunit_symtab *".  All callers updated.
+	(find_iterator_compunit_symtab): Renamed from find_iterator_symtab.
+	Change result to "struct compunit_symtab *".  All callers updated.
+	* block.h (struct global_block) <compunit_symtab>: Renamed from symtab.
+	hange type to "struct compunit_symtab *".  All uses updated.
+	(struct block_iterator) <d.compunit_symtab>: Renamed from "d.symtab".
+	Change type to "struct compunit_symtab *".  All uses updated.
+	* buildsym.c (struct buildsym_compunit): New struct.
+	(subfiles, buildsym_compdir, buildsym_objfile, main_subfile): Delete.
+	(buildsym_compunit): New static global.
+	(finish_block_internal): Update to fetch objfile from
+	buildsym_compunit.
+	(make_blockvector): Delete objfile argument.
+	(start_subfile): Rewrite to use buildsym_compunit.  Don't initialize
+	debugformat, producer.
+	(start_buildsym_compunit): New function.
+	(free_buildsym_compunit): Renamed from free_subfiles_list.
+	All callers updated.
+	(patch_subfile_names): Rewrite to use buildsym_compunit.
+	(get_compunit_symtab): New function.
+	(get_macro_table): Delete argument comp_dir.  All callers updated.
+	(start_symtab): Change result to "struct compunit_symtab *".
+	All callers updated.  Create the subfile of the main source file.
+	(watch_main_source_file_lossage): Rewrite to use buildsym_compunit.
+	(reset_symtab_globals): Update.
+	(end_symtab_get_static_block): Update to use buildsym_compunit.
+	(end_symtab_without_blockvector): Rewrite.
+	(end_symtab_with_blockvector): Change result to
+	"struct compunit_symtab *".  All callers updated.
+	Update to use buildsym_compunit.  Don't set symtab->dirname,
+	instead set it in the compunit.
+	Explicitly make sure main symtab is first in its list.
+	Set debugformat, producer, blockvector, block_line_section, and
+	macrotable in the compunit.
+	(end_symtab_from_static_block): Change result to
+	"struct compunit_symtab *".  All callers updated.
+	(end_symtab, end_expandable_symtab): Ditto.
+	(set_missing_symtab): Change symtab argument to
+	"struct compunit_symtab *".  All callers updated.
+	(augment_type_symtab): Ditto.
+	(record_debugformat): Update to use buildsym_compunit.
+	(record_producer): Update to use buildsym_compunit.
+	* buildsym.h (struct subfile) <dirname>: Delete.
+	<producer, debugformat>: Delete.
+	<buildsym_compunit>: New member.
+	(get_compunit_symtab): Declare.
+	* dwarf2read.c (struct type_unit_group) <compunit_symtab>: Renamed
+	from primary_symtab.  Change type to "struct compunit_symtab *".
+	All uses updated.
+	(dwarf2_start_symtab): Change result to "struct compunit_symtab *".
+	All callers updated.
+	(dwarf_decode_macros): Delete comp_dir argument.  All callers updated.
+	(struct dwarf2_per_cu_quick_data) <compunit_symtab>: Renamed from
+	symtab.  Change type to "struct compunit_symtab *".  All uses updated.
+	(dw2_instantiate_symtab): Change result to "struct compunit_symtab *".
+	All callers updated.
+	(dw2_find_last_source_symtab): Ditto.
+	(dw2_lookup_symbol): Ditto.
+	(recursively_find_pc_sect_compunit_symtab): Renamed from
+	recursively_find_pc_sect_symtab.  Change result to
+	"struct compunit_symtab *".  All callers updated.
+	(dw2_find_pc_sect_compunit_symtab): Renamed from
+	dw2_find_pc_sect_symtab.  Change result to
+	"struct compunit_symtab *".  All callers updated.
+	(get_compunit_symtab): Renamed from get_symtab.  Change result to
+	"struct compunit_symtab *".  All callers updated.
+	(recursively_compute_inclusions): Change type of immediate_parent
+	argument to "struct compunit_symtab *".  All callers updated.
+	(compute_compunit_symtab_includes): Renamed from
+	compute_symtab_includes.  All callers updated.  Rewrite to compute
+	includes of compunit_symtabs and not symtabs.
+	(process_full_comp_unit): Update to work with struct compunit_symtab.
+	(process_full_type_unit): Ditto.
+	(dwarf_decode_lines_1): Delete argument comp_dir.  All callers updated.
+	(dwarf_decode_lines): Remove special case handling of main subfile.
+	(macro_start_file): Delete argument comp_dir.  All callers updated.
+	(dwarf_decode_macro_bytes): Ditto.
+	* guile/scm-block.c (bkscm_print_block_syms_progress_smob): Update to
+	use struct compunit_symtab.
+	* i386-tdep.c (i386_skip_prologue): Fetch producer from compunit.
+	* jit.c (finalize_symtab): Build compunit_symtab.
+	* jv-lang.c (get_java_class_symtab): Change result to
+	"struct compunit_symtab *".  All callers updated.
+	* macroscope.c (sal_macro_scope): Fetch macro table from compunit.
+	* macrotab.c (struct macro_table) <compunit_symtab>: Renamed from
+	comp_dir.  Change type to "struct compunit_symtab *".
+	All uses updated.
+	(new_macro_table): Change comp_dir argument to cust,
+	"struct compunit_symtab *".  All callers updated.
+	* maint.c (struct cmd_stats) <nr_compunit_symtabs>: Renamed from
+	nr_primary_symtabs.  All uses updated.
+	(count_symtabs_and_blocks): Update to handle compunits.
+	(report_command_stats): Update output, "primary symtabs" renamed to
+	"compunits".
+	* mdebugread.c (new_symtab): Change result to
+	"struct compunit_symtab *".  All callers updated.
+	(parse_procedure): Change type of search_symtab argument to
+	"struct compunit_symtab *".  All callers updated.
+	* objfiles.c (objfile_relocate1): Loop over blockvectors in a
+	separate loop.
+	* objfiles.h (struct objfile) <compunit_symtabs>: Renamed from
+	symtabs.  Change type to "struct compunit_symtab *".  All uses updated.
+	(ALL_OBJFILE_FILETABS): Renamed from ALL_OBJFILE_SYMTABS.
+	All uses updated.
+	(ALL_OBJFILE_COMPUNITS): Renamed from ALL_OBJFILE_PRIMARY_SYMTABS.
+	All uses updated.
+	(ALL_FILETABS): Renamed from ALL_SYMTABS.  All uses updated.
+	(ALL_COMPUNITS): Renamed from ALL_PRIMARY_SYMTABS.  All uses updated.
+	* psympriv.h (struct partial_symtab) <compunit_symtab>: Renamed from
+	symtab.  Change type to "struct compunit_symtab *".  All uses updated.
+	* psymtab.c (psymtab_to_symtab): Change result type to
+	"struct compunit_symtab *".  All callers updated.
+	(find_pc_sect_compunit_symtab_from_partial): Renamed from
+	find_pc_sect_symtab_from_partial.  Change result type to
+	"struct compunit_symtab *".  All callers updated.
+	(lookup_symbol_aux_psymtabs): Change result type to
+	"struct compunit_symtab *".  All callers updated.
+	(find_last_source_symtab_from_partial): Ditto.
+	* python/py-symtab.c (stpy_get_producer): Fetch producer from compunit.
+	* source.c (forget_cached_source_info_for_objfile): Fetch debugformat
+	and macro_table from compunit.
+	* symfile-debug.c (debug_qf_find_last_source_symtab): Change result
+	type to "struct compunit_symtab *".  All callers updated.
+	(debug_qf_lookup_symbol): Ditto.
+	(debug_qf_find_pc_sect_compunit_symtab): Renamed from
+	debug_qf_find_pc_sect_symtab, change result type to
+	"struct compunit_symtab *".  All callers updated.
+	* symfile.c (allocate_symtab): Delete objfile argument.
+	New argument cust.
+	(allocate_compunit_symtab): New function.
+	(add_compunit_symtab_to_objfile): New function.
+	* symfile.h (struct quick_symbol_functions) <lookup_symbol>:
+	Change result type to "struct compunit_symtab *".  All uses updated.
+	<find_pc_sect_compunit_symtab>: Renamed from find_pc_sect_symtab.
+	Change result type to "struct compunit_symtab *".  All uses updated.
+	* symmisc.c (print_objfile_statistics): Compute blockvector count in
+	separate loop.
+	(dump_symtab_1): Update test for primary source symtab.
+	(maintenance_info_symtabs): Update to handle compunit symtabs.
+	(maintenance_check_symtabs): Ditto.
+	* symtab.c (set_primary_symtab): Delete.
+	(compunit_primary_filetab): New function.
+	(compunit_language): New function.
+	(iterate_over_some_symtabs): Change type of arguments "first",
+	"after_last" to "struct compunit_symtab *".  All callers updated.
+	Update to loop over symtabs in each compunit.
+	(error_in_psymtab_expansion): Rename symtab argument to cust,
+	and change type to "struct compunit_symtab *".  All callers updated.
+	(find_pc_sect_compunit_symtab): Renamed from find_pc_sect_symtab.
+	Change result type to "struct compunit_symtab *".  All callers updated.
+	(find_pc_compunit_symtab): Renamed from find_pc_symtab.
+	Change result type to "struct compunit_symtab *".  All callers updated.
+	(find_pc_sect_line): Only loop over symtabs within selected compunit
+	instead of all symtabs in the objfile.
+	* symtab.h (struct symtab) <blockvector>: Moved to compunit_symtab.
+	<compunit_symtab> New member.
+	<block_line_section>: Moved to compunit_symtab.
+	<locations_valid>: Ditto.
+	<epilogue_unwind_valid>: Ditto.
+	<macro_table>: Ditto.
+	<dirname>: Ditto.
+	<debugformat>: Ditto.
+	<producer>: Ditto.
+	<objfile>: Ditto.
+	<call_site_htab>: Ditto.
+	<includes>: Ditto.
+	<user>: Ditto.
+	<primary>: Delete
+	(SYMTAB_COMPUNIT): New macro.
+	(SYMTAB_BLOCKVECTOR): Update definition.
+	(SYMTAB_OBJFILE): Update definition.
+	(SYMTAB_DIRNAME): Update definition.
+	(struct compunit_symtab): New type.  Common members among all source
+	symtabs within a compilation unit moved here.  All uses updated.
+	(COMPUNIT_OBJFILE): New macro.
+	(COMPUNIT_FILETABS): New macro.
+	(COMPUNIT_DEBUGFORMAT): New macro.
+	(COMPUNIT_PRODUCER): New macro.
+	(COMPUNIT_DIRNAME): New macro.
+	(COMPUNIT_BLOCKVECTOR): New macro.
+	(COMPUNIT_BLOCK_LINE_SECTION): New macro.
+	(COMPUNIT_LOCATIONS_VALID): New macro.
+	(COMPUNIT_EPILOGUE_UNWIND_VALID): New macro.
+	(COMPUNIT_CALL_SITE_HTAB): New macro.
+	(COMPUNIT_MACRO_TABLE): New macro.
+	(ALL_COMPUNIT_FILETABS): New macro.
+	(compunit_symtab_ptr): New typedef.
+	(DEF_VEC_P (compunit_symtab_ptr)): New vector type.
+
+2014-11-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_is_redundant_range_encoding): Return 0
+	if the TYPE_CODE of range_type's base type does not match
+	the TYPE_CODE of encoding_type's base type.
+
+2014-11-19  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_unqualified_name): Return DECODED_NAME if
+	it starts with '<'.
+
+2014-11-19  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_is_redundant_range_encoding): New function.
+	(ada_is_redundant_index_type_desc): New function.
+	(to_fixed_array_type): Ignore parallel XA type if redundant.
+
+2014-11-19  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (constrained_packed_array_type): Set the length
+	of the return array as if both bounds where zero if that
+	returned array's index type is dynamic.
+
+2014-11-19  Yao Qi  <yao@codesourcery.com>
+
+	* config/i386/go32.mh (CC): Remove.
+
+2014-11-18  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.h (SYMTAB_BLOCKVECTOR): Renamed from BLOCKVECTOR.  All uses
+	updated.
+
+2014-11-18  Doug Evans  <xdje42@gmail.com>
+
+	* buildsym.c (buildsym_objfile): New static global.
+	(buildsym_comp_dir): New static global.
+	(finish_block_internal): Delete arg objfile.  All callers updated.
+	(finish_block): Delete arg objfile.  All callers updated.
+	(start_subfile): Delete arg dirname.  All callers updated.
+	(patch_subfile_names): Update buildsym_comp_dir.
+	(get_macro_table): Delete arg objfile.  All callers updated.
+	(start_symtab): New arg objfile.  All callers updated.
+	Rename arg dirname to comp_dir.
+	(reset_symtab_globals): Initialize buildsym_objfile, buildsym_comp_dir.
+	(end_symtab_get_static_block): Delete arg objfile.  All callers
+	updated.
+	(end_symtab_without_blockvector): Ditto.
+	(end_symtab_with_blockvector): Ditto.
+	(end_symtab_from_static_block): Ditto.
+	(end_symtab): Ditto.
+	(end_expandable_symtab): Ditto.
+	(augment_type_symtab): Ditto.
+	* coffread.c (coff_start_symtab): New arg objfile.  All callers
+	updated.
+
+2014-11-18  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.h (SYMTAB_LINETABLE): Renamed from LINETABLE.  All uses
+	updated.
+
+2014-11-18  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.h (SYMTAB_DIRNAME): New macro.  All uses of member
+	symtab.dirname updated to use it.
+
+2014-11-18  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.h (SYMTAB_OBJFILE): New macro.  All uses of member
+	symtab.objfile updated to use it.
+
+2014-11-18  Doug Evans  <xdje42@gmail.com>
+
+	* buildsym.c (watch_main_source_file_lossage): Fix memory leak.
+
+2014-11-18  Doug Evans  <xdje42@gmail.com>
+
+	* cp-namespace.c (cp_lookup_symbol_imports_or_template): Use
+	SYMBOL_OBJFILE.
+	* findvar.c (default_read_var_value): Ditto.
+	* jv-lang.c (add_class_symtab_symbol): Ditto.
+	* parse.c (operator_check_standard): Ditto.
+	* printcmd.c (address_info): Ditto.
+	* symtab.c (fixup_symbol_section): Ditto.
+	(skip_prologue_sal): Ditto.
+	* tracepoint.c (scope_info): Ditto.
+	* valops.c (find_function_in_inferior): Ditto.
+	* guile/scm-symbol.c (syscm_eq_symbol_smob): Ditto.
+	* python/py-symbol.c (set_symbol): Ditto.
+
+2014-11-18  Doug Evans  <xdje42@gmail.com>
+
+	* buildsym.c (main_subfile): New static global.
+	(free_subfiles_list): New function.
+	(start_symtab): Set main_subfile.
+	(restart_symtab): Replace init of subfiles, current_subfile with
+	call to free_subfiles_list.
+	(watch_main_source_file_lossage): Use main_subfile.
+	(reset_symtab_globals): Replace init of current_subfile with call
+	to free_subfiles_list.
+	(end_symtab_without_blockvector, end_symtab_with_blockvector): New
+	functions, split out from ...
+	(end_symtab_from_static_block): ... here.  Rewrite to call them.
+
+2014-11-18  Doug Evans  <xdje42@gmail.com>
+
+	The result of symtab expansion is always a primary symtab.
+	* dwarf2read.c (dw2_instantiate_symtab): Add assert.
+	(dw2_lookup_symbol): Remove unnecessary test for primary symbol table.
+	* psymtab.c (lookup_symbol_aux_psymtabs): Ditto.
+	(psymtab_to_symtab): Add comment and assert.
+	(map_matching_symbols_psymtab): Remove unnecessary test for
+	non-primary symtab.
+
+2014-11-15  Doug Evans  <xdje42@gmail.com>
+
+	PR symtab/17559
+	* symtab.c (find_pc_line_symtab): New function.
+	* symtab.h (find_pc_line_symtab): Declare.
+	* disasm.c (gdb_disassembly): Call find_pc_line_symtab instead of
+	find_pc_symtab.
+	* tui/tui-disasm.c (tui_set_disassem_content): Ditto.
+	* tui/tui-hooks.c (tui_selected_frame_level_changed_hook): Ditto.
+	* tui/tui-source.c (tui_vertical_source_scroll): Ditto.
+	* tui/tui-win.c (make_visible_with_new_height): Ditto.
+	* tui/tui-winsource.c (tui_horizontal_source_scroll): Ditto.
+	(tui_display_main): Call find_pc_line_symtab instead of find_pc_line.
+
+2014-11-15  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (expand_symtab_containing_pc): Renamed from
+	find_pc_sect_symtab_via_partial.  All callers updated.
+
+2014-11-15  Yao Qi  <yao@codesourcery.com>
+
+	* go32-nat.c (go32_create_inferior): Add missing parenthesis.
+
+2014-11-14  Joel Brobecker  <brobecker@adacore.com>
+
+	* common/common-defs.h: Move <stdarg.h> #include ahead of
+	<stdio.h> #include.
+
+2014-11-14  Pedro Alves  <palves@redhat.com>
+
+	* charset.c [PHONY_ICONV && !EILSEQ] (EILSEQ): Don't define.
+	[!PHONY_ICONV] (gdb_iconv): New function.
+	[!PHONY_ICONV] (iconv): Redefine to gdb_iconv.
+
+2014-11-13  Doug Evans  <dje@google.com>
+
+	PR symtab/17591
+	* dwarf2read.c (find_slot_in_mapped_hash): Handle
+	"(anonymous namespace)".
+
+2014-11-13  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (update_enumeration_type_from_children): Avoid
+	infinite loop.
+
+2014-11-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* NEWS (maint set target-async): Fix typo.
+
+2014-11-12  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (enum infwait_states, infwait_state): Delete.
+
+2014-11-12  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (resume): Clear the thread's 'stepped_breakpoint' flag.
+	Rewrite stepping over a permanent breakpoint.
+	(thread_still_needs_step_over, proceed): Don't set
+	stepping_over_breakpoint for permanent breakpoints.
+	(handle_signal_stop): Don't clear stepped_breakpoint.  Also pull
+	single-step breakpoints out of the target on hardware step
+	targets.
+	(process_event_stop_test): If stepping a permanent breakpoint
+	doesn't hit the step-resume breakpoint, delete the step-resume
+	breakpoint.
+	(switch_back_to_stepped_thread): Also check if the stepped thread
+	has advanced already on hardware step targets.
+	(currently_stepping): Return true if the thread stepped a
+	breakpoint.
+
+2014-11-12  Pedro Alves  <palves@redhat.com>
+
+	Mark locations as permanent, not the whole breakpoint.
+	* breakpoint.c (remove_breakpoint_1, remove_breakpoint): Adjust.
+	(mark_breakpoints_out): Don't mark permanent breakpoints as
+	uninserted.
+	(breakpoint_init_inferior): Use mark_breakpoints_out.
+	(breakpoint_here_p): Adjust.
+	(bpstat_stop_status, describe_other_breakpoints): Remove handling
+	of permanent breakpoints.
+	(make_breakpoint_permanent): Mark each location as permanent,
+	instead of marking the breakpoint.
+	(add_location_to_breakpoint): If the location is permanent, mark
+	it as such, and as inserted.
+	(init_breakpoint_sal): Don't make the breakpoint permanent here.
+	(bp_location_compare, update_global_location_list): Adjust.
+	(update_breakpoint_locations): Don't make the breakpoint permanent
+	here.
+	(disable_breakpoint, enable_breakpoint_disp): Don't skip permanent
+	breakpoints.
+	* breakpoint.h (enum enable_state) <bp_permanent>: Delete field.
+	(struct bp_location) <permanent>: New field.
+	* guile/scm-breakpoint.c (bpscm_enable_state_to_string): Remove
+	reference to bp_permanent.
+
+2014-11-12  Pedro Alves  <palves@redhat.com>
+
+	* arch-utils.c (default_skip_permanent_breakpoint): New function.
+	* arch-utils.h (default_skip_permanent_breakpoint): New
+	declaration.
+	* gdbarch.sh (skip_permanent_breakpoint): Now an 'f' function.
+	Install default_skip_permanent_breakpoint as default method.
+	* i386-tdep.c (i386_skip_permanent_breakpoint): Delete function.
+	(i386_gdbarch_init): Don't install it.
+	* infrun.c (resume): Assume there's always a
+	gdbarch_skip_permanent_breakpoint implementation.
+	* gdbarch.h, gdbarch.c: Regenerate.
+
+2014-11-11  Daniel Colascione  <dancol@dancol.org>
+
+	Warn about cross-PID-namespace debugging.
+	* nat/linux-procfs.h (linux_proc_pid_get_ns): New prototype.
+	* nat/linux-procfs.c (linux_proc_pid_get_ns): New function.
+	* linux-thread-db.c (check_pid_namespace_match): New function.
+	(thread_db_inferior_created): Call it.
+
+2014-11-10  Doug Evans  <xdje42@gmail.com>
+
+	* symmisc.c (print_objfile_statistics): Remove trailing whitespace.
+	(maintenance_info_symtabs, maintenance_check_symtabs): Ditto.
+
+2014-11-10  Doug Evans  <xdje42@gmail.com>
+
+	* source.c (select_source_symtab): Rewrite to use ALL_SYMTABS.
+
+2014-11-10  Doug Evans  <xdje42@gmail.com>
+
+	PR symtab/17564
+	* symtab.c (lookup_symbol_in_all_objfiles): Delete.
+	(lookup_static_symbol): Move definition to new location and rewrite.
+	(lookup_symbol_in_objfile): New function.
+	(lookup_symbol_global_iterator_cb): Call it.
+
+2014-11-10  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* eval.c (evaluate_subexp_standard): Work around GCC bug 63748.
+
+2014-11-07  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (process_event_stop_test) <subroutine check>: Don't
+	check if we did a "nexti" inside a prologue.
+	* symtab.c (in_prologue): Delete function.
+	* symtab.h (in_prologue): Delete declaration.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.h (lookup_global_symbol): Improve function comment.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (lookup_global_symbol): Renamed from lookup_symbol_global.
+	All callers updated.
+	* symtab.h (lookup_global_symbol): Update decl.
+	(lookup_static_symbol): Move decl to better location.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (basic_lookup_symbol_nonlocal): Add comment.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (lookup_local_symbol): Renamed from lookup_symbol_aux_local.
+	All callers updated.
+	(lookup_symbol_in_all_objfiles): Renamed from
+	lookup_symbol_aux_symtabs.  All callers updated.
+	(lookup_symbol_via_quick_fns): Renamed from lookup_symbol_aux_quick.
+	All callers updated.
+	(lookup_symbol_in_objfile_symtabs): Renamed from
+	lookup_symbol_aux_objfile.  All callers updated.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (lookup_symbol_in_block): Renamed from
+	lookup_symbol_aux_block.  All callers updated.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (lookup_static_symbol): Renamed from
+	lookup_static_symbol_aux.  All callers updated.
+	(lookup_symbol_in_static_block): Renamed from lookup_symbol_static.
+	All callers updated.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* block.h (ALL_BLOCK_SYMBOLS_WITH_NAME): New macro.
+	* block.c (block_lookup_symbol): Use it.
+	* cp-support.c (make_symbol_overload_list_block): Use it.
+	* symtab.c (iterate_over_symbols): Use it.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (lookup_block_symbol): Moved to ...
+	* block.c (block_lookup_symbol):  ... here and renamed.
+	All callers updated.
+	* block.h (block_lookup_symbol): Declare.
+	* symtab.h (lookup_block_symbol): Delete.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* ada-lang.c (ada_make_symbol_completion_list): Use
+	ALL_PRIMARY_SYMTABS instead of ALL_SYMTABS.
+	* symtab.c (lookup_objfile_from_block): Ditto.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* gdbtypes.h (TYPE_CODE_CLASS): Delete.  All uses changed to use
+	TYPE_CODE_STRUCT.
+
+2014-11-06  Doug Evans  <xdje42@gmail.com>
+
+	* objfiles.c (get_objfile_arch): Constify.
+	* objfiles.h (get_objfile_arch): Update prototype.
+	* solib.c (solib_global_lookup): Fetch arch from objfile,
+	not target_gdbarch.
+
+2014-11-06  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2-tdep.c (wild_insn): Delete.
+	(profiler_insn, irqentry_insn): Delete.
+	(nios2_match_sequence): Delete.
+	(nios2_analyze_prologue): Update comments.  Remove matching
+	of obsolete profiler_insn and irqentry_insn sequences.
+
+2014-11-05  Alan Modra  <amodra@gmail.com>
+
+	* charset.c (convert_between_encodings): Shrink obstack using
+	obstack_blank_fast.
+	* minsyms.c (install_minimal_symbols): Likewise.
+	* cp-valprint.c (cp_print_value_fields): Cast obstack_next_free
+	to char* before doing pointer arithmetic.
+
+2014-11-04  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* tui/tui.c (tui_enable): Pass stdout and stdin to newterm.
+
+2014-11-04  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (breakpoint_thread_match): Delete function.
+	* breakpoint.h (breakpoint_thread_match): Delete declaration.
+
+2014-11-03  Siva Chandra Reddy  <sivachandra@google.com>
+
+	PR c++/17494
+	* eval.c (evaluate_subexp_standard): Evaluate the "object" and
+	the method args also under EVAL_SKIP when evaluating method
+	calls under EVAL_SKIP.
+
+2014-11-02  Victor Kamensky  <victor.kamensky@linaro.org>
+
+	* dwarf2loc.c (read_pieced_value): Do big endian
+	processing only if gdb_regnum is not -1.
+	(write_pieced_value): Ditto.
+
+2014-11-02  Victor Kamensky  <victor.kamensky@linaro.org>
+
+	* arm-linux-tdep.c (arm_linux_init_abi): Use
+	info.byte_order_for_code to choose endianity of breakpoint
+	instructions snippets.
+
+2014-11-02  Victor Kamensky  <victor.kamensky@linaro.org>
+
+	* arm-tdep.c (extract_arm_insn): Use
+	gdbarch_byte_order_for_code to read arm instruction.
+
+2014-11-02  Doug Evans  <xdje42@gmail.com>
+
+	* mdebugread.c (parse_procedure): Delete unnecessary forward decl.
+
+2014-11-02  Doug Evans  <xdje42@gmail.com>
+
+	* xcoffread.c (process_linenos): Delete unnecessary zeroing of
+	main_subfile before returning.
+
+2014-10-31  Doug Evans  <xdje42@gmail.com>
+
+	* objfiles.h (ALL_PSPACE_OBJFILES_SAFE): Delete, unused.
+	(ALL_PSPACE_SYMTABS, ALL_PSPACE_PRIMARY_SYMTABS): Ditto.
+
+2014-10-31  Doug Evans  <xdje42@gmail.com>
+
+	* valops.c (value_cast_pointers): Fix whitespace.
+	(typecmp, search_struct_method, value_struct_elt, find_oload_champ):
+	Ditto.
+
+2014-10-30  Doug Evans  <dje@google.com>
+
+	* NEWS: Mention ability add attributes to gdb.Objfile and
+	gdb.Progspace objects.
+	* python/py-objfile.c (objfile_object): New member dict.
+	(objfpy_dealloc): Py_XDECREF dict.
+	(objfpy_initialize): Initialize dict.
+	(objfile_getset): Add __dict__.
+	(objfile_object_type): Set tp_dictoffset member.
+	* python/py-progspace.c (progspace_object): New member dict.
+	(pspy_dealloc): Py_XDECREF dict.
+	(pspy_initialize): Initialize dict.
+	(pspace_getset): Add __dict__.
+	(pspace_object_type): Set tp_dictoffset member.
+
+2014-10-30  Yao Qi  <yao@codesourcery.com>
+
+	* python/lib/gdb/command/prompt.py (before_prompt_hook): Don't
+	replace '\\' with '\\\\'.
+
+2014-10-29  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 7.8.1 released.
+
+2014-10-29  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17408
+	* infrun.c (switch_back_to_stepped_thread): Use currently_stepping
+	instead of assuming a thread with a stepping range is always
+	stepping.
+
+2014-10-29  Pedro Alves  <palves@redhat.com>
+
+	PR python/17372
+	* event-top.c (change_line_handler): Call
+	gdb_rl_callback_handler_remove instead of
+	rl_callback_handler_remove.
+	(callback_handler_installed): New global.
+	(gdb_rl_callback_handler_remove, gdb_rl_callback_handler_install)
+	(gdb_rl_callback_handler_reinstall): New functions.
+	(display_gdb_prompt): Call gdb_rl_callback_handler_remove and
+	gdb_rl_callback_handler_install instead of
+	rl_callback_handler_remove and rl_callback_handler_install.
+	(gdb_disable_readline): Call gdb_rl_callback_handler_remove
+	instead of rl_callback_handler_remove.
+	* event-top.h (gdb_rl_callback_handler_remove)
+	(gdb_rl_callback_handler_install)
+	(gdb_rl_callback_handler_reinstall): New declarations.
+	* infrun.c (reinstall_readline_callback_handler_cleanup): New
+	cleanup function.
+	(fetch_inferior_event): Install it.
+	* top.c (gdb_readline_wrapper_line) Call
+	gdb_rl_callback_handler_remove instead of
+	rl_callback_handler_remove.
+	(gdb_readline_wrapper_cleanup): Don't call
+	rl_callback_handler_install.
+
+2014-10-29  Pedro Alves  <palves@redhat.com>
+
+	* event-top.c (command_line_handler): Clear the first byte of
+	linebuffer, when it is first allocated.
+
+2014-10-29  Pedro Alves  <palves@redhat.com>
+
+	* tui/tui.c (tui_rl_switch_mode): Wrap tui_enable/tui_disable in
+	TRY_CATCH.
+
+2014-10-29  Pedro Alves  <palves@redhat.com>
+
+	PR tui/16138
+	PR tui/17519
+	* tui/tui-interp.c (tui_is_toplevel): Delete global.
+	(tui_allowed_p): Delete function.
+	* tui/tui.c: Include "interps.h".
+	(tui_enable): Don't use tui_allowed_p.	Error out here with
+	detailed error messages if the TUI is the top level interpreter,
+	or if output is not a terminal.	 Use newterm instead of initscr,
+	and error out if initializing the terminal fails.  Also error out if
+	the terminal doesn't support cursor addressing.
+	* tui/tui.h (tui_allowed_p): Delete declaration.
+
+2014-10-29  Joel Brobecker  <brobecker@adacore.com>
+
+	* arm-tdep.c (arm_skip_stack_protector): Return early if
+	address loaded by first "ldr" instruction does not have
+	a corresponding minimal symbol.  Update comment.
+
+2014-10-29  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (arm_analyze_load_stack_chk_guard): Compute the
+	loaded address correctly of ldr instruction.
+
+2014-10-28  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/12623
+	* gdbthread.h (struct thread_info) <stepped_breakpoint>: New
+	field.
+	* infrun.c (resume) <stepping breakpoint instruction>: Set the
+	thread's stepped_breakpoint field.  Skip if reverse debugging.
+	Add comment.
+	(init_thread_stepping_state, handle_signal_stop): Clear the
+	thread's stepped_breakpoint field.
+
+2014-10-27  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (remote_thread_alive): New, factored out from ...
+	(remote_thread_alive): ... this.
+	(remote_update_thread_list): Bail out before deleting threads if
+	the target returned an empty list, and, the current thread has a
+	magic/fake ptid.
+
+2014-10-27  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (handle_signal_stop): Also skip handlers when a random
+	signal arrives while handling a "stepi" or a "nexti".  Set the
+	thread's 'step_after_step_resume_breakpoint' flag.
+
+2014-10-27  Luis Machado  <lgustavo@codesourcery.com>
+
+	* arm-tdep.c (INSN_S_L_BIT_NUM): Document.
+	(arm_record_ld_st_imm_offset): Reimplement to cover all
+	load/store cases for ARM opcode 010.
+	(arm_record_ld_st_multiple): Reimplement to cover all
+	load/store cases for ARM opcode 100.
+
+2014-10-26  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (lookup_symbol_aux_local): Fix typo in comment.
+
+2014-10-26  Doug Evans  <xdje42@gmail.com>
+
+	* symfile.h (struct quick_symbol_functions) <lookup_symbol>: Rename
+	parameter "kind" to "block_index".
+	* symtab.c (error_in_psymtab_expansion): Rename parameter "kind" to
+	"block_index".
+	(lookup_symbol_aux_quick, basic_lookup_transparent_type_quick): Ditto.
+
+2014-10-26  Doug Evans  <xdje42@gmail.com>
+
+	* block.h (ALL_BLOCK_SYMBOLS): Fix comment.
+
+2014-10-26  Doug Evans  <xdje42@gmail.com>
+
+	* block.c (allocate_block): Use OBSTACK_ZALLOC instead of
+	obstack_alloc.
+
+2014-10-26  Doug Evans  <xdje42@gmail.com>
+
+	* parser-defs.h (block_found): Move decl from here ...
+	* symtab.h (block_found): ... to here.
+
+2014-10-26  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.h (struct field_of_this_result): Fix typo in comment.
+	(lookup_symbol_in_language): Move function comment here.
+	(lookup_symbol): Improve function comment.
+	(basic_lookup_symbol_nonlocal): Ditto.
+	(lookup_symbol_static, lookup_symbol_global): Ditto.
+	(lookup_symbol_aux_block): Ditto.
+	(lookup_language_this): Add function comment.
+	(lookup_static_symbol_aux): Explicitly mark as extern.  Improve
+	function comment.
+	(lookup_block_symbol): Improve function comment.
+	(lookup_struct): Fix capitalization in function comment.
+	(lookup_transparent_type): Add function comment.
+	(lookup_global_symbol_from_objfile): Explicitly mark as extern.
+	Improve function comment.
+	(lookup_objfile_from_block): Add function comment.
+	* symtab.c (lookup_symbol_in_language): Update function comment.
+	(lookup_symbol, lookup_language_this): Ditto.
+	(lookup_static_symbol_aux, lookup_objfile_from_block): Ditto.
+	(lookup_symbol_aux_block, lookup_global_symbol_from_objfile): Ditto.
+	(basic_lookup_symbol_nonlocal): Ditto.
+	(lookup_symbol_static, lookup_symbol_global): Ditto.
+	(lookup_transparent_type, lookup_block_symbol): Ditto.
+
+2014-10-25  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (types_info): Delete forward decl.
+	(functions_info, variables_info, sources_info): Ditto.
+	(_initialize_symtab): Rewrite forward decl to use
+	initialize_file_ftype.
+
+2014-10-25  Doug Evans  <xdje42@gmail.com>
+
+	* symtab.c (lookup_symbol_aux_quick): Set block_found upon success.
+
+2014-10-25  Doug Evans  <xdje42@gmail.com>
+
+	* dwarf2read.c (process_structure_scope): Remove second (nested) copy
+	of local var child_die.
+
+2014-10-24  Don Breazeal  <donb@codesourcery.com>
+
+	* infrun.c (follow_fork_inferior): Update fork message printing
+	to use target_terminal_ours_for_output instead of
+	target_terminal_ours, to use _() for all format strings, to print
+	"vfork" instead of "fork" for vforks, and to add a detach message.
+	(handle_vfork_child_exec_or_exit): Update message printing to use
+	target_terminal_ours_for_output instead of target_terminal_ours, to
+	use _() for all format strings, and to fix some formatting.
+
+2014-10-24  Pedro Alves  <palves@redhat.com>
+
+	* Makefile.in (ALLDEPFILES): Remove vax-nat.c.
+	* NEWS (Removed targets): Add VAX BSD and VAX Ultrix.
+	* config/vax/vax.mh: Delete.
+	* configure.host: Move vax-*-bsd* and vax-*-ultrix* to the
+	obsolete configurations section.
+	* configure.tgt (vax-*-*): Don't mention 4.2BSD nor Ultrix.
+	* vax-nat.c: Delete file.
+
+2014-10-24  Pedro Alves  <palves@redhat.com>
+
+	* NEWS (Removed targets): Add OS/arch column.
+
+2014-10-24  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* gnu-v3-abi.c (gnuv3_pass_by_reference): Call TYPE_TARGET_TYPE
+	on the arg type of a constructor only if it is of reference type.
+
+2014-10-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2-tdep.c (nios2_analyze_prologue): Use new instruction field
+	accessors and constants from nios2 opcodes update.
+	(nios2_get_next_pc): Likewise.
+
+2014-10-19  Doug Evans  <xdje42@gmail.com>
+
+	* gdbthread.h (set_running): Fix comment.
+	(set_executing, finish_thread_state): Fix comment.
+
+2014-10-18  Doug Evans  <xdje42@gmail.com>
+
+	* linux-nat.c (linux_nat_wait_1): Make local prev_mask non-static.
+
+2014-10-17  Doug Evans  <dje@google.com>
+
+	* NEWS: Mention new event gdb.clear_objfiles.
+	* python/py-event.h (emit_clear_objfiles_event): Clear
+	* python/py-events.h (events_object): New member clear_objfiles.
+	* python/py-evts.c (gdbpy_initialize_py_events): Add clear_objfiles
+	event.
+	* python/py-inferior.c (python_new_objfile): If objfile is NULL,
+	emit clear_objfiles event.
+	* python/py-newobjfileevent.c (create_clear_objfiles_event_object): New
+	function.
+	(emit_clear_objfiles_event): New function.
+	(clear_objfiles): New event.
+	* python/python-internal.h (gdbpy_initialize_clear_objfiles_event):
+	Declare.
+	* python/python.c (_initialize_python): Call
+	gdbpy_initialize_clear_objfiles_event.
+
+2014-10-17  Doug Evans  <dje@google.com>
+
+	* NEWS: Mention new gdb.Objfile.progspace attribute.
+	* python/py-objfile.c (objfpy_get_progspace): New function.
+	(objfile_getset): New entry for "progspace".
+
+2014-10-17  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17471
+	* infcmd.c (strip_bg_char): Change prototype and rewrite.  Now
+	returns a copy of the input.
+	(run_command_1, continue_command, step_1, jump_command)
+	(signal_command, until_command, advance_command, finish_command)
+	(attach_command): Adjust and install a cleanup to free the
+	stripped args.
+
+2014-10-17  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17300
+	* infcmd.c (continue_1): If continuing all threads in the
+	foreground, make sure the inferior's terminal settings are put in
+	effect.
+
+2014-10-17  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17472
+	* annotate.c (annotate_breakpoints_invalid): Use
+	target_terminal_our_for_output instead of target_terminal_ours.
+	Give back the terminal to the target.
+	(annotate_frames_invalid): Likewise.
+
+2014-10-17  Pedro Alves  <palves@redhat.com>
+
+	* target.c (enum terminal_state): New enum.
+	(terminal_state): New global.
+	(target_terminal_init): New function.
+	(target_terminal_inferior): Skip if inferior already owns the
+	terminal.
+	(target_terminal_ours, target_terminal_ours_for_output): New
+	functions.
+	* target.h (target_terminal_init): Convert to function prototype.
+	(target_terminal_ours_for_output): Convert to function prototype
+	and tweak comment.
+	(target_terminal_ours): Convert to function prototype and tweak
+	comment.
+	* windows-nat.c (do_initial_windows_stuff): Call
+	target_terminal_init instead of child_terminal_init_with_pgrp.
+
+2014-10-17  Pedro Alves  <palves@redhat.com>
+
+	* Makefile.in (ALL_64_TARGET_OBS): Remove alpha-osf1-tdep.o.
+	(HFILES_NO_SRCDIR): Remove config/alpha/nm-osf3.h.
+	(ALLDEPFILES): Remove alpha-nat.c, alpha-osf1-tdep.c and
+	solib-osf.c.
+	* NEWS: Mention that support for alpha*-*-osf* has been removed.
+	* ada-lang.h [__alpha__ && __osf__]
+	(ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS): Delete.
+	* alpha-nat.c, alpha-osf1-tdep.c: Delete files.
+	* alpha-tdep.c (alpha_gdbarch_init): Remove reference to
+	GDB_OSABI_OSF1.
+	* config/alpha/alpha-osf3.mh, config/alpha/nm-osf3.h: Delete
+	files.
+	* config/djgpp/fnchange.lst (config/alpha/alpha-osf1.mh)
+	(config/alpha/alpha-osf2.mh, config/alpha/alpha-osf3.mh): Delete.
+	* configure: Regenerate.
+	* configure.ac: Remove references to osf.
+	* configure.host: Handle alpha*-*-osf* in the obsolete hosts
+	section.  Remove all other references to osf.
+	* configure.tgt: Add alpha*-*-osf* to the obsolete targets section.
+	Remove all other references to osf.
+	* dec-thread.c: Delete file.
+	* defs.h (GDB_OSABI_OSF1): Delete.
+	* inferior.h (START_INFERIOR_TRAPS_EXPECTED): New unconditionally
+	defined.
+	* osabi.c (gdb_osabi_names): Delete "OSF/1".
+	* procfs.c (procfs_debug_inferior) [PROCFS_DONT_TRACE_FAULTS]:
+	Delete code.
+	(unconditionally_kill_inferior)
+	[PROCFS_NEED_CLEAR_CURSIG_FOR_KILL]: Delete code.
+	* solib-osf.c: Delete file.
+
+2014-10-17  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (clear_threads_listing_context): Move higher up, out of
+	the HAVE_LIBEXPAT guard.
+
+2014-10-16  Tristan Gingold  <gingold@adacore.com>
+
+	* i386-darwin-nat.c (i386_darwin_fetch_inferior_registers)
+	(i386_darwin_store_inferior_registers): Sanitize gs and fs values
+	on amd64.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* dec-thread.c (dec_thread_count_gdb_threads)
+	(dec_thread_add_gdb_thread): Delete.
+	(dec_thread_update_thread_list): Delete.
+	(dec_thread_find_new_threads): Rename to ...
+	(dec_thread_update_thread_list): ... this.  Delete GDB-size
+	threads that are no longer found in dec_thread_list.
+	(resync_thread_list): Delete.
+	(dec_thread_wait): Call dec_thread_update_thread_list instead of
+	resync_thread_list.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* gdbthread.h (ALL_NON_EXITED_THREADS_SAFE): New macro.
+	* remote.c (remote_update_thread_list): Skip calling prune_threads
+	if any thread listing method is supported, and instead walk over
+	the set of remote threads listed, deleting those that are not
+	found in GDB's thread list.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* ada-tasks.c (print_ada_task_info, task_command_1): Adjust.
+	* bsd-uthread.c (bsd_uthread_find_new_threads): Rename to ...
+	(bsd_uthread_update_thread_list): ... this.  Call prune_threads.
+	(bsd_uthread_target): Adjust.
+	* corelow.c (core_open): Adjust.
+	* dec-thread.c (dec_thread_find_new_threads): Update comment.
+	(dec_thread_update_thread_list): New function.
+	(init_dec_thread_ops): Adjust.
+	* gdbthread.h (prune_threads): New declaration.
+	* linux-thread-db.c (thread_db_find_new_threads): Rename to ...
+	(thread_db_update_thread_list): ... this.  Call prune_threads.
+	(init_thread_db_ops): Adjust.
+	* nto-procfs.c (procfs_find_new_threads): Rename to ...
+	(procfs_update_thread_list): ... this.  Call prune_threads.
+	(procfs_attach, procfs_create_inferior, init_procfs_targets):
+	Adjust.
+	* obsd-nat.c (obsd_find_new_threads): Rename to ...
+	(obsd_update_thread_list): ... this.  Call prune_threads.
+	(obsd_add_target): Adjust.
+	* procfs.c (procfs_target): Adjust.
+	(procfs_notice_thread): Update comment.
+	(procfs_find_new_threads): Rename to ...
+	(procfs_update_thread_list): ... this.  Call prune_threads.
+	* ravenscar-thread.c (ravenscar_update_inferior_ptid): Update
+	comment.
+	(ravenscar_wait): Adjust.
+	(ravenscar_find_new_threads): Rename to ...
+	(ravenscar_update_thread_list): ... this.  Call prune_threads.
+	(init_ravenscar_thread_ops): Adjust.
+	* record-btrace.c (record_btrace_find_new_threads): Rename to ...
+	(record_btrace_update_thread_list): ... this.  Adjust comment.
+	(init_record_btrace_ops): Adjust.
+	* remote.c (remote_threads_info): Rename to ...
+	(remote_update_thread_list): ... this.  Call prune_threads.
+	(remote_start_remote, extended_remote_attach_1, init_remote_ops):
+	Adjust.
+	* sol-thread.c (check_for_thread_db): Adjust.
+	(sol_find_new_threads_callback): Rename to ...
+	(sol_update_thread_list_callback): ... this.
+	(sol_find_new_threads): Rename to ...
+	(sol_update_thread_list): ... this.  Call prune_threads.  Adjust.
+	(sol_get_ada_task_ptid, init_sol_thread_ops): Adjust.
+	* target-delegates.c: Regenerate.
+	* target.c (target_find_new_threads): Rename to ...
+	(target_update_thread_list): ... this.
+	* target.h (struct target_ops): Rename to_find_new_threads field
+	to to_update_thread_list.
+	(target_find_new_threads): Rename to ...
+	(target_update_thread_list): ... this.
+	* thread.c (prune_threads): Make extern.
+	(update_thread_list): Adjust.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (remote_get_threadlist, remote_threadlist_iterator):
+	Add describing comment.  Return -1 if the qL packet is not
+	supported.
+	(struct thread_item, thread_item_t): Move higher up in
+	the file.  Add comments.
+	(struct threads_parsing_context): Move higher up in
+	the file, add comments, and remote to ...
+	(struct threads_listing_context): ... this.
+	(remote_newthread_step): Don't add the thread to GDB's thread
+	database here.  Instead push it to the thread_listing_context
+	list.
+	(remote_find_new_threads): Rename to ...
+	(remote_get_threads_with_ql): ... this.  Add target_ops and
+	targets_listing_context parameters.  Pass down context.
+	(start_thread): Adjust.
+	(clear_threads_parsing_context): Rename to ...
+	(clear_threads_listing_context): ... this.
+	(remote_get_threads_with_qxfer): New, with parts salvaged from old
+	remote_threads_info.
+	(remote_get_threads_with_qthreadinfo): Ditto.
+	(remote_threads_info): Reimplement.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (resume): Don't force displaced-stepping for all
+	single-steps on software single-stepping archs.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (single_step_breakpoints): Delete global.
+	(insert_single_step_breakpoint): Adjust to store the breakpoint
+	pointer in the current thread.
+	(single_step_breakpoints_inserted, remove_single_step_breakpoints)
+	(cancel_single_step_breakpoints): Delete functions.
+	(breakpoint_has_location_inserted_here): Make extern.
+	(single_step_breakpoint_inserted_here_p): Adjust to walk the
+	breakpoint list.
+	* breakpoint.h (breakpoint_has_location_inserted_here): New
+	declaration.
+	(single_step_breakpoints_inserted, remove_single_step_breakpoints)
+	(cancel_single_step_breakpoints): Remove declarations.
+	* gdbthread.h (struct thread_control_state)
+	<single_step_breakpoints>: New field.
+	(delete_single_step_breakpoints)
+	(thread_has_single_step_breakpoints_set)
+	(thread_has_single_step_breakpoint_here): New declarations.
+	* infrun.c (follow_exec): Also clear the single-step breakpoints.
+	(singlestep_breakpoints_inserted_p, singlestep_ptid)
+	(singlestep_pc): Delete globals.
+	(infrun_thread_ptid_changed): Remove references to removed
+	globals.
+	(resume_cleanups): Delete the current thread's single-step
+	breakpoints.
+	(maybe_software_singlestep): Remove references to removed globals.
+	(resume): Adjust to use thread_has_single_step_breakpoints_set and
+	delete_single_step_breakpoints.
+	(init_wait_for_inferior): Remove references to removed globals.
+	(delete_thread_infrun_breakpoints): Delete the thread's
+	single-step breakpoints too.
+	(delete_just_stopped_threads_infrun_breakpoints): Don't delete
+	single-step breakpoints here.
+	(delete_stopped_threads_single_step_breakpoints): New function.
+	(adjust_pc_after_break): Adjust to use
+	thread_has_single_step_breakpoints_set.
+	(handle_inferior_event): Remove references to removed globals.
+	Use delete_stopped_threads_single_step_breakpoints.
+	(handle_signal_stop): Adjust to per-thread single-step
+	breakpoints.  Swap test order to do cheaper tests first.
+	(switch_back_to_stepped_thread): Extend debug output.  Remove
+	references to removed globals.
+	* record-full.c (record_full_wait_1): Adjust to per-thread
+	single-step breakpoints.
+	* thread.c (delete_single_step_breakpoints)
+	(thread_has_single_step_breakpoints_set)
+	(thread_has_single_step_breakpoint_here): New functions.
+	(clear_thread_inferior_resources): Also delete the thread's
+	single-step breakpoints.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* thread.c (delete_thread_breakpoint): New function.
+	(delete_step_resume_breakpoint)
+	(delete_exception_resume_breakpoint): Use it.
+	(delete_at_next_stop): New function.
+	(clear_thread_inferior_resources): Use delete_at_next_stop.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (regular_breakpoint_inserted_here_p): Inline ...
+	(breakpoint_inserted_here_p): ... here.  Remove special case for
+	software single-step breakpoints.
+	(find_non_raw_software_breakpoint_inserted_here): Inline ...
+	(software_breakpoint_inserted_here_p): ... here.  Remove special
+	case for software single-step breakpoints.
+	(bp_target_info_copy_insertion_state)
+	(deprecated_insert_raw_breakpoint)
+	(deprecated_remove_raw_breakpoint): Delete functions.
+	* breakpoint.h (deprecated_insert_raw_breakpoint)
+	(deprecated_remove_raw_breakpoint): Remove declarations.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	PR breakpoints/9649
+	* breakpoint.c (single_step_breakpoints, single_step_gdbarch):
+	Delete array globals.
+	(single_step_breakpoints): New global.
+	(breakpoint_xfer_memory): Remove special handling for single-step
+	breakpoints.
+	(update_breakpoints_after_exec): Delete bp_single_step
+	breakpoints.
+	(detach_breakpoints): Remove special handling for single-step
+	breakpoints.
+	(breakpoint_init_inferior): Delete bp_single_step breakpoints.
+	(bpstat_stop_status): Add comment.
+	(bpstat_what, bptype_string, print_one_breakpoint_location)
+	(adjust_breakpoint_address, init_bp_location): Handle
+	bp_single_step.
+	(new_single_step_breakpoint): New function.
+	(set_momentary_breakpoint, bkpt_remove_location): Remove special
+	handling for single-step breakpoints.
+	(insert_single_step_breakpoint, single_step_breakpoints_inserted)
+	(remove_single_step_breakpoints, cancel_single_step_breakpoints):
+	Rewrite.
+	(detach_single_step_breakpoints, find_single_step_breakpoint):
+	Delete functions.
+	(breakpoint_has_location_inserted_here): New function.
+	(single_step_breakpoint_inserted_here_p): Rewrite.
+	* breakpoint.h: Remove FIXME.
+	(enum bptype) <bp_single_step>: New enum value.
+	(insert_single_step_breakpoint): Update comment.
+	* infrun.c (resume_cleanups)
+	(delete_step_thread_step_resume_breakpoint): Remove single-step
+	breakpoints.
+	(fetch_inferior_event): Install a cleanup that removes infrun
+	breakpoints.
+	(switch_back_to_stepped_thread) <expect thread advanced also>:
+	Clear step-over info.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (delete_step_resume_breakpoint_callback): Delete.
+	(delete_thread_infrun_breakpoints): New function, with parts
+	salvaged from delete_step_resume_breakpoint_callback.
+	(delete_step_thread_step_resume_breakpoint): Delete.
+	(for_each_just_stopped_thread_callback_func): New typedef.
+	(for_each_just_stopped_thread): New function.
+	(delete_just_stopped_threads_infrun_breakpoints): New function.
+	(delete_step_thread_step_resume_breakpoint_cleanup): Rename to ...
+	(delete_just_stopped_threads_infrun_breakpoints_cleanup):
+	... this.  Adjust.
+	(wait_for_inferior, fetch_inferior_event): Adjust to renames.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (should_be_inserted): Don't insert watchpoints if
+	trying to step past a non-steppable watchpoint.
+	* gdbthread.h (struct thread_info) <stepping_over_watchpoint>: New
+	field.
+	* infrun.c (struct step_over_info): Add new field
+	'nonsteppable_watchpoint_p' and adjust comments.
+	(set_step_over_info): New 'nonsteppable_watchpoint_p' parameter.
+	Adjust.
+	(clear_step_over_info): Clear nonsteppable_watchpoint_p as well.
+	(stepping_past_nonsteppable_watchpoint): New function.
+	(step_over_info_valid_p): Also return true if stepping past a
+	nonsteppable watchpoint.
+	(proceed): Adjust call to set_step_over_info.  Remove reference to
+	init_infwait_state.
+	(init_wait_for_inferior): Remove reference to init_infwait_state.
+	(waiton_ptid): Delete global.
+	(struct execution_control_state)
+	<stepped_after_stopped_by_watchpoint>: Delete field.
+	(wait_for_inferior, fetch_inferior_event): Always pass
+	minus_one_ptid to target_wait.
+	(init_thread_stepping_state): Clear 'stepping_over_watchpoint'
+	field.
+	(init_infwait_state): Delete function.
+	(handle_inferior_event): Remove infwait_state handling.
+	(handle_signal_stop) <watchpoints handling>: Adjust after
+	stepped_after_stopped_by_watchpoint removal.  Don't remove
+	breakpoints here nor set infwait_state.  Set the thread's
+	stepping_over_watchpoint flag, and call keep_going instead.
+	(keep_going): Handle stepping_over_watchpoint.  Adjust
+	set_step_over_info calls.
+	* infrun.h (stepping_past_nonsteppable_watchpoint): Declare
+	function.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (step_over_info_valid_p): New function.
+	(resume): Use step_over_info_valid_p instead of checking the
+	threads's trap_expected flag.
+
+2014-10-15  Doug Evans  <dje@google.com>
+	    Walfred Tedeschi  <walfred.tedeschi@intel.com>
+
+	PR python/17364
+	* python/lib/gdb/__init__.py (packages): Add "printer".
+	* python/lib/gdb/command/bound_registers.py: Moved to ...
+	* python/lib/gdb/printer/bound_registers.py: ... here.
+	Add printer to global set of builtin printers.  Rename printer from
+	"bound" to "mpx_bound128".
+	* python/lib/gdb/printing.py (_builtin_pretty_printers): New global,
+	registered as global "builtin" printer.
+	(add_builtin_pretty_printer): New function.
+	* data-directory/Makefile.in (PYTHON_FILE_LIST): Update, and add
+	gdb/printer/__init__.py.
+
+2014-10-15  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* Makefile.in (SFILES): Remove d-support.c.
+	(COMMON_OBS): Remove d-support.o.
+	* d-lang.h (d_parse_symbol): Remove declaration.
+	* d-lang.c (d_demangle): Use gdb_demangle to demangle D symbols.
+	* d-support.c: Remove file.
+
+2014-10-15  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb/infrun.c (process_event_stop_test): Apply
+	gdbarch_addr_bits_remove to longjmp resume address.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	* regformats/microblaze.dat: Delete file.
+
+2014-10-15  Ajit Agarwal  <ajitkum@xilinx.com>
+
+	* features/Makefile (microblaze-expedite): Replace pc with rpc.
+	* regformats/microblaze-with-stack-protect.dat: Regenerate.
+
+2014-10-15  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* gnu-v3-abi.c (gnuv3_pass_by_reference): Treat dynamic classes
+	as non-trivial.
+
+2014-10-15  Siva Chandra Reddy  <sivachandra@google.com>
+
+	PR c++/13403
+	PR c++/15154
+	* gnu-v3-abi.c (gnuv3_pass_by_reference): Lookup copy constructors
+	with qualified args.
+
+2014-10-14  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_evaluate_subexp) <BINOP_ADD>: Add handling
+	of the case where the second operand is a pointer.
+	<BINOP_SUB>: Likewise.
+
+2014-10-14  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* breakpoint.c (bkpt_probe_insert_location): Call set_semaphore
+	only if it is not NULL.
+	(bkpt_probe_remove_location): Likewise, for clear_semaphore.
+	* probe.h (struct probe_ops) <set_semaphore>: Update comment.
+	(struct probe_ops) <clear_semaphore>: Likewise.
+	* tracepoint.c (start_tracing): Call set_semaphore only if it is
+	not NULL.
+	(stop_tracing): Likewise, for clear_semaphore.
+
+2014-10-14  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* stap-probe.c (stap_parse_argument): Initialize expout explicitly
+	using language_c, instead of current_language.
+
+2014-10-13  Doug Evans  <dje@google.com>
+
+	* python/py-objfile.c (objfpy_initialize): New function.
+	(objfpy_new, objfile_to_objfile_object): Call it.
+	* python/py-progspace.c (pspy_initialize): New function.
+	(pspy_new, pspace_to_pspace_object): Call it.
+
+2014-10-13  Miroslav Franc  <mfranc@redhat.com>
+	    Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix "save breakpoints" for "catch" command.
+	* break-catch-sig.c (signal_catchpoint_print_recreate): Add trailing
+	newline.
+
+2014-10-12  Miroslav Franc  <mfranc@redhat.com>
+
+	Fix "save breakpoints" for "disable $bpnum" command.
+	* breakpoint.c (save_breakpoints): Add $bpnum for disable.
+
+2014-10-10  Pedro Alves  <palves@redhat.com>
+
+	* Makefile.in (ALL_TARGET_OBS): Remove mips-irix-tdep.o and solib-irix.o.
+	(ALLDEPFILES): Remove mips-irix-tdep.c and solib-irix.c.
+	(HFILES_NO_SRCDIR): Remove solib-irix.h.
+	* NEWS: Mention that support for mips-sgi-irix5* mips-sgi-irix6*
+	and been removed.
+	* config/mips/irix5.mh, config/mips/irix6.mh: Delete files.
+	* configure.ac: Remove references to IRIX.
+	* configure.host: Add *-*-irix* to the obsolete hosts section.
+	Remove all other references to irix.
+	* irix5-nat.c, mips-irix-tdep.c, solib-irix.c, solib-irix.h:
+	Delete files.
+
+2014-10-10  Ajit Agarwal  <ajitkum@xilinx.com>
+
+	* microblaze-tdep.c (microblaze_gdbarch_init): If the description
+	isn't valid, release the tdesc arch data and return NULL.
+
+2014-10-10  Pedro Alves  <palves@redhat.com>
+
+	* linux-tdep.c: Include observer.h.
+	(linux_inferior_data): New global.
+	(struct linux_info): New structure.
+	(invalidate_linux_cache_inf, linux_inferior_data_cleanup)
+	(get_linux_inferior_data): New functions.
+	(linux_vsyscall_range): Rename to ...
+	(linux_vsyscall_range_raw): ... this.
+	(linux_vsyscall_range): New function; handles caching.
+	(_initialize_linux_tdep): Register linux_inferior_data.  Install
+	inferior_exit and inferior_appeared observers.
+
+2014-10-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	PR symtab/14466
+	* solib-svr4.c (svr4_read_so_list): Rename to ...
+	(svr4_current_sos_1): ... this and change the function comment.
+	(svr4_current_sos): New function.
+
+2014-10-10  Pedro Alves  <palves@redhat.com>
+
+	* arch-utils.c (default_vsyscall_range): New function.
+	* arch-utils.h (default_vsyscall_range): New declaration.
+	* gdbarch.sh (vsyscall_range): New hook.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* linux-tdep.c (linux_vsyscall_range): New function.
+	(linux_init_abi): Install linux_vsyscall_range as
+	vsyscall_range gdbarch hook.
+	* memrange.c (address_in_mem_range): New function.
+	* memrange.h (address_in_mem_range): New declaration.
+	* symfile-mem.c (find_vdso_size): Delete function.
+	(add_vsyscall_page): Use gdbarch_vsyscall_range.
+
+2014-10-10  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (normal_stop): Fix typo in comment.
+
+2014-10-09  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR tdep/9390
+	* xstorxstormy16-tdep.c (xstormy16_analyze_prologue): Fix possible
+	typo when using logical AND to determine instruction type.
+
+2014-10-09  Yao Qi  <yao@codesourcery.com>
+
+	* infrun.c (handle_signal_stop): Remove local variable
+	'printed'.
+
+2014-10-08  Stan Shebs  <stan@codesourcery.com>
+
+	* MAINTAINERS (GLOBAL MAINTAINERS): Add Yao Qi.
+
+2014-10-08  Gary Benson  <gbenson@redhat.com>
+
+	* fbsd-tdep.c: Do not include string.h or gdb_assert.h.
+
+2014-10-08  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include common-exceptions.h.
+	* exceptions.h: Do not include common-exceptions.h.
+
+2014-10-08  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include cleanups.h.
+	* common/common-exceptions.c: Do not include cleanups.h.
+	* utils.h: Likewise.
+
+2014-10-08  Gary Benson  <gbenson@redhat.com>
+
+	* ada-lang.c: Do not include exceptions.h.
+	* ada-valprint.c: Likewise.
+	* amd64-tdep.c: Likewise.
+	* auto-load.c: Likewise.
+	* block.c: Likewise.
+	* break-catch-throw.c: Likewise.
+	* breakpoint.c: Likewise.
+	* btrace.c: Likewise.
+	* c-lang.c: Likewise.
+	* cli/cli-cmds.c: Likewise.
+	* cli/cli-interp.c: Likewise.
+	* cli/cli-script.c: Likewise.
+	* completer.c: Likewise.
+	* corefile.c: Likewise.
+	* corelow.c: Likewise.
+	* cp-abi.c: Likewise.
+	* cp-support.c: Likewise.
+	* cp-valprint.c: Likewise.
+	* darwin-nat.c: Likewise.
+	* dwarf2-frame-tailcall.c: Likewise.
+	* dwarf2-frame.c: Likewise.
+	* dwarf2loc.c: Likewise.
+	* dwarf2read.c: Likewise.
+	* eval.c: Likewise.
+	* event-loop.c: Likewise.
+	* event-top.c: Likewise.
+	* f-valprint.c: Likewise.
+	* frame-unwind.c: Likewise.
+	* frame.c: Likewise.
+	* gdbtypes.c: Likewise.
+	* gnu-v2-abi.c: Likewise.
+	* gnu-v3-abi.c: Likewise.
+	* guile/scm-auto-load.c: Likewise.
+	* guile/scm-breakpoint.c: Likewise.
+	* guile/scm-cmd.c: Likewise.
+	* guile/scm-frame.c: Likewise.
+	* guile/scm-lazy-string.c: Likewise.
+	* guile/scm-param.c: Likewise.
+	* guile/scm-symbol.c: Likewise.
+	* guile/scm-type.c: Likewise.
+	* hppa-hpux-tdep.c: Likewise.
+	* i386-tdep.c: Likewise.
+	* inf-loop.c: Likewise.
+	* infcall.c: Likewise.
+	* infcmd.c: Likewise.
+	* infrun.c: Likewise.
+	* interps.c: Likewise.
+	* interps.h: Likewise.
+	* jit.c: Likewise.
+	* linespec.c: Likewise.
+	* linux-nat.c: Likewise.
+	* linux-thread-db.c: Likewise.
+	* m32r-rom.c: Likewise.
+	* main.c: Likewise.
+	* memory-map.c: Likewise.
+	* mi/mi-cmd-break.c: Likewise.
+	* mi/mi-cmd-stack.c: Likewise.
+	* mi/mi-interp.c: Likewise.
+	* mi/mi-main.c: Likewise.
+	* monitor.c: Likewise.
+	* nto-procfs.c: Likewise.
+	* objc-lang.c: Likewise.
+	* p-valprint.c: Likewise.
+	* parse.c: Likewise.
+	* ppc-linux-tdep.c: Likewise.
+	* printcmd.c: Likewise.
+	* probe.c: Likewise.
+	* python/py-auto-load.c: Likewise.
+	* python/py-breakpoint.c: Likewise.
+	* python/py-cmd.c: Likewise.
+	* python/py-finishbreakpoint.c: Likewise.
+	* python/py-frame.c: Likewise.
+	* python/py-framefilter.c: Likewise.
+	* python/py-function.c: Likewise.
+	* python/py-gdb-readline.c: Likewise.
+	* python/py-inferior.c: Likewise.
+	* python/py-infthread.c: Likewise.
+	* python/py-lazy-string.c: Likewise.
+	* python/py-linetable.c: Likewise.
+	* python/py-param.c: Likewise.
+	* python/py-prettyprint.c: Likewise.
+	* python/py-symbol.c: Likewise.
+	* python/py-type.c: Likewise.
+	* python/py-value.c: Likewise.
+	* python/python-internal.h: Likewise.
+	* python/python.c: Likewise.
+	* record-btrace.c: Likewise.
+	* record-full.c: Likewise.
+	* regcache.c: Likewise.
+	* remote-fileio.c: Likewise.
+	* remote-mips.c: Likewise.
+	* remote.c: Likewise.
+	* rs6000-aix-tdep.c: Likewise.
+	* rs6000-nat.c: Likewise.
+	* skip.c: Likewise.
+	* solib-darwin.c: Likewise.
+	* solib-dsbt.c: Likewise.
+	* solib-frv.c: Likewise.
+	* solib-ia64-hpux.c: Likewise.
+	* solib-spu.c: Likewise.
+	* solib-svr4.c: Likewise.
+	* solib.c: Likewise.
+	* spu-tdep.c: Likewise.
+	* stack.c: Likewise.
+	* stap-probe.c: Likewise.
+	* symfile-mem.c: Likewise.
+	* symmisc.c: Likewise.
+	* target.c: Likewise.
+	* thread.c: Likewise.
+	* top.c: Likewise.
+	* tracepoint.c: Likewise.
+	* tui/tui-interp.c: Likewise.
+	* typeprint.c: Likewise.
+	* utils.c: Likewise.
+	* valarith.c: Likewise.
+	* valops.c: Likewise.
+	* valprint.c: Likewise.
+	* value.c: Likewise.
+	* varobj.c: Likewise.
+	* windows-nat.c: Likewise.
+	* xml-support.c: Likewise.
+
+2014-10-05  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* mips-tdep.c (add_offset_16): Rewrite to implement what the
+	name implies.
+	(extended_mips16_next_pc): Update accordingly.
+
+2014-10-05  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* mips-tdep.c (mips16_instruction_is_compact_branch): New
+	function.
+	(micromips_instruction_is_compact_branch): Likewise.
+	(mips16_scan_prologue): Terminate scanning upon seeing a branch
+	or a compact jump, reaching a jump delay slot, or seeing a
+	second non-prologue instruction.
+	(micromips_scan_prologue): Also terminate scanning upon seeing a
+	compact branch or jump, or reaching a branch or jump delay slot.
+	(mips32_scan_prologue): Terminate scanning upon reaching a branch
+	or jump delay slot, or seeing a second non-prologue instruction.
+	(mips32_instruction_has_delay_slot): Retain instruction
+	examination code only, update arguments accordingly and move
+	instruction fetch pieces to...
+	(mips32_insn_at_pc_has_delay_slot): ... this new function.
+	(micromips_instruction_has_delay_slot): Likewise and to...
+	(micromips_insn_at_pc_has_delay_slot): ... this new function.
+	(mips16_instruction_has_delay_slot): Likewise and to...
+	(mips16_insn_at_pc_has_delay_slot): ... this new function.
+	(mips_single_step_through_delay): Update accordingly.
+	(mips_adjust_breakpoint_address): Likewise.
+
+2014-10-05  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* mips-tdep.c (micromips_instruction_has_delay_slot): When
+	!mustbe32 also return 1 for 32-bit instructions.
+	(mips16_instruction_has_delay_slot): Likewise.  Add an
+	explanatory comment.
+
+2014-10-03  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* elfread.c (elf_symtab_read): Also mark solib trampoline minimal
+	symbols special.
+
+2014-10-03  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* breakpoint.h (bp_target_info): Add `reqstd_address' member,
+	update comments.
+	* breakpoint.c (one_breakpoint_xfer_memory): Use `reqstd_address'
+	for the breakpoint's address.  Don't preinitialize `placed_size'.
+	(insert_bp_location): Set `reqstd_address' rather than
+	`placed_address'.
+	(bp_target_info_copy_insertion_state): Also copy `placed_address'.
+	(bkpt_insert_location): Use `reqstd_address' for the breakpoint's
+	address.
+	(bkpt_remove_location): Likewise.
+	(deprecated_insert_raw_breakpoint): Likewise.
+	(deprecated_remove_raw_breakpoint): Likewise.
+	(find_single_step_breakpoint): Likewise.
+	* mem-break.c (default_memory_insert_breakpoint): Use
+	`reqstd_address' for the breakpoint's address.  Don't set
+	`placed_address' or `placed_size' if breakpoint contents couldn't
+	have been determined.
+	* remote.c (remote_insert_breakpoint): Use `reqstd_address' for
+	the breakpoint's address.
+	(remote_insert_hw_breakpoint): Likewise.  Don't set
+	`placed_address' or `placed_size' if breakpoint couldn't have been
+	set.
+	* aarch64-linux-nat.c (aarch64_linux_insert_hw_breakpoint): Use
+	`reqstd_address' for the breakpoint's address.
+	* arm-linux-nat.c (arm_linux_hw_breakpoint_initialize): Likewise.
+	* ia64-tdep.c (ia64_memory_insert_breakpoint): Likewise.
+	* m32r-tdep.c (m32r_memory_insert_breakpoint): Likewise.
+	* microblaze-linux-tdep.c
+	(microblaze_linux_memory_remove_breakpoint): Likewise.
+	* monitor.c (monitor_insert_breakpoint): Likewise.
+	* nto-procfs.c (procfs_insert_breakpoint): Likewise.
+	(procfs_insert_hw_breakpoint): Likewise.
+	* ppc-linux-nat.c (ppc_linux_insert_hw_breakpoint): Likewise.
+	* ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Likewise.
+	* remote-m32r-sdi.c (m32r_insert_breakpoint): Likewise.
+	* remote-mips.c (mips_insert_breakpoint): Likewise.
+	* x86-nat.c (x86_insert_hw_breakpoint): Likewise.
+
+2014-10-03  Luis Machado  <lgustavo@codesourcery.com>
+
+	* valops.c (value_assign): Check for bit field assignments
+	before calling architecture-specific register value
+	conversion functions.
+
+2014-10-03  Pierre Muller  <muller@sourceware.org>
+
+	* dbxread.c (read_dbx_symtab): Also ignore N_BNSYM/N_ENSYM.
+
+2014-10-02  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (breakpoints_should_be_inserted_now): Use
+	threads_are_executing.
+	* breakpoint.h (breakpoints_should_be_inserted_now): Add
+	describing comment.
+	* gdbthread.h (threads_are_executing): Declare.
+	(handle_signal_stop) <random signals>: Don't print about the
+	signal here if stopping.
+	(end_stepping_range): Don't notify observers here.
+	(normal_stop): Update the thread list.  If stopped by a random
+	signal or a stepping range ended, notify observers.
+	* thread.c (threads_executing): New global.
+	(init_thread_list): Clear 'threads_executing'.
+	(set_executing): Set or clear 'threads_executing'.
+	(threads_are_executing): New function.
+	(update_threads_executing): New function.
+	(update_thread_list): Use it.
+
+2014-10-02  Pedro Alves  <palves@redhat.com>
+
+	PR breakpoints/17431
+	* breakpoint.c (update_breakpoints_after_exec): Don't create
+	overlay, longjmp, std terminate nor exception breakpoints here.
+
+2014-10-02  Pedro Alves  <palves@redhat.com>
+
+	* gdbthread.h (any_thread_of_process, any_live_thread_of_process):
+	Adjust comments.
+	* inferior.c (find_inferior_for_program_space): Give preference to
+	the current inferior.
+	* inferior.h (find_inferior_for_program_space): Update comment.
+	* progspace.c (switch_to_program_space_and_thread): Prefer the
+	current inferior if it's bound to the program space requested.  If
+	the inferior found doesn't have a PID yet, don't bother looking up
+	a thread.
+	* progspace.h (switch_to_program_space_and_thread): Adjust
+	comment.
+	* thread.c (any_thread_of_process, any_live_thread_of_process):
+	Give preference to the current thread.
+
+2014-10-01  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (insert_bp_location): Error out if inserting a
+	software breakpoint at a read-only address.
+	* target.c (memory_xfer_check_region): New function, factored out
+	from ...
+	(memory_xfer_partial_1): ... this.  Make the 'reg_len' local a
+	ULONGEST.
+	(target_xfer_partial) <TARGET_OBJECT_RAW_MEMORY>: Check the access
+	against the memory region attributes.
+
+2014-10-01  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* NEWS: Announce new exit-code field in -list-thread-groups
+	output.
+	* inferior.c (exit_inferior_1): Don't clear exit code.
+	(inferior_appeared): Clear exit code.
+	* mi/mi-main.c (print_one_inferior): Add printing of the exit
+	code.
+
+2014-10-01  Pedro Alves  <palves@redhat.com>
+
+	* features/Makefile ($(outdir)/%.dat): Output "THIS FILE IS
+	GENERATED" along with emacs/vi read-only markers.
+	* regformats/aarch64.dat: Regenerate.
+	* regformats/arm-with-iwmmxt.dat: Regenerate.
+	* regformats/arm-with-neon.dat: Regenerate.
+	* regformats/arm-with-vfpv2.dat: Regenerate.
+	* regformats/arm-with-vfpv3.dat: Regenerate.
+	* regformats/i386/amd64-avx-linux.dat: Regenerate.
+	* regformats/i386/amd64-avx.dat: Regenerate.
+	* regformats/i386/amd64-avx512-linux.dat: Regenerate.
+	* regformats/i386/amd64-avx512.dat: Regenerate.
+	* regformats/i386/amd64-linux.dat: Regenerate.
+	* regformats/i386/amd64-mpx-linux.dat: Regenerate.
+	* regformats/i386/amd64-mpx.dat: Regenerate.
+	* regformats/i386/amd64.dat: Regenerate.
+	* regformats/i386/i386-avx-linux.dat: Regenerate.
+	* regformats/i386/i386-avx.dat: Regenerate.
+	* regformats/i386/i386-avx512-linux.dat: Regenerate.
+	* regformats/i386/i386-avx512.dat: Regenerate.
+	* regformats/i386/i386-linux.dat: Regenerate.
+	* regformats/i386/i386-mmx-linux.dat: Regenerate.
+	* regformats/i386/i386-mmx.dat: Regenerate.
+	* regformats/i386/i386-mpx-linux.dat: Regenerate.
+	* regformats/i386/i386-mpx.dat: Regenerate.
+	* regformats/i386/i386.dat: Regenerate.
+	* regformats/i386/x32-avx-linux.dat: Regenerate.
+	* regformats/i386/x32-avx.dat: Regenerate.
+	* regformats/i386/x32-avx512-linux.dat: Regenerate.
+	* regformats/i386/x32-avx512.dat: Regenerate.
+	* regformats/i386/x32-linux.dat: Regenerate.
+	* regformats/i386/x32.dat: Regenerate.
+	* regformats/microblaze-with-stack-protect.dat: Regenerate.
+	* regformats/mips-dsp-linux.dat: Regenerate.
+	* regformats/mips-linux.dat: Regenerate.
+	* regformats/mips64-dsp-linux.dat: Regenerate.
+	* regformats/mips64-linux.dat: Regenerate.
+	* regformats/nios2-linux.dat: Regenerate.
+	* regformats/rs6000/powerpc-32.dat: Regenerate.
+	* regformats/rs6000/powerpc-32l.dat: Regenerate.
+	* regformats/rs6000/powerpc-64l.dat: Regenerate.
+	* regformats/rs6000/powerpc-altivec32l.dat: Regenerate.
+	* regformats/rs6000/powerpc-altivec64l.dat: Regenerate.
+	* regformats/rs6000/powerpc-cell32l.dat: Regenerate.
+	* regformats/rs6000/powerpc-cell64l.dat: Regenerate.
+	* regformats/rs6000/powerpc-e500l.dat: Regenerate.
+	* regformats/rs6000/powerpc-vsx32l.dat: Regenerate.
+	* regformats/rs6000/powerpc-vsx64l.dat: Regenerate.
+	* regformats/s390-linux32.dat: Regenerate.
+	* regformats/s390-linux32v1.dat: Regenerate.
+	* regformats/s390-linux32v2.dat: Regenerate.
+	* regformats/s390-linux64.dat: Regenerate.
+	* regformats/s390-linux64v1.dat: Regenerate.
+	* regformats/s390-linux64v2.dat: Regenerate.
+	* regformats/s390-te-linux64.dat: Regenerate.
+	* regformats/s390x-linux64.dat: Regenerate.
+	* regformats/s390x-linux64v1.dat: Regenerate.
+	* regformats/s390x-linux64v2.dat: Regenerate.
+	* regformats/s390x-te-linux64.dat: Regenerate.
+	* regformats/tic6x-c62x-linux.dat: Regenerate.
+	* regformats/tic6x-c62x.dat: Regenerate.
+	* regformats/tic6x-c64x-linux.dat: Regenerate.
+	* regformats/tic6x-c64x.dat: Regenerate.
+	* regformats/tic6x-c64xp-linux.dat: Regenerate.
+	* regformats/tic6x-c64xp.dat: Regenerate.
+
+2014-10-01  Pedro Alves  <palves@redhat.com>
+
+	* features/Makefile: Update comments.
+	(XMLTOC): List all xml files we build C files from.
+	(clean-cfiles): New rule.
+
+2014-10-01  Pedro Alves  <palves@redhat.com>
+
+	* features/i386/amd64-avx512-linux.c: Regenerate.
+	* features/i386/amd64-avx512.c: Regenerate.
+	* features/i386/x32-avx512-linux.c: Regenerate.
+	* features/i386/x32-avx512.c: Regenerate.
+
+2014-10-01  Pedro Alves  <palves@redhat.com>
+
+	* features/Makefile (WHICH): Remove arm-with-m,
+	arm-with-m-fpa-layout and arm-with-m-vfp-d16.
+
+2014-10-01  Pedro Alves  <palves@redhat.com>
+
+	* features/Makefile (clean): New rule.
+
+2014-10-01  Pedro Alves  <palves@redhat.com>
+
+	* features/i386/64bit-avx512.xml (zmm10h, zmm11h, zmm12h, zmm13h)
+	(zmm14h): Add missing end quotes.
+
+2014-10-01  Pedro Alves  <palves@redhat.com>
+
+	* features/aarch64-core.xml (cpsr): Change back to 32-bit.
+	* features/aarch64.c: Regenerate.
+
+2014-09-30  Don Breazeal  <donb@codesourcery.com>
+
+	* inf-ptrace.c (inf_ptrace_follow_fork): Remove target-independent
+	code so as to work with follow_fork_inferior.
+	* inf-ttrace.c (inf_ttrace_follow_fork): Ditto.
+	(inf_ttrace_create_inferior): Remove reference to
+	inf_ttrace_vfork_ppid.
+	(inf_ttrace_attach): Ditto.
+	(inf_ttrace_detach): Ditto.
+	(inf_ttrace_kill): Use current_inferior instead of
+	inf_ttrace_vfork_ppid.
+	(inf_ttrace_wait): Eliminate use of inf_ttrace_vfork_ppid, report
+	TARGET_WAITKIND_VFORK_DONE event, delete HACK that switched the
+	inferior away from the parent.
+	* infrun.c (follow_fork): Call follow_fork_inferior instead of
+	target_follow_fork.
+	(follow_fork_inferior): New function.
+	(follow_inferior_reset_breakpoints): Make function static.
+	* infrun.h (follow_inferior_reset_breakpoints): Remove declaration.
+	* linux-nat.c (linux_child_follow_fork): Move target-independent
+	code to infrun.c:follow_fork_inferior.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdbarch.sh (regset_from_core_section): Remove gdbarch method.
+	* gdbarch.c: Regenerate.
+	* gdbarch.h: Likewise.
+	* corelow.c (sniff_core_bfd): Drop presence check for deleted
+	gdbarch method 'regset_from_core_section'.
+	(get_core_register_section): Remove handling for the case that
+	regset == NULL and regset_from_core_section is defined.
+	(get_core_registers): Drop check for deleted method.
+	* procfs.c (procfs_do_thread_registers): Adjust comment.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-nat.c (linux_nat_collect_thread_registers): Remove.
+	(linux_nat_make_corefile_notes): Remove.
+	(linux_target_install_ops): Do not set target method
+	'make_corefile_notes'.
+	* linux-tdep.c (struct linux_corefile_thread_data)<collect>:
+	Remove field.
+	(linux_corefile_thread_callback): Instead of args->collect, call
+	linux_collect_thread_registers.
+	(linux_make_corefile_notes): Remove 'collect' parameter.  Return
+	NULL unless there is a regset iterator.
+	(linux_make_corefile_notes_1): Remove.
+	(linux_init_abi): Replace reference to linux_make_corefile_notes_1
+	by linux_make_corefile_notes.
+	* linux-tdep.h (linux_make_corefile_notes): Remove prototype.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* fbsd-nat.c (find_signalled_thread, find_stop_signal)
+	(fbsd_collect_regset_section_cb, fbsd_make_corefile_notes):
+	Remove.
+	* fbsd-nat.h (fbsd_make_corefile_notes): Remove prototype.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* xtensa-tdep.c (xtensa_regset_from_core_section): Remove.
+	(xtensa_iterate_over_regset_sections): New.
+	(xtensa_gdbarch_init): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* vax-tdep.c (vax_regset_from_core_section): Remove.
+	(vax_iterate_over_regset_sections): New.
+	(vax_gdbarch_init): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* tilegx-linux-tdep.c (TILEGX_LINUX_SIZEOF_GREGSET): New macro.
+	(tilegx_regset_from_core_section): Remove.
+	(tilegx_iterate_over_regset_sections): New.
+	(tilegx_linux_init_abi): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* sparc-tdep.c (sparc_regset_from_core_section): Remove.
+	(sparc_iterate_over_regset_sections): New.
+	(sparc32_gdbarch_init): Adjust gdbarch initialization.
+	* configure.tgt (gdb_target_obs): Add fbsd-tdep.o for SPARC FreeBSD
+	targets.
+	* sparc64fbsd-tdep.c (fbsd-tdep.h): Include.
+	(sparc64fbsd_init_abi): Call fbsd_init_abi.
+	* sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Do not set
+	target method 'make_corefile_notes'.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* sh-linux-tdep.c (sh_linux_init_abi): Set tdep fields
+	'sizeof_gregset' and 'sizeof_fpregset'.
+	* sh-tdep.c (sh_regset_from_core_section): Remove.
+	(sh_iterate_over_regset_sections): New.
+	(sh_gdbarch_init): Adjust gdbarch initialization.
+	* sh-tdep.h (struct gdbarch_tdep): New fields sizeof_gregset and
+	sizeof_fpregset.
+	* shnbsd-tdep.c (shnbsd_init_abi): Set tdep field
+	'sizeof_gregset'.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* score-tdep.c (score7_linux_regset_from_core_section): Remove.
+	(score7_linux_iterate_over_regset_sections): New.
+	(score_gdbarch_init): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* configure.tgt (gdb_target_obs): Add fbsd-tdep.o for PowerPC
+	FreeBSD targets.
+	* ppcfbsd-nat.c (_initialize_ppcfbsd_nat): Do not set target
+	method 'make_corefile_notes'.
+	* ppcfbsd-tdep.c (fbsd-tdep.h): Include.
+	(ppcfbsd_regset_from_core_section): Remove.
+	(ppcfbsd_iterate_over_regset_sections): New.
+	(ppcfbsd_init_abi): Call fbsd_init_abi.  Adjust gdbarch
+	initialization.
+	* ppcnbsd-tdep.c (ppcnbsd_regset_from_core_section): Remove.
+	(ppcnbsd_iterate_over_regset_sections): New.
+	(ppcnbsd_init_abi): Adjust.
+	* ppcobsd-tdep.c (ppcobsd_regset_from_core_section): Remove.
+	(ppcobsd_iterate_over_regset_sections): New.
+	(ppcobsd_init_abi): Adjust.
+	* rs6000-aix-tdep.c (rs6000_aix_regset_from_core_section): Remove.
+	(rs6000_aix_iterate_over_regset_sections): New.
+	(rs6000_aix_init_osabi): Adjust.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* nios2-linux-tdep.c (NIOS2_GREGS_SIZE): New macro.
+	(nios2_regset_from_core_section): Remove.
+	(nios2_iterate_over_regset_sections): New.
+	(nios2_linux_init_abi): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* mn10300-linux-tdep.c (am33_regset_from_core_section): Remove.
+	(am33_iterate_over_regset_sections): New.
+	(am33_linux_init_osabi): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* mips-linux-tdep.c (mips_linux_regset_from_core_section): Remove.
+	(mips_linux_iterate_over_regset_sections): New.
+	(mips_linux_init_abi): Adjust gdbarch initialization.
+	* mips64obsd-tdep.c (mips64obsd_regset_from_core_section): Remove.
+	(mips64obsd_iterate_over_regset_sections): New.
+	(mips64obsd_init_abi): Adjust.
+	* mipsnbsd-tdep.c (mipsnbsd_regset_from_core_section): Remove.
+	(mipsnbsd_iterate_over_regset_sections): New.
+	(mipsnbsd_init_abi): Adjust.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* m88k-tdep.c (m88k_regset_from_core_section): Remove.
+	(m88k_iterate_over_regset_sections): New.
+	(m88k_gdbarch_init): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* ia64-linux-tdep.c (ia64_linux_regset_from_core_section): Remove.
+	(ia64_linux_iterate_over_regset_sections): New.
+	(ia64_linux_init_abi): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* m68kbsd-tdep.c (m68kbsd_regset_from_core_section): Remove.
+	(m68kbsd_iterate_over_regset_sections): New.
+	(m68kbsd_init_abi): Adjust gdbarch initialization.
+	* m68klinux-tdep.c (m68k_linux_regset_from_core_section): Remove.
+	(m68k_linux_iterate_over_regset_sections): New.
+	(m68k_linux_init_abi): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* m32r-linux-tdep.c (M32R_LINUX_GREGS_SIZE): New macro.
+	(m32r_linux_regset_from_core_section): Remove.
+	(m32r_linux_iterate_over_regset_sections): New.
+	(m32r_linux_init_abi): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* amd64obsd-tdep.c (amd64obsd_regset_from_core_section): Remove.
+	(amd64obsd_iterate_over_regset_sections): New.
+	(amd64obsd_core_init_abi): Adjust gdbarch initialization.
+	* i386-cygwin-tdep.c (i386_windows_regset_from_core_section):
+	Remove.
+	(i386_cygwin_init_abi): Clear tdep->sizeof_fpregset.  Drop
+	regset_from_core_section initialization.
+	* i386-tdep.c (i386_regset_from_core_section): Remove.
+	(i386_iterate_over_regset_sections): New.
+	(i386_gdbarch_init): Adjust gdbarch initialization.
+	* i386-tdep.h (i386_regset_from_core_section): Remove prototype.
+	(i386_iterate_over_regset_sections): New prototype.
+	* i386obsd-tdep.c (i386obsd_aout_regset_from_core_section):
+	Remove.
+	(i386obsd_aout_iterate_over_regset_sections): New.
+	(i386obsd_aout_init_abi): Adjust gdbarch initialization.
+	* configure.tgt (gdb_target_obs): Add fbsd-tdep.o for all x86 FreeBSD
+	targets.
+	* amd64fbsd-tdep.c (fbsd-tdep.h): Include.
+	(amd64fbsd_init_abi): Call fbsd_init_abi.
+	* i386fbsd-tdep.c (fbsd-tdep.h): Include.
+	(i386fbsd4_init_abi): Call fbsd_init_abi.
+	* amd64fbsd-nat.c (_initialize_amd64fbsd_nat): No longer set
+	target method 'make_corefile_notes'.
+	* i386fbsd-nat.c (_initialize_i386fbsd_nat): Likewise.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* hppa-hpux-tdep.c (hppa_hpux_regset_from_core_section): Remove.
+	(hppa_hpux_iterate_over_regset_sections): New.
+	(hppa_hpux_init_abi): Adjust gdbarch initialization.
+	* hppa-linux-tdep.c (hppa_linux_regset_from_core_section): Remove.
+	(hppa_linux_iterate_over_regset_sections): New.
+	(hppa_linux_init_abi): Adjust.
+	* hppanbsd-tdep.c (hppaobsd_regset_from_core_section): Remove.
+	(hppanbsd_iterate_over_regset_sections): New.
+	(hppanbsd_init_abi): Adjust.
+	* hppaobsd-tdep.c (hppaobsd_regset_from_core_section): Remove.
+	(hppaobsd_iterate_over_regset_sections): New.
+	(hppaobsd_init_abi): Adjust.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* frv-linux-tdep.c (frv_linux_regset_from_core_section): Remove.
+	(frv_linux_iterate_over_regset_sections): New.
+	(frv_linux_init_abi): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* arm-tdep.h (armbsd_regset_from_core_section): Remove prototype.
+	(armbsd_iterate_over_regset_sections): New prototype.
+	* armbsd-tdep.c (armbsd_regset_from_core_section): Remove.
+	(armbsd_iterate_over_regset_sections): New.
+	* armobsd-tdep.c (armobsd_init_abi): Adjust gdbarch
+	initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* alpha-linux-tdep.c (alpha_linux_regset_from_core_section): Remove.
+	(alpha_linux_iterate_over_regset_sections): New.
+	(alpha_linux_init_abi): Adjust gdbarch initialization.
+	* alphabsd-tdep.h (alphanbsd_regset_from_core_section): Remove
+	prototype.
+	(alphanbsd_iterate_over_regset_sections): New prototype.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* aarch64-linux-tdep.c (aarch64_linux_regset_from_core_section):
+	Remove.
+	(aarch64_linux_iterate_over_regset_sections): New.
+	(aarch64_linux_init_abi): Adjust gdbarch initialization.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* fbsd-tdep.c: New file.
+	* fbsd-tdep.h: New file.
+	* Makefile.in (ALL_TARGET_OBS): Add fbsd-tdep.o.
+	(HFILES_NO_SRCDIR): Add fbsd-tdep.h.
+	(ALLDEPFILES): Add fbsd-tdep.c.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdbarch.sh (iterate_over_regset_sections_cb): Add regset
+	parameter.
+	* gdbarch.h: Regenerate.
+	* corelow.c (sniff_core_bfd): Don't sniff if gdbarch has a regset
+	iterator.
+	(get_core_register_section): Add parameter 'regset' and use it, if
+	set.  Add parameter 'min_size' and verify the bfd section size
+	against it.
+	(get_core_registers_cb): Add parameter 'regset' and pass it to
+	get_core_register section.  For the "standard" register sections
+	".reg" and ".reg2", set an appropriate default for human_name.
+	(get_core_registers): Don't abort when the gdbarch has an iterator
+	but no regset_from_core_section.  Add NULL/0 for parameters
+	'regset'/'min_size' in calls to get_core_register_section.
+	* linux-tdep.c (linux_collect_regset_section_cb): Add parameter
+	'regset' and use it instead of calling the
+	regset_from_core_section gdbarch method.
+	* i386-tdep.h (struct gdbarch_tdep): Add field 'fpregset'.
+	* i386-tdep.c (i386_supply_xstateregset)
+	(i386_collect_xstateregset, i386_xstateregset): Moved to
+	i386-linux-tdep.c.
+	(i386_regset_from_core_section): Drop handling for .reg-xfp and
+	.reg-xstate.
+	(i386_gdbarch_init): Set tdep field 'fpregset'.  Enable generic
+	core file support only if the regset iterator hasn't been set.
+	* i386-linux-tdep.c (i386_linux_supply_xstateregset)
+	(i386_linux_collect_xstateregset, i386_linux_xstateregset): New.
+	Moved from i386-tdep.c and renamed to *_linux*.
+	(i386_linux_iterate_over_regset_sections): Add regset parameter to
+	each callback invocation.  Allow any .reg-xstate size when reading
+	from a core file.
+	* amd64-tdep.c (amd64_supply_xstateregset)
+	(amd64_collect_xstateregset, amd64_xstateregset): Moved to
+	amd64-linux-tdep.c.
+	(amd64_regset_from_core_section): Remove.
+	(amd64_init_abi): Set new tdep field 'fpregset'.  No longer
+	install an amd64-specific regset_from_core_section gdbarch method.
+	* amd64-linux-tdep.c (amd64_linux_supply_xstateregset)
+	(amd64_linux_collect_xstateregset, amd64_linux_xstateregset): New.
+	Moved from amd64-tdep.c and renamed to *_linux*.
+	(amd64_linux_iterate_over_regset_sections): Add regset parameter
+	to each callback invocation.  Allow any .reg-xstate size when
+	reading from a core file.
+	* arm-linux-tdep.c (arm_linux_regset_from_core_section): Remove.
+	(arm_linux_iterate_over_regset_sections): Add regset parameter to
+	each callback invocation.
+	(arm_linux_init_abi): No longer set the regset_from_core_section
+	gdbarch method.
+	* ppc-linux-tdep.c (ppc_linux_regset_from_core_section): Remove.
+	(ppc_linux_iterate_over_regset_sections): Add regset parameter to
+	each callback invocation.
+	(ppc_linux_init_abi): No longer set the regset_from_core_section
+	gdbarch method.
+	* s390-linux-tdep.c (struct gdbarch_tdep): Remove the fields
+	gregset, sizeof_gregset, fpregset, and sizeof_fpregset.
+	(s390_regset_from_core_section): Remove.
+	(s390_iterate_over_regset_sections): Add regset parameter to each
+	callback invocation.
+	(s390_gdbarch_init): No longer set the regset_from_core_section
+	gdbarch method.  Drop initialization of deleted tdep fields.
+
+2014-09-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* amd64-linux-tdep.c (amd64_linux_regset_sections): Remove.
+	(amd64_linux_iterate_over_regset_sections): New.
+	(amd64_linux_init_abi_common): Don't install the regset section
+	list, but the new iterator in gdbarch.
+	* arm-linux-tdep.c (arm_linux_fpa_regset_sections)
+	(arm_linux_vfp_regset_sections): Remove.  Move combined logic...
+	(arm_linux_iterate_over_regset_sections): ...here.  New function.
+	(arm_linux_init_abi): Set iterator instead of section list.
+	* corelow.c (get_core_registers_cb): New function, logic moved
+	from...
+	(get_core_registers): ...loop body here.  Use new iterator method
+	instead of walking through the regset section list.
+	* gdbarch.sh: Remove 'core_regset_sections'.  New method
+	'iterate_over_regset_sections'.  New typedef
+	'iterate_over_regset_sections_cb'.
+	* gdbarch.c: Regenerate.
+	* gdbarch.h: Likewise.
+	* i386-linux-tdep.c (i386_linux_regset_sections)
+	(i386_linux_sse_regset_sections, i386_linux_avx_regset_sections):
+	Remove.
+	(i386_linux_iterate_over_regset_sections): New.
+	(i386_linux_init_abi): Don't choose a regset section list, but
+	install new iterator in gdbarch.
+	* linux-tdep.c (struct linux_collect_regset_section_cb_data): New.
+	(linux_collect_regset_section_cb): New function, logic moved
+	from...
+	(linux_collect_thread_registers): ...loop body here.  Use iterator
+	method instead of walking through list.
+	(linux_make_corefile_notes_1): Check for presence of iterator
+	method instead of regset section list.
+	* ppc-linux-tdep.c (ppc_linux_vsx_regset_sections)
+	(ppc_linux_vmx_regset_sections, ppc_linux_fp_regset_sections)
+	(ppc64_linux_vsx_regset_sections, ppc64_linux_vmx_regset_sections)
+	(ppc64_linux_fp_regset_sections): Remove.  Move combined logic...
+	(ppc_linux_iterate_over_regset_sections): ...here.  New function.
+	(ppc_linux_init_abi): Don't choose from above regset section
+	lists, but install new iterator in gdbarch.
+	* regset.h (struct core_regset_section): Remove.
+	* s390-linux-tdep.c (struct gdbarch_tdep): Add new fields
+	have_linux_v1, have_linux_v2, and have_tdb.
+	(s390_linux32_regset_sections, s390_linux32v1_regset_sections)
+	(s390_linux32v2_regset_sections, s390_linux64_regset_sections)
+	(s390_linux64v1_regset_sections, s390_linux64v2_regset_sections)
+	(s390x_linux64_regset_sections, s390x_linux64v1_regset_sections)
+	(s390x_linux64v2_regset_sections): Remove.  Move combined logic...
+	(s390_iterate_over_regset_sections): ...here.  New function.  Use
+	new tdep fields.
+	(s390_gdbarch_init): Set new tdep fields.  Don't choose from above
+	regset section lists, but install new iterator.
+
+2014-09-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* solib-svr4.c (svr4_parse_libraries): Use "library-list-svr4.dtd".
+
+2014-09-26  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* progspace.c (print_program_space): Don't prune program spaces
+	before printing them.
+
+2014-09-25  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (user_visible_resume_ptid): Don't check
+	singlestep_breakpoints_inserted_p.
+
+2014-09-25  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (should_be_inserted): Add debug output.
+
+2014-09-25  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (stepping_past_instruction_at)
+	(clear_exit_convenience_vars): Point at infrun.h instead of
+	inferior.h.
+	(handle_signal_stop): Fix typo.
+
+2014-09-24  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (thumb_in_function_epilogue_p): Fix typo in the
+	bitmask.
+
+2014-09-22  Gary Benson  <gbenson@redhat.com>
+
+	* target.c (target_stop): Updated comment.
+
+2014-09-22  Gary Benson  <gbenson@redhat.com>
+
+	* target/target.h (target_stop_ptid): Renamed as...
+	(target_stop_and_wait): New function.  Updated comment.
+	All uses updated.
+	(target_continue_ptid): Renamed as...
+	(target_continue_no_signal): New function.  Updated comment.
+	All uses updated.
+
+2014-09-22  Pedro Alves  <palves@redhat.com>
+
+	* NEWS: Mention merge of "breakpoint always-inserted" modes "off"
+	and "auto" merged.
+	* breakpoint.c (enum ugll_insert_mode): New enum.
+	(always_inserted_mode): Now a plain boolean.
+	(show_always_inserted_mode): No longer handle AUTO_BOOLEAN_AUTO.
+	(breakpoints_always_inserted_mode): Delete.
+	(breakpoints_should_be_inserted_now): New function.
+	(insert_breakpoints): Pass UGLL_INSERT to
+	update_global_location_list instead of calling
+	insert_breakpoint_locations manually.
+	(create_solib_event_breakpoint_1): New, factored out from ...
+	(create_solib_event_breakpoint): ... this.
+	(create_and_insert_solib_event_breakpoint): Use
+	create_solib_event_breakpoint_1 instead of calling
+	insert_breakpoint_locations manually.
+	(update_global_location_list): Change parameter type from boolean
+	to enum ugll_insert_mode.  All callers adjusted.  Adjust to use
+	breakpoints_should_be_inserted_now and handle UGLL_INSERT.
+	(update_global_location_list_nothrow): Change parameter type from
+	boolean to enum ugll_insert_mode.
+	(_initialize_breakpoint): "breakpoint always-inserted" option is
+	now a boolean command.  Update help text.
+	* breakpoint.h (breakpoints_always_inserted_mode): Delete declaration.
+	(breakpoints_should_be_inserted_now): New declaration.
+	* infrun.c (handle_inferior_event) <TARGET_WAITKIND_LOADED>:
+	Remove breakpoints_always_inserted_mode check.
+	(normal_stop): Adjust to use breakpoints_should_be_inserted_now.
+	* remote.c (remote_start_remote): Likewise.
+
+2014-09-22  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (enum ugll_insert_mode): Add UGLL_INSERT.
+	(insert_breakpoints): Don't call insert_breakpoint_locations here.
+	Instead, pass UGLL_INSERT to update_global_location_list.
+	(update_global_location_list): Change parameter type from boolean
+	to enum ugll_insert_mode.  All callers adjusted.  Adjust to use
+	breakpoints_should_be_inserted_now and handle UGLL_INSERT.
+	(create_solib_event_breakpoint_1): New, factored out from ...
+	(create_solib_event_breakpoint): ... this.
+	(create_and_insert_solib_event_breakpoint): Use
+	create_solib_event_breakpoint_1 instead of calling
+	insert_breakpoint_locations manually.
+	(update_global_location_list): Handle UGLL_INSERT.
+
+2014-09-22  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (enum ugll_insert_mode): New enum.
+	(update_global_location_list)
+	(update_global_location_list_nothrow): Change parameter type from
+	boolean to enum ugll_insert_mode.  All callers adjusted.
+
+2014-09-19  Joel Brobecker  <brobecker@adacore.com>
+
+	* MAINTAINERS: Add Sergio Durigan Junior as maintainer of
+	SystemTap support in GDB.
+
+2014-09-19  Don Breazeal  <donb@codesourcery.com>
+
+	* linux-nat.c (linux_handle_extended_wait): Call
+	linux_ptrace_get_extended_event.
+	(wait_lwp): Call linux_is_extended_waitstatus.
+	(linux_nat_filter_event): Call linux_ptrace_get_extended_event
+	and linux_is_extended_waitstatus.
+	* nat/linux-ptrace.c (linux_test_for_tracefork): Call
+	linux_ptrace_get_extended_event.
+	(linux_ptrace_get_extended_event): New function.
+	(linux_is_extended_waitstatus): New function.
+	* nat/linux-ptrace.h (linux_ptrace_get_extended_event)
+	(linux_is_extended_waitstatus): New declarations.
+
+2014-09-19  Yao Qi  <yao@codesourcery.com>
+
+	* dwarf2read.c (dwarf_decode_lines): Update declaration.
+	(handle_DW_AT_stmt_list): Add argument 'lowpc'.  Update
+	comments.  Callers update.
+	(dwarf_decode_lines): Likewise.
+	(dwarf_decode_lines_1): Add argument 'lowpc'.  Update
+	comments.  Skip the line table if  'lowpc' is greater than
+	'address'.  Don't check
+	dwarf2_per_objfile->has_section_at_zero.
+
+2014-09-18  Doug Evans  <dje@google.com>
+
+	* NEWS: Mention new "producer" attribute of gdb.Symtab.
+	* python/py-symtab.c (stpy_get_producer): New function.
+	(symtab_object_getset): Add "producer" attribute.
+
+2014-09-17  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	PR gdb/17384
+	* corefile.c (struct captured_read_memory_integer_arguments): Remove.
+	(do_captured_read_memory_integer): Remove.
+	(safe_read_memory_integer): Use target_read_memory directly instead
+	of catching errors in do_captured_read_memory_integer.
+
+2014-09-16  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* CONTRIBUTE (Coding Standards): For internals refer to wiki,
+	not gdb/doc.
+
+2014-09-16  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* objc-lang.c (find_implementation_from_class): Remove dead code.
+
+2014-09-16  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR cli/7233
+	* linux-nat.c (linux_nat_wait_1): Replace "fprintf (stderr..." by
+	"fprintf_unfiltered (gdb_stdlog...)".
+
+2014-09-16  Patrick Palka  <patrick@parcs.ath.cx>
+
+	PR breakpoints/12526
+	* breakpoint.h (struct watchpoint): New fields val_bitpos and
+	val_bitsize.
+	* breakpoint.c (watch_command_1): Use these fields to retain
+	bitfield information.
+	(extract_bitfield_from_watchpoint_value): New function.
+	(watchpoint_check): Use it.
+	(update_watchpoint): Use it.  Optimize the address and length of a
+	HW watchpoint pointing to a bitfield.
+	* value.h (unpack_value_bitfield): New prototype.
+	* value.c (unpack_value_bitfield): Make extern.
+
+2014-09-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	* config/i386/i386gnu.mh (NATDEPFILES): Add x86-nat.o and
+	x86-dregs.o.
+	* gnu-nat.c (inf_threads): New function.
+	* gnu-nat.h (inf_threads_ftype): New typedef.
+	(inf_threads): New declaration.
+	* i386gnu-nat.c: Include "x86-nat.h" and "inf-child.h".
+	[i386_DEBUG_STATE] (i386_gnu_dr_get, i386_gnu_dr_set)
+	(i386_gnu_dr_set_control_one, i386_gnu_dr_set_control)
+	(i386_gnu_dr_set_addr_one, i386_gnu_dr_set_addr)
+	(i386_gnu_dr_get_reg, i386_gnu_dr_get_addr, 386_gnu_dr_get_status)
+	(i386_gnu_dr_get_control): New functions.
+	(reg_addr): New structure.
+	(_initialize_i386gnu_nat) [i386_DEBUG_STATE]: Initialize hardware
+	i386 debugging register hooks.
+	* NEWS: Mention this.
+
+2014-08-13  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-tdep.c (arm_record_vdata_transfer_insn): Added record handler for
+	vector data transfer instructions.
+	(arm_record_coproc_data_proc): Updated.
+
+2014-08-13  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-tdep.c (arm_record_asimd_vfp_coproc): Replace stub handler with
+	arm_record_exreg_ld_st_insn.
+	(arm_record_exreg_ld_st_insn): Add record handler for ex-register
+	load/store insns.
+
+2014-08-13  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-tdep.c (arm_record_coproc_data_proc): Updated.
+	(arm_record_vfp_data_proc_insn): Added record handler for VFP data
+	processing instructions.
+
+2014-08-13  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-tdep.c (thumb2_record_asimd_struct_ld_st): Add record handler
+	for advance SIMD struct ld/st insn.
+	(thumb2_record_decode_insn_handler): Replace stub handler with
+	thumb2_record_asimd_struct_ld_st.
+
+2014-08-13  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-tdep.c (arm_record_coproc_data_proc): Add record handler stubs
+	for asimd, vfp and coprocessor insns.
+	(arm_record_asimd_vfp_coproc): Add record handler for asimd, vfp
+	and coprocessor insns.
+	(thumb2_record_coproc_insn): New function.
+	(thumb2_record_decode_insn_handler): Update coprocessor insns record
+	handlers.
+	(decode_insn): Install arm_record_asimd_vfp_coproc as handler for
+	opcode 110 insns.
+
+2014-09-13  Doug Evans  <xdje42@gmail.com>
+
+	* NEWS: Mention new "queue-signal" command.
+	* infcmd.c (queue_signal_command): New function.
+	(_initialize_infcmd): Add new queue-signal command.
+
+2014-09-13  Doug Evans  <xdje42@gmail.com>
+
+	* linux-nat.c (wait_lwp): Add debugging printf.
+	(linux_nat_wait_1): Ditto.
+
+2014-09-12  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (remove_solib_event_breakpoints_at_next_stop)
+	(create_and_insert_solib_event_breakpoint): New functions.
+	* breakpoint.h (create_and_insert_solib_event_breakpoint)
+	(remove_solib_event_breakpoints_at_next_stop): New declarations.
+	* procfs.c (dbx_link_bpt_addr, dbx_link_bpt): Delete globals.
+	(remove_dbx_link_breakpoint): Delete function.
+	(insert_dbx_link_bpt_in_file): Use
+	create_and_insert_solib_event_breakpoint instead of
+	deprecated_insert_raw_breakpoint.
+	(procfs_wait): Don't check whether we hit __dbx_link here.
+	(procfs_mourn_inferior): Don't delete the __dbx_link breakpoint
+	here.
+	* solib-irix.c (base_breakpoint): Delete global.
+	(disable_break): Delete function.
+	(enable_break): Use create_solib_event_breakpoint
+	instead of deprecated_insert_raw_breakpoint.
+	(irix_solib_handle_event): New function.
+	(irix_solib_create_inferior_hook): Don't run the target or disable
+	the mapping-complete breakpoint here.
+	(_initialize_irix_solib): Install irix_solib_handle_event as
+	so_ops->handle_event hook.
+
+2014-09-12  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+	    Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	PR tdep/17379
+	* rs6000-tdep.c (rs6000_frame_cache): Use safe_read_memory_integer
+	instead of read_memory_unsigned_integer.
+
+2014-09-12  Gary Benson  <gbenson@redhat.com>
+
+	* nat/linux-waitpid.c: Include common-defs.h.
+	[GDBSERVER]: Add FIXME comment.
+	[!GDBSERVER]: Don't include defs.h or signal.h.
+	(linux_debug) [!GDBSERVER]: Remove empty block.
+
+2014-09-12  Gary Benson  <gbenson@redhat.com>
+
+	* nat/x86-dregs.c: Include common-defs.h and break-common.h.
+	Don't include defs.h or server.h.
+
+2014-09-12  Gary Benson  <gbenson@redhat.com>
+
+	* nat/linux-btrace.c: Include common-defs.h.
+	Don't include defs.h, server.h or gdbthread.h.
+	* nat/linux-btrace.h (struct target_ops): New forward declaration.
+
+2014-09-12  Gary Benson  <gbenson@redhat.com>
+
+	* common/agent.c: Include common-defs.h.
+	Don't include defs.h or server.h.
+	* common/buffer.c: Likewise.
+	* common/common-debug.c: Likewise.
+	* common/common-utils.c: Likewise.
+	* common/errors.c: Likewise.
+	* common/filestuff.c: Likewise.
+	* common/format.c: Likewise.
+	* common/gdb_vecs.c: Likewise.
+	* common/print-utils.c: Likewise.
+	* common/ptid.c: Likewise.
+	* common/rsp-low.c: Likewise.
+	* common/signals.c: Likewise.
+	* common/vec.c: Likewise.
+	* common/xml-utils.c: Likewise.
+	* nat/linux-osdata.c: Likewise.
+	* nat/linux-procfs.c: Likewise.
+	* nat/linux-ptrace.c: Likewise.
+	* nat/mips-linux-watch.c: Likewise.
+	* target/waitstatus.c: Likewise.
+
+2014-09-12  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* common/common-regcache.h: New file.
+	* Makefile.in (HFILES_NO_SRCDIR): Add common/common-regcache.h.
+	* regcache.h: Include common-regcache.h.
+	(regcache_read_pc): Don't declare.
+	* regcache.c (get_thread_regcache_for_ptid): New function.
+	* nat/linux-btrace.c: Don't include regcache.h.
+	Include common-regcache.h.
+	(perf_event_read_bts): Use get_thread_regcache_for_ptid.
+
+2014-09-11  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* regcache.h (struct regset): Declare.
+
+2014-09-11  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17347
+	* main.c: Include "infrun.h".
+	(catch_command_errors, catch_command_errors_const): Wait for the
+	foreground command to complete.
+	* top.c (maybe_wait_sync_command_done): New function, factored out
+	from ...
+	(maybe_wait_sync_command_done): ... here.
+	* top.h (maybe_wait_sync_command_done): New declaration.
+
+2014-09-11  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* common/symbol.h: New file.
+	* Makefile.in (HFILES_NO_SRCDIR): Add common/symbol.h.
+	* minsyms.c (find_minimal_symbol_address): New function.
+	* common/agent.c: Include common/symbol.h.
+	[!GDBSERVER]: Don't include objfiles.h.
+	(agent_look_up_symbols): Use find_minimal_symbol_address.
+
+2014-09-11  Gary Benson  <gbenson@redhat.com>
+
+	* target/target.h (target_stop_ptid, target_continue_ptid):
+	Declare.
+	* target.c (target_stop_ptid, target_continue_ptid): New
+	functions.
+	* common/agent.c [!GDBSERVER]: Don't include infrun.h.
+	(agent_run_command): Always use target_stop_ptid and
+	target_continue_ptid.
+
+2014-09-11  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* target/target.h: New file.
+	* Makefile.in (HFILES_NO_SRCDIR): Add target/target.h.
+	* target.h: Include target/target.h.
+	(target_read_memory, target_write_memory): Don't declare.
+	* target.c (target_read_uint32): New function.
+	* common/agent.c: Include target/target.h.
+	[!GDBSERVER]: Don't include target.h.
+	(helper_thread_id): Type changed to uint32_t.
+	(agent_get_helper_thread_id): Use target_read_uint32.
+	(agent_run_command): Always use target_read_memory and
+	target_write_memory.
+	(agent_capability): Type changed to uint32_t.
+	(agent_capability_check): Use target_read_uint32.
+
+2014-09-11  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-debug.h (show_debug_regs): Declare.
+	* common/common-debug.c (show_debug_regs): Define.
+	* aarch64-linux-nat.c (debug_hw_points): Don't define.  Replace
+	all uses with show_debug_regs.  Replace all uses that considered
+	debug_hw_points as a multi-value integer with straight boolean
+	uses.
+	* x86-nat.c (debug_hw_points): Don't define.  Replace all uses
+	with show_debug_regs.
+	* nat/x86-dregs.c (debug_hw_points): Don't declare.  Replace
+	all uses with show_debug_regs.
+	* mips-linux-nat.c (maint_show_dr): Don't define.  Replace all
+	uses with show_debug_regs.
+
+2014-09-10  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* findvar.c (address_from_register): Handle targets requiring
+	a special conversion routine even for plain pointer types.
+
+2014-09-10  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* rs6000-nat.c (exec_one_dummy_insn): Remove.
+	(store_register): Do not call exec_one_dummy_insn.
+
+2014-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_array_bound): If ARR is a TYPE_CODE_PTR,
+	dereference it first.  Use value_enclosing_type instead of
+	value_type.
+	(ada_array_length): Likewise.
+
+2014-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_value_ptr_subscript): Remove parameter "type".
+	Adjust function implementation and documentation accordingly.
+	(ada_evaluate_subexp) <OP_FUNCALL>: Only assign "type" if
+	NOSIDE is EVAL_AVOID_SIDE_EFFECTS.
+	Update call to ada_value_ptr_subscript.
+
+2014-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (ada_value_print): Use VAL's enclosing type
+	instead of VAL's type.
+
+2014-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* amd64-linux-nat.c: Add <sys/uio.h> #include.
+
+2014-09-09  Doug Evans  <xdje42@gmail.com>
+
+	PR guile/17367
+	* acinclude.m4 (GDB_GUILE_PROGRAM_NAMES): Pass guile version as
+	last parameter to pkg-config, not first.
+	* configure.ac: Pass --with-guile provided pkg-config path to
+	GDB_GUILE_PROGRAM_NAMES.
+	* configure: Regenerate.
+
+2014-09-09  Gabriel Krisman Bertazi  <gabriel@krisman.be>
+
+	* MAINTAINERS (Write After Approval): Add "Gabriel Krisman
+	Bertazi".
+
+2014-09-09  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* mips-irix-tdep.c (mips_irix_elf_osabi_sniff_abi_tag_sections):
+	Exclude `.MIPS.abiflags', `.MIPS.options' and `.MIPS.stubs' from
+	the list of sections determining GDB_OSABI_IRIX.
+
+2014-09-09  James Hogan  <james.hogan@imgtec.com>
+
+	* MAINTAINERS (Write After Approval): Add "James Hogan".
+
+2014-09-09  James Hogan  <james.hogan@imgtec.com>
+
+	* trad-frame.h (trad_frame_set_reg_unknown): Remove declaration.
+
+2014-09-09  Joel Brobecker  <brobecker@adacore.com>
+
+	* i386-linux-nat.c, x86-linux-nat.c: Add <sys/uio.h> #include.
+
+2014-09-08  Doug Evans  <xdje42@gmail.com>
+
+	PR 17247
+	* guile.c: #include <signal.h>.
+	(_initialize_guile): Block SIGCHLD while initializing Guile.
+
+	Replaces the following, which is reverted.
+
+	2014-07-26  Doug Evans  <xdje42@gmail.com>
+
+	PR 17185
+	* configure.ac: Add check for header gc/gc.h.
+	Add check for function setenv.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* guile/guile.c (_initialize_guile): Add workaround for libgc 7.4.0.
+
+2014-09-08  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-cmd.c (gdbscm_parse_command_name): Replace magic number
+	with named constant.  Fix style of pointer comparison.
+	* python/py-cmd.c (gdbpy_parse_command_name): Ditto.
+
+2014-09-07  Gabriel Krisman Bertazi  <gabriel@krisman.be>
+
+	PR gdb/17035
+	* cli/cli-cmds.c (show_user): Use cli_user_command_p to
+	decide whether we display the command on "show user".
+	* cli/cli-script.c (show_user_1): Only verify cmdlines after
+	printing command name.
+	* cli/cli-decode.h (cli_user_command_p): Declare new function.
+	* cli/cli-decode.c (cli_user_command_p): Create helper function
+	to verify whether cmd_list_element is a user-defined command.
+
+2014-09-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR python/17355
+	* python/py-framefilter.c (py_print_single_arg): Handle NULL FA->VAL.
+	Fix goto out of TRY_CATCH.
+
+2014-09-06  Doug Evans  <xdje42@gmail.com>
+	    Tom Tromey  <tromey@redhat.com>
+
+	PR 15276
+	* NEWS: Mention $_caller_is, $_caller_matches, $_any_caller_is,
+	$_any_caller_matches.
+	* data-directory/Makefile.in (PYTHON_FILE_LIST): Add caller_is.py.
+	* python/lib/gdb/function/caller_is.py: New file.
+
+2014-09-06  Doug Evans  <xdje42@gmail.com>
+
+	* infcmd.c (program_info): Fix typo.
+
+2014-09-05  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR gdb/17235
+	* stap-probe.c (stap_parse_single_operand): Delete unused variable
+	'number'.  New variable 'has_digit'.  Rewrite code to deal with
+	subexpressions on SDT probes.
+
+2014-09-04  Pedro Alves  <palves@redhat.com>
+
+	* c-exp.y (parse_number): Skip handling base-switching prefixes if
+	the input is only one character long.
+
+2014-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR fortran/17237
+	* f-valprint.c (f_val_print): Specify the correct print option to
+	use when printing integer values.
+
+2014-09-04  Gary Benson  <gbenson@redhat.com>
+
+	* x86-linux-nat.c (x86_linux_dr_get, x86_linux_dr_set):
+	Remove code to cope with LWPs wrapped as PIDs.
+	Add assertions to ensure no wrapped LWPs are passed.
+
+2014-09-04  Pedro Alves  <palves@redhat.com>
+
+	* value.c (value_ranges_copy_adjusted): New function, factored out
+	from ...
+	(value_contents_copy_raw): ... here.
+	(unpack_value_bits_as_long_1): Rename back to ...
+	(unpack_bits_as_long): ... this.  Remove 'original_value' and
+	'result' parameters.  Change return type to LONGEST.
+	(unpack_value_bits_as_long): Delete.
+	(unpack_value_field_as_long_1): Delete.
+	(unpack_value_field_as_long, unpack_field_as_long): Reimplement.
+	(unpack_value_bitfield): New function.
+	(value_field_bitfield): Reimplement using unpack_value_bitfield.
+	(value_fetch_lazy): Use unpack_value_bitfield.
+	* value.h (unpack_value_bits_as_long): Delete declaration.
+
+2014-09-03  Sasha Smundak  <asmundak@google.com>
+
+	* python/py-frame.c (frapy_read_register): New function.
+
+2014-09-03  James Hogan  <james.hogan@imgtec.com>
+
+	* mips-linux-nat.c (mips_linux_read_description): Reset errno to 0
+	prior to reading DSP_CONTROL with PTRACE_PEEKUSER ptrace call.
+
+2014-09-03  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR python/16699
+	* cli/cli-decode.c (set_cmd_completer_handle_brkchars): New
+	function.
+	(add_cmd): Set "completer_handle_brkchars" to NULL.
+	* cli/cli-decode.h (struct cmd_list_element)
+	<completer_handle_brkchars>: New field.
+	* command.h (completer_ftype_void): New typedef.
+	(set_cmd_completer_handle_brkchars): New prototype.
+	* completer.c (set_gdb_completion_word_break_characters): New
+	function.
+	(complete_line_internal): Call "completer_handle_brkchars"
+	callback from command.
+	* completer.h: Include "command.h".
+	(set_gdb_completion_word_break_characters): New prototype.
+	* python/py-cmd.c (cmdpy_completer_helper): New function.
+	(cmdpy_completer_handle_brkchars): New function.
+	(cmdpy_completer): Adjust to use cmdpy_completer_helper.
+	(cmdpy_init): Set completer_handle_brkchars to
+	cmdpy_completer_handle_brkchars.
+
+2014-09-03  Gary Benson  <gbenson@redhat.com>
+
+	* nat/x86-dregs.h (ALL_DEBUG_REGISTERS): Renamed as...
+	(ALL_DEBUG_ADDRESS_REGISTERS): New macro.  All uses updated.
+	Loop conditions	changed to equivalent form.
+	(struct x86_debug_reg_state): Updated dr_ref_count comment.
+	* x86-linux-nat.c (x86_linux_prepare_to_resume): Use
+	ALL_DEBUG_ADDRESS_REGISTERS.
+
+2014-09-03  Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2loc.h (dwarf2_evaluate_property): Minor function
+	description fix.
+
+2014-09-02  Doug Evans  <dje@google.com>
+
+	* typeprint.c (find_global_typedef): Fix comment.
+
+2014-09-02  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.h: Renamed as...
+	* x86-nat.h: New file.  All type, function and variable name
+	prefixes changed from "i386_" to "x86_".  All references updated.
+	* i386-nat.c: Renamed as...
+	* x86-nat.c: New file.  All type, function and variable name
+	prefixes changed from "i386_" to "x86_".  All references updated.
+	* common/i386-xstate.h: Renamed as...
+	* common/x86-xstate.h: New file.  All type, function and variable
+	name prefixes changed from "i386_" to "x86_".  All references
+	updated.
+	* nat/i386-cpuid.h: Renamed as...
+	* nat/x86-cpuid.h: New file.  All type, function and variable name
+	prefixes changed from "i386_" to "x86_".  All references updated.
+	* nat/i386-gcc-cpuid.h: Renamed as...
+	* nat/x86-gcc-cpuid.h: New file.  All type, function and variable
+	name prefixes changed from "i386_" to "x86_".  All references
+	updated.
+	* nat/i386-dregs.h: Renamed as...
+	* nat/x86-dregs.h: New file.  All type, function and variable name
+	prefixes changed from "i386_" to "x86_".  All references updated.
+	* nat/i386-dregs.c: Renamed as...
+	* nat/x86-dregs.c: New file.  All type, function and variable name
+	prefixes changed from "i386_" to "x86_".  All references updated.
+
+2014-09-01  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* varobj.c (_initialize_varobj): Move to the end of file.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-exceptions.h: New file.
+	* common/common-exceptions.c: Likewise.
+	* Makefile.in (SFILES): Add common/common-exceptions.c.
+	(HFILES_NO_SRCDIR): Add common/common-exceptions.h.
+	(COMMON_OBS): Add common-exceptions.o.
+	(common-exceptions.o): New rule.
+	* exceptions.h (common-exceptions.h): Include.
+	(gdb_setjmp.h): Do not include.
+	(return_reason): Moved to common-exceptions.h.
+	(enum return_reason): Likewise.
+	(RETURN_MASK): Likewise.
+	(typedef return_mask): Likewise.
+	(enum errors): Likewise.
+	(struct gdb_exception): Likewise.
+	(exceptions_state_mc_init): Likewise.
+	(exceptions_state_mc_action_iter): Likewise.
+	(exceptions_state_mc_action_iter_1): Likewise.
+	(TRY_CATCH): Likewise.
+	(throw_exception): Likewise.
+	(throw_verror): Likewise.
+	(throw_vquit): Likewise.
+	(throw_error): Likewise.
+	(throw_quit): Likewise.
+	* exceptions.c (enum catcher_state): Moved to common-exceptions.c.
+	(enum catcher_action): Likewise.
+	(struct catcher): Likewise.
+	(current_catcher): Likewise.
+	(catcher_list_size): Likewise.
+	(exceptions_state_mc_init): Likewise.
+	(catcher_pop): Likewise.
+	(exceptions_state_mc): Likewise.
+	(exceptions_state_mc_action_iter): Likewise.
+	(exceptions_state_mc_action_iter_1): Likewise.
+	(throw_exception): Likewise.
+	(exception_messages): Likewise.
+	(exception_messages_size): Likewise.
+	(throw_it): Likewise.
+	(throw_verror): Likewise.
+	(throw_vquit): Likewise.
+	(throw_error): Likewise.
+	(throw_quit): Likewise.
+	(prepare_to_throw_exception): New function.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* common/gdb_setjmp.h: New file.
+	* Makefile.in (HFILES_NO_SRCDIR): Add common/gdb_setjmp.h.
+	* configure.ac: Move sigsetjmp check...
+	* common/common.m4: ...here.
+	* configure: Regenerate.
+	* cp-support.c (SIGJMP_BUF): Delete.
+	(SIGSETJMP): Likewise.
+	(SIGLONGJMP): Likewise.
+	* exceptions.h (gdb_setjmp.h): Include.
+	(setjmp.h): Do not include.
+	(EXCEPTIONS_SIGJMP_BUF): Delete.
+	(EXCEPTIONS_SIGSETJMP): Likewise.
+	(EXCEPTIONS_SIGLONGJMP): Likewise.
+	Replace all uses of EXCEPTIONS_SIG* macros with SIG* macros
+	from gdb_setjmp.h.
+	* exceptions.c: Likewise.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* cleanups.h: Moved to...
+	* common/cleanups.h: New file.
+	* cleanups.c: Moved to...
+	* common/cleanups.c: New file.  Include common-defs.h and
+	cleanups.h.  Do not include defs.h.
+	* Makefile.in (SFILES): Replace cleanups.c with common/cleanups.c.
+	(HFILES_NO_SRCDIR): Replace cleanups.h with common/cleanups.h.
+	(cleanups.o): New rule.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* common/errors.h (internal_warning): New declaration.
+	(internal_vwarning): Likewise.
+	* common/errors.c (internal_warning): New function.
+	* utils.h (internal_warning): Don't declare.
+	(internal_vwarning): Likewise.
+	* utils.c (internal_warning): Removed.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* main.c (captured_main): Use warning during startup.
+	Prefix startup warning messages with command name.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* main.c (captured_main): Handle usage errors with error.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* go32-nat.c (go32_create_inferior): Replace a fprintf/
+	exit pair with a call to error.  Wrap the message with _().
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* main.c (captured_main): Replace a fprintf/exit
+	pair with a call to error.  Wrap the message with _().
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* tui/tui-io.c (tui_initialize_io): Replace two fprintf/exit
+	pairs with calls to error.  Wrap the message with _().
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* utils.c (vwarning): Protect calls to target_terminal_ours
+	and wrap_here.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* exceptions.c (print_flush): Protect calls to
+	target_terminal_ours and wrap_here.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* utils.h (filtered_printing_initialized): New declaration.
+	* utils.c (abort_with_message): New function.
+	(internal_vproblem): Use abort_with_message for first level
+	recursive internal problems, and if gdb_stderr is not set up.
+	Protect calls to target_terminal_ours, begin_line and query.
+
+2014-08-28  Doug Evans  <dje@google.com>
+
+	* symtab.c (in_prologue): Move definition to better spot.
+	(skip_prologue_using_sal): Ditto.
+
+2014-08-28  Doug Evans  <dje@google.com>
+
+	* symtab.c (find_function_start_sal): Move definition to better spot.
+
+2014-08-28  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (thumb_in_function_epilogue_p): Don't set
+	found_stack_adjust in forward scan.  Remove condition check
+	on found_stack_adjust which is always true.  Indent the code.
+
+2014-08-28  Yao Qi  <yao@codesourcery.com>
+
+	* dwarf2read.c (dwarf_decode_lines): Update declaration.
+	(handle_DW_AT_stmt_list): Remove comment about WANT_LINE_INFO.
+	(dwarf_decode_lines): Remove argument
+	want_line_info.  Remove condition check on want_line_info.
+	Callers update.
+
+2014-08-27  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (dwarf_record_line): Fix typo.
+
+2014-08-27  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* target.h (struct target_ops::to_terminal_save_ours): Remove
+	declaration.
+	(target_terminal_save_ours): Remove macro.
+	* target-delegates.c: Regenerate.
+	* inf-child.c (inf_child_target): Don't set the nonexistent
+	field to_terminal_save_ours.
+	* inferior.h (child_terminal_save_ours): Remove declaration.
+	* terminal.h (gdb_save_tty_state): New declaration.
+	* inflow.c (child_terminal_save_ours): Rename to ...
+	(gdb_save_tty_state): ... this.
+	* tui/tui.c: Include terminal.h.
+	(tui_enable): Use gdb_save_tty_state instead of
+	target_terminal_save_ours.
+	(tui_disable): Likewise.
+
+2014-08-25  Doug Evans  <dje@google.com>
+
+	* linux-nat.c (linux_nat_close): Don't pass NULL for "this".
+	Pass NULL instead of 0 for context pointer.
+
+2014-08-25  Yao Qi  <yao@codesourcery.com>
+
+	* dwarf2read.c: Fix grammatical error.
+
+2014-08-24  Yao Qi  <yao@codesourcery.com>
+
+	* dwarf2read.c (scan_partial_symbols):  Update comments.
+	Rename argument 'need_pc' with 'set_addrmap'.
+	ï¼ˆadd_partial_namespace): Rename argument 'need_pc' with
+	'set_addrmap'.
+	(add_partial_module): Likewise.
+	(add_partial_subprogram): Likewise.  Update comments.
+	(dwarf2_name): Fix typo.
+
+2014-08-22  Doug Evans  <dje@google.com>
+
+	PR 17276
+	* dwarf2read.c (dwarf_record_line_p): New function.
+	(dwarf_decode_lines_1): Ignore subsequent line number entries
+	for the same line if any entry had a non-zero discriminator.
+
+2014-08-22  Doug Evans  <dje@google.com>
+
+	* buildsym.h (record_line_ftype): New typedef.
+	(record_line): Use it.
+	* dwarf2read.c (dwarf_record_line, dwarf_finish_line): New functions.
+	(dwarf_decode_lines_1): Call them.
+
+2014-08-22  Yao Qi  <yao@codesourcery.com>
+
+	* ctf.c (CTF_FILE_MIN_SIZE): Remove.
+	(ctf_end): Remove code.
+
+2014-08-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* linux-tdep.c (linux_corefile_thread_callback): Ignore THREAD_EXITED.
+	(linux_make_corefile_notes): call update_thread_list, protected against
+	exceptions.
+
+2014-08-21  Pedro Alves  <palves@redhat.com>
+
+	* infcmd.c (attach_command): Remove comment.
+
+2014-08-21  Bin Cheng  <bin.cheng@arm.com>
+
+	* aarch64-linux-nat.c (dr_changed_t): Change the type from
+	unsigned LONGEST to ULONGEST.
+
+2014-08-20  Pedro Alves  <palves@redhat.com>
+
+	* Makefile.in (check-read1): New rule.
+
+2014-08-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* value.c (value_from_contents_and_address): Strip resolved_type's
+	typedef layers before checking its TYPE_DATA_LOCATION.
+
+2014-08-20  Pedro Alves  <palves@redhat.com>
+
+	* value.c (value_contents_bits_eq): Initialize l,h for gcc -Wall.
+
+2014-08-20  Yao Qi  <yao@codesourcery.com>
+
+	* amd64-tdep.c (amd64_classify): Add a blank line after the
+	example.  Move "*/" to a new line.
+	* arm-tdep.c (arm_vfp_cprc_sub_candidate): Likewise.
+	* arm-wince-tdep.c (arm_pe_skip_trampoline_code): Likewise.
+	* dwarf2read.c (psymtab_include_file_name): Likewise.
+
+2014-08-19  Andrew Burgess  <aburgess@broadcom.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	PR symtab/14604
+	PR symtab/14605
+	* ada-lang.c (coerce_unspec_val_to_type): Use
+	value_contents_copy_raw.
+	* ada-valprint.c (val_print_packed_array_elements): Adjust.
+	* c-valprint.c (c_val_print): Use value_bits_any_optimized_out.
+	* cp-valprint.c (cp_print_value_fields): Let the common printing
+	code handle optimized out values.
+	(cp_print_value_fields_rtti): Use value_bits_any_optimized_out.
+	* d-valprint.c (dynamic_array_type): Use
+	value_bits_any_optimized_out.
+	* dwarf2loc.c (entry_data_value_funcs): Remove check_validity and
+	check_any_valid fields.
+	(check_pieced_value_bits): Delete and inline ...
+	(check_pieced_synthetic_pointer): ... here.
+	(check_pieced_value_validity): Delete.
+	(check_pieced_value_invalid): Delete.
+	(pieced_value_funcs): Remove check_validity and check_any_valid
+	fields.
+	(read_pieced_value): Use mark_value_bits_optimized_out.
+	(write_pieced_value): Switch to use
+	mark_value_bytes_optimized_out.
+	(dwarf2_evaluate_loc_desc_full): Copy the value contents instead
+	of assuming the whole value is optimized out.
+	* findvar.c (read_frame_register_value): Remove special handling
+	of optimized out registers.
+	(value_from_register): Use mark_value_bytes_optimized_out.
+	* frame-unwind.c (frame_unwind_got_optimized): Use
+	mark_value_bytes_optimized_out.
+	* jv-valprint.c (java_value_print): Adjust.
+	(java_print_value_fields): Let the common printing code handle
+	optimized out values.
+	* mips-tdep.c (mips_print_register): Remove special handling of
+	optimized out registers.
+	* opencl-lang.c (lval_func_check_validity): Delete.
+	(lval_func_check_any_valid): Delete.
+	(opencl_value_funcs): Remove check_validity and check_any_valid
+	fields.
+	* p-valprint.c (pascal_object_print_value_fields): Let the common
+	printing code handle optimized out values.
+	* stack.c (read_frame_arg): Remove special handling of optimized
+	out values.  Fetch both VAL and ENTRYVAL before comparing
+	contents.  Adjust to value_available_contents_eq rename.
+	* valprint.c (valprint_check_validity)
+	(val_print_scalar_formatted): Use value_bits_any_optimized_out.
+	(val_print_array_elements): Adjust.
+	* value.c (struct value) <optimized_out>: Now a VEC(range_s).
+	(value_bits_any_optimized_out): New function.
+	(value_entirely_covered_by_range_vector): New function, factored
+	out from value_entirely_unavailable.
+	(value_entirely_unavailable): Reimplement.
+	(value_entirely_optimized_out): New function.
+	(insert_into_bit_range_vector): New function, factored out from
+	mark_value_bits_unavailable.
+	(mark_value_bits_unavailable): Reimplement.
+	(struct ranges_and_idx): New struct.
+	(find_first_range_overlap_and_match): New function, factored out
+	from value_available_contents_bits_eq.
+	(value_available_contents_bits_eq): Rename to ...
+	(value_contents_bits_eq): ... this.  Check both unavailable
+	contents and optimized out contents.
+	(value_available_contents_eq): Rename to ...
+	(value_contents_eq): ... this.
+	(allocate_value_lazy): Remove reference to the old optimized_out
+	boolean.
+	(allocate_optimized_out_value): Use
+	mark_value_bytes_optimized_out.
+	(require_not_optimized_out): Adjust to check whether the
+	optimized_out vec is empty.
+	(ranges_copy_adjusted): New function, factored out from
+	value_contents_copy_raw.
+	(value_contents_copy_raw): Also copy the optimized out ranges.
+	Assert the destination ranges aren't optimized out.
+	(value_contents_copy): Update comment, remove call to
+	require_not_optimized_out.
+	(value_contents_equal): Adjust to check whether the optimized_out
+	vec is empty.
+	(set_value_optimized_out, value_optimized_out_const): Delete.
+	(mark_value_bytes_optimized_out, mark_value_bits_optimized_out):
+	New functions.
+	(value_entirely_optimized_out, value_bits_valid): Delete.
+	(value_copy): Take a VEC copy of the 'optimized_out' field.
+	(value_primitive_field): Remove special handling of optimized out.
+	(value_fetch_lazy): Assert that lazy values have no unavailable
+	regions.  Use value_bits_any_optimized_out.  Remove some special
+	handling for optimized out values.
+	* value.h: Add intro comment about <optimized out> and
+	<unavailable>.
+	(struct lval_funcs): Remove check_validity and check_any_valid
+	fields.
+	(set_value_optimized_out, value_optimized_out_const): Remove.
+	(mark_value_bytes_optimized_out, mark_value_bits_optimized_out):
+	New declarations.
+	(value_bits_any_optimized_out): New declaration.
+	(value_bits_valid): Delete declaration.
+	(value_available_contents_eq): Rename to ...
+	(value_contents_eq): ... this, and extend comments.
+
+2014-08-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix -fsanitize=address on unreadable inferior strings.
+	* valprint.c (val_print_string): Fix access before BUFFER.
+
+2014-08-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* target.c (target_struct_size): Remove.
+	(target_struct_allocsize): Remove.
+	(DEFAULT_ALLOCSIZE): Remove.
+	(target_ops_p): New typedef.
+	(DEF_VEC_P (target_ops_p)): New vector type.
+	(target_structs): Change type to VEC (target_ops_p).
+	(add_target_with_completer): Replace "push" code by VEC_safe_push.
+	(find_default_run_target): Rewrite for loop following changes to
+	target_structs.
+
+2014-08-19  Joel Brobecker  <brobecker@adacore.com>
+
+	* value.c (value_from_pointer): Remove use of resolve_dynamic_type.
+	Adjust code accordingly.  Adjust function description comment.
+
+2014-08-19  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (arm_vfp_cprc_sub_candidate): Handle _Complex
+	types.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* acinclude.m4 (GDB_AC_CHECK_BFD): Don't add -ldl.
+	* config.in: Regenerate.
+	* configure: Regenerate.
+
+2014-08-19  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* common/common-debug.h: New file.
+	* common/common-debug.c: Likewise.
+	* debug.c: Likewise.
+	* Makefile.in (SFILES): Add common/common-debug.c.
+	(HFILES_NO_SRCDIR): Add common/common-debug.h.
+	(COMMON_OBS): Add common-debug.o and debug.o.
+	(common-debug.o): New rule.
+	* common/common-defs.h: Include common-debug.h.
+	* common/agent.c (debug_agent_printf): New function.
+	(DEBUG_AGENT): Redefine.
+	* nat/i386-dregs.c (debug_printf): Undefine.
+
+2014-08-19  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include print-utils.h.
+	* utils.h: Do not include print-utils.h.
+
+2014-08-19  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* common/common-types.h: New file.
+	* Makefile.in (HFILES_NO_SRCDIR): Add common/common-types.h.
+	* common/common-defs.h: Include common-types.h.
+	* defs.h (gdb_byte, CORE_ADDR, CORE_ADDR_MAX, LONGEST)
+	(ULONGEST): Remove.
+
+2014-08-19  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* common/errors.h: New file.
+	* common/errors.c: Likewise.
+	* Makefile.in (SFILES): Add common/errors.c.
+	(HFILES_NO_SRCDIR): Add common/errors.h.
+	(COMMON_OBS): Add errors.o.
+	(errors.o): New rule.
+	* common/common-defs.h: Include errors.h.
+	* utils.h (perror_with_name, error, verror, warning, vwarning):
+	Don't declare.
+	* common/common-utils.h: (malloc_failure, internal_error):
+	Likewise.
+
+2014-08-19  Gary Benson  <gbenson@redhat.com>
+
+	* utils.c (internal_vproblem): Always print the message.
+
+2014-08-18  Doug Evans  <dje@google.com>
+
+	* ada-typeprint.c (print_range): Initialize lo,hi for gcc -Wall.
+
+2014-08-18  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-typeprint.c (type_is_full_subrange_of_target_type):
+	Return 0 if TYPE is dynamic.
+	(print_range): Add handling of dynamic ranges.
+
+2014-08-18  Keven Boell  <keven.boell@intel.com>
+	    Joel Brobecker  <brobecker@adacore.com>
+
+	* gdbtypes.h (struct main_type): Add field "data_location".
+	(TYPE_DATA_LOCATION, TYPE_DATA_LOCATION_BATON)
+	(TYPE_DATA_LOCATION_ADDR, TYPE_DATA_LOCATION_KIND): New macros.
+	* gdbtypes.c (is_dynamic_type): Return 1 if the type has
+	a dynamic data location.
+	(resolve_dynamic_type): Add DW_AT_data_location handling.
+	(copy_recursive, copy_type): Copy the data_location information
+	when present.
+	* dwarf2read.c (set_die_type): Add DW_AT_data_location handling.
+	* value.c (value_from_contents_and_address): Add
+	DW_AT_data_location handling.
+
+2014-08-18  Keven Boell  <keven.boell@intel.com>
+	    Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2expr.h (struct dwarf_expr_context_funcs): Uncomment
+	field "get_object_address".
+	* dwarf2expr.c (execute_stack_op): Add handling for
+	DW_OP_push_object_address.
+	* dwarf2loc.h (dwarf2_evaluate_property): Add "address" field.
+	* dwarf2loc.c (struct dwarf_expr_baton): Add field "obj_address".
+	(dwarf_expr_push_dwarf_reg_entry_value): Set baton_local.obj_address.
+	(dwarf_expr_get_obj_addr): New function.
+	(dwarf_expr_ctx_funcs): Add get_object_address field.
+	(dwarf2_evaluate_loc_desc_full): Set baton.obj_address.
+	(dwarf2_locexpr_baton_eval): Add parameter "addr".  Use it.
+	(dwarf2_evaluate_property): Add parameter "address".  Use it.
+	(needs_get_obj_addr): New function.
+	(needs_frame_ctx_funcs): Add get_object_address field.
+	(dwarf2_compile_expr_to_ax): Add DW_OP_push_object_address handling.
+	* gdbtypes.c (resolve_dynamic_range): Add "addr" field.  Use it.
+	(resolve_dynamic_array): Likewise.
+
+2014-08-18  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>:
+	When noside is EVAL_AVOID_SIDE_EFFECTS, only return a statically
+	fixed value for records and unions for which some GNAT encodings
+	are present.
+
+2014-08-18  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Slight code
+	rewrite to avoid "else if" and "else" constructs.  Should be
+	a no-op in practice.
+
+2014-08-18  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Fix identation
+	of lexical block.
+
+2014-08-15  Siva Chandra Reddy  <sivachandra@google.com>
+
+	PR c++/17132
+	* eval.c: Update all calls to find_overload_match.
+	* valarith.c: Likewise.
+	(value_user_defined_cpp_op, value_user_defined_op): New
+	argument NOSIDE.  Update all callers.
+	* valops.c (find_overload_match): New argument NOSIDE.
+	* value.h (find_overload_match): Update signature.
+
+2014-08-15  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* python/lib/gdb/command/xmethods.py (set_xm_status1): Use the
+	'items'	methods instead of 'iteritems' method on dictionaries.
+
+2014-08-15  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (dwarf_decode_lines_1): Move definition of adj_opcode
+	closer to use.
+
+2014-08-15  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (dwarf_decode_lines_1): Add comment.
+
+2014-08-15  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (dwarf_decode_lines_1): Delete local "column", unused.
+
+2014-08-15  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (dwarf_decode_lines_1): Delete local basic_block,
+	unused.
+
+2014-08-15  Eli Zaretskii  <eliz@gnu.org>
+
+	* dcache.h: Include target.h, to avoid compile time warnings.
+
+2014-08-15  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdbarch.sh: #include "frame.h" in gdbarch.h.  Delete "struct
+	frame_info" partial declaration.
+	* gdbarch.h: Regenerate.
+
+2014-08-15  Yao Qi  <yao@codesourcery.com>
+
+	* dwarf2read.c (dwarf_decode_lines_1): Remove parameter 'pst'.
+	Add parameter 'decode_for_pst_p'.  Callers update.
+
+2014-08-13  Yao Qi  <yao@codesourcery.com>
+
+	PR build/17104
+	* configure.ac: Use local variable 'pos'.
+	* configure: Regenerated.
+
+2014-08-11  Doug Evans  <dje@google.com>
+
+	* solib.c (solib_read_symbols): Delete "Loaded symbols for ..."
+	message, it is redundant with "Reading symbols from ..." message.
+
+2014-08-10  Doug Evans  <xdje42@gmail.com>
+
+	* linux-nat.c (linux_nat_thread_address_space): Delete dead code.
+
+2014-08-09  Yao Qi  <yao@codesourcery.com>
+
+	PR remote/9053
+	* remote.c (remote_xfer_partial): Remove dead code.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* ia64-linux-tdep.c: Include "regset.h".
+	(ia64_linux_gregmap, ia64_linux_fpregmap): New register maps.
+	(IA64_LINUX_GREGS_SIZE, IA64_LINUX_FPREGS_SIZE): New macros.
+	(ia64_linux_supply_fpregset): New function.
+	(ia64_linux_gregset, ia64_linux_fpregset): New regsets.
+	(ia64_linux_regset_from_core_section): New function.
+	(ia64_linux_init_abi): Set regset_from_core_section gdbarch
+	method.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* m68klinux-tdep.c: Include "regset.h".
+	(m68k_linux_gregmap, m68k_linux_fpregmap): New register maps.
+	(M68K_LINUX_GREGS_SIZE, M68K_LINUX_FPREGS_SIZE): New macros.
+	(m68k_linux_gregset, m68k_linux_fpregset): New regsets.
+	(m68k_linux_regset_from_core_section): New function.
+	(m68k_linux_init_abi): Set regset_from_core_section gdbarch
+	method.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* tilegx-linux-tdep.c (tilegx_linux_supply_regset): Delete
+	function.  Move logic to...
+	(tilegx_linux_regmap): ... this new register map.
+	(tilegx_linux_regset): Refer to register map, replace supply
+	method by regcache_supply_regset, and add collect method.
+	* tilegx-tdep.h (enum tilegx_regnum): New enum value
+	TILEGX_FIRST_EASY_REGNUM.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* score-tdep.c (score7_linux_supply_gregset): Reduce to small stub
+	that calls regcache_supply_regset and handles the EPC register
+	separately.  Move main logic to...
+	(score7_linux_gregmap): ... this new register map.
+	(SCORE7_LINUX_SIZEOF_GREGSET, SCORE7_LINUX_EPC_OFFSET): New macros.
+	(score7_linux_gregset): Refer to register map.  Add collect method.
+	(score7_linux_regset_from_core_section): Replace
+	sizeof elf_gregset_t by SCORE7_LINUX_SIZEOF_GREGSET.
+	* score-tdep.h (enum gdb_regnum): New enum value SCORE_EPC_REGNUM.
+	(struct regset): Delete unused forward declaraction.
+	(struct pt_regs): Delete structure definition.
+	(elf_gregset_t): Delete typedef.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* nios2-linux-tdep.c (nios2_collect_gregset): New function.
+	(nios2_core_regset): Add collect method.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* m32r-linux-tdep.c (m32r_linux_supply_gregset): Make
+	platform-independent and don't write to read-only input buffer.
+	(m32r_linux_collect_gregset): New function.
+	(m32r_linux_gregset): Add collect method.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* hppa-linux-tdep.c (greg_map): Rename to...
+	(hppa_linux_gregmap): ... this.  Also convert to
+	regcache_map_entry format.
+	(hppa_linux_supply_regset): Delete function.
+	(hppa_linux_supply_fpregset): Delete function.  Move logic to...
+	(hppa_linux_fpregmap): ... this new register map.
+	(hppa_linux_regset, hppa_linux_fpregset): Refer to appropriate
+	register map, replace supply method by regcache_supply_regset, and
+	add collect method regcache_collect_regset.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* frv-linux-tdep.c (FRV_PT_PSR, FRV_PT_ISR, FRV_PT_CCR)
+	(FRV_PT_CCCR, FRV_PT_LR, FRV_PT_LCR, FRV_PT_PC, FRV_PT_GNER0)
+	(FRV_PT_GNER1, FRV_PT_IACC0H, FRV_PT_IACC0L, FRV_PT_GR)
+	(FRV_PT_TBR, FRV_PT_GR, FRV_PT_EXEC_FDPIC_LOADMAP)
+	(FRV_PT_INTERP_FDPIC_LOADMAP): Delete macros.
+	(frv_linux_gregmap, frv_linux_fpregmap): New register maps.
+	(frv_linux_supply_gregset): Replace main logic by call to
+	regcache_supply_regset, but keep clearing gr32-gr63.
+	(frv_linux_supply_fpregset): Delete function.
+	(frv_linux_gregset): Refer to appropriate register map and add
+	regcache_collect_regset as the collect method.
+	(frv_linux_fpregset): Likewise.  Also exchange the supply method
+	by regcache_supply_regset.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* alpha-linux-tdep.c (alpha_linux_supply_gregset): Replace logic
+	by call to alpha_supply_int_regs.
+	(alpha_linux_collect_gregset): New function.
+	(alpha_linux_supply_fpregset): Replace logic by call to
+	alpha_supply_fp_regs.
+	(alpha_linux_collect_fpregset): New function.
+	(alpha_linux_gregset, alpha_linux_fpregset): Add collect method.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* aarch64-linux-nat.c (fill_gregset, fill_fpregset): Replace logic
+	by call to regcache_collect_regset.
+	(supply_gregset, supply_fpregset): Call regcache_supply_regset
+	instead of aarch64_linux_supply_gregset/_fpregset.
+	* aarch64-linux-tdep.c (AARCH64_LINUX_SIZEOF_GREGSET)
+	(AARCH64_LINUX_SIZEOF_FPREGSET): Delete macros here, move to
+	header file instead.
+	(aarch64_linux_supply_gregset, supply_gregset_from_core)
+	(aarch64_linux_suply_fpregset, supply_fpregset_from_core): Delete
+	functions.  Move logic to ...
+	(aarch64_linux_gregmap, aarch64_linux_fpregmap): ... these new
+	register maps.
+	(aarch64_linux_gregset, aarch64_linux_fpregset): Make global,
+	refer to new register maps, replace *_regset_from_core by
+	regcache_supply_regset, and also use regcache_collect_regset.
+	* aarch64-linux-tdep.h: Include "regset.h".
+	(aarch64_linux_supply_gregset, aarch64_linux_supply_fpregset):
+	Delete prototypes.
+	(AARCH64_LINUX_SIZEOF_GREGSET, AARCH64_LINUX_SIZEOF_FPREGSET): New
+	macros, moved from C source file.
+	(aarch64_linux_gregset, aarch64_linux_fpregset): New global
+	variable declarations.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* s390-linux-nat.c: Include "regset.h".
+	(regmap_gregset): Delete macro.
+	(s390_64_regmap_gregset): New register map for
+	regcache_supply/_collect_regset.
+	(s390_64_gregset): New regset.
+	(S390_PSWM_OFFSET, S390_PSWA_OFFSET): New macros.
+	(regmap_fpregset): Delete macro.
+	(s390_native_supply, s390_native_collect): Delete functions.
+	(supply_gregset, fill_gregset): Replace s390-specific regmap
+	handling by a call to regcache_supply/_collect_regset.
+	(supply_fpregset, fill_fpregset): Call regcache_supply/
+	_collect_regset instead of s390_native_supply/_collect.
+	(fetch_regset, store_regset): Likewise.  Also change the last
+	parameter to a regset instead of a regmap.
+	(s390_linux_fetch_inferior_registers)
+	(390_linux_store_inferior_registers): Adjust last parameter in
+	calls to fetch_regset and store_regset.
+	* s390-linux-tdep.c (s390_regmap_gregset): Rename to...
+	(s390_gregmap): ... this.  Also make static const and convert to
+	regcache_map_entry format.
+	(s390x_regmap_gregset): Delete.
+	(s390_regmap_fpregset): Rename to...
+	(s390_fpregmap): ... this.  Make static const and convert to
+	regcache_map_entry format.
+	(s390_regmap_upper, s390_regmap_last_break)
+	(s390x_regmap_last_break, s390_regmap_system_call)
+	(s390_regmap_tdb): Likewise.
+	(s390_supply_regset, s390_collect_regset): Remove functions.
+	(s390_supply_tdb_regset): Call regcache_supply_regset instead of
+	s390_supply_regset.
+	(s390_gregset, s390_fpregset, s390_upper_regset)
+	(s390_last_break_regset, s390x_last_break_regset)
+	(s390_system_call_regset, s390_tdb_regset): Make global and
+	replace s390_supply/_collect_regset by regcache_supply/
+	_collect_regset.
+	(s390x_gregset): Delete.
+	(s390_gdbarch_init): Replace s390x_gregset by s390_gregset.
+	* s390-linux-tdep.h (s390_regmap_gregset, s390x_regmap_gregset)
+	(s390_regmap_fpregset, s390_regmap_last_break)
+	(s390x_regmap_last_break, s390_regmap_system_call)
+	(s390_regmap_tdb): Delete global variable declarations.
+	(s390_gregset, s390_fpregset, s390_last_break_regset)
+	(s390x_last_break_regset, s390_system_call_regset)
+	(s390_tdb_regset): New global variable declarations.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* regcache.c: Include "regset.h".
+	(regcache_transfer_regset): New local function.
+	(regcache_supply_regset, regcache_collect_regset): New functions.
+	* regcache.h (struct regcache_map_entry): New structure.
+	(REGCACHE_MAP_SKIP): New enum value.
+	(regcache_supply_regset, regcache_collect_regset): New prototypes.
+
+2014-08-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* regset.h (struct regset): Rename 'descr' field to 'regmap'.
+	* ppc-linux-tdep.c (ppc_linux_supply_gregset)
+	(ppc_linux_collect_gregset ): Likewise.
+	* rs6000-tdep.c (ppc_supply_gregset, ppc_supply_fpregset)
+	(ppc_supply_vrregset, ppc_collect_gregset, ppc_collect_fpregset)
+	(ppc_collect_vrregset): Likewise.
+	* s390-linux-tdep.c (s390_supply_regset, s390_collect_regset):
+	Likewise.
+
+2014-08-07  Yao Qi  <yao@codesourcery.com>
+
+	* corelow.c (core_xfer_partial): Replace 0 with TARGET_XFER_EOF.
+	* remote-m32r-sdi.c (m32r_xfer_memory): Likewise.
+	* remote.c (remote_read_bytes): Likewise.
+
+2014-08-07  Yao Qi  <yao@codesourcery.com>
+
+	* dwarf2read.c (struct dwarf2_per_cu_data) <u>: Tweak comments.
+
+2014-08-07  Yao Qi  <yao@codesourcery.com>
+
+	PR remote/17230
+	* remote-mips.c (mips_xfer_memory): Set *xfered_len and return
+	TARGET_XFER_OK instead of 0.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include errno.h.
+	* defs.h: Do not include errno.h.
+	* ada-typeprint.c: Likewise.
+	* c-typeprint.c: Likewise.
+	* core-regset.c: Likewise.
+	* corefile.c: Likewise.
+	* corelow.c: Likewise.
+	* event-loop.c: Likewise.
+	* f-typeprint.c: Likewise.
+	* gnu-nat.c: Likewise.
+	* go32-nat.c: Likewise.
+	* i386gnu-nat.c: Likewise.
+	* m2-typeprint.c: Likewise.
+	* nat/linux-btrace.c: Likewise.
+	* p-typeprint.c: Likewise.
+	* procfs.c: Likewise.
+	* remote-sim.c: Likewise.
+	* rs6000-nat.c: Likewise.
+	* target.c: Likewise.
+	* typeprint.c: Likewise.
+	* ui-file.c: Likewise.
+	* valops.c: Likewise.
+	* valprint.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include string.h.
+	* aarch64-tdep.c: Do not include string.h.
+	* ada-exp.y: Likewise.
+	* ada-lang.c: Likewise.
+	* ada-lex.l: Likewise.
+	* ada-typeprint.c: Likewise.
+	* ada-valprint.c: Likewise.
+	* aix-thread.c: Likewise.
+	* alpha-linux-tdep.c: Likewise.
+	* alpha-mdebug-tdep.c: Likewise.
+	* alpha-nat.c: Likewise.
+	* alpha-osf1-tdep.c: Likewise.
+	* alpha-tdep.c: Likewise.
+	* alphanbsd-tdep.c: Likewise.
+	* amd64-dicos-tdep.c: Likewise.
+	* amd64-linux-tdep.c: Likewise.
+	* amd64-nat.c: Likewise.
+	* amd64-sol2-tdep.c: Likewise.
+	* amd64fbsd-tdep.c: Likewise.
+	* amd64obsd-tdep.c: Likewise.
+	* arch-utils.c: Likewise.
+	* arm-linux-nat.c: Likewise.
+	* arm-linux-tdep.c: Likewise.
+	* arm-tdep.c: Likewise.
+	* arm-wince-tdep.c: Likewise.
+	* armbsd-tdep.c: Likewise.
+	* armnbsd-nat.c: Likewise.
+	* armnbsd-tdep.c: Likewise.
+	* armobsd-tdep.c: Likewise.
+	* avr-tdep.c: Likewise.
+	* ax-gdb.c: Likewise.
+	* ax-general.c: Likewise.
+	* bcache.c: Likewise.
+	* bfin-tdep.c: Likewise.
+	* breakpoint.c: Likewise.
+	* build-id.c: Likewise.
+	* buildsym.c: Likewise.
+	* c-exp.y: Likewise.
+	* c-lang.c: Likewise.
+	* c-typeprint.c: Likewise.
+	* c-valprint.c: Likewise.
+	* charset.c: Likewise.
+	* cli-out.c: Likewise.
+	* cli/cli-cmds.c: Likewise.
+	* cli/cli-decode.c: Likewise.
+	* cli/cli-dump.c: Likewise.
+	* cli/cli-interp.c: Likewise.
+	* cli/cli-logging.c: Likewise.
+	* cli/cli-script.c: Likewise.
+	* cli/cli-setshow.c: Likewise.
+	* cli/cli-utils.c: Likewise.
+	* coffread.c: Likewise.
+	* common/agent.c: Likewise.
+	* common/buffer.c: Likewise.
+	* common/buffer.h: Likewise.
+	* common/common-utils.c: Likewise.
+	* common/filestuff.c: Likewise.
+	* common/filestuff.c: Likewise.
+	* common/format.c: Likewise.
+	* common/print-utils.c: Likewise.
+	* common/rsp-low.c: Likewise.
+	* common/signals.c: Likewise.
+	* common/vec.h: Likewise.
+	* common/xml-utils.c: Likewise.
+	* core-regset.c: Likewise.
+	* corefile.c: Likewise.
+	* corelow.c: Likewise.
+	* cp-abi.c: Likewise.
+	* cp-name-parser.y: Likewise.
+	* cp-support.c: Likewise.
+	* cp-valprint.c: Likewise.
+	* cris-tdep.c: Likewise.
+	* d-exp.y: Likewise.
+	* darwin-nat.c: Likewise.
+	* dbxread.c: Likewise.
+	* dcache.c: Likewise.
+	* demangle.c: Likewise.
+	* dicos-tdep.c: Likewise.
+	* disasm.c: Likewise.
+	* doublest.c: Likewise.
+	* dsrec.c: Likewise.
+	* dummy-frame.c: Likewise.
+	* dwarf2-frame.c: Likewise.
+	* dwarf2loc.c: Likewise.
+	* dwarf2read.c: Likewise.
+	* elfread.c: Likewise.
+	* environ.c: Likewise.
+	* eval.c: Likewise.
+	* event-loop.c: Likewise.
+	* exceptions.c: Likewise.
+	* exec.c: Likewise.
+	* expprint.c: Likewise.
+	* f-exp.y: Likewise.
+	* f-lang.c: Likewise.
+	* f-typeprint.c: Likewise.
+	* f-valprint.c: Likewise.
+	* fbsd-nat.c: Likewise.
+	* findcmd.c: Likewise.
+	* findvar.c: Likewise.
+	* fork-child.c: Likewise.
+	* frame.c: Likewise.
+	* frv-linux-tdep.c: Likewise.
+	* frv-tdep.c: Likewise.
+	* gdb.c: Likewise.
+	* gdb_bfd.c: Likewise.
+	* gdbarch.c: Likewise.
+	* gdbarch.sh: Likewise.
+	* gdbtypes.c: Likewise.
+	* gnu-nat.c: Likewise.
+	* gnu-v2-abi.c: Likewise.
+	* gnu-v3-abi.c: Likewise.
+	* go-exp.y: Likewise.
+	* go-lang.c: Likewise.
+	* go32-nat.c: Likewise.
+	* guile/guile.c: Likewise.
+	* guile/scm-auto-load.c: Likewise.
+	* hppa-hpux-tdep.c: Likewise.
+	* hppa-linux-nat.c: Likewise.
+	* hppanbsd-tdep.c: Likewise.
+	* hppaobsd-tdep.c: Likewise.
+	* i386-cygwin-tdep.c: Likewise.
+	* i386-dicos-tdep.c: Likewise.
+	* i386-linux-tdep.c: Likewise.
+	* i386-nto-tdep.c: Likewise.
+	* i386-sol2-tdep.c: Likewise.
+	* i386-tdep.c: Likewise.
+	* i386bsd-tdep.c: Likewise.
+	* i386gnu-nat.c: Likewise.
+	* i386nbsd-tdep.c: Likewise.
+	* i386obsd-tdep.c: Likewise.
+	* i387-tdep.c: Likewise.
+	* ia64-libunwind-tdep.c: Likewise.
+	* ia64-linux-nat.c: Likewise.
+	* inf-child.c: Likewise.
+	* inf-ptrace.c: Likewise.
+	* inf-ttrace.c: Likewise.
+	* infcall.c: Likewise.
+	* infcmd.c: Likewise.
+	* inflow.c: Likewise.
+	* infrun.c: Likewise.
+	* interps.c: Likewise.
+	* iq2000-tdep.c: Likewise.
+	* irix5-nat.c: Likewise.
+	* jv-exp.y: Likewise.
+	* jv-lang.c: Likewise.
+	* jv-typeprint.c: Likewise.
+	* jv-valprint.c: Likewise.
+	* language.c: Likewise.
+	* linux-fork.c: Likewise.
+	* linux-nat.c: Likewise.
+	* lm32-tdep.c: Likewise.
+	* m2-exp.y: Likewise.
+	* m2-typeprint.c: Likewise.
+	* m32c-tdep.c: Likewise.
+	* m32r-linux-nat.c: Likewise.
+	* m32r-linux-tdep.c: Likewise.
+	* m32r-rom.c: Likewise.
+	* m32r-tdep.c: Likewise.
+	* m68hc11-tdep.c: Likewise.
+	* m68k-tdep.c: Likewise.
+	* m68kbsd-tdep.c: Likewise.
+	* m68klinux-nat.c: Likewise.
+	* m68klinux-tdep.c: Likewise.
+	* m88k-tdep.c: Likewise.
+	* machoread.c: Likewise.
+	* macrocmd.c: Likewise.
+	* main.c: Likewise.
+	* mdebugread.c: Likewise.
+	* mem-break.c: Likewise.
+	* memattr.c: Likewise.
+	* memory-map.c: Likewise.
+	* mep-tdep.c: Likewise.
+	* mi/mi-cmd-break.c: Likewise.
+	* mi/mi-cmd-disas.c: Likewise.
+	* mi/mi-cmd-env.c: Likewise.
+	* mi/mi-cmd-stack.c: Likewise.
+	* mi/mi-cmd-var.c: Likewise.
+	* mi/mi-cmds.c: Likewise.
+	* mi/mi-console.c: Likewise.
+	* mi/mi-getopt.c: Likewise.
+	* mi/mi-interp.c: Likewise.
+	* mi/mi-main.c: Likewise.
+	* mi/mi-parse.c: Likewise.
+	* microblaze-rom.c: Likewise.
+	* microblaze-tdep.c: Likewise.
+	* mingw-hdep.c: Likewise.
+	* minidebug.c: Likewise.
+	* minsyms.c: Likewise.
+	* mips-irix-tdep.c: Likewise.
+	* mips-linux-tdep.c: Likewise.
+	* mips-tdep.c: Likewise.
+	* mips64obsd-tdep.c: Likewise.
+	* mipsnbsd-tdep.c: Likewise.
+	* mipsread.c: Likewise.
+	* mn10300-linux-tdep.c: Likewise.
+	* mn10300-tdep.c: Likewise.
+	* monitor.c: Likewise.
+	* moxie-tdep.c: Likewise.
+	* mt-tdep.c: Likewise.
+	* nat/linux-btrace.c: Likewise.
+	* nat/linux-osdata.c: Likewise.
+	* nat/linux-procfs.c: Likewise.
+	* nat/linux-ptrace.c: Likewise.
+	* nat/linux-waitpid.c: Likewise.
+	* nbsd-tdep.c: Likewise.
+	* nios2-linux-tdep.c: Likewise.
+	* nto-procfs.c: Likewise.
+	* nto-tdep.c: Likewise.
+	* objc-lang.c: Likewise.
+	* objfiles.c: Likewise.
+	* opencl-lang.c: Likewise.
+	* osabi.c: Likewise.
+	* osdata.c: Likewise.
+	* p-exp.y: Likewise.
+	* p-lang.c: Likewise.
+	* p-typeprint.c: Likewise.
+	* parse.c: Likewise.
+	* posix-hdep.c: Likewise.
+	* ppc-linux-nat.c: Likewise.
+	* ppc-sysv-tdep.c: Likewise.
+	* ppcfbsd-tdep.c: Likewise.
+	* ppcnbsd-tdep.c: Likewise.
+	* ppcobsd-tdep.c: Likewise.
+	* printcmd.c: Likewise.
+	* procfs.c: Likewise.
+	* prologue-value.c: Likewise.
+	* python/py-auto-load.c: Likewise.
+	* python/py-gdb-readline.c: Likewise.
+	* ravenscar-thread.c: Likewise.
+	* regcache.c: Likewise.
+	* registry.c: Likewise.
+	* remote-fileio.c: Likewise.
+	* remote-m32r-sdi.c: Likewise.
+	* remote-mips.c: Likewise.
+	* remote-notif.c: Likewise.
+	* remote-sim.c: Likewise.
+	* remote.c: Likewise.
+	* reverse.c: Likewise.
+	* rs6000-aix-tdep.c: Likewise.
+	* ser-base.c: Likewise.
+	* ser-go32.c: Likewise.
+	* ser-mingw.c: Likewise.
+	* ser-pipe.c: Likewise.
+	* ser-tcp.c: Likewise.
+	* ser-unix.c: Likewise.
+	* serial.c: Likewise.
+	* sh-tdep.c: Likewise.
+	* sh64-tdep.c: Likewise.
+	* shnbsd-tdep.c: Likewise.
+	* skip.c: Likewise.
+	* sol-thread.c: Likewise.
+	* solib-dsbt.c: Likewise.
+	* solib-frv.c: Likewise.
+	* solib-osf.c: Likewise.
+	* solib-som.c: Likewise.
+	* solib-spu.c: Likewise.
+	* solib-target.c: Likewise.
+	* solib.c: Likewise.
+	* somread.c: Likewise.
+	* source.c: Likewise.
+	* sparc-nat.c: Likewise.
+	* sparc-sol2-tdep.c: Likewise.
+	* sparc-tdep.c: Likewise.
+	* sparc64-tdep.c: Likewise.
+	* sparc64fbsd-tdep.c: Likewise.
+	* sparc64nbsd-tdep.c: Likewise.
+	* sparcnbsd-tdep.c: Likewise.
+	* spu-linux-nat.c: Likewise.
+	* spu-multiarch.c: Likewise.
+	* spu-tdep.c: Likewise.
+	* stabsread.c: Likewise.
+	* stack.c: Likewise.
+	* std-regs.c: Likewise.
+	* symfile.c: Likewise.
+	* symmisc.c: Likewise.
+	* symtab.c: Likewise.
+	* target.c: Likewise.
+	* thread.c: Likewise.
+	* tilegx-linux-nat.c: Likewise.
+	* tilegx-tdep.c: Likewise.
+	* top.c: Likewise.
+	* tracepoint.c: Likewise.
+	* tui/tui-command.c: Likewise.
+	* tui/tui-data.c: Likewise.
+	* tui/tui-disasm.c: Likewise.
+	* tui/tui-file.c: Likewise.
+	* tui/tui-layout.c: Likewise.
+	* tui/tui-out.c: Likewise.
+	* tui/tui-regs.c: Likewise.
+	* tui/tui-source.c: Likewise.
+	* tui/tui-stack.c: Likewise.
+	* tui/tui-win.c: Likewise.
+	* tui/tui-windata.c: Likewise.
+	* tui/tui-winsource.c: Likewise.
+	* typeprint.c: Likewise.
+	* ui-file.c: Likewise.
+	* ui-out.c: Likewise.
+	* user-regs.c: Likewise.
+	* utils.c: Likewise.
+	* v850-tdep.c: Likewise.
+	* valarith.c: Likewise.
+	* valops.c: Likewise.
+	* valprint.c: Likewise.
+	* value.c: Likewise.
+	* varobj.c: Likewise.
+	* vax-tdep.c: Likewise.
+	* vaxnbsd-tdep.c: Likewise.
+	* vaxobsd-tdep.c: Likewise.
+	* windows-nat.c: Likewise.
+	* xcoffread.c: Likewise.
+	* xml-support.c: Likewise.
+	* xstormy16-tdep.c: Likewise.
+	* xtensa-linux-nat.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include gdb_assert.h.
+	* aarch64-tdep.c: Do not include gdb_assert.h.
+	* addrmap.c: Likewise.
+	* aix-thread.c: Likewise.
+	* alpha-linux-tdep.c: Likewise.
+	* alpha-mdebug-tdep.c: Likewise.
+	* alphanbsd-tdep.c: Likewise.
+	* amd64-nat.c: Likewise.
+	* amd64-tdep.c: Likewise.
+	* amd64bsd-nat.c: Likewise.
+	* amd64fbsd-nat.c: Likewise.
+	* amd64fbsd-tdep.c: Likewise.
+	* amd64nbsd-nat.c: Likewise.
+	* amd64nbsd-tdep.c: Likewise.
+	* amd64obsd-nat.c: Likewise.
+	* amd64obsd-tdep.c: Likewise.
+	* arch-utils.c: Likewise.
+	* arm-tdep.c: Likewise.
+	* armbsd-tdep.c: Likewise.
+	* auxv.c: Likewise.
+	* bcache.c: Likewise.
+	* bfin-tdep.c: Likewise.
+	* blockframe.c: Likewise.
+	* breakpoint.c: Likewise.
+	* bsd-kvm.c: Likewise.
+	* bsd-uthread.c: Likewise.
+	* buildsym.c: Likewise.
+	* c-exp.y: Likewise.
+	* c-lang.c: Likewise.
+	* charset.c: Likewise.
+	* cleanups.c: Likewise.
+	* cli-out.c: Likewise.
+	* cli/cli-decode.c: Likewise.
+	* cli/cli-dump.c: Likewise.
+	* cli/cli-logging.c: Likewise.
+	* cli/cli-script.c: Likewise.
+	* cli/cli-utils.c: Likewise.
+	* coffread.c: Likewise.
+	* common/common-utils.c: Likewise.
+	* common/queue.h: Likewise.
+	* common/signals.c: Likewise.
+	* common/vec.h: Likewise.
+	* complaints.c: Likewise.
+	* completer.c: Likewise.
+	* corelow.c: Likewise.
+	* cp-abi.c: Likewise.
+	* cp-name-parser.y: Likewise.
+	* cp-namespace.c: Likewise.
+	* cp-support.c: Likewise.
+	* cris-tdep.c: Likewise.
+	* dbxread.c: Likewise.
+	* dictionary.c: Likewise.
+	* doublest.c: Likewise.
+	* dsrec.c: Likewise.
+	* dummy-frame.c: Likewise.
+	* dwarf2-frame-tailcall.c: Likewise.
+	* dwarf2-frame.c: Likewise.
+	* dwarf2expr.c: Likewise.
+	* dwarf2loc.c: Likewise.
+	* dwarf2read.c: Likewise.
+	* eval.c: Likewise.
+	* event-loop.c: Likewise.
+	* exceptions.c: Likewise.
+	* expprint.c: Likewise.
+	* f-valprint.c: Likewise.
+	* fbsd-nat.c: Likewise.
+	* findvar.c: Likewise.
+	* frame-unwind.c: Likewise.
+	* frame.c: Likewise.
+	* frv-tdep.c: Likewise.
+	* gcore.c: Likewise.
+	* gdb-dlfcn.c: Likewise.
+	* gdb_bfd.c: Likewise.
+	* gdbarch.c: Likewise.
+	* gdbarch.sh: Likewise.
+	* gdbtypes.c: Likewise.
+	* gnu-nat.c: Likewise.
+	* gnu-v3-abi.c: Likewise.
+	* go-lang.c: Likewise.
+	* guile/scm-exception.c: Likewise.
+	* guile/scm-gsmob.c: Likewise.
+	* guile/scm-lazy-string.c: Likewise.
+	* guile/scm-math.c: Likewise.
+	* guile/scm-pretty-print.c: Likewise.
+	* guile/scm-safe-call.c: Likewise.
+	* guile/scm-utils.c: Likewise.
+	* guile/scm-value.c: Likewise.
+	* h8300-tdep.c: Likewise.
+	* hppa-hpux-nat.c: Likewise.
+	* hppa-tdep.c: Likewise.
+	* hppanbsd-tdep.c: Likewise.
+	* hppaobsd-tdep.c: Likewise.
+	* i386-darwin-nat.c: Likewise.
+	* i386-darwin-tdep.c: Likewise.
+	* i386-nto-tdep.c: Likewise.
+	* i386-tdep.c: Likewise.
+	* i386bsd-nat.c: Likewise.
+	* i386fbsd-tdep.c: Likewise.
+	* i386gnu-nat.c: Likewise.
+	* i386nbsd-tdep.c: Likewise.
+	* i386obsd-tdep.c: Likewise.
+	* i387-tdep.c: Likewise.
+	* ia64-libunwind-tdep.c: Likewise.
+	* ia64-tdep.c: Likewise.
+	* inf-ptrace.c: Likewise.
+	* inf-ttrace.c: Likewise.
+	* infcall.c: Likewise.
+	* infcmd.c: Likewise.
+	* infrun.c: Likewise.
+	* inline-frame.c: Likewise.
+	* interps.c: Likewise.
+	* jv-lang.c: Likewise.
+	* jv-typeprint.c: Likewise.
+	* linux-fork.c: Likewise.
+	* linux-nat.c: Likewise.
+	* linux-thread-db.c: Likewise.
+	* m32c-tdep.c: Likewise.
+	* m32r-linux-nat.c: Likewise.
+	* m32r-tdep.c: Likewise.
+	* m68k-tdep.c: Likewise.
+	* m68kbsd-nat.c: Likewise.
+	* m68kbsd-tdep.c: Likewise.
+	* m88k-tdep.c: Likewise.
+	* machoread.c: Likewise.
+	* macroexp.c: Likewise.
+	* macrotab.c: Likewise.
+	* maint.c: Likewise.
+	* mdebugread.c: Likewise.
+	* memory-map.c: Likewise.
+	* mep-tdep.c: Likewise.
+	* mi/mi-common.c: Likewise.
+	* microblaze-tdep.c: Likewise.
+	* mingw-hdep.c: Likewise.
+	* mips-linux-nat.c: Likewise.
+	* mips-linux-tdep.c: Likewise.
+	* mips-tdep.c: Likewise.
+	* mips64obsd-tdep.c: Likewise.
+	* mipsnbsd-tdep.c: Likewise.
+	* mn10300-linux-tdep.c: Likewise.
+	* mn10300-tdep.c: Likewise.
+	* moxie-tdep.c: Likewise.
+	* mt-tdep.c: Likewise.
+	* nat/linux-btrace.c: Likewise.
+	* nat/linux-osdata.c: Likewise.
+	* nat/linux-ptrace.c: Likewise.
+	* nat/mips-linux-watch.c: Likewise.
+	* nios2-linux-tdep.c: Likewise.
+	* nios2-tdep.c: Likewise.
+	* objc-lang.c: Likewise.
+	* objfiles.c: Likewise.
+	* obsd-nat.c: Likewise.
+	* opencl-lang.c: Likewise.
+	* osabi.c: Likewise.
+	* parse.c: Likewise.
+	* ppc-linux-nat.c: Likewise.
+	* ppc-sysv-tdep.c: Likewise.
+	* ppcfbsd-nat.c: Likewise.
+	* ppcfbsd-tdep.c: Likewise.
+	* ppcnbsd-nat.c: Likewise.
+	* ppcnbsd-tdep.c: Likewise.
+	* ppcobsd-nat.c: Likewise.
+	* ppcobsd-tdep.c: Likewise.
+	* printcmd.c: Likewise.
+	* procfs.c: Likewise.
+	* prologue-value.c: Likewise.
+	* psymtab.c: Likewise.
+	* python/py-lazy-string.c: Likewise.
+	* python/py-value.c: Likewise.
+	* regcache.c: Likewise.
+	* reggroups.c: Likewise.
+	* registry.c: Likewise.
+	* remote-sim.c: Likewise.
+	* remote.c: Likewise.
+	* rs6000-aix-tdep.c: Likewise.
+	* rs6000-tdep.c: Likewise.
+	* s390-linux-tdep.c: Likewise.
+	* score-tdep.c: Likewise.
+	* ser-base.c: Likewise.
+	* ser-mingw.c: Likewise.
+	* sh-tdep.c: Likewise.
+	* sh64-tdep.c: Likewise.
+	* solib-darwin.c: Likewise.
+	* solib-spu.c: Likewise.
+	* solib-svr4.c: Likewise.
+	* source.c: Likewise.
+	* sparc-nat.c: Likewise.
+	* sparc-sol2-tdep.c: Likewise.
+	* sparc-tdep.c: Likewise.
+	* sparc64-sol2-tdep.c: Likewise.
+	* sparc64-tdep.c: Likewise.
+	* sparc64fbsd-tdep.c: Likewise.
+	* sparc64nbsd-tdep.c: Likewise.
+	* sparc64obsd-tdep.c: Likewise.
+	* sparcnbsd-tdep.c: Likewise.
+	* sparcobsd-tdep.c: Likewise.
+	* spu-multiarch.c: Likewise.
+	* spu-tdep.c: Likewise.
+	* stabsread.c: Likewise.
+	* stack.c: Likewise.
+	* symfile.c: Likewise.
+	* symtab.c: Likewise.
+	* target-descriptions.c: Likewise.
+	* target-memory.c: Likewise.
+	* target.c: Likewise.
+	* tic6x-linux-tdep.c: Likewise.
+	* tic6x-tdep.c: Likewise.
+	* tilegx-linux-nat.c: Likewise.
+	* tilegx-tdep.c: Likewise.
+	* top.c: Likewise.
+	* tramp-frame.c: Likewise.
+	* tui/tui-out.c: Likewise.
+	* tui/tui-winsource.c: Likewise.
+	* ui-out.c: Likewise.
+	* user-regs.c: Likewise.
+	* utils.c: Likewise.
+	* v850-tdep.c: Likewise.
+	* valops.c: Likewise.
+	* value.c: Likewise.
+	* varobj.c: Likewise.
+	* vax-nat.c: Likewise.
+	* xml-syscall.c: Likewise.
+	* xml-tdesc.c: Likewise.
+	* xstormy16-tdep.c: Likewise.
+	* xtensa-linux-nat.c: Likewise.
+	* xtensa-tdep.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include common-utils.h.
+	* defs.h: Do not include common-utils.h.
+	* common/gdb_assert.h: Likewise.
+	* darwin-nat.h: Likewise.
+	* nat/linux-btrace.c: Likewise.
+	* target/waitstatus.h: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include ptid.h.
+	* defs.h: Do not include ptid.h.
+	* inferior.h: Likewise.
+	* infrun.h: Likewise.
+	* nat/linux-btrace.h: Likewise.
+	* nat/linux-osdata.h: Likewise.
+	* target/waitstatus.h: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include gdb_locale.h.
+	* defs.h: Do not include gdb_locale.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include gdb/signals.h.
+	* defs.h: Do not include gdb/signals.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include pathmax.h.
+	* defs.h: Do not include pathmax.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include libiberty.h.
+	* defs.h: Do not include libiberty.h.
+	* common/queue.h: Likewise.
+	* cp-name-parser.y: Likewise.
+	* mi/mi-cmd-catch.c: Likewise.
+	* python/python.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include ansidecl.h.
+	* defs.h: Do not include ansidecl.h.
+	* common/buffer.h: Likewise.
+	* common/common-utils.h: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include stddef.h.
+	* defs.h: Do not include stddef.h.
+	* common/common-utils.h: Likewise.
+	* amd64fbsd-nat.c: Likewise.
+	* bcache.c: Likewise.
+	* charset.c: Likewise.
+	* common/buffer.h: Likewise.
+	* common/vec.h: Likewise.
+	* i386bsd-nat.c: Likewise.
+	* nat/linux-btrace.h: Likewise.
+	* ppcfbsd-nat.c: Likewise.
+	* ppcnbsd-tdep.h: Likewise.
+	* ppcobsd-nat.c: Likewise.
+	* ppcobsd-tdep.h: Likewise.
+	* python/py-gdb-readline.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include stdarg.h.
+	* defs.h: Do not include stdarg.h.
+	* ada-lang.c: Likewise.
+	* common/common-utils.h: Likewise.
+	* guile/scm-string.c: Likewise.
+	* guile/scm-utils.c: Likewise.
+	* m32c-tdep.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include stdlib.h.
+	* defs.h: Do not include stdlib.h.
+	* addrmap.c: Likewise.
+	* bcache.c: Likewise.
+	* common/buffer.c: Likewise.
+	* common/common-utils.c: Likewise.
+	* cp-name-parser.y: Likewise.
+	* go32-nat.c: Likewise.
+	* mn10300-linux-tdep.c: Likewise.
+	* nat/linux-osdata.c: Likewise.
+	* tui/tui.c: Likewise.
+	* windows-nat.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: Include stdio.h.
+	* defs.h: Do not include stdio.h.
+	* ada-lang.c: Likewise.
+	* common/buffer.c: Likewise.
+	* common/common-utils.c: Likewise.
+	* cp-name-parser.y: Likewise.
+	* gnu-nat.c: Likewise.
+	* go32-nat.c: Likewise.
+	* i386gnu-nat.c: Likewise.
+	* proc-api.c: Likewise.
+	* proc-events.c: Likewise.
+	* proc-flags.c: Likewise.
+	* proc-why.c: Likewise.
+	* python/python-internal.h: Likewise.
+	* target-memory.c: Likewise.
+	* tui/tui-io.c: Likewise.
+	* tui/tui.c: Likewise.
+
+2014-08-06  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* solib-svr4.c (scan_dyntag): Rename dyntag and dyn_tag variables.
+	(scan_dyntag_auxv): Same.
+
+2014-08-06  Yao Qi  <yao@codesourcery.com>
+
+	* amd64-linux-nat.c: Remove duplicated include
+	"x86-linux-nat.h".
+	* i386-linux-nat.c: Likewise.
+
+2014-08-06  Yao Qi  <yao@codesourcery.com>
+
+	* dwarf2read.c (dwarf_decode_lines_1): Replace "Special
+	operand" with "Special opcode" in comments.
+
+2014-08-05  Gary Benson  <gbenson@redhat.com>
+
+	* interps.c (initialize_interps): Remove prototype.
+	(interpreter_initialized): Remove static global.
+	(interp_add): Do not call initialize_interps.
+	(initialize_interps): Remove function.
+
+2014-08-05  Gary Benson  <gbenson@redhat.com>
+
+	* utils.c (vwarning): Remove spurious va_end.
+
+2014-08-05  Alan Modra  <amodra@gmail.com>
+
+	* charset.c (convert_between_encodings): Cast result of obstack_base.
+	* cp-valprint.c (cp_print_value_fields): Use size_t locals.
+	* hppa-tdep.c (internalize_unwinds): Change "size" parm to size_t.
+	(read_unwind_info): Use size_t for some locals.
+	* jit.c (finalize_symtab): Likewise.
+	* utils.c (hashtab_obstack_allocate): Likewise.
+	* symmisc.c (print_objfile_statistics): Update format strings.
+
+2014-08-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* NEWS (Changes in GDB-4.0): Move Intel MPX and Intel AVX-512 items ...
+	(Changes in GDB 7.8): ... here.
+
+2014-08-04  Tom Tromey  <tromey@redhat.com>
+
+	* target.c (set_targetdebug): New function.
+	(initialize_targets): Pass set_targetdebug when creating "set
+	debug target".
+
+2014-08-01  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdbtypes.c (resolve_dynamic_struct): Do not generate an error
+	if detecting a variable-sized field that is not the last field.
+	Fix struct type length computation.
+
+2014-08-01  Joel Brobecker  <brobecker@adacore.com>
+
+	* amd64-windows-tdep.c (amd64_windows_frame_decode_insns):
+	Add debug trace.
+
+2014-08-01  Joel Brobecker  <brobecker@adacore.com>
+
+	* amd64-windows-tdep.c (amd64_windows_frame_decode_insns):
+	Remove "+ 8" offset in computation of CHAIN_VMA.
+
+2014-07-31  Doug Evans  <dje@google.com>
+
+	* inflow.c (child_terminal_inferior): Add comment.
+	(child_terminal_ours_for_output): Add comment.
+	(child_terminal_ours): Add comment.
+	* linux-nat.c (linux_nat_terminal_inferior): Add comment.
+	(linux_nat_terminal_ours): Add comment.
+
+2014-07-31  Gary Benson  <gbenson@redhat.com>
+
+	* common/btrace-common.h: Do not include defs.h or server.h.
+	* nat/mips-linux-watch.h: Likewise.
+	* gdb-dlfcn.h: Do not include defs.h.
+	* tracefile.h: Likewise.
+
+2014-07-30  Roland McGrath  <mcgrathr@google.com>
+
+	* remote-sim.c (gdbsim_open): Apply constification to forward decl.
+
+2014-07-30  Tom Tromey  <tromey@redhat.com>
+
+	* bsd-kvm.c (bsd_kvm_open): Constify.
+	* corelow.c (core_open): Constify.
+	* ctf.c (ctf_open): Constify.
+	* dbug-rom.c (dbug_open): Constify.
+	* exec.c (exec_open): Constify.
+	* m32r-rom.c (m32r_open, mon2000_open): Constify.
+	* microblaze-rom.c (picobug_open): Constify.
+	* nto-procfs.c (procfs_open_1, procfs_open, procfs_native_open):
+	Constify.
+	* ppcbug-rom.c (ppcbug_open0, ppcbug_open1): Constify.
+	* record-btrace.c (record_btrace_open): Constify.
+	* record-full.c (record_full_core_open_1, record_full_open_1)
+	(record_full_open): Constify.
+	* remote-m32r-sdi.c (m32r_open): Constify.
+	* remote-mips.c (common_open, mips_open, pmon_open, ddb_open)
+	(rockhopper_open, lsi_open): Constify.
+	* remote-sim.c (gdbsim_open): Constify.
+	* remote.c (remote_open, extended_remote_open, remote_open_1):
+	Constify.
+	* target.h (struct target_ops) <to_open>: Make "arg" const.
+	* tracefile-tfile.c (tfile_open): Constify.
+
+2014-07-30  Tom Tromey  <tromey@redhat.com>
+
+	* breakpoint.c (map_breakpoint_numbers): Update.
+	* cli/cli-utils.c (get_number_trailer): Make "pp" const.  Update.
+	(get_number_const): New function.
+	(get_number): Rewrite using get_number_const.
+	(init_number_or_range): Make "string" const.
+	(number_is_in_list): Make "list" const.
+	* cli/cli-utils.h (get_number_const): Declare.
+	(struct get_number_or_range_state) <string, end_ptr>: Now const.
+	(init_number_or_range, number_is_in_list): Update.
+	* printcmd.c (map_display_numbers): Update.
+	* value.c (value_from_history_ref): Constify.
+	* value.h (value_from_history_ref): Update.
+
+2014-07-30  Tom Tromey  <tromey@redhat.com>
+
+	* corefile.c (hook_type, call_extra_exec_file_hooks)
+	(specify_exec_file_hook): Constify.
+	* exec.c (exec_file_attach): Make "filename" const.
+	* gdbcore.h (deprecated_exec_file_display_hook)
+	(specify_exec_file_hook, exec_file_attach): Constify.
+	* main.c (captured_main): Use catch_command_errors_const.
+
+2014-07-30  Tom Tromey  <tromey@redhat.com>
+
+	* target.c (open_target): New function.
+	(add_target_with_completer, add_deprecated_target_alias): Use
+	set_cmd_sfunc, set_cmd_context.
+	(debug_to_open): Remove.
+	(setup_target_debug): Update.
+
+2014-07-30  Yao Qi  <yao@codesourcery.com>
+
+	* parser-defs.h (struct exp_descriptor) <operator_check>: Update
+	comments.
+	* parse.c (exp_iterate): Update comments.
+
+2014-07-30  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-defs.h: New file.
+	* Makefile.in (HFILES_NO_SRCDIR): Add common/common-defs.h.
+	* defs.h: Include common-defs.h.
+	Do not include config.h or build-gnulib/config.h.
+
+2014-07-30  Gary Benson  <gbenson@redhat.com>
+
+	* common/common-utils.h: Do not include config.h.
+	* nat/linux-btrace.h: Likewise.
+
+2014-07-30  Gary Benson  <gbenson@redhat.com>
+
+	* btrace.c: Include defs.h.
+	* common/ptid.c: Include defs.h or server.h as appropriate.
+	* nat/mips-linux-watch.c: Likewise.
+
+2014-07-29  Tom Tromey  <tromey@redhat.com>
+
+	* target.c (target_is_pushed): Simplify.
+
+2014-07-29  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 7.8 released.
+
+2014-07-29  Yao Qi  <yao@codesourcery.com>
+
+	PR gdb/17206
+	* infcmd.c (until_next_command): Set step_range_end to PC + 1.
+
+2014-07-28  Doug Evans  <xdje42@gmail.com>
+
+	PR guile/17203
+	* guile/scm-param.c (pascm_parameter_defined_p): New function.
+	(gdbscm_register_parameter_x): Call it.  Raise error for pre-existing
+	parameters.
+
+2014-07-28  Will Newton  <will.newton@linaro.org>
+
+	* arm-linux-tdep.c (THUMB2_SET_R7_SIGRETURN1): New define.
+	(THUMB2_SET_R7_SIGRETURN2): Likewise.
+	(THUMB2_SET_R7_RT_SIGRETURN1): Likewise.
+	(THUMB2_SET_R7_RT_SIGRETURN2): Likewise.
+	(THUMB2_EABI_SYSCALL): Likewise.
+	(thumb2_eabi_linux_sigreturn_tramp_frame): Create new
+	struct tramp_frame.
+	(thumb2_eabi_linux_rt_sigreturn_tramp_frame): Likewise.
+	(arm_linux_init_abi): Add Thumb2 tramp frame unwinders.
+
+2014-07-27  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-param.c (pascm_print_param_smob): Fix output.
+
+2014-07-27  Doug Evans  <xdje42@gmail.com>
+
+	* guile/guile.c (gdbscm_execute_gdb_command): Fix typo in comment.
+
+2014-07-26  Ludovic CourtÃ¨s  <ludo@gnu.org>
+	    Doug Evans  <xdje42@gmail.com>
+
+	PR guile/17146
+	* acinclude.m4 (GDB_GUILE_PROGRAM_NAMES): New macro.
+	(GDB_GUILD_TARGET_FLAG, GDB_TRY_GUILD): New macros.
+	* configure.ac: Try to use guild to compile an scm file, if it fails
+	then disable guile support.
+	* configure: Regenerate.
+	* data-directory/Makefile.in (GUILE_SOURCE_FILES): Renamed from
+	GUILE_FILE_LIST.
+	(GUILE_COMPILED_FILES): New variable.
+	(GUILE_FILES) Update.
+	(GUILD, GUILD_TARGET_FLAG, GUILD_COMPILE_FLAGS): New variables.
+	(stamp-guile): Compile scm files.
+	* guile/guile.c (boot_guile_support): New function.
+	(standard_throw_args_p): New function.
+	(print_standard_throw_error, print_throw_error): New functions.
+	(handle_boot_error): New function.
+	(initialize_scheme_side): Rewrite to call boot_guile_support.
+	* guile/lib/gdb/boot.scm: Update %load-compiled-path.  Load gdb.go.
+	* guile/lib/gdb/init.scm (%silence-compiler-warnings%): New function.
+
+2014-07-26  Ludovic CourtÃ¨s  <ludo@gnu.org>
+	    Doug Evans  <xdje42@gmail.com>
+
+	PR guile/17146
+	* data-directory/Makefile.in (GUILE_FILES): Add support.scm.
+	* guile/lib/gdb/support.scm: New file.
+	* guile/guile.c (gdbscm_init_module_name): Change to "gdb".
+	* guile/lib/gdb.scm: Load gdb/init.scm as an include file.
+	All uses updated.
+	* guile/lib/gdb/init.scm (SCM_ARG1, SCM_ARG2): Moved to support.scm.
+	All uses updated.
+	(%assert-type): Ditto, and renamed to assert-type.
+	(%exception-print-style): Delete.
+
+2014-07-26  Doug Evans  <xdje42@gmail.com>
+
+	PR build/17105
+	* configure.ac: Add AM_CONDITIONALs for HAVE_PYTHON, HAVE_GUILE.
+	* configure: Regenerate.
+	* data-directory/Makefile.in (PYTHON_FILE_LIST): Renamed from
+	PYTHON_FILES.
+	(PYTHON_FILES): New variable.
+	(GUILE_FILE_LIST): Renamed from GUILE_FILES.
+	(GUILE_FILES): New variable.
+	(stamp-python, install-python, uninstall-python): Handle empty
+	file list.
+	(stamp-guile, install-guile, uninstall-guile): Ditto.
+
+2014-07-26  Doug Evans  <xdje42@gmail.com>
+
+	PR guile/17177
+	* guile/lib/gdb.scm (pretty-printers): Export.
+	(set-pretty-printers!): Export.
+	* guile/lib/gdb/printing.scm (gdb module): Update.
+	(prepend-pretty-printer!, append-pretty-printer!): Update.
+	* guile/scm-pretty-print.c (pretty_printer_list_name): Delete.
+	(pretty_printer_list_var): Delete.
+	(pretty_printer_list): New static global.
+	(gdbscm_pretty_printers): New function.
+	(gdbscm_set_pretty_printers_x): New function.
+	(ppscm_find_pretty_printer_from_gdb): Update.
+	(pretty_printer_functions): Add pretty-printers, set-pretty-printers!.
+	(gdbscm_initialize_pretty_printers): Update.
+
+2014-07-26  Doug Evans  <xdje42@gmail.com>
+
+	PR 17185
+	* configure.ac: Add check for header gc/gc.h.
+	Add check for function setenv.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* guile/guile.c (_initialize_guile): Add workaround for libgc 7.4.0.
+
+2014-07-25  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* mips-tdep.c (mips_gdbarch_init): Also check the compressed ISA
+	variation in gdbarch matching.
+
+2014-07-25  Tom Tromey  <tromey@redhat.com>
+
+	* exec.c (using_exec_ops): Remove.
+	(exec_close_1): Update.  Remove extraneous block, reindent.
+	(add_target_sections): Use target_is_pushed.
+
+2014-07-25  Pedro Alves  <palves@redhat.com>
+
+	* go32-nat.c (go32_create_inferior): Pass 0 to clear_proceed_status.
+	* monitor.c (monitor_create_inferior): Likewise.
+	* remote-m32r-sdi.c (m32r_create_inferior): Likewise.
+	* remote-sim.c (gdbsim_create_inferior): Likewise.
+	* solib-irix.c (irix_solib_create_inferior_hook): Likewise.
+	* solib-osf.c (osf_solib_create_inferior_hook): Likewise.
+	* windows-nat.c (do_initial_windows_stuff): Likewise.
+
+2014-07-25  Pedro Alves  <palves@redhat.com>
+
+	* NEWS: Mention signal passing and "signal" command changes.
+	* gdbthread.h (struct thread_suspend_state) <stop_signal>: Extend
+	comment.
+	* breakpoint.c (until_break_command): Adjust clear_proceed_status
+	call.
+	* infcall.c (run_inferior_call): Adjust clear_proceed_status call.
+	* infcmd.c (proceed_thread_callback, continue_1, step_once)
+	(jump_command): Adjust clear_proceed_status call.
+	(signal_command): Warn if other thread that are resumed have
+	signals that will be delivered.  Adjust clear_proceed_status call.
+	(until_next_command, finish_command)
+	(proceed_after_attach_callback, attach_command_post_wait)
+	(attach_command): Adjust clear_proceed_status call.
+	* infrun.c (proceed_after_vfork_done): Likewise.
+	(proceed_after_attach_callback): Adjust comment.
+	(clear_proceed_status_thread): Clear stop_signal if not in pass
+	state.
+	(clear_proceed_status_callback): Delete.
+	(clear_proceed_status): New 'step' parameter.  Only clear the
+	proceed status of threads the command being prepared is about to
+	resume.
+	(proceed): If passed in an explicit signal, override stop_signal
+	with it.  Don't pass the last stop signal to the thread we're
+	resuming.
+	(init_wait_for_inferior): Adjust clear_proceed_status call.
+	(switch_back_to_stepped_thread): Clear the signal if it should not
+	be passed.
+	* infrun.h (clear_proceed_status): New 'step' parameter.
+	(user_visible_resume_ptid): Add comment.
+	* linux-nat.c (linux_nat_resume_callback): Don't check whether the
+	signal is in pass state.
+	* remote.c (append_pending_thread_resumptions): Likewise.
+	* mi/mi-main.c (proceed_thread): Adjust clear_proceed_status call.
+
+2014-07-25  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (target_stopped_data_address)
+	(target_watchpoint_addr_within_range): Use "->", not ".".  Fix
+	parentheses.
+
+2014-07-25  Pierre Langlois  <pierre.langlois@embecosm.com>
+
+	* avr-tdep.c (avr_address_to_pointer): Clarify the conversion in the
+	comments.
+	(avr_pointer_to_address): Likewise.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* monitor.c (compile_pattern): Update.
+	* target.h (struct target_ops) <to_shortname, to_longname,
+	to_doc>: Now const.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-decode.c (add_cmd, add_prefix_cmd)
+	(add_abbrev_prefix_cmd, add_set_or_show_cmd, add_info)
+	(add_info_alias, add_com): Make "doc" const.
+	(print_doc_line): Make "str" const.
+	(delete_cmd): Update.
+	* cli/cli-decode.h (struct cmd_list_element) <doc>: Now const.
+	(print_doc_line): Update.
+	* cli/cli-script.c (document_command): Update.
+	* command.h (add_cmd, add_prefix_cmd, add_abbrev_prefix_cmd)
+	(add_com, add_info, add_info_alias): Update.
+	* guile/scm-cmd.c (cmdscm_destroyer): Update.
+	* python/py-cmd.c (cmdpy_destroyer): Update.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-decode.c (print_help_for_command): Make "prefix" const.
+	(add_prefix_cmd, add_abbrev_prefix_cmd, apropos_cmd, help_list)
+	(help_cmd_list): Constify.
+	(lookup_cmd): Update.
+	* cli/cli-decode.h (struct cmd_list_element) <prefixname>: Now
+	const.
+	(help_cmd_list, apropos_cmd): Update.
+	* cli/cli-script.c (show_user): Update.
+	* cli/cli-setshow.c (cmd_show_list): Make "prefix" const.
+	* cli/cli-setshow.h (cmd_show_list): Update.
+	* command.h (add_prefix_cmd, add_abbrev_prefix_cmd, help_list)
+	(cmd_show_list): Update.
+	* guile/scm-cmd.c (cmdscm_destroyer): Update.
+	* python/py-cmd.c (cmdpy_destroyer): Update.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-decode.c (deprecate_cmd): Make "replacement" const.
+	* cli/cli-decode.h (struct cmd_list_element) <replacement>: Now
+	const.
+	* command.h (deprecate_cmd): Update.
+	* maint.c (maintenance_do_deprecate): Add casts.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-decode.c (help_cmd): Make parameter "const".
+	* cli/cli-decode.h (help_cmd): Update.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* stack.c (up_silently_base, down_silently_base): Make argument
+	const.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* solib.c (solib_add): Make "pattern" const.
+	* solib.h (solib_add): Update.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* remote.c (remote_serial_open, print_packet, putpkt)
+	(putpkt_binary): Constify.
+	* remote.h (putpkt): Update.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* monitor.c (monitor_open): Make "args" const.
+	* monitor.h (monitor_open): Update.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* maint.c (match_bfd_flags): Make "string" const.
+	(print_bfd_section_info): Remove casts.
+	(print_objfile_section_info): Make "string" const.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* inf-child.c (inf_child_open_target): Make "arg" const.
+	* inf-child.h (inf_child_open_target): Update.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* environ.c (unset_in_environ): Make "var" const.
+	* environ.h (unset_in_environ): Update.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-dump.c (scan_expression_with_cleanup): Return const.
+	Make "cmd" const.
+	(scan_filename_with_cleanup): Likewise.
+	(dump_memory_to_file, dump_value_to_file, restore_binary_file):
+	Make arguments const.
+	(restore_command): Update.
+
+2014-07-24  Pedro Alves  <palves@redhat.com>
+
+	* tui/tui-io.c (tui_prep_terminal): Handle NULL rl_prompt.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* nat/linux-ptrace.c (additional_flags): New global.
+	(linux_test_for_tracesysgood, linux_test_for_tracefork): Use
+	additional_flags; don't check GDBSERVER.
+	(linux_ptrace_set_additional_flags): New function.
+	* nat/linux-ptrace.h (linux_ptrace_set_additional_flags):
+	Declare.
+	* linux-nat.c (_initialize_linux_nat): Call
+	linux_ptrace_set_additional_flags.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+
+	* make-target-delegates (munge_type, write_debugmethod): New
+	functions.
+	(debug_names): New global.
+	($TARGET_DEBUG_PRINTER): New global.
+	(write_function_header): Strip TARGET_DEBUG_PRINTER from the type
+	name.
+	Write debug methods.  Generate init_debug_target.
+	* target-debug.h: New file.
+	* target-delegates.c: Rebuild.
+	* target.c: Include target-debug.h.
+	(debug_target): Hoist definition.
+	(target_kill, target_get_section_table, target_memory_map)
+	(target_flash_erase, target_flash_done, target_detach)
+	(target_disconnect, target_wait, target_resume)
+	(target_pass_signals, target_program_signals, target_follow_fork)
+	(target_mourn_inferior, target_search_memory)
+	(target_thread_address_space, target_close)
+	(target_find_new_threads, target_core_of_thread)
+	(target_verify_memory, target_insert_mask_watchpoint)
+	(target_remove_mask_watchpoint): Remove targetdebug code.
+	(debug_to_post_attach, debug_to_prepare_to_store)
+	(debug_to_files_info, debug_to_insert_breakpoint)
+	(debug_to_remove_breakpoint, debug_to_can_use_hw_breakpoint)
+	(debug_to_region_ok_for_hw_watchpoint)
+	(debug_to_can_accel_watchpoint_condition)
+	(debug_to_stopped_by_watchpoint, debug_to_stopped_data_address)
+	(debug_to_watchpoint_addr_within_range)
+	(debug_to_insert_hw_breakpoint, debug_to_remove_hw_breakpoint)
+	(debug_to_insert_watchpoint, debug_to_remove_watchpoint)
+	(debug_to_terminal_init, debug_to_terminal_inferior)
+	(debug_to_terminal_ours_for_output, debug_to_terminal_ours)
+	(debug_to_terminal_save_ours, debug_to_terminal_info)
+	(debug_to_load, debug_to_post_startup_inferior)
+	(debug_to_insert_fork_catchpoint)
+	(debug_to_remove_fork_catchpoint)
+	(debug_to_insert_vfork_catchpoint)
+	(debug_to_remove_vfork_catchpoint)
+	(debug_to_insert_exec_catchpoint)
+	(debug_to_remove_exec_catchpoint, debug_to_has_exited)
+	(debug_to_can_run, debug_to_thread_architecture, debug_to_stop)
+	(debug_to_rcmd, debug_to_pid_to_exec_file): Remove.
+	(setup_target_debug): Call init_debug_target.
+	* target.h (TARGET_DEBUG_PRINTER): New macro.
+	(struct target_ops) <to_resume, to_wait, to_pass_signals,
+	to_program_signals>: Use TARGET_DEBUG_PRINTER.
+
+2014-07-24  Gary Benson  <gbenson@redhat.com>
+
+	* exceptions.h (throw_vfatal): Renamed to...
+	(throw_vquit): New declaration.
+	(throw_quit): Likewise.
+	* exceptions.c (throw_vfatal): Renamed to...
+	(throw_vquit): New function.
+	(throw_quit): Likewise.
+	(throw_error): Call throw_verror rather than throw_it.
+	* utils.h (vfatal): Removed.
+	(fatal): Likewise.
+	* utils.c (vfatal): Removed.
+	(fatal): Likewise.
+	(internal_verror): Replaced call to fatal with call to throw_quit.
+	(quit): Replaced calls to fatal with calls to throw_quit.
+
+2014-07-23  Ajit Agarwal <ajitkum@xilinx.com>
+
+	* microblaze-tdep.c (microblaze_fetch_instruction): Use of
+	target_read_code.
+
+2014-07-23  Chen Gang <gang.chen.5i5j@gmail.com>
+
+	* microblaze-tdep.c (microblaze_dwarf2_reg_to_regnum): Check whether
+	less than zero in conditional expression.
+
+2014-07-23  Tom Tromey  <tromey@redhat.com>
+
+	* make-target-delegates ($ARGS_PART): Match trailing close paren.
+	($INTRO_PART): Don't match whitespace.
+	($METHOD_TRAILER): Move earlier.  Remove trailing semicolon and
+	argument matching.
+	($METHOD): Add $METHOD_TRAILER.
+	(trim): Rewrite.
+	(scan_target_h): New sub.
+	Change main loop not to collect state.
+	* target-delegates.c: Rebuild.
+
+2014-07-23  Gary Benson  <gbenson@redhat.com>
+
+	* cp-support.c (gdb_demangle): Fix build on systems without
+	sigaltstack.
+
+2014-07-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* dwarf2loc.c (value_of_dwarf_reg_entry): Remove setting value address
+	for reference entry value target data value.
+
+2014-07-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* stack.c (read_frame_arg): Verify value_optimized_out before calling
+	value_available_contents_eq.
+
+2014-07-22  Pedro Alves  <palves@redhat.com>
+
+	* value.c (allocate_optimized_out_value): Don't mark value as
+	non-lazy.
+
+2014-07-22  Jiong Wang  <jiong.wang@arm.com>
+
+	* MAINTAINERS (Write After Approval): Update my email address.
+
+2014-07-20  Doug Evans  <dje@google.com>
+
+	PR server/17147
+	* remote.c (putpkt_binary): Add text to error message.
+
+2014-07-20  Yao Qi  <yao@codesourcery.com>
+
+	* eval.c: Remove "Chill" from comments.
+	* gdbtypes.h: Likewise.
+	* symtab.h: Likewise.
+
+2014-07-20  Yao Qi  <yao@codesourcery.com>
+
+	* std-operator.def: Update comments to TERNOP_SLICE.
+
+2014-07-20  Yao Qi  <yao@codesourcery.com>
+
+	* std-operator.def: Remove BINOP_RANGE.
+	* breakpoint.c (watchpoint_exp_is_const): Update.
+	* expprint.c (dump_subexp_body_standard): Likewise.
+	* eval.c (init_array_element): Remove dead code.
+	(evaluate_subexp_standard): Likewise.
+
+2014-07-20  Yao Qi  <yao@codesourcery.com>
+
+	* std-operator.def: Remove BINOP_IN.
+	* breakpoint.c (watchpoint_exp_is_const): Update.
+	* eval.c (evaluate_subexp_standard): Likewise.
+	* expprint.c (dump_subexp_body_standard): Likewise.
+
+2014-07-19  Ajit Agarwal  <ajitkum@xilinx.com>
+
+	* microblaze-tdep.c (microblaze_register_names): Add
+	the rshr and rslr register names.
+	(microblaze_gdbarch_init): Use of tdesc_has_registers.
+	Use of tdesc_find_feature. Use of tdesc_data_alloc.
+	Use of tdesc_numbered_register. Use of
+	microblaze_register_g_packet_guesses. Use of
+	tdesc_use_registers. Use of set_gdbarch_register_type.
+	(microblaze_register_g_packet_guesses): New.
+	* microblaze-tdep.h (microblaze_reg_num): Add
+	field MICROBLAZE_SLR_REGNUM MICROBLAZE_SHR_REGNUM
+	MICROBLAZE_NUM_REGS and MICROBLAZE_NUM_CORE_REGS.
+	(microblaze_frame_cache): Use of MICROBLAZE_NUM_REGS.
+	* features/microblaze-core.xml: New file.
+	* features/microblaze-stack-protect.xml: New file.
+	* features/microblaze-with-stack-protect.c: New file.
+	* features/microblaze-with-stack-protect.xml: New file.
+	* features/microblaze.xml: New file.
+	* features/microblaze.c: New file.
+	* features/Makefile (microblaze-with-stack-protect): Add
+	microblaze-with-stack-protect microblaze and microblaze-expedite.
+	* regformats/microblaze-with-stack-protect.dat: New file.
+	* regformats/microblaze.dat: New file.
+	* doc/gdb.texinfo (MicroBlaze Features): Added.
+
+2014-07-18  Tom Tromey  <tromey@redhat.com>
+
+	* exec.c (exec_ops): Now static.
+	* exec.h (exec_ops): Don't declare.
+
+2014-07-18  Tom Tromey  <tromey@redhat.com>
+
+	* spu-multiarch.c (spu_region_ok_for_hw_watchpoint): Pass "self"
+	to find_target_beneath.
+	* ravenscar-thread.c (ravenscar_prepare_to_store): Pass "ops" to
+	find_target_beneath.
+	(ravenscar_mourn_inferior): Pass "self" to find_target_beneath.
+
+2014-07-18  Tom Tromey  <tromey@redhat.com>
+
+	PR gdb/17130:
+	* utils.c (quit): Use target_supports_terminal_ours.
+	* target.h (target_supports_terminal_ours): Declare.
+	* target.c (target_supports_delete_record): Don't check
+	to_delete_record against NULL.
+	(target_supports_terminal_ours): New function.
+
+2014-07-18  Tom Tromey  <tromey@redhat.com>
+
+	PR gdb/17130:
+	* spu-multiarch.c (spu_region_ok_for_hw_watchpoint)
+	(spu_fetch_registers, spu_store_registers, spu_xfer_partial)
+	(spu_search_memory, spu_mourn_inferior): Simplify delegation.
+	* linux-thread-db.c (thread_db_pid_to_str): Always delegate.
+	* windows-nat.c (windows_xfer_partial): Always delegate.
+	* record-btrace.c (record_btrace_xfer_partial): Simplify
+	delegation.
+	(record_btrace_fetch_registers, record_btrace_store_registers)
+	(record_btrace_prepare_to_store, record_btrace_resume)
+	(record_btrace_wait, record_btrace_find_new_threads)
+	(record_btrace_thread_alive): Likewise.
+	* procfs.c (procfs_xfer_partial): Always delegate.
+	* corelow.c (core_xfer_partial): Always delegate.
+	* sol-thread.c (sol_find_new_threads): Simplify delegation.
+
+2014-07-18  Tom Tromey  <tromey@redhat.com>
+
+	* exec.c (exec_make_note_section): Move earlier.
+
+2014-07-17  Doug Evans  <dje@google.com>
+
+	PR gdb/17170
+	* maint.c (count_symtabs_and_blocks): Handle NULL
+	current_program_space.
+	(report_command_stats): Check global enabled flag in addition to
+	recorded enabled flag.
+	(make_command_stats_cleanup): Handle msg_type == 0, startup.
+
+2014-07-16  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (kill_callback): Use kill_lwp, not kill.
+
+2014-07-16  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_delete_record>: Reformat
+	comment.
+
+2014-07-16  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+
+2014-07-15  Pierre Langlois  <pierre.langlois@embecosm.com>
+
+	* avr-tdep.c (AVR_TYPE_ADDRESS_CLASS_FLASH): New macro.
+	(AVR_TYPE_INSTANCE_FLAG_ADDRESS_CLASS_FLASH): Likewise.
+	(avr_address_to_pointer): Check for AVR_TYPE_ADDRESS_CLASS_FLASH.
+	(avr_pointer_to_address): Likewise.
+	(avr_address_class_type_flags): New function.
+	(avr_address_class_type_flags_to_name): Likewise.
+	(avr_address_class_name_to_type_flags): Likewise.
+	(avr_gdbarch_init): Set address_class_type_flags,
+	address_class_type_flags_to_name and
+	address_class_name_to_type_flags.
+
+2014-07-15  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (kill_callback): Save errno and work with saved
+	copy.
+
+2014-07-15  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* expprint.c (dump_subexp_body_standard): Handle OP_STRING.
+
+2014-07-14  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+	* ppc-linux-nat.c (ppc_linux_can_use_hw_breakpoint): Report no hardware
+	breakpoint support correctly.
+
+2014-07-14  Pedro Alves  <palves@redhat.com>
+
+	* utils.c (prompt_for_continue): Call target_terminal_ours.
+
+2014-07-14  Pedro Alves  <palves@redhat.com>
+
+	* inf-loop.c (inferior_event_handler): Use TRY_CATCH instead of
+	catch_errors.  Don't re-enable stdin or notify observers where,
+	and rethrow error.
+	(fetch_inferior_event_wrapper): Delete.
+
+2014-07-14  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17072
+	* top.c: Include "inf-loop.h".
+	(struct gdb_readline_wrapper_cleanup) <target_is_async_orig>: New
+	field.
+	(gdb_readline_wrapper_cleanup): Make the target async again, if it
+	was async before.
+	(gdb_readline_wrapper): Store whether the target is async, and
+	make it sync.
+
+2014-07-14  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17072
+	* top.c (gdb_readline_wrapper_line): Tweak comment.
+	(gdb_readline_wrapper_cleanup): If readline is enabled, reinstall
+	the input handler callback.
+
+2014-07-14  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17072
+	* main.c: Include event-top.h.
+	(handle_command_errors): New function.
+	(catch_command_errors, catch_command_errors_const): Use it.
+
+2014-07-14  Pedro Alves  <palves@redhat.com>
+
+	* exceptions.c (catch_command_errors, catch_command_errors_const):
+	Moved to main.c.
+	* exceptions.h (catch_command_errors_ftype)
+	(catch_command_errors_const_ftype): Moved to main.c.
+	(catch_command_errors, catch_command_errors_const): Delete
+	declarations.
+	* main.c (catch_command_errors_ftype)
+	(catch_command_errors_const_ftype): Moved here from exceptions.h.
+	(catch_command_errors, catch_command_errors_const)): Moved here
+	from exceptions.c and make static.
+
+2014-07-14  Pedro Alves  <palves@redhat.com>
+
+	* exceptions.c (print_any_exception): Delete.
+	(catch_exceptions_with_msg): Use exception_print instead of
+	print_any_exception.
+	(catch_errors): Use exception_fprintf instead of
+	print_any_exception.
+	(catch_command_errors, catch_command_errors_const): Use
+	exception_print instead of print_any_exception.
+
+2014-07-14  Pedro Alves  <palves@redhat.com>
+
+	* infcall.c (run_inferior_call): Set 'sync_execution' while
+	running the inferior call.
+
+2014-07-14  Pedro Alves  <palves@redhat.com>
+
+	* value.c (value_contents_equal): Delete function.
+	* value.h (value_contents_equal): Delete declaration.
+
+2014-07-14  Tom Tromey  <tromey@redhat.com>
+
+	PR exp/17106:
+	* gdbtypes.c (is_dynamic_type_internal): New function, from
+	is_dynamic_type.
+	(is_dynamic_type): Rewrite.
+	(resolve_dynamic_union): Use resolve_dynamic_type_internal.
+	(resolve_dynamic_struct): Likewise.
+	(resolve_dynamic_type_internal): New function, from
+	resolve_dynamic_type.
+	(resolve_dynamic_type): Rewrite.
+
+2014-07-14  Tom Tromey  <tromey@redhat.com>
+
+	* target.c (target_require_runnable): Also check record_stratum.
+	Update comment.
+
+2014-07-11  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (thumb_analyze_prologue): Break the loop if
+	thumb_instruction_restores_sp return true.
+
+2014-07-11  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (thumb_instruction_restores_sp): New function.
+	(thumb_in_function_epilogue_p): Call
+	thumb_instruction_restores_sp.
+
+2014-07-11  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (thumb_analyze_prologue): Don't match instruction
+	'add sp, #imm'.
+	(thumb_in_function_epilogue_p): Don't match 'sub sp, #imm'.
+
+2014-07-11  Gary Benson  <gbenson@redhat.com>
+
+	* amd64-linux-nat.c (gdbcore.h): Remove include.
+	(regset.h): Likewise.
+	(nat/linux-btrace.h): Likewise.
+	(btrace.h): Likewise.
+	(gdb_assert.h): Likewise.
+	(string.h): Likewise.
+	(sys/uio.h): Likewise.
+	(sys/debugreg.h): Likewise.
+	(sys/syscall.h): Likewise.
+	(sys/procfs.h): Likewise.
+	(sys/user.h): Likewise.
+	(asm/ptrace.h): Likewise.
+	(i386-nat.h): Likewise.
+	* i386-linux-nat.c (i386-nat.h): Likewise.
+	(regset.h): Likewise.
+	(target.h): Likewise.
+	(linux-nat.h): Likewise.
+	(nat/linux-btrace.h): Likewise.
+	(btrace.h): Likewise.
+	(gdb_assert.h): Likewise.
+	(string.h): Likewise.
+	(sys/uio.h): Likewise.
+	(sys/user.h): Likewise.
+	(sys/procfs.h): Likewise.
+	(sys/reg.h): Likewise.
+	(sys/debugreg.h): Likewise.
+	(ORIG_EAX): Remove definition.
+
+2014-07-11  Gary Benson  <gbenson@redhat.com>
+
+	* i386-linux-nat.h: New file.
+	* x86-linux-nat.h: Likewise.
+	* x86-linux-nat.c: Likewise.
+	* Makefile.in (HFILES_NO_SRCDIR): Add the above new headers.
+	* config/i386/linux.mh (NATDEPFILES): Add x86-linux-nat.o.
+	* config/i386/linux64.mh (NATDEPFILES): Likewise.
+	* amd64-linux-nat.c (x86-linux-nat.h): New include.
+	(PTRACE_GETREGSET): Now in x86-linux-nat.h.
+	(PTRACE_SETREGSET): Likewise.
+	(arch_lwp_info): Now in x86-linux-nat.c.
+	(have_ptrace_getregset): Now in x86-linux-nat.h.
+	(x86_linux_dr_get): Now in x86-linux-nat.c.
+	(x86_linux_dr_set): Likewise.
+	(x86_linux_dr_get_addr): Likewise.
+	(x86_linux_dr_get_control): Likewise.
+	(x86_linux_dr_get_status): Likewise.
+	(update_debug_registers_callback): Likewise.
+	(x86_linux_dr_set_control): Likewise.
+	(x86_linux_dr_set_addr): Likewise.
+	(x86_linux_prepare_to_resume): Likewise.
+	(x86_linux_new_thread): Likewise.
+	(x86_linux_new_fork): Likewise.
+	(x86_linux_get_thread_area): Likewise.
+	(super_post_startup_inferior): Likewise.
+	(x86_linux_child_post_startup_inferior): Likewise.
+	(AMD64_LINUX_USER64_CS): Likewise.
+	(AMD64_LINUX_X32_DS): Likewise.
+	(x86_linux_read_description): Likewise.
+	(x86_linux_enable_btrace): Likewise.
+	(x86_linux_disable_btrace): Likewise.
+	(x86_linux_teardown_btrace): Likewise.
+	(x86_linux_read_btrace): Likewise.
+	(x86_linux_create_target): Likewise.
+	(x86_linux_add_target): Likewise.
+	* i386-linux-nat.c (x86-linux-nat.h): New include.
+	(PTRACE_GETREGSET): Now in x86-linux-nat.h.
+	(PTRACE_SETREGSET): Likewise.
+	(arch_lwp_info): Now in x86-linux-nat.c.
+	(have_ptrace_getregset): Now in x86-linux-nat.h.
+	(x86_linux_dr_get): Now in x86-linux-nat.c.
+	(x86_linux_dr_set): Likewise.
+	(x86_linux_dr_get_addr): Likewise.
+	(x86_linux_dr_get_control): Likewise.
+	(x86_linux_dr_get_status): Likewise.
+	(update_debug_registers_callback): Likewise.
+	(x86_linux_dr_set_control): Likewise.
+	(x86_linux_dr_set_addr): Likewise.
+	(x86_linux_prepare_to_resume): Likewise.
+	(x86_linux_new_thread): Likewise.
+	(x86_linux_new_fork): Likewise.
+	(x86_linux_get_thread_area): Likewise.
+	(super_post_startup_inferior): Likewise.
+	(x86_linux_child_post_startup_inferior): Likewise.
+	(AMD64_LINUX_USER64_CS): Likewise.
+	(AMD64_LINUX_X32_DS): Likewise.
+	(x86_linux_read_description): Likewise.
+	(x86_linux_enable_btrace): Likewise.
+	(x86_linux_disable_btrace): Likewise.
+	(x86_linux_teardown_btrace): Likewise.
+	(x86_linux_read_btrace): Likewise.
+	(x86_linux_create_target): Likewise.
+	(x86_linux_add_target): Likewise.
+
+2014-07-11  Gary Benson  <gbenson@redhat.com>
+
+	* amd64-linux-nat.c: Comment and whitespace changes.
+	* i386-linux-nat.c: Comment and whitespace changes.
+
+2014-07-11  Gary Benson  <gbenson@redhat.com>
+
+	* amd64-linux-nat.c (x86_linux_create_target): New function.
+	(x86_linux_add_target): Likewise.
+	(_initialize_amd64_linux_nat): Delegate to the above new functions.
+	* i386-linux-nat.c (x86_linux_create_target): New function.
+	(x86_linux_add_target): Likewise.
+	(_initialize_i386_linux_nat): Delegate to the above new functions.
+
+2014-07-11  Gary Benson  <gbenson@redhat.com>
+
+	* amd64-linux-nat.c (x86_linux_get_thread_area): New function.
+	(ps_get_thread_area): Delegate to the above in 32-bit mode.
+	* i386-linux-nat.c (x86_linux_get_thread_area): New function.
+	(ps_get_thread_area): Delegate to the above.
+
+2014-07-11  Gary Benson  <gbenson@redhat.com>
+
+	* amd64-linux-nat.c (amd64_linux_read_description): Renamed to
+	x86_linux_read_description.  All uses updated.  amd64-specific
+	code conditionalized.  Conditionalized i386-specific code added.
+	Redundant cast removed.
+	* i386-linux-nat.c (i386_linux_read_description): Renamed to
+	x86_linux_read_description.  All uses updated.  i386-specific
+	code conditionalized.  Conditionalized amd64-specific code added.
+	One sizeof replaced with the actual type it is describing.
+
+2014-07-11  Gary Benson  <gbenson@redhat.com>
+
+	* amd64-linux-nat.c (amd64_linux_dr_get): Renamed to
+	x86_linux_dr_get.  All uses updated.
+	(amd64_linux_dr_set): Renamed to
+	x86_linux_dr_set.  All uses updated.
+	(amd64_linux_dr_get_addr): Renamed to
+	x86_linux_dr_get_addr.  All uses updated.
+	(amd64_linux_dr_get_control): Renamed to
+	x86_linux_dr_get_control.  All uses updated.
+	(amd64_linux_dr_get_status): Renamed to
+	x86_linux_dr_get_status.  All uses updated.
+	(amd64_linux_dr_set_control): Renamed to
+	x86_linux_dr_set_control.  All uses updated.
+	(amd64_linux_dr_set_addr): Renamed to
+	x86_linux_dr_set_addr.  All uses updated.
+	(amd64_linux_prepare_to_resume): Renamed to
+	x86_linux_prepare_to_resume.  All uses updated.
+	(amd64_linux_new_thread): Renamed to
+	x86_linux_new_thread.  All uses updated.
+	(amd64_linux_new_fork): Renamed to
+	x86_linux_new_fork.  All uses updated.
+	(amd64_linux_child_post_startup_inferior): Renamed to
+	x86_linux_child_post_startup_inferior.  All uses updated.
+	(amd64_linux_enable_btrace): Renamed to
+	x86_linux_enable_btrace.  All uses updated.
+	(amd64_linux_disable_btrace): Renamed to
+	x86_linux_disable_btrace.  All uses updated.
+	(amd64_linux_teardown_btrace): Renamed to
+	x86_linux_teardown_btrace.  All uses updated.
+	(amd64_linux_read_btrace): Renamed to
+	x86_linux_read_btrace.  All uses updated.
+	* i386-linux-nat.c (i386_linux_dr_get): Renamed to
+	x86_linux_dr_get.  All uses updated.
+	(i386_linux_dr_set): Renamed to
+	x86_linux_dr_set.  All uses updated.
+	(i386_linux_dr_get_addr): Renamed to
+	x86_linux_dr_get_addr.  All uses updated.
+	(i386_linux_dr_get_control): Renamed to
+	x86_linux_dr_get_control.  All uses updated.
+	(i386_linux_dr_get_status): Renamed to
+	x86_linux_dr_get_status.  All uses updated.
+	(i386_linux_dr_set_control): Renamed to
+	x86_linux_dr_set_control.  All uses updated.
+	(i386_linux_dr_set_addr): Renamed to
+	x86_linux_dr_set_addr.  All uses updated.
+	(i386_linux_prepare_to_resume): Renamed to
+	x86_linux_prepare_to_resume.  All uses updated.
+	(i386_linux_new_thread): Renamed to
+	x86_linux_new_thread.  All uses updated.
+	(i386_linux_new_fork): Renamed to
+	x86_linux_new_fork.  All uses updated.
+	(i386_linux_child_post_startup_inferior): Renamed to
+	x86_linux_child_post_startup_inferior.  All uses updated.
+	(i386_linux_enable_btrace): Renamed to
+	x86_linux_enable_btrace.  All uses updated.
+	(i386_linux_disable_btrace): Renamed to
+	x86_linux_disable_btrace.  All uses updated.
+	(i386_linux_teardown_btrace): Renamed to
+	x86_linux_teardown_btrace.  All uses updated.
+	(i386_linux_read_btrace): Renamed to
+	x86_linux_read_btrace.  All uses updated.
+
+2014-07-11  Adrian Sendroiu  <adrian.sendroiu@freescale.com>
+
+	* remote.c (extended_remote_post_attach): New function.
+	(init_extended_remote_ops): Install it as to_post_attach method.
+
+2014-07-09  Pedro Alves  <palves@redhat.com>
+
+	* infcmd.c (attach_command_post_wait): Don't call
+	target_terminal_inferior here.
+	(attach_command): Call it here instead.
+
+2014-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* ada-varobj.c (ada_varobj_ops): Fill in is_path_expr_parent
+	field.
+	* c-varobj.c (c_is_path_expr_parent): New function, moved core
+	from varobj.c, with additional checks.
+	(c_varobj_ops): Fill in is_path_expr_parent field.
+	(cplus_varobj_ops): Fill in is_path_expr_parent field.
+	* jv-varobj.c (java_varobj_ops): Fill in is_path_expr_parent
+	field.
+	* varobj.c (is_path_expr_parent): Call is_path_expr_parent varobj
+	ops method.
+	(varobj_default_is_path_expr_parent): New function.
+	* varobj.h (lang_varobj_ops): Add is_path_expr_parent field.
+	(varobj_default_is_path_expr_parent): Declare new function.
+
+2014-07-08  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* infcmd.c (finish_backward): Turn internal error into normal error.
+
+2014-07-07  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17096
+	* remote.c (async_handle_remote_sigint)
+	(async_handle_remote_sigint_twice): Call
+	gdb_call_async_signal_handler instead of
+	mark_async_signal_handler.
+
+2014-07-07  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_info_record): Remove.
+	* record.c (info_record_command): Unconditionally call
+	to_info_record.
+	* target.h (struct target_ops) <to_info_record>: Use
+	TARGET_DEFAULT_IGNORE.
+	(target_info_record): Remove.
+
+2014-07-07  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_get_thread_local_address>: Use
+	TARGET_DEFAULT_NORETURN.
+	* target.c (generic_tls_error): New function.
+	(target_translate_tls_address): Don't search target stack.
+	* target-delegates.c: Rebuild.
+	* ppc-linux-tdep.c (ppc_linux_spe_context): Don't search target
+	stack.
+	* linux-thread-db.c (thread_db_get_thread_local_address):
+	Unconditionally call beneath target.
+
+2014-07-03  Marc Khouzam  <marc.khouzam@ericsson.com>
+
+	* cli/cli-logging.c (pop_output_files): Assign targerr to
+	gdb_stdtargerr.
+
+2014-07-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* MAINTAINERS (Write After Approval): Update my email address.
+
+2014-07-02  Gary Benson  <gbenson@redhat.com>
+
+	* proc-service.c (ps_xfer_memory): Update comment.
+	(ps_pstop): Remove unused function.
+	(ps_pcontinue): Likewise.
+	(ps_lstop): Likewise.
+	(ps_lcontinue): Likewise.
+	(ps_lgetxregsize): Likewise.
+	(ps_lgetxregs): Likewise.
+	(ps_lsetxregs): Likewise.
+	(ps_plog): Likewise.
+	(ps_ptread): Likewise.
+	(ps_ptwrite): Likewise.
+
+2014-07-01  Mark Wielaard  <mjw@redhat.com>
+
+	* dwarf2read.c (add_array_cv_type): New function.
+	(read_tag_const_type): Call add_array_cv_type for TYPE_CODE_ARRAY.
+	(read_tag_volatile_type): Likewise.
+
+2014-07-01  Tom Tromey  <tromey@redhat.com>
+
+	* breakpoint.c (add_catch_command): Use cmd_sfunc_ftype.
+	* breakpoint.h (add_catch_command): Use cmd_sfunc_ftype.
+	* cli/cli-decode.c (cmd_cfunc_eq, add_cmd, add_prefix_cmd)
+	(add_abbrev_prefix_cmd, add_info, add_com): Use cmd_cfunc_ftype.
+	* command.h (cmd_cfunc_ftype): Move earlier.
+	(add_cmd, add_prefix_cmd, add_abbrev_prefix_cmd, cmd_cfunc_eq)
+	(add_com, add_info): Use cmd_cfunc_ftype.
+
+2014-06-30  Tom Tromey  <tromey@redhat.com>
+
+	* symtab.c (operator_chars): Make parameters and return type
+	const.
+	(file_matches): Make "files" const.
+	(struct search_symbols_data) <files>: Now const.
+	(search_symbols): Make "regexp" and "files" parameters const.
+	Update.
+	(symtab_symbol_info): Remove cast.
+	(rbreak_command): Update.
+	* symtab.h (search_symbols): Update.
+
+2014-06-27  Yao Qi  <yao@codesourcery.com>
+
+	* breakpoint.c (check_longjmp_breakpoint_for_call_dummy):
+	Change parameter type to 'struct thread_info *'.  Caller
+	updated.
+	* breakpoint.h (check_longjmp_breakpoint_for_call_dummy):
+	Update declaration.
+	* dummy-frame.c (struct dummy_frame_id): New.
+	(dummy_frame_id_eq): New function.
+	(struct dummy_frame) <id>: Change its type to 'struct
+	dummy_frame_id'.
+	(dummy_frame_push): Add parameter ptid and save it in
+	dummy_frame_id.
+	(pop_dummy_frame_bpt): Use ptid of dummy_frame instead of
+	inferior_ptid.
+	(pop_dummy_frame): Assert that the ptid of dummy_frame equals
+	to inferior_ptid.
+	(lookup_dummy_frame): Change parameter type to 'struct
+	dummy_frame_id *'.  Callers updated.  Call dummy_frame_id_eq
+	instead of frame_id_eq.
+	(dummy_frame_pop): Add parameter ptid.  Callers updated.
+	Update comments.  Compose dummy_frame_id and pass it to
+	lookup_dummy_frame.
+	(dummy_frame_discard): Add parameter ptid.
+	(dummy_frame_sniffer): Compose dummy_frame_id and call
+	dummy_frame_id_eq instead of frame_id_eq.
+	(fprint_dummy_frames): Print ptid.
+	* dummy-frame.h: Remove comments.
+	(dummy_frame_push): Add ptid in declaration.
+	(dummy_frame_pop, dummy_frame_discard): Likewise.
+
+2014-06-26  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-cmds.c (error_no_arg): Make "why" const.
+	* command.h (error_no_arg): Update.
+
+2014-06-26  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-setshow.c (do_set_command): Make "arg" const.
+	(do_show_command): Make "arg" const.
+	* cli/cli-setshow.h (do_set_command, do_show_command): Update.
+
+2014-06-26  Tom Tromey  <tromey@redhat.com>
+
+	* record-full.c (record_full_get_bookmark): Make "args" const.
+	(record_full_goto_bookmark): Make "raw_bookmark" const.
+	* record.c (record_goto): New function.
+	(cmd_record_goto): Use it.  Now static.
+	* record.h (record_goto): Declare.
+	(cmd_record_goto): Remove declaration.
+	* target-delegates.c: Rebuild.
+	* target.h (struct target_ops) <to_get_bookmark,
+	to_goto_bookmark>: Make parameter const.
+
+2014-06-26  Tom Tromey  <tromey@redhat.com>
+
+	* defs.h (generic_load): Update.
+	* m32r-rom.c (m32r_load_gen): Make "filename" const.
+	* monitor.c (monitor_load): Make "args" const.
+	* remote-m32r-sdi.c (m32r_load): Make "args" const.
+	* remote-mips.c (mips_load_srec, pmon_load_fast): Make "args"
+	const.
+	(mips_load): Make "file" const.
+	* remote-sim.c (gdbsim_load): Make "args" const.
+	* remote.c (remote_load): Make "name" const.
+	* symfile.c (generic_load): Make "args" const.
+	* target-delegates.c: Rebuild.
+	* target.c (target_load): Make "arg" const.
+	(debug_to_load): Make "args" const.
+	* target.h (struct target_ops) <to_load>: Make parameter const.
+	(target_load): Update.
+
+2014-06-26  Tom Tromey  <tromey@redhat.com>
+
+	PR symtab/16902:
+	* dwarf2read.c (fixup_go_packaging, dwarf2_compute_name)
+	(dwarf2_physname, read_partial_die)
+	(guess_partial_die_structure_name, fixup_partial_die)
+	(guess_full_die_structure_name, anonymous_struct_prefix)
+	(dwarf2_name): Use per-BFD obstack.
+
+2014-06-26  Yao Qi  <yao@codesourcery.com>
+
+	* dummy-frame.c (dummy_frame_sniffer): Move local variables
+	dummyframe and this_id into inner block below.
+
+2014-06-26  Yao Qi  <yao@codesourcery.com>
+
+	* infrun.c (_initialize_infrun): Replace "signal_program[0]"
+	with "signal_pass[0]" in the initialization of signal_pass.
+
+2014-06-25  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_generating_corefile)
+	(record_btrace_prepare_to_generate_core)
+	(record_btrace_done_generating_core): New.
+	(record_btrace_xfer_partial, record_btrace_fetch_registers)
+	(record_btrace_store_registers, record_btrace_prepare_to_store):
+	Forward request when generating a core file.
+	(record_btrace_open): Set record_btrace_generating_corefile to zero.
+	(init_record_btrace_ops): Set to_prepare_to_generate_core and
+	to_done_generating_core.
+
+2014-06-25  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* target.h (target_ops) <to_prepare_to_generate_core>
+	<to_done_generating_core>: New.
+	(target_prepare_to_generate_core, target_done_generating_core): New.
+	* target.c (target_prepare_to_generate_core)
+	(target_done_generating_core): New.
+	* target-delegates.c: Regenerate.
+	* gcore.c: (write_gcore_file): Rename to ...
+	(write_gcore_file_1): ...this.
+	(write_gcore_file): Call target_prepare_to_generate_core
+	and target_done_generating_core.
+
+2014-06-25  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* fbsd-nat.c (fbsd_make_corefile_notes): Remove make_cleanup call.
+	* gcore.c (write_gcore_file): Free memory returned from
+	make_corefile_notes.
+	* linux-tdep.c (linux_make_corefile_notes): Remove make_cleanup call.
+	* procfs.c (procfs_make_note_section): Remove make_cleanup call.
+
+2014-06-24  Yao Qi  <yao@codesourcery.com>
+
+	* arm-linux-tdep.c (arm_linux_skip_trampoline_code): New.
+	(arm_linux_init_abi): Set skip_trampoline_code with
+	gdbarch_skip_trampoline_code instead of
+	find_solib_trampoline_target.
+
+2014-06-24  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (arm_stub_unwind_sniffer): Return 1 if
+	arm_skip_bx_reg returns non-zero.
+
+2014-06-24  Yao Qi  <yao@codesourcery.com>
+
+	* arm-tdep.c (arm_skip_bx_reg): New function.
+	(arm_skip_stub): Call arm_skip_bx_reg.
+
+2014-06-23  Don Breazeal  <donb@codesourcery.com>
+
+	* MAINTAINERS: Add myself as write-after-approval maintainer.
+
+2014-06-23  Pedro Alves  <palves@redhat.com>
+
+	* amd64-linux-nat.c (amd64_linux_prepare_to_resume): Clear
+	DR_CONTROL before setting DR0..DR3.
+	* i386-linux-nat.c (i386_linux_prepare_to_resume): Likewise.
+	* nat/i386-dregs.c (i386_remove_aligned_watchpoint): Clear all
+	bits of DR_CONTROL related to the debug register slot being
+	disabled.  If all slots are vacant, clear local slowdown as well,
+	and assert DR_CONTROL is 0.
+
+2014-06-23  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* python/lib/gdb/command/xmethods.py
+	(get_method_matchers_in_loci):  Lookup xmethod matchers in the
+	current progspace only if the string "progspace" matches LOCUS_RE.
+
+2014-06-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix --with-system-readline with readline-6.3 patch 5.
+	* tui/tui-io.c (tui_old_rl_getc_function, tui_old_rl_redisplay_function)
+	(tui_old_rl_prep_terminal, tui_old_rl_deprep_terminal): Use rl_*_t
+	types.
+
+2014-06-20  Tom Tromey  <tromey@redhat.com>
+
+	* dwarf2read.c (dw2_get_real_path): Use correct type in
+	OBSTACK_CALLOC.
+	* gdb_obstack.h (OBSTACK_ZALLOC, OBSTACK_CALLOC): Cast result.
+
+2014-06-20  Gary Benson  <gbenson@redhat.com>
+
+	* common/gdb_thread_db.h: Moved to nat.  All includes updated.
+	* common/glibc_thread_db.h: Likewise.
+	* common/i386-cpuid.h: Likewise.
+	* common/i386-gcc-cpuid.h: Likewise.
+	* common/linux-btrace.h: Likewise.
+	* common/linux-osdata.h: Likewise.
+	* common/linux-procfs.h: Likewise.
+	* common/linux-ptrace.h: Likewise.
+	* common/mips-linux-watch.h: Likewise.
+	* common/linux-btrace.c: Moved to nat.
+	* common/linux-osdata.c: Likewise.
+	* common/linux-procfs.c: Likewise.
+	* common/linux-ptrace.c: Likewise.
+	* common/mips-linux-watch.c: Likewise.
+	* nat/gdb_thread_db.h: Moved from common.
+	* nat/glibc_thread_db.h: Likewise.
+	* nat/i386-cpuid.h: Likewise.
+	* nat/i386-gcc-cpuid.h: Likewise.
+	* nat/linux-btrace.c: Likewise.
+	* nat/linux-btrace.h: Likewise.
+	* nat/linux-osdata.c: Likewise.
+	* nat/linux-osdata.h: Likewise.
+	* nat/linux-procfs.c: Likewise.
+	* nat/linux-procfs.h: Likewise.
+	* nat/linux-ptrace.c: Likewise.
+	* nat/linux-ptrace.h: Likewise.
+	* nat/mips-linux-watch.c: Likewise.
+	* nat/mips-linux-watch.h: Likewise.
+	* Makefile.in (HFILES_NO_SRCDIR): Reflect new locations.
+	(object file files): Reordered.
+	* gdb/copyright.py (EXCLUDE_LIST): Reflect new location
+	of glibc_thread_db.h.
+
+2014-06-20  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.h (debug_hw_points): Moved to nat/i386-dregs.c.
+	(i386_dr_low_type): Moved to nat/i386-dregs.h.
+	(i386_dr_low): Likewise.
+	(i386_dr_low_can_set_addr): Moved to nat/i386-dregs.c.
+	(i386_dr_low_set_addr): Likewise.
+	(i386_dr_low_get_addr): Likewise.
+	(i386_dr_low_can_set_control): Likewise.
+	(i386_dr_low_set_control): Likewise.
+	(i386_dr_low_get_control): Likewise.
+	(i386_dr_low_get_status): Likewise.
+	(i386_get_debug_register_length): Likewise.
+	* nat/i386-dregs.h (i386_dr_low_type): Moved from i386-nat.h.
+	(i386_dr_low): Likewise.
+	* nat/i386-dregs.c (i386-low.h): Remove include.
+	(i386-nat.h): Likewise.
+	(nat/i386-dregs.h): New include.
+	(i386_dr_low_can_set_addr): Moved from i386-nat.h.
+	(i386_dr_low_set_addr): Likewise.
+	(i386_dr_low_get_addr): Likewise.
+	(i386_dr_low_can_set_control): Likewise.
+	(i386_dr_low_set_control): Likewise.
+	(i386_dr_low_get_control): Likewise.
+	(i386_dr_low_get_status): Likewise.
+	(i386_get_debug_register_length): Likewise.
+	(debug_hw_points): Likewise.
+
+2014-06-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* Makefile.in (SFILES): Add d-exp.y.
+	(YYFILES): Add d-exp.c.
+	(YYOBJ): Add d-exp.o.
+	(local-maintainer-clean): Delete d-exp.c.
+	* d-exp.y: New file.
+	* d-lang.h (d_parse): New declaration.
+	(d_error): New declaration.
+	* d-lang.c (d_op_print_tab): Add entry for BINOP_CONCAT and BINOP_EXP.
+	Set BINOP_EQUAL and BINOP_NOTEQUAL to same precedence as other
+	PREC_ORDER operators.
+	(d_language_defn): Use d_parse, d_error instead of c_parse, c_error.
+
+2014-06-19  Yao Qi  <yao@codesourcery.com>
+
+	* gdbthread.h (any_running): Remove the declaration.
+	* thread.c (any_running): Remove.
+
+2014-06-19  Yao Qi  <yao@codesourcery.com>
+
+	* gdbthread.h (struct thread_info) <state>: Change its type to
+	'enum thread_state'.  Update comments.
+
+2014-06-19  Pedro Alves  <palves@redhat.com>
+
+	* gdbthread.h (ALL_THREADS): Delete.
+	(ALL_NON_EXITED_THREADS): New macro.
+	* btrace.c (btrace_free_objfile): Use ALL_NON_EXITED_THREADS
+	instead of ALL_THREADS.
+	* infrun.c (find_thread_needs_step_over)
+	(switch_back_to_stepped_thread): Use ALL_NON_EXITED_THREADS
+	instead of ALL_THREADS.
+	* record-btrace.c (record_btrace_open)
+	(record_btrace_stop_recording, record_btrace_close)
+	(record_btrace_is_replaying, record_btrace_resume)
+	(record_btrace_find_thread_to_move, record_btrace_wait): Likewise.
+	* remote.c (append_pending_thread_resumptions): Likewise.
+	* thread.c (thread_apply_all_command): Likewise.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (i386_stopped_by_watchpoint):
+	Use i386_dr_stopped_by_watchpoint.
+	(i386_insert_hw_breakpoint): Use i386_dr_insert_watchpoint.
+	(i386_remove_hw_breakpoint): Use i386_dr_remove_watchpoint.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* nat/i386-dregs.c: New file.
+	* Makefile.in (i386-dregs.o): New rule.
+	* config/i386/cygwin.mh (NATDEPFILES): Add i386-dregs.o.
+	* config/i386/cygwin64.mh (NATDEPFILES): Likewise.
+	* config/i386/darwin.mh (NATDEPFILES): Likewise.
+	* config/i386/fbsd.mh (NATDEPFILES): Likewise.
+	* config/i386/fbsd64.mh (NATDEPFILES): Likewise.
+	* config/i386/go32.mh (NATDEPFILES): Likewise.
+	* config/i386/linux.mh (NATDEPFILES): Likewise.
+	* config/i386/linux64.mh (NATDEPFILES): Likewise.
+	* config/i386/mingw.mh (NATDEPFILES): Likewise.
+	* config/i386/mingw64.mh (NATDEPFILES): Likewise.
+	* i386-nat.h (debug_hw_points): New declaration.
+	* i386-nat.c (breakpoint.h): Remove include.
+	(command.h): Likewise.
+	(target.h): Likewise.
+	(gdb_assert.h): Likewise.
+	(debug_hw_points): Made nonstatic.
+	(debug_printf): Now in i386-dregs.c.
+	(TARGET_HAS_DR_LEN_8): Likewise.
+	(DR_CONTROL_SHIFT): Likewise.
+	(DR_CONTROL_SIZE): Likewise.
+	(DR_RW_EXECUTE): Likewise.
+	(DR_RW_WRITE): Likewise.
+	(DR_RW_READ): Likewise.
+	(DR_RW_IORW): Likewise.
+	(DR_LEN_1): Likewise.
+	(DR_LEN_2): Likewise.
+	(DR_LEN_4): Likewise.
+	(DR_LEN_8): Likewise.
+	(DR_LOCAL_ENABLE_SHIFT): Likewise.
+	(DR_GLOBAL_ENABLE_SHIFT): Likewise.
+	(DR_ENABLE_SIZE): Likewise.
+	(DR_LOCAL_SLOWDOWN): Likewise.
+	(DR_GLOBAL_SLOWDOWN): Likewise.
+	(DR_CONTROL_RESERVED): Likewise.
+	(I386_DR_CONTROL_MASK): Likewise.
+	(I386_DR_VACANT): Likewise.
+	(I386_DR_LOCAL_ENABLE): Likewise.
+	(I386_DR_GLOBAL_ENABLE): Likewise.
+	(I386_DR_DISABLE): Likewise.
+	(I386_DR_SET_RW_LEN): Likewise.
+	(I386_DR_GET_RW_LEN): Likewise.
+	(I386_DR_WATCH_HIT): Likewise.
+	(i386_wp_op_t): Likewise.
+	(i386_show_dr): Likewise.
+	(i386_length_and_rw_bits): Likewise.
+	(i386_insert_aligned_watchpoint): Likewise.
+	(i386_remove_aligned_watchpoint): Likewise.
+	(i386_handle_nonaligned_watchpoint): Likewise.
+	(i386_update_inferior_debug_regs): Likewise.
+	(i386_insert_watchpoint): Use i386_dr_insert_watchpoint.
+	(i386_remove_watchpoint): Use i386_dr_remove_watchpoint.
+	(i386_region_ok_for_watchpoint):
+	Use i386_dr_region_ok_for_watchpoint.
+	(i386_stopped_data_address): Use i386_dr_stopped_data_address.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (i386_insert_hw_breakpoint): Use
+	i386_insert_watchpoint.
+	(i386_remove_hw_breakpoint): Use i386_remove_watchpoint.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (i386_dr_show): Renamed to
+	i386_show_dr and made static.  All uses updated.
+	(i386_dr_length_and_rw_bits): Renamed to
+	i386_length_and_rw_bits and made static.
+	All uses updated.
+	(i386_dr_insert_aligned_watchpoint): Renamed to
+	i386_insert_aligned_watchpoint and made static.
+	All uses updated.
+	(i386_dr_remove_aligned_watchpoint): Renamed to
+	i386_remove_aligned_watchpoint and made static.
+	All uses updated.
+	(i386_dr_update_inferior_debug_regs): Renamed to
+	i386_update_inferior_debug_regs and made static.
+	All uses updated.
+	* nat/i386-dregs.h (i386_dr_show): Removed.
+	(i386_dr_length_and_rw_bits): Likewise.
+	(i386_dr_insert_aligned_watchpoint): Likewise.
+	(i386_dr_remove_aligned_watchpoint): Likewise.
+	(i386_dr_update_inferior_debug_regs): Likewise.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* configure.ac [AC_CHECK_FUNCS] <sigaltstack>: New check.
+	* configure: Regenerate.
+	* config.in: Likewise.
+	* main.c (signal.h): New include.
+	(setup_alternate_signal_stack): New function.
+	(captured_main): Call the above.
+	* cp-support.c (signal.h): New include.
+	(catch_demangler_crashes): New flag.
+	(SIGJMP_BUF): New define.
+	(SIGSETJMP): Likewise.
+	(SIGLONGJMP): Likewise.
+	(gdb_demangle_jmp_buf): New static global.
+	(gdb_demangle_attempt_core_dump): Likewise.
+	(gdb_demangle_signal_handler): New function.
+	(gdb_demangle): If catch_demangler_crashes is set, install the
+	above signal handler before calling bfd_demangle, and restore
+	the original signal handler afterwards.  Display the offending
+	symbol and call demangler_warning the first time a segmentation
+	fault is caught.
+	(_initialize_cp_support): New maint set/show command.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* utils.h (resource_limit_kind): New enum.
+	(can_dump_core): New declaration.
+	(warn_cant_dump_core): Likewise.
+	(dump_core): Likewise.
+	* utils.c (dump_core): Made nonstatic.  Added new
+	parameter "limit_kind".
+	(can_dump_core): Made nonstatic. Moved printing code to...
+	(warn_cant_dump_core): New function.
+	(can_dump_core_warn): Likewise.
+	(internal_vproblem): Replace calls to can_dump_core with
+	calls to can_dump_core_warn.  Supply new argument to each.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* utils.h (demangler_vwarning): New declaration.
+	(demangler_warning): Likewise.
+	* utils.c (struct internal_problem)
+	<user_settable_should_quit>: New field.
+	<user_settable_should_dump_core>: Likewise
+	(internal_error_problem): Add values for above new fields.
+	(internal_warning_problem): Likewise.
+	(demangler_warning_problem): New static global.
+	(demangler_vwarning): New function.
+	(demangler_warning): Likewise.
+	(add_internal_problem_command): Selectively add commands.
+	(_initialize_utils): New internal problem command.
+	* maint.c (maintenance_demangler_warning): New function.
+	(_initialize_maint_cmds): New command.
+
+2014-06-18  Tom Tromey  <tromey@redhat.com>
+
+	* f-valprint.c (info_common_command_for_block): Update.
+	* symtab.h (struct general_symbol_info) <common_block>: Now
+	const.
+
+2014-06-18  Tom Tromey  <tromey@redhat.com>
+
+	* symtab.h (struct symtab) <blockvector>: Now const.
+	* ada-lang.c (ada_add_global_exceptions): Update.
+	* buildsym.c (augment_type_symtab): Update.
+	* dwarf2read.c (dw2_lookup_symbol): Update.
+	* jit.c (finalize_symtab): Update.
+	* jv-lang.c (add_class_symtab_symbol): Update.
+	* mdebugread.c (parse_symbol, add_block, sort_blocks, new_symtab):
+	Update.
+	* objfiles.c (objfile_relocate1): Update.
+	* psymtab.c (lookup_symbol_aux_psymtabs)
+	(maintenance_check_psymtabs): Update.
+	* python/py-symtab.c (stpy_global_block, stpy_static_block):
+	Update.
+	* spu-tdep.c (spu_catch_start): Update.
+	* symmisc.c (dump_symtab_1): Update.
+	* symtab.c (lookup_global_symbol_from_objfile)
+	(lookup_symbol_aux_objfile, lookup_symbol_aux_quick)
+	(basic_lookup_transparent_type_quick)
+	(basic_lookup_transparent_type, find_pc_sect_symtab)
+	(find_pc_sect_line, search_symbols): Update.
+	* block.c (find_block_in_blockvector): Make "bl" const.
+	(blockvector_for_pc_sect, blockvector_for_pc): Make return type
+	const.
+	(blockvector_contains_pc): Make "bv" const.
+	(block_for_pc_sect): Update.
+	* block.h (blockvector_for_pc, blockvector_for_pc_sect)
+	(blockvector_contains_pc): Update.
+	* breakpoint.c (resolve_sal_pc): Update.
+	* inline-frame.c (block_starting_point_at): Update.
+
+2014-06-18  Tom Tromey  <tromey@redhat.com>
+
+	* completer.c (complete_line): Make "line_buffer" const.
+	* completer.h (complete_line): Update.
+
+2014-06-18  Tom Tromey  <tromey@redhat.com>
+
+	* symtab.c (add_macro_name): Remove unneeded cast.
+
+2014-06-18  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-setshow.h (parse_cli_boolean_value): Update.
+	* cli/cli-setshow.c (parse_cli_boolean_value): Make "arg" const.
+
+2014-06-18  Tom Tromey  <tromey@redhat.com>
+
+	* probe.c (info_probes_for_ops): Make "arg" const.
+	* probe.h (info_probes_for_ops): Update.
+
+2014-06-18  Tom Tromey  <tromey@redhat.com>
+
+	* varobj.c (varobj_create): Update.
+	* valops.c (value_of_this): Update.
+	* tracepoint.c (add_local_symbols, scope_info): Update.
+	* symtab.h (struct general_symbol_info) <block>: Now const.
+	* symtab.c (skip_prologue_sal)
+	(default_make_symbol_completion_list_break_on)
+	(skip_prologue_using_sal): Update.
+	* stack.h (iterate_over_block_locals)
+	(iterate_over_block_local_vars): Update.
+	* stack.c (print_frame_args): Update.
+	(iterate_over_block_locals, iterate_over_block_local_vars): Make
+	parameter const.
+	(get_selected_block): Make return type const.
+	* python/py-frame.c (frapy_block): Update.
+	* python/py-block.c (gdbpy_block_for_pc): Update.
+	* p-exp.y (%union) <bval>: Now const.
+	* mi/mi-cmd-stack.c (list_args_or_locals): Update.
+	* mdebugread.c (mylookup_symbol, parse_procedure): Update.
+	* m2-exp.y (%union) <bval>: Now const.
+	* linespec.c (get_current_search_block): Make return type const.
+	(create_sals_line_offset, find_label_symbols): Update.
+	* inline-frame.c (inline_frame_sniffer, skip_inline_frames):
+	Update.
+	(block_starting_point_at): Make "block" const.
+	* infrun.c (insert_exception_resume_breakpoint): Make "b" const.
+	(check_exception_resume): Update.
+	* guile/scm-frame.c (gdbscm_frame_block): Update.
+	* guile/scm-block.c (gdbscm_lookup_block): Update.
+	* frame.h (get_frame_block): Update.
+	(get_selected_block): Make return type const.
+	* frame.c (frame_id_inner): Update.
+	* f-valprint.c (info_common_command_for_block)
+	(info_common_command): Update.
+	* dwarf2loc.c (dwarf2_find_location_expression)
+	(dwarf_expr_frame_base, dwarf2_compile_expr_to_ax)
+	(locexpr_describe_location_piece): Update.
+	* c-exp.y (%union) <bval>: Now const.
+	* breakpoint.c (resolve_sal_pc): Update.
+	* blockframe.c (get_frame_block):Make return type const.
+	(get_pc_function_start, get_frame_function, find_pc_sect_function)
+	(block_innermost_frame): Update.
+	* block.h (blockvector_for_pc, blockvector_for_pc_sect)
+	(block_for_pc, block_for_pc_sect): Update.
+	* block.c (blockvector_for_pc_sect, blockvector_for_pc): Make
+	'pblock' const.
+	(block_for_pc_sect, block_for_pc): Make return type const.
+	* ax-gdb.c (gen_expr): Update.
+	* alpha-mdebug-tdep.c (find_proc_desc): Update.
+	* ada-lang.c (ada_read_renaming_var_value): Make 'block' const.
+	(ada_make_symbol_completion_list, ada_add_exceptions_from_frame)
+	(ada_read_var_value): Update.
+	* ada-exp.y (struct name_info) <block>: Now const.
+	(%union): Likewise.
+	(block_lookup): Constify.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* nat/i386-dregs.h: New file.
+	* Makefile.in (HFILES_NO_SRCDIR): Add the above.
+	* i386-nat.h (i386-dregs.h): New include.
+	(DR_FIRSTADDR): Now in i386-dregs.h.
+	(DR_LASTADDR): Likewise.
+	(DR_NADDR): Likewise.
+	(DR_STATUS): Likewise.
+	(DR_CONTROL): Likewise.
+	(i386_debug_reg_state): Likewise.
+	* i386-nat.c (ALL_DEBUG_REGISTERS): Likewise.
+
+2014-06-18  Don Breazeal  <donb@codesourcery.com>
+
+	* breakpoint.c (set_longjmp_breakpoint): Call
+	momentary_breakpoint_from_master with additional argument.
+	(set_longjmp_breakpoint_for_call_dummy): Call
+	momentary_breakpoint_from_master with additional argument.
+	(set_std_terminate_breakpoint): Call
+	momentary_breakpoint_from_master with additional argument.
+	(momentary_breakpoint_from_master): Add argument to function
+	definition and use it to initialize structure member flag.
+	(clone_momentary_breakpoint): Call
+	momentary_breakpoint_from_master with additional argument.
+	* infrun.c (follow_inferior_reset_breakpoints): Clear structure
+	member flags set in momentary_breakpoint_from_master.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (i386_show_dr): Renamed to
+	i386_dr_show and made nonstatic.  All uses updated.
+	(i386_length_and_rw_bits): Renamed to
+	i386_dr_length_and_rw_bits and made nonstatic.
+	All uses updated.
+	(i386_insert_aligned_watchpoint): Renamed to
+	i386_dr_insert_aligned_watchpoint and made nonstatic.
+	All uses updated.
+	(i386_remove_aligned_watchpoint): Renamed to
+	i386_dr_remove_aligned_watchpoint and made nonstatic.
+	All uses updated.
+	(i386_update_inferior_debug_regs): Renamed to
+	i386_dr_update_inferior_debug_regs and made nonstatic.
+	All uses updated.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (i386_dr_low_can_set_addr): New macro.
+	(i386_dr_low_can_set_control): Likewise.
+	(i386_dr_low_set_addr): Likewise.
+	(i386_dr_low_set_control): Likewise.
+	(i386_dr_low_get_addr): Likewise.
+	(i386_dr_low_get_status): Likewise.
+	(i386_dr_low_get_control): Likewise.
+	(i386_insert_aligned_watchpoint): Use new macros.
+	(i386_update_inferior_debug_regs): Likewise.
+	(i386_stopped_data_address): Likewise.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (i386_update_inferior_debug_regs) <state>:
+	New parameter.  All uses updated.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (maint_show_dr): Renamed to debug_hw_points.
+	All uses updated.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (debug_printf): New macro.
+	(i386_get_debug_register_length): Likewise.
+	(TARGET_HAS_DR_LEN_8): Use above macro.
+	(i386_show_dr): Use debug_printf instead of puts_unfiltered
+	and printf_unfiltered.  Use phex to format values.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (i386_handle_nonaligned_watchpoint) <size_try_array>:
+	Make const.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c: Comment changes.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (I386_DR_WATCH_MASK): Remove macro.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c (i386_length_and_rw_bits): Remove prototype.
+	(i386_insert_aligned_watchpoint): Likewise.
+	(i386_remove_aligned_watchpoint): Likewise.
+	(i386_handle_nonaligned_watchpoint): Likewise.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-nat.c: Whitespace changes.
+
+2014-06-17  Samuel Bronson  <naesten@gmail.com>
+
+	* MAINTAINERS: Update Roland McGrath's email address.
+	Thanks to Sergio Durigan Junior for pointing out that he left
+	Red Hat a while ago, and giving me a current address.
+
+2014-06-17  Tom Tromey  <tromey@redhat.com>
+
+	* utils.h (savestring): Remove declaration.
+
+2014-06-17  Tom Tromey  <tromey@redhat.com>
+
+	* remote.c (extended_remote_run): Use make_cleanup_freeargv.
+
+2014-06-16  Keith Seitz  <keiths@redhat.com>
+
+	PR mi/15863
+	* mi/mi-cmd-var.c (mi_cmd_var_update_iter): Do not attempt
+	to update the varobj if inferior_ptid is null_ptid.
+
+2014-06-16  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_info_proc>: Make parameter
+	const.
+	(target_info_proc): Update.
+	* target.c (target_info_proc): Make "args" const.
+	* procfs.c (procfs_info_proc): Update.
+	* linux-tdep.c (linux_info_proc): Update.
+	(linux_core_info_proc_mappings): Make "args" const.
+	(linux_core_info_proc): Update.
+	* gdbarch.sh (info_proc, core_info_proc): Make "args" const.
+	* gdbarch.c: Rebuild.
+	* gdbarch.h: Rebuild.
+	* corelow.c (core_info_proc): Update.
+
+2014-06-16  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_disconnect>: Make parameter
+	const.
+	(target_disconnect): Update.
+	* target.c (target_disconnect): Make "args" const.
+	* target-delegates.c: Rebuild.
+	* remote.c (remote_disconnect): Update.
+	* record.h (record_disconnect): Update.
+	* record.c (record_disconnect): Update.
+	* inf-child.c (inf_child_disconnect): Update.
+
+2014-06-16  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_rcmd>: Make "command" const.
+	* target.c (debug_to_rcmd, default_rcmd): Update.
+	* target-delegates.c: Rebuild.
+	* remote.c (remote_rcmd): Update.
+	* monitor.c (monitor_rcmd): Update.
+
+2014-06-16  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (insert_bp_location, remove_breakpoint_1): Adjust.
+	(disable_breakpoints_in_freed_objfile): Skip objfiles that don't
+	have OBJF_SHARED set.
+	* objfiles.c (userloaded_objfile_contains_address_p): Rename to...
+	(shared_objfile_contains_address_p): ... this.  Check OBJF_SHARED
+	instead of OBJF_USERLOADED.
+	* objfiles.h (OBJF_SHARED): Update comment.
+	(userloaded_objfile_contains_address_p): Rename to ...
+	(shared_objfile_contains_address_p): ... this, and update
+	comments.
+	* symfile.c (add_symbol_file_command): Also set OBJF_SHARED in the
+	new objfile.
+	(remove_symbol_file_command): Skip objfiles that don't have
+	OBJF_SHARED set.
+
+2014-06-16  Tom Tromey  <tromey@redhat.com>
+
+	* minsyms.h (prim_record_minimal_symbol)
+	(prim_record_minimal_symbol_and_info): Update comments.
+
+2014-06-14  Eli Zaretskii  <eliz@gnu.org>
+
+	* top.c (print_gdb_configuration) [HAVE_GUILE]: Print --with-guile
+	or --without-guile, according to how GDB was built.
+
+2014-06-13  Tom Tromey  <tromey@redhat.com>
+
+	* cp-support.c (maint_cplus_command): Pass all_commands, not -1,
+	to help_list.
+	* guile/guile.c (info_guile_command): Pass all_commands, not -1,
+	to help_list.
+	* tui/tui-win.c (tui_command): Pass all_commands, not -1, to
+	help_list.
+	* tui/tui-regs.c (tui_reg_command): Pass all_commands, not -1, to
+	help_list.Pass all_commands, not -1, to help_list.
+	* cli/cli-dump.c (dump_command, append_command)
+	(srec_dump_command, ihex_dump_command, tekhex_dump_command)
+	(binary_dump_command, binary_append_command): Pass all_commands,
+	not -1, to help_list.
+	* cli/cli-cmds.c (info_command, set_debug): Pass all_commands, not
+	-1, to help_list.
+	* valprint.c (set_print, set_print_raw): Pass all_commands, not
+	-1, to help_list.
+	* typeprint.c (set_print_type): Pass all_commands, not -1, to
+	help_list.
+	* top.c (set_history): Pass all_commands, not -1, to help_list.
+	* target-descriptions.c (set_tdesc_cmd, unset_tdesc_cmd): Pass
+	all_commands, not -1, to help_list.
+	* symfile.c (overlay_command): Pass all_commands, not -1, to
+	help_list.
+	* spu-tdep.c (info_spu_command): Pass all_commands, not -1, to
+	help_list.
+	* serial.c (serial_set_cmd): Pass all_commands, not -1, to
+	help_list.
+	* ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Pass all_commands, not
+	-1, to help_list.
+	* remote.c (remote_command, set_remote_cmd): Pass all_commands,
+	not -1, to help_list.
+	* ravenscar-thread.c (set_ravenscar_command): Pass all_commands,
+	not -1, to help_list.
+	* maint.c (maintenance_command, maintenance_info_command)
+	(maintenance_print_command, maintenance_set_cmd): Pass
+	all_commands, not -1, to help_list.
+	* macrocmd.c (macro_command): Pass all_commands, not -1, to
+	help_list.
+	* language.c (set_check): Pass all_commands, not -1, to help_list.
+	* infcmd.c (unset_command): Pass all_commands, not -1, to
+	help_list.
+	* frame.c (set_backtrace_cmd): Pass all_commands, not -1, to
+	help_list.
+	* dwarf2read.c (set_dwarf2_cmd): Pass all_commands, not -1, to
+	help_list.
+	* dcache.c (set_dcache_command): Pass all_commands, not -1, to
+	help_list.
+	* breakpoint.c (save_command): Pass all_commands, not -1, to
+	help_list.
+	* ada-lang.c (maint_set_ada_cmd, set_ada_command): Pass
+	all_commands, not -1, to help_list.
+
+2014-06-12  Pierre Langlois  <pierre.langlois@embecosm.com>
+
+	* regcache.c (struct register_to_invalidate): New structure.
+	(do_register_invalidate, make_cleanup_regcache_invalidate): New
+	functions.
+	(regcache_raw_write): Call make_cleanup_regcache_invalidate.
+
+2014-06-12  Yao Qi  <yao@codesourcery.com>
+
+	* varobj.c (varobj_get_num_children): Call
+	varobj_is_dynamic_p.
+	(varobj_list_children): Likewise.
+	(varobj_update): Likewise.  Update comments.
+
+2014-06-12  Yao Qi  <yao@codesourcery.com>
+
+	* varobj.c (varobj_pretty_printed_p): Rename to ...
+	(varobj_is_dynamic_p): ... this.  New function.
+	* varobj.h (varobj_pretty_printed_p): Remove declaration.
+	(varobj_is_dynamic_p): Declare.
+	* mi/mi-cmd-var.c (print_varobj): All callers updated.
+	(mi_print_value_p, varobj_update_one): Likewise.
+
+2014-06-12  Pedro Alves  <pedro@codesourcery.com>
+	    Yao Qi  <yao@codesourcery.com>
+
+	* varobj.c: Remove "#if HAVE_PYTHON" and "#endif".
+	(varobj_get_iterator): Wrap up code for pretty-printer by
+	"#if HAVE_PYTHON" and "#endif".
+	(update_dynamic_varobj_children): Likewise.
+
+2014-06-12  Pedro Alves  <pedro@codesourcery.com>
+	    Yao Qi  <yao@codesourcery.com>
+
+	* python/py-varobj.c (py_varobj_iter_next): Return NULL if
+	gdb_python_initialized is false.  Move some code from varobj.c.
+	* varobj-iter.h (struct varobj_item): Moved from varobj.c.
+	* varobj.c: Move "varobj-iter.h" inclusion earlier.
+	(struct varobj_item): Moved to varobj-iter.h".
+	(varobj_clear_saved_item): New function.
+	(update_dynamic_varobj_children): Move python-related code to
+	py-varobj.c.
+	(free_variable): Call varobj_clear_saved_item and
+	varobj_iter_delete.
+
+2014-06-12  Pedro Alves  <pedro@codesourcery.com>
+	    Yao Qi  <yao@codesourcery.com>
+
+	* Makefile.in (SUBDIR_PYTHON_OBS): Add "py-varobj.o".
+	(SUBDIR_PYTHON_SRCS): Add "python/py-varobj.c".
+	(HFILES_NO_SRCDIR): Add "varobj-iter.h".
+	(py-varobj.o): New rule.
+	* python/py-varobj.c: New file.
+	* python/python-internal.h (py_varobj_get_iterator): Declare.
+	* varobj-iter.h: New file.
+	* varobj.c: Include "varobj-iter.h"
+	(struct varobj) <child_iter>: Change its type from "PyObject *"
+	to "struct varobj_iter *".
+	<saved_item>: Likewise.
+	[HAVE_PYTHON] (varobj_ensure_python_env): Make it extern.
+	[HAVE_PYTHON] (varobj_get_iterator): New function.
+	(update_dynamic_varobj_children) [HAVE_PYTHON]: Move
+	python-specific code to python/py-varobj.c.
+	(install_visualizer): Call varobj_iter_delete instead of
+	Py_XDECREF.
+	* varobj.h (varobj_ensure_python_env): Declare.
+
+2014-06-12  Yao Qi  <yao@codesourcery.com>
+
+	* varobj.c (struct varobj_item): New structure.
+	(create_child_with_value): Update declaration.
+	(varobj_add_child): Replace arguments 'name' and 'value' with
+	'item'.  All callers updated.
+	(install_dynamic_child): Likewise.
+	(update_dynamic_varobj_children): Likewise.
+	(varobj_add_child): Likewise.
+	(create_child_with_value): Likewise.
+
+2014-06-11  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Create a new section for the next release branch.
+	Rename the section of the current branch, now that it has
+	been cut.
+
+2014-06-11  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 7.8 branch created (173373c6f6388171d1d62a217fae90a052395be2):
+	* version.in: Bump version to 7.8.50.DATE-cvs.
+
+2014-06-11  Pedro Alves  <palves@redhat.com>
+
+	PR remote/17028
+	* ser-mingw.c (net_windows_socket_check_pending): New function.
+	(net_windows_select_thread): Ignore spurious wakeups.  Use
+	net_windows_socket_check_pending.
+	(net_windows_wait_handle): Check for pending events with
+	ioctlsocket, through net_windows_socket_check_pending, instead of
+	checking the socket's event.
+
+2014-06-10  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* python/python-internal.h (gdb_PyObject_GetAttrString)
+	(gdb_PyObject_HasAttrString): New inline function definitions.
+	* py-value.c (get_field_flag): Remove the now unnecessary cast to
+	char * of the second argument to PyObject_GetAttrString.
+
+2014-06-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* serial.c (serial_write): Fix index of character to be printed
+	in call to serial_logchar when serial debug traces are enabled.
+
+2014-06-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdbtypes (resolve_dynamic_range): Add function description.
+
+2014-06-09  Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (linux_child_follow_fork): Initialize status with
+	W_STOPCODE (0) instead of 0.  Remove shodowing 'status' local from
+	inner block.  Only pass the signal to PTRACE_DETACH if in pass
+	state.
+
+2014-06-09  Gary Benson  <gbenson@redhat.com>
+
+	* common/signals.c (gdb_signal_from_host): Reorder to separate
+	the always-available ANSI-standard signals from the signals that
+	require checking.
+	(do_gdb_signal_to_host): Likewise.
+	* proc-events.c (signal_table): Likewise.
+
+2014-06-08  Hui Zhu  <hui@codesourcery.com>
+
+	* common/linux-ptrace.c (linux_disable_event_reporting): New
+	function.
+	* common/linux-ptrace.h (linux_disable_event_reporting): New
+	declaration.
+	* linux-nat.c (linux_child_follow_fork): Do a single step before
+	detach.
+
+2014-06-07  Keith Seitz  <keiths@redhat.com>
+
+	Revert:
+	PR c++/16253
+	* ada-lang.c (ada_symbol_matches_domain): Moved here and renamed
+	from symbol_matches_domain in symtab.c. All local callers
+	of symbol_matches_domain updated.
+	(standard_lookup): If DOMAIN is VAR_DOMAIN and no symbol is found,
+	search STRUCT_DOMAIN.
+	(ada_find_any_type_symbol): Do not search STRUCT_DOMAIN
+	independently.  standard_lookup will do that automatically.
+	* cp-namespace.c (cp_lookup_symbol_nonlocal): Explain when/why
+	VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
+	(cp_lookup_symbol_in_namespace): Likewise.
+	If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN.
+	(cp_lookup_symbol_exports): Explain when/why VAR_DOMAIN searches
+	may return a STRUCT_DOMAIN match.
+	(lookup_symbol_file): Search for the class name in STRUCT_DOMAIN.
+	* cp-support.c: Include language.h.
+	(inspect_type): Explicitly search STRUCT_DOMAIN before searching
+	VAR_DOMAIN.
+	* psymtab.c (match_partial_symbol): Compare the requested
+	domain with the symbol's domain directly.
+	(lookup_partial_symbol): Likewise.
+	* symtab.c (lookup_symbol_in_language): Explain when/why
+	VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
+	If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN for
+	appropriate languages.
+	(symbol_matches_domain): Renamed `ada_symbol_matches_domain'
+	and moved to ada-lang.c
+	(lookup_block_symbol): Explain that this function only returns
+	symbol matching the requested DOMAIN.
+	Compare the requested domain with the symbol's domain directly.
+	(iterate_over_symbols): Compare the requested domain with the
+	symbol's domain directly.
+	* symtab.h (symbol_matches_domain): Remove.
+
+2014-06-06  Doug Evans  <xdje42@gmail.com>
+
+	* guile/guile-internal.h (gdbscm_guile_major_version): Declare.
+	(gdbscm_guile_minor_version, gdbscm_guile_micro_version): Declare.
+	(gdbscm_guile_version_is_at_least): Declare.
+	(gdbscm_scm_string_to_int): Declare.
+	* guile/guile.c (gdbscm_guile_major_version): New global.
+	(gdbscm_guile_minor_version, gdbscm_guile_micro_version): New globals.
+	(guile_datadir): New static global.
+	(gdbscm_guile_data_directory): New function.
+	(initialize_scheme_side): Update.
+	(misc_guile_functions): Add guile-data-directory.
+	(initialize_gdb_module): Fetch guile version number.
+	* guile/lib/gdb.scm: Remove call to add-to-load-path.
+	* guile/lib/gdb/init.scm (%initialize!): Ditto.
+	* guile/lib/gdb/boot.scm: Use guile-data-directory.
+	* guile/scm-exception.c (gdbscm_print_exception_with_stack): Fix
+	comments.
+	* guile/scm-string.c (gdbscm_scm_string_to_int): New function.
+	* guile/scm-utils.c (gdbscm_guile_version_is_at_least): New function.
+	* guile/scm-value.c (gdbscm_value_to_string): Only call
+	scm_port_conversion_strategy if Guile version >= 2.0.6.
+
+2014-06-06  Mingjie Xing  <mingjie.xing@gmail.com>
+
+	* main.c (print_gdb_help): Add -q and --silent.
+
+2014-06-06  Gary Benson  <gbenson@redhat.com>
+
+	* common/signals.c: Remove preprocessor conditionals for
+	always-defined signals SIGINT, SIGILL, SIGABRT, SIGFPE,
+	SIGSEGV and SIGTERM.
+	* proc-events.c: Likewise.
+
+2014-06-06  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* symfile.c (symfile_free_objfile): Remove restriction to
+	OBJF_USERLOADED.
+	* symfile-mem.c (symbol_file_add_from_memory): Call
+	add_target_sections_of_objfile.
+
+2014-06-05  Ludovic CourtÃ¨s  <ludo@gnu.org>
+
+	* guile/scm-value.c (gdbscm_history_append_x): Use
+	'vlscm_get_value_smob_arg_unsafe' instead of
+	'vlscm_scm_to_value'.
+
+2014-06-05  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR mi/15806
+	* utils.c (printchar): Don't escape at all if quoter is NUL.
+	Update function documentation to clarify effect of parameter
+	QUOTER.
+	* remote.c (escape_buffer): Pass '\\' as the quoter to
+	fputstrn_unfiltered.
+	* mi/mi-interp.c (mi_solib_loaded): Use ui_out_field_* functions to
+	generate the output.
+	(mi_solib_unloaded): Same.
+
+2014-06-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* development.sh: Delete.
+	* Makefile.in (config.status): Adjust dependency on development.sh.
+	* configure.ac: Adjust development.sh source call.
+	* configure: Regenerate.
+
+2014-06-04  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-breakpoint.c (struct gdbscm_breakpoint_object): New members
+	is_scheme_bkpt, spec.
+	(bpscm_make_breakpoint_smob): Initialize new members.
+	(gdbscm_create_breakpoint_x): Split into two ...
+	(gdbscm_make_breakpoint, gdbscm_register_breakpoint_x): New functions.
+	(bpscm_breakpoint_deleted): Reset breakpoint number and stop function.
+	(scheme_function breakpoint_functions): Update.
+	* guile/lib/gdb.scm: Delete create-breakpoint!.  Rename
+	breakpoint-delete! to delete-breakpoint!.  Add make-breakpoint,
+	register-breakpoint!.
+
+2014-06-04  Joel Brobecker  <brobecker@adacorer.com>
+
+	PR server/17023
+	* mem-break.c (z_type_supported): Return zero if
+	THE_TARGET->SUPPORTS_Z_POINT_TYPE is NULL.
+
+2014-06-04  Tom Tromey  <tromey@redhat.com>
+
+	* ada-lang.c (ada_template_to_fixed_record_type_1): Use
+	value_from_contents_and_address_unresolved.
+	(ada_template_to_fixed_record_type_1): Likewise.
+	(ada_which_variant_applies): Likewise.
+	* value.h (value_from_contents_and_address_unresolved): Declare.
+	* value.c (value_from_contents_and_address_unresolved): New
+	function.
+	* gdbtypes.c (is_dynamic_type, resolve_dynamic_type)
+	<TYPE_CODE_STRUCT, TYPE_CODE_UNION>: New cases.
+	(resolve_dynamic_struct, resolve_dynamic_union): New functions.
+
+2014-06-04  Tom Tromey  <tromey@redhat.com>
+
+	* gdbtypes.c (is_dynamic_type): Remove unneeded "break"s.
+
+2014-06-04  Tom Tromey  <tromey@redhat.com>
+
+	* procfs.c (procfs_attach): Make "args" const.
+	* windows-nat.c (windows_attach): Make "args" const.
+	* nto-procfs.c (procfs_attach): Make "args" const.
+	* inf-ttrace.c (inf_ttrace_attach): Make "args" const.
+	* go32-nat.c (go32_attach): Make "args" const.
+	* gnu-nat.c (gnu_attach): Make "args" const.
+	* darwin-nat.c (darwin_attach): Make "args" const.
+	* inf-ptrace.c (inf_ptrace_attach): Make "args" const.
+	* linux-nat.c (linux_nat_attach): Make "args" const.
+	* remote.c (extended_remote_attach_1, extended_remote_attach):
+	Make "args" const.
+	* target.h (struct target_ops) <to_attach>: Make "args" const.
+	(find_default_attach): Likewise.
+	* utils.c (parse_pid_to_attach): Make "args" const.
+	* utils.h (parse_pid_to_attach): Update.
+
+2014-06-04  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (default_thread_address_space): New function.
+	(target_thread_address_space): Simplify.
+	* target.h (struct target_ops) <to_thread_address_space>: Add
+	TARGET_DEFAULT_FUNC.
+
+2014-06-04  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-type.c (type_smob): Remove duplicate typedef.
+
+2014-06-04  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c: Include event-loop.h and inf-loop.h.
+	(record_btrace_resume_exec_dir)
+	(record_btrace_async_inferior_event_handler)
+	(record_btrace_handle_async_inferior_event): New.
+	(record_btrace_open): Create async event handler.
+	(record_btrace_close): Delete async event handler.
+	(record_btrace_resume): Set record_btrace_resume_exec_dir,
+	Mark async event handler.
+	(record_btrace_execution_direction): New.
+	(init_record_btrace_ops): Initialize to_execution_direction.
+
+2014-06-03  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-param.c (pascm_make_param_smob): Add ARI comment.
+	(gdbscm_make_parameter): Ditto.
+
+2014-06-03  Doug Evans  <dje@google.com>
+
+	* exec.c (exec_close_1): Call clear_section_table instead of
+	resize_section_table.
+	(clear_section_table): New function.
+	(resize_section_table): Make static.  Rename arg num_added to
+	adjustment.
+	* exec.h (clear_section_table): Declare.
+	(resize_section_table): Delete.
+	* progspace.c (release_program_space): Call clear_section_table
+	instead of resize_section_table.
+
+2014-06-03  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* NEWS (Python Scripting): Add entry about the new xmethods
+	feature.
+
+2014-06-03  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* python/py-xmethods.c: New file.
+	* python/py-objfile.c (objfile_object): New field 'xmethods'.
+	(objfpy_dealloc): XDECREF on the new xmethods field.
+	(objfpy_new, objfile_to_objfile_object): Initialize xmethods
+	field.
+	(objfpy_get_xmethods): New function.
+	(objfile_getset): New entry 'xmethods'.
+	* python/py-progspace.c (pspace_object): New field 'xmethods'.
+	(pspy_dealloc): XDECREF on the new xmethods field.
+	(pspy_new, pspace_to_pspace_object): Initialize	xmethods
+	field.
+	(pspy_get_xmethods): New function.
+	(pspace_getset): New entry 'xmethods'.
+	* python/python-internal.h: Add declarations for new functions.
+	* python/python.c (_initialize_python): Invoke
+	gdbpy_initialize_xmethods.
+	* python/lib/gdb/__init__.py (xmethods): New
+	attribute.
+	* python/lib/gdb/xmethod.py: New file.
+	* python/lib/gdb/command/xmethods.py: New file.
+
+2014-06-03  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* eval.c (evaluate_subexp_standard): Call the xmethod if the
+	best match method returned by find_overload_match is an xmethod.
+	* valarith.c (value_x_binop, value_x_unop): Call the xmethod if
+	the best matching operator returned by find_overload_match is an
+	xmethod.
+	* valops.c: #include "extension.h".
+	(find_method_list): Add "fn_list" and "xm_worker_vec" arguments.
+	Return void.  The list of matching source methods is returned in
+	"fn_list" and a vector of matching debug method workers is
+	returned in "xm_worker_vec".  Update all callers.
+	(value_find_oload_method_list): Likewise.
+	(find_oload_champ): Add "xm_worker_vec" parameter.  If it is
+	non-NULL, then the index of the best matching method in this
+	vector is returned.  Update all callers.
+	(find_overload_match): Include xmethods while performing overload
+	resolution.
+
+2014-06-03  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* defs.h (enum lval_type): New enumerator "lval_xcallable".
+	* extension-priv.h (struct extension_language_ops): Add the
+	xmethod interface.
+	* extension.c (new_xmethod_worker, clone_xmethod_worker,
+	get_matching_xmethod_workers, get_xmethod_argtypes,
+	invoke_xmethod, free_xmethod_worker,
+	free_xmethod_worker_vec): New functions.
+	* extension.h: #include "common/vec.h".
+	New function declarations.
+	(struct xmethod_worker): New struct.
+	(VEC (xmethod_worker_ptr)): New vector type.
+	(xmethod_worker_ptr): New typedef.
+	(xmethod_worker_vec): Likewise.
+	* gdbtypes.c (gdbtypes_post_init): Initialize "xmethod" field of
+	builtin_type.
+	* gdbtypes.h (enum type_code): New enumerator TYPE_CODE_XMETHOD.
+	(struct builtin_type): New field "xmethod".
+	* valarith.c (value_ptradd): Assert that the value argument is not
+	lval_xcallable.
+	* valops.c (value_must_coerce_to_target): Return 0 for
+	lval_xcallable values.
+	* value.c (struct value): New field XM_WORKER in the field
+	LOCATION.
+	(value_address, value_raw_address): Return 0 for lval_xcallable
+	values.
+	(set_value_address): Assert that the value is not an
+	lval_xcallable.
+	(value_free): Free the associated xmethod worker when freeing
+	lval_xcallable values.
+	(set_value_component_location): Assert that the WHOLE value is not
+	lval_xcallable.
+	(value_of_xmethod, call_xmethod): New functions.
+	* value.h: Declare "struct xmethod_worker".
+	Declare new functions value_of_xmethod, call_xmethod.
+
+2014-06-03  Joel Brobecker  <brobecker@adacore.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	PR breakpoints/17000
+	* breakpoint.c (find_non_raw_software_breakpoint_inserted_here):
+	New function, extracted from software_breakpoint_inserted_here_p.
+	(software_breakpoint_inserted_here_p): Replace factored out code
+	by call to find_non_raw_software_breakpoint_inserted_here.
+	(bp_target_info_copy_insertion_state): New function.
+	(bkpt_insert_location): Handle the case of a single-step
+	breakpoint already inserted at the same address.
+	(bkpt_remove_location): Handle the case of a single-step
+	breakpoint still inserted at the same address.
+	(deprecated_insert_raw_breakpoint): Handle the case of non-raw
+	breakpoint already inserted at the same address.
+	(deprecated_remove_raw_breakpoint): Handle the case of a
+	non-raw breakpoint still inserted at the same address.
+	(find_single_step_breakpoint): New function, extracted from
+	single_step_breakpoint_inserted_here_p.
+	(find_single_step_breakpoint): New function,
+	factored out from single_step_breakpoint_inserted_here_p.
+	(single_step_breakpoint_inserted_here_p): Reimplement.
+
+2014-06-03  Brad Mouring  <bmouring@ni.com>  (tiny patch)
+
+	Pushed by Joel Brobecker  <brobecker@adacore.com>
+	* source.c (show_substitute_path_command): Fix display of matching
+	substitution rules.
+
+2014-06-03  Gary Benson  <gbenson@redhat.com>
+
+	* gnu-v2-abi.c (gnuv2_value_rtti_type): Use gdb_demangle.
+
+2014-06-02  Doug Evans  <xdje42@gmail.com>
+
+	Add parameter support for Guile.
+	* Makefile.in (SUBDIR_GUILE_OBS): Add scm-param.o.
+	(SUBDIR_GUILE_SRCS): Add scm-param.c.
+	(scm-param.o): New rule.
+	* guile/guile-internal.h (gdbscm_gc_dup_argv): Declare.
+	(gdbscm_misc_error): Declare.
+	(gdbscm_canonicalize_command_name): Declare.
+	(gdbscm_scm_to_host_string): Declare.
+	(gdbscm_scm_from_host_string): Declare.
+	(gdbscm_initialize_parameters): Declare.
+	* guile/guile.c (initialize_gdb_module): Call
+	gdbscm_initialize_parameters.
+	* guile/lib/gdb.scm: Export parameter symbols.
+	* guile/scm-cmd.c (gdbscm_canonicalize_command_name): Renamed from
+	cmdscm_canonicalize_name and made public.  All callers updated.
+	* guile/scm-exception.c (gdbscm_misc_error): New function.
+	* guile/scm-param.c: New file.
+	* guile/scm-string.c (gdbscm_scm_to_string): Add comments.
+	(gdbscm_scm_to_host_string): New function.
+	(gdbscm_scm_from_host_string): New function.
+	* scm-utils.c (gdbscm_gc_dup_argv): New function.
+
+2014-06-02  Doug Evans  <xdje42@gmail.com>
+
+	Add command support for Guile.
+	* Makefile.in (SUBDIR_GUILE_OBS): Add scm-cmd.o.
+	(SUBDIR_GUILE_SRCS): Add scm-cmd.c.
+	(scm-cmd.o): New rule.
+	* guile/guile-internal.h (gdbscm_gc_xstrdup): Declare.
+	(gdbscm_user_error_p): Declare.
+	(gdbscm_parse_command_name): Declare.
+	(gdbscm_valid_command_class_p): Declare.
+	(gdbscm_initialize_commands): Declare.
+	* guile/guile.c (initialize_gdb_module): Call
+	gdbscm_initialize_commands.
+	* guile/lib/gdb.scm: Export command symbols.
+	* guile/lib/gdb/init.scm (%exception-keys): Add gdb:user-error.
+	(throw-user-error): New function.
+	* guile/scm-cmd.c: New file.
+	* guile/scm-exception.c (user_error_symbol): New static global.
+	(gdbscm_user_error_p): New function.
+	(gdbscm_initialize_exceptions): Set user_error_symbol.
+	* scm-utils.c (gdbscm_gc_xstrdup): New function.
+
+2014-06-02  Phil Muldoon  <pmuldoon@redhat.com>
+
+	* top.c (command_loop): Handle comments here...
+	(command_line_input): ... not here.
+
+2014-06-02  Doug Evans  <xdje42@gmail.com>
+
+	Add progspace support for Guile.
+	* Makefile.in (SUBDIR_GUILE_OBS): Add scm-progspace.o.
+	(SUBDIR_GUILE_SRCS): Add scm-progspace.c.
+	(scm-progspace.o): New rule.
+	* guile/guile-internal.h (pspace_smob): New typedef.
+	(psscm_pspace_smob_pretty_printers): Declare.
+	(psscm_pspace_smob_from_pspace): Declare.
+	(psscm_scm_from_pspace): Declare.
+	* guile/guile.c (initialize_gdb_module): Call
+	gdbscm_initialize_pspaces.
+	* guile/lib/gdb.scm: Export progspace symbols.
+	* guile/lib/gdb/printing.scm (prepend-pretty-printer!): Add progspace
+	support.
+	(append-pretty-printer!): Ditto.
+	* guile/scm-pretty-print.c (ppscm_find_pretty_printer_from_progspace):
+	Implement.
+	* guile/scm-progspace.c: New file.
+
+2014-06-03  Alan Modra  <amodra@gmail.com>
+
+	* ppc64-tdep.c (ppc64_standard_linkage8): New.
+	(ppc64_skip_trampoline_code): Recognise ELFv2 stub supporting fusion.
+
+2014-06-02  Doug Evans  <dje@google.com>
+
+	Add support for skeletonless type units.
+	* dwarf2read.c (struct dwarf2_per_objfile): New member
+	n_allocated_type_units.
+	(struct dwarf2_per_objfile) <tu_stats>: New member
+	nr_all_type_units_reallocs.
+	(create_signatured_type_table_from_index): Initialize
+	n_allocated_type_units
+	(create_all_type_units): Ditto.
+	(add_type_unit): Move up in file.  New arg slot.
+	All callers updated.  Increase space for all_type_units more
+	efficiently.
+	(fill_in_sig_entry_from_dwo_entry): Handle psymtabs.
+	(lookup_dwo_signatured_type): Handle skeletonless TUs.
+	(lookup_dwp_signatured_type): Ditto.
+	(init_tu_and_read_dwo_dies): New arg use_existing_cu.
+	All callers updated.
+	(build_type_psymtabs_1): Leave type_unit_groups as
+	NULL if no TUs present.
+	(print_tu_stats): New function.
+	(process_skeletonless_type_unit): New function.
+	(process_dwo_file_for_skeletonless_type_units): New
+	function.
+	(process_skeletonless_type_units): New function.
+	(dwarf2_build_psymtabs_hard): Handle skeletonless TUs.
+	Call print tu_stats if debugging enabled.
+
+2014-06-02  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (build_target_command_list): Don't build a command
+	list if we have any duplicate location that isn't a dprintf.
+
+2014-06-02  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (dprintf_breakpoint_hit): New function.
+	(initialize_breakpoint_ops): Install it as dprintf's
+	breakpoint_hit method.
+
+2014-06-02  Joel Brobecker  <brobecker@adacore.com>
+
+	* source.c (substitute_path_rule_matches): Simplify using
+	filename_ncmp instead of FILENAME_CMP.
+
+2014-06-02  Joel Brobecker  <brobecker@adacore.com>
+
+	* source.c (substitute_path_rule_matches): Remove trailing spaces.
+
+2014-06-01  Ludovic CourtÃ¨s  <ludo@gnu.org>
+
+	* configure.ac: When Guile is available, check for the
+	availability of 'scm_new_smob'.
+	* configure, config.h.in: Regenerate.
+	* guile/guile-internal.h (scm_new_smob) [!HAVE_SCM_NEW_SMOB]: New
+	function.
+
+2014-05-30  Andrew Burgess  <aburgess@broadcom.com>
+
+	* frame.c (struct frame_info): Add stop_string field.
+	(get_prev_frame_always_1): Renamed from get_prev_frame_always.
+	(get_prev_frame_always): Old content moved into
+	get_prev_frame_always_1.  Call get_prev_frame_always_1 inside
+	TRY_CATCH, handle MEMORY_ERROR exceptions.
+	(frame_stop_reason_string): New function definition.
+	* frame.h (unwind_stop_reason_to_string): Extend comment to
+	mention frame_stop_reason_string.
+	(frame_stop_reason_string): New function declaration.
+	* stack.c (frame_info): Switch to frame_stop_reason_string.
+	(backtrace_command_1): Switch to frame_stop_reason_string.
+	* unwind_stop_reason.def: Add UNWIND_MEMORY_ERROR.
+	(LAST_ENTRY): Changed to UNWIND_MEMORY_ERROR.
+	* guile/lib/gdb.scm: Add FRAME_UNWIND_MEMORY_ERROR to export list.
+
+2014-05-30  Andrew Burgess  <aburgess@broadcom.com>
+
+	* frame.c (frame_stop_reason_string): Rename to ...
+	(unwind_stop_reason_to_string): this.
+	* frame.h (frame_stop_reason_string): Rename to ...
+	(unwind_stop_reason_to_string): this.
+	* stack.c (frame_info): Update call to frame_stop_reason_string.
+	(backtrace_command_1): Likewise.
+	* guile/scm-frame.c (gdbscm_unwind_stop_reason_string): Likewise.
+	* python/py-frame.c (gdbpy_frame_stop_reason_string): Likewise.
+
+2014-05-30  Andrew Burgess  <aburgess@broadcom.com>
+
+	* frame.c (remove_prev_frame): New function.
+	(get_prev_frame_if_no_cycle): Create / discard cleanup using
+	remove_prev_frame.
+
+2014-05-29  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (resume): Rename local 'hw_step' to 'entry_step'
+	and make it const.  When a single-step decays to a continue,
+	clear 'step', not 'hw_step'.  Pass whether the caller wanted
+	to step to user_visible_resume_ptid, not what we ask the
+	target to do.
+
+2014-05-29  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (process_event_stop_test, handle_step_into_function)
+	(handle_step_into_function_backward): Adjust.
+	Don't set the even thread's stop_step and call stop_waiting before
+	calling end_stepping_range.  Instead do that ...
+	(end_stepping_range): ... here.  Take an ecs pointer parameter.
+
+2014-05-29  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (stop_stepping): Rename to ...
+	(stop_waiting): ... this.
+	(proceed): Update comment.
+	(process_event_stop_test, handle_inferior_event)
+	(handle_signal_stop, handle_step_into_function)
+	(handle_step_into_function_backward): Update.
+
+2014-05-29  Pedro Alves  <palves@redhat.com>
+
+	* infcall.c (run_inferior_call): Don't check whether the current
+	thread is running after the proceed call.
+
+2014-05-29  Pedro Alves  <palves@redhat.com>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* NEWS: Mention "maint set target-async", "set mi-async", and that
+	background execution commands are now always available.
+	* target.h (target_async_permitted): Update comment.
+	* target.c (target_async_permitted, target_async_permitted_1):
+	Default to 1.
+	(set_target_async_command): Rename to ...
+	(maint_set_target_async_command): ... this.
+	(show_target_async_command): Rename to ...
+	(maint_show_target_async_command): ... this.
+	(_initialize_target): Adjust.
+	* infcmd.c (prepare_execution_command): Make extern.
+	* inferior.h (prepare_execution_command): Declare.
+	* infrun.c (set_observer_mode): Leave target async alone.
+	* mi/mi-interp.c (mi_interpreter_init): Install
+	mi_on_sync_execution_done as sync_execution_done observer.
+	(mi_on_sync_execution_done): New function.
+	(mi_execute_command_input_handler): Don't print the prompt if we
+	just started a synchronous command with an async target.
+	(mi_on_resume): Check sync_execution before printing prompt.
+	* mi/mi-main.h (mi_async_p): Declare.
+	* mi/mi-main.c: Include gdbcmd.h.
+	(mi_async_p): New function.
+	(mi_async, mi_async_1): New globals.
+	(set_mi_async_command, show_mi_async_command, mi_async): New
+	functions.
+	(exec_continue): Call prepare_execution_command.
+	(run_one_inferior, mi_cmd_exec_run, mi_cmd_list_target_features)
+	(mi_execute_async_cli_command): Use mi_async_p.
+	(_initialize_mi_main): Install "set mi-async".  Make
+	"target-async" a deprecated alias.
+
+2014-05-29  Pedro Alves  <palves@redhat.com>
+
+	* cli/cli-interp.c (cli_interpreter_display_prompt_p): Delete.
+	(_initialize_cli_interp): Adjust.
+	* event-loop.c: Include "observer.h".
+	(start_event_loop): Notify 'command_error' observers instead of
+	calling display_gdb_prompt.  Remove FIXME comment.
+	* event-top.c (display_gdb_prompt): Remove call into the
+	interpreters.
+	* inf-loop.c: Include "observer.h".
+	(inferior_event_handler): Notify 'command_error' observers instead
+	of calling display_gdb_prompt.
+	* infrun.c (fetch_inferior_event): Notify 'sync_execution_done'
+	observers instead of calling display_gdb_prompt.
+	* interps.c (interp_set): Don't call display_gdb_prompt.
+	(current_interp_display_prompt_p): Delete.
+	* interps.h (interp_prompt_p): Delete declaration.
+	(interp_prompt_p_ftype): Delete.
+	(struct interp_procs) <prompt_proc_p>: Delete field.
+	(current_interp_display_prompt_p): Delete declaration.
+	* mi-interp.c (mi_interpreter_prompt_p): Delete.
+	(_initialize_mi_interp): Adjust.
+	* tui-interp.c (tui_init): Install 'sync_execution_done' and
+	'command_error' observers.
+	(tui_on_sync_execution_done, tui_on_command_error): New
+	functions.
+	(tui_display_prompt_p): Delete.
+	(_initialize_tui_interp): Adjust.
+
+2014-05-29  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/13860
+	* cli/cli-interp.c: Include infrun.h and observer.h.
+	(cli_uiout, cli_interp): New globals.
+	(cli_on_signal_received, cli_on_end_stepping_range)
+	(cli_on_signal_exited, cli_on_exited, cli_on_no_history): New
+	functions.
+	(cli_interpreter_init): Install them as 'end_stepping_range',
+	'signal_received' 'signal_exited', 'exited' and 'no_history'
+	observers.
+	(_initialize_cli_interp): Remove cli_interp local.
+	* infrun.c (handle_inferior_event): Call the several stop reason
+	observers instead of printing the stop reason directly.
+	(end_stepping_range): New function.
+	(print_end_stepping_range_reason, print_signal_exited_reason)
+	(print_exited_reason, print_signal_received_reason)
+	(print_no_history_reason): Make static, and add an uiout
+	parameter.  Print to that instead of to CURRENT_UIOUT.
+	* infrun.h (print_end_stepping_range_reason)
+	(print_signal_exited_reason, print_exited_reason)
+	(print_signal_received_reason print_no_history_reason): New
+	declarations.
+	* mi/mi-common.h (struct mi_interp): Rename 'uiout' field to
+	'mi_uiout'.
+	<cli_uiout>: New field.
+	* mi/mi-interp.c (mi_interpreter_init): Adjust.  Create the new
+	uiout for CLI output.  Install 'signal_received',
+	'end_stepping_range', 'signal_exited', 'exited' and 'no_history'
+	observers.
+	(find_mi_interpreter, mi_interp_data, mi_on_signal_received)
+	(mi_on_end_stepping_range, mi_on_signal_exited, mi_on_exited)
+	(mi_on_no_history): New functions.
+	(ui_out_free_cleanup): Delete function.
+	(mi_on_normal_stop): Don't allocate a new uiout for CLI output,
+	instead use the one already stored in the MI interpreter data.
+	(mi_ui_out): Adjust.
+	* tui/tui-interp.c: Include infrun.h and observer.h.
+	(tui_interp): New global.
+	(tui_on_signal_received, tui_on_end_stepping_range)
+	(tui_on_signal_exited, tui_on_exited)
+	(tui_on_no_history): New functions.
+	(tui_init): Install them as 'end_stepping_range',
+	'signal_received' 'signal_exited', 'exited' and 'no_history'
+	observers.
+	(_initialize_tui_interp): Delete tui_interp local.
+
+2014-05-29  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/15713
+	* linux-nat.c (linux_nat_resume_callback): Rename the second
+	parameter to 'except'.  Skip LP if it points to EXCEPT.
+	(linux_nat_resume): Don't mark the event lwp as not stopped
+	before resuming sibling lwps.  Instead ask
+	linux_nat_resume_callback to skip the event lwp.  Mark it as not
+	stopped after actually resuming it.
+	(linux_handle_syscall_trap): Mark the lwp as not stopped after
+	resuming it.
+	(wait_lwp): Mark the lwp as stopped here.
+	(stop_wait_callback): Mark the lwp as not stopped right after
+	resuming it.  Don't mark lwps as stopped here.
+	(linux_nat_filter_event): Mark the lwp as stopped earlier.
+	(linux_nat_wait_1): Don't mark dead lwps as stopped here.
+
+2014-05-29  Pedro Alves  <palves@redhat.com>
+
+	PR PR15693
+	* infrun.c (resume): Determine how much to resume depending on
+	whether the caller wanted a step, not whether we can hardware step
+	the target.  Mark all threads that we intend to run as running,
+	unless we're calling an inferior function.
+	(normal_stop): If the thread is running an infcall, don't finish
+	thread state.
+	* target.c (target_resume): Don't mark threads as running here.
+
+2014-05-28  Joel Brobecker  <brobecker@adacore.com>
+
+	* serial.c (_initialize_serial): Remove support for
+	the "set remotebaud" and "show remotebaud" commands.
+	* NEWS: Add entry documenting the removal of that command.
+
+2014-05-28  Yao Qi  <yao@codesourcery.com>
+
+	* charset.c: Fix typo in comments.
+
+2014-05-27  Gary Benson  <gbenson@redhat.com>
+
+	* utils.c (internal_vproblem): Prompt for a bug report.
+
+2014-05-26  Andy Wingo  <wingo@igalia.com>
+
+	* guile/scm-arch.c (arscm_mark_arch_smob):
+	* guile/scm-block.c (bkscm_mark_block_smob)
+	(bkscm_mark_block_syms_progress_smob):
+	* guile/scm-breakpoint.c (bpscm_mark_breakpoint_smob):
+	* guile/scm-exception.c (exscm_mark_exception_smob):
+	* guile/scm-frame.c (frscm_mark_frame_smob):
+	* guile/scm-iterator.c (itscm_mark_iterator_smob):
+	* guile/scm-lazy-string.c (lsscm_mark_lazy_string_smob):
+	* guile/scm-objfile.c (ofscm_mark_objfile_smob):
+	* guile/scm-pretty-print.c (ppscm_mark_pretty_printer_smob)
+	(ppscm_mark_pretty_printer_worker_smob):
+	* guile/scm-symbol.c (syscm_mark_symbol_smob):
+	* guile/scm-symtab.c (stscm_mark_symtab_smob, stscm_mark_sal_smob):
+	* guile/scm-type.c (tyscm_mark_type_smob, tyscm_mark_field_smob):
+	* guile/scm-value.c (vlscm_mark_value_smob): Remove unnecessary
+	mark functions.
+	* guile/scm-symtab.c (stscm_free_sal_smob): Remove unnecessary free
+	function.
+
+2014-05-26  Andy Wingo  <wingo@igalia.com>
+	    Doug Evans  <xdje42@gmail.com>
+
+	* guile/guile-internal.h (GDB_SMOB_HEAD): Replace properties with
+	empty_base_class.  All uses updated.
+	(gdbscm_mark_gsmob, gdbscm_mark_chained_gsmob)
+	(gdbscm_mark_eqable_gsmob): Remove these now-unneeded functions.
+	Adapt all callers.
+	* guile/scm-gsmob.c (gdbscm_mark_gsmob)
+	(gdbscm_mark_chained_gsmob, gdbscm_mark_eqable_gsmob): Remove.
+	(gdbscm_gsmob_property, gdbscm_set_gsmob_property_x)
+	(gdbscm_gsmob_has_property_p, add_property_name)
+	(gdbscm_gsmob_properties): Remove, and remove them from gsmob_functions.
+	* guile/lib/gdb.scm (gdb-object-property, set-gdb-object-property)
+	(gdb-object-has-property?, gdb-object-properties): Remove.
+	(gdb-object-kind): Renamed from gsmob-kind.
+
+2014-05-26  Andy Wingo  <wingo@igalia.com>
+
+	* configure.ac (try_guile_versions): Allow building with guile 2.2.
+	* configure: Regenerate.
+
+2014-05-23  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* symfile-mem.c (symbol_file_add_from_memory): Add BFD sections.
+
+2014-05-23  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_allow_memory_access): Remove.
+	(replay_memory_access_read_only, replay_memory_access_read_write)
+	(replay_memory_access_types, replay_memory_access)
+	(set_record_btrace_cmdlist, show_record_btrace_cmdlist)
+	(cmd_set_record_btrace, cmd_show_record_btrace)
+	(cmd_show_replay_memory_access): New.
+	(record_btrace_xfer_partial, record_btrace_insert_breakpoint)
+	(record_btrace_remove_breakpoint): Replace
+	record_btrace_allow_memory_access with replay_memory_access.
+	(_initialize_record_btrace): Add commands.
+	* NEWS: Announce it.
+
+2014-05-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* aarch64-linux-nat.c (asm/ptrace.h): Include.
+
+2014-05-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* MAINTAINERS (Write After Approval): Move self back from
+	paper trail.
+
+2014-05-22  Pedro Alves  <palves@redhat.com>
+
+	* inferior.h (debug_infrun, debug_displaced, stop_on_solib_events)
+	(sync_execution, sched_multi, step_stop_if_no_debug, non_stop)
+	(disable_randomization, enum exec_direction_kind)
+	(execution_direction, stop_registers, start_remote)
+	(clear_proceed_status, proceed, resume, user_visible_resume_ptid)
+	(wait_for_inferior, normal_stop, get_last_target_status)
+	(prepare_for_detach, fetch_inferior_event, init_wait_for_inferior)
+	(insert_step_resume_breakpoint_at_sal)
+	(follow_inferior_reset_breakpoints, stepping_past_instruction_at)
+	(set_step_info, print_stop_event, signal_stop_state)
+	(signal_print_state, signal_pass_state, signal_stop_update)
+	(signal_print_update, signal_pass_update)
+	(update_signals_program_target, clear_exit_convenience_vars)
+	(displaced_step_dump_bytes, update_observer_mode)
+	(signal_catch_update, gdb_signal_from_command): Move
+	declarations ...
+	* infrun.h: ... to this new file.
+	* amd64-tdep.c: Include infrun.h.
+	* annotate.c: Include infrun.h.
+	* arch-utils.c: Include infrun.h.
+	* arm-linux-tdep.c: Include infrun.h.
+	* arm-tdep.c: Include infrun.h.
+	* break-catch-sig.c: Include infrun.h.
+	* breakpoint.c: Include infrun.h.
+	* common/agent.c: Include infrun.h instead of inferior.h.
+	* corelow.c: Include infrun.h.
+	* event-top.c: Include infrun.h.
+	* go32-nat.c: Include infrun.h.
+	* i386-tdep.c: Include infrun.h.
+	* inf-loop.c: Include infrun.h.
+	* infcall.c: Include infrun.h.
+	* infcmd.c: Include infrun.h.
+	* infrun.c: Include infrun.h.
+	* linux-fork.c: Include infrun.h.
+	* linux-nat.c: Include infrun.h.
+	* linux-thread-db.c: Include infrun.h.
+	* monitor.c: Include infrun.h.
+	* nto-tdep.c: Include infrun.h.
+	* procfs.c: Include infrun.h.
+	* record-btrace.c: Include infrun.h.
+	* record-full.c: Include infrun.h.
+	* remote-m32r-sdi.c: Include infrun.h.
+	* remote-mips.c: Include infrun.h.
+	* remote-notif.c: Include infrun.h.
+	* remote-sim.c: Include infrun.h.
+	* remote.c: Include infrun.h.
+	* reverse.c: Include infrun.h.
+	* rs6000-tdep.c: Include infrun.h.
+	* s390-linux-tdep.c: Include infrun.h.
+	* solib-irix.c: Include infrun.h.
+	* solib-osf.c: Include infrun.h.
+	* solib-svr4.c: Include infrun.h.
+	* target.c: Include infrun.h.
+	* top.c: Include infrun.h.
+	* windows-nat.c: Include infrun.h.
+	* mi/mi-interp.c: Include infrun.h.
+	* mi/mi-main.c: Include infrun.h.
+	* python/py-threadevent.c: Include infrun.h.
+
+2014-05-22  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (handle_inferior_event): Store the exit code for
+	--return-child-result here, instead of ...
+	(print_exited_reason): ... here.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/13860
+	* gdbthread.h (struct thread_control_state): New field
+	`command_interp'.
+	* infrun.c (follow_fork): Copy the new thread control field to the
+	child fork thread.
+	(clear_proceed_status_thread): Clear the new thread control field.
+	(proceed): Set the new thread control field.
+	* interps.h (command_interp): Declare.
+	* interps.c (command_interpreter): New global.
+	(command_interp): New function.
+	(interp_exec): Set `command_interpreter' while here.
+	* cli-out.c (cli_uiout_dtor): New function.
+	(cli_ui_out_impl): Install it.
+	* mi/mi-interp.c: Include cli-out.h.
+	(mi_cmd_interpreter_exec): Add comment.
+	(restore_current_uiout_cleanup): New function.
+	(ui_out_free_cleanup): New function.
+	(mi_on_normal_stop): If finishing an execution command started by
+	a CLI command, or any kind of breakpoint-like event triggered,
+	print the stop event to the output (CLI) stream.
+	* mi/mi-out.c (mi_ui_out_impl): Install NULL `dtor' handler.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* cli/cli-cmds.c (list_command): Handle the first "list" after the
+	current source line having changed.
+	* frame.h (set_current_sal_from_frame): Remove 'center' parameter.
+	* infrun.c (normal_stop): Adjust call to
+	set_current_sal_from_frame.
+	* source.c (clear_lines_listed_range): New function.
+	(set_current_source_symtab_and_line, identify_source_line): Clear
+	the lines listed range.
+	(line_info): Handle the first "info line" after the current source
+	line having changed.
+	* stack.c (print_stack_frame): Remove center handling.
+	(set_current_sal_from_frame): Remove 'center' parameter.  Don't
+	center sal.line.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* inf-child.c (inf_child_mourn_inferior): New function.
+	* inf-child.h (inf_child_mourn_inferior): New declaration.
+	* darwin-nat.c (darwin_mourn_inferior): Use
+	inf_child_mourn_inferior.
+	* gnu-nat.c (gnu_mourn_inferior): Likewise.
+	* inf-ptrace.c (inf_ptrace_mourn_inferior): Likewise.
+	* inf-ttrace.c (inf_ttrace_mourn_inferior): Likewise.
+	* nto-procfs.c (procfs_mourn_inferior): Likewise.
+	* windows-nat.c (windows_mourn_inferior): Likewise.
+
+2014-05-21  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-breakpoint.c (breakpoint_functions): Fix typo.
+
+2014-05-21  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-exception.c (gdbscm_invalid_object_error): Make result void.
+	(gdbscm_out_of_range_error): Ditto.
+	(gdbscm_memory_error): Ditto.
+	* guile/scm-string.c (gdbscm_scm_to_target_string_unsafe): Delete.
+	* guile/guile-internal.h (gdbscm_invalid_object_error): Update.
+	(gdbscm_out_of_range_error): Update.
+	(gdbscm_memory_error): Update.
+	(gdbscm_scm_to_target_string_unsafe): Delete.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* inf-child.c (inf_child_ops, inf_child_explicitly_opened): New
+	globals.
+	(inf_child_open_target): New function.
+	(inf_child_open): Use inf_child_open_target to push the target
+	instead of erroring out.
+	(inf_child_disconnect, inf_child_close)
+	(inf_child_maybe_unpush_target): New functions.
+	(inf_child_target): Install inf_child_disconnect and
+	inf_child_close.  Store a pointer to the returned object.
+	* inf-child.h (inf_child_open_target, inf_child_maybe_unpush): New
+	declarations.
+	* target.c (auto_connect_native_target): New global.
+	(show_default_run_target): New function.
+	(find_default_run_target): Return NULL if automatically connecting
+	to the native target is disabled.
+	(_initialize_target): Install set/show auto-connect-native-target.
+	* NEWS: Mention "set auto-connect-native-target", and "target
+	native".
+	* linux-nat.c (super_close): New global.
+	(linux_nat_close): Call super_close.
+	(linux_nat_add_target): Store a pointer to the base class's
+	to_close method.
+	* inf-ptrace.c (inf_ptrace_mourn_inferior, inf_ptrace_detach): Use
+	inf_child_maybe_unpush.
+	* inf-ttrace.c (inf_ttrace_him): Don't push the target if it is
+	already pushed.
+	(inf_ttrace_mourn_inferior): Only unpush the target after mourning
+	the inferior.  Use inf_child_maybe_unpush_target.
+	(inf_ttrace_attach): Don't push the target if it is already
+	pushed.
+	(inf_ttrace_detach): Use inf_child_maybe_unpush_target.
+	* darwin-nat.c (darwin_mourn_inferior): Only unpush the target
+	after mourning the inferior.  Use inf_child_maybe_unpush_target.
+	(darwin_attach_pid): Don't push the target if it is already
+	pushed.
+	* gnu-nat.c (gnu_mourn_inferior): Only unpush the target after
+	mourning the inferior.  Use inf_child_maybe_unpush_target.
+	(gnu_detach): Use inf_child_maybe_unpush_target.
+	* go32-nat.c (go32_create_inferior): Don't push the target if it
+	is already pushed.
+	(go32_mourn_inferior): Use inf_child_maybe_unpush_target.
+	* nto-procfs.c (procfs_is_nto_target): Adjust comment.
+	(procfs_open): Rename to ...
+	(procfs_open_1): ... this.  Add target_ops parameter.  Adjust
+	comments.  Can target_preopen before changing node.  Call
+	inf_child_open_target to push the target explicitly.
+	(procfs_attach): Don't push the target if it is already pushed.
+	(procfs_detach): Use inf_child_maybe_unpush_target.
+	(procfs_create_inferior): Don't push the target if it is already
+	pushed.
+	(nto_native_ops): New global.
+	(procfs_open): Reimplement.
+	(procfs_native_open): New function.
+	(init_procfs_targets): Install procfs_native_open as to_open of
+	"target native".  Store a pointer to the "native" target in
+	nto_native_ops.
+	* procfs.c (procfs_attach): Don't push the target if it is already
+	pushed.
+	(procfs_detach): Use inf_child_maybe_unpush_target.
+	(procfs_mourn_inferior): Only unpush the target after mourning the
+	inferior.  Use inf_child_maybe_unpush_target.
+	(procfs_init_inferior): Don't push the target if it is already
+	pushed.
+	* windows-nat.c (do_initial_windows_stuff): Don't push the target
+	if it is already pushed.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* NEWS: Mention that the "child", "GNU, "djgpp", "darwin-child"
+	and "procfs" targets are now called "native" instead.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* go32-nat.c (go32_open): Delete.
+	(go32_target): Don't override the to_open method.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* nto-procfs.c (procfs_can_run): New function.
+	(nto_procfs_ops): New global.
+	(init_procfs_targets): New, based on procfs_target.  Install
+	"target native" in addition to "target procfs".
+	(_initialize_procfs): Call init_procfs_targets instead of adding
+	the target here.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* windows-nat.c (windows_target): Don't override to_shortname,
+	to_longname or to_doc.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* gnu-nat.c (gnu): Don't override to_shortname, to_longname or
+	to_doc.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* darwin-nat.c (_initialize_darwin_inferior): Don't override
+	to_shortname, to_longname or to_doc.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* go32-nat.c (go32_target): Don't override to_shortname,
+	to_longname or to_doc.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* inf-child.c (inf_child_open): Remove mention of "child".
+	(inf_child_target): Rename target to "native" instead of "child".
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* Makefile.in (SFILES): Delete "regset.c".
+	(COMMON_OBS): Delete "regset.o".
+	* regset.c: Remove.
+	* regset.h (regset_alloc): Delete prototype.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* sparc-linux-tdep.c (sparc32_linux_gregset)
+	(sparc32_linux_fpregset): New static regset structures.
+	(sparc32_linux_init_abi): Drop dynamic regset allocations.
+	* sparc-tdep.h (struct gdbarch_tdep): Constify 'gregset' and
+	'fpregset' fields.
+	* sparc64-linux-tdep.c: (sparc64_linux_gregset)
+	(sparc64_linux_fpregset): New static regset structures.
+	(sparc64_linux_init_abi): Drop dynamic regset allocations.
+	* sparc64fbsd-tdep.c (sparc64fbsd_gregset, sparc64fbsd_fpregset):
+	New static regset structures.
+	(sparc64fbsd_init_abi): Drop dynamic regset allocations.
+	* sparc64nbsd-tdep.c (sparc64nbsd_gregset, sparc64nbsd_fpregset):
+	New static regset structures.
+	(sparc64nbsd_init_abi): Drop dynamic regset allocations.
+	* sparc64obsd-tdep.c (sparc64obsd_gregset, sparc64obsd_fpregset):
+	New static regset structures.
+	(sparc64obsd_init_abi): Drop dynamic regset allocations.
+	* sparcnbsd-tdep.c (sparc32nbsd_gregset, sparc32nbsd_fpregset):
+	New static regset structures.
+	(sparc32nbsd_init_abi): Drop dynamic regset allocations.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* sparc-linux-nat.c (supply_gregset, supply_fpregset)
+	(fill_gregset, fill_fpregset, _initialize_sparc_linux_nat): Rename
+	register maps ("regmaps") from "*regset" to "*regmap".  Do this
+	for all regmap types and variables.
+	* sparc-linux-tdep.c (sparc32_linux_step_trap)
+	(sparc32_linux_supply_core_gregset)
+	(sparc32_linux_collect_core_gregset)
+	(sparc32_linux_supply_core_fpregset)
+	(sparc32_linux_collect_core_fpregset): Likewise.
+	* sparc-nat.c (sparc_gregset, sparc_fpregset): Rename to...
+	(sparc_gregmap, sparc_fpregmap): ... these.
+	(sparc_supply_gregset, sparc_collect_gregset)
+	(sparc_supply_fpregset, sparc_collect_fpregset): Likewise.
+	(sparc_fetch_inferior_registers, sparc_store_inferior_registers)
+	(_initialize_sparc_nat): Rename regmaps.
+	* sparc-nat.h (sparc_gregset, sparc_fpregset): Rename to...
+	(sparc_gregmap, sparc_fpregmap): ... these.
+	(sparc_supply_gregset, sparc_collect_gregset)
+	(sparc_supply_fpregset, sparc_collect_fpregset): Likewise.
+	* sparc-sol2-nat.c (sparc_sol2_gregset, sparc_sol2_fpregset):
+	Rename macros to...
+	(sparc_sol2_gregmap, sparc_sol2_fpregmap): ... these.
+	(supply_gregset, supply_fpregset, fill_gregset, fill_fpregset):
+	Likewise.
+	* sparc-sol2-tdep.c (sparc32_sol2_gregset, sparc32_sol2_fpregset):
+	Rename to...
+	(sparc32_sol2_gregmap, sparc32_sol2_fpregmap): ... these.
+	* sparc-tdep.c (sparc32_supply_gregset, sparc32_collect_gregset)
+	(sparc32_supply_fpregset, sparc32_collect_fpregset): Rename
+	regmaps.
+	(sparc32_sunos4_gregset, sparc32_sunos4_fpregset)
+	(sparc32_bsd_fpregset): Rename to...
+	(sparc32_sunos4_gregmap, sparc32_sunos4_fpregmap)
+	(sparc32_bsd_fpregmap): ... these.
+	* sparc-tdep.h (struct sparc_gregset, struct sparc_fpregset)
+	(sparc32_sunos4_gregset, sparc32_sunos4_fpregset)
+	(sparc32_bsd_fpregset, sparc32_sol2_gregset)
+	(sparc32_sol2_fpregset, sparc32nbsd_gregset): Rename to...
+	(struct sparc_gregmap, struct sparc_fpregmap)
+	(sparc32_sunos4_gregmap, sparc32_sunos4_fpregmap)
+	(sparc32_bsd_fpregmap, sparc32_sol2_gregmap)
+	(sparc32_sol2_fpregmap, sparc32nbsd_gregmap): ... these.
+	(sparc32_supply_regset, sparc32_collect_gregset)
+	(sparc32_supply_fpregset, sparc32_collect_fpregset): Adjust
+	prototypes.
+	* sparc64-linux-nat.c (sparc64_linux_ptrace_gregset): Rename to...
+	(sparc64_linux_ptrace_gregmap): ... this.
+	(supply_gregset, supply_fpregset, fill_gregset, fill_fpregset)
+	(_initialize_sparc64_linux_nat): Rename regmaps.
+	* sparc64-linux-tdep.c (sparc64_linux_core_gregset): Rename to...
+	(sparc64_linux_core_gregmap): ... this.
+	(sparc64_linux_supply_core_gregset)
+	(sparc64_linux_collect_core_gregset)
+	(sparc64_linux_supply_core_fpregset)
+	(sparc64_linux_collect_core_fpregset): Rename regmaps.
+	* sparc64-sol2-tdep.c (sparc64_sol2_gregset)
+	(sparc64_sol2_fpregset): Rename to...
+	(sparc64_sol2_gregmap, sparc64_sol2_fpregmap): ... these.
+	* sparc64-tdep.c (sparc64_supply_gregset, sparc64_collect_gregset)
+	(sparc64_supply_fpregset, sparc64_collect_fpregset): Rename
+	regmaps.
+	* sparc64-tdep.h (struct sparc_gregset, sparc64_sol2_gregset)
+	(sparc64_sol2_fpregset, sparc64fbsd_gregset, sparc64nbsd_gregset)
+	(sparc64_bsd_fpregset): Rename to...
+	(struct sparc_gregmap, sparc64_sol2_gregmap)
+	(sparc64_sol2_fpregmap, sparc64fbsd_gregmap, sparc64nbsd_gregmap)
+	(sparc64_bsd_fpregmap): ... these.
+	(sparc64_supply_gregset, sparc64_collect_gregset)
+	(sparc64_supply_fpregset, sparc64_collect_fpregset): Adjust
+	prototypes.
+	* sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Rename regmaps.
+	* sparc64fbsd-tdep.c (sparc64fbsd_gregset): Rename to...
+	(sparc64fbsd_gregmap): ... this.
+	(sparc64fbsd_supply_gregset, sparc64fbsd_collect_gregset)
+	(sparc64fbsd_supply_fpregset, sparc64fbsd_collect_fpregset):
+	Rename regmaps.
+	* sparc64nbsd-nat.c (sparc64nbsd_supply_gregset)
+	(sparc64nbsd_collect_gregset, sparc64nbsd_supply_fpregset)
+	(sparc64nbsd_collect_fpregset): Likewise.
+	* sparc64nbsd-tdep.c (sparc64nbsd_gregset): Rename to...
+	(sparc64nbsd_gregmap): ... this.
+	(sparc64nbsd_supply_gregset, sparc64nbsd_supply_fpregset): Rename
+	regmaps.
+	* sparc64obsd-nat.c (_initialize_sparc64obsd_nat): Likewise.
+	* sparc64obsd-tdep.c (sparc64obsd_gregset): Rename to...
+	(sparc64obsd_gregmap): ... this.
+	(sparc64obsd_supply_gregset, sparc64obsd_supply_fpregset): Rename
+	regmaps.
+	* sparcnbsd-nat.c (_initialize_sparcnbsd_nat): Likewise.
+	* sparcnbsd-tdep.c (sparc32nbsd_gregset): Rename to...
+	(sparc32nbsd_gregmap): ... this.
+	(sparc32nbsd_supply_gregset, sparc32nbsd_supply_fpregset): Rename
+	regmaps.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* score-tdep.c (score7_linux_gregset): New static regset
+	structure.
+	(score7_linux_regset_from_core_section): Remove dynamic regset
+	allocation.
+	(score_gdbarch_init): Drop allocation of tdep structure.
+	* score-tdep.h (struct gdbarch_tdep): Remove declaration.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* mn10300-linux-tdep.c (am33_gregset, am33_fpregset): New static
+	regset structures.
+	(am33_regset_from_core_section): Remove dynamic regset
+	allocations.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* mips-linux-tdep.c (mips_linux_gregset, mips64_linux_gregset)
+	(mips_linux_fpregset, mips64_linux_fpregset): New static regset
+	structures.
+	(mips_linux_regset_from_core_section): Remove dynamic regset
+	allocations.
+	* mips-tdep.h (struct gdbarch_tdep): Remove fields 'gregset',
+	'gregset64', 'fpregset', and 'fpregset64'.
+	* mips-tdep.c (mips_gdbarch_init): Remove initialization of
+	deleted tdep fields.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* amd64-tdep.c (amd64_fpregset, amd64_xstateregset): New static
+	regset structures.
+	(amd64_regset_from_core_section): Remove dynamic regset
+	allocations.
+	* amd64obsd-tdep.c (amd64obsd_combined_regset): New static regset
+	structure.
+	(amd64obsd_regset_from_core_section): Remove dynamic regset
+	allocation.
+	* i386-cygwin-tdep.c (i386_windows_regset_from_core_section):
+	Likewise.
+	* i386-nto-tdep.c (i386nto_supply_gregset): Adjust call to
+	x86-common regset supply function.
+	* i386-tdep.c (i386_collect_gregset): Make static.
+	(i386_gregset): New global regset structure.
+	(i386_fpregset, i386_xstateregset): New static regset structures.
+	(i386_regset_from_core_section): Remove dynamic regset
+	allocations.
+	(i386_gdbarch_init): Remove initialization of tdep fields
+	'gregset', 'fpregset', and 'xstateregset'.
+	* i386-tdep.h (struct gdbarch_tdep): Remove fields 'gregset',
+	'fpregset', and 'xstateregset'.
+	(i386_collect_gregset): Remove prototype.
+	(i386_gregset): New declaration.
+	* i386obsd-tdep.c (i386obsd_aout_gregset): New static regset
+	structure.
+	(i386obsd_aout_regset_from_core_section): Remove dynamic regset
+	allocation.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* arm-linux-tdep.c (arm_linux_gregset, arm_linux_fpregset)
+	(arm_linux_vfpregset): New static regset structures.
+	(arm_linux_regset_from_core_section): Remove dynamic allocation of
+	regset structures.
+	* arm-tdep.h (struct gdbarch_tdep): Remove 'gregset', 'fpregset',
+	and 'vfpregset' fields.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* aarch64-linux-tdep.c (aarch64_linux_gregset)
+	(aarch64_linux_fpregset): New static regset structures.
+	(aarch64_linux_regset_from_core_section): Drop dynamic allocation
+	of regset structures.
+	* aarch64-tdep.h (struct gdbarch_tdep): Remove 'gregset' and
+	'fpregset' fields.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* regset.h (struct regset): Remove gdbarch field.
+	* regset.c (regset_alloc): Drop initialization of gdbarch field.
+	* nios2-linux-tdep.c (nios2_core_regset): Likewise.
+	* ppcfbsd-tdep.c (ppc32_fbsd_gregset, ppc64_fbsd_gregset):
+	Likewise.
+	* ppc-linux-tdep.c (ppc32_linux_gregset, ppc64_linux_gregset)
+	(ppc32_linux_fpregset, ppc32_linux_vrregset)
+	(ppc32_linux_vsxregset): Likewise.
+	* i386obsd-tdep.c (i386obsd_aout_supply_regset): Get the gdbarch
+	via the regcache instead of the regset.
+	* i386-tdep.c (i386_supply_gregset, i386_collect_gregset)
+	(i386_supply_fpregset, i386_collect_fpregset): Likewise.
+	* amd64obsd-tdep.c (amd64obsd_supply_regset): Likewise.
+	* amd64-tdep.c (amd64_supply_fpregset, amd64_collect_fpregset):
+	Likewise.
+
+2014-05-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* alpha-linux-tdep.c (alpha_linux_gregset, alpha_linux_fpregset):
+	Constify structures.
+	* alphanbsd-tdep.c (alphanbsd_gregset, alphanbsd_fpregset)
+	(alphanbsd_aout_gregset): Likewise.
+	* armbsd-tdep.c (armbsd_gregset, armbsd_fpregset): Likewise.
+	* frv-linux-tdep.c (frv_linux_gregset, frv_linux_fpregset):
+	Likewise.
+	* hppa-hpux-tdep.c (hppa_hpux_regset): Likewise.
+	* hppa-linux-tdep.c (hppa_linux_regset, hppa_linux_fpregset):
+	Likewise.
+	* hppanbsd-tdep.c (hppanbsd_gregset): Likewise.
+	* hppaobsd-tdep.c (hppaobsd_gregset, hppaobsd_fpregset): Likewise.
+	* m32r-linux-tdep.c (m32r_linux_gregset): Likewise.
+	* m68kbsd-tdep.c (m68kbsd_gregset, m68kbsd_fpregset): Likewise.
+	* m88k-tdep.c (m88k_gregset): Likewise.
+	* mips64obsd-tdep.c (mips64obsd_gregset): Likewise.
+	* mipsnbsd-tdep.c (mipsnbsd_gregset, mipsnbsd_fpregset): Likewise.
+	* nios2-linux-tdep.c (nios2_core_regset): Likewise.
+	* ppcfbsd-tdep.c (ppc32_fbsd_fpregset): Likewise.
+	* ppcnbsd-tdep.c (ppcnbsd_gregset, ppcnbsd_fpregset): Likewise.
+	* ppcnbsd-tdep.h (ppcnbsd_gregset, ppcnbsd_fpregset): Likewise.
+	* ppcobsd-tdep.c (ppcobsd_gregset, ppcobsd_fpregset): Likewise.
+	* ppcobsd-tdep.h (ppcobsd_gregset, ppcobsd_fpregset): Likewise.
+	* rs6000-aix-tdep.c (rs6000_aix32_regset, rs6000_aix64_regset):
+	Likewise.
+	* sh-tdep.c (sh_corefile_gregset, sh_corefile_fpregset): Likewise.
+	* sh-tdep.h (sh_corefile_gregset): Likewise.
+	* tilegx-linux-tdep.c (tilegx_linux_regset): Likewise.
+	* vax-tdep.c (vax_gregset): Likewise.
+
+2014-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix TLS access for -static -pthread.
+	* linux-thread-db.c (struct thread_db_info): Add td_thr_tlsbase_p.
+	(try_thread_db_load_1): Initialize it.
+	(thread_db_get_thread_local_address): Call it if LM is zero.
+	* target.c (target_translate_tls_address): Remove LM_ADDR zero check.
+	* target.h (struct target_ops) (to_get_thread_local_address): Add
+	load_module_addr comment.
+
+2014-05-21  Pedro Alves  <palves@redhat.com>
+
+	* dcache.c (dcache_read_memory_partial): If reading the cache line
+	fails, fallback to reading just the memory the caller wanted.
+
+2014-05-20  Doug Evans  <dje@google.com>
+
+	* python/py-progspace.c (py_free_pspace): Call target_gdbarch
+	instead of get_current_arch.
+
+2014-05-20  Pedro Alves  <palves@redhat.com>
+
+	* NEWS: Mention that compare-sections now works with all targets.
+
+	* remote.c (PACKET_qCRC): New enum value.
+	(remote_verify_memory): Don't send qCRC if the target has no
+	execution.  Use packet_support/packet_ok.  If the target doesn't
+	support the qCRC packet, fallback to a deep memory copy.
+	(compare_sections_command): Say "target image" instead of "remote
+	executable".
+	(_initialize_remote): Add PACKET_qCRC to the list of config
+	packets that have no associated command.  Extend comment.
+	* target.c (simple_verify_memory, default_verify_memory): New
+	function.
+	* target.h (struct target_ops) <to_verify_memory>: Default to
+	default_verify_memory.
+	(simple_verify_memory): New declaration.
+	* target-delegates.c: Regenerate.
+
+2014-05-20  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_step_thread): Check for empty history.
+
+2014-05-20  Hui Zhu  <hui@codesourcery.com>
+	    Yao Qi  <yao@codesourcery.com>
+
+	PR backtrace/16558
+	* aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Update comments
+	and change address of sp and pc.
+
+2014-05-19  Tom Tromey  <tromey@redhat.com>
+
+	* gdbtypes.c (rank_function): Use XNEWVEC.
+	* mi/mi-cmds.c (build_table): Use XCNEWVEC.
+
+2014-05-19  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (build_type_psymtabs_1): Renamed from
+	build_type_unit_groups and moved closer to only caller.  Remove
+	arguments.  All references updated.  Remove outdated .gdb_index
+	comment.
+	(struct tu_abbrev_offset, sort_tu_by_abbrev_offset): Move with
+	build_type_psymtabs_1.
+
+2014-05-19  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (struct dwarf2_per_objfile): Delete unused members
+	n_type_unit_groups, all_type_unit_groups.  All uses removed.
+	(get_type_unit_group, build_type_unit_groups): Delete forward decls.
+	(dw2_get_cutu): Renamed from dw2_get_cu.  All callers updated.
+	(dw2_get_cu): Renamed from dw2_get_primary_cu.  All callers updated.
+	(add_type_unit_group_to_table): Delete.
+
+2014-05-19  Doug Evans  <dje@google.com>
+
+	* eval.c (evaluate_subexp_standard): Add some comments.
+
+2014-05-17  Doug Evans  <xdje42@gmail.com>
+
+	* progspace.c (remove_program_space): Delete, unused.
+	* progspace.h (remove_program_space): Ditto.
+
+2014-05-17  Doug Evans  <xdje42@gmail.com>
+
+	* inferior.c (prune_inferiors): Fix comment.
+	(remove_inferior_command): Call prune_program_spaces.
+
+2014-05-16  Doug Evans  <dje@google.com>
+
+	New command line option -D.
+	* NEWS: Mention it.
+	* main.c (set_gdb_data_directory): New function.
+	(captured_main): Recognize -D.  Flag error for --data-directory "".
+	Call set_gdb_data_directory.
+	(print_gdb_help): Print --data-directory, -D.
+	* main.h (set_gdb_data_directory): Declare.
+	* top.c (staged_gdb_datadir): New static global.
+	(set_gdb_datadir): Call set_gdb_data_directory
+	(show_gdb_datadir): New function.
+	(init_main): Update init of data-directory parameter.
+
+2014-05-16  Gregory Fong  <gregory.0xf0@gmail.com>
+
+	Import the "dirfd" gnulib module.
+	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add dirfd.
+	* gnulib/aclocal.m4: Update.
+	* gnulib/config.in: Update.
+	* gnulib/configure: Update.
+	* gnulib/import/Makefile.am: Update.
+	* gnulib/import/Makefile.in: Update.
+	* gnulib/import/dirfd.c: New.
+	* gnulib/import/m4/dirfd.m4: New.
+	* gnulib/import/m4/gnulib-cache.m4: Update.
+	* gnulib/import/m4/gnulib-comp.m4: Update.
+
+2014-05-16  Pierre Muller  <muller@sourceware.org>
+	    Yao Qi  <yao@codesourcery.com>
+
+	* valprint.c (print_wchar): Move the code on checking whether
+	W is a printable wide char to the default branch of switch
+	statement below.  Call wchar_printable instead of gdb_iswprint.
+
+2014-05-16  Taimoor Mirza  <tmirza@codesourcery.com>
+
+	* arm-tdep.c (thumb_analyze_prologue): Fix offset calculation for
+	ldr.w and ldrd instructions.
+
+2014-05-15  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (read_structure_type): Delete outdated comments.
+
+2014-05-14  Tom Tromey  <tromey@redhat.com>
+
+	* macrocmd.c (print_macro_definition): Reindent.
+
+2014-05-13  Doug Evans  <xdje42@gmail.com>
+
+	* python/py-cmd.c (cmdpy_completer): Add comment.
+	(completers): Make const.
+
+2014-05-13  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* infrun.c (resume): Remove should_resume (unused).  Move up
+	declaration of resume_ptid.
+
+2014-05-13  Tom Tromey  <tromey@redhat.com>
+
+	* language.h (unop_type_check): Remove.
+	(binop_type_check): Don't declare.
+
+2014-05-13  Andreas Arnez  <arnez@vnet.linux.ibm.com>
+
+	* s390-linux-nat.c (fill_gregset): Remove erroneous offset 4 in
+	call to regcache_raw_collect.
+
+2014-05-12  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* mi/mi-console.c (mi_console_raw_packet): Use the value from
+	mi_console->quote as the quoting character.
+
+2014-05-12  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* MAINTAINERS (Write After Approval): Add "Simon Marchi".
+
+2014-04-29  Tom Tromey  <tromey@redhat.com>
+
+	* varobj.c (_initialize_varobj): Rename to "set debug varobj" and
+	"show debug varobj".
+
+2014-05-07  Kyle McMartin  <kyle@redhat.com>
+
+	Pushed by Joel Brobecker  <brobecker@adacore.com>.
+	* aarch64-tdep.c (aarch64_software_single_step): New function.
+	(aarch64_gdbarch_init): Handle single stepping of atomic sequences
+	with aarch64_software_single_step.
+
+2014-05-05  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 7.7.1 released.
+
+2014-05-05  Keith Seitz  <keiths@redhat.com>
+
+	* linespec.c (linespec_parse_basic): Run cleanups if a convenience
+	variable or history value is successfully parsed.
+
+2014-05-05  Yao Qi  <yao@codesourcery.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* tracefile-tfile.c (tfile_xfer_partial): Record the lowest
+	address of blocks that intersects the requested range.  Trim
+	LEN up to LOW_ADDR_AVAILABLE if read from executable read-only
+	sections.
+	* ctf.c (ctf_xfer_partial): Likewise.
+
+2014-05-05  Yao Qi  <yao@codesourcery.com>
+
+	* printcmd.c (display_command): Remove the check to
+	target_has_execution.
+
+2014-05-03  Mark Kettenis  <kettenis@gnu.org>
+
+	* ppcobsd-nat.c: Include "obsd-nat.h".
+	(_initialize_ppcobsd_nat): Call obsd_add_target instead of
+	add_target.
+	* config/powerpc/obsd.mh (NATDEPFILES): Add obsd-nat.o.
+
+2014-05-02  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* stap-probe.c (enum stap_arg_bitness): New enums to represent 8
+	and 16-bit signed and unsigned arguments.  Update comment.
+	(stap_parse_probe_arguments): Extend code to handle such
+	arguments.  Use warning instead of complaint to notify about
+	unrecognized bitness.
+
+2014-05-02  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR breakpoints/16889
+	* stap-probe.c (stap_parse_probe_arguments): Simplify
+	check for non-prefixed probes (i.e., probes whose
+	arguments do not start with "N@").  Always set the
+	argument type to a sane value.
+
+2014-05-01  David Taylor  <dtaylor@emc.com>
+
+	* remote.c (compare_sections_command): Add -r option to compare
+	all loadable read-only sections.
+
+2014-04-30  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* dwarf2loc.c (dwarf2_locexpr_baton_eval,
+	dwarf2_evaluate_property): Remove unused CORE_ADDR argument.
+	Update all callers.
+	* dwarf2loc.h (dwarf2_evaluate_property): Update signature.
+	* gdbtypes.c (resolve_dynamic_range, resolve_dynamic_array):
+	Remove unused CORE_ADDR argument.  Update all callers.
+
+2014-04-29  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (struct packet_config) <detect>: Extend comment.
+	(add_packet_config_cmd): Don't set the config's detect or support
+	fields here.
+	(init_all_packet_configs): Also initialize the config's 'detect'
+	field.
+	(reset_all_packet_configs_support): New function.
+	(remote_open_1): Call reset_all_packet_configs_support instead of
+	init_all_packet_configs.
+	(_initialize_remote): Initialize all packet configs.  Assert that
+	all packets have an associated command, except a few known
+	outliers.
+
+2014-04-28  Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2read.c (read_subrange_type): Handle dynamic
+	DW_AT_lower_bound attributes.
+
+2014-04-28  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_discrete_type_high_bound): Resolve the type's
+	dynamic bounds before computing its upper bound.
+	(ada_discrete_type_low_bound): Same as above with the lower bound.
+
+2014-04-28  Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2read.c (is_dynamic_type): Return true for dynamic
+	range types.  Adjust the array handling implementation to
+	take advantage of this change.
+	(resolve_dynamic_range): New function, mostly extracted from
+	resolve_dynamic_bounds.
+	(resolve_dynamic_array): New function, mostly extracted from
+	resolve_dynamic_bounds.
+	(resolve_dynamic_bounds): Delete.
+	(resolve_dynamic_type): Reimplement.  Add handling of
+	TYPE_CODE_RANGE types.
+
+2014-04-28  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-varobj.c (ada_varobj_describe_simple_array_child): Remove
+	handling of parallel ___XA types.
+
+2014-04-28  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_evaluate_subexp) <OP_VAR_VALUE>: Remove
+	unnecessary second call to static_unwrap_type.
+
+2014-04-27  Hui Zhu  <hui@codesourcery.com>
+
+	* stack.c (print_frame_info): Call do_gdb_disassembly with
+	DUMMY_FRAME, SIGTRAMP_FRAME and ARCH_FRAME.
+
+2014-04-26  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-safe-call.c (scscm_eval_scheme_string): Fix comment.
+
+2014-04-25  Pedro Alves  <palves@redhat.com>
+
+	PR server/16255
+	* common/linux-ptrace.c (linux_ptrace_attach_warnings): Rename to ...
+	(linux_ptrace_attach_fail_reason): ... this.  Remove "warning: "
+	and newline from built string.
+	* common/linux-ptrace.h (linux_ptrace_attach_warnings): Rename to ...
+	(linux_ptrace_attach_fail_reason): ... this.
+	* linux-nat.c (linux_nat_attach): Adjust to use
+	linux_ptrace_attach_fail_reason.
+
+2014-04-25  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (struct remote_state): Remove multi_process_aware,
+	non_stop_aware, cond_tracepoints, cond_breakpoints,
+	breakpoint_commands, fast_tracepoints, static_tracepoints,
+	install_in_trace, disconnected_tracing,
+	enable_disable_tracepoints, string_tracing, and
+	augmented_libraries_svr4_read fields.
+	(remote_multi_process_p): Move further below in the file.
+	(struct packet_config): Add comments.
+	(update_packet_config): Delete function.
+	(show_packet_config_cmd): Use packet_config_support.
+	(add_packet_config_cmd): Use NULL as set callback.
+	(packet_ok): "set remote foo-packet"-style commands no longer
+	change config->supported -- adjust.
+	(PACKET_ConditionalTracepoints, PACKET_ConditionalBreakpoints)
+	(PACKET_BreakpointCommands, PACKET_FastTracepoints)
+	(PACKET_StaticTracepoints, PACKET_InstallInTrace): Add comments.
+	(PACKET_QNonStop, PACKET_multiprocess_feature)
+	(PACKET_EnableDisableTracepoints_feature, PACKET_tracenz_feature)
+	(PACKET_DisconnectedTracing_feature)
+	(PACKET_augmented_libraries_svr4_read_feature): New enum values.
+	(set_remote_protocol_packet_cmd): Delete function.
+	(packet_config_support, packet_support): New functions.
+	(set_remote_protocol_Z_packet_cmd): Don't call
+	update_packet_config.
+	(remote_query_attached, remote_pass_signals)
+	(remote_program_signals, remote_threads_info)
+	(remote_threads_extra_info, remote_start_remote): Use
+	packet_support.
+	(remote_start_remote): Use packet_config_support and
+	packet_support.
+	(init_all_packet_configs): Set all packets to unknown support,
+	instead of calling update_packet_config.
+	(remote_check_symbols): Use packet_support.
+	(remote_supported_packet): Unconditionally set the packet config's
+	support status.
+	(remote_multi_process_feature, remote_non_stop_feature)
+	(remote_cond_tracepoint_feature, remote_cond_breakpoint_feature)
+	(remote_breakpoint_commands_feature)
+	(remote_fast_tracepoint_feature, remote_static_tracepoint_feature)
+	(remote_install_in_trace_feature)
+	(remote_disconnected_tracing_feature)
+	(remote_enable_disable_tracepoint_feature)
+	(remote_string_tracing_feature)
+	(remote_augmented_libraries_svr4_read_feature): Delete functions.
+	(remote_protocol_features): Adjust to use remote_supported_packet
+	for "augmented-libraries-svr4-read", "multiprocess", "QNonStop",
+	"ConditionalTracepoints", "ConditionalBreakpoints",
+	"BreakpointCommands", "FastTracepoints", "StaticTracepoints",
+	"InstallInTrace", "DisconnectedTracing", "DisconnectedTracing",
+	"EnableDisableTracepoints", and "tracenz".
+	(remote_query_supported): Use packet_support.
+	(remote_open_1): Adjust.
+	(extended_remote_attach_1): Use packet_support.  Switch on the
+	result of packet_ok instead of checking whether the packet ended
+	up disabled.
+	(remote_vcont_resume): Use packet_support.
+	(remote_resume, remote_stop_ns, fetch_register_using_p)
+	(remote_prepare_to_store, store_register_using_P)
+	(check_binary_download, remote_write_bytes): Use packet_support.
+	(remote_vkill): Use packet_support.  Switch on the result of
+	packet_ok instead of checking whether the packet ended up
+	disabled.
+	(extended_remote_supports_disable_randomization): Use
+	packet_support.
+	(extended_remote_run): Switch on the result of packet_ok instead
+	of checking whether the packet ended up disabled.
+	(remote_insert_breakpoint, remote_remove_breakpoint)
+	(remote_insert_watchpoint, remote_remove_watchpoint)
+	(remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Use
+	packet_support.
+	(remote_search_memory): Use packet_config_support.
+	(remote_get_thread_local_address, remote_get_tib_address)
+	(remote_hostio_send_command, remote_can_execute_reverse): Use
+	packet_support.
+	(remote_supports_cond_tracepoints)
+	(remote_supports_cond_breakpoints)
+	(remote_supports_fast_tracepoints)
+	(remote_supports_static_tracepoints)
+	(remote_supports_install_in_trace)
+	(remote_supports_enable_disable_tracepoint)
+	(remote_supports_string_tracing)
+	(remote_can_run_breakpoint_commands): Rewrite, checking whether
+	the packet config says the feature is enabled or disabled.
+	(remote_download_tracepoint, remote_trace_set_readonly_regions)
+	(remote_get_trace_status): Use packet_support.
+	(remote_set_disconnected_tracing): Adjust to check whether the
+	feature is enabled with packet_support.
+	(remote_set_trace_buffer_size, remote_use_agent)
+	(remote_can_use_agent, remote_supports_btrace): Use
+	packet_support.
+	(remote_enable_btrace, remote_disable_btrace, remote_read_btrace):
+	Use packet_config_support.
+	(remote_augmented_libraries_svr4_read): Rewrite, checking whether
+	the packet config says the feature is enabled or disabled.
+	(set_range_stepping): Use packet_support.
+
+2014-04-25  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-cmds.c (_initialize_cli_cmds): Document "quit" command's
+	argument.
+
+2014-04-24  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* NEWS: Mention support for C99 variable length arrays.
+
+2014-04-24  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (standard_exc): Expand introductory comment.
+
+2014-04-24  Michael Sturm  <michael.sturm@mintel.com>
+	    Walfred Tedeschi  <walfred.tedeschi@intel.com>
+
+	* amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add
+	AVX512 registers.
+	(amd64_linux_read_description): Add code to handle AVX512 xstate
+	mask and return respective tdesc.
+	* amd64-linux-tdep.c: Include features/i386/amd64-avx512-linux.c
+	and features/i386/x32-avx512-linux.c.
+	(amd64_linux_gregset_reg_offset): Add AVX512 registers.
+	(amd64_linux_core_read_description): Add code to handle AVX512
+	xstate mask and return respective tdesc.
+	(_initialize_amd64_linux_tdep): Initialize AVX512 tdesc.
+	* amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Adjust regnum
+	calculation.
+	(AMD64_LINUX_NUM_REGS): Adjust to new number of registers.
+	(tdesc_amd64_avx512_linux): New prototype.
+	(tdesc_x32_avx512_linux): Likewise.
+	* amd64-tdep.c: Include features/i386/amd64-avx512.c and
+	features/i386/x32-avx512.c.
+	(amd64_ymm_avx512_names): New register names for pseudo
+	registers YMM16-31.
+	(amd64_ymmh_avx512_names): New register names for raw registers
+	YMMH16-31.
+	(amd64_k_names): New register names for K registers.
+	(amd64_zmmh_names): New register names for ZMM raw registers.
+	(amd64_zmm_names): New registers names for ZMM pseudo registers.
+	(amd64_xmm_avx512_names): New register names for XMM16-31
+	registers.
+	(amd64_pseudo_register_name): Add code to return AVX512 pseudo
+	registers.
+	(amd64_init_abi): Add code to intitialize AVX512 tdep variables
+	if feature is present.
+	(_initialize_amd64_tdep): Call AVX512 tdesc initializers.
+	* amd64-tdep.h (enum amd64_regnum): Add AVX512 registers.
+	(AMD64_NUM_REGS): Adjust to new number of registers.
+	* i386-linux-nat.c (GETXSTATEREGS_SUPPLIES): Extend range of
+	registers supplied via XSTATE by AVX512 registers.
+	(i386_linux_read_description): Add case for AVX512.
+	* i386-linux-tdep.c: Include i386-avx512-linux.c.
+	(i386_linux_gregset_reg_offset): Add AVX512 registers.
+	(i386_linux_core_read_description): Add case for AVX512.
+	(i386_linux_init_abi): Install supported register note section
+	for AVX512.
+	(_initialize_i386_linux_tdep): Add call to tdesc init function for
+	AVX512.
+	* i386-linux-tdep.h (I386_LINUX_NUM_REGS): Set number of
+	registers to be number of zmm7h + 1.
+	(tdesc_i386_avx512_linux): Add tdesc for AVX512 registers.
+	* i386-tdep.c: Include features/i386/i386-avx512.c.
+	(i386_zmm_names): Add ZMM pseudo register names array.
+	(i386_zmmh_names): Add ZMM raw register names array.
+	(i386_k_names): Add K raw register names array.
+	(num_lower_zmm_regs): Add constant for the number of lower ZMM
+	registers. AVX512 has 16 more ZMM registers than there are YMM
+	registers.
+	(i386_zmmh_regnum_p): Add function to look up register number of
+	ZMM raw registers.
+	(i386_zmm_regnum_p): Likewise for ZMM pseudo registers.
+	(i386_k_regnum_p): Likewise for K raw registers.
+	(i386_ymmh_avx512_regnum_p): Likewise for additional YMM raw
+	registers added by AVX512.
+	(i386_ymm_avx512_regnum_p): Likewise for additional YMM pseudo
+	registers added by AVX512.
+	(i386_xmm_avx512_regnum_p): Likewise for additional XMM registers
+	added by AVX512.
+	(i386_register_name): Add code to hide YMMH16-31 and ZMMH0-31.
+	(i386_pseudo_register_name): Add ZMM pseudo registers.
+	(i386_zmm_type): Construct and return vector registers type for ZMM
+	registers.
+	(i386_pseudo_register_type): Return appropriate type for YMM16-31,
+	ZMM0-31 pseudo registers and K registers.
+	(i386_pseudo_register_read_into_value): Add code to read K, ZMM
+	and YMM16-31 registers from register cache.
+	(i386_pseudo_register_write): Add code to write  K, ZMM and
+	YMM16-31 registers.
+	(i386_register_reggroup_p): Add code to include/exclude AVX512
+	registers in/from respective register groups.
+	(i386_validate_tdesc_p): Handle AVX512 feature, add AVX512
+	registers if feature is present in xcr0.
+	(i386_gdbarch_init): Add code to initialize AVX512 feature
+	variables in tdep structure, wire in pseudo registers and call
+	initialize_tdesc_i386_avx512.
+	* i386-tdep.h (struct gdbarch_tdep): Add AVX512 related
+	variables.
+	(i386_regnum): Add AVX512 registers.
+	(I386_SSE_NUM_REGS): New define for number of SSE registers.
+	(I386_AVX_NUM_REGS): Likewise for AVX registers.
+	(I386_AVX512_NUM_REGS): Likewise for AVX512 registers.
+	(I386_MAX_REGISTER_SIZE): Change to 64 bytes, ZMM registers are
+	512 bits wide.
+	(i386_xmm_avx512_regnum_p): New prototype for register look up.
+	(i386_ymm_avx512_regnum_p): Likewise.
+	(i386_k_regnum_p): Likewise.
+	(i386_zmm_regnum_p): Likewise.
+	(i386_zmmh_regnum_p): Likewise.
+	* i387-tdep.c : Update year in copyright notice.
+	(xsave_ymm_avx512_offset): New table for YMM16-31 offsets in
+	XSAVE buffer.
+	(XSAVE_YMM_AVX512_ADDR): New macro.
+	(xsave_xmm_avx512_offset): New table for XMM16-31 offsets in
+	XSAVE buffer.
+	(XSAVE_XMM_AVX512_ADDR): New macro.
+	(xsave_avx512_k_offset): New table for K register offsets in
+	XSAVE buffer.
+	(XSAVE_AVX512_K_ADDR): New macro.
+	(xsave_avx512_zmm_h_offset): New table for ZMM register offsets
+	in XSAVE buffer.
+	(XSAVE_AVX512_ZMM_H_ADDR): New macro.
+	(i387_supply_xsave): Add code to supply AVX512 registers to XSAVE
+	buffer.
+	(i387_collect_xsave): Add code to collect AVX512 registers from
+	XSAVE buffer.
+	* i387-tdep.h (I387_NUM_XMM_AVX512_REGS): New define for number
+	of XMM16-31 registers.
+	(I387_NUM_K_REGS): New define for number of K registers.
+	(I387_K0_REGNUM): New define for K0 register number.
+	(I387_NUM_ZMMH_REGS): New define for number of ZMMH registers.
+	(I387_ZMM0H_REGNUM): New define for ZMM0H register number.
+	(I387_NUM_YMM_AVX512_REGS): New define for number of YMM16-31
+	registers.
+	(I387_YMM16H_REGNUM): New define for YMM16H register number.
+	(I387_XMM16_REGNUM): New define for XMM16 register number.
+	(I387_YMM0_REGNUM): New define for YMM0 register number.
+	(I387_KEND_REGNUM): New define for last K register number.
+	(I387_ZMMENDH_REGNUM): New define for last ZMMH register number.
+	(I387_YMMH_AVX512_END_REGNUM): New define for YMM31 register
+	number.
+	(I387_XMM_AVX512_END_REGNUM): New define for XMM31 register
+	number.
+	* common/i386-xstate.h: Add AVX 3.1 feature bits, mask and XSTATE
+	size.
+	* features/Makefile: Add AVX512 related files.
+	* features/i386/32bit-avx512.xml: New file.
+	* features/i386/64bit-avx512.xml: Likewise.
+	* features/i386/amd64-avx512-linux.c: Likewise.
+	* features/i386/amd64-avx512-linux.xml: Likewise.
+	* features/i386/amd64-avx512.c: Likewise.
+	* features/i386/amd64-avx512.xml: Likewise.
+	* features/i386/i386-avx512-linux.c: Likewise.
+	* features/i386/i386-avx512-linux.xml: Likewise.
+	* features/i386/i386-avx512.c: Likewise.
+	* features/i386/i386-avx512.xml: Likewise.
+	* features/i386/x32-avx512-linux.c: Likewise.
+	* features/i386/x32-avx512-linux.xml: Likewise.
+	* features/i386/x32-avx512.c: Likewise.
+	* features/i386/x32-avx512.xml: Likewise.
+	* regformats/i386/amd64-avx512-linux.dat: New file.
+	* regformats/i386/amd64-avx512.dat: Likewise.
+	* regformats/i386/i386-avx512-linux.dat: Likewise.
+	* regformats/i386/i386-avx512.dat: Likewise.
+	* regformats/i386/x32-avx512-linux.dat: Likewise.
+	* regformats/i386/x32-avx512.dat: Likewise.
+	* NEWS: Add note about new support for AVX512.
+
+
+2014-04-23  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (insert_bp_location): Tolerate errors if the
+	breakpoint is set in a user-loaded objfile.
+	(remove_breakpoint_1): Likewise.  Also tolerate errors if the
+	location is marked shlib_disabled.  If the breakpoint is set in a
+	user-loaded objfile is a GDB-side memory breakpoint, validate it
+	before uninsertion.  (disable_breakpoints_in_freed_objfile): Skip
+	non-OBJF_USERLOADED objfiles.  Don't clear the location's inserted
+	flag.
+	* mem-break.c (memory_validate_breakpoint): New function.
+	* objfiles.c (userloaded_objfile_contains_address_p): New
+	function.
+	* objfiles.h (userloaded_objfile_contains_address_p): Declare.
+	* target.h (memory_validate_breakpoint): New declaration.
+
+2014-04-23  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (insert_bp_location, remove_breakpoint_1): If
+	the breakpoint is set in a shared library, only suppress
+	errors for software breakpoints, not hardware breakpoints.
+
+2014-04-22  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (schedlock_applies): New function, factored out from
+	find_thread_needs_step_over.
+	(find_thread_needs_step_over): Use it.
+	(switch_back_to_stepped_thread): Always clear trap_expected if the
+	step over is finished.  Return early if scheduler locking applies.
+	Look for the stepping thread and a potential step-over thread with
+	a single loop.
+	(currently_stepping_or_nexting_callback): Delete.
+
+2014-04-22  Nick Clifton  <nickc@redhat.com>
+
+	* NEWS: Mention that ARM sim now supports tracing.
+
+2014-04-22  Yao Qi  <yao@codesourcery.com>
+
+	* tracefile-tfile.c (tfile_fetch_registers): Move the bottom
+	to ...
+	* tracefile.c (tracefile_fetch_registers): ... it.  New
+	function.
+	* tracefile.h (tracefile_fetch_registers): Declare.
+	* ctf.c (ctf_fetch_registers): Remove the bottom.  Call
+	tracefile_fetch_registers.
+
+2014-04-19  Eli Zaretskii  <eliz@gnu.org>
+
+	PR gdb/14018
+	* windows-nat.c (thread_rec): Don't display a warning when
+	SuspendThread fails with ERROR_ACCESS_DENIED.  If SuspendThread
+	fails for any reason, set th->suspended to -1, so that we don't
+	try to resume such a thread.  Also, don't return NULL in these
+	cases, to avoid completely ruin the session due to "PC register is
+	not available" error.
+	(do_windows_fetch_inferior_registers): Check errors in
+	GetThreadContext call.
+	(windows_continue): Accept an additional argument KILLED; if not
+	zero, ignore errors in the SetThreadContext call, since the
+	inferior was killed and is shutting down.
+	(windows_resume, get_windows_debug_event)
+	(windows_create_inferior, windows_mourn_inferior)
+	(windows_kill_inferior): All callers of windows_continue changed
+	to adjust to its new calling sequence.
+
+2014-04-19  Yao Qi  <yao@codesourcery.com>
+
+	* ctf.c (ctf_open): Call post_create_inferior.
+
+2014-04-19  Yao Qi  <yao@codesourcery.com>
+
+	* ctf.c (handle_id): New static variable.
+	(ctf_open_dir): Get handle_id from bt_context_add_trace return
+	value.  Get the declaration of event "register" and get length
+	of field "contents".
+
+2014-04-19  Yao Qi  <yao@codesourcery.com>
+
+	* ctf.c (ctf_xfer_partial): Check 'name' is NULL before strcmp.
+
+2014-04-18  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* valops.c (oload_method_static): Remove unnecessary argument
+	METHOD.  Update all callers.
+
+2014-04-18  Pedro alves  <palves@redhat.com>
+	    Tom Tromey  <tromey@redhat.com>
+
+	PR backtrace/15558
+	* frame.c (get_prev_frame_1): Rename to ...
+	(get_prev_frame_always): ... this, and make extern.  Adjust.
+	(skip_artificial_frames): Use get_prev_frame_always.
+	(frame_unwind_caller_id, frame_pop, get_prev_frame)
+	(get_frame_unwind_stop_reason): Adjust to rename.
+	* frame.h (get_prev_frame_always): Declare.
+	* inline-frame.c: Include frame.h.
+	(inline_frame_this_id): Use get_prev_frame_always.
+
+2014-04-18  Tristan Gingold  <gingold@adacore.com>
+
+	* solib-darwin.c (darwin_solib_create_inferior_hook): Simplify
+	code by using bfd_mach_o_get_base_address.
+
+2014-04-17  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* spu-tdep.c: Include "dwarf2-frame.h" and "ax.h".
+	(spu_ax_pseudo_register_collect): New function.
+	(spu_ax_pseudo_register_push_stack): Likewise.
+	(spu_dwarf_reg_to_regnum): Likewise.
+	(spu_gdbarch_init): Install them.  Append DWARF unwinders.
+
+2014-04-17  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* gdbarch.sh (value_from_register): Make class "m" instead of "f".
+	Replace FRAME argument with FRAME_ID.
+	* gdbarch.c, gdbarch.h: Regenerate.
+	* findvar.c (default_value_from_register): Add GDBARCH argument;
+	replace FRAME by FRAME_ID.  No longer call get_frame_id.
+	(value_from_register): Update call to gdbarch_value_from_register.
+	* value.h (default_value_from_register): Update prototype.
+	* s390-linux-tdep.c (s390_value_from_register): Update interface
+	and call to default_value_from_register.
+	* spu-tdep.c (spu_value_from_register): Likewise.
+
+	* findvar.c (address_from_register): Remove TYPE argument.
+	Do not call value_from_register; use gdbarch_value_from_register
+	with null_frame_id instead.
+	* value.h (address_from_register): Update prototype.
+	* dwarf2-frame.c (read_addr_from_reg): Use address_from_register.
+	* dwarf2loc.c (dwarf_expr_read_addr_from_reg): Update for
+	address_from_register interface change.
+
+2014-04-17  Yao Qi  <yao@codesourcery.com>
+
+	* gdbtypes.h: Update comments to link to types and macros'
+	definitions.
+
+2014-04-16  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* gdbtypes.h: Remove definition of the macro TYPE_FN_FIELDS.
+
+2014-04-16  Keith Seitz  <keiths@redhat.com>
+
+	PR gdb/15827
+	* dwarf2read.c (skip_one_die): Check that all relative-offset
+	sibling DIEs fall within range of the current reader's buffer.
+	(read_partial_die): Likewise.
+
+2014-04-16  Keith Seitz  <keiths@redhat.com>
+
+	PR c++/16597
+	* cp-namespace.c (lookup_symbol_file): If the type name of
+	`this' is NULL, return immediately.
+
+2014-04-14  Keith Seitz  <keiths@redhat.com>
+
+	PR c++/16253
+	* ada-lang.c (ada_symbol_matches_domain): Moved here and renamed
+	from symbol_matches_domain in symtab.c. All local callers
+	of symbol_matches_domain updated.
+	(standard_lookup): If DOMAIN is VAR_DOMAIN and no symbol is found,
+	search STRUCT_DOMAIN.
+	(ada_find_any_type_symbol): Do not search STRUCT_DOMAIN
+	independently.  standard_lookup will do that automatically.
+	* cp-namespace.c (cp_lookup_symbol_nonlocal): Explain when/why
+	VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
+	(cp_lookup_symbol_in_namespace): Likewise.
+	If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN.
+	(cp_lookup_symbol_exports): Explain when/why VAR_DOMAIN searches
+	may return a STRUCT_DOMAIN match.
+	(lookup_symbol_file): Search for the class name in STRUCT_DOMAIN.
+	* cp-support.c: Include language.h.
+	(inspect_type): Explicitly search STRUCT_DOMAIN before searching
+	VAR_DOMAIN.
+	* psymtab.c (match_partial_symbol): Compare the requested
+	domain with the symbol's domain directly.
+	(lookup_partial_symbol): Likewise.
+	* symtab.c (lookup_symbol_in_language): Explain when/why
+	VAR_DOMAIN searches may return a STRUCT_DOMAIN match.
+	If no VAR_DOMAIN symbol is found, search STRUCT_DOMAIN for
+	appropriate languages.
+	(symbol_matches_domain): Renamed `ada_symbol_matches_domain'
+	and moved to ada-lang.c
+	(lookup_block_symbol): Explain that this function only returns
+	symbol matching the requested DOMAIN.
+	Compare the requested domain with the symbol's domain directly.
+	(iterate_over_symbols): Compare the requested domain with the
+	symbol's domain directly.
+	* symtab.h (symbol_matches_domain): Remove.
+
+2014-04-14  Tom Tromey  <tromey@redhat.com>
+
+	PR c++/15246:
+	* c-exp.y (type_aggregate_p): New function.
+	(qualified_name, classify_inner_name): Use it.
+	* c-typeprint.c (c_type_print_base): Handle TYPE_DECLARED_CLASS
+	and TYPE_TARGET_TYPE of an enum type.
+	* dwarf2read.c (read_enumeration_type): Set TYPE_DECLARED_CLASS on
+	an enum type.
+	(determine_prefix) <case DW_TAG_enumeration_type>: New case;
+	handle TYPE_DECLARED_CLASS.
+	* gdbtypes.c (rank_one_type): Handle TYPE_DECLARED_CLASS on enum
+	types.
+	* gdbtypes.h (TYPE_DECLARED_CLASS): Update comment.
+	* valops.c (enum_constant_from_type): New function.
+	(value_aggregate_elt): Use it.
+	* cp-namespace.c (cp_lookup_nested_symbol): Handle
+	TYPE_CODE_ENUM.
+
+2014-04-14  Tom Tromey  <tromey@redhat.com>
+
+	* valops.c (value_aggregate_elt, value_struct_elt_for_reference)
+	(value_namespace_elt, value_maybe_namespace_elt): Make "name"
+	const.
+	* value.h (value_aggregate_elt): Update.
+
+2014-04-14  Tom Tromey  <tromey@redhat.com>
+
+	* dwarf2read.c (read_enumeration_type): Handle DW_AT_type.
+
+2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* eval.c (evaluate_subexp_for_sizeof): Add enum noside argument.
+	(evaluate_subexp_standard): Pass noside argument.
+	(evaluate_subexp_for_sizeof) <BINOP_SUBSCRIPT>: Handle subscript case
+	if noside equals EVAL_NORMAL. If the subscript yields a vla type
+	re-evaluate subscript operation with EVAL_NORMAL to enable sideffects.
+	* gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated.
+	* gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case.
+
+2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* findvar.c (default_read_var_value): Resolve dynamic bounds if location
+	points to a constant blob.
+
+2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic
+	property and store it as the high bound and flag the range accordingly.
+	* gdbtypes.c (resolve_dynamic_bounds): If range is flagged as
+	RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound.
+	* gdbtypes.h (enum range_flags): New enum.
+	(struct range_bounds): Add flags member.
+
+2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* c-typeprint.c (c_type_print_varspec_suffix): Added
+	check for not yet resolved high bound. If unresolved, print
+	"variable length" string to the console instead of random
+	length.
+
+2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from
+	value.
+	(ada_template_to_fixed_record_type_1): Likewise.
+	(ada_to_fixed_type_1): Likewise.
+	* cp-valprint.c (cp_print_value_fields_rtti): Likewise.
+	(cp_print_value): Likewise.
+	* d-valprint.c (dynamic_array_type): Likewise.
+	* findvar.c (address_of_variable): Likewise.
+	* jv-valprint.c (java_value_print): Likewise.
+	* valops.c (value_ind): Likewise.
+	* value.c (coerce_ref): Likewise.
+
+2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* eval.c (evaluate_subexp_for_sizeof) <UNOP_IND>: Create an indirect
+	value and retrieve the dynamic type size.
+
+2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
+	passed to sizeof is dynamic evaluate the argument to compute the length.
+
+2014-04-14  Sanimir Agovic  <sanimir.agovic@intel.com>
+	    Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
+	(dwarf2_evaluate_property): New function.
+	* dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
+	* dwarf2read.c (attr_to_dynamic_prop): New function.
+	(read_subrange_type): Use attr_to_dynamic_prop to read high bound
+	attribute.
+	* gdbtypes.c: Include dwarf2loc.h.
+	(is_dynamic_type): New function.
+	(resolve_dynamic_type): New function.
+	(resolve_dynamic_bounds): New function.
+	(get_type_length): New function.
+	(check_typedef): Use get_type_length to compute type length.
+	* gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
+	(TYPE_LOW_BOUND_KIND): New macro.
+	(is_dynamic_type): New function prototype.
+	* value.c (value_from_contents_and_address): Call resolve_dynamic_type
+	to resolve dynamic properties of the type. Update comment.
+	* valops.c (get_value_at, value_at, value_at_lazy): Update comment.
+
+2014-04-14  Richard Henderson  <rth@redhat.com>
+
+	* alpha-linux-nat.c (_initialize_alpha_linux_nat): Fix prototype.
+
+2014-04-12  Siva Chandra Reddy  <sivachandra@google.com>
+	    Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-value.c (gdbscm_value_dynamic_type): Use coerce_ref to
+	dereference TYPE_CODE_REF values.
+
+2014-04-11  Joel Brobecker  <brobecker@adacore.com>
+
+	Revert the following changes due to regressions:
+
+	* dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
+	(dwarf2_evaluate_property): New function.
+	* dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
+	* dwarf2read.c (attr_to_dynamic_prop): New function.
+	(read_subrange_type): Use attr_to_dynamic_prop to read high bound
+	attribute.
+	* gdbtypes.c: Include dwarf2loc.h.
+	(is_dynamic_type): New function.
+	(resolve_dynamic_type): New function.
+	(resolve_dynamic_bounds): New function.
+	(get_type_length): New function.
+	(check_typedef): Use get_type_length to compute type length.
+	* gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
+	(TYPE_LOW_BOUND_KIND): New macro.
+	(is_dynamic_type): New function prototype.
+	* value.c (value_from_contents_and_address): Call resolve_dynamic_type
+	to resolve dynamic properties of the type. Update comment.
+	* valops.c (get_value_at, value_at, value_at_lazy): Update comment.
+
+	* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
+	passed to sizeof is dynamic evaluate the argument to compute the length.
+
+	* eval.c (evaluate_subexp_for_sizeof) <UNOP_IND>: Create an indirect
+	value and retrieve the dynamic type size.
+
+	* ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value.
+	(ada_template_to_fixed_record_type_1): Likewise.
+	(ada_to_fixed_type_1): Likewise.
+	* cp-valprint.c (cp_print_value_fields_rtti): Likewise.
+	(cp_print_value): Likewise.
+	* d-valprint.c (dynamic_array_type): Likewise.
+	* eval.c (evaluate_subexp_with_coercion): Likewise.
+	* findvar.c (address_of_variable): Likewise.
+	* jv-valprint.c (java_value_print): Likewise.
+	* valops.c (value_ind): Likewise.
+	* value.c (coerce_ref): Likewise.
+
+	* c-typeprint.c (c_type_print_varspec_suffix): Added
+	check for not yet resolved high bound. If unresolved, print
+	"variable length" string to the console instead of random
+	length.
+
+	* dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic
+	property and store it as the high bound and flag the range accordingly.
+	* gdbtypes.c (resolve_dynamic_bounds): If range is flagged as
+	RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound.
+	* gdbtypes.h (enum range_flags): New enum.
+	(struct range_bounds): Add flags member.
+
+	* findvar.c (default_read_var_value): Resolve dynamic bounds if location
+	points to a constant blob.
+
+	* eval.c (evaluate_subexp_for_sizeof): Add enum noside argument.
+	(evaluate_subexp_standard): Pass noside argument.
+	(evaluate_subexp_for_sizeof) <BINOP_SUBSCRIPT>: Handle subscript case
+	if noside equals EVAL_NORMAL. If the subscript yields a vla type
+	re-evaluate subscript operation with EVAL_NORMAL to enable sideffects.
+	* gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated.
+	* gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case.
+
+2014-04-11  Keith Seitz  <keiths@redhat.com>
+
+	PR c++/16675
+	* c-exp.y (exp : SIZEOF '(' type ')'): Handle reference types.
+	* eval.c (evaluate_subexp_for_sizeof): Refactor and handle
+	reference types.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* eval.c (evaluate_subexp_for_sizeof): Add enum noside argument.
+	(evaluate_subexp_standard): Pass noside argument.
+	(evaluate_subexp_for_sizeof) <BINOP_SUBSCRIPT>: Handle subscript case
+	if noside equals EVAL_NORMAL. If the subscript yields a vla type
+	re-evaluate subscript operation with EVAL_NORMAL to enable sideffects.
+	* gdbtypes.c (resolve_dynamic_bounds): Mark bound as evaluated.
+	* gdbtypes.h (enum range_flags): Add RANGE_EVALUATED case.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* findvar.c (default_read_var_value): Resolve dynamic bounds if location
+	points to a constant blob.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* dwarf2read.c (read_subrange_type): Convert DW_AT_count to a dynamic
+	property and store it as the high bound and flag the range accordingly.
+	* gdbtypes.c (resolve_dynamic_bounds): If range is flagged as
+	RANGE_UPPER_BOUND_IS_COUNT assign low + high - 1 as the new high bound.
+	* gdbtypes.h (enum range_flags): New enum.
+	(struct range_bounds): Add flags member.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* c-typeprint.c (c_type_print_varspec_suffix): Added
+	check for not yet resolved high bound. If unresolved, print
+	"variable length" string to the console instead of random
+	length.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* ada-lang.c (ada_value_primitive_packed_val): Re-fetch type from value.
+	(ada_template_to_fixed_record_type_1): Likewise.
+	(ada_to_fixed_type_1): Likewise.
+	* cp-valprint.c (cp_print_value_fields_rtti): Likewise.
+	(cp_print_value): Likewise.
+	* d-valprint.c (dynamic_array_type): Likewise.
+	* eval.c (evaluate_subexp_with_coercion): Likewise.
+	* findvar.c (address_of_variable): Likewise.
+	* jv-valprint.c (java_value_print): Likewise.
+	* valops.c (value_ind): Likewise.
+	* value.c (coerce_ref): Likewise.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* eval.c (evaluate_subexp_for_sizeof) <UNOP_IND>: Create an indirect
+	value and retrieve the dynamic type size.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* eval.c (evaluate_subexp_for_sizeof) <OP_VAR_VALUE>: If the type
+	passed to sizeof is dynamic evaluate the argument to compute the length.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
+	(dwarf2_evaluate_property): New function.
+	* dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
+	* dwarf2read.c (attr_to_dynamic_prop): New function.
+	(read_subrange_type): Use attr_to_dynamic_prop to read high bound
+	attribute.
+	* gdbtypes.c: Include dwarf2loc.h.
+	(is_dynamic_type): New function.
+	(resolve_dynamic_type): New function.
+	(resolve_dynamic_bounds): New function.
+	(get_type_length): New function.
+	(check_typedef): Use get_type_length to compute type length.
+	* gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
+	(TYPE_LOW_BOUND_KIND): New macro.
+	(is_dynamic_type): New function prototype.
+	* value.c (value_from_contents_and_address): Call resolve_dynamic_type
+	to resolve dynamic properties of the type. Update comment.
+	* valops.c (get_value_at, value_at, value_at_lazy): Update comment.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* dwarf2read.c (read_subrange_type): Use struct bound_prop for
+	declaring high/low bounds and change uses accordingly. Call
+	create_range_type instead of create_static_range_type.
+	* gdbtypes.c (create_range_type): New function.
+	(create_range_type): Convert bounds into struct bound_prop and pass
+	them to create_range_type.
+	* gdbtypes.h (struct bound_prop): New struct.
+	(create_range_type): New function prototype.
+	(struct range_bounds): Use struct bound_prop instead of LONGEST for
+	high/low bounds. Remove low_undefined/high_undefined and adapt all uses.
+	(TYPE_LOW_BOUND,TYPE_HIGH_BOUND): Adapt macros to refer to the static
+	part of the bound.
+	* parse.c (follow_types): Set high bound kind to BOUND_UNDEFINED.
+
+2014-04-11  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* gdbtypes.c (create_static_range_type): Renamed from create_range_type.
+	* gdbtypes.h (create_static_range_type): Renamed from create_range_type.
+	* ada-lang.c: All uses of create_range_type updated.
+	* coffread.c: All uses of create_range_type updated.
+	* dwarf2read.c: All uses of create_range_type updated.
+	* f-exp.y: All uses of create_range_type updated.
+	* m2-valprint.c: All uses of create_range_type updated.
+	* mdebugread.c: All uses of create_range_type updated.
+	* stabsread.c: All uses of create_range_type updated.
+	* valops.c: All uses of create_range_type updated.
+	* valprint.c: All uses of create_range_type updated.
+
+2014-04-10  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (single_step_breakpoints)
+	(single_step_gdbarch): Move up in the file.
+	(one_breakpoint_xfer_memory): New function, factored out from ...
+	(breakpoint_xfer_memory): ... here.  Also process single-step
+	breakpoints.
+
+2014-04-09  Tristan Gingold  <gingold@adacore.com>
+
+	* darwin-nat.c (darwin_check_new_threads): Fix port leak, add
+	comments.
+	(darwin_decode_exception_message): Free port only after use.
+
+2014-04-08  Pierre Langlois  <pierre.langlois@embecosm.com>
+
+	* avr-tdep.c (struct gdbarch_tdep): Mention avrxmega in the comment.
+	(avr_gdbarch_init): Add xmega architectures given by bfd_architecture
+	when setting the size of call_length.
+
+2014-04-07  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* python/py-value.c (valpy_get_dynamic_type): Use coerce_ref to
+	dereference TYPE_CODE_REF values.
+
+2014-04-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* darwin-nat.c (darwin_decode_message): Remove trailing '\n' at
+	end of warning message.
+
+2014-04-03  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (read_cutu_die_from_dwo): Fix assertion, at most one
+	of stub_comp_unit_die, stub_comp_dir is non-NULL.
+
+2014-04-02  Alan Modra  <amodra@gmail.com>
+
+	* symfile-mem.c (symbol_file_add_from_memory): Add size parameter.
+	Pass to bfd_elf_bfd_from_remote_memory.  Adjust all callers.
+	(struct symbol_file_add_from_memory_args): Add size field.
+	(find_vdso_size): New function.
+	(add_vsyscall_page): Attempt to find vdso size.
+
+2014-04-01  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (read_cutu_die_from_dwo): Improve comment.
+
+2014-04-01  Tristan Gingold  <gingold@adacore.com>
+
+	* darwin-nat.c (darwin_encode_reply): Add prototype.
+	(darwin_decode_exception_message): Reply to unknown inferiors.
+	(darwin_decode_message): Handle message by id.  Ignore message
+	to unknown inferior.
+	(darwin_wait): Discard unknown messages, add debug trace.
+
+2014-03-31  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (read_cutu_die_from_dwo): Delete unused local
+	comp_dir_string.
+
+2014-03-31  Doug Evans  <dje@google.com>
+
+	New option "set print symbol-loading".
+	* NEWS: Mention it.
+	* solib.c (solib_read_symbols): Only print symbol loading messages
+	if requested.
+	(solib_add): If symbol loading is in "brief" mode, notify user
+	symbols are being loaded.
+	(reload_shared_libraries_1): Ditto.
+	* symfile.c (print_symbol_loading_off): New static global.
+	(print_symbol_loading_brief): New static global.
+	(print_symbol_loading_full): New static global.
+	(print_symbol_loading_enums): New static global.
+	(print_symbol_loading): New static global.
+	(print_symbol_loading_p): New function.
+	(symbol_file_add_with_addrs): Only print symbol loading messages
+	if requested.
+	(_initialize_symfile): Register "print symbol-loading" set/show
+	command.
+	* symfile.h (print_symbol_loading_p): Declare.
+
+2014-03-30  Doug Evans  <xdje42@gmail.com>
+
+	* infrun.c (set_last_target_status): New function.
+	(handle_inferior_event): Call it.
+
+2014-03-30  Doug Evans  <xdje42@gmail.com>
+
+	* inferior.h (enum stop_kind): Improve comment.
+
+2014-03-28  Joel Brobecker  <brobecker@adacore.com>
+
+	* varobj.c (varobj_value_has_mutated): If NEW_VALUE is
+	a reference, strip the reference layer before calling
+	the lang_ops value_has_mutated callback.
+
+2014-03-27  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	Remove some globals from our parser.
+	* language.c (unk_lang_parser): Add "struct parser_state"
+	argument.
+	* language.h (struct language_defn) <la_parser>: Likewise.
+	* parse.c (expout, expout_size, expout_ptr): Remove variables.
+	(initialize_expout): Add "struct parser_state" argument.
+	Rewrite function to use the parser state.
+	(reallocate_expout, write_exp_elt, write_exp_elt_opcode,
+	write_exp_elt_sym, write_exp_elt_block, write_exp_elt_objfile,
+	write_exp_elt_longcst, write_exp_elt_dblcst,
+	write_exp_elt_decfloatcst, write_exp_elt_type,
+	write_exp_elt_intern, write_exp_string, write_exp_string_vector,
+	write_exp_bitstring, write_exp_msymbol, mark_struct_expression,
+	write_dollar_variable): Likewise.
+	(parse_exp_in_context_1): Use parser state.
+	(insert_type_address_space): Add "struct parser_state" argument.
+	Use parser state.
+	(increase_expout_size): New function.
+	* parser-defs.h: Forward declare "struct language_defn" and
+	"struct parser_state".
+	(expout, expout_size, expout_ptr): Remove extern declarations.
+	(parse_gdbarch, parse_language): Rewrite macro declarations to
+	accept the parser state.
+	(struct parser_state): New struct.
+	(initialize_expout, reallocate_expout, write_exp_elt_opcode,
+	write_exp_elt_sym, write_exp_elt_longcst, write_exp_elt_dblcst,
+	write_exp_elt_decfloatcst, write_exp_elt_type,
+	write_exp_elt_intern, write_exp_string, write_exp_string_vector,
+	write_exp_bitstring, write_exp_elt_block, write_exp_elt_objfile,
+	write_exp_msymbol, write_dollar_variable,
+	mark_struct_expression, insert_type_address_space): Add "struct
+	parser_state" argument.
+	(increase_expout_size): New function.
+	* utils.c (do_clear_parser_state): New function.
+	(make_cleanup_clear_parser_state): Likewise.
+	* utils.h (make_cleanup_clear_parser_state): New function
+	prototype.
+	* aarch64-linux-tdep.c (aarch64_stap_parse_special_token):
+	Update calls to write_exp* in order to pass the parser state.
+	* arm-linux-tdep.c (arm_stap_parse_special_token): Likewise.
+	* i386-tdep.c (i386_stap_parse_special_token_triplet): Likewise.
+	(i386_stap_parse_special_token_three_arg_disp): Likewise.
+	* ppc-linux-tdep.c (ppc_stap_parse_special_token): Likewise.
+	* stap-probe.c (stap_parse_register_operand): Likewise.
+	(stap_parse_single_operand): Likewise.
+	(stap_parse_argument_1): Likewise.
+	(stap_parse_argument): Use parser state.
+	* stap-probe.h: Include "parser-defs.h".
+	(struct stap_parse_info) <pstate>: New field.
+	* c-exp.y (parse_type): Rewrite to use parser state.
+	(yyparse): Redefine to c_parse_internal.
+	(pstate): New global variable.
+	(parse_number): Add "struct parser_state" argument.
+	(write_destructor_name): Likewise.
+	(type_exp): Update calls to write_exp* and similars in order to
+	use parser state.
+	(exp1, exp, variable, qualified_name, space_identifier,
+	typename, typebase): Likewise.
+	(write_destructor_name, parse_number, lex_one_token,
+	classify_name, classify_inner_name, c_parse): Add "struct
+	parser_state" argument.  Update function to use parser state.
+	* c-lang.h: Forward declare "struct parser_state".
+	(c_parse): Add "struct parser_state" argument.
+	* ada-exp.y (parse_type): Rewrite macro to use parser state.
+	(yyparse): Redefine macro to ada_parse_internal.
+	(pstate): New variable.
+	(write_int, write_object_renaming, write_var_or_type,
+	write_name_assoc, write_exp_op_with_string, write_ambiguous_var,
+	type_int, type_long, type_long_long, type_float, type_double,
+	type_long_double, type_char, type_boolean, type_system_address):
+	Add "struct parser_state" argument.
+	(exp1, primary, simple_exp, relation, and_exp, and_then_exp,
+	or_exp, or_else_exp, xor_exp, type_prefix, opt_type_prefix,
+	var_or_type, aggregate, aggregate_component_list,
+	positional_list, others, component_group,
+	component_associations): Update calls to write_exp* and similar
+	functions in order to use parser state.
+	(ada_parse, write_var_from_sym, write_int,
+	write_exp_op_with_string, write_object_renaming,
+	find_primitive_type, write_selectors, write_ambiguous_var,
+	write_var_or_type, write_name_assoc, type_int, type_long,
+	type_long_long, type_float, type_double, type_long_double,
+	type_char, type_boolean, type_system_address): Add "struct
+	parser_state" argument.  Adjust function to use parser state.
+	* ada-lang.c (parse): Likewise.
+	* ada-lang.h: Forward declare "struct parser_state".
+	(ada_parse): Add "struct parser_state" argument.
+	* ada-lex.l (processInt, processReal): Likewise.  Adjust all
+	calls to both functions.
+	* f-exp.y (parse_type, parse_f_type): Rewrite macros to use
+	parser state.
+	(yyparse): Redefine macro to f_parse_internal.
+	(pstate): New variable.
+	(parse_number): Add "struct parser_state" argument.
+	(type_exp, exp, subrange, typebase): Update calls to write_exp*
+	and similars in order to use parser state.
+	(parse_number): Adjust code to use parser state.
+	(yylex): Likewise.
+	(f_parse): New function.
+	* f-lang.h: Forward declare "struct parser_state".
+	(f_parse): Add "struct parser_state" argument.
+	* jv-exp.y (parse_type, parse_java_type): Rewrite macros to use
+	parser state.
+	(yyparse): Redefine macro for java_parse_internal.
+	(pstate): New variable.
+	(push_expression_name, push_expression_name, insert_exp): Add
+	"struct parser_state" argument.
+	(type_exp, StringLiteral, Literal, PrimitiveType, IntegralType,
+	FloatingPointType, exp1, PrimaryNoNewArray, FieldAccess,
+	FuncStart, MethodInvocation, ArrayAccess, PostfixExpression,
+	PostIncrementExpression, PostDecrementExpression,
+	UnaryExpression, PreIncrementExpression, PreDecrementExpression,
+	UnaryExpressionNotPlusMinus, CastExpression,
+	MultiplicativeExpression, AdditiveExpression, ShiftExpression,
+	RelationalExpression, EqualityExpression, AndExpression,
+	ExclusiveOrExpression, InclusiveOrExpression,
+	ConditionalAndExpression, ConditionalOrExpression,
+	ConditionalExpression, Assignment, LeftHandSide): Update
+	calls to write_exp* and similars in order to use parser state.
+	(parse_number): Ajust code to use parser state.
+	(yylex): Likewise.
+	(java_parse): New function.
+	(push_variable): Add "struct parser_state" argument.  Adjust
+	code to user parser state.
+	(push_fieldnames, push_qualified_expression_name,
+	push_expression_name, insert_exp): Likewise.
+	* jv-lang.h: Forward declare "struct parser_state".
+	(java_parse): Add "struct parser_state" argument.
+	* m2-exp.y (parse_type, parse_m2_type): Rewrite macros to use
+	parser state.
+	(yyparse): Redefine macro to m2_parse_internal.
+	(pstate): New variable.
+	(type_exp, exp, fblock, variable, type): Update calls to
+	write_exp* and similars to use parser state.
+	(yylex): Likewise.
+	(m2_parse): New function.
+	* m2-lang.h: Forward declare "struct parser_state".
+	(m2_parse): Add "struct parser_state" argument.
+	* objc-lang.c (end_msglist): Add "struct parser_state" argument.
+	* objc-lang.h: Forward declare "struct parser_state".
+	(end_msglist): Add "struct parser_state" argument.
+	* p-exp.y (parse_type): Rewrite macro to use parser state.
+	(yyparse): Redefine macro to pascal_parse_internal.
+	(pstate): New variable.
+	(parse_number): Add "struct parser_state" argument.
+	(type_exp, exp1, exp, qualified_name, variable): Update calls to
+	write_exp* and similars in order to use parser state.
+	(parse_number, yylex): Adjust code to use parser state.
+	(pascal_parse): New function.
+	* p-lang.h: Forward declare "struct parser_state".
+	(pascal_parse): Add "struct parser_state" argument.
+	* go-exp.y (parse_type): Rewrite macro to use parser state.
+	(yyparse): Redefine macro to go_parse_internal.
+	(pstate): New variable.
+	(parse_number): Add "struct parser_state" argument.
+	(type_exp, exp1, exp, variable, type): Update calls to
+	write_exp* and similars in order to use parser state.
+	(parse_number, lex_one_token, classify_name, yylex): Adjust code
+	to use parser state.
+	(go_parse): Likewise.
+	* go-lang.h: Forward declare "struct parser_state".
+	(go_parse): Add "struct parser_state" argument.
+
+2014-03-27  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (read_str_index): Delete arg cu.  All callers updated.
+
+2014-03-27  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (init_cutu_and_read_dies_no_follow): Fix comments.
+	Remove argument abbrev_section.  All callers updated.
+
+2014-03-27  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (struct dwarf2_cu): Improve comments for members
+	addr_base, ranges_base.
+
+2014-03-26  Keith Seitz  <keiths@redhat.com>
+
+	* ada-tasks.c (get_tcb_types_info): Search STRUCT_DOMAIN for
+	types, not VAR_DOMAIN.
+
+2014-03-25  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* features/nios2-cpu.xml: Correct types of "gp", "fp", "ea", and
+	"ra" registers.
+	* features/nios2-linux.c: Regenerated.
+	* features/nios2.c: Regenerated.
+
+2014-03-25  Pedro Alves  <palves@redhat.com>
+
+	* cli/cli-script.c (script_from_file): Force the interpreter to
+	sync mode.
+
+2014-03-24  Pierre Langlois  <pierre.langlois@embecosm.com>
+
+	* avr-tdep.c (avr_scan_prologue): Accept push r1 instruction for
+	small stack allocation.
+
+2014-03-24  Tristan Gingold  <gingold@adacore.com>
+
+	* darwin-nat.c (exc_server): Remove unused prototype.
+	(darwin_dump_message): Correctly display data on x86_64.
+	(darwin_encode_reply): Fix style.
+	Add comments and fix indentation.
+
+2014-03-24  Pierre Langlois  <pierre.langlois@embecosm.com>
+
+	* MAINTAINERS (Write After Approval): Add "Pierre Langlois".
+
+2014-03-22  Doug Evans  <xdje42@gmail.com>
+
+	* infcmd.c: Whitespace fixes.
+	(interrupt_command): Merge two function comments into one.
+
+2014-03-22  Doug Evans  <xdje42@gmail.com>
+
+	* infcmd.c (interrupt_command): Renamed from interrupt_target_command.
+	All uses updated.
+
+2014-03-22  Yao Qi  <yao@codesourcery.com>
+
+	* remote.c (target_read_live_memory): Remove.
+	(memory_xfer_live_readonly_partial): Rename it to
+	remote_xfer_live_readonly_partial.  Remove argument 'object'.
+	All callers updated.  Call remote_read_bytes_1
+	instead of target_read_live_memory.
+	* tracepoint.c (set_traceframe_number): Remove.
+	(make_cleanup_restore_traceframe_number): Likewise .
+	* tracepoint.h (set_traceframe_number): Remove declaration.
+	(make_cleanup_restore_traceframe_number): Likewise.
+
+2014-03-22  Yao Qi  <yao@codesourcery.com>
+
+	* remote.c (remote_read_bytes): Move code on reading from the
+	remote stub to ...
+	(remote_read_bytes_1): ... here.  New function.
+
+2014-03-22  Yao Qi  <yao@codesourcery.com>
+
+	* ctf.c (ctf_xfer_partial): Check the return value of
+	exec_read_partial_read_only, if it is not TARGET_XFER_OK,
+	return TARGET_XFER_UNAVAILABLE.
+	* tracefile-tfile.c (tfile_xfer_partial): Likewise.
+	* target.c (target_read_live_memory): Move it to remote.c.
+	(memory_xfer_live_readonly_partial): Likewise.
+	(memory_xfer_partial_1): Move some code to remote_read_bytes.
+	* remote.c (target_read_live_memory): Moved from target.c.
+	(memory_xfer_live_readonly_partial): Likewise.
+	(remote_read_bytes): Factored out from
+	memory_xfer_partial_1.
+
+2014-03-21  Daniel Gutson  <daniel.gutson@tallertechnologies.com>
+
+	* extension.c (eval_ext_lang_from_control_command): Avoid dereferencing
+	NULL pointer.
+
+2014-03-21  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (normal_stop): Extend comment.
+
+2014-03-21  Hui Zhu  <hui@codesourcery.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* darwin-nat.c (darwin_pid_to_exec_file): Change xmalloc to
+	static buffer.
+	* fbsd-nat.c (fbsd_pid_to_exec_file): Ditto.
+	* linux-nat.c (linux_child_pid_to_exec_file): Ditto.
+	* nbsd-nat.c (nbsd_pid_to_exec_file): Ditto.
+
+2014-03-20  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* mi/mi-interp.c (mi_memory_changed): Avoid using the ISO C99
+	`z' formatted output modifier.
+
+2014-03-20  Tom Tromey  <tromey@redhat.com>
+	    Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* probe.c (parse_probes): Turn assert into an ordinary error.
+	* break-catch-throw.c (re_set_exception_catchpoint): Ignore
+	exceptions when parsing probes.  Rearrange the code for clarity.
+
+2014-03-20  Tom Tromey  <tromey@redhat.com>
+
+	PR gdb/14135
+	* top.c (execute_command): Only dispatch events if the command
+	started the target.
+
+2014-03-20  Tom Tromey  <tromey@redhat.com>
+
+	PR cli/15718
+	* infcall.c: Include event-top.h.
+	(run_inferior_call): Call async_disable_stdin if needed.
+
+2014-03-20  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (prepare_to_proceed): Delete.
+	(thread_still_needs_step_over): New function.
+	(find_thread_needs_step_over): New function.
+	(proceed): If the current thread needs a step-over, set its
+	steping_over_breakpoint flag.  Adjust to use
+	find_thread_needs_step_over instead of prepare_to_proceed.
+	(process_event_stop_test): For BPSTAT_WHAT_STOP_NOISY and
+	BPSTAT_WHAT_STOP_SILENT, assume the thread stopped for a
+	breakpoint.
+	(switch_back_to_stepped_thread): Step over breakpoints of all
+	threads not the stepping thread, before switching back to the
+	stepping thread.
+
+2014-03-20  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (single_step_breakpoint_inserted_here_p): Make
+	extern.
+	* breakpoint.h (single_step_breakpoint_inserted_here_p): Declare.
+	* infrun.c (saved_singlestep_ptid)
+	(stepping_past_singlestep_breakpoint): Delete.
+	(resume): Remove stepping_past_singlestep_breakpoint handling.
+	(proceed): Store the prev_pc of the stepping thread too.
+	(init_wait_for_inferior): Adjust.  Clear singlestep_ptid and
+	singlestep_pc.
+	(enum infwait_states): Delete infwait_thread_hop_state.
+	(struct execution_control_state) <hit_singlestep_breakpoint>: New
+	field.
+	(handle_inferior_event): Adjust.
+	(handle_signal_stop): Delete stepping_past_singlestep_breakpoint
+	handling and the thread-hop code.  Before removing single-step
+	breakpoints, check whether the thread hit a single-step breakpoint
+	of another thread.  If it did, the trap is not a random signal.
+	(switch_back_to_stepped_thread): If the event thread hit a
+	single-step breakpoint, unblock it before switching to the
+	stepping thread.  Handle the case of the stepped thread having
+	advanced already.
+	(keep_going): Handle the case of the current thread moving past a
+	single-step breakpoint.
+
+2014-03-20  Pedro Alves  <palves@redhat.com>
+
+	PR breakpoints/7143
+	* breakpoint.c (should_be_inserted): Don't insert breakpoints that
+	are being stepped over.
+	(breakpoint_address_match): Make extern.
+	* breakpoint.h (breakpoint_address_match): New declaration.
+	* inferior.h (stepping_past_instruction_at): New declaration.
+	* infrun.c (struct step_over_info): New type.
+	(step_over_info): New global.
+	(set_step_over_info, clear_step_over_info)
+	(stepping_past_instruction_at): New functions.
+	(handle_inferior_event): Clear the step-over info when
+	trap_expected is cleared.
+	(resume): Remove now stale comment.
+	(clear_proceed_status): Clear step-over info.
+	(proceed): Adjust step-over handling to set or clear the step-over
+	info instead of removing all breakpoints.
+	(handle_signal_stop): When setting up a thread-hop, don't remove
+	breakpoints here.
+	(stop_stepping): Clear step-over info.
+	(keep_going): Adjust step-over handling to set or clear step-over
+	info and then always inserting breakpoints, instead of removing
+	all breakpoints when stepping over one.
+
+2014-03-20  Pedro Alves  <palves@redhat.com>
+
+	* infrun.c (previous_inferior_ptid): Adjust comment.
+	(deferred_step_ptid): Delete.
+	(infrun_thread_ptid_changed, prepare_to_proceed)
+	(init_wait_for_inferior): Adjust.
+	(handle_signal_stop): Delete deferred_step_ptid handling.
+
+2014-03-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR gdb/15358
+	* defs.h (sync_quit_force_run): New declaration.
+	(QUIT): Check also SYNC_QUIT_FORCE_RUN.
+	* event-top.c (async_sigterm_handler): New declaration.
+	(async_sigterm_token): New variable.
+	(async_init_signals): Create also async_sigterm_token.
+	(async_sigterm_handler): New function.
+	(sync_quit_force_run): New variable.
+	(handle_sigterm): Replace quit_force call by other calls.
+	* utils.c (quit): Call quit_force if SYNC_QUIT_FORCE_RUN.
+
+2014-03-18  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* rs6000-tdep.c (rs6000_frame_cache): Correct little-endian GPR
+	offset into SPE pseudo registers.
+
+2014-03-18  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/13860
+	* inferior.h (print_stop_event): Declare.
+	* infrun.c (print_stop_event): New, factored out from ...
+	(normal_stop): ... this.
+	* mi/mi-interp.c (mi_on_normal_stop): Use print_stop_event instead
+	of bpstat_print/print_stack_frame.
+
+2014-03-17  Tom Tromey  <tromey@redhat.com>
+
+	* ui-out.c (clear_table, ui_out_new): Clear uiout->table.id.
+
+2014-03-17  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* ada-lang.c (decode_constrained_packed_array): Perform a
+	minimal coercion for reference with coerce_ref instead of
+	ada_coerce_ref.
+
+2014-03-17  Tristan Gingold  <gingold@adacore.com>
+
+	* solib-darwin.c (DYLD_VERSION_MAX): Increase value.
+	(darwin_solib_create_inferior_hook): Emit a warning if version
+	is unhandled.
+
+2014-03-16  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* python/py-value.c (get_field_flag): Cast flag_name argument to
+	PyObject_GetAttrString to support Python 2.4.
+
+2014-03-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* MAINTAINERS (The Official FSF-appointed GDB Maintainers)
+	(Global Maintainers): Remove Jan Kratochvil.
+
+2014-03-14  Pedro Alves  <palves@redhat.com>
+
+	* inferior.h (terminal_ours_for_output): Rename to ...
+	(child_terminal_ours_for_output): ... this.
+	(terminal_save_ours): Rename to ...
+	(child_terminal_save_ours): ... this.
+	(terminal_ours): Rename to ...
+	(child_terminal_ours): ... this.
+	(terminal_inferior): Rename to ...
+	(child_terminal_inferior): ... this.
+	(terminal_init_inferior): Rename to ...
+	(child_terminal_init_inferior): ... this.
+	(terminal_init_inferior_with_pgrp): Rename to ...
+	(child_terminal_init_inferior_with_pgrp): ... this.
+	* inflow.c (terminal_init_inferior_with_pgrp): Rename to ...
+	(child_terminal_init_with_pgrp): ... this.
+	(terminal_save_ours): Rename to ...
+	(child_terminal_save_ours): ... this.
+	(terminal_init_inferior): Rename to ...
+	(child_terminal_init): ... this.  Adjust.
+	(terminal_inferior): Rename to ...
+	(child_terminal_inferior): ... this.
+	(terminal_ours_for_output): Rename to ...
+	(child_terminal_ours_for_output): ... this.  Adjust.
+	(terminal_ours): Rename to ...
+	(child_terminal_ours): ... this.
+	(terminal_ours_1): Rename to ...
+	(child_terminal_ours_1): ... this.  Adjust.
+	* linux-nat.c (linux_nat_terminal_inferior): Adjust.
+	* windows-nat.c (do_initial_windows_stuff): Adjust.
+	* gnu-nat.c (gnu_terminal_init_inferior): Rename to ...
+	(gnu_terminal_init): ... this.  Adjust.
+	(gnu_target): Adjust.
+	* inf-child.c (inf_child_target): Adjust.
+
+2014-03-13  Doug Evans  <xdje42@gmail.com>
+
+	PR guile/16612
+	* guile/scm-type.c (tyscm_copy_type_recursive): Move type to its
+	new eq?-hashtab.
+
+2014-03-13  Doug Evans  <xdje42@gmail.com>
+
+	* value.c (record_latest_value): Call release_value_or_incref
+	instead of release_value.
+
+2014-03-13  Pedro Alves  <palves@redhat.com>
+
+	* procfs.c (procfs_target): Don't override to_shortname,
+	to_longname or to_doc.
+
+2014-03-13  Pedro Alves  <palves@redhat.com>
+
+	* inf-child.c (inf_child_open, inf_child_target): Don't mention
+	Unix in user visible strings.
+
+2014-03-12  Stan Shebs  <stan@codesourcery.com>
+
+	* gdbtypes.h: Annotate comments for Doxygen, add a page
+	block comment with some general info.
+
+2014-03-12  Pedro Alves  <palves@redhat.com>
+
+	* infcmd.c (prepare_execution_command): New function, factored out
+	from several execution commands.
+	(run_command_1, continue_command, step_1, jump_command)
+	(signal_command, until_command, advance_command, finish_command)
+	(attach_command): Use prepare_execution_command.
+
+2014-03-12  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-linux-nat.c (arm_linux_get_hwbp_cap): Updated.
+	(MAX_BPTS): Define.
+	(MAX_WPTS): Define.
+	(struct arm_linux_thread_points): Removed.
+	(struct arm_linux_process_info): New.
+	(DEF_VEC_P (arm_linux_thread_points_p)): Removed.
+	(VEC(arm_linux_thread_points_p) *arm_threads): Removed.
+	(arm_linux_find_breakpoints_by_tid): Removed.
+	(struct arch_lwp_info): New.
+	(arm_linux_find_process_pid): New functions.
+	(arm_linux_add_process): New functions.
+	(arm_linux_process_info_get): New functions.
+	(arm_linux_forget_process): New function.
+	(arm_linux_get_debug_reg_state): New function.
+	(struct update_registers_data): New.
+	(update_registers_callback): New function.
+	(arm_linux_insert_hw_breakpoint1): Updated.
+	(arm_linux_remove_hw_breakpoint1): Updated.
+	(arm_linux_insert_hw_breakpoint): Updated.
+	(arm_linux_remove_hw_breakpoint): Updated.
+	(arm_linux_insert_watchpoint): Updated.
+	(arm_linux_remove_watchpoint): Updated.
+	(arm_linux_new_thread): Updated.
+	(arm_linux_prepare_to_resume): New function.
+	(arm_linux_new_fork): New function.
+	(_initialize_arm_linux_nat): Updated.
+
+2014-03-12  Pedro Alves  <palves@redhat.com>
+
+	* Makefile.in (TARGET_FLAGS_TO_PASS): Add TESTS.
+
+2014-03-12  Tom Tromey  <tromey@redhat.com>
+
+	* inf-child.c (return_zero): New function.
+	(inf_child_target): Set to_can_async_p, to_supports_non_stop.
+	* aix-thread.c (aix_thread_inferior_created): New function.
+	(aix_thread_attach): Remove.
+	(init_aix_thread_ops): Don't set to_attach.
+	(_initialize_aix_thread): Register inferior_created observer.
+	* corelow.c (init_core_ops): Don't set to_attach or
+	to_create_inferior.
+	* exec.c (init_exec_ops): Don't set to_attach or
+	to_create_inferior.
+	* infcmd.c (run_command_1): Use find_run_target.  Make direct
+	target calls.
+	(attach_command): Use find_attach_target.  Make direct target
+	calls.
+	* record-btrace.c (init_record_btrace_ops): Don't set
+	to_create_inferior.
+	* record-full.c (record_full_can_async_p, record_full_is_async_p):
+	Remove.
+	(init_record_full_ops, init_record_full_core_ops): Update.  Don't
+	set to_create_inferior.
+	* target.c (complete_target_initialization): Add assertion.
+	(target_create_inferior): Remove.
+	(find_default_attach, find_default_create_inferior): Remove.
+	(find_attach_target, find_run_target): New functions.
+	(find_default_is_async_p, find_default_can_async_p)
+	(target_supports_non_stop, target_attach): Remove.
+	(init_dummy_target): Don't set to_create_inferior or
+	to_supports_non_stop.
+	* target.h (struct target_ops) <to_attach>: Add comment.  Remove
+	TARGET_DEFAULT_FUNC.
+	<to_create_inferior>: Add comment.
+	<to_can_async_p, to_is_async_p, to_supports_non_stop>: Use
+	TARGET_DEFAULT_RETURN.
+	<to_can_async_p, to_supports_non_stop, to_can_run>: Add comments.
+	(find_attach_target, find_run_target): Declare.
+	(target_create_inferior): Remove.
+	(target_has_execution_1): Update comment.
+	(target_supports_non_stop): Remove.
+	* target-delegates.c: Rebuild.
+
+2014-03-12  Pedro Alves  <palves@redhat.com>
+
+        * inf-child.h: Update comment to not mention Unix.
+
+2014-03-12  Pedro Alves  <palves@redhat.com>
+
+	* inf-child.c: Update top comment to not mention Unix.  Add
+	generic comment describing how this target is meant to be used.
+	(inf_child_post_attach, inf_child_post_startup_inferior)
+	(inf_child_follow_fork, inf_child_pid_to_exec_file): Don't mention
+	Unix in comment.
+
+2014-03-12  Pedro Alves  <palves@redhat.com>
+
+	* nto-procfs.c: Include inf-child.h.
+	(procfs_ops): Delete global.
+	(procfs_can_run): Delete method.
+	(procfs_detach, procfs_mourn_inferior): Unpush the passed in
+	target pointer instead of referencing procfs_ops.
+	(procfs_prepare_to_store): Delete.
+	(init_procfs_ops): Delete function.
+	(procfs_target): New function, based on init_procfs_ops, but
+	inherit inf_child_target.
+	(_initialize_procfs): Use procfs_target.
+
+2014-03-12  Pedro Alves  <palves@redhat.com>
+
+	* windows-nat.c: Include inf-child.h.
+	(windows_ops): Delete global.
+	(windows_open, windows_prepare_to_store, windows_can_run): Delete
+	methods.
+	(init_windows_ops): Delete function.
+	(windows_target): New function, based on init_windows_ops, but
+	inherit inf_child_target.
+	(_initialize_windows_nat): Use windows_target.  Install x86
+	specific target methods here.
+
+2014-03-10  Doug Evans  <xdje42@gmail.com>
+
+	* guile/guile.c (call_initialize_gdb_module): New function.
+	(initialize_guile): Replace call to scm_init_guile with call to
+	scm_with_guile.
+
+2014-03-10  Joel Brobecker  <brobecker@adacore.com>
+
+        * ada-lang.c (ada_evaluate_subexp): Add missing space before '('
+        in call to TYPE_CODE macro.
+
+2014-03-10  Jerome Guitton  <guitton@adacore.com>
+
+	* ada-lang.c (ada_evaluate_subexp) <UNOP_IND, STRUCTOP_STRUCT>:
+	Resolve tagged types to full view.
+
+2014-03-10  Hui Zhu  <hui@codesourcery.com>
+
+	* target.h (target_insert_breakpoint): Remove "hardware" from its
+	comments.
+
+2014-03-07  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (read_str_index): Rename local dwo_name to objf_name.
+
+2014-03-07  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (read_cutu_die_from_dwo): Fix function comment.
+	Remove unused local comp_dir_attr.  Assert exactly one of
+	stub_comp_unit_die, stub_comp_dir is non-NULL.
+
+2014-03-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* target.h (complete_target_initialization, add_target):
+	Add comment.
+
+2014-03-07  Pedro Alves  <palves@redhat.com>
+
+	* go32-nat.c: Include inf-child.h.
+	(go32_ops): Delete global.
+	(go32_close, go32_detach, go32_prepare_to_store, go32_can_run):
+	Delete methods.
+	(go32_create_inferior): Push the passed in target pointer instead
+	of referencing go32_ops.
+	(init_go32_ops): Delete function.  Moved parts to _initialize_go32_nat.
+	(go32_target): New function, based on init_go32_ops, but inherit
+	inf_child_target.
+	(_initialize_go32_nat): Use go32_target.  Move parts of
+	init_go32_ops here.
+
+2014-03-06  Joel Brobecker  <brobecker@adacore.com>
+
+	* sol-thread.c: #include "symtab.h", "minsym.h" and "objfiles.h".
+	(ps_pglobal_lookup): Use BMSYMBOL_VALUE_ADDRESS instead of
+	SYMBOL_VALUE_ADDRESS.
+	(info_cb): MSYMBOL_PRINT_NAME instead of SYMBOL_PRINT_NAME.
+
+2014-03-06  Yao Qi  <yao@codesourcery.com>
+
+	* breakpoint.c (get_tracepoint_by_number): Remove argument
+	optional_p.  All callers updated.  Adjust comments.  Update
+	output message.
+	* breakpoint.h (get_tracepoint_by_number): Update declaration.
+
+2014-03-06  Yao Qi  <yao@codesourcery.com>
+
+	* reverse.c (goto_bookmark_command): Add local 'p'.  Emit error
+	early if get_number returns zero.  Use 'p' instead of 'args'.
+
+2014-03-06  Yao Qi  <yao@codesourcery.com>
+
+	* cli/cli-utils.c (get_number_trailer): Add '\n' at the end of
+	message.
+
+2014-03-06  Yao Qi  <yao@codesourcery.com>
+
+	PR breakpoints/16508
+	* tracepoint.c (check_trace_running): New function.
+	(trace_find_command): Move code to check_trace_running and
+	call check_trace_running.
+	(trace_find_pc_command): Likewise.
+	(trace_find_tracepoint_command): Likewise.
+	(trace_find_line_command): Likewise.
+	(trace_find_range_command): Likewise.
+	* tracepoint.h (check_trace_running): Likewise.
+	* mi/mi-main.c (mi_cmd_trace_find): Call check_trace_running.
+
+2014-03-06  Yao Qi  <yao@codesourcery.com>
+
+	* target.h (struct target_ops) <to_traceframe_info>: Use
+	TARGET_DEFAULT_NORETURN (tcomplain ()).
+	* target-delegates.c: Regenerated.
+
+2014-03-05  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/16575
+	* dcache.c (dcache_poke_byte): Constify ptr parameter.  Return
+	void.  Update comment.
+	(dcache_xfer_memory): Delete.
+	(dcache_read_memory_partial): New, based on the read bits of
+	dcache_xfer_memory.
+	(dcache_update): Add status parameter.  Use ULONGEST for len, and
+	adjust.  Discard cache lines if the reason for the update was
+	error.
+	* dcache.h (dcache_xfer_memory): Delete declaration.
+	(dcache_read_memory_partial): New declaration.
+	(dcache_update): Update prototype.
+	* target.c (raw_memory_xfer_partial): Update the dcache here.
+	(memory_xfer_partial_1): Don't handle dcache writes here.
+
+2014-03-05  Mike Frysinger  <vapier@gentoo.org>
+
+	* remote-sim.c (gdbsim_load): Add const to prog.
+
+2014-03-03  Tom Tromey  <tromey@redhat.com>
+
+	* elfread.c (probe_key): Change to bfd_data.
+	(elf_get_probes, probe_key_free, _initialize_elfread): Probes are
+	now per-BFD, not per-objfile.
+	* stap-probe.c (stap_probe_destroy): Update comment.
+	(handle_stap_probe): Allocate on the per-BFD obstack.
+
+2014-03-03  Tom Tromey  <tromey@redhat.com>
+
+	* break-catch-throw.c (fetch_probe_arguments): Use bound probes.
+	* breakpoint.c (create_longjmp_master_breakpoint): Use
+	get_probe_address.
+	(add_location_to_breakpoint, bkpt_probe_insert_location)
+	(bkpt_probe_remove_location): Update.
+	* breakpoint.h (struct bp_location) <probe>: Now a bound_probe.
+	* elfread.c (elf_symfile_relocate_probe): Remove.
+	(elf_probe_fns): Update.
+	(insert_exception_resume_breakpoint): Change type of "probe"
+	parameter to bound_probe.
+	(check_exception_resume): Update.
+	* objfiles.c (objfile_relocate1): Don't relocate probes.
+	* probe.c (bound_probe_s): New typedef.
+	(parse_probes): Use get_probe_address.  Set sal's objfile.
+	(find_probe_by_pc): Return a bound_probe.
+	(collect_probes): Return a VEC(bound_probe_s).
+	(compare_probes): Update.
+	(gen_ui_out_table_header_info): Change type of "probes"
+	parameter.  Update.
+	(info_probes_for_ops): Update.
+	(get_probe_address): New function.
+	(probe_safe_evaluate_at_pc): Update.
+	* probe.h (struct probe_ops) <get_probe_address>: New field.
+	<set_semaphore, clear_semaphore>: Add objfile parameter.
+	(struct probe) <objfile>: Remove field.
+	<arch>: New field.
+	<address>: Update comment.
+	(struct bound_probe): New.
+	(find_probe_by_pc): Return a bound_probe.
+	(get_probe_address): Declare.
+	* solib-svr4.c (struct probe_and_action) <address>: New field.
+	(hash_probe_and_action, equal_probe_and_action): Update.
+	(register_solib_event_probe): Add address parameter.
+	(solib_event_probe_at): Update.
+	(svr4_create_probe_breakpoints): Add objfile parameter.  Use
+	get_probe_address.
+	* stap-probe.c (struct stap_probe) <sem_addr>: Update comment.
+	(stap_get_probe_address): New function.
+	(stap_can_evaluate_probe_arguments, compute_probe_arg)
+	(compile_probe_arg): Update.
+	(stap_set_semaphore, stap_clear_semaphore): Compute semaphore's
+	address.
+	(handle_stap_probe): Don't relocate the probe.
+	(stap_relocate): Remove.
+	(stap_gen_info_probes_table_values): Update.
+	(stap_probe_ops): Remove stap_relocate.
+	* symfile-debug.c (debug_sym_relocate_probe): Remove.
+	(debug_sym_probe_fns): Update.
+	* symfile.h (struct sym_probe_fns) <sym_relocate_probe>: Remove.
+	* symtab.c (init_sal): Use memset.
+	* symtab.h (struct symtab_and_line) <objfile>: New field.
+	* tracepoint.c (start_tracing, stop_tracing): Update.
+
+2014-03-03  Tom Tromey  <tromey@redhat.com>
+
+	* probe.h (parse_probes, find_probe_by_pc)
+	(find_probes_in_objfile): Fix comments.
+
+2014-03-02  Doug Evans  <xdje42@gmail.com>
+
+	* infrun.c (handle_signal_stop): Replace test for
+	TARGET_WAITKIND_STOPPED with an assert.
+
+2014-03-02  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-objfile.c (ofscm_mark_objfile_smob): Fix typo in comment.
+
+2014-03-02  Doug Evans  <xdje42@gmail.com>
+
+	* guile/lib/gdb/printing.scm (append-pretty-printer!): Fix thinko.
+
+2014-03-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* obsd-nat.c: Include "gdb_wait.h" instead of <sys/wait.h>.
+
+2014-03-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386obsd-nat.c: Include "obsd-nat.h".
+	(_initialize_i386obsd_nat): Call obsd_add_target instead of
+	add_target.
+	* config/i386/obsd.mh (NATDEPFILES): Add obsd-nat.o.
+
+2014-03-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386obsd-nat.c (i386obsd_supply_pcb): Cast 'sf' to 'gdb_byte *'.
+
+2014-03-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* mips64obsd-nat.c: Include "obsd-nath".
+	(_initialize_mips64obsd_nat): Call obsd_add_target instead of
+	add_target
+	* config/mips/obsd64.mh (NATDEPFILES): Add obsd-nat.o.
+
+2014-03-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* amd64obsd-nat.c: Include "obsd-nat,h.
+	(_initialize_amd64obsd_nat): Call obsd_add_target instead of
+	add_target.
+	* config/i386/obsd64.mh (NATDEPFILES): Add obsd-nat.o.
+
+2014-02-28  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* valops.c (find_oload_champ): Remove unneccesary argument METHOD.
+	(find_overload_match): Update call to find_oload_champ.
+	(find_oload_champ_namespace_loop): Likewise
+
+2014-02-28  Mark Kettenis  <kettenis@gnu.org>
+
+	* Makefile.in (ALLDEPFILES): Add sparc64obsd-nat.c.
+
+	* configure.host (sparc64-*-openbsd*): Set gdb_host to obsd64.
+	* config/sparc/obsd64.mh: New file.
+	* sparc64obsd-nat.c: New file.
+
+	* obsd-nat.h: New file.
+	* obsd-nat.c: New file.
+	* Makefile.in (HFILES_NO_SRCDIR): Add obsd-nat.h.
+	(ALLDEPFILES): Add obsd-nat.c.
+
+2014-02-28  Tom Tromey  <tromey@redhat.com>
+
+	* cli-out.c (cli_ui_out_impl): Now const.  Remove comment.
+	* cli-out.h (cli_ui_out_impl): Now const.
+	* mi/mi-out.c (mi_ui_out_impl): Now const.  Remove comment.
+	* ui-out.c (struct ui_out) <impl>: Now const.
+	(default_ui_out_impl): Now const.
+	(ui_out_new): Make 'impl' parameter const.
+	* ui-out.h (ui_out_new): Update.
+
+2014-02-27  Mark Kettenis  <kettenis@gnu.org>
+
+	* solib-svr4.c (svr4_read_so_list): Initialize first_l_name to 0.
+
+2014-02-27  Mark Kettenis  <kettenis@gnu.org>
+
+	* sparc-nat.c (sparc_xfer_wcookie): Always use process ID.
+
+2014-02-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Additional PR 8882 fix.
+	* solib-svr4.c (svr4_read_so_list): Change first to first_l_name.
+
+2014-02-27  Pedro Alves  <palves@redhat.com>
+
+	* nat/linux-waitpid.c (my_waitpid): Only block signals if WNOHANG
+	isn't set.
+
+2014-02-27  Pedro Alves  <palves@redhat.com>
+
+	PR 12702
+	* linux-nat.c (status_to_str): Moved to nat/linux-waitpid.c.
+	* nat/linux-waitpid.c: Include string.h.
+	(status_to_str): Moved here and made extern.
+	* nat/linux-waitpid.h (status_to_str): New declaration.
+
+2014-02-27  Hui Zhu  <hui@codesourcery.com>
+
+	PR 12702
+	* infrun.c (ptid_match): Move ...
+	* common/ptid.c (ptid_match): ... here.
+	* inferior.h (ptid_match): Move ...
+	* common/ptid.h (ptid_match): ... here.
+
+2014-02-27  Mark Kettenis  <kettenis@gnu.org>
+
+	* mips64obsd-tdep.c (mips64obsd_init_abi): Call obsd_init_abi.
+	* configure.tgt (mips64*-*-openbsd*): Add obsd-tdep.c to
+	gdb_target_obs.
+
+2014-02-27  Mark Kettenis  <kettenis@gnu.org>
+
+	* obsd-tdep.c (obsd_auxv_parse): New function.
+	(obsd_init_abi): Set auxv_parse.
+
+	* gdbarch.sh (auxv_parse): New.
+	* gdbarch.h: Regenerated.
+	* gdbarch.c: Regenerated.
+	* auxv.c (target_auxv_parse): Call gdbarch_parse_auxv if provided.
+
+2014-02-26  Ludovic CourtÃ¨s  <ludo@gnu.org>
+
+	* guile/scm-value.c (gdbscm_history_append_x): New function.
+	(value_functions): Add it.
+
+2014-02-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2read.c (attr_value_as_address): New function.
+	(dwarf2_find_base_address, read_call_site_scope): Use
+	attr_value_as_address in place of DW_ADDR.
+	(dwarf2_get_pc_bounds): Use attr_value_as_address to get
+	the low and high addresses.  Slight rework of the handling
+	of the high pc being a constant form, and limit it to
+	DWARF verson 4 or higher.
+	(dwarf2_record_block_ranges): Likewise.
+	(read_partial_die): Likewise.
+	(new_symbol_full): Use attr_value_as_address in place of DW_ADDR.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* exec.c (exec_file_attach): Hold a reference to exec_bfd.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* elfread.c (elf_read_minimal_symbols): Return early if
+	minimal symbols have already been read.  Add "ei" parameter.
+	(elf_symfile_read): Call elf_read_minimal_symbols earlier.
+	* minsyms.c (prim_record_minimal_symbol_full): Update.
+	* objfiles.h (struct objstats) <n_minsyms>: Move...
+	(struct objfile_per_bfd_storage) <n_minsyms>: ... here.
+	* symmisc.c (print_objfile_statistics): Update.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* elfread.c (elf_read_minimal_symbols): New function, from
+	elf_symfile_read.
+	(elf_symfile_read): Call it.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* minsyms.c (lookup_minimal_symbol, iterate_over_minimal_symbols)
+	(lookup_minimal_symbol_text, lookup_minimal_symbol_by_pc_name)
+	(lookup_minimal_symbol_solib_trampoline)
+	(lookup_minimal_symbol_by_pc_section_1)
+	(lookup_minimal_symbol_and_objfile): Update.
+	(prim_record_minimal_symbol_full): Use the per-BFD obstack.
+	Don't allocate a minimal symbol if minsyms have already been read.
+	(build_minimal_symbol_hash_tables): Update.
+	(install_minimal_symbols): Do nothing if minsyms already read.
+	Use the per-BFD obstack.
+	(terminate_minimal_symbol_table): Use the per-BFD obstack.
+	* objfiles.c (allocate_objfile): Call
+	terminate_minimal_symbol_table later.
+	(have_minimal_symbols): Update.
+	* objfiles.h (struct objfile_per_bfd_storage) <msymbols,
+	minimal_symbol_count, msymbol_hash, msymbol_demangled_hash>:
+	Move from struct objfile.
+	<minsyms_read>: New field.
+	(struct objfile) <msymbols, minimal_symbol_count,
+	msymbol_hash, msymbol_demangled_hash>: Move.
+	(ALL_OBJFILE_MSYMBOLS): Update.
+	* symfile.c (read_symbols): Set minsyms_read.
+	(reread_symbols): Update.
+	* symmisc.c (dump_objfile, dump_msymbols): Update.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* minsyms.c (msymbols_sort): Remove.
+	* minsyms.h (msymbols_sort): Remove.
+	* objfiles.c (objfile_relocate1): Don't relocate minsyms.
+	* symtab.h (MSYMBOL_VALUE_ADDRESS): Use objfile offsets.
+	* elfread.c (elf_symtab_read): Don't add section offsets.
+	* xcoffread.c (record_minimal_symbol): Don't add section offset
+	to minimal symbol address.
+	* somread.c (text_offset, data_offset): Remove.
+	(som_symtab_read): Don't add section offsets to minimal symbol
+	addresses.
+	* coff-pe-read.c (add_pe_forwarded_sym, read_pe_exported_syms):
+	Don't add section offsets to minimal symbols.
+	* coffread.c (coff_symtab_read): Don't add section offsets
+	to minimal symbol addresses.
+	* machoread.c (macho_symtab_add_minsym): Don't add section offset
+	to minimal symbol addresses.
+	* mipsread.c (read_alphacoff_dynamic_symtab): Don't add
+	section offset to minimal symbol addresses.
+	* mdebugread.c (parse_partial_symbols): Don't add section
+	offset to minimal symbol addresses.
+	* dbxread.c (read_dbx_dynamic_symtab): Don't add section
+	offset to minimal symbol addresses.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* ada-lang.c (ada_main_name): Update.
+	(ada_add_standard_exceptions): Update.
+	* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
+	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
+	* arm-tdep.c (skip_prologue_function, arm_skip_stub): Update.
+	* auxv.c (ld_so_xfer_auxv): Update.
+	* avr-tdep.c (avr_scan_prologue): Update.
+	* ax-gdb.c (gen_var_ref): Update.
+	* blockframe.c (get_pc_function_start)
+	(find_pc_partial_function_gnu_ifunc): Update.
+	* breakpoint.c (create_overlay_event_breakpoint)
+	(create_longjmp_master_breakpoint)
+	(create_std_terminate_master_breakpoint)
+	(create_exception_master_breakpoint): Update.
+	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
+	* c-valprint.c (c_val_print): Update.
+	* coff-pe-read.c (add_pe_forwarded_sym): Update.
+	* common/agent.c (agent_look_up_symbols): Update.
+	* dbxread.c (find_stab_function_addr, end_psymtab): Update.
+	* dwarf2loc.c (call_site_to_target_addr): Update.
+	* dwarf2read.c (dw2_find_pc_sect_symtab): Update.
+	* elfread.c (elf_gnu_ifunc_record_cache)
+	(elf_gnu_ifunc_resolve_by_got): Update.
+	* findvar.c (default_read_var_value): Update.
+	* frame.c (inside_main_func): Update.
+	* frv-tdep.c (frv_frame_this_id): Update.
+	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
+	* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
+	Update.
+	* hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence)
+	(hppa_hpux_find_dummy_bpaddr): Update.
+	* hppa-tdep.c (hppa_symbol_address): Update.
+	* infcmd.c (until_next_command): Update.
+	* jit.c (jit_read_descriptor, jit_breakpoint_re_set_internal):
+	Update.
+	* linespec.c (minsym_found, add_minsym): Update.
+	* linux-nat.c (get_signo): Update.
+	* linux-thread-db.c (inferior_has_bug): Update.
+	* m32c-tdep.c (m32c_return_value)
+	(m32c_m16c_address_to_pointer): Update.
+	* m32r-tdep.c (m32r_frame_this_id): Update.
+	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
+	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
+	* maint.c (maintenance_translate_address): Update.
+	* minsyms.c (lookup_minimal_symbol_by_pc_name): Update.
+	(frob_address): New function.
+	(lookup_minimal_symbol_by_pc_section_1): Use raw addresses,
+	frob_address.  Rename parameter to "pc_in".
+	(compare_minimal_symbols, compact_minimal_symbols): Use raw
+	addresses.
+	(find_solib_trampoline_target, minimal_symbol_upper_bound):
+	Update.
+	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
+	* mips-tdep.c (mips_skip_pic_trampoline_code): Update.
+	* objc-lang.c (find_objc_msgsend): Update.
+	* objfiles.c (objfile_relocate1): Update.
+	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
+	* p-valprint.c (pascal_val_print): Update.
+	* parse.c (write_exp_msymbol): Update.
+	* ppc-linux-tdep.c (ppc_linux_spe_context_lookup)
+	(ppc_elfv2_skip_entrypoint): Update.
+	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
+	* printcmd.c (build_address_symbolic, msym_info)
+	(address_info): Update.
+	* proc-service.c (ps_pglobal_lookup): Update.
+	* psymtab.c (find_pc_sect_psymtab_closer)
+	(find_pc_sect_psymtab, find_pc_sect_symtab_from_partial):
+	Change msymbol parameter to bound_minimal_symbol.
+	* ravenscar-thread.c (get_running_thread_id): Update.
+	* remote.c (remote_check_symbols): Update.
+	* sh64-tdep.c (sh64_elf_make_msymbol_special): Use raw
+	address.
+	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
+	* solib-dsbt.c (lm_base): Update.
+	* solib-frv.c (lm_base, main_got): Update.
+	* solib-irix.c (locate_base): Update.
+	* solib-som.c (som_solib_create_inferior_hook)
+	(link_map_start): Update.
+	* solib-spu.c (spu_enable_break, ocl_enable_break): Update.
+	* solib-svr4.c (elf_locate_base, enable_break): Update.
+	* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
+	(flush_ea_cache): Update.
+	* stabsread.c (define_symbol, scan_file_globals): Update.
+	* stack.c (find_frame_funname): Update.
+	* symfile-debug.c (debug_qf_expand_symtabs_matching)
+	(debug_qf_find_pc_sect_symtab): Update.
+	* symfile.c (simple_read_overlay_table)
+	(simple_overlay_update): Update.
+	* symfile.h (struct quick_symbol_functions)
+	<find_pc_sect_symtab>: Change type of msymbol to
+	bound_minimal_symbol.
+	* symmisc.c (dump_msymbols): Update.
+	* symtab.c (find_pc_sect_symtab_via_partial)
+	(find_pc_sect_psymtab, find_pc_sect_line, skip_prologue_sal)
+	(search_symbols, print_msymbol_info): Update.
+	* symtab.h (MSYMBOL_VALUE_RAW_ADDRESS): New macro.
+	(MSYMBOL_VALUE_ADDRESS): Redefine.
+	(BMSYMBOL_VALUE_ADDRESS): New macro.
+	* tracepoint.c (scope_info): Update.
+	* tui/tui-disasm.c (tui_find_disassembly_address)
+	(tui_get_begin_asm_address): Update.
+	* valops.c (find_function_in_inferior): Update.
+	* value.c (value_static_field, value_fn_field): Update.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* ada-lang.c (ada_update_initial_language): Update.
+	(ada_main_name, ada_has_this_exception_support): Update.
+	* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
+	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
+	* arm-tdep.c (arm_skip_stub): Update.
+	* auxv.c (ld_so_xfer_auxv): Update.
+	* avr-tdep.c (avr_scan_prologue): Update.
+	* ax-gdb.c (gen_var_ref): Update.
+	* breakpoint.c (struct breakpoint_objfile_data)
+	<overlay_msym, longjmp_msym, terminate_msym, exception_msym>: Change
+	type to bound_minimal_symbol.
+	(create_overlay_event_breakpoint)
+	(create_longjmp_master_breakpoint)
+	(create_std_terminate_master_breakpoint)
+	(create_exception_master_breakpoint): Update.
+	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
+	* c-exp.y (classify_name): Update.
+	* coffread.c (coff_symfile_read): Update.
+	* common/agent.c (agent_look_up_symbols): Update.
+	* d-lang.c (d_main_name): Update.
+	* dbxread.c (find_stab_function_addr, end_psymtab): Update.
+	* dec-thread.c (enable_dec_thread): Update.
+	* dwarf2loc.c (call_site_to_target_addr): Update.
+	* elfread.c (elf_gnu_ifunc_resolve_by_got): Update.
+	* eval.c (evaluate_subexp_standard): Update.
+	* findvar.c (struct minsym_lookup_data) <result>: Change type
+	to bound_minimal_symbol.
+	<objfile>: Remove.
+	(minsym_lookup_iterator_cb, default_read_var_value): Update.
+	* frame.c (inside_main_func): Update.
+	* frv-tdep.c (frv_frame_this_id): Update.
+	* gcore.c (call_target_sbrk): Update.
+	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
+	* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
+	Update.
+	* go-lang.c (go_main_name): Update.
+	* hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code)
+	(hppa_hpux_find_import_stub_for_addr): Update.
+	* hppa-tdep.c (hppa_extract_17,	hppa_lookup_stub_minimal_symbol):
+	Update.  Change return type.
+	* hppa-tdep.h (hppa_lookup_stub_minimal_symbol): Change return
+	type.
+	* jit.c (jit_breakpoint_re_set_internal): Update.
+	* linux-fork.c (inferior_call_waitpid, checkpoint_command):
+	Update.
+	* linux-nat.c (get_signo): Update.
+	* linux-thread-db.c (inferior_has_bug): Update
+	* m32c-tdep.c (m32c_return_value)
+	(m32c_m16c_address_to_pointer): Update.
+	* m32r-tdep.c (m32r_frame_this_id): Update.
+	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
+	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
+	* minsyms.c (lookup_minimal_symbol_internal): Rename to
+	lookup_minimal_symbol.  Change return type.
+	(lookup_minimal_symbol): Remove.
+	(lookup_bound_minimal_symbol): Update.
+	(lookup_minimal_symbol_text): Change return type.
+	(lookup_minimal_symbol_solib_trampoline): Change return type.
+	* minsyms.h (lookup_minimal_symbol, lookup_minimal_symbol_text)
+	(lookup_minimal_symbol_solib_trampoline): Change return type.
+	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
+	* objc-lang.c (lookup_objc_class, lookup_child_selector)
+	(value_nsstring, find_imps): Update.
+	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
+	* p-lang.c (pascal_main_name): Update.
+	* ppc-linux-tdep.c (ppc_linux_spe_context_lookup): Update.
+	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
+	* proc-service.c (ps_pglobal_lookup): Update.
+	* ravenscar-thread.c (get_running_thread_msymbol): Change
+	return type.
+	(has_ravenscar_runtime, get_running_thread_id): Update.
+	* remote.c (remote_check_symbols): Update.
+	* sol-thread.c (ps_pglobal_lookup): Update.
+	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
+	* solib-dsbt.c (lm_base): Update.
+	* solib-frv.c (lm_base, frv_relocate_section_addresses):
+	Update.
+	* solib-irix.c (locate_base): Update.
+	* solib-som.c (som_solib_create_inferior_hook)
+	(som_solib_desire_dynamic_linker_symbols, link_map_start):
+	Update.
+	* solib-spu.c (spu_enable_break): Update.
+	* solib-svr4.c (elf_locate_base, enable_break): Update.
+	* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
+	(flush_ea_cache): Update.
+	* stabsread.c (define_symbol): Update.
+	* symfile.c (simple_read_overlay_table): Update.
+	* symtab.c (find_pc_sect_line): Update.
+	* tracepoint.c (scope_info): Update.
+	* tui-disasm.c (tui_get_begin_asm_address): Update.
+	* value.c (value_static_field): Update.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* minsyms.c (prim_record_minimal_symbol_full): Use
+	SET_MSYMBOL_VALUE_ADDRESS.
+	* objfiles.c (objfile_relocate1): Use SET_MSYMBOL_VALUE_ADDRESS.
+	* sh64-tdep.c (sh64_elf_make_msymbol_special): Use
+	SET_MSYMBOL_VALUE_ADDRESS.
+	* symtab.h (MSYMBOL_VALUE_ADDRESS): Expand to an rvalue.
+	(SET_MSYMBOL_VALUE_ADDRESS): New macro.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* symtab.h (struct minimal_symbol) <mginfo>: Rename from ginfo.
+	(MSYMBOL_VALUE, MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_BYTES)
+	(MSYMBOL_BLOCK_VALUE, MSYMBOL_VALUE_CHAIN, MSYMBOL_LANGUAGE)
+	(MSYMBOL_SECTION, MSYMBOL_OBJ_SECTION, MSYMBOL_NATURAL_NAME)
+	(MSYMBOL_LINKAGE_NAME, MSYMBOL_PRINT_NAME, MSYMBOL_DEMANGLED_NAME)
+	(MSYMBOL_SET_LANGUAGE, MSYMBOL_SEARCH_NAME)
+	(MSYMBOL_MATCHES_SEARCH_NAME, MSYMBOL_SET_NAMES): New macros.
+	* ada-lang.c (ada_main_name): Update.
+	(ada_lookup_simple_minsym): Update.
+	(ada_make_symbol_completion_list): Update.
+	(ada_add_standard_exceptions): Update.
+	* ada-tasks.c (read_atcb, ada_tasks_inferior_data_sniffer): Update.
+	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
+	* amd64-windows-tdep.c (amd64_skip_main_prologue): Update.
+	* arm-tdep.c (skip_prologue_function): Update.
+	(arm_skip_stack_protector, arm_skip_stub): Update.
+	* arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update.
+	(arm_wince_skip_main_prologue): Update.
+	* auxv.c (ld_so_xfer_auxv): Update.
+	* avr-tdep.c (avr_scan_prologue): Update.
+	* ax-gdb.c (gen_var_ref): Update.
+	* block.c (call_site_for_pc): Update.
+	* blockframe.c (get_pc_function_start): Update.
+	(find_pc_partial_function_gnu_ifunc): Update.
+	* breakpoint.c (create_overlay_event_breakpoint): Update.
+	(create_longjmp_master_breakpoint): Update.
+	(create_std_terminate_master_breakpoint): Update.
+	(create_exception_master_breakpoint): Update.
+	(resolve_sal_pc): Update.
+	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
+	* btrace.c (ftrace_print_function_name, ftrace_function_switched):
+	Update.
+	* c-valprint.c (c_val_print): Update.
+	* coff-pe-read.c (add_pe_forwarded_sym): Update.
+	* coffread.c (coff_symfile_read): Update.
+	* common/agent.c (agent_look_up_symbols): Update.
+	* dbxread.c (find_stab_function_addr): Update.
+	(end_psymtab): Update.
+	* dwarf2loc.c (call_site_to_target_addr): Update.
+	(func_verify_no_selftailcall): Update.
+	(tailcall_dump): Update.
+	(call_site_find_chain_1): Update.
+	(dwarf_expr_reg_to_entry_parameter): Update.
+	* elfread.c (elf_gnu_ifunc_record_cache): Update.
+	(elf_gnu_ifunc_resolve_by_got): Update.
+	* f-valprint.c (info_common_command): Update.
+	* findvar.c (read_var_value): Update.
+	* frame.c (get_prev_frame_1): Update.
+	(inside_main_func): Update.
+	* frv-tdep.c (frv_skip_main_prologue): Update.
+	(frv_frame_this_id): Update.
+	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
+	* gnu-v2-abi.c (gnuv2_value_rtti_type): Update.
+	* gnu-v3-abi.c (gnuv3_rtti_type): Update.
+	(gnuv3_skip_trampoline): Update.
+	* hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline): Update.
+	(hppa64_hpux_in_solib_call_trampoline): Update.
+	(hppa_hpux_skip_trampoline_code): Update.
+	(hppa64_hpux_search_dummy_call_sequence): Update.
+	(hppa_hpux_find_import_stub_for_addr): Update.
+	(hppa_hpux_find_dummy_bpaddr): Update.
+	* hppa-tdep.c (hppa_symbol_address)
+	(hppa_lookup_stub_minimal_symbol): Update.
+	* i386-tdep.c (i386_skip_main_prologue): Update.
+	(i386_pe_skip_trampoline_code): Update.
+	* ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update.
+	* infcall.c (get_function_name): Update.
+	* infcmd.c (until_next_command): Update.
+	* jit.c (jit_breakpoint_re_set_internal): Update.
+	(jit_inferior_init): Update.
+	* linespec.c (minsym_found): Update.
+	(add_minsym): Update.
+	* linux-fork.c (info_checkpoints_command): Update.
+	* linux-nat.c (get_signo): Update.
+	* linux-thread-db.c (inferior_has_bug): Update.
+	* m32c-tdep.c (m32c_return_value): Update.
+	(m32c_m16c_address_to_pointer): Update.
+	(m32c_m16c_pointer_to_address): Update.
+	* m32r-tdep.c (m32r_frame_this_id): Update.
+	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
+	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
+	* maint.c (maintenance_translate_address): Update.
+	* minsyms.c (add_minsym_to_hash_table): Update.
+	(add_minsym_to_demangled_hash_table): Update.
+	(msymbol_objfile): Update.
+	(lookup_minimal_symbol): Update.
+	(iterate_over_minimal_symbols): Update.
+	(lookup_minimal_symbol_text): Update.
+	(lookup_minimal_symbol_by_pc_name): Update.
+	(lookup_minimal_symbol_solib_trampoline): Update.
+	(lookup_minimal_symbol_by_pc_section_1): Update.
+	(lookup_minimal_symbol_and_objfile): Update.
+	(prim_record_minimal_symbol_full): Update.
+	(compare_minimal_symbols): Update.
+	(compact_minimal_symbols): Update.
+	(build_minimal_symbol_hash_tables): Update.
+	(install_minimal_symbols): Update.
+	(terminate_minimal_symbol_table): Update.
+	(find_solib_trampoline_target): Update.
+	(minimal_symbol_upper_bound): Update.
+	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
+	* mips-tdep.c (mips_stub_frame_sniffer): Update.
+	(mips_skip_pic_trampoline_code): Update.
+	* msp430-tdep.c (msp430_skip_trampoline_code): Update.
+	* objc-lang.c (selectors_info): Update.
+	(classes_info): Update.
+	(find_methods): Update.
+	(find_imps): Update.
+	(find_objc_msgsend): Update.
+	* objfiles.c (objfile_relocate1): Update.
+	* objfiles.h (ALL_OBJFILE_MSYMBOLS): Update.
+	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
+	* p-valprint.c (pascal_val_print): Update.
+	* parse.c (write_exp_msymbol): Update.
+	* ppc-linux-tdep.c (powerpc_linux_in_dynsym_resolve_code)
+	(ppc_linux_spe_context_lookup, ppc_elfv2_skip_entrypoint): Update.
+	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
+	* printcmd.c (build_address_symbolic): Update.
+	(sym_info): Update.
+	(address_info): Update.
+	* proc-service.c (ps_pglobal_lookup): Update.
+	* psymtab.c (find_pc_sect_psymtab_closer): Update.
+	(find_pc_sect_psymtab): Update.
+	* python/py-framefilter.c (py_print_frame): Update.
+	* ravenscar-thread.c (get_running_thread_id): Update.
+	* record-btrace.c (btrace_call_history, btrace_get_bfun_name):
+	Update.
+	* remote.c (remote_check_symbols): Update.
+	* rs6000-tdep.c (rs6000_skip_main_prologue): Update.
+	(rs6000_skip_trampoline_code): Update.
+	* sh64-tdep.c (sh64_elf_make_msymbol_special): Update.
+	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
+	* solib-dsbt.c (lm_base): Update.
+	* solib-frv.c (lm_base): Update.
+	(main_got): Update.
+	* solib-irix.c (locate_base): Update.
+	* solib-som.c (som_solib_create_inferior_hook): Update.
+	(som_solib_desire_dynamic_linker_symbols): Update.
+	(link_map_start): Update.
+	* solib-spu.c (spu_enable_break): Update.
+	(ocl_enable_break): Update.
+	* solib-svr4.c (elf_locate_base): Update.
+	(enable_break): Update.
+	* spu-tdep.c (spu_get_overlay_table): Update.
+	(spu_catch_start): Update.
+	(flush_ea_cache): Update.
+	* stabsread.c (define_symbol): Update.
+	(scan_file_globals): Update.
+	* stack.c (find_frame_funname): Update.
+	(frame_info): Update.
+	* symfile.c (simple_read_overlay_table): Update.
+	(simple_overlay_update): Update.
+	* symmisc.c (dump_msymbols): Update.
+	* symtab.c (fixup_section): Update.
+	(find_pc_sect_line): Update.
+	(skip_prologue_sal): Update.
+	(search_symbols): Update.
+	(print_msymbol_info): Update.
+	(rbreak_command): Update.
+	(MCOMPLETION_LIST_ADD_SYMBOL): New macro.
+	(completion_list_objc_symbol): Update.
+	(default_make_symbol_completion_list_break_on): Update.
+	* tracepoint.c (scope_info): Update.
+	* tui/tui-disasm.c (tui_find_disassembly_address): Update.
+	(tui_get_begin_asm_address): Update.
+	* valops.c (find_function_in_inferior): Update.
+	* value.c (value_static_field): Update.
+	(value_fn_field): Update.
+
+2014-02-26  Tom Tromey  <tromey@redhat.com>
+
+	* blockframe.c (find_pc_partial_function_gnu_ifunc): Use
+	bound minimal symbols.  Move code that knows about minsym
+	table layout...
+	* minsyms.c (minimal_symbol_upper_bound): ... here.  New
+	function.
+	* minsyms.h (minimal_symbol_upper_bound): Declare.
+	* objc-lang.c (find_objc_msgsend): Use bound minimal symbols,
+	minimal_symbol_upper_bound.
+
+2014-02-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* python/lib/gdb/printing.py (RegexpCollectionPrettyPrinter):
+	Use the type's name if its basic type does not have a tag.
+
+2014-02-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2read.c (read_subrange_type): Add comment.
+
+2014-02-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* dwarf2read.c (update_enumeration_type_from_children): New
+	function, mostly extracted from process_structure_scope.
+	(read_enumeration_type): Call update_enumeration_type_from_children.
+	(process_enumeration_scope): Do not set THIS_TYPE's flag_unsigned
+	and flag_flag_enum fields.
+
+2014-02-26  Pedro Alves  <palves@redhat.com>
+
+	* bsd-uthread.c (bsd_uthread_xfer_partial): Delete function.
+	(bsd_uthread_target): Don't install bsd_uthread_xfer_partial as
+	to_xfer_partial method.
+
+2014-02-26  Pedro Alves  <palves@redhat.com>
+
+	* target.c (complete_target_initialization): Don't install
+	default_xfer_partial as to_xfer_partial hook.
+	(nomemory): Delete.
+	(update_current_target): Don't INHERIT nor de_fault
+	deprecated_xfer_memory.  Delete de_fault macro.
+	(default_xfer_partial, deprecated_debug_xfer_memory): Delete.
+	(setup_target_debug): Don't install a deprecated_xfer_memory hook.
+	* target.h (struct target_ops) <deprecated_xfer_memory>: Delete
+	field.
+
+2014-02-26  Pedro Alves  <palves@redhat.com>
+
+	* go32-nat.c (my_write_child): New function.
+	(go32_xfer_memory): Rewrite as to_xfer_partial helper.
+	(go32_xfer_partial): New function.
+	(init_go32_ops): Don't install a deprecated_xfer_memory hook.
+	Instead install a to_xfer_partial hook.
+
+2014-02-26  Pedro Alves  <palves@redhat.com>
+
+	* nto-procfs.c (procfs_xfer_memory): Adjust interface as a
+	to_xfer_partial helper.  Rewrite.
+	(procfs_xfer_partial): New function.
+	(init_procfs_ops): Don't install a deprecated_xfer_memory hook.
+	Install a to_xfer_partial hook.
+
+2014-02-26  Pedro Alves  <palves@redhat.com>
+
+	* remote-m32r-sdi.c (send_data): Constify 'buf' parameter.
+	(m32r_xfer_memory): Adjust as a to_xfer_partial helper.
+	(m32r_xfer_partial): New function.
+	(init_m32r_ops): Don't install a deprecated_xfer_memory hook.
+	Install a to_xfer_partial hook.
+
+2014-02-26  Pedro Alves  <palves@redhat.com>
+
+	* remote-mips.c (mips_xfer_memory): Adjust as to_xfer_partial
+	helper.
+	(mips_xfer_partial): New function.
+	(_initialize_remote_mips): Don't install a deprecated_xfer_memory
+	hook.  Install a to_xfer_partial hook.
+
+2014-02-26  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdbtypes.h (create_array_type_with_stride): Add declaration.
+	* gdbtypes.c (create_array_type_with_stride): New function,
+	renaming create_array_type, but with an added parameter
+	called "bit_stride".
+	(create_array_type): Re-implement using
+	create_array_type_with_stride.
+	* dwarf2read.c (read_array_type): Add support for DW_AT_byte_stride
+	and DW_AT_bit_stride attributes.
+
+2014-02-26  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (bpstat_check_breakpoint_conditions): Handle
+	task-specific breakpoints.
+
+2014-02-25  Pedro Alves  <palves@redhat.com>
+
+	* ia64-linux-nat.c (ia64_linux_xfer_partial): Reimplement
+	handling of object == TARGET_OBJECT_UNWIND_TABLE.
+
+2014-02-25  Stan Shebs  <stan@codesourcery.com>
+
+	* defs.h: Annotate comments for Doxygen.
+
+2014-02-25  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (target_ignore): Don't declare.
+	* target.c (target_ignore): Remove.
+
+2014-02-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR gdb/16626
+	* auto-load.c (auto_load_objfile_script_1): Change filename to
+	debugfile.
+
+2014-02-25  Joel Brobecker  <brobecker@adacore.com>
+
+	* ia64-linux-nat.c (ia64_linux_xfer_partial): Add function
+	documentation.  Adjust prototype to match the target_ops
+	to_xfer_partial method.  Adjust implementation accordingly.
+
+2014-02-25  Hui Zhu  <hui@codesourcery.com>
+
+	* target.h (target_ops): Fix TARGET_DEFAULT_RETURN of
+	to_traceframe_info.
+
+2014-02-25  Kevin Buettner  <kevinb@redhat.com>
+
+	* rl78-tdep.c (RL78_BANK0_RP0_PTR_REGNUM, RL78_BANK0_RP1_PTR_REGNUM)
+	(RL78_BANK0_RP2_PTR_REGNUM, RL78_BANK0_RP3_PTR_REGNUM)
+	(RL78_BANK1_RP0_PTR_REGNUM, RL78_BANK1_RP1_PTR_REGNUM)
+	(RL78_BANK1_RP2_PTR_REGNUM, RL78_BANK1_RP3_PTR_REGNUM)
+	(RL78_BANK2_RP0_PTR_REGNUM, RL78_BANK2_RP1_PTR_REGNUM)
+	(RL78_BANK2_RP2_PTR_REGNUM, RL78_BANK2_RP3_PTR_REGNUM)
+	(RL78_BANK3_RP0_PTR_REGNUM, RL78_BANK3_RP1_PTR_REGNUM)
+	(RL78_BANK3_RP2_PTR_REGNUM, RL78_BANK3_RP3_PTR_REGNUM):
+	New constants.
+	(rl78_register_type): Use a data pointer type for SP and
+	new pseudo registers mentioned above.  Use a 16 bit integer
+	type for all other register pairs.
+	(rl78_register_name, rl78_g10_register_name): Update for
+	new pseudo registers.
+	(rl78_pseudo_register_read): Likewise.
+	(rl78_pseudo_register_write): Likewise.
+	(rl78_dwarf_reg_to_regnum): Return register numbers representing
+	to the newly added pseudo registers.
+
+2014-02-24  Doug Evans  <dje@google.com>
+
+	* value.c (record_latest_value): Fix comment.
+	* printcmd.c (print_command_1): Remove code to handle -1 return from
+	record_latest_value.
+
+2014-02-24  Pedro Alves  <palves@redhat.com>
+
+	* procfs.c (procfs_target): Don't install procfs_xfer_memory as
+	deprecated_xfer_memory hook.
+	(procfs_xfer_partial): Call procfs_xfer_memory instead
+	of the deprecated_xfer_memory target hook.
+	(procfs_xfer_memory): Adjust interface as a to_xfer_partial
+	helper.
+
+2014-02-24  Yuanhui Zhang  <asmwarrior@gmail.com>
+
+	* windows-nat.c (windows_xfer_shared_libraries): Return
+	TARGET_XFER_EOF if LEN is zero to fix an assert failure when
+	requested object is TARGET_OBJECT_LIBRARIES.
+
+2014-02-24  Yao Qi  <yao@codesourcery.com>
+
+	* target.h (enum target_xfer_status)
+	<TARGET_XFER_E_UNAVAILABLE>: Rename it to ...
+	<TARGET_XFER_UNAVAILABLE>: ... it with setting value 2
+	explicitly.  New.
+	* corefile.c (memory_error_message): User updated.
+	* exec.c (section_table_read_available_memory): Likewise.
+	* record-btrace.c (record_btrace_xfer_partial): Likewise.
+	* target.c (target_xfer_status_to_string): Likewise.
+	(raw_memory_xfer_partial): Likewise.
+	(memory_xfer_partial_1, target_xfer_partial): Likewise.
+	* valops.c (read_value_memory): Likewise.
+	* exec.h: Update comments.
+
+2014-02-24  Yao Qi  <yao@codesourcery.com>
+
+	* target.c (target_xfer_status_to_string): Rename argument err
+	to status.
+	* target.h (target_xfer_status_to_string): Update declaration.
+	Replace target_xfer_error_to_string with
+	target_xfer_status_to_string in comment.
+
+2014-02-24  Yao Qi  <yao@codesourcery.com>
+
+	* mips-linux-nat.c (super_close): Update its type.
+	(mips_linux_close): Pass 'self' to super_close.
+
+2014-02-24  Yao Qi  <yao@codesourcery.com>
+
+	* target.h (TARGET_XFER_STATUS_ERROR_P): Remove.
+	* corefile.c (read_memory): Adjusted.
+	* target.c (target_write_with_progress): Adjusted.
+
+2014-02-23  Yao Qi  <yao@codesourcery.com>
+
+	Revert two patches:
+
+	2013-10-25  Yao Qi  <yao@codesourcery.com>
+
+	* remote.c (remote_traceframe_info): Return early if
+	traceframe is not selected.
+
+	2013-07-19  Yao Qi  <yao@codesourcery.com>
+
+	* target.c (update_current_target): Change the default action
+	of 'to_traceframe_info' from tcomplain to return_zero.
+	* target.h (struct target_ops) <to_traceframe_info>: Add more
+	comments.
+
+2014-02-23  Yao Qi  <yao@codesourcery.com>
+
+	* valops.c (read_value_memory): Rewrite it.  Call
+	target_xfer_partial in a loop.
+	* exec.h (section_table_available_memory): Remove declaration.
+	Move comments to ...
+	* exec.c (section_table_available_memory): ... here.  Make it
+	static.
+
+2014-02-23  Yao Qi  <yao@codesourcery.com>
+
+	* exec.c (section_table_read_available_memory): New function.
+	* exec.h (section_table_read_available_memory): Declare.
+	* ctf.c (ctf_xfer_partial): Call
+	section_table_read_available_memory.
+	* tracefile-tfile.c (tfile_xfer_partial): Likewise.
+
+2014-02-23  Yao Qi  <yao@codesourcery.com>
+
+	* ctf.c (ctf_xfer_partial): Move code to ...
+	* exec.c (exec_read_partial_read_only): ... it.  New function.
+	* tracefile-tfile.c (tfile_xfer_partial): Likewise.
+	* tracefile.c: Include "exec.h".
+	* exec.h (exec_read_partial_read_only): Declare.
+
+2014-02-23  Yao Qi  <yao@codesourcery.com>
+
+	* tracefile-tfile.c (tfile_has_all_memory): Remove.
+	(tfile_has_memory): Remove.
+	(init_tfile_ops): Don't set fields to_has_all_memory and
+	to_has_memory of tfile_ops.
+	* tracefile.c (tracefile_has_all_memory): New function.
+	(tracefile_has_memory): New function.
+	(init_tracefile_ops): Initialize fields to_has_all_memory and
+	to_has_memory of 'ops'.
+
+2014-02-23  Yao Qi  <yao@codesourcery.com>
+
+	* ctf.c (ctf_has_stack, ctf_has_registers): Remove.
+	(ctf_thread_alive, ctf_get_trace_status): Remove.
+	(init_ctf_ops): Don't set some fields of ctf_ops.  Call
+	init_tracefile_ops.
+	* tracefile-tfile.c (tfile_get_trace_status): Remove.
+	(tfile_has_stack, tfile_has_registers): Remove.
+	(tfile_thread_alive): Remove.
+	(init_tfile_ops): Don't set some fields of tfile_ops.  Call
+	init_tracefile_ops.
+	* tracefile.c (tracefile_has_stack): New function.
+	(tracefile_has_registers): New function.
+	(tracefile_thread_alive): New function.
+	(tracefile_get_trace_status): New function.
+	(init_tracefile_ops): New function.
+	* tracefile.h (init_tracefile_ops): Declare.
+
+2014-02-23  Yao Qi  <yao@codesourcery.com>
+
+	* tracepoint.c (TFILE_PID): Move it to tracefile-tfile.c.
+	(O_LARGEFILE): Likewise.
+	(tfile_ops): Likewise.
+	(TRACE_HEADER_SIZE): Likewise.
+	(trace_fd, trace_frames_offset, cur_offset): Likewise.
+	(cur_data_size): Likewise.
+	(tfile_read, tfile_open, tfile_interp_line): Likewise.
+	(tfile_close, tfile_files_info): Likewise.
+	(tfile_get_trace_status): Likewise.
+	(tfile_get_tracepoint_status): Likewise.
+	(tfile_get_traceframe_address): Likewise.
+	(tfile_trace_find, match_blocktype): Likewise.
+	(traceframe_walk_blocks, traceframe_find_block_type): Likewise.
+	(tfile_fetch_registers, tfile_xfer_partial): Likewise.
+	(tfile_get_trace_state_variable_value): Likewise.
+	(tfile_has_all_memory, tfile_has_memory): Likewise.
+	(tfile_has_stack, tfile_has_registers): Likewise.
+	(tfile_thread_alive, build_traceframe_info): Likewise.
+	(tfile_traceframe_info, init_tfile_ops): Likewise.
+	(_initialize_tracepoint): Don't call init_tfile_ops
+	and add_target_with_completer.
+	* tracefile-tfile.c: Include regcache.h, inferior.h, gdbthread.h,
+	exec.h, completer.h and filenames.h.
+	(_initialize_tracefile_tfile): New function.
+
+2014-02-23  Yao Qi  <yao@codesourcery.com>
+
+	* Makefile.in (REMOTE_OBS): Append tracefile.o and
+	tracefile-tfile.o.
+	(HFILES_NO_SRCDIR): Add tracefile.h.
+	* ctf.c: Include "tracefile.h".
+	* tracefile.h: New file.
+	* tracefile.c: New file
+	* tracefile-tfile.c: New file.
+	* tracepoint.c: Include "tracefile.h".
+	(free_uploaded_tps, free_uploaded_tsvs): Remove declarations.
+	(stop_reason_names): Add const.
+	(trace_file_writer_xfree): Move it to tracefile.c.
+	(trace_save, trace_save_command, trace_save_tfile): Likewise.
+	(trace_save_ctf): Likewise.
+	(struct tfile_trace_file_writer): Move it to tracefile-tfile.c.
+	(tfile_target_save, tfile_dtor, tfile_start): Likewise.
+	(tfile_write_header, tfile_write_regblock_type): Likewise.
+	(tfile_write_status, tfile_write_uploaded_tsv): Likewise.
+	(tfile_write_uploaded_tp, tfile_write_definition_end): Likewise.
+	(tfile_write_raw_data, tfile_end): Likewise.
+	(tfile_trace_file_writer_new): Likewise.
+	(free_uploaded_tp): Make it extern.
+	(free_uploaded_tsv): Make it extern.
+	(_initialize_tracepoint): Move code to register command 'tsave'
+	to tracefile.c.
+	* tracepoint.h (stop_reason_names): Declare.
+	(struct trace_frame_write_ops): Move it to tracefile.h.
+	(struct trace_file_write_ops): Likewise.
+	(struct trace_file_writer): Likewise.
+	(free_uploaded_tsvs, free_uploaded_tps): Declare.
+
+2014-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR gdb/16594
+	* common/linux-osdata.c (linux_common_core_of_thread): Find the end of
+	process name.
+	(get_cores_used_by_process): New parameter num_cores, use it.
+	(linux_xfer_osdata_processes): Pass num_cores to it.
+	* linux-tdep.c (linux_info_proc, linux_fill_prpsinfo): Find the end of
+	process name.
+
+2014-02-21  Andreas Arnez  <arnez@vnet.linux.ibm.com>
+
+	* target.c (memory_xfer_partial): Fix length arg in call to
+	breakpoint_xfer_memory.
+
+2014-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR tdep/16397
+	* i386-tdep.c (i386_stap_parse_special_token_triplet): Check if a
+	number comes after the + or - signs.  Adjust length of register
+	name to be extracted.
+
+2014-02-20  Tom Tromey  <tromey@redhat.com>
+
+	* varobj.h (c_varobj_ops, cplus_varobj_ops, java_varobj_ops)
+	(ada_varobj_ops): Mark "extern".
+
+2014-02-20  Tom Tromey  <tromey@redhat.com>
+
+	* dbxread.c (read_dbx_symtab): Remove last_o_file_start.
+
+2014-02-20  Doug Evans  <xdje42@gmail.com>
+
+	* guile/scm-gsmob.c (gdbscm_init_eqable_gsmob): New arg containing_scm.
+	All callers updated.
+	(gdbscm_fill_eqable_gsmob_ptr_slot): Delete arg containing_scm.
+	All callers updated.
+	* guile/guile-internal.h (gdbscm_init_eqable_gsmob): Update.
+	(gdbscm_fill_eqable_gsmob_ptr_slot): Update.
+
+2014-02-20  lin zuojian  <manjian2006@gmail.com>
+	    Joel Brobecker  <brobecker@adacore.com>
+	    Doug Evans  <xdje42@gmail.com>
+
+	PR symtab/16581
+	* dwarf2read.c (struct die_info): New member in_process.
+	(reset_die_in_process): New function.
+	(process_die): Set it at the start, reset when returning.
+	(inherit_abstract_dies): Only call process_die if origin_child_die
+	not already being processed.
+
+2014-02-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* windows-nat.c (handle_unload_dll): Add function documentation.
+	(do_initial_windows_stuff): Add comment explaining why we wait
+	until after inferior initialization has finished before
+	processing all DLLs.
+
+2014-02-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* windows-nat.c (get_module_name): Delete.
+	(windows_get_exec_module_filename): New function, mostly
+	inspired from get_module_name.
+	(windows_pid_to_exec_file): Replace call to get_module_name
+	by call to windows_get_exec_module_filename.
+
+2014-02-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* windows-nat.c (handle_load_dll): Rewrite this function's
+	introductory comment.  Remove code using get_module_name
+	to get the DLL's name.
+
+2014-02-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* windows-nat.c (get_windows_debug_event): Ignore
+	LOAD_DLL_DEBUG_EVENT and UNLOAD_DLL_DEBUG_EVENT
+	if windows_initialization_done == 0.
+	(windows_add_all_dlls): Renames windows_ensure_ntdll_loaded.
+	Adjust implementation to always load all DLLs.
+	(do_initial_windows_stuff): Replace call to
+	windows_ensure_ntdll_loaded by call to windows_add_all_dlls.
+
+2014-02-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* windows-nat.c (_initialize_windows_nat): Deprecate the
+	"dll-symbols" command.  Turn the "add-shared-symbol-files"
+	and "assf" aliases into commands, and deprecate them as well.
+	* NEWS: Add entry explaining that "dll-symbols" and its two
+	aliases are now deprecated.
+
+2014-02-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* dec-thread.c (dec_thread_get_ada_task_ptid): Avoid unescaped
+	new-line in debug string.  Remove trailing spaces.
+
+2014-02-19  Stan Shebs  <stan@codesourcery.com>
+
+	* darwin-nat.c (darwin_xfer_partial): Fix return type.
+
+2014-02-19  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* NEWS: Add entry for the new feature
+	* python/py-value.c (valpy_binop): Call value_x_binop for struct
+	and class values.
+
+2014-02-19  Stan Shebs  <stan@codesourcery.com>
+
+	* MAINTAINERS: List Yao Qi as nios2 maintainer.
+
+2014-02-19  Pedro Alves  <palves@redhat.com>
+
+	* common/ptid.h (struct ptid): Mention that process_stratum
+	targets should prefer ptid.lwp.
+
+2014-02-19  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (remote_thread_alive, write_ptid, read_ptid)
+	(read_ptid, remote_newthread_step, remote_threads_extra_info)
+	(remote_get_ada_task_ptid, append_resumption, remote_stop_ns)
+	(threadalive_test, remote_pid_to_str): Use the ptid.lwp field to
+	store remote thread ids rather than ptid.tid.
+	(_initialize_remote): Adjust.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.c (target_get_unwinder): Rewrite.
+	(target_get_tailcall_unwinder): Rewrite.
+	* record-btrace.c (record_btrace_to_get_unwinder): New function.
+	(record_btrace_to_get_tailcall_unwinder): New function.
+	(init_record_btrace_ops): Update.
+	* target.h (struct target_ops) <to_get_unwinder,
+	to_get_tailcall_unwinder>: Now function pointers.  Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* nto-procfs.c (procfs_remove_hw_breakpoint): Add 'self'
+	argument.
+	(init_procfs_ops): Correctly set to_remove_hw_breakpoint.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* record-btrace.c (record_btrace_decr_pc_after_break): Delegate
+	directly.
+	* target-delegates.c: Rebuild.
+	* target.h (struct target_ops) <to_decr_pc_after_break>: Use
+	TARGET_DEFAULT_FUNC.
+	* target.c (default_target_decr_pc_after_break): Rename from
+	forward_target_decr_pc_after_break.  Simplify.
+	(target_decr_pc_after_break): Rely on delegation.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.c (update_current_target): Do not INHERIT to_doc or
+	to_magic.  Do not de_fault to_open or to_close.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* gcore.h (objfile_find_memory_regions): Declare.
+	* gcore.c (objfile_find_memory_regions): No longer static.  Add
+	"self" argument.
+	(_initialize_gcore): Don't call exec_set_find_memory_regions.
+	* exec.c: Include gcore.h.
+	(exec_set_find_memory_regions): Remove.
+	(exec_find_memory_regions): Remove.
+	(exec_do_find_memory_regions): Remove.
+	(init_exec_ops): Update.
+	* defs.h (exec_set_find_memory_regions): Remove.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.h (struct target_ops) <to_extra_thread_info,
+	to_thread_name, to_pid_to_exec_file, to_get_section_table,
+	to_memory_map, to_read_description, to_traceframe_info>: Use NULL,
+	not 0, in TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.c (complete_target_initialization): Remove casts.  Use
+	return_zero_has_execution.
+	(return_zero): Add "ignore" argument.
+	(return_zero_has_execution): New function.
+	(init_dummy_target): Remove casts.  Use
+	return_zero_has_execution.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.c (update_current_target): Update comments.  Do not
+	INHERIT to_stratum.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* arm-linux-nat.c (arm_linux_read_description): Delegate when
+	needed.
+	* corelow.c (core_read_description): Delegate when needed.
+	* remote.c (remote_read_description): Delegate when needed.
+	* target-delegates.c: Rebuild.
+	* target.c (target_read_description): Rewrite.
+	* target.h (struct target_ops) <to_read_description>: Update
+	comment.  Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_can_run.
+	(find_default_run_target): Check against delegate_can_run.
+	* target.h (struct target_ops) <to_can_run>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_disconnect): Unconditionally delegate.
+	* target.h (struct target_ops) <to_disconnect>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* record.c (record_stop): Unconditionally delegate.
+	* target-delegates.c: Rebuild.
+	* target.c (target_stop_recording): Unconditionally delegate.
+	* target.h (struct target_ops) <to_stop_recording>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_enable_btrace): Unconditionally delegate.
+	* target.h (struct target_ops) <to_enable_btrace>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_read_btrace): Unconditionally delegate.
+	* target.h (struct target_ops) <to_read_btrace>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_teardown_btrace): Unconditionally delegate.
+	* target.h (struct target_ops) <to_teardown_btrace>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_disable_btrace): Unconditionally delegate.
+	* target.h (struct target_ops) <to_disable_btrace>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (default_search_memory): New function.
+	(simple_search_memory): Update comment.
+	(target_search_memory): Unconditionally delegate.
+	* target.h (struct target_ops) <to_search_memory>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* auxv.c (default_auxv_parse): No longer static.
+	(target_auxv_parse): Unconditionally delegate.
+	* auxv.h (default_auxv_parse): Declare.
+	* target-delegates.c: Rebuild.
+	* target.c: Include auxv.h.
+	* target.h (struct target_ops) <to_auxv_parse>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_memory_map): Unconditionally delegate.
+	* target.h (struct target_ops) <to_memory_map>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_thread_alive): Unconditionally delegate.
+	* target.h (struct target_ops) <to_thread_alive>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_save_record): Unconditionally delegate.
+	* target.h (struct target_ops) <to_save_record>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_delete_record): Unconditionally delegate.
+	* target.h (struct target_ops) <to_delete_record>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_record_is_replaying): Unconditionally
+	delegate.
+	* target.h (struct target_ops) <to_record_is_replaying>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_goto_record_begin): Unconditionally delegate.
+	* target.h (struct target_ops) <to_goto_record_begin>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_goto_record_end): Unconditionally delegate.
+	* target.h (struct target_ops) <to_goto_record_end>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_goto_record): Unconditionally delegate.
+	* target.h (struct target_ops) <to_goto_record>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_insn_history): Unconditionally delegate.
+	* target.h (struct target_ops) <to_insn_history>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_insn_history_from): Unconditionally delegate.
+	* target.h (struct target_ops) <to_insn_history_from>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_insn_history_range): Unconditionally delegate.
+	* target.h (struct target_ops) <to_insn_history_range>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_call_history): Unconditionally delegate.
+	* target.h (struct target_ops) <to_call_history>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_call_history_from): Unconditionally delegate.
+	* target.h (struct target_ops) <to_call_history_from>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_call_history_range): Unconditionally delegate.
+	* target.h (struct target_ops) <to_call_history_range>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_verify_memory): Unconditionally delegate.
+	* target.h (struct target_ops) <to_verify_memory>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_core_of_thread): Unconditionally delegate.
+	* target.h (struct target_ops) <to_core_of_thread>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_flash_done): Unconditionally delegate.
+	* target.h (struct target_ops) <to_flash_done>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_flash_erase): Unconditionally delegate.
+	* target.h (struct target_ops) <to_flash_erase>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_get_section_table): Unconditionally delegate.
+	* target.h (struct target_ops) <to_get_section_table>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_pid_to_str): Unconditionally delegate.
+	(init_dummy_target): Don't initialize to_pid_to_str.
+	(default_pid_to_str): Rename from dummy_pid_to_str.
+	* target.h (struct target_ops) <to_pid_to_str>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_find_new_threads): Unconditionally delegate.
+	* target.h (struct target_ops) <to_find_new_threads>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_program_signals): Unconditionally delegate.
+	* target.h (struct target_ops) <to_program_signals>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_pass_signals): Unconditionally delegate.
+	* target.h (struct target_ops) <to_pass_signals>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (default_mourn_inferior): New function.
+	(target_mourn_inferior): Unconditionally delegate.
+	* target.h (struct target_ops) <to_mourn_inferior>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (default_follow_fork): New function.
+	(target_follow_fork): Unconditionally delegate.
+	* target.h (struct target_ops) <to_follow_fork>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_kill): Unconditionally delegate.
+	* target.h (struct target_ops) <to_kill>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_masked_watch_num_registers): Unconditionally
+	delegate.
+	* target.h (struct target_ops) <to_masked_watch_num_registers>:
+	Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_remove_mask_watchpoint): Unconditionally
+	delegate.
+	* target.h (struct target_ops) <to_remove_mask_watchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_insert_mask_watchpoint): Unconditionally
+	delegate.
+	* target.h (struct target_ops) <to_insert_mask_watchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_ranged_break_num_registers): Unconditionally
+	delegate.
+	* target.h (struct target_ops) <to_ranged_break_num_registers>:
+	Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_fetch_registers): Unconditionally delegate.
+	* target.h (struct target_ops) <to_fetch_registers>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_stop.
+	* target.h (struct target_ops) <to_stop>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_can_run_breakpoint_commands.
+	* target.h (struct target_ops) <to_can_run_breakpoint_commands>:
+	Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_supports_evaluation_of_breakpoint_conditions.
+	* target.h (struct target_ops)
+	<to_supports_evaluation_of_breakpoint_conditions>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_augmented_libraries_svr4_read.
+	* target.h (struct target_ops) <to_augmented_libraries_svr4_read>:
+	Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_can_use_agent.
+	* target.h (struct target_ops) <to_can_use_agent>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_use_agent.
+	* target.h (struct target_ops) <to_use_agent>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_traceframe_info.
+	(return_null): Remove.
+	* target.h (struct target_ops) <to_traceframe_info>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_static_tracepoint_markers_by_strid.
+	* target.h (struct target_ops)
+	<to_static_tracepoint_markers_by_strid>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_static_tracepoint_marker_at.
+	* target.h (struct target_ops) <to_static_tracepoint_marker_at>:
+	Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_set_permissions.
+	* target.h (struct target_ops) <to_set_permissions>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_get_tib_address.
+	* target.h (struct target_ops) <to_get_tib_address>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_set_trace_notes.
+	* target.h (struct target_ops) <to_set_trace_notes>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't initialize
+	to_set_trace_buffer_size.
+	* target.h (struct target_ops) <to_set_trace_buffer_size>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_set_circular_trace_buffer.
+	* target.h (struct target_ops) <to_set_circular_trace_buffer>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_set_disconnected_tracing.
+	* target.h (struct target_ops) <to_set_disconnected_tracing>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_get_min_fast_tracepoint_insn_len.
+	(return_minus_one): Remove.
+	* target.h (struct target_ops)
+	<to_get_min_fast_tracepoint_insn_len>: Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_get_raw_trace_data.
+	* target.h (struct target_ops) <to_get_raw_trace_data>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_upload_trace_state_variables.
+	* target.h (struct target_ops) <to_upload_trace_state_variables>:
+	Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_upload_tracepoints.
+	* target.h (struct target_ops) <to_upload_tracepoints>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_save_trace_data.
+	* target.h (struct target_ops) <to_save_trace_data>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_get_trace_state_variable_value.
+	* target.h (struct target_ops)
+	<to_get_trace_state_variable_value>: Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_trace_find.
+	* target.h (struct target_ops): Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_trace_stop.
+	* target.h (struct target_ops) <to_trace_stop>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_get_tracepoint_status.
+	* target.h (struct target_ops) <to_get_tracepoint_status>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_get_trace_status.
+	* target.h (struct target_ops) <to_get_trace_status>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_trace_start.
+	* target.h (struct target_ops) <to_trace_start>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_trace_set_readonly_regions.
+	* target.h (struct target_ops) <to_trace_set_readonly_regions>:
+	Use TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_disable_tracepoint.
+	* target.h (struct target_ops) <to_disable_tracepoint>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_enable_tracepoint.
+	* target.h (struct target_ops) <to_enable_tracepoint>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_download_trace_state_variable.
+	* target.h (struct target_ops) <to_download_trace_state_variable>:
+	Use TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_can_download_tracepoint.
+	* target.h (struct target_ops) <to_can_download_tracepoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_download_tracepoint.
+	* target.h (struct target_ops) <to_download_tracepoint>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_trace_init.
+	* target.h (struct target_ops) <to_trace_init>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_supports_string_tracing.
+	* target.h (struct target_ops) <to_supports_string_tracing>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_supports_enable_disable_tracepoint.
+	* target.h (struct target_ops)
+	<to_supports_enable_disable_tracepoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_supports_multi_process.
+	* target.h (struct target_ops) <to_supports_multi_process>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_get_ada_task_ptid.
+	* target.h (struct target_ops) <to_get_ada_task_ptid>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_thread_architecture.
+	* target.h (struct target_ops) <to_thread_architecture>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_execution_direction.
+	* target.h (struct target_ops) <to_execution_direction>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_can_execute_reverse.
+	* target.h (struct target_ops) <to_can_execute_reverse>: Use
+	TARGET_DEFAULT_RETURN.
+	(target_can_execute_reverse): Unconditionally delegate.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_goto_bookmark.
+	(dummy_goto_bookmark): Remove.
+	(init_dummy_target): Don't inherit or default to_goto_bookmark.
+	* target.h (struct target_ops) <to_goto_bookmark>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_get_bookmark.
+	(dummy_get_bookmark): Remove.
+	(init_dummy_target): Don't inherit or default to_get_bookmark.
+	* target.h (struct target_ops) <to_get_bookmark>: Use
+	TARGET_DEFAULT_NORETURN
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_make_corefile_notes.
+	(init_dummy_target): Don't initialize to_make_corefile_notes.
+	* target.h (struct target_ops) <to_make_corefile_notes>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_find_memory_regions.
+	(init_dummy_target): Don't initialize to_find_memory_regions.
+	* target.h (struct target_ops) <to_find_memory_regions>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_log_command.
+	* target.h (struct target_ops) <to_log_command>: Use
+	TARGET_DEFAULT_IGNORE.
+	(target_log_command): Unconditionally delegate.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_pid_to_exec_file.
+	* target.h (struct target_ops) <to_pid_to_exec_file>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_thread_name.
+	(target_thread_name): Unconditionally delegate.
+	* target.h (struct target_ops) <to_thread_name>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_extra_thread_info.
+	* target.h (struct target_ops) <to_extra_thread_info>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_has_exited.
+	* target.h (struct target_ops) <to_has_exited>: Use
+	TARGET_DEFAULT_RETURN..
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_set_syscall_catchpoint.
+	(return_one): Remove.
+	* target.h (struct target_ops) <to_set_syscall_catchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_insert_exec_catchpoint.
+	* target.h (struct target_ops) <to_insert_exec_catchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-01-08  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_insert_exec_catchpoint.
+	* target.h (struct target_ops) <to_insert_exec_catchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_remove_vfork_catchpoint.
+	* target.h (struct target_ops) <to_remove_vfork_catchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_insert_vfork_catchpoint.
+	* target.h (struct target_ops) <to_insert_vfork_catchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_remove_fork_catchpoint.
+	* target.h (struct target_ops) <to_remove_fork_catchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_insert_fork_catchpoint.
+	* target.h (struct target_ops) <to_insert_fork_catchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_post_startup_inferior.
+	* target.h (struct target_ops) <to_post_startup_inferior>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_load.
+	* target.h (struct target_ops) <to_load>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_terminal_info.
+	* target.h (struct target_ops) <to_terminal_info>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_terminal_save_ours.
+	* target.h (struct target_ops) <to_terminal_save_ours>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_terminal_ours.
+	* target.h (struct target_ops) <to_terminal_ours>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_terminal_ours_for_output.
+	* target.h (struct target_ops) <to_terminal_ours_for_output>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_terminal_inferior.
+	* target.h (struct target_ops) <to_terminal_inferior>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_terminal_init.
+	* target.h (struct target_ops) <to_terminal_init>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_can_accel_watchpoint_condition.
+	* target.h (struct target_ops)
+	<to_can_accel_watchpoint_condition>: Use TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_region_ok_for_hw_watchpoint.
+	* target.h (struct target_ops) <to_region_ok_for_hw_watchpoint>:
+	Use TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_watchpoint_addr_within_range.
+	* target.h (struct target_ops) <to_watchpoint_addr_within_range>:
+	Use TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_remove_watchpoint.
+	* target.h (struct target_ops) <to_remove_watchpoint>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_insert_watchpoint.
+	* target.h (struct target_ops) <to_insert_watchpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_remove_hw_breakpoint.
+	* target.h (struct target_ops) <to_remove_hw_breakpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_insert_hw_breakpoint.
+	* target.h (struct target_ops) <to_insert_hw_breakpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_can_use_hw_breakpoint.
+	* target.h (struct target_ops) <to_can_use_hw_breakpoint>: Use
+	TARGET_DEFAULT_RETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_files_info.
+	* target.h (struct target_ops) <to_files_info>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_store.
+	* target.h (struct target_ops) <to_store>: Use
+	TARGET_DEFAULT_NORETURN.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_post_attach.
+	* target.h (struct target_ops) <to_post_attach>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (update_current_target): Don't inherit or default
+	to_rcmd.
+	(default_rcmd): New function.
+	(do_monitor_command): Unconditionally delegate.
+	* target.h (struct target_ops) <to_rmcd>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (init_dummy_target): Don't initialize to_attach.
+	(target_attach): Unconditionally delegate.
+	* target.h (struct target_ops) <to_attach>: Use
+	TARGET_DEFAULT_FUNC.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target-delegates.c: Rebuild.
+	* target.c (target_detach): Unconditionally delegate.
+	(init_dummy_target): Don't initialize to_detach.
+	* target.h (struct target_ops) <to_detach>: Use
+	TARGET_DEFAULT_IGNORE.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_augmented_libraries_svr4_read>:
+	Add argument.
+	(target_augmented_libraries_svr4_read): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_augmented_libraries_svr4_read): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_call_history_range>: Add
+	argument.
+	* target.c (target_call_history_range): Add argument.
+	* record-btrace.c (record_btrace_call_history_range): Add 'self'
+	argument.
+	(record_btrace_call_history_from): Update.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_call_history_from>: Add
+	argument.
+	* target.c (target_call_history_from): Add argument.
+	* record-btrace.c (record_btrace_call_history_from): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_call_history>: Add argument.
+	* target.c (target_call_history): Add argument.
+	* record-btrace.c (record_btrace_call_history): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_insn_history_range>: Add
+	argument.
+	* target.c (target_insn_history_range): Add argument.
+	* record-btrace.c (record_btrace_insn_history_range): Add 'self'
+	argument.
+	(record_btrace_insn_history_from): Update.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_insn_history_from>: Add
+	argument.
+	* target.c (target_insn_history_from): Add argument.
+	* record-btrace.c (record_btrace_insn_history_from): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_insn_history>: Add argument.
+	* target.c (target_insn_history): Add argument.
+	* record-btrace.c (record_btrace_insn_history): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_goto_record>: Add argument.
+	* target.c (target_goto_record): Add argument.
+	* record-full.c (record_full_goto): Add 'self' argument.
+	* record-btrace.c (record_btrace_goto): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_goto_record_end>: Add argument.
+	* target.c (target_goto_record_end): Add argument.
+	* record-full.c (record_full_goto_end): Add 'self' argument.
+	* record-btrace.c (record_btrace_goto_end): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_goto_record_begin>: Add
+	argument.
+	* target.c (target_goto_record_begin): Add argument.
+	* record-full.c (record_full_goto_begin): Add 'self' argument.
+	* record-btrace.c (record_btrace_goto_begin): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_record_is_replaying>: Add
+	argument.
+	* target.c (target_record_is_replaying): Add argument.
+	* record-full.c (record_full_is_replaying): Add 'self' argument.
+	* record-btrace.c (record_btrace_is_replaying): Add 'self'
+	argument.
+	(record_btrace_xfer_partial, record_btrace_store_registers)
+	(record_btrace_prepare_to_store, record_btrace_resume)
+	(record_btrace_wait, record_btrace_decr_pc_after_break)
+	(record_btrace_find_new_threads, record_btrace_thread_alive):
+	Update.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_delete_record>: Add argument.
+	* target.c (target_delete_record): Add argument.
+	* record-full.c (record_full_delete): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_save_record>: Add argument.
+	* target.c (target_save_record): Add argument.
+	* record-full.c (record_full_save): Add 'self' argument.
+	(record_full_save): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_info_record>: Add argument.
+	* target.c (target_info_record): Add argument.
+	* record.c (info_record_command): Add argument.
+	* record-full.c (record_full_info): Add 'self' argument.
+	* record-btrace.c (record_btrace_info): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_stop_recording>: Add argument.
+	* target.c (target_stop_recording): Add argument.
+	* record.c (record_stop): Add argument.
+	* record-btrace.c (record_btrace_stop_recording): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_read_btrace>: Add argument.
+	* target.c (struct target_ops) <to_read_btrace>: Add argument.
+	* remote.c (struct target_ops) <to_read_btrace>: Add 'self'
+	argument.
+	* amd64-linux-nat.c (amd64_linux_read_btrace): New function.
+	(_initialize_amd64_linux_nat): Use it.
+	* i386-linux-nat.c (i386_linux_read_btrace): New function.
+	(_initialize_i386_linux_nat): Use it.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_teardown_btrace>: Add argument.
+	* target.c (target_teardown_btrace): Add argument.
+	* remote.c (remote_teardown_btrace): Add 'self' argument.
+	* i386-linux-nat.c (i386_linux_teardown_btrace): Add 'self'
+	argument.
+	* amd64-linux-nat.c (amd64_linux_teardown_btrace): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_disable_btrace>: Add argument.
+	* target.c (target_disable_btrace): Add argument.
+	* remote.c (remote_disable_btrace): Add 'self' argument.
+	* i386-linux-nat.c (i386_linux_disable_btrace): Add 'self'
+	argument.
+	* amd64-linux-nat.c (amd64_linux_disable_btrace): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_enable_btrace>: Add argument.
+	* target.c (target_enable_btrace): Add argument.
+	* remote.c (remote_enable_btrace): Add 'self' argument.
+	* i386-linux-nat.c (i386_linux_enable_btrace): Add 'self'
+	argument.
+	* amd64-linux-nat.c (amd64_linux_enable_btrace): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_can_use_agent>: Add argument.
+	(target_can_use_agent): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_can_use_agent): Add 'self' argument.
+	* inf-child.c (inf_child_can_use_agent): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_use_agent>: Add argument.
+	(target_use_agent): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_use_agent): Add 'self' argument.
+	* inf-child.c (inf_child_use_agent): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* tracepoint.c (tfile_traceframe_info): Add 'self' argument.
+	* target.h (struct target_ops) <to_traceframe_info>: Add argument.
+	(target_traceframe_info): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_traceframe_info): Add 'self' argument.
+	* ctf.c (ctf_traceframe_info): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (target_static_tracepoint_markers_by_strid): Add
+	argument.
+	(struct target_ops) <to_static_tracepoint_markers_by_strid>: Add
+	'self' argument.
+	* target.c (update_current_target): Update.
+	* remote.c (struct target_ops)
+	<to_static_tracepoint_markers_by_strid>: Add 'self' argument.
+	* linux-nat.c (struct target_ops)
+	<to_static_tracepoint_markers_by_strid>: Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_static_tracepoint_marker_at>:
+	Add argument.
+	(target_static_tracepoint_marker_at): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_static_tracepoint_marker_at): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_set_permissions>: Add argument.
+	(target_set_permissions): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_set_permissions): Add 'self' argument.
+	(remote_start_remote): Update.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* windows-nat.c (windows_get_tib_address): Add 'self' argument.
+	* target.h (struct target_ops) <to_get_tib_address>: Add argument.
+	(target_get_tib_address): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_get_tib_address): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_set_trace_notes>: Add argument.
+	(target_set_trace_notes): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_set_trace_notes): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_set_trace_buffer_size>: Add
+	argument.
+	(target_set_trace_buffer_size): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_set_trace_buffer_size): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_set_circular_trace_buffer>: Add
+	argument.
+	(target_set_circular_trace_buffer): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_set_circular_trace_buffer): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_set_disconnected_tracing>: Add
+	argument.
+	(target_set_disconnected_tracing): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_set_disconnected_tracing): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops)
+	<to_get_min_fast_tracepoint_insn_len>: Add argument.
+	(target_get_min_fast_tracepoint_insn_len): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_get_min_fast_tracepoint_insn_len): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_get_raw_trace_data>: Add
+	argument.
+	(target_get_raw_trace_data): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_get_raw_trace_data): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_upload_trace_state_variables>:
+	Add argument.
+	(target_upload_trace_state_variables): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_upload_trace_state_variables): Add 'self'
+	argument.
+	(remote_start_remote): Update.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_upload_tracepoints>: Add
+	argument.
+	(target_upload_tracepoints): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_upload_tracepoints): Add 'self' argument.
+	(remote_start_remote): Update.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_save_trace_data>: Add argument.
+	(target_save_trace_data): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_save_trace_data): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* tracepoint.c (tfile_get_trace_state_variable_value): Add 'self'
+	argument.
+	* target.h (struct target_ops)
+	<to_get_trace_state_variable_value>: Add argument.
+	(target_get_trace_state_variable_value): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_get_trace_state_variable_value): Add 'self'
+	argument.
+	* ctf.c (ctf_get_trace_state_variable_value): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* tracepoint.c (tfile_trace_find): Add 'self' argument.
+	* target.h (struct target_ops) <to_trace_find>: Add argument.
+	(target_trace_find): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_trace_find): Add 'self' argument.
+	* ctf.c (ctf_trace_find): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_trace_stop>: Add argument.
+	(target_trace_stop): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_trace_stop): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* tracepoint.c (tfile_get_tracepoint_status): Add 'self' argument.
+	* target.h (struct target_ops) <to_get_tracepoint_status>: Add
+	argument.
+	(target_get_tracepoint_status): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_get_tracepoint_status): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* tracepoint.c (tfile_get_trace_status): Add 'self' argument.
+	* target.h (struct target_ops) <to_get_trace_status>: Add
+	argument.
+	(target_get_trace_status): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_get_trace_status): Add 'self' argument.
+	(remote_start_remote, remote_can_download_tracepoint): Update.
+	* ctf.c (ctf_get_trace_status): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_trace_start>: Add argument.
+	(target_trace_start): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_trace_start): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_trace_set_readonly_regions>:
+	Add argument.
+	(target_trace_set_readonly_regions): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_trace_set_readonly_regions): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_disable_tracepoint>: Add
+	argument.
+	(target_disable_tracepoint): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_disable_tracepoint): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_enable_tracepoint>: Add
+	argument.
+	(target_enable_tracepoint): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_enable_tracepoint): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_download_trace_state_variable>:
+	Add argument.
+	(target_download_trace_state_variable): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_download_trace_state_variable): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_can_download_tracepoint>: Add
+	argument.
+	(target_can_download_tracepoint): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_can_download_tracepoint): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_download_tracepoint>: Add
+	argument.
+	(target_download_tracepoint): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_download_tracepoint): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_trace_init>: Add argument.
+	(target_trace_init): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_trace_init): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_fileio_readlink>: Add argument.
+	* target.c (target_fileio_readlink): Add argument.
+	* remote.c (remote_hostio_readlink): Add 'self' argument.
+	* inf-child.c (inf_child_fileio_readlink): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_fileio_unlink>: Add argument.
+	* target.c (target_fileio_unlink): Add argument.
+	* remote.c (remote_hostio_unlink): Add 'self' argument.
+	(remote_file_delete): Update.
+	* inf-child.c (inf_child_fileio_unlink): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_fileio_close>: Add argument.
+	* target.c (target_fileio_close): Add argument.
+	* remote.c (remote_hostio_close): Add 'self' argument.
+	(remote_hostio_close_cleanup): Update.
+	(remote_bfd_iovec_close, remote_file_put, remote_file_get):
+	Update.
+	* inf-child.c (inf_child_fileio_close): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_fileio_pread>: Add argument.
+	* target.c (target_fileio_pread): Add argument.
+	* remote.c (remote_hostio_pread): Add 'self' argument.
+	(remote_bfd_iovec_pread, remote_file_get): Update.
+	* inf-child.c (inf_child_fileio_pread): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_fileio_pwrite>: Add argument.
+	* target.c (target_fileio_pwrite): Add argument.
+	* remote.c (remote_hostio_pwrite): Add 'self' argument.
+	(remote_file_put): Update.
+	* inf-child.c (inf_child_fileio_pwrite): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_fileio_open>: Add argument.
+	* target.c (target_fileio_open): Add argument.
+	* remote.c (remote_hostio_open): Add 'self' argument.
+	(remote_bfd_iovec_open): Add 'self' argument.
+	(remote_file_put): Add 'self' argument.
+	(remote_file_get): Add 'self' argument.
+	* inf-child.c (inf_child_fileio_open): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_can_run_breakpoint_commands>:
+	Add argument.
+	(target_can_run_breakpoint_commands): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_can_run_breakpoint_commands): Add 'self'
+	argument.
+	(remote_insert_breakpoint): Add 'self' argument.
+	(remote_insert_hw_breakpoint): Add 'self' argument.
+	(remote_can_run_breakpoint_commands): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops)
+	<to_supports_evaluation_of_breakpoint_conditions>: Add argument.
+	(target_supports_evaluation_of_breakpoint_conditions): Add
+	argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_supports_cond_breakpoints): Add 'self'
+	argument.
+	(remote_insert_breakpoint): Add 'self' argument.
+	(remote_insert_hw_breakpoint): Add 'self' argument.
+	(remote_supports_cond_breakpoints): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_supports_string_tracing>: Add
+	argument.
+	(target_supports_string_tracing): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_supports_string_tracing): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops)
+	<to_supports_disable_randomization>: Add argument.
+	* target.c (find_default_supports_disable_randomization): Add
+	argument.
+	(target_supports_disable_randomization): Add argument.
+	(find_default_supports_disable_randomization): Add 'self'
+	argument.
+	* remote.c (extended_remote_supports_disable_randomization): Add
+	'self' argument.
+	(remote_supports_disable_randomization): Add 'self' argument.
+	(extended_remote_create_inferior): Update.
+	* linux-nat.c (linux_nat_supports_disable_randomization): Add
+	'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops)
+	<to_supports_enable_disable_tracepoint>: Add argument.
+	(target_supports_enable_disable_tracepoint): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_supports_enable_disable_tracepoint): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_supports_multi_process>: Add
+	argument.
+	(target_supports_multi_process): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_supports_multi_process): Add 'self' argument.
+	* linux-nat.c (linux_nat_supports_multi_process): Add 'self'
+	argument.
+	* darwin-nat.c (darwin_supports_multi_process): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_execution_direction>: Add
+	argument.
+	(target_execution_direction): Add argument.
+	* target.c (default_execution_direction): Add 'self' argument.
+	* record-full.c (record_full_execution_direction): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_can_execute_reverse>: Add
+	argument.
+	(target_can_execute_reverse): Add argument.
+	* remote.c (remote_can_execute_reverse): Add 'self' argument.
+	* record-full.c (record_full_can_execute_reverse): Add 'self'
+	argument.
+	* record-btrace.c (record_btrace_can_execute_reverse): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* windows-nat.c (windows_get_ada_task_ptid): Add 'self' argument.
+	* target.h (struct target_ops) <to_get_ada_task_ptid>: Add
+	argument.
+	(target_get_ada_task_ptid): Add argument.
+	* target.c (update_current_target): Update.
+	(default_get_ada_task_ptid): Add 'self' argument.
+	* sol-thread.c (sol_get_ada_task_ptid): Add 'self' argument.
+	* remote.c (remote_get_ada_task_ptid): Add 'self' argument.
+	* ravenscar-thread.c (ravenscar_get_ada_task_ptid): Add 'self'
+	argument.
+	* linux-thread-db.c (thread_db_get_ada_task_ptid): Add 'self'
+	argument.
+	* inf-ttrace.c (inf_ttrace_get_ada_task_ptid): Add 'self'
+	argument.
+	* dec-thread.c (dec_thread_get_ada_task_ptid): Add 'self'
+	argument.
+	* darwin-nat.c (darwin_get_ada_task_ptid): Add 'self' argument.
+	* aix-thread.c (aix_thread_get_ada_task_ptid): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_goto_bookmark>: Add argument.
+	(target_goto_bookmark): Add argument.
+	* target.c (dummy_goto_bookmark): Add 'self' argument.
+	* record-full.c (record_full_goto_bookmark): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_get_bookmark>: Add argument.
+	(target_get_bookmark): Add argument.
+	* target.c (dummy_get_bookmark): Add 'self' argument.
+	* record-full.c (record_full_get_bookmark): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_make_corefile_notes>: Add
+	argument.
+	(target_make_corefile_notes): Add argument.
+	* target.c (dummy_make_corefile_notes): Add 'self' argument.
+	* procfs.c (procfs_make_note_section): Add 'self' argument.
+	(procfs_make_note_section): Add 'self' argument.
+	(procfs_make_note_section): Add 'self' argument.
+	* linux-nat.c (linux_nat_make_corefile_notes): Add 'self'
+	argument.
+	* fbsd-nat.h (fbsd_make_corefile_notes): Add 'self' argument.
+	* fbsd-nat.c (fbsd_make_corefile_notes): Add 'self' argument.
+	* exec.c (exec_make_note_section): Add 'self' argument.
+	(exec_make_note_section): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_find_memory_regions>: Add
+	argument.
+	(target_find_memory_regions): Add argument.
+	* target.c (dummy_find_memory_regions): Add 'self' argument.
+	* procfs.c (proc_find_memory_regions): Add 'self' argument.
+	* gnu-nat.c (gnu_find_memory_regions): Add 'self' argument.
+	* fbsd-nat.h (fbsd_find_memory_regions): Add 'self' argument.
+	* fbsd-nat.c (fbsd_find_memory_regions): Add 'self' argument.
+	* exec. (exec_do_find_memory_regions): New global.
+	(exec_set_find_memory_regions): Rewrite.
+	(exec_find_memory_regions): New function.
+	(init_exec_ops): Use exec_find_memory_regions.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_supports_non_stop>: Add
+	argument.
+	* target.c (find_default_supports_non_stop): Add argument.
+	(target_supports_non_stop): Add argument.
+	(find_default_supports_non_stop): Add 'self' argument.
+	* remote.c (remote_supports_non_stop): Add 'self' argument.
+	* linux-nat.c (linux_nat_supports_non_stop): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_log_command>: Add argument.
+	(target_log_command): Add argument.
+	* serial.h (serial_log_command): Add 'self' argument.
+	* serial.c (serial_log_command): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* windows-nat.c (windows_pid_to_exec_file): Add 'self' argument.
+	* target.h (struct target_ops) <to_pid_to_exec_file>: Add
+	argument.
+	(target_pid_to_exec_file): Add argument.
+	* target.c (debug_to_pid_to_exec_file): Add argument.
+	(update_current_target): Update.
+	* nbsd-nat.h (nbsd_pid_to_exec_file): Add 'self' argument.
+	* nbsd-nat.c (nbsd_pid_to_exec_file): Add 'self' argument.
+	* linux-nat.c (linux_child_pid_to_exec_file): Add 'self' argument.
+	(linux_handle_extended_wait): Update.
+	* inf-child.c (inf_child_pid_to_exec_file): Add 'self' argument.
+	* fbsd-nat.h (fbsd_pid_to_exec_file): Add 'self' argument.
+	* fbsd-nat.c (fbsd_pid_to_exec_file): Add 'self' argument.
+	* darwin-nat.c (darwin_pid_to_exec_file): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_rcmd>: Add argument.
+	(target_rcmd): Add argument.
+	* target.c (debug_to_rcmd): Add argument.
+	(update_current_target, do_monitor_command): Update.
+	* remote.c (remote_rcmd): Add 'self' argument.
+	* monitor.c (monitor_rcmd): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* windows-nat.c (windows_stop): Add 'self' argument.
+	* target.h (struct target_ops) <to_stop>: Add argument.
+	* target.c (target_stop): Add argument.
+	(debug_to_stop): Add argument.
+	(update_current_target): Update.
+	* remote.c (remote_stop): Add 'self' argument.
+	* remote-sim.c (gdbsim_stop): Add 'self' argument.
+	(gdbsim_cntrl_c): Update.
+	* remote-m32r-sdi.c (m32r_stop): Add 'self' argument.
+	* procfs.c (procfs_stop): Add 'self' argument.
+	* nto-procfs.c (procfs_stop): Add 'self' argument.
+	* monitor.c (monitor_stop): Add 'self' argument.
+	(monitor_open): Update.
+	* linux-nat.c (linux_nat_stop): Add argument.
+	* inf-ptrace.c (inf_ptrace_stop): Add 'self' argument.
+	* gnu-nat.c (gnu_stop): Add 'self' argument.
+	* darwin-nat.c (darwin_stop): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_thread_name>: Add argument.
+	* target.c (target_thread_name): Add argument.
+	(update_current_target): Update.
+	* linux-nat.c (linux_nat_thread_name): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_extra_thread_info>: Add
+	argument.
+	(target_extra_thread_info): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_threads_extra_info): Add 'self' argument.
+	* ravenscar-thread.c (ravenscar_extra_thread_info): Add 'self'
+	argument.
+	* nto-tdep.h (nto_extra_thread_info): Add 'self' argument.
+	* nto-tdep.c (nto_extra_thread_info): Add 'self' argument.
+	* linux-thread-db.c (thread_db_extra_thread_info): Add 'self'
+	argument.
+	* inf-ttrace.c (inf_ttrace_extra_thread_info): Add 'self'
+	argument.
+	* bsd-uthread.c (bsd_uthread_extra_thread_info): Add 'self'
+	argument.
+	* aix-thread.c (aix_thread_extra_thread_info): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_program_signals>: Add argument.
+	* target.c (target_program_signals): Add argument.
+	* remote.c (remote_program_signals): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_pass_signals>: Add argument.
+	* target.c (target_pass_signals): Add argument.
+	* remote.c (remote_pass_signals): Add 'self' argument.
+	(remote_start_remote): Update.
+	* procfs.c (procfs_pass_signals): Add 'self' argument.
+	* nto-procfs.c (procfs_pass_signals): Add 'self' argument.
+	* linux-nat.c (linux_nat_pass_signals): Add 'self' argument.
+	(linux_nat_create_inferior, linux_nat_attach): Update.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* windows-nat.c (windows_can_run): Add 'self' argument.
+	* target.h (struct target_ops) <to_can_run>: Add argument.
+	(target_can_run): Add argument.
+	* target.c (debug_to_can_run): Add argument.
+	(update_current_target): Update.
+	* nto-procfs.c (procfs_can_run): Add 'self' argument.
+	* inf-child.c (inf_child_can_run): Add 'self' argument.
+	* go32-nat.c (go32_can_run): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_has_exited>: Add argument.
+	(target_has_exited): Add argument.
+	* target.c (debug_to_has_exited): Add argument.
+	(update_current_target): Update.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_set_syscall_catchpoint>: Add
+	argument.
+	(target_set_syscall_catchpoint): Add argument.
+	* linux-nat.c (linux_child_set_syscall_catchpoint): Add 'self'
+	argument.
+	* target.c (update_current_target): Update.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_remove_exec_catchpoint>: Add
+	argument.
+	(target_remove_exec_catchpoint): Add argument.
+	* target.c (debug_to_remove_exec_catchpoint): Add argument.
+	(update_current_target): Update.
+	* linux-nat.c (linux_child_remove_exec_catchpoint): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_insert_exec_catchpoint>: Add
+	argument.
+	(target_insert_exec_catchpoint): Add argument.
+	* target.c (debug_to_insert_exec_catchpoint): Add argument.
+	(update_current_target): Update.
+	* linux-nat.c (linux_child_insert_exec_catchpoint): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_remove_vfork_catchpoint>: Add
+	argument.
+	(target_remove_vfork_catchpoint): Add argument.
+	* target.c (debug_to_remove_vfork_catchpoint): Add argument.
+	(update_current_target): Update.
+	* linux-nat.c (linux_child_remove_vfork_catchpoint): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_insert_vfork_catchpoint>: Add
+	argument.
+	(target_insert_vfork_catchpoint): Add argument.
+	* target.c (debug_to_insert_vfork_catchpoint): Add argument.
+	(update_current_target): Update.
+	* linux-nat.c (linux_child_insert_vfork_catchpoint): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_remove_fork_catchpoint>: Add
+	argument.
+	(target_remove_fork_catchpoint): Add argument.
+	* target.c (debug_to_remove_fork_catchpoint): Add argument.
+	(update_current_target): Update.
+	* linux-nat.c (linux_child_remove_fork_catchpoint): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_insert_fork_catchpoint>: Add
+	argument.
+	(target_insert_fork_catchpoint): Add argument.
+	* target.c (debug_to_insert_fork_catchpoint): Add argument.
+	(update_current_target): Update.
+	* linux-nat.c (linux_child_insert_fork_catchpoint): Add 'self'
+	argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_post_startup_inferior>: Add
+	argument.
+	(target_post_startup_inferior): Add argument.
+	* target.c (debug_to_post_startup_inferior): Add argument.
+	(update_current_target): Update.
+	* spu-linux-nat.c (spu_child_post_startup_inferior): Add 'self'
+	argument.
+	* linux-nat.c (linux_child_post_startup_inferior): Add 'self'
+	argument.
+	* inf-ptrace.c (inf_ptrace_post_startup_inferior): Add 'self'
+	argument.
+	* inf-child.c (inf_child_post_startup_inferior): Add 'self'
+	argument.
+	* i386-linux-nat.c (i386_linux_child_post_startup_inferior): Add
+	'self' argument.
+	(super_post_startup_inferior): Likewise.
+	* amd64-linux-nat.c (amd64_linux_child_post_startup_inferior): Add
+	'self' argument.
+	(super_post_startup_inferior): Likewise.
+	* aarch64-linux-nat.c (aarch64_linux_child_post_startup_inferior):
+	Add 'self' argument.
+	(super_post_startup_inferior): Likewise.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_load>: Add argument.
+	* target.c (target_load): Add argument.
+	(debug_to_load): Add argument.
+	(update_current_target): Update.
+	* remote.c (remote_load): Add 'self' argument.
+	* remote-sim.c (gdbsim_load): Add 'self' argument.
+	* remote-mips.c (mips_load): Add 'self' argument.
+	* remote-m32r-sdi.c (m32r_load): Add 'self' argument.
+	* monitor.c (monitor_load): Add 'self' argument.
+	* m32r-rom.c (m32r_load_gen): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_terminal_info>: Add argument.
+	(target_terminal_info): Add argument.
+	* target.c (debug_to_terminal_info): Add argument.
+	(default_terminal_info): Likewise.
+	* inflow.c (child_terminal_info): Add 'self' argument.
+	* inferior.h (child_terminal_info): Add 'self' argument.
+	* go32-nat.c (go32_terminal_info): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_terminal_save_ours>: Add
+	argument.
+	(target_terminal_save_ours): Add argument.
+	* target.c (debug_to_terminal_save_ours): Add argument.
+	(update_current_target): Update.
+	* inflow.c (terminal_save_ours): Add 'self' argument.
+	* inferior.h (terminal_save_ours): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_terminal_ours>: Add argument.
+	(target_terminal_ours): Add argument.
+	* target.c (debug_to_terminal_ours): Add argument.
+	(update_current_target): Update.
+	* remote.c (remote_terminal_ours): Add 'self' argument.
+	(remote_close): Update.
+	* linux-nat.c (linux_nat_terminal_ours): Add 'self' argument.
+	* inflow.c (terminal_ours): Add 'self' argument.
+	* inferior.h (terminal_ours): Add 'self' argument.
+	* go32-nat.c (go32_terminal_ours): Add 'self' argument.
+
+2014-02-19  Pedro Alves  <palves@redhat.com>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_terminal_ours_for_output>: Add
+	argument.
+	(target_terminal_ours_for_output): Add argument.
+	* target.c (debug_to_terminal_ours_for_output): Add argument.
+	(update_current_target): Update.
+	* inflow.c (terminal_ours_for_output): Add 'self' argument.
+	* inferior.h (terminal_ours_for_output): Add 'self' argument.
+	* go32-nat.c (go32_terminal_ours): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_terminal_inferior>: Add
+	argument.
+	* target.c (target_terminal_inferior): Add argument.
+	(update_current_target): Update.
+	* remote.c (remote_terminal_inferior): Add 'self' argument.
+	* linux-nat.c (linux_nat_terminal_inferior): Add 'self' argument.
+	* inflow.c (terminal_inferior): Add 'self' argument.
+	* inferior.h (terminal_inferior): Add 'self' argument.
+	* go32-nat.c (go32_terminal_inferior): Add 'self' argument.
+	(go32_terminal_inferior): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_terminal_init>: Add argument.
+	(target_terminal_init): Add argument.
+	* target.c (debug_to_terminal_init): Add argument.
+	(update_current_target): Update.
+	* inflow.c (terminal_init_inferior): Add 'self' argument.
+	* inferior.h (terminal_init_inferior): Add 'self' argument.
+	* go32-nat.c (go32_terminal_init): Add 'self' argument.
+	* gnu-nat.c (gnu_terminal_init_inferior): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops)
+	<to_can_accel_watchpoint_condition>: Add argument.
+	(target_can_accel_watchpoint_condition): Add argument.
+	* target.c (debug_to_can_accel_watchpoint_condition): Add
+	argument.
+	(update_current_target): Update.
+	* ppc-linux-nat.c (ppc_linux_can_accel_watchpoint_condition): Add
+	'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_region_ok_for_hw_watchpoint>:
+	Add argument.
+	(target_region_ok_for_hw_watchpoint): Add argument.
+	* target.c (debug_to_region_ok_for_hw_watchpoint): Add argument.
+	(default_region_ok_for_hw_watchpoint): Add argument.
+	* spu-multiarch.c (spu_region_ok_for_hw_watchpoint): Add argument.
+	* s390-linux-nat.c (s390_region_ok_for_hw_watchpoint): Add 'self'
+	argument.
+	* remote.c (remote_region_ok_for_hw_watchpoint): Add 'self'
+	argument.
+	* procfs.c (procfs_region_ok_for_hw_watchpoint): Add 'self'
+	argument.
+	* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Add
+	'self' argument.
+	* mips-linux-nat.c (mips_linux_region_ok_for_hw_watchpoint): Add
+	'self' argument.
+	* inf-ttrace.c (inf_ttrace_region_ok_for_hw_watchpoint): Add
+	'self' argument.
+	* i386-nat.c (i386_region_ok_for_watchpoint): Add 'self' argument.
+	* arm-linux-nat.c (arm_linux_region_ok_for_hw_watchpoint): Add
+	'self' argument.
+	* aarch64-linux-nat.c (aarch64_linux_region_ok_for_hw_watchpoint):
+	Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_insert_watchpoint>: Add
+	argument.
+	(target_insert_watchpoint): Add argument.
+	* target.c (debug_to_insert_watchpoint): Add argument.
+	(update_current_target): Update.
+	* s390-linux-nat.c (s390_insert_watchpoint): Add 'self' argument.
+	* remote.c (remote_insert_watchpoint): Add 'self' argument.
+	* remote-mips.c (mips_insert_watchpoint): Add 'self' argument.
+	* remote-m32r-sdi.c (m32r_insert_watchpoint): Add 'self' argument.
+	* procfs.c (procfs_insert_watchpoint): Add 'self' argument.
+	* ppc-linux-nat.c (ppc_linux_insert_watchpoint): Add 'self'
+	argument.
+	* nto-procfs.c (procfs_insert_hw_watchpoint): Add 'self' argument.
+	(procfs_insert_hw_watchpoint): Add 'self' argument.
+	* mips-linux-nat.c (mips_linux_insert_watchpoint): Add 'self'
+	argument.
+	* inf-ttrace.c (inf_ttrace_insert_watchpoint): Add 'self'
+	argument.
+	* ia64-linux-nat.c (ia64_linux_insert_watchpoint): Add 'self'
+	argument.
+	* i386-nat.c (i386_insert_watchpoint): Add 'self' argument.
+	* arm-linux-nat.c (arm_linux_insert_watchpoint): Add 'self'
+	argument.
+	* aarch64-linux-nat.c (aarch64_linux_insert_watchpoint): Add
+	'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_remove_watchpoint>: Add
+	argument.
+	(target_remove_watchpoint): Add argument.
+	* target.c (debug_to_remove_watchpoint): Add argument.
+	(update_current_target): Update.
+	* s390-linux-nat.c (s390_remove_watchpoint): Add 'self' argument.
+	* remote.c (remote_remove_watchpoint): Add 'self' argument.
+	* remote-mips.c (mips_remove_watchpoint): Add 'self' argument.
+	* remote-m32r-sdi.c (m32r_remove_watchpoint): Add 'self' argument.
+	* procfs.c (procfs_remove_watchpoint): Add 'self' argument.
+	* ppc-linux-nat.c (ppc_linux_remove_watchpoint): Add 'self'
+	argument.
+	* nto-procfs.c (procfs_remove_hw_watchpoint): Add 'self' argument.
+	* mips-linux-nat.c (mips_linux_remove_watchpoint): Add 'self'
+	argument.
+	* inf-ttrace.c (inf_ttrace_remove_watchpoint): Add 'self'
+	argument.
+	* ia64-linux-nat.c (ia64_linux_remove_watchpoint): Add 'self'
+	argument.
+	* i386-nat.c (i386_remove_watchpoint): Add 'self' argument.
+	* arm-linux-nat.c (arm_linux_remove_watchpoint): Add 'self'
+	argument.
+	* aarch64-linux-nat.c (aarch64_linux_remove_watchpoint): Add
+	'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_remove_hw_breakpoint>: Add
+	argument.
+	(target_remove_hw_breakpoint): Add argument.
+	* target.c (debug_to_remove_hw_breakpoint): Add argument.
+	(update_current_target): Update.
+	* remote.c (remote_remove_hw_breakpoint): Add 'self' argument.
+	* ppc-linux-nat.c (ppc_linux_remove_hw_breakpoint): Add 'self'
+	argument.
+	* i386-nat.c (i386_remove_hw_breakpoint): Add 'self' argument.
+	* arm-linux-nat.c (arm_linux_remove_hw_breakpoint): Add 'self'
+	argument.
+	* aarch64-linux-nat.c (aarch64_linux_remove_hw_breakpoint): Add
+	'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_insert_hw_breakpoint>: Add
+	argument.
+	(target_insert_hw_breakpoint): Add argument.
+	* target.c (debug_to_insert_hw_breakpoint): Add argument.
+	(update_current_target): Update.
+	* remote.c (remote_insert_hw_breakpoint): Add 'self' argument.
+	* ppc-linux-nat.c (ppc_linux_insert_hw_breakpoint): Add 'self'
+	argument.
+	* nto-procfs.c (procfs_insert_hw_breakpoint): Add 'self' argument.
+	* i386-nat.c (i386_insert_hw_breakpoint): Add 'self' argument.
+	* arm-linux-nat.c (arm_linux_insert_hw_breakpoint): Add 'self'
+	argument.
+	* aarch64-linux-nat.c (aarch64_linux_insert_hw_breakpoint): Add
+	'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_can_use_hw_breakpoint>: Add
+	argument.
+	(target_can_use_hardware_watchpoint): Add argument.
+	* target.c (debug_to_can_use_hw_breakpoint): Add argument.
+	(update_current_target): Update.
+	* spu-linux-nat.c (spu_can_use_hw_breakpoint): Add 'self'
+	argument.
+	* s390-linux-nat.c (s390_can_use_hw_breakpoint): Add 'self'
+	argument.
+	* remote.c (remote_check_watch_resources): Add 'self' argument.
+	* remote-mips.c (mips_can_use_watchpoint): Add 'self' argument.
+	* remote-m32r-sdi.c (m32r_can_use_hw_watchpoint): Add 'self'
+	argument.
+	* procfs.c (procfs_can_use_hw_breakpoint): Add 'self' argument.
+	* ppc-linux-nat.c (ppc_linux_can_use_hw_breakpoint): Add 'self'
+	argument.
+	* nto-procfs.c (procfs_can_use_hw_breakpoint): Add 'self'
+	argument.
+	* mips-linux-nat.c (mips_linux_can_use_hw_breakpoint): Add 'self'
+	argument.
+	* inf-ttrace.c (inf_ttrace_can_use_hw_breakpoint): Add 'self'
+	argument.
+	* ia64-linux-nat.c (ia64_linux_can_use_hw_breakpoint): Add 'self'
+	argument.
+	* ia64-hpux-nat.c (ia64_hpux_can_use_hw_breakpoint): Add 'self'
+	argument.
+	* i386-nat.c (i386_can_use_hw_breakpoint): Add 'self' argument.
+	* arm-linux-nat.c (arm_linux_can_use_hw_breakpoint): Add 'self'
+	argument.
+	* aarch64-linux-nat.c (aarch64_linux_can_use_hw_breakpoint): Add
+	'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_post_attach>: Add argument.
+	(target_post_attach): Add argument.
+	* target.c (debug_to_post_attach): Add argument.
+	(update_current_target): Update.
+	* spu-linux-nat.c (spu_child_post_attach): Add 'self' argument.
+	* nto-procfs.c (procfs_post_attach): Add 'self' argument.
+	* linux-nat.c (linux_child_post_attach): Add 'self' argument.
+	* inf-ptrace.c (inf_ptrace_post_attach): Add 'self' argument.
+	* inf-child.c (inf_child_post_attach): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* windows-nat.c (windows_close): Add 'self' argument.
+	* tracepoint.c (tfile_close): Add 'self' argument.
+	* target.h (struct target_ops) <to_close>: Add argument.
+	* target.c (target_close): Add argument.
+	(update_current_target): Update.
+	* remote.c (remote_close): Add 'self' argument.
+	* remote-sim.c (gdbsim_close): Add 'self' argument.
+	* remote-mips.c (mips_close): Add 'self' argument.
+	* remote-m32r-sdi.c (m32r_close): Add 'self' argument.
+	* record-full.c (record_full_close): Add 'self' argument.
+	* record-btrace.c (record_btrace_close): Add 'self' argument.
+	* monitor.h (monitor_close): Add 'self' argument.
+	* monitor.c (monitor_close): Add 'self' argument.
+	* mips-linux-nat.c (mips_linux_close): Add 'self' argument.
+	* linux-nat.c (linux_nat_close): Add argument.
+	* go32-nat.c (go32_close): Add 'self' argument.
+	* exec.c (exec_close_1): Add 'self' argument.
+	* ctf.c (ctf_close): Add 'self' argument.
+	* corelow.c (core_close): Add 'self' argument.
+	(core_close_cleanup): Update.
+	* bsd-uthread.c (bsd_uthread_close): Add 'self' argument.
+	* bsd-kvm.c (bsd_kvm_close): Add 'self' argument.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* remote.c (remote_load): New function.
+	(init_remote_ops): Use it.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* common/linux-btrace.c (linux_supports_btrace): Add "ops"
+	argument.
+	* common/linux-btrace.h (linux_supports_btrace): Update.
+	* remote.c (remote_supports_btrace): Add "self" argument.
+	* target-delegates.c: Rebuild.
+	* target.c (target_supports_btrace): Remove.
+	* target.h (struct target_ops) <to_supports_btrace>: Add
+	target_ops argument.
+	(target_supports_btrace): New define.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* record-full.c (record_full_beneath_to_resume_ops)
+	(record_full_beneath_to_resume, record_full_beneath_to_wait_ops)
+	(record_full_beneath_to_wait)
+	(record_full_beneath_to_store_registers_ops)
+	(record_full_beneath_to_store_registers)
+	(record_full_beneath_to_xfer_partial_ops)
+	(record_full_beneath_to_xfer_partial)
+	(record_full_beneath_to_insert_breakpoint_ops)
+	(record_full_beneath_to_insert_breakpoint)
+	(record_full_beneath_to_remove_breakpoint_ops)
+	(record_full_beneath_to_remove_breakpoint)
+	(record_full_beneath_to_stopped_by_watchpoint)
+	(record_full_beneath_to_stopped_data_address)
+	(record_full_beneath_to_async, tmp_to_resume_ops, tmp_to_resume)
+	(tmp_to_wait_ops, tmp_to_wait, tmp_to_store_registers_ops)
+	(tmp_to_store_registers, tmp_to_xfer_partial_ops)
+	(tmp_to_xfer_partial, tmp_to_instmp_to_insert_breakpoint_ops)
+	(tmp_to_insert_breakpoint, tmp_to_remove_breakpoint_ops)
+	(tmp_to_remove_breakpoint, tmp_to_stopped_by_watchpoint)
+	(tmp_to_stopped_data_address, tmp_to_async): Remove.
+	(record_full_open_1, record_full_open): Update.  Use RECORD_IS_USED.
+	(record_full_resume, record_full_wait_1)
+	(record_full_stopped_by_watchpoint, record_full_stopped_data_address)
+	(record_full_store_registers, record_full_xfer_partial)
+	(record_full_insert_breakpoint, record_full_remove_breakpoint)
+	(record_full_async, record_full_core_xfer_partial): Use target
+	delegation.
+	* target-delegates.c: Rebuild.
+	* target.c (current_xfer_partial): Remove.
+	(update_current_target): Do not INHERIT or de_fault
+	to_insert_breakpoint, to_remove_breakpoint,
+	to_stopped_data_address, to_stopped_by_watchpoint, to_can_async_p,
+	to_is_async_p, to_async.  Do not set to_xfer_partial field.
+	(default_xfer_partial): Simplify.
+	(current_xfer_partial): Remove.
+	(target_wait, target_resume): Simplify.
+	(find_default_can_async_p, find_default_is_async_p): Update.
+	(init_dummy_target): Don't set to_can_async_p, to_is_async_p,
+	to_xfer_partial, to_stopped_by_watchpoint,
+	to_stopped_data_address.
+	(target_store_registers): Simplify.
+	(forward_target_remove_breakpoint)
+	(forward_target_insert_breakpoint): Remove.
+	(target_remove_breakpoint, target_insert_breakpoint)
+	(debug_to_insert_breakpoint, debug_to_remove_breakpoint): Update.
+	* target.h (struct target_ops) <to_resume, to_wait,
+	to_store_registers, to_insert_breakpoint, to_remove_breakpoint,
+	to_stopped_by_watchpoint, to_stopped_data_address, to_can_async_p,
+	to_is_async_p, to_async, to_xfer_partial>: Add TARGET_DEFAULT
+	markup.
+	(forward_target_remove_breakpoint)
+	(forward_target_insert_breakpoint): Remove.
+	* record-btrace.c (record_btrace_remove_breakpoint): Delegate
+	directly.
+	(record_btrace_insert_breakpoint): Delegate directly.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	PR build/7701:
+	* target-delegates.c: New file.
+	* target.c: Include target-delegates.c.
+	(init_dummy_target): Call install_dummy_methods.
+	(complete_target_initialization): Call install_delegators.
+	* target.h (TARGET_DEFAULT_IGNORE, TARGET_DEFAULT_NORETURN)
+	(TARGET_DEFAULT_RETURN, TARGET_DEFAULT_FUNC): New defines.
+	* make-target-delegates: New file.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* record.c (find_record_target): Use find_target_at.
+	* target.c (find_target_at): New function.
+	* target.h (find_target_at): Declare.
+
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* aarch64-linux-nat.c (aarch64_linux_stopped_by_watchpoint):
+	Add 'ops' argument.
+	* arm-linux-nat.c (arm_linux_stopped_by_watchpoint): Add
+	'ops' argument.
+	* i386-nat.c (i386_stopped_by_watchpoint): Add 'ops' argument.
+	* ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Add
+	'ops' argument.
+	* inf-ttrace.c (inf_ttrace_stopped_by_watchpoint): Add 'ops'
+	argument.
+	* linux-nat.c (save_sigtrap): Update.
+	(linux_nat_stopped_by_watchpoint, linux_nat_is_async_p)
+	(linux_nat_can_async_p, linux_nat_async): Add 'ops' argument.
+	(linux_nat_close): Update.
+	* mips-linux-nat.c (mips_linux_stopped_by_watchpoint): Add 'ops'
+	argument.
+	* ppc-linux-nat.c (ppc_linux_stopped_by_watchpoint): Add 'ops'
+	argument.
+	* procfs.c (procfs_stopped_by_watchpoint): Add 'ops' argument.
+	* record-full.c (record_full_beneath_to_stopped_by_watchpoint)
+	(record_full_beneath_to_async, tmp_to_stopped_by_watchpoint)
+	(tmp_to_async): Add 'ops' argument.
+	(record_full_stopped_by_watchpoint, record_full_async)
+	(record_full_can_async_p, record_full_is_async_p): Add 'ops'
+	argument.
+	* remote-m32r-sdi.c (m32r_insert_breakpoint, m32r_remove_breakpoint)
+	(m32r_stopped_by_watchpoint): Add 'ops' argument.
+	* remote-mips.c	(mips_stopped_by_watchpoint): Add 'ops' argument.
+	* remote.c (remote_stopped_by_watchpoint_p, remote_can_async_p)
+	(remote_is_async_p, remote_async): Add 'ops' argument.
+	(remote_stopped_data_address): Update.
+	* s390-nat.c (s390_stopped_by_watchpoint): Add 'ops' argument.
+	* target.c (update_current_target)
+	(find_default_can_async_p, find_default_is_async_p): Update.
+	(init_dummy_target): Update.
+	(debug_to_stopped_by_watchpoint): Add 'ops' argument.
+	* target.h (struct target_ops) <to_stopped_by_watchpoint,
+	to_can_async_p, to_is_async_p, to_async>: Add 'ops' argument.
+	(target_can_async_p, target_is_async_p, target_async)
+	(target_stopped_by_watchpoint): Update.
+
+2014-02-19  Yao Qi  <yao@codesourcery.com>
+
+	PR gdb/16220
+	* gdbarch.sh: Remove startup_gdbarch.
+	* gdbarch.c: Regenerated.
+	* gdbarch.h: Likewise.
+
+2014-02-17  Kevin Buettner  <kevinb@redhat.com>
+
+	* rl78-tdep.c (rl78_g10_register_name): New function.
+	(rl78_return_value): Add g10 support.
+	(rl78_gdbarch_init): Register rl78_g10_register_name for the
+	g10.
+
+2014-02-17  Doug Evans  <xdje42@gmail.com>
+
+	* Makefile.in (SUBDIR_GUILE_OBS): Resort alphabetically.
+	(SUBDIR_GUILE_SRCS): Ditto.
+	(scm-gsmob.o): Ditto.
+
+2014-02-17  Yao Qi  <yao@codesourcery.com>
+
+	* gnu-nat.c (ILL_RPC): Declare defined function.
+
+2014-02-17  Yao Qi  <yao@codesourcery.com>
+
+	* gnu-nat.c (gnu_read_inferior): Change 'copy_count' type to
+	mach_msg_type_number_t.
+	(gnu_write_inferior): Likewise.
+
+2014-02-17  Yao Qi  <yao@codesourcery.com>
+
+	* gnu-nat.c (proc_get_exception_port): Use 'lu' insetad of 'd'
+	in format string.
+	(proc_steal_exc_port, make_proc, inf_set_pid): Likewise.
+	(inf_validate_procs, inf_signal): Likewise.
+	(S_exception_raise_request): Likewise.
+	(do_mach_notify_dead_name): Likewise.
+	(steal_exc_port): Likewise.
+	(gnu_read_inferior): Change 'copy_count''s type to
+	mach_msg_type_number_t.
+	(gnu_write_inferior): Likewise.  Use 'lx' instead of 'x' in
+	format string.
+
+2014-02-16  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* gnu-nat.c (struct inf): Change pending_execs member to a 1-bit
+	flag.  Adjust all users; in particular...
+	(gnu_wait): ..., don't decrement its value in here...
+	(gnu_create_inferior): ..., and instead set the flag in here,
+	around the startup_inferior call, and call that one with
+	START_INFERIOR_TRAPS_EXPECTED.
+
+	* gnu-nat.c (ill_rpc): Remove function; replaced with this...
+	(ILL_RPC): ... new macro.
+	(do_mach_notify_no_senders, do_mach_notify_port_deleted)
+	(do_mach_notify_msg_accepted, do_mach_notify_port_destroyed)
+	(do_mach_notify_send_once, S_proc_setmsgport_reply)
+	(S_proc_getmsgport_reply, S_msg_sig_post_reply): Generate stub
+	functions with ILL_RPC macro.
+	(S_proc_pid2task_reply, S_proc_task2pid_reply)
+	(S_proc_task2proc_reply, S_proc_proc2task_reply)
+	(S_proc_pid2proc_reply, S_proc_getprocinfo_reply)
+	(S_proc_getprocargs_reply, S_proc_getprocenv_reply)
+	(S_proc_getloginid_reply, S_proc_getloginpids_reply)
+	(S_proc_getlogin_reply, S_proc_getsid_reply)
+	(S_proc_getsessionpgids_reply, S_proc_getsessionpids_reply)
+	(S_proc_getsidport_reply, S_proc_getpgrp_reply)
+	(S_proc_getpgrppids_reply, S_proc_get_tty_reply)
+	(S_proc_getnports_reply, S_proc_is_important_reply)
+	(S_proc_get_code_reply): New stub functions, generated with
+	ILL_RPC macro.
+
+	* reply_mig_hack.awk: In phase 5, keep going if we have not yet
+	collected the type check structures.
+
+	* reply_mig_hack.awk: Don't expect to see the auto keyword.
+
+2014-02-14  Doug Evans  <dje@google.com>
+
+	* target.c (target_write_partial): Fix result type.
+
+2014-02-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Register
+	the proper offsets to access fpregset_t.
+
+2014-02-13  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* cris-tdep.c (cris_supply_gregset): Remove zerobuf.
+	(_initialize_cris_tdep): Remove cris_set_cmdlist, cris_show_cmdlist.
+	* h8300-tdep.c (setmachinelist): Remove global.
+	* hppa-tdep.c (hppa_sigtramp): Remove global.
+	* mipsnbsd-tdep.c (sigtramp_retcode_mipsel, sigtramp_retcode_mipseb
+	RETCODE_NWORDS, RETCODE_SIZE): Wrap code with #if 0.
+	* ravenscar-thread.c (update_target_observer): Remove global.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Remove segment_regs.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* common/rsp-low.c: Update comments.
+	* common/rsp-low.h: Update comments.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* common/rsp-low.c (convert_ascii_to_int): Remove.
+	* common/rsp-low.h (convert_ascii_to_int): Don't declare.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* common/rsp-low.h (unhexify): Don't declare.
+	* common/rsp-low.c (unhexify): Remove.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* common/rsp-low.h (convert_int_to_ascii): Don't declare.
+	* common/rsp-low.c (convert_int_to_ascii): Remove.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* common/rsp-low.h (hexify): Don't declare.
+	* common/rsp-low.c (hexify): Remove.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* common/rsp-low.c (hexify): Never take strlen of argument.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* common/rsp-low.c (bin2hex): Never take strlen of argument.
+	* remote.c (extended_remote_run, remote_rcmd)
+	(remote_download_trace_state_variable, remote_save_trace_data)
+	(remote_set_trace_notes): Update.
+	* tracepoint.c (encode_source_string, tfile_write_status)
+	(tfile_write_uploaded_tsv): Update.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* tracepoint.c: Include rsp-low.h.
+	* remote.h (hex2bin, bin2hex, unpack_varlen_hex): Don't declare.
+	* remote.c: Include rsp-low.h.
+	(hexchars, ishex, unpack_varlen_hex, pack_nibble, pack_hex_byte)
+	(fromhex, hex2bin, tohex, bin2hex, remote_escape_output)
+	(remote_unescape_input): Move to common/rsp-low.c.
+	* common/rsp-low.h: New file.
+	* common/rsp-low.c: New file.
+	* Makefile.in (SFILES): Add common/rsp-low.c.
+	(HFILES_NO_SRCDIR): Add common/rsp-low.h.
+	(COMMON_OBS): Add rsp-low.o.
+	(rsp-low.o): New target.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* utils.h: Include print-utils.h.
+	(host_address_to_string, plongest, pulongest, phex, phex_nz)
+	(int_string, core_addr_to_string, core_addr_to_string_nz)
+	(hex_string, hex_string_custom): Don't declare.
+	* utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
+	(plongest, thirty_two, phex, phex_nz, octal2str, hex_string)
+	(hex_string_custom, int_string, core_addr_to_string)
+	(core_addr_to_string_nz, host_address_to_string): Move to
+	common/print-utils.c.
+	* common/print-utils.h: New file.
+	* common/print-utils.c: New file
+	* Makefile.in (SFILES): Add common/print-utils.c.
+	(HFILES_NO_SRCDIR): Add common/print-utils.h.
+	(COMMON_OBS): Add print-utils.o.
+	(print-utils.o): New target.
+
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* nios2-tdep.c (nios2_stub_frame_base_address): Remove.
+
+2014-02-12  Mark Kettenis  <kettenis@gnu.org>
+
+	* sparc64obsd-tdep.c (sparc64obsd_init_abi): Call obsd_init_abi.
+
+2014-02-12  Mark Kettenis  <kettenis@gnu.org>
+
+	* inf-ptrace.c (inf_ptrace_xfer_partial): Return TARGET_XFER_EOF
+	if a PT_IO ptrace request returns sucessfully but indicates that 0
+	bytes were transferred.
+
+2014-02-12  Pedro Alves  <palves@redhat.com>
+	    Kevin Buettner <kevinb@redhat.com>
+
+	* gnu-v3-abi.c (build_gdb_vtable_type): Return a type marked with
+	TYPE_INSTANCE_FLAG_CODE_SPACE.
+
+2014-02-12  Pedro Alves  <palves@redhat.com>
+
+	* h8300-tdep.c (pseudo_from_raw_register)
+	(raw_from_pseudo_register): New functions.
+	(h8300_pseudo_register_read, h8300_pseudo_register_write): Use
+	them.
+
+2014-02-12  Pedro Alves  <palves@redhat.com>
+
+	* h8300-tdep.c (h8300_register_sim_regno): New function.
+	(h8300_gdbarch_init): Install h8300_register_sim_regno as
+	gdbarch_register_sim_regno hook.
+
+2014-02-12  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* nios2-tdep.c (nios2_stub_frame_base): Remove global.
+
+2014-02-12  Sanimir Agovic  <sanimir.agovic@intel.com>
+
+	* tic6x-tdep.c (tic6x_gdbarch_init): Call frame_base_set_default.
+
+2014-02-12  Mark Kettenis  <kettenis@gnu.org>
+
+	* obsd-tdep.h (obsd_init_abi): New prototype.
+	* obsd-tdep.c: Define enum with OpenBSD signal numbers.
+	(obsd_gdb_signal_from_target, obsd_gdb_signal_to_target)
+	(obsd_init_abi): New functions.
+	* i386obsd-tdep.c: Include "obsd-tdep.h".
+	(i386obsd_init_abi): Call obsd_init_abi.
+	* amd64obsd-tdep.c: Include "obsd-tdep.h".
+	(amd64obsd_init_abi): Call obsd_init_abi.
+	* configure.tgt (i[34567]86-*-openbsd*, x86_64-*-openbsd*): Add
+	obsd-tdep.c to gdb_target_obs.
+
+2014-02-11  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+        * sparc64-tdep.c (sparc64_store_arguments): Do not align complex
+        double float arguments to 16-byte in the argument slots.
+
+2014-02-11  Doug Evans  <xdje42@gmail.com>
+
+	* configure.ac: Don't crash if pkg-config is not found and guile
+	wasn't explicitly requested.  Use AC_MSG_ERROR instead of AC_ERROR
+	in guile checks.
+	* configure: Regenerate.
+
+2014-02-11  Yao Qi  <yao@codesourcery.com>
+
+	* aix-thread.c (aix_thread_xfer_partial): Update comments.
+	* auxv.c (procfs_xfer_auxv, memory_xfer_auxv): Likewise.
+	* bsd-uthread.c (bsd_uthread_xfer_partial): Likewise.
+	* gnu-nat.c (gnu_xfer_memory): Likewise.
+	* inf-ptrace.c (inf_ptrace_xfer_partial):  Likewise.
+	* rs6000-nat.c (rs6000_xfer_partial): Likewise.
+	* sparc-nat.c (sparc_xfer_wcookie): Likewise.
+	* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.
+
+2014-02-11  Yao Qi  <yao@codesourcery.com>
+
+	* target.h (enum target_xfer_error): Rename to ...
+	(enum target_xfer_status): ... it.  New.  All users updated.
+	(enum target_xfer_status) <TARGET_XFER_OK>, <TARGET_XFER_EOF>:
+	New.
+	(TARGET_XFER_STATUS_ERROR_P): New macro.
+	(target_xfer_error_to_string): Remove declaration.
+	(target_xfer_status_to_string): Declare.
+	(target_xfer_partial_ftype): Adjust it.
+	(struct target_ops) <to_xfer_partial>: Return
+	target_xfer_status.  Add argument xfered_len.  Update
+	comments.
+	* target.c (target_xfer_error_to_string): Rename to ...
+	(target_xfer_status_to_string): ... it.  New.  All callers
+	updated.
+	(target_read_live_memory): Likewise.  Call target_xfer_partial
+	instead of target_read.
+	(memory_xfer_live_readonly_partial): Return
+	target_xfer_status.  Add argument xfered_len.
+	(raw_memory_xfer_partial): Likewise.
+	(memory_xfer_partial_1): Likewise.
+	(memory_xfer_partial): Likewise.
+	(target_xfer_partial): Likewise.  Check *XFERED_LEN is set
+	properly.  Update debug message.
+	(default_xfer_partial, current_xfer_partial): Likewise.
+	(target_write_partial): Likewise.
+	(target_read_partial): Likewise.  All callers updated.
+	(read_whatever_is_readable): Likewise.
+	(target_write_with_progress): Likewise.
+	(target_read_alloc_1): Likewise.
+
+	* aix-thread.c (aix_thread_xfer_partial): Likewise.
+	* auxv.c (procfs_xfer_auxv): Likewise.
+	(ld_so_xfer_auxv, memory_xfer_auxv): Likewise.
+	* bfd-target.c (target_bfd_xfer_partial): Likewise.
+	* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
+	* bsd-uthread.c (bsd_uthread_xfer_partia): Likewise.
+	* corefile.c (read_memory): Adjust.
+	* corelow.c (core_xfer_partial): Likewise.
+	* ctf.c (ctf_xfer_partial): Likewise.
+	* darwin-nat.c (darwin_read_dyld_info): Likewise.  All callers
+	updated.
+	(darwin_xfer_partial): Likewise.
+	* exec.c (section_table_xfer_memory_partial): Likewise.  All
+	callers updated.
+	(exec_xfer_partial): Likewise.
+	* exec.h (section_table_xfer_memory_partial): Update
+	declaration.
+	* gnu-nat.c (gnu_xfer_memory): Likewise.  Assert 'res' is not
+	negative.
+	(gnu_xfer_partial): Likewise.
+	* ia64-hpux-nat.c (ia64_hpux_xfer_memory_no_bs): Likewise.
+	(ia64_hpux_xfer_memory, ia64_hpux_xfer_uregs): Likewise.
+	(ia64_hpux_xfer_solib_got): Likewise.
+	* inf-ptrace.c (inf_ptrace_xfer_partial): Likewise.  Change
+	type of 'partial_len' to ULONGEST.
+	* inf-ttrace.c (inf_ttrace_xfer_partial): Likewise.
+	* linux-nat.c (linux_xfer_siginfo ): Likewise.
+	(linux_nat_xfer_partial): Likewise.
+	(linux_proc_xfer_partial, linux_xfer_partial): Likewise.
+	(linux_proc_xfer_spu, linux_nat_xfer_osdata): Likewise.
+	* monitor.c (monitor_xfer_memory): Likewise.
+	(monitor_xfer_partial): Likewise.
+	* procfs.c (procfs_xfer_partial): Likewise.
+	* record-btrace.c (record_btrace_xfer_partial): Likewise.
+	* record-full.c (record_full_xfer_partial): Likewise.
+	(record_full_core_xfer_partial): Likewise.
+	* remote-sim.c (gdbsim_xfer_memory): Likewise.
+	(gdbsim_xfer_partial): Likewise.
+	* remote.c (remote_write_bytes_aux): Likewise.  All callers
+	updated.
+	(remote_write_bytes, remote_read_bytes): Likewise.  All
+	callers updated.
+	(remote_flash_erase): Likewise.  All callers updated.
+	(remote_write_qxfer): Likewise.  All callers updated.
+	(remote_read_qxfer): Likewise.  All callers updated.
+	(remote_xfer_partial): Likewise.
+	* rs6000-nat.c (rs6000_xfer_partial): Likewise.
+	(rs6000_xfer_shared_libraries): Likewise.
+	* sol-thread.c (sol_thread_xfer_partial): Likewise.
+	(sol_thread_xfer_partial): Likewise.
+	* sparc-nat.c (sparc_xfer_wcookie): Likewise.
+	(sparc_xfer_partial): Likewise.
+	* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.  All callers
+	updated.
+	(spu_xfer_partial): Likewise.
+	* spu-multiarch.c (spu_xfer_partial): Likewise.
+	* tracepoint.c (tfile_xfer_partial): Likewise.
+	* windows-nat.c (windows_xfer_memory): Likewise.
+	(windows_xfer_shared_libraries): Likewise.
+	(windows_xfer_partial): Likewise.
+	* valprint.c: Replace 'target_xfer_error' with
+	'target_xfer_status' in comments.
+
+2014-02-11  Simon Marchi  <simon.marchi@ericsson.com>  (tiny patch)
+
+	Checked in by Joel Brobecker <brobecker@adacore.com>.
+	* mi/mi-main.c (mi_cmd_data_write_memory_bytes): Fix comment.
+
+2014-02-11  Joel Brobecker  <brobecker@adacore.com>
+
+	* symfile-debug.c (debug_qf_expand_symtabs_matching): Reformat
+	function parameters.
+
+2014-02-10  Will Newton  <will.newton@linaro.org>
+
+	* elfread.c (elf_rel_plt_read): Look for a .got section if
+	looking up .got.plt fails.
+	(elf_gnu_ifunc_resolve_by_got): Call gdbarch_addr_bits_remove
+	on address passed to elf_gnu_ifunc_record_cache.
+	(elf_gnu_ifunc_resolve_addr): Likewise.
+	(elf_gnu_ifunc_resolver_return_stop): Likewise.
+
+2014-02-10  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* sparc-tdep.c (sparc_in_function_epilogue_p): New function.
+	(X_RETTURN): New macro.
+	* sparc-tdep.h: sparc_in_function_epilogue_p prototype.
+
+	* sparc64-tdep.c (sparc64_init_abi): Hook
+	sparc_in_function_epilogue_p.
+
+2014-02-10  Gary Benson  <gbenson@redhat.com>
+
+	* symfile-debug.c (debug_qf_expand_symtabs_matching):
+	Rename name_matcher to symbol_matcher.
+
+2014-02-10  Gary Benson  <gbenson@redhat.com>
+
+	* symfile-debug.c (debug_qf_expand_symtabs_matching):
+	Use expand_symtabs_file_matcher_ftype and
+	expand_symtabs_symbol_matcher_ftype.
+
+2014-02-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (struct cache_entry, HASH_SIZE): Move definition up.
+	(struct ada_symbol_cache): New.
+	(ada_free_symbol_cache): Forward declare.
+	(struct ada_pspace_data): New.
+	(ada_pspace_data_handle): New static global.
+	(get_ada_pspace_data, ada_pspace_data_cleanup)
+	(ada_init_symbol_cache, ada_free_symbol_cache): New functions.
+	(cache_space, cache): Delete, now folded inside struct
+	ada_pspace_data.
+	(ada_get_symbol_cache): New function.
+	(ada_clear_symbol_cache, find_entry, cache_symbol): Adjust
+	implementation.
+	(_initialize_ada_language): Remove initialization of cache_space.
+	Move call to observer_attach_inferior_exit up, grouping it
+	with the other observer registrations inside this function.
+	Rename command to be more general.  Add call to
+	register_program_space_data_with_cleanup.
+
+2014-02-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-tasks.c (ada_tasks_new_objfile_observer): Renames
+	ada_new_objfile_observer.
+	(ada_tasks_normal_stop_observer): Renames ada_normal_stop_observer.
+	(_initialize_tasks): Update uses of ada_new_objfile_observer
+	and ada_tasks_normal_stop_observer.
+
+2014-02-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_evaluate_subexp): Set the type of the value
+	returned by the 'Length attribute to integer.
+
+2014-02-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (_initialize_ada_language): Initialize
+	cache_space obstack.
+
+2014-02-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (HASH_SIZE): New macro.
+	(struct cache_entry): New type.
+	(cache_space, cache): New static globals.
+	(ada_clear_symbol_cache, find_entry): New functions.
+	(lookup_cached_symbol, cache_symbol): Implement.
+	(ada_new_objfile_observer, ada_free_objfile_observer): New.
+	(_initialize_ada_language): Attach ada_new_objfile_observer
+	and ada_free_objfile_observer.
+
+2014-02-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (ada_add_block_symbols, add_defn_to_vec)
+	(lookup_cached_symbol, ada_add_local_symbols): Add "const" to
+	struct block * parameter.
+	(ada_lookup_symbol_list_worker): Constify local variable "block".
+	Remove cast which is no longer necessary.
+
+2014-02-10  Doug Evans  <xdje42@gmail.com>
+
+	Add Guile as an extension language.
+	* NEWS: Mention Guile scripting.
+	* Makefile.in (SUBDIR_GUILE_OBS): New variable.
+	(SUBDIR_GUILE_SRCS, SUBDIR_GUILE_DEPS): New variables
+	(SUBDIR_GUILE_LDFLAGS, SUBDIR_GUILE_CFLAGS): New variables.
+	(INTERNAL_CPPFLAGS): Add GUILE_CPPFLAGS.
+	(CLIBS): Add GUILE_LIBS.
+	(install-guile): New rule.
+	(guile.o): New rule.
+	(scm-arch.o, scm-auto-load.o, scm-block.o): New rules.
+	(scm-breakpoint.o, scm-disasm.o, scm-exception.o): New rules.
+	(scm-frame.o, scm-iterator.o, scm-lazy-string.o): New rules.
+	(scm-math.o, scm-objfile.o, scm-ports.o): New rules.
+	(scm-pretty-print.o, scm-safe-call.o, scm-gsmob.o): New rules.
+	(scm-string.o, scm-symbol.o, scm-symtab.o): New rules.
+	(scm-type.o, scm-utils.o, scm-value.o): New rules.
+	* configure.ac: New option --with-guile.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* auto-load.c: Remove #include "python/python.h".  Add #include
+	"gdb/section-scripts.h".
+	(source_section_scripts): Handle Guile scripts.
+	(_initialize_auto_load): Add name of Guile objfile script to
+	scripts-directory help text.
+	* breakpoint.c (condition_command): Tweak comment to include Scheme.
+	* breakpoint.h (gdbscm_breakpoint_object): Add forward decl.
+	(struct breakpoint): New member scm_bp_object.
+	* defs.h (enum command_control_type): New value guile_control.
+	* cli/cli-cmds.c: Remove #include "python/python.h".  Add #include
+	"extension.h".
+	(show_user): Update comment.
+	(_initialize_cli_cmds): Update help text for "show user".  Update help
+	text for max-user-call-depth.
+	* cli/cli-script.c: Remove #include "python/python.h".  Add #include
+	"extension.h".
+	(multi_line_command_p): Add guile_control.
+	(print_command_lines): Handle guile_control.
+	(execute_control_command, recurse_read_control_structure): Ditto.
+	(process_next_line): Recognize "guile" commands.
+	* disasm.c (gdb_disassemble_info): Make non-static.
+	* disasm.h: #include "dis-asm.h".
+	(struct gdbarch): Add forward decl.
+	(gdb_disassemble_info): Declare.
+	* extension.c: #include "guile/guile.h".
+	(extension_languages): Add guile.
+	(get_ext_lang_defn): Handle EXT_LANG_GDB.
+	* extension.h (enum extension_language): New value EXT_LANG_GUILE.
+	* gdbtypes.c (get_unsigned_type_max): New function.
+	(get_signed_type_minmax): New function.
+	* gdbtypes.h (get_unsigned_type_max): Declare.
+	(get_signed_type_minmax): Declare.
+	* guile/README: New file.
+	* guile/guile-internal.h: New file.
+	* guile/guile.c: New file.
+	* guile/guile.h: New file.
+	* guile/scm-arch.c: New file.
+	* guile/scm-auto-load.c: New file.
+	* guile/scm-block.c: New file.
+	* guile/scm-breakpoint.c: New file.
+	* guile/scm-disasm.c: New file.
+	* guile/scm-exception.c: New file.
+	* guile/scm-frame.c: New file.
+	* guile/scm-gsmob.c: New file.
+	* guile/scm-iterator.c: New file.
+	* guile/scm-lazy-string.c: New file.
+	* guile/scm-math.c: New file.
+	* guile/scm-objfile.c: New file.
+	* guile/scm-ports.c: New file.
+	* guile/scm-pretty-print.c: New file.
+	* guile/scm-safe-call.c: New file.
+	* guile/scm-string.c: New file.
+	* guile/scm-symbol.c: New file.
+	* guile/scm-symtab.c: New file.
+	* guile/scm-type.c: New file.
+	* guile/scm-utils.c: New file.
+	* guile/scm-value.c: New file.
+	* guile/lib/gdb.scm: New file.
+	* guile/lib/gdb/boot.scm: New file.
+	* guile/lib/gdb/experimental.scm: New file.
+	* guile/lib/gdb/init.scm: New file.
+	* guile/lib/gdb/iterator.scm: New file.
+	* guile/lib/gdb/printing.scm: New file.
+	* guile/lib/gdb/types.scm: New file.
+	* data-directory/Makefile.in (GUILE_SRCDIR): New variable.
+	(VPATH): Add $(GUILE_SRCDIR).
+	(GUILE_DIR): New variable.
+	(GUILE_INSTALL_DIR, GUILE_FILES): New variables.
+	(all): Add stamp-guile dependency.
+	(stamp-guile): New rule.
+	(clean-guile, install-guile, uninstall-guile): New rules.
+	(install-only): Add install-guile dependency.
+	(uninstall): Add uninstall-guile dependency.
+	(clean): Add clean-guile dependency.
+
+2014-02-09  Doug Evans  <xdje42@gmail.com>
+
+	Revert this patch (which I approved, mea culpa).
+
+	2014-02-08  Mark Kettenis  <kettenis@gnu.org>
+
+	* Makefile.in (all-lib): Remove.
+	($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
+
+2014-02-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix Python stack corruption.
+	* python/py-linetable.c (ltpy_get_pcs_for_line, ltpy_has_line): Use
+	gdb_py_longest.
+
+2014-02-08  Mark Kettenis  <kettenis@gnu.org>
+
+	* Makefile.in (all-lib): Remove.
+	($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
+
+2014-02-07  Doug Evans  <dje@google.com>
+
+	* extension-priv.h (extension_language_script_ops): Add comment.
+	(extension_language_ops): Add comment.
+	(active_ext_lang_state): Fix typo in comment.
+
+2014-02-07  Pedro Alves  <palves@redhat.com>
+
+	PR breakpoints/16292
+	* infrun.c (handle_signal_stop) <signal arrives while stepping
+	over a breakpoint>: Switch back to the stepping thread.
+
+2014-02-07  Yao Qi  <yao@codesourcery.com>
+
+	* target.c (target_xfer_partial): Return zero if LEN is zero.
+
+2014-02-07  Yao Qi  <yao@codesourcery.com>
+
+	* auxv.c (procfs_xfer_auxv): Replace -1 with TARGET_XFER_E_IO.
+	(ld_so_xfer_auxv): Likewise.
+	* bfd-target.c (target_bfd_xfer_partial): Likewise.
+	* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
+	* corelow.c (core_xfer_partial): Likewise.
+	* ctf.c (ctf_xfer_partial): Likewise.
+	* darwin-nat.c (darwin_read_dyld_info): Likewise.
+	(darwin_xfer_partial): Likewise.
+	* exec.c (exec_xfer_partial): Likewise.
+	* gnu-nat.c (gnu_xfer_partial): Likewise.
+	* ia64-hpux-nat.c (ia64_hpux_xfer_uregs): Likewise.
+	* inf-ptrace.c (inf_ptrace_xfer_partial): Likewise.
+	* inf-ttrace.c (inf_ttrace_xfer_partial): Likewise.
+	* linux-nat.c (linux_xfer_siginfo): Likewise.
+	(linux_proc_xfer_spu): Likewise.
+	* procfs.c (procfs_xfer_partial): Likewise.
+	* record-full.c (record_full_xfer_partial): Likewise.
+	(record_full_core_xfer_partial): Likewise.
+	* remote-sim.c (gdbsim_xfer_partial): Likewise.
+	* remote.c (remote_write_qxfer): Likewise.
+	(remote_write_qxfer, remote_read_qxfer): Likewise.
+	(remote_xfer_partial): Likewise.
+	* rs6000-nat.c (rs6000_xfer_partial): Likewise.
+	(rs6000_xfer_shared_libraries): Likewise.
+	* sparc-nat.c (sparc_xfer_wcookie): Likewise.
+	* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.
+	(spu_xfer_partial): Likewise.
+	* target.c (memory_xfer_partial_1): Likewise.
+	* tracepoint.c (tfile_xfer_partial): Likewise.
+	* windows-nat.c (windows_xfer_shared_libraries): Likewise.
+	(windows_xfer_partial): Likewise.
+
+2014-02-07  Yao Qi  <yao@codesourcery.com>
+
+	* gdbarch.sh (core_xfer_shared_libraries): Returns ULONGEST.  Add
+	comments.
+	(core_xfer_shared_libraries_aix): Likewise.
+	* gdbarch.c, gdbarch.h: Regenerated.
+	* i386-cygwin-tdep.c (windows_core_xfer_shared_libraries): Return
+	ULONGEST.  Change 'len_avail' type to ULONGEST.
+	* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
+	* rs6000-aix-tdep.h (rs6000_aix_ld_info_to_xml): Update
+	declaration.
+	(rs6000_aix_core_xfer_shared_libraries_aix): Return ULONGEST.
+
+2014-02-07  Yao Qi  <yao@codesourcery.com>
+
+	* corefile.c (memory_error): Get 'exception' from ERR and pass
+	'exception' to throw_error.
+
+2014-02-06  Doug Evans  <xdje42@gmail.com>
+
+	* configure.ac (libpython checking): Remove all but python.o from
+	CONFIG_OBS.  Remove all but python.c from CONFIG_SRCS.
+	* configure: Regenerate.
+
+	* Makefile.in (SFILES): Add extension.c.
+	(HFILES_NO_SRCDIR): Add extension.h, extension-priv.h
+	(COMMON_OBS): Add extension.o.
+	* extension.h: New file.
+	* extension-priv.h: New file.
+	* extension.c: New file.
+
+	* python/python-internal.h: #include "extension.h".
+	(gdbpy_auto_load_enabled): Declare.
+	(gdbpy_apply_val_pretty_printer): Declare.
+	(gdbpy_apply_frame_filter): Declare.
+	(gdbpy_preserve_values): Declare.
+	(gdbpy_breakpoint_cond_says_stop): Declare.
+	(gdbpy_breakpoint_has_cond): Declare.
+	(void source_python_script_for_objfile): Delete.
+	* python/python.c: #include "extension-priv.h".
+	Delete inclusion of "observer.h".
+	(extension_language_python): Moved here and renamed from
+	script_language_python in py-auto-load.c.
+	Redefined to be of type extension_language_defn.
+	(python_extension_script_ops): New global.
+	(python_extension_ops): New global.
+	(struct python_env): New member previous_active.
+	(restore_python_env): Call restore_active_ext_lang.
+	(ensure_python_env): Call set_active_ext_lang.
+	(gdbpy_clear_quit_flag): Renamed from clear_quit_flag, made static.
+	New arg extlang.
+	(gdbpy_set_quit_flag): Renamed from set_quit_flag, made static.
+	New arg extlang.
+	(gdbpy_check_quit_flag): Renamed from check_quit_flag, made static.
+	New arg extlang.
+	(gdbpy_eval_from_control_command): Renamed from
+	eval_python_from_control_command, made static.  New arg extlang.
+	(gdbpy_source_script) Renamed from source_python_script, made static.
+	New arg extlang.
+	(gdbpy_before_prompt_hook): Renamed from before_prompt_hook.  Change
+	result to int.  New arg extlang.
+	(gdbpy_source_objfile_script): Renamed from
+	source_python_script_for_objfile, made static.  New arg extlang.
+	(gdbpy_start_type_printers): Renamed from start_type_printers, made
+	static.  New args extlang, extlang_printers.  Change result type to
+	"void".
+	(gdbpy_apply_type_printers): Renamed from apply_type_printers, made
+	static.  New arg extlang.  Rename arg printers to extlang_printers
+	and change type to ext_lang_type_printers *.
+	(gdbpy_free_type_printers): Renamed from free_type_printers, made
+	static.  Replace argument arg with extlang, extlang_printers.
+	(!HAVE_PYTHON, eval_python_from_control_command): Delete.
+	(!HAVE_PYTHON, source_python_script): Delete.
+	(!HAVE_PYTHON, gdbpy_should_stop): Delete.
+	(!HAVE_PYTHON, gdbpy_breakpoint_has_py_cond): Delete.
+	(!HAVE_PYTHON, start_type_printers): Delete.
+	(!HAVE_PYTHON, apply_type_printers): Delete.
+	(!HAVE_PYTHON, free_type_printers): Delete.
+	(_initialize_python): Delete call to observer_attach_before_prompt.
+	(finalize_python): Set/restore active extension language.
+	(gdbpy_finish_initialization) Renamed from
+	finish_python_initialization, made static.  New arg extlang.
+	(gdbpy_initialized): New function.
+	* python/python.h: #include "extension.h".  Delete #include
+	"value.h", "mi/mi-cmds.h".
+	(extension_language_python): Declare.
+	(GDBPY_AUTO_FILE_NAME): Delete.
+	(enum py_bt_status): Moved to extension.h and renamed to
+	ext_lang_bt_status.
+	(enum frame_filter_flags): Moved to extension.h.
+	(enum py_frame_args): Moved to extension.h and renamed to
+	ext_lang_frame_args.
+	(finish_python_initialization): Delete.
+	(eval_python_from_control_command): Delete.
+	(source_python_script): Delete.
+	(apply_val_pretty_printer): Delete.
+	(apply_frame_filter): Delete.
+	(preserve_python_values): Delete.
+	(gdbpy_script_language_defn): Delete.
+	(gdbpy_should_stop, gdbpy_breakpoint_has_py_cond): Delete.
+	(start_type_printers, apply_type_printers, free_type_printers): Delete.
+
+	* auto-load.c: #include "extension.h".
+	(GDB_AUTO_FILE_NAME): Delete.
+	(auto_load_gdb_scripts_enabled): Make public.  New arg extlang.
+	(script_language_gdb): Delete, moved to extension.c and renamed to
+	extension_language_gdb.
+	(source_gdb_script_for_objfile): Delete.
+	(auto_load_pspace_info): New member unsupported_script_warning_printed.
+	(loaded_script): Change type of language member to
+	struct extension_language_defn *.
+	(init_loaded_scripts_info): Initialize
+	unsupported_script_warning_printed.
+	(maybe_add_script): Make static.  Change type of language arg to
+	struct extension_language_defn *.
+	(clear_section_scripts): Reset unsupported_script_warning_printed.
+	(auto_load_objfile_script_1): Rewrite to use extension language API.
+	(auto_load_objfile_script): Make public.  Remove support-compiled-in
+	and auto-load-enabled checks, moved to auto_load_scripts_for_objfile.
+	(source_section_scripts): Rewrite to use extension language API.
+	(load_auto_scripts_for_objfile): Rewrite to use
+	auto_load_scripts_for_objfile.
+	(collect_matching_scripts_data): Change type of language member to
+	struct extension_language_defn *.
+	(auto_load_info_scripts): Change type of language arg to
+	struct extension_language_defn *.
+	(unsupported_script_warning_print): New function.
+	(script_not_found_warning_print): Make static.
+	(_initialize_auto_load): Rewrite construction of scripts-directory
+	help.
+	* auto-load.h (struct objfile): Add forward decl.
+	(struct script_language): Delete.
+	(struct auto_load_pspace_info): Add forward decl.
+	(struct extension_language_defn): Add forward decl.
+	(maybe_add_script): Delete.
+	(auto_load_objfile_script): Declare.
+	(script_not_found_warning_print): Delete.
+	(auto_load_info_scripts): Update prototype.
+	(auto_load_gdb_scripts_enabled): Declare.
+	* python/py-auto-load.c (gdbpy_auto_load_enabled): Renamed from
+	auto_load_python_scripts_enabled and made public.
+	(script_language_python): Delete, moved to python.c.
+	(gdbpy_script_language_defn): Delete.
+	(info_auto_load_python_scripts): Update to use
+	extension_language_python.
+
+	* breakpoint.c (condition_command): Replace call to
+	gdbpy_breakpoint_has_py_cond with call to get_breakpoint_cond_ext_lang.
+	(bpstat_check_breakpoint_conditions): Replace call to gdbpy_should_stop
+	with call to breakpoint_ext_lang_cond_says_stop.
+	* python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Renamed
+	from gdbpy_should_stop.  Change result type to enum scr_bp_stop.
+	New arg slang.  Return SCR_BP_STOP_UNSET if py_bp_object is NULL.
+	(gdbpy_breakpoint_has_cond): Renamed from gdbpy_breakpoint_has_py_cond.
+	New arg slang.
+	(local_setattro): Print name of extension language with existing
+	stop condition.
+
+	* valprint.c (val_print, value_print): Update to call
+	apply_ext_lang_val_pretty_printer.
+	* cp-valprint.c (cp_print_value): Update call to
+	apply_ext_lang_val_pretty_printer.
+	* python/py-prettyprint.c: Remove #ifdef HAVE_PYTHON.
+	(gdbpy_apply_val_pretty_printer): Renamed from
+	apply_val_pretty_printer.  New arg extlang.
+	(!HAVE_PYTHON, apply_val_pretty_printer): Delete.
+
+	* cli/cli-cmds.c (source_script_from_stream): Rewrite to use
+	extension language API.
+	* cli/cli-script.c (execute_control_command): Update to call
+	eval_ext_lang_from_control_command.
+
+	* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Update to use
+	enum ext_lang_bt_status values.  Update call to
+	apply_ext_lang_frame_filter.
+	(mi_cmd_stack_list_locals): Ditto.
+	(mi_cmd_stack_list_args): Ditto.
+	(mi_cmd_stack_list_variables): Ditto.
+	* mi/mi-main.c: Delete #include "python/python-internal.h".
+	Add #include "extension.h".
+	(mi_cmd_list_features): Replace reference to python internal variable
+	gdb_python_initialized with call to ext_lang_initialized_p.
+
+	* stack.c (backtrace_command_1): Update to use enum ext_lang_bt_status.
+	Update to use enum ext_lang_frame_args.  Update to call
+	apply_ext_lang_frame_filter.
+	* python/py-framefilter.c (extract_sym): Update to use enum
+	ext_lang_bt_status.
+	(extract_value, py_print_type, py_print_value): Ditto.
+	(py_print_single_arg, enumerate_args, enumerate_locals): Ditto.
+	(py_mi_print_variables, py_print_locals, py_print_args): Ditto.
+	(py_print_frame): Ditto.
+	(gdbpy_apply_frame_filter): Renamed from apply_frame_filter.
+	New arg extlang.  Update to use enum ext_lang_bt_status.
+
+	* top.c (gdb_init): Delete #ifdef HAVE_PYTHON call to
+	finish_python_initialization.  Replace with call to
+	finish_ext_lang_initialization.
+
+	* typeprint.c (do_free_global_table): Update to call
+	free_ext_lang_type_printers.
+	(create_global_typedef_table): Update to call
+	start_ext_lang_type_printers.
+	(find_global_typedef): Update to call apply_ext_lang_type_printers.
+	* typeprint.h (struct ext_lang_type_printers): Add forward decl.
+	(type_print_options): Change type of global_printers from "void *"
+	to "struct ext_lang_type_printers *".
+
+	* value.c (preserve_values): Update to call preserve_ext_lang_values.
+	* python/py-value.c: Remove #ifdef HAVE_PYTHON.
+	(gdbpy_preserve_values): Renamed from preserve_python_values.
+	New arg extlang.
+	(!HAVE_PYTHON, preserve_python_values): Delete.
+
+	* utils.c (quit_flag): Delete, moved to extension.c.
+	(clear_quit_flag, set_quit_flag, check_quit_flag): Delete, moved to
+	extension.c.
+
+	* eval.c: Delete #include "python/python.h".
+	* main.c: Delete #include "python/python.h".
+
+	* defs.h: Update comment.
+
+2014-02-06  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 7.7 released.
+
+2014-02-05  Mark Kettenis  <kettenis@gnu.org>
+
+	* c-exp.y (YYPRINT, c_print_token): Only define if YYBISON is
+	defined.
+
+2014-02-05  Yao Qi  <yao@codesourcery.com>
+
+	* remote.c (remote_pass_signals): Remove local 'buf' and use
+	rs->buf.
+	(remote_program_signals): Likewise.
+
+2014-02-05  Yao Qi  <yao@codesourcery.com>
+
+	* ctf.c: Include "inferior.h" and "gdbthread.h".
+	(CTF_PID): A new macro.
+	(ctf_open): Call inferior_appeared and add_thread_silent.
+	(ctf_close): Call exit_inferior_silent and set inferior_ptid.
+	(ctf_thread_alive): New function.
+	(init_ctf_ops): Install ctf_thread_alive to to_thread_alive.
+
+2014-02-05  Yao Qi  <yao@codesourcery.com>
+
+	Revert this patch:
+
+	2013-05-24  Yao Qi  <yao@codesourcery.com>
+
+	* tracepoint.c (TFILE_PID): Remove.
+	(tfile_open): Don't add thread and inferior.
+	(tfile_close): Don't set 'inferior_ptid'.  Don't call
+	exit_inferior_silent.
+	(tfile_thread_alive): Remove.
+	(init_tfile_ops): Don't set field 'to_thread_alive' of
+	tfile_ops.
+
+2014-02-04  Christian Eggers  <ceggers@gmx.de>  (tiny change)
+
+	* remote.c (remote_start_remote): Call remote_check_symbols even
+	if only symbol-file (not file) has been given.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* gdbarch.sh (skip_entrypoint): New callback.
+	* gdbarch.c, gdbarch.h: Regenerate.
+	* symtab.c (skip_prologue_sal): Call gdbarch_skip_entrypoint.
+	* infrun.c (fill_in_stop_func): Likewise.
+	* ppc-linux-tdep.c: Include "elf/ppc64.h".
+	(ppc_elfv2_elf_make_msymbol_special): New function.
+	(ppc_elfv2_skip_entrypoint): Likewise.
+	(ppc_linux_init_abi): Install them for ELFv2.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* ppc-sysv-tdep.c (ppc64_aggregate_candidate): New routine.
+	(ppc64_elfv2_abi_homogeneous_aggregate): Likewise.
+	(ppc64_sysv_abi_push_param): Handle ELFv2 homogeneous structs.
+	(ppc64_sysv_abi_return_value): Likewise.  Also, handle small
+	structures returned in GPRs.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Use correct
+	offset to the stack parameter list for the ELFv2 ABI.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Only call
+	set_gdbarch_convert_from_func_ptr_addr and
+	set_gdbarch_elf_make_msymbol_special for ELFv1.
+	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_param): Only handle
+	function descriptors on ELFv1.
+	(ppc64_sysv_abi_push_dummy_call): Likewise.  On ELFv2,
+	set up r12 at function entry.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* ppc-tdep.h (enum powerpc_elf_abi): New data type.
+	(struct gdbarch_tdep): New member elf_abi.
+
+	* rs6000-tdep.c: Include "elf/ppc64.h".
+	(rs6000_gdbarch_init): Detect ELF ABI version.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_freg): Use correct order
+	within a register pair holding a DFP 128-bit value on little-endian.
+	(ppc64_sysv_abi_return_value_base): Likewise.
+	* rs6000-tdep.c (dfp_pseudo_register_read): Likewise.
+	(dfp_pseudo_register_write): Likewise.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_freg): Use correct
+	offset on little-endian when passing _Decimal32.
+	(ppc64_sysv_abi_return_value_base): Likewise for return values.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* rs6000-tdep.c (efpr_pseudo_register_read): Use correct offset
+	of the overlapped FP register within the VSX register on little-
+	endian platforms.
+	(efpr_pseudo_register_write): Likewise.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_val): Use correct
+	offset on little-endian when passing small structures.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* ppc-sysv-tdep.c (get_decimal_float_return_value): Update comment.
+	(struct ppc64_sysv_argpos): New data structure.
+	(ppc64_sysv_abi_push_float): Remove.
+	(ppc64_sysv_abi_push_val): New function.
+	(ppc64_sysv_abi_push_integer): Likewise.
+	(ppc64_sysv_abi_push_freg): Likewise.
+	(ppc64_sysv_abi_push_vreg): Likewise.
+	(ppc64_sysv_abi_push_param): Likewise.
+	(ppc64_sysv_abi_push_dummy_call): Refactor to use those new routines.
+	(ppc64_sysv_abi_return_value_base): New function.
+	(ppc64_sysv_abi_return_value): Refactor to use it.
+
+2014-02-04  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* NEWS: Document new target powerpc64le-*-linux*.
+
+2014-02-04  Mark Kettenis  <kettenis@gnu.org>
+
+	* sparc64obsd-tdep.c (sparc64obsd_gregset): New variable.
+	(sparc64obsd_supply_gregset): Handle registers sets used in ELF
+	core dumps.
+	(sparc64obsd_init_abi): Adjust minimum size of the general purpose
+	register set used in ELF core dumps.  Add floating-point register set.
+
+2014-02-03  Kevin Buettner  <kevinb@redhat.com>
+
+	* mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Rewrite
+	dwarf2_to_gdb[] table using symbolic constants.  Adjust
+	penultimate entry from number representing the PC register
+	to symbolic constant representing the MDR register.  Add
+	constant for the PC register to the end of the table.
+
+2014-02-03  Mark Kettenis  <kettenis@gnu.org>
+
+	* bsd-kvm.c: Include <sys/param.h>
+
+2014-02-03  Mark Kettenis  <kettenis@gnu.org>
+
+	* sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Fix prototype.
+
+2014-01-31  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.h (clear_ada_sym_cache): Delete.
+
+2014-01-30  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* auxv.c (fprint_target_auxv): Handle AT_HWCAP2.
+
+2014-01-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* sparc64-linux-tdep.c (sparc64_linux_step_trap): Get PC from
+          the sigreturn register save area only if the syscall is
+          sigreturn.
+
+2014-01-29  Joel Brobecker  <brobecker@adacore.com>
+
+	* valops.c (value_slice): Minor reformatting.
+
+2014-01-28  Ulrich WeigandÂ  <uweigand@de.ibm.com>
+
+	* ppc64-tdep.c (ppc64_standard_linkage7): Fix typo.
+
+2014-01-28  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c (maint_set_ada_cmdlist, maint_show_ada_cmdlist):
+	New static globals.
+	(maint_set_ada_cmd, maint_show_ada_cmd): New functions.
+	(ada_ignore_descriptive_types_p): New static global.
+	(find_parallel_type_by_descriptive_type): Return immediately
+	if ada_ignore_descriptive_types_p is set.
+	(_initialize_ada_language): Register new commands "maintenance
+	set ada", "maintenance show ada", "maintenance set ada
+	ignore-descriptive-types" and "maintenance show ada
+	ignore-descriptive-types".
+	* NEWS: Add entry for new "maint ada set/show
+	ignore-descriptive-types" commands.
+
+2014-01-27  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_close): Call btrace_teardown
+	for all threads.
+
+2014-01-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-lang.c: Remove "#ifdef UI_OUT" condition for including
+	"ui-out.h".
+
+2014-01-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-typeprint (type_is_full_subrange_of_target_type):
+	New function.
+	(print_range): Add parameter bounds_prefered_p.  If not set,
+	try printing range types using the name of their base type.
+	(print_range_type): Add parameter bounds_prefered_p.
+	Use it in call to print_range.
+	(print_array_type, ada_print_type): Update calls to print_range
+	and print_range_type.
+
+2014-01-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-typeprint.c (print_array_type, print_choices, print_range)
+	(print_range_bound, print_dynamic_range_bound, print_range_type):
+	Remove declaration.
+
+2014-01-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-typeprint.c (print_range): Add missing empty line
+	after local declaration.
+
+2014-01-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (print_optional_low_bound): Get index_type's
+	target type for as long as it is a TYPE_CODE_RANGE.
+
+2014-01-27  Joel Brobecker  <brobecker@adacore.com>
+
+	* procfs.c (procfs_make_note_section): Remove assertion and
+	associated comment.
+
+2014-01-24  Yao Qi  <yao@codesourcery.com>
+
+	* remote.c (remote_read_bytes): Change type of len to ULONGEST.
+	* corelow.c (get_core_siginfo): Likewise.
+
+2014-01-24  Yao Qi  <yao@codesourcery.com>
+
+	* remote.c (remote_write_bytes_aux): Change type of 'len' to
+	ULONGEST.  Don't check 'len' is negative.
+	(remote_write_bytes):  Change type of 'len' to ULONGEST.
+
+2014-01-23  Tom Tromey  <tromey@redhat.com>
+
+	PR python/16485:
+	* python/lib/gdb/FrameDecorator.py: (FrameVars.fetch_frame_args):
+	Handle exception from frame.block.
+	(FrameVars.fetch_frame_locals): Likewise.
+
+2014-01-23  Tom Tromey  <tromey@redhat.com>
+
+	PR python/16487:
+	* python/py-framefilter.c (py_print_frame): Don't call Py_DECREF
+	on a NULL pointer.  Move "goto error" to correct place.
+
+2014-01-23  Tom Tromey  <tromey@redhat.com>
+
+	PR python/16491:
+	* python/py-framefilter.c (apply_frame_filter): Call
+	ensure_python_env after computing gdbarch.
+
+2014-01-23  Yao Qi  <yao@codesourcery.com>
+
+	* target.c (raw_memory_xfer_partial): Change argument type
+	from void * to gdb_byte *.
+	(memory_xfer_partial_1, memory_xfer_partial): Likewise.
+
+2014-01-22  Doug Evans  <dje@google.com>
+
+	New gdbserver option --debug-format=timestamp.
+	* NEWS: Mention it.
+
+2014-01-22  Andreas Arnez  <arnez@vnet.linux.ibm.com>
+
+	* syscalls/s390x-linux.xml: New file.
+	* syscalls/s390-linux.xml: New file.
+	* s390-linux-tdep.c (XML_SYSCALL_FILENAME_S390): New macro.
+	(XML_SYSCALL_FILENAME_S390X): Likewise.
+	(op_svc): New enum value for SVC opcode.
+	(s390_sigtramp_frame_sniffer): Replace literal by 'op_svc'.
+	(s390_linux_get_syscall_number): New function.
+	(s390_gdbarch_init): Register '*get_syscall_number' and the
+	syscall xml file name.
+	* data-directory/Makefile.in (SYSCALLS_FILES): Add
+	"s390-linux.xml" and "s390x-linux.xml".
+	* NEWS: Announce new feature.
+
+2014-01-22  Baruch Siach  <baruch@tkos.co.il>
+
+	* xtensa-tdep.h (xtensa_elf_greg_t): Change type to uint32_t.
+
+2014-01-22  Pedro Alves  <palves@redhat.com>
+
+	* xtensa-config.c: Include defs.h.
+
+2014-01-22  Joel Brobecker  <brobecker@adacore.com>
+
+	* common/common-utils.h: Add "ARI:" comment beside __func__
+	reference.
+
+2014-01-22  Joel Brobecker  <brobecker@adacore.com>
+
+	* common/common-utils.h (FUNCTION_NAME): Expand the macro's
+	documentation a bit.
+
+2014-01-21  Roland McGrath  <mcgrathr@google.com>
+
+	* configure.ac: Call AM_PROG_INSTALL_STRIP.
+	* configure: Regenerate.
+	* aclocal.m4: Regenerate.
+	* Makefile.in (install_sh, INSTALL_STRIP_PROGRAM, STRIP):
+	New substituted	variables.
+	(install-strip): New target.
+	(INSTALL_SCRIPT): New substituted variable.
+	(FLAGS_TO_PASS): Add it.
+	(install-only): Use $(INSTALL_SCRIPT) rather than
+	$(INSTALL_PROGRAM) for gcore.
+
+2014-01-20  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-decode.h (struct cmd_list_element): Move all bitfields
+	together.
+
+2014-01-20  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-decode.c (add_cmd, deprecate_cmd, add_alias_cmd)
+	(add_setshow_cmd_full, delete_cmd, lookup_cmd_1)
+	(deprecated_cmd_warning, complete_on_cmdlist): Update.
+	* cli/cli-decode.h (CMD_DEPRECATED, DEPRECATED_WARN_USER)
+	(MALLOCED_REPLACEMENT, DOC_ALLOCATED): Remove.
+	(struct cmd_list_element) <flags>: Remove.
+	<cmd_deprecated, deprecated_warn_user, malloced_replacement,
+	doc_allocated>: New fields.
+	<hook_in, allow_unknown, abbrev_flag, type, var_type>: Now
+	bitfields.
+	* maint.c (maintenance_do_deprecate): Update.
+	* top.c (execute_command): Update.
+
+2014-01-20  Baruch Siach  <baruch@tkos.co.il>
+
+	* xtensa-linux-nat.c: Include asm/ptrace.h.
+
+2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* Makefile.in (SFILES): Add d-support.c.
+	(COMMON_OBS): Add d-support.o.
+	* d-lang.h (d_parse_symbol): Add comment, now defined in
+	d-support.c.
+	* d-lang.c (parse_call_convention)
+	(parse_attributes, parse_function_types)
+	(parse_function_args, parse_type, parse_identifier)
+	(call_convention_p, d_parse_symbol): Move functions to ...
+	* d-support.c: ... New file.
+
+2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-lang.h (d_parse_symbol): Add declaration.
+	* d-lang.c (extract_identifiers)
+	(extract_type_info): Remove functions.
+	(parse_call_convention, parse_attributes)
+	(parse_function_types, parse_function_args)
+	(parse_type, parse_identifier, call_convention_p)
+	(d_parse_symbol): New functions.
+	(d_demangle): Use d_parse_symbol to demangle D symbols.
+
+2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-lang.h (struct builtin_d_type): New data type.
+	(builtin_d_type): Add declaration.
+	* d-lang.c (d_language_arch_info, build_d_types)
+	(builtin_d_type): New functions.
+	(enum d_primitive_types): New data type.
+	(d_language_defn): Change c_language_arch_info to
+	d_language_arch_info.
+	(d_type_data): New static variable.
+	(_initialize_d_language): Initialize d_type_data.
+
+2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-lang.h (d_main_name): Add declaration.
+	* d-lang.c (d_main_name): New function.
+	* symtab.c (find_main_name): Add call to d_main_name.
+
+2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-lang.c (d_language_defn): Change macro_expansion_c to
+	macro_expansion_no.
+
+2014-01-17  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* MAINTAINERS: Add myself as a write-after-approval maintainer.
+
+2014-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* breakpoint.c (insert_bp_location): Add "volatile" keyword to "struct
+	gdb_exception" declaration.
+	* remote.c (getpkt_or_notif_sane): Likewise.
+
+2014-01-17  Doug Evans  <dje@google.com>
+
+	* common/gdb_vecs.c (delim_string_to_char_ptr_vec_append): New
+	function, contents of dirnames_to_char_ptr_vec_append moved here.
+	(delim_string_to_char_ptr_vec): New function.
+	(dirnames_to_char_ptr_vec_append): Rewrite.
+	* common/gdb_vecs.h (delim_string_to_char_ptr_vec): Declare.
+
+2014-01-17  Doug Evans  <dje@google.com>
+
+	* common/common-utils.h (FUNCTION_NAME): Renamed from ASSERT_FUNCTION,
+	and moved here ...
+	* common/gdb_assert.h (ASSERT_FUNCTION): ... from here.
+	#include "common-utils.h".
+	(gdb_assert, gdb_assert_fail, gdb_assert_not_reached): Update.
+	* common/vec.h (VEC_ASSERT_PASS): Update.
+	* darwin-nat.h: Replace #include of gdb_assert.h with common-utils.h.
+	(MACH_CHECK_ERROR): Update.
+
+2014-01-17  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdbarch.sh (gdbarch_address_class_name_to_type_flags): Add
+	comments.
+	* gdbarch.h: Regenerate.
+
+2014-01-16  Tom Tromey  <tromey@redhat.com>
+
+	* value.c (struct value) <regnum>: Move earlier.
+
+2014-01-16  Tom Tromey  <tromey@redhat.com>
+
+	* remote.c (extended_remote_create_inferior): Rename from
+	extended_remote_create_inferior_1.  Add "ops" argument.  Remove
+	old implementation.
+
+2014-01-16  Pedro Alves  <palves@redhat.com>
+
+	* s390-linux-tdep.c (s390_frame_unwind_cache): Swallow
+	NOT_AVAILABLE_ERROR errors while parsing the prologue or reading
+	the backchain.
+
+2014-01-16  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (open_and_init_dwp_file): Fix typo in comment.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* btrace.h (btrace_thread_flag): New.
+	(struct btrace_thread_info) <flags>: New.
+	* record-btrace.c (record_btrace_resume_thread)
+	(record_btrace_find_thread_to_move, btrace_step_no_history)
+	(btrace_step_stopped, record_btrace_start_replaying)
+	(record_btrace_step_thread, record_btrace_decr_pc_after_break)
+	(record_btrace_find_resume_thread): New.
+	(record_btrace_resume, record_btrace_wait): Extend.
+	(record_btrace_can_execute_reverse): New.
+	(record_btrace_open): Fail in non-stop mode.
+	(record_btrace_set_replay): Split into this, ...
+	(record_btrace_stop_replaying): ... this, ...
+	(record_btrace_clear_histories): ... and this.
+	(init_record_btrace_ops): Init to_can_execute_reverse.
+	* NEWS: Announce it.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* target.h (struct target_ops) <to_decr_pc_after_break>: New.
+	(forward_target_decr_pc_after_break)
+	(target_decr_pc_after_break): New.
+	* target.c (forward_target_decr_pc_after_break)
+	(target_decr_pc_after_break): New.
+	* aix-thread.c (aix_thread_wait): Call target_decr_pc_after_break
+	instead of gdbarch_decr_pc_after_break.
+	* darwin-nat.c (cancel_breakpoint): Call target_decr_pc_after_break
+	instead of gdbarch_decr_pc_after_break.
+	* infrun.c (adjust_pc_after_break): Call target_decr_pc_after_break
+	instead of gdbarch_decr_pc_after_break.
+	* linux-nat.c (cancel_breakpoint): Call target_decr_pc_after_break
+	instead of gdbarch_decr_pc_after_break.
+	* linux-thread-db.c (check_event): Call target_decr_pc_after_break
+	instead of gdbarch_decr_pc_after_break.
+	* record-full.c (record_full_wait_1): Call target_decr_pc_after_break
+	instead of gdbarch_decr_pc_after_break.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* btrace.c: Include regcache.h.
+	(btrace_add_pc): New.
+	(btrace_enable): Call btrace_add_pc.
+	(btrace_is_empty): New.
+	* btrace.h (btrace_is_empty): New.
+	* record-btrace.c (require_btrace, record_btrace_info): Call
+	btrace_is_empty.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* common/linux-btrace.c (perf_event_read_bts, linux_read_btrace):
+	Support delta reads.
+	(linux_disable_btrace): Change return type.
+	* common/linux-btrace.h (linux_read_btrace): Change parameters
+	and return type to allow error reporting.  Update users.
+	(linux_disable_btrace): Change return type.  Update users.
+	* common/btrace-common.h (btrace_read_type) <BTRACE_READ_DELTA>:
+	New.
+	(btrace_error): New.
+	(btrace_block) <begin>: Comment on BEGIN == 0.
+	* btrace.c (btrace_compute_ftrace): Start from the end of
+	the current trace.
+	(btrace_stitch_trace, btrace_clear_history): New.
+	(btrace_fetch): Read delta trace, return if replaying.
+	(btrace_clear): Move clear history code to btrace_clear_history.
+	(parse_xml_btrace): Throw an error if parsing failed.
+	* target.h (struct target_ops) <to_read_btrace>: Change parameters
+	and return type to allow error reporting.
+	(target_read_btrace): Change parameters and return type to allow
+	error reporting.
+	* target.c (target_read_btrace): Update.
+	* remote.c (remote_read_btrace): Support delta reads.  Pass
+	errors on.
+	* NEWS: Announce it.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record.h (record_btrace_frame_unwind)
+	(record_btrace_tailcall_frame_unwind): New declarations.
+	* dwarf2-frame: Include record.h
+	(dwarf2_frame_cfa): Throw an error for btrace frames.
+	* record-btrace.c: Include hashtab.h.
+	(btrace_get_bfun_name): New.
+	(btrace_call_history): Call btrace_get_bfun_name.
+	(struct btrace_frame_cache): New.
+	(bfcache): New.
+	(bfcache_hash, bfcache_eq, bfcache_new): New.
+	(btrace_get_frame_function): New.
+	(record_btrace_frame_unwind_stop_reason): Allow unwinding.
+	(record_btrace_frame_this_id): Compute own id.
+	(record_btrace_frame_prev_register): Provide PC, throw_error
+	for all other registers.
+	(record_btrace_frame_sniffer): Detect btrace frames.
+	(record_btrace_tailcall_frame_sniffer): New.
+	(record_btrace_frame_dealloc_cache): New.
+	(record_btrace_frame_unwind): Add new functions.
+	(record_btrace_tailcall_frame_unwind): New.
+	(_initialize_record_btrace): Allocate cache.
+	* btrace.c (btrace_clear): Call reinit_frame_cache.
+	* NEWS: Announce it.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_set_replay)
+	(record_btrace_goto_begin, record_btrace_goto_end)
+	(record_btrace_goto): New.
+	(init_record_btrace_ops): Initialize them.
+	* NEWS: Announce it.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_find_new_threads)
+	(record_btrace_thread_alive): New.
+	(init_record_btrace_ops): Initialize to_find_new_threads and
+	to_thread_alive.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_resume): New.
+	(record_btrace_wait): New.
+	(init_record_btrace_ops): Initialize to_wait and to_resume.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_xfer_partial)
+	(record_btrace_insert_breakpoint, record_btrace_remove_breakpoint)
+	(record_btrace_allow_memory_access): New.
+	(init_record_btrace_ops): Initialize new methods.
+	* target.c (raw_memory_xfer_partial): Bail out if target reports
+	that this memory is not available.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* target.h (target_ops) <to_insert_breakpoint>
+	<to_remove_breakpoint>: Add target_ops parameter.
+	(forward_target_insert_breakpoint): New.
+	(forward_target_remove_breakpoint): New.
+	(memory_remove_breakpoint, memory_insert_breakpoint):
+	Add target_ops parameter.
+	* target.c (target_insert_breakpoint): Split into this and ...
+	(forward_target_insert_breakpoint): ... this.
+	(target_remove_breakpoint): Split into this and ...
+	(forward_target_remove_breakpoint): ... this.
+	(debug_to_insert_breakpoint): Add target_ops parameter.
+	Call forward_target_insert_breakpoint.
+	(debug_to_remove_breakpoint): Add target_ops parameter.
+	Call forward_target_remove_breakpoint.
+	(update_current_target): Do not inherit or default to_insert_breakpoint
+	and to_remove_breakpoint.
+	* corelow.c (ignore): Add target_ops parameter.
+	* exec.c (ignore): Add target_ops parameter.
+	* mem-break.c (memory_insert_breakpoint, memory_remove_breakpoint):
+	Add target_ops parameter.
+	* monitor.c (monitor_insert_breakpoint, monitor_remove_breakpoint):
+	Add target_ops parameter.
+	* nto-procfs.c (procfs_insert_breakpoint, procfs_remove_breakpoint):
+	Add target_ops parameter.
+	* record-full.c (record_full_beneath_to_insert_breakpoint)
+	(record_full_beneath_to_remove_breakpoint, tmp_to_insert_breakpoint)
+	(tmp_to_remove_breakpoint, record_full_insert_breakpoint)
+	(record_full_remove_breakpoint, record_full_core_insert_breakpoint)
+	(record_full_core_remove_breakpoint): Add target_ops parameter.
+	Update users.
+	(record_full_beneath_to_insert_breakpoint_ops)
+	(record_full_beneath_to_remove_breakpoint_ops)
+	(tmp_to_insert_breakpoint_ops, tmp_to_remove_breakpoint_ops): New.
+	(record_full_open): Initialize tmp_to_insert_breakpoint_ops,
+	tmp_to_remove_breakpoint_ops,
+	record_full_beneath_to_insert_breakpoint_ops, and
+	record_full_beneath_to_remove_breakpoint_ops.
+	* remote-m32r-sdi.c (m32r_insert_breakpoint)
+	(m32r_remove_breakpoint): Add target_ops parameter.
+	* remote-mips.c (mips_insert_breakpoint, mips_remove_breakpoint):
+	Add target_ops parameter.
+	* remote.c (remote_insert_breakpoint, remote_remove_breakpoint):
+	Add target_ops parameter.
+
+2014-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
+            Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c: Include frame-unwind.h.
+	(record_btrace_frame_unwind_stop_reason)
+	(record_btrace_frame_this_id, record_btrace_frame_prev_register)
+	(record_btrace_frame_sniffer, record_btrace_frame_unwind):
+	New.
+	(init_record_btrace_ops): Install it.
+
+2014-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* frame.c (get_frame_unwind_stop_reason): Unconditionally call
+	get_prev_frame_1.
+
+2014-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* dwarf2-frame.c (dwarf2_frame_cfa): Move UNWIND_UNAVAILABLE check
+	earlier.
+
+2014-01-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* frame-unwind.c: Include target.h.
+	(frame_unwind_try_unwinder): New function with code from ...
+	(frame_unwind_find_by_frame): ... here.  New variable
+	unwinder_from_target, call also target_get_unwinder)
+	(target_get_tailcall_unwinder, and frame_unwind_try_unwinder for it.
+	* target.c (target_get_unwinder, target_get_tailcall_unwinder): New.
+	* target.h (struct target_ops): New fields to_get_unwinder and
+	to_get_tailcall_unwinder.
+	(target_get_unwinder, target_get_tailcall_unwinder): New declarations.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_fetch_registers)
+	(record_btrace_store_registers)
+	(record_btrace_to_prepare_to_store): New.
+	(init_record_btrace_ops): Add the above.
+
+2014-01-16  Tom Tromey  <tromey@redhat.com>
+
+	* windows-nat.c (windows_prepare_to_store): Add 'self' argument.
+	* target.h (struct target_ops) <to_prepare_to_store>: Add
+	argument.
+	(target_prepare_to_store): Add argument.
+	* target.c (debug_to_prepare_to_store): Add argument.
+	(update_current_target): Update.
+	* remote.c (remote_prepare_to_store): Add 'self' argument.
+	* remote-sim.c (gdbsim_prepare_to_store): Add 'self' argument.
+	* remote-mips.c (mips_prepare_to_store): Add 'self' argument.
+	* remote-m32r-sdi.c (m32r_prepare_to_store): Add 'self' argument.
+	* record-full.c (record_full_core_prepare_to_store): Add 'self'
+	argument.
+	* ravenscar-thread.c (ravenscar_prepare_to_store): Add argument.
+	* nto-procfs.c (procfs_prepare_to_store): Add 'self' argument.
+	* monitor.c (monitor_prepare_to_store): Add 'self' argument.
+	* inf-child.c (inf_child_prepare_to_store): Add 'self' argument.
+	* go32-nat.c (go32_prepare_to_store): Add 'self' argument.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* btrace.h (replay) <replay>: New.
+	(btrace_is_replaying): New.
+	* btrace.c (btrace_clear): Free replay iterator.
+	(btrace_is_replaying): New.
+	* record-btrace.c (record_btrace_is_replaying): New.
+	(record_btrace_info): Print insn number if replaying.
+	(record_btrace_insn_history): Start at replay position.
+	(record_btrace_call_history): Start at replay position.
+	(init_record_btrace_ops): Init to_record_is_replaying.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (record_btrace_insn_history_range): Include
+	end.
+	(record_btrace_insn_history_from): Adjust range.
+	(record_btrace_call_history_range): Include
+	end.
+	(record_btrace_call_history_from): Adjust range.
+	* NEWS: Announce changes.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record.h (enum record_print_flag)
+	<record_print_indent_calls>: New.
+	* record.c (get_call_history_modifiers): Recognize /c modifier.
+	(_initialize_record): Document /c modifier.
+	* record-btrace.c (btrace_call_history): Add btinfo parameter.
+	Reorder fields.  Optionally indent the function name.  Update
+	all users.
+	* NEWS: Announce changes.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* common/linux-btrace.c (linux_enable_btrace): Enlarge buffer.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* btrace.c (ftrace_new_function): Start counting at one.
+	* record-btrace.c (record_btrace_info): Adjust number of calls
+	and insns.
+	* NEWS: Announce it.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* record-btrace.c (btrace_call_history_insn_range): Print
+	insn range as [begin, end].
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* btrace.h (struct btrace_func_link): New.
+	(enum btrace_function_flag): New.
+	(struct btrace_inst): Rename to ...
+	(struct btrace_insn): ...this. Update all users.
+	(struct btrace_func) <ibegin, iend>: Remove.
+	(struct btrace_func_link): New.
+	(struct btrace_func): Rename to ...
+	(struct btrace_function): ...this. Update all users.
+	(struct btrace_function) <segment, flow, up, insn, insn_offset)
+	(number, level, flags>: New.
+	(struct btrace_insn_iterator): Rename to ...
+	(struct btrace_insn_history): ...this.
+	Update all users.
+	(struct btrace_insn_iterator, btrace_call_iterator): New.
+	(struct btrace_target_info) <btrace, itrace, ftrace>: Remove.
+	(struct btrace_target_info) <begin, end, level>
+	<insn_history, call_history>: New.
+	(btrace_insn_get, btrace_insn_number, btrace_insn_begin)
+	(btrace_insn_end, btrace_insn_prev, btrace_insn_next)
+	(btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get)
+	(btrace_call_number, btrace_call_begin, btrace_call_end)
+	(btrace_call_prev, btrace_call_next, btrace_call_cmp)
+	(btrace_find_function_by_number, btrace_set_insn_history)
+	(btrace_set_call_history): New.
+	* btrace.c (btrace_init_insn_iterator)
+	(btrace_init_func_iterator, compute_itrace): Remove.
+	(ftrace_print_function_name, ftrace_print_filename)
+	(ftrace_skip_file): Change
+	parameter to const.
+	(ftrace_init_func): Remove.
+	(ftrace_debug): Use new btrace_function fields.
+	(ftrace_function_switched): Also consider gaining and
+	losing symbol information).
+	(ftrace_print_insn_addr, ftrace_new_call, ftrace_new_return)
+	(ftrace_new_switch, ftrace_find_caller, ftrace_new_function)
+	(ftrace_update_caller, ftrace_fixup_caller, ftrace_new_tailcall):
+	New.
+	(ftrace_new_function): Move. Remove debug print.
+	(ftrace_update_lines, ftrace_update_insns): New.
+	(ftrace_update_function): Check for call, ret, and jump.
+	(compute_ftrace): Renamed to ...
+	(btrace_compute_ftrace): ...this. Rewritten to compute call
+	stack.
+	(btrace_fetch, btrace_clear): Updated.
+	(btrace_insn_get, btrace_insn_number, btrace_insn_begin)
+	(btrace_insn_end, btrace_insn_prev, btrace_insn_next)
+	(btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get)
+	(btrace_call_number, btrace_call_begin, btrace_call_end)
+	(btrace_call_prev, btrace_call_next, btrace_call_cmp)
+	(btrace_find_function_by_number, btrace_set_insn_history)
+	(btrace_set_call_history): New.
+	* record-btrace.c (require_btrace): Use new btrace thread
+	info fields.
+	(record_btrace_info, btrace_insn_history)
+	(record_btrace_insn_history, record_btrace_insn_history_range):
+	Use new btrace thread info fields and new iterator.
+	(btrace_func_history_src_line): Rename to ...
+	(btrace_call_history_src_line): ...this. Use new btrace
+	thread info fields.
+	(btrace_func_history): Rename to ...
+	(btrace_call_history): ...this. Use new btrace thread info
+	fields and new iterator.
+	(record_btrace_call_history, record_btrace_call_history_range):
+	Use new btrace thread info fields and new iterator.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* frame.h (frame_id_build_unavailable_stack_special): New.
+	* frame.c (frame_id_build_unavailable_stack_special): New.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* amd64-tdep.c (amd64_classify_insn_at, amd64_insn_is_call)
+	(amd64_insn_is_ret, amd64_insn_is_jump, amd64_jmp_p): New.
+	(amd64_init_abi): Add insn_is_call, insn_is_ret, and insn_is_jump
+	to gdbarch.
+	* i386-tdep.c (i386_insn_is_call, i386_insn_is_ret)
+	(i386_insn_is_jump, i386_jmp_p): New.
+	(i386_gdbarch_init): Add insn_is_call, insn_is_ret, and
+	insn_is_jump to gdbarch.
+	* gdbarch.sh (insn_is_call, insn_is_ret, insn_is_jump): New.
+	* gdbarch.h: Regenerated.
+	* gdbarch.c: Regenerated.
+	* arch-utils.h (default_insn_is_call, default_insn_is_ret)
+	(default_insn_is_jump): New.
+	* arch-utils.c (default_insn_is_call, default_insn_is_ret)
+	(default_insn_is_jump): New.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* common/btrace-common.h (btrace_read_type) <btrace_read_all>:
+	Change to ...
+	(btrace_read_type) <BTRACE_READ_ALL>: ... this.  Update users.
+	(btrace_read_type) <btrace_read_new>: Change to ...
+	(btrace_read_type) <BTRACE_READ_NEW>: ... this.  Update users.
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* common/linux-btrace.c (linux_read_btrace): Free trace from
+	previous iteration.
+
+2014-01-15  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (open_and_init_dwp_file): Use pulongest to print
+	uint32_t.
+
+2014-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* dbxread.c (process_one_symbol): Use set_objfile_main_name.
+	* dwarf2read.c (read_partial_die): Use set_objfile_main_name.
+	* objfiles.c (get_objfile_bfd_data): Initialize language_of_main.
+	(set_objfile_main_name): New function.
+	* objfiles.h (struct objfile_per_bfd_storage) <name_of_main,
+	language_of_main>: New fields.
+	(set_objfile_main_name): Declare.
+	* symtab.c (find_main_name): Loop over objfiles to find the main
+	name and language.
+	(set_main_name): Now static.
+	(get_main_info): Add comment.
+	* symtab.h (set_main_name): Don't declare.
+
+2014-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* symtab.c (main_progspace_key): New global.
+	(struct main_info): New.
+	(name_of_main, language_of_main): Remove.
+	(get_main_info, main_info_cleanup): New function.
+	(set_main_name, main_name, main_language): Use get_main_info.
+	(_initialize_symtab): Initialize main_progspace_key.
+
+2014-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* dbxread.c (process_one_symbol): Update.
+	* dwarf2read.c (read_partial_die): Update.
+	* symfile.c (set_initial_language): Call main_language.
+	* symtab.c (language_of_main): Now static.
+	(set_main_name): Add 'lang' parameter.
+	(find_main_name): Update.
+	(main_language): New function.
+	(symtab_observer_executable_changed): Update.
+	* symtab.h (set_main_name): Update.
+	(language_of_main): Remove.
+	(main_language): Declare.
+
+2014-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* symfile.c (init_entry_point_info): Use new "initialized" field.
+	Update.
+	* objfiles.h (struct entry_point) <initialized>: New field.
+	(struct objfile_per_bfd_storage) <ei>: New field, moved from...
+	(struct objfile) <ei>: ...here.  Remove.
+	* objfiles.c (entry_point_address_query): Update.
+
+2014-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* objfiles.c (entry_point_address_query): Relocate entry point
+	address.
+	(objfile_relocate1): Do not relocate entry point address.
+	* objfiles.h (struct entry_info) <entry_point>: Update comment.
+	<the_bfd_section_index>: New field.
+	* symfile.c (init_entry_point_info): Find the entry point's
+	section.
+
+2014-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* solib-frv.c (enable_break): Use entry_point_address_query.
+
+2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
+
+	* NEWS: Add note on improved process record-replay on
+	arm*-linux* targets.
+
+2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-tdep.c (enum arm_record_result): New enum.
+	(arm_record_unsupported_insn): New function.
+	(arm_record_coproc_data_proc): Removed.
+	(thumb2_record_ld_st_multiple): New function.
+	(thumb2_record_ld_st_dual_ex_tbb): New function.
+	(thumb2_record_data_proc_sreg_mimm): New function.
+	(thumb2_record_ps_dest_generic): New function.
+	(thumb2_record_branch_misc_cntrl): New function.
+	(thumb2_record_str_single_data): New function.
+	(thumb2_record_ld_mem_hints): New function.
+	(thumb2_record_ld_word): New function.
+	(thumb2_record_lmul_lmla_div): New function.
+	(thumb2_record_decode_insn_handler): New function.
+	(decode_insn): Add thumb32 instruction handlers.
+
+2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-linux-tdep.c: Include "record-full.h" and "linux-record.h".
+	(struct arm_linux_record_tdep): Declare.
+	(arm_canonicalize_syscall): New function.
+	(arm_all_but_pc_registers_record): New function.
+	(arm_linux_syscall_record): New function.
+	(arm_linux_init_abi): Add syscall recording constructs.
+	* arm-tdep.c (thumb_record_ldm_stm_swi): Update thumb syscall
+	decoding.  (arm_record_coproc_data_proc): Update arm syscall
+	decoding.
+	* arm-tdep.h (struct gdbarch_tdep) <arm_swi_record>: Remove.
+	<arm_syscall_record>: New field.
+	* configure.tgt (arm*-*-linux*): Add linux-record.o to
+	gdb_target_obs.
+
+2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-tdep.c (thumb_record_misc): Update to use sp as base
+	register for push instruction recording.
+
+2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-tdep.c (thumb_record_misc): Update to correct logical
+	error while recording ldm, ldmia and pop instructions.
+
+2014-01-15  Omair Javaid  <omair.javaid@linaro.org>
+
+	* arm-tdep.c (struct arm_mem_r) <addr>: Change type to uint32_t.
+
+2014-01-15  Pedro Alves  <palves@redhat.com>
+
+	* go32-nat.c (go32_open, go32_close, go32_attach, go32_detach)
+	(go32_resume, go32_fetch_registers, store_register)
+	(go32_store_registers, go32_prepare_to_store)
+	(go32_xfer_memory, go32_files_info, go32_kill_inferior)
+	(go32_create_inferior, go32_can_run, go32_terminal_init)
+	(go32_terminal_inferior, go32_terminal_ours): Delete forward
+	declarations.
+
+2014-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (async_callback_ftype): New typedef.
+	(struct target_ops) <to_async>: Use it.
+
+2014-01-15  Joel Brobecker  <brobecker@adacore.com>
+
+	* python/py-value.c (get_field_type): Remove unnecessary curly
+	braces for single-statement if block.
+
+2014-01-15  Joel Brobecker  <brobecker@adacore.com>
+
+	* python/py-type.c (convert_field): Add missing empty line
+	after declarations.
+
+2014-01-14  Doug Evans  <dje@google.com>
+
+	* symfile.h (expand_symtabs_matching): Renamed from
+	expand_partial_symbol_names.  Update prototype.
+	(map_symbol_filenames): Renamed from map_partial_symbol_filenames.
+	* symfile.c (expand_symtabs_matching): Renamed from
+	expand_partial_symbol_names.  New args file_matcher, kind.
+	Rename arg fun to symbol_matcher.
+	(map_symbol_filenames): Renamed from map_partial_symbol_filenames.
+	* ada-lang.c (ada_complete_symbol_matcher): Renamed from
+	ada_expand_partial_symbol_name.
+	(ada_make_symbol_completion_list): Update to call
+	expand_symtabs_matching.
+	(ada_add_global_exceptions): Call expand_symtabs_matching.
+	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update to
+	call map_symbol_filenames.
+	* symtab.c (sources_info): Update to call map_symbol_filenames.
+	(search_symbols): Call expand_symtabs_matching.
+	(symbol_completion_matcher): Renamed from expand_partial_symbol_name.
+	(default_make_symbol_completion_list_break_on): Update to call
+	expand_symtabs_matching.
+	(make_source_files_completion_list): Update to call
+	map_symbol_filenames.
+
+2014-01-14  Doug Evans  <dje@google.com>
+
+	* symfile.h (expand_symtabs_file_matcher_ftype): New typedef.
+	(expand_symtabs_symbol_matcher_ftype): New typedef.
+	(quick_symbol_functions.expand_symtabs_matching): Update to use.
+	expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
+	* symfile.c (expand_partial_symbol_names): Update to use
+	expand_symtabs_symbol_matcher_ftype.
+	* dwarf2read.c (dw2_expand_symtabs_matching): Update to use
+	expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
+	Arg name_matcher renamed to symbol_matcher.
+	* psymtab.c (recursively_search_psymtabs): Update to use
+	expand_symtabs_symbol_matcher_ftype.  Arg name_matcher renamed to
+	sym_matcher.
+	(expand_symtabs_matching_via_partial): Update to use
+	expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
+	Arg name_matcher renamed to symbol_matcher.
+
+2014-01-14  Doug Evans  <dje@google.com>
+
+	* psymtab.c (expand_partial_symbol_names): Delete, moved to symfile.c.
+	(map_partial_symbol_filenames): Ditto.
+	* psymtab.h (expand_partial_symbol_names): Delete, moved to symfile.h.
+	(map_partial_symbol_filenames): Ditto.
+	* symfile.c (expand_partial_symbol_names): Moved here from psymtab.c.
+	(map_partial_symbol_filenames): Ditto.
+	* symfile.h (expand_partial_symbol_names): Moved here from psymtab.h.
+	(map_partial_symbol_filenames): Ditto.
+	* symtab.c: Delete #include "psymtab.h".
+
+2014-01-14  Pedro Alves  <palves@redhat.com>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* infrun.c (use_displaced_stepping): Use find_record_target
+	instead of RECORD_IS_USED.
+	(adjust_pc_after_break): Use record_full_is_used instead of
+	RECORD_IS_USED.
+	* record-btrace.c (record_btrace_open): Call record_preopen
+	instead of checking RECORD_IS_USED.
+	* record-full.c (record_full_shortname)
+	(record_full_core_shortname): New globals.
+	(record_full_is_used): New function.
+	(find_full_open): Call record_preopen instead of checking
+	RECORD_IS_USED.
+	(init_record_full_ops): Set the target's shortname to
+	record_full_shortname.
+	(init_record_full_core_ops): Set the target's shortname to
+	record_full_core_shortname.
+	* record-full.h (record_full_is_used): Declare.
+	* record.c (find_record_target): Make extern.
+	(record_preopen): New function.
+	* record.h (RECORD_IS_USED): Delete macro.
+	(find_record_target, record_preopen): Declare functions.
+
+2014-01-14  Yao Qi  <yao@codesourcery.com>
+
+	* gdbarch.sh (core_xfer_shared_libraries): Change its argument
+	'len''s type to ULONGEST.
+	(core_xfer_shared_libraries_aix): Likewise.
+	* gdbarch.c, gdbarch.h: Regenerated.
+	* i386-cygwin-tdep.c (windows_core_xfer_shared_libraries):
+	Change type of 'len' to ULONGEST.
+	* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
+	(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
+
+2014-01-14  Yao Qi  <yao@codesourcery.com>
+
+	* common/linux-osdata.c (linux_xfer_osdata_processes): Change
+	type of 'len' to ULONGEST.
+	(linux_xfer_osdata_processgroups): Likewise.
+	(linux_xfer_osdata_threads): Likewise.
+	(linux_xfer_osdata_fds): Likewise.
+	(linux_xfer_osdata_isockets): Likewise.
+	(linux_xfer_osdata_shm): Likewise.
+	(linux_xfer_osdata_sem): Likewise.
+	(linux_xfer_osdata_msg): Likewise.
+	(linux_common_xfer_osdata): Likewise.
+	(struct osdata_type) <getter>: Likewise.
+	* common/linux-osdata.h (linux_common_xfer_osdata): Update
+	the declaration.
+
+2014-01-14  Yao Qi  <yao@codesourcery.com>
+
+	* target.h (target_xfer_partial_ftype): Update.
+	(struct target_ops) <to_xfer_partial>: Change 'len' type to
+	ULONGEST.
+	* aix-thread.c (aix_thread_xfer_partial): Change type of
+	argument 'len' to ULONGEST.
+	* auxv.c (procfs_xfer_auxv): Likewise.
+	(ld_so_xfer_auxv): Likewise.
+	(memory_xfer_auxv): Likewise.
+	* bfd-target.c (target_bfd_xfer_partial): Likewise.
+	* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
+	* bsd-uthread.c (bsd_uthread_xfer_partial): Likewise.
+	* corelow.c (core_xfer_partial): Likewise.
+	* ctf.c (ctf_xfer_partial): Likewise.
+	* darwin-nat.c (darwin_read_write_inferior): Likewise.  Use
+	'%u'.
+	(darwin_read_dyld_info): Likewise.
+	(darwin_xfer_partial): Likewise.
+	* exec.c (section_table_xfer_memory_partial): Likewise.
+	(exec_xfer_partial): Likewise.
+	* exec.h (section_table_xfer_memory_partial): Update
+	declaration.
+	* gnu-nat.c (gnu_xfer_memory): Likewise.  Call pulongest
+	instead of plongest.
+	(gnu_xfer_partial): Likewise.
+	* ia64-hpux-nat.c (ia64_hpux_xfer_memory): Likewise.
+	(ia64_hpux_xfer_solib_got): Likewise.
+	(ia64_hpux_xfer_partial): Likewise.
+	* ia64-linux-nat.c (ia64_linux_xfer_partial):
+	* inf-ptrace.c (inf_ptrace_xfer_partial):
+	* inf-ttrace.c (inf_ttrace_xfer_partial):
+	* linux-nat.c (linux_xfer_siginfo): Likewise.
+	(linux_nat_xfer_partial): Likewise.
+	(spu_enumerate_spu_ids, linux_proc_xfer_spu): Likewise.
+	(linux_nat_xfer_osdata, linux_xfer_partial): Likewise.
+	* monitor.c (monitor_xfer_memory): Likewise.
+	(monitor_xfer_partial): Likewise.
+	* procfs.c (procfs_xfer_partial): Likewise.
+	* record-full.c (record_full_xfer_partial): Likewise.
+	(record_full_core_xfer_partial): Likewise.
+	* remote-sim.c (gdbsim_xfer_memory): Likewise.  Call pulongest
+	instead of plongest.
+	(gdbsim_xfer_partial): Likewise.
+	* remote.c (remote_xfer_partial): Likewise.
+	* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
+	* rs6000-aix-tdep.h (rs6000_aix_ld_info_to_xml): Update
+	declaration.
+	* rs6000-nat.c (rs6000_xfer_partial): Likewise.
+	(rs6000_xfer_shared_libraries): Likewise.
+	* sol-thread.c (sol_thread_xfer_partial): Likewise.
+	* sparc-nat.c (sparc_xfer_wcookie): Likewise.
+	(sparc_xfer_partial): Likewise.
+	* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.
+	(spu_xfer_partial): Likewise.
+	* spu-multiarch.c (spu_xfer_partial): Likewise.
+	* target.c (target_read_live_memory): Likewise.
+	(memory_xfer_live_readonly_partial): Likewise.
+	(memory_xfer_partial, memory_xfer_partial_1): Likewise.
+	(target_xfer_partial, default_xfer_partial): Likewise.
+	(current_xfer_partial): Likewise.
+	* tracepoint.c (tfile_xfer_partial): Likewise.
+	* windows-nat.c (windows_xfer_memory): Likewise.  Call
+	pulongest instead of plongest.
+	(windows_xfer_partial): Likewise.
+	(windows_xfer_shared_libraries): Likewise.
+
+2014-01-14  Yao Qi  <yao@codesourcery.com>
+
+	* rs6000-nat.c (rs6000_xfer_shared_libraries): Use
+	target_xfer_partial_ftype.
+
+2014-01-13  Siva Chandra Reddy  <sivachandra@google.com>
+
+	PR python/15464
+	PR python/16113
+	* valops.c (value_struct_elt_bitpos): New function
+	* py-type.c (convert_field): Set 'name' attribute of a gdb.Field
+	object to 'None' if the field name is an empty string ("").
+	* python/py-value.c (valpy_getitem): Use 'bitpos' and 'type'
+	attribute to look for a field when 'name' is 'None'.
+	(get_field_type): New function
+
+2014-01-13  Doug Evans  <dje@google.com>
+
+	PR symtab/16426
+	* dwarf2read.c (dwarf2_get_dwz_file): Call gdb_bfd_record_inclusion.
+	(try_open_dwop_file): Ditto.
+	* gdb_bfd.c: #include "vec.h".
+	(bfdp): New typedef.
+	(struct gdb_bfd_data): New member included_bfds.
+	(gdb_bfd_unref): Unref all included bfds.
+	(gdb_bfd_record_inclusion): New function.
+	* gdb_bfd.h (gdb_bfd_record_inclusion): Declare.
+
+2014-01-13  Tom Tromey  <tromey@redhat.com>
+
+	* gdbcore.h (deprecated_core_resize_section_table): Remove.
+
+2014-01-13  Tom Tromey  <tromey@redhat.com>
+
+	* defs.h (use_windows): Remove.
+	* gdb.c (main): Update.
+	* main.c (captured_main, gdb_main): Update.
+	* main.h (struct captured_main_args) <use_windows>: Remove.
+	* top.c (use_windows): Remove.
+
+2014-01-13  Tom Tromey  <tromey@redhat.com>
+
+	* defs.h (deprecated_flush_hook): Remove.
+
+2014-01-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR threads/16216
+	* linux-thread-db.c (try_thread_db_load): Add parameter
+	check_auto_load_safe.  Move here the file_is_auto_load_safe call.
+	(try_thread_db_load_from_pdir_1): Move it there from here.
+	(try_thread_db_load_from_sdir): Update caller.
+	(try_thread_db_load_from_dir): Move it there from here.
+
+2014-01-13  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* regformats/regdat.sh: Always rewrite the register file.
+
+2014-01-13  Pedro Alves  <palves@redhat.com>
+
+        * Makefile.in (CHECK_HEADERS): New variable.
+        (check-headers:): New rule.
+
+2014-01-13  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-setshow.c (do_set_command): Update.
+	* defs.h (deprecated_set_hook): Remove.
+	* top.c (deprecated_set_hook): Remove.
+
+2014-01-13  Pedro Alves  <palves@redhat.com>
+
+	* tracepoint.c (tfile_fetch_registers): Don't infer the PC from
+	the tracepoint if the PC is a pseudo-register.
+
+2014-01-13  Tom Tromey  <tromey@redhat.com>
+
+	* defs.h (XCALLOC): Remove.
+	* bcache.c (bcache_xmalloc): Use XCNEW, not XCALLOC.
+	(print_bcache_statistics): Use XCNEWVEC, not XCALLOC.
+	* dwarf2loc.c (allocate_piece_closure): Likewise.
+	* elfread.c (elf_symfile_segments): Likewise.
+	(elf_symfile_segments): Likewise.
+	* gdbtypes.c (copy_type_recursive): Likewise.
+	* i386-tdep.c (i386_gdbarch_init): Use XCNEW, not XCALLOC.
+	* jit.c (jit_frame_sniffer): Use XCNEWVEC, not XCALLOC.
+	* minsyms.c (prim_record_minimal_symbol_full): Use XCNEW, not
+	XCALLOC.
+	* mt-tdep.c (mt_gdbarch_init): Likewise.
+	* opencl-lang.c (allocate_lval_closure): Use XCNEWVEC, not
+	XCALLOC.
+	* psymtab.c (psymbol_compare): Use XCNEW, not XCALLOC.
+	* regcache.c (regcache_xmalloc_1): Use XCNEWVEC, not XCALLOC.
+	* registry.c (registry_alloc_data): Likewise.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Use XCNEW, not XCALLOC.
+	* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
+	* serial.c (serial_fdopen_ops): Likewise.
+	* solib-aix.c (solib_aix_get_section_offsets): Use XCNEWVEC, not
+	XCALLOC.
+	* spu-tdep.c (spu_gdbarch_init): Use XCNEW, not XCALLOC.
+	* symfile.c (default_symfile_segments): Use XCNEW and XCNEWVEC,
+	not XCALLOC.
+
+2014-01-13  Tom Tromey  <tromey@redhat.com>
+
+	* defs.h (XMALLOC): Remove.
+	* avr-tdep.c (avr_gdbarch_init): Use XNEW, not XMALLOC.
+	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
+	* cli-out.c (struct ui_out *): Likewise.
+	* cli/cli-dump.c (add_dump_command): Likewise.
+	(add_dump_command): Likewise.
+	* complaints.c (get_complaints): Likewise.
+	(find_complaint): Likewise.
+	* dwarf2-frame.c (execute_cfa_program): Likewise.
+	* dwarf2read.c (abbrev_table_read_table): Likewise.
+	* gdbarch.sh: Likewise.
+	* gdbarch.c: Rebuild.
+	* inf-ttrace.c (inf_ttrace_add_page): Likewise.
+	* interps.c (interp_new): Likewise.
+	* lm32-tdep.c (lm32_gdbarch_init): Likewise.
+	* m32r-tdep.c (m32r_gdbarch_init): Likewise.
+	* mi/mi-console.c (mi_console_file_new): Likewise.
+	* mi/mi-interp.c (mi_interpreter_init): Likewise.
+	* mi/mi-out.c (mi_out_new): Likewise.
+	* mi/mi-parse.c (mi_parse): Likewise.
+	* microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
+	* moxie-tdep.c (moxie_gdbarch_init): Likewise.
+	* observer.c (xalloc_observer_list_node): Likewise.
+	* regcache.c (regcache_xmalloc_1): Likewise.
+	* reggroups.c (reggroup_new): Likewise.
+	(_initialize_reggroup): Likewise.
+	* registry.c (register_data_with_cleanup): Likewise.
+	* remote.c (remote_notif_stop_alloc_reply): Likewise.
+	* ser-base.c (serial_ttystate): Likewise.
+	* ser-mingw.c (make_pipe_state): Likewise.
+	* ser-pipe.c (pipe_open): Likewise.
+	* serial.c (serial_open): Likewise.
+	* sh64-tdep.c (sh64_gdbarch_init): Likewise.
+	* tui/tui-data.c (tui_alloc_generic_win_info): Likewise.
+	(tui_alloc_win_info): Likewise.
+	(tui_add_content_elements): Likewise.
+	* tui/tui-file.c (tui_file_new): Likewise.
+	* tui/tui-out.c (tui_out_new): Likewise.
+	* ui-file.c (mem_file_new): Likewise.
+	* ui-out.c (push_level): Likewise.
+	(make_cleanup_ui_out_end): Likewise.
+	(append_header_to_list): Likewise.
+	(ui_out_new): Likewise.
+	* user-regs.c (user_reg_add_builtin): Likewise.
+
+2014-01-13  Tom Tromey  <tromey@redhat.com>
+
+	* defs.h (XZALLOC): Remove.
+	* ada-lang.c (get_ada_inferior_data): Use XCNEW, not XZALLOC.
+	* ada-tasks.c (get_ada_tasks_pspace_data): Likewise.
+	(get_ada_tasks_inferior_data): Likewise.
+	* auto-load.c (get_auto_load_pspace_data): Likewise.
+	* auxv.c (get_auxv_inferior_data): Likewise.
+	* bfd-target.c (target_bfd_reopen): Likewise.
+	* breakpoint.c (get_catch_syscall_inferior_data): Likewise.
+	(deprecated_insert_raw_breakpoint): Likewise.
+	* bsd-uthread.c (bsd_uthread_pid_to_str): Likewise.
+	* corelow.c (core_open): Likewise.
+	* darwin-nat.c (darwin_check_new_threads): Likewise.
+	(darwin_attach_pid): Likewise.
+	* dummy-frame.c (dummy_frame_push): Likewise.
+	* dwarf2-frame.c (dwarf2_frame_cache): Likewise.
+	* dwarf2loc.c (allocate_piece_closure): Likewise.
+	* elfread.c (elf_symfile_segments): Likewise.
+	* eval.c (ptrmath_type_p): Likewise.
+	* exceptions.c (EXCEPTIONS_SIGJMP_BUF): Likewise.
+	* gdbtypes.c (alloc_type_arch): Likewise.
+	(alloc_type_instance): Likewise.
+	* hppa-tdep.c (hppa_gdbarch_init): Likewise.
+	* inf-child.c (inf_child_can_use_agent): Likewise.
+	* inflow.c (get_inflow_inferior_data): Likewise.
+	* infrun.c (save_infcall_suspend_state): Likewise.
+	* jit.c (jit_reader_load): Likewise.
+	(get_jit_objfile_data): Likewise.
+	(get_jit_program_space_data): Likewise.
+	(jit_object_open_impl): Likewise.
+	(jit_symtab_open_impl): Likewise.
+	(jit_block_open_impl): Likewise.
+	(jit_frame_sniffer): Likewise.
+	* linux-fork.c (add_fork): Likewise.
+	* maint.c (make_command_stats_cleanup): Likewise.
+	* objfiles.c (get_objfile_pspace_data): Likewise.
+	* opencl-lang.c (struct lval_closure): Likewise.
+	* osdata.c (osdata_start_osdata): Likewise.
+	* progspace.c (new_address_space): Likewise.
+	(add_program_space): Likewise.
+	* remote-sim.c (get_sim_inferior_data): Likewise.
+	* sh-tdep.c (sh_gdbarch_init): Likewise.
+	* skip.c (Ignore): Likewise.
+	(skip_delete_command): Likewise.
+	* solib-aix.c (get_solib_aix_inferior_data): Likewise.
+	(library_list_start_library): Likewise.
+	(solib_aix_current_sos): Likewise.
+	* solib-darwin.c (get_darwin_info): Likewise.
+	(darwin_current_sos): Likewise.
+	* solib-dsbt.c (get_dsbt_info): Likewise.
+	* solib-ia64-hpux.c (new_so_list): Likewise.
+	(ia64_hpux_get_solib_linkage_addr): Likewise.
+	* solib-spu.c (append_ocl_sos): Likewise.
+	(spu_current_sos): Likewise.
+	* solib-svr4.c (get_svr4_info): Likewise.
+	(svr4_keep_data_in_core): Likewise.
+	(library_list_start_library): Likewise.
+	(svr4_default_sos): Likewise.
+	(svr4_read_so_list): Likewise.
+	* solib-target.c (library_list_start_library): Likewise.
+	(solib_target_current_sos): Likewise.
+	* sparc-tdep.c (sparc32_gdbarch_init): Likewise.
+	* symfile-debug.c (install_symfile_debug_logging): Likewise.
+	* symfile.c (default_symfile_segments): Likewise.
+	* target-descriptions.c (tdesc_data_init): Likewise.
+	(tdesc_create_reg): Likewise.
+	(struct tdesc_type *): Likewise.
+	(tdesc_create_vector): Likewise.
+	(tdesc_set_struct_size): Likewise.
+	(struct tdesc_type *): Likewise.
+	(tdesc_free_feature): Likewise.
+	(tdesc_create_feature): Likewise.
+	* windows-nat.c (windows_add_thread): Likewise.
+	(windows_make_so): Likewise.
+	* xml-support.c (gdb_xml_body_text): Likewise.
+	(gdb_xml_create_parser_and_cleanup): Likewise.
+	(xml_process_xincludes): Likewise.
+	* xml-syscall.c (allocate_syscalls_info): Likewise.
+	(syscall_create_syscall_desc): Likewise.
+
+2014-01-12  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* i386-tdep.c (i386_stap_parse_special_token_triplet): New
+	function, with code from i386_stap_parse_special_token.
+	(i386_stap_parse_special_token_three_arg_disp): Likewise.
+	(i386_stap_parse_special_token): Move code to the two functions
+	above; simplify it.
+
+2014-01-09  Pedro Alves  <palves@redhat.com>
+	    Hui Zhu  <hui@codesourcery.com>
+
+	PR gdb/16101
+	* breakpoint.c (insert_bp_location): Rename hw_bp_err_string to
+	bp_err_string.  Don't mark the location shlib_disabled if the
+	error thrown wasn't a generic or memory error.  Catch errors
+	thrown while inserting breakpoints in overlayed code.  Output
+	error message of software breakpoints.
+	* remote.c (remote_insert_breakpoint): If this breakpoint has
+	target-side commands but this stub doesn't support Z0 packets,
+	throw NOT_SUPPORTED_ERROR error.
+	* exceptions.h (enum errors) <NOT_SUPPORTED_ERROR>: New error.
+	* target.h (target_insert_breakpoint): Extend comment.
+	(target_insert_hw_breakpoint): Add comment.
+
+2014-01-08  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (remote_add_thread): Add threads silently if starting
+	up.
+	(remote_notice_new_inferior): If in all-stop, and starting up,
+	don't call notice_new_inferior.
+	(get_current_thread): New function, factored out from ...
+	(add_current_inferior_and_thread): ... this.  Adjust.
+	(remote_start_remote) <all-stop>: Fetch the thread list.  If we
+	found any thread, then select the remote's current thread as GDB's
+	current thread too.
+
+2014-01-08  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Create a new section for the next release branch.
+	Rename the section of the current branch, now that it has
+	been cut.
+
+2014-01-08  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 7.7 branch created (79301218fa0f074c5656db0ec8972a5ddcf91fb5):
+	* version.in: Bump version to 7.7.50.DATE-cvs.
+
+2014-01-08  Yao Qi  <yao@codesourcery.com>
+
+	* spu-linux-nat.c (spu_symbol_file_add_from_memory): Change
+	type of 'id' to gdb_byte.  Cast 'id' to 'const char *'.
+	(spu_xfer_partial): Cast 'buf' to 'const char *'.
+
+2014-01-08  Yao Qi  <yao@codesourcery.com>
+
+	* spu-linux-nat.c (spu_symbol_file_add_from_memory): Pass
+	return value of bfd_get_filename to symbol_file_add_from_bfd.
+
+2014-01-08  Pierre Muller  <muller@sourceware.org>
+
+	Fix PR16201.
+	* coff-pe-read.c (struct read_pe_section_data): Add index field.
+	(add_pe_exported_sym): Use SECTION_DATA->INDEX for call
+	to prim_record_mininal_symbol_and_info.
+	(add_pe_forwarded_sym): Use known section number of forwarded symbol
+	in call to prim_record_minimal_symbol_and_info.
+	(read_pe_exported_syms): Set index field of section_data.
+
+2014-01-07  Andrew Pinski  <apinski@cavium.com>
+
+	* features/aarch64-core.xml (cpsr): Change to be 64bit.
+	* features/aarch64.c: Regenerate.
+
+2014-01-07  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* target.c (return_null): Define.
+	(update_current_target): Use it instead of return_zero for
+	functions that return a pointer.
+
+2014-01-07  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+	* source.c (add_path): Fix check for duplicated paths in the previously
+	included paths.
+
+2014-01-07  Honggyu Kim  <hong.gyu.kim@lge.com>
+
+	* ada-lang.c: Remove duplicated include statements.
+	* alphabsd-nat.c: Ditto.
+	* amd64-darwin-tdep.c: Ditto.
+	* amd64fbsd-nat.c: Ditto.
+	* auto-load.c: Ditto.
+	* ax-gdb.c: Ditto.
+	* breakpoint.c: Ditto.
+	* dbxread.c: Ditto.
+	* fork-child.c: Ditto.
+	* gdb_usleep.c: Ditto.
+	* i386-darwin-tdep.c: Ditto.
+	* i386fbsd-nat.c: Ditto.
+	* infcmd.c: Ditto.
+	* inferior.c: Ditto.
+	* jv-lang.c: Ditto.
+	* linux-nat.c: Ditto.
+	* linux-tdep.c: Ditto.
+	* m68kbsd-nat.c: Ditto.
+	* m68klinux-nat.c: Ditto.
+	* microblaze-tdep.c: Ditto.
+	* mips-linux-tdep.c: Ditto.
+	* mn10300-tdep.c: Ditto.
+	* nto-tdep.c: Ditto.
+	* opencl-lang.c: Ditto.
+	* osdata.c: Ditto.
+	* printcmd.c: Ditto.
+	* regcache.c: Ditto.
+	* remote-m32r-sdi.c: Ditto.
+	* remote.c: Ditto.
+	* symfile.c: Ditto.
+	* symtab.c: Ditto.
+	* tilegx-linux-nat.c: Ditto.
+	* tilegx-tdep.c: Ditto.
+	* tracepoint.c: Ditto.
+	* valops.c: Ditto.
+	* vaxbsd-nat.c: Ditto.
+	* windows-nat.c: Ditto.
+	* xtensa-tdep.c: Ditto.
+
+2014-01-07  Yao Qi  <yao@codesourcery.com>
+
+	* spu-linux-nat.c (_initialize_spu_nat): Declare.
+
+2014-01-07  Yao Qi  <yao@codesourcery.com>
+	    Joel Brobecker  <brobecker@adacore.com>
+
+	* aix-thread.c (pdc_read_regs): Cast parameter to uintptr_t.
+	(pdc_write_regs): Likewise.
+	(fetch_regs_kernel_thread): Likewise.
+	(store_regs_kernel_thread): Likewise.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-varobj.c (ada_varobj_adjust_for_child_access): Convert
+	tagged type objects to their actual type.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (print_field_values): Add "language" parameter.
+	Update calls to print_field_values and print_variant_part.
+	Pass new parameter "language" in call to val_print instead
+	of "current_language".  Replace call to ada_val_print by call
+	to val_print.
+	(print_variant_part): Add "language" parameter.
+	(ada_val_print_struct_union): Update call to print_field_values.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (ui_memcpy): Delete.
+	(ada_print_floating): Update documentation.  Add empty line
+	between between function documentation and implementation.
+	Delete variable "buffer".  Use ui_file_xstrdup in place of
+	ui_file_put.  Minor adjustments following this change.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (ada_val_print_string): New function,
+	extracted from ada_val_print_array.
+	(ada_val_print_array): Replace extracted code by call
+	to ada_val_print_string followed by a return.  Move
+	"else" branch to the function's top block.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (ada_val_print_array): Move implementation
+	down.  Rename parameter "offset" and "val" into "offset_aligned"
+	and "original_value" respectively.  Add parameter "offset".
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (ada_val_print_ref): Rewrite by mostly
+	re-organizing the code. Change the "???" message printed
+	when target type is a TYPE_CODE_UNDEF into
+	"<ref to undefined type>".
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (print_record): Delete, implementation inlined...
+	(ada_val_print_struct_union): ... here.  Remove call to
+	ada_check_typedef in inlined implementation.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (ada_val_print_gnat_array): New function,
+	extracted from ada_val_print_1;
+	(ada_val_print_ptr, ada_val_print_num, ada_val_print_enum)
+	(ada_val_print_flt, ada_val_print_struct_union)
+	(ada_val_print_ref): Likewise.
+	(ada_val_print_1): Delete variables i and elttype.
+	Replace extracted-out code by call to corresponding
+	new functions.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (ada_val_print_1): Remove call to gdb_flush.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (ada_val_print_1): Replace calls to
+	ada_val_print_1 by calls to val_print.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (ada_val_print_1): Add parameter "language".
+	Update calls to self accordingly.  Replace calls to c_val_print
+	by calls to val_print.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-valprint.c (print_record): Delete declaration.
+	(adjust_type_signedness, ada_val_print_1): Likewise.
+	(ada_val_print): Move function implementation down.
+	(print_variant_part, print_field_values, print_record):
+	Move function implementation up.
+
+2014-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* python/py-type.c (typy_get_name): New function.
+	(type_object_getset): Add entry for attribute "name".
+	* NEWS: Add entry mentioning this new attribute.
+
+2014-01-07  Yao Qi  <yao@codesourcery.com>
+
+	* gnu-nat.c (set_exceptions_cmd): Remove an empty body 'if'
+	statement.
+
+2014-01-07  Yao Qi  <yao@codesourcery.com>
+
+	* gnu-nat.c (info_port_rights): Add qualifier const to
+	argument args.
+
+2014-01-07  Yao Qi  <yao@codesourcery.com>
+
+	* gnu-nat.c (trace_me): Use 'void' for empty argument list.
+
+2014-01-07  Yao Qi  <yao@codesourcery.com>
+
+	* gnu-nat.c (make_inf) Update declaration.
+	(make_inf): Make it static.
+	(inf_set_traced): Likewise.
+	(inf_port_to_thread, inf_task_died_status): Likewise.
+
+2014-01-07  Yao Qi  <yao@codesourcery.com>
+
+	* gnu-nat.c (inf_tid_to_proc): Remove declaration.
+
+2014-01-07  Yao Qi  <yao@codesourcery.com>
+
+	* gnu-nat.c (_initialize_gnu_nat): Declare.
+
+2014-01-07  Yao Qi  <yao@codesourcery.com>
+
+	* gdbarch.sh (byte_order, byte_order_for_code): Change type to
+	'enum bfd_endian'.
+	(struct gdbarch_info) <byte_order>: Change type to
+	'enum bfd_endian'.
+	<byte_order_for_code>: Likewise.
+	* gdbarch.c, gdbarch.h: Regenerated.
+
+2014-01-06  Sasha Smundak  <asmundak@google.com>
+
+	* jit.c: (jit_reader_load_command): Fix JIT reader path creation.
+
+2014-01-06  Tom Tromey  <tromey@redhat.com>
+
+	* doublest.c (convert_doublest_to_floatformat): Use const, not
+	CONST.
+	* somread.c (som_symtab_read): Likewise.
+
+2014-01-07  Hui Zhu  <hui@codesourcery.com>
+
+	* gdb_bfd.c (gdb_bfd_stash_filename): Removed.
+	(gdb_bfd_open): Removed gdb_bfd_stash_filename.
+	(gdb_bfd_fopen): Ditto.
+	(gdb_bfd_openr): Ditto.
+	(gdb_bfd_openw): Ditto.
+	(gdb_bfd_openr_iovec): Ditto.
+	(gdb_bfd_fdopenr): Ditto.
+	* gdb_bfd.h (gdb_bfd_stash_filename): Removed.
+	* solib-aix.c (solib_aix_bfd_open): Alloc object_bfd->filename
+	with xstrdup.
+	* solib-darwin.c (darwin_bfd_open): Alloc res->filename
+	with xstrdup.
+	* symfile-mem.c (symbol_file_add_from_memory): Removed
+	gdb_bfd_stash_filename.
+
+2014-01-03  Doug Evans  <dje@google.com>
+
+	* nat/linux-waitpid.c (linux_debug): Remove extraneous \n from
+	output.
+
+2014-01-01  Joel Brobecker  <brobecker@adacore.com>
+
+	Update year range in copyright notice of all files.
+
+2014-01-01  Joel Brobecker  <brobecker@adacore.com>
+
+	* top.c (print_gdb_version): Set copyright year to 2014.
+
+2014-01-01  Joel Brobecker  <brobecker@adacore.com>
+
+	* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2013.
+
+For older changes see ChangeLog-2013.
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+coding: utf-8
+End:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/charset.c ./gdb/charset.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/charset.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/charset.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Character set conversion support for GDB.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 #include "defs.h"
 #include "charset.h"
 #include "gdbcmd.h"
-#include "gdb_assert.h"
 #include "gdb_obstack.h"
 #include "gdb_wait.h"
 #include "charset-list.h"
@@ -28,9 +27,6 @@
 #include "environ.h"
 #include "arch-utils.h"
 #include "gdb_vecs.h"
-
-#include <stddef.h>
-#include <string.h>
 #include <ctype.h>
 
 #ifdef USE_WIN32API
@@ -99,15 +95,6 @@
 #undef ICONV_CONST
 #define ICONV_CONST const
 
-/* Some systems don't have EILSEQ, so we define it here, but not as
-   EINVAL, because callers of `iconv' want to distinguish EINVAL and
-   EILSEQ.  This is what iconv.h from libiconv does as well.  Note
-   that wchar.h may also define EILSEQ, so this needs to be after we
-   include wchar.h, which happens in defs.h through gdb_wchar.h.  */
-#ifndef EILSEQ
-#define EILSEQ ENOENT
-#endif
-
 static iconv_t
 phony_iconv_open (const char *to, const char *from)
 {
@@ -191,8 +178,28 @@ phony_iconv (iconv_t utf_flag, const cha
   return 0;
 }
 
-#endif
+#else /* PHONY_ICONV */
+
+/* On systems that don't have EILSEQ, GNU iconv's iconv.h defines it
+   to ENOENT, while gnulib defines it to a different value.  Always
+   map ENOENT to gnulib's EILSEQ, leaving callers agnostic.  */
+
+static size_t
+gdb_iconv (iconv_t utf_flag, ICONV_CONST char **inbuf, size_t *inbytesleft,
+	   char **outbuf, size_t *outbytesleft)
+{
+  size_t ret;
+
+  ret = iconv (utf_flag, inbuf, inbytesleft, outbuf, outbytesleft);
+  if (errno == ENOENT)
+    errno = EILSEQ;
+  return ret;
+}
 
+#undef iconv
+#define iconv gdb_iconv
+
+#endif /* PHONY_ICONV */
 
 
 /* The global lists of character sets and translations.  */
@@ -503,14 +510,14 @@ convert_between_encodings (const char *f
       old_size = obstack_object_size (output);
       obstack_blank (output, space_request);
 
-      outp = obstack_base (output) + old_size;
+      outp = (char *) obstack_base (output) + old_size;
       outleft = space_request;
 
       r = iconv (desc, &inp, &inleft, &outp, &outleft);
 
       /* Now make sure that the object on the obstack only includes
 	 bytes we have converted.  */
-      obstack_blank (output, - (int) outleft);
+      obstack_blank_fast (output, -outleft);
 
       if (r == (size_t) -1)
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/charset.h ./gdb/charset.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/charset.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/charset.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Character set conversion support for GDB.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/charset-list.h ./gdb/charset-list.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/charset-list.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/charset-list.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* List of character set names for GDB.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-lang.c ./gdb/c-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/c-lang.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* C language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,15 +27,12 @@
 #include "c-lang.h"
 #include "valprint.h"
 #include "macroscope.h"
-#include "gdb_assert.h"
 #include "charset.h"
-#include <string.h>
 #include "demangle.h"
 #include "cp-abi.h"
 #include "cp-support.h"
 #include "gdb_obstack.h"
 #include <ctype.h>
-#include "exceptions.h"
 #include "gdbcore.h"
 
 extern void _initialize_c_language (void);
@@ -868,6 +865,8 @@ const struct language_defn c_language_de
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &c_varobj_ops,
+  c_get_compile_context,
+  c_compute_program,
   LANG_MAGIC
 };
 
@@ -993,6 +992,8 @@ const struct language_defn cplus_languag
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &cplus_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
@@ -1036,6 +1037,8 @@ const struct language_defn asm_language_
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
@@ -1084,6 +1087,8 @@ const struct language_defn minimal_langu
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-lang.h ./gdb/c-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-lang.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/c-lang.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* C language support definitions for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -141,5 +141,24 @@ extern int cp_is_vtbl_member (struct typ
 
 extern int c_textual_element_type (struct type *, char);
 
+/* Create a new instance of the C compiler and return it.  The new
+   compiler is owned by the caller and must be freed using the destroy
+   method.  This function never returns NULL, but rather throws an
+   exception on failure.  This is suitable for use as the
+   la_get_compile_instance language method.  */
+
+extern struct compile_instance *c_get_compile_context (void);
+
+/* This takes the user-supplied text and returns a newly malloc'd bit
+   of code to compile.
+
+   This is used as the la_compute_program language method; see that
+   for a description of the arguments.  */
+
+extern char *c_compute_program (struct compile_instance *inst,
+				const char *input,
+				struct gdbarch *gdbarch,
+				const struct block *expr_block,
+				CORE_ADDR expr_pc);
 
 #endif /* !defined (C_LANG_H) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cleanups.c ./gdb/cleanups.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cleanups.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cleanups.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,297 +0,0 @@
-/* Cleanup routines for GDB, the GNU debugger.
-
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "gdb_assert.h"
-
-/* The cleanup list records things that have to be undone
-   if an error happens (descriptors to be closed, memory to be freed, etc.)
-   Each link in the chain records a function to call and an
-   argument to give it.
-
-   Use make_cleanup to add an element to the cleanup chain.
-   Use do_cleanups to do all cleanup actions back to a given
-   point in the chain.  Use discard_cleanups to remove cleanups
-   from the chain back to a given point, not doing them.
-
-   If the argument is pointer to allocated memory, then you need
-   to additionally set the 'free_arg' member to a function that will
-   free that memory.  This function will be called both when the cleanup
-   is executed and when it's discarded.  */
-
-struct cleanup
-{
-  struct cleanup *next;
-  void (*function) (void *);
-  void (*free_arg) (void *);
-  void *arg;
-};
-
-/* Used to mark the end of a cleanup chain.
-   The value is chosen so that it:
-   - is non-NULL so that make_cleanup never returns NULL,
-   - causes a segv if dereferenced
-     [though this won't catch errors that a value of, say,
-     ((struct cleanup *) -1) will]
-   - displays as something useful when printed in gdb.
-   This is const for a bit of extra robustness.
-   It is initialized to coax gcc into putting it into .rodata.
-   All fields are initialized to survive -Wextra.  */
-static const struct cleanup sentinel_cleanup = { 0, 0, 0, 0 };
-
-/* Handy macro to use when referring to sentinel_cleanup.  */
-#define SENTINEL_CLEANUP ((struct cleanup *) &sentinel_cleanup)
-
-/* Chain of cleanup actions established with make_cleanup,
-   to be executed if an error happens.  */
-static struct cleanup *cleanup_chain = SENTINEL_CLEANUP;
-
-/* Chain of cleanup actions established with make_final_cleanup,
-   to be executed when gdb exits.  */
-static struct cleanup *final_cleanup_chain = SENTINEL_CLEANUP;
-
-/* Main worker routine to create a cleanup.
-   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
-   FUNCTION is the function to call to perform the cleanup.
-   ARG is passed to FUNCTION when called.
-   FREE_ARG, if non-NULL, is called after the cleanup is performed.
-
-   The result is a pointer to the previous chain pointer
-   to be passed later to do_cleanups or discard_cleanups.  */
-
-static struct cleanup *
-make_my_cleanup2 (struct cleanup **pmy_chain, make_cleanup_ftype *function,
-		  void *arg,  void (*free_arg) (void *))
-{
-  struct cleanup *new
-    = (struct cleanup *) xmalloc (sizeof (struct cleanup));
-  struct cleanup *old_chain = *pmy_chain;
-
-  new->next = *pmy_chain;
-  new->function = function;
-  new->free_arg = free_arg;
-  new->arg = arg;
-  *pmy_chain = new;
-
-  gdb_assert (old_chain != NULL);
-  return old_chain;
-}
-
-/* Worker routine to create a cleanup without a destructor.
-   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
-   FUNCTION is the function to call to perform the cleanup.
-   ARG is passed to FUNCTION when called.
-
-   The result is a pointer to the previous chain pointer
-   to be passed later to do_cleanups or discard_cleanups.  */
-
-static struct cleanup *
-make_my_cleanup (struct cleanup **pmy_chain, make_cleanup_ftype *function,
-		 void *arg)
-{
-  return make_my_cleanup2 (pmy_chain, function, arg, NULL);
-}
-
-/* Add a new cleanup to the cleanup_chain,
-   and return the previous chain pointer
-   to be passed later to do_cleanups or discard_cleanups.
-   Args are FUNCTION to clean up with, and ARG to pass to it.  */
-
-struct cleanup *
-make_cleanup (make_cleanup_ftype *function, void *arg)
-{
-  return make_my_cleanup (&cleanup_chain, function, arg);
-}
-
-/* Same as make_cleanup except also includes TDOR, a destructor to free ARG.
-   DTOR is invoked when the cleanup is performed or when it is discarded.  */
-
-struct cleanup *
-make_cleanup_dtor (make_cleanup_ftype *function, void *arg,
-		   void (*dtor) (void *))
-{
-  return make_my_cleanup2 (&cleanup_chain,
-			   function, arg, dtor);
-}
-
-/* Same as make_cleanup except the cleanup is added to final_cleanup_chain.  */
-
-struct cleanup *
-make_final_cleanup (make_cleanup_ftype *function, void *arg)
-{
-  return make_my_cleanup (&final_cleanup_chain, function, arg);
-}
-
-/* Worker routine to perform cleanups.
-   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
-   OLD_CHAIN is the result of a "make" cleanup routine.
-   Cleanups are performed until we get back to the old end of the chain.  */
-
-static void
-do_my_cleanups (struct cleanup **pmy_chain,
-		struct cleanup *old_chain)
-{
-  struct cleanup *ptr;
-
-  while ((ptr = *pmy_chain) != old_chain)
-    {
-      *pmy_chain = ptr->next;	/* Do this first in case of recursion.  */
-      (*ptr->function) (ptr->arg);
-      if (ptr->free_arg)
-	(*ptr->free_arg) (ptr->arg);
-      xfree (ptr);
-    }
-}
-
-/* Return a value that can be passed to do_cleanups, do_final_cleanups to
-   indicate perform all cleanups.  */
-
-struct cleanup *
-all_cleanups (void)
-{
-  return SENTINEL_CLEANUP;
-}
-
-/* Discard cleanups and do the actions they describe
-   until we get back to the point OLD_CHAIN in the cleanup_chain.  */
-
-void
-do_cleanups (struct cleanup *old_chain)
-{
-  do_my_cleanups (&cleanup_chain, old_chain);
-}
-
-/* Discard cleanups and do the actions they describe
-   until we get back to the point OLD_CHAIN in the final_cleanup_chain.  */
-
-void
-do_final_cleanups (struct cleanup *old_chain)
-{
-  do_my_cleanups (&final_cleanup_chain, old_chain);
-}
-
-/* Main worker routine to discard cleanups.
-   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
-   OLD_CHAIN is the result of a "make" cleanup routine.
-   Cleanups are discarded until we get back to the old end of the chain.  */
-
-static void
-discard_my_cleanups (struct cleanup **pmy_chain,
-		     struct cleanup *old_chain)
-{
-  struct cleanup *ptr;
-
-  while ((ptr = *pmy_chain) != old_chain)
-    {
-      *pmy_chain = ptr->next;
-      if (ptr->free_arg)
-	(*ptr->free_arg) (ptr->arg);
-      xfree (ptr);
-    }
-}
-
-/* Discard cleanups, not doing the actions they describe,
-   until we get back to the point OLD_CHAIN in the cleanup chain.  */
-
-void
-discard_cleanups (struct cleanup *old_chain)
-{
-  discard_my_cleanups (&cleanup_chain, old_chain);
-}
-
-/* Discard final cleanups, not doing the actions they describe,
-   until we get back to the point OLD_CHAIN in the final cleanup chain.  */
-
-void
-discard_final_cleanups (struct cleanup *old_chain)
-{
-  discard_my_cleanups (&final_cleanup_chain, old_chain);
-}
-
-/* Main worker routine to save cleanups.
-   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
-   The chain is emptied and the result is a pointer to the old chain.  */
-
-static struct cleanup *
-save_my_cleanups (struct cleanup **pmy_chain)
-{
-  struct cleanup *old_chain = *pmy_chain;
-
-  *pmy_chain = SENTINEL_CLEANUP;
-  return old_chain;
-}
-
-/* Set the cleanup_chain to 0, and return the old cleanup_chain.  */
-
-struct cleanup *
-save_cleanups (void)
-{
-  return save_my_cleanups (&cleanup_chain);
-}
-
-/* Set the final_cleanup_chain to 0, and return the old
-   final_cleanup_chain.  */
-
-struct cleanup *
-save_final_cleanups (void)
-{
-  return save_my_cleanups (&final_cleanup_chain);
-}
-
-/* Main worker routine to save cleanups.
-   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
-   The chain is restored from CHAIN.  */
-
-static void
-restore_my_cleanups (struct cleanup **pmy_chain, struct cleanup *chain)
-{
-  if (*pmy_chain != SENTINEL_CLEANUP)
-    internal_warning (__FILE__, __LINE__,
-		      _("restore_my_cleanups has found a stale cleanup"));
-
-  *pmy_chain = chain;
-}
-
-/* Restore the cleanup chain from a previously saved chain.  */
-
-void
-restore_cleanups (struct cleanup *chain)
-{
-  restore_my_cleanups (&cleanup_chain, chain);
-}
-
-/* Restore the final cleanup chain from a previously saved chain.  */
-
-void
-restore_final_cleanups (struct cleanup *chain)
-{
-  restore_my_cleanups (&final_cleanup_chain, chain);
-}
-
-/* Provide a known function that does nothing, to use as a base for
-   a possibly long chain of cleanups.  This is useful where we
-   use the cleanup chain for handling normal cleanups as well as dealing
-   with cleanups that need to be done as a result of a call to error().
-   In such cases, we may not be certain where the first cleanup is, unless
-   we have a do-nothing one to always use as the base.  */
-
-void
-null_cleanup (void *arg)
-{
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cleanups.h ./gdb/cleanups.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cleanups.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cleanups.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,69 +0,0 @@
-/* Cleanups.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef CLEANUPS_H
-#define CLEANUPS_H
-
-/* Outside of cleanups.c, this is an opaque type.  */
-struct cleanup;
-
-/* NOTE: cagney/2000-03-04: This typedef is strictly for the
-   make_cleanup function declarations below.  Do not use this typedef
-   as a cast when passing functions into the make_cleanup() code.
-   Instead either use a bounce function or add a wrapper function.
-   Calling a f(char*) function with f(void*) is non-portable.  */
-typedef void (make_cleanup_ftype) (void *);
-
-/* Function type for the dtor in make_cleanup_dtor.  */
-typedef void (make_cleanup_dtor_ftype) (void *);
-
-/* WARNING: The result of the "make cleanup" routines is not the intuitive
-   choice of being a handle on the just-created cleanup.  Instead it is an
-   opaque handle of the cleanup mechanism and represents all cleanups created
-   from that point onwards.
-   The result is guaranteed to be non-NULL though.  */
-
-extern struct cleanup *make_cleanup (make_cleanup_ftype *, void *);
-
-extern struct cleanup *make_cleanup_dtor (make_cleanup_ftype *, void *,
-					  make_cleanup_dtor_ftype *);
-
-extern struct cleanup *make_final_cleanup (make_cleanup_ftype *, void *);
-
-/* A special value to pass to do_cleanups and do_final_cleanups
-   to tell them to do all cleanups.  */
-extern struct cleanup *all_cleanups (void);
-
-extern void do_cleanups (struct cleanup *);
-extern void do_final_cleanups (struct cleanup *);
-
-extern void discard_cleanups (struct cleanup *);
-extern void discard_final_cleanups (struct cleanup *);
-
-extern struct cleanup *save_cleanups (void);
-extern struct cleanup *save_final_cleanups (void);
-
-extern void restore_cleanups (struct cleanup *);
-extern void restore_final_cleanups (struct cleanup *);
-
-/* A no-op cleanup.
-   This is useful when you want to establish a known reference point
-   to pass to do_cleanups.  */
-extern void null_cleanup (void *);
-
-#endif /* CLEANUPS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-cmds.c ./gdb/cli/cli-cmds.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-cmds.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-cmds.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB CLI commands.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "exceptions.h"
 #include "arch-utils.h"
 #include "dyn-string.h"
 #include "readline/readline.h"
@@ -27,7 +26,6 @@
 #include "target.h"	/* For baud_rate, remote_debug and remote_timeout.  */
 #include "gdb_wait.h"	/* For shell escape implementation.  */
 #include "gdb_regex.h"	/* Used by apropos_command.  */
-#include <string.h>
 #include "gdb_vfork.h"
 #include "linespec.h"
 #include "expression.h"
@@ -204,7 +202,7 @@ static const char *script_ext_mode = scr
    none is supplied.  */
 
 void
-error_no_arg (char *why)
+error_no_arg (const char *why)
 {
   error (_("Argument required (%s)."), why);
 }
@@ -218,7 +216,7 @@ info_command (char *arg, int from_tty)
 {
   printf_unfiltered (_("\"info\" must be followed by "
 		       "the name of an info command.\n"));
-  help_list (infolist, "info ", -1, gdb_stdout);
+  help_list (infolist, "info ", all_commands, gdb_stdout);
 }
 
 /* The "show" command with no arguments shows all the settings.  */
@@ -820,7 +818,7 @@ edit_command (char *arg, int from_tty)
 	    error (_("No source file for address %s."),
 		   paddress (get_current_arch (), sal.pc));
 
-	  gdbarch = get_objfile_arch (sal.symtab->objfile);
+	  gdbarch = get_objfile_arch (SYMTAB_OBJFILE (sal.symtab));
           sym = find_pc_function (sal.pc);
           if (sym)
 	    printf_filtered ("%s is in %s (%s:%d).\n",
@@ -1005,7 +1003,7 @@ list_command (char *arg, int from_tty)
 	error (_("No source file for address %s."),
 	       paddress (get_current_arch (), sal.pc));
 
-      gdbarch = get_objfile_arch (sal.symtab->objfile);
+      gdbarch = get_objfile_arch (SYMTAB_OBJFILE (sal.symtab));
       sym = find_pc_function (sal.pc);
       if (sym)
 	printf_filtered ("%s is in %s (%s:%d).\n",
@@ -1246,8 +1244,7 @@ show_user (char *args, int from_tty)
       const char *comname = args;
 
       c = lookup_cmd (&comname, cmdlist, "", 0, 1);
-      /* c->user_commands would be NULL if it's a python/scheme command.  */
-      if (c->class != class_user || !c->user_commands)
+      if (!cli_user_command_p (c))
 	error (_("Not a user command."));
       show_user_1 (c, "", args, gdb_stdout);
     }
@@ -1255,7 +1252,7 @@ show_user (char *args, int from_tty)
     {
       for (c = cmdlist; c; c = c->next)
 	{
-	  if (c->class == class_user || c->prefixlist != NULL)
+	  if (cli_user_command_p (c) || c->prefixlist != NULL)
 	    show_user_1 (c, "", c->name, gdb_stdout);
 	}
     }
@@ -1489,21 +1486,23 @@ compare_symtabs (const void *a, const vo
 {
   const struct symtab_and_line *sala = a;
   const struct symtab_and_line *salb = b;
+  const char *dira = SYMTAB_DIRNAME (sala->symtab);
+  const char *dirb = SYMTAB_DIRNAME (salb->symtab);
   int r;
 
-  if (!sala->symtab->dirname)
+  if (dira == NULL)
     {
-      if (salb->symtab->dirname)
+      if (dirb != NULL)
 	return -1;
     }
-  else if (!salb->symtab->dirname)
+  else if (dirb == NULL)
     {
-      if (sala->symtab->dirname)
+      if (dira != NULL)
 	return 1;
     }
   else
     {
-      r = filename_cmp (sala->symtab->dirname, salb->symtab->dirname);
+      r = filename_cmp (dira, dirb);
       if (r)
 	return r;
     }
@@ -1567,7 +1566,7 @@ set_debug (char *arg, int from_tty)
 {
   printf_unfiltered (_("\"set debug\" must be followed by "
 		       "the name of a debug subcommand.\n"));
-  help_list (setdebuglist, "set debug ", -1, gdb_stdout);
+  help_list (setdebuglist, "set debug ", all_commands, gdb_stdout);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-cmds.h ./gdb/cli/cli-cmds.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-cmds.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-cmds.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header file for GDB CLI command implementation library.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-decode.c ./gdb/cli/cli-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-decode.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-decode.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle lists of commands, their decoding and documentation, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,12 +19,10 @@
 #include "symtab.h"
 #include <ctype.h>
 #include "gdb_regex.h"
-#include <string.h>
 #include "completer.h"
 #include "ui-out.h"
 #include "cli/cli-cmds.h"
 #include "cli/cli-decode.h"
-#include "gdb_assert.h"
 
 /* Prototypes for local functions.  */
 
@@ -93,8 +91,8 @@ set_cmd_prefix (struct cmd_list_element 
 }
 
 static void
-print_help_for_command (struct cmd_list_element *c, char *prefix, int recurse,
-			struct ui_file *stream);
+print_help_for_command (struct cmd_list_element *c, const char *prefix,
+			int recurse, struct ui_file *stream);
 
 
 /* Set the callback function for the specified command.  For each both
@@ -134,8 +132,7 @@ set_cmd_sfunc (struct cmd_list_element *
 }
 
 int
-cmd_cfunc_eq (struct cmd_list_element *cmd,
-	      void (*cfunc) (char *args, int from_tty))
+cmd_cfunc_eq (struct cmd_list_element *cmd, cmd_cfunc_ftype *cfunc)
 {
   return cmd->func == do_cfunc && cmd->function.cfunc == cfunc;
 }
@@ -164,6 +161,15 @@ set_cmd_completer (struct cmd_list_eleme
   cmd->completer = completer; /* Ok.  */
 }
 
+/* See definition in commands.h.  */
+
+void
+set_cmd_completer_handle_brkchars (struct cmd_list_element *cmd,
+			       completer_ftype_void *completer_handle_brkchars)
+{
+  cmd->completer_handle_brkchars = completer_handle_brkchars;
+}
+
 /* Add element named NAME.
    Space for NAME and DOC must be allocated by the caller.
    CLASS is the top level category into which commands are broken down
@@ -183,8 +189,8 @@ set_cmd_completer (struct cmd_list_eleme
    of *LIST).  */
 
 struct cmd_list_element *
-add_cmd (const char *name, enum command_class class, void (*fun) (char *, int),
-	 char *doc, struct cmd_list_element **list)
+add_cmd (const char *name, enum command_class class, cmd_cfunc_ftype *fun,
+	 const char *doc, struct cmd_list_element **list)
 {
   struct cmd_list_element *c
     = (struct cmd_list_element *) xmalloc (sizeof (struct cmd_list_element));
@@ -239,6 +245,7 @@ add_cmd (const char *name, enum command_
   c->prefix = NULL;
   c->abbrev_flag = 0;
   set_cmd_completer (c, make_symbol_completion_list_fn);
+  c->completer_handle_brkchars = NULL;
   c->destroyer = NULL;
   c->type = not_set_cmd;
   c->var = NULL;
@@ -262,7 +269,7 @@ add_cmd (const char *name, enum command_
    Returns a pointer to the deprecated command.  */
 
 struct cmd_list_element *
-deprecate_cmd (struct cmd_list_element *cmd, char *replacement)
+deprecate_cmd (struct cmd_list_element *cmd, const char *replacement)
 {
   cmd->cmd_deprecated = 1;
   cmd->deprecated_warn_user = 1;
@@ -329,9 +336,9 @@ add_alias_cmd (const char *name, const c
 
 struct cmd_list_element *
 add_prefix_cmd (const char *name, enum command_class class,
-		void (*fun) (char *, int),
-		char *doc, struct cmd_list_element **prefixlist,
-		char *prefixname, int allow_unknown,
+		cmd_cfunc_ftype *fun,
+		const char *doc, struct cmd_list_element **prefixlist,
+		const char *prefixname, int allow_unknown,
 		struct cmd_list_element **list)
 {
   struct cmd_list_element *c = add_cmd (name, class, fun, doc, list);
@@ -357,8 +364,9 @@ add_prefix_cmd (const char *name, enum c
 
 struct cmd_list_element *
 add_abbrev_prefix_cmd (const char *name, enum command_class class,
-		       void (*fun) (char *, int), char *doc,
-		       struct cmd_list_element **prefixlist, char *prefixname,
+		       cmd_cfunc_ftype *fun, const char *doc,
+		       struct cmd_list_element **prefixlist,
+		       const char *prefixname,
 		       int allow_unknown, struct cmd_list_element **list)
 {
   struct cmd_list_element *c = add_cmd (name, class, fun, doc, list);
@@ -398,7 +406,7 @@ add_set_or_show_cmd (const char *name,
 		     enum command_class class,
 		     var_types var_type,
 		     void *var,
-		     char *doc,
+		     const char *doc,
 		     struct cmd_list_element **list)
 {
   struct cmd_list_element *c = add_cmd (name, class, NULL, doc, list);
@@ -805,7 +813,7 @@ delete_cmd (const char *name, struct cmd
 	  if (iter->hookee_post)
 	    iter->hookee_post->hook_post = 0;
 	  if (iter->doc && iter->doc_allocated)
-	    xfree (iter->doc);
+	    xfree ((char *) iter->doc);
 	  *posthook = iter->hook_post;
 	  *posthookee = iter->hookee_post;
 
@@ -846,7 +854,7 @@ delete_cmd (const char *name, struct cmd
 /* Add an element to the list of info subcommands.  */
 
 struct cmd_list_element *
-add_info (const char *name, void (*fun) (char *, int), char *doc)
+add_info (const char *name, cmd_cfunc_ftype *fun, const char *doc)
 {
   return add_cmd (name, no_class, fun, doc, &infolist);
 }
@@ -854,7 +862,7 @@ add_info (const char *name, void (*fun) 
 /* Add an alias to the list of info subcommands.  */
 
 struct cmd_list_element *
-add_info_alias (const char *name, char *oldname, int abbrev_flag)
+add_info_alias (const char *name, const char *oldname, int abbrev_flag)
 {
   return add_alias_cmd (name, oldname, 0, abbrev_flag, &infolist);
 }
@@ -862,8 +870,8 @@ add_info_alias (const char *name, char *
 /* Add an element to the list of commands.  */
 
 struct cmd_list_element *
-add_com (const char *name, enum command_class class, void (*fun) (char *, int),
-	 char *doc)
+add_com (const char *name, enum command_class class, cmd_cfunc_ftype *fun,
+	 const char *doc)
 {
   return add_cmd (name, class, fun, doc, &cmdlist);
 }
@@ -884,7 +892,7 @@ add_com_alias (const char *name, const c
 void 
 apropos_cmd (struct ui_file *stream, 
 	     struct cmd_list_element *commandlist,
-	     struct re_pattern_buffer *regex, char *prefix)
+	     struct re_pattern_buffer *regex, const char *prefix)
 {
   struct cmd_list_element *c;
   int returnvalue;
@@ -937,10 +945,9 @@ apropos_cmd (struct ui_file *stream, 
    help_list.  */
 
 void
-help_cmd (char *arg, struct ui_file *stream)
+help_cmd (const char *command, struct ui_file *stream)
 {
   struct cmd_list_element *c;
-  const char *command = arg;
 
   if (!command)
     {
@@ -1013,7 +1020,7 @@ help_cmd (char *arg, struct ui_file *str
  * If you call this routine with a class >= 0, it recurses.
  */
 void
-help_list (struct cmd_list_element *list, char *cmdtype,
+help_list (struct cmd_list_element *list, const char *cmdtype,
 	   enum command_class class, struct ui_file *stream)
 {
   int len;
@@ -1112,11 +1119,11 @@ help_all (struct ui_file *stream)
 
 /* Print only the first line of STR on STREAM.  */
 void
-print_doc_line (struct ui_file *stream, char *str)
+print_doc_line (struct ui_file *stream, const char *str)
 {
   static char *line_buffer = 0;
   static int line_size;
-  char *p;
+  const char *p;
 
   if (!line_buffer)
     {
@@ -1147,8 +1154,8 @@ print_doc_line (struct ui_file *stream, 
    If RECURSE is non-zero, also print one-line descriptions
    of all prefixed subcommands.  */
 static void
-print_help_for_command (struct cmd_list_element *c, char *prefix, int recurse,
-			struct ui_file *stream)
+print_help_for_command (struct cmd_list_element *c, const char *prefix,
+			int recurse, struct ui_file *stream)
 {
   fprintf_filtered (stream, "%s%s -- ", prefix, c->name);
   print_doc_line (stream, c->doc);
@@ -1181,7 +1188,7 @@ print_help_for_command (struct cmd_list_
  */
 void
 help_cmd_list (struct cmd_list_element *list, enum command_class class,
-	       char *prefix, int recurse, struct ui_file *stream)
+	       const char *prefix, int recurse, struct ui_file *stream)
 {
   struct cmd_list_element *c;
 
@@ -1507,7 +1514,7 @@ lookup_cmd (const char **line, struct cm
          values.  */
       int local_allow_unknown = (last_list ? last_list->allow_unknown :
 				 allow_unknown);
-      char *local_cmdtype = last_list ? last_list->prefixname : cmdtype;
+      const char *local_cmdtype = last_list ? last_list->prefixname : cmdtype;
       struct cmd_list_element *local_list =
 	(last_list ? *(last_list->prefixlist) : list);
 
@@ -1887,3 +1894,10 @@ cmd_func (struct cmd_list_element *cmd, 
   else
     error (_("Invalid command"));
 }
+
+int
+cli_user_command_p (struct cmd_list_element *cmd)
+{
+  return (cmd->class == class_user
+	  && (cmd->func == do_cfunc || cmd->func == do_sfunc));
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-decode.h ./gdb/cli/cli-decode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-decode.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-decode.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Header file for GDB command decoding library.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -128,14 +128,14 @@ struct cmd_list_element
        First line is brief documentation; remaining lines form, with it,
        the full documentation.  First line should end with a period.
        Entire string should also end with a period, not a newline.  */
-    char *doc;
+    const char *doc;
 
     /* For set/show commands.  A method for printing the output to the
        specified stream.  */
     show_value_ftype *show_value_func;
 
     /* If this command is deprecated, this is the replacement name.  */
-    char *replacement;
+    const char *replacement;
 
     /* If this command represents a show command, then this function
        is called before the variable's value is examined.  */
@@ -156,7 +156,7 @@ struct cmd_list_element
        plus any others needed to get to it.  Should end in a space.
        It is used before the word "command" in describing the
        commands reached through this prefix.  */
-    char *prefixname;
+    const char *prefixname;
 
     /* The prefix command of this command.  */
     struct cmd_list_element *prefix;
@@ -176,6 +176,15 @@ struct cmd_list_element
        "baz/foo", return "baz/foobar".  */
     completer_ftype *completer;
 
+    /* Handle the word break characters for this completer.  Usually
+       this function need not be defined, but for some types of
+       completers (e.g., Python completers declared as methods inside
+       a class) the word break chars may need to be redefined
+       depending on the completer type (e.g., for filename
+       completers).  */
+
+    completer_ftype_void *completer_handle_brkchars;
+
     /* Destruction routine for this command.  If non-NULL, this is
        called when this command instance is destroyed.  This may be
        used to finalize the CONTEXT field, if needed.  */
@@ -212,14 +221,14 @@ struct cmd_list_element
   };
 
 extern void help_cmd_list (struct cmd_list_element *, enum command_class,
-			   char *, int, struct ui_file *);
+			   const char *, int, struct ui_file *);
 
 /* Functions that implement commands about CLI commands.  */
 
-extern void help_cmd (char *, struct ui_file *);
+extern void help_cmd (const char *, struct ui_file *);
 
 extern void apropos_cmd (struct ui_file *, struct cmd_list_element *,
-                         struct re_pattern_buffer *, char *);
+                         struct re_pattern_buffer *, const char *);
 
 /* Used to mark commands that don't do anything.  If we just leave the
    function field NULL, the command is interpreted as a help topic, or
@@ -229,8 +238,13 @@ extern void not_just_help_class_command 
 
 /* Exported to cli/cli-setshow.c */
 
-extern void print_doc_line (struct ui_file *, char *);
+extern void print_doc_line (struct ui_file *, const char *);
 
 extern const char * const auto_boolean_enums[];
 
+/* Verify whether a given cmd_list_element is a user-defined command.
+   Return 1 if it is user-defined.  Return 0 otherwise.  */
+
+extern int cli_user_command_p (struct cmd_list_element *);
+
 #endif /* !defined (CLI_DECODE_H) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-dump.c ./gdb/cli/cli-dump.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-dump.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-dump.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Dump-to-file commands, for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
@@ -20,12 +20,10 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "cli/cli-decode.h"
 #include "cli/cli-cmds.h"
 #include "value.h"
 #include "completer.h"
-#include "gdb_assert.h"
 #include <ctype.h>
 #include "target.h"
 #include "readline/readline.h"
@@ -35,8 +33,8 @@
 #include "filestuff.h"
 
 
-static char *
-scan_expression_with_cleanup (char **cmd, const char *def)
+static const char *
+scan_expression_with_cleanup (const char **cmd, const char *def)
 {
   if ((*cmd) == NULL || (**cmd) == '\0')
     {
@@ -48,19 +46,19 @@ scan_expression_with_cleanup (char **cmd
   else
     {
       char *exp;
-      char *end;
+      const char *end;
 
       end = (*cmd) + strcspn (*cmd, " \t");
       exp = savestring ((*cmd), end - (*cmd));
       make_cleanup (xfree, exp);
-      (*cmd) = skip_spaces (end);
+      (*cmd) = skip_spaces_const (end);
       return exp;
     }
 }
 
 
 static char *
-scan_filename_with_cleanup (char **cmd, const char *defname)
+scan_filename_with_cleanup (const char **cmd, const char *defname)
 {
   char *filename;
   char *fullname;
@@ -78,13 +76,13 @@ scan_filename_with_cleanup (char **cmd, 
   else
     {
       /* FIXME: should parse a possibly quoted string.  */
-      char *end;
+      const char *end;
 
-      (*cmd) = skip_spaces (*cmd);
+      (*cmd) = skip_spaces_const (*cmd);
       end = *cmd + strcspn (*cmd, " \t");
       filename = savestring ((*cmd), end - (*cmd));
       make_cleanup (xfree, filename);
-      (*cmd) = skip_spaces (end);
+      (*cmd) = skip_spaces_const (end);
     }
   gdb_assert (filename != NULL);
 
@@ -160,14 +158,14 @@ static void
 dump_command (char *cmd, int from_tty)
 {
   printf_unfiltered (_("\"dump\" must be followed by a subcommand.\n\n"));
-  help_list (dump_cmdlist, "dump ", -1, gdb_stdout);
+  help_list (dump_cmdlist, "dump ", all_commands, gdb_stdout);
 }
 
 static void
 append_command (char *cmd, int from_tty)
 {
   printf_unfiltered (_("\"append\" must be followed by a subcommand.\n\n"));
-  help_list (dump_cmdlist, "append ", -1, gdb_stdout);
+  help_list (dump_cmdlist, "append ", all_commands, gdb_stdout);
 }
 
 static void
@@ -206,16 +204,16 @@ dump_bfd_file (const char *filename, con
 }
 
 static void
-dump_memory_to_file (char *cmd, char *mode, char *file_format)
+dump_memory_to_file (const char *cmd, const char *mode, const char *file_format)
 {
   struct cleanup *old_cleanups = make_cleanup (null_cleanup, NULL);
   CORE_ADDR lo;
   CORE_ADDR hi;
   ULONGEST count;
-  char *filename;
+  const char *filename;
   void *buf;
-  char *lo_exp;
-  char *hi_exp;
+  const char *lo_exp;
+  const char *hi_exp;
 
   /* Open the file.  */
   filename = scan_filename_with_cleanup (&cmd, NULL);
@@ -262,11 +260,11 @@ dump_memory_command (char *cmd, char *mo
 }
 
 static void
-dump_value_to_file (char *cmd, char *mode, char *file_format)
+dump_value_to_file (const char *cmd, const char *mode, const char *file_format)
 {
   struct cleanup *old_cleanups = make_cleanup (null_cleanup, NULL);
   struct value *val;
-  char *filename;
+  const char *filename;
 
   /* Open the file.  */
   filename = scan_filename_with_cleanup (&cmd, NULL);
@@ -503,7 +501,7 @@ restore_section_callback (bfd *ibfd, ase
 }
 
 static void
-restore_binary_file (char *filename, struct callback_data *data)
+restore_binary_file (const char *filename, struct callback_data *data)
 {
   struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
   FILE *file = fopen_with_cleanup (filename, FOPEN_RB);
@@ -555,12 +553,13 @@ restore_binary_file (char *filename, str
 }
 
 static void
-restore_command (char *args, int from_tty)
+restore_command (char *args_in, int from_tty)
 {
   char *filename;
   struct callback_data data;
   bfd *ibfd;
   int binary_flag = 0;
+  const char *args = args_in;
 
   if (!target_has_execution)
     noprocess ();
@@ -580,7 +579,7 @@ restore_command (char *args, int from_tt
 	{
 	  binary_flag = 1;
 	  args += strlen (binary_string);
-	  args = skip_spaces (args);
+	  args = skip_spaces_const (args);
 	}
       /* Parse offset (optional).  */
       if (args != NULL && *args != '\0')
@@ -626,35 +625,36 @@ static void
 srec_dump_command (char *cmd, int from_tty)
 {
   printf_unfiltered ("\"dump srec\" must be followed by a subcommand.\n");
-  help_list (srec_cmdlist, "dump srec ", -1, gdb_stdout);
+  help_list (srec_cmdlist, "dump srec ", all_commands, gdb_stdout);
 }
 
 static void
 ihex_dump_command (char *cmd, int from_tty)
 {
   printf_unfiltered ("\"dump ihex\" must be followed by a subcommand.\n");
-  help_list (ihex_cmdlist, "dump ihex ", -1, gdb_stdout);
+  help_list (ihex_cmdlist, "dump ihex ", all_commands, gdb_stdout);
 }
 
 static void
 tekhex_dump_command (char *cmd, int from_tty)
 {
   printf_unfiltered ("\"dump tekhex\" must be followed by a subcommand.\n");
-  help_list (tekhex_cmdlist, "dump tekhex ", -1, gdb_stdout);
+  help_list (tekhex_cmdlist, "dump tekhex ", all_commands, gdb_stdout);
 }
 
 static void
 binary_dump_command (char *cmd, int from_tty)
 {
   printf_unfiltered ("\"dump binary\" must be followed by a subcommand.\n");
-  help_list (binary_dump_cmdlist, "dump binary ", -1, gdb_stdout);
+  help_list (binary_dump_cmdlist, "dump binary ", all_commands, gdb_stdout);
 }
 
 static void
 binary_append_command (char *cmd, int from_tty)
 {
   printf_unfiltered ("\"append binary\" must be followed by a subcommand.\n");
-  help_list (binary_append_cmdlist, "append binary ", -1, gdb_stdout);
+  help_list (binary_append_cmdlist, "append binary ", all_commands,
+	     gdb_stdout);
 }
 
 extern initialize_file_ftype _initialize_cli_dump; /* -Wmissing-prototypes */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-interp.c ./gdb/cli/cli-interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-interp.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-interp.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* CLI Definitions for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,8 +23,6 @@
 #include "ui-out.h"
 #include "cli-out.h"
 #include "top.h"		/* for "execute_command" */
-#include <string.h>
-#include "exceptions.h"
 #include "infrun.h"
 #include "observer.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-logging.c ./gdb/cli/cli-logging.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-logging.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-logging.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Command-line output logging for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,9 +21,6 @@
 #include "gdbcmd.h"
 #include "ui-out.h"
 #include "interps.h"
-#include "gdb_assert.h"
-
-#include <string.h>
 
 /* These hold the pushed copies of the gdb output files.
    If NULL then nothing has yet been pushed.  */
@@ -171,7 +168,7 @@ pop_output_files (void)
       gdb_stderr = saved_output.err;
       gdb_stdlog = saved_output.log;
       gdb_stdtarg = saved_output.targ;
-      gdb_stdtargerr = saved_output.targ;
+      gdb_stdtargerr = saved_output.targerr;
     }
 
   saved_output.out = NULL;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-script.c ./gdb/cli/cli-script.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-script.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-script.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB CLI command scripting.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,17 +23,15 @@
 #include <ctype.h>
 
 #include "ui-out.h"
-#include <string.h>
-#include "exceptions.h"
 #include "top.h"
 #include "breakpoint.h"
 #include "cli/cli-cmds.h"
 #include "cli/cli-decode.h"
 #include "cli/cli-script.h"
-#include "gdb_assert.h"
 
 #include "extension.h"
 #include "interps.h"
+#include "compile/compile.h"
 
 /* Prototypes for local functions.  */
 
@@ -90,6 +88,7 @@ multi_line_command_p (enum command_contr
     case while_control:
     case while_stepping_control:
     case commands_control:
+    case compile_control:
     case python_control:
     case guile_control:
       return 1;
@@ -275,6 +274,19 @@ print_command_lines (struct ui_out *uiou
 	  continue;
 	}
 
+      if (list->control_type == compile_control)
+	{
+	  ui_out_field_string (uiout, NULL, "compile expression");
+	  ui_out_text (uiout, "\n");
+	  print_command_lines (uiout, *list->body_list, 0);
+	  if (depth)
+	    ui_out_spaces (uiout, 2 * depth);
+	  ui_out_field_string (uiout, NULL, "end");
+	  ui_out_text (uiout, "\n");
+	  list = list->next;
+	  continue;
+	}
+
       if (list->control_type == guile_control)
 	{
 	  ui_out_field_string (uiout, NULL, "guile");
@@ -602,6 +614,11 @@ execute_control_command (struct command_
 	break;
       }
 
+    case compile_control:
+      eval_compile_command (cmd, NULL, cmd->control_u.compile.scope);
+      ret = simple_control;
+      break;
+
     case python_control:
     case guile_control:
       {
@@ -1043,6 +1060,14 @@ process_next_line (char *p, struct comma
 	     here.  */
 	  *command = build_command_line (python_control, "");
 	}
+      else if (p_end - p == 6 && !strncmp (p, "compile", 7))
+	{
+	  /* Note that we ignore the inline "compile command" form
+	     here.  */
+	  *command = build_command_line (compile_control, "");
+	  (*command)->control_u.compile.scope = COMPILE_I_INVALID_SCOPE;
+	}
+
       else if (p_end - p == 5 && !strncmp (p, "guile", 5))
 	{
 	  /* Note that we ignore the inline "guile command" form here.  */
@@ -1136,7 +1161,8 @@ recurse_read_control_structure (char * (
       next = NULL;
       val = process_next_line (read_next_line_func (), &next, 
 			       current_cmd->control_type != python_control
-			       && current_cmd->control_type != guile_control,
+			       && current_cmd->control_type != guile_control
+			       && current_cmd->control_type != compile_control,
 			       validator, closure);
 
       /* Just skip blanks and comments.  */
@@ -1611,24 +1637,27 @@ document_command (char *comname, int fro
   doclines = read_command_lines (tmpbuf, from_tty, 0, 0, 0);
 
   if (c->doc)
-    xfree (c->doc);
+    xfree ((char *) c->doc);
 
   {
     struct command_line *cl1;
     int len = 0;
+    char *doc;
 
     for (cl1 = doclines; cl1; cl1 = cl1->next)
       len += strlen (cl1->line) + 1;
 
-    c->doc = (char *) xmalloc (len + 1);
-    *c->doc = 0;
+    doc = (char *) xmalloc (len + 1);
+    *doc = 0;
 
     for (cl1 = doclines; cl1; cl1 = cl1->next)
       {
-	strcat (c->doc, cl1->line);
+	strcat (doc, cl1->line);
 	if (cl1->next)
-	  strcat (c->doc, "\n");
+	  strcat (doc, "\n");
       }
+
+    c->doc = doc;
   }
 
   free_command_lines (&doclines);
@@ -1707,7 +1736,7 @@ show_user_1 (struct cmd_list_element *c,
 
   if (c->prefixlist != NULL)
     {
-      char *prefixname = c->prefixname;
+      const char *prefixname = c->prefixname;
 
       for (c = *c->prefixlist; c != NULL; c = c->next)
 	if (c->class == class_user || c->prefixlist != NULL)
@@ -1716,10 +1745,10 @@ show_user_1 (struct cmd_list_element *c,
     }
 
   cmdlines = c->user_commands;
-  if (!cmdlines)
-    return;
   fprintf_filtered (stream, "User command \"%s%s\":\n", prefix, name);
 
+  if (!cmdlines)
+    return;
   print_command_lines (current_uiout, cmdlines, 1);
   fputs_filtered ("\n", stream);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-script.h ./gdb/cli/cli-script.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-script.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-script.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header file for GDB CLI command implementation library.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-setshow.c ./gdb/cli/cli-setshow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-setshow.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-setshow.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle set and show GDB commands.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,7 +19,6 @@
 #include "readline/tilde.h"
 #include "value.h"
 #include <ctype.h>
-#include <string.h>
 #include "arch-utils.h"
 #include "observer.h"
 
@@ -76,7 +75,7 @@ parse_auto_binary_operation (const char 
 /* See cli-setshow.h.  */
 
 int
-parse_cli_boolean_value (char *arg)
+parse_cli_boolean_value (const char *arg)
 {
   int length;
 
@@ -148,7 +147,7 @@ is_unlimited_literal (const char *arg)
    other command).  C is the command list element for the command.  */
 
 void
-do_set_command (char *arg, int from_tty, struct cmd_list_element *c)
+do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
 {
   /* A flag to indicate the option is changed or not.  */
   int option_changed = 0;
@@ -233,13 +232,15 @@ do_set_command (char *arg, int from_tty,
 	if (arg != NULL)
 	  {
 	    /* Clear trailing whitespace of filename.  */
-	    char *ptr = arg + strlen (arg) - 1;
+	    const char *ptr = arg + strlen (arg) - 1;
+	    char *copy;
 
 	    while (ptr >= arg && (*ptr == ' ' || *ptr == '\t'))
 	      ptr--;
-	    *(ptr + 1) = '\0';
+	    copy = xstrndup (arg, ptr + 1 - arg);
 
-	    val = tilde_expand (arg);
+	    val = tilde_expand (copy);
+	    xfree (copy);
 	  }
 	else
 	  val = xstrdup ("");
@@ -564,7 +565,7 @@ do_set_command (char *arg, int from_tty,
    other command).  C is the command list element for the command.  */
 
 void
-do_show_command (char *arg, int from_tty, struct cmd_list_element *c)
+do_show_command (const char *arg, int from_tty, struct cmd_list_element *c)
 {
   struct ui_out *uiout = current_uiout;
   struct cleanup *old_chain;
@@ -668,7 +669,7 @@ do_show_command (char *arg, int from_tty
 /* Show all the settings in a list of show commands.  */
 
 void
-cmd_show_list (struct cmd_list_element *list, int from_tty, char *prefix)
+cmd_show_list (struct cmd_list_element *list, int from_tty, const char *prefix)
 {
   struct cleanup *showlist_chain;
   struct ui_out *uiout = current_uiout;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-setshow.h ./gdb/cli/cli-setshow.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-setshow.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-setshow.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header file for GDB CLI set and show commands implementation.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -21,14 +21,14 @@ struct cmd_list_element;
 
 /* Parse ARG, an option to a boolean variable.
    Returns 1 for true, 0 for false, and -1 if invalid.  */
-extern int parse_cli_boolean_value (char *arg);
+extern int parse_cli_boolean_value (const char *arg);
 
-extern void do_set_command (char *arg, int from_tty,
+extern void do_set_command (const char *arg, int from_tty,
 			    struct cmd_list_element *c);
-extern void do_show_command (char *arg, int from_tty,
+extern void do_show_command (const char *arg, int from_tty,
 			     struct cmd_list_element *c);
 
 extern void cmd_show_list (struct cmd_list_element *list, int from_tty,
-			   char *prefix);
+			   const char *prefix);
 
 #endif /* !defined (CLI_SETSHOW_H) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-utils.c ./gdb/cli/cli-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-utils.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-utils.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* CLI utilities.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,9 +19,7 @@
 
 #include "defs.h"
 #include "cli/cli-utils.h"
-#include <string.h>
 #include "value.h"
-#include "gdb_assert.h"
 
 #include <ctype.h>
 
@@ -35,10 +33,10 @@
    commonly this is `-'.  If you don't want a trailer, use \0.  */
 
 static int
-get_number_trailer (char **pp, int trailer)
+get_number_trailer (const char **pp, int trailer)
 {
   int retval = 0;	/* default */
-  char *p = *pp;
+  const char *p = *pp;
 
   if (*p == '$')
     {
@@ -59,7 +57,7 @@ get_number_trailer (char **pp, int trail
 	  /* Internal variable.  Make a copy of the name, so we can
 	     null-terminate it to pass to lookup_internalvar().  */
 	  char *varname;
-	  char *start = ++p;
+	  const char *start = ++p;
 	  LONGEST val;
 
 	  while (isalnum (*p) || *p == '_')
@@ -102,7 +100,7 @@ get_number_trailer (char **pp, int trail
 	++p;
       retval = 0;
     }
-  p = skip_spaces (p);
+  p = skip_spaces_const (p);
   *pp = p;
   return retval;
 }
@@ -110,16 +108,29 @@ get_number_trailer (char **pp, int trail
 /* See documentation in cli-utils.h.  */
 
 int
-get_number (char **pp)
+get_number_const (const char **pp)
 {
   return get_number_trailer (pp, '\0');
 }
 
 /* See documentation in cli-utils.h.  */
 
+int
+get_number (char **pp)
+{
+  int result;
+  const char *p = *pp;
+
+  result = get_number_trailer (&p, '\0');
+  *pp = (char *) p;
+  return result;
+}
+
+/* See documentation in cli-utils.h.  */
+
 void
 init_number_or_range (struct get_number_or_range_state *state,
-		      char *string)
+		      const char *string)
 {
   memset (state, 0, sizeof (*state));
   state->string = string;
@@ -137,15 +148,15 @@ get_number_or_range (struct get_number_o
       state->last_retval = get_number_trailer (&state->string, '-');
       if (*state->string == '-')
 	{
-	  char **temp;
+	  const char **temp;
 
 	  /* This is the start of a range (<number1> - <number2>).
 	     Skip the '-', parse and remember the second number,
 	     and also remember the end of the final token.  */
 
 	  temp = &state->end_ptr; 
-	  state->end_ptr = skip_spaces (state->string + 1);
-	  state->end_value = get_number (temp);
+	  state->end_ptr = skip_spaces_const (state->string + 1);
+	  state->end_value = get_number_const (temp);
 	  if (state->end_value < state->last_retval) 
 	    {
 	      error (_("inverted range"));
@@ -191,7 +202,7 @@ get_number_or_range (struct get_number_o
    no arguments.  */
 
 int
-number_is_in_list (char *list, int number)
+number_is_in_list (const char *list, int number)
 {
   struct get_number_or_range_state state;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-utils.h ./gdb/cli/cli-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli/cli-utils.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli/cli-utils.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* CLI utilities.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,6 +26,10 @@
    Currently the string can either be a number,  or "$" followed by the
    name of a convenience variable, or ("$" or "$$") followed by digits.  */
 
+extern int get_number_const (const char **);
+
+/* Like get_number_const, but takes a non-const "char **".  */
+
 extern int get_number (char **);
 
 /* An object of this type is passed to get_number_or_range.  It must
@@ -40,7 +44,7 @@ struct get_number_or_range_state
 
   /* The string being parsed.  When parsing has finished, this points
      past the last parsed token.  */
-  char *string;
+  const char *string;
 
   /* Last value returned.  */
   int last_retval;
@@ -50,7 +54,7 @@ struct get_number_or_range_state
 
   /* When parsing a range, a pointer past the final token in the
      range.  */
-  char *end_ptr;
+  const char *end_ptr;
 
   /* Non-zero when parsing a range.  */
   int in_range;
@@ -60,7 +64,7 @@ struct get_number_or_range_state
    get_number_or_range_state.  STRING is the string to be parsed.  */
 
 extern void init_number_or_range (struct get_number_or_range_state *state,
-				  char *string);
+				  const char *string);
 
 /* Parse a number or a range.
    A number will be of the form handled by get_number.
@@ -87,7 +91,7 @@ extern int get_number_or_range (struct g
    be interpreted as typing a command such as "delete break" with 
    no arguments.  */
 
-extern int number_is_in_list (char *list, int number);
+extern int number_is_in_list (const char *list, int number);
 
 /* Skip leading whitespace characters in INP, returning an updated
    pointer.  If INP is NULL, return NULL.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli-out.c ./gdb/cli-out.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli-out.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli-out.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Output generating routines for GDB CLI.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions.
    Written by Fernando Nasser for Cygnus.
@@ -23,8 +23,6 @@
 #include "defs.h"
 #include "ui-out.h"
 #include "cli-out.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "vec.h"
 
 typedef struct cli_ui_out_data cli_out_data;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli-out.h ./gdb/cli-out.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cli-out.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cli-out.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Output generating routines for GDB CLI.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/coff-pe-read.c ./gdb/coff-pe-read.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/coff-pe-read.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/coff-pe-read.c	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
    convert to internal format, for GDB. Used as a last resort if no
    debugging symbols recognized.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/coff-pe-read.h ./gdb/coff-pe-read.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/coff-pe-read.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/coff-pe-read.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Interface to coff-pe-read.c (portable-executable-specific symbol reader).
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/coffread.c ./gdb/coffread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/coffread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/coffread.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Read coff symbol tables and convert to internal format, for GDB.
-   Copyright (C) 1987-2014 Free Software Foundation, Inc.
+   Copyright (C) 1987-2015 Free Software Foundation, Inc.
    Contributed by David D. Johnson, Brown University (ddj@cs.brown.edu).
 
    This file is part of GDB.
@@ -25,8 +25,6 @@
 
 #include "bfd.h"
 #include "gdb_obstack.h"
-
-#include <string.h>
 #include <ctype.h>
 
 #include "coff/internal.h"	/* Internal format of COFF symbols in BFD */
@@ -37,7 +35,6 @@
 #include "stabsread.h"
 #include "complaints.h"
 #include "target.h"
-#include "gdb_assert.h"
 #include "block.h"
 #include "dictionary.h"
 
@@ -385,9 +382,9 @@ coff_alloc_type (int index)
    it indicates the start of data for one original source file.  */
 
 static void
-coff_start_symtab (const char *name)
+coff_start_symtab (struct objfile *objfile, const char *name)
 {
-  start_symtab (
+  start_symtab (objfile,
   /* We fill in the filename later.  start_symtab puts this pointer
      into last_source_file and we put it in subfiles->name, which
      end_symtab frees; that's why it must be malloc'd.  */
@@ -424,8 +421,7 @@ coff_end_symtab (struct objfile *objfile
 {
   last_source_start_addr = current_source_start_addr;
 
-  end_symtab (current_source_end_addr, objfile,
-	      SECT_OFF_TEXT (objfile));
+  end_symtab (current_source_end_addr, SECT_OFF_TEXT (objfile));
 
   /* Reinitialize for beginning of new file.  */
   set_last_source_file (NULL);
@@ -785,7 +781,6 @@ coff_symtab_read (long symtab_offset, un
   struct coff_symbol fcn_cs_saved;
   static struct internal_syment fcn_sym_saved;
   static union internal_auxent fcn_aux_saved;
-  struct symtab *s;
   /* A .file is open.  */
   int in_source_file = 0;
   int next_file_symnum = -1;
@@ -835,7 +830,7 @@ coff_symtab_read (long symtab_offset, un
     xmalloc (type_vector_length * sizeof (struct type *));
   memset (type_vector, 0, type_vector_length * sizeof (struct type *));
 
-  coff_start_symtab ("");
+  coff_start_symtab (objfile, "");
 
   symnum = 0;
   while (symnum < nsyms)
@@ -849,7 +844,7 @@ coff_symtab_read (long symtab_offset, un
 	  if (get_last_source_file ())
 	    coff_end_symtab (objfile);
 
-	  coff_start_symtab ("_globals_");
+	  coff_start_symtab (objfile, "_globals_");
 	  /* coff_start_symtab will set the language of this symtab to
 	     language_unknown, since such a ``file name'' is not
 	     recognized.  Override that with the minimal language to
@@ -913,7 +908,7 @@ coff_symtab_read (long symtab_offset, un
 	  if (get_last_source_file ())
 	    {
 	      coff_end_symtab (objfile);
-	      coff_start_symtab (filestring);
+	      coff_start_symtab (objfile, filestring);
 	    }
 	  in_source_file = 1;
 	  break;
@@ -1139,9 +1134,7 @@ coff_symtab_read (long symtab_offset, un
 			    fcn_cs_saved.c_value
 			    + fcn_aux_saved.x_sym.x_misc.x_fsize
 			    + ANOFFSET (objfile->section_offsets,
-					SECT_OFF_TEXT (objfile)),
-			    objfile
-		);
+					SECT_OFF_TEXT (objfile)));
 	      within_function = 0;
 	    }
 	  break;
@@ -1181,7 +1174,7 @@ coff_symtab_read (long symtab_offset, un
 					    SECT_OFF_TEXT (objfile));
 		  /* Make a block for the local symbols within.  */
 		  finish_block (0, &local_symbols, new->old_blocks,
-				new->start_addr, tmpaddr, objfile);
+				new->start_addr, tmpaddr);
 		}
 	      /* Now pop locals of block just finished.  */
 	      local_symbols = new->locals;
@@ -1206,8 +1199,13 @@ coff_symtab_read (long symtab_offset, un
 
   /* Patch up any opaque types (references to types that are not defined
      in the file where they are referenced, e.g. "struct foo *bar").  */
-  ALL_OBJFILE_SYMTABS (objfile, s)
-    patch_opaque_types (s);
+  {
+    struct compunit_symtab *cu;
+    struct symtab *s;
+
+    ALL_OBJFILE_FILETABS (objfile, cu, s)
+      patch_opaque_types (s);
+  }
 
   coffread_objfile = NULL;
 }
@@ -1550,7 +1548,7 @@ patch_opaque_types (struct symtab *s)
   struct symbol *real_sym;
 
   /* Go through the per-file symbols only.  */
-  b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK);
+  b = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (s), STATIC_BLOCK);
   ALL_BLOCK_SYMBOLS (b, iter, real_sym)
     {
       /* Find completed typedefs to use to fix opaque ones.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/command.h ./gdb/command.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/command.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/command.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Header file for command creation.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -113,6 +113,8 @@ var_types;
 /* This structure records one command'd definition.  */
 struct cmd_list_element;
 
+typedef void cmd_cfunc_ftype (char *args, int from_tty);
+
 /* Forward-declarations of the entry-points of cli/cli-decode.c.  */
 
 /* API to the manipulation of command lists.  */
@@ -120,7 +122,8 @@ struct cmd_list_element;
 extern int valid_user_defined_cmd_name_p (const char *name);
 
 extern struct cmd_list_element *add_cmd (const char *, enum command_class,
-					 void (*fun) (char *, int), char *,
+					 cmd_cfunc_ftype *fun,
+					 const char *,
 					 struct cmd_list_element **);
 
 extern struct cmd_list_element *add_alias_cmd (const char *, const char *,
@@ -128,25 +131,23 @@ extern struct cmd_list_element *add_alia
 					       struct cmd_list_element **);
 
 extern struct cmd_list_element *add_prefix_cmd (const char *, enum command_class,
-						void (*fun) (char *, int),
-						char *,
+						cmd_cfunc_ftype *fun,
+						const char *,
 						struct cmd_list_element **,
-						char *, int,
+						const char *, int,
 						struct cmd_list_element **);
 
 extern struct cmd_list_element *add_abbrev_prefix_cmd (const char *,
 						       enum command_class,
-						       void (*fun) (char *,
-								    int),
-						       char *,
+						       cmd_cfunc_ftype *fun,
+						       const char *,
 						       struct cmd_list_element
-						       **, char *, int,
+						       **, const char *, int,
 						       struct cmd_list_element
 						       **);
 
 /* Set the commands corresponding callback.  */
 
-typedef void cmd_cfunc_ftype (char *args, int from_tty);
 extern void set_cmd_cfunc (struct cmd_list_element *cmd,
 			   cmd_cfunc_ftype *cfunc);
 
@@ -158,12 +159,20 @@ extern void set_cmd_sfunc (struct cmd_li
 typedef VEC (char_ptr) *completer_ftype (struct cmd_list_element *,
 					 const char *, const char *);
 
+typedef void completer_ftype_void (struct cmd_list_element *,
+				   const char *, const char *);
+
 extern void set_cmd_completer (struct cmd_list_element *, completer_ftype *);
 
+/* Set the completer_handle_brkchars callback.  */
+
+extern void set_cmd_completer_handle_brkchars (struct cmd_list_element *,
+					       completer_ftype_void *);
+
 /* HACK: cagney/2002-02-23: Code, mostly in tracepoints.c, grubs
    around in cmd objects to test the value of the commands sfunc().  */
 extern int cmd_cfunc_eq (struct cmd_list_element *cmd,
-			 void (*cfunc) (char *args, int from_tty));
+			 cmd_cfunc_ftype *cfun);
 
 /* Each command object has a local context attached to it.  */
 extern void set_cmd_context (struct cmd_list_element *cmd,
@@ -193,7 +202,7 @@ extern struct cmd_list_element *lookup_c
 					      int);
 
 extern struct cmd_list_element *deprecate_cmd (struct cmd_list_element *,
-					       char * );
+					       const char * );
 
 extern void deprecated_cmd_warning (const char *);
 
@@ -203,17 +212,18 @@ extern int lookup_cmd_composition (const
 				   struct cmd_list_element **cmd);
 
 extern struct cmd_list_element *add_com (const char *, enum command_class,
-					 void (*fun) (char *, int),
-					 char *);
+					 cmd_cfunc_ftype *fun,
+					 const char *);
 
 extern struct cmd_list_element *add_com_alias (const char *, const char *,
 					       enum command_class, int);
 
 extern struct cmd_list_element *add_info (const char *,
-					  void (*fun) (char *, int),
-					  char *);
+					  cmd_cfunc_ftype *fun,
+					  const char *);
 
-extern struct cmd_list_element *add_info_alias (const char *, char *, int);
+extern struct cmd_list_element *add_info_alias (const char *, const char *,
+						int);
 
 extern VEC (char_ptr) *complete_on_cmdlist (struct cmd_list_element *,
 					    const char *, const char *, int);
@@ -223,7 +233,7 @@ extern VEC (char_ptr) *complete_on_enum 
 
 /* Functions that implement commands about CLI commands.  */
 
-extern void help_list (struct cmd_list_element *, char *,
+extern void help_list (struct cmd_list_element *, const char *,
 		       enum command_class, struct ui_file *);
 
 /* Method for show a set/show variable's VALUE on FILE.  If this
@@ -373,12 +383,12 @@ extern void
 
 /* Do a "show" command for each thing on a command list.  */
 
-extern void cmd_show_list (struct cmd_list_element *, int, char *);
+extern void cmd_show_list (struct cmd_list_element *, int, const char *);
 
 /* Used everywhere whenever at least one parameter is required and
    none is specified.  */
 
-extern void error_no_arg (char *) ATTRIBUTE_NORETURN;
+extern void error_no_arg (const char *) ATTRIBUTE_NORETURN;
 
 extern void dont_repeat (void);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/agent.c ./gdb/common/agent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/agent.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/agent.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Shared utility routines for GDB to interact with agent.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,31 +17,30 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#include "target.h"
-#include "infrun.h"
-#include "objfiles.h"
-#endif
-
-#include <string.h>
+#include "common-defs.h"
+#include "target/target.h"
+#include "common/symbol.h"
 #include <unistd.h>
 #include "agent.h"
 #include "filestuff.h"
 
 int debug_agent = 0;
 
-#ifdef GDBSERVER
-#define DEBUG_AGENT(fmt, args...)	\
-  if (debug_agent)			\
-    fprintf (stderr, fmt, ##args);
-#else
-#define DEBUG_AGENT(fmt, args...)	\
-  if (debug_agent)			\
-    fprintf_unfiltered (gdb_stdlog, fmt, ##args);
-#endif
+/* A stdarg wrapper for debug_vprintf.  */
+
+static void ATTRIBUTE_PRINTF (1, 2)
+debug_agent_printf (const char *fmt, ...)
+{
+  va_list ap;
+
+  if (!debug_agent)
+    return;
+  va_start (ap, fmt);
+  debug_vprintf (fmt, ap);
+  va_end (ap);
+}
+
+#define DEBUG_AGENT debug_agent_printf
 
 /* Global flag to determine using agent or not.  */
 int use_agent = 0;
@@ -58,7 +57,7 @@ struct ipa_sym_addresses
 
 /* Cache of the helper thread id.  FIXME: this global should be made
    per-process.  */
-static unsigned int helper_thread_id = 0;
+static uint32_t helper_thread_id = 0;
 
 static struct
 {
@@ -95,18 +94,9 @@ agent_look_up_symbols (void *arg)
     {
       CORE_ADDR *addrp =
 	(CORE_ADDR *) ((char *) &ipa_sym_addrs + symbol_list[i].offset);
-#ifdef GDBSERVER
 
-      if (look_up_one_symbol (symbol_list[i].name, addrp, 1) == 0)
-#else
-      struct bound_minimal_symbol sym =
-	lookup_minimal_symbol (symbol_list[i].name, NULL,
-			       (struct objfile *) arg);
-
-      if (sym.minsym != NULL)
-	*addrp = BMSYMBOL_VALUE_ADDRESS (sym);
-      else
-#endif
+      if (find_minimal_symbol_address (symbol_list[i].name, addrp,
+				       arg) != 0)
 	{
 	  DEBUG_AGENT ("symbol `%s' not found\n", symbol_list[i].name);
 	  return -1;
@@ -122,23 +112,9 @@ agent_get_helper_thread_id (void)
 {
   if  (helper_thread_id == 0)
     {
-#ifdef GDBSERVER
-      if (read_inferior_memory (ipa_sym_addrs.addr_helper_thread_id,
-				(unsigned char *) &helper_thread_id,
-				sizeof helper_thread_id))
-#else
-      enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-      gdb_byte buf[4];
-
-      if (target_read_memory (ipa_sym_addrs.addr_helper_thread_id,
-			      buf, sizeof buf) == 0)
-	helper_thread_id = extract_unsigned_integer (buf, sizeof buf,
-						     byte_order);
-      else
-#endif
-	{
-	  warning (_("Error reading helper thread's id in lib"));
-	}
+      if (target_read_uint32 (ipa_sym_addrs.addr_helper_thread_id,
+			      &helper_thread_id))
+	warning (_("Error reading helper thread's id in lib"));
     }
 
   return helper_thread_id;
@@ -216,13 +192,8 @@ agent_run_command (int pid, const char *
   int tid = agent_get_helper_thread_id ();
   ptid_t ptid = ptid_build (pid, tid, 0);
 
-#ifdef GDBSERVER
-  int ret = write_inferior_memory (ipa_sym_addrs.addr_cmd_buf,
-				   (const unsigned char *) cmd, len);
-#else
   int ret = target_write_memory (ipa_sym_addrs.addr_cmd_buf,
 				 (gdb_byte *) cmd, len);
-#endif
 
   if (ret != 0)
     {
@@ -233,18 +204,7 @@ agent_run_command (int pid, const char *
   DEBUG_AGENT ("agent: resumed helper thread\n");
 
   /* Resume helper thread.  */
-#ifdef GDBSERVER
-{
-  struct thread_resume resume_info;
-
-  resume_info.thread = ptid;
-  resume_info.kind = resume_continue;
-  resume_info.sig = GDB_SIGNAL_0;
-  (*the_target->resume) (&resume_info, 1);
-}
-#else
- target_resume (ptid, 0, GDB_SIGNAL_0);
-#endif
+  target_continue_no_signal (ptid);
 
   fd = gdb_connect_sync_socket (pid);
   if (fd >= 0)
@@ -276,41 +236,15 @@ agent_run_command (int pid, const char *
   /* Need to read response with the inferior stopped.  */
   if (!ptid_equal (ptid, null_ptid))
     {
-      struct target_waitstatus status;
-      int was_non_stop = non_stop;
       /* Stop thread PTID.  */
       DEBUG_AGENT ("agent: stop helper thread\n");
-#ifdef GDBSERVER
-      {
-	struct thread_resume resume_info;
-
-	resume_info.thread = ptid;
-	resume_info.kind = resume_stop;
-	resume_info.sig = GDB_SIGNAL_0;
-	(*the_target->resume) (&resume_info, 1);
-      }
-
-      non_stop = 1;
-      mywait (ptid, &status, 0, 0);
-#else
-      non_stop = 1;
-      target_stop (ptid);
-
-      memset (&status, 0, sizeof (status));
-      target_wait (ptid, &status, 0);
-#endif
-      non_stop = was_non_stop;
+      target_stop_and_wait (ptid);
     }
 
   if (fd >= 0)
     {
-#ifdef GDBSERVER
-      if (read_inferior_memory (ipa_sym_addrs.addr_cmd_buf,
-				(unsigned char *) cmd, IPA_CMD_BUF_SIZE))
-#else
       if (target_read_memory (ipa_sym_addrs.addr_cmd_buf, (gdb_byte *) cmd,
 			      IPA_CMD_BUF_SIZE))
-#endif
 	{
 	  warning (_("Error reading command response"));
 	  return -1;
@@ -321,7 +255,7 @@ agent_run_command (int pid, const char *
 }
 
 /* Each bit of it stands for a capability of agent.  */
-static unsigned int agent_capability = 0;
+static uint32_t agent_capability = 0;
 
 /* Return true if agent has capability AGENT_CAP, otherwise return false.  */
 
@@ -330,20 +264,8 @@ agent_capability_check (enum agent_capa 
 {
   if (agent_capability == 0)
     {
-#ifdef GDBSERVER
-      if (read_inferior_memory (ipa_sym_addrs.addr_capability,
-				(unsigned char *) &agent_capability,
-				sizeof agent_capability))
-#else
-      enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-      gdb_byte buf[4];
-
-      if (target_read_memory (ipa_sym_addrs.addr_capability,
-			      buf, sizeof buf) == 0)
-	agent_capability = extract_unsigned_integer (buf, sizeof buf,
-						     byte_order);
-      else
-#endif
+      if (target_read_uint32 (ipa_sym_addrs.addr_capability,
+			      &agent_capability))
 	warning (_("Error reading capability of agent"));
     }
   return agent_capability & agent_capa;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/agent.h ./gdb/common/agent.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/agent.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/agent.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Shared utility routines for GDB to interact with agent.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/ax.def ./gdb/common/ax.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/ax.def	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/ax.def	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definition of agent opcode values.   -*- c -*-
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/break-common.h ./gdb/common/break-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/break-common.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/break-common.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Data structures associated with breakpoints shared in both GDB and
    GDBserver.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/btrace-common.h ./gdb/common/btrace-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/btrace-common.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/btrace-common.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Branch trace support for GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>.
 
@@ -26,12 +26,6 @@
    inferior.  For presentation purposes, the branch trace is represented as a
    list of sequential control-flow blocks, one such list per thread.  */
 
-#ifdef GDBSERVER
-#  include "server.h"
-#else
-#  include "defs.h"
-#endif
-
 #include "vec.h"
 
 /* A branch trace block.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/buffer.c ./gdb/common/buffer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/buffer.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/buffer.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* A simple growing buffer for GDB.
   
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,19 +17,10 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
+#include "common-defs.h"
 #include "xml-utils.h"
 #include "buffer.h"
 #include "inttypes.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
 #include <stdint.h>
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/buffer.h ./gdb/common/buffer.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/buffer.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/buffer.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* A simple growing buffer for GDB.
   
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,10 +20,6 @@
 #ifndef BUFFER_H
 #define BUFFER_H
 
-#include <stddef.h>
-#include <string.h>
-#include "ansidecl.h"
-
 struct buffer
 {
   char *buffer;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/cleanups.c ./gdb/common/cleanups.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/cleanups.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/cleanups.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,297 @@
+/* Cleanup routines for GDB, the GNU debugger.
+
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "cleanups.h"
+
+/* The cleanup list records things that have to be undone
+   if an error happens (descriptors to be closed, memory to be freed, etc.)
+   Each link in the chain records a function to call and an
+   argument to give it.
+
+   Use make_cleanup to add an element to the cleanup chain.
+   Use do_cleanups to do all cleanup actions back to a given
+   point in the chain.  Use discard_cleanups to remove cleanups
+   from the chain back to a given point, not doing them.
+
+   If the argument is pointer to allocated memory, then you need
+   to additionally set the 'free_arg' member to a function that will
+   free that memory.  This function will be called both when the cleanup
+   is executed and when it's discarded.  */
+
+struct cleanup
+{
+  struct cleanup *next;
+  void (*function) (void *);
+  void (*free_arg) (void *);
+  void *arg;
+};
+
+/* Used to mark the end of a cleanup chain.
+   The value is chosen so that it:
+   - is non-NULL so that make_cleanup never returns NULL,
+   - causes a segv if dereferenced
+     [though this won't catch errors that a value of, say,
+     ((struct cleanup *) -1) will]
+   - displays as something useful when printed in gdb.
+   This is const for a bit of extra robustness.
+   It is initialized to coax gcc into putting it into .rodata.
+   All fields are initialized to survive -Wextra.  */
+static const struct cleanup sentinel_cleanup = { 0, 0, 0, 0 };
+
+/* Handy macro to use when referring to sentinel_cleanup.  */
+#define SENTINEL_CLEANUP ((struct cleanup *) &sentinel_cleanup)
+
+/* Chain of cleanup actions established with make_cleanup,
+   to be executed if an error happens.  */
+static struct cleanup *cleanup_chain = SENTINEL_CLEANUP;
+
+/* Chain of cleanup actions established with make_final_cleanup,
+   to be executed when gdb exits.  */
+static struct cleanup *final_cleanup_chain = SENTINEL_CLEANUP;
+
+/* Main worker routine to create a cleanup.
+   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
+   FUNCTION is the function to call to perform the cleanup.
+   ARG is passed to FUNCTION when called.
+   FREE_ARG, if non-NULL, is called after the cleanup is performed.
+
+   The result is a pointer to the previous chain pointer
+   to be passed later to do_cleanups or discard_cleanups.  */
+
+static struct cleanup *
+make_my_cleanup2 (struct cleanup **pmy_chain, make_cleanup_ftype *function,
+		  void *arg,  void (*free_arg) (void *))
+{
+  struct cleanup *new
+    = (struct cleanup *) xmalloc (sizeof (struct cleanup));
+  struct cleanup *old_chain = *pmy_chain;
+
+  new->next = *pmy_chain;
+  new->function = function;
+  new->free_arg = free_arg;
+  new->arg = arg;
+  *pmy_chain = new;
+
+  gdb_assert (old_chain != NULL);
+  return old_chain;
+}
+
+/* Worker routine to create a cleanup without a destructor.
+   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
+   FUNCTION is the function to call to perform the cleanup.
+   ARG is passed to FUNCTION when called.
+
+   The result is a pointer to the previous chain pointer
+   to be passed later to do_cleanups or discard_cleanups.  */
+
+static struct cleanup *
+make_my_cleanup (struct cleanup **pmy_chain, make_cleanup_ftype *function,
+		 void *arg)
+{
+  return make_my_cleanup2 (pmy_chain, function, arg, NULL);
+}
+
+/* Add a new cleanup to the cleanup_chain,
+   and return the previous chain pointer
+   to be passed later to do_cleanups or discard_cleanups.
+   Args are FUNCTION to clean up with, and ARG to pass to it.  */
+
+struct cleanup *
+make_cleanup (make_cleanup_ftype *function, void *arg)
+{
+  return make_my_cleanup (&cleanup_chain, function, arg);
+}
+
+/* Same as make_cleanup except also includes DTOR, a destructor to free ARG.
+   DTOR is invoked when the cleanup is performed or when it is discarded.  */
+
+struct cleanup *
+make_cleanup_dtor (make_cleanup_ftype *function, void *arg,
+		   make_cleanup_dtor_ftype *dtor)
+{
+  return make_my_cleanup2 (&cleanup_chain,
+			   function, arg, dtor);
+}
+
+/* Same as make_cleanup except the cleanup is added to final_cleanup_chain.  */
+
+struct cleanup *
+make_final_cleanup (make_cleanup_ftype *function, void *arg)
+{
+  return make_my_cleanup (&final_cleanup_chain, function, arg);
+}
+
+/* Worker routine to perform cleanups.
+   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
+   OLD_CHAIN is the result of a "make" cleanup routine.
+   Cleanups are performed until we get back to the old end of the chain.  */
+
+static void
+do_my_cleanups (struct cleanup **pmy_chain,
+		struct cleanup *old_chain)
+{
+  struct cleanup *ptr;
+
+  while ((ptr = *pmy_chain) != old_chain)
+    {
+      *pmy_chain = ptr->next;	/* Do this first in case of recursion.  */
+      (*ptr->function) (ptr->arg);
+      if (ptr->free_arg)
+	(*ptr->free_arg) (ptr->arg);
+      xfree (ptr);
+    }
+}
+
+/* Return a value that can be passed to do_cleanups, do_final_cleanups to
+   indicate perform all cleanups.  */
+
+struct cleanup *
+all_cleanups (void)
+{
+  return SENTINEL_CLEANUP;
+}
+
+/* Discard cleanups and do the actions they describe
+   until we get back to the point OLD_CHAIN in the cleanup_chain.  */
+
+void
+do_cleanups (struct cleanup *old_chain)
+{
+  do_my_cleanups (&cleanup_chain, old_chain);
+}
+
+/* Discard cleanups and do the actions they describe
+   until we get back to the point OLD_CHAIN in the final_cleanup_chain.  */
+
+void
+do_final_cleanups (struct cleanup *old_chain)
+{
+  do_my_cleanups (&final_cleanup_chain, old_chain);
+}
+
+/* Main worker routine to discard cleanups.
+   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
+   OLD_CHAIN is the result of a "make" cleanup routine.
+   Cleanups are discarded until we get back to the old end of the chain.  */
+
+static void
+discard_my_cleanups (struct cleanup **pmy_chain,
+		     struct cleanup *old_chain)
+{
+  struct cleanup *ptr;
+
+  while ((ptr = *pmy_chain) != old_chain)
+    {
+      *pmy_chain = ptr->next;
+      if (ptr->free_arg)
+	(*ptr->free_arg) (ptr->arg);
+      xfree (ptr);
+    }
+}
+
+/* Discard cleanups, not doing the actions they describe,
+   until we get back to the point OLD_CHAIN in the cleanup chain.  */
+
+void
+discard_cleanups (struct cleanup *old_chain)
+{
+  discard_my_cleanups (&cleanup_chain, old_chain);
+}
+
+/* Discard final cleanups, not doing the actions they describe,
+   until we get back to the point OLD_CHAIN in the final cleanup chain.  */
+
+void
+discard_final_cleanups (struct cleanup *old_chain)
+{
+  discard_my_cleanups (&final_cleanup_chain, old_chain);
+}
+
+/* Main worker routine to save cleanups.
+   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
+   The chain is emptied and the result is a pointer to the old chain.  */
+
+static struct cleanup *
+save_my_cleanups (struct cleanup **pmy_chain)
+{
+  struct cleanup *old_chain = *pmy_chain;
+
+  *pmy_chain = SENTINEL_CLEANUP;
+  return old_chain;
+}
+
+/* Set the cleanup_chain to 0, and return the old cleanup_chain.  */
+
+struct cleanup *
+save_cleanups (void)
+{
+  return save_my_cleanups (&cleanup_chain);
+}
+
+/* Set the final_cleanup_chain to 0, and return the old
+   final_cleanup_chain.  */
+
+struct cleanup *
+save_final_cleanups (void)
+{
+  return save_my_cleanups (&final_cleanup_chain);
+}
+
+/* Main worker routine to save cleanups.
+   PMY_CHAIN is a pointer to either cleanup_chain or final_cleanup_chain.
+   The chain is restored from CHAIN.  */
+
+static void
+restore_my_cleanups (struct cleanup **pmy_chain, struct cleanup *chain)
+{
+  if (*pmy_chain != SENTINEL_CLEANUP)
+    internal_warning (__FILE__, __LINE__,
+		      _("restore_my_cleanups has found a stale cleanup"));
+
+  *pmy_chain = chain;
+}
+
+/* Restore the cleanup chain from a previously saved chain.  */
+
+void
+restore_cleanups (struct cleanup *chain)
+{
+  restore_my_cleanups (&cleanup_chain, chain);
+}
+
+/* Restore the final cleanup chain from a previously saved chain.  */
+
+void
+restore_final_cleanups (struct cleanup *chain)
+{
+  restore_my_cleanups (&final_cleanup_chain, chain);
+}
+
+/* Provide a known function that does nothing, to use as a base for
+   a possibly long chain of cleanups.  This is useful where we
+   use the cleanup chain for handling normal cleanups as well as dealing
+   with cleanups that need to be done as a result of a call to error().
+   In such cases, we may not be certain where the first cleanup is, unless
+   we have a do-nothing one to always use as the base.  */
+
+void
+null_cleanup (void *arg)
+{
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/cleanups.h ./gdb/common/cleanups.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/cleanups.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/cleanups.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,69 @@
+/* Cleanups.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef CLEANUPS_H
+#define CLEANUPS_H
+
+/* Outside of cleanups.c, this is an opaque type.  */
+struct cleanup;
+
+/* NOTE: cagney/2000-03-04: This typedef is strictly for the
+   make_cleanup function declarations below.  Do not use this typedef
+   as a cast when passing functions into the make_cleanup() code.
+   Instead either use a bounce function or add a wrapper function.
+   Calling a f(char*) function with f(void*) is non-portable.  */
+typedef void (make_cleanup_ftype) (void *);
+
+/* Function type for the dtor in make_cleanup_dtor.  */
+typedef void (make_cleanup_dtor_ftype) (void *);
+
+/* WARNING: The result of the "make cleanup" routines is not the intuitive
+   choice of being a handle on the just-created cleanup.  Instead it is an
+   opaque handle of the cleanup mechanism and represents all cleanups created
+   from that point onwards.
+   The result is guaranteed to be non-NULL though.  */
+
+extern struct cleanup *make_cleanup (make_cleanup_ftype *, void *);
+
+extern struct cleanup *make_cleanup_dtor (make_cleanup_ftype *, void *,
+					  make_cleanup_dtor_ftype *);
+
+extern struct cleanup *make_final_cleanup (make_cleanup_ftype *, void *);
+
+/* A special value to pass to do_cleanups and do_final_cleanups
+   to tell them to do all cleanups.  */
+extern struct cleanup *all_cleanups (void);
+
+extern void do_cleanups (struct cleanup *);
+extern void do_final_cleanups (struct cleanup *);
+
+extern void discard_cleanups (struct cleanup *);
+extern void discard_final_cleanups (struct cleanup *);
+
+extern struct cleanup *save_cleanups (void);
+extern struct cleanup *save_final_cleanups (void);
+
+extern void restore_cleanups (struct cleanup *);
+extern void restore_final_cleanups (struct cleanup *);
+
+/* A no-op cleanup.
+   This is useful when you want to establish a known reference point
+   to pass to do_cleanups.  */
+extern void null_cleanup (void *);
+
+#endif /* CLEANUPS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-debug.c ./gdb/common/common-debug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-debug.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/common-debug.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,37 @@
+/* Debug printing functions.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "common-debug.h"
+
+/* See common/common-debug.h.  */
+
+int show_debug_regs;
+
+/* See common/common-debug.h.  */
+
+void
+debug_printf (const char *fmt, ...)
+{
+  va_list ap;
+
+  va_start (ap, fmt);
+  debug_vprintf (fmt, ap);
+  va_end (ap);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-debug.h ./gdb/common/common-debug.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-debug.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/common-debug.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,41 @@
+/* Declarations for debug printing functions.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_DEBUG_H
+#define COMMON_DEBUG_H
+
+/* Set to nonzero to enable debugging of hardware breakpoint/
+   watchpoint support code.  */
+
+extern int show_debug_regs;
+
+/* Print a formatted message to the appropriate channel for
+   debugging output for the client.  */
+
+extern void debug_printf (const char *format, ...)
+     ATTRIBUTE_PRINTF (1, 2);
+
+/* Print a formatted message to the appropriate channel for
+   debugging output for the client.  This function must be
+   provided by the client.  */
+
+extern void debug_vprintf (const char *format, va_list ap)
+     ATTRIBUTE_PRINTF (1, 0);
+
+#endif /* COMMON_DEBUG_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-defs.h ./gdb/common/common-defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-defs.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/common-defs.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,52 @@
+/* Common definitions.
+
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_DEFS_H
+#define COMMON_DEFS_H
+
+#include "config.h"
+#ifdef GDBSERVER
+#include "build-gnulib-gdbserver/config.h"
+#else
+#include "build-gnulib/config.h"
+#endif
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <string.h>
+#include <errno.h>
+#include <alloca.h>
+#include "ansidecl.h"
+#include "libiberty.h"
+#include "pathmax.h"
+#include "gdb/signals.h"
+#include "gdb_locale.h"
+#include "ptid.h"
+#include "common-utils.h"
+#include "gdb_assert.h"
+#include "errors.h"
+#include "common-types.h"
+#include "print-utils.h"
+#include "common-debug.h"
+#include "cleanups.h"
+#include "common-exceptions.h"
+
+#endif /* COMMON_DEFS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-exceptions.c ./gdb/common/common-exceptions.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-exceptions.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/common-exceptions.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,307 @@
+/* Exception (throw catch) mechanism, for GDB, the GNU debugger.
+
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "common-exceptions.h"
+
+/* Possible catcher states.  */
+enum catcher_state {
+  /* Initial state, a new catcher has just been created.  */
+  CATCHER_CREATED,
+  /* The catch code is running.  */
+  CATCHER_RUNNING,
+  CATCHER_RUNNING_1,
+  /* The catch code threw an exception.  */
+  CATCHER_ABORTING
+};
+
+/* Possible catcher actions.  */
+enum catcher_action {
+  CATCH_ITER,
+  CATCH_ITER_1,
+  CATCH_THROWING
+};
+
+struct catcher
+{
+  enum catcher_state state;
+  /* Jump buffer pointing back at the exception handler.  */
+  SIGJMP_BUF buf;
+  /* Status buffer belonging to the exception handler.  */
+  volatile struct gdb_exception *exception;
+  /* Saved/current state.  */
+  int mask;
+  struct cleanup *saved_cleanup_chain;
+  /* Back link.  */
+  struct catcher *prev;
+};
+
+/* Where to go for throw_exception().  */
+static struct catcher *current_catcher;
+
+/* Return length of current_catcher list.  */
+
+static int
+catcher_list_size (void)
+{
+  int size;
+  struct catcher *catcher;
+
+  for (size = 0, catcher = current_catcher;
+       catcher != NULL;
+       catcher = catcher->prev)
+    ++size;
+
+  return size;
+}
+
+SIGJMP_BUF *
+exceptions_state_mc_init (volatile struct gdb_exception *exception,
+			  return_mask mask)
+{
+  struct catcher *new_catcher = XCNEW (struct catcher);
+
+  /* Start with no exception, save it's address.  */
+  exception->reason = 0;
+  exception->error = GDB_NO_ERROR;
+  exception->message = NULL;
+  new_catcher->exception = exception;
+
+  new_catcher->mask = mask;
+
+  /* Prevent error/quit during FUNC from calling cleanups established
+     prior to here.  */
+  new_catcher->saved_cleanup_chain = save_cleanups ();
+
+  /* Push this new catcher on the top.  */
+  new_catcher->prev = current_catcher;
+  current_catcher = new_catcher;
+  new_catcher->state = CATCHER_CREATED;
+
+  return &new_catcher->buf;
+}
+
+static void
+catcher_pop (void)
+{
+  struct catcher *old_catcher = current_catcher;
+
+  current_catcher = old_catcher->prev;
+
+  /* Restore the cleanup chain, the error/quit messages, and the uiout
+     builder, to their original states.  */
+
+  restore_cleanups (old_catcher->saved_cleanup_chain);
+
+  xfree (old_catcher);
+}
+
+/* Catcher state machine.  Returns non-zero if the m/c should be run
+   again, zero if it should abort.  */
+
+static int
+exceptions_state_mc (enum catcher_action action)
+{
+  switch (current_catcher->state)
+    {
+    case CATCHER_CREATED:
+      switch (action)
+	{
+	case CATCH_ITER:
+	  /* Allow the code to run the catcher.  */
+	  current_catcher->state = CATCHER_RUNNING;
+	  return 1;
+	default:
+	  internal_error (__FILE__, __LINE__, _("bad state"));
+	}
+    case CATCHER_RUNNING:
+      switch (action)
+	{
+	case CATCH_ITER:
+	  /* No error/quit has occured.  Just clean up.  */
+	  catcher_pop ();
+	  return 0;
+	case CATCH_ITER_1:
+	  current_catcher->state = CATCHER_RUNNING_1;
+	  return 1;
+	case CATCH_THROWING:
+	  current_catcher->state = CATCHER_ABORTING;
+	  /* See also throw_exception.  */
+	  return 1;
+	default:
+	  internal_error (__FILE__, __LINE__, _("bad switch"));
+	}
+    case CATCHER_RUNNING_1:
+      switch (action)
+	{
+	case CATCH_ITER:
+	  /* The did a "break" from the inner while loop.  */
+	  catcher_pop ();
+	  return 0;
+	case CATCH_ITER_1:
+	  current_catcher->state = CATCHER_RUNNING;
+	  return 0;
+	case CATCH_THROWING:
+	  current_catcher->state = CATCHER_ABORTING;
+	  /* See also throw_exception.  */
+	  return 1;
+	default:
+	  internal_error (__FILE__, __LINE__, _("bad switch"));
+	}
+    case CATCHER_ABORTING:
+      switch (action)
+	{
+	case CATCH_ITER:
+	  {
+	    struct gdb_exception exception = *current_catcher->exception;
+
+	    if (current_catcher->mask & RETURN_MASK (exception.reason))
+	      {
+		/* Exit normally if this catcher can handle this
+		   exception.  The caller analyses the func return
+		   values.  */
+		catcher_pop ();
+		return 0;
+	      }
+	    /* The caller didn't request that the event be caught,
+	       relay the event to the next containing
+	       catch_errors().  */
+	    catcher_pop ();
+	    throw_exception (exception);
+	  }
+	default:
+	  internal_error (__FILE__, __LINE__, _("bad state"));
+	}
+    default:
+      internal_error (__FILE__, __LINE__, _("bad switch"));
+    }
+}
+
+int
+exceptions_state_mc_action_iter (void)
+{
+  return exceptions_state_mc (CATCH_ITER);
+}
+
+int
+exceptions_state_mc_action_iter_1 (void)
+{
+  return exceptions_state_mc (CATCH_ITER_1);
+}
+
+/* Return EXCEPTION to the nearest containing catch_errors().  */
+
+void
+throw_exception (struct gdb_exception exception)
+{
+  prepare_to_throw_exception ();
+
+  do_cleanups (all_cleanups ());
+
+  /* Jump to the containing catch_errors() call, communicating REASON
+     to that call via setjmp's return value.  Note that REASON can't
+     be zero, by definition in defs.h.  */
+  exceptions_state_mc (CATCH_THROWING);
+  *current_catcher->exception = exception;
+  SIGLONGJMP (current_catcher->buf, exception.reason);
+}
+
+/* A stack of exception messages.
+   This is needed to handle nested calls to throw_it: we don't want to
+   xfree space for a message before it's used.
+   This can happen if we throw an exception during a cleanup:
+   An outer TRY_CATCH may have an exception message it wants to print,
+   but while doing cleanups further calls to throw_it are made.
+
+   This is indexed by the size of the current_catcher list.
+   It is a dynamically allocated array so that we don't care how deeply
+   GDB nests its TRY_CATCHs.  */
+static char **exception_messages;
+
+/* The number of currently allocated entries in exception_messages.  */
+static int exception_messages_size;
+
+static void ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0)
+throw_it (enum return_reason reason, enum errors error, const char *fmt,
+	  va_list ap)
+{
+  struct gdb_exception e;
+  char *new_message;
+  int depth = catcher_list_size ();
+
+  gdb_assert (depth > 0);
+
+  /* Note: The new message may use an old message's text.  */
+  new_message = xstrvprintf (fmt, ap);
+
+  if (depth > exception_messages_size)
+    {
+      int old_size = exception_messages_size;
+
+      exception_messages_size = depth + 10;
+      exception_messages = (char **) xrealloc (exception_messages,
+					       exception_messages_size
+					       * sizeof (char *));
+      memset (exception_messages + old_size, 0,
+	      (exception_messages_size - old_size) * sizeof (char *));
+    }
+
+  xfree (exception_messages[depth - 1]);
+  exception_messages[depth - 1] = new_message;
+
+  /* Create the exception.  */
+  e.reason = reason;
+  e.error = error;
+  e.message = new_message;
+
+  /* Throw the exception.  */
+  throw_exception (e);
+}
+
+void
+throw_verror (enum errors error, const char *fmt, va_list ap)
+{
+  throw_it (RETURN_ERROR, error, fmt, ap);
+}
+
+void
+throw_vquit (const char *fmt, va_list ap)
+{
+  throw_it (RETURN_QUIT, GDB_NO_ERROR, fmt, ap);
+}
+
+void
+throw_error (enum errors error, const char *fmt, ...)
+{
+  va_list args;
+
+  va_start (args, fmt);
+  throw_verror (error, fmt, args);
+  va_end (args);
+}
+
+void
+throw_quit (const char *fmt, ...)
+{
+  va_list args;
+
+  va_start (args, fmt);
+  throw_vquit (fmt, args);
+  va_end (args);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-exceptions.h ./gdb/common/common-exceptions.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-exceptions.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/common-exceptions.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,185 @@
+/* Exception (throw catch) mechanism, for GDB, the GNU debugger.
+
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_EXCEPTIONS_H
+#define COMMON_EXCEPTIONS_H
+
+#include "gdb_setjmp.h"
+
+/* Reasons for calling throw_exceptions().  NOTE: all reason values
+   must be less than zero.  enum value 0 is reserved for internal use
+   as the return value from an initial setjmp().  The function
+   catch_exceptions() reserves values >= 0 as legal results from its
+   wrapped function.  */
+
+enum return_reason
+  {
+    /* User interrupt.  */
+    RETURN_QUIT = -2,
+    /* Any other error.  */
+    RETURN_ERROR
+  };
+
+#define RETURN_MASK(reason)	(1 << (int)(-reason))
+
+typedef enum
+{
+  RETURN_MASK_QUIT = RETURN_MASK (RETURN_QUIT),
+  RETURN_MASK_ERROR = RETURN_MASK (RETURN_ERROR),
+  RETURN_MASK_ALL = (RETURN_MASK_QUIT | RETURN_MASK_ERROR)
+} return_mask;
+
+/* Describe all exceptions.  */
+
+enum errors {
+  GDB_NO_ERROR,
+
+  /* Any generic error, the corresponding text is in
+     exception.message.  */
+  GENERIC_ERROR,
+
+  /* Something requested was not found.  */
+  NOT_FOUND_ERROR,
+
+  /* Thread library lacks support necessary for finding thread local
+     storage.  */
+  TLS_NO_LIBRARY_SUPPORT_ERROR,
+
+  /* Load module not found while attempting to find thread local storage.  */
+  TLS_LOAD_MODULE_NOT_FOUND_ERROR,
+
+  /* Thread local storage has not been allocated yet.  */
+  TLS_NOT_ALLOCATED_YET_ERROR,
+
+  /* Something else went wrong while attempting to find thread local
+     storage.  The ``struct gdb_exception'' message field provides
+     more detail.  */
+  TLS_GENERIC_ERROR,
+
+  /* Problem parsing an XML document.  */
+  XML_PARSE_ERROR,
+
+  /* Error accessing memory.  */
+  MEMORY_ERROR,
+
+  /* Value not available.  E.g., a register was not collected in a
+     traceframe.  */
+  NOT_AVAILABLE_ERROR,
+
+  /* Value was optimized out.  Note: if the value was a register, this
+     means the register was not saved in the frame.  */
+  OPTIMIZED_OUT_ERROR,
+
+  /* DW_OP_GNU_entry_value resolving failed.  */
+  NO_ENTRY_VALUE_ERROR,
+
+  /* Target throwing an error has been closed.  Current command should be
+     aborted as the inferior state is no longer valid.  */
+  TARGET_CLOSE_ERROR,
+
+  /* An undefined command was executed.  */
+  UNDEFINED_COMMAND_ERROR,
+
+  /* Requested feature, method, mechanism, etc. is not supported.  */
+  NOT_SUPPORTED_ERROR,
+
+  /* Add more errors here.  */
+  NR_ERRORS
+};
+
+struct gdb_exception
+{
+  enum return_reason reason;
+  enum errors error;
+  const char *message;
+};
+
+/* Functions to drive the exceptions state machine.  Though declared
+   here by necessity, these functions should be considered internal to
+   the exceptions subsystem and not used other than via the TRY_CATCH
+   macro defined below.  */
+
+extern SIGJMP_BUF *exceptions_state_mc_init (volatile struct
+					     gdb_exception *exception,
+					     return_mask mask);
+extern int exceptions_state_mc_action_iter (void);
+extern int exceptions_state_mc_action_iter_1 (void);
+
+/* Macro to wrap up standard try/catch behavior.
+
+   The double loop lets us correctly handle code "break"ing out of the
+   try catch block.  (It works as the "break" only exits the inner
+   "while" loop, the outer for loop detects this handling it
+   correctly.)  Of course "return" and "goto" are not so lucky.
+
+   For instance:
+
+   *INDENT-OFF*
+
+   volatile struct gdb_exception e;
+   TRY_CATCH (e, RETURN_MASK_ERROR)
+     {
+     }
+   switch (e.reason)
+     {
+     case RETURN_ERROR: ...
+     }
+
+  */
+
+#define TRY_CATCH(EXCEPTION,MASK) \
+     { \
+       SIGJMP_BUF *buf = \
+	 exceptions_state_mc_init (&(EXCEPTION), (MASK)); \
+       SIGSETJMP (*buf); \
+     } \
+     while (exceptions_state_mc_action_iter ()) \
+       while (exceptions_state_mc_action_iter_1 ())
+
+/* *INDENT-ON* */
+
+/* Hook to allow client-specific actions to be performed prior to
+   throwing an exception.  This function must be provided by the
+   client, and will be called before any cleanups are run.  */
+
+extern void prepare_to_throw_exception (void);
+
+/* Throw an exception (as described by "struct gdb_exception").  Will
+   execute a LONG JUMP to the inner most containing exception handler
+   established using catch_exceptions() (or similar).
+
+   Code normally throws an exception using error() et.al.  For various
+   reaons, GDB also contains code that throws an exception directly.
+   For instance, the remote*.c targets contain CNTRL-C signal handlers
+   that propogate the QUIT event up the exception chain.  ``This could
+   be a good thing or a dangerous thing.'' -- the Existential
+   Wombat.  */
+
+extern void throw_exception (struct gdb_exception exception)
+     ATTRIBUTE_NORETURN;
+extern void throw_verror (enum errors, const char *fmt, va_list ap)
+     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 0);
+extern void throw_vquit (const char *fmt, va_list ap)
+     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
+extern void throw_error (enum errors error, const char *fmt, ...)
+     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 3);
+extern void throw_quit (const char *fmt, ...)
+     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
+
+#endif /* COMMON_EXCEPTIONS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common.m4 ./gdb/common/common.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common.m4	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/common.m4	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 dnl Autoconf configure snippets for common.
-dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1995-2015 Free Software Foundation, Inc.
 dnl
 dnl This file is part of GDB.
 dnl 
@@ -33,4 +33,15 @@ AC_DEFUN([GDB_AC_COMMON], [
   AC_CHECK_FUNCS([fdwalk getrlimit pipe pipe2 socketpair])
 
   AC_CHECK_DECLS([strerror, strstr])
+
+  dnl Check if sigsetjmp is available.  Using AC_CHECK_FUNCS won't
+  dnl do since sigsetjmp might only be defined as a macro.
+AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
+[AC_TRY_COMPILE([
+#include <setjmp.h>
+], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
+gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
+if test $gdb_cv_func_sigsetjmp = yes; then
+  AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
+fi
 ])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-regcache.h ./gdb/common/common-regcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-regcache.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/common-regcache.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,36 @@
+/* Cache and manage the values of registers
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_REGCACHE_H
+#define COMMON_REGCACHE_H
+
+/* This header is a stopgap until we have an independent regcache.  */
+
+/* Return a pointer to the register cache associated with the
+   thread specified by PTID.  This function must be provided by
+   the client.  */
+
+extern struct regcache *get_thread_regcache_for_ptid (ptid_t ptid);
+
+/* Read the PC register.  This function must be provided by the
+   client.  */
+
+extern CORE_ADDR regcache_read_pc (struct regcache *regcache);
+
+#endif /* COMMON_REGCACHE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-types.h ./gdb/common/common-types.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-types.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/common-types.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,61 @@
+/* Declarations for common types.
+
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_TYPES_H
+#define COMMON_TYPES_H
+
+#ifdef GDBSERVER
+
+/* * A byte from the program being debugged.  */
+typedef unsigned char gdb_byte;
+
+typedef unsigned long long CORE_ADDR;
+
+typedef long long LONGEST;
+typedef unsigned long long ULONGEST;
+
+#else /* GDBSERVER */
+
+#include "bfd.h"
+
+/* * A byte from the program being debugged.  */
+typedef bfd_byte gdb_byte;
+
+/* * An address in the program being debugged.  Host byte order.  */
+typedef bfd_vma CORE_ADDR;
+
+/* This is to make sure that LONGEST is at least as big as CORE_ADDR.  */
+
+#ifdef BFD64
+
+typedef BFD_HOST_64_BIT LONGEST;
+typedef BFD_HOST_U_64_BIT ULONGEST;
+
+#else /* No BFD64 */
+
+typedef long long LONGEST;
+typedef unsigned long long ULONGEST;
+
+#endif /* No BFD64 */
+#endif /* GDBSERVER */
+
+/* * The largest CORE_ADDR value.  */
+#define CORE_ADDR_MAX (~ (CORE_ADDR) 0)
+
+#endif /* COMMON_TYPES_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-utils.c ./gdb/common/common-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-utils.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/common-utils.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Shared general utility routines for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,17 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
-#include "gdb_assert.h"
-#include <string.h>
-
-#include <stdlib.h>
-#include <stdio.h>
+#include "common-defs.h"
 
 /* The xmalloc() (libiberty.h) family of memory management routines.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-utils.h ./gdb/common/common-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/common-utils.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/common-utils.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Shared general utility routines for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,11 +20,6 @@
 #ifndef COMMON_UTILS_H
 #define COMMON_UTILS_H
 
-#include "config.h"
-#include "ansidecl.h"
-#include <stddef.h>
-#include <stdarg.h>
-
 /* If possible, define FUNCTION_NAME, a macro containing the name of
    the function being defined.  Since this macro may not always be
    defined, all uses must be protected by appropriate macro definition
@@ -43,10 +38,6 @@
 #endif
 #endif
 
-extern void malloc_failure (long size) ATTRIBUTE_NORETURN;
-extern void internal_error (const char *file, int line, const char *, ...)
-     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 4);
-
 /* xmalloc(), xrealloc() and xcalloc() have already been declared in
    "libiberty.h". */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/create-version.sh ./gdb/common/create-version.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/create-version.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/create-version.sh	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 1989-2014 Free Software Foundation, Inc.
+# Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/errors.c ./gdb/common/errors.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/errors.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/errors.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,69 @@
+/* Error reporting facilities.
+
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "errors.h"
+
+/* See common/errors.h.  */
+
+void
+warning (const char *fmt, ...)
+{
+  va_list ap;
+
+  va_start (ap, fmt);
+  vwarning (fmt, ap);
+  va_end (ap);
+}
+
+/* See common/errors.h.  */
+
+void
+error (const char *fmt, ...)
+{
+  va_list ap;
+
+  va_start (ap, fmt);
+  verror (fmt, ap);
+  va_end (ap);
+}
+
+/* See common/errors.h.  */
+
+void
+internal_error (const char *file, int line, const char *fmt, ...)
+{
+  va_list ap;
+
+  va_start (ap, fmt);
+  internal_verror (file, line, fmt, ap);
+  va_end (ap);
+}
+
+/* See common/errors.h.  */
+
+void
+internal_warning (const char *file, int line, const char *fmt, ...)
+{
+  va_list ap;
+
+  va_start (ap, fmt);
+  internal_vwarning (file, line, fmt, ap);
+  va_end (ap);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/errors.h ./gdb/common/errors.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/errors.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/errors.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,90 @@
+/* Declarations for error-reporting facilities.
+
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_ERRORS_H
+#define COMMON_ERRORS_H
+
+/* A problem was detected, but the requested operation can still
+   proceed.  A warning message is constructed using a printf- or
+   vprintf-style argument list.  The function "vwarning" must be
+   provided by the client.  */
+
+extern void warning (const char *fmt, ...)
+     ATTRIBUTE_PRINTF (1, 2);
+
+extern void vwarning (const char *fmt, va_list args)
+     ATTRIBUTE_PRINTF (1, 0);
+
+/* A non-predictable, non-fatal error was detected.  The requested
+   operation cannot proceed.  An error message is constructed using
+   a printf- or vprintf-style argument list.  These functions do not
+   return.  The function "verror" must be provided by the client.  */
+
+extern void error (const char *fmt, ...)
+     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
+
+extern void verror (const char *fmt, va_list args)
+     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
+
+/* An internal error was detected.  Internal errors indicate
+   programming errors such as assertion failures, as opposed to
+   more general errors beyond the application's control.  These
+   functions do not return.  An error message is constructed using
+   a printf- or vprintf-style argument list.  FILE and LINE
+   indicate the file and line number where the programming error
+   was detected.  The function "internal_verror" must be provided
+   by the client.  */
+
+extern void internal_error (const char *file, int line,
+			    const char *fmt, ...)
+     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 4);
+
+extern void internal_verror (const char *file, int line,
+			     const char *fmt, va_list args)
+     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0);
+
+/* An internal problem was detected, but the requested operation can
+   still proceed.  Internal warnings indicate programming errors as
+   opposed to more general issues beyond the application's control.
+   A warning message is constructed using a printf- or vprintf-style
+   argument list.  The function "internal_vwarning" must be provided
+   by the client.  */
+
+extern void internal_warning (const char *file, int line,
+			      const char *fmt, ...)
+     ATTRIBUTE_PRINTF (3, 4);
+
+extern void internal_vwarning (const char *file, int line,
+			       const char *fmt, va_list args)
+     ATTRIBUTE_PRINTF (3, 0);
+
+
+/* Like "error", but the error message is constructed by combining
+   STRING with the system error message for errno.  This function does
+   not return.  This function must be provided by the client.  */
+
+extern void perror_with_name (const char *string) ATTRIBUTE_NORETURN;
+
+/* Call this function to handle memory allocation failures.  This
+   function does not return.  This function must be provided by the
+   client.  */
+
+extern void malloc_failure (long size) ATTRIBUTE_NORETURN;
+
+#endif /* COMMON_ERRORS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/filestuff.c ./gdb/common/filestuff.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/filestuff.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/filestuff.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Low-level file-handling.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -16,16 +16,9 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#include <string.h>
-#endif
+#include "common-defs.h"
 #include "filestuff.h"
 #include "gdb_vecs.h"
-
-#include <string.h>
 #include <fcntl.h>
 #include <unistd.h>
 #include <sys/types.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/filestuff.h ./gdb/common/filestuff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/filestuff.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/filestuff.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Low-level file-handling.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/format.c ./gdb/common/format.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/format.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/format.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Parse a printf-style format string.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,14 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
-#include <string.h>
-
+#include "common-defs.h"
 #include "format.h"
 
 struct format_piece *
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/format.h ./gdb/common/format.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/format.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/format.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Parse a printf-style format string.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_assert.h ./gdb/common/gdb_assert.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_assert.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/gdb_assert.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GDB-friendly replacement for <assert.h>.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,8 +19,6 @@
 #ifndef GDB_ASSERT_H
 #define GDB_ASSERT_H
 
-#include "common-utils.h" /* For FUNCTION_NAME.  */
-
 /* A static assertion.  This will cause a compile-time error if EXPR,
    which must be a compile-time constant, is false.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_locale.h ./gdb/common/gdb_locale.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_locale.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/gdb_locale.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GDB-friendly replacement for <locale.h>.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_setjmp.h ./gdb/common/gdb_setjmp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_setjmp.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/gdb_setjmp.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,34 @@
+/* Portability wrappers for setjmp and longjmp.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef GDB_SETJMP_H
+#define GDB_SETJMP_H
+
+#include <setjmp.h>
+
+#ifdef HAVE_SIGSETJMP
+#define SIGJMP_BUF		sigjmp_buf
+#define SIGSETJMP(buf)		sigsetjmp((buf), 1)
+#define SIGLONGJMP(buf,val)	siglongjmp((buf), (val))
+#else
+#define SIGJMP_BUF		jmp_buf
+#define SIGSETJMP(buf)		setjmp(buf)
+#define SIGLONGJMP(buf,val)	longjmp((buf), (val))
+#endif
+
+#endif /* GDB_SETJMP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_signals.h ./gdb/common/gdb_signals.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_signals.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/gdb_signals.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target signal translation functions for GDB.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_thread_db.h ./gdb/common/gdb_thread_db.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_thread_db.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/gdb_thread_db.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,16 +0,0 @@
-#ifdef HAVE_THREAD_DB_H
-#include <thread_db.h>
-#else
-#include "glibc_thread_db.h"
-#endif
-
-#ifndef LIBTHREAD_DB_SO
-#define LIBTHREAD_DB_SO "libthread_db.so.1"
-#endif
-
-#ifndef LIBTHREAD_DB_SEARCH_PATH
-/* $sdir appears before $pdir for some minimal security protection:
-   we trust the system libthread_db.so a bit more than some random
-   libthread_db associated with whatever libpthread the app is using.  */
-#define LIBTHREAD_DB_SEARCH_PATH "$sdir:$pdir"
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_vecs.c ./gdb/common/gdb_vecs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_vecs.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/gdb_vecs.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Some commonly-used VEC types.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,12 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
+#include "common-defs.h"
 #include "gdb_vecs.h"
 #include "host-defs.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_vecs.h ./gdb/common/gdb_vecs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_vecs.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/gdb_vecs.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Some commonly-used VEC types.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_wait.h ./gdb/common/gdb_wait.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/gdb_wait.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/gdb_wait.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Standard wait macros.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/glibc_thread_db.h ./gdb/common/glibc_thread_db.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/glibc_thread_db.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/glibc_thread_db.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,458 +0,0 @@
-/* thread_db.h -- interface to libthread_db.so library for debugging -lpthread
-   Copyright (C) 1999-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _THREAD_DB_H
-#define _THREAD_DB_H	1
-
-/* This is the debugger interface for the NPTL library.  It is
-   modelled closely after the interface with same names in Solaris
-   with the goal to share the same code in the debugger.  */
-#include <pthread.h>
-#include <stdint.h>
-#include <sys/types.h>
-#include <sys/procfs.h>
-
-
-/* Error codes of the library.  */
-typedef enum
-{
-  TD_OK,	  /* No error.  */
-  TD_ERR,	  /* No further specified error.  */
-  TD_NOTHR,	  /* No matching thread found.  */
-  TD_NOSV,	  /* No matching synchronization handle found.  */
-  TD_NOLWP,	  /* No matching light-weighted process found.  */
-  TD_BADPH,	  /* Invalid process handle.  */
-  TD_BADTH,	  /* Invalid thread handle.  */
-  TD_BADSH,	  /* Invalid synchronization handle.  */
-  TD_BADTA,	  /* Invalid thread agent.  */
-  TD_BADKEY,	  /* Invalid key.  */
-  TD_NOMSG,	  /* No event available.  */
-  TD_NOFPREGS,	  /* No floating-point register content available.  */
-  TD_NOLIBTHREAD, /* Application not linked with thread library.  */
-  TD_NOEVENT,	  /* Requested event is not supported.  */
-  TD_NOCAPAB,	  /* Capability not available.  */
-  TD_DBERR,	  /* Internal debug library error.  */
-  TD_NOAPLIC,	  /* Operation is not applicable.  */
-  TD_NOTSD,	  /* No thread-specific data available.  */
-  TD_MALLOC,	  /* Out of memory.  */
-  TD_PARTIALREG,  /* Not entire register set was read or written.  */
-  TD_NOXREGS,	  /* X register set not available for given thread.  */
-  TD_TLSDEFER,	  /* Thread has not yet allocated TLS for given module.  */
-  TD_NOTALLOC = TD_TLSDEFER,
-  TD_VERSION,	  /* Version if libpthread and libthread_db do not match.  */
-  TD_NOTLS	  /* There is no TLS segment in the given module.  */
-} td_err_e;
-
-
-/* Possible thread states.  TD_THR_ANY_STATE is a pseudo-state used to
-   select threads regardless of state in td_ta_thr_iter().  */
-typedef enum
-{
-  TD_THR_ANY_STATE,
-  TD_THR_UNKNOWN,
-  TD_THR_STOPPED,
-  TD_THR_RUN,
-  TD_THR_ACTIVE,
-  TD_THR_ZOMBIE,
-  TD_THR_SLEEP,
-  TD_THR_STOPPED_ASLEEP
-} td_thr_state_e;
-
-/* Thread type: user or system.  TD_THR_ANY_TYPE is a pseudo-type used
-   to select threads regardless of type in td_ta_thr_iter().  */
-typedef enum
-{
-  TD_THR_ANY_TYPE,
-  TD_THR_USER,
-  TD_THR_SYSTEM
-} td_thr_type_e;
-
-
-/* Types of the debugging library.  */
-
-/* Handle for a process.  This type is opaque.  */
-typedef struct td_thragent td_thragent_t;
-
-/* The actual thread handle type.  This is also opaque.  */
-typedef struct td_thrhandle
-{
-  td_thragent_t *th_ta_p;
-  psaddr_t th_unique;
-} td_thrhandle_t;
-
-
-/* Forward declaration of a type defined by and for the dynamic linker.  */
-struct link_map;
-
-
-/* Flags for `td_ta_thr_iter'.  */
-#define TD_THR_ANY_USER_FLAGS	0xffffffff
-#define TD_THR_LOWEST_PRIORITY	-20
-#define TD_SIGNO_MASK		NULL
-
-
-#define TD_EVENTSIZE	2
-#define BT_UISHIFT	5 /* log base 2 of BT_NBIPUI, to extract word index */
-#define BT_NBIPUI	(1 << BT_UISHIFT)       /* n bits per uint */
-#define BT_UIMASK	(BT_NBIPUI - 1)         /* to extract bit index */
-
-/* Bitmask of enabled events. */
-typedef struct td_thr_events
-{
-  uint32_t event_bits[TD_EVENTSIZE];
-} td_thr_events_t;
-
-/* Event set manipulation macros. */
-#define __td_eventmask(n) \
-  (UINT32_C (1) << (((n) - 1) & BT_UIMASK))
-#define __td_eventword(n) \
-  ((UINT32_C ((n) - 1)) >> BT_UISHIFT)
-
-#define td_event_emptyset(setp) \
-  do {									      \
-    int __i;								      \
-    for (__i = TD_EVENTSIZE; __i > 0; --__i)				      \
-      (setp)->event_bits[__i - 1] = 0;					      \
-  } while (0)
-
-#define td_event_fillset(setp) \
-  do {									      \
-    int __i;								      \
-    for (__i = TD_EVENTSIZE; __i > 0; --__i)				      \
-      (setp)->event_bits[__i - 1] = UINT32_C (0xffffffff);		      \
-  } while (0)
-
-#define td_event_addset(setp, n) \
-  (((setp)->event_bits[__td_eventword (n)]) |= __td_eventmask (n))
-#define td_event_delset(setp, n) \
-  (((setp)->event_bits[__td_eventword (n)]) &= ~__td_eventmask (n))
-#define td_eventismember(setp, n) \
-  (__td_eventmask (n) & ((setp)->event_bits[__td_eventword (n)]))
-#if TD_EVENTSIZE == 2
-# define td_eventisempty(setp) \
-  (!((setp)->event_bits[0]) && !((setp)->event_bits[1]))
-#else
-# error "td_eventisempty must be changed to match TD_EVENTSIZE"
-#endif
-
-/* Events reportable by the thread implementation.  */
-typedef enum
-{
-  TD_ALL_EVENTS,		 /* Pseudo-event number.  */
-  TD_EVENT_NONE = TD_ALL_EVENTS, /* Depends on context.  */
-  TD_READY,			 /* Is executable now. */
-  TD_SLEEP,			 /* Blocked in a synchronization obj.  */
-  TD_SWITCHTO,			 /* Now assigned to a process.  */
-  TD_SWITCHFROM,		 /* Not anymore assigned to a process.  */
-  TD_LOCK_TRY,			 /* Trying to get an unavailable lock.  */
-  TD_CATCHSIG,			 /* Signal posted to the thread.  */
-  TD_IDLE,			 /* Process getting idle.  */
-  TD_CREATE,			 /* New thread created.  */
-  TD_DEATH,			 /* Thread terminated.  */
-  TD_PREEMPT,			 /* Preempted.  */
-  TD_PRI_INHERIT,		 /* Inherited elevated priority.  */
-  TD_REAP,			 /* Reaped.  */
-  TD_CONCURRENCY,		 /* Number of processes changing.  */
-  TD_TIMEOUT,			 /* Conditional variable wait timed out.  */
-  TD_MIN_EVENT_NUM = TD_READY,
-  TD_MAX_EVENT_NUM = TD_TIMEOUT,
-  TD_EVENTS_ENABLE = 31		/* Event reporting enabled.  */
-} td_event_e;
-
-/* Values representing the different ways events are reported.  */
-typedef enum
-{
-  NOTIFY_BPT,			/* User must insert breakpoint at u.bptaddr. */
-  NOTIFY_AUTOBPT,		/* Breakpoint at u.bptaddr is automatically
-				   inserted.  */
-  NOTIFY_SYSCALL		/* System call u.syscallno will be invoked.  */
-} td_notify_e;
-
-/* Description how event type is reported.  */
-typedef struct td_notify
-{
-  td_notify_e type;		/* Way the event is reported.  */
-  union
-  {
-    psaddr_t bptaddr;		/* Address of breakpoint.  */
-    int syscallno;		/* Number of system call used.  */
-  } u;
-} td_notify_t;
-
-/* Structure used to report event.  */
-typedef struct td_event_msg
-{
-  td_event_e event;		/* Event type being reported.  */
-  const td_thrhandle_t *th_p;	/* Thread reporting the event.  */
-  union
-  {
-# if 0
-    td_synchandle_t *sh;	/* Handle of synchronization object.  */
-#endif
-    uintptr_t data;		/* Event specific data.  */
-  } msg;
-} td_event_msg_t;
-
-/* Structure containing event data available in each thread structure.  */
-typedef struct
-{
-  td_thr_events_t eventmask;	/* Mask of enabled events.  */
-  td_event_e eventnum;		/* Number of last event.  */
-  void *eventdata;		/* Data associated with event.  */
-} td_eventbuf_t;
-
-
-/* Gathered statistics about the process.  */
-typedef struct td_ta_stats
-{
-  int nthreads;       		/* Total number of threads in use.  */
-  int r_concurrency;		/* Concurrency level requested by user.  */
-  int nrunnable_num;		/* Average runnable threads, numerator.  */
-  int nrunnable_den;		/* Average runnable threads, denominator.  */
-  int a_concurrency_num;	/* Achieved concurrency level, numerator.  */
-  int a_concurrency_den;	/* Achieved concurrency level, denominator.  */
-  int nlwps_num;		/* Average number of processes in use,
-				   numerator.  */
-  int nlwps_den;		/* Average number of processes in use,
-				   denominator.  */
-  int nidle_num;		/* Average number of idling processes,
-				   numerator.  */
-  int nidle_den;		/* Average number of idling processes,
-				   denominator.  */
-} td_ta_stats_t;
-
-
-/* Since Sun's library is based on Solaris threads we have to define a few
-   types to map them to POSIX threads.  */
-typedef pthread_t thread_t;
-typedef pthread_key_t thread_key_t;
-
-
-/* Callback for iteration over threads.  */
-typedef int td_thr_iter_f (const td_thrhandle_t *, void *);
-
-/* Callback for iteration over thread local data.  */
-typedef int td_key_iter_f (thread_key_t, void (*) (void *), void *);
-
-
-
-/* Forward declaration.  This has to be defined by the user.  */
-struct ps_prochandle;
-
-
-/* Information about the thread.  */
-typedef struct td_thrinfo
-{
-  td_thragent_t *ti_ta_p;		/* Process handle.  */
-  unsigned int ti_user_flags;		/* Unused.  */
-  thread_t ti_tid;			/* Thread ID returned by
-					   pthread_create().  */
-  char *ti_tls;				/* Pointer to thread-local data.  */
-  psaddr_t ti_startfunc;		/* Start function passed to
-					   pthread_create().  */
-  psaddr_t ti_stkbase;			/* Base of thread's stack.  */
-  long int ti_stksize;			/* Size of thread's stack.  */
-  psaddr_t ti_ro_area;			/* Unused.  */
-  int ti_ro_size;			/* Unused.  */
-  td_thr_state_e ti_state;		/* Thread state.  */
-  unsigned char ti_db_suspended;	/* Nonzero if suspended by debugger. */
-  td_thr_type_e ti_type;		/* Type of the thread (system vs
-					   user thread).  */
-  intptr_t ti_pc;			/* Unused.  */
-  intptr_t ti_sp;			/* Unused.  */
-  short int ti_flags;			/* Unused.  */
-  int ti_pri;				/* Thread priority.  */
-  lwpid_t ti_lid;			/* Kernel PID for this thread.  */
-  sigset_t ti_sigmask;			/* Signal mask.  */
-  unsigned char ti_traceme;		/* Nonzero if event reporting
-					   enabled.  */
-  unsigned char ti_preemptflag;		/* Unused.  */
-  unsigned char ti_pirecflag;		/* Unused.  */
-  sigset_t ti_pending;			/* Set of pending signals.  */
-  td_thr_events_t ti_events;		/* Set of enabled events.  */
-} td_thrinfo_t;
-
-
-
-/* Prototypes for exported library functions.  */
-
-/* Initialize the thread debug support library.  */
-extern td_err_e td_init (void);
-
-/* Historical relict.  Should not be used anymore.  */
-extern td_err_e td_log (void);
-
-/* Return list of symbols the library can request.  */
-extern const char **td_symbol_list (void);
-
-/* Generate new thread debug library handle for process PS.  */
-extern td_err_e td_ta_new (struct ps_prochandle *__ps, td_thragent_t **__ta);
-
-/* Free resources allocated for TA.  */
-extern td_err_e td_ta_delete (td_thragent_t *__ta);
-
-/* Get number of currently running threads in process associated with TA.  */
-extern td_err_e td_ta_get_nthreads (const td_thragent_t *__ta, int *__np);
-
-/* Return process handle passed in `td_ta_new' for process associated with
-   TA.  */
-extern td_err_e td_ta_get_ph (const td_thragent_t *__ta,
-			      struct ps_prochandle **__ph);
-
-/* Map thread library handle PT to thread debug library handle for process
-   associated with TA and store result in *TH.  */
-extern td_err_e td_ta_map_id2thr (const td_thragent_t *__ta, pthread_t __pt,
-				  td_thrhandle_t *__th);
-
-/* Map process ID LWPID to thread debug library handle for process
-   associated with TA and store result in *TH.  */
-extern td_err_e td_ta_map_lwp2thr (const td_thragent_t *__ta, lwpid_t __lwpid,
-				   td_thrhandle_t *__th);
-
-
-/* Call for each thread in a process associated with TA the callback function
-   CALLBACK.  */
-extern td_err_e td_ta_thr_iter (const td_thragent_t *__ta,
-				td_thr_iter_f *__callback, void *__cbdata_p,
-				td_thr_state_e __state, int __ti_pri,
-				sigset_t *__ti_sigmask_p,
-				unsigned int __ti_user_flags);
-
-/* Call for each defined thread local data entry the callback function KI.  */
-extern td_err_e td_ta_tsd_iter (const td_thragent_t *__ta, td_key_iter_f *__ki,
-				void *__p);
-
-
-/* Get event address for EVENT.  */
-extern td_err_e td_ta_event_addr (const td_thragent_t *__ta,
-				  td_event_e __event, td_notify_t *__ptr);
-
-/* Enable EVENT in global mask.  */
-extern td_err_e td_ta_set_event (const td_thragent_t *__ta,
-				 td_thr_events_t *__event);
-
-/* Disable EVENT in global mask.  */
-extern td_err_e td_ta_clear_event (const td_thragent_t *__ta,
-				   td_thr_events_t *__event);
-
-/* Return information about last event.  */
-extern td_err_e td_ta_event_getmsg (const td_thragent_t *__ta,
-				    td_event_msg_t *__msg);
-
-
-/* Set suggested concurrency level for process associated with TA.  */
-extern td_err_e td_ta_setconcurrency (const td_thragent_t *__ta, int __level);
-
-
-/* Enable collecting statistics for process associated with TA.  */
-extern td_err_e td_ta_enable_stats (const td_thragent_t *__ta, int __enable);
-
-/* Reset statistics.  */
-extern td_err_e td_ta_reset_stats (const td_thragent_t *__ta);
-
-/* Retrieve statistics from process associated with TA.  */
-extern td_err_e td_ta_get_stats (const td_thragent_t *__ta,
-				 td_ta_stats_t *__statsp);
-
-
-/* Validate that TH is a thread handle.  */
-extern td_err_e td_thr_validate (const td_thrhandle_t *__th);
-
-/* Return information about thread TH.  */
-extern td_err_e td_thr_get_info (const td_thrhandle_t *__th,
-				 td_thrinfo_t *__infop);
-
-/* Retrieve floating-point register contents of process running thread TH.  */
-extern td_err_e td_thr_getfpregs (const td_thrhandle_t *__th,
-				  prfpregset_t *__regset);
-
-/* Retrieve general register contents of process running thread TH.  */
-extern td_err_e td_thr_getgregs (const td_thrhandle_t *__th,
-				 prgregset_t __gregs);
-
-/* Retrieve extended register contents of process running thread TH.  */
-extern td_err_e td_thr_getxregs (const td_thrhandle_t *__th, void *__xregs);
-
-/* Get size of extended register set of process running thread TH.  */
-extern td_err_e td_thr_getxregsize (const td_thrhandle_t *__th, int *__sizep);
-
-/* Set floating-point register contents of process running thread TH.  */
-extern td_err_e td_thr_setfpregs (const td_thrhandle_t *__th,
-				  const prfpregset_t *__fpregs);
-
-/* Set general register contents of process running thread TH.  */
-extern td_err_e td_thr_setgregs (const td_thrhandle_t *__th,
-				 prgregset_t __gregs);
-
-/* Set extended register contents of process running thread TH.  */
-extern td_err_e td_thr_setxregs (const td_thrhandle_t *__th,
-				 const void *__addr);
-
-
-/* Get address of the given module's TLS storage area for the given thread.  */
-extern td_err_e td_thr_tlsbase (const td_thrhandle_t *__th,
-				unsigned long int __modid,
-				psaddr_t *__base);
-
-/* Get address of thread local variable.  */
-extern td_err_e td_thr_tls_get_addr (const td_thrhandle_t *__th,
-				     psaddr_t __map_address, size_t __offset,
-				     psaddr_t *__address);
-
-
-/* Enable reporting for EVENT for thread TH.  */
-extern td_err_e td_thr_event_enable (const td_thrhandle_t *__th, int __event);
-
-/* Enable EVENT for thread TH.  */
-extern td_err_e td_thr_set_event (const td_thrhandle_t *__th,
-				  td_thr_events_t *__event);
-
-/* Disable EVENT for thread TH.  */
-extern td_err_e td_thr_clear_event (const td_thrhandle_t *__th,
-				    td_thr_events_t *__event);
-
-/* Get event message for thread TH.  */
-extern td_err_e td_thr_event_getmsg (const td_thrhandle_t *__th,
-				     td_event_msg_t *__msg);
-
-
-/* Set priority of thread TH.  */
-extern td_err_e td_thr_setprio (const td_thrhandle_t *__th, int __prio);
-
-
-/* Set pending signals for thread TH.  */
-extern td_err_e td_thr_setsigpending (const td_thrhandle_t *__th,
-				      unsigned char __n, const sigset_t *__ss);
-
-/* Set signal mask for thread TH.  */
-extern td_err_e td_thr_sigsetmask (const td_thrhandle_t *__th,
-				   const sigset_t *__ss);
-
-
-/* Return thread local data associated with key TK in thread TH.  */
-extern td_err_e td_thr_tsd (const td_thrhandle_t *__th,
-			    const thread_key_t __tk, void **__data);
-
-
-/* Suspend execution of thread TH.  */
-extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th);
-
-/* Resume execution of thread TH.  */
-extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th);
-
-#endif	/* thread_db.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/host-defs.h ./gdb/common/host-defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/host-defs.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/host-defs.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Basic host-specific definitions for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/i386-cpuid.h ./gdb/common/i386-cpuid.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/i386-cpuid.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/i386-cpuid.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,63 +0,0 @@
-/* C API for x86 cpuid insn.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This file is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by the
-   Free Software Foundation; either version 3, or (at your option) any
-   later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef I386_CPUID_COMMON_H
-#define I386_CPUID_COMMON_H
-
-/* Always include the header for the cpu bit defines.  */
-#include "i386-gcc-cpuid.h"
-
-#if defined(__i386__) || defined(__x86_64__)
-
-/* Return cpuid data for requested cpuid level, as found in returned
-   eax, ebx, ecx and edx registers.  The function checks if cpuid is
-   supported and returns 1 for valid cpuid information or 0 for
-   unsupported cpuid level.  Pointers may be non-null.  */
-
-static __inline int
-i386_cpuid (unsigned int __level,
-	    unsigned int *__eax, unsigned int *__ebx,
-	    unsigned int *__ecx, unsigned int *__edx)
-{
-  unsigned int __scratch;
-
-  if (!__eax)
-    __eax = &__scratch;
-  if (!__ebx)
-    __ebx = &__scratch;
-  if (!__ecx)
-    __ecx = &__scratch;
-  if (!__edx)
-    __edx = &__scratch;
-
-  return __get_cpuid (__level, __eax, __ebx, __ecx, __edx);
-}
-
-#else
-
-static __inline int
-i386_cpuid (unsigned int __level,
-	    unsigned int *__eax, unsigned int *__ebx,
-	    unsigned int *__ecx, unsigned int *__edx)
-{
-  return 0;
-}
-
-#endif /* i386 && x86_64 */
-
-#endif /* I386_CPUID_COMMON_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/i386-gcc-cpuid.h ./gdb/common/i386-gcc-cpuid.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/i386-gcc-cpuid.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/i386-gcc-cpuid.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,278 +0,0 @@
-/*
- * Helper cpuid.h file copied from gcc-4.8.0.  Code in gdb should not
- * include this directly, but pull in i386-cpuid.h and use that func.
- */
-/*
- * Copyright (C) 2007-2014 Free Software Foundation, Inc.
- *
- * This file is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 3, or (at your option) any
- * later version.
- * 
- * This file is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- * 
- * Under Section 7 of GPL version 3, you are granted additional
- * permissions described in the GCC Runtime Library Exception, version
- * 3.1, as published by the Free Software Foundation.
- * 
- * You should have received a copy of the GNU General Public License and
- * a copy of the GCC Runtime Library Exception along with this program;
- * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
- * <http://www.gnu.org/licenses/>.
- */
-
-/* %ecx */
-#define bit_SSE3	(1 << 0)
-#define bit_PCLMUL	(1 << 1)
-#define bit_LZCNT	(1 << 5)
-#define bit_SSSE3	(1 << 9)
-#define bit_FMA		(1 << 12)
-#define bit_CMPXCHG16B	(1 << 13)
-#define bit_SSE4_1	(1 << 19)
-#define bit_SSE4_2	(1 << 20)
-#define bit_MOVBE	(1 << 22)
-#define bit_POPCNT	(1 << 23)
-#define bit_AES		(1 << 25)
-#define bit_XSAVE	(1 << 26)
-#define bit_OSXSAVE	(1 << 27)
-#define bit_AVX		(1 << 28)
-#define bit_F16C	(1 << 29)
-#define bit_RDRND	(1 << 30)
-
-/* %edx */
-#define bit_CMPXCHG8B	(1 << 8)
-#define bit_CMOV	(1 << 15)
-#define bit_MMX		(1 << 23)
-#define bit_FXSAVE	(1 << 24)
-#define bit_SSE		(1 << 25)
-#define bit_SSE2	(1 << 26)
-
-/* Extended Features */
-/* %ecx */
-#define bit_LAHF_LM	(1 << 0)
-#define bit_ABM		(1 << 5)
-#define bit_SSE4a	(1 << 6)
-#define bit_PRFCHW	(1 << 8)
-#define bit_XOP         (1 << 11)
-#define bit_LWP 	(1 << 15)
-#define bit_FMA4        (1 << 16)
-#define bit_TBM         (1 << 21)
-
-/* %edx */
-#define bit_MMXEXT	(1 << 22)
-#define bit_LM		(1 << 29)
-#define bit_3DNOWP	(1 << 30)
-#define bit_3DNOW	(1 << 31)
-
-/* Extended Features (%eax == 7) */
-#define bit_FSGSBASE	(1 << 0)
-#define bit_BMI	(1 << 3)
-#define bit_HLE	(1 << 4)
-#define bit_AVX2	(1 << 5)
-#define bit_BMI2	(1 << 8)
-#define bit_RTM	(1 << 11)
-#define bit_AVX512F	(1 << 16)
-#define bit_MPX (1 << 14)
-#define bit_RDSEED	(1 << 18)
-#define bit_ADX	(1 << 19)
-#define bit_AVX512PF	(1 << 26)
-#define bit_AVX512ER	(1 << 27)
-#define bit_AVX512CD	(1 << 28)
-#define bit_SHA		(1 << 29)
-
-/* Extended State Enumeration Sub-leaf (%eax == 13, %ecx == 1) */
-#define bit_XSAVEOPT	(1 << 0)
-
-/* Signatures for different CPU implementations as returned in uses
-   of cpuid with level 0.  */
-#define signature_AMD_ebx	0x68747541
-#define signature_AMD_ecx	0x444d4163
-#define signature_AMD_edx	0x69746e65
-
-#define signature_CENTAUR_ebx	0x746e6543
-#define signature_CENTAUR_ecx	0x736c7561
-#define signature_CENTAUR_edx	0x48727561
-
-#define signature_CYRIX_ebx	0x69727943
-#define signature_CYRIX_ecx	0x64616574
-#define signature_CYRIX_edx	0x736e4978
-
-#define signature_INTEL_ebx	0x756e6547
-#define signature_INTEL_ecx	0x6c65746e
-#define signature_INTEL_edx	0x49656e69
-
-#define signature_TM1_ebx	0x6e617254
-#define signature_TM1_ecx	0x55504361
-#define signature_TM1_edx	0x74656d73
-
-#define signature_TM2_ebx	0x756e6547
-#define signature_TM2_ecx	0x3638784d
-#define signature_TM2_edx	0x54656e69
-
-#define signature_NSC_ebx	0x646f6547
-#define signature_NSC_ecx	0x43534e20
-#define signature_NSC_edx	0x79622065
-
-#define signature_NEXGEN_ebx	0x4778654e
-#define signature_NEXGEN_ecx	0x6e657669
-#define signature_NEXGEN_edx	0x72446e65
-
-#define signature_RISE_ebx	0x65736952
-#define signature_RISE_ecx	0x65736952
-#define signature_RISE_edx	0x65736952
-
-#define signature_SIS_ebx	0x20536953
-#define signature_SIS_ecx	0x20536953
-#define signature_SIS_edx	0x20536953
-
-#define signature_UMC_ebx	0x20434d55
-#define signature_UMC_ecx	0x20434d55
-#define signature_UMC_edx	0x20434d55
-
-#define signature_VIA_ebx	0x20414956
-#define signature_VIA_ecx	0x20414956
-#define signature_VIA_edx	0x20414956
-
-#define signature_VORTEX_ebx	0x74726f56
-#define signature_VORTEX_ecx	0x436f5320
-#define signature_VORTEX_edx	0x36387865
-
-#if defined(__i386__) && defined(__PIC__)
-/* %ebx may be the PIC register.  */
-#if __GNUC__ >= 3
-#define __cpuid(level, a, b, c, d)			\
-  __asm__ ("xchg{l}\t{%%}ebx, %k1\n\t"			\
-	   "cpuid\n\t"					\
-	   "xchg{l}\t{%%}ebx, %k1\n\t"			\
-	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level))
-
-#define __cpuid_count(level, count, a, b, c, d)		\
-  __asm__ ("xchg{l}\t{%%}ebx, %k1\n\t"			\
-	   "cpuid\n\t"					\
-	   "xchg{l}\t{%%}ebx, %k1\n\t"			\
-	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level), "2" (count))
-#else
-/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
-   nor alternatives in i386 code.  */
-#define __cpuid(level, a, b, c, d)			\
-  __asm__ ("xchgl\t%%ebx, %k1\n\t"			\
-	   "cpuid\n\t"					\
-	   "xchgl\t%%ebx, %k1\n\t"			\
-	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level))
-
-#define __cpuid_count(level, count, a, b, c, d)		\
-  __asm__ ("xchgl\t%%ebx, %k1\n\t"			\
-	   "cpuid\n\t"					\
-	   "xchgl\t%%ebx, %k1\n\t"			\
-	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level), "2" (count))
-#endif
-#elif defined(__x86_64__) && (defined(__code_model_medium__) || defined(__code_model_large__)) && defined(__PIC__)
-/* %rbx may be the PIC register.  */
-#define __cpuid(level, a, b, c, d)			\
-  __asm__ ("xchg{q}\t{%%}rbx, %q1\n\t"			\
-	   "cpuid\n\t"					\
-	   "xchg{q}\t{%%}rbx, %q1\n\t"			\
-	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level))
-
-#define __cpuid_count(level, count, a, b, c, d)		\
-  __asm__ ("xchg{q}\t{%%}rbx, %q1\n\t"			\
-	   "cpuid\n\t"					\
-	   "xchg{q}\t{%%}rbx, %q1\n\t"			\
-	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level), "2" (count))
-#else
-#define __cpuid(level, a, b, c, d)			\
-  __asm__ ("cpuid\n\t"					\
-	   : "=a" (a), "=b" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level))
-
-#define __cpuid_count(level, count, a, b, c, d)		\
-  __asm__ ("cpuid\n\t"					\
-	   : "=a" (a), "=b" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level), "2" (count))
-#endif
-
-/* Return highest supported input value for cpuid instruction.  ext can
-   be either 0x0 or 0x8000000 to return highest supported value for
-   basic or extended cpuid information.  Function returns 0 if cpuid
-   is not supported or whatever cpuid returns in eax register.  If sig
-   pointer is non-null, then first four bytes of the signature
-   (as found in ebx register) are returned in location pointed by sig.  */
-
-static __inline unsigned int
-__get_cpuid_max (unsigned int __ext, unsigned int *__sig)
-{
-  unsigned int __eax, __ebx, __ecx, __edx;
-
-#ifndef __x86_64__
-  /* See if we can use cpuid.  On AMD64 we always can.  */
-#if __GNUC__ >= 3
-  __asm__ ("pushf{l|d}\n\t"
-	   "pushf{l|d}\n\t"
-	   "pop{l}\t%0\n\t"
-	   "mov{l}\t{%0, %1|%1, %0}\n\t"
-	   "xor{l}\t{%2, %0|%0, %2}\n\t"
-	   "push{l}\t%0\n\t"
-	   "popf{l|d}\n\t"
-	   "pushf{l|d}\n\t"
-	   "pop{l}\t%0\n\t"
-	   "popf{l|d}\n\t"
-	   : "=&r" (__eax), "=&r" (__ebx)
-	   : "i" (0x00200000));
-#else
-/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
-   nor alternatives in i386 code.  */
-  __asm__ ("pushfl\n\t"
-	   "pushfl\n\t"
-	   "popl\t%0\n\t"
-	   "movl\t%0, %1\n\t"
-	   "xorl\t%2, %0\n\t"
-	   "pushl\t%0\n\t"
-	   "popfl\n\t"
-	   "pushfl\n\t"
-	   "popl\t%0\n\t"
-	   "popfl\n\t"
-	   : "=&r" (__eax), "=&r" (__ebx)
-	   : "i" (0x00200000));
-#endif
-
-  if (!((__eax ^ __ebx) & 0x00200000))
-    return 0;
-#endif
-
-  /* Host supports cpuid.  Return highest supported cpuid input value.  */
-  __cpuid (__ext, __eax, __ebx, __ecx, __edx);
-
-  if (__sig)
-    *__sig = __ebx;
-
-  return __eax;
-}
-
-/* Return cpuid data for requested cpuid level, as found in returned
-   eax, ebx, ecx and edx registers.  The function checks if cpuid is
-   supported and returns 1 for valid cpuid information or 0 for
-   unsupported cpuid level.  All pointers are required to be non-null.  */
-
-static __inline int
-__get_cpuid (unsigned int __level,
-	     unsigned int *__eax, unsigned int *__ebx,
-	     unsigned int *__ecx, unsigned int *__edx)
-{
-  unsigned int __ext = __level & 0x80000000;
-
-  if (__get_cpuid_max (__ext, 0) < __level)
-    return 0;
-
-  __cpuid (__level, *__eax, *__ebx, *__ecx, *__edx);
-  return 1;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/i386-xstate.h ./gdb/common/i386-xstate.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/i386-xstate.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/i386-xstate.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,67 +0,0 @@
-/* Common code for i386 XSAVE extended state.
-
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef I386_XSTATE_H
-#define I386_XSTATE_H 1
-
-/* The extended state feature bits.  */
-#define I386_XSTATE_X87		(1ULL << 0)
-#define I386_XSTATE_SSE		(1ULL << 1)
-#define I386_XSTATE_AVX		(1ULL << 2)
-#define I386_XSTATE_BNDREGS	(1ULL << 3)
-#define I386_XSTATE_BNDCFG	(1ULL << 4)
-#define I386_XSTATE_MPX		(I386_XSTATE_BNDREGS | I386_XSTATE_BNDCFG)
-
-/* AVX 512 adds three feature bits.  All three must be enabled.  */
-#define I386_XSTATE_K		(1ULL << 5)
-#define I386_XSTATE_ZMM_H	(1ULL << 6)
-#define I386_XSTATE_ZMM		(1ULL << 7)
-#define I386_XSTATE_AVX512	(I386_XSTATE_K | I386_XSTATE_ZMM_H \
-				 | I386_XSTATE_ZMM)
-
-/* Supported mask and size of the extended state.  */
-#define I386_XSTATE_X87_MASK	I386_XSTATE_X87
-#define I386_XSTATE_SSE_MASK	(I386_XSTATE_X87 | I386_XSTATE_SSE)
-#define I386_XSTATE_AVX_MASK	(I386_XSTATE_SSE_MASK | I386_XSTATE_AVX)
-#define I386_XSTATE_MPX_MASK	(I386_XSTATE_AVX_MASK | I386_XSTATE_MPX)
-#define I386_XSTATE_AVX512_MASK	(I386_XSTATE_AVX_MASK | I386_XSTATE_AVX512)
-#define I386_XSTATE_MPX_AVX512_MASK (I386_XSTATE_MPX_MASK | I386_XSTATE_AVX512)
-
-#define I386_XSTATE_ALL_MASK	(I386_XSTATE_MPX_AVX512_MASK)
-
-#define I386_XSTATE_SSE_SIZE	576
-#define I386_XSTATE_AVX_SIZE	832
-#define I386_XSTATE_BNDREGS_SIZE	1024
-#define I386_XSTATE_BNDCFG_SIZE	1088
-#define I386_XSTATE_AVX512_SIZE     2688
-#define I386_XSTATE_MAX_SIZE        2688
-
-
-/* In case one of the MPX XCR0 bits is set we consider we have MPX.  */
-#define HAS_MPX(XCR0) (((XCR0) & I386_XSTATE_MPX) != 0)
-#define HAS_AVX(XCR0) (((XCR0) & I386_XSTATE_AVX) != 0)
-#define HAS_AVX512(XCR0) (((XCR0) & I386_XSTATE_AVX512) != 0)
-
-/* Get I386 XSAVE extended state size.  */
-#define I386_XSTATE_SIZE(XCR0) \
-    (HAS_AVX512 (XCR0) ? I386_XSTATE_AVX512_SIZE : \
-     (HAS_MPX (XCR0) ? I386_XSTATE_BNDCFG_SIZE : \
-      (HAS_AVX (XCR0) ? I386_XSTATE_AVX_SIZE : I386_XSTATE_SSE_SIZE)))
-
-#endif /* I386_XSTATE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-btrace.c ./gdb/common/linux-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-btrace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/linux-btrace.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,634 +0,0 @@
-/* Linux-dependent part of branch trace support for GDB, and GDBserver.
-
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
-
-   Contributed by Intel Corp. <markus.t.metzger@intel.com>
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
-#include "linux-btrace.h"
-#include "common-utils.h"
-#include "gdb_assert.h"
-#include "regcache.h"
-#include "gdbthread.h"
-#include "gdb_wait.h"
-#include "i386-cpuid.h"
-
-#ifdef HAVE_SYS_SYSCALL_H
-#include <sys/syscall.h>
-#endif
-
-#if HAVE_LINUX_PERF_EVENT_H && defined(SYS_perf_event_open)
-
-#include <errno.h>
-#include <string.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <sys/user.h>
-#include <sys/ptrace.h>
-#include <sys/types.h>
-#include <signal.h>
-
-/* A branch trace record in perf_event.  */
-struct perf_event_bts
-{
-  /* The linear address of the branch source.  */
-  uint64_t from;
-
-  /* The linear address of the branch destination.  */
-  uint64_t to;
-};
-
-/* A perf_event branch trace sample.  */
-struct perf_event_sample
-{
-  /* The perf_event sample header.  */
-  struct perf_event_header header;
-
-  /* The perf_event branch tracing payload.  */
-  struct perf_event_bts bts;
-};
-
-/* Get the perf_event header.  */
-
-static inline volatile struct perf_event_mmap_page *
-perf_event_header (struct btrace_target_info* tinfo)
-{
-  return tinfo->buffer;
-}
-
-/* Get the size of the perf_event mmap buffer.  */
-
-static inline size_t
-perf_event_mmap_size (const struct btrace_target_info *tinfo)
-{
-  /* The branch trace buffer is preceded by a configuration page.  */
-  return (tinfo->size + 1) * PAGE_SIZE;
-}
-
-/* Get the size of the perf_event buffer.  */
-
-static inline size_t
-perf_event_buffer_size (struct btrace_target_info* tinfo)
-{
-  return tinfo->size * PAGE_SIZE;
-}
-
-/* Get the start address of the perf_event buffer.  */
-
-static inline const uint8_t *
-perf_event_buffer_begin (struct btrace_target_info* tinfo)
-{
-  return ((const uint8_t *) tinfo->buffer) + PAGE_SIZE;
-}
-
-/* Get the end address of the perf_event buffer.  */
-
-static inline const uint8_t *
-perf_event_buffer_end (struct btrace_target_info* tinfo)
-{
-  return perf_event_buffer_begin (tinfo) + perf_event_buffer_size (tinfo);
-}
-
-/* Check whether an address is in the kernel.  */
-
-static inline int
-perf_event_is_kernel_addr (const struct btrace_target_info *tinfo,
-			   uint64_t addr)
-{
-  uint64_t mask;
-
-  /* If we don't know the size of a pointer, we can't check.  Let's assume it's
-     not a kernel address in this case.  */
-  if (tinfo->ptr_bits == 0)
-    return 0;
-
-  /* A bit mask for the most significant bit in an address.  */
-  mask = (uint64_t) 1 << (tinfo->ptr_bits - 1);
-
-  /* Check whether the most significant bit in the address is set.  */
-  return (addr & mask) != 0;
-}
-
-/* Check whether a perf event record should be skipped.  */
-
-static inline int
-perf_event_skip_record (const struct btrace_target_info *tinfo,
-			const struct perf_event_bts *bts)
-{
-  /* The hardware may report branches from kernel into user space.  Branches
-     from user into kernel space will be suppressed.  We filter the former to
-     provide a consistent branch trace excluding kernel.  */
-  return perf_event_is_kernel_addr (tinfo, bts->from);
-}
-
-/* Perform a few consistency checks on a perf event sample record.  This is
-   meant to catch cases when we get out of sync with the perf event stream.  */
-
-static inline int
-perf_event_sample_ok (const struct perf_event_sample *sample)
-{
-  if (sample->header.type != PERF_RECORD_SAMPLE)
-    return 0;
-
-  if (sample->header.size != sizeof (*sample))
-    return 0;
-
-  return 1;
-}
-
-/* Branch trace is collected in a circular buffer [begin; end) as pairs of from
-   and to addresses (plus a header).
-
-   Start points into that buffer at the next sample position.
-   We read the collected samples backwards from start.
-
-   While reading the samples, we convert the information into a list of blocks.
-   For two adjacent samples s1 and s2, we form a block b such that b.begin =
-   s1.to and b.end = s2.from.
-
-   In case the buffer overflows during sampling, one sample may have its lower
-   part at the end and its upper part at the beginning of the buffer.  */
-
-static VEC (btrace_block_s) *
-perf_event_read_bts (struct btrace_target_info* tinfo, const uint8_t *begin,
-		     const uint8_t *end, const uint8_t *start, size_t size)
-{
-  VEC (btrace_block_s) *btrace = NULL;
-  struct perf_event_sample sample;
-  size_t read = 0;
-  struct btrace_block block = { 0, 0 };
-  struct regcache *regcache;
-
-  gdb_assert (begin <= start);
-  gdb_assert (start <= end);
-
-  /* The first block ends at the current pc.  */
-#ifdef GDBSERVER
-  regcache = get_thread_regcache (find_thread_ptid (tinfo->ptid), 1);
-#else
-  regcache = get_thread_regcache (tinfo->ptid);
-#endif
-  block.end = regcache_read_pc (regcache);
-
-  /* The buffer may contain a partial record as its last entry (i.e. when the
-     buffer size is not a multiple of the sample size).  */
-  read = sizeof (sample) - 1;
-
-  for (; read < size; read += sizeof (sample))
-    {
-      const struct perf_event_sample *psample;
-
-      /* Find the next perf_event sample in a backwards traversal.  */
-      start -= sizeof (sample);
-
-      /* If we're still inside the buffer, we're done.  */
-      if (begin <= start)
-	psample = (const struct perf_event_sample *) start;
-      else
-	{
-	  int missing;
-
-	  /* We're to the left of the ring buffer, we will wrap around and
-	     reappear at the very right of the ring buffer.  */
-
-	  missing = (begin - start);
-	  start = (end - missing);
-
-	  /* If the entire sample is missing, we're done.  */
-	  if (missing == sizeof (sample))
-	    psample = (const struct perf_event_sample *) start;
-	  else
-	    {
-	      uint8_t *stack;
-
-	      /* The sample wrapped around.  The lower part is at the end and
-		 the upper part is at the beginning of the buffer.  */
-	      stack = (uint8_t *) &sample;
-
-	      /* Copy the two parts so we have a contiguous sample.  */
-	      memcpy (stack, start, missing);
-	      memcpy (stack + missing, begin, sizeof (sample) - missing);
-
-	      psample = &sample;
-	    }
-	}
-
-      if (!perf_event_sample_ok (psample))
-	{
-	  warning (_("Branch trace may be incomplete."));
-	  break;
-	}
-
-      if (perf_event_skip_record (tinfo, &psample->bts))
-	continue;
-
-      /* We found a valid sample, so we can complete the current block.  */
-      block.begin = psample->bts.to;
-
-      VEC_safe_push (btrace_block_s, btrace, &block);
-
-      /* Start the next block.  */
-      block.end = psample->bts.from;
-    }
-
-  /* Push the last block (i.e. the first one of inferior execution), as well.
-     We don't know where it ends, but we know where it starts.  If we're
-     reading delta trace, we can fill in the start address later on.
-     Otherwise we will prune it.  */
-  block.begin = 0;
-  VEC_safe_push (btrace_block_s, btrace, &block);
-
-  return btrace;
-}
-
-/* Check whether the kernel supports branch tracing.  */
-
-static int
-kernel_supports_btrace (void)
-{
-  struct perf_event_attr attr;
-  pid_t child, pid;
-  int status, file;
-
-  errno = 0;
-  child = fork ();
-  switch (child)
-    {
-    case -1:
-      warning (_("test branch tracing: cannot fork: %s."), strerror (errno));
-      return 0;
-
-    case 0:
-      status = ptrace (PTRACE_TRACEME, 0, NULL, NULL);
-      if (status != 0)
-	{
-	  warning (_("test branch tracing: cannot PTRACE_TRACEME: %s."),
-		   strerror (errno));
-	  _exit (1);
-	}
-
-      status = raise (SIGTRAP);
-      if (status != 0)
-	{
-	  warning (_("test branch tracing: cannot raise SIGTRAP: %s."),
-		   strerror (errno));
-	  _exit (1);
-	}
-
-      _exit (1);
-
-    default:
-      pid = waitpid (child, &status, 0);
-      if (pid != child)
-	{
-	  warning (_("test branch tracing: bad pid %ld, error: %s."),
-		   (long) pid, strerror (errno));
-	  return 0;
-	}
-
-      if (!WIFSTOPPED (status))
-	{
-	  warning (_("test branch tracing: expected stop. status: %d."),
-		   status);
-	  return 0;
-	}
-
-      memset (&attr, 0, sizeof (attr));
-
-      attr.type = PERF_TYPE_HARDWARE;
-      attr.config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS;
-      attr.sample_period = 1;
-      attr.sample_type = PERF_SAMPLE_IP | PERF_SAMPLE_ADDR;
-      attr.exclude_kernel = 1;
-      attr.exclude_hv = 1;
-      attr.exclude_idle = 1;
-
-      file = syscall (SYS_perf_event_open, &attr, child, -1, -1, 0);
-      if (file >= 0)
-	close (file);
-
-      kill (child, SIGKILL);
-      ptrace (PTRACE_KILL, child, NULL, NULL);
-
-      pid = waitpid (child, &status, 0);
-      if (pid != child)
-	{
-	  warning (_("test branch tracing: bad pid %ld, error: %s."),
-		   (long) pid, strerror (errno));
-	  if (!WIFSIGNALED (status))
-	    warning (_("test branch tracing: expected killed. status: %d."),
-		     status);
-	}
-
-      return (file >= 0);
-    }
-}
-
-/* Check whether an Intel cpu supports branch tracing.  */
-
-static int
-intel_supports_btrace (void)
-{
-  unsigned int cpuid, model, family;
-
-  if (!i386_cpuid (1, &cpuid, NULL, NULL, NULL))
-    return 0;
-
-  family = (cpuid >> 8) & 0xf;
-  model = (cpuid >> 4) & 0xf;
-
-  switch (family)
-    {
-    case 0x6:
-      model += (cpuid >> 12) & 0xf0;
-
-      switch (model)
-	{
-	case 0x1a: /* Nehalem */
-	case 0x1f:
-	case 0x1e:
-	case 0x2e:
-	case 0x25: /* Westmere */
-	case 0x2c:
-	case 0x2f:
-	case 0x2a: /* Sandy Bridge */
-	case 0x2d:
-	case 0x3a: /* Ivy Bridge */
-
-	  /* AAJ122: LBR, BTM, or BTS records may have incorrect branch
-	     "from" information afer an EIST transition, T-states, C1E, or
-	     Adaptive Thermal Throttling.  */
-	  return 0;
-	}
-    }
-
-  return 1;
-}
-
-/* Check whether the cpu supports branch tracing.  */
-
-static int
-cpu_supports_btrace (void)
-{
-  unsigned int ebx, ecx, edx;
-
-  if (!i386_cpuid (0, NULL, &ebx, &ecx, &edx))
-    return 0;
-
-  if (ebx == signature_INTEL_ebx && ecx == signature_INTEL_ecx
-      && edx == signature_INTEL_edx)
-    return intel_supports_btrace ();
-
-  /* Don't know about others.  Let's assume they do.  */
-  return 1;
-}
-
-/* See linux-btrace.h.  */
-
-int
-linux_supports_btrace (struct target_ops *ops)
-{
-  static int cached;
-
-  if (cached == 0)
-    {
-      if (!kernel_supports_btrace ())
-	cached = -1;
-      else if (!cpu_supports_btrace ())
-	cached = -1;
-      else
-	cached = 1;
-    }
-
-  return cached > 0;
-}
-
-/* See linux-btrace.h.  */
-
-struct btrace_target_info *
-linux_enable_btrace (ptid_t ptid)
-{
-  struct btrace_target_info *tinfo;
-  int pid, pg;
-
-  tinfo = xzalloc (sizeof (*tinfo));
-  tinfo->ptid = ptid;
-
-  tinfo->attr.size = sizeof (tinfo->attr);
-  tinfo->attr.type = PERF_TYPE_HARDWARE;
-  tinfo->attr.config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS;
-  tinfo->attr.sample_period = 1;
-
-  /* We sample from and to address.  */
-  tinfo->attr.sample_type = PERF_SAMPLE_IP | PERF_SAMPLE_ADDR;
-
-  tinfo->attr.exclude_kernel = 1;
-  tinfo->attr.exclude_hv = 1;
-  tinfo->attr.exclude_idle = 1;
-
-  tinfo->ptr_bits = 0;
-
-  pid = ptid_get_lwp (ptid);
-  if (pid == 0)
-    pid = ptid_get_pid (ptid);
-
-  errno = 0;
-  tinfo->file = syscall (SYS_perf_event_open, &tinfo->attr, pid, -1, -1, 0);
-  if (tinfo->file < 0)
-    goto err;
-
-  /* We try to allocate as much buffer as we can get.
-     We could allow the user to specify the size of the buffer, but then
-     we'd leave this search for the maximum buffer size to him.  */
-  for (pg = 4; pg >= 0; --pg)
-    {
-      /* The number of pages we request needs to be a power of two.  */
-      tinfo->size = 1 << pg;
-      tinfo->buffer = mmap (NULL, perf_event_mmap_size (tinfo),
-			    PROT_READ, MAP_SHARED, tinfo->file, 0);
-      if (tinfo->buffer == MAP_FAILED)
-	continue;
-
-      return tinfo;
-    }
-
-  /* We were not able to allocate any buffer.  */
-  close (tinfo->file);
-
- err:
-  xfree (tinfo);
-  return NULL;
-}
-
-/* See linux-btrace.h.  */
-
-enum btrace_error
-linux_disable_btrace (struct btrace_target_info *tinfo)
-{
-  int errcode;
-
-  errno = 0;
-  errcode = munmap (tinfo->buffer, perf_event_mmap_size (tinfo));
-  if (errcode != 0)
-    return BTRACE_ERR_UNKNOWN;
-
-  close (tinfo->file);
-  xfree (tinfo);
-
-  return BTRACE_ERR_NONE;
-}
-
-/* Check whether the branch trace has changed.  */
-
-static int
-linux_btrace_has_changed (struct btrace_target_info *tinfo)
-{
-  volatile struct perf_event_mmap_page *header = perf_event_header (tinfo);
-
-  return header->data_head != tinfo->data_head;
-}
-
-/* See linux-btrace.h.  */
-
-enum btrace_error
-linux_read_btrace (VEC (btrace_block_s) **btrace,
-		   struct btrace_target_info *tinfo,
-		   enum btrace_read_type type)
-{
-  volatile struct perf_event_mmap_page *header;
-  const uint8_t *begin, *end, *start;
-  unsigned long data_head, data_tail, retries = 5;
-  size_t buffer_size, size;
-
-  /* For delta reads, we return at least the partial last block containing
-     the current PC.  */
-  if (type == BTRACE_READ_NEW && !linux_btrace_has_changed (tinfo))
-    return BTRACE_ERR_NONE;
-
-  header = perf_event_header (tinfo);
-  buffer_size = perf_event_buffer_size (tinfo);
-  data_tail = tinfo->data_head;
-
-  /* We may need to retry reading the trace.  See below.  */
-  while (retries--)
-    {
-      data_head = header->data_head;
-
-      /* Delete any leftover trace from the previous iteration.  */
-      VEC_free (btrace_block_s, *btrace);
-
-      if (type == BTRACE_READ_DELTA)
-	{
-	  /* Determine the number of bytes to read and check for buffer
-	     overflows.  */
-
-	  /* Check for data head overflows.  We might be able to recover from
-	     those but they are very unlikely and it's not really worth the
-	     effort, I think.  */
-	  if (data_head < data_tail)
-	    return BTRACE_ERR_OVERFLOW;
-
-	  /* If the buffer is smaller than the trace delta, we overflowed.  */
-	  size = data_head - data_tail;
-	  if (buffer_size < size)
-	    return BTRACE_ERR_OVERFLOW;
-	}
-      else
-	{
-	  /* Read the entire buffer.  */
-	  size = buffer_size;
-
-	  /* Adjust the size if the buffer has not overflowed, yet.  */
-	  if (data_head < size)
-	    size = data_head;
-	}
-
-      /* Data_head keeps growing; the buffer itself is circular.  */
-      begin = perf_event_buffer_begin (tinfo);
-      start = begin + data_head % buffer_size;
-
-      if (data_head <= buffer_size)
-	end = start;
-      else
-	end = perf_event_buffer_end (tinfo);
-
-      *btrace = perf_event_read_bts (tinfo, begin, end, start, size);
-
-      /* The stopping thread notifies its ptracer before it is scheduled out.
-	 On multi-core systems, the debugger might therefore run while the
-	 kernel might be writing the last branch trace records.
-
-	 Let's check whether the data head moved while we read the trace.  */
-      if (data_head == header->data_head)
-	break;
-    }
-
-  tinfo->data_head = data_head;
-
-  /* Prune the incomplete last block (i.e. the first one of inferior execution)
-     if we're not doing a delta read.  There is no way of filling in its zeroed
-     BEGIN element.  */
-  if (!VEC_empty (btrace_block_s, *btrace) && type != BTRACE_READ_DELTA)
-    VEC_pop (btrace_block_s, *btrace);
-
-  return BTRACE_ERR_NONE;
-}
-
-#else /* !HAVE_LINUX_PERF_EVENT_H */
-
-/* See linux-btrace.h.  */
-
-int
-linux_supports_btrace (struct target_ops *ops)
-{
-  return 0;
-}
-
-/* See linux-btrace.h.  */
-
-struct btrace_target_info *
-linux_enable_btrace (ptid_t ptid)
-{
-  return NULL;
-}
-
-/* See linux-btrace.h.  */
-
-enum btrace_error
-linux_disable_btrace (struct btrace_target_info *tinfo)
-{
-  return BTRACE_ERR_NOT_SUPPORTED;
-}
-
-/* See linux-btrace.h.  */
-
-enum btrace_error
-linux_read_btrace (VEC (btrace_block_s) **btrace,
-		   struct btrace_target_info *tinfo,
-		   enum btrace_read_type type)
-{
-  return BTRACE_ERR_NOT_SUPPORTED;
-}
-
-#endif /* !HAVE_LINUX_PERF_EVENT_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-btrace.h ./gdb/common/linux-btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-btrace.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/linux-btrace.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,78 +0,0 @@
-/* Linux-dependent part of branch trace support for GDB, and GDBserver.
-
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
-
-   Contributed by Intel Corp. <markus.t.metzger@intel.com>
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef LINUX_BTRACE_H
-#define LINUX_BTRACE_H
-
-#include "btrace-common.h"
-#include "config.h"
-#include "vec.h"
-#include "ptid.h"
-#include <stddef.h>
-#include <stdint.h>
-
-#if HAVE_LINUX_PERF_EVENT_H
-#  include <linux/perf_event.h>
-#endif
-
-/* Branch trace target information per thread.  */
-struct btrace_target_info
-{
-#if HAVE_LINUX_PERF_EVENT_H
-  /* The Linux perf_event configuration for collecting the branch trace.  */
-  struct perf_event_attr attr;
-
-  /* The ptid of this thread.  */
-  ptid_t ptid;
-
-  /* The mmap configuration mapping the branch trace perf_event buffer.
-
-     file      .. the file descriptor
-     buffer    .. the mmapped memory buffer
-     size      .. the buffer's size in pages without the configuration page
-     data_head .. the data head from the last read  */
-  int file;
-  void *buffer;
-  size_t size;
-  unsigned long data_head;
-#endif /* HAVE_LINUX_PERF_EVENT_H */
-
-  /* The size of a pointer in bits for this thread.
-     The information is used to identify kernel addresses in order to skip
-     records from/to kernel space.  */
-  int ptr_bits;
-};
-
-/* See to_supports_btrace in target.h.  */
-extern int linux_supports_btrace (struct target_ops *);
-
-/* See to_enable_btrace in target.h.  */
-extern struct btrace_target_info *linux_enable_btrace (ptid_t ptid);
-
-/* See to_disable_btrace in target.h.  */
-extern enum btrace_error linux_disable_btrace (struct btrace_target_info *ti);
-
-/* See to_read_btrace in target.h.  */
-extern enum btrace_error linux_read_btrace (VEC (btrace_block_s) **btrace,
-					    struct btrace_target_info *btinfo,
-					    enum btrace_read_type type);
-
-#endif /* LINUX_BTRACE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-osdata.c ./gdb/common/linux-osdata.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-osdata.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/linux-osdata.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,1634 +0,0 @@
-/* Linux-specific functions to retrieve OS data.
-   
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
-#include "linux-osdata.h"
-
-#include <sys/types.h>
-#include <sys/sysinfo.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <utmp.h>
-#include <time.h>
-#include <unistd.h>
-#include <pwd.h>
-#include <grp.h>
-#include <netdb.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "xml-utils.h"
-#include "buffer.h"
-#include "gdb_assert.h"
-#include <dirent.h>
-#include <sys/stat.h>
-#include "filestuff.h"
-
-#define NAMELEN(dirent) strlen ((dirent)->d_name)
-
-/* Define PID_T to be a fixed size that is at least as large as pid_t,
-   so that reading pid values embedded in /proc works
-   consistently.  */
-
-typedef long long  PID_T;
-
-/* Define TIME_T to be at least as large as time_t, so that reading
-   time values embedded in /proc works consistently.  */
-
-typedef long long TIME_T;
-
-#define MAX_PID_T_STRLEN  (sizeof ("-9223372036854775808") - 1)
-
-/* Returns the CPU core that thread PTID is currently running on.  */
-					  
-/* Compute and return the processor core of a given thread.  */
-
-int
-linux_common_core_of_thread (ptid_t ptid)
-{
-  char filename[sizeof ("/proc//task//stat") + 2 * MAX_PID_T_STRLEN];
-  FILE *f;
-  char *content = NULL;
-  char *p;
-  char *ts = 0;
-  int content_read = 0;
-  int i;
-  int core;
-
-  sprintf (filename, "/proc/%lld/task/%lld/stat",
-	   (PID_T) ptid_get_pid (ptid), (PID_T) ptid_get_lwp (ptid));
-  f = gdb_fopen_cloexec (filename, "r");
-  if (!f)
-    return -1;
-
-  for (;;)
-    {
-      int n;
-      content = xrealloc (content, content_read + 1024);
-      n = fread (content + content_read, 1, 1024, f);
-      content_read += n;
-      if (n < 1024)
-	{
-	  content[content_read] = '\0';
-	  break;
-	}
-    }
-
-  /* ps command also relies on no trailing fields ever contain ')'.  */
-  p = strrchr (content, ')');
-  if (p != NULL)
-    p++;
-
-  /* If the first field after program name has index 0, then core number is
-     the field with index 36.  There's no constant for that anywhere.  */
-  if (p != NULL)
-    p = strtok_r (p, " ", &ts);
-  for (i = 0; p != NULL && i != 36; ++i)
-    p = strtok_r (NULL, " ", &ts);
-
-  if (p == NULL || sscanf (p, "%d", &core) == 0)
-    core = -1;
-
-  xfree (content);
-  fclose (f);
-
-  return core;
-}
-
-/* Finds the command-line of process PID and copies it into COMMAND.
-   At most MAXLEN characters are copied.  If the command-line cannot
-   be found, PID is copied into command in text-form.  */
-
-static void
-command_from_pid (char *command, int maxlen, PID_T pid)
-{
-  char *stat_path = xstrprintf ("/proc/%lld/stat", pid); 
-  FILE *fp = gdb_fopen_cloexec (stat_path, "r");
-  
-  command[0] = '\0';
- 
-  if (fp)
-    {
-      /* sizeof (cmd) should be greater or equal to TASK_COMM_LEN (in
-	 include/linux/sched.h in the Linux kernel sources) plus two
-	 (for the brackets).  */
-      char cmd[18];
-      PID_T stat_pid;
-      int items_read = fscanf (fp, "%lld %17s", &stat_pid, cmd);
-	  
-      if (items_read == 2 && pid == stat_pid)
-	{
-	  cmd[strlen (cmd) - 1] = '\0'; /* Remove trailing parenthesis.  */
-	  strncpy (command, cmd + 1, maxlen); /* Ignore leading parenthesis.  */
-	}
-
-      fclose (fp);
-    }
-  else
-    {
-      /* Return the PID if a /proc entry for the process cannot be found.  */
-      snprintf (command, maxlen, "%lld", pid);
-    }
-
-  command[maxlen - 1] = '\0'; /* Ensure string is null-terminated.  */
-	
-  xfree (stat_path);
-}
-
-/* Returns the command-line of the process with the given PID. The
-   returned string needs to be freed using xfree after use.  */
-
-static char *
-commandline_from_pid (PID_T pid)
-{
-  char *pathname = xstrprintf ("/proc/%lld/cmdline", pid);
-  char *commandline = NULL;
-  FILE *f = gdb_fopen_cloexec (pathname, "r");
-
-  if (f)
-    {
-      size_t len = 0;
-
-      while (!feof (f))
-	{
-	  char buf[1024];
-	  size_t read_bytes = fread (buf, 1, sizeof (buf), f);
-     
-	  if (read_bytes)
-	    {
-	      commandline = (char *) xrealloc (commandline, len + read_bytes + 1);
-	      memcpy (commandline + len, buf, read_bytes);
-	      len += read_bytes;
-	    }
-	}
-
-      fclose (f);
-
-      if (commandline)
-	{
-	  size_t i;
-
-	  /* Replace null characters with spaces.  */
-	  for (i = 0; i < len; ++i)
-	    if (commandline[i] == '\0')
-	      commandline[i] = ' ';
-
-	  commandline[len] = '\0';
-	}
-      else
-	{
-	  /* Return the command in square brackets if the command-line
-	     is empty.  */
-	  commandline = (char *) xmalloc (32);
-	  commandline[0] = '[';
-	  command_from_pid (commandline + 1, 31, pid);
-
-	  len = strlen (commandline);
-	  if (len < 31)
-	    strcat (commandline, "]");
-	}
-    }
-
-  xfree (pathname);
-
-  return commandline;
-}
-
-/* Finds the user name for the user UID and copies it into USER.  At
-   most MAXLEN characters are copied.  */
-
-static void
-user_from_uid (char *user, int maxlen, uid_t uid)
-{
-  struct passwd *pwentry = getpwuid (uid);
-  
-  if (pwentry)
-    {
-      strncpy (user, pwentry->pw_name, maxlen);
-      /* Ensure that the user name is null-terminated.  */
-      user[maxlen - 1] = '\0';
-    }
-  else
-    user[0] = '\0';
-}
-
-/* Finds the owner of process PID and returns the user id in OWNER.
-   Returns 0 if the owner was found, -1 otherwise.  */
-
-static int
-get_process_owner (uid_t *owner, PID_T pid)
-{
-  struct stat statbuf;
-  char procentry[sizeof ("/proc/") + MAX_PID_T_STRLEN];
-
-  sprintf (procentry, "/proc/%lld", pid);
-  
-  if (stat (procentry, &statbuf) == 0 && S_ISDIR (statbuf.st_mode))
-    {
-      *owner = statbuf.st_uid;
-      return 0;
-    }
-  else
-    return -1;
-}
-
-/* Find the CPU cores used by process PID and return them in CORES.
-   CORES points to an array of NUM_CORES elements.  */
-
-static int
-get_cores_used_by_process (PID_T pid, int *cores, const int num_cores)
-{
-  char taskdir[sizeof ("/proc/") + MAX_PID_T_STRLEN + sizeof ("/task") - 1];
-  DIR *dir;
-  struct dirent *dp;
-  int task_count = 0;
-
-  sprintf (taskdir, "/proc/%lld/task", pid);
-  dir = opendir (taskdir);
-  if (dir)
-    {
-      while ((dp = readdir (dir)) != NULL)
-	{
-	  PID_T tid;
-	  int core;
-
-	  if (!isdigit (dp->d_name[0])
-	      || NAMELEN (dp) > MAX_PID_T_STRLEN)
-	    continue;
-
-	  sscanf (dp->d_name, "%lld", &tid);
-	  core = linux_common_core_of_thread (ptid_build ((pid_t) pid,
-							  (pid_t) tid, 0));
-
-	  if (core >= 0 && core < num_cores)
-	    {
-	      ++cores[core];
-	      ++task_count;
-	    }
-	}
-
-      closedir (dir);
-    }
-
-  return task_count;
-}
-
-static LONGEST
-linux_xfer_osdata_processes (gdb_byte *readbuf,
-			     ULONGEST offset, ULONGEST len)
-{
-  /* We make the process list snapshot when the object starts to be read.  */
-  static const char *buf;
-  static LONGEST len_avail = -1;
-  static struct buffer buffer;
-
-  if (offset == 0)
-    {
-      DIR *dirp;
-
-      if (len_avail != -1 && len_avail != 0)
-	buffer_free (&buffer);
-      len_avail = 0;
-      buf = NULL;
-      buffer_init (&buffer);
-      buffer_grow_str (&buffer, "<osdata type=\"processes\">\n");
-
-      dirp = opendir ("/proc");
-      if (dirp)
-	{
-	  const int num_cores = sysconf (_SC_NPROCESSORS_ONLN);
-	  struct dirent *dp;
-
-	  while ((dp = readdir (dirp)) != NULL)
-	    {
-	      PID_T pid;
-	      uid_t owner;
-	      char user[UT_NAMESIZE];
-	      char *command_line;
-	      int *cores;
-	      int task_count;
-	      char *cores_str;
-	      int i;
-
-	      if (!isdigit (dp->d_name[0])
-		  || NAMELEN (dp) > MAX_PID_T_STRLEN)
-		continue;
-
-	      sscanf (dp->d_name, "%lld", &pid);
-	      command_line = commandline_from_pid (pid);
-
-	      if (get_process_owner (&owner, pid) == 0)
-		user_from_uid (user, sizeof (user), owner);
-	      else
-		strcpy (user, "?");
-
-	      /* Find CPU cores used by the process.  */
-	      cores = (int *) xcalloc (num_cores, sizeof (int));
-	      task_count = get_cores_used_by_process (pid, cores, num_cores);
-	      cores_str = (char *) xcalloc (task_count, sizeof ("4294967295") + 1);
-
-	      for (i = 0; i < num_cores && task_count > 0; ++i)
-		if (cores[i])
-		  {
-		    char core_str[sizeof ("4294967295")];
-
-		    sprintf (core_str, "%d", i);
-		    strcat (cores_str, core_str);
-
-		    task_count -= cores[i];
-		    if (task_count > 0)
-		      strcat (cores_str, ",");
-		  }
-
-	      xfree (cores);
-	      
-	      buffer_xml_printf (
-		  &buffer,
-		  "<item>"
-		  "<column name=\"pid\">%lld</column>"
-		  "<column name=\"user\">%s</column>"
-		  "<column name=\"command\">%s</column>"
-		  "<column name=\"cores\">%s</column>"
-		  "</item>",
-		  pid,
-		  user,
-		  command_line ? command_line : "",
-		  cores_str);
-
-	      xfree (command_line);     
-	      xfree (cores_str);
-	    }
-	  
-	  closedir (dirp);
-	}
-
-      buffer_grow_str0 (&buffer, "</osdata>\n");
-      buf = buffer_finish (&buffer);
-      len_avail = strlen (buf);
-    }
-
-  if (offset >= len_avail)
-    {
-      /* Done.  Get rid of the buffer.  */
-      buffer_free (&buffer);
-      buf = NULL;
-      len_avail = 0;
-      return 0;
-    }
-
-  if (len > len_avail - offset)
-    len = len_avail - offset;
-  memcpy (readbuf, buf + offset, len);
-
-  return len;
-}
-
-/* Auxiliary function used by qsort to sort processes by process
-   group.  Compares two processes with ids PROCESS1 and PROCESS2.
-   PROCESS1 comes before PROCESS2 if it has a lower process group id.
-   If they belong to the same process group, PROCESS1 comes before
-   PROCESS2 if it has a lower process id or is the process group
-   leader.  */
-
-static int
-compare_processes (const void *process1, const void *process2)
-{
-  PID_T pid1 = *((PID_T *) process1);
-  PID_T pid2 = *((PID_T *) process2);
-  PID_T pgid1 = *((PID_T *) process1 + 1);
-  PID_T pgid2 = *((PID_T *) process2 + 1);
-
-  /* Sort by PGID.  */
-  if (pgid1 < pgid2)
-    return -1;
-  else if (pgid1 > pgid2)
-    return 1;
-  else
-    {
-      /* Process group leaders always come first, else sort by PID.  */
-      if (pid1 == pgid1)
-	return -1;
-      else if (pid2 == pgid2)
-	return 1;
-      else if (pid1 < pid2)
-	return -1;
-      else if (pid1 > pid2)
-	return 1;
-      else
-	return 0;
-    }
-}
-
-/* Collect all process groups from /proc.  */
-
-static LONGEST
-linux_xfer_osdata_processgroups (gdb_byte *readbuf,
-				 ULONGEST offset, ULONGEST len)
-{
-  /* We make the process list snapshot when the object starts to be read.  */
-  static const char *buf;
-  static LONGEST len_avail = -1;
-  static struct buffer buffer;
-
-  if (offset == 0)
-    {
-      DIR *dirp;
-
-      if (len_avail != -1 && len_avail != 0)
-	buffer_free (&buffer);
-      len_avail = 0;
-      buf = NULL;
-      buffer_init (&buffer);
-      buffer_grow_str (&buffer, "<osdata type=\"process groups\">\n");
-
-      dirp = opendir ("/proc");
-      if (dirp)
-	{
-	  struct dirent *dp;
-	  const size_t list_block_size = 512;
-	  PID_T *process_list = (PID_T *) xmalloc (list_block_size * 2 * sizeof (PID_T));
-	  size_t process_count = 0;
-	  size_t i;
-
-	  /* Build list consisting of PIDs followed by their
-	     associated PGID.  */
-	  while ((dp = readdir (dirp)) != NULL)
-	    {
-	      PID_T pid, pgid;
-
-	      if (!isdigit (dp->d_name[0])
-		  || NAMELEN (dp) > MAX_PID_T_STRLEN)
-		continue;
-
-	      sscanf (dp->d_name, "%lld", &pid);
-	      pgid = getpgid (pid);
-
-	      if (pgid > 0)
-		{
-		  process_list[2 * process_count] = pid;
-		  process_list[2 * process_count + 1] = pgid;
-		  ++process_count;
-
-		  /* Increase the size of the list if necessary.  */
-		  if (process_count % list_block_size == 0)
-		    process_list = (PID_T *) xrealloc (
-			process_list,
-			(process_count + list_block_size)
-			* 2 * sizeof (PID_T));
-		}
-	    }
-
-	  closedir (dirp);
-
-	  /* Sort the process list.  */
-	  qsort (process_list, process_count, 2 * sizeof (PID_T),
-		 compare_processes);
-
-	  for (i = 0; i < process_count; ++i)
-	    {
-	      PID_T pid = process_list[2 * i];
-	      PID_T pgid = process_list[2 * i + 1];
-	      char leader_command[32];
-	      char *command_line;
-
-	      command_from_pid (leader_command, sizeof (leader_command), pgid);
-	      command_line = commandline_from_pid (pid);
-
-	      buffer_xml_printf (
-		  &buffer,
-		  "<item>"
-		  "<column name=\"pgid\">%lld</column>"
-		  "<column name=\"leader command\">%s</column>"
-		  "<column name=\"pid\">%lld</column>"
-		  "<column name=\"command line\">%s</column>"
-		  "</item>",
-		  pgid,
-		  leader_command,
-		  pid,
-		  command_line ? command_line : "");
-
-	      xfree (command_line);
-	    }
-
-	  xfree (process_list);
-	}   
-
-      buffer_grow_str0 (&buffer, "</osdata>\n");
-      buf = buffer_finish (&buffer);
-      len_avail = strlen (buf);
-    }
-
-  if (offset >= len_avail)
-    {
-      /* Done.  Get rid of the buffer.  */
-      buffer_free (&buffer);
-      buf = NULL;
-      len_avail = 0;
-      return 0;
-    }
-
-  if (len > len_avail - offset)
-    len = len_avail - offset;
-  memcpy (readbuf, buf + offset, len);
-
-  return len;
-}
-
-/* Collect all the threads in /proc by iterating through processes and
-   then tasks within each process.  */
-
-static LONGEST
-linux_xfer_osdata_threads (gdb_byte *readbuf,
-			   ULONGEST offset, ULONGEST len)
-{
-  /* We make the process list snapshot when the object starts to be read.  */
-  static const char *buf;
-  static LONGEST len_avail = -1;
-  static struct buffer buffer;
-
-  if (offset == 0)
-    {
-      DIR *dirp;
-
-      if (len_avail != -1 && len_avail != 0)
-	buffer_free (&buffer);
-      len_avail = 0;
-      buf = NULL;
-      buffer_init (&buffer);
-      buffer_grow_str (&buffer, "<osdata type=\"threads\">\n");
-
-      dirp = opendir ("/proc");
-      if (dirp)
-	{
-	  struct dirent *dp;
-
-	  while ((dp = readdir (dirp)) != NULL)
-	    {
-	      struct stat statbuf;
-	      char procentry[sizeof ("/proc/4294967295")];
-
-	      if (!isdigit (dp->d_name[0])
-		  || NAMELEN (dp) > sizeof ("4294967295") - 1)
-		continue;
-
-	      sprintf (procentry, "/proc/%s", dp->d_name);
-	      if (stat (procentry, &statbuf) == 0
-		  && S_ISDIR (statbuf.st_mode))
-		{
-		  DIR *dirp2;
-		  char *pathname;
-		  PID_T pid;
-		  char command[32];
-
-		  pathname = xstrprintf ("/proc/%s/task", dp->d_name);
-		  
-		  pid = atoi (dp->d_name);
-		  command_from_pid (command, sizeof (command), pid);
-
-		  dirp2 = opendir (pathname);
-
-		  if (dirp2)
-		    {
-		      struct dirent *dp2;
-
-		      while ((dp2 = readdir (dirp2)) != NULL)
-			{
-			  PID_T tid;
-			  int core;
-
-			  if (!isdigit (dp2->d_name[0])
-			      || NAMELEN (dp2) > sizeof ("4294967295") - 1)
-			    continue;
-
-			  tid = atoi (dp2->d_name);
-			  core = linux_common_core_of_thread (ptid_build (pid, tid, 0));
-
-			  buffer_xml_printf (
-			    &buffer,
-			    "<item>"
-			    "<column name=\"pid\">%lld</column>"
-			    "<column name=\"command\">%s</column>"
-			    "<column name=\"tid\">%lld</column>"
-			    "<column name=\"core\">%d</column>"
-			    "</item>",
-			    pid,
-			    command,
-			    tid,
-			    core);
-			}
-
-		      closedir (dirp2);
-		    }
-
-		  xfree (pathname);
-		}
-	    }
-
-	  closedir (dirp);
-	}
-
-      buffer_grow_str0 (&buffer, "</osdata>\n");
-      buf = buffer_finish (&buffer);
-      len_avail = strlen (buf);
-    }
-
-  if (offset >= len_avail)
-    {
-      /* Done.  Get rid of the buffer.  */
-      buffer_free (&buffer);
-      buf = NULL;
-      len_avail = 0;
-      return 0;
-    }
-
-  if (len > len_avail - offset)
-    len = len_avail - offset;
-  memcpy (readbuf, buf + offset, len);
-
-  return len;
-}
-
-/* Collect all the open file descriptors found in /proc and put the details
-   found about them into READBUF.  */
-
-static LONGEST
-linux_xfer_osdata_fds (gdb_byte *readbuf,
-		       ULONGEST offset, ULONGEST len)
-{
-  /* We make the process list snapshot when the object starts to be read.  */
-  static const char *buf;
-  static LONGEST len_avail = -1;
-  static struct buffer buffer;
-
-  if (offset == 0)
-    {
-      DIR *dirp;
-
-      if (len_avail != -1 && len_avail != 0)
-	buffer_free (&buffer);
-      len_avail = 0;
-      buf = NULL;
-      buffer_init (&buffer);
-      buffer_grow_str (&buffer, "<osdata type=\"files\">\n");
-
-      dirp = opendir ("/proc");
-      if (dirp)
-	{
-	  struct dirent *dp;
-
-	  while ((dp = readdir (dirp)) != NULL)
-	    {
-	      struct stat statbuf;
-	      char procentry[sizeof ("/proc/4294967295")];
-
-	      if (!isdigit (dp->d_name[0])
-		  || NAMELEN (dp) > sizeof ("4294967295") - 1)
-		continue;
-
-	      sprintf (procentry, "/proc/%s", dp->d_name);
-	      if (stat (procentry, &statbuf) == 0
-		  && S_ISDIR (statbuf.st_mode))
-		{
-		  char *pathname;
-		  DIR *dirp2;
-		  PID_T pid;
-		  char command[32];
-
-		  pid = atoi (dp->d_name);
-		  command_from_pid (command, sizeof (command), pid);
-
-		  pathname = xstrprintf ("/proc/%s/fd", dp->d_name);
-		  dirp2 = opendir (pathname);
-
-		  if (dirp2)
-		    {
-		      struct dirent *dp2;
-
-		      while ((dp2 = readdir (dirp2)) != NULL)
-			{
-			  char *fdname;
-			  char buf[1000];
-			  ssize_t rslt;
-
-			  if (!isdigit (dp2->d_name[0]))
-			    continue;
-
-			  fdname = xstrprintf ("%s/%s", pathname, dp2->d_name);
-			  rslt = readlink (fdname, buf, sizeof (buf) - 1);
-			  if (rslt >= 0)
-			    buf[rslt] = '\0';
-
-			  buffer_xml_printf (
-			    &buffer,
-			    "<item>"
-			    "<column name=\"pid\">%s</column>"
-			    "<column name=\"command\">%s</column>"
-			    "<column name=\"file descriptor\">%s</column>"
-			    "<column name=\"name\">%s</column>"
-			    "</item>",
-			    dp->d_name,
-			    command,
-			    dp2->d_name,
-			    (rslt >= 0 ? buf : dp2->d_name));
-			}
-
-		      closedir (dirp2);
-		    }
-
-		  xfree (pathname);
-		}
-	    }
-
-	  closedir (dirp);
-	}
-
-      buffer_grow_str0 (&buffer, "</osdata>\n");
-      buf = buffer_finish (&buffer);
-      len_avail = strlen (buf);
-    }
-
-  if (offset >= len_avail)
-    {
-      /* Done.  Get rid of the buffer.  */
-      buffer_free (&buffer);
-      buf = NULL;
-      len_avail = 0;
-      return 0;
-    }
-
-  if (len > len_avail - offset)
-    len = len_avail - offset;
-  memcpy (readbuf, buf + offset, len);
-
-  return len;
-}
-
-/* Returns the socket state STATE in textual form.  */
-
-static const char *
-format_socket_state (unsigned char state)
-{
-  /* Copied from include/net/tcp_states.h in the Linux kernel sources.  */
-  enum {
-    TCP_ESTABLISHED = 1,
-    TCP_SYN_SENT,
-    TCP_SYN_RECV,
-    TCP_FIN_WAIT1,
-    TCP_FIN_WAIT2,
-    TCP_TIME_WAIT,
-    TCP_CLOSE,
-    TCP_CLOSE_WAIT,
-    TCP_LAST_ACK,
-    TCP_LISTEN,
-    TCP_CLOSING
-  };
-
-  switch (state)
-    {
-    case TCP_ESTABLISHED:
-      return "ESTABLISHED";
-    case TCP_SYN_SENT:
-      return "SYN_SENT";
-    case TCP_SYN_RECV:
-      return "SYN_RECV";
-    case TCP_FIN_WAIT1:
-      return "FIN_WAIT1";
-    case TCP_FIN_WAIT2:
-      return "FIN_WAIT2";
-    case TCP_TIME_WAIT:
-      return "TIME_WAIT";
-    case TCP_CLOSE:
-      return "CLOSE";
-    case TCP_CLOSE_WAIT:
-      return "CLOSE_WAIT";
-    case TCP_LAST_ACK:
-      return "LAST_ACK";
-    case TCP_LISTEN:
-      return "LISTEN";
-    case TCP_CLOSING:
-      return "CLOSING";
-    default:
-      return "(unknown)";
-    }
-}
-
-union socket_addr
-  {
-    struct sockaddr sa;
-    struct sockaddr_in sin;
-    struct sockaddr_in6 sin6;
-  };
-
-/* Auxiliary function used by linux_xfer_osdata_isocket.  Formats
-   information for all open internet sockets of type FAMILY on the
-   system into BUFFER.  If TCP is set, only TCP sockets are processed,
-   otherwise only UDP sockets are processed.  */
-
-static void
-print_sockets (unsigned short family, int tcp, struct buffer *buffer)
-{
-  const char *proc_file;
-  FILE *fp;
-
-  if (family == AF_INET)
-    proc_file = tcp ? "/proc/net/tcp" : "/proc/net/udp";
-  else if (family == AF_INET6)
-    proc_file = tcp ? "/proc/net/tcp6" : "/proc/net/udp6";
-  else
-    return;
-
-  fp = gdb_fopen_cloexec (proc_file, "r");
-  if (fp)
-    {
-      char buf[8192];
-
-      do
-	{
-	  if (fgets (buf, sizeof (buf), fp))
-	    {
-	      uid_t uid;
-	      unsigned int local_port, remote_port, state;
-	      char local_address[NI_MAXHOST], remote_address[NI_MAXHOST];
-	      int result;
-
-#if NI_MAXHOST <= 32
-#error "local_address and remote_address buffers too small"
-#endif
-
-	      result = sscanf (buf,
-			       "%*d: %32[0-9A-F]:%X %32[0-9A-F]:%X %X %*X:%*X %*X:%*X %*X %d %*d %*u %*s\n",
-			       local_address, &local_port,
-			       remote_address, &remote_port,
-			       &state,
-			       &uid);
-	      
-	      if (result == 6)
-		{
-		  union socket_addr locaddr, remaddr;
-		  size_t addr_size;
-		  char user[UT_NAMESIZE];
-		  char local_service[NI_MAXSERV], remote_service[NI_MAXSERV];
-
-		  if (family == AF_INET)
-		    {
-		      sscanf (local_address, "%X",
-			      &locaddr.sin.sin_addr.s_addr);
-		      sscanf (remote_address, "%X",
-			      &remaddr.sin.sin_addr.s_addr);
-		      
-		      locaddr.sin.sin_port = htons (local_port);
-		      remaddr.sin.sin_port = htons (remote_port);
-
-		      addr_size = sizeof (struct sockaddr_in);
-		    }
-		  else
-		    {
-		      sscanf (local_address, "%8X%8X%8X%8X",
-			      locaddr.sin6.sin6_addr.s6_addr32,
-			      locaddr.sin6.sin6_addr.s6_addr32 + 1,
-			      locaddr.sin6.sin6_addr.s6_addr32 + 2,
-			      locaddr.sin6.sin6_addr.s6_addr32 + 3);
-		      sscanf (remote_address, "%8X%8X%8X%8X",
-			      remaddr.sin6.sin6_addr.s6_addr32,
-			      remaddr.sin6.sin6_addr.s6_addr32 + 1,
-			      remaddr.sin6.sin6_addr.s6_addr32 + 2,
-			      remaddr.sin6.sin6_addr.s6_addr32 + 3);
-
-		      locaddr.sin6.sin6_port = htons (local_port);
-		      remaddr.sin6.sin6_port = htons (remote_port);
-		      
-		      locaddr.sin6.sin6_flowinfo = 0;
-		      remaddr.sin6.sin6_flowinfo = 0;
-		      locaddr.sin6.sin6_scope_id = 0;
-		      remaddr.sin6.sin6_scope_id = 0;
-
-		      addr_size = sizeof (struct sockaddr_in6);
-		    }
-	      
-		  locaddr.sa.sa_family = remaddr.sa.sa_family = family;
-		      
-		  result = getnameinfo (&locaddr.sa, addr_size,
-					local_address, sizeof (local_address),
-					local_service, sizeof (local_service),
-					NI_NUMERICHOST | NI_NUMERICSERV
-					| (tcp ? 0 : NI_DGRAM));
-		  if (result)
-		    continue;
-		  
-		  result = getnameinfo (&remaddr.sa, addr_size,
-					remote_address,
-					sizeof (remote_address),
-					remote_service,
-					sizeof (remote_service),
-					NI_NUMERICHOST | NI_NUMERICSERV
-					| (tcp ? 0 : NI_DGRAM));
-		  if (result)
-		    continue;
-		  
-		  user_from_uid (user, sizeof (user), uid);
-		  
-		  buffer_xml_printf (
-		      buffer,
-		      "<item>"
-		      "<column name=\"local address\">%s</column>"
-		      "<column name=\"local port\">%s</column>"
-		      "<column name=\"remote address\">%s</column>"
-		      "<column name=\"remote port\">%s</column>"
-		      "<column name=\"state\">%s</column>"
-		      "<column name=\"user\">%s</column>"
-		      "<column name=\"family\">%s</column>" 
-		      "<column name=\"protocol\">%s</column>"
-		      "</item>",
-		      local_address,
-		      local_service,
-		      remote_address,
-		      remote_service,
-		      format_socket_state (state),
-		      user,
-		      (family == AF_INET) ? "INET" : "INET6",
-		      tcp ? "STREAM" : "DGRAM");
-		}
-	    }
-	}
-      while (!feof (fp));
-
-      fclose (fp);
-    }
-}
-
-/* Collect data about internet sockets and write it into READBUF.  */
-
-static LONGEST
-linux_xfer_osdata_isockets (gdb_byte *readbuf,
-			    ULONGEST offset, ULONGEST len)
-{
-  static const char *buf;
-  static LONGEST len_avail = -1;
-  static struct buffer buffer;
-
-  if (offset == 0)
-    {
-      if (len_avail != -1 && len_avail != 0)
-	buffer_free (&buffer);
-      len_avail = 0;
-      buf = NULL;
-      buffer_init (&buffer);
-      buffer_grow_str (&buffer, "<osdata type=\"I sockets\">\n");
-
-      print_sockets (AF_INET, 1, &buffer);
-      print_sockets (AF_INET, 0, &buffer);
-      print_sockets (AF_INET6, 1, &buffer);
-      print_sockets (AF_INET6, 0, &buffer);
-
-      buffer_grow_str0 (&buffer, "</osdata>\n");
-      buf = buffer_finish (&buffer);
-      len_avail = strlen (buf);
-    }
-
-  if (offset >= len_avail)
-    {
-      /* Done.  Get rid of the buffer.  */
-      buffer_free (&buffer);
-      buf = NULL;
-      len_avail = 0;
-      return 0;
-    }
-
-  if (len > len_avail - offset)
-    len = len_avail - offset;
-  memcpy (readbuf, buf + offset, len);
-
-  return len;
-}
-
-/* Converts the time SECONDS into textual form and copies it into a
-   buffer TIME, with at most MAXLEN characters copied.  */
-
-static void
-time_from_time_t (char *time, int maxlen, TIME_T seconds)
-{
-  if (!seconds)
-    time[0] = '\0';
-  else
-    {
-      time_t t = (time_t) seconds;
-      
-      strncpy (time, ctime (&t), maxlen);
-      time[maxlen - 1] = '\0';
-    }
-}
-
-/* Finds the group name for the group GID and copies it into GROUP.
-   At most MAXLEN characters are copied.  */
-
-static void
-group_from_gid (char *group, int maxlen, gid_t gid)
-{
-  struct group *grentry = getgrgid (gid);
-  
-  if (grentry)
-    {
-      strncpy (group, grentry->gr_name, maxlen);
-      /* Ensure that the group name is null-terminated.  */
-      group[maxlen - 1] = '\0';
-    }
-  else
-    group[0] = '\0';
-}
-
-/* Collect data about shared memory recorded in /proc and write it
-   into READBUF.  */
-
-static LONGEST
-linux_xfer_osdata_shm (gdb_byte *readbuf,
-		       ULONGEST offset, ULONGEST len)
-{
-  static const char *buf;
-  static LONGEST len_avail = -1;
-  static struct buffer buffer;
-
-  if (offset == 0)
-    {
-      FILE *fp;
-
-      if (len_avail != -1 && len_avail != 0)
-	buffer_free (&buffer);
-      len_avail = 0;
-      buf = NULL;
-      buffer_init (&buffer);
-      buffer_grow_str (&buffer, "<osdata type=\"shared memory\">\n");
-
-      fp = gdb_fopen_cloexec ("/proc/sysvipc/shm", "r");
-      if (fp)
-	{
-	  char buf[8192];
-
-	  do
-	    {
-	      if (fgets (buf, sizeof (buf), fp))
-		{
-		  key_t key;
-		  uid_t uid, cuid;
-		  gid_t gid, cgid;
-		  PID_T cpid, lpid;
-		  int shmid, size, nattch;
-		  TIME_T atime, dtime, ctime;
-		  unsigned int perms;
-		  int items_read;
-				  
-		  items_read = sscanf (buf,
-				       "%d %d %o %d %lld %lld %d %u %u %u %u %lld %lld %lld",
-				       &key, &shmid, &perms, &size,
-				       &cpid, &lpid,
-				       &nattch,
-				       &uid, &gid, &cuid, &cgid,
-				       &atime, &dtime, &ctime);
-
-		  if (items_read == 14)
-		    {
-		      char user[UT_NAMESIZE], group[UT_NAMESIZE];
-		      char cuser[UT_NAMESIZE], cgroup[UT_NAMESIZE];
-		      char ccmd[32], lcmd[32];
-		      char atime_str[32], dtime_str[32], ctime_str[32];
-		      
-		      user_from_uid (user, sizeof (user), uid);
-		      group_from_gid (group, sizeof (group), gid);
-		      user_from_uid (cuser, sizeof (cuser), cuid);
-		      group_from_gid (cgroup, sizeof (cgroup), cgid);
-		      
-		      command_from_pid (ccmd, sizeof (ccmd), cpid);
-		      command_from_pid (lcmd, sizeof (lcmd), lpid);
-		      
-		      time_from_time_t (atime_str, sizeof (atime_str), atime);
-		      time_from_time_t (dtime_str, sizeof (dtime_str), dtime);
-		      time_from_time_t (ctime_str, sizeof (ctime_str), ctime);
-		      
-		      buffer_xml_printf (
-		          &buffer,
-			  "<item>"
-			  "<column name=\"key\">%d</column>"
-			  "<column name=\"shmid\">%d</column>"
-			  "<column name=\"permissions\">%o</column>"
-			  "<column name=\"size\">%d</column>"
-			  "<column name=\"creator command\">%s</column>"
-			  "<column name=\"last op. command\">%s</column>"
-			  "<column name=\"num attached\">%d</column>"
-			  "<column name=\"user\">%s</column>"
-			  "<column name=\"group\">%s</column>"
-			  "<column name=\"creator user\">%s</column>"
-			  "<column name=\"creator group\">%s</column>"
-			  "<column name=\"last shmat() time\">%s</column>"
-			  "<column name=\"last shmdt() time\">%s</column>"
-			  "<column name=\"last shmctl() time\">%s</column>"
-			  "</item>",
-			  key,
-			  shmid,
-			  perms,
-			  size,
-			  ccmd,
-			  lcmd,
-			  nattch,
-			  user,
-			  group,
-			  cuser,
-			  cgroup,
-			  atime_str,
-			  dtime_str,
-			  ctime_str);
-		    }
-		}
-	    }
-	  while (!feof (fp));
-
-	  fclose (fp);
-	}
-      
-      buffer_grow_str0 (&buffer, "</osdata>\n");
-      buf = buffer_finish (&buffer);
-      len_avail = strlen (buf);
-    }
-
-  if (offset >= len_avail)
-    {
-      /* Done.  Get rid of the buffer.  */
-      buffer_free (&buffer);
-      buf = NULL;
-      len_avail = 0;
-      return 0;
-    }
-
-  if (len > len_avail - offset)
-    len = len_avail - offset;
-  memcpy (readbuf, buf + offset, len);
-
-  return len;
-}
-
-/* Collect data about semaphores recorded in /proc and write it
-   into READBUF.  */
-
-static LONGEST
-linux_xfer_osdata_sem (gdb_byte *readbuf,
-		       ULONGEST offset, ULONGEST len)
-{
-  static const char *buf;
-  static LONGEST len_avail = -1;
-  static struct buffer buffer;
-
-  if (offset == 0)
-    {
-      FILE *fp;
-      
-      if (len_avail != -1 && len_avail != 0)
-	buffer_free (&buffer);
-      len_avail = 0;
-      buf = NULL;
-      buffer_init (&buffer);
-      buffer_grow_str (&buffer, "<osdata type=\"semaphores\">\n");
-
-      fp = gdb_fopen_cloexec ("/proc/sysvipc/sem", "r");
-      if (fp)
-	{
-	  char buf[8192];
-	  
-	  do
-	    {
-	      if (fgets (buf, sizeof (buf), fp))
-		{
-		  key_t key;
-		  uid_t uid, cuid;
-		  gid_t gid, cgid;
-		  unsigned int perms, nsems;
-		  int semid;
-		  TIME_T otime, ctime;
-		  int items_read;
-		  
-		  items_read = sscanf (buf,
-				       "%d %d %o %u %d %d %d %d %lld %lld",
-				       &key, &semid, &perms, &nsems,
-				       &uid, &gid, &cuid, &cgid,
-				       &otime, &ctime);
-		  
-		  if (items_read == 10)
-		    {
-		      char user[UT_NAMESIZE], group[UT_NAMESIZE];
-		      char cuser[UT_NAMESIZE], cgroup[UT_NAMESIZE];
-		      char otime_str[32], ctime_str[32];
-		      
-		      user_from_uid (user, sizeof (user), uid);
-		      group_from_gid (group, sizeof (group), gid);
-		      user_from_uid (cuser, sizeof (cuser), cuid);
-		      group_from_gid (cgroup, sizeof (cgroup), cgid);
-		      
-		      time_from_time_t (otime_str, sizeof (otime_str), otime);
-		      time_from_time_t (ctime_str, sizeof (ctime_str), ctime);
-		      
-		      buffer_xml_printf (
-			  &buffer,
-			  "<item>"
-			  "<column name=\"key\">%d</column>"
-			  "<column name=\"semid\">%d</column>"
-			  "<column name=\"permissions\">%o</column>"
-			  "<column name=\"num semaphores\">%u</column>"
-			  "<column name=\"user\">%s</column>"
-			  "<column name=\"group\">%s</column>"
-			  "<column name=\"creator user\">%s</column>"
-			  "<column name=\"creator group\">%s</column>"
-			  "<column name=\"last semop() time\">%s</column>"
-			  "<column name=\"last semctl() time\">%s</column>"
-			  "</item>",
-			  key,
-			  semid,
-			  perms,
-			  nsems,
-			  user,
-			  group,
-			  cuser,
-			  cgroup,
-			  otime_str,
-			  ctime_str);
-		    }
-		}
-	    }
-	  while (!feof (fp));
-
-	  fclose (fp);
-	}
-
-      buffer_grow_str0 (&buffer, "</osdata>\n");
-      buf = buffer_finish (&buffer);
-      len_avail = strlen (buf);
-    }
-
-  if (offset >= len_avail)
-    {
-      /* Done.  Get rid of the buffer.  */
-      buffer_free (&buffer);
-      buf = NULL;
-      len_avail = 0;
-      return 0;
-    }
-
-  if (len > len_avail - offset)
-    len = len_avail - offset;
-  memcpy (readbuf, buf + offset, len);
-
-  return len;
-}
-
-/* Collect data about message queues recorded in /proc and write it
-   into READBUF.  */
-
-static LONGEST
-linux_xfer_osdata_msg (gdb_byte *readbuf,
-		       ULONGEST offset, ULONGEST len)
-{
-  static const char *buf;
-  static LONGEST len_avail = -1;
-  static struct buffer buffer;
-
-  if (offset == 0)
-    {
-      FILE *fp;
-      
-      if (len_avail != -1 && len_avail != 0)
-	buffer_free (&buffer);
-      len_avail = 0;
-      buf = NULL;
-      buffer_init (&buffer);
-      buffer_grow_str (&buffer, "<osdata type=\"message queues\">\n");
-      
-      fp = gdb_fopen_cloexec ("/proc/sysvipc/msg", "r");
-      if (fp)
-	{
-	  char buf[8192];
-	  
-	  do
-	    {
-	      if (fgets (buf, sizeof (buf), fp))
-		{
-		  key_t key;
-		  PID_T lspid, lrpid;
-		  uid_t uid, cuid;
-		  gid_t gid, cgid;
-		  unsigned int perms, cbytes, qnum;
-		  int msqid;
-		  TIME_T stime, rtime, ctime;
-		  int items_read;
-		  
-		  items_read = sscanf (buf,
-				       "%d %d %o %u %u %lld %lld %d %d %d %d %lld %lld %lld",
-				       &key, &msqid, &perms, &cbytes, &qnum,
-				       &lspid, &lrpid, &uid, &gid, &cuid, &cgid,
-				       &stime, &rtime, &ctime);
-		  
-		  if (items_read == 14)
-		    {
-		      char user[UT_NAMESIZE], group[UT_NAMESIZE];
-		      char cuser[UT_NAMESIZE], cgroup[UT_NAMESIZE];
-		      char lscmd[32], lrcmd[32];
-		      char stime_str[32], rtime_str[32], ctime_str[32];
-		      
-		      user_from_uid (user, sizeof (user), uid);
-		      group_from_gid (group, sizeof (group), gid);
-		      user_from_uid (cuser, sizeof (cuser), cuid);
-		      group_from_gid (cgroup, sizeof (cgroup), cgid);
-		      
-		      command_from_pid (lscmd, sizeof (lscmd), lspid);
-		      command_from_pid (lrcmd, sizeof (lrcmd), lrpid);
-		      
-		      time_from_time_t (stime_str, sizeof (stime_str), stime);
-		      time_from_time_t (rtime_str, sizeof (rtime_str), rtime);
-		      time_from_time_t (ctime_str, sizeof (ctime_str), ctime);
-		      
-		      buffer_xml_printf (
-			  &buffer,
-			  "<item>"
-			  "<column name=\"key\">%d</column>"
-			  "<column name=\"msqid\">%d</column>"
-			  "<column name=\"permissions\">%o</column>"
-			  "<column name=\"num used bytes\">%u</column>"
-			  "<column name=\"num messages\">%u</column>"
-			  "<column name=\"last msgsnd() command\">%s</column>"
-			  "<column name=\"last msgrcv() command\">%s</column>"
-			  "<column name=\"user\">%s</column>"
-			  "<column name=\"group\">%s</column>"
-			  "<column name=\"creator user\">%s</column>"
-			  "<column name=\"creator group\">%s</column>"
-			  "<column name=\"last msgsnd() time\">%s</column>"
-			  "<column name=\"last msgrcv() time\">%s</column>"
-			  "<column name=\"last msgctl() time\">%s</column>"
-			  "</item>",
-			  key,
-			  msqid,
-			  perms,
-			  cbytes,
-			  qnum,
-			  lscmd,
-			  lrcmd,
-			  user,
-			  group,
-			  cuser,
-			  cgroup,
-			  stime_str,
-			  rtime_str,
-			  ctime_str);
-		    }
-		}
-	    }
-	  while (!feof (fp));
-
-	  fclose (fp);
-	}
-
-      buffer_grow_str0 (&buffer, "</osdata>\n");
-      buf = buffer_finish (&buffer);
-      len_avail = strlen (buf);
-    }
-
-  if (offset >= len_avail)
-    {
-      /* Done.  Get rid of the buffer.  */
-      buffer_free (&buffer);
-      buf = NULL;
-      len_avail = 0;
-      return 0;
-    }
-
-  if (len > len_avail - offset)
-    len = len_avail - offset;
-  memcpy (readbuf, buf + offset, len);
-
-  return len;
-}
-
-/* Collect data about loaded kernel modules and write it into
-   READBUF.  */
-
-static LONGEST
-linux_xfer_osdata_modules (gdb_byte *readbuf,
-			   ULONGEST offset, ULONGEST len)
-{
-  static const char *buf;
-  static LONGEST len_avail = -1;
-  static struct buffer buffer;
-
-  if (offset == 0)
-    {
-      FILE *fp;
-
-      if (len_avail != -1 && len_avail != 0)
-	buffer_free (&buffer);
-      len_avail = 0;
-      buf = NULL;
-      buffer_init (&buffer);
-      buffer_grow_str (&buffer, "<osdata type=\"modules\">\n");
-
-      fp = gdb_fopen_cloexec ("/proc/modules", "r");
-      if (fp)
-	{
-	  char buf[8192];
-	  
-	  do
-	    {
-	      if (fgets (buf, sizeof (buf), fp))
-		{
-		  char *name, *dependencies, *status, *tmp;
-		  unsigned int size;
-		  unsigned long long address;
-		  int uses;
-
-		  name = strtok (buf, " ");
-		  if (name == NULL)
-		    continue;
-
-		  tmp = strtok (NULL, " ");
-		  if (tmp == NULL)
-		    continue;
-		  if (sscanf (tmp, "%u", &size) != 1)
-		    continue;
-
-		  tmp = strtok (NULL, " ");
-		  if (tmp == NULL)
-		    continue;
-		  if (sscanf (tmp, "%d", &uses) != 1)
-		    continue;
-
-		  dependencies = strtok (NULL, " ");
-		  if (dependencies == NULL)
-		    continue;
-
-		  status = strtok (NULL, " ");
-		  if (status == NULL)
-		    continue;
-
-		  tmp = strtok (NULL, "\n");
-		  if (tmp == NULL)
-		    continue;
-		  if (sscanf (tmp, "%llx", &address) != 1)
-		    continue;
-
-		  buffer_xml_printf (
-			&buffer,
-			"<item>"
-			"<column name=\"name\">%s</column>"
-			"<column name=\"size\">%u</column>"
-			"<column name=\"num uses\">%d</column>"
-			"<column name=\"dependencies\">%s</column>"
-			"<column name=\"status\">%s</column>"
-			"<column name=\"address\">%llx</column>"
-			"</item>",
-			name,
-			size,
-			uses,
-			dependencies,
-			status,
-			address);
-		}
-	    }
-	  while (!feof (fp));
-
-	  fclose (fp);
-	}
-
-      buffer_grow_str0 (&buffer, "</osdata>\n");
-      buf = buffer_finish (&buffer);
-      len_avail = strlen (buf);
-    }
-
-  if (offset >= len_avail)
-    {
-      /* Done.  Get rid of the buffer.  */
-      buffer_free (&buffer);
-      buf = NULL;
-      len_avail = 0;
-      return 0;
-    }
-
-  if (len > len_avail - offset)
-    len = len_avail - offset;
-  memcpy (readbuf, buf + offset, len);
-
-  return len;
-}
-
-struct osdata_type {
-  char *type;
-  char *title;
-  char *description;
-  LONGEST (*getter) (gdb_byte *readbuf, ULONGEST offset, ULONGEST len);
-} osdata_table[] = {
-  { "processes", "Processes", "Listing of all processes",
-    linux_xfer_osdata_processes },
-  { "procgroups", "Process groups", "Listing of all process groups",
-    linux_xfer_osdata_processgroups },
-  { "threads", "Threads", "Listing of all threads",
-    linux_xfer_osdata_threads },
-  { "files", "File descriptors", "Listing of all file descriptors",
-    linux_xfer_osdata_fds },
-  { "sockets", "Sockets", "Listing of all internet-domain sockets",
-    linux_xfer_osdata_isockets },
-  { "shm", "Shared-memory regions", "Listing of all shared-memory regions",
-    linux_xfer_osdata_shm },
-  { "semaphores", "Semaphores", "Listing of all semaphores",
-    linux_xfer_osdata_sem },
-  { "msg", "Message queues", "Listing of all message queues",
-    linux_xfer_osdata_msg },
-  { "modules", "Kernel modules", "Listing of all loaded kernel modules",
-    linux_xfer_osdata_modules },
-  { NULL, NULL, NULL }
-};
-
-LONGEST
-linux_common_xfer_osdata (const char *annex, gdb_byte *readbuf,
-			  ULONGEST offset, ULONGEST len)
-{
-  if (!annex || *annex == '\0')
-    {
-      static const char *buf;
-      static LONGEST len_avail = -1;
-      static struct buffer buffer;
-
-      if (offset == 0)
-	{
-	  int i;
-
-	  if (len_avail != -1 && len_avail != 0)
-	    buffer_free (&buffer);
-	  len_avail = 0;
-	  buf = NULL;
-	  buffer_init (&buffer);
-	  buffer_grow_str (&buffer, "<osdata type=\"types\">\n");
-
-	  for (i = 0; osdata_table[i].type; ++i)
-	    buffer_xml_printf (
-			       &buffer,
-			       "<item>"
-			       "<column name=\"Type\">%s</column>"
-			       "<column name=\"Description\">%s</column>"
-			       "<column name=\"Title\">%s</column>"
-			       "</item>",
-			       osdata_table[i].type,
-			       osdata_table[i].description,
-			       osdata_table[i].title);
-
-	  buffer_grow_str0 (&buffer, "</osdata>\n");
-	  buf = buffer_finish (&buffer);
-	  len_avail = strlen (buf);
-	}
-
-      if (offset >= len_avail)
-	{
-	  /* Done.  Get rid of the buffer.  */
-	  buffer_free (&buffer);
-	  buf = NULL;
-	  len_avail = 0;
-	  return 0;
-	}
-
-      if (len > len_avail - offset)
-	len = len_avail - offset;
-      memcpy (readbuf, buf + offset, len);
-
-      return len;
-    }
-  else
-    {
-      int i;
-
-      for (i = 0; osdata_table[i].type; ++i)
-	{
-	  if (strcmp (annex, osdata_table[i].type) == 0)
-	    {
-	      gdb_assert (readbuf);
-	      
-	      return (osdata_table[i].getter) (readbuf, offset, len);
-	    }
-	}
-
-      return 0;
-    }
-}
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-osdata.h ./gdb/common/linux-osdata.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-osdata.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/linux-osdata.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,29 +0,0 @@
-/* Linux-specific functions to retrieve OS data.
-   
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef COMMON_LINUX_OSDATA_H
-#define COMMON_LINUX_OSDATA_H
-
-#include "ptid.h"
-
-extern int linux_common_core_of_thread (ptid_t ptid);
-extern LONGEST linux_common_xfer_osdata (const char *annex, gdb_byte *readbuf,
-					 ULONGEST offset, ULONGEST len);
-
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-procfs.c ./gdb/common/linux-procfs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-procfs.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/linux-procfs.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,121 +0,0 @@
-/* Linux-specific PROCFS manipulation routines.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#include <string.h>
-#endif
-
-#include "linux-procfs.h"
-#include "filestuff.h"
-
-/* Return the TGID of LWPID from /proc/pid/status.  Returns -1 if not
-   found.  */
-
-static int
-linux_proc_get_int (pid_t lwpid, const char *field)
-{
-  size_t field_len = strlen (field);
-  FILE *status_file;
-  char buf[100];
-  int retval = -1;
-
-  snprintf (buf, sizeof (buf), "/proc/%d/status", (int) lwpid);
-  status_file = gdb_fopen_cloexec (buf, "r");
-  if (status_file == NULL)
-    {
-      warning (_("unable to open /proc file '%s'"), buf);
-      return -1;
-    }
-
-  while (fgets (buf, sizeof (buf), status_file))
-    if (strncmp (buf, field, field_len) == 0 && buf[field_len] == ':')
-      {
-	retval = strtol (&buf[field_len + 1], NULL, 10);
-	break;
-      }
-
-  fclose (status_file);
-  return retval;
-}
-
-/* Return the TGID of LWPID from /proc/pid/status.  Returns -1 if not
-   found.  */
-
-int
-linux_proc_get_tgid (pid_t lwpid)
-{
-  return linux_proc_get_int (lwpid, "Tgid");
-}
-
-/* See linux-procfs.h.  */
-
-pid_t
-linux_proc_get_tracerpid (pid_t lwpid)
-{
-  return linux_proc_get_int (lwpid, "TracerPid");
-}
-
-/* Return non-zero if 'State' of /proc/PID/status contains STATE.  */
-
-static int
-linux_proc_pid_has_state (pid_t pid, const char *state)
-{
-  char buffer[100];
-  FILE *procfile;
-  int retval;
-  int have_state;
-
-  xsnprintf (buffer, sizeof (buffer), "/proc/%d/status", (int) pid);
-  procfile = gdb_fopen_cloexec (buffer, "r");
-  if (procfile == NULL)
-    {
-      warning (_("unable to open /proc file '%s'"), buffer);
-      return 0;
-    }
-
-  have_state = 0;
-  while (fgets (buffer, sizeof (buffer), procfile) != NULL)
-    if (strncmp (buffer, "State:", 6) == 0)
-      {
-	have_state = 1;
-	break;
-      }
-  retval = (have_state && strstr (buffer, state) != NULL);
-  fclose (procfile);
-  return retval;
-}
-
-/* Detect `T (stopped)' in `/proc/PID/status'.
-   Other states including `T (tracing stop)' are reported as false.  */
-
-int
-linux_proc_pid_is_stopped (pid_t pid)
-{
-  return linux_proc_pid_has_state (pid, "T (stopped)");
-}
-
-/* See linux-procfs.h declaration.  */
-
-int
-linux_proc_pid_is_zombie (pid_t pid)
-{
-  return linux_proc_pid_has_state (pid, "Z (zombie)");
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-procfs.h ./gdb/common/linux-procfs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-procfs.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/linux-procfs.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-/* Linux-specific PROCFS manipulation routines.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef COMMON_LINUX_PROCFS_H
-#define COMMON_LINUX_PROCFS_H
-
-#include <unistd.h>
-
-/* Return the TGID of LWPID from /proc/pid/status.  Returns -1 if not
-   found.  */
-
-extern int linux_proc_get_tgid (pid_t lwpid);
-
-/* Return the TracerPid of LWPID from /proc/pid/status.  Returns -1 if not
-   found.  */
-
-extern pid_t linux_proc_get_tracerpid (pid_t lwpid);
-
-/* Detect `T (stopped)' in `/proc/PID/status'.
-   Other states including `T (tracing stop)' are reported as false.  */
-
-extern int linux_proc_pid_is_stopped (pid_t pid);
-
-/* Return non-zero if PID is a zombie.  */
-
-extern int linux_proc_pid_is_zombie (pid_t pid);
-
-#endif /* COMMON_LINUX_PROCFS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-ptrace.c ./gdb/common/linux-ptrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-ptrace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/linux-ptrace.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,553 +0,0 @@
-/* Linux-specific ptrace manipulation routines.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#include <string.h>
-#endif
-
-#include "linux-ptrace.h"
-#include "linux-procfs.h"
-#include "nat/linux-waitpid.h"
-#include "buffer.h"
-#include "gdb_assert.h"
-#include "gdb_wait.h"
-
-#include <stdint.h>
-
-/* Stores the currently supported ptrace options.  A value of
-   -1 means we did not check for features yet.  A value of 0 means
-   there are no supported features.  */
-static int current_ptrace_options = -1;
-
-/* Find all possible reasons we could fail to attach PID and append
-   these as strings to the already initialized BUFFER.  '\0'
-   termination of BUFFER must be done by the caller.  */
-
-void
-linux_ptrace_attach_fail_reason (pid_t pid, struct buffer *buffer)
-{
-  pid_t tracerpid;
-
-  tracerpid = linux_proc_get_tracerpid (pid);
-  if (tracerpid > 0)
-    buffer_xml_printf (buffer, _("process %d is already traced "
-				 "by process %d"),
-		       (int) pid, (int) tracerpid);
-
-  if (linux_proc_pid_is_zombie (pid))
-    buffer_xml_printf (buffer, _("process %d is a zombie "
-				 "- the process has already terminated"),
-		       (int) pid);
-}
-
-#if defined __i386__ || defined __x86_64__
-
-/* Address of the 'ret' instruction in asm code block below.  */
-extern void (linux_ptrace_test_ret_to_nx_instr) (void);
-
-#include <sys/reg.h>
-#include <sys/mman.h>
-#include <signal.h>
-
-#endif /* defined __i386__ || defined __x86_64__ */
-
-/* Test broken off-trunk Linux kernel patchset for NX support on i386.  It was
-   removed in Fedora kernel 88fa1f0332d188795ed73d7ac2b1564e11a0b4cd.
-
-   Test also x86_64 arch for PaX support.  */
-
-static void
-linux_ptrace_test_ret_to_nx (void)
-{
-#if defined __i386__ || defined __x86_64__
-  pid_t child, got_pid;
-  gdb_byte *return_address, *pc;
-  long l;
-  int status, kill_status;
-
-  return_address = mmap (NULL, 2, PROT_READ | PROT_WRITE,
-			 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-  if (return_address == MAP_FAILED)
-    {
-      warning (_("linux_ptrace_test_ret_to_nx: Cannot mmap: %s"),
-	       strerror (errno));
-      return;
-    }
-
-  /* Put there 'int3'.  */
-  *return_address = 0xcc;
-
-  child = fork ();
-  switch (child)
-    {
-    case -1:
-      warning (_("linux_ptrace_test_ret_to_nx: Cannot fork: %s"),
-	       strerror (errno));
-      return;
-
-    case 0:
-      l = ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) NULL,
-		  (PTRACE_TYPE_ARG4) NULL);
-      if (l != 0)
-	warning (_("linux_ptrace_test_ret_to_nx: Cannot PTRACE_TRACEME: %s"),
-		 strerror (errno));
-      else
-	{
-#if defined __i386__
-	  asm volatile ("pushl %0;"
-			".globl linux_ptrace_test_ret_to_nx_instr;"
-			"linux_ptrace_test_ret_to_nx_instr:"
-			"ret"
-			: : "r" (return_address) : "%esp", "memory");
-#elif defined __x86_64__
-	  asm volatile ("pushq %0;"
-			".globl linux_ptrace_test_ret_to_nx_instr;"
-			"linux_ptrace_test_ret_to_nx_instr:"
-			"ret"
-			: : "r" ((uint64_t) (uintptr_t) return_address)
-			: "%rsp", "memory");
-#else
-# error "!__i386__ && !__x86_64__"
-#endif
-	  gdb_assert_not_reached ("asm block did not terminate");
-	}
-
-      _exit (1);
-    }
-
-  errno = 0;
-  got_pid = waitpid (child, &status, 0);
-  if (got_pid != child)
-    {
-      warning (_("linux_ptrace_test_ret_to_nx: waitpid returned %ld: %s"),
-	       (long) got_pid, strerror (errno));
-      return;
-    }
-
-  if (WIFSIGNALED (status))
-    {
-      if (WTERMSIG (status) != SIGKILL)
-	warning (_("linux_ptrace_test_ret_to_nx: WTERMSIG %d is not SIGKILL!"),
-		 (int) WTERMSIG (status));
-      else
-	warning (_("Cannot call inferior functions, Linux kernel PaX "
-		   "protection forbids return to non-executable pages!"));
-      return;
-    }
-
-  if (!WIFSTOPPED (status))
-    {
-      warning (_("linux_ptrace_test_ret_to_nx: status %d is not WIFSTOPPED!"),
-	       status);
-      return;
-    }
-
-  /* We may get SIGSEGV due to missing PROT_EXEC of the return_address.  */
-  if (WSTOPSIG (status) != SIGTRAP && WSTOPSIG (status) != SIGSEGV)
-    {
-      warning (_("linux_ptrace_test_ret_to_nx: "
-		 "WSTOPSIG %d is neither SIGTRAP nor SIGSEGV!"),
-	       (int) WSTOPSIG (status));
-      return;
-    }
-
-  errno = 0;
-#if defined __i386__
-  l = ptrace (PTRACE_PEEKUSER, child, (PTRACE_TYPE_ARG3) (uintptr_t) (EIP * 4),
-	      (PTRACE_TYPE_ARG4) NULL);
-#elif defined __x86_64__
-  l = ptrace (PTRACE_PEEKUSER, child, (PTRACE_TYPE_ARG3) (uintptr_t) (RIP * 8),
-	      (PTRACE_TYPE_ARG4) NULL);
-#else
-# error "!__i386__ && !__x86_64__"
-#endif
-  if (errno != 0)
-    {
-      warning (_("linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER: %s"),
-	       strerror (errno));
-      return;
-    }
-  pc = (void *) (uintptr_t) l;
-
-  kill (child, SIGKILL);
-  ptrace (PTRACE_KILL, child, (PTRACE_TYPE_ARG3) NULL,
-	  (PTRACE_TYPE_ARG4) NULL);
-
-  errno = 0;
-  got_pid = waitpid (child, &kill_status, 0);
-  if (got_pid != child)
-    {
-      warning (_("linux_ptrace_test_ret_to_nx: "
-		 "PTRACE_KILL waitpid returned %ld: %s"),
-	       (long) got_pid, strerror (errno));
-      return;
-    }
-  if (!WIFSIGNALED (kill_status))
-    {
-      warning (_("linux_ptrace_test_ret_to_nx: "
-		 "PTRACE_KILL status %d is not WIFSIGNALED!"),
-	       status);
-      return;
-    }
-
-  /* + 1 is there as x86* stops after the 'int3' instruction.  */
-  if (WSTOPSIG (status) == SIGTRAP && pc == return_address + 1)
-    {
-      /* PASS */
-      return;
-    }
-
-  /* We may get SIGSEGV due to missing PROT_EXEC of the RETURN_ADDRESS page.  */
-  if (WSTOPSIG (status) == SIGSEGV && pc == return_address)
-    {
-      /* PASS */
-      return;
-    }
-
-  if ((void (*) (void)) pc != &linux_ptrace_test_ret_to_nx_instr)
-    warning (_("linux_ptrace_test_ret_to_nx: PC %p is neither near return "
-	       "address %p nor is the return instruction %p!"),
-	     pc, return_address, &linux_ptrace_test_ret_to_nx_instr);
-  else
-    warning (_("Cannot call inferior functions on this system - "
-	       "Linux kernel with broken i386 NX (non-executable pages) "
-	       "support detected!"));
-#endif /* defined __i386__ || defined __x86_64__ */
-}
-
-/* Helper function to fork a process and make the child process call
-   the function FUNCTION, passing CHILD_STACK as parameter.
-
-   For MMU-less targets, clone is used instead of fork, and
-   CHILD_STACK is used as stack space for the cloned child.  If NULL,
-   stack space is allocated via malloc (and subsequently passed to
-   FUNCTION).  For MMU targets, CHILD_STACK is ignored.  */
-
-static int
-linux_fork_to_function (gdb_byte *child_stack, void (*function) (gdb_byte *))
-{
-  int child_pid;
-
-  /* Sanity check the function pointer.  */
-  gdb_assert (function != NULL);
-
-#if defined(__UCLIBC__) && defined(HAS_NOMMU)
-#define STACK_SIZE 4096
-
-    if (child_stack == NULL)
-      child_stack = xmalloc (STACK_SIZE * 4);
-
-    /* Use CLONE_VM instead of fork, to support uClinux (no MMU).  */
-#ifdef __ia64__
-      child_pid = __clone2 (function, child_stack, STACK_SIZE,
-			    CLONE_VM | SIGCHLD, child_stack + STACK_SIZE * 2);
-#else /* !__ia64__ */
-      child_pid = clone (function, child_stack + STACK_SIZE,
-			 CLONE_VM | SIGCHLD, child_stack + STACK_SIZE * 2);
-#endif /* !__ia64__ */
-#else /* !defined(__UCLIBC) && defined(HAS_NOMMU) */
-  child_pid = fork ();
-
-  if (child_pid == 0)
-    function (NULL);
-#endif /* defined(__UCLIBC) && defined(HAS_NOMMU) */
-
-  if (child_pid == -1)
-    perror_with_name (("fork"));
-
-  return child_pid;
-}
-
-/* A helper function for linux_check_ptrace_features, called after
-   the child forks a grandchild.  */
-
-static void
-linux_grandchild_function (gdb_byte *child_stack)
-{
-  /* Free any allocated stack.  */
-  xfree (child_stack);
-
-  /* This code is only reacheable by the grandchild (child's child)
-     process.  */
-  _exit (0);
-}
-
-/* A helper function for linux_check_ptrace_features, called after
-   the parent process forks a child.  The child allows itself to
-   be traced by its parent.  */
-
-static void
-linux_child_function (gdb_byte *child_stack)
-{
-  ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) 0, (PTRACE_TYPE_ARG4) 0);
-  kill (getpid (), SIGSTOP);
-
-  /* Fork a grandchild.  */
-  linux_fork_to_function (child_stack, linux_grandchild_function);
-
-  /* This code is only reacheable by the child (grandchild's parent)
-     process.  */
-  _exit (0);
-}
-
-static void linux_test_for_tracesysgood (int child_pid);
-static void linux_test_for_tracefork (int child_pid);
-
-/* Determine ptrace features available on this target.  */
-
-static void
-linux_check_ptrace_features (void)
-{
-  int child_pid, ret, status;
-
-  /* Initialize the options.  */
-  current_ptrace_options = 0;
-
-  /* Fork a child so we can do some testing.  The child will call
-     linux_child_function and will get traced.  The child will
-     eventually fork a grandchild so we can test fork event
-     reporting.  */
-  child_pid = linux_fork_to_function (NULL, linux_child_function);
-
-  ret = my_waitpid (child_pid, &status, 0);
-  if (ret == -1)
-    perror_with_name (("waitpid"));
-  else if (ret != child_pid)
-    error (_("linux_check_ptrace_features: waitpid: unexpected result %d."),
-	   ret);
-  if (! WIFSTOPPED (status))
-    error (_("linux_check_ptrace_features: waitpid: unexpected status %d."),
-	   status);
-
-  linux_test_for_tracesysgood (child_pid);
-
-  linux_test_for_tracefork (child_pid);
-
-  /* Clean things up and kill any pending children.  */
-  do
-    {
-      ret = ptrace (PTRACE_KILL, child_pid, (PTRACE_TYPE_ARG3) 0,
-		    (PTRACE_TYPE_ARG4) 0);
-      if (ret != 0)
-	warning (_("linux_check_ptrace_features: failed to kill child"));
-      my_waitpid (child_pid, &status, 0);
-    }
-  while (WIFSTOPPED (status));
-}
-
-/* Determine if PTRACE_O_TRACESYSGOOD can be used to catch
-   syscalls.  */
-
-static void
-linux_test_for_tracesysgood (int child_pid)
-{
-#ifdef GDBSERVER
-  /* gdbserver does not support PTRACE_O_TRACESYSGOOD.  */
-#else
-  int ret;
-
-  ret = ptrace (PTRACE_SETOPTIONS, child_pid, (PTRACE_TYPE_ARG3) 0,
-		(PTRACE_TYPE_ARG4) PTRACE_O_TRACESYSGOOD);
-  if (ret == 0)
-    current_ptrace_options |= PTRACE_O_TRACESYSGOOD;
-#endif
-}
-
-/* Determine if PTRACE_O_TRACEFORK can be used to follow fork
-   events.  */
-
-static void
-linux_test_for_tracefork (int child_pid)
-{
-  int ret, status;
-  long second_pid;
-
-  /* First, set the PTRACE_O_TRACEFORK option.  If this fails, we
-     know for sure that it is not supported.  */
-  ret = ptrace (PTRACE_SETOPTIONS, child_pid, (PTRACE_TYPE_ARG3) 0,
-		(PTRACE_TYPE_ARG4) PTRACE_O_TRACEFORK);
-
-  if (ret != 0)
-    return;
-
-#ifdef GDBSERVER
-  /* gdbserver does not support PTRACE_O_TRACEVFORKDONE yet.  */
-#else
-  /* Check if the target supports PTRACE_O_TRACEVFORKDONE.  */
-  ret = ptrace (PTRACE_SETOPTIONS, child_pid, (PTRACE_TYPE_ARG3) 0,
-		(PTRACE_TYPE_ARG4) (PTRACE_O_TRACEFORK
-				    | PTRACE_O_TRACEVFORKDONE));
-  if (ret == 0)
-    current_ptrace_options |= PTRACE_O_TRACEVFORKDONE;
-#endif
-
-  /* Setting PTRACE_O_TRACEFORK did not cause an error, however we
-     don't know for sure that the feature is available; old
-     versions of PTRACE_SETOPTIONS ignored unknown options.
-     Therefore, we attach to the child process, use PTRACE_SETOPTIONS
-     to enable fork tracing, and let it fork.  If the process exits,
-     we assume that we can't use PTRACE_O_TRACEFORK; if we get the
-     fork notification, and we can extract the new child's PID, then
-     we assume that we can.
-
-     We do not explicitly check for vfork tracing here.  It is
-     assumed that vfork tracing is available whenever fork tracing
-     is available.  */
-  ret = ptrace (PTRACE_CONT, child_pid, (PTRACE_TYPE_ARG3) 0,
-		(PTRACE_TYPE_ARG4) 0);
-  if (ret != 0)
-    warning (_("linux_test_for_tracefork: failed to resume child"));
-
-  ret = my_waitpid (child_pid, &status, 0);
-
-  /* Check if we received a fork event notification.  */
-  if (ret == child_pid && WIFSTOPPED (status)
-      && status >> 16 == PTRACE_EVENT_FORK)
-    {
-      /* We did receive a fork event notification.  Make sure its PID
-	 is reported.  */
-      second_pid = 0;
-      ret = ptrace (PTRACE_GETEVENTMSG, child_pid, (PTRACE_TYPE_ARG3) 0,
-		    (PTRACE_TYPE_ARG4) &second_pid);
-      if (ret == 0 && second_pid != 0)
-	{
-	  int second_status;
-
-	  /* We got the PID from the grandchild, which means fork
-	     tracing is supported.  */
-#ifdef GDBSERVER
-	  /* Do not enable all the options for now since gdbserver does not
-	     properly support them.  This restriction will be lifted when
-	     gdbserver is augmented to support them.  */
-	  current_ptrace_options |= PTRACE_O_TRACECLONE;
-#else
-	  current_ptrace_options |= PTRACE_O_TRACEFORK | PTRACE_O_TRACEVFORK
-	    | PTRACE_O_TRACECLONE | PTRACE_O_TRACEEXEC;
-
-	  /* Do not enable PTRACE_O_TRACEEXIT until GDB is more prepared to
-	     support read-only process state.  */
-#endif
-
-	  /* Do some cleanup and kill the grandchild.  */
-	  my_waitpid (second_pid, &second_status, 0);
-	  ret = ptrace (PTRACE_KILL, second_pid, (PTRACE_TYPE_ARG3) 0,
-			(PTRACE_TYPE_ARG4) 0);
-	  if (ret != 0)
-	    warning (_("linux_test_for_tracefork: "
-		       "failed to kill second child"));
-	  my_waitpid (second_pid, &status, 0);
-	}
-    }
-  else
-    warning (_("linux_test_for_tracefork: unexpected result from waitpid "
-	     "(%d, status 0x%x)"), ret, status);
-}
-
-/* Enable reporting of all currently supported ptrace events.  */
-
-void
-linux_enable_event_reporting (pid_t pid)
-{
-  /* Check if we have initialized the ptrace features for this
-     target.  If not, do it now.  */
-  if (current_ptrace_options == -1)
-    linux_check_ptrace_features ();
-
-  /* Set the options.  */
-  ptrace (PTRACE_SETOPTIONS, pid, (PTRACE_TYPE_ARG3) 0,
-	  (PTRACE_TYPE_ARG4) (uintptr_t) current_ptrace_options);
-}
-
-/* Disable reporting of all currently supported ptrace events.  */
-
-void
-linux_disable_event_reporting (pid_t pid)
-{
-  /* Set the options.  */
-  ptrace (PTRACE_SETOPTIONS, pid, (PTRACE_TYPE_ARG3) 0, 0);
-}
-
-/* Returns non-zero if PTRACE_OPTIONS is contained within
-   CURRENT_PTRACE_OPTIONS, therefore supported.  Returns 0
-   otherwise.  */
-
-static int
-ptrace_supports_feature (int ptrace_options)
-{
-  gdb_assert (current_ptrace_options >= 0);
-
-  return ((current_ptrace_options & ptrace_options) == ptrace_options);
-}
-
-/* Returns non-zero if PTRACE_EVENT_FORK is supported by ptrace,
-   0 otherwise.  Note that if PTRACE_EVENT_FORK is supported so is
-   PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC and PTRACE_EVENT_VFORK,
-   since they were all added to the kernel at the same time.  */
-
-int
-linux_supports_tracefork (void)
-{
-  return ptrace_supports_feature (PTRACE_O_TRACEFORK);
-}
-
-/* Returns non-zero if PTRACE_EVENT_CLONE is supported by ptrace,
-   0 otherwise.  Note that if PTRACE_EVENT_CLONE is supported so is
-   PTRACE_EVENT_FORK, PTRACE_EVENT_EXEC and PTRACE_EVENT_VFORK,
-   since they were all added to the kernel at the same time.  */
-
-int
-linux_supports_traceclone (void)
-{
-  return ptrace_supports_feature (PTRACE_O_TRACECLONE);
-}
-
-/* Returns non-zero if PTRACE_O_TRACEVFORKDONE is supported by
-   ptrace, 0 otherwise.  */
-
-int
-linux_supports_tracevforkdone (void)
-{
-  return ptrace_supports_feature (PTRACE_O_TRACEVFORKDONE);
-}
-
-/* Returns non-zero if PTRACE_O_TRACESYSGOOD is supported by ptrace,
-   0 otherwise.  */
-
-int
-linux_supports_tracesysgood (void)
-{
-  return ptrace_supports_feature (PTRACE_O_TRACESYSGOOD);
-}
-
-/* Display possible problems on this system.  Display them only once per GDB
-   execution.  */
-
-void
-linux_ptrace_init_warnings (void)
-{
-  static int warned = 0;
-
-  if (warned)
-    return;
-  warned = 1;
-
-  linux_ptrace_test_ret_to_nx ();
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-ptrace.h ./gdb/common/linux-ptrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/linux-ptrace.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/linux-ptrace.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,95 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef COMMON_LINUX_PTRACE_H
-#define COMMON_LINUX_PTRACE_H
-
-struct buffer;
-
-#include <sys/ptrace.h>
-
-#ifdef __UCLIBC__
-#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__))
-/* PTRACE_TEXT_ADDR and friends.  */
-#include <asm/ptrace.h>
-#define HAS_NOMMU
-#endif
-#endif
-
-#if !defined(PTRACE_TYPE_ARG3)
-#define PTRACE_TYPE_ARG3 void *
-#endif
-
-#if !defined(PTRACE_TYPE_ARG4)
-#define PTRACE_TYPE_ARG4 void *
-#endif
-
-#ifndef PTRACE_GETSIGINFO
-# define PTRACE_GETSIGINFO 0x4202
-# define PTRACE_SETSIGINFO 0x4203
-#endif /* PTRACE_GETSIGINF */
-
-/* If the system headers did not provide the constants, hard-code the normal
-   values.  */
-#ifndef PTRACE_EVENT_FORK
-
-#define PTRACE_SETOPTIONS	0x4200
-#define PTRACE_GETEVENTMSG	0x4201
-
-/* options set using PTRACE_SETOPTIONS */
-#define PTRACE_O_TRACESYSGOOD	0x00000001
-#define PTRACE_O_TRACEFORK	0x00000002
-#define PTRACE_O_TRACEVFORK	0x00000004
-#define PTRACE_O_TRACECLONE	0x00000008
-#define PTRACE_O_TRACEEXEC	0x00000010
-#define PTRACE_O_TRACEVFORKDONE	0x00000020
-#define PTRACE_O_TRACEEXIT	0x00000040
-
-/* Wait extended result codes for the above trace options.  */
-#define PTRACE_EVENT_FORK	1
-#define PTRACE_EVENT_VFORK	2
-#define PTRACE_EVENT_CLONE	3
-#define PTRACE_EVENT_EXEC	4
-#define PTRACE_EVENT_VFORK_DONE	5
-#define PTRACE_EVENT_EXIT	6
-
-#endif /* PTRACE_EVENT_FORK */
-
-#if (defined __bfin__ || defined __frv__ || defined __sh__) \
-    && !defined PTRACE_GETFDPIC
-#define PTRACE_GETFDPIC		31
-#define PTRACE_GETFDPIC_EXEC	0
-#define PTRACE_GETFDPIC_INTERP	1
-#endif
-
-/* We can't always assume that this flag is available, but all systems
-   with the ptrace event handlers also have __WALL, so it's safe to use
-   in some contexts.  */
-#ifndef __WALL
-#define __WALL          0x40000000 /* Wait for any child.  */
-#endif
-
-extern void linux_ptrace_attach_fail_reason (pid_t pid, struct buffer *buffer);
-extern void linux_ptrace_init_warnings (void);
-extern void linux_enable_event_reporting (pid_t pid);
-extern void linux_disable_event_reporting (pid_t pid);
-extern int linux_supports_tracefork (void);
-extern int linux_supports_traceclone (void);
-extern int linux_supports_tracevforkdone (void);
-extern int linux_supports_tracesysgood (void);
-
-#endif /* COMMON_LINUX_PTRACE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/mips-linux-watch.c ./gdb/common/mips-linux-watch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/mips-linux-watch.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/mips-linux-watch.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,349 +0,0 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <sys/ptrace.h>
-#include "mips-linux-watch.h"
-#include "gdb_assert.h"
-
-/* Assuming usable watch registers REGS, return the irw_mask of
-   register N.  */
-
-uint32_t
-mips_linux_watch_get_irw_mask (struct pt_watch_regs *regs, int n)
-{
-  switch (regs->style)
-    {
-    case pt_watch_style_mips32:
-      return regs->mips32.watch_masks[n] & IRW_MASK;
-    case pt_watch_style_mips64:
-      return regs->mips64.watch_masks[n] & IRW_MASK;
-    default:
-      internal_error (__FILE__, __LINE__,
-		      _("Unrecognized watch register style"));
-    }
-}
-
-/* Assuming usable watch registers REGS, return the reg_mask of
-   register N.  */
-
-static uint32_t
-get_reg_mask (struct pt_watch_regs *regs, int n)
-{
-  switch (regs->style)
-    {
-    case pt_watch_style_mips32:
-      return regs->mips32.watch_masks[n] & ~IRW_MASK;
-    case pt_watch_style_mips64:
-      return regs->mips64.watch_masks[n] & ~IRW_MASK;
-    default:
-      internal_error (__FILE__, __LINE__,
-		      _("Unrecognized watch register style"));
-    }
-}
-
-/* Assuming usable watch registers REGS, return the num_valid.  */
-
-uint32_t
-mips_linux_watch_get_num_valid (struct pt_watch_regs *regs)
-{
-  switch (regs->style)
-    {
-    case pt_watch_style_mips32:
-      return regs->mips32.num_valid;
-    case pt_watch_style_mips64:
-      return regs->mips64.num_valid;
-    default:
-      internal_error (__FILE__, __LINE__,
-		      _("Unrecognized watch register style"));
-    }
-}
-
-/* Assuming usable watch registers REGS, return the watchlo of
-   register N.  */
-
-CORE_ADDR
-mips_linux_watch_get_watchlo (struct pt_watch_regs *regs, int n)
-{
-  switch (regs->style)
-    {
-    case pt_watch_style_mips32:
-      return regs->mips32.watchlo[n];
-    case pt_watch_style_mips64:
-      return regs->mips64.watchlo[n];
-    default:
-      internal_error (__FILE__, __LINE__,
-		      _("Unrecognized watch register style"));
-    }
-}
-
-/* Assuming usable watch registers REGS, set watchlo of register N to
-   VALUE.  */
-
-void
-mips_linux_watch_set_watchlo (struct pt_watch_regs *regs, int n,
-			      CORE_ADDR value)
-{
-  switch (regs->style)
-    {
-    case pt_watch_style_mips32:
-      /*  The cast will never throw away bits as 64 bit addresses can
-	  never be used on a 32 bit kernel.  */
-      regs->mips32.watchlo[n] = (uint32_t) value;
-      break;
-    case pt_watch_style_mips64:
-      regs->mips64.watchlo[n] = value;
-      break;
-    default:
-      internal_error (__FILE__, __LINE__,
-		      _("Unrecognized watch register style"));
-    }
-}
-
-/* Assuming usable watch registers REGS, return the watchhi of
-   register N.  */
-
-uint32_t
-mips_linux_watch_get_watchhi (struct pt_watch_regs *regs, int n)
-{
-  switch (regs->style)
-    {
-    case pt_watch_style_mips32:
-      return regs->mips32.watchhi[n];
-    case pt_watch_style_mips64:
-      return regs->mips64.watchhi[n];
-    default:
-      internal_error (__FILE__, __LINE__,
-		      _("Unrecognized watch register style"));
-    }
-}
-
-/* Assuming usable watch registers REGS, set watchhi of register N to
-   VALUE.  */
-
-void
-mips_linux_watch_set_watchhi (struct pt_watch_regs *regs, int n,
-			      uint16_t value)
-{
-  switch (regs->style)
-    {
-    case pt_watch_style_mips32:
-      regs->mips32.watchhi[n] = value;
-      break;
-    case pt_watch_style_mips64:
-      regs->mips64.watchhi[n] = value;
-      break;
-    default:
-      internal_error (__FILE__, __LINE__,
-		      _("Unrecognized watch register style"));
-    }
-}
-
-/* Read the watch registers of process LWPID and store it in
-   WATCH_READBACK.  Save true to *WATCH_READBACK_VALID if watch
-   registers are valid.  Return 1 if watch registers are usable.
-   Cached information is used unless FORCE is true.  */
-
-int
-mips_linux_read_watch_registers (long lwpid,
-				 struct pt_watch_regs *watch_readback,
-				 int *watch_readback_valid, int force)
-{
-  if (force || *watch_readback_valid == 0)
-    {
-      if (ptrace (PTRACE_GET_WATCH_REGS, lwpid, watch_readback) == -1)
-	{
-	  *watch_readback_valid = -1;
-	  return 0;
-	}
-      switch (watch_readback->style)
-	{
-	case pt_watch_style_mips32:
-	  if (watch_readback->mips32.num_valid == 0)
-	    {
-	      *watch_readback_valid = -1;
-	      return 0;
-	    }
-	  break;
-	case pt_watch_style_mips64:
-	  if (watch_readback->mips64.num_valid == 0)
-	    {
-	      *watch_readback_valid = -1;
-	      return 0;
-	    }
-	  break;
-	default:
-	  *watch_readback_valid = -1;
-	  return 0;
-	}
-      /* Watch registers appear to be usable.  */
-      *watch_readback_valid = 1;
-    }
-  return (*watch_readback_valid == 1) ? 1 : 0;
-}
-
-/* Convert GDB's TYPE to an IRW mask.  */
-
-uint32_t
-mips_linux_watch_type_to_irw (int type)
-{
-  switch (type)
-    {
-    case hw_write:
-      return W_MASK;
-    case hw_read:
-      return R_MASK;
-    case hw_access:
-      return (W_MASK | R_MASK);
-    default:
-      return 0;
-    }
-}
-
-/* Set any low order bits in MASK that are not set.  */
-
-static CORE_ADDR
-fill_mask (CORE_ADDR mask)
-{
-  CORE_ADDR f = 1;
-
-  while (f && f < mask)
-    {
-      mask |= f;
-      f <<= 1;
-    }
-  return mask;
-}
-
-/* Try to add a single watch to the specified registers REGS.  The
-   address of added watch is ADDR, the length is LEN, and the mask
-   is IRW.  Return 1 on success, 0 on failure.  */
-
-int
-mips_linux_watch_try_one_watch (struct pt_watch_regs *regs,
-				CORE_ADDR addr, int len, uint32_t irw)
-{
-  CORE_ADDR base_addr, last_byte, break_addr, segment_len;
-  CORE_ADDR mask_bits, t_low;
-  uint16_t t_hi;
-  int i, free_watches;
-  struct pt_watch_regs regs_copy;
-
-  if (len <= 0)
-    return 0;
-
-  last_byte = addr + len - 1;
-  mask_bits = fill_mask (addr ^ last_byte) | IRW_MASK;
-  base_addr = addr & ~mask_bits;
-
-  /* Check to see if it is covered by current registers.  */
-  for (i = 0; i < mips_linux_watch_get_num_valid (regs); i++)
-    {
-      t_low = mips_linux_watch_get_watchlo (regs, i);
-      if (t_low != 0 && irw == ((uint32_t) t_low & irw))
-	{
-	  t_hi = mips_linux_watch_get_watchhi (regs, i) | IRW_MASK;
-	  t_low &= ~(CORE_ADDR) t_hi;
-	  if (addr >= t_low && last_byte <= (t_low + t_hi))
-	    return 1;
-	}
-    }
-  /* Try to find an empty register.  */
-  free_watches = 0;
-  for (i = 0; i < mips_linux_watch_get_num_valid (regs); i++)
-    {
-      t_low = mips_linux_watch_get_watchlo (regs, i);
-      if (t_low == 0
-	  && irw == (mips_linux_watch_get_irw_mask (regs, i) & irw))
-	{
-	  if (mask_bits <= (get_reg_mask (regs, i) | IRW_MASK))
-	    {
-	      /* It fits, we'll take it.  */
-	      mips_linux_watch_set_watchlo (regs, i, base_addr | irw);
-	      mips_linux_watch_set_watchhi (regs, i, mask_bits & ~IRW_MASK);
-	      return 1;
-	    }
-	  else
-	    {
-	      /* It doesn't fit, but has the proper IRW capabilities.  */
-	      free_watches++;
-	    }
-	}
-    }
-  if (free_watches > 1)
-    {
-      /* Try to split it across several registers.  */
-      regs_copy = *regs;
-      for (i = 0; i < mips_linux_watch_get_num_valid (&regs_copy); i++)
-	{
-	  t_low = mips_linux_watch_get_watchlo (&regs_copy, i);
-	  t_hi = get_reg_mask (&regs_copy, i) | IRW_MASK;
-	  if (t_low == 0 && irw == (t_hi & irw))
-	    {
-	      t_low = addr & ~(CORE_ADDR) t_hi;
-	      break_addr = t_low + t_hi + 1;
-	      if (break_addr >= addr + len)
-		segment_len = len;
-	      else
-		segment_len = break_addr - addr;
-	      mask_bits = fill_mask (addr ^ (addr + segment_len - 1));
-	      mips_linux_watch_set_watchlo (&regs_copy, i,
-					    (addr & ~mask_bits) | irw);
-	      mips_linux_watch_set_watchhi (&regs_copy, i,
-					    mask_bits & ~IRW_MASK);
-	      if (break_addr >= addr + len)
-		{
-		  *regs = regs_copy;
-		  return 1;
-		}
-	      len = addr + len - break_addr;
-	      addr = break_addr;
-	    }
-	}
-    }
-  /* It didn't fit anywhere, we failed.  */
-  return 0;
-}
-
-/* Fill in the watch registers REGS with the currently cached
-   watches CURRENT_WATCHES.  */
-
-void
-mips_linux_watch_populate_regs (struct mips_watchpoint *current_watches,
-				struct pt_watch_regs *regs)
-{
-  struct mips_watchpoint *w;
-  int i;
-
-  /* Clear them out.  */
-  for (i = 0; i < mips_linux_watch_get_num_valid (regs); i++)
-    {
-      mips_linux_watch_set_watchlo (regs, i, 0);
-      mips_linux_watch_set_watchhi (regs, i, 0);
-    }
-
-  w = current_watches;
-  while (w)
-    {
-      uint32_t irw = mips_linux_watch_type_to_irw (w->type);
-
-      i = mips_linux_watch_try_one_watch (regs, w->addr, w->len, irw);
-      /* They must all fit, because we previously calculated that they
-	 would.  */
-      gdb_assert (i);
-      w = w->next;
-    }
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/mips-linux-watch.h ./gdb/common/mips-linux-watch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/mips-linux-watch.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/mips-linux-watch.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,126 +0,0 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef MIPS_LINUX_WATCH_H
-#define MIPS_LINUX_WATCH_H 1
-
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
-#include <asm/ptrace.h>
-#include <stdint.h>
-
-#include "break-common.h"
-
-#define MAX_DEBUG_REGISTER 8
-
-/* If macro PTRACE_GET_WATCH_REGS is not defined, kernel header doesn't
-   have hardware watchpoint-related structures.  Define them below.  */
-
-#ifndef PTRACE_GET_WATCH_REGS
-#  define PTRACE_GET_WATCH_REGS	0xd0
-#  define PTRACE_SET_WATCH_REGS	0xd1
-
-enum pt_watch_style {
-  pt_watch_style_mips32,
-  pt_watch_style_mips64
-};
-
-/* A value of zero in a watchlo indicates that it is available.  */
-
-struct mips32_watch_regs
-{
-  uint32_t watchlo[MAX_DEBUG_REGISTER];
-  /* Lower 16 bits of watchhi.  */
-  uint16_t watchhi[MAX_DEBUG_REGISTER];
-  /* Valid mask and I R W bits.
-   * bit 0 -- 1 if W bit is usable.
-   * bit 1 -- 1 if R bit is usable.
-   * bit 2 -- 1 if I bit is usable.
-   * bits 3 - 11 -- Valid watchhi mask bits.
-   */
-  uint16_t watch_masks[MAX_DEBUG_REGISTER];
-  /* The number of valid watch register pairs.  */
-  uint32_t num_valid;
-  /* There is confusion across gcc versions about structure alignment,
-     so we force 8 byte alignment for these structures so they match
-     the kernel even if it was build with a different gcc version.  */
-} __attribute__ ((aligned (8)));
-
-struct mips64_watch_regs
-{
-  uint64_t watchlo[MAX_DEBUG_REGISTER];
-  uint16_t watchhi[MAX_DEBUG_REGISTER];
-  uint16_t watch_masks[MAX_DEBUG_REGISTER];
-  uint32_t num_valid;
-} __attribute__ ((aligned (8)));
-
-struct pt_watch_regs
-{
-  enum pt_watch_style style;
-  union
-  {
-    struct mips32_watch_regs mips32;
-    struct mips64_watch_regs mips64;
-  };
-};
-
-#endif /* !PTRACE_GET_WATCH_REGS */
-
-#define W_BIT 0
-#define R_BIT 1
-#define I_BIT 2
-
-#define W_MASK (1 << W_BIT)
-#define R_MASK (1 << R_BIT)
-#define I_MASK (1 << I_BIT)
-
-#define IRW_MASK (I_MASK | R_MASK | W_MASK)
-
-/* We keep list of all watchpoints we should install and calculate the
-   watch register values each time the list changes.  This allows for
-   easy sharing of watch registers for more than one watchpoint.  */
-
-struct mips_watchpoint
-{
-  CORE_ADDR addr;
-  int len;
-  int type;
-  struct mips_watchpoint *next;
-};
-
-uint32_t mips_linux_watch_get_num_valid (struct pt_watch_regs *regs);
-uint32_t mips_linux_watch_get_irw_mask (struct pt_watch_regs *regs, int n);
-CORE_ADDR mips_linux_watch_get_watchlo (struct pt_watch_regs *regs, int n);
-void mips_linux_watch_set_watchlo (struct pt_watch_regs *regs, int n,
-				   CORE_ADDR value);
-uint32_t mips_linux_watch_get_watchhi (struct pt_watch_regs *regs, int n);
-void mips_linux_watch_set_watchhi (struct pt_watch_regs *regs, int n,
-				   uint16_t value);
-int mips_linux_watch_try_one_watch (struct pt_watch_regs *regs,
-				    CORE_ADDR addr, int len, uint32_t irw);
-void mips_linux_watch_populate_regs (struct mips_watchpoint *current_watches,
-				     struct pt_watch_regs *regs);
-uint32_t mips_linux_watch_type_to_irw (int type);
-
-int mips_linux_read_watch_registers (long lwpid,
-				     struct pt_watch_regs *watch_readback,
-				     int *watch_readback_valid, int force);
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/print-utils.c ./gdb/common/print-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/print-utils.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/print-utils.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Cell-based print utility routines for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,15 +17,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
+#include "common-defs.h"
 #include "print-utils.h"
-
-#include <string.h>
 #include <stdint.h>
 
 /* Temporary storage using circular buffer.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/print-utils.h ./gdb/common/print-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/print-utils.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/print-utils.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Cell-based print utility routines for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/ptid.c ./gdb/common/ptid.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/ptid.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/ptid.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* The ptid_t type and common functions operating on it.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
    
    This file is part of GDB.
 
@@ -17,6 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include "common-defs.h"
 #include "ptid.h"
 
 /* See ptid.h for these.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/ptid.h ./gdb/common/ptid.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/ptid.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/ptid.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* The ptid_t type and common functions operating on it.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/queue.h ./gdb/common/queue.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/queue.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/queue.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* General queue data structure for GDB, the GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,9 +20,6 @@
 #ifndef QUEUE_H
 #define QUEUE_H
 
-#include "libiberty.h" /* xmalloc */
-#include "gdb_assert.h"
-
 /* These macros implement functions and structs for a general queue.
    Macro 'DEFINE_QUEUE_P(TYPEDEF)' is to define the new queue type for
    TYPEDEF', and macro 'DECLARE_QUEUE_P' is to declare external queue
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/rsp-low.c ./gdb/common/rsp-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/rsp-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/rsp-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low-level RSP routines for GDB, the GNU debugger.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,14 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
-#include <string.h>
-
+#include "common-defs.h"
 #include "rsp-low.h"
 
 /* See rsp-low.h.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/rsp-low.h ./gdb/common/rsp-low.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/rsp-low.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/rsp-low.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low-level RSP routines for GDB, the GNU debugger.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/signals.c ./gdb/common/signals.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/signals.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/signals.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target signal translation functions for GDB.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
    This file is part of GDB.
@@ -17,19 +17,13 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#include <string.h>
-#endif
+#include "common-defs.h"
 
 #ifdef HAVE_SIGNAL_H
 #include <signal.h>
 #endif
 
 #include "gdb_signals.h"
-#include "gdb_assert.h"
 
 struct gdbarch;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/symbol.h ./gdb/common/symbol.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/symbol.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/symbol.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,37 @@
+/* Declarations of common symbol functions.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_SYMBOL_H
+#define COMMON_SYMBOL_H
+
+struct objfile;
+
+/* Find a symbol that matches NAME.  Limit the search to OBJFILE if
+   OBJFILE is non-NULL and the implementation supports limiting the
+   search to specific object files.  NAME may be mangled or demangled.
+   If a match is found, store the matching symbol's address in ADDR
+   and return zero.  Returns nonzero if no symbol matching NAME is
+   found.  Raise an exception if OBJFILE is non-NULL and the
+   implementation does not support limiting searches to specific
+   object files.  This function must be provided by the client.  */
+
+extern int find_minimal_symbol_address (const char *name, CORE_ADDR *addr,
+					struct objfile *objfile);
+
+#endif /* COMMON_SYMBOL_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/vec.c ./gdb/common/vec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/vec.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/vec.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Vector API for GDB.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Nathan Sidwell <nathan@codesourcery.com>
 
    This file is part of GDB.
@@ -17,12 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
+#include "common-defs.h"
 #include "vec.h"
 
 struct vec_prefix
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/vec.h ./gdb/common/vec.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/vec.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/vec.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Vector API for GDB.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Nathan Sidwell <nathan@codesourcery.com>
 
    This file is part of GDB.
@@ -20,11 +20,6 @@
 #if !defined (GDB_VEC_H)
 #define GDB_VEC_H
 
-#include <stddef.h>
-
-#include <string.h>
-#include "gdb_assert.h"
-
 /* The macros here implement a set of templated vector types and
    associated interfaces.  These templates are implemented with
    macros, as we're not in C++ land.  The interface functions are
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/version.h ./gdb/common/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/version.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/version.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Version information for GDB.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/x86-xstate.h ./gdb/common/x86-xstate.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/x86-xstate.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/common/x86-xstate.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,67 @@
+/* Common code for x86 XSAVE extended state.
+
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef X86_XSTATE_H
+#define X86_XSTATE_H 1
+
+/* The extended state feature bits.  */
+#define X86_XSTATE_X87		(1ULL << 0)
+#define X86_XSTATE_SSE		(1ULL << 1)
+#define X86_XSTATE_AVX		(1ULL << 2)
+#define X86_XSTATE_BNDREGS	(1ULL << 3)
+#define X86_XSTATE_BNDCFG	(1ULL << 4)
+#define X86_XSTATE_MPX		(X86_XSTATE_BNDREGS | X86_XSTATE_BNDCFG)
+
+/* AVX 512 adds three feature bits.  All three must be enabled.  */
+#define X86_XSTATE_K		(1ULL << 5)
+#define X86_XSTATE_ZMM_H	(1ULL << 6)
+#define X86_XSTATE_ZMM		(1ULL << 7)
+#define X86_XSTATE_AVX512	(X86_XSTATE_K | X86_XSTATE_ZMM_H \
+				 | X86_XSTATE_ZMM)
+
+/* Supported mask and size of the extended state.  */
+#define X86_XSTATE_X87_MASK	X86_XSTATE_X87
+#define X86_XSTATE_SSE_MASK	(X86_XSTATE_X87 | X86_XSTATE_SSE)
+#define X86_XSTATE_AVX_MASK	(X86_XSTATE_SSE_MASK | X86_XSTATE_AVX)
+#define X86_XSTATE_MPX_MASK	(X86_XSTATE_AVX_MASK | X86_XSTATE_MPX)
+#define X86_XSTATE_AVX512_MASK	(X86_XSTATE_AVX_MASK | X86_XSTATE_AVX512)
+#define X86_XSTATE_MPX_AVX512_MASK (X86_XSTATE_MPX_MASK | X86_XSTATE_AVX512)
+
+#define X86_XSTATE_ALL_MASK	(X86_XSTATE_MPX_AVX512_MASK)
+
+#define X86_XSTATE_SSE_SIZE	576
+#define X86_XSTATE_AVX_SIZE	832
+#define X86_XSTATE_BNDREGS_SIZE	1024
+#define X86_XSTATE_BNDCFG_SIZE	1088
+#define X86_XSTATE_AVX512_SIZE	2688
+#define X86_XSTATE_MAX_SIZE	2688
+
+
+/* In case one of the MPX XCR0 bits is set we consider we have MPX.  */
+#define HAS_MPX(XCR0) (((XCR0) & X86_XSTATE_MPX) != 0)
+#define HAS_AVX(XCR0) (((XCR0) & X86_XSTATE_AVX) != 0)
+#define HAS_AVX512(XCR0) (((XCR0) & X86_XSTATE_AVX512) != 0)
+
+/* Get I386 XSAVE extended state size.  */
+#define X86_XSTATE_SIZE(XCR0) \
+    (HAS_AVX512 (XCR0) ? X86_XSTATE_AVX512_SIZE : \
+     (HAS_MPX (XCR0) ? X86_XSTATE_BNDCFG_SIZE : \
+      (HAS_AVX (XCR0) ? X86_XSTATE_AVX_SIZE : X86_XSTATE_SSE_SIZE)))
+
+#endif /* X86_XSTATE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/xml-utils.c ./gdb/common/xml-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/xml-utils.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/xml-utils.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Shared helper routines for manipulating XML.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,16 +17,9 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
+#include "common-defs.h"
 #include "xml-utils.h"
 
-#include <string.h>
-
 /* Return a malloc allocated string with special characters from TEXT
    replaced by entity references.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/xml-utils.h ./gdb/common/xml-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/common/xml-utils.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/common/xml-utils.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Shared helper routines for manipulating XML.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile.c ./gdb/compile/compile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,660 @@
+/* General Compile and inject code
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "interps.h"
+#include "ui-out.h"
+#include "command.h"
+#include "cli/cli-script.h"
+#include "cli/cli-utils.h"
+#include "completer.h"
+#include "gdbcmd.h"
+#include "compile.h"
+#include "compile-internal.h"
+#include "compile-object-load.h"
+#include "compile-object-run.h"
+#include "language.h"
+#include "frame.h"
+#include "source.h"
+#include "block.h"
+#include "arch-utils.h"
+#include "filestuff.h"
+#include "target.h"
+#include "osabi.h"
+#include "gdb_wait.h"
+
+
+
+/* Initial filename for temporary files.  */
+
+#define TMP_PREFIX "/tmp/gdbobj-"
+
+/* Hold "compile" commands.  */
+
+static struct cmd_list_element *compile_command_list;
+
+/* Debug flag for "compile" commands.  */
+
+int compile_debug;
+
+/* Implement "show debug compile".  */
+
+static void
+show_compile_debug (struct ui_file *file, int from_tty,
+		    struct cmd_list_element *c, const char *value)
+{
+  fprintf_filtered (file, _("Compile debugging is %s.\n"), value);
+}
+
+
+
+/* Check *ARG for a "-raw" or "-r" argument.  Return 0 if not seen.
+   Return 1 if seen and update *ARG.  */
+
+static int
+check_raw_argument (char **arg)
+{
+  *arg = skip_spaces (*arg);
+
+  if (arg != NULL
+      && (check_for_argument (arg, "-raw", sizeof ("-raw") - 1)
+	  || check_for_argument (arg, "-r", sizeof ("-r") - 1)))
+      return 1;
+  return 0;
+}
+
+/* Handle the input from the 'compile file' command.  The "compile
+   file" command is used to evaluate an expression contained in a file
+   that may contain calls to the GCC compiler.  */
+
+static void
+compile_file_command (char *arg, int from_tty)
+{
+  enum compile_i_scope_types scope = COMPILE_I_SIMPLE_SCOPE;
+  char *buffer;
+  struct cleanup *cleanup;
+
+  cleanup = make_cleanup_restore_integer (&interpreter_async);
+  interpreter_async = 0;
+
+  /* Check the user did not just <enter> after command.  */
+  if (arg == NULL)
+    error (_("You must provide a filename for this command."));
+
+  /* Check if a raw (-r|-raw) argument is provided.  */
+  if (arg != NULL && check_raw_argument (&arg))
+    {
+      scope = COMPILE_I_RAW_SCOPE;
+      arg = skip_spaces (arg);
+    }
+
+  /* After processing arguments, check there is a filename at the end
+     of the command.  */
+  if (arg[0] == '\0')
+    error (_("You must provide a filename with the raw option set."));
+
+  if (arg[0] == '-')
+    error (_("Unknown argument specified."));
+
+  arg = skip_spaces (arg);
+  arg = gdb_abspath (arg);
+  make_cleanup (xfree, arg);
+  buffer = xstrprintf ("#include \"%s\"\n", arg);
+  make_cleanup (xfree, buffer);
+  eval_compile_command (NULL, buffer, scope);
+  do_cleanups (cleanup);
+}
+
+/* Handle the input from the 'compile code' command.  The
+   "compile code" command is used to evaluate an expression that may
+   contain calls to the GCC compiler.  The language expected in this
+   compile command is the language currently set in GDB.  */
+
+static void
+compile_code_command (char *arg, int from_tty)
+{
+  struct cleanup *cleanup;
+  enum compile_i_scope_types scope = COMPILE_I_SIMPLE_SCOPE;
+
+  cleanup = make_cleanup_restore_integer (&interpreter_async);
+  interpreter_async = 0;
+
+  if (arg != NULL && check_raw_argument (&arg))
+    {
+      scope = COMPILE_I_RAW_SCOPE;
+      arg = skip_spaces (arg);
+    }
+
+  arg = skip_spaces (arg);
+
+  if (arg != NULL && !check_for_argument (&arg, "--", sizeof ("--") - 1))
+    {
+      if (arg[0] == '-')
+	error (_("Unknown argument specified."));
+    }
+
+  if (arg && *arg)
+      eval_compile_command (NULL, arg, scope);
+  else
+    {
+      struct command_line *l = get_command_line (compile_control, "");
+
+      make_cleanup_free_command_lines (&l);
+      l->control_u.compile.scope = scope;
+      execute_control_command_untraced (l);
+    }
+
+  do_cleanups (cleanup);
+}
+
+/* A cleanup function to remove a directory and all its contents.  */
+
+static void
+do_rmdir (void *arg)
+{
+  const char *dir = arg;
+  char *zap;
+  int wstat;
+
+  gdb_assert (strncmp (dir, TMP_PREFIX, strlen (TMP_PREFIX)) == 0);
+  zap = concat ("rm -rf ", dir, (char *) NULL);
+  wstat = system (zap);
+  if (wstat == -1 || !WIFEXITED (wstat) || WEXITSTATUS (wstat) != 0)
+    warning (_("Could not remove temporary directory %s"), dir);
+  XDELETEVEC (zap);
+}
+
+/* Return the name of the temporary directory to use for .o files, and
+   arrange for the directory to be removed at shutdown.  */
+
+static const char *
+get_compile_file_tempdir (void)
+{
+  static char *tempdir_name;
+
+#define TEMPLATE TMP_PREFIX "XXXXXX"
+  char tname[sizeof (TEMPLATE)];
+
+  if (tempdir_name != NULL)
+    return tempdir_name;
+
+  strcpy (tname, TEMPLATE);
+#undef TEMPLATE
+#ifdef HAVE_MKDTEMP
+  tempdir_name = mkdtemp (tname);
+#else
+  error (_("Command not supported on this host."));
+#endif
+  if (tempdir_name == NULL)
+    perror_with_name (_("Could not make temporary directory"));
+
+  tempdir_name = xstrdup (tempdir_name);
+  make_final_cleanup (do_rmdir, tempdir_name);
+  return tempdir_name;
+}
+
+/* Compute the names of source and object files to use.  The names are
+   allocated by malloc and should be freed by the caller.  */
+
+static void
+get_new_file_names (char **source_file, char **object_file)
+{
+  static int seq;
+  const char *dir = get_compile_file_tempdir ();
+
+  ++seq;
+  *source_file = xstrprintf ("%s%sout%d.c", dir, SLASH_STRING, seq);
+  *object_file = xstrprintf ("%s%sout%d.o", dir, SLASH_STRING, seq);
+}
+
+/* Get the block and PC at which to evaluate an expression.  */
+
+static const struct block *
+get_expr_block_and_pc (CORE_ADDR *pc)
+{
+  const struct block *block = get_selected_block (pc);
+
+  if (block == NULL)
+    {
+      struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+
+      if (cursal.symtab)
+	block = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (cursal.symtab),
+				   STATIC_BLOCK);
+      if (block != NULL)
+	*pc = BLOCK_START (block);
+    }
+  else
+    *pc = BLOCK_START (block);
+
+  return block;
+}
+
+/* Call gdb_buildargv, set its result for S into *ARGVP but calculate also the
+   number of parsed arguments into *ARGCP.  If gdb_buildargv has returned NULL
+   then *ARGCP is set to zero.  */
+
+static void
+build_argc_argv (const char *s, int *argcp, char ***argvp)
+{
+  *argvp = gdb_buildargv (s);
+  *argcp = countargv (*argvp);
+}
+
+/* String for 'set compile-args' and 'show compile-args'.  */
+static char *compile_args;
+
+/* Parsed form of COMPILE_ARGS.  COMPILE_ARGS_ARGV is NULL terminated.  */
+static int compile_args_argc;
+static char **compile_args_argv;
+
+/* Implement 'set compile-args'.  */
+
+static void
+set_compile_args (char *args, int from_tty, struct cmd_list_element *c)
+{
+  freeargv (compile_args_argv);
+  build_argc_argv (compile_args, &compile_args_argc, &compile_args_argv);
+}
+
+/* Implement 'show compile-args'.  */
+
+static void
+show_compile_args (struct ui_file *file, int from_tty,
+		   struct cmd_list_element *c, const char *value)
+{
+  fprintf_filtered (file, _("Compile command command-line arguments "
+			    "are \"%s\".\n"),
+		    value);
+}
+
+/* Append ARGC and ARGV (as parsed by build_argc_argv) to *ARGCP and *ARGVP.
+   ARGCP+ARGVP can be zero+NULL and also ARGC+ARGV can be zero+NULL.  */
+
+static void
+append_args (int *argcp, char ***argvp, int argc, char **argv)
+{
+  int argi;
+
+  *argvp = xrealloc (*argvp, (*argcp + argc + 1) * sizeof (**argvp));
+
+  for (argi = 0; argi < argc; argi++)
+    (*argvp)[(*argcp)++] = xstrdup (argv[argi]);
+  (*argvp)[(*argcp)] = NULL;
+}
+
+/* Return DW_AT_producer parsed for get_selected_frame () (if any).
+   Return NULL otherwise.
+
+   GCC already filters its command-line arguments only for the suitable ones to
+   put into DW_AT_producer - see GCC function gen_producer_string.  */
+
+static const char *
+get_selected_pc_producer_options (void)
+{
+  CORE_ADDR pc = get_frame_pc (get_selected_frame (NULL));
+  struct compunit_symtab *symtab = find_pc_compunit_symtab (pc);
+  const char *cs;
+
+  if (symtab == NULL || symtab->producer == NULL
+      || strncmp (symtab->producer, "GNU ", strlen ("GNU ")) != 0)
+    return NULL;
+
+  cs = symtab->producer;
+  while (*cs != 0 && *cs != '-')
+    cs = skip_spaces_const (skip_to_space_const (cs));
+  if (*cs != '-')
+    return NULL;
+  return cs;
+}
+
+/* Produce final vector of GCC compilation options.  First element is target
+   size ("-m64", "-m32" etc.), optionally followed by DW_AT_producer options
+   and then compile-args string GDB variable.  */
+
+static void
+get_args (const struct compile_instance *compiler, struct gdbarch *gdbarch,
+	  int *argcp, char ***argvp)
+{
+  const char *cs_producer_options;
+  int argc_compiler;
+  char **argv_compiler;
+
+  build_argc_argv (gdbarch_gcc_target_options (gdbarch),
+		   argcp, argvp);
+
+  cs_producer_options = get_selected_pc_producer_options ();
+  if (cs_producer_options != NULL)
+    {
+      int argc_producer;
+      char **argv_producer;
+
+      build_argc_argv (cs_producer_options, &argc_producer, &argv_producer);
+      append_args (argcp, argvp, argc_producer, argv_producer);
+      freeargv (argv_producer);
+    }
+
+  build_argc_argv (compiler->gcc_target_options,
+		   &argc_compiler, &argv_compiler);
+  append_args (argcp, argvp, argc_compiler, argv_compiler);
+  freeargv (argv_compiler);
+
+  append_args (argcp, argvp, compile_args_argc, compile_args_argv);
+}
+
+/* A cleanup function to destroy a gdb_gcc_instance.  */
+
+static void
+cleanup_compile_instance (void *arg)
+{
+  struct compile_instance *inst = arg;
+
+  inst->destroy (inst);
+}
+
+/* A cleanup function to unlink a file.  */
+
+static void
+cleanup_unlink_file (void *arg)
+{
+  const char *filename = arg;
+
+  unlink (filename);
+}
+
+/* A helper function suitable for use as the "print_callback" in the
+   compiler object.  */
+
+static void
+print_callback (void *ignore, const char *message)
+{
+  fputs_filtered (message, gdb_stderr);
+}
+
+/* Process the compilation request.  On success it returns the object
+   file name and *SOURCE_FILEP is set to source file name.  On an
+   error condition, error () is called.  The caller is responsible for
+   freeing both strings.  */
+
+static char *
+compile_to_object (struct command_line *cmd, char *cmd_string,
+		   enum compile_i_scope_types scope,
+		   char **source_filep)
+{
+  char *code;
+  char *source_file, *object_file;
+  struct compile_instance *compiler;
+  struct cleanup *cleanup, *inner_cleanup;
+  const struct block *expr_block;
+  CORE_ADDR trash_pc, expr_pc;
+  int argc;
+  char **argv;
+  int ok;
+  FILE *src;
+  struct gdbarch *gdbarch = get_current_arch ();
+  const char *os_rx;
+  const char *arch_rx;
+  char *triplet_rx;
+  char *error_message;
+
+  if (!target_has_execution)
+    error (_("The program must be running for the compile command to "\
+	     "work."));
+
+  expr_block = get_expr_block_and_pc (&trash_pc);
+  expr_pc = get_frame_address_in_block (get_selected_frame (NULL));
+
+  /* Set up instance and context for the compiler.  */
+  if (current_language->la_get_compile_instance == NULL)
+    error (_("No compiler support for this language."));
+  compiler = current_language->la_get_compile_instance ();
+  cleanup = make_cleanup (cleanup_compile_instance, compiler);
+
+  compiler->fe->ops->set_print_callback (compiler->fe, print_callback, NULL);
+
+  compiler->scope = scope;
+  compiler->block = expr_block;
+
+  /* From the provided expression, build a scope to pass to the
+     compiler.  */
+  if (cmd != NULL)
+    {
+      struct ui_file *stream = mem_fileopen ();
+      struct command_line *iter;
+
+      make_cleanup_ui_file_delete (stream);
+      for (iter = cmd->body_list[0]; iter; iter = iter->next)
+	{
+	  fputs_unfiltered (iter->line, stream);
+	  fputs_unfiltered ("\n", stream);
+	}
+
+      code = ui_file_xstrdup (stream, NULL);
+      make_cleanup (xfree, code);
+    }
+  else if (cmd_string != NULL)
+    code = cmd_string;
+  else
+    error (_("Neither a simple expression, or a multi-line specified."));
+
+  code = current_language->la_compute_program (compiler, code, gdbarch,
+					       expr_block, expr_pc);
+  make_cleanup (xfree, code);
+  if (compile_debug)
+    fprintf_unfiltered (gdb_stdout, "debug output:\n\n%s", code);
+
+  os_rx = osabi_triplet_regexp (gdbarch_osabi (gdbarch));
+  arch_rx = gdbarch_gnu_triplet_regexp (gdbarch);
+  triplet_rx = concat (arch_rx, "-[^-]*-", os_rx, (char *) NULL);
+  make_cleanup (xfree, triplet_rx);
+
+  /* Set compiler command-line arguments.  */
+  get_args (compiler, gdbarch, &argc, &argv);
+  make_cleanup_freeargv (argv);
+
+  error_message = compiler->fe->ops->set_arguments (compiler->fe, triplet_rx,
+						    argc, argv);
+  if (error_message != NULL)
+    {
+      make_cleanup (xfree, error_message);
+      error ("%s", error_message);
+    }
+
+  if (compile_debug)
+    {
+      int argi;
+
+      fprintf_unfiltered (gdb_stdout, "Passing %d compiler options:\n", argc);
+      for (argi = 0; argi < argc; argi++)
+	fprintf_unfiltered (gdb_stdout, "Compiler option %d: <%s>\n",
+			    argi, argv[argi]);
+    }
+
+  get_new_file_names (&source_file, &object_file);
+  inner_cleanup = make_cleanup (xfree, source_file);
+  make_cleanup (xfree, object_file);
+
+  src = gdb_fopen_cloexec (source_file, "w");
+  if (src == NULL)
+    perror_with_name (_("Could not open source file for writing"));
+  make_cleanup (cleanup_unlink_file, source_file);
+  if (fputs (code, src) == EOF)
+    perror_with_name (_("Could not write to source file"));
+  fclose (src);
+
+  if (compile_debug)
+    fprintf_unfiltered (gdb_stdout, "source file produced: %s\n\n",
+			source_file);
+
+  /* Call the compiler and start the compilation process.  */
+  compiler->fe->ops->set_source_file (compiler->fe, source_file);
+
+  if (!compiler->fe->ops->compile (compiler->fe, object_file,
+				   compile_debug))
+    error (_("Compilation failed."));
+
+  if (compile_debug)
+    fprintf_unfiltered (gdb_stdout, "object file produced: %s\n\n",
+			object_file);
+
+  discard_cleanups (inner_cleanup);
+  do_cleanups (cleanup);
+  *source_filep = source_file;
+  return object_file;
+}
+
+/* The "compile" prefix command.  */
+
+static void
+compile_command (char *args, int from_tty)
+{
+  /* If a sub-command is not specified to the compile prefix command,
+     assume it is a direct code compilation.  */
+  compile_code_command (args, from_tty);
+}
+
+/* See compile.h.  */
+
+void
+eval_compile_command (struct command_line *cmd, char *cmd_string,
+		      enum compile_i_scope_types scope)
+{
+  char *object_file, *source_file;
+
+  object_file = compile_to_object (cmd, cmd_string, scope, &source_file);
+  if (object_file != NULL)
+    {
+      struct cleanup *cleanup_xfree, *cleanup_unlink;
+      struct compile_module *compile_module;
+
+      cleanup_xfree = make_cleanup (xfree, object_file);
+      make_cleanup (xfree, source_file);
+      cleanup_unlink = make_cleanup (cleanup_unlink_file, object_file);
+      make_cleanup (cleanup_unlink_file, source_file);
+      compile_module = compile_object_load (object_file, source_file);
+      discard_cleanups (cleanup_unlink);
+      do_cleanups (cleanup_xfree);
+      compile_object_run (compile_module);
+    }
+}
+
+/* See compile/compile-internal.h.  */
+
+char *
+compile_register_name_mangled (struct gdbarch *gdbarch, int regnum)
+{
+  const char *regname = gdbarch_register_name (gdbarch, regnum);
+
+  return xstrprintf ("__%s", regname);
+}
+
+/* See compile/compile-internal.h.  */
+
+int
+compile_register_name_demangle (struct gdbarch *gdbarch,
+				 const char *regname)
+{
+  int regnum;
+
+  if (regname[0] != '_' || regname[1] != '_')
+    error (_("Invalid register name \"%s\"."), regname);
+  regname += 2;
+
+  for (regnum = 0; regnum < gdbarch_num_regs (gdbarch); regnum++)
+    if (strcmp (regname, gdbarch_register_name (gdbarch, regnum)) == 0)
+      return regnum;
+
+  error (_("Cannot find gdbarch register \"%s\"."), regname);
+}
+
+extern initialize_file_ftype _initialize_compile;
+
+void
+_initialize_compile (void)
+{
+  struct cmd_list_element *c = NULL;
+
+  add_prefix_cmd ("compile", class_obscure, compile_command,
+		  _("\
+Command to compile source code and inject it into the inferior."),
+		  &compile_command_list, "compile ", 1, &cmdlist);
+  add_com_alias ("expression", "compile", class_obscure, 0);
+
+  add_cmd ("code", class_obscure, compile_code_command,
+	   _("\
+Compile, inject, and execute code.\n\
+\n\
+Usage: compile code [-r|-raw] [--] [CODE]\n\
+-r|-raw: Suppress automatic 'void _gdb_expr () { CODE }' wrapping.\n\
+--: Do not parse any options beyond this delimiter.  All text to the\n\
+    right will be treated as source code.\n\
+\n\
+The source code may be specified as a simple one line expression, e.g.:\n\
+\n\
+    compile code printf(\"Hello world\\n\");\n\
+\n\
+Alternatively, you can type the source code interactively.\n\
+You can invoke this mode when no argument is given to the command\n\
+(i.e.,\"compile code\" is typed with nothing after it).  An\n\
+interactive prompt will be shown allowing you to enter multiple\n\
+lines of source code.  Type a line containing \"end\" to indicate\n\
+the end of the source code."),
+	   &compile_command_list);
+
+  c = add_cmd ("file", class_obscure, compile_file_command,
+	       _("\
+Evaluate a file containing source code.\n\
+\n\
+Usage: compile file [-r|-raw] [filename]\n\
+-r|-raw: Suppress automatic 'void _gdb_expr () { CODE }' wrapping."),
+	       &compile_command_list);
+  set_cmd_completer (c, filename_completer);
+
+  add_setshow_boolean_cmd ("compile", class_maintenance, &compile_debug, _("\
+Set compile command debugging."), _("\
+Show compile command debugging."), _("\
+When on, compile command debugging is enabled."),
+			   NULL, show_compile_debug,
+			   &setdebuglist, &showdebuglist);
+
+  add_setshow_string_cmd ("compile-args", class_support,
+			  &compile_args,
+			  _("Set compile command GCC command-line arguments"),
+			  _("Show compile command GCC command-line arguments"),
+			  _("\
+Use options like -I (include file directory) or ABI settings.\n\
+String quoting is parsed like in shell, for example:\n\
+  -mno-align-double \"-I/dir with a space/include\""),
+			  set_compile_args, show_compile_args, &setlist, &showlist);
+
+  /* Override flags possibly coming from DW_AT_producer.  */
+  compile_args = xstrdup ("-O0 -gdwarf-4"
+  /* We use -fPIC Otherwise GDB would need to reserve space large enough for
+     any object file in the inferior in advance to get the final address when
+     to link the object file to and additionally the default system linker
+     script would need to be modified so that one can specify there the
+     absolute target address.  */
+			 " -fPIC"
+  /* We don't want warnings.  */
+			 " -w"
+  /* Override CU's possible -fstack-protector-strong.  */
+			 " -fno-stack-protector"
+  );
+  set_compile_args (compile_args, 0, NULL);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-c-support.c ./gdb/compile/compile-c-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-c-support.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile-c-support.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,399 @@
+/* C language support for compilation.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "compile-internal.h"
+#include "compile.h"
+#include "gdb-dlfcn.h"
+#include "c-lang.h"
+#include "macrotab.h"
+#include "macroscope.h"
+#include "regcache.h"
+
+/* See compile-internal.h.  */
+
+const char *
+c_get_mode_for_size (int size)
+{
+  const char *mode = NULL;
+
+  switch (size)
+    {
+    case 1:
+      mode = "QI";
+      break;
+    case 2:
+      mode = "HI";
+      break;
+    case 4:
+      mode = "SI";
+      break;
+    case 8:
+      mode = "DI";
+      break;
+    default:
+      internal_error (__FILE__, __LINE__, _("Invalid GCC mode size %d."), size);
+    }
+
+  return mode;
+}
+
+/* See compile-internal.h.  */
+
+char *
+c_get_range_decl_name (const struct dynamic_prop *prop)
+{
+  return xstrprintf ("__gdb_prop_%s", host_address_to_string (prop));
+}
+
+
+
+#define STR(x) #x
+#define STRINGIFY(x) STR(x)
+
+/* Helper function for c_get_compile_context.  Open the GCC front-end
+   shared library and return the symbol specified by the current
+   GCC_C_FE_CONTEXT.  */
+
+static gcc_c_fe_context_function *
+load_libcc (void)
+{
+  void *handle;
+  gcc_c_fe_context_function *func;
+
+   /* gdb_dlopen will call error () on an error, so no need to check
+      value.  */
+  handle = gdb_dlopen (STRINGIFY (GCC_C_FE_LIBCC));
+  func = (gcc_c_fe_context_function *) gdb_dlsym (handle,
+						  STRINGIFY (GCC_C_FE_CONTEXT));
+
+  if (func == NULL)
+    error (_("could not find symbol %s in library %s"),
+	   STRINGIFY (GCC_C_FE_CONTEXT),
+	   STRINGIFY (GCC_C_FE_LIBCC));
+  return func;
+}
+
+/* Return the compile instance associated with the current context.
+   This function calls the symbol returned from the load_libcc
+   function.  This will provide the gcc_c_context.  */
+
+struct compile_instance *
+c_get_compile_context (void)
+{
+  static gcc_c_fe_context_function *func;
+
+  struct gcc_c_context *context;
+
+  if (func == NULL)
+    {
+      func = load_libcc ();
+      gdb_assert (func != NULL);
+    }
+
+  context = (*func) (GCC_FE_VERSION_0, GCC_C_FE_VERSION_0);
+  if (context == NULL)
+    error (_("The loaded version of GCC does not support the required version "
+	     "of the API."));
+
+  return new_compile_instance (context);
+}
+
+
+
+/* Write one macro definition.  */
+
+static void
+print_one_macro (const char *name, const struct macro_definition *macro,
+		 struct macro_source_file *source, int line,
+		 void *user_data)
+{
+  struct ui_file *file = user_data;
+
+  /* Don't print command-line defines.  They will be supplied another
+     way.  */
+  if (line == 0)
+    return;
+
+  fprintf_filtered (file, "#define %s", name);
+
+  if (macro->kind == macro_function_like)
+    {
+      int i;
+
+      fputs_filtered ("(", file);
+      for (i = 0; i < macro->argc; i++)
+	{
+	  fputs_filtered (macro->argv[i], file);
+	  if (i + 1 < macro->argc)
+	    fputs_filtered (", ", file);
+	}
+      fputs_filtered (")", file);
+    }
+
+  fprintf_filtered (file, " %s\n", macro->replacement);
+}
+
+/* Write macro definitions at PC to FILE.  */
+
+static void
+write_macro_definitions (const struct block *block, CORE_ADDR pc,
+			 struct ui_file *file)
+{
+  struct macro_scope *scope;
+
+  if (block != NULL)
+    scope = sal_macro_scope (find_pc_line (pc, 0));
+  else
+    scope = default_macro_scope ();
+  if (scope == NULL)
+    scope = user_macro_scope ();
+
+  if (scope != NULL && scope->file != NULL && scope->file->table != NULL)
+    macro_for_each_in_scope (scope->file, scope->line, print_one_macro, file);
+}
+
+/* Helper function to construct a header scope for a block of code.
+   Takes a scope argument which selects the correct header to
+   insert into BUF.  */
+
+static void
+add_code_header (enum compile_i_scope_types type, struct ui_file *buf)
+{
+  switch (type)
+    {
+    case COMPILE_I_SIMPLE_SCOPE:
+      fputs_unfiltered ("void "
+			GCC_FE_WRAPPER_FUNCTION
+			" (struct "
+			COMPILE_I_SIMPLE_REGISTER_STRUCT_TAG
+			" *"
+			COMPILE_I_SIMPLE_REGISTER_ARG_NAME
+			") {\n",
+			buf);
+      break;
+    case COMPILE_I_RAW_SCOPE:
+      break;
+    default:
+      gdb_assert_not_reached (_("Unknown compiler scope reached."));
+    }
+}
+
+/* Helper function to construct a footer scope for a block of code.
+   Takes a scope argument which selects the correct footer to
+   insert into BUF.  */
+
+static void
+add_code_footer (enum compile_i_scope_types type, struct ui_file *buf)
+{
+  switch (type)
+    {
+    case COMPILE_I_SIMPLE_SCOPE:
+      fputs_unfiltered ("}\n", buf);
+      break;
+    case COMPILE_I_RAW_SCOPE:
+      break;
+    default:
+      gdb_assert_not_reached (_("Unknown compiler scope reached."));
+    }
+}
+
+/* Generate a structure holding all the registers used by the function
+   we're generating.  */
+
+static void
+generate_register_struct (struct ui_file *stream, struct gdbarch *gdbarch,
+			  const unsigned char *registers_used)
+{
+  int i;
+  int seen = 0;
+
+  fputs_unfiltered ("struct " COMPILE_I_SIMPLE_REGISTER_STRUCT_TAG " {\n",
+		    stream);
+
+  if (registers_used != NULL)
+    for (i = 0; i < gdbarch_num_regs (gdbarch); ++i)
+      {
+	if (registers_used[i])
+	  {
+	    struct type *regtype = check_typedef (register_type (gdbarch, i));
+	    char *regname = compile_register_name_mangled (gdbarch, i);
+	    struct cleanup *cleanups = make_cleanup (xfree, regname);
+
+	    seen = 1;
+
+	    /* You might think we could use type_print here.  However,
+	       target descriptions often use types with names like
+	       "int64_t", which may not be defined in the inferior
+	       (and in any case would not be looked up due to the
+	       #pragma business).  So, we take a much simpler
+	       approach: for pointer- or integer-typed registers, emit
+	       the field in the most direct way; and for other
+	       register types (typically flags or vectors), emit a
+	       maximally-aligned array of the correct size.  */
+
+	    fputs_unfiltered ("  ", stream);
+	    switch (TYPE_CODE (regtype))
+	      {
+	      case TYPE_CODE_PTR:
+		fprintf_filtered (stream, "void *%s", regname);
+		break;
+
+	      case TYPE_CODE_INT:
+		{
+		  const char *mode
+		    = c_get_mode_for_size (TYPE_LENGTH (regtype));
+
+		  if (mode != NULL)
+		    {
+		      if (TYPE_UNSIGNED (regtype))
+			fputs_unfiltered ("unsigned ", stream);
+		      fprintf_unfiltered (stream,
+					  "int %s"
+					  " __attribute__ ((__mode__(__%s__)))",
+					  regname,
+					  mode);
+		      break;
+		    }
+		}
+
+		/* Fall through.  */
+
+	      default:
+		fprintf_unfiltered (stream,
+				    "  unsigned char %s[%d]"
+				    " __attribute__((__aligned__("
+				    "__BIGGEST_ALIGNMENT__)))",
+				    regname,
+				    TYPE_LENGTH (regtype));
+	      }
+	    fputs_unfiltered (";\n", stream);
+
+	    do_cleanups (cleanups);
+	  }
+      }
+
+  if (!seen)
+    fputs_unfiltered ("  char " COMPILE_I_SIMPLE_REGISTER_DUMMY ";\n",
+		      stream);
+
+  fputs_unfiltered ("};\n\n", stream);
+}
+
+/* Take the source code provided by the user with the 'compile'
+   command, and compute the additional wrapping, macro, variable and
+   register operations needed.  INPUT is the source code derived from
+   the 'compile' command, GDBARCH is the architecture to use when
+   computing above, EXPR_BLOCK denotes the block relevant contextually
+   to the inferior when the expression was created, and EXPR_PC
+   indicates the value of $PC.  */
+
+char *
+c_compute_program (struct compile_instance *inst,
+		   const char *input,
+		   struct gdbarch *gdbarch,
+		   const struct block *expr_block,
+		   CORE_ADDR expr_pc)
+{
+  struct ui_file *buf, *var_stream = NULL;
+  char *code;
+  struct cleanup *cleanup;
+  struct compile_c_instance *context = (struct compile_c_instance *) inst;
+
+  buf = mem_fileopen ();
+  cleanup = make_cleanup_ui_file_delete (buf);
+
+  write_macro_definitions (expr_block, expr_pc, buf);
+
+  /* Do not generate local variable information for "raw"
+     compilations.  In this case we aren't emitting our own function
+     and the user's code may only refer to globals.  */
+  if (inst->scope != COMPILE_I_RAW_SCOPE)
+    {
+      unsigned char *registers_used;
+      int i;
+
+      /* Generate the code to compute variable locations, but do it
+	 before generating the function header, so we can define the
+	 register struct before the function body.  This requires a
+	 temporary stream.  */
+      var_stream = mem_fileopen ();
+      make_cleanup_ui_file_delete (var_stream);
+      registers_used = generate_c_for_variable_locations (context,
+							  var_stream, gdbarch,
+							  expr_block, expr_pc);
+      make_cleanup (xfree, registers_used);
+
+      generate_register_struct (buf, gdbarch, registers_used);
+
+      fputs_unfiltered ("typedef unsigned int"
+			" __attribute__ ((__mode__(__pointer__)))"
+			" __gdb_uintptr;\n",
+			buf);
+      fputs_unfiltered ("typedef int"
+			" __attribute__ ((__mode__(__pointer__)))"
+			" __gdb_intptr;\n",
+			buf);
+
+      // Iterate all log2 sizes in bytes supported by c_get_mode_for_size.
+      for (i = 0; i < 4; ++i)
+	{
+	  const char *mode = c_get_mode_for_size (1 << i);
+
+	  gdb_assert (mode != NULL);
+	  fprintf_unfiltered (buf,
+			      "typedef int"
+			      " __attribute__ ((__mode__(__%s__)))"
+			      " __gdb_int_%s;\n",
+			      mode, mode);
+	}
+    }
+
+  add_code_header (inst->scope, buf);
+
+  if (inst->scope == COMPILE_I_SIMPLE_SCOPE)
+    {
+      ui_file_put (var_stream, ui_file_write_for_put, buf);
+      fputs_unfiltered ("#pragma GCC user_expression\n", buf);
+    }
+
+  /* The user expression has to be in its own scope, so that "extern"
+     works properly.  Otherwise gcc thinks that the "extern"
+     declaration is in the same scope as the declaration provided by
+     gdb.  */
+  if (inst->scope != COMPILE_I_RAW_SCOPE)
+    fputs_unfiltered ("{\n", buf);
+
+  fputs_unfiltered ("#line 1 \"gdb command line\"\n", buf);
+  fputs_unfiltered (input, buf);
+  fputs_unfiltered ("\n", buf);
+
+  /* For larger user expressions the automatic semicolons may be
+     confusing.  */
+  if (strchr (input, '\n') == NULL)
+    fputs_unfiltered (";\n", buf);
+
+  if (inst->scope != COMPILE_I_RAW_SCOPE)
+    fputs_unfiltered ("}\n", buf);
+
+  add_code_footer (inst->scope, buf);
+  code = ui_file_xstrdup (buf, NULL);
+  do_cleanups (cleanup);
+  return code;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-c-symbols.c ./gdb/compile/compile-c-symbols.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-c-symbols.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile-c-symbols.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,759 @@
+/* Convert symbols from GDB to GCC
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+
+#include "defs.h"
+#include "compile-internal.h"
+#include "gdb_assert.h"
+#include "symtab.h"
+#include "parser-defs.h"
+#include "block.h"
+#include "objfiles.h"
+#include "compile.h"
+#include "value.h"
+#include "exceptions.h"
+#include "gdbtypes.h"
+#include "dwarf2loc.h"
+
+
+
+/* Object of this type are stored in the compiler's symbol_err_map.  */
+
+struct symbol_error
+{
+  /* The symbol.  */
+
+  const struct symbol *sym;
+
+  /* The error message to emit.  This is malloc'd and owned by the
+     hash table.  */
+
+  char *message;
+};
+
+/* Hash function for struct symbol_error.  */
+
+static hashval_t
+hash_symbol_error (const void *a)
+{
+  const struct symbol_error *se = a;
+
+  return htab_hash_pointer (se->sym);
+}
+
+/* Equality function for struct symbol_error.  */
+
+static int
+eq_symbol_error (const void *a, const void *b)
+{
+  const struct symbol_error *sea = a;
+  const struct symbol_error *seb = b;
+
+  return sea->sym == seb->sym;
+}
+
+/* Deletion function for struct symbol_error.  */
+
+static void
+del_symbol_error (void *a)
+{
+  struct symbol_error *se = a;
+
+  xfree (se->message);
+  xfree (se);
+}
+
+/* Associate SYMBOL with some error text.  */
+
+static void
+insert_symbol_error (htab_t hash, const struct symbol *sym, const char *text)
+{
+  struct symbol_error e;
+  void **slot;
+
+  e.sym = sym;
+  slot = htab_find_slot (hash, &e, INSERT);
+  if (*slot == NULL)
+    {
+      struct symbol_error *e = XNEW (struct symbol_error);
+
+      e->sym = sym;
+      e->message = xstrdup (text);
+      *slot = e;
+    }
+}
+
+/* Emit the error message corresponding to SYM, if one exists, and
+   arrange for it not to be emitted again.  */
+
+static void
+error_symbol_once (struct compile_c_instance *context,
+		   const struct symbol *sym)
+{
+  struct symbol_error search;
+  struct symbol_error *err;
+  char *message;
+
+  if (context->symbol_err_map == NULL)
+    return;
+
+  search.sym = sym;
+  err = htab_find (context->symbol_err_map, &search);
+  if (err == NULL || err->message == NULL)
+    return;
+
+  message = err->message;
+  err->message = NULL;
+  make_cleanup (xfree, message);
+  error (_("%s"), message);
+}
+
+
+
+/* Compute the name of the pointer representing a local symbol's
+   address.  */
+
+static char *
+symbol_substitution_name (struct symbol *sym)
+{
+  return concat ("__", SYMBOL_NATURAL_NAME (sym), "_ptr", (char *) NULL);
+}
+
+/* Convert a given symbol, SYM, to the compiler's representation.
+   CONTEXT is the compiler instance.  IS_GLOBAL is true if the
+   symbol came from the global scope.  IS_LOCAL is true if the symbol
+   came from a local scope.  (Note that the two are not strictly
+   inverses because the symbol might have come from the static
+   scope.)  */
+
+static void
+convert_one_symbol (struct compile_c_instance *context,
+		    struct symbol *sym,
+		    int is_global,
+		    int is_local)
+{
+  gcc_type sym_type;
+  const char *filename = symbol_symtab (sym)->filename;
+  unsigned short line = SYMBOL_LINE (sym);
+
+  error_symbol_once (context, sym);
+
+  if (SYMBOL_CLASS (sym) == LOC_LABEL)
+    sym_type = 0;
+  else
+    sym_type = convert_type (context, SYMBOL_TYPE (sym));
+
+  if (SYMBOL_DOMAIN (sym) == STRUCT_DOMAIN)
+    {
+      /* Binding a tag, so we don't need to build a decl.  */
+      C_CTX (context)->c_ops->tagbind (C_CTX (context),
+				       SYMBOL_NATURAL_NAME (sym),
+				       sym_type, filename, line);
+    }
+  else
+    {
+      gcc_decl decl;
+      enum gcc_c_symbol_kind kind;
+      CORE_ADDR addr = 0;
+      char *symbol_name = NULL;
+
+      switch (SYMBOL_CLASS (sym))
+	{
+	case LOC_TYPEDEF:
+	  kind = GCC_C_SYMBOL_TYPEDEF;
+	  break;
+
+	case LOC_LABEL:
+	  kind = GCC_C_SYMBOL_LABEL;
+	  addr = SYMBOL_VALUE_ADDRESS (sym);
+	  break;
+
+	case LOC_BLOCK:
+	  kind = GCC_C_SYMBOL_FUNCTION;
+	  addr = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+	  break;
+
+	case LOC_CONST:
+	  if (TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_ENUM)
+	    {
+	      /* Already handled by convert_enum.  */
+	      return;
+	    }
+	  C_CTX (context)->c_ops->build_constant (C_CTX (context), sym_type,
+						  SYMBOL_NATURAL_NAME (sym),
+						  SYMBOL_VALUE (sym),
+						  filename, line);
+	  return;
+
+	case LOC_CONST_BYTES:
+	  error (_("Unsupported LOC_CONST_BYTES for symbol \"%s\"."),
+		 SYMBOL_PRINT_NAME (sym));
+
+	case LOC_UNDEF:
+	  internal_error (__FILE__, __LINE__, _("LOC_UNDEF found for \"%s\"."),
+			  SYMBOL_PRINT_NAME (sym));
+
+	case LOC_COMMON_BLOCK:
+	  error (_("Fortran common block is unsupported for compilation "
+		   "evaluaton of symbol \"%s\"."),
+		 SYMBOL_PRINT_NAME (sym));
+
+	case LOC_OPTIMIZED_OUT:
+	  error (_("Symbol \"%s\" cannot be used for compilation evaluation "
+		   "as it is optimized out."),
+		 SYMBOL_PRINT_NAME (sym));
+
+	case LOC_COMPUTED:
+	  if (is_local)
+	    goto substitution;
+	  /* Probably TLS here.  */
+	  warning (_("Symbol \"%s\" is thread-local and currently can only "
+		     "be referenced from the current thread in "
+		     "compiled code."),
+		   SYMBOL_PRINT_NAME (sym));
+	  /* FALLTHROUGH */
+	case LOC_UNRESOLVED:
+	  /* 'symbol_name' cannot be used here as that one is used only for
+	     local variables from compile_dwarf_expr_to_c.
+	     Global variables can be accessed by GCC only by their address, not
+	     by their name.  */
+	  {
+	    struct value *val;
+	    struct frame_info *frame = NULL;
+
+	    if (symbol_read_needs_frame (sym))
+	      {
+		frame = get_selected_frame (NULL);
+		if (frame == NULL)
+		  error (_("Symbol \"%s\" cannot be used because "
+			   "there is no selected frame"),
+			 SYMBOL_PRINT_NAME (sym));
+	      }
+
+	    val = read_var_value (sym, frame);
+	    if (VALUE_LVAL (val) != lval_memory)
+	      error (_("Symbol \"%s\" cannot be used for compilation "
+		       "evaluation as its address has not been found."),
+		     SYMBOL_PRINT_NAME (sym));
+
+	    kind = GCC_C_SYMBOL_VARIABLE;
+	    addr = value_address (val);
+	  }
+	  break;
+
+
+	case LOC_REGISTER:
+	case LOC_ARG:
+	case LOC_REF_ARG:
+	case LOC_REGPARM_ADDR:
+	case LOC_LOCAL:
+	substitution:
+	  kind = GCC_C_SYMBOL_VARIABLE;
+	  symbol_name = symbol_substitution_name (sym);
+	  break;
+
+	case LOC_STATIC:
+	  kind = GCC_C_SYMBOL_VARIABLE;
+	  addr = SYMBOL_VALUE_ADDRESS (sym);
+	  break;
+
+	case LOC_FINAL_VALUE:
+	default:
+	  gdb_assert_not_reached ("Unreachable case in convert_one_symbol.");
+
+	}
+
+      /* Don't emit local variable decls for a raw expression.  */
+      if (context->base.scope != COMPILE_I_RAW_SCOPE
+	  || symbol_name == NULL)
+	{
+	  decl = C_CTX (context)->c_ops->build_decl (C_CTX (context),
+						     SYMBOL_NATURAL_NAME (sym),
+						     kind,
+						     sym_type,
+						     symbol_name, addr,
+						     filename, line);
+
+	  C_CTX (context)->c_ops->bind (C_CTX (context), decl, is_global);
+	}
+
+      xfree (symbol_name);
+    }
+}
+
+/* Convert a full symbol to its gcc form.  CONTEXT is the compiler to
+   use, IDENTIFIER is the name of the symbol, SYM is the symbol
+   itself, and DOMAIN is the domain which was searched.  */
+
+static void
+convert_symbol_sym (struct compile_c_instance *context, const char *identifier,
+		    struct symbol *sym, domain_enum domain)
+{
+  const struct block *static_block, *found_block;
+  int is_local_symbol;
+
+  found_block = block_found;
+
+  /* If we found a symbol and it is not in the  static or global
+     scope, then we should first convert any static or global scope
+     symbol of the same name.  This lets this unusual case work:
+
+     int x; // Global.
+     int func(void)
+     {
+     int x;
+     // At this spot, evaluate "extern int x; x"
+     }
+  */
+
+  static_block = block_static_block (found_block);
+  /* STATIC_BLOCK is NULL if FOUND_BLOCK is the global block.  */
+  is_local_symbol = (found_block != static_block && static_block != NULL);
+  if (is_local_symbol)
+    {
+      struct symbol *global_sym;
+
+      global_sym = lookup_symbol (identifier, NULL, domain, NULL);
+      /* If the outer symbol is in the static block, we ignore it, as
+	 it cannot be referenced.  */
+      if (global_sym != NULL
+	  && block_found != block_static_block (block_found))
+	{
+	  if (compile_debug)
+	    fprintf_unfiltered (gdb_stdout,
+				"gcc_convert_symbol \"%s\": global symbol\n",
+				identifier);
+	  convert_one_symbol (context, global_sym, 1, 0);
+	}
+    }
+
+  if (compile_debug)
+    fprintf_unfiltered (gdb_stdout,
+			"gcc_convert_symbol \"%s\": local symbol\n",
+			identifier);
+  convert_one_symbol (context, sym, 0, is_local_symbol);
+}
+
+/* Convert a minimal symbol to its gcc form.  CONTEXT is the compiler
+   to use and BMSYM is the minimal symbol to convert.  */
+
+static void
+convert_symbol_bmsym (struct compile_c_instance *context,
+		      struct bound_minimal_symbol bmsym)
+{
+  struct minimal_symbol *msym = bmsym.minsym;
+  struct objfile *objfile = bmsym.objfile;
+  struct type *type;
+  enum gcc_c_symbol_kind kind;
+  gcc_type sym_type;
+  gcc_decl decl;
+  CORE_ADDR addr;
+
+  /* Conversion copied from write_exp_msymbol.  */
+  switch (MSYMBOL_TYPE (msym))
+    {
+    case mst_text:
+    case mst_file_text:
+    case mst_solib_trampoline:
+      type = objfile_type (objfile)->nodebug_text_symbol;
+      kind = GCC_C_SYMBOL_FUNCTION;
+      break;
+
+    case mst_text_gnu_ifunc:
+      type = objfile_type (objfile)->nodebug_text_gnu_ifunc_symbol;
+      kind = GCC_C_SYMBOL_FUNCTION;
+      break;
+
+    case mst_data:
+    case mst_file_data:
+    case mst_bss:
+    case mst_file_bss:
+      type = objfile_type (objfile)->nodebug_data_symbol;
+      kind = GCC_C_SYMBOL_VARIABLE;
+      break;
+
+    case mst_slot_got_plt:
+      type = objfile_type (objfile)->nodebug_got_plt_symbol;
+      kind = GCC_C_SYMBOL_FUNCTION;
+      break;
+
+    default:
+      type = objfile_type (objfile)->nodebug_unknown_symbol;
+      kind = GCC_C_SYMBOL_VARIABLE;
+      break;
+    }
+
+  sym_type = convert_type (context, type);
+  addr = MSYMBOL_VALUE_ADDRESS (objfile, msym);
+  decl = C_CTX (context)->c_ops->build_decl (C_CTX (context),
+					     MSYMBOL_NATURAL_NAME (msym),
+					     kind, sym_type, NULL, addr,
+					     NULL, 0);
+  C_CTX (context)->c_ops->bind (C_CTX (context), decl, 1 /* is_global */);
+}
+
+/* See compile-internal.h.  */
+
+void
+gcc_convert_symbol (void *datum,
+		    struct gcc_c_context *gcc_context,
+		    enum gcc_c_oracle_request request,
+		    const char *identifier)
+{
+  struct compile_c_instance *context = datum;
+  domain_enum domain;
+  volatile struct gdb_exception e;
+  int found = 0;
+
+  switch (request)
+    {
+    case GCC_C_ORACLE_SYMBOL:
+      domain = VAR_DOMAIN;
+      break;
+    case GCC_C_ORACLE_TAG:
+      domain = STRUCT_DOMAIN;
+      break;
+    case GCC_C_ORACLE_LABEL:
+      domain = LABEL_DOMAIN;
+      break;
+    default:
+      gdb_assert_not_reached ("Unrecognized oracle request.");
+    }
+
+  /* We can't allow exceptions to escape out of this callback.  Safest
+     is to simply emit a gcc error.  */
+  TRY_CATCH (e, RETURN_MASK_ALL)
+    {
+      struct symbol *sym;
+
+      sym = lookup_symbol (identifier, context->base.block, domain, NULL);
+      if (sym != NULL)
+	{
+	  convert_symbol_sym (context, identifier, sym, domain);
+	  found = 1;
+	}
+      else if (domain == VAR_DOMAIN)
+	{
+	  struct bound_minimal_symbol bmsym;
+
+	  bmsym = lookup_minimal_symbol (identifier, NULL, NULL);
+	  if (bmsym.minsym != NULL)
+	    {
+	      convert_symbol_bmsym (context, bmsym);
+	      found = 1;
+	    }
+	}
+    }
+
+  if (e.reason < 0)
+    C_CTX (context)->c_ops->error (C_CTX (context), e.message);
+
+  if (compile_debug && !found)
+    fprintf_unfiltered (gdb_stdout,
+			"gcc_convert_symbol \"%s\": lookup_symbol failed\n",
+			identifier);
+  return;
+}
+
+/* See compile-internal.h.  */
+
+gcc_address
+gcc_symbol_address (void *datum, struct gcc_c_context *gcc_context,
+		    const char *identifier)
+{
+  struct compile_c_instance *context = datum;
+  volatile struct gdb_exception e;
+  gcc_address result = 0;
+  int found = 0;
+
+  /* We can't allow exceptions to escape out of this callback.  Safest
+     is to simply emit a gcc error.  */
+  TRY_CATCH (e, RETURN_MASK_ERROR)
+    {
+      struct symbol *sym;
+
+      /* We only need global functions here.  */
+      sym = lookup_symbol (identifier, NULL, VAR_DOMAIN, NULL);
+      if (sym != NULL && SYMBOL_CLASS (sym) == LOC_BLOCK)
+	{
+	  if (compile_debug)
+	    fprintf_unfiltered (gdb_stdout,
+				"gcc_symbol_address \"%s\": full symbol\n",
+				identifier);
+	  result = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+	  found = 1;
+	}
+      else
+	{
+	  struct bound_minimal_symbol msym;
+
+	  msym = lookup_bound_minimal_symbol (identifier);
+	  if (msym.minsym != NULL)
+	    {
+	      if (compile_debug)
+		fprintf_unfiltered (gdb_stdout,
+				    "gcc_symbol_address \"%s\": minimal "
+				    "symbol\n",
+				    identifier);
+	      result = BMSYMBOL_VALUE_ADDRESS (msym);
+	      found = 1;
+	    }
+	}
+    }
+
+  if (e.reason < 0)
+    C_CTX (context)->c_ops->error (C_CTX (context), e.message);
+
+  if (compile_debug && !found)
+    fprintf_unfiltered (gdb_stdout,
+			"gcc_symbol_address \"%s\": failed\n",
+			identifier);
+  return result;
+}
+
+
+
+/* A hash function for symbol names.  */
+
+static hashval_t
+hash_symname (const void *a)
+{
+  const struct symbol *sym = a;
+
+  return htab_hash_string (SYMBOL_NATURAL_NAME (sym));
+}
+
+/* A comparison function for hash tables that just looks at symbol
+   names.  */
+
+static int
+eq_symname (const void *a, const void *b)
+{
+  const struct symbol *syma = a;
+  const struct symbol *symb = b;
+
+  return strcmp (SYMBOL_NATURAL_NAME (syma), SYMBOL_NATURAL_NAME (symb)) == 0;
+}
+
+/* If a symbol with the same name as SYM is already in HASHTAB, return
+   1.  Otherwise, add SYM to HASHTAB and return 0.  */
+
+static int
+symbol_seen (htab_t hashtab, struct symbol *sym)
+{
+  void **slot;
+
+  slot = htab_find_slot (hashtab, sym, INSERT);
+  if (*slot != NULL)
+    return 1;
+
+  *slot = sym;
+  return 0;
+}
+
+/* Generate C code to compute the length of a VLA.  */
+
+static void
+generate_vla_size (struct compile_c_instance *compiler,
+		   struct ui_file *stream,
+		   struct gdbarch *gdbarch,
+		   unsigned char *registers_used,
+		   CORE_ADDR pc,
+		   struct type *type,
+		   struct symbol *sym)
+{
+  type = check_typedef (type);
+
+  if (TYPE_CODE (type) == TYPE_CODE_REF)
+    type = check_typedef (TYPE_TARGET_TYPE (type));
+
+  switch (TYPE_CODE (type))
+    {
+    case TYPE_CODE_RANGE:
+      {
+	if (TYPE_HIGH_BOUND_KIND (type) == PROP_LOCEXPR
+	    || TYPE_HIGH_BOUND_KIND (type) == PROP_LOCLIST)
+	  {
+	    const struct dynamic_prop *prop = &TYPE_RANGE_DATA (type)->high;
+	    char *name = c_get_range_decl_name (prop);
+	    struct cleanup *cleanup = make_cleanup (xfree, name);
+
+	    dwarf2_compile_property_to_c (stream, name,
+					  gdbarch, registers_used,
+					  prop, pc, sym);
+	    do_cleanups (cleanup);
+	  }
+      }
+      break;
+
+    case TYPE_CODE_ARRAY:
+      generate_vla_size (compiler, stream, gdbarch, registers_used, pc,
+			 TYPE_INDEX_TYPE (type), sym);
+      generate_vla_size (compiler, stream, gdbarch, registers_used, pc,
+			 TYPE_TARGET_TYPE (type), sym);
+      break;
+
+    case TYPE_CODE_UNION:
+    case TYPE_CODE_STRUCT:
+      {
+	int i;
+
+	for (i = 0; i < TYPE_NFIELDS (type); ++i)
+	  if (!field_is_static (&TYPE_FIELD (type, i)))
+	    generate_vla_size (compiler, stream, gdbarch, registers_used, pc,
+			       TYPE_FIELD_TYPE (type, i), sym);
+      }
+      break;
+    }
+}
+
+/* Generate C code to compute the address of SYM.  */
+
+static void
+generate_c_for_for_one_variable (struct compile_c_instance *compiler,
+				 struct ui_file *stream,
+				 struct gdbarch *gdbarch,
+				 unsigned char *registers_used,
+				 CORE_ADDR pc,
+				 struct symbol *sym)
+{
+  volatile struct gdb_exception e;
+
+  TRY_CATCH (e, RETURN_MASK_ERROR)
+    {
+      if (is_dynamic_type (SYMBOL_TYPE (sym)))
+	{
+	  struct ui_file *size_file = mem_fileopen ();
+	  struct cleanup *cleanup = make_cleanup_ui_file_delete (size_file);
+
+	  generate_vla_size (compiler, size_file, gdbarch, registers_used, pc,
+			     SYMBOL_TYPE (sym), sym);
+	  ui_file_put (size_file, ui_file_write_for_put, stream);
+
+	  do_cleanups (cleanup);
+	}
+
+      if (SYMBOL_COMPUTED_OPS (sym) != NULL)
+	{
+	  char *generated_name = symbol_substitution_name (sym);
+	  struct cleanup *cleanup = make_cleanup (xfree, generated_name);
+	  /* We need to emit to a temporary buffer in case an error
+	     occurs in the middle.  */
+	  struct ui_file *local_file = mem_fileopen ();
+
+	  make_cleanup_ui_file_delete (local_file);
+	  SYMBOL_COMPUTED_OPS (sym)->generate_c_location (sym, local_file,
+							  gdbarch,
+							  registers_used,
+							  pc, generated_name);
+	  ui_file_put (local_file, ui_file_write_for_put, stream);
+
+	  do_cleanups (cleanup);
+	}
+      else
+	{
+	  switch (SYMBOL_CLASS (sym))
+	    {
+	    case LOC_REGISTER:
+	    case LOC_ARG:
+	    case LOC_REF_ARG:
+	    case LOC_REGPARM_ADDR:
+	    case LOC_LOCAL:
+	      error (_("Local symbol unhandled when generating C code."));
+
+	    case LOC_COMPUTED:
+	      gdb_assert_not_reached (_("LOC_COMPUTED variable "
+					"missing a method."));
+
+	    default:
+	      /* Nothing to do for all other cases, as they don't represent
+		 local variables.  */
+	      break;
+	    }
+	}
+    }
+
+  if (e.reason >= 0)
+    return;
+
+  if (compiler->symbol_err_map == NULL)
+    compiler->symbol_err_map = htab_create_alloc (10,
+						  hash_symbol_error,
+						  eq_symbol_error,
+						  del_symbol_error,
+						  xcalloc,
+						  xfree);
+  insert_symbol_error (compiler->symbol_err_map, sym, e.message);
+}
+
+/* See compile-internal.h.  */
+
+unsigned char *
+generate_c_for_variable_locations (struct compile_c_instance *compiler,
+				   struct ui_file *stream,
+				   struct gdbarch *gdbarch,
+				   const struct block *block,
+				   CORE_ADDR pc)
+{
+  struct cleanup *cleanup, *outer;
+  htab_t symhash;
+  const struct block *static_block = block_static_block (block);
+  unsigned char *registers_used;
+
+  /* If we're already in the static or global block, there is nothing
+     to write.  */
+  if (static_block == NULL || block == static_block)
+    return NULL;
+
+  registers_used = XCNEWVEC (unsigned char, gdbarch_num_regs (gdbarch));
+  outer = make_cleanup (xfree, registers_used);
+
+  /* Ensure that a given name is only entered once.  This reflects the
+     reality of shadowing.  */
+  symhash = htab_create_alloc (1, hash_symname, eq_symname, NULL,
+			       xcalloc, xfree);
+  cleanup = make_cleanup_htab_delete (symhash);
+
+  while (1)
+    {
+      struct symbol *sym;
+      struct block_iterator iter;
+
+      /* Iterate over symbols in this block, generating code to
+	 compute the location of each local variable.  */
+      for (sym = block_iterator_first (block, &iter);
+	   sym != NULL;
+	   sym = block_iterator_next (&iter))
+	{
+	  if (!symbol_seen (symhash, sym))
+	    generate_c_for_for_one_variable (compiler, stream, gdbarch,
+					     registers_used, pc, sym);
+	}
+
+      /* If we just finished the outermost block of a function, we're
+	 done.  */
+      if (BLOCK_FUNCTION (block) != NULL)
+	break;
+      block = BLOCK_SUPERBLOCK (block);
+    }
+
+  do_cleanups (cleanup);
+  discard_cleanups (outer);
+  return registers_used;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-c-types.c ./gdb/compile/compile-c-types.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-c-types.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile-c-types.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,438 @@
+/* Convert types from GDB to GCC
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+
+#include "defs.h"
+#include "gdbtypes.h"
+#include "compile-internal.h"
+#include "gdb_assert.h"
+
+/* An object that maps a gdb type to a gcc type.  */
+
+struct type_map_instance
+{
+  /* The gdb type.  */
+
+  struct type *type;
+
+  /* The corresponding gcc type handle.  */
+
+  gcc_type gcc_type;
+};
+
+/* Hash a type_map_instance.  */
+
+static hashval_t
+hash_type_map_instance (const void *p)
+{
+  const struct type_map_instance *inst = p;
+
+  return htab_hash_pointer (inst->type);
+}
+
+/* Check two type_map_instance objects for equality.  */
+
+static int
+eq_type_map_instance (const void *a, const void *b)
+{
+  const struct type_map_instance *insta = a;
+  const struct type_map_instance *instb = b;
+
+  return insta->type == instb->type;
+}
+
+
+
+/* Insert an entry into the type map associated with CONTEXT that maps
+   from the gdb type TYPE to the gcc type GCC_TYPE.  It is ok for a
+   given type to be inserted more than once, provided that the exact
+   same association is made each time.  This simplifies how type
+   caching works elsewhere in this file -- see how struct type caching
+   is handled.  */
+
+static void
+insert_type (struct compile_c_instance *context, struct type *type,
+	     gcc_type gcc_type)
+{
+  struct type_map_instance inst, *add;
+  void **slot;
+
+  inst.type = type;
+  inst.gcc_type = gcc_type;
+  slot = htab_find_slot (context->type_map, &inst, INSERT);
+
+  add = *slot;
+  /* The type might have already been inserted in order to handle
+     recursive types.  */
+  gdb_assert (add == NULL || add->gcc_type == gcc_type);
+
+  if (add == NULL)
+    {
+      add = XNEW (struct type_map_instance);
+      *add = inst;
+      *slot = add;
+    }
+}
+
+/* Convert a pointer type to its gcc representation.  */
+
+static gcc_type
+convert_pointer (struct compile_c_instance *context, struct type *type)
+{
+  gcc_type target = convert_type (context, TYPE_TARGET_TYPE (type));
+
+  return C_CTX (context)->c_ops->build_pointer_type (C_CTX (context),
+						     target);
+}
+
+/* Convert an array type to its gcc representation.  */
+
+static gcc_type
+convert_array (struct compile_c_instance *context, struct type *type)
+{
+  gcc_type element_type;
+  struct type *range = TYPE_INDEX_TYPE (type);
+
+  element_type = convert_type (context, TYPE_TARGET_TYPE (type));
+
+  if (TYPE_LOW_BOUND_KIND (range) != PROP_CONST)
+    return C_CTX (context)->c_ops->error (C_CTX (context),
+					  _("array type with non-constant"
+					    " lower bound is not supported"));
+  if (TYPE_LOW_BOUND (range) != 0)
+    return C_CTX (context)->c_ops->error (C_CTX (context),
+					  _("cannot convert array type with "
+					    "non-zero lower bound to C"));
+
+  if (TYPE_HIGH_BOUND_KIND (range) == PROP_LOCEXPR
+      || TYPE_HIGH_BOUND_KIND (range) == PROP_LOCLIST)
+    {
+      gcc_type result;
+      char *upper_bound;
+
+      if (TYPE_VECTOR (type))
+	return C_CTX (context)->c_ops->error (C_CTX (context),
+					      _("variably-sized vector type"
+						" is not supported"));
+
+      upper_bound = c_get_range_decl_name (&TYPE_RANGE_DATA (range)->high);
+      result = C_CTX (context)->c_ops->build_vla_array_type (C_CTX (context),
+							     element_type,
+							     upper_bound);
+      xfree (upper_bound);
+      return result;
+    }
+  else
+    {
+      LONGEST low_bound, high_bound, count;
+
+      if (get_array_bounds (type, &low_bound, &high_bound) == 0)
+	count = -1;
+      else
+	{
+	  gdb_assert (low_bound == 0); /* Ensured above.  */
+	  count = high_bound + 1;
+	}
+
+      if (TYPE_VECTOR (type))
+	return C_CTX (context)->c_ops->build_vector_type (C_CTX (context),
+							  element_type,
+							  count);
+      return C_CTX (context)->c_ops->build_array_type (C_CTX (context),
+						       element_type, count);
+    }
+}
+
+/* Convert a struct or union type to its gcc representation.  */
+
+static gcc_type
+convert_struct_or_union (struct compile_c_instance *context, struct type *type)
+{
+  int i;
+  gcc_type result;
+
+  /* First we create the resulting type and enter it into our hash
+     table.  This lets recursive types work.  */
+  if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
+    result = C_CTX (context)->c_ops->build_record_type (C_CTX (context));
+  else
+    {
+      gdb_assert (TYPE_CODE (type) == TYPE_CODE_UNION);
+      result = C_CTX (context)->c_ops->build_union_type (C_CTX (context));
+    }
+  insert_type (context, type, result);
+
+  for (i = 0; i < TYPE_NFIELDS (type); ++i)
+    {
+      gcc_type field_type;
+      unsigned long bitsize = TYPE_FIELD_BITSIZE (type, i);
+
+      field_type = convert_type (context, TYPE_FIELD_TYPE (type, i));
+      if (bitsize == 0)
+	bitsize = 8 * TYPE_LENGTH (TYPE_FIELD_TYPE (type, i));
+      C_CTX (context)->c_ops->build_add_field (C_CTX (context), result,
+					       TYPE_FIELD_NAME (type, i),
+					       field_type,
+					       bitsize,
+					       TYPE_FIELD_BITPOS (type, i));
+    }
+
+  C_CTX (context)->c_ops->finish_record_or_union (C_CTX (context), result,
+						  TYPE_LENGTH (type));
+  return result;
+}
+
+/* Convert an enum type to its gcc representation.  */
+
+static gcc_type
+convert_enum (struct compile_c_instance *context, struct type *type)
+{
+  gcc_type int_type, result;
+  int i;
+  struct gcc_c_context *ctx = C_CTX (context);
+
+  int_type = ctx->c_ops->int_type (ctx,
+				   TYPE_UNSIGNED (type),
+				   TYPE_LENGTH (type));
+
+  result = ctx->c_ops->build_enum_type (ctx, int_type);
+  for (i = 0; i < TYPE_NFIELDS (type); ++i)
+    {
+      ctx->c_ops->build_add_enum_constant (ctx,
+					   result,
+					   TYPE_FIELD_NAME (type, i),
+					   TYPE_FIELD_ENUMVAL (type, i));
+    }
+
+  ctx->c_ops->finish_enum_type (ctx, result);
+
+  return result;
+}
+
+/* Convert a function type to its gcc representation.  */
+
+static gcc_type
+convert_func (struct compile_c_instance *context, struct type *type)
+{
+  int i;
+  gcc_type result, return_type;
+  struct gcc_type_array array;
+  int is_varargs = TYPE_VARARGS (type) || !TYPE_PROTOTYPED (type);
+
+  /* This approach means we can't make self-referential function
+     types.  Those are impossible in C, though.  */
+  return_type = convert_type (context, TYPE_TARGET_TYPE (type));
+
+  array.n_elements = TYPE_NFIELDS (type);
+  array.elements = XNEWVEC (gcc_type, TYPE_NFIELDS (type));
+  for (i = 0; i < TYPE_NFIELDS (type); ++i)
+    array.elements[i] = convert_type (context, TYPE_FIELD_TYPE (type, i));
+
+  result = C_CTX (context)->c_ops->build_function_type (C_CTX (context),
+							return_type,
+							&array, is_varargs);
+  xfree (array.elements);
+
+  return result;
+}
+
+/* Convert an integer type to its gcc representation.  */
+
+static gcc_type
+convert_int (struct compile_c_instance *context, struct type *type)
+{
+  return C_CTX (context)->c_ops->int_type (C_CTX (context),
+					   TYPE_UNSIGNED (type),
+					   TYPE_LENGTH (type));
+}
+
+/* Convert a floating-point type to its gcc representation.  */
+
+static gcc_type
+convert_float (struct compile_c_instance *context, struct type *type)
+{
+  return C_CTX (context)->c_ops->float_type (C_CTX (context),
+					     TYPE_LENGTH (type));
+}
+
+/* Convert the 'void' type to its gcc representation.  */
+
+static gcc_type
+convert_void (struct compile_c_instance *context, struct type *type)
+{
+  return C_CTX (context)->c_ops->void_type (C_CTX (context));
+}
+
+/* Convert a boolean type to its gcc representation.  */
+
+static gcc_type
+convert_bool (struct compile_c_instance *context, struct type *type)
+{
+  return C_CTX (context)->c_ops->bool_type (C_CTX (context));
+}
+
+/* Convert a qualified type to its gcc representation.  */
+
+static gcc_type
+convert_qualified (struct compile_c_instance *context, struct type *type)
+{
+  struct type *unqual = make_unqualified_type (type);
+  gcc_type unqual_converted;
+  int quals = 0;
+
+  unqual_converted = convert_type (context, unqual);
+
+  if (TYPE_CONST (type))
+    quals |= GCC_QUALIFIER_CONST;
+  if (TYPE_VOLATILE (type))
+    quals |= GCC_QUALIFIER_VOLATILE;
+  if (TYPE_RESTRICT (type))
+    quals |= GCC_QUALIFIER_RESTRICT;
+
+  return C_CTX (context)->c_ops->build_qualified_type (C_CTX (context),
+						       unqual_converted,
+						       quals);
+}
+
+/* Convert a complex type to its gcc representation.  */
+
+static gcc_type
+convert_complex (struct compile_c_instance *context, struct type *type)
+{
+  gcc_type base = convert_type (context, TYPE_TARGET_TYPE (type));
+
+  return C_CTX (context)->c_ops->build_complex_type (C_CTX (context), base);
+}
+
+/* A helper function which knows how to convert most types from their
+   gdb representation to the corresponding gcc form.  This examines
+   the TYPE and dispatches to the appropriate conversion function.  It
+   returns the gcc type.  */
+
+static gcc_type
+convert_type_basic (struct compile_c_instance *context, struct type *type)
+{
+  /* If we are converting a qualified type, first convert the
+     unqualified type and then apply the qualifiers.  */
+  if ((TYPE_INSTANCE_FLAGS (type) & (TYPE_INSTANCE_FLAG_CONST
+				     | TYPE_INSTANCE_FLAG_VOLATILE
+				     | TYPE_INSTANCE_FLAG_RESTRICT)) != 0)
+    return convert_qualified (context, type);
+
+  switch (TYPE_CODE (type))
+    {
+    case TYPE_CODE_PTR:
+      return convert_pointer (context, type);
+
+    case TYPE_CODE_ARRAY:
+      return convert_array (context, type);
+
+    case TYPE_CODE_STRUCT:
+    case TYPE_CODE_UNION:
+      return convert_struct_or_union (context, type);
+
+    case TYPE_CODE_ENUM:
+      return convert_enum (context, type);
+
+    case TYPE_CODE_FUNC:
+      return convert_func (context, type);
+
+    case TYPE_CODE_INT:
+      return convert_int (context, type);
+
+    case TYPE_CODE_FLT:
+      return convert_float (context, type);
+
+    case TYPE_CODE_VOID:
+      return convert_void (context, type);
+
+    case TYPE_CODE_BOOL:
+      return convert_bool (context, type);
+
+    case TYPE_CODE_COMPLEX:
+      return convert_complex (context, type);
+    }
+
+  return C_CTX (context)->c_ops->error (C_CTX (context),
+					_("cannot convert gdb type "
+					  "to gcc type"));
+}
+
+/* See compile-internal.h.  */
+
+gcc_type
+convert_type (struct compile_c_instance *context, struct type *type)
+{
+  struct type_map_instance inst, *found;
+  gcc_type result;
+
+  /* We don't ever have to deal with typedefs in this code, because
+     those are only needed as symbols by the C compiler.  */
+  CHECK_TYPEDEF (type);
+
+  inst.type = type;
+  found = htab_find (context->type_map, &inst);
+  if (found != NULL)
+    return found->gcc_type;
+
+  result = convert_type_basic (context, type);
+  insert_type (context, type, result);
+  return result;
+}
+
+
+
+/* Delete the compiler instance C.  */
+
+static void
+delete_instance (struct compile_instance *c)
+{
+  struct compile_c_instance *context = (struct compile_c_instance *) c;
+
+  context->base.fe->ops->destroy (context->base.fe);
+  htab_delete (context->type_map);
+  if (context->symbol_err_map != NULL)
+    htab_delete (context->symbol_err_map);
+  xfree (context);
+}
+
+/* See compile-internal.h.  */
+
+struct compile_instance *
+new_compile_instance (struct gcc_c_context *fe)
+{
+  struct compile_c_instance *result = XCNEW (struct compile_c_instance);
+
+  result->base.fe = &fe->base;
+  result->base.destroy = delete_instance;
+  result->base.gcc_target_options = ("-std=gnu11"
+				     /* Otherwise the .o file may need
+					"_Unwind_Resume" and
+					"__gcc_personality_v0".  */
+				     " -fno-exceptions");
+
+  result->type_map = htab_create_alloc (10, hash_type_map_instance,
+					eq_type_map_instance,
+					xfree, xcalloc, xfree);
+
+  fe->c_ops->set_callbacks (fe, gcc_convert_symbol,
+			    gcc_symbol_address, result);
+
+  return &result->base;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile.h ./gdb/compile/compile.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,102 @@
+/* Header file for Compile and inject module.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef GDB_COMPILE_H
+#define GDB_COMPILE_H
+
+struct ui_file;
+struct gdbarch;
+struct dwarf2_per_cu_data;
+struct symbol;
+struct dynamic_prop;
+
+/* Public function that is called from compile_control case in the
+   expression command.  GDB returns either a CMD, or a CMD_STRING, but
+   never both.  */
+
+extern void eval_compile_command (struct command_line *cmd, char *cmd_string,
+				  enum compile_i_scope_types scope);
+
+/* Compile a DWARF location expression to C, suitable for use by the
+   compiler.
+
+   STREAM is the stream where the code should be written.
+
+   RESULT_NAME is the name of a variable in the resulting C code.  The
+   result of the expression will be assigned to this variable.
+
+   SYM is the symbol corresponding to this expression.
+   PC is the location at which the expression is being evaluated.
+   ARCH is the architecture to use.
+
+   REGISTERS_USED is an out parameter which is updated to note which
+   registers were needed by this expression.
+
+   ADDR_SIZE is the DWARF address size to use.
+
+   OPT_PTR and OP_END are the bounds of the DWARF expression.
+
+   PER_CU is the per-CU object used for looking up various other
+   things.  */
+
+extern void compile_dwarf_expr_to_c (struct ui_file *stream,
+				     const char *result_name,
+				     struct symbol *sym,
+				     CORE_ADDR pc,
+				     struct gdbarch *arch,
+				     unsigned char *registers_used,
+				     unsigned int addr_size,
+				     const gdb_byte *op_ptr,
+				     const gdb_byte *op_end,
+				     struct dwarf2_per_cu_data *per_cu);
+
+/* Compile a DWARF bounds expression to C, suitable for use by the
+   compiler.
+
+   STREAM is the stream where the code should be written.
+
+   RESULT_NAME is the name of a variable in the resulting C code.  The
+   result of the expression will be assigned to this variable.
+
+   PROP is the dynamic property for which we're compiling.
+
+   SYM is the symbol corresponding to this expression.
+   PC is the location at which the expression is being evaluated.
+   ARCH is the architecture to use.
+
+   REGISTERS_USED is an out parameter which is updated to note which
+   registers were needed by this expression.
+
+   ADDR_SIZE is the DWARF address size to use.
+
+   OPT_PTR and OP_END are the bounds of the DWARF expression.
+
+   PER_CU is the per-CU object used for looking up various other
+   things.  */
+
+extern void compile_dwarf_bounds_to_c (struct ui_file *stream,
+				       const char *result_name,
+				       const struct dynamic_prop *prop,
+				       struct symbol *sym, CORE_ADDR pc,
+				       struct gdbarch *arch,
+				       unsigned char *registers_used,
+				       unsigned int addr_size,
+				       const gdb_byte *op_ptr,
+				       const gdb_byte *op_end,
+				       struct dwarf2_per_cu_data *per_cu);
+
+#endif /* GDB_COMPILE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-internal.h ./gdb/compile/compile-internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-internal.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile-internal.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,147 @@
+/* Header file for GDB compile command and supporting functions.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef GDB_COMPILE_INTERNAL_H
+#define GDB_COMPILE_INTERNAL_H
+
+#include "hashtab.h"
+#include "gcc-c-interface.h"
+
+/* Debugging flag for the "compile" family of commands.  */
+
+extern int compile_debug;
+
+struct block;
+
+/* An object of this type holds state associated with a given
+   compilation job.  */
+
+struct compile_instance
+{
+  /* The GCC front end.  */
+
+  struct gcc_base_context *fe;
+
+  /* The "scope" of this compilation.  */
+
+  enum compile_i_scope_types scope;
+
+  /* The block in which an expression is being parsed.  */
+
+  const struct block *block;
+
+  /* Specify "-std=gnu11", "-std=gnu++11" or similar.  These options are put
+     after CU's DW_AT_producer compilation options to override them.  */
+
+  const char *gcc_target_options;
+
+  /* How to destroy this object.  */
+
+  void (*destroy) (struct compile_instance *);
+};
+
+/* A subclass of compile_instance that is specific to the C front
+   end.  */
+struct compile_c_instance
+{
+  /* Base class.  Note that the base class vtable actually points to a
+     gcc_c_fe_vtable.  */
+
+  struct compile_instance base;
+
+  /* Map from gdb types to gcc types.  */
+
+  htab_t type_map;
+
+  /* Map from gdb symbols to gcc error messages to emit.  */
+
+  htab_t symbol_err_map;
+};
+
+/* A helper macro that takes a compile_c_instance and returns its
+   corresponding gcc_c_context.  */
+
+#define C_CTX(I) ((struct gcc_c_context *) ((I)->base.fe))
+
+/* Define header and footers for different scopes.  */
+
+/* A simple scope just declares a function named "_gdb_expr", takes no
+   arguments and returns no value.  */
+
+#define COMPILE_I_SIMPLE_REGISTER_STRUCT_TAG "__gdb_regs"
+#define COMPILE_I_SIMPLE_REGISTER_ARG_NAME "__regs"
+#define COMPILE_I_SIMPLE_REGISTER_DUMMY "_dummy"
+
+/* Call gdbarch_register_name (GDBARCH, REGNUM) and convert its result
+   to a form suitable for the compiler source.  The register names
+   should not clash with inferior defined macros.  Returned pointer is
+   never NULL.  Returned pointer needs to be deallocated by xfree.  */
+
+extern char *compile_register_name_mangled (struct gdbarch *gdbarch,
+					    int regnum);
+
+/* Convert compiler source register name to register number of
+   GDBARCH.  Returned value is always >= 0, function throws an error
+   for non-matching REG_NAME.  */
+
+extern int compile_register_name_demangle (struct gdbarch *gdbarch,
+					   const char *reg_name);
+
+/* Convert a gdb type, TYPE, to a GCC type.  CONTEXT is used to do the
+   actual conversion.  The new GCC type is returned.  */
+
+struct type;
+extern gcc_type convert_type (struct compile_c_instance *context,
+			      struct type *type);
+
+/* A callback suitable for use as the GCC C symbol oracle.  */
+
+extern gcc_c_oracle_function gcc_convert_symbol;
+
+/* A callback suitable for use as the GCC C address oracle.  */
+
+extern gcc_c_symbol_address_function gcc_symbol_address;
+
+/* Instantiate a GDB object holding state for the GCC context FE.  The
+   new object is returned.  */
+
+extern struct compile_instance *new_compile_instance (struct gcc_c_context *fe);
+
+/* Emit code to compute the address for all the local variables in
+   scope at PC in BLOCK.  Returns a malloc'd vector, indexed by gdb
+   register number, where each element indicates if the corresponding
+   register is needed to compute a local variable.  */
+
+extern unsigned char *generate_c_for_variable_locations
+     (struct compile_c_instance *compiler,
+      struct ui_file *stream,
+      struct gdbarch *gdbarch,
+      const struct block *block,
+      CORE_ADDR pc);
+
+/* Get the GCC mode attribute value for a given type size.  */
+
+extern const char *c_get_mode_for_size (int size);
+
+/* Given a dynamic property, return an xmallocd name that is used to
+   represent its size.  The result must be freed by the caller.  The
+   contents of the resulting string will be the same each time for
+   each call with the same argument.  */
+
+struct dynamic_prop;
+extern char *c_get_range_decl_name (const struct dynamic_prop *prop);
+
+#endif /* GDB_COMPILE_INTERNAL_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-loc2c.c ./gdb/compile/compile-loc2c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-loc2c.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile-loc2c.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,1148 @@
+/* Convert a DWARF location expression to C
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "dwarf2.h"
+#include "dwarf2expr.h"
+#include "dwarf2loc.h"
+#include "ui-file.h"
+#include "utils.h"
+#include "compile-internal.h"
+#include "compile.h"
+#include "block.h"
+#include "dwarf2-frame.h"
+#include "gdb_vecs.h"
+#include "value.h"
+
+
+
+/* Information about a given instruction.  */
+
+struct insn_info
+{
+  /* Stack depth at entry.  */
+
+  unsigned int depth;
+
+  /* Whether this instruction has been visited.  */
+
+  unsigned int visited : 1;
+
+  /* Whether this instruction needs a label.  */
+
+  unsigned int label : 1;
+
+  /* Whether this instruction is DW_OP_GNU_push_tls_address.  This is
+     a hack until we can add a feature to glibc to let us properly
+     generate code for TLS.  */
+
+  unsigned int is_tls : 1;
+};
+
+/* A helper function for compute_stack_depth that does the work.  This
+   examines the DWARF expression starting from START and computes
+   stack effects.
+
+   NEED_TEMPVAR is an out parameter which is set if this expression
+   needs a special temporary variable to be emitted (see the code
+   generator).
+   INFO is an array of insn_info objects, indexed by offset from the
+   start of the DWARF expression.
+   TO_DO is a list of bytecodes which must be examined; it may be
+   added to by this function.
+   BYTE_ORDER and ADDR_SIZE describe this bytecode in the obvious way.
+   OP_PTR and OP_END are the bounds of the DWARF expression.  */
+
+static void
+compute_stack_depth_worker (int start, int *need_tempvar,
+			    struct insn_info *info,
+			    VEC (int) **to_do,
+			    enum bfd_endian byte_order, unsigned int addr_size,
+			    const gdb_byte *op_ptr, const gdb_byte *op_end)
+{
+  const gdb_byte * const base = op_ptr;
+  int stack_depth;
+
+  op_ptr += start;
+  gdb_assert (info[start].visited);
+  stack_depth = info[start].depth;
+
+  while (op_ptr < op_end)
+    {
+      enum dwarf_location_atom op = *op_ptr;
+      uint64_t reg;
+      int64_t offset;
+      int ndx = op_ptr - base;
+
+#define SET_CHECK_DEPTH(WHERE)				\
+      if (info[WHERE].visited)				\
+	{						\
+	  if (info[WHERE].depth != stack_depth)		\
+	    error (_("inconsistent stack depths"));	\
+	}						\
+      else						\
+	{						\
+	  /* Stack depth not set, so set it.  */	\
+	  info[WHERE].visited = 1;			\
+	  info[WHERE].depth = stack_depth;		\
+	}
+
+      SET_CHECK_DEPTH (ndx);
+
+      ++op_ptr;
+
+      switch (op)
+	{
+	case DW_OP_lit0:
+	case DW_OP_lit1:
+	case DW_OP_lit2:
+	case DW_OP_lit3:
+	case DW_OP_lit4:
+	case DW_OP_lit5:
+	case DW_OP_lit6:
+	case DW_OP_lit7:
+	case DW_OP_lit8:
+	case DW_OP_lit9:
+	case DW_OP_lit10:
+	case DW_OP_lit11:
+	case DW_OP_lit12:
+	case DW_OP_lit13:
+	case DW_OP_lit14:
+	case DW_OP_lit15:
+	case DW_OP_lit16:
+	case DW_OP_lit17:
+	case DW_OP_lit18:
+	case DW_OP_lit19:
+	case DW_OP_lit20:
+	case DW_OP_lit21:
+	case DW_OP_lit22:
+	case DW_OP_lit23:
+	case DW_OP_lit24:
+	case DW_OP_lit25:
+	case DW_OP_lit26:
+	case DW_OP_lit27:
+	case DW_OP_lit28:
+	case DW_OP_lit29:
+	case DW_OP_lit30:
+	case DW_OP_lit31:
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_addr:
+	  op_ptr += addr_size;
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_const1u:
+	case DW_OP_const1s:
+	  op_ptr += 1;
+	  ++stack_depth;
+	  break;
+	case DW_OP_const2u:
+	case DW_OP_const2s:
+	  op_ptr += 2;
+	  ++stack_depth;
+	  break;
+	case DW_OP_const4u:
+	case DW_OP_const4s:
+	  op_ptr += 4;
+	  ++stack_depth;
+	  break;
+	case DW_OP_const8u:
+	case DW_OP_const8s:
+	  op_ptr += 8;
+	  ++stack_depth;
+	  break;
+	case DW_OP_constu:
+	case DW_OP_consts:
+	  op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_reg0:
+	case DW_OP_reg1:
+	case DW_OP_reg2:
+	case DW_OP_reg3:
+	case DW_OP_reg4:
+	case DW_OP_reg5:
+	case DW_OP_reg6:
+	case DW_OP_reg7:
+	case DW_OP_reg8:
+	case DW_OP_reg9:
+	case DW_OP_reg10:
+	case DW_OP_reg11:
+	case DW_OP_reg12:
+	case DW_OP_reg13:
+	case DW_OP_reg14:
+	case DW_OP_reg15:
+	case DW_OP_reg16:
+	case DW_OP_reg17:
+	case DW_OP_reg18:
+	case DW_OP_reg19:
+	case DW_OP_reg20:
+	case DW_OP_reg21:
+	case DW_OP_reg22:
+	case DW_OP_reg23:
+	case DW_OP_reg24:
+	case DW_OP_reg25:
+	case DW_OP_reg26:
+	case DW_OP_reg27:
+	case DW_OP_reg28:
+	case DW_OP_reg29:
+	case DW_OP_reg30:
+	case DW_OP_reg31:
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_regx:
+	  op_ptr = safe_read_uleb128 (op_ptr, op_end, &reg);
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_breg0:
+	case DW_OP_breg1:
+	case DW_OP_breg2:
+	case DW_OP_breg3:
+	case DW_OP_breg4:
+	case DW_OP_breg5:
+	case DW_OP_breg6:
+	case DW_OP_breg7:
+	case DW_OP_breg8:
+	case DW_OP_breg9:
+	case DW_OP_breg10:
+	case DW_OP_breg11:
+	case DW_OP_breg12:
+	case DW_OP_breg13:
+	case DW_OP_breg14:
+	case DW_OP_breg15:
+	case DW_OP_breg16:
+	case DW_OP_breg17:
+	case DW_OP_breg18:
+	case DW_OP_breg19:
+	case DW_OP_breg20:
+	case DW_OP_breg21:
+	case DW_OP_breg22:
+	case DW_OP_breg23:
+	case DW_OP_breg24:
+	case DW_OP_breg25:
+	case DW_OP_breg26:
+	case DW_OP_breg27:
+	case DW_OP_breg28:
+	case DW_OP_breg29:
+	case DW_OP_breg30:
+	case DW_OP_breg31:
+	  op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
+	  ++stack_depth;
+	  break;
+	case DW_OP_bregx:
+	  {
+	    op_ptr = safe_read_uleb128 (op_ptr, op_end, &reg);
+	    op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
+	    ++stack_depth;
+	  }
+	  break;
+	case DW_OP_fbreg:
+	  op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_dup:
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_drop:
+	  --stack_depth;
+	  break;
+
+	case DW_OP_pick:
+	  ++op_ptr;
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_rot:
+	case DW_OP_swap:
+	  *need_tempvar = 1;
+	  break;
+
+	case DW_OP_over:
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_abs:
+	case DW_OP_neg:
+	case DW_OP_not:
+	case DW_OP_deref:
+	  break;
+
+	case DW_OP_deref_size:
+	  ++op_ptr;
+	  break;
+
+	case DW_OP_plus_uconst:
+	  op_ptr = safe_read_uleb128 (op_ptr, op_end, &reg);
+	  break;
+
+	case DW_OP_div:
+	case DW_OP_shra:
+	case DW_OP_and:
+	case DW_OP_minus:
+	case DW_OP_mod:
+	case DW_OP_mul:
+	case DW_OP_or:
+	case DW_OP_plus:
+	case DW_OP_shl:
+	case DW_OP_shr:
+	case DW_OP_xor:
+	case DW_OP_le:
+	case DW_OP_ge:
+	case DW_OP_eq:
+	case DW_OP_lt:
+	case DW_OP_gt:
+	case DW_OP_ne:
+	  --stack_depth;
+	  break;
+
+	case DW_OP_call_frame_cfa:
+	  ++stack_depth;
+	  break;
+
+	case DW_OP_GNU_push_tls_address:
+	  info[ndx].is_tls = 1;
+	  break;
+
+	case DW_OP_skip:
+	  offset = extract_signed_integer (op_ptr, 2, byte_order);
+	  op_ptr += 2;
+	  offset = op_ptr + offset - base;
+	  /* If the destination has not been seen yet, add it to the
+	     to-do list.  */
+	  if (!info[offset].visited)
+	    VEC_safe_push (int, *to_do, offset);
+	  SET_CHECK_DEPTH (offset);
+	  info[offset].label = 1;
+	  /* We're done with this line of code.  */
+	  return;
+
+	case DW_OP_bra:
+	  offset = extract_signed_integer (op_ptr, 2, byte_order);
+	  op_ptr += 2;
+	  offset = op_ptr + offset - base;
+	  --stack_depth;
+	  /* If the destination has not been seen yet, add it to the
+	     to-do list.  */
+	  if (!info[offset].visited)
+	    VEC_safe_push (int, *to_do, offset);
+	  SET_CHECK_DEPTH (offset);
+	  info[offset].label = 1;
+	  break;
+
+	case DW_OP_nop:
+	  break;
+
+	default:
+	  error (_("unhandled DWARF op: %s"), get_DW_OP_name (op));
+	}
+    }
+
+  gdb_assert (op_ptr == op_end);
+
+#undef SET_CHECK_DEPTH
+}
+
+/* Compute the maximum needed stack depth of a DWARF expression, and
+   some other information as well.
+
+   BYTE_ORDER and ADDR_SIZE describe this bytecode in the obvious way.
+   NEED_TEMPVAR is an out parameter which is set if this expression
+   needs a special temporary variable to be emitted (see the code
+   generator).
+   IS_TLS is an out parameter which is set if this expression refers
+   to a TLS variable.
+   OP_PTR and OP_END are the bounds of the DWARF expression.
+   INITIAL_DEPTH is the initial depth of the DWARF expression stack.
+   INFO is an array of insn_info objects, indexed by offset from the
+   start of the DWARF expression.
+
+   This returns the maximum stack depth.  */
+
+static int
+compute_stack_depth (enum bfd_endian byte_order, unsigned int addr_size,
+		     int *need_tempvar, int *is_tls,
+		     const gdb_byte *op_ptr, const gdb_byte *op_end,
+		     int initial_depth,
+		     struct insn_info **info)
+{
+  unsigned char *set;
+  struct cleanup *outer_cleanup, *cleanup;
+  VEC (int) *to_do = NULL;
+  int stack_depth, i;
+
+  *info = XCNEWVEC (struct insn_info, op_end - op_ptr);
+  outer_cleanup = make_cleanup (xfree, *info);
+
+  cleanup = make_cleanup (VEC_cleanup (int), &to_do);
+
+  VEC_safe_push (int, to_do, 0);
+  (*info)[0].depth = initial_depth;
+  (*info)[0].visited = 1;
+
+  while (!VEC_empty (int, to_do))
+    {
+      int ndx = VEC_pop (int, to_do);
+
+      compute_stack_depth_worker (ndx, need_tempvar, *info, &to_do,
+				  byte_order, addr_size,
+				  op_ptr, op_end);
+    }
+
+  stack_depth = 0;
+  *is_tls = 0;
+  for (i = 0; i < op_end - op_ptr; ++i)
+    {
+      if ((*info)[i].depth > stack_depth)
+	stack_depth = (*info)[i].depth;
+      if ((*info)[i].is_tls)
+	*is_tls = 1;
+    }
+
+  do_cleanups (cleanup);
+  discard_cleanups (outer_cleanup);
+  return stack_depth + 1;
+}
+
+
+
+#define GCC_UINTPTR "__gdb_uintptr"
+#define GCC_INTPTR "__gdb_intptr"
+
+/* Emit code to push a constant.  */
+
+static void
+push (int indent, struct ui_file *stream, ULONGEST l)
+{
+  fprintfi_filtered (indent, stream, "__gdb_stack[++__gdb_tos] = %s;\n",
+		     hex_string (l));
+}
+
+/* Emit code to push an arbitrary expression.  This works like
+   printf.  */
+
+static void
+pushf (int indent, struct ui_file *stream, const char *format, ...)
+{
+  va_list args;
+
+  fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos + 1] = ");
+  va_start (args, format);
+  vfprintf_filtered (stream, format, args);
+  va_end (args);
+  fprintf_filtered (stream, ";\n");
+
+  fprintfi_filtered (indent, stream, "++__gdb_tos;\n");
+}
+
+/* Emit code for a unary expression -- one which operates in-place on
+   the top-of-stack.  This works like printf.  */
+
+static void
+unary (int indent, struct ui_file *stream, const char *format, ...)
+{
+  va_list args;
+
+  fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos] = ");
+  va_start (args, format);
+  vfprintf_filtered (stream, format, args);
+  va_end (args);
+  fprintf_filtered (stream, ";\n");
+}
+
+/* Emit code for a unary expression -- one which uses the top two
+   stack items, popping the topmost one.  This works like printf.  */
+
+static void
+binary (int indent, struct ui_file *stream, const char *format, ...)
+{
+  va_list args;
+
+  fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos - 1] = ");
+  va_start (args, format);
+  vfprintf_filtered (stream, format, args);
+  va_end (args);
+  fprintf_filtered (stream, ";\n");
+  fprintfi_filtered (indent, stream, "--__gdb_tos;\n");
+}
+
+/* Print the name of a label given its "SCOPE", an arbitrary integer
+   used for uniqueness, and its TARGET, the bytecode offset
+   corresponding to the label's point of definition.  */
+
+static void
+print_label (struct ui_file *stream, unsigned int scope, int target)
+{
+  fprintf_filtered (stream, "__label_%u_%s",
+		    scope, pulongest (target));
+}
+
+/* Emit code that pushes a register's address on the stack.
+   REGISTERS_USED is an out parameter which is updated to note which
+   register was needed by this expression.  */
+
+static void
+pushf_register_address (int indent, struct ui_file *stream,
+			unsigned char *registers_used,
+			struct gdbarch *gdbarch, int regnum)
+{
+  char *regname = compile_register_name_mangled (gdbarch, regnum);
+  struct cleanup *cleanups = make_cleanup (xfree, regname);
+
+  registers_used[regnum] = 1;
+  pushf (indent, stream, "&" COMPILE_I_SIMPLE_REGISTER_ARG_NAME	 "->%s",
+	 regname);
+
+  do_cleanups (cleanups);
+}
+
+/* Emit code that pushes a register's value on the stack.
+   REGISTERS_USED is an out parameter which is updated to note which
+   register was needed by this expression.  OFFSET is added to the
+   register's value before it is pushed.  */
+
+static void
+pushf_register (int indent, struct ui_file *stream,
+		unsigned char *registers_used,
+		struct gdbarch *gdbarch, int regnum, uint64_t offset)
+{
+  char *regname = compile_register_name_mangled (gdbarch, regnum);
+  struct cleanup *cleanups = make_cleanup (xfree, regname);
+
+  registers_used[regnum] = 1;
+  if (offset == 0)
+    pushf (indent, stream, COMPILE_I_SIMPLE_REGISTER_ARG_NAME "->%s",
+	   regname);
+  else
+    pushf (indent, stream, COMPILE_I_SIMPLE_REGISTER_ARG_NAME "->%s + %s",
+	   regname, hex_string (offset));
+
+  do_cleanups (cleanups);
+}
+
+/* Compile a DWARF expression to C code.
+
+   INDENT is the indentation level to use.
+   STREAM is the stream where the code should be written.
+
+   TYPE_NAME names the type of the result of the DWARF expression.
+   For locations this is "void *" but for array bounds it will be an
+   integer type.
+
+   RESULT_NAME is the name of a variable in the resulting C code.  The
+   result of the expression will be assigned to this variable.
+
+   SYM is the symbol corresponding to this expression.
+   PC is the location at which the expression is being evaluated.
+   ARCH is the architecture to use.
+
+   REGISTERS_USED is an out parameter which is updated to note which
+   registers were needed by this expression.
+
+   ADDR_SIZE is the DWARF address size to use.
+
+   OPT_PTR and OP_END are the bounds of the DWARF expression.
+
+   If non-NULL, INITIAL points to an initial value to write to the
+   stack.  If NULL, no initial value is written.
+
+   PER_CU is the per-CU object used for looking up various other
+   things.  */
+
+static void
+do_compile_dwarf_expr_to_c (int indent, struct ui_file *stream,
+			    const char *type_name,
+			    const char *result_name,
+			    struct symbol *sym, CORE_ADDR pc,
+			    struct gdbarch *arch,
+			    unsigned char *registers_used,
+			    unsigned int addr_size,
+			    const gdb_byte *op_ptr, const gdb_byte *op_end,
+			    CORE_ADDR *initial,
+			    struct dwarf2_per_cu_data *per_cu)
+{
+  /* We keep a counter so that labels and other objects we create have
+     unique names.  */
+  static unsigned int scope;
+
+  enum bfd_endian byte_order = gdbarch_byte_order (arch);
+  const gdb_byte * const base = op_ptr;
+  int need_tempvar = 0;
+  int is_tls = 0;
+  struct cleanup *cleanup;
+  struct insn_info *info;
+  int stack_depth;
+
+  ++scope;
+
+  fprintfi_filtered (indent, stream, "%s%s;\n", type_name, result_name);
+  fprintfi_filtered (indent, stream, "{\n");
+  indent += 2;
+
+  stack_depth = compute_stack_depth (byte_order, addr_size,
+				     &need_tempvar, &is_tls,
+				     op_ptr, op_end, initial != NULL,
+				     &info);
+  cleanup = make_cleanup (xfree, info);
+
+  /* This is a hack until we can add a feature to glibc to let us
+     properly generate code for TLS.  You might think we could emit
+     the address in the ordinary course of translating
+     DW_OP_GNU_push_tls_address, but since the operand appears on the
+     stack, it is relatively hard to find, and the idea of calling
+     target_translate_tls_address with OFFSET==0 and then adding the
+     offset by hand seemed too hackish.  */
+  if (is_tls)
+    {
+      struct frame_info *frame = get_selected_frame (NULL);
+      struct value *val;
+
+      if (frame == NULL)
+	error (_("Symbol \"%s\" cannot be used because "
+		 "there is no selected frame"),
+	       SYMBOL_PRINT_NAME (sym));
+
+      val = read_var_value (sym, frame);
+      if (VALUE_LVAL (val) != lval_memory)
+	error (_("Symbol \"%s\" cannot be used for compilation evaluation "
+		 "as its address has not been found."),
+	       SYMBOL_PRINT_NAME (sym));
+
+      warning (_("Symbol \"%s\" is thread-local and currently can only "
+		 "be referenced from the current thread in "
+		 "compiled code."),
+	       SYMBOL_PRINT_NAME (sym));
+
+      fprintfi_filtered (indent, stream, "%s = %s;\n",
+			 result_name,
+			 core_addr_to_string (value_address (val)));
+      fprintfi_filtered (indent - 2, stream, "}\n");
+      do_cleanups (cleanup);
+      return;
+    }
+
+  fprintfi_filtered (indent, stream, GCC_UINTPTR " __gdb_stack[%d];\n",
+		     stack_depth);
+
+  if (need_tempvar)
+    fprintfi_filtered (indent, stream, GCC_UINTPTR " __gdb_tmp;\n");
+  fprintfi_filtered (indent, stream, "int __gdb_tos = -1;\n");
+
+  if (initial != NULL)
+    pushf (indent, stream, core_addr_to_string (*initial));
+
+  while (op_ptr < op_end)
+    {
+      enum dwarf_location_atom op = *op_ptr;
+      uint64_t uoffset, reg;
+      int64_t offset;
+
+      print_spaces (indent - 2, stream);
+      if (info[op_ptr - base].label)
+	{
+	  print_label (stream, scope, op_ptr - base);
+	  fprintf_filtered (stream, ":;");
+	}
+      fprintf_filtered (stream, "/* %s */\n", get_DW_OP_name (op));
+
+      /* This is handy for debugging the generated code:
+      fprintf_filtered (stream, "if (__gdb_tos != %d) abort ();\n",
+			(int) info[op_ptr - base].depth - 1);
+      */
+
+      ++op_ptr;
+
+      switch (op)
+	{
+	case DW_OP_lit0:
+	case DW_OP_lit1:
+	case DW_OP_lit2:
+	case DW_OP_lit3:
+	case DW_OP_lit4:
+	case DW_OP_lit5:
+	case DW_OP_lit6:
+	case DW_OP_lit7:
+	case DW_OP_lit8:
+	case DW_OP_lit9:
+	case DW_OP_lit10:
+	case DW_OP_lit11:
+	case DW_OP_lit12:
+	case DW_OP_lit13:
+	case DW_OP_lit14:
+	case DW_OP_lit15:
+	case DW_OP_lit16:
+	case DW_OP_lit17:
+	case DW_OP_lit18:
+	case DW_OP_lit19:
+	case DW_OP_lit20:
+	case DW_OP_lit21:
+	case DW_OP_lit22:
+	case DW_OP_lit23:
+	case DW_OP_lit24:
+	case DW_OP_lit25:
+	case DW_OP_lit26:
+	case DW_OP_lit27:
+	case DW_OP_lit28:
+	case DW_OP_lit29:
+	case DW_OP_lit30:
+	case DW_OP_lit31:
+	  push (indent, stream, op - DW_OP_lit0);
+	  break;
+
+	case DW_OP_addr:
+	  op_ptr += addr_size;
+	  /* Some versions of GCC emit DW_OP_addr before
+	     DW_OP_GNU_push_tls_address.  In this case the value is an
+	     index, not an address.  We don't support things like
+	     branching between the address and the TLS op.  */
+	  if (op_ptr >= op_end || *op_ptr != DW_OP_GNU_push_tls_address)
+	    uoffset += dwarf2_per_cu_text_offset (per_cu);
+	  push (indent, stream, uoffset);
+	  break;
+
+	case DW_OP_const1u:
+	  push (indent, stream,
+		extract_unsigned_integer (op_ptr, 1, byte_order));
+	  op_ptr += 1;
+	  break;
+	case DW_OP_const1s:
+	  push (indent, stream,
+		extract_signed_integer (op_ptr, 1, byte_order));
+	  op_ptr += 1;
+	  break;
+	case DW_OP_const2u:
+	  push (indent, stream,
+		extract_unsigned_integer (op_ptr, 2, byte_order));
+	  op_ptr += 2;
+	  break;
+	case DW_OP_const2s:
+	  push (indent, stream,
+		extract_signed_integer (op_ptr, 2, byte_order));
+	  op_ptr += 2;
+	  break;
+	case DW_OP_const4u:
+	  push (indent, stream,
+		extract_unsigned_integer (op_ptr, 4, byte_order));
+	  op_ptr += 4;
+	  break;
+	case DW_OP_const4s:
+	  push (indent, stream,
+		extract_signed_integer (op_ptr, 4, byte_order));
+	  op_ptr += 4;
+	  break;
+	case DW_OP_const8u:
+	  push (indent, stream,
+		extract_unsigned_integer (op_ptr, 8, byte_order));
+	  op_ptr += 8;
+	  break;
+	case DW_OP_const8s:
+	  push (indent, stream,
+		extract_signed_integer (op_ptr, 8, byte_order));
+	  op_ptr += 8;
+	  break;
+	case DW_OP_constu:
+	  op_ptr = safe_read_uleb128 (op_ptr, op_end, &uoffset);
+	  push (indent, stream, uoffset);
+	  break;
+	case DW_OP_consts:
+	  op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
+	  push (indent, stream, offset);
+	  break;
+
+	case DW_OP_reg0:
+	case DW_OP_reg1:
+	case DW_OP_reg2:
+	case DW_OP_reg3:
+	case DW_OP_reg4:
+	case DW_OP_reg5:
+	case DW_OP_reg6:
+	case DW_OP_reg7:
+	case DW_OP_reg8:
+	case DW_OP_reg9:
+	case DW_OP_reg10:
+	case DW_OP_reg11:
+	case DW_OP_reg12:
+	case DW_OP_reg13:
+	case DW_OP_reg14:
+	case DW_OP_reg15:
+	case DW_OP_reg16:
+	case DW_OP_reg17:
+	case DW_OP_reg18:
+	case DW_OP_reg19:
+	case DW_OP_reg20:
+	case DW_OP_reg21:
+	case DW_OP_reg22:
+	case DW_OP_reg23:
+	case DW_OP_reg24:
+	case DW_OP_reg25:
+	case DW_OP_reg26:
+	case DW_OP_reg27:
+	case DW_OP_reg28:
+	case DW_OP_reg29:
+	case DW_OP_reg30:
+	case DW_OP_reg31:
+	  dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_regx");
+	  pushf_register_address (indent, stream, registers_used, arch,
+				  dwarf2_reg_to_regnum_or_error (arch,
+							      op - DW_OP_reg0));
+	  break;
+
+	case DW_OP_regx:
+	  op_ptr = safe_read_uleb128 (op_ptr, op_end, &reg);
+	  dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_regx");
+	  pushf_register_address (indent, stream, registers_used, arch,
+				  dwarf2_reg_to_regnum_or_error (arch, reg));
+	  break;
+
+	case DW_OP_breg0:
+	case DW_OP_breg1:
+	case DW_OP_breg2:
+	case DW_OP_breg3:
+	case DW_OP_breg4:
+	case DW_OP_breg5:
+	case DW_OP_breg6:
+	case DW_OP_breg7:
+	case DW_OP_breg8:
+	case DW_OP_breg9:
+	case DW_OP_breg10:
+	case DW_OP_breg11:
+	case DW_OP_breg12:
+	case DW_OP_breg13:
+	case DW_OP_breg14:
+	case DW_OP_breg15:
+	case DW_OP_breg16:
+	case DW_OP_breg17:
+	case DW_OP_breg18:
+	case DW_OP_breg19:
+	case DW_OP_breg20:
+	case DW_OP_breg21:
+	case DW_OP_breg22:
+	case DW_OP_breg23:
+	case DW_OP_breg24:
+	case DW_OP_breg25:
+	case DW_OP_breg26:
+	case DW_OP_breg27:
+	case DW_OP_breg28:
+	case DW_OP_breg29:
+	case DW_OP_breg30:
+	case DW_OP_breg31:
+	  op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
+	  pushf_register (indent, stream, registers_used, arch,
+			  dwarf2_reg_to_regnum_or_error (arch,
+							 op - DW_OP_breg0),
+			  offset);
+	  break;
+	case DW_OP_bregx:
+	  {
+	    op_ptr = safe_read_uleb128 (op_ptr, op_end, &reg);
+	    op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
+	    pushf_register (indent, stream, registers_used, arch,
+			    dwarf2_reg_to_regnum_or_error (arch, reg), offset);
+	  }
+	  break;
+	case DW_OP_fbreg:
+	  {
+	    const gdb_byte *datastart;
+	    size_t datalen;
+	    const struct block *b;
+	    struct symbol *framefunc;
+	    char fb_name[50];
+
+	    b = block_for_pc (pc);
+
+	    if (!b)
+	      error (_("No block found for address"));
+
+	    framefunc = block_linkage_function (b);
+
+	    if (!framefunc)
+	      error (_("No function found for block"));
+
+	    func_get_frame_base_dwarf_block (framefunc, pc,
+					     &datastart, &datalen);
+
+	    op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
+
+	    /* Generate a unique-enough name, in case the frame base
+	       is computed multiple times in this expression.  */
+	    xsnprintf (fb_name, sizeof (fb_name), "__frame_base_%ld",
+		       (long) (op_ptr - base));
+
+	    do_compile_dwarf_expr_to_c (indent, stream,
+					"void *", fb_name,
+					sym, pc,
+					arch, registers_used, addr_size,
+					datastart, datastart + datalen,
+					NULL, per_cu);
+
+	    pushf (indent, stream, "%s + %s", fb_name, hex_string (offset));
+	  }
+	  break;
+
+	case DW_OP_dup:
+	  pushf (indent, stream, "__gdb_stack[__gdb_tos]");
+	  break;
+
+	case DW_OP_drop:
+	  fprintfi_filtered (indent, stream, "--__gdb_tos;\n");
+	  break;
+
+	case DW_OP_pick:
+	  offset = *op_ptr++;
+	  pushf (indent, stream, "__gdb_stack[__gdb_tos - %d]", offset);
+	  break;
+
+	case DW_OP_swap:
+	  fprintfi_filtered (indent, stream,
+			     "__gdb_tmp = __gdb_stack[__gdb_tos - 1];\n");
+	  fprintfi_filtered (indent, stream,
+			     "__gdb_stack[__gdb_tos - 1] = "
+			     "__gdb_stack[__gdb_tos];\n");
+	  fprintfi_filtered (indent, stream, ("__gdb_stack[__gdb_tos] = "
+					      "__gdb_tmp;\n"));
+	  break;
+
+	case DW_OP_over:
+	  pushf (indent, stream, "__gdb_stack[__gdb_tos - 1]");
+	  break;
+
+	case DW_OP_rot:
+	  fprintfi_filtered (indent, stream, ("__gdb_tmp = "
+					      "__gdb_stack[__gdb_tos];\n"));
+	  fprintfi_filtered (indent, stream,
+			     "__gdb_stack[__gdb_tos] = "
+			     "__gdb_stack[__gdb_tos - 1];\n");
+	  fprintfi_filtered (indent, stream,
+			     "__gdb_stack[__gdb_tos - 1] = "
+			     "__gdb_stack[__gdb_tos -2];\n");
+	  fprintfi_filtered (indent, stream, "__gdb_stack[__gdb_tos - 2] = "
+			     "__gdb_tmp;\n");
+	  break;
+
+	case DW_OP_deref:
+	case DW_OP_deref_size:
+	  {
+	    int size;
+	    const char *mode;
+
+	    if (op == DW_OP_deref_size)
+	      size = *op_ptr++;
+	    else
+	      size = addr_size;
+
+	    mode = c_get_mode_for_size (size);
+	    if (mode == NULL)
+	      error (_("Unsupported size %d in %s"),
+		     size, get_DW_OP_name (op));
+
+	    /* Cast to a pointer of the desired type, then
+	       dereference.  */
+	    fprintfi_filtered (indent, stream,
+			       "__gdb_stack[__gdb_tos] = "
+			       "*((__gdb_int_%s *) "
+			       "__gdb_stack[__gdb_tos]);\n",
+			       mode);
+	  }
+	  break;
+
+	case DW_OP_abs:
+	  unary (indent, stream,
+		 "((" GCC_INTPTR ") __gdb_stack[__gdb_tos]) < 0 ? "
+		 "-__gdb_stack[__gdb_tos] : __gdb_stack[__gdb_tos]");
+	  break;
+
+	case DW_OP_neg:
+	  unary (indent, stream, "-__gdb_stack[__gdb_tos]");
+	  break;
+
+	case DW_OP_not:
+	  unary (indent, stream, "~__gdb_stack[__gdb_tos]");
+	  break;
+
+	case DW_OP_plus_uconst:
+	  op_ptr = safe_read_uleb128 (op_ptr, op_end, &reg);
+	  unary (indent, stream, "__gdb_stack[__gdb_tos] + %s",
+		 hex_string (reg));
+	  break;
+
+	case DW_OP_div:
+	  binary (indent, stream, ("((" GCC_INTPTR
+				   ") __gdb_stack[__gdb_tos-1]) / (("
+				   GCC_INTPTR ") __gdb_stack[__gdb_tos])"));
+	  break;
+
+	case DW_OP_shra:
+	  binary (indent, stream,
+		  "((" GCC_INTPTR ") __gdb_stack[__gdb_tos-1]) >> "
+		  "__gdb_stack[__gdb_tos]");
+	  break;
+
+#define BINARY(OP)							\
+	  binary (indent, stream, ("__gdb_stack[__gdb_tos-1] " #OP	\
+				   " __gdb_stack[__gdb_tos]"));	\
+	  break
+
+	case DW_OP_and:
+	  BINARY (&);
+	case DW_OP_minus:
+	  BINARY (-);
+	case DW_OP_mod:
+	  BINARY (%);
+	case DW_OP_mul:
+	  BINARY (*);
+	case DW_OP_or:
+	  BINARY (|);
+	case DW_OP_plus:
+	  BINARY (+);
+	case DW_OP_shl:
+	  BINARY (<<);
+	case DW_OP_shr:
+	  BINARY (>>);
+	case DW_OP_xor:
+	  BINARY (^);
+#undef BINARY
+
+#define COMPARE(OP)							\
+	  binary (indent, stream,					\
+		  "(((" GCC_INTPTR ") __gdb_stack[__gdb_tos-1]) " #OP	\
+		  " ((" GCC_INTPTR					\
+		  ") __gdb_stack[__gdb_tos]))");			\
+	  break
+
+	case DW_OP_le:
+	  COMPARE (<=);
+	case DW_OP_ge:
+	  COMPARE (>=);
+	case DW_OP_eq:
+	  COMPARE (==);
+	case DW_OP_lt:
+	  COMPARE (<);
+	case DW_OP_gt:
+	  COMPARE (>);
+	case DW_OP_ne:
+	  COMPARE (!=);
+#undef COMPARE
+
+	case DW_OP_call_frame_cfa:
+	  {
+	    int regnum;
+	    CORE_ADDR text_offset;
+	    LONGEST off;
+	    const gdb_byte *cfa_start, *cfa_end;
+
+	    if (dwarf2_fetch_cfa_info (arch, pc, per_cu,
+				       &regnum, &off,
+				       &text_offset, &cfa_start, &cfa_end))
+	      {
+		/* Register.  */
+		pushf_register (indent, stream, registers_used, arch, regnum,
+				off);
+	      }
+	    else
+	      {
+		/* Another expression.  */
+		char cfa_name[50];
+
+		/* Generate a unique-enough name, in case the CFA is
+		   computed multiple times in this expression.  */
+		xsnprintf (cfa_name, sizeof (cfa_name),
+			   "__cfa_%ld", (long) (op_ptr - base));
+
+		do_compile_dwarf_expr_to_c (indent, stream,
+					    "void *", cfa_name,
+					    sym, pc, arch, registers_used,
+					    addr_size,
+					    cfa_start, cfa_end,
+					    &text_offset, per_cu);
+		pushf (indent, stream, cfa_name);
+	      }
+	  }
+
+	  break;
+
+	case DW_OP_skip:
+	  offset = extract_signed_integer (op_ptr, 2, byte_order);
+	  op_ptr += 2;
+	  fprintfi_filtered (indent, stream, "goto ");
+	  print_label (stream, scope, op_ptr + offset - base);
+	  fprintf_filtered (stream, ";\n");
+	  break;
+
+	case DW_OP_bra:
+	  offset = extract_signed_integer (op_ptr, 2, byte_order);
+	  op_ptr += 2;
+	  fprintfi_filtered (indent, stream,
+			     "if ((( " GCC_INTPTR
+			     ") __gdb_stack[__gdb_tos--]) != 0) goto ");
+	  print_label (stream, scope, op_ptr + offset - base);
+	  fprintf_filtered (stream, ";\n");
+	  break;
+
+	case DW_OP_nop:
+	  break;
+
+	default:
+	  error (_("unhandled DWARF op: %s"), get_DW_OP_name (op));
+	}
+    }
+
+  fprintfi_filtered (indent, stream, "%s = (%s) __gdb_stack[__gdb_tos];\n",
+		     result_name, type_name);
+  fprintfi_filtered (indent - 2, stream, "}\n");
+
+  do_cleanups (cleanup);
+}
+
+/* See compile.h.  */
+
+void
+compile_dwarf_expr_to_c (struct ui_file *stream, const char *result_name,
+			 struct symbol *sym, CORE_ADDR pc,
+			 struct gdbarch *arch, unsigned char *registers_used,
+			 unsigned int addr_size,
+			 const gdb_byte *op_ptr, const gdb_byte *op_end,
+			 struct dwarf2_per_cu_data *per_cu)
+{
+  do_compile_dwarf_expr_to_c (2, stream, "void *", result_name, sym, pc,
+			      arch, registers_used, addr_size, op_ptr, op_end,
+			      NULL, per_cu);
+}
+
+/* See compile.h.  */
+
+void
+compile_dwarf_bounds_to_c (struct ui_file *stream,
+			   const char *result_name,
+			   const struct dynamic_prop *prop,
+			   struct symbol *sym, CORE_ADDR pc,
+			   struct gdbarch *arch, unsigned char *registers_used,
+			   unsigned int addr_size,
+			   const gdb_byte *op_ptr, const gdb_byte *op_end,
+			   struct dwarf2_per_cu_data *per_cu)
+{
+  do_compile_dwarf_expr_to_c (2, stream, "unsigned long ", result_name,
+			      sym, pc, arch, registers_used,
+			      addr_size, op_ptr, op_end, NULL, per_cu);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-object-load.c ./gdb/compile/compile-object-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-object-load.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile-object-load.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,588 @@
+/* Load module for 'compile' command.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "compile-object-load.h"
+#include "compile-internal.h"
+#include "command.h"
+#include "objfiles.h"
+#include "gdbcore.h"
+#include "readline/tilde.h"
+#include "bfdlink.h"
+#include "gdbcmd.h"
+#include "regcache.h"
+#include "inferior.h"
+#include "compile.h"
+#include "arch-utils.h"
+
+/* Helper data for setup_sections.  */
+
+struct setup_sections_data
+{
+  /* Size of all recent sections with matching LAST_PROT.  */
+  CORE_ADDR last_size;
+
+  /* First section matching LAST_PROT.  */
+  asection *last_section_first;
+
+  /* Memory protection like the prot parameter of gdbarch_infcall_mmap. */
+  unsigned last_prot;
+
+  /* Maximum of alignments of all sections matching LAST_PROT.
+     This value is always at least 1.  This value is always a power of 2.  */
+  CORE_ADDR last_max_alignment;
+};
+
+/* Place all ABFD sections next to each other obeying all constraints.  */
+
+static void
+setup_sections (bfd *abfd, asection *sect, void *data_voidp)
+{
+  struct setup_sections_data *data = data_voidp;
+  CORE_ADDR alignment;
+  unsigned prot;
+
+  if (sect != NULL)
+    {
+      /* It is required by later bfd_get_relocated_section_contents.  */
+      if (sect->output_section == NULL)
+	sect->output_section = sect;
+
+      if ((bfd_get_section_flags (abfd, sect) & SEC_ALLOC) == 0)
+	return;
+
+      // Make the memory always readable.
+      prot = GDB_MMAP_PROT_READ;
+      if ((bfd_get_section_flags (abfd, sect) & SEC_READONLY) == 0)
+	prot |= GDB_MMAP_PROT_WRITE;
+      if ((bfd_get_section_flags (abfd, sect) & SEC_CODE) != 0)
+	prot |= GDB_MMAP_PROT_EXEC;
+
+      if (compile_debug)
+	fprintf_unfiltered (gdb_stdout,
+			    "module \"%s\" section \"%s\" size %s prot %u\n",
+			    bfd_get_filename (abfd),
+			    bfd_get_section_name (abfd, sect),
+			    paddress (target_gdbarch (),
+				      bfd_get_section_size (sect)),
+			    prot);
+    }
+  else
+    prot = -1;
+
+  if (sect == NULL
+      || (data->last_prot != prot && bfd_get_section_size (sect) != 0))
+    {
+      CORE_ADDR addr;
+      asection *sect_iter;
+
+      if (data->last_size != 0)
+	{
+	  addr = gdbarch_infcall_mmap (target_gdbarch (), data->last_size,
+				       data->last_prot);
+	  if (compile_debug)
+	    fprintf_unfiltered (gdb_stdout,
+				"allocated %s bytes at %s prot %u\n",
+				paddress (target_gdbarch (), data->last_size),
+				paddress (target_gdbarch (), addr),
+				data->last_prot);
+	}
+      else
+	addr = 0;
+
+      if ((addr & (data->last_max_alignment - 1)) != 0)
+	error (_("Inferior compiled module address %s "
+		 "is not aligned to BFD required %s."),
+	       paddress (target_gdbarch (), addr),
+	       paddress (target_gdbarch (), data->last_max_alignment));
+
+      for (sect_iter = data->last_section_first; sect_iter != sect;
+	   sect_iter = sect_iter->next)
+	if ((bfd_get_section_flags (abfd, sect_iter) & SEC_ALLOC) != 0)
+	  bfd_set_section_vma (abfd, sect_iter,
+			       addr + bfd_get_section_vma (abfd, sect_iter));
+
+      data->last_size = 0;
+      data->last_section_first = sect;
+      data->last_prot = prot;
+      data->last_max_alignment = 1;
+    }
+
+  if (sect == NULL)
+    return;
+
+  alignment = ((CORE_ADDR) 1) << bfd_get_section_alignment (abfd, sect);
+  data->last_max_alignment = max (data->last_max_alignment, alignment);
+
+  data->last_size = (data->last_size + alignment - 1) & -alignment;
+
+  bfd_set_section_vma (abfd, sect, data->last_size);
+
+  data->last_size += bfd_get_section_size (sect);
+  data->last_size = (data->last_size + alignment - 1) & -alignment;
+}
+
+/* Helper for link_callbacks callbacks vector.  */
+
+static bfd_boolean
+link_callbacks_multiple_definition (struct bfd_link_info *link_info,
+				    struct bfd_link_hash_entry *h, bfd *nbfd,
+				    asection *nsec, bfd_vma nval)
+{
+  bfd *abfd = link_info->input_bfds;
+
+  if (link_info->allow_multiple_definition)
+    return TRUE;
+  warning (_("Compiled module \"%s\": multiple symbol definitions: %s"),
+	   bfd_get_filename (abfd), h->root.string);
+  return FALSE;
+}
+
+/* Helper for link_callbacks callbacks vector.  */
+
+static bfd_boolean
+link_callbacks_warning (struct bfd_link_info *link_info, const char *xwarning,
+                        const char *symbol, bfd *abfd, asection *section,
+			bfd_vma address)
+{
+  warning (_("Compiled module \"%s\" section \"%s\": warning: %s"),
+	   bfd_get_filename (abfd), bfd_get_section_name (abfd, section),
+	   xwarning);
+  /* Maybe permit running as a module?  */
+  return FALSE;
+}
+
+/* Helper for link_callbacks callbacks vector.  */
+
+static bfd_boolean
+link_callbacks_undefined_symbol (struct bfd_link_info *link_info,
+				 const char *name, bfd *abfd, asection *section,
+				 bfd_vma address, bfd_boolean is_fatal)
+{
+  warning (_("Cannot resolve relocation to \"%s\" "
+	     "from compiled module \"%s\" section \"%s\"."),
+	   name, bfd_get_filename (abfd), bfd_get_section_name (abfd, section));
+  return FALSE;
+}
+
+/* Helper for link_callbacks callbacks vector.  */
+
+static bfd_boolean
+link_callbacks_reloc_overflow (struct bfd_link_info *link_info,
+			       struct bfd_link_hash_entry *entry,
+			       const char *name, const char *reloc_name,
+			       bfd_vma addend, bfd *abfd, asection *section,
+			       bfd_vma address)
+{
+  /* TRUE is required for intra-module relocations.  */
+  return TRUE;
+}
+
+/* Helper for link_callbacks callbacks vector.  */
+
+static bfd_boolean
+link_callbacks_reloc_dangerous (struct bfd_link_info *link_info,
+				const char *message, bfd *abfd,
+				asection *section, bfd_vma address)
+{
+  warning (_("Compiled module \"%s\" section \"%s\": dangerous "
+	     "relocation: %s\n"),
+	   bfd_get_filename (abfd), bfd_get_section_name (abfd, section),
+	   message);
+  return FALSE;
+}
+
+/* Helper for link_callbacks callbacks vector.  */
+
+static bfd_boolean
+link_callbacks_unattached_reloc (struct bfd_link_info *link_info,
+				 const char *name, bfd *abfd, asection *section,
+				 bfd_vma address)
+{
+  warning (_("Compiled module \"%s\" section \"%s\": unattached "
+	     "relocation: %s\n"),
+	   bfd_get_filename (abfd), bfd_get_section_name (abfd, section),
+	   name);
+  return FALSE;
+}
+
+/* Helper for link_callbacks callbacks vector.  */
+
+static void
+link_callbacks_einfo (const char *fmt, ...)
+{
+  struct cleanup *cleanups;
+  va_list ap;
+  char *str;
+
+  va_start (ap, fmt);
+  str = xstrvprintf (fmt, ap);
+  va_end (ap);
+  cleanups = make_cleanup (xfree, str);
+
+  warning (_("Compile module: warning: %s"), str);
+
+  do_cleanups (cleanups);
+}
+
+/* Helper for bfd_get_relocated_section_contents.
+   Only these symbols are set by bfd_simple_get_relocated_section_contents
+   but bfd/ seems to use even the NULL ones without checking them first.  */
+
+static const struct bfd_link_callbacks link_callbacks =
+{
+  NULL, /* add_archive_element */
+  link_callbacks_multiple_definition, /* multiple_definition */
+  NULL, /* multiple_common */
+  NULL, /* add_to_set */
+  NULL, /* constructor */
+  link_callbacks_warning, /* warning */
+  link_callbacks_undefined_symbol, /* undefined_symbol */
+  link_callbacks_reloc_overflow, /* reloc_overflow */
+  link_callbacks_reloc_dangerous, /* reloc_dangerous */
+  link_callbacks_unattached_reloc, /* unattached_reloc */
+  NULL, /* notice */
+  link_callbacks_einfo, /* einfo */
+  NULL, /* info */
+  NULL, /* minfo */
+  NULL, /* override_segment_assignment */
+};
+
+struct link_hash_table_cleanup_data
+{
+  bfd *abfd;
+  bfd *link_next;
+};
+
+/* Cleanup callback for struct bfd_link_info.  */
+
+static void
+link_hash_table_free (void *d)
+{
+  struct link_hash_table_cleanup_data *data = d;
+
+  if (data->abfd->is_linker_output)
+    (*data->abfd->link.hash->hash_table_free) (data->abfd);
+  data->abfd->link.next = data->link_next;
+}
+
+/* Relocate and store into inferior memory each section SECT of ABFD.  */
+
+static void
+copy_sections (bfd *abfd, asection *sect, void *data)
+{
+  asymbol **symbol_table = data;
+  bfd_byte *sect_data, *sect_data_got;
+  struct cleanup *cleanups;
+  struct bfd_link_info link_info;
+  struct bfd_link_order link_order;
+  CORE_ADDR inferior_addr;
+  struct link_hash_table_cleanup_data cleanup_data;
+
+  if ((bfd_get_section_flags (abfd, sect) & (SEC_ALLOC | SEC_LOAD))
+      != (SEC_ALLOC | SEC_LOAD))
+    return;
+
+  if (bfd_get_section_size (sect) == 0)
+    return;
+
+  /* Mostly a copy of bfd_simple_get_relocated_section_contents which GDB
+     cannot use as it does not report relocations to undefined symbols.  */
+  memset (&link_info, 0, sizeof (link_info));
+  link_info.output_bfd = abfd;
+  link_info.input_bfds = abfd;
+  link_info.input_bfds_tail = &abfd->link.next;
+
+  cleanup_data.abfd = abfd;
+  cleanup_data.link_next = abfd->link.next;
+
+  abfd->link.next = NULL;
+  link_info.hash = bfd_link_hash_table_create (abfd);
+
+  cleanups = make_cleanup (link_hash_table_free, &cleanup_data);
+  link_info.callbacks = &link_callbacks;
+
+  memset (&link_order, 0, sizeof (link_order));
+  link_order.next = NULL;
+  link_order.type = bfd_indirect_link_order;
+  link_order.offset = 0;
+  link_order.size = bfd_get_section_size (sect);
+  link_order.u.indirect.section = sect;
+
+  sect_data = xmalloc (bfd_get_section_size (sect));
+  make_cleanup (xfree, sect_data);
+
+  sect_data_got = bfd_get_relocated_section_contents (abfd, &link_info,
+						      &link_order, sect_data,
+						      FALSE, symbol_table);
+
+  if (sect_data_got == NULL)
+    error (_("Cannot map compiled module \"%s\" section \"%s\": %s"),
+	   bfd_get_filename (abfd), bfd_get_section_name (abfd, sect),
+	   bfd_errmsg (bfd_get_error ()));
+  gdb_assert (sect_data_got == sect_data);
+
+  inferior_addr = bfd_get_section_vma (abfd, sect);
+  if (0 != target_write_memory (inferior_addr, sect_data,
+				bfd_get_section_size (sect)))
+    error (_("Cannot write compiled module \"%s\" section \"%s\" "
+	     "to inferior memory range %s-%s."),
+	   bfd_get_filename (abfd), bfd_get_section_name (abfd, sect),
+	   paddress (target_gdbarch (), inferior_addr),
+	   paddress (target_gdbarch (),
+		     inferior_addr + bfd_get_section_size (sect)));
+
+  do_cleanups (cleanups);
+}
+
+/* Fetch the type of first parameter of GCC_FE_WRAPPER_FUNCTION.
+   Return NULL if GCC_FE_WRAPPER_FUNCTION has no parameters.
+   Throw an error otherwise.  */
+
+static struct type *
+get_regs_type (struct objfile *objfile)
+{
+  struct symbol *func_sym;
+  struct type *func_type, *regsp_type, *regs_type;
+
+  func_sym = lookup_global_symbol_from_objfile (objfile,
+						GCC_FE_WRAPPER_FUNCTION,
+						VAR_DOMAIN);
+  if (func_sym == NULL)
+    error (_("Cannot find function \"%s\" in compiled module \"%s\"."),
+	   GCC_FE_WRAPPER_FUNCTION, objfile_name (objfile));
+
+  func_type = SYMBOL_TYPE (func_sym);
+  if (TYPE_CODE (func_type) != TYPE_CODE_FUNC)
+    error (_("Invalid type code %d of function \"%s\" in compiled "
+	     "module \"%s\"."),
+	   TYPE_CODE (func_type), GCC_FE_WRAPPER_FUNCTION,
+	   objfile_name (objfile));
+
+  /* No register parameter present.  */
+  if (TYPE_NFIELDS (func_type) == 0)
+    return NULL;
+
+  if (TYPE_NFIELDS (func_type) != 1)
+    error (_("Invalid %d parameters of function \"%s\" in compiled "
+	     "module \"%s\"."),
+	   TYPE_NFIELDS (func_type), GCC_FE_WRAPPER_FUNCTION,
+	   objfile_name (objfile));
+
+  regsp_type = check_typedef (TYPE_FIELD_TYPE (func_type, 0));
+  if (TYPE_CODE (regsp_type) != TYPE_CODE_PTR)
+    error (_("Invalid type code %d of first parameter of function \"%s\" "
+	     "in compiled module \"%s\"."),
+	   TYPE_CODE (regsp_type), GCC_FE_WRAPPER_FUNCTION,
+	   objfile_name (objfile));
+
+  regs_type = check_typedef (TYPE_TARGET_TYPE (regsp_type));
+  if (TYPE_CODE (regs_type) != TYPE_CODE_STRUCT)
+    error (_("Invalid type code %d of dereferenced first parameter "
+	     "of function \"%s\" in compiled module \"%s\"."),
+	   TYPE_CODE (regs_type), GCC_FE_WRAPPER_FUNCTION,
+	   objfile_name (objfile));
+
+  return regs_type;
+}
+
+/* Store all inferior registers required by REGS_TYPE to inferior memory
+   starting at inferior address REGS_BASE.  */
+
+static void
+store_regs (struct type *regs_type, CORE_ADDR regs_base)
+{
+  struct gdbarch *gdbarch = target_gdbarch ();
+  struct regcache *regcache = get_thread_regcache (inferior_ptid);
+  int fieldno;
+
+  for (fieldno = 0; fieldno < TYPE_NFIELDS (regs_type); fieldno++)
+    {
+      const char *reg_name = TYPE_FIELD_NAME (regs_type, fieldno);
+      ULONGEST reg_bitpos = TYPE_FIELD_BITPOS (regs_type, fieldno);
+      ULONGEST reg_bitsize = TYPE_FIELD_BITSIZE (regs_type, fieldno);
+      ULONGEST reg_offset;
+      struct type *reg_type = check_typedef (TYPE_FIELD_TYPE (regs_type,
+							      fieldno));
+      ULONGEST reg_size = TYPE_LENGTH (reg_type);
+      int regnum;
+      struct value *regval;
+      CORE_ADDR inferior_addr;
+
+      if (strcmp (reg_name, COMPILE_I_SIMPLE_REGISTER_DUMMY) == 0)
+	continue;
+
+      if ((reg_bitpos % 8) != 0 || reg_bitsize != 0)
+	error (_("Invalid register \"%s\" position %s bits or size %s bits"),
+	       reg_name, pulongest (reg_bitpos), pulongest (reg_bitsize));
+      reg_offset = reg_bitpos / 8;
+
+      if (TYPE_CODE (reg_type) != TYPE_CODE_INT
+	  && TYPE_CODE (reg_type) != TYPE_CODE_PTR)
+	error (_("Invalid register \"%s\" type code %d"), reg_name,
+	       TYPE_CODE (reg_type));
+
+      regnum = compile_register_name_demangle (gdbarch, reg_name);
+
+      regval = value_from_register (reg_type, regnum, get_current_frame ());
+      if (value_optimized_out (regval))
+	error (_("Register \"%s\" is optimized out."), reg_name);
+      if (!value_entirely_available (regval))
+	error (_("Register \"%s\" is not available."), reg_name);
+
+      inferior_addr = regs_base + reg_offset;
+      if (0 != target_write_memory (inferior_addr, value_contents (regval),
+				    reg_size))
+	error (_("Cannot write register \"%s\" to inferior memory at %s."),
+	       reg_name, paddress (gdbarch, inferior_addr));
+    }
+}
+
+/* Load OBJECT_FILE into inferior memory.  Throw an error otherwise.
+   Caller must fully dispose the return value by calling compile_object_run.
+   SOURCE_FILE's copy is stored into the returned object.
+   Caller should free both OBJECT_FILE and SOURCE_FILE immediatelly after this
+   function returns.  */
+
+struct compile_module *
+compile_object_load (const char *object_file, const char *source_file)
+{
+  struct cleanup *cleanups, *cleanups_free_objfile;
+  bfd *abfd;
+  struct setup_sections_data setup_sections_data;
+  CORE_ADDR addr, func_addr, regs_addr;
+  struct bound_minimal_symbol bmsym;
+  long storage_needed;
+  asymbol **symbol_table, **symp;
+  long number_of_symbols, missing_symbols;
+  struct type *dptr_type = builtin_type (target_gdbarch ())->builtin_data_ptr;
+  unsigned dptr_type_len = TYPE_LENGTH (dptr_type);
+  struct compile_module *retval;
+  struct type *regs_type;
+  char *filename, **matching;
+  struct objfile *objfile;
+
+  filename = tilde_expand (object_file);
+  cleanups = make_cleanup (xfree, filename);
+
+  abfd = gdb_bfd_open (filename, gnutarget, -1);
+  if (abfd == NULL)
+    error (_("\"%s\": could not open as compiled module: %s"),
+          filename, bfd_errmsg (bfd_get_error ()));
+  make_cleanup_bfd_unref (abfd);
+
+  if (!bfd_check_format_matches (abfd, bfd_object, &matching))
+    error (_("\"%s\": not in loadable format: %s"),
+          filename, gdb_bfd_errmsg (bfd_get_error (), matching));
+
+  if ((bfd_get_file_flags (abfd) & (EXEC_P | DYNAMIC)) != 0)
+    error (_("\"%s\": not in object format."), filename);
+
+  setup_sections_data.last_size = 0;
+  setup_sections_data.last_section_first = abfd->sections;
+  setup_sections_data.last_prot = -1;
+  setup_sections_data.last_max_alignment = 1;
+  bfd_map_over_sections (abfd, setup_sections, &setup_sections_data);
+  setup_sections (abfd, NULL, &setup_sections_data);
+
+  storage_needed = bfd_get_symtab_upper_bound (abfd);
+  if (storage_needed < 0)
+    error (_("Cannot read symbols of compiled module \"%s\": %s"),
+          filename, bfd_errmsg (bfd_get_error ()));
+
+  /* SYMFILE_VERBOSE is not passed even if FROM_TTY, user is not interested in
+     "Reading symbols from ..." message for automatically generated file.  */
+  objfile = symbol_file_add_from_bfd (abfd, filename, 0, NULL, 0, NULL);
+  cleanups_free_objfile = make_cleanup_free_objfile (objfile);
+
+  bmsym = lookup_minimal_symbol_text (GCC_FE_WRAPPER_FUNCTION, objfile);
+  if (bmsym.minsym == NULL || MSYMBOL_TYPE (bmsym.minsym) == mst_file_text)
+    error (_("Could not find symbol \"%s\" of compiled module \"%s\"."),
+	   GCC_FE_WRAPPER_FUNCTION, filename);
+  func_addr = BMSYMBOL_VALUE_ADDRESS (bmsym);
+
+  /* The memory may be later needed
+     by bfd_generic_get_relocated_section_contents
+     called from default_symfile_relocate.  */
+  symbol_table = obstack_alloc (&objfile->objfile_obstack, storage_needed);
+  number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table);
+  if (number_of_symbols < 0)
+    error (_("Cannot parse symbols of compiled module \"%s\": %s"),
+          filename, bfd_errmsg (bfd_get_error ()));
+
+  missing_symbols = 0;
+  for (symp = symbol_table; symp < symbol_table + number_of_symbols; symp++)
+    {
+      asymbol *sym = *symp;
+
+      if (sym->flags != 0)
+	continue;
+      if (compile_debug)
+	fprintf_unfiltered (gdb_stdout,
+			    "lookup undefined ELF symbol \"%s\"\n",
+			    sym->name);
+      sym->flags = BSF_GLOBAL;
+      sym->section = bfd_abs_section_ptr;
+      if (strcmp (sym->name, "_GLOBAL_OFFSET_TABLE_") == 0)
+	{
+	  sym->value = 0;
+	  continue;
+	}
+      bmsym = lookup_minimal_symbol (sym->name, NULL, NULL);
+      switch (bmsym.minsym == NULL
+	      ? mst_unknown : MSYMBOL_TYPE (bmsym.minsym))
+	{
+	case mst_text:
+	  sym->value = BMSYMBOL_VALUE_ADDRESS (bmsym);
+	  break;
+	default:
+	  warning (_("Could not find symbol \"%s\" "
+		     "for compiled module \"%s\"."),
+		   sym->name, filename);
+	  missing_symbols++;
+	}
+    }
+  if (missing_symbols)
+    error (_("%ld symbols were missing, cannot continue."), missing_symbols);
+
+  bfd_map_over_sections (abfd, copy_sections, symbol_table);
+
+  regs_type = get_regs_type (objfile);
+  if (regs_type == NULL)
+    regs_addr = 0;
+  else
+    {
+      /* Use read-only non-executable memory protection.  */
+      regs_addr = gdbarch_infcall_mmap (target_gdbarch (),
+					TYPE_LENGTH (regs_type),
+					GDB_MMAP_PROT_READ);
+      gdb_assert (regs_addr != 0);
+      store_regs (regs_type, regs_addr);
+    }
+
+  discard_cleanups (cleanups_free_objfile);
+  do_cleanups (cleanups);
+
+  retval = xmalloc (sizeof (*retval));
+  retval->objfile = objfile;
+  retval->source_file = xstrdup (source_file);
+  retval->func_addr = func_addr;
+  retval->regs_addr = regs_addr;
+  return retval;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-object-load.h ./gdb/compile/compile-object-load.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-object-load.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile-object-load.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,39 @@
+/* Header file to load module for 'compile' command.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef GDB_COMPILE_OBJECT_LOAD_H
+#define GDB_COMPILE_OBJECT_LOAD_H
+
+struct compile_module
+{
+  /* objfile for the compiled module.  */
+  struct objfile *objfile;
+
+  /* .c file OBJFILE was built from.  It needs to be xfree-d.  */
+  char *source_file;
+
+  /* Inferior function address.  */
+  CORE_ADDR func_addr;
+
+  /* Inferior registers address or NULL if the inferior function does not
+     require any.  */
+  CORE_ADDR regs_addr;
+};
+
+extern struct compile_module *compile_object_load (const char *object_file,
+						   const char *source_file);
+
+#endif /* GDB_COMPILE_OBJECT_LOAD_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-object-run.c ./gdb/compile/compile-object-run.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-object-run.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile-object-run.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,138 @@
+/* Call module for 'compile' command.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "compile-object-run.h"
+#include "value.h"
+#include "infcall.h"
+#include "objfiles.h"
+#include "compile-internal.h"
+#include "dummy-frame.h"
+
+/* Helper for do_module_cleanup.  */
+
+struct do_module_cleanup
+{
+  /* Boolean to set true upon a call of do_module_cleanup.
+     The pointer may be NULL.  */
+  int *executedp;
+
+  /* .c file OBJFILE was built from.  It needs to be xfree-d.  */
+  char *source_file;
+
+  /* objfile_name of our objfile.  */
+  char objfile_name_string[1];
+};
+
+/* Cleanup everything after the inferior function dummy frame gets
+   discarded.  */
+
+static dummy_frame_dtor_ftype do_module_cleanup;
+static void
+do_module_cleanup (void *arg)
+{
+  struct do_module_cleanup *data = arg;
+  struct objfile *objfile;
+
+  if (data->executedp != NULL)
+    *data->executedp = 1;
+
+  ALL_OBJFILES (objfile)
+    if ((objfile->flags & OBJF_USERLOADED) == 0
+        && (strcmp (objfile_name (objfile), data->objfile_name_string) == 0))
+      {
+	free_objfile (objfile);
+
+	/* It may be a bit too pervasive in this dummy_frame dtor callback.  */
+	clear_symtab_users (0);
+
+	break;
+      }
+
+  /* Delete the .c file.  */
+  unlink (data->source_file);
+  xfree (data->source_file);
+
+  /* Delete the .o file.  */
+  unlink (data->objfile_name_string);
+  xfree (data);
+}
+
+/* Perform inferior call of MODULE.  This function may throw an error.
+   This function may leave files referenced by MODULE on disk until
+   the inferior call dummy frame is discarded.  This function may throw errors.
+   Thrown errors and left MODULE files are unrelated events.  Caller must no
+   longer touch MODULE's memory after this function has been called.  */
+
+void
+compile_object_run (struct compile_module *module)
+{
+  struct value *func_val;
+  struct frame_id dummy_id;
+  struct cleanup *cleanups;
+  struct do_module_cleanup *data;
+  volatile struct gdb_exception ex;
+  const char *objfile_name_s = objfile_name (module->objfile);
+  int dtor_found, executed = 0;
+  CORE_ADDR func_addr = module->func_addr;
+  CORE_ADDR regs_addr = module->regs_addr;
+
+  data = xmalloc (sizeof (*data) + strlen (objfile_name_s));
+  data->executedp = &executed;
+  data->source_file = xstrdup (module->source_file);
+  strcpy (data->objfile_name_string, objfile_name_s);
+
+  xfree (module->source_file);
+  xfree (module);
+
+  TRY_CATCH (ex, RETURN_MASK_ERROR)
+    {
+      func_val = value_from_pointer
+		 (builtin_type (target_gdbarch ())->builtin_func_ptr,
+		  func_addr);
+
+      if (regs_addr == 0)
+	call_function_by_hand_dummy (func_val, 0, NULL,
+				     do_module_cleanup, data);
+      else
+	{
+	  struct value *arg_val;
+
+	  arg_val = value_from_pointer
+		    (builtin_type (target_gdbarch ())->builtin_func_ptr,
+		     regs_addr);
+	  call_function_by_hand_dummy (func_val, 1, &arg_val,
+				       do_module_cleanup, data);
+	}
+    }
+  dtor_found = find_dummy_frame_dtor (do_module_cleanup, data);
+  if (!executed)
+    data->executedp = NULL;
+  if (ex.reason >= 0)
+    gdb_assert (!dtor_found && executed);
+  else
+    {
+      /* In the case od DTOR_FOUND or in the case of EXECUTED nothing
+	 needs to be done.  */
+      gdb_assert (!(dtor_found && executed));
+      if (!dtor_found && !executed)
+	do_module_cleanup (data);
+      throw_exception (ex);
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-object-run.h ./gdb/compile/compile-object-run.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/compile/compile-object-run.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/compile/compile-object-run.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,24 @@
+/* Header file to call module for 'compile' command.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef GDB_COMPILE_OBJECT_RUN_H
+#define GDB_COMPILE_OBJECT_RUN_H
+
+#include "compile-object-load.h"
+
+extern void compile_object_run (struct compile_module *module);
+
+#endif /* GDB_COMPILE_OBJECT_RUN_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/complaints.c ./gdb/complaints.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/complaints.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/complaints.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for complaint handling during symbol reading in GDB.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "complaints.h"
-#include "gdb_assert.h"
 #include "command.h"
 #include "gdbcmd.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/complaints.h ./gdb/complaints.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/complaints.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/complaints.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for complaint handling during symbol reading in GDB.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/completer.c ./gdb/completer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/completer.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/completer.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Line completion stuff for GDB, the GNU debugger.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,9 +22,10 @@
 #include "expression.h"
 #include "filenames.h"		/* For DOSish file names.  */
 #include "language.h"
-#include "gdb_assert.h"
-#include "exceptions.h"
 #include "gdb_signals.h"
+#include "target.h"
+#include "reggroups.h"
+#include "user-regs.h"
 
 #include "cli/cli-decode.h"
 
@@ -450,6 +451,21 @@ expression_completer (struct cmd_list_el
   return location_completer (ignore, p, word);
 }
 
+/* See definition in completer.h.  */
+
+void
+set_gdb_completion_word_break_characters (completer_ftype *fn)
+{
+  /* So far we are only interested in differentiating filename
+     completers from everything else.  */
+  if (fn == filename_completer)
+    rl_completer_word_break_characters
+      = gdb_completer_file_name_break_characters;
+  else
+    rl_completer_word_break_characters
+      = gdb_completer_command_word_break_characters;
+}
+
 /* Here are some useful test cases for completion.  FIXME: These
    should be put in the test suite.  They should be tested with both
    M-? and TAB.
@@ -678,6 +694,9 @@ complete_line_internal (const char *text
 			   p--)
 			;
 		    }
+		  if (reason == handle_brkchars
+		      && c->completer_handle_brkchars != NULL)
+		    (*c->completer_handle_brkchars) (c, p, word);
 		  if (reason != handle_brkchars && c->completer != NULL)
 		    list = (*c->completer) (c, p, word);
 		}
@@ -751,6 +770,9 @@ complete_line_internal (const char *text
 		       p--)
 		    ;
 		}
+	      if (reason == handle_brkchars
+		  && c->completer_handle_brkchars != NULL)
+		(*c->completer_handle_brkchars) (c, p, word);
 	      if (reason != handle_brkchars && c->completer != NULL)
 		list = (*c->completer) (c, p, word);
 	    }
@@ -772,7 +794,7 @@ complete_line_internal (const char *text
    should pretend that the line ends at POINT.  */
 
 VEC (char_ptr) *
-complete_line (const char *text, char *line_buffer, int point)
+complete_line (const char *text, const char *line_buffer, int point)
 {
   return complete_line_internal (text, line_buffer, 
 				 point, handle_completions);
@@ -817,6 +839,45 @@ signal_completer (struct cmd_list_elemen
   return return_val;
 }
 
+/* Complete on a register or reggroup.  */
+
+VEC (char_ptr) *
+reg_or_group_completer (struct cmd_list_element *ignore,
+			const char *text, const char *word)
+{
+  VEC (char_ptr) *result = NULL;
+  size_t len = strlen (word);
+  struct gdbarch *gdbarch;
+  struct reggroup *group;
+  const char *name;
+  int i;
+
+  if (!target_has_registers)
+    return result;
+
+  gdbarch = get_frame_arch (get_selected_frame (NULL));
+
+  for (i = 0;
+       (name = user_reg_map_regnum_to_name (gdbarch, i)) != NULL;
+       i++)
+    {
+      if (*name != '\0' && strncmp (word, name, len) == 0)
+	VEC_safe_push (char_ptr, result, xstrdup (name));
+    }
+
+  for (group = reggroup_next (gdbarch, NULL);
+       group != NULL;
+       group = reggroup_next (gdbarch, group))
+    {
+      name = reggroup_name (group);
+      if (strncmp (word, name, len) == 0)
+	VEC_safe_push (char_ptr, result, xstrdup (name));
+    }
+
+  return result;
+}
+
+
 /* Get the list of chars that are considered as word breaks
    for the current command.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/completer.h ./gdb/completer.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/completer.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/completer.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header for GDB line completion.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -18,9 +18,10 @@
 #define COMPLETER_H 1
 
 #include "gdb_vecs.h"
+#include "command.h"
 
 extern VEC (char_ptr) *complete_line (const char *text,
-				      char *line_buffer,
+				      const char *line_buffer,
 				      int point);
 
 extern char *readline_line_completion_function (const char *text,
@@ -44,10 +45,20 @@ extern VEC (char_ptr) *command_completer
 extern VEC (char_ptr) *signal_completer (struct cmd_list_element *,
 					 const char *, const char *);
 
+extern VEC (char_ptr) *reg_or_group_completer (struct cmd_list_element *,
+					       const char *, const char *);
+
 extern char *get_gdb_completer_quote_characters (void);
 
 extern char *gdb_completion_word_break_characters (void);
 
+/* Set the word break characters array to the corresponding set of
+   chars, based on FN.  This function is useful for cases when the
+   completer doesn't know the type of the completion until some
+   calculation is done (e.g., for Python functions).  */
+
+extern void set_gdb_completion_word_break_characters (completer_ftype *fn);
+
 /* Exported to linespec.c */
 
 extern const char *skip_quoted_chars (const char *, const char *,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/aarch64/linux.mh ./gdb/config/aarch64/linux.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/aarch64/linux.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/aarch64/linux.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 #  Host: AArch64 based machine running GNU/Linux
 #
-#  Copyright (C) 2013-2014 Free Software Foundation, Inc.
+#  Copyright (C) 2013-2015 Free Software Foundation, Inc.
 #  Contributed by ARM Ltd.
 #
 #  This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/alpha/alpha-osf3.mh ./gdb/config/alpha/alpha-osf3.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/alpha/alpha-osf3.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/alpha/alpha-osf3.mh	1970-01-01 00:00:00.000000000 +0000
@@ -1,7 +0,0 @@
-# Host: Little-endian Alpha running OSF/1-3.x and higher using procfs
-NAT_FILE= nm-osf3.h
-NATDEPFILES= alpha-nat.o fork-child.o \
-	solib-osf.o procfs.o proc-api.o proc-events.o proc-flags.o \
-	proc-why.o dec-thread.o
-HAVE_NATIVE_GCORE_HOST = 1
-NAT_CLIBS= -lpthreaddebug
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/alpha/nm-osf3.h ./gdb/config/alpha/nm-osf3.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/alpha/nm-osf3.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/alpha/nm-osf3.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,35 +0,0 @@
-/* Native definitions for alpha running OSF/1-3.x and higher, using procfs.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Number of traps that happen between exec'ing the shell to run an
-   inferior, and when we finally get to the inferior code, not
-   counting the exec for the shell.  This is 1 on most
-   implementations.  */
-#define START_INFERIOR_TRAPS_EXPECTED 2
-
-/* Don't trace faults under OSF/1, rely on the posting of the appropriate
-   signal if fault tracing is disabled.
-   Tracing T_IFAULT under Alpha OSF/1 causes a `floating point enable'
-   fault from which we cannot continue (except by disabling the
-   tracing).
-   And as OSF/1 doesn't provide the standard fault definitions, the
-   mapping of faults to appropriate signals in procfs_wait is difficult.  */
-#define PROCFS_DONT_TRACE_FAULTS
-
-/* Work around some peculiarities in the OSF/1 procfs implementation.  */
-#define PROCFS_NEED_CLEAR_CURSIG_FOR_KILL
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/djcheck.sh ./gdb/config/djgpp/djcheck.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/djcheck.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/djgpp/djcheck.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 # A shell script to run the test suite on the DJGPP version of GDB.
 
-#  Copyright (C) 2000-2014 Free Software Foundation, Inc.
+#  Copyright (C) 2000-2015 Free Software Foundation, Inc.
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/djconfig.sh ./gdb/config/djgpp/djconfig.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/djconfig.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/djgpp/djconfig.sh	2015-01-20 02:05:38.000000000 +0000
@@ -5,7 +5,7 @@
 # configuring other GNU programs for DJGPP.
 #
 #=====================================================================
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2015 Free Software Foundation, Inc.
 #
 # Originally written by Robert Hoehne, revised by Eli Zaretskii.
 # This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/fnchange.lst ./gdb/config/djgpp/fnchange.lst
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/fnchange.lst	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/djgpp/fnchange.lst	2015-01-20 02:05:38.000000000 +0000
@@ -112,6 +112,7 @@
 @V@/gdb/ChangeLog-2011 @V@/gdb/ChangeLog.011
 @V@/gdb/ChangeLog-2012 @V@/gdb/ChangeLog.012
 @V@/gdb/ChangeLog-2013 @V@/gdb/ChangeLog.013
+@V@/gdb/ChangeLog-2014 @V@/gdb/ChangeLog.014
 @V@/gdb/ChangeLog-3.x @V@/gdb/ChangeLog.3-x
 @V@/gdb/ada-exp.tab.c @V@/gdb/ada-exp_tab.c
 @V@/gdb/amd64-windows-nat.c @V@/gdb/a64w-nat.c
@@ -132,9 +133,6 @@
 @V@/gdb/armnbsd-nat.c @V@/gdb/armnbd-nat.c
 @V@/gdb/armnbsd-tdep.c @V@/gdb/armnbd-tdep.c
 @V@/gdb/c-exp.tab.c @V@/gdb/c-exp_tab.c
-@V@/gdb/config/alpha/alpha-osf1.mh @V@/gdb/config/alpha/alphosf1.mh
-@V@/gdb/config/alpha/alpha-osf2.mh @V@/gdb/config/alpha/alphosf2.mh
-@V@/gdb/config/alpha/alpha-osf3.mh @V@/gdb/config/alpha/alphosf3.mh
 @V@/gdb/config/alpha/tm-alphalinux.h @V@/gdb/config/alpha/tm-alplinux.h
 @V@/gdb/config/i386/nm-cygwin64.h @V@/gdb/config/i386/nm-cyg64.h
 @V@/gdb/config/i386/nm-linux64.h @V@/gdb/config/i386/nm-lx64.h
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/langinfo.h ./gdb/config/djgpp/langinfo.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/langinfo.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/djgpp/langinfo.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* langinfo.h file for DJGPP.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Written by Eli Zaretskii.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/nl_types.h ./gdb/config/djgpp/nl_types.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/djgpp/nl_types.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/djgpp/nl_types.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* nl_types.h for DJGPP.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Written by Eli Zaretskii.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/cygwin64.mh ./gdb/config/i386/cygwin64.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/cygwin64.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/cygwin64.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 #  Native config information for GDB on PowerPC systems running FreeBSD.
 #
-#  Copyright (C) 2013-2014 Free Software Foundation, Inc.
+#  Copyright (C) 2013-2015 Free Software Foundation, Inc.
 #
 #  This file is part of GDB.
 #
@@ -17,4 +17,4 @@
 #  You should have received a copy of the GNU General Public License
 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-NATDEPFILES= i386-nat.o windows-nat.o amd64-windows-nat.o
+NATDEPFILES= x86-nat.o x86-dregs.o windows-nat.o amd64-windows-nat.o
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/cygwin.mh ./gdb/config/i386/cygwin.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/cygwin.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/cygwin.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,3 +1,3 @@
 MH_CFLAGS=
-NATDEPFILES= i386-nat.o windows-nat.o i386-windows-nat.o
+NATDEPFILES= x86-nat.o x86-dregs.o windows-nat.o i386-windows-nat.o
 XM_CLIBS=
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/darwin.mh ./gdb/config/i386/darwin.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/darwin.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/darwin.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
 # Host: IA86 running Darwin
 
 NATDEPFILES = fork-child.o darwin-nat.o \
-     i386-darwin-nat.o i386-nat.o amd64-nat.o darwin-nat-info.o
+     i386-darwin-nat.o x86-nat.o x86-dregs.o amd64-nat.o darwin-nat-info.o
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/fbsd64.mh ./gdb/config/i386/fbsd64.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/fbsd64.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/fbsd64.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 # Host: FreeBSD/amd64
 NATDEPFILES= fork-child.o inf-ptrace.o \
 	fbsd-nat.o amd64-nat.o amd64bsd-nat.o amd64fbsd-nat.o \
-	bsd-kvm.o i386-nat.o
+	bsd-kvm.o x86-nat.o x86-dregs.o
 HAVE_NATIVE_GCORE_HOST = 1
 
 LOADLIBES= -lkvm
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/fbsd.mh ./gdb/config/i386/fbsd.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/fbsd.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/fbsd.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 # Host: FreeBSD/i386
 NATDEPFILES= fork-child.o inf-ptrace.o \
-	fbsd-nat.o i386-nat.o i386bsd-nat.o i386fbsd-nat.o \
+	fbsd-nat.o x86-nat.o x86-dregs.o i386bsd-nat.o i386fbsd-nat.o \
 	bsd-kvm.o
 NAT_FILE= nm-fbsd.h
 HAVE_NATIVE_GCORE_HOST = 1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/go32.mh ./gdb/config/i386/go32.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/go32.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/go32.mh	2015-01-20 02:05:38.000000000 +0000
@@ -3,10 +3,9 @@
 # We include several header files from config/djgpp
 MH_CFLAGS= -I$(srcdir)/config/djgpp
 
-NATDEPFILES= go32-nat.o i386-nat.o
+NATDEPFILES= go32-nat.o x86-nat.o x86-dregs.o
 
 HOST_IPC=
-CC= gcc
 XM_CLIBS= -ldbg
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/i386gnu.mh ./gdb/config/i386/i386gnu.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/i386gnu.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/i386gnu.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,6 @@
 # Host: Intel 386 running the GNU Hurd
-NATDEPFILES= i386gnu-nat.o gnu-nat.o core-regset.o fork-child.o \
+NATDEPFILES= i386gnu-nat.o gnu-nat.o \
+	     x86-nat.o x86-dregs.o fork-child.o \
 	     notify_S.o process_reply_S.o msg_reply_S.o \
 	     msg_U.o exc_request_U.o exc_request_S.o
 HAVE_NATIVE_GCORE_HOST = 1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/linux64.mh ./gdb/config/i386/linux64.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/linux64.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/linux64.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,7 @@
 # Host: GNU/Linux x86-64
 NATDEPFILES= inf-ptrace.o fork-child.o \
-	i386-nat.o amd64-nat.o amd64-linux-nat.o \
+	x86-nat.o x86-dregs.o amd64-nat.o amd64-linux-nat.o \
+	x86-linux-nat.o \
 	linux-nat.o linux-osdata.o \
 	proc-service.o linux-thread-db.o linux-fork.o \
 	linux-procfs.o linux-ptrace.o linux-btrace.o \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/linux.mh ./gdb/config/i386/linux.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/linux.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/linux.mh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 NAT_FILE= config/nm-linux.h
 NATDEPFILES= inf-ptrace.o fork-child.o \
-	i386-nat.o i386-linux-nat.o \
+	x86-nat.o x86-dregs.o i386-linux-nat.o x86-linux-nat.o \
 	proc-service.o linux-thread-db.o \
 	linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
 	linux-btrace.o linux-waitpid.o
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/mingw64.mh ./gdb/config/i386/mingw64.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/mingw64.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/mingw64.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1 +1 @@
-NATDEPFILES= i386-nat.o windows-nat.o amd64-windows-nat.o
+NATDEPFILES= x86-nat.o x86-dregs.o windows-nat.o amd64-windows-nat.o
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/mingw.mh ./gdb/config/i386/mingw.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/mingw.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/mingw.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,3 +1,3 @@
 MH_CFLAGS=
-NATDEPFILES= i386-nat.o windows-nat.o i386-windows-nat.o
+NATDEPFILES= x86-nat.o x86-dregs.o windows-nat.o i386-windows-nat.o
 XM_CLIBS=
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/nm-fbsd.h ./gdb/config/i386/nm-fbsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/nm-fbsd.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/nm-fbsd.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent definitions for FreeBSD/i386.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/nm-i386gnu.h ./gdb/config/i386/nm-i386gnu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/i386/nm-i386gnu.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/i386/nm-i386gnu.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Native-dependent definitions for Intel 386 running the GNU Hurd
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/ia64/linux.mh ./gdb/config/ia64/linux.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/ia64/linux.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/ia64/linux.mh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 NAT_FILE= config/nm-linux.h
 NATDEPFILES= inf-ptrace.o fork-child.o \
-	core-regset.o ia64-linux-nat.o \
+	ia64-linux-nat.o \
 	proc-service.o linux-thread-db.o \
 	linux-nat.o linux-osdata.o linux-fork.o \
 	linux-procfs.o linux-ptrace.o linux-waitpid.o
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/mips/irix5.mh ./gdb/config/mips/irix5.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/mips/irix5.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/mips/irix5.mh	1970-01-01 00:00:00.000000000 +0000
@@ -1,4 +0,0 @@
-# Host: SGI Iris running irix 5.x
-NATDEPFILES= fork-child.o irix5-nat.o procfs.o \
-	proc-api.o proc-events.o proc-flags.o proc-why.o
-HAVE_NATIVE_GCORE_HOST = 1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/mips/irix6.mh ./gdb/config/mips/irix6.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/mips/irix6.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/mips/irix6.mh	1970-01-01 00:00:00.000000000 +0000
@@ -1,4 +0,0 @@
-# Host: SGI Iris running irix 6.x
-NATDEPFILES= fork-child.o irix5-nat.o procfs.o \
-	proc-api.o proc-events.o proc-flags.o proc-why.o
-HAVE_NATIVE_GCORE_HOST = 1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/nm-linux.h ./gdb/config/nm-linux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/nm-linux.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/nm-linux.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native support for GNU/Linux.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/nm-nto.h ./gdb/config/nm-nto.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/nm-nto.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/nm-nto.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native support for QNX Neutrino version 6.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This code was donated by QNX Software Systems Ltd.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/powerpc/fbsd.mh ./gdb/config/powerpc/fbsd.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/powerpc/fbsd.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/powerpc/fbsd.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 #  Native config information for GDB on PowerPC systems running FreeBSD.
 #
-#  Copyright (C) 2013-2014 Free Software Foundation, Inc.
+#  Copyright (C) 2013-2015 Free Software Foundation, Inc.
 #
 #  This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/sparc/linux64.mh ./gdb/config/sparc/linux64.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/sparc/linux64.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/sparc/linux64.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,6 @@
 # Host: GNU/Linux UltraSPARC
 NAT_FILE= config/nm-linux.h
 NATDEPFILES= sparc-nat.o sparc64-nat.o sparc64-linux-nat.o \
-	core-regset.o \
 	fork-child.o inf-ptrace.o \
 	proc-service.o linux-thread-db.o \
 	linux-nat.o linux-osdata.o linux-fork.o \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/sparc/linux.mh ./gdb/config/sparc/linux.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/sparc/linux.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/sparc/linux.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 # Host: GNU/Linux SPARC
 NAT_FILE= config/nm-linux.h
 NATDEPFILES= sparc-nat.o sparc-linux-nat.o \
-	core-regset.o fork-child.o inf-ptrace.o \
+	fork-child.o inf-ptrace.o \
 	proc-service.o linux-thread-db.o \
 	linux-nat.o linux-osdata.o linux-fork.o \
 	linux-procfs.o linux-ptrace.o linux-waitpid.o
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/sparc/nm-sol2.h ./gdb/config/sparc/nm-sol2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/sparc/nm-sol2.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/sparc/nm-sol2.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent definitions for Solaris SPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/sparc/sol2.mh ./gdb/config/sparc/sol2.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/sparc/sol2.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/sparc/sol2.mh	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 # Host: Solaris SPARC & UltraSPARC
 NAT_FILE= nm-sol2.h
 NATDEPFILES= sparc-sol2-nat.o \
-	core-regset.o fork-child.o \
+	fork-child.o \
 	procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o
 HAVE_NATIVE_GCORE_HOST = 1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/vax/vax.mh ./gdb/config/vax/vax.mh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config/vax/vax.mh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config/vax/vax.mh	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-# Host: VAX running 4.2BSD or Ultrix
-NATDEPFILES= vax-nat.o fork-child.o inf-ptrace.o
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config.in ./gdb/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/config.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/config.in	2015-01-20 02:05:38.000000000 +0000
@@ -75,9 +75,6 @@
 /* Define to 1 if you have the `btowc' function. */
 #undef HAVE_BTOWC
 
-/* Define to 1 if you have the `canonicalize_file_name' function. */
-#undef HAVE_CANONICALIZE_FILE_NAME
-
 /* Define to 1 if you have the <cursesX.h> header file. */
 #undef HAVE_CURSESX_H
 
@@ -225,9 +222,6 @@
 /* Define to 1 if the compiler supports long double. */
 #undef HAVE_LONG_DOUBLE
 
-/* Define to 1 if you have the `lstat' function. */
-#undef HAVE_LSTAT
-
 /* Define if <sys/procfs.h> has lwpid_t. */
 #undef HAVE_LWPID_T
 
@@ -237,6 +231,9 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
+/* Define to 1 if you have the `mkdtemp' function. */
+#undef HAVE_MKDTEMP
+
 /* Define to 1 if you have a working `mmap' system call. */
 #undef HAVE_MMAP
 
@@ -330,12 +327,6 @@
 /* Define if Python interpreter is being linked in. */
 #undef HAVE_PYTHON
 
-/* Define to 1 if you have the `readlink' function. */
-#undef HAVE_READLINK
-
-/* Define to 1 if you have the `realpath' function. */
-#undef HAVE_REALPATH
-
 /* Define to 1 if you have the `resize_term' function. */
 #undef HAVE_RESIZE_TERM
 
@@ -366,6 +357,9 @@
 /* Define to 1 if you have the `sigaction' function. */
 #undef HAVE_SIGACTION
 
+/* Define to 1 if you have the `sigaltstack' function. */
+#undef HAVE_SIGALTSTACK
+
 /* Define to 1 if you have the <signal.h> header file. */
 #undef HAVE_SIGNAL_H
 
@@ -522,6 +516,9 @@
 /* Define to 1 if you have the `wborder' function. */
 #undef HAVE_WBORDER
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if `fork' works. */
 #undef HAVE_WORKING_FORK
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/configure ./gdb/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/configure	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/configure	2015-01-20 02:05:38.000000000 +0000
@@ -1482,7 +1482,7 @@ Optional Features:
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --disable-largefile     omit support for large files
   --enable-targets=TARGETS
                           alternative target configurations
@@ -1893,6 +1893,52 @@ eval ac_res=\$$3
 
 } # ac_fn_c_check_header_compile
 
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  return $ac_retval
+
+} # ac_fn_c_try_link
+
 # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
 # --------------------------------------------
 # Tries to find the compile-time value of EXPR in a program that includes
@@ -2071,52 +2117,6 @@ rm -f conftest.val
 
 } # ac_fn_c_compute_int
 
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
-
-} # ac_fn_c_try_link
-
 # ac_fn_c_check_func LINENO FUNC VAR
 # ----------------------------------
 # Tests whether FUNC exists, setting the cache variable VAR accordingly
@@ -4090,17 +4090,106 @@ test -n "$target_alias" &&
 # even in directories otherwise not depending on the $plugins option.
 
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
 
 case "${host}" in
@@ -4746,6 +4835,12 @@ else
 fi
 
 
+gnulib_extra_configure_args=
+# If large-file support is disabled, make sure gnulib does the same.
+if test "$enable_largefile" = no; then
+gnulib_extra_configure_args="$gnulib_extra_configure_args --disable-largefile"
+fi
+
 # Configure gnulib.  We need to build gnulib under some other
 # directory not "gnulib", to avoid the problem of both GDB and
 # GDBserver wanting to build it in the same directory, when building
@@ -4753,6 +4848,7 @@ fi
 
   in_src="gnulib"
   in_build="build-gnulib"
+  in_extra_args="$gnulib_extra_configure_args"
 
   # Remove --cache-file, --srcdir, and --disable-option-checking arguments
   # so they do not pile up.
@@ -4837,6 +4933,11 @@ fi
     ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
   esac
 
+  if test -n "$in_extra_args"; then
+    # Add the extra args at the end.
+    ac_sub_configure_args="$ac_sub_configure_args $in_extra_args"
+  fi
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
 $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
   # The eval makes quoting arguments work.
@@ -6973,33 +7074,6 @@ _ACEOF
 fi
 
 
-# On alpha-osf, it appears that libtermcap and libcurses are not compatible.
-# There is a very specific comment in /usr/include/curses.h explaining that
-# termcap routines built into libcurses must not be used.
-#
-# The symptoms we observed so far is GDB unexpectedly changing
-# the terminal settings when tgetent is called - this is particularly
-# visible as the output is missing carriage returns, and so rapidly
-# becomes very hard to read.
-#
-# The readline configure script has already decided that libtermcap
-# was enough for its purposes, and so decided to build readline using
-# libtermcap.  Since the TUI mode requires curses, building GDB with
-# TUI enabled results in both libraries to be used at the same time,
-# which is not allowed.  This basically means that GDB with TUI is
-# broken on alpha-osf.
-
-case $host_os in
-  osf* )
-    if test x"$enable_tui" = xyes; then
-      as_fn_error "Building GDB with TUI mode is not supported on this host" "$LINENO" 5
-    fi
-    if test x"$enable_tui" = xauto; then
-      enable_tui=no
-    fi
-    ;;
-esac
-
 # For the TUI, we need enhanced curses functionality.
 if test x"$enable_tui" != xno; then
   prefer_curses=yes
@@ -7110,9 +7184,10 @@ case $host_os in
     ac_cv_search_tgetent="none required"
     ;;
   *mingw32*)
-    ac_cv_search_tgetent="none required"
-    CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
-    ;;
+    if test x"$prefer_curses" != xyes; then
+      ac_cv_search_tgetent="none required"
+      CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
+    fi ;;
 esac
 
 # These are the libraries checked by Readline.
@@ -8627,15 +8702,6 @@ rm -f core conftest.err conftest.$ac_obj
 $as_echo "${PYTHON_CFLAGS}" >&6; }
   fi
 
-  # On IRIX, type siginfo is not defined.  Instead, sys/siginfo.h provides:
-  #    #if _SGIAPI
-  #    #define siginfo __siginfo
-  #    #endif
-  # The problem is that including Python causes some XOPEN macros to be
-  # unilaterally defined, and that in turn causes _SGIAPI to evaluate
-  # to false.  So, we work around this issue by defining siginfo ourself
-  # though the command-line.
-  #
   # On x64 Windows, Python's include headers, and pyconfig.h in
   # particular, rely on MS_WIN64 macro to detect that it's a 64bit
   # version of Windows.  Unfortunately, MS_WIN64 is only defined if
@@ -8645,10 +8711,6 @@ rm -f core conftest.err conftest.$ac_obj
   # solved as of 2012-10-02 (http://bugs.python.org/issue4709).
 
   case "$gdb_host" in
-    irix*) if test "${GCC}" = yes; then
-             CPPFLAGS="$CPPFLAGS -Dsiginfo=__siginfo"
-           fi
-           ;;
     mingw64)
            if test "${GCC}" = yes; then
              CPPFLAGS="$CPPFLAGS -DMS_WIN64"
@@ -10023,228 +10085,38 @@ fi
 # Checks for library functions.  #
 # ------------------------------ #
 
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-			  if (p) return 0;
-  ;
-  return 0;
-}
+for ac_header in stdlib.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
 
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
+done
+
+for ac_func in getpagesize
+do :
+  ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
+if test "x$ac_cv_func_getpagesize" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_GETPAGESIZE 1
+_ACEOF
 
 fi
+done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
+$as_echo_n "checking for working mmap... " >&6; }
+if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then :
   $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-				    if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-for ac_header in stdlib.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in getpagesize
-do :
-  ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETPAGESIZE 1
-_ACEOF
-
-fi
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
-$as_echo_n "checking for working mmap... " >&6; }
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_mmap_fixed_mapped=no
+else
+  if test "$cross_compiling" = yes; then :
+  ac_cv_func_mmap_fixed_mapped=no
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10619,13 +10491,13 @@ if test "x$ac_cv_func_fork_works" = xyes
 
 fi
 
-for ac_func in canonicalize_file_name realpath getrusage getuid getgid \
-		pipe poll pread pread64 pwrite readlink resize_term \
+for ac_func in getrusage getuid getgid \
+		pipe poll pread pread64 pwrite resize_term \
 		sbrk setpgid setpgrp setsid \
 		sigaction sigprocmask sigsetmask socketpair \
 		ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
-		setrlimit getrlimit posix_madvise waitpid lstat \
-		ptrace64
+		setrlimit getrlimit posix_madvise waitpid \
+		ptrace64 sigaltstack mkdtemp
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -11062,6 +10934,39 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
+$as_echo_n "checking for sigsetjmp... " >&6; }
+if test "${gdb_cv_func_sigsetjmp+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <setjmp.h>
+
+int
+main ()
+{
+sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gdb_cv_func_sigsetjmp=yes
+else
+  gdb_cv_func_sigsetjmp=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_func_sigsetjmp" >&5
+$as_echo "$gdb_cv_func_sigsetjmp" >&6; }
+if test $gdb_cv_func_sigsetjmp = yes; then
+
+$as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h
+
+fi
+
 
 # Check the return and argument types of ptrace.  No canned test for
 # this, so roll our own.
@@ -11324,41 +11229,6 @@ if test $ac_cv_func_setpgrp_void = yes; 
 fi
 fi
 
-# Check if sigsetjmp is available.  Using AC_CHECK_FUNCS won't do
-# since sigsetjmp might only be defined as a macro.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
-$as_echo_n "checking for sigsetjmp... " >&6; }
-if test "${gdb_cv_func_sigsetjmp+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <setjmp.h>
-
-int
-main ()
-{
-sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gdb_cv_func_sigsetjmp=yes
-else
-  gdb_cv_func_sigsetjmp=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_func_sigsetjmp" >&5
-$as_echo "$gdb_cv_func_sigsetjmp" >&6; }
-if test $gdb_cv_func_sigsetjmp = yes; then
-
-$as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h
-
-fi
-
 # Assume we'll default to using the included libiberty regex.
 gdb_use_included_regex=yes
 
@@ -13160,65 +13030,6 @@ esac
   CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
   LDFLAGS="-L../bfd -L../libiberty $LDFLAGS"
   intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
-  # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
-  if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' dl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
-  break
-fi
-done
-if test "${ac_cv_search_dlopen+set}" = set; then :
-
-else
-  ac_cv_search_dlopen=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-  fi
   LIBS="-lbfd -liberty $intl $LIBS"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ELF support in BFD" >&5
 $as_echo_n "checking for ELF support in BFD... " >&6; }
@@ -13329,65 +13140,6 @@ fi
   CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
   LDFLAGS="-L../bfd -L../libiberty $LDFLAGS"
   intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
-  # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
-  if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' dl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
-  break
-fi
-done
-if test "${ac_cv_search_dlopen+set}" = set; then :
-
-else
-  ac_cv_search_dlopen=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-  fi
   LIBS="-lbfd -liberty $intl $LIBS"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mach-O support in BFD" >&5
 $as_echo_n "checking for Mach-O support in BFD... " >&6; }
@@ -13436,65 +13188,6 @@ fi
   CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
   LDFLAGS="-L../bfd -L../libiberty $LDFLAGS"
   intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
-  # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
-  if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
-$as_echo_n "checking for library containing dlopen... " >&6; }
-if test "${ac_cv_search_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' dl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlopen=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if test "${ac_cv_search_dlopen+set}" = set; then :
-  break
-fi
-done
-if test "${ac_cv_search_dlopen+set}" = set; then :
-
-else
-  ac_cv_search_dlopen=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
-$as_echo "$ac_cv_search_dlopen" >&6; }
-ac_res=$ac_cv_search_dlopen
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-  fi
   LIBS="-lbfd -liberty $intl $LIBS"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SOM support in BFD" >&5
 $as_echo_n "checking for SOM support in BFD... " >&6; }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/configure.ac ./gdb/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/configure.ac	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/configure.ac	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 dnl Autoconf configure script for GDB, the GNU debugger.
-dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1995-2015 Free Software Foundation, Inc.
 dnl
 dnl This file is part of GDB.
 dnl
@@ -51,11 +51,18 @@ esac
 AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
 AC_PROG_MAKE_SET
 
+gnulib_extra_configure_args=
+# If large-file support is disabled, make sure gnulib does the same.
+if test "$enable_largefile" = no; then
+gnulib_extra_configure_args="$gnulib_extra_configure_args --disable-largefile"
+fi
+
 # Configure gnulib.  We need to build gnulib under some other
 # directory not "gnulib", to avoid the problem of both GDB and
 # GDBserver wanting to build it in the same directory, when building
 # in the source dir.
-ACX_CONFIGURE_DIR(["gnulib"], ["build-gnulib"])
+ACX_CONFIGURE_DIR(["gnulib"], ["build-gnulib"],
+                  ["$gnulib_extra_configure_args"])
 
 dnl List of object files and targets accumulated by configure.
 
@@ -546,33 +553,6 @@ AS_HELP_STRING([--with-iconv-bin=PATH], 
  GDB_AC_DEFINE_RELOCATABLE(ICONV_BIN, iconv, ${iconv_bin})
 ])
 
-# On alpha-osf, it appears that libtermcap and libcurses are not compatible.
-# There is a very specific comment in /usr/include/curses.h explaining that
-# termcap routines built into libcurses must not be used.
-#
-# The symptoms we observed so far is GDB unexpectedly changing
-# the terminal settings when tgetent is called - this is particularly
-# visible as the output is missing carriage returns, and so rapidly
-# becomes very hard to read.
-#
-# The readline configure script has already decided that libtermcap
-# was enough for its purposes, and so decided to build readline using
-# libtermcap.  Since the TUI mode requires curses, building GDB with
-# TUI enabled results in both libraries to be used at the same time,
-# which is not allowed.  This basically means that GDB with TUI is
-# broken on alpha-osf.
-
-case $host_os in
-  osf* )
-    if test x"$enable_tui" = xyes; then
-      AC_MSG_ERROR([Building GDB with TUI mode is not supported on this host])
-    fi
-    if test x"$enable_tui" = xauto; then
-      enable_tui=no
-    fi
-    ;;
-esac
-
 # For the TUI, we need enhanced curses functionality.
 if test x"$enable_tui" != xno; then
   prefer_curses=yes
@@ -627,9 +607,10 @@ case $host_os in
     ac_cv_search_tgetent="none required"
     ;;
   *mingw32*)
-    ac_cv_search_tgetent="none required"
-    CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
-    ;;
+    if test x"$prefer_curses" != xyes; then
+      ac_cv_search_tgetent="none required"
+      CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
+    fi ;;
 esac
 
 # These are the libraries checked by Readline.
@@ -999,15 +980,6 @@ if test "${have_libpython}" != no; then
     AC_MSG_RESULT(${PYTHON_CFLAGS})
   fi
 
-  # On IRIX, type siginfo is not defined.  Instead, sys/siginfo.h provides:
-  #    #if _SGIAPI
-  #    #define siginfo __siginfo
-  #    #endif
-  # The problem is that including Python causes some XOPEN macros to be
-  # unilaterally defined, and that in turn causes _SGIAPI to evaluate
-  # to false.  So, we work around this issue by defining siginfo ourself
-  # though the command-line.
-  #
   # On x64 Windows, Python's include headers, and pyconfig.h in
   # particular, rely on MS_WIN64 macro to detect that it's a 64bit
   # version of Windows.  Unfortunately, MS_WIN64 is only defined if
@@ -1017,10 +989,6 @@ if test "${have_libpython}" != no; then
   # solved as of 2012-10-02 (http://bugs.python.org/issue4709).
 
   case "$gdb_host" in
-    irix*) if test "${GCC}" = yes; then
-             CPPFLAGS="$CPPFLAGS -Dsiginfo=__siginfo"
-           fi
-           ;;
     mingw64)
            if test "${GCC}" = yes; then
              CPPFLAGS="$CPPFLAGS -DMS_WIN64"
@@ -1342,16 +1310,15 @@ AC_C_BIGENDIAN
 # Checks for library functions.  #
 # ------------------------------ #
 
-AC_FUNC_ALLOCA
 AC_FUNC_MMAP
 AC_FUNC_VFORK
-AC_CHECK_FUNCS([canonicalize_file_name realpath getrusage getuid getgid \
-		pipe poll pread pread64 pwrite readlink resize_term \
+AC_CHECK_FUNCS([getrusage getuid getgid \
+		pipe poll pread pread64 pwrite resize_term \
 		sbrk setpgid setpgrp setsid \
 		sigaction sigprocmask sigsetmask socketpair \
 		ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
-		setrlimit getrlimit posix_madvise waitpid lstat \
-		ptrace64])
+		setrlimit getrlimit posix_madvise waitpid \
+		ptrace64 sigaltstack mkdtemp])
 AM_LANGINFO_CODESET
 GDB_AC_COMMON
 
@@ -1444,17 +1411,6 @@ if test $ac_cv_func_setpgrp_void = yes; 
 fi
 fi
 
-# Check if sigsetjmp is available.  Using AC_CHECK_FUNCS won't do
-# since sigsetjmp might only be defined as a macro.
-AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
-[AC_TRY_COMPILE([
-#include <setjmp.h>
-], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
-gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
-if test $gdb_cv_func_sigsetjmp = yes; then
-  AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
-fi
-
 # Assume we'll default to using the included libiberty regex.
 gdb_use_included_regex=yes
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/configure.host ./gdb/configure.host
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/configure.host	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/configure.host	2015-01-20 02:05:38.000000000 +0000
@@ -19,8 +19,8 @@ case $host in
  sparc-*-netbsdelf* | \
  vax-*-netbsdelf*)
     ;;
- alpha*-*-osf1* | \
- alpha*-*-osf2* | \
+ *-*-irix* | \
+ alpha*-*-osf* | \
  arm*-*-netbsd* | \
  hppa*-*-hiux* | \
  i[34567]86-ncr-* | \
@@ -41,7 +41,9 @@ case $host in
  m68*-*-netbsd* | \
  sparc-*-netbsd* | \
  rs6000-*-lynxos* | \
+ vax-*-bsd* | \
  vax-*-netbsd* | \
+ vax-*-ultrix* | \
  null)
     echo "*** Configuration $host is obsolete." >&2
     echo "*** Support has been REMOVED." >&2
@@ -79,7 +81,6 @@ case "${host}" in
 
 aarch64*-*-linux*)	gdb_host=linux ;;
 
-alpha*-*-osf[3456789]*)	gdb_host=alpha-osf3 ;;
 alpha*-*-linux*)	gdb_host=alpha-linux ;;
 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
 			gdb_host=fbsd ;;
@@ -126,8 +127,6 @@ m68*-*-openbsd*)	gdb_host=obsd ;;
 
 m88*-*-openbsd*)	gdb_host=obsd ;;
 
-mips-sgi-irix5*)	gdb_host=irix5 ;;
-mips-sgi-irix6*)	gdb_host=irix6 ;;
 mips*-*-linux*)		gdb_host=linux ;;
 mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
 			gdb_host=nbsd ;;
@@ -171,11 +170,9 @@ sparc-*-solaris2* | sparcv9-*-solaris2* 
 
 tilegx-*-linux*)	gdb_host=linux ;;
 
-vax-*-bsd*)		gdb_host=vax ;;
 vax-*-netbsdelf* | vax-*-knetbsd*-gnu)
 			gdb_host=nbsdelf ;;
 vax-*-openbsd*)		gdb_host=obsd ;;
-vax-*-ultrix*)		gdb_host=vax ;;
 
 x86_64-*-linux*)	gdb_host=linux64 ;;
 x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/configure.tgt ./gdb/configure.tgt
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/configure.tgt	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/configure.tgt	2015-01-20 02:05:38.000000000 +0000
@@ -13,6 +13,8 @@
 #	in Makefile.in!
 
 case $targ in
+ *-*-irix* | \
+ alpha*-*-osf* | \
  d10v-*-* | \
  hppa*-*-hiux* | \
  i[34567]86-ncr-* | \
@@ -45,10 +47,6 @@ aarch64*-*-linux*)
 	build_gdbserver=yes
 	;;
 
-alpha*-*-osf*)
-	# Target: Little-endian Alpha running OSF/1
-	gdb_target_obs="alpha-tdep.o alpha-osf1-tdep.o alpha-mdebug-tdep.o"
-	;;
 alpha*-*-linux*)
 	# Target: Little-endian Alpha running Linux
 	gdb_target_obs="alpha-tdep.o alpha-mdebug-tdep.o alpha-linux-tdep.o \
@@ -140,7 +138,7 @@ frv-*-*)
 	gdb_sim=../sim/frv/libsim.a
 	;;
 
-moxie-*-elf | moxie-*-rtems*)
+moxie-*-elf | moxie-*-moxiebox | moxie-*-rtems*)
 	gdb_target_obs="moxie-tdep.o"
 	gdb_sim=../sim/moxie/libsim.a
 	;;
@@ -189,7 +187,7 @@ i[34567]86-*-dicos*)
 i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
 	# Target: FreeBSD/i386
 	gdb_target_obs="i386-tdep.o i387-tdep.o i386bsd-tdep.o i386fbsd-tdep.o \
-			bsd-uthread.o solib-svr4.o"
+			bsd-uthread.o fbsd-tdep.o solib-svr4.o"
 	;;
 i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu)
 	# Target: NetBSD/i386
@@ -350,14 +348,6 @@ microblaze*-*-*)
 	gdb_sim=../sim/microblaze/libsim.a
 	;;
 
-mips*-sgi-irix5*)
-	# Target: MIPS SGI running Irix 5
-	gdb_target_obs="mips-tdep.o mips-irix-tdep.o solib-irix.o"
-	;;
-mips*-sgi-irix6*)
-	# Target: MIPS SGI running Irix 6.x
-	gdb_target_obs="mips-tdep.o mips-irix-tdep.o solib-irix.o"
-	;;
 mips*-*-linux*)
 	# Target: Linux/MIPS
 	gdb_target_obs="mips-tdep.o mips-linux-tdep.o glibc-tdep.o \
@@ -374,6 +364,11 @@ mips64*-*-openbsd*)
 	# Target: OpenBSD/mips64
 	gdb_target_obs="mips-tdep.o mips64obsd-tdep.o obsd-tdep.o solib-svr4.o"
 	;;
+mips*-sde*-elf*)
+	# Target: MIPS SDE
+	gdb_target_obs="mips-tdep.o mips-sde-tdep.o remote-mips.o"
+	gdb_sim=../sim/mips/libsim.a
+	;;
 mips*-*-elf)
 	# Target: MIPS ELF
 	gdb_target_obs="mips-tdep.o remote-mips.o"
@@ -415,7 +410,7 @@ nios2*-*-*)
 powerpc*-*-freebsd*)
 	# Target: FreeBSD/powerpc
 	gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc64-tdep.o \
-		        ppcfbsd-tdep.o solib-svr4.o \
+		        ppcfbsd-tdep.o fbsd-tdep.o solib-svr4.o \
 			ravenscar-thread.o ppc-ravenscar-thread.o"
 	;;
 
@@ -543,7 +538,7 @@ sparc64-*-linux*)
 sparc*-*-freebsd* | sparc*-*-kfreebsd*-gnu)
 	# Target: FreeBSD/sparc64
 	gdb_target_obs="sparc-tdep.o sparc64-tdep.o sparc64fbsd-tdep.o \
-			solib-svr4.o \
+			fbsd-tdep.o solib-svr4.o \
 			ravenscar-thread.o sparc-ravenscar-thread.o"
 	;;
 sparc-*-netbsd* | sparc-*-knetbsd*-gnu)
@@ -640,7 +635,7 @@ vax-*-openbsd*)
 	gdb_target_obs="vax-tdep.o vaxobsd-tdep.o"
 	;;
 vax-*-*)
-	# Target: VAX running 4.2BSD or Ultrix
+	# Target: VAX
 	gdb_target_obs="vax-tdep.o"
 	;;
 
@@ -667,7 +662,7 @@ x86_64-*-freebsd* | x86_64-*-kfreebsd*-g
 	# Target: FreeBSD/amd64
 	gdb_target_obs="amd64-tdep.o amd64fbsd-tdep.o i386-tdep.o \
 			i387-tdep.o i386bsd-tdep.o i386fbsd-tdep.o \
-			bsd-uthread.o solib-svr4.o"
+			bsd-uthread.o fbsd-tdep.o solib-svr4.o"
 	;;
 x86_64-*-mingw* | x86_64-*-cygwin*)
         # Target: MingW/amd64
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/continuations.c ./gdb/continuations.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/continuations.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/continuations.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Continuations for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/continuations.h ./gdb/continuations.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/continuations.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/continuations.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Continuations for GDB, the GNU debugger.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/ari/create-web-ari-in-src.sh ./gdb/contrib/ari/create-web-ari-in-src.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/ari/create-web-ari-in-src.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/ari/create-web-ari-in-src.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 # GDB script to create web ARI page directly from within gdb/ari directory.
 #
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/ari/gdb_ari.sh ./gdb/contrib/ari/gdb_ari.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/ari/gdb_ari.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/ari/gdb_ari.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 # GDB script to list of problems using awk.
 #
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/ari/gdb_find.sh ./gdb/contrib/ari/gdb_find.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/ari/gdb_find.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/ari/gdb_find.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 # GDB script to create list of files to check using gdb_ari.sh.
 #
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/ari/update-web-ari.sh ./gdb/contrib/ari/update-web-ari.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/ari/update-web-ari.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/ari/update-web-ari.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 # GDB script to create GDB ARI web page.
 #
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/cc-with-tweaks.sh ./gdb/contrib/cc-with-tweaks.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/cc-with-tweaks.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/cc-with-tweaks.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 # Wrapper around gcc to tweak the output in various ways when running
 # the testsuite.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/cleanup_check.py ./gdb/contrib/cleanup_check.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/cleanup_check.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/cleanup_check.py	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2013-2014 Free Software Foundation, Inc.
+#   Copyright 2013-2015 Free Software Foundation, Inc.
 #
 #   This is free software: you can redistribute it and/or modify it
 #   under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/excheck.py ./gdb/contrib/excheck.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/excheck.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/excheck.py	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2011-2014 Free Software Foundation, Inc.
+#   Copyright 2011-2015 Free Software Foundation, Inc.
 #
 #   This is free software: you can redistribute it and/or modify it
 #   under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/expect-read1.c ./gdb/contrib/expect-read1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/expect-read1.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/expect-read1.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/expect-read1.sh ./gdb/contrib/expect-read1.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/expect-read1.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/expect-read1.sh	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 # runtest wrapper to reliably reproduce racy incomplete reads in the testsuite.
 
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/exsummary.py ./gdb/contrib/exsummary.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/exsummary.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/exsummary.py	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2011-2014 Free Software Foundation, Inc.
+#   Copyright 2011-2015 Free Software Foundation, Inc.
 #
 #   This is free software: you can redistribute it and/or modify it
 #   under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/gcc-with-excheck ./gdb/contrib/gcc-with-excheck
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/gcc-with-excheck	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/gcc-with-excheck	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 #!/bin/sh
-#   Copyright 2011-2014 Free Software Foundation, Inc.
+#   Copyright 2011-2015 Free Software Foundation, Inc.
 #
 #   This is free software: you can redistribute it and/or modify it
 #   under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/gdb-add-index.sh ./gdb/contrib/gdb-add-index.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/gdb-add-index.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/gdb-add-index.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 # Add a .gdb_index section to a file.
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/test_pubnames_and_indexes.py ./gdb/contrib/test_pubnames_and_indexes.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/contrib/test_pubnames_and_indexes.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/contrib/test_pubnames_and_indexes.py	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 #! /usr/bin/env python
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/CONTRIBUTE ./gdb/CONTRIBUTE
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/CONTRIBUTE	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/CONTRIBUTE	2015-01-20 02:05:38.000000000 +0000
@@ -32,11 +32,12 @@ o	Coding Standards
 	Submissions which do not conform to the standards will be
 	returned with a request to reformat the changes.
 
+	Ref: http://www.gnu.org/prep/standards_toc.html
+
 	GDB has certain additional coding requirements.  Those
-	requirements are explained in the GDB internals documentation
-	in the gdb/doc directory.
+	requirements are explained in the GDB internals documentation.
 
-	Ref: http://www.gnu.org/prep/standards_toc.html
+	Ref: http://sourceware.org/gdb/wiki/Internals%20Coding-Standards
 
 
 o	Copyright Assignment
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/copyright.py ./gdb/copyright.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/copyright.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/copyright.py	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 #! /usr/bin/env python
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
@@ -171,7 +171,7 @@ def main ():
 #
 # Filenames are relative to the root directory.
 EXCLUDE_LIST = (
-    'gdb/common/glibc_thread_db.h',
+    'gdb/nat/glibc_thread_db.h',
     'gdb/CONTRIBUTE',
     'gdb/gnulib/import'
 )
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/corefile.c ./gdb/corefile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/corefile.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/corefile.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Core dump and executable file functions above target vector, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,8 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
-#include <errno.h>
 #include <signal.h>
 #include <fcntl.h>
 #include "inferior.h"
@@ -32,14 +30,12 @@
 #include "dis-asm.h"
 #include <sys/stat.h>
 #include "completer.h"
-#include "exceptions.h"
 #include "observer.h"
 #include "cli/cli-utils.h"
 
 /* Local function declarations.  */
 
 extern void _initialize_core (void);
-static void call_extra_exec_file_hooks (char *filename);
 
 /* You can have any number of hooks for `exec_file_command' command to
    call.  If there's only one hook, it is set in exec_file_display
@@ -50,7 +46,7 @@ static void call_extra_exec_file_hooks (
    only one hook could be set, and which called
    deprecated_exec_file_display_hook directly.  */
 
-typedef void (*hook_type) (char *);
+typedef void (*hook_type) (const char *);
 
 hook_type deprecated_exec_file_display_hook;	/* The original hook.  */
 static hook_type *exec_file_extra_hooks;	/* Array of additional
@@ -87,7 +83,7 @@ core_file_command (char *filename, int f
    functions.  */
 
 static void
-call_extra_exec_file_hooks (char *filename)
+call_extra_exec_file_hooks (const char *filename)
 {
   int i;
 
@@ -99,7 +95,7 @@ call_extra_exec_file_hooks (char *filena
    This is called from the x-window display code.  */
 
 void
-specify_exec_file_hook (void (*hook) (char *))
+specify_exec_file_hook (void (*hook) (const char *))
 {
   hook_type *new_array;
 
@@ -293,40 +289,6 @@ read_code (CORE_ADDR memaddr, gdb_byte *
     memory_error (status, memaddr);
 }
 
-/* Argument / return result struct for use with
-   do_captured_read_memory_integer().  MEMADDR and LEN are filled in
-   by gdb_read_memory_integer().  RESULT is the contents that were
-   successfully read from MEMADDR of length LEN.  */
-
-struct captured_read_memory_integer_arguments
-{
-  CORE_ADDR memaddr;
-  int len;
-  enum bfd_endian byte_order;
-  LONGEST result;
-};
-
-/* Helper function for gdb_read_memory_integer().  DATA must be a
-   pointer to a captured_read_memory_integer_arguments struct.
-   Return 1 if successful.  Note that the catch_errors() interface
-   will return 0 if an error occurred while reading memory.  This
-   choice of return code is so that we can distinguish between
-   success and failure.  */
-
-static int
-do_captured_read_memory_integer (void *data)
-{
-  struct captured_read_memory_integer_arguments *args
-    = (struct captured_read_memory_integer_arguments*) data;
-  CORE_ADDR memaddr = args->memaddr;
-  int len = args->len;
-  enum bfd_endian byte_order = args->byte_order;
-
-  args->result = read_memory_integer (memaddr, len, byte_order);
-
-  return 1;
-}
-
 /* Read memory at MEMADDR of length LEN and put the contents in
    RETURN_VALUE.  Return 0 if MEMADDR couldn't be read and non-zero
    if successful.  */
@@ -336,19 +298,13 @@ safe_read_memory_integer (CORE_ADDR mema
 			  enum bfd_endian byte_order,
 			  LONGEST *return_value)
 {
-  int status;
-  struct captured_read_memory_integer_arguments args;
+  gdb_byte buf[sizeof (LONGEST)];
 
-  args.memaddr = memaddr;
-  args.len = len;
-  args.byte_order = byte_order;
-
-  status = catch_errors (do_captured_read_memory_integer, &args,
-			 "", RETURN_MASK_ALL);
-  if (status)
-    *return_value = args.result;
+  if (target_read_memory (memaddr, buf, len))
+    return 0;
 
-  return status;
+  *return_value = extract_signed_integer (buf, len, byte_order);
+  return 1;
 }
 
 LONGEST
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/corelow.c ./gdb/corelow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/corelow.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/corelow.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Core dump and executable file functions below target vector, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,8 +19,6 @@
 
 #include "defs.h"
 #include "arch-utils.h"
-#include <string.h>
-#include <errno.h>
 #include <signal.h>
 #include <fcntl.h>
 #ifdef HAVE_SYS_FILE_H
@@ -40,8 +38,6 @@
 #include "symfile.h"
 #include "exec.h"
 #include "readline/readline.h"
-#include "gdb_assert.h"
-#include "exceptions.h"
 #include "solib.h"
 #include "filenames.h"
 #include "progspace.h"
@@ -84,8 +80,6 @@ static struct core_fns *sniff_core_bfd (
 
 static int gdb_check_format (bfd *);
 
-static void core_open (char *, int);
-
 static void core_close (struct target_ops *self);
 
 static void core_close_cleanup (void *ignore);
@@ -139,7 +133,7 @@ sniff_core_bfd (bfd *abfd)
 
   /* Don't sniff if we have support for register sets in
      CORE_GDBARCH.  */
-  if (core_gdbarch && gdbarch_regset_from_core_section_p (core_gdbarch))
+  if (core_gdbarch && gdbarch_iterate_over_regset_sections_p (core_gdbarch))
     return NULL;
 
   for (cf = core_file_fns; cf != NULL; cf = cf->next)
@@ -275,7 +269,7 @@ add_to_thread_list (bfd *abfd, asection 
 /* This routine opens and sets up the core file bfd.  */
 
 static void
-core_open (char *filename, int from_tty)
+core_open (const char *arg, int from_tty)
 {
   const char *p;
   int siggy;
@@ -285,9 +279,10 @@ core_open (char *filename, int from_tty)
   int scratch_chan;
   int flags;
   volatile struct gdb_exception except;
+  char *filename;
 
   target_preopen (from_tty);
-  if (!filename)
+  if (!arg)
     {
       if (core_bfd)
 	error (_("No core file specified.  (Use `detach' "
@@ -296,7 +291,7 @@ core_open (char *filename, int from_tty)
 	error (_("No core file specified."));
     }
 
-  filename = tilde_expand (filename);
+  filename = tilde_expand (arg);
   if (!IS_ABSOLUTE_PATH (filename))
     {
       temp = concat (current_directory, "/",
@@ -418,7 +413,7 @@ core_open (char *filename, int from_tty)
      sections.  */
   TRY_CATCH (except, RETURN_MASK_ERROR)
     {
-      target_find_new_threads ();
+      target_update_thread_list ();
     }
 
   if (except.reason < 0)
@@ -493,7 +488,9 @@ core_detach (struct target_ops *ops, con
 
 static void
 get_core_register_section (struct regcache *regcache,
+			   const struct regset *regset,
 			   const char *name,
+			   int min_size,
 			   int which,
 			   const char *human_name,
 			   int required)
@@ -521,6 +518,12 @@ get_core_register_section (struct regcac
     }
 
   size = bfd_section_size (core_bfd, section);
+  if (size < min_size)
+    {
+      warning (_("Section `%s' in core file too small."), section_name);
+      return;
+    }
+
   contents = alloca (size);
   if (! bfd_get_section_contents (core_bfd, section, contents,
 				  (file_ptr) 0, size))
@@ -530,20 +533,8 @@ get_core_register_section (struct regcac
       return;
     }
 
-  if (core_gdbarch && gdbarch_regset_from_core_section_p (core_gdbarch))
+  if (regset != NULL)
     {
-      const struct regset *regset;
-
-      regset = gdbarch_regset_from_core_section (core_gdbarch,
-						 name, size);
-      if (regset == NULL)
-	{
-	  if (required)
-	    warning (_("Couldn't recognize %s registers in core file."),
-		     human_name);
-	  return;
-	}
-
       regset->supply_regset (regset, regcache, -1, contents, size);
       return;
     }
@@ -554,6 +545,34 @@ get_core_register_section (struct regcac
 				  bfd_section_vma (core_bfd, section)));
 }
 
+/* Callback for get_core_registers that handles a single core file
+   register note section. */
+
+static void
+get_core_registers_cb (const char *sect_name, int size,
+		       const struct regset *regset,
+		       const char *human_name, void *cb_data)
+{
+  struct regcache *regcache = (struct regcache *) cb_data;
+  int required = 0;
+
+  if (strcmp (sect_name, ".reg") == 0)
+    {
+      required = 1;
+      if (human_name == NULL)
+	human_name = "general-purpose";
+    }
+  else if (strcmp (sect_name, ".reg2") == 0)
+    {
+      if (human_name == NULL)
+	human_name = "floating-point";
+    }
+
+  /* The 'which' parameter is only used when no regset is provided.
+     Thus we just set it to -1. */
+  get_core_register_section (regcache, regset, sect_name,
+			     size, -1, human_name, required);
+}
 
 /* Get the registers out of a core file.  This is the machine-
    independent part.  Fetch_core_registers is the machine-dependent
@@ -566,10 +585,10 @@ static void
 get_core_registers (struct target_ops *ops,
 		    struct regcache *regcache, int regno)
 {
-  struct core_regset_section *sect_list;
   int i;
+  struct gdbarch *gdbarch;
 
-  if (!(core_gdbarch && gdbarch_regset_from_core_section_p (core_gdbarch))
+  if (!(core_gdbarch && gdbarch_iterate_over_regset_sections_p (core_gdbarch))
       && (core_vec == NULL || core_vec->core_read_registers == NULL))
     {
       fprintf_filtered (gdb_stderr,
@@ -577,29 +596,17 @@ get_core_registers (struct target_ops *o
       return;
     }
 
-  sect_list = gdbarch_core_regset_sections (get_regcache_arch (regcache));
-  if (sect_list)
-    while (sect_list->sect_name != NULL)
-      {
-        if (strcmp (sect_list->sect_name, ".reg") == 0)
-	  get_core_register_section (regcache, sect_list->sect_name,
-				     0, sect_list->human_name, 1);
-        else if (strcmp (sect_list->sect_name, ".reg2") == 0)
-	  get_core_register_section (regcache, sect_list->sect_name,
-				     2, sect_list->human_name, 0);
-	else
-	  get_core_register_section (regcache, sect_list->sect_name,
-				     3, sect_list->human_name, 0);
-
-	sect_list++;
-      }
-
+  gdbarch = get_regcache_arch (regcache);
+  if (gdbarch_iterate_over_regset_sections_p (gdbarch))
+    gdbarch_iterate_over_regset_sections (gdbarch,
+					  get_core_registers_cb,
+					  (void *) regcache, NULL);
   else
     {
-      get_core_register_section (regcache,
-				 ".reg", 0, "general-purpose", 1);
-      get_core_register_section (regcache,
-				 ".reg2", 2, "floating-point", 0);
+      get_core_register_section (regcache, NULL,
+				 ".reg", 0, 0, "general-purpose", 1);
+      get_core_register_section (regcache, NULL,
+				 ".reg2", 0, 2, "floating-point", 0);
     }
 
   /* Mark all registers not found in the core as unavailable.  */
@@ -738,7 +745,7 @@ core_xfer_partial (struct target_ops *op
 
 	  size = bfd_section_size (core_bfd, section);
 	  if (offset >= size)
-	    return 0;
+	    return TARGET_XFER_EOF;
 	  size -= offset;
 	  if (size > len)
 	    size = len;
@@ -871,12 +878,10 @@ core_xfer_partial (struct target_ops *op
       return TARGET_XFER_E_IO;
 
     default:
-      if (ops->beneath != NULL)
-	return ops->beneath->to_xfer_partial (ops->beneath, object,
-					      annex, readbuf,
-					      writebuf, offset, len,
-					      xfered_len);
-      return TARGET_XFER_E_IO;
+      return ops->beneath->to_xfer_partial (ops->beneath, object,
+					    annex, readbuf,
+					    writebuf, offset, len,
+					    xfered_len);
     }
 }
 
@@ -949,7 +954,7 @@ core_pid_to_str (struct target_ops *ops,
 
   /* Otherwise, this isn't a "threaded" core -- use the PID field, but
      only if it isn't a fake PID.  */
-  inf = find_inferior_pid (ptid_get_pid (ptid));
+  inf = find_inferior_ptid (ptid);
   if (inf != NULL && !inf->fake_pid_p)
     return normal_pid_to_str (ptid);
 
@@ -979,7 +984,8 @@ core_has_registers (struct target_ops *o
 /* Implement the to_info_proc method.  */
 
 static void
-core_info_proc (struct target_ops *ops, char *args, enum info_proc_what request)
+core_info_proc (struct target_ops *ops, const char *args,
+		enum info_proc_what request)
 {
   struct gdbarch *gdbarch = get_current_arch ();
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/core-regset.c ./gdb/core-regset.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/core-regset.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/core-regset.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Machine independent GDB support for core files on systems using "regsets".
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -34,8 +34,6 @@
 #include "regcache.h"
 
 #include <fcntl.h>
-#include <errno.h>
-#include <string.h>
 #include <time.h>
 #ifdef HAVE_SYS_PROCFS_H
 #include <sys/procfs.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-abi.c ./gdb/cp-abi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-abi.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cp-abi.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generic code for supporting multiple C++ ABI's
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,12 +21,8 @@
 #include "value.h"
 #include "cp-abi.h"
 #include "command.h"
-#include "exceptions.h"
 #include "gdbcmd.h"
 #include "ui-out.h"
-#include "gdb_assert.h"
-#include <string.h>
-
 static struct cp_abi_ops *find_cp_abi (const char *short_name);
 
 static struct cp_abi_ops current_cp_abi = { "", NULL };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-abi.h ./gdb/cp-abi.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-abi.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cp-abi.h	2015-01-20 02:05:38.000000000 +0000
@@ -3,7 +3,7 @@
 
    Contributed by Daniel Berlin <dberlin@redhat.com>
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-name-parser.c ./gdb/cp-name-parser.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-name-parser.c	2015-01-13 02:06:40.000000000 +0000
+++ ./gdb/cp-name-parser.c	2015-01-20 02:09:33.000000000 +0000
@@ -73,16 +73,10 @@
 
 #include "defs.h"
 
-#include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
-#include <string.h>
-
 #include "safe-ctype.h"
-#include "libiberty.h"
 #include "demangle.h"
 #include "cp-support.h"
-#include "gdb_assert.h"
 
 /* Bison does not make it easy to create a parser without global
    state, unfortunately.  Here are all the global variables used
@@ -306,7 +300,7 @@ make_name (const char *name, int len)
 
 
 /* Line 189 of yacc.c  */
-#line 310 "cp-name-parser.c"
+#line 304 "cp-name-parser.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -445,7 +439,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 267 "cp-name-parser.y"
+#line 261 "cp-name-parser.y"
 
     struct demangle_component *comp;
     struct nested {
@@ -467,7 +461,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 471 "cp-name-parser.c"
+#line 465 "cp-name-parser.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -479,7 +473,7 @@ typedef union YYSTYPE
 
 
 /* Line 264 of yacc.c  */
-#line 483 "cp-name-parser.c"
+#line 477 "cp-name-parser.c"
 
 #ifdef short
 # undef short
@@ -844,26 +838,26 @@ static const yytype_int8 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   381,   381,   385,   387,   389,   394,   395,   402,   411,
-     414,   418,   421,   440,   444,   448,   454,   460,   466,   472,
-     474,   476,   478,   480,   482,   484,   486,   488,   490,   492,
-     494,   496,   498,   500,   502,   504,   506,   508,   510,   512,
-     514,   516,   518,   520,   522,   524,   526,   528,   536,   541,
-     546,   550,   555,   563,   564,   566,   578,   579,   585,   587,
-     588,   590,   593,   594,   597,   598,   602,   604,   607,   613,
-     620,   626,   637,   641,   644,   655,   656,   660,   662,   664,
-     667,   671,   676,   681,   687,   697,   701,   705,   713,   714,
-     717,   719,   721,   725,   726,   733,   735,   737,   739,   741,
-     743,   747,   748,   752,   754,   756,   758,   760,   762,   764,
-     768,   774,   778,   786,   796,   800,   816,   818,   819,   821,
-     824,   826,   827,   829,   832,   834,   836,   838,   843,   846,
-     851,   858,   862,   873,   879,   897,   900,   908,   910,   921,
-     928,   929,   935,   939,   943,   945,   950,   955,   968,   972,
-     977,   985,   990,   999,  1003,  1008,  1013,  1017,  1023,  1029,
-    1032,  1039,  1041,  1046,  1050,  1054,  1061,  1077,  1084,  1091,
-    1110,  1114,  1118,  1122,  1126,  1130,  1134,  1138,  1142,  1146,
-    1150,  1154,  1158,  1162,  1166,  1170,  1174,  1179,  1183,  1187,
-    1194,  1198,  1201,  1210,  1219
+       0,   375,   375,   379,   381,   383,   388,   389,   396,   405,
+     408,   412,   415,   434,   438,   442,   448,   454,   460,   466,
+     468,   470,   472,   474,   476,   478,   480,   482,   484,   486,
+     488,   490,   492,   494,   496,   498,   500,   502,   504,   506,
+     508,   510,   512,   514,   516,   518,   520,   522,   530,   535,
+     540,   544,   549,   557,   558,   560,   572,   573,   579,   581,
+     582,   584,   587,   588,   591,   592,   596,   598,   601,   607,
+     614,   620,   631,   635,   638,   649,   650,   654,   656,   658,
+     661,   665,   670,   675,   681,   691,   695,   699,   707,   708,
+     711,   713,   715,   719,   720,   727,   729,   731,   733,   735,
+     737,   741,   742,   746,   748,   750,   752,   754,   756,   758,
+     762,   768,   772,   780,   790,   794,   810,   812,   813,   815,
+     818,   820,   821,   823,   826,   828,   830,   832,   837,   840,
+     845,   852,   856,   867,   873,   891,   894,   902,   904,   915,
+     922,   923,   929,   933,   937,   939,   944,   949,   962,   966,
+     971,   979,   984,   993,   997,  1002,  1007,  1011,  1017,  1023,
+    1026,  1033,  1035,  1040,  1044,  1048,  1055,  1071,  1078,  1085,
+    1104,  1108,  1112,  1116,  1120,  1124,  1128,  1132,  1136,  1140,
+    1144,  1148,  1152,  1156,  1160,  1164,  1168,  1173,  1177,  1181,
+    1188,  1192,  1195,  1204,  1213
 };
 #endif
 
@@ -2143,28 +2137,28 @@ yyreduce:
         case 2:
 
 /* Line 1455 of yacc.c  */
-#line 382 "cp-name-parser.y"
+#line 376 "cp-name-parser.y"
     { global_result = (yyvsp[(1) - (1)].comp); }
     break;
 
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 394 "cp-name-parser.y"
+#line 388 "cp-name-parser.y"
     { (yyval.comp) = NULL; }
     break;
 
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 396 "cp-name-parser.y"
+#line 390 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 8:
 
 /* Line 1455 of yacc.c  */
-#line 403 "cp-name-parser.y"
+#line 397 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].nested).comp;
 			  *(yyvsp[(2) - (2)].nested).last = (yyvsp[(1) - (2)].comp);
 			}
@@ -2173,7 +2167,7 @@ yyreduce:
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 412 "cp-name-parser.y"
+#line 406 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (3)].comp), (yyvsp[(2) - (3)].nested).comp);
 			  if ((yyvsp[(3) - (3)].comp)) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(3) - (3)].comp)); }
     break;
@@ -2181,7 +2175,7 @@ yyreduce:
   case 10:
 
 /* Line 1455 of yacc.c  */
-#line 415 "cp-name-parser.y"
+#line 409 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (3)].comp), (yyvsp[(2) - (3)].nested).comp);
 			  if ((yyvsp[(3) - (3)].comp)) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(3) - (3)].comp)); }
     break;
@@ -2189,7 +2183,7 @@ yyreduce:
   case 11:
 
 /* Line 1455 of yacc.c  */
-#line 419 "cp-name-parser.y"
+#line 413 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(1) - (2)].nested).comp;
 			  if ((yyvsp[(2) - (2)].comp)) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(2) - (2)].comp)); }
     break;
@@ -2197,7 +2191,7 @@ yyreduce:
   case 12:
 
 /* Line 1455 of yacc.c  */
-#line 422 "cp-name-parser.y"
+#line 416 "cp-name-parser.y"
     { if ((yyvsp[(2) - (2)].abstract).last)
 			    {
 			       /* First complete the abstract_declarator's type using
@@ -2218,7 +2212,7 @@ yyreduce:
   case 13:
 
 /* Line 1455 of yacc.c  */
-#line 441 "cp-name-parser.y"
+#line 435 "cp-name-parser.y"
     { (yyval.comp) = make_empty ((yyvsp[(1) - (2)].lval));
 			  d_left ((yyval.comp)) = (yyvsp[(2) - (2)].comp);
 			  d_right ((yyval.comp)) = NULL; }
@@ -2227,14 +2221,14 @@ yyreduce:
   case 14:
 
 /* Line 1455 of yacc.c  */
-#line 445 "cp-name-parser.y"
+#line 439 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE, (yyvsp[(2) - (4)].comp), (yyvsp[(4) - (4)].comp)); }
     break;
 
   case 15:
 
 /* Line 1455 of yacc.c  */
-#line 449 "cp-name-parser.y"
+#line 443 "cp-name-parser.y"
     {
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
@@ -2245,7 +2239,7 @@ yyreduce:
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 455 "cp-name-parser.y"
+#line 449 "cp-name-parser.y"
     {
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
@@ -2256,7 +2250,7 @@ yyreduce:
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 461 "cp-name-parser.y"
+#line 455 "cp-name-parser.y"
     {
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
@@ -2267,7 +2261,7 @@ yyreduce:
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 467 "cp-name-parser.y"
+#line 461 "cp-name-parser.y"
     {
 			  /* Match the whitespacing of cplus_demangle_operators.
 			     It would abort on unrecognized string otherwise.  */
@@ -2278,217 +2272,217 @@ yyreduce:
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 473 "cp-name-parser.y"
+#line 467 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("+", 2); }
     break;
 
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 475 "cp-name-parser.y"
+#line 469 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("-", 2); }
     break;
 
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 477 "cp-name-parser.y"
+#line 471 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("*", 2); }
     break;
 
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 479 "cp-name-parser.y"
+#line 473 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("/", 2); }
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 481 "cp-name-parser.y"
+#line 475 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("%", 2); }
     break;
 
   case 24:
 
 /* Line 1455 of yacc.c  */
-#line 483 "cp-name-parser.y"
+#line 477 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("^", 2); }
     break;
 
   case 25:
 
 /* Line 1455 of yacc.c  */
-#line 485 "cp-name-parser.y"
+#line 479 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("&", 2); }
     break;
 
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 487 "cp-name-parser.y"
+#line 481 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("|", 2); }
     break;
 
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 489 "cp-name-parser.y"
+#line 483 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("~", 1); }
     break;
 
   case 28:
 
 /* Line 1455 of yacc.c  */
-#line 491 "cp-name-parser.y"
+#line 485 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("!", 1); }
     break;
 
   case 29:
 
 /* Line 1455 of yacc.c  */
-#line 493 "cp-name-parser.y"
+#line 487 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("=", 2); }
     break;
 
   case 30:
 
 /* Line 1455 of yacc.c  */
-#line 495 "cp-name-parser.y"
+#line 489 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("<", 2); }
     break;
 
   case 31:
 
 /* Line 1455 of yacc.c  */
-#line 497 "cp-name-parser.y"
+#line 491 "cp-name-parser.y"
     { (yyval.comp) = make_operator (">", 2); }
     break;
 
   case 32:
 
 /* Line 1455 of yacc.c  */
-#line 499 "cp-name-parser.y"
+#line 493 "cp-name-parser.y"
     { (yyval.comp) = make_operator ((yyvsp[(2) - (2)].opname), 2); }
     break;
 
   case 33:
 
 /* Line 1455 of yacc.c  */
-#line 501 "cp-name-parser.y"
+#line 495 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("<<", 2); }
     break;
 
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 503 "cp-name-parser.y"
+#line 497 "cp-name-parser.y"
     { (yyval.comp) = make_operator (">>", 2); }
     break;
 
   case 35:
 
 /* Line 1455 of yacc.c  */
-#line 505 "cp-name-parser.y"
+#line 499 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("==", 2); }
     break;
 
   case 36:
 
 /* Line 1455 of yacc.c  */
-#line 507 "cp-name-parser.y"
+#line 501 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("!=", 2); }
     break;
 
   case 37:
 
 /* Line 1455 of yacc.c  */
-#line 509 "cp-name-parser.y"
+#line 503 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("<=", 2); }
     break;
 
   case 38:
 
 /* Line 1455 of yacc.c  */
-#line 511 "cp-name-parser.y"
+#line 505 "cp-name-parser.y"
     { (yyval.comp) = make_operator (">=", 2); }
     break;
 
   case 39:
 
 /* Line 1455 of yacc.c  */
-#line 513 "cp-name-parser.y"
+#line 507 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("&&", 2); }
     break;
 
   case 40:
 
 /* Line 1455 of yacc.c  */
-#line 515 "cp-name-parser.y"
+#line 509 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("||", 2); }
     break;
 
   case 41:
 
 /* Line 1455 of yacc.c  */
-#line 517 "cp-name-parser.y"
+#line 511 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("++", 1); }
     break;
 
   case 42:
 
 /* Line 1455 of yacc.c  */
-#line 519 "cp-name-parser.y"
+#line 513 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("--", 1); }
     break;
 
   case 43:
 
 /* Line 1455 of yacc.c  */
-#line 521 "cp-name-parser.y"
+#line 515 "cp-name-parser.y"
     { (yyval.comp) = make_operator (",", 2); }
     break;
 
   case 44:
 
 /* Line 1455 of yacc.c  */
-#line 523 "cp-name-parser.y"
+#line 517 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("->*", 2); }
     break;
 
   case 45:
 
 /* Line 1455 of yacc.c  */
-#line 525 "cp-name-parser.y"
+#line 519 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("->", 2); }
     break;
 
   case 46:
 
 /* Line 1455 of yacc.c  */
-#line 527 "cp-name-parser.y"
+#line 521 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("()", 2); }
     break;
 
   case 47:
 
 /* Line 1455 of yacc.c  */
-#line 529 "cp-name-parser.y"
+#line 523 "cp-name-parser.y"
     { (yyval.comp) = make_operator ("[]", 2); }
     break;
 
   case 48:
 
 /* Line 1455 of yacc.c  */
-#line 537 "cp-name-parser.y"
+#line 531 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(2) - (2)].comp), NULL); }
     break;
 
   case 49:
 
 /* Line 1455 of yacc.c  */
-#line 542 "cp-name-parser.y"
+#line 536 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested1).comp;
 			  d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp);
 			  (yyval.nested).last = &d_left ((yyvsp[(2) - (2)].comp));
@@ -2498,7 +2492,7 @@ yyreduce:
   case 50:
 
 /* Line 1455 of yacc.c  */
-#line 547 "cp-name-parser.y"
+#line 541 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (1)].comp);
 			  (yyval.nested).last = &d_left ((yyvsp[(1) - (1)].comp));
 			}
@@ -2507,7 +2501,7 @@ yyreduce:
   case 51:
 
 /* Line 1455 of yacc.c  */
-#line 551 "cp-name-parser.y"
+#line 545 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(2) - (3)].nested1).comp;
 			  d_right ((yyvsp[(2) - (3)].nested1).last) = (yyvsp[(3) - (3)].comp);
 			  (yyval.nested).last = &d_left ((yyvsp[(3) - (3)].comp));
@@ -2517,7 +2511,7 @@ yyreduce:
   case 52:
 
 /* Line 1455 of yacc.c  */
-#line 556 "cp-name-parser.y"
+#line 550 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(2) - (2)].comp);
 			  (yyval.nested).last = &d_left ((yyvsp[(2) - (2)].comp));
 			}
@@ -2526,56 +2520,56 @@ yyreduce:
   case 54:
 
 /* Line 1455 of yacc.c  */
-#line 565 "cp-name-parser.y"
+#line 559 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, (yyvsp[(1) - (4)].comp), (yyvsp[(3) - (4)].nested).comp); }
     break;
 
   case 55:
 
 /* Line 1455 of yacc.c  */
-#line 567 "cp-name-parser.y"
+#line 561 "cp-name-parser.y"
     { (yyval.comp) = make_dtor (gnu_v3_complete_object_dtor, (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 57:
 
 /* Line 1455 of yacc.c  */
-#line 580 "cp-name-parser.y"
+#line 574 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 586 "cp-name-parser.y"
+#line 580 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(1) - (2)].nested1).comp; d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 60:
 
 /* Line 1455 of yacc.c  */
-#line 589 "cp-name-parser.y"
+#line 583 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(1) - (2)].nested1).comp; d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 599 "cp-name-parser.y"
+#line 593 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 603 "cp-name-parser.y"
+#line 597 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(1) - (2)].nested1).comp; d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 608 "cp-name-parser.y"
+#line 602 "cp-name-parser.y"
     { (yyval.nested1).comp = make_empty (DEMANGLE_COMPONENT_QUAL_NAME);
 			  d_left ((yyval.nested1).comp) = (yyvsp[(1) - (2)].comp);
 			  d_right ((yyval.nested1).comp) = NULL;
@@ -2586,7 +2580,7 @@ yyreduce:
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 614 "cp-name-parser.y"
+#line 608 "cp-name-parser.y"
     { (yyval.nested1).comp = (yyvsp[(1) - (3)].nested1).comp;
 			  d_right ((yyvsp[(1) - (3)].nested1).last) = make_empty (DEMANGLE_COMPONENT_QUAL_NAME);
 			  (yyval.nested1).last = d_right ((yyvsp[(1) - (3)].nested1).last);
@@ -2598,7 +2592,7 @@ yyreduce:
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 621 "cp-name-parser.y"
+#line 615 "cp-name-parser.y"
     { (yyval.nested1).comp = make_empty (DEMANGLE_COMPONENT_QUAL_NAME);
 			  d_left ((yyval.nested1).comp) = (yyvsp[(1) - (2)].comp);
 			  d_right ((yyval.nested1).comp) = NULL;
@@ -2609,7 +2603,7 @@ yyreduce:
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 627 "cp-name-parser.y"
+#line 621 "cp-name-parser.y"
     { (yyval.nested1).comp = (yyvsp[(1) - (3)].nested1).comp;
 			  d_right ((yyvsp[(1) - (3)].nested1).last) = make_empty (DEMANGLE_COMPONENT_QUAL_NAME);
 			  (yyval.nested1).last = d_right ((yyvsp[(1) - (3)].nested1).last);
@@ -2621,14 +2615,14 @@ yyreduce:
   case 72:
 
 /* Line 1455 of yacc.c  */
-#line 638 "cp-name-parser.y"
+#line 632 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, (yyvsp[(1) - (4)].comp), (yyvsp[(3) - (4)].nested).comp); }
     break;
 
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 642 "cp-name-parser.y"
+#line 636 "cp-name-parser.y"
     { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, (yyvsp[(1) - (1)].comp), NULL);
 			(yyval.nested).last = &d_right ((yyval.nested).comp); }
     break;
@@ -2636,7 +2630,7 @@ yyreduce:
   case 74:
 
 /* Line 1455 of yacc.c  */
-#line 645 "cp-name-parser.y"
+#line 639 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (3)].nested).comp;
 			  *(yyvsp[(1) - (3)].nested).last = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, (yyvsp[(3) - (3)].comp), NULL);
 			  (yyval.nested).last = &d_right (*(yyvsp[(1) - (3)].nested).last);
@@ -2646,7 +2640,7 @@ yyreduce:
   case 76:
 
 /* Line 1455 of yacc.c  */
-#line 657 "cp-name-parser.y"
+#line 651 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].abstract).comp;
 			  *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(1) - (2)].comp);
 			}
@@ -2655,21 +2649,21 @@ yyreduce:
   case 77:
 
 /* Line 1455 of yacc.c  */
-#line 661 "cp-name-parser.y"
+#line 655 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 78:
 
 /* Line 1455 of yacc.c  */
-#line 663 "cp-name-parser.y"
+#line 657 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(3) - (4)].comp)); }
     break;
 
   case 80:
 
 /* Line 1455 of yacc.c  */
-#line 668 "cp-name-parser.y"
+#line 662 "cp-name-parser.y"
     { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(1) - (1)].comp), NULL);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
 			}
@@ -2678,7 +2672,7 @@ yyreduce:
   case 81:
 
 /* Line 1455 of yacc.c  */
-#line 672 "cp-name-parser.y"
+#line 666 "cp-name-parser.y"
     { *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(1) - (2)].comp);
 			  (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(2) - (2)].abstract).comp, NULL);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
@@ -2688,7 +2682,7 @@ yyreduce:
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 677 "cp-name-parser.y"
+#line 671 "cp-name-parser.y"
     { *(yyvsp[(1) - (3)].nested).last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(3) - (3)].comp), NULL);
 			  (yyval.nested).comp = (yyvsp[(1) - (3)].nested).comp;
 			  (yyval.nested).last = &d_right (*(yyvsp[(1) - (3)].nested).last);
@@ -2698,7 +2692,7 @@ yyreduce:
   case 83:
 
 /* Line 1455 of yacc.c  */
-#line 682 "cp-name-parser.y"
+#line 676 "cp-name-parser.y"
     { *(yyvsp[(4) - (4)].abstract).last = (yyvsp[(3) - (4)].comp);
 			  *(yyvsp[(1) - (4)].nested).last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(4) - (4)].abstract).comp, NULL);
 			  (yyval.nested).comp = (yyvsp[(1) - (4)].nested).comp;
@@ -2709,7 +2703,7 @@ yyreduce:
   case 84:
 
 /* Line 1455 of yacc.c  */
-#line 688 "cp-name-parser.y"
+#line 682 "cp-name-parser.y"
     { *(yyvsp[(1) - (3)].nested).last
 			    = fill_comp (DEMANGLE_COMPONENT_ARGLIST,
 					   make_builtin_type ("..."),
@@ -2722,7 +2716,7 @@ yyreduce:
   case 85:
 
 /* Line 1455 of yacc.c  */
-#line 698 "cp-name-parser.y"
+#line 692 "cp-name-parser.y"
     { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, (yyvsp[(2) - (4)].nested).comp);
 			  (yyval.nested).last = &d_left ((yyval.nested).comp);
 			  (yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 1); }
@@ -2731,7 +2725,7 @@ yyreduce:
   case 86:
 
 /* Line 1455 of yacc.c  */
-#line 702 "cp-name-parser.y"
+#line 696 "cp-name-parser.y"
     { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
 			  (yyval.nested).last = &d_left ((yyval.nested).comp);
 			  (yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 1); }
@@ -2740,7 +2734,7 @@ yyreduce:
   case 87:
 
 /* Line 1455 of yacc.c  */
-#line 706 "cp-name-parser.y"
+#line 700 "cp-name-parser.y"
     { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
 			  (yyval.nested).last = &d_left ((yyval.nested).comp);
 			  (yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(3) - (3)].lval), 1); }
@@ -2749,140 +2743,140 @@ yyreduce:
   case 88:
 
 /* Line 1455 of yacc.c  */
-#line 713 "cp-name-parser.y"
+#line 707 "cp-name-parser.y"
     { (yyval.lval) = 0; }
     break;
 
   case 90:
 
 /* Line 1455 of yacc.c  */
-#line 718 "cp-name-parser.y"
+#line 712 "cp-name-parser.y"
     { (yyval.lval) = QUAL_RESTRICT; }
     break;
 
   case 91:
 
 /* Line 1455 of yacc.c  */
-#line 720 "cp-name-parser.y"
+#line 714 "cp-name-parser.y"
     { (yyval.lval) = QUAL_VOLATILE; }
     break;
 
   case 92:
 
 /* Line 1455 of yacc.c  */
-#line 722 "cp-name-parser.y"
+#line 716 "cp-name-parser.y"
     { (yyval.lval) = QUAL_CONST; }
     break;
 
   case 94:
 
 /* Line 1455 of yacc.c  */
-#line 727 "cp-name-parser.y"
+#line 721 "cp-name-parser.y"
     { (yyval.lval) = (yyvsp[(1) - (2)].lval) | (yyvsp[(2) - (2)].lval); }
     break;
 
   case 95:
 
 /* Line 1455 of yacc.c  */
-#line 734 "cp-name-parser.y"
+#line 728 "cp-name-parser.y"
     { (yyval.lval) = 0; }
     break;
 
   case 96:
 
 /* Line 1455 of yacc.c  */
-#line 736 "cp-name-parser.y"
+#line 730 "cp-name-parser.y"
     { (yyval.lval) = INT_SIGNED; }
     break;
 
   case 97:
 
 /* Line 1455 of yacc.c  */
-#line 738 "cp-name-parser.y"
+#line 732 "cp-name-parser.y"
     { (yyval.lval) = INT_UNSIGNED; }
     break;
 
   case 98:
 
 /* Line 1455 of yacc.c  */
-#line 740 "cp-name-parser.y"
+#line 734 "cp-name-parser.y"
     { (yyval.lval) = INT_CHAR; }
     break;
 
   case 99:
 
 /* Line 1455 of yacc.c  */
-#line 742 "cp-name-parser.y"
+#line 736 "cp-name-parser.y"
     { (yyval.lval) = INT_LONG; }
     break;
 
   case 100:
 
 /* Line 1455 of yacc.c  */
-#line 744 "cp-name-parser.y"
+#line 738 "cp-name-parser.y"
     { (yyval.lval) = INT_SHORT; }
     break;
 
   case 102:
 
 /* Line 1455 of yacc.c  */
-#line 749 "cp-name-parser.y"
+#line 743 "cp-name-parser.y"
     { (yyval.lval) = (yyvsp[(1) - (2)].lval) | (yyvsp[(2) - (2)].lval); if ((yyvsp[(1) - (2)].lval) & (yyvsp[(2) - (2)].lval) & INT_LONG) (yyval.lval) = (yyvsp[(1) - (2)].lval) | INT_LLONG; }
     break;
 
   case 103:
 
 /* Line 1455 of yacc.c  */
-#line 753 "cp-name-parser.y"
+#line 747 "cp-name-parser.y"
     { (yyval.comp) = d_int_type ((yyvsp[(1) - (1)].lval)); }
     break;
 
   case 104:
 
 /* Line 1455 of yacc.c  */
-#line 755 "cp-name-parser.y"
+#line 749 "cp-name-parser.y"
     { (yyval.comp) = make_builtin_type ("float"); }
     break;
 
   case 105:
 
 /* Line 1455 of yacc.c  */
-#line 757 "cp-name-parser.y"
+#line 751 "cp-name-parser.y"
     { (yyval.comp) = make_builtin_type ("double"); }
     break;
 
   case 106:
 
 /* Line 1455 of yacc.c  */
-#line 759 "cp-name-parser.y"
+#line 753 "cp-name-parser.y"
     { (yyval.comp) = make_builtin_type ("long double"); }
     break;
 
   case 107:
 
 /* Line 1455 of yacc.c  */
-#line 761 "cp-name-parser.y"
+#line 755 "cp-name-parser.y"
     { (yyval.comp) = make_builtin_type ("bool"); }
     break;
 
   case 108:
 
 /* Line 1455 of yacc.c  */
-#line 763 "cp-name-parser.y"
+#line 757 "cp-name-parser.y"
     { (yyval.comp) = make_builtin_type ("wchar_t"); }
     break;
 
   case 109:
 
 /* Line 1455 of yacc.c  */
-#line 765 "cp-name-parser.y"
+#line 759 "cp-name-parser.y"
     { (yyval.comp) = make_builtin_type ("void"); }
     break;
 
   case 110:
 
 /* Line 1455 of yacc.c  */
-#line 769 "cp-name-parser.y"
+#line 763 "cp-name-parser.y"
     { (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_POINTER);
 			  (yyval.nested).comp->u.s_binary.left = (yyval.nested).comp->u.s_binary.right = NULL;
 			  (yyval.nested).last = &d_left ((yyval.nested).comp);
@@ -2892,7 +2886,7 @@ yyreduce:
   case 111:
 
 /* Line 1455 of yacc.c  */
-#line 775 "cp-name-parser.y"
+#line 769 "cp-name-parser.y"
     { (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_REFERENCE);
 			  (yyval.nested).comp->u.s_binary.left = (yyval.nested).comp->u.s_binary.right = NULL;
 			  (yyval.nested).last = &d_left ((yyval.nested).comp); }
@@ -2901,7 +2895,7 @@ yyreduce:
   case 112:
 
 /* Line 1455 of yacc.c  */
-#line 779 "cp-name-parser.y"
+#line 773 "cp-name-parser.y"
     { (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_PTRMEM_TYPE);
 			  (yyval.nested).comp->u.s_binary.left = (yyvsp[(1) - (3)].nested1).comp;
 			  /* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME.  */
@@ -2914,7 +2908,7 @@ yyreduce:
   case 113:
 
 /* Line 1455 of yacc.c  */
-#line 787 "cp-name-parser.y"
+#line 781 "cp-name-parser.y"
     { (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_PTRMEM_TYPE);
 			  (yyval.nested).comp->u.s_binary.left = (yyvsp[(2) - (4)].nested1).comp;
 			  /* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME.  */
@@ -2927,7 +2921,7 @@ yyreduce:
   case 114:
 
 /* Line 1455 of yacc.c  */
-#line 797 "cp-name-parser.y"
+#line 791 "cp-name-parser.y"
     { (yyval.comp) = make_empty (DEMANGLE_COMPONENT_ARRAY_TYPE);
 			  d_left ((yyval.comp)) = NULL;
 			}
@@ -2936,7 +2930,7 @@ yyreduce:
   case 115:
 
 /* Line 1455 of yacc.c  */
-#line 801 "cp-name-parser.y"
+#line 795 "cp-name-parser.y"
     { (yyval.comp) = make_empty (DEMANGLE_COMPONENT_ARRAY_TYPE);
 			  d_left ((yyval.comp)) = (yyvsp[(2) - (3)].comp);
 			}
@@ -2945,77 +2939,77 @@ yyreduce:
   case 116:
 
 /* Line 1455 of yacc.c  */
-#line 817 "cp-name-parser.y"
+#line 811 "cp-name-parser.y"
     { (yyval.comp) = d_qualify ((yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].lval), 0); }
     break;
 
   case 118:
 
 /* Line 1455 of yacc.c  */
-#line 820 "cp-name-parser.y"
+#line 814 "cp-name-parser.y"
     { (yyval.comp) = d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval), 0); }
     break;
 
   case 119:
 
 /* Line 1455 of yacc.c  */
-#line 822 "cp-name-parser.y"
+#line 816 "cp-name-parser.y"
     { (yyval.comp) = d_qualify ((yyvsp[(2) - (2)].comp), (yyvsp[(1) - (2)].lval), 0); }
     break;
 
   case 120:
 
 /* Line 1455 of yacc.c  */
-#line 825 "cp-name-parser.y"
+#line 819 "cp-name-parser.y"
     { (yyval.comp) = d_qualify ((yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].lval), 0); }
     break;
 
   case 122:
 
 /* Line 1455 of yacc.c  */
-#line 828 "cp-name-parser.y"
+#line 822 "cp-name-parser.y"
     { (yyval.comp) = d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval), 0); }
     break;
 
   case 123:
 
 /* Line 1455 of yacc.c  */
-#line 830 "cp-name-parser.y"
+#line 824 "cp-name-parser.y"
     { (yyval.comp) = d_qualify ((yyvsp[(2) - (2)].comp), (yyvsp[(1) - (2)].lval), 0); }
     break;
 
   case 124:
 
 /* Line 1455 of yacc.c  */
-#line 833 "cp-name-parser.y"
+#line 827 "cp-name-parser.y"
     { (yyval.comp) = d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(3) - (3)].lval), 0); }
     break;
 
   case 125:
 
 /* Line 1455 of yacc.c  */
-#line 835 "cp-name-parser.y"
+#line 829 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].comp); }
     break;
 
   case 126:
 
 /* Line 1455 of yacc.c  */
-#line 837 "cp-name-parser.y"
+#line 831 "cp-name-parser.y"
     { (yyval.comp) = d_qualify ((yyvsp[(3) - (4)].comp), (yyvsp[(1) - (4)].lval) | (yyvsp[(4) - (4)].lval), 0); }
     break;
 
   case 127:
 
 /* Line 1455 of yacc.c  */
-#line 839 "cp-name-parser.y"
+#line 833 "cp-name-parser.y"
     { (yyval.comp) = d_qualify ((yyvsp[(3) - (3)].comp), (yyvsp[(1) - (3)].lval), 0); }
     break;
 
   case 128:
 
 /* Line 1455 of yacc.c  */
-#line 844 "cp-name-parser.y"
+#line 838 "cp-name-parser.y"
     { (yyval.abstract).comp = (yyvsp[(1) - (1)].nested).comp; (yyval.abstract).last = (yyvsp[(1) - (1)].nested).last;
 			  (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; }
     break;
@@ -3023,7 +3017,7 @@ yyreduce:
   case 129:
 
 /* Line 1455 of yacc.c  */
-#line 847 "cp-name-parser.y"
+#line 841 "cp-name-parser.y"
     { (yyval.abstract) = (yyvsp[(2) - (2)].abstract); (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL;
 			  if ((yyvsp[(2) - (2)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(2) - (2)].abstract).fn.last; *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(2) - (2)].abstract).fn.comp; }
 			  *(yyval.abstract).last = (yyvsp[(1) - (2)].nested).comp;
@@ -3033,7 +3027,7 @@ yyreduce:
   case 130:
 
 /* Line 1455 of yacc.c  */
-#line 852 "cp-name-parser.y"
+#line 846 "cp-name-parser.y"
     { (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL;
 			  if ((yyvsp[(1) - (1)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (1)].abstract).fn.last; *(yyvsp[(1) - (1)].abstract).last = (yyvsp[(1) - (1)].abstract).fn.comp; }
 			}
@@ -3042,7 +3036,7 @@ yyreduce:
   case 131:
 
 /* Line 1455 of yacc.c  */
-#line 859 "cp-name-parser.y"
+#line 853 "cp-name-parser.y"
     { (yyval.abstract) = (yyvsp[(2) - (3)].abstract); (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).fold_flag = 1;
 			  if ((yyvsp[(2) - (3)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(2) - (3)].abstract).fn.last; *(yyvsp[(2) - (3)].abstract).last = (yyvsp[(2) - (3)].abstract).fn.comp; }
 			}
@@ -3051,7 +3045,7 @@ yyreduce:
   case 132:
 
 /* Line 1455 of yacc.c  */
-#line 863 "cp-name-parser.y"
+#line 857 "cp-name-parser.y"
     { (yyval.abstract).fold_flag = 0;
 			  if ((yyvsp[(1) - (2)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (2)].abstract).fn.last; *(yyvsp[(1) - (2)].abstract).last = (yyvsp[(1) - (2)].abstract).fn.comp; }
 			  if ((yyvsp[(1) - (2)].abstract).fold_flag)
@@ -3067,7 +3061,7 @@ yyreduce:
   case 133:
 
 /* Line 1455 of yacc.c  */
-#line 874 "cp-name-parser.y"
+#line 868 "cp-name-parser.y"
     { (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).fold_flag = 0;
 			  if ((yyvsp[(1) - (2)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (2)].abstract).fn.last; *(yyvsp[(1) - (2)].abstract).last = (yyvsp[(1) - (2)].abstract).fn.comp; }
 			  *(yyvsp[(1) - (2)].abstract).last = (yyvsp[(2) - (2)].comp);
@@ -3078,7 +3072,7 @@ yyreduce:
   case 134:
 
 /* Line 1455 of yacc.c  */
-#line 880 "cp-name-parser.y"
+#line 874 "cp-name-parser.y"
     { (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).fold_flag = 0;
 			  (yyval.abstract).comp = (yyvsp[(1) - (1)].comp);
 			  (yyval.abstract).last = &d_right ((yyvsp[(1) - (1)].comp));
@@ -3088,7 +3082,7 @@ yyreduce:
   case 135:
 
 /* Line 1455 of yacc.c  */
-#line 898 "cp-name-parser.y"
+#line 892 "cp-name-parser.y"
     { (yyval.abstract).comp = (yyvsp[(1) - (1)].nested).comp; (yyval.abstract).last = (yyvsp[(1) - (1)].nested).last;
 			  (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).start = NULL; }
     break;
@@ -3096,7 +3090,7 @@ yyreduce:
   case 136:
 
 /* Line 1455 of yacc.c  */
-#line 901 "cp-name-parser.y"
+#line 895 "cp-name-parser.y"
     { (yyval.abstract) = (yyvsp[(2) - (2)].abstract);
 			  if ((yyvsp[(2) - (2)].abstract).last)
 			    *(yyval.abstract).last = (yyvsp[(1) - (2)].nested).comp;
@@ -3109,14 +3103,14 @@ yyreduce:
   case 137:
 
 /* Line 1455 of yacc.c  */
-#line 909 "cp-name-parser.y"
+#line 903 "cp-name-parser.y"
     { (yyval.abstract).comp = (yyvsp[(1) - (1)].abstract).comp; (yyval.abstract).last = (yyvsp[(1) - (1)].abstract).last; (yyval.abstract).fn = (yyvsp[(1) - (1)].abstract).fn; (yyval.abstract).start = NULL; }
     break;
 
   case 138:
 
 /* Line 1455 of yacc.c  */
-#line 911 "cp-name-parser.y"
+#line 905 "cp-name-parser.y"
     { (yyval.abstract).start = (yyvsp[(4) - (4)].comp);
 			  if ((yyvsp[(1) - (4)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (4)].abstract).fn.last; *(yyvsp[(1) - (4)].abstract).last = (yyvsp[(1) - (4)].abstract).fn.comp; }
 			  if ((yyvsp[(1) - (4)].abstract).fold_flag)
@@ -3132,7 +3126,7 @@ yyreduce:
   case 139:
 
 /* Line 1455 of yacc.c  */
-#line 922 "cp-name-parser.y"
+#line 916 "cp-name-parser.y"
     { (yyval.abstract).fn = (yyvsp[(1) - (2)].nested);
 			  (yyval.abstract).start = (yyvsp[(2) - (2)].comp);
 			  (yyval.abstract).comp = NULL; (yyval.abstract).last = NULL;
@@ -3142,7 +3136,7 @@ yyreduce:
   case 141:
 
 /* Line 1455 of yacc.c  */
-#line 930 "cp-name-parser.y"
+#line 924 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (2)].abstract).comp;
 			  *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(1) - (2)].comp);
 			}
@@ -3151,7 +3145,7 @@ yyreduce:
   case 142:
 
 /* Line 1455 of yacc.c  */
-#line 936 "cp-name-parser.y"
+#line 930 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(2) - (2)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(1) - (2)].nested).last;
 			  *(yyvsp[(2) - (2)].nested).last = (yyvsp[(1) - (2)].nested).comp; }
@@ -3160,14 +3154,14 @@ yyreduce:
   case 144:
 
 /* Line 1455 of yacc.c  */
-#line 944 "cp-name-parser.y"
+#line 938 "cp-name-parser.y"
     { (yyval.nested) = (yyvsp[(2) - (3)].nested); }
     break;
 
   case 145:
 
 /* Line 1455 of yacc.c  */
-#line 946 "cp-name-parser.y"
+#line 940 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp;
 			  *(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(2) - (2)].nested).last;
@@ -3177,7 +3171,7 @@ yyreduce:
   case 146:
 
 /* Line 1455 of yacc.c  */
-#line 951 "cp-name-parser.y"
+#line 945 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp;
 			  *(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].comp);
 			  (yyval.nested).last = &d_right ((yyvsp[(2) - (2)].comp));
@@ -3187,7 +3181,7 @@ yyreduce:
   case 147:
 
 /* Line 1455 of yacc.c  */
-#line 956 "cp-name-parser.y"
+#line 950 "cp-name-parser.y"
     { (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_TYPED_NAME);
 			  d_left ((yyval.nested).comp) = (yyvsp[(1) - (1)].comp);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
@@ -3197,7 +3191,7 @@ yyreduce:
   case 148:
 
 /* Line 1455 of yacc.c  */
-#line 969 "cp-name-parser.y"
+#line 963 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(2) - (2)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(1) - (2)].nested).last;
 			  *(yyvsp[(2) - (2)].nested).last = (yyvsp[(1) - (2)].nested).comp; }
@@ -3206,7 +3200,7 @@ yyreduce:
   case 149:
 
 /* Line 1455 of yacc.c  */
-#line 973 "cp-name-parser.y"
+#line 967 "cp-name-parser.y"
     { (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_TYPED_NAME);
 			  d_left ((yyval.nested).comp) = (yyvsp[(1) - (1)].comp);
 			  (yyval.nested).last = &d_right ((yyval.nested).comp);
@@ -3216,7 +3210,7 @@ yyreduce:
   case 151:
 
 /* Line 1455 of yacc.c  */
-#line 986 "cp-name-parser.y"
+#line 980 "cp-name-parser.y"
     { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (4)].comp), (yyvsp[(2) - (4)].nested).comp);
 			  (yyval.nested).last = (yyvsp[(2) - (4)].nested).last;
 			  (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.nested).comp, (yyvsp[(4) - (4)].comp));
@@ -3226,7 +3220,7 @@ yyreduce:
   case 152:
 
 /* Line 1455 of yacc.c  */
-#line 991 "cp-name-parser.y"
+#line 985 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (4)].nested).comp;
 			  *(yyvsp[(1) - (4)].nested).last = (yyvsp[(2) - (4)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(2) - (4)].nested).last;
@@ -3237,7 +3231,7 @@ yyreduce:
   case 153:
 
 /* Line 1455 of yacc.c  */
-#line 1000 "cp-name-parser.y"
+#line 994 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(3) - (4)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(2) - (4)].nested).last;
 			  *(yyvsp[(3) - (4)].nested).last = (yyvsp[(2) - (4)].nested).comp; }
@@ -3246,7 +3240,7 @@ yyreduce:
   case 154:
 
 /* Line 1455 of yacc.c  */
-#line 1004 "cp-name-parser.y"
+#line 998 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp;
 			  *(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].nested).comp;
 			  (yyval.nested).last = (yyvsp[(2) - (2)].nested).last;
@@ -3256,7 +3250,7 @@ yyreduce:
   case 155:
 
 /* Line 1455 of yacc.c  */
-#line 1009 "cp-name-parser.y"
+#line 1003 "cp-name-parser.y"
     { (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp;
 			  *(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].comp);
 			  (yyval.nested).last = &d_right ((yyvsp[(2) - (2)].comp));
@@ -3266,7 +3260,7 @@ yyreduce:
   case 156:
 
 /* Line 1455 of yacc.c  */
-#line 1014 "cp-name-parser.y"
+#line 1008 "cp-name-parser.y"
     { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].nested).comp);
 			  (yyval.nested).last = (yyvsp[(2) - (2)].nested).last;
 			}
@@ -3275,7 +3269,7 @@ yyreduce:
   case 157:
 
 /* Line 1455 of yacc.c  */
-#line 1018 "cp-name-parser.y"
+#line 1012 "cp-name-parser.y"
     { (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].comp));
 			  (yyval.nested).last = &d_right ((yyvsp[(2) - (2)].comp));
 			}
@@ -3284,56 +3278,56 @@ yyreduce:
   case 158:
 
 /* Line 1455 of yacc.c  */
-#line 1024 "cp-name-parser.y"
+#line 1018 "cp-name-parser.y"
     { (yyval.comp) = (yyvsp[(2) - (3)].comp); }
     break;
 
   case 160:
 
 /* Line 1455 of yacc.c  */
-#line 1033 "cp-name-parser.y"
+#line 1027 "cp-name-parser.y"
     { (yyval.comp) = d_binary (">", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 161:
 
 /* Line 1455 of yacc.c  */
-#line 1040 "cp-name-parser.y"
+#line 1034 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 162:
 
 /* Line 1455 of yacc.c  */
-#line 1042 "cp-name-parser.y"
+#line 1036 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(3) - (4)].comp)); }
     break;
 
   case 163:
 
 /* Line 1455 of yacc.c  */
-#line 1047 "cp-name-parser.y"
+#line 1041 "cp-name-parser.y"
     { (yyval.comp) = d_unary ("-", (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 164:
 
 /* Line 1455 of yacc.c  */
-#line 1051 "cp-name-parser.y"
+#line 1045 "cp-name-parser.y"
     { (yyval.comp) = d_unary ("!", (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 165:
 
 /* Line 1455 of yacc.c  */
-#line 1055 "cp-name-parser.y"
+#line 1049 "cp-name-parser.y"
     { (yyval.comp) = d_unary ("~", (yyvsp[(2) - (2)].comp)); }
     break;
 
   case 166:
 
 /* Line 1455 of yacc.c  */
-#line 1062 "cp-name-parser.y"
+#line 1056 "cp-name-parser.y"
     { if ((yyvsp[(4) - (4)].comp)->type == DEMANGLE_COMPONENT_LITERAL
 		      || (yyvsp[(4) - (4)].comp)->type == DEMANGLE_COMPONENT_LITERAL_NEG)
 		    {
@@ -3350,7 +3344,7 @@ yyreduce:
   case 167:
 
 /* Line 1455 of yacc.c  */
-#line 1078 "cp-name-parser.y"
+#line 1072 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY,
 				    fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL),
 				    (yyvsp[(6) - (7)].comp));
@@ -3360,7 +3354,7 @@ yyreduce:
   case 168:
 
 /* Line 1455 of yacc.c  */
-#line 1085 "cp-name-parser.y"
+#line 1079 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY,
 				    fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL),
 				    (yyvsp[(6) - (7)].comp));
@@ -3370,7 +3364,7 @@ yyreduce:
   case 169:
 
 /* Line 1455 of yacc.c  */
-#line 1092 "cp-name-parser.y"
+#line 1086 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY,
 				    fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL),
 				    (yyvsp[(6) - (7)].comp));
@@ -3380,140 +3374,140 @@ yyreduce:
   case 170:
 
 /* Line 1455 of yacc.c  */
-#line 1111 "cp-name-parser.y"
+#line 1105 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("*", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 171:
 
 /* Line 1455 of yacc.c  */
-#line 1115 "cp-name-parser.y"
+#line 1109 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("/", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 172:
 
 /* Line 1455 of yacc.c  */
-#line 1119 "cp-name-parser.y"
+#line 1113 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("%", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 173:
 
 /* Line 1455 of yacc.c  */
-#line 1123 "cp-name-parser.y"
+#line 1117 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("+", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 174:
 
 /* Line 1455 of yacc.c  */
-#line 1127 "cp-name-parser.y"
+#line 1121 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("-", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 175:
 
 /* Line 1455 of yacc.c  */
-#line 1131 "cp-name-parser.y"
+#line 1125 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("<<", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 176:
 
 /* Line 1455 of yacc.c  */
-#line 1135 "cp-name-parser.y"
+#line 1129 "cp-name-parser.y"
     { (yyval.comp) = d_binary (">>", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 177:
 
 /* Line 1455 of yacc.c  */
-#line 1139 "cp-name-parser.y"
+#line 1133 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("==", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 178:
 
 /* Line 1455 of yacc.c  */
-#line 1143 "cp-name-parser.y"
+#line 1137 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("!=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 179:
 
 /* Line 1455 of yacc.c  */
-#line 1147 "cp-name-parser.y"
+#line 1141 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("<=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 180:
 
 /* Line 1455 of yacc.c  */
-#line 1151 "cp-name-parser.y"
+#line 1145 "cp-name-parser.y"
     { (yyval.comp) = d_binary (">=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 181:
 
 /* Line 1455 of yacc.c  */
-#line 1155 "cp-name-parser.y"
+#line 1149 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("<", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 182:
 
 /* Line 1455 of yacc.c  */
-#line 1159 "cp-name-parser.y"
+#line 1153 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("&", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 183:
 
 /* Line 1455 of yacc.c  */
-#line 1163 "cp-name-parser.y"
+#line 1157 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("^", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 184:
 
 /* Line 1455 of yacc.c  */
-#line 1167 "cp-name-parser.y"
+#line 1161 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("|", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 185:
 
 /* Line 1455 of yacc.c  */
-#line 1171 "cp-name-parser.y"
+#line 1165 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("&&", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 186:
 
 /* Line 1455 of yacc.c  */
-#line 1175 "cp-name-parser.y"
+#line 1169 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("||", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 187:
 
 /* Line 1455 of yacc.c  */
-#line 1180 "cp-name-parser.y"
+#line 1174 "cp-name-parser.y"
     { (yyval.comp) = d_binary ("->", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 188:
 
 /* Line 1455 of yacc.c  */
-#line 1184 "cp-name-parser.y"
+#line 1178 "cp-name-parser.y"
     { (yyval.comp) = d_binary (".", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); }
     break;
 
   case 189:
 
 /* Line 1455 of yacc.c  */
-#line 1188 "cp-name-parser.y"
+#line 1182 "cp-name-parser.y"
     { (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TRINARY, make_operator ("?", 3),
 				    fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG1, (yyvsp[(1) - (5)].comp),
 						 fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG2, (yyvsp[(3) - (5)].comp), (yyvsp[(5) - (5)].comp))));
@@ -3523,7 +3517,7 @@ yyreduce:
   case 192:
 
 /* Line 1455 of yacc.c  */
-#line 1202 "cp-name-parser.y"
+#line 1196 "cp-name-parser.y"
     {
 		  /* Match the whitespacing of cplus_demangle_operators.
 		     It would abort on unrecognized string otherwise.  */
@@ -3534,7 +3528,7 @@ yyreduce:
   case 193:
 
 /* Line 1455 of yacc.c  */
-#line 1211 "cp-name-parser.y"
+#line 1205 "cp-name-parser.y"
     { struct demangle_component *i;
 		  i = make_name ("1", 1);
 		  (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LITERAL,
@@ -3546,7 +3540,7 @@ yyreduce:
   case 194:
 
 /* Line 1455 of yacc.c  */
-#line 1220 "cp-name-parser.y"
+#line 1214 "cp-name-parser.y"
     { struct demangle_component *i;
 		  i = make_name ("0", 1);
 		  (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LITERAL,
@@ -3558,7 +3552,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 3563 "cp-name-parser.c"
+#line 3557 "cp-name-parser.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3770,7 +3764,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 1230 "cp-name-parser.y"
+#line 1224 "cp-name-parser.y"
 
 
 /* Apply QUALIFIERS to LHS and return a qualified component.  IS_METHOD
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-name-parser.y ./gdb/cp-name-parser.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-name-parser.y	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cp-name-parser.y	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* YACC parser for C++ names, for GDB.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Parts of the lexer are based on c-exp.y from GDB.
 
@@ -31,16 +31,10 @@
 
 #include "defs.h"
 
-#include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
-#include <string.h>
-
 #include "safe-ctype.h"
-#include "libiberty.h"
 #include "demangle.h"
 #include "cp-support.h"
-#include "gdb_assert.h"
 
 /* Bison does not make it easy to create a parser without global
    state, unfortunately.  Here are all the global variables used
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-namespace.c ./gdb/cp-namespace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-namespace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cp-namespace.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Helper routines for C++ support in GDB.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by David Carlton and by Kealia, Inc.
 
@@ -23,7 +23,6 @@
 #include "gdb_obstack.h"
 #include "symtab.h"
 #include "symfile.h"
-#include "gdb_assert.h"
 #include "block.h"
 #include "objfiles.h"
 #include "gdbtypes.h"
@@ -33,17 +32,12 @@
 #include "buildsym.h"
 #include "language.h"
 
-static struct symbol *lookup_namespace_scope (const char *name,
-					      const struct block *block,
-					      const domain_enum domain,
-					      const char *scope,
-					      int scope_len);
-
-static struct symbol *lookup_symbol_file (const char *name,
-					  const struct block *block,
-					  const domain_enum domain,
-					  int anonymous_namespace,
-					  int search);
+static struct symbol *
+  cp_lookup_nested_symbol_1 (struct type *container_type,
+			     const char *nested_name,
+			     const char *concatenated_name,
+			     const struct block *block,
+			     int basic_lookup);
 
 static struct type *cp_lookup_transparent_type_loop (const char *name,
 						     const char *scope,
@@ -65,7 +59,7 @@ cp_scan_for_anonymous_namespaces (const 
       /* Start with a quick-and-dirty check for mention of "(anonymous
 	 namespace)".  */
 
-      if (!cp_is_anonymous (name))
+      if (!cp_is_in_anonymous (name))
 	return;
 
       previous_component = 0;
@@ -108,7 +102,6 @@ cp_scan_for_anonymous_namespaces (const 
     }
 }
 
-
 /* Add a using directive to using_directives.  If the using directive
    in question has already been added, don't add it twice.
 
@@ -134,7 +127,7 @@ cp_add_using_directive (const char *dest
 {
   struct using_direct *current;
   struct using_direct *new;
-  
+
   /* Has it already been added?  */
 
   for (current = using_directives; current != NULL; current = current->next)
@@ -209,62 +202,223 @@ cp_add_using_directive (const char *dest
    namespace; return nonzero if so.  */
 
 int
-cp_is_anonymous (const char *namespace)
+cp_is_in_anonymous (const char *symbol_name)
 {
-  return (strstr (namespace, CP_ANONYMOUS_NAMESPACE_STR)
+  return (strstr (symbol_name, CP_ANONYMOUS_NAMESPACE_STR)
 	  != NULL);
 }
 
-/* The C++-specific version of name lookup for static and global
-   names.  This makes sure that names get looked for in all namespaces
-   that are in scope.  NAME is the natural name of the symbol that
-   we're looking for, BLOCK is the block that we're searching within,
-   DOMAIN says what kind of symbols we're looking for, and if SYMTAB
-   is non-NULL, we should store the symtab where we found the symbol
-   in it.  */
+/* Look up NAME in DOMAIN in BLOCK's static block and in global blocks.
+   If ANONYMOUS_NAMESPACE is nonzero, the symbol in question is located
+   within an anonymous namespace.  */
 
-struct symbol *
-cp_lookup_symbol_nonlocal (const char *name,
-			   const struct block *block,
-			   const domain_enum domain)
+static struct symbol *
+cp_basic_lookup_symbol (const char *name, const struct block *block,
+			const domain_enum domain, int anonymous_namespace)
 {
   struct symbol *sym;
-  const char *scope = block_scope (block);
 
-  sym = lookup_namespace_scope (name, block,
-				domain, scope, 0);
+  sym = lookup_symbol_in_static_block (name, block, domain);
   if (sym != NULL)
     return sym;
 
-  return cp_lookup_symbol_namespace (scope, name,
-				     block, domain);
+  if (anonymous_namespace)
+    {
+      /* Symbols defined in anonymous namespaces have external linkage
+	 but should be treated as local to a single file nonetheless.
+	 So we only search the current file's global block.  */
+
+      const struct block *global_block = block_global_block (block);
+
+      if (global_block != NULL)
+	sym = lookup_symbol_in_block (name, global_block, domain);
+    }
+  else
+    {
+      sym = lookup_global_symbol (name, block, domain);
+    }
+
+  return sym;
 }
 
-/* Look up NAME in the C++ namespace NAMESPACE.  Other arguments are
-   as in cp_lookup_symbol_nonlocal.  If SEARCH is non-zero, search
-   through base classes for a matching symbol.  */
+/* Search bare symbol NAME in DOMAIN in BLOCK.
+   NAME is guaranteed to not have any scope (no "::") in its name, though
+   if for example NAME is a template spec then "::" may appear in the
+   argument list.
+   If LANGDEF is non-NULL then try to lookup NAME as a primitive type in
+   that language.  Normally we wouldn't need LANGDEF but fortran also uses
+   this code.
+   If SEARCH is non-zero then see if we can determine "this" from BLOCK, and
+   if so then also search for NAME in that class.  */
 
 static struct symbol *
-cp_lookup_symbol_in_namespace (const char *namespace,
-                               const char *name,
-                               const struct block *block,
-                               const domain_enum domain, int search)
+cp_lookup_bare_symbol (const struct language_defn *langdef,
+		       const char *name, const struct block *block,
+		       const domain_enum domain, int search)
 {
-  if (namespace[0] == '\0')
+  struct symbol *sym;
+
+  /* Note: We can't do a simple assert for ':' not being in NAME because
+     ':' may be in the args of a template spec.  This isn't intended to be
+     a complete test, just cheap and documentary.  */
+  if (strchr (name, '<') == NULL && strchr (name, '(') == NULL)
+    gdb_assert (strchr (name, ':') == NULL);
+
+  sym = lookup_symbol_in_static_block (name, block, domain);
+  if (sym != NULL)
+    return sym;
+
+  /* If we didn't find a definition for a builtin type in the static block,
+     search for it now.  This is actually the right thing to do and can be
+     a massive performance win.  E.g., when debugging a program with lots of
+     shared libraries we could search all of them only to find out the
+     builtin type isn't defined in any of them.  This is common for types
+     like "void".  */
+  if (langdef != NULL && domain == VAR_DOMAIN)
     {
-      return lookup_symbol_file (name, block, domain, 0, search);
+      struct gdbarch *gdbarch;
+
+      if (block == NULL)
+	gdbarch = target_gdbarch ();
+      else
+	gdbarch = block_gdbarch (block);
+      sym = language_lookup_primitive_type_as_symbol (langdef, gdbarch, name);
+      if (sym != NULL)
+	return sym;
     }
-  else
+
+  sym = lookup_global_symbol (name, block, domain);
+  if (sym != NULL)
+    return sym;
+
+  if (search)
     {
-      char *concatenated_name = alloca (strlen (namespace) + 2
-					+ strlen (name) + 1);
+      struct symbol *this;
+      struct type *type;
+
+      this = lookup_language_this (language_def (language_cplus), block);
+      if (this == NULL)
+	return NULL;
+
+      type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (this)));
+      /* If TYPE_NAME is NULL, abandon trying to find this symbol.
+	 This can happen for lambda functions compiled with clang++,
+	 which outputs no name for the container class.  */
+      if (TYPE_NAME (type) == NULL)
+	return NULL;
+
+      /* Look for a symbol named NESTED in this class.  */
+      sym = cp_lookup_nested_symbol (type, name, block);
+    }
+
+  return sym;
+}
+
+/* Search NAME in DOMAIN in all static blocks, and then in all baseclasses.
+   BLOCK specifies the context in which to perform the search.
+   NAME is guaranteed to have scope (contain "::") and PREFIX_LEN specifies
+   then length the entire scope of NAME (up to, but not including, the last
+   "::".
+
+   Note: At least in the case of Fortran, which also uses this code, there
+   may be no text after the last "::".  */
 
+static struct symbol *
+cp_search_static_and_baseclasses (const char *name,
+				  const struct block *block,
+				  const domain_enum domain,
+				  unsigned int prefix_len)
+{
+  struct symbol *sym;
+  char *klass, *nested;
+  struct cleanup *cleanup;
+  struct symbol *klass_sym;
+  struct type *klass_type;
+
+  /* The test here uses <= instead of < because Fortran also uses this,
+     and the module.exp testcase will pass "modmany::" for NAME here.  */
+  gdb_assert (prefix_len + 2 <= strlen (name));
+  gdb_assert (name[prefix_len + 1] == ':');
+
+  /* Find the name of the class and the name of the method, variable, etc.  */
+
+  /* The class name is everything up to and including PREFIX_LEN.  */
+  klass = savestring (name, prefix_len);
+
+  /* The rest of the name is everything else past the initial scope
+     operator.  */
+  nested = xstrdup (name + prefix_len + 2);
+
+  /* Add cleanups to free memory for these strings.  */
+  cleanup = make_cleanup (xfree, klass);
+  make_cleanup (xfree, nested);
+
+  /* Lookup a class named KLASS.  If none is found, there is nothing
+     more that can be done.  */
+  klass_sym = lookup_global_symbol (klass, block, domain);
+  if (klass_sym == NULL)
+    {
+      do_cleanups (cleanup);
+      return NULL;
+    }
+  klass_type = SYMBOL_TYPE (klass_sym);
+
+  /* Look for a symbol named NESTED in this class.
+     The caller is assumed to have already have done a basic lookup of NAME.
+     So we pass zero for BASIC_LOOKUP to cp_lookup_nested_symbol_1 here.  */
+  sym = cp_lookup_nested_symbol_1 (klass_type, nested, name, block, 0);
+
+  do_cleanups (cleanup);
+  return sym;
+}
+
+/* Look up NAME in the C++ namespace NAMESPACE.  Other arguments are
+   as in cp_lookup_symbol_nonlocal.  If SEARCH is non-zero, search
+   through base classes for a matching symbol.
+
+   Note: Part of the complexity is because NAME may itself specify scope.
+   Part of the complexity is also because this handles the case where
+   there is no scoping in which case we also try looking in the class of
+   "this" if we can compute it.  */
+
+static struct symbol *
+cp_lookup_symbol_in_namespace (const char *namespace, const char *name,
+			       const struct block *block,
+			       const domain_enum domain, int search)
+{
+  char *concatenated_name = NULL;
+  int is_in_anonymous;
+  unsigned int prefix_len;
+  struct symbol *sym;
+
+  if (namespace[0] != '\0')
+    {
+      concatenated_name = alloca (strlen (namespace) + 2
+				  + strlen (name) + 1);
       strcpy (concatenated_name, namespace);
       strcat (concatenated_name, "::");
       strcat (concatenated_name, name);
-      return lookup_symbol_file (concatenated_name, block, domain,
-				 cp_is_anonymous (namespace), search);
+      name = concatenated_name;
     }
+
+  prefix_len = cp_entire_prefix_len (name);
+  if (prefix_len == 0)
+    return cp_lookup_bare_symbol (NULL, name, block, domain, search);
+
+  /* This would be simpler if we just called cp_lookup_nested_symbol
+     at this point.  But that would require first looking up the containing
+     class/namespace.  Since we're only searching static and global blocks
+     there's often no need to first do that lookup.  */
+
+  is_in_anonymous = namespace[0] != '\0' && cp_is_in_anonymous (namespace);
+  sym = cp_basic_lookup_symbol (name, block, domain, is_in_anonymous);
+  if (sym != NULL)
+    return sym;
+
+  if (search)
+    sym = cp_search_static_and_baseclasses (name, block, domain, prefix_len);
+
+  return sym;
 }
 
 /* Used for cleanups to reset the "searched" flag incase
@@ -300,15 +454,19 @@ reset_directive_searched (void *data)
 
    If SCOPE is "A::B" and SEARCH_PARENTS is true the imports of
    namespaces X and Y will be considered.  If SEARCH_PARENTS is false
-   only the import of Y is considered.  */
+   only the import of Y is considered.
 
-struct symbol *
-cp_lookup_symbol_imports (const char *scope,
-                          const char *name,
-                          const struct block *block,
-                          const domain_enum domain,
-                          const int declaration_only,
-                          const int search_parents)
+   SEARCH_SCOPE_FIRST is an internal implementation detail: Callers must
+   pass 0 for it.  Internally we pass 1 when recursing.  */
+
+static struct symbol *
+cp_lookup_symbol_via_imports (const char *scope,
+			      const char *name,
+			      const struct block *block,
+			      const domain_enum domain,
+			      const int search_scope_first,
+			      const int declaration_only,
+			      const int search_parents)
 {
   struct using_direct *current;
   struct symbol *sym = NULL;
@@ -316,11 +474,11 @@ cp_lookup_symbol_imports (const char *sc
   int directive_match;
   struct cleanup *searched_cleanup;
 
-  /* First, try to find the symbol in the given namespace.  */
-  if (!declaration_only)
+  /* First, try to find the symbol in the given namespace if requested.  */
+  if (search_scope_first)
     sym = cp_lookup_symbol_in_namespace (scope, name,
 					 block, domain, 1);
-  
+
   if (sym != NULL)
     return sym;
 
@@ -404,9 +562,9 @@ cp_lookup_symbol_imports (const char *sc
 	      /* If this import statement creates no alias, pass
 		 current->inner as NAMESPACE to direct the search
 		 towards the imported namespace.  */
-	      sym = cp_lookup_symbol_imports (current->import_src,
-					      name, block,
-					      domain, 0, 0);
+	      sym = cp_lookup_symbol_via_imports (current->import_src,
+						  name, block,
+						  domain, 1, 0, 0);
 	    }
 	  current->searched = 0;
 	  discard_cleanups (searched_cleanup);
@@ -437,7 +595,7 @@ search_symbol_list (const char *name, in
   return NULL;
 }
 
-/* Like cp_lookup_symbol_imports, but if BLOCK is a function, it
+/* Like cp_lookup_symbol_via_imports, but if BLOCK is a function, it
    searches through the template parameters of the function and the
    function's type.  */
 
@@ -448,21 +606,39 @@ cp_lookup_symbol_imports_or_template (co
 				      const domain_enum domain)
 {
   struct symbol *function = BLOCK_FUNCTION (block);
+  struct symbol *result;
+
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "cp_lookup_symbol_imports_or_template"
+			  " (%s, %s, %s, %s)\n",
+			  scope, name, host_address_to_string (block),
+			  domain_name (domain));
+    }
 
   if (function != NULL && SYMBOL_LANGUAGE (function) == language_cplus)
     {
       /* Search the function's template parameters.  */
       if (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION (function))
 	{
-	  struct template_symbol *templ 
+	  struct template_symbol *templ
 	    = (struct template_symbol *) function;
-	  struct symbol *result;
 
 	  result = search_symbol_list (name,
 				       templ->n_template_arguments,
 				       templ->template_arguments);
 	  if (result != NULL)
-	    return result;
+	    {
+	      if (symbol_lookup_debug)
+		{
+		  fprintf_unfiltered (gdb_stdlog,
+				      "cp_lookup_symbol_imports_or_template"
+				      " (...) = %s\n",
+				      host_address_to_string (result));
+		}
+	      return result;
+	    }
 	}
 
       /* Search the template parameters of the function's defining
@@ -473,13 +649,11 @@ cp_lookup_symbol_imports_or_template (co
 	  char *name_copy = xstrdup (SYMBOL_NATURAL_NAME (function));
 	  struct cleanup *cleanups = make_cleanup (xfree, name_copy);
 	  const struct language_defn *lang = language_def (language_cplus);
-	  struct gdbarch *arch
-	    = get_objfile_arch (SYMBOL_SYMTAB (function)->objfile);
+	  struct gdbarch *arch = symbol_arch (function);
 	  const struct block *parent = BLOCK_SUPERBLOCK (block);
 
 	  while (1)
 	    {
-	      struct symbol *result;
 	      unsigned int prefix_len = cp_entire_prefix_len (name_copy);
 
 	      if (prefix_len == 0)
@@ -502,6 +676,13 @@ cp_lookup_symbol_imports_or_template (co
 	      if (result != NULL)
 		{
 		  do_cleanups (cleanups);
+		  if (symbol_lookup_debug)
+		    {
+		      fprintf_unfiltered (gdb_stdlog,
+					  "cp_lookup_symbol_imports_or_template"
+					  " (...) = %s\n",
+					  host_address_to_string (result));
+		    }
 		  return result;
 		}
 	    }
@@ -510,35 +691,31 @@ cp_lookup_symbol_imports_or_template (co
 	}
     }
 
-  return cp_lookup_symbol_imports (scope, name, block, domain, 1, 1);
+  result = cp_lookup_symbol_via_imports (scope, name, block, domain, 0, 1, 1);
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "cp_lookup_symbol_imports_or_template (...) = %s\n",
+			  result != NULL
+			  ? host_address_to_string (result) : "NULL");
+    }
+  return result;
 }
 
- /* Searches for NAME in the current namespace, and by applying
-    relevant import statements belonging to BLOCK and its parents.
-    SCOPE is the namespace scope of the context in which the search is
-    being evaluated.  */
+/* Search for NAME by applying relevant import statements belonging to BLOCK
+   and its parents.  SCOPE is the namespace scope of the context in which the
+   search is being evaluated.  */
 
-struct symbol*
-cp_lookup_symbol_namespace (const char *scope,
-                            const char *name,
-                            const struct block *block,
-                            const domain_enum domain)
+static struct symbol *
+cp_lookup_symbol_via_all_imports (const char *scope, const char *name,
+				  const struct block *block,
+				  const domain_enum domain)
 {
   struct symbol *sym;
-  
-  /* First, try to find the symbol in the given namespace.  */
-  sym = cp_lookup_symbol_in_namespace (scope, name,
-				       block, domain, 1);
-  if (sym != NULL)
-    return sym;
 
-  /* Search for name in namespaces imported to this and parent
-     blocks.  */
   while (block != NULL)
     {
-      sym = cp_lookup_symbol_imports (scope, name, block,
-				      domain, 0, 1);
-
+      sym = cp_lookup_symbol_via_imports (scope, name, block, domain, 0, 0, 1);
       if (sym)
 	return sym;
 
@@ -548,6 +725,43 @@ cp_lookup_symbol_namespace (const char *
   return NULL;
 }
 
+/* Searches for NAME in the current namespace, and by applying
+   relevant import statements belonging to BLOCK and its parents.
+   SCOPE is the namespace scope of the context in which the search is
+   being evaluated.  */
+
+struct symbol *
+cp_lookup_symbol_namespace (const char *scope,
+                            const char *name,
+                            const struct block *block,
+                            const domain_enum domain)
+{
+  struct symbol *sym;
+
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "cp_lookup_symbol_namespace (%s, %s, %s, %s)\n",
+			  scope, name, host_address_to_string (block),
+			  domain_name (domain));
+    }
+
+  /* First, try to find the symbol in the given namespace.  */
+  sym = cp_lookup_symbol_in_namespace (scope, name, block, domain, 1);
+
+  /* Search for name in namespaces imported to this and parent blocks.  */
+  if (sym == NULL)
+    sym = cp_lookup_symbol_via_all_imports (scope, name, block, domain);
+
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "cp_lookup_symbol_namespace (...) = %s\n",
+			  sym != NULL ? host_address_to_string (sym) : "NULL");
+    }
+  return sym;
+}
+
 /* Lookup NAME at namespace scope (or, in C terms, in static and
    global variables).  SCOPE is the namespace that the current
    function is defined within; only consider namespaces whose length
@@ -564,7 +778,8 @@ cp_lookup_symbol_namespace (const char *
    "x".  */
 
 static struct symbol *
-lookup_namespace_scope (const char *name,
+lookup_namespace_scope (const struct language_defn *langdef,
+			const char *name,
 			const struct block *block,
 			const domain_enum domain,
 			const char *scope,
@@ -586,14 +801,25 @@ lookup_namespace_scope (const char *name
 	  new_scope_len += 2;
 	}
       new_scope_len += cp_find_first_component (scope + new_scope_len);
-      sym = lookup_namespace_scope (name, block, domain,
+      sym = lookup_namespace_scope (langdef, name, block, domain,
 				    scope, new_scope_len);
       if (sym != NULL)
 	return sym;
     }
 
   /* Okay, we didn't find a match in our children, so look for the
-     name in the current namespace.  */
+     name in the current namespace.
+
+     If we there is no scope and we know we have a bare symbol, then short
+     circuit everything and call cp_lookup_bare_symbol directly.
+     This isn't an optimization, rather it allows us to pass LANGDEF which
+     is needed for primitive type lookup.  The test doesn't have to be
+     perfect: if NAME is a bare symbol that our test doesn't catch (e.g., a
+     template symbol with "::" in the argument list) then
+     cp_lookup_symbol_in_namespace will catch it.  */
+
+  if (scope_len == 0 && strchr (name, ':') == NULL)
+    return cp_lookup_bare_symbol (langdef, name, block, domain, 1);
 
   namespace = alloca (scope_len + 1);
   strncpy (namespace, scope, scope_len);
@@ -602,109 +828,44 @@ lookup_namespace_scope (const char *name
 					block, domain, 1);
 }
 
-/* Look up NAME in BLOCK's static block and in global blocks.  If
-   ANONYMOUS_NAMESPACE is nonzero, the symbol in question is located
-   within an anonymous namespace.  If SEARCH is non-zero, search through
-   base classes for a matching symbol.  Other arguments are as in
-   cp_lookup_symbol_nonlocal.  */
+/* The C++-specific version of name lookup for static and global
+   names.  This makes sure that names get looked for in all namespaces
+   that are in scope.  NAME is the natural name of the symbol that
+   we're looking for, BLOCK is the block that we're searching within,
+   DOMAIN says what kind of symbols we're looking for.  */
 
-static struct symbol *
-lookup_symbol_file (const char *name,
-		    const struct block *block,
-		    const domain_enum domain,
-		    int anonymous_namespace, int search)
+struct symbol *
+cp_lookup_symbol_nonlocal (const struct language_defn *langdef,
+			   const char *name,
+			   const struct block *block,
+			   const domain_enum domain)
 {
-  struct symbol *sym = NULL;
-
-  sym = lookup_symbol_static (name, block, domain);
-  if (sym != NULL)
-    return sym;
-
-  if (anonymous_namespace)
-    {
-      /* Symbols defined in anonymous namespaces have external linkage
-	 but should be treated as local to a single file nonetheless.
-	 So we only search the current file's global block.  */
+  struct symbol *sym;
+  const char *scope = block_scope (block);
 
-      const struct block *global_block = block_global_block (block);
-      
-      if (global_block != NULL)
-	sym = lookup_symbol_aux_block (name, global_block, domain);
-    }
-  else
+  if (symbol_lookup_debug)
     {
-      sym = lookup_symbol_global (name, block, domain);
+      fprintf_unfiltered (gdb_stdlog,
+			  "cp_lookup_symbol_non_local"
+			  " (%s, %s (scope %s), %s)\n",
+			  name, host_address_to_string (block), scope,
+			  domain_name (domain));
     }
 
-  if (sym != NULL)
-    return sym;
+  /* First, try to find the symbol in the given namespace, and all
+     containing namespaces.  */
+  sym = lookup_namespace_scope (langdef, name, block, domain, scope, 0);
+
+  /* Search for name in namespaces imported to this and parent blocks.  */
+  if (sym == NULL)
+    sym = cp_lookup_symbol_via_all_imports (scope, name, block, domain);
 
-  if (search)
+  if (symbol_lookup_debug)
     {
-      char *klass, *nested;
-      unsigned int prefix_len;
-      struct cleanup *cleanup;
-      struct symbol *klass_sym;
-
-      /* A simple lookup failed.  Check if the symbol was defined in
-	 a base class.  */
-
-      cleanup = make_cleanup (null_cleanup, NULL);
-
-      /* Find the name of the class and the name of the method,
-	 variable, etc.  */
-      prefix_len = cp_entire_prefix_len (name);
-
-      /* If no prefix was found, search "this".  */
-      if (prefix_len == 0)
-	{
-	  struct type *type;
-	  struct symbol *this;
-
-	  this = lookup_language_this (language_def (language_cplus), block);
-	  if (this == NULL)
-	    {
-	      do_cleanups (cleanup);
-	      return NULL;
-	    }
-
-	  type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (this)));
-	  /* If TYPE_NAME is NULL, abandon trying to find this symbol.
-	     This can happen for lambda functions compiled with clang++,
-	     which outputs no name for the container class.  */
-	  if (TYPE_NAME (type) == NULL)
-	    return NULL;
-	  klass = xstrdup (TYPE_NAME (type));
-	  nested = xstrdup (name);
-	}
-      else
-	{
-	  /* The class name is everything up to and including PREFIX_LEN.  */
-	  klass = savestring (name, prefix_len);
-
-	  /* The rest of the name is everything else past the initial scope
-	     operator.  */
-	  nested = xstrdup (name + prefix_len + 2);
-	}
-
-      /* Add cleanups to free memory for these strings.  */
-      make_cleanup (xfree, klass);
-      make_cleanup (xfree, nested);
-
-      /* Lookup a class named KLASS.  If none is found, there is nothing
-	 more that can be done.  */
-      klass_sym = lookup_symbol_global (klass, block, domain);
-      if (klass_sym == NULL)
-	{
-	  do_cleanups (cleanup);
-	  return NULL;
-	}
-
-      /* Look for a symbol named NESTED in this class.  */
-      sym = cp_lookup_nested_symbol (SYMBOL_TYPE (klass_sym), nested, block);
-      do_cleanups (cleanup);
+      fprintf_unfiltered (gdb_stdlog,
+			  "cp_lookup_symbol_nonlocal (...) = %s\n",
+			  sym != NULL ? host_address_to_string (sym) : "NULL");
     }
-
   return sym;
 }
 
@@ -712,7 +873,7 @@ lookup_symbol_file (const char *name,
    named NAME and return its type.  If not found, return NULL.  */
 
 struct type *
-find_type_baseclass_by_name (struct type *parent_type, const char *name)
+cp_find_type_baseclass_by_name (struct type *parent_type, const char *name)
 {
   int i;
 
@@ -728,7 +889,7 @@ find_type_baseclass_by_name (struct type
       if (streq (base_name, name))
 	return type;
 
-      type = find_type_baseclass_by_name (type, name);
+      type = cp_find_type_baseclass_by_name (type, name);
       if (type != NULL)
 	return type;
     }
@@ -751,6 +912,7 @@ find_symbol_in_baseclass (struct type *p
   sym = NULL;
   concatenated_name = NULL;
   cleanup = make_cleanup (free_current_contents, &concatenated_name);
+
   for (i = 0; i < TYPE_N_BASECLASSES (parent_type); ++i)
     {
       size_t len;
@@ -760,58 +922,108 @@ find_symbol_in_baseclass (struct type *p
       if (base_name == NULL)
 	continue;
 
-      /* Search this particular base class.  */
-      sym = cp_lookup_symbol_in_namespace (base_name, name, block,
-					   VAR_DOMAIN, 0);
-      if (sym != NULL)
-	break;
-
-      /* Now search all static file-level symbols.  We have to do this for
-	 things like typedefs in the class.  First search in this symtab,
-	 what we want is possibly there.  */
       len = strlen (base_name) + 2 + strlen (name) + 1;
       concatenated_name = xrealloc (concatenated_name, len);
       xsnprintf (concatenated_name, len, "%s::%s", base_name, name);
-      sym = lookup_symbol_static (concatenated_name, block, VAR_DOMAIN);
-      if (sym != NULL)
-	break;
 
-      /* Nope.  We now have to search all static blocks in all objfiles,
-	 even if block != NULL, because there's no guarantees as to which
-	 symtab the symbol we want is in.  */
-      sym = lookup_static_symbol_aux (concatenated_name, VAR_DOMAIN);
+      sym = cp_lookup_nested_symbol_1 (base_type, name, concatenated_name,
+				       block, 1);
       if (sym != NULL)
 	break;
-
-      /* If this class has base classes, search them next.  */
-      CHECK_TYPEDEF (base_type);
-      if (TYPE_N_BASECLASSES (base_type) > 0)
-	{
-	  sym = find_symbol_in_baseclass (base_type, name, block);
-	  if (sym != NULL)
-	    break;
-	}
     }
 
   do_cleanups (cleanup);
   return sym;
 }
 
+/* Helper function to look up NESTED_NAME in CONTAINER_TYPE within the
+   context of BLOCK.
+   CONTAINER_TYPE needn't have been "check_typedef'd" yet.
+   CONCATENATED_NAME is the fully scoped spelling of NESTED_NAME, it is
+   passed as an argument so that callers can control how space for it is
+   allocated.
+   If BASIC_LOOKUP is non-zero then perform a basic lookup of
+   CONCATENATED_NAME.  See cp_basic_lookup_symbol for details.  */
+
+static struct symbol *
+cp_lookup_nested_symbol_1 (struct type *container_type,
+			   const char *nested_name,
+			   const char *concatenated_name,
+			   const struct block *block,
+			   int basic_lookup)
+{
+  int is_in_anonymous = cp_is_in_anonymous (concatenated_name);
+  struct symbol *sym;
+
+  /* NOTE: carlton/2003-11-10: We don't treat C++ class members
+     of classes like, say, data or function members.  Instead,
+     they're just represented by symbols whose names are
+     qualified by the name of the surrounding class.  This is
+     just like members of namespaces; in particular,
+     cp_basic_lookup_symbol works when looking them up.  */
+
+  if (basic_lookup)
+    {
+      sym = cp_basic_lookup_symbol (concatenated_name, block, VAR_DOMAIN,
+				    is_in_anonymous);
+      if (sym != NULL)
+	return sym;
+    }
+
+  /* Now search all static file-level symbols.  We have to do this for things
+     like typedefs in the class.  We do not try to guess any imported
+     namespace as even the fully specified namespace search is already not
+     C++ compliant and more assumptions could make it too magic.  */
+
+  /* First search in this symtab, what we want is possibly there.  */
+  sym = lookup_symbol_in_static_block (concatenated_name, block, VAR_DOMAIN);
+  if (sym != NULL)
+    return sym;
+
+  /* Nope.  We now have to search all static blocks in all objfiles,
+     even if block != NULL, because there's no guarantees as to which
+     symtab the symbol we want is in.  */
+  sym = lookup_static_symbol (concatenated_name, VAR_DOMAIN);
+  if (sym != NULL)
+    return sym;
+
+  /* If this is a class with baseclasses, search them next.  */
+  CHECK_TYPEDEF (container_type);
+  if (TYPE_N_BASECLASSES (container_type) > 0)
+    {
+      sym = find_symbol_in_baseclass (container_type, nested_name, block);
+      if (sym != NULL)
+	return sym;
+    }
+
+  return NULL;
+}
+
 /* Look up a symbol named NESTED_NAME that is nested inside the C++
    class or namespace given by PARENT_TYPE, from within the context
-   given by BLOCK.  Return NULL if there is no such nested type.  */
+   given by BLOCK.  Return NULL if there is no such nested symbol.  */
 
 struct symbol *
 cp_lookup_nested_symbol (struct type *parent_type,
 			 const char *nested_name,
 			 const struct block *block)
 {
-  /* type_name_no_tag_required provides better error reporting using the
+  /* type_name_no_tag_or_error provides better error reporting using the
      original type.  */
   struct type *saved_parent_type = parent_type;
 
   CHECK_TYPEDEF (parent_type);
 
+  if (symbol_lookup_debug)
+    {
+      const char *type_name = type_name_no_tag (saved_parent_type);
+
+      fprintf_unfiltered (gdb_stdlog,
+			  "cp_lookup_nested_symbol (%s, %s, %s)\n",
+			  type_name != NULL ? type_name : "unnamed",
+			  nested_name, host_address_to_string (block));
+    }
+
   switch (TYPE_CODE (parent_type))
     {
     case TYPE_CODE_STRUCT:
@@ -823,44 +1035,37 @@ cp_lookup_nested_symbol (struct type *pa
        function pointer la_lookup_symbol_nonlocal, which ends up here.  */
     case TYPE_CODE_MODULE:
       {
-	/* NOTE: carlton/2003-11-10: We don't treat C++ class members
-	   of classes like, say, data or function members.  Instead,
-	   they're just represented by symbols whose names are
-	   qualified by the name of the surrounding class.  This is
-	   just like members of namespaces; in particular,
-	   lookup_symbol_namespace works when looking them up.  */
-
 	int size;
 	const char *parent_name = type_name_no_tag_or_error (saved_parent_type);
-	struct symbol *sym
-	  = cp_lookup_symbol_in_namespace (parent_name, nested_name,
-					   block, VAR_DOMAIN, 0);
+	struct symbol *sym;
 	char *concatenated_name;
 
-	if (sym != NULL)
-	  return sym;
-
-	/* Now search all static file-level symbols.  We have to do this
-	   for things like typedefs in the class.  We do not try to
-	   guess any imported namespace as even the fully specified
-	   namespace search is already not C++ compliant and more
-	   assumptions could make it too magic.  */
-
 	size = strlen (parent_name) + 2 + strlen (nested_name) + 1;
 	concatenated_name = alloca (size);
 	xsnprintf (concatenated_name, size, "%s::%s",
-		 parent_name, nested_name);
-	sym = lookup_static_symbol_aux (concatenated_name, VAR_DOMAIN);
-	if (sym != NULL)
-	  return sym;
-
-	/* If no matching symbols were found, try searching any
-	   base classes.  */
-	return find_symbol_in_baseclass (parent_type, nested_name, block);
+		   parent_name, nested_name);
+
+	sym = cp_lookup_nested_symbol_1 (parent_type, nested_name,
+					 concatenated_name, block, 1);
+
+	if (symbol_lookup_debug)
+	  {
+	    fprintf_unfiltered (gdb_stdlog,
+				"cp_lookup_nested_symbol (...) = %s\n",
+				sym != NULL
+				? host_address_to_string (sym) : "NULL");
+	  }
+	return sym;
       }
 
     case TYPE_CODE_FUNC:
     case TYPE_CODE_METHOD:
+      if (symbol_lookup_debug)
+	{
+	  fprintf_unfiltered (gdb_stdlog,
+			      "cp_lookup_nested_symbol (...) = NULL"
+			      " (func/method)\n");
+	}
       return NULL;
 
     default:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-support.c ./gdb/cp-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-support.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cp-support.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Helper routines for C++ support in GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
 
@@ -20,9 +20,7 @@
 
 #include "defs.h"
 #include "cp-support.h"
-#include <string.h>
 #include "demangle.h"
-#include "gdb_assert.h"
 #include "gdbcmd.h"
 #include "dictionary.h"
 #include "objfiles.h"
@@ -31,10 +29,10 @@
 #include "block.h"
 #include "complaints.h"
 #include "gdbtypes.h"
-#include "exceptions.h"
 #include "expression.h"
 #include "value.h"
 #include "cp-abi.h"
+#include <signal.h>
 
 #include "safe-ctype.h"
 
@@ -1220,9 +1218,7 @@ make_symbol_overload_list_block (const c
   struct block_iterator iter;
   struct symbol *sym;
 
-  for (sym = block_iter_name_first (block, name, &iter);
-       sym != NULL;
-       sym = block_iter_name_next (name, &iter))
+  ALL_BLOCK_SYMBOLS_WITH_NAME (block, name, iter, sym)
     overload_list_add_symbol (sym, name);
 }
 
@@ -1299,7 +1295,7 @@ make_symbol_overload_list_adl_namespace 
     }
 
   /* Check public base type */
-  if (TYPE_CODE (type) == TYPE_CODE_CLASS)
+  if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
     for (i = 0; i < TYPE_N_BASECLASSES (type); i++)
       {
 	if (BASETYPE_VIA_PUBLIC (type, i))
@@ -1397,7 +1393,7 @@ make_symbol_overload_list_using (const c
 static void
 make_symbol_overload_list_qualified (const char *func_name)
 {
-  struct symtab *s;
+  struct compunit_symtab *cust;
   struct objfile *objfile;
   const struct block *b, *surrounding_static_block = 0;
 
@@ -1421,17 +1417,17 @@ make_symbol_overload_list_qualified (con
   /* Go through the symtabs and check the externs and statics for
      symbols which match.  */
 
-  ALL_PRIMARY_SYMTABS (objfile, s)
+  ALL_COMPUNITS (objfile, cust)
   {
     QUIT;
-    b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK);
+    b = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust), GLOBAL_BLOCK);
     make_symbol_overload_list_block (func_name, b);
   }
 
-  ALL_PRIMARY_SYMTABS (objfile, s)
+  ALL_COMPUNITS (objfile, cust)
   {
     QUIT;
-    b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK);
+    b = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust), STATIC_BLOCK);
     /* Don't do this block twice.  */
     if (b == surrounding_static_block)
       continue;
@@ -1465,7 +1461,7 @@ cp_lookup_rtti_type (const char *name, s
 
   switch (TYPE_CODE (rtti_type))
     {
-    case TYPE_CODE_CLASS:
+    case TYPE_CODE_STRUCT:
       break;
     case TYPE_CODE_NAMESPACE:
       /* chastain/2003-11-26: the symbol tables often contain fake
@@ -1482,12 +1478,134 @@ cp_lookup_rtti_type (const char *name, s
   return rtti_type;
 }
 
+#ifdef HAVE_WORKING_FORK
+
+/* If nonzero, attempt to catch crashes in the demangler and print
+   useful debugging information.  */
+
+static int catch_demangler_crashes = 1;
+
+/* Stack context and environment for demangler crash recovery.  */
+
+static SIGJMP_BUF gdb_demangle_jmp_buf;
+
+/* If nonzero, attempt to dump core from the signal handler.  */
+
+static int gdb_demangle_attempt_core_dump = 1;
+
+/* Signal handler for gdb_demangle.  */
+
+static void
+gdb_demangle_signal_handler (int signo)
+{
+  if (gdb_demangle_attempt_core_dump)
+    {
+      if (fork () == 0)
+	dump_core ();
+
+      gdb_demangle_attempt_core_dump = 0;
+    }
+
+  SIGLONGJMP (gdb_demangle_jmp_buf, signo);
+}
+
+#endif
+
 /* A wrapper for bfd_demangle.  */
 
 char *
 gdb_demangle (const char *name, int options)
 {
-  return bfd_demangle (NULL, name, options);
+  char *result = NULL;
+  int crash_signal = 0;
+
+#ifdef HAVE_WORKING_FORK
+#if defined (HAVE_SIGACTION) && defined (SA_RESTART)
+  struct sigaction sa, old_sa;
+#else
+  void (*ofunc) ();
+#endif
+  static int core_dump_allowed = -1;
+
+  if (core_dump_allowed == -1)
+    {
+      core_dump_allowed = can_dump_core (LIMIT_CUR);
+
+      if (!core_dump_allowed)
+	gdb_demangle_attempt_core_dump = 0;
+    }
+
+  if (catch_demangler_crashes)
+    {
+#if defined (HAVE_SIGACTION) && defined (SA_RESTART)
+      sa.sa_handler = gdb_demangle_signal_handler;
+      sigemptyset (&sa.sa_mask);
+#ifdef HAVE_SIGALTSTACK
+      sa.sa_flags = SA_ONSTACK;
+#else
+      sa.sa_flags = 0;
+#endif
+      sigaction (SIGSEGV, &sa, &old_sa);
+#else
+      ofunc = (void (*)()) signal (SIGSEGV, gdb_demangle_signal_handler);
+#endif
+
+      crash_signal = SIGSETJMP (gdb_demangle_jmp_buf);
+    }
+#endif
+
+  if (crash_signal == 0)
+    result = bfd_demangle (NULL, name, options);
+
+#ifdef HAVE_WORKING_FORK
+  if (catch_demangler_crashes)
+    {
+#if defined (HAVE_SIGACTION) && defined (SA_RESTART)
+      sigaction (SIGSEGV, &old_sa, NULL);
+#else
+      signal (SIGSEGV, ofunc);
+#endif
+
+      if (crash_signal != 0)
+	{
+	  static int error_reported = 0;
+
+	  if (!error_reported)
+	    {
+	      char *short_msg, *long_msg;
+	      struct cleanup *back_to;
+
+	      short_msg = xstrprintf (_("unable to demangle '%s' "
+				      "(demangler failed with signal %d)"),
+				    name, crash_signal);
+	      back_to = make_cleanup (xfree, short_msg);
+
+	      long_msg = xstrprintf ("%s:%d: %s: %s", __FILE__, __LINE__,
+				    "demangler-warning", short_msg);
+	      make_cleanup (xfree, long_msg);
+
+	      target_terminal_ours ();
+	      begin_line ();
+	      if (core_dump_allowed)
+		fprintf_unfiltered (gdb_stderr,
+				    _("%s\nAttempting to dump core.\n"),
+				    long_msg);
+	      else
+		warn_cant_dump_core (long_msg);
+
+	      demangler_warning (__FILE__, __LINE__, "%s", short_msg);
+
+	      do_cleanups (back_to);
+
+	      error_reported = 1;
+	    }
+
+	  result = NULL;
+	}
+    }
+#endif
+
+  return result;
 }
 
 /* Don't allow just "maintenance cplus".  */
@@ -1499,7 +1617,7 @@ maint_cplus_command (char *arg, int from
 		       "by the name of a command.\n"));
   help_list (maint_cplus_cmd_list,
 	     "maintenance cplus ",
-	     -1, gdb_stdout);
+	     all_commands, gdb_stdout);
 }
 
 /* This is a front end for cp_find_first_component, for unit testing.
@@ -1562,4 +1680,17 @@ _initialize_cp_support (void)
 Usage: info vtbl EXPRESSION\n\
 Evaluate EXPRESSION and display the virtual function table for the\n\
 resulting object."));
+
+#ifdef HAVE_WORKING_FORK
+  add_setshow_boolean_cmd ("catch-demangler-crashes", class_maintenance,
+			   &catch_demangler_crashes, _("\
+Set whether to attempt to catch demangler crashes."), _("\
+Show whether to attempt to catch demangler crashes."), _("\
+If enabled GDB will attempt to catch demangler crashes and\n\
+display the offending symbol."),
+			   NULL,
+			   NULL,
+			   &maintenance_set_cmdlist,
+			   &maintenance_show_cmdlist);
+#endif
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-support.h ./gdb/cp-support.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-support.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cp-support.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Helper routines for C++ support in GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
    Namespace support contributed by David Carlton.
@@ -179,7 +179,7 @@ extern struct type *cp_lookup_rtti_type 
 
 /* Functions/variables from cp-namespace.c.  */
 
-extern int cp_is_anonymous (const char *namespace);
+extern int cp_is_in_anonymous (const char *symbol_name);
 
 extern void cp_add_using_directive (const char *dest,
                                     const char *src,
@@ -192,22 +192,17 @@ extern void cp_add_using_directive (cons
 extern void cp_scan_for_anonymous_namespaces (const struct symbol *symbol,
 					      struct objfile *objfile);
 
-extern struct symbol *cp_lookup_symbol_nonlocal (const char *name,
-						 const struct block *block,
-						 const domain_enum domain);
+extern struct symbol *cp_lookup_symbol_nonlocal
+     (const struct language_defn *langdef,
+      const char *name,
+      const struct block *block,
+      const domain_enum domain);
 
 extern struct symbol *cp_lookup_symbol_namespace (const char *namespace,
 						  const char *name,
 						  const struct block *block,
 						  const domain_enum domain);
 
-extern struct symbol *cp_lookup_symbol_imports (const char *scope,
-                                                const char *name,
-                                                const struct block *block,
-                                                const domain_enum domain,
-                                                const int declaration_only,
-                                                const int search_parents);
-
 extern struct symbol *cp_lookup_symbol_imports_or_template
      (const char *scope,
       const char *name,
@@ -222,8 +217,8 @@ struct type *cp_lookup_transparent_type 
 
 /* See description in cp-namespace.c.  */
 
-struct type *find_type_baseclass_by_name (struct type *parent_type,
-					  const char *name);
+struct type *cp_find_type_baseclass_by_name (struct type *parent_type,
+					     const char *name);
 
 /* Functions from cp-name-parser.y.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-valprint.c ./gdb/cp-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cp-valprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cp-valprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing C++ values for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,7 +27,6 @@
 #include "gdbcmd.h"
 #include "demangle.h"
 #include "annotate.h"
-#include <string.h>
 #include "c-lang.h"
 #include "target.h"
 #include "cp-abi.h"
@@ -35,7 +34,6 @@
 #include "cp-support.h"
 #include "language.h"
 #include "extension.h"
-#include "exceptions.h"
 #include "typeprint.h"
 
 /* Controls printing of vtbl's.  */
@@ -208,8 +206,8 @@ cp_print_value_fields (struct type *type
     fprintf_filtered (stream, "<No data fields>");
   else
     {
-      int statmem_obstack_initial_size = 0;
-      int stat_array_obstack_initial_size = 0;
+      size_t statmem_obstack_initial_size = 0;
+      size_t stat_array_obstack_initial_size = 0;
       struct type *vptr_basetype = NULL;
       int vptr_fieldno;
 
@@ -294,12 +292,6 @@ cp_print_value_fields (struct type *type
 		{
 		  fputs_filtered (_("<synthetic pointer>"), stream);
 		}
-	      else if (!value_bits_valid (val,
-					  TYPE_FIELD_BITPOS (type, i),
-					  TYPE_FIELD_BITSIZE (type, i)))
-		{
-		  val_print_optimized_out (val, stream);
-		}
 	      else
 		{
 		  struct value_print_options opts = *options;
@@ -370,7 +362,7 @@ cp_print_value_fields (struct type *type
 
       if (dont_print_statmem == 0)
 	{
-	  int obstack_final_size =
+	  size_t obstack_final_size =
            obstack_object_size (&dont_print_statmem_obstack);
 
 	  if (obstack_final_size > statmem_obstack_initial_size)
@@ -378,7 +370,7 @@ cp_print_value_fields (struct type *type
 	      /* In effect, a pop of the printed-statics stack.  */
 
 	      void *free_to_ptr =
-		obstack_next_free (&dont_print_statmem_obstack) -
+		(char *) obstack_next_free (&dont_print_statmem_obstack) -
 		(obstack_final_size - statmem_obstack_initial_size);
 
 	      obstack_free (&dont_print_statmem_obstack,
@@ -387,13 +379,13 @@ cp_print_value_fields (struct type *type
 
 	  if (last_set_recurse != recurse)
 	    {
-	      int obstack_final_size =
+	      size_t obstack_final_size =
 		obstack_object_size (&dont_print_stat_array_obstack);
 	      
 	      if (obstack_final_size > stat_array_obstack_initial_size)
 		{
 		  void *free_to_ptr =
-		    obstack_next_free (&dont_print_stat_array_obstack)
+		    (char *) obstack_next_free (&dont_print_stat_array_obstack)
 		    - (obstack_final_size
 		       - stat_array_obstack_initial_size);
 
@@ -434,8 +426,9 @@ cp_print_value_fields_rtti (struct type 
 
   /* We require all bits to be valid in order to attempt a
      conversion.  */
-  if (value_bits_valid (val, TARGET_CHAR_BIT * offset,
-			TARGET_CHAR_BIT * TYPE_LENGTH (type)))
+  if (!value_bits_any_optimized_out (val,
+				     TARGET_CHAR_BIT * offset,
+				     TARGET_CHAR_BIT * TYPE_LENGTH (type)))
     {
       struct value *value;
       int full, top, using_enc;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cris-linux-tdep.c ./gdb/cris-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cris-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cris-linux-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux on CRIS processors, for GDB.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Axis Communications AB.
    Written by Hendrik Ruijter, Stefan Andersson, Orjan Friberg,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cris-tdep.c ./gdb/cris-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cris-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cris-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target dependent code for CRIS, for GDB, the GNU debugger.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Axis Communications AB.
    Written by Hendrik Ruijter, Stefan Andersson, and Orjan Friberg.
@@ -37,13 +37,11 @@
 #include "osabi.h"
 #include "arch-utils.h"
 #include "regcache.h"
-#include "gdb_assert.h"
 
 #include "objfiles.h"
 
 #include "solib.h"              /* Support for shared libraries.  */
 #include "solib-svr4.h"
-#include <string.h>
 #include "dis-asm.h"
 
 #include "cris-tdep.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cris-tdep.h ./gdb/cris-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/cris-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/cris-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target dependent code for CRIS, for GDB, the GNU debugger.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Axis Communications AB.
    Written by Hendrik Ruijter, Stefan Andersson, and Orjan Friberg.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ctf.c ./gdb/ctf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ctf.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ctf.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* CTF format support.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Hui Zhu <hui_zhu@mentor.com>
    Contributed by Yao Qi <yao@codesourcery.com>
 
@@ -855,7 +855,7 @@ ctf_destroy (void)
 /* Open CTF trace data in DIRNAME.  */
 
 static void
-ctf_open_dir (char *dirname)
+ctf_open_dir (const char *dirname)
 {
   struct bt_iter_pos begin_pos;
   struct bt_iter_pos *pos;
@@ -1078,7 +1078,7 @@ ctf_read_tp (struct uploaded_tp **upload
    second packet which contains events on trace blocks.  */
 
 static void
-ctf_open (char *dirname, int from_tty)
+ctf_open (const char *dirname, int from_tty)
 {
   struct bt_ctf_event *event;
   uint32_t event_id;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ctf.h ./gdb/ctf.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ctf.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ctf.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* CTF format support.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-typeprint.c ./gdb/c-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-typeprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/c-typeprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for printing C and C++ types for GDB, the GNU debugger.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,8 +31,6 @@
 #include "typeprint.h"
 #include "cp-abi.h"
 #include "jv-lang.h"
-#include <string.h>
-#include <errno.h>
 #include "cp-support.h"
 
 static void c_type_print_varspec_prefix (struct type *,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-valprint.c ./gdb/c-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-valprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/c-valprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing C values for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "expression.h"
@@ -173,9 +172,9 @@ c_val_print (struct type *type, const gd
 				      options->format)
 	      && value_bytes_available (original_value, embedded_offset,
 					TYPE_LENGTH (type))
-	      && value_bits_valid (original_value,
-				   TARGET_CHAR_BIT * embedded_offset,
-				   TARGET_CHAR_BIT * TYPE_LENGTH (type)))
+	      && !value_bits_any_optimized_out (original_value,
+						TARGET_CHAR_BIT * embedded_offset,
+						TARGET_CHAR_BIT * TYPE_LENGTH (type)))
 	    {
 	      int force_ellipses = 0;
 
@@ -496,7 +495,7 @@ c_value_print (struct value *val, struct
 	  /* Print nothing.  */
 	}
       else if (options->objectprint
-	       && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_CLASS))
+	       && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_STRUCT))
 	{
 	  int is_ref = TYPE_CODE (type) == TYPE_CODE_REF;
 
@@ -546,7 +545,7 @@ c_value_print (struct value *val, struct
   if (!value_initialized (val))
     fprintf_filtered (stream, " [uninitialized] ");
 
-  if (options->objectprint && (TYPE_CODE (type) == TYPE_CODE_CLASS))
+  if (options->objectprint && (TYPE_CODE (type) == TYPE_CODE_STRUCT))
     {
       /* Attempt to determine real type of object.  */
       real_type = value_rtti_type (val, &full, &top, &using_enc);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-varobj.c ./gdb/c-varobj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/c-varobj.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/c-varobj.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* varobj support for C and C++.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -126,6 +126,56 @@ adjust_value_for_child_access (struct va
     }
 }
 
+/* Is VAR a path expression parent, i.e., can it be used to construct
+   a valid path expression?  */
+
+static int
+c_is_path_expr_parent (struct varobj *var)
+{
+  struct type *type;
+
+  /* "Fake" children are not path_expr parents.  */
+  if (CPLUS_FAKE_CHILD (var))
+    return 0;
+
+  type = varobj_get_gdb_type (var);
+
+  /* Anonymous unions and structs are also not path_expr parents.  */
+  if ((TYPE_CODE (type) == TYPE_CODE_STRUCT
+       || TYPE_CODE (type) == TYPE_CODE_UNION)
+      && TYPE_NAME (type) == NULL
+      && TYPE_TAG_NAME (type) == NULL)
+    {
+      struct varobj *parent = var->parent;
+
+      while (parent != NULL && CPLUS_FAKE_CHILD (parent))
+	parent = parent->parent;
+
+      if (parent != NULL)
+	{
+	  struct type *parent_type;
+	  int was_ptr;
+
+	  parent_type = varobj_get_value_type (parent);
+	  adjust_value_for_child_access (NULL, &parent_type, &was_ptr, 0);
+
+	  if (TYPE_CODE (parent_type) == TYPE_CODE_STRUCT
+	      || TYPE_CODE (parent_type) == TYPE_CODE_UNION)
+	    {
+	      const char *field_name;
+
+	      gdb_assert (var->index < TYPE_NFIELDS (parent_type));
+	      field_name = TYPE_FIELD_NAME (parent_type, var->index);
+	      return !(field_name == NULL || *field_name == '\0');
+	    }
+	}
+
+      return 0;
+    }
+
+  return 1;
+}
+
 /* C */
 
 static int
@@ -493,7 +543,8 @@ const struct lang_varobj_ops c_varobj_op
    c_type_of_child,
    c_value_of_variable,
    varobj_default_value_is_changeable_p,
-   NULL /* value_has_mutated */
+   NULL, /* value_has_mutated */
+   c_is_path_expr_parent  /* is_path_expr_parent */
 };
 
 /* A little convenience enum for dealing with C++/Java.  */
@@ -904,7 +955,8 @@ const struct lang_varobj_ops cplus_varob
    cplus_type_of_child,
    cplus_value_of_variable,
    varobj_default_value_is_changeable_p,
-   NULL /* value_has_mutated */
+   NULL, /* value_has_mutated */
+   c_is_path_expr_parent  /* is_path_expr_parent */
 };
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/darwin-nat.c ./gdb/darwin-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/darwin-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/darwin-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Darwin support for GDB, the GNU debugger.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    Contributed by AdaCore.
 
@@ -33,7 +33,6 @@
 #include "event-top.h"
 #include "inf-loop.h"
 #include <sys/stat.h>
-#include "exceptions.h"
 #include "inf-child.h"
 #include "value.h"
 #include "arch-utils.h"
@@ -42,11 +41,10 @@
 
 #include <sys/ptrace.h>
 #include <sys/signal.h>
-#include <machine/setjmp.h>
+#include <setjmp.h>
 #include <sys/types.h>
 #include <unistd.h>
 #include <signal.h>
-#include <string.h>
 #include <ctype.h>
 #include <sys/sysctl.h>
 #include <sys/proc.h>
@@ -861,7 +859,7 @@ darwin_resume (ptid_t ptid, int step, en
     }
   else
     {
-      struct inferior *inf = find_inferior_pid (ptid_get_pid (ptid));
+      struct inferior *inf = find_inferior_ptid (ptid);
       long tid = ptid_get_tid (ptid);
 
       /* Stop the inferior (should be useless).  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/darwin-nat.h ./gdb/darwin-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/darwin-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/darwin-nat.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common things used by the various darwin files
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -18,7 +18,6 @@
 #define __DARWIN_NAT_H__
 
 #include <mach/mach.h>
-#include "common-utils.h" /* For FUNCTION_NAME.  */
 
 /* Describe the mach exception handling state for a task.  This state is saved
    before being changed and restored when a process is detached.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/darwin-nat-info.c ./gdb/darwin-nat-info.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/darwin-nat-info.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/darwin-nat-info.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Darwin support for GDB, the GNU debugger.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    Contributed by Apple Computer, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/data-directory/Makefile.in ./gdb/data-directory/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/data-directory/Makefile.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/data-directory/Makefile.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # Makefile for building a staged copy of the data-directory.
 # This file is part of GDB.
@@ -72,6 +72,7 @@ PYTHON_FILE_LIST = \
 	gdb/command/prompt.py \
 	gdb/command/explore.py \
 	gdb/function/__init__.py \
+	gdb/function/caller_is.py \
 	gdb/function/strfns.py \
 	gdb/printer/__init__.py \
 	gdb/printer/bound_registers.py
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dbug-rom.c ./gdb/dbug-rom.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dbug-rom.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dbug-rom.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Remote debugging interface to dBUG ROM monitor for GDB, the GNU debugger.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    Written by Stan Shebs of Cygnus Support.
 
@@ -32,8 +32,6 @@
 
 #include "m68k-tdep.h"
 
-static void dbug_open (char *args, int from_tty);
-
 static void
 dbug_supply_register (struct regcache *regcache, char *regname,
 		      int regnamelen, char *val, int vallen)
@@ -155,7 +153,7 @@ init_dbug_cmds (void)
 }				/* init_debug_ops */
 
 static void
-dbug_open (char *args, int from_tty)
+dbug_open (const char *args, int from_tty)
 {
   monitor_open (args, &dbug_cmds, from_tty);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dbxread.c ./gdb/dbxread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dbxread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dbxread.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Read dbx symbol tables and convert to internal format, for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,8 +31,6 @@
    for real.  dbx_psymtab_to_symtab() is the function that does this */
 
 #include "defs.h"
-#include <string.h>
-
 #if defined(__CYGNUSCLIB__)
 #include <sys/types.h>
 #include <fcntl.h>
@@ -57,8 +55,6 @@
 #include "psympriv.h"
 #include "block.h"
 
-#include "gdb_assert.h"
-
 #include "aout/aout64.h"
 #include "aout/stab_gnu.h"	/* We always use GNU stabs, not
 				   native, now.  */
@@ -2124,6 +2120,8 @@ read_dbx_symtab (struct objfile *objfile
 	case N_SLINE:
 	case N_RSYM:
 	case N_PSYM:
+	case N_BNSYM:
+	case N_ENSYM:
 	case N_LBRAC:
 	case N_NSYMS:		/* Ultrix 4.0: symbol count */
 	case N_DEFD:		/* GNU Modula-2 */
@@ -2346,7 +2344,7 @@ end_psymtab (struct objfile *objfile, st
 	subpst->n_static_syms = 0;
 
       subpst->readin = 0;
-      subpst->symtab = 0;
+      subpst->compunit_symtab = 0;
       subpst->read_symtab = pst->read_symtab;
     }
 
@@ -2646,8 +2644,8 @@ read_ofile_symtab (struct objfile *objfi
   if (last_source_start_addr > text_offset)
     last_source_start_addr = text_offset;
 
-  pst->symtab = end_symtab (text_offset + text_size, objfile,
-			    SECT_OFF_TEXT (objfile));
+  pst->compunit_symtab = end_symtab (text_offset + text_size,
+				     SECT_OFF_TEXT (objfile));
 
   end_stabs ();
 
@@ -2785,8 +2783,7 @@ process_one_symbol (int type, int desc, 
 
 	  /* Make a block for the local symbols within.  */
 	  block = finish_block (new->name, &local_symbols, new->old_blocks,
-				new->start_addr, new->start_addr + valu,
-				objfile);
+				new->start_addr, new->start_addr + valu);
 
 	  /* For C++, set the block's scope.  */
 	  if (SYMBOL_LANGUAGE (new->name) == language_cplus)
@@ -2887,7 +2884,7 @@ process_one_symbol (int type, int desc, 
 		}
 	      /* Make a block for the local symbols within.  */
 	      finish_block (0, &local_symbols, new->old_blocks,
-			    new->start_addr, valu, objfile);
+			    new->start_addr, valu);
 	    }
 	}
       else
@@ -2928,7 +2925,7 @@ process_one_symbol (int type, int desc, 
 	      patch_subfile_names (current_subfile, name);
 	      break;		/* Ignore repeated SOs.  */
 	    }
-	  end_symtab (valu, objfile, SECT_OFF_TEXT (objfile));
+	  end_symtab (valu, SECT_OFF_TEXT (objfile));
 	  end_stabs ();
 	}
 
@@ -2941,7 +2938,7 @@ process_one_symbol (int type, int desc, 
 	function_start_offset = 0;
 
       start_stabs ();
-      start_symtab (name, NULL, valu);
+      start_symtab (objfile, name, NULL, valu);
       record_debugformat ("stabs");
       break;
 
@@ -2951,17 +2948,17 @@ process_one_symbol (int type, int desc, 
          in the compilation of the main source file (whose name was
          given in the N_SO symbol).  Relocate for dynamic loading.  */
       valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
-      start_subfile (name, current_subfile->dirname);
+      start_subfile (name);
       break;
 
     case N_BINCL:
       push_subfile ();
       add_new_header_file (name, valu);
-      start_subfile (name, current_subfile->dirname);
+      start_subfile (name);
       break;
 
     case N_EINCL:
-      start_subfile (pop_subfile (), current_subfile->dirname);
+      start_subfile (pop_subfile ());
       break;
 
     case N_EXCL:
@@ -3190,7 +3187,7 @@ process_one_symbol (int type, int desc, 
 		  /* Make a block for the local symbols within.  */
 		  block = finish_block (new->name, &local_symbols,
 					new->old_blocks, new->start_addr,
-					valu, objfile);
+					valu);
 
 		  /* For C++, set the block's scope.  */
 		  if (SYMBOL_LANGUAGE (new->name) == language_cplus)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dcache.c ./gdb/dcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dcache.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dcache.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Caching code for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 #include "defs.h"
 #include "dcache.h"
 #include "gdbcmd.h"
-#include <string.h>
 #include "gdbcore.h"
 #include "target-dcache.h"
 #include "inferior.h"
@@ -681,7 +680,7 @@ set_dcache_command (char *arg, int from_
 {
   printf_unfiltered (
      "\"set dcache\" must be followed by the name of a subcommand.\n");
-  help_list (dcache_set_list, "set dcache ", -1, gdb_stdout);
+  help_list (dcache_set_list, "set dcache ", all_commands, gdb_stdout);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dcache.h ./gdb/dcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dcache.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dcache.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* Declarations for caching.  Typically used by remote back ends for
    caching remote memory.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/debug.c ./gdb/debug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/debug.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/debug.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,28 @@
+/* Debug printing functions.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+
+/* See common/common-debug.h.  */
+
+void
+debug_vprintf (const char *fmt, va_list ap)
+{
+  vfprintf_unfiltered (gdb_stdlog, fmt, ap);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dec-thread.c ./gdb/dec-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dec-thread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dec-thread.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,741 +0,0 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "command.h"
-#include "gdbcmd.h"
-#include "target.h"
-#include "observer.h"
-#include <sys/procfs.h>
-#include "gregset.h"
-#include "regcache.h"
-#include "inferior.h"
-#include "gdbthread.h"
-
-#include <pthread_debug.h>
-
-/* Print debugging traces if set to non-zero.  */
-static int debug_dec_thread = 0;
-
-/* Non-zero if the dec-thread layer is active.  */
-static int dec_thread_active = 0;
-
-/* The pthread_debug context.  */
-pthreadDebugContext_t debug_context;
-
-/* The dec-thread target_ops structure.  */
-static struct target_ops dec_thread_ops;
-
-/* Print a debug trace if DEBUG_DEC_THREAD is set (its value is adjusted
-   by the user using "set debug dec-thread ...").  */
-
-static void
-debug (char *format, ...)
-{
-  if (debug_dec_thread)
-    {
-      va_list args;
-
-      va_start (args, format);
-      printf_unfiltered ("DEC Threads: ");
-      vprintf_unfiltered (format, args);
-      printf_unfiltered ("\n");
-      va_end (args);
-    }
-}
-
-/* pthread debug callbacks.  */
-
-static int
-suspend_clbk (void *caller_context)
-{
-  return ESUCCESS;
-}
-
-static int
-resume_clbk (void *caller_context)
-{
-  return ESUCCESS;
-} 
-
-static int
-hold_clbk (void *caller_context, pthreadDebugKId_t kernel_tid)
-{ 
-  return ESUCCESS;
-}
-
-static int
-unhold_clbk (void *caller_context, pthreadDebugKId_t kernel_tid)
-{
-  return ESUCCESS;
-}
-
-static int
-read_clbk (void *caller_context, void *address, void *buffer,
-           unsigned long size)
-{
-  int status = target_read_memory ((CORE_ADDR) address, buffer, size);
-
-  if (status != 0)
-    return EINVAL;
-
-  return ESUCCESS;
-}
-
-static int
-write_clbk (void *caller_context, void *address, void *buffer,
-            unsigned long size)
-{
-  int status = target_write_memory ((CORE_ADDR) address, buffer, size);
-  
-  if (status != 0)
-    return EINVAL;
-
-  return ESUCCESS;
-}
-
-/* Get integer regs.  */
-
-static int
-get_reg_clbk(void *caller_context, pthreadDebugGetRegRtn_t regs,
-             pthreadDebugKId_t kernel_tid)
-{
-  debug ("get_reg_clbk");
-
-  /* Not sure that we actually need to do anything in this callback.  */
-  return ESUCCESS;
-}
-
-/* Set integer regs.  */
-
-static int
-set_reg_clbk(void *caller_context, const pthreadDebugRegs_t *regs,
-             pthreadDebugKId_t kernel_tid)
-{
-  debug ("set_reg_clbk");
-
-  /* Not sure that we actually need to do anything in this callback.  */
-  return ESUCCESS;
-}
-
-static int
-output_clbk (void *caller_context, char *line)
-{
-  printf_filtered ("%s\n", line);
-  return ESUCCESS;
-}
-
-static int
-error_clbk (void *caller_context, char *line)
-{
-  fprintf_filtered (gdb_stderr, "%s\n", line);
-  return ESUCCESS;
-}
-
-/* Get floating-point regs.  */
-
-static int
-get_fpreg_clbk (void *caller_context, pthreadDebugFregs_p fregs,
-                pthreadDebugKId_t kernel_tid)
-{
-  debug ("get_fpreg_clbk");
-
-  /* Not sure that we actually need to do anything in this callback.  */
-  return ESUCCESS;
-}
-
-/* Set floating-point regs.  */
-
-static int
-set_fpreg_clbk (void *caller_context, const pthreadDebugFregs_t *fregs,
-                pthreadDebugKId_t kernel_tid)
-{
-  debug ("set_fpreg_clbk");
-
-  /* Not sure that we actually need to do anything in this callback.  */
-  return ESUCCESS;
-}
-
-static void *
-malloc_clbk (void *caller_context, size_t size)
-{
-  return xmalloc (size);
-}
-
-static void
-free_clbk (void *caller_context, void *address)
-{
-  xfree (address);
-}
-
-static int
-kthdinfo_clbk (pthreadDebugClient_t caller_context,
-               pthreadDebugKId_t kernel_tid,
-               pthreadDebugKThreadInfo_p thread_info)
-{
-  return ENOTSUP;
-}
-
-static int
-speckthd_clbk (pthreadDebugClient_t caller_context,
-               pthreadDebugSpecialType_t type,
-               pthreadDebugKId_t *kernel_tid)
-{
-  return ENOTSUP;
-}
-
-static pthreadDebugCallbacks_t debug_callbacks =
-{
-  PTHREAD_DEBUG_VERSION,
-  (pthreadDebugGetMemRtn_t) read_clbk,
-  (pthreadDebugSetMemRtn_t) write_clbk,
-  suspend_clbk,
-  resume_clbk,
-  kthdinfo_clbk,
-  hold_clbk,
-  unhold_clbk,
-  (pthreadDebugGetFregRtn_t) get_fpreg_clbk,
-  (pthreadDebugSetFregRtn_t) set_fpreg_clbk,
-  (pthreadDebugGetRegRtn_t) get_reg_clbk,
-  (pthreadDebugSetRegRtn_t) set_reg_clbk,
-  (pthreadDebugOutputRtn_t) output_clbk,
-  (pthreadDebugOutputRtn_t) error_clbk,
-  malloc_clbk,
-  free_clbk,
-  speckthd_clbk
-};
-
-/* Activate thread support if appropriate.  Do nothing if thread
-   support is already active.  */
-
-static void
-enable_dec_thread (void)
-{
-  struct bound_minimal_symbol msym;
-  void* caller_context;
-  int status;
-
-  /* If already active, nothing more to do.  */
-  if (dec_thread_active)
-    return;
-
-  msym = lookup_minimal_symbol ("__pthread_dbg_symtable", NULL, NULL);
-  if (msym.minsym == NULL)
-    {
-      debug ("enable_dec_thread: No __pthread_dbg_symtable");
-      return;
-    }
-
-  status = pthreadDebugContextInit (&caller_context, &debug_callbacks,
-                                    (void *) SYMBOL_VALUE_ADDRESS (msym.minsym),
-                                    &debug_context);
-  if (status != ESUCCESS)
-    {
-      debug ("enable_dec_thread: pthreadDebugContextInit -> %d",
-             status);
-      return;
-    }
-
-  push_target (&dec_thread_ops);
-  dec_thread_active = 1;
-
-  debug ("enable_dec_thread: Thread support enabled.");
-}
-
-/* Deactivate thread support.  Do nothing if thread support is
-   already inactive.  */
-
-static void
-disable_dec_thread (void)
-{
-  if (!dec_thread_active)
-    return;
-
-  pthreadDebugContextDestroy (debug_context);
-  unpush_target (&dec_thread_ops);
-  dec_thread_active = 0;
-}
-
-/* A structure that contains a thread ID and is associated
-   pthreadDebugThreadInfo_t data.  */
-
-struct dec_thread_info
-{
-  pthreadDebugId_t thread;
-  pthreadDebugThreadInfo_t info;
-};
-typedef struct dec_thread_info dec_thread_info_s;
-
-/* The list of user threads.  */
-
-DEF_VEC_O (dec_thread_info_s);
-VEC(dec_thread_info_s) *dec_thread_list;
-
-/* Release the memory used by the given VECP thread list pointer.
-   Then set *VECP to NULL.  */
-
-static void
-free_dec_thread_info_vec (VEC(dec_thread_info_s) **vecp)
-{
-  int i;
-  struct dec_thread_info *item;
-  VEC(dec_thread_info_s) *vec = *vecp;
-
-  for (i = 0; VEC_iterate (dec_thread_info_s, vec, i, item); i++)
-     xfree (item);
-  VEC_free (dec_thread_info_s, vec);
-  *vecp = NULL;
-}
-
-/* Return a thread's ptid given its associated INFO.  */
-
-static ptid_t
-ptid_build_from_info (struct dec_thread_info info)
-{
-  int pid = ptid_get_pid (inferior_ptid);
-
-  return ptid_build (pid, 0, (long) info.thread);
-}
-
-/* Return non-zero if PTID is still alive.
-
-   Assumes that DEC_THREAD_LIST is up to date.  */
-static int
-dec_thread_ptid_is_alive (ptid_t ptid)
-{
-  pthreadDebugId_t tid = ptid_get_tid (ptid);
-  int i;
-  struct dec_thread_info *info;
-
-  if (tid == 0)
-    /* This is the thread corresponding to the process.  This ptid
-       is always alive until the program exits.  */
-    return 1;
-
-  /* Search whether an entry with the same tid exists in the dec-thread
-     list of threads.  If it does, then the thread is still alive.
-     No match found means that the thread must be dead, now.  */
-  for (i = 0; VEC_iterate (dec_thread_info_s, dec_thread_list, i, info); i++)
-    if (info->thread == tid)
-      return 1;
-  return 0;
-}
-
-/* Recompute the list of user threads and store the result in
-   DEC_THREAD_LIST.  */
-
-static void
-update_dec_thread_list (void)
-{
-  pthreadDebugId_t thread;
-  pthreadDebugThreadInfo_t info;
-  int res;
-
-  free_dec_thread_info_vec (&dec_thread_list);
-  res = pthreadDebugThdSeqInit (debug_context, &thread);
-  while (res == ESUCCESS)
-    {
-
-      res = pthreadDebugThdGetInfo (debug_context, thread, &info);
-      if (res != ESUCCESS)
-        warning (_("unable to get thread info, ignoring thread %ld"),
-                   thread);
-      else if (info.kind == PTHREAD_DEBUG_THD_KIND_INITIAL
-               || info.kind == PTHREAD_DEBUG_THD_KIND_NORMAL)
-        {
-          struct dec_thread_info *item = 
-            xmalloc (sizeof (struct dec_thread_info));
-
-          item->thread = thread;
-          item->info = info;
-          VEC_safe_push (dec_thread_info_s, dec_thread_list, item);
-        }
-      res = pthreadDebugThdSeqNext (debug_context, &thread);
-    }
-  pthreadDebugThdSeqDestroy (debug_context);
-}
-
-/* A callback to count the number of threads known to GDB.  */
-
-static int
-dec_thread_count_gdb_threads (struct thread_info *ignored, void *context)
-{
-  int *count = (int *) context;
-
-  *count = *count + 1;
-  return 0;
-}
-
-/* A callback that saves the given thread INFO at the end of an
-   array.  The end of the array is given in the CONTEXT and is
-   incremented once the info has been added.  */
-
-static int
-dec_thread_add_gdb_thread (struct thread_info *info, void *context)
-{
-  struct thread_info ***listp = (struct thread_info ***) context;
-  
-  **listp = info;
-  *listp = *listp + 1;
-  return 0;
-}
-
-/* Implement the find_new_thread target_ops method.  */
-
-static void
-dec_thread_find_new_threads (struct target_ops *ops)
-{
-  int i;
-  struct dec_thread_info *info;
-
-  update_dec_thread_list ();
-  for (i = 0; VEC_iterate (dec_thread_info_s, dec_thread_list, i, info); i++)
-    {
-      ptid_t ptid = ptid_build_from_info (*info);
-
-      if (!in_thread_list (ptid))
-        add_thread (ptid);
-    }
-}
-
-/* Resynchronize the list of threads known by GDB with the actual
-   list of threads reported by libpthread_debug.  */
-
-static void
-resync_thread_list (struct target_ops *ops)
-{
-  int i;
-  int num_gdb_threads = 0;
-  struct thread_info **gdb_thread_list;
-  struct thread_info **next_thread_info;
-
-  /* Add new threads.  */
-  dec_thread_find_new_threads (ops);
-
-  /* Remove threads that no longer exist.  To help with the search,
-     we build an array of GDB threads, and then iterate over this
-     array.  */
-
-  iterate_over_threads (dec_thread_count_gdb_threads,
-                        (void *) &num_gdb_threads);
-  gdb_thread_list = alloca (num_gdb_threads * sizeof (struct thread_info *));
-  next_thread_info = gdb_thread_list;
-  iterate_over_threads (dec_thread_add_gdb_thread, (void *) &next_thread_info);
-
-  for (i = 0; i < num_gdb_threads; i++)
-    if (!dec_thread_ptid_is_alive (gdb_thread_list[i]->ptid))
-      delete_thread (gdb_thread_list[i]->ptid);
-}
-
-/* The "to_detach" method of the dec_thread_ops.  */
-
-static void
-dec_thread_detach (struct target_ops *ops, const char *args, int from_tty)
-{   
-  struct target_ops *beneath = find_target_beneath (ops);
-
-  debug ("dec_thread_detach");
-
-  disable_dec_thread ();
-  beneath->to_detach (beneath, args, from_tty);
-}
-
-/* Return the ptid of the thread that is currently active.  */
-
-static ptid_t
-get_active_ptid (void)
-{
-  int i;
-  struct dec_thread_info *info;
-
-  for (i = 0; VEC_iterate (dec_thread_info_s, dec_thread_list, i, info);
-       i++)
-    if (info->info.state == PTHREAD_DEBUG_STATE_RUNNING)
-      return ptid_build_from_info (*info);
-
-  /* No active thread found.  This can happen when the program
-     has just exited.  */
-  return null_ptid;
-}
-
-/* The "to_wait" method of the dec_thread_ops.  */
-
-static ptid_t
-dec_thread_wait (struct target_ops *ops,
-		 ptid_t ptid, struct target_waitstatus *status, int options)
-{
-  ptid_t active_ptid;
-  struct target_ops *beneath = find_target_beneath (ops);
-
-  debug ("dec_thread_wait");
-
-  ptid = beneath->to_wait (beneath, ptid, status, options);
-
-  /* The ptid returned by the target beneath us is the ptid of the process.
-     We need to find which thread is currently active and return its ptid.  */
-  resync_thread_list (ops);
-  active_ptid = get_active_ptid ();
-  if (ptid_equal (active_ptid, null_ptid))
-    return ptid;
-  return active_ptid;
-}
-
-/* Fetch the general purpose and floating point registers for the given
-   thread TID, and store the result in GREGSET and FPREGSET.  Return
-   zero if successful.  */
-
-static int
-dec_thread_get_regsets (pthreadDebugId_t tid, gdb_gregset_t *gregset,
-                        gdb_fpregset_t *fpregset)
-{
-  int res;
-  pthreadDebugRegs_t regs;
-  pthreadDebugFregs_t fregs;
-
-  res = pthreadDebugThdGetReg (debug_context, tid, &regs);
-  if (res != ESUCCESS)
-    {
-      debug ("dec_thread_get_regsets: pthreadDebugThdGetReg -> %d", res);
-      return -1;
-    }
-  memcpy (gregset->regs, &regs, sizeof (regs));
-
-  res = pthreadDebugThdGetFreg (debug_context, tid, &fregs);
-  if (res != ESUCCESS)
-    {
-      debug ("dec_thread_get_regsets: pthreadDebugThdGetFreg -> %d", res);
-      return -1;
-    }
-  memcpy (fpregset->regs, &fregs, sizeof (fregs));
-
-  return 0;
-}
-
-/* The "to_fetch_registers" method of the dec_thread_ops.
-
-   Because the dec-thread debug API doesn't allow us to fetch
-   only one register, we simply ignore regno and fetch+supply all
-   registers.  */
-
-static void
-dec_thread_fetch_registers (struct target_ops *ops,
-                            struct regcache *regcache, int regno)
-{
-  pthreadDebugId_t tid = ptid_get_tid (inferior_ptid);
-  gregset_t gregset;
-  fpregset_t fpregset;
-  int res;
-
-  debug ("dec_thread_fetch_registers (tid=%ld, regno=%d)", tid, regno);
-
-
-  if (tid == 0 || ptid_equal (inferior_ptid, get_active_ptid ()))
-    {
-      struct target_ops *beneath = find_target_beneath (ops);
-
-      beneath->to_fetch_registers (beneath, regcache, regno);
-      return;
-    }
-
-  res = dec_thread_get_regsets (tid, &gregset, &fpregset);
-  if (res != 0)
-    return;
-
-  supply_gregset (regcache, &gregset);
-  supply_fpregset (regcache, &fpregset);
-}
-
-/* Store the registers given in GREGSET and FPREGSET into the associated
-   general purpose and floating point registers of thread TID.  Return
-   zero if successful.  */
-
-static int
-dec_thread_set_regsets (pthreadDebugId_t tid, gdb_gregset_t gregset,
-                        gdb_fpregset_t fpregset)
-{
-  int res;
-  pthreadDebugRegs_t regs;
-  pthreadDebugFregs_t fregs;
-
-  memcpy (&regs, gregset.regs, sizeof (regs));
-  res = pthreadDebugThdSetReg (debug_context, tid, &regs);
-  if (res != ESUCCESS)
-    {
-      debug ("dec_thread_set_regsets: pthreadDebugThdSetReg -> %d", res);
-      return -1;
-    }
-
-  memcpy (&fregs, fpregset.regs, sizeof (fregs));
-  res = pthreadDebugThdSetFreg (debug_context, tid, &fregs);
-  if (res != ESUCCESS)
-    {
-      debug ("dec_thread_set_regsets: pthreadDebugThdSetFreg -> %d", res);
-      return -1;
-    }
-
-  return 0;
-}
-
-/* The "to_store_registers" method of the dec_thread_ops.
-
-   Because the dec-thread debug API doesn't allow us to store
-   just one register, we store all the registers.  */
-
-static void
-dec_thread_store_registers (struct target_ops *ops,
-                            struct regcache *regcache, int regno)
-{
-  pthreadDebugId_t tid = ptid_get_tid (inferior_ptid);
-  gregset_t gregset;
-  fpregset_t fpregset;
-  int res;
-
-  debug ("dec_thread_store_registers (tid=%ld, regno=%d)", tid, regno);
-
-  if (tid == 0 || ptid_equal (inferior_ptid, get_active_ptid ()))
-    {
-      struct target_ops *beneath = find_target_beneath (ops);
-
-      beneath->to_store_registers (beneath, regcache, regno);
-      return;
-    }
-
-  /* FIXME: brobecker/2008-05-28: I wonder if we could simply check
-     in which register set the register is and then only store the
-     registers for that register set, instead of storing both register
-     sets.  */
-  fill_gregset (regcache, &gregset, -1);
-  fill_fpregset (regcache, &fpregset, -1);
-  
-  res = dec_thread_set_regsets (tid, gregset, fpregset);
-  if (res != 0)
-    warning (_("failed to store registers."));
-}
-
-/* The "to_mourn_inferior" method of the dec_thread_ops.  */
-
-static void
-dec_thread_mourn_inferior (struct target_ops *ops)
-{
-  struct target_ops *beneath = find_target_beneath (ops);
-
-  debug ("dec_thread_mourn_inferior");
-
-  disable_dec_thread ();
-  beneath->to_mourn_inferior (beneath);
-}
-
-/* The "to_thread_alive" method of the dec_thread_ops.  */
-static int
-dec_thread_thread_alive (struct target_ops *ops, ptid_t ptid)
-{
-  debug ("dec_thread_thread_alive (tid=%ld)", ptid_get_tid (ptid));
-
-  /* The thread list maintained by GDB is up to date, since we update
-     it everytime we stop.   So check this list.  */
-  return in_thread_list (ptid);
-}
-
-/* The "to_pid_to_str" method of the dec_thread_ops.  */
-
-static char *
-dec_thread_pid_to_str (struct target_ops *ops, ptid_t ptid)
-{
-  static char *ret = NULL;
-
-  if (ptid_get_tid (ptid) == 0)
-    {
-      struct target_ops *beneath = find_target_beneath (ops);
-
-      return beneath->to_pid_to_str (beneath, ptid);
-    }
-
-  /* Free previous return value; a new one will be allocated by
-     xstrprintf().  */
-  xfree (ret);
-
-  ret = xstrprintf (_("Thread %ld"), ptid_get_tid (ptid));
-  return ret;
-}
-
-/* A "new-objfile" observer.  Used to activate/deactivate dec-thread
-   support.  */
-
-static void
-dec_thread_new_objfile_observer (struct objfile *objfile)
-{
-  if (objfile != NULL)
-     enable_dec_thread ();
-  else
-     disable_dec_thread ();
-}
-
-/* The "to_get_ada_task_ptid" method of the dec_thread_ops.  */
-
-static ptid_t
-dec_thread_get_ada_task_ptid (struct target_ops *self, long lwp, long thread)
-{
-  int i;
-  struct dec_thread_info *info;
-
-  debug ("dec_thread_get_ada_task_ptid (struct target_ops *self,"
-	 " lwp=0x%lx, thread=0x%lx)",
-         lwp, thread);
-
-  for (i = 0; VEC_iterate (dec_thread_info_s, dec_thread_list, i, info);
-       i++)
-    if (info->info.teb == (pthread_t) thread)
-      return ptid_build_from_info (*info);
-
-  warning (_("Could not find thread id from THREAD = 0x%lx"), thread);
-  return inferior_ptid;
-}
-
-static void
-init_dec_thread_ops (void)
-{
-  dec_thread_ops.to_shortname          = "dec-threads";
-  dec_thread_ops.to_longname           = _("DEC threads support");
-  dec_thread_ops.to_doc                = _("DEC threads support");
-  dec_thread_ops.to_detach             = dec_thread_detach;
-  dec_thread_ops.to_wait               = dec_thread_wait;
-  dec_thread_ops.to_fetch_registers    = dec_thread_fetch_registers;
-  dec_thread_ops.to_store_registers    = dec_thread_store_registers;
-  dec_thread_ops.to_mourn_inferior     = dec_thread_mourn_inferior;
-  dec_thread_ops.to_thread_alive       = dec_thread_thread_alive;
-  dec_thread_ops.to_find_new_threads   = dec_thread_find_new_threads;
-  dec_thread_ops.to_pid_to_str         = dec_thread_pid_to_str;
-  dec_thread_ops.to_stratum            = thread_stratum;
-  dec_thread_ops.to_get_ada_task_ptid  = dec_thread_get_ada_task_ptid;
-  dec_thread_ops.to_magic              = OPS_MAGIC;
-}
-
-void
-_initialize_dec_thread (void)
-{
-  init_dec_thread_ops ();
-  complete_target_initialization (&dec_thread_ops);
-
-  observer_attach_new_objfile (dec_thread_new_objfile_observer);
-
-  add_setshow_boolean_cmd ("dec-thread", class_maintenance, &debug_dec_thread,
-                            _("Set debugging of DEC threads module."),
-                            _("Show debugging of DEC threads module."),
-                            _("Enables debugging output (used to debug GDB)."),
-                            NULL, NULL,
-                            &setdebuglist, &showdebuglist);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/defs.h ./gdb/defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/defs.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/defs.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* *INDENT-OFF* */ /* ATTRIBUTE_PRINTF confuses indent, avoid running it
 		      for now.  */
 /* Basic, host-specific, and target-specific definitions for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,12 +25,9 @@
 #  error gdbserver should not include gdb/defs.h
 #endif
 
-#include "config.h"		/* Generated by configure.  */
-#include "build-gnulib/config.h"
+#include "common-defs.h"
 
 #include <sys/types.h>
-#include <stdio.h>
-#include <errno.h>		/* System call error return status.  */
 #include <limits.h>
 #include <stdint.h>
 
@@ -48,30 +45,33 @@
    included, so it's ok to blank out gstdint.h.  */
 #define GCC_GENERATED_STDINT_H 1
 
-#include <stddef.h>
-
 #include <unistd.h>
 
-/* For gnulib's PATH_MAX.  */
-#include "pathmax.h"
-
 #include <fcntl.h>
 
-/* First include ansidecl.h so we can use the various macro definitions
-   here and in all subsequent file inclusions.  */
+#include "gdb_wchar.h"
 
-#include "ansidecl.h"
+#include "ui-file.h"
 
-#include "gdb_locale.h"
+#include "host-defs.h"
 
-#include "gdb_wchar.h"
+/* Scope types enumerator.  List the types of scopes the compiler will
+   accept.  */
 
-/* For ``enum gdb_signal''.  */
-#include "gdb/signals.h"
+enum compile_i_scope_types
+  {
+    COMPILE_I_INVALID_SCOPE,
 
-#include "ui-file.h"
+    /* A simple scope.  Wrap an expression into a simple scope that
+       takes no arguments, returns no value, and uses the generic
+       function name "_gdb_expr". */
 
-#include "host-defs.h"
+    COMPILE_I_SIMPLE_SCOPE,
+
+    /* Do not wrap the expression,
+       it has to provide function "_gdb_expr" on its own.  */
+    COMPILE_I_RAW_SCOPE,
+  };
 
 /* Just in case they're not defined in stdio.h.  */
 
@@ -92,40 +92,8 @@
 #define O_BINARY 0
 #endif
 
-#include <stdarg.h>		/* For va_list.  */
-
-#include "libiberty.h"
 #include "hashtab.h"
 
-/* Rather than duplicate all the logic in BFD for figuring out what
-   types to use (which can be pretty complicated), symply define them
-   in terms of the corresponding type from BFD.  */
-
-#include "bfd.h"
-
-/* * A byte from the program being debugged.  */
-typedef bfd_byte gdb_byte;
-
-/* * An address in the program being debugged.  Host byte order.  */
-typedef bfd_vma CORE_ADDR;
-
-/* * The largest CORE_ADDR value.  */
-#define CORE_ADDR_MAX (~ (CORE_ADDR) 0)
-
-/* This is to make sure that LONGEST is at least as big as CORE_ADDR.  */
-
-#ifdef BFD64
-
-#define LONGEST BFD_HOST_64_BIT
-#define ULONGEST BFD_HOST_U_64_BIT
-
-#else /* No BFD64 */
-
-#define LONGEST long long
-#define ULONGEST unsigned long long
-
-#endif /* No BFD64 */
-
 #ifndef min
 #define min(a, b) ((a) < (b) ? (a) : (b))
 #endif
@@ -133,8 +101,6 @@ typedef bfd_vma CORE_ADDR;
 #define max(a, b) ((a) > (b) ? (a) : (b))
 #endif
 
-#include "ptid.h"
-
 /* * Enable xdb commands if set.  */
 extern int xdb_commands;
 
@@ -291,7 +257,7 @@ extern char *re_comp (const char *);
 extern void symbol_file_command (char *, int);
 
 /* * Remote targets may wish to use this as their load function.  */
-extern void generic_load (char *name, int from_tty);
+extern void generic_load (const char *name, int from_tty);
 
 /* * Report on STREAM the performance of memory transfer operation,
    such as 'load'.
@@ -311,11 +277,11 @@ extern void print_transfer_performance (
 
 typedef void initialize_file_ftype (void);
 
-extern char *gdb_readline (char *);
+extern char *gdb_readline (const char *);
 
-extern char *gdb_readline_wrapper (char *);
+extern char *gdb_readline_wrapper (const char *);
 
-extern char *command_line_input (char *, int, char *);
+extern char *command_line_input (const char *, int, char *);
 
 extern void print_prompt (void);
 
@@ -416,6 +382,7 @@ enum command_control_type
     if_control,
     commands_control,
     python_control,
+    compile_control,
     guile_control,
     while_stepping_control,
     invalid_control
@@ -429,6 +396,15 @@ struct command_line
     struct command_line *next;
     char *line;
     enum command_control_type control_type;
+    union
+      {
+	struct
+	  {
+	    enum compile_i_scope_types scope;
+	  }
+	compile;
+      }
+    control_u;
     /* * The number of elements in body_list.  */
     int body_count;
     /* * For composite commands, the nested lists of commands.  For
@@ -555,8 +531,6 @@ enum val_prettyformat
 
 extern int longest_to_int (LONGEST);
 
-#include "common-utils.h"
-
 /* * List of known OS ABIs.  If you change this, make sure to update the
    table in osabi.c.  */
 enum gdb_osabi
@@ -568,7 +542,6 @@ enum gdb_osabi
   GDB_OSABI_SVR4,
   GDB_OSABI_HURD,
   GDB_OSABI_SOLARIS,
-  GDB_OSABI_OSF1,
   GDB_OSABI_LINUX,
   GDB_OSABI_FREEBSD_AOUT,
   GDB_OSABI_FREEBSD_ELF,
@@ -589,6 +562,7 @@ enum gdb_osabi
   GDB_OSABI_OPENVMS,
   GDB_OSABI_LYNXOS178,
   GDB_OSABI_NEWLIB,
+  GDB_OSABI_SDE,
 
   GDB_OSABI_INVALID		/* keep this last */
 };
@@ -599,34 +573,10 @@ enum gdb_osabi
 
 /* From other system libraries */
 
-#include <stdlib.h>
-
-
 #ifndef atof
 extern double atof (const char *);	/* X3.159-1989  4.10.1.1 */
 #endif
 
-/* Various possibilities for alloca.  */
-#ifndef alloca
-#ifdef __GNUC__
-#define alloca __builtin_alloca
-#else /* Not GNU C */
-#ifdef HAVE_ALLOCA_H
-#include <alloca.h>
-#else
-#ifdef _AIX
-#pragma alloca
-#else
-
-/* We need to be careful not to declare this in a way which conflicts with
-   bison.  Bison never declares it as char *, but under various circumstances
-   (like __hpux) we need to use void *.  */
-extern void *alloca ();
-#endif /* Not _AIX */
-#endif /* Not HAVE_ALLOCA_H */
-#endif /* Not GNU C */
-#endif /* alloca not defined */
-
 /* Dynamic target-system-dependent parameters for GDB.  */
 #include "gdbarch.h"
 
@@ -715,7 +665,7 @@ extern void (*deprecated_warning_hook) (
 extern void (*deprecated_interactive_hook) (void);
 extern void (*deprecated_readline_begin_hook) (char *, ...)
      ATTRIBUTE_FPTR_PRINTF_1;
-extern char *(*deprecated_readline_hook) (char *);
+extern char *(*deprecated_readline_hook) (const char *);
 extern void (*deprecated_readline_end_hook) (void);
 extern void (*deprecated_register_changed_hook) (int regno);
 extern void (*deprecated_context_hook) (int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/demangle.c ./gdb/demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/demangle.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/demangle.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Basic C++ demangling support for GDB.
 
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish at Cygnus Support.
 
@@ -24,11 +24,12 @@
    to a styles of demangling, and GDB specific.  */
 
 #include "defs.h"
+#include "cli/cli-utils.h" /* for skip_to_space */
 #include "command.h"
 #include "gdbcmd.h"
 #include "demangle.h"
 #include "gdb-demangle.h"
-#include <string.h>
+#include "language.h"
 
 /* Select the default C++ demangling style to use.  The default is "auto",
    which allows gdb to attempt to pick an appropriate demangling style for
@@ -42,6 +43,8 @@
 #define DEFAULT_DEMANGLING_STYLE AUTO_DEMANGLING_STYLE_STRING
 #endif
 
+static void demangle_command (char *, int);
+
 /* See documentation in gdb-demangle.h.  */
 int demangle = 1;
 
@@ -153,6 +156,77 @@ is_cplus_marker (int c)
   return c && strchr (cplus_markers, c) != NULL;
 }
 
+/* Demangle the given string in the current language.  */
+
+static void
+demangle_command (char *args, int from_tty)
+{
+  char *demangled, *name, *lang_name = NULL;
+  char *arg_buf, *arg_start;
+  int processing_args = 1;
+  const struct language_defn *lang;
+  struct cleanup *cleanups;
+
+  arg_buf = xstrdup (args != NULL ? args : "");
+  cleanups = make_cleanup (xfree, arg_buf);
+  arg_start = arg_buf;
+
+  while (processing_args
+	 && *arg_start == '-')
+    {
+      char *p = skip_to_space (arg_start);
+
+      if (strncmp (arg_start, "-l", p - arg_start) == 0)
+	{
+	  char *lang_name_end;
+
+	  lang_name = skip_spaces (p);
+	  lang_name_end = skip_to_space (lang_name);
+	  lang_name = savestring (lang_name, lang_name_end - lang_name);
+	  make_cleanup (xfree, lang_name);
+	  p = lang_name_end;
+	}
+      else if (strncmp (arg_start, "--", p - arg_start) == 0)
+	processing_args = 0;
+      else
+	{
+	  *p = '\0';
+	  error (_("Unrecognized option '%s' to demangle command.  "
+		   "Try \"help demangle\"."), arg_start);
+	}
+
+      arg_start = skip_spaces (p);
+    }
+
+  name = arg_start;
+
+  if (*name == '\0')
+    error (_("Usage: demangle [-l language] [--] name"));
+
+  if (lang_name != NULL)
+    {
+      enum language lang_enum;
+
+      lang_enum = language_enum (lang_name);
+      if (lang_enum == language_unknown)
+	error (_("Unknown language \"%s\""), lang_name);
+      lang = language_def (lang_enum);
+    }
+  else
+    lang = current_language;
+
+  demangled = language_demangle (lang, name, DMGL_ANSI | DMGL_PARAMS);
+  if (demangled != NULL)
+    {
+      printf_filtered ("%s\n", demangled);
+      xfree (demangled);
+    }
+  else
+    error (_("Can't demangle \"%s\""), name);
+
+  do_cleanups (cleanups);
+}
+
 extern initialize_file_ftype _initialize_demangler; /* -Wmissing-prototypes */
 
 void
@@ -202,4 +276,10 @@ Use `set demangle-style' without argumen
 			set_demangling_command,
 			show_demangling_style_names,
 			&setlist, &showlist);
+
+  add_cmd ("demangle", class_support, demangle_command, _("\
+Demangle a mangled name.\n\
+Usage: demangle [-l language] [--] name\n\
+If LANGUAGE is not specified, NAME is demangled in the current language."),
+	   &cmdlist);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-exp.c ./gdb/d-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-exp.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/d-exp.c	2015-01-20 02:09:34.000000000 +0000
@@ -0,0 +1,3634 @@
+
+/* A Bison parser, made by GNU Bison 2.4.1.  */
+
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+   
+      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+   
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+   
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.4.1"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Push parsers.  */
+#define YYPUSH 0
+
+/* Pull parsers.  */
+#define YYPULL 1
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Copy the first part of user declarations.  */
+
+/* Line 189 of yacc.c  */
+#line 39 "d-exp.y"
+
+
+#include "defs.h"
+#include <ctype.h>
+#include "expression.h"
+#include "value.h"
+#include "parser-defs.h"
+#include "language.h"
+#include "c-lang.h"
+#include "d-lang.h"
+#include "bfd.h" /* Required by objfiles.h.  */
+#include "symfile.h" /* Required by objfiles.h.  */
+#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
+#include "charset.h"
+#include "block.h"
+
+#define parse_type(ps) builtin_type (parse_gdbarch (ps))
+#define parse_d_type(ps) builtin_d_type (parse_gdbarch (ps))
+
+/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
+   as well as gratuitiously global symbol names, so we can have multiple
+   yacc generated parsers in gdb.  Note that these are only the variables
+   produced by yacc.  If other parser generators (bison, byacc, etc) produce
+   additional global names that conflict at link time, then those parser
+   generators need to be fixed instead of adding those names to this list.  */
+
+#define	yymaxdepth d_maxdepth
+#define	yyparse	d_parse_internal
+#define	yylex	d_lex
+#define	yyerror	d_error
+#define	yylval	d_lval
+#define	yychar	d_char
+#define	yydebug	d_debug
+#define	yypact	d_pact
+#define	yyr1	d_r1
+#define	yyr2	d_r2
+#define	yydef	d_def
+#define	yychk	d_chk
+#define	yypgo	d_pgo
+#define	yyact	d_act
+#define	yyexca	d_exca
+#define	yyerrflag d_errflag
+#define	yynerrs	d_nerrs
+#define	yyps	d_ps
+#define	yypv	d_pv
+#define	yys	d_s
+#define	yy_yys	d_yys
+#define	yystate	d_state
+#define	yytmp	d_tmp
+#define	yyv	d_v
+#define	yy_yyv	d_yyv
+#define	yyval	d_val
+#define	yylloc	d_lloc
+#define	yyreds	d_reds	/* With YYDEBUG defined */
+#define	yytoks	d_toks	/* With YYDEBUG defined */
+#define	yyname	d_name	/* With YYDEBUG defined */
+#define	yyrule	d_rule	/* With YYDEBUG defined */
+#define	yylhs	d_yylhs
+#define	yylen	d_yylen
+#define	yydefre	d_yydefred
+#define	yydgoto	d_yydgoto
+#define	yysindex d_yysindex
+#define	yyrindex d_yyrindex
+#define	yygindex d_yygindex
+#define	yytable	d_yytable
+#define	yycheck	d_yycheck
+#define	yyss	d_yyss
+#define	yysslim	d_yysslim
+#define	yyssp	d_yyssp
+#define	yystacksize d_yystacksize
+#define	yyvs	d_yyvs
+#define	yyvsp	d_yyvsp
+
+#ifndef YYDEBUG
+#define YYDEBUG 1	/* Default to yydebug support */
+#endif
+
+#define YYFPRINTF parser_fprintf
+
+/* The state of the parser, used internally when we are parsing the
+   expression.  */
+
+static struct parser_state *pstate = NULL;
+
+int yyparse (void);
+
+static int yylex (void);
+
+void yyerror (char *);
+
+
+
+/* Line 189 of yacc.c  */
+#line 166 "d-exp.c"
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     IDENTIFIER = 258,
+     TYPENAME = 259,
+     COMPLETE = 260,
+     NAME_OR_INT = 261,
+     INTEGER_LITERAL = 262,
+     FLOAT_LITERAL = 263,
+     CHARACTER_LITERAL = 264,
+     STRING_LITERAL = 265,
+     ENTRY = 266,
+     ERROR = 267,
+     TRUE_KEYWORD = 268,
+     FALSE_KEYWORD = 269,
+     NULL_KEYWORD = 270,
+     SUPER_KEYWORD = 271,
+     CAST_KEYWORD = 272,
+     SIZEOF_KEYWORD = 273,
+     TYPEOF_KEYWORD = 274,
+     TYPEID_KEYWORD = 275,
+     INIT_KEYWORD = 276,
+     IMMUTABLE_KEYWORD = 277,
+     CONST_KEYWORD = 278,
+     SHARED_KEYWORD = 279,
+     STRUCT_KEYWORD = 280,
+     UNION_KEYWORD = 281,
+     CLASS_KEYWORD = 282,
+     INTERFACE_KEYWORD = 283,
+     ENUM_KEYWORD = 284,
+     TEMPLATE_KEYWORD = 285,
+     DELEGATE_KEYWORD = 286,
+     FUNCTION_KEYWORD = 287,
+     DOLLAR_VARIABLE = 288,
+     ASSIGN_MODIFY = 289,
+     OROR = 290,
+     ANDAND = 291,
+     GEQ = 292,
+     LEQ = 293,
+     NOTEQUAL = 294,
+     EQUAL = 295,
+     RSH = 296,
+     LSH = 297,
+     HATHAT = 298,
+     NOTIDENTITY = 299,
+     IDENTITY = 300,
+     DECREMENT = 301,
+     INCREMENT = 302,
+     DOTDOT = 303
+   };
+#endif
+/* Tokens.  */
+#define IDENTIFIER 258
+#define TYPENAME 259
+#define COMPLETE 260
+#define NAME_OR_INT 261
+#define INTEGER_LITERAL 262
+#define FLOAT_LITERAL 263
+#define CHARACTER_LITERAL 264
+#define STRING_LITERAL 265
+#define ENTRY 266
+#define ERROR 267
+#define TRUE_KEYWORD 268
+#define FALSE_KEYWORD 269
+#define NULL_KEYWORD 270
+#define SUPER_KEYWORD 271
+#define CAST_KEYWORD 272
+#define SIZEOF_KEYWORD 273
+#define TYPEOF_KEYWORD 274
+#define TYPEID_KEYWORD 275
+#define INIT_KEYWORD 276
+#define IMMUTABLE_KEYWORD 277
+#define CONST_KEYWORD 278
+#define SHARED_KEYWORD 279
+#define STRUCT_KEYWORD 280
+#define UNION_KEYWORD 281
+#define CLASS_KEYWORD 282
+#define INTERFACE_KEYWORD 283
+#define ENUM_KEYWORD 284
+#define TEMPLATE_KEYWORD 285
+#define DELEGATE_KEYWORD 286
+#define FUNCTION_KEYWORD 287
+#define DOLLAR_VARIABLE 288
+#define ASSIGN_MODIFY 289
+#define OROR 290
+#define ANDAND 291
+#define GEQ 292
+#define LEQ 293
+#define NOTEQUAL 294
+#define EQUAL 295
+#define RSH 296
+#define LSH 297
+#define HATHAT 298
+#define NOTIDENTITY 299
+#define IDENTITY 300
+#define DECREMENT 301
+#define INCREMENT 302
+#define DOTDOT 303
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+
+/* Line 214 of yacc.c  */
+#line 136 "d-exp.y"
+
+    struct {
+      LONGEST val;
+      struct type *type;
+    } typed_val_int;
+    struct {
+      DOUBLEST dval;
+      struct type *type;
+    } typed_val_float;
+    struct symbol *sym;
+    struct type *tval;
+    struct typed_stoken tsval;
+    struct stoken sval;
+    struct ttype tsym;
+    struct symtoken ssym;
+    int ival;
+    struct block *bval;
+    enum exp_opcode opcode;
+    struct stoken_vector svec;
+  
+
+
+/* Line 214 of yacc.c  */
+#line 321 "d-exp.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+/* Copy the second part of user declarations.  */
+
+/* Line 264 of yacc.c  */
+#line 157 "d-exp.y"
+
+/* YYSTYPE gets defined by %union */
+static int parse_number (struct parser_state *, const char *,
+			 int, int, YYSTYPE *);
+
+static void push_expression_name (struct parser_state *, struct stoken);
+
+
+/* Line 264 of yacc.c  */
+#line 342 "d-exp.c"
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions.  */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int yyi)
+#else
+static int
+YYID (yyi)
+    int yyi;
+#endif
+{
+  return yyi;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or xmalloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef _STDLIB_H
+#      define _STDLIB_H 1
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined _STDLIB_H \
+       && ! ((defined YYMALLOC || defined xmalloc) \
+	     && (defined YYFREE || defined xfree)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef _STDLIB_H
+#    define _STDLIB_H 1
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC xmalloc
+#   if ! defined xmalloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void *xmalloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE xfree
+#   if ! defined xfree && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void xfree (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss_alloc;
+  YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
+	Stack = &yyptr->Stack_alloc;					\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  79
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   236
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  70
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  35
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  111
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  175
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   303
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    67,     2,     2,     2,    55,    42,     2,
+      63,    68,    53,    51,    35,    52,    61,    54,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    65,     2,
+      43,    36,    44,    37,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,    62,     2,    69,    41,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,    40,     2,    66,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      38,    39,    45,    46,    47,    48,    49,    50,    56,    57,
+      58,    59,    60,    64
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint16 yyprhs[] =
+{
+       0,     0,     3,     5,     7,     9,    11,    15,    17,    21,
+      25,    27,    33,    35,    39,    41,    45,    47,    51,    53,
+      57,    59,    63,    65,    67,    69,    71,    75,    79,    83,
+      87,    91,    95,    99,   103,   105,   109,   113,   115,   119,
+     123,   127,   129,   133,   137,   141,   144,   147,   150,   153,
+     156,   159,   162,   165,   167,   169,   175,   180,   182,   186,
+     188,   191,   194,   196,   198,   200,   202,   206,   207,   209,
+     210,   216,   221,   225,   232,   236,   238,   242,   247,   249,
+     251,   253,   255,   257,   259,   261,   263,   265,   267,   271,
+     273,   277,   279,   282,   284,   287,   289,   292,   296,   301,
+     303,   306,   309,   313,   316,   319,   323,   326,   329,   333,
+     336,   339
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int8 yyrhs[] =
+{
+      71,     0,    -1,    72,    -1,   102,    -1,    73,    -1,    74,
+      -1,    74,    35,    73,    -1,    75,    -1,    75,    36,    74,
+      -1,    75,    34,    74,    -1,    76,    -1,    76,    37,    72,
+      65,    75,    -1,    77,    -1,    76,    38,    77,    -1,    78,
+      -1,    77,    39,    78,    -1,    79,    -1,    78,    40,    79,
+      -1,    80,    -1,    79,    41,    80,    -1,    81,    -1,    80,
+      42,    81,    -1,    85,    -1,    82,    -1,    83,    -1,    84,
+      -1,    85,    48,    85,    -1,    85,    47,    85,    -1,    85,
+      58,    85,    -1,    85,    57,    85,    -1,    85,    43,    85,
+      -1,    85,    46,    85,    -1,    85,    44,    85,    -1,    85,
+      45,    85,    -1,    86,    -1,    85,    50,    86,    -1,    85,
+      49,    86,    -1,    87,    -1,    86,    51,    87,    -1,    86,
+      52,    87,    -1,    86,    66,    87,    -1,    88,    -1,    87,
+      53,    88,    -1,    87,    54,    88,    -1,    87,    55,    88,
+      -1,    42,    88,    -1,    60,    88,    -1,    59,    88,    -1,
+      53,    88,    -1,    52,    88,    -1,    51,    88,    -1,    67,
+      88,    -1,    66,    88,    -1,    89,    -1,    90,    -1,    17,
+      63,   102,    68,    88,    -1,    63,   102,    68,    88,    -1,
+      91,    -1,    91,    56,    88,    -1,    98,    -1,    91,    60,
+      -1,    91,    59,    -1,    94,    -1,    96,    -1,    97,    -1,
+      74,    -1,    92,    35,    74,    -1,    -1,    92,    -1,    -1,
+      91,    63,    95,    93,    68,    -1,    91,    62,    92,    69,
+      -1,    91,    62,    69,    -1,    91,    62,    74,    64,    74,
+      69,    -1,    63,    72,    68,    -1,   100,    -1,   100,    61,
+       5,    -1,   100,    61,     3,     5,    -1,    33,    -1,     6,
+      -1,    15,    -1,    13,    -1,    14,    -1,     7,    -1,     8,
+      -1,     9,    -1,   101,    -1,    99,    -1,    62,    93,    69,
+      -1,     3,    -1,   100,    61,     3,    -1,    10,    -1,   101,
+      10,    -1,   104,    -1,   104,   103,    -1,    53,    -1,    53,
+     103,    -1,    62,     7,    69,    -1,    62,     7,    69,   103,
+      -1,     4,    -1,    27,   100,    -1,    27,     5,    -1,    27,
+     100,     5,    -1,    25,   100,    -1,    25,     5,    -1,    25,
+     100,     5,    -1,    26,   100,    -1,    26,     5,    -1,    26,
+     100,     5,    -1,    29,   100,    -1,    29,     5,    -1,    29,
+     100,     5,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint16 yyrline[] =
+{
+       0,   232,   232,   233,   239,   243,   244,   249,   250,   252,
+     259,   260,   265,   266,   271,   272,   277,   278,   283,   284,
+     289,   290,   295,   296,   297,   298,   302,   304,   309,   311,
+     316,   318,   320,   322,   327,   328,   330,   335,   336,   338,
+     340,   345,   346,   348,   350,   354,   356,   358,   360,   362,
+     364,   366,   368,   370,   371,   375,   381,   388,   389,   394,
+     395,   397,   399,   400,   401,   405,   407,   413,   414,   419,
+     418,   427,   440,   442,   447,   449,   451,   460,   466,   468,
+     476,   483,   487,   491,   496,   501,   506,   512,   520,   525,
+     526,   543,   558,   576,   580,   589,   591,   593,   596,   602,
+     604,   607,   610,   613,   616,   619,   622,   625,   628,   631,
+     634,   637
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "IDENTIFIER", "TYPENAME", "COMPLETE",
+  "NAME_OR_INT", "INTEGER_LITERAL", "FLOAT_LITERAL", "CHARACTER_LITERAL",
+  "STRING_LITERAL", "ENTRY", "ERROR", "TRUE_KEYWORD", "FALSE_KEYWORD",
+  "NULL_KEYWORD", "SUPER_KEYWORD", "CAST_KEYWORD", "SIZEOF_KEYWORD",
+  "TYPEOF_KEYWORD", "TYPEID_KEYWORD", "INIT_KEYWORD", "IMMUTABLE_KEYWORD",
+  "CONST_KEYWORD", "SHARED_KEYWORD", "STRUCT_KEYWORD", "UNION_KEYWORD",
+  "CLASS_KEYWORD", "INTERFACE_KEYWORD", "ENUM_KEYWORD", "TEMPLATE_KEYWORD",
+  "DELEGATE_KEYWORD", "FUNCTION_KEYWORD", "DOLLAR_VARIABLE",
+  "ASSIGN_MODIFY", "','", "'='", "'?'", "OROR", "ANDAND", "'|'", "'^'",
+  "'&'", "'<'", "'>'", "GEQ", "LEQ", "NOTEQUAL", "EQUAL", "RSH", "LSH",
+  "'+'", "'-'", "'*'", "'/'", "'%'", "HATHAT", "NOTIDENTITY", "IDENTITY",
+  "DECREMENT", "INCREMENT", "'.'", "'['", "'('", "DOTDOT", "':'", "'~'",
+  "'!'", "')'", "']'", "$accept", "start", "Expression", "CommaExpression",
+  "AssignExpression", "ConditionalExpression", "OrOrExpression",
+  "AndAndExpression", "OrExpression", "XorExpression", "AndExpression",
+  "CmpExpression", "EqualExpression", "IdentityExpression",
+  "RelExpression", "ShiftExpression", "AddExpression", "MulExpression",
+  "UnaryExpression", "CastExpression", "PowExpression",
+  "PostfixExpression", "ArgumentList", "ArgumentList_opt",
+  "CallExpression", "$@1", "IndexExpression", "SliceExpression",
+  "PrimaryExpression", "ArrayLiteral", "IdentifierExp", "StringExp",
+  "TypeExp", "BasicType2", "BasicType", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,    44,    61,    63,   290,   291,
+     124,    94,    38,    60,    62,   292,   293,   294,   295,   296,
+     297,    43,    45,    42,    47,    37,   298,   299,   300,   301,
+     302,    46,    91,    40,   303,    58,   126,    33,    41,    93
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,    70,    71,    71,    72,    73,    73,    74,    74,    74,
+      75,    75,    76,    76,    77,    77,    78,    78,    79,    79,
+      80,    80,    81,    81,    81,    81,    82,    82,    83,    83,
+      84,    84,    84,    84,    85,    85,    85,    86,    86,    86,
+      86,    87,    87,    87,    87,    88,    88,    88,    88,    88,
+      88,    88,    88,    88,    88,    89,    89,    90,    90,    91,
+      91,    91,    91,    91,    91,    92,    92,    93,    93,    95,
+      94,    96,    97,    97,    98,    98,    98,    98,    98,    98,
+      98,    98,    98,    98,    98,    98,    98,    98,    99,   100,
+     100,   101,   101,   102,   102,   103,   103,   103,   103,   104,
+     104,   104,   104,   104,   104,   104,   104,   104,   104,   104,
+     104,   104
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     1,     1,     1,     1,     3,     1,     3,     3,
+       1,     5,     1,     3,     1,     3,     1,     3,     1,     3,
+       1,     3,     1,     1,     1,     1,     3,     3,     3,     3,
+       3,     3,     3,     3,     1,     3,     3,     1,     3,     3,
+       3,     1,     3,     3,     3,     2,     2,     2,     2,     2,
+       2,     2,     2,     1,     1,     5,     4,     1,     3,     1,
+       2,     2,     1,     1,     1,     1,     3,     0,     1,     0,
+       5,     4,     3,     6,     3,     1,     3,     4,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
+       3,     1,     2,     1,     2,     1,     2,     3,     4,     1,
+       2,     2,     3,     2,     2,     3,     2,     2,     3,     2,
+       2,     3
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_uint8 yydefact[] =
+{
+       0,    89,    99,    79,    83,    84,    85,    91,    81,    82,
+      80,     0,     0,     0,     0,     0,    78,     0,     0,     0,
+       0,     0,     0,    67,     0,     0,     0,     0,     2,     4,
+       5,     7,    10,    12,    14,    16,    18,    20,    23,    24,
+      25,    22,    34,    37,    41,    53,    54,    57,    62,    63,
+      64,    59,    87,    75,    86,     3,    93,     0,   104,   103,
+     107,   106,   101,   100,   110,   109,    45,    50,    49,    48,
+      47,    46,    65,    68,     0,     0,     0,    52,    51,     1,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    61,    60,     0,    69,
+       0,    92,    95,     0,    94,     0,   105,     0,   108,   102,
+     111,     0,    88,    74,     0,     6,     9,     8,     0,    13,
+      15,    17,    19,    21,    30,    32,    33,    31,    27,    26,
+      36,    35,    29,    28,    38,    39,    40,    42,    43,    44,
+      58,    72,    65,     0,    67,    90,    76,    96,     0,     0,
+      90,    66,    56,     0,     0,    71,     0,    77,    97,    55,
+      11,     0,    70,    98,    73
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+      -1,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    73,    74,    48,   154,    49,    50,    51,    52,
+      53,    54,    55,   114,    56
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -86
+static const yytype_int16 yypact[] =
+{
+     107,   -86,   -86,   -86,   -86,   -86,   -86,   -86,   -86,   -86,
+     -86,   -24,    37,    40,    76,    86,   -86,   169,   169,   169,
+     169,   169,   169,   169,   107,   169,   169,    72,   -86,   -86,
+      16,    68,    20,    34,    38,    43,    48,   -86,   -86,   -86,
+     -86,    51,   -22,    -6,   -86,   -86,   -86,    67,   -86,   -86,
+     -86,   -86,   -86,    32,    93,   -86,   -25,     9,   -86,     1,
+     -86,    15,   -86,    19,   -86,    21,   -86,   -86,   -86,   -86,
+     -86,   -86,   -86,    71,    56,    44,    60,   -86,   -86,   -86,
+     169,   169,   169,   169,   169,   169,   169,   169,   169,   169,
+     169,   169,   169,   169,   169,   169,   169,   169,   169,   169,
+     169,   169,   169,   169,   169,   169,   -86,   -86,     8,   -86,
+     132,   -86,   -25,   124,   -86,    73,   -86,   136,   -86,   -86,
+     -86,   169,   -86,   -86,   169,   -86,   -86,   -86,    78,    34,
+      38,    43,    48,   -86,    14,    14,    14,    14,    14,    14,
+     -22,   -22,    14,    14,    -6,    -6,    -6,   -86,   -86,   -86,
+     -86,   -86,    80,   -23,   169,   140,   -86,   -86,    77,   169,
+     -86,   -86,   -86,   169,   169,   -86,    79,   -86,   -25,   -86,
+     -86,    81,   -86,   -86,   -86
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int8 yypgoto[] =
+{
+     -86,   -86,   -14,    74,   -16,   -12,   -86,    69,    70,    66,
+      75,    83,   -86,   -86,   -86,    98,    23,   -68,   -17,   -86,
+     -86,   -86,    49,     2,   -86,   -86,   -86,   -86,   -86,   -86,
+      41,   -86,    -5,   -85,   -86
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -1
+static const yytype_uint8 yytable[] =
+{
+      66,    67,    68,    69,    70,    71,   116,    72,    77,    78,
+      75,     1,   121,     2,     3,     4,     5,     6,     7,    76,
+     118,     8,     9,    10,   119,    11,   120,   157,   112,    99,
+     100,   144,   145,   146,    12,    13,    14,   113,    15,    57,
+       1,    16,    58,     1,   101,    60,   165,   102,   103,   104,
+      17,    80,   115,    59,    61,    63,    65,    83,    84,    18,
+      19,    20,   117,    95,    96,   126,   127,    21,    22,   128,
+      23,    24,    79,    85,    25,    26,   117,   151,    86,     1,
+     117,    62,   117,   173,    87,   147,   148,   149,   150,     1,
+      88,    64,   152,   110,    89,    90,    91,    92,    93,    94,
+      95,    96,    81,   111,    82,   161,   121,   162,    97,    98,
+       1,     2,   123,     3,     4,     5,     6,     7,   140,   141,
+       8,     9,    10,   105,    11,   122,   106,   107,   124,   108,
+     109,   158,    12,    13,    14,   155,    15,   156,    72,   160,
+      16,   159,   169,   163,   164,   167,   168,   172,   171,    17,
+     174,   170,   131,   129,   125,   130,   166,   153,    18,    19,
+      20,     0,   132,     0,     0,     0,    21,    22,     0,    23,
+      24,   133,     1,    25,    26,     3,     4,     5,     6,     7,
+       0,     0,     8,     9,    10,     0,    11,   134,   135,   136,
+     137,   138,   139,     0,     0,   142,   143,     0,     0,     0,
+       0,     0,    16,     0,     0,     0,     0,     0,     0,     0,
+       0,    17,     0,     0,     0,     0,     0,     0,     0,     0,
+      18,    19,    20,     0,     0,     0,     0,     0,    21,    22,
+       0,    23,    24,     0,     0,    25,    26
+};
+
+static const yytype_int16 yycheck[] =
+{
+      17,    18,    19,    20,    21,    22,     5,    23,    25,    26,
+      24,     3,    35,     4,     6,     7,     8,     9,    10,    24,
+       5,    13,    14,    15,     5,    17,     5,   112,    53,    51,
+      52,    99,   100,   101,    25,    26,    27,    62,    29,    63,
+       3,    33,     5,     3,    66,     5,    69,    53,    54,    55,
+      42,    35,    57,    12,    13,    14,    15,    37,    38,    51,
+      52,    53,    61,    49,    50,    81,    82,    59,    60,    83,
+      62,    63,     0,    39,    66,    67,    61,    69,    40,     3,
+      61,     5,    61,   168,    41,   102,   103,   104,   105,     3,
+      42,     5,   108,    61,    43,    44,    45,    46,    47,    48,
+      49,    50,    34,    10,    36,   121,    35,   124,    57,    58,
+       3,     4,    68,     6,     7,     8,     9,    10,    95,    96,
+      13,    14,    15,    56,    17,    69,    59,    60,    68,    62,
+      63,     7,    25,    26,    27,     3,    29,     5,   154,     3,
+      33,    68,   159,    65,    64,     5,    69,    68,   164,    42,
+      69,   163,    86,    84,    80,    85,   154,   108,    51,    52,
+      53,    -1,    87,    -1,    -1,    -1,    59,    60,    -1,    62,
+      63,    88,     3,    66,    67,     6,     7,     8,     9,    10,
+      -1,    -1,    13,    14,    15,    -1,    17,    89,    90,    91,
+      92,    93,    94,    -1,    -1,    97,    98,    -1,    -1,    -1,
+      -1,    -1,    33,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      51,    52,    53,    -1,    -1,    -1,    -1,    -1,    59,    60,
+      -1,    62,    63,    -1,    -1,    66,    67
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,     3,     4,     6,     7,     8,     9,    10,    13,    14,
+      15,    17,    25,    26,    27,    29,    33,    42,    51,    52,
+      53,    59,    60,    62,    63,    66,    67,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,    89,    90,    91,    94,    96,
+      97,    98,    99,   100,   101,   102,   104,    63,     5,   100,
+       5,   100,     5,   100,     5,   100,    88,    88,    88,    88,
+      88,    88,    74,    92,    93,    72,   102,    88,    88,     0,
+      35,    34,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,    48,    49,    50,    57,    58,    51,
+      52,    66,    53,    54,    55,    56,    59,    60,    62,    63,
+      61,    10,    53,    62,   103,   102,     5,    61,     5,     5,
+       5,    35,    69,    68,    68,    73,    74,    74,    72,    77,
+      78,    79,    80,    81,    85,    85,    85,    85,    85,    85,
+      86,    86,    85,    85,    87,    87,    87,    88,    88,    88,
+      88,    69,    74,    92,    95,     3,     5,   103,     7,    68,
+       3,    74,    88,    65,    64,    69,    93,     5,    69,    88,
+      75,    74,    68,   103,    69
+};
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK (1);						\
+      goto yybackup;						\
+    }								\
+  else								\
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, "%d.%d-%d.%d",			\
+	      (Loc).first_line, (Loc).first_column,	\
+	      (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
+do {									  \
+  if (yydebug)								  \
+    {									  \
+      YYFPRINTF (stderr, "%s ", Title);					  \
+      yy_symbol_print (stderr,						  \
+		  Type, Value); \
+      YYFPRINTF (stderr, "\n");						  \
+    }									  \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+  YYUSE (yyoutput);
+# endif
+  switch (yytype)
+    {
+      default:
+	break;
+    }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+#else
+static void
+yy_stack_print (yybottom, yytop)
+    yytype_int16 *yybottom;
+    yytype_int16 *yytop;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    int yyrule;
+#endif
+{
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+	     yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+		       &(yyvsp[(yyi + 1) - (yynrhs)])
+		       		       );
+      YYFPRINTF (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
+   including the terminating null byte.  If YYRESULT is null, do not
+   copy anything; just return the number of bytes that would be
+   copied.  As a special case, return 0 if an ordinary "syntax error"
+   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
+   size calculation.  */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+  int yyn = yypact[yystate];
+
+  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+    return 0;
+  else
+    {
+      int yytype = YYTRANSLATE (yychar);
+      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+      YYSIZE_T yysize = yysize0;
+      YYSIZE_T yysize1;
+      int yysize_overflow = 0;
+      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+      int yyx;
+
+# if 0
+      /* This is so xgettext sees the translatable formats that are
+	 constructed on the fly.  */
+      YY_("syntax error, unexpected %s");
+      YY_("syntax error, unexpected %s, expecting %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+      char *yyfmt;
+      char const *yyf;
+      static char const yyunexpected[] = "syntax error, unexpected %s";
+      static char const yyexpecting[] = ", expecting %s";
+      static char const yyor[] = " or %s";
+      char yyformat[sizeof yyunexpected
+		    + sizeof yyexpecting - 1
+		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+		       * (sizeof yyor - 1))];
+      char const *yyprefix = yyexpecting;
+
+      /* Start YYX at -YYN if negative to avoid negative indexes in
+	 YYCHECK.  */
+      int yyxbegin = yyn < 0 ? -yyn : 0;
+
+      /* Stay within bounds of both yycheck and yytname.  */
+      int yychecklim = YYLAST - yyn + 1;
+      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+      int yycount = 1;
+
+      yyarg[0] = yytname[yytype];
+      yyfmt = yystpcpy (yyformat, yyunexpected);
+
+      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	  {
+	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+	      {
+		yycount = 1;
+		yysize = yysize0;
+		yyformat[sizeof yyunexpected - 1] = '\0';
+		break;
+	      }
+	    yyarg[yycount++] = yytname[yyx];
+	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+	    yysize_overflow |= (yysize1 < yysize);
+	    yysize = yysize1;
+	    yyfmt = yystpcpy (yyfmt, yyprefix);
+	    yyprefix = yyor;
+	  }
+
+      yyf = YY_(yyformat);
+      yysize1 = yysize + yystrlen (yyf);
+      yysize_overflow |= (yysize1 < yysize);
+      yysize = yysize1;
+
+      if (yysize_overflow)
+	return YYSIZE_MAXIMUM;
+
+      if (yyresult)
+	{
+	  /* Avoid sprintf, as that infringes on the user's name space.
+	     Don't have undefined behavior even if the translation
+	     produced a string with the wrong number of "%s"s.  */
+	  char *yyp = yyresult;
+	  int yyi = 0;
+	  while ((*yyp = *yyf) != '\0')
+	    {
+	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+		{
+		  yyp += yytnamerr (yyp, yyarg[yyi++]);
+		  yyf += 2;
+		}
+	      else
+		{
+		  yyp++;
+		  yyf++;
+		}
+	    }
+	}
+      return yysize;
+    }
+}
+#endif /* YYERROR_VERBOSE */
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  YYUSE (yyvaluep);
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+
+      default:
+	break;
+    }
+}
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*-------------------------.
+| yyparse or yypush_parse.  |
+`-------------------------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+
+
+    int yystate;
+    /* Number of tokens to shift before error messages enabled.  */
+    int yyerrstatus;
+
+    /* The stacks and their tools:
+       `yyss': related to states.
+       `yyvs': related to semantic values.
+
+       Refer to the stacks thru separate pointers, to allow yyoverflow
+       to xreallocate them elsewhere.  */
+
+    /* The state stack.  */
+    yytype_int16 yyssa[YYINITDEPTH];
+    yytype_int16 *yyss;
+    yytype_int16 *yyssp;
+
+    /* The semantic value stack.  */
+    YYSTYPE yyvsa[YYINITDEPTH];
+    YYSTYPE *yyvs;
+    YYSTYPE *yyvsp;
+
+    YYSIZE_T yystacksize;
+
+  int yyn;
+  int yyresult;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken;
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  yytoken = 0;
+  yyss = yyssa;
+  yyvs = yyvsa;
+  yystacksize = YYINITDEPTH;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY; /* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to xreallocate the stack.  Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	yytype_int16 *yyss1 = yyss;
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss_alloc, yyss);
+	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     lookahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the lookahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
+
+  yystate = yyn;
+  *++yyvsp = yylval;
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 6:
+
+/* Line 1455 of yacc.c  */
+#line 245 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_COMMA); }
+    break;
+
+  case 8:
+
+/* Line 1455 of yacc.c  */
+#line 251 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
+    break;
+
+  case 9:
+
+/* Line 1455 of yacc.c  */
+#line 253 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY);
+		  write_exp_elt_opcode (pstate, (yyvsp[(2) - (3)].opcode));
+		  write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY); }
+    break;
+
+  case 11:
+
+/* Line 1455 of yacc.c  */
+#line 261 "d-exp.y"
+    { write_exp_elt_opcode (pstate, TERNOP_COND); }
+    break;
+
+  case 13:
+
+/* Line 1455 of yacc.c  */
+#line 267 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
+    break;
+
+  case 15:
+
+/* Line 1455 of yacc.c  */
+#line 273 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
+    break;
+
+  case 17:
+
+/* Line 1455 of yacc.c  */
+#line 279 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
+    break;
+
+  case 19:
+
+/* Line 1455 of yacc.c  */
+#line 285 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
+    break;
+
+  case 21:
+
+/* Line 1455 of yacc.c  */
+#line 291 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
+    break;
+
+  case 26:
+
+/* Line 1455 of yacc.c  */
+#line 303 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_EQUAL); }
+    break;
+
+  case 27:
+
+/* Line 1455 of yacc.c  */
+#line 305 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
+    break;
+
+  case 28:
+
+/* Line 1455 of yacc.c  */
+#line 310 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_EQUAL); }
+    break;
+
+  case 29:
+
+/* Line 1455 of yacc.c  */
+#line 312 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
+    break;
+
+  case 30:
+
+/* Line 1455 of yacc.c  */
+#line 317 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_LESS); }
+    break;
+
+  case 31:
+
+/* Line 1455 of yacc.c  */
+#line 319 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_LEQ); }
+    break;
+
+  case 32:
+
+/* Line 1455 of yacc.c  */
+#line 321 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_GTR); }
+    break;
+
+  case 33:
+
+/* Line 1455 of yacc.c  */
+#line 323 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_GEQ); }
+    break;
+
+  case 35:
+
+/* Line 1455 of yacc.c  */
+#line 329 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_LSH); }
+    break;
+
+  case 36:
+
+/* Line 1455 of yacc.c  */
+#line 331 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_RSH); }
+    break;
+
+  case 38:
+
+/* Line 1455 of yacc.c  */
+#line 337 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_ADD); }
+    break;
+
+  case 39:
+
+/* Line 1455 of yacc.c  */
+#line 339 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_SUB); }
+    break;
+
+  case 40:
+
+/* Line 1455 of yacc.c  */
+#line 341 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_CONCAT); }
+    break;
+
+  case 42:
+
+/* Line 1455 of yacc.c  */
+#line 347 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_MUL); }
+    break;
+
+  case 43:
+
+/* Line 1455 of yacc.c  */
+#line 349 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_DIV); }
+    break;
+
+  case 44:
+
+/* Line 1455 of yacc.c  */
+#line 351 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_REM); }
+    break;
+
+  case 45:
+
+/* Line 1455 of yacc.c  */
+#line 355 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_ADDR); }
+    break;
+
+  case 46:
+
+/* Line 1455 of yacc.c  */
+#line 357 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_PREINCREMENT); }
+    break;
+
+  case 47:
+
+/* Line 1455 of yacc.c  */
+#line 359 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_PREDECREMENT); }
+    break;
+
+  case 48:
+
+/* Line 1455 of yacc.c  */
+#line 361 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_IND); }
+    break;
+
+  case 49:
+
+/* Line 1455 of yacc.c  */
+#line 363 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_NEG); }
+    break;
+
+  case 50:
+
+/* Line 1455 of yacc.c  */
+#line 365 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_PLUS); }
+    break;
+
+  case 51:
+
+/* Line 1455 of yacc.c  */
+#line 367 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
+    break;
+
+  case 52:
+
+/* Line 1455 of yacc.c  */
+#line 369 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_COMPLEMENT); }
+    break;
+
+  case 55:
+
+/* Line 1455 of yacc.c  */
+#line 376 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_CAST);
+		  write_exp_elt_type (pstate, (yyvsp[(3) - (5)].tval));
+		  write_exp_elt_opcode (pstate, UNOP_CAST); }
+    break;
+
+  case 56:
+
+/* Line 1455 of yacc.c  */
+#line 382 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_CAST);
+		  write_exp_elt_type (pstate, (yyvsp[(2) - (4)].tval));
+		  write_exp_elt_opcode (pstate, UNOP_CAST); }
+    break;
+
+  case 58:
+
+/* Line 1455 of yacc.c  */
+#line 390 "d-exp.y"
+    { write_exp_elt_opcode (pstate, BINOP_EXP); }
+    break;
+
+  case 60:
+
+/* Line 1455 of yacc.c  */
+#line 396 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_POSTINCREMENT); }
+    break;
+
+  case 61:
+
+/* Line 1455 of yacc.c  */
+#line 398 "d-exp.y"
+    { write_exp_elt_opcode (pstate, UNOP_POSTDECREMENT); }
+    break;
+
+  case 65:
+
+/* Line 1455 of yacc.c  */
+#line 406 "d-exp.y"
+    { arglist_len = 1; }
+    break;
+
+  case 66:
+
+/* Line 1455 of yacc.c  */
+#line 408 "d-exp.y"
+    { arglist_len++; }
+    break;
+
+  case 67:
+
+/* Line 1455 of yacc.c  */
+#line 413 "d-exp.y"
+    { arglist_len = 0; }
+    break;
+
+  case 69:
+
+/* Line 1455 of yacc.c  */
+#line 419 "d-exp.y"
+    { start_arglist (); }
+    break;
+
+  case 70:
+
+/* Line 1455 of yacc.c  */
+#line 421 "d-exp.y"
+    { write_exp_elt_opcode (pstate, OP_FUNCALL);
+		  write_exp_elt_longcst (pstate, (LONGEST) end_arglist ());
+		  write_exp_elt_opcode (pstate, OP_FUNCALL); }
+    break;
+
+  case 71:
+
+/* Line 1455 of yacc.c  */
+#line 428 "d-exp.y"
+    { if (arglist_len > 0)
+		    {
+		      write_exp_elt_opcode (pstate, MULTI_SUBSCRIPT);
+		      write_exp_elt_longcst (pstate, (LONGEST) arglist_len);
+		      write_exp_elt_opcode (pstate, MULTI_SUBSCRIPT);
+		    }
+		  else
+		    write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT);
+		}
+    break;
+
+  case 72:
+
+/* Line 1455 of yacc.c  */
+#line 441 "d-exp.y"
+    { /* Do nothing.  */ }
+    break;
+
+  case 73:
+
+/* Line 1455 of yacc.c  */
+#line 443 "d-exp.y"
+    { write_exp_elt_opcode (pstate, TERNOP_SLICE); }
+    break;
+
+  case 74:
+
+/* Line 1455 of yacc.c  */
+#line 448 "d-exp.y"
+    { /* Do nothing.  */ }
+    break;
+
+  case 75:
+
+/* Line 1455 of yacc.c  */
+#line 450 "d-exp.y"
+    { push_expression_name (pstate, (yyvsp[(1) - (1)].sval)); }
+    break;
+
+  case 76:
+
+/* Line 1455 of yacc.c  */
+#line 452 "d-exp.y"
+    { struct stoken s;
+		  s.ptr = "";
+		  s.length = 0;
+		  push_expression_name (pstate, (yyvsp[(1) - (3)].sval));
+		  mark_struct_expression (pstate);
+		  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
+		  write_exp_string (pstate, s);
+		  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
+    break;
+
+  case 77:
+
+/* Line 1455 of yacc.c  */
+#line 461 "d-exp.y"
+    { push_expression_name (pstate, (yyvsp[(1) - (4)].sval));
+		  mark_struct_expression (pstate);
+		  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
+		  write_exp_string (pstate, (yyvsp[(3) - (4)].sval));
+		  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
+    break;
+
+  case 78:
+
+/* Line 1455 of yacc.c  */
+#line 467 "d-exp.y"
+    { write_dollar_variable (pstate, (yyvsp[(1) - (1)].sval)); }
+    break;
+
+  case 79:
+
+/* Line 1455 of yacc.c  */
+#line 469 "d-exp.y"
+    { YYSTYPE val;
+                  parse_number (pstate, (yyvsp[(1) - (1)].sval).ptr, (yyvsp[(1) - (1)].sval).length, 0, &val);
+		  write_exp_elt_opcode (pstate, OP_LONG);
+		  write_exp_elt_type (pstate, val.typed_val_int.type);
+		  write_exp_elt_longcst (pstate,
+					 (LONGEST) val.typed_val_int.val);
+		  write_exp_elt_opcode (pstate, OP_LONG); }
+    break;
+
+  case 80:
+
+/* Line 1455 of yacc.c  */
+#line 477 "d-exp.y"
+    { struct type *type = parse_d_type (pstate)->builtin_void;
+		  type = lookup_pointer_type (type);
+		  write_exp_elt_opcode (pstate, OP_LONG);
+		  write_exp_elt_type (pstate, type);
+		  write_exp_elt_longcst (pstate, (LONGEST) 0);
+		  write_exp_elt_opcode (pstate, OP_LONG); }
+    break;
+
+  case 81:
+
+/* Line 1455 of yacc.c  */
+#line 484 "d-exp.y"
+    { write_exp_elt_opcode (pstate, OP_BOOL);
+		  write_exp_elt_longcst (pstate, (LONGEST) 1);
+		  write_exp_elt_opcode (pstate, OP_BOOL); }
+    break;
+
+  case 82:
+
+/* Line 1455 of yacc.c  */
+#line 488 "d-exp.y"
+    { write_exp_elt_opcode (pstate, OP_BOOL);
+		  write_exp_elt_longcst (pstate, (LONGEST) 0);
+		  write_exp_elt_opcode (pstate, OP_BOOL); }
+    break;
+
+  case 83:
+
+/* Line 1455 of yacc.c  */
+#line 492 "d-exp.y"
+    { write_exp_elt_opcode (pstate, OP_LONG);
+		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_int).type);
+		  write_exp_elt_longcst (pstate, (LONGEST)((yyvsp[(1) - (1)].typed_val_int).val));
+		  write_exp_elt_opcode (pstate, OP_LONG); }
+    break;
+
+  case 84:
+
+/* Line 1455 of yacc.c  */
+#line 497 "d-exp.y"
+    { write_exp_elt_opcode (pstate, OP_DOUBLE);
+		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_float).type);
+		  write_exp_elt_dblcst (pstate, (yyvsp[(1) - (1)].typed_val_float).dval);
+		  write_exp_elt_opcode (pstate, OP_DOUBLE); }
+    break;
+
+  case 85:
+
+/* Line 1455 of yacc.c  */
+#line 502 "d-exp.y"
+    { struct stoken_vector vec;
+		  vec.len = 1;
+		  vec.tokens = &(yyvsp[(1) - (1)].tsval);
+		  write_exp_string_vector (pstate, (yyvsp[(1) - (1)].tsval).type, &vec); }
+    break;
+
+  case 86:
+
+/* Line 1455 of yacc.c  */
+#line 507 "d-exp.y"
+    { int i;
+		  write_exp_string_vector (pstate, 0, &(yyvsp[(1) - (1)].svec));
+		  for (i = 0; i < (yyvsp[(1) - (1)].svec).len; ++i)
+		    xfree ((yyvsp[(1) - (1)].svec).tokens[i].ptr);
+		  xfree ((yyvsp[(1) - (1)].svec).tokens); }
+    break;
+
+  case 87:
+
+/* Line 1455 of yacc.c  */
+#line 513 "d-exp.y"
+    { write_exp_elt_opcode (pstate, OP_ARRAY);
+		  write_exp_elt_longcst (pstate, (LONGEST) 0);
+		  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(1) - (1)].ival) - 1);
+		  write_exp_elt_opcode (pstate, OP_ARRAY); }
+    break;
+
+  case 88:
+
+/* Line 1455 of yacc.c  */
+#line 521 "d-exp.y"
+    { (yyval.ival) = arglist_len; }
+    break;
+
+  case 90:
+
+/* Line 1455 of yacc.c  */
+#line 527 "d-exp.y"
+    { (yyval.sval).length = (yyvsp[(1) - (3)].sval).length + (yyvsp[(3) - (3)].sval).length + 1;
+		  if ((yyvsp[(1) - (3)].sval).ptr + (yyvsp[(1) - (3)].sval).length + 1 == (yyvsp[(3) - (3)].sval).ptr
+		      && (yyvsp[(1) - (3)].sval).ptr[(yyvsp[(1) - (3)].sval).length] == '.')
+		    (yyval.sval).ptr = (yyvsp[(1) - (3)].sval).ptr;  /* Optimization.  */
+		  else
+		    {
+		      char *buf = xmalloc ((yyval.sval).length + 1);
+		      make_cleanup (xfree, buf);
+		      sprintf (buf, "%.*s.%.*s",
+		               (yyvsp[(1) - (3)].sval).length, (yyvsp[(1) - (3)].sval).ptr, (yyvsp[(3) - (3)].sval).length, (yyvsp[(3) - (3)].sval).ptr);
+		      (yyval.sval).ptr = buf;
+		    }
+		}
+    break;
+
+  case 91:
+
+/* Line 1455 of yacc.c  */
+#line 544 "d-exp.y"
+    { /* We copy the string here, and not in the
+		     lexer, to guarantee that we do not leak a
+		     string.  Note that we follow the
+		     NUL-termination convention of the
+		     lexer.  */
+		  struct typed_stoken *vec = XNEW (struct typed_stoken);
+		  (yyval.svec).len = 1;
+		  (yyval.svec).tokens = vec;
+
+		  vec->type = (yyvsp[(1) - (1)].tsval).type;
+		  vec->length = (yyvsp[(1) - (1)].tsval).length;
+		  vec->ptr = xmalloc ((yyvsp[(1) - (1)].tsval).length + 1);
+		  memcpy (vec->ptr, (yyvsp[(1) - (1)].tsval).ptr, (yyvsp[(1) - (1)].tsval).length + 1);
+		}
+    break;
+
+  case 92:
+
+/* Line 1455 of yacc.c  */
+#line 559 "d-exp.y"
+    { /* Note that we NUL-terminate here, but just
+		     for convenience.  */
+		  char *p;
+		  ++(yyval.svec).len;
+		  (yyval.svec).tokens = xrealloc ((yyval.svec).tokens,
+				       (yyval.svec).len * sizeof (struct typed_stoken));
+
+		  p = xmalloc ((yyvsp[(2) - (2)].tsval).length + 1);
+		  memcpy (p, (yyvsp[(2) - (2)].tsval).ptr, (yyvsp[(2) - (2)].tsval).length + 1);
+
+		  (yyval.svec).tokens[(yyval.svec).len - 1].type = (yyvsp[(2) - (2)].tsval).type;
+		  (yyval.svec).tokens[(yyval.svec).len - 1].length = (yyvsp[(2) - (2)].tsval).length;
+		  (yyval.svec).tokens[(yyval.svec).len - 1].ptr = p;
+		}
+    break;
+
+  case 93:
+
+/* Line 1455 of yacc.c  */
+#line 577 "d-exp.y"
+    { write_exp_elt_opcode (pstate, OP_TYPE);
+		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].tval));
+		  write_exp_elt_opcode (pstate, OP_TYPE); }
+    break;
+
+  case 94:
+
+/* Line 1455 of yacc.c  */
+#line 581 "d-exp.y"
+    { (yyval.tval) = follow_types ((yyvsp[(1) - (2)].tval));
+		  write_exp_elt_opcode (pstate, OP_TYPE);
+		  write_exp_elt_type (pstate, (yyval.tval));
+		  write_exp_elt_opcode (pstate, OP_TYPE);
+		}
+    break;
+
+  case 95:
+
+/* Line 1455 of yacc.c  */
+#line 590 "d-exp.y"
+    { push_type (tp_pointer); }
+    break;
+
+  case 96:
+
+/* Line 1455 of yacc.c  */
+#line 592 "d-exp.y"
+    { push_type (tp_pointer); }
+    break;
+
+  case 97:
+
+/* Line 1455 of yacc.c  */
+#line 594 "d-exp.y"
+    { push_type_int ((yyvsp[(2) - (3)].typed_val_int).val);
+		  push_type (tp_array); }
+    break;
+
+  case 98:
+
+/* Line 1455 of yacc.c  */
+#line 597 "d-exp.y"
+    { push_type_int ((yyvsp[(2) - (4)].typed_val_int).val);
+		  push_type (tp_array); }
+    break;
+
+  case 99:
+
+/* Line 1455 of yacc.c  */
+#line 603 "d-exp.y"
+    { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
+    break;
+
+  case 100:
+
+/* Line 1455 of yacc.c  */
+#line 605 "d-exp.y"
+    { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
+				      expression_context_block); }
+    break;
+
+  case 101:
+
+/* Line 1455 of yacc.c  */
+#line 608 "d-exp.y"
+    { mark_completion_tag (TYPE_CODE_STRUCT, "", 0);
+		  (yyval.tval) = NULL; }
+    break;
+
+  case 102:
+
+/* Line 1455 of yacc.c  */
+#line 611 "d-exp.y"
+    { mark_completion_tag (TYPE_CODE_STRUCT, (yyvsp[(2) - (3)].sval).ptr, (yyvsp[(2) - (3)].sval).length);
+		  (yyval.tval) = NULL; }
+    break;
+
+  case 103:
+
+/* Line 1455 of yacc.c  */
+#line 614 "d-exp.y"
+    { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
+				      expression_context_block); }
+    break;
+
+  case 104:
+
+/* Line 1455 of yacc.c  */
+#line 617 "d-exp.y"
+    { mark_completion_tag (TYPE_CODE_STRUCT, "", 0);
+		  (yyval.tval) = NULL; }
+    break;
+
+  case 105:
+
+/* Line 1455 of yacc.c  */
+#line 620 "d-exp.y"
+    { mark_completion_tag (TYPE_CODE_STRUCT, (yyvsp[(2) - (3)].sval).ptr, (yyvsp[(2) - (3)].sval).length);
+		  (yyval.tval) = NULL; }
+    break;
+
+  case 106:
+
+/* Line 1455 of yacc.c  */
+#line 623 "d-exp.y"
+    { (yyval.tval) = lookup_union (copy_name ((yyvsp[(2) - (2)].sval)),
+				     expression_context_block); }
+    break;
+
+  case 107:
+
+/* Line 1455 of yacc.c  */
+#line 626 "d-exp.y"
+    { mark_completion_tag (TYPE_CODE_UNION, "", 0);
+		  (yyval.tval) = NULL; }
+    break;
+
+  case 108:
+
+/* Line 1455 of yacc.c  */
+#line 629 "d-exp.y"
+    { mark_completion_tag (TYPE_CODE_UNION, (yyvsp[(2) - (3)].sval).ptr, (yyvsp[(2) - (3)].sval).length);
+		  (yyval.tval) = NULL; }
+    break;
+
+  case 109:
+
+/* Line 1455 of yacc.c  */
+#line 632 "d-exp.y"
+    { (yyval.tval) = lookup_enum (copy_name ((yyvsp[(2) - (2)].sval)),
+				    expression_context_block); }
+    break;
+
+  case 110:
+
+/* Line 1455 of yacc.c  */
+#line 635 "d-exp.y"
+    { mark_completion_tag (TYPE_CODE_ENUM, "", 0);
+		  (yyval.tval) = NULL; }
+    break;
+
+  case 111:
+
+/* Line 1455 of yacc.c  */
+#line 638 "d-exp.y"
+    { mark_completion_tag (TYPE_CODE_ENUM, (yyvsp[(2) - (3)].sval).ptr, (yyvsp[(2) - (3)].sval).length);
+		  (yyval.tval) = NULL; }
+    break;
+
+
+
+/* Line 1455 of yacc.c  */
+#line 2428 "d-exp.c"
+      default: break;
+    }
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+      {
+	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+	  {
+	    YYSIZE_T yyalloc = 2 * yysize;
+	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
+	    if (yymsg != yymsgbuf)
+	      YYSTACK_FREE (yymsg);
+	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+	    if (yymsg)
+	      yymsg_alloc = yyalloc;
+	    else
+	      {
+		yymsg = yymsgbuf;
+		yymsg_alloc = sizeof yymsgbuf;
+	      }
+	  }
+
+	if (0 < yysize && yysize <= yymsg_alloc)
+	  {
+	    (void) yysyntax_error (yymsg, yystate, yychar);
+	    yyerror (yymsg);
+	  }
+	else
+	  {
+	    yyerror (YY_("syntax error"));
+	    if (yysize != 0)
+	      goto yyexhaustedlab;
+	  }
+      }
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#if !defined(yyoverflow) || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEMPTY)
+     yydestruct ("Cleanup: discarding lookahead",
+		 yytoken, &yylval);
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
+}
+
+
+
+/* Line 1675 of yacc.c  */
+#line 642 "d-exp.y"
+
+
+/* Take care of parsing a number (anything that starts with a digit).
+   Set yylval and return the token type; update lexptr.
+   LEN is the number of characters in it.  */
+
+/*** Needs some error checking for the float case ***/
+
+static int
+parse_number (struct parser_state *ps, const char *p,
+	      int len, int parsed_float, YYSTYPE *putithere)
+{
+  ULONGEST n = 0;
+  ULONGEST prevn = 0;
+  ULONGEST un;
+
+  int i = 0;
+  int c;
+  int base = input_radix;
+  int unsigned_p = 0;
+  int long_p = 0;
+
+  /* We have found a "L" or "U" suffix.  */
+  int found_suffix = 0;
+
+  ULONGEST high_bit;
+  struct type *signed_type;
+  struct type *unsigned_type;
+
+  if (parsed_float)
+    {
+      const struct builtin_d_type *builtin_d_types;
+      const char *suffix;
+      int suffix_len;
+      char *s, *sp;
+
+      /* Strip out all embedded '_' before passing to parse_float.  */
+      s = (char *) alloca (len + 1);
+      sp = s;
+      while (len-- > 0)
+	{
+	  if (*p != '_')
+	    *sp++ = *p;
+	  p++;
+	}
+      *sp = '\0';
+      len = strlen (s);
+
+      if (! parse_float (s, len, &putithere->typed_val_float.dval, &suffix))
+	return ERROR;
+
+      suffix_len = s + len - suffix;
+
+      if (suffix_len == 0)
+	{
+	  putithere->typed_val_float.type
+	    = parse_d_type (ps)->builtin_double;
+	}
+      else if (suffix_len == 1)
+	{
+	  /* Check suffix for `f', `l', or `i' (float, real, or idouble).  */
+	  if (tolower (*suffix) == 'f')
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_float;
+	    }
+	  else if (tolower (*suffix) == 'l')
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_real;
+	    }
+	  else if (tolower (*suffix) == 'i')
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_idouble;
+	    }
+	  else
+	    return ERROR;
+	}
+      else if (suffix_len == 2)
+	{
+	  /* Check suffix for `fi' or `li' (ifloat or ireal).  */
+	  if (tolower (suffix[0]) == 'f' && tolower (suffix[1] == 'i'))
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_ifloat;
+	    }
+	  else if (tolower (suffix[0]) == 'l' && tolower (suffix[1] == 'i'))
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_ireal;
+	    }
+	  else
+	    return ERROR;
+	}
+      else
+	return ERROR;
+
+      return FLOAT_LITERAL;
+    }
+
+  /* Handle base-switching prefixes 0x, 0b, 0 */
+  if (p[0] == '0')
+    switch (p[1])
+      {
+      case 'x':
+      case 'X':
+	if (len >= 3)
+	  {
+	    p += 2;
+	    base = 16;
+	    len -= 2;
+	  }
+	break;
+
+      case 'b':
+      case 'B':
+	if (len >= 3)
+	  {
+	    p += 2;
+	    base = 2;
+	    len -= 2;
+	  }
+	break;
+
+      default:
+	base = 8;
+	break;
+      }
+
+  while (len-- > 0)
+    {
+      c = *p++;
+      if (c == '_')
+	continue;	/* Ignore embedded '_'.  */
+      if (c >= 'A' && c <= 'Z')
+	c += 'a' - 'A';
+      if (c != 'l' && c != 'u')
+	n *= base;
+      if (c >= '0' && c <= '9')
+	{
+	  if (found_suffix)
+	    return ERROR;
+	  n += i = c - '0';
+	}
+      else
+	{
+	  if (base > 10 && c >= 'a' && c <= 'f')
+	    {
+	      if (found_suffix)
+	        return ERROR;
+	      n += i = c - 'a' + 10;
+	    }
+	  else if (c == 'l' && long_p == 0)
+	    {
+	      long_p = 1;
+	      found_suffix = 1;
+	    }
+	  else if (c == 'u' && unsigned_p == 0)
+	    {
+	      unsigned_p = 1;
+	      found_suffix = 1;
+	    }
+	  else
+	    return ERROR;	/* Char not a digit */
+	}
+      if (i >= base)
+	return ERROR;		/* Invalid digit in this base.  */
+      /* Portably test for integer overflow.  */
+      if (c != 'l' && c != 'u')
+	{
+	  ULONGEST n2 = prevn * base;
+	  if ((n2 / base != prevn) || (n2 + i < prevn))
+	    error (_("Numeric constant too large."));
+	}
+      prevn = n;
+    }
+
+  /* An integer constant is an int or a long.  An L suffix forces it to
+     be long, and a U suffix forces it to be unsigned.  To figure out
+     whether it fits, we shift it right and see whether anything remains.
+     Note that we can't shift sizeof (LONGEST) * HOST_CHAR_BIT bits or
+     more in one operation, because many compilers will warn about such a
+     shift (which always produces a zero result).  To deal with the case
+     where it is we just always shift the value more than once, with fewer
+     bits each time.  */
+  un = (ULONGEST) n >> 2;
+  if (long_p == 0 && (un >> 30) == 0)
+    {
+      high_bit = ((ULONGEST) 1) << 31;
+      signed_type = parse_d_type (ps)->builtin_int;
+      /* For decimal notation, keep the sign of the worked out type.  */
+      if (base == 10 && !unsigned_p)
+	unsigned_type = parse_d_type (ps)->builtin_long;
+      else
+	unsigned_type = parse_d_type (ps)->builtin_uint;
+    }
+  else
+    {
+      int shift;
+      if (sizeof (ULONGEST) * HOST_CHAR_BIT < 64)
+	/* A long long does not fit in a LONGEST.  */
+	shift = (sizeof (ULONGEST) * HOST_CHAR_BIT - 1);
+      else
+	shift = 63;
+      high_bit = (ULONGEST) 1 << shift;
+      signed_type = parse_d_type (ps)->builtin_long;
+      unsigned_type = parse_d_type (ps)->builtin_ulong;
+    }
+
+  putithere->typed_val_int.val = n;
+
+  /* If the high bit of the worked out type is set then this number
+     has to be unsigned_type.  */
+  if (unsigned_p || (n & high_bit))
+    putithere->typed_val_int.type = unsigned_type;
+  else
+    putithere->typed_val_int.type = signed_type;
+
+  return INTEGER_LITERAL;
+}
+
+/* Temporary obstack used for holding strings.  */
+static struct obstack tempbuf;
+static int tempbuf_init;
+
+/* Parse a string or character literal from TOKPTR.  The string or
+   character may be wide or unicode.  *OUTPTR is set to just after the
+   end of the literal in the input string.  The resulting token is
+   stored in VALUE.  This returns a token value, either STRING or
+   CHAR, depending on what was parsed.  *HOST_CHARS is set to the
+   number of host characters in the literal.  */
+
+static int
+parse_string_or_char (const char *tokptr, const char **outptr,
+		      struct typed_stoken *value, int *host_chars)
+{
+  int quote;
+
+  /* Build the gdb internal form of the input string in tempbuf.  Note
+     that the buffer is null byte terminated *only* for the
+     convenience of debugging gdb itself and printing the buffer
+     contents when the buffer contains no embedded nulls.  Gdb does
+     not depend upon the buffer being null byte terminated, it uses
+     the length string instead.  This allows gdb to handle C strings
+     (as well as strings in other languages) with embedded null
+     bytes */
+
+  if (!tempbuf_init)
+    tempbuf_init = 1;
+  else
+    obstack_free (&tempbuf, NULL);
+  obstack_init (&tempbuf);
+
+  /* Skip the quote.  */
+  quote = *tokptr;
+  ++tokptr;
+
+  *host_chars = 0;
+
+  while (*tokptr)
+    {
+      char c = *tokptr;
+      if (c == '\\')
+	{
+	   ++tokptr;
+	   *host_chars += c_parse_escape (&tokptr, &tempbuf);
+	}
+      else if (c == quote)
+	break;
+      else
+	{
+	  obstack_1grow (&tempbuf, c);
+	  ++tokptr;
+	  /* FIXME: this does the wrong thing with multi-byte host
+	     characters.  We could use mbrlen here, but that would
+	     make "set host-charset" a bit less useful.  */
+	  ++*host_chars;
+	}
+    }
+
+  if (*tokptr != quote)
+    {
+      if (quote == '"' || quote == '`')
+	error (_("Unterminated string in expression."));
+      else
+	error (_("Unmatched single quote."));
+    }
+  ++tokptr;
+
+  /* FIXME: should instead use own language string_type enum
+     and handle D-specific string suffixes here. */
+  if (quote == '\'')
+    value->type = C_CHAR;
+  else
+    value->type = C_STRING;
+
+  value->ptr = obstack_base (&tempbuf);
+  value->length = obstack_object_size (&tempbuf);
+
+  *outptr = tokptr;
+
+  return quote == '\'' ? CHARACTER_LITERAL : STRING_LITERAL;
+}
+
+struct token
+{
+  char *operator;
+  int token;
+  enum exp_opcode opcode;
+};
+
+static const struct token tokentab3[] =
+  {
+    {"^^=", ASSIGN_MODIFY, BINOP_EXP},
+    {"<<=", ASSIGN_MODIFY, BINOP_LSH},
+    {">>=", ASSIGN_MODIFY, BINOP_RSH},
+  };
+
+static const struct token tokentab2[] =
+  {
+    {"+=", ASSIGN_MODIFY, BINOP_ADD},
+    {"-=", ASSIGN_MODIFY, BINOP_SUB},
+    {"*=", ASSIGN_MODIFY, BINOP_MUL},
+    {"/=", ASSIGN_MODIFY, BINOP_DIV},
+    {"%=", ASSIGN_MODIFY, BINOP_REM},
+    {"|=", ASSIGN_MODIFY, BINOP_BITWISE_IOR},
+    {"&=", ASSIGN_MODIFY, BINOP_BITWISE_AND},
+    {"^=", ASSIGN_MODIFY, BINOP_BITWISE_XOR},
+    {"++", INCREMENT, BINOP_END},
+    {"--", DECREMENT, BINOP_END},
+    {"&&", ANDAND, BINOP_END},
+    {"||", OROR, BINOP_END},
+    {"^^", HATHAT, BINOP_END},
+    {"<<", LSH, BINOP_END},
+    {">>", RSH, BINOP_END},
+    {"==", EQUAL, BINOP_END},
+    {"!=", NOTEQUAL, BINOP_END},
+    {"<=", LEQ, BINOP_END},
+    {">=", GEQ, BINOP_END},
+    {"..", DOTDOT, BINOP_END},
+  };
+
+/* Identifier-like tokens.  */
+static const struct token ident_tokens[] =
+  {
+    {"is", IDENTITY, BINOP_END},
+    {"!is", NOTIDENTITY, BINOP_END},
+
+    {"cast", CAST_KEYWORD, OP_NULL},
+    {"const", CONST_KEYWORD, OP_NULL},
+    {"immutable", IMMUTABLE_KEYWORD, OP_NULL},
+    {"shared", SHARED_KEYWORD, OP_NULL},
+    {"super", SUPER_KEYWORD, OP_NULL},
+
+    {"null", NULL_KEYWORD, OP_NULL},
+    {"true", TRUE_KEYWORD, OP_NULL},
+    {"false", FALSE_KEYWORD, OP_NULL},
+
+    {"init", INIT_KEYWORD, OP_NULL},
+    {"sizeof", SIZEOF_KEYWORD, OP_NULL},
+    {"typeof", TYPEOF_KEYWORD, OP_NULL},
+    {"typeid", TYPEID_KEYWORD, OP_NULL},
+
+    {"delegate", DELEGATE_KEYWORD, OP_NULL},
+    {"function", FUNCTION_KEYWORD, OP_NULL},
+    {"struct", STRUCT_KEYWORD, OP_NULL},
+    {"union", UNION_KEYWORD, OP_NULL},
+    {"class", CLASS_KEYWORD, OP_NULL},
+    {"interface", INTERFACE_KEYWORD, OP_NULL},
+    {"enum", ENUM_KEYWORD, OP_NULL},
+    {"template", TEMPLATE_KEYWORD, OP_NULL},
+  };
+
+/* If NAME is a type name in this scope, return it.  */
+
+static struct type *
+d_type_from_name (struct stoken name)
+{
+  struct symbol *sym;
+  char *copy = copy_name (name);
+
+  sym = lookup_symbol (copy, expression_context_block,
+		       STRUCT_DOMAIN, NULL);
+  if (sym != NULL)
+    return SYMBOL_TYPE (sym);
+
+  return NULL;
+}
+
+/* If NAME is a module name in this scope, return it.  */
+
+static struct type *
+d_module_from_name (struct stoken name)
+{
+  struct symbol *sym;
+  char *copy = copy_name (name);
+
+  sym = lookup_symbol (copy, expression_context_block,
+		       MODULE_DOMAIN, NULL);
+  if (sym != NULL)
+    return SYMBOL_TYPE (sym);
+
+  return NULL;
+}
+
+/* If NAME is a valid variable name in this scope, push it and return 1.
+   Otherwise, return 0.  */
+
+static int
+push_variable (struct parser_state *ps, struct stoken name)
+{
+  char *copy = copy_name (name);
+  struct field_of_this_result is_a_field_of_this;
+  struct symbol *sym;
+  sym = lookup_symbol (copy, expression_context_block, VAR_DOMAIN,
+                       &is_a_field_of_this);
+  if (sym && SYMBOL_CLASS (sym) != LOC_TYPEDEF)
+    {
+      if (symbol_read_needs_frame (sym))
+        {
+          if (innermost_block == 0 ||
+              contained_in (block_found, innermost_block))
+            innermost_block = block_found;
+        }
+
+      write_exp_elt_opcode (ps, OP_VAR_VALUE);
+      /* We want to use the selected frame, not another more inner frame
+         which happens to be in the same block.  */
+      write_exp_elt_block (ps, NULL);
+      write_exp_elt_sym (ps, sym);
+      write_exp_elt_opcode (ps, OP_VAR_VALUE);
+      return 1;
+    }
+  if (is_a_field_of_this.type != NULL)
+    {
+      /* It hangs off of `this'.  Must not inadvertently convert from a
+         method call to data ref.  */
+      if (innermost_block == 0 ||
+          contained_in (block_found, innermost_block))
+        innermost_block = block_found;
+      write_exp_elt_opcode (ps, OP_THIS);
+      write_exp_elt_opcode (ps, OP_THIS);
+      write_exp_elt_opcode (ps, STRUCTOP_PTR);
+      write_exp_string (ps, name);
+      write_exp_elt_opcode (ps, STRUCTOP_PTR);
+      return 1;
+    }
+  return 0;
+}
+
+/* Assuming a reference expression has been pushed, emit the
+   STRUCTOP_PTR ops to access the field named NAME.  If NAME is a
+   qualified name (has '.'), generate a field access for each part.  */
+
+static void
+push_fieldnames (struct parser_state *ps, struct stoken name)
+{
+  int i;
+  struct stoken token;
+  token.ptr = name.ptr;
+  for (i = 0;  ;  i++)
+    {
+      if (i == name.length || name.ptr[i] == '.')
+        {
+          /* token.ptr is start of current field name.  */
+          token.length = &name.ptr[i] - token.ptr;
+          write_exp_elt_opcode (ps, STRUCTOP_PTR);
+          write_exp_string (ps, token);
+          write_exp_elt_opcode (ps, STRUCTOP_PTR);
+          token.ptr += token.length + 1;
+        }
+      if (i >= name.length)
+        break;
+    }
+}
+
+/* Helper routine for push_expression_name.  Handle a TYPE symbol,
+   where DOT_INDEX is the index of the first '.' if NAME is part of
+   a qualified type.  */
+
+static void
+push_type_name (struct parser_state *ps, struct type *type,
+		struct stoken name, int dot_index)
+{
+  if (dot_index == name.length)
+    {
+      write_exp_elt_opcode (ps, OP_TYPE);
+      write_exp_elt_type (ps, type);
+      write_exp_elt_opcode (ps, OP_TYPE);
+    }
+  else
+    {
+      struct stoken token;
+
+      token.ptr = name.ptr;
+      token.length = dot_index;
+
+      dot_index = 0;
+
+      while (dot_index < name.length && name.ptr[dot_index] != '.')
+	dot_index++;
+      token.ptr = name.ptr;
+      token.length = dot_index;
+
+      write_exp_elt_opcode (ps, OP_SCOPE);
+      write_exp_elt_type (ps, type);
+      write_exp_string (ps, token);
+      write_exp_elt_opcode (ps, OP_SCOPE);
+
+      if (dot_index < name.length)
+	{
+	  dot_index++;
+	  name.ptr += dot_index;
+	  name.length -= dot_index;
+	  push_fieldnames (ps, name);
+	}
+    }
+}
+
+/* Helper routine for push_expression_name.  Like push_type_name,
+   but used when TYPE is a module.  Returns 1 on pushing the symbol.  */
+
+static int
+push_module_name (struct parser_state *ps, struct type *module,
+		  struct stoken name, int dot_index)
+{
+  if (dot_index == name.length)
+    {
+      write_exp_elt_opcode (ps, OP_TYPE);
+      write_exp_elt_type (ps, module);
+      write_exp_elt_opcode (ps, OP_TYPE);
+      return 1;
+    }
+  else
+    {
+      struct symbol *sym;
+      char *copy;
+
+      copy = copy_name (name);
+      sym = lookup_symbol_in_static_block (copy, expression_context_block,
+					   VAR_DOMAIN);
+      if (sym != NULL)
+	sym = lookup_global_symbol (copy, expression_context_block,
+				    VAR_DOMAIN);
+
+      if (sym != NULL)
+	{
+	  if (SYMBOL_CLASS (sym) != LOC_TYPEDEF)
+	    {
+	      write_exp_elt_opcode (ps, OP_VAR_VALUE);
+	      write_exp_elt_block (ps, NULL);
+	      write_exp_elt_sym (ps, sym);
+	      write_exp_elt_opcode (ps, OP_VAR_VALUE);
+	    }
+	  else
+	    {
+	      write_exp_elt_opcode (ps, OP_TYPE);
+	      write_exp_elt_type (ps, SYMBOL_TYPE (sym));
+	      write_exp_elt_opcode (ps, OP_TYPE);
+	    }
+	  return 1;
+	}
+    }
+
+  return 0;
+}
+
+/* Handle NAME in an expression (or LHS), which could be a
+   variable, type, or module.  */
+
+static void
+push_expression_name (struct parser_state *ps, struct stoken name)
+{
+  struct stoken token;
+  struct type *typ;
+  struct bound_minimal_symbol msymbol;
+  char *copy;
+  int doti;
+
+  /* Handle VAR, which could be local or global.  */
+  if (push_variable (ps, name) != 0)
+    return;
+
+  /* Handle MODULE.  */
+  typ = d_module_from_name (name);
+  if (typ != NULL)
+    {
+      if (push_module_name (ps, typ, name, name.length) != 0)
+	return;
+    }
+
+  /* Handle TYPE.  */
+  typ = d_type_from_name (name);
+  if (typ != NULL)
+    {
+      push_type_name (ps, typ, name, name.length);
+      return;
+    }
+
+  /* Handle VAR.FIELD1..FIELDN.  */
+  for (doti = 0;  doti < name.length;  doti++)
+    {
+      if (name.ptr[doti] == '.')
+	{
+	  token.ptr = name.ptr;
+	  token.length = doti;
+
+	  if (push_variable (ps, token) != 0)
+	    {
+	      token.ptr = name.ptr + doti + 1;
+	      token.length = name.length - doti - 1;
+	      push_fieldnames (ps, token);
+	      return;
+	    }
+	  break;
+	}
+    }
+
+  /* Continue looking if we found a '.' in the name.  */
+  if (doti < name.length)
+    {
+      token.ptr = name.ptr;
+      for (;;)
+	{
+	  token.length = doti;
+
+	  /* Handle PACKAGE.MODULE.  */
+	  typ = d_module_from_name (token);
+	  if (typ != NULL)
+	    {
+	      if (push_module_name (ps, typ, name, doti) != 0)
+		return;
+	    }
+	  /* Handle TYPE.FIELD1..FIELDN.  */
+	  typ = d_type_from_name (token);
+	  if (typ != NULL)
+	    {
+	      push_type_name (ps, typ, name, doti);
+	      return;
+	    }
+
+	  if (doti >= name.length)
+	    break;
+	  doti++;   /* Skip '.'  */
+	  while (doti < name.length && name.ptr[doti] != '.')
+	    doti++;
+	}
+    }
+
+  /* Lookup foreign name in global static symbols.  */
+  copy  = copy_name (name);
+  msymbol = lookup_bound_minimal_symbol (copy);
+  if (msymbol.minsym != NULL)
+    write_exp_msymbol (ps, msymbol);
+  else if (!have_full_symbols () && !have_partial_symbols ())
+    error (_("No symbol table is loaded.  Use the \"file\" command"));
+  else
+    error (_("No symbol \"%s\" in current context."), copy);
+}
+
+/* This is set if a NAME token appeared at the very end of the input
+   string, with no whitespace separating the name from the EOF.  This
+   is used only when parsing to do field name completion.  */
+static int saw_name_at_eof;
+
+/* This is set if the previously-returned token was a structure operator.
+   This is used only when parsing to do field name completion.  */
+static int last_was_structop;
+
+/* Read one token, getting characters through lexptr.  */
+
+static int
+yylex (void)
+{
+  int c;
+  int namelen;
+  unsigned int i;
+  const char *tokstart;
+  int saw_structop = last_was_structop;
+  char *copy;
+
+  last_was_structop = 0;
+
+ retry:
+
+  prev_lexptr = lexptr;
+
+  tokstart = lexptr;
+  /* See if it is a special token of length 3.  */
+  for (i = 0; i < sizeof tokentab3 / sizeof tokentab3[0]; i++)
+    if (strncmp (tokstart, tokentab3[i].operator, 3) == 0)
+      {
+	lexptr += 3;
+	yylval.opcode = tokentab3[i].opcode;
+	return tokentab3[i].token;
+      }
+
+  /* See if it is a special token of length 2.  */
+  for (i = 0; i < sizeof tokentab2 / sizeof tokentab2[0]; i++)
+    if (strncmp (tokstart, tokentab2[i].operator, 2) == 0)
+      {
+	lexptr += 2;
+	yylval.opcode = tokentab2[i].opcode;
+	return tokentab2[i].token;
+      }
+
+  switch (c = *tokstart)
+    {
+    case 0:
+      /* If we're parsing for field name completion, and the previous
+	 token allows such completion, return a COMPLETE token.
+	 Otherwise, we were already scanning the original text, and
+	 we're really done.  */
+      if (saw_name_at_eof)
+	{
+	  saw_name_at_eof = 0;
+	  return COMPLETE;
+	}
+      else if (saw_structop)
+	return COMPLETE;
+      else
+        return 0;
+
+    case ' ':
+    case '\t':
+    case '\n':
+      lexptr++;
+      goto retry;
+
+    case '[':
+    case '(':
+      paren_depth++;
+      lexptr++;
+      return c;
+
+    case ']':
+    case ')':
+      if (paren_depth == 0)
+	return 0;
+      paren_depth--;
+      lexptr++;
+      return c;
+
+    case ',':
+      if (comma_terminates && paren_depth == 0)
+	return 0;
+      lexptr++;
+      return c;
+
+    case '.':
+      /* Might be a floating point number.  */
+      if (lexptr[1] < '0' || lexptr[1] > '9')
+	{
+	  if (parse_completion)
+	    last_was_structop = 1;
+	  goto symbol;		/* Nope, must be a symbol.  */
+	}
+      /* FALL THRU into number case.  */
+
+    case '0':
+    case '1':
+    case '2':
+    case '3':
+    case '4':
+    case '5':
+    case '6':
+    case '7':
+    case '8':
+    case '9':
+      {
+	/* It's a number.  */
+	int got_dot = 0, got_e = 0, toktype;
+	const char *p = tokstart;
+	int hex = input_radix > 10;
+
+	if (c == '0' && (p[1] == 'x' || p[1] == 'X'))
+	  {
+	    p += 2;
+	    hex = 1;
+	  }
+
+	for (;; ++p)
+	  {
+	    /* Hex exponents start with 'p', because 'e' is a valid hex
+	       digit and thus does not indicate a floating point number
+	       when the radix is hex.  */
+	    if ((!hex && !got_e && tolower (p[0]) == 'e')
+		|| (hex && !got_e && tolower (p[0] == 'p')))
+	      got_dot = got_e = 1;
+	    /* A '.' always indicates a decimal floating point number
+	       regardless of the radix.  If we have a '..' then its the
+	       end of the number and the beginning of a slice.  */
+	    else if (!got_dot && (p[0] == '.' && p[1] != '.'))
+		got_dot = 1;
+	    /* This is the sign of the exponent, not the end of the number.  */
+	    else if (got_e && (tolower (p[-1]) == 'e' || tolower (p[-1]) == 'p')
+		     && (*p == '-' || *p == '+'))
+	      continue;
+	    /* We will take any letters or digits, ignoring any embedded '_'.
+	       parse_number will complain if past the radix, or if L or U are
+	       not final.  */
+	    else if ((*p < '0' || *p > '9') && (*p != '_') &&
+		     ((*p < 'a' || *p > 'z') && (*p < 'A' || *p > 'Z')))
+	      break;
+	  }
+
+	toktype = parse_number (pstate, tokstart, p - tokstart,
+				got_dot|got_e, &yylval);
+	if (toktype == ERROR)
+	  {
+	    char *err_copy = (char *) alloca (p - tokstart + 1);
+
+	    memcpy (err_copy, tokstart, p - tokstart);
+	    err_copy[p - tokstart] = 0;
+	    error (_("Invalid number \"%s\"."), err_copy);
+	  }
+	lexptr = p;
+	return toktype;
+      }
+
+    case '@':
+      {
+	const char *p = &tokstart[1];
+	size_t len = strlen ("entry");
+
+	while (isspace (*p))
+	  p++;
+	if (strncmp (p, "entry", len) == 0 && !isalnum (p[len])
+	    && p[len] != '_')
+	  {
+	    lexptr = &p[len];
+	    return ENTRY;
+	  }
+      }
+      /* FALLTHRU */
+    case '+':
+    case '-':
+    case '*':
+    case '/':
+    case '%':
+    case '|':
+    case '&':
+    case '^':
+    case '~':
+    case '!':
+    case '<':
+    case '>':
+    case '?':
+    case ':':
+    case '=':
+    case '{':
+    case '}':
+    symbol:
+      lexptr++;
+      return c;
+
+    case '\'':
+    case '"':
+    case '`':
+      {
+	int host_len;
+	int result = parse_string_or_char (tokstart, &lexptr, &yylval.tsval,
+					   &host_len);
+	if (result == CHARACTER_LITERAL)
+	  {
+	    if (host_len == 0)
+	      error (_("Empty character constant."));
+	    else if (host_len > 2 && c == '\'')
+	      {
+		++tokstart;
+		namelen = lexptr - tokstart - 1;
+		goto tryname;
+	      }
+	    else if (host_len > 1)
+	      error (_("Invalid character constant."));
+	  }
+	return result;
+      }
+    }
+
+  if (!(c == '_' || c == '$'
+	|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')))
+    /* We must have come across a bad character (e.g. ';').  */
+    error (_("Invalid character '%c' in expression"), c);
+
+  /* It's a name.  See how long it is.  */
+  namelen = 0;
+  for (c = tokstart[namelen];
+       (c == '_' || c == '$' || (c >= '0' && c <= '9')
+	|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));)
+    c = tokstart[++namelen];
+
+  /* The token "if" terminates the expression and is NOT
+     removed from the input stream.  */
+  if (namelen == 2 && tokstart[0] == 'i' && tokstart[1] == 'f')
+    return 0;
+
+  /* For the same reason (breakpoint conditions), "thread N"
+     terminates the expression.  "thread" could be an identifier, but
+     an identifier is never followed by a number without intervening
+     punctuation.  "task" is similar.  Handle abbreviations of these,
+     similarly to breakpoint.c:find_condition_and_thread.  */
+  if (namelen >= 1
+      && (strncmp (tokstart, "thread", namelen) == 0
+	  || strncmp (tokstart, "task", namelen) == 0)
+      && (tokstart[namelen] == ' ' || tokstart[namelen] == '\t'))
+    {
+      const char *p = tokstart + namelen + 1;
+
+      while (*p == ' ' || *p == '\t')
+        p++;
+      if (*p >= '0' && *p <= '9')
+        return 0;
+    }
+
+  lexptr += namelen;
+
+ tryname:
+
+  yylval.sval.ptr = tokstart;
+  yylval.sval.length = namelen;
+
+  /* Catch specific keywords.  */
+  copy = copy_name (yylval.sval);
+  for (i = 0; i < sizeof ident_tokens / sizeof ident_tokens[0]; i++)
+    if (strcmp (copy, ident_tokens[i].operator) == 0)
+      {
+	/* It is ok to always set this, even though we don't always
+	   strictly need to.  */
+	yylval.opcode = ident_tokens[i].opcode;
+	return ident_tokens[i].token;
+      }
+
+  if (*tokstart == '$')
+    return DOLLAR_VARIABLE;
+
+  yylval.tsym.type
+    = language_lookup_primitive_type (parse_language (pstate),
+				      parse_gdbarch (pstate), copy);
+  if (yylval.tsym.type != NULL)
+    return TYPENAME;
+
+  /* Input names that aren't symbols but ARE valid hex numbers,
+     when the input radix permits them, can be names or numbers
+     depending on the parse.  Note we support radixes > 16 here.  */
+  if ((tokstart[0] >= 'a' && tokstart[0] < 'a' + input_radix - 10)
+      || (tokstart[0] >= 'A' && tokstart[0] < 'A' + input_radix - 10))
+    {
+      YYSTYPE newlval;	/* Its value is ignored.  */
+      int hextype = parse_number (pstate, tokstart, namelen, 0, &newlval);
+      if (hextype == INTEGER_LITERAL)
+	return NAME_OR_INT;
+    }
+
+  if (parse_completion && *lexptr == '\0')
+    saw_name_at_eof = 1;
+
+  return IDENTIFIER;
+}
+
+int
+d_parse (struct parser_state *par_state)
+{
+  int result;
+  struct cleanup *back_to;
+
+  /* Setting up the parser state.  */
+  gdb_assert (par_state != NULL);
+  pstate = par_state;
+
+  back_to = make_cleanup (null_cleanup, NULL);
+
+  make_cleanup_restore_integer (&yydebug);
+  make_cleanup_clear_parser_state (&pstate);
+  yydebug = parser_debug;
+
+  /* Initialize some state used by the lexer.  */
+  last_was_structop = 0;
+  saw_name_at_eof = 0;
+
+  result = yyparse ();
+  do_cleanups (back_to);
+  return result;
+}
+
+void
+yyerror (char *msg)
+{
+  if (prev_lexptr)
+    lexptr = prev_lexptr;
+
+  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+}
+
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-exp.y ./gdb/d-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-exp.y	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/d-exp.y	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,1636 @@
+/* YACC parser for D expressions, for GDB.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This file is derived from c-exp.y, jv-exp.y.  */
+
+/* Parse a D expression from text in a string,
+   and return the result as a struct expression pointer.
+   That structure contains arithmetic operations in reverse polish,
+   with constants represented by operations that are followed by special data.
+   See expression.h for the details of the format.
+   What is important here is that it can be built up sequentially
+   during the process of parsing; the lower levels of the tree always
+   come first in the result.
+
+   Note that malloc's and realloc's in this file are transformed to
+   xmalloc and xrealloc respectively by the same sed command in the
+   makefile that remaps any other malloc/realloc inserted by the parser
+   generator.  Doing this with #defines and trying to control the interaction
+   with include files (<malloc.h> and <stdlib.h> for example) just became
+   too messy, particularly when such includes can be inserted at random
+   times by the parser generator.  */
+
+%{
+
+#include "defs.h"
+#include <ctype.h>
+#include "expression.h"
+#include "value.h"
+#include "parser-defs.h"
+#include "language.h"
+#include "c-lang.h"
+#include "d-lang.h"
+#include "bfd.h" /* Required by objfiles.h.  */
+#include "symfile.h" /* Required by objfiles.h.  */
+#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
+#include "charset.h"
+#include "block.h"
+
+#define parse_type(ps) builtin_type (parse_gdbarch (ps))
+#define parse_d_type(ps) builtin_d_type (parse_gdbarch (ps))
+
+/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
+   as well as gratuitiously global symbol names, so we can have multiple
+   yacc generated parsers in gdb.  Note that these are only the variables
+   produced by yacc.  If other parser generators (bison, byacc, etc) produce
+   additional global names that conflict at link time, then those parser
+   generators need to be fixed instead of adding those names to this list.  */
+
+#define	yymaxdepth d_maxdepth
+#define	yyparse	d_parse_internal
+#define	yylex	d_lex
+#define	yyerror	d_error
+#define	yylval	d_lval
+#define	yychar	d_char
+#define	yydebug	d_debug
+#define	yypact	d_pact
+#define	yyr1	d_r1
+#define	yyr2	d_r2
+#define	yydef	d_def
+#define	yychk	d_chk
+#define	yypgo	d_pgo
+#define	yyact	d_act
+#define	yyexca	d_exca
+#define	yyerrflag d_errflag
+#define	yynerrs	d_nerrs
+#define	yyps	d_ps
+#define	yypv	d_pv
+#define	yys	d_s
+#define	yy_yys	d_yys
+#define	yystate	d_state
+#define	yytmp	d_tmp
+#define	yyv	d_v
+#define	yy_yyv	d_yyv
+#define	yyval	d_val
+#define	yylloc	d_lloc
+#define	yyreds	d_reds	/* With YYDEBUG defined */
+#define	yytoks	d_toks	/* With YYDEBUG defined */
+#define	yyname	d_name	/* With YYDEBUG defined */
+#define	yyrule	d_rule	/* With YYDEBUG defined */
+#define	yylhs	d_yylhs
+#define	yylen	d_yylen
+#define	yydefre	d_yydefred
+#define	yydgoto	d_yydgoto
+#define	yysindex d_yysindex
+#define	yyrindex d_yyrindex
+#define	yygindex d_yygindex
+#define	yytable	d_yytable
+#define	yycheck	d_yycheck
+#define	yyss	d_yyss
+#define	yysslim	d_yysslim
+#define	yyssp	d_yyssp
+#define	yystacksize d_yystacksize
+#define	yyvs	d_yyvs
+#define	yyvsp	d_yyvsp
+
+#ifndef YYDEBUG
+#define YYDEBUG 1	/* Default to yydebug support */
+#endif
+
+#define YYFPRINTF parser_fprintf
+
+/* The state of the parser, used internally when we are parsing the
+   expression.  */
+
+static struct parser_state *pstate = NULL;
+
+int yyparse (void);
+
+static int yylex (void);
+
+void yyerror (char *);
+
+%}
+
+/* Although the yacc "value" of an expression is not used,
+   since the result is stored in the structure being created,
+   other node types do have values.  */
+
+%union
+  {
+    struct {
+      LONGEST val;
+      struct type *type;
+    } typed_val_int;
+    struct {
+      DOUBLEST dval;
+      struct type *type;
+    } typed_val_float;
+    struct symbol *sym;
+    struct type *tval;
+    struct typed_stoken tsval;
+    struct stoken sval;
+    struct ttype tsym;
+    struct symtoken ssym;
+    int ival;
+    struct block *bval;
+    enum exp_opcode opcode;
+    struct stoken_vector svec;
+  }
+
+%{
+/* YYSTYPE gets defined by %union */
+static int parse_number (struct parser_state *, const char *,
+			 int, int, YYSTYPE *);
+
+static void push_expression_name (struct parser_state *, struct stoken);
+%}
+
+%token <sval> IDENTIFIER
+%token <tsym> TYPENAME
+%token <voidval> COMPLETE
+
+/* A NAME_OR_INT is a symbol which is not known in the symbol table,
+   but which would parse as a valid number in the current input radix.
+   E.g. "c" when input_radix==16.  Depending on the parse, it will be
+   turned into a name or into a number.  */
+
+%token <sval> NAME_OR_INT
+
+%token <typed_val_int> INTEGER_LITERAL
+%token <typed_val_float> FLOAT_LITERAL
+%token <tsval> CHARACTER_LITERAL
+%token <tsval> STRING_LITERAL
+
+%type <svec> StringExp
+%type <tval> BasicType TypeExp
+%type <sval> IdentifierExp
+%type <ival> ArrayLiteral
+
+%token ENTRY
+%token ERROR
+
+/* Keywords that have a constant value.  */
+%token TRUE_KEYWORD FALSE_KEYWORD NULL_KEYWORD
+/* Class 'super' accessor.  */
+%token SUPER_KEYWORD
+/* Properties.  */
+%token CAST_KEYWORD SIZEOF_KEYWORD
+%token TYPEOF_KEYWORD TYPEID_KEYWORD
+%token INIT_KEYWORD
+/* Comparison keywords.  */
+/* Type storage classes.  */
+%token IMMUTABLE_KEYWORD CONST_KEYWORD SHARED_KEYWORD
+/* Non-scalar type keywords.  */
+%token STRUCT_KEYWORD UNION_KEYWORD
+%token CLASS_KEYWORD INTERFACE_KEYWORD
+%token ENUM_KEYWORD TEMPLATE_KEYWORD
+%token DELEGATE_KEYWORD FUNCTION_KEYWORD
+
+%token <sval> DOLLAR_VARIABLE
+
+%token <opcode> ASSIGN_MODIFY
+
+%left ','
+%right '=' ASSIGN_MODIFY
+%right '?'
+%left OROR
+%left ANDAND
+%left '|'
+%left '^'
+%left '&'
+%left EQUAL NOTEQUAL '<' '>' LEQ GEQ
+%right LSH RSH
+%left '+' '-'
+%left '*' '/' '%'
+%right HATHAT
+%left IDENTITY NOTIDENTITY
+%right INCREMENT DECREMENT
+%right '.' '[' '('
+%token DOTDOT
+
+
+%%
+
+start   :
+	Expression
+|	TypeExp
+;
+
+/* Expressions, including the comma operator.  */
+
+Expression:
+	CommaExpression
+;
+
+CommaExpression:
+	AssignExpression
+|	AssignExpression ',' CommaExpression
+		{ write_exp_elt_opcode (pstate, BINOP_COMMA); }
+;
+
+AssignExpression:
+	ConditionalExpression
+|	ConditionalExpression '=' AssignExpression
+		{ write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
+|	ConditionalExpression ASSIGN_MODIFY AssignExpression
+		{ write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY);
+		  write_exp_elt_opcode (pstate, $2);
+		  write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY); }
+;
+
+ConditionalExpression:
+	OrOrExpression
+|	OrOrExpression '?' Expression ':' ConditionalExpression
+		{ write_exp_elt_opcode (pstate, TERNOP_COND); }
+;
+
+OrOrExpression:
+	AndAndExpression
+|	OrOrExpression OROR AndAndExpression
+		{ write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
+;
+
+AndAndExpression:
+	OrExpression
+|	AndAndExpression ANDAND OrExpression
+		{ write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
+;
+
+OrExpression:
+	XorExpression
+|	OrExpression '|' XorExpression
+		{ write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
+;
+
+XorExpression:
+	AndExpression
+|	XorExpression '^' AndExpression
+		{ write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
+;
+
+AndExpression:
+	CmpExpression
+|	AndExpression '&' CmpExpression
+		{ write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
+;
+
+CmpExpression:
+	ShiftExpression
+|	EqualExpression
+|	IdentityExpression
+|	RelExpression
+;
+
+EqualExpression:
+	ShiftExpression EQUAL ShiftExpression
+		{ write_exp_elt_opcode (pstate, BINOP_EQUAL); }
+|	ShiftExpression NOTEQUAL ShiftExpression
+		{ write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
+;
+
+IdentityExpression:
+	ShiftExpression IDENTITY ShiftExpression
+		{ write_exp_elt_opcode (pstate, BINOP_EQUAL); }
+|	ShiftExpression NOTIDENTITY ShiftExpression
+		{ write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
+;
+
+RelExpression:
+	ShiftExpression '<' ShiftExpression
+		{ write_exp_elt_opcode (pstate, BINOP_LESS); }
+|	ShiftExpression LEQ ShiftExpression
+		{ write_exp_elt_opcode (pstate, BINOP_LEQ); }
+|	ShiftExpression '>' ShiftExpression
+		{ write_exp_elt_opcode (pstate, BINOP_GTR); }
+|	ShiftExpression GEQ ShiftExpression
+		{ write_exp_elt_opcode (pstate, BINOP_GEQ); }
+;
+
+ShiftExpression:
+	AddExpression
+|	ShiftExpression LSH AddExpression
+		{ write_exp_elt_opcode (pstate, BINOP_LSH); }
+|	ShiftExpression RSH AddExpression
+		{ write_exp_elt_opcode (pstate, BINOP_RSH); }
+;
+
+AddExpression:
+	MulExpression
+|	AddExpression '+' MulExpression
+		{ write_exp_elt_opcode (pstate, BINOP_ADD); }
+|	AddExpression '-' MulExpression
+		{ write_exp_elt_opcode (pstate, BINOP_SUB); }
+|	AddExpression '~' MulExpression
+		{ write_exp_elt_opcode (pstate, BINOP_CONCAT); }
+;
+
+MulExpression:
+	UnaryExpression
+|	MulExpression '*' UnaryExpression
+		{ write_exp_elt_opcode (pstate, BINOP_MUL); }
+|	MulExpression '/' UnaryExpression
+		{ write_exp_elt_opcode (pstate, BINOP_DIV); }
+|	MulExpression '%' UnaryExpression
+		{ write_exp_elt_opcode (pstate, BINOP_REM); }
+
+UnaryExpression:
+	'&' UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_ADDR); }
+|	INCREMENT UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_PREINCREMENT); }
+|	DECREMENT UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_PREDECREMENT); }
+|	'*' UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_IND); }
+|	'-' UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_NEG); }
+|	'+' UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_PLUS); }
+|	'!' UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
+|	'~' UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_COMPLEMENT); }
+|	CastExpression
+|	PowExpression
+;
+
+CastExpression:
+	CAST_KEYWORD '(' TypeExp ')' UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_CAST);
+		  write_exp_elt_type (pstate, $3);
+		  write_exp_elt_opcode (pstate, UNOP_CAST); }
+	/* C style cast is illegal D, but is still recognised in
+	   the grammar, so we keep this around for convenience.  */
+|	'(' TypeExp ')' UnaryExpression
+		{ write_exp_elt_opcode (pstate, UNOP_CAST);
+		  write_exp_elt_type (pstate, $2);
+		  write_exp_elt_opcode (pstate, UNOP_CAST); }
+;
+
+PowExpression:
+	PostfixExpression
+|	PostfixExpression HATHAT UnaryExpression
+		{ write_exp_elt_opcode (pstate, BINOP_EXP); }
+;
+
+PostfixExpression:
+	PrimaryExpression
+|	PostfixExpression INCREMENT
+		{ write_exp_elt_opcode (pstate, UNOP_POSTINCREMENT); }
+|	PostfixExpression DECREMENT
+		{ write_exp_elt_opcode (pstate, UNOP_POSTDECREMENT); }
+|	CallExpression
+|	IndexExpression
+|	SliceExpression
+;
+
+ArgumentList:
+	AssignExpression
+		{ arglist_len = 1; }
+|	ArgumentList ',' AssignExpression
+		{ arglist_len++; }
+;
+
+ArgumentList_opt:
+	/* EMPTY */
+		{ arglist_len = 0; }
+|	ArgumentList
+;
+
+CallExpression:
+	PostfixExpression '('
+		{ start_arglist (); }
+	ArgumentList_opt ')'
+		{ write_exp_elt_opcode (pstate, OP_FUNCALL);
+		  write_exp_elt_longcst (pstate, (LONGEST) end_arglist ());
+		  write_exp_elt_opcode (pstate, OP_FUNCALL); }
+;
+
+IndexExpression:
+	PostfixExpression '[' ArgumentList ']'
+		{ if (arglist_len > 0)
+		    {
+		      write_exp_elt_opcode (pstate, MULTI_SUBSCRIPT);
+		      write_exp_elt_longcst (pstate, (LONGEST) arglist_len);
+		      write_exp_elt_opcode (pstate, MULTI_SUBSCRIPT);
+		    }
+		  else
+		    write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT);
+		}
+;
+
+SliceExpression:
+	PostfixExpression '[' ']'
+		{ /* Do nothing.  */ }
+|	PostfixExpression '[' AssignExpression DOTDOT AssignExpression ']'
+		{ write_exp_elt_opcode (pstate, TERNOP_SLICE); }
+;
+
+PrimaryExpression:
+	'(' Expression ')'
+		{ /* Do nothing.  */ }
+|	IdentifierExp
+		{ push_expression_name (pstate, $1); }
+|	IdentifierExp '.' COMPLETE
+		{ struct stoken s;
+		  s.ptr = "";
+		  s.length = 0;
+		  push_expression_name (pstate, $1);
+		  mark_struct_expression (pstate);
+		  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
+		  write_exp_string (pstate, s);
+		  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
+|	IdentifierExp '.' IDENTIFIER COMPLETE
+		{ push_expression_name (pstate, $1);
+		  mark_struct_expression (pstate);
+		  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
+		  write_exp_string (pstate, $3);
+		  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
+|	DOLLAR_VARIABLE
+		{ write_dollar_variable (pstate, $1); }
+|	NAME_OR_INT
+		{ YYSTYPE val;
+                  parse_number (pstate, $1.ptr, $1.length, 0, &val);
+		  write_exp_elt_opcode (pstate, OP_LONG);
+		  write_exp_elt_type (pstate, val.typed_val_int.type);
+		  write_exp_elt_longcst (pstate,
+					 (LONGEST) val.typed_val_int.val);
+		  write_exp_elt_opcode (pstate, OP_LONG); }
+|	NULL_KEYWORD
+		{ struct type *type = parse_d_type (pstate)->builtin_void;
+		  type = lookup_pointer_type (type);
+		  write_exp_elt_opcode (pstate, OP_LONG);
+		  write_exp_elt_type (pstate, type);
+		  write_exp_elt_longcst (pstate, (LONGEST) 0);
+		  write_exp_elt_opcode (pstate, OP_LONG); }
+|	TRUE_KEYWORD
+		{ write_exp_elt_opcode (pstate, OP_BOOL);
+		  write_exp_elt_longcst (pstate, (LONGEST) 1);
+		  write_exp_elt_opcode (pstate, OP_BOOL); }
+|	FALSE_KEYWORD
+		{ write_exp_elt_opcode (pstate, OP_BOOL);
+		  write_exp_elt_longcst (pstate, (LONGEST) 0);
+		  write_exp_elt_opcode (pstate, OP_BOOL); }
+|	INTEGER_LITERAL
+		{ write_exp_elt_opcode (pstate, OP_LONG);
+		  write_exp_elt_type (pstate, $1.type);
+		  write_exp_elt_longcst (pstate, (LONGEST)($1.val));
+		  write_exp_elt_opcode (pstate, OP_LONG); }
+|	FLOAT_LITERAL
+		{ write_exp_elt_opcode (pstate, OP_DOUBLE);
+		  write_exp_elt_type (pstate, $1.type);
+		  write_exp_elt_dblcst (pstate, $1.dval);
+		  write_exp_elt_opcode (pstate, OP_DOUBLE); }
+|	CHARACTER_LITERAL
+		{ struct stoken_vector vec;
+		  vec.len = 1;
+		  vec.tokens = &$1;
+		  write_exp_string_vector (pstate, $1.type, &vec); }
+|	StringExp
+		{ int i;
+		  write_exp_string_vector (pstate, 0, &$1);
+		  for (i = 0; i < $1.len; ++i)
+		    free ($1.tokens[i].ptr);
+		  free ($1.tokens); }
+|	ArrayLiteral
+		{ write_exp_elt_opcode (pstate, OP_ARRAY);
+		  write_exp_elt_longcst (pstate, (LONGEST) 0);
+		  write_exp_elt_longcst (pstate, (LONGEST) $1 - 1);
+		  write_exp_elt_opcode (pstate, OP_ARRAY); }
+;
+
+ArrayLiteral:
+	'[' ArgumentList_opt ']'
+		{ $$ = arglist_len; }
+;
+
+IdentifierExp:
+	IDENTIFIER
+|	IdentifierExp '.' IDENTIFIER
+		{ $$.length = $1.length + $3.length + 1;
+		  if ($1.ptr + $1.length + 1 == $3.ptr
+		      && $1.ptr[$1.length] == '.')
+		    $$.ptr = $1.ptr;  /* Optimization.  */
+		  else
+		    {
+		      char *buf = malloc ($$.length + 1);
+		      make_cleanup (free, buf);
+		      sprintf (buf, "%.*s.%.*s",
+		               $1.length, $1.ptr, $3.length, $3.ptr);
+		      $$.ptr = buf;
+		    }
+		}
+;
+
+StringExp:
+	STRING_LITERAL
+		{ /* We copy the string here, and not in the
+		     lexer, to guarantee that we do not leak a
+		     string.  Note that we follow the
+		     NUL-termination convention of the
+		     lexer.  */
+		  struct typed_stoken *vec = XNEW (struct typed_stoken);
+		  $$.len = 1;
+		  $$.tokens = vec;
+
+		  vec->type = $1.type;
+		  vec->length = $1.length;
+		  vec->ptr = malloc ($1.length + 1);
+		  memcpy (vec->ptr, $1.ptr, $1.length + 1);
+		}
+|	StringExp STRING_LITERAL
+		{ /* Note that we NUL-terminate here, but just
+		     for convenience.  */
+		  char *p;
+		  ++$$.len;
+		  $$.tokens = realloc ($$.tokens,
+				       $$.len * sizeof (struct typed_stoken));
+
+		  p = malloc ($2.length + 1);
+		  memcpy (p, $2.ptr, $2.length + 1);
+
+		  $$.tokens[$$.len - 1].type = $2.type;
+		  $$.tokens[$$.len - 1].length = $2.length;
+		  $$.tokens[$$.len - 1].ptr = p;
+		}
+;
+
+TypeExp:
+	BasicType
+		{ write_exp_elt_opcode (pstate, OP_TYPE);
+		  write_exp_elt_type (pstate, $1);
+		  write_exp_elt_opcode (pstate, OP_TYPE); }
+|	BasicType BasicType2
+		{ $$ = follow_types ($1);
+		  write_exp_elt_opcode (pstate, OP_TYPE);
+		  write_exp_elt_type (pstate, $$);
+		  write_exp_elt_opcode (pstate, OP_TYPE);
+		}
+;
+
+BasicType2:
+	'*'
+		{ push_type (tp_pointer); }
+|	'*' BasicType2
+		{ push_type (tp_pointer); }
+|	'[' INTEGER_LITERAL ']'
+		{ push_type_int ($2.val);
+		  push_type (tp_array); }
+|	'[' INTEGER_LITERAL ']' BasicType2
+		{ push_type_int ($2.val);
+		  push_type (tp_array); }
+;
+
+BasicType:
+	TYPENAME
+		{ $$ = $1.type; }
+|	CLASS_KEYWORD IdentifierExp
+		{ $$ = lookup_struct (copy_name ($2),
+				      expression_context_block); }
+|	CLASS_KEYWORD COMPLETE
+		{ mark_completion_tag (TYPE_CODE_STRUCT, "", 0);
+		  $$ = NULL; }
+|	CLASS_KEYWORD IdentifierExp COMPLETE
+		{ mark_completion_tag (TYPE_CODE_STRUCT, $2.ptr, $2.length);
+		  $$ = NULL; }
+|	STRUCT_KEYWORD IdentifierExp
+		{ $$ = lookup_struct (copy_name ($2),
+				      expression_context_block); }
+|	STRUCT_KEYWORD COMPLETE
+		{ mark_completion_tag (TYPE_CODE_STRUCT, "", 0);
+		  $$ = NULL; }
+|	STRUCT_KEYWORD IdentifierExp COMPLETE
+		{ mark_completion_tag (TYPE_CODE_STRUCT, $2.ptr, $2.length);
+		  $$ = NULL; }
+|	UNION_KEYWORD IdentifierExp
+		{ $$ = lookup_union (copy_name ($2),
+				     expression_context_block); }
+|	UNION_KEYWORD COMPLETE
+		{ mark_completion_tag (TYPE_CODE_UNION, "", 0);
+		  $$ = NULL; }
+|	UNION_KEYWORD IdentifierExp COMPLETE
+		{ mark_completion_tag (TYPE_CODE_UNION, $2.ptr, $2.length);
+		  $$ = NULL; }
+|	ENUM_KEYWORD IdentifierExp
+		{ $$ = lookup_enum (copy_name ($2),
+				    expression_context_block); }
+|	ENUM_KEYWORD COMPLETE
+		{ mark_completion_tag (TYPE_CODE_ENUM, "", 0);
+		  $$ = NULL; }
+|	ENUM_KEYWORD IdentifierExp COMPLETE
+		{ mark_completion_tag (TYPE_CODE_ENUM, $2.ptr, $2.length);
+		  $$ = NULL; }
+;
+
+%%
+
+/* Take care of parsing a number (anything that starts with a digit).
+   Set yylval and return the token type; update lexptr.
+   LEN is the number of characters in it.  */
+
+/*** Needs some error checking for the float case ***/
+
+static int
+parse_number (struct parser_state *ps, const char *p,
+	      int len, int parsed_float, YYSTYPE *putithere)
+{
+  ULONGEST n = 0;
+  ULONGEST prevn = 0;
+  ULONGEST un;
+
+  int i = 0;
+  int c;
+  int base = input_radix;
+  int unsigned_p = 0;
+  int long_p = 0;
+
+  /* We have found a "L" or "U" suffix.  */
+  int found_suffix = 0;
+
+  ULONGEST high_bit;
+  struct type *signed_type;
+  struct type *unsigned_type;
+
+  if (parsed_float)
+    {
+      const struct builtin_d_type *builtin_d_types;
+      const char *suffix;
+      int suffix_len;
+      char *s, *sp;
+
+      /* Strip out all embedded '_' before passing to parse_float.  */
+      s = (char *) alloca (len + 1);
+      sp = s;
+      while (len-- > 0)
+	{
+	  if (*p != '_')
+	    *sp++ = *p;
+	  p++;
+	}
+      *sp = '\0';
+      len = strlen (s);
+
+      if (! parse_float (s, len, &putithere->typed_val_float.dval, &suffix))
+	return ERROR;
+
+      suffix_len = s + len - suffix;
+
+      if (suffix_len == 0)
+	{
+	  putithere->typed_val_float.type
+	    = parse_d_type (ps)->builtin_double;
+	}
+      else if (suffix_len == 1)
+	{
+	  /* Check suffix for `f', `l', or `i' (float, real, or idouble).  */
+	  if (tolower (*suffix) == 'f')
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_float;
+	    }
+	  else if (tolower (*suffix) == 'l')
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_real;
+	    }
+	  else if (tolower (*suffix) == 'i')
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_idouble;
+	    }
+	  else
+	    return ERROR;
+	}
+      else if (suffix_len == 2)
+	{
+	  /* Check suffix for `fi' or `li' (ifloat or ireal).  */
+	  if (tolower (suffix[0]) == 'f' && tolower (suffix[1] == 'i'))
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_ifloat;
+	    }
+	  else if (tolower (suffix[0]) == 'l' && tolower (suffix[1] == 'i'))
+	    {
+	      putithere->typed_val_float.type
+		= parse_d_type (ps)->builtin_ireal;
+	    }
+	  else
+	    return ERROR;
+	}
+      else
+	return ERROR;
+
+      return FLOAT_LITERAL;
+    }
+
+  /* Handle base-switching prefixes 0x, 0b, 0 */
+  if (p[0] == '0')
+    switch (p[1])
+      {
+      case 'x':
+      case 'X':
+	if (len >= 3)
+	  {
+	    p += 2;
+	    base = 16;
+	    len -= 2;
+	  }
+	break;
+
+      case 'b':
+      case 'B':
+	if (len >= 3)
+	  {
+	    p += 2;
+	    base = 2;
+	    len -= 2;
+	  }
+	break;
+
+      default:
+	base = 8;
+	break;
+      }
+
+  while (len-- > 0)
+    {
+      c = *p++;
+      if (c == '_')
+	continue;	/* Ignore embedded '_'.  */
+      if (c >= 'A' && c <= 'Z')
+	c += 'a' - 'A';
+      if (c != 'l' && c != 'u')
+	n *= base;
+      if (c >= '0' && c <= '9')
+	{
+	  if (found_suffix)
+	    return ERROR;
+	  n += i = c - '0';
+	}
+      else
+	{
+	  if (base > 10 && c >= 'a' && c <= 'f')
+	    {
+	      if (found_suffix)
+	        return ERROR;
+	      n += i = c - 'a' + 10;
+	    }
+	  else if (c == 'l' && long_p == 0)
+	    {
+	      long_p = 1;
+	      found_suffix = 1;
+	    }
+	  else if (c == 'u' && unsigned_p == 0)
+	    {
+	      unsigned_p = 1;
+	      found_suffix = 1;
+	    }
+	  else
+	    return ERROR;	/* Char not a digit */
+	}
+      if (i >= base)
+	return ERROR;		/* Invalid digit in this base.  */
+      /* Portably test for integer overflow.  */
+      if (c != 'l' && c != 'u')
+	{
+	  ULONGEST n2 = prevn * base;
+	  if ((n2 / base != prevn) || (n2 + i < prevn))
+	    error (_("Numeric constant too large."));
+	}
+      prevn = n;
+    }
+
+  /* An integer constant is an int or a long.  An L suffix forces it to
+     be long, and a U suffix forces it to be unsigned.  To figure out
+     whether it fits, we shift it right and see whether anything remains.
+     Note that we can't shift sizeof (LONGEST) * HOST_CHAR_BIT bits or
+     more in one operation, because many compilers will warn about such a
+     shift (which always produces a zero result).  To deal with the case
+     where it is we just always shift the value more than once, with fewer
+     bits each time.  */
+  un = (ULONGEST) n >> 2;
+  if (long_p == 0 && (un >> 30) == 0)
+    {
+      high_bit = ((ULONGEST) 1) << 31;
+      signed_type = parse_d_type (ps)->builtin_int;
+      /* For decimal notation, keep the sign of the worked out type.  */
+      if (base == 10 && !unsigned_p)
+	unsigned_type = parse_d_type (ps)->builtin_long;
+      else
+	unsigned_type = parse_d_type (ps)->builtin_uint;
+    }
+  else
+    {
+      int shift;
+      if (sizeof (ULONGEST) * HOST_CHAR_BIT < 64)
+	/* A long long does not fit in a LONGEST.  */
+	shift = (sizeof (ULONGEST) * HOST_CHAR_BIT - 1);
+      else
+	shift = 63;
+      high_bit = (ULONGEST) 1 << shift;
+      signed_type = parse_d_type (ps)->builtin_long;
+      unsigned_type = parse_d_type (ps)->builtin_ulong;
+    }
+
+  putithere->typed_val_int.val = n;
+
+  /* If the high bit of the worked out type is set then this number
+     has to be unsigned_type.  */
+  if (unsigned_p || (n & high_bit))
+    putithere->typed_val_int.type = unsigned_type;
+  else
+    putithere->typed_val_int.type = signed_type;
+
+  return INTEGER_LITERAL;
+}
+
+/* Temporary obstack used for holding strings.  */
+static struct obstack tempbuf;
+static int tempbuf_init;
+
+/* Parse a string or character literal from TOKPTR.  The string or
+   character may be wide or unicode.  *OUTPTR is set to just after the
+   end of the literal in the input string.  The resulting token is
+   stored in VALUE.  This returns a token value, either STRING or
+   CHAR, depending on what was parsed.  *HOST_CHARS is set to the
+   number of host characters in the literal.  */
+
+static int
+parse_string_or_char (const char *tokptr, const char **outptr,
+		      struct typed_stoken *value, int *host_chars)
+{
+  int quote;
+
+  /* Build the gdb internal form of the input string in tempbuf.  Note
+     that the buffer is null byte terminated *only* for the
+     convenience of debugging gdb itself and printing the buffer
+     contents when the buffer contains no embedded nulls.  Gdb does
+     not depend upon the buffer being null byte terminated, it uses
+     the length string instead.  This allows gdb to handle C strings
+     (as well as strings in other languages) with embedded null
+     bytes */
+
+  if (!tempbuf_init)
+    tempbuf_init = 1;
+  else
+    obstack_free (&tempbuf, NULL);
+  obstack_init (&tempbuf);
+
+  /* Skip the quote.  */
+  quote = *tokptr;
+  ++tokptr;
+
+  *host_chars = 0;
+
+  while (*tokptr)
+    {
+      char c = *tokptr;
+      if (c == '\\')
+	{
+	   ++tokptr;
+	   *host_chars += c_parse_escape (&tokptr, &tempbuf);
+	}
+      else if (c == quote)
+	break;
+      else
+	{
+	  obstack_1grow (&tempbuf, c);
+	  ++tokptr;
+	  /* FIXME: this does the wrong thing with multi-byte host
+	     characters.  We could use mbrlen here, but that would
+	     make "set host-charset" a bit less useful.  */
+	  ++*host_chars;
+	}
+    }
+
+  if (*tokptr != quote)
+    {
+      if (quote == '"' || quote == '`')
+	error (_("Unterminated string in expression."));
+      else
+	error (_("Unmatched single quote."));
+    }
+  ++tokptr;
+
+  /* FIXME: should instead use own language string_type enum
+     and handle D-specific string suffixes here. */
+  if (quote == '\'')
+    value->type = C_CHAR;
+  else
+    value->type = C_STRING;
+
+  value->ptr = obstack_base (&tempbuf);
+  value->length = obstack_object_size (&tempbuf);
+
+  *outptr = tokptr;
+
+  return quote == '\'' ? CHARACTER_LITERAL : STRING_LITERAL;
+}
+
+struct token
+{
+  char *operator;
+  int token;
+  enum exp_opcode opcode;
+};
+
+static const struct token tokentab3[] =
+  {
+    {"^^=", ASSIGN_MODIFY, BINOP_EXP},
+    {"<<=", ASSIGN_MODIFY, BINOP_LSH},
+    {">>=", ASSIGN_MODIFY, BINOP_RSH},
+  };
+
+static const struct token tokentab2[] =
+  {
+    {"+=", ASSIGN_MODIFY, BINOP_ADD},
+    {"-=", ASSIGN_MODIFY, BINOP_SUB},
+    {"*=", ASSIGN_MODIFY, BINOP_MUL},
+    {"/=", ASSIGN_MODIFY, BINOP_DIV},
+    {"%=", ASSIGN_MODIFY, BINOP_REM},
+    {"|=", ASSIGN_MODIFY, BINOP_BITWISE_IOR},
+    {"&=", ASSIGN_MODIFY, BINOP_BITWISE_AND},
+    {"^=", ASSIGN_MODIFY, BINOP_BITWISE_XOR},
+    {"++", INCREMENT, BINOP_END},
+    {"--", DECREMENT, BINOP_END},
+    {"&&", ANDAND, BINOP_END},
+    {"||", OROR, BINOP_END},
+    {"^^", HATHAT, BINOP_END},
+    {"<<", LSH, BINOP_END},
+    {">>", RSH, BINOP_END},
+    {"==", EQUAL, BINOP_END},
+    {"!=", NOTEQUAL, BINOP_END},
+    {"<=", LEQ, BINOP_END},
+    {">=", GEQ, BINOP_END},
+    {"..", DOTDOT, BINOP_END},
+  };
+
+/* Identifier-like tokens.  */
+static const struct token ident_tokens[] =
+  {
+    {"is", IDENTITY, BINOP_END},
+    {"!is", NOTIDENTITY, BINOP_END},
+
+    {"cast", CAST_KEYWORD, OP_NULL},
+    {"const", CONST_KEYWORD, OP_NULL},
+    {"immutable", IMMUTABLE_KEYWORD, OP_NULL},
+    {"shared", SHARED_KEYWORD, OP_NULL},
+    {"super", SUPER_KEYWORD, OP_NULL},
+
+    {"null", NULL_KEYWORD, OP_NULL},
+    {"true", TRUE_KEYWORD, OP_NULL},
+    {"false", FALSE_KEYWORD, OP_NULL},
+
+    {"init", INIT_KEYWORD, OP_NULL},
+    {"sizeof", SIZEOF_KEYWORD, OP_NULL},
+    {"typeof", TYPEOF_KEYWORD, OP_NULL},
+    {"typeid", TYPEID_KEYWORD, OP_NULL},
+
+    {"delegate", DELEGATE_KEYWORD, OP_NULL},
+    {"function", FUNCTION_KEYWORD, OP_NULL},
+    {"struct", STRUCT_KEYWORD, OP_NULL},
+    {"union", UNION_KEYWORD, OP_NULL},
+    {"class", CLASS_KEYWORD, OP_NULL},
+    {"interface", INTERFACE_KEYWORD, OP_NULL},
+    {"enum", ENUM_KEYWORD, OP_NULL},
+    {"template", TEMPLATE_KEYWORD, OP_NULL},
+  };
+
+/* If NAME is a type name in this scope, return it.  */
+
+static struct type *
+d_type_from_name (struct stoken name)
+{
+  struct symbol *sym;
+  char *copy = copy_name (name);
+
+  sym = lookup_symbol (copy, expression_context_block,
+		       STRUCT_DOMAIN, NULL);
+  if (sym != NULL)
+    return SYMBOL_TYPE (sym);
+
+  return NULL;
+}
+
+/* If NAME is a module name in this scope, return it.  */
+
+static struct type *
+d_module_from_name (struct stoken name)
+{
+  struct symbol *sym;
+  char *copy = copy_name (name);
+
+  sym = lookup_symbol (copy, expression_context_block,
+		       MODULE_DOMAIN, NULL);
+  if (sym != NULL)
+    return SYMBOL_TYPE (sym);
+
+  return NULL;
+}
+
+/* If NAME is a valid variable name in this scope, push it and return 1.
+   Otherwise, return 0.  */
+
+static int
+push_variable (struct parser_state *ps, struct stoken name)
+{
+  char *copy = copy_name (name);
+  struct field_of_this_result is_a_field_of_this;
+  struct symbol *sym;
+  sym = lookup_symbol (copy, expression_context_block, VAR_DOMAIN,
+                       &is_a_field_of_this);
+  if (sym && SYMBOL_CLASS (sym) != LOC_TYPEDEF)
+    {
+      if (symbol_read_needs_frame (sym))
+        {
+          if (innermost_block == 0 ||
+              contained_in (block_found, innermost_block))
+            innermost_block = block_found;
+        }
+
+      write_exp_elt_opcode (ps, OP_VAR_VALUE);
+      /* We want to use the selected frame, not another more inner frame
+         which happens to be in the same block.  */
+      write_exp_elt_block (ps, NULL);
+      write_exp_elt_sym (ps, sym);
+      write_exp_elt_opcode (ps, OP_VAR_VALUE);
+      return 1;
+    }
+  if (is_a_field_of_this.type != NULL)
+    {
+      /* It hangs off of `this'.  Must not inadvertently convert from a
+         method call to data ref.  */
+      if (innermost_block == 0 ||
+          contained_in (block_found, innermost_block))
+        innermost_block = block_found;
+      write_exp_elt_opcode (ps, OP_THIS);
+      write_exp_elt_opcode (ps, OP_THIS);
+      write_exp_elt_opcode (ps, STRUCTOP_PTR);
+      write_exp_string (ps, name);
+      write_exp_elt_opcode (ps, STRUCTOP_PTR);
+      return 1;
+    }
+  return 0;
+}
+
+/* Assuming a reference expression has been pushed, emit the
+   STRUCTOP_PTR ops to access the field named NAME.  If NAME is a
+   qualified name (has '.'), generate a field access for each part.  */
+
+static void
+push_fieldnames (struct parser_state *ps, struct stoken name)
+{
+  int i;
+  struct stoken token;
+  token.ptr = name.ptr;
+  for (i = 0;  ;  i++)
+    {
+      if (i == name.length || name.ptr[i] == '.')
+        {
+          /* token.ptr is start of current field name.  */
+          token.length = &name.ptr[i] - token.ptr;
+          write_exp_elt_opcode (ps, STRUCTOP_PTR);
+          write_exp_string (ps, token);
+          write_exp_elt_opcode (ps, STRUCTOP_PTR);
+          token.ptr += token.length + 1;
+        }
+      if (i >= name.length)
+        break;
+    }
+}
+
+/* Helper routine for push_expression_name.  Handle a TYPE symbol,
+   where DOT_INDEX is the index of the first '.' if NAME is part of
+   a qualified type.  */
+
+static void
+push_type_name (struct parser_state *ps, struct type *type,
+		struct stoken name, int dot_index)
+{
+  if (dot_index == name.length)
+    {
+      write_exp_elt_opcode (ps, OP_TYPE);
+      write_exp_elt_type (ps, type);
+      write_exp_elt_opcode (ps, OP_TYPE);
+    }
+  else
+    {
+      struct stoken token;
+
+      token.ptr = name.ptr;
+      token.length = dot_index;
+
+      dot_index = 0;
+
+      while (dot_index < name.length && name.ptr[dot_index] != '.')
+	dot_index++;
+      token.ptr = name.ptr;
+      token.length = dot_index;
+
+      write_exp_elt_opcode (ps, OP_SCOPE);
+      write_exp_elt_type (ps, type);
+      write_exp_string (ps, token);
+      write_exp_elt_opcode (ps, OP_SCOPE);
+
+      if (dot_index < name.length)
+	{
+	  dot_index++;
+	  name.ptr += dot_index;
+	  name.length -= dot_index;
+	  push_fieldnames (ps, name);
+	}
+    }
+}
+
+/* Helper routine for push_expression_name.  Like push_type_name,
+   but used when TYPE is a module.  Returns 1 on pushing the symbol.  */
+
+static int
+push_module_name (struct parser_state *ps, struct type *module,
+		  struct stoken name, int dot_index)
+{
+  if (dot_index == name.length)
+    {
+      write_exp_elt_opcode (ps, OP_TYPE);
+      write_exp_elt_type (ps, module);
+      write_exp_elt_opcode (ps, OP_TYPE);
+      return 1;
+    }
+  else
+    {
+      struct symbol *sym;
+      char *copy;
+
+      copy = copy_name (name);
+      sym = lookup_symbol_in_static_block (copy, expression_context_block,
+					   VAR_DOMAIN);
+      if (sym != NULL)
+	sym = lookup_global_symbol (copy, expression_context_block,
+				    VAR_DOMAIN);
+
+      if (sym != NULL)
+	{
+	  if (SYMBOL_CLASS (sym) != LOC_TYPEDEF)
+	    {
+	      write_exp_elt_opcode (ps, OP_VAR_VALUE);
+	      write_exp_elt_block (ps, NULL);
+	      write_exp_elt_sym (ps, sym);
+	      write_exp_elt_opcode (ps, OP_VAR_VALUE);
+	    }
+	  else
+	    {
+	      write_exp_elt_opcode (ps, OP_TYPE);
+	      write_exp_elt_type (ps, SYMBOL_TYPE (sym));
+	      write_exp_elt_opcode (ps, OP_TYPE);
+	    }
+	  return 1;
+	}
+    }
+
+  return 0;
+}
+
+/* Handle NAME in an expression (or LHS), which could be a
+   variable, type, or module.  */
+
+static void
+push_expression_name (struct parser_state *ps, struct stoken name)
+{
+  struct stoken token;
+  struct type *typ;
+  struct bound_minimal_symbol msymbol;
+  char *copy;
+  int doti;
+
+  /* Handle VAR, which could be local or global.  */
+  if (push_variable (ps, name) != 0)
+    return;
+
+  /* Handle MODULE.  */
+  typ = d_module_from_name (name);
+  if (typ != NULL)
+    {
+      if (push_module_name (ps, typ, name, name.length) != 0)
+	return;
+    }
+
+  /* Handle TYPE.  */
+  typ = d_type_from_name (name);
+  if (typ != NULL)
+    {
+      push_type_name (ps, typ, name, name.length);
+      return;
+    }
+
+  /* Handle VAR.FIELD1..FIELDN.  */
+  for (doti = 0;  doti < name.length;  doti++)
+    {
+      if (name.ptr[doti] == '.')
+	{
+	  token.ptr = name.ptr;
+	  token.length = doti;
+
+	  if (push_variable (ps, token) != 0)
+	    {
+	      token.ptr = name.ptr + doti + 1;
+	      token.length = name.length - doti - 1;
+	      push_fieldnames (ps, token);
+	      return;
+	    }
+	  break;
+	}
+    }
+
+  /* Continue looking if we found a '.' in the name.  */
+  if (doti < name.length)
+    {
+      token.ptr = name.ptr;
+      for (;;)
+	{
+	  token.length = doti;
+
+	  /* Handle PACKAGE.MODULE.  */
+	  typ = d_module_from_name (token);
+	  if (typ != NULL)
+	    {
+	      if (push_module_name (ps, typ, name, doti) != 0)
+		return;
+	    }
+	  /* Handle TYPE.FIELD1..FIELDN.  */
+	  typ = d_type_from_name (token);
+	  if (typ != NULL)
+	    {
+	      push_type_name (ps, typ, name, doti);
+	      return;
+	    }
+
+	  if (doti >= name.length)
+	    break;
+	  doti++;   /* Skip '.'  */
+	  while (doti < name.length && name.ptr[doti] != '.')
+	    doti++;
+	}
+    }
+
+  /* Lookup foreign name in global static symbols.  */
+  copy  = copy_name (name);
+  msymbol = lookup_bound_minimal_symbol (copy);
+  if (msymbol.minsym != NULL)
+    write_exp_msymbol (ps, msymbol);
+  else if (!have_full_symbols () && !have_partial_symbols ())
+    error (_("No symbol table is loaded.  Use the \"file\" command"));
+  else
+    error (_("No symbol \"%s\" in current context."), copy);
+}
+
+/* This is set if a NAME token appeared at the very end of the input
+   string, with no whitespace separating the name from the EOF.  This
+   is used only when parsing to do field name completion.  */
+static int saw_name_at_eof;
+
+/* This is set if the previously-returned token was a structure operator.
+   This is used only when parsing to do field name completion.  */
+static int last_was_structop;
+
+/* Read one token, getting characters through lexptr.  */
+
+static int
+yylex (void)
+{
+  int c;
+  int namelen;
+  unsigned int i;
+  const char *tokstart;
+  int saw_structop = last_was_structop;
+  char *copy;
+
+  last_was_structop = 0;
+
+ retry:
+
+  prev_lexptr = lexptr;
+
+  tokstart = lexptr;
+  /* See if it is a special token of length 3.  */
+  for (i = 0; i < sizeof tokentab3 / sizeof tokentab3[0]; i++)
+    if (strncmp (tokstart, tokentab3[i].operator, 3) == 0)
+      {
+	lexptr += 3;
+	yylval.opcode = tokentab3[i].opcode;
+	return tokentab3[i].token;
+      }
+
+  /* See if it is a special token of length 2.  */
+  for (i = 0; i < sizeof tokentab2 / sizeof tokentab2[0]; i++)
+    if (strncmp (tokstart, tokentab2[i].operator, 2) == 0)
+      {
+	lexptr += 2;
+	yylval.opcode = tokentab2[i].opcode;
+	return tokentab2[i].token;
+      }
+
+  switch (c = *tokstart)
+    {
+    case 0:
+      /* If we're parsing for field name completion, and the previous
+	 token allows such completion, return a COMPLETE token.
+	 Otherwise, we were already scanning the original text, and
+	 we're really done.  */
+      if (saw_name_at_eof)
+	{
+	  saw_name_at_eof = 0;
+	  return COMPLETE;
+	}
+      else if (saw_structop)
+	return COMPLETE;
+      else
+        return 0;
+
+    case ' ':
+    case '\t':
+    case '\n':
+      lexptr++;
+      goto retry;
+
+    case '[':
+    case '(':
+      paren_depth++;
+      lexptr++;
+      return c;
+
+    case ']':
+    case ')':
+      if (paren_depth == 0)
+	return 0;
+      paren_depth--;
+      lexptr++;
+      return c;
+
+    case ',':
+      if (comma_terminates && paren_depth == 0)
+	return 0;
+      lexptr++;
+      return c;
+
+    case '.':
+      /* Might be a floating point number.  */
+      if (lexptr[1] < '0' || lexptr[1] > '9')
+	{
+	  if (parse_completion)
+	    last_was_structop = 1;
+	  goto symbol;		/* Nope, must be a symbol.  */
+	}
+      /* FALL THRU into number case.  */
+
+    case '0':
+    case '1':
+    case '2':
+    case '3':
+    case '4':
+    case '5':
+    case '6':
+    case '7':
+    case '8':
+    case '9':
+      {
+	/* It's a number.  */
+	int got_dot = 0, got_e = 0, toktype;
+	const char *p = tokstart;
+	int hex = input_radix > 10;
+
+	if (c == '0' && (p[1] == 'x' || p[1] == 'X'))
+	  {
+	    p += 2;
+	    hex = 1;
+	  }
+
+	for (;; ++p)
+	  {
+	    /* Hex exponents start with 'p', because 'e' is a valid hex
+	       digit and thus does not indicate a floating point number
+	       when the radix is hex.  */
+	    if ((!hex && !got_e && tolower (p[0]) == 'e')
+		|| (hex && !got_e && tolower (p[0] == 'p')))
+	      got_dot = got_e = 1;
+	    /* A '.' always indicates a decimal floating point number
+	       regardless of the radix.  If we have a '..' then its the
+	       end of the number and the beginning of a slice.  */
+	    else if (!got_dot && (p[0] == '.' && p[1] != '.'))
+		got_dot = 1;
+	    /* This is the sign of the exponent, not the end of the number.  */
+	    else if (got_e && (tolower (p[-1]) == 'e' || tolower (p[-1]) == 'p')
+		     && (*p == '-' || *p == '+'))
+	      continue;
+	    /* We will take any letters or digits, ignoring any embedded '_'.
+	       parse_number will complain if past the radix, or if L or U are
+	       not final.  */
+	    else if ((*p < '0' || *p > '9') && (*p != '_') &&
+		     ((*p < 'a' || *p > 'z') && (*p < 'A' || *p > 'Z')))
+	      break;
+	  }
+
+	toktype = parse_number (pstate, tokstart, p - tokstart,
+				got_dot|got_e, &yylval);
+	if (toktype == ERROR)
+	  {
+	    char *err_copy = (char *) alloca (p - tokstart + 1);
+
+	    memcpy (err_copy, tokstart, p - tokstart);
+	    err_copy[p - tokstart] = 0;
+	    error (_("Invalid number \"%s\"."), err_copy);
+	  }
+	lexptr = p;
+	return toktype;
+      }
+
+    case '@':
+      {
+	const char *p = &tokstart[1];
+	size_t len = strlen ("entry");
+
+	while (isspace (*p))
+	  p++;
+	if (strncmp (p, "entry", len) == 0 && !isalnum (p[len])
+	    && p[len] != '_')
+	  {
+	    lexptr = &p[len];
+	    return ENTRY;
+	  }
+      }
+      /* FALLTHRU */
+    case '+':
+    case '-':
+    case '*':
+    case '/':
+    case '%':
+    case '|':
+    case '&':
+    case '^':
+    case '~':
+    case '!':
+    case '<':
+    case '>':
+    case '?':
+    case ':':
+    case '=':
+    case '{':
+    case '}':
+    symbol:
+      lexptr++;
+      return c;
+
+    case '\'':
+    case '"':
+    case '`':
+      {
+	int host_len;
+	int result = parse_string_or_char (tokstart, &lexptr, &yylval.tsval,
+					   &host_len);
+	if (result == CHARACTER_LITERAL)
+	  {
+	    if (host_len == 0)
+	      error (_("Empty character constant."));
+	    else if (host_len > 2 && c == '\'')
+	      {
+		++tokstart;
+		namelen = lexptr - tokstart - 1;
+		goto tryname;
+	      }
+	    else if (host_len > 1)
+	      error (_("Invalid character constant."));
+	  }
+	return result;
+      }
+    }
+
+  if (!(c == '_' || c == '$'
+	|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')))
+    /* We must have come across a bad character (e.g. ';').  */
+    error (_("Invalid character '%c' in expression"), c);
+
+  /* It's a name.  See how long it is.  */
+  namelen = 0;
+  for (c = tokstart[namelen];
+       (c == '_' || c == '$' || (c >= '0' && c <= '9')
+	|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));)
+    c = tokstart[++namelen];
+
+  /* The token "if" terminates the expression and is NOT
+     removed from the input stream.  */
+  if (namelen == 2 && tokstart[0] == 'i' && tokstart[1] == 'f')
+    return 0;
+
+  /* For the same reason (breakpoint conditions), "thread N"
+     terminates the expression.  "thread" could be an identifier, but
+     an identifier is never followed by a number without intervening
+     punctuation.  "task" is similar.  Handle abbreviations of these,
+     similarly to breakpoint.c:find_condition_and_thread.  */
+  if (namelen >= 1
+      && (strncmp (tokstart, "thread", namelen) == 0
+	  || strncmp (tokstart, "task", namelen) == 0)
+      && (tokstart[namelen] == ' ' || tokstart[namelen] == '\t'))
+    {
+      const char *p = tokstart + namelen + 1;
+
+      while (*p == ' ' || *p == '\t')
+        p++;
+      if (*p >= '0' && *p <= '9')
+        return 0;
+    }
+
+  lexptr += namelen;
+
+ tryname:
+
+  yylval.sval.ptr = tokstart;
+  yylval.sval.length = namelen;
+
+  /* Catch specific keywords.  */
+  copy = copy_name (yylval.sval);
+  for (i = 0; i < sizeof ident_tokens / sizeof ident_tokens[0]; i++)
+    if (strcmp (copy, ident_tokens[i].operator) == 0)
+      {
+	/* It is ok to always set this, even though we don't always
+	   strictly need to.  */
+	yylval.opcode = ident_tokens[i].opcode;
+	return ident_tokens[i].token;
+      }
+
+  if (*tokstart == '$')
+    return DOLLAR_VARIABLE;
+
+  yylval.tsym.type
+    = language_lookup_primitive_type (parse_language (pstate),
+				      parse_gdbarch (pstate), copy);
+  if (yylval.tsym.type != NULL)
+    return TYPENAME;
+
+  /* Input names that aren't symbols but ARE valid hex numbers,
+     when the input radix permits them, can be names or numbers
+     depending on the parse.  Note we support radixes > 16 here.  */
+  if ((tokstart[0] >= 'a' && tokstart[0] < 'a' + input_radix - 10)
+      || (tokstart[0] >= 'A' && tokstart[0] < 'A' + input_radix - 10))
+    {
+      YYSTYPE newlval;	/* Its value is ignored.  */
+      int hextype = parse_number (pstate, tokstart, namelen, 0, &newlval);
+      if (hextype == INTEGER_LITERAL)
+	return NAME_OR_INT;
+    }
+
+  if (parse_completion && *lexptr == '\0')
+    saw_name_at_eof = 1;
+
+  return IDENTIFIER;
+}
+
+int
+d_parse (struct parser_state *par_state)
+{
+  int result;
+  struct cleanup *back_to;
+
+  /* Setting up the parser state.  */
+  gdb_assert (par_state != NULL);
+  pstate = par_state;
+
+  back_to = make_cleanup (null_cleanup, NULL);
+
+  make_cleanup_restore_integer (&yydebug);
+  make_cleanup_clear_parser_state (&pstate);
+  yydebug = parser_debug;
+
+  /* Initialize some state used by the lexer.  */
+  last_was_structop = 0;
+  saw_name_at_eof = 0;
+
+  result = yyparse ();
+  do_cleanups (back_to);
+  return result;
+}
+
+void
+yyerror (char *msg)
+{
+  if (prev_lexptr)
+    lexptr = prev_lexptr;
+
+  error (_("A %s in expression, near `%s'."), (msg ? msg : "error"), lexptr);
+}
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dfp.c ./gdb/dfp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dfp.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dfp.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Decimal floating point support for GDB.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dfp.h ./gdb/dfp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dfp.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dfp.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Decimal floating point support for GDB.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dicos-tdep.c ./gdb/dicos-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dicos-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dicos-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent, architecture-independent code for DICOS, for GDB.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "osabi.h"
-#include <string.h>
 #include "solib.h"
 #include "solib-target.h"
 #include "inferior.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dicos-tdep.h ./gdb/dicos-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dicos-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dicos-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent, architecture-independent code for DICOS, for GDB.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dictionary.c ./gdb/dictionary.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dictionary.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dictionary.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Routines for name->symbol lookups in GDB.
    
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by David Carlton <carlton@bactrian.org> and by Kealia,
    Inc.
@@ -25,7 +25,6 @@
 #include "gdb_obstack.h"
 #include "symtab.h"
 #include "buildsym.h"
-#include "gdb_assert.h"
 #include "dictionary.h"
 
 /* This file implements dictionaries, which are tables that associate
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dictionary.h ./gdb/dictionary.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dictionary.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dictionary.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Routines for name->symbol lookups in GDB.
    
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by David Carlton <carlton@bactrian.org> and by Kealia,
    Inc.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dink32-rom.c ./gdb/dink32-rom.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dink32-rom.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dink32-rom.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote debugging interface for DINK32 (PowerPC) ROM monitor for
    GDB, the GNU debugger.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,8 +26,6 @@
 #include "inferior.h"
 #include "regcache.h"
 
-static void dink32_open (char *args, int from_tty);
-
 static void
 dink32_supply_register (struct regcache *regcache, char *regname,
 			int regnamelen, char *val, int vallen)
@@ -123,7 +121,7 @@ static char *dink32_inits[] =
 static struct monitor_ops dink32_cmds;
 
 static void
-dink32_open (char *args, int from_tty)
+dink32_open (const char *args, int from_tty)
 {
   monitor_open (args, &dink32_cmds, from_tty);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/.dir-locals.el ./gdb/.dir-locals.el
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/.dir-locals.el	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/.dir-locals.el	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 ;; Emacs settings.
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/disasm.c ./gdb/disasm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/disasm.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/disasm.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Disassemble support for GDB.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,7 +21,6 @@
 #include "target.h"
 #include "value.h"
 #include "ui-out.h"
-#include <string.h>
 #include "disasm.h"
 #include "gdbcore.h"
 #include "dis-asm.h"
@@ -411,23 +410,22 @@ gdb_disassembly (struct gdbarch *gdbarch
   struct ui_file *stb = mem_fileopen ();
   struct cleanup *cleanups = make_cleanup_ui_file_delete (stb);
   struct disassemble_info di = gdb_disassemble_info (gdbarch, stb);
-  /* To collect the instruction outputted from opcodes.  */
-  struct symtab *symtab = NULL;
+  struct symtab *symtab;
   struct linetable_entry *le = NULL;
   int nlines = -1;
 
   /* Assume symtab is valid for whole PC range.  */
-  symtab = find_pc_symtab (low);
+  symtab = find_pc_line_symtab (low);
 
-  if (symtab != NULL && symtab->linetable != NULL)
+  if (symtab != NULL && SYMTAB_LINETABLE (symtab) != NULL)
     {
       /* Convert the linetable to a bunch of my_line_entry's.  */
-      le = symtab->linetable->item;
-      nlines = symtab->linetable->nitems;
+      le = SYMTAB_LINETABLE (symtab)->item;
+      nlines = SYMTAB_LINETABLE (symtab)->nitems;
     }
 
   if (!(flags & DISASSEMBLY_SOURCE) || nlines <= 0
-      || symtab == NULL || symtab->linetable == NULL)
+      || symtab == NULL || SYMTAB_LINETABLE (symtab) == NULL)
     do_assembly_only (gdbarch, uiout, &di, low, high, how_many, flags, stb);
 
   else if (flags & DISASSEMBLY_SOURCE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/disasm.h ./gdb/disasm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/disasm.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/disasm.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble support for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-lang.c ./gdb/d-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/d-lang.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* D language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,8 +23,8 @@
 #include "varobj.h"
 #include "d-lang.h"
 #include "c-lang.h"
-#include "parser-defs.h"
-#include "gdb_obstack.h"
+#include "demangle.h"
+#include "cp-support.h"
 
 /* The name of the symbol to use to get the name of the main subprogram.  */
 static const char D_MAIN[] = "D main";
@@ -52,37 +52,7 @@ d_main_name (void)
 char *
 d_demangle (const char *symbol, int options)
 {
-  struct obstack tempbuf;
-  char *result;
-
-  if ((symbol == NULL) || (*symbol == '\0'))
-    return NULL;
-  else if (strcmp (symbol, "_Dmain") == 0)
-    return xstrdup ("D main");
-
-  obstack_init (&tempbuf);
-
-  if (strncmp (symbol, "_D", 2) == 0)
-    symbol += 2;
-  else
-    {
-      obstack_free (&tempbuf, NULL);
-      return NULL;
-    }
-
-  if (d_parse_symbol (&tempbuf, symbol) != NULL)
-    {
-      obstack_grow_str0 (&tempbuf, "");
-      result = xstrdup (obstack_finish (&tempbuf));
-      obstack_free (&tempbuf, NULL);
-    }
-  else
-    {
-      obstack_free (&tempbuf, NULL);
-      return NULL;
-    }
-
-  return result;
+  return gdb_demangle (symbol, options | DMGL_DLANG);
 }
 
 /* Table mapping opcodes into strings for printing operators
@@ -96,8 +66,8 @@ static const struct op_print d_op_print_
   {"|", BINOP_BITWISE_IOR, PREC_BITWISE_IOR, 0},
   {"^", BINOP_BITWISE_XOR, PREC_BITWISE_XOR, 0},
   {"&", BINOP_BITWISE_AND, PREC_BITWISE_AND, 0},
-  {"==", BINOP_EQUAL, PREC_EQUAL, 0},
-  {"!=", BINOP_NOTEQUAL, PREC_EQUAL, 0},
+  {"==", BINOP_EQUAL, PREC_ORDER, 0},
+  {"!=", BINOP_NOTEQUAL, PREC_ORDER, 0},
   {"<=", BINOP_LEQ, PREC_ORDER, 0},
   {">=", BINOP_GEQ, PREC_ORDER, 0},
   {">", BINOP_GTR, PREC_ORDER, 0},
@@ -106,9 +76,11 @@ static const struct op_print d_op_print_
   {"<<", BINOP_LSH, PREC_SHIFT, 0},
   {"+", BINOP_ADD, PREC_ADD, 0},
   {"-", BINOP_SUB, PREC_ADD, 0},
+  {"~", BINOP_CONCAT, PREC_ADD, 0},
   {"*", BINOP_MUL, PREC_MUL, 0},
   {"/", BINOP_DIV, PREC_MUL, 0},
   {"%", BINOP_REM, PREC_MUL, 0},
+  {"^^", BINOP_EXP, PREC_REPEAT, 0},
   {"@", BINOP_REPEAT, PREC_REPEAT, 0},
   {"-", UNOP_NEG, PREC_PREFIX, 0},
   {"!", UNOP_LOGICAL_NOT, PREC_PREFIX, 0},
@@ -228,8 +200,8 @@ static const struct language_defn d_lang
   array_row_major,
   macro_expansion_no,
   &exp_descriptor_c,
-  c_parse,
-  c_error,
+  d_parse,
+  d_error,
   null_post_parser,
   c_printchar,			/* Print a character constant.  */
   c_printstr,			/* Function to print string constant.  */
@@ -259,6 +231,8 @@ static const struct language_defn d_lang
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-lang.h ./gdb/d-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-lang.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/d-lang.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* D language support definitions for GDB, the GNU debugger.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -54,6 +54,12 @@ struct builtin_d_type
   struct type *builtin_dchar;
 };
 
+/* Defined in d-exp.y.  */
+
+extern int d_parse (struct parser_state *);
+
+extern void d_error (char *);
+
 /* Defined in d-lang.c  */
 
 extern const char *d_main_name (void);
@@ -62,10 +68,6 @@ extern char *d_demangle (const char *man
 
 extern const struct builtin_d_type *builtin_d_type (struct gdbarch *);
 
-/* Defined in d-support.c  */
-
-extern const char *d_parse_symbol (struct obstack *, const char *);
-
 /* Defined in d-valprint.c  */
 
 extern void d_val_print (struct type *type, const gdb_byte *valaddr,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/agentexpr.texi ./gdb/doc/agentexpr.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/agentexpr.texi	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/agentexpr.texi	2015-01-20 02:05:38.000000000 +0000
@@ -7,7 +7,7 @@
 
 @c This file is part of the GDB manual.
 @c
-@c Copyright (C) 2003-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2003-2015 Free Software Foundation, Inc.
 @c
 @c See the file gdb.texinfo for copying conditions.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/all-cfg.texi ./gdb/doc/all-cfg.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/all-cfg.texi	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/all-cfg.texi	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 @c GDB MANUAL configuration file.  
 @c
-@c Copyright (C) 1993-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1993-2015 Free Software Foundation, Inc.
 @c
 @c NOTE: While the GDB manual is configurable (by changing these
 @c switches), its configuration is ***NOT*** automatically tied in to
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/annotate.info ./gdb/doc/annotate.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/annotate.info	2015-01-13 02:06:57.000000000 +0000
+++ ./gdb/doc/annotate.info	2015-01-20 02:09:46.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * Annotate: (annotate).                 The obsolete annotation interface.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -17,7 +17,7 @@ Free Documentation License".
 
    This file documents GDB's obsolete annotations.
 
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/annotate.texinfo ./gdb/doc/annotate.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/annotate.texinfo	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/annotate.texinfo	2015-01-20 02:05:38.000000000 +0000
@@ -27,7 +27,7 @@
 @c cost.  Having a smaller cheaper manual helps the GNU Press with its sales.
 
 @copying
-Copyright @copyright{} 1994-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1994-2015 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/ChangeLog ./gdb/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/ChangeLog	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/ChangeLog	2015-01-20 02:05:38.000000000 +0000
@@ -1,3 +1,161 @@
+2015-01-16  Eli Zaretskii  <eliz@gnu.org>
+
+	* doc/gdb.texinfo (TUI Commands): Document the possible
+	values of NAME argument to 'winheight' command.  Explain the
+	effect of 'tabset' setting better.
+
+2015-01-11  Doug Evans  <xdje42@gmail.com>
+
+	PR gdb/15830
+	* gdb.texinfo (Debugging C Plus Plus): Mention "demangle".
+	(Symbols): Ditto.
+	(Maintenance Commands): Delete docs for "maint demangle".
+
+2014-12-31  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.texinfo (Files): Remove documentation of the
+	"add-shared-symbol-files" and "assf" commands.
+	(Cygwin Native): Remove documentation of the "dll-symbols"
+	command.
+
+2014-12-17  Doug Evans  <xdje42@gmail.com>
+
+	* gdb.texinfo (Debugging Output): Document "debug symbol-lookup".
+
+2014-12-12  Phil Muldoon  <pmuldoon@redhat.com>
+	    Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.texinfo (Altering): Update.
+	(Compiling and Injecting Code): New node.
+
+2014-12-12  Doug Evans  <dje@google.com>
+
+	* python.texi (Objfiles In Python): Document gdb.lookup_objfile.
+
+2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.texinfo: Document "maint print user-registers".
+
+2014-12-08  Doug Evans  <dje@google.com>
+
+	* python.texi (Objfiles In Python): Document Objfile.owner.
+
+2014-12-04  Doug Evans  <dje@google.com>
+
+	* python.texi (Objfiles In Python): Document
+	Objfile.add_separate_debug_file.
+
+2014-12-04  Doug Evans  <dje@google.com>
+
+	* python.texi (Objfiles In Python): Document Objfile.build_id.
+
+2014-12-02  Nick Bull  <nicholaspbull@gmail.com>
+
+	* python.texi (Events In Python): Document new events
+	InferiorCallPreEvent, InferiorCallPostEvent, MemoryChangedEvent
+	and RegisterChangedEvent.
+
+2014-11-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Add add-auto-load-scripts-directory.
+	* gdb.texinfo (Auto-loading): Add add-auto-load-scripts-directory link.
+	(objfile-gdbdotext file): Add add-auto-load-scripts-directory.
+
+2014-11-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.texinfo (Auto-loading safe path): Fix add-auto-load-safe-path
+	description typo.
+
+2014-10-30  Doug Evans  <dje@google.com>
+
+	* python.texi (Progspaces In Python): Document ability to add
+	random attributes to gdb.Progspace objects.
+	(Objfiles In Python): Document ability to add random attributes to
+	gdb.objfile objects.
+
+2014-10-27  Pedro Alves  <palves@redhat.com>
+
+	* gdb.texinfo (Continuing and Stepping): Add cross reference to
+	info on stepping and signal handlers.
+	(Signals): Explain stepping and signal handlers.  Add context
+	index entry, and cross references.
+
+2014-10-20  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* python.texi (Breakpoints In Python): Add parenthesis after
+	Breakpoint.delete.  Clarify Breakpoint.enabled description so
+	that it contains "disable".
+
+2014-10-17  Doug Evans  <dje@google.com>
+
+	* python.texi (Events In Python): Document clear_objfiles event.
+
+2014-10-17  Doug Evans  <dje@google.com>
+
+	* python.texi (Objfiles In Python): Document new progspace attribute.
+
+2014-10-17  Pedro Alves  <palves@redhat.com>
+
+	* gdb.texinfo (Ada Tasks and Core Files): Delete mention of Tru64.
+	(SVR4 Process Information): Delete mention of OSF/1.
+
+2014-10-01  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.texinfo (Miscellaneous gdb/mi Commands): Document new
+	exit-code field in -list-thread-groups output.
+
+2014-09-22  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+	* gdb.texinfo (Set Breaks): Add missing "@end table".
+
+2014-09-22  Pedro Alves  <palves@redhat.com>
+
+	* gdb.texinfo (Set Breaks): Document that "set breakpoint
+	always-inserted off" is the default mode now.  Delete
+	documentation of "set breakpoint always-inserted auto".
+
+2014-09-18  Doug Evans  <dje@google.com>
+
+	* python.texi (Symbol Tables In Python): Document "producer"
+	attribute of gdb.Symtab objects.
+
+2014-09-16  Pedro Alves  <palves@redhat.com>
+
+	* gdb.texinfo (Starting) <run command>: Don't mention VxWorks.
+	(Embedded OS): Remove VxWorks menu entry.
+	(VxWorks): Remove node.
+
+2014-09-13  Doug Evans  <xdje42@gmail.com>
+
+	* gdb.texinfo (Signaling): Document new queue-signal command.
+
+2014-09-06  Doug Evans  <xdje42@gmail.com>
+
+	PR 15276
+	* gdb.texinfo (Convenience Funs): Document $_caller_is,
+	$_caller_matches, $_any_caller_is, $_any_caller_matches.
+
+2014-09-03  Justin Lebar <jlebar@google.com>
+
+	* python.texi (Types In Python): Type.template_argument(n) returns a
+	gdb.Value or a gdb.Type and throws an exception if n is out of
+	range.
+
+2014-09-03  Sasha Smundak  <asmundak@google.com>
+
+	* python.texi (Frames in Python): Add read_register description.
+
+2014-08-04  Tom Tromey  <tromey@redhat.com>
+
+	* gdb.texinfo (Debugging Output): Update for change to "set debug
+	target".
+
+2014-08-01  Masaki Muranaka  <monaka@monami-software.com>
+
+	Pushed by Joel Brobecker  <brobecker@adacore.com>.
+	* Makefile.in (transform): New variable.
+	(install-man1, install-man5): Apply $(transform) to man file names.
+
 2014-07-26  Doug Evans  <xdje42@gmail.com>
 
 	PR guile/17177
@@ -6,10 +164,32 @@
 	(Selecting Guile Pretty-Printers): Update.
 	Mention program-space based pretty-printers.
 
+2014-07-25  Pedro Alves  <palves@redhat.com>
+	    Eli Zaretskii  <eliz@gnu.org>
+
+	* gdb.texinfo (Signaling) <signal command>: Explain what happens
+	with multi-threaded programs.
+
+2014-06-27  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.texinfo (Maintenance Commands): Update the output of
+	'maint print dummy-frames' command.
+
 2014-06-24  Eli Zaretskii  <eliz@gnu.org>
 
 	* gdb.texinfo (Screen Size): Improve indexing.
 
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* gdb.texinfo (Maintenance Commands): Document new
+	"maint set/show catch-demangler-crashes" option.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* gdb.texinfo (Maintenance Commands): Document new
+	"maint demangler-warning" command and new
+	"maint set/show demangler-warning" option.
+
 2014-06-09  Siva Chandra Reddy  <sivachandra@google.com>
 
 	* python.texi (Xmethod API): Add space before the opening
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Doxyfile-base.in ./gdb/doc/Doxyfile-base.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Doxyfile-base.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/Doxyfile-base.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # Base doxyfile for GDB.
 # This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Doxyfile-gdb-api.in ./gdb/doc/Doxyfile-gdb-api.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Doxyfile-gdb-api.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/Doxyfile-gdb-api.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # Doxygen file for GDB internal API.
 # This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Doxyfile-gdbserver.in ./gdb/doc/Doxyfile-gdbserver.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Doxyfile-gdbserver.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/Doxyfile-gdbserver.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # Doxygen file for a GDBserver cross-reference.
 # This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Doxyfile-gdb-xref.in ./gdb/doc/Doxyfile-gdb-xref.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Doxyfile-gdb-xref.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/Doxyfile-gdb-xref.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # Doxygen file for a full GDB cross-reference.
 # This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/doxy-index.in ./gdb/doc/doxy-index.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/doxy-index.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/doxy-index.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 Navigation page for Doxygen-generated GDB info.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gcore.1	2015-01-13 02:06:58.000000000 +0000
+++ ./gdb/doc/gcore.1	2015-01-20 02:09:46.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2015-01-13" "gdb-7.8.1.20150113-cvs" "GNU Development Tools"
+.TH GCORE 1 "2015-01-20" "gdb-7.8.90.20150120-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -165,7 +165,7 @@ should give you access to the complete m
 Richard M. Stallman and Roland H. Pesch, July 1991.
 .SH "COPYRIGHT"
 .IX Header "COPYRIGHT"
-Copyright (c) 1988\-2014 Free Software Foundation, Inc.
+Copyright (c) 1988\-2015 Free Software Foundation, Inc.
 .PP
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.1	2015-01-13 02:06:57.000000000 +0000
+++ ./gdb/doc/gdb.1	2015-01-20 02:09:46.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2015-01-13" "gdb-7.8.1.20150113-cvs" "GNU Development Tools"
+.TH GDB 1 "2015-01-20" "gdb-7.8.90.20150120-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -382,7 +382,7 @@ should give you access to the complete m
 Richard M. Stallman and Roland H. Pesch, July 1991.
 .SH "COPYRIGHT"
 .IX Header "COPYRIGHT"
-Copyright (c) 1988\-2014 Free Software Foundation, Inc.
+Copyright (c) 1988\-2015 Free Software Foundation, Inc.
 .PP
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info	2015-01-13 02:06:57.000000000 +0000
+++ ./gdb/doc/gdb.info	2015-01-20 02:09:45.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * gdbserver: (gdb) Server.        The GNU debugging server.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -22,9 +22,9 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.8.1.20150113-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -39,699 +39,701 @@ developing GNU and promoting software fr
 
 
 Indirect:
-gdb.info-1: 1722
-gdb.info-2: 298567
-gdb.info-3: 594853
-gdb.info-4: 894416
-gdb.info-5: 1193360
-gdb.info-6: 1512592
-gdb.info-7: 1788700
-gdb.info-8: 1916999
+gdb.info-1: 1723
+gdb.info-2: 300342
+gdb.info-3: 599413
+gdb.info-4: 896989
+gdb.info-5: 1196496
+gdb.info-6: 1502555
+gdb.info-7: 1782906
+gdb.info-8: 1937277
 
 Tag Table:
 (Indirect)
-Node: Top1722
-Node: Summary5194
-Node: Free Software7067
-Node: Free Documentation7808
-Node: Contributors12743
-Node: Sample Session20837
-Node: Invocation27688
-Node: Invoking GDB28232
-Node: File Options30567
-Node: Mode Options33625
-Ref: -nx33852
-Ref: -nh34941
-Node: Startup41265
-Ref: Home Directory Init File41816
-Ref: Option -init-eval-command41926
-Ref: Init File in the Current Directory during Startup42271
-Ref: Startup-Footnote-144465
-Node: Quitting GDB44574
-Node: Shell Commands45471
-Node: Logging Output46398
-Node: Commands47244
-Node: Command Syntax47882
-Node: Completion50048
-Ref: Completion-Footnote-155412
-Node: Help55572
-Node: Running61326
-Node: Compilation62555
-Node: Starting64639
-Ref: set exec-wrapper69936
-Ref: set auto-connect-native-target72091
-Node: Arguments76487
-Node: Environment77757
-Node: Working Directory81489
-Node: Input/Output82641
-Node: Attach84612
-Node: Kill Process87079
-Node: Inferiors and Programs88060
-Node: Threads95306
-Ref: set libthread-db-search-path102720
-Node: Forks104778
-Node: Checkpoint/Restart111088
-Ref: Checkpoint/Restart-Footnote-1115617
-Node: Stopping115652
-Node: Breakpoints116915
-Node: Set Breaks120458
-Node: Set Watchpoints139203
-Node: Set Catchpoints148606
-Node: Delete Breaks159488
-Node: Disabling161424
-Node: Conditions164813
-Node: Break Commands170461
-Node: Dynamic Printf173683
-Node: Save Breakpoints177943
-Node: Static Probe Points179118
-Node: Error in Breakpoints181805
-Node: Breakpoint-related Warnings182541
-Node: Continuing and Stepping184868
-Ref: range stepping194260
-Node: Skipping Over Functions and Files195342
-Node: Signals198914
-Ref: extra signal information203348
-Node: Thread Stops204851
-Node: All-Stop Mode205950
-Node: Non-Stop Mode209848
-Node: Background Execution213265
-Node: Thread-Specific Breakpoints215482
-Node: Interrupted System Calls217500
-Node: Observer Mode219014
-Node: Reverse Execution222453
-Ref: Reverse Execution-Footnote-1227080
-Ref: Reverse Execution-Footnote-2227707
-Node: Process Record and Replay227757
-Node: Stack242079
-Node: Frames243627
-Node: Backtrace246395
-Ref: backtrace-command246746
-Ref: Backtrace-Footnote-1252515
-Node: Frame Filter Management252703
-Ref: disable frame-filter all253247
-Node: Selection257555
-Node: Frame Info260427
-Node: Source262421
-Node: List263487
-Node: Specify Location266189
-Node: Edit270793
-Ref: Edit-Footnote-1272268
-Node: Search272503
-Node: Source Path273311
-Ref: set substitute-path279678
-Node: Machine Code281899
-Node: Data288800
-Node: Expressions296463
-Node: Ambiguous Expressions298567
-Node: Variables301801
-Node: Arrays307867
-Node: Output Formats310398
-Ref: Output Formats-Footnote-1313770
-Node: Memory313927
-Node: Auto Display320328
-Node: Print Settings324870
-Ref: set print entry-values333028
-Node: Pretty Printing344336
-Node: Pretty-Printer Introduction344849
-Node: Pretty-Printer Example346604
-Node: Pretty-Printer Commands347382
-Node: Value History349806
-Node: Convenience Vars352227
-Node: Convenience Funs358710
-Node: Registers361589
-Ref: Registers-Footnote-1367523
-Node: Floating Point Hardware367918
-Node: Vector Unit368450
-Node: OS Information368837
-Ref: linux info os infotypes370860
-Node: Memory Region Attributes375060
-Node: Dump/Restore Files379730
-Node: Core File Generation382035
-Node: Character Sets383259
-Node: Caching Target Data389624
-Ref: Caching Target Data-Footnote-1392353
-Node: Searching Memory392591
-Node: Optimized Code395468
-Node: Inline Functions397145
-Node: Tail Call Frames399772
-Ref: set debug entry-values401912
-Node: Macros405986
-Ref: Macros-Footnote-1413562
-Node: Tracepoints413715
-Node: Set Tracepoints415776
-Node: Create and Delete Tracepoints418714
-Node: Enable and Disable Tracepoints425114
-Node: Tracepoint Passcounts426354
-Node: Tracepoint Conditions427781
-Node: Trace State Variables429475
-Node: Tracepoint Actions431669
-Node: Listing Tracepoints437974
-Node: Listing Static Tracepoint Markers439676
-Node: Starting and Stopping Trace Experiments441522
-Ref: disconnected tracing443267
-Node: Tracepoint Restrictions447695
-Node: Analyze Collected Data451465
-Node: tfind452770
-Node: tdump457192
-Node: save tracepoints459707
-Node: Tracepoint Variables460203
-Node: Trace Files461331
-Node: Overlays463707
-Node: How Overlays Work464427
-Ref: A code overlay466987
-Node: Overlay Commands470425
-Node: Automatic Overlay Debugging474615
-Node: Overlay Sample Program476756
-Node: Languages478516
-Node: Setting479679
-Node: Filenames481381
-Node: Manually482192
-Node: Automatically483401
-Node: Show484462
-Ref: show language484750
-Node: Checks485784
-Node: Type Checking486789
-Node: Range Checking488618
-Node: Supported Languages491019
-Node: C492319
-Node: C Operators493283
-Node: C Constants497628
-Node: C Plus Plus Expressions500509
-Node: C Defaults503852
-Node: C Checks504520
-Node: Debugging C505080
-Node: Debugging C Plus Plus505564
-Node: Decimal Floating Point509038
-Node: D510307
-Node: Go510564
-Node: Objective-C511658
-Node: Method Names in Commands512121
-Node: The Print Command with Objective-C513816
-Node: OpenCL C514467
-Node: OpenCL C Datatypes514742
-Node: OpenCL C Expressions515117
-Node: OpenCL C Operators515474
-Node: Fortran515706
-Node: Fortran Operators516428
-Node: Fortran Defaults517284
-Node: Special Fortran Commands517669
-Node: Pascal518175
-Node: Modula-2518690
-Node: M2 Operators519665
-Node: Built-In Func/Proc522664
-Node: M2 Constants525579
-Node: M2 Types527180
-Node: M2 Defaults530399
-Node: Deviations530999
-Node: M2 Checks532100
-Node: M2 Scope532918
-Node: GDB/M2533942
-Node: Ada534854
-Node: Ada Mode Intro535964
-Node: Omissions from Ada537874
-Node: Additions to Ada542228
-Node: Stopping Before Main Program546158
-Node: Ada Exceptions546692
-Node: Ada Tasks547889
-Node: Ada Tasks and Core Files554305
-Node: Ravenscar Profile555223
-Node: Ada Glitches556293
-Node: Unsupported Languages560308
-Node: Symbols560998
-Node: Altering579289
-Node: Assignment580258
-Node: Jumping583363
-Node: Signaling585524
-Node: Returning586661
-Node: Calling590013
-Node: Patching593056
-Node: GDB Files594133
-Node: Files594853
-Ref: Shared Libraries608592
-Ref: Files-Footnote-1620226
-Node: Separate Debug Files620401
-Ref: debug-file-directory623508
-Node: MiniDebugInfo632106
-Node: Index Files634557
-Node: Symbol Errors636619
-Node: Data Files640232
-Node: Targets641188
-Node: Active Targets642668
-Node: Target Commands643742
-Ref: load648126
-Node: Byte Order649107
-Node: Remote Debugging650084
-Node: Connecting651346
-Node: File Transfer656288
-Node: Server657228
-Ref: Other Command-Line Arguments for gdbserver664820
-Ref: Monitor Commands for gdbserver667936
-Ref: Server-Footnote-1673107
-Node: Remote Configuration673227
-Ref: set remotebreak674253
-Ref: set remote hardware-watchpoint-limit675717
-Ref: set remote hardware-breakpoint-limit675717
-Ref: set remote hardware-watchpoint-length-limit675943
-Ref: set remote exec-file676358
-Node: Remote Stub683716
-Node: Stub Contents686613
-Node: Bootstrapping688720
-Node: Debug Session692534
-Node: Configurations694576
-Node: Native695345
-Node: HP-UX695914
-Node: BSD libkvm Interface696203
-Node: SVR4 Process Information697274
-Node: DJGPP Native701078
-Node: Cygwin Native707658
-Node: Non-debug DLL Symbols711734
-Node: Hurd Native715879
-Node: Darwin721140
-Node: Embedded OS722401
-Node: VxWorks722877
-Node: VxWorks Connection725093
-Node: VxWorks Download726027
-Node: VxWorks Attach727762
-Node: Embedded Processors728160
-Node: ARM729293
-Node: M32R/D733427
-Node: M68K735129
-Node: MicroBlaze735422
-Node: MIPS Embedded736872
-Node: PowerPC Embedded741813
-Node: PA745594
-Node: Sparclet745878
-Node: Sparclet File747347
-Node: Sparclet Connection748227
-Node: Sparclet Download748705
-Node: Sparclet Execution749754
-Node: Sparclite750345
-Node: Z8000750718
-Node: AVR752102
-Node: CRIS752465
-Node: Super-H753443
-Node: Architectures754503
-Node: AArch64754940
-Node: i386755347
-Ref: i386-Footnote-1757579
-Node: Alpha757665
-Node: MIPS757798
-Node: HPPA761691
-Node: SPU762210
-Node: PowerPC764398
-Node: Nios II765132
-Node: Controlling GDB765521
-Node: Prompt766418
-Node: Editing768137
-Node: Command History769080
-Node: Screen Size772610
-Node: Numbers774543
-Node: ABI776528
-Node: Auto-loading779702
-Ref: set auto-load off781077
-Ref: show auto-load781713
-Ref: info auto-load782492
-Node: Init File in the Current Directory785399
-Ref: set auto-load local-gdbinit785974
-Ref: show auto-load local-gdbinit786156
-Ref: info auto-load local-gdbinit786320
-Node: libthread_db.so.1 file786468
-Ref: set auto-load libthread-db787407
-Ref: show auto-load libthread-db787538
-Ref: info auto-load libthread-db787675
-Node: Auto-loading safe path787859
-Ref: set auto-load safe-path789165
-Ref: show auto-load safe-path789904
-Ref: add-auto-load-safe-path790027
-Node: Auto-loading verbose mode792921
-Ref: set debug auto-load794084
-Ref: show debug auto-load794185
-Node: Messages/Warnings794307
-Ref: confirmation requests795742
-Node: Debugging Output796949
-Node: Other Misc Settings805495
-Node: Extending GDB806524
-Node: Sequences808378
-Node: Define809039
-Node: Hooks812858
-Node: Command Files815225
-Node: Output820295
-Node: Auto-loading sequences825259
-Ref: set auto-load gdb-scripts825754
-Ref: show auto-load gdb-scripts825878
-Ref: info auto-load gdb-scripts826008
-Node: Python826239
-Node: Python Commands827412
-Node: Python API829747
-Node: Basic Python832230
-Ref: prompt_hook840891
-Node: Exception Handling841488
-Node: Values From Inferior843984
-Node: Types In Python856885
-Node: Pretty Printing API866057
-Node: Selecting Pretty-Printers869950
-Node: Writing a Pretty-Printer872283
-Node: Type Printing API877604
-Node: Frame Filter API880225
-Node: Frame Decorator API887510
-Ref: frame_args891089
-Node: Writing a Frame Filter894416
-Node: Xmethods In Python905883
-Node: Xmethod API908772
-Node: Writing an Xmethod912295
-Node: Inferiors In Python917881
-Node: Events In Python920761
-Node: Threads In Python925942
-Node: Commands In Python928385
-Node: Parameters In Python937804
-Node: Functions In Python943265
-Node: Progspaces In Python945487
-Node: Objfiles In Python947171
-Node: Frames In Python949430
-Node: Blocks In Python955716
-Node: Symbols In Python960079
-Node: Symbol Tables In Python967306
-Node: Line Tables In Python970238
-Node: Breakpoints In Python973075
-Node: Finish Breakpoints in Python981006
-Node: Lazy Strings In Python983113
-Node: Architectures In Python985348
-Node: Python Auto-loading987535
-Ref: set auto-load python-scripts988164
-Ref: show auto-load python-scripts988264
-Ref: info auto-load python-scripts988370
-Node: Python modules989394
-Node: gdb.printing989780
-Node: gdb.types991207
-Node: gdb.prompt994220
-Node: Guile995869
-Node: Guile Introduction996528
-Node: Guile Commands997399
-Node: Guile API999268
-Node: Basic Guile1001265
-Node: Guile Configuration1006978
-Node: GDB Scheme Data Types1007954
-Node: Guile Exception Handling1009794
-Node: Values From Inferior In Guile1013845
-Node: Arithmetic In Guile1029390
-Node: Types In Guile1031021
-Ref: Fields of a type in Guile1038968
-Node: Guile Pretty Printing API1040369
-Node: Selecting Guile Pretty-Printers1045965
-Node: Writing a Guile Pretty-Printer1048344
-Node: Commands In Guile1053528
-Node: Parameters In Guile1064332
-Ref: Parameters In Guile-Footnote-11071214
-Node: Progspaces In Guile1071341
-Node: Objfiles In Guile1073929
-Node: Frames In Guile1076001
-Node: Blocks In Guile1082419
-Node: Symbols In Guile1087227
-Node: Symbol Tables In Guile1094559
-Node: Breakpoints In Guile1097522
-Node: Lazy Strings In Guile1107744
-Node: Architectures In Guile1110038
-Node: Disassembly In Guile1114344
-Node: I/O Ports in Guile1117544
-Node: Memory Ports in Guile1118100
-Node: Iterators In Guile1121272
-Node: Guile Auto-loading1125560
-Ref: set auto-load guile-scripts1126183
-Ref: show auto-load guile-scripts1126281
-Ref: info auto-load guile-scripts1126385
-Node: Guile Modules1127344
-Node: Guile Printing Module1127666
-Node: Guile Types Module1128486
-Node: Auto-loading extensions1129778
-Node: objfile-gdbdotext file1130976
-Ref: set auto-load scripts-directory1132420
-Ref: with-auto-load-dir1132796
-Ref: show auto-load scripts-directory1133614
-Node: dotdebug_gdb_scripts section1133944
-Node: Which flavor to choose?1135790
-Node: Multiple Extension Languages1137611
-Node: Aliases1138675
-Node: Interpreters1141540
-Node: TUI1143639
-Node: TUI Overview1144586
-Node: TUI Keys1147019
-Node: TUI Single Key Mode1149323
-Node: TUI Commands1150198
-Node: TUI Configuration1152582
-Node: Emacs1153878
-Node: GDB/MI1159352
-Node: GDB/MI General Design1161326
-Node: Context management1163849
-Node: Asynchronous and non-stop modes1167677
-Node: Thread groups1170653
-Node: GDB/MI Command Syntax1172931
-Node: GDB/MI Input Syntax1173174
-Node: GDB/MI Output Syntax1174728
-Node: GDB/MI Compatibility with CLI1178315
-Node: GDB/MI Development and Front Ends1179052
-Node: GDB/MI Output Records1180709
-Node: GDB/MI Result Records1181115
-Node: GDB/MI Stream Records1182465
-Node: GDB/MI Async Records1183730
-Node: GDB/MI Breakpoint Information1193360
-Node: GDB/MI Frame Information1197312
-Node: GDB/MI Thread Information1198399
-Node: GDB/MI Ada Exception Information1199378
-Node: GDB/MI Simple Examples1199801
-Node: GDB/MI Command Description Format1202009
-Node: GDB/MI Breakpoint Commands1202889
-Node: GDB/MI Catchpoint Commands1222760
-Node: Shared Library GDB/MI Catchpoint Commands1223128
-Node: Ada Exception GDB/MI Catchpoint Commands1224786
-Node: GDB/MI Program Context1227196
-Node: GDB/MI Thread Commands1231466
-Node: GDB/MI Ada Tasking Commands1235422
-Node: GDB/MI Program Execution1237676
-Node: GDB/MI Stack Manipulation1249713
-Ref: -stack-list-arguments1251612
-Ref: -stack-list-frames1255317
-Ref: -stack-list-locals1259186
-Ref: -stack-list-variables1260676
-Node: GDB/MI Variable Objects1262210
-Ref: -var-set-format1272113
-Ref: -var-list-children1273231
-Ref: -var-update1282020
-Ref: -var-set-frozen1285015
-Ref: -var-set-update-range1285811
-Ref: -var-set-visualizer1286341
-Node: GDB/MI Data Manipulation1287832
-Node: GDB/MI Tracepoint Commands1307397
-Node: GDB/MI Symbol Query1318990
-Node: GDB/MI File Commands1319679
-Node: GDB/MI Target Manipulation1322975
-Node: GDB/MI File Transfer Commands1329197
-Node: GDB/MI Ada Exceptions Commands1330520
-Node: GDB/MI Support Commands1331874
-Node: GDB/MI Miscellaneous Commands1336459
-Ref: -interpreter-exec1346490
-Node: Annotations1348826
-Node: Annotations Overview1349745
-Node: Server Prefix1352208
-Node: Prompting1352942
-Node: Errors1354459
-Node: Invalidation1355355
-Node: Annotations for Running1355832
-Node: Source Annotations1357366
-Node: JIT Interface1358295
-Node: Declarations1360095
-Node: Registering Code1361482
-Node: Unregistering Code1362454
-Node: Custom Debug Info1363081
-Node: Using JIT Debug Info Readers1364377
-Node: Writing JIT Debug Info Readers1365390
-Node: In-Process Agent1367587
-Ref: Control Agent1369530
-Node: In-Process Agent Protocol1370397
-Node: IPA Protocol Objects1371189
-Ref: agent expression object1372191
-Ref: tracepoint action object1372397
-Ref: tracepoint object1372478
-Node: IPA Protocol Commands1375434
-Node: GDB Bugs1376907
-Node: Bug Criteria1377639
-Node: Bug Reporting1378516
-Node: Command Line Editing1386347
-Node: Introduction and Notation1386999
-Node: Readline Interaction1388619
-Node: Readline Bare Essentials1389808
-Node: Readline Movement Commands1391595
-Node: Readline Killing Commands1392558
-Node: Readline Arguments1394476
-Node: Searching1395518
-Node: Readline Init File1397667
-Node: Readline Init File Syntax1398818
-Node: Conditional Init Constructs1413876
-Node: Sample Init File1416407
-Node: Bindable Readline Commands1419522
-Node: Commands For Moving1420577
-Node: Commands For History1421436
-Node: Commands For Text1424838
-Node: Commands For Killing1427562
-Node: Numeric Arguments1429702
-Node: Commands For Completion1430839
-Node: Keyboard Macros1432806
-Node: Miscellaneous Commands1433375
-Node: Readline vi Mode1437229
-Node: Using History Interactively1438139
-Node: History Interaction1438682
-Node: Event Designators1440104
-Node: Word Designators1441244
-Node: Modifiers1442881
-Node: In Memoriam1444104
-Node: Formatting Documentation1444987
-Ref: Formatting Documentation-Footnote-11448360
-Node: Installing GDB1448454
-Node: Requirements1449026
-Ref: Expat1449595
-Node: Running Configure1452167
-Node: Separate Objdir1455931
-Node: Config Names1458905
-Node: Configure Options1460380
-Node: System-wide configuration1462750
-Node: System-wide Configuration Scripts1464710
-Node: Maintenance Commands1465894
-Ref: maint info breakpoints1467549
-Node: Remote Protocol1483798
-Node: Overview1484452
-Ref: Binary Data1487014
-Node: Packets1489537
-Ref: thread-id syntax1490437
-Ref: extended mode1491882
-Ref: ? packet1492139
-Ref: bc1493603
-Ref: bs1493813
-Ref: read registers packet1495429
-Ref: cycle step packet1497365
-Ref: write register packet1499965
-Ref: step with signal packet1500943
-Ref: vCont packet1502417
-Ref: vKill packet1507314
-Ref: X packet1508247
-Ref: insert breakpoint or watchpoint packet1508557
-Node: Stop Reply Packets1512592
-Node: General Query Packets1517364
-Ref: qCRC packet1520195
-Ref: QNonStop1528005
-Ref: QPassSignals1528664
-Ref: QProgramSignals1529868
-Ref: qSearch memory1532379
-Ref: QStartNoAckMode1532886
-Ref: qSupported1533416
-Ref: multiprocess extensions1543906
-Ref: install tracepoint in tracing1545935
-Ref: qXfer read1549315
-Ref: qXfer auxiliary vector read1549809
-Ref: qXfer btrace read1550156
-Ref: qXfer target description read1551219
-Ref: qXfer library list read1551663
-Ref: qXfer svr4 library list read1552318
-Ref: qXfer memory map read1554170
-Ref: qXfer sdata read1554556
-Ref: qXfer siginfo read1555020
-Ref: qXfer spu read1555416
-Ref: qXfer threads read1555939
-Ref: qXfer traceframe info read1556341
-Ref: qXfer unwind info block1556757
-Ref: qXfer fdpic loadmap read1556989
-Ref: qXfer osdata read1557404
-Ref: qXfer write1558662
-Ref: qXfer siginfo write1559228
-Ref: qXfer spu write1559624
-Ref: General Query Packets-Footnote-11562160
-Node: Architecture-Specific Protocol Details1562487
-Node: ARM-Specific Protocol Details1562996
-Node: ARM Breakpoint Kinds1563244
-Node: MIPS-Specific Protocol Details1563576
-Node: MIPS Register packet Format1563859
-Node: MIPS Breakpoint Kinds1564788
-Node: Tracepoint Packets1565207
-Ref: QTEnable1574202
-Ref: QTDisable1574398
-Ref: qTfSTM1579920
-Ref: qTsSTM1579920
-Ref: qTSTMat1580996
-Ref: QTBuffer-size1582147
-Node: Host I/O Packets1584121
-Node: Interrupts1588740
-Node: Notification Packets1590643
-Node: Remote Non-Stop1596031
-Node: Packet Acknowledgment1598320
-Node: Examples1600435
-Node: File-I/O Remote Protocol Extension1601061
-Node: File-I/O Overview1601523
-Node: Protocol Basics1603720
-Node: The F Request Packet1605952
-Node: The F Reply Packet1606853
-Node: The Ctrl-C Message1607771
-Node: Console I/O1609400
-Node: List of Supported Calls1610617
-Node: open1610979
-Node: close1613473
-Node: read1613855
-Node: write1614462
-Node: lseek1615229
-Node: rename1616107
-Node: unlink1617503
-Node: stat/fstat1618442
-Node: gettimeofday1619329
-Node: isatty1619764
-Node: system1620360
-Node: Protocol-specific Representation of Datatypes1621902
-Node: Integral Datatypes1622279
-Node: Pointer Values1623086
-Node: Memory Transfer1623794
-Node: struct stat1624414
-Node: struct timeval1626616
-Node: Constants1627133
-Node: Open Flags1627582
-Node: mode_t Values1627923
-Node: Errno Values1628415
-Node: Lseek Flags1629226
-Node: Limits1629411
-Node: File-I/O Examples1629771
-Node: Library List Format1630887
-Node: Library List Format for SVR4 Targets1633670
-Node: Memory Map Format1636140
-Node: Thread List Format1638717
-Node: Traceframe Info Format1639535
-Node: Branch Trace Format1641222
-Node: Agent Expressions1642568
-Node: General Bytecode Design1645389
-Node: Bytecode Descriptions1650189
-Node: Using Agent Expressions1663625
-Node: Varying Target Capabilities1665603
-Node: Rationale1666765
-Node: Target Descriptions1674151
-Node: Retrieving Descriptions1676027
-Node: Target Description Format1677112
-Node: Predefined Target Types1686156
-Node: Standard Target Features1687541
-Node: AArch64 Features1689405
-Node: ARM Features1689828
-Node: i386 Features1691345
-Node: MIPS Features1693291
-Node: M68K Features1694475
-Node: Nios II Features1695138
-Node: PowerPC Features1695535
-Node: S/390 and System z Features1696858
-Node: TIC6x Features1698323
-Node: Operating System Information1698883
-Node: Process list1699721
-Node: Trace File Format1700783
-Node: Index Section Format1702777
-Node: Man Pages1710757
-Node: gdb man1711163
-Node: gdbserver man1717205
-Node: gcore man1724413
-Node: gdbinit man1725070
-Node: Copying1725955
-Node: GNU Free Documentation License1763534
-Node: Concept Index1788700
-Node: Command and Variable Index1916999
+Node: Top1723
+Node: Summary5196
+Node: Free Software7069
+Node: Free Documentation7810
+Node: Contributors12745
+Node: Sample Session20839
+Node: Invocation27691
+Node: Invoking GDB28235
+Node: File Options30570
+Node: Mode Options33628
+Ref: -nx33855
+Ref: -nh34944
+Node: Startup41268
+Ref: Home Directory Init File41819
+Ref: Option -init-eval-command41929
+Ref: Init File in the Current Directory during Startup42274
+Ref: Startup-Footnote-144468
+Node: Quitting GDB44577
+Node: Shell Commands45474
+Node: Logging Output46401
+Node: Commands47247
+Node: Command Syntax47885
+Node: Completion50051
+Ref: Completion-Footnote-155415
+Node: Help55575
+Node: Running61329
+Node: Compilation62558
+Node: Starting64642
+Ref: set exec-wrapper69914
+Ref: set auto-connect-native-target72069
+Node: Arguments76465
+Node: Environment77735
+Node: Working Directory81467
+Node: Input/Output82619
+Node: Attach84590
+Node: Kill Process87057
+Node: Inferiors and Programs88038
+Node: Threads95284
+Ref: set libthread-db-search-path102698
+Node: Forks104756
+Node: Checkpoint/Restart111066
+Ref: Checkpoint/Restart-Footnote-1115595
+Node: Stopping115630
+Node: Breakpoints116893
+Node: Set Breaks120436
+Node: Set Watchpoints138867
+Node: Set Catchpoints148270
+Node: Delete Breaks159152
+Node: Disabling161088
+Node: Conditions164477
+Node: Break Commands170125
+Node: Dynamic Printf173347
+Node: Save Breakpoints177607
+Node: Static Probe Points178782
+Node: Error in Breakpoints181469
+Node: Breakpoint-related Warnings182205
+Node: Continuing and Stepping184532
+Ref: range stepping194007
+Node: Skipping Over Functions and Files195089
+Node: Signals198661
+Ref: stepping and signal handlers203095
+Ref: stepping into signal handlers203890
+Ref: extra signal information205123
+Node: Thread Stops206626
+Node: All-Stop Mode207725
+Node: Non-Stop Mode211623
+Node: Background Execution215040
+Node: Thread-Specific Breakpoints217257
+Node: Interrupted System Calls219275
+Node: Observer Mode220789
+Node: Reverse Execution224228
+Ref: Reverse Execution-Footnote-1228855
+Ref: Reverse Execution-Footnote-2229482
+Node: Process Record and Replay229532
+Node: Stack243854
+Node: Frames245402
+Node: Backtrace248170
+Ref: backtrace-command248521
+Ref: Backtrace-Footnote-1254290
+Node: Frame Filter Management254478
+Ref: disable frame-filter all255022
+Node: Selection259330
+Node: Frame Info262202
+Node: Source264196
+Node: List265262
+Node: Specify Location267964
+Node: Edit272568
+Ref: Edit-Footnote-1274043
+Node: Search274278
+Node: Source Path275086
+Ref: set substitute-path281453
+Node: Machine Code283674
+Node: Data290575
+Node: Expressions298238
+Node: Ambiguous Expressions300342
+Node: Variables303576
+Node: Arrays309642
+Node: Output Formats312173
+Ref: Output Formats-Footnote-1315545
+Node: Memory315702
+Node: Auto Display322103
+Node: Print Settings326645
+Ref: set print entry-values334803
+Node: Pretty Printing346111
+Node: Pretty-Printer Introduction346624
+Node: Pretty-Printer Example348379
+Node: Pretty-Printer Commands349157
+Node: Value History351581
+Node: Convenience Vars354002
+Node: Convenience Funs360485
+Node: Registers365622
+Ref: standard registers366604
+Ref: Registers-Footnote-1371556
+Node: Floating Point Hardware371951
+Node: Vector Unit372483
+Node: OS Information372870
+Ref: linux info os infotypes374893
+Node: Memory Region Attributes379093
+Node: Dump/Restore Files383763
+Node: Core File Generation386068
+Node: Character Sets387292
+Node: Caching Target Data393657
+Ref: Caching Target Data-Footnote-1396386
+Node: Searching Memory396624
+Node: Optimized Code399501
+Node: Inline Functions401178
+Node: Tail Call Frames403805
+Ref: set debug entry-values405945
+Node: Macros410019
+Ref: Macros-Footnote-1417595
+Node: Tracepoints417748
+Node: Set Tracepoints419809
+Node: Create and Delete Tracepoints422747
+Node: Enable and Disable Tracepoints429147
+Node: Tracepoint Passcounts430387
+Node: Tracepoint Conditions431814
+Node: Trace State Variables433508
+Node: Tracepoint Actions435702
+Node: Listing Tracepoints442007
+Node: Listing Static Tracepoint Markers443709
+Node: Starting and Stopping Trace Experiments445555
+Ref: disconnected tracing447300
+Node: Tracepoint Restrictions451728
+Node: Analyze Collected Data455498
+Node: tfind456803
+Node: tdump461225
+Node: save tracepoints463740
+Node: Tracepoint Variables464236
+Node: Trace Files465364
+Node: Overlays467740
+Node: How Overlays Work468460
+Ref: A code overlay471020
+Node: Overlay Commands474458
+Node: Automatic Overlay Debugging478648
+Node: Overlay Sample Program480789
+Node: Languages482549
+Node: Setting483712
+Node: Filenames485414
+Node: Manually486225
+Node: Automatically487434
+Node: Show488495
+Ref: show language488783
+Node: Checks489817
+Node: Type Checking490822
+Node: Range Checking492651
+Node: Supported Languages495052
+Node: C496352
+Node: C Operators497316
+Node: C Constants501661
+Node: C Plus Plus Expressions504542
+Node: C Defaults507885
+Node: C Checks508553
+Node: Debugging C509113
+Node: Debugging C Plus Plus509597
+Node: Decimal Floating Point513190
+Node: D514459
+Node: Go514716
+Node: Objective-C515810
+Node: Method Names in Commands516273
+Node: The Print Command with Objective-C517968
+Node: OpenCL C518619
+Node: OpenCL C Datatypes518894
+Node: OpenCL C Expressions519269
+Node: OpenCL C Operators519626
+Node: Fortran519858
+Node: Fortran Operators520580
+Node: Fortran Defaults521436
+Node: Special Fortran Commands521821
+Node: Pascal522327
+Node: Modula-2522842
+Node: M2 Operators523817
+Node: Built-In Func/Proc526816
+Node: M2 Constants529731
+Node: M2 Types531332
+Node: M2 Defaults534551
+Node: Deviations535151
+Node: M2 Checks536252
+Node: M2 Scope537070
+Node: GDB/M2538094
+Node: Ada539006
+Node: Ada Mode Intro540116
+Node: Omissions from Ada542026
+Node: Additions to Ada546380
+Node: Stopping Before Main Program550310
+Node: Ada Exceptions550844
+Node: Ada Tasks552041
+Node: Ada Tasks and Core Files558457
+Node: Ravenscar Profile559302
+Node: Ada Glitches560372
+Node: Unsupported Languages564387
+Node: Symbols565077
+Node: Altering583785
+Node: Assignment584823
+Node: Jumping587928
+Node: Signaling590089
+Node: Returning593018
+Node: Calling596370
+Node: Patching599413
+Node: Compiling and Injecting Code600527
+Node: GDB Files609457
+Node: Files610177
+Ref: Shared Libraries623267
+Ref: Files-Footnote-1634901
+Node: Separate Debug Files635076
+Ref: debug-file-directory638183
+Node: MiniDebugInfo646781
+Node: Index Files649232
+Node: Symbol Errors651294
+Node: Data Files654907
+Node: Targets655863
+Node: Active Targets657343
+Node: Target Commands658417
+Ref: load662801
+Node: Byte Order663782
+Node: Remote Debugging664759
+Node: Connecting666021
+Node: File Transfer670963
+Node: Server671903
+Ref: Other Command-Line Arguments for gdbserver679495
+Ref: Monitor Commands for gdbserver682611
+Ref: Server-Footnote-1687782
+Node: Remote Configuration687902
+Ref: set remotebreak688928
+Ref: set remote hardware-watchpoint-limit690392
+Ref: set remote hardware-breakpoint-limit690392
+Ref: set remote hardware-watchpoint-length-limit690618
+Ref: set remote exec-file691033
+Node: Remote Stub698391
+Node: Stub Contents701288
+Node: Bootstrapping703395
+Node: Debug Session707209
+Node: Configurations709251
+Node: Native710020
+Node: HP-UX710589
+Node: BSD libkvm Interface710878
+Node: SVR4 Process Information711949
+Node: DJGPP Native715724
+Node: Cygwin Native722304
+Node: Non-debug DLL Symbols726113
+Node: Hurd Native730258
+Node: Darwin735519
+Node: Embedded OS736780
+Node: Embedded Processors737191
+Node: ARM738324
+Node: M32R/D742458
+Node: M68K744160
+Node: MicroBlaze744453
+Node: MIPS Embedded745903
+Node: PowerPC Embedded750844
+Node: PA754625
+Node: Sparclet754909
+Node: Sparclet File756378
+Node: Sparclet Connection757258
+Node: Sparclet Download757736
+Node: Sparclet Execution758785
+Node: Sparclite759376
+Node: Z8000759749
+Node: AVR761133
+Node: CRIS761496
+Node: Super-H762474
+Node: Architectures763534
+Node: AArch64763971
+Node: i386764378
+Ref: i386-Footnote-1766610
+Node: Alpha766696
+Node: MIPS766829
+Node: HPPA770722
+Node: SPU771241
+Node: PowerPC773429
+Node: Nios II774163
+Node: Controlling GDB774552
+Node: Prompt775449
+Node: Editing777168
+Node: Command History778111
+Node: Screen Size781641
+Node: Numbers783574
+Node: ABI785559
+Node: Auto-loading788733
+Ref: set auto-load off790108
+Ref: show auto-load790744
+Ref: info auto-load791523
+Node: Init File in the Current Directory794557
+Ref: set auto-load local-gdbinit795132
+Ref: show auto-load local-gdbinit795314
+Ref: info auto-load local-gdbinit795478
+Node: libthread_db.so.1 file795626
+Ref: set auto-load libthread-db796565
+Ref: show auto-load libthread-db796696
+Ref: info auto-load libthread-db796833
+Node: Auto-loading safe path797017
+Ref: set auto-load safe-path798323
+Ref: show auto-load safe-path799062
+Ref: add-auto-load-safe-path799185
+Node: Auto-loading verbose mode802087
+Ref: set debug auto-load803250
+Ref: show debug auto-load803351
+Node: Messages/Warnings803473
+Ref: confirmation requests804908
+Node: Debugging Output806115
+Node: Other Misc Settings814878
+Node: Extending GDB815907
+Node: Sequences817761
+Node: Define818422
+Node: Hooks822241
+Node: Command Files824608
+Node: Output829678
+Node: Auto-loading sequences834642
+Ref: set auto-load gdb-scripts835137
+Ref: show auto-load gdb-scripts835261
+Ref: info auto-load gdb-scripts835391
+Node: Python835622
+Node: Python Commands836795
+Node: Python API839130
+Node: Basic Python841613
+Ref: prompt_hook850274
+Node: Exception Handling850871
+Node: Values From Inferior853367
+Node: Types In Python866268
+Node: Pretty Printing API875536
+Node: Selecting Pretty-Printers879429
+Node: Writing a Pretty-Printer881762
+Node: Type Printing API887083
+Node: Frame Filter API889704
+Node: Frame Decorator API896989
+Ref: frame_args900568
+Node: Writing a Frame Filter903895
+Node: Xmethods In Python915362
+Node: Xmethod API918251
+Node: Writing an Xmethod921774
+Node: Inferiors In Python927360
+Node: Events In Python930240
+Node: Threads In Python937323
+Node: Commands In Python939766
+Node: Parameters In Python949185
+Node: Functions In Python954646
+Node: Progspaces In Python956868
+Node: Objfiles In Python960369
+Node: Frames In Python965763
+Node: Blocks In Python972301
+Node: Symbols In Python976664
+Node: Symbol Tables In Python983891
+Node: Line Tables In Python987121
+Node: Breakpoints In Python989958
+Node: Finish Breakpoints in Python997950
+Node: Lazy Strings In Python1000057
+Node: Architectures In Python1002292
+Node: Python Auto-loading1004479
+Ref: set auto-load python-scripts1005108
+Ref: show auto-load python-scripts1005208
+Ref: info auto-load python-scripts1005314
+Node: Python modules1006338
+Node: gdb.printing1006724
+Node: gdb.types1008151
+Node: gdb.prompt1011164
+Node: Guile1012813
+Node: Guile Introduction1013472
+Node: Guile Commands1014343
+Node: Guile API1016212
+Node: Basic Guile1018209
+Node: Guile Configuration1023922
+Node: GDB Scheme Data Types1024898
+Node: Guile Exception Handling1026738
+Node: Values From Inferior In Guile1030789
+Node: Arithmetic In Guile1046334
+Node: Types In Guile1047965
+Ref: Fields of a type in Guile1055912
+Node: Guile Pretty Printing API1057313
+Node: Selecting Guile Pretty-Printers1062909
+Node: Writing a Guile Pretty-Printer1065288
+Node: Commands In Guile1070472
+Node: Parameters In Guile1081276
+Ref: Parameters In Guile-Footnote-11088158
+Node: Progspaces In Guile1088285
+Node: Objfiles In Guile1090873
+Node: Frames In Guile1092945
+Node: Blocks In Guile1099363
+Node: Symbols In Guile1104171
+Node: Symbol Tables In Guile1111503
+Node: Breakpoints In Guile1114466
+Node: Lazy Strings In Guile1124688
+Node: Architectures In Guile1126982
+Node: Disassembly In Guile1131288
+Node: I/O Ports in Guile1134488
+Node: Memory Ports in Guile1135044
+Node: Iterators In Guile1138216
+Node: Guile Auto-loading1142504
+Ref: set auto-load guile-scripts1143127
+Ref: show auto-load guile-scripts1143225
+Ref: info auto-load guile-scripts1143329
+Node: Guile Modules1144288
+Node: Guile Printing Module1144610
+Node: Guile Types Module1145430
+Node: Auto-loading extensions1146722
+Node: objfile-gdbdotext file1147920
+Ref: set auto-load scripts-directory1149364
+Ref: with-auto-load-dir1149740
+Ref: show auto-load scripts-directory1150558
+Ref: add-auto-load-scripts-directory1150638
+Node: dotdebug_gdb_scripts section1151114
+Node: Which flavor to choose?1152960
+Node: Multiple Extension Languages1154781
+Node: Aliases1155845
+Node: Interpreters1158710
+Node: TUI1160809
+Node: TUI Overview1161756
+Node: TUI Keys1164189
+Node: TUI Single Key Mode1166493
+Node: TUI Commands1167368
+Node: TUI Configuration1170026
+Node: Emacs1171322
+Node: GDB/MI1176796
+Node: GDB/MI General Design1178770
+Node: Context management1181293
+Node: Asynchronous and non-stop modes1185121
+Node: Thread groups1188097
+Node: GDB/MI Command Syntax1190375
+Node: GDB/MI Input Syntax1190618
+Node: GDB/MI Output Syntax1192172
+Node: GDB/MI Compatibility with CLI1195759
+Node: GDB/MI Development and Front Ends1196496
+Node: GDB/MI Output Records1198153
+Node: GDB/MI Result Records1198559
+Node: GDB/MI Stream Records1199909
+Node: GDB/MI Async Records1201174
+Node: GDB/MI Breakpoint Information1210804
+Node: GDB/MI Frame Information1214756
+Node: GDB/MI Thread Information1215843
+Node: GDB/MI Ada Exception Information1216822
+Node: GDB/MI Simple Examples1217245
+Node: GDB/MI Command Description Format1219453
+Node: GDB/MI Breakpoint Commands1220333
+Node: GDB/MI Catchpoint Commands1240204
+Node: Shared Library GDB/MI Catchpoint Commands1240572
+Node: Ada Exception GDB/MI Catchpoint Commands1242230
+Node: GDB/MI Program Context1244640
+Node: GDB/MI Thread Commands1248910
+Node: GDB/MI Ada Tasking Commands1252866
+Node: GDB/MI Program Execution1255120
+Node: GDB/MI Stack Manipulation1267157
+Ref: -stack-list-arguments1269056
+Ref: -stack-list-frames1272761
+Ref: -stack-list-locals1276630
+Ref: -stack-list-variables1278120
+Node: GDB/MI Variable Objects1279654
+Ref: -var-set-format1289557
+Ref: -var-list-children1290675
+Ref: -var-update1299464
+Ref: -var-set-frozen1302459
+Ref: -var-set-update-range1303255
+Ref: -var-set-visualizer1303785
+Node: GDB/MI Data Manipulation1305276
+Node: GDB/MI Tracepoint Commands1324841
+Node: GDB/MI Symbol Query1336434
+Node: GDB/MI File Commands1337123
+Node: GDB/MI Target Manipulation1340419
+Node: GDB/MI File Transfer Commands1346641
+Node: GDB/MI Ada Exceptions Commands1347964
+Node: GDB/MI Support Commands1349318
+Node: GDB/MI Miscellaneous Commands1353903
+Ref: -interpreter-exec1364136
+Node: Annotations1366472
+Node: Annotations Overview1367391
+Node: Server Prefix1369854
+Node: Prompting1370588
+Node: Errors1372105
+Node: Invalidation1373001
+Node: Annotations for Running1373478
+Node: Source Annotations1375012
+Node: JIT Interface1375941
+Node: Declarations1377741
+Node: Registering Code1379128
+Node: Unregistering Code1380100
+Node: Custom Debug Info1380727
+Node: Using JIT Debug Info Readers1382023
+Node: Writing JIT Debug Info Readers1383036
+Node: In-Process Agent1385233
+Ref: Control Agent1387176
+Node: In-Process Agent Protocol1388043
+Node: IPA Protocol Objects1388835
+Ref: agent expression object1389837
+Ref: tracepoint action object1390043
+Ref: tracepoint object1390124
+Node: IPA Protocol Commands1393080
+Node: GDB Bugs1394553
+Node: Bug Criteria1395285
+Node: Bug Reporting1396162
+Node: Command Line Editing1403993
+Node: Introduction and Notation1404645
+Node: Readline Interaction1406265
+Node: Readline Bare Essentials1407454
+Node: Readline Movement Commands1409241
+Node: Readline Killing Commands1410204
+Node: Readline Arguments1412122
+Node: Searching1413164
+Node: Readline Init File1415313
+Node: Readline Init File Syntax1416464
+Node: Conditional Init Constructs1431522
+Node: Sample Init File1434053
+Node: Bindable Readline Commands1437168
+Node: Commands For Moving1438223
+Node: Commands For History1439082
+Node: Commands For Text1442484
+Node: Commands For Killing1445208
+Node: Numeric Arguments1447348
+Node: Commands For Completion1448485
+Node: Keyboard Macros1450452
+Node: Miscellaneous Commands1451021
+Node: Readline vi Mode1454875
+Node: Using History Interactively1455785
+Node: History Interaction1456328
+Node: Event Designators1457750
+Node: Word Designators1458890
+Node: Modifiers1460527
+Node: In Memoriam1461750
+Node: Formatting Documentation1462633
+Ref: Formatting Documentation-Footnote-11466010
+Node: Installing GDB1466106
+Node: Requirements1466678
+Ref: Expat1467247
+Node: Running Configure1469819
+Node: Separate Objdir1473598
+Node: Config Names1476578
+Node: Configure Options1478055
+Node: System-wide configuration1480425
+Node: System-wide Configuration Scripts1482385
+Node: Maintenance Commands1483569
+Ref: maint info breakpoints1485224
+Node: Remote Protocol1502555
+Node: Overview1503209
+Ref: Binary Data1505771
+Node: Packets1508294
+Ref: thread-id syntax1509194
+Ref: extended mode1510639
+Ref: ? packet1510896
+Ref: bc1512360
+Ref: bs1512570
+Ref: read registers packet1514186
+Ref: cycle step packet1516122
+Ref: write register packet1518722
+Ref: step with signal packet1519700
+Ref: vCont packet1521174
+Ref: vKill packet1526071
+Ref: X packet1527004
+Ref: insert breakpoint or watchpoint packet1527314
+Node: Stop Reply Packets1531349
+Node: General Query Packets1536121
+Ref: qCRC packet1538952
+Ref: QNonStop1546762
+Ref: QPassSignals1547421
+Ref: QProgramSignals1548625
+Ref: qSearch memory1551136
+Ref: QStartNoAckMode1551643
+Ref: qSupported1552173
+Ref: multiprocess extensions1562663
+Ref: install tracepoint in tracing1564692
+Ref: qXfer read1568072
+Ref: qXfer auxiliary vector read1568566
+Ref: qXfer btrace read1568913
+Ref: qXfer target description read1569976
+Ref: qXfer library list read1570420
+Ref: qXfer svr4 library list read1571075
+Ref: qXfer memory map read1572927
+Ref: qXfer sdata read1573313
+Ref: qXfer siginfo read1573777
+Ref: qXfer spu read1574173
+Ref: qXfer threads read1574696
+Ref: qXfer traceframe info read1575098
+Ref: qXfer unwind info block1575514
+Ref: qXfer fdpic loadmap read1575746
+Ref: qXfer osdata read1576161
+Ref: qXfer write1577419
+Ref: qXfer siginfo write1577985
+Ref: qXfer spu write1578381
+Ref: General Query Packets-Footnote-11580917
+Node: Architecture-Specific Protocol Details1581244
+Node: ARM-Specific Protocol Details1581753
+Node: ARM Breakpoint Kinds1582001
+Node: MIPS-Specific Protocol Details1582333
+Node: MIPS Register packet Format1582616
+Node: MIPS Breakpoint Kinds1583545
+Node: Tracepoint Packets1583964
+Ref: QTEnable1592959
+Ref: QTDisable1593155
+Ref: qTfSTM1598677
+Ref: qTsSTM1598677
+Ref: qTSTMat1599753
+Ref: QTBuffer-size1600904
+Node: Host I/O Packets1602878
+Node: Interrupts1607497
+Node: Notification Packets1609400
+Node: Remote Non-Stop1614788
+Node: Packet Acknowledgment1617077
+Node: Examples1619192
+Node: File-I/O Remote Protocol Extension1619818
+Node: File-I/O Overview1620280
+Node: Protocol Basics1622477
+Node: The F Request Packet1624709
+Node: The F Reply Packet1625610
+Node: The Ctrl-C Message1626528
+Node: Console I/O1628157
+Node: List of Supported Calls1629374
+Node: open1629736
+Node: close1632230
+Node: read1632612
+Node: write1633219
+Node: lseek1633986
+Node: rename1634864
+Node: unlink1636260
+Node: stat/fstat1637199
+Node: gettimeofday1638086
+Node: isatty1638521
+Node: system1639117
+Node: Protocol-specific Representation of Datatypes1640659
+Node: Integral Datatypes1641036
+Node: Pointer Values1641843
+Node: Memory Transfer1642551
+Node: struct stat1643171
+Node: struct timeval1645373
+Node: Constants1645890
+Node: Open Flags1646339
+Node: mode_t Values1646680
+Node: Errno Values1647172
+Node: Lseek Flags1647983
+Node: Limits1648168
+Node: File-I/O Examples1648528
+Node: Library List Format1649644
+Node: Library List Format for SVR4 Targets1652427
+Node: Memory Map Format1654897
+Node: Thread List Format1657474
+Node: Traceframe Info Format1658292
+Node: Branch Trace Format1659979
+Node: Agent Expressions1661325
+Node: General Bytecode Design1664146
+Node: Bytecode Descriptions1668946
+Node: Using Agent Expressions1682382
+Node: Varying Target Capabilities1684360
+Node: Rationale1685522
+Node: Target Descriptions1692908
+Node: Retrieving Descriptions1694784
+Node: Target Description Format1695869
+Node: Predefined Target Types1704913
+Node: Standard Target Features1706298
+Node: AArch64 Features1708186
+Node: ARM Features1708609
+Node: i386 Features1710126
+Node: MicroBlaze Features1712078
+Node: MIPS Features1712655
+Node: M68K Features1713845
+Node: Nios II Features1714508
+Node: PowerPC Features1714905
+Node: S/390 and System z Features1716228
+Node: TIC6x Features1717693
+Node: Operating System Information1718255
+Node: Process list1719093
+Node: Trace File Format1720155
+Node: Index Section Format1722149
+Node: Man Pages1730129
+Node: gdb man1730535
+Node: gdbserver man1736577
+Node: gcore man1743785
+Node: gdbinit man1744442
+Node: Copying1745327
+Node: GNU Free Documentation License1782906
+Node: Concept Index1808072
+Node: Command and Variable Index1937277
 
 End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-1	2015-01-13 02:06:56.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2015-01-20 02:09:45.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * gdbserver: (gdb) Server.        The GNU debugging server.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -22,9 +22,9 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.8.1.20150113-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -45,9 +45,9 @@ Debugging with GDB
 
 This file describes GDB, the GNU symbolic debugger.
 
-   This is the Tenth Edition, for GDB (GDB) Version 7.8.1.20150113-cvs.
+   This is the Tenth Edition, for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This edition of the GDB manual is dedicated to the memory of Fred
 Fish.  Fred was a long-standing contributor to GDB and to Free software
@@ -494,7 +494,7 @@ Let us use GDB to try to see what is goi
      There is absolutely no warranty for GDB; type "show warranty"
       for details.
 
-     GDB 7.8.1.20150113-cvs, Copyright 1999 Free Software Foundation, Inc...
+     GDB 7.8.90.20150120-cvs, Copyright 1999 Free Software Foundation, Inc...
      (gdb)
 
 GDB reads only enough symbol data to know where to find the rest when
@@ -1625,10 +1625,9 @@ File: gdb.info,  Node: Starting,  Next: 
 `run'
 `r'
      Use the `run' command to start your program under GDB.  You must
-     first specify the program name (except on VxWorks) with an
-     argument to GDB (*note Getting In and Out of GDB: Invocation.), or
-     by using the `file' or `exec-file' command (*note Commands to
-     Specify Files: Files.).
+     first specify the program name with an argument to GDB (*note
+     Getting In and Out of GDB: Invocation.), or by using the `file' or
+     `exec-file' command (*note Commands to Specify Files: Files.).
 
 
    If you are running your program in an execution environment that
@@ -3230,21 +3229,14 @@ controlled with the following commands::
 `set breakpoint always-inserted off'
      All breakpoints, including newly added by the user, are inserted in
      the target only when the target is resumed.  All breakpoints are
-     removed from the target when it stops.
+     removed from the target when it stops.  This is the default mode.
 
 `set breakpoint always-inserted on'
      Causes all breakpoints to be inserted in the target at all times.
      If the user adds a new breakpoint, or changes an existing
      breakpoint, the breakpoints in the target are updated immediately.
      A breakpoint is removed from the target only when breakpoint
-     itself is removed.
-
-`set breakpoint always-inserted auto'
-     This is the default mode.  If GDB is controlling the inferior in
-     non-stop mode (*note Non-Stop Mode::), gdb behaves as if
-     `breakpoint always-inserted' mode is on.  If GDB is controlling
-     the inferior in all-stop mode, GDB behaves as if `breakpoint
-     always-inserted' mode is off.
+     itself is deleted.
 
    GDB handles conditional breakpoints by evaluating these conditions
 when a breakpoint breaks.  If the condition is true, then the process
@@ -4329,7 +4321,8 @@ source code, or one machine instruction 
 command you use).  Either when continuing or when stepping, your
 program may stop even sooner, due to a breakpoint or a signal.  (If it
 stops due to a signal, you may want to use `handle', or use `signal 0'
-to resume execution.  *Note Signals: Signals.)
+to resume execution (*note Signals: Signals.), or you may step into the
+signal's handler (*note stepping and signal handlers::).)
 
 `continue [IGNORE-COUNT]'
 `c [IGNORE-COUNT]'
@@ -4755,6 +4748,56 @@ a result of the fatal signal once it saw
 you can continue with `signal 0'.  *Note Giving your Program a Signal:
 Signaling.
 
+   GDB optimizes for stepping the mainline code.  If a signal that has
+`handle nostop' and `handle pass' set arrives while a stepping command
+(e.g., `stepi', `step', `next') is in progress, GDB lets the signal
+handler run and then resumes stepping the mainline code once the signal
+handler returns.  In other words, GDB steps over the signal handler.
+This prevents signals that you've specified as not interesting (with
+`handle nostop') from changing the focus of debugging unexpectedly.
+Note that the signal handler itself may still hit a breakpoint, stop
+for another signal that has `handle stop' in effect, or for any other
+event that normally results in stopping the stepping command sooner.
+Also note that GDB still informs you that the program received a signal
+if `handle print' is set.
+
+   If you set `handle pass' for a signal, and your program sets up a
+handler for it, then issuing a stepping command, such as `step' or
+`stepi', when your program is stopped due to the signal will step
+_into_ the signal handler (if the target supports that).
+
+   Likewise, if you use the `queue-signal' command to queue a signal to
+be delivered to the current thread when execution of the thread resumes
+(*note Giving your Program a Signal: Signaling.), then a stepping
+command will step into the signal handler.
+
+   Here's an example, using `stepi' to step to the first instruction of
+`SIGUSR1''s handler:
+
+     (gdb) handle SIGUSR1
+     Signal        Stop      Print   Pass to program Description
+     SIGUSR1       Yes       Yes     Yes             User defined signal 1
+     (gdb) c
+     Continuing.
+
+     Program received signal SIGUSR1, User defined signal 1.
+     main () sigusr1.c:28
+     28        p = 0;
+     (gdb) si
+     sigusr1_handler () at sigusr1.c:9
+     9       {
+
+   The same, but using `queue-signal' instead of waiting for the
+program to receive the signal first:
+
+     (gdb) n
+     28        p = 0;
+     (gdb) queue-signal SIGUSR1
+     (gdb) si
+     sigusr1_handler () at sigusr1.c:9
+     9       {
+     (gdb)
+
    On some targets, GDB can inspect extra signal information associated
 with the intercepted signal, before it is actually delivered to the
 program being debugged.  This information is exported by the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-2	2015-01-13 02:06:56.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2015-01-20 02:09:45.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * gdbserver: (gdb) Server.        The GNU debugging server.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -22,9 +22,9 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.8.1.20150113-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -1669,6 +1669,60 @@ support, which means that they are alway
 `$_strlen(STR)'
      Returns the length of string STR.
 
+`$_caller_is(NAME[, NUMBER_OF_FRAMES])'
+     Returns one if the calling function's name is equal to NAME.
+     Otherwise it returns zero.
+
+     If the optional argument NUMBER_OF_FRAMES is provided, it is the
+     number of frames up in the stack to look.  The default is 1.
+
+     Example:
+
+          (gdb) backtrace
+          #0  bottom_func ()
+              at testsuite/gdb.python/py-caller-is.c:21
+          #1  0x00000000004005a0 in middle_func ()
+              at testsuite/gdb.python/py-caller-is.c:27
+          #2  0x00000000004005ab in top_func ()
+              at testsuite/gdb.python/py-caller-is.c:33
+          #3  0x00000000004005b6 in main ()
+              at testsuite/gdb.python/py-caller-is.c:39
+          (gdb) print $_caller_is ("middle_func")
+          $1 = 1
+          (gdb) print $_caller_is ("top_func", 2)
+          $1 = 1
+
+`$_caller_matches(REGEXP[, NUMBER_OF_FRAMES])'
+     Returns one if the calling function's name matches the regular
+     expression REGEXP.  Otherwise it returns zero.
+
+     If the optional argument NUMBER_OF_FRAMES is provided, it is the
+     number of frames up in the stack to look.  The default is 1.
+
+`$_any_caller_is(NAME[, NUMBER_OF_FRAMES])'
+     Returns one if any calling function's name is equal to NAME.
+     Otherwise it returns zero.
+
+     If the optional argument NUMBER_OF_FRAMES is provided, it is the
+     number of frames up in the stack to look.  The default is 1.
+
+     This function differs from `$_caller_is' in that this function
+     checks all stack frames from the immediate caller to the frame
+     specified by NUMBER_OF_FRAMES, whereas `$_caller_is' only checks
+     the frame specified by NUMBER_OF_FRAMES.
+
+`$_any_caller_matches(REGEXP[, NUMBER_OF_FRAMES])'
+     Returns one if any calling function's name matches the regular
+     expression REGEXP.  Otherwise it returns zero.
+
+     If the optional argument NUMBER_OF_FRAMES is provided, it is the
+     number of frames up in the stack to look.  The default is 1.
+
+     This function differs from `$_caller_matches' in that this function
+     checks all stack frames from the immediate caller to the frame
+     specified by NUMBER_OF_FRAMES, whereas `$_caller_matches' only
+     checks the frame specified by NUMBER_OF_FRAMES.
+
 
    GDB provides the ability to list and get help on convenience
 functions.
@@ -5219,6 +5273,10 @@ designed specifically for use with C++. 
      per virtual table; there may be multiple virtual tables when
      multiple inheritance is in use.
 
+`demangle NAME'
+     Demangle NAME.  *Note Symbols::, for a more complete description
+     of the `demangle' command.
+
 `set print demangle'
 `show print demangle'
 `set print asm-demangle'
@@ -6590,15 +6648,14 @@ File: gdb.info,  Node: Ada Tasks and Cor
 When inspecting a core file, as opposed to debugging a live program,
 tasking support may be limited or even unavailable, depending on the
 platform being used.  For instance, on x86-linux, the list of tasks is
-available, but task switching is not supported.  On Tru64, however,
-task switching will work as usual.
+available, but task switching is not supported.
 
-   On certain platforms, including Tru64, the debugger needs to perform
-some memory writes in order to provide Ada tasking support.  When
-inspecting a core file, this means that the core file must be opened
-with read-write privileges, using the command `"set write on"' (*note
-Patching::).  Under these circumstances, you should make a backup copy
-of the core file before inspecting it with GDB.
+   On certain platforms, the debugger needs to perform some memory
+writes in order to provide Ada tasking support.  When inspecting a core
+file, this means that the core file must be opened with read-write
+privileges, using the command `"set write on"' (*note Patching::).
+Under these circumstances, you should make a backup copy of the core
+file before inspecting it with GDB.
 
 
 File: gdb.info,  Node: Ravenscar Profile,  Next: Ada Glitches,  Prev: Ada Tasks and Core Files,  Up: Ada
@@ -6831,6 +6888,17 @@ looks up the value of `x' in the scope o
           (gdb) info symbol 0x2aaaac2811cf
           __read_nocancel + 6 in section .text of /usr/lib64/libc.so.6
 
+`demangle [-l LANGUAGE] [-] NAME'
+     Demangle NAME.  If LANGUAGE is provided it is the name of the
+     language to demangle NAME in.  Otherwise NAME is demangled in the
+     current language.
+
+     The `--' option specifies the end of options, and is useful when
+     NAME begins with a dash.
+
+     The parameter `demangle-style' specifies how to interpret the kind
+     of mangling used. *Note Print Settings::.
+
 `whatis[/FLAGS] [ARG]'
      Print the data type of ARG, which can be either an expression or a
      name of a data type.  With no argument, print the data type of
@@ -7183,6 +7251,7 @@ address, or even return prematurely from
 * Returning::                   Returning from a function
 * Calling::                     Calling your program's functions
 * Patching::                    Patching your program
+* Compiling and Injecting Code:: Compiling and injecting code in GDB
 
 
 File: gdb.info,  Node: Assignment,  Next: Jumping,  Up: Altering
@@ -7322,10 +7391,10 @@ File: gdb.info,  Node: Signaling,  Next:
 =================================
 
 `signal SIGNAL'
-     Resume execution where your program stopped, but immediately give
-     it the signal SIGNAL.  The SIGNAL can be the name or the number of
-     a signal.  For example, on many systems `signal 2' and `signal
-     SIGINT' are both ways of sending an interrupt signal.
+     Resume execution where your program is stopped, but immediately
+     give it the signal SIGNAL.  The SIGNAL can be the name or the
+     number of a signal.  For example, on many systems `signal 2' and
+     `signal SIGINT' are both ways of sending an interrupt signal.
 
      Alternatively, if SIGNAL is zero, continue execution without
      giving a signal.  This is useful when your program stopped on
@@ -7333,14 +7402,47 @@ File: gdb.info,  Node: Signaling,  Next:
      resumed with the `continue' command; `signal 0' causes it to
      resume without a signal.
 
+     _Note:_ When resuming a multi-threaded program, SIGNAL is
+     delivered to the currently selected thread, not the thread that
+     last reported a stop.  This includes the situation where a thread
+     was stopped due to a signal.  So if you want to continue execution
+     suppressing the signal that stopped a thread, you should select
+     that same thread before issuing the `signal 0' command.  If you
+     issue the `signal 0' command with another thread as the selected
+     one, GDB detects that and asks for confirmation.
+
+     Invoking the `signal' command is not the same as invoking the
+     `kill' utility from the shell.  Sending a signal with `kill'
+     causes GDB to decide what to do with the signal depending on the
+     signal handling tables (*note Signals::).  The `signal' command
+     passes the signal directly to your program.
+
      `signal' does not repeat when you press <RET> a second time after
      executing the command.
 
-   Invoking the `signal' command is not the same as invoking the `kill'
-utility from the shell.  Sending a signal with `kill' causes GDB to
-decide what to do with the signal depending on the signal handling
-tables (*note Signals::).  The `signal' command passes the signal
-directly to your program.
+`queue-signal SIGNAL'
+     Queue SIGNAL to be delivered immediately to the current thread
+     when execution of the thread resumes.  The SIGNAL can be the name
+     or the number of a signal.  For example, on many systems `signal
+     2' and `signal SIGINT' are both ways of sending an interrupt
+     signal.  The handling of the signal must be set to pass the signal
+     to the program, otherwise GDB will report an error.  You can
+     control the handling of signals from GDB with the `handle' command
+     (*note Signals::).
+
+     Alternatively, if SIGNAL is zero, any currently queued signal for
+     the current thread is discarded and when execution resumes no
+     signal will be delivered.  This is useful when your program
+     stopped on account of a signal and would ordinarily see the signal
+     when resumed with the `continue' command.
+
+     This command differs from the `signal' command in that the signal
+     is just queued, execution is not resumed.  And `queue-signal'
+     cannot be used to pass a signal whose handling state has been set
+     to `nopass' (*note Signals::).
+
+   *Note stepping into signal handlers::, for information on how
+stepping commands behave when the thread has a signal queued.
 
 
 File: gdb.info,  Node: Returning,  Next: Calling,  Prev: Signaling,  Up: Altering
@@ -7481,52 +7583,3 @@ causes GDB to call the inferior function
 called function will function erroneously and may even crash.  A
 solution to that is to use the name of the aliased function instead.
 
-
-File: gdb.info,  Node: Patching,  Prev: Calling,  Up: Altering
-
-17.6 Patching Programs
-======================
-
-By default, GDB opens the file containing your program's executable
-code (or the corefile) read-only.  This prevents accidental alterations
-to machine code; but it also prevents you from intentionally patching
-your program's binary.
-
-   If you'd like to be able to patch the binary, you can specify that
-explicitly with the `set write' command.  For example, you might want
-to turn on internal debugging flags, or even to make emergency repairs.
-
-`set write on'
-`set write off'
-     If you specify `set write on', GDB opens executable and core files
-     for both reading and writing; if you specify `set write off' (the
-     default), GDB opens them read-only.
-
-     If you have already loaded a file, you must load it again (using
-     the `exec-file' or `core-file' command) after changing `set
-     write', for your new setting to take effect.
-
-`show write'
-     Display whether executable files and core files are opened for
-     writing as well as reading.
-
-
-File: gdb.info,  Node: GDB Files,  Next: Targets,  Prev: Altering,  Up: Top
-
-18 GDB Files
-************
-
-GDB needs to know the file name of the program to be debugged, both in
-order to read its symbol table and in order to start your program.  To
-debug a core dump of a previous run, you must also tell GDB the name of
-the core dump file.
-
-* Menu:
-
-* Files::                       Commands to specify files
-* Separate Debug Files::        Debugging information in separate files
-* MiniDebugInfo::               Debugging information in a special section
-* Index Files::                 Index files speed up GDB
-* Symbol Errors::               Errors reading symbol files
-* Data Files::                  GDB data files
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-3	2015-01-13 02:06:56.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2015-01-20 02:09:45.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * gdbserver: (gdb) Server.        The GNU debugging server.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -22,9 +22,9 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.8.1.20150113-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -38,6 +38,256 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Patching,  Next: Compiling and Injecting Code,  Prev: Calling,  Up: Altering
+
+17.6 Patching Programs
+======================
+
+By default, GDB opens the file containing your program's executable
+code (or the corefile) read-only.  This prevents accidental alterations
+to machine code; but it also prevents you from intentionally patching
+your program's binary.
+
+   If you'd like to be able to patch the binary, you can specify that
+explicitly with the `set write' command.  For example, you might want
+to turn on internal debugging flags, or even to make emergency repairs.
+
+`set write on'
+`set write off'
+     If you specify `set write on', GDB opens executable and core files
+     for both reading and writing; if you specify `set write off' (the
+     default), GDB opens them read-only.
+
+     If you have already loaded a file, you must load it again (using
+     the `exec-file' or `core-file' command) after changing `set
+     write', for your new setting to take effect.
+
+`show write'
+     Display whether executable files and core files are opened for
+     writing as well as reading.
+
+
+File: gdb.info,  Node: Compiling and Injecting Code,  Prev: Patching,  Up: Altering
+
+17.7 Compiling and injecting code in GDB
+========================================
+
+GDB supports on-demand compilation and code injection into programs
+running under GDB.  GCC 5.0 or higher built with `libcc1.so' must be
+installed for this functionality to be enabled.  This functionality is
+implemented with the following commands.
+
+`compile code SOURCE-CODE'
+`compile code -raw - SOURCE-CODE'
+     Compile SOURCE-CODE with the compiler language found as the current
+     language in GDB (*note Languages::).  If compilation and injection
+     is not supported with the current language specified in GDB, or
+     the compiler does not support this feature, an error message will
+     be printed.  If SOURCE-CODE compiles and links successfully, GDB
+     will load the object-code emitted, and execute it within the
+     context of the currently selected inferior.  It is important to
+     note that the compiled code is executed immediately.  After
+     execution, the compiled code is removed from GDB and any new types
+     or variables you have defined will be deleted.
+
+     The command allows you to specify SOURCE-CODE in two ways.  The
+     simplest method is to provide a single line of code to the command.
+     E.g.:
+
+          compile code printf ("hello world\n");
+
+     If you specify options on the command line as well as source code,
+     they may conflict.  The `--' delimiter can be used to separate
+     options from actual source code.  E.g.:
+
+          compile code -r -- printf ("hello world\n");
+
+     Alternatively you can enter source code as multiple lines of text.
+     To enter this mode, invoke the `compile code' command without any
+     text following the command.  This will start the multiple-line
+     editor and allow you to type as many lines of source code as
+     required.  When you have completed typing, enter `end' on its own
+     line to exit the editor.
+
+          compile code
+          >printf ("hello\n");
+          >printf ("world\n");
+          >end
+
+     Specifying `-raw', prohibits GDB from wrapping the provided
+     SOURCE-CODE in a callable scope.  In this case, you must specify
+     the entry point of the code by defining a function named
+     `_gdb_expr_'.  The `-raw' code cannot access variables of the
+     inferior.  Using `-raw' option may be needed for example when
+     SOURCE-CODE requires `#include' lines which may conflict with
+     inferior symbols otherwise.
+
+`compile file FILENAME'
+`compile file -raw FILENAME'
+     Like `compile code', but take the source code from FILENAME.
+
+          compile file /home/user/example.c
+
+17.7.1 Caveats when using the `compile' command
+-----------------------------------------------
+
+There are a few caveats to keep in mind when using the `compile'
+command.  As the caveats are different per language, the table below
+highlights specific issues on a per language basis.
+
+C code examples and caveats
+     When the language in GDB is set to `C', the compiler will attempt
+     to compile the source code with a `C' compiler.  The source code
+     provided to the `compile' command will have much the same access
+     to variables and types as it normally would if it were part of the
+     program currently being debugged in GDB.
+
+     Below is a sample program that forms the basis of the examples that
+     follow.  This program has been compiled and loaded into GDB, much
+     like any other normal debugging session.
+
+          void function1 (void)
+          {
+             int i = 42;
+             printf ("function 1\n");
+          }
+
+          void function2 (void)
+          {
+             int j = 12;
+             function1 ();
+          }
+
+          int main(void)
+          {
+             int k = 6;
+             int *p;
+             function2 ();
+             return 0;
+          }
+
+     For the purposes of the examples in this section, the program
+     above has been compiled, loaded into GDB, stopped at the function
+     `main', and GDB is awaiting input from the user.
+
+     To access variables and types for any program in GDB, the program
+     must be compiled and packaged with debug information.  The
+     `compile' command is not an exception to this rule.  Without debug
+     information, you can still use the `compile' command, but you will
+     be very limited in what variables and types you can access.
+
+     So with that in mind, the example above has been compiled with
+     debug information enabled.  The `compile' command will have access
+     to all variables and types (except those that may have been
+     optimized out).  Currently, as GDB has stopped the program in the
+     `main' function, the `compile' command would have access to the
+     variable `k'.  You could invoke the `compile' command and type
+     some source code to set the value of `k'.  You can also read it,
+     or do anything with that variable you would normally do in `C'.
+     Be aware that changes to inferior variables in the `compile'
+     command are persistent.  In the following example:
+
+          compile code k = 3;
+
+     the variable `k' is now 3.  It will retain that value until
+     something else in the example program changes it, or another
+     `compile' command changes it.
+
+     Normal scope and access rules apply to source code compiled and
+     injected by the `compile' command.  In the example, the variables
+     `j' and `k' are not accessible yet, because the program is
+     currently stopped in the `main' function, where these variables
+     are not in scope.  Therefore, the following command
+
+          compile code j = 3;
+
+     will result in a compilation error message.
+
+     Once the program is continued, execution will bring these
+     variables in scope, and they will become accessible; then the code
+     you specify via the `compile' command will be able to access them.
+
+     You can create variables and types with the `compile' command as
+     part of your source code.  Variables and types that are created as
+     part of the `compile' command are not visible to the rest of the
+     program for the duration of its run.  This example is valid:
+
+          compile code int ff = 5; printf ("ff is %d\n", ff);
+
+     However, if you were to type the following into GDB after that
+     command has completed:
+
+          compile code printf ("ff is %d\n'', ff);
+
+     a compiler error would be raised as the variable `ff' no longer
+     exists.  Object code generated and injected by the `compile'
+     command is removed when its execution ends.  Caution is advised
+     when assigning to program variables values of variables created by
+     the code submitted to the `compile' command.  This example is
+     valid:
+
+          compile code int ff = 5; k = ff;
+
+     The value of the variable `ff' is assigned to `k'.  The variable
+     `k' does not require the existence of `ff' to maintain the value
+     it has been assigned.  However, pointers require particular care in
+     assignment.  If the source code compiled with the `compile' command
+     changed the address of a pointer in the example program, perhaps
+     to a variable created in the `compile' command, that pointer would
+     point to an invalid location when the command exits.  The
+     following example would likely cause issues with your debugged
+     program:
+
+          compile code int ff = 5; p = &ff;
+
+     In this example, `p' would point to `ff' when the `compile'
+     command is executing the source code provided to it.  However, as
+     variables in the (example) program persist with their assigned
+     values, the variable `p' would point to an invalid location when
+     the command exists.  A general rule should be followed in that you
+     should either assign `NULL' to any assigned pointers, or restore a
+     valid location to the pointer before the command exits.
+
+     Similar caution must be exercised with any structs, unions, and
+     typedefs defined in `compile' command.  Types defined in the
+     `compile' command will no longer be available in the next
+     `compile' command.  Therefore, if you cast a variable to a type
+     defined in the `compile' command, care must be taken to ensure
+     that any future need to resolve the type can be achieved.
+
+          (gdb) compile code static struct a { int a; } v = { 42 }; argv = &v;
+          (gdb) compile code printf ("%d\n", ((struct a *) argv)->a);
+          gdb command line:1:36: error: dereferencing pointer to incomplete type â€˜struct aâ€™
+          Compilation failed.
+          (gdb) compile code struct a { int a; }; printf ("%d\n", ((struct a *) argv)->a);
+          42
+
+     Variables that have been optimized away by the compiler are not
+     accessible to the code submitted to the `compile' command.  Access
+     to those variables will generate a compiler error which GDB will
+     print to the console.
+
+
+File: gdb.info,  Node: GDB Files,  Next: Targets,  Prev: Altering,  Up: Top
+
+18 GDB Files
+************
+
+GDB needs to know the file name of the program to be debugged, both in
+order to read its symbol table and in order to start your program.  To
+debug a core dump of a previous run, you must also tell GDB the name of
+the core dump file.
+
+* Menu:
+
+* Files::                       Commands to specify files
+* Separate Debug Files::        Debugging information in separate files
+* MiniDebugInfo::               Debugging information in a special section
+* Index Files::                 Index files speed up GDB
+* Symbol Errors::               Errors reading symbol files
+* Data Files::                  GDB data files
+
+
 File: gdb.info,  Node: Files,  Next: Separate Debug Files,  Up: GDB Files
 
 18.1 Commands to Specify Files
@@ -230,19 +480,6 @@ files are useful.
      header.  For this command to work, you must have used
      `symbol-file' or `exec-file' commands in advance.
 
-`add-shared-symbol-files LIBRARY-FILE'
-`assf LIBRARY-FILE'
-     This command is deprecated and will be removed in future versions
-     of GDB.  Use the `sharedlibrary' command instead.
-
-     The `add-shared-symbol-files' command can currently be used only
-     in the Cygwin build of GDB on MS-Windows OS, where it is an alias
-     for the `dll-symbols' command (*note Cygwin Native::).  GDB
-     automatically looks for shared libraries, however if GDB does not
-     find yours, you can invoke `add-shared-symbol-files'.  It takes
-     one argument: the shared library's file name.  `assf' is a
-     shorthand alias for `add-shared-symbol-files'.
-
 `section SECTION ADDR'
      The `section' command changes the base address of the named
      SECTION of the exec file to ADDR.  This can be used if the exec
@@ -2390,8 +2627,8 @@ using file-system subroutines.
    If GDB is configured for an operating system with this facility, the
 command `info proc' is available to report information about the
 process running your program, or about any process running on your
-system.  This includes, as of this writing, GNU/Linux, OSF/1 (Digital
-Unix), Solaris, and Irix, but not HP-UX, for example.
+system.  This includes, as of this writing, GNU/Linux and Solaris, but
+not HP-UX, for example.
 
    This command may also work on core files that were created on a
 system that has the `/proc' facility.
@@ -2658,13 +2895,6 @@ described in *note Non-debug DLL Symbols
 `info dll'
      This is a Cygwin-specific alias of `info shared'.
 
-`dll-symbols'
-     This command is deprecated and will be removed in future versions
-     of GDB.  Use the `sharedlibrary' command instead.
-
-     This command loads symbols from a dll similarly to add-sym command
-     but without the need to specify a base address.
-
 `set cygwin-exceptions MODE'
      If MODE is `on', GDB will break on exceptions that happen inside
      the Cygwin DLL.  If MODE is `off', GDB will delay recognition of
@@ -3010,151 +3240,10 @@ This section describes configurations in
 embedded operating systems that are available for several different
 architectures.
 
-* Menu:
-
-* VxWorks::                     Using GDB with VxWorks
-
    GDB includes the ability to debug programs running on various
 real-time operating systems.
 
 
-File: gdb.info,  Node: VxWorks,  Up: Embedded OS
-
-21.2.1 Using GDB with VxWorks
------------------------------
-
-`target vxworks MACHINENAME'
-     A VxWorks system, attached via TCP/IP.  The argument MACHINENAME
-     is the target system's machine name or IP address.
-
-
-   On VxWorks, `load' links FILENAME dynamically on the current target
-system as well as adding its symbols in GDB.
-
-   GDB enables developers to spawn and debug tasks running on networked
-VxWorks targets from a Unix host.  Already-running tasks spawned from
-the VxWorks shell can also be debugged.  GDB uses code that runs on
-both the Unix host and on the VxWorks target.  The program `gdb' is
-installed and executed on the Unix host.  (It may be installed with the
-name `vxgdb', to distinguish it from a GDB for debugging programs on
-the host itself.)
-
-`VxWorks-timeout ARGS'
-     All VxWorks-based targets now support the option `vxworks-timeout'.
-     This option is set by the user, and ARGS represents the number of
-     seconds GDB waits for responses to rpc's.  You might use this if
-     your VxWorks target is a slow software simulator or is on the far
-     side of a thin network line.
-
-   The following information on connecting to VxWorks was current when
-this manual was produced; newer releases of VxWorks may use revised
-procedures.
-
-   To use GDB with VxWorks, you must rebuild your VxWorks kernel to
-include the remote debugging interface routines in the VxWorks library
-`rdb.a'.  To do this, define `INCLUDE_RDB' in the VxWorks configuration
-file `configAll.h' and rebuild your VxWorks kernel.  The resulting
-kernel contains `rdb.a', and spawns the source debugging task
-`tRdbTask' when VxWorks is booted.  For more information on configuring
-and remaking VxWorks, see the manufacturer's manual.
-
-   Once you have included `rdb.a' in your VxWorks system image and set
-your Unix execution search path to find GDB, you are ready to run GDB.
-From your Unix host, run `gdb' (or `vxgdb', depending on your
-installation).
-
-   GDB comes up showing the prompt:
-
-     (vxgdb)
-
-* Menu:
-
-* VxWorks Connection::          Connecting to VxWorks
-* VxWorks Download::            VxWorks download
-* VxWorks Attach::              Running tasks
-
-
-File: gdb.info,  Node: VxWorks Connection,  Next: VxWorks Download,  Up: VxWorks
-
-21.2.1.1 Connecting to VxWorks
-..............................
-
-The GDB command `target' lets you connect to a VxWorks target on the
-network.  To connect to a target whose host name is "`tt'", type:
-
-     (vxgdb) target vxworks tt
-
-   GDB displays messages like these:
-
-     Attaching remote machine across net...
-     Connected to tt.
-
-   GDB then attempts to read the symbol tables of any object modules
-loaded into the VxWorks target since it was last booted.  GDB locates
-these files by searching the directories listed in the command search
-path (*note Your Program's Environment: Environment.); if it fails to
-find an object file, it displays a message such as:
-
-     prog.o: No such file or directory.
-
-   When this happens, add the appropriate directory to the search path
-with the GDB command `path', and execute the `target' command again.
-
-
-File: gdb.info,  Node: VxWorks Download,  Next: VxWorks Attach,  Prev: VxWorks Connection,  Up: VxWorks
-
-21.2.1.2 VxWorks Download
-.........................
-
-If you have connected to the VxWorks target and you want to debug an
-object that has not yet been loaded, you can use the GDB `load' command
-to download a file from Unix to VxWorks incrementally.  The object file
-given as an argument to the `load' command is actually opened twice:
-first by the VxWorks target in order to download the code, then by GDB
-in order to read the symbol table.  This can lead to problems if the
-current working directories on the two systems differ.  If both systems
-have NFS mounted the same filesystems, you can avoid these problems by
-using absolute paths.  Otherwise, it is simplest to set the working
-directory on both systems to the directory in which the object file
-resides, and then to reference the file by its name, without any path.
-For instance, a program `prog.o' may reside in `VXPATH/vw/demo/rdb' in
-VxWorks and in `HOSTPATH/vw/demo/rdb' on the host.  To load this
-program, type this on VxWorks:
-
-     -> cd "VXPATH/vw/demo/rdb"
-
-Then, in GDB, type:
-
-     (vxgdb) cd HOSTPATH/vw/demo/rdb
-     (vxgdb) load prog.o
-
-   GDB displays a response similar to this:
-
-     Reading symbol data from wherever/vw/demo/rdb/prog.o... done.
-
-   You can also use the `load' command to reload an object module after
-editing and recompiling the corresponding source file.  Note that this
-makes GDB delete all currently-defined breakpoints, auto-displays, and
-convenience variables, and to clear the value history.  (This is
-necessary in order to preserve the integrity of debugger's data
-structures that reference the target system's symbol table.)
-
-
-File: gdb.info,  Node: VxWorks Attach,  Prev: VxWorks Download,  Up: VxWorks
-
-21.2.1.3 Running Tasks
-......................
-
-You can also attach to an existing task using the `attach' command as
-follows:
-
-     (vxgdb) attach TASK
-
-where TASK is the VxWorks hexadecimal task ID.  The task can be running
-or suspended when you attach to it.  Running tasks are suspended at the
-time of attachment.
-
-
 File: gdb.info,  Node: Embedded Processors,  Next: Architectures,  Prev: Embedded OS,  Up: Configurations
 
 21.3 Embedded Processors
@@ -4719,6 +4808,8 @@ guile-scripts::.                     
 scripts-directory::.                 location.
 *Note show auto-load                 Show GDB auto-loaded scripts
 scripts-directory::.                 location.
+*Note                                Add directory for auto-loaded
+add-auto-load-scripts-directory::.   scripts location list.
 *Note set auto-load local-gdbinit::. Control for init file in the
                                      current directory.
 *Note show auto-load                 Show setting of init file in the
@@ -4850,9 +4941,10 @@ commands:
      execution of scripts.
 
 `add-auto-load-safe-path'
-     Add an entry (or list of entries) the list of directories trusted
-     for automatic loading and execution of scripts.  Multiple entries
-     may be delimited by the host platform path separator in use.
+     Add an entry (or list of entries) to the list of directories
+     trusted for automatic loading and execution of scripts.  Multiple
+     entries may be delimited by the host platform path separator in
+     use.
 
    This variable defaults to what `--with-auto-load-dir' has been
 configured to (*note with-auto-load-dir::).  `$debugdir' and `$datadir'
@@ -5227,6 +5319,15 @@ commands.
      Display the current state of FR-V shared-library code debugging
      messages.
 
+`set debug symbol-lookup'
+     Turns on or off display of debugging messages related to symbol
+     lookup.  The default is 0 (off).  A value of 1 provides basic
+     information.  A value greater than 1 provides more verbose
+     information.
+
+`show debug symbol-lookup'
+     Show the current state of symbol lookup debugging messages.
+
 `set debug symfile'
      Turns on or off display of debugging messages related to symbol
      file functions.  The default is off.  *Note Files::.
@@ -5247,9 +5348,7 @@ commands.
      Turns on or off display of GDB target debugging info. This info
      includes what is going on at the target level of GDB, as it
      happens. The default is 0.  Set it to 1 to track events, and to 2
-     to also track the value of large memory transfers.  Changes to
-     this flag do not take effect until the next time you connect to a
-     target or use the `run' command.
+     to also track the value of large memory transfers.
 
 `show debug target'
      Displays the current state of displaying GDB target debugging info.
@@ -6685,11 +6784,12 @@ of the `Type.fields' method for a descri
 
  -- Function: Type.template_argument (n [, block])
      If this `gdb.Type' is an instantiation of a template, this will
-     return a new `gdb.Type' which represents the type of the Nth
-     template argument.
+     return a new `gdb.Value' or `gdb.Type' which represents the value
+     of the Nth template argument (indexed starting at 0).
 
-     If this `gdb.Type' is not a template type, this will throw an
-     exception.  Ordinarily, only C++ code will have template types.
+     If this `gdb.Type' is not a template type, or if the type has fewer
+     than N template arguments, this will throw an exception.
+     Ordinarily, only C++ code will have template types.
 
      If BLOCK is given, then NAME is looked up in that scope.
      Otherwise, it is searched for globally.
@@ -7271,175 +7371,3 @@ implement, defined here:
      priority are executed in unsorted order in that priority slot.
      This attribute is mandatory.
 
-
-File: gdb.info,  Node: Frame Decorator API,  Next: Writing a Frame Filter,  Prev: Frame Filter API,  Up: Python API
-
-23.2.2.10 Decorating Frames.
-............................
-
-Frame decorators are sister objects to frame filters (*note Frame
-Filter API::).  Frame decorators are applied by a frame filter and can
-only be used in conjunction with frame filters.
-
-   The purpose of a frame decorator is to customize the printed content
-of each `gdb.Frame' in commands where frame filters are executed.  This
-concept is called decorating a frame.  Frame decorators decorate a
-`gdb.Frame' with Python code contained within each API call.  This
-separates the actual data contained in a `gdb.Frame' from the decorated
-data produced by a frame decorator.  This abstraction is necessary to
-maintain integrity of the data contained in each `gdb.Frame'.
-
-   Frame decorators have a mandatory interface, defined below.
-
-   GDB already contains a frame decorator called `FrameDecorator'.
-This contains substantial amounts of boilerplate code to decorate the
-content of a `gdb.Frame'.  It is recommended that other frame
-decorators inherit and extend this object, and only to override the
-methods needed.
-
- -- Function: FrameDecorator.elided (self)
-     The `elided' method groups frames together in a hierarchical
-     system.  An example would be an interpreter, where multiple
-     low-level frames make up a single call in the interpreted
-     language.  In this example, the frame filter would elide the
-     low-level frames and present a single high-level frame,
-     representing the call in the interpreted language, to the user.
-
-     The `elided' function must return an iterable and this iterable
-     must contain the frames that are being elided wrapped in a suitable
-     frame decorator.  If no frames are being elided this function may
-     return an empty iterable, or `None'.  Elided frames are indented
-     from normal frames in a `CLI' backtrace, or in the case of
-     `GDB/MI', are placed in the `children' field of the eliding frame.
-
-     It is the frame filter's task to also filter out the elided frames
-     from the source iterator.  This will avoid printing the frame
-     twice.
-
- -- Function: FrameDecorator.function (self)
-     This method returns the name of the function in the frame that is
-     to be printed.
-
-     This method must return a Python string describing the function, or
-     `None'.
-
-     If this function returns `None', GDB will not print any data for
-     this field.
-
- -- Function: FrameDecorator.address (self)
-     This method returns the address of the frame that is to be printed.
-
-     This method must return a Python numeric integer type of sufficient
-     size to describe the address of the frame, or `None'.
-
-     If this function returns a `None', GDB will not print any data for
-     this field.
-
- -- Function: FrameDecorator.filename (self)
-     This method returns the filename and path associated with this
-     frame.
-
-     This method must return a Python string containing the filename and
-     the path to the object file backing the frame, or `None'.
-
-     If this function returns a `None', GDB will not print any data for
-     this field.
-
- -- Function: FrameDecorator.line (self):
-     This method returns the line number associated with the current
-     position within the function addressed by this frame.
-
-     This method must return a Python integer type, or `None'.
-
-     If this function returns a `None', GDB will not print any data for
-     this field.
-
- -- Function: FrameDecorator.frame_args (self)
-     This method must return an iterable, or `None'.  Returning an
-     empty iterable, or `None' means frame arguments will not be
-     printed for this frame.  This iterable must contain objects that
-     implement two methods, described here.
-
-     This object must implement a `argument' method which takes a
-     single `self' parameter and must return a `gdb.Symbol' (*note
-     Symbols In Python::), or a Python string.  The object must also
-     implement a `value' method which takes a single `self' parameter
-     and must return a `gdb.Value' (*note Values From Inferior::), a
-     Python value, or `None'.  If the `value' method returns `None',
-     and the `argument' method returns a `gdb.Symbol', GDB will look-up
-     and print the value of the `gdb.Symbol' automatically.
-
-     A brief example:
-
-          class SymValueWrapper():
-
-              def __init__(self, symbol, value):
-                  self.sym = symbol
-                  self.val = value
-
-              def value(self):
-                  return self.val
-
-              def symbol(self):
-                  return self.sym
-
-          class SomeFrameDecorator()
-          ...
-          ...
-              def frame_args(self):
-                  args = []
-                  try:
-                      block = self.inferior_frame.block()
-                  except:
-                      return None
-
-                  # Iterate over all symbols in a block.  Only add
-                  # symbols that are arguments.
-                  for sym in block:
-                      if not sym.is_argument:
-                          continue
-                      args.append(SymValueWrapper(sym,None))
-
-                  # Add example synthetic argument.
-                  args.append(SymValueWrapper(``foo'', 42))
-
-                  return args
-
- -- Function: FrameDecorator.frame_locals (self)
-     This method must return an iterable or `None'.  Returning an empty
-     iterable, or `None' means frame local arguments will not be
-     printed for this frame.
-
-     The object interface, the description of the various strategies for
-     reading frame locals, and the example are largely similar to those
-     described in the `frame_args' function, (*note The frame filter
-     frame_args function: frame_args.).  Below is a modified example:
-
-          class SomeFrameDecorator()
-          ...
-          ...
-              def frame_locals(self):
-                  vars = []
-                  try:
-                      block = self.inferior_frame.block()
-                  except:
-                      return None
-
-                  # Iterate over all symbols in a block.  Add all
-                  # symbols, except arguments.
-                  for sym in block:
-                      if sym.is_argument:
-                          continue
-                      vars.append(SymValueWrapper(sym,None))
-
-                  # Add an example of a synthetic local variable.
-                  vars.append(SymValueWrapper(``bar'', 99))
-
-                  return vars
-
- -- Function: FrameDecorator.inferior_frame (self):
-     This method must return the underlying `gdb.Frame' that this frame
-     decorator is decorating.  GDB requires the underlying frame for
-     internal frame information to determine how to print certain
-     values when printing a frame.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-4	2015-01-13 02:06:56.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2015-01-20 02:09:45.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * gdbserver: (gdb) Server.        The GNU debugging server.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -22,9 +22,9 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.8.1.20150113-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -38,6 +38,178 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Frame Decorator API,  Next: Writing a Frame Filter,  Prev: Frame Filter API,  Up: Python API
+
+23.2.2.10 Decorating Frames.
+............................
+
+Frame decorators are sister objects to frame filters (*note Frame
+Filter API::).  Frame decorators are applied by a frame filter and can
+only be used in conjunction with frame filters.
+
+   The purpose of a frame decorator is to customize the printed content
+of each `gdb.Frame' in commands where frame filters are executed.  This
+concept is called decorating a frame.  Frame decorators decorate a
+`gdb.Frame' with Python code contained within each API call.  This
+separates the actual data contained in a `gdb.Frame' from the decorated
+data produced by a frame decorator.  This abstraction is necessary to
+maintain integrity of the data contained in each `gdb.Frame'.
+
+   Frame decorators have a mandatory interface, defined below.
+
+   GDB already contains a frame decorator called `FrameDecorator'.
+This contains substantial amounts of boilerplate code to decorate the
+content of a `gdb.Frame'.  It is recommended that other frame
+decorators inherit and extend this object, and only to override the
+methods needed.
+
+ -- Function: FrameDecorator.elided (self)
+     The `elided' method groups frames together in a hierarchical
+     system.  An example would be an interpreter, where multiple
+     low-level frames make up a single call in the interpreted
+     language.  In this example, the frame filter would elide the
+     low-level frames and present a single high-level frame,
+     representing the call in the interpreted language, to the user.
+
+     The `elided' function must return an iterable and this iterable
+     must contain the frames that are being elided wrapped in a suitable
+     frame decorator.  If no frames are being elided this function may
+     return an empty iterable, or `None'.  Elided frames are indented
+     from normal frames in a `CLI' backtrace, or in the case of
+     `GDB/MI', are placed in the `children' field of the eliding frame.
+
+     It is the frame filter's task to also filter out the elided frames
+     from the source iterator.  This will avoid printing the frame
+     twice.
+
+ -- Function: FrameDecorator.function (self)
+     This method returns the name of the function in the frame that is
+     to be printed.
+
+     This method must return a Python string describing the function, or
+     `None'.
+
+     If this function returns `None', GDB will not print any data for
+     this field.
+
+ -- Function: FrameDecorator.address (self)
+     This method returns the address of the frame that is to be printed.
+
+     This method must return a Python numeric integer type of sufficient
+     size to describe the address of the frame, or `None'.
+
+     If this function returns a `None', GDB will not print any data for
+     this field.
+
+ -- Function: FrameDecorator.filename (self)
+     This method returns the filename and path associated with this
+     frame.
+
+     This method must return a Python string containing the filename and
+     the path to the object file backing the frame, or `None'.
+
+     If this function returns a `None', GDB will not print any data for
+     this field.
+
+ -- Function: FrameDecorator.line (self):
+     This method returns the line number associated with the current
+     position within the function addressed by this frame.
+
+     This method must return a Python integer type, or `None'.
+
+     If this function returns a `None', GDB will not print any data for
+     this field.
+
+ -- Function: FrameDecorator.frame_args (self)
+     This method must return an iterable, or `None'.  Returning an
+     empty iterable, or `None' means frame arguments will not be
+     printed for this frame.  This iterable must contain objects that
+     implement two methods, described here.
+
+     This object must implement a `argument' method which takes a
+     single `self' parameter and must return a `gdb.Symbol' (*note
+     Symbols In Python::), or a Python string.  The object must also
+     implement a `value' method which takes a single `self' parameter
+     and must return a `gdb.Value' (*note Values From Inferior::), a
+     Python value, or `None'.  If the `value' method returns `None',
+     and the `argument' method returns a `gdb.Symbol', GDB will look-up
+     and print the value of the `gdb.Symbol' automatically.
+
+     A brief example:
+
+          class SymValueWrapper():
+
+              def __init__(self, symbol, value):
+                  self.sym = symbol
+                  self.val = value
+
+              def value(self):
+                  return self.val
+
+              def symbol(self):
+                  return self.sym
+
+          class SomeFrameDecorator()
+          ...
+          ...
+              def frame_args(self):
+                  args = []
+                  try:
+                      block = self.inferior_frame.block()
+                  except:
+                      return None
+
+                  # Iterate over all symbols in a block.  Only add
+                  # symbols that are arguments.
+                  for sym in block:
+                      if not sym.is_argument:
+                          continue
+                      args.append(SymValueWrapper(sym,None))
+
+                  # Add example synthetic argument.
+                  args.append(SymValueWrapper(``foo'', 42))
+
+                  return args
+
+ -- Function: FrameDecorator.frame_locals (self)
+     This method must return an iterable or `None'.  Returning an empty
+     iterable, or `None' means frame local arguments will not be
+     printed for this frame.
+
+     The object interface, the description of the various strategies for
+     reading frame locals, and the example are largely similar to those
+     described in the `frame_args' function, (*note The frame filter
+     frame_args function: frame_args.).  Below is a modified example:
+
+          class SomeFrameDecorator()
+          ...
+          ...
+              def frame_locals(self):
+                  vars = []
+                  try:
+                      block = self.inferior_frame.block()
+                  except:
+                      return None
+
+                  # Iterate over all symbols in a block.  Add all
+                  # symbols, except arguments.
+                  for sym in block:
+                      if sym.is_argument:
+                          continue
+                      vars.append(SymValueWrapper(sym,None))
+
+                  # Add an example of a synthetic local variable.
+                  vars.append(SymValueWrapper(``bar'', 99))
+
+                  return vars
+
+ -- Function: FrameDecorator.inferior_frame (self):
+     This method must return the underlying `gdb.Frame' that this frame
+     decorator is decorating.  GDB requires the underlying frame for
+     internal frame information to determine how to print certain
+     values when printing a frame.
+
+
 File: gdb.info,  Node: Writing a Frame Filter,  Next: Xmethods In Python,  Prev: Frame Decorator API,  Up: Python API
 
 23.2.2.11 Writing a Frame Filter
@@ -804,6 +976,58 @@ available and details of the events they
           loaded.  *Note Objfiles In Python::, for details of the
           `gdb.Objfile' object.
 
+`events.clear_objfiles'
+     Emits `gdb.ClearObjFilesEvent' which indicates that the list of
+     object files for a program space has been reset.
+     `gdb.ClearObjFilesEvent' has one attribute:
+
+      -- Variable: ClearObjFilesEvent.progspace
+          A reference to the program space (`gdb.Progspace') whose
+          objfile list has been cleared.  *Note Progspaces In Python::.
+
+`events.inferior_call_pre'
+     Emits `gdb.InferiorCallPreEvent' which indicates that a function in
+     the inferior is about to be called.
+
+      -- Variable: InferiorCallPreEvent.ptid
+          The thread in which the call will be run.
+
+      -- Variable: InferiorCallPreEvent.address
+          The location of the function to be called.
+
+`events.inferior_call_post'
+     Emits `gdb.InferiorCallPostEvent' which indicates that a function
+     in the inferior has returned.
+
+      -- Variable: InferiorCallPostEvent.ptid
+          The thread in which the call was run.
+
+      -- Variable: InferiorCallPostEvent.address
+          The location of the function that was called.
+
+`events.memory_changed'
+     Emits `gdb.MemoryChangedEvent' which indicates that the memory of
+     the inferior has been modified by the GDB user, for instance via a
+     command like `set *addr = value'.  The event has the following
+     attributes:
+
+      -- Variable: MemoryChangedEvent.address
+          The start address of the changed region.
+
+      -- Variable: MemoryChangedEvent.length
+          Length in bytes of the changed region.
+
+`events.register_changed'
+     Emits `gdb.RegisterChangedEvent' which indicates that a register
+     in the inferior has been modified by the GDB user.
+
+      -- Variable: RegisterChangedEvent.frame
+          A gdb.Frame object representing the frame in which the
+          register was modified.
+
+      -- Variable: RegisterChangedEvent.regnum
+          Denotes which register was modified.
+
 
 
 File: gdb.info,  Node: Threads In Python,  Next: Commands In Python,  Prev: Events In Python,  Up: Python API
@@ -1320,6 +1544,47 @@ class.
      The `frame_filters' attribute is a dictionary of frame filter
      objects.  *Note Frame Filter API::, for more information.
 
+   One may add arbitrary attributes to `gdb.Progspace' objects in the
+usual Python way.  This is useful if, for example, one needs to do some
+extra record keeping associated with the program space.
+
+   In this contrived example, we want to perform some processing when
+an objfile with a certain symbol is loaded, but we only want to do this
+once because it is expensive.  To achieve this we record the results
+with the program space because we can't predict when the desired objfile
+will be loaded.
+
+     (gdb) python
+     def clear_objfiles_handler(event):
+         event.progspace.expensive_computation = None
+     def expensive(symbol):
+         """A mock routine to perform an "expensive" computation on symbol."""
+         print "Computing the answer to the ultimate question ..."
+         return 42
+     def new_objfile_handler(event):
+         objfile = event.new_objfile
+         progspace = objfile.progspace
+         if not hasattr(progspace, 'expensive_computation') or \
+                 progspace.expensive_computation is None:
+             # We use 'main' for the symbol to keep the example simple.
+             # Note: There's no current way to constrain the lookup
+             # to one objfile.
+             symbol = gdb.lookup_global_symbol('main')
+             if symbol is not None:
+                 progspace.expensive_computation = expensive(symbol)
+     gdb.events.clear_objfiles.connect(clear_objfiles_handler)
+     gdb.events.new_objfile.connect(new_objfile_handler)
+     end
+     (gdb) file /tmp/hello
+     Reading symbols from /tmp/hello...done.
+     Computing the answer to the ultimate question ...
+     (gdb) python print gdb.current_progspace().expensive_computation
+     42
+     (gdb) run
+     Starting program: /tmp/hello
+     Hello.
+     [Inferior 1 (process 4242) exited normally]
+
 
 File: gdb.info,  Node: Objfiles In Python,  Next: Frames In Python,  Prev: Progspaces In Python,  Up: Python API
 
@@ -1345,12 +1610,52 @@ module:
      Return a sequence of all the objfiles current known to GDB.  *Note
      Objfiles In Python::.
 
+ -- Function: gdb.lookup_objfile (name [, by_build_id])
+     Look up NAME, a file name or build ID, in the list of objfiles for
+     the current program space (*note Progspaces In Python::).  If the
+     objfile is not found throw the Python `ValueError' exception.
+
+     If NAME is a relative file name, then it will match any source
+     file name with the same trailing components.  For example, if NAME
+     is `gcc/expr.c', then it will match source file name of
+     `/build/trunk/gcc/expr.c', but not `/build/trunk/libcpp/expr.c' or
+     `/build/trunk/gcc/x-expr.c'.
+
+     If BY_BUILD_ID is provided and is `True' then NAME is the build ID
+     of the objfile.  Otherwise, NAME is a file name.  This is
+     supported only on some operating systems, notably those which use
+     the ELF format for binary files and the GNU Binutils.  For more
+     details about this feature, see the description of the `--build-id'
+     command-line option in *note Command Line Options:
+     (ld.info)Options.
+
    Each objfile is represented by an instance of the `gdb.Objfile'
 class.
 
  -- Variable: Objfile.filename
      The file name of the objfile as a string.
 
+ -- Variable: Objfile.owner
+     For separate debug info objfiles this is the corresponding
+     `gdb.Objfile' object that debug info is being provided for.
+     Otherwise this is `None'.  Separate debug info objfiles are added
+     with the `gdb.Objfile.add_separate_debug_file' method, described
+     below.
+
+ -- Variable: Objfile.build_id
+     The build ID of the objfile as a string.  If the objfile does not
+     have a build ID then the value is `None'.
+
+     This is supported only on some operating systems, notably those
+     which use the ELF format for binary files and the GNU Binutils.
+     For more details about this feature, see the description of the
+     `--build-id' command-line option in *note Command Line Options:
+     (ld.info)Options.
+
+ -- Variable: Objfile.progspace
+     The containing program space of the objfile as a `gdb.Progspace'
+     object.  *Note Progspaces In Python::.
+
  -- Variable: Objfile.pretty_printers
      The `pretty_printers' attribute is a list of functions.  It is
      used to look up pretty-printers.  A `Value' is passed to each
@@ -1367,6 +1672,25 @@ class.
      The `frame_filters' attribute is a dictionary of frame filter
      objects.  *Note Frame Filter API::, for more information.
 
+   One may add arbitrary attributes to `gdb.Objfile' objects in the
+usual Python way.  This is useful if, for example, one needs to do some
+extra record keeping associated with the objfile.
+
+   In this contrived example we record the time when GDB loaded the
+objfile.
+
+     (gdb) python
+     import datetime
+     def new_objfile_handler(event):
+         # Set the time_loaded attribute of the new objfile.
+         event.new_objfile.time_loaded = datetime.datetime.today()
+     gdb.events.new_objfile.connect(new_objfile_handler)
+     end
+     (gdb) file ./hello
+     Reading symbols from ./hello...done.
+     (gdb) python print gdb.objfiles()[0].time_loaded
+     2014-10-09 11:41:36.770345
+
    A `gdb.Objfile' object has the following methods:
 
  -- Function: Objfile.is_valid ()
@@ -1376,6 +1700,15 @@ class.
      `gdb.Objfile' methods will throw an exception if it is invalid at
      the time the method is called.
 
+ -- Function: Objfile.add_separate_debug_file (file)
+     Add FILE to the list of files that GDB will search for debug
+     information for the objfile.  This is useful when the debug info
+     has been removed from the program and stored in a separate file.
+     GDB has built-in support for finding separate debug info files
+     (*note Separate Debug Files::), but if the file doesn't live in
+     one of the standard places that GDB searches then this function
+     can be used to add a debug info file from a different place.
+
 
 File: gdb.info,  Node: Frames In Python,  Next: Blocks In Python,  Prev: Objfiles In Python,  Up: Python API
 
@@ -1526,6 +1859,11 @@ module:
      Return the frame's symtab and line object.  *Note Symbol Tables In
      Python::.
 
+ -- Function: Frame.read_register (register)
+     Return the value of REGISTER in this frame.  The REGISTER argument
+     must be a string (e.g., `'sp'' or `'rax'').  Returns a `Gdb.Value'
+     object.  Throws an exception if REGISTER does not exist.
+
  -- Function: Frame.read_var (variable [, block])
      Return the value of VARIABLE in this frame.  If the optional
      argument BLOCK is provided, search for the variable from that
@@ -1899,6 +2237,12 @@ Examining the Symbol Table: Symbols, for
      The symbol table's backing object file.  *Note Objfiles In
      Python::.  This attribute is not writable.
 
+ -- Variable: Symtab.producer
+     The name and possibly version number of the program that compiled
+     the code in the symbol table.  The contents of this string is up
+     to the compiler.  If no producer information is available then
+     `None' is returned.  This attribute is not writable.
+
    A `gdb.Symtab' object has the following methods:
 
  -- Function: Symtab.is_valid ()
@@ -2074,14 +2418,15 @@ in the `gdb' module:
      watchpoint scope, the watchpoint remains valid even if execution
      of the inferior leaves the scope of that watchpoint.
 
- -- Function: Breakpoint.delete
+ -- Function: Breakpoint.delete ()
      Permanently deletes the GDB breakpoint.  This also invalidates the
      Python `Breakpoint' object.  Any further access to this object's
      attributes or methods will raise an error.
 
  -- Variable: Breakpoint.enabled
      This attribute is `True' if the breakpoint is enabled, and `False'
-     otherwise.  This attribute is writable.
+     otherwise.  This attribute is writable.  You can use it to enable
+     or disable the breakpoint.
 
  -- Variable: Breakpoint.silent
      This attribute is `True' if the breakpoint is silent, and `False'
@@ -6063,6 +6408,11 @@ compatible between Unix and MS-Windows h
 `show auto-load scripts-directory'
      Show GDB auto-loaded scripts location.
 
+`add-auto-load-scripts-directory [DIRECTORIES...]'
+     Add an entry (or list of entries) to the list of auto-loaded
+     scripts locations.  Multiple entries may be delimited by the host
+     platform path separator in use.
+
    GDB does not track which files it has already auto-loaded this way.
 GDB will load the associated script every time the corresponding
 OBJFILE is opened.  So your `-gdb.EXT' file should be careful to avoid
@@ -6629,9 +6979,14 @@ window management.
 `winheight NAME -COUNT'
      Change the height of the window NAME by COUNT lines.  Positive
      counts increase the height, while negative counts decrease it.
+     The NAME parameter can be one of `src' (the source window), `cmd'
+     (the command window), `asm' (the disassembly window), or `regs'
+     (the register display window).
 
 `tabset NCHARS'
-     Set the width of tab stops to be NCHARS characters.
+     Set the width of tab stops to be NCHARS characters.  This setting
+     affects the display of TAB characters in the source and assembly
+     windows.
 
 
 File: gdb.info,  Node: TUI Configuration,  Prev: TUI Commands,  Up: TUI
@@ -7320,348 +7675,3 @@ valid MI output.
 recommended that front ends use the `-interpreter-exec' command (*note
 -interpreter-exec::).
 
-
-File: gdb.info,  Node: GDB/MI Development and Front Ends,  Next: GDB/MI Output Records,  Prev: GDB/MI Compatibility with CLI,  Up: GDB/MI
-
-27.4 GDB/MI Development and Front Ends
-======================================
-
-The application which takes the MI output and presents the state of the
-program being debugged to the user is called a "front end".
-
-   Although GDB/MI is still incomplete, it is currently being used by a
-variety of front ends to GDB.  This makes it difficult to introduce new
-functionality without breaking existing usage.  This section tries to
-minimize the problems by describing how the protocol might change.
-
-   Some changes in MI need not break a carefully designed front end, and
-for these the MI version will remain unchanged.  The following is a
-list of changes that may occur within one level, so front ends should
-parse MI output in a way that can handle them:
-
-   * New MI commands may be added.
-
-   * New fields may be added to the output of any MI command.
-
-   * The range of values for fields with specified values, e.g.,
-     `in_scope' (*note -var-update::) may be extended.
-
-
-   If the changes are likely to break front ends, the MI version level
-will be increased by one.  This will allow the front end to parse the
-output according to the MI version.  Apart from mi0, new versions of
-GDB will not support old versions of MI and it will be the
-responsibility of the front end to work with the new one.
-
-   The best way to avoid unexpected changes in MI that might break your
-front end is to make your project known to GDB developers and follow
-development on <gdb@sourceware.org> and <gdb-patches@sourceware.org>.  
-
-
-File: gdb.info,  Node: GDB/MI Output Records,  Next: GDB/MI Simple Examples,  Prev: GDB/MI Development and Front Ends,  Up: GDB/MI
-
-27.5 GDB/MI Output Records
-==========================
-
-* Menu:
-
-* GDB/MI Result Records::
-* GDB/MI Stream Records::
-* GDB/MI Async Records::
-* GDB/MI Breakpoint Information::
-* GDB/MI Frame Information::
-* GDB/MI Thread Information::
-* GDB/MI Ada Exception Information::
-
-
-File: gdb.info,  Node: GDB/MI Result Records,  Next: GDB/MI Stream Records,  Up: GDB/MI Output Records
-
-27.5.1 GDB/MI Result Records
-----------------------------
-
-In addition to a number of out-of-band notifications, the response to a
-GDB/MI command includes one of the following result indications:
-
-`"^done" [ "," RESULTS ]'
-     The synchronous operation was successful, `RESULTS' are the return
-     values.
-
-`"^running"'
-     This result record is equivalent to `^done'.  Historically, it was
-     output instead of `^done' if the command has resumed the target.
-     This behaviour is maintained for backward compatibility, but all
-     frontends should treat `^done' and `^running' identically and rely
-     on the `*running' output record to determine which threads are
-     resumed.
-
-`"^connected"'
-     GDB has connected to a remote target.
-
-`"^error" "," "msg=" C-STRING [ "," "code=" C-STRING ]'
-     The operation failed.  The `msg=C-STRING' variable contains the
-     corresponding error message.
-
-     If present, the `code=C-STRING' variable provides an error code on
-     which consumers can rely on to detect the corresponding error
-     condition.  At present, only one error code is defined:
-
-    `"undefined-command"'
-          Indicates that the command causing the error does not exist.
-
-`"^exit"'
-     GDB has terminated.
-
-
-
-File: gdb.info,  Node: GDB/MI Stream Records,  Next: GDB/MI Async Records,  Prev: GDB/MI Result Records,  Up: GDB/MI Output Records
-
-27.5.2 GDB/MI Stream Records
-----------------------------
-
-GDB internally maintains a number of output streams: the console, the
-target, and the log.  The output intended for each of these streams is
-funneled through the GDB/MI interface using "stream records".
-
-   Each stream record begins with a unique "prefix character" which
-identifies its stream (*note GDB/MI Output Syntax: GDB/MI Output
-Syntax.).  In addition to the prefix, each stream record contains a
-`STRING-OUTPUT'.  This is either raw text (with an implicit new line)
-or a quoted C string (which does not contain an implicit newline).
-
-`"~" STRING-OUTPUT'
-     The console output stream contains text that should be displayed
-     in the CLI console window.  It contains the textual responses to
-     CLI commands.
-
-`"@" STRING-OUTPUT'
-     The target output stream contains any textual output from the
-     running target.  This is only present when GDB's event loop is
-     truly asynchronous, which is currently only the case for remote
-     targets.
-
-`"&" STRING-OUTPUT'
-     The log stream contains debugging messages being produced by GDB's
-     internals.
-
-
-File: gdb.info,  Node: GDB/MI Async Records,  Next: GDB/MI Breakpoint Information,  Prev: GDB/MI Stream Records,  Up: GDB/MI Output Records
-
-27.5.3 GDB/MI Async Records
----------------------------
-
-"Async" records are used to notify the GDB/MI client of additional
-changes that have occurred.  Those changes can either be a consequence
-of GDB/MI commands (e.g., a breakpoint modified) or a result of target
-activity (e.g., target stopped).
-
-   The following is the list of possible async records:
-
-`*running,thread-id="THREAD"'
-     The target is now running.  The THREAD field tells which specific
-     thread is now running, and can be `all' if all threads are
-     running.  The frontend should assume that no interaction with a
-     running thread is possible after this notification is produced.
-     The frontend should not assume that this notification is output
-     only once for any command.  GDB may emit this notification several
-     times, either for different threads, because it cannot resume all
-     threads together, or even for a single thread, if the thread must
-     be stepped though some code before letting it run freely.
-
-`*stopped,reason="REASON",thread-id="ID",stopped-threads="STOPPED",core="CORE"'
-     The target has stopped.  The REASON field can have one of the
-     following values:
-
-    `breakpoint-hit'
-          A breakpoint was reached.
-
-    `watchpoint-trigger'
-          A watchpoint was triggered.
-
-    `read-watchpoint-trigger'
-          A read watchpoint was triggered.
-
-    `access-watchpoint-trigger'
-          An access watchpoint was triggered.
-
-    `function-finished'
-          An -exec-finish or similar CLI command was accomplished.
-
-    `location-reached'
-          An -exec-until or similar CLI command was accomplished.
-
-    `watchpoint-scope'
-          A watchpoint has gone out of scope.
-
-    `end-stepping-range'
-          An -exec-next, -exec-next-instruction, -exec-step,
-          -exec-step-instruction or similar CLI command was
-          accomplished.
-
-    `exited-signalled'
-          The inferior exited because of a signal.
-
-    `exited'
-          The inferior exited.
-
-    `exited-normally'
-          The inferior exited normally.
-
-    `signal-received'
-          A signal was received by the inferior.
-
-    `solib-event'
-          The inferior has stopped due to a library being loaded or
-          unloaded.  This can happen when `stop-on-solib-events' (*note
-          Files::) is set or when a `catch load' or `catch unload'
-          catchpoint is in use (*note Set Catchpoints::).
-
-    `fork'
-          The inferior has forked.  This is reported when `catch fork'
-          (*note Set Catchpoints::) has been used.
-
-    `vfork'
-          The inferior has vforked.  This is reported in when `catch
-          vfork' (*note Set Catchpoints::) has been used.
-
-    `syscall-entry'
-          The inferior entered a system call.  This is reported when
-          `catch syscall' (*note Set Catchpoints::) has been used.
-
-    `syscall-entry'
-          The inferior returned from a system call.  This is reported
-          when `catch syscall' (*note Set Catchpoints::) has been used.
-
-    `exec'
-          The inferior called `exec'.  This is reported when `catch
-          exec' (*note Set Catchpoints::) has been used.
-
-     The ID field identifies the thread that directly caused the stop -
-     for example by hitting a breakpoint.  Depending on whether all-stop
-     mode is in effect (*note All-Stop Mode::), GDB may either stop all
-     threads, or only the thread that directly triggered the stop.  If
-     all threads are stopped, the STOPPED field will have the value of
-     `"all"'.  Otherwise, the value of the STOPPED field will be a list
-     of thread identifiers.  Presently, this list will always include a
-     single thread, but frontend should be prepared to see several
-     threads in the list.  The CORE field reports the processor core on
-     which the stop event has happened.  This field may be absent if
-     such information is not available.
-
-`=thread-group-added,id="ID"'
-`=thread-group-removed,id="ID"'
-     A thread group was either added or removed.  The ID field contains
-     the GDB identifier of the thread group.  When a thread group is
-     added, it generally might not be associated with a running
-     process.  When a thread group is removed, its id becomes invalid
-     and cannot be used in any way.
-
-`=thread-group-started,id="ID",pid="PID"'
-     A thread group became associated with a running program, either
-     because the program was just started or the thread group was
-     attached to a program.  The ID field contains the GDB identifier
-     of the thread group.  The PID field contains process identifier,
-     specific to the operating system.
-
-`=thread-group-exited,id="ID"[,exit-code="CODE"]'
-     A thread group is no longer associated with a running program,
-     either because the program has exited, or because it was detached
-     from.  The ID field contains the GDB identifier of the thread
-     group.  The CODE field is the exit code of the inferior; it exists
-     only when the inferior exited with some code.
-
-`=thread-created,id="ID",group-id="GID"'
-`=thread-exited,id="ID",group-id="GID"'
-     A thread either was created, or has exited.  The ID field contains
-     the GDB identifier of the thread.  The GID field identifies the
-     thread group this thread belongs to.
-
-`=thread-selected,id="ID"'
-     Informs that the selected thread was changed as result of the last
-     command.  This notification is not emitted as result of
-     `-thread-select' command but is emitted whenever an MI command
-     that is not documented to change the selected thread actually
-     changes it.  In particular, invoking, directly or indirectly (via
-     user-defined command), the CLI `thread' command, will generate
-     this notification.
-
-     We suggest that in response to this notification, front ends
-     highlight the selected thread and cause subsequent commands to
-     apply to that thread.
-
-`=library-loaded,...'
-     Reports that a new library file was loaded by the program.  This
-     notification has 4 fields--ID, TARGET-NAME, HOST-NAME, and
-     SYMBOLS-LOADED.  The ID field is an opaque identifier of the
-     library.  For remote debugging case, TARGET-NAME and HOST-NAME
-     fields give the name of the library file on the target, and on the
-     host respectively.  For native debugging, both those fields have
-     the same value.  The SYMBOLS-LOADED field is emitted only for
-     backward compatibility and should not be relied on to convey any
-     useful information.  The THREAD-GROUP field, if present, specifies
-     the id of the thread group in whose context the library was
-     loaded.  If the field is absent, it means the library was loaded
-     in the context of all present thread groups.
-
-`=library-unloaded,...'
-     Reports that a library was unloaded by the program.  This
-     notification has 3 fields--ID, TARGET-NAME and HOST-NAME with the
-     same meaning as for the `=library-loaded' notification.  The
-     THREAD-GROUP field, if present, specifies the id of the thread
-     group in whose context the library was unloaded.  If the field is
-     absent, it means the library was unloaded in the context of all
-     present thread groups.
-
-`=traceframe-changed,num=TFNUM,tracepoint=TPNUM'
-`=traceframe-changed,end'
-     Reports that the trace frame was changed and its new number is
-     TFNUM.  The number of the tracepoint associated with this trace
-     frame is TPNUM.
-
-`=tsv-created,name=NAME,initial=INITIAL'
-     Reports that the new trace state variable NAME is created with
-     initial value INITIAL.
-
-`=tsv-deleted,name=NAME'
-`=tsv-deleted'
-     Reports that the trace state variable NAME is deleted or all trace
-     state variables are deleted.
-
-`=tsv-modified,name=NAME,initial=INITIAL[,current=CURRENT]'
-     Reports that the trace state variable NAME is modified with the
-     initial value INITIAL. The current value CURRENT of trace state
-     variable is optional and is reported if the current value of trace
-     state variable is known.
-
-`=breakpoint-created,bkpt={...}'
-`=breakpoint-modified,bkpt={...}'
-`=breakpoint-deleted,id=NUMBER'
-     Reports that a breakpoint was created, modified, or deleted,
-     respectively.  Only user-visible breakpoints are reported to the MI
-     user.
-
-     The BKPT argument is of the same form as returned by the various
-     breakpoint commands; *Note GDB/MI Breakpoint Commands::.  The
-     NUMBER is the ordinal number of the breakpoint.
-
-     Note that if a breakpoint is emitted in the result record of a
-     command, then it will not also be emitted in an async record.
-
-`=record-started,thread-group="ID"'
-`=record-stopped,thread-group="ID"'
-     Execution log recording was either started or stopped on an
-     inferior.  The ID is the GDB identifier of the thread group
-     corresponding to the affected inferior.
-
-`=cmd-param-changed,param=PARAM,value=VALUE'
-     Reports that a parameter of the command `set PARAM' is changed to
-     VALUE.  In the multi-word `set' command, the PARAM is the whole
-     parameter list to `set' command.  For example, In command `set
-     check type on', PARAM is `check type' and VALUE is `on'.
-
-`=memory-changed,thread-group=ID,addr=ADDR,len=LEN[,type="code"]'
-     Reports that bytes from ADDR to DATA + LEN were written in an
-     inferior.  The ID is the identifier of the thread group
-     corresponding to the affected inferior.  The optional
-     `type="code"' part is reported if the memory written to holds
-     executable code.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-5	2015-01-13 02:06:56.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2015-01-20 02:09:45.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * gdbserver: (gdb) Server.        The GNU debugging server.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -22,9 +22,9 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.8.1.20150113-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -38,6 +38,351 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: GDB/MI Development and Front Ends,  Next: GDB/MI Output Records,  Prev: GDB/MI Compatibility with CLI,  Up: GDB/MI
+
+27.4 GDB/MI Development and Front Ends
+======================================
+
+The application which takes the MI output and presents the state of the
+program being debugged to the user is called a "front end".
+
+   Although GDB/MI is still incomplete, it is currently being used by a
+variety of front ends to GDB.  This makes it difficult to introduce new
+functionality without breaking existing usage.  This section tries to
+minimize the problems by describing how the protocol might change.
+
+   Some changes in MI need not break a carefully designed front end, and
+for these the MI version will remain unchanged.  The following is a
+list of changes that may occur within one level, so front ends should
+parse MI output in a way that can handle them:
+
+   * New MI commands may be added.
+
+   * New fields may be added to the output of any MI command.
+
+   * The range of values for fields with specified values, e.g.,
+     `in_scope' (*note -var-update::) may be extended.
+
+
+   If the changes are likely to break front ends, the MI version level
+will be increased by one.  This will allow the front end to parse the
+output according to the MI version.  Apart from mi0, new versions of
+GDB will not support old versions of MI and it will be the
+responsibility of the front end to work with the new one.
+
+   The best way to avoid unexpected changes in MI that might break your
+front end is to make your project known to GDB developers and follow
+development on <gdb@sourceware.org> and <gdb-patches@sourceware.org>.  
+
+
+File: gdb.info,  Node: GDB/MI Output Records,  Next: GDB/MI Simple Examples,  Prev: GDB/MI Development and Front Ends,  Up: GDB/MI
+
+27.5 GDB/MI Output Records
+==========================
+
+* Menu:
+
+* GDB/MI Result Records::
+* GDB/MI Stream Records::
+* GDB/MI Async Records::
+* GDB/MI Breakpoint Information::
+* GDB/MI Frame Information::
+* GDB/MI Thread Information::
+* GDB/MI Ada Exception Information::
+
+
+File: gdb.info,  Node: GDB/MI Result Records,  Next: GDB/MI Stream Records,  Up: GDB/MI Output Records
+
+27.5.1 GDB/MI Result Records
+----------------------------
+
+In addition to a number of out-of-band notifications, the response to a
+GDB/MI command includes one of the following result indications:
+
+`"^done" [ "," RESULTS ]'
+     The synchronous operation was successful, `RESULTS' are the return
+     values.
+
+`"^running"'
+     This result record is equivalent to `^done'.  Historically, it was
+     output instead of `^done' if the command has resumed the target.
+     This behaviour is maintained for backward compatibility, but all
+     frontends should treat `^done' and `^running' identically and rely
+     on the `*running' output record to determine which threads are
+     resumed.
+
+`"^connected"'
+     GDB has connected to a remote target.
+
+`"^error" "," "msg=" C-STRING [ "," "code=" C-STRING ]'
+     The operation failed.  The `msg=C-STRING' variable contains the
+     corresponding error message.
+
+     If present, the `code=C-STRING' variable provides an error code on
+     which consumers can rely on to detect the corresponding error
+     condition.  At present, only one error code is defined:
+
+    `"undefined-command"'
+          Indicates that the command causing the error does not exist.
+
+`"^exit"'
+     GDB has terminated.
+
+
+
+File: gdb.info,  Node: GDB/MI Stream Records,  Next: GDB/MI Async Records,  Prev: GDB/MI Result Records,  Up: GDB/MI Output Records
+
+27.5.2 GDB/MI Stream Records
+----------------------------
+
+GDB internally maintains a number of output streams: the console, the
+target, and the log.  The output intended for each of these streams is
+funneled through the GDB/MI interface using "stream records".
+
+   Each stream record begins with a unique "prefix character" which
+identifies its stream (*note GDB/MI Output Syntax: GDB/MI Output
+Syntax.).  In addition to the prefix, each stream record contains a
+`STRING-OUTPUT'.  This is either raw text (with an implicit new line)
+or a quoted C string (which does not contain an implicit newline).
+
+`"~" STRING-OUTPUT'
+     The console output stream contains text that should be displayed
+     in the CLI console window.  It contains the textual responses to
+     CLI commands.
+
+`"@" STRING-OUTPUT'
+     The target output stream contains any textual output from the
+     running target.  This is only present when GDB's event loop is
+     truly asynchronous, which is currently only the case for remote
+     targets.
+
+`"&" STRING-OUTPUT'
+     The log stream contains debugging messages being produced by GDB's
+     internals.
+
+
+File: gdb.info,  Node: GDB/MI Async Records,  Next: GDB/MI Breakpoint Information,  Prev: GDB/MI Stream Records,  Up: GDB/MI Output Records
+
+27.5.3 GDB/MI Async Records
+---------------------------
+
+"Async" records are used to notify the GDB/MI client of additional
+changes that have occurred.  Those changes can either be a consequence
+of GDB/MI commands (e.g., a breakpoint modified) or a result of target
+activity (e.g., target stopped).
+
+   The following is the list of possible async records:
+
+`*running,thread-id="THREAD"'
+     The target is now running.  The THREAD field tells which specific
+     thread is now running, and can be `all' if all threads are
+     running.  The frontend should assume that no interaction with a
+     running thread is possible after this notification is produced.
+     The frontend should not assume that this notification is output
+     only once for any command.  GDB may emit this notification several
+     times, either for different threads, because it cannot resume all
+     threads together, or even for a single thread, if the thread must
+     be stepped though some code before letting it run freely.
+
+`*stopped,reason="REASON",thread-id="ID",stopped-threads="STOPPED",core="CORE"'
+     The target has stopped.  The REASON field can have one of the
+     following values:
+
+    `breakpoint-hit'
+          A breakpoint was reached.
+
+    `watchpoint-trigger'
+          A watchpoint was triggered.
+
+    `read-watchpoint-trigger'
+          A read watchpoint was triggered.
+
+    `access-watchpoint-trigger'
+          An access watchpoint was triggered.
+
+    `function-finished'
+          An -exec-finish or similar CLI command was accomplished.
+
+    `location-reached'
+          An -exec-until or similar CLI command was accomplished.
+
+    `watchpoint-scope'
+          A watchpoint has gone out of scope.
+
+    `end-stepping-range'
+          An -exec-next, -exec-next-instruction, -exec-step,
+          -exec-step-instruction or similar CLI command was
+          accomplished.
+
+    `exited-signalled'
+          The inferior exited because of a signal.
+
+    `exited'
+          The inferior exited.
+
+    `exited-normally'
+          The inferior exited normally.
+
+    `signal-received'
+          A signal was received by the inferior.
+
+    `solib-event'
+          The inferior has stopped due to a library being loaded or
+          unloaded.  This can happen when `stop-on-solib-events' (*note
+          Files::) is set or when a `catch load' or `catch unload'
+          catchpoint is in use (*note Set Catchpoints::).
+
+    `fork'
+          The inferior has forked.  This is reported when `catch fork'
+          (*note Set Catchpoints::) has been used.
+
+    `vfork'
+          The inferior has vforked.  This is reported in when `catch
+          vfork' (*note Set Catchpoints::) has been used.
+
+    `syscall-entry'
+          The inferior entered a system call.  This is reported when
+          `catch syscall' (*note Set Catchpoints::) has been used.
+
+    `syscall-entry'
+          The inferior returned from a system call.  This is reported
+          when `catch syscall' (*note Set Catchpoints::) has been used.
+
+    `exec'
+          The inferior called `exec'.  This is reported when `catch
+          exec' (*note Set Catchpoints::) has been used.
+
+     The ID field identifies the thread that directly caused the stop -
+     for example by hitting a breakpoint.  Depending on whether all-stop
+     mode is in effect (*note All-Stop Mode::), GDB may either stop all
+     threads, or only the thread that directly triggered the stop.  If
+     all threads are stopped, the STOPPED field will have the value of
+     `"all"'.  Otherwise, the value of the STOPPED field will be a list
+     of thread identifiers.  Presently, this list will always include a
+     single thread, but frontend should be prepared to see several
+     threads in the list.  The CORE field reports the processor core on
+     which the stop event has happened.  This field may be absent if
+     such information is not available.
+
+`=thread-group-added,id="ID"'
+`=thread-group-removed,id="ID"'
+     A thread group was either added or removed.  The ID field contains
+     the GDB identifier of the thread group.  When a thread group is
+     added, it generally might not be associated with a running
+     process.  When a thread group is removed, its id becomes invalid
+     and cannot be used in any way.
+
+`=thread-group-started,id="ID",pid="PID"'
+     A thread group became associated with a running program, either
+     because the program was just started or the thread group was
+     attached to a program.  The ID field contains the GDB identifier
+     of the thread group.  The PID field contains process identifier,
+     specific to the operating system.
+
+`=thread-group-exited,id="ID"[,exit-code="CODE"]'
+     A thread group is no longer associated with a running program,
+     either because the program has exited, or because it was detached
+     from.  The ID field contains the GDB identifier of the thread
+     group.  The CODE field is the exit code of the inferior; it exists
+     only when the inferior exited with some code.
+
+`=thread-created,id="ID",group-id="GID"'
+`=thread-exited,id="ID",group-id="GID"'
+     A thread either was created, or has exited.  The ID field contains
+     the GDB identifier of the thread.  The GID field identifies the
+     thread group this thread belongs to.
+
+`=thread-selected,id="ID"'
+     Informs that the selected thread was changed as result of the last
+     command.  This notification is not emitted as result of
+     `-thread-select' command but is emitted whenever an MI command
+     that is not documented to change the selected thread actually
+     changes it.  In particular, invoking, directly or indirectly (via
+     user-defined command), the CLI `thread' command, will generate
+     this notification.
+
+     We suggest that in response to this notification, front ends
+     highlight the selected thread and cause subsequent commands to
+     apply to that thread.
+
+`=library-loaded,...'
+     Reports that a new library file was loaded by the program.  This
+     notification has 4 fields--ID, TARGET-NAME, HOST-NAME, and
+     SYMBOLS-LOADED.  The ID field is an opaque identifier of the
+     library.  For remote debugging case, TARGET-NAME and HOST-NAME
+     fields give the name of the library file on the target, and on the
+     host respectively.  For native debugging, both those fields have
+     the same value.  The SYMBOLS-LOADED field is emitted only for
+     backward compatibility and should not be relied on to convey any
+     useful information.  The THREAD-GROUP field, if present, specifies
+     the id of the thread group in whose context the library was
+     loaded.  If the field is absent, it means the library was loaded
+     in the context of all present thread groups.
+
+`=library-unloaded,...'
+     Reports that a library was unloaded by the program.  This
+     notification has 3 fields--ID, TARGET-NAME and HOST-NAME with the
+     same meaning as for the `=library-loaded' notification.  The
+     THREAD-GROUP field, if present, specifies the id of the thread
+     group in whose context the library was unloaded.  If the field is
+     absent, it means the library was unloaded in the context of all
+     present thread groups.
+
+`=traceframe-changed,num=TFNUM,tracepoint=TPNUM'
+`=traceframe-changed,end'
+     Reports that the trace frame was changed and its new number is
+     TFNUM.  The number of the tracepoint associated with this trace
+     frame is TPNUM.
+
+`=tsv-created,name=NAME,initial=INITIAL'
+     Reports that the new trace state variable NAME is created with
+     initial value INITIAL.
+
+`=tsv-deleted,name=NAME'
+`=tsv-deleted'
+     Reports that the trace state variable NAME is deleted or all trace
+     state variables are deleted.
+
+`=tsv-modified,name=NAME,initial=INITIAL[,current=CURRENT]'
+     Reports that the trace state variable NAME is modified with the
+     initial value INITIAL. The current value CURRENT of trace state
+     variable is optional and is reported if the current value of trace
+     state variable is known.
+
+`=breakpoint-created,bkpt={...}'
+`=breakpoint-modified,bkpt={...}'
+`=breakpoint-deleted,id=NUMBER'
+     Reports that a breakpoint was created, modified, or deleted,
+     respectively.  Only user-visible breakpoints are reported to the MI
+     user.
+
+     The BKPT argument is of the same form as returned by the various
+     breakpoint commands; *Note GDB/MI Breakpoint Commands::.  The
+     NUMBER is the ordinal number of the breakpoint.
+
+     Note that if a breakpoint is emitted in the result record of a
+     command, then it will not also be emitted in an async record.
+
+`=record-started,thread-group="ID"'
+`=record-stopped,thread-group="ID"'
+     Execution log recording was either started or stopped on an
+     inferior.  The ID is the GDB identifier of the thread group
+     corresponding to the affected inferior.
+
+`=cmd-param-changed,param=PARAM,value=VALUE'
+     Reports that a parameter of the command `set PARAM' is changed to
+     VALUE.  In the multi-word `set' command, the PARAM is the whole
+     parameter list to `set' command.  For example, In command `set
+     check type on', PARAM is `check type' and VALUE is `on'.
+
+`=memory-changed,thread-group=ID,addr=ADDR,len=LEN[,type="code"]'
+     Reports that bytes from ADDR to DATA + LEN were written in an
+     inferior.  The ID is the identifier of the thread group
+     corresponding to the affected inferior.  The optional
+     `type="code"' part is reported if the memory written to holds
+     executable code.
+
+
 File: gdb.info,  Node: GDB/MI Breakpoint Information,  Next: GDB/MI Frame Information,  Prev: GDB/MI Async Records,  Up: GDB/MI Output Records
 
 27.5.4 GDB/MI Breakpoint Information
@@ -4989,6 +5334,11 @@ the following fields:
      The target-specific process identifier.  This field is only present
      for thread groups of type `process' and only if the process exists.
 
+`exit-code'
+     The exit code of this group's last exited thread, formatted in
+     octal.  This field is only present for thread groups of type
+     `process' and only if the process is not running.
+
 `num_children'
      The number of children this thread group has.  This field may be
      absent for an available thread group.
@@ -7757,7 +8107,7 @@ and TeX (or `texi2roff') to typeset the 
 
    GDB includes an already formatted copy of the on-line Info version
 of this manual in the `gdb' subdirectory.  The main Info file is
-`gdb-7.8.1.20150113-cvs/gdb/gdb.info', and it refers to subordinate
+`gdb-7.8.90.20150120-cvs/gdb/gdb.info', and it refers to subordinate
 files matching `gdb.info*' in the same directory.  If necessary, you
 can print out these files, or read them with any editor; but they are
 easier to read using the `info' subsystem in GNU Emacs or the
@@ -7768,8 +8118,8 @@ distribution.
 Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
 
    If you have `makeinfo' installed, and are in the top level GDB
-source directory (`gdb-7.8.1.20150113-cvs', in the case of version
-7.8.1.20150113-cvs), you can make the Info file by typing:
+source directory (`gdb-7.8.90.20150120-cvs', in the case of version
+7.8.90.20150120-cvs), you can make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -7794,7 +8144,7 @@ format.  On its own, TeX cannot either r
 
    If you have TeX and a DVI printer program installed, you can typeset
 and print this manual.  First switch to the `gdb' subdirectory of the
-main source directory (for example, to `gdb-7.8.1.20150113-cvs/gdb')
+main source directory (for example, to `gdb-7.8.90.20150120-cvs/gdb')
 and type:
 
      make gdb.dvi
@@ -7803,8 +8153,8 @@ and type:
 
    ---------- Footnotes ----------
 
-   (1) In `gdb-7.8.1.20150113-cvs/gdb/refcard.ps' of the version
-7.8.1.20150113-cvs release.
+   (1) In `gdb-7.8.90.20150120-cvs/gdb/refcard.ps' of the version
+7.8.90.20150120-cvs release.
 
 
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
@@ -7913,39 +8263,39 @@ preparing GDB for installation; you can 
 in a single directory, whose name is usually composed by appending the
 version number to `gdb'.
 
-   For example, the GDB version 7.8.1.20150113-cvs distribution is in
-the `gdb-7.8.1.20150113-cvs' directory.  That directory contains:
+   For example, the GDB version 7.8.90.20150120-cvs distribution is in
+the `gdb-7.8.90.20150120-cvs' directory.  That directory contains:
 
-`gdb-7.8.1.20150113-cvs/configure (and supporting files)'
+`gdb-7.8.90.20150120-cvs/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-`gdb-7.8.1.20150113-cvs/gdb'
+`gdb-7.8.90.20150120-cvs/gdb'
      the source specific to GDB itself
 
-`gdb-7.8.1.20150113-cvs/bfd'
+`gdb-7.8.90.20150120-cvs/bfd'
      source for the Binary File Descriptor library
 
-`gdb-7.8.1.20150113-cvs/include'
+`gdb-7.8.90.20150120-cvs/include'
      GNU include files
 
-`gdb-7.8.1.20150113-cvs/libiberty'
+`gdb-7.8.90.20150120-cvs/libiberty'
      source for the `-liberty' free software library
 
-`gdb-7.8.1.20150113-cvs/opcodes'
+`gdb-7.8.90.20150120-cvs/opcodes'
      source for the library of opcode tables and disassemblers
 
-`gdb-7.8.1.20150113-cvs/readline'
+`gdb-7.8.90.20150120-cvs/readline'
      source for the GNU command-line interface
 
-`gdb-7.8.1.20150113-cvs/glob'
+`gdb-7.8.90.20150120-cvs/glob'
      source for the GNU filename pattern-matching subroutine
 
-`gdb-7.8.1.20150113-cvs/mmalloc'
+`gdb-7.8.90.20150120-cvs/mmalloc'
      source for the GNU memory-mapped malloc package
 
    The simplest way to configure and build GDB is to run `configure'
 from the `gdb-VERSION-NUMBER' source directory, which in this example
-is the `gdb-7.8.1.20150113-cvs' directory.
+is the `gdb-7.8.90.20150120-cvs' directory.
 
    First switch to the `gdb-VERSION-NUMBER' source directory if you are
 not already in it; then run `configure'.  Pass the identifier for the
@@ -7953,7 +8303,7 @@ platform on which GDB will run as an arg
 
    For example:
 
-     cd gdb-7.8.1.20150113-cvs
+     cd gdb-7.8.90.20150120-cvs
      ./configure HOST
      make
 
@@ -7975,8 +8325,8 @@ you may need to run `sh' on it explicitl
 
    If you run `configure' from a directory that contains source
 directories for multiple libraries or programs, such as the
-`gdb-7.8.1.20150113-cvs' source directory for version
-7.8.1.20150113-cvs, `configure' creates configuration files for every
+`gdb-7.8.90.20150120-cvs' source directory for version
+7.8.90.20150120-cvs, `configure' creates configuration files for every
 directory level underneath (unless you tell it not to, with the
 `--norecursion' option).
 
@@ -8017,13 +8367,13 @@ directory.  If the path to `configure' w
 argument to `--srcdir', you can leave out the `--srcdir' option; it is
 assumed.)
 
-   For example, with version 7.8.1.20150113-cvs, you can build GDB in a
+   For example, with version 7.8.90.20150120-cvs, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-7.8.1.20150113-cvs
+     cd gdb-7.8.90.20150120-cvs
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-7.8.1.20150113-cvs/configure sun4
+     ../gdb-7.8.90.20150120-cvs/configure sun4
      make
 
    When `configure' builds a configuration using a remote source
@@ -8034,9 +8384,9 @@ directory `gdb-sun4/libiberty', and GDB 
 
    Make sure that your path to the `configure' script has just one
 instance of `gdb' in it.  If your path to `configure' looks like
-`../gdb-7.8.1.20150113-cvs/gdb/configure', you are configuring only one
-subdirectory of GDB, not the whole package.  This leads to build errors
-about missing include files such as `bfd/bfd.h'.
+`../gdb-7.8.90.20150120-cvs/gdb/configure', you are configuring only
+one subdirectory of GDB, not the whole package.  This leads to build
+errors about missing include files such as `bfd/bfd.h'.
 
    One popular reason to build several GDB configurations in separate
 directories is to configure GDB for cross-compiling (where GDB runs on
@@ -8050,8 +8400,8 @@ called `configure' (or one of its subdir
 
    The `Makefile' that `configure' generates in each source directory
 also runs recursively.  If you type `make' in a source directory such
-as `gdb-7.8.1.20150113-cvs' (or in a separate configured directory
-configured with `--srcdir=DIRNAME/gdb-7.8.1.20150113-cvs'), you will
+as `gdb-7.8.90.20150120-cvs' (or in a separate configured directory
+configured with `--srcdir=DIRNAME/gdb-7.8.90.20150120-cvs'), you will
 build all the required libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -8096,7 +8446,7 @@ you can use it to test your guesses on a
      Invalid configuration `i986v': machine `i986v' not recognized
 
 `config.sub' is also distributed in the GDB source directory
-(`gdb-7.8.1.20150113-cvs', for version 7.8.1.20150113-cvs).
+(`gdb-7.8.90.20150120-cvs', for version 7.8.90.20150120-cvs).
 
 
 File: gdb.info,  Node: Configure Options,  Next: System-wide configuration,  Prev: Config Names,  Up: Installing GDB
@@ -8337,15 +8687,20 @@ Debugging Output::.)
      Expand symbol tables.  If REGEXP is specified, only expand symbol
      tables for file names matching REGEXP.
 
+`maint set catch-demangler-crashes [on|off]'
+`maint show catch-demangler-crashes'
+     Control whether GDB should attempt to catch crashes in the symbol
+     name demangler.  The default is to attempt to catch crashes.  If
+     enabled, the first time a crash is caught, a core file is created,
+     the offending symbol is displayed and the user is presented with
+     the option to terminate the current session.
+
 `maint cplus first_component NAME'
      Print the first C++ class/namespace component of NAME.
 
 `maint cplus namespace'
      Print the list of possible C++ namespaces.
 
-`maint demangle NAME'
-     Demangle a C++ or Objective-C mangled NAME.
-
 `maint deprecate COMMAND [REPLACEMENT]'
 `maint undeprecate COMMAND'
      Deprecate or undeprecate the named COMMAND.  Deprecated commands
@@ -8361,11 +8716,13 @@ Debugging Output::.)
 
 `maint internal-error [MESSAGE-TEXT]'
 `maint internal-warning [MESSAGE-TEXT]'
-     Cause GDB to call the internal function `internal_error' or
-     `internal_warning' and hence behave as though an internal error or
-     internal warning has been detected.  In addition to reporting the
-     internal problem, these functions give the user the opportunity to
-     either quit GDB or create a core file of the current GDB session.
+`maint demangler-warning [MESSAGE-TEXT]'
+     Cause GDB to call the internal function `internal_error',
+     `internal_warning' or `demangler_warning' and hence behave as
+     though an internal problam has been detected.  In addition to
+     reporting the internal problem, these functions give the user the
+     opportunity to either quit GDB or (for `internal_error' and
+     `internal_warning') create a core file of the current GDB session.
 
      These commands take an optional parameter MESSAGE-TEXT that is
      used as the text of the error or warning message.
@@ -8384,6 +8741,8 @@ Debugging Output::.)
 `maint show internal-error ACTION'
 `maint set internal-warning ACTION [ask|yes|no]'
 `maint show internal-warning ACTION'
+`maint set demangler-warning ACTION [ask|yes|no]'
+`maint show demangler-warning ACTION'
      When GDB reports an internal problem (error or warning) it gives
      the user the opportunity to both quit GDB and create a core file
      of the current GDB session.  These commands let you override the
@@ -8397,7 +8756,9 @@ Debugging Output::.)
     `corefile'
           You can specify that GDB should always (yes) or never (no)
           create a core file.  The default is to ask the user what to
-          do.
+          do.  Note that there is no `corefile' option for
+          `demangler-warning': demangler warnings always create a core
+          file and this cannot be disabled.
 
 `maint packet TEXT'
      If GDB is talking to an inferior via the serial protocol, then
@@ -8425,9 +8786,7 @@ Debugging Output::.)
           The program being debugged stopped while in a function called from GDB.
           ...
           (gdb) maint print dummy-frames
-          0x1a57c80: pc=0x01014068 fp=0x0200bddc sp=0x0200bdd6
-           top=0x0200bdd4 id={stack=0x200bddc,code=0x101405c}
-           call_lo=0x01014000 call_hi=0x01014001
+          0xa8206d8: id={stack=0xbfffe734,code=0xbfffe73f,!special}, ptid=process 9353
           (gdb)
 
      Takes an optional file parameter.
@@ -8476,6 +8835,15 @@ Debugging Output::.)
      file, this command prints its name, address in memory, and all of
      its psymtabs and symtabs.
 
+`maint print user-registers'
+     List all currently available "user registers".  User registers
+     typically provide alternate names for actual hardware registers.
+     They include the four "standard" registers `$fp', `$pc', `$sp',
+     and `$ps'.  *Note standard registers::.  User registers can be
+     used in expressions in the same way as the canonical register
+     names, but only the latter are listed by the `info registers' and
+     `maint print registers' commands.
+
 `maint print section-scripts [REGEXP]'
      Print a dump of scripts specified in the `.debug_gdb_section'
      section.  If REGEXP is specified, only print scripts loaded by
@@ -8662,828 +9030,3 @@ GDB, such as in the test suite.
 `show watchdog'
      Show the current setting of the target wait timeout.
 
-
-File: gdb.info,  Node: Remote Protocol,  Next: Agent Expressions,  Prev: Maintenance Commands,  Up: Top
-
-Appendix E GDB Remote Serial Protocol
-*************************************
-
-* Menu:
-
-* Overview::
-* Packets::
-* Stop Reply Packets::
-* General Query Packets::
-* Architecture-Specific Protocol Details::
-* Tracepoint Packets::
-* Host I/O Packets::
-* Interrupts::
-* Notification Packets::
-* Remote Non-Stop::
-* Packet Acknowledgment::
-* Examples::
-* File-I/O Remote Protocol Extension::
-* Library List Format::
-* Library List Format for SVR4 Targets::
-* Memory Map Format::
-* Thread List Format::
-* Traceframe Info Format::
-* Branch Trace Format::
-
-
-File: gdb.info,  Node: Overview,  Next: Packets,  Up: Remote Protocol
-
-E.1 Overview
-============
-
-There may be occasions when you need to know something about the
-protocol--for example, if there is only one serial port to your target
-machine, you might want your program to do something special if it
-recognizes a packet meant for GDB.
-
-   In the examples below, `->' and `<-' are used to indicate
-transmitted and received data, respectively.
-
-   All GDB commands and responses (other than acknowledgments and
-notifications, see *note Notification Packets::) are sent as a PACKET.
-A PACKET is introduced with the character `$', the actual PACKET-DATA,
-and the terminating character `#' followed by a two-digit CHECKSUM:
-
-     `$'PACKET-DATA`#'CHECKSUM
-   The two-digit CHECKSUM is computed as the modulo 256 sum of all
-characters between the leading `$' and the trailing `#' (an eight bit
-unsigned checksum).
-
-   Implementors should note that prior to GDB 5.0 the protocol
-specification also included an optional two-digit SEQUENCE-ID:
-
-     `$'SEQUENCE-ID`:'PACKET-DATA`#'CHECKSUM
-
-That SEQUENCE-ID was appended to the acknowledgment.  GDB has never
-output SEQUENCE-IDs.  Stubs that handle packets added since GDB 5.0
-must not accept SEQUENCE-ID.
-
-   When either the host or the target machine receives a packet, the
-first response expected is an acknowledgment: either `+' (to indicate
-the package was received correctly) or `-' (to request retransmission):
-
-     -> `$'PACKET-DATA`#'CHECKSUM
-     <- `+'
-   The `+'/`-' acknowledgments can be disabled once a connection is
-established.  *Note Packet Acknowledgment::, for details.
-
-   The host (GDB) sends COMMANDs, and the target (the debugging stub
-incorporated in your program) sends a RESPONSE.  In the case of step
-and continue COMMANDs, the response is only sent when the operation has
-completed, and the target has again stopped all threads in all attached
-processes.  This is the default all-stop mode behavior, but the remote
-protocol also supports GDB's non-stop execution mode; see *note Remote
-Non-Stop::, for details.
-
-   PACKET-DATA consists of a sequence of characters with the exception
-of `#' and `$' (see `X' packet for additional exceptions).
-
-   Fields within the packet should be separated using `,' `;' or `:'.
-Except where otherwise noted all numbers are represented in HEX with
-leading zeros suppressed.
-
-   Implementors should note that prior to GDB 5.0, the character `:'
-could not appear as the third character in a packet (as it would
-potentially conflict with the SEQUENCE-ID).
-
-   Binary data in most packets is encoded either as two hexadecimal
-digits per byte of binary data.  This allowed the traditional remote
-protocol to work over connections which were only seven-bit clean.
-Some packets designed more recently assume an eight-bit clean
-connection, and use a more efficient encoding to send and receive
-binary data.
-
-   The binary data representation uses `7d' (ASCII `}') as an escape
-character.  Any escaped byte is transmitted as the escape character
-followed by the original character XORed with `0x20'.  For example, the
-byte `0x7d' would be transmitted as the two bytes `0x7d 0x5d'.  The
-bytes `0x23' (ASCII `#'), `0x24' (ASCII `$'), and `0x7d' (ASCII `}')
-must always be escaped.  Responses sent by the stub must also escape
-`0x2a' (ASCII `*'), so that it is not interpreted as the start of a
-run-length encoded sequence (described next).
-
-   Response DATA can be run-length encoded to save space.  Run-length
-encoding replaces runs of identical characters with one instance of the
-repeated character, followed by a `*' and a repeat count.  The repeat
-count is itself sent encoded, to avoid binary characters in DATA: a
-value of N is sent as `N+29'.  For a repeat count greater or equal to
-3, this produces a printable ASCII character, e.g. a space (ASCII code
-32) for a repeat count of 3.  (This is because run-length encoding
-starts to win for counts 3 or more.)  Thus, for example, `0* ' is a
-run-length encoding of "0000": the space character after `*' means
-repeat the leading `0' `32 - 29 = 3' more times.
-
-   The printable characters `#' and `$' or with a numeric value greater
-than 126 must not be used.  Runs of six repeats (`#') or seven repeats
-(`$') can be expanded using a repeat count of only five (`"').  For
-example, `00000000' can be encoded as `0*"00'.
-
-   The error response returned for some packets includes a two character
-error number.  That number is not well defined.
-
-   For any COMMAND not supported by the stub, an empty response
-(`$#00') should be returned.  That way it is possible to extend the
-protocol.  A newer GDB can tell if a packet is supported based on that
-response.
-
-   At a minimum, a stub is required to support the `g' and `G' commands
-for register access, and the `m' and `M' commands for memory access.
-Stubs that only control single-threaded targets can implement run
-control with the `c' (continue), and `s' (step) commands.  Stubs that
-support multi-threading targets should support the `vCont' command.
-All other commands are optional.
-
-
-File: gdb.info,  Node: Packets,  Next: Stop Reply Packets,  Prev: Overview,  Up: Remote Protocol
-
-E.2 Packets
-===========
-
-The following table provides a complete list of all currently defined
-COMMANDs and their corresponding response DATA.  *Note File-I/O Remote
-Protocol Extension::, for details about the File I/O extension of the
-remote protocol.
-
-   Each packet's description has a template showing the packet's overall
-syntax, followed by an explanation of the packet's meaning.  We include
-spaces in some of the templates for clarity; these are not part of the
-packet's syntax.  No GDB packet uses spaces to separate its components.
-For example, a template like `foo BAR BAZ' describes a packet beginning
-with the three ASCII bytes `foo', followed by a BAR, followed directly
-by a BAZ.  GDB does not transmit a space character between the `foo'
-and the BAR, or between the BAR and the BAZ.
-
-   Several packets and replies include a THREAD-ID field to identify a
-thread.  Normally these are positive numbers with a target-specific
-interpretation, formatted as big-endian hex strings.  A THREAD-ID can
-also be a literal `-1' to indicate all threads, or `0' to pick any
-thread.
-
-   In addition, the remote protocol supports a multiprocess feature in
-which the THREAD-ID syntax is extended to optionally include both
-process and thread ID fields, as `pPID.TID'.  The PID (process) and TID
-(thread) components each have the format described above: a positive
-number with target-specific interpretation formatted as a big-endian
-hex string, literal `-1' to indicate all processes or threads
-(respectively), or `0' to indicate an arbitrary process or thread.
-Specifying just a process, as `pPID', is equivalent to `pPID.-1'.  It
-is an error to specify all processes but a specific thread, such as
-`p-1.TID'.  Note that the `p' prefix is _not_ used for those packets
-and replies explicitly documented to include a process ID, rather than
-a THREAD-ID.
-
-   The multiprocess THREAD-ID syntax extensions are only used if both
-GDB and the stub report support for the `multiprocess' feature using
-`qSupported'.  *Note multiprocess extensions::, for more information.
-
-   Note that all packet forms beginning with an upper- or lower-case
-letter, other than those described here, are reserved for future use.
-
-   Here are the packet descriptions.
-
-`!'
-     Enable extended mode.  In extended mode, the remote server is made
-     persistent.  The `R' packet is used to restart the program being
-     debugged.
-
-     Reply:
-    `OK'
-          The remote target both supports and has enabled extended mode.
-
-`?'
-     Indicate the reason the target halted.  The reply is the same as
-     for step and continue.  This packet has a special interpretation
-     when the target is in non-stop mode; see *note Remote Non-Stop::.
-
-     Reply: *Note Stop Reply Packets::, for the reply specifications.
-
-`A ARGLEN,ARGNUM,ARG,...'
-     Initialized `argv[]' array passed into program. ARGLEN specifies
-     the number of bytes in the hex encoded byte stream ARG.  See
-     `gdbserver' for more details.
-
-     Reply:
-    `OK'
-          The arguments were set.
-
-    `E NN'
-          An error occurred.
-
-`b BAUD'
-     (Don't use this packet; its behavior is not well-defined.)  Change
-     the serial line speed to BAUD.
-
-     JTC: _When does the transport layer state change?  When it's
-     received, or after the ACK is transmitted.  In either case, there
-     are problems if the command or the acknowledgment packet is
-     dropped._
-
-     Stan: _If people really wanted to add something like this, and get
-     it working for the first time, they ought to modify ser-unix.c to
-     send some kind of out-of-band message to a specially-setup stub
-     and have the switch happen "in between" packets, so that from
-     remote protocol's point of view, nothing actually happened._
-
-`B ADDR,MODE'
-     Set (MODE is `S') or clear (MODE is `C') a breakpoint at ADDR.
-
-     Don't use this packet.  Use the `Z' and `z' packets instead (*note
-     insert breakpoint or watchpoint packet::).
-
-`bc'
-     Backward continue.  Execute the target system in reverse.  No
-     parameter.  *Note Reverse Execution::, for more information.
-
-     Reply: *Note Stop Reply Packets::, for the reply specifications.
-
-`bs'
-     Backward single step.  Execute one instruction in reverse.  No
-     parameter.  *Note Reverse Execution::, for more information.
-
-     Reply: *Note Stop Reply Packets::, for the reply specifications.
-
-`c [ADDR]'
-     Continue at ADDR, which is the address to resume.  If ADDR is
-     omitted, resume at current address.
-
-     This packet is deprecated for multi-threading support.  *Note
-     vCont packet::.
-
-     Reply: *Note Stop Reply Packets::, for the reply specifications.
-
-`C SIG[;ADDR]'
-     Continue with signal SIG (hex signal number).  If `;ADDR' is
-     omitted, resume at same address.
-
-     This packet is deprecated for multi-threading support.  *Note
-     vCont packet::.
-
-     Reply: *Note Stop Reply Packets::, for the reply specifications.
-
-`d'
-     Toggle debug flag.
-
-     Don't use this packet; instead, define a general set packet (*note
-     General Query Packets::).
-
-`D'
-`D;PID'
-     The first form of the packet is used to detach GDB from the remote
-     system.  It is sent to the remote target before GDB disconnects
-     via the `detach' command.
-
-     The second form, including a process ID, is used when multiprocess
-     protocol extensions are enabled (*note multiprocess extensions::),
-     to detach only a specific process.  The PID is specified as a
-     big-endian hex string.
-
-     Reply:
-    `OK'
-          for success
-
-    `E NN'
-          for an error
-
-`F RC,EE,CF;XX'
-     A reply from GDB to an `F' packet sent by the target.  This is
-     part of the File-I/O protocol extension.  *Note File-I/O Remote
-     Protocol Extension::, for the specification.
-
-`g'
-     Read general registers.
-
-     Reply:
-    `XX...'
-          Each byte of register data is described by two hex digits.
-          The bytes with the register are transmitted in target byte
-          order.  The size of each register and their position within
-          the `g' packet are determined by the GDB internal gdbarch
-          functions `DEPRECATED_REGISTER_RAW_SIZE' and
-          `gdbarch_register_name'.  The specification of several
-          standard `g' packets is specified below.
-
-          When reading registers from a trace frame (*note Using the
-          Collected Data: Analyze Collected Data.), the stub may also
-          return a string of literal `x''s in place of the register
-          data digits, to indicate that the corresponding register has
-          not been collected, thus its value is unavailable.  For
-          example, for an architecture with 4 registers of 4 bytes
-          each, the following reply indicates to GDB that registers 0
-          and 2 have not been collected, while registers 1 and 3 have
-          been collected, and both have zero value:
-
-               -> `g'
-               <- `xxxxxxxx00000000xxxxxxxx00000000'
-
-    `E NN'
-          for an error.
-
-`G XX...'
-     Write general registers.  *Note read registers packet::, for a
-     description of the XX... data.
-
-     Reply:
-    `OK'
-          for success
-
-    `E NN'
-          for an error
-
-`H OP THREAD-ID'
-     Set thread for subsequent operations (`m', `M', `g', `G', et.al.).
-     Depending on the operation to be performed, OP should be `c' for
-     step and continue operations (note that this is deprecated,
-     supporting the `vCont' command is a better option), and `g' for
-     other operations.  The thread designator THREAD-ID has the format
-     and interpretation described in *note thread-id syntax::.
-
-     Reply:
-    `OK'
-          for success
-
-    `E NN'
-          for an error
-
-`i [ADDR[,NNN]]'
-     Step the remote target by a single clock cycle.  If `,NNN' is
-     present, cycle step NNN cycles.  If ADDR is present, cycle step
-     starting at that address.
-
-`I'
-     Signal, then cycle step.  *Note step with signal packet::.  *Note
-     cycle step packet::.
-
-`k'
-     Kill request.
-
-     The exact effect of this packet is not specified.
-
-     For a bare-metal target, it may power cycle or reset the target
-     system.  For that reason, the `k' packet has no reply.
-
-     For a single-process target, it may kill that process if possible.
-
-     A multiple-process target may choose to kill just one process, or
-     all that are under GDB's control.  For more precise control, use
-     the vKill packet (*note vKill packet::).
-
-     If the target system immediately closes the connection in response
-     to `k', GDB does not consider the lack of packet acknowledgment to
-     be an error, and assumes the kill was successful.
-
-     If connected using `target extended-remote', and the target does
-     not close the connection in response to a kill request, GDB probes
-     the target state as if a new connection was opened (*note ?
-     packet::).
-
-`m ADDR,LENGTH'
-     Read LENGTH bytes of memory starting at address ADDR.  Note that
-     ADDR may not be aligned to any particular boundary.
-
-     The stub need not use any particular size or alignment when
-     gathering data from memory for the response; even if ADDR is
-     word-aligned and LENGTH is a multiple of the word size, the stub
-     is free to use byte accesses, or not.  For this reason, this
-     packet may not be suitable for accessing memory-mapped I/O devices.  
-
-     Reply:
-    `XX...'
-          Memory contents; each byte is transmitted as a two-digit
-          hexadecimal number.  The reply may contain fewer bytes than
-          requested if the server was able to read only part of the
-          region of memory.
-
-    `E NN'
-          NN is errno
-
-`M ADDR,LENGTH:XX...'
-     Write LENGTH bytes of memory starting at address ADDR.  The data
-     is given by XX...; each byte is transmitted as a two-digit
-     hexadecimal number.
-
-     Reply:
-    `OK'
-          for success
-
-    `E NN'
-          for an error (this includes the case where only part of the
-          data was written).
-
-`p N'
-     Read the value of register N; N is in hex.  *Note read registers
-     packet::, for a description of how the returned register value is
-     encoded.
-
-     Reply:
-    `XX...'
-          the register's value
-
-    `E NN'
-          for an error
-
-    `'
-          Indicating an unrecognized QUERY.
-
-`P N...=R...'
-     Write register N... with value R....  The register number N is in
-     hexadecimal, and R... contains two hex digits for each byte in the
-     register (target byte order).
-
-     Reply:
-    `OK'
-          for success
-
-    `E NN'
-          for an error
-
-`q NAME PARAMS...'
-`Q NAME PARAMS...'
-     General query (`q') and set (`Q').  These packets are described
-     fully in *note General Query Packets::.
-
-`r'
-     Reset the entire system.
-
-     Don't use this packet; use the `R' packet instead.
-
-`R XX'
-     Restart the program being debugged.  The XX, while needed, is
-     ignored.  This packet is only available in extended mode (*note
-     extended mode::).
-
-     The `R' packet has no reply.
-
-`s [ADDR]'
-     Single step, resuming at ADDR.  If ADDR is omitted, resume at same
-     address.
-
-     This packet is deprecated for multi-threading support.  *Note
-     vCont packet::.
-
-     Reply: *Note Stop Reply Packets::, for the reply specifications.
-
-`S SIG[;ADDR]'
-     Step with signal.  This is analogous to the `C' packet, but
-     requests a single-step, rather than a normal resumption of
-     execution.
-
-     This packet is deprecated for multi-threading support.  *Note
-     vCont packet::.
-
-     Reply: *Note Stop Reply Packets::, for the reply specifications.
-
-`t ADDR:PP,MM'
-     Search backwards starting at address ADDR for a match with pattern
-     PP and mask MM, both of which are are 4 byte long.  There must be
-     at least 3 digits in ADDR.
-
-`T THREAD-ID'
-     Find out if the thread THREAD-ID is alive.  *Note thread-id
-     syntax::.
-
-     Reply:
-    `OK'
-          thread is still alive
-
-    `E NN'
-          thread is dead
-
-`v'
-     Packets starting with `v' are identified by a multi-letter name,
-     up to the first `;' or `?' (or the end of the packet).
-
-`vAttach;PID'
-     Attach to a new process with the specified process ID PID.  The
-     process ID is a hexadecimal integer identifying the process.  In
-     all-stop mode, all threads in the attached process are stopped; in
-     non-stop mode, it may be attached without being stopped if that is
-     supported by the target.
-
-     This packet is only available in extended mode (*note extended
-     mode::).
-
-     Reply:
-    `E NN'
-          for an error
-
-    `Any stop packet'
-          for success in all-stop mode (*note Stop Reply Packets::)
-
-    `OK'
-          for success in non-stop mode (*note Remote Non-Stop::)
-
-`vCont[;ACTION[:THREAD-ID]]...'
-     Resume the inferior, specifying different actions for each thread.
-     If an action is specified with no THREAD-ID, then it is applied to
-     any threads that don't have a specific action specified; if no
-     default action is specified then other threads should remain
-     stopped in all-stop mode and in their current state in non-stop
-     mode.  Specifying multiple default actions is an error; specifying
-     no actions is also an error.  Thread IDs are specified using the
-     syntax described in *note thread-id syntax::.
-
-     Currently supported actions are:
-
-    `c'
-          Continue.
-
-    `C SIG'
-          Continue with signal SIG.  The signal SIG should be two hex
-          digits.
-
-    `s'
-          Step.
-
-    `S SIG'
-          Step with signal SIG.  The signal SIG should be two hex
-          digits.
-
-    `t'
-          Stop.
-
-    `r START,END'
-          Step once, and then keep stepping as long as the thread stops
-          at addresses between START (inclusive) and END (exclusive).
-          The remote stub reports a stop reply when either the thread
-          goes out of the range or is stopped due to an unrelated
-          reason, such as hitting a breakpoint.  *Note range stepping::.
-
-          If the range is empty (START == END), then the action becomes
-          equivalent to the `s' action.  In other words, single-step
-          once, and report the stop (even if the stepped instruction
-          jumps to START).
-
-          (A stop reply may be sent at any point even if the PC is
-          still within the stepping range; for example, it is valid to
-          implement this packet in a degenerate way as a single
-          instruction step operation.)
-
-
-     The optional argument ADDR normally associated with the `c', `C',
-     `s', and `S' packets is not supported in `vCont'.
-
-     The `t' action is only relevant in non-stop mode (*note Remote
-     Non-Stop::) and may be ignored by the stub otherwise.  A stop
-     reply should be generated for any affected thread not already
-     stopped.  When a thread is stopped by means of a `t' action, the
-     corresponding stop reply should indicate that the thread has
-     stopped with signal `0', regardless of whether the target uses
-     some other signal as an implementation detail.
-
-     The stub must support `vCont' if it reports support for
-     multiprocess extensions (*note multiprocess extensions::).  Note
-     that in this case `vCont' actions can be specified to apply to all
-     threads in a process by using the `pPID.-1' form of the THREAD-ID.
-
-     Reply: *Note Stop Reply Packets::, for the reply specifications.
-
-`vCont?'
-     Request a list of actions supported by the `vCont' packet.
-
-     Reply:
-    `vCont[;ACTION...]'
-          The `vCont' packet is supported.  Each ACTION is a supported
-          command in the `vCont' packet.
-
-    `'
-          The `vCont' packet is not supported.
-
-`vFile:OPERATION:PARAMETER...'
-     Perform a file operation on the target system.  For details, see
-     *note Host I/O Packets::.
-
-`vFlashErase:ADDR,LENGTH'
-     Direct the stub to erase LENGTH bytes of flash starting at ADDR.
-     The region may enclose any number of flash blocks, but its start
-     and end must fall on block boundaries, as indicated by the flash
-     block size appearing in the memory map (*note Memory Map
-     Format::).  GDB groups flash memory programming operations
-     together, and sends a `vFlashDone' request after each group; the
-     stub is allowed to delay erase operation until the `vFlashDone'
-     packet is received.
-
-     Reply:
-    `OK'
-          for success
-
-    `E NN'
-          for an error
-
-`vFlashWrite:ADDR:XX...'
-     Direct the stub to write data to flash address ADDR.  The data is
-     passed in binary form using the same encoding as for the `X'
-     packet (*note Binary Data::).  The memory ranges specified by
-     `vFlashWrite' packets preceding a `vFlashDone' packet must not
-     overlap, and must appear in order of increasing addresses
-     (although `vFlashErase' packets for higher addresses may already
-     have been received; the ordering is guaranteed only between
-     `vFlashWrite' packets).  If a packet writes to an address that was
-     neither erased by a preceding `vFlashErase' packet nor by some
-     other target-specific method, the results are unpredictable.
-
-     Reply:
-    `OK'
-          for success
-
-    `E.memtype'
-          for vFlashWrite addressing non-flash memory
-
-    `E NN'
-          for an error
-
-`vFlashDone'
-     Indicate to the stub that flash programming operation is finished.
-     The stub is permitted to delay or batch the effects of a group of
-     `vFlashErase' and `vFlashWrite' packets until a `vFlashDone'
-     packet is received.  The contents of the affected regions of flash
-     memory are unpredictable until the `vFlashDone' request is
-     completed.
-
-`vKill;PID'
-     Kill the process with the specified process ID PID, which is a
-     hexadecimal integer identifying the process.  This packet is used
-     in preference to `k' when multiprocess protocol extensions are
-     supported; see *note multiprocess extensions::.
-
-     Reply:
-    `E NN'
-          for an error
-
-    `OK'
-          for success
-
-`vRun;FILENAME[;ARGUMENT]...'
-     Run the program FILENAME, passing it each ARGUMENT on its command
-     line.  The file and arguments are hex-encoded strings.  If
-     FILENAME is an empty string, the stub may use a default program
-     (e.g. the last program run).  The program is created in the stopped
-     state.
-
-     This packet is only available in extended mode (*note extended
-     mode::).
-
-     Reply:
-    `E NN'
-          for an error
-
-    `Any stop packet'
-          for success (*note Stop Reply Packets::)
-
-`vStopped'
-     *Note Notification Packets::.
-
-`X ADDR,LENGTH:XX...'
-     Write data to memory, where the data is transmitted in binary.
-     Memory is specified by its address ADDR and number of bytes LENGTH;
-     `XX...' is binary data (*note Binary Data::).
-
-     Reply:
-    `OK'
-          for success
-
-    `E NN'
-          for an error
-
-`z TYPE,ADDR,KIND'
-`Z TYPE,ADDR,KIND'
-     Insert (`Z') or remove (`z') a TYPE breakpoint or watchpoint
-     starting at address ADDRESS of kind KIND.
-
-     Each breakpoint and watchpoint packet TYPE is documented
-     separately.
-
-     _Implementation notes: A remote target shall return an empty string
-     for an unrecognized breakpoint or watchpoint packet TYPE.  A
-     remote target shall support either both or neither of a given
-     `ZTYPE...' and `zTYPE...' packet pair.  To avoid potential
-     problems with duplicate packets, the operations should be
-     implemented in an idempotent way._
-
-`z0,ADDR,KIND'
-`Z0,ADDR,KIND[;COND_LIST...][;cmds:PERSIST,CMD_LIST...]'
-     Insert (`Z0') or remove (`z0') a memory breakpoint at address ADDR
-     of type KIND.
-
-     A memory breakpoint is implemented by replacing the instruction at
-     ADDR with a software breakpoint or trap instruction.  The KIND is
-     target-specific and typically indicates the size of the breakpoint
-     in bytes that should be inserted.  E.g., the ARM and MIPS can
-     insert either a 2 or 4 byte breakpoint.  Some architectures have
-     additional meanings for KIND; COND_LIST is an optional list of
-     conditional expressions in bytecode form that should be evaluated
-     on the target's side.  These are the conditions that should be
-     taken into consideration when deciding if the breakpoint trigger
-     should be reported back to GDBN.
-
-     The COND_LIST parameter is comprised of a series of expressions,
-     concatenated without separators. Each expression has the following
-     form:
-
-    `X LEN,EXPR'
-          LEN is the length of the bytecode expression and EXPR is the
-          actual conditional expression in bytecode form.
-
-
-     The optional CMD_LIST parameter introduces commands that may be
-     run on the target, rather than being reported back to GDB.  The
-     parameter starts with a numeric flag PERSIST; if the flag is
-     nonzero, then the breakpoint may remain active and the commands
-     continue to be run even when GDB disconnects from the target.
-     Following this flag is a series of expressions concatenated with no
-     separators.  Each expression has the following form:
-
-    `X LEN,EXPR'
-          LEN is the length of the bytecode expression and EXPR is the
-          actual conditional expression in bytecode form.
-
-
-     see *note Architecture-Specific Protocol Details::.
-
-     _Implementation note: It is possible for a target to copy or move
-     code that contains memory breakpoints (e.g., when implementing
-     overlays).  The behavior of this packet, in the presence of such a
-     target, is not defined._
-
-     Reply:
-    `OK'
-          success
-
-    `'
-          not supported
-
-    `E NN'
-          for an error
-
-`z1,ADDR,KIND'
-`Z1,ADDR,KIND[;COND_LIST...]'
-     Insert (`Z1') or remove (`z1') a hardware breakpoint at address
-     ADDR.
-
-     A hardware breakpoint is implemented using a mechanism that is not
-     dependant on being able to modify the target's memory.  The KIND
-     and COND_LIST have the same meaning as in `Z0' packets.
-
-     _Implementation note: A hardware breakpoint is not affected by code
-     movement._
-
-     Reply:
-    `OK'
-          success
-
-    `'
-          not supported
-
-    `E NN'
-          for an error
-
-`z2,ADDR,KIND'
-`Z2,ADDR,KIND'
-     Insert (`Z2') or remove (`z2') a write watchpoint at ADDR.  The
-     number of bytes to watch is specified by KIND.
-
-     Reply:
-    `OK'
-          success
-
-    `'
-          not supported
-
-    `E NN'
-          for an error
-
-`z3,ADDR,KIND'
-`Z3,ADDR,KIND'
-     Insert (`Z3') or remove (`z3') a read watchpoint at ADDR.  The
-     number of bytes to watch is specified by KIND.
-
-     Reply:
-    `OK'
-          success
-
-    `'
-          not supported
-
-    `E NN'
-          for an error
-
-`z4,ADDR,KIND'
-`Z4,ADDR,KIND'
-     Insert (`Z4') or remove (`z4') an access watchpoint at ADDR.  The
-     number of bytes to watch is specified by KIND.
-
-     Reply:
-    `OK'
-          success
-
-    `'
-          not supported
-
-    `E NN'
-          for an error
-
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-6	2015-01-13 02:06:56.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2015-01-20 02:09:45.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * gdbserver: (gdb) Server.        The GNU debugging server.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -22,9 +22,9 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.8.1.20150113-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -38,6 +38,831 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Remote Protocol,  Next: Agent Expressions,  Prev: Maintenance Commands,  Up: Top
+
+Appendix E GDB Remote Serial Protocol
+*************************************
+
+* Menu:
+
+* Overview::
+* Packets::
+* Stop Reply Packets::
+* General Query Packets::
+* Architecture-Specific Protocol Details::
+* Tracepoint Packets::
+* Host I/O Packets::
+* Interrupts::
+* Notification Packets::
+* Remote Non-Stop::
+* Packet Acknowledgment::
+* Examples::
+* File-I/O Remote Protocol Extension::
+* Library List Format::
+* Library List Format for SVR4 Targets::
+* Memory Map Format::
+* Thread List Format::
+* Traceframe Info Format::
+* Branch Trace Format::
+
+
+File: gdb.info,  Node: Overview,  Next: Packets,  Up: Remote Protocol
+
+E.1 Overview
+============
+
+There may be occasions when you need to know something about the
+protocol--for example, if there is only one serial port to your target
+machine, you might want your program to do something special if it
+recognizes a packet meant for GDB.
+
+   In the examples below, `->' and `<-' are used to indicate
+transmitted and received data, respectively.
+
+   All GDB commands and responses (other than acknowledgments and
+notifications, see *note Notification Packets::) are sent as a PACKET.
+A PACKET is introduced with the character `$', the actual PACKET-DATA,
+and the terminating character `#' followed by a two-digit CHECKSUM:
+
+     `$'PACKET-DATA`#'CHECKSUM
+   The two-digit CHECKSUM is computed as the modulo 256 sum of all
+characters between the leading `$' and the trailing `#' (an eight bit
+unsigned checksum).
+
+   Implementors should note that prior to GDB 5.0 the protocol
+specification also included an optional two-digit SEQUENCE-ID:
+
+     `$'SEQUENCE-ID`:'PACKET-DATA`#'CHECKSUM
+
+That SEQUENCE-ID was appended to the acknowledgment.  GDB has never
+output SEQUENCE-IDs.  Stubs that handle packets added since GDB 5.0
+must not accept SEQUENCE-ID.
+
+   When either the host or the target machine receives a packet, the
+first response expected is an acknowledgment: either `+' (to indicate
+the package was received correctly) or `-' (to request retransmission):
+
+     -> `$'PACKET-DATA`#'CHECKSUM
+     <- `+'
+   The `+'/`-' acknowledgments can be disabled once a connection is
+established.  *Note Packet Acknowledgment::, for details.
+
+   The host (GDB) sends COMMANDs, and the target (the debugging stub
+incorporated in your program) sends a RESPONSE.  In the case of step
+and continue COMMANDs, the response is only sent when the operation has
+completed, and the target has again stopped all threads in all attached
+processes.  This is the default all-stop mode behavior, but the remote
+protocol also supports GDB's non-stop execution mode; see *note Remote
+Non-Stop::, for details.
+
+   PACKET-DATA consists of a sequence of characters with the exception
+of `#' and `$' (see `X' packet for additional exceptions).
+
+   Fields within the packet should be separated using `,' `;' or `:'.
+Except where otherwise noted all numbers are represented in HEX with
+leading zeros suppressed.
+
+   Implementors should note that prior to GDB 5.0, the character `:'
+could not appear as the third character in a packet (as it would
+potentially conflict with the SEQUENCE-ID).
+
+   Binary data in most packets is encoded either as two hexadecimal
+digits per byte of binary data.  This allowed the traditional remote
+protocol to work over connections which were only seven-bit clean.
+Some packets designed more recently assume an eight-bit clean
+connection, and use a more efficient encoding to send and receive
+binary data.
+
+   The binary data representation uses `7d' (ASCII `}') as an escape
+character.  Any escaped byte is transmitted as the escape character
+followed by the original character XORed with `0x20'.  For example, the
+byte `0x7d' would be transmitted as the two bytes `0x7d 0x5d'.  The
+bytes `0x23' (ASCII `#'), `0x24' (ASCII `$'), and `0x7d' (ASCII `}')
+must always be escaped.  Responses sent by the stub must also escape
+`0x2a' (ASCII `*'), so that it is not interpreted as the start of a
+run-length encoded sequence (described next).
+
+   Response DATA can be run-length encoded to save space.  Run-length
+encoding replaces runs of identical characters with one instance of the
+repeated character, followed by a `*' and a repeat count.  The repeat
+count is itself sent encoded, to avoid binary characters in DATA: a
+value of N is sent as `N+29'.  For a repeat count greater or equal to
+3, this produces a printable ASCII character, e.g. a space (ASCII code
+32) for a repeat count of 3.  (This is because run-length encoding
+starts to win for counts 3 or more.)  Thus, for example, `0* ' is a
+run-length encoding of "0000": the space character after `*' means
+repeat the leading `0' `32 - 29 = 3' more times.
+
+   The printable characters `#' and `$' or with a numeric value greater
+than 126 must not be used.  Runs of six repeats (`#') or seven repeats
+(`$') can be expanded using a repeat count of only five (`"').  For
+example, `00000000' can be encoded as `0*"00'.
+
+   The error response returned for some packets includes a two character
+error number.  That number is not well defined.
+
+   For any COMMAND not supported by the stub, an empty response
+(`$#00') should be returned.  That way it is possible to extend the
+protocol.  A newer GDB can tell if a packet is supported based on that
+response.
+
+   At a minimum, a stub is required to support the `g' and `G' commands
+for register access, and the `m' and `M' commands for memory access.
+Stubs that only control single-threaded targets can implement run
+control with the `c' (continue), and `s' (step) commands.  Stubs that
+support multi-threading targets should support the `vCont' command.
+All other commands are optional.
+
+
+File: gdb.info,  Node: Packets,  Next: Stop Reply Packets,  Prev: Overview,  Up: Remote Protocol
+
+E.2 Packets
+===========
+
+The following table provides a complete list of all currently defined
+COMMANDs and their corresponding response DATA.  *Note File-I/O Remote
+Protocol Extension::, for details about the File I/O extension of the
+remote protocol.
+
+   Each packet's description has a template showing the packet's overall
+syntax, followed by an explanation of the packet's meaning.  We include
+spaces in some of the templates for clarity; these are not part of the
+packet's syntax.  No GDB packet uses spaces to separate its components.
+For example, a template like `foo BAR BAZ' describes a packet beginning
+with the three ASCII bytes `foo', followed by a BAR, followed directly
+by a BAZ.  GDB does not transmit a space character between the `foo'
+and the BAR, or between the BAR and the BAZ.
+
+   Several packets and replies include a THREAD-ID field to identify a
+thread.  Normally these are positive numbers with a target-specific
+interpretation, formatted as big-endian hex strings.  A THREAD-ID can
+also be a literal `-1' to indicate all threads, or `0' to pick any
+thread.
+
+   In addition, the remote protocol supports a multiprocess feature in
+which the THREAD-ID syntax is extended to optionally include both
+process and thread ID fields, as `pPID.TID'.  The PID (process) and TID
+(thread) components each have the format described above: a positive
+number with target-specific interpretation formatted as a big-endian
+hex string, literal `-1' to indicate all processes or threads
+(respectively), or `0' to indicate an arbitrary process or thread.
+Specifying just a process, as `pPID', is equivalent to `pPID.-1'.  It
+is an error to specify all processes but a specific thread, such as
+`p-1.TID'.  Note that the `p' prefix is _not_ used for those packets
+and replies explicitly documented to include a process ID, rather than
+a THREAD-ID.
+
+   The multiprocess THREAD-ID syntax extensions are only used if both
+GDB and the stub report support for the `multiprocess' feature using
+`qSupported'.  *Note multiprocess extensions::, for more information.
+
+   Note that all packet forms beginning with an upper- or lower-case
+letter, other than those described here, are reserved for future use.
+
+   Here are the packet descriptions.
+
+`!'
+     Enable extended mode.  In extended mode, the remote server is made
+     persistent.  The `R' packet is used to restart the program being
+     debugged.
+
+     Reply:
+    `OK'
+          The remote target both supports and has enabled extended mode.
+
+`?'
+     Indicate the reason the target halted.  The reply is the same as
+     for step and continue.  This packet has a special interpretation
+     when the target is in non-stop mode; see *note Remote Non-Stop::.
+
+     Reply: *Note Stop Reply Packets::, for the reply specifications.
+
+`A ARGLEN,ARGNUM,ARG,...'
+     Initialized `argv[]' array passed into program. ARGLEN specifies
+     the number of bytes in the hex encoded byte stream ARG.  See
+     `gdbserver' for more details.
+
+     Reply:
+    `OK'
+          The arguments were set.
+
+    `E NN'
+          An error occurred.
+
+`b BAUD'
+     (Don't use this packet; its behavior is not well-defined.)  Change
+     the serial line speed to BAUD.
+
+     JTC: _When does the transport layer state change?  When it's
+     received, or after the ACK is transmitted.  In either case, there
+     are problems if the command or the acknowledgment packet is
+     dropped._
+
+     Stan: _If people really wanted to add something like this, and get
+     it working for the first time, they ought to modify ser-unix.c to
+     send some kind of out-of-band message to a specially-setup stub
+     and have the switch happen "in between" packets, so that from
+     remote protocol's point of view, nothing actually happened._
+
+`B ADDR,MODE'
+     Set (MODE is `S') or clear (MODE is `C') a breakpoint at ADDR.
+
+     Don't use this packet.  Use the `Z' and `z' packets instead (*note
+     insert breakpoint or watchpoint packet::).
+
+`bc'
+     Backward continue.  Execute the target system in reverse.  No
+     parameter.  *Note Reverse Execution::, for more information.
+
+     Reply: *Note Stop Reply Packets::, for the reply specifications.
+
+`bs'
+     Backward single step.  Execute one instruction in reverse.  No
+     parameter.  *Note Reverse Execution::, for more information.
+
+     Reply: *Note Stop Reply Packets::, for the reply specifications.
+
+`c [ADDR]'
+     Continue at ADDR, which is the address to resume.  If ADDR is
+     omitted, resume at current address.
+
+     This packet is deprecated for multi-threading support.  *Note
+     vCont packet::.
+
+     Reply: *Note Stop Reply Packets::, for the reply specifications.
+
+`C SIG[;ADDR]'
+     Continue with signal SIG (hex signal number).  If `;ADDR' is
+     omitted, resume at same address.
+
+     This packet is deprecated for multi-threading support.  *Note
+     vCont packet::.
+
+     Reply: *Note Stop Reply Packets::, for the reply specifications.
+
+`d'
+     Toggle debug flag.
+
+     Don't use this packet; instead, define a general set packet (*note
+     General Query Packets::).
+
+`D'
+`D;PID'
+     The first form of the packet is used to detach GDB from the remote
+     system.  It is sent to the remote target before GDB disconnects
+     via the `detach' command.
+
+     The second form, including a process ID, is used when multiprocess
+     protocol extensions are enabled (*note multiprocess extensions::),
+     to detach only a specific process.  The PID is specified as a
+     big-endian hex string.
+
+     Reply:
+    `OK'
+          for success
+
+    `E NN'
+          for an error
+
+`F RC,EE,CF;XX'
+     A reply from GDB to an `F' packet sent by the target.  This is
+     part of the File-I/O protocol extension.  *Note File-I/O Remote
+     Protocol Extension::, for the specification.
+
+`g'
+     Read general registers.
+
+     Reply:
+    `XX...'
+          Each byte of register data is described by two hex digits.
+          The bytes with the register are transmitted in target byte
+          order.  The size of each register and their position within
+          the `g' packet are determined by the GDB internal gdbarch
+          functions `DEPRECATED_REGISTER_RAW_SIZE' and
+          `gdbarch_register_name'.  The specification of several
+          standard `g' packets is specified below.
+
+          When reading registers from a trace frame (*note Using the
+          Collected Data: Analyze Collected Data.), the stub may also
+          return a string of literal `x''s in place of the register
+          data digits, to indicate that the corresponding register has
+          not been collected, thus its value is unavailable.  For
+          example, for an architecture with 4 registers of 4 bytes
+          each, the following reply indicates to GDB that registers 0
+          and 2 have not been collected, while registers 1 and 3 have
+          been collected, and both have zero value:
+
+               -> `g'
+               <- `xxxxxxxx00000000xxxxxxxx00000000'
+
+    `E NN'
+          for an error.
+
+`G XX...'
+     Write general registers.  *Note read registers packet::, for a
+     description of the XX... data.
+
+     Reply:
+    `OK'
+          for success
+
+    `E NN'
+          for an error
+
+`H OP THREAD-ID'
+     Set thread for subsequent operations (`m', `M', `g', `G', et.al.).
+     Depending on the operation to be performed, OP should be `c' for
+     step and continue operations (note that this is deprecated,
+     supporting the `vCont' command is a better option), and `g' for
+     other operations.  The thread designator THREAD-ID has the format
+     and interpretation described in *note thread-id syntax::.
+
+     Reply:
+    `OK'
+          for success
+
+    `E NN'
+          for an error
+
+`i [ADDR[,NNN]]'
+     Step the remote target by a single clock cycle.  If `,NNN' is
+     present, cycle step NNN cycles.  If ADDR is present, cycle step
+     starting at that address.
+
+`I'
+     Signal, then cycle step.  *Note step with signal packet::.  *Note
+     cycle step packet::.
+
+`k'
+     Kill request.
+
+     The exact effect of this packet is not specified.
+
+     For a bare-metal target, it may power cycle or reset the target
+     system.  For that reason, the `k' packet has no reply.
+
+     For a single-process target, it may kill that process if possible.
+
+     A multiple-process target may choose to kill just one process, or
+     all that are under GDB's control.  For more precise control, use
+     the vKill packet (*note vKill packet::).
+
+     If the target system immediately closes the connection in response
+     to `k', GDB does not consider the lack of packet acknowledgment to
+     be an error, and assumes the kill was successful.
+
+     If connected using `target extended-remote', and the target does
+     not close the connection in response to a kill request, GDB probes
+     the target state as if a new connection was opened (*note ?
+     packet::).
+
+`m ADDR,LENGTH'
+     Read LENGTH bytes of memory starting at address ADDR.  Note that
+     ADDR may not be aligned to any particular boundary.
+
+     The stub need not use any particular size or alignment when
+     gathering data from memory for the response; even if ADDR is
+     word-aligned and LENGTH is a multiple of the word size, the stub
+     is free to use byte accesses, or not.  For this reason, this
+     packet may not be suitable for accessing memory-mapped I/O devices.  
+
+     Reply:
+    `XX...'
+          Memory contents; each byte is transmitted as a two-digit
+          hexadecimal number.  The reply may contain fewer bytes than
+          requested if the server was able to read only part of the
+          region of memory.
+
+    `E NN'
+          NN is errno
+
+`M ADDR,LENGTH:XX...'
+     Write LENGTH bytes of memory starting at address ADDR.  The data
+     is given by XX...; each byte is transmitted as a two-digit
+     hexadecimal number.
+
+     Reply:
+    `OK'
+          for success
+
+    `E NN'
+          for an error (this includes the case where only part of the
+          data was written).
+
+`p N'
+     Read the value of register N; N is in hex.  *Note read registers
+     packet::, for a description of how the returned register value is
+     encoded.
+
+     Reply:
+    `XX...'
+          the register's value
+
+    `E NN'
+          for an error
+
+    `'
+          Indicating an unrecognized QUERY.
+
+`P N...=R...'
+     Write register N... with value R....  The register number N is in
+     hexadecimal, and R... contains two hex digits for each byte in the
+     register (target byte order).
+
+     Reply:
+    `OK'
+          for success
+
+    `E NN'
+          for an error
+
+`q NAME PARAMS...'
+`Q NAME PARAMS...'
+     General query (`q') and set (`Q').  These packets are described
+     fully in *note General Query Packets::.
+
+`r'
+     Reset the entire system.
+
+     Don't use this packet; use the `R' packet instead.
+
+`R XX'
+     Restart the program being debugged.  The XX, while needed, is
+     ignored.  This packet is only available in extended mode (*note
+     extended mode::).
+
+     The `R' packet has no reply.
+
+`s [ADDR]'
+     Single step, resuming at ADDR.  If ADDR is omitted, resume at same
+     address.
+
+     This packet is deprecated for multi-threading support.  *Note
+     vCont packet::.
+
+     Reply: *Note Stop Reply Packets::, for the reply specifications.
+
+`S SIG[;ADDR]'
+     Step with signal.  This is analogous to the `C' packet, but
+     requests a single-step, rather than a normal resumption of
+     execution.
+
+     This packet is deprecated for multi-threading support.  *Note
+     vCont packet::.
+
+     Reply: *Note Stop Reply Packets::, for the reply specifications.
+
+`t ADDR:PP,MM'
+     Search backwards starting at address ADDR for a match with pattern
+     PP and mask MM, both of which are are 4 byte long.  There must be
+     at least 3 digits in ADDR.
+
+`T THREAD-ID'
+     Find out if the thread THREAD-ID is alive.  *Note thread-id
+     syntax::.
+
+     Reply:
+    `OK'
+          thread is still alive
+
+    `E NN'
+          thread is dead
+
+`v'
+     Packets starting with `v' are identified by a multi-letter name,
+     up to the first `;' or `?' (or the end of the packet).
+
+`vAttach;PID'
+     Attach to a new process with the specified process ID PID.  The
+     process ID is a hexadecimal integer identifying the process.  In
+     all-stop mode, all threads in the attached process are stopped; in
+     non-stop mode, it may be attached without being stopped if that is
+     supported by the target.
+
+     This packet is only available in extended mode (*note extended
+     mode::).
+
+     Reply:
+    `E NN'
+          for an error
+
+    `Any stop packet'
+          for success in all-stop mode (*note Stop Reply Packets::)
+
+    `OK'
+          for success in non-stop mode (*note Remote Non-Stop::)
+
+`vCont[;ACTION[:THREAD-ID]]...'
+     Resume the inferior, specifying different actions for each thread.
+     If an action is specified with no THREAD-ID, then it is applied to
+     any threads that don't have a specific action specified; if no
+     default action is specified then other threads should remain
+     stopped in all-stop mode and in their current state in non-stop
+     mode.  Specifying multiple default actions is an error; specifying
+     no actions is also an error.  Thread IDs are specified using the
+     syntax described in *note thread-id syntax::.
+
+     Currently supported actions are:
+
+    `c'
+          Continue.
+
+    `C SIG'
+          Continue with signal SIG.  The signal SIG should be two hex
+          digits.
+
+    `s'
+          Step.
+
+    `S SIG'
+          Step with signal SIG.  The signal SIG should be two hex
+          digits.
+
+    `t'
+          Stop.
+
+    `r START,END'
+          Step once, and then keep stepping as long as the thread stops
+          at addresses between START (inclusive) and END (exclusive).
+          The remote stub reports a stop reply when either the thread
+          goes out of the range or is stopped due to an unrelated
+          reason, such as hitting a breakpoint.  *Note range stepping::.
+
+          If the range is empty (START == END), then the action becomes
+          equivalent to the `s' action.  In other words, single-step
+          once, and report the stop (even if the stepped instruction
+          jumps to START).
+
+          (A stop reply may be sent at any point even if the PC is
+          still within the stepping range; for example, it is valid to
+          implement this packet in a degenerate way as a single
+          instruction step operation.)
+
+
+     The optional argument ADDR normally associated with the `c', `C',
+     `s', and `S' packets is not supported in `vCont'.
+
+     The `t' action is only relevant in non-stop mode (*note Remote
+     Non-Stop::) and may be ignored by the stub otherwise.  A stop
+     reply should be generated for any affected thread not already
+     stopped.  When a thread is stopped by means of a `t' action, the
+     corresponding stop reply should indicate that the thread has
+     stopped with signal `0', regardless of whether the target uses
+     some other signal as an implementation detail.
+
+     The stub must support `vCont' if it reports support for
+     multiprocess extensions (*note multiprocess extensions::).  Note
+     that in this case `vCont' actions can be specified to apply to all
+     threads in a process by using the `pPID.-1' form of the THREAD-ID.
+
+     Reply: *Note Stop Reply Packets::, for the reply specifications.
+
+`vCont?'
+     Request a list of actions supported by the `vCont' packet.
+
+     Reply:
+    `vCont[;ACTION...]'
+          The `vCont' packet is supported.  Each ACTION is a supported
+          command in the `vCont' packet.
+
+    `'
+          The `vCont' packet is not supported.
+
+`vFile:OPERATION:PARAMETER...'
+     Perform a file operation on the target system.  For details, see
+     *note Host I/O Packets::.
+
+`vFlashErase:ADDR,LENGTH'
+     Direct the stub to erase LENGTH bytes of flash starting at ADDR.
+     The region may enclose any number of flash blocks, but its start
+     and end must fall on block boundaries, as indicated by the flash
+     block size appearing in the memory map (*note Memory Map
+     Format::).  GDB groups flash memory programming operations
+     together, and sends a `vFlashDone' request after each group; the
+     stub is allowed to delay erase operation until the `vFlashDone'
+     packet is received.
+
+     Reply:
+    `OK'
+          for success
+
+    `E NN'
+          for an error
+
+`vFlashWrite:ADDR:XX...'
+     Direct the stub to write data to flash address ADDR.  The data is
+     passed in binary form using the same encoding as for the `X'
+     packet (*note Binary Data::).  The memory ranges specified by
+     `vFlashWrite' packets preceding a `vFlashDone' packet must not
+     overlap, and must appear in order of increasing addresses
+     (although `vFlashErase' packets for higher addresses may already
+     have been received; the ordering is guaranteed only between
+     `vFlashWrite' packets).  If a packet writes to an address that was
+     neither erased by a preceding `vFlashErase' packet nor by some
+     other target-specific method, the results are unpredictable.
+
+     Reply:
+    `OK'
+          for success
+
+    `E.memtype'
+          for vFlashWrite addressing non-flash memory
+
+    `E NN'
+          for an error
+
+`vFlashDone'
+     Indicate to the stub that flash programming operation is finished.
+     The stub is permitted to delay or batch the effects of a group of
+     `vFlashErase' and `vFlashWrite' packets until a `vFlashDone'
+     packet is received.  The contents of the affected regions of flash
+     memory are unpredictable until the `vFlashDone' request is
+     completed.
+
+`vKill;PID'
+     Kill the process with the specified process ID PID, which is a
+     hexadecimal integer identifying the process.  This packet is used
+     in preference to `k' when multiprocess protocol extensions are
+     supported; see *note multiprocess extensions::.
+
+     Reply:
+    `E NN'
+          for an error
+
+    `OK'
+          for success
+
+`vRun;FILENAME[;ARGUMENT]...'
+     Run the program FILENAME, passing it each ARGUMENT on its command
+     line.  The file and arguments are hex-encoded strings.  If
+     FILENAME is an empty string, the stub may use a default program
+     (e.g. the last program run).  The program is created in the stopped
+     state.
+
+     This packet is only available in extended mode (*note extended
+     mode::).
+
+     Reply:
+    `E NN'
+          for an error
+
+    `Any stop packet'
+          for success (*note Stop Reply Packets::)
+
+`vStopped'
+     *Note Notification Packets::.
+
+`X ADDR,LENGTH:XX...'
+     Write data to memory, where the data is transmitted in binary.
+     Memory is specified by its address ADDR and number of bytes LENGTH;
+     `XX...' is binary data (*note Binary Data::).
+
+     Reply:
+    `OK'
+          for success
+
+    `E NN'
+          for an error
+
+`z TYPE,ADDR,KIND'
+`Z TYPE,ADDR,KIND'
+     Insert (`Z') or remove (`z') a TYPE breakpoint or watchpoint
+     starting at address ADDRESS of kind KIND.
+
+     Each breakpoint and watchpoint packet TYPE is documented
+     separately.
+
+     _Implementation notes: A remote target shall return an empty string
+     for an unrecognized breakpoint or watchpoint packet TYPE.  A
+     remote target shall support either both or neither of a given
+     `ZTYPE...' and `zTYPE...' packet pair.  To avoid potential
+     problems with duplicate packets, the operations should be
+     implemented in an idempotent way._
+
+`z0,ADDR,KIND'
+`Z0,ADDR,KIND[;COND_LIST...][;cmds:PERSIST,CMD_LIST...]'
+     Insert (`Z0') or remove (`z0') a memory breakpoint at address ADDR
+     of type KIND.
+
+     A memory breakpoint is implemented by replacing the instruction at
+     ADDR with a software breakpoint or trap instruction.  The KIND is
+     target-specific and typically indicates the size of the breakpoint
+     in bytes that should be inserted.  E.g., the ARM and MIPS can
+     insert either a 2 or 4 byte breakpoint.  Some architectures have
+     additional meanings for KIND; COND_LIST is an optional list of
+     conditional expressions in bytecode form that should be evaluated
+     on the target's side.  These are the conditions that should be
+     taken into consideration when deciding if the breakpoint trigger
+     should be reported back to GDBN.
+
+     The COND_LIST parameter is comprised of a series of expressions,
+     concatenated without separators. Each expression has the following
+     form:
+
+    `X LEN,EXPR'
+          LEN is the length of the bytecode expression and EXPR is the
+          actual conditional expression in bytecode form.
+
+
+     The optional CMD_LIST parameter introduces commands that may be
+     run on the target, rather than being reported back to GDB.  The
+     parameter starts with a numeric flag PERSIST; if the flag is
+     nonzero, then the breakpoint may remain active and the commands
+     continue to be run even when GDB disconnects from the target.
+     Following this flag is a series of expressions concatenated with no
+     separators.  Each expression has the following form:
+
+    `X LEN,EXPR'
+          LEN is the length of the bytecode expression and EXPR is the
+          actual conditional expression in bytecode form.
+
+
+     see *note Architecture-Specific Protocol Details::.
+
+     _Implementation note: It is possible for a target to copy or move
+     code that contains memory breakpoints (e.g., when implementing
+     overlays).  The behavior of this packet, in the presence of such a
+     target, is not defined._
+
+     Reply:
+    `OK'
+          success
+
+    `'
+          not supported
+
+    `E NN'
+          for an error
+
+`z1,ADDR,KIND'
+`Z1,ADDR,KIND[;COND_LIST...]'
+     Insert (`Z1') or remove (`z1') a hardware breakpoint at address
+     ADDR.
+
+     A hardware breakpoint is implemented using a mechanism that is not
+     dependant on being able to modify the target's memory.  The KIND
+     and COND_LIST have the same meaning as in `Z0' packets.
+
+     _Implementation note: A hardware breakpoint is not affected by code
+     movement._
+
+     Reply:
+    `OK'
+          success
+
+    `'
+          not supported
+
+    `E NN'
+          for an error
+
+`z2,ADDR,KIND'
+`Z2,ADDR,KIND'
+     Insert (`Z2') or remove (`z2') a write watchpoint at ADDR.  The
+     number of bytes to watch is specified by KIND.
+
+     Reply:
+    `OK'
+          success
+
+    `'
+          not supported
+
+    `E NN'
+          for an error
+
+`z3,ADDR,KIND'
+`Z3,ADDR,KIND'
+     Insert (`Z3') or remove (`z3') a read watchpoint at ADDR.  The
+     number of bytes to watch is specified by KIND.
+
+     Reply:
+    `OK'
+          success
+
+    `'
+          not supported
+
+    `E NN'
+          for an error
+
+`z4,ADDR,KIND'
+`Z4,ADDR,KIND'
+     Insert (`Z4') or remove (`z4') an access watchpoint at ADDR.  The
+     number of bytes to watch is specified by KIND.
+
+     Reply:
+    `OK'
+          success
+
+    `'
+          not supported
+
+    `E NN'
+          for an error
+
+
+
 File: gdb.info,  Node: Stop Reply Packets,  Next: General Query Packets,  Prev: Packets,  Up: Remote Protocol
 
 E.3 Stop Reply Packets
@@ -4687,6 +5512,7 @@ using the capitalization used in the des
 * AArch64 Features::
 * ARM Features::
 * i386 Features::
+* MicroBlaze Features::
 * MIPS Features::
 * M68K Features::
 * Nios II Features::
@@ -4742,7 +5568,7 @@ from pairs of double-precision registers
 double-precision registers.
 
 
-File: gdb.info,  Node: i386 Features,  Next: MIPS Features,  Prev: ARM Features,  Up: Standard Target Features
+File: gdb.info,  Node: i386 Features,  Next: MicroBlaze Features,  Prev: ARM Features,  Up: Standard Target Features
 
 G.4.3 i386 Features
 -------------------
@@ -4812,9 +5638,24 @@ registers:
    - `zmm16h' through `zmm31h', only valid for amd64.
 
 
-File: gdb.info,  Node: MIPS Features,  Next: M68K Features,  Prev: i386 Features,  Up: Standard Target Features
+File: gdb.info,  Node: MicroBlaze Features,  Next: MIPS Features,  Prev: i386 Features,  Up: Standard Target Features
+
+G.4.4 MicroBlaze Features
+-------------------------
+
+The `org.gnu.gdb.microblaze.core' feature is required for MicroBlaze
+targets.  It should contain registers `r0' through `r31', `rpc',
+`rmsr', `rear', `resr', `rfsr', `rbtr', `rpvr', `rpvr1' through
+`rpvr11', `redr', `rpid', `rzpr', `rtlbx', `rtlbsx', `rtlblo', and
+`rtlbhi'.
+
+   The `org.gnu.gdb.microblaze.stack-protect' feature is optional.  If
+present, it should contain registers `rshr' and `rslr'
+
+
+File: gdb.info,  Node: MIPS Features,  Next: M68K Features,  Prev: MicroBlaze Features,  Up: Standard Target Features
 
-G.4.4 MIPS Features
+G.4.5 MIPS Features
 -------------------
 
 The `org.gnu.gdb.mips.cpu' feature is required for MIPS targets.  It
@@ -4842,7 +5683,7 @@ control restartable syscalls.
 
 File: gdb.info,  Node: M68K Features,  Next: Nios II Features,  Prev: MIPS Features,  Up: Standard Target Features
 
-G.4.5 M68K Features
+G.4.6 M68K Features
 -------------------
 
 ``org.gnu.gdb.m68k.core''
@@ -4860,7 +5701,7 @@ G.4.5 M68K Features
 
 File: gdb.info,  Node: Nios II Features,  Next: PowerPC Features,  Prev: M68K Features,  Up: Standard Target Features
 
-G.4.6 Nios II Features
+G.4.7 Nios II Features
 ----------------------
 
 The `org.gnu.gdb.nios2.cpu' feature is required for Nios II targets.
@@ -4871,7 +5712,7 @@ through `mpuacc').
 
 File: gdb.info,  Node: PowerPC Features,  Next: S/390 and System z Features,  Prev: Nios II Features,  Up: Standard Target Features
 
-G.4.7 PowerPC Features
+G.4.8 PowerPC Features
 ----------------------
 
 The `org.gnu.gdb.power.core' feature is required for PowerPC targets.
@@ -4900,7 +5741,7 @@ present registers `ev0' through `ev31' t
 
 File: gdb.info,  Node: S/390 and System z Features,  Next: TIC6x Features,  Prev: PowerPC Features,  Up: Standard Target Features
 
-G.4.8 S/390 and System z Features
+G.4.9 S/390 and System z Features
 ---------------------------------
 
 The `org.gnu.gdb.s390.core' feature is required for S/390 and System z
@@ -4931,8 +5772,8 @@ the 64-bit registers `tdb0', `tac', `tct
 
 File: gdb.info,  Node: TIC6x Features,  Prev: S/390 and System z Features,  Up: Standard Target Features
 
-G.4.9 TMS320C6x Features
-------------------------
+G.4.10 TMS320C6x Features
+-------------------------
 
 The `org.gnu.gdb.tic6x.core' feature is required for TMS320C6x targets.
 It should contain registers `A0' through `A15', registers `B0' through
@@ -6424,489 +7265,3 @@ applications with the library.  If this 
 GNU Lesser General Public License instead of this License.  But first,
 please read `http://www.gnu.org/philosophy/why-not-lgpl.html'.
 
-
-File: gdb.info,  Node: GNU Free Documentation License,  Next: Concept Index,  Prev: Copying,  Up: Top
-
-Appendix M GNU Free Documentation License
-*****************************************
-
-                     Version 1.3, 3 November 2008
-
-     Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-     `http://fsf.org/'
-
-     Everyone is permitted to copy and distribute verbatim copies
-     of this license document, but changing it is not allowed.
-
-  0. PREAMBLE
-
-     The purpose of this License is to make a manual, textbook, or other
-     functional and useful document "free" in the sense of freedom: to
-     assure everyone the effective freedom to copy and redistribute it,
-     with or without modifying it, either commercially or
-     noncommercially.  Secondarily, this License preserves for the
-     author and publisher a way to get credit for their work, while not
-     being considered responsible for modifications made by others.
-
-     This License is a kind of "copyleft", which means that derivative
-     works of the document must themselves be free in the same sense.
-     It complements the GNU General Public License, which is a copyleft
-     license designed for free software.
-
-     We have designed this License in order to use it for manuals for
-     free software, because free software needs free documentation: a
-     free program should come with manuals providing the same freedoms
-     that the software does.  But this License is not limited to
-     software manuals; it can be used for any textual work, regardless
-     of subject matter or whether it is published as a printed book.
-     We recommend this License principally for works whose purpose is
-     instruction or reference.
-
-  1. APPLICABILITY AND DEFINITIONS
-
-     This License applies to any manual or other work, in any medium,
-     that contains a notice placed by the copyright holder saying it
-     can be distributed under the terms of this License.  Such a notice
-     grants a world-wide, royalty-free license, unlimited in duration,
-     to use that work under the conditions stated herein.  The
-     "Document", below, refers to any such manual or work.  Any member
-     of the public is a licensee, and is addressed as "you".  You
-     accept the license if you copy, modify or distribute the work in a
-     way requiring permission under copyright law.
-
-     A "Modified Version" of the Document means any work containing the
-     Document or a portion of it, either copied verbatim, or with
-     modifications and/or translated into another language.
-
-     A "Secondary Section" is a named appendix or a front-matter section
-     of the Document that deals exclusively with the relationship of the
-     publishers or authors of the Document to the Document's overall
-     subject (or to related matters) and contains nothing that could
-     fall directly within that overall subject.  (Thus, if the Document
-     is in part a textbook of mathematics, a Secondary Section may not
-     explain any mathematics.)  The relationship could be a matter of
-     historical connection with the subject or with related matters, or
-     of legal, commercial, philosophical, ethical or political position
-     regarding them.
-
-     The "Invariant Sections" are certain Secondary Sections whose
-     titles are designated, as being those of Invariant Sections, in
-     the notice that says that the Document is released under this
-     License.  If a section does not fit the above definition of
-     Secondary then it is not allowed to be designated as Invariant.
-     The Document may contain zero Invariant Sections.  If the Document
-     does not identify any Invariant Sections then there are none.
-
-     The "Cover Texts" are certain short passages of text that are
-     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
-     that says that the Document is released under this License.  A
-     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
-     be at most 25 words.
-
-     A "Transparent" copy of the Document means a machine-readable copy,
-     represented in a format whose specification is available to the
-     general public, that is suitable for revising the document
-     straightforwardly with generic text editors or (for images
-     composed of pixels) generic paint programs or (for drawings) some
-     widely available drawing editor, and that is suitable for input to
-     text formatters or for automatic translation to a variety of
-     formats suitable for input to text formatters.  A copy made in an
-     otherwise Transparent file format whose markup, or absence of
-     markup, has been arranged to thwart or discourage subsequent
-     modification by readers is not Transparent.  An image format is
-     not Transparent if used for any substantial amount of text.  A
-     copy that is not "Transparent" is called "Opaque".
-
-     Examples of suitable formats for Transparent copies include plain
-     ASCII without markup, Texinfo input format, LaTeX input format,
-     SGML or XML using a publicly available DTD, and
-     standard-conforming simple HTML, PostScript or PDF designed for
-     human modification.  Examples of transparent image formats include
-     PNG, XCF and JPG.  Opaque formats include proprietary formats that
-     can be read and edited only by proprietary word processors, SGML or
-     XML for which the DTD and/or processing tools are not generally
-     available, and the machine-generated HTML, PostScript or PDF
-     produced by some word processors for output purposes only.
-
-     The "Title Page" means, for a printed book, the title page itself,
-     plus such following pages as are needed to hold, legibly, the
-     material this License requires to appear in the title page.  For
-     works in formats which do not have any title page as such, "Title
-     Page" means the text near the most prominent appearance of the
-     work's title, preceding the beginning of the body of the text.
-
-     The "publisher" means any person or entity that distributes copies
-     of the Document to the public.
-
-     A section "Entitled XYZ" means a named subunit of the Document
-     whose title either is precisely XYZ or contains XYZ in parentheses
-     following text that translates XYZ in another language.  (Here XYZ
-     stands for a specific section name mentioned below, such as
-     "Acknowledgements", "Dedications", "Endorsements", or "History".)
-     To "Preserve the Title" of such a section when you modify the
-     Document means that it remains a section "Entitled XYZ" according
-     to this definition.
-
-     The Document may include Warranty Disclaimers next to the notice
-     which states that this License applies to the Document.  These
-     Warranty Disclaimers are considered to be included by reference in
-     this License, but only as regards disclaiming warranties: any other
-     implication that these Warranty Disclaimers may have is void and
-     has no effect on the meaning of this License.
-
-  2. VERBATIM COPYING
-
-     You may copy and distribute the Document in any medium, either
-     commercially or noncommercially, provided that this License, the
-     copyright notices, and the license notice saying this License
-     applies to the Document are reproduced in all copies, and that you
-     add no other conditions whatsoever to those of this License.  You
-     may not use technical measures to obstruct or control the reading
-     or further copying of the copies you make or distribute.  However,
-     you may accept compensation in exchange for copies.  If you
-     distribute a large enough number of copies you must also follow
-     the conditions in section 3.
-
-     You may also lend copies, under the same conditions stated above,
-     and you may publicly display copies.
-
-  3. COPYING IN QUANTITY
-
-     If you publish printed copies (or copies in media that commonly
-     have printed covers) of the Document, numbering more than 100, and
-     the Document's license notice requires Cover Texts, you must
-     enclose the copies in covers that carry, clearly and legibly, all
-     these Cover Texts: Front-Cover Texts on the front cover, and
-     Back-Cover Texts on the back cover.  Both covers must also clearly
-     and legibly identify you as the publisher of these copies.  The
-     front cover must present the full title with all words of the
-     title equally prominent and visible.  You may add other material
-     on the covers in addition.  Copying with changes limited to the
-     covers, as long as they preserve the title of the Document and
-     satisfy these conditions, can be treated as verbatim copying in
-     other respects.
-
-     If the required texts for either cover are too voluminous to fit
-     legibly, you should put the first ones listed (as many as fit
-     reasonably) on the actual cover, and continue the rest onto
-     adjacent pages.
-
-     If you publish or distribute Opaque copies of the Document
-     numbering more than 100, you must either include a
-     machine-readable Transparent copy along with each Opaque copy, or
-     state in or with each Opaque copy a computer-network location from
-     which the general network-using public has access to download
-     using public-standard network protocols a complete Transparent
-     copy of the Document, free of added material.  If you use the
-     latter option, you must take reasonably prudent steps, when you
-     begin distribution of Opaque copies in quantity, to ensure that
-     this Transparent copy will remain thus accessible at the stated
-     location until at least one year after the last time you
-     distribute an Opaque copy (directly or through your agents or
-     retailers) of that edition to the public.
-
-     It is requested, but not required, that you contact the authors of
-     the Document well before redistributing any large number of
-     copies, to give them a chance to provide you with an updated
-     version of the Document.
-
-  4. MODIFICATIONS
-
-     You may copy and distribute a Modified Version of the Document
-     under the conditions of sections 2 and 3 above, provided that you
-     release the Modified Version under precisely this License, with
-     the Modified Version filling the role of the Document, thus
-     licensing distribution and modification of the Modified Version to
-     whoever possesses a copy of it.  In addition, you must do these
-     things in the Modified Version:
-
-       A. Use in the Title Page (and on the covers, if any) a title
-          distinct from that of the Document, and from those of
-          previous versions (which should, if there were any, be listed
-          in the History section of the Document).  You may use the
-          same title as a previous version if the original publisher of
-          that version gives permission.
-
-       B. List on the Title Page, as authors, one or more persons or
-          entities responsible for authorship of the modifications in
-          the Modified Version, together with at least five of the
-          principal authors of the Document (all of its principal
-          authors, if it has fewer than five), unless they release you
-          from this requirement.
-
-       C. State on the Title page the name of the publisher of the
-          Modified Version, as the publisher.
-
-       D. Preserve all the copyright notices of the Document.
-
-       E. Add an appropriate copyright notice for your modifications
-          adjacent to the other copyright notices.
-
-       F. Include, immediately after the copyright notices, a license
-          notice giving the public permission to use the Modified
-          Version under the terms of this License, in the form shown in
-          the Addendum below.
-
-       G. Preserve in that license notice the full lists of Invariant
-          Sections and required Cover Texts given in the Document's
-          license notice.
-
-       H. Include an unaltered copy of this License.
-
-       I. Preserve the section Entitled "History", Preserve its Title,
-          and add to it an item stating at least the title, year, new
-          authors, and publisher of the Modified Version as given on
-          the Title Page.  If there is no section Entitled "History" in
-          the Document, create one stating the title, year, authors,
-          and publisher of the Document as given on its Title Page,
-          then add an item describing the Modified Version as stated in
-          the previous sentence.
-
-       J. Preserve the network location, if any, given in the Document
-          for public access to a Transparent copy of the Document, and
-          likewise the network locations given in the Document for
-          previous versions it was based on.  These may be placed in
-          the "History" section.  You may omit a network location for a
-          work that was published at least four years before the
-          Document itself, or if the original publisher of the version
-          it refers to gives permission.
-
-       K. For any section Entitled "Acknowledgements" or "Dedications",
-          Preserve the Title of the section, and preserve in the
-          section all the substance and tone of each of the contributor
-          acknowledgements and/or dedications given therein.
-
-       L. Preserve all the Invariant Sections of the Document,
-          unaltered in their text and in their titles.  Section numbers
-          or the equivalent are not considered part of the section
-          titles.
-
-       M. Delete any section Entitled "Endorsements".  Such a section
-          may not be included in the Modified Version.
-
-       N. Do not retitle any existing section to be Entitled
-          "Endorsements" or to conflict in title with any Invariant
-          Section.
-
-       O. Preserve any Warranty Disclaimers.
-
-     If the Modified Version includes new front-matter sections or
-     appendices that qualify as Secondary Sections and contain no
-     material copied from the Document, you may at your option
-     designate some or all of these sections as invariant.  To do this,
-     add their titles to the list of Invariant Sections in the Modified
-     Version's license notice.  These titles must be distinct from any
-     other section titles.
-
-     You may add a section Entitled "Endorsements", provided it contains
-     nothing but endorsements of your Modified Version by various
-     parties--for example, statements of peer review or that the text
-     has been approved by an organization as the authoritative
-     definition of a standard.
-
-     You may add a passage of up to five words as a Front-Cover Text,
-     and a passage of up to 25 words as a Back-Cover Text, to the end
-     of the list of Cover Texts in the Modified Version.  Only one
-     passage of Front-Cover Text and one of Back-Cover Text may be
-     added by (or through arrangements made by) any one entity.  If the
-     Document already includes a cover text for the same cover,
-     previously added by you or by arrangement made by the same entity
-     you are acting on behalf of, you may not add another; but you may
-     replace the old one, on explicit permission from the previous
-     publisher that added the old one.
-
-     The author(s) and publisher(s) of the Document do not by this
-     License give permission to use their names for publicity for or to
-     assert or imply endorsement of any Modified Version.
-
-  5. COMBINING DOCUMENTS
-
-     You may combine the Document with other documents released under
-     this License, under the terms defined in section 4 above for
-     modified versions, provided that you include in the combination
-     all of the Invariant Sections of all of the original documents,
-     unmodified, and list them all as Invariant Sections of your
-     combined work in its license notice, and that you preserve all
-     their Warranty Disclaimers.
-
-     The combined work need only contain one copy of this License, and
-     multiple identical Invariant Sections may be replaced with a single
-     copy.  If there are multiple Invariant Sections with the same name
-     but different contents, make the title of each such section unique
-     by adding at the end of it, in parentheses, the name of the
-     original author or publisher of that section if known, or else a
-     unique number.  Make the same adjustment to the section titles in
-     the list of Invariant Sections in the license notice of the
-     combined work.
-
-     In the combination, you must combine any sections Entitled
-     "History" in the various original documents, forming one section
-     Entitled "History"; likewise combine any sections Entitled
-     "Acknowledgements", and any sections Entitled "Dedications".  You
-     must delete all sections Entitled "Endorsements."
-
-  6. COLLECTIONS OF DOCUMENTS
-
-     You may make a collection consisting of the Document and other
-     documents released under this License, and replace the individual
-     copies of this License in the various documents with a single copy
-     that is included in the collection, provided that you follow the
-     rules of this License for verbatim copying of each of the
-     documents in all other respects.
-
-     You may extract a single document from such a collection, and
-     distribute it individually under this License, provided you insert
-     a copy of this License into the extracted document, and follow
-     this License in all other respects regarding verbatim copying of
-     that document.
-
-  7. AGGREGATION WITH INDEPENDENT WORKS
-
-     A compilation of the Document or its derivatives with other
-     separate and independent documents or works, in or on a volume of
-     a storage or distribution medium, is called an "aggregate" if the
-     copyright resulting from the compilation is not used to limit the
-     legal rights of the compilation's users beyond what the individual
-     works permit.  When the Document is included in an aggregate, this
-     License does not apply to the other works in the aggregate which
-     are not themselves derivative works of the Document.
-
-     If the Cover Text requirement of section 3 is applicable to these
-     copies of the Document, then if the Document is less than one half
-     of the entire aggregate, the Document's Cover Texts may be placed
-     on covers that bracket the Document within the aggregate, or the
-     electronic equivalent of covers if the Document is in electronic
-     form.  Otherwise they must appear on printed covers that bracket
-     the whole aggregate.
-
-  8. TRANSLATION
-
-     Translation is considered a kind of modification, so you may
-     distribute translations of the Document under the terms of section
-     4.  Replacing Invariant Sections with translations requires special
-     permission from their copyright holders, but you may include
-     translations of some or all Invariant Sections in addition to the
-     original versions of these Invariant Sections.  You may include a
-     translation of this License, and all the license notices in the
-     Document, and any Warranty Disclaimers, provided that you also
-     include the original English version of this License and the
-     original versions of those notices and disclaimers.  In case of a
-     disagreement between the translation and the original version of
-     this License or a notice or disclaimer, the original version will
-     prevail.
-
-     If a section in the Document is Entitled "Acknowledgements",
-     "Dedications", or "History", the requirement (section 4) to
-     Preserve its Title (section 1) will typically require changing the
-     actual title.
-
-  9. TERMINATION
-
-     You may not copy, modify, sublicense, or distribute the Document
-     except as expressly provided under this License.  Any attempt
-     otherwise to copy, modify, sublicense, or distribute it is void,
-     and will automatically terminate your rights under this License.
-
-     However, if you cease all violation of this License, then your
-     license from a particular copyright holder is reinstated (a)
-     provisionally, unless and until the copyright holder explicitly
-     and finally terminates your license, and (b) permanently, if the
-     copyright holder fails to notify you of the violation by some
-     reasonable means prior to 60 days after the cessation.
-
-     Moreover, your license from a particular copyright holder is
-     reinstated permanently if the copyright holder notifies you of the
-     violation by some reasonable means, this is the first time you have
-     received notice of violation of this License (for any work) from
-     that copyright holder, and you cure the violation prior to 30 days
-     after your receipt of the notice.
-
-     Termination of your rights under this section does not terminate
-     the licenses of parties who have received copies or rights from
-     you under this License.  If your rights have been terminated and
-     not permanently reinstated, receipt of a copy of some or all of
-     the same material does not give you any rights to use it.
-
- 10. FUTURE REVISIONS OF THIS LICENSE
-
-     The Free Software Foundation may publish new, revised versions of
-     the GNU Free Documentation License from time to time.  Such new
-     versions will be similar in spirit to the present version, but may
-     differ in detail to address new problems or concerns.  See
-     `http://www.gnu.org/copyleft/'.
-
-     Each version of the License is given a distinguishing version
-     number.  If the Document specifies that a particular numbered
-     version of this License "or any later version" applies to it, you
-     have the option of following the terms and conditions either of
-     that specified version or of any later version that has been
-     published (not as a draft) by the Free Software Foundation.  If
-     the Document does not specify a version number of this License,
-     you may choose any version ever published (not as a draft) by the
-     Free Software Foundation.  If the Document specifies that a proxy
-     can decide which future versions of this License can be used, that
-     proxy's public statement of acceptance of a version permanently
-     authorizes you to choose that version for the Document.
-
- 11. RELICENSING
-
-     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
-     World Wide Web server that publishes copyrightable works and also
-     provides prominent facilities for anybody to edit those works.  A
-     public wiki that anybody can edit is an example of such a server.
-     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
-     site means any set of copyrightable works thus published on the MMC
-     site.
-
-     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-     license published by Creative Commons Corporation, a not-for-profit
-     corporation with a principal place of business in San Francisco,
-     California, as well as future copyleft versions of that license
-     published by that same organization.
-
-     "Incorporate" means to publish or republish a Document, in whole or
-     in part, as part of another Document.
-
-     An MMC is "eligible for relicensing" if it is licensed under this
-     License, and if all works that were first published under this
-     License somewhere other than this MMC, and subsequently
-     incorporated in whole or in part into the MMC, (1) had no cover
-     texts or invariant sections, and (2) were thus incorporated prior
-     to November 1, 2008.
-
-     The operator of an MMC Site may republish an MMC contained in the
-     site under CC-BY-SA on the same site at any time before August 1,
-     2009, provided the MMC is eligible for relicensing.
-
-
-ADDENDUM: How to use this License for your documents
-====================================================
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and license
-notices just after the title page:
-
-       Copyright (C)  YEAR  YOUR NAME.
-       Permission is granted to copy, distribute and/or modify this document
-       under the terms of the GNU Free Documentation License, Version 1.3
-       or any later version published by the Free Software Foundation;
-       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-       Texts.  A copy of the license is included in the section entitled ``GNU
-       Free Documentation License''.
-
-   If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts." line with this:
-
-         with the Invariant Sections being LIST THEIR TITLES, with
-         the Front-Cover Texts being LIST, and with the Back-Cover Texts
-         being LIST.
-
-   If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-   If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License, to
-permit their use in free software.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-7	2015-01-13 02:06:56.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2015-01-20 02:09:45.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * gdbserver: (gdb) Server.        The GNU debugging server.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -22,9 +22,9 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.8.1.20150113-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -38,6 +38,492 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: GNU Free Documentation License,  Next: Concept Index,  Prev: Copying,  Up: Top
+
+Appendix M GNU Free Documentation License
+*****************************************
+
+                     Version 1.3, 3 November 2008
+
+     Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+     `http://fsf.org/'
+
+     Everyone is permitted to copy and distribute verbatim copies
+     of this license document, but changing it is not allowed.
+
+  0. PREAMBLE
+
+     The purpose of this License is to make a manual, textbook, or other
+     functional and useful document "free" in the sense of freedom: to
+     assure everyone the effective freedom to copy and redistribute it,
+     with or without modifying it, either commercially or
+     noncommercially.  Secondarily, this License preserves for the
+     author and publisher a way to get credit for their work, while not
+     being considered responsible for modifications made by others.
+
+     This License is a kind of "copyleft", which means that derivative
+     works of the document must themselves be free in the same sense.
+     It complements the GNU General Public License, which is a copyleft
+     license designed for free software.
+
+     We have designed this License in order to use it for manuals for
+     free software, because free software needs free documentation: a
+     free program should come with manuals providing the same freedoms
+     that the software does.  But this License is not limited to
+     software manuals; it can be used for any textual work, regardless
+     of subject matter or whether it is published as a printed book.
+     We recommend this License principally for works whose purpose is
+     instruction or reference.
+
+  1. APPLICABILITY AND DEFINITIONS
+
+     This License applies to any manual or other work, in any medium,
+     that contains a notice placed by the copyright holder saying it
+     can be distributed under the terms of this License.  Such a notice
+     grants a world-wide, royalty-free license, unlimited in duration,
+     to use that work under the conditions stated herein.  The
+     "Document", below, refers to any such manual or work.  Any member
+     of the public is a licensee, and is addressed as "you".  You
+     accept the license if you copy, modify or distribute the work in a
+     way requiring permission under copyright law.
+
+     A "Modified Version" of the Document means any work containing the
+     Document or a portion of it, either copied verbatim, or with
+     modifications and/or translated into another language.
+
+     A "Secondary Section" is a named appendix or a front-matter section
+     of the Document that deals exclusively with the relationship of the
+     publishers or authors of the Document to the Document's overall
+     subject (or to related matters) and contains nothing that could
+     fall directly within that overall subject.  (Thus, if the Document
+     is in part a textbook of mathematics, a Secondary Section may not
+     explain any mathematics.)  The relationship could be a matter of
+     historical connection with the subject or with related matters, or
+     of legal, commercial, philosophical, ethical or political position
+     regarding them.
+
+     The "Invariant Sections" are certain Secondary Sections whose
+     titles are designated, as being those of Invariant Sections, in
+     the notice that says that the Document is released under this
+     License.  If a section does not fit the above definition of
+     Secondary then it is not allowed to be designated as Invariant.
+     The Document may contain zero Invariant Sections.  If the Document
+     does not identify any Invariant Sections then there are none.
+
+     The "Cover Texts" are certain short passages of text that are
+     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
+     that says that the Document is released under this License.  A
+     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+     be at most 25 words.
+
+     A "Transparent" copy of the Document means a machine-readable copy,
+     represented in a format whose specification is available to the
+     general public, that is suitable for revising the document
+     straightforwardly with generic text editors or (for images
+     composed of pixels) generic paint programs or (for drawings) some
+     widely available drawing editor, and that is suitable for input to
+     text formatters or for automatic translation to a variety of
+     formats suitable for input to text formatters.  A copy made in an
+     otherwise Transparent file format whose markup, or absence of
+     markup, has been arranged to thwart or discourage subsequent
+     modification by readers is not Transparent.  An image format is
+     not Transparent if used for any substantial amount of text.  A
+     copy that is not "Transparent" is called "Opaque".
+
+     Examples of suitable formats for Transparent copies include plain
+     ASCII without markup, Texinfo input format, LaTeX input format,
+     SGML or XML using a publicly available DTD, and
+     standard-conforming simple HTML, PostScript or PDF designed for
+     human modification.  Examples of transparent image formats include
+     PNG, XCF and JPG.  Opaque formats include proprietary formats that
+     can be read and edited only by proprietary word processors, SGML or
+     XML for which the DTD and/or processing tools are not generally
+     available, and the machine-generated HTML, PostScript or PDF
+     produced by some word processors for output purposes only.
+
+     The "Title Page" means, for a printed book, the title page itself,
+     plus such following pages as are needed to hold, legibly, the
+     material this License requires to appear in the title page.  For
+     works in formats which do not have any title page as such, "Title
+     Page" means the text near the most prominent appearance of the
+     work's title, preceding the beginning of the body of the text.
+
+     The "publisher" means any person or entity that distributes copies
+     of the Document to the public.
+
+     A section "Entitled XYZ" means a named subunit of the Document
+     whose title either is precisely XYZ or contains XYZ in parentheses
+     following text that translates XYZ in another language.  (Here XYZ
+     stands for a specific section name mentioned below, such as
+     "Acknowledgements", "Dedications", "Endorsements", or "History".)
+     To "Preserve the Title" of such a section when you modify the
+     Document means that it remains a section "Entitled XYZ" according
+     to this definition.
+
+     The Document may include Warranty Disclaimers next to the notice
+     which states that this License applies to the Document.  These
+     Warranty Disclaimers are considered to be included by reference in
+     this License, but only as regards disclaiming warranties: any other
+     implication that these Warranty Disclaimers may have is void and
+     has no effect on the meaning of this License.
+
+  2. VERBATIM COPYING
+
+     You may copy and distribute the Document in any medium, either
+     commercially or noncommercially, provided that this License, the
+     copyright notices, and the license notice saying this License
+     applies to the Document are reproduced in all copies, and that you
+     add no other conditions whatsoever to those of this License.  You
+     may not use technical measures to obstruct or control the reading
+     or further copying of the copies you make or distribute.  However,
+     you may accept compensation in exchange for copies.  If you
+     distribute a large enough number of copies you must also follow
+     the conditions in section 3.
+
+     You may also lend copies, under the same conditions stated above,
+     and you may publicly display copies.
+
+  3. COPYING IN QUANTITY
+
+     If you publish printed copies (or copies in media that commonly
+     have printed covers) of the Document, numbering more than 100, and
+     the Document's license notice requires Cover Texts, you must
+     enclose the copies in covers that carry, clearly and legibly, all
+     these Cover Texts: Front-Cover Texts on the front cover, and
+     Back-Cover Texts on the back cover.  Both covers must also clearly
+     and legibly identify you as the publisher of these copies.  The
+     front cover must present the full title with all words of the
+     title equally prominent and visible.  You may add other material
+     on the covers in addition.  Copying with changes limited to the
+     covers, as long as they preserve the title of the Document and
+     satisfy these conditions, can be treated as verbatim copying in
+     other respects.
+
+     If the required texts for either cover are too voluminous to fit
+     legibly, you should put the first ones listed (as many as fit
+     reasonably) on the actual cover, and continue the rest onto
+     adjacent pages.
+
+     If you publish or distribute Opaque copies of the Document
+     numbering more than 100, you must either include a
+     machine-readable Transparent copy along with each Opaque copy, or
+     state in or with each Opaque copy a computer-network location from
+     which the general network-using public has access to download
+     using public-standard network protocols a complete Transparent
+     copy of the Document, free of added material.  If you use the
+     latter option, you must take reasonably prudent steps, when you
+     begin distribution of Opaque copies in quantity, to ensure that
+     this Transparent copy will remain thus accessible at the stated
+     location until at least one year after the last time you
+     distribute an Opaque copy (directly or through your agents or
+     retailers) of that edition to the public.
+
+     It is requested, but not required, that you contact the authors of
+     the Document well before redistributing any large number of
+     copies, to give them a chance to provide you with an updated
+     version of the Document.
+
+  4. MODIFICATIONS
+
+     You may copy and distribute a Modified Version of the Document
+     under the conditions of sections 2 and 3 above, provided that you
+     release the Modified Version under precisely this License, with
+     the Modified Version filling the role of the Document, thus
+     licensing distribution and modification of the Modified Version to
+     whoever possesses a copy of it.  In addition, you must do these
+     things in the Modified Version:
+
+       A. Use in the Title Page (and on the covers, if any) a title
+          distinct from that of the Document, and from those of
+          previous versions (which should, if there were any, be listed
+          in the History section of the Document).  You may use the
+          same title as a previous version if the original publisher of
+          that version gives permission.
+
+       B. List on the Title Page, as authors, one or more persons or
+          entities responsible for authorship of the modifications in
+          the Modified Version, together with at least five of the
+          principal authors of the Document (all of its principal
+          authors, if it has fewer than five), unless they release you
+          from this requirement.
+
+       C. State on the Title page the name of the publisher of the
+          Modified Version, as the publisher.
+
+       D. Preserve all the copyright notices of the Document.
+
+       E. Add an appropriate copyright notice for your modifications
+          adjacent to the other copyright notices.
+
+       F. Include, immediately after the copyright notices, a license
+          notice giving the public permission to use the Modified
+          Version under the terms of this License, in the form shown in
+          the Addendum below.
+
+       G. Preserve in that license notice the full lists of Invariant
+          Sections and required Cover Texts given in the Document's
+          license notice.
+
+       H. Include an unaltered copy of this License.
+
+       I. Preserve the section Entitled "History", Preserve its Title,
+          and add to it an item stating at least the title, year, new
+          authors, and publisher of the Modified Version as given on
+          the Title Page.  If there is no section Entitled "History" in
+          the Document, create one stating the title, year, authors,
+          and publisher of the Document as given on its Title Page,
+          then add an item describing the Modified Version as stated in
+          the previous sentence.
+
+       J. Preserve the network location, if any, given in the Document
+          for public access to a Transparent copy of the Document, and
+          likewise the network locations given in the Document for
+          previous versions it was based on.  These may be placed in
+          the "History" section.  You may omit a network location for a
+          work that was published at least four years before the
+          Document itself, or if the original publisher of the version
+          it refers to gives permission.
+
+       K. For any section Entitled "Acknowledgements" or "Dedications",
+          Preserve the Title of the section, and preserve in the
+          section all the substance and tone of each of the contributor
+          acknowledgements and/or dedications given therein.
+
+       L. Preserve all the Invariant Sections of the Document,
+          unaltered in their text and in their titles.  Section numbers
+          or the equivalent are not considered part of the section
+          titles.
+
+       M. Delete any section Entitled "Endorsements".  Such a section
+          may not be included in the Modified Version.
+
+       N. Do not retitle any existing section to be Entitled
+          "Endorsements" or to conflict in title with any Invariant
+          Section.
+
+       O. Preserve any Warranty Disclaimers.
+
+     If the Modified Version includes new front-matter sections or
+     appendices that qualify as Secondary Sections and contain no
+     material copied from the Document, you may at your option
+     designate some or all of these sections as invariant.  To do this,
+     add their titles to the list of Invariant Sections in the Modified
+     Version's license notice.  These titles must be distinct from any
+     other section titles.
+
+     You may add a section Entitled "Endorsements", provided it contains
+     nothing but endorsements of your Modified Version by various
+     parties--for example, statements of peer review or that the text
+     has been approved by an organization as the authoritative
+     definition of a standard.
+
+     You may add a passage of up to five words as a Front-Cover Text,
+     and a passage of up to 25 words as a Back-Cover Text, to the end
+     of the list of Cover Texts in the Modified Version.  Only one
+     passage of Front-Cover Text and one of Back-Cover Text may be
+     added by (or through arrangements made by) any one entity.  If the
+     Document already includes a cover text for the same cover,
+     previously added by you or by arrangement made by the same entity
+     you are acting on behalf of, you may not add another; but you may
+     replace the old one, on explicit permission from the previous
+     publisher that added the old one.
+
+     The author(s) and publisher(s) of the Document do not by this
+     License give permission to use their names for publicity for or to
+     assert or imply endorsement of any Modified Version.
+
+  5. COMBINING DOCUMENTS
+
+     You may combine the Document with other documents released under
+     this License, under the terms defined in section 4 above for
+     modified versions, provided that you include in the combination
+     all of the Invariant Sections of all of the original documents,
+     unmodified, and list them all as Invariant Sections of your
+     combined work in its license notice, and that you preserve all
+     their Warranty Disclaimers.
+
+     The combined work need only contain one copy of this License, and
+     multiple identical Invariant Sections may be replaced with a single
+     copy.  If there are multiple Invariant Sections with the same name
+     but different contents, make the title of each such section unique
+     by adding at the end of it, in parentheses, the name of the
+     original author or publisher of that section if known, or else a
+     unique number.  Make the same adjustment to the section titles in
+     the list of Invariant Sections in the license notice of the
+     combined work.
+
+     In the combination, you must combine any sections Entitled
+     "History" in the various original documents, forming one section
+     Entitled "History"; likewise combine any sections Entitled
+     "Acknowledgements", and any sections Entitled "Dedications".  You
+     must delete all sections Entitled "Endorsements."
+
+  6. COLLECTIONS OF DOCUMENTS
+
+     You may make a collection consisting of the Document and other
+     documents released under this License, and replace the individual
+     copies of this License in the various documents with a single copy
+     that is included in the collection, provided that you follow the
+     rules of this License for verbatim copying of each of the
+     documents in all other respects.
+
+     You may extract a single document from such a collection, and
+     distribute it individually under this License, provided you insert
+     a copy of this License into the extracted document, and follow
+     this License in all other respects regarding verbatim copying of
+     that document.
+
+  7. AGGREGATION WITH INDEPENDENT WORKS
+
+     A compilation of the Document or its derivatives with other
+     separate and independent documents or works, in or on a volume of
+     a storage or distribution medium, is called an "aggregate" if the
+     copyright resulting from the compilation is not used to limit the
+     legal rights of the compilation's users beyond what the individual
+     works permit.  When the Document is included in an aggregate, this
+     License does not apply to the other works in the aggregate which
+     are not themselves derivative works of the Document.
+
+     If the Cover Text requirement of section 3 is applicable to these
+     copies of the Document, then if the Document is less than one half
+     of the entire aggregate, the Document's Cover Texts may be placed
+     on covers that bracket the Document within the aggregate, or the
+     electronic equivalent of covers if the Document is in electronic
+     form.  Otherwise they must appear on printed covers that bracket
+     the whole aggregate.
+
+  8. TRANSLATION
+
+     Translation is considered a kind of modification, so you may
+     distribute translations of the Document under the terms of section
+     4.  Replacing Invariant Sections with translations requires special
+     permission from their copyright holders, but you may include
+     translations of some or all Invariant Sections in addition to the
+     original versions of these Invariant Sections.  You may include a
+     translation of this License, and all the license notices in the
+     Document, and any Warranty Disclaimers, provided that you also
+     include the original English version of this License and the
+     original versions of those notices and disclaimers.  In case of a
+     disagreement between the translation and the original version of
+     this License or a notice or disclaimer, the original version will
+     prevail.
+
+     If a section in the Document is Entitled "Acknowledgements",
+     "Dedications", or "History", the requirement (section 4) to
+     Preserve its Title (section 1) will typically require changing the
+     actual title.
+
+  9. TERMINATION
+
+     You may not copy, modify, sublicense, or distribute the Document
+     except as expressly provided under this License.  Any attempt
+     otherwise to copy, modify, sublicense, or distribute it is void,
+     and will automatically terminate your rights under this License.
+
+     However, if you cease all violation of this License, then your
+     license from a particular copyright holder is reinstated (a)
+     provisionally, unless and until the copyright holder explicitly
+     and finally terminates your license, and (b) permanently, if the
+     copyright holder fails to notify you of the violation by some
+     reasonable means prior to 60 days after the cessation.
+
+     Moreover, your license from a particular copyright holder is
+     reinstated permanently if the copyright holder notifies you of the
+     violation by some reasonable means, this is the first time you have
+     received notice of violation of this License (for any work) from
+     that copyright holder, and you cure the violation prior to 30 days
+     after your receipt of the notice.
+
+     Termination of your rights under this section does not terminate
+     the licenses of parties who have received copies or rights from
+     you under this License.  If your rights have been terminated and
+     not permanently reinstated, receipt of a copy of some or all of
+     the same material does not give you any rights to use it.
+
+ 10. FUTURE REVISIONS OF THIS LICENSE
+
+     The Free Software Foundation may publish new, revised versions of
+     the GNU Free Documentation License from time to time.  Such new
+     versions will be similar in spirit to the present version, but may
+     differ in detail to address new problems or concerns.  See
+     `http://www.gnu.org/copyleft/'.
+
+     Each version of the License is given a distinguishing version
+     number.  If the Document specifies that a particular numbered
+     version of this License "or any later version" applies to it, you
+     have the option of following the terms and conditions either of
+     that specified version or of any later version that has been
+     published (not as a draft) by the Free Software Foundation.  If
+     the Document does not specify a version number of this License,
+     you may choose any version ever published (not as a draft) by the
+     Free Software Foundation.  If the Document specifies that a proxy
+     can decide which future versions of this License can be used, that
+     proxy's public statement of acceptance of a version permanently
+     authorizes you to choose that version for the Document.
+
+ 11. RELICENSING
+
+     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+     World Wide Web server that publishes copyrightable works and also
+     provides prominent facilities for anybody to edit those works.  A
+     public wiki that anybody can edit is an example of such a server.
+     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+     site means any set of copyrightable works thus published on the MMC
+     site.
+
+     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+     license published by Creative Commons Corporation, a not-for-profit
+     corporation with a principal place of business in San Francisco,
+     California, as well as future copyleft versions of that license
+     published by that same organization.
+
+     "Incorporate" means to publish or republish a Document, in whole or
+     in part, as part of another Document.
+
+     An MMC is "eligible for relicensing" if it is licensed under this
+     License, and if all works that were first published under this
+     License somewhere other than this MMC, and subsequently
+     incorporated in whole or in part into the MMC, (1) had no cover
+     texts or invariant sections, and (2) were thus incorporated prior
+     to November 1, 2008.
+
+     The operator of an MMC Site may republish an MMC contained in the
+     site under CC-BY-SA on the same site at any time before August 1,
+     2009, provided the MMC is eligible for relicensing.
+
+
+ADDENDUM: How to use this License for your documents
+====================================================
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and license
+notices just after the title page:
+
+       Copyright (C)  YEAR  YOUR NAME.
+       Permission is granted to copy, distribute and/or modify this document
+       under the terms of the GNU Free Documentation License, Version 1.3
+       or any later version published by the Free Software Foundation;
+       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+       Texts.  A copy of the license is included in the section entitled ``GNU
+       Free Documentation License''.
+
+   If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
+
+         with the Invariant Sections being LIST THEIR TITLES, with
+         the Front-Cover Texts being LIST, and with the Back-Cover Texts
+         being LIST.
+
+   If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+   If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License, to
+permit their use in free software.
+
+
 File: gdb.info,  Node: Concept Index,  Next: Command and Variable Index,  Prev: GNU Free Documentation License,  Up: Top
 
 Concept Index
@@ -94,7 +580,7 @@ Concept Index
 * --windows:                             Mode Options.       (line  101)
 * --with-gdb-datadir:                    Data Files.         (line   19)
 * --with-relocated-sources:              Source Path.        (line   89)
-* --with-sysroot:                        Files.              (line  463)
+* --with-sysroot:                        Files.              (line  450)
 * --wrapper, gdbserver option:           Server.             (line  188)
 * --write:                               Mode Options.       (line  176)
 * -b:                                    Mode Options.       (line  145)
@@ -250,12 +736,12 @@ Concept Index
                                                              (line    6)
 * backtrace beyond main function:        Backtrace.          (line  105)
 * backtrace limit:                       Backtrace.          (line  142)
-* base name differences:                 Files.              (line  530)
+* base name differences:                 Files.              (line  517)
 * baud rate for remote targets:          Remote Configuration.
                                                              (line   21)
 * bc packet:                             Packets.            (line   97)
 * bcache statistics:                     Maintenance Commands.
-                                                             (line  248)
+                                                             (line  266)
 * bits in remote address:                Remote Configuration.
                                                              (line   12)
 * blocks in guile:                       Blocks In Guile.    (line    6)
@@ -323,13 +809,15 @@ Concept Index
 * C++:                                   C.                  (line   10)
 * C++ compilers:                         C Plus Plus Expressions.
                                                              (line    8)
+* C++ demangling:                        Debugging C Plus Plus.
+                                                             (line   36)
 * C++ exception handling:                Debugging C Plus Plus.
                                                              (line   20)
 * C++ overload debugging info:           Debugging Output.   (line  167)
 * C++ scope resolution:                  Variables.          (line   90)
 * C++ symbol decoding style:             Print Settings.     (line  429)
 * C++ symbol display:                    Debugging C Plus Plus.
-                                                             (line   36)
+                                                             (line   40)
 * caching data of targets:               Caching Target Data.
                                                              (line    6)
 * call dummy stack unwinding:            Calling.            (line   36)
@@ -395,6 +883,8 @@ Concept Index
 * compatibility, GDB/MI and CLI:         GDB/MI Compatibility with CLI.
                                                              (line    6)
 * compilation directory:                 Source Path.        (line  108)
+* compiling code:                        Compiling and Injecting Code.
+                                                             (line    6)
 * compiling, on Sparclet:                Sparclet.           (line   16)
 * completion:                            Completion.         (line    6)
 * completion of Guile commands:          Commands In Guile.  (line  100)
@@ -449,7 +939,7 @@ Concept Index
 * current thread, remote request:        General Query Packets.
                                                              (line   57)
 * custom JIT debug info:                 Custom Debug Info.  (line    6)
-* Cygwin DLL, debugging:                 Cygwin Native.      (line   45)
+* Cygwin DLL, debugging:                 Cygwin Native.      (line   38)
 * Cygwin-specific commands:              Cygwin Native.      (line    6)
 * D:                                     D.                  (line    6)
 * D packet:                              Packets.            (line  135)
@@ -482,13 +972,13 @@ Concept Index
 * debugging optimized code:              Optimized Code.     (line    6)
 * debugging stub, example:               Remote Stub.        (line    6)
 * debugging target:                      Targets.            (line    6)
-* debugging the Cygwin DLL:              Cygwin Native.      (line   45)
+* debugging the Cygwin DLL:              Cygwin Native.      (line   38)
 * decimal floating point format:         Decimal Floating Point.
                                                              (line    6)
 * default collection action:             Tracepoint Actions. (line  135)
 * default data directory:                Data Files.         (line   19)
 * default source path substitution:      Source Path.        (line   89)
-* default system root:                   Files.              (line  463)
+* default system root:                   Files.              (line  450)
 * define trace state variable, remote request: Tracepoint Packets.
                                                              (line  128)
 * defining macros interactively:         Macros.             (line   59)
@@ -497,9 +987,12 @@ Concept Index
 * deleting breakpoints, watchpoints, catchpoints: Delete Breaks.
                                                              (line    6)
 * deliver a signal to a program:         Signaling.          (line    6)
+* demangle:                              Symbols.            (line  104)
+* demangler crashes:                     Maintenance Commands.
+                                                             (line  102)
 * demangling C++ names:                  Print Settings.     (line  410)
 * deprecated commands:                   Maintenance Commands.
-                                                             (line  111)
+                                                             (line  116)
 * derived type of an object, printing:   Print Settings.     (line  462)
 * descriptor tables display:             DJGPP Native.       (line   24)
 * detach from task, GNU Hurd:            Hurd Native.        (line   60)
@@ -533,12 +1026,11 @@ Concept Index
 * don't repeat command:                  Define.             (line   62)
 * don't repeat Guile command:            Commands In Guile.  (line   66)
 * don't repeat Python command:           Commands In Python. (line   43)
-* DOS file-name semantics of file names.: Files.             (line  486)
+* DOS file-name semantics of file names.: Files.             (line  473)
 * DOS serial data link, remote debugging: DJGPP Native.      (line  121)
 * DOS serial port status:                DJGPP Native.       (line  142)
 * download server address (M32R):        M32R/D.             (line   27)
 * download to Sparclet:                  Sparclet Download.  (line    6)
-* download to VxWorks:                   VxWorks Download.   (line    6)
 * DPMI:                                  DJGPP Native.       (line    6)
 * dprintf:                               Dynamic Printf.     (line    6)
 * dump all data collected at tracepoint: tdump.              (line    6)
@@ -548,7 +1040,7 @@ Concept Index
 * dump/restore files:                    Dump/Restore Files. (line    6)
 * DVC register:                          PowerPC Embedded.   (line    6)
 * DWARF 2 compilation units cache:       Maintenance Commands.
-                                                             (line  306)
+                                                             (line  324)
 * DWARF-2 CFI and CRIS:                  CRIS.               (line   18)
 * DWARF2 DIEs:                           Debugging Output.   (line   70)
 * DWARF2 Reading:                        Debugging Output.   (line   77)
@@ -561,7 +1053,7 @@ Concept Index
                                                              (line    6)
 * editing source files:                  Edit.               (line    6)
 * eight-bit characters in strings:       Print Settings.     (line  355)
-* elaboration phase:                     Starting.           (line   92)
+* elaboration phase:                     Starting.           (line   91)
 * ELinOS system-wide configuration script: System-wide Configuration Scripts.
                                                              (line   14)
 * Emacs:                                 Emacs.              (line    6)
@@ -608,7 +1100,7 @@ Concept Index
 * expressions in Modula-2:               Modula-2.           (line   12)
 * extend GDB for remote targets:         Connecting.         (line  105)
 * extending GDB:                         Extending GDB.      (line    6)
-* extra signal information:              Signals.            (line  106)
+* extra signal information:              Signals.            (line  156)
 * F packet:                              Packets.            (line  152)
 * F reply packet:                        The F Reply Packet. (line    6)
 * F request packet:                      The F Request Packet.
@@ -620,7 +1112,7 @@ Concept Index
 * fatal signals:                         Signals.            (line   15)
 * features of the remote protocol:       General Query Packets.
                                                              (line  411)
-* file name canonicalization:            Files.              (line  530)
+* file name canonicalization:            Files.              (line  517)
 * file transfer:                         File Transfer.      (line    6)
 * file transfer, remote protocol:        Host I/O Packets.   (line    6)
 * file-i/o examples:                     File-I/O Examples.  (line    6)
@@ -665,11 +1157,11 @@ Concept Index
 * free memory information (MS-DOS):      DJGPP Native.       (line   19)
 * fstat, file-i/o system call:           stat/fstat.         (line    6)
 * Fujitsu:                               Remote Stub.        (line   69)
-* full symbol tables, listing GDB's internal: Symbols.       (line  386)
+* full symbol tables, listing GDB's internal: Symbols.       (line  397)
 * function call arguments, optimized out: Backtrace.         (line   83)
 * function entry/exit, wrong values of variables: Variables. (line  106)
 * functions without line info, and stepping: Continuing and Stepping.
-                                                             (line   93)
+                                                             (line   94)
 * G packet:                              Packets.            (line  186)
 * g packet:                              Packets.            (line  157)
 * g++, GNU C++ compiler:                 C.                  (line   10)
@@ -678,7 +1170,7 @@ Concept Index
                                                              (line    8)
 * GDB bugs, reporting:                   Bug Reporting.      (line    6)
 * GDB internal error:                    Maintenance Commands.
-                                                             (line  145)
+                                                             (line  152)
 * gdb module:                            Basic Python.       (line   28)
 * gdb objects:                           GDB Scheme Data Types.
                                                              (line    6)
@@ -766,7 +1258,7 @@ Concept Index
 * handling signals:                      Signals.            (line   27)
 * hardware breakpoints:                  Set Breaks.         (line   62)
 * hardware debug registers:              Maintenance Commands.
-                                                             (line  332)
+                                                             (line  350)
 * hardware watchpoints:                  Set Watchpoints.    (line   31)
 * hash mark while downloading:           Target Commands.    (line   99)
 * heuristic-fence-post (Alpha, MIPS):    MIPS.               (line   14)
@@ -797,7 +1289,7 @@ Concept Index
 * ignore count (of breakpoint):          Conditions.         (line   79)
 * in-process agent protocol:             In-Process Agent Protocol.
                                                              (line    6)
-* incomplete type:                       Symbols.            (line  207)
+* incomplete type:                       Symbols.            (line  218)
 * indentation in structure display:      Print Settings.     (line  331)
 * index files:                           Index Files.        (line    6)
 * index section format:                  Index Section Format.
@@ -812,9 +1304,9 @@ Concept Index
                                                              (line    6)
 * infinite recursion in user-defined commands: Define.       (line   79)
 * info for known .debug_gdb_scripts-loaded scripts: Maintenance Commands.
-                                                             (line  241)
+                                                             (line  259)
 * info for known object files:           Maintenance Commands.
-                                                             (line  235)
+                                                             (line  244)
 * info proc cmdline:                     SVR4 Process Information.
                                                              (line   35)
 * info proc cwd:                         SVR4 Process Information.
@@ -831,6 +1323,8 @@ Concept Index
 * init file name:                        Startup.            (line   66)
 * initial frame:                         Frames.             (line   12)
 * initialization file, readline:         Readline Init File. (line    6)
+* injecting code:                        Compiling and Injecting Code.
+                                                             (line    6)
 * inline functions, debugging:           Inline Functions.   (line    6)
 * innermost frame:                       Frames.             (line   12)
 * input syntax for GDB/MI:               GDB/MI Input Syntax.
@@ -847,8 +1341,8 @@ Concept Index
 * internal commands:                     Maintenance Commands.
                                                              (line    6)
 * internal errors, control of GDB behavior: Maintenance Commands.
-                                                             (line  145)
-* internal GDB breakpoints:              Set Breaks.         (line  383)
+                                                             (line  152)
+* internal GDB breakpoints:              Set Breaks.         (line  376)
 * interrupt:                             Quitting GDB.       (line   13)
 * interrupt debuggee on MS-Windows:      Cygwin Native.      (line    9)
 * interrupt remote programs:             Remote Configuration.
@@ -910,13 +1404,13 @@ Concept Index
 * list output in GDB/MI:                 GDB/MI Output Syntax.
                                                              (line  117)
 * list, how many lines to display:       List.               (line   30)
-* listing GDB's internal symbol tables:  Symbols.            (line  386)
+* listing GDB's internal symbol tables:  Symbols.            (line  397)
 * listing machine instructions:          Machine Code.       (line   36)
 * listing mapped overlays:               Overlay Commands.   (line   60)
 * load address, overlay's:               How Overlays Work.  (line    6)
-* load shared library:                   Files.              (line  347)
+* load shared library:                   Files.              (line  334)
 * load symbols from memory:              Files.              (line  183)
-* local variables:                       Symbols.            (line  251)
+* local variables:                       Symbols.            (line  262)
 * locate address:                        Output Formats.     (line   35)
 * lock scheduler:                        All-Stop Mode.      (line   37)
 * log output in GDB/MI:                  GDB/MI Output Syntax.
@@ -965,8 +1459,8 @@ Concept Index
 * memory tracing:                        Breakpoints.        (line   20)
 * memory transfer, in file-i/o protocol: Memory Transfer.    (line    6)
 * memory used by commands:               Maintenance Commands.
-                                                             (line  394)
-* memory used for symbol tables:         Files.              (line  335)
+                                                             (line  412)
+* memory used for symbol tables:         Files.              (line  322)
 * memory, alignment and size of remote accesses: Packets.    (line  251)
 * memory, viewing as typed object:       Expressions.        (line   43)
 * mi interpreter:                        Interpreters.       (line   26)
@@ -974,7 +1468,7 @@ Concept Index
 * mi2 interpreter:                       Interpreters.       (line   31)
 * minimal language:                      Unsupported Languages.
                                                              (line    6)
-* minimal symbol dump:                   Symbols.            (line  367)
+* minimal symbol dump:                   Symbols.            (line  378)
 * Minimal symbols and DLLs:              Non-debug DLL Symbols.
                                                              (line    6)
 * MIPS addresses, masking:               MIPS.               (line   86)
@@ -1018,14 +1512,13 @@ Concept Index
 * native script auto-loading:            Auto-loading sequences.
                                                              (line    6)
 * native target:                         Target Commands.    (line   85)
-* negative breakpoint numbers:           Set Breaks.         (line  383)
+* negative breakpoint numbers:           Set Breaks.         (line  376)
 * New SYSTAG message:                    Threads.            (line   51)
 * Newlib OS ABI and its influence on the longjmp handling: ABI.
                                                              (line   11)
 * Nios II architecture:                  Nios II.            (line    6)
 * non-member C++ functions, set breakpoint in: Set Breaks.   (line  108)
 * non-stop mode:                         Non-Stop Mode.      (line    6)
-* non-stop mode, and breakpoint always-inserted: Set Breaks. (line  339)
 * non-stop mode, and process record and replay: Process Record and Replay.
                                                              (line   70)
 * non-stop mode, and set displaced-stepping: Maintenance Commands.
@@ -1046,7 +1539,7 @@ Concept Index
 * numbers for breakpoints:               Breakpoints.        (line   41)
 * object files, relocatable, reading symbols from: Files.    (line  133)
 * Objective-C:                           Objective-C.        (line    6)
-* Objective-C, classes and selectors:    Symbols.            (line  318)
+* Objective-C, classes and selectors:    Symbols.            (line  329)
 * Objective-C, print objects:            The Print Command with Objective-C.
                                                              (line    6)
 * OBJFILE-gdb.gdb:                       objfile-gdbdotext file.
@@ -1060,7 +1553,7 @@ Concept Index
 * observer debugging info:               Debugging Output.   (line  160)
 * octal escapes in strings:              Print Settings.     (line  355)
 * online documentation:                  Help.               (line    6)
-* opaque data types:                     Symbols.            (line  330)
+* opaque data types:                     Symbols.            (line  341)
 * open flags, in file-i/o protocol:      Open Flags.         (line    6)
 * open, file-i/o system call:            open.               (line    6)
 * OpenCL C:                              OpenCL C.           (line    6)
@@ -1096,7 +1589,7 @@ Concept Index
 * overloaded functions, calling:         C Plus Plus Expressions.
                                                              (line   26)
 * overloaded functions, overload resolution: Debugging C Plus Plus.
-                                                             (line   55)
+                                                             (line   59)
 * overloading in C++:                    Debugging C Plus Plus.
                                                              (line   15)
 * P packet:                              Packets.            (line  292)
@@ -1116,8 +1609,8 @@ Concept Index
                                                              (line    6)
 * parameters in python:                  Parameters In Python.
                                                              (line    6)
-* partial symbol dump:                   Symbols.            (line  367)
-* partial symbol tables, listing GDB's internal: Symbols.    (line  386)
+* partial symbol dump:                   Symbols.            (line  378)
+* partial symbol tables, listing GDB's internal: Symbols.    (line  397)
 * Pascal:                                Summary.            (line   35)
 * Pascal objects, static members display: Print Settings.    (line  491)
 * Pascal support in GDB, limitations:    Pascal.             (line    6)
@@ -1132,14 +1625,14 @@ Concept Index
 * physical address from linear address:  DJGPP Native.       (line   81)
 * physname:                              Debugging Output.   (line   51)
 * pipe, target remote to:                Connecting.         (line   60)
-* pipes:                                 Starting.           (line   64)
+* pipes:                                 Starting.           (line   63)
 * pointer values, in file-i/o protocol:  Pointer Values.     (line    6)
 * pointer, finding referent:             Print Settings.     (line   81)
 * port rights, GNU Hurd:                 Hurd Native.        (line   85)
 * port sets, GNU Hurd:                   Hurd Native.        (line   85)
 * PowerPC architecture:                  PowerPC.            (line    6)
 * prefix for data files:                 Data Files.         (line    6)
-* prefix for shared library file names:  Files.              (line  403)
+* prefix for shared library file names:  Files.              (line  390)
 * premature return from system calls:    Interrupted System Calls.
                                                              (line    6)
 * preprocessor macro expansion, showing the results of: Macros.
@@ -1163,7 +1656,7 @@ Concept Index
 * print messages on inferior start and exit: Inferiors and Programs.
                                                              (line  117)
 * print messages on thread start and exit: Threads.          (line  156)
-* print messages when symbols are loaded: Symbols.           (line  348)
+* print messages when symbols are loaded: Symbols.           (line  359)
 * print settings:                        Print Settings.     (line    6)
 * print structures in indented form:     Print Settings.     (line  331)
 * print/don't print memory addresses:    Print Settings.     (line   13)
@@ -1189,7 +1682,7 @@ Concept Index
 * procfs API calls:                      SVR4 Process Information.
                                                              (line   68)
 * profiling GDB:                         Maintenance Commands.
-                                                             (line  316)
+                                                             (line  334)
 * program counter register:              Registers.          (line   26)
 * program entry point:                   Backtrace.          (line  105)
 * programming in guile:                  Guile API.          (line    6)
@@ -1308,7 +1801,7 @@ Concept Index
 * r packet:                              Packets.            (line  309)
 * range checking:                        Type Checking.      (line   45)
 * range stepping:                        Continuing and Stepping.
-                                                             (line  212)
+                                                             (line  213)
 * ranged breakpoint:                     PowerPC Embedded.   (line   33)
 * ranges of breakpoints:                 Breakpoints.        (line   48)
 * Ravenscar Profile:                     Ravenscar Profile.  (line    6)
@@ -1317,7 +1810,7 @@ Concept Index
 * read special object, remote request:   General Query Packets.
                                                              (line  809)
 * read, file-i/o system call:            read.               (line    6)
-* read-only sections:                    Files.              (line  282)
+* read-only sections:                    Files.              (line  269)
 * reading symbols from relocatable object files: Files.      (line  133)
 * reading symbols immediately:           Files.              (line   90)
 * readline:                              Editing.            (line    6)
@@ -1387,7 +1880,7 @@ Concept Index
 * reprint the last value:                Data.               (line   23)
 * reset SDI connection, M32R:            M32R/D.             (line   44)
 * resources used by commands:            Maintenance Commands.
-                                                             (line  356)
+                                                             (line  374)
 * response time, MIPS debugging:         MIPS.               (line   10)
 * restart:                               Checkpoint/Restart. (line    6)
 * restore data from a file:              Dump/Restore Files. (line    6)
@@ -1403,14 +1896,13 @@ Concept Index
 * reverse execution:                     Reverse Execution.  (line    6)
 * rewind program state:                  Checkpoint/Restart. (line    6)
 * ROM at zero address, RDI:              ARM.                (line  102)
-* run to main procedure:                 Starting.           (line   81)
+* run to main procedure:                 Starting.           (line   80)
 * run until specified location:          Continuing and Stepping.
-                                                             (line  118)
+                                                             (line  119)
 * running:                               Starting.           (line    6)
 * running and debugging Sparclet programs: Sparclet Execution.
                                                              (line    6)
 * running programs backward:             Reverse Execution.  (line    6)
-* running VxWorks tasks:                 VxWorks Attach.     (line    6)
 * running, on Sparclet:                  Sparclet.           (line   28)
 * S packet:                              Packets.            (line  330)
 * s packet:                              Packets.            (line  321)
@@ -1479,10 +1971,10 @@ Concept Index
 * setting watchpoints:                   Set Watchpoints.    (line    6)
 * SH:                                    Remote Stub.        (line   63)
 * sh-stub.c:                             Remote Stub.        (line   63)
-* shared libraries:                      Files.              (line  305)
+* shared libraries:                      Files.              (line  292)
 * shared library events, remote reply:   Stop Reply Packets. (line   57)
 * shell escape:                          Shell Commands.     (line   10)
-* show all convenience functions:        Convenience Funs.   (line   87)
+* show all convenience functions:        Convenience Funs.   (line  141)
 * show all user variables and functions: Convenience Vars.   (line   37)
 * show last commands:                    Command History.    (line   80)
 * show tdesc filename:                   Retrieving Descriptions.
@@ -1491,7 +1983,7 @@ Concept Index
 * signals the inferior may see, remote request: General Query Packets.
                                                              (line  312)
 * SIGQUIT signal, dump core of GDB:      Maintenance Commands.
-                                                             (line  120)
+                                                             (line  125)
 * simulator, Z8000:                      Z8000.              (line    6)
 * size of remote memory accesses:        Packets.            (line  251)
 * size of screen:                        Screen Size.        (line    6)
@@ -1538,8 +2030,9 @@ Concept Index
                                                              (line   94)
 * stepping:                              Continuing and Stepping.
                                                              (line    6)
+* stepping and signal handlers:          Signals.            (line  106)
 * stepping into functions with no line info: Continuing and Stepping.
-                                                             (line   93)
+                                                             (line   94)
 * stop a running trace experiment:       Starting and Stopping Trace Experiments.
                                                              (line   16)
 * stop on C++ exceptions:                Set Catchpoints.    (line   16)
@@ -1570,19 +2063,20 @@ Concept Index
 * switching threads:                     Threads.            (line    6)
 * switching threads automatically:       All-Stop Mode.      (line   28)
 * symbol decoding style, C++:            Print Settings.     (line  429)
-* symbol dump:                           Symbols.            (line  367)
-* symbol file functions:                 Debugging Output.   (line  207)
+* symbol dump:                           Symbols.            (line  378)
+* symbol file functions:                 Debugging Output.   (line  216)
 * symbol from address:                   Symbols.            (line   84)
+* symbol lookup:                         Debugging Output.   (line  207)
 * symbol lookup, remote request:         General Query Packets.
                                                              (line  727)
 * symbol names:                          Symbols.            (line   14)
 * symbol table:                          Files.              (line    6)
-* symbol table creation:                 Debugging Output.   (line  214)
+* symbol table creation:                 Debugging Output.   (line  223)
 * symbol tables in guile:                Symbol Tables In Guile.
                                                              (line    6)
 * symbol tables in python:               Symbol Tables In Python.
                                                              (line    6)
-* symbol tables, listing GDB's internal: Symbols.            (line  386)
+* symbol tables, listing GDB's internal: Symbols.            (line  397)
 * symbol, source file and line:          Print Settings.     (line   51)
 * symbols in guile:                      Symbols In Guile.   (line    6)
 * symbols in python:                     Symbols In Python.  (line    6)
@@ -1592,7 +2086,7 @@ Concept Index
 * syscall DSO:                           Files.              (line  183)
 * system calls and thread breakpoints:   Interrupted System Calls.
                                                              (line    6)
-* system root, alternate:                Files.              (line  403)
+* system root, alternate:                Files.              (line  390)
 * system, file-i/o system call:          system.             (line    6)
 * system-wide configuration scripts:     System-wide Configuration Scripts.
                                                              (line    6)
@@ -1605,7 +2099,7 @@ Concept Index
 * target architecture:                   Targets.            (line   17)
 * target byte order:                     Byte Order.         (line    6)
 * target character set:                  Character Sets.     (line    6)
-* target debugging info:                 Debugging Output.   (line  223)
+* target debugging info:                 Debugging Output.   (line  232)
 * target descriptions:                   Target Descriptions.
                                                              (line    6)
 * target descriptions, AArch64 features: AArch64 Features.   (line    6)
@@ -1614,6 +2108,8 @@ Concept Index
 * target descriptions, inclusion:        Target Description Format.
                                                              (line   54)
 * target descriptions, M68K features:    M68K Features.      (line    6)
+* target descriptions, MicroBlaze features: MicroBlaze Features.
+                                                             (line    6)
 * target descriptions, MIPS features:    MIPS Features.      (line    6)
 * target descriptions, Nios II features: Nios II Features.   (line    6)
 * target descriptions, PowerPC features: PowerPC Features.   (line    6)
@@ -1634,9 +2130,9 @@ Concept Index
                                                              (line  110)
 * target remote:                         Connecting.         (line   11)
 * target stack description:              Maintenance Commands.
-                                                             (line  261)
+                                                             (line  279)
 * target-assisted range stepping:        Continuing and Stepping.
-                                                             (line  212)
+                                                             (line  213)
 * task attributes (GNU Hurd):            Hurd Native.        (line   49)
 * task breakpoints, in Ada:              Ada Tasks.          (line  135)
 * task exception port, GNU Hurd:         Hurd Native.        (line   68)
@@ -1670,15 +2166,15 @@ Concept Index
 * threads, continuing:                   Thread Stops.       (line    6)
 * threads, stopped:                      Thread Stops.       (line    6)
 * time of command execution:             Maintenance Commands.
-                                                             (line  398)
+                                                             (line  416)
 * timeout for commands:                  Maintenance Commands.
-                                                             (line  420)
+                                                             (line  438)
 * timeout for serial communications:     Remote Configuration.
                                                              (line   65)
 * timeout, for remote target connection: Remote Configuration.
                                                              (line  133)
 * timeout, MIPS protocol:                MIPS Embedded.      (line   83)
-* timestampping debugging info:          Debugging Output.   (line  234)
+* timestampping debugging info:          Debugging Output.   (line  241)
 * trace experiment, status of:           Starting and Stopping Trace Experiments.
                                                              (line   27)
 * trace file format:                     Trace File Format.  (line    6)
@@ -1718,7 +2214,7 @@ Concept Index
                                                              (line    6)
 * type casting memory:                   Expressions.        (line   43)
 * type chain of a data type:             Maintenance Commands.
-                                                             (line  273)
+                                                             (line  291)
 * type checking:                         Checks.             (line   24)
 * type conversions in C++:               C Plus Plus Expressions.
                                                              (line   26)
@@ -1732,7 +2228,7 @@ Concept Index
 * unknown address, locating:             Output Formats.     (line   35)
 * unlink, file-i/o system call:          unlink.             (line    6)
 * unlinked object files:                 Files.              (line   26)
-* unload symbols from shared libraries:  Files.              (line  365)
+* unload symbols from shared libraries:  Files.              (line  352)
 * unmap an overlay:                      Overlay Commands.   (line   39)
 * unmapped overlays:                     How Overlays Work.  (line    6)
 * unset tdesc filename:                  Retrieving Descriptions.
@@ -1743,6 +2239,8 @@ Concept Index
 * unwind stack in called functions with unhandled exceptions: Calling.
                                                              (line   47)
 * use only software watchpoints:         Set Watchpoints.    (line  108)
+* user registers:                        Maintenance Commands.
+                                                             (line  250)
 * user-defined command:                  Define.             (line    6)
 * user-defined macros:                   Macros.             (line   59)
 * user-defined variables:                Convenience Vars.   (line    6)
@@ -1752,7 +2250,7 @@ Concept Index
 * values from inferior, with Python:     Values From Inferior.
                                                              (line    6)
 * variable name conflict:                Variables.          (line   36)
-* variable object debugging info:        Debugging Output.   (line  243)
+* variable object debugging info:        Debugging Output.   (line  250)
 * variable objects in GDB/MI:            GDB/MI Variable Objects.
                                                              (line    9)
 * variable values, wrong:                Variables.          (line  106)
@@ -1777,13 +2275,12 @@ Concept Index
 * vRun packet:                           Packets.            (line  520)
 * vStopped packet:                       Packets.            (line  537)
 * VTBL display:                          Print Settings.     (line  502)
-* VxWorks:                               VxWorks.            (line    6)
 * watchdog timer:                        Maintenance Commands.
-                                                             (line  420)
+                                                             (line  438)
 * watchpoints:                           Breakpoints.        (line   20)
 * watchpoints and threads:               Set Watchpoints.    (line  180)
 * weak alias functions:                  Calling.            (line   59)
-* where to look for shared libraries:    Files.              (line  398)
+* where to look for shared libraries:    Files.              (line  385)
 * wild pointer, interpreting:            Print Settings.     (line   81)
 * Wind River Linux system-wide configuration script: System-wide Configuration Scripts.
                                                              (line   21)
@@ -1803,6 +2300,8 @@ Concept Index
 * writing convenience functions:         Functions In Python.
                                                              (line    6)
 * writing into corefiles:                Patching.           (line    6)
+* writing into executables <1>:          Compiling and Injecting Code.
+                                                             (line    6)
 * writing into executables:              Patching.           (line    6)
 * writing JIT debug info readers:        Writing JIT Debug Info Readers.
                                                              (line    6)
@@ -1816,7 +2315,7 @@ Concept Index
 * XMD, Xilinx Microprocessor Debugger:   MicroBlaze.         (line    6)
 * xmethod API:                           Xmethod API.        (line    6)
 * xmethods in Python:                    Xmethods In Python. (line    6)
-* XML parser debugging:                  Debugging Output.   (line  251)
+* XML parser debugging:                  Debugging Output.   (line  258)
 * yanking text:                          Readline Killing Commands.
                                                              (line    6)
 * z packet:                              Packets.            (line  553)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-8 ./gdb/doc/gdb.info-8
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.info-8	2015-01-13 02:06:56.000000000 +0000
+++ ./gdb/doc/gdb.info-8	2015-01-20 02:09:45.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * gdbserver: (gdb) Server.        The GNU debugging server.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -22,9 +22,9 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.8.1.20150113-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.8.90.20150120-cvs.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -50,6 +50,11 @@ Command, Variable, and Function Index
 * # (a comment):                         Command Syntax.      (line  38)
 * $_, convenience variable:              Convenience Vars.    (line  65)
 * $__, convenience variable:             Convenience Vars.    (line  74)
+* $_any_caller_is, convenience function: Convenience Funs.    (line 113)
+* $_any_caller_matches, convenience function: Convenience Funs.
+                                                              (line 125)
+* $_caller_is, convenience function:     Convenience Funs.    (line  83)
+* $_caller_matches, convenience function: Convenience Funs.   (line 106)
 * $_exception, convenience variable:     Set Catchpoints.     (line  21)
 * $_exitcode, convenience variable:      Convenience Vars.    (line  80)
 * $_exitsignal, convenience variable:    Convenience Vars.    (line  85)
@@ -84,7 +89,7 @@ Command, Variable, and Function Index
 * -ada-task-info:                        GDB/MI Ada Tasking Commands.
                                                               (line   9)
 * -add-inferior:                         GDB/MI Miscellaneous Commands.
-                                                              (line 291)
+                                                              (line 296)
 * -break-after:                          GDB/MI Breakpoint Commands.
                                                               (line  11)
 * -break-commands:                       GDB/MI Breakpoint Commands.
@@ -138,7 +143,7 @@ Command, Variable, and Function Index
 * -enable-pretty-printing:               GDB/MI Variable Objects.
                                                               (line 116)
 * -enable-timings:                       GDB/MI Miscellaneous Commands.
-                                                              (line 387)
+                                                              (line 392)
 * -environment-cd:                       GDB/MI Program Context.
                                                               (line  33)
 * -environment-directory:                GDB/MI Program Context.
@@ -190,17 +195,17 @@ Command, Variable, and Function Index
 * -gdb-version:                          GDB/MI Miscellaneous Commands.
                                                               (line  77)
 * -inferior-tty-set:                     GDB/MI Miscellaneous Commands.
-                                                              (line 338)
+                                                              (line 343)
 * -inferior-tty-show:                    GDB/MI Miscellaneous Commands.
-                                                              (line 361)
+                                                              (line 366)
 * -info-ada-exceptions:                  GDB/MI Ada Exceptions Commands.
                                                               (line   9)
 * -info-gdb-mi-command:                  GDB/MI Support Commands.
                                                               (line  14)
 * -info-os:                              GDB/MI Miscellaneous Commands.
-                                                              (line 219)
+                                                              (line 224)
 * -interpreter-exec:                     GDB/MI Miscellaneous Commands.
-                                                              (line 313)
+                                                              (line 318)
 * -list-features:                        GDB/MI Support Commands.
                                                               (line  58)
 * -list-target-features:                 GDB/MI Support Commands.
@@ -331,13 +336,14 @@ Command, Variable, and Function Index
                                                               (line 101)
 * add-auto-load-safe-path:               Auto-loading safe path.
                                                               (line  50)
+* add-auto-load-scripts-directory:       objfile-gdbdotext file.
+                                                              (line  66)
 * add-inferior:                          Inferiors and Programs.
                                                               (line  60)
-* add-shared-symbol-files:               Files.               (line 193)
 * add-symbol-file:                       Files.               (line 113)
 * add-symbol-file-from-memory:           Files.               (line 183)
 * advance LOCATION:                      Continuing and Stepping.
-                                                              (line 181)
+                                                              (line 182)
 * alias:                                 Aliases.             (line  21)
 * append:                                Dump/Restore Files.  (line  35)
 * append-pretty-printer!:                Guile Printing Module.
@@ -405,7 +411,6 @@ Command, Variable, and Function Index
                                                               (line  16)
 * Architecture.name:                     Architectures In Python.
                                                               (line  13)
-* assf:                                  Files.               (line 193)
 * attach:                                Attach.              (line   6)
 * attach&:                               Background Execution.
                                                               (line  25)
@@ -450,23 +455,23 @@ Command, Variable, and Function Index
 * BP_ACCESS_WATCHPOINT <1>:              Breakpoints In Guile.
                                                               (line  71)
 * BP_ACCESS_WATCHPOINT:                  Breakpoints In Python.
-                                                              (line 153)
+                                                              (line 154)
 * BP_BREAKPOINT <1>:                     Breakpoints In Guile.
                                                               (line  57)
 * BP_BREAKPOINT:                         Breakpoints In Python.
-                                                              (line 141)
+                                                              (line 142)
 * BP_HARDWARE_WATCHPOINT <1>:            Breakpoints In Guile.
                                                               (line  63)
 * BP_HARDWARE_WATCHPOINT:                Breakpoints In Python.
-                                                              (line 147)
+                                                              (line 148)
 * BP_READ_WATCHPOINT <1>:                Breakpoints In Guile.
                                                               (line  67)
 * BP_READ_WATCHPOINT:                    Breakpoints In Python.
-                                                              (line 150)
+                                                              (line 151)
 * BP_WATCHPOINT <1>:                     Breakpoints In Guile.
                                                               (line  60)
 * BP_WATCHPOINT:                         Breakpoints In Python.
-                                                              (line 144)
+                                                              (line 145)
 * break:                                 Set Breaks.          (line   6)
 * break ... task TASKNO (Ada):           Ada Tasks.           (line 135)
 * break ... thread THREADNO:             Thread-Specific Breakpoints.
@@ -511,39 +516,39 @@ Command, Variable, and Function Index
 * Breakpoint.__init__:                   Breakpoints In Python.
                                                               (line  10)
 * Breakpoint.commands:                   Breakpoints In Python.
-                                                              (line 179)
+                                                              (line 180)
 * Breakpoint.condition:                  Breakpoints In Python.
-                                                              (line 174)
+                                                              (line 175)
 * Breakpoint.delete:                     Breakpoints In Python.
                                                               (line  83)
 * Breakpoint.enabled:                    Breakpoints In Python.
                                                               (line  88)
 * Breakpoint.expression:                 Breakpoints In Python.
-                                                              (line 168)
+                                                              (line 169)
 * Breakpoint.hit_count:                  Breakpoints In Python.
-                                                              (line 157)
+                                                              (line 158)
 * Breakpoint.ignore_count:               Breakpoints In Python.
-                                                              (line 111)
+                                                              (line 112)
 * Breakpoint.is_valid:                   Breakpoints In Python.
                                                               (line  75)
 * Breakpoint.location:                   Breakpoints In Python.
-                                                              (line 162)
+                                                              (line 163)
 * Breakpoint.number:                     Breakpoints In Python.
-                                                              (line 115)
+                                                              (line 116)
 * Breakpoint.silent:                     Breakpoints In Python.
-                                                              (line  92)
+                                                              (line  93)
 * Breakpoint.stop:                       Breakpoints In Python.
                                                               (line  32)
 * Breakpoint.task:                       Breakpoints In Python.
-                                                              (line 105)
+                                                              (line 106)
 * Breakpoint.temporary:                  Breakpoints In Python.
-                                                              (line 130)
+                                                              (line 131)
 * Breakpoint.thread:                     Breakpoints In Python.
-                                                              (line 100)
+                                                              (line 101)
 * Breakpoint.type:                       Breakpoints In Python.
-                                                              (line 120)
+                                                              (line 121)
 * Breakpoint.visible:                    Breakpoints In Python.
-                                                              (line 125)
+                                                              (line 126)
 * breakpoint?:                           Breakpoints In Guile.
                                                               (line 110)
 * BreakpointEvent.breakpoint:            Events In Python.    (line 110)
@@ -553,7 +558,7 @@ Command, Variable, and Function Index
 * breakpoints-invalid annotation:        Invalidation.        (line  13)
 * bt (backtrace):                        Backtrace.           (line  11)
 * c (continue):                          Continuing and Stepping.
-                                                              (line  15)
+                                                              (line  16)
 * c (SingleKey TUI key):                 TUI Single Key Mode. (line  10)
 * C-L:                                   TUI Keys.            (line  65)
 * C-x 1:                                 TUI Keys.            (line  19)
@@ -591,6 +596,7 @@ Command, Variable, and Function Index
 * clear, and Objective-C:                Method Names in Commands.
                                                               (line   9)
 * clear-screen (C-l):                    Commands For Moving. (line  26)
+* ClearObjFilesEvent.progspace:          Events In Python.    (line 130)
 * clone-inferior:                        Inferiors and Programs.
                                                               (line  67)
 * collect (tracepoints):                 Tracepoint Actions.  (line  49)
@@ -629,6 +635,10 @@ Command, Variable, and Function Index
 * comment-begin:                         Readline Init File Syntax.
                                                               (line  47)
 * compare-sections:                      Memory.              (line 130)
+* compile code:                          Compiling and Injecting Code.
+                                                              (line  11)
+* compile file:                          Compiling and Injecting Code.
+                                                              (line  56)
 * complete:                              Help.                (line  77)
 * complete (<TAB>):                      Commands For Completion.
                                                               (line   6)
@@ -656,7 +666,7 @@ Command, Variable, and Function Index
                                                               (line  77)
 * condition:                             Conditions.          (line  58)
 * continue:                              Continuing and Stepping.
-                                                              (line  15)
+                                                              (line  16)
 * continue&:                             Background Execution.
                                                               (line  40)
 * convert-meta:                          Readline Init File Syntax.
@@ -700,6 +710,7 @@ Command, Variable, and Function Index
                                                               (line  39)
 * delete-horizontal-space ():            Commands For Killing.
                                                               (line  37)
+* demangle:                              Symbols.             (line 104)
 * detach:                                Attach.              (line  36)
 * detach (remote):                       Connecting.          (line  91)
 * detach inferiors INFNO...:             Inferiors and Programs.
@@ -718,13 +729,12 @@ Command, Variable, and Function Index
                                                               (line  20)
 * disable tracepoint:                    Enable and Disable Tracepoints.
                                                               (line   9)
-* disable type-printer:                  Symbols.             (line 246)
+* disable type-printer:                  Symbols.             (line 257)
 * disable-completion:                    Readline Init File Syntax.
                                                               (line  93)
 * disassemble:                           Machine Code.        (line  36)
 * disconnect:                            Connecting.          (line  98)
 * display:                               Auto Display.        (line  23)
-* dll-symbols:                           Cygwin Native.       (line  38)
 * do (down):                             Selection.           (line  40)
 * do-uppercase-version (M-a, M-b, M-X, ...): Miscellaneous Commands.
                                                               (line  14)
@@ -762,7 +772,7 @@ Command, Variable, and Function Index
                                                               (line  25)
 * enable tracepoint:                     Enable and Disable Tracepoints.
                                                               (line  19)
-* enable type-printer:                   Symbols.             (line 246)
+* enable type-printer:                   Symbols.             (line 257)
 * enable-keypad:                         Readline Init File Syntax.
                                                               (line 109)
 * enabled <1>:                           Xmethod API.         (line  19)
@@ -805,7 +815,7 @@ Command, Variable, and Function Index
 * f (frame):                             Selection.           (line  11)
 * f (SingleKey TUI key):                 TUI Single Key Mode. (line  16)
 * fg (resume foreground execution):      Continuing and Stepping.
-                                                              (line  15)
+                                                              (line  16)
 * field-artificial?:                     Types In Guile.      (line 263)
 * field-base-class?:                     Types In Guile.      (line 268)
 * field-bitpos:                          Types In Guile.      (line 254)
@@ -816,12 +826,12 @@ Command, Variable, and Function Index
 * field?:                                Types In Guile.      (line 240)
 * file:                                  Files.               (line  16)
 * fin (finish):                          Continuing and Stepping.
-                                                              (line 110)
+                                                              (line 111)
 * find:                                  Searching Memory.    (line   9)
 * find-pc-line:                          Symbol Tables In Guile.
                                                               (line  73)
 * finish:                                Continuing and Stepping.
-                                                              (line 110)
+                                                              (line 111)
 * finish&:                               Background Execution.
                                                               (line  43)
 * FinishBreakpoint.__init__:             Finish Breakpoints in Python.
@@ -832,7 +842,7 @@ Command, Variable, and Function Index
                                                               (line  39)
 * flush_i_cache:                         Bootstrapping.       (line  60)
 * flushregs:                             Maintenance Commands.
-                                                              (line 232)
+                                                              (line 241)
 * fo (forward-search):                   Search.              (line   9)
 * focus:                                 TUI Commands.        (line  40)
 * forward-backward-delete-char ():       Commands For Text.   (line  15)
@@ -865,8 +875,9 @@ Command, Variable, and Function Index
 * Frame.newer:                           Frames In Python.    (line 144)
 * Frame.older:                           Frames In Python.    (line 141)
 * Frame.pc:                              Frames In Python.    (line 131)
-* Frame.read_var:                        Frames In Python.    (line 151)
-* Frame.select:                          Frames In Python.    (line 159)
+* Frame.read_register:                   Frames In Python.    (line 151)
+* Frame.read_var:                        Frames In Python.    (line 156)
+* Frame.select:                          Frames In Python.    (line 164)
 * Frame.type:                            Frames In Python.    (line  51)
 * Frame.unwind_stop_reason:              Frames In Python.    (line  78)
 * frame?:                                Frames In Guile.     (line  23)
@@ -898,15 +909,15 @@ Command, Variable, and Function Index
 * gdb.Block:                             Blocks In Python.    (line   6)
 * gdb.block_for_pc:                      Blocks In Python.    (line  61)
 * gdb.BP_ACCESS_WATCHPOINT:              Breakpoints In Python.
-                                                              (line 153)
+                                                              (line 154)
 * gdb.BP_BREAKPOINT:                     Breakpoints In Python.
-                                                              (line 141)
+                                                              (line 142)
 * gdb.BP_HARDWARE_WATCHPOINT:            Breakpoints In Python.
-                                                              (line 147)
+                                                              (line 148)
 * gdb.BP_READ_WATCHPOINT:                Breakpoints In Python.
-                                                              (line 150)
+                                                              (line 151)
 * gdb.BP_WATCHPOINT:                     Breakpoints In Python.
-                                                              (line 144)
+                                                              (line 145)
 * gdb.Breakpoint:                        Breakpoints In Python.
                                                               (line   6)
 * gdb.breakpoints:                       Basic Python.        (line  55)
@@ -951,6 +962,7 @@ Command, Variable, and Function Index
 * gdb.LineTable:                         Line Tables In Python.
                                                               (line   6)
 * gdb.lookup_global_symbol:              Symbols In Python.   (line  33)
+* gdb.lookup_objfile:                    Objfiles In Python.  (line  25)
 * gdb.lookup_symbol:                     Symbols In Python.   (line  13)
 * gdb.lookup_type:                       Types In Python.     (line  11)
 * gdb.MemoryError:                       Exception Handling.  (line  30)
@@ -1026,32 +1038,32 @@ Command, Variable, and Function Index
 * gdb.target_charset:                    Basic Python.        (line 174)
 * gdb.target_wide_charset:               Basic Python.        (line 179)
 * gdb.Type:                              Types In Python.     (line   6)
-* gdb.TYPE_CODE_ARRAY:                   Types In Python.     (line 186)
-* gdb.TYPE_CODE_BITSTRING:               Types In Python.     (line 224)
-* gdb.TYPE_CODE_BOOL:                    Types In Python.     (line 245)
-* gdb.TYPE_CODE_CHAR:                    Types In Python.     (line 242)
-* gdb.TYPE_CODE_COMPLEX:                 Types In Python.     (line 248)
-* gdb.TYPE_CODE_DECFLOAT:                Types In Python.     (line 257)
-* gdb.TYPE_CODE_ENUM:                    Types In Python.     (line 195)
-* gdb.TYPE_CODE_ERROR:                   Types In Python.     (line 227)
-* gdb.TYPE_CODE_FLAGS:                   Types In Python.     (line 198)
-* gdb.TYPE_CODE_FLT:                     Types In Python.     (line 207)
-* gdb.TYPE_CODE_FUNC:                    Types In Python.     (line 201)
-* gdb.TYPE_CODE_INT:                     Types In Python.     (line 204)
-* gdb.TYPE_CODE_INTERNAL_FUNCTION:       Types In Python.     (line 260)
-* gdb.TYPE_CODE_MEMBERPTR:               Types In Python.     (line 236)
-* gdb.TYPE_CODE_METHOD:                  Types In Python.     (line 230)
-* gdb.TYPE_CODE_METHODPTR:               Types In Python.     (line 233)
-* gdb.TYPE_CODE_NAMESPACE:               Types In Python.     (line 254)
-* gdb.TYPE_CODE_PTR:                     Types In Python.     (line 183)
-* gdb.TYPE_CODE_RANGE:                   Types In Python.     (line 216)
-* gdb.TYPE_CODE_REF:                     Types In Python.     (line 239)
-* gdb.TYPE_CODE_SET:                     Types In Python.     (line 213)
-* gdb.TYPE_CODE_STRING:                  Types In Python.     (line 219)
-* gdb.TYPE_CODE_STRUCT:                  Types In Python.     (line 189)
-* gdb.TYPE_CODE_TYPEDEF:                 Types In Python.     (line 251)
-* gdb.TYPE_CODE_UNION:                   Types In Python.     (line 192)
-* gdb.TYPE_CODE_VOID:                    Types In Python.     (line 210)
+* gdb.TYPE_CODE_ARRAY:                   Types In Python.     (line 187)
+* gdb.TYPE_CODE_BITSTRING:               Types In Python.     (line 225)
+* gdb.TYPE_CODE_BOOL:                    Types In Python.     (line 246)
+* gdb.TYPE_CODE_CHAR:                    Types In Python.     (line 243)
+* gdb.TYPE_CODE_COMPLEX:                 Types In Python.     (line 249)
+* gdb.TYPE_CODE_DECFLOAT:                Types In Python.     (line 258)
+* gdb.TYPE_CODE_ENUM:                    Types In Python.     (line 196)
+* gdb.TYPE_CODE_ERROR:                   Types In Python.     (line 228)
+* gdb.TYPE_CODE_FLAGS:                   Types In Python.     (line 199)
+* gdb.TYPE_CODE_FLT:                     Types In Python.     (line 208)
+* gdb.TYPE_CODE_FUNC:                    Types In Python.     (line 202)
+* gdb.TYPE_CODE_INT:                     Types In Python.     (line 205)
+* gdb.TYPE_CODE_INTERNAL_FUNCTION:       Types In Python.     (line 261)
+* gdb.TYPE_CODE_MEMBERPTR:               Types In Python.     (line 237)
+* gdb.TYPE_CODE_METHOD:                  Types In Python.     (line 231)
+* gdb.TYPE_CODE_METHODPTR:               Types In Python.     (line 234)
+* gdb.TYPE_CODE_NAMESPACE:               Types In Python.     (line 255)
+* gdb.TYPE_CODE_PTR:                     Types In Python.     (line 184)
+* gdb.TYPE_CODE_RANGE:                   Types In Python.     (line 217)
+* gdb.TYPE_CODE_REF:                     Types In Python.     (line 240)
+* gdb.TYPE_CODE_SET:                     Types In Python.     (line 214)
+* gdb.TYPE_CODE_STRING:                  Types In Python.     (line 220)
+* gdb.TYPE_CODE_STRUCT:                  Types In Python.     (line 190)
+* gdb.TYPE_CODE_TYPEDEF:                 Types In Python.     (line 252)
+* gdb.TYPE_CODE_UNION:                   Types In Python.     (line 193)
+* gdb.TYPE_CODE_VOID:                    Types In Python.     (line 211)
 * gdb.WP_ACCESS:                         Breakpoints In Python.
                                                               (line  71)
 * gdb.WP_READ:                           Breakpoints In Python.
@@ -1086,7 +1098,7 @@ Command, Variable, and Function Index
 * handle_exception:                      Stub Contents.       (line  15)
 * hbreak:                                Set Breaks.          (line  62)
 * help:                                  Help.                (line   6)
-* help function:                         Convenience Funs.    (line  87)
+* help function:                         Convenience Funs.    (line 141)
 * help target:                           Target Commands.     (line  19)
 * help user-defined:                     Define.              (line  67)
 * history-append!:                       Basic Guile.         (line 109)
@@ -1107,7 +1119,6 @@ Command, Variable, and Function Index
 * i (info):                              Help.                (line 100)
 * if:                                    Command Files.       (line  75)
 * ignore:                                Conditions.          (line  90)
-* INCLUDE_RDB:                           VxWorks.             (line  33)
 * inferior INFNO:                        Inferiors and Programs.
                                                               (line  49)
 * Inferior.is_valid:                     Inferiors In Python. (line  36)
@@ -1118,6 +1129,10 @@ Command, Variable, and Function Index
 * Inferior.threads:                      Inferiors In Python. (line  43)
 * Inferior.was_attached:                 Inferiors In Python. (line  30)
 * Inferior.write_memory:                 Inferiors In Python. (line  54)
+* InferiorCallPostEvent.address:         Events In Python.    (line 151)
+* InferiorCallPostEvent.ptid:            Events In Python.    (line 148)
+* InferiorCallPreEvent.address:          Events In Python.    (line 141)
+* InferiorCallPreEvent.ptid:             Events In Python.    (line 138)
 * InferiorThread.is_exited:              Threads In Python.   (line  60)
 * InferiorThread.is_running:             Threads In Python.   (line  57)
 * InferiorThread.is_stopped:             Threads In Python.   (line  54)
@@ -1142,7 +1157,7 @@ Command, Variable, and Function Index
 * info auxv:                             OS Information.      (line  21)
 * info breakpoints:                      Set Breaks.          (line 128)
 * info checkpoints:                      Checkpoint/Restart.  (line  31)
-* info classes:                          Symbols.             (line 318)
+* info classes:                          Symbols.             (line 329)
 * info common:                           Special Fortran Commands.
                                                               (line   9)
 * info copying:                          Help.                (line 137)
@@ -1153,14 +1168,14 @@ Command, Variable, and Function Index
 * info exceptions:                       Ada Exceptions.      (line   8)
 * info extensions:                       Show.                (line  34)
 * info f (info frame):                   Frame Info.          (line  17)
-* info files:                            Files.               (line 215)
+* info files:                            Files.               (line 202)
 * info float:                            Floating Point Hardware.
                                                               (line   9)
 * info frame:                            Frame Info.          (line  17)
 * info frame, show the source language:  Show.                (line  15)
 * info frame-filter:                     Frame Filter Management.
                                                               (line  12)
-* info functions:                        Symbols.             (line 297)
+* info functions:                        Symbols.             (line 308)
 * info handle:                           Signals.             (line  33)
 * info inferiors:                        Inferiors and Programs.
                                                               (line  25)
@@ -1196,24 +1211,24 @@ Command, Variable, and Function Index
 * info record:                           Process Record and Replay.
                                                               (line 193)
 * info registers:                        Registers.           (line  11)
-* info scope:                            Symbols.             (line 251)
-* info selectors:                        Symbols.             (line 324)
+* info scope:                            Symbols.             (line 262)
+* info selectors:                        Symbols.             (line 335)
 * info serial:                           DJGPP Native.        (line 142)
 * info set:                              Help.                (line 120)
-* info share:                            Files.               (line 350)
-* info sharedlibrary:                    Files.               (line 350)
+* info share:                            Files.               (line 337)
+* info sharedlibrary:                    Files.               (line 337)
 * info signals:                          Signals.             (line  33)
 * info skip:                             Skipping Over Functions and Files.
                                                               (line  56)
-* info source:                           Symbols.             (line 272)
+* info source:                           Symbols.             (line 283)
 * info source, show the source language: Show.                (line  21)
-* info sources:                          Symbols.             (line 291)
+* info sources:                          Symbols.             (line 302)
 * info spu:                              SPU.                 (line  10)
 * info stack:                            Backtrace.           (line  46)
 * info static-tracepoint-markers:        Listing Static Tracepoint Markers.
                                                               (line   6)
 * info symbol:                           Symbols.             (line  84)
-* info target:                           Files.               (line 215)
+* info target:                           Files.               (line 202)
 * info task TASKNO:                      Ada Tasks.           (line  89)
 * info tasks:                            Ada Tasks.           (line   9)
 * info terminal:                         Input/Output.        (line  12)
@@ -1222,9 +1237,9 @@ Command, Variable, and Function Index
 * info tracepoints [N...]:               Listing Tracepoints. (line   6)
 * info tvariables:                       Trace State Variables.
                                                               (line  37)
-* info type-printers:                    Symbols.             (line 238)
-* info types:                            Symbols.             (line 224)
-* info variables:                        Symbols.             (line 309)
+* info type-printers:                    Symbols.             (line 249)
+* info types:                            Symbols.             (line 235)
+* info variables:                        Symbols.             (line 320)
 * info vector:                           Vector Unit.         (line   9)
 * info w32:                              Cygwin Native.       (line  19)
 * info warranty:                         Help.                (line 141)
@@ -1345,15 +1360,15 @@ Command, Variable, and Function Index
 * maint check-symtabs:                   Maintenance Commands.
                                                               (line  95)
 * maint cplus first_component:           Maintenance Commands.
-                                                              (line 102)
+                                                              (line 110)
 * maint cplus namespace:                 Maintenance Commands.
-                                                              (line 105)
-* maint demangle:                        Maintenance Commands.
-                                                              (line 108)
+                                                              (line 113)
+* maint demangler-warning:               Maintenance Commands.
+                                                              (line 129)
 * maint deprecate:                       Maintenance Commands.
-                                                              (line 111)
+                                                              (line 116)
 * maint dump-me:                         Maintenance Commands.
-                                                              (line 119)
+                                                              (line 124)
 * maint expand-symtabs:                  Maintenance Commands.
                                                               (line  98)
 * maint info bfds:                       Maintenance Commands.
@@ -1362,92 +1377,102 @@ Command, Variable, and Function Index
                                                               (line  33)
 * maint info program-spaces:             Inferiors and Programs.
                                                               (line 138)
-* maint info psymtabs:                   Symbols.             (line 386)
-* maint info sections:                   Files.               (line 224)
+* maint info psymtabs:                   Symbols.             (line 397)
+* maint info sections:                   Files.               (line 211)
 * maint info sol-threads:                Threads.             (line  98)
-* maint info symtabs:                    Symbols.             (line 386)
+* maint info symtabs:                    Symbols.             (line 397)
 * maint internal-error:                  Maintenance Commands.
-                                                              (line 124)
+                                                              (line 129)
 * maint internal-warning:                Maintenance Commands.
-                                                              (line 124)
+                                                              (line 129)
 * maint packet:                          Maintenance Commands.
-                                                              (line 164)
+                                                              (line 175)
 * maint print architecture:              Maintenance Commands.
-                                                              (line 170)
+                                                              (line 181)
 * maint print c-tdesc:                   Maintenance Commands.
-                                                              (line 174)
+                                                              (line 185)
 * maint print cooked-registers:          Maintenance Commands.
-                                                              (line 197)
+                                                              (line 206)
 * maint print dummy-frames:              Maintenance Commands.
-                                                              (line 179)
-* maint print msymbols:                  Symbols.             (line 367)
+                                                              (line 190)
+* maint print msymbols:                  Symbols.             (line 378)
 * maint print objfiles:                  Maintenance Commands.
-                                                              (line 235)
-* maint print psymbols:                  Symbols.             (line 367)
+                                                              (line 244)
+* maint print psymbols:                  Symbols.             (line 378)
 * maint print raw-registers:             Maintenance Commands.
-                                                              (line 197)
+                                                              (line 206)
 * maint print reggroups:                 Maintenance Commands.
-                                                              (line 216)
+                                                              (line 225)
 * maint print register-groups:           Maintenance Commands.
-                                                              (line 197)
+                                                              (line 206)
 * maint print registers:                 Maintenance Commands.
-                                                              (line 197)
+                                                              (line 206)
 * maint print remote-registers:          Maintenance Commands.
-                                                              (line 197)
+                                                              (line 206)
 * maint print section-scripts:           Maintenance Commands.
-                                                              (line 241)
+                                                              (line 259)
 * maint print statistics:                Maintenance Commands.
-                                                              (line 248)
-* maint print symbols:                   Symbols.             (line 367)
+                                                              (line 266)
+* maint print symbols:                   Symbols.             (line 378)
 * maint print target-stack:              Maintenance Commands.
-                                                              (line 261)
+                                                              (line 279)
 * maint print type:                      Maintenance Commands.
-                                                              (line 273)
+                                                              (line 291)
 * maint print unwind, HPPA:              HPPA.                (line  17)
+* maint print user-registers:            Maintenance Commands.
+                                                              (line 250)
+* maint set catch-demangler-crashes:     Maintenance Commands.
+                                                              (line 102)
+* maint set demangler-warning:           Maintenance Commands.
+                                                              (line 152)
 * maint set dwarf2 always-disassemble:   Maintenance Commands.
-                                                              (line 280)
+                                                              (line 298)
 * maint set dwarf2 max-cache-age:        Maintenance Commands.
-                                                              (line 302)
+                                                              (line 320)
 * maint set internal-error:              Maintenance Commands.
-                                                              (line 145)
+                                                              (line 152)
 * maint set internal-warning:            Maintenance Commands.
-                                                              (line 145)
+                                                              (line 152)
 * maint set per-command:                 Maintenance Commands.
-                                                              (line 354)
+                                                              (line 372)
 * maint set profile:                     Maintenance Commands.
-                                                              (line 316)
+                                                              (line 334)
 * maint set show-all-tib:                Maintenance Commands.
-                                                              (line 340)
+                                                              (line 358)
 * maint set show-debug-regs:             Maintenance Commands.
-                                                              (line 332)
+                                                              (line 350)
 * maint set target-async:                Maintenance Commands.
-                                                              (line 346)
+                                                              (line 364)
+* maint show catch-demangler-crashes:    Maintenance Commands.
+                                                              (line 102)
+* maint show demangler-warning:          Maintenance Commands.
+                                                              (line 152)
 * maint show dwarf2 always-disassemble:  Maintenance Commands.
-                                                              (line 280)
+                                                              (line 298)
 * maint show dwarf2 max-cache-age:       Maintenance Commands.
-                                                              (line 302)
+                                                              (line 320)
 * maint show internal-error:             Maintenance Commands.
-                                                              (line 145)
+                                                              (line 152)
 * maint show internal-warning:           Maintenance Commands.
-                                                              (line 145)
+                                                              (line 152)
 * maint show per-command:                Maintenance Commands.
-                                                              (line 354)
+                                                              (line 372)
 * maint show profile:                    Maintenance Commands.
-                                                              (line 316)
+                                                              (line 334)
 * maint show show-all-tib:               Maintenance Commands.
-                                                              (line 340)
+                                                              (line 358)
 * maint show show-debug-regs:            Maintenance Commands.
-                                                              (line 332)
+                                                              (line 350)
 * maint show target-async:               Maintenance Commands.
-                                                              (line 346)
+                                                              (line 364)
 * maint space:                           Maintenance Commands.
-                                                              (line 394)
+                                                              (line 412)
 * maint time:                            Maintenance Commands.
-                                                              (line 398)
+                                                              (line 416)
 * maint translate-address:               Maintenance Commands.
-                                                              (line 402)
+                                                              (line 420)
 * maint undeprecate:                     Maintenance Commands.
-                                                              (line 111)
+                                                              (line 116)
 * make:                                  Shell Commands.      (line  21)
 * make-block-symbols-iterator:           Blocks In Guile.     (line 106)
 * make-breakpoint:                       Breakpoints In Guile.
@@ -1488,6 +1513,8 @@ Command, Variable, and Function Index
                                                               (line  44)
 * memory-port?:                          Memory Ports in Guile.
                                                               (line  28)
+* MemoryChangedEvent.address:            Events In Python.    (line 160)
+* MemoryChangedEvent.length:             Events In Python.    (line 163)
 * memset:                                Bootstrapping.       (line  70)
 * menu-complete ():                      Commands For Completion.
                                                               (line  22)
@@ -1500,38 +1527,42 @@ Command, Variable, and Function Index
 * methods:                               Xmethod API.         (line  23)
 * monitor:                               Connecting.          (line 105)
 * n (next):                              Continuing and Stepping.
-                                                              (line  78)
+                                                              (line  79)
 * n (SingleKey TUI key):                 TUI Single Key Mode. (line  19)
 * name <1>:                              Xmethod API.         (line  16)
 * name:                                  Type Printing API.   (line  19)
 * newest-frame:                          Frames In Guile.     (line 158)
 * NewObjFileEvent.new_objfile:           Events In Python.    (line 120)
 * next:                                  Continuing and Stepping.
-                                                              (line  78)
+                                                              (line  79)
 * next&:                                 Background Execution.
                                                               (line  34)
 * next-history (C-n):                    Commands For History.
                                                               (line  16)
 * nexti:                                 Continuing and Stepping.
-                                                              (line 203)
+                                                              (line 204)
 * nexti&:                                Background Execution.
                                                               (line  37)
 * ni (nexti):                            Continuing and Stepping.
-                                                              (line 203)
+                                                              (line 204)
 * non-incremental-forward-search-history (M-n): Commands For History.
                                                               (line  40)
 * non-incremental-reverse-search-history (M-p): Commands For History.
                                                               (line  35)
-* nosharedlibrary:                       Files.               (line 365)
+* nosharedlibrary:                       Files.               (line 352)
 * Objfile:                               Objfiles In Python.  (line   6)
 * objfile-filename:                      Objfiles In Guile.   (line  29)
 * objfile-pretty-printers:               Objfiles In Guile.   (line  32)
 * objfile-valid?:                        Objfiles In Guile.   (line  22)
-* Objfile.filename:                      Objfiles In Python.  (line  29)
-* Objfile.frame_filters:                 Objfiles In Python.  (line  44)
-* Objfile.is_valid:                      Objfiles In Python.  (line  50)
-* Objfile.pretty_printers:               Objfiles In Python.  (line  32)
-* Objfile.type_printers:                 Objfiles In Python.  (line  40)
+* Objfile.add_separate_debug_file:       Objfiles In Python.  (line 116)
+* Objfile.build_id:                      Objfiles In Python.  (line  58)
+* Objfile.filename:                      Objfiles In Python.  (line  48)
+* Objfile.frame_filters:                 Objfiles In Python.  (line  84)
+* Objfile.is_valid:                      Objfiles In Python.  (line 109)
+* Objfile.owner:                         Objfiles In Python.  (line  51)
+* Objfile.pretty_printers:               Objfiles In Python.  (line  72)
+* Objfile.progspace:                     Objfiles In Python.  (line  68)
+* Objfile.type_printers:                 Objfiles In Python.  (line  80)
 * objfile?:                              Objfiles In Guile.   (line  18)
 * objfiles:                              Objfiles In Guile.   (line  48)
 * observer:                              Observer Mode.       (line  22)
@@ -1663,7 +1694,7 @@ Command, Variable, and Function Index
 * progspaces:                            Progspaces In Guile. (line  32)
 * prompt annotation:                     Prompting.           (line  24)
 * prompt-for-continue annotation:        Prompting.           (line  40)
-* ptype:                                 Symbols.             (line 159)
+* ptype:                                 Symbols.             (line 170)
 * putDebugChar:                          Bootstrapping.       (line  20)
 * pwd:                                   Working Directory.   (line  20)
 * py:                                    Python Commands.     (line  23)
@@ -1674,6 +1705,7 @@ Command, Variable, and Function Index
 * q (quit):                              Quitting GDB.        (line   6)
 * q (SingleKey TUI key):                 TUI Single Key Mode. (line  22)
 * query annotation:                      Prompting.           (line  36)
+* queue-signal:                          Signaling.           (line  36)
 * quit [EXPRESSION]:                     Quitting GDB.        (line   6)
 * quit annotation:                       Errors.              (line   6)
 * quoted-insert (C-q or C-v):            Commands For Text.   (line  20)
@@ -1728,6 +1760,8 @@ Command, Variable, and Function Index
 * register-command!:                     Commands In Guile.   (line  58)
 * register-parameter!:                   Parameters In Guile. (line  94)
 * register_xmethod_matcher:              Xmethod API.         (line  79)
+* RegisterChangedEvent.frame:            Events In Python.    (line 170)
+* RegisterChangedEvent.regnum:           Events In Python.    (line 174)
 * remote delete:                         File Transfer.       (line  23)
 * remote get:                            File Transfer.       (line  19)
 * remote put:                            File Transfer.       (line  15)
@@ -1763,7 +1797,7 @@ Command, Variable, and Function Index
 * rwatch:                                Set Watchpoints.     (line  79)
 * s (SingleKey TUI key):                 TUI Single Key Mode. (line  28)
 * s (step):                              Continuing and Stepping.
-                                                              (line  46)
+                                                              (line  47)
 * sal-last:                              Symbol Tables In Guile.
                                                               (line  70)
 * sal-line:                              Symbol Tables In Guile.
@@ -1784,7 +1818,7 @@ Command, Variable, and Function Index
 * sdistatus:                             M32R/D.              (line  47)
 * sds, a command:                        PowerPC Embedded.    (line  94)
 * search:                                Search.              (line   9)
-* section:                               Files.               (line 206)
+* section:                               Files.               (line 193)
 * select-frame:                          Frames.              (line  51)
 * selected-frame:                        Frames In Guile.     (line 154)
 * self:                                  Commands In Guile.   (line 101)
@@ -1798,7 +1832,7 @@ Command, Variable, and Function Index
 * set architecture:                      Targets.             (line  21)
 * set args:                              Arguments.           (line  21)
 * set arm:                               ARM.                 (line  18)
-* set auto-connect-native-target:        Starting.            (line 161)
+* set auto-connect-native-target:        Starting.            (line 160)
 * set auto-load gdb-scripts:             Auto-loading sequences.
                                                               (line  13)
 * set auto-load guile-scripts:           Guile Auto-loading.  (line  17)
@@ -1812,13 +1846,13 @@ Command, Variable, and Function Index
                                                               (line  32)
 * set auto-load scripts-directory:       objfile-gdbdotext file.
                                                               (line  39)
-* set auto-solib-add:                    Files.               (line 327)
+* set auto-solib-add:                    Files.               (line 314)
 * set backtrace:                         Backtrace.           (line 116)
-* set basenames-may-differ:              Files.               (line 546)
+* set basenames-may-differ:              Files.               (line 533)
 * set board-address:                     M32R/D.              (line  21)
 * set breakpoint always-inserted:        Set Breaks.          (line 327)
 * set breakpoint auto-hw:                Set Breaks.          (line 307)
-* set breakpoint condition-evaluation:   Set Breaks.          (line 355)
+* set breakpoint condition-evaluation:   Set Breaks.          (line 348)
 * set breakpoint pending:                Set Breaks.          (line 276)
 * set can-use-hw-watchpoints:            Set Watchpoints.     (line 116)
 * set case-sensitive:                    Symbols.             (line  27)
@@ -1840,7 +1874,7 @@ Command, Variable, and Function Index
 * set complaints:                        Messages/Warnings.   (line  29)
 * set confirm:                           Messages/Warnings.   (line  50)
 * set cp-abi:                            ABI.                 (line  58)
-* set cygwin-exceptions:                 Cygwin Native.       (line  45)
+* set cygwin-exceptions:                 Cygwin Native.       (line  38)
 * set data-directory:                    Data Files.          (line  12)
 * set dcache line-size:                  Caching Target Data. (line  60)
 * set dcache size:                       Caching Target Data. (line  57)
@@ -1858,15 +1892,15 @@ Command, Variable, and Function Index
 * set debug nios2:                       Nios II.             (line  10)
 * set debug-file-directory:              Separate Debug Files.
                                                               (line  70)
-* set debugevents:                       Cygwin Native.       (line  74)
-* set debugexceptions:                   Cygwin Native.       (line  85)
-* set debugexec:                         Cygwin Native.       (line  81)
-* set debugmemory:                       Cygwin Native.       (line  89)
+* set debugevents:                       Cygwin Native.       (line  67)
+* set debugexceptions:                   Cygwin Native.       (line  78)
+* set debugexec:                         Cygwin Native.       (line  74)
+* set debugmemory:                       Cygwin Native.       (line  82)
 * set default-collect:                   Tracepoint Actions.  (line 135)
 * set demangle-style:                    Print Settings.      (line 429)
 * set detach-on-fork:                    Forks.               (line  55)
 * set directories:                       Source Path.         (line 120)
-* set disable-randomization:             Starting.            (line 204)
+* set disable-randomization:             Starting.            (line 203)
 * set disassemble-next-line:             Machine Code.        (line 144)
 * set disassembly-flavor:                Machine Code.        (line 132)
 * set disconnected-dprintf:              Dynamic Printf.      (line  83)
@@ -1881,7 +1915,7 @@ Command, Variable, and Function Index
 * set exceptions, Hurd command:          Hurd Native.         (line  40)
 * set exec-direction:                    Reverse Execution.   (line  83)
 * set exec-done-display:                 Debugging Output.    (line  11)
-* set exec-wrapper:                      Starting.            (line 113)
+* set exec-wrapper:                      Starting.            (line 112)
 * set extended-prompt:                   Prompt.              (line  25)
 * set extension-language:                Show.                (line  30)
 * set follow-exec-mode:                  Forks.               (line 101)
@@ -1917,14 +1951,14 @@ Command, Variable, and Function Index
 * set monitor-warnings, MIPS remote:     MIPS Embedded.       (line 123)
 * set multiple-symbols:                  Ambiguous Expressions.
                                                               (line  50)
-* set new-console:                       Cygwin Native.       (line  57)
-* set new-group:                         Cygwin Native.       (line  66)
+* set new-console:                       Cygwin Native.       (line  50)
+* set new-group:                         Cygwin Native.       (line  59)
 * set non-stop:                          Non-Stop Mode.       (line  35)
-* set opaque-type-resolution:            Symbols.             (line 330)
+* set opaque-type-resolution:            Symbols.             (line 341)
 * set osabi:                             ABI.                 (line  11)
 * set output-radix:                      Numbers.             (line  31)
 * set overload-resolution:               Debugging C Plus Plus.
-                                                              (line  55)
+                                                              (line  59)
 * set pagination:                        Screen Size.         (line  40)
 * set powerpc:                           PowerPC Embedded.    (line  51)
 * set print:                             Print Settings.      (line  11)
@@ -1932,7 +1966,7 @@ Command, Variable, and Function Index
 * set print frame-arguments:             Print Settings.      (line 155)
 * set print inferior-events:             Inferiors and Programs.
                                                               (line 117)
-* set print symbol-loading:              Symbols.             (line 348)
+* set print symbol-loading:              Symbols.             (line 359)
 * set print thread-events:               Threads.             (line 156)
 * set print type methods:                Symbols.             (line  44)
 * set print type typedefs:               Symbols.             (line  58)
@@ -1945,7 +1979,7 @@ Command, Variable, and Function Index
 * set python print-stack:                Python Commands.     (line  46)
 * set radix:                             Numbers.             (line  44)
 * set range-stepping:                    Continuing and Stepping.
-                                                              (line 224)
+                                                              (line 225)
 * set ravenscar task-switching off:      Ravenscar Profile.   (line  14)
 * set ravenscar task-switching on:       Ravenscar Profile.   (line  10)
 * set rdiheartbeat:                      ARM.                 (line 112)
@@ -1969,26 +2003,26 @@ Command, Variable, and Function Index
 * set sdstimeout:                        PowerPC Embedded.    (line  87)
 * set server-address:                    M32R/D.              (line  27)
 * set sh calling-convention:             Super-H.             (line   9)
-* set shell:                             Cygwin Native.       (line  93)
+* set shell:                             Cygwin Native.       (line  86)
 * set signal-thread:                     Hurd Native.         (line  21)
 * set signals, Hurd command:             Hurd Native.         (line  11)
 * set sigs, Hurd command:                Hurd Native.         (line  11)
 * set sigthread:                         Hurd Native.         (line  21)
-* set solib-absolute-prefix:             Files.               (line 403)
-* set solib-search-path:                 Files.               (line 472)
+* set solib-absolute-prefix:             Files.               (line 390)
+* set solib-search-path:                 Files.               (line 459)
 * set spu:                               SPU.                 (line  39)
 * set stack-cache:                       Caching Target Data. (line  28)
-* set startup-with-shell:                Starting.            (line 138)
+* set startup-with-shell:                Starting.            (line 137)
 * set step-mode:                         Continuing and Stepping.
-                                                              (line  92)
-* set stop-on-solib-events:              Files.               (line 380)
+                                                              (line  93)
+* set stop-on-solib-events:              Files.               (line 367)
 * set stopped, Hurd command:             Hurd Native.         (line  32)
 * set struct-convention:                 i386.                (line   7)
 * set substitute-path:                   Source Path.         (line 127)
 * set syn-garbage-limit, MIPS remote:    MIPS Embedded.       (line  98)
-* set sysroot:                           Files.               (line 403)
+* set sysroot:                           Files.               (line 390)
 * set target-charset:                    Character Sets.      (line  28)
-* set target-file-system-kind (unix|dos-based|auto): Files.   (line 486)
+* set target-file-system-kind (unix|dos-based|auto): Files.   (line 473)
 * set target-wide-charset:               Character Sets.      (line  61)
 * set task, Hurd commands:               Hurd Native.         (line  49)
 * set tcp:                               Remote Configuration.
@@ -2004,7 +2038,7 @@ Command, Variable, and Function Index
                                                               (line 135)
 * set trace-user:                        Starting and Stopping Trace Experiments.
                                                               (line 125)
-* set trust-readonly-sections:           Files.               (line 282)
+* set trust-readonly-sections:           Files.               (line 269)
 * set tui active-border-mode:            TUI Configuration.   (line  24)
 * set tui border-kind:                   TUI Configuration.   (line   9)
 * set tui border-mode:                   TUI Configuration.   (line  23)
@@ -2013,7 +2047,7 @@ Command, Variable, and Function Index
 * set variable:                          Assignment.          (line  16)
 * set verbose:                           Messages/Warnings.   (line  15)
 * set watchdog:                          Maintenance Commands.
-                                                              (line 420)
+                                                              (line 438)
 * set width:                             Screen Size.         (line  21)
 * set write:                             Patching.            (line  15)
 * set-breakpoint-condition!:             Breakpoints In Guile.
@@ -2047,8 +2081,8 @@ Command, Variable, and Function Index
                                                               (line  39)
 * set-progspace-pretty-printers!:        Progspaces In Guile. (line  59)
 * set_debug_traps:                       Stub Contents.       (line  10)
-* share:                                 Files.               (line 356)
-* sharedlibrary:                         Files.               (line 356)
+* share:                                 Files.               (line 343)
+* sharedlibrary:                         Files.               (line 343)
 * shell:                                 Shell Commands.      (line  10)
 * show:                                  Help.                (line 113)
 * show ada trust-PAD-over-XVS:           Ada Glitches.        (line  43)
@@ -2071,13 +2105,13 @@ Command, Variable, and Function Index
                                                               (line  46)
 * show auto-load scripts-directory:      objfile-gdbdotext file.
                                                               (line  63)
-* show auto-solib-add:                   Files.               (line 344)
+* show auto-solib-add:                   Files.               (line 331)
 * show backtrace:                        Backtrace.           (line 123)
-* show basenames-may-differ:             Files.               (line 549)
+* show basenames-may-differ:             Files.               (line 536)
 * show board-address:                    M32R/D.              (line  24)
 * show breakpoint always-inserted:       Set Breaks.          (line 327)
 * show breakpoint auto-hw:               Set Breaks.          (line 307)
-* show breakpoint condition-evaluation:  Set Breaks.          (line 355)
+* show breakpoint condition-evaluation:  Set Breaks.          (line 348)
 * show breakpoint pending:               Set Breaks.          (line 276)
 * show can-use-hw-watchpoints:           Set Watchpoints.     (line 119)
 * show case-sensitive:                   Symbols.             (line  40)
@@ -2103,7 +2137,7 @@ Command, Variable, and Function Index
 * show convenience:                      Convenience Vars.    (line  37)
 * show copying:                          Help.                (line 137)
 * show cp-abi:                           ABI.                 (line  58)
-* show cygwin-exceptions:                Cygwin Native.       (line  53)
+* show cygwin-exceptions:                Cygwin Native.       (line  46)
 * show data-directory:                   Data Files.          (line  16)
 * show dcache line-size:                 Caching Target Data. (line  68)
 * show dcache size:                      Caching Target Data. (line  64)
@@ -2162,20 +2196,20 @@ Command, Variable, and Function Index
 * show monitor-warnings, MIPS remote:    MIPS Embedded.       (line 129)
 * show multiple-symbols:                 Ambiguous Expressions.
                                                               (line  70)
-* show new-console:                      Cygwin Native.       (line  62)
-* show new-group:                        Cygwin Native.       (line  71)
+* show new-console:                      Cygwin Native.       (line  55)
+* show new-group:                        Cygwin Native.       (line  64)
 * show non-stop:                         Non-Stop Mode.       (line  39)
-* show opaque-type-resolution:           Symbols.             (line 345)
+* show opaque-type-resolution:           Symbols.             (line 356)
 * show osabi:                            ABI.                 (line  11)
 * show output-radix:                     Numbers.             (line  39)
 * show overload-resolution:              Debugging C Plus Plus.
-                                                              (line  72)
+                                                              (line  76)
 * show pagination:                       Screen Size.         (line  46)
 * show paths:                            Environment.         (line  29)
 * show print:                            Print Settings.      (line  39)
 * show print inferior-events:            Inferiors and Programs.
                                                               (line 125)
-* show print symbol-loading:             Symbols.             (line 363)
+* show print symbol-loading:             Symbols.             (line 374)
 * show print thread-events:              Threads.             (line 166)
 * show print type methods:               Symbols.             (line  54)
 * show print type typedefs:              Symbols.             (line  70)
@@ -2187,7 +2221,7 @@ Command, Variable, and Function Index
 * show prompt:                           Prompt.              (line  19)
 * show radix:                            Numbers.             (line  44)
 * show range-stepping:                   Continuing and Stepping.
-                                                              (line 224)
+                                                              (line 225)
 * show ravenscar task-switching:         Ravenscar Profile.   (line  22)
 * show rdiheartbeat:                     ARM.                 (line 117)
 * show rdiromatzero:                     ARM.                 (line 109)
@@ -2209,22 +2243,22 @@ Command, Variable, and Function Index
 * show sdstimeout:                       PowerPC Embedded.    (line  91)
 * show server-address:                   M32R/D.              (line  31)
 * show sh calling-convention:            Super-H.             (line  22)
-* show shell:                            Cygwin Native.       (line  97)
+* show shell:                            Cygwin Native.       (line  90)
 * show signal-thread:                    Hurd Native.         (line  28)
 * show signals, Hurd command:            Hurd Native.         (line  17)
 * show sigs, Hurd command:               Hurd Native.         (line  17)
 * show sigthread:                        Hurd Native.         (line  28)
-* show solib-search-path:                Files.               (line 483)
+* show solib-search-path:                Files.               (line 470)
 * show spu:                              SPU.                 (line  44)
 * show stack-cache:                      Caching Target Data. (line  33)
-* show stop-on-solib-events:             Files.               (line 386)
+* show stop-on-solib-events:             Files.               (line 373)
 * show stopped, Hurd command:            Hurd Native.         (line  37)
 * show struct-convention:                i386.                (line  15)
 * show substitute-path:                  Source Path.         (line 164)
 * show syn-garbage-limit, MIPS remote:   MIPS Embedded.       (line 103)
-* show sysroot:                          Files.               (line 469)
+* show sysroot:                          Files.               (line 456)
 * show target-charset:                   Character Sets.      (line  58)
-* show target-file-system-kind:          Files.               (line 486)
+* show target-file-system-kind:          Files.               (line 473)
 * show target-wide-charset:              Character Sets.      (line  67)
 * show task, Hurd commands:              Hurd Native.         (line  57)
 * show tcp:                              Remote Configuration.
@@ -2253,7 +2287,7 @@ Command, Variable, and Function Index
 * show-all-if-unmodified:                Readline Init File Syntax.
                                                               (line 218)
 * si (stepi):                            Continuing and Stepping.
-                                                              (line 190)
+                                                              (line 191)
 * signal:                                Signaling.           (line   6)
 * signal annotation:                     Annotations for Running.
                                                               (line  42)
@@ -2287,7 +2321,7 @@ Command, Variable, and Function Index
                                                               (line  51)
 * source:                                Command Files.       (line  17)
 * source annotation:                     Source Annotations.  (line   6)
-* start:                                 Starting.            (line  80)
+* start:                                 Starting.            (line  79)
 * start-kbd-macro (C-x ():               Keyboard Macros.     (line   6)
 * starting annotation:                   Annotations for Running.
                                                               (line   6)
@@ -2296,11 +2330,11 @@ Command, Variable, and Function Index
 * STDLOG:                                Basic Python.        (line 146)
 * STDOUT:                                Basic Python.        (line 140)
 * step:                                  Continuing and Stepping.
-                                                              (line  46)
+                                                              (line  47)
 * step&:                                 Background Execution.
                                                               (line  28)
 * stepi:                                 Continuing and Stepping.
-                                                              (line 190)
+                                                              (line 191)
 * stepi&:                                Background Execution.
                                                               (line  31)
 * stop, a pseudo-command:                Hooks.               (line  21)
@@ -2396,17 +2430,19 @@ Command, Variable, and Function Index
 * Symtab.filename:                       Symbol Tables In Python.
                                                               (line  45)
 * Symtab.fullname:                       Symbol Tables In Python.
-                                                              (line  62)
+                                                              (line  68)
 * Symtab.global_block:                   Symbol Tables In Python.
-                                                              (line  65)
+                                                              (line  71)
 * Symtab.is_valid:                       Symbol Tables In Python.
-                                                              (line  55)
+                                                              (line  61)
 * Symtab.linetable:                      Symbol Tables In Python.
-                                                              (line  73)
+                                                              (line  79)
 * Symtab.objfile:                        Symbol Tables In Python.
                                                               (line  49)
+* Symtab.producer:                       Symbol Tables In Python.
+                                                              (line  53)
 * Symtab.static_block:                   Symbol Tables In Python.
-                                                              (line  69)
+                                                              (line  75)
 * symtab?:                               Symbol Tables In Guile.
                                                               (line  19)
 * Symtab_and_line.is_valid:              Symbol Tables In Python.
@@ -2420,7 +2456,7 @@ Command, Variable, and Function Index
 * Symtab_and_line.symtab:                Symbol Tables In Python.
                                                               (line  17)
 * sysinfo:                               DJGPP Native.        (line  19)
-* tabset:                                TUI Commands.        (line  84)
+* tabset:                                TUI Commands.        (line  87)
 * target:                                Target Commands.     (line  49)
 * target array:                          MIPS Embedded.       (line  49)
 * target ctf:                            Trace Files.         (line  28)
@@ -2448,7 +2484,6 @@ Command, Variable, and Function Index
 * target sim, with Z8000:                Z8000.               (line  15)
 * target sparclite:                      Sparclite.           (line   6)
 * target tfile:                          Trace Files.         (line  28)
-* target vxworks:                        VxWorks.             (line   6)
 * target w89k:                           PA.                  (line   9)
 * target-config:                         Guile Configuration. (line  25)
 * task (Ada):                            Ada Tasks.           (line 105)
@@ -2523,60 +2558,60 @@ Command, Variable, and Function Index
 * Type.volatile:                         Types In Python.     (line 128)
 * type?:                                 Types In Guile.      (line  12)
 * TYPE_CODE_ARRAY <1>:                   Types In Guile.      (line 153)
-* TYPE_CODE_ARRAY:                       Types In Python.     (line 186)
+* TYPE_CODE_ARRAY:                       Types In Python.     (line 187)
 * TYPE_CODE_BITSTRING <1>:               Types In Guile.      (line 191)
-* TYPE_CODE_BITSTRING:                   Types In Python.     (line 224)
+* TYPE_CODE_BITSTRING:                   Types In Python.     (line 225)
 * TYPE_CODE_BOOL <1>:                    Types In Guile.      (line 212)
-* TYPE_CODE_BOOL:                        Types In Python.     (line 245)
+* TYPE_CODE_BOOL:                        Types In Python.     (line 246)
 * TYPE_CODE_CHAR <1>:                    Types In Guile.      (line 209)
-* TYPE_CODE_CHAR:                        Types In Python.     (line 242)
+* TYPE_CODE_CHAR:                        Types In Python.     (line 243)
 * TYPE_CODE_COMPLEX <1>:                 Types In Guile.      (line 215)
-* TYPE_CODE_COMPLEX:                     Types In Python.     (line 248)
+* TYPE_CODE_COMPLEX:                     Types In Python.     (line 249)
 * TYPE_CODE_DECFLOAT <1>:                Types In Guile.      (line 224)
-* TYPE_CODE_DECFLOAT:                    Types In Python.     (line 257)
+* TYPE_CODE_DECFLOAT:                    Types In Python.     (line 258)
 * TYPE_CODE_ENUM <1>:                    Types In Guile.      (line 162)
-* TYPE_CODE_ENUM:                        Types In Python.     (line 195)
+* TYPE_CODE_ENUM:                        Types In Python.     (line 196)
 * TYPE_CODE_ERROR <1>:                   Types In Guile.      (line 194)
-* TYPE_CODE_ERROR:                       Types In Python.     (line 227)
+* TYPE_CODE_ERROR:                       Types In Python.     (line 228)
 * TYPE_CODE_FLAGS <1>:                   Types In Guile.      (line 165)
-* TYPE_CODE_FLAGS:                       Types In Python.     (line 198)
+* TYPE_CODE_FLAGS:                       Types In Python.     (line 199)
 * TYPE_CODE_FLT <1>:                     Types In Guile.      (line 174)
-* TYPE_CODE_FLT:                         Types In Python.     (line 207)
+* TYPE_CODE_FLT:                         Types In Python.     (line 208)
 * TYPE_CODE_FUNC <1>:                    Types In Guile.      (line 168)
-* TYPE_CODE_FUNC:                        Types In Python.     (line 201)
+* TYPE_CODE_FUNC:                        Types In Python.     (line 202)
 * TYPE_CODE_INT <1>:                     Types In Guile.      (line 171)
-* TYPE_CODE_INT:                         Types In Python.     (line 204)
+* TYPE_CODE_INT:                         Types In Python.     (line 205)
 * TYPE_CODE_INTERNAL_FUNCTION <1>:       Types In Guile.      (line 227)
-* TYPE_CODE_INTERNAL_FUNCTION:           Types In Python.     (line 260)
+* TYPE_CODE_INTERNAL_FUNCTION:           Types In Python.     (line 261)
 * TYPE_CODE_MEMBERPTR <1>:               Types In Guile.      (line 203)
-* TYPE_CODE_MEMBERPTR:                   Types In Python.     (line 236)
+* TYPE_CODE_MEMBERPTR:                   Types In Python.     (line 237)
 * TYPE_CODE_METHOD <1>:                  Types In Guile.      (line 197)
-* TYPE_CODE_METHOD:                      Types In Python.     (line 230)
+* TYPE_CODE_METHOD:                      Types In Python.     (line 231)
 * TYPE_CODE_METHODPTR <1>:               Types In Guile.      (line 200)
-* TYPE_CODE_METHODPTR:                   Types In Python.     (line 233)
+* TYPE_CODE_METHODPTR:                   Types In Python.     (line 234)
 * TYPE_CODE_NAMESPACE <1>:               Types In Guile.      (line 221)
-* TYPE_CODE_NAMESPACE:                   Types In Python.     (line 254)
+* TYPE_CODE_NAMESPACE:                   Types In Python.     (line 255)
 * TYPE_CODE_PTR <1>:                     Types In Guile.      (line 150)
-* TYPE_CODE_PTR:                         Types In Python.     (line 183)
+* TYPE_CODE_PTR:                         Types In Python.     (line 184)
 * TYPE_CODE_RANGE <1>:                   Types In Guile.      (line 183)
-* TYPE_CODE_RANGE:                       Types In Python.     (line 216)
+* TYPE_CODE_RANGE:                       Types In Python.     (line 217)
 * TYPE_CODE_REF <1>:                     Types In Guile.      (line 206)
-* TYPE_CODE_REF:                         Types In Python.     (line 239)
+* TYPE_CODE_REF:                         Types In Python.     (line 240)
 * TYPE_CODE_SET <1>:                     Types In Guile.      (line 180)
-* TYPE_CODE_SET:                         Types In Python.     (line 213)
+* TYPE_CODE_SET:                         Types In Python.     (line 214)
 * TYPE_CODE_STRING <1>:                  Types In Guile.      (line 186)
-* TYPE_CODE_STRING:                      Types In Python.     (line 219)
+* TYPE_CODE_STRING:                      Types In Python.     (line 220)
 * TYPE_CODE_STRUCT <1>:                  Types In Guile.      (line 156)
-* TYPE_CODE_STRUCT:                      Types In Python.     (line 189)
+* TYPE_CODE_STRUCT:                      Types In Python.     (line 190)
 * TYPE_CODE_TYPEDEF <1>:                 Types In Guile.      (line 218)
-* TYPE_CODE_TYPEDEF:                     Types In Python.     (line 251)
+* TYPE_CODE_TYPEDEF:                     Types In Python.     (line 252)
 * TYPE_CODE_UNION <1>:                   Types In Guile.      (line 159)
-* TYPE_CODE_UNION:                       Types In Python.     (line 192)
+* TYPE_CODE_UNION:                       Types In Python.     (line 193)
 * TYPE_CODE_VOID <1>:                    Types In Guile.      (line 177)
-* TYPE_CODE_VOID:                        Types In Python.     (line 210)
+* TYPE_CODE_VOID:                        Types In Python.     (line 211)
 * u (SingleKey TUI key):                 TUI Single Key Mode. (line  31)
 * u (until):                             Continuing and Stepping.
-                                                              (line 118)
+                                                              (line 119)
 * undefined-command-error-code:          GDB/MI Support Commands.
                                                               (line 111)
 * undisplay:                             Auto Display.        (line  45)
@@ -2592,7 +2627,7 @@ Command, Variable, and Function Index
 * unset environment:                     Environment.         (line  61)
 * unset substitute-path:                 Source Path.         (line 156)
 * until:                                 Continuing and Stepping.
-                                                              (line 118)
+                                                              (line 119)
 * until&:                                Background Execution.
                                                               (line  46)
 * unwind-stop-reason-string:             Frames In Guile.     (line 161)
@@ -2705,12 +2740,11 @@ Command, Variable, and Function Index
                                                               (line  43)
 * visible-stats:                         Readline Init File Syntax.
                                                               (line 240)
-* vxworks-timeout:                       VxWorks.             (line  23)
 * w (SingleKey TUI key):                 TUI Single Key Mode. (line  37)
 * watch:                                 Set Watchpoints.     (line  42)
 * watchpoint annotation:                 Annotations for Running.
                                                               (line  50)
-* whatis:                                Symbols.             (line 104)
+* whatis:                                Symbols.             (line 115)
 * where:                                 Backtrace.           (line  46)
 * while:                                 Command Files.       (line  86)
 * while-stepping (tracepoints):          Tracepoint Actions.  (line 118)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdbinit.5	2015-01-13 02:06:58.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2015-01-20 02:09:47.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2015-01-13" "gdb-7.8.1.20150113-cvs" "GNU Development Tools"
+.TH GDBINIT 5 "2015-01-20" "gdb-7.8.90.20150120-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -186,7 +186,7 @@ should give you access to the complete m
 Richard M. Stallman and Roland H. Pesch, July 1991.
 .SH "COPYRIGHT"
 .IX Header "COPYRIGHT"
-Copyright (c) 1988\-2014 Free Software Foundation, Inc.
+Copyright (c) 1988\-2015 Free Software Foundation, Inc.
 .PP
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdbserver.1	2015-01-13 02:06:57.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2015-01-20 02:09:46.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2015-01-13" "gdb-7.8.1.20150113-cvs" "GNU Development Tools"
+.TH GDBSERVER 1 "2015-01-20" "gdb-7.8.90.20150120-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -354,7 +354,7 @@ should give you access to the complete m
 Richard M. Stallman and Roland H. Pesch, July 1991.
 .SH "COPYRIGHT"
 .IX Header "COPYRIGHT"
-Copyright (c) 1988\-2014 Free Software Foundation, Inc.
+Copyright (c) 1988\-2015 Free Software Foundation, Inc.
 .PP
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.texinfo ./gdb/doc/gdb.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/gdb.texinfo	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/gdb.texinfo	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 \input texinfo      @c -*-texinfo-*-
-@c Copyright (C) 1988-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
 @c
 @c %**start of header
 @c makeinfo ignores cmds prev to setfilename, so its arg cannot make use
@@ -50,7 +50,7 @@
 
 @copying
 @c man begin COPYRIGHT
-Copyright @copyright{} 1988-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2015 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -120,7 +120,7 @@ This is the @value{EDITION} Edition, for
 @end ifset
 Version @value{GDBVN}.
 
-Copyright (C) 1988-2014 Free Software Foundation, Inc.
+Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
 This edition of the GDB manual is dedicated to the memory of Fred
 Fish.  Fred was a long-standing contributor to GDB and to Free
@@ -1977,10 +1977,10 @@ format in @value{GDBN}.
 @item run
 @itemx r
 Use the @code{run} command to start your program under @value{GDBN}.
-You must first specify the program name (except on VxWorks) with an
-argument to @value{GDBN} (@pxref{Invocation, ,Getting In and Out of
-@value{GDBN}}), or by using the @code{file} or @code{exec-file} command
-(@pxref{Files, ,Commands to Specify Files}).
+You must first specify the program name with an argument to
+@value{GDBN} (@pxref{Invocation, ,Getting In and Out of
+@value{GDBN}}), or by using the @code{file} or @code{exec-file}
+command (@pxref{Files, ,Commands to Specify Files}).
 
 @end table
 
@@ -3850,21 +3850,13 @@ This behavior can be controlled with the
 @item set breakpoint always-inserted off
 All breakpoints, including newly added by the user, are inserted in
 the target only when the target is resumed.  All breakpoints are
-removed from the target when it stops.
+removed from the target when it stops.  This is the default mode.
 
 @item set breakpoint always-inserted on
 Causes all breakpoints to be inserted in the target at all times.  If
 the user adds a new breakpoint, or changes an existing breakpoint, the
 breakpoints in the target are updated immediately.  A breakpoint is
-removed from the target only when breakpoint itself is removed.
-
-@cindex non-stop mode, and @code{breakpoint always-inserted}
-@item set breakpoint always-inserted auto
-This is the default mode.  If @value{GDBN} is controlling the inferior
-in non-stop mode (@pxref{Non-Stop Mode}), gdb behaves as if
-@code{breakpoint always-inserted} mode is on.  If @value{GDBN} is
-controlling the inferior in all-stop mode, @value{GDBN} behaves as if
-@code{breakpoint always-inserted} mode is off.
+removed from the target only when breakpoint itself is deleted.
 @end table
 
 @value{GDBN} handles conditional breakpoints by evaluating these conditions
@@ -5087,7 +5079,9 @@ line of source code, or one machine inst
 particular command you use).  Either when continuing or when stepping,
 your program may stop even sooner, due to a breakpoint or a signal.  (If
 it stops due to a signal, you may want to use @code{handle}, or use
-@samp{signal 0} to resume execution.  @xref{Signals, ,Signals}.)
+@samp{signal 0} to resume execution (@pxref{Signals, ,Signals}),
+or you may step into the signal's handler (@pxref{stepping and signal
+handlers}).)
 
 @table @code
 @kindex continue
@@ -5581,6 +5575,66 @@ a result of the fatal signal once it saw
 you can continue with @samp{signal 0}.  @xref{Signaling, ,Giving your
 Program a Signal}.
 
+@cindex stepping and signal handlers
+@anchor{stepping and signal handlers}
+
+@value{GDBN} optimizes for stepping the mainline code.  If a signal
+that has @code{handle nostop} and @code{handle pass} set arrives while
+a stepping command (e.g., @code{stepi}, @code{step}, @code{next}) is
+in progress, @value{GDBN} lets the signal handler run and then resumes
+stepping the mainline code once the signal handler returns.  In other
+words, @value{GDBN} steps over the signal handler.  This prevents
+signals that you've specified as not interesting (with @code{handle
+nostop}) from changing the focus of debugging unexpectedly.  Note that
+the signal handler itself may still hit a breakpoint, stop for another
+signal that has @code{handle stop} in effect, or for any other event
+that normally results in stopping the stepping command sooner.  Also
+note that @value{GDBN} still informs you that the program received a
+signal if @code{handle print} is set.
+
+@anchor{stepping into signal handlers}
+
+If you set @code{handle pass} for a signal, and your program sets up a
+handler for it, then issuing a stepping command, such as @code{step}
+or @code{stepi}, when your program is stopped due to the signal will
+step @emph{into} the signal handler (if the target supports that).
+
+Likewise, if you use the @code{queue-signal} command to queue a signal
+to be delivered to the current thread when execution of the thread
+resumes (@pxref{Signaling, ,Giving your Program a Signal}), then a
+stepping command will step into the signal handler.
+
+Here's an example, using @code{stepi} to step to the first instruction
+of @code{SIGUSR1}'s handler:
+
+@smallexample
+(@value{GDBP}) handle SIGUSR1
+Signal        Stop      Print   Pass to program Description
+SIGUSR1       Yes       Yes     Yes             User defined signal 1
+(@value{GDBP}) c
+Continuing.
+
+Program received signal SIGUSR1, User defined signal 1.
+main () sigusr1.c:28
+28        p = 0;
+(@value{GDBP}) si
+sigusr1_handler () at sigusr1.c:9
+9       @{
+@end smallexample
+
+The same, but using @code{queue-signal} instead of waiting for the
+program to receive the signal first:
+
+@smallexample
+(@value{GDBP}) n
+28        p = 0;
+(@value{GDBP}) queue-signal SIGUSR1
+(@value{GDBP}) si
+sigusr1_handler () at sigusr1.c:9
+9       @{
+(@value{GDBP})
+@end smallexample
+
 @cindex extra signal information
 @anchor{extra signal information}
 
@@ -10098,6 +10152,70 @@ Otherwise it returns zero.
 @findex $_strlen@r{, convenience function}
 Returns the length of string @var{str}.
 
+@item $_caller_is(@var{name}@r{[}, @var{number_of_frames}@r{]})
+@findex $_caller_is@r{, convenience function}
+Returns one if the calling function's name is equal to @var{name}.
+Otherwise it returns zero.
+
+If the optional argument @var{number_of_frames} is provided,
+it is the number of frames up in the stack to look.
+The default is 1.
+
+Example:
+
+@smallexample
+(gdb) backtrace
+#0  bottom_func ()
+    at testsuite/gdb.python/py-caller-is.c:21
+#1  0x00000000004005a0 in middle_func ()
+    at testsuite/gdb.python/py-caller-is.c:27
+#2  0x00000000004005ab in top_func ()
+    at testsuite/gdb.python/py-caller-is.c:33
+#3  0x00000000004005b6 in main ()
+    at testsuite/gdb.python/py-caller-is.c:39
+(gdb) print $_caller_is ("middle_func")
+$1 = 1
+(gdb) print $_caller_is ("top_func", 2)
+$1 = 1
+@end smallexample
+
+@item $_caller_matches(@var{regexp}@r{[}, @var{number_of_frames}@r{]})
+@findex $_caller_matches@r{, convenience function}
+Returns one if the calling function's name matches the regular expression
+@var{regexp}.  Otherwise it returns zero.
+
+If the optional argument @var{number_of_frames} is provided,
+it is the number of frames up in the stack to look.
+The default is 1.
+
+@item $_any_caller_is(@var{name}@r{[}, @var{number_of_frames}@r{]})
+@findex $_any_caller_is@r{, convenience function}
+Returns one if any calling function's name is equal to @var{name}.
+Otherwise it returns zero.
+
+If the optional argument @var{number_of_frames} is provided,
+it is the number of frames up in the stack to look.
+The default is 1.
+
+This function differs from @code{$_caller_is} in that this function
+checks all stack frames from the immediate caller to the frame specified
+by @var{number_of_frames}, whereas @code{$_caller_is} only checks the
+frame specified by @var{number_of_frames}.
+
+@item $_any_caller_matches(@var{regexp}@r{[}, @var{number_of_frames}@r{]})
+@findex $_any_caller_matches@r{, convenience function}
+Returns one if any calling function's name matches the regular expression
+@var{regexp}.  Otherwise it returns zero.
+
+If the optional argument @var{number_of_frames} is provided,
+it is the number of frames up in the stack to look.
+The default is 1.
+
+This function differs from @code{$_caller_matches} in that this function
+checks all stack frames from the immediate caller to the frame specified
+by @var{number_of_frames}, whereas @code{$_caller_matches} only checks the
+frame specified by @var{number_of_frames}.
+
 @end table
 
 @value{GDBN} provides the ability to list and get help on
@@ -10138,6 +10256,7 @@ the selected stack frame.  The @var{regn
 the machine you are using, with or without the initial @samp{$}.
 @end table
 
+@anchor{standard registers}
 @cindex stack pointer register
 @cindex program counter register
 @cindex process status register
@@ -14096,6 +14215,11 @@ method tables of the object computed by 
 one entry per virtual table; there may be multiple virtual tables when
 multiple inheritance is in use.
 
+@cindex C@t{++} demangling
+@item demangle @var{name}
+Demangle @var{name}.
+@xref{Symbols}, for a more complete description of the @code{demangle} command.
+
 @cindex C@t{++} symbol display
 @item set print demangle
 @itemx show print demangle
@@ -15669,10 +15793,9 @@ When inspecting a core file, as opposed 
 tasking support may be limited or even unavailable, depending on
 the platform being used.
 For instance, on x86-linux, the list of tasks is available, but task
-switching is not supported.  On Tru64, however, task switching will work
-as usual.
+switching is not supported.
 
-On certain platforms, including Tru64, the debugger needs to perform some
+On certain platforms, the debugger needs to perform some
 memory writes in order to provide Ada tasking support.  When inspecting
 a core file, this means that the core file must be opened with read-write
 privileges, using the command @samp{"set write on"} (@pxref{Patching}).
@@ -15952,6 +16075,19 @@ _start + 5 in section .text of /tmp/a.ou
 __read_nocancel + 6 in section .text of /usr/lib64/libc.so.6
 @end smallexample
 
+@kindex demangle
+@cindex demangle
+@item demangle @r{[}-l @var{language}@r{]} @r{[}@var{--}@r{]} @var{name}
+Demangle @var{name}.
+If @var{language} is provided it is the name of the language to demangle
+@var{name} in.  Otherwise @var{name} is demangled in the current language.
+
+The @samp{--} option specifies the end of options,
+and is useful when @var{name} begins with a dash.
+
+The parameter @code{demangle-style} specifies how to interpret the kind
+of mangling used. @xref{Print Settings}.
+
 @kindex whatis
 @item whatis[/@var{flags}] [@var{arg}]
 Print the data type of @var{arg}, which can be either an expression
@@ -16376,6 +16512,7 @@ address, or even return prematurely from
 * Returning::                   Returning from a function
 * Calling::                     Calling your program's functions
 * Patching::                    Patching your program
+* Compiling and Injecting Code:: Compiling and injecting code in @value{GDBN}
 @end menu
 
 @node Assignment
@@ -16546,7 +16683,7 @@ detail.
 @table @code
 @kindex signal
 @item signal @var{signal}
-Resume execution where your program stopped, but immediately give it the
+Resume execution where your program is stopped, but immediately give it the
 signal @var{signal}.  The @var{signal} can be the name or the number of a
 signal.  For example, on many systems @code{signal 2} and @code{signal
 SIGINT} are both ways of sending an interrupt signal.
@@ -16557,10 +16694,14 @@ a signal and would ordinarily see the si
 @code{continue} command; @samp{signal 0} causes it to resume without a
 signal.
 
-@code{signal} does not repeat when you press @key{RET} a second time
-after executing the command.
-@end table
-@c @end group
+@emph{Note:} When resuming a multi-threaded program, @var{signal} is
+delivered to the currently selected thread, not the thread that last
+reported a stop.  This includes the situation where a thread was
+stopped due to a signal.  So if you want to continue execution
+suppressing the signal that stopped a thread, you should select that
+same thread before issuing the @samp{signal 0} command.  If you issue
+the @samp{signal 0} command with another thread as the selected one,
+@value{GDBN} detects that and asks for confirmation.
 
 Invoking the @code{signal} command is not the same as invoking the
 @code{kill} utility from the shell.  Sending a signal with @code{kill}
@@ -16568,6 +16709,35 @@ causes @value{GDBN} to decide what to do
 the signal handling tables (@pxref{Signals}).  The @code{signal} command
 passes the signal directly to your program.
 
+@code{signal} does not repeat when you press @key{RET} a second time
+after executing the command.
+
+@kindex queue-signal
+@item queue-signal @var{signal}
+Queue @var{signal} to be delivered immediately to the current thread
+when execution of the thread resumes.  The @var{signal} can be the name or
+the number of a signal.  For example, on many systems @code{signal 2} and
+@code{signal SIGINT} are both ways of sending an interrupt signal.
+The handling of the signal must be set to pass the signal to the program,
+otherwise @value{GDBN} will report an error.
+You can control the handling of signals from @value{GDBN} with the
+@code{handle} command (@pxref{Signals}).
+
+Alternatively, if @var{signal} is zero, any currently queued signal
+for the current thread is discarded and when execution resumes no signal
+will be delivered.  This is useful when your program stopped on account
+of a signal and would ordinarily see the signal when resumed with the
+@code{continue} command.
+
+This command differs from the @code{signal} command in that the signal
+is just queued, execution is not resumed.  And @code{queue-signal} cannot
+be used to pass a signal whose handling state has been set to @code{nopass}
+(@pxref{Signals}).
+@end table
+@c @end group
+
+@xref{stepping into signal handlers}, for information on how stepping
+commands behave when the thread has a signal queued.
 
 @node Returning
 @section Returning from a Function
@@ -16765,6 +16935,237 @@ Display whether executable files and cor
 as well as reading.
 @end table
 
+@node Compiling and Injecting Code
+@section Compiling and injecting code in @value{GDBN}
+@cindex injecting code
+@cindex writing into executables
+@cindex compiling code
+
+@value{GDBN} supports on-demand compilation and code injection into
+programs running under @value{GDBN}.  GCC 5.0 or higher built with
+@file{libcc1.so} must be installed for this functionality to be enabled.
+This functionality is implemented with the following commands.
+
+@table @code
+@kindex compile code
+@item compile code @var{source-code}
+@itemx compile code -raw @var{--} @var{source-code}
+Compile @var{source-code} with the compiler language found as the current
+language in @value{GDBN} (@pxref{Languages}).  If compilation and
+injection is not supported with the current language specified in
+@value{GDBN}, or the compiler does not support this feature, an error
+message will be printed.  If @var{source-code} compiles and links
+successfully, @value{GDBN} will load the object-code emitted,
+and execute it within the context of the currently selected inferior.
+It is important to note that the compiled code is executed immediately.
+After execution, the compiled code is removed from @value{GDBN} and any
+new types or variables you have defined will be deleted.
+
+The command allows you to specify @var{source-code} in two ways.
+The simplest method is to provide a single line of code to the command.
+E.g.:
+
+@smallexample
+compile code printf ("hello world\n");
+@end smallexample
+
+If you specify options on the command line as well as source code, they
+may conflict.  The @samp{--} delimiter can be used to separate options
+from actual source code.  E.g.:
+
+@smallexample
+compile code -r -- printf ("hello world\n");
+@end smallexample
+
+Alternatively you can enter source code as multiple lines of text.  To
+enter this mode, invoke the @samp{compile code} command without any text
+following the command.  This will start the multiple-line editor and
+allow you to type as many lines of source code as required.  When you
+have completed typing, enter @samp{end} on its own line to exit the
+editor.
+
+@smallexample
+compile code
+>printf ("hello\n");
+>printf ("world\n");
+>end
+@end smallexample
+
+Specifying @samp{-raw}, prohibits @value{GDBN} from wrapping the
+provided @var{source-code} in a callable scope.  In this case, you must
+specify the entry point of the code by defining a function named
+@code{_gdb_expr_}.  The @samp{-raw} code cannot access variables of the
+inferior.  Using @samp{-raw} option may be needed for example when
+@var{source-code} requires @samp{#include} lines which may conflict with
+inferior symbols otherwise.
+
+@kindex compile file
+@item compile file @var{filename}
+@itemx compile file -raw @var{filename}
+Like @code{compile code}, but take the source code from @var{filename}.
+
+@smallexample
+compile file /home/user/example.c
+@end smallexample
+@end table
+
+@subsection Caveats when using the @code{compile} command
+
+There are a few caveats to keep in mind when using the @code{compile}
+command.  As the caveats are different per language, the table below
+highlights specific issues on a per language basis.
+
+@table @asis
+@item C code examples and caveats
+When the language in @value{GDBN} is set to @samp{C}, the compiler will
+attempt to compile the source code with a @samp{C} compiler.  The source
+code provided to the @code{compile} command will have much the same
+access to variables and types as it normally would if it were part of
+the program currently being debugged in @value{GDBN}.
+
+Below is a sample program that forms the basis of the examples that
+follow.  This program has been compiled and loaded into @value{GDBN},
+much like any other normal debugging session.
+
+@smallexample
+void function1 (void)
+@{
+   int i = 42;
+   printf ("function 1\n");
+@}
+
+void function2 (void)
+@{
+   int j = 12;
+   function1 ();
+@}
+
+int main(void)
+@{
+   int k = 6;
+   int *p;
+   function2 ();
+   return 0;
+@}
+@end smallexample
+
+For the purposes of the examples in this section, the program above has
+been compiled, loaded into @value{GDBN}, stopped at the function
+@code{main}, and @value{GDBN} is awaiting input from the user.
+
+To access variables and types for any program in @value{GDBN}, the
+program must be compiled and packaged with debug information.  The
+@code{compile} command is not an exception to this rule.  Without debug
+information, you can still use the @code{compile} command, but you will
+be very limited in what variables and types you can access.
+
+So with that in mind, the example above has been compiled with debug
+information enabled.  The @code{compile} command will have access to
+all variables and types (except those that may have been optimized
+out).  Currently, as @value{GDBN} has stopped the program in the
+@code{main} function, the @code{compile} command would have access to
+the variable @code{k}.  You could invoke the @code{compile} command
+and type some source code to set the value of @code{k}.  You can also
+read it, or do anything with that variable you would normally do in
+@code{C}.  Be aware that changes to inferior variables in the
+@code{compile} command are persistent.  In the following example:
+
+@smallexample
+compile code k = 3;
+@end smallexample
+
+@noindent
+the variable @code{k} is now 3.  It will retain that value until
+something else in the example program changes it, or another
+@code{compile} command changes it.
+
+Normal scope and access rules apply to source code compiled and
+injected by the @code{compile} command.  In the example, the variables
+@code{j} and @code{k} are not accessible yet, because the program is
+currently stopped in the @code{main} function, where these variables
+are not in scope.  Therefore, the following command
+
+@smallexample
+compile code j = 3;
+@end smallexample
+
+@noindent
+will result in a compilation error message.
+
+Once the program is continued, execution will bring these variables in
+scope, and they will become accessible; then the code you specify via
+the @code{compile} command will be able to access them.
+
+You can create variables and types with the @code{compile} command as
+part of your source code.  Variables and types that are created as part
+of the @code{compile} command are not visible to the rest of the program for
+the duration of its run.  This example is valid:
+
+@smallexample
+compile code int ff = 5; printf ("ff is %d\n", ff);
+@end smallexample
+
+However, if you were to type the following into @value{GDBN} after that
+command has completed:
+
+@smallexample
+compile code printf ("ff is %d\n'', ff);
+@end smallexample
+
+@noindent
+a compiler error would be raised as the variable @code{ff} no longer
+exists.  Object code generated and injected by the @code{compile}
+command is removed when its execution ends.  Caution is advised
+when assigning to program variables values of variables created by the
+code submitted to the @code{compile} command.  This example is valid:
+
+@smallexample
+compile code int ff = 5; k = ff;
+@end smallexample
+
+The value of the variable @code{ff} is assigned to @code{k}.  The variable
+@code{k} does not require the existence of @code{ff} to maintain the value
+it has been assigned.  However, pointers require particular care in
+assignment.  If the source code compiled with the @code{compile} command
+changed the address of a pointer in the example program, perhaps to a
+variable created in the @code{compile} command, that pointer would point
+to an invalid location when the command exits.  The following example
+would likely cause issues with your debugged program:
+
+@smallexample
+compile code int ff = 5; p = &ff;
+@end smallexample
+
+In this example, @code{p} would point to @code{ff} when the
+@code{compile} command is executing the source code provided to it.
+However, as variables in the (example) program persist with their
+assigned values, the variable @code{p} would point to an invalid
+location when the command exists.  A general rule should be followed
+in that you should either assign @code{NULL} to any assigned pointers,
+or restore a valid location to the pointer before the command exits.
+
+Similar caution must be exercised with any structs, unions, and typedefs
+defined in @code{compile} command.  Types defined in the @code{compile}
+command will no longer be available in the next @code{compile} command.
+Therefore, if you cast a variable to a type defined in the
+@code{compile} command, care must be taken to ensure that any future
+need to resolve the type can be achieved.
+
+@smallexample
+(gdb) compile code static struct a @{ int a; @} v = @{ 42 @}; argv = &v;
+(gdb) compile code printf ("%d\n", ((struct a *) argv)->a);
+gdb command line:1:36: error: dereferencing pointer to incomplete type â€˜struct aâ€™
+Compilation failed.
+(gdb) compile code struct a @{ int a; @}; printf ("%d\n", ((struct a *) argv)->a);
+42
+@end smallexample
+
+Variables that have been optimized away by the compiler are not
+accessible to the code submitted to the @code{compile} command.
+Access to those variables will generate a compiler error which @value{GDBN}
+will print to the console.
+@end table
+
 @node GDB Files
 @chapter @value{GDBN} Files
 
@@ -17007,22 +17408,6 @@ evaluation yields the address of the fil
 For this command to work, you must have used @code{symbol-file} or
 @code{exec-file} commands in advance.
 
-@kindex add-shared-symbol-files
-@kindex assf
-@item add-shared-symbol-files @var{library-file}
-@itemx assf @var{library-file}
-This command is deprecated and will be removed in future versions
-of @value{GDBN}.  Use the @code{sharedlibrary} command instead.
-
-The @code{add-shared-symbol-files} command can currently be used only
-in the Cygwin build of @value{GDBN} on MS-Windows OS, where it is an
-alias for the @code{dll-symbols} command (@pxref{Cygwin Native}).
-@value{GDBN} automatically looks for shared libraries, however if
-@value{GDBN} does not find yours, you can invoke
-@code{add-shared-symbol-files}.  It takes one argument: the shared
-library's file name.  @code{assf} is a shorthand alias for
-@code{add-shared-symbol-files}.
-
 @kindex section
 @item section @var{section} @var{addr}
 The @code{section} command changes the base address of the named
@@ -19640,8 +20025,7 @@ If @value{GDBN} is configured for an ope
 facility, the command @code{info proc} is available to report
 information about the process running your program, or about any
 process running on your system.  This includes, as of this writing,
-@sc{gnu}/Linux, OSF/1 (Digital Unix), Solaris, and Irix, but
-not HP-UX, for example.
+@sc{gnu}/Linux and Solaris, but not HP-UX, for example.
 
 This command may also work on core files that were created on a system
 that has the @samp{/proc} facility.
@@ -19996,14 +20380,6 @@ selector for 32-bit programs and @code{$
 @item info dll
 This is a Cygwin-specific alias of @code{info shared}.
 
-@kindex dll-symbols
-@item dll-symbols
-This command is deprecated and will be removed in future versions
-of @value{GDBN}.  Use the @code{sharedlibrary} command instead.
-
-This command loads symbols from a dll similarly to
-add-sym command but without the need to specify a base address.
-
 @kindex set cygwin-exceptions
 @cindex debugging the Cygwin DLL
 @cindex Cygwin DLL, debugging
@@ -20419,175 +20795,9 @@ This section describes configurations in
 embedded operating systems that are available for several different
 architectures.
 
-@menu
-* VxWorks::                     Using @value{GDBN} with VxWorks
-@end menu
-
 @value{GDBN} includes the ability to debug programs running on
 various real-time operating systems.
 
-@node VxWorks
-@subsection Using @value{GDBN} with VxWorks
-
-@cindex VxWorks
-
-@table @code
-
-@kindex target vxworks
-@item target vxworks @var{machinename}
-A VxWorks system, attached via TCP/IP.  The argument @var{machinename}
-is the target system's machine name or IP address.
-
-@end table
-
-On VxWorks, @code{load} links @var{filename} dynamically on the
-current target system as well as adding its symbols in @value{GDBN}.
-
-@value{GDBN} enables developers to spawn and debug tasks running on networked
-VxWorks targets from a Unix host.  Already-running tasks spawned from
-the VxWorks shell can also be debugged.  @value{GDBN} uses code that runs on
-both the Unix host and on the VxWorks target.  The program
-@code{@value{GDBP}} is installed and executed on the Unix host.  (It may be
-installed with the name @code{vxgdb}, to distinguish it from a
-@value{GDBN} for debugging programs on the host itself.)
-
-@table @code
-@item VxWorks-timeout @var{args}
-@kindex vxworks-timeout
-All VxWorks-based targets now support the option @code{vxworks-timeout}.
-This option is set by the user, and @var{args} represents the number of
-seconds @value{GDBN} waits for responses to rpc's.  You might use this if
-your VxWorks target is a slow software simulator or is on the far side
-of a thin network line.
-@end table
-
-The following information on connecting to VxWorks was current when
-this manual was produced; newer releases of VxWorks may use revised
-procedures.
-
-@findex INCLUDE_RDB
-To use @value{GDBN} with VxWorks, you must rebuild your VxWorks kernel
-to include the remote debugging interface routines in the VxWorks
-library @file{rdb.a}.  To do this, define @code{INCLUDE_RDB} in the
-VxWorks configuration file @file{configAll.h} and rebuild your VxWorks
-kernel.  The resulting kernel contains @file{rdb.a}, and spawns the
-source debugging task @code{tRdbTask} when VxWorks is booted.  For more
-information on configuring and remaking VxWorks, see the manufacturer's
-manual.
-@c VxWorks, see the @cite{VxWorks Programmer's Guide}.
-
-Once you have included @file{rdb.a} in your VxWorks system image and set
-your Unix execution search path to find @value{GDBN}, you are ready to
-run @value{GDBN}.  From your Unix host, run @code{@value{GDBP}} (or
-@code{vxgdb}, depending on your installation).
-
-@value{GDBN} comes up showing the prompt:
-
-@smallexample
-(vxgdb)
-@end smallexample
-
-@menu
-* VxWorks Connection::          Connecting to VxWorks
-* VxWorks Download::            VxWorks download
-* VxWorks Attach::              Running tasks
-@end menu
-
-@node VxWorks Connection
-@subsubsection Connecting to VxWorks
-
-The @value{GDBN} command @code{target} lets you connect to a VxWorks target on the
-network.  To connect to a target whose host name is ``@code{tt}'', type:
-
-@smallexample
-(vxgdb) target vxworks tt
-@end smallexample
-
-@need 750
-@value{GDBN} displays messages like these:
-
-@smallexample
-Attaching remote machine across net...
-Connected to tt.
-@end smallexample
-
-@need 1000
-@value{GDBN} then attempts to read the symbol tables of any object modules
-loaded into the VxWorks target since it was last booted.  @value{GDBN} locates
-these files by searching the directories listed in the command search
-path (@pxref{Environment, ,Your Program's Environment}); if it fails
-to find an object file, it displays a message such as:
-
-@smallexample
-prog.o: No such file or directory.
-@end smallexample
-
-When this happens, add the appropriate directory to the search path with
-the @value{GDBN} command @code{path}, and execute the @code{target}
-command again.
-
-@node VxWorks Download
-@subsubsection VxWorks Download
-
-@cindex download to VxWorks
-If you have connected to the VxWorks target and you want to debug an
-object that has not yet been loaded, you can use the @value{GDBN}
-@code{load} command to download a file from Unix to VxWorks
-incrementally.  The object file given as an argument to the @code{load}
-command is actually opened twice: first by the VxWorks target in order
-to download the code, then by @value{GDBN} in order to read the symbol
-table.  This can lead to problems if the current working directories on
-the two systems differ.  If both systems have NFS mounted the same
-filesystems, you can avoid these problems by using absolute paths.
-Otherwise, it is simplest to set the working directory on both systems
-to the directory in which the object file resides, and then to reference
-the file by its name, without any path.  For instance, a program
-@file{prog.o} may reside in @file{@var{vxpath}/vw/demo/rdb} in VxWorks
-and in @file{@var{hostpath}/vw/demo/rdb} on the host.  To load this
-program, type this on VxWorks:
-
-@smallexample
--> cd "@var{vxpath}/vw/demo/rdb"
-@end smallexample
-
-@noindent
-Then, in @value{GDBN}, type:
-
-@smallexample
-(vxgdb) cd @var{hostpath}/vw/demo/rdb
-(vxgdb) load prog.o
-@end smallexample
-
-@value{GDBN} displays a response similar to this:
-
-@smallexample
-Reading symbol data from wherever/vw/demo/rdb/prog.o... done.
-@end smallexample
-
-You can also use the @code{load} command to reload an object module
-after editing and recompiling the corresponding source file.  Note that
-this makes @value{GDBN} delete all currently-defined breakpoints,
-auto-displays, and convenience variables, and to clear the value
-history.  (This is necessary in order to preserve the integrity of
-debugger's data structures that reference the target system's symbol
-table.)
-
-@node VxWorks Attach
-@subsubsection Running Tasks
-
-@cindex running VxWorks tasks
-You can also attach to an existing task using the @code{attach} command as
-follows:
-
-@smallexample
-(vxgdb) attach @var{task}
-@end smallexample
-
-@noindent
-where @var{task} is the VxWorks hexadecimal task ID.  The task can be running
-or suspended when you attach to it.  Running tasks are suspended at
-the time of attachment.
-
 @node Embedded Processors
 @section Embedded Processors
 
@@ -22431,6 +22641,8 @@ These are @value{GDBN} control commands 
 @tab Control for @value{GDBN} auto-loaded scripts location.
 @item @xref{show auto-load scripts-directory}.
 @tab Show @value{GDBN} auto-loaded scripts location.
+@item @xref{add-auto-load-scripts-directory}.
+@tab Add directory for auto-loaded scripts location list.
 @item @xref{set auto-load local-gdbinit}.
 @tab Control for init file in the current directory.
 @item @xref{show auto-load local-gdbinit}.
@@ -22579,9 +22791,9 @@ scripts.
 @anchor{add-auto-load-safe-path}
 @kindex add-auto-load-safe-path
 @item add-auto-load-safe-path
-Add an entry (or list of entries) the list of directories trusted for automatic
-loading and execution of scripts.  Multiple entries may be delimited by the
-host platform path separator in use.
+Add an entry (or list of entries) to the list of directories trusted for
+automatic loading and execution of scripts.  Multiple entries may be delimited
+by the host platform path separator in use.
 @end table
 
 This variable defaults to what @code{--with-auto-load-dir} has been configured
@@ -22968,6 +23180,14 @@ Turns on or off debugging messages for F
 @item show debug solib-frv
 Display the current state of FR-V shared-library code debugging
 messages.
+@item set debug symbol-lookup
+@cindex symbol lookup
+Turns on or off display of debugging messages related to symbol lookup.
+The default is 0 (off).
+A value of 1 provides basic information.
+A value greater than 1 provides more verbose information.
+@item show debug symbol-lookup
+Show the current state of symbol lookup debugging messages.
 @item set debug symfile
 @cindex symbol file functions
 Turns on or off display of debugging messages related to symbol file functions.
@@ -22987,8 +23207,7 @@ Show the current state of symbol table c
 Turns on or off display of @value{GDBN} target debugging info. This info
 includes what is going on at the target level of GDB, as it happens. The
 default is 0.  Set it to 1 to track events, and to 2 to also track the
-value of large memory transfers.  Changes to this flag do not take effect
-until the next time you connect to a target or use the @code{run} command.
+value of large memory transfers.
 @item show debug target
 Displays the current state of displaying @value{GDBN} target debugging
 info.
@@ -23731,6 +23950,12 @@ to the @env{PATH} environment variable.
 @kindex show auto-load scripts-directory
 @item show auto-load scripts-directory
 Show @value{GDBN} auto-loaded scripts location.
+
+@anchor{add-auto-load-scripts-directory}
+@kindex add-auto-load-scripts-directory
+@item add-auto-load-scripts-directory @r{[}@var{directories}@dots{}@r{]}
+Add an entry (or list of entries) to the list of auto-loaded scripts locations.
+Multiple entries may be delimited by the host platform path separator in use.
 @end table
 
 @value{GDBN} does not track which files it has already auto-loaded this way.
@@ -24384,11 +24609,15 @@ Update the source window and the current
 @kindex winheight
 Change the height of the window @var{name} by @var{count}
 lines.  Positive counts increase the height, while negative counts
-decrease it.
+decrease it.  The @var{name} parameter can be one of @code{src} (the
+source window), @code{cmd} (the command window), @code{asm} (the
+disassembly window), or @code{regs} (the register display window).
 
 @item tabset @var{nchars}
 @kindex tabset
-Set the width of tab stops to be @var{nchars} characters.
+Set the width of tab stops to be @var{nchars} characters.  This
+setting affects the display of TAB characters in the source and
+assembly windows.
 @end table
 
 @node TUI Configuration
@@ -31233,6 +31462,11 @@ valid type.
 The target-specific process identifier.  This field is only present
 for thread groups of type @samp{process} and only if the process exists.
 
+@item exit-code
+The exit code of this group's last exited thread, formatted in octal.
+This field is only present for thread groups of type @samp{process} and
+only if the process is not running.
+
 @item num_children
 The number of children this thread group has.  This field may be
 absent for an available thread group.
@@ -33239,6 +33473,17 @@ Expand symbol tables.
 If @var{regexp} is specified, only expand symbol tables for file
 names matching @var{regexp}.
 
+@kindex maint set catch-demangler-crashes
+@kindex maint show catch-demangler-crashes
+@cindex demangler crashes
+@item maint set catch-demangler-crashes [on|off]
+@itemx maint show catch-demangler-crashes
+Control whether @value{GDBN} should attempt to catch crashes in the
+symbol name demangler.  The default is to attempt to catch crashes.
+If enabled, the first time a crash is caught, a core file is created,
+the offending symbol is displayed and the user is presented with the
+option to terminate the current session.
+
 @kindex maint cplus first_component
 @item maint cplus first_component @var{name}
 Print the first C@t{++} class/namespace component of @var{name}.
@@ -33247,10 +33492,6 @@ Print the first C@t{++} class/namespace 
 @item maint cplus namespace
 Print the list of possible C@t{++} namespaces.
 
-@kindex maint demangle
-@item maint demangle @var{name}
-Demangle a C@t{++} or Objective-C mangled @var{name}.
-
 @kindex maint deprecate
 @kindex maint undeprecate
 @cindex deprecated commands
@@ -33271,13 +33512,18 @@ with the @code{SIGQUIT} signal.
 
 @kindex maint internal-error
 @kindex maint internal-warning
+@kindex maint demangler-warning
+@cindex demangler crashes
 @item maint internal-error @r{[}@var{message-text}@r{]}
 @itemx maint internal-warning @r{[}@var{message-text}@r{]}
-Cause @value{GDBN} to call the internal function @code{internal_error}
-or @code{internal_warning} and hence behave as though an internal error
-or internal warning has been detected.  In addition to reporting the
-internal problem, these functions give the user the opportunity to
-either quit @value{GDBN} or create a core file of the current
+@itemx maint demangler-warning @r{[}@var{message-text}@r{]}
+
+Cause @value{GDBN} to call the internal function @code{internal_error},
+@code{internal_warning} or @code{demangler_warning} and hence behave
+as though an internal problam has been detected.  In addition to
+reporting the internal problem, these functions give the user the
+opportunity to either quit @value{GDBN} or (for @code{internal_error}
+and @code{internal_warning}) create a core file of the current
 @value{GDBN} session.
 
 These commands take an optional parameter @var{message-text} that is
@@ -33297,15 +33543,20 @@ Create a core file? (y or n) @kbd{n}
 
 @cindex @value{GDBN} internal error
 @cindex internal errors, control of @value{GDBN} behavior
+@cindex demangler crashes
 
 @kindex maint set internal-error
 @kindex maint show internal-error
 @kindex maint set internal-warning
 @kindex maint show internal-warning
+@kindex maint set demangler-warning
+@kindex maint show demangler-warning
 @item maint set internal-error @var{action} [ask|yes|no]
 @itemx maint show internal-error @var{action}
 @itemx maint set internal-warning @var{action} [ask|yes|no]
 @itemx maint show internal-warning @var{action}
+@itemx maint set demangler-warning @var{action} [ask|yes|no]
+@itemx maint show demangler-warning @var{action}
 When @value{GDBN} reports an internal problem (error or warning) it
 gives the user the opportunity to both quit @value{GDBN} and create a
 core file of the current @value{GDBN} session.  These commands let you
@@ -33319,7 +33570,10 @@ quit.  The default is to ask the user wh
 
 @item corefile
 You can specify that @value{GDBN} should always (yes) or never (no)
-create a core file.  The default is to ask the user what to do.
+create a core file.  The default is to ask the user what to do.  Note
+that there is no @code{corefile} option for @code{demangler-warning}:
+demangler warnings always create a core file and this cannot be
+disabled.
 @end table
 
 @kindex maint packet
@@ -33354,9 +33608,7 @@ Breakpoint 2, add (a=2, b=3) at @dots{}
 The program being debugged stopped while in a function called from GDB.
 @dots{}
 (@value{GDBP}) @kbd{maint print dummy-frames}
-0x1a57c80: pc=0x01014068 fp=0x0200bddc sp=0x0200bdd6
- top=0x0200bdd4 id=@{stack=0x200bddc,code=0x101405c@}
- call_lo=0x01014000 call_hi=0x01014001
+0xa8206d8: id=@{stack=0xbfffe734,code=0xbfffe73f,!special@}, ptid=process 9353
 (@value{GDBP})
 @end smallexample
 
@@ -33418,6 +33670,17 @@ If @var{regexp} is specified, only print
 match @var{regexp}.  For each object file, this command prints its name,
 address in memory, and all of its psymtabs and symtabs.
 
+@kindex maint print user-registers
+@cindex user registers
+@item maint print user-registers
+List all currently available @dfn{user registers}.  User registers
+typically provide alternate names for actual hardware registers.  They
+include the four ``standard'' registers @code{$fp}, @code{$pc},
+@code{$sp}, and @code{$ps}.  @xref{standard registers}.  User
+registers can be used in expressions in the same way as the canonical
+register names, but only the latter are listed by the @code{info
+registers} and @code{maint print registers} commands.
+
 @kindex maint print section-scripts
 @cindex info for known .debug_gdb_scripts-loaded scripts
 @item maint print section-scripts [@var{regexp}]
@@ -39082,6 +39345,7 @@ registers using the capitalization used 
 * AArch64 Features::
 * ARM Features::
 * i386 Features::
+* MicroBlaze Features::
 * MIPS Features::
 * M68K Features::
 * Nios II Features::
@@ -39232,6 +39496,19 @@ describe the additional @sc{zmm} registe
 @samp{zmm16h} through @samp{zmm31h}, only valid for amd64.
 @end itemize
 
+@node MicroBlaze Features
+@subsection MicroBlaze Features
+@cindex target descriptions, MicroBlaze features
+
+The @samp{org.gnu.gdb.microblaze.core} feature is required for MicroBlaze
+targets.  It should contain registers @samp{r0} through @samp{r31},
+@samp{rpc}, @samp{rmsr}, @samp{rear}, @samp{resr}, @samp{rfsr}, @samp{rbtr},
+@samp{rpvr}, @samp{rpvr1} through @samp{rpvr11}, @samp{redr}, @samp{rpid},
+@samp{rzpr}, @samp{rtlbx}, @samp{rtlbsx}, @samp{rtlblo}, and @samp{rtlbhi}.
+
+The @samp{org.gnu.gdb.microblaze.stack-protect} feature is optional.
+If present, it should contain registers @samp{rshr} and @samp{rslr}
+
 @node MIPS Features
 @subsection @acronym{MIPS} Features
 @cindex target descriptions, @acronym{MIPS} features
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/guile.texi ./gdb/doc/guile.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/guile.texi	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/guile.texi	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-@c Copyright (C) 2008-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2008-2015 Free Software Foundation, Inc.
 @c Permission is granted to copy, distribute and/or modify this document
 @c under the terms of the GNU Free Documentation License, Version 1.3 or
 @c any later version published by the Free Software Foundation; with the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Makefile.in ./gdb/doc/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/Makefile.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/Makefile.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-##Copyright (C) 1991-2014 Free Software Foundation, Inc.
+##Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
 # Makefile for GDB documentation.
 # This file is part of GDB.
@@ -30,6 +30,8 @@ mandir = @mandir@
 man1dir = $(mandir)/man1
 man5dir = $(mandir)/man5
 
+transform = @program_transform_name@
+
 SHELL = @SHELL@
 
 LN_S = @LN_S@
@@ -308,7 +310,7 @@ install-man1: $(MAN1S)
 	    continue; \
 	  fi; \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=`echo $$p | sed -e 's|^.*/||'`; \
+	  f=`echo $$p | sed -e 's|^.*/||' -e '$(transform)'`; \
 	  echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(man1dir)/$$f'"; \
 	  $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(man1dir)/$$f"; \
 	done
@@ -317,7 +319,7 @@ install-man5: $(MAN5S)
 	test -z "$(man5dir)" || $(mkinstalldirs) "$(DESTDIR)$(man5dir)"
 	@list='$(MAN5S)'; for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=`echo $$p | sed -e 's|^.*/||'`; \
+	  f=`echo $$p | sed -e 's|^.*/||' -e '$(transform)'`; \
 	  echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(man5dir)/$$f'"; \
 	  $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(man5dir)/$$f"; \
 	done
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/observer.texi ./gdb/doc/observer.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/observer.texi	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/observer.texi	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 @c This file is part of the GDB manual.
 @c
-@c Copyright (C) 2003-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2003-2015 Free Software Foundation, Inc.
 @c
 @c See the file gdbint.texinfo for copying conditions.
 @c
@@ -281,6 +281,22 @@ The trace state variable @var{tsv} is de
 The trace state value @var{tsv} is modified.
 @end deftypefun
 
+@deftypefun void inferior_call_pre (ptid_t @var{thread}, CORE_ADDR @var{address})
+An inferior function at @var{address} is about to be called in thread
+@var{thread}.
+@end deftypefun
+
+@deftypefun void inferior_call_post (ptid_t @var{thread}, CORE_ADDR @var{address})
+The inferior function at @var{address} has just been called.  This observer
+is called even if the inferior exits during the call.  @var{thread} is the
+thread in which the function was called, which may be different from the
+current thread.
+@end deftypefun
+
+@deftypefun void register_changed (struct frame_info *@var{frame}, int @var{regnum})
+A register in the inferior has been modified by the @value{GDBN} user.
+@end deftypefun
+
 @deftypefun void test_notification (int @var{somearg})
 This observer is used for internal testing.  Do not use.  
 See testsuite/gdb.gdb/observer.exp.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/python.texi ./gdb/doc/python.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/python.texi	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/python.texi	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-@c Copyright (C) 2008-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2008-2015 Free Software Foundation, Inc.
 @c Permission is granted to copy, distribute and/or modify this document
 @c under the terms of the GNU Free Documentation License, Version 1.3 or
 @c any later version published by the Free Software Foundation; with the
@@ -1048,11 +1048,12 @@ exception.
 
 @defun Type.template_argument (n @r{[}, block@r{]})
 If this @code{gdb.Type} is an instantiation of a template, this will
-return a new @code{gdb.Type} which represents the type of the
-@var{n}th template argument.
+return a new @code{gdb.Value} or @code{gdb.Type} which represents the
+value of the @var{n}th template argument (indexed starting at 0).
 
-If this @code{gdb.Type} is not a template type, this will throw an
-exception.  Ordinarily, only C@t{++} code will have template types.
+If this @code{gdb.Type} is not a template type, or if the type has fewer
+than @var{n} template arguments, this will throw an exception.
+Ordinarily, only C@t{++} code will have template types.
 
 If @var{block} is given, then @var{name} is looked up in that scope.
 Otherwise, it is searched for globally.
@@ -2727,6 +2728,65 @@ A reference to the object file (@code{gd
 @xref{Objfiles In Python}, for details of the @code{gdb.Objfile} object.
 @end defvar
 
+@item events.clear_objfiles
+Emits @code{gdb.ClearObjFilesEvent} which indicates that the list of object
+files for a program space has been reset.
+@code{gdb.ClearObjFilesEvent} has one attribute:
+
+@defvar ClearObjFilesEvent.progspace
+A reference to the program space (@code{gdb.Progspace}) whose objfile list has
+been cleared.  @xref{Progspaces In Python}.
+@end defvar
+
+@item events.inferior_call_pre
+Emits @code{gdb.InferiorCallPreEvent} which indicates that a function in
+the inferior is about to be called.
+
+@defvar InferiorCallPreEvent.ptid
+The thread in which the call will be run.
+@end defvar
+
+@defvar InferiorCallPreEvent.address
+The location of the function to be called.
+@end defvar
+
+@item events.inferior_call_post
+Emits @code{gdb.InferiorCallPostEvent} which indicates that a function in
+the inferior has returned.
+
+@defvar InferiorCallPostEvent.ptid
+The thread in which the call was run.
+@end defvar
+
+@defvar InferiorCallPostEvent.address
+The location of the function that was called.
+@end defvar
+
+@item events.memory_changed
+Emits @code{gdb.MemoryChangedEvent} which indicates that the memory of the
+inferior has been modified by the @value{GDBN} user, for instance via a
+command like @w{@code{set *addr = value}}.  The event has the following
+attributes:
+
+@defvar MemoryChangedEvent.address
+The start address of the changed region.
+@end defvar
+
+@defvar MemoryChangedEvent.length
+Length in bytes of the changed region.
+@end defvar
+
+@item events.register_changed
+Emits @code{gdb.RegisterChangedEvent} which indicates that a register in the
+inferior has been modified by the @value{GDBN} user.
+
+@defvar RegisterChangedEvent.frame
+A gdb.Frame object representing the frame in which the register was modified.
+@end defvar
+@defvar RegisterChangedEvent.regnum
+Denotes which register was modified.
+@end defvar
+
 @end table
 
 @node Threads In Python
@@ -3355,6 +3415,50 @@ The @code{frame_filters} attribute is a 
 objects.  @xref{Frame Filter API}, for more information.
 @end defvar
 
+One may add arbitrary attributes to @code{gdb.Progspace} objects
+in the usual Python way.
+This is useful if, for example, one needs to do some extra record keeping
+associated with the program space.
+
+In this contrived example, we want to perform some processing when
+an objfile with a certain symbol is loaded, but we only want to do
+this once because it is expensive.  To achieve this we record the results
+with the program space because we can't predict when the desired objfile
+will be loaded.
+
+@smallexample
+(gdb) python
+def clear_objfiles_handler(event):
+    event.progspace.expensive_computation = None
+def expensive(symbol):
+    """A mock routine to perform an "expensive" computation on symbol."""
+    print "Computing the answer to the ultimate question ..."
+    return 42
+def new_objfile_handler(event):
+    objfile = event.new_objfile
+    progspace = objfile.progspace
+    if not hasattr(progspace, 'expensive_computation') or \
+            progspace.expensive_computation is None:
+        # We use 'main' for the symbol to keep the example simple.
+        # Note: There's no current way to constrain the lookup
+        # to one objfile.
+        symbol = gdb.lookup_global_symbol('main')
+        if symbol is not None:
+            progspace.expensive_computation = expensive(symbol)
+gdb.events.clear_objfiles.connect(clear_objfiles_handler)
+gdb.events.new_objfile.connect(new_objfile_handler)
+end
+(gdb) file /tmp/hello
+Reading symbols from /tmp/hello...done.
+Computing the answer to the ultimate question ...
+(gdb) python print gdb.current_progspace().expensive_computation
+42
+(gdb) run
+Starting program: /tmp/hello
+Hello.
+[Inferior 1 (process 4242) exited normally]
+@end smallexample
+
 @node Objfiles In Python
 @subsubsection Objfiles In Python
 
@@ -3384,6 +3488,27 @@ Return a sequence of all the objfiles cu
 @xref{Objfiles In Python}.
 @end defun
 
+@findex gdb.lookup_objfile
+@defun gdb.lookup_objfile (name @r{[}, by_build_id{]})
+Look up @var{name}, a file name or build ID, in the list of objfiles
+for the current program space (@pxref{Progspaces In Python}).
+If the objfile is not found throw the Python @code{ValueError} exception.
+
+If @var{name} is a relative file name, then it will match any
+source file name with the same trailing components.  For example, if
+@var{name} is @samp{gcc/expr.c}, then it will match source file
+name of @file{/build/trunk/gcc/expr.c}, but not
+@file{/build/trunk/libcpp/expr.c} or @file{/build/trunk/gcc/x-expr.c}.
+
+If @var{by_build_id} is provided and is @code{True} then @var{name}
+is the build ID of the objfile.  Otherwise, @var{name} is a file name.
+This is supported only on some operating systems, notably those which use
+the ELF format for binary files and the @sc{gnu} Binutils.  For more details
+about this feature, see the description of the @option{--build-id}
+command-line option in @ref{Options, , Command Line Options, ld.info,
+The GNU Linker}.
+@end defun
+
 Each objfile is represented by an instance of the @code{gdb.Objfile}
 class.
 
@@ -3391,6 +3516,30 @@ class.
 The file name of the objfile as a string.
 @end defvar
 
+@defvar Objfile.owner
+For separate debug info objfiles this is the corresponding @code{gdb.Objfile}
+object that debug info is being provided for.
+Otherwise this is @code{None}.
+Separate debug info objfiles are added with the
+@code{gdb.Objfile.add_separate_debug_file} method, described below.
+@end defvar
+
+@defvar Objfile.build_id
+The build ID of the objfile as a string.
+If the objfile does not have a build ID then the value is @code{None}.
+
+This is supported only on some operating systems, notably those which use
+the ELF format for binary files and the @sc{gnu} Binutils.  For more details
+about this feature, see the description of the @option{--build-id}
+command-line option in @ref{Options, , Command Line Options, ld.info,
+The GNU Linker}.
+@end defvar
+
+@defvar Objfile.progspace
+The containing program space of the objfile as a @code{gdb.Progspace}
+object.  @xref{Progspaces In Python}.
+@end defvar
+
 @defvar Objfile.pretty_printers
 The @code{pretty_printers} attribute is a list of functions.  It is
 used to look up pretty-printers.  A @code{Value} is passed to each
@@ -3410,6 +3559,28 @@ The @code{frame_filters} attribute is a 
 objects.  @xref{Frame Filter API}, for more information.
 @end defvar
 
+One may add arbitrary attributes to @code{gdb.Objfile} objects
+in the usual Python way.
+This is useful if, for example, one needs to do some extra record keeping
+associated with the objfile.
+
+In this contrived example we record the time when @value{GDBN}
+loaded the objfile.
+
+@smallexample
+(gdb) python
+import datetime
+def new_objfile_handler(event):
+    # Set the time_loaded attribute of the new objfile.
+    event.new_objfile.time_loaded = datetime.datetime.today()
+gdb.events.new_objfile.connect(new_objfile_handler)
+end
+(gdb) file ./hello
+Reading symbols from ./hello...done.
+(gdb) python print gdb.objfiles()[0].time_loaded
+2014-10-09 11:41:36.770345
+@end smallexample
+
 A @code{gdb.Objfile} object has the following methods:
 
 @defun Objfile.is_valid ()
@@ -3420,6 +3591,17 @@ longer.  All other @code{gdb.Objfile} me
 if it is invalid at the time the method is called.
 @end defun
 
+@defun Objfile.add_separate_debug_file (file)
+Add @var{file} to the list of files that @value{GDBN} will search for
+debug information for the objfile.
+This is useful when the debug info has been removed from the program
+and stored in a separate file.  @value{GDBN} has built-in support for
+finding separate debug info files (@pxref{Separate Debug Files}), but if
+the file doesn't live in one of the standard places that @value{GDBN}
+searches then this function can be used to add a debug info file
+from a different place.
+@end defun
+
 @node Frames In Python
 @subsubsection Accessing inferior stack frames from Python.
 
@@ -3589,6 +3771,13 @@ Return the frame's symtab and line objec
 @xref{Symbol Tables In Python}.
 @end defun
 
+@defun Frame.read_register (register)
+Return the value of @var{register} in this frame.  The @var{register}
+argument must be a string (e.g., @code{'sp'} or @code{'rax'}).
+Returns a @code{Gdb.Value} object.  Throws an exception if @var{register}
+does not exist.
+@end defun
+
 @defun Frame.read_var (variable @r{[}, block@r{]})
 Return the value of @var{variable} in this frame.  If the optional
 argument @var{block} is provided, search for the variable from that
@@ -4035,6 +4224,14 @@ The symbol table's backing object file. 
 This attribute is not writable.
 @end defvar
 
+@defvar Symtab.producer
+The name and possibly version number of the program that
+compiled the code in the symbol table.
+The contents of this string is up to the compiler.
+If no producer information is available then @code{None} is returned.
+This attribute is not writable.
+@end defvar
+
 A @code{gdb.Symtab} object has the following methods:
 
 @defun Symtab.is_valid ()
@@ -4234,7 +4431,7 @@ watchpoint scope, the watchpoint remains
 inferior leaves the scope of that watchpoint.
 @end defun
 
-@defun Breakpoint.delete
+@defun Breakpoint.delete ()
 Permanently deletes the @value{GDBN} breakpoint.  This also
 invalidates the Python @code{Breakpoint} object.  Any further access
 to this object's attributes or methods will raise an error.
@@ -4242,7 +4439,8 @@ to this object's attributes or methods w
 
 @defvar Breakpoint.enabled
 This attribute is @code{True} if the breakpoint is enabled, and
-@code{False} otherwise.  This attribute is writable.
+@code{False} otherwise.  This attribute is writable.  You can use it to enable
+or disable the breakpoint.
 @end defvar
 
 @defvar Breakpoint.silent
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/refcard.tex ./gdb/doc/refcard.tex
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/refcard.tex	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/refcard.tex	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%% gdb-refcard.tex %%%%%%%%%%%%%%%%
 
 %This file is TeX source for a reference card describing GDB, the GNU debugger.
-%Copyright (C) 1991-2014 Free Software Foundation, Inc.
+%Copyright (C) 1991-2015 Free Software Foundation, Inc.
 %Permission is granted to make and distribute verbatim copies of
 %this reference provided the copyright notices and permission notices
 %are preserved on all copies.
@@ -307,7 +307,7 @@ shell {\it cmd}&execute arbitrary shell 
 \line{\smrm \opt{ } surround optional arguments \hfill $\ldots$ show
 one or more arguments}
 \vskip\baselineskip
-\centerline{\smrm \copyright 1998-2014 Free Software Foundation, Inc.\qquad Permissions on back}
+\centerline{\smrm \copyright 1998-2015 Free Software Foundation, Inc.\qquad Permissions on back}
 \eject
 \sec Breakpoints and Watchpoints;
 break \opt{\it file\tt:}{\it line}\par
@@ -632,7 +632,7 @@ statement.\cr 
 
 \vfill
 {\smrm\parskip=6pt
-Copyright \copyright 1991-2014 Free Software Foundation, Inc.
+Copyright \copyright 1991-2015 Free Software Foundation, Inc.
 Author: Roland H. Pesch
 
 The author assumes no responsibility for any errors on this card.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/stabs.info ./gdb/doc/stabs.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/stabs.info	2015-01-13 02:06:57.000000000 +0000
+++ ./gdb/doc/stabs.info	2015-01-20 02:09:46.000000000 +0000
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
 * Stabs: (stabs).                 The "stabs" debugging information format.
 END-INFO-DIR-ENTRY
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.  Contributed
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.  Contributed
 by Cygnus Support.  Written by Julia Menapace, Jim Kingdon, and David
 MacKenzie.
 
@@ -19,7 +19,7 @@ Free Documentation License".
 
    This document describes the stabs debugging symbol tables.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.  Contributed
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.  Contributed
 by Cygnus Support.  Written by Julia Menapace, Jim Kingdon, and David
 MacKenzie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/stabs.texinfo ./gdb/doc/stabs.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doc/stabs.texinfo	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doc/stabs.texinfo	2015-01-20 02:05:38.000000000 +0000
@@ -13,7 +13,7 @@
 @end direntry
 
 @copying
-Copyright @copyright{} 1992-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1992-2015 Free Software Foundation, Inc.
 Contributed by Cygnus Support.  Written by Julia Menapace, Jim Kingdon,
 and David MacKenzie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doublest.c ./gdb/doublest.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doublest.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doublest.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Floating point routines for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,8 +26,6 @@
 #include "defs.h"
 #include "doublest.h"
 #include "floatformat.h"
-#include "gdb_assert.h"
-#include <string.h>
 #include "gdbtypes.h"
 #include <math.h>		/* ldexp */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doublest.h ./gdb/doublest.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/doublest.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/doublest.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Floating point definitions for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dsrec.c ./gdb/dsrec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dsrec.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dsrec.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* S-record download support for GDB, the GNU debugger.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,8 +21,6 @@
 #include "srec.h"
 #include <sys/time.h>
 #include <time.h>
-#include "gdb_assert.h"
-#include <string.h>
 #include "gdb_bfd.h"
 
 extern int remote_debug;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-support.c ./gdb/d-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-support.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/d-support.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,621 +0,0 @@
-/* Helper routines for D support in GDB.
-
-   Copyright (C) 2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "d-lang.h"
-#include "gdb_obstack.h"
-
-#include "safe-ctype.h"
-
-static const char *parse_function_args (struct obstack *, const char *);
-static const char *parse_type (struct obstack *, const char *);
-
-
-/* Demangle the calling convention from MANGLE and append it to TEMPBUF.
-   Return the remaining string on success or NULL on failure.  */
-
-static const char *
-parse_call_convention (struct obstack *tempbuf, const char *mangle)
-{
-  if ((mangle == NULL) || (*mangle == '\0'))
-    return mangle;
-
-  switch (*mangle)
-    {
-    case 'F': /* (D) */
-      mangle++;
-      break;
-    case 'U': /* (C) */
-      mangle++;
-      obstack_grow_str (tempbuf, "extern(C) ");
-      break;
-    case 'W': /* (Windows) */
-      mangle++;
-      obstack_grow_str (tempbuf, "extern(Windows) ");
-      break;
-    case 'V': /* (Pascal) */
-      mangle++;
-      obstack_grow_str (tempbuf, "extern(Pascal) ");
-      break;
-    case 'R': /* (C++) */
-      mangle++;
-      obstack_grow_str (tempbuf, "extern(C++) ");
-      break;
-    default:
-      return NULL;
-    }
-
-  return mangle;
-}
-
-/* Demangle the D function attributes from MANGLE and append it to TEMPBUF.
-   Return the remaining string on success or NULL on failure.  */
-
-static const char *
-parse_attributes (struct obstack *tempbuf, const char *mangle)
-{
-  if ((mangle == NULL) || (*mangle == '\0'))
-    return mangle;
-
-  while (*mangle == 'N')
-    {
-      mangle++;
-      switch (*mangle)
-	{
-	case 'a': /* pure */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "pure ");
-	  continue;
-	case 'b': /* nothrow */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "nothrow ");
-	  continue;
-	case 'c': /* ref */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "ref ");
-	  continue;
-	case 'd': /* @property */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "@property ");
-	  continue;
-	case 'e': /* @trusted */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "@trusted ");
-	  continue;
-	case 'f': /* @safe */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "@safe ");
-	  continue;
-	case 'g':
-	case 'h':
-	  /* inout parameter is represented as 'Ng'.
-	     vector parameter is represented as 'Nh'.
-	     If we see this, then we know we're really in the
-	     parameter list.  Rewind and break.  */
-	  mangle--;
-	}
-      break;
-    }
-  return mangle;
-}
-
-/* Demangle the function type from MANGLE and append it to TEMPBUF.
-   Return the remaining string on success or NULL on failure.  */
-
-static const char *
-parse_function_type (struct obstack *tempbuf, const char *mangle)
-{
-  struct obstack obattr, obargs, obtype;
-  char *attr, *args, *type;
-  size_t szattr, szargs, sztype;
-
-  if ((mangle == NULL) || (*mangle == '\0'))
-    return mangle;
-
-  /* The order of the mangled string is:
-     TypeFunction ::
-        CallConvention FuncAttrs Arguments ArgClose Type
-
-     The demangled string is re-ordered as:
-        CallConvention Type Arguments FuncAttrs
-   */
-  obstack_init (&obattr);
-  obstack_init (&obargs);
-  obstack_init (&obtype);
-
-  /* Function call convention.  */
-  mangle = parse_call_convention (tempbuf, mangle);
-
-  /* Function attributes.  */
-  mangle = parse_attributes (&obattr, mangle);
-  szattr = obstack_object_size (&obattr);
-  attr = obstack_finish (&obattr);
-
-  /* Function arguments.  */
-  mangle = parse_function_args (&obargs, mangle);
-  szargs = obstack_object_size (&obargs);
-  args = obstack_finish (&obargs);
-
-  /* Function return type.  */
-  mangle = parse_type (&obtype, mangle);
-  sztype = obstack_object_size (&obtype);
-  type = obstack_finish (&obtype);
-
-  /* Append to buffer in order. */
-  obstack_grow (tempbuf, type, sztype);
-  obstack_grow_str (tempbuf, "(");
-  obstack_grow (tempbuf, args, szargs);
-  obstack_grow_str (tempbuf, ") ");
-  obstack_grow (tempbuf, attr, szattr);
-
-  obstack_free (&obattr, NULL);
-  obstack_free (&obargs, NULL);
-  obstack_free (&obtype, NULL);
-  return mangle;
-}
-
-/* Demangle the argument list from MANGLE and append it to TEMPBUF.
-   Return the remaining string on success or NULL on failure.  */
-
-static const char *
-parse_function_args (struct obstack *tempbuf, const char *mangle)
-{
-  size_t n = 0;
-
-  while ((mangle != NULL) && (*mangle != '\0'))
-    {
-      switch (*mangle)
-	{
-	case 'X': /* (variadic T t...) style.  */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "...");
-	  return mangle;
-	case 'Y': /* (variadic T t, ...) style.  */
-	  mangle++;
-	  obstack_grow_str (tempbuf, ", ...");
-	  return mangle;
-	case 'Z': /* Normal function.  */
-	  mangle++;
-	  return mangle;
-	}
-
-      if (n++)
-	obstack_grow_str (tempbuf, ", ");
-
-      if (*mangle == 'M') /* scope(T) */
-	{
-	  mangle++;
-	  obstack_grow_str (tempbuf, "scope ");
-	}
-
-      switch (*mangle)
-	{
-	case 'J': /* out(T) */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "out ");
-	  break;
-	case 'K': /* ref(T) */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "ref ");
-	  break;
-	case 'L': /* lazy(T) */
-	  mangle++;
-	  obstack_grow_str (tempbuf, "lazy ");
-	  break;
-	}
-      mangle = parse_type (tempbuf, mangle);
-    }
-  return mangle;
-}
-
-/* Demangle the type from MANGLE and append it to TEMPBUF.
-   Return the remaining string on success or NULL on failure.  */
-
-static const char *
-parse_type (struct obstack *tempbuf, const char *mangle)
-{
-  if ((mangle == NULL) || (*mangle == '\0'))
-    return mangle;
-
-  switch (*mangle)
-    {
-    case 'O': /* shared(T) */
-      mangle++;
-      obstack_grow_str (tempbuf, "shared(");
-      mangle = parse_type (tempbuf, mangle);
-      obstack_grow_str (tempbuf, ")");
-      return mangle;
-    case 'x': /* const(T) */
-      mangle++;
-      obstack_grow_str (tempbuf, "const(");
-      mangle = parse_type (tempbuf, mangle);
-      obstack_grow_str (tempbuf, ")");
-      return mangle;
-    case 'y': /* immutable(T) */
-      mangle++;
-      obstack_grow_str (tempbuf, "immutable(");
-      mangle = parse_type (tempbuf, mangle);
-      obstack_grow_str (tempbuf, ")");
-      return mangle;
-    case 'N':
-      mangle++;
-      if (*mangle == 'g') /* wild(T) */
-	{
-	  mangle++;
-	  obstack_grow_str (tempbuf, "inout(");
-	  mangle = parse_type (tempbuf, mangle);
-	  obstack_grow_str (tempbuf, ")");
-	  return mangle;
-	}
-      else if (*mangle == 'h') /* vector(T) */
-	{
-	  mangle++;
-	  /* The basetype for vectors are always static arrays.  */
-	  if (*mangle != 'G')
-	    return NULL;
-	  obstack_grow_str (tempbuf, "__vector(");
-	  mangle = parse_type (tempbuf, mangle);
-	  obstack_grow_str (tempbuf, ")");
-	  return mangle;
-	}
-      else
-	return NULL;
-    case 'A': /* dynamic array (T[]) */
-      mangle++;
-      mangle = parse_type (tempbuf, mangle);
-      obstack_grow_str (tempbuf, "[]");
-      return mangle;
-    case 'G': /* static array (T[N]) */
-    {
-      const char *numptr;
-      size_t num = 0;
-      mangle++;
-
-      numptr = mangle;
-      while (ISDIGIT (*mangle))
-	{
-	  num++;
-	  mangle++;
-	}
-      mangle = parse_type (tempbuf, mangle);
-      obstack_grow_str (tempbuf, "[");
-      obstack_grow (tempbuf, numptr, num);
-      obstack_grow_str (tempbuf, "]");
-      return mangle;
-    }
-    case 'H': /* associative array (T[T]) */
-    {
-      struct obstack obtype;
-      char *type;
-      size_t sztype;
-      mangle++;
-
-      obstack_init (&obtype);
-      mangle = parse_type (&obtype, mangle);
-      sztype = obstack_object_size (&obtype);
-      type = obstack_finish (&obtype);
-
-      mangle = parse_type (tempbuf, mangle);
-      obstack_grow_str (tempbuf, "[");
-      obstack_grow (tempbuf, type, sztype);
-      obstack_grow_str (tempbuf, "]");
-
-      obstack_free (&obtype, NULL);
-      return mangle;
-    }
-    case 'P': /* pointer (T*) */
-      mangle++;
-      mangle = parse_type (tempbuf, mangle);
-      obstack_grow_str (tempbuf, "*");
-      return mangle;
-    case 'I': /* ident T */
-    case 'C': /* class T */
-    case 'S': /* struct T */
-    case 'E': /* enum T */
-    case 'T': /* typedef T */
-      mangle++;
-      return d_parse_symbol (tempbuf, mangle);
-    case 'D': /* delegate T */
-      mangle++;
-      mangle = parse_function_type (tempbuf, mangle);
-      obstack_grow_str (tempbuf, "delegate");
-      return mangle;
-    case 'B': /* tuple T */
-      /* TODO: Handle this.  */
-      return NULL;
-
-    /* Function types */
-    case 'F': case 'U': case 'W':
-    case 'V': case 'R':
-      mangle = parse_function_type (tempbuf, mangle);
-      obstack_grow_str (tempbuf, "function");
-      return mangle;
-
-    /* Basic types */
-    case 'n':
-      mangle++;
-      obstack_grow_str (tempbuf, "none");
-      return mangle;
-    case 'v':
-      mangle++;
-      obstack_grow_str (tempbuf, "void");
-      return mangle;
-    case 'g':
-      mangle++;
-      obstack_grow_str (tempbuf, "byte");
-      return mangle;
-    case 'h':
-      mangle++;
-      obstack_grow_str (tempbuf, "ubyte");
-      return mangle;
-    case 's':
-      mangle++;
-      obstack_grow_str (tempbuf, "short");
-      return mangle;
-    case 't':
-      mangle++;
-      obstack_grow_str (tempbuf, "ushort");
-      return mangle;
-    case 'i':
-      mangle++;
-      obstack_grow_str (tempbuf, "int");
-      return mangle;
-    case 'k':
-      mangle++;
-      obstack_grow_str (tempbuf, "uint");
-      return mangle;
-    case 'l':
-      mangle++;
-      obstack_grow_str (tempbuf, "long");
-      return mangle;
-    case 'm':
-      mangle++;
-      obstack_grow_str (tempbuf, "ulong");
-      return mangle;
-    case 'f':
-      mangle++;
-      obstack_grow_str (tempbuf, "float");
-      return mangle;
-    case 'd':
-      mangle++;
-      obstack_grow_str (tempbuf, "double");
-      return mangle;
-    case 'e':
-      mangle++;
-      obstack_grow_str (tempbuf, "real");
-      return mangle;
-
-    /* Imaginary and Complex types */
-    case 'o':
-      mangle++;
-      obstack_grow_str (tempbuf, "ifloat");
-      return mangle;
-    case 'p':
-      mangle++;
-      obstack_grow_str (tempbuf, "idouble");
-      return mangle;
-    case 'j':
-      mangle++;
-      obstack_grow_str (tempbuf, "ireal");
-      return mangle;
-    case 'q':
-      mangle++;
-      obstack_grow_str (tempbuf, "cfloat");
-      return mangle;
-    case 'r':
-      mangle++;
-      obstack_grow_str (tempbuf, "cdouble");
-      return mangle;
-    case 'c':
-      mangle++;
-      obstack_grow_str (tempbuf, "creal");
-      return mangle;
-
-    /* Other types */
-    case 'b':
-      mangle++;
-      obstack_grow_str (tempbuf, "bool");
-      return mangle;
-    case 'a':
-      mangle++;
-      obstack_grow_str (tempbuf, "char");
-      return mangle;
-    case 'u':
-      mangle++;
-      obstack_grow_str (tempbuf, "wchar");
-      return mangle;
-    case 'w':
-      mangle++;
-      obstack_grow_str (tempbuf, "dchar");
-      return mangle;
-
-    default: /* unhandled */
-      return NULL;
-    }
-}
-
-/* Extract the identifier from MANGLE and append it to TEMPBUF.
-   Return the remaining string on success or NULL on failure.  */
-
-static const char *
-parse_identifier (struct obstack *tempbuf, const char *mangle)
-{
-  if ((mangle == NULL) || (*mangle == '\0'))
-    return mangle;
-
-  if (ISDIGIT (*mangle))
-    {
-      char *endptr;
-      long i = strtol (mangle, &endptr, 10);
-
-      if (i <= 0 || strlen (endptr) < i)
-	return NULL;
-
-      mangle = endptr;
-
-      /* No support for demangling templates.  */
-      if (i >= 5 && strncmp (mangle, "__T", 3) == 0)
-	return NULL;
-
-      if (strncmp (mangle, "__ctor", i) == 0)
-	{
-	  /* Constructor symbol for a class/struct.  */
-	  obstack_grow_str (tempbuf, "this");
-	  mangle += i;
-	  return mangle;
-	}
-      else if (strncmp (mangle, "__dtor", i) == 0)
-	{
-	  /* Destructor symbol for a class/struct.  */
-	  obstack_grow_str (tempbuf, "~this");
-	  mangle += i;
-	  return mangle;
-	}
-      else if (strncmp (mangle, "__postblit", i) == 0)
-	{
-	  /* Postblit symbol for a struct.  */
-	  obstack_grow_str (tempbuf, "this(this)");
-	  mangle += i;
-	  return mangle;
-	}
-      else if (strncmp (mangle, "__initZ", i+1) == 0)
-	{
-	  /* The static initialiser for a given symbol.  */
-	  obstack_grow_str (tempbuf, "init$");
-	  mangle += i + 1;
-	  return mangle;
-	}
-      else if (strncmp (mangle, "__ClassZ", i+1) == 0)
-	{
-	  /* The classinfo symbol for a given class.  */
-	  obstack_grow_str (tempbuf, "classinfo$");
-	  mangle += i + 1;
-	  return mangle;
-	}
-      else if (strncmp (mangle, "__vtblZ", i+1) == 0)
-	{
-	  /* The vtable symbol for a given class.  */
-	  obstack_grow_str (tempbuf, "vtbl$");
-	  mangle += i + 1;
-	  return mangle;
-	}
-      else if (strncmp (mangle, "__InterfaceZ", i+1) == 0)
-	{
-	  /* The interface symbol for a given class.  */
-	  obstack_grow_str (tempbuf, "interface$");
-	  mangle += i + 1;
-	  return mangle;
-	}
-      else if (strncmp (mangle, "__ModuleInfoZ", i+1) == 0)
-	{
-	  /* The ModuleInfo symbol for a given module.  */
-	  obstack_grow_str (tempbuf, "moduleinfo$");
-	  mangle += i + 1;
-	  return mangle;
-	}
-      obstack_grow (tempbuf, mangle, i);
-      mangle += i;
-    }
-  else
-    return NULL;
-
-  return mangle;
-}
-
-/* Test whether the current position of MANGLE is pointing to the
-   beginning of a mangled function parameter list, which starts with
-   the calling convention.  Returns 1 on success or 0 on failure.  */
-
-static int
-call_convention_p (const char *mangle)
-{
-  size_t i;
-
-  if ((mangle == NULL) || (*mangle == '\0'))
-    return 0;
-
-  switch (*mangle)
-    {
-    case 'F': case 'U': case 'V':
-    case 'W': case 'R':
-      return 1;
-
-    case 'M': /* Prefix for functions needing 'this'.  */
-      i = 1;
-      if (mangle[i] == 'x')
-	i++;
-
-      switch (mangle[i])
-	{
-	case 'F': case 'U': case 'V':
-	case 'W': case 'R':
-	  return 1;
-	}
-
-    default:
-      return 0;
-    }
-}
-
-/* Extract and demangle the symbol in MANGLE and append it to TEMPBUF.
-   Return the remaining signature on success or NULL on failure.  */
-
-const char *
-d_parse_symbol (struct obstack *tempbuf, const char *mangle)
-{
-  size_t n = 0;
-  do
-    {
-      if (n++)
-	obstack_grow_str (tempbuf, ".");
-
-      mangle = parse_identifier (tempbuf, mangle);
-
-      if (call_convention_p (mangle))
-	{
-	  char *saved;
-
-	  /* Skip over 'this' parameter.  */
-	  if (*mangle == 'M')
-	    mangle += (mangle[1] == 'x') ? 2 : 1;
-
-	  /* Skip over calling convention and attributes in qualified name.  */
-	  saved = obstack_next_free (tempbuf);
-	  mangle = parse_call_convention (tempbuf, mangle);
-	  mangle = parse_attributes (tempbuf, mangle);
-	  obstack_next_free (tempbuf) = saved;
-
-	  obstack_grow_str (tempbuf, "(");
-	  mangle = parse_function_args (tempbuf, mangle);
-	  obstack_grow_str (tempbuf, ")");
-
-	  /* Demangle the function return type as a kind of sanity test.  */
-	  if ((mangle != NULL) && !ISDIGIT (*mangle))
-	    {
-	      saved = obstack_next_free (tempbuf);
-	      mangle = parse_type (tempbuf, mangle);
-	      obstack_next_free (tempbuf) = saved;
-	    }
-	}
-    }
-  while ((mangle != NULL) && ISDIGIT (*mangle));
-
-  return mangle;
-}
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dummy-frame.c ./gdb/dummy-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dummy-frame.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dummy-frame.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code dealing with dummy stack frames, for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,14 +23,31 @@
 #include "regcache.h"
 #include "frame.h"
 #include "inferior.h"
-#include "gdb_assert.h"
 #include "frame-unwind.h"
 #include "command.h"
 #include "gdbcmd.h"
-#include <string.h>
 #include "observer.h"
 #include "gdbthread.h"
 
+struct dummy_frame_id
+{
+  /* This frame's ID.  Must match the value returned by
+     gdbarch_dummy_id.  */
+  struct frame_id id;
+
+  /* The thread this dummy_frame relates to.  */
+  ptid_t ptid;
+};
+
+/* Return whether dummy_frame_id *ID1 and *ID2 are equal.  */
+
+static int
+dummy_frame_id_eq (struct dummy_frame_id *id1,
+		   struct dummy_frame_id *id2)
+{
+  return frame_id_eq (id1->id, id2->id) && ptid_equal (id1->ptid, id2->ptid);
+}
+
 /* Dummy frame.  This saves the processor state just prior to setting
    up the inferior function call.  Older targets save the registers
    on the target stack (but that really slows down function calls).  */
@@ -38,11 +55,19 @@
 struct dummy_frame
 {
   struct dummy_frame *next;
-  /* This frame's ID.  Must match the value returned by
-     gdbarch_dummy_id.  */
-  struct frame_id id;
+
+  /* An id represents a dummy frame.  */
+  struct dummy_frame_id id;
+
   /* The caller's state prior to the call.  */
   struct infcall_suspend_state *caller_state;
+
+  /* If non-NULL, a destructor that is run when this dummy frame is
+     popped.  */
+  void (*dtor) (void *data);
+
+  /* Arbitrary data that is passed to DTOR.  */
+  void *dtor_data;
 };
 
 static struct dummy_frame *dummy_frame_stack = NULL;
@@ -52,13 +77,14 @@ static struct dummy_frame *dummy_frame_s
 
 void
 dummy_frame_push (struct infcall_suspend_state *caller_state,
-		  const struct frame_id *dummy_id)
+		  const struct frame_id *dummy_id, ptid_t ptid)
 {
   struct dummy_frame *dummy_frame;
 
   dummy_frame = XCNEW (struct dummy_frame);
   dummy_frame->caller_state = caller_state;
-  dummy_frame->id = (*dummy_id);
+  dummy_frame->id.id = (*dummy_id);
+  dummy_frame->id.ptid = ptid;
   dummy_frame->next = dummy_frame_stack;
   dummy_frame_stack = dummy_frame;
 }
@@ -83,8 +109,8 @@ pop_dummy_frame_bpt (struct breakpoint *
 {
   struct dummy_frame *dummy = dummy_voidp;
 
-  if (b->thread == pid_to_thread_id (inferior_ptid)
-      && b->disposition == disp_del && frame_id_eq (b->frame_id, dummy->id))
+  if (b->thread == pid_to_thread_id (dummy->id.ptid)
+      && b->disposition == disp_del && frame_id_eq (b->frame_id, dummy->id.id))
     {
       while (b->related_breakpoint != b)
 	delete_breakpoint (b->related_breakpoint);
@@ -107,6 +133,11 @@ pop_dummy_frame (struct dummy_frame **du
 {
   struct dummy_frame *dummy = *dummy_ptr;
 
+  gdb_assert (ptid_equal (dummy->id.ptid, inferior_ptid));
+
+  if (dummy->dtor != NULL)
+    dummy->dtor (dummy->dtor_data);
+
   restore_infcall_suspend_state (dummy->caller_state);
 
   iterate_over_breakpoints (pop_dummy_frame_bpt, dummy);
@@ -125,52 +156,81 @@ pop_dummy_frame (struct dummy_frame **du
    Return NULL if not found.  */
 
 static struct dummy_frame **
-lookup_dummy_frame (struct frame_id dummy_id)
+lookup_dummy_frame (struct dummy_frame_id *dummy_id)
 {
   struct dummy_frame **dp;
 
   for (dp = &dummy_frame_stack; *dp != NULL; dp = &(*dp)->next)
     {
-      if (frame_id_eq ((*dp)->id, dummy_id))
+      if (dummy_frame_id_eq (&(*dp)->id, dummy_id))
 	return dp;
     }
 
   return NULL;
 }
 
-/* Pop the dummy frame DUMMY_ID, restoring program state to that before the
-   frame was created.
+/* Find the dummy frame by DUMMY_ID and PTID, and pop it, restoring
+   program state to that before the frame was created.
    On return reinit_frame_cache has been called.
-   If the frame isn't found, flag an internal error.
-
-   NOTE: This can only pop the one frame, even if it is in the middle of the
-   stack, because the other frames may be for different threads, and there's
-   currently no way to tell which stack frame is for which thread.  */
+   If the frame isn't found, flag an internal error.  */
 
 void
-dummy_frame_pop (struct frame_id dummy_id)
+dummy_frame_pop (struct frame_id dummy_id, ptid_t ptid)
 {
   struct dummy_frame **dp;
+  struct dummy_frame_id id = { dummy_id, ptid };
 
-  dp = lookup_dummy_frame (dummy_id);
+  dp = lookup_dummy_frame (&id);
   gdb_assert (dp != NULL);
 
   pop_dummy_frame (dp);
 }
 
-/* Drop dummy frame DUMMY_ID.  Do nothing if it is not found.  Do not restore
-   its state into inferior, just free its memory.  */
+/* Find the dummy frame by DUMMY_ID and PTID and drop it.  Do nothing
+   if it is not found.  Do not restore its state into inferior, just
+   free its memory.  */
 
 void
-dummy_frame_discard (struct frame_id dummy_id)
+dummy_frame_discard (struct frame_id dummy_id, ptid_t ptid)
 {
   struct dummy_frame **dp;
+  struct dummy_frame_id id = { dummy_id, ptid };
 
-  dp = lookup_dummy_frame (dummy_id);
+  dp = lookup_dummy_frame (&id);
   if (dp)
     remove_dummy_frame (dp);
 }
 
+/* See dummy-frame.h.  */
+
+void
+register_dummy_frame_dtor (struct frame_id dummy_id, ptid_t ptid,
+			   dummy_frame_dtor_ftype *dtor, void *dtor_data)
+{
+  struct dummy_frame_id id = { dummy_id, ptid };
+  struct dummy_frame **dp, *d;
+
+  dp = lookup_dummy_frame (&id);
+  gdb_assert (dp != NULL);
+  d = *dp;
+  gdb_assert (d->dtor == NULL);
+  d->dtor = dtor;
+  d->dtor_data = dtor_data;
+}
+
+/* See dummy-frame.h.  */
+
+int
+find_dummy_frame_dtor (dummy_frame_dtor_ftype *dtor, void *dtor_data)
+{
+  struct dummy_frame *d;
+
+  for (d = dummy_frame_stack; d != NULL; d = d->next)
+    if (d->dtor == dtor && d->dtor_data == dtor_data)
+      return 1;
+  return 0;
+}
+
 /* There may be stale dummy frames, perhaps left over from when an uncaught
    longjmp took us out of a function that was called by the debugger.  Clean
    them up at least once whenever we start a new inferior.  */
@@ -195,9 +255,6 @@ dummy_frame_sniffer (const struct frame_
 		     struct frame_info *this_frame,
 		     void **this_prologue_cache)
 {
-  struct dummy_frame *dummyframe;
-  struct frame_id this_id;
-
   /* When unwinding a normal frame, the stack structure is determined
      by analyzing the frame's function's code (be it using brute force
      prologue analysis, or the dwarf2 CFI).  In the case of a dummy
@@ -209,16 +266,19 @@ dummy_frame_sniffer (const struct frame_
   /* Don't bother unless there is at least one dummy frame.  */
   if (dummy_frame_stack != NULL)
     {
+      struct dummy_frame *dummyframe;
       /* Use an architecture specific method to extract this frame's
 	 dummy ID, assuming it is a dummy frame.  */
-      this_id = gdbarch_dummy_id (get_frame_arch (this_frame), this_frame);
+      struct frame_id this_id
+	= gdbarch_dummy_id (get_frame_arch (this_frame), this_frame);
+      struct dummy_frame_id dummy_id = { this_id, inferior_ptid };
 
       /* Use that ID to find the corresponding cache entry.  */
       for (dummyframe = dummy_frame_stack;
 	   dummyframe != NULL;
 	   dummyframe = dummyframe->next)
 	{
-	  if (frame_id_eq (dummyframe->id, this_id))
+	  if (dummy_frame_id_eq (&dummyframe->id, &dummy_id))
 	    {
 	      struct dummy_frame_cache *cache;
 
@@ -298,7 +358,9 @@ fprint_dummy_frames (struct ui_file *fil
       gdb_print_host_address (s, file);
       fprintf_unfiltered (file, ":");
       fprintf_unfiltered (file, " id=");
-      fprint_frame_id (file, s->id);
+      fprint_frame_id (file, s->id.id);
+      fprintf_unfiltered (file, ", ptid=%s",
+			  target_pid_to_str (s->id.ptid));
       fprintf_unfiltered (file, "\n");
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dummy-frame.h ./gdb/dummy-frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dummy-frame.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dummy-frame.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code dealing with dummy stack frames, for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,18 +28,13 @@ struct frame_unwind;
 /* Push the information needed to identify, and unwind from, a dummy
    frame onto the dummy frame stack.  */
 
-/* NOTE: cagney/2004-08-02: This interface will eventually need to be
-   parameterized with the caller's thread - that will allow per-thread
-   dummy-frame stacks and, hence, per-thread inferior function
-   calls.  */
-
 /* NOTE: cagney/2004-08-02: In the case of ABIs using push_dummy_code
    containing more than one instruction, this interface many need to
    be expanded so that it knowns the lower/upper extent of the dummy
    frame's code.  */
 
 extern void dummy_frame_push (struct infcall_suspend_state *caller_state,
-                              const struct frame_id *dummy_id);
+                              const struct frame_id *dummy_id, ptid_t ptid);
 
 /* Pop the dummy frame DUMMY_ID, restoring program state to that before the
    frame was created.
@@ -50,13 +45,26 @@ extern void dummy_frame_push (struct inf
    stack, because the other frames may be for different threads, and there's
    currently no way to tell which stack frame is for which thread.  */
 
-extern void dummy_frame_pop (struct frame_id dummy_id);
+extern void dummy_frame_pop (struct frame_id dummy_id, ptid_t ptid);
 
-extern void dummy_frame_discard (struct frame_id dummy_id);
+extern void dummy_frame_discard (struct frame_id dummy_id, ptid_t ptid);
 
 /* If the PC falls in a dummy frame, return a dummy frame
    unwinder.  */
 
 extern const struct frame_unwind dummy_frame_unwind;
 
+/* Call DTOR with DTOR_DATA when DUMMY_ID frame of thread PTID gets discarded.
+   Dummy frame with DUMMY_ID must exist.  There must be no other call of
+   register_dummy_frame_dtor for that dummy frame.  */
+typedef void (dummy_frame_dtor_ftype) (void *data);
+extern void register_dummy_frame_dtor (struct frame_id dummy_id, ptid_t ptid,
+				       dummy_frame_dtor_ftype *dtor,
+				       void *dtor_data);
+
+/* Return 1 if there exists dummy frame with registered DTOR and DTOR_DATA.
+   Return 0 otherwise.  */
+extern int find_dummy_frame_dtor (dummy_frame_dtor_ftype *dtor,
+				  void *dtor_data);
+
 #endif /* !defined (DUMMY_FRAME_H)  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-valprint.c ./gdb/d-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/d-valprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/d-valprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing D values for GDB, the GNU debugger.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -38,8 +38,9 @@ dynamic_array_type (struct type *type, c
       && TYPE_CODE (TYPE_FIELD_TYPE (type, 0)) == TYPE_CODE_INT
       && strcmp (TYPE_FIELD_NAME (type, 0), "length") == 0
       && strcmp (TYPE_FIELD_NAME (type, 1), "ptr") == 0
-      && value_bits_valid (val, TARGET_CHAR_BIT * embedded_offset,
-			   TARGET_CHAR_BIT * TYPE_LENGTH (type)))
+      && !value_bits_any_optimized_out (val,
+					TARGET_CHAR_BIT * embedded_offset,
+					TARGET_CHAR_BIT * TYPE_LENGTH (type)))
     {
       CORE_ADDR addr;
       struct type *elttype;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2expr.c ./gdb/dwarf2expr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2expr.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dwarf2expr.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* DWARF 2 Expression Evaluator.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Daniel Berlin (dan@dberlin.org)
 
@@ -26,7 +26,6 @@
 #include "gdbcore.h"
 #include "dwarf2.h"
 #include "dwarf2expr.h"
-#include "gdb_assert.h"
 
 /* Local prototypes.  */
 
@@ -1478,6 +1477,12 @@ execute_stack_op (struct dwarf_expr_cont
 	  }
 	  break;
 
+	case DW_OP_push_object_address:
+	  /* Return the address of the object we are currently observing.  */
+	  result = (ctx->funcs->get_object_address) (ctx->baton);
+	  result_val = value_from_ulongest (address_type, result);
+	  break;
+
 	default:
 	  error (_("Unhandled dwarf expression opcode 0x%x"), op);
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2expr.h ./gdb/dwarf2expr.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2expr.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dwarf2expr.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* DWARF 2 Expression Evaluator.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Daniel Berlin <dan@dberlin.org>.
 
@@ -84,12 +84,8 @@ struct dwarf_expr_context_funcs
      This can throw an exception if the index is out of range.  */
   CORE_ADDR (*get_addr_index) (void *baton, unsigned int index);
 
-#if 0
-  /* Not yet implemented.  */
-
   /* Return the `object address' for DW_OP_push_object_address.  */
   CORE_ADDR (*get_object_address) (void *baton);
-#endif
 };
 
 /* The location of a value.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2-frame.c ./gdb/dwarf2-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2-frame.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dwarf2-frame.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Frame unwinder for frames with DWARF Call Frame Information.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Mark Kettenis.
 
@@ -33,14 +33,10 @@
 #include "value.h"
 #include "record.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "complaints.h"
 #include "dwarf2-frame.h"
 #include "ax.h"
 #include "dwarf2loc.h"
-#include "exceptions.h"
 #include "dwarf2-frame-tailcall.h"
 
 struct comp_unit;
@@ -856,13 +852,13 @@ static void
 dwarf2_frame_find_quirks (struct dwarf2_frame_state *fs,
 			  struct dwarf2_fde *fde)
 {
-  struct symtab *s;
+  struct compunit_symtab *cust;
 
-  s = find_pc_symtab (fs->pc);
-  if (s == NULL)
+  cust = find_pc_compunit_symtab (fs->pc);
+  if (cust == NULL)
     return;
 
-  if (producer_is_realview (s->producer))
+  if (producer_is_realview (COMPUNIT_PRODUCER (cust)))
     {
       if (fde->cie->version == 1)
 	fs->armcc_cfa_offsets_sf = 1;
@@ -886,11 +882,15 @@ dwarf2_frame_find_quirks (struct dwarf2_
 }
 
 
-void
-dwarf2_compile_cfa_to_ax (struct agent_expr *expr, struct axs_value *loc,
-			  struct gdbarch *gdbarch,
-			  CORE_ADDR pc,
-			  struct dwarf2_per_cu_data *data)
+/* See dwarf2-frame.h.  */
+
+int
+dwarf2_fetch_cfa_info (struct gdbarch *gdbarch, CORE_ADDR pc,
+		       struct dwarf2_per_cu_data *data,
+		       int *regnum_out, LONGEST *offset_out,
+		       CORE_ADDR *text_offset_out,
+		       const gdb_byte **cfa_start_out,
+		       const gdb_byte **cfa_end_out)
 {
   struct dwarf2_fde *fde;
   CORE_ADDR text_offset;
@@ -936,26 +936,20 @@ dwarf2_compile_cfa_to_ax (struct agent_e
 	if (regnum == -1)
 	  error (_("Unable to access DWARF register number %d"),
 		 (int) fs.regs.cfa_reg); /* FIXME */
-	ax_reg (expr, regnum);
 
-	if (fs.regs.cfa_offset != 0)
-	  {
-	    if (fs.armcc_cfa_offsets_reversed)
-	      ax_const_l (expr, -fs.regs.cfa_offset);
-	    else
-	      ax_const_l (expr, fs.regs.cfa_offset);
-	    ax_simple (expr, aop_add);
-	  }
+	*regnum_out = regnum;
+	if (fs.armcc_cfa_offsets_reversed)
+	  *offset_out = -fs.regs.cfa_offset;
+	else
+	  *offset_out = fs.regs.cfa_offset;
+	return 1;
       }
-      break;
 
     case CFA_EXP:
-      ax_const_l (expr, text_offset);
-      dwarf2_compile_expr_to_ax (expr, loc, gdbarch, addr_size,
-				 fs.regs.cfa_exp,
-				 fs.regs.cfa_exp + fs.regs.cfa_exp_len,
-				 data);
-      break;
+      *text_offset_out = text_offset;
+      *cfa_start_out = fs.regs.cfa_exp;
+      *cfa_end_out = fs.regs.cfa_exp + fs.regs.cfa_exp_len;
+      return 0;
 
     default:
       internal_error (__FILE__, __LINE__, _("Unknown CFA rule."));
@@ -2070,6 +2064,7 @@ decode_frame_entry_1 (struct comp_unit *
     {
       /* This is a FDE.  */
       struct dwarf2_fde *fde;
+      CORE_ADDR addr;
 
       /* Check that an FDE was expected.  */
       if ((entry_type & EH_FDE_TYPE_ID) == 0)
@@ -2103,14 +2098,16 @@ decode_frame_entry_1 (struct comp_unit *
 
       gdb_assert (fde->cie != NULL);
 
-      fde->initial_location =
-	read_encoded_value (unit, fde->cie->encoding, fde->cie->ptr_size,
-			    buf, &bytes_read, 0);
+      addr = read_encoded_value (unit, fde->cie->encoding, fde->cie->ptr_size,
+				 buf, &bytes_read, 0);
+      fde->initial_location = gdbarch_adjust_dwarf2_addr (gdbarch, addr);
       buf += bytes_read;
 
       fde->address_range =
 	read_encoded_value (unit, fde->cie->encoding & 0x0f,
 			    fde->cie->ptr_size, buf, &bytes_read, 0);
+      addr = gdbarch_adjust_dwarf2_addr (gdbarch, addr + fde->address_range);
+      fde->address_range = addr - fde->initial_location;
       buf += bytes_read;
 
       /* A 'z' augmentation in the CIE implies the presence of an
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2-frame.h ./gdb/dwarf2-frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2-frame.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dwarf2-frame.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Frame unwinder for frames with DWARF Call Frame Information.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Mark Kettenis.
 
@@ -120,15 +120,26 @@ extern const struct frame_base *
 
 CORE_ADDR dwarf2_frame_cfa (struct frame_info *this_frame);
 
-/* Update the agent expression EXPR with code to compute the CFA for a
-   frame at PC.  GDBARCH is the architecture of the function at PC.
-   This function may call dwarf2_compile_expr_to_ax; DATA is passed
-   through to that function if needed.  */
-
-extern void dwarf2_compile_cfa_to_ax (struct agent_expr *expr,
-				      struct axs_value *loc,
-				      struct gdbarch *gdbarch,
-				      CORE_ADDR pc,
-				      struct dwarf2_per_cu_data *data);
+/* Find the CFA information for PC.
+
+   Return 1 if a register is used for the CFA, or 0 if another
+   expression is used.  Throw an exception on error.
+
+   GDBARCH is the architecture to use.
+   DATA is the per-CU data.
+
+   REGNUM_OUT is an out parameter that is set to the register number.
+   OFFSET_OUT is the offset to use from this register.
+   These are only filled in when 1 is returned.
+
+   TEXT_OFFSET_OUT, CFA_START_OUT, and CFA_END_OUT describe the CFA
+   in other cases.  These are only used when 0 is returned.  */
+
+extern int dwarf2_fetch_cfa_info (struct gdbarch *gdbarch, CORE_ADDR pc,
+				  struct dwarf2_per_cu_data *data,
+				  int *regnum_out, LONGEST *offset_out,
+				  CORE_ADDR *text_offset_out,
+				  const gdb_byte **cfa_start_out,
+				  const gdb_byte **cfa_end_out);
 
 #endif /* dwarf2-frame.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2-frame-tailcall.c ./gdb/dwarf2-frame-tailcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2-frame-tailcall.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dwarf2-frame-tailcall.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Virtual tail call frames unwinder for GDB.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,14 +18,12 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "gdb_assert.h"
 #include "frame.h"
 #include "dwarf2-frame-tailcall.h"
 #include "dwarf2loc.h"
 #include "frame-unwind.h"
 #include "block.h"
 #include "hashtab.h"
-#include "exceptions.h"
 #include "gdbtypes.h"
 #include "regcache.h"
 #include "value.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2-frame-tailcall.h ./gdb/dwarf2-frame-tailcall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2-frame-tailcall.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dwarf2-frame-tailcall.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for virtual tail call frames unwinder for GDB.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2loc.c ./gdb/dwarf2loc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2loc.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dwarf2loc.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* DWARF 2 location expression support for GDB.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Daniel Jacobowitz, MontaVista Software, Inc.
 
@@ -30,7 +30,6 @@
 #include "ax-gdb.h"
 #include "regcache.h"
 #include "objfiles.h"
-#include "exceptions.h"
 #include "block.h"
 #include "gdbcmd.h"
 
@@ -38,15 +37,10 @@
 #include "dwarf2expr.h"
 #include "dwarf2loc.h"
 #include "dwarf2-frame.h"
-
-#include <string.h>
-#include "gdb_assert.h"
+#include "compile/compile.h"
 
 extern int dwarf2_always_disassemble;
 
-static void dwarf_expr_frame_base_1 (struct symbol *framefunc, CORE_ADDR pc,
-				     const gdb_byte **start, size_t *length);
-
 static const struct dwarf_expr_context_funcs dwarf_expr_ctx_funcs;
 
 static struct value *dwarf2_evaluate_loc_desc_full (struct type *type,
@@ -277,7 +271,7 @@ dwarf2_find_location_expression (struct 
 	  /* This is entry PC record present only at entry point
 	     of a function.  Verify it is really the function entry point.  */
 
-	  struct block *pc_block = block_for_pc (pc);
+	  const struct block *pc_block = block_for_pc (pc);
 	  struct symbol *pc_func = NULL;
 
 	  if (pc_block)
@@ -306,6 +300,7 @@ struct dwarf_expr_baton
 {
   struct frame_info *frame;
   struct dwarf2_per_cu_data *per_cu;
+  CORE_ADDR obj_address;
 };
 
 /* Helper functions for dwarf2_evaluate_loc_desc.  */
@@ -353,7 +348,7 @@ dwarf_expr_frame_base (void *baton, cons
      this_base method.  */
   struct symbol *framefunc;
   struct dwarf_expr_baton *debaton = (struct dwarf_expr_baton *) baton;
-  struct block *bl = get_frame_block (debaton->frame, NULL);
+  const struct block *bl = get_frame_block (debaton->frame, NULL);
 
   if (bl == NULL)
     error (_("frame address is not available."));
@@ -368,9 +363,9 @@ dwarf_expr_frame_base (void *baton, cons
      something has gone wrong.  */
   gdb_assert (framefunc != NULL);
 
-  dwarf_expr_frame_base_1 (framefunc,
-			   get_frame_address_in_block (debaton->frame),
-			   start, length);
+  func_get_frame_base_dwarf_block (framefunc,
+				   get_frame_address_in_block (debaton->frame),
+				   start, length);
 }
 
 /* Implement find_frame_base_location method for LOC_BLOCK functions using
@@ -414,9 +409,11 @@ const struct symbol_block_ops dwarf2_blo
   loclist_find_frame_base_location
 };
 
-static void
-dwarf_expr_frame_base_1 (struct symbol *framefunc, CORE_ADDR pc,
-			 const gdb_byte **start, size_t *length)
+/* See dwarf2loc.h.  */
+
+void
+func_get_frame_base_dwarf_block (struct symbol *framefunc, CORE_ADDR pc,
+				 const gdb_byte **start, size_t *length)
 {
   if (SYMBOL_BLOCK_OPS (framefunc) != NULL)
     {
@@ -1209,6 +1206,7 @@ dwarf_expr_push_dwarf_reg_entry_value (s
 
   baton_local.frame = caller_frame;
   baton_local.per_cu = caller_per_cu;
+  baton_local.obj_address = 0;
 
   saved_ctx.gdbarch = ctx->gdbarch;
   saved_ctx.addr_size = ctx->addr_size;
@@ -1238,6 +1236,22 @@ dwarf_expr_get_addr_index (void *baton, 
   return dwarf2_read_addr_index (debaton->per_cu, index);
 }
 
+/* Callback function for get_object_address. Return the address of the VLA
+   object.  */
+
+static CORE_ADDR
+dwarf_expr_get_obj_addr (void *baton)
+{
+  struct dwarf_expr_baton *debaton = baton;
+
+  gdb_assert (debaton != NULL);
+
+  if (debaton->obj_address == 0)
+    error (_("Location address is not set."));
+
+  return debaton->obj_address;
+}
+
 /* VALUE must be of type lval_computed with entry_data_value_funcs.  Perform
    the indirect method on it, that is use its stored target value, the sole
    purpose of entry_data_value_funcs..  */
@@ -1285,8 +1299,6 @@ static const struct lval_funcs entry_dat
 {
   NULL,	/* read */
   NULL,	/* write */
-  NULL,	/* check_validity */
-  NULL,	/* check_any_valid */
   NULL,	/* indirect */
   entry_data_value_coerce_ref,
   NULL,	/* check_synthetic_pointer */
@@ -1312,7 +1324,6 @@ value_of_dwarf_reg_entry (struct type *t
   struct value *outer_val, *target_val, *val;
   struct call_site_parameter *parameter;
   struct dwarf2_per_cu_data *caller_per_cu;
-  CORE_ADDR addr;
 
   parameter = dwarf_expr_reg_to_entry_parameter (frame, kind, kind_u,
 						 &caller_per_cu);
@@ -1335,14 +1346,6 @@ value_of_dwarf_reg_entry (struct type *t
 					       target_type, caller_frame,
 					       caller_per_cu);
 
-  /* value_as_address dereferences TYPE_CODE_REF.  */
-  addr = extract_typed_address (value_contents (outer_val), checked_type);
-
-  /* The target entry value has artificial address of the entry value
-     reference.  */
-  VALUE_LVAL (target_val) = lval_memory;
-  set_value_address (target_val, addr);
-
   release_value (target_val);
   val = allocate_computed_value (type, &entry_data_value_funcs,
 				 target_val /* closure */);
@@ -1680,21 +1683,21 @@ read_pieced_value (struct value *v)
 	  {
 	    struct gdbarch *arch = get_frame_arch (frame);
 	    int gdb_regnum = gdbarch_dwarf2_reg_to_regnum (arch, p->v.regno);
-	    int reg_offset = source_offset;
-
-	    if (gdbarch_byte_order (arch) == BFD_ENDIAN_BIG
-		&& this_size < register_size (arch, gdb_regnum))
-	      {
-		/* Big-endian, and we want less than full size.  */
-		reg_offset = register_size (arch, gdb_regnum) - this_size;
-		/* We want the lower-order THIS_SIZE_BITS of the bytes
-		   we extract from the register.  */
-		source_offset_bits += 8 * this_size - this_size_bits;
-	      }
 
 	    if (gdb_regnum != -1)
 	      {
 		int optim, unavail;
+		int reg_offset = source_offset;
+
+		if (gdbarch_byte_order (arch) == BFD_ENDIAN_BIG
+		    && this_size < register_size (arch, gdb_regnum))
+		  {
+		    /* Big-endian, and we want less than full size.  */
+		    reg_offset = register_size (arch, gdb_regnum) - this_size;
+		    /* We want the lower-order THIS_SIZE_BITS of the bytes
+		       we extract from the register.  */
+		    source_offset_bits += 8 * this_size - this_size_bits;
+		 }
 
 		if (!get_frame_register_bytes (frame, gdb_regnum, reg_offset,
 					       this_size, buffer,
@@ -1704,7 +1707,7 @@ read_pieced_value (struct value *v)
 		    memset (buffer, 0, this_size);
 
 		    if (optim)
-		      set_value_optimized_out (v, 1);
+		      mark_value_bits_optimized_out (v, offset, this_size_bits);
 		    if (unavail)
 		      mark_value_bits_unavailable (v, offset, this_size_bits);
 		  }
@@ -1764,7 +1767,7 @@ read_pieced_value (struct value *v)
 	  break;
 
 	case DWARF_VALUE_OPTIMIZED_OUT:
-	  set_value_optimized_out (v, 1);
+	  mark_value_bits_optimized_out (v, offset, this_size_bits);
 	  break;
 
 	default:
@@ -1802,7 +1805,7 @@ write_pieced_value (struct value *to, st
 
   if (frame == NULL)
     {
-      set_value_optimized_out (to, 1);
+      mark_value_bytes_optimized_out (to, 0, TYPE_LENGTH (value_type (to)));
       return;
     }
 
@@ -1872,15 +1875,18 @@ write_pieced_value (struct value *to, st
 	  {
 	    struct gdbarch *arch = get_frame_arch (frame);
 	    int gdb_regnum = gdbarch_dwarf2_reg_to_regnum (arch, p->v.regno);
-	    int reg_offset = dest_offset;
-
-	    if (gdbarch_byte_order (arch) == BFD_ENDIAN_BIG
-		&& this_size <= register_size (arch, gdb_regnum))
-	      /* Big-endian, and we want less than full size.  */
-	      reg_offset = register_size (arch, gdb_regnum) - this_size;
 
 	    if (gdb_regnum != -1)
 	      {
+		int reg_offset = dest_offset;
+
+		if (gdbarch_byte_order (arch) == BFD_ENDIAN_BIG
+		    && this_size <= register_size (arch, gdb_regnum))
+		  {
+		    /* Big-endian, and we want less than full size.  */
+		    reg_offset = register_size (arch, gdb_regnum) - this_size;
+		  }
+
 		if (need_bitwise)
 		  {
 		    int optim, unavail;
@@ -1934,7 +1940,7 @@ write_pieced_value (struct value *to, st
 			source_buffer, this_size);
 	  break;
 	default:
-	  set_value_optimized_out (to, 1);
+	  mark_value_bytes_optimized_out (to, 0, TYPE_LENGTH (value_type (to)));
 	  break;
 	}
       offset += this_size_bits;
@@ -1943,24 +1949,16 @@ write_pieced_value (struct value *to, st
   do_cleanups (cleanup);
 }
 
-/* A helper function that checks bit validity in a pieced value.
-   CHECK_FOR indicates the kind of validity checking.
-   DWARF_VALUE_MEMORY means to check whether any bit is valid.
-   DWARF_VALUE_OPTIMIZED_OUT means to check whether any bit is
-   optimized out.
-   DWARF_VALUE_IMPLICIT_POINTER means to check whether the bits are an
-   implicit pointer.  */
+/* An implementation of an lval_funcs method to see whether a value is
+   a synthetic pointer.  */
 
 static int
-check_pieced_value_bits (const struct value *value, int bit_offset,
-			 int bit_length,
-			 enum dwarf_value_location check_for)
+check_pieced_synthetic_pointer (const struct value *value, int bit_offset,
+				int bit_length)
 {
   struct piece_closure *c
     = (struct piece_closure *) value_computed_closure (value);
   int i;
-  int validity = (check_for == DWARF_VALUE_MEMORY
-		  || check_for == DWARF_VALUE_IMPLICIT_POINTER);
 
   bit_offset += 8 * value_offset (value);
   if (value_bitsize (value))
@@ -1985,52 +1983,11 @@ check_pieced_value_bits (const struct va
       else
 	bit_length -= this_size_bits;
 
-      if (check_for == DWARF_VALUE_IMPLICIT_POINTER)
-	{
-	  if (p->location != DWARF_VALUE_IMPLICIT_POINTER)
-	    return 0;
-	}
-      else if (p->location == DWARF_VALUE_OPTIMIZED_OUT
-	       || p->location == DWARF_VALUE_IMPLICIT_POINTER)
-	{
-	  if (validity)
-	    return 0;
-	}
-      else
-	{
-	  if (!validity)
-	    return 1;
-	}
+      if (p->location != DWARF_VALUE_IMPLICIT_POINTER)
+	return 0;
     }
 
-  return validity;
-}
-
-static int
-check_pieced_value_validity (const struct value *value, int bit_offset,
-			     int bit_length)
-{
-  return check_pieced_value_bits (value, bit_offset, bit_length,
-				  DWARF_VALUE_MEMORY);
-}
-
-static int
-check_pieced_value_invalid (const struct value *value)
-{
-  return check_pieced_value_bits (value, 0,
-				  8 * TYPE_LENGTH (value_type (value)),
-				  DWARF_VALUE_OPTIMIZED_OUT);
-}
-
-/* An implementation of an lval_funcs method to see whether a value is
-   a synthetic pointer.  */
-
-static int
-check_pieced_synthetic_pointer (const struct value *value, int bit_offset,
-				int bit_length)
-{
-  return check_pieced_value_bits (value, bit_offset, bit_length,
-				  DWARF_VALUE_IMPLICIT_POINTER);
+  return 1;
 }
 
 /* A wrapper function for get_frame_address_in_block.  */
@@ -2055,6 +2012,7 @@ indirect_pieced_value (struct value *val
   int i, bit_offset, bit_length;
   struct dwarf_expr_piece *piece = NULL;
   LONGEST byte_offset;
+  enum bfd_endian byte_order;
 
   type = check_typedef (value_type (value));
   if (TYPE_CODE (type) != TYPE_CODE_PTR)
@@ -2099,11 +2057,16 @@ indirect_pieced_value (struct value *val
   /* This is an offset requested by GDB, such as value subscripts.
      However, due to how synthetic pointers are implemented, this is
      always presented to us as a pointer type.  This means we have to
-     sign-extend it manually as appropriate.  */
-  byte_offset = value_as_address (value);
-  if (TYPE_LENGTH (value_type (value)) < sizeof (LONGEST))
-    byte_offset = gdb_sign_extend (byte_offset,
-				   8 * TYPE_LENGTH (value_type (value)));
+     sign-extend it manually as appropriate.  Use raw
+     extract_signed_integer directly rather than value_as_address and
+     sign extend afterwards on architectures that would need it
+     (mostly everywhere except MIPS, which has signed addresses) as
+     the later would go through gdbarch_pointer_to_address and thus
+     return a CORE_ADDR with high bits set on architectures that
+     encode address spaces and other things in CORE_ADDR.  */
+  byte_order = gdbarch_byte_order (get_frame_arch (frame));
+  byte_offset = extract_signed_integer (value_contents (value),
+					TYPE_LENGTH (type), byte_order);
   byte_offset += piece->v.ptr.offset;
 
   gdb_assert (piece);
@@ -2179,8 +2142,6 @@ free_pieced_value_closure (struct value 
 static const struct lval_funcs pieced_value_funcs = {
   read_pieced_value,
   write_pieced_value,
-  check_pieced_value_validity,
-  check_pieced_value_invalid,
   indirect_pieced_value,
   NULL,	/* coerce_ref */
   check_pieced_synthetic_pointer,
@@ -2202,7 +2163,8 @@ static const struct dwarf_expr_context_f
   dwarf_expr_dwarf_call,
   dwarf_expr_get_base_type,
   dwarf_expr_push_dwarf_reg_entry_value,
-  dwarf_expr_get_addr_index
+  dwarf_expr_get_addr_index,
+  dwarf_expr_get_obj_addr
 };
 
 /* Evaluate a location description, starting at DATA and with length
@@ -2231,6 +2193,7 @@ dwarf2_evaluate_loc_desc_full (struct ty
 
   baton.frame = frame;
   baton.per_cu = per_cu;
+  baton.obj_address = 0;
 
   ctx = new_dwarf_expr_context ();
   old_chain = make_cleanup_free_dwarf_expr_context (ctx);
@@ -2308,6 +2271,8 @@ dwarf2_evaluate_loc_desc_full (struct ty
 	   retval = value_from_register (type, gdb_regnum, frame);
 	   if (value_optimized_out (retval))
 	     {
+	       struct value *tmp;
+
 	       /* This means the register has undefined value / was
 		  not saved.  As we're computing the location of some
 		  variable etc. in the program, not a value for
@@ -2315,7 +2280,9 @@ dwarf2_evaluate_loc_desc_full (struct ty
 		  generic optimized out value instead, so that we show
 		  <optimized out> instead of <not saved>.  */
 	       do_cleanups (value_chain);
-	       retval = allocate_optimized_out_value (type);
+	       tmp = allocate_value (type);
+	       value_contents_copy (tmp, 0, retval, 0, TYPE_LENGTH (type));
+	       retval = tmp;
 	     }
 	  }
 	  break;
@@ -2436,6 +2403,7 @@ dwarf2_evaluate_loc_desc (struct type *t
 
 static int
 dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton,
+			   CORE_ADDR addr,
 			   CORE_ADDR *valp)
 {
   struct dwarf_expr_context *ctx;
@@ -2451,6 +2419,7 @@ dwarf2_locexpr_baton_eval (const struct 
 
   baton.frame = get_selected_frame (NULL);
   baton.per_cu = dlbaton->per_cu;
+  baton.obj_address = addr;
 
   objfile = dwarf2_per_cu_objfile (dlbaton->per_cu);
 
@@ -2491,7 +2460,8 @@ dwarf2_locexpr_baton_eval (const struct 
 /* See dwarf2loc.h.  */
 
 int
-dwarf2_evaluate_property (const struct dynamic_prop *prop, CORE_ADDR *value)
+dwarf2_evaluate_property (const struct dynamic_prop *prop,
+			  CORE_ADDR address, CORE_ADDR *value)
 {
   if (prop == NULL)
     return 0;
@@ -2502,7 +2472,7 @@ dwarf2_evaluate_property (const struct d
       {
 	const struct dwarf2_property_baton *baton = prop->data.baton;
 
-	if (dwarf2_locexpr_baton_eval (&baton->locexpr, value))
+	if (dwarf2_locexpr_baton_eval (&baton->locexpr, address, value))
 	  {
 	    if (baton->referenced_type)
 	      {
@@ -2546,6 +2516,42 @@ dwarf2_evaluate_property (const struct d
   return 0;
 }
 
+/* See dwarf2loc.h.  */
+
+void
+dwarf2_compile_property_to_c (struct ui_file *stream,
+			      const char *result_name,
+			      struct gdbarch *gdbarch,
+			      unsigned char *registers_used,
+			      const struct dynamic_prop *prop,
+			      CORE_ADDR pc,
+			      struct symbol *sym)
+{
+  struct dwarf2_property_baton *baton = prop->data.baton;
+  const gdb_byte *data;
+  size_t size;
+  struct dwarf2_per_cu_data *per_cu;
+
+  if (prop->kind == PROP_LOCEXPR)
+    {
+      data = baton->locexpr.data;
+      size = baton->locexpr.size;
+      per_cu = baton->locexpr.per_cu;
+    }
+  else
+    {
+      gdb_assert (prop->kind == PROP_LOCLIST);
+
+      data = dwarf2_find_location_expression (&baton->loclist, &size, pc);
+      per_cu = baton->loclist.per_cu;
+    }
+
+  compile_dwarf_bounds_to_c (stream, result_name, prop, sym, pc,
+			     gdbarch, registers_used,
+			     dwarf2_per_cu_addr_size (per_cu),
+			     data, data + size, per_cu);
+}
+
 
 /* Helper functions and baton for dwarf2_loc_desc_needs_frame.  */
 
@@ -2653,6 +2659,15 @@ needs_get_addr_index (void *baton, unsig
   return 1;
 }
 
+/* DW_OP_push_object_address has a frame already passed through.  */
+
+static CORE_ADDR
+needs_get_obj_addr (void *baton)
+{
+  /* Nothing to do.  */
+  return 1;
+}
+
 /* Virtual method table for dwarf2_loc_desc_needs_frame below.  */
 
 static const struct dwarf_expr_context_funcs needs_frame_ctx_funcs =
@@ -2667,7 +2682,8 @@ static const struct dwarf_expr_context_f
   needs_frame_dwarf_call,
   NULL,				/* get_base_type */
   needs_dwarf_reg_entry_value,
-  needs_get_addr_index
+  needs_get_addr_index,
+  needs_get_obj_addr
 };
 
 /* Return non-zero iff the location expression at DATA (length SIZE)
@@ -2734,14 +2750,10 @@ unimplemented (unsigned int op)
 	   op);
 }
 
-/* A helper function to convert a DWARF register to an arch register.
-   ARCH is the architecture.
-   DWARF_REG is the register.
-   This will throw an exception if the DWARF register cannot be
-   translated to an architecture register.  */
+/* See dwarf2loc.h.  */
 
-static int
-translate_register (struct gdbarch *arch, int dwarf_reg)
+int
+dwarf2_reg_to_regnum_or_error (struct gdbarch *arch, int dwarf_reg)
 {
   int reg = gdbarch_dwarf2_reg_to_regnum (arch, dwarf_reg);
   if (reg == -1)
@@ -2992,14 +3004,14 @@ dwarf2_compile_expr_to_ax (struct agent_
 	case DW_OP_reg30:
 	case DW_OP_reg31:
 	  dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_regx");
-	  loc->u.reg = translate_register (arch, op - DW_OP_reg0);
+	  loc->u.reg = dwarf2_reg_to_regnum_or_error (arch, op - DW_OP_reg0);
 	  loc->kind = axs_lvalue_register;
 	  break;
 
 	case DW_OP_regx:
 	  op_ptr = safe_read_uleb128 (op_ptr, op_end, &reg);
 	  dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_regx");
-	  loc->u.reg = translate_register (arch, reg);
+	  loc->u.reg = dwarf2_reg_to_regnum_or_error (arch, reg);
 	  loc->kind = axs_lvalue_register;
 	  break;
 
@@ -3062,7 +3074,7 @@ dwarf2_compile_expr_to_ax (struct agent_
 	case DW_OP_breg30:
 	case DW_OP_breg31:
 	  op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
-	  i = translate_register (arch, op - DW_OP_breg0);
+	  i = dwarf2_reg_to_regnum_or_error (arch, op - DW_OP_breg0);
 	  ax_reg (expr, i);
 	  if (offset != 0)
 	    {
@@ -3074,7 +3086,7 @@ dwarf2_compile_expr_to_ax (struct agent_
 	  {
 	    op_ptr = safe_read_uleb128 (op_ptr, op_end, &reg);
 	    op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
-	    i = translate_register (arch, reg);
+	    i = dwarf2_reg_to_regnum_or_error (arch, reg);
 	    ax_reg (expr, i);
 	    if (offset != 0)
 	      {
@@ -3087,7 +3099,7 @@ dwarf2_compile_expr_to_ax (struct agent_
 	  {
 	    const gdb_byte *datastart;
 	    size_t datalen;
-	    struct block *b;
+	    const struct block *b;
 	    struct symbol *framefunc;
 
 	    b = block_for_pc (expr->scope);
@@ -3100,8 +3112,8 @@ dwarf2_compile_expr_to_ax (struct agent_
 	    if (!framefunc)
 	      error (_("No function found for block"));
 
-	    dwarf_expr_frame_base_1 (framefunc, expr->scope,
-				     &datastart, &datalen);
+	    func_get_frame_base_dwarf_block (framefunc, expr->scope,
+					     &datastart, &datalen);
 
 	    op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
 	    dwarf2_compile_expr_to_ax (expr, loc, arch, addr_size, datastart,
@@ -3308,14 +3320,44 @@ dwarf2_compile_expr_to_ax (struct agent_
 	  break;
 
 	case DW_OP_call_frame_cfa:
-	  dwarf2_compile_cfa_to_ax (expr, loc, arch, expr->scope, per_cu);
-	  loc->kind = axs_lvalue_memory;
+	  {
+	    int regnum;
+	    CORE_ADDR text_offset;
+	    LONGEST off;
+	    const gdb_byte *cfa_start, *cfa_end;
+
+	    if (dwarf2_fetch_cfa_info (arch, expr->scope, per_cu,
+				       &regnum, &off,
+				       &text_offset, &cfa_start, &cfa_end))
+	      {
+		/* Register.  */
+		ax_reg (expr, regnum);
+		if (off != 0)
+		  {
+		    ax_const_l (expr, off);
+		    ax_simple (expr, aop_add);
+		  }
+	      }
+	    else
+	      {
+		/* Another expression.  */
+		ax_const_l (expr, text_offset);
+		dwarf2_compile_expr_to_ax (expr, loc, arch, addr_size,
+					   cfa_start, cfa_end, per_cu);
+	      }
+
+	    loc->kind = axs_lvalue_memory;
+	  }
 	  break;
 
 	case DW_OP_GNU_push_tls_address:
 	  unimplemented (op);
 	  break;
 
+	case DW_OP_push_object_address:
+	  unimplemented (op);
+	  break;
+
 	case DW_OP_skip:
 	  offset = extract_signed_integer (op_ptr, 2, byte_order);
 	  op_ptr += 2;
@@ -3542,7 +3584,7 @@ locexpr_describe_location_piece (struct 
     }
   else if (data[0] == DW_OP_fbreg)
     {
-      struct block *b;
+      const struct block *b;
       struct symbol *framefunc;
       int frame_reg = 0;
       int64_t frame_offset;
@@ -3567,7 +3609,7 @@ locexpr_describe_location_piece (struct 
 	error (_("No function found for block for symbol \"%s\"."),
 	       SYMBOL_PRINT_NAME (symbol));
 
-      dwarf_expr_frame_base_1 (framefunc, addr, &base_data, &base_size);
+      func_get_frame_base_dwarf_block (framefunc, addr, &base_data, &base_size);
 
       if (base_data[0] >= DW_OP_breg0 && base_data[0] <= DW_OP_breg31)
 	{
@@ -4177,6 +4219,26 @@ locexpr_tracepoint_var_ref (struct symbo
 			       dlbaton->per_cu);
 }
 
+/* symbol_computed_ops 'generate_c_location' method.  */
+
+static void
+locexpr_generate_c_location (struct symbol *sym, struct ui_file *stream,
+			     struct gdbarch *gdbarch,
+			     unsigned char *registers_used,
+			     CORE_ADDR pc, const char *result_name)
+{
+  struct dwarf2_locexpr_baton *dlbaton = SYMBOL_LOCATION_BATON (sym);
+  unsigned int addr_size = dwarf2_per_cu_addr_size (dlbaton->per_cu);
+
+  if (dlbaton->size == 0)
+    error (_("symbol \"%s\" is optimized out"), SYMBOL_NATURAL_NAME (sym));
+
+  compile_dwarf_expr_to_c (stream, result_name,
+			   sym, pc, gdbarch, registers_used, addr_size,
+			   dlbaton->data, dlbaton->data + dlbaton->size,
+			   dlbaton->per_cu);
+}
+
 /* The set of location functions used with the DWARF-2 expression
    evaluator.  */
 const struct symbol_computed_ops dwarf2_locexpr_funcs = {
@@ -4185,7 +4247,8 @@ const struct symbol_computed_ops dwarf2_
   locexpr_read_needs_frame,
   locexpr_describe_location,
   0,	/* location_has_loclist */
-  locexpr_tracepoint_var_ref
+  locexpr_tracepoint_var_ref,
+  locexpr_generate_c_location
 };
 
 
@@ -4318,6 +4381,9 @@ loclist_describe_location (struct symbol
       low += base_address;
       high += base_address;
 
+      low = gdbarch_adjust_dwarf2_addr (gdbarch, low);
+      high = gdbarch_adjust_dwarf2_addr (gdbarch, high);
+
       length = extract_unsigned_integer (loc_ptr, 2, byte_order);
       loc_ptr += 2;
 
@@ -4356,6 +4422,29 @@ loclist_tracepoint_var_ref (struct symbo
 			       dlbaton->per_cu);
 }
 
+/* symbol_computed_ops 'generate_c_location' method.  */
+
+static void
+loclist_generate_c_location (struct symbol *sym, struct ui_file *stream,
+			     struct gdbarch *gdbarch,
+			     unsigned char *registers_used,
+			     CORE_ADDR pc, const char *result_name)
+{
+  struct dwarf2_loclist_baton *dlbaton = SYMBOL_LOCATION_BATON (sym);
+  unsigned int addr_size = dwarf2_per_cu_addr_size (dlbaton->per_cu);
+  const gdb_byte *data;
+  size_t size;
+
+  data = dwarf2_find_location_expression (dlbaton, &size, pc);
+  if (size == 0)
+    error (_("symbol \"%s\" is optimized out"), SYMBOL_NATURAL_NAME (sym));
+
+  compile_dwarf_expr_to_c (stream, result_name,
+			   sym, pc, gdbarch, registers_used, addr_size,
+			   data, data + size,
+			   dlbaton->per_cu);
+}
+
 /* The set of location functions used with the DWARF-2 expression
    evaluator and location lists.  */
 const struct symbol_computed_ops dwarf2_loclist_funcs = {
@@ -4364,7 +4453,8 @@ const struct symbol_computed_ops dwarf2_
   loclist_read_needs_frame,
   loclist_describe_location,
   1,	/* location_has_loclist */
-  loclist_tracepoint_var_ref
+  loclist_tracepoint_var_ref,
+  loclist_generate_c_location
 };
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2loc.h ./gdb/dwarf2loc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2loc.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dwarf2loc.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* DWARF 2 location expression support for GDB.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -80,6 +80,18 @@ extern const gdb_byte *dwarf2_fetch_cons
 struct type *dwarf2_get_die_type (cu_offset die_offset,
 				  struct dwarf2_per_cu_data *per_cu);
 
+/* Find the frame base information for FRAMEFUNC at PC.  START is an
+   out parameter which is set to point to the DWARF expression to
+   compute.  LENGTH is an out parameter which is set to the length of
+   the DWARF expression.  This throws an exception on error or if an
+   expression is not found; the returned length will never be
+   zero.  */
+
+extern void func_get_frame_base_dwarf_block (struct symbol *framefunc,
+					     CORE_ADDR pc,
+					     const gdb_byte **start,
+					     size_t *length);
+
 /* Evaluate a location description, starting at DATA and with length
    SIZE, to find the current location of variable of TYPE in the context
    of FRAME.  */
@@ -90,14 +102,36 @@ struct value *dwarf2_evaluate_loc_desc (
 					size_t size,
 					struct dwarf2_per_cu_data *per_cu);
 
-/* Converts a dynamic property into a static one.  ADDR is the address of
-   the object currently being evaluated and might be nedded.
+/* Converts a dynamic property into a static one.  ADDRESS is the address
+   of the object currently being evaluated and might be nedded.
    Returns 1 if PROP could be converted and the static value is passed back
    into VALUE, otherwise returns 0.  */
 
 int dwarf2_evaluate_property (const struct dynamic_prop *prop,
+			      CORE_ADDR address,
 			      CORE_ADDR *value);
 
+/* A helper for the compiler interface that compiles a single dynamic
+   property to C code.
+
+   STREAM is where the C code is to be written.
+   RESULT_NAME is the name of the generated variable.
+   GDBARCH is the architecture to use.
+   REGISTERS_USED is a bit-vector that is filled to note which
+   registers are required by the generated expression.
+   PROP is the property for which code is generated.
+   ADDRESS is the address at which the property is considered to be
+   evaluated.
+   SYM the originating symbol, used for error reporting.  */
+
+void dwarf2_compile_property_to_c (struct ui_file *stream,
+				   const char *result_name,
+				   struct gdbarch *gdbarch,
+				   unsigned char *registers_used,
+				   const struct dynamic_prop *prop,
+				   CORE_ADDR address,
+				   struct symbol *sym);
+
 CORE_ADDR dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu,
 				  unsigned int addr_index);
 
@@ -209,4 +243,12 @@ extern struct call_site_chain *call_site
 						     CORE_ADDR caller_pc,
 						     CORE_ADDR callee_pc);
 
+/* A helper function to convert a DWARF register to an arch register.
+   ARCH is the architecture.
+   DWARF_REG is the register.
+   This will throw an exception if the DWARF register cannot be
+   translated to an architecture register.  */
+
+extern int dwarf2_reg_to_regnum_or_error (struct gdbarch *arch, int dwarf_reg);
+
 #endif /* dwarf2loc.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2read.c ./gdb/dwarf2read.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/dwarf2read.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/dwarf2read.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* DWARF 2 debugging format support for GDB.
 
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    Adapted by Gary Funck (gary@intrepid.com), Intrepid Technology,
    Inc.  with support from Florida State University (under contract
@@ -55,7 +55,6 @@
 #include "typeprint.h"
 #include "jv-lang.h"
 #include "psympriv.h"
-#include "exceptions.h"
 #include <sys/stat.h>
 #include "completer.h"
 #include "vec.h"
@@ -72,8 +71,6 @@
 #include "build-id.h"
 
 #include <fcntl.h>
-#include <string.h>
-#include "gdb_assert.h"
 #include <sys/types.h>
 
 typedef struct symbol *symbolp;
@@ -613,8 +610,8 @@ struct dwarf2_per_cu_data
      However we can enter this file with just a "per_cu" handle.  */
   struct objfile *objfile;
 
-  /* When using partial symbol tables, the 'psymtab' field is active.
-     Otherwise the 'quick' field is active.  */
+  /* When dwarf2_per_objfile->using_index is true, the 'quick' field
+     is active.  Otherwise, the 'psymtab' field is active.  */
   union
   {
     /* The partial symbol table associated with this compilation unit,
@@ -718,10 +715,10 @@ struct type_unit_group
      and is deleted afterwards and not used again.  */
   VEC (sig_type_ptr) *tus;
 
-  /* The primary symtab.
+  /* The compunit symtab.
      Type units in a group needn't all be defined in the same source file,
-     so we create an essentially anonymous symtab as the primary symtab.  */
-  struct symtab *primary_symtab;
+     so we create an essentially anonymous symtab as the compunit symtab.  */
+  struct compunit_symtab *compunit_symtab;
 
   /* The data used to construct the hash key.  */
   struct stmt_list_hash hash;
@@ -1389,10 +1386,10 @@ static void add_partial_symbol (struct p
 
 static void add_partial_namespace (struct partial_die_info *pdi,
 				   CORE_ADDR *lowpc, CORE_ADDR *highpc,
-				   int need_pc, struct dwarf2_cu *cu);
+				   int set_addrmap, struct dwarf2_cu *cu);
 
 static void add_partial_module (struct partial_die_info *pdi, CORE_ADDR *lowpc,
-				CORE_ADDR *highpc, int need_pc,
+				CORE_ADDR *highpc, int set_addrmap,
 				struct dwarf2_cu *cu);
 
 static void add_partial_enumeration (struct partial_die_info *enum_pdi,
@@ -1515,12 +1512,13 @@ static struct line_header *dwarf_decode_
 
 static void dwarf_decode_lines (struct line_header *, const char *,
 				struct dwarf2_cu *, struct partial_symtab *,
-				int);
+				CORE_ADDR);
 
-static void dwarf2_start_subfile (const char *, const char *, const char *);
+static void dwarf2_start_subfile (const char *, const char *);
 
-static void dwarf2_start_symtab (struct dwarf2_cu *,
-				 const char *, const char *, CORE_ADDR);
+static struct compunit_symtab *dwarf2_start_symtab (struct dwarf2_cu *,
+						    const char *, const char *,
+						    CORE_ADDR);
 
 static struct symbol *new_symbol (struct die_info *, struct type *,
 				  struct dwarf2_cu *);
@@ -1719,8 +1717,7 @@ static struct dwarf_block *dwarf_alloc_b
 
 static struct die_info *dwarf_alloc_die (struct dwarf2_cu *, int);
 
-static void dwarf_decode_macros (struct dwarf2_cu *, unsigned int,
-				 const char *, int);
+static void dwarf_decode_macros (struct dwarf2_cu *, unsigned int, int);
 
 static int attr_form_is_block (const struct attribute *);
 
@@ -2499,7 +2496,7 @@ struct dwarf2_per_cu_quick_data
 
   /* The corresponding symbol table.  This is NULL if symbols for this
      CU have not yet been read.  */
-  struct symtab *symtab;
+  struct compunit_symtab *compunit_symtab;
 
   /* A temporary mark bit used when iterating over all CUs in
      expand_symtabs_matching.  */
@@ -2620,7 +2617,7 @@ dw2_do_instantiate_symtab (struct dwarf2
   back_to = make_cleanup (dwarf2_release_queue, NULL);
 
   if (dwarf2_per_objfile->using_index
-      ? per_cu->v.quick->symtab == NULL
+      ? per_cu->v.quick->compunit_symtab == NULL
       : (per_cu->v.psymtab == NULL || !per_cu->v.psymtab->readin))
     {
       queue_comp_unit (per_cu, language_minimal);
@@ -2651,11 +2648,11 @@ dw2_do_instantiate_symtab (struct dwarf2
    the objfile from which this CU came.  Returns the resulting symbol
    table.  */
 
-static struct symtab *
+static struct compunit_symtab *
 dw2_instantiate_symtab (struct dwarf2_per_cu_data *per_cu)
 {
   gdb_assert (dwarf2_per_objfile->using_index);
-  if (!per_cu->v.quick->symtab)
+  if (!per_cu->v.quick->compunit_symtab)
     {
       struct cleanup *back_to = make_cleanup (free_cached_comp_units, NULL);
       increment_reading_symtab ();
@@ -2663,7 +2660,8 @@ dw2_instantiate_symtab (struct dwarf2_pe
       process_cu_includes ();
       do_cleanups (back_to);
     }
-  return per_cu->v.quick->symtab;
+
+  return per_cu->v.quick->compunit_symtab;
 }
 
 /* Return the CU/TU given its index.
@@ -2826,6 +2824,7 @@ create_signatured_type_table_from_index 
 static void
 create_addrmap_from_index (struct objfile *objfile, struct mapped_index *index)
 {
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   const gdb_byte *iter, *end;
   struct obstack temp_obstack;
   struct addrmap *mutable_map;
@@ -2867,8 +2866,9 @@ create_addrmap_from_index (struct objfil
 	  continue;
 	}
 
-      addrmap_set_empty (mutable_map, lo + baseaddr, hi + baseaddr - 1,
-			 dw2_get_cutu (cu_index));
+      lo = gdbarch_adjust_dwarf2_addr (gdbarch, lo + baseaddr);
+      hi = gdbarch_adjust_dwarf2_addr (gdbarch, hi + baseaddr);
+      addrmap_set_empty (mutable_map, lo, hi - 1, dw2_get_cutu (cu_index));
     }
 
   objfile->psymtabs_addrmap = addrmap_create_fixed (mutable_map,
@@ -2920,18 +2920,16 @@ find_slot_in_mapped_hash (struct mapped_
     {
       /* NAME is already canonical.  Drop any qualifiers as .gdb_index does
 	 not contain any.  */
-      const char *paren = strchr (name, '(');
 
-      if (paren)
+      if (strchr (name, '(') != NULL)
 	{
-	  char *dup;
-
-	  dup = xmalloc (paren - name + 1);
-	  memcpy (dup, name, paren - name);
-	  dup[paren - name] = 0;
+	  char *without_params = cp_remove_params (name);
 
-	  make_cleanup (xfree, dup);
-	  name = dup;
+	  if (without_params != NULL)
+	    {
+	      make_cleanup (xfree, without_params);
+	      name = without_params;
+	    }
 	}
     }
 
@@ -3297,7 +3295,7 @@ dw2_get_real_path (struct objfile *objfi
 {
   if (qfn->real_names == NULL)
     qfn->real_names = OBSTACK_CALLOC (&objfile->objfile_obstack,
-				      qfn->num_file_names, char *);
+				      qfn->num_file_names, const char *);
 
   if (qfn->real_names[index] == NULL)
     qfn->real_names[index] = gdb_realpath (qfn->file_names[index]);
@@ -3308,11 +3306,15 @@ dw2_get_real_path (struct objfile *objfi
 static struct symtab *
 dw2_find_last_source_symtab (struct objfile *objfile)
 {
+  struct compunit_symtab *cust;
   int index;
 
   dw2_setup (objfile);
   index = dwarf2_per_objfile->n_comp_units - 1;
-  return dw2_instantiate_symtab (dw2_get_cutu (index));
+  cust = dw2_instantiate_symtab (dw2_get_cutu (index));
+  if (cust == NULL)
+    return NULL;
+  return compunit_primary_filetab (cust);
 }
 
 /* Traversal function for dw2_forget_cached_source_info.  */
@@ -3355,10 +3357,10 @@ dw2_map_expand_apply (struct objfile *ob
 		      int (*callback) (struct symtab *, void *),
 		      void *data)
 {
-  struct symtab *last_made = objfile->symtabs;
+  struct compunit_symtab *last_made = objfile->compunit_symtabs;
 
   /* Don't visit already-expanded CUs.  */
-  if (per_cu->v.quick->symtab)
+  if (per_cu->v.quick->compunit_symtab)
     return 0;
 
   /* This may expand more than one symtab, and we want to iterate over
@@ -3366,7 +3368,7 @@ dw2_map_expand_apply (struct objfile *ob
   dw2_instantiate_symtab (per_cu);
 
   return iterate_over_some_symtabs (name, real_path, callback, data,
-				    objfile->symtabs, last_made);
+				    objfile->compunit_symtabs, last_made);
 }
 
 /* Implementation of the map_symtabs_matching_filename method.  */
@@ -3392,7 +3394,7 @@ dw2_map_symtabs_matching_filename (struc
       struct quick_file_names *file_data;
 
       /* We only need to look at symtabs not already expanded.  */
-      if (per_cu->v.quick->symtab)
+      if (per_cu->v.quick->compunit_symtab)
 	continue;
 
       file_data = dw2_get_file_names (per_cu);
@@ -3539,7 +3541,7 @@ dw2_symtab_iter_next (struct dw2_symtab_
       per_cu = dw2_get_cutu (cu_index);
 
       /* Skip if already read in.  */
-      if (per_cu->v.quick->symtab)
+      if (per_cu->v.quick->compunit_symtab)
 	continue;
 
       /* Check static vs global.  */
@@ -3587,11 +3589,11 @@ dw2_symtab_iter_next (struct dw2_symtab_
   return NULL;
 }
 
-static struct symtab *
+static struct compunit_symtab *
 dw2_lookup_symbol (struct objfile *objfile, int block_index,
 		   const char *name, domain_enum domain)
 {
-  struct symtab *stab_best = NULL;
+  struct compunit_symtab *stab_best = NULL;
   struct mapped_index *index;
 
   dw2_setup (objfile);
@@ -3609,18 +3611,14 @@ dw2_lookup_symbol (struct objfile *objfi
       while ((per_cu = dw2_symtab_iter_next (&iter)) != NULL)
 	{
 	  struct symbol *sym = NULL;
-	  struct symtab *stab = dw2_instantiate_symtab (per_cu);
+	  struct compunit_symtab *stab = dw2_instantiate_symtab (per_cu);
+	  const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab);
+	  struct block *block = BLOCKVECTOR_BLOCK (bv, block_index);
 
 	  /* Some caution must be observed with overloaded functions
 	     and methods, since the index will not contain any overload
 	     information (but NAME might contain it).  */
-	  if (stab->primary)
-	    {
-	      struct blockvector *bv = BLOCKVECTOR (stab);
-	      struct block *block = BLOCKVECTOR_BLOCK (bv, block_index);
-
-	      sym = lookup_block_symbol (block, name, domain);
-	    }
+	  sym = block_lookup_symbol (block, name, domain);
 
 	  if (sym && strcmp_iw (SYMBOL_SEARCH_NAME (sym), name) == 0)
 	    {
@@ -3649,7 +3647,7 @@ dw2_print_stats (struct objfile *objfile
     {
       struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
 
-      if (!per_cu->v.quick->symtab)
+      if (!per_cu->v.quick->compunit_symtab)
 	++count;
     }
   printf_filtered (_("  Number of read CUs: %d\n"), total - count);
@@ -3746,7 +3744,7 @@ dw2_expand_symtabs_with_fullname (struct
       struct quick_file_names *file_data;
 
       /* We only need to look at symtabs not already expanded.  */
-      if (per_cu->v.quick->symtab)
+      if (per_cu->v.quick->compunit_symtab)
 	continue;
 
       file_data = dw2_get_file_names (per_cu);
@@ -3826,7 +3824,7 @@ dw2_expand_symtabs_matching
 	  per_cu->v.quick->mark = 0;
 
 	  /* We only need to look at symtabs not already expanded.  */
-	  if (per_cu->v.quick->symtab)
+	  if (per_cu->v.quick->compunit_symtab)
 	    continue;
 
 	  file_data = dw2_get_file_names (per_cu);
@@ -3961,26 +3959,27 @@ dw2_expand_symtabs_matching
     }
 }
 
-/* A helper for dw2_find_pc_sect_symtab which finds the most specific
+/* A helper for dw2_find_pc_sect_compunit_symtab which finds the most specific
    symtab.  */
 
-static struct symtab *
-recursively_find_pc_sect_symtab (struct symtab *symtab, CORE_ADDR pc)
+static struct compunit_symtab *
+recursively_find_pc_sect_compunit_symtab (struct compunit_symtab *cust,
+					  CORE_ADDR pc)
 {
   int i;
 
-  if (BLOCKVECTOR (symtab) != NULL
-      && blockvector_contains_pc (BLOCKVECTOR (symtab), pc))
-    return symtab;
+  if (COMPUNIT_BLOCKVECTOR (cust) != NULL
+      && blockvector_contains_pc (COMPUNIT_BLOCKVECTOR (cust), pc))
+    return cust;
 
-  if (symtab->includes == NULL)
+  if (cust->includes == NULL)
     return NULL;
 
-  for (i = 0; symtab->includes[i]; ++i)
+  for (i = 0; cust->includes[i]; ++i)
     {
-      struct symtab *s = symtab->includes[i];
+      struct compunit_symtab *s = cust->includes[i];
 
-      s = recursively_find_pc_sect_symtab (s, pc);
+      s = recursively_find_pc_sect_compunit_symtab (s, pc);
       if (s != NULL)
 	return s;
     }
@@ -3988,15 +3987,15 @@ recursively_find_pc_sect_symtab (struct 
   return NULL;
 }
 
-static struct symtab *
-dw2_find_pc_sect_symtab (struct objfile *objfile,
-			 struct bound_minimal_symbol msymbol,
-			 CORE_ADDR pc,
-			 struct obj_section *section,
-			 int warn_if_readin)
+static struct compunit_symtab *
+dw2_find_pc_sect_compunit_symtab (struct objfile *objfile,
+				  struct bound_minimal_symbol msymbol,
+				  CORE_ADDR pc,
+				  struct obj_section *section,
+				  int warn_if_readin)
 {
   struct dwarf2_per_cu_data *data;
-  struct symtab *result;
+  struct compunit_symtab *result;
 
   dw2_setup (objfile);
 
@@ -4007,11 +4006,13 @@ dw2_find_pc_sect_symtab (struct objfile 
   if (!data)
     return NULL;
 
-  if (warn_if_readin && data->v.quick->symtab)
+  if (warn_if_readin && data->v.quick->compunit_symtab)
     warning (_("(Internal error: pc %s in read in CU, but not in symtab.)"),
 	     paddress (get_objfile_arch (objfile), pc));
 
-  result = recursively_find_pc_sect_symtab (dw2_instantiate_symtab (data), pc);
+  result
+    = recursively_find_pc_sect_compunit_symtab (dw2_instantiate_symtab (data),
+						pc);
   gdb_assert (result != NULL);
   return result;
 }
@@ -4036,7 +4037,7 @@ dw2_map_symbol_filenames (struct objfile
     {
       struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
 
-      if (per_cu->v.quick->symtab)
+      if (per_cu->v.quick->compunit_symtab)
 	{
 	  void **slot = htab_find_slot (visited, per_cu->v.quick->file_names,
 					INSERT);
@@ -4053,7 +4054,7 @@ dw2_map_symbol_filenames (struct objfile
       void **slot;
 
       /* We only need to look at symtabs not already expanded.  */
-      if (per_cu->v.quick->symtab)
+      if (per_cu->v.quick->compunit_symtab)
 	continue;
 
       file_data = dw2_get_file_names (per_cu);
@@ -4104,7 +4105,7 @@ const struct quick_symbol_functions dwar
   dw2_expand_symtabs_with_fullname,
   dw2_map_matching_symbols,
   dw2_expand_symtabs_matching,
-  dw2_find_pc_sect_symtab,
+  dw2_find_pc_sect_compunit_symtab,
   dw2_map_symbol_filenames
 };
 
@@ -4422,7 +4423,7 @@ dwarf2_create_include_psymtab (const cha
   subpst->n_global_syms = 0;
   subpst->statics_offset = 0;
   subpst->n_static_syms = 0;
-  subpst->symtab = NULL;
+  subpst->compunit_symtab = NULL;
   subpst->read_symtab = pst->read_symtab;
   subpst->readin = 0;
 
@@ -4451,7 +4452,7 @@ dwarf2_build_include_psymtabs (struct dw
     return;  /* No linetable, so no includes.  */
 
   /* NOTE: pst->dirname is DW_AT_comp_dir (if present).  */
-  dwarf_decode_lines (lh, pst->dirname, cu, pst, 1);
+  dwarf_decode_lines (lh, pst->dirname, cu, pst, pst->textlow);
 
   free_line_header (lh);
 }
@@ -4760,7 +4761,7 @@ fill_in_sig_entry_from_dwo_entry (struct
   if (dwarf2_per_objfile->using_index)
     {
       gdb_assert (sig_entry->per_cu.v.quick != NULL);
-      gdb_assert (sig_entry->per_cu.v.quick->symtab == NULL);
+      gdb_assert (sig_entry->per_cu.v.quick->compunit_symtab == NULL);
     }
   else
       gdb_assert (sig_entry->per_cu.v.psymtab == NULL);
@@ -5850,6 +5851,7 @@ process_psymtab_comp_unit_reader (const 
 {
   struct dwarf2_cu *cu = reader->cu;
   struct objfile *objfile = cu->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct dwarf2_per_cu_data *per_cu = cu->per_cu;
   struct attribute *attr;
   CORE_ADDR baseaddr;
@@ -5894,8 +5896,11 @@ process_psymtab_comp_unit_reader (const 
     /* Store the contiguous range if it is not empty; it can be empty for
        CUs with no code.  */
     addrmap_set_empty (objfile->psymtabs_addrmap,
-		       best_lowpc + baseaddr,
-		       best_highpc + baseaddr - 1, pst);
+		       gdbarch_adjust_dwarf2_addr (gdbarch,
+						   best_lowpc + baseaddr),
+		       gdbarch_adjust_dwarf2_addr (gdbarch,
+						   best_highpc + baseaddr) - 1,
+		       pst);
 
   /* Check if comp unit has_children.
      If so, read the rest of the partial symbols from this comp unit.
@@ -5926,8 +5931,8 @@ process_psymtab_comp_unit_reader (const 
 	  best_highpc = highpc;
 	}
     }
-  pst->textlow = best_lowpc + baseaddr;
-  pst->texthigh = best_highpc + baseaddr;
+  pst->textlow = gdbarch_adjust_dwarf2_addr (gdbarch, best_lowpc + baseaddr);
+  pst->texthigh = gdbarch_adjust_dwarf2_addr (gdbarch, best_highpc + baseaddr);
 
   pst->n_global_syms = objfile->global_psymbols.next -
     (objfile->global_psymbols.list + pst->globals_offset);
@@ -6544,15 +6549,15 @@ create_all_comp_units (struct objfile *o
 }
 
 /* Process all loaded DIEs for compilation unit CU, starting at
-   FIRST_DIE.  The caller should pass NEED_PC == 1 if the compilation
+   FIRST_DIE.  The caller should pass SET_ADDRMAP == 1 if the compilation
    unit DIE did not have PC info (DW_AT_low_pc and DW_AT_high_pc, or
-   DW_AT_ranges).  If NEED_PC is set, then this function will set
-   *LOWPC and *HIGHPC to the lowest and highest PC values found in CU
-   and record the covered ranges in the addrmap.  */
+   DW_AT_ranges).  See the comments of add_partial_subprogram on how
+   SET_ADDRMAP is used and how *LOWPC and *HIGHPC are updated.  */
 
 static void
 scan_partial_symbols (struct partial_die_info *first_die, CORE_ADDR *lowpc,
-		      CORE_ADDR *highpc, int need_pc, struct dwarf2_cu *cu)
+		      CORE_ADDR *highpc, int set_addrmap,
+		      struct dwarf2_cu *cu)
 {
   struct partial_die_info *pdi;
 
@@ -6577,7 +6582,7 @@ scan_partial_symbols (struct partial_die
 	  switch (pdi->tag)
 	    {
 	    case DW_TAG_subprogram:
-	      add_partial_subprogram (pdi, lowpc, highpc, need_pc, cu);
+	      add_partial_subprogram (pdi, lowpc, highpc, set_addrmap, cu);
 	      break;
 	    case DW_TAG_constant:
 	    case DW_TAG_variable:
@@ -6607,10 +6612,10 @@ scan_partial_symbols (struct partial_die
 	      add_partial_symbol (pdi, cu);
 	      break;
 	    case DW_TAG_namespace:
-	      add_partial_namespace (pdi, lowpc, highpc, need_pc, cu);
+	      add_partial_namespace (pdi, lowpc, highpc, set_addrmap, cu);
 	      break;
 	    case DW_TAG_module:
-	      add_partial_module (pdi, lowpc, highpc, need_pc, cu);
+	      add_partial_module (pdi, lowpc, highpc, set_addrmap, cu);
 	      break;
 	    case DW_TAG_imported_unit:
 	      {
@@ -6790,6 +6795,7 @@ static void
 add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
 {
   struct objfile *objfile = cu->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   CORE_ADDR addr = 0;
   const char *actual_name = NULL;
   CORE_ADDR baseaddr;
@@ -6807,31 +6813,30 @@ add_partial_symbol (struct partial_die_i
   switch (pdi->tag)
     {
     case DW_TAG_subprogram:
+      addr = gdbarch_adjust_dwarf2_addr (gdbarch, pdi->lowpc + baseaddr);
       if (pdi->is_external || cu->language == language_ada)
 	{
           /* brobecker/2007-12-26: Normally, only "external" DIEs are part
              of the global scope.  But in Ada, we want to be able to access
              nested procedures globally.  So all Ada subprograms are stored
              in the global scope.  */
-	  /* prim_record_minimal_symbol (actual_name, pdi->lowpc + baseaddr,
-	     mst_text, objfile); */
+	  /* prim_record_minimal_symbol (actual_name, addr, mst_text,
+	     objfile); */
 	  add_psymbol_to_list (actual_name, strlen (actual_name),
 			       built_actual_name != NULL,
 			       VAR_DOMAIN, LOC_BLOCK,
 			       &objfile->global_psymbols,
-			       0, pdi->lowpc + baseaddr,
-			       cu->language, objfile);
+			       0, addr, cu->language, objfile);
 	}
       else
 	{
-	  /* prim_record_minimal_symbol (actual_name, pdi->lowpc + baseaddr,
-	     mst_file_text, objfile); */
+	  /* prim_record_minimal_symbol (actual_name, addr, mst_file_text,
+	     objfile); */
 	  add_psymbol_to_list (actual_name, strlen (actual_name),
 			       built_actual_name != NULL,
 			       VAR_DOMAIN, LOC_BLOCK,
 			       &objfile->static_psymbols,
-			       0, pdi->lowpc + baseaddr,
-			       cu->language, objfile);
+			       0, addr, cu->language, objfile);
 	}
       break;
     case DW_TAG_constant:
@@ -6977,7 +6982,7 @@ add_partial_symbol (struct partial_die_i
 static void
 add_partial_namespace (struct partial_die_info *pdi,
 		       CORE_ADDR *lowpc, CORE_ADDR *highpc,
-		       int need_pc, struct dwarf2_cu *cu)
+		       int set_addrmap, struct dwarf2_cu *cu)
 {
   /* Add a symbol for the namespace.  */
 
@@ -6986,14 +6991,14 @@ add_partial_namespace (struct partial_di
   /* Now scan partial symbols in that namespace.  */
 
   if (pdi->has_children)
-    scan_partial_symbols (pdi->die_child, lowpc, highpc, need_pc, cu);
+    scan_partial_symbols (pdi->die_child, lowpc, highpc, set_addrmap, cu);
 }
 
 /* Read a partial die corresponding to a Fortran module.  */
 
 static void
 add_partial_module (struct partial_die_info *pdi, CORE_ADDR *lowpc,
-		    CORE_ADDR *highpc, int need_pc, struct dwarf2_cu *cu)
+		    CORE_ADDR *highpc, int set_addrmap, struct dwarf2_cu *cu)
 {
   /* Add a symbol for the namespace.  */
 
@@ -7002,23 +7007,25 @@ add_partial_module (struct partial_die_i
   /* Now scan partial symbols in that module.  */
 
   if (pdi->has_children)
-    scan_partial_symbols (pdi->die_child, lowpc, highpc, need_pc, cu);
+    scan_partial_symbols (pdi->die_child, lowpc, highpc, set_addrmap, cu);
 }
 
 /* Read a partial die corresponding to a subprogram and create a partial
    symbol for that subprogram.  When the CU language allows it, this
    routine also defines a partial symbol for each nested subprogram
-   that this subprogram contains.
+   that this subprogram contains.  If SET_ADDRMAP is true, record the
+   covered ranges in the addrmap.  Set *LOWPC and *HIGHPC to the lowest
+   and highest PC values found in PDI.
 
-   DIE my also be a lexical block, in which case we simply search
-   recursively for suprograms defined inside that lexical block.
+   PDI may also be a lexical block, in which case we simply search
+   recursively for subprograms defined inside that lexical block.
    Again, this is only performed when the CU language allows this
    type of definitions.  */
 
 static void
 add_partial_subprogram (struct partial_die_info *pdi,
 			CORE_ADDR *lowpc, CORE_ADDR *highpc,
-			int need_pc, struct dwarf2_cu *cu)
+			int set_addrmap, struct dwarf2_cu *cu)
 {
   if (pdi->tag == DW_TAG_subprogram)
     {
@@ -7028,16 +7035,21 @@ add_partial_subprogram (struct partial_d
             *lowpc = pdi->lowpc;
           if (pdi->highpc > *highpc)
             *highpc = pdi->highpc;
-	  if (need_pc)
+	  if (set_addrmap)
 	    {
-	      CORE_ADDR baseaddr;
 	      struct objfile *objfile = cu->objfile;
+	      struct gdbarch *gdbarch = get_objfile_arch (objfile);
+	      CORE_ADDR baseaddr;
+	      CORE_ADDR highpc;
+	      CORE_ADDR lowpc;
 
 	      baseaddr = ANOFFSET (objfile->section_offsets,
 				   SECT_OFF_TEXT (objfile));
-	      addrmap_set_empty (objfile->psymtabs_addrmap,
-				 pdi->lowpc + baseaddr,
-				 pdi->highpc - 1 + baseaddr,
+	      lowpc = gdbarch_adjust_dwarf2_addr (gdbarch,
+						  pdi->lowpc + baseaddr);
+	      highpc = gdbarch_adjust_dwarf2_addr (gdbarch,
+						   pdi->highpc + baseaddr);
+	      addrmap_set_empty (objfile->psymtabs_addrmap, lowpc, highpc - 1,
 				 cu->per_cu->v.psymtab);
 	    }
         }
@@ -7064,7 +7076,7 @@ add_partial_subprogram (struct partial_d
 	  fixup_partial_die (pdi, cu);
 	  if (pdi->tag == DW_TAG_subprogram
 	      || pdi->tag == DW_TAG_lexical_block)
-	    add_partial_subprogram (pdi, lowpc, highpc, need_pc, cu);
+	    add_partial_subprogram (pdi, lowpc, highpc, set_addrmap, cu);
 	  pdi = pdi->die_sibling;
 	}
     }
@@ -7123,8 +7135,10 @@ peek_die_abbrev (const gdb_byte *info_pt
   abbrev = abbrev_table_lookup_abbrev (cu->abbrev_table, abbrev_number);
   if (!abbrev)
     {
-      error (_("Dwarf Error: Could not find abbrev number %d [in module %s]"),
-	     abbrev_number, bfd_get_filename (abfd));
+      error (_("Dwarf Error: Could not find abbrev number %d in %s"
+	       " at offset 0x%x [in module %s]"),
+	     abbrev_number, cu->per_cu->is_debug_types ? "TU" : "CU",
+	     cu->header.offset.sect_off, bfd_get_filename (abfd));
     }
 
   return abbrev;
@@ -7447,7 +7461,7 @@ process_queue (void)
   for (item = dwarf2_queue; item != NULL; dwarf2_queue = item = next_item)
     {
       if (dwarf2_per_objfile->using_index
-	  ? !item->per_cu->v.quick->symtab
+	  ? !item->per_cu->v.quick->compunit_symtab
 	  : (item->per_cu->v.psymtab && !item->per_cu->v.psymtab->readin))
 	{
 	  struct dwarf2_per_cu_data *per_cu = item->per_cu;
@@ -7690,7 +7704,8 @@ compute_delayed_physnames (struct dwarf2
       struct fn_fieldlist *fn_flp
 	= &TYPE_FN_FIELDLIST (mi->type, mi->fnfield_index);
       physname = dwarf2_physname (mi->name, mi->die, cu);
-      fn_flp->fn_fields[mi->index].physname = physname ? physname : "";
+      TYPE_FN_FIELD_PHYSNAME (fn_flp->fn_fields, mi->index)
+	= physname ? physname : "";
     }
 }
 
@@ -7732,8 +7747,9 @@ fixup_go_packaging (struct dwarf2_cu *cu
 		  if (strcmp (package_name, this_package_name) != 0)
 		    complaint (&symfile_complaints,
 			       _("Symtab %s has objects from two different Go packages: %s and %s"),
-			       (SYMBOL_SYMTAB (sym)
-			  ? symtab_to_filename_for_display (SYMBOL_SYMTAB (sym))
+			       (symbol_symtab (sym) != NULL
+				? symtab_to_filename_for_display
+				    (symbol_symtab (sym))
 				: objfile_name (cu->objfile)),
 			       this_package_name, package_name);
 		  xfree (this_package_name);
@@ -7774,26 +7790,26 @@ fixup_go_packaging (struct dwarf2_cu *cu
 /* Return the symtab for PER_CU.  This works properly regardless of
    whether we're using the index or psymtabs.  */
 
-static struct symtab *
-get_symtab (struct dwarf2_per_cu_data *per_cu)
+static struct compunit_symtab *
+get_compunit_symtab (struct dwarf2_per_cu_data *per_cu)
 {
   return (dwarf2_per_objfile->using_index
-	  ? per_cu->v.quick->symtab
-	  : per_cu->v.psymtab->symtab);
+	  ? per_cu->v.quick->compunit_symtab
+	  : per_cu->v.psymtab->compunit_symtab);
 }
 
 /* A helper function for computing the list of all symbol tables
    included by PER_CU.  */
 
 static void
-recursively_compute_inclusions (VEC (symtab_ptr) **result,
+recursively_compute_inclusions (VEC (compunit_symtab_ptr) **result,
 				htab_t all_children, htab_t all_type_symtabs,
 				struct dwarf2_per_cu_data *per_cu,
-				struct symtab *immediate_parent)
+				struct compunit_symtab *immediate_parent)
 {
   void **slot;
   int ix;
-  struct symtab *symtab;
+  struct compunit_symtab *cust;
   struct dwarf2_per_cu_data *iter;
 
   slot = htab_find_slot (all_children, per_cu, INSERT);
@@ -7805,27 +7821,27 @@ recursively_compute_inclusions (VEC (sym
 
   *slot = per_cu;
   /* Only add a CU if it has a symbol table.  */
-  symtab = get_symtab (per_cu);
-  if (symtab != NULL)
+  cust = get_compunit_symtab (per_cu);
+  if (cust != NULL)
     {
       /* If this is a type unit only add its symbol table if we haven't
 	 seen it yet (type unit per_cu's can share symtabs).  */
       if (per_cu->is_debug_types)
 	{
-	  slot = htab_find_slot (all_type_symtabs, symtab, INSERT);
+	  slot = htab_find_slot (all_type_symtabs, cust, INSERT);
 	  if (*slot == NULL)
 	    {
-	      *slot = symtab;
-	      VEC_safe_push (symtab_ptr, *result, symtab);
-	      if (symtab->user == NULL)
-		symtab->user = immediate_parent;
+	      *slot = cust;
+	      VEC_safe_push (compunit_symtab_ptr, *result, cust);
+	      if (cust->user == NULL)
+		cust->user = immediate_parent;
 	    }
 	}
       else
 	{
-	  VEC_safe_push (symtab_ptr, *result, symtab);
-	  if (symtab->user == NULL)
-	    symtab->user = immediate_parent;
+	  VEC_safe_push (compunit_symtab_ptr, *result, cust);
+	  if (cust->user == NULL)
+	    cust->user = immediate_parent;
 	}
     }
 
@@ -7834,15 +7850,15 @@ recursively_compute_inclusions (VEC (sym
        ++ix)
     {
       recursively_compute_inclusions (result, all_children,
-				      all_type_symtabs, iter, symtab);
+				      all_type_symtabs, iter, cust);
     }
 }
 
-/* Compute the symtab 'includes' fields for the symtab related to
+/* Compute the compunit_symtab 'includes' fields for the compunit_symtab of
    PER_CU.  */
 
 static void
-compute_symtab_includes (struct dwarf2_per_cu_data *per_cu)
+compute_compunit_symtab_includes (struct dwarf2_per_cu_data *per_cu)
 {
   gdb_assert (! per_cu->is_debug_types);
 
@@ -7850,13 +7866,13 @@ compute_symtab_includes (struct dwarf2_p
     {
       int ix, len;
       struct dwarf2_per_cu_data *per_cu_iter;
-      struct symtab *symtab_iter;
-      VEC (symtab_ptr) *result_symtabs = NULL;
+      struct compunit_symtab *compunit_symtab_iter;
+      VEC (compunit_symtab_ptr) *result_symtabs = NULL;
       htab_t all_children, all_type_symtabs;
-      struct symtab *symtab = get_symtab (per_cu);
+      struct compunit_symtab *cust = get_compunit_symtab (per_cu);
 
       /* If we don't have a symtab, we can just skip this case.  */
-      if (symtab == NULL)
+      if (cust == NULL)
 	return;
 
       all_children = htab_create_alloc (1, htab_hash_pointer, htab_eq_pointer,
@@ -7871,21 +7887,22 @@ compute_symtab_includes (struct dwarf2_p
 	{
 	  recursively_compute_inclusions (&result_symtabs, all_children,
 					  all_type_symtabs, per_cu_iter,
-					  symtab);
+					  cust);
 	}
 
       /* Now we have a transitive closure of all the included symtabs.  */
-      len = VEC_length (symtab_ptr, result_symtabs);
-      symtab->includes
+      len = VEC_length (compunit_symtab_ptr, result_symtabs);
+      cust->includes
 	= obstack_alloc (&dwarf2_per_objfile->objfile->objfile_obstack,
 			 (len + 1) * sizeof (struct symtab *));
       for (ix = 0;
-	   VEC_iterate (symtab_ptr, result_symtabs, ix, symtab_iter);
+	   VEC_iterate (compunit_symtab_ptr, result_symtabs, ix,
+			compunit_symtab_iter);
 	   ++ix)
-	symtab->includes[ix] = symtab_iter;
-      symtab->includes[len] = NULL;
+	cust->includes[ix] = compunit_symtab_iter;
+      cust->includes[len] = NULL;
 
-      VEC_free (symtab_ptr, result_symtabs);
+      VEC_free (compunit_symtab_ptr, result_symtabs);
       htab_delete (all_children);
       htab_delete (all_type_symtabs);
     }
@@ -7906,7 +7923,7 @@ process_cu_includes (void)
        ++ix)
     {
       if (! iter->is_debug_types)
-	compute_symtab_includes (iter);
+	compute_compunit_symtab_includes (iter);
     }
 
   VEC_free (dwarf2_per_cu_ptr, dwarf2_per_objfile->just_read_cus);
@@ -7921,11 +7938,13 @@ process_full_comp_unit (struct dwarf2_pe
 {
   struct dwarf2_cu *cu = per_cu->cu;
   struct objfile *objfile = per_cu->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   CORE_ADDR lowpc, highpc;
-  struct symtab *symtab;
+  struct compunit_symtab *cust;
   struct cleanup *back_to, *delayed_list_cleanup;
   CORE_ADDR baseaddr;
   struct block *static_block;
+  CORE_ADDR addr;
 
   baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
 
@@ -7956,8 +7975,8 @@ process_full_comp_unit (struct dwarf2_pe
      it, by scanning the DIE's below the compilation unit.  */
   get_scope_pc_bounds (cu->dies, &lowpc, &highpc, cu);
 
-  static_block
-    = end_symtab_get_static_block (highpc + baseaddr, objfile, 0, 1);
+  addr = gdbarch_adjust_dwarf2_addr (gdbarch, highpc + baseaddr);
+  static_block = end_symtab_get_static_block (addr, 0, 1);
 
   /* If the comp unit has DW_AT_ranges, it may have discontiguous ranges.
      Also, DW_AT_ranges may record ranges not belonging to any child DIEs
@@ -7966,18 +7985,19 @@ process_full_comp_unit (struct dwarf2_pe
      this comp unit.  */
   dwarf2_record_block_ranges (cu->dies, static_block, baseaddr, cu);
 
-  symtab = end_symtab_from_static_block (static_block, objfile,
-					 SECT_OFF_TEXT (objfile), 0);
+  cust = end_symtab_from_static_block (static_block,
+				       SECT_OFF_TEXT (objfile), 0);
 
-  if (symtab != NULL)
+  if (cust != NULL)
     {
       int gcc_4_minor = producer_is_gcc_ge_4 (cu->producer);
 
       /* Set symtab language to language from DW_AT_language.  If the
 	 compilation is from a C file generated by language preprocessors, do
 	 not set the language if it was already deduced by start_subfile.  */
-      if (!(cu->language == language_c && symtab->language != language_c))
-	symtab->language = cu->language;
+      if (!(cu->language == language_c
+	    && COMPUNIT_FILETABS (cust)->language != language_c))
+	COMPUNIT_FILETABS (cust)->language = cu->language;
 
       /* GCC-4.0 has started to support -fvar-tracking.  GCC-3.x still can
 	 produce DW_AT_location with location lists but it can be possibly
@@ -7992,20 +8012,20 @@ process_full_comp_unit (struct dwarf2_pe
 	 options - this waits on GCC PR other/32998 (-frecord-gcc-switches).
 	 */ 
       if (cu->has_loclist && gcc_4_minor >= 5)
-	symtab->locations_valid = 1;
+	cust->locations_valid = 1;
 
       if (gcc_4_minor >= 5)
-	symtab->epilogue_unwind_valid = 1;
+	cust->epilogue_unwind_valid = 1;
 
-      symtab->call_site_htab = cu->call_site_htab;
+      cust->call_site_htab = cu->call_site_htab;
     }
 
   if (dwarf2_per_objfile->using_index)
-    per_cu->v.quick->symtab = symtab;
+    per_cu->v.quick->compunit_symtab = cust;
   else
     {
       struct partial_symtab *pst = per_cu->v.psymtab;
-      pst->symtab = symtab;
+      pst->compunit_symtab = cust;
       pst->readin = 1;
     }
 
@@ -8024,7 +8044,7 @@ process_full_type_unit (struct dwarf2_pe
 {
   struct dwarf2_cu *cu = per_cu->cu;
   struct objfile *objfile = per_cu->objfile;
-  struct symtab *symtab;
+  struct compunit_symtab *cust;
   struct cleanup *back_to, *delayed_list_cleanup;
   struct signatured_type *sig_type;
 
@@ -8057,34 +8077,34 @@ process_full_type_unit (struct dwarf2_pe
      If this is the first TU to use this symtab, complete the construction
      of it with end_expandable_symtab.  Otherwise, complete the addition of
      this TU's symbols to the existing symtab.  */
-  if (sig_type->type_unit_group->primary_symtab == NULL)
+  if (sig_type->type_unit_group->compunit_symtab == NULL)
     {
-      symtab = end_expandable_symtab (0, objfile, SECT_OFF_TEXT (objfile));
-      sig_type->type_unit_group->primary_symtab = symtab;
+      cust = end_expandable_symtab (0, SECT_OFF_TEXT (objfile));
+      sig_type->type_unit_group->compunit_symtab = cust;
 
-      if (symtab != NULL)
+      if (cust != NULL)
 	{
 	  /* Set symtab language to language from DW_AT_language.  If the
 	     compilation is from a C file generated by language preprocessors,
 	     do not set the language if it was already deduced by
 	     start_subfile.  */
-	  if (!(cu->language == language_c && symtab->language != language_c))
-	    symtab->language = cu->language;
+	  if (!(cu->language == language_c
+		&& COMPUNIT_FILETABS (cust)->language != language_c))
+	    COMPUNIT_FILETABS (cust)->language = cu->language;
 	}
     }
   else
     {
-      augment_type_symtab (objfile,
-			   sig_type->type_unit_group->primary_symtab);
-      symtab = sig_type->type_unit_group->primary_symtab;
+      augment_type_symtab ();
+      cust = sig_type->type_unit_group->compunit_symtab;
     }
 
   if (dwarf2_per_objfile->using_index)
-    per_cu->v.quick->symtab = symtab;
+    per_cu->v.quick->compunit_symtab = cust;
   else
     {
       struct partial_symtab *pst = per_cu->v.psymtab;
-      pst->symtab = symtab;
+      pst->compunit_symtab = cust;
       pst->readin = 1;
     }
 
@@ -8968,12 +8988,12 @@ find_file_and_directory (struct die_info
 
 /* Handle DW_AT_stmt_list for a compilation unit.
    DIE is the DW_TAG_compile_unit die for CU.
-   COMP_DIR is the compilation directory.
-   WANT_LINE_INFO is non-zero if the pc/line-number mapping is needed.  */
+   COMP_DIR is the compilation directory.  LOWPC is passed to
+   dwarf_decode_lines.  See dwarf_decode_lines comments about it.  */
 
 static void
 handle_DW_AT_stmt_list (struct die_info *die, struct dwarf2_cu *cu,
-			const char *comp_dir) /* ARI: editCase function */
+			const char *comp_dir, CORE_ADDR lowpc) /* ARI: editCase function */
 {
   struct attribute *attr;
 
@@ -8990,7 +9010,7 @@ handle_DW_AT_stmt_list (struct die_info 
 	{
 	  cu->line_header = line_header;
 	  make_cleanup (free_cu_line_header, cu);
-	  dwarf_decode_lines (line_header, comp_dir, cu, NULL, 1);
+	  dwarf_decode_lines (line_header, comp_dir, cu, NULL, lowpc);
 	}
     }
 }
@@ -9001,6 +9021,7 @@ static void
 read_file_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct cleanup *back_to = make_cleanup (null_cleanup, 0);
   CORE_ADDR lowpc = ((CORE_ADDR) -1);
   CORE_ADDR highpc = ((CORE_ADDR) 0);
@@ -9019,8 +9040,7 @@ read_file_scope (struct die_info *die, s
      from finish_block.  */
   if (lowpc == ((CORE_ADDR) -1))
     lowpc = highpc;
-  lowpc += baseaddr;
-  highpc += baseaddr;
+  lowpc = gdbarch_adjust_dwarf2_addr (gdbarch, lowpc + baseaddr);
 
   find_file_and_directory (die, cu, &name, &comp_dir);
 
@@ -9041,7 +9061,7 @@ read_file_scope (struct die_info *die, s
   /* Decode line number information if present.  We do this before
      processing child DIEs, so that the line header table is available
      for DW_AT_decl_file.  */
-  handle_DW_AT_stmt_list (die, cu, comp_dir);
+  handle_DW_AT_stmt_list (die, cu, comp_dir, lowpc);
 
   /* Process all dies in compilation unit.  */
   if (die->child != NULL)
@@ -9065,7 +9085,7 @@ read_file_scope (struct die_info *die, s
 	complaint (&symfile_complaints,
 		   _("CU refers to both DW_AT_GNU_macros and DW_AT_macro_info"));
 
-      dwarf_decode_macros (cu, DW_UNSND (attr), comp_dir, 1);
+      dwarf_decode_macros (cu, DW_UNSND (attr), 1);
     }
   else
     {
@@ -9074,7 +9094,7 @@ read_file_scope (struct die_info *die, s
 	{
 	  unsigned int macro_offset = DW_UNSND (attr);
 
-	  dwarf_decode_macros (cu, macro_offset, comp_dir, 0);
+	  dwarf_decode_macros (cu, macro_offset, 0);
 	}
     }
 
@@ -9114,7 +9134,7 @@ setup_type_unit_groups (struct die_info 
      do it again, we could fake it and just recreate the part we need
      (file name,index -> symtab mapping).  If data shows this optimization
      is useful we can do it then.  */
-  first_time = tu_group->primary_symtab == NULL;
+  first_time = tu_group->compunit_symtab == NULL;
 
   /* We have to handle the case of both a missing DW_AT_stmt_list or bad
      debug info.  */
@@ -9131,9 +9151,8 @@ setup_type_unit_groups (struct die_info 
       else
 	{
 	  gdb_assert (tu_group->symtabs == NULL);
-	  restart_symtab (0);
+	  restart_symtab (tu_group->compunit_symtab, "", 0);
 	}
-      /* Note: The primary symtab will get allocated at the end.  */
       return;
     }
 
@@ -9142,7 +9161,7 @@ setup_type_unit_groups (struct die_info 
 
   if (first_time)
     {
-      dwarf2_start_symtab (cu, "", NULL, 0);
+      struct compunit_symtab *cust = dwarf2_start_symtab (cu, "", NULL, 0);
 
       tu_group->num_symtabs = lh->num_file_names;
       tu_group->symtabs = XNEWVEC (struct symtab *, lh->num_file_names);
@@ -9154,19 +9173,16 @@ setup_type_unit_groups (struct die_info 
 
 	  if (fe->dir_index)
 	    dir = lh->include_dirs[fe->dir_index - 1];
-	  dwarf2_start_subfile (fe->name, dir, NULL);
-
-	  /* Note: We don't have to watch for the main subfile here, type units
-	     don't have DW_AT_name.  */
+	  dwarf2_start_subfile (fe->name, dir);
 
 	  if (current_subfile->symtab == NULL)
 	    {
 	      /* NOTE: start_subfile will recognize when it's been passed
 		 a file it has already seen.  So we can't assume there's a
-		 simple mapping from lh->file_names to subfiles,
+		 simple mapping from lh->file_names to subfiles, plus
 		 lh->file_names may contain dups.  */
-	      current_subfile->symtab = allocate_symtab (current_subfile->name,
-							 objfile);
+	      current_subfile->symtab
+		= allocate_symtab (cust, current_subfile->name);
 	    }
 
 	  fe->symtab = current_subfile->symtab;
@@ -9175,7 +9191,7 @@ setup_type_unit_groups (struct die_info 
     }
   else
     {
-      restart_symtab (0);
+      restart_symtab (tu_group->compunit_symtab, "", 0);
 
       for (i = 0; i < lh->num_file_names; ++i)
 	{
@@ -11131,6 +11147,7 @@ static void
 read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
   struct objfile *objfile = cu->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct context_stack *new;
   CORE_ADDR lowpc;
   CORE_ADDR highpc;
@@ -11183,8 +11200,8 @@ read_func_scope (struct die_info *die, s
       return;
     }
 
-  lowpc += baseaddr;
-  highpc += baseaddr;
+  lowpc = gdbarch_adjust_dwarf2_addr (gdbarch, lowpc + baseaddr);
+  highpc = gdbarch_adjust_dwarf2_addr (gdbarch, highpc + baseaddr);
 
   /* If we have any template arguments, then we must allocate a
      different sort of symbol.  */
@@ -11260,7 +11277,7 @@ read_func_scope (struct die_info *die, s
   new = pop_context ();
   /* Make a block for the local symbols within.  */
   block = finish_block (new->name, &local_symbols, new->old_blocks,
-                        lowpc, highpc, objfile);
+                        lowpc, highpc);
 
   /* For C++, set the block's scope.  */
   if ((cu->language == language_cplus || cu->language == language_fortran)
@@ -11271,6 +11288,8 @@ read_func_scope (struct die_info *die, s
   /* If we have address ranges, record them.  */
   dwarf2_record_block_ranges (die, block, baseaddr, cu);
 
+  gdbarch_make_symbol_special (gdbarch, new->name, objfile);
+
   /* Attach template arguments to function.  */
   if (! VEC_empty (symbolp, template_args))
     {
@@ -11307,6 +11326,7 @@ static void
 read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
   struct objfile *objfile = cu->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct context_stack *new;
   CORE_ADDR lowpc, highpc;
   struct die_info *child_die;
@@ -11321,8 +11341,8 @@ read_lexical_block_scope (struct die_inf
      describe ranges.  */
   if (!dwarf2_get_pc_bounds (die, &lowpc, &highpc, cu, NULL))
     return;
-  lowpc += baseaddr;
-  highpc += baseaddr;
+  lowpc = gdbarch_adjust_dwarf2_addr (gdbarch, lowpc + baseaddr);
+  highpc = gdbarch_adjust_dwarf2_addr (gdbarch, highpc + baseaddr);
 
   push_context (0, lowpc);
   if (die->child != NULL)
@@ -11340,7 +11360,7 @@ read_lexical_block_scope (struct die_inf
     {
       struct block *block
         = finish_block (0, &local_symbols, new->old_blocks, new->start_addr,
-                        highpc, objfile);
+                        highpc);
 
       /* Note that recording ranges after traversing children, as we
          do here, means that recording a parent's ranges entails
@@ -11384,6 +11404,7 @@ read_call_site_scope (struct die_info *d
       return;
     }
   pc = attr_value_as_address (attr) + baseaddr;
+  pc = gdbarch_adjust_dwarf2_addr (gdbarch, pc);
 
   if (cu->call_site_htab == NULL)
     cu->call_site_htab = htab_create_alloc_ex (16, core_addr_hash, core_addr_eq,
@@ -11532,7 +11553,10 @@ read_call_site_scope (struct die_info *d
 		         "low pc, for referencing DIE 0x%x [in module %s]"),
 		       die->offset.sect_off, objfile_name (objfile));
 	  else
-	    SET_FIELD_PHYSADDR (call_site->target, lowpc + baseaddr);
+	    {
+	      lowpc = gdbarch_adjust_dwarf2_addr (gdbarch, lowpc + baseaddr);
+	      SET_FIELD_PHYSADDR (call_site->target, lowpc);
+	    }
 	}
     }
   else
@@ -11660,6 +11684,7 @@ dwarf2_ranges_read (unsigned offset, COR
 		    struct partial_symtab *ranges_pst)
 {
   struct objfile *objfile = cu->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct comp_unit_head *cu_header = &cu->header;
   bfd *obfd = objfile->obfd;
   unsigned int addr_size = cu_header->addr_size;
@@ -11767,10 +11792,17 @@ dwarf2_ranges_read (unsigned offset, COR
 	}
 
       if (ranges_pst != NULL)
-	addrmap_set_empty (objfile->psymtabs_addrmap,
-			   range_beginning + baseaddr,
-			   range_end - 1 + baseaddr,
-			   ranges_pst);
+	{
+	  CORE_ADDR lowpc;
+	  CORE_ADDR highpc;
+
+	  lowpc = gdbarch_adjust_dwarf2_addr (gdbarch,
+					      range_beginning + baseaddr);
+	  highpc = gdbarch_adjust_dwarf2_addr (gdbarch,
+					       range_end + baseaddr);
+	  addrmap_set_empty (objfile->psymtabs_addrmap, lowpc, highpc - 1,
+			     ranges_pst);
+	}
 
       /* FIXME: This is recording everything as a low-high
 	 segment of consecutive addresses.  We should have a
@@ -11984,6 +12016,7 @@ dwarf2_record_block_ranges (struct die_i
                             CORE_ADDR baseaddr, struct dwarf2_cu *cu)
 {
   struct objfile *objfile = cu->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct attribute *attr;
   struct attribute *attr_high;
 
@@ -11999,7 +12032,9 @@ dwarf2_record_block_ranges (struct die_i
 	  if (cu->header.version >= 4 && attr_form_is_constant (attr_high))
 	    high += low;
 
-          record_block_range (block, baseaddr + low, baseaddr + high - 1);
+	  low = gdbarch_adjust_dwarf2_addr (gdbarch, low + baseaddr);
+	  high = gdbarch_adjust_dwarf2_addr (gdbarch, high + baseaddr);
+	  record_block_range (block, low, high - 1);
         }
     }
 
@@ -12103,6 +12138,8 @@ dwarf2_record_block_ranges (struct die_i
 		  continue;
 		}
 
+	      start = gdbarch_adjust_dwarf2_addr (gdbarch, start);
+	      end = gdbarch_adjust_dwarf2_addr (gdbarch, end);
               record_block_range (block, start, end - 1);
             }
         }
@@ -12966,7 +13003,7 @@ read_structure_type (struct die_info *di
     }
   else
     {
-      TYPE_CODE (type) = TYPE_CODE_CLASS;
+      TYPE_CODE (type) = TYPE_CODE_STRUCT;
     }
 
   if (cu->language == language_cplus && die->tag == DW_TAG_class_type)
@@ -12982,10 +13019,11 @@ read_structure_type (struct die_info *di
       TYPE_LENGTH (type) = 0;
     }
 
-  if (producer_is_icc (cu))
+  if (producer_is_icc (cu) && (TYPE_LENGTH (type) == 0))
     {
       /* ICC does not output the required DW_AT_declaration
 	 on incomplete types, but gives them a size of zero.  */
+      TYPE_STUB (type) = 1;
     }
   else
     TYPE_STUB_SUPPORTED (type) = 1;
@@ -13016,7 +13054,7 @@ static void
 process_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
 {
   struct objfile *objfile = cu->objfile;
-  struct die_info *child_die = die->child;
+  struct die_info *child_die;
   struct type *type;
 
   type = get_die_type (die, cu);
@@ -13026,7 +13064,6 @@ process_structure_scope (struct die_info
   if (die->child != NULL && ! die_is_declaration (die, cu))
     {
       struct field_info fi;
-      struct die_info *child_die;
       VEC (symbolp) *template_args = NULL;
       struct cleanup *back_to = make_cleanup (null_cleanup, 0);
 
@@ -13197,6 +13234,8 @@ process_structure_scope (struct die_info
      current die is a declaration.  Normally, of course, a declaration
      won't have any children at all.  */
 
+  child_die = die->child;
+
   while (child_die != NULL && child_die->tag)
     {
       if (child_die->tag == DW_TAG_member
@@ -13230,7 +13269,7 @@ update_enumeration_type_from_children (s
 				       struct dwarf2_cu *cu)
 {
   struct obstack obstack;
-  struct die_info *child_die = die->child;
+  struct die_info *child_die;
   int unsigned_enum = 1;
   int flag_enum = 1;
   ULONGEST mask = 0;
@@ -13239,13 +13278,16 @@ update_enumeration_type_from_children (s
   obstack_init (&obstack);
   old_chain = make_cleanup_obstack_free (&obstack);
 
-  while (child_die != NULL && child_die->tag)
+  for (child_die = die->child;
+       child_die != NULL && child_die->tag;
+       child_die = sibling_die (child_die))
     {
       struct attribute *attr;
       LONGEST value;
       const gdb_byte *bytes;
       struct dwarf2_locexpr_baton *baton;
       const char *name;
+
       if (child_die->tag != DW_TAG_enumerator)
 	continue;
 
@@ -13273,7 +13315,6 @@ update_enumeration_type_from_children (s
 	 a flag type, no need to look at the rest of the enumerates.  */
       if (!unsigned_enum && !flag_enum)
 	break;
-      child_die = sibling_die (child_die);
     }
 
   if (unsigned_enum)
@@ -14097,6 +14138,36 @@ read_tag_reference_type (struct die_info
   return set_die_type (die, type, cu);
 }
 
+/* Add the given cv-qualifiers to the element type of the array.  GCC
+   outputs DWARF type qualifiers that apply to an array, not the
+   element type.  But GDB relies on the array element type to carry
+   the cv-qualifiers.  This mimics section 6.7.3 of the C99
+   specification.  */
+
+static struct type *
+add_array_cv_type (struct die_info *die, struct dwarf2_cu *cu,
+		   struct type *base_type, int cnst, int voltl)
+{
+  struct type *el_type, *inner_array;
+
+  base_type = copy_type (base_type);
+  inner_array = base_type;
+
+  while (TYPE_CODE (TYPE_TARGET_TYPE (inner_array)) == TYPE_CODE_ARRAY)
+    {
+      TYPE_TARGET_TYPE (inner_array) =
+	copy_type (TYPE_TARGET_TYPE (inner_array));
+      inner_array = TYPE_TARGET_TYPE (inner_array);
+    }
+
+  el_type = TYPE_TARGET_TYPE (inner_array);
+  cnst |= TYPE_CONST (el_type);
+  voltl |= TYPE_VOLATILE (el_type);
+  TYPE_TARGET_TYPE (inner_array) = make_cv_type (cnst, voltl, el_type, NULL);
+
+  return set_die_type (die, base_type, cu);
+}
+
 static struct type *
 read_tag_const_type (struct die_info *die, struct dwarf2_cu *cu)
 {
@@ -14112,25 +14183,7 @@ read_tag_const_type (struct die_info *di
   /* In case the const qualifier is applied to an array type, the element type
      is so qualified, not the array type (section 6.7.3 of C99).  */
   if (TYPE_CODE (base_type) == TYPE_CODE_ARRAY)
-    {
-      struct type *el_type, *inner_array;
-
-      base_type = copy_type (base_type);
-      inner_array = base_type;
-
-      while (TYPE_CODE (TYPE_TARGET_TYPE (inner_array)) == TYPE_CODE_ARRAY)
-	{
-	  TYPE_TARGET_TYPE (inner_array) =
-	    copy_type (TYPE_TARGET_TYPE (inner_array));
-	  inner_array = TYPE_TARGET_TYPE (inner_array);
-	}
-
-      el_type = TYPE_TARGET_TYPE (inner_array);
-      TYPE_TARGET_TYPE (inner_array) =
-	make_cv_type (1, TYPE_VOLATILE (el_type), el_type, NULL);
-
-      return set_die_type (die, base_type, cu);
-    }
+    return add_array_cv_type (die, cu, base_type, 1, 0);
 
   cv_type = make_cv_type (1, TYPE_VOLATILE (base_type), base_type, 0);
   return set_die_type (die, cv_type, cu);
@@ -14148,6 +14201,12 @@ read_tag_volatile_type (struct die_info 
   if (cv_type)
     return cv_type;
 
+  /* In case the volatile qualifier is applied to an array type, the
+     element type is so qualified, not the array type (section 6.7.3
+     of C99).  */
+  if (TYPE_CODE (base_type) == TYPE_CODE_ARRAY)
+    return add_array_cv_type (die, cu, base_type, 0, 1);
+
   cv_type = make_cv_type (TYPE_CONST (base_type), 1, base_type, 0);
   return set_die_type (die, cv_type, cu);
 }
@@ -15907,6 +15966,8 @@ read_attribute_value (const struct die_r
 		      const gdb_byte *info_ptr)
 {
   struct dwarf2_cu *cu = reader->cu;
+  struct objfile *objfile = cu->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   bfd *abfd = reader->abfd;
   struct comp_unit_head *cu_header = &cu->header;
   unsigned int bytes_read;
@@ -15929,6 +15990,7 @@ read_attribute_value (const struct die_r
       break;
     case DW_FORM_addr:
       DW_ADDR (attr) = read_address (abfd, info_ptr, cu, &bytes_read);
+      DW_ADDR (attr) = gdbarch_adjust_dwarf2_addr (gdbarch, DW_ADDR (attr));
       info_ptr += bytes_read;
       break;
     case DW_FORM_block2:
@@ -16683,11 +16745,14 @@ set_cu_language (unsigned int lang, stru
     {
     case DW_LANG_C89:
     case DW_LANG_C99:
+    case DW_LANG_C11:
     case DW_LANG_C:
     case DW_LANG_UPC:
       cu->language = language_c;
       break;
     case DW_LANG_C_plus_plus:
+    case DW_LANG_C_plus_plus_11:
+    case DW_LANG_C_plus_plus_14:
       cu->language = language_cplus;
       break;
     case DW_LANG_D:
@@ -17108,7 +17173,9 @@ psymtab_include_file_name (const struct 
 	 include_name = "hello.c"
 	 dir_name = "."
 	 DW_AT_comp_dir = comp_dir = "/tmp"
-	 DW_AT_name = "./hello.c"  */
+	 DW_AT_name = "./hello.c"
+
+      */
 
       if (dir_name != NULL)
 	{
@@ -17155,22 +17222,94 @@ noop_record_line (struct subfile *subfil
   return;
 }
 
+/* Return non-zero if we should add LINE to the line number table.
+   LINE is the line to add, LAST_LINE is the last line that was added,
+   LAST_SUBFILE is the subfile for LAST_LINE.
+   LINE_HAS_NON_ZERO_DISCRIMINATOR is non-zero if LINE has ever
+   had a non-zero discriminator.
+
+   We have to be careful in the presence of discriminators.
+   E.g., for this line:
+
+     for (i = 0; i < 100000; i++);
+
+   clang can emit four line number entries for that one line,
+   each with a different discriminator.
+   See gdb.dwarf2/dw2-single-line-discriminators.exp for an example.
+
+   However, we want gdb to coalesce all four entries into one.
+   Otherwise the user could stepi into the middle of the line and
+   gdb would get confused about whether the pc really was in the
+   middle of the line.
+
+   Things are further complicated by the fact that two consecutive
+   line number entries for the same line is a heuristic used by gcc
+   to denote the end of the prologue.  So we can't just discard duplicate
+   entries, we have to be selective about it.  The heuristic we use is
+   that we only collapse consecutive entries for the same line if at least
+   one of those entries has a non-zero discriminator.  PR 17276.
+
+   Note: Addresses in the line number state machine can never go backwards
+   within one sequence, thus this coalescing is ok.  */
+
+static int
+dwarf_record_line_p (unsigned int line, unsigned int last_line,
+		     int line_has_non_zero_discriminator,
+		     struct subfile *last_subfile)
+{
+  if (current_subfile != last_subfile)
+    return 1;
+  if (line != last_line)
+    return 1;
+  /* Same line for the same file that we've seen already.
+     As a last check, for pr 17276, only record the line if the line
+     has never had a non-zero discriminator.  */
+  if (!line_has_non_zero_discriminator)
+    return 1;
+  return 0;
+}
+
+/* Use P_RECORD_LINE to record line number LINE beginning at address ADDRESS
+   in the line table of subfile SUBFILE.  */
+
+static void
+dwarf_record_line (struct gdbarch *gdbarch, struct subfile *subfile,
+		   unsigned int line, CORE_ADDR address,
+		   record_line_ftype p_record_line)
+{
+  CORE_ADDR addr = gdbarch_addr_bits_remove (gdbarch, address);
+
+  (*p_record_line) (subfile, line, addr);
+}
+
+/* Subroutine of dwarf_decode_lines_1 to simplify it.
+   Mark the end of a set of line number records.
+   The arguments are the same as for dwarf_record_line.
+   If SUBFILE is NULL the request is ignored.  */
+
+static void
+dwarf_finish_line (struct gdbarch *gdbarch, struct subfile *subfile,
+		   CORE_ADDR address, record_line_ftype p_record_line)
+{
+  if (subfile != NULL)
+    dwarf_record_line (gdbarch, subfile, 0, address, p_record_line);
+}
+
 /* Subroutine of dwarf_decode_lines to simplify it.
    Process the line number information in LH.  */
 
 static void
-dwarf_decode_lines_1 (struct line_header *lh, const char *comp_dir,
-		      struct dwarf2_cu *cu, struct partial_symtab *pst)
+dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
+		      const int decode_for_pst_p, CORE_ADDR lowpc)
 {
   const gdb_byte *line_ptr, *extended_end;
   const gdb_byte *line_end;
   unsigned int bytes_read, extended_len;
-  unsigned char op_code, extended_op, adj_opcode;
+  unsigned char op_code, extended_op;
   CORE_ADDR baseaddr;
   struct objfile *objfile = cu->objfile;
   bfd *abfd = objfile->obfd;
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
-  const int decode_for_pst_p = (pst != NULL);
   struct subfile *last_subfile = NULL;
   void (*p_record_line) (struct subfile *subfile, int line, CORE_ADDR pc)
     = record_line;
@@ -17183,16 +17322,23 @@ dwarf_decode_lines_1 (struct line_header
   /* Read the statement sequences until there's nothing left.  */
   while (line_ptr < line_end)
     {
-      /* state machine registers  */
-      CORE_ADDR address = 0;
+      /* State machine registers.  Call `gdbarch_adjust_dwarf2_line'
+         on the initial 0 address as if there was a line entry for it
+         so that the backend has a chance to adjust it and also record
+         it in case it needs it.  This is currently used by MIPS code,
+         cf. `mips_adjust_dwarf2_line'.  */
+      CORE_ADDR address = gdbarch_adjust_dwarf2_line (gdbarch, 0, 0);
       unsigned int file = 1;
       unsigned int line = 1;
-      unsigned int column = 0;
       int is_stmt = lh->default_is_stmt;
-      int basic_block = 0;
       int end_sequence = 0;
-      CORE_ADDR addr;
       unsigned char op_index = 0;
+      unsigned int discriminator = 0;
+      /* The last line number that was recorded, used to coalesce
+	 consecutive entries for the same line.  This can happen, for
+	 example, when discriminators are present.  PR 17276.  */
+      unsigned int last_line = 0;
+      int line_has_non_zero_discriminator = 0;
 
       if (!decode_for_pst_p && lh->num_file_names >= file)
 	{
@@ -17206,7 +17352,7 @@ dwarf_decode_lines_1 (struct line_header
           if (fe->dir_index)
             dir = lh->include_dirs[fe->dir_index - 1];
 
-	  dwarf2_start_subfile (fe->name, dir, comp_dir);
+	  dwarf2_start_subfile (fe->name, dir);
 	}
 
       /* Decode the table.  */
@@ -17222,14 +17368,22 @@ dwarf_decode_lines_1 (struct line_header
 
 	  if (op_code >= lh->opcode_base)
 	    {
-	      /* Special operand.  */
+	      /* Special opcode.  */
+	      unsigned char adj_opcode;
+	      CORE_ADDR addr_adj;
+	      int line_delta;
+
 	      adj_opcode = op_code - lh->opcode_base;
-	      address += (((op_index + (adj_opcode / lh->line_range))
+	      addr_adj = (((op_index + (adj_opcode / lh->line_range))
 			   / lh->maximum_ops_per_instruction)
 			  * lh->minimum_instruction_length);
+	      address += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
 	      op_index = ((op_index + (adj_opcode / lh->line_range))
 			  % lh->maximum_ops_per_instruction);
-	      line += lh->line_base + (adj_opcode % lh->line_range);
+	      line_delta = lh->line_base + (adj_opcode % lh->line_range);
+	      line += line_delta;
+	      if (line_delta != 0)
+		line_has_non_zero_discriminator = discriminator != 0;
 	      if (lh->num_file_names < file || file == 0)
 		dwarf2_debug_line_missing_file_complaint ();
 	      /* For now we ignore lines not starting on an
@@ -17241,17 +17395,21 @@ dwarf_decode_lines_1 (struct line_header
 		    {
 		      if (last_subfile != current_subfile)
 			{
-			  addr = gdbarch_addr_bits_remove (gdbarch, address);
-			  if (last_subfile)
-			    (*p_record_line) (last_subfile, 0, addr);
-			  last_subfile = current_subfile;
+			  dwarf_finish_line (gdbarch, last_subfile,
+					     address, p_record_line);
+			}
+		      if (dwarf_record_line_p (line, last_line,
+					       line_has_non_zero_discriminator,
+					       last_subfile))
+			{
+			  dwarf_record_line (gdbarch, current_subfile,
+					     line, address, p_record_line);
 			}
-		      /* Append row to matrix using current values.  */
-		      addr = gdbarch_addr_bits_remove (gdbarch, address);
-		      (*p_record_line) (current_subfile, line, addr);
+		      last_subfile = current_subfile;
+		      last_line = line;
 		    }
 		}
-	      basic_block = 0;
+	      discriminator = 0;
 	    }
 	  else switch (op_code)
 	    {
@@ -17271,7 +17429,12 @@ dwarf_decode_lines_1 (struct line_header
 		case DW_LNE_set_address:
 		  address = read_address (abfd, line_ptr, cu, &bytes_read);
 
-		  if (address == 0 && !dwarf2_per_objfile->has_section_at_zero)
+		  /* If address < lowpc then it's not a usable value, it's
+		     outside the pc range of the CU.  However, we restrict
+		     the test to only address values of zero to preserve
+		     GDB's previous behaviour which is to handle the specific
+		     case of a function being GC'd by the linker.  */
+		  if (address == 0 && address < lowpc)
 		    {
 		      /* This line table is for a function which has been
 			 GCd by the linker.  Ignore it.  PR gdb/12528 */
@@ -17284,11 +17447,14 @@ dwarf_decode_lines_1 (struct line_header
 				   "[in module %s]"),
 				 line_offset, objfile_name (objfile));
 		      p_record_line = noop_record_line;
+		      /* Note: p_record_line is left as noop_record_line
+			 until we see DW_LNE_end_sequence.  */
 		    }
 
 		  op_index = 0;
 		  line_ptr += bytes_read;
 		  address += baseaddr;
+		  address = gdbarch_adjust_dwarf2_line (gdbarch, address, 0);
 		  break;
 		case DW_LNE_define_file:
                   {
@@ -17312,8 +17478,14 @@ dwarf_decode_lines_1 (struct line_header
 		  break;
 		case DW_LNE_set_discriminator:
 		  /* The discriminator is not interesting to the debugger;
-		     just ignore it.  */
-		  line_ptr = extended_end;
+		     just ignore it.  We still need to check its value though:
+		     if there are consecutive entries for the same
+		     (non-prologue) line we want to coalesce them.
+		     PR 17276.  */
+		  discriminator = read_unsigned_leb128 (abfd, line_ptr,
+							&bytes_read);
+		  line_has_non_zero_discriminator |= discriminator != 0;
+		  line_ptr += bytes_read;
 		  break;
 		default:
 		  complaint (&symfile_complaints,
@@ -17340,33 +17512,47 @@ dwarf_decode_lines_1 (struct line_header
 		    {
 		      if (last_subfile != current_subfile)
 			{
-			  addr = gdbarch_addr_bits_remove (gdbarch, address);
-			  if (last_subfile)
-			    (*p_record_line) (last_subfile, 0, addr);
-			  last_subfile = current_subfile;
+			  dwarf_finish_line (gdbarch, last_subfile,
+					     address, p_record_line);
+			}
+		      if (dwarf_record_line_p (line, last_line,
+					       line_has_non_zero_discriminator,
+					       last_subfile))
+			{
+			  dwarf_record_line (gdbarch, current_subfile,
+					     line, address, p_record_line);
 			}
-		      addr = gdbarch_addr_bits_remove (gdbarch, address);
-		      (*p_record_line) (current_subfile, line, addr);
+		      last_subfile = current_subfile;
+		      last_line = line;
 		    }
 		}
-	      basic_block = 0;
+	      discriminator = 0;
 	      break;
 	    case DW_LNS_advance_pc:
 	      {
 		CORE_ADDR adjust
 		  = read_unsigned_leb128 (abfd, line_ptr, &bytes_read);
+		CORE_ADDR addr_adj;
 
-		address += (((op_index + adjust)
+		addr_adj = (((op_index + adjust)
 			     / lh->maximum_ops_per_instruction)
 			    * lh->minimum_instruction_length);
+		address += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
 		op_index = ((op_index + adjust)
 			    % lh->maximum_ops_per_instruction);
 		line_ptr += bytes_read;
 	      }
 	      break;
 	    case DW_LNS_advance_line:
-	      line += read_signed_leb128 (abfd, line_ptr, &bytes_read);
-	      line_ptr += bytes_read;
+	      {
+		int line_delta
+		  = read_signed_leb128 (abfd, line_ptr, &bytes_read);
+
+		line += line_delta;
+		if (line_delta != 0)
+		  line_has_non_zero_discriminator = discriminator != 0;
+		line_ptr += bytes_read;
+	      }
 	      break;
 	    case DW_LNS_set_file:
               {
@@ -17388,20 +17574,20 @@ dwarf_decode_lines_1 (struct line_header
                     if (!decode_for_pst_p)
                       {
                         last_subfile = current_subfile;
-                        dwarf2_start_subfile (fe->name, dir, comp_dir);
+			line_has_non_zero_discriminator = discriminator != 0;
+                        dwarf2_start_subfile (fe->name, dir);
                       }
                   }
               }
 	      break;
 	    case DW_LNS_set_column:
-	      column = read_unsigned_leb128 (abfd, line_ptr, &bytes_read);
+	      (void) read_unsigned_leb128 (abfd, line_ptr, &bytes_read);
 	      line_ptr += bytes_read;
 	      break;
 	    case DW_LNS_negate_stmt:
 	      is_stmt = (!is_stmt);
 	      break;
 	    case DW_LNS_set_basic_block:
-	      basic_block = 1;
 	      break;
 	    /* Add to the address register of the state machine the
 	       address increment value corresponding to special opcode
@@ -17411,18 +17597,25 @@ dwarf_decode_lines_1 (struct line_header
 	    case DW_LNS_const_add_pc:
 	      {
 		CORE_ADDR adjust = (255 - lh->opcode_base) / lh->line_range;
+		CORE_ADDR addr_adj;
 
-		address += (((op_index + adjust)
+		addr_adj = (((op_index + adjust)
 			     / lh->maximum_ops_per_instruction)
 			    * lh->minimum_instruction_length);
+		address += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
 		op_index = ((op_index + adjust)
 			    % lh->maximum_ops_per_instruction);
 	      }
 	      break;
 	    case DW_LNS_fixed_advance_pc:
-	      address += read_2_bytes (abfd, line_ptr);
-	      op_index = 0;
-	      line_ptr += 2;
+	      {
+		CORE_ADDR addr_adj;
+
+		addr_adj = read_2_bytes (abfd, line_ptr);
+		address += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
+		op_index = 0;
+		line_ptr += 2;
+	      }
 	      break;
 	    default:
 	      {
@@ -17444,8 +17637,8 @@ dwarf_decode_lines_1 (struct line_header
           lh->file_names[file - 1].included_p = 1;
           if (!decode_for_pst_p)
 	    {
-	      addr = gdbarch_addr_bits_remove (gdbarch, address);
-	      (*p_record_line) (current_subfile, 0, addr);
+	      dwarf_finish_line (gdbarch, current_subfile, address,
+				 p_record_line);
 	    }
         }
     }
@@ -17471,19 +17664,19 @@ dwarf_decode_lines_1 (struct line_header
    as the corresponding symtab.  Since COMP_DIR is not used in the name of the
    symtab we don't use it in the name of the psymtabs we create.
    E.g. expand_line_sal requires this when finding psymtabs to expand.
-   A good testcase for this is mb-inline.exp.  */
+   A good testcase for this is mb-inline.exp.
+
+   LOWPC is the lowest address in CU (or 0 if not known).  */
 
 static void
 dwarf_decode_lines (struct line_header *lh, const char *comp_dir,
 		    struct dwarf2_cu *cu, struct partial_symtab *pst,
-		    int want_line_info)
+		    CORE_ADDR lowpc)
 {
   struct objfile *objfile = cu->objfile;
   const int decode_for_pst_p = (pst != NULL);
-  struct subfile *first_subfile = current_subfile;
 
-  if (want_line_info)
-    dwarf_decode_lines_1 (lh, comp_dir, cu, pst);
+  dwarf_decode_lines_1 (lh, cu, decode_for_pst_p, lowpc);
 
   if (decode_for_pst_p)
     {
@@ -17505,6 +17698,7 @@ dwarf_decode_lines (struct line_header *
       /* Make sure a symtab is created for every file, even files
 	 which contain only variables (i.e. no code with associated
 	 line numbers).  */
+      struct compunit_symtab *cust = buildsym_compunit_symtab ();
       int i;
 
       for (i = 0; i < lh->num_file_names; i++)
@@ -17515,17 +17709,13 @@ dwarf_decode_lines (struct line_header *
 	  fe = &lh->file_names[i];
 	  if (fe->dir_index)
 	    dir = lh->include_dirs[fe->dir_index - 1];
-	  dwarf2_start_subfile (fe->name, dir, comp_dir);
-
-	  /* Skip the main file; we don't need it, and it must be
-	     allocated last, so that it will show up before the
-	     non-primary symtabs in the objfile's symtab list.  */
-	  if (current_subfile == first_subfile)
-	    continue;
+	  dwarf2_start_subfile (fe->name, dir);
 
 	  if (current_subfile->symtab == NULL)
-	    current_subfile->symtab = allocate_symtab (current_subfile->name,
-						       objfile);
+	    {
+	      current_subfile->symtab
+		= allocate_symtab (cust, current_subfile->name);
+	    }
 	  fe->symtab = current_subfile->symtab;
 	}
     }
@@ -17533,8 +17723,7 @@ dwarf_decode_lines (struct line_header *
 
 /* Start a subfile for DWARF.  FILENAME is the name of the file and
    DIRNAME the name of the source directory which contains FILENAME
-   or NULL if not known.  COMP_DIR is the compilation directory for the
-   linetable's compilation unit or NULL if not known.
+   or NULL if not known.
    This routine tries to keep line numbers from identical absolute and
    relative file names in a common subfile.
 
@@ -17543,7 +17732,7 @@ dwarf_decode_lines (struct line_header *
    of /srcdir/list0.c yields the following debugging information for list0.c:
 
    DW_AT_name:          /srcdir/list0.c
-   DW_AT_comp_dir:              /compdir
+   DW_AT_comp_dir:      /compdir
    files.files[0].name: list0.h
    files.files[0].dir:  /srcdir
    files.files[1].name: list0.c
@@ -17556,15 +17745,11 @@ dwarf_decode_lines (struct line_header *
    subfile's name.  */
 
 static void
-dwarf2_start_subfile (const char *filename, const char *dirname,
-		      const char *comp_dir)
+dwarf2_start_subfile (const char *filename, const char *dirname)
 {
   char *copy = NULL;
 
-  /* While reading the DIEs, we call start_symtab(DW_AT_name, DW_AT_comp_dir).
-     `start_symtab' will always pass the contents of DW_AT_comp_dir as
-     second argument to start_subfile.  To be consistent, we do the
-     same here.  In order not to lose the line information directory,
+  /* In order not to lose the line information directory,
      we concatenate it to the filename when it makes sense.
      Note that the Dwarf3 standard says (speaking of filenames in line
      information): ``The directory index is ignored for file names
@@ -17577,7 +17762,7 @@ dwarf2_start_subfile (const char *filena
       filename = copy;
     }
 
-  start_subfile (filename, comp_dir);
+  start_subfile (filename);
 
   if (copy != NULL)
     xfree (copy);
@@ -17586,11 +17771,13 @@ dwarf2_start_subfile (const char *filena
 /* Start a symtab for DWARF.
    NAME, COMP_DIR, LOW_PC are passed to start_symtab.  */
 
-static void
+static struct compunit_symtab *
 dwarf2_start_symtab (struct dwarf2_cu *cu,
 		     const char *name, const char *comp_dir, CORE_ADDR low_pc)
 {
-  start_symtab (name, comp_dir, low_pc);
+  struct compunit_symtab *cust
+    = start_symtab (cu->objfile, name, comp_dir, low_pc);
+
   record_debugformat ("DWARF 2");
   record_producer (cu->producer);
 
@@ -17598,6 +17785,8 @@ dwarf2_start_symtab (struct dwarf2_cu *c
   processing_gcc_compilation = 2;
 
   cu->processing_has_namespace_info = 0;
+
+  return cust;
 }
 
 static void
@@ -17678,6 +17867,7 @@ new_symbol_full (struct die_info *die, s
 		 struct symbol *space)
 {
   struct objfile *objfile = cu->objfile;
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct symbol *sym = NULL;
   const char *name;
   struct attribute *attr = NULL;
@@ -17746,7 +17936,7 @@ new_symbol_full (struct die_info *die, s
 	      struct file_entry *fe;
 
 	      fe = &cu->line_header->file_names[file_index - 1];
-	      SYMBOL_SYMTAB (sym) = fe->symtab;
+	      symbol_set_symtab (sym, fe->symtab);
 	    }
 	}
 
@@ -17755,8 +17945,13 @@ new_symbol_full (struct die_info *die, s
 	case DW_TAG_label:
 	  attr = dwarf2_attr (die, DW_AT_low_pc, cu);
 	  if (attr)
-	    SYMBOL_VALUE_ADDRESS (sym)
-	      = attr_value_as_address (attr) + baseaddr;
+	    {
+	      CORE_ADDR addr;
+
+	      addr = attr_value_as_address (attr);
+	      addr = gdbarch_adjust_dwarf2_addr (gdbarch, addr + baseaddr);
+	      SYMBOL_VALUE_ADDRESS (sym) = addr;
+	    }
 	  SYMBOL_TYPE (sym) = objfile_type (objfile)->builtin_core_addr;
 	  SYMBOL_DOMAIN (sym) = LABEL_DOMAIN;
 	  SYMBOL_ACLASS_INDEX (sym) = LOC_LABEL;
@@ -18901,7 +19096,7 @@ dwarf2_name (struct die_info *die, struc
 	  /* GCJ will output '<init>' for Java constructor names.
 	     For this special case, return the name of the parent class.  */
 
-	  /* GCJ may output suprogram DIEs with AT_specification set.
+	  /* GCJ may output subprogram DIEs with AT_specification set.
 	     If so, use the name of the specified DIE.  */
 	  spec_die = die_specification (die, &spec_cu);
 	  if (spec_die != NULL)
@@ -20232,8 +20427,7 @@ file_full_name (int file, struct line_he
 static struct macro_source_file *
 macro_start_file (int file, int line,
                   struct macro_source_file *current_file,
-                  const char *comp_dir,
-                  struct line_header *lh, struct objfile *objfile)
+                  struct line_header *lh)
 {
   /* File name relative to the compilation directory of this source file.  */
   char *file_name = file_file_name (file, lh);
@@ -20242,7 +20436,7 @@ macro_start_file (int file, int line,
     {
       /* Note: We don't create a macro table for this compilation unit
 	 at all until we actually get a filename.  */
-      struct macro_table *macro_table = get_macro_table (objfile, comp_dir);
+      struct macro_table *macro_table = get_macro_table ();
 
       /* If we have no current file, then this must be the start_file
 	 directive for the compilation unit's main source file.  */
@@ -20620,13 +20814,13 @@ static void
 dwarf_decode_macro_bytes (bfd *abfd,
 			  const gdb_byte *mac_ptr, const gdb_byte *mac_end,
 			  struct macro_source_file *current_file,
-			  struct line_header *lh, const char *comp_dir,
+			  struct line_header *lh,
 			  struct dwarf2_section_info *section,
 			  int section_is_gnu, int section_is_dwz,
 			  unsigned int offset_size,
-			  struct objfile *objfile,
 			  htab_t include_hash)
 {
+  struct objfile *objfile = dwarf2_per_objfile->objfile;
   enum dwarf_macro_record_type macinfo_type;
   int at_commandline;
   const gdb_byte *opcode_definitions[256];
@@ -20767,9 +20961,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
 		at_commandline = 0;
 	      }
 	    else
-	      current_file = macro_start_file (file, line,
-					       current_file, comp_dir,
-					       lh, objfile);
+	      current_file = macro_start_file (file, line, current_file, lh);
           }
           break;
 
@@ -20829,8 +21021,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
 	      {
 		struct dwz_file *dwz = dwarf2_get_dwz_file ();
 
-		dwarf2_read_section (dwarf2_per_objfile->objfile,
-				     &dwz->macro);
+		dwarf2_read_section (objfile, &dwz->macro);
 
 		include_section = &dwz->macro;
 		include_bfd = get_section_bfd_owner (include_section);
@@ -20854,10 +21045,9 @@ dwarf_decode_macro_bytes (bfd *abfd,
 		*slot = (void *) new_mac_ptr;
 
 		dwarf_decode_macro_bytes (include_bfd, new_mac_ptr,
-					  include_mac_end, current_file,
-					  lh, comp_dir,
+					  include_mac_end, current_file, lh,
 					  section, section_is_gnu, is_dwz,
-					  offset_size, objfile, include_hash);
+					  offset_size, include_hash);
 
 		htab_remove_elt (include_hash, (void *) new_mac_ptr);
 	      }
@@ -20893,7 +21083,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
 
 static void
 dwarf_decode_macros (struct dwarf2_cu *cu, unsigned int offset,
-                     const char *comp_dir, int section_is_gnu)
+                     int section_is_gnu)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct line_header *lh = cu->line_header;
@@ -21012,8 +21202,7 @@ dwarf_decode_macros (struct dwarf2_cu *c
 	    file = read_unsigned_leb128 (abfd, mac_ptr, &bytes_read);
 	    mac_ptr += bytes_read;
 
-	    current_file = macro_start_file (file, line, current_file,
-					     comp_dir, lh, objfile);
+	    current_file = macro_start_file (file, line, current_file, lh);
 	  }
 	  break;
 
@@ -21078,9 +21267,8 @@ dwarf_decode_macros (struct dwarf2_cu *c
   slot = htab_find_slot (include_hash, mac_ptr, INSERT);
   *slot = (void *) mac_ptr;
   dwarf_decode_macro_bytes (abfd, mac_ptr, mac_end,
-			    current_file, lh, comp_dir, section,
-			    section_is_gnu, 0,
-			    offset_size, objfile, include_hash);
+			    current_file, lh, section,
+			    section_is_gnu, 0, offset_size, include_hash);
   do_cleanups (cleanup);
 }
 
@@ -21654,6 +21842,8 @@ set_die_type (struct die_info *die, stru
 {
   struct dwarf2_per_cu_offset_and_type **slot, ofs;
   struct objfile *objfile = cu->objfile;
+  struct attribute *attr;
+  struct dynamic_prop prop;
 
   /* For Ada types, make sure that the gnat-specific data is always
      initialized (if not already set).  There are a few types where
@@ -21668,6 +21858,15 @@ set_die_type (struct die_info *die, stru
       && !HAVE_GNAT_AUX_INFO (type))
     INIT_GNAT_SPECIFIC (type);
 
+  /* Read DW_AT_data_location and set in type.  */
+  attr = dwarf2_attr (die, DW_AT_data_location, cu);
+  if (attr_to_dynamic_prop (attr, die, cu, &prop))
+    {
+      TYPE_DATA_LOCATION (type)
+        = obstack_alloc (&objfile->objfile_obstack, sizeof (prop));
+      *TYPE_DATA_LOCATION (type) = prop;
+    }
+
   if (dwarf2_per_objfile->die_type_hash == NULL)
     {
       dwarf2_per_objfile->die_type_hash =
@@ -21823,7 +22022,8 @@ static struct cmd_list_element *show_dwa
 static void
 set_dwarf2_cmd (char *args, int from_tty)
 {
-  help_list (set_dwarf2_cmdlist, "maintenance set dwarf2 ", -1, gdb_stdout);
+  help_list (set_dwarf2_cmdlist, "maintenance set dwarf2 ", all_commands,
+	     gdb_stdout);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/elfread.c ./gdb/elfread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/elfread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/elfread.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Read ELF (Executable and Linking Format) object files for GDB.
 
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish at Cygnus Support.
 
@@ -21,7 +21,6 @@
 
 #include "defs.h"
 #include "bfd.h"
-#include <string.h>
 #include "elf-bfd.h"
 #include "elf/common.h"
 #include "elf/internal.h"
@@ -248,6 +247,8 @@ elf_symtab_read (struct objfile *objfile
   const char *filesymname = "";
   struct dbx_symfile_info *dbx = DBX_SYMFILE_INFO (objfile);
   int stripped = (bfd_get_symcount (objfile->obfd) == 0);
+  int elf_make_msymbol_special_p
+    = gdbarch_elf_make_msymbol_special_p (gdbarch);
 
   for (i = 0; i < number_of_symbols; i++)
     {
@@ -329,7 +330,11 @@ elf_symtab_read (struct objfile *objfile
 	    (sym->name, strlen (sym->name), copy_names,
 	     symaddr, mst_solib_trampoline, sect, objfile);
 	  if (msym != NULL)
-	    msym->filename = filesymname;
+	    {
+	      msym->filename = filesymname;
+	      if (elf_make_msymbol_special_p)
+		gdbarch_elf_make_msymbol_special (gdbarch, sym, msym);
+	    }
 	  continue;
 	}
 
@@ -556,7 +561,8 @@ elf_symtab_read (struct objfile *objfile
 		}
 
 	      msym->filename = filesymname;
-	      gdbarch_elf_make_msymbol_special (gdbarch, sym, msym);
+	      if (elf_make_msymbol_special_p)
+		gdbarch_elf_make_msymbol_special (gdbarch, sym, msym);
 	    }
 
 	  /* If we see a default versioned symbol, install it under
@@ -595,7 +601,9 @@ elf_symtab_read (struct objfile *objfile
 		      SET_MSYMBOL_SIZE (mtramp, MSYMBOL_SIZE (msym));
 		      mtramp->created_by_gdb = 1;
 		      mtramp->filename = filesymname;
-		      gdbarch_elf_make_msymbol_special (gdbarch, sym, mtramp);
+		      if (elf_make_msymbol_special_p)
+			gdbarch_elf_make_msymbol_special (gdbarch,
+							  sym, mtramp);
 		    }
 		}
 	    }
@@ -1228,10 +1236,6 @@ elf_read_minimal_symbols (struct objfile
    We have been initialized by a call to elf_symfile_init, which
    currently does nothing.
 
-   SECTION_OFFSETS is a set of offsets to apply to relocate the symbols
-   in each section.  We simplify it down to a single offset for all
-   symbols.  FIXME.
-
    This function only does the minimum work necessary for letting the
    user "name" things symbolically; it does not read the entire symtab.
    Instead, it reads the external and static symbols and puts them in partial
@@ -1410,14 +1414,7 @@ elf_symfile_finish (struct objfile *objf
   dwarf2_free_objfile (objfile);
 }
 
-/* ELF specific initialization routine for reading symbols.
-
-   It is passed a pointer to a struct sym_fns which contains, among other
-   things, the BFD for the file whose symbols are being read, and a slot for
-   a pointer to "private data" which we can fill with goodies.
-
-   For now at least, we have nothing in particular to do, so this function is
-   just a stub.  */
+/* ELF specific initialization routine for reading symbols.  */
 
 static void
 elf_symfile_init (struct objfile *objfile)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/environ.c ./gdb/environ.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/environ.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/environ.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* environ.c -- library for manipulating environments for GNU.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,7 +20,6 @@
 
 #include "defs.h"
 #include "environ.h"
-#include <string.h>
 
 
 /* Return a new environment object.  */
@@ -161,7 +160,7 @@ set_in_environ (struct gdb_environ *e, c
 /* Remove the setting for variable VAR from environment E.  */
 
 void
-unset_in_environ (struct gdb_environ *e, char *var)
+unset_in_environ (struct gdb_environ *e, const char *var)
 {
   int len = strlen (var);
   char **vector = e->vector;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/environ.h ./gdb/environ.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/environ.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/environ.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header for environment manipulation library.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -42,7 +42,7 @@ extern char *get_in_environ (const struc
 
 extern void set_in_environ (struct gdb_environ *, const char *, const char *);
 
-extern void unset_in_environ (struct gdb_environ *, char *);
+extern void unset_in_environ (struct gdb_environ *, const char *);
 
 extern char **environ_vector (struct gdb_environ *);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/eval.c ./gdb/eval.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/eval.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/eval.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Evaluate expressions for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,13 +18,13 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "value.h"
 #include "expression.h"
 #include "target.h"
 #include "frame.h"
+#include "gdbthread.h"
 #include "language.h"		/* For CAST_IS_CONVERSION.  */
 #include "f-lang.h"		/* For array bound stuff.  */
 #include "cp-abi.h"
@@ -34,15 +34,11 @@
 #include "parser-defs.h"
 #include "cp-support.h"
 #include "ui-out.h"
-#include "exceptions.h"
 #include "regcache.h"
 #include "user-regs.h"
 #include "valprint.h"
 #include "gdb_obstack.h"
 #include "objfiles.h"
-
-#include "gdb_assert.h"
-
 #include <ctype.h>
 
 /* This is defined in valops.c */
@@ -68,8 +64,29 @@ struct value *
 evaluate_subexp (struct type *expect_type, struct expression *exp,
 		 int *pos, enum noside noside)
 {
-  return (*exp->language_defn->la_exp_desc->evaluate_exp) 
+  struct cleanup *cleanups;
+  struct value *retval;
+  int cleanup_temps = 0;
+
+  if (*pos == 0 && target_has_execution
+      && exp->language_defn->la_language == language_cplus
+      && !thread_stack_temporaries_enabled_p (inferior_ptid))
+    {
+      cleanups = enable_thread_stack_temporaries (inferior_ptid);
+      cleanup_temps = 1;
+    }
+
+  retval = (*exp->language_defn->la_exp_desc->evaluate_exp)
     (expect_type, exp, pos, noside);
+
+  if (cleanup_temps)
+    {
+      if (value_in_thread_stack_temporaries (retval, inferior_ptid))
+	retval = value_non_lval (retval);
+      do_cleanups (cleanups);
+    }
+
+  return retval;
 }
 
 /* Parse the string EXP as a C expression, evaluate it,
@@ -346,12 +363,11 @@ evaluate_struct_tuple (struct value *str
   return struct_val;
 }
 
-/* Recursive helper function for setting elements of array tuples for
-   (the deleted) Chill.  The target is ARRAY (which has bounds
-   LOW_BOUND to HIGH_BOUND); the element value is ELEMENT; EXP, POS
-   and NOSIDE are as usual.  Evaluates index expresions and sets the
-   specified element(s) of ARRAY to ELEMENT.  Returns last index
-   value.  */
+/* Recursive helper function for setting elements of array tuples.
+   The target is ARRAY (which has bounds LOW_BOUND to HIGH_BOUND); the
+   element value is ELEMENT; EXP, POS and NOSIDE are as usual.
+   Evaluates index expresions and sets the specified element(s) of
+   ARRAY to ELEMENT.  Returns last index value.  */
 
 static LONGEST
 init_array_element (struct value *array, struct value *element,
@@ -369,22 +385,6 @@ init_array_element (struct value *array,
       return init_array_element (array, element,
 				 exp, pos, noside, low_bound, high_bound);
     }
-  else if (exp->elts[*pos].opcode == BINOP_RANGE)
-    {
-      LONGEST low, high;
-
-      (*pos)++;
-      low = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
-      high = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
-      if (low < low_bound || high > high_bound)
-	error (_("tuple range index out of range"));
-      for (index = low; index <= high; index++)
-	{
-	  memcpy (value_contents_raw (array)
-		  + (index - low_bound) * element_size,
-		  value_contents (element), element_size);
-	}
-    }
   else
     {
       index = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
@@ -903,11 +903,6 @@ evaluate_subexp_standard (struct type *e
 	      struct value *element;
 	      int index_pc = 0;
 
-	      if (exp->elts[*pos].opcode == BINOP_RANGE)
-		{
-		  index_pc = ++(*pos);
-		  evaluate_subexp (NULL_TYPE, exp, pos, EVAL_SKIP);
-		}
 	      element = evaluate_subexp (element_type, exp, pos, noside);
 	      if (value_type (element) != element_type)
 		element = value_cast (element_type, element);
@@ -958,22 +953,10 @@ evaluate_subexp_standard (struct type *e
 	      struct type *range_low_type, *range_high_type;
 	      struct value *elem_val;
 
-	      if (exp->elts[*pos].opcode == BINOP_RANGE)
-		{
-		  (*pos)++;
-		  elem_val = evaluate_subexp (element_type, exp, pos, noside);
-		  range_low_type = value_type (elem_val);
-		  range_low = value_as_long (elem_val);
-		  elem_val = evaluate_subexp (element_type, exp, pos, noside);
-		  range_high_type = value_type (elem_val);
-		  range_high = value_as_long (elem_val);
-		}
-	      else
-		{
-		  elem_val = evaluate_subexp (element_type, exp, pos, noside);
-		  range_low_type = range_high_type = value_type (elem_val);
-		  range_low = range_high = value_as_long (elem_val);
-		}
+	      elem_val = evaluate_subexp (element_type, exp, pos, noside);
+	      range_low_type = range_high_type = value_type (elem_val);
+	      range_low = range_high = value_as_long (elem_val);
+
 	      /* Check types of elements to avoid mixture of elements from
 	         different types. Also check if type of element is "compatible"
 	         with element type of powerset.  */
@@ -1371,9 +1354,6 @@ evaluate_subexp_standard (struct type *e
 	  /* First, evaluate the structure into arg2.  */
 	  pc2 = (*pos)++;
 
-	  if (noside == EVAL_SKIP)
-	    goto nosideret;
-
 	  if (op == STRUCTOP_MEMBER)
 	    {
 	      arg2 = evaluate_subexp_for_address (exp, pos, noside);
@@ -1392,7 +1372,10 @@ evaluate_subexp_standard (struct type *e
 	  arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
 
 	  type = check_typedef (value_type (arg1));
-	  if (TYPE_CODE (type) == TYPE_CODE_METHODPTR)
+	  if (noside == EVAL_SKIP)
+	    tem = 1;  /* Set it to the right arg index so that all arguments
+			 can also be skipped.  */
+	  else if (TYPE_CODE (type) == TYPE_CODE_METHODPTR)
 	    {
 	      if (noside == EVAL_AVOID_SIDE_EFFECTS)
 		arg1 = value_zero (TYPE_TARGET_TYPE (type), not_lval);
@@ -1435,8 +1418,6 @@ evaluate_subexp_standard (struct type *e
 	  pc2 = (*pos)++;
 	  tem2 = longest_to_int (exp->elts[pc2 + 1].longconst);
 	  *pos += 3 + BYTES_TO_EXP_ELEM (tem2 + 1);
-	  if (noside == EVAL_SKIP)
-	    goto nosideret;
 
 	  if (op == STRUCTOP_STRUCT)
 	    {
@@ -1585,6 +1566,9 @@ evaluate_subexp_standard (struct type *e
       /* Signal end of arglist.  */
       argvec[tem] = 0;
 
+      if (noside == EVAL_SKIP)
+	goto nosideret;
+
       if (op == OP_ADL_FUNC)
         {
           struct symbol *symp;
@@ -1601,7 +1585,7 @@ evaluate_subexp_standard (struct type *e
                                NON_METHOD, /* not method */
                                NULL, NULL, /* pass NULL symbol since
 					      symbol is unknown */
-                               NULL, &symp, NULL, 0);
+                               NULL, &symp, NULL, 0, noside);
 
           /* Now fix the expression being evaluated.  */
           exp->elts[save_pos1 + 2].symbol = symp;
@@ -1637,7 +1621,7 @@ evaluate_subexp_standard (struct type *e
 	                                  METHOD, /* method */
 					  &arg2,  /* the object */
 					  NULL, &valp, NULL,
-					  &static_memfuncp, 0);
+					  &static_memfuncp, 0, noside);
 
 	      if (op == OP_SCOPE && !static_memfuncp)
 		{
@@ -1708,7 +1692,7 @@ evaluate_subexp_standard (struct type *e
 					  NULL,        /* no need for name */
 	                                  NON_METHOD,  /* not method */
 	                                  NULL, function, /* the function */
-					  NULL, &symp, NULL, no_adl);
+					  NULL, &symp, NULL, no_adl, noside);
 
 	      if (op == OP_VAR_VALUE)
 		{
@@ -1734,8 +1718,6 @@ evaluate_subexp_standard (struct type *e
 
     do_call_it:
 
-      if (noside == EVAL_SKIP)
-	goto nosideret;
       if (argvec[0] == NULL)
 	error (_("Cannot evaluate function -- may be inlined"));
       if (noside == EVAL_AVOID_SIDE_EFFECTS)
@@ -1842,6 +1824,8 @@ evaluate_subexp_standard (struct type *e
 	  for (; tem <= nargs; tem++)
 	    argvec[tem] = evaluate_subexp_with_coercion (exp, pos, noside);
 	  argvec[tem] = 0;	/* signal end of arglist */
+	  if (noside == EVAL_SKIP)
+	    goto nosideret;
 	  goto do_call_it;
 
 	default:
@@ -1908,7 +1892,7 @@ evaluate_subexp_standard (struct type *e
 
 	get_user_print_options (&opts);
         if (opts.objectprint && TYPE_TARGET_TYPE(type)
-            && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_CLASS))
+            && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_STRUCT))
           {
             real_type = value_rtti_indirect_type (arg1, &full, &top,
 						  &using_enc);
@@ -2127,13 +2111,6 @@ evaluate_subexp_standard (struct type *e
 	    }
 	}
 
-    case BINOP_RANGE:
-      evaluate_subexp (NULL_TYPE, exp, pos, noside);
-      evaluate_subexp (NULL_TYPE, exp, pos, noside);
-      if (noside == EVAL_SKIP)
-	goto nosideret;
-      error (_("':' operator used in invalid context"));
-
     case BINOP_SUBSCRIPT:
       arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
       arg2 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
@@ -2164,15 +2141,6 @@ evaluate_subexp_standard (struct type *e
 	  else
 	    return value_subscript (arg1, value_as_long (arg2));
 	}
-
-    case BINOP_IN:
-      arg1 = evaluate_subexp_with_coercion (exp, pos, noside);
-      arg2 = evaluate_subexp_with_coercion (exp, pos, noside);
-      if (noside == EVAL_SKIP)
-	goto nosideret;
-      type = language_bool_type (exp->language_defn, exp->gdbarch);
-      return value_from_longest (type, (LONGEST) value_in (arg1, arg2));
-
     case MULTI_SUBSCRIPT:
       (*pos) += 2;
       nargs = longest_to_int (exp->elts[pc + 1].longconst);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/event-loop.c ./gdb/event-loop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/event-loop.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/event-loop.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Event loop machinery for GDB, the GNU debugger.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Elena Zannoni <ezannoni@cygnus.com> of Cygnus Solutions.
 
    This file is part of GDB.
@@ -31,11 +31,7 @@
 #endif
 
 #include <sys/types.h>
-#include <string.h>
-#include <errno.h>
 #include <sys/time.h>
-#include "exceptions.h"
-#include "gdb_assert.h"
 #include "gdb_select.h"
 #include "observer.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/event-loop.h ./gdb/event-loop.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/event-loop.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/event-loop.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions used by the GDB event loop.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Elena Zannoni <ezannoni@cygnus.com> of Cygnus Solutions.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/event-top.c ./gdb/event-top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/event-top.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/event-top.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Top level stuff for GDB, the GNU debugger.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Written by Elena Zannoni <ezannoni@cygnus.com> of Cygnus Solutions.
 
@@ -29,7 +29,6 @@
 #include "event-top.h"
 #include "interps.h"
 #include <signal.h>
-#include "exceptions.h"
 #include "cli/cli-script.h"     /* for reset_command_nest_depth */
 #include "main.h"
 #include "gdbthread.h"
@@ -120,6 +119,11 @@ int exec_done_display_p = 0;
    read commands from.  */
 int input_fd;
 
+/* Used by the stdin event handler to compensate for missed stdin events.
+   Setting this to a non-zero value inside an stdin callback makes the callback
+   run again.  */
+int call_stdin_event_handler_again_p;
+
 /* Signal handling variables.  */
 /* Each of these is a pointer to a function that the event loop will
    invoke if the corresponding signal has received.  The real signal
@@ -284,7 +288,7 @@ gdb_rl_callback_handler_reinstall (void)
    3. On prompting for pagination.  */
 
 void
-display_gdb_prompt (char *new_prompt)
+display_gdb_prompt (const char *new_prompt)
 {
   char *actual_gdb_prompt = NULL;
   struct cleanup *old_chain;
@@ -421,7 +425,13 @@ stdin_event_handler (int error, gdb_clie
       quit_command ((char *) 0, stdin == instream);
     }
   else
-    (*call_readline) (client_data);
+    {
+      do
+	{
+	  call_stdin_event_handler_again_p = 0;
+	  (*call_readline) (client_data);
+	} while (call_stdin_event_handler_again_p != 0);
+    }
 }
 
 /* Re-enable stdin after the end of an execution command in
@@ -519,6 +529,7 @@ command_line_handler (char *rl)
     {
       linelength = 80;
       linebuffer = (char *) xmalloc (linelength);
+      linebuffer[0] = '\0';
     }
 
   p = linebuffer;
@@ -656,7 +667,7 @@ command_line_handler (char *rl)
 
   /* Add line to history if appropriate.  */
   if (*linebuffer && input_from_terminal_p ())
-    add_history (linebuffer);
+    gdb_add_history (linebuffer);
 
   /* Note: lines consisting solely of comments are added to the command
      history.  This is useful when you type a command, and then
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/event-top.h ./gdb/event-top.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/event-top.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/event-top.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions used by event-top.c, for GDB, the GNU debugger.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Written by Elena Zannoni <ezannoni@cygnus.com> of Cygnus Solutions.
 
@@ -27,7 +27,7 @@ struct cmd_list_element;
 /* Exported functions from event-top.c.
    FIXME: these should really go into top.h.  */
 
-extern void display_gdb_prompt (char *new_prompt);
+extern void display_gdb_prompt (const char *new_prompt);
 void gdb_setup_readline (void);
 void gdb_disable_readline (void);
 extern void async_init_signals (void);
@@ -61,6 +61,7 @@ extern void (*call_readline) (void *);
 extern void (*input_handler) (char *);
 extern int input_fd;
 extern void (*after_char_processing_hook) (void);
+extern int call_stdin_event_handler_again_p;
 
 /* Wrappers for rl_callback_handler_remove and
    rl_callback_handler_install that keep track of whether the callback
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/exceptions.c ./gdb/exceptions.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/exceptions.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/exceptions.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Exception (throw catch) mechanism, for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,214 +24,16 @@
 #include "inferior.h"
 #include "annotate.h"
 #include "ui-out.h"
-#include "gdb_assert.h"
-#include <string.h>
 #include "serial.h"
 #include "gdbthread.h"
 
 const struct gdb_exception exception_none = { 0, GDB_NO_ERROR, NULL };
 
-/* Possible catcher states.  */
-enum catcher_state {
-  /* Initial state, a new catcher has just been created.  */
-  CATCHER_CREATED,
-  /* The catch code is running.  */
-  CATCHER_RUNNING,
-  CATCHER_RUNNING_1,
-  /* The catch code threw an exception.  */
-  CATCHER_ABORTING
-};
-
-/* Possible catcher actions.  */
-enum catcher_action {
-  CATCH_ITER,
-  CATCH_ITER_1,
-  CATCH_THROWING
-};
-
-struct catcher
-{
-  enum catcher_state state;
-  /* Jump buffer pointing back at the exception handler.  */
-  EXCEPTIONS_SIGJMP_BUF buf;
-  /* Status buffer belonging to the exception handler.  */
-  volatile struct gdb_exception *exception;
-  /* Saved/current state.  */
-  int mask;
-  struct cleanup *saved_cleanup_chain;
-  /* Back link.  */
-  struct catcher *prev;
-};
-
-/* Where to go for throw_exception().  */
-static struct catcher *current_catcher;
-
-/* Return length of current_catcher list.  */
-
-static int
-catcher_list_size (void)
-{
-  int size;
-  struct catcher *catcher;
-
-  for (size = 0, catcher = current_catcher;
-       catcher != NULL;
-       catcher = catcher->prev)
-    ++size;
-
-  return size;
-}
-
-EXCEPTIONS_SIGJMP_BUF *
-exceptions_state_mc_init (volatile struct gdb_exception *exception,
-			  return_mask mask)
-{
-  struct catcher *new_catcher = XCNEW (struct catcher);
-
-  /* Start with no exception, save it's address.  */
-  exception->reason = 0;
-  exception->error = GDB_NO_ERROR;
-  exception->message = NULL;
-  new_catcher->exception = exception;
-
-  new_catcher->mask = mask;
-
-  /* Prevent error/quit during FUNC from calling cleanups established
-     prior to here.  */
-  new_catcher->saved_cleanup_chain = save_cleanups ();
-
-  /* Push this new catcher on the top.  */
-  new_catcher->prev = current_catcher;
-  current_catcher = new_catcher;
-  new_catcher->state = CATCHER_CREATED;
-
-  return &new_catcher->buf;
-}
-
-static void
-catcher_pop (void)
-{
-  struct catcher *old_catcher = current_catcher;
-
-  current_catcher = old_catcher->prev;
-
-  /* Restore the cleanup chain, the error/quit messages, and the uiout
-     builder, to their original states.  */
-
-  restore_cleanups (old_catcher->saved_cleanup_chain);
-
-  xfree (old_catcher);
-}
-
-/* Catcher state machine.  Returns non-zero if the m/c should be run
-   again, zero if it should abort.  */
-
-static int
-exceptions_state_mc (enum catcher_action action)
-{
-  switch (current_catcher->state)
-    {
-    case CATCHER_CREATED:
-      switch (action)
-	{
-	case CATCH_ITER:
-	  /* Allow the code to run the catcher.  */
-	  current_catcher->state = CATCHER_RUNNING;
-	  return 1;
-	default:
-	  internal_error (__FILE__, __LINE__, _("bad state"));
-	}
-    case CATCHER_RUNNING:
-      switch (action)
-	{
-	case CATCH_ITER:
-	  /* No error/quit has occured.  Just clean up.  */
-	  catcher_pop ();
-	  return 0;
-	case CATCH_ITER_1:
-	  current_catcher->state = CATCHER_RUNNING_1;
-	  return 1;
-	case CATCH_THROWING:
-	  current_catcher->state = CATCHER_ABORTING;
-	  /* See also throw_exception.  */
-	  return 1;
-	default:
-	  internal_error (__FILE__, __LINE__, _("bad switch"));
-	}
-    case CATCHER_RUNNING_1:
-      switch (action)
-	{
-	case CATCH_ITER:
-	  /* The did a "break" from the inner while loop.  */
-	  catcher_pop ();
-	  return 0;
-	case CATCH_ITER_1:
-	  current_catcher->state = CATCHER_RUNNING;
-	  return 0;
-	case CATCH_THROWING:
-	  current_catcher->state = CATCHER_ABORTING;
-	  /* See also throw_exception.  */
-	  return 1;
-	default:
-	  internal_error (__FILE__, __LINE__, _("bad switch"));
-	}
-    case CATCHER_ABORTING:
-      switch (action)
-	{
-	case CATCH_ITER:
-	  {
-	    struct gdb_exception exception = *current_catcher->exception;
-
-	    if (current_catcher->mask & RETURN_MASK (exception.reason))
-	      {
-		/* Exit normally if this catcher can handle this
-		   exception.  The caller analyses the func return
-		   values.  */
-		catcher_pop ();
-		return 0;
-	      }
-	    /* The caller didn't request that the event be caught,
-	       relay the event to the next containing
-	       catch_errors().  */
-	    catcher_pop ();
-	    throw_exception (exception);
-	  }
-	default:
-	  internal_error (__FILE__, __LINE__, _("bad state"));
-	}
-    default:
-      internal_error (__FILE__, __LINE__, _("bad switch"));
-    }
-}
-
-int
-exceptions_state_mc_action_iter (void)
-{
-  return exceptions_state_mc (CATCH_ITER);
-}
-
-int
-exceptions_state_mc_action_iter_1 (void)
-{
-  return exceptions_state_mc (CATCH_ITER_1);
-}
-
-/* Return EXCEPTION to the nearest containing catch_errors().  */
-
 void
-throw_exception (struct gdb_exception exception)
+prepare_to_throw_exception (void)
 {
   clear_quit_flag ();
   immediate_quit = 0;
-
-  do_cleanups (all_cleanups ());
-
-  /* Jump to the containing catch_errors() call, communicating REASON
-     to that call via setjmp's return value.  Note that REASON can't
-     be zero, by definition in defs.h.  */
-  exceptions_state_mc (CATCH_THROWING);
-  *current_catcher->exception = exception;
-  EXCEPTIONS_SIGLONGJMP (current_catcher->buf, exception.reason);
 }
 
 static void
@@ -241,7 +43,9 @@ print_flush (void)
 
   if (deprecated_error_begin_hook)
     deprecated_error_begin_hook ();
-  target_terminal_ours ();
+
+  if (target_supports_terminal_ours ())
+    target_terminal_ours ();
 
   /* We want all output to appear now, before we print the error.  We
      have 3 levels of buffering we have to flush (it's possible that
@@ -249,7 +53,8 @@ print_flush (void)
      too):  */
 
   /* 1.  The _filtered buffer.  */
-  wrap_here ("");
+  if (filtered_printing_initialized ())
+    wrap_here ("");
 
   /* 2.  The stdio buffer.  */
   gdb_flush (gdb_stdout);
@@ -331,80 +136,6 @@ exception_fprintf (struct ui_file *file,
     }
 }
 
-/* A stack of exception messages.
-   This is needed to handle nested calls to throw_it: we don't want to
-   xfree space for a message before it's used.
-   This can happen if we throw an exception during a cleanup:
-   An outer TRY_CATCH may have an exception message it wants to print,
-   but while doing cleanups further calls to throw_it are made.
-
-   This is indexed by the size of the current_catcher list.
-   It is a dynamically allocated array so that we don't care how deeply
-   GDB nests its TRY_CATCHs.  */
-static char **exception_messages;
-
-/* The number of currently allocated entries in exception_messages.  */
-static int exception_messages_size;
-
-static void ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0)
-throw_it (enum return_reason reason, enum errors error, const char *fmt,
-	  va_list ap)
-{
-  struct gdb_exception e;
-  char *new_message;
-  int depth = catcher_list_size ();
-
-  gdb_assert (depth > 0);
-
-  /* Note: The new message may use an old message's text.  */
-  new_message = xstrvprintf (fmt, ap);
-
-  if (depth > exception_messages_size)
-    {
-      int old_size = exception_messages_size;
-
-      exception_messages_size = depth + 10;
-      exception_messages = (char **) xrealloc (exception_messages,
-					       exception_messages_size
-					       * sizeof (char *));
-      memset (exception_messages + old_size, 0,
-	      (exception_messages_size - old_size) * sizeof (char *));
-    }
-
-  xfree (exception_messages[depth - 1]);
-  exception_messages[depth - 1] = new_message;
-
-  /* Create the exception.  */
-  e.reason = reason;
-  e.error = error;
-  e.message = new_message;
-
-  /* Throw the exception.  */
-  throw_exception (e);
-}
-
-void
-throw_verror (enum errors error, const char *fmt, va_list ap)
-{
-  throw_it (RETURN_ERROR, error, fmt, ap);
-}
-
-void
-throw_vfatal (const char *fmt, va_list ap)
-{
-  throw_it (RETURN_QUIT, GDB_NO_ERROR, fmt, ap);
-}
-
-void
-throw_error (enum errors error, const char *fmt, ...)
-{
-  va_list args;
-
-  va_start (args, fmt);
-  throw_it (RETURN_ERROR, error, fmt, args);
-  va_end (args);
-}
-
 /* Call FUNC(UIOUT, FUNC_ARGS) but wrapped within an exception
    handler.  If an exception (enum return_reason) is thrown using
    throw_exception() than all cleanups installed since
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/exceptions.h ./gdb/exceptions.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/exceptions.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/exceptions.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Exception (throw catch) mechanism, for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,154 +21,10 @@
 #define EXCEPTIONS_H
 
 #include "ui-out.h"
-#include <setjmp.h>
-
-/* Reasons for calling throw_exceptions().  NOTE: all reason values
-   must be less than zero.  enum value 0 is reserved for internal use
-   as the return value from an initial setjmp().  The function
-   catch_exceptions() reserves values >= 0 as legal results from its
-   wrapped function.  */
-
-enum return_reason
-  {
-    /* User interrupt.  */
-    RETURN_QUIT = -2,
-    /* Any other error.  */
-    RETURN_ERROR
-  };
-
-#define RETURN_MASK(reason)	(1 << (int)(-reason))
-
-typedef enum
-{
-  RETURN_MASK_QUIT = RETURN_MASK (RETURN_QUIT),
-  RETURN_MASK_ERROR = RETURN_MASK (RETURN_ERROR),
-  RETURN_MASK_ALL = (RETURN_MASK_QUIT | RETURN_MASK_ERROR)
-} return_mask;
-
-/* Describe all exceptions.  */
-
-enum errors {
-  GDB_NO_ERROR,
-
-  /* Any generic error, the corresponding text is in
-     exception.message.  */
-  GENERIC_ERROR,
-
-  /* Something requested was not found.  */
-  NOT_FOUND_ERROR,
-
-  /* Thread library lacks support necessary for finding thread local
-     storage.  */
-  TLS_NO_LIBRARY_SUPPORT_ERROR,
-
-  /* Load module not found while attempting to find thread local storage.  */
-  TLS_LOAD_MODULE_NOT_FOUND_ERROR,
-
-  /* Thread local storage has not been allocated yet.  */
-  TLS_NOT_ALLOCATED_YET_ERROR,
-
-  /* Something else went wrong while attempting to find thread local
-     storage.  The ``struct gdb_exception'' message field provides
-     more detail.  */
-  TLS_GENERIC_ERROR,
-
-  /* Problem parsing an XML document.  */
-  XML_PARSE_ERROR,
-
-  /* Error accessing memory.  */
-  MEMORY_ERROR,
-
-  /* Value not available.  E.g., a register was not collected in a
-     traceframe.  */
-  NOT_AVAILABLE_ERROR,
-
-  /* Value was optimized out.  Note: if the value was a register, this
-     means the register was not saved in the frame.  */
-  OPTIMIZED_OUT_ERROR,
-
-  /* DW_OP_GNU_entry_value resolving failed.  */
-  NO_ENTRY_VALUE_ERROR,
-
-  /* Target throwing an error has been closed.  Current command should be
-     aborted as the inferior state is no longer valid.  */
-  TARGET_CLOSE_ERROR,
-
-  /* An undefined command was executed.  */
-  UNDEFINED_COMMAND_ERROR,
-
-  /* Requested feature, method, mechanism, etc. is not supported.  */
-  NOT_SUPPORTED_ERROR,
-
-  /* Add more errors here.  */
-  NR_ERRORS
-};
-
-struct gdb_exception
-{
-  enum return_reason reason;
-  enum errors error;
-  const char *message;
-};
 
 /* A pre-defined non-exception.  */
 extern const struct gdb_exception exception_none;
 
-/* Wrap set/long jmp so that it's more portable (internal to
-   exceptions).  */
-
-#if defined(HAVE_SIGSETJMP)
-#define EXCEPTIONS_SIGJMP_BUF		sigjmp_buf
-#define EXCEPTIONS_SIGSETJMP(buf)	sigsetjmp((buf), 1)
-#define EXCEPTIONS_SIGLONGJMP(buf,val)	siglongjmp((buf), (val))
-#else
-#define EXCEPTIONS_SIGJMP_BUF		jmp_buf
-#define EXCEPTIONS_SIGSETJMP(buf)	setjmp(buf)
-#define EXCEPTIONS_SIGLONGJMP(buf,val)	longjmp((buf), (val))
-#endif
-
-/* Functions to drive the exceptions state m/c (internal to
-   exceptions).  */
-EXCEPTIONS_SIGJMP_BUF *exceptions_state_mc_init (volatile struct
-						 gdb_exception *exception,
-						 return_mask mask);
-int exceptions_state_mc_action_iter (void);
-int exceptions_state_mc_action_iter_1 (void);
-
-/* Macro to wrap up standard try/catch behavior.
-
-   The double loop lets us correctly handle code "break"ing out of the
-   try catch block.  (It works as the "break" only exits the inner
-   "while" loop, the outer for loop detects this handling it
-   correctly.)  Of course "return" and "goto" are not so lucky.
-
-   For instance:
-
-   *INDENT-OFF*
-
-   volatile struct gdb_exception e;
-   TRY_CATCH (e, RETURN_MASK_ERROR)
-     {
-     }
-   switch (e.reason)
-     {
-     case RETURN_ERROR: ...
-     }
-
-  */
-
-#define TRY_CATCH(EXCEPTION,MASK) \
-     { \
-       EXCEPTIONS_SIGJMP_BUF *buf = \
-	 exceptions_state_mc_init (&(EXCEPTION), (MASK)); \
-       EXCEPTIONS_SIGSETJMP (*buf); \
-     } \
-     while (exceptions_state_mc_action_iter ()) \
-       while (exceptions_state_mc_action_iter_1 ())
-
-/* *INDENT-ON* */
-
-
 /* If E is an exception, print it's error message on the specified
    stream.  For _fprintf, prefix the message with PREFIX...  */
 extern void exception_print (struct ui_file *file, struct gdb_exception e);
@@ -176,26 +32,6 @@ extern void exception_fprintf (struct ui
 			       const char *prefix,
 			       ...) ATTRIBUTE_PRINTF (3, 4);
 
-/* Throw an exception (as described by "struct gdb_exception").  Will
-   execute a LONG JUMP to the inner most containing exception handler
-   established using catch_exceptions() (or similar).
-
-   Code normally throws an exception using error() et.al.  For various
-   reaons, GDB also contains code that throws an exception directly.
-   For instance, the remote*.c targets contain CNTRL-C signal handlers
-   that propogate the QUIT event up the exception chain.  ``This could
-   be a good thing or a dangerous thing.'' -- the Existential
-   Wombat.  */
-
-extern void throw_exception (struct gdb_exception exception)
-     ATTRIBUTE_NORETURN;
-extern void throw_verror (enum errors, const char *fmt, va_list ap)
-     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 0);
-extern void throw_vfatal (const char *fmt, va_list ap)
-     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
-extern void throw_error (enum errors error, const char *fmt, ...)
-     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 3);
-
 /* Call FUNC(UIOUT, FUNC_ARGS) but wrapped within an exception
    handler.  If an exception (enum return_reason) is thrown using
    throw_exception() than all cleanups installed since
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/exec.c ./gdb/exec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/exec.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/exec.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Work with executable files, for GDB. 
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -38,8 +38,6 @@
 
 #include <fcntl.h>
 #include "readline/readline.h"
-#include <string.h>
-
 #include "gdbcore.h"
 
 #include <ctype.h>
@@ -61,10 +59,7 @@ void _initialize_exec (void);
 
 /* The target vector for executable files.  */
 
-struct target_ops exec_ops;
-
-/* True if the exec target is pushed on the stack.  */
-static int using_exec_ops;
+static struct target_ops exec_ops;
 
 /* Whether to open exec and core files read-only or read-write.  */
 
@@ -79,7 +74,7 @@ show_write_files (struct ui_file *file, 
 
 
 static void
-exec_open (char *args, int from_tty)
+exec_open (const char *args, int from_tty)
 {
   target_preopen (from_tty);
   exec_file_attach (args, from_tty);
@@ -115,22 +110,18 @@ exec_close (void)
 static void
 exec_close_1 (struct target_ops *self)
 {
-  using_exec_ops = 0;
+  struct program_space *ss;
+  struct cleanup *old_chain;
 
+  old_chain = save_current_program_space ();
+  ALL_PSPACES (ss)
   {
-    struct program_space *ss;
-    struct cleanup *old_chain;
-
-    old_chain = save_current_program_space ();
-    ALL_PSPACES (ss)
-    {
-      set_current_program_space (ss);
-      clear_section_table (current_target_sections);
-      exec_close ();
-    }
-
-    do_cleanups (old_chain);
+    set_current_program_space (ss);
+    clear_section_table (current_target_sections);
+    exec_close ();
   }
+
+  do_cleanups (old_chain);
 }
 
 void
@@ -161,7 +152,7 @@ exec_file_clear (int from_tty)
    we're supplying the exec pathname late for good reason.)  */
 
 void
-exec_file_attach (char *filename, int from_tty)
+exec_file_attach (const char *filename, int from_tty)
 {
   struct cleanup *cleanups;
 
@@ -445,11 +436,8 @@ add_target_sections (void *owner,
 
       /* If these are the first file sections we can provide memory
 	 from, push the file_stratum target.  */
-      if (!using_exec_ops)
-	{
-	  using_exec_ops = 1;
-	  push_target (&exec_ops);
-	}
+      if (!target_is_pushed (&exec_ops))
+	push_target (&exec_ops);
     }
 }
 
@@ -951,7 +939,11 @@ exec_has_memory (struct target_ops *ops)
 	  != current_target_sections->sections_end);
 }
 
-static char *exec_make_note_section (struct target_ops *self, bfd *, int *);
+static char *
+exec_make_note_section (struct target_ops *self, bfd *obfd, int *note_size)
+{
+  error (_("Can't create a corefile"));
+}
 
 /* Fill in the exec file target vector.  Very few entries need to be
    defined.  */
@@ -1019,9 +1011,3 @@ Show writing into executable and core fi
 
   add_target_with_completer (&exec_ops, filename_completer);
 }
-
-static char *
-exec_make_note_section (struct target_ops *self, bfd *obfd, int *note_size)
-{
-  error (_("Can't create a corefile"));
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/exec.h ./gdb/exec.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/exec.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/exec.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Work with executable files, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,8 +29,6 @@ struct target_ops;
 struct bfd;
 struct objfile;
 
-extern struct target_ops exec_ops;
-
 #define exec_bfd current_program_space->ebfd
 #define exec_bfd_mtime current_program_space->ebfd_mtime
 #define exec_filename current_program_space->pspace_exec_filename
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/expprint.c ./gdb/expprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/expprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/expprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Print in infix form a struct expression.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,10 +26,8 @@
 #include "parser-defs.h"
 #include "user-regs.h"		/* For user_reg_map_regnum_to_name.  */
 #include "target.h"
-#include <string.h>
 #include "block.h"
 #include "objfiles.h"
-#include "gdb_assert.h"
 #include "valprint.h"
 
 #include <ctype.h>
@@ -802,8 +800,6 @@ dump_subexp_body_standard (struct expres
     case BINOP_ASSIGN_MODIFY:
     case BINOP_VAL:
     case BINOP_CONCAT:
-    case BINOP_IN:
-    case BINOP_RANGE:
     case BINOP_END:
     case STRUCTOP_MEMBER:
     case STRUCTOP_MPTR:
@@ -1011,12 +1007,29 @@ dump_subexp_body_standard (struct expres
 	elt = dump_subexp (exp, stream, elt);
       }
       break;
+    case OP_STRING:
+      {
+	LONGEST len = exp->elts[elt].longconst;
+	LONGEST type = exp->elts[elt + 1].longconst;
+
+	fprintf_filtered (stream, "Language-specific string type: %s",
+			  plongest (type));
+
+	/* Skip length.  */
+	elt += 1;
+
+	/* Skip string content. */
+	elt += BYTES_TO_EXP_ELEM (len);
+
+	/* Skip length and ending OP_STRING. */
+	elt += 2;
+      }
+      break;
     default:
     case OP_NULL:
     case MULTI_SUBSCRIPT:
     case OP_F77_UNDETERMINED_ARGLIST:
     case OP_COMPLEX:
-    case OP_STRING:
     case OP_BOOL:
     case OP_M2_STRING:
     case OP_THIS:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/expression.h ./gdb/expression.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/expression.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/expression.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for expressions stored in reversed prefix form, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/extension.c ./gdb/extension.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/extension.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/extension.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Interface between gdb and its extension languages.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/extension.h ./gdb/extension.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/extension.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/extension.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Interface between gdb and its extension languages.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/extension-priv.h ./gdb/extension-priv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/extension-priv.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/extension-priv.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* Private implementation details of interface between gdb and its
    extension languages.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fbsd-nat.c ./gdb/fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/fbsd-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for FreeBSD.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,9 +23,6 @@
 #include "regcache.h"
 #include "regset.h"
 #include "gdbthread.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include <sys/types.h>
 #include <sys/procfs.h>
 #include <sys/sysctl.h>
@@ -140,80 +137,3 @@ fbsd_find_memory_regions (struct target_
   do_cleanups (cleanup);
   return 0;
 }
-
-static int
-find_signalled_thread (struct thread_info *info, void *data)
-{
-  if (info->suspend.stop_signal != GDB_SIGNAL_0
-      && ptid_get_pid (info->ptid) == ptid_get_pid (inferior_ptid))
-    return 1;
-
-  return 0;
-}
-
-static enum gdb_signal
-find_stop_signal (void)
-{
-  struct thread_info *info =
-    iterate_over_threads (find_signalled_thread, NULL);
-
-  if (info)
-    return info->suspend.stop_signal;
-  else
-    return GDB_SIGNAL_0;
-}
-
-/* Create appropriate note sections for a corefile, returning them in
-   allocated memory.  */
-
-char *
-fbsd_make_corefile_notes (struct target_ops *self, bfd *obfd, int *note_size)
-{
-  const struct regcache *regcache = get_current_regcache ();
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  gregset_t gregs;
-  fpregset_t fpregs;
-  char *note_data = NULL;
-  Elf_Internal_Ehdr *i_ehdrp;
-  const struct regset *regset;
-  size_t size;
-
-  /* Put a "FreeBSD" label in the ELF header.  */
-  i_ehdrp = elf_elfheader (obfd);
-  i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_FREEBSD;
-
-  gdb_assert (gdbarch_regset_from_core_section_p (gdbarch));
-
-  size = sizeof gregs;
-  regset = gdbarch_regset_from_core_section (gdbarch, ".reg", size);
-  gdb_assert (regset && regset->collect_regset);
-  regset->collect_regset (regset, regcache, -1, &gregs, size);
-
-  note_data = elfcore_write_prstatus (obfd, note_data, note_size,
-				      ptid_get_pid (inferior_ptid),
-				      find_stop_signal (), &gregs);
-
-  size = sizeof fpregs;
-  regset = gdbarch_regset_from_core_section (gdbarch, ".reg2", size);
-  gdb_assert (regset && regset->collect_regset);
-  regset->collect_regset (regset, regcache, -1, &fpregs, size);
-
-  note_data = elfcore_write_prfpreg (obfd, note_data, note_size,
-				     &fpregs, sizeof (fpregs));
-
-  if (get_exec_file (0))
-    {
-      const char *fname = lbasename (get_exec_file (0));
-      char *psargs = xstrdup (fname);
-
-      if (get_inferior_args ())
-	psargs = reconcat (psargs, psargs, " ", get_inferior_args (),
-			   (char *) NULL);
-
-      note_data = elfcore_write_prpsinfo (obfd, note_data, note_size,
-					  fname, psargs);
-    }
-
-  make_cleanup (xfree, note_data);
-  return note_data;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fbsd-nat.h ./gdb/fbsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fbsd-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/fbsd-nat.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for FreeBSD.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,10 +32,4 @@ extern char *fbsd_pid_to_exec_file (stru
 extern int fbsd_find_memory_regions (struct target_ops *self,
 				     find_memory_region_ftype func, void *obfd);
 
-/* Create appropriate note sections for a corefile, returning them in
-   allocated memory.  */
-
-extern char *fbsd_make_corefile_notes (struct target_ops *self,
-				       bfd *obfd, int *note_size);
-
 #endif /* fbsd-nat.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fbsd-tdep.c ./gdb/fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fbsd-tdep.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/fbsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,134 @@
+/* Target-dependent code for FreeBSD, architecture-independent.
+
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "gdbcore.h"
+#include "inferior.h"
+#include "regcache.h"
+#include "regset.h"
+#include "gdbthread.h"
+
+#include "elf-bfd.h"
+#include "fbsd-tdep.h"
+
+
+static int
+find_signalled_thread (struct thread_info *info, void *data)
+{
+  if (info->suspend.stop_signal != GDB_SIGNAL_0
+      && ptid_get_pid (info->ptid) == ptid_get_pid (inferior_ptid))
+    return 1;
+
+  return 0;
+}
+
+static enum gdb_signal
+find_stop_signal (void)
+{
+  struct thread_info *info =
+    iterate_over_threads (find_signalled_thread, NULL);
+
+  if (info)
+    return info->suspend.stop_signal;
+  else
+    return GDB_SIGNAL_0;
+}
+
+struct fbsd_collect_regset_section_cb_data
+{
+  const struct regcache *regcache;
+  bfd *obfd;
+  char *note_data;
+  int *note_size;
+};
+
+static void
+fbsd_collect_regset_section_cb (const char *sect_name, int size,
+				const struct regset *regset,
+				const char *human_name, void *cb_data)
+{
+  char *buf;
+  struct fbsd_collect_regset_section_cb_data *data = cb_data;
+
+  gdb_assert (regset->collect_regset);
+
+  buf = xmalloc (size);
+  regset->collect_regset (regset, data->regcache, -1, buf, size);
+
+  /* PRSTATUS still needs to be treated specially.  */
+  if (strcmp (sect_name, ".reg") == 0)
+    data->note_data = (char *) elfcore_write_prstatus
+      (data->obfd, data->note_data, data->note_size,
+       ptid_get_pid (inferior_ptid), find_stop_signal (), buf);
+  else
+    data->note_data = (char *) elfcore_write_register_note
+      (data->obfd, data->note_data, data->note_size,
+       sect_name, buf, size);
+  xfree (buf);
+}
+
+/* Create appropriate note sections for a corefile, returning them in
+   allocated memory.  */
+
+static char *
+fbsd_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
+{
+  const struct regcache *regcache = get_current_regcache ();
+  char *note_data;
+  Elf_Internal_Ehdr *i_ehdrp;
+  struct fbsd_collect_regset_section_cb_data data;
+
+  /* Put a "FreeBSD" label in the ELF header.  */
+  i_ehdrp = elf_elfheader (obfd);
+  i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_FREEBSD;
+
+  gdb_assert (gdbarch_iterate_over_regset_sections_p (gdbarch));
+
+  data.regcache = regcache;
+  data.obfd = obfd;
+  data.note_data = NULL;
+  data.note_size = note_size;
+  gdbarch_iterate_over_regset_sections (gdbarch,
+					fbsd_collect_regset_section_cb,
+					&data, regcache);
+  note_data = data.note_data;
+
+  if (get_exec_file (0))
+    {
+      const char *fname = lbasename (get_exec_file (0));
+      char *psargs = xstrdup (fname);
+
+      if (get_inferior_args ())
+	psargs = reconcat (psargs, psargs, " ", get_inferior_args (),
+			   (char *) NULL);
+
+      note_data = elfcore_write_prpsinfo (obfd, note_data, note_size,
+					  fname, psargs);
+    }
+
+  return note_data;
+}
+
+/* To be called from GDB_OSABI_FREEBSD_ELF handlers. */
+
+void
+fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  set_gdbarch_make_corefile_notes (gdbarch, fbsd_make_corefile_notes);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fbsd-tdep.h ./gdb/fbsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fbsd-tdep.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/fbsd-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,25 @@
+/* Target-dependent code for FreeBSD, architecture independent.
+
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef FBSD_TDEP_H
+#define FBSD_TDEP_H
+
+extern void fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch);
+
+#endif /* fbsd-tdep.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/aarch64-core.xml ./gdb/features/aarch64-core.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/aarch64-core.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/aarch64-core.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
      Contributed by ARM Ltd.
 
      Copying and distribution of this file, with or without modification,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/aarch64-fpu.xml ./gdb/features/aarch64-fpu.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/aarch64-fpu.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/aarch64-fpu.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
      Contributed by ARM Ltd.
 
      Copying and distribution of this file, with or without modification,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/aarch64.xml ./gdb/features/aarch64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/aarch64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/aarch64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
      Contributed by ARM Ltd.
 
      Copying and distribution of this file, with or without modification,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-core.xml ./gdb/features/arm-core.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-core.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-core.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-fpa.xml ./gdb/features/arm-fpa.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-fpa.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-fpa.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-m-profile.xml ./gdb/features/arm-m-profile.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-m-profile.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-m-profile.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-vfpv2.xml ./gdb/features/arm-vfpv2.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-vfpv2.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-vfpv2.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-vfpv3.xml ./gdb/features/arm-vfpv3.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-vfpv3.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-vfpv3.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-iwmmxt.xml ./gdb/features/arm-with-iwmmxt.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-iwmmxt.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-with-iwmmxt.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-m-fpa-layout.xml ./gdb/features/arm-with-m-fpa-layout.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-m-fpa-layout.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-with-m-fpa-layout.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-m-vfp-d16.xml ./gdb/features/arm-with-m-vfp-d16.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-m-vfp-d16.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-with-m-vfp-d16.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-m.xml ./gdb/features/arm-with-m.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-m.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-with-m.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-neon.xml ./gdb/features/arm-with-neon.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-neon.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-with-neon.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-vfpv2.xml ./gdb/features/arm-with-vfpv2.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-vfpv2.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-with-vfpv2.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-vfpv3.xml ./gdb/features/arm-with-vfpv3.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/arm-with-vfpv3.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/arm-with-vfpv3.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/btrace.dtd ./gdb/features/btrace.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/btrace.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/btrace.dtd	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/feature_to_c.sh ./gdb/features/feature_to_c.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/feature_to_c.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/feature_to_c.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 # Convert text files to compilable C arrays.
 #
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/gdb-target.dtd ./gdb/features/gdb-target.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/gdb-target.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/gdb-target.dtd	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-avx512.xml ./gdb/features/i386/32bit-avx512.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-avx512.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/32bit-avx512.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-avx.xml ./gdb/features/i386/32bit-avx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-avx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/32bit-avx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-core.xml ./gdb/features/i386/32bit-core.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-core.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/32bit-core.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-linux.xml ./gdb/features/i386/32bit-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/32bit-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-mpx.xml ./gdb/features/i386/32bit-mpx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-mpx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/32bit-mpx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-sse.xml ./gdb/features/i386/32bit-sse.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/32bit-sse.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/32bit-sse.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-avx512.xml ./gdb/features/i386/64bit-avx512.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-avx512.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/64bit-avx512.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
@@ -77,11 +77,11 @@
   <reg name="zmm7h" bitsize="256" type="v2ui128"/>
   <reg name="zmm8h" bitsize="256" type="v2ui128"/>
   <reg name="zmm9h" bitsize="256" type="v2ui128"/>
-  <reg name="zmm10h" bitsize="256" type="v2ui128/>
-  <reg name="zmm11h" bitsize="256" type="v2ui128/>
-  <reg name="zmm12h" bitsize="256" type="v2ui128/>
-  <reg name="zmm13h" bitsize="256" type="v2ui128/>
-  <reg name="zmm14h" bitsize="256" type="v2ui128/>
+  <reg name="zmm10h" bitsize="256" type="v2ui128"/>
+  <reg name="zmm11h" bitsize="256" type="v2ui128"/>
+  <reg name="zmm12h" bitsize="256" type="v2ui128"/>
+  <reg name="zmm13h" bitsize="256" type="v2ui128"/>
+  <reg name="zmm14h" bitsize="256" type="v2ui128"/>
   <reg name="zmm15h" bitsize="256" type="v2ui128"/>
   <reg name="zmm16h" bitsize="256" type="v2ui128"/>
   <reg name="zmm17h" bitsize="256" type="v2ui128"/>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-avx.xml ./gdb/features/i386/64bit-avx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-avx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/64bit-avx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-core.xml ./gdb/features/i386/64bit-core.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-core.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/64bit-core.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-linux.xml ./gdb/features/i386/64bit-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/64bit-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-mpx.xml ./gdb/features/i386/64bit-mpx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-mpx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/64bit-mpx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-sse.xml ./gdb/features/i386/64bit-sse.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/64bit-sse.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/64bit-sse.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx512.c ./gdb/features/i386/amd64-avx512.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx512.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64-avx512.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,5 @@
-/* THIS FILE IS GENERATED.  Original: amd64-avx512.xml */
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: amd64-avx512.xml */
 
 #include "defs.h"
 #include "osabi.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx512-linux.c ./gdb/features/i386/amd64-avx512-linux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx512-linux.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64-avx512-linux.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,5 @@
-/* THIS FILE IS GENERATED.  Original: amd64-avx512-linux.xml */
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: amd64-avx512-linux.xml */
 
 #include "defs.h"
 #include "osabi.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx512-linux.xml ./gdb/features/i386/amd64-avx512-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx512-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64-avx512-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx512.xml ./gdb/features/i386/amd64-avx512.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx512.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64-avx512.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx-linux.xml ./gdb/features/i386/amd64-avx-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64-avx-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx.xml ./gdb/features/i386/amd64-avx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-avx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64-avx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-linux.xml ./gdb/features/i386/amd64-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-mpx-linux.xml ./gdb/features/i386/amd64-mpx-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-mpx-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64-mpx-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-mpx.xml ./gdb/features/i386/amd64-mpx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64-mpx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64-mpx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64.xml ./gdb/features/i386/amd64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/amd64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/amd64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-avx512-linux.xml ./gdb/features/i386/i386-avx512-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-avx512-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386-avx512-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-avx512.xml ./gdb/features/i386/i386-avx512.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-avx512.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386-avx512.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-avx-linux.xml ./gdb/features/i386/i386-avx-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-avx-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386-avx-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-avx.xml ./gdb/features/i386/i386-avx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-avx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386-avx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-linux.xml ./gdb/features/i386/i386-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-mmx-linux.xml ./gdb/features/i386/i386-mmx-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-mmx-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386-mmx-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-mmx.xml ./gdb/features/i386/i386-mmx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-mmx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386-mmx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-mpx-linux.xml ./gdb/features/i386/i386-mpx-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-mpx-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386-mpx-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-mpx.xml ./gdb/features/i386/i386-mpx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386-mpx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386-mpx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386.xml ./gdb/features/i386/i386.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/i386.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/i386.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx512.c ./gdb/features/i386/x32-avx512.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx512.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/x32-avx512.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,5 @@
-/* THIS FILE IS GENERATED.  Original: x32-avx512.xml */
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: x32-avx512.xml */
 
 #include "defs.h"
 #include "osabi.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx512-linux.c ./gdb/features/i386/x32-avx512-linux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx512-linux.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/x32-avx512-linux.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,5 @@
-/* THIS FILE IS GENERATED.  Original: x32-avx512-linux.xml */
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: x32-avx512-linux.xml */
 
 #include "defs.h"
 #include "osabi.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx512-linux.xml ./gdb/features/i386/x32-avx512-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx512-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/x32-avx512-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx512.xml ./gdb/features/i386/x32-avx512.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx512.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/x32-avx512.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx-linux.xml ./gdb/features/i386/x32-avx-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/x32-avx-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx.xml ./gdb/features/i386/x32-avx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-avx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/x32-avx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-core.xml ./gdb/features/i386/x32-core.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-core.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/x32-core.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-linux.xml ./gdb/features/i386/x32-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/x32-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32.xml ./gdb/features/i386/x32.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/i386/x32.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/i386/x32.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/library-list-aix.dtd ./gdb/features/library-list-aix.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/library-list-aix.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/library-list-aix.dtd	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/library-list.dtd ./gdb/features/library-list.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/library-list.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/library-list.dtd	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/library-list-svr4.dtd ./gdb/features/library-list-svr4.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/library-list-svr4.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/library-list-svr4.dtd	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/Makefile ./gdb/features/Makefile
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/Makefile	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/Makefile	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
@@ -25,14 +25,26 @@
 # GDB repository.
 
 # It can also update the C files in the features directory from their
-# XML master copies.  This relies on a GDB linked with expat and
-# configured for the correct architecture, so the files are again kept
-# in the GDB repository.  To generate C files:
+# XML master copies.  This relies on a GDB linked with expat and that
+# is configured to include support for the architecture, so the files
+# are kept in the GDB repository.
+#
+# By default we'll generate all C files, and you must point make at a
+# GDB that has been configured with --enable-targets=all:
+#
+#   make GDB=/path/to/gdb cfiles
+#
+# To regenerate all C files from scratch:
+#
+#   make GDB=/path/to/gdb clean-cfiles cfiles
+#
+# To generate specific C files, you can override the XMLTOC make
+# variable:
+#
 #   make GDB=/path/to/gdb XMLTOC="xml files" cfiles
 
 WHICH = aarch64 \
 	arm-with-iwmmxt arm-with-vfpv2 arm-with-vfpv3 arm-with-neon \
-	arm-with-m arm-with-m-fpa-layout arm-with-m-vfp-d16 \
 	i386/i386 i386/i386-linux \
 	i386/i386-mmx i386/i386-mmx-linux \
 	i386/amd64 i386/amd64-linux \
@@ -46,6 +58,7 @@ WHICH = aarch64 \
 	i386/x32-avx i386/x32-avx-linux \
 	i386/x32-avx512 i386/x32-avx512-linux \
 	mips-linux mips-dsp-linux \
+	microblaze-with-stack-protect \
 	mips64-linux mips64-dsp-linux \
 	nios2-linux \
 	rs6000/powerpc-32 \
@@ -90,6 +103,7 @@ mips-expedite = r29,pc
 mips-dsp-expedite = r29,pc
 mips64-expedite = r29,pc
 mips64-dsp-expedite = r29,pc
+microblaze-expedite = r1,rpc
 nios2-linux-expedite = sp,pc
 powerpc-expedite = r1,pc
 rs6000/powerpc-cell32l-expedite = r1,pc,r0,orig_r3,r4
@@ -100,7 +114,7 @@ s390-linux32v2-expedite = r14,r15,pswa
 s390-linux64-expedite = r14l,r15l,pswa
 s390-linux64v1-expedite = r14l,r15l,pswa
 s390-linux64v2-expedite = r14l,r15l,pswa
-s390-te-linux64-expedite = r14,r15,pswa
+s390-te-linux64-expedite = r14l,r15l,pswa
 s390x-linux64-expedite = r14,r15,pswa
 s390x-linux64v1-expedite = r14,r15,pswa
 s390x-linux64v2-expedite = r14,r15,pswa
@@ -117,14 +131,111 @@ XSLTPROC = xsltproc
 outdir = ../regformats
 OUTPUTS = $(patsubst %,$(outdir)/%.dat,$(WHICH))
 
-XMLTOC =
+# The set of xml files we'll generate .c files for GDB from.  By
+# default we'll build all .c files, which requires an
+# --enable-targets=all GDB.  You can override this by passing XMLTOC
+# to make on the command line.
+XMLTOC = \
+	aarch64.xml \
+	arm-with-iwmmxt.xml \
+	arm-with-m-fpa-layout.xml \
+	arm-with-m-vfp-d16.xml \
+	arm-with-m.xml \
+	arm-with-neon.xml \
+	arm-with-vfpv2.xml \
+	arm-with-vfpv3.xml \
+	i386/amd64-avx-linux.xml \
+	i386/amd64-avx.xml \
+	i386/amd64-avx512-linux.xml \
+	i386/amd64-avx512.xml \
+	i386/amd64-linux.xml \
+	i386/amd64-mpx-linux.xml \
+	i386/amd64-mpx.xml \
+	i386/amd64.xml \
+	i386/i386-avx-linux.xml \
+	i386/i386-avx.xml \
+	i386/i386-avx512-linux.xml \
+	i386/i386-avx512.xml \
+	i386/i386-linux.xml \
+	i386/i386-mmx-linux.xml \
+	i386/i386-mmx.xml \
+	i386/i386-mpx-linux.xml \
+	i386/i386-mpx.xml \
+	i386/i386.xml \
+	i386/x32-avx-linux.xml \
+	i386/x32-avx.xml \
+	i386/x32-avx512-linux.xml \
+	i386/x32-avx512.xml \
+	i386/x32-linux.xml \
+	i386/x32.xml \
+	microblaze-with-stack-protect.xml \
+	microblaze.xml \
+	mips-dsp-linux.xml \
+	mips-linux.xml \
+	mips64-dsp-linux.xml \
+	mips64-linux.xml \
+	nios2-linux.xml \
+	nios2.xml \
+	rs6000/powerpc-32.xml \
+	rs6000/powerpc-32l.xml \
+	rs6000/powerpc-403.xml \
+	rs6000/powerpc-403gc.xml \
+	rs6000/powerpc-405.xml \
+	rs6000/powerpc-505.xml \
+	rs6000/powerpc-601.xml \
+	rs6000/powerpc-602.xml \
+	rs6000/powerpc-603.xml \
+	rs6000/powerpc-604.xml \
+	rs6000/powerpc-64.xml \
+	rs6000/powerpc-64l.xml \
+	rs6000/powerpc-7400.xml \
+	rs6000/powerpc-750.xml \
+	rs6000/powerpc-860.xml \
+	rs6000/powerpc-altivec32.xml \
+	rs6000/powerpc-altivec32l.xml \
+	rs6000/powerpc-altivec64.xml \
+	rs6000/powerpc-altivec64l.xml \
+	rs6000/powerpc-cell32l.xml \
+	rs6000/powerpc-cell64l.xml \
+	rs6000/powerpc-e500.xml \
+	rs6000/powerpc-e500l.xml \
+	rs6000/powerpc-isa205-32l.xml \
+	rs6000/powerpc-isa205-64l.xml \
+	rs6000/powerpc-isa205-altivec32l.xml \
+	rs6000/powerpc-isa205-altivec64l.xml \
+	rs6000/powerpc-isa205-vsx32l.xml \
+	rs6000/powerpc-isa205-vsx64l.xml \
+	rs6000/powerpc-vsx32.xml \
+	rs6000/powerpc-vsx32l.xml \
+	rs6000/powerpc-vsx64.xml \
+	rs6000/powerpc-vsx64l.xml \
+	rs6000/rs6000.xml \
+	s390-linux32.xml \
+	s390-linux32v1.xml \
+	s390-linux32v2.xml \
+	s390-linux64.xml \
+	s390-linux64v1.xml \
+	s390-linux64v2.xml \
+	s390-te-linux64.xml \
+	s390x-linux64.xml \
+	s390x-linux64v1.xml \
+	s390x-linux64v2.xml \
+	s390x-te-linux64.xml \
+	tic6x-c62x-linux.xml \
+	tic6x-c62x.xml \
+	tic6x-c64x-linux.xml \
+	tic6x-c64x.xml \
+	tic6x-c64xp-linux.xml \
+	tic6x-c64xp.xml
+
 CFILES = $(patsubst %.xml,%.c,$(XMLTOC))
 GDB = false
 
 all: $(OUTPUTS)
 
 $(outdir)/%.dat: %.xml number-regs.xsl sort-regs.xsl gdbserver-regs.xsl
-	echo "# DO NOT EDIT: generated from $<" > $(outdir)/$*.tmp
+	echo "# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:" > $(outdir)/$*.tmp
+	echo "# Generated from: $<" >> $(outdir)/$*.tmp
 	echo "name:`echo $(notdir $*) | sed 's/-/_/g'`" >> $(outdir)/$*.tmp
 	echo "xmltarget:$(<F)" >> $(outdir)/$*.tmp
 	echo "expedite:$(if $($*-expedite),$($*-expedite),$($(firstword $(subst -, ,$(notdir $*)))-expedite))" \
@@ -183,3 +294,11 @@ cfiles: $(CFILES)
 			       i386/64bit-mpx.xml i386/64bit-avx512.xml
 $(outdir)/i386/x32-avx512-linux.dat: i386/x32-core.xml i386/64bit-avx.xml \
 			       i386/64bit-mpx.xml i386/64bit-avx512.xml i386/64bit-linux.xml
+
+# 'all' doesn't build the C files, so don't delete them in 'clean'
+# either.
+clean-cfiles:
+	rm -f $(CFILES)
+
+clean:
+	rm -f $(OUTPUTS)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze.c ./gdb/features/microblaze.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/features/microblaze.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,75 @@
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: microblaze.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_microblaze;
+static void
+initialize_tdesc_microblaze (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rear", 34, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rfsr", 36, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rbtr", 37, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr0", 38, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr1", 39, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr2", 40, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr3", 41, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr4", 42, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr5", 43, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr6", 44, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr7", 45, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr8", 46, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr9", 47, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr10", 48, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr11", 49, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "redr", 50, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpid", 51, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rzpr", 52, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rtlbx", 53, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
+
+  tdesc_microblaze = result;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze-core.xml ./gdb/features/microblaze-core.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze-core.xml	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/features/microblaze-core.xml	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.microblaze.core">
+  <reg name="r0" bitsize="32" regnum="0"/>
+  <reg name="r1" bitsize="32" type="data_ptr"/>
+  <reg name="r2" bitsize="32"/>
+  <reg name="r3" bitsize="32"/>
+  <reg name="r4" bitsize="32"/>
+  <reg name="r5" bitsize="32"/>
+  <reg name="r6" bitsize="32"/>
+  <reg name="r7" bitsize="32"/>
+  <reg name="r8" bitsize="32"/>
+  <reg name="r9" bitsize="32"/>
+  <reg name="r10" bitsize="32"/>
+  <reg name="r11" bitsize="32"/>
+  <reg name="r12" bitsize="32"/>
+  <reg name="r13" bitsize="32"/>
+  <reg name="r14" bitsize="32"/>
+  <reg name="r15" bitsize="32"/>
+  <reg name="r16" bitsize="32"/>
+  <reg name="r17" bitsize="32"/>
+  <reg name="r18" bitsize="32"/>
+  <reg name="r19" bitsize="32"/>
+  <reg name="r20" bitsize="32"/>
+  <reg name="r21" bitsize="32"/>
+  <reg name="r22" bitsize="32"/>
+  <reg name="r23" bitsize="32"/>
+  <reg name="r24" bitsize="32"/>
+  <reg name="r25" bitsize="32"/>
+  <reg name="r26" bitsize="32"/>
+  <reg name="r27" bitsize="32"/>
+  <reg name="r28" bitsize="32"/>
+  <reg name="r29" bitsize="32"/>
+  <reg name="r30" bitsize="32"/>
+  <reg name="r31" bitsize="32"/>
+  <reg name="rpc" bitsize="32" type="code_ptr"/>
+  <reg name="rmsr" bitsize="32"/>
+  <reg name="rear" bitsize="32"/>
+  <reg name="resr" bitsize="32"/>
+  <reg name="rfsr" bitsize="32"/>
+  <reg name="rbtr" bitsize="32"/>
+  <reg name="rpvr0" bitsize="32"/>
+  <reg name="rpvr1" bitsize="32"/>
+  <reg name="rpvr2" bitsize="32"/>
+  <reg name="rpvr3" bitsize="32"/>
+  <reg name="rpvr4" bitsize="32"/>
+  <reg name="rpvr5" bitsize="32"/>
+  <reg name="rpvr6" bitsize="32"/>
+  <reg name="rpvr7" bitsize="32"/>
+  <reg name="rpvr8" bitsize="32"/>
+  <reg name="rpvr9" bitsize="32"/>
+  <reg name="rpvr10" bitsize="32"/>
+  <reg name="rpvr11" bitsize="32"/>
+  <reg name="redr" bitsize="32"/>
+  <reg name="rpid" bitsize="32"/>
+  <reg name="rzpr" bitsize="32"/>
+  <reg name="rtlbx" bitsize="32"/>
+  <reg name="rtlbsx" bitsize="32"/>
+  <reg name="rtlblo" bitsize="32"/>
+  <reg name="rtlbhi" bitsize="32"/>
+</feature>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze-stack-protect.xml ./gdb/features/microblaze-stack-protect.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze-stack-protect.xml	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/features/microblaze-stack-protect.xml	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.microblaze.stack-protect">
+  <reg name="rslr" bitsize="32"/>
+  <reg name="rshr" bitsize="32"/>
+</feature>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze-with-stack-protect.c ./gdb/features/microblaze-with-stack-protect.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze-with-stack-protect.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/features/microblaze-with-stack-protect.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,79 @@
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: microblaze-with-stack-protect.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_microblaze_with_stack_protect;
+static void
+initialize_tdesc_microblaze_with_stack_protect (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rear", 34, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rfsr", 36, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rbtr", 37, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr0", 38, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr1", 39, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr2", 40, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr3", 41, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr4", 42, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr5", 43, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr6", 44, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr7", 45, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr8", 46, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr9", 47, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr10", 48, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpvr11", 49, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "redr", 50, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rpid", 51, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rzpr", 52, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rtlbx", 53, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.microblaze.stack-protect");
+  tdesc_create_reg (feature, "rslr", 57, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "rshr", 58, 1, NULL, 32, "int");
+
+  tdesc_microblaze_with_stack_protect = result;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze-with-stack-protect.xml ./gdb/features/microblaze-with-stack-protect.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze-with-stack-protect.xml	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/features/microblaze-with-stack-protect.xml	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <xi:include href="microblaze-core.xml"/>
+  <xi:include href="microblaze-stack-protect.xml"/>
+</target>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze.xml ./gdb/features/microblaze.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/microblaze.xml	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/features/microblaze.xml	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <xi:include href="microblaze-core.xml"/>
+</target>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-cp0.xml ./gdb/features/mips64-cp0.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-cp0.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips64-cp0.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-cpu.xml ./gdb/features/mips64-cpu.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-cpu.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips64-cpu.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-dsp-linux.xml ./gdb/features/mips64-dsp-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-dsp-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips64-dsp-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-dsp.xml ./gdb/features/mips64-dsp.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-dsp.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips64-dsp.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-fpu.xml ./gdb/features/mips64-fpu.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-fpu.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips64-fpu.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-linux.xml ./gdb/features/mips64-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips64-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips64-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-cp0.xml ./gdb/features/mips-cp0.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-cp0.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips-cp0.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-cpu.xml ./gdb/features/mips-cpu.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-cpu.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips-cpu.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-dsp-linux.xml ./gdb/features/mips-dsp-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-dsp-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips-dsp-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-dsp.xml ./gdb/features/mips-dsp.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-dsp.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips-dsp.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-fpu.xml ./gdb/features/mips-fpu.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-fpu.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips-fpu.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-linux.xml ./gdb/features/mips-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/mips-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/mips-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/nios2-cpu.xml ./gdb/features/nios2-cpu.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/nios2-cpu.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/nios2-cpu.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/nios2-linux.xml ./gdb/features/nios2-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/nios2-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/nios2-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/nios2.xml ./gdb/features/nios2.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/nios2.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/nios2.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/osdata.dtd ./gdb/features/osdata.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/osdata.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/osdata.dtd	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power64-core.xml ./gdb/features/rs6000/power64-core.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power64-core.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power64-core.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power64-linux.xml ./gdb/features/rs6000/power64-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power64-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power64-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-altivec.xml ./gdb/features/rs6000/power-altivec.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-altivec.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power-altivec.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-core.xml ./gdb/features/rs6000/power-core.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-core.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power-core.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-fpu-isa205.xml ./gdb/features/rs6000/power-fpu-isa205.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-fpu-isa205.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power-fpu-isa205.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-fpu.xml ./gdb/features/rs6000/power-fpu.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-fpu.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power-fpu.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-linux.xml ./gdb/features/rs6000/power-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-oea.xml ./gdb/features/rs6000/power-oea.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-oea.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power-oea.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-32l.xml ./gdb/features/rs6000/powerpc-32l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-32l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-32l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-32.xml ./gdb/features/rs6000/powerpc-32.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-32.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-32.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-403gc.xml ./gdb/features/rs6000/powerpc-403gc.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-403gc.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-403gc.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-403.xml ./gdb/features/rs6000/powerpc-403.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-403.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-403.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-405.xml ./gdb/features/rs6000/powerpc-405.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-405.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-405.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-505.xml ./gdb/features/rs6000/powerpc-505.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-505.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-505.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-601.xml ./gdb/features/rs6000/powerpc-601.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-601.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-601.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-602.xml ./gdb/features/rs6000/powerpc-602.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-602.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-602.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-603.xml ./gdb/features/rs6000/powerpc-603.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-603.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-603.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-604.xml ./gdb/features/rs6000/powerpc-604.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-604.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-604.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-64l.xml ./gdb/features/rs6000/powerpc-64l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-64l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-64l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-64.xml ./gdb/features/rs6000/powerpc-64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-7400.xml ./gdb/features/rs6000/powerpc-7400.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-7400.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-7400.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-750.xml ./gdb/features/rs6000/powerpc-750.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-750.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-750.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-860.xml ./gdb/features/rs6000/powerpc-860.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-860.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-860.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-altivec32l.xml ./gdb/features/rs6000/powerpc-altivec32l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-altivec32l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-altivec32l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-altivec32.xml ./gdb/features/rs6000/powerpc-altivec32.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-altivec32.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-altivec32.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-altivec64l.xml ./gdb/features/rs6000/powerpc-altivec64l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-altivec64l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-altivec64l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-altivec64.xml ./gdb/features/rs6000/powerpc-altivec64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-altivec64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-altivec64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-cell32l.xml ./gdb/features/rs6000/powerpc-cell32l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-cell32l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-cell32l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-cell64l.xml ./gdb/features/rs6000/powerpc-cell64l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-cell64l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-cell64l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-e500l.xml ./gdb/features/rs6000/powerpc-e500l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-e500l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-e500l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-e500.xml ./gdb/features/rs6000/powerpc-e500.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-e500.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-e500.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-32l.xml ./gdb/features/rs6000/powerpc-isa205-32l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-32l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-isa205-32l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-64l.xml ./gdb/features/rs6000/powerpc-isa205-64l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-64l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-isa205-64l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-altivec32l.xml ./gdb/features/rs6000/powerpc-isa205-altivec32l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-altivec32l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-isa205-altivec32l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-altivec64l.xml ./gdb/features/rs6000/powerpc-isa205-altivec64l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-altivec64l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-isa205-altivec64l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-vsx32l.xml ./gdb/features/rs6000/powerpc-isa205-vsx32l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-vsx32l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-isa205-vsx32l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-vsx64l.xml ./gdb/features/rs6000/powerpc-isa205-vsx64l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-isa205-vsx64l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-isa205-vsx64l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-vsx32l.xml ./gdb/features/rs6000/powerpc-vsx32l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-vsx32l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-vsx32l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-vsx32.xml ./gdb/features/rs6000/powerpc-vsx32.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-vsx32.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-vsx32.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-vsx64l.xml ./gdb/features/rs6000/powerpc-vsx64l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-vsx64l.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-vsx64l.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-vsx64.xml ./gdb/features/rs6000/powerpc-vsx64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/powerpc-vsx64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-vsx64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-spe.xml ./gdb/features/rs6000/power-spe.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-spe.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power-spe.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-vsx.xml ./gdb/features/rs6000/power-vsx.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/power-vsx.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/power-vsx.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/rs6000.xml ./gdb/features/rs6000/rs6000.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/rs6000/rs6000.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/rs6000/rs6000.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-acr.xml ./gdb/features/s390-acr.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-acr.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-acr.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-core32.xml ./gdb/features/s390-core32.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-core32.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-core32.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-core64.xml ./gdb/features/s390-core64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-core64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-core64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-fpr.xml ./gdb/features/s390-fpr.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-fpr.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-fpr.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux32v1.xml ./gdb/features/s390-linux32v1.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux32v1.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-linux32v1.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux32v2.xml ./gdb/features/s390-linux32v2.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux32v2.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-linux32v2.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux32.xml ./gdb/features/s390-linux32.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux32.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-linux32.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux64v1.xml ./gdb/features/s390-linux64v1.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux64v1.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-linux64v1.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux64v2.xml ./gdb/features/s390-linux64v2.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux64v2.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-linux64v2.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux64.xml ./gdb/features/s390-linux64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-linux64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-linux64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-tdb.xml ./gdb/features/s390-tdb.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-tdb.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-tdb.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-te-linux64.xml ./gdb/features/s390-te-linux64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390-te-linux64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390-te-linux64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-core64.xml ./gdb/features/s390x-core64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-core64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390x-core64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-linux64v1.xml ./gdb/features/s390x-linux64v1.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-linux64v1.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390x-linux64v1.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-linux64v2.xml ./gdb/features/s390x-linux64v2.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-linux64v2.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390x-linux64v2.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-linux64.xml ./gdb/features/s390x-linux64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-linux64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390x-linux64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-te-linux64.xml ./gdb/features/s390x-te-linux64.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/s390x-te-linux64.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/s390x-te-linux64.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/threads.dtd ./gdb/features/threads.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/threads.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/threads.dtd	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c62x-linux.xml ./gdb/features/tic6x-c62x-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c62x-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/tic6x-c62x-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c62x.xml ./gdb/features/tic6x-c62x.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c62x.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/tic6x-c62x.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c64x-linux.xml ./gdb/features/tic6x-c64x-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c64x-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/tic6x-c64x-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c64xp-linux.xml ./gdb/features/tic6x-c64xp-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c64xp-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/tic6x-c64xp-linux.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c64xp.xml ./gdb/features/tic6x-c64xp.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c64xp.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/tic6x-c64xp.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c64x.xml ./gdb/features/tic6x-c64x.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c64x.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/tic6x-c64x.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c6xp.xml ./gdb/features/tic6x-c6xp.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-c6xp.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/tic6x-c6xp.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-core.xml ./gdb/features/tic6x-core.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-core.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/tic6x-core.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-gp.xml ./gdb/features/tic6x-gp.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/tic6x-gp.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/tic6x-gp.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/traceframe-info.dtd ./gdb/features/traceframe-info.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/traceframe-info.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/traceframe-info.dtd	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/xinclude.dtd ./gdb/features/xinclude.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/xinclude.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/xinclude.dtd	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/xscale-iwmmxt.xml ./gdb/features/xscale-iwmmxt.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/features/xscale-iwmmxt.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/features/xscale-iwmmxt.xml	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-exp.c ./gdb/f-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-exp.c	2015-01-13 02:06:41.000000000 +0000
+++ ./gdb/f-exp.c	2015-01-20 02:09:34.000000000 +0000
@@ -72,7 +72,6 @@
 
 
 #include "defs.h"
-#include <string.h>
 #include "expression.h"
 #include "value.h"
 #include "parser-defs.h"
@@ -165,7 +164,7 @@ static int match_string_literal (void);
 
 
 /* Line 189 of yacc.c  */
-#line 169 "f-exp.c"
+#line 168 "f-exp.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -280,7 +279,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 143 "f-exp.y"
+#line 142 "f-exp.y"
 
     LONGEST lval;
     struct {
@@ -304,7 +303,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 308 "f-exp.c"
+#line 307 "f-exp.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -315,7 +314,7 @@ typedef union YYSTYPE
 /* Copy the second part of user declarations.  */
 
 /* Line 264 of yacc.c  */
-#line 164 "f-exp.y"
+#line 163 "f-exp.y"
 
 /* YYSTYPE gets defined by %union */
 static int parse_number (struct parser_state *, const char *, int,
@@ -323,7 +322,7 @@ static int parse_number (struct parser_s
 
 
 /* Line 264 of yacc.c  */
-#line 327 "f-exp.c"
+#line 326 "f-exp.c"
 
 #ifdef short
 # undef short
@@ -640,15 +639,15 @@ static const yytype_int8 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   244,   244,   245,   248,   254,   259,   263,   267,   271,
-     275,   279,   289,   288,   299,   302,   306,   310,   316,   322,
-     328,   334,   340,   344,   352,   358,   366,   370,   374,   378,
-     382,   386,   390,   394,   398,   402,   406,   410,   414,   418,
-     422,   426,   430,   434,   439,   443,   447,   453,   460,   471,
-     480,   483,   486,   497,   504,   512,   552,   555,   556,   600,
-     602,   604,   606,   608,   611,   613,   615,   619,   621,   626,
-     628,   630,   632,   634,   636,   638,   640,   642,   644,   646,
-     648,   650,   652,   657,   662,   669,   673
+       0,   243,   243,   244,   247,   253,   258,   262,   266,   270,
+     274,   278,   288,   287,   298,   301,   305,   309,   315,   321,
+     327,   333,   339,   343,   351,   357,   365,   369,   373,   377,
+     381,   385,   389,   393,   397,   401,   405,   409,   413,   417,
+     421,   425,   429,   433,   438,   442,   446,   452,   459,   470,
+     479,   482,   485,   496,   503,   511,   551,   554,   555,   599,
+     601,   603,   605,   607,   610,   612,   614,   618,   620,   625,
+     627,   629,   631,   633,   635,   637,   639,   641,   643,   645,
+     647,   649,   651,   656,   661,   668,   672
 };
 #endif
 
@@ -1722,7 +1721,7 @@ yyreduce:
         case 4:
 
 /* Line 1455 of yacc.c  */
-#line 249 "f-exp.y"
+#line 248 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPE);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].tval));
 			  write_exp_elt_opcode (pstate, OP_TYPE); }
@@ -1731,63 +1730,63 @@ yyreduce:
   case 5:
 
 /* Line 1455 of yacc.c  */
-#line 255 "f-exp.y"
+#line 254 "f-exp.y"
     { }
     break;
 
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 260 "f-exp.y"
+#line 259 "f-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_IND); }
     break;
 
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 264 "f-exp.y"
+#line 263 "f-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ADDR); }
     break;
 
   case 8:
 
 /* Line 1455 of yacc.c  */
-#line 268 "f-exp.y"
+#line 267 "f-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_NEG); }
     break;
 
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 272 "f-exp.y"
+#line 271 "f-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
     break;
 
   case 10:
 
 /* Line 1455 of yacc.c  */
-#line 276 "f-exp.y"
+#line 275 "f-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_COMPLEMENT); }
     break;
 
   case 11:
 
 /* Line 1455 of yacc.c  */
-#line 280 "f-exp.y"
+#line 279 "f-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_SIZEOF); }
     break;
 
   case 12:
 
 /* Line 1455 of yacc.c  */
-#line 289 "f-exp.y"
+#line 288 "f-exp.y"
     { start_arglist (); }
     break;
 
   case 13:
 
 /* Line 1455 of yacc.c  */
-#line 291 "f-exp.y"
+#line 290 "f-exp.y"
     { write_exp_elt_opcode (pstate,
 						OP_F77_UNDETERMINED_ARGLIST);
 			  write_exp_elt_longcst (pstate,
@@ -1799,28 +1798,28 @@ yyreduce:
   case 15:
 
 /* Line 1455 of yacc.c  */
-#line 303 "f-exp.y"
+#line 302 "f-exp.y"
     { arglist_len = 1; }
     break;
 
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 307 "f-exp.y"
+#line 306 "f-exp.y"
     { arglist_len = 1; }
     break;
 
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 311 "f-exp.y"
+#line 310 "f-exp.y"
     { arglist_len++; }
     break;
 
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 317 "f-exp.y"
+#line 316 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_F90_RANGE); 
 			  write_exp_elt_longcst (pstate, NONE_BOUND_DEFAULT);
 			  write_exp_elt_opcode (pstate, OP_F90_RANGE); }
@@ -1829,7 +1828,7 @@ yyreduce:
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 323 "f-exp.y"
+#line 322 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_F90_RANGE);
 			  write_exp_elt_longcst (pstate, HIGH_BOUND_DEFAULT);
 			  write_exp_elt_opcode (pstate, OP_F90_RANGE); }
@@ -1838,7 +1837,7 @@ yyreduce:
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 329 "f-exp.y"
+#line 328 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_F90_RANGE);
 			  write_exp_elt_longcst (pstate, LOW_BOUND_DEFAULT);
 			  write_exp_elt_opcode (pstate, OP_F90_RANGE); }
@@ -1847,7 +1846,7 @@ yyreduce:
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 335 "f-exp.y"
+#line 334 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_F90_RANGE);
 			  write_exp_elt_longcst (pstate, BOTH_BOUND_DEFAULT);
 			  write_exp_elt_opcode (pstate, OP_F90_RANGE); }
@@ -1856,14 +1855,14 @@ yyreduce:
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 341 "f-exp.y"
+#line 340 "f-exp.y"
     { }
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 345 "f-exp.y"
+#line 344 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_COMPLEX);
 			  write_exp_elt_type (pstate,
 					      parse_f_type (pstate)
@@ -1874,7 +1873,7 @@ yyreduce:
   case 24:
 
 /* Line 1455 of yacc.c  */
-#line 353 "f-exp.y"
+#line 352 "f-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAST);
 			  write_exp_elt_type (pstate, (yyvsp[(2) - (4)].tval));
 			  write_exp_elt_opcode (pstate, UNOP_CAST); }
@@ -1883,7 +1882,7 @@ yyreduce:
   case 25:
 
 /* Line 1455 of yacc.c  */
-#line 359 "f-exp.y"
+#line 358 "f-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
                           write_exp_string (pstate, (yyvsp[(3) - (3)].sval));
                           write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
@@ -1892,147 +1891,147 @@ yyreduce:
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 367 "f-exp.y"
+#line 366 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REPEAT); }
     break;
 
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 371 "f-exp.y"
+#line 370 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EXP); }
     break;
 
   case 28:
 
 /* Line 1455 of yacc.c  */
-#line 375 "f-exp.y"
+#line 374 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_MUL); }
     break;
 
   case 29:
 
 /* Line 1455 of yacc.c  */
-#line 379 "f-exp.y"
+#line 378 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_DIV); }
     break;
 
   case 30:
 
 /* Line 1455 of yacc.c  */
-#line 383 "f-exp.y"
+#line 382 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ADD); }
     break;
 
   case 31:
 
 /* Line 1455 of yacc.c  */
-#line 387 "f-exp.y"
+#line 386 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUB); }
     break;
 
   case 32:
 
 /* Line 1455 of yacc.c  */
-#line 391 "f-exp.y"
+#line 390 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LSH); }
     break;
 
   case 33:
 
 /* Line 1455 of yacc.c  */
-#line 395 "f-exp.y"
+#line 394 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_RSH); }
     break;
 
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 399 "f-exp.y"
+#line 398 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EQUAL); }
     break;
 
   case 35:
 
 /* Line 1455 of yacc.c  */
-#line 403 "f-exp.y"
+#line 402 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
     break;
 
   case 36:
 
 /* Line 1455 of yacc.c  */
-#line 407 "f-exp.y"
+#line 406 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LEQ); }
     break;
 
   case 37:
 
 /* Line 1455 of yacc.c  */
-#line 411 "f-exp.y"
+#line 410 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GEQ); }
     break;
 
   case 38:
 
 /* Line 1455 of yacc.c  */
-#line 415 "f-exp.y"
+#line 414 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LESS); }
     break;
 
   case 39:
 
 /* Line 1455 of yacc.c  */
-#line 419 "f-exp.y"
+#line 418 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GTR); }
     break;
 
   case 40:
 
 /* Line 1455 of yacc.c  */
-#line 423 "f-exp.y"
+#line 422 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
     break;
 
   case 41:
 
 /* Line 1455 of yacc.c  */
-#line 427 "f-exp.y"
+#line 426 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
     break;
 
   case 42:
 
 /* Line 1455 of yacc.c  */
-#line 431 "f-exp.y"
+#line 430 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
     break;
 
   case 43:
 
 /* Line 1455 of yacc.c  */
-#line 435 "f-exp.y"
+#line 434 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
     break;
 
   case 44:
 
 /* Line 1455 of yacc.c  */
-#line 440 "f-exp.y"
+#line 439 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
     break;
 
   case 45:
 
 /* Line 1455 of yacc.c  */
-#line 444 "f-exp.y"
+#line 443 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
     break;
 
   case 46:
 
 /* Line 1455 of yacc.c  */
-#line 448 "f-exp.y"
+#line 447 "f-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY);
 			  write_exp_elt_opcode (pstate, (yyvsp[(2) - (3)].opcode));
 			  write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY); }
@@ -2041,7 +2040,7 @@ yyreduce:
   case 47:
 
 /* Line 1455 of yacc.c  */
-#line 454 "f-exp.y"
+#line 453 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val).type);
 			  write_exp_elt_longcst (pstate, (LONGEST) ((yyvsp[(1) - (1)].typed_val).val));
@@ -2051,7 +2050,7 @@ yyreduce:
   case 48:
 
 /* Line 1455 of yacc.c  */
-#line 461 "f-exp.y"
+#line 460 "f-exp.y"
     { YYSTYPE val;
 			  parse_number (pstate, (yyvsp[(1) - (1)].ssym).stoken.ptr,
 					(yyvsp[(1) - (1)].ssym).stoken.length, 0, &val);
@@ -2065,7 +2064,7 @@ yyreduce:
   case 49:
 
 /* Line 1455 of yacc.c  */
-#line 472 "f-exp.y"
+#line 471 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_DOUBLE);
 			  write_exp_elt_type (pstate,
 					      parse_f_type (pstate)
@@ -2077,7 +2076,7 @@ yyreduce:
   case 52:
 
 /* Line 1455 of yacc.c  */
-#line 487 "f-exp.y"
+#line 486 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate,
 					      parse_f_type (pstate)
@@ -2091,7 +2090,7 @@ yyreduce:
   case 53:
 
 /* Line 1455 of yacc.c  */
-#line 498 "f-exp.y"
+#line 497 "f-exp.y"
     { write_exp_elt_opcode (pstate, OP_BOOL);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(1) - (1)].lval));
 			  write_exp_elt_opcode (pstate, OP_BOOL);
@@ -2101,7 +2100,7 @@ yyreduce:
   case 54:
 
 /* Line 1455 of yacc.c  */
-#line 505 "f-exp.y"
+#line 504 "f-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_STRING);
 			  write_exp_string (pstate, (yyvsp[(1) - (1)].sval));
@@ -2112,7 +2111,7 @@ yyreduce:
   case 55:
 
 /* Line 1455 of yacc.c  */
-#line 513 "f-exp.y"
+#line 512 "f-exp.y"
     { struct symbol *sym = (yyvsp[(1) - (1)].ssym).sym;
 
 			  if (sym)
@@ -2154,7 +2153,7 @@ yyreduce:
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 557 "f-exp.y"
+#line 556 "f-exp.y"
     {
 		  /* This is where the interesting stuff happens.  */
 		  int done = 0;
@@ -2201,168 +2200,168 @@ yyreduce:
   case 59:
 
 /* Line 1455 of yacc.c  */
-#line 601 "f-exp.y"
+#line 600 "f-exp.y"
     { push_type (tp_pointer); (yyval.voidval) = 0; }
     break;
 
   case 60:
 
 /* Line 1455 of yacc.c  */
-#line 603 "f-exp.y"
+#line 602 "f-exp.y"
     { push_type (tp_pointer); (yyval.voidval) = (yyvsp[(2) - (2)].voidval); }
     break;
 
   case 61:
 
 /* Line 1455 of yacc.c  */
-#line 605 "f-exp.y"
+#line 604 "f-exp.y"
     { push_type (tp_reference); (yyval.voidval) = 0; }
     break;
 
   case 62:
 
 /* Line 1455 of yacc.c  */
-#line 607 "f-exp.y"
+#line 606 "f-exp.y"
     { push_type (tp_reference); (yyval.voidval) = (yyvsp[(2) - (2)].voidval); }
     break;
 
   case 64:
 
 /* Line 1455 of yacc.c  */
-#line 612 "f-exp.y"
+#line 611 "f-exp.y"
     { (yyval.voidval) = (yyvsp[(2) - (3)].voidval); }
     break;
 
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 614 "f-exp.y"
+#line 613 "f-exp.y"
     { push_type (tp_function); }
     break;
 
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 616 "f-exp.y"
+#line 615 "f-exp.y"
     { push_type (tp_function); }
     break;
 
   case 67:
 
 /* Line 1455 of yacc.c  */
-#line 620 "f-exp.y"
+#line 619 "f-exp.y"
     { (yyval.voidval) = 0; }
     break;
 
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 622 "f-exp.y"
+#line 621 "f-exp.y"
     { xfree ((yyvsp[(2) - (3)].tvec)); (yyval.voidval) = 0; }
     break;
 
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 627 "f-exp.y"
+#line 626 "f-exp.y"
     { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
     break;
 
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 629 "f-exp.y"
+#line 628 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_integer; }
     break;
 
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 631 "f-exp.y"
+#line 630 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_integer_s2; }
     break;
 
   case 72:
 
 /* Line 1455 of yacc.c  */
-#line 633 "f-exp.y"
+#line 632 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_character; }
     break;
 
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 635 "f-exp.y"
+#line 634 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_logical_s8; }
     break;
 
   case 74:
 
 /* Line 1455 of yacc.c  */
-#line 637 "f-exp.y"
+#line 636 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_logical; }
     break;
 
   case 75:
 
 /* Line 1455 of yacc.c  */
-#line 639 "f-exp.y"
+#line 638 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_logical_s2; }
     break;
 
   case 76:
 
 /* Line 1455 of yacc.c  */
-#line 641 "f-exp.y"
+#line 640 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_logical_s1; }
     break;
 
   case 77:
 
 /* Line 1455 of yacc.c  */
-#line 643 "f-exp.y"
+#line 642 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_real; }
     break;
 
   case 78:
 
 /* Line 1455 of yacc.c  */
-#line 645 "f-exp.y"
+#line 644 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_real_s8; }
     break;
 
   case 79:
 
 /* Line 1455 of yacc.c  */
-#line 647 "f-exp.y"
+#line 646 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_real_s16; }
     break;
 
   case 80:
 
 /* Line 1455 of yacc.c  */
-#line 649 "f-exp.y"
+#line 648 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_complex_s8; }
     break;
 
   case 81:
 
 /* Line 1455 of yacc.c  */
-#line 651 "f-exp.y"
+#line 650 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_complex_s16; }
     break;
 
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 653 "f-exp.y"
+#line 652 "f-exp.y"
     { (yyval.tval) = parse_f_type (pstate)->builtin_complex_s32; }
     break;
 
   case 83:
 
 /* Line 1455 of yacc.c  */
-#line 658 "f-exp.y"
+#line 657 "f-exp.y"
     { (yyval.tvec) = (struct type **) xmalloc (sizeof (struct type *) * 2);
 		  (yyval.ivec)[0] = 1;	/* Number of types in vector */
 		  (yyval.tvec)[1] = (yyvsp[(1) - (1)].tval);
@@ -2372,7 +2371,7 @@ yyreduce:
   case 84:
 
 /* Line 1455 of yacc.c  */
-#line 663 "f-exp.y"
+#line 662 "f-exp.y"
     { int len = sizeof (struct type *) * (++((yyvsp[(1) - (3)].ivec)[0]) + 1);
 		  (yyval.tvec) = (struct type **) xrealloc ((char *) (yyvsp[(1) - (3)].tvec), len);
 		  (yyval.tvec)[(yyval.ivec)[0]] = (yyvsp[(3) - (3)].tval);
@@ -2382,14 +2381,14 @@ yyreduce:
   case 85:
 
 /* Line 1455 of yacc.c  */
-#line 670 "f-exp.y"
+#line 669 "f-exp.y"
     {  (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 2394 "f-exp.c"
+#line 2393 "f-exp.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2601,7 +2600,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 683 "f-exp.y"
+#line 682 "f-exp.y"
 
 
 /* Take care of parsing a number (anything that starts with a digit).
@@ -3153,8 +3152,8 @@ yylex (void)
       }
 
     yylval.tsym.type
-      = language_lookup_primitive_type_by_name (parse_language (pstate),
-						parse_gdbarch (pstate), tmp);
+      = language_lookup_primitive_type (parse_language (pstate),
+					parse_gdbarch (pstate), tmp);
     if (yylval.tsym.type != NULL)
       return TYPENAME;
     
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-exp.y ./gdb/f-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-exp.y	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/f-exp.y	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 
 /* YACC parser for Fortran expressions, for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    Contributed by Motorola.  Adapted from the C parser by Farooq Butt
    (fmbutt@engage.sps.mot.com).
@@ -43,7 +43,6 @@
 %{
 
 #include "defs.h"
-#include <string.h>
 #include "expression.h"
 #include "value.h"
 #include "parser-defs.h"
@@ -1231,8 +1230,8 @@ yylex (void)
       }
 
     yylval.tsym.type
-      = language_lookup_primitive_type_by_name (parse_language (pstate),
-						parse_gdbarch (pstate), tmp);
+      = language_lookup_primitive_type (parse_language (pstate),
+					parse_gdbarch (pstate), tmp);
     if (yylval.tsym.type != NULL)
       return TYPENAME;
     
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/filesystem.c ./gdb/filesystem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/filesystem.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/filesystem.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle different target file systems for GDB, the GNU Debugger.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/filesystem.h ./gdb/filesystem.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/filesystem.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/filesystem.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Handle different target file systems for GDB, the GNU Debugger.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/findcmd.c ./gdb/findcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/findcmd.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/findcmd.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* The find command.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 #include "defs.h"
 #include "arch-utils.h"
 #include <ctype.h>
-#include <string.h>
 #include "gdbcmd.h"
 #include "value.h"
 #include "target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/findvar.c ./gdb/findvar.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/findvar.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/findvar.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Find a variable's value in memory, for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,8 +25,6 @@
 #include "gdbcore.h"
 #include "inferior.h"
 #include "target.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "floatformat.h"
 #include "symfile.h"		/* for overlay functions */
 #include "regcache.h"
@@ -457,7 +455,7 @@ default_read_var_value (struct symbol *v
 	{
 	  CORE_ADDR addr
 	    = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var),
-					SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (var),
+					SYMBOL_OBJ_SECTION (symbol_objfile (var),
 							    var));
 
 	  store_typed_address (value_contents_raw (v), type, addr);
@@ -483,7 +481,7 @@ default_read_var_value (struct symbol *v
     case LOC_STATIC:
       if (overlay_debugging)
 	addr = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var),
-					 SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (var),
+					 SYMBOL_OBJ_SECTION (symbol_objfile (var),
 							     var));
       else
 	addr = SYMBOL_VALUE_ADDRESS (var);
@@ -525,8 +523,8 @@ default_read_var_value (struct symbol *v
     case LOC_BLOCK:
       if (overlay_debugging)
 	addr = symbol_overlayed_address
-	  (BLOCK_START (SYMBOL_BLOCK_VALUE (var)), SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (var),
-								       var));
+	  (BLOCK_START (SYMBOL_BLOCK_VALUE (var)),
+	   SYMBOL_OBJ_SECTION (symbol_objfile (var), var));
       else
 	addr = BLOCK_START (SYMBOL_BLOCK_VALUE (var));
       break;
@@ -575,9 +573,9 @@ default_read_var_value (struct symbol *v
 	lookup_data.name = SYMBOL_LINKAGE_NAME (var);
 
 	gdbarch_iterate_over_objfiles_in_search_order
-	  (get_objfile_arch (SYMBOL_SYMTAB (var)->objfile),
+	  (symbol_arch (var),
 	   minsym_lookup_iterator_cb, &lookup_data,
-	   SYMBOL_SYMTAB (var)->objfile);
+	   symbol_objfile (var));
 	msym = lookup_data.result.minsym;
 
 	if (msym == NULL)
@@ -681,12 +679,6 @@ read_frame_register_value (struct value 
       struct value *regval = get_frame_register_value (frame, regnum);
       int reg_len = TYPE_LENGTH (value_type (regval)) - reg_offset;
 
-      if (value_optimized_out (regval))
-	{
-	  set_value_optimized_out (value, 1);
-	  break;
-	}
-
       /* If the register length is larger than the number of bytes
          remaining to copy, then only copy the appropriate bytes.  */
       if (reg_len > len)
@@ -732,7 +724,7 @@ value_from_register (struct type *type, 
       if (!ok)
 	{
 	  if (optim)
-	    set_value_optimized_out (v, 1);
+	    mark_value_bytes_optimized_out (v, 0, TYPE_LENGTH (type));
 	  if (unavail)
 	    mark_value_bytes_unavailable (v, 0, TYPE_LENGTH (type));
 	}
@@ -766,11 +758,28 @@ address_from_register (int regnum, struc
      would therefore abort in get_frame_id.  However, since we only need
      a temporary value that is never used as lvalue, we actually do not
      really need to set its VALUE_FRAME_ID.  Therefore, we re-implement
-     the core of value_from_register, but use the null_frame_id.
+     the core of value_from_register, but use the null_frame_id.  */
+
+  /* Some targets require a special conversion routine even for plain
+     pointer types.  Avoid constructing a value object in those cases.  */
+  if (gdbarch_convert_register_p (gdbarch, regnum, type))
+    {
+      gdb_byte *buf = alloca (TYPE_LENGTH (type));
+      int optim, unavail, ok;
 
-     This works only if we do not require a special conversion routine,
-     which is true for plain pointer types for all current targets.  */
-  gdb_assert (!gdbarch_convert_register_p (gdbarch, regnum, type));
+      ok = gdbarch_register_to_value (gdbarch, frame, regnum, type,
+				      buf, &optim, &unavail);
+      if (!ok)
+	{
+	  /* This function is used while computing a location expression.
+	     Complain about the value being optimized out, rather than
+	     letting value_as_address complain about some random register
+	     the expression depends on not being saved.  */
+	  error_value_optimized_out ();
+	}
+
+      return unpack_long (type, buf);
+    }
 
   value = gdbarch_value_from_register (gdbarch, type, regnum, null_frame_id);
   read_frame_register_value (value, frame);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-lang.c ./gdb/f-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/f-lang.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Fortran language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Contributed by Motorola.  Adapted from the C parser by Farooq Butt
    (fmbutt@engage.sps.mot.com).
@@ -21,7 +21,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "expression.h"
@@ -276,6 +275,8 @@ const struct language_defn f_language_de
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-lang.h ./gdb/f-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-lang.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/f-lang.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Fortran language support definitions for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    Contributed by Motorola.  Adapted from the C definitions by Farooq Butt
    (fmbutt@engage.sps.mot.com).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fork-child.c ./gdb/fork-child.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/fork-child.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/fork-child.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Fork a Unix child process, and set up to debug it, for GDB.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
@@ -20,7 +20,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "inferior.h"
 #include "terminal.h"
 #include "target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame-base.c ./gdb/frame-base.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame-base.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/frame-base.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for frame address handler, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame-base.h ./gdb/frame-base.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame-base.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/frame-base.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for a frame base, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame.c ./gdb/frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/frame.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Cache and manage frames for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,8 +23,6 @@
 #include "value.h"
 #include "inferior.h"	/* for inferior_ptid */
 #include "regcache.h"
-#include "gdb_assert.h"
-#include <string.h>
 #include "user-regs.h"
 #include "gdb_obstack.h"
 #include "dummy-frame.h"
@@ -38,7 +36,6 @@
 #include "gdbcmd.h"
 #include "observer.h"
 #include "objfiles.h"
-#include "exceptions.h"
 #include "gdbthread.h"
 #include "block.h"
 #include "inline-frame.h"
@@ -617,7 +614,7 @@ frame_id_eq (struct frame_id l, struct f
        outer_frame_id.  */
     eq = 1;
   else if (l.stack_status == FID_STACK_INVALID
-	   || l.stack_status == FID_STACK_INVALID)
+	   || r.stack_status == FID_STACK_INVALID)
     /* Like a NaN, if either ID is invalid, the result is false.
        Note that a frame ID is invalid iff it is the null frame ID.  */
     eq = 0;
@@ -699,7 +696,7 @@ frame_id_inner (struct gdbarch *gdbarch,
 	   && l.special_addr == r.special_addr)
     {
       /* Same function, different inlined functions.  */
-      struct block *lb, *rb;
+      const struct block *lb, *rb;
 
       gdb_assert (l.code_addr_p && r.code_addr_p);
 
@@ -960,7 +957,7 @@ frame_pop (struct frame_info *this_frame
     {
       /* Popping a dummy frame involves restoring more than just registers.
 	 dummy_frame_pop does all the work.  */
-      dummy_frame_pop (get_frame_id (this_frame));
+      dummy_frame_pop (get_frame_id (this_frame), inferior_ptid);
       return;
     }
 
@@ -1603,13 +1600,13 @@ select_frame (struct frame_info *fi)
 	 block.  */
       if (get_frame_address_in_block_if_available (fi, &pc))
 	{
-	  struct symtab *s = find_pc_symtab (pc);
+	  struct compunit_symtab *cust = find_pc_compunit_symtab (pc);
 
-	  if (s
-	      && s->language != current_language->la_language
-	      && s->language != language_unknown
+	  if (cust != NULL
+	      && compunit_language (cust) != current_language->la_language
+	      && compunit_language (cust) != language_unknown
 	      && language_mode == language_mode_auto)
-	    set_language (s->language);
+	    set_language (compunit_language (cust));
 	}
     }
 }
@@ -2349,7 +2346,7 @@ find_frame_sal (struct frame_info *frame
       init_sal (sal);
       if (SYMBOL_LINE (sym) != 0)
 	{
-	  sal->symtab = SYMBOL_SYMTAB (sym);
+	  sal->symtab = symbol_symtab (sym);
 	  sal->line = SYMBOL_LINE (sym);
 	}
       else
@@ -2707,7 +2704,8 @@ static struct cmd_list_element *show_bac
 static void
 set_backtrace_cmd (char *args, int from_tty)
 {
-  help_list (set_backtrace_cmdlist, "set backtrace ", -1, gdb_stdout);
+  help_list (set_backtrace_cmdlist, "set backtrace ", all_commands,
+	     gdb_stdout);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame.h ./gdb/frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/frame.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for dealing with stack frames, for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -665,8 +665,8 @@ extern void *frame_obstack_zalloc (unsig
 /* Create a regcache, and copy the frame's registers into it.  */
 struct regcache *frame_save_as_regcache (struct frame_info *this_frame);
 
-extern struct block *get_frame_block (struct frame_info *,
-                                      CORE_ADDR *addr_in_block);
+extern const struct block *get_frame_block (struct frame_info *,
+					    CORE_ADDR *addr_in_block);
 
 /* Return the `struct block' that belongs to the selected thread's
    selected frame.  If the inferior has no state, return NULL.
@@ -694,7 +694,7 @@ extern struct block *get_frame_block (st
    it occurs in the CLI code and makes it possible for commands to
    work, even when the inferior has no state.  */
 
-extern struct block *get_selected_block (CORE_ADDR *addr_in_block);
+extern const struct block *get_selected_block (CORE_ADDR *addr_in_block);
 
 extern struct symbol *get_frame_function (struct frame_info *);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame-unwind.c ./gdb/frame-unwind.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame-unwind.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/frame-unwind.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for frame unwinder, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,8 +24,6 @@
 #include "inline-frame.h"
 #include "value.h"
 #include "regcache.h"
-#include "exceptions.h"
-#include "gdb_assert.h"
 #include "gdb_obstack.h"
 #include "target.h"
 
@@ -203,7 +201,7 @@ frame_unwind_got_optimized (struct frame
      "<not saved>".  */
   val = allocate_value_lazy (type);
   set_value_lazy (val, 0);
-  set_value_optimized_out (val, 1);
+  mark_value_bytes_optimized_out (val, 0, TYPE_LENGTH (type));
   VALUE_LVAL (val) = lval_register;
   VALUE_REGNUM (val) = regnum;
   VALUE_FRAME_ID (val) = get_frame_id (frame);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame-unwind.h ./gdb/frame-unwind.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frame-unwind.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/frame-unwind.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for a frame unwinder, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frv-linux-tdep.c ./gdb/frv-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frv-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/frv-linux-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* Target-dependent code for GNU/Linux running on the Fujitsu FR-V,
    for GDB.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,7 +30,6 @@
 #include "trad-frame.h"
 #include "frame-unwind.h"
 #include "regset.h"
-#include <string.h>
 #include "linux-tdep.h"
 
 /* Define the size (in bytes) of an FR-V instruction.  */
@@ -360,37 +359,52 @@ typedef struct
   frv_elf_fpreg_t fsr[1];
 } frv_elf_fpregset_t;
 
-/* Constants for accessing elements of frv_elf_gregset_t.  */
-
-#define FRV_PT_PSR 0
-#define	FRV_PT_ISR 1
-#define FRV_PT_CCR 2
-#define FRV_PT_CCCR 3
-#define FRV_PT_LR 4
-#define FRV_PT_LCR 5
-#define FRV_PT_PC 6
-#define FRV_PT_GNER0 10
-#define FRV_PT_GNER1 11
-#define FRV_PT_IACC0H 12
-#define FRV_PT_IACC0L 13
-
-/* Note: Only 32 of the GRs will be found in the corefile.  */
-#define FRV_PT_GR(j)	( 14 + (j))	/* GRj for 0<=j<=63.  */
-
-#define FRV_PT_TBR FRV_PT_GR(0)		/* gr0 is always 0, so TBR is stuffed
-					   there.  */
-
-/* Technically, the loadmap addresses are not part of `pr_reg' as
-   found in the elf_prstatus struct.  The fields which communicate the
-   loadmap address appear (by design) immediately after `pr_reg'
-   though, and the BFD function elf32_frv_grok_prstatus() has been
-   implemented to include these fields in the register section that it
-   extracts from the core file.  So, for our purposes, they may be
-   viewed as registers.  */
-
-#define FRV_PT_EXEC_FDPIC_LOADMAP 46
-#define FRV_PT_INTERP_FDPIC_LOADMAP 47
+/* Register maps.  */
 
+static const struct regcache_map_entry frv_linux_gregmap[] =
+  {
+    { 1, psr_regnum, 4 },
+    { 1, REGCACHE_MAP_SKIP, 4 }, /* isr */
+    { 1, ccr_regnum, 4 },
+    { 1, cccr_regnum, 4 },
+    { 1, lr_regnum, 4 },
+    { 1, lcr_regnum, 4 },
+    { 1, pc_regnum, 4 },
+    { 1, REGCACHE_MAP_SKIP, 4 }, /* __status */
+    { 1, REGCACHE_MAP_SKIP, 4 }, /* syscallno */
+    { 1, REGCACHE_MAP_SKIP, 4 }, /* orig_gr8 */
+    { 1, gner0_regnum, 4 },
+    { 1, gner1_regnum, 4 },
+    { 1, REGCACHE_MAP_SKIP, 8 }, /* iacc0 */
+    { 1, tbr_regnum, 4 },
+    { 31, first_gpr_regnum + 1, 4 }, /* gr1 ... gr31 */
+
+    /* Technically, the loadmap addresses are not part of `pr_reg' as
+       found in the elf_prstatus struct.  The fields which communicate
+       the loadmap address appear (by design) immediately after
+       `pr_reg' though, and the BFD function elf32_frv_grok_prstatus()
+       has been implemented to include these fields in the register
+       section that it extracts from the core file.  So, for our
+       purposes, they may be viewed as registers.  */
+
+    { 1, fdpic_loadmap_exec_regnum, 4 },
+    { 1, fdpic_loadmap_interp_regnum, 4 },
+    { 0 }
+  };
+
+static const struct regcache_map_entry frv_linux_fpregmap[] =
+  {
+    { 64, first_fpr_regnum, 4 }, /* fr0 ... fr63 */
+    { 1, fner0_regnum, 4 },
+    { 1, fner1_regnum, 4 },
+    { 1, msr0_regnum, 4 },
+    { 1, msr1_regnum, 4 },
+    { 8, acc0_regnum, 4 },	/* acc0 ... acc7 */
+    { 1, accg0123_regnum, 4 },
+    { 1, accg4567_regnum, 4 },
+    { 1, fsr0_regnum, 4 },
+    { 0 }
+  };
 
 /* Unpack an frv_elf_gregset_t into GDB's register cache.  */
 
@@ -401,7 +415,6 @@ frv_linux_supply_gregset (const struct r
 {
   int regi;
   char zerobuf[MAX_REGISTER_SIZE];
-  const frv_elf_gregset_t *gregsetp = gregs;
 
   memset (zerobuf, 0, MAX_REGISTER_SIZE);
 
@@ -409,87 +422,37 @@ frv_linux_supply_gregset (const struct r
      this slot.  */
   regcache_raw_supply (regcache, first_gpr_regnum, zerobuf);
 
-  for (regi = first_gpr_regnum + 1; regi <= last_gpr_regnum; regi++)
-    {
-      if (regi >= first_gpr_regnum + 32)
-	regcache_raw_supply (regcache, regi, zerobuf);
-      else
-	regcache_raw_supply (regcache, regi,
-			     gregsetp->reg[FRV_PT_GR (regi
-						      - first_gpr_regnum)]);
-    }
+  /* Fill gr32, ..., gr63 with zeros. */
+  for (regi = first_gpr_regnum + 32; regi <= last_gpr_regnum; regi++)
+    regcache_raw_supply (regcache, regi, zerobuf);
 
-  regcache_raw_supply (regcache, pc_regnum, gregsetp->reg[FRV_PT_PC]);
-  regcache_raw_supply (regcache, psr_regnum, gregsetp->reg[FRV_PT_PSR]);
-  regcache_raw_supply (regcache, ccr_regnum, gregsetp->reg[FRV_PT_CCR]);
-  regcache_raw_supply (regcache, cccr_regnum, gregsetp->reg[FRV_PT_CCCR]);
-  regcache_raw_supply (regcache, lr_regnum, gregsetp->reg[FRV_PT_LR]);
-  regcache_raw_supply (regcache, lcr_regnum, gregsetp->reg[FRV_PT_LCR]);
-  regcache_raw_supply (regcache, gner0_regnum, gregsetp->reg[FRV_PT_GNER0]);
-  regcache_raw_supply (regcache, gner1_regnum, gregsetp->reg[FRV_PT_GNER1]);
-  regcache_raw_supply (regcache, tbr_regnum, gregsetp->reg[FRV_PT_TBR]);
-  regcache_raw_supply (regcache, fdpic_loadmap_exec_regnum,
-                       gregsetp->reg[FRV_PT_EXEC_FDPIC_LOADMAP]);
-  regcache_raw_supply (regcache, fdpic_loadmap_interp_regnum,
-                       gregsetp->reg[FRV_PT_INTERP_FDPIC_LOADMAP]);
-}
-
-/* Unpack an frv_elf_fpregset_t into GDB's register cache.  */
-
-static void
-frv_linux_supply_fpregset (const struct regset *regset,
-                           struct regcache *regcache,
-			   int regnum, const void *gregs, size_t len)
-{
-  int regi;
-  const frv_elf_fpregset_t *fpregsetp = gregs;
-
-  for (regi = first_fpr_regnum; regi <= last_fpr_regnum; regi++)
-    regcache_raw_supply (regcache, regi,
-			 fpregsetp->fr[regi - first_fpr_regnum]);
-
-  regcache_raw_supply (regcache, fner0_regnum, fpregsetp->fner[0]);
-  regcache_raw_supply (regcache, fner1_regnum, fpregsetp->fner[1]);
-
-  regcache_raw_supply (regcache, msr0_regnum, fpregsetp->msr[0]);
-  regcache_raw_supply (regcache, msr1_regnum, fpregsetp->msr[1]);
-
-  for (regi = acc0_regnum; regi <= acc7_regnum; regi++)
-    regcache_raw_supply (regcache, regi, fpregsetp->acc[regi - acc0_regnum]);
-
-  regcache_raw_supply (regcache, accg0123_regnum, fpregsetp->accg);
-  regcache_raw_supply (regcache, accg4567_regnum, fpregsetp->accg + 4);
-
-  regcache_raw_supply (regcache, fsr0_regnum, fpregsetp->fsr[0]);
+  regcache_supply_regset (regset, regcache, regnum, gregs, len);
 }
 
 /* FRV Linux kernel register sets.  */
 
 static const struct regset frv_linux_gregset =
 {
-  NULL,
-  frv_linux_supply_gregset
+  frv_linux_gregmap,
+  frv_linux_supply_gregset, regcache_collect_regset
 };
 
 static const struct regset frv_linux_fpregset =
 {
-  NULL,
-  frv_linux_supply_fpregset
+  frv_linux_fpregmap,
+  regcache_supply_regset, regcache_collect_regset
 };
 
-static const struct regset *
-frv_linux_regset_from_core_section (struct gdbarch *gdbarch,
-				    const char *sect_name, size_t sect_size)
-{
-  if (strcmp (sect_name, ".reg") == 0 
-      && sect_size >= sizeof (frv_elf_gregset_t))
-    return &frv_linux_gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0 
-      && sect_size >= sizeof (frv_elf_fpregset_t))
-    return &frv_linux_fpregset;
-
-  return NULL;
+static void
+frv_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					iterate_over_regset_sections_cb *cb,
+					void *cb_data,
+					const struct regcache *regcache)
+{
+  cb (".reg", sizeof (frv_elf_gregset_t), &frv_linux_gregset,
+      NULL, cb_data);
+  cb (".reg2", sizeof (frv_elf_fpregset_t), &frv_linux_fpregset,
+      NULL, cb_data);
 }
 
 
@@ -501,8 +464,8 @@ frv_linux_init_abi (struct gdbarch_info 
   /* Set the sigtramp frame sniffer.  */
   frame_unwind_append_unwinder (gdbarch, &frv_linux_sigtramp_frame_unwind); 
 
-  set_gdbarch_regset_from_core_section (gdbarch,
-                                        frv_linux_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, frv_linux_iterate_over_regset_sections);
 }
 
 static enum gdb_osabi
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frv-tdep.c ./gdb/frv-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frv-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/frv-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Fujitsu FR-V, for GDB, the GNU Debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "inferior.h"
 #include "gdbcore.h"
 #include "arch-utils.h"
@@ -28,7 +27,6 @@
 #include "frame-base.h"
 #include "trad-frame.h"
 #include "dis-asm.h"
-#include "gdb_assert.h"
 #include "sim-regno.h"
 #include "gdb/sim-frv.h"
 #include "opcodes/frv-desc.h"	/* for the H_SPR_... enums */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frv-tdep.h ./gdb/frv-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/frv-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/frv-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Architecture-dependent code for the Fujitsu FR-V, for GDB, the GNU Debugger.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-typeprint.c ./gdb/f-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-typeprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/f-typeprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing Fortran types for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    Contributed by Motorola.  Adapted from the C version by Farooq Butt
    (fmbutt@engage.sps.mot.com).
@@ -31,9 +31,6 @@
 #include "target.h"
 #include "f-lang.h"
 
-#include <string.h>
-#include <errno.h>
-
 #if 0				/* Currently unused.  */
 static void f_type_print_args (struct type *, struct ui_file *);
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-valprint.c ./gdb/f-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/f-valprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/f-valprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing Fortran values for GDB, the GNU debugger.
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Contributed by Motorola.  Adapted from the C definitions by Farooq Butt
    (fmbutt@engage.sps.mot.com), additionally worked over by Stan Shebs.
@@ -21,7 +21,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "expression.h"
@@ -34,8 +33,6 @@
 #include "command.h"
 #include "block.h"
 #include "dictionary.h"
-#include "gdb_assert.h"
-#include "exceptions.h"
 
 extern void _initialize_f_valprint (void);
 static void info_common_command (char *, int);
@@ -351,7 +348,7 @@ f_val_print (struct type *type, const gd
 	  opts.format = (options->format ? options->format
 			 : options->output_format);
 	  val_print_scalar_formatted (type, valaddr, embedded_offset,
-				      original_value, options, 0, stream);
+				      original_value, &opts, 0, stream);
 	}
       else
 	{
@@ -411,7 +408,7 @@ f_val_print (struct type *type, const gd
 }
 
 static void
-info_common_command_for_block (struct block *block, const char *comname,
+info_common_command_for_block (const struct block *block, const char *comname,
 			       int *any_printed)
 {
   struct block_iterator iter;
@@ -424,7 +421,7 @@ info_common_command_for_block (struct bl
   ALL_BLOCK_SYMBOLS (block, iter, sym)
     if (SYMBOL_DOMAIN (sym) == COMMON_BLOCK_DOMAIN)
       {
-	struct common_block *common = SYMBOL_VALUE_COMMON_BLOCK (sym);
+	const struct common_block *common = SYMBOL_VALUE_COMMON_BLOCK (sym);
 	size_t index;
 
 	gdb_assert (SYMBOL_CLASS (sym) == LOC_COMMON_BLOCK);
@@ -472,7 +469,7 @@ static void
 info_common_command (char *comname, int from_tty)
 {
   struct frame_info *fi;
-  struct block *block;
+  const struct block *block;
   int values_printed = 0;
 
   /* We have been told to display the contents of F77 COMMON 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gcore ./gdb/gcore
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gcore	2015-01-13 02:06:03.000000000 +0000
+++ ./gdb/gcore	2015-01-20 02:09:28.000000000 +0000
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@
 
 if [ "$#" -eq "0" ]
 then
-    echo "usage:  gcore [-o filename] pid"
+    echo "usage:  i386-pc-linux-gnu-gcore [-o filename] pid"
     exit 2
 fi
 
@@ -34,7 +34,7 @@ then
     if [ "$#" -lt "3" ]
     then
 	# Not enough arguments.
-	echo "usage:  gcore [-o filename] pid"
+	echo "usage:  i386-pc-linux-gnu-gcore [-o filename] pid"
 	exit 2
     fi
     name=$2
@@ -72,8 +72,8 @@ fi
 
 # Check if the GDB binary is in the expected path.  If not, just
 # quit with a message.
-if [ ! -f "$binary_path"/gdb ]; then
-  echo "gcore: GDB binary (${binary_path}/gdb) not found"
+if [ ! -f "$binary_path"/i386-pc-linux-gnu-gdb ]; then
+  echo "gcore: GDB binary (${binary_path}/i386-pc-linux-gnu-gdb) not found"
   exit 1
 fi
 
@@ -85,14 +85,14 @@ for pid in $*
 do
 	# `</dev/null' to avoid touching interactive terminal if it is
 	# available but not accessible as GDB would get stopped on SIGTTIN.
-	$binary_path/gdb </dev/null --nx --batch \
+	$binary_path/i386-pc-linux-gnu-gdb </dev/null --nx --batch \
 	    -ex "set pagination off" -ex "set height 0" -ex "set width 0" \
 	    -ex "attach $pid" -ex "gcore $name.$pid" -ex detach -ex quit
 
 	if [ -r $name.$pid ] ; then 
 	    rc=0
 	else
-	    echo "gcore: failed to create $name.$pid"
+	    echo "i386-pc-linux-gnu-gcore: failed to create $name.$pid"
 	    rc=1
 	    break
 	fi
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gcore.c ./gdb/gcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gcore.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gcore.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generate a core file for the inferior process.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,7 +29,6 @@
 #include "completer.h"
 #include "gcore.h"
 #include "cli/cli-decode.h"
-#include "gdb_assert.h"
 #include <fcntl.h>
 #include "regcache.h"
 #include "regset.h"
@@ -61,13 +60,12 @@ create_gcore_bfd (const char *filename)
   return obfd;
 }
 
-/* write_gcore_file -- helper for gcore_command (exported).
-   Compose and write the corefile data to the core file.  */
-
+/* write_gcore_file_1 -- do the actual work of write_gcore_file.  */
 
-void
-write_gcore_file (bfd *obfd)
+static void
+write_gcore_file_1 (bfd *obfd)
 {
+  struct cleanup *cleanup;
   void *note_data = NULL;
   int note_size = 0;
   asection *note_sec = NULL;
@@ -81,6 +79,8 @@ write_gcore_file (bfd *obfd)
   else
     note_data = gdbarch_make_corefile_notes (target_gdbarch (), obfd, &note_size);
 
+  cleanup = make_cleanup (xfree, note_data);
+
   if (note_data == NULL || note_size == 0)
     error (_("Target does not support core file generation."));
 
@@ -104,6 +104,27 @@ write_gcore_file (bfd *obfd)
   /* Write out the contents of the note section.  */
   if (!bfd_set_section_contents (obfd, note_sec, note_data, 0, note_size))
     warning (_("writing note section (%s)"), bfd_errmsg (bfd_get_error ()));
+
+  do_cleanups (cleanup);
+}
+
+/* write_gcore_file -- helper for gcore_command (exported).
+   Compose and write the corefile data to the core file.  */
+
+void
+write_gcore_file (bfd *obfd)
+{
+  volatile struct gdb_exception except;
+
+  target_prepare_to_generate_core ();
+
+  TRY_CATCH (except, RETURN_MASK_ALL)
+    write_gcore_file_1 (obfd);
+
+  target_done_generating_core ();
+
+  if (except.reason < 0)
+    throw_exception (except);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gcore.h ./gdb/gcore.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gcore.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gcore.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for reading/writing gcore files.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gcore.in ./gdb/gcore.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gcore.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gcore.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbarch.c ./gdb/gdbarch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbarch.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbarch.c	2015-01-20 02:05:38.000000000 +0000
@@ -3,7 +3,7 @@
 
 /* Dynamic architecture support for GDB, the GNU debugger.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -41,9 +41,6 @@
 #include "symcat.h"
 
 #include "floatformat.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include "reggroups.h"
 #include "osabi.h"
 #include "gdb_obstack.h"
@@ -255,6 +252,9 @@ struct gdbarch
   gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p;
   gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special;
   gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special;
+  gdbarch_make_symbol_special_ftype *make_symbol_special;
+  gdbarch_adjust_dwarf2_addr_ftype *adjust_dwarf2_addr;
+  gdbarch_adjust_dwarf2_line_ftype *adjust_dwarf2_line;
   int cannot_step_breakpoint;
   int have_nonsteppable_watchpoint;
   gdbarch_address_class_type_flags_ftype *address_class_type_flags;
@@ -262,8 +262,7 @@ struct gdbarch
   gdbarch_address_class_name_to_type_flags_ftype *address_class_name_to_type_flags;
   gdbarch_register_reggroup_p_ftype *register_reggroup_p;
   gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument;
-  gdbarch_regset_from_core_section_ftype *regset_from_core_section;
-  struct core_regset_section * core_regset_sections;
+  gdbarch_iterate_over_regset_sections_ftype *iterate_over_regset_sections;
   gdbarch_make_corefile_notes_ftype *make_corefile_notes;
   gdbarch_elfcore_write_linux_prpsinfo_ftype *elfcore_write_linux_prpsinfo;
   gdbarch_find_memory_regions_ftype *find_memory_regions;
@@ -292,6 +291,8 @@ struct gdbarch
   gdbarch_get_siginfo_type_ftype *get_siginfo_type;
   gdbarch_record_special_symbol_ftype *record_special_symbol;
   gdbarch_get_syscall_number_ftype *get_syscall_number;
+  const char * xml_syscall_file;
+  struct syscalls_info * syscalls_info;
   const char *const * stap_integer_prefixes;
   const char *const * stap_integer_suffixes;
   const char *const * stap_register_prefixes;
@@ -319,6 +320,10 @@ struct gdbarch
   gdbarch_insn_is_ret_ftype *insn_is_ret;
   gdbarch_insn_is_jump_ftype *insn_is_jump;
   gdbarch_auxv_parse_ftype *auxv_parse;
+  gdbarch_vsyscall_range_ftype *vsyscall_range;
+  gdbarch_infcall_mmap_ftype *infcall_mmap;
+  gdbarch_gcc_target_options_ftype *gcc_target_options;
+  gdbarch_gnu_triplet_regexp_ftype *gnu_triplet_regexp;
 };
 
 /* Create a new ``struct gdbarch'' based on information provided by
@@ -374,6 +379,7 @@ gdbarch_alloc (const struct gdbarch_info
   gdbarch->deprecated_fp_regnum = -1;
   gdbarch->call_dummy_location = AT_ENTRY_POINT;
   gdbarch->print_registers_info = default_print_registers_info;
+  gdbarch->print_float_info = default_print_float_info;
   gdbarch->register_sim_regno = legacy_register_sim_regno;
   gdbarch->cannot_fetch_register = cannot_register_not;
   gdbarch->cannot_store_register = cannot_register_not;
@@ -393,9 +399,12 @@ gdbarch_alloc (const struct gdbarch_info
   gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
   gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
   gdbarch->in_function_epilogue_p = generic_in_function_epilogue_p;
-  gdbarch->elf_make_msymbol_special = default_elf_make_msymbol_special;
   gdbarch->coff_make_msymbol_special = default_coff_make_msymbol_special;
+  gdbarch->make_symbol_special = default_make_symbol_special;
+  gdbarch->adjust_dwarf2_addr = default_adjust_dwarf2_addr;
+  gdbarch->adjust_dwarf2_line = default_adjust_dwarf2_line;
   gdbarch->register_reggroup_p = default_register_reggroup_p;
+  gdbarch->skip_permanent_breakpoint = default_skip_permanent_breakpoint;
   gdbarch->displaced_step_hw_singlestep = default_displaced_step_hw_singlestep;
   gdbarch->displaced_step_fixup = NULL;
   gdbarch->displaced_step_free_closure = NULL;
@@ -411,6 +420,10 @@ gdbarch_alloc (const struct gdbarch_info
   gdbarch->insn_is_call = default_insn_is_call;
   gdbarch->insn_is_ret = default_insn_is_ret;
   gdbarch->insn_is_jump = default_insn_is_jump;
+  gdbarch->vsyscall_range = default_vsyscall_range;
+  gdbarch->infcall_mmap = default_infcall_mmap;
+  gdbarch->gcc_target_options = default_gcc_target_options;
+  gdbarch->gnu_triplet_regexp = default_gnu_triplet_regexp;
   /* gdbarch_alloc() */
 
   return gdbarch;
@@ -519,7 +532,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of call_dummy_location, invalid_p == 0 */
   /* Skip verify of push_dummy_code, has predicate.  */
   /* Skip verify of print_registers_info, invalid_p == 0 */
-  /* Skip verify of print_float_info, has predicate.  */
+  /* Skip verify of print_float_info, invalid_p == 0 */
   /* Skip verify of print_vector_info, has predicate.  */
   /* Skip verify of register_sim_regno, invalid_p == 0 */
   /* Skip verify of cannot_fetch_register, invalid_p == 0 */
@@ -564,8 +577,11 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of skip_solib_resolver, invalid_p == 0 */
   /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
   /* Skip verify of in_function_epilogue_p, invalid_p == 0 */
-  /* Skip verify of elf_make_msymbol_special, invalid_p == 0 */
+  /* Skip verify of elf_make_msymbol_special, has predicate.  */
   /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
+  /* Skip verify of make_symbol_special, invalid_p == 0 */
+  /* Skip verify of adjust_dwarf2_addr, invalid_p == 0 */
+  /* Skip verify of adjust_dwarf2_line, invalid_p == 0 */
   /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
   /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
   /* Skip verify of address_class_type_flags, has predicate.  */
@@ -573,7 +589,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of address_class_name_to_type_flags, has predicate.  */
   /* Skip verify of register_reggroup_p, invalid_p == 0 */
   /* Skip verify of fetch_pointer_argument, has predicate.  */
-  /* Skip verify of regset_from_core_section, has predicate.  */
+  /* Skip verify of iterate_over_regset_sections, has predicate.  */
   /* Skip verify of make_corefile_notes, has predicate.  */
   /* Skip verify of elfcore_write_linux_prpsinfo, has predicate.  */
   /* Skip verify of find_memory_regions, has predicate.  */
@@ -583,7 +599,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of gcore_bfd_target, has predicate.  */
   /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
   /* Skip verify of vbit_in_delta, invalid_p == 0 */
-  /* Skip verify of skip_permanent_breakpoint, has predicate.  */
+  /* Skip verify of skip_permanent_breakpoint, invalid_p == 0 */
   /* Skip verify of max_insn_length, has predicate.  */
   /* Skip verify of displaced_step_copy_insn, has predicate.  */
   /* Skip verify of displaced_step_hw_singlestep, invalid_p == 0 */
@@ -604,6 +620,8 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of get_siginfo_type, has predicate.  */
   /* Skip verify of record_special_symbol, has predicate.  */
   /* Skip verify of get_syscall_number, has predicate.  */
+  /* Skip verify of xml_syscall_file, invalid_p == 0 */
+  /* Skip verify of syscalls_info, invalid_p == 0 */
   /* Skip verify of stap_integer_prefixes, invalid_p == 0 */
   /* Skip verify of stap_integer_suffixes, invalid_p == 0 */
   /* Skip verify of stap_register_prefixes, invalid_p == 0 */
@@ -630,6 +648,10 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of insn_is_ret, invalid_p == 0 */
   /* Skip verify of insn_is_jump, invalid_p == 0 */
   /* Skip verify of auxv_parse, has predicate.  */
+  /* Skip verify of vsyscall_range, invalid_p == 0 */
+  /* Skip verify of infcall_mmap, invalid_p == 0 */
+  /* Skip verify of gcc_target_options, invalid_p == 0 */
+  /* Skip verify of gnu_triplet_regexp, invalid_p == 0 */
   buf = ui_file_xstrdup (log, &length);
   make_cleanup (xfree, buf);
   if (length > 0)
@@ -687,6 +709,12 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: adjust_breakpoint_address = <%s>\n",
                       host_address_to_string (gdbarch->adjust_breakpoint_address));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: adjust_dwarf2_addr = <%s>\n",
+                      host_address_to_string (gdbarch->adjust_dwarf2_addr));
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: adjust_dwarf2_line = <%s>\n",
+                      host_address_to_string (gdbarch->adjust_dwarf2_line));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: auto_charset = <%s>\n",
                       host_address_to_string (gdbarch->auto_charset));
   fprintf_unfiltered (file,
@@ -771,9 +799,6 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: core_read_description = <%s>\n",
                       host_address_to_string (gdbarch->core_read_description));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: core_regset_sections = %s\n",
-                      host_address_to_string (gdbarch->core_regset_sections));
-  fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_core_xfer_shared_libraries_p() = %d\n",
                       gdbarch_core_xfer_shared_libraries_p (gdbarch));
   fprintf_unfiltered (file,
@@ -837,6 +862,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: ecoff_reg_to_regnum = <%s>\n",
                       host_address_to_string (gdbarch->ecoff_reg_to_regnum));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: gdbarch_elf_make_msymbol_special_p() = %d\n",
+                      gdbarch_elf_make_msymbol_special_p (gdbarch));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: elf_make_msymbol_special = <%s>\n",
                       host_address_to_string (gdbarch->elf_make_msymbol_special));
   fprintf_unfiltered (file,
@@ -894,6 +922,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: frame_red_zone_size = %s\n",
                       plongest (gdbarch->frame_red_zone_size));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: gcc_target_options = <%s>\n",
+                      host_address_to_string (gdbarch->gcc_target_options));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_gcore_bfd_target_p() = %d\n",
                       gdbarch_gcore_bfd_target_p (gdbarch));
   fprintf_unfiltered (file,
@@ -933,6 +964,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: get_syscall_number = <%s>\n",
                       host_address_to_string (gdbarch->get_syscall_number));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: gnu_triplet_regexp = <%s>\n",
+                      host_address_to_string (gdbarch->gnu_triplet_regexp));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: half_bit = %s\n",
                       plongest (gdbarch->half_bit));
   fprintf_unfiltered (file,
@@ -960,6 +994,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: in_solib_return_trampoline = <%s>\n",
                       host_address_to_string (gdbarch->in_solib_return_trampoline));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: infcall_mmap = <%s>\n",
+                      host_address_to_string (gdbarch->infcall_mmap));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_info_proc_p() = %d\n",
                       gdbarch_info_proc_p (gdbarch));
   fprintf_unfiltered (file,
@@ -990,6 +1027,12 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: iterate_over_objfiles_in_search_order = <%s>\n",
                       host_address_to_string (gdbarch->iterate_over_objfiles_in_search_order));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: gdbarch_iterate_over_regset_sections_p() = %d\n",
+                      gdbarch_iterate_over_regset_sections_p (gdbarch));
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: iterate_over_regset_sections = <%s>\n",
+                      host_address_to_string (gdbarch->iterate_over_regset_sections));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: long_bit = %s\n",
                       plongest (gdbarch->long_bit));
   fprintf_unfiltered (file,
@@ -1011,6 +1054,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: make_corefile_notes = <%s>\n",
                       host_address_to_string (gdbarch->make_corefile_notes));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: make_symbol_special = <%s>\n",
+                      host_address_to_string (gdbarch->make_symbol_special));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_max_insn_length_p() = %d\n",
                       gdbarch_max_insn_length_p (gdbarch));
   fprintf_unfiltered (file,
@@ -1044,9 +1090,6 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: pointer_to_address = <%s>\n",
                       host_address_to_string (gdbarch->pointer_to_address));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_print_float_info_p() = %d\n",
-                      gdbarch_print_float_info_p (gdbarch));
-  fprintf_unfiltered (file,
                       "gdbarch_dump: print_float_info = <%s>\n",
                       host_address_to_string (gdbarch->print_float_info));
   fprintf_unfiltered (file,
@@ -1143,12 +1186,6 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: register_type = <%s>\n",
                       host_address_to_string (gdbarch->register_type));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_regset_from_core_section_p() = %d\n",
-                      gdbarch_regset_from_core_section_p (gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: regset_from_core_section = <%s>\n",
-                      host_address_to_string (gdbarch->regset_from_core_section));
-  fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_relocate_instruction_p() = %d\n",
                       gdbarch_relocate_instruction_p (gdbarch));
   fprintf_unfiltered (file,
@@ -1194,9 +1231,6 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: skip_main_prologue = <%s>\n",
                       host_address_to_string (gdbarch->skip_main_prologue));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_skip_permanent_breakpoint_p() = %d\n",
-                      gdbarch_skip_permanent_breakpoint_p (gdbarch));
-  fprintf_unfiltered (file,
                       "gdbarch_dump: skip_permanent_breakpoint = <%s>\n",
                       host_address_to_string (gdbarch->skip_permanent_breakpoint));
   fprintf_unfiltered (file,
@@ -1272,6 +1306,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: static_transform_name = <%s>\n",
                       host_address_to_string (gdbarch->static_transform_name));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: syscalls_info = %s\n",
+                      host_address_to_string (gdbarch->syscalls_info));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: target_desc = %s\n",
                       host_address_to_string (gdbarch->target_desc));
   fprintf_unfiltered (file,
@@ -1299,6 +1336,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: virtual_frame_pointer = <%s>\n",
                       host_address_to_string (gdbarch->virtual_frame_pointer));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: vsyscall_range = <%s>\n",
+                      host_address_to_string (gdbarch->vsyscall_range));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: vtable_function_descriptors = %s\n",
                       plongest (gdbarch->vtable_function_descriptors));
   fprintf_unfiltered (file,
@@ -1307,6 +1347,9 @@ gdbarch_dump (struct gdbarch *gdbarch, s
   fprintf_unfiltered (file,
                       "gdbarch_dump: write_pc = <%s>\n",
                       host_address_to_string (gdbarch->write_pc));
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: xml_syscall_file = %s\n",
+                      pstring (gdbarch->xml_syscall_file));
   if (gdbarch->dump_tdep != NULL)
     gdbarch->dump_tdep (gdbarch, file);
 }
@@ -2190,13 +2233,6 @@ set_gdbarch_print_registers_info (struct
   gdbarch->print_registers_info = print_registers_info;
 }
 
-int
-gdbarch_print_float_info_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->print_float_info != NULL;
-}
-
 void
 gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
 {
@@ -3058,6 +3094,13 @@ set_gdbarch_in_function_epilogue_p (stru
   gdbarch->in_function_epilogue_p = in_function_epilogue_p;
 }
 
+int
+gdbarch_elf_make_msymbol_special_p (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  return gdbarch->elf_make_msymbol_special != NULL;
+}
+
 void
 gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch, asymbol *sym, struct minimal_symbol *msym)
 {
@@ -3092,6 +3135,57 @@ set_gdbarch_coff_make_msymbol_special (s
   gdbarch->coff_make_msymbol_special = coff_make_msymbol_special;
 }
 
+void
+gdbarch_make_symbol_special (struct gdbarch *gdbarch, struct symbol *sym, struct objfile *objfile)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->make_symbol_special != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_make_symbol_special called\n");
+  gdbarch->make_symbol_special (sym, objfile);
+}
+
+void
+set_gdbarch_make_symbol_special (struct gdbarch *gdbarch,
+                                 gdbarch_make_symbol_special_ftype make_symbol_special)
+{
+  gdbarch->make_symbol_special = make_symbol_special;
+}
+
+CORE_ADDR
+gdbarch_adjust_dwarf2_addr (struct gdbarch *gdbarch, CORE_ADDR pc)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->adjust_dwarf2_addr != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_adjust_dwarf2_addr called\n");
+  return gdbarch->adjust_dwarf2_addr (pc);
+}
+
+void
+set_gdbarch_adjust_dwarf2_addr (struct gdbarch *gdbarch,
+                                gdbarch_adjust_dwarf2_addr_ftype adjust_dwarf2_addr)
+{
+  gdbarch->adjust_dwarf2_addr = adjust_dwarf2_addr;
+}
+
+CORE_ADDR
+gdbarch_adjust_dwarf2_line (struct gdbarch *gdbarch, CORE_ADDR addr, int rel)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->adjust_dwarf2_line != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_adjust_dwarf2_line called\n");
+  return gdbarch->adjust_dwarf2_line (addr, rel);
+}
+
+void
+set_gdbarch_adjust_dwarf2_line (struct gdbarch *gdbarch,
+                                gdbarch_adjust_dwarf2_line_ftype adjust_dwarf2_line)
+{
+  gdbarch->adjust_dwarf2_line = adjust_dwarf2_line;
+}
+
 int
 gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch)
 {
@@ -3240,43 +3334,27 @@ set_gdbarch_fetch_pointer_argument (stru
 }
 
 int
-gdbarch_regset_from_core_section_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->regset_from_core_section != NULL;
-}
-
-const struct regset *
-gdbarch_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size)
+gdbarch_iterate_over_regset_sections_p (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->regset_from_core_section != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_regset_from_core_section called\n");
-  return gdbarch->regset_from_core_section (gdbarch, sect_name, sect_size);
+  return gdbarch->iterate_over_regset_sections != NULL;
 }
 
 void
-set_gdbarch_regset_from_core_section (struct gdbarch *gdbarch,
-                                      gdbarch_regset_from_core_section_ftype regset_from_core_section)
-{
-  gdbarch->regset_from_core_section = regset_from_core_section;
-}
-
-struct core_regset_section *
-gdbarch_core_regset_sections (struct gdbarch *gdbarch)
+gdbarch_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 {
   gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->iterate_over_regset_sections != NULL);
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_core_regset_sections called\n");
-  return gdbarch->core_regset_sections;
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_iterate_over_regset_sections called\n");
+  gdbarch->iterate_over_regset_sections (gdbarch, cb, cb_data, regcache);
 }
 
 void
-set_gdbarch_core_regset_sections (struct gdbarch *gdbarch,
-                                  struct core_regset_section * core_regset_sections)
+set_gdbarch_iterate_over_regset_sections (struct gdbarch *gdbarch,
+                                          gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections)
 {
-  gdbarch->core_regset_sections = core_regset_sections;
+  gdbarch->iterate_over_regset_sections = iterate_over_regset_sections;
 }
 
 int
@@ -3482,13 +3560,6 @@ set_gdbarch_vbit_in_delta (struct gdbarc
   gdbarch->vbit_in_delta = vbit_in_delta;
 }
 
-int
-gdbarch_skip_permanent_breakpoint_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->skip_permanent_breakpoint != NULL;
-}
-
 void
 gdbarch_skip_permanent_breakpoint (struct gdbarch *gdbarch, struct regcache *regcache)
 {
@@ -3913,6 +3984,40 @@ set_gdbarch_get_syscall_number (struct g
   gdbarch->get_syscall_number = get_syscall_number;
 }
 
+const char *
+gdbarch_xml_syscall_file (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  /* Skip verify of xml_syscall_file, invalid_p == 0 */
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_xml_syscall_file called\n");
+  return gdbarch->xml_syscall_file;
+}
+
+void
+set_gdbarch_xml_syscall_file (struct gdbarch *gdbarch,
+                              const char * xml_syscall_file)
+{
+  gdbarch->xml_syscall_file = xml_syscall_file;
+}
+
+struct syscalls_info *
+gdbarch_syscalls_info (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  /* Skip verify of syscalls_info, invalid_p == 0 */
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_syscalls_info called\n");
+  return gdbarch->syscalls_info;
+}
+
+void
+set_gdbarch_syscalls_info (struct gdbarch *gdbarch,
+                           struct syscalls_info * syscalls_info)
+{
+  gdbarch->syscalls_info = syscalls_info;
+}
+
 const char *const *
 gdbarch_stap_integer_prefixes (struct gdbarch *gdbarch)
 {
@@ -4257,7 +4362,7 @@ gdbarch_info_proc_p (struct gdbarch *gdb
 }
 
 void
-gdbarch_info_proc (struct gdbarch *gdbarch, char *args, enum info_proc_what what)
+gdbarch_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->info_proc != NULL);
@@ -4281,7 +4386,7 @@ gdbarch_core_info_proc_p (struct gdbarch
 }
 
 void
-gdbarch_core_info_proc (struct gdbarch *gdbarch, char *args, enum info_proc_what what)
+gdbarch_core_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->core_info_proc != NULL);
@@ -4406,6 +4511,74 @@ set_gdbarch_auxv_parse (struct gdbarch *
   gdbarch->auxv_parse = auxv_parse;
 }
 
+int
+gdbarch_vsyscall_range (struct gdbarch *gdbarch, struct mem_range *range)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->vsyscall_range != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_vsyscall_range called\n");
+  return gdbarch->vsyscall_range (gdbarch, range);
+}
+
+void
+set_gdbarch_vsyscall_range (struct gdbarch *gdbarch,
+                            gdbarch_vsyscall_range_ftype vsyscall_range)
+{
+  gdbarch->vsyscall_range = vsyscall_range;
+}
+
+CORE_ADDR
+gdbarch_infcall_mmap (struct gdbarch *gdbarch, CORE_ADDR size, unsigned prot)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->infcall_mmap != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_infcall_mmap called\n");
+  return gdbarch->infcall_mmap (size, prot);
+}
+
+void
+set_gdbarch_infcall_mmap (struct gdbarch *gdbarch,
+                          gdbarch_infcall_mmap_ftype infcall_mmap)
+{
+  gdbarch->infcall_mmap = infcall_mmap;
+}
+
+char *
+gdbarch_gcc_target_options (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->gcc_target_options != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_gcc_target_options called\n");
+  return gdbarch->gcc_target_options (gdbarch);
+}
+
+void
+set_gdbarch_gcc_target_options (struct gdbarch *gdbarch,
+                                gdbarch_gcc_target_options_ftype gcc_target_options)
+{
+  gdbarch->gcc_target_options = gcc_target_options;
+}
+
+const char *
+gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->gnu_triplet_regexp != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_gnu_triplet_regexp called\n");
+  return gdbarch->gnu_triplet_regexp (gdbarch);
+}
+
+void
+set_gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch,
+                                gdbarch_gnu_triplet_regexp_ftype gnu_triplet_regexp)
+{
+  gdbarch->gnu_triplet_regexp = gnu_triplet_regexp;
+}
+
 
 /* Keep a registry of per-architecture data-pointers required by GDB
    modules.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbarch.h ./gdb/gdbarch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbarch.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbarch.h	2015-01-20 02:05:38.000000000 +0000
@@ -3,7 +3,7 @@
 
 /* Dynamic architecture support for GDB, the GNU debugger.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -51,6 +51,8 @@ struct target_ops;
 struct obstack;
 struct bp_target_info;
 struct target_desc;
+struct objfile;
+struct symbol;
 struct displaced_step_closure;
 struct core_regset_section;
 struct syscall;
@@ -59,6 +61,8 @@ struct axs_value;
 struct stap_parse_info;
 struct ravenscar_arch_ops;
 struct elf_internal_linux_prpsinfo;
+struct mem_range;
+struct syscalls_info;
 
 /* The architecture associated with the inferior through the
    connection to the target.
@@ -81,6 +85,10 @@ extern struct gdbarch *target_gdbarch (v
 typedef int (iterate_over_objfiles_in_search_order_cb_ftype)
   (struct objfile *objfile, void *cb_data);
 
+typedef void (iterate_over_regset_sections_cb)
+  (const char *sect_name, int size, const struct regset *regset,
+   const char *human_name, void *cb_data);
+
 
 /* The following are pre-initialized by GDBARCH.  */
 
@@ -369,8 +377,6 @@ typedef void (gdbarch_print_registers_in
 extern void gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all);
 extern void set_gdbarch_print_registers_info (struct gdbarch *gdbarch, gdbarch_print_registers_info_ftype *print_registers_info);
 
-extern int gdbarch_print_float_info_p (struct gdbarch *gdbarch);
-
 typedef void (gdbarch_print_float_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args);
 extern void gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args);
 extern void set_gdbarch_print_float_info (struct gdbarch *gdbarch, gdbarch_print_float_info_ftype *print_float_info);
@@ -682,6 +688,16 @@ typedef int (gdbarch_in_function_epilogu
 extern int gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR addr);
 extern void set_gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch, gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p);
 
+/* Process an ELF symbol in the minimal symbol table in a backend-specific
+   way.  Normally this hook is supposed to do nothing, however if required,
+   then this hook can be used to apply tranformations to symbols that are
+   considered special in some way.  For example the MIPS backend uses it
+   to interpret `st_other' information to mark compressed code symbols so
+   that they can be treated in the appropriate manner in the processing of
+   the main symbol table and DWARF-2 records. */
+
+extern int gdbarch_elf_make_msymbol_special_p (struct gdbarch *gdbarch);
+
 typedef void (gdbarch_elf_make_msymbol_special_ftype) (asymbol *sym, struct minimal_symbol *msym);
 extern void gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch, asymbol *sym, struct minimal_symbol *msym);
 extern void set_gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch, gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special);
@@ -690,6 +706,45 @@ typedef void (gdbarch_coff_make_msymbol_
 extern void gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch, int val, struct minimal_symbol *msym);
 extern void set_gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch, gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special);
 
+/* Process a symbol in the main symbol table in a backend-specific way.
+   Normally this hook is supposed to do nothing, however if required,
+   then this hook can be used to apply tranformations to symbols that
+   are considered special in some way.  This is currently used by the
+   MIPS backend to make sure compressed code symbols have the ISA bit
+   set.  This in turn is needed for symbol values seen in GDB to match
+   the values used at the runtime by the program itself, for function
+   and label references. */
+
+typedef void (gdbarch_make_symbol_special_ftype) (struct symbol *sym, struct objfile *objfile);
+extern void gdbarch_make_symbol_special (struct gdbarch *gdbarch, struct symbol *sym, struct objfile *objfile);
+extern void set_gdbarch_make_symbol_special (struct gdbarch *gdbarch, gdbarch_make_symbol_special_ftype *make_symbol_special);
+
+/* Adjust the address retrieved from a DWARF-2 record other than a line
+   entry in a backend-specific way.  Normally this hook is supposed to
+   return the address passed unchanged, however if that is incorrect for
+   any reason, then this hook can be used to fix the address up in the
+   required manner.  This is currently used by the MIPS backend to make
+   sure addresses in FDE, range records, etc. referring to compressed
+   code have the ISA bit set, matching line information and the symbol
+   table. */
+
+typedef CORE_ADDR (gdbarch_adjust_dwarf2_addr_ftype) (CORE_ADDR pc);
+extern CORE_ADDR gdbarch_adjust_dwarf2_addr (struct gdbarch *gdbarch, CORE_ADDR pc);
+extern void set_gdbarch_adjust_dwarf2_addr (struct gdbarch *gdbarch, gdbarch_adjust_dwarf2_addr_ftype *adjust_dwarf2_addr);
+
+/* Adjust the address updated by a line entry in a backend-specific way.
+   Normally this hook is supposed to return the address passed unchanged,
+   however in the case of inconsistencies in these records, this hook can
+   be used to fix them up in the required manner.  This is currently used
+   by the MIPS backend to make sure all line addresses in compressed code
+   are presented with the ISA bit set, which is not always the case.  This
+   in turn ensures breakpoint addresses are correctly matched against the
+   stop PC. */
+
+typedef CORE_ADDR (gdbarch_adjust_dwarf2_line_ftype) (CORE_ADDR addr, int rel);
+extern CORE_ADDR gdbarch_adjust_dwarf2_line (struct gdbarch *gdbarch, CORE_ADDR addr, int rel);
+extern void set_gdbarch_adjust_dwarf2_line (struct gdbarch *gdbarch, gdbarch_adjust_dwarf2_line_ftype *adjust_dwarf2_line);
+
 extern int gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch);
 extern void set_gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch, int cannot_step_breakpoint);
 
@@ -732,19 +787,18 @@ typedef CORE_ADDR (gdbarch_fetch_pointer
 extern CORE_ADDR gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, struct frame_info *frame, int argi, struct type *type);
 extern void set_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument);
 
-/* Return the appropriate register set for a core file section with
-   name SECT_NAME and size SECT_SIZE. */
-
-extern int gdbarch_regset_from_core_section_p (struct gdbarch *gdbarch);
-
-typedef const struct regset * (gdbarch_regset_from_core_section_ftype) (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size);
-extern const struct regset * gdbarch_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size);
-extern void set_gdbarch_regset_from_core_section (struct gdbarch *gdbarch, gdbarch_regset_from_core_section_ftype *regset_from_core_section);
-
-/* Supported register notes in a core file. */
-
-extern struct core_regset_section * gdbarch_core_regset_sections (struct gdbarch *gdbarch);
-extern void set_gdbarch_core_regset_sections (struct gdbarch *gdbarch, struct core_regset_section * core_regset_sections);
+/* Iterate over all supported register notes in a core file.  For each
+   supported register note section, the iterator must call CB and pass
+   CB_DATA unchanged.  If REGCACHE is not NULL, the iterator can limit
+   the supported register note sections based on the current register
+   values.  Otherwise it should enumerate all supported register note
+   sections. */
+
+extern int gdbarch_iterate_over_regset_sections_p (struct gdbarch *gdbarch);
+
+typedef void (gdbarch_iterate_over_regset_sections_ftype) (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache);
+extern void gdbarch_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache);
+extern void set_gdbarch_iterate_over_regset_sections (struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype *iterate_over_regset_sections);
 
 /* Create core file notes */
 
@@ -825,8 +879,6 @@ extern void set_gdbarch_vbit_in_delta (s
 
 /* Advance PC to next instruction in order to skip a permanent breakpoint. */
 
-extern int gdbarch_skip_permanent_breakpoint_p (struct gdbarch *gdbarch);
-
 typedef void (gdbarch_skip_permanent_breakpoint_ftype) (struct regcache *regcache);
 extern void gdbarch_skip_permanent_breakpoint (struct gdbarch *gdbarch, struct regcache *regcache);
 extern void set_gdbarch_skip_permanent_breakpoint (struct gdbarch *gdbarch, gdbarch_skip_permanent_breakpoint_ftype *skip_permanent_breakpoint);
@@ -1054,6 +1106,16 @@ typedef LONGEST (gdbarch_get_syscall_num
 extern LONGEST gdbarch_get_syscall_number (struct gdbarch *gdbarch, ptid_t ptid);
 extern void set_gdbarch_get_syscall_number (struct gdbarch *gdbarch, gdbarch_get_syscall_number_ftype *get_syscall_number);
 
+/* The filename of the XML syscall for this architecture. */
+
+extern const char * gdbarch_xml_syscall_file (struct gdbarch *gdbarch);
+extern void set_gdbarch_xml_syscall_file (struct gdbarch *gdbarch, const char * xml_syscall_file);
+
+/* Information about system calls from this architecture */
+
+extern struct syscalls_info * gdbarch_syscalls_info (struct gdbarch *gdbarch);
+extern void set_gdbarch_syscalls_info (struct gdbarch *gdbarch, struct syscalls_info * syscalls_info);
+
 /* SystemTap related fields and functions.
    A NULL-terminated array of prefixes used to mark an integer constant
    on the architecture's assembly.
@@ -1251,8 +1313,8 @@ extern void set_gdbarch_gen_return_addre
 
 extern int gdbarch_info_proc_p (struct gdbarch *gdbarch);
 
-typedef void (gdbarch_info_proc_ftype) (struct gdbarch *gdbarch, char *args, enum info_proc_what what);
-extern void gdbarch_info_proc (struct gdbarch *gdbarch, char *args, enum info_proc_what what);
+typedef void (gdbarch_info_proc_ftype) (struct gdbarch *gdbarch, const char *args, enum info_proc_what what);
+extern void gdbarch_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what);
 extern void set_gdbarch_info_proc (struct gdbarch *gdbarch, gdbarch_info_proc_ftype *info_proc);
 
 /* Implement the "info proc" command for core files.  Noe that there
@@ -1261,8 +1323,8 @@ extern void set_gdbarch_info_proc (struc
 
 extern int gdbarch_core_info_proc_p (struct gdbarch *gdbarch);
 
-typedef void (gdbarch_core_info_proc_ftype) (struct gdbarch *gdbarch, char *args, enum info_proc_what what);
-extern void gdbarch_core_info_proc (struct gdbarch *gdbarch, char *args, enum info_proc_what what);
+typedef void (gdbarch_core_info_proc_ftype) (struct gdbarch *gdbarch, const char *args, enum info_proc_what what);
+extern void gdbarch_core_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what);
 extern void set_gdbarch_core_info_proc (struct gdbarch *gdbarch, gdbarch_core_info_proc_ftype *core_info_proc);
 
 /* Iterate over all objfiles in the order that makes the most sense
@@ -1317,6 +1379,42 @@ typedef int (gdbarch_auxv_parse_ftype) (
 extern int gdbarch_auxv_parse (struct gdbarch *gdbarch, gdb_byte **readptr, gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp);
 extern void set_gdbarch_auxv_parse (struct gdbarch *gdbarch, gdbarch_auxv_parse_ftype *auxv_parse);
 
+/* Find the address range of the current inferior's vsyscall/vDSO, and
+   write it to *RANGE.  If the vsyscall's length can't be determined, a
+   range with zero length is returned.  Returns true if the vsyscall is
+   found, false otherwise. */
+
+typedef int (gdbarch_vsyscall_range_ftype) (struct gdbarch *gdbarch, struct mem_range *range);
+extern int gdbarch_vsyscall_range (struct gdbarch *gdbarch, struct mem_range *range);
+extern void set_gdbarch_vsyscall_range (struct gdbarch *gdbarch, gdbarch_vsyscall_range_ftype *vsyscall_range);
+
+/* Allocate SIZE bytes of PROT protected page aligned memory in inferior.
+   PROT has GDB_MMAP_PROT_* bitmask format.
+   Throw an error if it is not possible.  Returned address is always valid. */
+
+typedef CORE_ADDR (gdbarch_infcall_mmap_ftype) (CORE_ADDR size, unsigned prot);
+extern CORE_ADDR gdbarch_infcall_mmap (struct gdbarch *gdbarch, CORE_ADDR size, unsigned prot);
+extern void set_gdbarch_infcall_mmap (struct gdbarch *gdbarch, gdbarch_infcall_mmap_ftype *infcall_mmap);
+
+/* Return string (caller has to use xfree for it) with options for GCC
+   to produce code for this target, typically "-m64", "-m32" or "-m31".
+   These options are put before CU's DW_AT_producer compilation options so that
+   they can override it.  Method may also return NULL. */
+
+typedef char * (gdbarch_gcc_target_options_ftype) (struct gdbarch *gdbarch);
+extern char * gdbarch_gcc_target_options (struct gdbarch *gdbarch);
+extern void set_gdbarch_gcc_target_options (struct gdbarch *gdbarch, gdbarch_gcc_target_options_ftype *gcc_target_options);
+
+/* Return a regular expression that matches names used by this
+   architecture in GNU configury triplets.  The result is statically
+   allocated and must not be freed.  The default implementation simply
+   returns the BFD architecture name, which is correct in nearly every
+   case. */
+
+typedef const char * (gdbarch_gnu_triplet_regexp_ftype) (struct gdbarch *gdbarch);
+extern const char * gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch);
+extern void set_gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch, gdbarch_gnu_triplet_regexp_ftype *gnu_triplet_regexp);
+
 /* Definition for an unknown syscall, used basically in error-cases.  */
 #define UNKNOWN_SYSCALL (-1)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbarch.sh ./gdb/gdbarch.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbarch.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbarch.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 # Architecture commands for GDB, the GNU debugger.
 #
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
@@ -479,7 +479,7 @@ v:int:call_dummy_location::::AT_ENTRY_PO
 M:CORE_ADDR:push_dummy_code:CORE_ADDR sp, CORE_ADDR funaddr, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache:sp, funaddr, args, nargs, value_type, real_pc, bp_addr, regcache
 
 m:void:print_registers_info:struct ui_file *file, struct frame_info *frame, int regnum, int all:file, frame, regnum, all::default_print_registers_info::0
-M:void:print_float_info:struct ui_file *file, struct frame_info *frame, const char *args:file, frame, args
+m:void:print_float_info:struct ui_file *file, struct frame_info *frame, const char *args:file, frame, args::default_print_float_info::0
 M:void:print_vector_info:struct ui_file *file, struct frame_info *frame, const char *args:file, frame, args
 # MAP a GDB RAW register number onto a simulator register number.  See
 # also include/...-sim.h.
@@ -635,8 +635,42 @@ m:int:in_solib_return_trampoline:CORE_AD
 # which don't suffer from that problem could just let this functionality
 # untouched.
 m:int:in_function_epilogue_p:CORE_ADDR addr:addr:0:generic_in_function_epilogue_p::0
-f:void:elf_make_msymbol_special:asymbol *sym, struct minimal_symbol *msym:sym, msym::default_elf_make_msymbol_special::0
+# Process an ELF symbol in the minimal symbol table in a backend-specific
+# way.  Normally this hook is supposed to do nothing, however if required,
+# then this hook can be used to apply tranformations to symbols that are
+# considered special in some way.  For example the MIPS backend uses it
+# to interpret \`st_other' information to mark compressed code symbols so
+# that they can be treated in the appropriate manner in the processing of
+# the main symbol table and DWARF-2 records.
+F:void:elf_make_msymbol_special:asymbol *sym, struct minimal_symbol *msym:sym, msym
 f:void:coff_make_msymbol_special:int val, struct minimal_symbol *msym:val, msym::default_coff_make_msymbol_special::0
+# Process a symbol in the main symbol table in a backend-specific way.
+# Normally this hook is supposed to do nothing, however if required,
+# then this hook can be used to apply tranformations to symbols that
+# are considered special in some way.  This is currently used by the
+# MIPS backend to make sure compressed code symbols have the ISA bit
+# set.  This in turn is needed for symbol values seen in GDB to match
+# the values used at the runtime by the program itself, for function
+# and label references.
+f:void:make_symbol_special:struct symbol *sym, struct objfile *objfile:sym, objfile::default_make_symbol_special::0
+# Adjust the address retrieved from a DWARF-2 record other than a line
+# entry in a backend-specific way.  Normally this hook is supposed to
+# return the address passed unchanged, however if that is incorrect for
+# any reason, then this hook can be used to fix the address up in the
+# required manner.  This is currently used by the MIPS backend to make
+# sure addresses in FDE, range records, etc. referring to compressed
+# code have the ISA bit set, matching line information and the symbol
+# table.
+f:CORE_ADDR:adjust_dwarf2_addr:CORE_ADDR pc:pc::default_adjust_dwarf2_addr::0
+# Adjust the address updated by a line entry in a backend-specific way.
+# Normally this hook is supposed to return the address passed unchanged,
+# however in the case of inconsistencies in these records, this hook can
+# be used to fix them up in the required manner.  This is currently used
+# by the MIPS backend to make sure all line addresses in compressed code
+# are presented with the ISA bit set, which is not always the case.  This
+# in turn ensures breakpoint addresses are correctly matched against the
+# stop PC.
+f:CORE_ADDR:adjust_dwarf2_line:CORE_ADDR addr, int rel:addr, rel::default_adjust_dwarf2_line::0
 v:int:cannot_step_breakpoint:::0:0::0
 v:int:have_nonsteppable_watchpoint:::0:0::0
 F:int:address_class_type_flags:int byte_size, int dwarf2_addr_class:byte_size, dwarf2_addr_class
@@ -651,12 +685,13 @@ m:int:register_reggroup_p:int regnum, st
 # Fetch the pointer to the ith function argument.
 F:CORE_ADDR:fetch_pointer_argument:struct frame_info *frame, int argi, struct type *type:frame, argi, type
 
-# Return the appropriate register set for a core file section with
-# name SECT_NAME and size SECT_SIZE.
-M:const struct regset *:regset_from_core_section:const char *sect_name, size_t sect_size:sect_name, sect_size
-
-# Supported register notes in a core file.
-v:struct core_regset_section *:core_regset_sections:const char *name, int len::::::host_address_to_string (gdbarch->core_regset_sections)
+# Iterate over all supported register notes in a core file.  For each
+# supported register note section, the iterator must call CB and pass
+# CB_DATA unchanged.  If REGCACHE is not NULL, the iterator can limit
+# the supported register note sections based on the current register
+# values.  Otherwise it should enumerate all supported register note
+# sections.
+M:void:iterate_over_regset_sections:iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache:cb, cb_data, regcache
 
 # Create core file notes
 M:char *:make_corefile_notes:bfd *obfd, int *note_size:obfd, note_size
@@ -698,7 +733,7 @@ v:int:vtable_function_descriptors:::0:0:
 v:int:vbit_in_delta:::0:0::0
 
 # Advance PC to next instruction in order to skip a permanent breakpoint.
-F:void:skip_permanent_breakpoint:struct regcache *regcache:regcache
+f:void:skip_permanent_breakpoint:struct regcache *regcache:regcache:default_skip_permanent_breakpoint:default_skip_permanent_breakpoint::0
 
 # The maximum length of an instruction on this architecture in bytes.
 V:ULONGEST:max_insn_length:::0:0
@@ -844,6 +879,12 @@ M:void:record_special_symbol:struct objf
 # Get architecture-specific system calls information from registers.
 M:LONGEST:get_syscall_number:ptid_t ptid:ptid
 
+# The filename of the XML syscall for this architecture.
+v:const char *:xml_syscall_file:::0:0::0:pstring (gdbarch->xml_syscall_file)
+
+# Information about system calls from this architecture
+v:struct syscalls_info *:syscalls_info:::0:0::0:host_address_to_string (gdbarch->syscalls_info)
+
 # SystemTap related fields and functions.
 
 # A NULL-terminated array of prefixes used to mark an integer constant
@@ -990,12 +1031,12 @@ v:int:has_dos_based_file_system:::0:0::0
 m:void:gen_return_address:struct agent_expr *ax, struct axs_value *value, CORE_ADDR scope:ax, value, scope::default_gen_return_address::0
 
 # Implement the "info proc" command.
-M:void:info_proc:char *args, enum info_proc_what what:args, what
+M:void:info_proc:const char *args, enum info_proc_what what:args, what
 
 # Implement the "info proc" command for core files.  Noe that there
 # are two "info_proc"-like methods on gdbarch -- one for core files,
 # one for live targets.
-M:void:core_info_proc:char *args, enum info_proc_what what:args, what
+M:void:core_info_proc:const char *args, enum info_proc_what what:args, what
 
 # Iterate over all objfiles in the order that makes the most sense
 # for the architecture to make global symbol searches.
@@ -1029,6 +1070,30 @@ m:int:insn_is_jump:CORE_ADDR addr:addr::
 # Return -1 if there is insufficient buffer for a whole entry.
 # Return 1 if an entry was read into *TYPEP and *VALP.
 M:int:auxv_parse:gdb_byte **readptr, gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp:readptr, endptr, typep, valp
+
+# Find the address range of the current inferior's vsyscall/vDSO, and
+# write it to *RANGE.  If the vsyscall's length can't be determined, a
+# range with zero length is returned.  Returns true if the vsyscall is
+# found, false otherwise.
+m:int:vsyscall_range:struct mem_range *range:range::default_vsyscall_range::0
+
+# Allocate SIZE bytes of PROT protected page aligned memory in inferior.
+# PROT has GDB_MMAP_PROT_* bitmask format.
+# Throw an error if it is not possible.  Returned address is always valid.
+f:CORE_ADDR:infcall_mmap:CORE_ADDR size, unsigned prot:size, prot::default_infcall_mmap::0
+
+# Return string (caller has to use xfree for it) with options for GCC
+# to produce code for this target, typically "-m64", "-m32" or "-m31".
+# These options are put before CU's DW_AT_producer compilation options so that
+# they can override it.  Method may also return NULL.
+m:char *:gcc_target_options:void:::default_gcc_target_options::0
+
+# Return a regular expression that matches names used by this
+# architecture in GNU configury triplets.  The result is statically
+# allocated and must not be freed.  The default implementation simply
+# returns the BFD architecture name, which is correct in nearly every
+# case.
+m:const char *:gnu_triplet_regexp:void:::default_gnu_triplet_regexp::0
 EOF
 }
 
@@ -1082,7 +1147,7 @@ cat <<EOF
 
 /* Dynamic architecture support for GDB, the GNU debugger.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -1140,6 +1205,8 @@ struct target_ops;
 struct obstack;
 struct bp_target_info;
 struct target_desc;
+struct objfile;
+struct symbol;
 struct displaced_step_closure;
 struct core_regset_section;
 struct syscall;
@@ -1148,6 +1215,8 @@ struct axs_value;
 struct stap_parse_info;
 struct ravenscar_arch_ops;
 struct elf_internal_linux_prpsinfo;
+struct mem_range;
+struct syscalls_info;
 
 /* The architecture associated with the inferior through the
    connection to the target.
@@ -1169,6 +1238,10 @@ extern struct gdbarch *target_gdbarch (v
 
 typedef int (iterate_over_objfiles_in_search_order_cb_ftype)
   (struct objfile *objfile, void *cb_data);
+
+typedef void (iterate_over_regset_sections_cb)
+  (const char *sect_name, int size, const struct regset *regset,
+   const char *human_name, void *cb_data);
 EOF
 
 # function typedef's
@@ -1473,9 +1546,6 @@ cat <<EOF
 #include "symcat.h"
 
 #include "floatformat.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include "reggroups.h"
 #include "osabi.h"
 #include "gdb_obstack.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_bfd.c ./gdb/gdb_bfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_bfd.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_bfd.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for BFD wrappers used by GDB.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,8 +19,6 @@
 
 #include "defs.h"
 #include "gdb_bfd.h"
-#include "gdb_assert.h"
-#include <string.h>
 #include "ui-out.h"
 #include "gdbcmd.h"
 #include "hashtab.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_bfd.h ./gdb/gdb_bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_bfd.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_bfd.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for BFD wrappers used by GDB.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_buildall.sh ./gdb/gdb_buildall.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_buildall.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_buildall.sh	2015-01-20 02:05:38.000000000 +0000
@@ -2,7 +2,7 @@
 
 # Build script to build GDB with all targets enabled.
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb.c ./gdb/gdb.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main function for CLI gdb.  
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
 
 #include "defs.h"
 #include "main.h"
-#include <string.h>
 #include "interps.h"
 
 int
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbcmd.h ./gdb/gdbcmd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbcmd.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbcmd.h	2015-01-20 02:05:38.000000000 +0000
@@ -6,7 +6,7 @@
    fnasser@redhat.com    */
 
 /* Header file for GDB-specific command-line stuff.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-code-style.el ./gdb/gdb-code-style.el
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-code-style.el	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb-code-style.el	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 ;;; gdb-code-style.el --- code style checker for GDB contributors
 
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 ;; Author: Yao Qi <yao@codesourcery.com>
 ;; Created: 17 April 2012
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbcore.h ./gdb/gdbcore.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbcore.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbcore.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Machine independent variables that describe the core file under GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -127,14 +127,14 @@ extern void write_memory_signed_integer 
 
 /* Hook for `exec_file_command' command to call.  */
 
-extern void (*deprecated_exec_file_display_hook) (char *filename);
+extern void (*deprecated_exec_file_display_hook) (const char *filename);
 
 /* Hook for "file_command", which is more useful than above
    (because it is invoked AFTER symbols are read, not before).  */
 
 extern void (*deprecated_file_changed_hook) (char *filename);
 
-extern void specify_exec_file_hook (void (*hook) (char *filename));
+extern void specify_exec_file_hook (void (*hook) (const char *filename));
 
 /* Binary File Diddler for the core file.  */
 
@@ -148,7 +148,7 @@ extern int write_files;
 
 extern void core_file_command (char *filename, int from_tty);
 
-extern void exec_file_attach (char *filename, int from_tty);
+extern void exec_file_attach (const char *filename, int from_tty);
 
 extern void exec_file_clear (int from_tty);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_curses.h ./gdb/gdb_curses.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_curses.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_curses.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Portable <curses.h>.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-demangle.h ./gdb/gdb-demangle.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-demangle.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb-demangle.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Basic C++ demangling support for GDB.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-dlfcn.c ./gdb/gdb-dlfcn.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-dlfcn.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb-dlfcn.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Platform independent shared object routines for GDB.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,8 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "gdb_assert.h"
-
 #include "gdb-dlfcn.h"
 
 #ifdef HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-dlfcn.h ./gdb/gdb-dlfcn.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-dlfcn.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb-dlfcn.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Platform independent shared object routines for GDB.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,8 +20,6 @@
 #ifndef GDB_DLFCN_H
 #define GDB_DLFCN_H
 
-#include "defs.h"
-
 /* Load the dynamic library file named FILENAME, and return a handle
    for that dynamic library.  Return NULL if the loading fails for any
    reason.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_expat.h ./gdb/gdb_expat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_expat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_expat.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Slightly more portable version of <expat.h>.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-gdb.py ./gdb/gdb-gdb.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-gdb.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb-gdb.py	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb.h ./gdb/gdb.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Library interface into GDB.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_mbuild.sh ./gdb/gdb_mbuild.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_mbuild.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_mbuild.sh	2015-01-20 02:05:38.000000000 +0000
@@ -3,7 +3,7 @@
 #  Multi-build script for testing compilation of all maintained
 #  configs of GDB.
 
-#  Copyright (C) 2002-2014 Free Software Foundation, Inc.
+#  Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
 #  Contributed by Richard Earnshaw  (rearnsha@arm.com)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_obstack.c ./gdb/gdb_obstack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_obstack.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_obstack.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Obstack wrapper for GDB.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_obstack.h ./gdb/gdb_obstack.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_obstack.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_obstack.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Obstack wrapper for GDB.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,11 +25,11 @@
 /* Utility macros - wrap obstack alloc into something more robust.  */
 
 #define OBSTACK_ZALLOC(OBSTACK,TYPE) \
-  (memset (obstack_alloc ((OBSTACK), sizeof (TYPE)), 0, sizeof (TYPE)))
+  ((TYPE *) memset (obstack_alloc ((OBSTACK), sizeof (TYPE)), 0, sizeof (TYPE)))
 
 #define OBSTACK_CALLOC(OBSTACK,NUMBER,TYPE) \
-  (memset (obstack_alloc ((OBSTACK), (NUMBER) * sizeof (TYPE)), \
-	   0, (NUMBER) * sizeof (TYPE)))
+  ((TYPE *) memset (obstack_alloc ((OBSTACK), (NUMBER) * sizeof (TYPE)), \
+		    0, (NUMBER) * sizeof (TYPE)))
 
 /* Unless explicitly specified, GDB obstacks always use xmalloc() and
    xfree().  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_proc_service.h ./gdb/gdb_proc_service.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_proc_service.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_proc_service.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* <proc_service.h> replacement for systems that don't have it.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_ptrace.h ./gdb/gdb_ptrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_ptrace.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_ptrace.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Portable <sys/ptrace.h>
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_regex.h ./gdb/gdb_regex.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_regex.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_regex.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Portable <regex.h>.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_select.h ./gdb/gdb_select.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_select.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_select.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Slightly more portable version of <sys/select.h>.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/ax.c ./gdb/gdbserver/ax.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/ax.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/ax.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Agent expression code for remote server.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/ax.h ./gdb/gdbserver/ax.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/ax.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/ax.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Data structures and functions associated with agent expressions in GDB.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 #if !defined (AX_H)
 #define AX_H 1
 
-#include "server.h"
 #include "regcache.h"
 
 #ifdef IN_PROCESS_AGENT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/ChangeLog ./gdb/gdbserver/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/ChangeLog	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/ChangeLog	2015-01-20 02:05:38.000000000 +0000
@@ -1,8 +1,615 @@
-2014-10-15  Joel Brobecker  <brobecker@adacore.com>
+2015-01-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* i387-fp.c (i387_cache_to_xsave): In look over
+	num_avx512_zmmh_high_registers, replace use of struct i387_xsave
+	zmmh_low_space field by use of zmmh_high_space.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* linux-low.c (step_over_bkpt): Move higher up in the file.
+	(handle_extended_wait): Don't store the stop_pc here.
+	(get_stop_pc): Adjust comments and rename to ...
+	(check_stopped_by_breakpoint): ... this.  Record whether the LWP
+	stopped for a software breakpoint or hardware breakpoint.
+	(thread_still_has_status_pending_p): New function.
+	(status_pending_p_callback): Use
+	thread_still_has_status_pending_p.  If the event is no longer
+	interesting, resume the LWP.
+	(handle_tracepoints): Add assert.
+	(maybe_move_out_of_jump_pad): Remove cancel_breakpoints call.
+	(wstatus_maybe_breakpoint): New function.
+	(cancel_breakpoint): Delete function.
+	(check_stopped_by_watchpoint): New function, factored out from
+	linux_low_filter_event.
+	(lp_status_maybe_breakpoint): Delete function.
+	(linux_low_filter_event): Remove filter_ptid argument.
+	Leave thread group exits pending here.	Store the LWP's stop PC.
+	Always leave events pending.
+	(linux_wait_for_event_filtered): Pull all events out of the
+	kernel, and leave them all pending.
+	(count_events_callback, select_event_lwp_callback): Consider all
+	events.
+	(cancel_breakpoints_callback, linux_cancel_breakpoints): Delete.
+	(select_event_lwp): Only give preference to the stepping LWP in
+	all-stop mode.	Adjust comments.
+	(ignore_event): New function.
+	(linux_wait_1): Delete 'retry' label.  Use ignore_event.  Remove
+	references to cancel_breakpoints.  Adjust to renames.  Also give
+	equal priority to all LWPs that have had events in non-stop mode.
+	If reporting a software breakpoint event, unadjust the LWP's PC.
+	(linux_wait): If linux_wait_1 returned an ignored event, retry.
+	(stuck_in_jump_pad_callback, move_out_of_jump_pad_callback):
+	Adjust.
+	(linux_resume_one_lwp): Store the LWP's PC.  Adjust.
+	(resume_status_pending_p): Use thread_still_has_status_pending_p.
+	(linux_stopped_by_watchpoint): Adjust.
+	(linux_target_ops): Remove reference to linux_cancel_breakpoints.
+	* linux-low.h (enum lwp_stop_reason): New.
+	(struct lwp_info) <stop_pc>: Adjust comment.
+	<stopped_by_watchpoint>: Delete field.
+	<stop_reason>: New field.
+	* linux-x86-low.c (x86_linux_prepare_to_resume): Adjust.
+	* mem-break.c (software_breakpoint_inserted_here)
+	(hardware_breakpoint_inserted_here): New function.
+	* mem-break.h (software_breakpoint_inserted_here)
+	(hardware_breakpoint_inserted_here): Declare.
+	* target.h (struct target_ops) <cancel_breakpoints>: Remove field.
+	(cancel_breakpoints): Delete.
+	* tracepoint.c (clear_installed_tracepoints, stop_tracing)
+	(upload_fast_traceframes): Remove references to
+	cancel_breakpoints.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* thread-db.c (find_new_threads_callback): Ignore thread if the
+	kernel thread ID is -1.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* linux-low.c (linux_attach_fail_reason_string): Move to
+	nat/linux-ptrace.c, and rename.
+	(linux_attach_lwp): Update comment.
+	(attach_proc_task_lwp_callback): New function.
+	(linux_attach): Adjust to rename and use
+	linux_proc_attach_tgid_threads.
+	(linux_attach_fail_reason_string): Delete declaration.
+
+2015-01-01  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdbreplay.c (gdbreplay_version): Update copyright year to 2015.
+	* server.c (gdbserver_version): Likewise.
+
+2014-12-29  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* remote-utils.c: Include ctype.h.
+	(input_interrupt): Explicitly handle the case when the char
+	received is the NUL byte.  Improve the printing of non-ASCII
+	characters.
+
+2014-12-16  Joel Brobecker  <brobecker@adacore.com>
+
+	* linux-low.c (linux_low_filter_event): Update call to
+	linux_enable_event_reporting following the addition of
+	a new parameter to that function.
+
+2014-12-16  Catalin Udma  <catalin.udma@freescale.com>
+
+	PR server/17457
+	* linux-aarch64-low.c (AARCH64_FPSR_REGNO): New define.
+	(AARCH64_FPCR_REGNO): Likewise.
+	(AARCH64_NUM_REGS): Update to include fpsr/fpcr registers.
+	(aarch64_fill_fpregset): Add missing fpsr/fpcr registers.
+	(aarch64_store_fpregset): Likewise.
+
+2014-12-15  Joel Brobecker  <brobecker@adacore.com>
+
+	* lynx-low.c (lynx_resume): Use PTRACE_SINGLESTEP_ONE if N == 1.
+	Remove FIXME comment about assumption about N.
+
+2014-12-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* configure.ac: If large-file support is disabled in GDBserver,
+	pass --disable-largefile to ACX_CONFIGURE_DIR call for "gnulib".
+	* configure: Regenerate.
+
+2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-low.c (regsets_fetch_inferior_registers): Suppress the
+	warning upon ENODATA from ptrace.
+	* linux-s390-low.c (s390_store_tdb): New.
+	(s390_regsets): Add regset for NT_S390_TDB.
+
+2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-low.c (regsets_store_inferior_registers): Skip regsets
+	without a fill_function.
+	* linux-s390-low.c (s390_fill_last_break): Remove.
+	(s390_regsets): Set fill_function to NULL for NT_S390_LAST_BREAK.
+	(s390_arch_setup): Use regset's size instead of fill_function for
+	loop end condition.
+
+2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-low.c (regsets_fetch_inferior_registers): Do not invoke
+	the regset's store function when ptrace returned an error.
+	* regcache.c (get_thread_regcache): Invalidate register cache
+	before fetching inferior's registers.
+
+2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* linux-low.c (regsets_fetch_inferior_registers): Rephrase
+	while-loop as for-loop.
+	(regsets_store_inferior_registers): Likewise.
+
+2014-11-28  Yao Qi  <yao@codesourcery.com>
+
+	* configure.ac(AC_CHECK_FUNCS): Remove readlink.
+	* config.in, configure: Re-generate.
+	* hostio.c (handle_unlink): Remove code checking HAVE_READLINK
+	is defined.
+
+2014-11-21  Yao Qi  <yao@codesourcery.com>
+
+	* configure.ac: Don't invoke AC_FUNC_ALLOCA.
+	(AC_CHECK_HEADERS): Remove malloc.h.
+	* configure: Re-generated.
+	* config.in: Re-generated.
+	* server.h: Don't include alloca.h and malloc.h.
+	* gdbreplay.c: Don't check HAVE_ALLOCA_H is defined.
+	Don't include malloc.h.
+
+2014-11-17  Joel Brobecker  <brobecker@adacore.com>
+
+	* lynx-low.c (lynx_write_memory): Put lynx_read_memory and
+	corresponding ERRNO check in same block.
+
+2014-11-12  Pedro Alves  <palves@redhat.com>
+
+	* server.c (cont_thread): Update comment.
+	(start_inferior, attach_inferior): No longer clear cont_thread.
+	(handle_v_cont): No longer set cont_thread.
+	(captured_main): Clear cont_thread each time a GDB connects.
+
+2014-11-12  Pedro Alves  <palves@redhat.com>
+
+	* linux-low.c (linux_wait_1): Don't force a wait for the Hc
+	thread, and don't resume all threads if the Hc thread has exited.
+
+2014-11-12  Pedro Alves  <palves@redhat.com>
+
+	* linux-low.c (linux_request_interrupt): Always send a SIGINT to
+	the process group instead of to a specific LWP.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
 
 	PR server/17487
-	* win32-i386-low.c (i386_get_thread_context): Do not set
-	dr->dr_control_mirror.
+	* win32-arm-low.c (arm_set_thread_context): Remove current_event
+	parameter.
+	(arm_set_thread_context): Delete.
+	(the_low_target): Adjust.
+	* win32-i386-low.c (debug_registers_changed)
+	(debug_registers_used): Delete.
+	(update_debug_registers_callback): New function.
+	(x86_dr_low_set_addr, x86_dr_low_set_control): Mark all threads as
+	needing to update their debug registers.
+	(win32_get_current_dr): New function.
+	(x86_dr_low_get_addr, x86_dr_low_get_control)
+	(x86_dr_low_get_status): Fetch the debug register from the thread
+	record's context.
+	(i386_initial_stuff): Adjust.
+	(i386_get_thread_context): Remove current_event parameter.  Don't
+	clear debug_registers_changed nor copy DR values to
+	debug_reg_state.
+	(i386_set_thread_context): Delete.
+	(i386_prepare_to_resume): New function.
+	(i386_thread_added): Mark the thread as needing to update irs
+	debug registers.
+	(the_low_target): Remove i386_set_thread_context and install
+	i386_prepare_to_resume.
+	* win32-low.c (win32_get_thread_context): Adjust.
+	(win32_set_thread_context): Use SetThreadContext
+	directly.
+	(win32_prepare_to_resume): New function.
+	(win32_require_context): New function, factored out from ...
+	(thread_rec): ... this.
+	(continue_one_thread): Call win32_prepare_to_resume on each thread
+	we're about to continue.
+	(win32_resume): Call win32_prepare_to_resume on the event thread.
+	* win32-low.h (struct win32_thread_info)
+	<debug_registers_changed>: New field.
+	(struct win32_target_ops): Change prototype of set_thread_context,
+	delete set_thread_context and add prepare_to_resume.
+	(win32_require_context): New declaration.
+
+2014-10-08  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include common-exceptions.h.
+
+2014-10-08  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include cleanups.h.
+
+2014-09-30  James Hogan  <james.hogan@imgtec.com>
+
+	* Makefile.in (clean): Add rm -f commands for mips-dsp-linux.c and
+	mips64-dsp-linux.c.
+
+2014-09-23  Yao Qi  <yao@codesourcery.com>
+
+	* linux-low.c (lp_status_maybe_breakpoint): New function.
+	(linux_low_filter_event): Call lp_status_maybe_breakpoint.
+	(count_events_callback): Likewise.
+	(select_event_lwp_callback): Likewise.
+	(cancel_breakpoints_callback): Likewise.
+
+2014-09-19  Don Breazeal  <donb@codesourcery.com>
+
+	* linux-low.c (handle_extended_wait): Call
+	linux_ptrace_get_extended_event.
+	(get_stop_pc, get_detach_signal, linux_low_filter_event): Call
+	linux_is_extended_waitstatus.
+
+2014-09-16  Joel Brobecker  <brobecker@adacore.com>
+
+	* Makefile.in (CPPFLAGS): Define.
+	(INTERNAL_CFLAGS_BASE): Add ${CPPFLAGS}.
+	(IPAGENT_CFLAGS): Remove ${CPPFLAGS}.
+
+2014-09-16  Gary Benson  <gbenson@redhat.com>
+
+	* inferiors.h (current_inferior): Renamed as...
+	(current_thread): New variable.  All uses updated.
+	* linux-low.c (get_pc): Renamed saved_inferior as saved_thread.
+	(maybe_move_out_of_jump_pad): Likewise.
+	(cancel_breakpoint): Likewise.
+	(linux_low_filter_event): Likewise.
+	(wait_for_sigstop): Likewise.
+	(linux_resume_one_lwp): Likewise.
+	(need_step_over_p): Likewise.
+	(start_step_over): Likewise.
+	(linux_stabilize_threads): Renamed save_inferior as saved_thread.
+	* linux-x86-low.c (x86_linux_update_xmltarget): Likewise.
+	* proc-service.c (ps_lgetregs): Renamed reg_inferior as reg_thread
+	and save_inferior as saved_thread.
+	* regcache.c (get_thread_regcache): Renamed saved_inferior as
+	saved_thread.
+	(regcache_invalidate_thread): Likewise.
+	* remote-utils.c (prepare_resume_reply): Likewise.
+	* thread-db.c (thread_db_get_tls_address): Likewise.
+	(disable_thread_event_reporting): Likewise.
+	(remove_thread_event_breakpoints): Likewise.
+	* tracepoint.c (gdb_agent_about_to_close): Renamed save_inferior
+	as saved_thread.
+	* target.h (set_desired_inferior): Renamed as...
+	(set_desired_thread): New declaration.  All uses updated.
+	* server.c (myresume): Updated comment to reference thread instead
+	of inferior.
+	(handle_serial_event): Likewise.
+	(handle_target_event): Likewise.
+
+2014-09-12  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* regcache.h: Include common-regcache.h.
+	(regcache_read_pc): Don't declare.
+	* regcache.c (get_thread_regcache_for_ptid): New function.
+
+2014-09-11  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* symbol.c: New file.
+	* Makefile.in (SFILES): Add symbol.c.
+	(OBS): Add symbol.o.
+
+2014-09-11  Gary Benson  <gbenson@redhat.com>
+
+	* target.c (target_stop_ptid, target_continue_ptid): New
+	functions.
+
+2014-09-11  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* target.h: Include target/target.h.
+	* target.c (target_read_memory, target_read_uint32)
+	(target_write_memory): New functions.
+
+2014-09-11  Gary Benson  <gbenson@redhat.com>
+
+	* server.h (debug_hw_points): Don't declare.
+	* server.c (debug_hw_points): Don't define.  Replace all uses
+	with show_debug_regs.
+	* linux-aarch64-low.c (debug_hw_points): Don't define.  Replace
+	all uses with show_debug_regs.
+
+2014-09-08  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+	* linux-ppc-low.c (ppc_collect_ptrace_register): Adjust routine to take
+	endianness into account.
+	(ppc_supply_ptrace_register): Likewise.
+
+2014-09-03  James Hogan  <james.hogan@imgtec.com>
+
+	* linux-mips-low.c (mips_read_description): Reset errno to 0 prior
+	to reading DSP_CONTROL with PTRACE_PEEKUSER ptrace call.
+
+2014-09-03  Gary Benson  <gbenson@redhat.com>
+
+	* linux-x86-low.c (x86_linux_prepare_to_resume): Use
+	ALL_DEBUG_ADDRESS_REGISTERS.
+
+2014-09-02  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.h: Renamed as...
+	* x86-low.h: New file.  All type, function and variable name
+	prefixes changed from "i386_" to "x86_".  All references updated.
+	* i386-low.c: Renamed as...
+	* x86-low.c: New file.  All type, function and variable name
+	prefixes changed from "i386_" to "x86_".  All references updated.
+
+2014-09-02  Gary Benson  <gbenson@redhat.com>
+
+	* linux-x86-low.c (x86_linux_new_process): Use XCNEW.
+	(x86_linux_new_thread): Likewise.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* server.h (setjmp.h): Do not include.
+	(toplevel): Do not declare.
+	(common-exceptions.h): Include.
+	(cleanups.h): Likewise.
+	* server.c (toplevel): Do not define.
+	(exit_code): New static global.
+	(detach_or_kill_for_exit_cleanup): New function.
+	(main): New function.  Original main renamed to...
+	(captured_main): New function.
+	* utils.c (verror) [!IN_PROCESS_AGENT]: Use throw_verror.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* Makefile.in (SFILES): Add common/common-exceptions.c.
+	(OBS): Add common-exceptions.o.
+	(common-exceptions.o): New rule.
+	* utils.c (prepare_to_throw_exception): New function.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* config.in: Regenerate.
+	* configure: Likewise.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* Makefile.in (SFILES): Add common/cleanups.c.
+	(OBS): cleanups.o.
+	(cleanups.o): New rule.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+	* utils.c (internal_vwarning): New function.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+	* utils.h (fatal): Remove declaration.
+	* utils.c (fatal): Remove function.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+	* tracepoint.c (gdb_agent_init): Replace fatal with
+	perror_with_name.
+	(initialize_tracepoint): Likewise.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+	* remote-utils.c (remote_prepare): Replace fatal with error.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+	* linux-low.c (linux_async): Replace fatal with warning.
+	Tidy up and return.
+	(linux_start_non_stop): Return -1 if linux_async failed.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+	* linux-x86-low.c (i386_dr_low_set_addr): Replace check with
+	gdb_assert.
+	(i386_dr_low_get_addr): Remove vague comment.
+	* win32-i386-low.c (i386_dr_low_set_addr): Replace check with
+	gdb_assert.
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+	* inferiors.c (get_thread_process): Replace check with gdb_assert.
+	* linux-low.c (linux_wait_for_event_filtered): Replace fatal with
+	internal_error.
+	(linux_resume_one_lwp): Likewise.
+	* linux-x86-low.c (x86_siginfo_fixup): Replace checks with
+	gdb_assert.
+	* mem-break.c (raw_bkpt_type_to_target_hw_bp_type): Replace fatal
+	with internal_error.
+	* regcache.c (get_thread_regcache): Replace check with gdb_assert.
+	(init_register_cache): Replace fatal with gdb_assert_not_reached.
+	(find_register_by_name): Replace fatal with internal_error.
+	(find_regno): Likewise.
+	* tdesc.c (init_target_desc): Replace check with gdb_assert.
+	* thread-db.c (thread_db_create_event): Likewise.
+	(thread_db_load_search): Likewise.
+	(try_thread_db_load_1): Likewise.
+	* tracepoint.c (get_jump_space_head): Replace fatal with
+	internal_error.
+	(claim_trampoline_space): Likewise.
+	(have_fast_tracepoint_trampoline_buffer): Likewise.
+	(cmd_qtstart): Likewise.
+	(stop_tracing): Likewise.
+	(fast_tracepoint_collecting): Likewise.
+	(target_malloc): Likewise.
+	(download_tracepoint): Likewise.
+	(download_trace_state_variables): Replace check with gdb_assert.
+	(upload_fast_traceframes): Replace fatal with internal_error.
+
+2014-08-19  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* Makefile.in (SFILES): Add common/common-debug.c.
+	(OBS): Add common-debug.o.
+	(common-debug.o): New rule.
+	* debug.h (debug_printf): Don't declare.
+	* debug.c (debug_printf): Renamed and rewritten as...
+	(debug_vprintf): New function.
+
+2014-08-19  Gary Benson  <gbenson@redhat.com>
+
+	* utils.h: Do not include print-utils.h.
+
+2014-08-19  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Add static assertion.
+	(gdb_byte, CORE_ADDR, LONGEST, ULONGEST): Remove.
+
+2014-08-19  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* Makefile.in (SFILES): Add common/errors.c.
+	(OBS): Add errors.o.
+	(IPA_OBS): Add errors-ipa.o.
+	(errors.o): New rule.
+	(errors-ipa.o): Likewise.
+	* utils.h (perror_with_name, error, warning): Don't declare.
+	* utils.c (warning): Renamed and rewritten as...
+	(vwarning): New function.
+	(error): Renamed and rewritten as...
+	(verror): New function.
+	(internal_error): Renamed and rewritten as...
+	(internal_verror): New function.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* configure.ac (AC_CHECK_HEADERS): Remove errno.h.
+	* configure: Regenerate.
+	* config.in: Likewise.
+	* server.h: Do not include errno.h.
+	* event-loop.c: Likewise.
+	* hostio-errno.c: Likewise.
+	* linux-low.c: Likewise.
+	* remote-utils.c: Likewise.
+	* spu-low.c: Likewise.
+	* utils.c: Likewise.
+	* gdbreplay.c: Unconditionally include errno.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include string.h.
+	* event-loop.c: Likewise.
+	* linux-low.c: Likewise.
+	* regcache.c: Likewise.
+	* remote-utils.c: Likewise.
+	* spu-low.c: Likewise.
+	* utils.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include gdb_assert.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include common-utils.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include ptid.h.
+	* notif.h: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include gdb_locale.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include gdb/signals.h.
+	* win32-low.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include pathmax.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include libiberty.h.
+	* linux-bfin-low.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include ansidecl.h.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* linux-x86-low.c: Do not include stddef.h.
+	* lynx-ppc-low.c: Likewise.
+	* tracepoint.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include stdarg.h.
+	* nto-low.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include stdlib.h.
+	* inferiors.c: Likewise.
+	* linux-low.c: Likewise.
+	* regcache.c: Likewise.
+	* spu-low.c: Likewise.
+	* tracepoint.c: Likewise.
+	* utils.c: Likewise.
+
+2014-08-07  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Do not include stdio.h.
+	* linux-low.c: Likewise.
+	* remote-utils.c: Likewise.
+	* spu-low.c: Likewise.
+	* utils.c: Likewise.
+	* wincecompat.c: Likewise.
+
+2014-08-06  Gary Benson  <gbenson@redhat.com>
+
+	* regcache.c (init_register_cache): Move conditionals inside if.
+
+2014-08-06  Gary Benson  <gbenson@redhat.com>
+
+	* linux-low.c (linux_supports_non_stop): Use target_is_async_p.
+
+2014-07-31  Gary Benson  <gbenson@redhat.com>
+
+	* ax.h: Do not include server.h.
+	* gdbthread.h: Likewise.
+	* lynx-low.h: Likewise.
+	* notif.h: Likewise.
+
+2014-07-30  Gary Benson  <gbenson@redhat.com>
+
+	* server.h: Include common-defs.h.
+	Do not include config.h or build-gnulib-gdbserver/config.h.
+
+2014-07-30  Gary Benson  <gbenson@redhat.com>
+
+	* hostio-errno.c: Move server.h to top of includes list.
+	* inferiors.c: Likewise.
+	* linux-x86-low.c: Likewise.
+	* notif.c: Include server.h.
+
+2014-07-24  Tom Tromey  <tromey@redhat.com>
+	    Gary Benson  <gbenson@redhat.com>
+
+	* server.h (CORE_ADDR): Now unsigned.
+
+2014-07-16  Pedro Alves  <palves@redhat.com>
+
+	* linux-low.c (linux_kill_one_lwp): Use kill_lwp, not kill.
+
+2014-07-15  Pedro Alves  <palves@redhat.com>
+
+	* linux-low.c (linux_kill_one_lwp): Save errno and work with saved
+	copy.
 
 2014-07-11  Pedro Alves  <palves@redhat.com>
 
@@ -14,10 +621,229 @@
 
 	* linux-x86-low.c (x86_linux_prepare_to_resume): Clear DR_CONTROL
 	before setting DR0..DR3.
-	* i386-low.c (i386_remove_aligned_watchpoint): Clear all bits of
-	DR_CONTROL related to the debug register slot being disabled.  If
-	all slots are vacant, clear local slowdown as well, and assert
-	DR_CONTROL is 0.
+
+2014-06-20  Gary Benson  <gbenson@redhat.com>
+
+	* configure.ac (AC_REPLACE_FUNCS) <vasprintf, vsnprintf>: Removed.
+	* configure: Regenerated.
+	* config.in: Likewise.
+
+2014-06-20  Gary Benson  <gbenson@redhat.com>
+
+	* Makefile.in (SFILES): Update locations for files moved
+	from common to nat.
+	(object file files): Reordered.
+
+2014-06-20  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.h (i386_dr_low_can_set_addr): Removed.
+	(i386_dr_low_set_addr): Likewise.
+	(i386_dr_low_get_addr): Likewise.
+	(i386_dr_low_can_set_control): Likewise.
+	(i386_dr_low_set_control): Likewise.
+	(i386_dr_low_get_control): Likewise.
+	(i386_dr_low_get_status): Likewise.
+	(i386_get_debug_register_length): Likewise.
+	* linux-x86-low.c (i386_dr_low_set_addr):
+	Changed signature.  Made static.
+	(i386_dr_low_get_addr): Likewise.
+	(i386_dr_low_set_control): Likewise.
+	(i386_dr_low_get_control): Likewise.
+	(i386_dr_low_get_status): Likewise.
+	(i386_dr_low): New global variable.
+	* win32-i386-low.c (i386_dr_low_set_addr):
+	Changed signature.  Made static.
+	(i386_dr_low_get_addr): Likewise.
+	(i386_dr_low_set_control): Likewise.
+	(i386_dr_low_get_control): Likewise.
+	(i386_dr_low_get_status): Likewise.
+	(i386_dr_low): New global variable.
+
+2014-06-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+	* configure.ac: Invoke. AC_CHECK_TOOL(AR, ar).
+	* Makefile.in (AR, AR_FLAGS): Define.
+	* configure: Regenerate.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* Makefile.in (i386-dregs.o): New rule.
+	* configure.srv: Add i386-dregs.o to all targets using i386-low.o.
+	* i386-low.c (target.h): Remove include.
+	(TARGET_HAS_DR_LEN_8): Now in i386-dregs.c.
+	(DR_CONTROL_SHIFT): Likewise.
+	(DR_CONTROL_SIZE): Likewise.
+	(DR_RW_EXECUTE): Likewise.
+	(DR_RW_WRITE): Likewise.
+	(DR_RW_READ): Likewise.
+	(DR_RW_IORW): Likewise.
+	(DR_LEN_1): Likewise.
+	(DR_LEN_2): Likewise.
+	(DR_LEN_4): Likewise.
+	(DR_LEN_8): Likewise.
+	(DR_LOCAL_ENABLE_SHIFT): Likewise.
+	(DR_GLOBAL_ENABLE_SHIFT): Likewise.
+	(DR_ENABLE_SIZE): Likewise.
+	(DR_LOCAL_SLOWDOWN): Likewise.
+	(DR_GLOBAL_SLOWDOWN): Likewise.
+	(DR_CONTROL_RESERVED): Likewise.
+	(I386_DR_CONTROL_MASK): Likewise.
+	(I386_DR_VACANT): Likewise.
+	(I386_DR_LOCAL_ENABLE): Likewise.
+	(I386_DR_GLOBAL_ENABLE): Likewise.
+	(I386_DR_DISABLE): Likewise.
+	(I386_DR_SET_RW_LEN): Likewise.
+	(I386_DR_GET_RW_LEN): Likewise.
+	(I386_DR_WATCH_HIT): Likewise.
+	(i386_wp_op_t): Likewise.
+	(i386_show_dr): Likewise.
+	(i386_length_and_rw_bits): Likewise.
+	(i386_insert_aligned_watchpoint): Likewise.
+	(i386_remove_aligned_watchpoint): Likewise.
+	(i386_handle_nonaligned_watchpoint): Likewise.
+	i386_update_inferior_debug_regs(): Likewise.
+	(i386_dr_insert_watchpoint): Likewise.
+	(i386_dr_remove_watchpoint): Likewise.
+	(i386_dr_region_ok_for_watchpoint): Likewise.
+	(i386_dr_stopped_data_address): Likewise.
+	(i386_dr_stopped_by_watchpoint): Likewise.
+
+2014-06-19  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.c (i386_dr_show): Renamed to
+	i386_show_dr and made static.  All uses updated.
+	(i386_dr_length_and_rw_bits): Renamed to
+	i386_length_and_rw_bits and made static.
+	All uses updated.
+	(i386_dr_insert_aligned_watchpoint): Renamed to
+	i386_insert_aligned_watchpoint and made static.
+	All uses updated.
+	(i386_dr_remove_aligned_watchpoint): Renamed to
+	i386_remove_aligned_watchpoint and made static.
+	All uses updated.
+	(i386_dr_update_inferior_debug_regs): Renamed to
+	i386_update_inferior_debug_regs and made static.
+	All uses updated.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.h (i386_dr_low_can_set_addr): New macro.
+	(i386_dr_low_can_set_control): Likewise.
+	(i386_get_debug_register_length): Likewise.
+	* i386-low.c (i386_dr_low_can_set_addr): Now in i386-low.h.
+	(i386_dr_low_can_set_control): Likewise.
+	(i386_get_debug_register_length): Likewise.
+
+2014-06-17  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.h (i386-dregs.h): New include.
+	(DR_FIRSTADDR): Now in i386-dregs.h.
+	(DR_LASTADDR): Likewise.
+	(DR_NADDR): Likewise.
+	(DR_STATUS): Likewise.
+	(DR_CONTROL): Likewise.
+	(i386_debug_reg_state): Likewise.
+	(i386_dr_insert_watchpoint): Likewise.
+	(i386_dr_remove_watchpoint): Likewise.
+	(i386_dr_region_ok_for_watchpoint): Likewise.
+	(i386_dr_stopped_data_address): Likewise.
+	(i386_dr_stopped_by_watchpoint): Likewise.
+	* i386-low.c (ALL_DEBUG_REGISTERS): Likewise.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.h (i386_low_insert_watchpoint): Renamed to
+	i386_dr_insert_watchpoint.
+	(i386_low_remove_watchpoint): Renamed to
+	i386_dr_remove_watchpoint.
+	(i386_low_region_ok_for_watchpoint): Renamed to
+	i386_dr_region_ok_for_watchpoint.
+	(i386_low_stopped_data_address): Renamed to
+	i386_dr_stopped_data_address.
+	(i386_low_stopped_by_watchpoint): Renamed to
+	i386_dr_stopped_by_watchpoint.
+	* i386-low.c (i386_show_dr): Renamed to
+	i386_dr_show and made nonstatic.  All uses updated.
+	(i386_length_and_rw_bits): Renamed to
+	i386_dr_length_and_rw_bits and made nonstatic.
+	All uses updated.
+	(i386_insert_aligned_watchpoint): Renamed to
+	i386_dr_insert_aligned_watchpoint and made nonstatic.
+	All uses updated.
+	(i386_remove_aligned_watchpoint): Renamed to
+	i386_dr_remove_aligned_watchpoint and made nonstatic.
+	All uses updated.
+	(i386_update_inferior_debug_regs): Renamed to
+	i386_dr_update_inferior_debug_regs and made nonstatic.
+	All uses updated.
+	(i386_low_insert_watchpoint): Renamed to
+	i386_dr_insert_watchpoint.  All uses updated.
+	(i386_low_remove_watchpoint): Renamed to
+	i386_dr_remove_watchpoint.  All uses updated.
+	(i386_low_region_ok_for_watchpoint): Renamed to
+	i386_dr_region_ok_for_watchpoint.  All uses updated.
+	(i386_low_stopped_data_address): Renamed to
+	i386_dr_stopped_data_address.  All uses updated.
+	(i386_low_stopped_by_watchpoint): Renamed to
+	i386_dr_stopped_by_watchpoint.  All uses updated.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.c (i386_dr_low_can_set_addr): New macro.
+	(i386_dr_low_can_set_control): Likewise.
+	(i386_insert_aligned_watchpoint): New check.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.c (i386_update_inferior_debug_regs) <inf_state>:
+	Renamed to state.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.c (i386_length_and_rw_bits): Use internal_error
+	instead of fatal and error.
+	(i386_handle_nonaligned_watchpoint): Likewise.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.c (i386_get_debug_register_length): New macro.
+	(TARGET_HAS_DR_LEN_8): Remove conditional.  Use above macro.
+	(i386_show_dr): Use debug_printf instead of fprintf.  Use
+	phex to format values.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.h: Comment changes.
+	* i386-low.c: Likewise.
+
+2014-06-18  Gary Benson  <gbenson@redhat.com>
+
+	* i386-low.c: Whitespace changes.
+
+2014-06-12  Tom Tromey  <tromey@redhat.com>
+
+	* utils.c (freeargv): Remove.
+
+2014-06-12  Tom Tromey  <tromey@redhat.com>
+
+	* debug.c (debug_printf): Remove HAVE_GETTIMEOFDAY checks.
+	* server.c (monitor_show_help): Remove HAVE_GETTIMEOFDAY check.
+	(parse_debug_format_options): Likewise.
+	(gdbserver_usage): Likewise.
+	* Makefile.in (LIBIBERTY_BUILDDIR, LIBIBERTY): New variables.
+	(SUBDIRS, REQUIRED_SUBDIRS): Add libiberty.
+	(gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Depend on and link
+	against libiberty.
+	($(LIBGNU)): Depend on libiberty.
+	(all-lib): Recurse into all subdirs.
+	(install-only): Invoke "install" target in subdirs.
+	(vasprintf.o, vsnprintf.o, safe-ctype.o, lbasename.o): Remove
+	targets.
+	* configure: Rebuild.
+	* configure.ac: Add ACX_CONFIGURE_DIR for libiberty.  Don't check
+	for vasprintf, vsnprintf, or gettimeofday.
+	* configure.srv: Don't add safe-ctype.o or lbasename.o to
+	srv_tgtobj.
 
 2014-06-05  Joel Brobecker  <brobecker@adacore.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/config.in ./gdb/gdbserver/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/config.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/config.in	2015-01-20 02:05:38.000000000 +0000
@@ -54,9 +54,6 @@
 /* Define if <sys/procfs.h> has elf_fpregset_t. */
 #undef HAVE_ELF_FPREGSET_T
 
-/* Define to 1 if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
-
 /* Define to 1 if you have the <fcntl.h> header file. */
 #undef HAVE_FCNTL_H
 
@@ -66,9 +63,6 @@
 /* Define to 1 if you have the `getrlimit' function. */
 #undef HAVE_GETRLIMIT
 
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
@@ -102,9 +96,6 @@
 /* Define if <thread_db.h> has lwpid_t. */
 #undef HAVE_LWPID_T
 
-/* Define to 1 if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
@@ -151,15 +142,15 @@
 /* Define to 1 if you have the `pwrite' function. */
 #undef HAVE_PWRITE
 
-/* Define to 1 if you have the `readlink' function. */
-#undef HAVE_READLINK
-
 /* Define to 1 if you have the <sgtty.h> header file. */
 #undef HAVE_SGTTY_H
 
 /* Define to 1 if you have the <signal.h> header file. */
 #undef HAVE_SIGNAL_H
 
+/* Define if sigsetjmp is available. */
+#undef HAVE_SIGSETJMP
+
 /* Define to 1 if you have the `socketpair' function. */
 #undef HAVE_SOCKETPAIR
 
@@ -232,12 +223,6 @@
 /* Define if UST is available */
 #undef HAVE_UST
 
-/* Define to 1 if you have the `vasprintf' function. */
-#undef HAVE_VASPRINTF
-
-/* Define to 1 if you have the `vsnprintf' function. */
-#undef HAVE_VSNPRINTF
-
 /* Define to 1 if you have the <wait.h> header file. */
 #undef HAVE_WAIT_H
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/configure ./gdb/gdbserver/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/configure	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/configure	2015-01-20 02:05:38.000000000 +0000
@@ -589,6 +589,7 @@ ac_includes_default="\
 #endif"
 
 ac_subst_vars='LTLIBOBJS
+LIBOBJS
 GNULIB_STDINT_H
 extra_libraries
 IPA_DEPFILES
@@ -604,7 +605,7 @@ WERROR_CFLAGS
 WARN_CFLAGS
 ustinc
 ustlibs
-LIBOBJS
+ALLOCA
 SET_MAKE
 GMAKE_FALSE
 GMAKE_TRUE
@@ -614,8 +615,8 @@ DEPDIR
 am__leading_dot
 host_noncanonical
 target_noncanonical
-ALLOCA
 RANLIB
+AR
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
@@ -3916,6 +3917,98 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCR
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_AR="ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_AR" = x; then
+    AR=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -4132,197 +4225,6 @@ if test $ac_cv_header_stdc = yes; then
 fi
 
 
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-			  if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-				    if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
 # Set the 'development' global.
 . $srcdir/../../bfd/development.sh
 
@@ -4612,6 +4514,12 @@ else
 fi
 
 
+gnulib_extra_configure_args=
+# If large-file support is disabled, make sure gnulib does the same.
+if test "$enable_largefile" = no; then
+gnulib_extra_configure_args="$gnulib_extra_configure_args --disable-largefile"
+fi
+
 # Configure gnulib.  We can't use AC_CONFIG_SUBDIRS as that'd expect
 # to find the the source subdir to be configured directly under
 # gdbserver/.  We need to build gnulib under some other directory not
@@ -4620,6 +4528,110 @@ fi
 
   in_src="../gnulib"
   in_build="build-gnulib-gdbserver"
+  in_extra_args="$gnulib_extra_configure_args"
+
+  # Remove --cache-file, --srcdir, and --disable-option-checking arguments
+  # so they do not pile up.
+  ac_sub_configure_args=
+  ac_prev=
+  eval "set x $ac_configure_args"
+  shift
+  for ac_arg
+  do
+    if test -n "$ac_prev"; then
+      ac_prev=
+      continue
+    fi
+    case $ac_arg in
+    -cache-file | --cache-file | --cache-fil | --cache-fi \
+    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+      ac_prev=cache_file ;;
+    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
+    | --c=*)
+      ;;
+    --config-cache | -C)
+      ;;
+    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+      ac_prev=srcdir ;;
+    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+      ;;
+    -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+      ac_prev=prefix ;;
+    -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+      ;;
+    --disable-option-checking)
+      ;;
+    *)
+      case $ac_arg in
+      *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      esac
+      as_fn_append ac_sub_configure_args " '$ac_arg'" ;;
+    esac
+  done
+
+  # Always prepend --prefix to ensure using the same prefix
+  # in subdir configurations.
+  ac_arg="--prefix=$prefix"
+  case $ac_arg in
+  *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+  esac
+  ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
+
+  # Pass --silent
+  if test "$silent" = yes; then
+    ac_sub_configure_args="--silent $ac_sub_configure_args"
+  fi
+
+  # Always prepend --disable-option-checking to silence warnings, since
+  # different subdirs can have different --enable and --with options.
+  ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args"
+
+  ac_popdir=`pwd`
+  ac_dir=$in_build
+
+  ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
+  $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5
+  $as_echo "$ac_msg" >&6
+  as_dir="$ac_dir"; as_fn_mkdir_p
+
+  case $srcdir in
+  [\\/]* | ?:[\\/]* )
+    ac_srcdir=$srcdir/$in_src ;;
+  *) # Relative name.
+    ac_srcdir=../$srcdir/$in_src ;;
+  esac
+
+  cd "$ac_dir"
+
+  ac_sub_configure=$ac_srcdir/configure
+
+  # Make the cache file name correct relative to the subdirectory.
+  case $cache_file in
+  [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
+  *) # Relative name.
+    ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
+  esac
+
+  if test -n "$in_extra_args"; then
+    # Add the extra args at the end.
+    ac_sub_configure_args="$ac_sub_configure_args $in_extra_args"
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
+$as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
+  # The eval makes quoting arguments work.
+  eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
+       --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
+    as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
+
+  cd "$ac_popdir"
+
+
+
+  in_src="../../libiberty"
+  in_build="build-libiberty-gdbserver"
+  in_extra_args=
 
   # Remove --cache-file, --srcdir, and --disable-option-checking arguments
   # so they do not pile up.
@@ -4704,6 +4716,11 @@ fi
     ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
   esac
 
+  if test -n "$in_extra_args"; then
+    # Add the extra args at the end.
+    ac_sub_configure_args="$ac_sub_configure_args $in_extra_args"
+  fi
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
 $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
   # The eval makes quoting arguments work.
@@ -4714,7 +4731,7 @@ fi
   cd "$ac_popdir"
 
 
-for ac_header in sgtty.h termio.h termios.h sys/reg.h string.h 		 proc_service.h sys/procfs.h linux/elf.h 		 errno.h fcntl.h signal.h sys/file.h malloc.h 		 sys/ioctl.h netinet/in.h sys/socket.h netdb.h 		 netinet/tcp.h arpa/inet.h
+for ac_header in sgtty.h termio.h termios.h sys/reg.h string.h 		 proc_service.h sys/procfs.h linux/elf.h 		 fcntl.h signal.h sys/file.h 		 sys/ioctl.h netinet/in.h sys/socket.h netdb.h 		 netinet/tcp.h arpa/inet.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -4728,7 +4745,7 @@ fi
 
 done
 
-for ac_func in gettimeofday pread pwrite pread64 readlink
+for ac_func in pread pwrite pread64
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -4741,27 +4758,6 @@ _ACEOF
 fi
 done
 
-for ac_func in vasprintf vsnprintf
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
-  case " $LIBOBJS " in
-  *" $ac_func.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
- ;;
-esac
-
-fi
-done
-
-
 
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
@@ -5153,6 +5149,39 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
+$as_echo_n "checking for sigsetjmp... " >&6; }
+if test "${gdb_cv_func_sigsetjmp+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <setjmp.h>
+
+int
+main ()
+{
+sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gdb_cv_func_sigsetjmp=yes
+else
+  gdb_cv_func_sigsetjmp=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_func_sigsetjmp" >&5
+$as_echo "$gdb_cv_func_sigsetjmp" >&6; }
+if test $gdb_cv_func_sigsetjmp = yes; then
+
+$as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h
+
+fi
+
 
 # Check for UST
 ustlibs=""
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/configure.ac ./gdb/gdbserver/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/configure.ac	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/configure.ac	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 dnl Autoconf configure script for GDB server.
-dnl Copyright (C) 2000-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2015 Free Software Foundation, Inc.
 dnl
 dnl This file is part of GDB.
 dnl
@@ -32,14 +32,13 @@ AC_SYS_LARGEFILE
 AC_CANONICAL_SYSTEM
 
 AC_PROG_INSTALL
+AC_CHECK_TOOL(AR, ar)
 AC_PROG_RANLIB
 
 AC_ARG_PROGRAM
 
 AC_HEADER_STDC
 
-AC_FUNC_ALLOCA
-
 # Set the 'development' global.
 . $srcdir/../../bfd/development.sh
 
@@ -70,20 +69,28 @@ esac
 AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
 AC_PROG_MAKE_SET
 
+gnulib_extra_configure_args=
+# If large-file support is disabled, make sure gnulib does the same.
+if test "$enable_largefile" = no; then
+gnulib_extra_configure_args="$gnulib_extra_configure_args --disable-largefile"
+fi
+
 # Configure gnulib.  We can't use AC_CONFIG_SUBDIRS as that'd expect
 # to find the the source subdir to be configured directly under
 # gdbserver/.  We need to build gnulib under some other directory not
 # "gnulib", to avoid the problem of both GDB and GDBserver wanting to
 # build it in the same directory, when building in the source dir.
-ACX_CONFIGURE_DIR(["../gnulib"], ["build-gnulib-gdbserver"])
+ACX_CONFIGURE_DIR(["../gnulib"], ["build-gnulib-gdbserver"],
+                  ["$gnulib_extra_configure_args"])
+
+ACX_CONFIGURE_DIR(["../../libiberty"], ["build-libiberty-gdbserver"])
 
 AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl
 		 proc_service.h sys/procfs.h linux/elf.h dnl
-		 errno.h fcntl.h signal.h sys/file.h malloc.h dnl
+		 fcntl.h signal.h sys/file.h dnl
 		 sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl
 		 netinet/tcp.h arpa/inet.h)
-AC_CHECK_FUNCS(gettimeofday pread pwrite pread64 readlink)
-AC_REPLACE_FUNCS(vasprintf vsnprintf)
+AC_CHECK_FUNCS(pread pwrite pread64)
 
 GDB_AC_COMMON
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/configure.srv ./gdb/gdbserver/configure.srv
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/configure.srv	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/configure.srv	2015-01-20 02:05:38.000000000 +0000
@@ -77,7 +77,6 @@ case "${target}" in
 			;;
   arm*-*-mingw32ce*)	srv_regobj=reg-arm.o
 			srv_tgtobj="win32-low.o win32-arm-low.o"
-			srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
 			srv_tgtobj="${srv_tgtobj} wincecompat.o"
 			# hostio_last_error implementation is in win32-low.c
 			srv_hostio_err_objs=""
@@ -100,8 +99,7 @@ case "${target}" in
 			srv_linux_thread_db=yes
 			;;
   i[34567]86-*-cygwin*)	srv_regobj="$srv_i386_regobj"
-			srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
-			srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
+			srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o"
 			srv_xmlfiles="$srv_i386_xmlfiles"
 			;;
   i[34567]86-*-linux*)	srv_regobj="$srv_i386_linux_regobj"
@@ -110,7 +108,7 @@ case "${target}" in
 			    srv_regobj="$srv_regobj $srv_amd64_linux_regobj"
 			    srv_xmlfiles="${srv_xmlfiles} $srv_amd64_linux_xmlfiles"
 			fi
-			srv_tgtobj="$srv_linux_obj linux-x86-low.o i386-low.o i387-fp.o"
+			srv_tgtobj="$srv_linux_obj linux-x86-low.o x86-low.o x86-dregs.o i387-fp.o"
 			srv_tgtobj="${srv_tgtobj} linux-btrace.o"
 			srv_linux_usrregs=yes
 			srv_linux_regsets=yes
@@ -127,8 +125,7 @@ case "${target}" in
 			;;
   i[34567]86-*-mingw32ce*)
 			srv_regobj="$srv_i386_regobj"
-			srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
-			srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
+			srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o"
 			srv_tgtobj="${srv_tgtobj} wincecompat.o"
 			srv_xmlfiles="$srv_i386_xmlfiles"
 			# hostio_last_error implementation is in win32-low.c
@@ -137,8 +134,7 @@ case "${target}" in
 			srv_mingwce=yes
 			;;
   i[34567]86-*-mingw*)	srv_regobj="$srv_i386_regobj"
-			srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
-			srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
+			srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o"
 			srv_xmlfiles="$srv_i386_xmlfiles"
 			srv_mingw=yes
 			;;
@@ -319,7 +315,7 @@ case "${target}" in
 			srv_linux_thread_db=yes
 			;;
   x86_64-*-linux*)	srv_regobj="$srv_amd64_linux_regobj $srv_i386_linux_regobj"
-			srv_tgtobj="$srv_linux_obj linux-x86-low.o i386-low.o i387-fp.o"
+			srv_tgtobj="$srv_linux_obj linux-x86-low.o x86-low.o x86-dregs.o i387-fp.o"
 			srv_tgtobj="${srv_tgtobj} linux-btrace.o"
 			srv_xmlfiles="$srv_i386_linux_xmlfiles $srv_amd64_linux_xmlfiles"
 			srv_linux_usrregs=yes # This is for i386 progs.
@@ -329,14 +325,12 @@ case "${target}" in
 			ipa_obj="${ipa_amd64_linux_regobj} linux-amd64-ipa.o"
 			;;
   x86_64-*-mingw*)	srv_regobj="$srv_amd64_regobj"
-			srv_tgtobj="i386-low.o i387-fp.o win32-low.o win32-i386-low.o"
-			srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
+			srv_tgtobj="x86-low.o x86-dregs.o i387-fp.o win32-low.o win32-i386-low.o"
 			srv_xmlfiles="$srv_i386_xmlfiles $srv_amd64_xmlfiles"
 			srv_mingw=yes
 			;;
   x86_64-*-cygwin*)	srv_regobj="$srv_amd64_regobj"
-			srv_tgtobj="i386-low.o i387-fp.o win32-low.o win32-i386-low.o"
-			srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
+			srv_tgtobj="x86-low.o x86-dregs.o i387-fp.o win32-low.o win32-i386-low.o"
 			srv_xmlfiles="$srv_i386_xmlfiles"
 			;;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/debug.c ./gdb/gdbserver/debug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/debug.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/debug.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Debugging routines for the remote server for GDB.
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -33,10 +33,9 @@ int debug_timestamp;
    previous call ended with "\n".  */
 
 void
-debug_printf (const char *msg, ...)
+debug_vprintf (const char *format, va_list ap)
 {
-  va_list args;
-#if defined (HAVE_GETTIMEOFDAY) && !defined (IN_PROCESS_AGENT)
+#if !defined (IN_PROCESS_AGENT)
   /* N.B. Not thread safe, and can't be used, as is, with IPA.  */
   static int new_line = 1;
 
@@ -53,13 +52,11 @@ debug_printf (const char *msg, ...)
     }
 #endif
 
-  va_start (args, msg);
-  vfprintf (stderr, msg, args);
-  va_end (args);
-
-#if defined (HAVE_GETTIMEOFDAY) && !defined (IN_PROCESS_AGENT)
-  if (*msg)
-    new_line = msg[strlen (msg) - 1] == '\n';
+  vfprintf (stderr, format, ap);
+
+#if !defined (IN_PROCESS_AGENT)
+  if (*format)
+    new_line = format[strlen (format) - 1] == '\n';
 #endif
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/debug.h ./gdb/gdbserver/debug.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/debug.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/debug.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Debugging routines for the remote server for GDB.
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,7 +29,6 @@
 extern int debug_threads;
 extern int debug_timestamp;
 
-void debug_printf (const char *msg, ...) ATTRIBUTE_PRINTF (1, 2);
 void debug_flush (void);
 void do_debug_enter (const char *function_name);
 void do_debug_exit (const char *function_name);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/dll.c ./gdb/gdbserver/dll.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/dll.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/dll.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/dll.h ./gdb/gdbserver/dll.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/dll.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/dll.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/event-loop.c ./gdb/gdbserver/event-loop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/event-loop.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/event-loop.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Event loop machinery for the remote server for GDB.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 #include "queue.h"
 
 #include <sys/types.h>
-#include <string.h>
 #include <sys/time.h>
 
 #ifdef USE_WIN32API
@@ -30,10 +29,6 @@
 #include <io.h>
 #endif
 
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
-
 #include <unistd.h>
 
 typedef struct gdb_event gdb_event;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/event-loop.h ./gdb/gdbserver/event-loop.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/event-loop.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/event-loop.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Event loop machinery for the remote server for GDB.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/gdb_proc_service.h ./gdb/gdbserver/gdb_proc_service.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/gdb_proc_service.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/gdb_proc_service.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* <proc_service.h> replacement for systems that don't have it.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/gdbreplay.c ./gdb/gdbserver/gdbreplay.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/gdbreplay.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/gdbreplay.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Replay a remote debug session logfile for GDB.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Fred Fish (fnf@cygnus.com) from pieces of gdbserver.
 
    This file is part of GDB.
@@ -32,9 +32,7 @@
 #if HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
-#if HAVE_ERRNO_H
 #include <errno.h>
-#endif
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -50,12 +48,9 @@
 #if HAVE_NETINET_TCP_H
 #include <netinet/tcp.h>
 #endif
-#if HAVE_ALLOCA_H
+
 #include <alloca.h>
-#endif
-#if HAVE_MALLOC_H
-#include <malloc.h>
-#endif
+
 #if USE_WIN32API
 #include <winsock2.h>
 #endif
@@ -412,7 +407,7 @@ static void
 gdbreplay_version (void)
 {
   printf ("GNU gdbreplay %s%s\n"
-	  "Copyright (C) 2014 Free Software Foundation, Inc.\n"
+	  "Copyright (C) 2015 Free Software Foundation, Inc.\n"
 	  "gdbreplay is free software, covered by "
 	  "the GNU General Public License.\n"
 	  "This gdbreplay was configured as \"%s\"\n",
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/gdbthread.h ./gdb/gdbserver/gdbthread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/gdbthread.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/gdbthread.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Multi-thread control defs for remote server for GDB.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 #ifndef GDB_THREAD_H
 #define GDB_THREAD_H
 
-#include "server.h"
 #include "inferiors.h"
 
 struct btrace_target_info;
@@ -81,6 +80,6 @@ struct thread_info *get_first_thread (vo
 struct thread_info *find_thread_ptid (ptid_t ptid);
 
 /* Get current thread ID (Linux task ID).  */
-#define current_ptid (current_inferior->entry.id)
+#define current_ptid (current_thread->entry.id)
 
 #endif /* GDB_THREAD_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/hostio.c ./gdb/gdbserver/hostio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/hostio.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/hostio.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Host file transfer support for gdbserver.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    Contributed by CodeSourcery.
 
@@ -478,7 +478,6 @@ handle_unlink (char *own_buf)
 static void
 handle_readlink (char *own_buf, int *new_packet_len)
 {
-#if defined (HAVE_READLINK)
   char filename[HOSTIO_PATH_MAX], linkname[HOSTIO_PATH_MAX];
   char *p;
   int ret, bytes_sent;
@@ -505,9 +504,6 @@ handle_readlink (char *own_buf, int *new
      to return a partial response, but simply fail.  */
   if (bytes_sent < ret)
     sprintf (own_buf, "F-1,%x", FILEIO_ENAMETOOLONG);
-#else /* ! HAVE_READLINK */
-    sprintf (own_buf, "F-1,%x", FILEIO_ENOSYS);
-#endif
 }
 
 /* Handle all the 'F' file transfer packets.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/hostio-errno.c ./gdb/gdbserver/hostio-errno.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/hostio-errno.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/hostio-errno.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Host file transfer support for gdbserver.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    Contributed by CodeSourcery.
 
@@ -21,7 +21,6 @@
 /* This file implements the hostio_last_error target callback
    on top of errno.  */
 
-#include <errno.h>
 #include "server.h"
 #include "gdb/fileio.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/hostio.h ./gdb/gdbserver/hostio.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/hostio.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/hostio.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Host file transfer support for gdbserver.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/i386-low.c ./gdb/gdbserver/i386-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/i386-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/i386-low.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,630 +0,0 @@
-/* Debug register code for the i386.
-
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "server.h"
-#include "target.h"
-#include "i386-low.h"
-
-/* Support for 8-byte wide hw watchpoints.  */
-#ifndef TARGET_HAS_DR_LEN_8
-/* NOTE: sizeof (long) == 4 on win64.  */
-#define TARGET_HAS_DR_LEN_8 (sizeof (void *) == 8)
-#endif
-
-/* DR7 Debug Control register fields.  */
-
-/* How many bits to skip in DR7 to get to R/W and LEN fields.  */
-#define DR_CONTROL_SHIFT	16
-/* How many bits in DR7 per R/W and LEN field for each watchpoint.  */
-#define DR_CONTROL_SIZE		4
-
-/* Watchpoint/breakpoint read/write fields in DR7.  */
-#define DR_RW_EXECUTE	(0x0)	/* Break on instruction execution.  */
-#define DR_RW_WRITE	(0x1)	/* Break on data writes.  */
-#define DR_RW_READ	(0x3)	/* Break on data reads or writes.  */
-
-/* This is here for completeness.  No platform supports this
-   functionality yet (as of March 2001).  Note that the DE flag in the
-   CR4 register needs to be set to support this.  */
-#ifndef DR_RW_IORW
-#define DR_RW_IORW	(0x2)	/* Break on I/O reads or writes.  */
-#endif
-
-/* Watchpoint/breakpoint length fields in DR7.  The 2-bit left shift
-   is so we could OR this with the read/write field defined above.  */
-#define DR_LEN_1	(0x0 << 2) /* 1-byte region watch or breakpoint.  */
-#define DR_LEN_2	(0x1 << 2) /* 2-byte region watch.  */
-#define DR_LEN_4	(0x3 << 2) /* 4-byte region watch.  */
-#define DR_LEN_8	(0x2 << 2) /* 8-byte region watch (AMD64).  */
-
-/* Local and Global Enable flags in DR7.
-
-   When the Local Enable flag is set, the breakpoint/watchpoint is
-   enabled only for the current task; the processor automatically
-   clears this flag on every task switch.  When the Global Enable flag
-   is set, the breakpoint/watchpoint is enabled for all tasks; the
-   processor never clears this flag.
-
-   Currently, all watchpoint are locally enabled.  If you need to
-   enable them globally, read the comment which pertains to this in
-   i386_insert_aligned_watchpoint below.  */
-#define DR_LOCAL_ENABLE_SHIFT	0 /* Extra shift to the local enable bit.  */
-#define DR_GLOBAL_ENABLE_SHIFT	1 /* Extra shift to the global enable bit.  */
-#define DR_ENABLE_SIZE		2 /* Two enable bits per debug register.  */
-
-/* Local and global exact breakpoint enable flags (a.k.a. slowdown
-   flags).  These are only required on i386, to allow detection of the
-   exact instruction which caused a watchpoint to break; i486 and
-   later processors do that automatically.  We set these flags for
-   backwards compatibility.  */
-#define DR_LOCAL_SLOWDOWN	(0x100)
-#define DR_GLOBAL_SLOWDOWN	(0x200)
-
-/* Fields reserved by Intel.  This includes the GD (General Detect
-   Enable) flag, which causes a debug exception to be generated when a
-   MOV instruction accesses one of the debug registers.
-
-   FIXME: My Intel manual says we should use 0xF800, not 0xFC00.  */
-#define DR_CONTROL_RESERVED	(0xFC00)
-
-/* Auxiliary helper macros.  */
-
-/* A value that masks all fields in DR7 that are reserved by Intel.  */
-#define I386_DR_CONTROL_MASK	(~DR_CONTROL_RESERVED)
-
-/* The I'th debug register is vacant if its Local and Global Enable
-   bits are reset in the Debug Control register.  */
-#define I386_DR_VACANT(state, i) \
-  (((state)->dr_control_mirror & (3 << (DR_ENABLE_SIZE * (i)))) == 0)
-
-/* Locally enable the break/watchpoint in the I'th debug register.  */
-#define I386_DR_LOCAL_ENABLE(state, i) \
-  do { \
-    (state)->dr_control_mirror |= \
-      (1 << (DR_LOCAL_ENABLE_SHIFT + DR_ENABLE_SIZE * (i))); \
-  } while (0)
-
-/* Globally enable the break/watchpoint in the I'th debug register.  */
-#define I386_DR_GLOBAL_ENABLE(state, i) \
-  do { \
-    (state)->dr_control_mirror |= \
-      (1 << (DR_GLOBAL_ENABLE_SHIFT + DR_ENABLE_SIZE * (i))); \
-  } while (0)
-
-/* Disable the break/watchpoint in the I'th debug register.  */
-#define I386_DR_DISABLE(state, i) \
-  do { \
-    (state)->dr_control_mirror &= \
-      ~(3 << (DR_ENABLE_SIZE * (i))); \
-  } while (0)
-
-/* Set in DR7 the RW and LEN fields for the I'th debug register.  */
-#define I386_DR_SET_RW_LEN(state, i,rwlen) \
-  do { \
-    (state)->dr_control_mirror &= \
-      ~(0x0f << (DR_CONTROL_SHIFT + DR_CONTROL_SIZE * (i))); \
-    (state)->dr_control_mirror |= \
-      ((rwlen) << (DR_CONTROL_SHIFT + DR_CONTROL_SIZE * (i))); \
-  } while (0)
-
-/* Get from DR7 the RW and LEN fields for the I'th debug register.  */
-#define I386_DR_GET_RW_LEN(dr7, i) \
-  (((dr7) \
-    >> (DR_CONTROL_SHIFT + DR_CONTROL_SIZE * (i))) & 0x0f)
-
-/* Did the watchpoint whose address is in the I'th register break?  */
-#define I386_DR_WATCH_HIT(dr6, i) ((dr6) & (1 << (i)))
-
-/* A macro to loop over all debug registers.  */
-#define ALL_DEBUG_REGISTERS(i)	for (i = 0; i < DR_NADDR; i++)
-
-/* Types of operations supported by i386_handle_nonaligned_watchpoint.  */
-typedef enum { WP_INSERT, WP_REMOVE, WP_COUNT } i386_wp_op_t;
-
-/* Implementation.  */
-
-/* Clear the reference counts and forget everything we knew about the
-   debug registers.  */
-
-void
-i386_low_init_dregs (struct i386_debug_reg_state *state)
-{
-  int i;
-
-  ALL_DEBUG_REGISTERS (i)
-    {
-      state->dr_mirror[i] = 0;
-      state->dr_ref_count[i] = 0;
-    }
-  state->dr_control_mirror = 0;
-  state->dr_status_mirror  = 0;
-}
-
-/* Print the values of the mirrored debug registers.  This is enabled via
-   the "set debug-hw-points 1" monitor command.  */
-
-static void
-i386_show_dr (struct i386_debug_reg_state *state,
-	      const char *func, CORE_ADDR addr,
-	      int len, enum target_hw_bp_type type)
-{
-  int i;
-
-  fprintf (stderr, "%s", func);
-  if (addr || len)
-    fprintf (stderr, " (addr=%lx, len=%d, type=%s)",
-	     (unsigned long) addr, len,
-	     type == hw_write ? "data-write"
-	     : (type == hw_read ? "data-read"
-		: (type == hw_access ? "data-read/write"
-		   : (type == hw_execute ? "instruction-execute"
-		      /* FIXME: if/when I/O read/write
-			 watchpoints are supported, add them
-			 here.  */
-		      : "??unknown??"))));
-  fprintf (stderr, ":\n");
-  fprintf (stderr, "\tCONTROL (DR7): %08x          STATUS (DR6): %08x\n",
-	   state->dr_control_mirror, state->dr_status_mirror);
-  ALL_DEBUG_REGISTERS (i)
-    {
-      fprintf (stderr, "\
-\tDR%d: addr=0x%s, ref.count=%d  DR%d: addr=0x%s, ref.count=%d\n",
-	      i, paddress (state->dr_mirror[i]),
-	      state->dr_ref_count[i],
-	      i + 1, paddress (state->dr_mirror[i + 1]),
-	      state->dr_ref_count[i + 1]);
-      i++;
-    }
-}
-
-/* Return the value of a 4-bit field for DR7 suitable for watching a
-   region of LEN bytes for accesses of type TYPE.  LEN is assumed to
-   have the value of 1, 2, or 4.  */
-
-static unsigned
-i386_length_and_rw_bits (int len, enum target_hw_bp_type type)
-{
-  unsigned rw;
-
-  switch (type)
-    {
-      case hw_execute:
-	rw = DR_RW_EXECUTE;
-	break;
-      case hw_write:
-	rw = DR_RW_WRITE;
-	break;
-      case hw_read:
-	fatal ("The i386 doesn't support data-read watchpoints.\n");
-      case hw_access:
-	rw = DR_RW_READ;
-	break;
-#if 0
-	/* Not yet supported.  */
-      case hw_io_access:
-	rw = DR_RW_IORW;
-	break;
-#endif
-      default:
-	error ("\
-Invalid hardware breakpoint type %d in i386_length_and_rw_bits.\n",
-			(int) type);
-    }
-
-  switch (len)
-    {
-      case 1:
-	return (DR_LEN_1 | rw);
-      case 2:
-	return (DR_LEN_2 | rw);
-      case 4:
-	return (DR_LEN_4 | rw);
-      case 8:
-        if (TARGET_HAS_DR_LEN_8)
- 	  return (DR_LEN_8 | rw);
-	/* ELSE FALL THROUGH */
-      default:
-	error ("\
-Invalid hardware breakpoint length %d in i386_length_and_rw_bits.\n", len);
-    }
-}
-
-/* Insert a watchpoint at address ADDR, which is assumed to be aligned
-   according to the length of the region to watch.  LEN_RW_BITS is the
-   value of the bits from DR7 which describes the length and access
-   type of the region to be watched by this watchpoint.  Return 0 on
-   success, -1 on failure.  */
-
-static int
-i386_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
-				CORE_ADDR addr, unsigned len_rw_bits)
-{
-  int i;
-
-  /* First, look for an occupied debug register with the same address
-     and the same RW and LEN definitions.  If we find one, we can
-     reuse it for this watchpoint as well (and save a register).  */
-  ALL_DEBUG_REGISTERS (i)
-    {
-      if (!I386_DR_VACANT (state, i)
-	  && state->dr_mirror[i] == addr
-	  && I386_DR_GET_RW_LEN (state->dr_control_mirror, i) == len_rw_bits)
-	{
-	  state->dr_ref_count[i]++;
-	  return 0;
-	}
-    }
-
-  /* Next, look for a vacant debug register.  */
-  ALL_DEBUG_REGISTERS (i)
-    {
-      if (I386_DR_VACANT (state, i))
-	break;
-    }
-
-  /* No more debug registers!  */
-  if (i >= DR_NADDR)
-    return -1;
-
-  /* Now set up the register I to watch our region.  */
-
-  /* Record the info in our local mirrored array.  */
-  state->dr_mirror[i] = addr;
-  state->dr_ref_count[i] = 1;
-  I386_DR_SET_RW_LEN (state, i, len_rw_bits);
-  /* Note: we only enable the watchpoint locally, i.e. in the current
-     task.  Currently, no i386 target allows or supports global
-     watchpoints; however, if any target would want that in the
-     future, GDB should probably provide a command to control whether
-     to enable watchpoints globally or locally, and the code below
-     should use global or local enable and slow-down flags as
-     appropriate.  */
-  I386_DR_LOCAL_ENABLE (state, i);
-  state->dr_control_mirror |= DR_LOCAL_SLOWDOWN;
-  state->dr_control_mirror &= I386_DR_CONTROL_MASK;
-
-  return 0;
-}
-
-/* Remove a watchpoint at address ADDR, which is assumed to be aligned
-   according to the length of the region to watch.  LEN_RW_BITS is the
-   value of the bits from DR7 which describes the length and access
-   type of the region watched by this watchpoint.  Return 0 on
-   success, -1 on failure.  */
-
-static int
-i386_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
-				CORE_ADDR addr, unsigned len_rw_bits)
-{
-  int i, retval = -1;
-  int all_vacant = 1;
-
-  ALL_DEBUG_REGISTERS (i)
-    {
-      if (!I386_DR_VACANT (state, i)
-	  && state->dr_mirror[i] == addr
-	  && I386_DR_GET_RW_LEN (state->dr_control_mirror, i) == len_rw_bits)
-	{
-	  if (--state->dr_ref_count[i] == 0) /* No longer in use?  */
-	    {
-	      /* Reset our mirror.  */
-	      state->dr_mirror[i] = 0;
-	      I386_DR_DISABLE (state, i);
-	      /* Even though not strictly necessary, clear out all
-		 bits in DR_CONTROL related to this debug register.
-		 Debug output is clearer when we don't have stale bits
-		 in place.  This also allows the assertion below.  */
-	      I386_DR_SET_RW_LEN (state, i, 0);
-	    }
-	  retval = 0;
-	}
-
-      if (!I386_DR_VACANT (state, i))
-	all_vacant = 0;
-    }
-
-  if (all_vacant)
-    {
-      /* Even though not strictly necessary, clear out all of
-	 DR_CONTROL, so that when we have no debug registers in use,
-	 we end up with DR_CONTROL == 0.  The Linux support relies on
-	 this for an optimization.  Plus, it makes for clearer debug
-	 output.  */
-      state->dr_control_mirror &= ~DR_LOCAL_SLOWDOWN;
-
-      gdb_assert (state->dr_control_mirror == 0);
-    }
-  return retval;
-}
-
-/* Insert or remove a (possibly non-aligned) watchpoint, or count the
-   number of debug registers required to watch a region at address
-   ADDR whose length is LEN for accesses of type TYPE.  Return 0 on
-   successful insertion or removal, a positive number when queried
-   about the number of registers, or -1 on failure.  If WHAT is not a
-   valid value, bombs through internal_error.  */
-
-static int
-i386_handle_nonaligned_watchpoint (struct i386_debug_reg_state *state,
-				   i386_wp_op_t what, CORE_ADDR addr, int len,
-				   enum target_hw_bp_type type)
-{
-  int retval = 0;
-  int max_wp_len = TARGET_HAS_DR_LEN_8 ? 8 : 4;
-
-  static const int size_try_array[8][8] =
-  {
-    {1, 1, 1, 1, 1, 1, 1, 1},	/* Trying size one.  */
-    {2, 1, 2, 1, 2, 1, 2, 1},	/* Trying size two.  */
-    {2, 1, 2, 1, 2, 1, 2, 1},	/* Trying size three.  */
-    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size four.  */
-    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size five.  */
-    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size six.  */
-    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size seven.  */
-    {8, 1, 2, 1, 4, 1, 2, 1},	/* Trying size eight.  */
-  };
-
-  while (len > 0)
-    {
-      int align = addr % max_wp_len;
-      /* Four (eight on AMD64) is the maximum length a debug register
-	 can watch.  */
-      int try = (len > max_wp_len ? (max_wp_len - 1) : len - 1);
-      int size = size_try_array[try][align];
-
-      if (what == WP_COUNT)
-	{
-	  /* size_try_array[] is defined such that each iteration
-	     through the loop is guaranteed to produce an address and a
-	     size that can be watched with a single debug register.
-	     Thus, for counting the registers required to watch a
-	     region, we simply need to increment the count on each
-	     iteration.  */
-	  retval++;
-	}
-      else
-	{
-	  unsigned len_rw = i386_length_and_rw_bits (size, type);
-
-	  if (what == WP_INSERT)
-	    retval = i386_insert_aligned_watchpoint (state, addr, len_rw);
-	  else if (what == WP_REMOVE)
-	    retval = i386_remove_aligned_watchpoint (state, addr, len_rw);
-	  else
-	    fatal ("\
-Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n",
-		   (int) what);
-
-	  if (retval)
-	    break;
-	}
-
-      addr += size;
-      len -= size;
-    }
-
-  return retval;
-}
-
-/* Update the inferior debug registers state, in INF_STATE, with the
-   new debug registers state, in NEW_STATE.  */
-
-static void
-i386_update_inferior_debug_regs (struct i386_debug_reg_state *inf_state,
-				 struct i386_debug_reg_state *new_state)
-{
-  int i;
-
-  ALL_DEBUG_REGISTERS (i)
-    {
-      if (I386_DR_VACANT (new_state, i) != I386_DR_VACANT (inf_state, i))
-	i386_dr_low_set_addr (new_state, i);
-      else
-	gdb_assert (new_state->dr_mirror[i] == inf_state->dr_mirror[i]);
-    }
-
-  if (new_state->dr_control_mirror != inf_state->dr_control_mirror)
-    i386_dr_low_set_control (new_state);
-
-  *inf_state = *new_state;
-}
-
-/* Insert a watchpoint to watch a memory region which starts at
-   address ADDR and whose length is LEN bytes.  Watch memory accesses
-   of the type TYPE_FROM_PACKET.  Return 0 on success, -1 on failure.  */
-
-int
-i386_low_insert_watchpoint (struct i386_debug_reg_state *state,
-			    enum target_hw_bp_type type,
-			    CORE_ADDR addr, int len)
-{
-  int retval;
-  /* Work on a local copy of the debug registers, and on success,
-     commit the change back to the inferior.  */
-  struct i386_debug_reg_state local_state = *state;
-
-  if (type == hw_read)
-    return 1; /* unsupported */
-
-  if (((len != 1 && len != 2 && len != 4)
-       && !(TARGET_HAS_DR_LEN_8 && len == 8))
-      || addr % len != 0)
-    {
-      retval = i386_handle_nonaligned_watchpoint (&local_state, WP_INSERT,
-						  addr, len, type);
-    }
-  else
-    {
-      unsigned len_rw = i386_length_and_rw_bits (len, type);
-
-      retval = i386_insert_aligned_watchpoint (&local_state, addr, len_rw);
-    }
-
-  if (retval == 0)
-    i386_update_inferior_debug_regs (state, &local_state);
-
-  if (debug_hw_points)
-    i386_show_dr (state, "insert_watchpoint", addr, len, type);
-
-  return retval;
-}
-
-/* Remove a watchpoint that watched the memory region which starts at
-   address ADDR, whose length is LEN bytes, and for accesses of the
-   type TYPE.  Return 0 on success, -1 on failure.  */
-
-int
-i386_low_remove_watchpoint (struct i386_debug_reg_state *state,
-			    enum target_hw_bp_type type,
-			    CORE_ADDR addr, int len)
-{
-  int retval;
-  /* Work on a local copy of the debug registers, and on success,
-     commit the change back to the inferior.  */
-  struct i386_debug_reg_state local_state = *state;
-
-  if (((len != 1 && len != 2 && len != 4)
-       && !(TARGET_HAS_DR_LEN_8 && len == 8))
-      || addr % len != 0)
-    {
-      retval = i386_handle_nonaligned_watchpoint (&local_state, WP_REMOVE,
-						  addr, len, type);
-    }
-  else
-    {
-      unsigned len_rw = i386_length_and_rw_bits (len, type);
-
-      retval = i386_remove_aligned_watchpoint (&local_state, addr, len_rw);
-    }
-
-  if (retval == 0)
-    i386_update_inferior_debug_regs (state, &local_state);
-
-  if (debug_hw_points)
-    i386_show_dr (state, "remove_watchpoint", addr, len, type);
-
-  return retval;
-}
-
-/* Return non-zero if we can watch a memory region that starts at
-   address ADDR and whose length is LEN bytes.  */
-
-int
-i386_low_region_ok_for_watchpoint (struct i386_debug_reg_state *state,
-				   CORE_ADDR addr, int len)
-{
-  int nregs;
-
-  /* Compute how many aligned watchpoints we would need to cover this
-     region.  */
-  nregs = i386_handle_nonaligned_watchpoint (state, WP_COUNT,
-					     addr, len, hw_write);
-  return nregs <= DR_NADDR ? 1 : 0;
-}
-
-/* If the inferior has some break/watchpoint that triggered, set the
-   address associated with that break/watchpoint and return true.
-   Otherwise, return false.  */
-
-int
-i386_low_stopped_data_address (struct i386_debug_reg_state *state,
-			       CORE_ADDR *addr_p)
-{
-  CORE_ADDR addr = 0;
-  int i;
-  int rc = 0;
-  /* The current thread's DR_STATUS.  We always need to read this to
-     check whether some watchpoint caused the trap.  */
-  unsigned status;
-  /* We need DR_CONTROL as well, but only iff DR_STATUS indicates a
-     data breakpoint trap.  Only fetch it when necessary, to avoid an
-     unnecessary extra syscall when no watchpoint triggered.  */
-  int control_p = 0;
-  unsigned control = 0;
-
-  /* In non-stop/async, threads can be running while we change the
-     global dr_mirror (and friends).  Say, we set a watchpoint, and
-     let threads resume.  Now, say you delete the watchpoint, or
-     add/remove watchpoints such that dr_mirror changes while threads
-     are running.  On targets that support non-stop,
-     inserting/deleting watchpoints updates the global dr_mirror only.
-     It does not update the real thread's debug registers; that's only
-     done prior to resume.  Instead, if threads are running when the
-     mirror changes, a temporary and transparent stop on all threads
-     is forced so they can get their copy of the debug registers
-     updated on re-resume.  Now, say, a thread hit a watchpoint before
-     having been updated with the new dr_mirror contents, and we
-     haven't yet handled the corresponding SIGTRAP.  If we trusted
-     dr_mirror below, we'd mistake the real trapped address (from the
-     last time we had updated debug registers in the thread) with
-     whatever was currently in dr_mirror.  So to fix this, dr_mirror
-     always represents intention, what we _want_ threads to have in
-     debug registers.  To get at the address and cause of the trap, we
-     need to read the state the thread still has in its debug
-     registers.
-
-     In sum, always get the current debug register values the current
-     thread has, instead of trusting the global mirror.  If the thread
-     was running when we last changed watchpoints, the mirror no
-     longer represents what was set in this thread's debug
-     registers.  */
-  status = i386_dr_low_get_status ();
-
-  ALL_DEBUG_REGISTERS (i)
-    {
-      if (!I386_DR_WATCH_HIT (status, i))
-	continue;
-
-      if (!control_p)
-	{
-	  control = i386_dr_low_get_control ();
-	  control_p = 1;
-	}
-
-      /* This second condition makes sure DRi is set up for a data
-	 watchpoint, not a hardware breakpoint.  The reason is that
-	 GDB doesn't call the target_stopped_data_address method
-	 except for data watchpoints.  In other words, I'm being
-	 paranoiac.  */
-      if (I386_DR_GET_RW_LEN (control, i) != 0)
-	{
-	  addr = i386_dr_low_get_addr (i);
-	  rc = 1;
-	  if (debug_hw_points)
-	    i386_show_dr (state, "watchpoint_hit", addr, -1, hw_write);
-	}
-    }
-
-  if (debug_hw_points && addr == 0)
-    i386_show_dr (state, "stopped_data_addr", 0, 0, hw_write);
-
-  if (rc)
-    *addr_p = addr;
-  return rc;
-}
-
-/* Return true if the inferior has some watchpoint that triggered.
-   Otherwise return false.  */
-
-int
-i386_low_stopped_by_watchpoint (struct i386_debug_reg_state *state)
-{
-  CORE_ADDR addr = 0;
-  return i386_low_stopped_data_address (state, &addr);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/i386-low.h ./gdb/gdbserver/i386-low.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/i386-low.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/i386-low.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,117 +0,0 @@
-/* Misc. low level support for i386.
-
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Support for hardware watchpoints and breakpoints using the i386
-   debug registers.
-
-   This provides several functions for inserting and removing
-   hardware-assisted breakpoints and watchpoints, testing if one or
-   more of the watchpoints triggered and at what address, checking
-   whether a given region can be watched, etc.
-
-   The functions below implement debug registers sharing by reference
-   counts, and allow to watch regions up to 16 bytes long
-   (32 bytes on 64 bit hosts).  */
-
-/* Debug registers' indices.  */
-#define DR_FIRSTADDR 0
-#define DR_LASTADDR  3
-#define DR_NADDR     4 /* The number of debug address registers.  */
-#define DR_STATUS    6
-#define DR_CONTROL   7
-
-/* Global state needed to track h/w watchpoints.  */
-
-struct i386_debug_reg_state
-{
-  /* Mirror the inferior's DRi registers.  We keep the status and
-     control registers separated because they don't hold addresses.
-     Note that since we can change these mirrors while threads are
-     running, we never trust them to explain a cause of a trap.
-     For that, we need to peek directly in the inferior registers.  */
-  CORE_ADDR dr_mirror[DR_NADDR];
-  unsigned dr_status_mirror, dr_control_mirror;
-
-  /* Reference counts for each debug register.  */
-  int dr_ref_count[DR_NADDR];
-};
-
-/* Initialize STATE.  */
-extern void i386_low_init_dregs (struct i386_debug_reg_state *state);
-
-/* Insert a watchpoint to watch a memory region which starts at
-   address ADDR and whose length is LEN bytes.  Watch memory accesses
-   of the type TYPE.  Return 0 on success, -1 on failure.  */
-extern int i386_low_insert_watchpoint (struct i386_debug_reg_state *state,
-				       enum target_hw_bp_type type,
-				       CORE_ADDR addr,
-				       int len);
-
-/* Remove a watchpoint that watched the memory region which starts at
-   address ADDR, whose length is LEN bytes, and for accesses of the
-   type TYPE.  Return 0 on success, -1 on failure.  */
-extern int i386_low_remove_watchpoint (struct i386_debug_reg_state *state,
-				       enum target_hw_bp_type type,
-				       CORE_ADDR addr,
-				       int len);
-
-/* Return non-zero if we can watch a memory region that starts at
-   address ADDR and whose length is LEN bytes.  */
-extern int i386_low_region_ok_for_watchpoint (struct i386_debug_reg_state *state,
-					      CORE_ADDR addr, int len);
-
-/* If the inferior has some break/watchpoint that triggered, set the
-   address associated with that break/watchpoint and return true.
-   Otherwise, return false.  */
-extern int i386_low_stopped_data_address (struct i386_debug_reg_state *state,
-					  CORE_ADDR *addr_p);
-
-/* Return true if the inferior has some watchpoint that triggered.
-   Otherwise return false.  */
-extern int i386_low_stopped_by_watchpoint (struct i386_debug_reg_state *state);
-
-/* Each target needs to provide several low-level functions
-   that will be called to insert watchpoints and hardware breakpoints
-   into the inferior, remove them, and check their status.  These
-   functions are:
-
-      i386_dr_low_set_control  -- set the debug control (DR7)
-				  register to a given value
-
-      i386_dr_low_set_addr     -- put an address into one debug register
-
-      i386_dr_low_get_status   -- return the value of the debug
-				  status (DR6) register.
-*/
-
-/* Update the inferior's debug register REGNUM from STATE.  */
-extern void i386_dr_low_set_addr (const struct i386_debug_reg_state *state,
-				  int regnum);
-
-/* Return the inferior's debug register REGNUM.  */
-extern CORE_ADDR i386_dr_low_get_addr (int regnum);
-
-/* Update the inferior's DR7 debug control register from STATE.  */
-extern void i386_dr_low_set_control (const struct i386_debug_reg_state *state);
-
-/* Return the value of the inferior's DR7 debug control register.  */
-extern unsigned i386_dr_low_get_control (void);
-
-/* Return the value of the inferior's DR6 debug status register.  */
-extern unsigned i386_dr_low_get_status (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/i387-fp.c ./gdb/gdbserver/i387-fp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/i387-fp.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/i387-fp.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* i387-specific utility functions, for the remote server for GDB.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,7 @@
 
 #include "server.h"
 #include "i387-fp.h"
-#include "i386-xstate.h"
+#include "x86-xstate.h"
 
 static const int num_mpx_bnd_registers = 4;
 static const int num_mpx_cfg_registers = 2;
@@ -288,35 +288,35 @@ i387_cache_to_xsave (struct regcache *re
      zero.  */
   if (clear_bv)
     {
-      if ((clear_bv & I386_XSTATE_X87))
+      if ((clear_bv & X86_XSTATE_X87))
 	for (i = 0; i < 8; i++)
 	  memset (((char *) &fp->st_space[0]) + i * 16, 0, 10);
 
-      if ((clear_bv & I386_XSTATE_SSE))
+      if ((clear_bv & X86_XSTATE_SSE))
 	for (i = 0; i < num_xmm_registers; i++) 
 	  memset (((char *) &fp->xmm_space[0]) + i * 16, 0, 16);
 
-      if ((clear_bv & I386_XSTATE_AVX))
+      if ((clear_bv & X86_XSTATE_AVX))
 	for (i = 0; i < num_xmm_registers; i++) 
 	  memset (((char *) &fp->ymmh_space[0]) + i * 16, 0, 16);
 
-      if ((clear_bv & I386_XSTATE_BNDREGS))
+      if ((clear_bv & X86_XSTATE_BNDREGS))
 	for (i = 0; i < num_mpx_bnd_registers; i++)
 	  memset (((char *) &fp->mpx_bnd_space[0]) + i * 16, 0, 16);
 
-      if ((clear_bv & I386_XSTATE_BNDCFG))
+      if ((clear_bv & X86_XSTATE_BNDCFG))
 	for (i = 0; i < num_mpx_cfg_registers; i++)
 	  memset (((char *) &fp->mpx_cfg_space[0]) + i * 8, 0, 8);
 
-      if ((clear_bv & I386_XSTATE_K))
+      if ((clear_bv & X86_XSTATE_K))
 	for (i = 0; i < num_avx512_k_registers; i++)
 	  memset (((char *) &fp->k_space[0]) + i * 8, 0, 8);
 
-      if ((clear_bv & I386_XSTATE_ZMM_H))
+      if ((clear_bv & X86_XSTATE_ZMM_H))
 	for (i = 0; i < num_avx512_zmmh_low_registers; i++)
 	  memset (((char *) &fp->zmmh_low_space[0]) + i * 32, 0, 32);
 
-      if ((clear_bv & I386_XSTATE_ZMM))
+      if ((clear_bv & X86_XSTATE_ZMM))
 	{
 	  for (i = 0; i < num_avx512_zmmh_high_registers; i++)
 	    memset (((char *) &fp->zmmh_low_space[0]) + 32 + i * 64, 0, 32);
@@ -328,7 +328,7 @@ i387_cache_to_xsave (struct regcache *re
     }
 
   /* Check if any x87 registers are changed.  */
-  if ((x86_xcr0 & I386_XSTATE_X87))
+  if ((x86_xcr0 & X86_XSTATE_X87))
     {
       int st0_regnum = find_regno (regcache->tdesc, "st0");
 
@@ -338,14 +338,14 @@ i387_cache_to_xsave (struct regcache *re
 	  p = ((char *) &fp->st_space[0]) + i * 16;
 	  if (memcmp (raw, p, 10))
 	    {
-	      xstate_bv |= I386_XSTATE_X87;
+	      xstate_bv |= X86_XSTATE_X87;
 	      memcpy (p, raw, 10);
 	    }
 	}
     }
 
   /* Check if any SSE registers are changed.  */
-  if ((x86_xcr0 & I386_XSTATE_SSE))
+  if ((x86_xcr0 & X86_XSTATE_SSE))
     {
       int xmm0_regnum = find_regno (regcache->tdesc, "xmm0");
 
@@ -355,14 +355,14 @@ i387_cache_to_xsave (struct regcache *re
 	  p = ((char *) &fp->xmm_space[0]) + i * 16;
 	  if (memcmp (raw, p, 16))
 	    {
-	      xstate_bv |= I386_XSTATE_SSE;
+	      xstate_bv |= X86_XSTATE_SSE;
 	      memcpy (p, raw, 16);
 	    }
 	}
     }
 
   /* Check if any AVX registers are changed.  */
-  if ((x86_xcr0 & I386_XSTATE_AVX))
+  if ((x86_xcr0 & X86_XSTATE_AVX))
     {
       int ymm0h_regnum = find_regno (regcache->tdesc, "ymm0h");
 
@@ -372,14 +372,14 @@ i387_cache_to_xsave (struct regcache *re
 	  p = ((char *) &fp->ymmh_space[0]) + i * 16;
 	  if (memcmp (raw, p, 16))
 	    {
-	      xstate_bv |= I386_XSTATE_AVX;
+	      xstate_bv |= X86_XSTATE_AVX;
 	      memcpy (p, raw, 16);
 	    }
 	}
     }
 
   /* Check if any bound register has changed.  */
-  if ((x86_xcr0 & I386_XSTATE_BNDREGS))
+  if ((x86_xcr0 & X86_XSTATE_BNDREGS))
     {
      int bnd0r_regnum = find_regno (regcache->tdesc, "bnd0raw");
 
@@ -389,14 +389,14 @@ i387_cache_to_xsave (struct regcache *re
 	  p = ((char *) &fp->mpx_bnd_space[0]) + i * 16;
 	  if (memcmp (raw, p, 16))
 	    {
-	      xstate_bv |= I386_XSTATE_BNDREGS;
+	      xstate_bv |= X86_XSTATE_BNDREGS;
 	      memcpy (p, raw, 16);
 	    }
 	}
     }
 
   /* Check if any status register has changed.  */
-  if ((x86_xcr0 & I386_XSTATE_BNDCFG))
+  if ((x86_xcr0 & X86_XSTATE_BNDCFG))
     {
       int bndcfg_regnum = find_regno (regcache->tdesc, "bndcfgu");
 
@@ -406,14 +406,14 @@ i387_cache_to_xsave (struct regcache *re
 	  p = ((char *) &fp->mpx_cfg_space[0]) + i * 8;
 	  if (memcmp (raw, p, 8))
 	    {
-	      xstate_bv |= I386_XSTATE_BNDCFG;
+	      xstate_bv |= X86_XSTATE_BNDCFG;
 	      memcpy (p, raw, 8);
 	    }
 	}
     }
 
   /* Check if any K registers are changed.  */
-  if ((x86_xcr0 & I386_XSTATE_K))
+  if ((x86_xcr0 & X86_XSTATE_K))
     {
       int k0_regnum = find_regno (regcache->tdesc, "k0");
 
@@ -423,14 +423,14 @@ i387_cache_to_xsave (struct regcache *re
 	  p = ((char *) &fp->k_space[0]) + i * 8;
 	  if (memcmp (raw, p, 8) != 0)
 	    {
-	      xstate_bv |= I386_XSTATE_K;
+	      xstate_bv |= X86_XSTATE_K;
 	      memcpy (p, raw, 8);
 	    }
 	}
     }
 
   /* Check if any of ZMM0H-ZMM15H registers are changed.  */
-  if ((x86_xcr0 & I386_XSTATE_ZMM_H))
+  if ((x86_xcr0 & X86_XSTATE_ZMM_H))
     {
       int zmm0h_regnum = find_regno (regcache->tdesc, "zmm0h");
 
@@ -440,31 +440,31 @@ i387_cache_to_xsave (struct regcache *re
 	  p = ((char *) &fp->zmmh_low_space[0]) + i * 32;
 	  if (memcmp (raw, p, 32) != 0)
 	    {
-	      xstate_bv |= I386_XSTATE_ZMM_H;
+	      xstate_bv |= X86_XSTATE_ZMM_H;
 	      memcpy (p, raw, 32);
 	    }
 	}
     }
 
   /* Check if any of ZMM16H-ZMM31H registers are changed.  */
-  if ((x86_xcr0 & I386_XSTATE_ZMM))
+  if ((x86_xcr0 & X86_XSTATE_ZMM))
     {
       int zmm16h_regnum = find_regno (regcache->tdesc, "zmm16h");
 
       for (i = 0; i < num_avx512_zmmh_high_registers; i++)
 	{
 	  collect_register (regcache, i + zmm16h_regnum, raw);
-	  p = ((char *) &fp->zmmh_low_space[0]) + 32 + i * 64;
+	  p = ((char *) &fp->zmmh_high_space[0]) + 32 + i * 64;
 	  if (memcmp (raw, p, 32) != 0)
 	    {
-	      xstate_bv |= I386_XSTATE_ZMM;
+	      xstate_bv |= X86_XSTATE_ZMM;
 	      memcpy (p, raw, 32);
 	    }
 	}
     }
 
   /* Check if any XMM_AVX512 registers are changed.  */
-  if ((x86_xcr0 & I386_XSTATE_ZMM))
+  if ((x86_xcr0 & X86_XSTATE_ZMM))
     {
       int xmm_avx512_regnum = find_regno (regcache->tdesc, "xmm16");
 
@@ -474,14 +474,14 @@ i387_cache_to_xsave (struct regcache *re
 	  p = ((char *) &fp->zmmh_high_space[0]) + i * 64;
 	  if (memcmp (raw, p, 16) != 0)
 	    {
-	      xstate_bv |= I386_XSTATE_ZMM;
+	      xstate_bv |= X86_XSTATE_ZMM;
 	      memcpy (p, raw, 16);
 	    }
 	}
     }
 
   /* Check if any YMMH_AVX512 registers are changed.  */
-  if ((x86_xcr0 & I386_XSTATE_ZMM))
+  if ((x86_xcr0 & X86_XSTATE_ZMM))
     {
       int ymmh_avx512_regnum = find_regno (regcache->tdesc, "ymm16h");
 
@@ -491,7 +491,7 @@ i387_cache_to_xsave (struct regcache *re
 	  p = ((char *) &fp->zmmh_high_space[0]) + 16 + i * 64;
 	  if (memcmp (raw, p, 16) != 0)
 	    {
-	      xstate_bv |= I386_XSTATE_ZMM;
+	      xstate_bv |= X86_XSTATE_ZMM;
 	      memcpy (p, raw, 16);
 	    }
 	}
@@ -653,11 +653,11 @@ i387_xsave_to_cache (struct regcache *re
   clear_bv = (~fp->xstate_bv) & x86_xcr0;
 
   /* Check if any x87 registers are changed.  */
-  if ((x86_xcr0 & I386_XSTATE_X87) != 0)
+  if ((x86_xcr0 & X86_XSTATE_X87) != 0)
     {
       int st0_regnum = find_regno (regcache->tdesc, "st0");
 
-      if ((clear_bv & I386_XSTATE_X87) != 0)
+      if ((clear_bv & X86_XSTATE_X87) != 0)
 	{
 	  for (i = 0; i < 8; i++)
 	    supply_register_zeroed (regcache, i + st0_regnum);
@@ -670,11 +670,11 @@ i387_xsave_to_cache (struct regcache *re
 	}
     }
 
-  if ((x86_xcr0 & I386_XSTATE_SSE) != 0)
+  if ((x86_xcr0 & X86_XSTATE_SSE) != 0)
     {
       int xmm0_regnum = find_regno (regcache->tdesc, "xmm0");
 
-      if ((clear_bv & I386_XSTATE_SSE))
+      if ((clear_bv & X86_XSTATE_SSE))
 	{
 	  for (i = 0; i < num_xmm_registers; i++)
 	    supply_register_zeroed (regcache, i + xmm0_regnum);
@@ -687,11 +687,11 @@ i387_xsave_to_cache (struct regcache *re
 	}
     }
 
-  if ((x86_xcr0 & I386_XSTATE_AVX) != 0)
+  if ((x86_xcr0 & X86_XSTATE_AVX) != 0)
     {
       int ymm0h_regnum = find_regno (regcache->tdesc, "ymm0h");
 
-      if ((clear_bv & I386_XSTATE_AVX) != 0)
+      if ((clear_bv & X86_XSTATE_AVX) != 0)
 	{
 	  for (i = 0; i < num_xmm_registers; i++)
 	    supply_register_zeroed (regcache, i + ymm0h_regnum);
@@ -704,12 +704,12 @@ i387_xsave_to_cache (struct regcache *re
 	}
     }
 
-  if ((x86_xcr0 & I386_XSTATE_BNDREGS))
+  if ((x86_xcr0 & X86_XSTATE_BNDREGS))
     {
       int bnd0r_regnum = find_regno (regcache->tdesc, "bnd0raw");
 
 
-      if ((clear_bv & I386_XSTATE_BNDREGS) != 0)
+      if ((clear_bv & X86_XSTATE_BNDREGS) != 0)
 	{
 	  for (i = 0; i < num_mpx_bnd_registers; i++)
 	    supply_register_zeroed (regcache, i + bnd0r_regnum);
@@ -723,11 +723,11 @@ i387_xsave_to_cache (struct regcache *re
 
     }
 
-  if ((x86_xcr0 & I386_XSTATE_BNDCFG))
+  if ((x86_xcr0 & X86_XSTATE_BNDCFG))
     {
       int bndcfg_regnum = find_regno (regcache->tdesc, "bndcfgu");
 
-      if ((clear_bv & I386_XSTATE_BNDCFG) != 0)
+      if ((clear_bv & X86_XSTATE_BNDCFG) != 0)
 	{
 	  for (i = 0; i < num_mpx_cfg_registers; i++)
 	    supply_register_zeroed (regcache, i + bndcfg_regnum);
@@ -740,11 +740,11 @@ i387_xsave_to_cache (struct regcache *re
 	}
     }
 
-  if ((x86_xcr0 & I386_XSTATE_K) != 0)
+  if ((x86_xcr0 & X86_XSTATE_K) != 0)
     {
       int k0_regnum = find_regno (regcache->tdesc, "k0");
 
-      if ((clear_bv & I386_XSTATE_K) != 0)
+      if ((clear_bv & X86_XSTATE_K) != 0)
 	{
 	  for (i = 0; i < num_avx512_k_registers; i++)
 	    supply_register_zeroed (regcache, i + k0_regnum);
@@ -757,11 +757,11 @@ i387_xsave_to_cache (struct regcache *re
 	}
     }
 
-  if ((x86_xcr0 & I386_XSTATE_ZMM_H) != 0)
+  if ((x86_xcr0 & X86_XSTATE_ZMM_H) != 0)
     {
       int zmm0h_regnum = find_regno (regcache->tdesc, "zmm0h");
 
-      if ((clear_bv & I386_XSTATE_ZMM_H) != 0)
+      if ((clear_bv & X86_XSTATE_ZMM_H) != 0)
 	{
 	  for (i = 0; i < num_avx512_zmmh_low_registers; i++)
 	    supply_register_zeroed (regcache, i + zmm0h_regnum);
@@ -774,13 +774,13 @@ i387_xsave_to_cache (struct regcache *re
 	}
     }
 
-  if ((x86_xcr0 & I386_XSTATE_ZMM) != 0)
+  if ((x86_xcr0 & X86_XSTATE_ZMM) != 0)
     {
       int zmm16h_regnum = find_regno (regcache->tdesc, "zmm16h");
       int ymm16h_regnum = find_regno (regcache->tdesc, "ymm16h");
       int xmm16_regnum = find_regno (regcache->tdesc, "xmm16");
 
-      if ((clear_bv & I386_XSTATE_ZMM) != 0)
+      if ((clear_bv & X86_XSTATE_ZMM) != 0)
 	{
 	  for (i = 0; i < num_avx512_zmmh_high_registers; i++)
 	    supply_register_zeroed (regcache, i + zmm16h_regnum);
@@ -837,4 +837,4 @@ i387_xsave_to_cache (struct regcache *re
 }
 
 /* Default to SSE.  */
-unsigned long long x86_xcr0 = I386_XSTATE_SSE_MASK;
+unsigned long long x86_xcr0 = X86_XSTATE_SSE_MASK;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/i387-fp.h ./gdb/gdbserver/i387-fp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/i387-fp.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/i387-fp.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* i387-specific utility functions, for the remote server for GDB.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/inferiors.c ./gdb/gdbserver/inferiors.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/inferiors.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/inferiors.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Inferior process information for the remote server for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
 
@@ -18,8 +18,6 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include <stdlib.h>
-
 #include "server.h"
 #include "gdbthread.h"
 #include "dll.h"
@@ -27,7 +25,7 @@
 struct inferior_list all_processes;
 struct inferior_list all_threads;
 
-struct thread_info *current_inferior;
+struct thread_info *current_thread;
 
 #define get_thread(inf) ((struct thread_info *)(inf))
 
@@ -117,8 +115,8 @@ add_thread (ptid_t thread_id, void *targ
 
   add_inferior_to_list (&all_threads, &new_thread->entry);
 
-  if (current_inferior == NULL)
-    current_inferior = new_thread;
+  if (current_thread == NULL)
+    current_thread = new_thread;
 
   new_thread->target_data = target_data;
 
@@ -269,7 +267,7 @@ clear_inferiors (void)
 
   clear_dlls ();
 
-  current_inferior = NULL;
+  current_thread = NULL;
 }
 
 struct process_info *
@@ -357,8 +355,6 @@ get_thread_process (struct thread_info *
 struct process_info *
 current_process (void)
 {
-  if (current_inferior == NULL)
-    fatal ("Current inferior requested, but current_inferior is NULL\n");
-
-  return get_thread_process (current_inferior);
+  gdb_assert (current_thread != NULL);
+  return get_thread_process (current_thread);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/inferiors.h ./gdb/gdbserver/inferiors.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/inferiors.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/inferiors.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Inferior process information for the remote server for GDB.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -77,7 +77,7 @@ struct process_info
 #define lwpid_of(inf) ptid_get_lwp ((inf)->entry.id)
 
 /* Return a pointer to the process that corresponds to the current
-   thread (current_inferior).  It is an error to call this if there is
+   thread (current_thread).  It is an error to call this if there is
    no current thread selected.  */
 
 struct process_info *current_process (void);
@@ -121,7 +121,7 @@ int one_inferior_p (struct inferior_list
 #define ALL_PROCESSES(cur, tmp)					\
   ALL_INFERIORS_TYPE (struct process_info, &all_processes, cur, tmp)
 
-extern struct thread_info *current_inferior;
+extern struct thread_info *current_thread;
 void remove_inferior (struct inferior_list *list,
 		      struct inferior_list_entry *entry);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-aarch64-low.c ./gdb/gdbserver/linux-aarch64-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-aarch64-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-aarch64-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* GNU/Linux/AArch64 specific low level interface, for the remote server for
    GDB.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GDB.
@@ -46,8 +46,10 @@ extern const struct target_desc *tdesc_a
 #define AARCH64_PC_REGNO   32
 #define AARCH64_CPSR_REGNO 33
 #define AARCH64_V0_REGNO   34
+#define AARCH64_FPSR_REGNO (AARCH64_V0_REGNO + AARCH64_V_REGS_NUM)
+#define AARCH64_FPCR_REGNO (AARCH64_V0_REGNO + AARCH64_V_REGS_NUM + 1)
 
-#define AARCH64_NUM_REGS (AARCH64_V0_REGNO + AARCH64_V_REGS_NUM)
+#define AARCH64_NUM_REGS (AARCH64_V0_REGNO + AARCH64_V_REGS_NUM + 2)
 
 static int
 aarch64_regmap [] =
@@ -255,6 +257,8 @@ aarch64_fill_fpregset (struct regcache *
 
   for (i = 0; i < AARCH64_V_REGS_NUM; i++)
     collect_register (regcache, AARCH64_V0_REGNO + i, &regset->vregs[i]);
+  collect_register (regcache, AARCH64_FPSR_REGNO, &regset->fpsr);
+  collect_register (regcache, AARCH64_FPCR_REGNO, &regset->fpcr);
 }
 
 static void
@@ -265,11 +269,10 @@ aarch64_store_fpregset (struct regcache 
 
   for (i = 0; i < AARCH64_V_REGS_NUM; i++)
     supply_register (regcache, AARCH64_V0_REGNO + i, &regset->vregs[i]);
+  supply_register (regcache, AARCH64_FPSR_REGNO, &regset->fpsr);
+  supply_register (regcache, AARCH64_FPCR_REGNO, &regset->fpcr);
 }
 
-/* Debugging of hardware breakpoint/watchpoint support.  */
-extern int debug_hw_points;
-
 /* Enable miscellaneous debugging output.  The name is historical - it
    was originally used to debug LinuxThreads support.  */
 extern int debug_threads;
@@ -626,7 +629,7 @@ debug_reg_change_callback (struct inferi
   dr_changed_t *dr_changed_ptr;
   dr_changed_t dr_changed;
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     {
       fprintf (stderr, "debug_reg_change_callback: \n\tOn entry:\n");
       fprintf (stderr, "\tpid%d, tid: %ld, dr_changed_bp=0x%llx, "
@@ -677,7 +680,7 @@ debug_reg_change_callback (struct inferi
 	linux_stop_lwp (lwp);
     }
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     {
       fprintf (stderr, "\tOn exit:\n\tpid%d, tid: %ld, dr_changed_bp=0x%llx, "
 	       "dr_changed_wp=0x%llx\n",
@@ -700,7 +703,7 @@ aarch64_notify_debug_reg_change (const s
   struct aarch64_dr_update_callback_param param;
 
   /* Only update the threads of this process.  */
-  param.pid = pid_of (current_inferior);
+  param.pid = pid_of (current_thread);
 
   param.is_watchpoint = is_watchpoint;
   param.idx = idx;
@@ -917,7 +920,7 @@ aarch64_handle_unaligned_watchpoint (enu
 	ret = aarch64_dr_state_remove_one_point (state, type, aligned_addr,
 						 aligned_len);
 
-      if (debug_hw_points)
+      if (show_debug_regs)
 	fprintf (stderr,
  "handle_unaligned_watchpoint: is_insert: %d\n"
  "                             aligned_addr: 0x%s, aligned_len: %d\n"
@@ -973,7 +976,7 @@ aarch64_insert_point (enum raw_bkpt_type
   int ret;
   enum target_hw_bp_type targ_type;
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     fprintf (stderr, "insert_point on entry (addr=0x%08lx, len=%d)\n",
 	     (unsigned long) addr, len);
 
@@ -987,7 +990,7 @@ aarch64_insert_point (enum raw_bkpt_type
     ret =
       aarch64_handle_breakpoint (targ_type, addr, len, 1 /* is_insert */);
 
-  if (debug_hw_points > 1)
+  if (show_debug_regs > 1)
     aarch64_show_debug_reg_state (aarch64_get_debug_reg_state (),
 				  "insert_point", addr, len, targ_type);
 
@@ -1009,7 +1012,7 @@ aarch64_remove_point (enum raw_bkpt_type
   int ret;
   enum target_hw_bp_type targ_type;
 
-  if (debug_hw_points)
+  if (show_debug_regs)
     fprintf (stderr, "remove_point on entry (addr=0x%08lx, len=%d)\n",
 	     (unsigned long) addr, len);
 
@@ -1024,7 +1027,7 @@ aarch64_remove_point (enum raw_bkpt_type
     ret =
       aarch64_handle_breakpoint (targ_type, addr, len, 0 /* is_insert */);
 
-  if (debug_hw_points > 1)
+  if (show_debug_regs > 1)
     aarch64_show_debug_reg_state (aarch64_get_debug_reg_state (),
 				  "remove_point", addr, len, targ_type);
 
@@ -1041,7 +1044,7 @@ aarch64_stopped_data_address (void)
   int pid, i;
   struct aarch64_debug_reg_state *state;
 
-  pid = lwpid_of (current_inferior);
+  pid = lwpid_of (current_thread);
 
   /* Get the siginfo.  */
   if (ptrace (PTRACE_GETSIGINFO, pid, NULL, &siginfo) != 0)
@@ -1150,7 +1153,7 @@ aarch64_linux_prepare_to_resume (struct 
       struct aarch64_debug_reg_state *state
 	= &proc->private->arch_private->debug_reg_state;
 
-      if (debug_hw_points)
+      if (show_debug_regs)
 	fprintf (stderr, "prepare_to_resume thread %ld\n", lwpid_of (thread));
 
       /* Watchpoints.  */
@@ -1189,7 +1192,7 @@ aarch64_arch_setup (void)
 
   current_process ()->tdesc = tdesc_aarch64;
 
-  pid = lwpid_of (current_inferior);
+  pid = lwpid_of (current_thread);
   iov.iov_base = &dreg_state;
   iov.iov_len = sizeof (dreg_state);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-amd64-ipa.c ./gdb/gdbserver/linux-amd64-ipa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-amd64-ipa.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-amd64-ipa.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* GNU/Linux/x86-64 specific low level interface, for the in-process
    agent library for GDB.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-arm-low.c ./gdb/gdbserver/linux-arm-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-arm-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-arm-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux/ARM specific low level interface, for the remote server for GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -282,7 +282,7 @@ static const unsigned long arm_eabi_brea
 static int
 arm_breakpoint_at (CORE_ADDR where)
 {
-  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+  struct regcache *regcache = get_thread_regcache (current_thread, 1);
   unsigned long cpsr;
 
   collect_register_by_name (regcache, "cpsr", &cpsr);
@@ -325,7 +325,7 @@ arm_breakpoint_at (CORE_ADDR where)
 static CORE_ADDR
 arm_reinsert_addr (void)
 {
-  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+  struct regcache *regcache = get_thread_regcache (current_thread, 1);
   unsigned long pc;
   collect_register_by_name (regcache, "lr", &pc);
   return pc;
@@ -537,7 +537,7 @@ update_registers_callback (struct inferi
   struct update_registers_data *data = (struct update_registers_data *) arg;
 
   /* Only update the threads of the current process.  */
-  if (pid_of (thread) == pid_of (current_inferior))
+  if (pid_of (thread) == pid_of (current_thread))
     {
       /* The actual update is done later just before resuming the lwp,
          we just mark that the registers need updating.  */
@@ -655,7 +655,7 @@ arm_remove_point (enum raw_bkpt_type typ
 static int
 arm_stopped_by_watchpoint (void)
 {
-  struct lwp_info *lwp = get_thread_lwp (current_inferior);
+  struct lwp_info *lwp = get_thread_lwp (current_thread);
   siginfo_t siginfo;
 
   /* We must be able to set hardware watchpoints.  */
@@ -664,7 +664,7 @@ arm_stopped_by_watchpoint (void)
 
   /* Retrieve siginfo.  */
   errno = 0;
-  ptrace (PTRACE_GETSIGINFO, lwpid_of (current_inferior), 0, &siginfo);
+  ptrace (PTRACE_GETSIGINFO, lwpid_of (current_thread), 0, &siginfo);
   if (errno != 0)
     return 0;
 
@@ -690,7 +690,7 @@ arm_stopped_by_watchpoint (void)
 static CORE_ADDR
 arm_stopped_data_address (void)
 {
-  struct lwp_info *lwp = get_thread_lwp (current_inferior);
+  struct lwp_info *lwp = get_thread_lwp (current_thread);
   return lwp->arch_private->stopped_data_address;
 }
 
@@ -796,7 +796,7 @@ arm_get_hwcap (unsigned long *valp)
 static const struct target_desc *
 arm_read_description (void)
 {
-  int pid = lwpid_of (current_inferior);
+  int pid = lwpid_of (current_thread);
 
   /* Query hardware watchpoint/breakpoint capabilities.  */
   arm_linux_init_hwbp_cap (pid);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-bfin-low.c ./gdb/gdbserver/linux-bfin-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-bfin-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-bfin-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux/BFIN specific low level interface, for the remote server for GDB.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    Contributed by Analog Devices, Inc.
 
@@ -21,7 +21,6 @@
 
 #include "server.h"
 #include "linux-low.h"
-#include "libiberty.h"
 #include <asm/ptrace.h>
 
 /* Defined in auto-generated file reg-bfin.c.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-cris-low.c ./gdb/gdbserver/linux-cris-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-cris-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-cris-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux/CRIS specific low level interface, for the remote server for GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -102,7 +102,7 @@ cris_breakpoint_at (CORE_ADDR where)
 static CORE_ADDR
 cris_reinsert_addr (void)
 {
-  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+  struct regcache *regcache = get_thread_regcache (current_thread, 1);
   unsigned long pc;
   collect_register_by_name (regcache, "srp", &pc);
   return pc;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-crisv32-low.c ./gdb/gdbserver/linux-crisv32-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-crisv32-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-crisv32-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux/CRIS specific low level interface, for the remote server for GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -103,7 +103,7 @@ cris_breakpoint_at (CORE_ADDR where)
 static CORE_ADDR
 cris_reinsert_addr (void)
 {
-  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+  struct regcache *regcache = get_thread_regcache (current_thread, 1);
   unsigned long pc;
   collect_register_by_name (regcache, "srp", &pc);
   return pc;
@@ -166,7 +166,7 @@ cris_insert_point (enum raw_bkpt_type ty
   unsigned long ccs;
   struct regcache *regcache;
 
-  regcache = get_thread_regcache (current_inferior, 1);
+  regcache = get_thread_regcache (current_thread, 1);
 
   /* Read watchpoints are set as access watchpoints, because of GDB's
      inability to deal with pure read watchpoints.  */
@@ -239,7 +239,7 @@ cris_remove_point (enum raw_bkpt_type ty
   struct regcache *regcache;
   unsigned long bp_d_regs[12];
 
-  regcache = get_thread_regcache (current_inferior, 1);
+  regcache = get_thread_regcache (current_thread, 1);
 
   /* Read watchpoints are set as access watchpoints, because of GDB's
      inability to deal with pure read watchpoints.  */
@@ -316,7 +316,7 @@ static int
 cris_stopped_by_watchpoint (void)
 {
   unsigned long exs;
-  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+  struct regcache *regcache = get_thread_regcache (current_thread, 1);
 
   collect_register_by_name (regcache, "exs", &exs);
 
@@ -327,7 +327,7 @@ static CORE_ADDR
 cris_stopped_data_address (void)
 {
   unsigned long eda;
-  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+  struct regcache *regcache = get_thread_regcache (current_thread, 1);
 
   collect_register_by_name (regcache, "eda", &eda);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-i386-ipa.c ./gdb/gdbserver/linux-i386-ipa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-i386-ipa.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-i386-ipa.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* GNU/Linux/x86 specific low level interface, for the in-process
    agent library for GDB.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-ia64-low.c ./gdb/gdbserver/linux-ia64-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-ia64-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-ia64-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux/IA64 specific low level interface, for the remote server for GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-low.c ./gdb/gdbserver/linux-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Low level interface to ptrace, for the remote server for GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,23 +18,19 @@
 
 #include "server.h"
 #include "linux-low.h"
-#include "linux-osdata.h"
+#include "nat/linux-osdata.h"
 #include "agent.h"
 
 #include "nat/linux-nat.h"
 #include "nat/linux-waitpid.h"
 #include "gdb_wait.h"
-#include <stdio.h>
 #include <sys/ptrace.h>
-#include "linux-ptrace.h"
-#include "linux-procfs.h"
+#include "nat/linux-ptrace.h"
+#include "nat/linux-procfs.h"
 #include <signal.h>
 #include <sys/ioctl.h>
 #include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
 #include <unistd.h>
-#include <errno.h>
 #include <sys/syscall.h>
 #include <sched.h>
 #include <ctype.h>
@@ -105,7 +101,7 @@
 #endif
 
 #ifdef HAVE_LINUX_BTRACE
-# include "linux-btrace.h"
+# include "nat/linux-btrace.h"
 #endif
 
 #ifndef HAVE_ELF32_AUXV_T
@@ -222,9 +218,12 @@ static int linux_stopped_by_watchpoint (
 static void mark_lwp_dead (struct lwp_info *lwp, int wstat);
 static void proceed_all_lwps (void);
 static int finish_step_over (struct lwp_info *lwp);
-static CORE_ADDR get_stop_pc (struct lwp_info *lwp);
 static int kill_lwp (unsigned long lwpid, int signo);
 
+/* When the event-loop is doing a step-over, this points at the thread
+   being stepped.  */
+ptid_t step_over_bkpt;
+
 /* True if the low target can hardware single-step.  Such targets
    don't need a BREAKPOINT_REINSERT_ADDR callback.  */
 
@@ -367,6 +366,8 @@ linux_add_process (int pid, int attached
   return proc;
 }
 
+static CORE_ADDR get_pc (struct lwp_info *lwp);
+
 /* Handle a GNU/Linux extended wait response.  If we see a clone
    event, we need to add the new LWP to our list (and not report the
    trap to higher layers).  */
@@ -374,7 +375,7 @@ linux_add_process (int pid, int attached
 static void
 handle_extended_wait (struct lwp_info *event_child, int wstat)
 {
-  int event = wstat >> 16;
+  int event = linux_ptrace_get_extended_event (wstat);
   struct thread_info *event_thr = get_lwp_thread (event_child);
   struct lwp_info *new_lwp;
 
@@ -427,9 +428,7 @@ handle_extended_wait (struct lwp_info *e
 	 If we do get another signal, be sure not to lose it.  */
       if (WSTOPSIG (status) == SIGSTOP)
 	{
-	  if (stopping_threads != NOT_STOPPING_THREADS)
-	    new_lwp->stop_pc = get_stop_pc (new_lwp);
-	  else
+	  if (stopping_threads == NOT_STOPPING_THREADS)
 	    linux_resume_one_lwp (new_lwp, 0, 0, NULL);
 	}
       else
@@ -438,7 +437,6 @@ handle_extended_wait (struct lwp_info *e
 
 	  if (stopping_threads != NOT_STOPPING_THREADS)
 	    {
-	      new_lwp->stop_pc = get_stop_pc (new_lwp);
 	      new_lwp->status_pending_p = 1;
 	      new_lwp->status_pending = status;
 	    }
@@ -461,23 +459,23 @@ handle_extended_wait (struct lwp_info *e
 static CORE_ADDR
 get_pc (struct lwp_info *lwp)
 {
-  struct thread_info *saved_inferior;
+  struct thread_info *saved_thread;
   struct regcache *regcache;
   CORE_ADDR pc;
 
   if (the_low_target.get_pc == NULL)
     return 0;
 
-  saved_inferior = current_inferior;
-  current_inferior = get_lwp_thread (lwp);
+  saved_thread = current_thread;
+  current_thread = get_lwp_thread (lwp);
 
-  regcache = get_thread_regcache (current_inferior, 1);
+  regcache = get_thread_regcache (current_thread, 1);
   pc = (*the_low_target.get_pc) (regcache);
 
   if (debug_threads)
     debug_printf ("pc is 0x%lx\n", (long) pc);
 
-  current_inferior = saved_inferior;
+  current_thread = saved_thread;
   return pc;
 }
 
@@ -485,44 +483,96 @@ get_pc (struct lwp_info *lwp)
    The SIGTRAP could mean several things.
 
    On i386, where decr_pc_after_break is non-zero:
-   If we were single-stepping this process using PTRACE_SINGLESTEP,
-   we will get only the one SIGTRAP (even if the instruction we
-   stepped over was a breakpoint).  The value of $eip will be the
-   next instruction.
+
+   If we were single-stepping this process using PTRACE_SINGLESTEP, we
+   will get only the one SIGTRAP.  The value of $eip will be the next
+   instruction.  If the instruction we stepped over was a breakpoint,
+   we need to decrement the PC.
+
    If we continue the process using PTRACE_CONT, we will get a
    SIGTRAP when we hit a breakpoint.  The value of $eip will be
    the instruction after the breakpoint (i.e. needs to be
    decremented).  If we report the SIGTRAP to GDB, we must also
-   report the undecremented PC.  If we cancel the SIGTRAP, we
+   report the undecremented PC.  If the breakpoint is removed, we
    must resume at the decremented PC.
 
-   (Presumably, not yet tested) On a non-decr_pc_after_break machine
-   with hardware or kernel single-step:
-   If we single-step over a breakpoint instruction, our PC will
-   point at the following instruction.  If we continue and hit a
-   breakpoint instruction, our PC will point at the breakpoint
+   On a non-decr_pc_after_break machine with hardware or kernel
+   single-step:
+
+   If we either single-step a breakpoint instruction, or continue and
+   hit a breakpoint instruction, our PC will point at the breakpoint
    instruction.  */
 
-static CORE_ADDR
-get_stop_pc (struct lwp_info *lwp)
+static int
+check_stopped_by_breakpoint (struct lwp_info *lwp)
 {
-  CORE_ADDR stop_pc;
+  CORE_ADDR pc;
+  CORE_ADDR sw_breakpoint_pc;
+  struct thread_info *saved_thread;
 
   if (the_low_target.get_pc == NULL)
     return 0;
 
-  stop_pc = get_pc (lwp);
+  pc = get_pc (lwp);
+  sw_breakpoint_pc = pc - the_low_target.decr_pc_after_break;
 
-  if (WSTOPSIG (lwp->last_status) == SIGTRAP
-      && !lwp->stepping
-      && !lwp->stopped_by_watchpoint
-      && lwp->last_status >> 16 == 0)
-    stop_pc -= the_low_target.decr_pc_after_break;
+  /* breakpoint_at reads from the current thread.  */
+  saved_thread = current_thread;
+  current_thread = get_lwp_thread (lwp);
+
+  /* We may have just stepped a breakpoint instruction.  E.g., in
+     non-stop mode, GDB first tells the thread A to step a range, and
+     then the user inserts a breakpoint inside the range.  In that
+     case, we need to report the breakpoint PC.  But, when we're
+     trying to step past one of our own breakpoints, that happens to
+     have been placed on top of a permanent breakpoint instruction, we
+     shouldn't adjust the PC, otherwise the program would keep
+     trapping the permanent breakpoint forever.  */
+  if ((!lwp->stepping
+       || (!ptid_equal (ptid_of (current_thread), step_over_bkpt)
+	   && lwp->stop_pc == sw_breakpoint_pc))
+      && (*the_low_target.breakpoint_at) (sw_breakpoint_pc))
+    {
+      if (debug_threads)
+	{
+	  struct thread_info *thr = get_lwp_thread (lwp);
 
-  if (debug_threads)
-    debug_printf ("stop pc is 0x%lx\n", (long) stop_pc);
+	  debug_printf ("CSBB: %s stopped by software breakpoint\n",
+			target_pid_to_str (ptid_of (thr)));
+	}
+
+      /* Back up the PC if necessary.  */
+      if (pc != sw_breakpoint_pc)
+        {
+	  struct regcache *regcache
+	    = get_thread_regcache (current_thread, 1);
+	  (*the_low_target.set_pc) (regcache, sw_breakpoint_pc);
+	}
 
-  return stop_pc;
+      lwp->stop_pc = sw_breakpoint_pc;
+      lwp->stop_reason = LWP_STOPPED_BY_SW_BREAKPOINT;
+      current_thread = saved_thread;
+      return 1;
+    }
+
+  if (hardware_breakpoint_inserted_here (pc))
+    {
+      if (debug_threads)
+	{
+	  struct thread_info *thr = get_lwp_thread (lwp);
+
+	  debug_printf ("CSBB: %s stopped by hardware breakpoint\n",
+			target_pid_to_str (ptid_of (thr)));
+	}
+
+      lwp->stop_pc = pc;
+      lwp->stop_reason = LWP_STOPPED_BY_HW_BREAKPOINT;
+      current_thread = saved_thread;
+      return 1;
+    }
+
+  current_thread = saved_thread;
+  return 0;
 }
 
 static struct lwp_info *
@@ -635,31 +685,8 @@ linux_create_inferior (char *program, ch
   return pid;
 }
 
-char *
-linux_attach_fail_reason_string (ptid_t ptid, int err)
-{
-  static char *reason_string;
-  struct buffer buffer;
-  char *warnings;
-  long lwpid = ptid_get_lwp (ptid);
-
-  xfree (reason_string);
-
-  buffer_init (&buffer);
-  linux_ptrace_attach_fail_reason (lwpid, &buffer);
-  buffer_grow_str0 (&buffer, "");
-  warnings = buffer_finish (&buffer);
-  if (warnings[0] != '\0')
-    reason_string = xstrprintf ("%s (%d), %s",
-				strerror (err), err, warnings);
-  else
-    reason_string = xstrprintf ("%s (%d)",
-				strerror (err), err);
-  xfree (warnings);
-  return reason_string;
-}
-
-/* Attach to an inferior process.  */
+/* Attach to an inferior process.  Returns 0 on success, ERRNO on
+   error.  */
 
 int
 linux_attach_lwp (ptid_t ptid)
@@ -743,6 +770,50 @@ linux_attach_lwp (ptid_t ptid)
   return 0;
 }
 
+/* Callback for linux_proc_attach_tgid_threads.  Attach to PTID if not
+   already attached.  Returns true if a new LWP is found, false
+   otherwise.  */
+
+static int
+attach_proc_task_lwp_callback (ptid_t ptid)
+{
+  /* Is this a new thread?  */
+  if (find_thread_ptid (ptid) == NULL)
+    {
+      int lwpid = ptid_get_lwp (ptid);
+      int err;
+
+      if (debug_threads)
+	debug_printf ("Found new lwp %d\n", lwpid);
+
+      err = linux_attach_lwp (ptid);
+
+      /* Be quiet if we simply raced with the thread exiting.  EPERM
+	 is returned if the thread's task still exists, and is marked
+	 as exited or zombie, as well as other conditions, so in that
+	 case, confirm the status in /proc/PID/status.  */
+      if (err == ESRCH
+	  || (err == EPERM && linux_proc_pid_is_gone (lwpid)))
+	{
+	  if (debug_threads)
+	    {
+	      debug_printf ("Cannot attach to lwp %d: "
+			    "thread is gone (%d: %s)\n",
+			    lwpid, err, strerror (err));
+	    }
+	}
+      else if (err != 0)
+	{
+	  warning (_("Cannot attach to lwp %d: %s"),
+		   lwpid,
+		   linux_ptrace_attach_fail_reason_string (ptid, err));
+	}
+
+      return 1;
+    }
+  return 0;
+}
+
 /* Attach to PID.  If PID is the tgid, attach to it and all
    of its threads.  */
 
@@ -757,7 +828,7 @@ linux_attach (unsigned long pid)
   err = linux_attach_lwp (ptid);
   if (err != 0)
     error ("Cannot attach to process %ld: %s",
-	   pid, linux_attach_fail_reason_string (ptid, err));
+	   pid, linux_ptrace_attach_fail_reason_string (ptid, err));
 
   linux_add_process (pid, 1);
 
@@ -771,75 +842,16 @@ linux_attach (unsigned long pid)
       thread->last_resume_kind = resume_stop;
     }
 
-  if (linux_proc_get_tgid (pid) == pid)
-    {
-      DIR *dir;
-      char pathname[128];
-
-      sprintf (pathname, "/proc/%ld/task", pid);
-
-      dir = opendir (pathname);
-
-      if (!dir)
-	{
-	  fprintf (stderr, "Could not open /proc/%ld/task.\n", pid);
-	  fflush (stderr);
-	}
-      else
-	{
-	  /* At this point we attached to the tgid.  Scan the task for
-	     existing threads.  */
-	  int new_threads_found;
-	  int iterations = 0;
-
-	  while (iterations < 2)
-	    {
-	      struct dirent *dp;
-
-	      new_threads_found = 0;
-	      /* Add all the other threads.  While we go through the
-		 threads, new threads may be spawned.  Cycle through
-		 the list of threads until we have done two iterations without
-		 finding new threads.  */
-	      while ((dp = readdir (dir)) != NULL)
-		{
-		  unsigned long lwp;
-		  ptid_t ptid;
-
-		  /* Fetch one lwp.  */
-		  lwp = strtoul (dp->d_name, NULL, 10);
-
-		  ptid = ptid_build (pid, lwp, 0);
-
-		  /* Is this a new thread?  */
-		  if (lwp != 0 && find_thread_ptid (ptid) == NULL)
-		    {
-		      int err;
-
-		      if (debug_threads)
-			debug_printf ("Found new lwp %ld\n", lwp);
-
-		      err = linux_attach_lwp (ptid);
-		      if (err != 0)
-			warning ("Cannot attach to lwp %ld: %s",
-				 lwp,
-				 linux_attach_fail_reason_string (ptid, err));
-
-		      new_threads_found++;
-		    }
-		}
-
-	      if (!new_threads_found)
-		iterations++;
-	      else
-		iterations = 0;
-
-	      rewinddir (dir);
-	    }
-	  closedir (dir);
-	}
-    }
-
+  /* We must attach to every LWP.  If /proc is mounted, use that to
+     find them now.  On the one hand, the inferior may be using raw
+     clone instead of using pthreads.  On the other hand, even if it
+     is using pthreads, GDB may not be connected yet (thread_db needs
+     to do symbol lookups, through qSymbol).  Also, thread_db walks
+     structures in the inferior's address space to find the list of
+     threads/LWPs, and those structures may well be corrupted.  Note
+     that once thread_db is loaded, we'll still use it to list threads
+     and associate pthread info with each LWP.  */
+  linux_proc_attach_tgid_threads (pid, attach_proc_task_lwp_callback);
   return 0;
 }
 
@@ -895,18 +907,26 @@ linux_kill_one_lwp (struct lwp_info *lwp
      everywhere.  */
 
   errno = 0;
-  kill (pid, SIGKILL);
+  kill_lwp (pid, SIGKILL);
   if (debug_threads)
-    debug_printf ("LKL:  kill (SIGKILL) %s, 0, 0 (%s)\n",
-		  target_pid_to_str (ptid_of (thr)),
-		  errno ? strerror (errno) : "OK");
+    {
+      int save_errno = errno;
+
+      debug_printf ("LKL:  kill_lwp (SIGKILL) %s, 0, 0 (%s)\n",
+		    target_pid_to_str (ptid_of (thr)),
+		    save_errno ? strerror (save_errno) : "OK");
+    }
 
   errno = 0;
   ptrace (PTRACE_KILL, pid, (PTRACE_TYPE_ARG3) 0, (PTRACE_TYPE_ARG4) 0);
   if (debug_threads)
-    debug_printf ("LKL:  PTRACE_KILL %s, 0, 0 (%s)\n",
-		  target_pid_to_str (ptid_of (thr)),
-		  errno ? strerror (errno) : "OK");
+    {
+      int save_errno = errno;
+
+      debug_printf ("LKL:  PTRACE_KILL %s, 0, 0 (%s)\n",
+		    target_pid_to_str (ptid_of (thr)),
+		    save_errno ? strerror (save_errno) : "OK");
+    }
 }
 
 /* Kill LWP and wait for it to die.  */
@@ -1052,7 +1072,7 @@ get_detach_signal (struct thread_info *t
     }
 
   /* Extended wait statuses aren't real SIGTRAPs.  */
-  if (WSTOPSIG (status) == SIGTRAP && status >> 16 != 0)
+  if (WSTOPSIG (status) == SIGTRAP && linux_is_extended_waitstatus (status))
     {
       if (debug_threads)
 	debug_printf ("GPS: lwp %s had stopped with extended "
@@ -1231,12 +1251,83 @@ linux_thread_alive (ptid_t ptid)
     return 0;
 }
 
+/* Return 1 if this lwp still has an interesting status pending.  If
+   not (e.g., it had stopped for a breakpoint that is gone), return
+   false.  */
+
+static int
+thread_still_has_status_pending_p (struct thread_info *thread)
+{
+  struct lwp_info *lp = get_thread_lwp (thread);
+
+  if (!lp->status_pending_p)
+    return 0;
+
+  /* If we got a `vCont;t', but we haven't reported a stop yet, do
+     report any status pending the LWP may have.  */
+  if (thread->last_resume_kind == resume_stop
+      && thread->last_status.kind != TARGET_WAITKIND_IGNORE)
+    return 0;
+
+  if (thread->last_resume_kind != resume_stop
+      && (lp->stop_reason == LWP_STOPPED_BY_SW_BREAKPOINT
+	  || lp->stop_reason == LWP_STOPPED_BY_HW_BREAKPOINT))
+    {
+      struct thread_info *saved_thread;
+      CORE_ADDR pc;
+      int discard = 0;
+
+      gdb_assert (lp->last_status != 0);
+
+      pc = get_pc (lp);
+
+      saved_thread = current_thread;
+      current_thread = thread;
+
+      if (pc != lp->stop_pc)
+	{
+	  if (debug_threads)
+	    debug_printf ("PC of %ld changed\n",
+			  lwpid_of (thread));
+	  discard = 1;
+	}
+      else if (lp->stop_reason == LWP_STOPPED_BY_SW_BREAKPOINT
+	       && !(*the_low_target.breakpoint_at) (pc))
+	{
+	  if (debug_threads)
+	    debug_printf ("previous SW breakpoint of %ld gone\n",
+			  lwpid_of (thread));
+	  discard = 1;
+	}
+      else if (lp->stop_reason == LWP_STOPPED_BY_HW_BREAKPOINT
+	       && !hardware_breakpoint_inserted_here (pc))
+	{
+	  if (debug_threads)
+	    debug_printf ("previous HW breakpoint of %ld gone\n",
+			  lwpid_of (thread));
+	  discard = 1;
+	}
+
+      current_thread = saved_thread;
+
+      if (discard)
+	{
+	  if (debug_threads)
+	    debug_printf ("discarding pending breakpoint status\n");
+	  lp->status_pending_p = 0;
+	  return 0;
+	}
+    }
+
+  return 1;
+}
+
 /* Return 1 if this lwp has an interesting status pending.  */
 static int
 status_pending_p_callback (struct inferior_list_entry *entry, void *arg)
 {
   struct thread_info *thread = (struct thread_info *) entry;
-  struct lwp_info *lwp = get_thread_lwp (thread);
+  struct lwp_info *lp = get_thread_lwp (thread);
   ptid_t ptid = * (ptid_t *) arg;
 
   /* Check if we're only interested in events from a specific process
@@ -1245,13 +1336,14 @@ status_pending_p_callback (struct inferi
       && ptid_get_pid (ptid) != ptid_get_pid (thread->entry.id))
     return 0;
 
-  /* If we got a `vCont;t', but we haven't reported a stop yet, do
-     report any status pending the LWP may have.  */
-  if (thread->last_resume_kind == resume_stop
-      && thread->last_status.kind != TARGET_WAITKIND_IGNORE)
-    return 0;
+  if (lp->status_pending_p
+      && !thread_still_has_status_pending_p (thread))
+    {
+      linux_resume_one_lwp (lp, lp->stepping, GDB_SIGNAL_0, NULL);
+      return 0;
+    }
 
-  return lwp->status_pending_p;
+  return lp->status_pending_p;
 }
 
 static int
@@ -1397,6 +1489,8 @@ handle_tracepoints (struct lwp_info *lwp
   struct thread_info *tinfo = get_lwp_thread (lwp);
   int tpoint_related_event = 0;
 
+  gdb_assert (lwp->suspended == 0);
+
   /* If this tracepoint hit causes a tracing stop, we'll immediately
      uninsert tracepoints.  To do this, we temporarily pause all
      threads, unpatch away, and then unpause threads.  We need to make
@@ -1463,10 +1557,10 @@ linux_fast_tracepoint_collecting (struct
 static int
 maybe_move_out_of_jump_pad (struct lwp_info *lwp, int *wstat)
 {
-  struct thread_info *saved_inferior;
+  struct thread_info *saved_thread;
 
-  saved_inferior = current_inferior;
-  current_inferior = get_lwp_thread (lwp);
+  saved_thread = current_thread;
+  current_thread = get_lwp_thread (lwp);
 
   if ((wstat == NULL
        || (WIFSTOPPED (*wstat) && WSTOPSIG (*wstat) != SIGTRAP))
@@ -1479,7 +1573,7 @@ maybe_move_out_of_jump_pad (struct lwp_i
       if (debug_threads)
 	debug_printf ("Checking whether LWP %ld needs to move out of the "
 		      "jump pad.\n",
-		      lwpid_of (current_inferior));
+		      lwpid_of (current_thread));
 
       r = linux_fast_tracepoint_collecting (lwp, &status);
 
@@ -1505,8 +1599,8 @@ maybe_move_out_of_jump_pad (struct lwp_i
 	      if (debug_threads)
 		debug_printf ("Checking whether LWP %ld needs to move out of "
 			      "the jump pad...it does\n",
-			      lwpid_of (current_inferior));
-	      current_inferior = saved_inferior;
+			      lwpid_of (current_thread));
+	      current_thread = saved_thread;
 
 	      return 1;
 	    }
@@ -1535,18 +1629,18 @@ maybe_move_out_of_jump_pad (struct lwp_i
 		   || WSTOPSIG (*wstat) == SIGFPE
 		   || WSTOPSIG (*wstat) == SIGBUS
 		   || WSTOPSIG (*wstat) == SIGSEGV)
-		  && ptrace (PTRACE_GETSIGINFO, lwpid_of (current_inferior),
+		  && ptrace (PTRACE_GETSIGINFO, lwpid_of (current_thread),
 			     (PTRACE_TYPE_ARG3) 0, &info) == 0
 		  /* Final check just to make sure we don't clobber
 		     the siginfo of non-kernel-sent signals.  */
 		  && (uintptr_t) info.si_addr == lwp->stop_pc)
 		{
 		  info.si_addr = (void *) (uintptr_t) status.tpoint_addr;
-		  ptrace (PTRACE_SETSIGINFO, lwpid_of (current_inferior),
+		  ptrace (PTRACE_SETSIGINFO, lwpid_of (current_thread),
 			  (PTRACE_TYPE_ARG3) 0, &info);
 		}
 
-	      regcache = get_thread_regcache (current_inferior, 1);
+	      regcache = get_thread_regcache (current_thread, 1);
 	      (*the_low_target.set_pc) (regcache, status.tpoint_addr);
 	      lwp->stop_pc = status.tpoint_addr;
 
@@ -1562,7 +1656,6 @@ maybe_move_out_of_jump_pad (struct lwp_i
 			      "stopping all threads momentarily.\n");
 
 	      stop_all_lwps (1, lwp);
-	      cancel_breakpoints ();
 
 	      delete_breakpoint (lwp->exit_jump_pad_bkpt);
 	      lwp->exit_jump_pad_bkpt = NULL;
@@ -1577,9 +1670,9 @@ maybe_move_out_of_jump_pad (struct lwp_i
   if (debug_threads)
     debug_printf ("Checking whether LWP %ld needs to move out of the "
 		  "jump pad...no\n",
-		  lwpid_of (current_inferior));
+		  lwpid_of (current_thread));
 
-  current_inferior = saved_inferior;
+  current_thread = saved_thread;
   return 0;
 }
 
@@ -1688,51 +1781,59 @@ dequeue_one_deferred_signal (struct lwp_
   return 0;
 }
 
-/* Arrange for a breakpoint to be hit again later.  We don't keep the
-   SIGTRAP status and don't forward the SIGTRAP signal to the LWP.  We
-   will handle the current event, eventually we will resume this LWP,
-   and this breakpoint will trap again.  */
+/* Return true if the event in LP may be caused by breakpoint.  */
 
 static int
-cancel_breakpoint (struct lwp_info *lwp)
+wstatus_maybe_breakpoint (int wstatus)
 {
-  struct thread_info *saved_inferior;
+  return (WIFSTOPPED (wstatus)
+	  && (WSTOPSIG (wstatus) == SIGTRAP
+	      /* SIGILL and SIGSEGV are also treated as traps in case a
+		 breakpoint is inserted at the current PC.  */
+	      || WSTOPSIG (wstatus) == SIGILL
+	      || WSTOPSIG (wstatus) == SIGSEGV));
+}
 
-  /* There's nothing to do if we don't support breakpoints.  */
-  if (!supports_breakpoints ())
-    return 0;
+/* Fetch the possibly triggered data watchpoint info and store it in
+   CHILD.
 
-  /* breakpoint_at reads from current inferior.  */
-  saved_inferior = current_inferior;
-  current_inferior = get_lwp_thread (lwp);
+   On some archs, like x86, that use debug registers to set
+   watchpoints, it's possible that the way to know which watched
+   address trapped, is to check the register that is used to select
+   which address to watch.  Problem is, between setting the watchpoint
+   and reading back which data address trapped, the user may change
+   the set of watchpoints, and, as a consequence, GDB changes the
+   debug registers in the inferior.  To avoid reading back a stale
+   stopped-data-address when that happens, we cache in LP the fact
+   that a watchpoint trapped, and the corresponding data address, as
+   soon as we see CHILD stop with a SIGTRAP.  If GDB changes the debug
+   registers meanwhile, we have the cached data we can rely on.  */
 
-  if ((*the_low_target.breakpoint_at) (lwp->stop_pc))
+static int
+check_stopped_by_watchpoint (struct lwp_info *child)
+{
+  if (the_low_target.stopped_by_watchpoint != NULL)
     {
-      if (debug_threads)
-	debug_printf ("CB: Push back breakpoint for %s\n",
-		      target_pid_to_str (ptid_of (current_inferior)));
+      struct thread_info *saved_thread;
 
-      /* Back up the PC if necessary.  */
-      if (the_low_target.decr_pc_after_break)
+      saved_thread = current_thread;
+      current_thread = get_lwp_thread (child);
+
+      if (the_low_target.stopped_by_watchpoint ())
 	{
-	  struct regcache *regcache
-	    = get_thread_regcache (current_inferior, 1);
-	  (*the_low_target.set_pc) (regcache, lwp->stop_pc);
+	  child->stop_reason = LWP_STOPPED_BY_WATCHPOINT;
+
+	  if (the_low_target.stopped_data_address != NULL)
+	    child->stopped_data_address
+	      = the_low_target.stopped_data_address ();
+	  else
+	    child->stopped_data_address = 0;
 	}
 
-      current_inferior = saved_inferior;
-      return 1;
-    }
-  else
-    {
-      if (debug_threads)
-	debug_printf ("CB: No breakpoint found at %s for [%s]\n",
-		      paddress (lwp->stop_pc),
-		      target_pid_to_str (ptid_of (current_inferior)));
+      current_thread = saved_thread;
     }
 
-  current_inferior = saved_inferior;
-  return 0;
+  return child->stop_reason == LWP_STOPPED_BY_WATCHPOINT;
 }
 
 /* Do low-level handling of the event, and check if we should go on
@@ -1740,10 +1841,11 @@ cancel_breakpoint (struct lwp_info *lwp)
    NULL otherwise.  */
 
 static struct lwp_info *
-linux_low_filter_event (ptid_t filter_ptid, int lwpid, int wstat)
+linux_low_filter_event (int lwpid, int wstat)
 {
   struct lwp_info *child;
   struct thread_info *thread;
+  int have_stop_pc = 0;
 
   child = find_lwp_pid (pid_to_ptid (lwpid));
 
@@ -1765,6 +1867,35 @@ linux_low_filter_event (ptid_t filter_pt
 
   child->last_status = wstat;
 
+  /* Check if the thread has exited.  */
+  if ((WIFEXITED (wstat) || WIFSIGNALED (wstat)))
+    {
+      if (debug_threads)
+	debug_printf ("LLFE: %d exited.\n", lwpid);
+      if (num_lwps (pid_of (thread)) > 1)
+	{
+
+	  /* If there is at least one more LWP, then the exit signal was
+	     not the end of the debugged application and should be
+	     ignored.  */
+	  delete_lwp (child);
+	  return NULL;
+	}
+      else
+	{
+	  /* This was the last lwp in the process.  Since events are
+	     serialized to GDB core, and we can't report this one
+	     right now, but GDB core and the other target layers will
+	     want to be notified about the exit code/signal, leave the
+	     status pending for the next time we're able to report
+	     it.  */
+	  mark_lwp_dead (child, wstat);
+	  return child;
+	}
+    }
+
+  gdb_assert (WIFSTOPPED (wstat));
+
   if (WIFSTOPPED (wstat))
     {
       struct process_info *proc;
@@ -1776,101 +1907,49 @@ linux_low_filter_event (ptid_t filter_pt
       proc = find_process_pid (pid_of (thread));
       if (proc->private->new_inferior)
 	{
-	  struct thread_info *saved_inferior;
+	  struct thread_info *saved_thread;
 
-	  saved_inferior = current_inferior;
-	  current_inferior = thread;
+	  saved_thread = current_thread;
+	  current_thread = thread;
 
 	  the_low_target.arch_setup ();
 
-	  current_inferior = saved_inferior;
+	  current_thread = saved_thread;
 
 	  proc->private->new_inferior = 0;
 	}
     }
 
-  /* Store the STOP_PC, with adjustment applied.  This depends on the
-     architecture being defined already (so that CHILD has a valid
-     regcache), and on LAST_STATUS being set (to check for SIGTRAP or
-     not).  */
-  if (WIFSTOPPED (wstat))
-    {
-      if (debug_threads
-	  && the_low_target.get_pc != NULL)
-	{
-	  struct thread_info *saved_inferior;
-	  struct regcache *regcache;
-	  CORE_ADDR pc;
-
-	  saved_inferior = current_inferior;
-	  current_inferior = thread;
-	  regcache = get_thread_regcache (current_inferior, 1);
-	  pc = (*the_low_target.get_pc) (regcache);
-	  debug_printf ("linux_low_filter_event: pc is 0x%lx\n", (long) pc);
-	  current_inferior = saved_inferior;
-	}
-
-      child->stop_pc = get_stop_pc (child);
-    }
-
-  /* Fetch the possibly triggered data watchpoint info and store it in
-     CHILD.
-
-     On some archs, like x86, that use debug registers to set
-     watchpoints, it's possible that the way to know which watched
-     address trapped, is to check the register that is used to select
-     which address to watch.  Problem is, between setting the
-     watchpoint and reading back which data address trapped, the user
-     may change the set of watchpoints, and, as a consequence, GDB
-     changes the debug registers in the inferior.  To avoid reading
-     back a stale stopped-data-address when that happens, we cache in
-     LP the fact that a watchpoint trapped, and the corresponding data
-     address, as soon as we see CHILD stop with a SIGTRAP.  If GDB
-     changes the debug registers meanwhile, we have the cached data we
-     can rely on.  */
-
-  if (WIFSTOPPED (wstat) && WSTOPSIG (wstat) == SIGTRAP)
-    {
-      if (the_low_target.stopped_by_watchpoint == NULL)
-	{
-	  child->stopped_by_watchpoint = 0;
-	}
-      else
-	{
-	  struct thread_info *saved_inferior;
-
-	  saved_inferior = current_inferior;
-	  current_inferior = thread;
-
-	  child->stopped_by_watchpoint
-	    = the_low_target.stopped_by_watchpoint ();
-
-	  if (child->stopped_by_watchpoint)
-	    {
-	      if (the_low_target.stopped_data_address != NULL)
-		child->stopped_data_address
-		  = the_low_target.stopped_data_address ();
-	      else
-		child->stopped_data_address = 0;
-	    }
-
-	  current_inferior = saved_inferior;
-	}
-    }
-
   if (WIFSTOPPED (wstat) && child->must_set_ptrace_flags)
     {
-      linux_enable_event_reporting (lwpid);
+      struct process_info *proc = find_process_pid (pid_of (thread));
+
+      linux_enable_event_reporting (lwpid, proc->attached);
       child->must_set_ptrace_flags = 0;
     }
 
+  /* Be careful to not overwrite stop_pc until
+     check_stopped_by_breakpoint is called.  */
   if (WIFSTOPPED (wstat) && WSTOPSIG (wstat) == SIGTRAP
-      && wstat >> 16 != 0)
+      && linux_is_extended_waitstatus (wstat))
     {
+      child->stop_pc = get_pc (child);
       handle_extended_wait (child, wstat);
       return NULL;
     }
 
+  if (WIFSTOPPED (wstat) && WSTOPSIG (wstat) == SIGTRAP
+      && check_stopped_by_watchpoint (child))
+    ;
+  else if (WIFSTOPPED (wstat) && wstatus_maybe_breakpoint (wstat))
+    {
+      if (check_stopped_by_breakpoint (child))
+	have_stop_pc = 1;
+    }
+
+  if (!have_stop_pc)
+    child->stop_pc = get_pc (child);
+
   if (WIFSTOPPED (wstat) && WSTOPSIG (wstat) == SIGSTOP
       && child->stop_expected)
     {
@@ -1886,7 +1965,7 @@ linux_low_filter_event (ptid_t filter_pt
       else if (stopping_threads != NOT_STOPPING_THREADS)
 	{
 	  /* Stopping threads.  We don't want this SIGSTOP to end up
-	     pending in the FILTER_PTID handling below.  */
+	     pending.  */
 	  return NULL;
 	}
       else
@@ -1897,79 +1976,11 @@ linux_low_filter_event (ptid_t filter_pt
 	}
     }
 
-    /* Check if the thread has exited.  */
-  if ((WIFEXITED (wstat) || WIFSIGNALED (wstat))
-      && num_lwps (pid_of (thread)) > 1)
-    {
-      if (debug_threads)
-	debug_printf ("LLW: %d exited.\n", lwpid);
-
-	 /* If there is at least one more LWP, then the exit signal
-	    was not the end of the debugged application and should be
-	    ignored.  */
-      delete_lwp (child);
-      return NULL;
-    }
-
-  if (!ptid_match (ptid_of (thread), filter_ptid))
-    {
-      if (debug_threads)
-	debug_printf ("LWP %d got an event %06x, leaving pending.\n",
-		      lwpid, wstat);
-
-      if (WIFSTOPPED (wstat))
-	{
-	  child->status_pending_p = 1;
-	  child->status_pending = wstat;
-
-	  if (WSTOPSIG (wstat) != SIGSTOP)
-	    {
-	      /* Cancel breakpoint hits.  The breakpoint may be
-		 removed before we fetch events from this process to
-		 report to the core.  It is best not to assume the
-		 moribund breakpoints heuristic always handles these
-		 cases --- it could be too many events go through to
-		 the core before this one is handled.  All-stop always
-		 cancels breakpoint hits in all threads.  */
-	      if (non_stop
-		  && WSTOPSIG (wstat) == SIGTRAP
-		  && cancel_breakpoint (child))
-		{
-		  /* Throw away the SIGTRAP.  */
-		  child->status_pending_p = 0;
-
-		  if (debug_threads)
-		    debug_printf ("LLW: LWP %d hit a breakpoint while"
-				  " waiting for another process;"
-				  " cancelled it\n", lwpid);
-		}
-	    }
-	}
-      else if (WIFEXITED (wstat) || WIFSIGNALED (wstat))
-	{
-	  if (debug_threads)
-	    debug_printf ("LLWE: process %d exited while fetching "
-			  "event from another LWP\n", lwpid);
-
-	  /* This was the last lwp in the process.  Since events are
-	     serialized to GDB core, and we can't report this one
-	     right now, but GDB core and the other target layers will
-	     want to be notified about the exit code/signal, leave the
-	     status pending for the next time we're able to report
-	     it.  */
-	  mark_lwp_dead (child, wstat);
-	}
-
-      return NULL;
-    }
-
+  child->status_pending_p = 1;
+  child->status_pending = wstat;
   return child;
 }
 
-/* When the event-loop is doing a step-over, this points at the thread
-   being stepped.  */
-ptid_t step_over_bkpt;
-
 /* Wait for an event from child(ren) WAIT_PTID, and return any that
    match FILTER_PTID (leaving others pending).  The PTIDs can be:
    minus_one_ptid, to specify any child; a pid PTID, specifying all
@@ -2022,7 +2033,11 @@ linux_wait_for_event_filtered (ptid_t wa
 
       if (requested_child->suspended
 	  && requested_child->status_pending_p)
-	fatal ("requesting an event out of a suspended child?");
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "requesting an event out of a"
+			  " suspended child?");
+	}
 
       if (requested_child->status_pending_p)
 	{
@@ -2039,7 +2054,7 @@ linux_wait_for_event_filtered (ptid_t wa
       *wstatp = event_child->status_pending;
       event_child->status_pending_p = 0;
       event_child->status_pending = 0;
-      current_inferior = event_thread;
+      current_thread = event_thread;
       return lwpid_of (event_thread);
     }
 
@@ -2055,6 +2070,9 @@ linux_wait_for_event_filtered (ptid_t wa
   sigfillset (&block_mask);
   sigprocmask (SIG_BLOCK, &block_mask, &prev_mask);
 
+  /* Always pull all events out of the kernel.  We'll randomly select
+     an event LWP out of all that have events, to prevent
+     starvation.  */
   while (event_child == NULL)
     {
       pid_t ret = 0;
@@ -2087,20 +2105,28 @@ linux_wait_for_event_filtered (ptid_t wa
 			    (long) ret, status_to_str (*wstatp));
 	    }
 
-	  event_child = linux_low_filter_event (filter_ptid,
-						ret, *wstatp);
-	  if (event_child != NULL)
-	    {
-	      /* We got an event to report to the core.  */
-	      event_thread = get_lwp_thread (event_child);
-	      break;
-	    }
-
+	  /* Filter all events.  IOW, leave all events pending.  We'll
+	     randomly select an event LWP out of all that have events
+	     below.  */
+	  linux_low_filter_event (ret, *wstatp);
 	  /* Retry until nothing comes out of waitpid.  A single
 	     SIGCHLD can indicate more than one child stopped.  */
 	  continue;
 	}
 
+      /* Now that we've pulled all events out of the kernel, check if
+	 there's any LWP with a status to report to the core.  */
+      event_thread = (struct thread_info *)
+	find_inferior (&all_threads, status_pending_p_callback, &filter_ptid);
+      if (event_thread != NULL)
+	{
+	  event_child = get_thread_lwp (event_thread);
+	  *wstatp = event_child->status_pending;
+	  event_child->status_pending_p = 0;
+	  event_child->status_pending = 0;
+	  break;
+	}
+
       /* Check for zombie thread group leaders.  Those can't be reaped
 	 until all other threads in the thread group are.  */
       check_zombie_leaders ();
@@ -2143,7 +2169,7 @@ linux_wait_for_event_filtered (ptid_t wa
 
   sigprocmask (SIG_SETMASK, &prev_mask, NULL);
 
-  current_inferior = event_thread;
+  current_thread = event_thread;
 
   /* Check for thread exit.  */
   if (! WIFSTOPPED (*wstatp))
@@ -2180,19 +2206,14 @@ static int
 count_events_callback (struct inferior_list_entry *entry, void *data)
 {
   struct thread_info *thread = (struct thread_info *) entry;
-  struct lwp_info *lp = get_thread_lwp (thread);
   int *count = data;
 
   gdb_assert (count != NULL);
 
-  /* Count only resumed LWPs that have a SIGTRAP event pending that
-     should be reported to GDB.  */
+  /* Count only resumed LWPs that have an event pending. */
   if (thread->last_status.kind == TARGET_WAITKIND_IGNORE
       && thread->last_resume_kind != resume_stop
-      && lp->status_pending_p
-      && WIFSTOPPED (lp->status_pending)
-      && WSTOPSIG (lp->status_pending) == SIGTRAP
-      && !breakpoint_inserted_here (lp->stop_pc))
+      && thread->status_pending_p)
     (*count)++;
 
   return 0;
@@ -2221,66 +2242,20 @@ static int
 select_event_lwp_callback (struct inferior_list_entry *entry, void *data)
 {
   struct thread_info *thread = (struct thread_info *) entry;
-  struct lwp_info *lp = get_thread_lwp (thread);
   int *selector = data;
 
   gdb_assert (selector != NULL);
 
-  /* Select only resumed LWPs that have a SIGTRAP event pending. */
+  /* Select only resumed LWPs that have an event pending. */
   if (thread->last_resume_kind != resume_stop
       && thread->last_status.kind == TARGET_WAITKIND_IGNORE
-      && lp->status_pending_p
-      && WIFSTOPPED (lp->status_pending)
-      && WSTOPSIG (lp->status_pending) == SIGTRAP
-      && !breakpoint_inserted_here (lp->stop_pc))
+      && thread->status_pending_p)
     if ((*selector)-- == 0)
       return 1;
 
   return 0;
 }
 
-static int
-cancel_breakpoints_callback (struct inferior_list_entry *entry, void *data)
-{
-  struct thread_info *thread = (struct thread_info *) entry;
-  struct lwp_info *lp = get_thread_lwp (thread);
-  struct lwp_info *event_lp = data;
-
-  /* Leave the LWP that has been elected to receive a SIGTRAP alone.  */
-  if (lp == event_lp)
-    return 0;
-
-  /* If a LWP other than the LWP that we're reporting an event for has
-     hit a GDB breakpoint (as opposed to some random trap signal),
-     then just arrange for it to hit it again later.  We don't keep
-     the SIGTRAP status and don't forward the SIGTRAP signal to the
-     LWP.  We will handle the current event, eventually we will resume
-     all LWPs, and this one will get its breakpoint trap again.
-
-     If we do not do this, then we run the risk that the user will
-     delete or disable the breakpoint, but the LWP will have already
-     tripped on it.  */
-
-  if (thread->last_resume_kind != resume_stop
-      && thread->last_status.kind == TARGET_WAITKIND_IGNORE
-      && lp->status_pending_p
-      && WIFSTOPPED (lp->status_pending)
-      && WSTOPSIG (lp->status_pending) == SIGTRAP
-      && !lp->stepping
-      && !lp->stopped_by_watchpoint
-      && cancel_breakpoint (lp))
-    /* Throw away the SIGTRAP.  */
-    lp->status_pending_p = 0;
-
-  return 0;
-}
-
-static void
-linux_cancel_breakpoints (void)
-{
-  find_inferior (&all_threads, cancel_breakpoints_callback, NULL);
-}
-
 /* Select one LWP out of those that have events pending.  */
 
 static void
@@ -2288,20 +2263,30 @@ select_event_lwp (struct lwp_info **orig
 {
   int num_events = 0;
   int random_selector;
-  struct thread_info *event_thread;
+  struct thread_info *event_thread = NULL;
 
-  /* Give preference to any LWP that is being single-stepped.  */
-  event_thread
-    = (struct thread_info *) find_inferior (&all_threads,
-					    select_singlestep_lwp_callback,
-					    NULL);
-  if (event_thread != NULL)
+  /* In all-stop, give preference to the LWP that is being
+     single-stepped.  There will be at most one, and it's the LWP that
+     the core is most interested in.  If we didn't do this, then we'd
+     have to handle pending step SIGTRAPs somehow in case the core
+     later continues the previously-stepped thread, otherwise we'd
+     report the pending SIGTRAP, and the core, not having stepped the
+     thread, wouldn't understand what the trap was for, and therefore
+     would report it to the user as a random signal.  */
+  if (!non_stop)
     {
-      if (debug_threads)
-	debug_printf ("SEL: Select single-step %s\n",
-		      target_pid_to_str (ptid_of (event_thread)));
+      event_thread
+	= (struct thread_info *) find_inferior (&all_threads,
+						select_singlestep_lwp_callback,
+						NULL);
+      if (event_thread != NULL)
+	{
+	  if (debug_threads)
+	    debug_printf ("SEL: Select single-step %s\n",
+			  target_pid_to_str (ptid_of (event_thread)));
+	}
     }
-  else
+  if (event_thread == NULL)
     {
       /* No single-stepping LWP.  Select one at random, out of those
          which have had SIGTRAP events.  */
@@ -2400,7 +2385,7 @@ static ptid_t linux_wait_1 (ptid_t ptid,
 static void
 linux_stabilize_threads (void)
 {
-  struct thread_info *save_inferior;
+  struct thread_info *saved_thread;
   struct thread_info *thread_stuck;
 
   thread_stuck
@@ -2415,7 +2400,7 @@ linux_stabilize_threads (void)
       return;
     }
 
-  save_inferior = current_inferior;
+  saved_thread = current_thread;
 
   stabilizing_threads = 1;
 
@@ -2436,13 +2421,13 @@ linux_stabilize_threads (void)
 
       if (ourstatus.kind == TARGET_WAITKIND_STOPPED)
 	{
-	  lwp = get_thread_lwp (current_inferior);
+	  lwp = get_thread_lwp (current_thread);
 
 	  /* Lock it.  */
 	  lwp->suspended++;
 
 	  if (ourstatus.value.sig != GDB_SIGNAL_0
-	      || current_inferior->last_resume_kind == resume_stop)
+	      || current_thread->last_resume_kind == resume_stop)
 	    {
 	      wstat = W_STOPCODE (gdb_signal_to_host (ourstatus.value.sig));
 	      enqueue_one_deferred_signal (lwp, &wstat);
@@ -2454,7 +2439,7 @@ linux_stabilize_threads (void)
 
   stabilizing_threads = 0;
 
-  current_inferior = save_inferior;
+  current_thread = saved_thread;
 
   if (debug_threads)
     {
@@ -2468,6 +2453,23 @@ linux_stabilize_threads (void)
     }
 }
 
+static void async_file_mark (void);
+
+/* Convenience function that is called when the kernel reports an
+   event that is not passed out to GDB.  */
+
+static ptid_t
+ignore_event (struct target_waitstatus *ourstatus)
+{
+  /* If we got an event, there may still be others, as a single
+     SIGCHLD can indicate more than one child stopped.  This forces
+     another target_wait call.  */
+  async_file_mark ();
+
+  ourstatus->kind = TARGET_WAITKIND_IGNORE;
+  return null_ptid;
+}
+
 /* Wait for process, returns status.  */
 
 static ptid_t
@@ -2496,40 +2498,11 @@ linux_wait_1 (ptid_t ptid,
   if (target_options & TARGET_WNOHANG)
     options |= WNOHANG;
 
-retry:
   bp_explains_trap = 0;
   trace_event = 0;
   in_step_range = 0;
   ourstatus->kind = TARGET_WAITKIND_IGNORE;
 
-  /* If we were only supposed to resume one thread, only wait for
-     that thread - if it's still alive.  If it died, however - which
-     can happen if we're coming from the thread death case below -
-     then we need to make sure we restart the other threads.  We could
-     pick a thread at random or restart all; restarting all is less
-     arbitrary.  */
-  if (!non_stop
-      && !ptid_equal (cont_thread, null_ptid)
-      && !ptid_equal (cont_thread, minus_one_ptid))
-    {
-      struct thread_info *thread;
-
-      thread = (struct thread_info *) find_inferior_id (&all_threads,
-							cont_thread);
-
-      /* No stepping, no signal - unless one is pending already, of course.  */
-      if (thread == NULL)
-	{
-	  struct thread_resume resume_info;
-	  resume_info.thread = minus_one_ptid;
-	  resume_info.kind = resume_continue;
-	  resume_info.sig = 0;
-	  linux_resume (&resume_info, 1);
-	}
-      else
-	ptid = cont_thread;
-    }
-
   if (ptid_equal (step_over_bkpt, null_ptid))
     pid = linux_wait_for_event (ptid, &w, options);
   else
@@ -2567,7 +2540,7 @@ retry:
       return null_ptid;
     }
 
-  event_child = get_thread_lwp (current_inferior);
+  event_child = get_thread_lwp (current_thread);
 
   /* linux_wait_for_event only returns an exit status for the last
      child of a process.  Report it.  */
@@ -2582,7 +2555,7 @@ retry:
 	    {
 	      debug_printf ("linux_wait_1 ret = %s, exited with "
 			    "retcode %d\n",
-			    target_pid_to_str (ptid_of (current_inferior)),
+			    target_pid_to_str (ptid_of (current_thread)),
 			    WEXITSTATUS (w));
 	      debug_exit ();
 	    }
@@ -2596,13 +2569,13 @@ retry:
 	    {
 	      debug_printf ("linux_wait_1 ret = %s, terminated with "
 			    "signal %d\n",
-			    target_pid_to_str (ptid_of (current_inferior)),
+			    target_pid_to_str (ptid_of (current_thread)),
 			    WTERMSIG (w));
 	      debug_exit ();
 	    }
 	}
 
-      return ptid_of (current_inferior);
+      return ptid_of (current_thread);
     }
 
   /* If this event was not handled before, and is not a SIGTRAP, we
@@ -2676,20 +2649,21 @@ retry:
       if (debug_threads)
 	debug_printf ("Got signal %d for LWP %ld.  Check if we need "
 		      "to defer or adjust it.\n",
-		      WSTOPSIG (w), lwpid_of (current_inferior));
+		      WSTOPSIG (w), lwpid_of (current_thread));
 
       /* Allow debugging the jump pad itself.  */
-      if (current_inferior->last_resume_kind != resume_step
+      if (current_thread->last_resume_kind != resume_step
 	  && maybe_move_out_of_jump_pad (event_child, &w))
 	{
 	  enqueue_one_deferred_signal (event_child, &w);
 
 	  if (debug_threads)
 	    debug_printf ("Signal %d for LWP %ld deferred (in jump pad)\n",
-			  WSTOPSIG (w), lwpid_of (current_inferior));
+			  WSTOPSIG (w), lwpid_of (current_thread));
 
 	  linux_resume_one_lwp (event_child, 0, 0, NULL);
-	  goto retry;
+
+	  return ignore_event (ourstatus);
 	}
     }
 
@@ -2698,7 +2672,7 @@ retry:
       if (debug_threads)
 	debug_printf ("LWP %ld was trying to move out of the jump pad (%d). "
 		      "Check if we're already there.\n",
-		      lwpid_of (current_inferior),
+		      lwpid_of (current_thread),
 		      event_child->collecting_fast_tracepoint);
 
       trace_event = 1;
@@ -2723,7 +2697,6 @@ retry:
 		 care of while the breakpoint is still
 		 inserted.  */
 	      stop_all_lwps (1, event_child);
-	      cancel_breakpoints ();
 
 	      delete_breakpoint (event_child->exit_jump_pad_bkpt);
 	      event_child->exit_jump_pad_bkpt = NULL;
@@ -2760,11 +2733,11 @@ retry:
 		    {
 		      debug_printf ("linux_wait_1 ret = %s, stopped "
 				    "while stabilizing threads\n",
-				    target_pid_to_str (ptid_of (current_inferior)));
+				    target_pid_to_str (ptid_of (current_thread)));
 		      debug_exit ();
 		    }
 
-		  return ptid_of (current_inferior);
+		  return ptid_of (current_thread);
 		}
 	    }
 	}
@@ -2782,7 +2755,7 @@ retry:
   /* FIXME drow/2002-06-09: Get signal numbers from the inferior's
      thread library?  */
   if (WIFSTOPPED (w)
-      && current_inferior->last_resume_kind != resume_step
+      && current_thread->last_resume_kind != resume_step
       && (
 #if defined (USE_THREAD_DB) && !defined (__ANDROID__)
 	  (current_process ()->private->thread_db != NULL
@@ -2792,22 +2765,22 @@ retry:
 #endif
 	  (pass_signals[gdb_signal_from_host (WSTOPSIG (w))]
 	   && !(WSTOPSIG (w) == SIGSTOP
-		&& current_inferior->last_resume_kind == resume_stop))))
+		&& current_thread->last_resume_kind == resume_stop))))
     {
       siginfo_t info, *info_p;
 
       if (debug_threads)
 	debug_printf ("Ignored signal %d for LWP %ld.\n",
-		      WSTOPSIG (w), lwpid_of (current_inferior));
+		      WSTOPSIG (w), lwpid_of (current_thread));
 
-      if (ptrace (PTRACE_GETSIGINFO, lwpid_of (current_inferior),
+      if (ptrace (PTRACE_GETSIGINFO, lwpid_of (current_thread),
 		  (PTRACE_TYPE_ARG3) 0, &info) == 0)
 	info_p = &info;
       else
 	info_p = NULL;
       linux_resume_one_lwp (event_child, event_child->stepping,
 			    WSTOPSIG (w), info_p);
-      goto retry;
+      return ignore_event (ourstatus);
     }
 
   /* Note that all addresses are always "out of the step range" when
@@ -2824,9 +2797,9 @@ retry:
      reporting the event to GDB.  If we don't, we're out of luck, GDB
      won't see the breakpoint hit.  */
   report_to_gdb = (!maybe_internal_trap
-		   || (current_inferior->last_resume_kind == resume_step
+		   || (current_thread->last_resume_kind == resume_step
 		       && !in_step_range)
-		   || event_child->stopped_by_watchpoint
+		   || event_child->stop_reason == LWP_STOPPED_BY_WATCHPOINT
 		   || (!step_over_finished && !in_step_range
 		       && !bp_explains_trap && !trace_event)
 		   || (gdb_breakpoint_here (event_child->stop_pc)
@@ -2862,7 +2835,7 @@ retry:
       if (the_low_target.set_pc != NULL)
 	{
 	  struct regcache *regcache
-	    = get_thread_regcache (current_inferior, 1);
+	    = get_thread_regcache (current_thread, 1);
 	  (*the_low_target.set_pc) (regcache, event_child->stop_pc);
 	}
 
@@ -2878,21 +2851,21 @@ retry:
 	unsuspend_all_lwps (event_child);
 
       proceed_all_lwps ();
-      goto retry;
+      return ignore_event (ourstatus);
     }
 
   if (debug_threads)
     {
-      if (current_inferior->last_resume_kind == resume_step)
+      if (current_thread->last_resume_kind == resume_step)
 	{
 	  if (event_child->step_range_start == event_child->step_range_end)
 	    debug_printf ("GDB wanted to single-step, reporting event.\n");
 	  else if (!lwp_in_step_range (event_child))
 	    debug_printf ("Out of step range, reporting event.\n");
 	}
-      if (event_child->stopped_by_watchpoint)
+      if (event_child->stop_reason == LWP_STOPPED_BY_WATCHPOINT)
 	debug_printf ("Stopped by watchpoint.\n");
-      if (gdb_breakpoint_here (event_child->stop_pc))
+      else if (gdb_breakpoint_here (event_child->stop_pc))
 	debug_printf ("Stopped by GDB breakpoint.\n");
       if (debug_threads)
 	debug_printf ("Hit a non-gdbserver trap event.\n");
@@ -2900,10 +2873,11 @@ retry:
 
   /* Alright, we're going to report a stop.  */
 
-  if (!non_stop && !stabilizing_threads)
+  if (!stabilizing_threads)
     {
       /* In all-stop, stop all threads.  */
-      stop_all_lwps (0, NULL);
+      if (!non_stop)
+	stop_all_lwps (0, NULL);
 
       /* If we're not waiting for a specific LWP, choose an event LWP
 	 from among those that have had events.  Giving equal priority
@@ -2916,30 +2890,40 @@ retry:
 
 	  select_event_lwp (&event_child);
 
-	  /* current_inferior and event_child must stay in sync.  */
-	  current_inferior = get_lwp_thread (event_child);
+	  /* current_thread and event_child must stay in sync.  */
+	  current_thread = get_lwp_thread (event_child);
 
 	  event_child->status_pending_p = 0;
 	  w = event_child->status_pending;
 	}
 
-      /* Now that we've selected our final event LWP, cancel any
-	 breakpoints in other LWPs that have hit a GDB breakpoint.
-	 See the comment in cancel_breakpoints_callback to find out
-	 why.  */
-      find_inferior (&all_threads, cancel_breakpoints_callback, event_child);
-
-      /* If we were going a step-over, all other threads but the stepping one
-	 had been paused in start_step_over, with their suspend counts
-	 incremented.  We don't want to do a full unstop/unpause, because we're
-	 in all-stop mode (so we want threads stopped), but we still need to
-	 unsuspend the other threads, to decrement their `suspended' count
-	 back.  */
       if (step_over_finished)
-	unsuspend_all_lwps (event_child);
+	{
+	  if (!non_stop)
+	    {
+	      /* If we were doing a step-over, all other threads but
+		 the stepping one had been paused in start_step_over,
+		 with their suspend counts incremented.  We don't want
+		 to do a full unstop/unpause, because we're in
+		 all-stop mode (so we want threads stopped), but we
+		 still need to unsuspend the other threads, to
+		 decrement their `suspended' count back.  */
+	      unsuspend_all_lwps (event_child);
+	    }
+	  else
+	    {
+	      /* If we just finished a step-over, then all threads had
+		 been momentarily paused.  In all-stop, that's fine,
+		 we want threads stopped by now anyway.  In non-stop,
+		 we need to re-resume threads that GDB wanted to be
+		 running.  */
+	      unstop_all_lwps (1, event_child);
+	    }
+	}
 
       /* Stabilize threads (move out of jump pads).  */
-      stabilize_threads ();
+      if (!non_stop)
+	stabilize_threads ();
     }
   else
     {
@@ -2953,7 +2937,21 @@ retry:
 
   ourstatus->kind = TARGET_WAITKIND_STOPPED;
 
-  if (current_inferior->last_resume_kind == resume_stop
+  /* Now that we've selected our final event LWP, un-adjust its PC if
+     it was a software breakpoint.  */
+  if (event_child->stop_reason == LWP_STOPPED_BY_SW_BREAKPOINT)
+    {
+      int decr_pc = the_low_target.decr_pc_after_break;
+
+      if (decr_pc != 0)
+	{
+	  struct regcache *regcache
+	    = get_thread_regcache (current_thread, 1);
+	  (*the_low_target.set_pc) (regcache, event_child->stop_pc + decr_pc);
+	}
+    }
+
+  if (current_thread->last_resume_kind == resume_stop
       && WSTOPSIG (w) == SIGSTOP)
     {
       /* A thread that has been requested to stop by GDB with vCont;t,
@@ -2961,7 +2959,7 @@ retry:
 	 SIGSTOP is an implementation detail.  */
       ourstatus->value.sig = GDB_SIGNAL_0;
     }
-  else if (current_inferior->last_resume_kind == resume_stop
+  else if (current_thread->last_resume_kind == resume_stop
 	   && WSTOPSIG (w) != SIGSTOP)
     {
       /* A thread that has been requested to stop by GDB with vCont;t,
@@ -2978,12 +2976,12 @@ retry:
   if (debug_threads)
     {
       debug_printf ("linux_wait_1 ret = %s, %d, %d\n",
-		    target_pid_to_str (ptid_of (current_inferior)),
+		    target_pid_to_str (ptid_of (current_thread)),
 		    ourstatus->kind, ourstatus->value.sig);
       debug_exit ();
     }
 
-  return ptid_of (current_inferior);
+  return ptid_of (current_thread);
 }
 
 /* Get rid of any pending event in the pipe.  */
@@ -3024,7 +3022,13 @@ linux_wait (ptid_t ptid,
   if (target_is_async_p ())
     async_file_flush ();
 
-  event_ptid = linux_wait_1 (ptid, ourstatus, target_options);
+  do
+    {
+      event_ptid = linux_wait_1 (ptid, ourstatus, target_options);
+    }
+  while ((target_options & TARGET_WNOHANG) == 0
+	 && ptid_equal (event_ptid, null_ptid)
+	 && ourstatus->kind == TARGET_WAITKIND_IGNORE);
 
   /* If at least one stop was reported, there may be more.  A single
      SIGCHLD can signal more than one child stop.  */
@@ -3151,14 +3155,14 @@ mark_lwp_dead (struct lwp_info *lwp, int
 static void
 wait_for_sigstop (void)
 {
-  struct thread_info *saved_inferior;
+  struct thread_info *saved_thread;
   ptid_t saved_tid;
   int wstat;
   int ret;
 
-  saved_inferior = current_inferior;
-  if (saved_inferior != NULL)
-    saved_tid = saved_inferior->entry.id;
+  saved_thread = current_thread;
+  if (saved_thread != NULL)
+    saved_tid = saved_thread->entry.id;
   else
     saved_tid = null_ptid; /* avoid bogus unused warning */
 
@@ -3172,8 +3176,8 @@ wait_for_sigstop (void)
 				       &wstat, __WALL);
   gdb_assert (ret == -1);
 
-  if (saved_inferior == NULL || linux_thread_alive (saved_tid))
-    current_inferior = saved_inferior;
+  if (saved_thread == NULL || linux_thread_alive (saved_tid))
+    current_thread = saved_thread;
   else
     {
       if (debug_threads)
@@ -3184,12 +3188,12 @@ wait_for_sigstop (void)
 	  /* We can't change the current inferior behind GDB's back,
 	     otherwise, a subsequent command may apply to the wrong
 	     process.  */
-	  current_inferior = NULL;
+	  current_thread = NULL;
 	}
       else
 	{
 	  /* Set a valid thread as current.  */
-	  set_desired_inferior (0);
+	  set_desired_thread (0);
 	}
     }
 }
@@ -3212,7 +3216,7 @@ stuck_in_jump_pad_callback (struct infer
   return (supports_fast_tracepoints ()
 	  && agent_loaded_p ()
 	  && (gdb_breakpoint_here (lwp->stop_pc)
-	      || lwp->stopped_by_watchpoint
+	      || lwp->stop_reason == LWP_STOPPED_BY_WATCHPOINT
 	      || thread->last_resume_kind == resume_step)
 	  && linux_fast_tracepoint_collecting (lwp, NULL));
 }
@@ -3231,7 +3235,7 @@ move_out_of_jump_pad_callback (struct in
 
   /* Allow debugging the jump pad, gdb_collect, etc.  */
   if (!gdb_breakpoint_here (lwp->stop_pc)
-      && !lwp->stopped_by_watchpoint
+      && lwp->stop_reason != LWP_STOPPED_BY_WATCHPOINT
       && thread->last_resume_kind != resume_step
       && maybe_move_out_of_jump_pad (lwp, wstat))
     {
@@ -3317,7 +3321,7 @@ linux_resume_one_lwp (struct lwp_info *l
 		      int step, int signal, siginfo_t *info)
 {
   struct thread_info *thread = get_lwp_thread (lwp);
-  struct thread_info *saved_inferior;
+  struct thread_info *saved_thread;
   int fast_tp_collecting;
 
   if (lwp->stopped == 0)
@@ -3366,8 +3370,8 @@ linux_resume_one_lwp (struct lwp_info *l
       return;
     }
 
-  saved_inferior = current_inferior;
-  current_inferior = thread;
+  saved_thread = current_thread;
+  current_thread = thread;
 
   if (debug_threads)
     debug_printf ("Resuming lwp %ld (%s, signal %d, stop %s)\n",
@@ -3428,8 +3432,11 @@ linux_resume_one_lwp (struct lwp_info *l
       if (can_hardware_single_step ())
 	step = 1;
       else
-	fatal ("moving out of jump pad single-stepping"
-	       " not implemented on this target");
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "moving out of jump pad single-stepping"
+			  " not implemented on this target");
+	}
 
       /* Postpone any pending signal.  It was enqueued above.  */
       signal = 0;
@@ -3452,11 +3459,17 @@ linux_resume_one_lwp (struct lwp_info *l
       step = 1;
     }
 
-  if (debug_threads && the_low_target.get_pc != NULL)
+  if (the_low_target.get_pc != NULL)
     {
-      struct regcache *regcache = get_thread_regcache (current_inferior, 1);
-      CORE_ADDR pc = (*the_low_target.get_pc) (regcache);
-      debug_printf ("  resuming from pc 0x%lx\n", (long) pc);
+      struct regcache *regcache = get_thread_regcache (current_thread, 1);
+
+      lwp->stop_pc = (*the_low_target.get_pc) (regcache);
+
+      if (debug_threads)
+	{
+	  debug_printf ("  %s from pc 0x%lx\n", step ? "step" : "continue",
+			(long) lwp->stop_pc);
+	}
     }
 
   /* If we have pending signals, consume one unless we are trying to
@@ -3487,7 +3500,7 @@ linux_resume_one_lwp (struct lwp_info *l
   regcache_invalidate_thread (thread);
   errno = 0;
   lwp->stopped = 0;
-  lwp->stopped_by_watchpoint = 0;
+  lwp->stop_reason = LWP_STOPPED_BY_NO_REASON;
   lwp->stepping = step;
   ptrace (step ? PTRACE_SINGLESTEP : PTRACE_CONT, lwpid_of (thread),
 	  (PTRACE_TYPE_ARG3) 0,
@@ -3495,7 +3508,7 @@ linux_resume_one_lwp (struct lwp_info *l
 	     of coercing an 8 byte integer to a 4 byte pointer.  */
 	  (PTRACE_TYPE_ARG4) (uintptr_t) signal);
 
-  current_inferior = saved_inferior;
+  current_thread = saved_thread;
   if (errno)
     {
       /* ESRCH from ptrace either means that the thread was already
@@ -3608,7 +3621,7 @@ resume_status_pending_p (struct inferior
   if (lwp->resume == NULL)
     return 0;
 
-  if (lwp->status_pending_p)
+  if (thread_still_has_status_pending_p (thread))
     * (int *) flag_p = 1;
 
   return 0;
@@ -3624,7 +3637,7 @@ need_step_over_p (struct inferior_list_e
 {
   struct thread_info *thread = (struct thread_info *) entry;
   struct lwp_info *lwp = get_thread_lwp (thread);
-  struct thread_info *saved_inferior;
+  struct thread_info *saved_thread;
   CORE_ADDR pc;
 
   /* LWPs which will not be resumed are not interesting, because we
@@ -3693,8 +3706,8 @@ need_step_over_p (struct inferior_list_e
       return 0;
     }
 
-  saved_inferior = current_inferior;
-  current_inferior = thread;
+  saved_thread = current_thread;
+  current_thread = thread;
 
   /* We can only step over breakpoints we know about.  */
   if (breakpoint_here (pc) || fast_tracepoint_jump_here (pc))
@@ -3711,7 +3724,7 @@ need_step_over_p (struct inferior_list_e
 			  " GDB breakpoint at 0x%s; skipping step over\n",
 			  lwpid_of (thread), paddress (pc));
 
-	  current_inferior = saved_inferior;
+	  current_thread = saved_thread;
 	  return 0;
 	}
       else
@@ -3723,7 +3736,7 @@ need_step_over_p (struct inferior_list_e
 
 	  /* We've found an lwp that needs stepping over --- return 1 so
 	     that find_inferior stops looking.  */
-	  current_inferior = saved_inferior;
+	  current_thread = saved_thread;
 
 	  /* If the step over is cancelled, this is set again.  */
 	  lwp->need_step_over = 0;
@@ -3731,7 +3744,7 @@ need_step_over_p (struct inferior_list_e
 	}
     }
 
-  current_inferior = saved_inferior;
+  current_thread = saved_thread;
 
   if (debug_threads)
     debug_printf ("Need step over [LWP %ld]? No, no breakpoint found"
@@ -3763,7 +3776,7 @@ static int
 start_step_over (struct lwp_info *lwp)
 {
   struct thread_info *thread = get_lwp_thread (lwp);
-  struct thread_info *saved_inferior;
+  struct thread_info *saved_thread;
   CORE_ADDR pc;
   int step;
 
@@ -3783,8 +3796,8 @@ start_step_over (struct lwp_info *lwp)
      shouldn't care about.  */
   pc = get_pc (lwp);
 
-  saved_inferior = current_inferior;
-  current_inferior = thread;
+  saved_thread = current_thread;
+  current_thread = thread;
 
   lwp->bp_reinsert = pc;
   uninsert_breakpoints_at (pc);
@@ -3801,7 +3814,7 @@ start_step_over (struct lwp_info *lwp)
       step = 0;
     }
 
-  current_inferior = saved_inferior;
+  current_thread = saved_thread;
 
   linux_resume_one_lwp (lwp, step, 0, NULL);
 
@@ -4230,19 +4243,14 @@ regsets_fetch_inferior_registers (struct
   int pid;
   struct iovec iov;
 
-  regset = regsets_info->regsets;
-
-  pid = lwpid_of (current_inferior);
-  while (regset->size >= 0)
+  pid = lwpid_of (current_thread);
+  for (regset = regsets_info->regsets; regset->size >= 0; regset++)
     {
       void *buf, *data;
       int nt_type, res;
 
       if (regset->size == 0 || regset_disabled (regsets_info, regset))
-	{
-	  regset ++;
-	  continue;
-	}
+	continue;
 
       buf = xmalloc (regset->size);
 
@@ -4269,8 +4277,12 @@ regsets_fetch_inferior_registers (struct
 	      /* If we get EIO on a regset, do not try it again for
 		 this process mode.  */
 	      disable_regset (regsets_info, regset);
-	      free (buf);
-	      continue;
+	    }
+	  else if (errno == ENODATA)
+	    {
+	      /* ENODATA may be returned if the regset is currently
+		 not "active".  This can happen in normal operation,
+		 so suppress the warning in this case.  */
 	    }
 	  else
 	    {
@@ -4280,10 +4292,12 @@ regsets_fetch_inferior_registers (struct
 	      perror (s);
 	    }
 	}
-      else if (regset->type == GENERAL_REGS)
-	saw_general_regs = 1;
-      regset->store_function (regcache, buf);
-      regset ++;
+      else
+	{
+	  if (regset->type == GENERAL_REGS)
+	    saw_general_regs = 1;
+	  regset->store_function (regcache, buf);
+	}
       free (buf);
     }
   if (saw_general_regs)
@@ -4301,19 +4315,15 @@ regsets_store_inferior_registers (struct
   int pid;
   struct iovec iov;
 
-  regset = regsets_info->regsets;
-
-  pid = lwpid_of (current_inferior);
-  while (regset->size >= 0)
+  pid = lwpid_of (current_thread);
+  for (regset = regsets_info->regsets; regset->size >= 0; regset++)
     {
       void *buf, *data;
       int nt_type, res;
 
-      if (regset->size == 0 || regset_disabled (regsets_info, regset))
-	{
-	  regset ++;
-	  continue;
-	}
+      if (regset->size == 0 || regset_disabled (regsets_info, regset)
+	  || regset->fill_function == NULL)
+	continue;
 
       buf = xmalloc (regset->size);
 
@@ -4359,8 +4369,6 @@ regsets_store_inferior_registers (struct
 	      /* If we get EIO on a regset, do not try it again for
 		 this process mode.  */
 	      disable_regset (regsets_info, regset);
-	      free (buf);
-	      continue;
 	    }
 	  else if (errno == ESRCH)
 	    {
@@ -4378,7 +4386,6 @@ regsets_store_inferior_registers (struct
 	}
       else if (regset->type == GENERAL_REGS)
 	saw_general_regs = 1;
-      regset ++;
       free (buf);
     }
   if (saw_general_regs)
@@ -4448,7 +4455,7 @@ fetch_register (const struct usrregs_inf
 	  & -sizeof (PTRACE_XFER_TYPE));
   buf = alloca (size);
 
-  pid = lwpid_of (current_inferior);
+  pid = lwpid_of (current_thread);
   for (i = 0; i < size; i += sizeof (PTRACE_XFER_TYPE))
     {
       errno = 0;
@@ -4498,7 +4505,7 @@ store_register (const struct usrregs_inf
   else
     collect_register (regcache, regno, buf);
 
-  pid = lwpid_of (current_inferior);
+  pid = lwpid_of (current_thread);
   for (i = 0; i < size; i += sizeof (PTRACE_XFER_TYPE))
     {
       errno = 0;
@@ -4638,7 +4645,7 @@ linux_store_registers (struct regcache *
 static int
 linux_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
 {
-  int pid = lwpid_of (current_inferior);
+  int pid = lwpid_of (current_thread);
   register PTRACE_XFER_TYPE *buffer;
   register CORE_ADDR addr;
   register int count;
@@ -4739,7 +4746,7 @@ linux_write_memory (CORE_ADDR memaddr, c
   register PTRACE_XFER_TYPE *buffer = (PTRACE_XFER_TYPE *)
     alloca (count * sizeof (PTRACE_XFER_TYPE));
 
-  int pid = lwpid_of (current_inferior);
+  int pid = lwpid_of (current_thread);
 
   if (len == 0)
     {
@@ -4829,16 +4836,9 @@ linux_request_interrupt (void)
 {
   extern unsigned long signal_pid;
 
-  if (!ptid_equal (cont_thread, null_ptid)
-      && !ptid_equal (cont_thread, minus_one_ptid))
-    {
-      int lwpid;
-
-      lwpid = lwpid_of (current_inferior);
-      kill_lwp (lwpid, SIGINT);
-    }
-  else
-    kill_lwp (signal_pid, SIGINT);
+  /* Send a SIGINT to the process group.  This acts just like the user
+     typed a ^C on the controlling terminal.  */
+  kill (-signal_pid, SIGINT);
 }
 
 /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET
@@ -4849,7 +4849,7 @@ linux_read_auxv (CORE_ADDR offset, unsig
 {
   char filename[PATH_MAX];
   int fd, n;
-  int pid = lwpid_of (current_inferior);
+  int pid = lwpid_of (current_thread);
 
   xsnprintf (filename, sizeof filename, "/proc/%d/auxv", pid);
 
@@ -4904,15 +4904,15 @@ linux_remove_point (enum raw_bkpt_type t
 static int
 linux_stopped_by_watchpoint (void)
 {
-  struct lwp_info *lwp = get_thread_lwp (current_inferior);
+  struct lwp_info *lwp = get_thread_lwp (current_thread);
 
-  return lwp->stopped_by_watchpoint;
+  return lwp->stop_reason == LWP_STOPPED_BY_WATCHPOINT;
 }
 
 static CORE_ADDR
 linux_stopped_data_address (void)
 {
-  struct lwp_info *lwp = get_thread_lwp (current_inferior);
+  struct lwp_info *lwp = get_thread_lwp (current_thread);
 
   return lwp->stopped_data_address;
 }
@@ -4933,7 +4933,7 @@ static int
 linux_read_offsets (CORE_ADDR *text_p, CORE_ADDR *data_p)
 {
   unsigned long text, text_end, data;
-  int pid = lwpid_of (get_thread_lwp (current_inferior));
+  int pid = lwpid_of (get_thread_lwp (current_thread));
 
   errno = 0;
 
@@ -5002,10 +5002,10 @@ linux_xfer_siginfo (const char *annex, u
   siginfo_t siginfo;
   char inf_siginfo[sizeof (siginfo_t)];
 
-  if (current_inferior == NULL)
+  if (current_thread == NULL)
     return -1;
 
-  pid = lwpid_of (current_inferior);
+  pid = lwpid_of (current_thread);
 
   if (debug_threads)
     debug_printf ("%s siginfo for lwp %d.\n",
@@ -5079,7 +5079,7 @@ linux_supports_non_stop (void)
 static int
 linux_async (int enable)
 {
-  int previous = (linux_event_pipe[0] != -1);
+  int previous = target_is_async_p ();
 
   if (debug_threads)
     debug_printf ("linux_async (%d), previous=%d\n",
@@ -5096,7 +5096,14 @@ linux_async (int enable)
       if (enable)
 	{
 	  if (pipe (linux_event_pipe) == -1)
-	    fatal ("creating event pipe failed.");
+	    {
+	      linux_event_pipe[0] = -1;
+	      linux_event_pipe[1] = -1;
+	      sigprocmask (SIG_UNBLOCK, &mask, NULL);
+
+	      warning ("creating event pipe failed.");
+	      return previous;
+	    }
 
 	  fcntl (linux_event_pipe[0], F_SETFL, O_NONBLOCK);
 	  fcntl (linux_event_pipe[1], F_SETFL, O_NONBLOCK);
@@ -5129,6 +5136,10 @@ linux_start_non_stop (int nonstop)
 {
   /* Register or unregister from event-loop accordingly.  */
   linux_async (nonstop);
+
+  if (target_is_async_p () != (nonstop != 0))
+    return -1;
+
   return 0;
 }
 
@@ -5219,7 +5230,7 @@ linux_qxfer_spu (const char *annex, unsi
 		 unsigned const char *writebuf,
 		 CORE_ADDR offset, int len)
 {
-  long pid = lwpid_of (current_inferior);
+  long pid = lwpid_of (current_thread);
   char buf[128];
   int fd = 0;
   int ret = 0;
@@ -5302,7 +5313,7 @@ static int
 linux_read_loadmap (const char *annex, CORE_ADDR offset,
 		    unsigned char *myaddr, unsigned int len)
 {
-  int pid = lwpid_of (current_inferior);
+  int pid = lwpid_of (current_thread);
   int addr = -1;
   struct target_loadmap *data = NULL;
   unsigned int actual_length, copy_length;
@@ -5769,7 +5780,7 @@ linux_qxfer_libraries_svr4 (const char *
   if (readbuf == NULL)
     return -1;
 
-  pid = lwpid_of (current_inferior);
+  pid = lwpid_of (current_thread);
   xsnprintf (filename, sizeof filename, "/proc/%d/exe", pid);
   is_elf64 = elf_64_file_p (filename, &machine);
   lmo = is_elf64 ? &lmo_64bit_offsets : &lmo_32bit_offsets;
@@ -6064,7 +6075,6 @@ static struct target_ops linux_target_op
   NULL,
   linux_pause_all,
   linux_unpause_all,
-  linux_cancel_breakpoints,
   linux_stabilize_threads,
   linux_install_fast_tracepoint_jump_pad,
   linux_emit_ops,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-low.h ./gdb/gdbserver/linux-low.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-low.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-low.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Internal interfaces for the GNU/Linux specific target code for gdbserver.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -16,14 +16,14 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "gdb_thread_db.h"
+#include "nat/gdb_thread_db.h"
 #include <signal.h>
 
 #include "gdbthread.h"
 #include "gdb_proc_service.h"
 
 /* Included for ptrace type definitions.  */
-#include "linux-ptrace.h"
+#include "nat/linux-ptrace.h"
 
 #define PTRACE_XFER_TYPE long
 
@@ -230,6 +230,24 @@ extern struct linux_target_ops the_low_t
 #define get_thread_lwp(thr) ((struct lwp_info *) (inferior_target_data (thr)))
 #define get_lwp_thread(lwp) ((lwp)->thread)
 
+/* Reasons an LWP last stopped.  */
+
+enum lwp_stop_reason
+{
+  /* Either not stopped, or stopped for a reason that doesn't require
+     special tracking.  */
+  LWP_STOPPED_BY_NO_REASON,
+
+  /* Stopped by a software breakpoint.  */
+  LWP_STOPPED_BY_SW_BREAKPOINT,
+
+  /* Stopped by a hardware breakpoint.  */
+  LWP_STOPPED_BY_HW_BREAKPOINT,
+
+  /* Stopped by a watchpoint.  */
+  LWP_STOPPED_BY_WATCHPOINT
+};
+
 /* This struct is recorded in the target_data field of struct thread_info.
 
    On linux ``all_threads'' is keyed by the LWP ID, which we use as the
@@ -269,8 +287,9 @@ struct lwp_info
   /* When stopped is set, the last wait status recorded for this lwp.  */
   int last_status;
 
-  /* When stopped is set, this is where the lwp stopped, with
-     decr_pc_after_break already accounted for.  */
+  /* When stopped is set, this is where the lwp last stopped, with
+     decr_pc_after_break already accounted for.  If the LWP is
+     running, this is the address at which the lwp was resumed.  */
   CORE_ADDR stop_pc;
 
   /* If this flag is set, STATUS_PENDING is a waitstatus that has not yet
@@ -278,9 +297,9 @@ struct lwp_info
   int status_pending_p;
   int status_pending;
 
-  /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data
-     watchpoint trap.  */
-  int stopped_by_watchpoint;
+  /* The reason the LWP last stopped, if we need to track it
+     (breakpoint, watchpoint, etc.)  */
+  enum lwp_stop_reason stop_reason;
 
   /* On architectures where it is possible to know the data address of
      a triggered watchpoint, STOPPED_DATA_ADDRESS is non-zero, and
@@ -351,12 +370,6 @@ int linux_pid_exe_is_elf_64_file (int pi
    errno).  */
 int linux_attach_lwp (ptid_t ptid);
 
-/* Return the reason an attach failed, in string form.  ERR is the
-   error returned by linux_attach_lwp (an errno).  This string should
-   be copied into a buffer by the client if the string will not be
-   immediately used, or if it must persist.  */
-char *linux_attach_fail_reason_string (ptid_t ptid, int err);
-
 struct lwp_info *find_lwp_pid (ptid_t ptid);
 void linux_stop_lwp (struct lwp_info *lwp);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-m32r-low.c ./gdb/gdbserver/linux-m32r-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-m32r-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-m32r-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux/m32r specific low level interface, for the remote server for GDB.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-m68k-low.c ./gdb/gdbserver/linux-m68k-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-m68k-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-m68k-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux/m68k specific low level interface, for the remote server for GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-mips-low.c ./gdb/gdbserver/linux-mips-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-mips-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-mips-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux/MIPS specific low level interface, for the remote server for GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,7 @@
 #include <sys/ptrace.h>
 #include <endian.h>
 
-#include "mips-linux-watch.h"
+#include "nat/mips-linux-watch.h"
 #include "gdb_proc_service.h"
 
 /* Defined in auto-generated file mips-linux.c.  */
@@ -126,8 +126,9 @@ mips_read_description (void)
 {
   if (have_dsp < 0)
     {
-      int pid = lwpid_of (current_inferior);
+      int pid = lwpid_of (current_thread);
 
+      errno = 0;
       ptrace (PTRACE_PEEKUSER, pid, DSP_CONTROL, 0);
       switch (errno)
 	{
@@ -271,7 +272,7 @@ static const unsigned int mips_breakpoin
 static CORE_ADDR
 mips_reinsert_addr (void)
 {
-  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+  struct regcache *regcache = get_thread_regcache (current_thread, 1);
   union mips_register ra;
   collect_register_by_name (regcache, "r31", ra.buf);
   return register_size (regcache->tdesc, 0) == 4 ? ra.reg32 : ra.reg64;
@@ -403,7 +404,7 @@ mips_insert_point (enum raw_bkpt_type ty
   enum target_hw_bp_type watch_type;
   uint32_t irw;
 
-  lwpid = lwpid_of (current_inferior);
+  lwpid = lwpid_of (current_thread);
   if (!mips_linux_read_watch_registers (lwpid,
 					&private->watch_readback,
 					&private->watch_readback_valid,
@@ -505,7 +506,7 @@ mips_stopped_by_watchpoint (void)
   struct arch_process_info *private = proc->private->arch_private;
   int n;
   int num_valid;
-  long lwpid = lwpid_of (current_inferior);
+  long lwpid = lwpid_of (current_thread);
 
   if (!mips_linux_read_watch_registers (lwpid,
 					&private->watch_readback,
@@ -533,7 +534,7 @@ mips_stopped_data_address (void)
   struct arch_process_info *private = proc->private->arch_private;
   int n;
   int num_valid;
-  long lwpid = lwpid_of (current_inferior);
+  long lwpid = lwpid_of (current_thread);
 
   /* On MIPS we don't know the low order 3 bits of the data address.
      GDB does not support remote targets that can't report the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-nios2-low.c ./gdb/gdbserver/linux-nios2-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-nios2-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-nios2-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux/Nios II specific low level interface, for the remote server for
    GDB.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    Contributed by Mentor Graphics, Inc.
 
@@ -127,7 +127,7 @@ static CORE_ADDR
 nios2_reinsert_addr (void)
 {
   union nios2_register ra;
-  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+  struct regcache *regcache = get_thread_regcache (current_thread, 1);
 
   collect_register_by_name (regcache, "ra", ra.buf);
   return ra.reg32;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-ppc-low.c ./gdb/gdbserver/linux-ppc-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-ppc-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-ppc-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux/PowerPC specific low level interface, for the remote server for
    GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -202,25 +202,52 @@ ppc_cannot_fetch_register (int regno)
 static void
 ppc_collect_ptrace_register (struct regcache *regcache, int regno, char *buf)
 {
-  int size = register_size (regcache->tdesc, regno);
-
   memset (buf, 0, sizeof (long));
 
-  if (size < sizeof (long))
-    collect_register (regcache, regno, buf + sizeof (long) - size);
+  if (__BYTE_ORDER == __LITTLE_ENDIAN)
+    {
+      /* Little-endian values always sit at the left end of the buffer.  */
+      collect_register (regcache, regno, buf);
+    }
+  else if (__BYTE_ORDER == __BIG_ENDIAN)
+    {
+      /* Big-endian values sit at the right end of the buffer.  In case of
+         registers whose sizes are smaller than sizeof (long), we must use a
+         padding to access them correctly.  */
+      int size = register_size (regcache->tdesc, regno);
+
+      if (size < sizeof (long))
+	collect_register (regcache, regno, buf + sizeof (long) - size);
+      else
+	collect_register (regcache, regno, buf);
+    }
   else
-    collect_register (regcache, regno, buf);
+    perror_with_name ("Unexpected byte order");
 }
 
 static void
 ppc_supply_ptrace_register (struct regcache *regcache,
 			    int regno, const char *buf)
 {
-  int size = register_size (regcache->tdesc, regno);
-  if (size < sizeof (long))
-    supply_register (regcache, regno, buf + sizeof (long) - size);
+  if (__BYTE_ORDER == __LITTLE_ENDIAN)
+    {
+      /* Little-endian values always sit at the left end of the buffer.  */
+      supply_register (regcache, regno, buf);
+    }
+  else if (__BYTE_ORDER == __BIG_ENDIAN)
+    {
+      /* Big-endian values sit at the right end of the buffer.  In case of
+         registers whose sizes are smaller than sizeof (long), we must use a
+         padding to access them correctly.  */
+      int size = register_size (regcache->tdesc, regno);
+
+      if (size < sizeof (long))
+	supply_register (regcache, regno, buf + sizeof (long) - size);
+      else
+	supply_register (regcache, regno, buf);
+    }
   else
-    supply_register (regcache, regno, buf);
+    perror_with_name ("Unexpected byte order");
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-s390-low.c ./gdb/gdbserver/linux-s390-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-s390-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-s390-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux S/390 specific low level interface, for the remote server
    for GDB.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -290,12 +290,6 @@ s390_fill_gregset (struct regcache *regc
 /* Fill and store functions for extended register sets.  */
 
 static void
-s390_fill_last_break (struct regcache *regcache, void *buf)
-{
-  /* Last break address is read-only.  */
-}
-
-static void
 s390_store_last_break (struct regcache *regcache, const void *buf)
 {
   const char *p;
@@ -316,13 +310,30 @@ s390_store_system_call (struct regcache 
   supply_register_by_name (regcache, "system_call", buf);
 }
 
+static void
+s390_store_tdb (struct regcache *regcache, const void *buf)
+{
+  int tdb0 = find_regno (regcache->tdesc, "tdb0");
+  int tr0 = find_regno (regcache->tdesc, "tr0");
+  int i;
+
+  for (i = 0; i < 4; i++)
+    supply_register (regcache, tdb0 + i, (const char *) buf + 8 * i);
+
+  for (i = 0; i < 16; i++)
+    supply_register (regcache, tr0 + i, (const char *) buf + 8 * (16 + i));
+}
+
 static struct regset_info s390_regsets[] = {
   { 0, 0, 0, 0, GENERAL_REGS, s390_fill_gregset, NULL },
-  /* Last break address is read-only; do not attempt PTRACE_SETREGSET.  */
-  { PTRACE_GETREGSET, PTRACE_GETREGSET, NT_S390_LAST_BREAK, 0,
-    EXTENDED_REGS, s390_fill_last_break, s390_store_last_break },
+  /* Last break address is read-only; no fill function.  */
+  { PTRACE_GETREGSET, -1, NT_S390_LAST_BREAK, 0, EXTENDED_REGS,
+    NULL, s390_store_last_break },
   { PTRACE_GETREGSET, PTRACE_SETREGSET, NT_S390_SYSTEM_CALL, 0,
     EXTENDED_REGS, s390_fill_system_call, s390_store_system_call },
+  /* TDB is read-only.  */
+  { PTRACE_GETREGSET, -1, NT_S390_TDB, 0, EXTENDED_REGS,
+    NULL, s390_store_tdb },
   { 0, 0, 0, -1, -1, NULL, NULL }
 };
 
@@ -422,7 +433,7 @@ s390_arch_setup (void)
   struct regset_info *regset;
 
   /* Check whether the kernel supports extra register sets.  */
-  int pid = pid_of (current_inferior);
+  int pid = pid_of (current_thread);
   int have_regset_last_break
     = s390_check_regset (pid, NT_S390_LAST_BREAK, 8);
   int have_regset_system_call
@@ -485,7 +496,7 @@ s390_arch_setup (void)
 #endif
 
   /* Update target_regsets according to available register sets.  */
-  for (regset = s390_regsets; regset->fill_function != NULL; regset++)
+  for (regset = s390_regsets; regset->size >= 0; regset++)
     if (regset->get_request == PTRACE_GETREGSET)
       switch (regset->nt_type)
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-sh-low.c ./gdb/gdbserver/linux-sh-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-sh-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-sh-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux/SH specific low level interface, for the remote server for GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-sparc-low.c ./gdb/gdbserver/linux-sparc-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-sparc-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-sparc-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Low level interface to ptrace, for the remote server for GDB.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -263,7 +263,7 @@ sparc_breakpoint_at (CORE_ADDR where)
 static CORE_ADDR
 sparc_reinsert_addr (void)
 {
-  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+  struct regcache *regcache = get_thread_regcache (current_thread, 1);
   CORE_ADDR lr;
   /* O7 is the equivalent to the 'lr' of other archs.  */
   collect_register_by_name (regcache, "o7", &lr);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-tic6x-low.c ./gdb/gdbserver/linux-tic6x-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-tic6x-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-tic6x-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target dependent code for GDB on TI C6x systems.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Andrew Jenner <andrew@codesourcery.com>
    Contributed by Yao Qi <yao@codesourcery.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-tile-low.c ./gdb/gdbserver/linux-tile-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-tile-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-tile-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux/TILE-Gx specific low level interface, GDBserver.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -158,7 +158,7 @@ tile_regs_info (void)
 static void
 tile_arch_setup (void)
 {
-  int pid = pid_of (current_inferior);
+  int pid = pid_of (current_thread);
   unsigned int machine;
   int is_elf64 = linux_pid_exe_is_elf_64_file (pid, &machine);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-x86-low.c ./gdb/gdbserver/linux-x86-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-x86-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-x86-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux/x86-64 specific low level interface, for the remote server
    for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,15 +17,14 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include <stddef.h>
+#include "server.h"
 #include <signal.h>
 #include <limits.h>
 #include <inttypes.h>
-#include "server.h"
 #include "linux-low.h"
 #include "i387-fp.h"
-#include "i386-low.h"
-#include "i386-xstate.h"
+#include "x86-low.h"
+#include "x86-xstate.h"
 
 #include "gdb_proc_service.h"
 /* Don't include elf/common.h if linux/elf.h got included by
@@ -149,7 +148,7 @@ static const char *xmltarget_amd64_linux
 
 struct arch_process_info
 {
-  struct i386_debug_reg_state debug_reg_state;
+  struct x86_debug_reg_state debug_reg_state;
 };
 
 /* Per-thread arch-specific data we want to keep.  */
@@ -232,7 +231,7 @@ static /*const*/ int i386_regmap[] = 
 static int
 is_64bit_tdesc (void)
 {
-  struct regcache *regcache = get_thread_regcache (current_inferior, 0);
+  struct regcache *regcache = get_thread_regcache (current_thread, 0);
 
   return register_size (regcache->tdesc, 0) == 8;
 }
@@ -587,26 +586,24 @@ update_debug_registers_callback (struct 
 
 /* Update the inferior's debug register REGNUM from STATE.  */
 
-void
-i386_dr_low_set_addr (const struct i386_debug_reg_state *state, int regnum)
+static void
+x86_dr_low_set_addr (int regnum, CORE_ADDR addr)
 {
   /* Only update the threads of this process.  */
-  int pid = pid_of (current_inferior);
+  int pid = pid_of (current_thread);
 
-  if (! (regnum >= 0 && regnum <= DR_LASTADDR - DR_FIRSTADDR))
-    fatal ("Invalid debug register %d", regnum);
+  gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
 
   find_inferior (&all_threads, update_debug_registers_callback, &pid);
 }
 
 /* Return the inferior's debug register REGNUM.  */
 
-CORE_ADDR
-i386_dr_low_get_addr (int regnum)
+static CORE_ADDR
+x86_dr_low_get_addr (int regnum)
 {
-  ptid_t ptid = ptid_of (current_inferior);
+  ptid_t ptid = ptid_of (current_thread);
 
-  /* DR6 and DR7 are retrieved with some other way.  */
   gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
 
   return x86_linux_dr_get (ptid, regnum);
@@ -614,21 +611,21 @@ i386_dr_low_get_addr (int regnum)
 
 /* Update the inferior's DR7 debug control register from STATE.  */
 
-void
-i386_dr_low_set_control (const struct i386_debug_reg_state *state)
+static void
+x86_dr_low_set_control (unsigned long control)
 {
   /* Only update the threads of this process.  */
-  int pid = pid_of (current_inferior);
+  int pid = pid_of (current_thread);
 
   find_inferior (&all_threads, update_debug_registers_callback, &pid);
 }
 
 /* Return the inferior's DR7 debug control register.  */
 
-unsigned
-i386_dr_low_get_control (void)
+static unsigned long
+x86_dr_low_get_control (void)
 {
-  ptid_t ptid = ptid_of (current_inferior);
+  ptid_t ptid = ptid_of (current_thread);
 
   return x86_linux_dr_get (ptid, DR_CONTROL);
 }
@@ -636,13 +633,24 @@ i386_dr_low_get_control (void)
 /* Get the value of the DR6 debug status register from the inferior
    and record it in STATE.  */
 
-unsigned
-i386_dr_low_get_status (void)
+static unsigned long
+x86_dr_low_get_status (void)
 {
-  ptid_t ptid = ptid_of (current_inferior);
+  ptid_t ptid = ptid_of (current_thread);
 
   return x86_linux_dr_get (ptid, DR_STATUS);
 }
+
+/* Low-level function vector.  */
+struct x86_dr_low_type x86_dr_low =
+  {
+    x86_dr_low_set_control,
+    x86_dr_low_set_addr,
+    x86_dr_low_get_addr,
+    x86_dr_low_get_status,
+    x86_dr_low_get_control,
+    sizeof (void *),
+  };
 
 /* Breakpoint/Watchpoint support.  */
 
@@ -678,10 +686,10 @@ x86_insert_point (enum raw_bkpt_type typ
       {
 	enum target_hw_bp_type hw_type
 	  = raw_bkpt_type_to_target_hw_bp_type (type);
-	struct i386_debug_reg_state *state
+	struct x86_debug_reg_state *state
 	  = &proc->private->arch_private->debug_reg_state;
 
-	return i386_low_insert_watchpoint (state, hw_type, addr, size);
+	return x86_dr_insert_watchpoint (state, hw_type, addr, size);
       }
 
     default:
@@ -707,10 +715,10 @@ x86_remove_point (enum raw_bkpt_type typ
       {
 	enum target_hw_bp_type hw_type
 	  = raw_bkpt_type_to_target_hw_bp_type (type);
-	struct i386_debug_reg_state *state
+	struct x86_debug_reg_state *state
 	  = &proc->private->arch_private->debug_reg_state;
 
-	return i386_low_remove_watchpoint (state, hw_type, addr, size);
+	return x86_dr_remove_watchpoint (state, hw_type, addr, size);
       }
     default:
       /* Unsupported.  */
@@ -722,7 +730,7 @@ static int
 x86_stopped_by_watchpoint (void)
 {
   struct process_info *proc = current_process ();
-  return i386_low_stopped_by_watchpoint (&proc->private->arch_private->debug_reg_state);
+  return x86_dr_stopped_by_watchpoint (&proc->private->arch_private->debug_reg_state);
 }
 
 static CORE_ADDR
@@ -730,8 +738,8 @@ x86_stopped_data_address (void)
 {
   struct process_info *proc = current_process ();
   CORE_ADDR addr;
-  if (i386_low_stopped_data_address (&proc->private->arch_private->debug_reg_state,
-				     &addr))
+  if (x86_dr_stopped_data_address (&proc->private->arch_private->debug_reg_state,
+				   &addr))
     return addr;
   return 0;
 }
@@ -741,9 +749,9 @@ x86_stopped_data_address (void)
 static struct arch_process_info *
 x86_linux_new_process (void)
 {
-  struct arch_process_info *info = xcalloc (1, sizeof (*info));
+  struct arch_process_info *info = XCNEW (struct arch_process_info);
 
-  i386_low_init_dregs (&info->debug_reg_state);
+  x86_low_init_dregs (&info->debug_reg_state);
 
   return info;
 }
@@ -753,7 +761,7 @@ x86_linux_new_process (void)
 static struct arch_lwp_info *
 x86_linux_new_thread (void)
 {
-  struct arch_lwp_info *info = xcalloc (1, sizeof (*info));
+  struct arch_lwp_info *info = XCNEW (struct arch_lwp_info);
 
   info->debug_registers_changed = 1;
 
@@ -774,19 +782,19 @@ x86_linux_prepare_to_resume (struct lwp_
       int i;
       int pid = ptid_get_pid (ptid);
       struct process_info *proc = find_process_pid (pid);
-      struct i386_debug_reg_state *state
+      struct x86_debug_reg_state *state
 	= &proc->private->arch_private->debug_reg_state;
 
       x86_linux_dr_set (ptid, DR_CONTROL, 0);
 
-      for (i = DR_FIRSTADDR; i <= DR_LASTADDR; i++)
+      ALL_DEBUG_ADDRESS_REGISTERS (i)
 	if (state->dr_ref_count[i] > 0)
 	  {
 	    x86_linux_dr_set (ptid, i, state->dr_mirror[i]);
 
 	    /* If we're setting a watchpoint, any change the inferior
 	       had done itself to the debug registers needs to be
-	       discarded, otherwise, i386_low_stopped_data_address can
+	       discarded, otherwise, x86_dr_stopped_data_address can
 	       get confused.  */
 	    clear_status = 1;
 	  }
@@ -797,7 +805,7 @@ x86_linux_prepare_to_resume (struct lwp_
       lwp->arch_private->debug_registers_changed = 0;
     }
 
-  if (clear_status || lwp->stopped_by_watchpoint)
+  if (clear_status || lwp->stop_reason == LWP_STOPPED_BY_WATCHPOINT)
     x86_linux_dr_set (ptid, DR_STATUS, 0);
 }
 
@@ -1211,14 +1219,13 @@ x86_siginfo_fixup (siginfo_t *native, vo
 {
 #ifdef __x86_64__
   unsigned int machine;
-  int tid = lwpid_of (current_inferior);
+  int tid = lwpid_of (current_thread);
   int is_elf64 = linux_pid_exe_is_elf_64_file (tid, &machine);
 
   /* Is the inferior 32-bit?  If so, then fixup the siginfo object.  */
   if (!is_64bit_tdesc ())
     {
-      if (sizeof (siginfo_t) != sizeof (compat_siginfo_t))
-	fatal ("unexpected difference in siginfo");
+      gdb_assert (sizeof (siginfo_t) == sizeof (compat_siginfo_t));
 
       if (direction == 0)
 	compat_siginfo_from_siginfo ((struct compat_siginfo *) inf, native);
@@ -1230,8 +1237,7 @@ x86_siginfo_fixup (siginfo_t *native, vo
   /* No fixup for native x32 GDB.  */
   else if (!is_elf64 && sizeof (void *) == 8)
     {
-      if (sizeof (siginfo_t) != sizeof (compat_x32_siginfo_t))
-	fatal ("unexpected difference in siginfo");
+      gdb_assert (sizeof (siginfo_t) == sizeof (compat_x32_siginfo_t));
 
       if (direction == 0)
 	compat_x32_siginfo_from_siginfo ((struct compat_x32_siginfo *) inf,
@@ -1296,7 +1302,7 @@ x86_linux_read_description (void)
   static uint64_t xcr0;
   struct regset_info *regset;
 
-  tid = lwpid_of (current_inferior);
+  tid = lwpid_of (current_thread);
 
   is_elf64 = linux_pid_exe_is_elf_64_file (tid, &machine);
 
@@ -1328,7 +1334,7 @@ x86_linux_read_description (void)
 
   if (!use_xml)
     {
-      x86_xcr0 = I386_XSTATE_SSE_MASK;
+      x86_xcr0 = X86_XSTATE_SSE_MASK;
 
       /* Don't use XML.  */
 #ifdef __x86_64__
@@ -1341,7 +1347,7 @@ x86_linux_read_description (void)
 
   if (have_ptrace_getregset == -1)
     {
-      uint64_t xstateregs[(I386_XSTATE_SSE_SIZE / sizeof (uint64_t))];
+      uint64_t xstateregs[(X86_XSTATE_SSE_SIZE / sizeof (uint64_t))];
       struct iovec iov;
 
       iov.iov_base = xstateregs;
@@ -1363,7 +1369,7 @@ x86_linux_read_description (void)
 	  for (regset = x86_regsets;
 	       regset->fill_function != NULL; regset++)
 	    if (regset->get_request == PTRACE_GETREGSET)
-	      regset->size = I386_XSTATE_SIZE (xcr0);
+	      regset->size = X86_XSTATE_SIZE (xcr0);
 	    else if (regset->type != GENERAL_REGS)
 	      regset->size = 0;
 	}
@@ -1371,7 +1377,7 @@ x86_linux_read_description (void)
 
   /* Check the native XCR0 only if PTRACE_GETREGSET is available.  */
   xcr0_features = (have_ptrace_getregset
-         && (xcr0 & I386_XSTATE_ALL_MASK));
+         && (xcr0 & X86_XSTATE_ALL_MASK));
 
   if (xcr0_features)
     x86_xcr0 = xcr0;
@@ -1383,15 +1389,15 @@ x86_linux_read_description (void)
 	{
 	  if (xcr0_features)
 	    {
-	      switch (xcr0 & I386_XSTATE_ALL_MASK)
+	      switch (xcr0 & X86_XSTATE_ALL_MASK)
 	        {
-		case I386_XSTATE_AVX512_MASK:
+		case X86_XSTATE_AVX512_MASK:
 		  return tdesc_amd64_avx512_linux;
 
-		case I386_XSTATE_MPX_MASK:
+		case X86_XSTATE_MPX_MASK:
 		  return tdesc_amd64_mpx_linux;
 
-		case I386_XSTATE_AVX_MASK:
+		case X86_XSTATE_AVX_MASK:
 		  return tdesc_amd64_avx_linux;
 
 		default:
@@ -1405,13 +1411,13 @@ x86_linux_read_description (void)
 	{
 	  if (xcr0_features)
 	    {
-	      switch (xcr0 & I386_XSTATE_ALL_MASK)
+	      switch (xcr0 & X86_XSTATE_ALL_MASK)
 	        {
-		case I386_XSTATE_AVX512_MASK:
+		case X86_XSTATE_AVX512_MASK:
 		  return tdesc_x32_avx512_linux;
 
-		case I386_XSTATE_MPX_MASK: /* No MPX on x32.  */
-		case I386_XSTATE_AVX_MASK:
+		case X86_XSTATE_MPX_MASK: /* No MPX on x32.  */
+		case X86_XSTATE_AVX_MASK:
 		  return tdesc_x32_avx_linux;
 
 		default:
@@ -1427,15 +1433,15 @@ x86_linux_read_description (void)
     {
       if (xcr0_features)
 	{
-	  switch (xcr0 & I386_XSTATE_ALL_MASK)
+	  switch (xcr0 & X86_XSTATE_ALL_MASK)
 	    {
-	    case (I386_XSTATE_AVX512_MASK):
+	    case (X86_XSTATE_AVX512_MASK):
 	      return tdesc_i386_avx512_linux;
 
-	    case (I386_XSTATE_MPX_MASK):
+	    case (X86_XSTATE_MPX_MASK):
 	      return tdesc_i386_mpx_linux;
 
-	    case (I386_XSTATE_AVX_MASK):
+	    case (X86_XSTATE_AVX_MASK):
 	      return tdesc_i386_avx_linux;
 
 	    default:
@@ -1469,7 +1475,7 @@ x86_arch_setup_process_callback (struct 
   int pid = ptid_get_pid (entry->id);
 
   /* Look up any thread of this processes.  */
-  current_inferior
+  current_thread
     = (struct thread_info *) find_inferior (&all_threads,
 					    same_process_callback, &pid);
 
@@ -1482,7 +1488,7 @@ x86_arch_setup_process_callback (struct 
 static void
 x86_linux_update_xmltarget (void)
 {
-  struct thread_info *save_inferior = current_inferior;
+  struct thread_info *saved_thread = current_thread;
 
   /* Before changing the register cache's internal layout, flush the
      contents of the current valid caches back to the threads, and
@@ -1491,7 +1497,7 @@ x86_linux_update_xmltarget (void)
 
   for_each_inferior (&all_processes, x86_arch_setup_process_callback);
 
-  current_inferior = save_inferior;
+  current_thread = saved_thread;
 }
 
 /* Process qSupported query, "xmlRegisters=".  Update the buffer size for
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-xtensa-low.c ./gdb/gdbserver/linux-xtensa-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/linux-xtensa-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/linux-xtensa-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux/Xtensa specific low level interface, for the remote server for GDB.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/lynx-i386-low.c ./gdb/gdbserver/lynx-i386-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/lynx-i386-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/lynx-i386-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/lynx-low.c ./gdb/gdbserver/lynx-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/lynx-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/lynx-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -320,10 +320,11 @@ lynx_attach (unsigned long pid)
 static void
 lynx_resume (struct thread_resume *resume_info, size_t n)
 {
-  /* FIXME: Assume for now that n == 1.  */
   ptid_t ptid = resume_info[0].thread;
-  const int request = (resume_info[0].kind == resume_step
-                       ? PTRACE_SINGLESTEP : PTRACE_CONT);
+  const int request
+    = (resume_info[0].kind == resume_step
+       ? (n == 1 ? PTRACE_SINGLESTEP_ONE : PTRACE_SINGLESTEP)
+       : PTRACE_CONT);
   const int signal = resume_info[0].sig;
 
   /* If given a minus_one_ptid, then try using the current_process'
@@ -338,9 +339,9 @@ lynx_resume (struct thread_resume *resum
   /* The ptid might still be minus_one_ptid; this can happen between
      the moment we create the inferior or attach to a process, and
      the moment we resume its execution for the first time.  It is
-     fine to use the current_inferior's ptid in those cases.  */
+     fine to use the current_thread's ptid in those cases.  */
   if (ptid_equal (ptid, minus_one_ptid))
-    ptid = thread_to_gdb_id (current_inferior);
+    ptid = thread_to_gdb_id (current_thread);
 
   regcache_invalidate ();
 
@@ -413,7 +414,7 @@ lynx_wait_1 (ptid_t ptid, struct target_
   ptid_t new_ptid;
 
   if (ptid_equal (ptid, minus_one_ptid))
-    pid = lynx_ptid_get_pid (thread_to_gdb_id (current_inferior));
+    pid = lynx_ptid_get_pid (thread_to_gdb_id (current_thread));
   else
     pid = BUILDPID (lynx_ptid_get_pid (ptid), lynx_ptid_get_tid (ptid));
 
@@ -582,7 +583,7 @@ static void
 lynx_fetch_registers (struct regcache *regcache, int regno)
 {
   struct lynx_regset_info *regset = lynx_target_regsets;
-  ptid_t inferior_ptid = thread_to_gdb_id (current_inferior);
+  ptid_t inferior_ptid = thread_to_gdb_id (current_thread);
 
   lynx_debug ("lynx_fetch_registers (regno = %d)", regno);
 
@@ -607,7 +608,7 @@ static void
 lynx_store_registers (struct regcache *regcache, int regno)
 {
   struct lynx_regset_info *regset = lynx_target_regsets;
-  ptid_t inferior_ptid = thread_to_gdb_id (current_inferior);
+  ptid_t inferior_ptid = thread_to_gdb_id (current_thread);
 
   lynx_debug ("lynx_store_registers (regno = %d)", regno);
 
@@ -643,7 +644,7 @@ lynx_read_memory (CORE_ADDR memaddr, uns
   int buf;
   const int xfer_size = sizeof (buf);
   CORE_ADDR addr = memaddr & -(CORE_ADDR) xfer_size;
-  ptid_t inferior_ptid = thread_to_gdb_id (current_inferior);
+  ptid_t inferior_ptid = thread_to_gdb_id (current_thread);
 
   while (addr < memaddr + len)
     {
@@ -676,7 +677,7 @@ lynx_write_memory (CORE_ADDR memaddr, co
   int buf;
   const int xfer_size = sizeof (buf);
   CORE_ADDR addr = memaddr & -(CORE_ADDR) xfer_size;
-  ptid_t inferior_ptid = thread_to_gdb_id (current_inferior);
+  ptid_t inferior_ptid = thread_to_gdb_id (current_thread);
 
   while (addr < memaddr + len)
     {
@@ -688,11 +689,13 @@ lynx_write_memory (CORE_ADDR memaddr, co
       if (addr + xfer_size > memaddr + len)
         truncate = addr + xfer_size - memaddr - len;
       if (skip > 0 || truncate > 0)
-        /* We need to read the memory at this address in order to preserve
-           the data that we are not overwriting.  */
-        lynx_read_memory (addr, (unsigned char *) &buf, xfer_size);
-        if (errno)
-          return errno;
+	{
+	  /* We need to read the memory at this address in order to preserve
+	     the data that we are not overwriting.  */
+	  lynx_read_memory (addr, (unsigned char *) &buf, xfer_size);
+	  if (errno)
+	    return errno;
+	}
       memcpy ((gdb_byte *) &buf + skip, myaddr + (addr - memaddr) + skip,
               xfer_size - skip - truncate);
       errno = 0;
@@ -710,7 +713,7 @@ lynx_write_memory (CORE_ADDR memaddr, co
 static void
 lynx_request_interrupt (void)
 {
-  ptid_t inferior_ptid = thread_to_gdb_id (current_inferior);
+  ptid_t inferior_ptid = thread_to_gdb_id (current_thread);
 
   kill (lynx_ptid_get_pid (inferior_ptid), SIGINT);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/lynx-low.h ./gdb/gdbserver/lynx-low.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/lynx-low.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/lynx-low.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -15,8 +15,6 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "server.h"
-
 struct regcache;
 struct target_desc;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/lynx-ppc-low.c ./gdb/gdbserver/lynx-ppc-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/lynx-ppc-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/lynx-ppc-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 #include "lynx-low.h"
 
 #include <stdint.h>
-#include <stddef.h>
 #include <limits.h>
 #include <sys/ptrace.h>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/Makefile.in ./gdb/gdbserver/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/Makefile.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/Makefile.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1989-2014 Free Software Foundation, Inc.
+# Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
@@ -50,6 +50,8 @@ INSTALL_DATA = @INSTALL_DATA@
 RANLIB = @RANLIB@
 
 CC = @CC@
+AR = @AR@
+AR_FLAGS = rc
 
 # Dependency tracking information.
 DEPMODE = @CCDEPMODE@
@@ -83,6 +85,9 @@ CC-LD=${CC}
 INCLUDE_DIR =  ${srcdir}/../../include
 INCLUDE_DEP = $$(INCLUDE_DIR)
 
+LIBIBERTY_BUILDDIR = build-libiberty-gdbserver
+LIBIBERTY = $(LIBIBERTY_BUILDDIR)/libiberty.a
+
 # Where is ust?  These will be empty if ust was not available.
 ustlibs = @ustlibs@
 ustinc = @ustinc@
@@ -123,10 +128,11 @@ WARN_CFLAGS_NO_FORMAT = `echo " $(WARN_C
 # CFLAGS is specifically reserved for setting from the command line
 # when running make.  I.E.  "make CFLAGS=-Wmissing-prototypes".
 CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
 
 # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
 INTERNAL_CFLAGS_BASE =  ${CFLAGS} ${GLOBAL_CFLAGS} \
-	${PROFILE_CFLAGS} ${INCLUDE_CFLAGS}
+	${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS}
 INTERNAL_WARN_CFLAGS =  ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS)
 INTERNAL_CFLAGS =  ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER
 
@@ -144,7 +150,7 @@ SFILES=	$(srcdir)/gdbreplay.c $(srcdir)/
 	$(srcdir)/thread-db.c $(srcdir)/utils.c $(srcdir)/debug.c \
 	$(srcdir)/linux-arm-low.c $(srcdir)/linux-bfin-low.c \
 	$(srcdir)/linux-cris-low.c $(srcdir)/linux-crisv32-low.c \
-	${srcdir}/i386-low.c $(srcdir)/i387-fp.c \
+	${srcdir}/x86-low.c $(srcdir)/i387-fp.c \
 	$(srcdir)/linux-ia64-low.c $(srcdir)/linux-low.c \
 	$(srcdir)/linux-m32r-low.c \
 	$(srcdir)/linux-m68k-low.c $(srcdir)/linux-mips-low.c \
@@ -160,11 +166,13 @@ SFILES=	$(srcdir)/gdbreplay.c $(srcdir)/
 	$(srcdir)/hostio.c $(srcdir)/hostio-errno.c \
 	$(srcdir)/common/vec.c $(srcdir)/common/gdb_vecs.c \
 	$(srcdir)/common/common-utils.c $(srcdir)/common/xml-utils.c \
-	$(srcdir)/common/linux-osdata.c $(srcdir)/common/ptid.c \
-	$(srcdir)/common/buffer.c $(srcdir)/common/linux-btrace.c \
+	$(srcdir)/nat/linux-osdata.c $(srcdir)/common/ptid.c \
+	$(srcdir)/common/buffer.c $(srcdir)/nat/linux-btrace.c \
 	$(srcdir)/common/filestuff.c $(srcdir)/target/waitstatus.c \
-	$(srcdir)/common/mips-linux-watch.c $(srcdir)/common/print-utils.c \
-	$(srcdir)/common/rsp-low.c
+	$(srcdir)/nat/mips-linux-watch.c $(srcdir)/common/print-utils.c \
+	$(srcdir)/common/rsp-low.c $(srcdir)/common/errors.c \
+	$(srcdir)/common/common-debug.c $(srcdir)/common/cleanups.c \
+	$(srcdir)/common/common-exceptions.c $(srcdir)/symbol.c
 
 DEPFILES = @GDBSERVER_DEPFILES@
 
@@ -177,7 +185,9 @@ OBS = agent.o ax.o inferiors.o regcache.
       target.o waitstatus.o utils.o debug.o version.o vec.o gdb_vecs.o \
       mem-break.o hostio.o event-loop.o tracepoint.o xml-utils.o \
       common-utils.o ptid.o buffer.o format.o filestuff.o dll.o notif.o \
-      tdesc.o print-utils.o rsp-low.o $(XML_BUILTIN) $(DEPFILES) $(LIBOBJS)
+      tdesc.o print-utils.o rsp-low.o errors.o common-debug.o cleanups.o \
+      common-exceptions.o symbol.o \
+      $(XML_BUILTIN) $(DEPFILES) $(LIBOBJS)
 GDBREPLAY_OBS = gdbreplay.o version.o
 GDBSERVER_LIBS = @GDBSERVER_LIBS@
 XM_CLIBS = @LIBS@
@@ -191,14 +201,14 @@ XML_BUILTIN = @srv_xmlbuiltin@
 IPA_DEPFILES = @IPA_DEPFILES@
 extra_libraries = @extra_libraries@
 
-SUBDIRS = $(GNULIB_BUILDDIR)
+SUBDIRS = $(GNULIB_BUILDDIR) $(LIBIBERTY_BUILDDIR)
 CLEANDIRS = $(SUBDIRS)
 
 # List of subdirectories in the build tree that must exist.
 # This is used to force build failures in existing trees when
 # a new directory is added.
 # The format here is for the `case' shell command.
-REQUIRED_SUBDIRS = $(GNULIB_BUILDDIR)
+REQUIRED_SUBDIRS = $(GNULIB_BUILDDIR) | $(LIBIBERTY_BUILDDIR)
 
 FLAGS_TO_PASS = \
 	"prefix=$(prefix)" \
@@ -259,7 +269,10 @@ install-only:
 	fi; \
 	$(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir); \
 	$(INSTALL_PROGRAM) gdbserver$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
-	@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
+	# Note that we run install and not install-only, as the latter
+	# is not part of GNU standards and in particular not provided
+	# in libiberty.
+	@$(MAKE) $(FLAGS_TO_PASS) DO=install "DODIRS=$(SUBDIRS)" subdir_do
 
 uninstall: force
 	n=`echo gdbserver | sed '$(program_transform_name)'`; \
@@ -277,22 +290,25 @@ install-html:
 clean-info: force
 	@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
 
-gdbserver$(EXEEXT): $(OBS) ${ADD_DEPS} ${CDEPS} $(LIBGNU)
+gdbserver$(EXEEXT): $(OBS) ${ADD_DEPS} ${CDEPS} $(LIBGNU) $(LIBIBERTY)
 	rm -f gdbserver$(EXEEXT)
 	${CC-LD} $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbserver$(EXEEXT) $(OBS) \
-	$(LIBGNU) $(GDBSERVER_LIBS) $(XM_CLIBS)
+	$(LIBGNU) $(LIBIBERTY) $(GDBSERVER_LIBS) $(XM_CLIBS)
 
-$(LIBGNU) $(GNULIB_H): all-lib
-all-lib: $(GNULIB_BUILDDIR)/Makefile
-	@$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do
+$(LIBGNU) $(LIBIBERTY) $(GNULIB_H): all-lib
+all-lib: $(GNULIB_BUILDDIR)/Makefile $(LIBIBERTY_BUILDDIR)/Makefile
+	@$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS="$(SUBDIRS)" subdir_do
 .PHONY: all-lib
 
-gdbreplay$(EXEEXT): $(GDBREPLAY_OBS) $(LIBGNU)
+gdbreplay$(EXEEXT): $(GDBREPLAY_OBS) $(LIBGNU) $(LIBIBERTY)
 	rm -f gdbreplay$(EXEEXT)
 	${CC-LD} $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbreplay$(EXEEXT) $(GDBREPLAY_OBS) \
-	  $(XM_CLIBS) $(LIBGNU)
+	  $(XM_CLIBS) $(LIBGNU) $(LIBIBERTY)
 
-IPA_OBJS=ax-ipa.o tracepoint-ipa.o format-ipa.o utils-ipa.o regcache-ipa.o remote-utils-ipa.o common-utils-ipa.o tdesc-ipa.o print-utils-ipa.o rsp-low-ipa.o ${IPA_DEPFILES}
+IPA_OBJS=ax-ipa.o tracepoint-ipa.o format-ipa.o utils-ipa.o \
+	regcache-ipa.o remote-utils-ipa.o common-utils-ipa.o \
+	tdesc-ipa.o print-utils-ipa.o rsp-low-ipa.o errors-ipa.o \
+	${IPA_DEPFILES}
 
 IPA_LIB=libinproctrace.so
 
@@ -328,7 +344,8 @@ clean:
 	rm -f reg-tilegx.c reg-tilegx32.c
 	rm -f arm-with-iwmmxt.c
 	rm -f arm-with-vfpv2.c arm-with-vfpv3.c arm-with-neon.c
-	rm -f mips-linux.c mips64-linux.c
+	rm -f mips-linux.c mips-dsp-linux.c
+	rm -f mips64-linux.c mips64-dsp-linux.c
 	rm -f nios2-linux.c
 	rm -f powerpc-32.c powerpc-32l.c powerpc-64l.c powerpc-e500l.c
 	rm -f powerpc-altivec32l.c powerpc-cell32l.c powerpc-vsx32l.c
@@ -432,7 +449,7 @@ UST_CFLAGS = $(ustinc) -DCONFIG_UST_GDB_
 
 # Note, we only build the IPA if -fvisibility=hidden is supported in
 # the first place.
-IPAGENT_CFLAGS = $(CPPFLAGS) $(INTERNAL_CFLAGS) $(UST_CFLAGS) \
+IPAGENT_CFLAGS = $(INTERNAL_CFLAGS) $(UST_CFLAGS) \
 	-fPIC -DIN_PROCESS_AGENT \
 	-fvisibility=hidden
 
@@ -481,6 +498,9 @@ print-utils-ipa.o: ../common/print-utils
 rsp-low-ipa.o: ../common/rsp-low.c
 	$(IPAGENT_COMPILE) $<
 	$(POSTCOMPILE)
+errors-ipa.o: ../common/errors.c
+	$(IPAGENT_COMPILE) $<
+	$(POSTCOMPILE)
 
 ax.o: ax.c
 	$(COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
@@ -495,12 +515,6 @@ print-utils.o: ../common/print-utils.c
 rsp-low.o: ../common/rsp-low.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
-linux-procfs.o: ../common/linux-procfs.c
-	$(COMPILE) $<
-	$(POSTCOMPILE)
-linux-ptrace.o: ../common/linux-ptrace.c
-	$(COMPILE) $<
-	$(POSTCOMPILE)
 common-utils.o: ../common/common-utils.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
@@ -513,9 +527,6 @@ gdb_vecs.o: ../common/gdb_vecs.c
 xml-utils.o: ../common/xml-utils.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
-linux-osdata.o: ../common/linux-osdata.c
-	$(COMPILE) $<
-	$(POSTCOMPILE)
 ptid.o: ../common/ptid.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
@@ -531,38 +542,43 @@ filestuff.o: ../common/filestuff.c
 agent.o: ../common/agent.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
-waitstatus.o: ../target/waitstatus.c
+errors.o: ../common/errors.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
-
-linux-btrace.o: ../common/linux-btrace.c
+common-debug.o: ../common/common-debug.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
-
-mips-linux-watch.o: ../common/mips-linux-watch.c
+cleanups.o: ../common/cleanups.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+common-exceptions.o: ../common/common-exceptions.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+waitstatus.o: ../target/waitstatus.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
 # Native object files rules from ../nat
 
-linux-waitpid.o: ../nat/linux-waitpid.c
+x86-dregs.o: ../nat/x86-dregs.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
-
-# We build vasprintf with -DHAVE_CONFIG_H because we want that unit to
-# include our config.h file.  Otherwise, some system headers do not get
-# included, and the compiler emits a warning about implicitly defined
-# functions (missing declaration).
-vasprintf.o: $(srcdir)/../../libiberty/vasprintf.c
-	$(COMPILE) $< -DHAVE_CONFIG_H
+linux-btrace.o: ../nat/linux-btrace.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+linux-osdata.o: ../nat/linux-osdata.c
+	$(COMPILE) $<
 	$(POSTCOMPILE)
-vsnprintf.o: $(srcdir)/../../libiberty/vsnprintf.c
+linux-procfs.o: ../nat/linux-procfs.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
-safe-ctype.o: $(srcdir)/../../libiberty/safe-ctype.c
+linux-ptrace.o: ../nat/linux-ptrace.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+linux-waitpid.o: ../nat/linux-waitpid.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
-lbasename.o: $(srcdir)/../../libiberty/lbasename.c
+mips-linux-watch.o: ../nat/mips-linux-watch.c
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/mem-break.c ./gdb/gdbserver/mem-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/mem-break.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/mem-break.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Memory breakpoint operations for the remote server for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
 
@@ -189,7 +189,8 @@ raw_bkpt_type_to_target_hw_bp_type (enum
     case raw_bkpt_type_access_wp:
       return hw_access;
     default:
-      fatal ("bad raw breakpoing type %d", (int) raw_type);
+      internal_error (__FILE__, __LINE__,
+		      "bad raw breakpoint type %d", (int) raw_type);
     }
 }
 
@@ -994,7 +995,7 @@ check_gdb_bp_preconditions (char z_type,
       *err = 1;
       return 0;
     }
-  else if (current_inferior == NULL)
+  else if (current_thread == NULL)
     {
       *err = -1;
       return 0;
@@ -1211,7 +1212,7 @@ gdb_condition_true_at_breakpoint_z_type 
   if (bp->cond_list == NULL)
     return 1;
 
-  ctx.regcache = get_thread_regcache (current_inferior, 1);
+  ctx.regcache = get_thread_regcache (current_thread, 1);
   ctx.tframe = NULL;
   ctx.tpoint = NULL;
 
@@ -1335,7 +1336,7 @@ run_breakpoint_commands_z_type (char z_t
   if (bp == NULL)
     return 1;
 
-  ctx.regcache = get_thread_regcache (current_inferior, 1);
+  ctx.regcache = get_thread_regcache (current_thread, 1);
   ctx.tframe = NULL;
   ctx.tpoint = NULL;
 
@@ -1609,6 +1610,40 @@ breakpoint_inserted_here (CORE_ADDR addr
   return 0;
 }
 
+/* See mem-break.h.  */
+
+int
+software_breakpoint_inserted_here (CORE_ADDR addr)
+{
+  struct process_info *proc = current_process ();
+  struct raw_breakpoint *bp;
+
+  for (bp = proc->raw_breakpoints; bp != NULL; bp = bp->next)
+    if (bp->raw_type == raw_bkpt_type_sw
+	&& bp->pc == addr
+	&& bp->inserted)
+      return 1;
+
+  return 0;
+}
+
+/* See mem-break.h.  */
+
+int
+hardware_breakpoint_inserted_here (CORE_ADDR addr)
+{
+  struct process_info *proc = current_process ();
+  struct raw_breakpoint *bp;
+
+  for (bp = proc->raw_breakpoints; bp != NULL; bp = bp->next)
+    if (bp->raw_type == raw_bkpt_type_hw
+	&& bp->pc == addr
+	&& bp->inserted)
+      return 1;
+
+  return 0;
+}
+
 static int
 validate_inserted_breakpoint (struct raw_breakpoint *bp)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/mem-break.h ./gdb/gdbserver/mem-break.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/mem-break.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/mem-break.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Memory breakpoint interfaces for the remote server for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
 
@@ -90,6 +90,16 @@ int breakpoint_here (CORE_ADDR addr);
 
 int breakpoint_inserted_here (CORE_ADDR addr);
 
+/* Returns TRUE if there's any inserted software breakpoint at
+   ADDR.  */
+
+int software_breakpoint_inserted_here (CORE_ADDR addr);
+
+/* Returns TRUE if there's any inserted hardware (code) breakpoint at
+   ADDR.  */
+
+int hardware_breakpoint_inserted_here (CORE_ADDR addr);
+
 /* Clear all breakpoint conditions and commands associated with a
    breakpoint.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/notif.c ./gdb/gdbserver/notif.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/notif.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/notif.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Notification to GDB.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -47,6 +47,7 @@
 
    # 3 is done by function 'handle_notif_ack'.  */
 
+#include "server.h"
 #include "notif.h"
 
 static struct notif_server *notifs[] =
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/notif.h ./gdb/gdbserver/notif.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/notif.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/notif.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Notification to GDB.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -16,8 +16,6 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "ptid.h"
-#include "server.h"
 #include "target.h"
 #include "queue.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/nto-low.c ./gdb/gdbserver/nto-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/nto-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/nto-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* QNX Neutrino specific low level interface, for the remote server
    for GDB.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,7 +28,6 @@
 #include <spawn.h>
 #include <sys/procfs.h>
 #include <sys/auxv.h>
-#include <stdarg.h>
 #include <sys/iomgr.h>
 #include <sys/neutrino.h>
 
@@ -623,12 +622,12 @@ nto_fetch_registers (struct regcache *re
   if (regno >= the_low_target.num_regs)
     return;
 
-  if (current_inferior == NULL)
+  if (current_thread == NULL)
     {
-      TRACE ("current_inferior is NULL\n");
+      TRACE ("current_thread is NULL\n");
       return;
     }
-  ptid = thread_to_gdb_id (current_inferior);
+  ptid = thread_to_gdb_id (current_thread);
   if (!nto_set_thread (ptid))
     return;
 
@@ -670,12 +669,12 @@ nto_store_registers (struct regcache *re
 
   TRACE ("%s (regno:%d)\n", __func__, regno);
 
-  if (current_inferior == NULL)
+  if (current_thread == NULL)
     {
-      TRACE ("current_inferior is NULL\n");
+      TRACE ("current_thread is NULL\n");
       return;
     }
-  ptid = thread_to_gdb_id (current_inferior);
+  ptid = thread_to_gdb_id (current_thread);
   if (!nto_set_thread (ptid))
     return;
 
@@ -862,11 +861,11 @@ nto_stopped_by_watchpoint (void)
   int ret = 0;
 
   TRACE ("%s\n", __func__);
-  if (nto_inferior.ctl_fd != -1 && current_inferior != NULL)
+  if (nto_inferior.ctl_fd != -1 && current_thread != NULL)
     {
       ptid_t ptid;
 
-      ptid = thread_to_gdb_id (current_inferior);
+      ptid = thread_to_gdb_id (current_thread);
       if (nto_set_thread (ptid))
 	{
 	  const int watchmask = _DEBUG_FLAG_TRACE_RD | _DEBUG_FLAG_TRACE_WR
@@ -894,11 +893,11 @@ nto_stopped_data_address (void)
   CORE_ADDR ret = (CORE_ADDR)0;
 
   TRACE ("%s\n", __func__);
-  if (nto_inferior.ctl_fd != -1 && current_inferior != NULL)
+  if (nto_inferior.ctl_fd != -1 && current_thread != NULL)
     {
       ptid_t ptid;
 
-      ptid = thread_to_gdb_id (current_inferior);
+      ptid = thread_to_gdb_id (current_thread);
 
       if (nto_set_thread (ptid))
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/nto-low.h ./gdb/gdbserver/nto-low.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/nto-low.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/nto-low.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Internal interfaces for the QNX Neutrino specific target code for gdbserver.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/nto-x86-low.c ./gdb/gdbserver/nto-x86-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/nto-x86-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/nto-x86-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* QNX Neutrino specific low level interface, for the remote server
    for GDB.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/proc-service.c ./gdb/gdbserver/proc-service.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/proc-service.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/proc-service.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* libthread_db helper functions for the remote server for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
 
@@ -101,20 +101,20 @@ ps_lgetregs (gdb_ps_prochandle_t ph, lwp
 {
 #ifdef HAVE_REGSETS
   struct lwp_info *lwp;
-  struct thread_info *reg_inferior, *save_inferior;
+  struct thread_info *reg_thread, *saved_thread;
   struct regcache *regcache;
 
   lwp = find_lwp_pid (pid_to_ptid (lwpid));
   if (lwp == NULL)
     return PS_ERR;
 
-  reg_inferior = get_lwp_thread (lwp);
-  save_inferior = current_inferior;
-  current_inferior = reg_inferior;
-  regcache = get_thread_regcache (current_inferior, 1);
+  reg_thread = get_lwp_thread (lwp);
+  saved_thread = current_thread;
+  current_thread = reg_thread;
+  regcache = get_thread_regcache (current_thread, 1);
   gregset_info ()->fill_function (regcache, gregset);
 
-  current_inferior = save_inferior;
+  current_thread = saved_thread;
   return PS_OK;
 #else
   return PS_ERR;
@@ -157,5 +157,5 @@ ps_lsetfpregs (gdb_ps_prochandle_t ph, l
 pid_t
 ps_getpid (gdb_ps_prochandle_t ph)
 {
-  return pid_of (current_inferior);
+  return pid_of (current_thread);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/proc-service.list ./gdb/gdbserver/proc-service.list
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/proc-service.list	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/proc-service.list	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* -Wl,--dynamic-list symbols exported for libthread_db.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/regcache.c ./gdb/gdbserver/regcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/regcache.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/regcache.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Register support routines for the remote server for GDB.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,10 +21,6 @@
 #include "gdbthread.h"
 #include "tdesc.h"
 #include "rsp-low.h"
-
-#include <stdlib.h>
-#include <string.h>
-
 #ifndef IN_PROCESS_AGENT
 
 struct regcache *
@@ -45,8 +41,7 @@ get_thread_regcache (struct thread_info 
     {
       struct process_info *proc = get_thread_process (thread);
 
-      if (proc->tdesc == NULL)
-	fatal ("no target description");
+      gdb_assert (proc->tdesc != NULL);
 
       regcache = new_register_cache (proc->tdesc);
       set_inferior_regcache_data (thread, regcache);
@@ -54,17 +49,28 @@ get_thread_regcache (struct thread_info 
 
   if (fetch && regcache->registers_valid == 0)
     {
-      struct thread_info *saved_inferior = current_inferior;
+      struct thread_info *saved_thread = current_thread;
 
-      current_inferior = thread;
+      current_thread = thread;
+      /* Invalidate all registers, to prevent stale left-overs.  */
+      memset (regcache->register_status, REG_UNAVAILABLE,
+	      regcache->tdesc->num_registers);
       fetch_inferior_registers (regcache, -1);
-      current_inferior = saved_inferior;
+      current_thread = saved_thread;
       regcache->registers_valid = 1;
     }
 
   return regcache;
 }
 
+/* See common/common-regcache.h.  */
+
+struct regcache *
+get_thread_regcache_for_ptid (ptid_t ptid)
+{
+  return get_thread_regcache (find_thread_ptid (ptid), 1);
+}
+
 void
 regcache_invalidate_thread (struct thread_info *thread)
 {
@@ -77,11 +83,11 @@ regcache_invalidate_thread (struct threa
 
   if (regcache->registers_valid)
     {
-      struct thread_info *saved_inferior = current_inferior;
+      struct thread_info *saved_thread = current_thread;
 
-      current_inferior = thread;
+      current_thread = thread;
       store_inferior_registers (regcache, -1);
-      current_inferior = saved_inferior;
+      current_thread = saved_thread;
     }
 
   regcache->registers_valid = 0;
@@ -105,7 +111,7 @@ void
 regcache_invalidate (void)
 {
   /* Only update the threads of the current process.  */
-  int pid = ptid_get_pid (current_inferior->entry.id);
+  int pid = ptid_get_pid (current_thread->entry.id);
 
   find_inferior (&all_threads, regcache_invalidate_one, &pid);
 }
@@ -117,9 +123,9 @@ init_register_cache (struct regcache *re
 		     const struct target_desc *tdesc,
 		     unsigned char *regbuf)
 {
-#ifndef IN_PROCESS_AGENT
   if (regbuf == NULL)
     {
+#ifndef IN_PROCESS_AGENT
       /* Make sure to zero-initialize the register cache when it is
 	 created, in case there are registers the target never
 	 fetches.  This way they'll read as zero instead of
@@ -129,13 +135,11 @@ init_register_cache (struct regcache *re
       regcache->registers_owned = 1;
       regcache->register_status = xcalloc (1, tdesc->num_registers);
       gdb_assert (REG_UNAVAILABLE == 0);
-    }
-  else
 #else
-  if (regbuf == NULL)
-    fatal ("init_register_cache: can't allocate memory from the heap");
-  else
+      gdb_assert_not_reached ("can't allocate memory from the heap");
 #endif
+    }
+  else
     {
       regcache->tdesc = tdesc;
       regcache->registers = regbuf;
@@ -245,8 +249,8 @@ find_register_by_name (const struct targ
   for (i = 0; i < tdesc->num_registers; i++)
     if (strcmp (name, tdesc->reg_defs[i].name) == 0)
       return &tdesc->reg_defs[i];
-  fatal ("Unknown register %s requested", name);
-  return 0;
+  internal_error (__FILE__, __LINE__, "Unknown register %s requested",
+		  name);
 }
 
 int
@@ -257,8 +261,8 @@ find_regno (const struct target_desc *td
   for (i = 0; i < tdesc->num_registers; i++)
     if (strcmp (name, tdesc->reg_defs[i].name) == 0)
       return i;
-  fatal ("Unknown register %s requested", name);
-  return -1;
+  internal_error (__FILE__, __LINE__, "Unknown register %s requested",
+		  name);
 }
 
 struct reg *
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/regcache.h ./gdb/gdbserver/regcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/regcache.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/regcache.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Register support routines for the remote server for GDB.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,6 +19,8 @@
 #ifndef REGCACHE_H
 #define REGCACHE_H
 
+#include "common-regcache.h"
+
 struct thread_info;
 struct target_desc;
 
@@ -91,7 +93,7 @@ void registers_to_string (struct regcach
 
 void registers_from_string (struct regcache *regcache, char *buf);
 
-CORE_ADDR regcache_read_pc (struct regcache *regcache);
+/* For regcache_read_pc see common/common-regcache.h.  */
 
 void regcache_write_pc (struct regcache *regcache, CORE_ADDR pc);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/remote-utils.c ./gdb/gdbserver/remote-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/remote-utils.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/remote-utils.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Remote utility routines for the remote server for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,9 +23,7 @@
 #include "tdesc.h"
 #include "dll.h"
 #include "rsp-low.h"
-
-#include <stdio.h>
-#include <string.h>
+#include <ctype.h>
 #if HAVE_SYS_IOCTL_H
 #include <sys/ioctl.h>
 #endif
@@ -59,9 +57,6 @@
 #include <arpa/inet.h>
 #endif
 #include <sys/stat.h>
-#if HAVE_ERRNO_H
-#include <errno.h>
-#endif
 
 #if USE_WIN32API
 #include <winsock2.h>
@@ -253,7 +248,7 @@ remote_prepare (char *name)
 
   port = strtoul (port_str + 1, &port_end, 10);
   if (port_str[1] == '\0' || *port_end != '\0')
-    fatal ("Bad port argument: %s", name);
+    error ("Bad port argument: %s", name);
 
 #ifdef USE_WIN32API
   if (!winsock_initialized)
@@ -692,7 +687,7 @@ putpkt_binary_1 (char *buf, int cnt, int
 	}
 
       /* Check for an input interrupt while we're here.  */
-      if (cc == '\003' && current_inferior != NULL)
+      if (cc == '\003' && current_thread != NULL)
 	(*the_target->request_interrupt) ();
     }
   while (cc != '+');
@@ -747,10 +742,18 @@ input_interrupt (int unused)
 
       cc = read_prim (&c, 1);
 
-      if (cc != 1 || c != '\003' || current_inferior == NULL)
+      if (cc == 0)
+	{
+	  fprintf (stderr, "client connection closed\n");
+	  return;
+	}
+      else if (cc != 1 || c != '\003' || current_thread == NULL)
 	{
-	  fprintf (stderr, "input_interrupt, count = %d c = %d ('%c')\n",
-		   cc, c, c);
+	  fprintf (stderr, "input_interrupt, count = %d c = %d ", cc, c);
+	  if (isprint (c))
+	    fprintf (stderr, "('%c')\n", c);
+	  else
+	    fprintf (stderr, "('\\x%02x')\n", c & 0xff);
 	  return;
 	}
 
@@ -1112,20 +1115,20 @@ prepare_resume_reply (char *buf, ptid_t 
     {
     case TARGET_WAITKIND_STOPPED:
       {
-	struct thread_info *saved_inferior;
+	struct thread_info *saved_thread;
 	const char **regp;
 	struct regcache *regcache;
 
 	sprintf (buf, "T%02x", status->value.sig);
 	buf += strlen (buf);
 
-	saved_inferior = current_inferior;
+	saved_thread = current_thread;
 
-	current_inferior = find_thread_ptid (ptid);
+	current_thread = find_thread_ptid (ptid);
 
 	regp = current_target_desc ()->expedite_regs;
 
-	regcache = get_thread_regcache (current_inferior, 1);
+	regcache = get_thread_regcache (current_thread, 1);
 
 	if (the_target->stopped_by_watchpoint != NULL
 	    && (*the_target->stopped_by_watchpoint) ())
@@ -1202,7 +1205,7 @@ prepare_resume_reply (char *buf, ptid_t 
 	    dlls_changed = 0;
 	  }
 
-	current_inferior = saved_inferior;
+	current_thread = saved_thread;
       }
       break;
     case TARGET_WAITKIND_EXITED:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/remote-utils.h ./gdb/gdbserver/remote-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/remote-utils.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/remote-utils.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Remote utility routines for the remote server for GDB.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/server.c ./gdb/gdbserver/server.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/server.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/server.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main code for remote server for GDB.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -41,11 +41,7 @@
    requirement, so `Hc pPID.TID' is pretty much undefined.  So
    CONT_THREAD can be null_ptid for no `Hc' thread, minus_one_ptid for
    resuming all threads of the process (again, `Hc' isn't used for
-   multi-process), or a specific thread ptid_t.
-
-   We also set this when handling a single-thread `vCont' resume, as
-   some places in the backends check it to know when (and for which
-   thread) single-thread scheduler-locking is in effect.  */
+   multi-process), or a specific thread ptid_t.  */
 ptid_t cont_thread;
 
 /* The thread set with an `Hg' packet.  */
@@ -69,15 +65,10 @@ int disable_randomization = 1;
 
 static char **program_argv, **wrapper_argv;
 
-/* Enable debugging of h/w breakpoint/watchpoint support.  */
-int debug_hw_points;
-
 int pass_signals[GDB_SIGNAL_LAST];
 int program_signals[GDB_SIGNAL_LAST];
 int program_signals_p;
 
-jmp_buf toplevel;
-
 /* The PID of the originally created or attached inferior.  Used to
    send signals to the process when GDB sends us an asynchronous interrupt
    (user hitting Control-C in the client), and to wait for the child to exit
@@ -230,10 +221,6 @@ start_inferior (char **argv)
   signal (SIGTTIN, SIG_DFL);
 #endif
 
-  /* Clear this so the backend doesn't get confused, thinking
-     CONT_THREAD died, and it needs to resume all threads.  */
-  cont_thread = null_ptid;
-
   signal_pid = create_inferior (new_argv[0], new_argv);
 
   /* FIXME: we don't actually know at this point that the create
@@ -273,8 +260,8 @@ start_inferior (char **argv)
 	  if (last_status.kind != TARGET_WAITKIND_STOPPED)
 	    return signal_pid;
 
-	  current_inferior->last_resume_kind = resume_stop;
-	  current_inferior->last_status = last_status;
+	  current_thread->last_resume_kind = resume_stop;
+	  current_thread->last_status = last_status;
 	}
       while (last_status.value.sig != GDB_SIGNAL_TRAP);
 
@@ -288,8 +275,8 @@ start_inferior (char **argv)
   if (last_status.kind != TARGET_WAITKIND_EXITED
       && last_status.kind != TARGET_WAITKIND_SIGNALLED)
     {
-      current_inferior->last_resume_kind = resume_stop;
-      current_inferior->last_status = last_status;
+      current_thread->last_resume_kind = resume_stop;
+      current_thread->last_status = last_status;
     }
 
   return signal_pid;
@@ -312,10 +299,6 @@ attach_inferior (int pid)
      whichever we were told to attach to.  */
   signal_pid = pid;
 
-  /* Clear this so the backend doesn't get confused, thinking
-     CONT_THREAD died, and it needs to resume all threads.  */
-  cont_thread = null_ptid;
-
   if (!non_stop)
     {
       last_ptid = mywait (pid_to_ptid (pid), &last_status, 0, 0);
@@ -327,8 +310,8 @@ attach_inferior (int pid)
 	  && last_status.value.sig == GDB_SIGNAL_STOP)
 	last_status.value.sig = GDB_SIGNAL_TRAP;
 
-      current_inferior->last_resume_kind = resume_stop;
-      current_inferior->last_status = last_status;
+      current_thread->last_resume_kind = resume_stop;
+      current_thread->last_status = last_status;
     }
 
   return 0;
@@ -696,9 +679,7 @@ monitor_show_help (void)
   monitor_output ("  set debug-format option1[,option2,...]\n");
   monitor_output ("    Add additional information to debugging messages\n");
   monitor_output ("    Options: all, none");
-#ifdef HAVE_GETTIMEOFDAY
   monitor_output (", timestamp");
-#endif
   monitor_output ("\n");
   monitor_output ("  exit\n");
   monitor_output ("    Quit GDBserver\n");
@@ -974,14 +955,12 @@ parse_debug_format_options (const char *
 	  if (is_monitor)
 	    monitor_output ("All extra debug format options disabled.\n");
 	}
-#ifdef HAVE_GETTIMEOFDAY
       else if (strcmp (option, "timestamp") == 0)
 	{
 	  debug_timestamp = 1;
 	  if (is_monitor)
 	    monitor_output ("Timestamps will be added to debug output.\n");
 	}
-#endif
       else if (*option == '\0')
 	{
 	  /* An empty option, e.g., "--debug-format=foo,,bar", is ignored.  */
@@ -1018,12 +997,12 @@ handle_monitor_command (char *mon, char 
     }
   else if (strcmp (mon, "set debug-hw-points 1") == 0)
     {
-      debug_hw_points = 1;
+      show_debug_regs = 1;
       monitor_output ("H/W point debugging output enabled.\n");
     }
   else if (strcmp (mon, "set debug-hw-points 0") == 0)
     {
-      debug_hw_points = 0;
+      show_debug_regs = 0;
       monitor_output ("H/W point debugging output disabled.\n");
     }
   else if (strcmp (mon, "set remote-debug 1") == 0)
@@ -2314,18 +2293,7 @@ handle_v_cont (char *own_buf)
   if (i < n)
     resume_info[i] = default_action;
 
-  /* `cont_thread' is still used in occasional places in the backend,
-     to implement single-thread scheduler-locking.  Doesn't make sense
-     to set it if we see a stop request, or a wildcard action (one
-     with '-1' (all threads), or 'pPID.-1' (all threads of PID)).  */
-  if (n == 1
-      && !(ptid_equal (resume_info[0].thread, minus_one_ptid)
-	   || ptid_get_lwp (resume_info[0].thread) == -1)
-      && resume_info[0].kind != resume_stop)
-    cont_thread = resume_info[0].thread;
-  else
-    cont_thread = minus_one_ptid;
-  set_desired_inferior (0);
+  set_desired_thread (0);
 
   resume (resume_info, n);
   free (resume_info);
@@ -2379,7 +2347,7 @@ resume (struct thread_resume *actions, s
       if (last_status.kind != TARGET_WAITKIND_EXITED
           && last_status.kind != TARGET_WAITKIND_SIGNALLED
 	  && last_status.kind != TARGET_WAITKIND_NO_RESUMED)
-	current_inferior->last_status = last_status;
+	current_thread->last_status = last_status;
 
       /* From the client's perspective, all-stop mode always stops all
 	 threads implicitly (and the target backend has already done
@@ -2618,7 +2586,7 @@ handle_v_requests (char *own_buf, int pa
   return;
 }
 
-/* Resume inferior and wait for another event.  In non-stop mode,
+/* Resume thread and wait for another event.  In non-stop mode,
    don't really wait here, but return immediatelly to the event
    loop.  */
 static void
@@ -2628,7 +2596,7 @@ myresume (char *own_buf, int step, int s
   int n = 0;
   int valid_cont_thread;
 
-  set_desired_inferior (0);
+  set_desired_thread (0);
 
   valid_cont_thread = (!ptid_equal (cont_thread, null_ptid)
 			 && !ptid_equal (cont_thread, minus_one_ptid));
@@ -2849,7 +2817,7 @@ handle_status (char *own_buf)
 	  /* GDB assumes the current thread is the thread we're
 	     reporting the status for.  */
 	  general_thread = thread->id;
-	  set_desired_inferior (1);
+	  set_desired_thread (1);
 
 	  gdb_assert (tp->last_status.kind != TARGET_WAITKIND_IGNORE);
 	  prepare_resume_reply (own_buf, tp->entry.id, &tp->last_status);
@@ -2863,7 +2831,7 @@ static void
 gdbserver_version (void)
 {
   printf ("GNU gdbserver %s%s\n"
-	  "Copyright (C) 2014 Free Software Foundation, Inc.\n"
+	  "Copyright (C) 2015 Free Software Foundation, Inc.\n"
 	  "gdbserver is free software, covered by the "
 	  "GNU General Public License.\n"
 	  "This gdbserver was configured as \"%s\"\n",
@@ -2887,9 +2855,7 @@ gdbserver_usage (FILE *stream)
 	   "                          Options:\n"
 	   "                            all\n"
 	   "                            none\n"
-#ifdef HAVE_GETTIMEOFDAY
 	   "                            timestamp\n"
-#endif
 	   "  --remote-debug        Enable remote protocol debugging output.\n"
 	   "  --version             Display version information and exit.\n"
 	   "  --wrapper WRAPPER --  Run WRAPPER to start new programs.\n"
@@ -3019,8 +2985,34 @@ detach_or_kill_for_exit (void)
   for_each_inferior (&all_processes, detach_or_kill_inferior_callback);
 }
 
-int
-main (int argc, char *argv[])
+/* Value that will be passed to exit(3) when gdbserver exits.  */
+static int exit_code;
+
+/* Cleanup version of detach_or_kill_for_exit.  */
+
+static void
+detach_or_kill_for_exit_cleanup (void *ignore)
+{
+  volatile struct gdb_exception exception;
+
+  TRY_CATCH (exception, RETURN_MASK_ALL)
+    {
+      detach_or_kill_for_exit ();
+    }
+
+  if (exception.reason < 0)
+    {
+      fflush (stdout);
+      fprintf (stderr, "Detach or kill failed: %s\n", exception.message);
+      exit_code = 1;
+    }
+}
+
+/* Main function.  This is called by the real "main" function,
+   wrapped in a TRY_CATCH that handles any uncaught exceptions.  */
+
+static void ATTRIBUTE_NORETURN
+captured_main (int argc, char *argv[])
 {
   int bad_attach;
   int pid;
@@ -3144,12 +3136,6 @@ main (int argc, char *argv[])
       continue;
     }
 
-  if (setjmp (toplevel))
-    {
-      fprintf (stderr, "Exiting\n");
-      exit (1);
-    }
-
   port = *next_arg;
   next_arg++;
   if (port == NULL || (!attach && !multi_mode && *next_arg == NULL))
@@ -3232,6 +3218,7 @@ main (int argc, char *argv[])
       last_status.value.integer = 0;
       last_ptid = minus_one_ptid;
     }
+  make_cleanup (detach_or_kill_for_exit_cleanup, NULL);
 
   initialize_notif ();
 
@@ -3240,19 +3227,6 @@ main (int argc, char *argv[])
      shared library event" notice on gdb side.  */
   dlls_changed = 0;
 
-  if (setjmp (toplevel))
-    {
-      /* If something fails and longjmps while detaching or killing
-	 inferiors, we'd end up here again, stuck in an infinite loop
-	 trap.  Be sure that if that happens, we exit immediately
-	 instead.  */
-      if (setjmp (toplevel) == 0)
-	detach_or_kill_for_exit ();
-      else
-	fprintf (stderr, "Detach or kill failed.  Exiting\n");
-      exit (1);
-    }
-
   if (last_status.kind == TARGET_WAITKIND_EXITED
       || last_status.kind == TARGET_WAITKIND_SIGNALLED)
     was_running = 0;
@@ -3260,96 +3234,111 @@ main (int argc, char *argv[])
     was_running = 1;
 
   if (!was_running && !multi_mode)
-    {
-      fprintf (stderr, "No program to debug.  GDBserver exiting.\n");
-      exit (1);
-    }
+    error ("No program to debug");
 
   while (1)
     {
+      volatile struct gdb_exception exception;
+
       noack_mode = 0;
       multi_process = 0;
       /* Be sure we're out of tfind mode.  */
       current_traceframe = -1;
+      cont_thread = null_ptid;
 
       remote_open (port);
 
-      if (setjmp (toplevel) != 0)
+      TRY_CATCH (exception, RETURN_MASK_ERROR)
 	{
-	  /* An error occurred.  */
-	  if (response_needed)
-	    {
-	      write_enn (own_buf);
-	      putpkt (own_buf);
-	    }
-	}
+	  /* Wait for events.  This will return when all event sources
+	     are removed from the event loop.  */
+	  start_event_loop ();
+
+	  /* If an exit was requested (using the "monitor exit"
+	     command), terminate now.  The only other way to get
+	     here is for getpkt to fail; close the connection
+	     and reopen it at the top of the loop.  */
+
+	  if (exit_requested || run_once)
+	    throw_quit ("Quit");
+
+	  fprintf (stderr,
+		   "Remote side has terminated connection.  "
+		   "GDBserver will reopen the connection.\n");
+
+	  /* Get rid of any pending statuses.  An eventual reconnection
+	     (by the same GDB instance or another) will refresh all its
+	     state from scratch.  */
+	  discard_queued_stop_replies (-1);
+	  for_each_inferior (&all_threads,
+			     clear_pending_status_callback);
 
-      /* Wait for events.  This will return when all event sources are
-	 removed from the event loop.  */
-      start_event_loop ();
-
-      /* If an exit was requested (using the "monitor exit" command),
-	 terminate now.  The only other way to get here is for
-	 getpkt to fail; close the connection and reopen it at the
-	 top of the loop.  */
-
-      if (exit_requested || run_once)
-	{
-	  /* If something fails and longjmps while detaching or
-	     killing inferiors, we'd end up here again, stuck in an
-	     infinite loop trap.  Be sure that if that happens, we
-	     exit immediately instead.  */
-	  if (setjmp (toplevel) == 0)
-	    {
-	      detach_or_kill_for_exit ();
-	      exit (0);
-	    }
-	  else
+	  if (tracing)
 	    {
-	      fprintf (stderr, "Detach or kill failed.  Exiting\n");
-	      exit (1);
-	    }
-	}
-
-      fprintf (stderr,
-	       "Remote side has terminated connection.  "
-	       "GDBserver will reopen the connection.\n");
-
-      /* Get rid of any pending statuses.  An eventual reconnection
-	 (by the same GDB instance or another) will refresh all its
-	 state from scratch.  */
-      discard_queued_stop_replies (-1);
-      for_each_inferior (&all_threads, clear_pending_status_callback);
-
-      if (tracing)
-	{
-	  if (disconnected_tracing)
-	    {
-	      /* Try to enable non-stop/async mode, so we we can both
-		 wait for an async socket accept, and handle async
-		 target events simultaneously.  There's also no point
-		 either in having the target always stop all threads,
-		 when we're going to pass signals down without
-		 informing GDB.  */
-	      if (!non_stop)
+	      if (disconnected_tracing)
 		{
-		  if (start_non_stop (1))
-		    non_stop = 1;
+		  /* Try to enable non-stop/async mode, so we we can
+		     both wait for an async socket accept, and handle
+		     async target events simultaneously.  There's also
+		     no point either in having the target always stop
+		     all threads, when we're going to pass signals
+		     down without informing GDB.  */
+		  if (!non_stop)
+		    {
+		      if (start_non_stop (1))
+			non_stop = 1;
 
-		  /* Detaching implicitly resumes all threads; simply
-		     disconnecting does not.  */
+		      /* Detaching implicitly resumes all threads;
+			 simply disconnecting does not.  */
+		    }
+		}
+	      else
+		{
+		  fprintf (stderr,
+			   "Disconnected tracing disabled; "
+			   "stopping trace run.\n");
+		  stop_tracing ();
 		}
 	    }
-	  else
+	}
+
+      if (exception.reason == RETURN_ERROR)
+	{
+	  if (response_needed)
 	    {
-	      fprintf (stderr,
-		       "Disconnected tracing disabled; stopping trace run.\n");
-	      stop_tracing ();
+	      write_enn (own_buf);
+	      putpkt (own_buf);
 	    }
 	}
     }
 }
 
+/* Main function.  */
+
+int
+main (int argc, char *argv[])
+{
+  volatile struct gdb_exception exception;
+
+  TRY_CATCH (exception, RETURN_MASK_ALL)
+    {
+      captured_main (argc, argv);
+    }
+
+  /* captured_main should never return.  */
+  gdb_assert (exception.reason < 0);
+
+  if (exception.reason == RETURN_ERROR)
+    {
+      fflush (stdout);
+      fprintf (stderr, "%s\n", exception.message);
+      fprintf (stderr, "Exiting\n");
+      exit_code = 1;
+    }
+
+  exit (exit_code);
+}
+
 /* Skip PACKET until the next semi-colon (or end of string).  */
 
 static void
@@ -3531,7 +3520,7 @@ process_serial_event (void)
 	      last_status.value.integer = 0;
 	      last_ptid = pid_to_ptid (pid);
 
-	      current_inferior = NULL;
+	      current_thread = NULL;
 	    }
 	  else
 	    {
@@ -3612,7 +3601,7 @@ process_serial_event (void)
 		}
 
 	      general_thread = thread_id;
-	      set_desired_inferior (1);
+	      set_desired_thread (1);
 	    }
 	  else if (own_buf[1] == 'c')
 	    cont_thread = thread_id;
@@ -3644,8 +3633,8 @@ process_serial_event (void)
 	{
 	  struct regcache *regcache;
 
-	  set_desired_inferior (1);
-	  regcache = get_thread_regcache (current_inferior, 1);
+	  set_desired_thread (1);
+	  regcache = get_thread_regcache (current_thread, 1);
 	  registers_to_string (regcache, own_buf);
 	}
       break;
@@ -3657,8 +3646,8 @@ process_serial_event (void)
 	{
 	  struct regcache *regcache;
 
-	  set_desired_inferior (1);
-	  regcache = get_thread_regcache (current_inferior, 1);
+	  set_desired_thread (1);
+	  regcache = get_thread_regcache (current_thread, 1);
 	  registers_from_string (regcache, &own_buf[1]);
 	  write_ok (own_buf);
 	}
@@ -3886,9 +3875,9 @@ handle_serial_event (int err, gdb_client
   if (process_serial_event () < 0)
     return -1;
 
-  /* Be sure to not change the selected inferior behind GDB's back.
+  /* Be sure to not change the selected thread behind GDB's back.
      Important in the non-stop mode asynchronous protocol.  */
-  set_desired_inferior (1);
+  set_desired_thread (1);
 
   return 0;
 }
@@ -3925,8 +3914,8 @@ handle_target_event (int err, gdb_client
 	  /* We're reporting this thread as stopped.  Update its
 	     "want-stopped" state to what the client wants, until it
 	     gets a new resume action.  */
-	  current_inferior->last_resume_kind = resume_stop;
-	  current_inferior->last_status = last_status;
+	  current_thread->last_resume_kind = resume_stop;
+	  current_thread->last_status = last_status;
 	}
 
       if (forward_event)
@@ -3973,9 +3962,9 @@ handle_target_event (int err, gdb_client
 	}
     }
 
-  /* Be sure to not change the selected inferior behind GDB's back.
+  /* Be sure to not change the selected thread behind GDB's back.
      Important in the non-stop mode asynchronous protocol.  */
-  set_desired_inferior (1);
+  set_desired_thread (1);
 
   return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/server.h ./gdb/gdbserver/server.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/server.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/server.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common definitions for remote server for GDB.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,39 +19,16 @@
 #ifndef SERVER_H
 #define SERVER_H
 
-#include "config.h"
-#include "build-gnulib-gdbserver/config.h"
+#include "common-defs.h"
+
+gdb_static_assert (sizeof (CORE_ADDR) >= sizeof (void *));
 
 #ifdef __MINGW32CE__
 #include "wincecompat.h"
 #endif
 
-#include "libiberty.h"
-#include "ansidecl.h"
 #include "version.h"
 
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
-#include <setjmp.h>
-
-/* For gnulib's PATH_MAX.  */
-#include "pathmax.h"
-
-#include <string.h>
-
-#ifdef HAVE_ALLOCA_H
-#include <alloca.h>
-#endif
-/* On some systems such as MinGW, alloca is declared in malloc.h
-   (there is no alloca.h).  */
-#if HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-
 #if !HAVE_DECL_STRERROR
 #ifndef strerror
 extern char *strerror (int);	/* X3.159-1989  4.11.6.2 */
@@ -77,23 +54,9 @@ int vsnprintf(char *str, size_t size, co
 #  define PROG "gdbserver"
 #endif
 
-/* A type used for binary buffers.  */
-typedef unsigned char gdb_byte;
-
-#include "ptid.h"
 #include "buffer.h"
 #include "xml-utils.h"
-#include "gdb_locale.h"
-
-/* FIXME: This should probably be autoconf'd for.  It's an integer type at
-   least the size of a (void *).  */
-typedef long long CORE_ADDR;
-
-typedef long long LONGEST;
-typedef unsigned long long ULONGEST;
-
 #include "regcache.h"
-#include "gdb/signals.h"
 #include "gdb_signals.h"
 #include "target.h"
 #include "mem-break.h"
@@ -110,13 +73,10 @@ extern ptid_t cont_thread;
 extern ptid_t general_thread;
 
 extern int server_waiting;
-extern int debug_hw_points;
 extern int pass_signals[];
 extern int program_signals[];
 extern int program_signals_p;
 
-extern jmp_buf toplevel;
-
 extern int disable_packet_vCont;
 extern int disable_packet_Tthread;
 extern int disable_packet_qC;
@@ -143,12 +103,9 @@ extern int handle_target_event (int err,
 
 #include "remote-utils.h"
 
-#include "common-utils.h"
 #include "utils.h"
 #include "debug.h"
 
-#include "gdb_assert.h"
-
 /* Maximum number of bytes to read/write at once.  The value here
    is chosen to fill up a packet (the headers account for the 32).  */
 #define MAXBUFBYTES(N) (((N)-32)/2)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/spu-low.c ./gdb/gdbserver/spu-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/spu-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/spu-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Low level interface to SPUs, for the remote server for GDB.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
 
@@ -21,13 +21,9 @@
 #include "server.h"
 
 #include "gdb_wait.h"
-#include <stdio.h>
 #include <sys/ptrace.h>
 #include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
 #include <unistd.h>
-#include <errno.h>
 #include <sys/syscall.h>
 #include "filestuff.h"
 #include "hostio.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/symbol.c ./gdb/gdbserver/symbol.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/symbol.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gdbserver/symbol.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,32 @@
+/* Symbol manipulating routines for the remote server for GDB.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "server.h"
+#include "symbol.h"
+
+/* See common/symbol.h.  */
+
+int
+find_minimal_symbol_address (const char *name, CORE_ADDR *addr,
+			     struct objfile *objfile)
+{
+  gdb_assert (objfile == NULL);
+
+  return look_up_one_symbol (name, addr, 1) != 1;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/target.c ./gdb/gdbserver/target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/target.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/target.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target operations for the remote server for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
 
@@ -24,7 +24,7 @@
 struct target_ops *the_target;
 
 void
-set_desired_inferior (int use_general)
+set_desired_thread (int use_general)
 {
   struct thread_info *found;
 
@@ -34,9 +34,9 @@ set_desired_inferior (int use_general)
     found = find_thread_ptid (cont_thread);
 
   if (found == NULL)
-    current_inferior = get_first_thread ();
+    current_thread = get_first_thread ();
   else
-    current_inferior = found;
+    current_thread = found;
 }
 
 int
@@ -48,6 +48,22 @@ read_inferior_memory (CORE_ADDR memaddr,
   return res;
 }
 
+/* See target/target.h.  */
+
+int
+target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
+{
+  return read_inferior_memory (memaddr, myaddr, len);
+}
+
+/* See target/target.h.  */
+
+int
+target_read_uint32 (CORE_ADDR memaddr, uint32_t *result)
+{
+  return read_inferior_memory (memaddr, (gdb_byte *) result, sizeof (*result));
+}
+
 int
 write_inferior_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
 		       int len)
@@ -71,6 +87,14 @@ write_inferior_memory (CORE_ADDR memaddr
   return res;
 }
 
+/* See target/target.h.  */
+
+int
+target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr, ssize_t len)
+{
+  return write_inferior_memory (memaddr, myaddr, len);
+}
+
 ptid_t
 mywait (ptid_t ptid, struct target_waitstatus *ourstatus, int options,
 	int connected_wait)
@@ -110,6 +134,38 @@ mywait (ptid_t ptid, struct target_waits
   return ret;
 }
 
+/* See target/target.h.  */
+
+void
+target_stop_and_wait (ptid_t ptid)
+{
+  struct target_waitstatus status;
+  int was_non_stop = non_stop;
+  struct thread_resume resume_info;
+
+  resume_info.thread = ptid;
+  resume_info.kind = resume_stop;
+  resume_info.sig = GDB_SIGNAL_0;
+  (*the_target->resume) (&resume_info, 1);
+
+  non_stop = 1;
+  mywait (ptid, &status, 0, 0);
+  non_stop = was_non_stop;
+}
+
+/* See target/target.h.  */
+
+void
+target_continue_no_signal (ptid_t ptid)
+{
+  struct thread_resume resume_info;
+
+  resume_info.thread = ptid;
+  resume_info.kind = resume_continue;
+  resume_info.sig = GDB_SIGNAL_0;
+  (*the_target->resume) (&resume_info, 1);
+}
+
 int
 start_non_stop (int nonstop)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/target.h ./gdb/gdbserver/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/target.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/target.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target operations for the remote server for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
 
@@ -21,6 +21,7 @@
 #ifndef TARGET_H
 #define TARGET_H
 
+#include "target/target.h"
 #include "target/resume.h"
 #include "target/wait.h"
 #include "target/waitstatus.h"
@@ -303,9 +304,6 @@ struct target_ops
      the pause call.  */
   void (*unpause_all) (int unfreeze);
 
-  /* Cancel all pending breakpoints hits in all threads.  */
-  void (*cancel_breakpoints) (void);
-
   /* Stabilize all threads.  That is, force them out of jump pads.  */
   void (*stabilize_threads) (void);
 
@@ -452,13 +450,6 @@ int kill_inferior (int);
 	(*the_target->unpause_all) (unfreeze);	\
     } while (0)
 
-#define cancel_breakpoints()			\
-  do						\
-    {						\
-      if (the_target->cancel_breakpoints)     	\
-	(*the_target->cancel_breakpoints) ();  	\
-    } while (0)
-
 #define stabilize_threads()			\
   do						\
     {						\
@@ -543,7 +534,7 @@ int read_inferior_memory (CORE_ADDR mema
 int write_inferior_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
 			   int len);
 
-void set_desired_inferior (int id);
+void set_desired_thread (int id);
 
 const char *target_pid_to_str (ptid_t);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/tdesc.c ./gdb/gdbserver/tdesc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/tdesc.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/tdesc.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -35,8 +35,7 @@ init_target_desc (struct target_desc *td
 
   /* Make sure PBUFSIZ is large enough to hold a full register
      packet.  */
-  if (2 * tdesc->registers_size + 32 > PBUFSIZ)
-    fatal ("Register packet size exceeds PBUFSIZ.");
+  gdb_assert (2 * tdesc->registers_size + 32 <= PBUFSIZ);
 }
 
 #ifndef IN_PROCESS_AGENT
@@ -57,7 +56,7 @@ copy_target_description (struct target_d
 const struct target_desc *
 current_target_desc (void)
 {
-  if (current_inferior == NULL)
+  if (current_thread == NULL)
     return &default_description;
 
   return current_process ()->tdesc;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/tdesc.h ./gdb/gdbserver/tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/tdesc.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/tdesc.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target description definitions for remote server for GDB.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/terminal.h ./gdb/gdbserver/terminal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/terminal.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/terminal.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Terminal interface definitions for the GDB remote server.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/thread-db.c ./gdb/gdbserver/thread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/thread-db.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/thread-db.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Thread management interface, for the remote server for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
 
@@ -27,7 +27,7 @@ extern int debug_threads;
 static int thread_db_use_events;
 
 #include "gdb_proc_service.h"
-#include "gdb_thread_db.h"
+#include "nat/gdb_thread_db.h"
 #include "gdb_vecs.h"
 
 #ifndef USE_LIBTHREAD_DB_DIRECTLY
@@ -193,8 +193,7 @@ thread_db_create_event (CORE_ADDR where)
   struct lwp_info *lwp;
   struct thread_db *thread_db = current_process ()->private->thread_db;
 
-  if (thread_db->td_ta_event_getmsg_p == NULL)
-    fatal ("unexpected thread_db->td_ta_event_getmsg_p == NULL");
+  gdb_assert (thread_db->td_ta_event_getmsg_p != NULL);
 
   if (debug_threads)
     debug_printf ("Thread creation event.\n");
@@ -211,9 +210,9 @@ thread_db_create_event (CORE_ADDR where)
   /* If we do not know about the main thread yet, this would be a good time to
      find it.  We need to do this to pick up the main thread before any newly
      created threads.  */
-  lwp = get_thread_lwp (current_inferior);
+  lwp = get_thread_lwp (current_thread);
   if (lwp->thread_known == 0)
-    find_one_thread (current_inferior->entry.id);
+    find_one_thread (current_thread->entry.id);
 
   /* msg.event == TD_EVENT_CREATE */
 
@@ -340,7 +339,7 @@ attach_thread (const td_thrhandle_t *th_
     {
       warning ("Could not attach to thread %ld (LWP %d): %s\n",
 	       ti_p->ti_tid, ti_p->ti_lid,
-	       linux_attach_fail_reason_string (ptid, err));
+	       linux_ptrace_attach_fail_reason_string (ptid, err));
       return 0;
     }
 
@@ -397,6 +396,17 @@ find_new_threads_callback (const td_thrh
   if (err != TD_OK)
     error ("Cannot get thread info: %s", thread_db_err_str (err));
 
+  if (ti.ti_lid == -1)
+    {
+      /* A thread with kernel thread ID -1 is either a thread that
+	 exited and was joined, or a thread that is being created but
+	 hasn't started yet, and that is reusing the tcb/stack of a
+	 thread that previously exited and was joined.  (glibc marks
+	 terminated and joined threads with kernel thread ID -1.  See
+	 glibc PR17707.  */
+      return 0;
+    }
+
   /* Check for zombies.  */
   if (ti.ti_state == TD_THR_UNKNOWN || ti.ti_state == TD_THR_ZOMBIE)
     return 0;
@@ -495,7 +505,7 @@ thread_db_get_tls_address (struct thread
   psaddr_t addr;
   td_err_e err;
   struct lwp_info *lwp;
-  struct thread_info *saved_inferior;
+  struct thread_info *saved_thread;
   struct process_info *proc;
   struct thread_db *thread_db;
 
@@ -518,8 +528,8 @@ thread_db_get_tls_address (struct thread
   if (!lwp->thread_known)
     return TD_NOTHR;
 
-  saved_inferior = current_inferior;
-  current_inferior = thread;
+  saved_thread = current_thread;
+  current_thread = thread;
 
   if (load_module != 0)
     {
@@ -542,7 +552,7 @@ thread_db_get_tls_address (struct thread
       addr = (char *) addr + offset;
     }
 
-  current_inferior = saved_inferior;
+  current_thread = saved_thread;
   if (err == TD_OK)
     {
       *address = (CORE_ADDR) (uintptr_t) addr;
@@ -561,8 +571,7 @@ thread_db_load_search (void)
   struct thread_db *tdb;
   struct process_info *proc = current_process ();
 
-  if (proc->private->thread_db != NULL)
-    fatal ("unexpected: proc->private->thread_db != NULL");
+  gdb_assert (proc->private->thread_db == NULL);
 
   tdb = xcalloc (1, sizeof (*tdb));
   proc->private->thread_db = tdb;
@@ -607,8 +616,7 @@ try_thread_db_load_1 (void *handle)
   struct thread_db *tdb;
   struct process_info *proc = current_process ();
 
-  if (proc->private->thread_db != NULL)
-    fatal ("unexpected: proc->private->thread_db != NULL");
+  gdb_assert (proc->private->thread_db == NULL);
 
   tdb = xcalloc (1, sizeof (*tdb));
   proc->private->thread_db = tdb;
@@ -872,7 +880,7 @@ switch_to_process (struct process_info *
 {
   int pid = pid_of (proc);
 
-  current_inferior =
+  current_thread =
     (struct thread_info *) find_inferior (&all_threads,
 					  any_thread_of, &pid);
 }
@@ -896,7 +904,7 @@ disable_thread_event_reporting (struct p
 
       if (td_ta_clear_event_p != NULL)
 	{
-	  struct thread_info *saved_inferior = current_inferior;
+	  struct thread_info *saved_thread = current_thread;
 	  td_thr_events_t events;
 
 	  switch_to_process (proc);
@@ -906,7 +914,7 @@ disable_thread_event_reporting (struct p
 	  td_event_fillset (&events);
 	  (*td_ta_clear_event_p) (thread_db->thread_agent, &events);
 
-	  current_inferior = saved_inferior;
+	  current_thread = saved_thread;
 	}
     }
 }
@@ -918,14 +926,14 @@ remove_thread_event_breakpoints (struct 
 
   if (thread_db->td_create_bp != NULL)
     {
-      struct thread_info *saved_inferior = current_inferior;
+      struct thread_info *saved_thread = current_thread;
 
       switch_to_process (proc);
 
       delete_breakpoint (thread_db->td_create_bp);
       thread_db->td_create_bp = NULL;
 
-      current_inferior = saved_inferior;
+      current_thread = saved_thread;
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/tracepoint.c ./gdb/gdbserver/tracepoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/tracepoint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/tracepoint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Tracepoint code for remote server for GDB.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,7 +26,6 @@
 #include <fcntl.h>
 #include <unistd.h>
 #include <sys/time.h>
-#include <stddef.h>
 #include <inttypes.h>
 #include <stdint.h>
 
@@ -2444,7 +2443,6 @@ clear_installed_tracepoints (void)
   struct tracepoint *prev_stpoint;
 
   pause_all (1);
-  cancel_breakpoints ();
 
   prev_stpoint = NULL;
 
@@ -2943,7 +2941,10 @@ get_jump_space_head (void)
     {
       if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_jump_pad_buffer,
 				      &gdb_jump_pad_head))
-	fatal ("error extracting jump_pad_buffer");
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "error extracting jump_pad_buffer");
+	}
     }
 
   return gdb_jump_pad_head;
@@ -2974,15 +2975,15 @@ claim_trampoline_space (ULONGEST used, C
       if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_trampoline_buffer,
 				      &trampoline_buffer_tail))
 	{
-	  fatal ("error extracting trampoline_buffer");
-	  return 0;
+	  internal_error (__FILE__, __LINE__,
+			  "error extracting trampoline_buffer");
 	}
 
       if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_trampoline_buffer_end,
 				      &trampoline_buffer_head))
 	{
-	  fatal ("error extracting trampoline_buffer_end");
-	  return 0;
+	  internal_error (__FILE__, __LINE__,
+			  "error extracting trampoline_buffer_end");
 	}
     }
 
@@ -3017,8 +3018,8 @@ have_fast_tracepoint_trampoline_buffer (
   if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_trampoline_buffer_end,
 				  &trampoline_end))
     {
-      fatal ("error extracting trampoline_buffer_end");
-      return 0;
+      internal_error (__FILE__, __LINE__,
+		      "error extracting trampoline_buffer_end");
     }
   
   if (buf)
@@ -3028,8 +3029,8 @@ have_fast_tracepoint_trampoline_buffer (
       if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_trampoline_buffer_error,
 				  &errbuf))
 	{
-	  fatal ("error extracting errbuf");
-	  return 0;
+	  internal_error (__FILE__, __LINE__,
+			  "error extracting errbuf");
 	}
 
       read_inferior_memory (errbuf, (unsigned char *) buf, 100);
@@ -3371,14 +3372,25 @@ cmd_qtstart (char *packet)
   if (agent_loaded_p ())
     {
       if (write_inferior_integer (ipa_sym_addrs.addr_tracing, 1))
-	fatal ("Error setting tracing variable in lib");
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "Error setting tracing variable in lib");
+	}
 
       if (write_inferior_data_pointer (ipa_sym_addrs.addr_stopping_tracepoint,
 				       0))
-	fatal ("Error clearing stopping_tracepoint variable in lib");
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "Error clearing stopping_tracepoint variable"
+			  " in lib");
+	}
 
       if (write_inferior_integer (ipa_sym_addrs.addr_trace_buffer_is_full, 0))
-	fatal ("Error clearing trace_buffer_is_full variable in lib");
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "Error clearing trace_buffer_is_full variable"
+			  " in lib");
+	}
 
       stop_tracing_bkpt = set_breakpoint_at (ipa_sym_addrs.addr_stop_tracing,
 					     stop_tracing_handler);
@@ -3420,9 +3432,6 @@ stop_tracing (void)
      We can't now, since we may be getting here due to the inferior
      agent calling us.  */
   pause_all (1);
-  /* Since we're removing breakpoints, cancel breakpoint hits,
-     possibly related to the breakpoints we're about to delete.  */
-  cancel_breakpoints ();
 
   /* Stop logging. Tracepoints can still be hit, but they will not be
      recorded.  */
@@ -3430,7 +3439,10 @@ stop_tracing (void)
   if (agent_loaded_p ())
     {
       if (write_inferior_integer (ipa_sym_addrs.addr_tracing, 0))
-	fatal ("Error clearing tracing variable in lib");
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "Error clearing tracing variable in lib");
+	}
     }
 
   tracing_stop_time = get_timestamp ();
@@ -3963,19 +3975,19 @@ gdb_agent_about_to_close (int pid)
 
   if (!maybe_write_ipa_not_loaded (buf))
     {
-      struct thread_info *save_inferior;
+      struct thread_info *saved_thread;
 
-      save_inferior = current_inferior;
+      saved_thread = current_thread;
 
       /* Find any thread which belongs to process PID.  */
-      current_inferior = (struct thread_info *)
+      current_thread = (struct thread_info *)
 	find_inferior (&all_threads, same_process_p, &pid);
 
       strcpy (buf, "close");
 
       run_inferior_command (buf, strlen (buf) + 1);
 
-      current_inferior = save_inferior;
+      current_thread = saved_thread;
     }
 }
 
@@ -3985,7 +3997,7 @@ gdb_agent_about_to_close (int pid)
 static void
 cmd_qtminftpilen (char *packet)
 {
-  if (current_inferior == NULL)
+  if (current_thread == NULL)
     {
       /* Indicate that the minimum length is currently unknown.  */
       strcpy (packet, "0");
@@ -5608,17 +5620,29 @@ fast_tracepoint_collecting (CORE_ADDR th
 
   if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_jump_pad_buffer,
 				  &ipa_gdb_jump_pad_buffer))
-    fatal ("error extracting `gdb_jump_pad_buffer'");
+    {
+      internal_error (__FILE__, __LINE__,
+		      "error extracting `gdb_jump_pad_buffer'");
+    }
   if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_jump_pad_buffer_end,
 				  &ipa_gdb_jump_pad_buffer_end))
-    fatal ("error extracting `gdb_jump_pad_buffer_end'");
+    {
+      internal_error (__FILE__, __LINE__,
+		      "error extracting `gdb_jump_pad_buffer_end'");
+    }
 
   if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_trampoline_buffer,
 				  &ipa_gdb_trampoline_buffer))
-    fatal ("error extracting `gdb_trampoline_buffer'");
+    {
+      internal_error (__FILE__, __LINE__,
+		      "error extracting `gdb_trampoline_buffer'");
+    }
   if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_trampoline_buffer_end,
 				  &ipa_gdb_trampoline_buffer_end))
-    fatal ("error extracting `gdb_trampoline_buffer_end'");
+    {
+      internal_error (__FILE__, __LINE__,
+		      "error extracting `gdb_trampoline_buffer_end'");
+    }
 
   if (ipa_gdb_jump_pad_buffer <= stop_pc
       && stop_pc < ipa_gdb_jump_pad_buffer_end)
@@ -5938,7 +5962,10 @@ target_malloc (ULONGEST size)
       /* We have the pointer *address*, need what it points to.  */
       if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_tp_heap_buffer,
 				      &target_tp_heap))
-	fatal ("could get target heap head pointer");
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "couldn't get target heap head pointer");
+	}
     }
 
   ptr = target_tp_heap;
@@ -6162,7 +6189,10 @@ download_tracepoint (struct tracepoint *
       if (read_inferior_data_pointer (tp_prev->obj_addr_on_target
 				      + offsetof (struct tracepoint, next),
 				      &tp_prev_target_next_addr))
-	fatal ("error reading `tp_prev->next'");
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "error reading `tp_prev->next'");
+	}
 
       /* tpoint->next = tp_prev->next */
       write_inferior_data_ptr (tpoint->obj_addr_on_target
@@ -6239,10 +6269,7 @@ download_trace_state_variables (void)
 				   name_addr);
 	}
 
-      if (tsv->getter != NULL)
-	{
-	  fatal ("what to do with these?");
-	}
+      gdb_assert (tsv->getter == NULL);
     }
 
   if (prev_ptr != 0)
@@ -6415,9 +6442,13 @@ upload_fast_traceframes (void)
 	error ("Uploading: couldn't read traceframe at %s\n", paddress (tf));
 
       if (ipa_tframe.tpnum == 0)
-	fatal ("Uploading: No (more) fast traceframes, but "
-	       "ipa_traceframe_count == %u??\n",
-	       ipa_traceframe_write_count - ipa_traceframe_read_count);
+	{
+	  internal_error (__FILE__, __LINE__,
+			  "Uploading: No (more) fast traceframes, but"
+			  " ipa_traceframe_count == %u??\n",
+			  ipa_traceframe_write_count
+			  - ipa_traceframe_read_count);
+	}
 
       /* Note that this will be incorrect for multi-location
 	 tracepoints...  */
@@ -6503,7 +6534,6 @@ upload_fast_traceframes (void)
   trace_debug ("Done uploading traceframes [%d]\n", curr_tbctrl_idx);
 
   pause_all (1);
-  cancel_breakpoints ();
 
   delete_breakpoint (about_to_request_buffer_space_bkpt);
   about_to_request_buffer_space_bkpt = NULL;
@@ -7110,7 +7140,6 @@ gdb_ust_init (void)
 #endif /* HAVE_UST */
 
 #include <sys/syscall.h>
-#include <stdlib.h>
 
 static void
 gdb_agent_remove_socket (void)
@@ -7225,9 +7254,9 @@ gdb_agent_helper_thread (void *arg)
 
 	      /* Sleep endlessly to wait the whole inferior stops.  This
 		 thread can not exit because GDB or GDBserver may still need
-		 'current_inferior' (representing this thread) to access
+		 'current_thread' (representing this thread) to access
 		 inferior memory.  Otherwise, this thread exits earlier than
-		 other threads, and 'current_inferior' is set to NULL.  */
+		 other threads, and 'current_thread' is set to NULL.  */
 	      while (1)
 		sleep (10);
 	    }
@@ -7256,7 +7285,7 @@ gdb_agent_init (void)
   sigfillset (&new_mask);
   res = pthread_sigmask (SIG_SETMASK, &new_mask, &orig_mask);
   if (res)
-    fatal ("pthread_sigmask (1) failed: %s", strerror (res));
+    perror_with_name ("pthread_sigmask (1)");
 
   res = pthread_create (&thread,
 			NULL,
@@ -7265,7 +7294,7 @@ gdb_agent_init (void)
 
   res = pthread_sigmask (SIG_SETMASK, &orig_mask, NULL);
   if (res)
-    fatal ("pthread_sigmask (2) failed: %s", strerror (res));
+    perror_with_name ("pthread_sigmask (2)");
 
   while (helper_thread_id == 0)
     usleep (1);
@@ -7346,7 +7375,7 @@ initialize_tracepoint (void)
 
     pagesize = sysconf (_SC_PAGE_SIZE);
     if (pagesize == -1)
-      fatal ("sysconf");
+      perror_with_name ("sysconf");
 
     gdb_tp_heap_buffer = xmalloc (5 * 1024 * 1024);
 
@@ -7365,9 +7394,7 @@ initialize_tracepoint (void)
       }
 
     if (addr == 0)
-      fatal ("\
-initialize_tracepoint: mmap'ing jump pad buffer failed with %s",
-	     strerror (errno));
+      perror_with_name ("mmap");
 
     gdb_jump_pad_buffer_end = gdb_jump_pad_buffer + pagesize * SCRATCH_BUFFER_NPAGES;
   }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/tracepoint.h ./gdb/gdbserver/tracepoint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/tracepoint.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/tracepoint.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Tracepoint code for remote server for GDB.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/utils.c ./gdb/gdbserver/utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/utils.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/utils.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* General utility routines for the remote server for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,12 +17,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "server.h"
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#if HAVE_ERRNO_H
-#include <errno.h>
-#endif
 
 #ifdef IN_PROCESS_AGENT
 #  define PREFIX "ipa: "
@@ -55,27 +49,6 @@ xstrdup (const char *s)
   return ret;
 }
 
-#ifndef IN_PROCESS_AGENT
-
-/* Free a standard argv vector.  */
-
-void
-freeargv (char **vector)
-{
-  char **scan;
-
-  if (vector != NULL)
-    {
-      for (scan = vector; *scan != NULL; scan++)
-	{
-	  free (*scan);
-	}
-      free (vector);
-    }
-}
-
-#endif
-
 /* Print the system error message for errno, and also mention STRING
    as the file name for which the error was encountered.
    Then return to command level.  */
@@ -98,71 +71,50 @@ perror_with_name (const char *string)
   error ("%s.", combined);
 }
 
-/* Print an error message and return to command level.
-   STRING is the error message, used as a fprintf string,
-   and ARG is passed as an argument to it.  */
+/* Print an error message and return to top level.  */
 
 void
-error (const char *string,...)
+verror (const char *string, va_list args)
 {
-#ifndef IN_PROCESS_AGENT
-  extern jmp_buf toplevel;
-#endif
-  va_list args;
-  va_start (args, string);
+#ifdef IN_PROCESS_AGENT
   fflush (stdout);
   vfprintf (stderr, string, args);
   fprintf (stderr, "\n");
-#ifndef IN_PROCESS_AGENT
-  longjmp (toplevel, 1);
-#else
   exit (1);
+#else
+  throw_verror (GENERIC_ERROR, string, args);
 #endif
 }
 
-/* Print an error message and exit reporting failure.
-   This is for a error that we cannot continue from.
-   STRING and ARG are passed to fprintf.  */
-
-/* VARARGS */
 void
-fatal (const char *string,...)
+vwarning (const char *string, va_list args)
 {
-  va_list args;
-  va_start (args, string);
   fprintf (stderr, PREFIX);
   vfprintf (stderr, string, args);
   fprintf (stderr, "\n");
-  va_end (args);
-  exit (1);
 }
 
-/* VARARGS */
+/* Report a problem internal to GDBserver, and exit.  */
+
 void
-warning (const char *string,...)
+internal_verror (const char *file, int line, const char *fmt, va_list args)
 {
-  va_list args;
-  va_start (args, string);
-  fprintf (stderr, PREFIX);
-  vfprintf (stderr, string, args);
+  fprintf (stderr,  "\
+%s:%d: A problem internal to " TOOLNAME " has been detected.\n", file, line);
+  vfprintf (stderr, fmt, args);
   fprintf (stderr, "\n");
-  va_end (args);
+  exit (1);
 }
 
-/* Report a problem internal to GDBserver, and exit.  */
+/* Report a problem internal to GDBserver.  */
 
 void
-internal_error (const char *file, int line, const char *fmt, ...)
+internal_vwarning (const char *file, int line, const char *fmt, va_list args)
 {
-  va_list args;
-  va_start (args, fmt);
-
   fprintf (stderr,  "\
 %s:%d: A problem internal to " TOOLNAME " has been detected.\n", file, line);
   vfprintf (stderr, fmt, args);
   fprintf (stderr, "\n");
-  va_end (args);
-  exit (1);
 }
 
 /* Convert a CORE_ADDR into a HEX string, like %lx.
@@ -185,3 +137,11 @@ pfildes (gdb_fildes_t fd)
   return plongest (fd);
 #endif
 }
+
+/* See common/common-exceptions.h.  */
+
+void
+prepare_to_throw_exception (void)
+{
+  /* No client-specific actions required.  */
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/utils.h ./gdb/gdbserver/utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/utils.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/utils.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* General utility routines for the remote server for GDB.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,12 +19,6 @@
 #ifndef UTILS_H
 #define UTILS_H
 
-#include "print-utils.h"
-
-void perror_with_name (const char *string) ATTRIBUTE_NORETURN;
-void error (const char *string,...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
-void fatal (const char *string,...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
-void warning (const char *string,...) ATTRIBUTE_PRINTF (1, 2);
 char *paddress (CORE_ADDR addr);
 char *pfildes (gdb_fildes_t fd);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/win32-arm-low.c ./gdb/gdbserver/win32-arm-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/win32-arm-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/win32-arm-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,7 +27,7 @@ void init_registers_arm (void);
 extern const struct target_desc *tdesc_arm;
 
 static void
-arm_get_thread_context (win32_thread_info *th, DEBUG_EVENT* current_event)
+arm_get_thread_context (win32_thread_info *th)
 {
   th->context.ContextFlags = \
     CONTEXT_FULL | \
@@ -36,12 +36,6 @@ arm_get_thread_context (win32_thread_inf
   GetThreadContext (th->h, &th->context);
 }
 
-static void
-arm_set_thread_context (win32_thread_info *th, DEBUG_EVENT* current_event)
-{
-  SetThreadContext (th->h, &th->context);
-}
-
 #define context_offset(x) ((int)&(((CONTEXT *)NULL)->x))
 static const int mappings[] = {
   context_offset (R0),
@@ -124,7 +118,7 @@ struct win32_target_ops the_low_target =
   sizeof (mappings) / sizeof (mappings[0]),
   NULL, /* initial_stuff */
   arm_get_thread_context,
-  arm_set_thread_context,
+  NULL, /* prepare_to_resume */
   NULL, /* thread_added */
   arm_fetch_inferior_register,
   arm_store_inferior_register,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/win32-i386-low.c ./gdb/gdbserver/win32-i386-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/win32-i386-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/win32-i386-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,7 +17,7 @@
 
 #include "server.h"
 #include "win32-low.h"
-#include "i386-low.h"
+#include "x86-low.h"
 
 #ifndef CONTEXT_EXTENDED_REGISTERS
 #define CONTEXT_EXTENDED_REGISTERS 0
@@ -38,63 +38,114 @@ void init_registers_i386 (void);
 extern const struct target_desc *tdesc_i386;
 #endif
 
-static struct i386_debug_reg_state debug_reg_state;
+static struct x86_debug_reg_state debug_reg_state;
 
-static int debug_registers_changed = 0;
-static int debug_registers_used = 0;
+static int
+update_debug_registers_callback (struct inferior_list_entry *entry,
+				 void *pid_p)
+{
+  struct thread_info *thr = (struct thread_info *) entry;
+  win32_thread_info *th = inferior_target_data (thr);
+  int pid = *(int *) pid_p;
+
+  /* Only update the threads of this process.  */
+  if (pid_of (thr) == pid)
+    {
+      /* The actual update is done later just before resuming the lwp,
+	 we just mark that the registers need updating.  */
+      th->debug_registers_changed = 1;
+    }
+
+  return 0;
+}
 
 /* Update the inferior's debug register REGNUM from STATE.  */
 
-void
-i386_dr_low_set_addr (const struct i386_debug_reg_state *state, int regnum)
+static void
+x86_dr_low_set_addr (int regnum, CORE_ADDR addr)
 {
-  if (! (regnum >= 0 && regnum <= DR_LASTADDR - DR_FIRSTADDR))
-    fatal ("Invalid debug register %d", regnum);
+  /* Only update the threads of this process.  */
+  int pid = pid_of (current_thread);
+
+  gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
 
-  /* debug_reg_state.dr_mirror is already set.
-     Just notify i386_set_thread_context, i386_thread_added
-     that the registers need to be updated.  */
-  debug_registers_changed = 1;
-  debug_registers_used = 1;
+  find_inferior (&all_threads, update_debug_registers_callback, &pid);
 }
 
-CORE_ADDR
-i386_dr_low_get_addr (int regnum)
+/* Update the inferior's DR7 debug control register from STATE.  */
+
+static void
+x86_dr_low_set_control (unsigned long control)
 {
-  gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
+  /* Only update the threads of this process.  */
+  int pid = pid_of (current_thread);
 
-  return debug_reg_state.dr_mirror[regnum];
+  find_inferior (&all_threads, update_debug_registers_callback, &pid);
 }
 
-/* Update the inferior's DR7 debug control register from STATE.  */
+/* Return the current value of a DR register of the current thread's
+   context.  */
 
-void
-i386_dr_low_set_control (const struct i386_debug_reg_state *state)
+static DWORD64
+win32_get_current_dr (int dr)
 {
-  /* debug_reg_state.dr_control_mirror is already set.
-     Just notify i386_set_thread_context, i386_thread_added
-     that the registers need to be updated.  */
-  debug_registers_changed = 1;
-  debug_registers_used = 1;
+  win32_thread_info *th = inferior_target_data (current_thread);
+
+  win32_require_context (th);
+
+#define RET_DR(DR)				\
+  case DR:					\
+    return th->context.Dr ## DR
+
+  switch (dr)
+    {
+      RET_DR (0);
+      RET_DR (1);
+      RET_DR (2);
+      RET_DR (3);
+      RET_DR (6);
+      RET_DR (7);
+    }
+
+#undef RET_DR
+
+  gdb_assert_not_reached ("unhandled dr");
 }
 
-unsigned
-i386_dr_low_get_control (void)
+static CORE_ADDR
+x86_dr_low_get_addr (int regnum)
 {
-  return debug_reg_state.dr_control_mirror;
+  gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
+
+  return win32_get_current_dr (regnum - DR_FIRSTADDR);
+}
+
+static unsigned long
+x86_dr_low_get_control (void)
+{
+  return win32_get_current_dr (7);
 }
 
 /* Get the value of the DR6 debug status register from the inferior
    and record it in STATE.  */
 
-unsigned
-i386_dr_low_get_status (void)
+static unsigned long
+x86_dr_low_get_status (void)
 {
-  /* We don't need to do anything here, the last call to thread_rec for
-     current_event.dwThreadId id has already set it.  */
-  return debug_reg_state.dr_status_mirror;
+  return win32_get_current_dr (6);
 }
 
+/* Low-level function vector.  */
+struct x86_dr_low_type x86_dr_low =
+  {
+    x86_dr_low_set_control,
+    x86_dr_low_set_addr,
+    x86_dr_low_get_addr,
+    x86_dr_low_get_status,
+    x86_dr_low_get_control,
+    sizeof (void *),
+  };
+
 /* Breakpoint/watchpoint support.  */
 
 static int
@@ -122,8 +173,8 @@ i386_insert_point (enum raw_bkpt_type ty
 	enum target_hw_bp_type hw_type
 	  = raw_bkpt_type_to_target_hw_bp_type (type);
 
-	return i386_low_insert_watchpoint (&debug_reg_state,
-					   hw_type, addr, size);
+	return x86_dr_insert_watchpoint (&debug_reg_state,
+					 hw_type, addr, size);
       }
     default:
       /* Unsupported.  */
@@ -143,8 +194,8 @@ i386_remove_point (enum raw_bkpt_type ty
 	enum target_hw_bp_type hw_type
 	  = raw_bkpt_type_to_target_hw_bp_type (type);
 
-	return i386_low_remove_watchpoint (&debug_reg_state,
-					   hw_type, addr, size);
+	return x86_dr_remove_watchpoint (&debug_reg_state,
+					 hw_type, addr, size);
       }
     default:
       /* Unsupported.  */
@@ -153,16 +204,16 @@ i386_remove_point (enum raw_bkpt_type ty
 }
 
 static int
-i386_stopped_by_watchpoint (void)
+x86_stopped_by_watchpoint (void)
 {
-  return i386_low_stopped_by_watchpoint (&debug_reg_state);
+  return x86_dr_stopped_by_watchpoint (&debug_reg_state);
 }
 
 static CORE_ADDR
-i386_stopped_data_address (void)
+x86_stopped_data_address (void)
 {
   CORE_ADDR addr;
-  if (i386_low_stopped_data_address (&debug_reg_state, &addr))
+  if (x86_dr_stopped_data_address (&debug_reg_state, &addr))
     return addr;
   return 0;
 }
@@ -170,13 +221,11 @@ i386_stopped_data_address (void)
 static void
 i386_initial_stuff (void)
 {
-  i386_low_init_dregs (&debug_reg_state);
-  debug_registers_changed = 0;
-  debug_registers_used = 0;
+  x86_low_init_dregs (&debug_reg_state);
 }
 
 static void
-i386_get_thread_context (win32_thread_info *th, DEBUG_EVENT* current_event)
+i386_get_thread_context (win32_thread_info *th)
 {
   /* Requesting the CONTEXT_EXTENDED_REGISTERS register set fails if
      the system doesn't support extended registers.  */
@@ -200,27 +249,17 @@ i386_get_thread_context (win32_thread_in
 
       error ("GetThreadContext failure %ld\n", (long) e);
     }
-
-  debug_registers_changed = 0;
-
-  if (th->tid == current_event->dwThreadId)
-    {
-      /* Copy dr values from the current thread.  */
-      struct i386_debug_reg_state *dr = &debug_reg_state;
-      dr->dr_mirror[0] = th->context.Dr0;
-      dr->dr_mirror[1] = th->context.Dr1;
-      dr->dr_mirror[2] = th->context.Dr2;
-      dr->dr_mirror[3] = th->context.Dr3;
-      dr->dr_status_mirror = th->context.Dr6;
-    }
 }
 
 static void
-i386_set_thread_context (win32_thread_info *th, DEBUG_EVENT* current_event)
+i386_prepare_to_resume (win32_thread_info *th)
 {
-  if (debug_registers_changed)
+  if (th->debug_registers_changed)
     {
-      struct i386_debug_reg_state *dr = &debug_reg_state;
+      struct x86_debug_reg_state *dr = &debug_reg_state;
+
+      win32_require_context (th);
+
       th->context.Dr0 = dr->dr_mirror[0];
       th->context.Dr1 = dr->dr_mirror[1];
       th->context.Dr2 = dr->dr_mirror[2];
@@ -228,32 +267,15 @@ i386_set_thread_context (win32_thread_in
       /* th->context.Dr6 = dr->dr_status_mirror;
 	 FIXME: should we set dr6 also ?? */
       th->context.Dr7 = dr->dr_control_mirror;
-    }
 
-  SetThreadContext (th->h, &th->context);
+      th->debug_registers_changed = 0;
+    }
 }
 
 static void
 i386_thread_added (win32_thread_info *th)
 {
-  /* Set the debug registers for the new thread if they are used.  */
-  if (debug_registers_used)
-    {
-      struct i386_debug_reg_state *dr = &debug_reg_state;
-      th->context.ContextFlags = CONTEXT_DEBUG_REGISTERS;
-      GetThreadContext (th->h, &th->context);
-
-      th->context.Dr0 = dr->dr_mirror[0];
-      th->context.Dr1 = dr->dr_mirror[1];
-      th->context.Dr2 = dr->dr_mirror[2];
-      th->context.Dr3 = dr->dr_mirror[3];
-      /* th->context.Dr6 = dr->dr_status_mirror;
-	 FIXME: should we set dr6 also ?? */
-      th->context.Dr7 = dr->dr_control_mirror;
-
-      SetThreadContext (th->h, &th->context);
-      th->context.ContextFlags = 0;
-    }
+  th->debug_registers_changed = 1;
 }
 
 static void
@@ -439,7 +461,7 @@ struct win32_target_ops the_low_target =
   sizeof (mappings) / sizeof (mappings[0]),
   i386_initial_stuff,
   i386_get_thread_context,
-  i386_set_thread_context,
+  i386_prepare_to_resume,
   i386_thread_added,
   i386_fetch_inferior_register,
   i386_store_inferior_register,
@@ -449,6 +471,6 @@ struct win32_target_ops the_low_target =
   i386_supports_z_point_type,
   i386_insert_point,
   i386_remove_point,
-  i386_stopped_by_watchpoint,
-  i386_stopped_data_address
+  x86_stopped_by_watchpoint,
+  x86_stopped_data_address
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/win32-low.c ./gdb/gdbserver/win32-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/win32-low.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/win32-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Low level interface to Windows debugging, for gdbserver.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by Leo Zayas.  Based on "win32-nat.c" from GDB.
 
@@ -20,7 +20,6 @@
 
 #include "server.h"
 #include "regcache.h"
-#include "gdb/signals.h"
 #include "gdb/fileio.h"
 #include "mem-break.h"
 #include "win32-low.h"
@@ -112,7 +111,7 @@ static void win32_add_all_dlls (void);
 /* Get the thread ID from the current selected inferior (the current
    thread).  */
 static ptid_t
-current_inferior_ptid (void)
+current_thread_ptid (void)
 {
   return current_ptid;
 }
@@ -130,7 +129,7 @@ static void
 win32_get_thread_context (win32_thread_info *th)
 {
   memset (&th->context, 0, sizeof (CONTEXT));
-  (*the_low_target.get_thread_context) (th, &current_event);
+  (*the_low_target.get_thread_context) (th);
 #ifdef _WIN32_WCE
   memcpy (&th->base_context, &th->context, sizeof (CONTEXT));
 #endif
@@ -154,23 +153,24 @@ win32_set_thread_context (win32_thread_i
      it between stopping and resuming.  */
   if (memcmp (&th->context, &th->base_context, sizeof (CONTEXT)) != 0)
 #endif
-    (*the_low_target.set_thread_context) (th, &current_event);
+    SetThreadContext (th->h, &th->context);
 }
 
-/* Find a thread record given a thread id.  If GET_CONTEXT is set then
-   also retrieve the context for this thread.  */
-static win32_thread_info *
-thread_rec (ptid_t ptid, int get_context)
+/* Set the thread context of the thread associated with TH.  */
+
+static void
+win32_prepare_to_resume (win32_thread_info *th)
 {
-  struct thread_info *thread;
-  win32_thread_info *th;
+  if (the_low_target.prepare_to_resume != NULL)
+    (*the_low_target.prepare_to_resume) (th);
+}
 
-  thread = (struct thread_info *) find_inferior_id (&all_threads, ptid);
-  if (thread == NULL)
-    return NULL;
+/* See win32-low.h.  */
 
-  th = inferior_target_data (thread);
-  if (get_context && th->context.ContextFlags == 0)
+void
+win32_require_context (win32_thread_info *th)
+{
+  if (th->context.ContextFlags == 0)
     {
       if (!th->suspended)
 	{
@@ -186,7 +186,23 @@ thread_rec (ptid_t ptid, int get_context
 
       win32_get_thread_context (th);
     }
+}
 
+/* Find a thread record given a thread id.  If GET_CONTEXT is set then
+   also retrieve the context for this thread.  */
+static win32_thread_info *
+thread_rec (ptid_t ptid, int get_context)
+{
+  struct thread_info *thread;
+  win32_thread_info *th;
+
+  thread = (struct thread_info *) find_inferior_id (&all_threads, ptid);
+  if (thread == NULL)
+    return NULL;
+
+  th = inferior_target_data (thread);
+  if (get_context)
+    win32_require_context (th);
   return th;
 }
 
@@ -420,22 +436,26 @@ continue_one_thread (struct inferior_lis
   int thread_id = * (int *) id_ptr;
   win32_thread_info *th = inferior_target_data (thread);
 
-  if ((thread_id == -1 || thread_id == th->tid)
-      && th->suspended)
+  if (thread_id == -1 || thread_id == th->tid)
     {
-      if (th->context.ContextFlags)
-	{
-	  win32_set_thread_context (th);
-	  th->context.ContextFlags = 0;
-	}
+      win32_prepare_to_resume (th);
 
-      if (ResumeThread (th->h) == (DWORD) -1)
+      if (th->suspended)
 	{
-	  DWORD err = GetLastError ();
-	  OUTMSG (("warning: ResumeThread failed in continue_one_thread, "
-		   "(error %d): %s\n", (int) err, strwinerror (err)));
+	  if (th->context.ContextFlags)
+	    {
+	      win32_set_thread_context (th);
+	      th->context.ContextFlags = 0;
+	    }
+
+	  if (ResumeThread (th->h) == (DWORD) -1)
+	    {
+	      DWORD err = GetLastError ();
+	      OUTMSG (("warning: ResumeThread failed in continue_one_thread, "
+		       "(error %d): %s\n", (int) err, strwinerror (err)));
+	    }
+	  th->suspended = 0;
 	}
-      th->suspended = 0;
     }
 
   return 0;
@@ -462,7 +482,7 @@ static void
 child_fetch_inferior_registers (struct regcache *regcache, int r)
 {
   int regno;
-  win32_thread_info *th = thread_rec (current_inferior_ptid (), TRUE);
+  win32_thread_info *th = thread_rec (current_thread_ptid (), TRUE);
   if (r == -1 || r > NUM_REGS)
     child_fetch_inferior_registers (regcache, NUM_REGS);
   else
@@ -476,7 +496,7 @@ static void
 child_store_inferior_registers (struct regcache *regcache, int r)
 {
   int regno;
-  win32_thread_info *th = thread_rec (current_inferior_ptid (), TRUE);
+  win32_thread_info *th = thread_rec (current_thread_ptid (), TRUE);
   if (r == -1 || r == 0 || r > NUM_REGS)
     child_store_inferior_registers (regcache, NUM_REGS);
   else
@@ -938,6 +958,8 @@ win32_resume (struct thread_resume *resu
   th = thread_rec (ptid, FALSE);
   if (th)
     {
+      win32_prepare_to_resume (th);
+
       if (th->context.ContextFlags)
 	{
 	  /* Move register values from the inferior into the thread
@@ -1462,7 +1484,7 @@ get_child_debug_event (struct target_wai
       child_delete_thread (current_event.dwProcessId,
 			   current_event.dwThreadId);
 
-      current_inferior = (struct thread_info *) all_threads.head;
+      current_thread = (struct thread_info *) all_threads.head;
       return 1;
 
     case CREATE_PROCESS_DEBUG_EVENT:
@@ -1564,7 +1586,7 @@ get_child_debug_event (struct target_wai
     }
 
   ptid = debug_event_ptid (&current_event);
-  current_inferior =
+  current_thread =
     (struct thread_info *) find_inferior_id (&all_threads, ptid);
   return 1;
 }
@@ -1605,7 +1627,7 @@ win32_wait (ptid_t ptid, struct target_w
 	  OUTMSG2 (("Child Stopped with signal = %d \n",
 		    ourstatus->value.sig));
 
-	  regcache = get_thread_regcache (current_inferior, 1);
+	  regcache = get_thread_regcache (current_thread, 1);
 	  child_fetch_inferior_registers (regcache, -1);
 	  return debug_event_ptid (&current_event);
 	default:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/win32-low.h ./gdb/gdbserver/win32-low.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/win32-low.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/win32-low.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Internal interfaces for the Win32 specific target code for gdbserver.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -47,6 +47,10 @@ typedef struct win32_thread_info
 
   /* The context of the thread, including any manipulations.  */
   CONTEXT context;
+
+  /* Whether debug registers changed since we last set CONTEXT back to
+     the thread.  */
+  int debug_registers_changed;
 } win32_thread_info;
 
 struct win32_target_ops
@@ -61,12 +65,10 @@ struct win32_target_ops
   void (*initial_stuff) (void);
 
   /* Fetch the context from the inferior.  */
-  void (*get_thread_context) (win32_thread_info *th,
-			      DEBUG_EVENT *current_event);
+  void (*get_thread_context) (win32_thread_info *th);
 
-  /* Flush the context back to the inferior.  */
-  void (*set_thread_context) (win32_thread_info *th,
-			      DEBUG_EVENT *current_event);
+  /* Called just before resuming the thread.  */
+  void (*prepare_to_resume) (win32_thread_info *th);
 
   /* Called when a thread was added.  */
   void (*thread_added) (win32_thread_info *th);
@@ -96,6 +98,9 @@ struct win32_target_ops
 
 extern struct win32_target_ops the_low_target;
 
+/* Retrieve the context for this thread, if not already retrieved.  */
+extern void win32_require_context (win32_thread_info *th);
+
 /* Map the Windows error number in ERROR to a locale-dependent error
    message string and return a pointer to it.  Typically, the values
    for ERROR come from GetLastError.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/wincecompat.c ./gdb/gdbserver/wincecompat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/wincecompat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/wincecompat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Compatibility routines for Windows CE.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
 
 #include "server.h"
 
-#include <stdio.h>
 #include <windows.h>
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/wincecompat.h ./gdb/gdbserver/wincecompat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/wincecompat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/wincecompat.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Compatibility routines for Windows CE.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/x86-low.c ./gdb/gdbserver/x86-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/x86-low.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gdbserver/x86-low.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,38 @@
+/* Low level support for x86 (i386 and x86-64).
+
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "server.h"
+#include "x86-low.h"
+
+/* Clear the reference counts and forget everything we knew about the
+   debug registers.  */
+
+void
+x86_low_init_dregs (struct x86_debug_reg_state *state)
+{
+  int i;
+
+  ALL_DEBUG_ADDRESS_REGISTERS (i)
+    {
+      state->dr_mirror[i] = 0;
+      state->dr_ref_count[i] = 0;
+    }
+  state->dr_control_mirror = 0;
+  state->dr_status_mirror  = 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/x86-low.h ./gdb/gdbserver/x86-low.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/x86-low.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gdbserver/x86-low.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,24 @@
+/* Low level support for x86 (i386 and x86-64).
+
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+
+#include "nat/x86-dregs.h"
+
+/* Initialize STATE.  */
+extern void x86_low_init_dregs (struct x86_debug_reg_state *state);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/xtensa-xtregs.c ./gdb/gdbserver/xtensa-xtregs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbserver/xtensa-xtregs.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbserver/xtensa-xtregs.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table mapping between kernel xtregset and GDB register cache.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-stabs.h ./gdb/gdb-stabs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb-stabs.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb-stabs.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions for symbol-reading containing "stabs", for GDB.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.  Written by John Gilmore.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbthread.h ./gdb/gdbthread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbthread.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbthread.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Multi-process/thread control defs for GDB, the GNU debugger.
-   Copyright (C) 1987-2014 Free Software Foundation, Inc.
+   Copyright (C) 1987-2015 Free Software Foundation, Inc.
    Contributed by Lynx Real-Time Systems, Inc.  Los Gatos, CA.
    
 
@@ -28,6 +28,7 @@ struct symtab;
 #include "ui-out.h"
 #include "inferior.h"
 #include "btrace.h"
+#include "common/vec.h"
 
 /* Frontend view of the thread state.  Possible extensions: stepping,
    finishing, until(ling),...  */
@@ -52,6 +53,13 @@ struct thread_control_state
   /* Exception-resume breakpoint.  */
   struct breakpoint *exception_resume_breakpoint;
 
+  /* Breakpoints used for software single stepping.  Plural, because
+     it may have multiple locations.  E.g., if stepping over a
+     conditional branch instruction we can't decode the condition for,
+     we'll need to put a breakpoint at the branch destination, and
+     another at the instruction after the branch.  */
+  struct breakpoint *single_step_breakpoints;
+
   /* Range to single step within.
 
      If this is nonzero, respond to a single-step signal by continuing
@@ -135,10 +143,20 @@ struct thread_control_state
 
 struct thread_suspend_state
 {
-  /* Last signal that the inferior received (why it stopped).  */
+  /* Last signal that the inferior received (why it stopped).  When
+     the thread is resumed, this signal is delivered.  Note: the
+     target should not check whether the signal is in pass state,
+     because the signal may have been explicitly passed with the
+     "signal" command, which overrides "handle nopass".  If the signal
+     should be suppressed, the core will take care of clearing this
+     before the target is resumed.  */
   enum gdb_signal stop_signal;
 };
 
+typedef struct value *value_ptr;
+DEF_VEC_P (value_ptr);
+typedef VEC (value_ptr) value_vec;
+
 struct thread_info
 {
   struct thread_info *next;
@@ -157,14 +175,12 @@ struct thread_info
      thread is off and running.  */
   int executing;
 
-  /* Frontend view of the thread state.  Note that the RUNNING/STOPPED
-     states are different from EXECUTING.  When the thread is stopped
-     internally while handling an internal event, like a software
-     single-step breakpoint, EXECUTING will be false, but running will
-     still be true.  As a possible future extension, this could turn
-     into enum { stopped, exited, stepping, finishing, until(ling),
-     running ... }  */
-  int state;
+  /* Frontend view of the thread state.  Note that the THREAD_RUNNING/
+     THREAD_STOPPED states are different from EXECUTING.  When the
+     thread is stopped internally while handling an internal event,
+     like a software single-step breakpoint, EXECUTING will be false,
+     but STATE will still be THREAD_RUNNING.  */
+  enum thread_state state;
 
   /* If this is > 0, then it means there's code out there that relies
      on this thread being listed.  Don't delete it from the lists even
@@ -190,9 +206,19 @@ struct thread_info
      SIGTRAP from a breakpoint SIGTRAP.  */
   CORE_ADDR prev_pc;
 
+  /* Did we set the thread stepping a breakpoint instruction?  This is
+     used in conjunction with PREV_PC to decide whether to adjust the
+     PC.  */
+  int stepped_breakpoint;
+
   /* Should we step over breakpoint next time keep_going is called?  */
   int stepping_over_breakpoint;
 
+  /* Should we step over a watchpoint next time keep_going is called?
+     This is needed on targets with non-continuable, non-steppable
+     watchpoints.  */
+  int stepping_over_watchpoint;
+
   /* Set to TRUE if we should finish single-stepping over a breakpoint
      after hitting the current step-resume breakpoint.  The context here
      is that GDB is to do `next' or `step' while signal arrives.
@@ -243,6 +269,14 @@ struct thread_info
 
   /* Branch trace information for this thread.  */
   struct btrace_thread_info btrace;
+
+  /* Flag which indicates that the stack temporaries should be stored while
+     evaluating expressions.  */
+  int stack_temporaries_enabled;
+
+  /* Values that are stored as temporaries on stack while evaluating
+     expressions.  */
+  value_vec *stack_temporaries;
 };
 
 /* Create an empty thread list, or empty the existing one.  */
@@ -276,6 +310,19 @@ extern void delete_step_resume_breakpoin
 /* Delete an exception_resume_breakpoint from the thread database.  */
 extern void delete_exception_resume_breakpoint (struct thread_info *);
 
+/* Delete the single-step breakpoints of thread TP, if any.  */
+extern void delete_single_step_breakpoints (struct thread_info *tp);
+
+/* Check if the thread has software single stepping breakpoints
+   set.  */
+extern int thread_has_single_step_breakpoints_set (struct thread_info *tp);
+
+/* Check whether the thread has software single stepping breakpoints
+   set at PC.  */
+extern int thread_has_single_step_breakpoint_here (struct thread_info *tp,
+						   struct address_space *aspace,
+						   CORE_ADDR addr);
+
 /* Translate the integer thread id (GDB's homegrown id, not the system's)
    into a "pid" (which may be overloaded with extra thread information).  */
 extern ptid_t thread_id_to_pid (int);
@@ -302,11 +349,12 @@ struct thread_info *find_thread_id (int 
    returns the first thread in the list.  */
 struct thread_info *first_thread_of_process (int pid);
 
-/* Returns any thread of process PID.  */
+/* Returns any thread of process PID, giving preference to the current
+   thread.  */
 extern struct thread_info *any_thread_of_process (int pid);
 
-/* Returns any non-exited thread of process PID, giving preference for
-   not executing threads.  */
+/* Returns any non-exited thread of process PID, giving preference to
+   the current thread, and to not executing threads.  */
 extern struct thread_info *any_live_thread_of_process (int pid);
 
 /* Change the ptid of thread OLD_PTID to NEW_PTID.  */
@@ -324,13 +372,21 @@ extern struct thread_info *iterate_over_
   for (T = thread_list; T; T = T->next) \
     if ((T)->state != THREAD_EXITED)
 
+/* Like ALL_NON_EXITED_THREADS, but allows deleting the currently
+   iterated thread.  */
+#define ALL_NON_EXITED_THREADS_SAFE(T, TMP)	\
+  for ((T) = thread_list;			\
+       (T) != NULL ? ((TMP) = (T)->next, 1): 0;	\
+       (T) = (TMP))				\
+    if ((T)->state != THREAD_EXITED)
+
 extern int thread_count (void);
 
 /* Switch from one thread to another.  */
 extern void switch_to_thread (ptid_t ptid);
 
 /* Marks thread PTID is running, or stopped. 
-   If ptid_get_pid (PTID) is -1, marks all threads.  */
+   If PTID is minus_one_ptid, marks all threads.  */
 extern void set_running (ptid_t ptid, int running);
 
 /* Marks or clears thread(s) PTID as having been requested to stop.
@@ -365,10 +421,7 @@ extern int is_exited (ptid_t ptid);
 /* In the frontend's perpective, is this thread stopped?  */
 extern int is_stopped (ptid_t ptid);
 
-/* In the frontend's perpective is there any thread running?  */
-extern int any_running (void);
-
-/* Marks thread PTID as executing, or not.  If ptid_get_pid (PTID) is -1,
+/* Marks thread PTID as executing, or not.  If PTID is minus_one_ptid,
    marks all threads.
 
    Note that this is different from the running state.  See the
@@ -379,6 +432,9 @@ extern void set_executing (ptid_t ptid, 
 /* Reports if thread PTID is executing.  */
 extern int is_executing (ptid_t ptid);
 
+/* True if any (known or unknown) thread is or may be executing.  */
+extern int threads_are_executing (void);
+
 /* Merge the executing property of thread PTID over to its thread
    state property (frontend running/stopped view).
 
@@ -386,7 +442,7 @@ extern int is_executing (ptid_t ptid);
    "executing"     -> "running"
    "exited"        -> "exited"
 
-   If ptid_get_pid (PTID) is -1, go over all threads.
+   If PTID is minus_one_ptid, go over all threads.
 
    Notifications are only emitted if the thread state did change.  */
 extern void finish_thread_state (ptid_t ptid);
@@ -414,10 +470,24 @@ extern struct thread_info* inferior_thre
 
 extern void update_thread_list (void);
 
+/* Delete any thread the target says is no longer alive.  */
+
+extern void prune_threads (void);
+
 /* Return true if PC is in the stepping range of THREAD.  */
 
 int pc_in_thread_step_range (CORE_ADDR pc, struct thread_info *thread);
 
+extern struct cleanup *enable_thread_stack_temporaries (ptid_t ptid);
+
+extern int thread_stack_temporaries_enabled_p (ptid_t ptid);
+
+extern void push_thread_stack_temporary (ptid_t ptid, struct value *v);
+
+extern struct value *get_last_thread_stack_temporary (ptid_t);
+
+extern int value_in_thread_stack_temporaries (struct value *, ptid_t);
+
 extern struct thread_info *thread_list;
 
 #endif /* GDBTHREAD_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbtypes.c ./gdb/gdbtypes.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbtypes.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbtypes.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support routines for manipulating internal types for GDB.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support, using pieces from other GDB modules.
 
@@ -20,7 +20,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "bfd.h"
 #include "symtab.h"
 #include "symfile.h"
@@ -34,9 +33,7 @@
 #include "complaints.h"
 #include "gdbcmd.h"
 #include "cp-abi.h"
-#include "gdb_assert.h"
 #include "hashtab.h"
-#include "exceptions.h"
 #include "cp-support.h"
 #include "bcache.h"
 #include "dwarf2loc.h"
@@ -706,6 +703,19 @@ make_restrict_type (struct type *type)
 			      NULL);
 }
 
+/* Make a type without const, volatile, or restrict.  */
+
+struct type *
+make_unqualified_type (struct type *type)
+{
+  return make_qualified_type (type,
+			      (TYPE_INSTANCE_FLAGS (type)
+			       & ~(TYPE_INSTANCE_FLAG_CONST
+				   | TYPE_INSTANCE_FLAG_VOLATILE
+				   | TYPE_INSTANCE_FLAG_RESTRICT)),
+			      NULL);
+}
+
 /* Replace the contents of ntype with the type *type.  This changes the
    contents, rather than the pointer for TYPE_MAIN_TYPE (ntype); thus
    the changes are propogated to all types in the TYPE_CHAIN.
@@ -824,6 +834,13 @@ create_range_type (struct type *result_t
   if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0)
     TYPE_UNSIGNED (result_type) = 1;
 
+  /* Ada allows the declaration of range types whose upper bound is
+     less than the lower bound, so checking the lower bound is not
+     enough.  Make sure we do not mark a range type whose upper bound
+     is negative as unsigned.  */
+  if (high_bound->kind == PROP_CONST && high_bound->data.const_val < 0)
+    TYPE_UNSIGNED (result_type) = 0;
+
   return result_type;
 }
 
@@ -1289,14 +1306,11 @@ lookup_typename (const struct language_d
   struct symbol *sym;
   struct type *type;
 
-  sym = lookup_symbol (name, block, VAR_DOMAIN, 0);
+  sym = lookup_symbol_in_language (name, block, VAR_DOMAIN,
+				   language->la_language, NULL);
   if (sym != NULL && SYMBOL_CLASS (sym) == LOC_TYPEDEF)
     return SYMBOL_TYPE (sym);
 
-  type = language_lookup_primitive_type_by_name (language, gdbarch, name);
-  if (type)
-    return type;
-
   if (noerr)
     return NULL;
   error (_("No type named %s."), name);
@@ -1622,6 +1636,17 @@ is_dynamic_type_internal (struct type *t
   if (top_level && TYPE_CODE (type) == TYPE_CODE_REF)
     type = check_typedef (TYPE_TARGET_TYPE (type));
 
+  /* Types that have a dynamic TYPE_DATA_LOCATION are considered
+     dynamic, even if the type itself is statically defined.
+     From a user's point of view, this may appear counter-intuitive;
+     but it makes sense in this context, because the point is to determine
+     whether any part of the type needs to be resolved before it can
+     be exploited.  */
+  if (TYPE_DATA_LOCATION (type) != NULL
+      && (TYPE_DATA_LOCATION_KIND (type) == PROP_LOCEXPR
+	  || TYPE_DATA_LOCATION_KIND (type) == PROP_LOCLIST))
+    return 1;
+
   switch (TYPE_CODE (type))
     {
     case TYPE_CODE_RANGE:
@@ -1666,11 +1691,11 @@ static struct type *resolve_dynamic_type
 						   CORE_ADDR addr,
 						   int top_level);
 
-/* Given a dynamic range type (dyn_range_type), return a static version
-   of that type.  */
+/* Given a dynamic range type (dyn_range_type) and address,
+   return a static version of that type.  */
 
 static struct type *
-resolve_dynamic_range (struct type *dyn_range_type)
+resolve_dynamic_range (struct type *dyn_range_type, CORE_ADDR addr)
 {
   CORE_ADDR value;
   struct type *static_range_type;
@@ -1681,7 +1706,7 @@ resolve_dynamic_range (struct type *dyn_
   gdb_assert (TYPE_CODE (dyn_range_type) == TYPE_CODE_RANGE);
 
   prop = &TYPE_RANGE_DATA (dyn_range_type)->low;
-  if (dwarf2_evaluate_property (prop, &value))
+  if (dwarf2_evaluate_property (prop, addr, &value))
     {
       low_bound.kind = PROP_CONST;
       low_bound.data.const_val = value;
@@ -1693,7 +1718,7 @@ resolve_dynamic_range (struct type *dyn_
     }
 
   prop = &TYPE_RANGE_DATA (dyn_range_type)->high;
-  if (dwarf2_evaluate_property (prop, &value))
+  if (dwarf2_evaluate_property (prop, addr, &value))
     {
       high_bound.kind = PROP_CONST;
       high_bound.data.const_val = value;
@@ -1720,7 +1745,7 @@ resolve_dynamic_range (struct type *dyn_
    of the associated array.  */
 
 static struct type *
-resolve_dynamic_array (struct type *type)
+resolve_dynamic_array (struct type *type, CORE_ADDR addr)
 {
   CORE_ADDR value;
   struct type *elt_type;
@@ -1731,12 +1756,12 @@ resolve_dynamic_array (struct type *type
 
   elt_type = type;
   range_type = check_typedef (TYPE_INDEX_TYPE (elt_type));
-  range_type = resolve_dynamic_range (range_type);
+  range_type = resolve_dynamic_range (range_type, addr);
 
   ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
 
   if (ary_dim != NULL && TYPE_CODE (ary_dim) == TYPE_CODE_ARRAY)
-    elt_type = resolve_dynamic_array (TYPE_TARGET_TYPE (type));
+    elt_type = resolve_dynamic_array (TYPE_TARGET_TYPE (type), addr);
   else
     elt_type = TYPE_TARGET_TYPE (type);
 
@@ -1790,7 +1815,7 @@ resolve_dynamic_struct (struct type *typ
 {
   struct type *resolved_type;
   int i;
-  int vla_field = TYPE_NFIELDS (type) - 1;
+  unsigned resolved_type_bit_length = 0;
 
   gdb_assert (TYPE_CODE (type) == TYPE_CODE_STRUCT);
   gdb_assert (TYPE_NFIELDS (type) > 0);
@@ -1804,37 +1829,45 @@ resolve_dynamic_struct (struct type *typ
 	  TYPE_NFIELDS (resolved_type) * sizeof (struct field));
   for (i = 0; i < TYPE_NFIELDS (resolved_type); ++i)
     {
-      struct type *t;
+      unsigned new_bit_length;
 
       if (field_is_static (&TYPE_FIELD (type, i)))
 	continue;
 
-      t = resolve_dynamic_type_internal (TYPE_FIELD_TYPE (resolved_type, i),
+      TYPE_FIELD_TYPE (resolved_type, i)
+	= resolve_dynamic_type_internal (TYPE_FIELD_TYPE (resolved_type, i),
 					 addr, 0);
 
-      /* This is a bit odd.  We do not support a VLA in any position
-	 of a struct except for the last.  GCC does have an extension
-	 that allows a VLA in the middle of a structure, but the DWARF
-	 it emits is relatively useless to us, so we can't represent
-	 such a type properly -- and even if we could, we do not have
-	 enough information to redo structure layout anyway.
-	 Nevertheless, we check all the fields in case something odd
-	 slips through, since it's better to see an error than
-	 incorrect results.  */
-      if (t != TYPE_FIELD_TYPE (resolved_type, i)
-	  && i != vla_field)
-	error (_("Attempt to resolve a variably-sized type which appears "
-		 "in the interior of a structure type"));
+      /* As we know this field is not a static field, the field's
+	 field_loc_kind should be FIELD_LOC_KIND_BITPOS.  Verify
+	 this is the case, but only trigger a simple error rather
+	 than an internal error if that fails.  While failing
+	 that verification indicates a bug in our code, the error
+	 is not severe enough to suggest to the user he stops
+	 his debugging session because of it.  */
+      if (TYPE_FIELD_LOC_KIND (resolved_type, i) != FIELD_LOC_KIND_BITPOS)
+	error (_("Cannot determine struct field location"
+		 " (invalid location kind)"));
+      new_bit_length = TYPE_FIELD_BITPOS (resolved_type, i);
+      if (TYPE_FIELD_BITSIZE (resolved_type, i) != 0)
+	new_bit_length += TYPE_FIELD_BITSIZE (resolved_type, i);
+      else
+	new_bit_length += (TYPE_LENGTH (TYPE_FIELD_TYPE (resolved_type, i))
+			   * TARGET_CHAR_BIT);
 
-      TYPE_FIELD_TYPE (resolved_type, i) = t;
+      /* Normally, we would use the position and size of the last field
+	 to determine the size of the enclosing structure.  But GCC seems
+	 to be encoding the position of some fields incorrectly when
+	 the struct contains a dynamic field that is not placed last.
+	 So we compute the struct size based on the field that has
+	 the highest position + size - probably the best we can do.  */
+      if (new_bit_length > resolved_type_bit_length)
+	resolved_type_bit_length = new_bit_length;
     }
 
-  /* Due to the above restrictions we can successfully compute
-     the size of the resulting structure here, as the offset of
-     the final field plus its size.  */
   TYPE_LENGTH (resolved_type)
-    = (TYPE_FIELD_BITPOS (resolved_type, vla_field) / TARGET_CHAR_BIT
-       + TYPE_LENGTH (TYPE_FIELD_TYPE (resolved_type, vla_field)));
+    = (resolved_type_bit_length + TARGET_CHAR_BIT - 1) / TARGET_CHAR_BIT;
+
   return resolved_type;
 }
 
@@ -1846,6 +1879,8 @@ resolve_dynamic_type_internal (struct ty
 {
   struct type *real_type = check_typedef (type);
   struct type *resolved_type = type;
+  const struct dynamic_prop *prop;
+  CORE_ADDR value;
 
   if (!is_dynamic_type_internal (real_type, top_level))
     return type;
@@ -1876,11 +1911,11 @@ resolve_dynamic_type_internal (struct ty
 	  }
 
 	case TYPE_CODE_ARRAY:
-	  resolved_type = resolve_dynamic_array (type);
+	  resolved_type = resolve_dynamic_array (type, addr);
 	  break;
 
 	case TYPE_CODE_RANGE:
-	  resolved_type = resolve_dynamic_range (type);
+	  resolved_type = resolve_dynamic_range (type, addr);
 	  break;
 
 	case TYPE_CODE_UNION:
@@ -1893,6 +1928,16 @@ resolve_dynamic_type_internal (struct ty
 	}
     }
 
+  /* Resolve data_location attribute.  */
+  prop = TYPE_DATA_LOCATION (resolved_type);
+  if (dwarf2_evaluate_property (prop, addr, &value))
+    {
+      TYPE_DATA_LOCATION_ADDR (resolved_type) = value;
+      TYPE_DATA_LOCATION_KIND (resolved_type) = PROP_CONST;
+    }
+  else
+    TYPE_DATA_LOCATION (resolved_type) = NULL;
+
   return resolved_type;
 }
 
@@ -2479,6 +2524,15 @@ is_scalar_type_recursive (struct type *t
   return 0;
 }
 
+/* Return true is T is a class or a union.  False otherwise.  */
+
+int
+class_or_union_p (const struct type *t)
+{
+  return (TYPE_CODE (t) == TYPE_CODE_STRUCT
+          || TYPE_CODE (t) == TYPE_CODE_UNION);
+}
+
 /* A helper function which returns true if types A and B represent the
    "same" class type.  This is true if the types have the same main
    type, or the same name.  */
@@ -3392,7 +3446,6 @@ rank_one_type (struct type *parm, struct
 	}
       break;
     case TYPE_CODE_STRUCT:
-      /* currently same as TYPE_CODE_CLASS.  */
       switch (TYPE_CODE (arg))
 	{
 	case TYPE_CODE_STRUCT:
@@ -3481,14 +3534,18 @@ print_bit_vector (B_TYPE *bits, int nbit
    situation.  */
 
 static void
-print_arg_types (struct field *args, int nargs, int spaces)
+print_args (struct field *args, int nargs, int spaces)
 {
   if (args != NULL)
     {
       int i;
 
       for (i = 0; i < nargs; i++)
-	recursive_dump_type (args[i].type, spaces + 2);
+	{
+	  printfi_filtered (spaces, "[%d] name '%s'\n", i,
+			    args[i].name != NULL ? args[i].name : "<NULL>");
+	  recursive_dump_type (args[i].type, spaces + 2);
+	}
     }
 }
 
@@ -3546,11 +3603,9 @@ dump_fn_fieldlists (struct type *type, i
 	  gdb_print_host_address (TYPE_FN_FIELD_ARGS (f, overload_idx), 
 				  gdb_stdout);
 	  printf_filtered ("\n");
-
-	  print_arg_types (TYPE_FN_FIELD_ARGS (f, overload_idx),
-			   TYPE_NFIELDS (TYPE_FN_FIELD_TYPE (f, 
-							     overload_idx)),
-			   spaces);
+	  print_args (TYPE_FN_FIELD_ARGS (f, overload_idx),
+		      TYPE_NFIELDS (TYPE_FN_FIELD_TYPE (f, overload_idx)),
+		      spaces + 8 + 2);
 	  printfi_filtered (spaces + 8, "fcontext ");
 	  gdb_print_host_address (TYPE_FN_FIELD_FCONTEXT (f, overload_idx),
 				  gdb_stdout);
@@ -4110,6 +4165,15 @@ copy_type_recursive (struct objfile *obj
       *TYPE_RANGE_DATA (new_type) = *TYPE_RANGE_DATA (type);
     }
 
+  /* Copy the data location information.  */
+  if (TYPE_DATA_LOCATION (type) != NULL)
+    {
+      TYPE_DATA_LOCATION (new_type)
+	= TYPE_ALLOC (new_type, sizeof (struct dynamic_prop));
+      memcpy (TYPE_DATA_LOCATION (new_type), TYPE_DATA_LOCATION (type),
+	      sizeof (struct dynamic_prop));
+    }
+
   /* Copy pointers to other types.  */
   if (TYPE_TARGET_TYPE (type))
     TYPE_TARGET_TYPE (new_type) = 
@@ -4155,6 +4219,13 @@ copy_type (const struct type *type)
   TYPE_LENGTH (new_type) = TYPE_LENGTH (type);
   memcpy (TYPE_MAIN_TYPE (new_type), TYPE_MAIN_TYPE (type),
 	  sizeof (struct main_type));
+  if (TYPE_DATA_LOCATION (type) != NULL)
+    {
+      TYPE_DATA_LOCATION (new_type)
+	= TYPE_ALLOC (new_type, sizeof (struct dynamic_prop));
+      memcpy (TYPE_DATA_LOCATION (new_type), TYPE_DATA_LOCATION (type),
+	      sizeof (struct dynamic_prop));
+    }
 
   return new_type;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbtypes.h ./gdb/gdbtypes.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdbtypes.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdbtypes.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 
 /* Internal type definitions for GDB.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support, using pieces from other GDB modules.
 
@@ -132,10 +132,9 @@ enum type_code
     TYPE_CODE_RANGE,		/**< Range (integers within spec'd bounds).  */
 
     /* * A string type which is like an array of character but prints
-       differently (at least for (the deleted) CHILL).  It does not
-       contain a length field as Pascal strings (for many Pascals,
-       anyway) do; if we want to deal with such strings, we should use
-       a new type code.  */
+       differently.  It does not contain a length field as Pascal
+       strings (for many Pascals, anyway) do; if we want to deal with
+       such strings, we should use a new type code.  */
     TYPE_CODE_STRING,
 
     /* * Unknown type.  The length field is valid if we were able to
@@ -185,15 +184,6 @@ enum type_code
     TYPE_CODE_XMETHOD
   };
 
-/* * For now allow source to use TYPE_CODE_CLASS for C++ classes, as
-   an alias for TYPE_CODE_STRUCT.  This is for DWARF, which has a
-   distinct "class" attribute.  Perhaps we should actually have a
-   separate TYPE_CODE so that we can print "class" or "struct"
-   depending on what the debug info said.  It's not clear we should
-   bother.  */
-
-#define TYPE_CODE_CLASS TYPE_CODE_STRUCT
-
 /* * Some constants representing each bit field in the main_type.  See
    the bit-field-specific macros, below, for documentation of each
    constant in this enum.  These enum values are only used with
@@ -725,6 +715,11 @@ struct main_type
 
     struct func_type *func_stuff;
   } type_specific;
+
+  /* * Contains a location description value for the current type. Evaluating
+     this field yields to the location of the data for an object.  */
+
+  struct dynamic_prop *data_location;
 };
 
 /* * A ``struct type'' describes a particular instance of a type, with
@@ -1204,6 +1199,16 @@ extern void allocate_gnat_aux_type (stru
 #define TYPE_LOW_BOUND_KIND(range_type) \
   TYPE_RANGE_DATA(range_type)->low.kind
 
+/* Attribute accessors for the type data location.  */
+#define TYPE_DATA_LOCATION(thistype) \
+  TYPE_MAIN_TYPE(thistype)->data_location
+#define TYPE_DATA_LOCATION_BATON(thistype) \
+  TYPE_DATA_LOCATION (thistype)->data.baton
+#define TYPE_DATA_LOCATION_ADDR(thistype) \
+  TYPE_DATA_LOCATION (thistype)->data.const_val
+#define TYPE_DATA_LOCATION_KIND(thistype) \
+  TYPE_DATA_LOCATION (thistype)->kind
+
 /* Moto-specific stuff for FORTRAN arrays.  */
 
 #define TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED(arraytype) \
@@ -1627,6 +1632,8 @@ extern struct type *make_cv_type (int, i
 
 extern struct type *make_restrict_type (struct type *);
 
+extern struct type *make_unqualified_type (struct type *);
+
 extern void replace_type (struct type *, struct type *);
 
 extern int address_space_name_to_int (struct gdbarch *, char *);
@@ -1818,6 +1825,8 @@ extern int is_integral_type (struct type
 
 extern int is_scalar_type_recursive (struct type *);
 
+extern int class_or_union_p (const struct type *);
+
 extern void maintenance_print_type (char *, int);
 
 extern htab_t create_copied_types_hash (struct objfile *objfile);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_usleep.c ./gdb/gdb_usleep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_usleep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_usleep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_usleep.h ./gdb/gdb_usleep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_usleep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_usleep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_vfork.h ./gdb/gdb_vfork.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_vfork.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_vfork.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* GDB-friendly replacement for <vfork.h>.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_wchar.h ./gdb/gdb_wchar.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gdb_wchar.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gdb_wchar.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Wide characters for gdb
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -49,18 +49,18 @@
 #define PHONY_ICONV
 #endif
 
+#include <wchar.h>
+#include <wctype.h>
+
 /* We use "btowc" as a sentinel to detect functioning wchar_t support.
    We check for either __STDC_ISO_10646__ or a new-enough libiconv in
    order to ensure we can convert to and from wchar_t.  We choose
    libiconv version 0x108 because it is the first version with
    iconvlist.  */
-#if defined (HAVE_ICONV) && defined (HAVE_WCHAR_H) && defined (HAVE_BTOWC) \
+#if defined (HAVE_ICONV) && defined (HAVE_BTOWC) \
   && (defined (__STDC_ISO_10646__) \
       || (defined (_LIBICONV_VERSION) && _LIBICONV_VERSION >= 0x108))
 
-#include <wchar.h>
-#include <wctype.h>
-
 typedef wchar_t gdb_wchar_t;
 typedef wint_t gdb_wint_t;
 
@@ -94,7 +94,7 @@ const char *intermediate_encoding (void)
 
 /* If we got here and have wchar_t support, we might be on a system
    with some problem.  So, we just disable everything.  */
-#if defined (HAVE_WCHAR_H) && defined (HAVE_BTOWC)
+#if defined (HAVE_BTOWC)
 #define PHONY_ICONV
 #endif
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/glibc-tdep.c ./gdb/glibc-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/glibc-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/glibc-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the GNU C Library (glibc).
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/glibc-tdep.h ./gdb/glibc-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/glibc-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/glibc-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the GNU C Library (glibc).
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/aclocal.m4 ./gdb/gnulib/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/aclocal.m4	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/aclocal.m4	2015-01-20 02:05:38.000000000 +0000
@@ -1014,10 +1014,14 @@ AC_SUBST([am__untar])
 
 m4_include([import/m4/00gnulib.m4])
 m4_include([import/m4/alloca.m4])
+m4_include([import/m4/canonicalize.m4])
 m4_include([import/m4/codeset.m4])
 m4_include([import/m4/configmake.m4])
 m4_include([import/m4/dirent_h.m4])
 m4_include([import/m4/dirfd.m4])
+m4_include([import/m4/dirname.m4])
+m4_include([import/m4/double-slash-root.m4])
+m4_include([import/m4/eealloc.m4])
 m4_include([import/m4/errno_h.m4])
 m4_include([import/m4/exponentd.m4])
 m4_include([import/m4/exponentl.m4])
@@ -1037,11 +1041,15 @@ m4_include([import/m4/inttypes-pri.m4])
 m4_include([import/m4/inttypes.m4])
 m4_include([import/m4/isnand.m4])
 m4_include([import/m4/isnanl.m4])
+m4_include([import/m4/largefile.m4])
 m4_include([import/m4/localcharset.m4])
 m4_include([import/m4/locale-fr.m4])
 m4_include([import/m4/locale-ja.m4])
 m4_include([import/m4/locale-zh.m4])
 m4_include([import/m4/longlong.m4])
+m4_include([import/m4/lstat.m4])
+m4_include([import/m4/malloc.m4])
+m4_include([import/m4/malloca.m4])
 m4_include([import/m4/math_h.m4])
 m4_include([import/m4/mbrtowc.m4])
 m4_include([import/m4/mbsinit.m4])
@@ -1051,12 +1059,19 @@ m4_include([import/m4/memchr.m4])
 m4_include([import/m4/memmem.m4])
 m4_include([import/m4/mmap-anon.m4])
 m4_include([import/m4/multiarch.m4])
+m4_include([import/m4/nocrash.m4])
 m4_include([import/m4/off_t.m4])
 m4_include([import/m4/pathmax.m4])
+m4_include([import/m4/readlink.m4])
+m4_include([import/m4/rename.m4])
+m4_include([import/m4/rmdir.m4])
 m4_include([import/m4/ssize_t.m4])
+m4_include([import/m4/stat.m4])
 m4_include([import/m4/stdbool.m4])
 m4_include([import/m4/stddef_h.m4])
 m4_include([import/m4/stdint.m4])
+m4_include([import/m4/stdio_h.m4])
+m4_include([import/m4/stdlib_h.m4])
 m4_include([import/m4/string_h.m4])
 m4_include([import/m4/strstr.m4])
 m4_include([import/m4/sys_stat_h.m4])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/config.in ./gdb/gnulib/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/config.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/config.in	2015-01-20 02:05:38.000000000 +0000
@@ -43,6 +43,32 @@
 #endif
 
 
+/* Define to 1 if // is a file system root distinct from /. */
+#undef DOUBLE_SLASH_IS_DISTINCT_ROOT
+
+/* Define to 1 if realpath() can malloc memory, always gives an absolute path,
+   and handles trailing slash correctly. */
+#undef FUNC_REALPATH_WORKS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module canonicalize-lgpl shall be considered present. */
+#undef GNULIB_CANONICALIZE_LGPL
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fscanf shall be considered present. */
+#undef GNULIB_FSCANF
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module scanf shall be considered present. */
+#undef GNULIB_SCANF
+
+/* Define to 1 when the gnulib module canonicalize_file_name should be tested.
+   */
+#undef GNULIB_TEST_CANONICALIZE_FILE_NAME
+
+/* Define to 1 when the gnulib module chdir should be tested. */
+#undef GNULIB_TEST_CHDIR
+
 /* Define to 1 when the gnulib module dirfd should be tested. */
 #undef GNULIB_TEST_DIRFD
 
@@ -52,6 +78,12 @@
 /* Define to 1 when the gnulib module frexpl should be tested. */
 #undef GNULIB_TEST_FREXPL
 
+/* Define to 1 when the gnulib module lstat should be tested. */
+#undef GNULIB_TEST_LSTAT
+
+/* Define to 1 when the gnulib module malloc-posix should be tested. */
+#undef GNULIB_TEST_MALLOC_POSIX
+
 /* Define to 1 when the gnulib module mbrtowc should be tested. */
 #undef GNULIB_TEST_MBRTOWC
 
@@ -67,6 +99,21 @@
 /* Define to 1 when the gnulib module memmem should be tested. */
 #undef GNULIB_TEST_MEMMEM
 
+/* Define to 1 when the gnulib module readlink should be tested. */
+#undef GNULIB_TEST_READLINK
+
+/* Define to 1 when the gnulib module realpath should be tested. */
+#undef GNULIB_TEST_REALPATH
+
+/* Define to 1 when the gnulib module rename should be tested. */
+#undef GNULIB_TEST_RENAME
+
+/* Define to 1 when the gnulib module rmdir should be tested. */
+#undef GNULIB_TEST_RMDIR
+
+/* Define to 1 when the gnulib module stat should be tested. */
+#undef GNULIB_TEST_STAT
+
 /* Define to 1 when the gnulib module strstr should be tested. */
 #undef GNULIB_TEST_STRSTR
 
@@ -87,6 +134,9 @@
 /* Define to 1 if you have the `btowc' function. */
 #undef HAVE_BTOWC
 
+/* Define to 1 if you have the `canonicalize_file_name' function. */
+#undef HAVE_CANONICALIZE_FILE_NAME
+
 /* Define to 1 if you have the declaration of `dirfd', and to 0 if you don't.
    */
 #undef HAVE_DECL_DIRFD
@@ -134,6 +184,9 @@
 /* Define if the frexpl() function is available. */
 #undef HAVE_FREXPL
 
+/* Define to 1 if you have the `getcwd' function. */
+#undef HAVE_GETCWD
+
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
@@ -155,9 +208,18 @@
 /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 #undef HAVE_LANGINFO_CODESET
 
+/* Define to 1 if you have the `link' function. */
+#undef HAVE_LINK
+
 /* Define to 1 if the system has the type 'long long int'. */
 #undef HAVE_LONG_LONG_INT
 
+/* Define to 1 if you have the `lstat' function. */
+#undef HAVE_LSTAT
+
+/* Define if the 'malloc' function is POSIX compliant. */
+#undef HAVE_MALLOC_POSIX
+
 /* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including
    config.h and <sys/mman.h>. */
 #undef HAVE_MAP_ANONYMOUS
@@ -210,9 +272,16 @@
 /* Define to 1 if atanl is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_ATANL
 
+/* Define to 1 if atoll is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ATOLL
+
 /* Define to 1 if btowc is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_BTOWC
 
+/* Define to 1 if canonicalize_file_name is declared even after undefining
+   macros. */
+#undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
+
 /* Define to 1 if cbrt is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_CBRT
 
@@ -258,6 +327,9 @@
 /* Define to 1 if dirfd is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_DIRFD
 
+/* Define to 1 if dprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DPRINTF
+
 /* Define to 1 if dup is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_DUP
 
@@ -354,12 +426,18 @@
 /* Define to 1 if fmodl is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FMODL
 
+/* Define to 1 if fpurge is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FPURGE
+
 /* Define to 1 if frexpf is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FREXPF
 
 /* Define to 1 if frexpl is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FREXPL
 
+/* Define to 1 if fseeko is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FSEEKO
+
 /* Define to 1 if fstat is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FSTAT
 
@@ -369,6 +447,9 @@
 /* Define to 1 if fsync is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FSYNC
 
+/* Define to 1 if ftello is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FTELLO
+
 /* Define to 1 if ftruncate is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FTRUNCATE
 
@@ -378,6 +459,9 @@
 /* Define to 1 if getcwd is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETCWD
 
+/* Define to 1 if getdelim is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETDELIM
+
 /* Define to 1 if getdomainname is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETDOMAINNAME
 
@@ -390,6 +474,12 @@
 /* Define to 1 if gethostname is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETHOSTNAME
 
+/* Define to 1 if getline is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLINE
+
+/* Define to 1 if getloadavg is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLOADAVG
+
 /* Define to 1 if getlogin is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETLOGIN
 
@@ -399,9 +489,18 @@
 /* Define to 1 if getpagesize is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETPAGESIZE
 
+/* Define to 1 if gets is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETS
+
+/* Define to 1 if getsubopt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETSUBOPT
+
 /* Define to 1 if getusershell is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETUSERSHELL
 
+/* Define to 1 if grantpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GRANTPT
+
 /* Define to 1 if group_member is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GROUP_MEMBER
 
@@ -426,6 +525,12 @@
 /* Define to 1 if imaxdiv is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_IMAXDIV
 
+/* Define to 1 if initstate is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_INITSTATE
+
+/* Define to 1 if initstate_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_INITSTATE_R
+
 /* Define to 1 if isatty is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_ISATTY
 
@@ -528,6 +633,9 @@
 /* Define to 1 if mkdirat is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_MKDIRAT
 
+/* Define to 1 if mkdtemp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKDTEMP
+
 /* Define to 1 if mkfifo is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_MKFIFO
 
@@ -540,6 +648,18 @@
 /* Define to 1 if mknodat is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_MKNODAT
 
+/* Define to 1 if mkostemp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKOSTEMP
+
+/* Define to 1 if mkostemps is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKOSTEMPS
+
+/* Define to 1 if mkstemp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKSTEMP
+
+/* Define to 1 if mkstemps is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKSTEMPS
+
 /* Define to 1 if modf is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_MODF
 
@@ -552,21 +672,42 @@
 /* Define to 1 if opendir is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_OPENDIR
 
+/* Define to 1 if pclose is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PCLOSE
+
 /* Define to 1 if pipe is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_PIPE
 
 /* Define to 1 if pipe2 is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_PIPE2
 
+/* Define to 1 if popen is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_POPEN
+
+/* Define to 1 if posix_openpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_POSIX_OPENPT
+
 /* Define to 1 if powf is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_POWF
 
 /* Define to 1 if pread is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_PREAD
 
+/* Define to 1 if ptsname is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PTSNAME
+
+/* Define to 1 if ptsname_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PTSNAME_R
+
 /* Define to 1 if pwrite is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_PWRITE
 
+/* Define to 1 if random is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RANDOM
+
+/* Define to 1 if random_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RANDOM_R
+
 /* Define to 1 if rawmemchr is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_RAWMEMCHR
 
@@ -579,6 +720,9 @@
 /* Define to 1 if readlinkat is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_READLINKAT
 
+/* Define to 1 if realpath is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_REALPATH
+
 /* Define to 1 if remainder is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_REMAINDER
 
@@ -588,6 +732,9 @@
 /* Define to 1 if remainderl is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_REMAINDERL
 
+/* Define to 1 if renameat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RENAMEAT
+
 /* Define to 1 if rewinddir is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_REWINDDIR
 
@@ -612,12 +759,24 @@
 /* Define to 1 if roundl is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_ROUNDL
 
+/* Define to 1 if rpmatch is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RPMATCH
+
 /* Define to 1 if scandir is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SCANDIR
 
+/* Define to 1 if setenv is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETENV
+
 /* Define to 1 if sethostname is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SETHOSTNAME
 
+/* Define to 1 if setstate is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETSTATE
+
+/* Define to 1 if setstate_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETSTATE_R
+
 /* Define to 1 if setusershell is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SETUSERSHELL
 
@@ -633,12 +792,21 @@
 /* Define to 1 if sleep is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SLEEP
 
+/* Define to 1 if snprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SNPRINTF
+
 /* Define to 1 if sqrtf is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SQRTF
 
 /* Define to 1 if sqrtl is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SQRTL
 
+/* Define to 1 if srandom is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SRANDOM
+
+/* Define to 1 if srandom_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SRANDOM_R
+
 /* Define to 1 if stat is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_STAT
 
@@ -678,12 +846,21 @@
 /* Define to 1 if strsignal is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_STRSIGNAL
 
+/* Define to 1 if strtod is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOD
+
 /* Define to 1 if strtoimax is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_STRTOIMAX
 
 /* Define to 1 if strtok_r is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_STRTOK_R
 
+/* Define to 1 if strtoll is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOLL
+
+/* Define to 1 if strtoull is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOULL
+
 /* Define to 1 if strtoumax is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_STRTOUMAX
 
@@ -705,6 +882,9 @@
 /* Define to 1 if tanl is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_TANL
 
+/* Define to 1 if tmpfile is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TMPFILE
+
 /* Define to 1 if towctrans is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_TOWCTRANS
 
@@ -726,12 +906,24 @@
 /* Define to 1 if unlinkat is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_UNLINKAT
 
+/* Define to 1 if unlockpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNLOCKPT
+
+/* Define to 1 if unsetenv is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNSETENV
+
 /* Define to 1 if usleep is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_USLEEP
 
 /* Define to 1 if utimensat is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_UTIMENSAT
 
+/* Define to 1 if vdprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_VDPRINTF
+
+/* Define to 1 if vsnprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_VSNPRINTF
+
 /* Define to 1 if wcpcpy is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_WCPCPY
 
@@ -837,6 +1029,15 @@
 /* Define to 1 if wmemset is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_WMEMSET
 
+/* Define to 1 if _Exit is declared even after undefining macros. */
+#undef HAVE_RAW_DECL__EXIT
+
+/* Define to 1 if you have the `readlink' function. */
+#undef HAVE_READLINK
+
+/* Define to 1 if you have the `realpath' function. */
+#undef HAVE_REALPATH
+
 /* Define to 1 if 'long double' and 'double' have the same representation. */
 #undef HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
 
@@ -931,6 +1132,13 @@
 /* Define as the word index where to find the exponent of 'long double'. */
 #undef LDBL_EXPBIT0_WORD
 
+/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing
+   slash. */
+#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
+
+/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
+#undef MALLOC_0_IS_NONNULL
+
 /* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
 #undef MAP_ANONYMOUS
 
@@ -971,6 +1179,33 @@
    'ptrdiff_t'. */
 #undef PTRDIFF_T_SUFFIX
 
+/* Define to 1 if readlink fails to recognize a trailing slash. */
+#undef READLINK_TRAILING_SLASH_BUG
+
+/* Define if rename does not work when the destination file exists, as on
+   Cygwin 1.5 or Windows. */
+#undef RENAME_DEST_EXISTS_BUG
+
+/* Define if rename fails to leave hard links alone, as on NetBSD 1.6 or
+   Cygwin 1.5. */
+#undef RENAME_HARD_LINK_BUG
+
+/* Define if rename does not correctly handle slashes on the destination
+   argument, such as on Solaris 10 or NetBSD 1.6. */
+#undef RENAME_TRAILING_SLASH_DEST_BUG
+
+/* Define if rename does not correctly handle slashes on the source argument,
+   such as on Solaris 9 or cygwin 1.5. */
+#undef RENAME_TRAILING_SLASH_SOURCE_BUG
+
+/* Define to 1 if stat needs help when passed a directory name with a trailing
+   slash */
+#undef REPLACE_FUNC_STAT_DIR
+
+/* Define to 1 if stat needs help when passed a file name with a trailing
+   slash */
+#undef REPLACE_FUNC_STAT_FILE
+
 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
    'sig_atomic_t'. */
 #undef SIG_ATOMIC_T_SUFFIX
@@ -1013,10 +1248,21 @@
 # endif
 #endif
 
+/* Enable large inode numbers on Mac OS X.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
 /* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct
    stat.st_size becomes 64-bit. */
 #undef _GL_WINDOWS_64_BIT_ST_SIZE
 
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
 /* Define to 1 if on MINIX. */
 #undef _MINIX
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/configure ./gdb/gnulib/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/configure	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/configure	2015-01-20 02:05:38.000000000 +0000
@@ -588,9 +588,9 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
+ac_func_list=
 ac_header_list=
 gl_fnmatch_required=POSIX
-ac_func_list=
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 gltests_LTLIBOBJS
@@ -681,41 +681,12 @@ MKDIR_P
 WINDOWS_64_BIT_ST_SIZE
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H
 NEXT_SYS_STAT_H
-REPLACE_UTIMENSAT
-REPLACE_STAT
-REPLACE_MKNOD
-REPLACE_MKFIFO
-REPLACE_MKDIR
-REPLACE_LSTAT
-REPLACE_FUTIMENS
-REPLACE_FSTATAT
-REPLACE_FSTAT
-HAVE_UTIMENSAT
-HAVE_MKNODAT
-HAVE_MKNOD
-HAVE_MKFIFOAT
-HAVE_MKFIFO
-HAVE_MKDIRAT
-HAVE_LSTAT
-HAVE_LCHMOD
-HAVE_FUTIMENS
-HAVE_FSTATAT
-HAVE_FCHMODAT
-GNULIB_UTIMENSAT
-GNULIB_STAT
-GNULIB_MKNODAT
-GNULIB_MKNOD
-GNULIB_MKFIFOAT
-GNULIB_MKFIFO
-GNULIB_MKDIRAT
-GNULIB_LSTAT
-GNULIB_LCHMOD
-GNULIB_FUTIMENS
-GNULIB_FSTATAT
-GNULIB_FSTAT
-GNULIB_FCHMODAT
 NEXT_AS_FIRST_DIRECTIVE_STRING_H
 NEXT_STRING_H
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H
+NEXT_STDLIB_H
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H
+NEXT_STDIO_H
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H
 NEXT_STDDEF_H
 GL_GENERATE_STDDEF_H_FALSE
@@ -727,6 +698,107 @@ HAVE__BOOL
 GL_GENERATE_STDBOOL_H_FALSE
 GL_GENERATE_STDBOOL_H_TRUE
 STDBOOL_H
+REPLACE_VSPRINTF
+REPLACE_VSNPRINTF
+REPLACE_VPRINTF
+REPLACE_VFPRINTF
+REPLACE_VDPRINTF
+REPLACE_VASPRINTF
+REPLACE_TMPFILE
+REPLACE_STDIO_WRITE_FUNCS
+REPLACE_STDIO_READ_FUNCS
+REPLACE_SPRINTF
+REPLACE_SNPRINTF
+REPLACE_RENAMEAT
+REPLACE_RENAME
+REPLACE_REMOVE
+REPLACE_PRINTF
+REPLACE_POPEN
+REPLACE_PERROR
+REPLACE_OBSTACK_PRINTF
+REPLACE_GETLINE
+REPLACE_GETDELIM
+REPLACE_FTELLO
+REPLACE_FTELL
+REPLACE_FSEEKO
+REPLACE_FSEEK
+REPLACE_FREOPEN
+REPLACE_FPURGE
+REPLACE_FPRINTF
+REPLACE_FOPEN
+REPLACE_FFLUSH
+REPLACE_FDOPEN
+REPLACE_FCLOSE
+REPLACE_DPRINTF
+HAVE_VDPRINTF
+HAVE_VASPRINTF
+HAVE_RENAMEAT
+HAVE_POPEN
+HAVE_PCLOSE
+HAVE_FTELLO
+HAVE_FSEEKO
+HAVE_DPRINTF
+HAVE_DECL_VSNPRINTF
+HAVE_DECL_SNPRINTF
+HAVE_DECL_OBSTACK_PRINTF
+HAVE_DECL_GETLINE
+HAVE_DECL_GETDELIM
+HAVE_DECL_FTELLO
+HAVE_DECL_FSEEKO
+HAVE_DECL_FPURGE
+GNULIB_VSPRINTF_POSIX
+GNULIB_VSNPRINTF
+GNULIB_VPRINTF_POSIX
+GNULIB_VPRINTF
+GNULIB_VFPRINTF_POSIX
+GNULIB_VFPRINTF
+GNULIB_VDPRINTF
+GNULIB_VSCANF
+GNULIB_VFSCANF
+GNULIB_VASPRINTF
+GNULIB_TMPFILE
+GNULIB_STDIO_H_SIGPIPE
+GNULIB_STDIO_H_NONBLOCKING
+GNULIB_SPRINTF_POSIX
+GNULIB_SNPRINTF
+GNULIB_SCANF
+GNULIB_RENAMEAT
+GNULIB_RENAME
+GNULIB_REMOVE
+GNULIB_PUTS
+GNULIB_PUTCHAR
+GNULIB_PUTC
+GNULIB_PRINTF_POSIX
+GNULIB_PRINTF
+GNULIB_POPEN
+GNULIB_PERROR
+GNULIB_PCLOSE
+GNULIB_OBSTACK_PRINTF_POSIX
+GNULIB_OBSTACK_PRINTF
+GNULIB_GETLINE
+GNULIB_GETDELIM
+GNULIB_GETCHAR
+GNULIB_GETC
+GNULIB_FWRITE
+GNULIB_FTELLO
+GNULIB_FTELL
+GNULIB_FSEEKO
+GNULIB_FSEEK
+GNULIB_FSCANF
+GNULIB_FREOPEN
+GNULIB_FREAD
+GNULIB_FPUTS
+GNULIB_FPUTC
+GNULIB_FPURGE
+GNULIB_FPRINTF_POSIX
+GNULIB_FPRINTF
+GNULIB_FOPEN
+GNULIB_FGETS
+GNULIB_FGETC
+GNULIB_FFLUSH
+GNULIB_FDOPEN
+GNULIB_FCLOSE
+GNULIB_DPRINTF
 UNDEFINE_STRTOK_R
 REPLACE_STRTOK_R
 REPLACE_STRSIGNAL
@@ -897,6 +969,39 @@ GNULIB_WCTOB
 GNULIB_BTOWC
 NEXT_AS_FIRST_DIRECTIVE_MATH_H
 NEXT_MATH_H
+REPLACE_UTIMENSAT
+REPLACE_STAT
+REPLACE_MKNOD
+REPLACE_MKFIFO
+REPLACE_MKDIR
+REPLACE_LSTAT
+REPLACE_FUTIMENS
+REPLACE_FSTATAT
+REPLACE_FSTAT
+HAVE_UTIMENSAT
+HAVE_MKNODAT
+HAVE_MKNOD
+HAVE_MKFIFOAT
+HAVE_MKFIFO
+HAVE_MKDIRAT
+HAVE_LSTAT
+HAVE_LCHMOD
+HAVE_FUTIMENS
+HAVE_FSTATAT
+HAVE_FCHMODAT
+GNULIB_UTIMENSAT
+GNULIB_STAT
+GNULIB_MKNODAT
+GNULIB_MKNOD
+GNULIB_MKFIFOAT
+GNULIB_MKFIFO
+GNULIB_MKDIRAT
+GNULIB_LSTAT
+GNULIB_LCHMOD
+GNULIB_FUTIMENS
+GNULIB_FSTATAT
+GNULIB_FSTAT
+GNULIB_FCHMODAT
 LOCALCHARSET_TESTS_ENVIRONMENT
 GLIBC21
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H
@@ -1248,6 +1353,8 @@ GNULIB_CLOSEDIR
 GNULIB_REWINDDIR
 GNULIB_READDIR
 GNULIB_OPENDIR
+pkglibexecdir
+lispdir
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS
 UNISTD_H_HAVE_WINSOCK2_H
 REPLACE_WRITE
@@ -1368,8 +1475,80 @@ GNULIB_DUP
 GNULIB_CLOSE
 GNULIB_CHOWN
 GNULIB_CHDIR
-pkglibexecdir
-lispdir
+REPLACE_WCTOMB
+REPLACE_UNSETENV
+REPLACE_STRTOD
+REPLACE_SETENV
+REPLACE_REALPATH
+REPLACE_REALLOC
+REPLACE_RANDOM_R
+REPLACE_PUTENV
+REPLACE_PTSNAME_R
+REPLACE_PTSNAME
+REPLACE_MKSTEMP
+REPLACE_MBTOWC
+REPLACE_MALLOC
+REPLACE_CANONICALIZE_FILE_NAME
+REPLACE_CALLOC
+HAVE_DECL_UNSETENV
+HAVE_UNLOCKPT
+HAVE_SYS_LOADAVG_H
+HAVE_STRUCT_RANDOM_DATA
+HAVE_STRTOULL
+HAVE_STRTOLL
+HAVE_STRTOD
+HAVE_DECL_SETENV
+HAVE_SETENV
+HAVE_RPMATCH
+HAVE_REALPATH
+HAVE_RANDOM_R
+HAVE_RANDOM_H
+HAVE_RANDOM
+HAVE_PTSNAME_R
+HAVE_PTSNAME
+HAVE_POSIX_OPENPT
+HAVE_MKSTEMPS
+HAVE_MKSTEMP
+HAVE_MKOSTEMPS
+HAVE_MKOSTEMP
+HAVE_MKDTEMP
+HAVE_GRANTPT
+HAVE_GETSUBOPT
+HAVE_DECL_GETLOADAVG
+HAVE_CANONICALIZE_FILE_NAME
+HAVE_ATOLL
+HAVE__EXIT
+GNULIB_WCTOMB
+GNULIB_UNSETENV
+GNULIB_UNLOCKPT
+GNULIB_SYSTEM_POSIX
+GNULIB_STRTOULL
+GNULIB_STRTOLL
+GNULIB_STRTOD
+GNULIB_SETENV
+GNULIB_RPMATCH
+GNULIB_REALPATH
+GNULIB_REALLOC_POSIX
+GNULIB_RANDOM_R
+GNULIB_RANDOM
+GNULIB_PUTENV
+GNULIB_PTSNAME_R
+GNULIB_PTSNAME
+GNULIB_POSIX_OPENPT
+GNULIB_MKSTEMPS
+GNULIB_MKSTEMP
+GNULIB_MKOSTEMPS
+GNULIB_MKOSTEMP
+GNULIB_MKDTEMP
+GNULIB_MBTOWC
+GNULIB_MALLOC_POSIX
+GNULIB_GRANTPT
+GNULIB_GETSUBOPT
+GNULIB_GETLOADAVG
+GNULIB_CANONICALIZE_FILE_NAME
+GNULIB_CALLOC_POSIX
+GNULIB_ATOLL
+GNULIB__EXIT
 GL_GENERATE_ALLOCA_H_FALSE
 GL_GENERATE_ALLOCA_H_TRUE
 ALLOCA_H
@@ -1446,6 +1625,7 @@ ac_subst_files=''
 ac_user_opts='
 enable_option_checking
 enable_maintainer_mode
+enable_largefile
 enable_dependency_tracking
 '
       ac_precious_vars='build_alias
@@ -2077,6 +2257,7 @@ Optional Features:
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
+  --disable-largefile     omit support for large files
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
 
@@ -3071,6 +3252,11 @@ else
   >$cache_file
 fi
 
+as_fn_append ac_func_list " canonicalize_file_name"
+as_fn_append ac_func_list " getcwd"
+as_fn_append ac_func_list " readlink"
+as_fn_append ac_func_list " realpath"
+as_fn_append ac_header_list " sys/param.h"
 as_fn_append ac_header_list " dirent.h"
 as_fn_append ac_func_list " btowc"
 as_fn_append ac_func_list " isblank"
@@ -3088,12 +3274,13 @@ as_fn_append ac_header_list " stdint.h"
 as_fn_append ac_header_list " inttypes.h"
 as_fn_append ac_header_list " unistd.h"
 as_fn_append ac_func_list " symlink"
+as_fn_append ac_func_list " lstat"
 as_fn_append ac_header_list " math.h"
 as_fn_append ac_func_list " mbsinit"
 as_fn_append ac_func_list " mbrtowc"
 as_fn_append ac_header_list " sys/mman.h"
 as_fn_append ac_func_list " mprotect"
-as_fn_append ac_header_list " sys/param.h"
+as_fn_append ac_func_list " link"
 as_fn_append ac_header_list " sys/stat.h"
 as_fn_append ac_header_list " sys/time.h"
 as_fn_append ac_header_list " features.h"
@@ -4798,13 +4985,218 @@ fi
       ;;
   esac
 
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+  enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+         # IRIX 6.2 and later do not support large files by default,
+         # so use the C compiler's -n32 option if that helps.
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+         if ac_fn_c_try_compile "$LINENO"; then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext
+         CC="$CC -n32"
+         if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+         break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_file_offset_bits=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  if test $ac_cv_sys_file_offset_bits = unknown; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test "${ac_cv_sys_large_files+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_large_files=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  fi
+
+
+fi
+
 
 
   # Code from module alloca:
   # Code from module alloca-opt:
+  # Code from module canonicalize-lgpl:
+  # Code from module chdir:
   # Code from module configmake:
   # Code from module dirent:
   # Code from module dirfd:
+  # Code from module dirname-lgpl:
+  # Code from module dosname:
+  # Code from module double-slash-root:
   # Code from module errno:
   # Code from module extensions:
 
@@ -4822,7 +5214,12 @@ fi
   # Code from module inttypes-incomplete:
   # Code from module isnand-nolibm:
   # Code from module isnanl-nolibm:
+  # Code from module largefile:
+
   # Code from module localcharset:
+  # Code from module lstat:
+  # Code from module malloc-posix:
+  # Code from module malloca:
   # Code from module math:
   # Code from module mbrtowc:
   # Code from module mbsinit:
@@ -4831,14 +5228,23 @@ fi
   # Code from module memmem:
   # Code from module memmem-simple:
   # Code from module multiarch:
+  # Code from module nocrash:
   # Code from module pathmax:
+  # Code from module readlink:
+  # Code from module rename:
+  # Code from module rmdir:
+  # Code from module same-inode:
+  # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
   # Code from module snippet/warn-on-use:
   # Code from module ssize_t:
+  # Code from module stat:
   # Code from module stdbool:
   # Code from module stddef:
   # Code from module stdint:
+  # Code from module stdio:
+  # Code from module stdlib:
   # Code from module streq:
   # Code from module string:
   # Code from module strnlen1:
@@ -5661,80 +6067,440 @@ _ACEOF
 fi
 
 
-  GNULIB_CHDIR=0;
-  GNULIB_CHOWN=0;
-  GNULIB_CLOSE=0;
-  GNULIB_DUP=0;
-  GNULIB_DUP2=0;
-  GNULIB_DUP3=0;
-  GNULIB_ENVIRON=0;
-  GNULIB_EUIDACCESS=0;
-  GNULIB_FACCESSAT=0;
-  GNULIB_FCHDIR=0;
-  GNULIB_FCHOWNAT=0;
-  GNULIB_FDATASYNC=0;
-  GNULIB_FSYNC=0;
-  GNULIB_FTRUNCATE=0;
-  GNULIB_GETCWD=0;
-  GNULIB_GETDOMAINNAME=0;
-  GNULIB_GETDTABLESIZE=0;
-  GNULIB_GETGROUPS=0;
-  GNULIB_GETHOSTNAME=0;
-  GNULIB_GETLOGIN=0;
-  GNULIB_GETLOGIN_R=0;
-  GNULIB_GETPAGESIZE=0;
-  GNULIB_GETUSERSHELL=0;
-  GNULIB_GROUP_MEMBER=0;
-  GNULIB_ISATTY=0;
-  GNULIB_LCHOWN=0;
-  GNULIB_LINK=0;
-  GNULIB_LINKAT=0;
-  GNULIB_LSEEK=0;
-  GNULIB_PIPE=0;
-  GNULIB_PIPE2=0;
-  GNULIB_PREAD=0;
-  GNULIB_PWRITE=0;
-  GNULIB_READ=0;
-  GNULIB_READLINK=0;
-  GNULIB_READLINKAT=0;
-  GNULIB_RMDIR=0;
-  GNULIB_SETHOSTNAME=0;
-  GNULIB_SLEEP=0;
-  GNULIB_SYMLINK=0;
-  GNULIB_SYMLINKAT=0;
-  GNULIB_TTYNAME_R=0;
-  GNULIB_UNISTD_H_NONBLOCKING=0;
-  GNULIB_UNISTD_H_SIGPIPE=0;
-  GNULIB_UNLINK=0;
-  GNULIB_UNLINKAT=0;
-  GNULIB_USLEEP=0;
-  GNULIB_WRITE=0;
-    HAVE_CHOWN=1;
-  HAVE_DUP2=1;
-  HAVE_DUP3=1;
-  HAVE_EUIDACCESS=1;
-  HAVE_FACCESSAT=1;
-  HAVE_FCHDIR=1;
-  HAVE_FCHOWNAT=1;
-  HAVE_FDATASYNC=1;
-  HAVE_FSYNC=1;
-  HAVE_FTRUNCATE=1;
-  HAVE_GETDTABLESIZE=1;
-  HAVE_GETGROUPS=1;
-  HAVE_GETHOSTNAME=1;
-  HAVE_GETLOGIN=1;
-  HAVE_GETPAGESIZE=1;
-  HAVE_GROUP_MEMBER=1;
-  HAVE_LCHOWN=1;
-  HAVE_LINK=1;
-  HAVE_LINKAT=1;
-  HAVE_PIPE=1;
-  HAVE_PIPE2=1;
-  HAVE_PREAD=1;
-  HAVE_PWRITE=1;
-  HAVE_READLINK=1;
-  HAVE_READLINKAT=1;
-  HAVE_SETHOSTNAME=1;
+  GNULIB__EXIT=0;
+  GNULIB_ATOLL=0;
+  GNULIB_CALLOC_POSIX=0;
+  GNULIB_CANONICALIZE_FILE_NAME=0;
+  GNULIB_GETLOADAVG=0;
+  GNULIB_GETSUBOPT=0;
+  GNULIB_GRANTPT=0;
+  GNULIB_MALLOC_POSIX=0;
+  GNULIB_MBTOWC=0;
+  GNULIB_MKDTEMP=0;
+  GNULIB_MKOSTEMP=0;
+  GNULIB_MKOSTEMPS=0;
+  GNULIB_MKSTEMP=0;
+  GNULIB_MKSTEMPS=0;
+  GNULIB_POSIX_OPENPT=0;
+  GNULIB_PTSNAME=0;
+  GNULIB_PTSNAME_R=0;
+  GNULIB_PUTENV=0;
+  GNULIB_RANDOM=0;
+  GNULIB_RANDOM_R=0;
+  GNULIB_REALLOC_POSIX=0;
+  GNULIB_REALPATH=0;
+  GNULIB_RPMATCH=0;
+  GNULIB_SETENV=0;
+  GNULIB_STRTOD=0;
+  GNULIB_STRTOLL=0;
+  GNULIB_STRTOULL=0;
+  GNULIB_SYSTEM_POSIX=0;
+  GNULIB_UNLOCKPT=0;
+  GNULIB_UNSETENV=0;
+  GNULIB_WCTOMB=0;
+    HAVE__EXIT=1;
+  HAVE_ATOLL=1;
+  HAVE_CANONICALIZE_FILE_NAME=1;
+  HAVE_DECL_GETLOADAVG=1;
+  HAVE_GETSUBOPT=1;
+  HAVE_GRANTPT=1;
+  HAVE_MKDTEMP=1;
+  HAVE_MKOSTEMP=1;
+  HAVE_MKOSTEMPS=1;
+  HAVE_MKSTEMP=1;
+  HAVE_MKSTEMPS=1;
+  HAVE_POSIX_OPENPT=1;
+  HAVE_PTSNAME=1;
+  HAVE_PTSNAME_R=1;
+  HAVE_RANDOM=1;
+  HAVE_RANDOM_H=1;
+  HAVE_RANDOM_R=1;
+  HAVE_REALPATH=1;
+  HAVE_RPMATCH=1;
+  HAVE_SETENV=1;
+  HAVE_DECL_SETENV=1;
+  HAVE_STRTOD=1;
+  HAVE_STRTOLL=1;
+  HAVE_STRTOULL=1;
+  HAVE_STRUCT_RANDOM_DATA=1;
+  HAVE_SYS_LOADAVG_H=0;
+  HAVE_UNLOCKPT=1;
+  HAVE_DECL_UNSETENV=1;
+  REPLACE_CALLOC=0;
+  REPLACE_CANONICALIZE_FILE_NAME=0;
+  REPLACE_MALLOC=0;
+  REPLACE_MBTOWC=0;
+  REPLACE_MKSTEMP=0;
+  REPLACE_PTSNAME=0;
+  REPLACE_PTSNAME_R=0;
+  REPLACE_PUTENV=0;
+  REPLACE_RANDOM_R=0;
+  REPLACE_REALLOC=0;
+  REPLACE_REALPATH=0;
+  REPLACE_SETENV=0;
+  REPLACE_STRTOD=0;
+  REPLACE_UNSETENV=0;
+  REPLACE_WCTOMB=0;
+
+
+
+
+  for ac_func in $ac_func_list
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+eval as_val=\$$as_ac_var
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
+$as_echo_n "checking whether // is distinct from /... " >&6; }
+if test "${gl_cv_double_slash_root+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+   if test x"$cross_compiling" = xyes ; then
+        # When cross-compiling, there is no way to tell whether // is special
+        # short of a list of hosts.  However, the only known hosts to date
+        # that have a distinct // are Apollo DomainOS (too old to port to),
+        # Cygwin, and z/OS.  If anyone knows of another system for which // has
+        # special semantics and is distinct from /, please report it to
+        # <bug-gnulib@gnu.org>.
+        case $host in
+          *-cygwin | i370-ibm-openedition)
+            gl_cv_double_slash_root=yes ;;
+          *)
+            # Be optimistic and assume that / and // are the same when we
+            # don't know.
+            gl_cv_double_slash_root='unknown, assuming no' ;;
+        esac
+      else
+        set x `ls -di / // 2>/dev/null`
+        if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then
+          gl_cv_double_slash_root=no
+        else
+          gl_cv_double_slash_root=yes
+        fi
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
+$as_echo "$gl_cv_double_slash_root" >&6; }
+  if test "$gl_cv_double_slash_root" = yes; then
+
+$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
+
+  fi
+
+
+
+
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether realpath works" >&5
+$as_echo_n "checking whether realpath works... " >&6; }
+if test "${gl_cv_func_realpath_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    touch conftest.a
+    mkdir conftest.d
+    if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                       # Guess yes on glibc systems.
+        *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;;
+                       # If we don't know, assume the worst.
+        *)             gl_cv_func_realpath_works="guessing no" ;;
+      esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+
+#include <stdlib.h>
+#if defined __MACH__ && defined __APPLE__
+/* Avoid a crash on Mac OS X.  */
+#include <mach/mach.h>
+#include <mach/mach_error.h>
+#include <mach/thread_status.h>
+#include <mach/exception.h>
+#include <mach/task.h>
+#include <pthread.h>
+/* The exception port on which our thread listens.  */
+static mach_port_t our_exception_port;
+/* The main function of the thread listening for exceptions of type
+   EXC_BAD_ACCESS.  */
+static void *
+mach_exception_thread (void *arg)
+{
+  /* Buffer for a message to be received.  */
+  struct {
+    mach_msg_header_t head;
+    mach_msg_body_t msgh_body;
+    char data[1024];
+  } msg;
+  mach_msg_return_t retval;
+  /* Wait for a message on the exception port.  */
+  retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg),
+                     our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+  if (retval != MACH_MSG_SUCCESS)
+    abort ();
+  exit (1);
+}
+static void
+nocrash_init (void)
+{
+  mach_port_t self = mach_task_self ();
+  /* Allocate a port on which the thread shall listen for exceptions.  */
+  if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port)
+      == KERN_SUCCESS) {
+    /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html.  */
+    if (mach_port_insert_right (self, our_exception_port, our_exception_port,
+                                MACH_MSG_TYPE_MAKE_SEND)
+        == KERN_SUCCESS) {
+      /* The exceptions we want to catch.  Only EXC_BAD_ACCESS is interesting
+         for us.  */
+      exception_mask_t mask = EXC_MASK_BAD_ACCESS;
+      /* Create the thread listening on the exception port.  */
+      pthread_attr_t attr;
+      pthread_t thread;
+      if (pthread_attr_init (&attr) == 0
+          && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0
+          && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) {
+        pthread_attr_destroy (&attr);
+        /* Replace the exception port info for these exceptions with our own.
+           Note that we replace the exception port for the entire task, not only
+           for a particular thread.  This has the effect that when our exception
+           port gets the message, the thread specific exception port has already
+           been asked, and we don't need to bother about it.
+           See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html.  */
+        task_set_exception_ports (self, mask, our_exception_port,
+                                  EXCEPTION_DEFAULT, MACHINE_THREAD_STATE);
+      }
+    }
+  }
+}
+#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Avoid a crash on native Windows.  */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <winerror.h>
+static LONG WINAPI
+exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
+{
+  switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
+    {
+    case EXCEPTION_ACCESS_VIOLATION:
+    case EXCEPTION_IN_PAGE_ERROR:
+    case EXCEPTION_STACK_OVERFLOW:
+    case EXCEPTION_GUARD_PAGE:
+    case EXCEPTION_PRIV_INSTRUCTION:
+    case EXCEPTION_ILLEGAL_INSTRUCTION:
+    case EXCEPTION_DATATYPE_MISALIGNMENT:
+    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
+    case EXCEPTION_NONCONTINUABLE_EXCEPTION:
+      exit (1);
+    }
+  return EXCEPTION_CONTINUE_SEARCH;
+}
+static void
+nocrash_init (void)
+{
+  SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
+}
+#else
+/* Avoid a crash on POSIX systems.  */
+#include <signal.h>
+/* A POSIX signal handler.  */
+static void
+exception_handler (int sig)
+{
+  exit (1);
+}
+static void
+nocrash_init (void)
+{
+#ifdef SIGSEGV
+  signal (SIGSEGV, exception_handler);
+#endif
+#ifdef SIGBUS
+  signal (SIGBUS, exception_handler);
+#endif
+}
+#endif
+
+        #include <stdlib.h>
+        #include <string.h>
+
+int
+main ()
+{
+
+        int result = 0;
+        {
+          char *name = realpath ("conftest.a", NULL);
+          if (!(name && *name == '/'))
+            result |= 1;
+        }
+        {
+          char *name = realpath ("conftest.b/../conftest.a", NULL);
+          if (name != NULL)
+            result |= 2;
+        }
+        {
+          char *name = realpath ("conftest.a/", NULL);
+          if (name != NULL)
+            result |= 4;
+        }
+        {
+          char *name1 = realpath (".", NULL);
+          char *name2 = realpath ("conftest.d//./..", NULL);
+          if (strcmp (name1, name2) != 0)
+            result |= 8;
+        }
+        return result;
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_realpath_works=yes
+else
+  gl_cv_func_realpath_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    rm -rf conftest.a conftest.d
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_realpath_works" >&5
+$as_echo "$gl_cv_func_realpath_works" >&6; }
+  case "$gl_cv_func_realpath_works" in
+    *yes)
+
+$as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h
+
+      ;;
+  esac
+
+
+
+
+  for ac_header in $ac_header_list
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+
+
+  GNULIB_CHDIR=0;
+  GNULIB_CHOWN=0;
+  GNULIB_CLOSE=0;
+  GNULIB_DUP=0;
+  GNULIB_DUP2=0;
+  GNULIB_DUP3=0;
+  GNULIB_ENVIRON=0;
+  GNULIB_EUIDACCESS=0;
+  GNULIB_FACCESSAT=0;
+  GNULIB_FCHDIR=0;
+  GNULIB_FCHOWNAT=0;
+  GNULIB_FDATASYNC=0;
+  GNULIB_FSYNC=0;
+  GNULIB_FTRUNCATE=0;
+  GNULIB_GETCWD=0;
+  GNULIB_GETDOMAINNAME=0;
+  GNULIB_GETDTABLESIZE=0;
+  GNULIB_GETGROUPS=0;
+  GNULIB_GETHOSTNAME=0;
+  GNULIB_GETLOGIN=0;
+  GNULIB_GETLOGIN_R=0;
+  GNULIB_GETPAGESIZE=0;
+  GNULIB_GETUSERSHELL=0;
+  GNULIB_GROUP_MEMBER=0;
+  GNULIB_ISATTY=0;
+  GNULIB_LCHOWN=0;
+  GNULIB_LINK=0;
+  GNULIB_LINKAT=0;
+  GNULIB_LSEEK=0;
+  GNULIB_PIPE=0;
+  GNULIB_PIPE2=0;
+  GNULIB_PREAD=0;
+  GNULIB_PWRITE=0;
+  GNULIB_READ=0;
+  GNULIB_READLINK=0;
+  GNULIB_READLINKAT=0;
+  GNULIB_RMDIR=0;
+  GNULIB_SETHOSTNAME=0;
+  GNULIB_SLEEP=0;
+  GNULIB_SYMLINK=0;
+  GNULIB_SYMLINKAT=0;
+  GNULIB_TTYNAME_R=0;
+  GNULIB_UNISTD_H_NONBLOCKING=0;
+  GNULIB_UNISTD_H_SIGPIPE=0;
+  GNULIB_UNLINK=0;
+  GNULIB_UNLINKAT=0;
+  GNULIB_USLEEP=0;
+  GNULIB_WRITE=0;
+    HAVE_CHOWN=1;
+  HAVE_DUP2=1;
+  HAVE_DUP3=1;
+  HAVE_EUIDACCESS=1;
+  HAVE_FACCESSAT=1;
+  HAVE_FCHDIR=1;
+  HAVE_FCHOWNAT=1;
+  HAVE_FDATASYNC=1;
+  HAVE_FSYNC=1;
+  HAVE_FTRUNCATE=1;
+  HAVE_GETDTABLESIZE=1;
+  HAVE_GETGROUPS=1;
+  HAVE_GETHOSTNAME=1;
+  HAVE_GETLOGIN=1;
+  HAVE_GETPAGESIZE=1;
+  HAVE_GROUP_MEMBER=1;
+  HAVE_LCHOWN=1;
+  HAVE_LINK=1;
+  HAVE_LINKAT=1;
+  HAVE_PIPE=1;
+  HAVE_PIPE2=1;
+  HAVE_PREAD=1;
+  HAVE_PWRITE=1;
+  HAVE_READLINK=1;
+  HAVE_READLINKAT=1;
+  HAVE_SETHOSTNAME=1;
   HAVE_SLEEP=1;
   HAVE_SYMLINK=1;
   HAVE_SYMLINKAT=1;
@@ -5923,24 +6689,6 @@ fi
 
 
 
-  for ac_header in $ac_header_list
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5
 $as_echo_n "checking for complete errno.h... " >&6; }
@@ -6363,22 +7111,6 @@ fi
 
 
 
-  for ac_func in $ac_func_list
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-
 
 
 
@@ -8389,24 +9121,69 @@ fi
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
-$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then :
+
+  case "$host_os" in
+    mingw*)
+                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5
+$as_echo_n "checking for 64-bit off_t... " >&6; }
+if test "${gl_cv_type_off_t_64+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <langinfo.h>
+#include <sys/types.h>
+                int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1];
+
 int
 main ()
 {
-char* cs = nl_langinfo(CODESET); return !cs;
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_langinfo_codeset=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_type_off_t_64=yes
+else
+  gl_cv_type_off_t_64=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5
+$as_echo "$gl_cv_type_off_t_64" >&6; }
+      if test $gl_cv_type_off_t_64 = no; then
+        WINDOWS_64_BIT_OFF_T=1
+      else
+        WINDOWS_64_BIT_OFF_T=0
+      fi
+                  WINDOWS_64_BIT_ST_SIZE=1
+      ;;
+    *)
+                                                      WINDOWS_64_BIT_OFF_T=0
+      WINDOWS_64_BIT_ST_SIZE=0
+      ;;
+  esac
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
+$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
+if test "${am_cv_langinfo_codeset+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <langinfo.h>
+int
+main ()
+{
+char* cs = nl_langinfo(CODESET); return !cs;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  am_cv_langinfo_codeset=yes
 else
   am_cv_langinfo_codeset=no
 fi
@@ -8621,6 +9398,210 @@ fi
 
 
 
+     GNULIB_FCHMODAT=0;
+  GNULIB_FSTAT=0;
+  GNULIB_FSTATAT=0;
+  GNULIB_FUTIMENS=0;
+  GNULIB_LCHMOD=0;
+  GNULIB_LSTAT=0;
+  GNULIB_MKDIRAT=0;
+  GNULIB_MKFIFO=0;
+  GNULIB_MKFIFOAT=0;
+  GNULIB_MKNOD=0;
+  GNULIB_MKNODAT=0;
+  GNULIB_STAT=0;
+  GNULIB_UTIMENSAT=0;
+    HAVE_FCHMODAT=1;
+  HAVE_FSTATAT=1;
+  HAVE_FUTIMENS=1;
+  HAVE_LCHMOD=1;
+  HAVE_LSTAT=1;
+  HAVE_MKDIRAT=1;
+  HAVE_MKFIFO=1;
+  HAVE_MKFIFOAT=1;
+  HAVE_MKNOD=1;
+  HAVE_MKNODAT=1;
+  HAVE_UTIMENSAT=1;
+  REPLACE_FSTAT=0;
+  REPLACE_FSTATAT=0;
+  REPLACE_FUTIMENS=0;
+  REPLACE_LSTAT=0;
+  REPLACE_MKDIR=0;
+  REPLACE_MKFIFO=0;
+  REPLACE_MKNOD=0;
+  REPLACE_STAT=0;
+  REPLACE_UTIMENSAT=0;
+
+
+
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
+$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
+if test "${gl_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -f conftest.sym conftest.file
+     echo >conftest.file
+     if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+       if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+          esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+struct stat sbuf;
+              /* Linux will dereference the symlink and fail, as required by
+                 POSIX.  That is better in the sense that it means we will not
+                 have to compile and use the lstat wrapper.  */
+              return lstat ("conftest.sym/", &sbuf) == 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_lstat_dereferences_slashed_symlink=yes
+else
+  gl_cv_func_lstat_dereferences_slashed_symlink=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+     else
+       # If the 'ln -s' command failed, then we probably don't even
+       # have an lstat function.
+       gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
+     fi
+     rm -f conftest.sym conftest.file
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5
+$as_echo "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; }
+  case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+    *yes)
+
+cat >>confdefs.h <<_ACEOF
+#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+_ACEOF
+
+      ;;
+  esac
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5
+$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; }
+if test "${gl_cv_func_malloc_posix+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+                        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+             choke me
+             #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_malloc_posix=yes
+else
+  gl_cv_func_malloc_posix=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5
+$as_echo "$gl_cv_func_malloc_posix" >&6; }
+
+
+
+      for ac_header in stdlib.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdlib_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STDLIB_H 1
+_ACEOF
+
+fi
+
+done
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
+$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
+if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+          # Guess yes on platforms where we know the result.
+          *-gnu* | freebsd* | netbsd* | openbsd* \
+          | hpux* | solaris* | cygwin* | mingw*)
+            ac_cv_func_malloc_0_nonnull=yes ;;
+          # If we don't know, assume the worst.
+          *) ac_cv_func_malloc_0_nonnull=no ;;
+        esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+            # include <stdlib.h>
+            #else
+            char *malloc ();
+            #endif
+
+int
+main ()
+{
+return ! malloc (0);
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_func_malloc_0_nonnull=yes
+else
+  ac_cv_func_malloc_0_nonnull=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
+$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
+  if test $ac_cv_func_malloc_0_nonnull = yes; then :
+  gl_cv_func_malloc_0_nonnull=1
+else
+  gl_cv_func_malloc_0_nonnull=0
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull
+_ACEOF
+
+
+
 
 
   GNULIB_BTOWC=0;
@@ -9612,6 +10593,109 @@ fi
   :
 
 
+  GNULIB_DPRINTF=0;
+  GNULIB_FCLOSE=0;
+  GNULIB_FDOPEN=0;
+  GNULIB_FFLUSH=0;
+  GNULIB_FGETC=0;
+  GNULIB_FGETS=0;
+  GNULIB_FOPEN=0;
+  GNULIB_FPRINTF=0;
+  GNULIB_FPRINTF_POSIX=0;
+  GNULIB_FPURGE=0;
+  GNULIB_FPUTC=0;
+  GNULIB_FPUTS=0;
+  GNULIB_FREAD=0;
+  GNULIB_FREOPEN=0;
+  GNULIB_FSCANF=0;
+  GNULIB_FSEEK=0;
+  GNULIB_FSEEKO=0;
+  GNULIB_FTELL=0;
+  GNULIB_FTELLO=0;
+  GNULIB_FWRITE=0;
+  GNULIB_GETC=0;
+  GNULIB_GETCHAR=0;
+  GNULIB_GETDELIM=0;
+  GNULIB_GETLINE=0;
+  GNULIB_OBSTACK_PRINTF=0;
+  GNULIB_OBSTACK_PRINTF_POSIX=0;
+  GNULIB_PCLOSE=0;
+  GNULIB_PERROR=0;
+  GNULIB_POPEN=0;
+  GNULIB_PRINTF=0;
+  GNULIB_PRINTF_POSIX=0;
+  GNULIB_PUTC=0;
+  GNULIB_PUTCHAR=0;
+  GNULIB_PUTS=0;
+  GNULIB_REMOVE=0;
+  GNULIB_RENAME=0;
+  GNULIB_RENAMEAT=0;
+  GNULIB_SCANF=0;
+  GNULIB_SNPRINTF=0;
+  GNULIB_SPRINTF_POSIX=0;
+  GNULIB_STDIO_H_NONBLOCKING=0;
+  GNULIB_STDIO_H_SIGPIPE=0;
+  GNULIB_TMPFILE=0;
+  GNULIB_VASPRINTF=0;
+  GNULIB_VFSCANF=0;
+  GNULIB_VSCANF=0;
+  GNULIB_VDPRINTF=0;
+  GNULIB_VFPRINTF=0;
+  GNULIB_VFPRINTF_POSIX=0;
+  GNULIB_VPRINTF=0;
+  GNULIB_VPRINTF_POSIX=0;
+  GNULIB_VSNPRINTF=0;
+  GNULIB_VSPRINTF_POSIX=0;
+    HAVE_DECL_FPURGE=1;
+  HAVE_DECL_FSEEKO=1;
+  HAVE_DECL_FTELLO=1;
+  HAVE_DECL_GETDELIM=1;
+  HAVE_DECL_GETLINE=1;
+  HAVE_DECL_OBSTACK_PRINTF=1;
+  HAVE_DECL_SNPRINTF=1;
+  HAVE_DECL_VSNPRINTF=1;
+  HAVE_DPRINTF=1;
+  HAVE_FSEEKO=1;
+  HAVE_FTELLO=1;
+  HAVE_PCLOSE=1;
+  HAVE_POPEN=1;
+  HAVE_RENAMEAT=1;
+  HAVE_VASPRINTF=1;
+  HAVE_VDPRINTF=1;
+  REPLACE_DPRINTF=0;
+  REPLACE_FCLOSE=0;
+  REPLACE_FDOPEN=0;
+  REPLACE_FFLUSH=0;
+  REPLACE_FOPEN=0;
+  REPLACE_FPRINTF=0;
+  REPLACE_FPURGE=0;
+  REPLACE_FREOPEN=0;
+  REPLACE_FSEEK=0;
+  REPLACE_FSEEKO=0;
+  REPLACE_FTELL=0;
+  REPLACE_FTELLO=0;
+  REPLACE_GETDELIM=0;
+  REPLACE_GETLINE=0;
+  REPLACE_OBSTACK_PRINTF=0;
+  REPLACE_PERROR=0;
+  REPLACE_POPEN=0;
+  REPLACE_PRINTF=0;
+  REPLACE_REMOVE=0;
+  REPLACE_RENAME=0;
+  REPLACE_RENAMEAT=0;
+  REPLACE_SNPRINTF=0;
+  REPLACE_SPRINTF=0;
+  REPLACE_STDIO_READ_FUNCS=0;
+  REPLACE_STDIO_WRITE_FUNCS=0;
+  REPLACE_TMPFILE=0;
+  REPLACE_VASPRINTF=0;
+  REPLACE_VDPRINTF=0;
+  REPLACE_VFPRINTF=0;
+  REPLACE_VPRINTF=0;
+  REPLACE_VSNPRINTF=0;
+  REPLACE_VSPRINTF=0;
+
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
@@ -9975,41 +11059,6 @@ fi
     esac
   fi
 
-
-     GNULIB_FCHMODAT=0;
-  GNULIB_FSTAT=0;
-  GNULIB_FSTATAT=0;
-  GNULIB_FUTIMENS=0;
-  GNULIB_LCHMOD=0;
-  GNULIB_LSTAT=0;
-  GNULIB_MKDIRAT=0;
-  GNULIB_MKFIFO=0;
-  GNULIB_MKFIFOAT=0;
-  GNULIB_MKNOD=0;
-  GNULIB_MKNODAT=0;
-  GNULIB_STAT=0;
-  GNULIB_UTIMENSAT=0;
-    HAVE_FCHMODAT=1;
-  HAVE_FSTATAT=1;
-  HAVE_FUTIMENS=1;
-  HAVE_LCHMOD=1;
-  HAVE_LSTAT=1;
-  HAVE_MKDIRAT=1;
-  HAVE_MKFIFO=1;
-  HAVE_MKFIFOAT=1;
-  HAVE_MKNOD=1;
-  HAVE_MKNODAT=1;
-  HAVE_UTIMENSAT=1;
-  REPLACE_FSTAT=0;
-  REPLACE_FSTATAT=0;
-  REPLACE_FUTIMENS=0;
-  REPLACE_LSTAT=0;
-  REPLACE_MKDIR=0;
-  REPLACE_MKFIFO=0;
-  REPLACE_MKNOD=0;
-  REPLACE_STAT=0;
-  REPLACE_UTIMENSAT=0;
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
 $as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
 if test "${ac_cv_header_stat_broken+set}" = set; then :
@@ -10122,7 +11171,7 @@ fi
 
 
 
-    WINDOWS_64_BIT_OFF_T=0
+
 
 
 
@@ -10532,45 +11581,46 @@ fi
 
 
 
-          if test "x$datarootdir" = x; then
-    datarootdir='${datadir}'
 
-  fi
-    if test "x$docdir" = x; then
-    docdir='${datarootdir}/doc/${PACKAGE}'
 
+  if test $ac_cv_func_canonicalize_file_name = no; then
+    HAVE_CANONICALIZE_FILE_NAME=0
+    if test $ac_cv_func_realpath = no; then
+      HAVE_REALPATH=0
+    else
+      case "$gl_cv_func_realpath_works" in
+	*yes) ;;
+	*)    REPLACE_REALPATH=1 ;;
+      esac
+    fi
+  else
+    case "$gl_cv_func_realpath_works" in
+      *yes)
+        ;;
+      *)
+        REPLACE_CANONICALIZE_FILE_NAME=1
+        REPLACE_REALPATH=1
+        ;;
+    esac
   fi
-    if test "x$htmldir" = x; then
-    htmldir='${docdir}'
 
-  fi
-  if test "x$dvidir" = x; then
-    dvidir='${docdir}'
+  if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then
 
-  fi
-  if test "x$pdfdir" = x; then
-    pdfdir='${docdir}'
 
-  fi
-  if test "x$psdir" = x; then
-    psdir='${docdir}'
 
-  fi
-  if test "x$lispdir" = x; then
-    lispdir='${datarootdir}/emacs/site-lisp'
 
-  fi
-  if test "x$localedir" = x; then
-    localedir='${datarootdir}/locale'
 
-  fi
 
-      pkglibexecdir='${libexecdir}/${PACKAGE}'
 
 
+  gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext"
 
+  fi
 
 
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_CANONICALIZE_LGPL 1
+_ACEOF
 
 
 
@@ -10578,21 +11628,108 @@ fi
 
 
 
+          GNULIB_CANONICALIZE_FILE_NAME=1
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_dirent_h='<'dirent.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <dirent.h>" >&5
-$as_echo_n "checking absolute name of <dirent.h>... " >&6; }
-if test "${gl_cv_next_dirent_h+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
 
-             if test $ac_cv_header_dirent_h = yes; then
 
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+$as_echo "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h
+
+
+
+
+
+
+
+
+          GNULIB_REALPATH=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_REALPATH 1" >>confdefs.h
+
+
+
+
+
+
+
+
+          GNULIB_CHDIR=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_CHDIR 1" >>confdefs.h
+
+
+
+
+          if test "x$datarootdir" = x; then
+    datarootdir='${datadir}'
+
+  fi
+    if test "x$docdir" = x; then
+    docdir='${datarootdir}/doc/${PACKAGE}'
+
+  fi
+    if test "x$htmldir" = x; then
+    htmldir='${docdir}'
+
+  fi
+  if test "x$dvidir" = x; then
+    dvidir='${docdir}'
+
+  fi
+  if test "x$pdfdir" = x; then
+    pdfdir='${docdir}'
+
+  fi
+  if test "x$psdir" = x; then
+    psdir='${docdir}'
+
+  fi
+  if test "x$lispdir" = x; then
+    lispdir='${datarootdir}/emacs/site-lisp'
+
+  fi
+  if test "x$localedir" = x; then
+    localedir='${datarootdir}/locale'
+
+  fi
+
+      pkglibexecdir='${libexecdir}/${PACKAGE}'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_dirent_h='<'dirent.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <dirent.h>" >&5
+$as_echo_n "checking absolute name of <dirent.h>... " >&6; }
+if test "${gl_cv_next_dirent_h+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+             if test $ac_cv_header_dirent_h = yes; then
+
+
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <dirent.h>
 
@@ -10842,6 +11979,49 @@ _ACEOF
 
 
 
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
+$as_echo_n "checking whether // is distinct from /... " >&6; }
+if test "${gl_cv_double_slash_root+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+   if test x"$cross_compiling" = xyes ; then
+        # When cross-compiling, there is no way to tell whether // is special
+        # short of a list of hosts.  However, the only known hosts to date
+        # that have a distinct // are Apollo DomainOS (too old to port to),
+        # Cygwin, and z/OS.  If anyone knows of another system for which // has
+        # special semantics and is distinct from /, please report it to
+        # <bug-gnulib@gnu.org>.
+        case $host in
+          *-cygwin | i370-ibm-openedition)
+            gl_cv_double_slash_root=yes ;;
+          *)
+            # Be optimistic and assume that / and // are the same when we
+            # don't know.
+            gl_cv_double_slash_root='unknown, assuming no' ;;
+        esac
+      else
+        set x `ls -di / // 2>/dev/null`
+        if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then
+          gl_cv_double_slash_root=no
+        else
+          gl_cv_double_slash_root=yes
+        fi
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
+$as_echo "$gl_cv_double_slash_root" >&6; }
+  if test "$gl_cv_double_slash_root" = yes; then
+
+$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
+
+  fi
+
+
+
+
+
+
   FLOAT_H=
   REPLACE_FLOAT_LDBL=0
   case "$host_os" in
@@ -12376,11 +13556,96 @@ _ACEOF
 
 
 
+
   LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
 
 
 
 
+  if test $ac_cv_func_lstat = yes; then
+
+    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+      *no)
+        REPLACE_LSTAT=1
+        ;;
+    esac
+  else
+    HAVE_LSTAT=0
+  fi
+
+  if test $REPLACE_LSTAT = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext"
+
+    :
+  fi
+
+
+
+
+
+          GNULIB_LSTAT=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h
+
+
+
+
+
+
+  if test $gl_cv_func_malloc_posix = yes; then
+
+$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
+
+  else
+    REPLACE_MALLOC=1
+  fi
+
+  if test $REPLACE_MALLOC = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
+
+  fi
+
+
+
+
+
+          GNULIB_MALLOC_POSIX=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -14015,109 +15280,759 @@ fi
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
-$as_echo_n "checking for ssize_t... " >&6; }
-if test "${gt_cv_ssize_t+set}" = set; then :
+
+
+  if test $ac_cv_func_readlink = no; then
+    HAVE_READLINK=0
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5
+$as_echo_n "checking whether readlink signature is correct... " >&6; }
+if test "${gl_cv_decl_readlink_works+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
+#include <unistd.h>
+      /* Cause compilation failure if original declaration has wrong type.  */
+      ssize_t readlink (const char *, char *, size_t);
 int
 main ()
 {
-int x = sizeof (ssize_t *) + sizeof (ssize_t);
-            return !x;
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_ssize_t=yes
+  gl_cv_decl_readlink_works=yes
 else
-  gt_cv_ssize_t=no
+  gl_cv_decl_readlink_works=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5
-$as_echo "$gt_cv_ssize_t" >&6; }
-  if test $gt_cv_ssize_t = no; then
-
-$as_echo "#define ssize_t int" >>confdefs.h
-
-  fi
-
-
-
-
-  # Define two additional variables used in the Makefile substitution.
-
-  if test "$ac_cv_header_stdbool_h" = yes; then
-    STDBOOL_H=''
-  else
-    STDBOOL_H='stdbool.h'
-  fi
-
-   if test -n "$STDBOOL_H"; then
-  GL_GENERATE_STDBOOL_H_TRUE=
-  GL_GENERATE_STDBOOL_H_FALSE='#'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlink_works" >&5
+$as_echo "$gl_cv_decl_readlink_works" >&6; }
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5
+$as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; }
+if test "${gl_cv_func_readlink_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  GL_GENERATE_STDBOOL_H_TRUE='#'
-  GL_GENERATE_STDBOOL_H_FALSE=
-fi
-
-
-  if test "$ac_cv_type__Bool" = yes; then
-    HAVE__BOOL=1
-  else
-    HAVE__BOOL=0
-  fi
-
-
-
-
+  # We have readlink, so assume ln -s works.
+       ln -s conftest.no-such conftest.link
+       ln -s conftest.link conftest.lnk2
+       if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_readlink_works="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_readlink_works="guessing no" ;;
+          esac
 
-  STDDEF_H=
-  if test $gt_cv_c_wchar_t = no; then
-    HAVE_WCHAR_T=0
-    STDDEF_H=stddef.h
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
-$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
-if test "${gl_cv_decl_null_works+set}" = set; then :
-  $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stddef.h>
-      int test[2 * (sizeof NULL == sizeof (void *)) -1];
+#include <unistd.h>
 
 int
 main ()
 {
-
+char buf[20];
+      return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_decl_null_works=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_readlink_works=yes
 else
-  gl_cv_decl_null_works=no
+  gl_cv_func_readlink_works=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
-$as_echo "$gl_cv_decl_null_works" >&6; }
-  if test $gl_cv_decl_null_works = no; then
-    REPLACE_NULL=1
-    STDDEF_H=stddef.h
-  fi
 
-   if test -n "$STDDEF_H"; then
-  GL_GENERATE_STDDEF_H_TRUE=
-  GL_GENERATE_STDDEF_H_FALSE='#'
-else
+      rm -f conftest.link conftest.lnk2
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5
+$as_echo "$gl_cv_func_readlink_works" >&6; }
+    case "$gl_cv_func_readlink_works" in
+      *yes)
+        if test "$gl_cv_decl_readlink_works" != yes; then
+          REPLACE_READLINK=1
+        fi
+        ;;
+      *)
+
+$as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h
+
+        REPLACE_READLINK=1
+        ;;
+    esac
+  fi
+
+  if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext"
+
+
+  :
+
+  fi
+
+
+
+
+
+          GNULIB_READLINK=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_READLINK 1" >>confdefs.h
+
+
+
+
+
+
+
+
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename honors trailing slash on destination" >&5
+$as_echo_n "checking whether rename honors trailing slash on destination... " >&6; }
+if test "${gl_cv_func_rename_slash_dst_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk
+    touch conftest.f && touch conftest.f1 && mkdir conftest.d1 ||
+      as_fn_error "cannot create temporary files" "$LINENO" 5
+    # Assume that if we have lstat, we can also check symlinks.
+    if test $ac_cv_func_lstat = yes; then
+      ln -s conftest.f conftest.lnk
+    fi
+    if test "$cross_compiling" = yes; then :
+        case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_rename_slash_dst_works="guessing no" ;;
+       esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#        include <stdio.h>
+#        include <stdlib.h>
+
+int
+main ()
+{
+int result = 0;
+           if (rename ("conftest.f1", "conftest.f2/") == 0)
+             result |= 1;
+           if (rename ("conftest.d1", "conftest.d2/") != 0)
+             result |= 2;
+#if HAVE_LSTAT
+           if (rename ("conftest.f", "conftest.lnk/") == 0)
+             result |= 4;
+#endif
+           return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_rename_slash_dst_works=yes
+else
+  gl_cv_func_rename_slash_dst_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_slash_dst_works" >&5
+$as_echo "$gl_cv_func_rename_slash_dst_works" >&6; }
+  case "$gl_cv_func_rename_slash_dst_works" in
+    *yes) ;;
+    *)
+      REPLACE_RENAME=1
+
+$as_echo "#define RENAME_TRAILING_SLASH_DEST_BUG 1" >>confdefs.h
+
+      ;;
+  esac
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename honors trailing slash on source" >&5
+$as_echo_n "checking whether rename honors trailing slash on source... " >&6; }
+if test "${gl_cv_func_rename_slash_src_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk
+    touch conftest.f && touch conftest.f1 && mkdir conftest.d1 ||
+      as_fn_error "cannot create temporary files" "$LINENO" 5
+    # Assume that if we have lstat, we can also check symlinks.
+    if test $ac_cv_func_lstat = yes; then
+      ln -s conftest.f conftest.lnk
+    fi
+    if test "$cross_compiling" = yes; then :
+        case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_rename_slash_src_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_rename_slash_src_works="guessing no" ;;
+       esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#        include <stdio.h>
+#        include <stdlib.h>
+
+int
+main ()
+{
+int result = 0;
+           if (rename ("conftest.f1/", "conftest.d3") == 0)
+             result |= 1;
+           if (rename ("conftest.d1/", "conftest.d2") != 0)
+             result |= 2;
+#if HAVE_LSTAT
+           if (rename ("conftest.lnk/", "conftest.f") == 0)
+             result |= 4;
+#endif
+           return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_rename_slash_src_works=yes
+else
+  gl_cv_func_rename_slash_src_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_slash_src_works" >&5
+$as_echo "$gl_cv_func_rename_slash_src_works" >&6; }
+  case "$gl_cv_func_rename_slash_src_works" in
+    *yes) ;;
+    *)
+      REPLACE_RENAME=1
+
+$as_echo "#define RENAME_TRAILING_SLASH_SOURCE_BUG 1" >>confdefs.h
+
+      ;;
+  esac
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename manages hard links correctly" >&5
+$as_echo_n "checking whether rename manages hard links correctly... " >&6; }
+if test "${gl_cv_func_rename_link_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test $ac_cv_func_link = yes; then
+       rm -rf conftest.f conftest.f1
+       if touch conftest.f && ln conftest.f conftest.f1 &&
+           set x `ls -i conftest.f conftest.f1` && test "" = ""; then
+         if test "$cross_compiling" = yes; then :
+             case "$host_os" in
+                      # Guess yes on glibc systems.
+              *-gnu*) gl_cv_func_rename_link_works="guessing yes" ;;
+                      # If we don't know, assume the worst.
+              *)      gl_cv_func_rename_link_works="guessing no" ;;
+            esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#             include <stdio.h>
+#             include <stdlib.h>
+#             include <unistd.h>
+
+int
+main ()
+{
+int result = 0;
+                if (rename ("conftest.f", "conftest.f1"))
+                  result |= 1;
+                if (unlink ("conftest.f1"))
+                  result |= 2;
+                if (rename ("conftest.f", "conftest.f"))
+                  result |= 4;
+                if (rename ("conftest.f1", "conftest.f1") == 0)
+                  result |= 8;
+                return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_rename_link_works=yes
+else
+  gl_cv_func_rename_link_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+       else
+         gl_cv_func_rename_link_works="guessing no"
+       fi
+       rm -rf conftest.f conftest.f1
+     else
+       gl_cv_func_rename_link_works=yes
+     fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_link_works" >&5
+$as_echo "$gl_cv_func_rename_link_works" >&6; }
+  case "$gl_cv_func_rename_link_works" in
+    *yes) ;;
+    *)
+      REPLACE_RENAME=1
+
+$as_echo "#define RENAME_HARD_LINK_BUG 1" >>confdefs.h
+
+      ;;
+  esac
+
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename manages existing destinations correctly" >&5
+$as_echo_n "checking whether rename manages existing destinations correctly... " >&6; }
+if test "${gl_cv_func_rename_dest_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -rf conftest.f conftest.d1 conftest.d2
+    touch conftest.f && mkdir conftest.d1 conftest.d2 ||
+      as_fn_error "cannot create temporary files" "$LINENO" 5
+    if test "$cross_compiling" = yes; then :
+        case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_rename_dest_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_rename_dest_works="guessing no" ;;
+       esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#        include <stdio.h>
+#        include <stdlib.h>
+
+int
+main ()
+{
+int result = 0;
+           if (rename ("conftest.d1", "conftest.d2") != 0)
+             result |= 1;
+           if (rename ("conftest.d2", "conftest.f") == 0)
+             result |= 2;
+           return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_rename_dest_works=yes
+else
+  gl_cv_func_rename_dest_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    rm -rf conftest.f conftest.d1 conftest.d2
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_dest_works" >&5
+$as_echo "$gl_cv_func_rename_dest_works" >&6; }
+  case "$gl_cv_func_rename_dest_works" in
+    *yes) ;;
+    *)
+      REPLACE_RENAME=1
+
+$as_echo "#define RENAME_DEST_EXISTS_BUG 1" >>confdefs.h
+
+      ;;
+  esac
+
+  if test $REPLACE_RENAME = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext"
+
+  fi
+
+
+
+
+
+          GNULIB_RENAME=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_RENAME 1" >>confdefs.h
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rmdir works" >&5
+$as_echo_n "checking whether rmdir works... " >&6; }
+if test "${gl_cv_func_rmdir_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  mkdir conftest.dir
+     touch conftest.file
+     if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                  # Guess yes on glibc systems.
+          *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;;
+                  # If we don't know, assume the worst.
+          *)      gl_cv_func_rmdir_works="guessing no" ;;
+        esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+           #include <errno.h>
+           #if HAVE_UNISTD_H
+           # include <unistd.h>
+           #else /* on Windows with MSVC */
+           # include <direct.h>
+           #endif
+
+int
+main ()
+{
+int result = 0;
+      if (!rmdir ("conftest.file/"))
+        result |= 1;
+      else if (errno != ENOTDIR)
+        result |= 2;
+      if (!rmdir ("conftest.dir/./"))
+        result |= 4;
+      return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_rmdir_works=yes
+else
+  gl_cv_func_rmdir_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+     rm -rf conftest.dir conftest.file
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rmdir_works" >&5
+$as_echo "$gl_cv_func_rmdir_works" >&6; }
+  case "$gl_cv_func_rmdir_works" in
+    *yes) ;;
+    *)
+      REPLACE_RMDIR=1
+      ;;
+  esac
+
+  if test $REPLACE_RMDIR = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS rmdir.$ac_objext"
+
+  fi
+
+
+
+
+
+          GNULIB_RMDIR=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_RMDIR 1" >>confdefs.h
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
+$as_echo_n "checking for ssize_t... " >&6; }
+if test "${gt_cv_ssize_t+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+int
+main ()
+{
+int x = sizeof (ssize_t *) + sizeof (ssize_t);
+            return !x;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gt_cv_ssize_t=yes
+else
+  gt_cv_ssize_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5
+$as_echo "$gt_cv_ssize_t" >&6; }
+  if test $gt_cv_ssize_t = no; then
+
+$as_echo "#define ssize_t int" >>confdefs.h
+
+  fi
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5
+$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; }
+if test "${gl_cv_func_stat_dir_slash+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  case $host_os in
+            mingw*) gl_cv_func_stat_dir_slash="guessing no";;
+            *) gl_cv_func_stat_dir_slash="guessing yes";;
+          esac
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/stat.h>
+
+int
+main ()
+{
+struct stat st; return stat (".", &st) != stat ("./", &st);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_stat_dir_slash=yes
+else
+  gl_cv_func_stat_dir_slash=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5
+$as_echo "$gl_cv_func_stat_dir_slash" >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
+$as_echo_n "checking whether stat handles trailing slashes on files... " >&6; }
+if test "${gl_cv_func_stat_file_slash+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  touch conftest.tmp
+       # Assume that if we have lstat, we can also check symlinks.
+       if test $ac_cv_func_lstat = yes; then
+         ln -s conftest.tmp conftest.lnk
+       fi
+       if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_stat_file_slash="guessing no" ;;
+          esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/stat.h>
+
+int
+main ()
+{
+int result = 0;
+      struct stat st;
+      if (!stat ("conftest.tmp/", &st))
+        result |= 1;
+#if HAVE_LSTAT
+      if (!stat ("conftest.lnk/", &st))
+        result |= 2;
+#endif
+      return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_stat_file_slash=yes
+else
+  gl_cv_func_stat_file_slash=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+       rm -f conftest.tmp conftest.lnk
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5
+$as_echo "$gl_cv_func_stat_file_slash" >&6; }
+  case $gl_cv_func_stat_dir_slash in
+    *no) REPLACE_STAT=1
+
+$as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h
+;;
+  esac
+  case $gl_cv_func_stat_file_slash in
+    *no) REPLACE_STAT=1
+
+$as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
+;;
+  esac
+
+  if test $REPLACE_STAT = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext"
+
+    :
+  fi
+
+
+
+
+
+          GNULIB_STAT=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h
+
+
+
+
+
+
+  # Define two additional variables used in the Makefile substitution.
+
+  if test "$ac_cv_header_stdbool_h" = yes; then
+    STDBOOL_H=''
+  else
+    STDBOOL_H='stdbool.h'
+  fi
+
+   if test -n "$STDBOOL_H"; then
+  GL_GENERATE_STDBOOL_H_TRUE=
+  GL_GENERATE_STDBOOL_H_FALSE='#'
+else
+  GL_GENERATE_STDBOOL_H_TRUE='#'
+  GL_GENERATE_STDBOOL_H_FALSE=
+fi
+
+
+  if test "$ac_cv_type__Bool" = yes; then
+    HAVE__BOOL=1
+  else
+    HAVE__BOOL=0
+  fi
+
+
+
+
+
+  STDDEF_H=
+  if test $gt_cv_c_wchar_t = no; then
+    HAVE_WCHAR_T=0
+    STDDEF_H=stddef.h
+  fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
+$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
+if test "${gl_cv_decl_null_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
+      int test[2 * (sizeof NULL == sizeof (void *)) -1];
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_decl_null_works=yes
+else
+  gl_cv_decl_null_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
+$as_echo "$gl_cv_decl_null_works" >&6; }
+  if test $gl_cv_decl_null_works = no; then
+    REPLACE_NULL=1
+    STDDEF_H=stddef.h
+  fi
+
+   if test -n "$STDDEF_H"; then
+  GL_GENERATE_STDDEF_H_TRUE=
+  GL_GENERATE_STDDEF_H_FALSE='#'
+else
   GL_GENERATE_STDDEF_H_TRUE='#'
   GL_GENERATE_STDDEF_H_FALSE=
 fi
@@ -14198,6 +16113,272 @@ fi
 
 
 
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_stdio_h='<'stdio.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdio.h>" >&5
+$as_echo_n "checking absolute name of <stdio.h>... " >&6; }
+if test "${gl_cv_next_stdio_h+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+
+_ACEOF
+                                                                                                                        case "$host_os" in
+                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
+                 *)    gl_absname_cpp="$ac_cpp" ;;
+               esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'stdio.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
+                                                            gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+                      sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5
+$as_echo "$gl_cv_next_stdio_h" >&6; }
+     fi
+     NEXT_STDIO_H=$gl_cv_next_stdio_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'stdio.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_stdio_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive
+
+
+
+
+
+      GNULIB_FSCANF=1
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_FSCANF 1
+_ACEOF
+
+
+  GNULIB_SCANF=1
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_SCANF 1
+_ACEOF
+
+
+  GNULIB_FGETC=1
+  GNULIB_GETC=1
+  GNULIB_GETCHAR=1
+  GNULIB_FGETS=1
+  GNULIB_FREAD=1
+
+
+      GNULIB_FPRINTF=1
+  GNULIB_PRINTF=1
+  GNULIB_VFPRINTF=1
+  GNULIB_VPRINTF=1
+  GNULIB_FPUTC=1
+  GNULIB_PUTC=1
+  GNULIB_PUTCHAR=1
+  GNULIB_FPUTS=1
+  GNULIB_PUTS=1
+  GNULIB_FWRITE=1
+
+
+
+
+    for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen     renameat snprintf tmpfile vdprintf vsnprintf; do
+    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+
+int
+main ()
+{
+#undef $gl_func
+  (void) $gl_func;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_gl_Symbol=yes"
+else
+  eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+    eval as_val=\$$as_gl_Symbol
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+                     eval ac_cv_have_decl_$gl_func=yes
+fi
+      done
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_stdlib_h='<'stdlib.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5
+$as_echo_n "checking absolute name of <stdlib.h>... " >&6; }
+if test "${gl_cv_next_stdlib_h+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+                                                                                                                        case "$host_os" in
+                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
+                 *)    gl_absname_cpp="$ac_cpp" ;;
+               esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'stdlib.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
+                                                            gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+                      sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5
+$as_echo "$gl_cv_next_stdlib_h" >&6; }
+     fi
+     NEXT_STDLIB_H=$gl_cv_next_stdlib_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'stdlib.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_stdlib_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive
+
+
+
+
+
+
+    for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt     initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps     posix_openpt ptsname ptsname_r random random_r realpath rpmatch     setenv setstate setstate_r srandom srandom_r     strtod strtoll strtoull unlockpt unsetenv; do
+    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#if HAVE_SYS_LOADAVG_H
+# include <sys/loadavg.h>
+#endif
+#if HAVE_RANDOM_H
+# include <random.h>
+#endif
+
+int
+main ()
+{
+#undef $gl_func
+  (void) $gl_func;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_gl_Symbol=yes"
+else
+  eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+    eval as_val=\$$as_gl_Symbol
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+                     eval ac_cv_have_decl_$gl_func=yes
+fi
+      done
+
+
+
+
+
+
+
   if test $REPLACE_STRSTR = 0; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strstr works in linear time" >&5
 $as_echo_n "checking whether strstr works in linear time... " >&6; }
@@ -14495,7 +16676,7 @@ fi
 
 
 
-    WINDOWS_64_BIT_ST_SIZE=0
+
 
 
   if test $WINDOWS_64_BIT_ST_SIZE = 1; then
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/configure.ac ./gdb/gnulib/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/configure.ac	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/configure.ac	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 dnl Autoconf configure script for GDB, the GNU debugger.
-dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1995-2015 Free Software Foundation, Inc.
 dnl
 dnl This file is part of GDB.
 dnl
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/basename-lgpl.c ./gdb/gnulib/import/basename-lgpl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/basename-lgpl.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/basename-lgpl.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,75 @@
+/* basename.c -- return the last element in a file name
+
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2012 Free Software
+   Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "dirname.h"
+
+#include <string.h>
+
+/* Return the address of the last file name component of NAME.  If
+   NAME has no relative file name components because it is a file
+   system root, return the empty string.  */
+
+char *
+last_component (char const *name)
+{
+  char const *base = name + FILE_SYSTEM_PREFIX_LEN (name);
+  char const *p;
+  bool saw_slash = false;
+
+  while (ISSLASH (*base))
+    base++;
+
+  for (p = base; *p; p++)
+    {
+      if (ISSLASH (*p))
+        saw_slash = true;
+      else if (saw_slash)
+        {
+          base = p;
+          saw_slash = false;
+        }
+    }
+
+  return (char *) base;
+}
+
+/* Return the length of the basename NAME.  Typically NAME is the
+   value returned by base_name or last_component.  Act like strlen
+   (NAME), except omit all trailing slashes.  */
+
+size_t
+base_len (char const *name)
+{
+  size_t len;
+  size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name);
+
+  for (len = strlen (name);  1 < len && ISSLASH (name[len - 1]);  len--)
+    continue;
+
+  if (DOUBLE_SLASH_IS_DISTINCT_ROOT && len == 1
+      && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2])
+    return 2;
+
+  if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len
+      && len == prefix_len && ISSLASH (name[prefix_len]))
+    return prefix_len + 1;
+
+  return len;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/canonicalize-lgpl.c ./gdb/gnulib/import/canonicalize-lgpl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/canonicalize-lgpl.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/canonicalize-lgpl.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,411 @@
+/* Return the canonical absolute name of a given file.
+   Copyright (C) 1996-2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBC
+# define _GL_USE_STDLIB_ALLOC 1
+# include <config.h>
+#endif
+
+#if !HAVE_CANONICALIZE_FILE_NAME || !FUNC_REALPATH_WORKS || defined _LIBC
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
+   optimizes away the name == NULL test below.  */
+#define _GL_ARG_NONNULL(params)
+
+/* Specification.  */
+#include <stdlib.h>
+
+#include <alloca.h>
+#include <string.h>
+#include <unistd.h>
+#include <limits.h>
+#if HAVE_SYS_PARAM_H || defined _LIBC
+# include <sys/param.h>
+#endif
+#include <sys/stat.h>
+#include <errno.h>
+#include <stddef.h>
+
+#ifdef _LIBC
+# include <shlib-compat.h>
+#else
+# define SHLIB_COMPAT(lib, introduced, obsoleted) 0
+# define versioned_symbol(lib, local, symbol, version) extern int dummy
+# define compat_symbol(lib, local, symbol, version)
+# define weak_alias(local, symbol)
+# define __canonicalize_file_name canonicalize_file_name
+# define __realpath realpath
+# include "pathmax.h"
+# include "malloca.h"
+# include "dosname.h"
+# if HAVE_GETCWD
+#  if IN_RELOCWRAPPER
+    /* When building the relocatable program wrapper, use the system's getcwd
+       function, not the gnulib override, otherwise we would get a link error.
+     */
+#   undef getcwd
+#  endif
+#  ifdef VMS
+    /* We want the directory in Unix syntax, not in VMS syntax.  */
+#   define __getcwd(buf, max) getcwd (buf, max, 0)
+#  else
+#   define __getcwd getcwd
+#  endif
+# else
+#  define __getcwd(buf, max) getwd (buf)
+# endif
+# define __readlink readlink
+# define __set_errno(e) errno = (e)
+# ifndef MAXSYMLINKS
+#  ifdef SYMLOOP_MAX
+#   define MAXSYMLINKS SYMLOOP_MAX
+#  else
+#   define MAXSYMLINKS 20
+#  endif
+# endif
+#endif
+
+#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
+# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
+#endif
+
+#if !FUNC_REALPATH_WORKS || defined _LIBC
+/* Return the canonical absolute name of file NAME.  A canonical name
+   does not contain any ".", ".." components nor any repeated path
+   separators ('/') or symlinks.  All path components must exist.  If
+   RESOLVED is null, the result is malloc'd; otherwise, if the
+   canonical name is PATH_MAX chars or more, returns null with 'errno'
+   set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars,
+   returns the name in RESOLVED.  If the name cannot be resolved and
+   RESOLVED is non-NULL, it contains the path of the first component
+   that cannot be resolved.  If the path can be resolved, RESOLVED
+   holds the same value as the value returned.  */
+
+char *
+__realpath (const char *name, char *resolved)
+{
+  char *rpath, *dest, *extra_buf = NULL;
+  const char *start, *end, *rpath_limit;
+  long int path_max;
+  int num_links = 0;
+  size_t prefix_len;
+
+  if (name == NULL)
+    {
+      /* As per Single Unix Specification V2 we must return an error if
+         either parameter is a null pointer.  We extend this to allow
+         the RESOLVED parameter to be NULL in case the we are expected to
+         allocate the room for the return value.  */
+      __set_errno (EINVAL);
+      return NULL;
+    }
+
+  if (name[0] == '\0')
+    {
+      /* As per Single Unix Specification V2 we must return an error if
+         the name argument points to an empty string.  */
+      __set_errno (ENOENT);
+      return NULL;
+    }
+
+#ifdef PATH_MAX
+  path_max = PATH_MAX;
+#else
+  path_max = pathconf (name, _PC_PATH_MAX);
+  if (path_max <= 0)
+    path_max = 8192;
+#endif
+
+  if (resolved == NULL)
+    {
+      rpath = malloc (path_max);
+      if (rpath == NULL)
+        {
+          /* It's easier to set errno to ENOMEM than to rely on the
+             'malloc-posix' gnulib module.  */
+          errno = ENOMEM;
+          return NULL;
+        }
+    }
+  else
+    rpath = resolved;
+  rpath_limit = rpath + path_max;
+
+  /* This is always zero for Posix hosts, but can be 2 for MS-Windows
+     and MS-DOS X:/foo/bar file names.  */
+  prefix_len = FILE_SYSTEM_PREFIX_LEN (name);
+
+  if (!IS_ABSOLUTE_FILE_NAME (name))
+    {
+      if (!__getcwd (rpath, path_max))
+        {
+          rpath[0] = '\0';
+          goto error;
+        }
+      dest = strchr (rpath, '\0');
+      start = name;
+      prefix_len = FILE_SYSTEM_PREFIX_LEN (rpath);
+    }
+  else
+    {
+      dest = rpath;
+      if (prefix_len)
+        {
+          memcpy (rpath, name, prefix_len);
+          dest += prefix_len;
+        }
+      *dest++ = '/';
+      if (DOUBLE_SLASH_IS_DISTINCT_ROOT)
+        {
+          if (ISSLASH (name[1]) && !ISSLASH (name[2]) && !prefix_len)
+            *dest++ = '/';
+          *dest = '\0';
+        }
+      start = name + prefix_len;
+    }
+
+  for (end = start; *start; start = end)
+    {
+#ifdef _LIBC
+      struct stat64 st;
+#else
+      struct stat st;
+#endif
+      int n;
+
+      /* Skip sequence of multiple path-separators.  */
+      while (ISSLASH (*start))
+        ++start;
+
+      /* Find end of path component.  */
+      for (end = start; *end && !ISSLASH (*end); ++end)
+        /* Nothing.  */;
+
+      if (end - start == 0)
+        break;
+      else if (end - start == 1 && start[0] == '.')
+        /* nothing */;
+      else if (end - start == 2 && start[0] == '.' && start[1] == '.')
+        {
+          /* Back up to previous component, ignore if at root already.  */
+          if (dest > rpath + prefix_len + 1)
+            for (--dest; dest > rpath && !ISSLASH (dest[-1]); --dest)
+              continue;
+          if (DOUBLE_SLASH_IS_DISTINCT_ROOT
+              && dest == rpath + 1 && !prefix_len
+              && ISSLASH (*dest) && !ISSLASH (dest[1]))
+            dest++;
+        }
+      else
+        {
+          size_t new_size;
+
+          if (!ISSLASH (dest[-1]))
+            *dest++ = '/';
+
+          if (dest + (end - start) >= rpath_limit)
+            {
+              ptrdiff_t dest_offset = dest - rpath;
+              char *new_rpath;
+
+              if (resolved)
+                {
+                  __set_errno (ENAMETOOLONG);
+                  if (dest > rpath + prefix_len + 1)
+                    dest--;
+                  *dest = '\0';
+                  goto error;
+                }
+              new_size = rpath_limit - rpath;
+              if (end - start + 1 > path_max)
+                new_size += end - start + 1;
+              else
+                new_size += path_max;
+              new_rpath = (char *) realloc (rpath, new_size);
+              if (new_rpath == NULL)
+                {
+                  /* It's easier to set errno to ENOMEM than to rely on the
+                     'realloc-posix' gnulib module.  */
+                  errno = ENOMEM;
+                  goto error;
+                }
+              rpath = new_rpath;
+              rpath_limit = rpath + new_size;
+
+              dest = rpath + dest_offset;
+            }
+
+#ifdef _LIBC
+          dest = __mempcpy (dest, start, end - start);
+#else
+          memcpy (dest, start, end - start);
+          dest += end - start;
+#endif
+          *dest = '\0';
+
+#ifdef _LIBC
+          if (__lxstat64 (_STAT_VER, rpath, &st) < 0)
+#else
+          if (lstat (rpath, &st) < 0)
+#endif
+            goto error;
+
+          if (S_ISLNK (st.st_mode))
+            {
+              char *buf;
+              size_t len;
+
+              if (++num_links > MAXSYMLINKS)
+                {
+                  __set_errno (ELOOP);
+                  goto error;
+                }
+
+              buf = malloca (path_max);
+              if (!buf)
+                {
+                  errno = ENOMEM;
+                  goto error;
+                }
+
+              n = __readlink (rpath, buf, path_max - 1);
+              if (n < 0)
+                {
+                  int saved_errno = errno;
+                  freea (buf);
+                  errno = saved_errno;
+                  goto error;
+                }
+              buf[n] = '\0';
+
+              if (!extra_buf)
+                {
+                  extra_buf = malloca (path_max);
+                  if (!extra_buf)
+                    {
+                      freea (buf);
+                      errno = ENOMEM;
+                      goto error;
+                    }
+                }
+
+              len = strlen (end);
+              if ((long int) (n + len) >= path_max)
+                {
+                  freea (buf);
+                  __set_errno (ENAMETOOLONG);
+                  goto error;
+                }
+
+              /* Careful here, end may be a pointer into extra_buf... */
+              memmove (&extra_buf[n], end, len + 1);
+              name = end = memcpy (extra_buf, buf, n);
+
+              if (IS_ABSOLUTE_FILE_NAME (buf))
+                {
+                  size_t pfxlen = FILE_SYSTEM_PREFIX_LEN (buf);
+
+                  if (pfxlen)
+                    memcpy (rpath, buf, pfxlen);
+                  dest = rpath + pfxlen;
+                  *dest++ = '/'; /* It's an absolute symlink */
+                  if (DOUBLE_SLASH_IS_DISTINCT_ROOT)
+                    {
+                      if (ISSLASH (buf[1]) && !ISSLASH (buf[2]) && !pfxlen)
+                        *dest++ = '/';
+                      *dest = '\0';
+                    }
+                  /* Install the new prefix to be in effect hereafter.  */
+                  prefix_len = pfxlen;
+                }
+              else
+                {
+                  /* Back up to previous component, ignore if at root
+                     already: */
+                  if (dest > rpath + prefix_len + 1)
+                    for (--dest; dest > rpath && !ISSLASH (dest[-1]); --dest)
+                      continue;
+                  if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1
+                      && ISSLASH (*dest) && !ISSLASH (dest[1]) && !prefix_len)
+                    dest++;
+                }
+            }
+          else if (!S_ISDIR (st.st_mode) && *end != '\0')
+            {
+              __set_errno (ENOTDIR);
+              goto error;
+            }
+        }
+    }
+  if (dest > rpath + prefix_len + 1 && ISSLASH (dest[-1]))
+    --dest;
+  if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 && !prefix_len
+      && ISSLASH (*dest) && !ISSLASH (dest[1]))
+    dest++;
+  *dest = '\0';
+
+  if (extra_buf)
+    freea (extra_buf);
+
+  return rpath;
+
+error:
+  {
+    int saved_errno = errno;
+    if (extra_buf)
+      freea (extra_buf);
+    if (resolved == NULL)
+      free (rpath);
+    errno = saved_errno;
+  }
+  return NULL;
+}
+versioned_symbol (libc, __realpath, realpath, GLIBC_2_3);
+#endif /* !FUNC_REALPATH_WORKS || defined _LIBC */
+
+
+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3)
+char *
+attribute_compat_text_section
+__old_realpath (const char *name, char *resolved)
+{
+  if (resolved == NULL)
+    {
+      __set_errno (EINVAL);
+      return NULL;
+    }
+
+  return __realpath (name, resolved);
+}
+compat_symbol (libc, __old_realpath, realpath, GLIBC_2_0);
+#endif
+
+
+char *
+__canonicalize_file_name (const char *name)
+{
+  return __realpath (name, NULL);
+}
+weak_alias (__canonicalize_file_name, canonicalize_file_name)
+
+#else
+
+/* This declaration is solely to ensure that after preprocessing
+   this file is never empty.  */
+typedef int dummy;
+
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/dirname.h ./gdb/gnulib/import/dirname.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/dirname.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/dirname.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,46 @@
+/*  Take file names apart into directory and base names.
+
+    Copyright (C) 1998, 2001, 2003-2006, 2009-2012 Free Software Foundation,
+    Inc.
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef DIRNAME_H_
+# define DIRNAME_H_ 1
+
+# include <stdbool.h>
+# include <stddef.h>
+# include "dosname.h"
+
+# ifndef DIRECTORY_SEPARATOR
+#  define DIRECTORY_SEPARATOR '/'
+# endif
+
+# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
+#  define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
+# endif
+
+# if GNULIB_DIRNAME
+char *base_name (char const *file);
+char *dir_name (char const *file);
+# endif
+
+char *mdir_name (char const *file);
+size_t base_len (char const *file) _GL_ATTRIBUTE_PURE;
+size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE;
+char *last_component (char const *file) _GL_ATTRIBUTE_PURE;
+
+bool strip_trailing_slashes (char *file);
+
+#endif /* not DIRNAME_H_ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/dirname-lgpl.c ./gdb/gnulib/import/dirname-lgpl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/dirname-lgpl.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/dirname-lgpl.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,86 @@
+/* dirname.c -- return all but the last element in a file name
+
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2012 Free Software
+   Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "dirname.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+/* Return the length of the prefix of FILE that will be used by
+   dir_name.  If FILE is in the working directory, this returns zero
+   even though 'dir_name (FILE)' will return ".".  Works properly even
+   if there are trailing slashes (by effectively ignoring them).  */
+
+size_t
+dir_len (char const *file)
+{
+  size_t prefix_length = FILE_SYSTEM_PREFIX_LEN (file);
+  size_t length;
+
+  /* Advance prefix_length beyond important leading slashes.  */
+  prefix_length += (prefix_length != 0
+                    ? (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+                       && ISSLASH (file[prefix_length]))
+                    : (ISSLASH (file[0])
+                       ? ((DOUBLE_SLASH_IS_DISTINCT_ROOT
+                           && ISSLASH (file[1]) && ! ISSLASH (file[2])
+                           ? 2 : 1))
+                       : 0));
+
+  /* Strip the basename and any redundant slashes before it.  */
+  for (length = last_component (file) - file;
+       prefix_length < length; length--)
+    if (! ISSLASH (file[length - 1]))
+      break;
+  return length;
+}
+
+
+/* In general, we can't use the builtin 'dirname' function if available,
+   since it has different meanings in different environments.
+   In some environments the builtin 'dirname' modifies its argument.
+
+   Return the leading directories part of FILE, allocated with malloc.
+   Works properly even if there are trailing slashes (by effectively
+   ignoring them).  Return NULL on failure.
+
+   If lstat (FILE) would succeed, then { chdir (dir_name (FILE));
+   lstat (base_name (FILE)); } will access the same file.  Likewise,
+   if the sequence { chdir (dir_name (FILE));
+   rename (base_name (FILE), "foo"); } succeeds, you have renamed FILE
+   to "foo" in the same directory FILE was in.  */
+
+char *
+mdir_name (char const *file)
+{
+  size_t length = dir_len (file);
+  bool append_dot = (length == 0
+                     || (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+                         && length == FILE_SYSTEM_PREFIX_LEN (file)
+                         && file[2] != '\0' && ! ISSLASH (file[2])));
+  char *dir = malloc (length + append_dot + 1);
+  if (!dir)
+    return NULL;
+  memcpy (dir, file, length);
+  if (append_dot)
+    dir[length++] = '.';
+  dir[length] = '\0';
+  return dir;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/dosname.h ./gdb/gnulib/import/dosname.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/dosname.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/dosname.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,53 @@
+/* File names on MS-DOS/Windows systems.
+
+   Copyright (C) 2000-2001, 2004-2006, 2009-2012 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   From Paul Eggert and Jim Meyering.  */
+
+#ifndef _DOSNAME_H
+#define _DOSNAME_H
+
+#if (defined _WIN32 || defined __WIN32__ ||     \
+     defined __MSDOS__ || defined __CYGWIN__ || \
+     defined __EMX__ || defined __DJGPP__)
+   /* This internal macro assumes ASCII, but all hosts that support drive
+      letters use ASCII.  */
+# define _IS_DRIVE_LETTER(C) (((unsigned int) (C) | ('a' - 'A')) - 'a'  \
+                              <= 'z' - 'a')
+# define FILE_SYSTEM_PREFIX_LEN(Filename) \
+          (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':' ? 2 : 0)
+# ifndef __CYGWIN__
+#  define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1
+# endif
+# define ISSLASH(C) ((C) == '/' || (C) == '\\')
+#else
+# define FILE_SYSTEM_PREFIX_LEN(Filename) 0
+# define ISSLASH(C) ((C) == '/')
+#endif
+
+#ifndef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
+#endif
+
+#if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+#  define IS_ABSOLUTE_FILE_NAME(F) ISSLASH ((F)[FILE_SYSTEM_PREFIX_LEN (F)])
+# else
+#  define IS_ABSOLUTE_FILE_NAME(F)                              \
+     (ISSLASH ((F)[0]) || FILE_SYSTEM_PREFIX_LEN (F) != 0)
+#endif
+#define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F))
+
+#endif /* DOSNAME_H_ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/extra/snippet/_Noreturn.h ./gdb/gnulib/import/extra/snippet/_Noreturn.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/extra/snippet/_Noreturn.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/extra/snippet/_Noreturn.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,10 @@
+#if !defined _Noreturn && __STDC_VERSION__ < 201112
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+      || 0x5110 <= __SUNPRO_C)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# elif 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/lstat.c ./gdb/gnulib/import/lstat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/lstat.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/lstat.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,97 @@
+/* Work around a bug of lstat on some systems
+
+   Copyright (C) 1997-2006, 2008-2012 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* written by Jim Meyering */
+
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+   the system's <sys/stat.h> here, so that orig_lstat doesn't recurse to
+   rpl_lstat.  */
+#define __need_system_sys_stat_h
+#include <config.h>
+
+#if !HAVE_LSTAT
+/* On systems that lack symlinks, our replacement <sys/stat.h> already
+   defined lstat as stat, so there is nothing further to do other than
+   avoid an empty file.  */
+typedef int dummy;
+#else /* HAVE_LSTAT */
+
+/* Get the original definition of lstat.  It might be defined as a macro.  */
+# include <sys/types.h>
+# include <sys/stat.h>
+# undef __need_system_sys_stat_h
+
+static int
+orig_lstat (const char *filename, struct stat *buf)
+{
+  return lstat (filename, buf);
+}
+
+/* Specification.  */
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+# include "sys/stat.h"
+
+# include <string.h>
+# include <errno.h>
+
+/* lstat works differently on Linux and Solaris systems.  POSIX (see
+   "pathname resolution" in the glossary) requires that programs like
+   'ls' take into consideration the fact that FILE has a trailing slash
+   when FILE is a symbolic link.  On Linux and Solaris 10 systems, the
+   lstat function already has the desired semantics (in treating
+   'lstat ("symlink/", sbuf)' just like 'lstat ("symlink/.", sbuf)',
+   but on Solaris 9 and earlier it does not.
+
+   If FILE has a trailing slash and specifies a symbolic link,
+   then use stat() to get more info on the referent of FILE.
+   If the referent is a non-directory, then set errno to ENOTDIR
+   and return -1.  Otherwise, return stat's result.  */
+
+int
+rpl_lstat (const char *file, struct stat *sbuf)
+{
+  size_t len;
+  int lstat_result = orig_lstat (file, sbuf);
+
+  if (lstat_result != 0)
+    return lstat_result;
+
+  /* This replacement file can blindly check against '/' rather than
+     using the ISSLASH macro, because all platforms with '\\' either
+     lack symlinks (mingw) or have working lstat (cygwin) and thus do
+     not compile this file.  0 len should have already been filtered
+     out above, with a failure return of ENOENT.  */
+  len = strlen (file);
+  if (file[len - 1] != '/' || S_ISDIR (sbuf->st_mode))
+    return 0;
+
+  /* At this point, a trailing slash is only permitted on
+     symlink-to-dir; but it should have found information on the
+     directory, not the symlink.  Call stat() to get info about the
+     link's referent.  Our replacement stat guarantees valid results,
+     even if the symlink is not pointing to a directory.  */
+  if (!S_ISLNK (sbuf->st_mode))
+    {
+      errno = ENOTDIR;
+      return -1;
+    }
+  return stat (file, sbuf);
+}
+
+#endif /* HAVE_LSTAT */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/canonicalize.m4 ./gdb/gnulib/import/m4/canonicalize.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/canonicalize.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/canonicalize.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,124 @@
+# canonicalize.m4 serial 26
+
+dnl Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
+
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Provides canonicalize_file_name and canonicalize_filename_mode, but does
+# not provide or fix realpath.
+AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE],
+[
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_CHECK_FUNCS_ONCE([canonicalize_file_name])
+  AC_REQUIRE([gl_DOUBLE_SLASH_ROOT])
+  AC_REQUIRE([gl_FUNC_REALPATH_WORKS])
+  if test $ac_cv_func_canonicalize_file_name = no; then
+    HAVE_CANONICALIZE_FILE_NAME=0
+  else
+    case "$gl_cv_func_realpath_works" in
+      *yes) ;;
+      *)    REPLACE_CANONICALIZE_FILE_NAME=1 ;;
+    esac
+  fi
+])
+
+# Provides canonicalize_file_name and realpath.
+AC_DEFUN([gl_CANONICALIZE_LGPL],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_REQUIRE([gl_CANONICALIZE_LGPL_SEPARATE])
+  if test $ac_cv_func_canonicalize_file_name = no; then
+    HAVE_CANONICALIZE_FILE_NAME=0
+    if test $ac_cv_func_realpath = no; then
+      HAVE_REALPATH=0
+    else
+      case "$gl_cv_func_realpath_works" in
+	*yes) ;;
+	*)    REPLACE_REALPATH=1 ;;
+      esac
+    fi
+  else
+    case "$gl_cv_func_realpath_works" in
+      *yes)
+        ;;
+      *)
+        REPLACE_CANONICALIZE_FILE_NAME=1
+        REPLACE_REALPATH=1
+        ;;
+    esac
+  fi
+])
+
+# Like gl_CANONICALIZE_LGPL, except prepare for separate compilation
+# (no REPLACE_CANONICALIZE_FILE_NAME, no REPLACE_REALPATH, no AC_LIBOBJ).
+AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE],
+[
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_CHECK_FUNCS_ONCE([canonicalize_file_name getcwd readlink])
+  AC_REQUIRE([gl_DOUBLE_SLASH_ROOT])
+  AC_REQUIRE([gl_FUNC_REALPATH_WORKS])
+  AC_CHECK_HEADERS_ONCE([sys/param.h])
+])
+
+# Check whether realpath works.  Assume that if a platform has both
+# realpath and canonicalize_file_name, but the former is broken, then
+# so is the latter.
+AC_DEFUN([gl_FUNC_REALPATH_WORKS],
+[
+  AC_CHECK_FUNCS_ONCE([realpath])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether realpath works], [gl_cv_func_realpath_works], [
+    touch conftest.a
+    mkdir conftest.d
+    AC_RUN_IFELSE([
+      AC_LANG_PROGRAM([[
+        ]GL_NOCRASH[
+        #include <stdlib.h>
+        #include <string.h>
+      ]], [[
+        int result = 0;
+        {
+          char *name = realpath ("conftest.a", NULL);
+          if (!(name && *name == '/'))
+            result |= 1;
+        }
+        {
+          char *name = realpath ("conftest.b/../conftest.a", NULL);
+          if (name != NULL)
+            result |= 2;
+        }
+        {
+          char *name = realpath ("conftest.a/", NULL);
+          if (name != NULL)
+            result |= 4;
+        }
+        {
+          char *name1 = realpath (".", NULL);
+          char *name2 = realpath ("conftest.d//./..", NULL);
+          if (strcmp (name1, name2) != 0)
+            result |= 8;
+        }
+        return result;
+      ]])
+     ],
+     [gl_cv_func_realpath_works=yes],
+     [gl_cv_func_realpath_works=no],
+     [case "$host_os" in
+                       # Guess yes on glibc systems.
+        *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;;
+                       # If we don't know, assume the worst.
+        *)             gl_cv_func_realpath_works="guessing no" ;;
+      esac
+     ])
+    rm -rf conftest.a conftest.d
+  ])
+  case "$gl_cv_func_realpath_works" in
+    *yes)
+      AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath()
+        can malloc memory, always gives an absolute path, and handles
+        trailing slash correctly.])
+      ;;
+  esac
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/dirname.m4 ./gdb/gnulib/import/m4/dirname.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/dirname.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/dirname.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,19 @@
+#serial 10   -*- autoconf -*-
+dnl Copyright (C) 2002-2006, 2009-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_DIRNAME],
+[
+  AC_REQUIRE([gl_DIRNAME_LGPL])
+])
+
+AC_DEFUN([gl_DIRNAME_LGPL],
+[
+  dnl Prerequisites of lib/dirname.h.
+  AC_REQUIRE([gl_DOUBLE_SLASH_ROOT])
+
+  dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c,
+  dnl lib/stripslash.c.
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/double-slash-root.m4 ./gdb/gnulib/import/m4/double-slash-root.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/double-slash-root.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/double-slash-root.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,38 @@
+# double-slash-root.m4 serial 4   -*- Autoconf -*-
+dnl Copyright (C) 2006, 2008-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_DOUBLE_SLASH_ROOT],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root],
+    [ if test x"$cross_compiling" = xyes ; then
+        # When cross-compiling, there is no way to tell whether // is special
+        # short of a list of hosts.  However, the only known hosts to date
+        # that have a distinct // are Apollo DomainOS (too old to port to),
+        # Cygwin, and z/OS.  If anyone knows of another system for which // has
+        # special semantics and is distinct from /, please report it to
+        # <bug-gnulib@gnu.org>.
+        case $host in
+          *-cygwin | i370-ibm-openedition)
+            gl_cv_double_slash_root=yes ;;
+          *)
+            # Be optimistic and assume that / and // are the same when we
+            # don't know.
+            gl_cv_double_slash_root='unknown, assuming no' ;;
+        esac
+      else
+        set x `ls -di / // 2>/dev/null`
+        if test "$[2]" = "$[4]" && wc //dev/null >/dev/null 2>&1; then
+          gl_cv_double_slash_root=no
+        else
+          gl_cv_double_slash_root=yes
+        fi
+      fi])
+  if test "$gl_cv_double_slash_root" = yes; then
+    AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], [1],
+      [Define to 1 if // is a file system root distinct from /.])
+  fi
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/eealloc.m4 ./gdb/gnulib/import/m4/eealloc.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/eealloc.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/eealloc.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,31 @@
+# eealloc.m4 serial 3
+dnl Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_EEALLOC],
+[
+  AC_REQUIRE([gl_EEMALLOC])
+  AC_REQUIRE([gl_EEREALLOC])
+])
+
+AC_DEFUN([gl_EEMALLOC],
+[
+  _AC_FUNC_MALLOC_IF(
+    [gl_cv_func_malloc_0_nonnull=1],
+    [gl_cv_func_malloc_0_nonnull=0])
+  AC_DEFINE_UNQUOTED([MALLOC_0_IS_NONNULL], [$gl_cv_func_malloc_0_nonnull],
+    [If malloc(0) is != NULL, define this to 1.  Otherwise define this
+     to 0.])
+])
+
+AC_DEFUN([gl_EEREALLOC],
+[
+  _AC_FUNC_REALLOC_IF(
+    [gl_cv_func_realloc_0_nonnull=1],
+    [gl_cv_func_realloc_0_nonnull=0])
+  AC_DEFINE_UNQUOTED([REALLOC_0_IS_NONNULL], [$gl_cv_func_realloc_0_nonnull],
+    [If realloc(NULL,0) is != NULL, define this to 1.  Otherwise define this
+     to 0.])
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/gnulib-cache.m4 ./gdb/gnulib/import/m4/gnulib-cache.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/gnulib-cache.m4	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/import/m4/gnulib-cache.m4	2015-01-20 02:05:38.000000000 +0000
@@ -27,22 +27,31 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files dirent dirfd fnmatch-gnu frexpl inttypes memmem pathmax strstr sys_stat unistd update-copyright
+#   gnulib-tool --import --dir=. --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl inttypes lstat memchr memmem pathmax readlink rename strstr sys_stat unistd update-copyright wchar wctype-h
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([])
 gl_MODULES([
+  alloca
+  canonicalize-lgpl
   dirent
   dirfd
+  errno
   fnmatch-gnu
   frexpl
   inttypes
+  lstat
+  memchr
   memmem
   pathmax
+  readlink
+  rename
   strstr
   sys_stat
   unistd
   update-copyright
+  wchar
+  wctype-h
 ])
 gl_AVOID([])
 gl_SOURCE_BASE([import])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/gnulib-comp.m4 ./gdb/gnulib/import/m4/gnulib-comp.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/gnulib-comp.m4	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/import/m4/gnulib-comp.m4	2015-01-20 02:05:38.000000000 +0000
@@ -40,9 +40,14 @@ AC_DEFUN([gl_EARLY],
   AC_REQUIRE([gl_PROG_AR_RANLIB])
   # Code from module alloca:
   # Code from module alloca-opt:
+  # Code from module canonicalize-lgpl:
+  # Code from module chdir:
   # Code from module configmake:
   # Code from module dirent:
   # Code from module dirfd:
+  # Code from module dirname-lgpl:
+  # Code from module dosname:
+  # Code from module double-slash-root:
   # Code from module errno:
   # Code from module extensions:
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
@@ -60,7 +65,12 @@ AC_DEFUN([gl_EARLY],
   # Code from module inttypes-incomplete:
   # Code from module isnand-nolibm:
   # Code from module isnanl-nolibm:
+  # Code from module largefile:
+  AC_REQUIRE([AC_SYS_LARGEFILE])
   # Code from module localcharset:
+  # Code from module lstat:
+  # Code from module malloc-posix:
+  # Code from module malloca:
   # Code from module math:
   # Code from module mbrtowc:
   # Code from module mbsinit:
@@ -69,14 +79,23 @@ AC_DEFUN([gl_EARLY],
   # Code from module memmem:
   # Code from module memmem-simple:
   # Code from module multiarch:
+  # Code from module nocrash:
   # Code from module pathmax:
+  # Code from module readlink:
+  # Code from module rename:
+  # Code from module rmdir:
+  # Code from module same-inode:
+  # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
   # Code from module snippet/warn-on-use:
   # Code from module ssize_t:
+  # Code from module stat:
   # Code from module stdbool:
   # Code from module stddef:
   # Code from module stdint:
+  # Code from module stdio:
+  # Code from module stdlib:
   # Code from module streq:
   # Code from module string:
   # Code from module strnlen1:
@@ -109,6 +128,14 @@ AC_DEFUN([gl_INIT],
   gl_COMMON
   gl_source_base='import'
   gl_FUNC_ALLOCA
+  gl_CANONICALIZE_LGPL
+  if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then
+    AC_LIBOBJ([canonicalize-lgpl])
+  fi
+  gl_MODULE_INDICATOR([canonicalize-lgpl])
+  gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name])
+  gl_STDLIB_MODULE_INDICATOR([realpath])
+  gl_UNISTD_MODULE_INDICATOR([chdir])
   gl_CONFIGMAKE_PREP
   gl_DIRENT_H
   gl_FUNC_DIRFD
@@ -117,6 +144,8 @@ AC_DEFUN([gl_INIT],
     gl_PREREQ_DIRFD
   fi
   gl_DIRENT_MODULE_INDICATOR([dirfd])
+  gl_DIRNAME_LGPL
+  gl_DOUBLE_SLASH_ROOT
   gl_HEADER_ERRNO_H
   AC_REQUIRE([gl_EXTERN_INLINE])
   gl_FLOAT_H
@@ -158,9 +187,22 @@ AC_DEFUN([gl_INIT],
     AC_LIBOBJ([isnanl])
     gl_PREREQ_ISNANL
   fi
+  AC_REQUIRE([gl_LARGEFILE])
   gl_LOCALCHARSET
   LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
   AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
+  gl_FUNC_LSTAT
+  if test $REPLACE_LSTAT = 1; then
+    AC_LIBOBJ([lstat])
+    gl_PREREQ_LSTAT
+  fi
+  gl_SYS_STAT_MODULE_INDICATOR([lstat])
+  gl_FUNC_MALLOC_POSIX
+  if test $REPLACE_MALLOC = 1; then
+    AC_LIBOBJ([malloc])
+  fi
+  gl_STDLIB_MODULE_INDICATOR([malloc-posix])
+  gl_MALLOCA
   gl_MATH_H
   gl_FUNC_MBRTOWC
   if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
@@ -198,10 +240,34 @@ AC_DEFUN([gl_INIT],
   gl_STRING_MODULE_INDICATOR([memmem])
   gl_MULTIARCH
   gl_PATHMAX
+  gl_FUNC_READLINK
+  if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
+    AC_LIBOBJ([readlink])
+    gl_PREREQ_READLINK
+  fi
+  gl_UNISTD_MODULE_INDICATOR([readlink])
+  gl_FUNC_RENAME
+  if test $REPLACE_RENAME = 1; then
+    AC_LIBOBJ([rename])
+  fi
+  gl_STDIO_MODULE_INDICATOR([rename])
+  gl_FUNC_RMDIR
+  if test $REPLACE_RMDIR = 1; then
+    AC_LIBOBJ([rmdir])
+  fi
+  gl_UNISTD_MODULE_INDICATOR([rmdir])
   gt_TYPE_SSIZE_T
+  gl_FUNC_STAT
+  if test $REPLACE_STAT = 1; then
+    AC_LIBOBJ([stat])
+    gl_PREREQ_STAT
+  fi
+  gl_SYS_STAT_MODULE_INDICATOR([stat])
   AM_STDBOOL_H
   gl_STDDEF_H
   gl_STDINT_H
+  gl_STDIO_H
+  gl_STDLIB_H
   gl_HEADER_STRING_H
   gl_FUNC_STRSTR
   if test $REPLACE_STRSTR = 1; then
@@ -360,15 +426,21 @@ AC_DEFUN([gltests_LIBSOURCES], [
 # This macro records the list of files which have been installed by
 # gnulib-tool and may be removed by future gnulib-tool invocations.
 AC_DEFUN([gl_FILE_LIST], [
+  build-aux/snippet/_Noreturn.h
   build-aux/snippet/arg-nonnull.h
   build-aux/snippet/c++defs.h
   build-aux/snippet/warn-on-use.h
   build-aux/update-copyright
   lib/alloca.c
   lib/alloca.in.h
+  lib/basename-lgpl.c
+  lib/canonicalize-lgpl.c
   lib/config.charset
   lib/dirent.in.h
   lib/dirfd.c
+  lib/dirname-lgpl.c
+  lib/dirname.h
+  lib/dosname.h
   lib/errno.in.h
   lib/float+.h
   lib/float.c
@@ -388,6 +460,11 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/itold.c
   lib/localcharset.c
   lib/localcharset.h
+  lib/lstat.c
+  lib/malloc.c
+  lib/malloca.c
+  lib/malloca.h
+  lib/malloca.valgrind
   lib/math.c
   lib/math.in.h
   lib/mbrtowc.c
@@ -399,14 +476,23 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/memchr.valgrind
   lib/memmem.c
   lib/pathmax.h
+  lib/readlink.c
   lib/ref-add.sin
   lib/ref-del.sin
+  lib/rename.c
+  lib/rmdir.c
+  lib/same-inode.h
+  lib/stat.c
   lib/stdbool.in.h
   lib/stddef.in.h
   lib/stdint.in.h
+  lib/stdio.c
+  lib/stdio.in.h
+  lib/stdlib.in.h
   lib/str-two-way.h
   lib/streq.h
   lib/string.in.h
+  lib/stripslash.c
   lib/strnlen1.c
   lib/strnlen1.h
   lib/strstr.c
@@ -421,10 +507,14 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/wctype.in.h
   m4/00gnulib.m4
   m4/alloca.m4
+  m4/canonicalize.m4
   m4/codeset.m4
   m4/configmake.m4
   m4/dirent_h.m4
   m4/dirfd.m4
+  m4/dirname.m4
+  m4/double-slash-root.m4
+  m4/eealloc.m4
   m4/errno_h.m4
   m4/exponentd.m4
   m4/exponentl.m4
@@ -443,11 +533,15 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/inttypes.m4
   m4/isnand.m4
   m4/isnanl.m4
+  m4/largefile.m4
   m4/localcharset.m4
   m4/locale-fr.m4
   m4/locale-ja.m4
   m4/locale-zh.m4
   m4/longlong.m4
+  m4/lstat.m4
+  m4/malloc.m4
+  m4/malloca.m4
   m4/math_h.m4
   m4/mbrtowc.m4
   m4/mbsinit.m4
@@ -457,12 +551,19 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/memmem.m4
   m4/mmap-anon.m4
   m4/multiarch.m4
+  m4/nocrash.m4
   m4/off_t.m4
   m4/pathmax.m4
+  m4/readlink.m4
+  m4/rename.m4
+  m4/rmdir.m4
   m4/ssize_t.m4
+  m4/stat.m4
   m4/stdbool.m4
   m4/stddef_h.m4
   m4/stdint.m4
+  m4/stdio_h.m4
+  m4/stdlib_h.m4
   m4/string_h.m4
   m4/strstr.m4
   m4/sys_stat_h.m4
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/largefile.m4 ./gdb/gnulib/import/m4/largefile.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/largefile.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/largefile.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,149 @@
+# Enable large files on systems where this is not the default.
+
+# Copyright 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# The following implementation works around a problem in autoconf <= 2.68;
+# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5.
+m4_version_prereq([2.69], [] ,[
+
+# _AC_SYS_LARGEFILE_TEST_INCLUDES
+# -------------------------------
+m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
+[@%:@include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
+                       && LARGE_OFF_T % 2147483647 == 1)
+                      ? 1 : -1]];[]dnl
+])
+
+
+# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
+#				CACHE-VAR,
+#				DESCRIPTION,
+#				PROLOGUE, [FUNCTION-BODY])
+# --------------------------------------------------------
+m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
+[AC_CACHE_CHECK([for $1 value needed for large files], [$3],
+[while :; do
+  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+    [AC_LANG_PROGRAM([$5], [$6])],
+    [$3=no; break])
+  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+    [AC_LANG_PROGRAM([@%:@define $1 $2
+$5], [$6])],
+    [$3=$2; break])
+  $3=unknown
+  break
+done])
+case $$3 in #(
+  no | unknown) ;;
+  *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);;
+esac
+rm -rf conftest*[]dnl
+])# _AC_SYS_LARGEFILE_MACRO_VALUE
+
+
+# AC_SYS_LARGEFILE
+# ----------------
+# By default, many hosts won't let programs access large files;
+# one must use special compiler options to get large-file access to work.
+# For more details about this brain damage please see:
+# http://www.unix-systems.org/version2/whatsnew/lfs20mar.html
+AC_DEFUN([AC_SYS_LARGEFILE],
+[AC_ARG_ENABLE(largefile,
+               [  --disable-largefile     omit support for large files])
+if test "$enable_largefile" != no; then
+
+  AC_CACHE_CHECK([for special C compiler options needed for large files],
+    ac_cv_sys_largefile_CC,
+    [ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+         # IRIX 6.2 and later do not support large files by default,
+         # so use the C compiler's -n32 option if that helps.
+         AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
+         AC_COMPILE_IFELSE([], [break])
+         CC="$CC -n32"
+         AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
+         break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi])
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
+    ac_cv_sys_file_offset_bits,
+    [Number of bits in a file offset, on hosts where this is settable.],
+    [_AC_SYS_LARGEFILE_TEST_INCLUDES])
+  if test $ac_cv_sys_file_offset_bits = unknown; then
+    _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1,
+      ac_cv_sys_large_files,
+      [Define for large files, on AIX-style hosts.],
+      [_AC_SYS_LARGEFILE_TEST_INCLUDES])
+  fi
+
+  AH_VERBATIM([_DARWIN_USE_64_BIT_INODE],
+[/* Enable large inode numbers on Mac OS X.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif])
+fi
+])# AC_SYS_LARGEFILE
+
+])# m4_version_prereq 2.69
+
+# Enable large files on systems where this is implemented by Gnulib, not by the
+# system headers.
+# Set the variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE if Gnulib
+# overrides ensure that off_t or 'struct size.st_size' are 64-bit, respectively.
+AC_DEFUN([gl_LARGEFILE],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    mingw*)
+      dnl Native Windows.
+      dnl mingw64 defines off_t to a 64-bit type already, if
+      dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE.
+      AC_CACHE_CHECK([for 64-bit off_t], [gl_cv_type_off_t_64],
+        [AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[#include <sys/types.h>
+                int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1];
+              ]],
+              [[]])],
+           [gl_cv_type_off_t_64=yes], [gl_cv_type_off_t_64=no])
+        ])
+      if test $gl_cv_type_off_t_64 = no; then
+        WINDOWS_64_BIT_OFF_T=1
+      else
+        WINDOWS_64_BIT_OFF_T=0
+      fi
+      dnl But all native Windows platforms (including mingw64) have a 32-bit
+      dnl st_size member in 'struct stat'.
+      WINDOWS_64_BIT_ST_SIZE=1
+      ;;
+    *)
+      dnl Nothing to do on gnulib's side.
+      dnl A 64-bit off_t is
+      dnl   - already the default on Mac OS X, FreeBSD, NetBSD, OpenBSD, IRIX,
+      dnl     OSF/1, Cygwin,
+      dnl   - enabled by _FILE_OFFSET_BITS=64 (ensured by AC_SYS_LARGEFILE) on
+      dnl     glibc, HP-UX, Solaris,
+      dnl   - enabled by _LARGE_FILES=1 (ensured by AC_SYS_LARGEFILE) on AIX,
+      dnl   - impossible to achieve on Minix 3.1.8.
+      WINDOWS_64_BIT_OFF_T=0
+      WINDOWS_64_BIT_ST_SIZE=0
+      ;;
+  esac
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/lstat.m4 ./gdb/gnulib/import/m4/lstat.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/lstat.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/lstat.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,73 @@
+# serial 26
+
+# Copyright (C) 1997-2001, 2003-2012 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+dnl From Jim Meyering.
+
+AC_DEFUN([gl_FUNC_LSTAT],
+[
+  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+  dnl If lstat does not exist, the replacement <sys/stat.h> does
+  dnl "#define lstat stat", and lstat.c is a no-op.
+  AC_CHECK_FUNCS_ONCE([lstat])
+  if test $ac_cv_func_lstat = yes; then
+    AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
+    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+      *no)
+        REPLACE_LSTAT=1
+        ;;
+    esac
+  else
+    HAVE_LSTAT=0
+  fi
+])
+
+# Prerequisites of lib/lstat.c.
+AC_DEFUN([gl_PREREQ_LSTAT], [:])
+
+AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
+[
+  dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it
+  dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ.
+  AC_CACHE_CHECK([whether lstat correctly handles trailing slash],
+    [gl_cv_func_lstat_dereferences_slashed_symlink],
+    [rm -f conftest.sym conftest.file
+     echo >conftest.file
+     if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+       AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+            [AC_INCLUDES_DEFAULT],
+            [[struct stat sbuf;
+              /* Linux will dereference the symlink and fail, as required by
+                 POSIX.  That is better in the sense that it means we will not
+                 have to compile and use the lstat wrapper.  */
+              return lstat ("conftest.sym/", &sbuf) == 0;
+            ]])],
+         [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
+         [gl_cv_func_lstat_dereferences_slashed_symlink=no],
+         [case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+          esac
+         ])
+     else
+       # If the 'ln -s' command failed, then we probably don't even
+       # have an lstat function.
+       gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
+     fi
+     rm -f conftest.sym conftest.file
+    ])
+  case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+    *yes)
+      AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
+        [Define to 1 if 'lstat' dereferences a symlink specified
+         with a trailing slash.])
+      ;;
+  esac
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/malloca.m4 ./gdb/gnulib/import/m4/malloca.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/malloca.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/malloca.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,15 @@
+# malloca.m4 serial 1
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2012 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_MALLOCA],
+[
+  dnl Use the autoconf tests for alloca(), but not the AC_SUBSTed variables
+  dnl @ALLOCA@ and @LTALLOCA@.
+  dnl gl_FUNC_ALLOCA   dnl Already brought in by the module dependencies.
+  AC_REQUIRE([gl_EEMALLOC])
+  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/malloc.m4 ./gdb/gnulib/import/m4/malloc.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/malloc.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/malloc.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,98 @@
+# malloc.m4 serial 14
+dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+m4_version_prereq([2.70], [] ,[
+
+# This is taken from the following Autoconf patch:
+# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9
+AC_DEFUN([_AC_FUNC_MALLOC_IF],
+[
+  AC_REQUIRE([AC_HEADER_STDC])dnl
+  AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
+  AC_CHECK_HEADERS([stdlib.h])
+  AC_CACHE_CHECK([for GNU libc compatible malloc],
+    [ac_cv_func_malloc_0_nonnull],
+    [AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+            # include <stdlib.h>
+            #else
+            char *malloc ();
+            #endif
+          ]],
+          [[return ! malloc (0);]])
+       ],
+       [ac_cv_func_malloc_0_nonnull=yes],
+       [ac_cv_func_malloc_0_nonnull=no],
+       [case "$host_os" in
+          # Guess yes on platforms where we know the result.
+          *-gnu* | freebsd* | netbsd* | openbsd* \
+          | hpux* | solaris* | cygwin* | mingw*)
+            ac_cv_func_malloc_0_nonnull=yes ;;
+          # If we don't know, assume the worst.
+          *) ac_cv_func_malloc_0_nonnull=no ;;
+        esac
+       ])
+    ])
+  AS_IF([test $ac_cv_func_malloc_0_nonnull = yes], [$1], [$2])
+])# _AC_FUNC_MALLOC_IF
+
+])
+
+# gl_FUNC_MALLOC_GNU
+# ------------------
+# Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if
+# it is not.
+AC_DEFUN([gl_FUNC_MALLOC_GNU],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  dnl _AC_FUNC_MALLOC_IF is defined in Autoconf.
+  _AC_FUNC_MALLOC_IF(
+    [AC_DEFINE([HAVE_MALLOC_GNU], [1],
+               [Define to 1 if your system has a GNU libc compatible 'malloc'
+                function, and to 0 otherwise.])],
+    [AC_DEFINE([HAVE_MALLOC_GNU], [0])
+     REPLACE_MALLOC=1
+    ])
+])
+
+# gl_FUNC_MALLOC_POSIX
+# --------------------
+# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it
+# fails), and replace malloc if it is not.
+AC_DEFUN([gl_FUNC_MALLOC_POSIX],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
+  if test $gl_cv_func_malloc_posix = yes; then
+    AC_DEFINE([HAVE_MALLOC_POSIX], [1],
+      [Define if the 'malloc' function is POSIX compliant.])
+  else
+    REPLACE_MALLOC=1
+  fi
+])
+
+# Test whether malloc, realloc, calloc are POSIX compliant,
+# Set gl_cv_func_malloc_posix to yes or no accordingly.
+AC_DEFUN([gl_CHECK_MALLOC_POSIX],
+[
+  AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant],
+    [gl_cv_func_malloc_posix],
+    [
+      dnl It is too dangerous to try to allocate a large amount of memory:
+      dnl some systems go to their knees when you do that. So assume that
+      dnl all Unix implementations of the function are POSIX compliant.
+      AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[]],
+           [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+             choke me
+             #endif
+            ]])],
+        [gl_cv_func_malloc_posix=yes],
+        [gl_cv_func_malloc_posix=no])
+    ])
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/nocrash.m4 ./gdb/gnulib/import/m4/nocrash.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/nocrash.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/nocrash.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,130 @@
+# nocrash.m4 serial 4
+dnl Copyright (C) 2005, 2009-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Based on libsigsegv, from Bruno Haible and Paolo Bonzini.
+
+AC_PREREQ([2.13])
+
+dnl Expands to some code for use in .c programs that will cause the configure
+dnl test to exit instead of crashing. This is useful to avoid triggering
+dnl action from a background debugger and to avoid core dumps.
+dnl Usage:   ...
+dnl          ]GL_NOCRASH[
+dnl          ...
+dnl          int main() { nocrash_init(); ... }
+AC_DEFUN([GL_NOCRASH],[[
+#include <stdlib.h>
+#if defined __MACH__ && defined __APPLE__
+/* Avoid a crash on Mac OS X.  */
+#include <mach/mach.h>
+#include <mach/mach_error.h>
+#include <mach/thread_status.h>
+#include <mach/exception.h>
+#include <mach/task.h>
+#include <pthread.h>
+/* The exception port on which our thread listens.  */
+static mach_port_t our_exception_port;
+/* The main function of the thread listening for exceptions of type
+   EXC_BAD_ACCESS.  */
+static void *
+mach_exception_thread (void *arg)
+{
+  /* Buffer for a message to be received.  */
+  struct {
+    mach_msg_header_t head;
+    mach_msg_body_t msgh_body;
+    char data[1024];
+  } msg;
+  mach_msg_return_t retval;
+  /* Wait for a message on the exception port.  */
+  retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg),
+                     our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+  if (retval != MACH_MSG_SUCCESS)
+    abort ();
+  exit (1);
+}
+static void
+nocrash_init (void)
+{
+  mach_port_t self = mach_task_self ();
+  /* Allocate a port on which the thread shall listen for exceptions.  */
+  if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port)
+      == KERN_SUCCESS) {
+    /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html.  */
+    if (mach_port_insert_right (self, our_exception_port, our_exception_port,
+                                MACH_MSG_TYPE_MAKE_SEND)
+        == KERN_SUCCESS) {
+      /* The exceptions we want to catch.  Only EXC_BAD_ACCESS is interesting
+         for us.  */
+      exception_mask_t mask = EXC_MASK_BAD_ACCESS;
+      /* Create the thread listening on the exception port.  */
+      pthread_attr_t attr;
+      pthread_t thread;
+      if (pthread_attr_init (&attr) == 0
+          && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0
+          && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) {
+        pthread_attr_destroy (&attr);
+        /* Replace the exception port info for these exceptions with our own.
+           Note that we replace the exception port for the entire task, not only
+           for a particular thread.  This has the effect that when our exception
+           port gets the message, the thread specific exception port has already
+           been asked, and we don't need to bother about it.
+           See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html.  */
+        task_set_exception_ports (self, mask, our_exception_port,
+                                  EXCEPTION_DEFAULT, MACHINE_THREAD_STATE);
+      }
+    }
+  }
+}
+#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Avoid a crash on native Windows.  */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <winerror.h>
+static LONG WINAPI
+exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
+{
+  switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
+    {
+    case EXCEPTION_ACCESS_VIOLATION:
+    case EXCEPTION_IN_PAGE_ERROR:
+    case EXCEPTION_STACK_OVERFLOW:
+    case EXCEPTION_GUARD_PAGE:
+    case EXCEPTION_PRIV_INSTRUCTION:
+    case EXCEPTION_ILLEGAL_INSTRUCTION:
+    case EXCEPTION_DATATYPE_MISALIGNMENT:
+    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
+    case EXCEPTION_NONCONTINUABLE_EXCEPTION:
+      exit (1);
+    }
+  return EXCEPTION_CONTINUE_SEARCH;
+}
+static void
+nocrash_init (void)
+{
+  SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
+}
+#else
+/* Avoid a crash on POSIX systems.  */
+#include <signal.h>
+/* A POSIX signal handler.  */
+static void
+exception_handler (int sig)
+{
+  exit (1);
+}
+static void
+nocrash_init (void)
+{
+#ifdef SIGSEGV
+  signal (SIGSEGV, exception_handler);
+#endif
+#ifdef SIGBUS
+  signal (SIGBUS, exception_handler);
+#endif
+}
+#endif
+]])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/readlink.m4 ./gdb/gnulib/import/m4/readlink.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/readlink.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/readlink.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,71 @@
+# readlink.m4 serial 12
+dnl Copyright (C) 2003, 2007, 2009-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_READLINK],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CHECK_FUNCS_ONCE([readlink])
+  if test $ac_cv_func_readlink = no; then
+    HAVE_READLINK=0
+  else
+    AC_CACHE_CHECK([whether readlink signature is correct],
+      [gl_cv_decl_readlink_works],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+           [[#include <unistd.h>
+      /* Cause compilation failure if original declaration has wrong type.  */
+      ssize_t readlink (const char *, char *, size_t);]])],
+         [gl_cv_decl_readlink_works=yes], [gl_cv_decl_readlink_works=no])])
+    dnl Solaris 9 ignores trailing slash.
+    dnl FreeBSD 7.2 dereferences only one level of links with trailing slash.
+    AC_CACHE_CHECK([whether readlink handles trailing slash correctly],
+      [gl_cv_func_readlink_works],
+      [# We have readlink, so assume ln -s works.
+       ln -s conftest.no-such conftest.link
+       ln -s conftest.link conftest.lnk2
+       AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+           [[#include <unistd.h>
+]], [[char buf[20];
+      return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])],
+         [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no],
+         [case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_readlink_works="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_readlink_works="guessing no" ;;
+          esac
+         ])
+      rm -f conftest.link conftest.lnk2])
+    case "$gl_cv_func_readlink_works" in
+      *yes)
+        if test "$gl_cv_decl_readlink_works" != yes; then
+          REPLACE_READLINK=1
+        fi
+        ;;
+      *)
+        AC_DEFINE([READLINK_TRAILING_SLASH_BUG], [1], [Define to 1 if readlink
+          fails to recognize a trailing slash.])
+        REPLACE_READLINK=1
+        ;;
+    esac
+  fi
+])
+
+# Like gl_FUNC_READLINK, except prepare for separate compilation
+# (no REPLACE_READLINK, no AC_LIBOBJ).
+AC_DEFUN([gl_FUNC_READLINK_SEPARATE],
+[
+  AC_CHECK_FUNCS_ONCE([readlink])
+  gl_PREREQ_READLINK
+])
+
+# Prerequisites of lib/readlink.c.
+AC_DEFUN([gl_PREREQ_READLINK],
+[
+  :
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/rename.m4 ./gdb/gnulib/import/m4/rename.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/rename.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/rename.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,225 @@
+# serial 26
+
+# Copyright (C) 2001, 2003, 2005-2006, 2009-2012 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+dnl From Volker Borchert.
+dnl Determine whether rename works for source file names with a trailing slash.
+dnl The rename from SunOS 4.1.1_U1 doesn't.
+dnl
+dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
+dnl to compile the wrapper function.
+dnl
+
+AC_DEFUN([gl_FUNC_RENAME],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([lstat])
+
+  dnl Solaris 10, AIX 7.1 mistakenly allow rename("file","name/").
+  dnl NetBSD 1.6 mistakenly forbids rename("dir","name/").
+  dnl FreeBSD 7.2 mistakenly allows rename("file","link-to-file/").
+  dnl The Solaris bug can be worked around without stripping
+  dnl trailing slash, while the NetBSD bug requires stripping;
+  dnl the two conditions can be distinguished by whether hard
+  dnl links are also broken.
+  AC_CACHE_CHECK([whether rename honors trailing slash on destination],
+    [gl_cv_func_rename_slash_dst_works],
+    [rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk
+    touch conftest.f && touch conftest.f1 && mkdir conftest.d1 ||
+      AC_MSG_ERROR([cannot create temporary files])
+    # Assume that if we have lstat, we can also check symlinks.
+    if test $ac_cv_func_lstat = yes; then
+      ln -s conftest.f conftest.lnk
+    fi
+    AC_RUN_IFELSE(
+      [AC_LANG_PROGRAM([[
+#        include <stdio.h>
+#        include <stdlib.h>
+         ]],
+         [[int result = 0;
+           if (rename ("conftest.f1", "conftest.f2/") == 0)
+             result |= 1;
+           if (rename ("conftest.d1", "conftest.d2/") != 0)
+             result |= 2;
+#if HAVE_LSTAT
+           if (rename ("conftest.f", "conftest.lnk/") == 0)
+             result |= 4;
+#endif
+           return result;
+         ]])],
+      [gl_cv_func_rename_slash_dst_works=yes],
+      [gl_cv_func_rename_slash_dst_works=no],
+      dnl When crosscompiling, assume rename is broken.
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_rename_slash_dst_works="guessing no" ;;
+       esac
+      ])
+    rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk
+  ])
+  case "$gl_cv_func_rename_slash_dst_works" in
+    *yes) ;;
+    *)
+      REPLACE_RENAME=1
+      AC_DEFINE([RENAME_TRAILING_SLASH_DEST_BUG], [1],
+        [Define if rename does not correctly handle slashes on the destination
+         argument, such as on Solaris 10 or NetBSD 1.6.])
+      ;;
+  esac
+
+  dnl SunOS 4.1.1_U1 mistakenly forbids rename("dir/","name").
+  dnl Solaris 9 mistakenly allows rename("file/","name").
+  dnl FreeBSD 7.2 mistakenly allows rename("link-to-file/","name").
+  dnl These bugs require stripping trailing slash to avoid corrupting
+  dnl symlinks with a trailing slash.
+  AC_CACHE_CHECK([whether rename honors trailing slash on source],
+    [gl_cv_func_rename_slash_src_works],
+    [rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk
+    touch conftest.f && touch conftest.f1 && mkdir conftest.d1 ||
+      AC_MSG_ERROR([cannot create temporary files])
+    # Assume that if we have lstat, we can also check symlinks.
+    if test $ac_cv_func_lstat = yes; then
+      ln -s conftest.f conftest.lnk
+    fi
+    AC_RUN_IFELSE(
+      [AC_LANG_PROGRAM([[
+#        include <stdio.h>
+#        include <stdlib.h>
+         ]],
+         [[int result = 0;
+           if (rename ("conftest.f1/", "conftest.d3") == 0)
+             result |= 1;
+           if (rename ("conftest.d1/", "conftest.d2") != 0)
+             result |= 2;
+#if HAVE_LSTAT
+           if (rename ("conftest.lnk/", "conftest.f") == 0)
+             result |= 4;
+#endif
+           return result;
+         ]])],
+      [gl_cv_func_rename_slash_src_works=yes],
+      [gl_cv_func_rename_slash_src_works=no],
+      dnl When crosscompiling, assume rename is broken.
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_rename_slash_src_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_rename_slash_src_works="guessing no" ;;
+       esac
+      ])
+    rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk
+  ])
+  case "$gl_cv_func_rename_slash_src_works" in
+    *yes) ;;
+    *)
+      REPLACE_RENAME=1
+      AC_DEFINE([RENAME_TRAILING_SLASH_SOURCE_BUG], [1],
+        [Define if rename does not correctly handle slashes on the source
+         argument, such as on Solaris 9 or cygwin 1.5.])
+      ;;
+  esac
+
+  dnl NetBSD 1.6 and cygwin 1.5.x mistakenly reduce hard link count
+  dnl on rename("h1","h2").
+  dnl This bug requires stat'ting targets prior to attempting rename.
+  AC_CHECK_FUNCS_ONCE([link])
+  AC_CACHE_CHECK([whether rename manages hard links correctly],
+    [gl_cv_func_rename_link_works],
+    [if test $ac_cv_func_link = yes; then
+       rm -rf conftest.f conftest.f1
+       if touch conftest.f && ln conftest.f conftest.f1 &&
+           set x `ls -i conftest.f conftest.f1` && test "$2" = "$4"; then
+         AC_RUN_IFELSE(
+           [AC_LANG_PROGRAM([[
+#             include <stdio.h>
+#             include <stdlib.h>
+#             include <unistd.h>
+              ]],
+              [[int result = 0;
+                if (rename ("conftest.f", "conftest.f1"))
+                  result |= 1;
+                if (unlink ("conftest.f1"))
+                  result |= 2;
+                if (rename ("conftest.f", "conftest.f"))
+                  result |= 4;
+                if (rename ("conftest.f1", "conftest.f1") == 0)
+                  result |= 8;
+                return result;
+              ]])],
+           [gl_cv_func_rename_link_works=yes],
+           [gl_cv_func_rename_link_works=no],
+           dnl When crosscompiling, assume rename is broken.
+           [case "$host_os" in
+                      # Guess yes on glibc systems.
+              *-gnu*) gl_cv_func_rename_link_works="guessing yes" ;;
+                      # If we don't know, assume the worst.
+              *)      gl_cv_func_rename_link_works="guessing no" ;;
+            esac
+           ])
+       else
+         gl_cv_func_rename_link_works="guessing no"
+       fi
+       rm -rf conftest.f conftest.f1
+     else
+       gl_cv_func_rename_link_works=yes
+     fi
+    ])
+  case "$gl_cv_func_rename_link_works" in
+    *yes) ;;
+    *)
+      REPLACE_RENAME=1
+      AC_DEFINE([RENAME_HARD_LINK_BUG], [1],
+        [Define if rename fails to leave hard links alone, as on NetBSD 1.6
+         or Cygwin 1.5.])
+      ;;
+  esac
+
+  dnl Cygwin 1.5.x mistakenly allows rename("dir","file").
+  dnl mingw mistakenly forbids rename("dir1","dir2").
+  dnl These bugs require stripping trailing slash to avoid corrupting
+  dnl symlinks with a trailing slash.
+  AC_CACHE_CHECK([whether rename manages existing destinations correctly],
+    [gl_cv_func_rename_dest_works],
+    [rm -rf conftest.f conftest.d1 conftest.d2
+    touch conftest.f && mkdir conftest.d1 conftest.d2 ||
+      AC_MSG_ERROR([cannot create temporary files])
+    AC_RUN_IFELSE(
+      [AC_LANG_PROGRAM([[
+#        include <stdio.h>
+#        include <stdlib.h>
+         ]],
+         [[int result = 0;
+           if (rename ("conftest.d1", "conftest.d2") != 0)
+             result |= 1;
+           if (rename ("conftest.d2", "conftest.f") == 0)
+             result |= 2;
+           return result;
+         ]])],
+      [gl_cv_func_rename_dest_works=yes],
+      [gl_cv_func_rename_dest_works=no],
+      dnl When crosscompiling, assume rename is broken.
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_rename_dest_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_rename_dest_works="guessing no" ;;
+       esac
+      ])
+    rm -rf conftest.f conftest.d1 conftest.d2
+  ])
+  case "$gl_cv_func_rename_dest_works" in
+    *yes) ;;
+    *)
+      REPLACE_RENAME=1
+      AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1],
+        [Define if rename does not work when the destination file exists,
+         as on Cygwin 1.5 or Windows.])
+      ;;
+  esac
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/rmdir.m4 ./gdb/gnulib/import/m4/rmdir.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/rmdir.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/rmdir.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,49 @@
+# rmdir.m4 serial 13
+dnl Copyright (C) 2002, 2005, 2009-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_RMDIR],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  dnl Detect cygwin 1.5.x bug.
+  AC_CHECK_HEADERS_ONCE([unistd.h])
+  AC_CACHE_CHECK([whether rmdir works], [gl_cv_func_rmdir_works],
+    [mkdir conftest.dir
+     touch conftest.file
+     AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+         [[#include <stdio.h>
+           #include <errno.h>
+           #if HAVE_UNISTD_H
+           # include <unistd.h>
+           #else /* on Windows with MSVC */
+           # include <direct.h>
+           #endif
+]], [[int result = 0;
+      if (!rmdir ("conftest.file/"))
+        result |= 1;
+      else if (errno != ENOTDIR)
+        result |= 2;
+      if (!rmdir ("conftest.dir/./"))
+        result |= 4;
+      return result;
+    ]])],
+       [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no],
+       [case "$host_os" in
+                  # Guess yes on glibc systems.
+          *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;;
+                  # If we don't know, assume the worst.
+          *)      gl_cv_func_rmdir_works="guessing no" ;;
+        esac
+       ])
+     rm -rf conftest.dir conftest.file])
+  case "$gl_cv_func_rmdir_works" in
+    *yes) ;;
+    *)
+      REPLACE_RMDIR=1
+      ;;
+  esac
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/stat.m4 ./gdb/gnulib/import/m4/stat.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/stat.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/stat.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,71 @@
+# serial 11
+
+# Copyright (C) 2009-2012 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_STAT],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([lstat])
+  dnl mingw is the only known platform where stat(".") and stat("./") differ
+  AC_CACHE_CHECK([whether stat handles trailing slashes on directories],
+      [gl_cv_func_stat_dir_slash],
+      [AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+           [[#include <sys/stat.h>
+]], [[struct stat st; return stat (".", &st) != stat ("./", &st);]])],
+         [gl_cv_func_stat_dir_slash=yes], [gl_cv_func_stat_dir_slash=no],
+         [case $host_os in
+            mingw*) gl_cv_func_stat_dir_slash="guessing no";;
+            *) gl_cv_func_stat_dir_slash="guessing yes";;
+          esac])])
+  dnl AIX 7.1, Solaris 9, mingw64 mistakenly succeed on stat("file/").
+  dnl (For mingw, this is due to a broken stat() override in libmingwex.a.)
+  dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/").
+  AC_CACHE_CHECK([whether stat handles trailing slashes on files],
+      [gl_cv_func_stat_file_slash],
+      [touch conftest.tmp
+       # Assume that if we have lstat, we can also check symlinks.
+       if test $ac_cv_func_lstat = yes; then
+         ln -s conftest.tmp conftest.lnk
+       fi
+       AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+           [[#include <sys/stat.h>
+]], [[int result = 0;
+      struct stat st;
+      if (!stat ("conftest.tmp/", &st))
+        result |= 1;
+#if HAVE_LSTAT
+      if (!stat ("conftest.lnk/", &st))
+        result |= 2;
+#endif
+      return result;
+           ]])],
+         [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no],
+         [case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_stat_file_slash="guessing no" ;;
+          esac
+         ])
+       rm -f conftest.tmp conftest.lnk])
+  case $gl_cv_func_stat_dir_slash in
+    *no) REPLACE_STAT=1
+      AC_DEFINE([REPLACE_FUNC_STAT_DIR], [1], [Define to 1 if stat needs
+        help when passed a directory name with a trailing slash]);;
+  esac
+  case $gl_cv_func_stat_file_slash in
+    *no) REPLACE_STAT=1
+      AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs
+        help when passed a file name with a trailing slash]);;
+  esac
+])
+
+# Prerequisites of lib/stat.c.
+AC_DEFUN([gl_PREREQ_STAT], [:])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/stdio_h.m4 ./gdb/gnulib/import/m4/stdio_h.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/stdio_h.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/stdio_h.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,194 @@
+# stdio_h.m4 serial 43
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_STDIO_H],
+[
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  gl_NEXT_HEADERS([stdio.h])
+
+  dnl No need to create extra modules for these functions. Everyone who uses
+  dnl <stdio.h> likely needs them.
+  GNULIB_FSCANF=1
+  gl_MODULE_INDICATOR([fscanf])
+  GNULIB_SCANF=1
+  gl_MODULE_INDICATOR([scanf])
+  GNULIB_FGETC=1
+  GNULIB_GETC=1
+  GNULIB_GETCHAR=1
+  GNULIB_FGETS=1
+  GNULIB_FREAD=1
+  dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
+  dnl "expected source file, required through AC_LIBSOURCES, not found". It is
+  dnl also an optimization, to avoid performing a configure check whose result
+  dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
+  dnl or GNULIB_NONBLOCKING redundant.
+  m4_ifdef([gl_NONBLOCKING_IO], [
+    gl_NONBLOCKING_IO
+    if test $gl_cv_have_nonblocking != yes; then
+      REPLACE_STDIO_READ_FUNCS=1
+      AC_LIBOBJ([stdio-read])
+    fi
+  ])
+
+  dnl No need to create extra modules for these functions. Everyone who uses
+  dnl <stdio.h> likely needs them.
+  GNULIB_FPRINTF=1
+  GNULIB_PRINTF=1
+  GNULIB_VFPRINTF=1
+  GNULIB_VPRINTF=1
+  GNULIB_FPUTC=1
+  GNULIB_PUTC=1
+  GNULIB_PUTCHAR=1
+  GNULIB_FPUTS=1
+  GNULIB_PUTS=1
+  GNULIB_FWRITE=1
+  dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
+  dnl "expected source file, required through AC_LIBSOURCES, not found". It is
+  dnl also an optimization, to avoid performing a configure check whose result
+  dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or
+  dnl GNULIB_SIGPIPE redundant.
+  m4_ifdef([gl_SIGNAL_SIGPIPE], [
+    gl_SIGNAL_SIGPIPE
+    if test $gl_cv_header_signal_h_SIGPIPE != yes; then
+      REPLACE_STDIO_WRITE_FUNCS=1
+      AC_LIBOBJ([stdio-write])
+    fi
+  ])
+  dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
+  dnl "expected source file, required through AC_LIBSOURCES, not found". It is
+  dnl also an optimization, to avoid performing a configure check whose result
+  dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
+  dnl or GNULIB_NONBLOCKING redundant.
+  m4_ifdef([gl_NONBLOCKING_IO], [
+    gl_NONBLOCKING_IO
+    if test $gl_cv_have_nonblocking != yes; then
+      REPLACE_STDIO_WRITE_FUNCS=1
+      AC_LIBOBJ([stdio-write])
+    fi
+  ])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use, and which is not
+  dnl guaranteed by both C89 and C11.
+  gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
+    ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
+    renameat snprintf tmpfile vdprintf vsnprintf])
+])
+
+AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_STDIO_H_DEFAULTS],
+[
+  GNULIB_DPRINTF=0;              AC_SUBST([GNULIB_DPRINTF])
+  GNULIB_FCLOSE=0;               AC_SUBST([GNULIB_FCLOSE])
+  GNULIB_FDOPEN=0;               AC_SUBST([GNULIB_FDOPEN])
+  GNULIB_FFLUSH=0;               AC_SUBST([GNULIB_FFLUSH])
+  GNULIB_FGETC=0;                AC_SUBST([GNULIB_FGETC])
+  GNULIB_FGETS=0;                AC_SUBST([GNULIB_FGETS])
+  GNULIB_FOPEN=0;                AC_SUBST([GNULIB_FOPEN])
+  GNULIB_FPRINTF=0;              AC_SUBST([GNULIB_FPRINTF])
+  GNULIB_FPRINTF_POSIX=0;        AC_SUBST([GNULIB_FPRINTF_POSIX])
+  GNULIB_FPURGE=0;               AC_SUBST([GNULIB_FPURGE])
+  GNULIB_FPUTC=0;                AC_SUBST([GNULIB_FPUTC])
+  GNULIB_FPUTS=0;                AC_SUBST([GNULIB_FPUTS])
+  GNULIB_FREAD=0;                AC_SUBST([GNULIB_FREAD])
+  GNULIB_FREOPEN=0;              AC_SUBST([GNULIB_FREOPEN])
+  GNULIB_FSCANF=0;               AC_SUBST([GNULIB_FSCANF])
+  GNULIB_FSEEK=0;                AC_SUBST([GNULIB_FSEEK])
+  GNULIB_FSEEKO=0;               AC_SUBST([GNULIB_FSEEKO])
+  GNULIB_FTELL=0;                AC_SUBST([GNULIB_FTELL])
+  GNULIB_FTELLO=0;               AC_SUBST([GNULIB_FTELLO])
+  GNULIB_FWRITE=0;               AC_SUBST([GNULIB_FWRITE])
+  GNULIB_GETC=0;                 AC_SUBST([GNULIB_GETC])
+  GNULIB_GETCHAR=0;              AC_SUBST([GNULIB_GETCHAR])
+  GNULIB_GETDELIM=0;             AC_SUBST([GNULIB_GETDELIM])
+  GNULIB_GETLINE=0;              AC_SUBST([GNULIB_GETLINE])
+  GNULIB_OBSTACK_PRINTF=0;       AC_SUBST([GNULIB_OBSTACK_PRINTF])
+  GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
+  GNULIB_PCLOSE=0;               AC_SUBST([GNULIB_PCLOSE])
+  GNULIB_PERROR=0;               AC_SUBST([GNULIB_PERROR])
+  GNULIB_POPEN=0;                AC_SUBST([GNULIB_POPEN])
+  GNULIB_PRINTF=0;               AC_SUBST([GNULIB_PRINTF])
+  GNULIB_PRINTF_POSIX=0;         AC_SUBST([GNULIB_PRINTF_POSIX])
+  GNULIB_PUTC=0;                 AC_SUBST([GNULIB_PUTC])
+  GNULIB_PUTCHAR=0;              AC_SUBST([GNULIB_PUTCHAR])
+  GNULIB_PUTS=0;                 AC_SUBST([GNULIB_PUTS])
+  GNULIB_REMOVE=0;               AC_SUBST([GNULIB_REMOVE])
+  GNULIB_RENAME=0;               AC_SUBST([GNULIB_RENAME])
+  GNULIB_RENAMEAT=0;             AC_SUBST([GNULIB_RENAMEAT])
+  GNULIB_SCANF=0;                AC_SUBST([GNULIB_SCANF])
+  GNULIB_SNPRINTF=0;             AC_SUBST([GNULIB_SNPRINTF])
+  GNULIB_SPRINTF_POSIX=0;        AC_SUBST([GNULIB_SPRINTF_POSIX])
+  GNULIB_STDIO_H_NONBLOCKING=0;  AC_SUBST([GNULIB_STDIO_H_NONBLOCKING])
+  GNULIB_STDIO_H_SIGPIPE=0;      AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
+  GNULIB_TMPFILE=0;              AC_SUBST([GNULIB_TMPFILE])
+  GNULIB_VASPRINTF=0;            AC_SUBST([GNULIB_VASPRINTF])
+  GNULIB_VFSCANF=0;              AC_SUBST([GNULIB_VFSCANF])
+  GNULIB_VSCANF=0;               AC_SUBST([GNULIB_VSCANF])
+  GNULIB_VDPRINTF=0;             AC_SUBST([GNULIB_VDPRINTF])
+  GNULIB_VFPRINTF=0;             AC_SUBST([GNULIB_VFPRINTF])
+  GNULIB_VFPRINTF_POSIX=0;       AC_SUBST([GNULIB_VFPRINTF_POSIX])
+  GNULIB_VPRINTF=0;              AC_SUBST([GNULIB_VPRINTF])
+  GNULIB_VPRINTF_POSIX=0;        AC_SUBST([GNULIB_VPRINTF_POSIX])
+  GNULIB_VSNPRINTF=0;            AC_SUBST([GNULIB_VSNPRINTF])
+  GNULIB_VSPRINTF_POSIX=0;       AC_SUBST([GNULIB_VSPRINTF_POSIX])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_DECL_FPURGE=1;            AC_SUBST([HAVE_DECL_FPURGE])
+  HAVE_DECL_FSEEKO=1;            AC_SUBST([HAVE_DECL_FSEEKO])
+  HAVE_DECL_FTELLO=1;            AC_SUBST([HAVE_DECL_FTELLO])
+  HAVE_DECL_GETDELIM=1;          AC_SUBST([HAVE_DECL_GETDELIM])
+  HAVE_DECL_GETLINE=1;           AC_SUBST([HAVE_DECL_GETLINE])
+  HAVE_DECL_OBSTACK_PRINTF=1;    AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
+  HAVE_DECL_SNPRINTF=1;          AC_SUBST([HAVE_DECL_SNPRINTF])
+  HAVE_DECL_VSNPRINTF=1;         AC_SUBST([HAVE_DECL_VSNPRINTF])
+  HAVE_DPRINTF=1;                AC_SUBST([HAVE_DPRINTF])
+  HAVE_FSEEKO=1;                 AC_SUBST([HAVE_FSEEKO])
+  HAVE_FTELLO=1;                 AC_SUBST([HAVE_FTELLO])
+  HAVE_PCLOSE=1;                 AC_SUBST([HAVE_PCLOSE])
+  HAVE_POPEN=1;                  AC_SUBST([HAVE_POPEN])
+  HAVE_RENAMEAT=1;               AC_SUBST([HAVE_RENAMEAT])
+  HAVE_VASPRINTF=1;              AC_SUBST([HAVE_VASPRINTF])
+  HAVE_VDPRINTF=1;               AC_SUBST([HAVE_VDPRINTF])
+  REPLACE_DPRINTF=0;             AC_SUBST([REPLACE_DPRINTF])
+  REPLACE_FCLOSE=0;              AC_SUBST([REPLACE_FCLOSE])
+  REPLACE_FDOPEN=0;              AC_SUBST([REPLACE_FDOPEN])
+  REPLACE_FFLUSH=0;              AC_SUBST([REPLACE_FFLUSH])
+  REPLACE_FOPEN=0;               AC_SUBST([REPLACE_FOPEN])
+  REPLACE_FPRINTF=0;             AC_SUBST([REPLACE_FPRINTF])
+  REPLACE_FPURGE=0;              AC_SUBST([REPLACE_FPURGE])
+  REPLACE_FREOPEN=0;             AC_SUBST([REPLACE_FREOPEN])
+  REPLACE_FSEEK=0;               AC_SUBST([REPLACE_FSEEK])
+  REPLACE_FSEEKO=0;              AC_SUBST([REPLACE_FSEEKO])
+  REPLACE_FTELL=0;               AC_SUBST([REPLACE_FTELL])
+  REPLACE_FTELLO=0;              AC_SUBST([REPLACE_FTELLO])
+  REPLACE_GETDELIM=0;            AC_SUBST([REPLACE_GETDELIM])
+  REPLACE_GETLINE=0;             AC_SUBST([REPLACE_GETLINE])
+  REPLACE_OBSTACK_PRINTF=0;      AC_SUBST([REPLACE_OBSTACK_PRINTF])
+  REPLACE_PERROR=0;              AC_SUBST([REPLACE_PERROR])
+  REPLACE_POPEN=0;               AC_SUBST([REPLACE_POPEN])
+  REPLACE_PRINTF=0;              AC_SUBST([REPLACE_PRINTF])
+  REPLACE_REMOVE=0;              AC_SUBST([REPLACE_REMOVE])
+  REPLACE_RENAME=0;              AC_SUBST([REPLACE_RENAME])
+  REPLACE_RENAMEAT=0;            AC_SUBST([REPLACE_RENAMEAT])
+  REPLACE_SNPRINTF=0;            AC_SUBST([REPLACE_SNPRINTF])
+  REPLACE_SPRINTF=0;             AC_SUBST([REPLACE_SPRINTF])
+  REPLACE_STDIO_READ_FUNCS=0;    AC_SUBST([REPLACE_STDIO_READ_FUNCS])
+  REPLACE_STDIO_WRITE_FUNCS=0;   AC_SUBST([REPLACE_STDIO_WRITE_FUNCS])
+  REPLACE_TMPFILE=0;             AC_SUBST([REPLACE_TMPFILE])
+  REPLACE_VASPRINTF=0;           AC_SUBST([REPLACE_VASPRINTF])
+  REPLACE_VDPRINTF=0;            AC_SUBST([REPLACE_VDPRINTF])
+  REPLACE_VFPRINTF=0;            AC_SUBST([REPLACE_VFPRINTF])
+  REPLACE_VPRINTF=0;             AC_SUBST([REPLACE_VPRINTF])
+  REPLACE_VSNPRINTF=0;           AC_SUBST([REPLACE_VSNPRINTF])
+  REPLACE_VSPRINTF=0;            AC_SUBST([REPLACE_VSPRINTF])
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/stdlib_h.m4 ./gdb/gnulib/import/m4/stdlib_h.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/m4/stdlib_h.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/m4/stdlib_h.m4	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,115 @@
+# stdlib_h.m4 serial 41
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_STDLIB_H],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  gl_NEXT_HEADERS([stdlib.h])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use, and which is not
+  dnl guaranteed by C89.
+  gl_WARN_ON_USE_PREPARE([[#include <stdlib.h>
+#if HAVE_SYS_LOADAVG_H
+# include <sys/loadavg.h>
+#endif
+#if HAVE_RANDOM_H
+# include <random.h>
+#endif
+    ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
+    initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps
+    posix_openpt ptsname ptsname_r random random_r realpath rpmatch
+    setenv setstate setstate_r srandom srandom_r
+    strtod strtoll strtoull unlockpt unsetenv])
+])
+
+AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_STDLIB_H_DEFAULTS],
+[
+  GNULIB__EXIT=0;         AC_SUBST([GNULIB__EXIT])
+  GNULIB_ATOLL=0;         AC_SUBST([GNULIB_ATOLL])
+  GNULIB_CALLOC_POSIX=0;  AC_SUBST([GNULIB_CALLOC_POSIX])
+  GNULIB_CANONICALIZE_FILE_NAME=0;  AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME])
+  GNULIB_GETLOADAVG=0;    AC_SUBST([GNULIB_GETLOADAVG])
+  GNULIB_GETSUBOPT=0;     AC_SUBST([GNULIB_GETSUBOPT])
+  GNULIB_GRANTPT=0;       AC_SUBST([GNULIB_GRANTPT])
+  GNULIB_MALLOC_POSIX=0;  AC_SUBST([GNULIB_MALLOC_POSIX])
+  GNULIB_MBTOWC=0;        AC_SUBST([GNULIB_MBTOWC])
+  GNULIB_MKDTEMP=0;       AC_SUBST([GNULIB_MKDTEMP])
+  GNULIB_MKOSTEMP=0;      AC_SUBST([GNULIB_MKOSTEMP])
+  GNULIB_MKOSTEMPS=0;     AC_SUBST([GNULIB_MKOSTEMPS])
+  GNULIB_MKSTEMP=0;       AC_SUBST([GNULIB_MKSTEMP])
+  GNULIB_MKSTEMPS=0;      AC_SUBST([GNULIB_MKSTEMPS])
+  GNULIB_POSIX_OPENPT=0;  AC_SUBST([GNULIB_POSIX_OPENPT])
+  GNULIB_PTSNAME=0;       AC_SUBST([GNULIB_PTSNAME])
+  GNULIB_PTSNAME_R=0;     AC_SUBST([GNULIB_PTSNAME_R])
+  GNULIB_PUTENV=0;        AC_SUBST([GNULIB_PUTENV])
+  GNULIB_RANDOM=0;        AC_SUBST([GNULIB_RANDOM])
+  GNULIB_RANDOM_R=0;      AC_SUBST([GNULIB_RANDOM_R])
+  GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
+  GNULIB_REALPATH=0;      AC_SUBST([GNULIB_REALPATH])
+  GNULIB_RPMATCH=0;       AC_SUBST([GNULIB_RPMATCH])
+  GNULIB_SETENV=0;        AC_SUBST([GNULIB_SETENV])
+  GNULIB_STRTOD=0;        AC_SUBST([GNULIB_STRTOD])
+  GNULIB_STRTOLL=0;       AC_SUBST([GNULIB_STRTOLL])
+  GNULIB_STRTOULL=0;      AC_SUBST([GNULIB_STRTOULL])
+  GNULIB_SYSTEM_POSIX=0;  AC_SUBST([GNULIB_SYSTEM_POSIX])
+  GNULIB_UNLOCKPT=0;      AC_SUBST([GNULIB_UNLOCKPT])
+  GNULIB_UNSETENV=0;      AC_SUBST([GNULIB_UNSETENV])
+  GNULIB_WCTOMB=0;        AC_SUBST([GNULIB_WCTOMB])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE__EXIT=1;              AC_SUBST([HAVE__EXIT])
+  HAVE_ATOLL=1;              AC_SUBST([HAVE_ATOLL])
+  HAVE_CANONICALIZE_FILE_NAME=1;  AC_SUBST([HAVE_CANONICALIZE_FILE_NAME])
+  HAVE_DECL_GETLOADAVG=1;    AC_SUBST([HAVE_DECL_GETLOADAVG])
+  HAVE_GETSUBOPT=1;          AC_SUBST([HAVE_GETSUBOPT])
+  HAVE_GRANTPT=1;            AC_SUBST([HAVE_GRANTPT])
+  HAVE_MKDTEMP=1;            AC_SUBST([HAVE_MKDTEMP])
+  HAVE_MKOSTEMP=1;           AC_SUBST([HAVE_MKOSTEMP])
+  HAVE_MKOSTEMPS=1;          AC_SUBST([HAVE_MKOSTEMPS])
+  HAVE_MKSTEMP=1;            AC_SUBST([HAVE_MKSTEMP])
+  HAVE_MKSTEMPS=1;           AC_SUBST([HAVE_MKSTEMPS])
+  HAVE_POSIX_OPENPT=1;       AC_SUBST([HAVE_POSIX_OPENPT])
+  HAVE_PTSNAME=1;            AC_SUBST([HAVE_PTSNAME])
+  HAVE_PTSNAME_R=1;          AC_SUBST([HAVE_PTSNAME_R])
+  HAVE_RANDOM=1;             AC_SUBST([HAVE_RANDOM])
+  HAVE_RANDOM_H=1;           AC_SUBST([HAVE_RANDOM_H])
+  HAVE_RANDOM_R=1;           AC_SUBST([HAVE_RANDOM_R])
+  HAVE_REALPATH=1;           AC_SUBST([HAVE_REALPATH])
+  HAVE_RPMATCH=1;            AC_SUBST([HAVE_RPMATCH])
+  HAVE_SETENV=1;             AC_SUBST([HAVE_SETENV])
+  HAVE_DECL_SETENV=1;        AC_SUBST([HAVE_DECL_SETENV])
+  HAVE_STRTOD=1;             AC_SUBST([HAVE_STRTOD])
+  HAVE_STRTOLL=1;            AC_SUBST([HAVE_STRTOLL])
+  HAVE_STRTOULL=1;           AC_SUBST([HAVE_STRTOULL])
+  HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
+  HAVE_SYS_LOADAVG_H=0;      AC_SUBST([HAVE_SYS_LOADAVG_H])
+  HAVE_UNLOCKPT=1;           AC_SUBST([HAVE_UNLOCKPT])
+  HAVE_DECL_UNSETENV=1;      AC_SUBST([HAVE_DECL_UNSETENV])
+  REPLACE_CALLOC=0;          AC_SUBST([REPLACE_CALLOC])
+  REPLACE_CANONICALIZE_FILE_NAME=0;  AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
+  REPLACE_MALLOC=0;          AC_SUBST([REPLACE_MALLOC])
+  REPLACE_MBTOWC=0;          AC_SUBST([REPLACE_MBTOWC])
+  REPLACE_MKSTEMP=0;         AC_SUBST([REPLACE_MKSTEMP])
+  REPLACE_PTSNAME=0;         AC_SUBST([REPLACE_PTSNAME])
+  REPLACE_PTSNAME_R=0;       AC_SUBST([REPLACE_PTSNAME_R])
+  REPLACE_PUTENV=0;          AC_SUBST([REPLACE_PUTENV])
+  REPLACE_RANDOM_R=0;        AC_SUBST([REPLACE_RANDOM_R])
+  REPLACE_REALLOC=0;         AC_SUBST([REPLACE_REALLOC])
+  REPLACE_REALPATH=0;        AC_SUBST([REPLACE_REALPATH])
+  REPLACE_SETENV=0;          AC_SUBST([REPLACE_SETENV])
+  REPLACE_STRTOD=0;          AC_SUBST([REPLACE_STRTOD])
+  REPLACE_UNSETENV=0;        AC_SUBST([REPLACE_UNSETENV])
+  REPLACE_WCTOMB=0;          AC_SUBST([REPLACE_WCTOMB])
+])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/Makefile.am ./gdb/gnulib/import/Makefile.am
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/Makefile.am	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/import/Makefile.am	2015-01-20 02:05:38.000000000 +0000
@@ -21,7 +21,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files dirent dirfd fnmatch-gnu frexpl inttypes memmem pathmax strstr sys_stat unistd update-copyright
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl inttypes lstat memchr memmem pathmax readlink rename strstr sys_stat unistd update-copyright wchar wctype-h
 
 AUTOMAKE_OPTIONS = 1.5 gnits
 
@@ -83,6 +83,15 @@ EXTRA_DIST += alloca.in.h
 
 ## end   gnulib module alloca-opt
 
+## begin gnulib module canonicalize-lgpl
+
+
+EXTRA_DIST += canonicalize-lgpl.c
+
+EXTRA_libgnu_a_SOURCES += canonicalize-lgpl.c
+
+## end   gnulib module canonicalize-lgpl
+
 ## begin gnulib module configmake
 
 # Listed in the same order as the GNU makefile conventions, and
@@ -184,6 +193,21 @@ EXTRA_libgnu_a_SOURCES += dirfd.c
 
 ## end   gnulib module dirfd
 
+## begin gnulib module dirname-lgpl
+
+libgnu_a_SOURCES += dirname-lgpl.c basename-lgpl.c stripslash.c
+
+EXTRA_DIST += dirname.h
+
+## end   gnulib module dirname-lgpl
+
+## begin gnulib module dosname
+
+
+EXTRA_DIST += dosname.h
+
+## end   gnulib module dosname
+
 ## begin gnulib module errno
 
 BUILT_SOURCES += $(ERRNO_H)
@@ -436,6 +460,32 @@ EXTRA_DIST += config.charset ref-add.sin
 
 ## end   gnulib module localcharset
 
+## begin gnulib module lstat
+
+
+EXTRA_DIST += lstat.c
+
+EXTRA_libgnu_a_SOURCES += lstat.c
+
+## end   gnulib module lstat
+
+## begin gnulib module malloc-posix
+
+
+EXTRA_DIST += malloc.c
+
+EXTRA_libgnu_a_SOURCES += malloc.c
+
+## end   gnulib module malloc-posix
+
+## begin gnulib module malloca
+
+libgnu_a_SOURCES += malloca.c
+
+EXTRA_DIST += malloca.h malloca.valgrind
+
+## end   gnulib module malloca
+
 ## begin gnulib module math
 
 BUILT_SOURCES += math.h
@@ -772,6 +822,52 @@ EXTRA_DIST += pathmax.h
 
 ## end   gnulib module pathmax
 
+## begin gnulib module readlink
+
+
+EXTRA_DIST += readlink.c
+
+EXTRA_libgnu_a_SOURCES += readlink.c
+
+## end   gnulib module readlink
+
+## begin gnulib module rename
+
+
+EXTRA_DIST += rename.c
+
+EXTRA_libgnu_a_SOURCES += rename.c
+
+## end   gnulib module rename
+
+## begin gnulib module rmdir
+
+
+EXTRA_DIST += rmdir.c
+
+EXTRA_libgnu_a_SOURCES += rmdir.c
+
+## end   gnulib module rmdir
+
+## begin gnulib module same-inode
+
+
+EXTRA_DIST += same-inode.h
+
+## end   gnulib module same-inode
+
+## begin gnulib module snippet/_Noreturn
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all Makefile.am that
+# need it. This is ensured by the applicability 'all' defined above.
+
+_NORETURN_H=$(top_srcdir)/import/extra/snippet/_Noreturn.h
+
+EXTRA_DIST += $(top_srcdir)/import/extra/snippet/_Noreturn.h
+
+## end   gnulib module snippet/_Noreturn
+
 ## begin gnulib module snippet/arg-nonnull
 
 # The BUILT_SOURCES created by this Makefile snippet are not used via #include
@@ -841,6 +937,15 @@ EXTRA_DIST += $(top_srcdir)/import/extra
 
 ## end   gnulib module snippet/warn-on-use
 
+## begin gnulib module stat
+
+
+EXTRA_DIST += stat.c
+
+EXTRA_libgnu_a_SOURCES += stat.c
+
+## end   gnulib module stat
+
 ## begin gnulib module stdbool
 
 BUILT_SOURCES += $(STDBOOL_H)
@@ -944,6 +1049,236 @@ EXTRA_DIST += stdint.in.h
 
 ## end   gnulib module stdint
 
+## begin gnulib module stdio
+
+BUILT_SOURCES += stdio.h
+libgnu_a_SOURCES += stdio.c
+
+# We need the following in order to create <stdio.h> when the system
+# doesn't have one that works with the given compiler.
+stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+	      -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+	      -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
+	      -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
+	      -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
+	      -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
+	      -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
+	      -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
+	      -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
+	      -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
+	      -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
+	      -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
+	      -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
+	      -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
+	      -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
+	      -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
+	      -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
+	      -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
+	      -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
+	      -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
+	      -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
+	      -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
+	      -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
+	      -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
+	      -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
+	      -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
+	      -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
+	      -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
+	      -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
+	      -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
+	      -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
+	      -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
+	      -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
+	      -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
+	      -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
+	      -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
+	      -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
+	      -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
+	      -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
+	      -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
+	      -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
+	      -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
+	      -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
+	      -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
+	      -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
+	      -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
+	      -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
+	      -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
+	      -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
+	      < $(srcdir)/stdio.in.h | \
+	  sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
+	      -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
+	      -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
+	      -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
+	      -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
+	      -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+	      -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
+	      -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
+	      -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
+	      -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
+	      -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+	      -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+	      -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
+	      -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
+	      -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
+	      -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
+	      -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
+	      -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+	      -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
+	      -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
+	      -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
+	      -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
+	      -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
+	      -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
+	      -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
+	      -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
+	      -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
+	      -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
+	      -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
+	      -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
+	      -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
+	      -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
+	      -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
+	      -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
+	      -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
+	      -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
+	      -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
+	      -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
+	      -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
+	      -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
+	      -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
+	      -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
+	      -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
+	      -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
+	      -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
+	      -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
+	      -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
+	      -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+	      -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
+	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+	} > $@-t && \
+	mv $@-t $@
+MOSTLYCLEANFILES += stdio.h stdio.h-t
+
+EXTRA_DIST += stdio.in.h
+
+## end   gnulib module stdio
+
+## begin gnulib module stdlib
+
+BUILT_SOURCES += stdlib.h
+
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+	      -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+	      -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
+	      -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
+	      -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
+	      -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
+	      -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
+	      -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
+	      -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
+	      -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
+	      -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
+	      -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
+	      -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
+	      -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
+	      -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
+	      -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+	      -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
+	      -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+	      -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
+	      -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+	      -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
+	      -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
+	      -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
+	      -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
+	      -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
+	      -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
+	      -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
+	      -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
+	      -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
+	      -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
+	      -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
+	      -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
+	      -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
+	      < $(srcdir)/stdlib.in.h | \
+	  sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+	      -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+	      -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+	      -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+	      -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+	      -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+	      -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+	      -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+	      -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+	      -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+	      -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+	      -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+	      -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+	      -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+	      -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
+	      -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+	      -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+	      -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+	      -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+	      -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+	      -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+	      -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+	      -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+	      -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+	      -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+	      -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+	      -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+	      -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
+	      -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+	      -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
+	      -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+	      -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+	      -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
+	      -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+	      -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+	      -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
+	      -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
+	      -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+	      -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+	      -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+	      -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+	      -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+	      -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+	} > $@-t && \
+	mv $@-t $@
+MOSTLYCLEANFILES += stdlib.h stdlib.h-t
+
+EXTRA_DIST += stdlib.in.h
+
+## end   gnulib module stdlib
+
 ## begin gnulib module streq
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/Makefile.in ./gdb/gnulib/import/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/Makefile.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/import/Makefile.in	2015-01-20 02:05:38.000000000 +0000
@@ -36,7 +36,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files dirent dirfd fnmatch-gnu frexpl inttypes memmem pathmax strstr sys_stat unistd update-copyright
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl inttypes lstat memchr memmem pathmax readlink rename strstr sys_stat unistd update-copyright wchar wctype-h
 
 
 
@@ -65,10 +65,14 @@ DIST_COMMON = $(noinst_HEADERS) $(srcdir
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/import/m4/00gnulib.m4 \
 	$(top_srcdir)/import/m4/alloca.m4 \
+	$(top_srcdir)/import/m4/canonicalize.m4 \
 	$(top_srcdir)/import/m4/codeset.m4 \
 	$(top_srcdir)/import/m4/configmake.m4 \
 	$(top_srcdir)/import/m4/dirent_h.m4 \
 	$(top_srcdir)/import/m4/dirfd.m4 \
+	$(top_srcdir)/import/m4/dirname.m4 \
+	$(top_srcdir)/import/m4/double-slash-root.m4 \
+	$(top_srcdir)/import/m4/eealloc.m4 \
 	$(top_srcdir)/import/m4/errno_h.m4 \
 	$(top_srcdir)/import/m4/exponentd.m4 \
 	$(top_srcdir)/import/m4/exponentl.m4 \
@@ -88,11 +92,15 @@ am__aclocal_m4_deps = $(top_srcdir)/impo
 	$(top_srcdir)/import/m4/inttypes.m4 \
 	$(top_srcdir)/import/m4/isnand.m4 \
 	$(top_srcdir)/import/m4/isnanl.m4 \
+	$(top_srcdir)/import/m4/largefile.m4 \
 	$(top_srcdir)/import/m4/localcharset.m4 \
 	$(top_srcdir)/import/m4/locale-fr.m4 \
 	$(top_srcdir)/import/m4/locale-ja.m4 \
 	$(top_srcdir)/import/m4/locale-zh.m4 \
 	$(top_srcdir)/import/m4/longlong.m4 \
+	$(top_srcdir)/import/m4/lstat.m4 \
+	$(top_srcdir)/import/m4/malloc.m4 \
+	$(top_srcdir)/import/m4/malloca.m4 \
 	$(top_srcdir)/import/m4/math_h.m4 \
 	$(top_srcdir)/import/m4/mbrtowc.m4 \
 	$(top_srcdir)/import/m4/mbsinit.m4 \
@@ -102,12 +110,19 @@ am__aclocal_m4_deps = $(top_srcdir)/impo
 	$(top_srcdir)/import/m4/memmem.m4 \
 	$(top_srcdir)/import/m4/mmap-anon.m4 \
 	$(top_srcdir)/import/m4/multiarch.m4 \
+	$(top_srcdir)/import/m4/nocrash.m4 \
 	$(top_srcdir)/import/m4/off_t.m4 \
 	$(top_srcdir)/import/m4/pathmax.m4 \
+	$(top_srcdir)/import/m4/readlink.m4 \
+	$(top_srcdir)/import/m4/rename.m4 \
+	$(top_srcdir)/import/m4/rmdir.m4 \
 	$(top_srcdir)/import/m4/ssize_t.m4 \
+	$(top_srcdir)/import/m4/stat.m4 \
 	$(top_srcdir)/import/m4/stdbool.m4 \
 	$(top_srcdir)/import/m4/stddef_h.m4 \
 	$(top_srcdir)/import/m4/stdint.m4 \
+	$(top_srcdir)/import/m4/stdio_h.m4 \
+	$(top_srcdir)/import/m4/stdlib_h.m4 \
 	$(top_srcdir)/import/m4/string_h.m4 \
 	$(top_srcdir)/import/m4/strstr.m4 \
 	$(top_srcdir)/import/m4/sys_stat_h.m4 \
@@ -128,8 +143,10 @@ CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 libgnu_a_AR = $(AR) $(ARFLAGS)
 am__DEPENDENCIES_1 =
-am_libgnu_a_OBJECTS = localcharset.$(OBJEXT) math.$(OBJEXT) \
-	strnlen1.$(OBJEXT) unistd.$(OBJEXT) wctype-h.$(OBJEXT)
+am_libgnu_a_OBJECTS = dirname-lgpl.$(OBJEXT) basename-lgpl.$(OBJEXT) \
+	stripslash.$(OBJEXT) localcharset.$(OBJEXT) malloca.$(OBJEXT) \
+	math.$(OBJEXT) stdio.$(OBJEXT) strnlen1.$(OBJEXT) \
+	unistd.$(OBJEXT) wctype-h.$(OBJEXT)
 libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS)
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
@@ -234,7 +251,10 @@ GNULIB_ASINL = @GNULIB_ASINL@
 GNULIB_ATAN2F = @GNULIB_ATAN2F@
 GNULIB_ATANF = @GNULIB_ATANF@
 GNULIB_ATANL = @GNULIB_ATANL@
+GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
 GNULIB_CBRT = @GNULIB_CBRT@
 GNULIB_CBRTF = @GNULIB_CBRTF@
 GNULIB_CBRTL = @GNULIB_CBRTL@
@@ -252,6 +272,7 @@ GNULIB_COSF = @GNULIB_COSF@
 GNULIB_COSHF = @GNULIB_COSHF@
 GNULIB_COSL = @GNULIB_COSL@
 GNULIB_DIRFD = @GNULIB_DIRFD@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
 GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_DUP3 = @GNULIB_DUP3@
@@ -271,10 +292,15 @@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
 GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FFSL = @GNULIB_FFSL@
 GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
 GNULIB_FLOOR = @GNULIB_FLOOR@
 GNULIB_FLOORF = @GNULIB_FLOORF@
 GNULIB_FLOORL = @GNULIB_FLOORL@
@@ -284,23 +310,44 @@ GNULIB_FMAL = @GNULIB_FMAL@
 GNULIB_FMOD = @GNULIB_FMOD@
 GNULIB_FMODF = @GNULIB_FMODF@
 GNULIB_FMODL = @GNULIB_FMODL@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FREXP = @GNULIB_FREXP@
 GNULIB_FREXPF = @GNULIB_FREXPF@
 GNULIB_FREXPL = @GNULIB_FREXPL@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
 GNULIB_FSTAT = @GNULIB_FSTAT@
 GNULIB_FSTATAT = @GNULIB_FSTATAT@
 GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
 GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
 GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
 GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
 GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
 GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
 GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_HYPOT = @GNULIB_HYPOT@
 GNULIB_HYPOTF = @GNULIB_HYPOTF@
@@ -342,6 +389,7 @@ GNULIB_LOGF = @GNULIB_LOGF@
 GNULIB_LOGL = @GNULIB_LOGL@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
 GNULIB_MBRLEN = @GNULIB_MBRLEN@
 GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
 GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
@@ -361,34 +409,61 @@ GNULIB_MBSSEP = @GNULIB_MBSSEP@
 GNULIB_MBSSPN = @GNULIB_MBSSPN@
 GNULIB_MBSSTR = @GNULIB_MBSSTR@
 GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
 GNULIB_MEMCHR = @GNULIB_MEMCHR@
 GNULIB_MEMMEM = @GNULIB_MEMMEM@
 GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
 GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
 GNULIB_MKFIFO = @GNULIB_MKFIFO@
 GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
 GNULIB_MKNOD = @GNULIB_MKNOD@
 GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
 GNULIB_MKTIME = @GNULIB_MKTIME@
 GNULIB_MODF = @GNULIB_MODF@
 GNULIB_MODFF = @GNULIB_MODFF@
 GNULIB_MODFL = @GNULIB_MODFL@
 GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPENDIR = @GNULIB_OPENDIR@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
 GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_POWF = @GNULIB_POWF@
 GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
 GNULIB_READDIR = @GNULIB_READDIR@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
 GNULIB_REMAINDER = @GNULIB_REMAINDER@
 GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
 GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
 GNULIB_RINT = @GNULIB_RINT@
 GNULIB_RINTF = @GNULIB_RINTF@
@@ -397,16 +472,23 @@ GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_ROUND = @GNULIB_ROUND@
 GNULIB_ROUNDF = @GNULIB_ROUNDF@
 GNULIB_ROUNDL = @GNULIB_ROUNDL@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANDIR = @GNULIB_SCANDIR@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
 GNULIB_SINF = @GNULIB_SINF@
 GNULIB_SINHF = @GNULIB_SINHF@
 GNULIB_SINL = @GNULIB_SINL@
 GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
 GNULIB_SQRTF = @GNULIB_SQRTF@
 GNULIB_SQRTL = @GNULIB_SQRTL@
 GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
 GNULIB_STPCPY = @GNULIB_STPCPY@
 GNULIB_STPNCPY = @GNULIB_STPNCPY@
 GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -422,17 +504,22 @@ GNULIB_STRPTIME = @GNULIB_STRPTIME@
 GNULIB_STRSEP = @GNULIB_STRSEP@
 GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
 GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
 GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
 GNULIB_SYMLINK = @GNULIB_SYMLINK@
 GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
 GNULIB_TANF = @GNULIB_TANF@
 GNULIB_TANHF = @GNULIB_TANHF@
 GNULIB_TANL = @GNULIB_TANL@
 GNULIB_TIMEGM = @GNULIB_TIMEGM@
 GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TRUNC = @GNULIB_TRUNC@
 GNULIB_TRUNCF = @GNULIB_TRUNCF@
@@ -442,8 +529,20 @@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UN
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
 GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
 GNULIB_USLEEP = @GNULIB_USLEEP@
 GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
 GNULIB_WCPCPY = @GNULIB_WCPCPY@
 GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
 GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
@@ -471,6 +570,7 @@ GNULIB_WCSTOK = @GNULIB_WCSTOK@
 GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
 GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
 GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
 GNULIB_WCTRANS = @GNULIB_WCTRANS@
 GNULIB_WCTYPE = @GNULIB_WCTYPE@
 GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
@@ -480,6 +580,7 @@ GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
 GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
 GNULIB_WMEMSET = @GNULIB_WMEMSET@
 GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
 GREP = @GREP@
 HAVE_ACOSF = @HAVE_ACOSF@
 HAVE_ACOSL = @HAVE_ACOSL@
@@ -489,7 +590,9 @@ HAVE_ASINL = @HAVE_ASINL@
 HAVE_ATAN2F = @HAVE_ATAN2F@
 HAVE_ATANF = @HAVE_ATANF@
 HAVE_ATANL = @HAVE_ATANL@
+HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CBRT = @HAVE_CBRT@
 HAVE_CBRTF = @HAVE_CBRTF@
 HAVE_CBRTL = @HAVE_CBRTL@
@@ -521,8 +624,14 @@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASY
 HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
 HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
 HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
@@ -538,14 +647,17 @@ HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
 HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
 HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
 HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
 HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
 HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
 HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
 HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
 HAVE_DECL_SINL = @HAVE_DECL_SINL@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -560,9 +672,12 @@ HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
 HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
 HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
 HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DIRENT_H = @HAVE_DIRENT_H@
+HAVE_DPRINTF = @HAVE_DPRINTF@
 HAVE_DUP2 = @HAVE_DUP2@
 HAVE_DUP3 = @HAVE_DUP3@
 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
@@ -587,8 +702,10 @@ HAVE_FMAL = @HAVE_FMAL@
 HAVE_FMODF = @HAVE_FMODF@
 HAVE_FMODL = @HAVE_FMODL@
 HAVE_FREXPF = @HAVE_FREXPF@
+HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
 HAVE_FUTIMENS = @HAVE_FUTIMENS@
 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
@@ -596,6 +713,8 @@ HAVE_GETGROUPS = @HAVE_GETGROUPS@
 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
 HAVE_HYPOTF = @HAVE_HYPOTF@
 HAVE_HYPOTL = @HAVE_HYPOTL@
@@ -633,31 +752,48 @@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
 HAVE_MEMCHR = @HAVE_MEMCHR@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
 HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_MKFIFO = @HAVE_MKFIFO@
 HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
 HAVE_MKNOD = @HAVE_MKNOD@
 HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MODFF = @HAVE_MODFF@
 HAVE_MODFL = @HAVE_MODFL@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
 HAVE_OPENDIR = @HAVE_OPENDIR@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_POWF = @HAVE_POWF@
 HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READDIR = @HAVE_READDIR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_REMAINDER = @HAVE_REMAINDER@
 HAVE_REMAINDERF = @HAVE_REMAINDERF@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_REWINDDIR = @HAVE_REWINDDIR@
 HAVE_RINT = @HAVE_RINT@
 HAVE_RINTL = @HAVE_RINTL@
+HAVE_RPMATCH = @HAVE_RPMATCH@
 HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
 HAVE_SCANDIR = @HAVE_SCANDIR@
+HAVE_SETENV = @HAVE_SETENV@
 HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
@@ -676,11 +812,16 @@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TANF = @HAVE_TANF@
@@ -689,9 +830,12 @@ HAVE_TANL = @HAVE_TANL@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
 HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
 HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
 HAVE_USLEEP = @HAVE_USLEEP@
 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
 HAVE_WCHAR_H = @HAVE_WCHAR_H@
 HAVE_WCHAR_T = @HAVE_WCHAR_T@
 HAVE_WCPCPY = @HAVE_WCPCPY@
@@ -730,6 +874,7 @@ HAVE_WMEMCPY = @HAVE_WMEMCPY@
 HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
 HAVE_WMEMSET = @HAVE_WMEMSET@
 HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
 INSTALL = @INSTALL@
@@ -761,6 +906,8 @@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NE
 NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
@@ -775,6 +922,8 @@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_MATH_H = @NEXT_MATH_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
 NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
 NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
@@ -799,6 +948,8 @@ PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTH
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 RANLIB = @RANLIB@
 REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
 REPLACE_CBRTF = @REPLACE_CBRTF@
 REPLACE_CBRTL = @REPLACE_CBRTL@
 REPLACE_CEIL = @REPLACE_CEIL@
@@ -808,6 +959,7 @@ REPLACE_CHOWN = @REPLACE_CHOWN@
 REPLACE_CLOSE = @REPLACE_CLOSE@
 REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
 REPLACE_DIRFD = @REPLACE_DIRFD@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
 REPLACE_DUP = @REPLACE_DUP@
 REPLACE_DUP2 = @REPLACE_DUP2@
 REPLACE_EXP2 = @REPLACE_EXP2@
@@ -816,7 +968,10 @@ REPLACE_EXPM1 = @REPLACE_EXPM1@
 REPLACE_EXPM1F = @REPLACE_EXPM1F@
 REPLACE_FABSL = @REPLACE_FABSL@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FLOOR = @REPLACE_FLOOR@
 REPLACE_FLOORF = @REPLACE_FLOORF@
 REPLACE_FLOORL = @REPLACE_FLOORL@
@@ -826,16 +981,26 @@ REPLACE_FMAL = @REPLACE_FMAL@
 REPLACE_FMOD = @REPLACE_FMOD@
 REPLACE_FMODF = @REPLACE_FMODF@
 REPLACE_FMODL = @REPLACE_FMODL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FREXP = @REPLACE_FREXP@
 REPLACE_FREXPF = @REPLACE_FREXPF@
 REPLACE_FREXPL = @REPLACE_FREXPL@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
 REPLACE_FSTAT = @REPLACE_FSTAT@
 REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
 REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
 REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
@@ -873,17 +1038,20 @@ REPLACE_LOGF = @REPLACE_LOGF@
 REPLACE_LOGL = @REPLACE_LOGL@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
 REPLACE_MBRLEN = @REPLACE_MBRLEN@
 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
 REPLACE_MBSINIT = @REPLACE_MBSINIT@
 REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
 REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
 REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
 REPLACE_MEMCHR = @REPLACE_MEMCHR@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
 REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKFIFO = @REPLACE_MKFIFO@
 REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_MODF = @REPLACE_MODF@
 REPLACE_MODFF = @REPLACE_MODFF@
@@ -891,23 +1059,41 @@ REPLACE_MODFL = @REPLACE_MODFL@
 REPLACE_NAN = @REPLACE_NAN@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
 REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPENDIR = @REPLACE_OPENDIR@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
 REPLACE_REMAINDER = @REPLACE_REMAINDER@
 REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
 REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
 REPLACE_RMDIR = @REPLACE_RMDIR@
 REPLACE_ROUND = @REPLACE_ROUND@
 REPLACE_ROUNDF = @REPLACE_ROUNDF@
 REPLACE_ROUNDL = @REPLACE_ROUNDL@
+REPLACE_SETENV = @REPLACE_SETENV@
 REPLACE_SIGNBIT = @REPLACE_SIGNBIT@
 REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
 REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
 REPLACE_SQRTL = @REPLACE_SQRTL@
 REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
 REPLACE_STPNCPY = @REPLACE_STPNCPY@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
 REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -919,10 +1105,12 @@ REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
 REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
 REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
 REPLACE_TRUNC = @REPLACE_TRUNC@
 REPLACE_TRUNCF = @REPLACE_TRUNCF@
@@ -930,13 +1118,21 @@ REPLACE_TRUNCL = @REPLACE_TRUNCL@
 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
 REPLACE_UNLINK = @REPLACE_UNLINK@
 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
 REPLACE_USLEEP = @REPLACE_USLEEP@
 REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
 REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
 REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
 REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
 REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
 REPLACE_WRITE = @REPLACE_WRITE@
 SET_MAKE = @SET_MAKE@
@@ -1024,19 +1220,23 @@ SUBDIRS = 
 noinst_HEADERS = 
 noinst_LIBRARIES = libgnu.a
 noinst_LTLIBRARIES = 
-EXTRA_DIST = m4/gnulib-cache.m4 alloca.c alloca.in.h dirent.in.h \
-	dirfd.c errno.in.h float.c float.in.h itold.c fnmatch.c \
-	fnmatch.in.h fnmatch_loop.c fpucw.h frexp.c frexp.c frexpl.c \
-	inttypes.in.h float+.h isnan.c isnand-nolibm.h isnand.c \
-	float+.h isnan.c isnanl-nolibm.h isnanl.c config.charset \
-	ref-add.sin ref-del.sin math.in.h mbrtowc.c mbsinit.c \
-	mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c memchr.c \
-	memchr.valgrind memmem.c str-two-way.h pathmax.h \
+EXTRA_DIST = m4/gnulib-cache.m4 alloca.c alloca.in.h \
+	canonicalize-lgpl.c dirent.in.h dirfd.c dirname.h dosname.h \
+	errno.in.h float.c float.in.h itold.c fnmatch.c fnmatch.in.h \
+	fnmatch_loop.c fpucw.h frexp.c frexp.c frexpl.c inttypes.in.h \
+	float+.h isnan.c isnand-nolibm.h isnand.c float+.h isnan.c \
+	isnanl-nolibm.h isnanl.c config.charset ref-add.sin \
+	ref-del.sin lstat.c malloc.c malloca.h malloca.valgrind \
+	math.in.h mbrtowc.c mbsinit.c mbsrtowcs-impl.h \
+	mbsrtowcs-state.c mbsrtowcs.c memchr.c memchr.valgrind \
+	memmem.c str-two-way.h pathmax.h readlink.c rename.c rmdir.c \
+	same-inode.h $(top_srcdir)/import/extra/snippet/_Noreturn.h \
 	$(top_srcdir)/import/extra/snippet/arg-nonnull.h \
 	$(top_srcdir)/import/extra/snippet/c++defs.h \
-	$(top_srcdir)/import/extra/snippet/warn-on-use.h stdbool.in.h \
-	stddef.in.h stdint.in.h streq.h string.in.h str-two-way.h \
-	strstr.c sys_stat.in.h sys_types.in.h time.in.h unistd.in.h \
+	$(top_srcdir)/import/extra/snippet/warn-on-use.h stat.c \
+	stdbool.in.h stddef.in.h stdint.in.h stdio.in.h stdlib.in.h \
+	streq.h string.in.h str-two-way.h strstr.c sys_stat.in.h \
+	sys_types.in.h time.in.h unistd.in.h \
 	$(top_srcdir)/import/extra/update-copyright verify.h \
 	wchar.in.h wctype.in.h
 
@@ -1052,17 +1252,18 @@ EXTRA_DIST = m4/gnulib-cache.m4 alloca.c
 BUILT_SOURCES = $(ALLOCA_H) configmake.h dirent.h $(ERRNO_H) \
 	$(FLOAT_H) $(FNMATCH_H) inttypes.h math.h arg-nonnull.h \
 	c++defs.h warn-on-use.h $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) \
-	string.h sys/stat.h sys/types.h time.h unistd.h wchar.h \
-	wctype.h
+	stdio.h stdlib.h string.h sys/stat.h sys/types.h time.h \
+	unistd.h wchar.h wctype.h
 SUFFIXES = .sed .sin
 MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t dirent.h \
 	dirent.h-t errno.h errno.h-t float.h float.h-t fnmatch.h \
 	fnmatch.h-t inttypes.h inttypes.h-t math.h math.h-t \
 	arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t \
 	warn-on-use.h warn-on-use.h-t stdbool.h stdbool.h-t stddef.h \
-	stddef.h-t stdint.h stdint.h-t string.h string.h-t sys/stat.h \
-	sys/stat.h-t sys/types.h sys/types.h-t time.h time.h-t \
-	unistd.h unistd.h-t wchar.h wchar.h-t wctype.h wctype.h-t
+	stddef.h-t stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h \
+	stdlib.h-t string.h string.h-t sys/stat.h sys/stat.h-t \
+	sys/types.h sys/types.h-t time.h time.h-t unistd.h unistd.h-t \
+	wchar.h wchar.h-t wctype.h wctype.h-t
 MOSTLYCLEANDIRS = sys
 CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
 	ref-del.sed
@@ -1070,16 +1271,23 @@ DISTCLEANFILES = 
 MAINTAINERCLEANFILES = 
 AM_CPPFLAGS = 
 AM_CFLAGS = 
-libgnu_a_SOURCES = localcharset.h localcharset.c math.c strnlen1.h \
-	strnlen1.c unistd.c wctype-h.c
+libgnu_a_SOURCES = dirname-lgpl.c basename-lgpl.c stripslash.c \
+	localcharset.h localcharset.c malloca.c math.c stdio.c \
+	strnlen1.h strnlen1.c unistd.c wctype-h.c
 libgnu_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@
 libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@
-EXTRA_libgnu_a_SOURCES = alloca.c dirfd.c float.c itold.c fnmatch.c \
-	fnmatch_loop.c frexp.c frexp.c frexpl.c isnan.c isnand.c \
-	isnan.c isnanl.c mbrtowc.c mbsinit.c mbsrtowcs-state.c \
-	mbsrtowcs.c memchr.c memmem.c strstr.c
+EXTRA_libgnu_a_SOURCES = alloca.c canonicalize-lgpl.c dirfd.c float.c \
+	itold.c fnmatch.c fnmatch_loop.c frexp.c frexp.c frexpl.c \
+	isnan.c isnand.c isnan.c isnanl.c lstat.c malloc.c mbrtowc.c \
+	mbsinit.c mbsrtowcs-state.c mbsrtowcs.c memchr.c memmem.c \
+	readlink.c rename.c rmdir.c stat.c strstr.c
 charset_alias = $(DESTDIR)$(libdir)/charset.alias
 charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all Makefile.am that
+# need it. This is ensured by the applicability 'all' defined above.
+_NORETURN_H = $(top_srcdir)/import/extra/snippet/_Noreturn.h
 ARG_NONNULL_H = arg-nonnull.h
 CXXDEFS_H = c++defs.h
 WARN_ON_USE_H = warn-on-use.h
@@ -1143,7 +1351,10 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename-lgpl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canonicalize-lgpl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirfd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname-lgpl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/float.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch_loop.Po@am__quote@
@@ -1154,6 +1365,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isnanl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/itold.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/math.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbrtowc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsinit.Po@am__quote@
@@ -1161,6 +1375,12 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsrtowcs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmem.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdio.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen1.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strstr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unistd.Po@am__quote@
@@ -2100,6 +2320,217 @@ warn-on-use.h: $(top_srcdir)/import/extr
 @GL_GENERATE_STDINT_H_FALSE@stdint.h: $(top_builddir)/config.status
 @GL_GENERATE_STDINT_H_FALSE@	rm -f $@
 
+# We need the following in order to create <stdio.h> when the system
+# doesn't have one that works with the given compiler.
+stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+	      -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+	      -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
+	      -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
+	      -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
+	      -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
+	      -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
+	      -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
+	      -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
+	      -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
+	      -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
+	      -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
+	      -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
+	      -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
+	      -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
+	      -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
+	      -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
+	      -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
+	      -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
+	      -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
+	      -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
+	      -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
+	      -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
+	      -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
+	      -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
+	      -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
+	      -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
+	      -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
+	      -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
+	      -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
+	      -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
+	      -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
+	      -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
+	      -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
+	      -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
+	      -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
+	      -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
+	      -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
+	      -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
+	      -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
+	      -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
+	      -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
+	      -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
+	      -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
+	      -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
+	      -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
+	      -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
+	      -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
+	      -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
+	      -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
+	      < $(srcdir)/stdio.in.h | \
+	  sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
+	      -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
+	      -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
+	      -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
+	      -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
+	      -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+	      -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
+	      -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
+	      -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
+	      -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
+	      -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+	      -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+	      -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
+	      -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
+	      -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
+	      -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
+	      -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
+	      -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+	      -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
+	      -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
+	      -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
+	      -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
+	      -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
+	      -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
+	      -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
+	      -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
+	      -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
+	      -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
+	      -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
+	      -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
+	      -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
+	      -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
+	      -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
+	      -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
+	      -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
+	      -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
+	      -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
+	      -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
+	      -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
+	      -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
+	      -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
+	      -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
+	      -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
+	      -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
+	      -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
+	      -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
+	      -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
+	      -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+	      -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
+	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+	} > $@-t && \
+	mv $@-t $@
+
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+  $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+	      -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+	      -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
+	      -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
+	      -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
+	      -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
+	      -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
+	      -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
+	      -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
+	      -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
+	      -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
+	      -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
+	      -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
+	      -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
+	      -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
+	      -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+	      -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
+	      -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+	      -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
+	      -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+	      -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
+	      -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
+	      -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
+	      -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
+	      -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
+	      -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
+	      -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
+	      -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
+	      -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
+	      -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
+	      -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
+	      -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
+	      -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
+	      < $(srcdir)/stdlib.in.h | \
+	  sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+	      -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+	      -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+	      -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+	      -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+	      -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+	      -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+	      -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+	      -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+	      -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+	      -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+	      -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+	      -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+	      -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+	      -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
+	      -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+	      -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+	      -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+	      -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+	      -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+	      -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+	      -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+	      -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+	      -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+	      -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+	      -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+	      -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+	      -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
+	      -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+	      -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
+	      -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+	      -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+	      -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
+	      -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+	      -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+	      -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
+	      -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
+	      -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+	      -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+	      -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+	      -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+	      -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+	      -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+	} > $@-t && \
+	mv $@-t $@
+
 # We need the following in order to create <string.h> when the system
 # doesn't have one that works with the given compiler.
 string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/malloca.c ./gdb/gnulib/import/malloca.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/malloca.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/malloca.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,140 @@
+/* Safe automatic memory allocation.
+   Copyright (C) 2003, 2006-2007, 2009-2012 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#define _GL_USE_STDLIB_ALLOC 1
+#include <config.h>
+
+/* Specification.  */
+#include "malloca.h"
+
+#include <stdint.h>
+
+#include "verify.h"
+
+/* The speed critical point in this file is freea() applied to an alloca()
+   result: it must be fast, to match the speed of alloca().  The speed of
+   mmalloca() and freea() in the other case are not critical, because they
+   are only invoked for big memory sizes.  */
+
+#if HAVE_ALLOCA
+
+/* Store the mmalloca() results in a hash table.  This is needed to reliably
+   distinguish a mmalloca() result and an alloca() result.
+
+   Although it is possible that the same pointer is returned by alloca() and
+   by mmalloca() at different times in the same application, it does not lead
+   to a bug in freea(), because:
+     - Before a pointer returned by alloca() can point into malloc()ed memory,
+       the function must return, and once this has happened the programmer must
+       not call freea() on it anyway.
+     - Before a pointer returned by mmalloca() can point into the stack, it
+       must be freed.  The only function that can free it is freea(), and
+       when freea() frees it, it also removes it from the hash table.  */
+
+#define MAGIC_NUMBER 0x1415fb4a
+#define MAGIC_SIZE sizeof (int)
+/* This is how the header info would look like without any alignment
+   considerations.  */
+struct preliminary_header { void *next; char room[MAGIC_SIZE]; };
+/* But the header's size must be a multiple of sa_alignment_max.  */
+#define HEADER_SIZE \
+  (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
+struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; };
+verify (HEADER_SIZE == sizeof (struct header));
+/* We make the hash table quite big, so that during lookups the probability
+   of empty hash buckets is quite high.  There is no need to make the hash
+   table resizable, because when the hash table gets filled so much that the
+   lookup becomes slow, it means that the application has memory leaks.  */
+#define HASH_TABLE_SIZE 257
+static void * mmalloca_results[HASH_TABLE_SIZE];
+
+#endif
+
+void *
+mmalloca (size_t n)
+{
+#if HAVE_ALLOCA
+  /* Allocate one more word, that serves as an indicator for malloc()ed
+     memory, so that freea() of an alloca() result is fast.  */
+  size_t nplus = n + HEADER_SIZE;
+
+  if (nplus >= n)
+    {
+      char *p = (char *) malloc (nplus);
+
+      if (p != NULL)
+        {
+          size_t slot;
+
+          p += HEADER_SIZE;
+
+          /* Put a magic number into the indicator word.  */
+          ((int *) p)[-1] = MAGIC_NUMBER;
+
+          /* Enter p into the hash table.  */
+          slot = (uintptr_t) p % HASH_TABLE_SIZE;
+          ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot];
+          mmalloca_results[slot] = p;
+
+          return p;
+        }
+    }
+  /* Out of memory.  */
+  return NULL;
+#else
+# if !MALLOC_0_IS_NONNULL
+  if (n == 0)
+    n = 1;
+# endif
+  return malloc (n);
+#endif
+}
+
+#if HAVE_ALLOCA
+void
+freea (void *p)
+{
+  /* mmalloca() may have returned NULL.  */
+  if (p != NULL)
+    {
+      /* Attempt to quickly distinguish the mmalloca() result - which has
+         a magic indicator word - and the alloca() result - which has an
+         uninitialized indicator word.  It is for this test that sa_increment
+         additional bytes are allocated in the alloca() case.  */
+      if (((int *) p)[-1] == MAGIC_NUMBER)
+        {
+          /* Looks like a mmalloca() result.  To see whether it really is one,
+             perform a lookup in the hash table.  */
+          size_t slot = (uintptr_t) p % HASH_TABLE_SIZE;
+          void **chain = &mmalloca_results[slot];
+          for (; *chain != NULL;)
+            {
+              if (*chain == p)
+                {
+                  /* Found it.  Remove it from the hash table and free it.  */
+                  char *p_begin = (char *) p - HEADER_SIZE;
+                  *chain = ((struct header *) p_begin)->next;
+                  free (p_begin);
+                  return;
+                }
+              chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next;
+            }
+        }
+      /* At this point, we know it was not a mmalloca() result.  */
+    }
+}
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/malloca.h ./gdb/gnulib/import/malloca.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/malloca.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/malloca.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,133 @@
+/* Safe automatic memory allocation.
+   Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _MALLOCA_H
+#define _MALLOCA_H
+
+#include <alloca.h>
+#include <stddef.h>
+#include <stdlib.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* safe_alloca(N) is equivalent to alloca(N) when it is safe to call
+   alloca(N); otherwise it returns NULL.  It either returns N bytes of
+   memory allocated on the stack, that lasts until the function returns,
+   or NULL.
+   Use of safe_alloca should be avoided:
+     - inside arguments of function calls - undefined behaviour,
+     - in inline functions - the allocation may actually last until the
+       calling function returns.
+*/
+#if HAVE_ALLOCA
+/* The OS usually guarantees only one guard page at the bottom of the stack,
+   and a page size can be as small as 4096 bytes.  So we cannot safely
+   allocate anything larger than 4096 bytes.  Also care for the possibility
+   of a few compiler-allocated temporary stack slots.
+   This must be a macro, not a function.  */
+# define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL)
+#else
+# define safe_alloca(N) ((void) (N), NULL)
+#endif
+
+/* malloca(N) is a safe variant of alloca(N).  It allocates N bytes of
+   memory allocated on the stack, that must be freed using freea() before
+   the function returns.  Upon failure, it returns NULL.  */
+#if HAVE_ALLOCA
+# define malloca(N) \
+  ((N) < 4032 - sa_increment                                        \
+   ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \
+   : mmalloca (N))
+#else
+# define malloca(N) \
+  mmalloca (N)
+#endif
+extern void * mmalloca (size_t n);
+
+/* Free a block of memory allocated through malloca().  */
+#if HAVE_ALLOCA
+extern void freea (void *p);
+#else
+# define freea free
+#endif
+
+/* nmalloca(N,S) is an overflow-safe variant of malloca (N * S).
+   It allocates an array of N objects, each with S bytes of memory,
+   on the stack.  S must be positive and N must be nonnegative.
+   The array must be freed using freea() before the function returns.  */
+#if 1
+/* Cf. the definition of xalloc_oversized.  */
+# define nmalloca(n, s) \
+    ((n) > (size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) \
+     ? NULL \
+     : malloca ((n) * (s)))
+#else
+extern void * nmalloca (size_t n, size_t s);
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+/* ------------------- Auxiliary, non-public definitions ------------------- */
+
+/* Determine the alignment of a type at compile time.  */
+#if defined __GNUC__
+# define sa_alignof __alignof__
+#elif defined __cplusplus
+  template <class type> struct sa_alignof_helper { char __slot1; type __slot2; };
+# define sa_alignof(type) offsetof (sa_alignof_helper<type>, __slot2)
+#elif defined __hpux
+  /* Work around a HP-UX 10.20 cc bug with enums constants defined as offsetof
+     values.  */
+# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8)
+#elif defined _AIX
+  /* Work around an AIX 3.2.5 xlc bug with enums constants defined as offsetof
+     values.  */
+# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8)
+#else
+# define sa_alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2)
+#endif
+
+enum
+{
+/* The desired alignment of memory allocations is the maximum alignment
+   among all elementary types.  */
+  sa_alignment_long = sa_alignof (long),
+  sa_alignment_double = sa_alignof (double),
+#if HAVE_LONG_LONG_INT
+  sa_alignment_longlong = sa_alignof (long long),
+#endif
+  sa_alignment_longdouble = sa_alignof (long double),
+  sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1)
+#if HAVE_LONG_LONG_INT
+                      | (sa_alignment_longlong - 1)
+#endif
+                      | (sa_alignment_longdouble - 1)
+                     ) + 1,
+/* The increment that guarantees room for a magic word must be >= sizeof (int)
+   and a multiple of sa_alignment_max.  */
+  sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max
+};
+
+#endif /* _MALLOCA_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/malloca.valgrind ./gdb/gnulib/import/malloca.valgrind
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/malloca.valgrind	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/malloca.valgrind	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,7 @@
+# Suppress a valgrind message about use of uninitialized memory in freea().
+# This use is OK because it provides only a speedup.
+{
+    freea
+    Memcheck:Cond
+    fun:freea
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/malloc.c ./gdb/gnulib/import/malloc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/malloc.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/malloc.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,56 @@
+/* malloc() function that is glibc compatible.
+
+   Copyright (C) 1997-1998, 2006-2007, 2009-2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+/* written by Jim Meyering and Bruno Haible */
+
+#define _GL_USE_STDLIB_ALLOC 1
+#include <config.h>
+/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h.  */
+#ifdef malloc
+# define NEED_MALLOC_GNU 1
+# undef malloc
+/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU.  */
+#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU
+# define NEED_MALLOC_GNU 1
+#endif
+
+#include <stdlib.h>
+
+#include <errno.h>
+
+/* Allocate an N-byte block of memory from the heap.
+   If N is zero, allocate a 1-byte block.  */
+
+void *
+rpl_malloc (size_t n)
+{
+  void *result;
+
+#if NEED_MALLOC_GNU
+  if (n == 0)
+    n = 1;
+#endif
+
+  result = malloc (n);
+
+#if !HAVE_MALLOC_POSIX
+  if (result == NULL)
+    errno = ENOMEM;
+#endif
+
+  return result;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/readlink.c ./gdb/gnulib/import/readlink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/readlink.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/readlink.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,74 @@
+/* Stub for readlink().
+   Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <unistd.h>
+
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#if !HAVE_READLINK
+
+/* readlink() substitute for systems that don't have a readlink() function,
+   such as DJGPP 2.03 and mingw32.  */
+
+ssize_t
+readlink (const char *name, char *buf _GL_UNUSED,
+          size_t bufsize _GL_UNUSED)
+{
+  struct stat statbuf;
+
+  /* In general we should use lstat() here, not stat().  But on platforms
+     without symbolic links, lstat() - if it exists - would be equivalent to
+     stat(), therefore we can use stat().  This saves us a configure check.  */
+  if (stat (name, &statbuf) >= 0)
+    errno = EINVAL;
+  return -1;
+}
+
+#else /* HAVE_READLINK */
+
+# undef readlink
+
+/* readlink() wrapper that uses correct types, for systems like cygwin
+   1.5.x where readlink returns int, and which rejects trailing slash,
+   for Solaris 9.  */
+
+ssize_t
+rpl_readlink (const char *name, char *buf, size_t bufsize)
+{
+# if READLINK_TRAILING_SLASH_BUG
+  size_t len = strlen (name);
+  if (len && name[len - 1] == '/')
+    {
+      /* Even if name without the slash is a symlink to a directory,
+         both lstat() and stat() must resolve the trailing slash to
+         the directory rather than the symlink.  We can therefore
+         safely use stat() to distinguish between EINVAL and
+         ENOTDIR/ENOENT, avoiding extra overhead of rpl_lstat().  */
+      struct stat st;
+      if (stat (name, &st) == 0)
+        errno = EINVAL;
+      return -1;
+    }
+# endif /* READLINK_TRAILING_SLASH_BUG */
+  return readlink (name, buf, bufsize);
+}
+
+#endif /* HAVE_READLINK */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/rename.c ./gdb/gnulib/import/rename.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/rename.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/rename.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,473 @@
+/* Work around rename bugs in some systems.
+
+   Copyright (C) 2001-2003, 2005-2006, 2009-2012 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Volker Borchert, Eric Blake.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#undef rename
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* The mingw rename has problems with trailing slashes; it also
+   requires use of native Windows calls to allow atomic renames over
+   existing files.  */
+
+# include <errno.h>
+# include <stdbool.h>
+# include <stdlib.h>
+# include <sys/stat.h>
+# include <unistd.h>
+
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+
+# include "dirname.h"
+
+/* Rename the file SRC to DST.  This replacement is necessary on
+   Windows, on which the system rename function will not replace
+   an existing DST.  */
+int
+rpl_rename (char const *src, char const *dst)
+{
+  int error;
+  size_t src_len = strlen (src);
+  size_t dst_len = strlen (dst);
+  char *src_base = last_component (src);
+  char *dst_base = last_component (dst);
+  bool src_slash;
+  bool dst_slash;
+  bool dst_exists;
+  struct stat src_st;
+  struct stat dst_st;
+
+  /* Filter out dot as last component.  */
+  if (!src_len || !dst_len)
+    {
+      errno = ENOENT;
+      return -1;
+    }
+  if (*src_base == '.')
+    {
+      size_t len = base_len (src_base);
+      if (len == 1 || (len == 2 && src_base[1] == '.'))
+        {
+          errno = EINVAL;
+          return -1;
+        }
+    }
+  if (*dst_base == '.')
+    {
+      size_t len = base_len (dst_base);
+      if (len == 1 || (len == 2 && dst_base[1] == '.'))
+        {
+          errno = EINVAL;
+          return -1;
+        }
+    }
+
+  /* Presence of a trailing slash requires directory semantics.  If
+     the source does not exist, or if the destination cannot be turned
+     into a directory, give up now.  Otherwise, strip trailing slashes
+     before calling rename.  There are no symlinks on mingw, so stat
+     works instead of lstat.  */
+  src_slash = ISSLASH (src[src_len - 1]);
+  dst_slash = ISSLASH (dst[dst_len - 1]);
+  if (stat (src, &src_st))
+    return -1;
+  if (stat (dst, &dst_st))
+    {
+      if (errno != ENOENT || (!S_ISDIR (src_st.st_mode) && dst_slash))
+        return -1;
+      dst_exists = false;
+    }
+  else
+    {
+      if (S_ISDIR (dst_st.st_mode) != S_ISDIR (src_st.st_mode))
+        {
+          errno = S_ISDIR (dst_st.st_mode) ? EISDIR : ENOTDIR;
+          return -1;
+        }
+      dst_exists = true;
+    }
+
+  /* There are no symlinks, so if a file existed with a trailing
+     slash, it must be a directory, and we don't have to worry about
+     stripping strip trailing slash.  However, mingw refuses to
+     replace an existing empty directory, so we have to help it out.
+     And canonicalize_file_name is not yet ported to mingw; however,
+     for directories, getcwd works as a viable alternative.  Ensure
+     that we can get back to where we started before using it; later
+     attempts to return are fatal.  Note that we can end up losing a
+     directory if rename then fails, but it was empty, so not much
+     damage was done.  */
+  if (dst_exists && S_ISDIR (dst_st.st_mode))
+    {
+      char *cwd = getcwd (NULL, 0);
+      char *src_temp;
+      char *dst_temp;
+      if (!cwd || chdir (cwd))
+        return -1;
+      if (IS_ABSOLUTE_FILE_NAME (src))
+        {
+          dst_temp = chdir (dst) ? NULL : getcwd (NULL, 0);
+          src_temp = chdir (src) ? NULL : getcwd (NULL, 0);
+        }
+      else
+        {
+          src_temp = chdir (src) ? NULL : getcwd (NULL, 0);
+          if (!IS_ABSOLUTE_FILE_NAME (dst) && chdir (cwd))
+            abort ();
+          dst_temp = chdir (dst) ? NULL : getcwd (NULL, 0);
+        }
+      if (chdir (cwd))
+        abort ();
+      free (cwd);
+      if (!src_temp || !dst_temp)
+        {
+          free (src_temp);
+          free (dst_temp);
+          errno = ENOMEM;
+          return -1;
+        }
+      src_len = strlen (src_temp);
+      if (strncmp (src_temp, dst_temp, src_len) == 0
+          && (ISSLASH (dst_temp[src_len]) || dst_temp[src_len] == '\0'))
+        {
+          error = dst_temp[src_len];
+          free (src_temp);
+          free (dst_temp);
+          if (error)
+            {
+              errno = EINVAL;
+              return -1;
+            }
+          return 0;
+        }
+      if (rmdir (dst))
+        {
+          error = errno;
+          free (src_temp);
+          free (dst_temp);
+          errno = error;
+          return -1;
+        }
+      free (src_temp);
+      free (dst_temp);
+    }
+
+  /* MoveFileEx works if SRC is a directory without any flags, but
+     fails with MOVEFILE_REPLACE_EXISTING, so try without flags first.
+     Thankfully, MoveFileEx handles hard links correctly, even though
+     rename() does not.  */
+  if (MoveFileEx (src, dst, 0))
+    return 0;
+
+  /* Retry with MOVEFILE_REPLACE_EXISTING if the move failed
+     due to the destination already existing.  */
+  error = GetLastError ();
+  if (error == ERROR_FILE_EXISTS || error == ERROR_ALREADY_EXISTS)
+    {
+      if (MoveFileEx (src, dst, MOVEFILE_REPLACE_EXISTING))
+        return 0;
+
+      error = GetLastError ();
+    }
+
+  switch (error)
+    {
+    case ERROR_FILE_NOT_FOUND:
+    case ERROR_PATH_NOT_FOUND:
+    case ERROR_BAD_PATHNAME:
+    case ERROR_DIRECTORY:
+      errno = ENOENT;
+      break;
+
+    case ERROR_ACCESS_DENIED:
+    case ERROR_SHARING_VIOLATION:
+      errno = EACCES;
+      break;
+
+    case ERROR_OUTOFMEMORY:
+      errno = ENOMEM;
+      break;
+
+    case ERROR_CURRENT_DIRECTORY:
+      errno = EBUSY;
+      break;
+
+    case ERROR_NOT_SAME_DEVICE:
+      errno = EXDEV;
+      break;
+
+    case ERROR_WRITE_PROTECT:
+      errno = EROFS;
+      break;
+
+    case ERROR_WRITE_FAULT:
+    case ERROR_READ_FAULT:
+    case ERROR_GEN_FAILURE:
+      errno = EIO;
+      break;
+
+    case ERROR_HANDLE_DISK_FULL:
+    case ERROR_DISK_FULL:
+    case ERROR_DISK_TOO_FRAGMENTED:
+      errno = ENOSPC;
+      break;
+
+    case ERROR_FILE_EXISTS:
+    case ERROR_ALREADY_EXISTS:
+      errno = EEXIST;
+      break;
+
+    case ERROR_BUFFER_OVERFLOW:
+    case ERROR_FILENAME_EXCED_RANGE:
+      errno = ENAMETOOLONG;
+      break;
+
+    case ERROR_INVALID_NAME:
+    case ERROR_DELETE_PENDING:
+      errno = EPERM;        /* ? */
+      break;
+
+# ifndef ERROR_FILE_TOO_LARGE
+/* This value is documented but not defined in all versions of windows.h.  */
+#  define ERROR_FILE_TOO_LARGE 223
+# endif
+    case ERROR_FILE_TOO_LARGE:
+      errno = EFBIG;
+      break;
+
+    default:
+      errno = EINVAL;
+      break;
+    }
+
+  return -1;
+}
+
+#else /* ! W32 platform */
+
+# include <errno.h>
+# include <stdio.h>
+# include <stdlib.h>
+# include <string.h>
+# include <sys/stat.h>
+# include <unistd.h>
+
+# include "dirname.h"
+# include "same-inode.h"
+
+/* Rename the file SRC to DST, fixing any trailing slash bugs.  */
+
+int
+rpl_rename (char const *src, char const *dst)
+{
+  size_t src_len = strlen (src);
+  size_t dst_len = strlen (dst);
+  char *src_temp = (char *) src;
+  char *dst_temp = (char *) dst;
+  bool src_slash;
+  bool dst_slash;
+  bool dst_exists;
+  int ret_val = -1;
+  int rename_errno = ENOTDIR;
+  struct stat src_st;
+  struct stat dst_st;
+
+  if (!src_len || !dst_len)
+    return rename (src, dst); /* Let strace see the ENOENT failure.  */
+
+# if RENAME_DEST_EXISTS_BUG
+  {
+    char *src_base = last_component (src);
+    char *dst_base = last_component (dst);
+    if (*src_base == '.')
+      {
+        size_t len = base_len (src_base);
+        if (len == 1 || (len == 2 && src_base[1] == '.'))
+          {
+            errno = EINVAL;
+            return -1;
+          }
+      }
+    if (*dst_base == '.')
+      {
+        size_t len = base_len (dst_base);
+        if (len == 1 || (len == 2 && dst_base[1] == '.'))
+          {
+            errno = EINVAL;
+            return -1;
+          }
+      }
+  }
+# endif /* RENAME_DEST_EXISTS_BUG */
+
+  src_slash = src[src_len - 1] == '/';
+  dst_slash = dst[dst_len - 1] == '/';
+
+# if !RENAME_HARD_LINK_BUG && !RENAME_DEST_EXISTS_BUG
+  /* If there are no trailing slashes, then trust the native
+     implementation unless we also suspect issues with hard link
+     detection or file/directory conflicts.  */
+  if (!src_slash && !dst_slash)
+    return rename (src, dst);
+# endif /* !RENAME_HARD_LINK_BUG && !RENAME_DEST_EXISTS_BUG */
+
+  /* Presence of a trailing slash requires directory semantics.  If
+     the source does not exist, or if the destination cannot be turned
+     into a directory, give up now.  Otherwise, strip trailing slashes
+     before calling rename.  */
+  if (lstat (src, &src_st))
+    return -1;
+  if (lstat (dst, &dst_st))
+    {
+      if (errno != ENOENT || (!S_ISDIR (src_st.st_mode) && dst_slash))
+        return -1;
+      dst_exists = false;
+    }
+  else
+    {
+      if (S_ISDIR (dst_st.st_mode) != S_ISDIR (src_st.st_mode))
+        {
+          errno = S_ISDIR (dst_st.st_mode) ? EISDIR : ENOTDIR;
+          return -1;
+        }
+# if RENAME_HARD_LINK_BUG
+      if (SAME_INODE (src_st, dst_st))
+        return 0;
+# endif /* RENAME_HARD_LINK_BUG */
+      dst_exists = true;
+    }
+
+# if (RENAME_TRAILING_SLASH_SOURCE_BUG || RENAME_DEST_EXISTS_BUG        \
+      || RENAME_HARD_LINK_BUG)
+  /* If the only bug was that a trailing slash was allowed on a
+     non-existing file destination, as in Solaris 10, then we've
+     already covered that situation.  But if there is any problem with
+     a trailing slash on an existing source or destination, as in
+     Solaris 9, or if a directory can overwrite a symlink, as on
+     Cygwin 1.5, or if directories cannot be created with trailing
+     slash, as on NetBSD 1.6, then we must strip the offending slash
+     and check that we have not encountered a symlink instead of a
+     directory.
+
+     Stripping a trailing slash interferes with POSIX semantics, where
+     rename behavior on a symlink with a trailing slash operates on
+     the corresponding target directory.  We prefer the GNU semantics
+     of rejecting any use of a symlink with trailing slash, but do not
+     enforce them, since Solaris 10 is able to obey POSIX semantics
+     and there might be clients expecting it, as counter-intuitive as
+     those semantics are.
+
+     Technically, we could also follow the POSIX behavior by chasing a
+     readlink trail, but that is harder to implement.  */
+  if (src_slash)
+    {
+      src_temp = strdup (src);
+      if (!src_temp)
+        {
+          /* Rather than rely on strdup-posix, we set errno ourselves.  */
+          rename_errno = ENOMEM;
+          goto out;
+        }
+      strip_trailing_slashes (src_temp);
+      if (lstat (src_temp, &src_st))
+        {
+          rename_errno = errno;
+          goto out;
+        }
+      if (S_ISLNK (src_st.st_mode))
+        goto out;
+    }
+  if (dst_slash)
+    {
+      dst_temp = strdup (dst);
+      if (!dst_temp)
+        {
+          rename_errno = ENOMEM;
+          goto out;
+        }
+      strip_trailing_slashes (dst_temp);
+      if (lstat (dst_temp, &dst_st))
+        {
+          if (errno != ENOENT)
+            {
+              rename_errno = errno;
+              goto out;
+            }
+        }
+      else if (S_ISLNK (dst_st.st_mode))
+        goto out;
+    }
+# endif /* RENAME_TRAILING_SLASH_SOURCE_BUG || RENAME_DEST_EXISTS_BUG
+           || RENAME_HARD_LINK_BUG */
+
+# if RENAME_DEST_EXISTS_BUG
+  /* Cygwin 1.5 sometimes behaves oddly when moving a non-empty
+     directory on top of an empty one (the old directory name can
+     reappear if the new directory tree is removed).  Work around this
+     by removing the target first, but don't remove the target if it
+     is a subdirectory of the source.  Note that we can end up losing
+     a directory if rename then fails, but it was empty, so not much
+     damage was done.  */
+  if (dst_exists && S_ISDIR (dst_st.st_mode))
+    {
+      if (src_st.st_dev != dst_st.st_dev)
+        {
+          rename_errno = EXDEV;
+          goto out;
+        }
+      if (src_temp != src)
+        free (src_temp);
+      src_temp = canonicalize_file_name (src);
+      if (dst_temp != dst)
+        free (dst_temp);
+      dst_temp = canonicalize_file_name (dst);
+      if (!src_temp || !dst_temp)
+        {
+          rename_errno = ENOMEM;
+          goto out;
+        }
+      src_len = strlen (src_temp);
+      if (strncmp (src_temp, dst_temp, src_len) == 0
+          && dst_temp[src_len] == '/')
+        {
+          rename_errno = EINVAL;
+          goto out;
+        }
+      if (rmdir (dst))
+        {
+          rename_errno = errno;
+          goto out;
+        }
+    }
+# endif /* RENAME_DEST_EXISTS_BUG */
+
+  ret_val = rename (src_temp, dst_temp);
+  rename_errno = errno;
+ out:
+  if (src_temp != src)
+    free (src_temp);
+  if (dst_temp != dst)
+    free (dst_temp);
+  errno = rename_errno;
+  return ret_val;
+}
+#endif /* ! W32 platform */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/rmdir.c ./gdb/gnulib/import/rmdir.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/rmdir.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/rmdir.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,53 @@
+/* Work around rmdir bugs.
+
+   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2012 Free Software
+   Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include <errno.h>
+#include <string.h>
+
+#include "dosname.h"
+
+#undef rmdir
+
+/* Remove directory DIR.
+   Return 0 if successful, -1 if not.  */
+
+int
+rpl_rmdir (char const *dir)
+{
+  /* Work around cygwin 1.5.x bug where rmdir("dir/./") succeeds.  */
+  size_t len = strlen (dir);
+  int result;
+  while (len && ISSLASH (dir[len - 1]))
+    len--;
+  if (len && dir[len - 1] == '.' && (1 == len || ISSLASH (dir[len - 2])))
+    {
+      errno = EINVAL;
+      return -1;
+    }
+  result = rmdir (dir);
+  /* Work around mingw bug, where rmdir("file/") fails with EINVAL
+     instead of ENOTDIR.  We've already filtered out trailing ., the
+     only reason allowed by POSIX for EINVAL.  */
+  if (result == -1 && errno == EINVAL)
+    errno = ENOTDIR;
+  return result;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/same-inode.h ./gdb/gnulib/import/same-inode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/same-inode.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/same-inode.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,33 @@
+/* Determine whether two stat buffers refer to the same file.
+
+   Copyright (C) 2006, 2009-2012 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef SAME_INODE_H
+# define SAME_INODE_H 1
+
+# ifdef __VMS
+#  define SAME_INODE(a, b)             \
+    ((a).st_ino[0] == (b).st_ino[0]    \
+     && (a).st_ino[1] == (b).st_ino[1] \
+     && (a).st_ino[2] == (b).st_ino[2] \
+     && (a).st_dev == (b).st_dev)
+# else
+#  define SAME_INODE(a, b)    \
+    ((a).st_ino == (b).st_ino \
+     && (a).st_dev == (b).st_dev)
+# endif
+
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stat.c ./gdb/gnulib/import/stat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stat.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/stat.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,138 @@
+/* Work around platform bugs in stat.
+   Copyright (C) 2009-2012 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* written by Eric Blake */
+
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+   the system's <sys/stat.h> here, so that orig_stat doesn't recurse to
+   rpl_stat.  */
+#define __need_system_sys_stat_h
+#include <config.h>
+
+/* Get the original definition of stat.  It might be defined as a macro.  */
+#include <sys/types.h>
+#include <sys/stat.h>
+#undef __need_system_sys_stat_h
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if _GL_WINDOWS_64_BIT_ST_SIZE
+#  undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */
+#  define stat _stati64
+#  define REPLACE_FUNC_STAT_DIR 1
+#  undef REPLACE_FUNC_STAT_FILE
+# elif REPLACE_FUNC_STAT_FILE
+/* mingw64 has a broken stat() function, based on _stat(), in libmingwex.a.
+   Bypass it.  */
+#  define stat _stat
+#  define REPLACE_FUNC_STAT_DIR 1
+#  undef REPLACE_FUNC_STAT_FILE
+# endif
+#endif
+
+static int
+orig_stat (const char *filename, struct stat *buf)
+{
+  return stat (filename, buf);
+}
+
+/* Specification.  */
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+#include "sys/stat.h"
+
+#include <errno.h>
+#include <limits.h>
+#include <stdbool.h>
+#include <string.h>
+#include "dosname.h"
+#include "verify.h"
+
+#if REPLACE_FUNC_STAT_DIR
+# include "pathmax.h"
+  /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also
+     have a constant PATH_MAX.  */
+# ifndef PATH_MAX
+#  error "Please port this replacement to your platform"
+# endif
+#endif
+
+/* Store information about NAME into ST.  Work around bugs with
+   trailing slashes.  Mingw has other bugs (such as st_ino always
+   being 0 on success) which this wrapper does not work around.  But
+   at least this implementation provides the ability to emulate fchdir
+   correctly.  */
+
+int
+rpl_stat (char const *name, struct stat *st)
+{
+  int result = orig_stat (name, st);
+#if REPLACE_FUNC_STAT_FILE
+  /* Solaris 9 mistakenly succeeds when given a non-directory with a
+     trailing slash.  */
+  if (result == 0 && !S_ISDIR (st->st_mode))
+    {
+      size_t len = strlen (name);
+      if (ISSLASH (name[len - 1]))
+        {
+          errno = ENOTDIR;
+          return -1;
+        }
+    }
+#endif /* REPLACE_FUNC_STAT_FILE */
+#if REPLACE_FUNC_STAT_DIR
+
+  if (result == -1 && errno == ENOENT)
+    {
+      /* Due to mingw's oddities, there are some directories (like
+         c:\) where stat() only succeeds with a trailing slash, and
+         other directories (like c:\windows) where stat() only
+         succeeds without a trailing slash.  But we want the two to be
+         synonymous, since chdir() manages either style.  Likewise, Mingw also
+         reports ENOENT for names longer than PATH_MAX, when we want
+         ENAMETOOLONG, and for stat("file/"), when we want ENOTDIR.
+         Fortunately, mingw PATH_MAX is small enough for stack
+         allocation.  */
+      char fixed_name[PATH_MAX + 1] = {0};
+      size_t len = strlen (name);
+      bool check_dir = false;
+      verify (PATH_MAX <= 4096);
+      if (PATH_MAX <= len)
+        errno = ENAMETOOLONG;
+      else if (len)
+        {
+          strcpy (fixed_name, name);
+          if (ISSLASH (fixed_name[len - 1]))
+            {
+              check_dir = true;
+              while (len && ISSLASH (fixed_name[len - 1]))
+                fixed_name[--len] = '\0';
+              if (!len)
+                fixed_name[0] = '/';
+            }
+          else
+            fixed_name[len++] = '/';
+          result = orig_stat (fixed_name, st);
+          if (result == 0 && check_dir && !S_ISDIR (st->st_mode))
+            {
+              result = -1;
+              errno = ENOTDIR;
+            }
+        }
+    }
+#endif /* REPLACE_FUNC_STAT_DIR */
+  return result;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stdio.c ./gdb/gnulib/import/stdio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stdio.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/stdio.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,3 @@
+#include <config.h>
+#define _GL_STDIO_INLINE _GL_EXTERN_INLINE
+#include "stdio.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stdio.in.h ./gdb/gnulib/import/stdio.in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stdio.in.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/stdio.in.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,1345 @@
+/* A GNU-like <stdio.h>.
+
+   Copyright (C) 2004, 2007-2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_FILE || defined __need___FILE || defined _GL_ALREADY_INCLUDING_STDIO_H
+/* Special invocation convention:
+   - Inside glibc header files.
+   - On OSF/1 5.1 we have a sequence of nested includes
+     <stdio.h> -> <getopt.h> -> <ctype.h> -> <sys/localedef.h> ->
+     <sys/lc_core.h> -> <nl_types.h> -> <mesg.h> -> <stdio.h>.
+     In this situation, the functions are not yet declared, therefore we cannot
+     provide the C++ aliases.  */
+
+#@INCLUDE_NEXT@ @NEXT_STDIO_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_STDIO_H
+
+#define _GL_ALREADY_INCLUDING_STDIO_H
+
+/* The include_next requires a split double-inclusion guard.  */
+#@INCLUDE_NEXT@ @NEXT_STDIO_H@
+
+#undef _GL_ALREADY_INCLUDING_STDIO_H
+
+#ifndef _@GUARD_PREFIX@_STDIO_H
+#define _@GUARD_PREFIX@_STDIO_H
+
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_STDIO_INLINE
+# define _GL_STDIO_INLINE _GL_INLINE
+#endif
+
+/* Get va_list.  Needed on many systems, including glibc 2.8.  */
+#include <stdarg.h>
+
+#include <stddef.h>
+
+/* Get off_t and ssize_t.  Needed on many systems, including glibc 2.8
+   and eglibc 2.11.2.
+   May also define off_t to a 64-bit type on native Windows.  */
+#include <sys/types.h>
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The __-protected variants of the attributes 'format' and 'printf' are
+   accepted by gcc versions 2.6.4 (effectively 2.7) and later.
+   We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
+   gnulib and libintl do '#define printf __printf__' when they override
+   the 'printf' function.  */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+#else
+# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT_PRINTF
+   indicates to GCC that the function takes a format string and arguments,
+   where the format string directives are the ones standardized by ISO C99
+   and POSIX.  */
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
+# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
+   _GL_ATTRIBUTE_FORMAT ((__gnu_printf__, formatstring_parameter, first_argument))
+#else
+# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
+   _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_PRINTF,
+   except that it indicates to GCC that the supported format string directives
+   are the ones of the system printf(), rather than the ones standardized by
+   ISO C99 and POSIX.  */
+#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+  _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+
+/* _GL_ATTRIBUTE_FORMAT_SCANF
+   indicates to GCC that the function takes a format string and arguments,
+   where the format string directives are the ones standardized by ISO C99
+   and POSIX.  */
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
+# define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \
+   _GL_ATTRIBUTE_FORMAT ((__gnu_scanf__, formatstring_parameter, first_argument))
+#else
+# define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \
+   _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_SCANF,
+   except that it indicates to GCC that the supported format string directives
+   are the ones of the system scanf(), rather than the ones standardized by
+   ISO C99 and POSIX.  */
+#define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \
+  _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
+
+/* Solaris 10 declares renameat in <unistd.h>, not in <stdio.h>.  */
+/* But in any case avoid namespace pollution on glibc systems.  */
+#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __sun \
+    && ! defined __GLIBC__
+# include <unistd.h>
+#endif
+
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_ARG_NONNULL is copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+/* Macros for stringification.  */
+#define _GL_STDIO_STRINGIZE(token) #token
+#define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token)
+
+
+#if @GNULIB_DPRINTF@
+# if @REPLACE_DPRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define dprintf rpl_dprintf
+#  endif
+_GL_FUNCDECL_RPL (dprintf, int, (int fd, const char *format, ...)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                                _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (dprintf, int, (int fd, const char *format, ...));
+# else
+#  if !@HAVE_DPRINTF@
+_GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *format, ...)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                                _GL_ARG_NONNULL ((2)));
+#  endif
+_GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (dprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef dprintf
+# if HAVE_RAW_DECL_DPRINTF
+_GL_WARN_ON_USE (dprintf, "dprintf is unportable - "
+                 "use gnulib module dprintf for portability");
+# endif
+#endif
+
+#if @GNULIB_FCLOSE@
+/* Close STREAM and its underlying file descriptor.  */
+# if @REPLACE_FCLOSE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define fclose rpl_fclose
+#  endif
+_GL_FUNCDECL_RPL (fclose, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fclose, int, (FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fclose, int, (FILE *stream));
+# endif
+_GL_CXXALIASWARN (fclose);
+#elif defined GNULIB_POSIXCHECK
+# undef fclose
+/* Assume fclose is always declared.  */
+_GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - "
+                 "use gnulib module fclose for portable POSIX compliance");
+#endif
+
+#if @GNULIB_FDOPEN@
+# if @REPLACE_FDOPEN@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fdopen
+#   define fdopen rpl_fdopen
+#  endif
+_GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode)
+                                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode));
+# else
+_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));
+# endif
+_GL_CXXALIASWARN (fdopen);
+#elif defined GNULIB_POSIXCHECK
+# undef fdopen
+/* Assume fdopen is always declared.  */
+_GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX compliant - "
+                 "use gnulib module fdopen for portability");
+#endif
+
+#if @GNULIB_FFLUSH@
+/* Flush all pending data on STREAM according to POSIX rules.  Both
+   output and seekable input streams are supported.
+   Note! LOSS OF DATA can occur if fflush is applied on an input stream
+   that is _not_seekable_ or on an update stream that is _not_seekable_
+   and in which the most recent operation was input.  Seekability can
+   be tested with lseek(fileno(fp),0,SEEK_CUR).  */
+# if @REPLACE_FFLUSH@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define fflush rpl_fflush
+#  endif
+_GL_FUNCDECL_RPL (fflush, int, (FILE *gl_stream));
+_GL_CXXALIAS_RPL (fflush, int, (FILE *gl_stream));
+# else
+_GL_CXXALIAS_SYS (fflush, int, (FILE *gl_stream));
+# endif
+_GL_CXXALIASWARN (fflush);
+#elif defined GNULIB_POSIXCHECK
+# undef fflush
+/* Assume fflush is always declared.  */
+_GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - "
+                 "use gnulib module fflush for portable POSIX compliance");
+#endif
+
+#if @GNULIB_FGETC@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fgetc
+#   define fgetc rpl_fgetc
+#  endif
+_GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fgetc, int, (FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fgetc, int, (FILE *stream));
+# endif
+_GL_CXXALIASWARN (fgetc);
+#endif
+
+#if @GNULIB_FGETS@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fgets
+#   define fgets rpl_fgets
+#  endif
+_GL_FUNCDECL_RPL (fgets, char *, (char *s, int n, FILE *stream)
+                                 _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (fgets, char *, (char *s, int n, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fgets, char *, (char *s, int n, FILE *stream));
+# endif
+_GL_CXXALIASWARN (fgets);
+#endif
+
+#if @GNULIB_FOPEN@
+# if @REPLACE_FOPEN@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fopen
+#   define fopen rpl_fopen
+#  endif
+_GL_FUNCDECL_RPL (fopen, FILE *, (const char *filename, const char *mode)
+                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (fopen, FILE *, (const char *filename, const char *mode));
+# else
+_GL_CXXALIAS_SYS (fopen, FILE *, (const char *filename, const char *mode));
+# endif
+_GL_CXXALIASWARN (fopen);
+#elif defined GNULIB_POSIXCHECK
+# undef fopen
+/* Assume fopen is always declared.  */
+_GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX compliant - "
+                 "use gnulib module fopen for portability");
+#endif
+
+#if @GNULIB_FPRINTF_POSIX@ || @GNULIB_FPRINTF@
+# if (@GNULIB_FPRINTF_POSIX@ && @REPLACE_FPRINTF@) \
+     || (@GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define fprintf rpl_fprintf
+#  endif
+#  define GNULIB_overrides_fprintf 1
+#  if @GNULIB_FPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
+_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                                _GL_ARG_NONNULL ((1, 2)));
+#  else
+_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 3)
+                                _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_RPL (fprintf, int, (FILE *fp, const char *format, ...));
+# else
+_GL_CXXALIAS_SYS (fprintf, int, (FILE *fp, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (fprintf);
+#endif
+#if !@GNULIB_FPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
+# if !GNULIB_overrides_fprintf
+#  undef fprintf
+# endif
+/* Assume fprintf is always declared.  */
+_GL_WARN_ON_USE (fprintf, "fprintf is not always POSIX compliant - "
+                 "use gnulib module fprintf-posix for portable "
+                 "POSIX compliance");
+#endif
+
+#if @GNULIB_FPURGE@
+/* Discard all pending buffered I/O data on STREAM.
+   STREAM must not be wide-character oriented.
+   When discarding pending output, the file position is set back to where it
+   was before the write calls.  When discarding pending input, the file
+   position is advanced to match the end of the previously read input.
+   Return 0 if successful.  Upon error, return -1 and set errno.  */
+# if @REPLACE_FPURGE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define fpurge rpl_fpurge
+#  endif
+_GL_FUNCDECL_RPL (fpurge, int, (FILE *gl_stream) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fpurge, int, (FILE *gl_stream));
+# else
+#  if !@HAVE_DECL_FPURGE@
+_GL_FUNCDECL_SYS (fpurge, int, (FILE *gl_stream) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (fpurge, int, (FILE *gl_stream));
+# endif
+_GL_CXXALIASWARN (fpurge);
+#elif defined GNULIB_POSIXCHECK
+# undef fpurge
+# if HAVE_RAW_DECL_FPURGE
+_GL_WARN_ON_USE (fpurge, "fpurge is not always present - "
+                 "use gnulib module fpurge for portability");
+# endif
+#endif
+
+#if @GNULIB_FPUTC@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fputc
+#   define fputc rpl_fputc
+#  endif
+_GL_FUNCDECL_RPL (fputc, int, (int c, FILE *stream) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fputc, int, (int c, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fputc, int, (int c, FILE *stream));
+# endif
+_GL_CXXALIASWARN (fputc);
+#endif
+
+#if @GNULIB_FPUTS@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fputs
+#   define fputs rpl_fputs
+#  endif
+_GL_FUNCDECL_RPL (fputs, int, (const char *string, FILE *stream)
+                              _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (fputs, int, (const char *string, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fputs, int, (const char *string, FILE *stream));
+# endif
+_GL_CXXALIASWARN (fputs);
+#endif
+
+#if @GNULIB_FREAD@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fread
+#   define fread rpl_fread
+#  endif
+_GL_FUNCDECL_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)
+                                 _GL_ARG_NONNULL ((4)));
+_GL_CXXALIAS_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream));
+# endif
+_GL_CXXALIASWARN (fread);
+#endif
+
+#if @GNULIB_FREOPEN@
+# if @REPLACE_FREOPEN@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef freopen
+#   define freopen rpl_freopen
+#  endif
+_GL_FUNCDECL_RPL (freopen, FILE *,
+                  (const char *filename, const char *mode, FILE *stream)
+                  _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (freopen, FILE *,
+                  (const char *filename, const char *mode, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (freopen, FILE *,
+                  (const char *filename, const char *mode, FILE *stream));
+# endif
+_GL_CXXALIASWARN (freopen);
+#elif defined GNULIB_POSIXCHECK
+# undef freopen
+/* Assume freopen is always declared.  */
+_GL_WARN_ON_USE (freopen,
+                 "freopen on native Windows platforms is not POSIX compliant - "
+                 "use gnulib module freopen for portability");
+#endif
+
+#if @GNULIB_FSCANF@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fscanf
+#   define fscanf rpl_fscanf
+#  endif
+_GL_FUNCDECL_RPL (fscanf, int, (FILE *stream, const char *format, ...)
+                               _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3)
+                               _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (fscanf, int, (FILE *stream, const char *format, ...));
+# else
+_GL_CXXALIAS_SYS (fscanf, int, (FILE *stream, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (fscanf);
+#endif
+
+
+/* Set up the following warnings, based on which modules are in use.
+   GNU Coding Standards discourage the use of fseek, since it imposes
+   an arbitrary limitation on some 32-bit hosts.  Remember that the
+   fseek module depends on the fseeko module, so we only have three
+   cases to consider:
+
+   1. The developer is not using either module.  Issue a warning under
+   GNULIB_POSIXCHECK for both functions, to remind them that both
+   functions have bugs on some systems.  _GL_NO_LARGE_FILES has no
+   impact on this warning.
+
+   2. The developer is using both modules.  They may be unaware of the
+   arbitrary limitations of fseek, so issue a warning under
+   GNULIB_POSIXCHECK.  On the other hand, they may be using both
+   modules intentionally, so the developer can define
+   _GL_NO_LARGE_FILES in the compilation units where the use of fseek
+   is safe, to silence the warning.
+
+   3. The developer is using the fseeko module, but not fseek.  Gnulib
+   guarantees that fseek will still work around platform bugs in that
+   case, but we presume that the developer is aware of the pitfalls of
+   fseek and was trying to avoid it, so issue a warning even when
+   GNULIB_POSIXCHECK is undefined.  Again, _GL_NO_LARGE_FILES can be
+   defined to silence the warning in particular compilation units.
+   In C++ compilations with GNULIB_NAMESPACE, in order to avoid that
+   fseek gets defined as a macro, it is recommended that the developer
+   uses the fseek module, even if he is not calling the fseek function.
+
+   Most gnulib clients that perform stream operations should fall into
+   category 3.  */
+
+#if @GNULIB_FSEEK@
+# if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES
+#  define _GL_FSEEK_WARN /* Category 2, above.  */
+#  undef fseek
+# endif
+# if @REPLACE_FSEEK@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fseek
+#   define fseek rpl_fseek
+#  endif
+_GL_FUNCDECL_RPL (fseek, int, (FILE *fp, long offset, int whence)
+                              _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fseek, int, (FILE *fp, long offset, int whence));
+# else
+_GL_CXXALIAS_SYS (fseek, int, (FILE *fp, long offset, int whence));
+# endif
+_GL_CXXALIASWARN (fseek);
+#endif
+
+#if @GNULIB_FSEEKO@
+# if !@GNULIB_FSEEK@ && !defined _GL_NO_LARGE_FILES
+#  define _GL_FSEEK_WARN /* Category 3, above.  */
+#  undef fseek
+# endif
+# if @REPLACE_FSEEKO@
+/* Provide an fseeko function that is aware of a preceding fflush(), and which
+   detects pipes.  */
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fseeko
+#   define fseeko rpl_fseeko
+#  endif
+_GL_FUNCDECL_RPL (fseeko, int, (FILE *fp, off_t offset, int whence)
+                               _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fseeko, int, (FILE *fp, off_t offset, int whence));
+# else
+#  if ! @HAVE_DECL_FSEEKO@
+_GL_FUNCDECL_SYS (fseeko, int, (FILE *fp, off_t offset, int whence)
+                               _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (fseeko, int, (FILE *fp, off_t offset, int whence));
+# endif
+_GL_CXXALIASWARN (fseeko);
+#elif defined GNULIB_POSIXCHECK
+# define _GL_FSEEK_WARN /* Category 1, above.  */
+# undef fseek
+# undef fseeko
+# if HAVE_RAW_DECL_FSEEKO
+_GL_WARN_ON_USE (fseeko, "fseeko is unportable - "
+                 "use gnulib module fseeko for portability");
+# endif
+#endif
+
+#ifdef _GL_FSEEK_WARN
+# undef _GL_FSEEK_WARN
+/* Here, either fseek is undefined (but C89 guarantees that it is
+   declared), or it is defined as rpl_fseek (declared above).  */
+_GL_WARN_ON_USE (fseek, "fseek cannot handle files larger than 4 GB "
+                 "on 32-bit platforms - "
+                 "use fseeko function for handling of large files");
+#endif
+
+
+/* ftell, ftello.  See the comments on fseek/fseeko.  */
+
+#if @GNULIB_FTELL@
+# if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES
+#  define _GL_FTELL_WARN /* Category 2, above.  */
+#  undef ftell
+# endif
+# if @REPLACE_FTELL@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ftell
+#   define ftell rpl_ftell
+#  endif
+_GL_FUNCDECL_RPL (ftell, long, (FILE *fp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (ftell, long, (FILE *fp));
+# else
+_GL_CXXALIAS_SYS (ftell, long, (FILE *fp));
+# endif
+_GL_CXXALIASWARN (ftell);
+#endif
+
+#if @GNULIB_FTELLO@
+# if !@GNULIB_FTELL@ && !defined _GL_NO_LARGE_FILES
+#  define _GL_FTELL_WARN /* Category 3, above.  */
+#  undef ftell
+# endif
+# if @REPLACE_FTELLO@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ftello
+#   define ftello rpl_ftello
+#  endif
+_GL_FUNCDECL_RPL (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (ftello, off_t, (FILE *fp));
+# else
+#  if ! @HAVE_DECL_FTELLO@
+_GL_FUNCDECL_SYS (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp));
+# endif
+_GL_CXXALIASWARN (ftello);
+#elif defined GNULIB_POSIXCHECK
+# define _GL_FTELL_WARN /* Category 1, above.  */
+# undef ftell
+# undef ftello
+# if HAVE_RAW_DECL_FTELLO
+_GL_WARN_ON_USE (ftello, "ftello is unportable - "
+                 "use gnulib module ftello for portability");
+# endif
+#endif
+
+#ifdef _GL_FTELL_WARN
+# undef _GL_FTELL_WARN
+/* Here, either ftell is undefined (but C89 guarantees that it is
+   declared), or it is defined as rpl_ftell (declared above).  */
+_GL_WARN_ON_USE (ftell, "ftell cannot handle files larger than 4 GB "
+                 "on 32-bit platforms - "
+                 "use ftello function for handling of large files");
+#endif
+
+
+#if @GNULIB_FWRITE@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fwrite
+#   define fwrite rpl_fwrite
+#  endif
+_GL_FUNCDECL_RPL (fwrite, size_t,
+                  (const void *ptr, size_t s, size_t n, FILE *stream)
+                  _GL_ARG_NONNULL ((1, 4)));
+_GL_CXXALIAS_RPL (fwrite, size_t,
+                  (const void *ptr, size_t s, size_t n, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fwrite, size_t,
+                  (const void *ptr, size_t s, size_t n, FILE *stream));
+
+/* Work around glibc bug 11959
+   <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>,
+   which sometimes causes an unwanted diagnostic for fwrite calls.
+   This affects only function declaration attributes, so it's not
+   needed for C++.  */
+#  if !defined __cplusplus && 0 < __USE_FORTIFY_LEVEL
+_GL_STDIO_INLINE size_t _GL_ARG_NONNULL ((1, 4))
+rpl_fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
+{
+  size_t r = fwrite (ptr, s, n, stream);
+  (void) r;
+  return r;
+}
+#   undef fwrite
+#   define fwrite rpl_fwrite
+#  endif
+# endif
+_GL_CXXALIASWARN (fwrite);
+#endif
+
+#if @GNULIB_GETC@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getc
+#   define getc rpl_fgetc
+#  endif
+_GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL_1 (getc, rpl_fgetc, int, (FILE *stream));
+# else
+_GL_CXXALIAS_SYS (getc, int, (FILE *stream));
+# endif
+_GL_CXXALIASWARN (getc);
+#endif
+
+#if @GNULIB_GETCHAR@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getchar
+#   define getchar rpl_getchar
+#  endif
+_GL_FUNCDECL_RPL (getchar, int, (void));
+_GL_CXXALIAS_RPL (getchar, int, (void));
+# else
+_GL_CXXALIAS_SYS (getchar, int, (void));
+# endif
+_GL_CXXALIASWARN (getchar);
+#endif
+
+#if @GNULIB_GETDELIM@
+/* Read input, up to (and including) the next occurrence of DELIMITER, from
+   STREAM, store it in *LINEPTR (and NUL-terminate it).
+   *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE
+   bytes of space.  It is realloc'd as necessary.
+   Return the number of bytes read and stored at *LINEPTR (not including the
+   NUL terminator), or -1 on error or EOF.  */
+# if @REPLACE_GETDELIM@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getdelim
+#   define getdelim rpl_getdelim
+#  endif
+_GL_FUNCDECL_RPL (getdelim, ssize_t,
+                  (char **lineptr, size_t *linesize, int delimiter,
+                   FILE *stream)
+                  _GL_ARG_NONNULL ((1, 2, 4)));
+_GL_CXXALIAS_RPL (getdelim, ssize_t,
+                  (char **lineptr, size_t *linesize, int delimiter,
+                   FILE *stream));
+# else
+#  if !@HAVE_DECL_GETDELIM@
+_GL_FUNCDECL_SYS (getdelim, ssize_t,
+                  (char **lineptr, size_t *linesize, int delimiter,
+                   FILE *stream)
+                  _GL_ARG_NONNULL ((1, 2, 4)));
+#  endif
+_GL_CXXALIAS_SYS (getdelim, ssize_t,
+                  (char **lineptr, size_t *linesize, int delimiter,
+                   FILE *stream));
+# endif
+_GL_CXXALIASWARN (getdelim);
+#elif defined GNULIB_POSIXCHECK
+# undef getdelim
+# if HAVE_RAW_DECL_GETDELIM
+_GL_WARN_ON_USE (getdelim, "getdelim is unportable - "
+                 "use gnulib module getdelim for portability");
+# endif
+#endif
+
+#if @GNULIB_GETLINE@
+/* Read a line, up to (and including) the next newline, from STREAM, store it
+   in *LINEPTR (and NUL-terminate it).
+   *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE
+   bytes of space.  It is realloc'd as necessary.
+   Return the number of bytes read and stored at *LINEPTR (not including the
+   NUL terminator), or -1 on error or EOF.  */
+# if @REPLACE_GETLINE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getline
+#   define getline rpl_getline
+#  endif
+_GL_FUNCDECL_RPL (getline, ssize_t,
+                  (char **lineptr, size_t *linesize, FILE *stream)
+                  _GL_ARG_NONNULL ((1, 2, 3)));
+_GL_CXXALIAS_RPL (getline, ssize_t,
+                  (char **lineptr, size_t *linesize, FILE *stream));
+# else
+#  if !@HAVE_DECL_GETLINE@
+_GL_FUNCDECL_SYS (getline, ssize_t,
+                  (char **lineptr, size_t *linesize, FILE *stream)
+                  _GL_ARG_NONNULL ((1, 2, 3)));
+#  endif
+_GL_CXXALIAS_SYS (getline, ssize_t,
+                  (char **lineptr, size_t *linesize, FILE *stream));
+# endif
+# if @HAVE_DECL_GETLINE@
+_GL_CXXALIASWARN (getline);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getline
+# if HAVE_RAW_DECL_GETLINE
+_GL_WARN_ON_USE (getline, "getline is unportable - "
+                 "use gnulib module getline for portability");
+# endif
+#endif
+
+/* It is very rare that the developer ever has full control of stdin,
+   so any use of gets warrants an unconditional warning; besides, C11
+   removed it.  */
+#undef gets
+#if HAVE_RAW_DECL_GETS
+_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
+
+
+#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
+struct obstack;
+/* Grow an obstack with formatted output.  Return the number of
+   bytes added to OBS.  No trailing nul byte is added, and the
+   object should be closed with obstack_finish before use.  Upon
+   memory allocation error, call obstack_alloc_failed_handler.  Upon
+   other error, return -1.  */
+# if @REPLACE_OBSTACK_PRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define obstack_printf rpl_obstack_printf
+#  endif
+_GL_FUNCDECL_RPL (obstack_printf, int,
+                  (struct obstack *obs, const char *format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (obstack_printf, int,
+                  (struct obstack *obs, const char *format, ...));
+# else
+#  if !@HAVE_DECL_OBSTACK_PRINTF@
+_GL_FUNCDECL_SYS (obstack_printf, int,
+                  (struct obstack *obs, const char *format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (obstack_printf, int,
+                  (struct obstack *obs, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (obstack_printf);
+# if @REPLACE_OBSTACK_PRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define obstack_vprintf rpl_obstack_vprintf
+#  endif
+_GL_FUNCDECL_RPL (obstack_vprintf, int,
+                  (struct obstack *obs, const char *format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (obstack_vprintf, int,
+                  (struct obstack *obs, const char *format, va_list args));
+# else
+#  if !@HAVE_DECL_OBSTACK_PRINTF@
+_GL_FUNCDECL_SYS (obstack_vprintf, int,
+                  (struct obstack *obs, const char *format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (obstack_vprintf, int,
+                  (struct obstack *obs, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (obstack_vprintf);
+#endif
+
+#if @GNULIB_PCLOSE@
+# if !@HAVE_PCLOSE@
+_GL_FUNCDECL_SYS (pclose, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (pclose, int, (FILE *stream));
+_GL_CXXALIASWARN (pclose);
+#elif defined GNULIB_POSIXCHECK
+# undef pclose
+# if HAVE_RAW_DECL_PCLOSE
+_GL_WARN_ON_USE (pclose, "pclose is unportable - "
+                 "use gnulib module pclose for more portability");
+# endif
+#endif
+
+#if @GNULIB_PERROR@
+/* Print a message to standard error, describing the value of ERRNO,
+   (if STRING is not NULL and not empty) prefixed with STRING and ": ",
+   and terminated with a newline.  */
+# if @REPLACE_PERROR@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define perror rpl_perror
+#  endif
+_GL_FUNCDECL_RPL (perror, void, (const char *string));
+_GL_CXXALIAS_RPL (perror, void, (const char *string));
+# else
+_GL_CXXALIAS_SYS (perror, void, (const char *string));
+# endif
+_GL_CXXALIASWARN (perror);
+#elif defined GNULIB_POSIXCHECK
+# undef perror
+/* Assume perror is always declared.  */
+_GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - "
+                 "use gnulib module perror for portability");
+#endif
+
+#if @GNULIB_POPEN@
+# if @REPLACE_POPEN@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef popen
+#   define popen rpl_popen
+#  endif
+_GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode)
+                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode));
+# else
+#  if !@HAVE_POPEN@
+_GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode)
+                                 _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode));
+# endif
+_GL_CXXALIASWARN (popen);
+#elif defined GNULIB_POSIXCHECK
+# undef popen
+# if HAVE_RAW_DECL_POPEN
+_GL_WARN_ON_USE (popen, "popen is buggy on some platforms - "
+                 "use gnulib module popen or pipe for more portability");
+# endif
+#endif
+
+#if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@
+# if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \
+     || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
+#  if defined __GNUC__
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+/* Don't break __attribute__((format(printf,M,N))).  */
+#    define printf __printf__
+#   endif
+#   if @GNULIB_PRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
+_GL_FUNCDECL_RPL_1 (__printf__, int,
+                    (const char *format, ...)
+                    __asm__ (@ASM_SYMBOL_PREFIX@
+                             _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
+                    _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2)
+                    _GL_ARG_NONNULL ((1)));
+#   else
+_GL_FUNCDECL_RPL_1 (__printf__, int,
+                    (const char *format, ...)
+                    __asm__ (@ASM_SYMBOL_PREFIX@
+                             _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
+                    _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 2)
+                    _GL_ARG_NONNULL ((1)));
+#   endif
+_GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...));
+#  else
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    define printf rpl_printf
+#   endif
+_GL_FUNCDECL_RPL (printf, int,
+                  (const char *format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (printf, int, (const char *format, ...));
+#  endif
+#  define GNULIB_overrides_printf 1
+# else
+_GL_CXXALIAS_SYS (printf, int, (const char *format, ...));
+# endif
+_GL_CXXALIASWARN (printf);
+#endif
+#if !@GNULIB_PRINTF_POSIX@ && defined GNULIB_POSIXCHECK
+# if !GNULIB_overrides_printf
+#  undef printf
+# endif
+/* Assume printf is always declared.  */
+_GL_WARN_ON_USE (printf, "printf is not always POSIX compliant - "
+                 "use gnulib module printf-posix for portable "
+                 "POSIX compliance");
+#endif
+
+#if @GNULIB_PUTC@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putc
+#   define putc rpl_fputc
+#  endif
+_GL_FUNCDECL_RPL (fputc, int, (int c, FILE *stream) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL_1 (putc, rpl_fputc, int, (int c, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (putc, int, (int c, FILE *stream));
+# endif
+_GL_CXXALIASWARN (putc);
+#endif
+
+#if @GNULIB_PUTCHAR@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putchar
+#   define putchar rpl_putchar
+#  endif
+_GL_FUNCDECL_RPL (putchar, int, (int c));
+_GL_CXXALIAS_RPL (putchar, int, (int c));
+# else
+_GL_CXXALIAS_SYS (putchar, int, (int c));
+# endif
+_GL_CXXALIASWARN (putchar);
+#endif
+
+#if @GNULIB_PUTS@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef puts
+#   define puts rpl_puts
+#  endif
+_GL_FUNCDECL_RPL (puts, int, (const char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (puts, int, (const char *string));
+# else
+_GL_CXXALIAS_SYS (puts, int, (const char *string));
+# endif
+_GL_CXXALIASWARN (puts);
+#endif
+
+#if @GNULIB_REMOVE@
+# if @REPLACE_REMOVE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef remove
+#   define remove rpl_remove
+#  endif
+_GL_FUNCDECL_RPL (remove, int, (const char *name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (remove, int, (const char *name));
+# else
+_GL_CXXALIAS_SYS (remove, int, (const char *name));
+# endif
+_GL_CXXALIASWARN (remove);
+#elif defined GNULIB_POSIXCHECK
+# undef remove
+/* Assume remove is always declared.  */
+_GL_WARN_ON_USE (remove, "remove cannot handle directories on some platforms - "
+                 "use gnulib module remove for more portability");
+#endif
+
+#if @GNULIB_RENAME@
+# if @REPLACE_RENAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef rename
+#   define rename rpl_rename
+#  endif
+_GL_FUNCDECL_RPL (rename, int,
+                  (const char *old_filename, const char *new_filename)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (rename, int,
+                  (const char *old_filename, const char *new_filename));
+# else
+_GL_CXXALIAS_SYS (rename, int,
+                  (const char *old_filename, const char *new_filename));
+# endif
+_GL_CXXALIASWARN (rename);
+#elif defined GNULIB_POSIXCHECK
+# undef rename
+/* Assume rename is always declared.  */
+_GL_WARN_ON_USE (rename, "rename is buggy on some platforms - "
+                 "use gnulib module rename for more portability");
+#endif
+
+#if @GNULIB_RENAMEAT@
+# if @REPLACE_RENAMEAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef renameat
+#   define renameat rpl_renameat
+#  endif
+_GL_FUNCDECL_RPL (renameat, int,
+                  (int fd1, char const *file1, int fd2, char const *file2)
+                  _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (renameat, int,
+                  (int fd1, char const *file1, int fd2, char const *file2));
+# else
+#  if !@HAVE_RENAMEAT@
+_GL_FUNCDECL_SYS (renameat, int,
+                  (int fd1, char const *file1, int fd2, char const *file2)
+                  _GL_ARG_NONNULL ((2, 4)));
+#  endif
+_GL_CXXALIAS_SYS (renameat, int,
+                  (int fd1, char const *file1, int fd2, char const *file2));
+# endif
+_GL_CXXALIASWARN (renameat);
+#elif defined GNULIB_POSIXCHECK
+# undef renameat
+# if HAVE_RAW_DECL_RENAMEAT
+_GL_WARN_ON_USE (renameat, "renameat is not portable - "
+                 "use gnulib module renameat for portability");
+# endif
+#endif
+
+#if @GNULIB_SCANF@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+#  if defined __GNUC__
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef scanf
+/* Don't break __attribute__((format(scanf,M,N))).  */
+#    define scanf __scanf__
+#   endif
+_GL_FUNCDECL_RPL_1 (__scanf__, int,
+                    (const char *format, ...)
+                    __asm__ (@ASM_SYMBOL_PREFIX@
+                             _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_scanf))
+                    _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
+                    _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *format, ...));
+#  else
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef scanf
+#    define scanf rpl_scanf
+#   endif
+_GL_FUNCDECL_RPL (scanf, int, (const char *format, ...)
+                              _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
+                              _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (scanf, int, (const char *format, ...));
+#  endif
+# else
+_GL_CXXALIAS_SYS (scanf, int, (const char *format, ...));
+# endif
+_GL_CXXALIASWARN (scanf);
+#endif
+
+#if @GNULIB_SNPRINTF@
+# if @REPLACE_SNPRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define snprintf rpl_snprintf
+#  endif
+_GL_FUNCDECL_RPL (snprintf, int,
+                  (char *str, size_t size, const char *format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4)
+                  _GL_ARG_NONNULL ((3)));
+_GL_CXXALIAS_RPL (snprintf, int,
+                  (char *str, size_t size, const char *format, ...));
+# else
+#  if !@HAVE_DECL_SNPRINTF@
+_GL_FUNCDECL_SYS (snprintf, int,
+                  (char *str, size_t size, const char *format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4)
+                  _GL_ARG_NONNULL ((3)));
+#  endif
+_GL_CXXALIAS_SYS (snprintf, int,
+                  (char *str, size_t size, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (snprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef snprintf
+# if HAVE_RAW_DECL_SNPRINTF
+_GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
+                 "use gnulib module snprintf for portability");
+# endif
+#endif
+
+/* Some people would argue that all sprintf uses should be warned about
+   (for example, OpenBSD issues a link warning for it),
+   since it can cause security holes due to buffer overruns.
+   However, we believe that sprintf can be used safely, and is more
+   efficient than snprintf in those safe cases; and as proof of our
+   belief, we use sprintf in several gnulib modules.  So this header
+   intentionally avoids adding a warning to sprintf except when
+   GNULIB_POSIXCHECK is defined.  */
+
+#if @GNULIB_SPRINTF_POSIX@
+# if @REPLACE_SPRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define sprintf rpl_sprintf
+#  endif
+_GL_FUNCDECL_RPL (sprintf, int, (char *str, const char *format, ...)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                                _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (sprintf, int, (char *str, const char *format, ...));
+# else
+_GL_CXXALIAS_SYS (sprintf, int, (char *str, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (sprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef sprintf
+/* Assume sprintf is always declared.  */
+_GL_WARN_ON_USE (sprintf, "sprintf is not always POSIX compliant - "
+                 "use gnulib module sprintf-posix for portable "
+                 "POSIX compliance");
+#endif
+
+#if @GNULIB_TMPFILE@
+# if @REPLACE_TMPFILE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define tmpfile rpl_tmpfile
+#  endif
+_GL_FUNCDECL_RPL (tmpfile, FILE *, (void));
+_GL_CXXALIAS_RPL (tmpfile, FILE *, (void));
+# else
+_GL_CXXALIAS_SYS (tmpfile, FILE *, (void));
+# endif
+_GL_CXXALIASWARN (tmpfile);
+#elif defined GNULIB_POSIXCHECK
+# undef tmpfile
+# if HAVE_RAW_DECL_TMPFILE
+_GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - "
+                 "use gnulib module tmpfile for portability");
+# endif
+#endif
+
+#if @GNULIB_VASPRINTF@
+/* Write formatted output to a string dynamically allocated with malloc().
+   If the memory allocation succeeds, store the address of the string in
+   *RESULT and return the number of resulting bytes, excluding the trailing
+   NUL.  Upon memory allocation error, or some other error, return -1.  */
+# if @REPLACE_VASPRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define asprintf rpl_asprintf
+#  endif
+_GL_FUNCDECL_RPL (asprintf, int,
+                  (char **result, const char *format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (asprintf, int,
+                  (char **result, const char *format, ...));
+# else
+#  if !@HAVE_VASPRINTF@
+_GL_FUNCDECL_SYS (asprintf, int,
+                  (char **result, const char *format, ...)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (asprintf, int,
+                  (char **result, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (asprintf);
+# if @REPLACE_VASPRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define vasprintf rpl_vasprintf
+#  endif
+_GL_FUNCDECL_RPL (vasprintf, int,
+                  (char **result, const char *format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (vasprintf, int,
+                  (char **result, const char *format, va_list args));
+# else
+#  if !@HAVE_VASPRINTF@
+_GL_FUNCDECL_SYS (vasprintf, int,
+                  (char **result, const char *format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (vasprintf, int,
+                  (char **result, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vasprintf);
+#endif
+
+#if @GNULIB_VDPRINTF@
+# if @REPLACE_VDPRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define vdprintf rpl_vdprintf
+#  endif
+_GL_FUNCDECL_RPL (vdprintf, int, (int fd, const char *format, va_list args)
+                                 _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                                 _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (vdprintf, int, (int fd, const char *format, va_list args));
+# else
+#  if !@HAVE_VDPRINTF@
+_GL_FUNCDECL_SYS (vdprintf, int, (int fd, const char *format, va_list args)
+                                 _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                                 _GL_ARG_NONNULL ((2)));
+#  endif
+/* Need to cast, because on Solaris, the third parameter will likely be
+                                                    __va_list args.  */
+_GL_CXXALIAS_SYS_CAST (vdprintf, int,
+                       (int fd, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vdprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef vdprintf
+# if HAVE_RAW_DECL_VDPRINTF
+_GL_WARN_ON_USE (vdprintf, "vdprintf is unportable - "
+                 "use gnulib module vdprintf for portability");
+# endif
+#endif
+
+#if @GNULIB_VFPRINTF_POSIX@ || @GNULIB_VFPRINTF@
+# if (@GNULIB_VFPRINTF_POSIX@ && @REPLACE_VFPRINTF@) \
+     || (@GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define vfprintf rpl_vfprintf
+#  endif
+#  define GNULIB_overrides_vfprintf 1
+#  if @GNULIB_VFPRINTF_POSIX@
+_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)
+                                 _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                                 _GL_ARG_NONNULL ((1, 2)));
+#  else
+_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)
+                                 _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 0)
+                                 _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args));
+# else
+/* Need to cast, because on Solaris, the third parameter is
+                                                      __va_list args
+   and GCC's fixincludes did not change this to __gnuc_va_list.  */
+_GL_CXXALIAS_SYS_CAST (vfprintf, int,
+                       (FILE *fp, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vfprintf);
+#endif
+#if !@GNULIB_VFPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
+# if !GNULIB_overrides_vfprintf
+#  undef vfprintf
+# endif
+/* Assume vfprintf is always declared.  */
+_GL_WARN_ON_USE (vfprintf, "vfprintf is not always POSIX compliant - "
+                 "use gnulib module vfprintf-posix for portable "
+                      "POSIX compliance");
+#endif
+
+#if @GNULIB_VFSCANF@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef vfscanf
+#   define vfscanf rpl_vfscanf
+#  endif
+_GL_FUNCDECL_RPL (vfscanf, int,
+                  (FILE *stream, const char *format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 0)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (vfscanf, int,
+                  (FILE *stream, const char *format, va_list args));
+# else
+_GL_CXXALIAS_SYS (vfscanf, int,
+                  (FILE *stream, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vfscanf);
+#endif
+
+#if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VPRINTF@
+# if (@GNULIB_VPRINTF_POSIX@ && @REPLACE_VPRINTF@) \
+     || (@GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define vprintf rpl_vprintf
+#  endif
+#  define GNULIB_overrides_vprintf 1
+#  if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
+_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF (1, 0)
+                                _GL_ARG_NONNULL ((1)));
+#  else
+_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args)
+                                _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 0)
+                                _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_RPL (vprintf, int, (const char *format, va_list args));
+# else
+/* Need to cast, because on Solaris, the second parameter is
+                                                          __va_list args
+   and GCC's fixincludes did not change this to __gnuc_va_list.  */
+_GL_CXXALIAS_SYS_CAST (vprintf, int, (const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vprintf);
+#endif
+#if !@GNULIB_VPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
+# if !GNULIB_overrides_vprintf
+#  undef vprintf
+# endif
+/* Assume vprintf is always declared.  */
+_GL_WARN_ON_USE (vprintf, "vprintf is not always POSIX compliant - "
+                 "use gnulib module vprintf-posix for portable "
+                 "POSIX compliance");
+#endif
+
+#if @GNULIB_VSCANF@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef vscanf
+#   define vscanf rpl_vscanf
+#  endif
+_GL_FUNCDECL_RPL (vscanf, int, (const char *format, va_list args)
+                               _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 0)
+                               _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (vscanf, int, (const char *format, va_list args));
+# else
+_GL_CXXALIAS_SYS (vscanf, int, (const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vscanf);
+#endif
+
+#if @GNULIB_VSNPRINTF@
+# if @REPLACE_VSNPRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define vsnprintf rpl_vsnprintf
+#  endif
+_GL_FUNCDECL_RPL (vsnprintf, int,
+                  (char *str, size_t size, const char *format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0)
+                  _GL_ARG_NONNULL ((3)));
+_GL_CXXALIAS_RPL (vsnprintf, int,
+                  (char *str, size_t size, const char *format, va_list args));
+# else
+#  if !@HAVE_DECL_VSNPRINTF@
+_GL_FUNCDECL_SYS (vsnprintf, int,
+                  (char *str, size_t size, const char *format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0)
+                  _GL_ARG_NONNULL ((3)));
+#  endif
+_GL_CXXALIAS_SYS (vsnprintf, int,
+                  (char *str, size_t size, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vsnprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef vsnprintf
+# if HAVE_RAW_DECL_VSNPRINTF
+_GL_WARN_ON_USE (vsnprintf, "vsnprintf is unportable - "
+                 "use gnulib module vsnprintf for portability");
+# endif
+#endif
+
+#if @GNULIB_VSPRINTF_POSIX@
+# if @REPLACE_VSPRINTF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define vsprintf rpl_vsprintf
+#  endif
+_GL_FUNCDECL_RPL (vsprintf, int,
+                  (char *str, const char *format, va_list args)
+                  _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (vsprintf, int,
+                  (char *str, const char *format, va_list args));
+# else
+/* Need to cast, because on Solaris, the third parameter is
+                                                       __va_list args
+   and GCC's fixincludes did not change this to __gnuc_va_list.  */
+_GL_CXXALIAS_SYS_CAST (vsprintf, int,
+                       (char *str, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vsprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef vsprintf
+/* Assume vsprintf is always declared.  */
+_GL_WARN_ON_USE (vsprintf, "vsprintf is not always POSIX compliant - "
+                 "use gnulib module vsprintf-posix for portable "
+                      "POSIX compliance");
+#endif
+
+_GL_INLINE_HEADER_END
+
+#endif /* _@GUARD_PREFIX@_STDIO_H */
+#endif /* _@GUARD_PREFIX@_STDIO_H */
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stdlib.in.h ./gdb/gnulib/import/stdlib.in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stdlib.in.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/stdlib.in.h	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,937 @@
+/* A GNU-like <stdlib.h>.
+
+   Copyright (C) 1995, 2001-2004, 2006-2012 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_malloc_and_calloc
+/* Special invocation convention inside glibc header files.  */
+
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+
+/* The include_next requires a split double-inclusion guard.  */
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+#define _@GUARD_PREFIX@_STDLIB_H
+
+/* NetBSD 5.0 mis-defines NULL.  */
+#include <stddef.h>
+
+/* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>.  */
+#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
+# include <sys/wait.h>
+#endif
+
+/* Solaris declares getloadavg() in <sys/loadavg.h>.  */
+#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
+# include <sys/loadavg.h>
+#endif
+
+/* Native Windows platforms declare mktemp() in <io.h>.  */
+#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
+#if @GNULIB_RANDOM_R@
+
+/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
+   from <stdlib.h> if _REENTRANT is defined.  Include it whenever we need
+   'struct random_data'.  */
+# if @HAVE_RANDOM_H@
+#  include <random.h>
+# endif
+
+# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@
+#  include <stdint.h>
+# endif
+
+# if !@HAVE_STRUCT_RANDOM_DATA@
+/* Define 'struct random_data'.
+   But allow multiple gnulib generated <stdlib.h> replacements to coexist.  */
+#  if !GNULIB_defined_struct_random_data
+struct random_data
+{
+  int32_t *fptr;                /* Front pointer.  */
+  int32_t *rptr;                /* Rear pointer.  */
+  int32_t *state;               /* Array of state values.  */
+  int rand_type;                /* Type of random number generator.  */
+  int rand_deg;                 /* Degree of random number generator.  */
+  int rand_sep;                 /* Distance between front and rear.  */
+  int32_t *end_ptr;             /* Pointer behind state table.  */
+};
+#   define GNULIB_defined_struct_random_data 1
+#  endif
+# endif
+#endif
+
+#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+/* On Mac OS X 10.3, only <unistd.h> declares mkstemp.  */
+/* On Mac OS X 10.5, only <unistd.h> declares mkstemps.  */
+/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
+/* But avoid namespace pollution on glibc systems and native Windows.  */
+# include <unistd.h>
+#endif
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The attribute __pure__ was added in gcc 2.96.  */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
+
+/* The definition of _Noreturn is copied here.  */
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_ARG_NONNULL is copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+
+/* Some systems do not define EXIT_*, despite otherwise supporting C89.  */
+#ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+#endif
+/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
+   with proper operation of xargs.  */
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#elif EXIT_FAILURE != 1
+# undef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#endif
+
+
+#if @GNULIB__EXIT@
+/* Terminate the current process with the given return code, without running
+   the 'atexit' handlers.  */
+# if !@HAVE__EXIT@
+_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
+# endif
+_GL_CXXALIAS_SYS (_Exit, void, (int status));
+_GL_CXXALIASWARN (_Exit);
+#elif defined GNULIB_POSIXCHECK
+# undef _Exit
+# if HAVE_RAW_DECL__EXIT
+_GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
+                 "use gnulib module _Exit for portability");
+# endif
+#endif
+
+
+#if @GNULIB_ATOLL@
+/* Parse a signed decimal integer.
+   Returns the value of the integer.  Errors are not detected.  */
+# if !@HAVE_ATOLL@
+_GL_FUNCDECL_SYS (atoll, long long, (const char *string)
+                                    _GL_ATTRIBUTE_PURE
+                                    _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
+_GL_CXXALIASWARN (atoll);
+#elif defined GNULIB_POSIXCHECK
+# undef atoll
+# if HAVE_RAW_DECL_ATOLL
+_GL_WARN_ON_USE (atoll, "atoll is unportable - "
+                 "use gnulib module atoll for portability");
+# endif
+#endif
+
+#if @GNULIB_CALLOC_POSIX@
+# if @REPLACE_CALLOC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef calloc
+#   define calloc rpl_calloc
+#  endif
+_GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
+_GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
+# else
+_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
+# endif
+_GL_CXXALIASWARN (calloc);
+#elif defined GNULIB_POSIXCHECK
+# undef calloc
+/* Assume calloc is always declared.  */
+_GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
+                 "use gnulib module calloc-posix for portability");
+#endif
+
+#if @GNULIB_CANONICALIZE_FILE_NAME@
+# if @REPLACE_CANONICALIZE_FILE_NAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define canonicalize_file_name rpl_canonicalize_file_name
+#  endif
+_GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
+                                                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
+# else
+#  if !@HAVE_CANONICALIZE_FILE_NAME@
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
+                                                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
+# endif
+_GL_CXXALIASWARN (canonicalize_file_name);
+#elif defined GNULIB_POSIXCHECK
+# undef canonicalize_file_name
+# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
+_GL_WARN_ON_USE (canonicalize_file_name,
+                 "canonicalize_file_name is unportable - "
+                 "use gnulib module canonicalize-lgpl for portability");
+# endif
+#endif
+
+#if @GNULIB_GETLOADAVG@
+/* Store max(NELEM,3) load average numbers in LOADAVG[].
+   The three numbers are the load average of the last 1 minute, the last 5
+   minutes, and the last 15 minutes, respectively.
+   LOADAVG is an array of NELEM numbers.  */
+# if !@HAVE_DECL_GETLOADAVG@
+_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
+                                   _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
+_GL_CXXALIASWARN (getloadavg);
+#elif defined GNULIB_POSIXCHECK
+# undef getloadavg
+# if HAVE_RAW_DECL_GETLOADAVG
+_GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
+                 "use gnulib module getloadavg for portability");
+# endif
+#endif
+
+#if @GNULIB_GETSUBOPT@
+/* Assuming *OPTIONP is a comma separated list of elements of the form
+   "token" or "token=value", getsubopt parses the first of these elements.
+   If the first element refers to a "token" that is member of the given
+   NULL-terminated array of tokens:
+     - It replaces the comma with a NUL byte, updates *OPTIONP to point past
+       the first option and the comma, sets *VALUEP to the value of the
+       element (or NULL if it doesn't contain an "=" sign),
+     - It returns the index of the "token" in the given array of tokens.
+   Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
+   For more details see the POSIX:2001 specification.
+   http://www.opengroup.org/susv3xsh/getsubopt.html */
+# if !@HAVE_GETSUBOPT@
+_GL_FUNCDECL_SYS (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep)
+                  _GL_ARG_NONNULL ((1, 2, 3)));
+# endif
+_GL_CXXALIAS_SYS (getsubopt, int,
+                  (char **optionp, char *const *tokens, char **valuep));
+_GL_CXXALIASWARN (getsubopt);
+#elif defined GNULIB_POSIXCHECK
+# undef getsubopt
+# if HAVE_RAW_DECL_GETSUBOPT
+_GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
+                 "use gnulib module getsubopt for portability");
+# endif
+#endif
+
+#if @GNULIB_GRANTPT@
+/* Change the ownership and access permission of the slave side of the
+   pseudo-terminal whose master side is specified by FD.  */
+# if !@HAVE_GRANTPT@
+_GL_FUNCDECL_SYS (grantpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (grantpt, int, (int fd));
+_GL_CXXALIASWARN (grantpt);
+#elif defined GNULIB_POSIXCHECK
+# undef grantpt
+# if HAVE_RAW_DECL_GRANTPT
+_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
+                 "use gnulib module grantpt for portability");
+# endif
+#endif
+
+/* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
+   rely on GNU or POSIX semantics for malloc and realloc (for example,
+   by never specifying a zero size), so it does not need malloc or
+   realloc to be redefined.  */
+#if @GNULIB_MALLOC_POSIX@
+# if @REPLACE_MALLOC@
+#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+        || _GL_USE_STDLIB_ALLOC)
+#   undef malloc
+#   define malloc rpl_malloc
+#  endif
+_GL_FUNCDECL_RPL (malloc, void *, (size_t size));
+_GL_CXXALIAS_RPL (malloc, void *, (size_t size));
+# else
+_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
+# endif
+_GL_CXXALIASWARN (malloc);
+#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+# undef malloc
+/* Assume malloc is always declared.  */
+_GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
+                 "use gnulib module malloc-posix for portability");
+#endif
+
+/* Convert a multibyte character to a wide character.  */
+#if @GNULIB_MBTOWC@
+# if @REPLACE_MBTOWC@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef mbtowc
+#   define mbtowc rpl_mbtowc
+#  endif
+_GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
+_GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
+# else
+_GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
+# endif
+_GL_CXXALIASWARN (mbtowc);
+#endif
+
+#if @GNULIB_MKDTEMP@
+/* Create a unique temporary directory from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the directory name unique.
+   Returns TEMPLATE, or a null pointer if it cannot get a unique name.
+   The directory is created mode 700.  */
+# if !@HAVE_MKDTEMP@
+_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
+_GL_CXXALIASWARN (mkdtemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkdtemp
+# if HAVE_RAW_DECL_MKDTEMP
+_GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
+                 "use gnulib module mkdtemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+   and O_TEXT, O_BINARY (defined in "binary-io.h").
+   The file is then created, with the specified flags, ensuring it didn't exist
+   before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if !@HAVE_MKOSTEMP@
+_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
+                                 _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
+_GL_CXXALIASWARN (mkostemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemp
+# if HAVE_RAW_DECL_MKOSTEMP
+_GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
+                 "use gnulib module mkostemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE before a suffix of length
+   SUFFIXLEN must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+   and O_TEXT, O_BINARY (defined in "binary-io.h").
+   The file is then created, with the specified flags, ensuring it didn't exist
+   before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if !@HAVE_MKOSTEMPS@
+_GL_FUNCDECL_SYS (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/)
+                  _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkostemps, int,
+                  (char * /*template*/, int /*suffixlen*/, int /*flags*/));
+_GL_CXXALIASWARN (mkostemps);
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemps
+# if HAVE_RAW_DECL_MKOSTEMPS
+_GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
+                 "use gnulib module mkostemps for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The file is then created, ensuring it didn't exist before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if @REPLACE_MKSTEMP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define mkstemp rpl_mkstemp
+#  endif
+_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
+# else
+#  if ! @HAVE_MKSTEMP@
+_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
+# endif
+_GL_CXXALIASWARN (mkstemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemp
+# if HAVE_RAW_DECL_MKSTEMP
+_GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
+                 "use gnulib module mkstemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+   The last six characters of TEMPLATE prior to a suffix of length
+   SUFFIXLEN must be "XXXXXX";
+   they are replaced with a string that makes the file name unique.
+   The file is then created, ensuring it didn't exist before.
+   The file is created read-write (mask at least 0600 & ~umask), but it may be
+   world-readable and world-writable (mask 0666 & ~umask), depending on the
+   implementation.
+   Returns the open file descriptor if successful, otherwise -1 and errno
+   set.  */
+# if !@HAVE_MKSTEMPS@
+_GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
+                                 _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
+_GL_CXXALIASWARN (mkstemps);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemps
+# if HAVE_RAW_DECL_MKSTEMPS
+_GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
+                 "use gnulib module mkstemps for portability");
+# endif
+#endif
+
+#if @GNULIB_POSIX_OPENPT@
+/* Return an FD open to the master side of a pseudo-terminal.  Flags should
+   include O_RDWR, and may also include O_NOCTTY.  */
+# if !@HAVE_POSIX_OPENPT@
+_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
+# endif
+_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
+_GL_CXXALIASWARN (posix_openpt);
+#elif defined GNULIB_POSIXCHECK
+# undef posix_openpt
+# if HAVE_RAW_DECL_POSIX_OPENPT
+_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
+                 "use gnulib module posix_openpt for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME@
+/* Return the pathname of the pseudo-terminal slave associated with
+   the master FD is open on, or NULL on errors.  */
+# if @REPLACE_PTSNAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ptsname
+#   define ptsname rpl_ptsname
+#  endif
+_GL_FUNCDECL_RPL (ptsname, char *, (int fd));
+_GL_CXXALIAS_RPL (ptsname, char *, (int fd));
+# else
+#  if !@HAVE_PTSNAME@
+_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
+#  endif
+_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
+# endif
+_GL_CXXALIASWARN (ptsname);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname
+# if HAVE_RAW_DECL_PTSNAME
+_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
+                 "use gnulib module ptsname for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME_R@
+/* Set the pathname of the pseudo-terminal slave associated with
+   the master FD is open on and return 0, or set errno and return
+   non-zero on errors.  */
+# if @REPLACE_PTSNAME_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ptsname_r
+#   define ptsname_r rpl_ptsname_r
+#  endif
+_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+# else
+#  if !@HAVE_PTSNAME_R@
+_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+#  endif
+_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIASWARN (ptsname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname_r
+# if HAVE_RAW_DECL_PTSNAME_R
+_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
+                 "use gnulib module ptsname_r for portability");
+# endif
+#endif
+
+#if @GNULIB_PUTENV@
+# if @REPLACE_PUTENV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef putenv
+#   define putenv rpl_putenv
+#  endif
+_GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (putenv, int, (char *string));
+# else
+_GL_CXXALIAS_SYS (putenv, int, (char *string));
+# endif
+_GL_CXXALIASWARN (putenv);
+#endif
+
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+#  ifndef RAND_MAX
+#   define RAND_MAX 2147483647
+#  endif
+# endif
+#endif
+
+
+#if @GNULIB_RANDOM@
+# if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (random, long, (void));
+# endif
+_GL_CXXALIAS_SYS (random, long, (void));
+_GL_CXXALIASWARN (random);
+#elif defined GNULIB_POSIXCHECK
+# undef random
+# if HAVE_RAW_DECL_RANDOM
+_GL_WARN_ON_USE (random, "random is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
+# endif
+_GL_CXXALIAS_SYS (srandom, void, (unsigned int seed));
+_GL_CXXALIASWARN (srandom);
+#elif defined GNULIB_POSIXCHECK
+# undef srandom
+# if HAVE_RAW_DECL_SRANDOM
+_GL_WARN_ON_USE (srandom, "srandom is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size)
+                  _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size));
+_GL_CXXALIASWARN (initstate);
+#elif defined GNULIB_POSIXCHECK
+# undef initstate
+# if HAVE_RAW_DECL_INITSTATE_R
+_GL_WARN_ON_USE (initstate, "initstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (setstate, char *, (char *arg_state));
+_GL_CXXALIASWARN (setstate);
+#elif defined GNULIB_POSIXCHECK
+# undef setstate
+# if HAVE_RAW_DECL_SETSTATE_R
+_GL_WARN_ON_USE (setstate, "setstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef random_r
+#   define random_r rpl_random_r
+#  endif
+_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
+                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
+                                 _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
+# endif
+_GL_CXXALIASWARN (random_r);
+#elif defined GNULIB_POSIXCHECK
+# undef random_r
+# if HAVE_RAW_DECL_RANDOM_R
+_GL_WARN_ON_USE (random_r, "random_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef srandom_r
+#   define srandom_r rpl_srandom_r
+#  endif
+_GL_FUNCDECL_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2)));
+#  endif
+_GL_CXXALIAS_SYS (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state));
+# endif
+_GL_CXXALIASWARN (srandom_r);
+#elif defined GNULIB_POSIXCHECK
+# undef srandom_r
+# if HAVE_RAW_DECL_SRANDOM_R
+_GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef initstate_r
+#   define initstate_r rpl_initstate_r
+#  endif
+_GL_FUNCDECL_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2, 4)));
+#  endif
+_GL_CXXALIAS_SYS (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state));
+# endif
+_GL_CXXALIASWARN (initstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef initstate_r
+# if HAVE_RAW_DECL_INITSTATE_R
+_GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setstate_r
+#   define setstate_r rpl_setstate_r
+#  endif
+_GL_FUNCDECL_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state));
+# endif
+_GL_CXXALIASWARN (setstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef setstate_r
+# if HAVE_RAW_DECL_SETSTATE_R
+_GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
+                 "use gnulib module random_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_REALLOC_POSIX@
+# if @REPLACE_REALLOC@
+#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+        || _GL_USE_STDLIB_ALLOC)
+#   undef realloc
+#   define realloc rpl_realloc
+#  endif
+_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
+_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
+# else
+_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
+# endif
+_GL_CXXALIASWARN (realloc);
+#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+# undef realloc
+/* Assume realloc is always declared.  */
+_GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
+                 "use gnulib module realloc-posix for portability");
+#endif
+
+#if @GNULIB_REALPATH@
+# if @REPLACE_REALPATH@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define realpath rpl_realpath
+#  endif
+_GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
+                                    _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
+# else
+#  if !@HAVE_REALPATH@
+_GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
+                                    _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
+# endif
+_GL_CXXALIASWARN (realpath);
+#elif defined GNULIB_POSIXCHECK
+# undef realpath
+# if HAVE_RAW_DECL_REALPATH
+_GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
+                 "canonicalize or canonicalize-lgpl for portability");
+# endif
+#endif
+
+#if @GNULIB_RPMATCH@
+/* Test a user response to a question.
+   Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear.  */
+# if !@HAVE_RPMATCH@
+_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
+_GL_CXXALIASWARN (rpmatch);
+#elif defined GNULIB_POSIXCHECK
+# undef rpmatch
+# if HAVE_RAW_DECL_RPMATCH
+_GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
+                 "use gnulib module rpmatch for portability");
+# endif
+#endif
+
+#if @GNULIB_SETENV@
+/* Set NAME to VALUE in the environment.
+   If REPLACE is nonzero, overwrite an existing value.  */
+# if @REPLACE_SETENV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setenv
+#   define setenv rpl_setenv
+#  endif
+_GL_FUNCDECL_RPL (setenv, int,
+                  (const char *name, const char *value, int replace)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (setenv, int,
+                  (const char *name, const char *value, int replace));
+# else
+#  if !@HAVE_DECL_SETENV@
+_GL_FUNCDECL_SYS (setenv, int,
+                  (const char *name, const char *value, int replace)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (setenv, int,
+                  (const char *name, const char *value, int replace));
+# endif
+# if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
+_GL_CXXALIASWARN (setenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef setenv
+# if HAVE_RAW_DECL_SETENV
+_GL_WARN_ON_USE (setenv, "setenv is unportable - "
+                 "use gnulib module setenv for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOD@
+ /* Parse a double from STRING, updating ENDP if appropriate.  */
+# if @REPLACE_STRTOD@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define strtod rpl_strtod
+#  endif
+_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
+                                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
+# else
+#  if !@HAVE_STRTOD@
+_GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
+                                  _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
+# endif
+_GL_CXXALIASWARN (strtod);
+#elif defined GNULIB_POSIXCHECK
+# undef strtod
+# if HAVE_RAW_DECL_STRTOD
+_GL_WARN_ON_USE (strtod, "strtod is unportable - "
+                 "use gnulib module strtod for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOLL@
+/* Parse a signed integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
+   to ERANGE.  */
+# if !@HAVE_STRTOLL@
+_GL_FUNCDECL_SYS (strtoll, long long,
+                  (const char *string, char **endptr, int base)
+                  _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtoll, long long,
+                  (const char *string, char **endptr, int base));
+_GL_CXXALIASWARN (strtoll);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoll
+# if HAVE_RAW_DECL_STRTOLL
+_GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
+                 "use gnulib module strtoll for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOULL@
+/* Parse an unsigned integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is ULLONG_MAX, and errno is set to
+   ERANGE.  */
+# if !@HAVE_STRTOULL@
+_GL_FUNCDECL_SYS (strtoull, unsigned long long,
+                  (const char *string, char **endptr, int base)
+                  _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtoull, unsigned long long,
+                  (const char *string, char **endptr, int base));
+_GL_CXXALIASWARN (strtoull);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoull
+# if HAVE_RAW_DECL_STRTOULL
+_GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
+                 "use gnulib module strtoull for portability");
+# endif
+#endif
+
+#if @GNULIB_UNLOCKPT@
+/* Unlock the slave side of the pseudo-terminal whose master side is specified
+   by FD, so that it can be opened.  */
+# if !@HAVE_UNLOCKPT@
+_GL_FUNCDECL_SYS (unlockpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (unlockpt, int, (int fd));
+_GL_CXXALIASWARN (unlockpt);
+#elif defined GNULIB_POSIXCHECK
+# undef unlockpt
+# if HAVE_RAW_DECL_UNLOCKPT
+_GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
+                 "use gnulib module unlockpt for portability");
+# endif
+#endif
+
+#if @GNULIB_UNSETENV@
+/* Remove the variable NAME from the environment.  */
+# if @REPLACE_UNSETENV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef unsetenv
+#   define unsetenv rpl_unsetenv
+#  endif
+_GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
+# else
+#  if !@HAVE_DECL_UNSETENV@
+_GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
+# endif
+# if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
+_GL_CXXALIASWARN (unsetenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef unsetenv
+# if HAVE_RAW_DECL_UNSETENV
+_GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
+                 "use gnulib module unsetenv for portability");
+# endif
+#endif
+
+/* Convert a wide character to a multibyte character.  */
+#if @GNULIB_WCTOMB@
+# if @REPLACE_WCTOMB@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef wctomb
+#   define wctomb rpl_wctomb
+#  endif
+_GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
+_GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
+# else
+_GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
+# endif
+_GL_CXXALIASWARN (wctomb);
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stripslash.c ./gdb/gnulib/import/stripslash.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/import/stripslash.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/gnulib/import/stripslash.c	2015-01-20 02:05:38.000000000 +0000
@@ -0,0 +1,45 @@
+/* stripslash.c -- remove redundant trailing slashes from a file name
+
+   Copyright (C) 1990, 2001, 2003-2006, 2009-2012 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "dirname.h"
+
+/* Remove trailing slashes from FILE.  Return true if a trailing slash
+   was removed.  This is useful when using file name completion from a
+   shell that adds a "/" after directory names (such as tcsh and
+   bash), because on symlinks to directories, several system calls
+   have different semantics according to whether a trailing slash is
+   present.  */
+
+bool
+strip_trailing_slashes (char *file)
+{
+  char *base = last_component (file);
+  char *base_lim;
+  bool had_slash;
+
+  /* last_component returns "" for file system roots, but we need to turn
+     "///" into "/".  */
+  if (! *base)
+    base = file;
+  base_lim = base + base_len (base);
+  had_slash = (*base_lim != '\0');
+  *base_lim = '\0';
+  return had_slash;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/Makefile.in ./gdb/gnulib/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/Makefile.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/Makefile.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1989-2014 Free Software Foundation, Inc.
+# Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/update-gnulib.sh ./gdb/gnulib/update-gnulib.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnulib/update-gnulib.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnulib/update-gnulib.sh	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
@@ -30,17 +30,26 @@
 
 # The list of gnulib modules we are importing in GDB.
 IMPORTED_GNULIB_MODULES="\
+    alloca \
+    canonicalize-lgpl \
+    dirent \
     dirfd \
+    errno \
     fnmatch-gnu \
     frexpl \
     inttypes \
+    lstat \
+    memchr \
     memmem \
-    update-copyright \
-    unistd \
     pathmax \
+    readlink \
+    rename \
     strstr \
-    dirent \
     sys_stat \
+    unistd \
+    update-copyright \
+    wchar \
+    wctype-h \
 "
 
 # The gnulib commit ID to use for the update.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnu-nat.c ./gdb/gnu-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnu-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnu-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface GDB to the GNU Hurd.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,12 +23,9 @@
 #include "defs.h"
 
 #include <ctype.h>
-#include <errno.h>
 #include <limits.h>
 #include <setjmp.h>
 #include <signal.h>
-#include <stdio.h>
-#include <string.h>
 #include <sys/ptrace.h>
 
 #include <mach.h>
@@ -61,7 +58,6 @@
 #include "gdbcmd.h"
 #include "gdbcore.h"
 #include "gdbthread.h"
-#include "gdb_assert.h"
 #include "gdb_obstack.h"
 
 #include "gnu-nat.h"
@@ -808,7 +804,8 @@ inf_validate_procinfo (struct inf *inf)
       inf->nomsg = !!(pi->state & PI_NOMSG);
       if (inf->nomsg)
 	inf->traced = !!(pi->state & PI_TRACED);
-      vm_deallocate (mach_task_self (), (vm_address_t) pi, pi_len);
+      vm_deallocate (mach_task_self (), (vm_address_t) pi,
+		     pi_len * sizeof (*(procinfo_t) 0));
       if (noise_len > 0)
 	vm_deallocate (mach_task_self (), (vm_address_t) noise, noise_len);
     }
@@ -848,9 +845,10 @@ inf_validate_task_sc (struct inf *inf)
 
   suspend_count = pi->taskinfo.suspend_count;
 
-  vm_deallocate (mach_task_self (), (vm_address_t) pi, pi_len);
+  vm_deallocate (mach_task_self (), (vm_address_t) pi,
+		 pi_len * sizeof (*(procinfo_t) 0));
   if (noise_len > 0)
-    vm_deallocate (mach_task_self (), (vm_address_t) pi, pi_len);
+    vm_deallocate (mach_task_self (), (vm_address_t) noise, noise_len);
 
   if (inf->task->cur_sc < suspend_count)
     {
@@ -987,6 +985,17 @@ inf_port_to_thread (struct inf *inf, mac
   return 0;
 }
 
+/* See gnu-nat.h.  */
+
+void
+inf_threads (struct inf *inf, inf_threads_ftype *f, void *arg)
+{
+  struct proc *thread;
+
+  for (thread = inf->threads; thread; thread = thread->next)
+    f (thread, arg);
+}
+
 
 /* Make INF's list of threads be consistent with reality of TASK.  */
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnu-nat.h ./gdb/gnu-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnu-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnu-nat.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common things used by the various *gnu-nat.c files
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    Written by Miles Bader <miles@gnu.ai.mit.edu>
 
@@ -29,6 +29,11 @@ extern struct inf *gnu_current_inf;
 /* Converts a GDB pid to a struct proc.  */
 struct proc *inf_tid_to_thread (struct inf *inf, int tid);
 
+typedef void (inf_threads_ftype) (struct proc *thread, void *arg);
+
+/* Call F for every thread in inferior INF, passing ARG as second parameter.  */
+void inf_threads (struct inf *inf, inf_threads_ftype *f, void *arg);
+
 /* Makes sure that INF's thread list is synced with the actual process.  */
 int inf_update_procs (struct inf *inf);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnu-v2-abi.c ./gdb/gnu-v2-abi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnu-v2-abi.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnu-v2-abi.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Abstraction of GNU v2 abi.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Daniel Berlin <dberlin@redhat.com>
 
@@ -20,7 +20,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "value.h"
@@ -28,8 +27,6 @@
 #include "gdb-demangle.h"
 #include "cp-abi.h"
 #include "cp-support.h"
-#include "exceptions.h"
-
 #include <ctype.h>
 
 struct cp_abi_ops gnu_v2_abi_ops;
@@ -209,7 +206,7 @@ gnuv2_value_rtti_type (struct value *v, 
   known_type = value_type (v);
   CHECK_TYPEDEF (known_type);
   /* RTTI works only or class objects.  */
-  if (TYPE_CODE (known_type) != TYPE_CODE_CLASS)
+  if (TYPE_CODE (known_type) != TYPE_CODE_STRUCT)
     return NULL;
 
   /* Plan on this changing in the future as i get around to setting
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnu-v3-abi.c ./gdb/gnu-v3-abi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gnu-v3-abi.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gnu-v3-abi.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* Abstraction of GNU v3 abi.
    Contributed by Jim Blandy <jimb@redhat.com>
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,12 +26,8 @@
 #include "objfiles.h"
 #include "valprint.h"
 #include "c-lang.h"
-#include "exceptions.h"
 #include "typeprint.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 static struct cp_abi_ops gnu_v3_abi_ops;
 
 /* A gdbarch key for std::type_info, in the event that it can't be
@@ -292,7 +288,7 @@ gnuv3_rtti_type (struct value *value,
   char *atsign;
 
   /* We only have RTTI for class objects.  */
-  if (TYPE_CODE (values_type) != TYPE_CODE_CLASS)
+  if (TYPE_CODE (values_type) != TYPE_CODE_STRUCT)
     return NULL;
 
   /* Java doesn't have RTTI following the C++ ABI.  */
@@ -410,7 +406,7 @@ gnuv3_virtual_fn_field (struct value **v
   struct gdbarch *gdbarch;
 
   /* Some simple sanity checks.  */
-  if (TYPE_CODE (values_type) != TYPE_CODE_CLASS)
+  if (TYPE_CODE (values_type) != TYPE_CODE_STRUCT)
     error (_("Only classes can have virtual functions."));
 
   /* Determine architecture.  */
@@ -1105,7 +1101,7 @@ gnuv3_get_typeid (struct value *value)
 
   /* We check for lval_memory because in the "typeid (type-id)" case,
      the type is passed via a not_lval value object.  */
-  if (TYPE_CODE (type) == TYPE_CODE_CLASS
+  if (TYPE_CODE (type) == TYPE_CODE_STRUCT
       && value_lval_const (value) == lval_memory
       && gnuv3_dynamic_class (type))
     {
@@ -1281,10 +1277,14 @@ gnuv3_pass_by_reference (struct type *ty
 
   /* We're only interested in things that can have methods.  */
   if (TYPE_CODE (type) != TYPE_CODE_STRUCT
-      && TYPE_CODE (type) != TYPE_CODE_CLASS
       && TYPE_CODE (type) != TYPE_CODE_UNION)
     return 0;
 
+  /* A dynamic class has a non-trivial copy constructor.
+     See c++98 section 12.8 Copying class objects [class.copy].  */
+  if (gnuv3_dynamic_class (type))
+    return 1;
+
   for (fieldnum = 0; fieldnum < TYPE_NFN_FIELDS (type); fieldnum++)
     for (fieldelem = 0; fieldelem < TYPE_FN_FIELDLIST_LENGTH (type, fieldnum);
 	 fieldelem++)
@@ -1316,11 +1316,19 @@ gnuv3_pass_by_reference (struct type *ty
 
 	/* If this method takes two arguments, and the second argument is
 	   a reference to this class, then it is a copy constructor.  */
-	if (TYPE_NFIELDS (fieldtype) == 2
-	    && TYPE_CODE (TYPE_FIELD_TYPE (fieldtype, 1)) == TYPE_CODE_REF
-	    && check_typedef (TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (fieldtype,
-								 1))) == type)
-	  return 1;
+	if (TYPE_NFIELDS (fieldtype) == 2)
+	  {
+	    struct type *arg_type = TYPE_FIELD_TYPE (fieldtype, 1);
+
+	    if (TYPE_CODE (arg_type) == TYPE_CODE_REF)
+	      {
+		struct type *arg_target_type;
+
+	        arg_target_type = check_typedef (TYPE_TARGET_TYPE (arg_type));
+		if (class_types_same_p (arg_target_type, type))
+		  return 1;
+	      }
+	  }
       }
 
   /* Even if all the constructors and destructors were artificial, one
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go32-nat.c ./gdb/go32-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go32-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/go32-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Native debugging support for Intel x86 running DJGPP.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Written by Robert Hoehne.
 
    This file is part of GDB.
@@ -85,7 +85,7 @@
 
 #include <fcntl.h>
 
-#include "i386-nat.h"
+#include "x86-nat.h"
 #include "inferior.h"
 #include "infrun.h"
 #include "gdbthread.h"
@@ -97,18 +97,14 @@
 #include "buildsym.h"
 #include "i387-tdep.h"
 #include "i386-tdep.h"
-#include "i386-cpuid.h"
+#include "nat/x86-cpuid.h"
 #include "value.h"
 #include "regcache.h"
-#include <string.h>
 #include "top.h"
 #include "cli/cli-utils.h"
 #include "inf-child.h"
 
-#include <stdio.h>		/* might be required for __DJGPP_MINOR__ */
-#include <stdlib.h>
 #include <ctype.h>
-#include <errno.h>
 #include <unistd.h>
 #include <sys/utsname.h>
 #include <io.h>
@@ -642,6 +638,7 @@ go32_create_inferior (struct target_ops 
   char **env_save = environ;
   size_t cmdlen;
   struct inferior *inf;
+  int result;
 
   /* If no exec file handed to us, get it from the exec-file command -- with
      a good, common error message if none is specified.  */
@@ -693,15 +690,14 @@ go32_create_inferior (struct target_ops 
 
   environ = env;
 
-  if (v2loadimage (exec_file, cmdline, start_state))
-    {
-      environ = env_save;
-      printf_unfiltered ("Load failed for image %s\n", exec_file);
-      exit (1);
-    }
+  result = v2loadimage (exec_file, cmdline, start_state);
+
   environ = env_save;
   xfree (cmdline);
 
+  if (result != 0)
+    error (_("Load failed for image %s"), exec_file);
+
   edi_init (start_state);
 #if __DJGPP_MINOR__ < 3
   save_npx ();
@@ -716,7 +712,7 @@ go32_create_inferior (struct target_ops 
 
   add_thread_silent (inferior_ptid);
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
   insert_breakpoints ();
   prog_has_started = 1;
 }
@@ -739,7 +735,7 @@ go32_mourn_inferior (struct target_ops *
      be nice if GDB itself would take care to remove all breakpoints
      at all times, but it doesn't, probably under an assumption that
      the OS cleans up when the debuggee exits.  */
-  i386_cleanup_dregs ();
+  x86_cleanup_dregs ();
 
   ptid = inferior_ptid;
   inferior_ptid = null_ptid;
@@ -1087,12 +1083,12 @@ go32_sysinfo (char *arg, int from_tty)
     {
       /* CPUID with EAX = 0 returns the Vendor ID.  */
 #if 0
-      /* Ideally we would use i386_cpuid(), but it needs someone to run
+      /* Ideally we would use x86_cpuid(), but it needs someone to run
          native tests first to make sure things actually work.  They should.
          http://sourceware.org/ml/gdb-patches/2013-05/msg00164.html  */
       unsigned int eax, ebx, ecx, edx;
 
-      if (i386_cpuid (0, &eax, &ebx, &ecx, &edx))
+      if (x86_cpuid (0, &eax, &ebx, &ecx, &edx))
 	{
 	  cpuid_max = eax;
 	  memcpy (&vendor[0], &ebx, 4);
@@ -1145,7 +1141,7 @@ go32_sysinfo (char *arg, int from_tty)
 
 #if 0
       /* See comment above about cpuid usage.  */
-      i386_cpuid (1, &cpuid_eax, &cpuid_ebx, NULL, &cpuid_edx);
+      x86_cpuid (1, &cpuid_eax, &cpuid_ebx, NULL, &cpuid_edx);
 #else
       __asm__ __volatile__ ("movl   $1, %%eax;"
 			    "cpuid;"
@@ -2066,14 +2062,14 @@ _initialize_go32_nat (void)
 {
   struct target_ops *t = go32_target ();
 
-  i386_dr_low.set_control = go32_set_dr7;
-  i386_dr_low.set_addr = go32_set_dr;
-  i386_dr_low.get_status = go32_get_dr6;
-  i386_dr_low.get_control = go32_get_dr7;
-  i386_dr_low.get_addr = go32_get_dr;
-  i386_set_debug_register_length (4);
+  x86_dr_low.set_control = go32_set_dr7;
+  x86_dr_low.set_addr = go32_set_dr;
+  x86_dr_low.get_status = go32_get_dr6;
+  x86_dr_low.get_control = go32_get_dr7;
+  x86_dr_low.get_addr = go32_get_dr;
+  x86_set_debug_register_length (4);
 
-  i386_use_watchpoints (t);
+  x86_use_watchpoints (t);
   add_target (t);
 
   /* Initialize child's cwd as empty to be initialized when starting
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-exp.c ./gdb/go-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-exp.c	2015-01-13 02:06:41.000000000 +0000
+++ ./gdb/go-exp.c	2015-01-20 02:09:34.000000000 +0000
@@ -72,7 +72,6 @@
 
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
@@ -156,7 +155,7 @@ void yyerror (char *);
 
 
 /* Line 189 of yacc.c  */
-#line 160 "go-exp.c"
+#line 159 "go-exp.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -279,7 +278,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 143 "go-exp.y"
+#line 142 "go-exp.y"
 
     LONGEST lval;
     struct {
@@ -303,7 +302,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 307 "go-exp.c"
+#line 306 "go-exp.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -314,7 +313,7 @@ typedef union YYSTYPE
 /* Copy the second part of user declarations.  */
 
 /* Line 264 of yacc.c  */
-#line 164 "go-exp.y"
+#line 163 "go-exp.y"
 
 /* YYSTYPE gets defined by %union.  */
 static int parse_number (struct parser_state *,
@@ -324,7 +323,7 @@ static int parse_go_float (struct gdbarc
 
 
 /* Line 264 of yacc.c  */
-#line 328 "go-exp.c"
+#line 327 "go-exp.c"
 
 #ifdef short
 # undef short
@@ -636,13 +635,13 @@ static const yytype_int8 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   243,   243,   244,   247,   254,   255,   260,   264,   268,
-     272,   276,   280,   284,   288,   294,   300,   307,   317,   324,
-     321,   332,   336,   339,   343,   347,   351,   357,   363,   369,
-     373,   377,   381,   385,   389,   393,   397,   401,   405,   409,
-     413,   417,   421,   425,   429,   433,   437,   441,   445,   449,
-     453,   459,   466,   475,   488,   495,   498,   504,   519,   526,
-     543,   561,   573,   579,   585,   601,   656,   658,   665,   678
+       0,   242,   242,   243,   246,   253,   254,   259,   263,   267,
+     271,   275,   279,   283,   287,   293,   299,   306,   316,   323,
+     320,   331,   335,   338,   342,   346,   350,   356,   362,   368,
+     372,   376,   380,   384,   388,   392,   396,   400,   404,   408,
+     412,   416,   420,   424,   428,   432,   436,   440,   444,   448,
+     452,   458,   465,   474,   487,   494,   497,   503,   518,   525,
+     542,   560,   572,   578,   584,   600,   655,   657,   664,   677
 };
 #endif
 
@@ -1693,7 +1692,7 @@ yyreduce:
         case 4:
 
 /* Line 1455 of yacc.c  */
-#line 248 "go-exp.y"
+#line 247 "go-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPE);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].tval));
 			  write_exp_elt_opcode (pstate, OP_TYPE); }
@@ -1702,70 +1701,70 @@ yyreduce:
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 256 "go-exp.y"
+#line 255 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_COMMA); }
     break;
 
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 261 "go-exp.y"
+#line 260 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_IND); }
     break;
 
   case 8:
 
 /* Line 1455 of yacc.c  */
-#line 265 "go-exp.y"
+#line 264 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ADDR); }
     break;
 
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 269 "go-exp.y"
+#line 268 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_NEG); }
     break;
 
   case 10:
 
 /* Line 1455 of yacc.c  */
-#line 273 "go-exp.y"
+#line 272 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PLUS); }
     break;
 
   case 11:
 
 /* Line 1455 of yacc.c  */
-#line 277 "go-exp.y"
+#line 276 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
     break;
 
   case 12:
 
 /* Line 1455 of yacc.c  */
-#line 281 "go-exp.y"
+#line 280 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_COMPLEMENT); }
     break;
 
   case 13:
 
 /* Line 1455 of yacc.c  */
-#line 285 "go-exp.y"
+#line 284 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_POSTINCREMENT); }
     break;
 
   case 14:
 
 /* Line 1455 of yacc.c  */
-#line 289 "go-exp.y"
+#line 288 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_POSTDECREMENT); }
     break;
 
   case 15:
 
 /* Line 1455 of yacc.c  */
-#line 295 "go-exp.y"
+#line 294 "go-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(3) - (3)].ssym).stoken);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
@@ -1774,7 +1773,7 @@ yyreduce:
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 301 "go-exp.y"
+#line 300 "go-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(3) - (4)].ssym).stoken);
@@ -1784,7 +1783,7 @@ yyreduce:
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 308 "go-exp.y"
+#line 307 "go-exp.y"
     { struct stoken s;
 			  mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
@@ -1797,21 +1796,21 @@ yyreduce:
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 318 "go-exp.y"
+#line 317 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT); }
     break;
 
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 324 "go-exp.y"
+#line 323 "go-exp.y"
     { start_arglist (); }
     break;
 
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 326 "go-exp.y"
+#line 325 "go-exp.y"
     { write_exp_elt_opcode (pstate, OP_FUNCALL);
 			  write_exp_elt_longcst (pstate,
 						 (LONGEST) end_arglist ());
@@ -1821,35 +1820,35 @@ yyreduce:
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 333 "go-exp.y"
+#line 332 "go-exp.y"
     { start_arglist (); }
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 340 "go-exp.y"
+#line 339 "go-exp.y"
     { arglist_len = 1; }
     break;
 
   case 24:
 
 /* Line 1455 of yacc.c  */
-#line 344 "go-exp.y"
+#line 343 "go-exp.y"
     { arglist_len++; }
     break;
 
   case 25:
 
 /* Line 1455 of yacc.c  */
-#line 348 "go-exp.y"
+#line 347 "go-exp.y"
     { (yyval.lval) = end_arglist () - 1; }
     break;
 
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 352 "go-exp.y"
+#line 351 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_MEMVAL);
 			  write_exp_elt_type (pstate, (yyvsp[(2) - (4)].tval));
 			  write_exp_elt_opcode (pstate, UNOP_MEMVAL); }
@@ -1858,7 +1857,7 @@ yyreduce:
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 358 "go-exp.y"
+#line 357 "go-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAST);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (4)].tval));
 			  write_exp_elt_opcode (pstate, UNOP_CAST); }
@@ -1867,161 +1866,161 @@ yyreduce:
   case 28:
 
 /* Line 1455 of yacc.c  */
-#line 364 "go-exp.y"
+#line 363 "go-exp.y"
     { }
     break;
 
   case 29:
 
 /* Line 1455 of yacc.c  */
-#line 370 "go-exp.y"
+#line 369 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REPEAT); }
     break;
 
   case 30:
 
 /* Line 1455 of yacc.c  */
-#line 374 "go-exp.y"
+#line 373 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_MUL); }
     break;
 
   case 31:
 
 /* Line 1455 of yacc.c  */
-#line 378 "go-exp.y"
+#line 377 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_DIV); }
     break;
 
   case 32:
 
 /* Line 1455 of yacc.c  */
-#line 382 "go-exp.y"
+#line 381 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REM); }
     break;
 
   case 33:
 
 /* Line 1455 of yacc.c  */
-#line 386 "go-exp.y"
+#line 385 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ADD); }
     break;
 
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 390 "go-exp.y"
+#line 389 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUB); }
     break;
 
   case 35:
 
 /* Line 1455 of yacc.c  */
-#line 394 "go-exp.y"
+#line 393 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LSH); }
     break;
 
   case 36:
 
 /* Line 1455 of yacc.c  */
-#line 398 "go-exp.y"
+#line 397 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_RSH); }
     break;
 
   case 37:
 
 /* Line 1455 of yacc.c  */
-#line 402 "go-exp.y"
+#line 401 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EQUAL); }
     break;
 
   case 38:
 
 /* Line 1455 of yacc.c  */
-#line 406 "go-exp.y"
+#line 405 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
     break;
 
   case 39:
 
 /* Line 1455 of yacc.c  */
-#line 410 "go-exp.y"
+#line 409 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LEQ); }
     break;
 
   case 40:
 
 /* Line 1455 of yacc.c  */
-#line 414 "go-exp.y"
+#line 413 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GEQ); }
     break;
 
   case 41:
 
 /* Line 1455 of yacc.c  */
-#line 418 "go-exp.y"
+#line 417 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LESS); }
     break;
 
   case 42:
 
 /* Line 1455 of yacc.c  */
-#line 422 "go-exp.y"
+#line 421 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GTR); }
     break;
 
   case 43:
 
 /* Line 1455 of yacc.c  */
-#line 426 "go-exp.y"
+#line 425 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
     break;
 
   case 44:
 
 /* Line 1455 of yacc.c  */
-#line 430 "go-exp.y"
+#line 429 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
     break;
 
   case 45:
 
 /* Line 1455 of yacc.c  */
-#line 434 "go-exp.y"
+#line 433 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
     break;
 
   case 46:
 
 /* Line 1455 of yacc.c  */
-#line 438 "go-exp.y"
+#line 437 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
     break;
 
   case 47:
 
 /* Line 1455 of yacc.c  */
-#line 442 "go-exp.y"
+#line 441 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
     break;
 
   case 48:
 
 /* Line 1455 of yacc.c  */
-#line 446 "go-exp.y"
+#line 445 "go-exp.y"
     { write_exp_elt_opcode (pstate, TERNOP_COND); }
     break;
 
   case 49:
 
 /* Line 1455 of yacc.c  */
-#line 450 "go-exp.y"
+#line 449 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
     break;
 
   case 50:
 
 /* Line 1455 of yacc.c  */
-#line 454 "go-exp.y"
+#line 453 "go-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY);
 			  write_exp_elt_opcode (pstate, (yyvsp[(2) - (3)].opcode));
 			  write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY); }
@@ -2030,7 +2029,7 @@ yyreduce:
   case 51:
 
 /* Line 1455 of yacc.c  */
-#line 460 "go-exp.y"
+#line 459 "go-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_int).type);
 			  write_exp_elt_longcst (pstate, (LONGEST)((yyvsp[(1) - (1)].typed_val_int).val));
@@ -2040,7 +2039,7 @@ yyreduce:
   case 52:
 
 /* Line 1455 of yacc.c  */
-#line 467 "go-exp.y"
+#line 466 "go-exp.y"
     {
 			  struct stoken_vector vec;
 			  vec.len = 1;
@@ -2052,7 +2051,7 @@ yyreduce:
   case 53:
 
 /* Line 1455 of yacc.c  */
-#line 476 "go-exp.y"
+#line 475 "go-exp.y"
     { YYSTYPE val;
 			  parse_number (pstate, (yyvsp[(1) - (1)].ssym).stoken.ptr,
 					(yyvsp[(1) - (1)].ssym).stoken.length, 0, &val);
@@ -2067,7 +2066,7 @@ yyreduce:
   case 54:
 
 /* Line 1455 of yacc.c  */
-#line 489 "go-exp.y"
+#line 488 "go-exp.y"
     { write_exp_elt_opcode (pstate, OP_DOUBLE);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_float).type);
 			  write_exp_elt_dblcst (pstate, (yyvsp[(1) - (1)].typed_val_float).dval);
@@ -2077,7 +2076,7 @@ yyreduce:
   case 56:
 
 /* Line 1455 of yacc.c  */
-#line 499 "go-exp.y"
+#line 498 "go-exp.y"
     {
 			  write_dollar_variable (pstate, (yyvsp[(1) - (1)].sval));
 			}
@@ -2086,7 +2085,7 @@ yyreduce:
   case 57:
 
 /* Line 1455 of yacc.c  */
-#line 505 "go-exp.y"
+#line 504 "go-exp.y"
     {
 			  /* TODO(dje): Go objects in structs.  */
 			  write_exp_elt_opcode (pstate, OP_LONG);
@@ -2104,7 +2103,7 @@ yyreduce:
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 520 "go-exp.y"
+#line 519 "go-exp.y"
     {
 			  /* TODO(dje): Go objects in structs.  */
 			  write_exp_elt_opcode (pstate, UNOP_SIZEOF);
@@ -2114,7 +2113,7 @@ yyreduce:
   case 59:
 
 /* Line 1455 of yacc.c  */
-#line 527 "go-exp.y"
+#line 526 "go-exp.y"
     {
 			  /* We copy the string here, and not in the
 			     lexer, to guarantee that we do not leak a
@@ -2135,7 +2134,7 @@ yyreduce:
   case 60:
 
 /* Line 1455 of yacc.c  */
-#line 544 "go-exp.y"
+#line 543 "go-exp.y"
     {
 			  /* Note that we NUL-terminate here, but just
 			     for convenience.  */
@@ -2156,7 +2155,7 @@ yyreduce:
   case 61:
 
 /* Line 1455 of yacc.c  */
-#line 562 "go-exp.y"
+#line 561 "go-exp.y"
     {
 			  int i;
 
@@ -2171,7 +2170,7 @@ yyreduce:
   case 62:
 
 /* Line 1455 of yacc.c  */
-#line 574 "go-exp.y"
+#line 573 "go-exp.y"
     { write_exp_elt_opcode (pstate, OP_BOOL);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(1) - (1)].lval));
 			  write_exp_elt_opcode (pstate, OP_BOOL); }
@@ -2180,7 +2179,7 @@ yyreduce:
   case 63:
 
 /* Line 1455 of yacc.c  */
-#line 580 "go-exp.y"
+#line 579 "go-exp.y"
     { write_exp_elt_opcode (pstate, OP_BOOL);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(1) - (1)].lval));
 			  write_exp_elt_opcode (pstate, OP_BOOL); }
@@ -2189,7 +2188,7 @@ yyreduce:
   case 64:
 
 /* Line 1455 of yacc.c  */
-#line 586 "go-exp.y"
+#line 585 "go-exp.y"
     { struct symbol *sym = (yyvsp[(1) - (2)].ssym).sym;
 
 			  if (sym == NULL
@@ -2208,7 +2207,7 @@ yyreduce:
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 602 "go-exp.y"
+#line 601 "go-exp.y"
     { struct symbol *sym = (yyvsp[(1) - (1)].ssym).sym;
 
 			  if (sym)
@@ -2258,21 +2257,21 @@ yyreduce:
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 657 "go-exp.y"
+#line 656 "go-exp.y"
     { (yyval.tval) = lookup_pointer_type ((yyvsp[(2) - (2)].tval)); }
     break;
 
   case 67:
 
 /* Line 1455 of yacc.c  */
-#line 659 "go-exp.y"
+#line 658 "go-exp.y"
     { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
     break;
 
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 666 "go-exp.y"
+#line 665 "go-exp.y"
     { (yyval.tval) = builtin_go_type (parse_gdbarch (pstate))
 			    ->builtin_uint8; }
     break;
@@ -2280,7 +2279,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 2285 "go-exp.c"
+#line 2284 "go-exp.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2492,7 +2491,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 688 "go-exp.y"
+#line 687 "go-exp.y"
 
 
 /* Wrapper on parse_c_float to get the type right for Go.  */
@@ -3264,9 +3263,9 @@ classify_name (struct parser_state *par_
   copy = copy_name (yylval.sval);
 
   /* Try primitive types first so they win over bad/weird debug info.  */
-  type = language_lookup_primitive_type_by_name (parse_language (par_state),
-						 parse_gdbarch (par_state),
-						 copy);
+  type = language_lookup_primitive_type (parse_language (par_state),
+					 parse_gdbarch (par_state),
+					 copy);
   if (type != NULL)
     {
       /* NOTE: We take advantage of the fact that yylval coming in was a
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-exp.y ./gdb/go-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-exp.y	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/go-exp.y	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* YACC parser for Go expressions, for GDB.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -52,7 +52,6 @@
 %{
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
@@ -1456,9 +1455,9 @@ classify_name (struct parser_state *par_
   copy = copy_name (yylval.sval);
 
   /* Try primitive types first so they win over bad/weird debug info.  */
-  type = language_lookup_primitive_type_by_name (parse_language (par_state),
-						 parse_gdbarch (par_state),
-						 copy);
+  type = language_lookup_primitive_type (parse_language (par_state),
+					 parse_gdbarch (par_state),
+					 copy);
   if (type != NULL)
     {
       /* NOTE: We take advantage of the fact that yylval coming in was a
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-lang.c ./gdb/go-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/go-lang.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Go language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,9 +32,7 @@
 */
 
 #include "defs.h"
-#include "gdb_assert.h"
 #include "gdb_obstack.h"
-#include <string.h>
 #include "block.h"
 #include "symtab.h"
 #include "language.h"
@@ -599,6 +597,8 @@ static const struct language_defn go_lan
   NULL,
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-lang.h ./gdb/go-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-lang.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/go-lang.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Go language support definitions for GDB, the GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-typeprint.c ./gdb/go-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-typeprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/go-typeprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing Go types for GDB, the GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-valprint.c ./gdb/go-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/go-valprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/go-valprint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing Go values for GDB, the GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gregset.h ./gdb/gregset.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/gregset.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/gregset.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface for functions using gregset and fpregset types.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/guile.c ./gdb/guile/guile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/guile.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/guile.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* General GDB/Guile code.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,7 +21,6 @@
    conventions, et.al.  */
 
 #include "defs.h"
-#include <string.h>
 #include "breakpoint.h"
 #include "cli/cli-cmds.h"
 #include "cli/cli-script.h"
@@ -302,7 +301,7 @@ gdbscm_source_script (const struct exten
     }
 }
 
-/* (execute string [#:from-tty boolean] [#:to-string boolean\
+/* (execute string [#:from-tty boolean] [#:to-string boolean])
    A Scheme function which evaluates a string using the gdb CLI.  */
 
 static SCM
@@ -463,7 +462,7 @@ info_guile_command (char *args, int from
 {
   printf_unfiltered (_("\"info guile\" must be followed"
 		       " by the name of an info command.\n"));
-  help_list (info_guile_list, "info guile ", -1, gdb_stdout);
+  help_list (info_guile_list, "info guile ", all_commands, gdb_stdout);
 }
 
 /* Initialization.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/guile.h ./gdb/guile/guile.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/guile.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/guile.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* General GDB/Scheme code.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/guile-internal.h ./gdb/guile/guile-internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/guile-internal.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/guile-internal.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Internal header for GDB/Scheme code.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/boot.scm ./gdb/guile/lib/gdb/boot.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/boot.scm	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/lib/gdb/boot.scm	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 ;; Bootstrap the Scheme side of the gdb module.
 ;;
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GDB.
 ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/experimental.scm ./gdb/guile/lib/gdb/experimental.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/experimental.scm	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/lib/gdb/experimental.scm	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 ;; Various experimental utilities.
 ;; Anything in this file can change or disappear.
 ;;
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GDB.
 ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/init.scm ./gdb/guile/lib/gdb/init.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/init.scm	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/lib/gdb/init.scm	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 ;; Scheme side of the gdb module.
 ;;
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GDB.
 ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/iterator.scm ./gdb/guile/lib/gdb/iterator.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/iterator.scm	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/lib/gdb/iterator.scm	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 ;; Iteration utilities.
 ;; Anything in this file can change or disappear.
 ;;
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GDB.
 ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/printing.scm ./gdb/guile/lib/gdb/printing.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/printing.scm	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/lib/gdb/printing.scm	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 ;; Additional pretty-printer support.
 ;;
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GDB.
 ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/support.scm ./gdb/guile/lib/gdb/support.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/support.scm	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/lib/gdb/support.scm	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 ;; Internal support routines.
 ;;
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GDB.
 ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/types.scm ./gdb/guile/lib/gdb/types.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb/types.scm	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/lib/gdb/types.scm	2015-01-20 02:05:38.000000000 +0000
@@ -1,5 +1,5 @@
 ;; Type utilities.
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
 ;;
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb.scm ./gdb/guile/lib/gdb.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/lib/gdb.scm	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/lib/gdb.scm	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 ;; Scheme side of the gdb module.
 ;;
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GDB.
 ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-arch.c ./gdb/guile/scm-arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-arch.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-arch.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to architecture.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-auto-load.c ./gdb/guile/scm-auto-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-auto-load.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-auto-load.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB routines for supporting auto-loaded Guile scripts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,9 +18,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "top.h"
-#include "exceptions.h"
 #include "gdbcmd.h"
 #include "objfiles.h"
 #include "cli/cli-cmds.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-block.c ./gdb/guile/scm-block.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-block.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-block.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to blocks.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -542,17 +542,19 @@ bkscm_print_block_syms_progress_smob (SC
 	case GLOBAL_BLOCK:
 	case STATIC_BLOCK:
 	  {
-	    struct symtab *s;
+	    struct compunit_symtab *cust;
 
 	    gdbscm_printf (port, " %s", 
 			   i_smob->iter.which == GLOBAL_BLOCK
 			   ? "global" : "static");
 	    if (i_smob->iter.idx != -1)
 	      gdbscm_printf (port, " @%d", i_smob->iter.idx);
-	    s = (i_smob->iter.idx == -1
-		 ? i_smob->iter.d.symtab
-		 : i_smob->iter.d.symtab->includes[i_smob->iter.idx]);
-	    gdbscm_printf (port, " %s", symtab_to_filename_for_display (s));
+	    cust = (i_smob->iter.idx == -1
+		    ? i_smob->iter.d.compunit_symtab
+		    : i_smob->iter.d.compunit_symtab->includes[i_smob->iter.idx]);
+	    gdbscm_printf (port, " %s",
+			   symtab_to_filename_for_display
+			     (compunit_primary_filetab (cust)));
 	    break;
 	  }
 	case FIRST_LOCAL_BLOCK:
@@ -674,31 +676,29 @@ static SCM
 gdbscm_lookup_block (SCM pc_scm)
 {
   CORE_ADDR pc;
-  struct block *block = NULL;
-  struct obj_section *section = NULL;
-  struct symtab *symtab = NULL;
+  const struct block *block = NULL;
+  struct compunit_symtab *cust = NULL;
   volatile struct gdb_exception except;
 
   gdbscm_parse_function_args (FUNC_NAME, SCM_ARG1, NULL, "U", pc_scm, &pc);
 
   TRY_CATCH (except, RETURN_MASK_ALL)
     {
-      section = find_pc_mapped_section (pc);
-      symtab = find_pc_sect_symtab (pc, section);
+      cust = find_pc_compunit_symtab (pc);
 
-      if (symtab != NULL && symtab->objfile != NULL)
+      if (cust != NULL && COMPUNIT_OBJFILE (cust) != NULL)
 	block = block_for_pc (pc);
     }
   GDBSCM_HANDLE_GDB_EXCEPTION (except);
 
-  if (symtab == NULL || symtab->objfile == NULL)
+  if (cust == NULL || COMPUNIT_OBJFILE (cust) == NULL)
     {
       gdbscm_out_of_range_error (FUNC_NAME, SCM_ARG1, pc_scm,
 				 _("cannot locate object file for block"));
     }
 
   if (block != NULL)
-    return bkscm_scm_from_block (block, symtab->objfile);
+    return bkscm_scm_from_block (block, COMPUNIT_OBJFILE (cust));
   return SCM_BOOL_F;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-breakpoint.c ./gdb/guile/scm-breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-breakpoint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-breakpoint.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to breakpoints.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 
 #include "defs.h"
 #include "value.h"
-#include "exceptions.h"
 #include "breakpoint.h"
 #include "gdbcmd.h"
 #include "gdbthread.h"
@@ -152,7 +151,6 @@ bpscm_enable_state_to_string (enum enabl
     case bp_disabled: return "disabled";
     case bp_enabled: return "enabled";
     case bp_call_disabled: return "call_disabled";
-    case bp_permanent: return "permanent";
     default: return "unknown";
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-cmd.c ./gdb/guile/scm-cmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-cmd.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-cmd.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB commands implemented in Scheme.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 
 #include "defs.h"
 #include <ctype.h>
-#include "exceptions.h"
 #include "charset.h"
 #include "gdbcmd.h"
 #include "cli/cli-decode.h"
@@ -290,8 +289,8 @@ cmdscm_destroyer (struct cmd_list_elemen
 
   /* We allocated the name, doc string, and perhaps the prefix name.  */
   xfree ((char *) self->name);
-  xfree (self->doc);
-  xfree (self->prefixname);
+  xfree ((char *) self->doc);
+  xfree ((char *) self->prefixname);
 }
 
 /* Called by gdb to invoke the command.  */
@@ -531,7 +530,7 @@ gdbscm_parse_command_name (const char *n
 
   prefix_text2 = prefix_text;
   elt = lookup_cmd_1 (&prefix_text2, *start_list, NULL, 1);
-  if (!elt || elt == (struct cmd_list_element *) -1)
+  if (elt == NULL || elt == CMD_LIST_AMBIGUOUS)
     {
       msg = xstrprintf (_("could not find command prefix '%s'"), prefix_text);
       xfree (prefix_text);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-disasm.c ./gdb/guile/scm-disasm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-disasm.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-disasm.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to architecture.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-exception.c ./gdb/guile/scm-exception.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-exception.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-exception.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB/Scheme exception support.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,7 +30,6 @@
 
 #include "defs.h"
 #include <signal.h>
-#include "gdb_assert.h"
 #include "guile-internal.h"
 
 /* The <gdb:exception> smob.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-frame.c ./gdb/guile/scm-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-frame.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-frame.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to stack frames.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,7 +23,6 @@
 #include "defs.h"
 #include "block.h"
 #include "frame.h"
-#include "exceptions.h"
 #include "inferior.h"
 #include "objfiles.h"
 #include "symfile.h"
@@ -576,7 +575,7 @@ static SCM
 gdbscm_frame_block (SCM self)
 {
   frame_smob *f_smob;
-  struct block *block = NULL, *fn_block;
+  const struct block *block = NULL, *fn_block;
   struct frame_info *frame = NULL;
   volatile struct gdb_exception except;
 
@@ -609,11 +608,8 @@ gdbscm_frame_block (SCM self)
 
   if (block != NULL)
     {
-      struct symtab *st;
-      SCM block_scm;
-
-      st = SYMBOL_SYMTAB (BLOCK_FUNCTION (fn_block));
-      return bkscm_scm_from_block (block, st->objfile);
+      return bkscm_scm_from_block
+	(block, symbol_objfile (BLOCK_FUNCTION (fn_block)));
     }
 
   return SCM_BOOL_F;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-gsmob.c ./gdb/guile/scm-gsmob.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-gsmob.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-gsmob.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB/Scheme smobs (gsmob is pronounced "jee smob")
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -43,7 +43,6 @@
 
 #include "defs.h"
 #include "hashtab.h"
-#include "gdb_assert.h"
 #include "objfiles.h"
 #include "guile-internal.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-iterator.c ./gdb/guile/scm-iterator.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-iterator.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-iterator.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simple iterators for GDB/Scheme.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-lazy-string.c ./gdb/guile/scm-lazy-string.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-lazy-string.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-lazy-string.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to lazy strings.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,10 +23,8 @@
 #include "defs.h"
 #include "charset.h"
 #include "value.h"
-#include "exceptions.h"
 #include "valprint.h"
 #include "language.h"
-#include "gdb_assert.h"
 #include "guile-internal.h"
 
 /* The <gdb:lazy-string> smob.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-math.c ./gdb/guile/scm-math.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-math.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-math.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB/Scheme support for math operations on values.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,7 +27,6 @@
 #include "doublest.h" /* Needed by dfp.h.  */
 #include "expression.h" /* Needed by dfp.h.  */
 #include "dfp.h"
-#include "gdb_assert.h"
 #include "symtab.h" /* Needed by language.h.  */
 #include "language.h"
 #include "valprint.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-objfile.c ./gdb/guile/scm-objfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-objfile.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-objfile.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to objfiles.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-param.c ./gdb/guile/scm-param.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-param.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-param.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB parameters implemented in Guile.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "value.h"
-#include "exceptions.h"
 #include "charset.h"
 #include "gdbcmd.h"
 #include "cli/cli-decode.h"
@@ -150,7 +149,7 @@ pascm_print_param_smob (SCM self, SCM po
   if (! pascm_is_valid (p_smob))
     scm_puts (" {invalid}", port);
 
-  gdbscm_printf (port, " %s", pascm_param_type_name (p_smob->type));
+  gdbscm_printf (port, " %s ", pascm_param_type_name (p_smob->type));
 
   value = pascm_param_value (p_smob->type, &p_smob->value,
 			     GDBSCM_ARG_NONE, NULL);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-ports.c ./gdb/guile/scm-ports.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-ports.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-ports.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,7 +1,7 @@
 /* Support for connecting Guile's stdio to GDB's.
    as well as r/w memory via ports.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-pretty-print.c ./gdb/guile/scm-pretty-print.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-pretty-print.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-pretty-print.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB/Scheme pretty-printing.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 
 #include "defs.h"
 #include "charset.h"
-#include "gdb_assert.h"
 #include "symtab.h" /* Needed by language.h.  */
 #include "language.h"
 #include "objfiles.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-progspace.c ./gdb/guile/scm-progspace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-progspace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-progspace.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Guile interface to program spaces.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-safe-call.c ./gdb/guile/scm-safe-call.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-safe-call.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-safe-call.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB/Scheme support for safe calls into the Guile interpreter.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 
 #include "defs.h"
 #include "filenames.h"
-#include "gdb_assert.h"
 #include "guile-internal.h"
 
 /* Struct to marshall args to scscm_safe_call_body.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-string.c ./gdb/guile/scm-string.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-string.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-string.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB/Scheme charset interface.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,7 +21,6 @@
    conventions, et.al.  */
 
 #include "defs.h"
-#include <stdarg.h>
 #include "charset.h"
 #include "guile-internal.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-symbol.c ./gdb/guile/scm-symbol.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-symbol.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-symbol.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to symbols.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 
 #include "defs.h"
 #include "block.h"
-#include "exceptions.h"
 #include "frame.h"
 #include "symtab.h"
 #include "objfiles.h"
@@ -51,6 +50,13 @@ static SCM domain_keyword;
 static SCM frame_keyword;
 
 static const struct objfile_data *syscm_objfile_data_key;
+static struct gdbarch_data *syscm_gdbarch_data_key;
+
+struct syscm_gdbarch_data
+{
+  /* Hash table to implement eqable gdbarch symbols.  */
+  htab_t htab;
+};
 
 /* Administrivia for symbol smobs.  */
 
@@ -76,20 +82,44 @@ syscm_eq_symbol_smob (const void *ap, co
 	  && a->symbol != NULL);
 }
 
+static void *
+syscm_init_arch_symbols (struct gdbarch *gdbarch)
+{
+  struct syscm_gdbarch_data *data
+    = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct syscm_gdbarch_data);
+
+  data->htab = gdbscm_create_eqable_gsmob_ptr_map (syscm_hash_symbol_smob,
+						   syscm_eq_symbol_smob);
+  return data;
+}
+
 /* Return the struct symbol pointer -> SCM mapping table.
    It is created if necessary.  */
 
 static htab_t
-syscm_objfile_symbol_map (struct symbol *symbol)
+syscm_get_symbol_map (struct symbol *symbol)
 {
-  struct objfile *objfile = SYMBOL_SYMTAB (symbol)->objfile;
-  htab_t htab = objfile_data (objfile, syscm_objfile_data_key);
+  htab_t htab;
 
-  if (htab == NULL)
+  if (SYMBOL_OBJFILE_OWNED (symbol))
     {
-      htab = gdbscm_create_eqable_gsmob_ptr_map (syscm_hash_symbol_smob,
-						 syscm_eq_symbol_smob);
-      set_objfile_data (objfile, syscm_objfile_data_key, htab);
+      struct objfile *objfile = symbol_objfile (symbol);
+
+      htab = objfile_data (objfile, syscm_objfile_data_key);
+      if (htab == NULL)
+	{
+	  htab = gdbscm_create_eqable_gsmob_ptr_map (syscm_hash_symbol_smob,
+						     syscm_eq_symbol_smob);
+	  set_objfile_data (objfile, syscm_objfile_data_key, htab);
+	}
+    }
+  else
+    {
+      struct gdbarch *gdbarch = symbol_arch (symbol);
+      struct syscm_gdbarch_data *data = gdbarch_data (gdbarch,
+						      syscm_gdbarch_data_key);
+
+      htab = data->htab;
     }
 
   return htab;
@@ -104,7 +134,7 @@ syscm_free_symbol_smob (SCM self)
 
   if (s_smob->symbol != NULL)
     {
-      htab_t htab = syscm_objfile_symbol_map (s_smob->symbol);
+      htab_t htab = syscm_get_symbol_map (s_smob->symbol);
 
       gdbscm_clear_eqable_gsmob_ptr_slot (htab, &s_smob->base);
     }
@@ -182,7 +212,7 @@ syscm_scm_from_symbol (struct symbol *sy
 
   /* If we've already created a gsmob for this symbol, return it.
      This makes symbols eq?-able.  */
-  htab = syscm_objfile_symbol_map (symbol);
+  htab = syscm_get_symbol_map (symbol);
   s_smob_for_lookup.symbol = symbol;
   slot = gdbscm_find_eqable_gsmob_ptr_slot (htab, &s_smob_for_lookup.base);
   if (*slot != NULL)
@@ -320,8 +350,9 @@ gdbscm_symbol_type (SCM self)
   return tyscm_scm_from_type (SYMBOL_TYPE (symbol));
 }
 
-/* (symbol-symtab <gdb:symbol>) -> <gdb:symtab>
-   Return the symbol table of SELF.  */
+/* (symbol-symtab <gdb:symbol>) -> <gdb:symtab> | #f
+   Return the symbol table of SELF.
+   If SELF does not have a symtab (it is arch-owned) return #f.  */
 
 static SCM
 gdbscm_symbol_symtab (SCM self)
@@ -330,7 +361,9 @@ gdbscm_symbol_symtab (SCM self)
     = syscm_get_valid_symbol_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
   const struct symbol *symbol = s_smob->symbol;
 
-  return stscm_scm_from_symtab (SYMBOL_SYMTAB (symbol));
+  if (!SYMBOL_OBJFILE_OWNED (symbol))
+    return SCM_BOOL_F;
+  return stscm_scm_from_symtab (symbol_symtab (symbol));
 }
 
 /* (symbol-name <gdb:symbol>) -> string */
@@ -608,7 +641,7 @@ gdbscm_lookup_global_symbol (SCM name_sc
 
   TRY_CATCH (except, RETURN_MASK_ALL)
     {
-      symbol = lookup_symbol_global (name, NULL, domain);
+      symbol = lookup_global_symbol (name, NULL, domain);
     }
   do_cleanups (cleanups);
   GDBSCM_HANDLE_GDB_EXCEPTION (except);
@@ -762,4 +795,8 @@ gdbscm_initialize_symbols (void)
      invalidate symbols when an object file is about to be deleted.  */
   syscm_objfile_data_key
     = register_objfile_data_with_cleanup (NULL, syscm_del_objfile_symbols);
+
+  /* Arch-specific symbol data.  */
+  syscm_gdbarch_data_key
+    = gdbarch_data_register_post_init (syscm_init_arch_symbols);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-symtab.c ./gdb/guile/scm-symtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-symtab.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-symtab.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to symbol tables.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -109,7 +109,7 @@ stscm_eq_symtab_smob (const void *ap, co
 static htab_t
 stscm_objfile_symtab_map (struct symtab *symtab)
 {
-  struct objfile *objfile = symtab->objfile;
+  struct objfile *objfile = SYMTAB_OBJFILE (symtab);
   htab_t htab = objfile_data (objfile, stscm_objfile_data_key);
 
   if (htab == NULL)
@@ -348,7 +348,7 @@ gdbscm_symtab_objfile (SCM self)
     = stscm_get_valid_symtab_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
   const struct symtab *symtab = st_smob->symtab;
 
-  return ofscm_scm_from_objfile (symtab->objfile);
+  return ofscm_scm_from_objfile (SYMTAB_OBJFILE (symtab));
 }
 
 /* (symtab-global-block <gdb:symtab>) -> <gdb:block>
@@ -363,10 +363,10 @@ gdbscm_symtab_global_block (SCM self)
   const struct blockvector *blockvector;
   const struct block *block;
 
-  blockvector = BLOCKVECTOR (symtab);
+  blockvector = SYMTAB_BLOCKVECTOR (symtab);
   block = BLOCKVECTOR_BLOCK (blockvector, GLOBAL_BLOCK);
 
-  return bkscm_scm_from_block (block, symtab->objfile);
+  return bkscm_scm_from_block (block, SYMTAB_OBJFILE (symtab));
 }
 
 /* (symtab-static-block <gdb:symtab>) -> <gdb:block>
@@ -381,10 +381,10 @@ gdbscm_symtab_static_block (SCM self)
   const struct blockvector *blockvector;
   const struct block *block;
 
-  blockvector = BLOCKVECTOR (symtab);
+  blockvector = SYMTAB_BLOCKVECTOR (symtab);
   block = BLOCKVECTOR_BLOCK (blockvector, STATIC_BLOCK);
 
-  return bkscm_scm_from_block (block, symtab->objfile);
+  return bkscm_scm_from_block (block, SYMTAB_OBJFILE (symtab));
 }
 
 /* Administrivia for sal (symtab-and-line) smobs.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-type.c ./gdb/guile/scm-type.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-type.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-type.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to types.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,7 +23,6 @@
 #include "defs.h"
 #include "arch-utils.h"
 #include "value.h"
-#include "exceptions.h"
 #include "gdbtypes.h"
 #include "objfiles.h"
 #include "language.h"
@@ -714,7 +713,7 @@ tyscm_array_1 (SCM self, SCM n1_scm, SCM
       n1 = 0;
     }
 
-  if (n2 < n1)
+  if (n2 < n1 - 1) /* Note: An empty array has n2 == n1 - 1.  */
     {
       gdbscm_out_of_range_error (func_name, SCM_ARG3,
 				 scm_cons (scm_from_long (n1),
@@ -1200,7 +1199,7 @@ gdbscm_field_baseclass_p (SCM self)
   struct field *field = tyscm_field_smob_to_field (f_smob);
   struct type *type = tyscm_field_smob_containing_type (f_smob);
 
-  if (TYPE_CODE (type) == TYPE_CODE_CLASS)
+  if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
     return scm_from_bool (f_smob->field_num < TYPE_N_BASECLASSES (type));
   return SCM_BOOL_F;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-utils.c ./gdb/guile/scm-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-utils.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-utils.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* General utility routines for GDB/Scheme code.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,9 +21,7 @@
    conventions, et.al.  */
 
 #include "defs.h"
-#include <stdarg.h>
 #include <stdint.h>
-#include "gdb_assert.h"
 #include "guile-internal.h"
 
 /* Define VARIABLES in the gdb module.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-value.c ./gdb/guile/scm-value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/guile/scm-value.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/guile/scm-value.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Scheme interface to values.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,7 +24,6 @@
 #include "arch-utils.h"
 #include "charset.h"
 #include "cp-abi.h"
-#include "gdb_assert.h"
 #include "infcall.h"
 #include "symtab.h" /* Needed by language.h.  */
 #include "language.h"
@@ -566,7 +565,7 @@ gdbscm_value_dynamic_type (SCM self)
 
       if (((TYPE_CODE (type) == TYPE_CODE_PTR)
 	   || (TYPE_CODE (type) == TYPE_CODE_REF))
-	  && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_CLASS))
+	  && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_STRUCT))
 	{
 	  struct value *target;
 	  int was_pointer = TYPE_CODE (type) == TYPE_CODE_PTR;
@@ -585,7 +584,7 @@ gdbscm_value_dynamic_type (SCM self)
 		type = lookup_reference_type (type);
 	    }
 	}
-      else if (TYPE_CODE (type) == TYPE_CODE_CLASS)
+      else if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
 	type = value_rtti_type (value, NULL, NULL, NULL);
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/h8300-tdep.c ./gdb/h8300-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/h8300-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/h8300-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-machine dependent code for Renesas H8/300, for GDB.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,7 +28,6 @@
 #include "regcache.h"
 #include "gdbcore.h"
 #include "objfiles.h"
-#include "gdb_assert.h"
 #include "dis-asm.h"
 #include "dwarf2-frame.h"
 #include "frame-base.h"
@@ -1257,14 +1256,6 @@ h8300_breakpoint_from_pc (struct gdbarch
   return breakpoint;
 }
 
-static void
-h8300_print_float_info (struct gdbarch *gdbarch, struct ui_file *file,
-			struct frame_info *frame, const char *args)
-{
-  fprintf_filtered (file, "\
-No floating-point info available for this processor.\n");
-}
-
 static struct gdbarch *
 h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 {
@@ -1376,7 +1367,6 @@ h8300_gdbarch_init (struct gdbarch_info 
   set_gdbarch_pc_regnum (gdbarch, E_PC_REGNUM);
   set_gdbarch_register_type (gdbarch, h8300_register_type);
   set_gdbarch_print_registers_info (gdbarch, h8300_print_registers_info);
-  set_gdbarch_print_float_info (gdbarch, h8300_print_float_info);
 
   /*
    * Frame Info
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppabsd-nat.c ./gdb/hppabsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppabsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppabsd-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for HP PA-RISC BSD's.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppabsd-tdep.c ./gdb/hppabsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppabsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppabsd-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for HP PA-RISC BSD's.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppabsd-tdep.h ./gdb/hppabsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppabsd-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppabsd-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for HP PA-RISC BSD's.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-hpux-nat.c ./gdb/hppa-hpux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-hpux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppa-hpux-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for PA-RISC HP-UX.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 #include "regcache.h"
 #include "target.h"
 
-#include "gdb_assert.h"
 #include <sys/ptrace.h>
 #include <sys/utsname.h>
 #include <machine/save_state.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-hpux-tdep.c ./gdb/hppa-hpux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-hpux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppa-hpux-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for HP-UX on PA-RISC.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -34,9 +34,6 @@
 #include "solib-pa64.h"
 #include "regset.h"
 #include "regcache.h"
-#include "exceptions.h"
-
-#include <string.h>
 
 #define IS_32BIT_TARGET(_gdbarch) \
 	((gdbarch_tdep (_gdbarch))->bytes_per_address == 4)
@@ -1373,15 +1370,14 @@ static const struct regset hppa_hpux_reg
   hppa_hpux_supply_save_state
 };
 
-static const struct regset *
-hppa_hpux_regset_from_core_section (struct gdbarch *gdbarch,
-				    const char *sect_name, size_t sect_size)
-{
-  if (strcmp (sect_name, ".reg") == 0
-      && sect_size >= HPPA_HPUX_PA89_SAVE_STATE_SIZE + 8)
-    return &hppa_hpux_regset;
-
-  return NULL;
+static void
+hppa_hpux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					iterate_over_regset_sections_cb *cb,
+					void *cb_data,
+					const struct regcache *regcache)
+{
+  cb (".reg", HPPA_HPUX_PA89_SAVE_STATE_SIZE + 8, &hppa_hpux_regset,
+      NULL, cb_data);
 }
 
 
@@ -1497,8 +1493,8 @@ hppa_hpux_init_abi (struct gdbarch_info 
   set_gdbarch_skip_permanent_breakpoint
     (gdbarch, hppa_skip_permanent_breakpoint);
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, hppa_hpux_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, hppa_hpux_iterate_over_regset_sections);
 
   frame_unwind_append_unwinder (gdbarch, &hppa_hpux_sigtramp_frame_unwind);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-linux-nat.c ./gdb/hppa-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppa-linux-nat.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Functions specific to running GDB native on HPPA running GNU/Linux.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 #include "defs.h"
 #include "gdbcore.h"
 #include "regcache.h"
-#include <string.h>
 #include "inferior.h"
 #include "target.h"
 #include "linux-nat.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-linux-offsets.h ./gdb/hppa-linux-offsets.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-linux-offsets.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppa-linux-offsets.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Register offsets for HPPA running GNU/Linux.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-linux-tdep.c ./gdb/hppa-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppa-linux-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux running on PA-RISC, for GDB.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -423,97 +423,66 @@ hppa_linux_find_global_pointer (struct g
  * cr10, cr15
  */
 
-#define GR_REGNUM(_n)	(HPPA_R0_REGNUM+_n)
-#define TR_REGNUM(_n)	(HPPA_TR0_REGNUM+_n)
-static const int greg_map[] =
+static const struct regcache_map_entry hppa_linux_gregmap[] =
   {
-    GR_REGNUM(0), GR_REGNUM(1), GR_REGNUM(2), GR_REGNUM(3),
-    GR_REGNUM(4), GR_REGNUM(5), GR_REGNUM(6), GR_REGNUM(7),
-    GR_REGNUM(8), GR_REGNUM(9), GR_REGNUM(10), GR_REGNUM(11),
-    GR_REGNUM(12), GR_REGNUM(13), GR_REGNUM(14), GR_REGNUM(15),
-    GR_REGNUM(16), GR_REGNUM(17), GR_REGNUM(18), GR_REGNUM(19),
-    GR_REGNUM(20), GR_REGNUM(21), GR_REGNUM(22), GR_REGNUM(23),
-    GR_REGNUM(24), GR_REGNUM(25), GR_REGNUM(26), GR_REGNUM(27),
-    GR_REGNUM(28), GR_REGNUM(29), GR_REGNUM(30), GR_REGNUM(31),
-
-    HPPA_SR4_REGNUM+1, HPPA_SR4_REGNUM+2, HPPA_SR4_REGNUM+3, HPPA_SR4_REGNUM+4,
-    HPPA_SR4_REGNUM, HPPA_SR4_REGNUM+5, HPPA_SR4_REGNUM+6, HPPA_SR4_REGNUM+7,
-
-    HPPA_PCOQ_HEAD_REGNUM, HPPA_PCOQ_TAIL_REGNUM,
-    HPPA_PCSQ_HEAD_REGNUM, HPPA_PCSQ_TAIL_REGNUM,
-
-    HPPA_SAR_REGNUM, HPPA_IIR_REGNUM, HPPA_ISR_REGNUM, HPPA_IOR_REGNUM,
-    HPPA_IPSW_REGNUM, HPPA_RCR_REGNUM,
-
-    TR_REGNUM(0), TR_REGNUM(1), TR_REGNUM(2), TR_REGNUM(3),
-    TR_REGNUM(4), TR_REGNUM(5), TR_REGNUM(6), TR_REGNUM(7),
-
-    HPPA_PID0_REGNUM, HPPA_PID1_REGNUM, HPPA_PID2_REGNUM, HPPA_PID3_REGNUM,
-    HPPA_CCR_REGNUM, HPPA_EIEM_REGNUM,
+    { 32, HPPA_R0_REGNUM },
+    { 1, HPPA_SR4_REGNUM+1 },
+    { 1, HPPA_SR4_REGNUM+2 },
+    { 1, HPPA_SR4_REGNUM+3 },
+    { 1, HPPA_SR4_REGNUM+4 },
+    { 1, HPPA_SR4_REGNUM },
+    { 1, HPPA_SR4_REGNUM+5 },
+    { 1, HPPA_SR4_REGNUM+6 },
+    { 1, HPPA_SR4_REGNUM+7 },
+    { 1, HPPA_PCOQ_HEAD_REGNUM },
+    { 1, HPPA_PCOQ_TAIL_REGNUM },
+    { 1, HPPA_PCSQ_HEAD_REGNUM },
+    { 1, HPPA_PCSQ_TAIL_REGNUM },
+    { 1, HPPA_SAR_REGNUM },
+    { 1, HPPA_IIR_REGNUM },
+    { 1, HPPA_ISR_REGNUM },
+    { 1, HPPA_IOR_REGNUM },
+    { 1, HPPA_IPSW_REGNUM },
+    { 1, HPPA_RCR_REGNUM },
+    { 8, HPPA_TR0_REGNUM },
+    { 4, HPPA_PID0_REGNUM },
+    { 1, HPPA_CCR_REGNUM },
+    { 1, HPPA_EIEM_REGNUM },
+    { 0 }
   };
 
-static void
-hppa_linux_supply_regset (const struct regset *regset,
-			  struct regcache *regcache,
-			  int regnum, const void *regs, size_t len)
-{
-  struct gdbarch *arch = get_regcache_arch (regcache);
-  struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
-  const char *buf = regs;
-  int i, offset;
-
-  offset = 0;
-  for (i = 0; i < ARRAY_SIZE (greg_map); i++)
-    {
-      if (regnum == greg_map[i] || regnum == -1)
-        regcache_raw_supply (regcache, greg_map[i], buf + offset);
-
-      offset += tdep->bytes_per_address;
-    }
-}
-
-static void
-hppa_linux_supply_fpregset (const struct regset *regset,
-			    struct regcache *regcache,
-			    int regnum, const void *regs, size_t len)
-{
-  const char *buf = regs;
-  int i, offset;
-
-  offset = 0;
-  for (i = 0; i < 64; i++)
-    {
-      if (regnum == HPPA_FP0_REGNUM + i || regnum == -1)
-        regcache_raw_supply (regcache, HPPA_FP0_REGNUM + i, 
-			     buf + offset);
-      offset += 4;
-    }
-}
+static const struct regcache_map_entry hppa_linux_fpregmap[] =
+  {
+    /* FIXME: Only works for 32-bit mode.  In 64-bit mode there should
+       be 32 fpregs, 8 bytes each.  */
+    { 64, HPPA_FP0_REGNUM, 4 },
+    { 0 }
+  };
 
 /* HPPA Linux kernel register set.  */
 static const struct regset hppa_linux_regset =
 {
-  NULL,
-  hppa_linux_supply_regset
+  hppa_linux_gregmap,
+  regcache_supply_regset, regcache_collect_regset
 };
 
 static const struct regset hppa_linux_fpregset =
 {
-  NULL,
-  hppa_linux_supply_fpregset
+  hppa_linux_fpregmap,
+  regcache_supply_regset, regcache_collect_regset
 };
 
-static const struct regset *
-hppa_linux_regset_from_core_section (struct gdbarch *gdbarch,
-				     const char *sect_name,
-				     size_t sect_size)
-{
-  if (strcmp (sect_name, ".reg") == 0)
-    return &hppa_linux_regset;
-  else if (strcmp (sect_name, ".reg2") == 0)
-    return &hppa_linux_fpregset;
+static void
+hppa_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					 iterate_over_regset_sections_cb *cb,
+					 void *cb_data,
+					 const struct regcache *regcache)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-  return NULL;
+  cb (".reg", 80 * tdep->bytes_per_address, &hppa_linux_regset,
+      NULL, cb_data);
+  cb (".reg2", 64 * 4, &hppa_linux_fpregset, NULL, cb_data);
 }
 
 
@@ -551,8 +520,8 @@ hppa_linux_init_abi (struct gdbarch_info
      more work in gcc and glibc first.  */
   set_gdbarch_long_double_bit (gdbarch, 64);
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, hppa_linux_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, hppa_linux_iterate_over_regset_sections);
 
   set_gdbarch_dwarf2_reg_to_regnum (gdbarch, hppa_dwarf_reg_to_regnum);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppanbsd-nat.c ./gdb/hppanbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppanbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppanbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for NetBSD/hppa.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppanbsd-tdep.c ./gdb/hppanbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppanbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppanbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/hppa
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,9 +25,6 @@
 #include "trad-frame.h"
 #include "tramp-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "hppa-tdep.h"
 #include "hppabsd-tdep.h"
 
@@ -187,17 +184,15 @@ static const struct regset hppanbsd_greg
   hppanbsd_supply_gregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over supported core file register note sections. */
 
-static const struct regset *
-hppanbsd_regset_from_core_section (struct gdbarch *gdbarch,
-				  const char *sect_name, size_t sect_size)
+static void
+hppanbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				       iterate_over_regset_sections_cb *cb,
+				       void *cb_data,
+				       const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= HPPANBSD_SIZEOF_GREGS)
-    return &hppanbsd_gregset;
-
-  return NULL;
+  cb (".reg", HPPANBSD_SIZEOF_GREGS, &hppanbsd_gregset, NULL, cb_data);
 }
 
 static void
@@ -207,8 +202,8 @@ hppanbsd_init_abi (struct gdbarch_info i
   hppabsd_init_abi (info, gdbarch);
 
   /* Core file support.  */
-  set_gdbarch_regset_from_core_section
-    (gdbarch, hppanbsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, hppanbsd_iterate_over_regset_sections);
 
   tramp_frame_prepend_unwinder (gdbarch, &hppanbsd_sigtramp_si4);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppaobsd-tdep.c ./gdb/hppaobsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppaobsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppaobsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/hppa
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,9 +22,6 @@
 #include "regcache.h"
 #include "regset.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "hppa-tdep.h"
 #include "hppabsd-tdep.h"
 
@@ -143,20 +140,16 @@ static const struct regset hppaobsd_fpre
   hppaobsd_supply_fpregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over supported core file register note sections. */
 
-static const struct regset *
-hppaobsd_regset_from_core_section (struct gdbarch *gdbarch,
-				  const char *sect_name, size_t sect_size)
+static void
+hppaobsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				       iterate_over_regset_sections_cb *cb,
+				       void *cb_data,
+				       const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= HPPAOBSD_SIZEOF_GREGS)
-    return &hppaobsd_gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size >= HPPAOBSD_SIZEOF_FPREGS)
-    return &hppaobsd_fpregset;
-
-  return NULL;
+  cb (".reg", HPPAOBSD_SIZEOF_GREGS, &hppaobsd_gregset, NULL, cb_data);
+  cb (".reg2", HPPAOBSD_SIZEOF_FPREGS, &hppaobsd_fpregset, NULL, cb_data);
 }
 
 
@@ -167,8 +160,8 @@ hppaobsd_init_abi (struct gdbarch_info i
   hppabsd_init_abi (info, gdbarch);
 
   /* Core file support.  */
-  set_gdbarch_regset_from_core_section
-    (gdbarch, hppaobsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, hppaobsd_iterate_over_regset_sections);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-tdep.c ./gdb/hppa-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppa-tdep.c	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the HP PA-RISC architecture.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    Contributed by the Center for Software Science at the
    University of Utah (pa-gdb-bugs@cs.utah.edu).
@@ -26,7 +26,6 @@
 #include "regcache.h"
 #include "completer.h"
 #include "osabi.h"
-#include "gdb_assert.h"
 #include "arch-utils.h"
 /* For argument passing to the inferior.  */
 #include "symtab.h"
@@ -221,7 +220,7 @@ record_text_segment_lowaddr (bfd *abfd, 
 static void
 internalize_unwinds (struct objfile *objfile, struct unwind_table_entry *table,
 		     asection *section, unsigned int entries,
-		     unsigned int size, CORE_ADDR text_offset)
+		     size_t size, CORE_ADDR text_offset)
 {
   /* We will read the unwind entries into temporary memory, then
      fill in the actual unwind table.  */
@@ -320,7 +319,7 @@ static void
 read_unwind_info (struct objfile *objfile)
 {
   asection *unwind_sec, *stub_unwind_sec;
-  unsigned unwind_size, stub_unwind_size, total_size;
+  size_t unwind_size, stub_unwind_size, total_size;
   unsigned index, unwind_entries;
   unsigned stub_entries, total_entries;
   CORE_ADDR text_offset;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-tdep.h ./gdb/hppa-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/hppa-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/hppa-tdep.h	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the HP PA-RISC architecture.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386bsd-nat.c ./gdb/i386bsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386bsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386bsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for modern i386 BSD's.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,9 +21,7 @@
 #include "inferior.h"
 #include "regcache.h"
 
-#include "gdb_assert.h"
 #include <signal.h>
-#include <stddef.h>
 #include <sys/types.h>
 #include <sys/ptrace.h>
 #include <machine/reg.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386bsd-nat.h ./gdb/i386bsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386bsd-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386bsd-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for modern i386 BSD's.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386bsd-tdep.c ./gdb/i386bsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386bsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386bsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for i386 BSD's.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,8 +24,6 @@
 #include "regcache.h"
 #include "osabi.h"
 
-#include <string.h>
-
 #include "i386-tdep.h"
 
 /* Support for signal handlers.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-cygwin-tdep.c ./gdb/i386-cygwin-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-cygwin-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-cygwin-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Cygwin running on i386's, for GDB.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "osabi.h"
-#include <string.h>
 #include "i386-tdep.h"
 #include "windows-tdep.h"
 #include "regset.h"
@@ -89,20 +88,6 @@ static int i386_windows_gregset_reg_offs
 
 #define I386_WINDOWS_SIZEOF_GREGSET 716
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
-
-static const struct regset *
-i386_windows_regset_from_core_section (struct gdbarch *gdbarch,
-				     const char *sect_name, size_t sect_size)
-{
-  if (strcmp (sect_name, ".reg") == 0
-      && sect_size == I386_WINDOWS_SIZEOF_GREGSET)
-    return &i386_gregset;
-
-  return NULL;
-}
-
 struct cpms_data
 {
   struct gdbarch *gdbarch;
@@ -236,9 +221,9 @@ i386_cygwin_init_abi (struct gdbarch_inf
   tdep->gregset_num_regs = ARRAY_SIZE (i386_windows_gregset_reg_offset);
   tdep->sizeof_gregset = I386_WINDOWS_SIZEOF_GREGSET;
 
+  tdep->sizeof_fpregset = 0;
+
   /* Core file support.  */
-  set_gdbarch_regset_from_core_section
-    (gdbarch, i386_windows_regset_from_core_section);
   set_gdbarch_core_xfer_shared_libraries
     (gdbarch, windows_core_xfer_shared_libraries);
   set_gdbarch_core_pid_to_str (gdbarch, i386_windows_core_pid_to_str);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-darwin-nat.c ./gdb/i386-darwin-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-darwin-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-darwin-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Darwin support for GDB, the GNU debugger.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    Contributed by Apple Computer, Inc.
 
@@ -27,14 +27,13 @@
 #include "objfiles.h"
 #include "gdbcmd.h"
 #include "regcache.h"
-#include "gdb_assert.h"
 #include "i386-tdep.h"
 #include "i387-tdep.h"
 #include "gdbarch.h"
 #include "arch-utils.h"
 #include "gdbcore.h"
 
-#include "i386-nat.h"
+#include "x86-nat.h"
 #include "darwin-nat.h"
 #include "i386-darwin-tdep.h"
 
@@ -74,6 +73,11 @@ i386_darwin_fetch_inferior_registers (st
 				 (unsigned long) current_thread);
 	      MACH_CHECK_ERROR (ret);
 	    }
+
+	  /* Some kernels don't sanitize the values.  */
+	  gp_regs.uts.ts64.__fs &= 0xffff;
+	  gp_regs.uts.ts64.__gs &= 0xffff;
+
 	  amd64_supply_native_gregset (regcache, &gp_regs.uts, -1);
           fetched++;
         }
@@ -184,6 +188,10 @@ i386_darwin_store_inferior_registers (st
 
 	  amd64_collect_native_gregset (regcache, &gp_regs.uts, regno);
 
+	  /* Some kernels don't sanitize the values.  */
+	  gp_regs.uts.ts64.__fs &= 0xffff;
+	  gp_regs.uts.ts64.__gs &= 0xffff;
+
           ret = thread_set_state (current_thread, x86_THREAD_STATE,
                                   (thread_state_t) &gp_regs,
                                   x86_THREAD_STATE_COUNT);
@@ -629,19 +637,19 @@ darwin_complete_target (struct target_op
   amd64_native_gregset32_num_regs = i386_darwin_thread_state_num_regs;
 #endif
 
-  i386_use_watchpoints (target);
+  x86_use_watchpoints (target);
 
-  i386_dr_low.set_control = i386_darwin_dr_set_control;
-  i386_dr_low.set_addr = i386_darwin_dr_set_addr;
-  i386_dr_low.get_addr = i386_darwin_dr_get_addr;
-  i386_dr_low.get_status = i386_darwin_dr_get_status;
-  i386_dr_low.get_control = i386_darwin_dr_get_control;
+  x86_dr_low.set_control = i386_darwin_dr_set_control;
+  x86_dr_low.set_addr = i386_darwin_dr_set_addr;
+  x86_dr_low.get_addr = i386_darwin_dr_get_addr;
+  x86_dr_low.get_status = i386_darwin_dr_get_status;
+  x86_dr_low.get_control = i386_darwin_dr_get_control;
 
   /* Let's assume that the kernel is 64 bits iff the executable is.  */
 #ifdef __x86_64__
-  i386_set_debug_register_length (8);
+  x86_set_debug_register_length (8);
 #else
-  i386_set_debug_register_length (4);
+  x86_set_debug_register_length (4);
 #endif
 
   target->to_fetch_registers = i386_darwin_fetch_inferior_registers;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-darwin-tdep.c ./gdb/i386-darwin-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-darwin-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-darwin-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Darwin support for GDB, the GNU debugger.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    Contributed by Apple Computer, Inc.
 
@@ -33,7 +33,6 @@
 #include "i386-tdep.h"
 #include "osabi.h"
 #include "ui-out.h"
-#include "gdb_assert.h"
 #include "i386-darwin-tdep.h"
 #include "solib.h"
 #include "solib-darwin.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-darwin-tdep.h ./gdb/i386-darwin-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-darwin-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-darwin-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Darwin x86.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-dicos-tdep.c ./gdb/i386-dicos-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-dicos-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-dicos-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for DICOS running on i386's, for GDB.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "osabi.h"
-#include <string.h>
 #include "dicos-tdep.h"
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386fbsd-nat.c ./gdb/i386fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386fbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386fbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for FreeBSD/i386.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,7 +28,7 @@
 
 #include "fbsd-nat.h"
 #include "i386-tdep.h"
-#include "i386-nat.h"
+#include "x86-nat.h"
 #include "i386bsd-nat.h"
 
 /* Resume execution of the inferior process.  If STEP is nonzero,
@@ -128,14 +128,14 @@ _initialize_i386fbsd_nat (void)
 
 #ifdef HAVE_PT_GETDBREGS
 
-  i386_use_watchpoints (t);
+  x86_use_watchpoints (t);
 
-  i386_dr_low.set_control = i386bsd_dr_set_control;
-  i386_dr_low.set_addr = i386bsd_dr_set_addr;
-  i386_dr_low.get_addr = i386bsd_dr_get_addr;
-  i386_dr_low.get_status = i386bsd_dr_get_status;
-  i386_dr_low.get_control = i386bsd_dr_get_control;
-  i386_set_debug_register_length (4);
+  x86_dr_low.set_control = i386bsd_dr_set_control;
+  x86_dr_low.set_addr = i386bsd_dr_set_addr;
+  x86_dr_low.get_addr = i386bsd_dr_get_addr;
+  x86_dr_low.get_status = i386bsd_dr_get_status;
+  x86_dr_low.get_control = i386bsd_dr_get_control;
+  x86_set_debug_register_length (4);
 
 #endif /* HAVE_PT_GETDBREGS */
 
@@ -143,7 +143,6 @@ _initialize_i386fbsd_nat (void)
   t->to_resume = i386fbsd_resume;
   t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
   t->to_find_memory_regions = fbsd_find_memory_regions;
-  t->to_make_corefile_notes = fbsd_make_corefile_notes;
   add_target (t);
 
   /* Support debugging kernel virtual memory images.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386fbsd-tdep.c ./gdb/i386fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386fbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386fbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for FreeBSD/i386.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,11 +23,10 @@
 #include "osabi.h"
 #include "regcache.h"
 
-#include "gdb_assert.h"
-
 #include "i386-tdep.h"
 #include "i387-tdep.h"
 #include "bsd-uthread.h"
+#include "fbsd-tdep.h"
 #include "solib-svr4.h"
 
 /* FreeBSD 3.0-RELEASE or later.  */
@@ -206,6 +205,9 @@ i386fbsd4_init_abi (struct gdbarch_info 
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  /* Generic FreeBSD support. */
+  fbsd_init_abi (info, gdbarch);
+
   /* Inherit stuff from older releases.  We assume that FreeBSD
      4.0-RELEASE always uses ELF.  */
   i386fbsd_init_abi (info, gdbarch);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386gnu-nat.c ./gdb/i386gnu-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386gnu-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386gnu-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low level interface to i386 running the GNU Hurd.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,15 +18,11 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "x86-nat.h"
 #include "inferior.h"
 #include "floatformat.h"
 #include "regcache.h"
 
-#include "gdb_assert.h"
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-
 #include <mach.h>
 #include <mach_error.h>
 #include <mach/message.h>
@@ -35,13 +31,9 @@
 #include "i386-tdep.h"
 
 #include "gnu-nat.h"
+#include "inf-child.h"
 #include "i387-tdep.h"
 
-#ifdef HAVE_SYS_PROCFS_H
-# include <sys/procfs.h>
-# include "gregset.h"
-#endif
-
 /* Offset to the thread_state_t location where REG is stored.  */
 #define REG_OFFSET(reg) offsetof (struct i386_thread_state, reg)
 
@@ -55,21 +47,7 @@ static int reg_offset[] =
   REG_OFFSET (ds), REG_OFFSET (es), REG_OFFSET (fs), REG_OFFSET (gs)
 };
 
-/* Offset to the greg_t location where REG is stored.  */
-#define CREG_OFFSET(reg) (REG_##reg * 4)
-
-/* At CREG_OFFSET[N] is the offset to the greg_t location where
-   the GDB register N is stored.  */
-static int creg_offset[] =
-{
-  CREG_OFFSET (EAX), CREG_OFFSET (ECX), CREG_OFFSET (EDX), CREG_OFFSET (EBX),
-  CREG_OFFSET (UESP), CREG_OFFSET (EBP), CREG_OFFSET (ESI), CREG_OFFSET (EDI),
-  CREG_OFFSET (EIP), CREG_OFFSET (EFL), CREG_OFFSET (CS), CREG_OFFSET (SS),
-  CREG_OFFSET (DS), CREG_OFFSET (ES), CREG_OFFSET (FS), CREG_OFFSET (GS)
-};
-
 #define REG_ADDR(state, regnum) ((char *)(state) + reg_offset[regnum])
-#define CREG_ADDR(state, regnum) ((const char *)(state) + creg_offset[regnum])
 
 
 /* Get the whole floating-point state of THREAD and record the values
@@ -103,24 +81,6 @@ fetch_fpregs (struct regcache *regcache,
     }
 }
 
-#ifdef HAVE_SYS_PROCFS_H
-/* These two calls are used by the core-regset.c code for
-   reading ELF core files.  */
-void
-supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregs)
-{
-  int i;
-  for (i = 0; i < I386_NUM_GREGS; i++)
-    regcache_raw_supply (regcache, i, CREG_ADDR (gregs, i));
-}
-
-void
-supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregs)
-{
-  i387_supply_fsave (regcache, -1, fpregs);
-}
-#endif
-
 /* Fetch register REGNO, or all regs if REGNO is -1.  */
 static void
 gnu_fetch_registers (struct target_ops *ops,
@@ -309,6 +269,142 @@ gnu_store_registers (struct target_ops *
     }
 }
 
+
+/* Support for debug registers.  */
+
+#ifdef i386_DEBUG_STATE
+/* Get debug registers for thread THREAD.  */
+
+static void
+i386_gnu_dr_get (struct i386_debug_state *regs, struct proc *thread)
+{
+  mach_msg_type_number_t count = i386_DEBUG_STATE_COUNT;
+  error_t err;
+
+  err = thread_get_state (thread->port, i386_DEBUG_STATE,
+			  (thread_state_t) regs, &count);
+  if (err != 0 || count != i386_DEBUG_STATE_COUNT)
+    warning (_("Couldn't fetch debug state from %s"),
+	     proc_string (thread));
+}
+
+/* Set debug registers for thread THREAD.  */
+
+static void
+i386_gnu_dr_set (const struct i386_debug_state *regs, struct proc *thread)
+{
+  error_t err;
+
+  err = thread_set_state (thread->port, i386_DEBUG_STATE,
+			  (thread_state_t) regs, i386_DEBUG_STATE_COUNT);
+  if (err != 0)
+    warning (_("Couldn't store debug state into %s"),
+	     proc_string (thread));
+}
+
+/* Set DR_CONTROL in THREAD.  */
+
+static void
+i386_gnu_dr_set_control_one (struct proc *thread, void *arg)
+{
+  unsigned long *control = arg;
+  struct i386_debug_state regs;
+
+  i386_gnu_dr_get (&regs, thread);
+  regs.dr[DR_CONTROL] = *control;
+  i386_gnu_dr_set (&regs, thread);
+}
+
+/* Set DR_CONTROL to CONTROL in all threads.  */
+
+static void
+i386_gnu_dr_set_control (unsigned long control)
+{
+  inf_update_procs (gnu_current_inf);
+  inf_threads (gnu_current_inf, i386_gnu_dr_set_control_one, &control);
+}
+
+/* Parameters to set a debugging address.  */
+
+struct reg_addr
+{
+  int regnum;		/* Register number (zero based).  */
+  CORE_ADDR addr;	/* Address.  */
+};
+
+/* Set address REGNUM (zero based) to ADDR in THREAD.  */
+
+static void
+i386_gnu_dr_set_addr_one (struct proc *thread, void *arg)
+{
+  struct reg_addr *reg_addr = arg;
+  struct i386_debug_state regs;
+
+  i386_gnu_dr_get (&regs, thread);
+  regs.dr[reg_addr->regnum] = reg_addr->addr;
+  i386_gnu_dr_set (&regs, thread);
+}
+
+/* Set address REGNUM (zero based) to ADDR in all threads.  */
+
+static void
+i386_gnu_dr_set_addr (int regnum, CORE_ADDR addr)
+{
+  struct reg_addr reg_addr;
+
+  gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
+
+  reg_addr.regnum = regnum;
+  reg_addr.addr = addr;
+
+  inf_update_procs (gnu_current_inf);
+  inf_threads (gnu_current_inf, i386_gnu_dr_set_addr_one, &reg_addr);
+}
+
+/* Get debug register REGNUM value from only the one LWP of PTID.  */
+
+static unsigned long
+i386_gnu_dr_get_reg (ptid_t ptid, int regnum)
+{
+  struct i386_debug_state regs;
+  struct proc *thread;
+
+  /* Make sure we know about new threads.  */
+  inf_update_procs (gnu_current_inf);
+
+  thread = inf_tid_to_thread (gnu_current_inf, ptid_get_lwp (ptid));
+  i386_gnu_dr_get (&regs, thread);
+
+  return regs.dr[regnum];
+}
+
+/* Return the inferior's debug register REGNUM.  */
+
+static CORE_ADDR
+i386_gnu_dr_get_addr (int regnum)
+{
+  gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
+
+  return i386_gnu_dr_get_reg (inferior_ptid, regnum);
+}
+
+/* Get DR_STATUS from only the one thread of INFERIOR_PTID.  */
+
+static unsigned long
+i386_gnu_dr_get_status (void)
+{
+  return i386_gnu_dr_get_reg (inferior_ptid, DR_STATUS);
+}
+
+/* Return the inferior's DR7 debug control register.  */
+
+static unsigned long
+i386_gnu_dr_get_control (void)
+{
+  return i386_gnu_dr_get_reg (inferior_ptid, DR_CONTROL);
+}
+#endif /* i386_DEBUG_STATE */
+
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 extern initialize_file_ftype _initialize_i386gnu_nat;
 
@@ -320,6 +416,18 @@ _initialize_i386gnu_nat (void)
   /* Fill in the generic GNU/Hurd methods.  */
   t = gnu_target ();
 
+#ifdef i386_DEBUG_STATE
+  x86_use_watchpoints (t);
+
+  x86_dr_low.set_control = i386_gnu_dr_set_control;
+  gdb_assert (DR_FIRSTADDR == 0 && DR_LASTADDR < i386_DEBUG_STATE_COUNT);
+  x86_dr_low.set_addr = i386_gnu_dr_set_addr;
+  x86_dr_low.get_addr = i386_gnu_dr_get_addr;
+  x86_dr_low.get_status = i386_gnu_dr_get_status;
+  x86_dr_low.get_control = i386_gnu_dr_get_control;
+  x86_set_debug_register_length (4);
+#endif /* i386_DEBUG_STATE */
+
   t->to_fetch_registers = gnu_fetch_registers;
   t->to_store_registers = gnu_store_registers;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386gnu-tdep.c ./gdb/i386gnu-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386gnu-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386gnu-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target-dependent code for the GNU Hurd.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,6 +22,27 @@
 
 #include "i386-tdep.h"
 
+/* From <sys/ucontext.h>.  */
+static int i386gnu_gregset_reg_offset[] =
+{
+  11 * 4,		/* %eax */
+  10 * 4,		/* %ecx */
+  9 * 4,		/* %edx */
+  8 * 4,		/* %ebx */
+  17 * 4,		/* %uesp */
+  6 * 4,		/* %ebp */
+  5 * 4,		/* %esi */
+  4 * 4,		/* %edi */
+  14 * 4,		/* %eip */
+  16 * 4,		/* %efl */
+  15 * 4,		/* %cs */
+  18 * 4,		/* %ss */
+  3 * 4,		/* %ds */
+  2 * 4,		/* %es */
+  1 * 4,		/* %fs */
+  0 * 4,		/* %gs */
+};
+
 static void
 i386gnu_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
@@ -33,6 +54,10 @@ i386gnu_init_abi (struct gdbarch_info in
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
 
+  tdep->gregset_reg_offset = i386gnu_gregset_reg_offset;
+  tdep->gregset_num_regs = ARRAY_SIZE (i386gnu_gregset_reg_offset);
+  tdep->sizeof_gregset = 19 * 4;
+
   tdep->jb_pc_offset = 20;	/* From <bits/setjmp.h>.  */
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-linux-nat.c ./gdb/i386-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for GNU/Linux i386.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,67 +18,22 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "i386-nat.h"
 #include "inferior.h"
 #include "gdbcore.h"
 #include "regcache.h"
-#include "regset.h"
-#include "target.h"
-#include "linux-nat.h"
-#include "linux-btrace.h"
-#include "btrace.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include "elf/common.h"
-#include <sys/uio.h>
 #include <sys/ptrace.h>
-#include <sys/user.h>
-#include <sys/procfs.h>
-
-#ifdef HAVE_SYS_REG_H
-#include <sys/reg.h>
-#endif
-
-#ifndef ORIG_EAX
-#define ORIG_EAX -1
-#endif
-
-#ifdef HAVE_SYS_DEBUGREG_H
-#include <sys/debugreg.h>
-#endif
-
-/* Prototypes for supply_gregset etc.  */
+#include <sys/uio.h>
 #include "gregset.h"
+#include "gdb_proc_service.h"
 
+#include "i386-linux-nat.h"
 #include "i387-tdep.h"
 #include "i386-tdep.h"
 #include "i386-linux-tdep.h"
+#include "x86-xstate.h"
 
-/* Defines ps_err_e, struct ps_prochandle.  */
-#include "gdb_proc_service.h"
-
-#include "i386-xstate.h"
-
-#ifndef PTRACE_GETREGSET
-#define PTRACE_GETREGSET	0x4204
-#endif
-
-#ifndef PTRACE_SETREGSET
-#define PTRACE_SETREGSET	0x4205
-#endif
-
-/* Per-thread arch-specific data we want to keep.  */
-
-struct arch_lwp_info
-{
-  /* Non-zero if our copy differs from what's recorded in the thread.  */
-  int debug_registers_changed;
-};
-
-/* Does the current host support PTRACE_GETREGSET?  */
-static int have_ptrace_getregset = -1;
-
+#include "x86-linux-nat.h"
 
 /* The register sets used in GNU/Linux ELF core-dumps are identical to
    the register sets in `struct user' that is used for a.out
@@ -367,7 +322,7 @@ store_fpregs (const struct regcache *reg
 static int
 fetch_xstateregs (struct regcache *regcache, int tid)
 {
-  char xstateregs[I386_XSTATE_MAX_SIZE];
+  char xstateregs[X86_XSTATE_MAX_SIZE];
   struct iovec iov;
 
   if (!have_ptrace_getregset)
@@ -390,7 +345,7 @@ fetch_xstateregs (struct regcache *regca
 static int
 store_xstateregs (const struct regcache *regcache, int tid, int regno)
 {
-  char xstateregs[I386_XSTATE_MAX_SIZE];
+  char xstateregs[X86_XSTATE_MAX_SIZE];
   struct iovec iov;
 
   if (!have_ptrace_getregset)
@@ -642,249 +597,22 @@ i386_linux_store_inferior_registers (str
 }
 
 
-/* Support for debug registers.  */
-
-/* Get debug register REGNUM value from only the one LWP of PTID.  */
-
-static unsigned long
-i386_linux_dr_get (ptid_t ptid, int regnum)
-{
-  int tid;
-  unsigned long value;
-
-  tid = ptid_get_lwp (ptid);
-  if (tid == 0)
-    tid = ptid_get_pid (ptid);
-
-  errno = 0;
-  value = ptrace (PTRACE_PEEKUSER, tid,
-		  offsetof (struct user, u_debugreg[regnum]), 0);
-  if (errno != 0)
-    perror_with_name (_("Couldn't read debug register"));
-
-  return value;
-}
-
-/* Set debug register REGNUM to VALUE in only the one LWP of PTID.  */
-
-static void
-i386_linux_dr_set (ptid_t ptid, int regnum, unsigned long value)
-{
-  int tid;
-
-  tid = ptid_get_lwp (ptid);
-  if (tid == 0)
-    tid = ptid_get_pid (ptid);
-
-  errno = 0;
-  ptrace (PTRACE_POKEUSER, tid,
-	  offsetof (struct user, u_debugreg[regnum]), value);
-  if (errno != 0)
-    perror_with_name (_("Couldn't write debug register"));
-}
-
-/* Return the inferior's debug register REGNUM.  */
-
-static CORE_ADDR
-i386_linux_dr_get_addr (int regnum)
-{
-  /* DR6 and DR7 are retrieved with some other way.  */
-  gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
-
-  return i386_linux_dr_get (inferior_ptid, regnum);
-}
-
-/* Return the inferior's DR7 debug control register.  */
-
-static unsigned long
-i386_linux_dr_get_control (void)
-{
-  return i386_linux_dr_get (inferior_ptid, DR_CONTROL);
-}
-
-/* Get DR_STATUS from only the one LWP of INFERIOR_PTID.  */
-
-static unsigned long
-i386_linux_dr_get_status (void)
-{
-  return i386_linux_dr_get (inferior_ptid, DR_STATUS);
-}
-
-/* Callback for iterate_over_lwps.  Update the debug registers of
-   LWP.  */
-
-static int
-update_debug_registers_callback (struct lwp_info *lwp, void *arg)
-{
-  if (lwp->arch_private == NULL)
-    lwp->arch_private = XCNEW (struct arch_lwp_info);
-
-  /* The actual update is done later just before resuming the lwp, we
-     just mark that the registers need updating.  */
-  lwp->arch_private->debug_registers_changed = 1;
-
-  /* If the lwp isn't stopped, force it to momentarily pause, so we
-     can update its debug registers.  */
-  if (!lwp->stopped)
-    linux_stop_lwp (lwp);
-
-  /* Continue the iteration.  */
-  return 0;
-}
-
-/* Set DR_CONTROL to ADDR in all LWPs of the current inferior.  */
-
-static void
-i386_linux_dr_set_control (unsigned long control)
-{
-  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
-
-  iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL);
-}
-
-/* Set address REGNUM (zero based) to ADDR in all LWPs of the current
-   inferior.  */
-
-static void
-i386_linux_dr_set_addr (int regnum, CORE_ADDR addr)
-{
-  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
-
-  gdb_assert (regnum >= 0 && regnum <= DR_LASTADDR - DR_FIRSTADDR);
-
-  iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL);
-}
-
-/* Called when resuming a thread.
-   If the debug regs have changed, update the thread's copies.  */
-
-static void
-i386_linux_prepare_to_resume (struct lwp_info *lwp)
-{
-  int clear_status = 0;
-
-  /* NULL means this is the main thread still going through the shell,
-     or, no watchpoint has been set yet.  In that case, there's
-     nothing to do.  */
-  if (lwp->arch_private == NULL)
-    return;
-
-  if (lwp->arch_private->debug_registers_changed)
-    {
-      struct i386_debug_reg_state *state
-	= i386_debug_reg_state (ptid_get_pid (lwp->ptid));
-      int i;
-
-      /* See amd64_linux_prepare_to_resume for Linux kernel note on
-	 i386_linux_dr_set calls ordering.  */
-
-      i386_linux_dr_set (lwp->ptid, DR_CONTROL, 0);
-
-      for (i = DR_FIRSTADDR; i <= DR_LASTADDR; i++)
-	if (state->dr_ref_count[i] > 0)
-	  {
-	    i386_linux_dr_set (lwp->ptid, i, state->dr_mirror[i]);
-
-	    /* If we're setting a watchpoint, any change the inferior
-	       had done itself to the debug registers needs to be
-	       discarded, otherwise, i386_stopped_data_address can get
-	       confused.  */
-	    clear_status = 1;
-	  }
-
-      if (state->dr_control_mirror != 0)
-	i386_linux_dr_set (lwp->ptid, DR_CONTROL, state->dr_control_mirror);
-
-      lwp->arch_private->debug_registers_changed = 0;
-    }
-
-  if (clear_status || lwp->stopped_by_watchpoint)
-    i386_linux_dr_set (lwp->ptid, DR_STATUS, 0);
-}
-
-static void
-i386_linux_new_thread (struct lwp_info *lp)
-{
-  struct arch_lwp_info *info = XCNEW (struct arch_lwp_info);
-
-  info->debug_registers_changed = 1;
-
-  lp->arch_private = info;
-}
-
-/* linux_nat_new_fork hook.   */
-
-static void
-i386_linux_new_fork (struct lwp_info *parent, pid_t child_pid)
-{
-  pid_t parent_pid;
-  struct i386_debug_reg_state *parent_state;
-  struct i386_debug_reg_state *child_state;
-
-  /* NULL means no watchpoint has ever been set in the parent.  In
-     that case, there's nothing to do.  */
-  if (parent->arch_private == NULL)
-    return;
-
-  /* Linux kernel before 2.6.33 commit
-     72f674d203cd230426437cdcf7dd6f681dad8b0d
-     will inherit hardware debug registers from parent
-     on fork/vfork/clone.  Newer Linux kernels create such tasks with
-     zeroed debug registers.
-
-     GDB core assumes the child inherits the watchpoints/hw
-     breakpoints of the parent, and will remove them all from the
-     forked off process.  Copy the debug registers mirrors into the
-     new process so that all breakpoints and watchpoints can be
-     removed together.  The debug registers mirror will become zeroed
-     in the end before detaching the forked off process, thus making
-     this compatible with older Linux kernels too.  */
-
-  parent_pid = ptid_get_pid (parent->ptid);
-  parent_state = i386_debug_reg_state (parent_pid);
-  child_state = i386_debug_reg_state (child_pid);
-  *child_state = *parent_state;
-}
-
-
-
 /* Called by libthread_db.  Returns a pointer to the thread local
    storage (or its descriptor).  */
 
 ps_err_e
-ps_get_thread_area (const struct ps_prochandle *ph, 
+ps_get_thread_area (const struct ps_prochandle *ph,
 		    lwpid_t lwpid, int idx, void **base)
 {
-  /* NOTE: cagney/2003-08-26: The definition of this buffer is found
-     in the kernel header <asm-i386/ldt.h>.  It, after padding, is 4 x
-     4 byte integers in size: `entry_number', `base_addr', `limit',
-     and a bunch of status bits.
-
-     The values returned by this ptrace call should be part of the
-     regcache buffer, and ps_get_thread_area should channel its
-     request through the regcache.  That way remote targets could
-     provide the value using the remote protocol and not this direct
-     call.
-
-     Is this function needed?  I'm guessing that the `base' is the
-     address of a descriptor that libthread_db uses to find the
-     thread local address base that GDB needs.  Perhaps that
-     descriptor is defined by the ABI.  Anyway, given that
-     libthread_db calls this function without prompting (gdb
-     requesting tls base) I guess it needs info in there anyway.  */
-  unsigned int desc[4];
-  gdb_assert (sizeof (int) == 4);
+  unsigned int base_addr;
+  ps_err_e result;
 
-#ifndef PTRACE_GET_THREAD_AREA
-#define PTRACE_GET_THREAD_AREA 25
-#endif
+  result = x86_linux_get_thread_area (lwpid, (void *) idx, &base_addr);
 
-  if (ptrace (PTRACE_GET_THREAD_AREA, lwpid,
-	      (void *) idx, (unsigned long) &desc) < 0)
-    return PS_ERR;
+  if (result == PS_OK)
+    *(int *) base = base_addr;
 
-  *(int *)base = desc[1];
-  return PS_OK;
+  return result;
 }
 
 
@@ -984,138 +712,7 @@ i386_linux_resume (struct target_ops *op
   if (ptrace (request, pid, 0, gdb_signal_to_host (signal)) == -1)
     perror_with_name (("ptrace"));
 }
-
-static void (*super_post_startup_inferior) (struct target_ops *self,
-					    ptid_t ptid);
-
-static void
-i386_linux_child_post_startup_inferior (struct target_ops *self, ptid_t ptid)
-{
-  i386_cleanup_dregs ();
-  super_post_startup_inferior (self, ptid);
-}
-
-/* Get Linux/x86 target description from running target.  */
-
-static const struct target_desc *
-i386_linux_read_description (struct target_ops *ops)
-{
-  int tid;
-  static uint64_t xcr0;
-
-  /* GNU/Linux LWP ID's are process ID's.  */
-  tid = ptid_get_lwp (inferior_ptid);
-  if (tid == 0)
-    tid = ptid_get_pid (inferior_ptid); /* Not a threaded program.  */
-
-#ifdef HAVE_PTRACE_GETFPXREGS
-  if (have_ptrace_getfpxregs == -1)
-    {
-      elf_fpxregset_t fpxregs;
-
-      if (ptrace (PTRACE_GETFPXREGS, tid, 0, (int) &fpxregs) < 0)
-	{
-	  have_ptrace_getfpxregs = 0;
-	  have_ptrace_getregset = 0;
-	  return tdesc_i386_mmx_linux;
-	}
-    }
-#endif
-
-  if (have_ptrace_getregset == -1)
-    {
-      uint64_t xstateregs[(I386_XSTATE_SSE_SIZE / sizeof (uint64_t))];
-      struct iovec iov;
-
-      iov.iov_base = xstateregs;
-      iov.iov_len = sizeof (xstateregs);
-
-      /* Check if PTRACE_GETREGSET works.  */
-      if (ptrace (PTRACE_GETREGSET, tid, (unsigned int) NT_X86_XSTATE,
-		  &iov) < 0)
-	have_ptrace_getregset = 0;
-      else
-	{
-	  have_ptrace_getregset = 1;
-
-	  /* Get XCR0 from XSAVE extended state.  */
-	  xcr0 = xstateregs[(I386_LINUX_XSAVE_XCR0_OFFSET
-			     / sizeof (long long))];
-	}
-    }
-
-  /* Check the native XCR0 only if PTRACE_GETREGSET is available.  */
-  if (have_ptrace_getregset)
-    {
-      switch ((xcr0 & I386_XSTATE_ALL_MASK))
-	{
-	case I386_XSTATE_MPX_AVX512_MASK:
-	case I386_XSTATE_AVX512_MASK:
-	  return tdesc_i386_avx512_linux;
-	case I386_XSTATE_MPX_MASK:
-	  return tdesc_i386_mpx_linux;
-	case I386_XSTATE_AVX_MASK:
-	  return tdesc_i386_avx_linux;
-	default:
-	  return tdesc_i386_linux;
-	}
-    }
-  else
-    return tdesc_i386_linux;
-}
-
-/* Enable branch tracing.  */
-
-static struct btrace_target_info *
-i386_linux_enable_btrace (struct target_ops *self, ptid_t ptid)
-{
-  struct btrace_target_info *tinfo;
-  struct gdbarch *gdbarch;
-
-  errno = 0;
-  tinfo = linux_enable_btrace (ptid);
-
-  if (tinfo == NULL)
-    error (_("Could not enable branch tracing for %s: %s."),
-	   target_pid_to_str (ptid), safe_strerror (errno));
-
-  /* Fill in the size of a pointer in bits.  */
-  gdbarch = target_thread_architecture (ptid);
-  tinfo->ptr_bits = gdbarch_ptr_bit (gdbarch);
-
-  return tinfo;
-}
-
-/* Disable branch tracing.  */
-
-static void
-i386_linux_disable_btrace (struct target_ops *self,
-			   struct btrace_target_info *tinfo)
-{
-  enum btrace_error errcode = linux_disable_btrace (tinfo);
-
-  if (errcode != BTRACE_ERR_NONE)
-    error (_("Could not disable branch tracing."));
-}
-
-/* Teardown branch tracing.  */
-
-static void
-i386_linux_teardown_btrace (struct target_ops *self,
-			    struct btrace_target_info *tinfo)
-{
-  /* Ignore errors.  */
-  linux_disable_btrace (tinfo);
-}
-
-static enum btrace_error
-i386_linux_read_btrace (struct target_ops *self,
-			VEC (btrace_block_s) **data,
-			struct btrace_target_info *btinfo,
-			enum btrace_read_type type)
-{
-  return linux_read_btrace (data, btinfo, type);
-}
+
 
 /* -Wmissing-prototypes */
 extern initialize_file_ftype _initialize_i386_linux_nat;
@@ -1123,44 +720,16 @@ extern initialize_file_ftype _initialize
 void
 _initialize_i386_linux_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic GNU/Linux methods.  */
-  t = linux_target ();
-
-  i386_use_watchpoints (t);
-
-  i386_dr_low.set_control = i386_linux_dr_set_control;
-  i386_dr_low.set_addr = i386_linux_dr_set_addr;
-  i386_dr_low.get_addr = i386_linux_dr_get_addr;
-  i386_dr_low.get_status = i386_linux_dr_get_status;
-  i386_dr_low.get_control = i386_linux_dr_get_control;
-  i386_set_debug_register_length (4);
+  /* Create a generic x86 GNU/Linux target.  */
+  struct target_ops *t = x86_linux_create_target ();
 
   /* Override the default ptrace resume method.  */
   t->to_resume = i386_linux_resume;
 
-  /* Override the GNU/Linux inferior startup hook.  */
-  super_post_startup_inferior = t->to_post_startup_inferior;
-  t->to_post_startup_inferior = i386_linux_child_post_startup_inferior;
-
   /* Add our register access methods.  */
   t->to_fetch_registers = i386_linux_fetch_inferior_registers;
   t->to_store_registers = i386_linux_store_inferior_registers;
 
-  t->to_read_description = i386_linux_read_description;
-
-  /* Add btrace methods.  */
-  t->to_supports_btrace = linux_supports_btrace;
-  t->to_enable_btrace = i386_linux_enable_btrace;
-  t->to_disable_btrace = i386_linux_disable_btrace;
-  t->to_teardown_btrace = i386_linux_teardown_btrace;
-  t->to_read_btrace = i386_linux_read_btrace;
-
-  /* Register the target.  */
-  linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, i386_linux_new_thread);
-  linux_nat_set_new_fork (t, i386_linux_new_fork);
-  linux_nat_set_forget_process (t, i386_forget_process);
-  linux_nat_set_prepare_to_resume (t, i386_linux_prepare_to_resume);
+  /* Add the target.  */
+  x86_linux_add_target (t);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-linux-nat.h ./gdb/i386-linux-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-linux-nat.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/i386-linux-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,26 @@
+/* Native-dependent code for GNU/Linux i386.
+
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef I386_LINUX_NAT_H
+#define I386_LINUX_NAT_H 1
+
+/* Does the current host support the GETFPXREGS request? */
+extern int have_ptrace_getfpxregs;
+
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-linux-tdep.c ./gdb/i386-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux i386.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,8 +27,6 @@
 #include "osabi.h"
 #include "reggroups.h"
 #include "dwarf2-frame.h"
-#include <string.h>
-
 #include "i386-tdep.h"
 #include "i386-linux-tdep.h"
 #include "linux-tdep.h"
@@ -39,7 +37,7 @@
 #include "xml-syscall.h"
 
 #include "i387-tdep.h"
-#include "i386-xstate.h"
+#include "x86-xstate.h"
 
 /* The syscall's XML filename for i386.  */
 #define XML_SYSCALL_FILENAME_I386 "syscalls/i386-linux.xml"
@@ -54,28 +52,6 @@
 #include "features/i386/i386-avx-linux.c"
 #include "features/i386/i386-avx512-linux.c"
 
-/* Supported register note sections.  */
-static struct core_regset_section i386_linux_regset_sections[] =
-{
-  { ".reg", 68, "general-purpose" },
-  { ".reg2", 108, "floating-point" },
-  { NULL, 0 }
-};
-
-static struct core_regset_section i386_linux_sse_regset_sections[] =
-{
-  { ".reg", 68, "general-purpose" },
-  { ".reg-xfp", 512, "extended floating-point" },
-  { NULL, 0 }
-};
-
-static struct core_regset_section i386_linux_avx_regset_sections[] =
-{
-  { ".reg", 68, "general-purpose" },
-  { ".reg-xstate", I386_XSTATE_MAX_SIZE, "XSAVE extended state" },
-  { NULL, 0 }
-};
-
 /* Return non-zero, when the register is in the corresponding register
    group.  Put the LINUX_ORIG_EAX register in the system group.  */
 static int
@@ -615,8 +591,8 @@ i386_linux_core_read_xcr0 (bfd *abfd)
       size_t size = bfd_section_size (abfd, xstate);
 
       /* Check extended state size.  */
-      if (size < I386_XSTATE_AVX_SIZE)
-	xcr0 = I386_XSTATE_SSE_MASK;
+      if (size < X86_XSTATE_AVX_SIZE)
+	xcr0 = X86_XSTATE_SSE_MASK;
       else
 	{
 	  char contents[8];
@@ -649,18 +625,18 @@ i386_linux_core_read_description (struct
   /* Linux/i386.  */
   uint64_t xcr0 = i386_linux_core_read_xcr0 (abfd);
 
-  switch ((xcr0 & I386_XSTATE_ALL_MASK))
+  switch ((xcr0 & X86_XSTATE_ALL_MASK))
     {
-    case I386_XSTATE_MPX_AVX512_MASK:
-    case I386_XSTATE_AVX512_MASK:
+    case X86_XSTATE_MPX_AVX512_MASK:
+    case X86_XSTATE_AVX512_MASK:
       return tdesc_i386_avx512_linux;
-    case I386_XSTATE_MPX_MASK:
+    case X86_XSTATE_MPX_MASK:
       return tdesc_i386_mpx_linux;
-    case I386_XSTATE_AVX_MASK:
+    case X86_XSTATE_AVX_MASK:
       return tdesc_i386_avx_linux;
-    case I386_XSTATE_SSE_MASK:
+    case X86_XSTATE_SSE_MASK:
       return tdesc_i386_linux;
-    case I386_XSTATE_X87_MASK:
+    case X86_XSTATE_X87_MASK:
       return tdesc_i386_mmx_linux;
     default:
       break;
@@ -672,6 +648,58 @@ i386_linux_core_read_description (struct
     return tdesc_i386_mmx_linux;
 }
 
+/* Similar to i386_supply_fpregset, but use XSAVE extended state.  */
+
+static void
+i386_linux_supply_xstateregset (const struct regset *regset,
+				struct regcache *regcache, int regnum,
+				const void *xstateregs, size_t len)
+{
+  i387_supply_xsave (regcache, regnum, xstateregs);
+}
+
+/* Similar to i386_collect_fpregset, but use XSAVE extended state.  */
+
+static void
+i386_linux_collect_xstateregset (const struct regset *regset,
+				 const struct regcache *regcache,
+				 int regnum, void *xstateregs, size_t len)
+{
+  i387_collect_xsave (regcache, regnum, xstateregs, 1);
+}
+
+/* Register set definitions.  */
+
+static const struct regset i386_linux_xstateregset =
+  {
+    NULL,
+    i386_linux_supply_xstateregset,
+    i386_linux_collect_xstateregset
+  };
+
+/* Iterate over core file register note sections.  */
+
+static void
+i386_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					 iterate_over_regset_sections_cb *cb,
+					 void *cb_data,
+					 const struct regcache *regcache)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  cb (".reg", 68, &i386_gregset, NULL, cb_data);
+
+  if (tdep->xcr0 & X86_XSTATE_AVX)
+    /* Use max size for writing, accept any size when reading.  */
+    cb (".reg-xstate", regcache ? X86_XSTATE_MAX_SIZE : 0,
+	&i386_linux_xstateregset, "XSAVE extended state", cb_data);
+  else if (tdep->xcr0 & X86_XSTATE_SSE)
+    cb (".reg-xfp", 512, &i386_fpregset, "extended floating-point",
+	cb_data);
+  else
+    cb (".reg2", 108, &i386_fpregset, NULL, cb_data);
+}
+
 /* Linux kernel shows PC value after the 'int $0x80' instruction even if
    inferior is still inside the syscall.  On next PTRACE_SINGLESTEP it will
    finish the syscall but PC will not change.
@@ -950,15 +978,9 @@ i386_linux_init_abi (struct gdbarch_info
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
                                              svr4_fetch_objfile_link_map);
 
-  /* Install supported register note sections.  */
-  if (tdesc_find_feature (tdesc, "org.gnu.gdb.i386.avx512")
-      || tdesc_find_feature (tdesc, "org.gnu.gdb.i386.avx"))
-    set_gdbarch_core_regset_sections (gdbarch, i386_linux_avx_regset_sections);
-  else if (tdesc_find_feature (tdesc, "org.gnu.gdb.i386.sse"))
-    set_gdbarch_core_regset_sections (gdbarch, i386_linux_sse_regset_sections);
-  else
-    set_gdbarch_core_regset_sections (gdbarch, i386_linux_regset_sections);
-
+  /* Core file support.  */
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, i386_linux_iterate_over_regset_sections);
   set_gdbarch_core_read_description (gdbarch,
 				     i386_linux_core_read_description);
 
@@ -972,7 +994,7 @@ i386_linux_init_abi (struct gdbarch_info
                                        displaced_step_at_entry_point);
 
   /* Functions for 'catch syscall'.  */
-  set_xml_syscall_file_name (XML_SYSCALL_FILENAME_I386);
+  set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_I386);
   set_gdbarch_get_syscall_number (gdbarch,
                                   i386_linux_get_syscall_number);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-linux-tdep.h ./gdb/i386-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-linux-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-linux-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux x86.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-nat.c ./gdb/i386-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-nat.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,910 +0,0 @@
-/* Native-dependent code for the i386.
-
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "i386-nat.h"
-#include "breakpoint.h"
-#include "command.h"
-#include "gdbcmd.h"
-#include "target.h"
-#include "gdb_assert.h"
-#include "inferior.h"
-
-/* Support for hardware watchpoints and breakpoints using the i386
-   debug registers.
-
-   This provides several functions for inserting and removing
-   hardware-assisted breakpoints and watchpoints, testing if one or
-   more of the watchpoints triggered and at what address, checking
-   whether a given region can be watched, etc.
-
-   The functions below implement debug registers sharing by reference
-   counts, and allow to watch regions up to 16 bytes long.  */
-
-struct i386_dr_low_type i386_dr_low;
-
-
-/* Support for 8-byte wide hw watchpoints.  */
-#define TARGET_HAS_DR_LEN_8 (i386_dr_low.debug_register_length == 8)
-
-/* DR7 Debug Control register fields.  */
-
-/* How many bits to skip in DR7 to get to R/W and LEN fields.  */
-#define DR_CONTROL_SHIFT	16
-/* How many bits in DR7 per R/W and LEN field for each watchpoint.  */
-#define DR_CONTROL_SIZE		4
-
-/* Watchpoint/breakpoint read/write fields in DR7.  */
-#define DR_RW_EXECUTE	(0x0)	/* Break on instruction execution.  */
-#define DR_RW_WRITE	(0x1)	/* Break on data writes.  */
-#define DR_RW_READ	(0x3)	/* Break on data reads or writes.  */
-
-/* This is here for completeness.  No platform supports this
-   functionality yet (as of March 2001).  Note that the DE flag in the
-   CR4 register needs to be set to support this.  */
-#ifndef DR_RW_IORW
-#define DR_RW_IORW	(0x2)	/* Break on I/O reads or writes.  */
-#endif
-
-/* Watchpoint/breakpoint length fields in DR7.  The 2-bit left shift
-   is so we could OR this with the read/write field defined above.  */
-#define DR_LEN_1	(0x0 << 2) /* 1-byte region watch or breakpoint.  */
-#define DR_LEN_2	(0x1 << 2) /* 2-byte region watch.  */
-#define DR_LEN_4	(0x3 << 2) /* 4-byte region watch.  */
-#define DR_LEN_8	(0x2 << 2) /* 8-byte region watch (AMD64).  */
-
-/* Local and Global Enable flags in DR7.
-
-   When the Local Enable flag is set, the breakpoint/watchpoint is
-   enabled only for the current task; the processor automatically
-   clears this flag on every task switch.  When the Global Enable flag
-   is set, the breakpoint/watchpoint is enabled for all tasks; the
-   processor never clears this flag.
-
-   Currently, all watchpoint are locally enabled.  If you need to
-   enable them globally, read the comment which pertains to this in
-   i386_insert_aligned_watchpoint below.  */
-#define DR_LOCAL_ENABLE_SHIFT	0 /* Extra shift to the local enable bit.  */
-#define DR_GLOBAL_ENABLE_SHIFT	1 /* Extra shift to the global enable bit.  */
-#define DR_ENABLE_SIZE		2 /* Two enable bits per debug register.  */
-
-/* Local and global exact breakpoint enable flags (a.k.a. slowdown
-   flags).  These are only required on i386, to allow detection of the
-   exact instruction which caused a watchpoint to break; i486 and
-   later processors do that automatically.  We set these flags for
-   backwards compatibility.  */
-#define DR_LOCAL_SLOWDOWN	(0x100)
-#define DR_GLOBAL_SLOWDOWN     	(0x200)
-
-/* Fields reserved by Intel.  This includes the GD (General Detect
-   Enable) flag, which causes a debug exception to be generated when a
-   MOV instruction accesses one of the debug registers.
-
-   FIXME: My Intel manual says we should use 0xF800, not 0xFC00.  */
-#define DR_CONTROL_RESERVED	(0xFC00)
-
-/* Auxiliary helper macros.  */
-
-/* A value that masks all fields in DR7 that are reserved by Intel.  */
-#define I386_DR_CONTROL_MASK	(~DR_CONTROL_RESERVED)
-
-/* The I'th debug register is vacant if its Local and Global Enable
-   bits are reset in the Debug Control register.  */
-#define I386_DR_VACANT(state, i)					\
-  (((state)->dr_control_mirror & (3 << (DR_ENABLE_SIZE * (i)))) == 0)
-
-/* Locally enable the break/watchpoint in the I'th debug register.  */
-#define I386_DR_LOCAL_ENABLE(state, i) \
-  do { \
-    (state)->dr_control_mirror |= \
-      (1 << (DR_LOCAL_ENABLE_SHIFT + DR_ENABLE_SIZE * (i))); \
-  } while (0)
-
-/* Globally enable the break/watchpoint in the I'th debug register.  */
-#define I386_DR_GLOBAL_ENABLE(state, i) \
-  do { \
-    (state)->dr_control_mirror |= \
-      (1 << (DR_GLOBAL_ENABLE_SHIFT + DR_ENABLE_SIZE * (i))); \
-  } while (0)
-
-/* Disable the break/watchpoint in the I'th debug register.  */
-#define I386_DR_DISABLE(state, i) \
-  do { \
-    (state)->dr_control_mirror &= \
-      ~(3 << (DR_ENABLE_SIZE * (i))); \
-  } while (0)
-
-/* Set in DR7 the RW and LEN fields for the I'th debug register.  */
-#define I386_DR_SET_RW_LEN(state, i, rwlen) \
-  do { \
-    (state)->dr_control_mirror &= \
-      ~(0x0f << (DR_CONTROL_SHIFT + DR_CONTROL_SIZE * (i))); \
-    (state)->dr_control_mirror |= \
-      ((rwlen) << (DR_CONTROL_SHIFT + DR_CONTROL_SIZE * (i))); \
-  } while (0)
-
-/* Get from DR7 the RW and LEN fields for the I'th debug register.  */
-#define I386_DR_GET_RW_LEN(dr7, i) \
-  (((dr7) \
-    >> (DR_CONTROL_SHIFT + DR_CONTROL_SIZE * (i))) & 0x0f)
-
-/* Mask that this I'th watchpoint has triggered.  */
-#define I386_DR_WATCH_MASK(i)	(1 << (i))
-
-/* Did the watchpoint whose address is in the I'th register break?  */
-#define I386_DR_WATCH_HIT(dr6, i) ((dr6) & (1 << (i)))
-
-/* A macro to loop over all debug registers.  */
-#define ALL_DEBUG_REGISTERS(i)	for (i = 0; i < DR_NADDR; i++)
-
-/* Per-process data.  We don't bind this to a per-inferior registry
-   because of targets like x86 GNU/Linux that need to keep track of
-   processes that aren't bound to any inferior (e.g., fork children,
-   checkpoints).  */
-
-struct i386_process_info
-{
-  /* Linked list.  */
-  struct i386_process_info *next;
-
-  /* The process identifier.  */
-  pid_t pid;
-
-  /* Copy of i386 hardware debug registers.  */
-  struct i386_debug_reg_state state;
-};
-
-static struct i386_process_info *i386_process_list = NULL;
-
-/* Find process data for process PID.  */
-
-static struct i386_process_info *
-i386_find_process_pid (pid_t pid)
-{
-  struct i386_process_info *proc;
-
-  for (proc = i386_process_list; proc; proc = proc->next)
-    if (proc->pid == pid)
-      return proc;
-
-  return NULL;
-}
-
-/* Add process data for process PID.  Returns newly allocated info
-   object.  */
-
-static struct i386_process_info *
-i386_add_process (pid_t pid)
-{
-  struct i386_process_info *proc;
-
-  proc = xcalloc (1, sizeof (*proc));
-  proc->pid = pid;
-
-  proc->next = i386_process_list;
-  i386_process_list = proc;
-
-  return proc;
-}
-
-/* Get data specific info for process PID, creating it if necessary.
-   Never returns NULL.  */
-
-static struct i386_process_info *
-i386_process_info_get (pid_t pid)
-{
-  struct i386_process_info *proc;
-
-  proc = i386_find_process_pid (pid);
-  if (proc == NULL)
-    proc = i386_add_process (pid);
-
-  return proc;
-}
-
-/* Get debug registers state for process PID.  */
-
-struct i386_debug_reg_state *
-i386_debug_reg_state (pid_t pid)
-{
-  return &i386_process_info_get (pid)->state;
-}
-
-/* See declaration in i386-nat.h.  */
-
-void
-i386_forget_process (pid_t pid)
-{
-  struct i386_process_info *proc, **proc_link;
-
-  proc = i386_process_list;
-  proc_link = &i386_process_list;
-
-  while (proc != NULL)
-    {
-      if (proc->pid == pid)
-	{
-	  *proc_link = proc->next;
-
-	  xfree (proc);
-	  return;
-	}
-
-      proc_link = &proc->next;
-      proc = *proc_link;
-    }
-}
-
-/* Whether or not to print the mirrored debug registers.  */
-static int maint_show_dr;
-
-/* Types of operations supported by i386_handle_nonaligned_watchpoint.  */
-typedef enum { WP_INSERT, WP_REMOVE, WP_COUNT } i386_wp_op_t;
-
-/* Internal functions.  */
-
-/* Return the value of a 4-bit field for DR7 suitable for watching a
-   region of LEN bytes for accesses of type TYPE.  LEN is assumed to
-   have the value of 1, 2, or 4.  */
-static unsigned i386_length_and_rw_bits (int len, enum target_hw_bp_type type);
-
-/* Insert a watchpoint at address ADDR, which is assumed to be aligned
-   according to the length of the region to watch.  LEN_RW_BITS is the
-   value of the bit-field from DR7 which describes the length and
-   access type of the region to be watched by this watchpoint.  Return
-   0 on success, -1 on failure.  */
-static int i386_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
-					   CORE_ADDR addr,
-					   unsigned len_rw_bits);
-
-/* Remove a watchpoint at address ADDR, which is assumed to be aligned
-   according to the length of the region to watch.  LEN_RW_BITS is the
-   value of the bits from DR7 which describes the length and access
-   type of the region watched by this watchpoint.  Return 0 on
-   success, -1 on failure.  */
-static int i386_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
-					   CORE_ADDR addr,
-					   unsigned len_rw_bits);
-
-/* Insert or remove a (possibly non-aligned) watchpoint, or count the
-   number of debug registers required to watch a region at address
-   ADDR whose length is LEN for accesses of type TYPE.  Return 0 on
-   successful insertion or removal, a positive number when queried
-   about the number of registers, or -1 on failure.  If WHAT is not a
-   valid value, bombs through internal_error.  */
-static int i386_handle_nonaligned_watchpoint (struct i386_debug_reg_state *state,
-					      i386_wp_op_t what,
-					      CORE_ADDR addr, int len,
-					      enum target_hw_bp_type type);
-
-/* Implementation.  */
-
-/* Clear the reference counts and forget everything we knew about the
-   debug registers.  */
-
-void
-i386_cleanup_dregs (void)
-{
-  /* Starting from scratch has the same effect.  */
-  i386_forget_process (ptid_get_pid (inferior_ptid));
-}
-
-/* Print the values of the mirrored debug registers.  This is called
-   when maint_show_dr is non-zero.  To set that up, type "maint
-   show-debug-regs" at GDB's prompt.  */
-
-static void
-i386_show_dr (struct i386_debug_reg_state *state,
-	      const char *func, CORE_ADDR addr,
-	      int len, enum target_hw_bp_type type)
-{
-  int addr_size = gdbarch_addr_bit (target_gdbarch ()) / 8;
-  int i;
-
-  puts_unfiltered (func);
-  if (addr || len)
-    printf_unfiltered (" (addr=%lx, len=%d, type=%s)",
-		       /* This code is for ia32, so casting CORE_ADDR
-			  to unsigned long should be okay.  */
-		       (unsigned long)addr, len,
-		       type == hw_write ? "data-write"
-		       : (type == hw_read ? "data-read"
-			  : (type == hw_access ? "data-read/write"
-			     : (type == hw_execute ? "instruction-execute"
-				/* FIXME: if/when I/O read/write
-				   watchpoints are supported, add them
-				   here.  */
-				: "??unknown??"))));
-  puts_unfiltered (":\n");
-  printf_unfiltered ("\tCONTROL (DR7): %s          STATUS (DR6): %s\n",
-		     phex (state->dr_control_mirror, 8),
-		     phex (state->dr_status_mirror, 8));
-  ALL_DEBUG_REGISTERS(i)
-    {
-      printf_unfiltered ("\
-\tDR%d: addr=0x%s, ref.count=%d  DR%d: addr=0x%s, ref.count=%d\n",
-			 i, phex (state->dr_mirror[i], addr_size),
-			 state->dr_ref_count[i],
-			 i + 1, phex (state->dr_mirror[i + 1], addr_size),
-			 state->dr_ref_count[i+1]);
-      i++;
-    }
-}
-
-/* Return the value of a 4-bit field for DR7 suitable for watching a
-   region of LEN bytes for accesses of type TYPE.  LEN is assumed to
-   have the value of 1, 2, or 4.  */
-
-static unsigned
-i386_length_and_rw_bits (int len, enum target_hw_bp_type type)
-{
-  unsigned rw;
-
-  switch (type)
-    {
-      case hw_execute:
-	rw = DR_RW_EXECUTE;
-	break;
-      case hw_write:
-	rw = DR_RW_WRITE;
-	break;
-      case hw_read:
-	internal_error (__FILE__, __LINE__,
-			_("The i386 doesn't support "
-			  "data-read watchpoints.\n"));
-      case hw_access:
-	rw = DR_RW_READ;
-	break;
-#if 0
-	/* Not yet supported.  */
-      case hw_io_access:
-	rw = DR_RW_IORW;
-	break;
-#endif
-      default:
-	internal_error (__FILE__, __LINE__, _("\
-Invalid hardware breakpoint type %d in i386_length_and_rw_bits.\n"),
-			(int) type);
-    }
-
-  switch (len)
-    {
-      case 1:
-	return (DR_LEN_1 | rw);
-      case 2:
-	return (DR_LEN_2 | rw);
-      case 4:
-	return (DR_LEN_4 | rw);
-      case 8:
-        if (TARGET_HAS_DR_LEN_8)
- 	  return (DR_LEN_8 | rw);
-	/* ELSE FALL THROUGH */
-      default:
-	internal_error (__FILE__, __LINE__, _("\
-Invalid hardware breakpoint length %d in i386_length_and_rw_bits.\n"), len);
-    }
-}
-
-/* Insert a watchpoint at address ADDR, which is assumed to be aligned
-   according to the length of the region to watch.  LEN_RW_BITS is the
-   value of the bits from DR7 which describes the length and access
-   type of the region to be watched by this watchpoint.  Return 0 on
-   success, -1 on failure.  */
-
-static int
-i386_insert_aligned_watchpoint (struct i386_debug_reg_state *state,
-				CORE_ADDR addr, unsigned len_rw_bits)
-{
-  int i;
-
-  if (!i386_dr_low.set_addr || !i386_dr_low.set_control)
-    return -1;
-
-  /* First, look for an occupied debug register with the same address
-     and the same RW and LEN definitions.  If we find one, we can
-     reuse it for this watchpoint as well (and save a register).  */
-  ALL_DEBUG_REGISTERS(i)
-    {
-      if (!I386_DR_VACANT (state, i)
-	  && state->dr_mirror[i] == addr
-	  && I386_DR_GET_RW_LEN (state->dr_control_mirror, i) == len_rw_bits)
-	{
-	  state->dr_ref_count[i]++;
-	  return 0;
-	}
-    }
-
-  /* Next, look for a vacant debug register.  */
-  ALL_DEBUG_REGISTERS(i)
-    {
-      if (I386_DR_VACANT (state, i))
-	break;
-    }
-
-  /* No more debug registers!  */
-  if (i >= DR_NADDR)
-    return -1;
-
-  /* Now set up the register I to watch our region.  */
-
-  /* Record the info in our local mirrored array.  */
-  state->dr_mirror[i] = addr;
-  state->dr_ref_count[i] = 1;
-  I386_DR_SET_RW_LEN (state, i, len_rw_bits);
-  /* Note: we only enable the watchpoint locally, i.e. in the current
-     task.  Currently, no i386 target allows or supports global
-     watchpoints; however, if any target would want that in the
-     future, GDB should probably provide a command to control whether
-     to enable watchpoints globally or locally, and the code below
-     should use global or local enable and slow-down flags as
-     appropriate.  */
-  I386_DR_LOCAL_ENABLE (state, i);
-  state->dr_control_mirror |= DR_LOCAL_SLOWDOWN;
-  state->dr_control_mirror &= I386_DR_CONTROL_MASK;
-
-  return 0;
-}
-
-/* Remove a watchpoint at address ADDR, which is assumed to be aligned
-   according to the length of the region to watch.  LEN_RW_BITS is the
-   value of the bits from DR7 which describes the length and access
-   type of the region watched by this watchpoint.  Return 0 on
-   success, -1 on failure.  */
-
-static int
-i386_remove_aligned_watchpoint (struct i386_debug_reg_state *state,
-				CORE_ADDR addr, unsigned len_rw_bits)
-{
-  int i, retval = -1;
-  int all_vacant = 1;
-
-  ALL_DEBUG_REGISTERS(i)
-    {
-      if (!I386_DR_VACANT (state, i)
-	  && state->dr_mirror[i] == addr
-	  && I386_DR_GET_RW_LEN (state->dr_control_mirror, i) == len_rw_bits)
-	{
-	  if (--state->dr_ref_count[i] == 0) /* no longer in use?  */
-	    {
-	      /* Reset our mirror.  */
-	      state->dr_mirror[i] = 0;
-	      I386_DR_DISABLE (state, i);
-	      /* Even though not strictly necessary, clear out all
-		 bits in DR_CONTROL related to this debug register.
-		 Debug output is clearer when we don't have stale bits
-		 in place.  This also allows the assertion below.  */
-	      I386_DR_SET_RW_LEN (state, i, 0);
-	    }
-	  retval = 0;
-	}
-
-      if (!I386_DR_VACANT (state, i))
-	all_vacant = 0;
-    }
-
-  if (all_vacant)
-    {
-      /* Even though not strictly necessary, clear out all of
-	 DR_CONTROL, so that when we have no debug registers in use,
-	 we end up with DR_CONTROL == 0.  The Linux support relies on
-	 this for an optimization.  Plus, it makes for clearer debug
-	 output.  */
-      state->dr_control_mirror &= ~DR_LOCAL_SLOWDOWN;
-
-      gdb_assert (state->dr_control_mirror == 0);
-    }
-  return retval;
-}
-
-/* Insert or remove a (possibly non-aligned) watchpoint, or count the
-   number of debug registers required to watch a region at address
-   ADDR whose length is LEN for accesses of type TYPE.  Return 0 on
-   successful insertion or removal, a positive number when queried
-   about the number of registers, or -1 on failure.  If WHAT is not a
-   valid value, bombs through internal_error.  */
-
-static int
-i386_handle_nonaligned_watchpoint (struct i386_debug_reg_state *state,
-				   i386_wp_op_t what, CORE_ADDR addr, int len,
-				   enum target_hw_bp_type type)
-{
-  int retval = 0;
-  int max_wp_len = TARGET_HAS_DR_LEN_8 ? 8 : 4;
-
-  static int size_try_array[8][8] =
-  {
-    {1, 1, 1, 1, 1, 1, 1, 1},	/* Trying size one.  */
-    {2, 1, 2, 1, 2, 1, 2, 1},	/* Trying size two.  */
-    {2, 1, 2, 1, 2, 1, 2, 1},	/* Trying size three.  */
-    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size four.  */
-    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size five.  */
-    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size six.  */
-    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size seven.  */
-    {8, 1, 2, 1, 4, 1, 2, 1},	/* Trying size eight.  */
-  };
-
-  while (len > 0)
-    {
-      int align = addr % max_wp_len;
-      /* Four (eight on AMD64) is the maximum length a debug register
-	 can watch.  */
-      int try = (len > max_wp_len ? (max_wp_len - 1) : len - 1);
-      int size = size_try_array[try][align];
-
-      if (what == WP_COUNT)
-	{
-	  /* size_try_array[] is defined such that each iteration
-	     through the loop is guaranteed to produce an address and a
-	     size that can be watched with a single debug register.
-	     Thus, for counting the registers required to watch a
-	     region, we simply need to increment the count on each
-	     iteration.  */
-	  retval++;
-	}
-      else
-	{
-	  unsigned len_rw = i386_length_and_rw_bits (size, type);
-
-	  if (what == WP_INSERT)
-	    retval = i386_insert_aligned_watchpoint (state, addr, len_rw);
-	  else if (what == WP_REMOVE)
-	    retval = i386_remove_aligned_watchpoint (state, addr, len_rw);
-	  else
-	    internal_error (__FILE__, __LINE__, _("\
-Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"),
-			    (int)what);
-	  if (retval)
-	    break;
-	}
-
-      addr += size;
-      len -= size;
-    }
-
-  return retval;
-}
-
-/* Update the inferior's debug registers with the new debug registers
-   state, in NEW_STATE, and then update our local mirror to match.  */
-
-static void
-i386_update_inferior_debug_regs (struct i386_debug_reg_state *new_state)
-{
-  struct i386_debug_reg_state *state
-    = i386_debug_reg_state (ptid_get_pid (inferior_ptid));
-  int i;
-
-  ALL_DEBUG_REGISTERS (i)
-    {
-      if (I386_DR_VACANT (new_state, i) != I386_DR_VACANT (state, i))
-	i386_dr_low.set_addr (i, new_state->dr_mirror[i]);
-      else
-	gdb_assert (new_state->dr_mirror[i] == state->dr_mirror[i]);
-    }
-
-  if (new_state->dr_control_mirror != state->dr_control_mirror)
-    i386_dr_low.set_control (new_state->dr_control_mirror);
-
-  *state = *new_state;
-}
-
-/* Insert a watchpoint to watch a memory region which starts at
-   address ADDR and whose length is LEN bytes.  Watch memory accesses
-   of the type TYPE.  Return 0 on success, -1 on failure.  */
-
-static int
-i386_insert_watchpoint (struct target_ops *self,
-			CORE_ADDR addr, int len, int type,
-			struct expression *cond)
-{
-  struct i386_debug_reg_state *state
-    = i386_debug_reg_state (ptid_get_pid (inferior_ptid));
-  int retval;
-  /* Work on a local copy of the debug registers, and on success,
-     commit the change back to the inferior.  */
-  struct i386_debug_reg_state local_state = *state;
-
-  if (type == hw_read)
-    return 1; /* unsupported */
-
-  if (((len != 1 && len !=2 && len !=4) && !(TARGET_HAS_DR_LEN_8 && len == 8))
-      || addr % len != 0)
-    retval = i386_handle_nonaligned_watchpoint (&local_state,
-						WP_INSERT, addr, len, type);
-  else
-    {
-      unsigned len_rw = i386_length_and_rw_bits (len, type);
-
-      retval = i386_insert_aligned_watchpoint (&local_state,
-					       addr, len_rw);
-    }
-
-  if (retval == 0)
-    i386_update_inferior_debug_regs (&local_state);
-
-  if (maint_show_dr)
-    i386_show_dr (state, "insert_watchpoint", addr, len, type);
-
-  return retval;
-}
-
-/* Remove a watchpoint that watched the memory region which starts at
-   address ADDR, whose length is LEN bytes, and for accesses of the
-   type TYPE.  Return 0 on success, -1 on failure.  */
-static int
-i386_remove_watchpoint (struct target_ops *self,
-			CORE_ADDR addr, int len, int type,
-			struct expression *cond)
-{
-  struct i386_debug_reg_state *state
-    = i386_debug_reg_state (ptid_get_pid (inferior_ptid));
-  int retval;
-  /* Work on a local copy of the debug registers, and on success,
-     commit the change back to the inferior.  */
-  struct i386_debug_reg_state local_state = *state;
-
-  if (((len != 1 && len !=2 && len !=4) && !(TARGET_HAS_DR_LEN_8 && len == 8))
-      || addr % len != 0)
-    retval = i386_handle_nonaligned_watchpoint (&local_state,
-						WP_REMOVE, addr, len, type);
-  else
-    {
-      unsigned len_rw = i386_length_and_rw_bits (len, type);
-
-      retval = i386_remove_aligned_watchpoint (&local_state,
-					       addr, len_rw);
-    }
-
-  if (retval == 0)
-    i386_update_inferior_debug_regs (&local_state);
-
-  if (maint_show_dr)
-    i386_show_dr (state, "remove_watchpoint", addr, len, type);
-
-  return retval;
-}
-
-/* Return non-zero if we can watch a memory region that starts at
-   address ADDR and whose length is LEN bytes.  */
-
-static int
-i386_region_ok_for_watchpoint (struct target_ops *self,
-			       CORE_ADDR addr, int len)
-{
-  struct i386_debug_reg_state *state
-    = i386_debug_reg_state (ptid_get_pid (inferior_ptid));
-  int nregs;
-
-  /* Compute how many aligned watchpoints we would need to cover this
-     region.  */
-  nregs = i386_handle_nonaligned_watchpoint (state,
-					     WP_COUNT, addr, len, hw_write);
-  return nregs <= DR_NADDR ? 1 : 0;
-}
-
-/* If the inferior has some watchpoint that triggered, set the
-   address associated with that watchpoint and return non-zero.
-   Otherwise, return zero.  */
-
-static int
-i386_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
-{
-  struct i386_debug_reg_state *state
-    = i386_debug_reg_state (ptid_get_pid (inferior_ptid));
-  CORE_ADDR addr = 0;
-  int i;
-  int rc = 0;
-  /* The current thread's DR_STATUS.  We always need to read this to
-     check whether some watchpoint caused the trap.  */
-  unsigned status;
-  /* We need DR_CONTROL as well, but only iff DR_STATUS indicates a
-     data breakpoint trap.  Only fetch it when necessary, to avoid an
-     unnecessary extra syscall when no watchpoint triggered.  */
-  int control_p = 0;
-  unsigned control = 0;
-
-  /* In non-stop/async, threads can be running while we change the
-     STATE (and friends).  Say, we set a watchpoint, and let threads
-     resume.  Now, say you delete the watchpoint, or add/remove
-     watchpoints such that STATE changes while threads are running.
-     On targets that support non-stop, inserting/deleting watchpoints
-     updates the STATE only.  It does not update the real thread's
-     debug registers; that's only done prior to resume.  Instead, if
-     threads are running when the mirror changes, a temporary and
-     transparent stop on all threads is forced so they can get their
-     copy of the debug registers updated on re-resume.  Now, say,
-     a thread hit a watchpoint before having been updated with the new
-     STATE contents, and we haven't yet handled the corresponding
-     SIGTRAP.  If we trusted STATE below, we'd mistake the real
-     trapped address (from the last time we had updated debug
-     registers in the thread) with whatever was currently in STATE.
-     So to fix this, STATE always represents intention, what we _want_
-     threads to have in debug registers.  To get at the address and
-     cause of the trap, we need to read the state the thread still has
-     in its debug registers.
-
-     In sum, always get the current debug register values the current
-     thread has, instead of trusting the global mirror.  If the thread
-     was running when we last changed watchpoints, the mirror no
-     longer represents what was set in this thread's debug
-     registers.  */
-  status = i386_dr_low.get_status ();
-
-  ALL_DEBUG_REGISTERS(i)
-    {
-      if (!I386_DR_WATCH_HIT (status, i))
-	continue;
-
-      if (!control_p)
-	{
-	  control = i386_dr_low.get_control ();
-	  control_p = 1;
-	}
-
-      /* This second condition makes sure DRi is set up for a data
-	 watchpoint, not a hardware breakpoint.  The reason is that
-	 GDB doesn't call the target_stopped_data_address method
-	 except for data watchpoints.  In other words, I'm being
-	 paranoiac.  */
-      if (I386_DR_GET_RW_LEN (control, i) != 0)
-	{
-	  addr = i386_dr_low.get_addr (i);
-	  rc = 1;
-	  if (maint_show_dr)
-	    i386_show_dr (state, "watchpoint_hit", addr, -1, hw_write);
-	}
-    }
-  if (maint_show_dr && addr == 0)
-    i386_show_dr (state, "stopped_data_addr", 0, 0, hw_write);
-
-  if (rc)
-    *addr_p = addr;
-  return rc;
-}
-
-static int
-i386_stopped_by_watchpoint (struct target_ops *ops)
-{
-  CORE_ADDR addr = 0;
-  return i386_stopped_data_address (ops, &addr);
-}
-
-/* Insert a hardware-assisted breakpoint at BP_TGT->placed_address.
-   Return 0 on success, EBUSY on failure.  */
-static int
-i386_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
-			   struct bp_target_info *bp_tgt)
-{
-  struct i386_debug_reg_state *state
-    = i386_debug_reg_state (ptid_get_pid (inferior_ptid));
-  unsigned len_rw = i386_length_and_rw_bits (1, hw_execute);
-  CORE_ADDR addr = bp_tgt->placed_address;
-  /* Work on a local copy of the debug registers, and on success,
-     commit the change back to the inferior.  */
-  struct i386_debug_reg_state local_state = *state;
-  int retval = i386_insert_aligned_watchpoint (&local_state,
-					       addr, len_rw) ? EBUSY : 0;
-
-  if (retval == 0)
-    i386_update_inferior_debug_regs (&local_state);
-
-  if (maint_show_dr)
-    i386_show_dr (state, "insert_hwbp", addr, 1, hw_execute);
-
-  return retval;
-}
-
-/* Remove a hardware-assisted breakpoint at BP_TGT->placed_address.
-   Return 0 on success, -1 on failure.  */
-
-static int
-i386_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
-			   struct bp_target_info *bp_tgt)
-{
-  struct i386_debug_reg_state *state
-    = i386_debug_reg_state (ptid_get_pid (inferior_ptid));
-  unsigned len_rw = i386_length_and_rw_bits (1, hw_execute);
-  CORE_ADDR addr = bp_tgt->placed_address;
-  /* Work on a local copy of the debug registers, and on success,
-     commit the change back to the inferior.  */
-  struct i386_debug_reg_state local_state = *state;
-  int retval = i386_remove_aligned_watchpoint (&local_state,
-					       addr, len_rw);
-
-  if (retval == 0)
-    i386_update_inferior_debug_regs (&local_state);
-
-  if (maint_show_dr)
-    i386_show_dr (state, "remove_hwbp", addr, 1, hw_execute);
-
-  return retval;
-}
-
-/* Returns the number of hardware watchpoints of type TYPE that we can
-   set.  Value is positive if we can set CNT watchpoints, zero if
-   setting watchpoints of type TYPE is not supported, and negative if
-   CNT is more than the maximum number of watchpoints of type TYPE
-   that we can support.  TYPE is one of bp_hardware_watchpoint,
-   bp_read_watchpoint, bp_write_watchpoint, or bp_hardware_breakpoint.
-   CNT is the number of such watchpoints used so far (including this
-   one).  OTHERTYPE is non-zero if other types of watchpoints are
-   currently enabled.
-
-   We always return 1 here because we don't have enough information
-   about possible overlap of addresses that they want to watch.  As an
-   extreme example, consider the case where all the watchpoints watch
-   the same address and the same region length: then we can handle a
-   virtually unlimited number of watchpoints, due to debug register
-   sharing implemented via reference counts in i386-nat.c.  */
-
-static int
-i386_can_use_hw_breakpoint (struct target_ops *self,
-			    int type, int cnt, int othertype)
-{
-  return 1;
-}
-
-static void
-add_show_debug_regs_command (void)
-{
-  /* A maintenance command to enable printing the internal DRi mirror
-     variables.  */
-  add_setshow_boolean_cmd ("show-debug-regs", class_maintenance,
-			   &maint_show_dr, _("\
-Set whether to show variables that mirror the x86 debug registers."), _("\
-Show whether to show variables that mirror the x86 debug registers."), _("\
-Use \"on\" to enable, \"off\" to disable.\n\
-If enabled, the debug registers values are shown when GDB inserts\n\
-or removes a hardware breakpoint or watchpoint, and when the inferior\n\
-triggers a breakpoint or watchpoint."),
-			   NULL,
-			   NULL,
-			   &maintenance_set_cmdlist,
-			   &maintenance_show_cmdlist);
-}
-
-/* There are only two global functions left.  */
-
-void
-i386_use_watchpoints (struct target_ops *t)
-{
-  /* After a watchpoint trap, the PC points to the instruction after the
-     one that caused the trap.  Therefore we don't need to step over it.
-     But we do need to reset the status register to avoid another trap.  */
-  t->to_have_continuable_watchpoint = 1;
-
-  t->to_can_use_hw_breakpoint = i386_can_use_hw_breakpoint;
-  t->to_region_ok_for_hw_watchpoint = i386_region_ok_for_watchpoint;
-  t->to_stopped_by_watchpoint = i386_stopped_by_watchpoint;
-  t->to_stopped_data_address = i386_stopped_data_address;
-  t->to_insert_watchpoint = i386_insert_watchpoint;
-  t->to_remove_watchpoint = i386_remove_watchpoint;
-  t->to_insert_hw_breakpoint = i386_insert_hw_breakpoint;
-  t->to_remove_hw_breakpoint = i386_remove_hw_breakpoint;
-}
-
-void
-i386_set_debug_register_length (int len)
-{
-  /* This function should be called only once for each native target.  */
-  gdb_assert (i386_dr_low.debug_register_length == 0);
-  gdb_assert (len == 4 || len == 8);
-  i386_dr_low.debug_register_length = len;
-  add_show_debug_regs_command ();
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-nat.h ./gdb/i386-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-nat.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,123 +0,0 @@
-/* Native-dependent code for the i386.
-
-   Low level functions to implement Oeprating System specific
-   code to manipulate I386 debug registers.
-
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef I386_NAT_H
-#define I386_NAT_H 1
-
-/* Hardware-assisted breakpoints and watchpoints.  */
-
-/* Add watchpoint methods to the provided target_ops.  
-   Targets using i386 family debug registers for watchpoints should call
-   this.  */
-struct target_ops;
-extern void i386_use_watchpoints (struct target_ops *);
-
-/* Support for hardware watchpoints and breakpoints using the i386
-   debug registers.
-
-   This provides several functions for inserting and removing
-   hardware-assisted breakpoints and watchpoints, testing if one or
-   more of the watchpoints triggered and at what address, checking
-   whether a given region can be watched, etc.
-
-   In addition, each target should provide several low-level functions
-   regrouped into i386_dr_low_type struct below.  These functions
-   that will be called to insert watchpoints and hardware breakpoints
-   into the inferior, remove them, and check their status.  These
-   functions are:
-
-      set_control              -- set the debug control (DR7)
-				  register to a given value for all LWPs
-
-      set_addr                 -- put an address into one debug
-				  register for all LWPs
-
-      get_addr                 -- return the address in a given debug
-				  register of the current LWP
-
-      get_status               -- return the value of the debug
-				  status (DR6) register for current LWP
-
-      get_control               -- return the value of the debug
-				  control (DR7) register for current LWP
-
-   Additionally, the native file should set the debug_register_length
-   field to 4 or 8 depending on the number of bytes used for
-   deubg registers.  */
-
-struct i386_dr_low_type
-  {
-    void (*set_control) (unsigned long);
-    void (*set_addr) (int, CORE_ADDR);
-    CORE_ADDR (*get_addr) (int);
-    unsigned long (*get_status) (void);
-    unsigned long (*get_control) (void);
-    int debug_register_length;
-  };
-
-extern struct i386_dr_low_type i386_dr_low;
-
-/* Debug registers' indices.  */
-#define DR_FIRSTADDR 0
-#define DR_LASTADDR  3
-#define DR_NADDR     4	/* The number of debug address registers.  */
-#define DR_STATUS    6	/* Index of debug status register (DR6).  */
-#define DR_CONTROL   7	/* Index of debug control register (DR7).  */
-
-/* Global state needed to track h/w watchpoints.  */
-
-struct i386_debug_reg_state
-{
-  /* Mirror the inferior's DRi registers.  We keep the status and
-     control registers separated because they don't hold addresses.
-     Note that since we can change these mirrors while threads are
-     running, we never trust them to explain a cause of a trap.
-     For that, we need to peek directly in the inferior registers.  */
-  CORE_ADDR dr_mirror[DR_NADDR];
-  unsigned dr_status_mirror, dr_control_mirror;
-
-  /* Reference counts for each debug register.  */
-  int dr_ref_count[DR_NADDR];
-};
-
-/* Use this function to set i386_dr_low debug_register_length field
-   rather than setting it directly to check that the length is only
-   set once.  It also enables the 'maint set/show show-debug-regs' 
-   command.  */
-
-extern void i386_set_debug_register_length (int len);
-
-/* Use this function to reset the i386-nat.c debug register state.  */
-
-extern void i386_cleanup_dregs (void);
-
-/* Return a pointer to the local mirror of the debug registers of
-   process PID.  */
-
-extern struct i386_debug_reg_state *i386_debug_reg_state (pid_t pid);
-
-/* Called whenever GDB is no longer debugging process PID.  It deletes
-   data structures that keep track of debug register state.  */
-
-extern void i386_forget_process (pid_t pid);
-
-#endif /* I386_NAT_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386nbsd-nat.c ./gdb/i386nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386nbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386nbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for NetBSD/i386.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386nbsd-tdep.c ./gdb/i386nbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386nbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386nbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/i386.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,9 +28,6 @@
 #include "trad-frame.h"
 #include "tramp-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "i386-tdep.h"
 #include "i387-tdep.h"
 #include "nbsd-tdep.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-nto-tdep.c ./gdb/i386-nto-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-nto-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-nto-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for QNX Neutrino x86.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by QNX Software Systems Ltd.
 
@@ -25,9 +25,6 @@
 #include "regcache.h"
 #include "target.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "i386-tdep.h"
 #include "i387-tdep.h"
 #include "nto-tdep.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386obsd-nat.c ./gdb/i386obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386obsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386obsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for OpenBSD/i386.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386obsd-tdep.c ./gdb/i386obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386obsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386obsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/i386.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,9 +30,6 @@
 #include "target.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "obsd-tdep.h"
 #include "i386-tdep.h"
 #include "i387-tdep.h"
@@ -157,21 +154,19 @@ static const struct regset i386obsd_aout
     NULL, i386obsd_aout_supply_regset, NULL
   };
 
-static const struct regset *
-i386obsd_aout_regset_from_core_section (struct gdbarch *gdbarch,
-					const char *sect_name,
-					size_t sect_size)
+static void
+i386obsd_aout_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					    iterate_over_regset_sections_cb *cb,
+					    void *cb_data,
+					    const struct regcache *regcache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   /* OpenBSD a.out core dumps don't use seperate register sets for the
      general-purpose and floating-point registers.  */
 
-  if (strcmp (sect_name, ".reg") == 0
-      && sect_size >= tdep->sizeof_gregset + I387_SIZEOF_FSAVE)
-    return &i386obsd_aout_gregset;
-
-  return NULL;
+  cb (".reg", tdep->sizeof_gregset + I387_SIZEOF_FSAVE,
+      &i386obsd_aout_gregset, NULL, cb_data);
 }
 
 
@@ -485,8 +480,8 @@ i386obsd_aout_init_abi (struct gdbarch_i
   i386obsd_init_abi (info, gdbarch);
 
   /* OpenBSD a.out has a single register set.  */
-  set_gdbarch_regset_from_core_section
-    (gdbarch, i386obsd_aout_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, i386obsd_aout_iterate_over_regset_sections);
 }
 
 /* OpenBSD ELF.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-sol2-nat.c ./gdb/i386-sol2-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-sol2-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-sol2-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for Solaris x86.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-sol2-tdep.c ./gdb/i386-sol2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-sol2-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-sol2-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Solaris x86.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,8 +21,6 @@
 #include "value.h"
 #include "osabi.h"
 
-#include <string.h>
-
 #include "sol2-tdep.h"
 #include "i386-tdep.h"
 #include "solib-svr4.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-tdep.c ./gdb/i386-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Intel 386 target-dependent stuff.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -44,13 +44,9 @@
 #include "dis-asm.h"
 #include "disasm.h"
 #include "remote.h"
-#include "exceptions.h"
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "i386-tdep.h"
 #include "i387-tdep.h"
-#include "i386-xstate.h"
+#include "x86-xstate.h"
 
 #include "record.h"
 #include "record-full.h"
@@ -1821,14 +1817,15 @@ i386_skip_prologue (struct gdbarch *gdba
     {
       CORE_ADDR post_prologue_pc
 	= skip_prologue_using_sal (gdbarch, func_addr);
-      struct symtab *s = find_pc_symtab (func_addr);
+      struct compunit_symtab *cust = find_pc_compunit_symtab (func_addr);
 
       /* Clang always emits a line note before the prologue and another
 	 one after.  We trust clang to emit usable line notes.  */
       if (post_prologue_pc
-	  && (s != NULL
-	      && s->producer != NULL
-	      && strncmp (s->producer, "clang ", sizeof ("clang ") - 1) == 0))
+	  && (cust != NULL
+	      && COMPUNIT_PRODUCER (cust) != NULL
+	      && strncmp (COMPUNIT_PRODUCER (cust), "clang ",
+			  sizeof ("clang ") - 1) == 0))
         return max (start_pc, post_prologue_pc);
     }
  
@@ -2187,10 +2184,10 @@ static int
 i386_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   gdb_byte insn;
-  struct symtab *symtab;
+  struct compunit_symtab *cust;
 
-  symtab = find_pc_symtab (pc);
-  if (symtab && symtab->epilogue_unwind_valid)
+  cust = find_pc_compunit_symtab (pc);
+  if (cust != NULL && COMPUNIT_EPILOGUE_UNWIND_VALID (cust))
     return 0;
 
   if (target_read_memory (pc, &insn, 1))
@@ -3809,26 +3806,6 @@ i386_collect_fpregset (const struct regs
   i387_collect_fsave (regcache, regnum, fpregs);
 }
 
-/* Similar to i386_supply_fpregset, but use XSAVE extended state.  */
-
-static void
-i386_supply_xstateregset (const struct regset *regset,
-			  struct regcache *regcache, int regnum,
-			  const void *xstateregs, size_t len)
-{
-  i387_supply_xsave (regcache, regnum, xstateregs);
-}
-
-/* Similar to i386_collect_fpregset , but use XSAVE extended state.  */
-
-static void
-i386_collect_xstateregset (const struct regset *regset,
-			   const struct regcache *regcache,
-			   int regnum, void *xstateregs, size_t len)
-{
-  i387_collect_xsave (regcache, regnum, xstateregs, 1);
-}
-
 /* Register set definitions.  */
 
 const struct regset i386_gregset =
@@ -3836,37 +3813,24 @@ const struct regset i386_gregset =
     NULL, i386_supply_gregset, i386_collect_gregset
   };
 
-static const struct regset i386_fpregset =
+const struct regset i386_fpregset =
   {
     NULL, i386_supply_fpregset, i386_collect_fpregset
   };
 
-static const struct regset i386_xstateregset =
-  {
-    NULL, i386_supply_xstateregset, i386_collect_xstateregset
-  };
-
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Default iterator over core file register note sections.  */
 
-const struct regset *
-i386_regset_from_core_section (struct gdbarch *gdbarch,
-			       const char *sect_name, size_t sect_size)
+void
+i386_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				   iterate_over_regset_sections_cb *cb,
+				   void *cb_data,
+				   const struct regcache *regcache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-  if (strcmp (sect_name, ".reg") == 0 && sect_size == tdep->sizeof_gregset)
-      return &i386_gregset;
-
-  if ((strcmp (sect_name, ".reg2") == 0 && sect_size == tdep->sizeof_fpregset)
-      || (strcmp (sect_name, ".reg-xfp") == 0
-	  && sect_size == I387_SIZEOF_FXSAVE))
-    return &i386_fpregset;
-
-  if (strcmp (sect_name, ".reg-xstate") == 0)
-    return &i386_xstateregset;
-
-  return NULL;
+  cb (".reg", tdep->sizeof_gregset, &i386_gregset, NULL, cb_data);
+  if (tdep->sizeof_fpregset)
+    cb (".reg2", tdep->sizeof_fpregset, tdep->fpregset, NULL, cb_data);
 }
 
 
@@ -4342,6 +4306,17 @@ i386_stap_parse_special_token (struct gd
 
 
 
+/* gdbarch gnu_triplet_regexp method.  Both arches are acceptable as GDB always
+   also supplies -m64 or -m32 by gdbarch_gcc_target_options.  */
+
+static const char *
+i386_gnu_triplet_regexp (struct gdbarch *gdbarch)
+{
+  return "(x86_64|i.86)";
+}
+
+
+
 /* Generic ELF.  */
 
 void
@@ -4368,6 +4343,8 @@ i386_elf_init_abi (struct gdbarch_info i
 				      i386_stap_is_single_operand);
   set_gdbarch_stap_parse_special_token (gdbarch,
 					i386_stap_parse_special_token);
+
+  set_gdbarch_gnu_triplet_regexp (gdbarch, i386_gnu_triplet_regexp);
 }
 
 /* System V Release 4 (SVR4).  */
@@ -4415,6 +4392,8 @@ i386_go32_init_abi (struct gdbarch_info 
   set_gdbarch_sdb_reg_to_regnum (gdbarch, i386_svr4_reg_to_regnum);
 
   set_gdbarch_has_dos_based_file_system (gdbarch, 1);
+
+  set_gdbarch_gnu_triplet_regexp (gdbarch, i386_gnu_triplet_regexp);
 }
 
 
@@ -4481,12 +4460,12 @@ i386_register_reggroup_p (struct gdbarch
   ymm_avx512_regnum_p = i386_ymm_avx512_regnum_p (gdbarch, regnum);
   zmm_regnum_p = i386_zmm_regnum_p (gdbarch, regnum);
 
-  avx512_p = ((tdep->xcr0 & I386_XSTATE_AVX512_MASK)
-	       == I386_XSTATE_AVX512_MASK);
-  avx_p = ((tdep->xcr0 & I386_XSTATE_AVX512_MASK)
-	    == I386_XSTATE_AVX_MASK) && !avx512_p;
-  sse_p = ((tdep->xcr0 & I386_XSTATE_AVX512_MASK)
-	    == I386_XSTATE_SSE_MASK) && !avx512_p && ! avx_p;
+  avx512_p = ((tdep->xcr0 & X86_XSTATE_AVX512_MASK)
+	      == X86_XSTATE_AVX512_MASK);
+  avx_p = ((tdep->xcr0 & X86_XSTATE_AVX512_MASK)
+	   == X86_XSTATE_AVX_MASK) && !avx512_p;
+  sse_p = ((tdep->xcr0 & X86_XSTATE_AVX512_MASK)
+	   == X86_XSTATE_SSE_MASK) && !avx512_p && ! avx_p;
 
   if (group == vector_reggroup)
     return (mmx_regnum_p
@@ -4515,17 +4494,17 @@ i386_register_reggroup_p (struct gdbarch
 
   bnd_regnum_p = i386_bnd_regnum_p (gdbarch, regnum);
   if (group == all_reggroup
-      && ((bnd_regnum_p && (tdep->xcr0 & I386_XSTATE_MPX_MASK))))
+      && ((bnd_regnum_p && (tdep->xcr0 & X86_XSTATE_MPX_MASK))))
     return bnd_regnum_p;
 
   bndr_regnum_p = i386_bndr_regnum_p (gdbarch, regnum);
   if (group == all_reggroup
-      && ((bndr_regnum_p && (tdep->xcr0 & I386_XSTATE_MPX_MASK))))
+      && ((bndr_regnum_p && (tdep->xcr0 & X86_XSTATE_MPX_MASK))))
     return 0;
 
   mpx_ctrl_regnum_p = i386_mpx_ctrl_regnum_p (gdbarch, regnum);
   if (group == all_reggroup
-      && ((mpx_ctrl_regnum_p && (tdep->xcr0 & I386_XSTATE_MPX_MASK))))
+      && ((mpx_ctrl_regnum_p && (tdep->xcr0 & X86_XSTATE_MPX_MASK))))
     return mpx_ctrl_regnum_p;
 
   if (group == general_reggroup)
@@ -4560,18 +4539,6 @@ i386_fetch_pointer_argument (struct fram
   return read_memory_unsigned_integer (sp + (4 * (argi + 1)), 4, byte_order);
 }
 
-static void
-i386_skip_permanent_breakpoint (struct regcache *regcache)
-{
-  CORE_ADDR current_pc = regcache_read_pc (regcache);
-
- /* On i386, breakpoint is exactly 1 byte long, so we just
-    adjust the PC in the regcache.  */
-  current_pc += 1;
-  regcache_write_pc (regcache, current_pc);
-}
-
-
 #define PREFIX_REPZ	0x01
 #define PREFIX_REPNZ	0x02
 #define PREFIX_LOCK	0x04
@@ -8163,7 +8130,7 @@ i386_validate_tdesc_p (struct gdbarch_td
       if (!feature_avx)
 	return 0;
 
-      tdep->xcr0 = I386_XSTATE_MPX_AVX512_MASK;
+      tdep->xcr0 = X86_XSTATE_MPX_AVX512_MASK;
 
       /* It may have been set by OSABI initialization function.  */
       if (tdep->k0_regnum < 0)
@@ -8206,7 +8173,7 @@ i386_validate_tdesc_p (struct gdbarch_td
 	return 0;
 
       if (!feature_avx512)
-	tdep->xcr0 = I386_XSTATE_AVX_MASK;
+	tdep->xcr0 = X86_XSTATE_AVX_MASK;
 
       /* It may have been set by OSABI initialization function.  */
       if (tdep->num_ymm_regs == 0)
@@ -8222,10 +8189,10 @@ i386_validate_tdesc_p (struct gdbarch_td
 					    tdep->ymmh_register_names[i]);
     }
   else if (feature_sse)
-    tdep->xcr0 = I386_XSTATE_SSE_MASK;
+    tdep->xcr0 = X86_XSTATE_SSE_MASK;
   else
     {
-      tdep->xcr0 = I386_XSTATE_X87_MASK;
+      tdep->xcr0 = X86_XSTATE_X87_MASK;
       tdep->num_xmm_regs = 0;
     }
 
@@ -8245,7 +8212,7 @@ i386_validate_tdesc_p (struct gdbarch_td
 
   if (feature_mpx)
     {
-      tdep->xcr0 |= I386_XSTATE_MPX_MASK;
+      tdep->xcr0 |= X86_XSTATE_MPX_MASK;
 
       if (tdep->bnd0r_regnum < 0)
 	{
@@ -8294,6 +8261,7 @@ i386_gdbarch_init (struct gdbarch_info i
 
   /* Floating-point registers.  */
   tdep->sizeof_fpregset = I387_SIZEOF_FSAVE;
+  tdep->fpregset = &i386_fpregset;
 
   /* The default settings include the FPU registers, the MMX registers
      and the SSE registers.  This can be overridden for a specific ABI
@@ -8449,6 +8417,8 @@ i386_gdbarch_init (struct gdbarch_info i
      gap for the upper AVX, MPX and AVX512 registers.  */
   set_gdbarch_num_regs (gdbarch, I386_AVX512_NUM_REGS);
 
+  set_gdbarch_gnu_triplet_regexp (gdbarch, i386_gnu_triplet_regexp);
+
   /* Get the x86 target description from INFO.  */
   tdesc = info.target_desc;
   if (! tdesc_has_registers (tdesc))
@@ -8598,12 +8568,9 @@ i386_gdbarch_init (struct gdbarch_info i
   /* If we have a register mapping, enable the generic core file
      support, unless it has already been enabled.  */
   if (tdep->gregset_reg_offset
-      && !gdbarch_regset_from_core_section_p (gdbarch))
-    set_gdbarch_regset_from_core_section (gdbarch,
-					  i386_regset_from_core_section);
-
-  set_gdbarch_skip_permanent_breakpoint (gdbarch,
-					 i386_skip_permanent_breakpoint);
+      && !gdbarch_iterate_over_regset_sections_p (gdbarch))
+    set_gdbarch_iterate_over_regset_sections
+      (gdbarch, i386_iterate_over_regset_sections);
 
   set_gdbarch_fast_tracepoint_valid_at (gdbarch,
 					i386_fast_tracepoint_valid_at);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-tdep.h ./gdb/i386-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the i386.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -237,6 +237,9 @@ struct gdbarch_tdep
   int (*i386_sysenter_record) (struct regcache *regcache);
   /* Parse syscall args.  */
   int (*i386_syscall_record) (struct regcache *regcache);
+
+  /* Regsets. */
+  const struct regset *fpregset;
 };
 
 /* Floating-point registers.  */
@@ -387,12 +390,15 @@ extern void i386_supply_gregset (const s
 /* General-purpose register set. */
 extern const struct regset i386_gregset;
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
-extern const struct regset *
-  i386_regset_from_core_section (struct gdbarch *gdbarch,
-				 const char *sect_name, size_t sect_size);
+/* Floating-point register set. */
+extern const struct regset i386_fpregset;
 
+/* Default iterator over core file register note sections.  */
+extern void
+  i386_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				     iterate_over_regset_sections_cb *cb,
+				     void *cb_data,
+				     const struct regcache *regcache);
 
 extern struct displaced_step_closure *i386_displaced_step_copy_insn
   (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386v4-nat.c ./gdb/i386v4-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386v4-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386v4-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for Unix SVR4 running on i386's.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-windows-nat.c ./gdb/i386-windows-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i386-windows-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i386-windows-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,7 +17,7 @@
 
 #include "defs.h"
 #include "windows-nat.h"
-#include "i386-nat.h"
+#include "x86-nat.h"
 #include "i386-tdep.h"
 
 #include <windows.h>
@@ -87,5 +87,5 @@ _initialize_i386_windows_nat (void)
 {
   windows_set_context_register_offsets (mappings);
   windows_set_segment_register_p (i386_windows_segment_register_p);
-  i386_set_debug_register_length (4);
+  x86_set_debug_register_length (4);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i387-tdep.c ./gdb/i387-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i387-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i387-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Intel 387 floating point stuff.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,12 +27,9 @@
 #include "regcache.h"
 #include "value.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "i386-tdep.h"
 #include "i387-tdep.h"
-#include "i386-xstate.h"
+#include "x86-xstate.h"
 
 /* Print the floating point number specified by RAW.  */
 
@@ -961,7 +958,7 @@ i387_supply_xsave (struct regcache *regc
       clear_bv = (~(*xstate_bv_p)) & tdep->xcr0;
     }
   else
-    clear_bv = I386_XSTATE_ALL_MASK;
+    clear_bv = X86_XSTATE_ALL_MASK;
 
   /* With the delayed xsave mechanism, in between the program
      starting, and the program accessing the vector registers for the
@@ -978,7 +975,7 @@ i387_supply_xsave (struct regcache *regc
       break;
 
     case avx512_zmm_h:
-      if ((clear_bv & (I386_XSTATE_ZMM_H | I386_XSTATE_ZMM)))
+      if ((clear_bv & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
 	regcache_raw_supply (regcache, regnum, zero);
       else
 	regcache_raw_supply (regcache, regnum,
@@ -986,7 +983,7 @@ i387_supply_xsave (struct regcache *regc
       return;
 
     case avx512_k:
-      if ((clear_bv & I386_XSTATE_K))
+      if ((clear_bv & X86_XSTATE_K))
 	regcache_raw_supply (regcache, regnum, zero);
       else
 	regcache_raw_supply (regcache, regnum,
@@ -994,7 +991,7 @@ i387_supply_xsave (struct regcache *regc
       return;
 
     case avx512_ymmh_avx512:
-      if ((clear_bv & I386_XSTATE_ZMM))
+      if ((clear_bv & X86_XSTATE_ZMM))
 	regcache_raw_supply (regcache, regnum, zero);
       else
 	regcache_raw_supply (regcache, regnum,
@@ -1002,7 +999,7 @@ i387_supply_xsave (struct regcache *regc
       return;
 
     case avx512_xmm_avx512:
-      if ((clear_bv & I386_XSTATE_ZMM))
+      if ((clear_bv & X86_XSTATE_ZMM))
 	regcache_raw_supply (regcache, regnum, zero);
       else
 	regcache_raw_supply (regcache, regnum,
@@ -1010,7 +1007,7 @@ i387_supply_xsave (struct regcache *regc
       return;
 
     case avxh:
-      if ((clear_bv & I386_XSTATE_AVX))
+      if ((clear_bv & X86_XSTATE_AVX))
 	regcache_raw_supply (regcache, regnum, zero);
       else
 	regcache_raw_supply (regcache, regnum,
@@ -1018,7 +1015,7 @@ i387_supply_xsave (struct regcache *regc
       return;
 
     case mpx:
-      if ((clear_bv & I386_XSTATE_BNDREGS))
+      if ((clear_bv & X86_XSTATE_BNDREGS))
 	regcache_raw_supply (regcache, regnum, zero);
       else
 	regcache_raw_supply (regcache, regnum,
@@ -1026,7 +1023,7 @@ i387_supply_xsave (struct regcache *regc
       return;
 
     case sse:
-      if ((clear_bv & I386_XSTATE_SSE))
+      if ((clear_bv & X86_XSTATE_SSE))
 	regcache_raw_supply (regcache, regnum, zero);
       else
 	regcache_raw_supply (regcache, regnum,
@@ -1034,7 +1031,7 @@ i387_supply_xsave (struct regcache *regc
       return;
 
     case x87:
-      if ((clear_bv & I386_XSTATE_X87))
+      if ((clear_bv & X86_XSTATE_X87))
 	regcache_raw_supply (regcache, regnum, zero);
       else
 	regcache_raw_supply (regcache, regnum,
@@ -1043,9 +1040,9 @@ i387_supply_xsave (struct regcache *regc
 
     case all:
       /* Handle the upper ZMM registers.  */
-      if ((tdep->xcr0 & (I386_XSTATE_ZMM_H | I386_XSTATE_ZMM)))
+      if ((tdep->xcr0 & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
 	{
-	  if ((clear_bv & (I386_XSTATE_ZMM_H | I386_XSTATE_ZMM)))
+	  if ((clear_bv & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
 	    {
 	      for (i = I387_ZMM0H_REGNUM (tdep);
 		   i < I387_ZMMENDH_REGNUM (tdep);
@@ -1063,9 +1060,9 @@ i387_supply_xsave (struct regcache *regc
 	}
 
       /* Handle AVX512 OpMask registers.  */
-      if ((tdep->xcr0 & I386_XSTATE_K))
+      if ((tdep->xcr0 & X86_XSTATE_K))
 	{
-	  if ((clear_bv & I386_XSTATE_K))
+	  if ((clear_bv & X86_XSTATE_K))
 	    {
 	      for (i = I387_K0_REGNUM (tdep);
 		   i < I387_KEND_REGNUM (tdep);
@@ -1083,9 +1080,9 @@ i387_supply_xsave (struct regcache *regc
 	}
 
       /* Handle the YMM_AVX512 registers.  */
-      if ((tdep->xcr0 & I386_XSTATE_ZMM))
+      if ((tdep->xcr0 & X86_XSTATE_ZMM))
 	{
-	  if ((clear_bv & I386_XSTATE_ZMM))
+	  if ((clear_bv & X86_XSTATE_ZMM))
 	    {
 	      for (i = I387_YMM16H_REGNUM (tdep);
 		   i < I387_YMMH_AVX512_END_REGNUM (tdep);
@@ -1111,9 +1108,9 @@ i387_supply_xsave (struct regcache *regc
 	    }
 	}
       /* Handle the upper YMM registers.  */
-      if ((tdep->xcr0 & I386_XSTATE_AVX))
+      if ((tdep->xcr0 & X86_XSTATE_AVX))
 	{
-	  if ((clear_bv & I386_XSTATE_AVX))
+	  if ((clear_bv & X86_XSTATE_AVX))
 	    {
 	      for (i = I387_YMM0H_REGNUM (tdep);
 		   i < I387_YMMENDH_REGNUM (tdep);
@@ -1131,9 +1128,9 @@ i387_supply_xsave (struct regcache *regc
 	}
 
       /* Handle the MPX registers.  */
-      if ((tdep->xcr0 & I386_XSTATE_BNDREGS))
+      if ((tdep->xcr0 & X86_XSTATE_BNDREGS))
 	{
-	  if (clear_bv & I386_XSTATE_BNDREGS)
+	  if (clear_bv & X86_XSTATE_BNDREGS)
 	    {
 	      for (i = I387_BND0R_REGNUM (tdep);
 		   i < I387_BNDCFGU_REGNUM (tdep); i++)
@@ -1149,9 +1146,9 @@ i387_supply_xsave (struct regcache *regc
 	}
 
       /* Handle the MPX registers.  */
-      if ((tdep->xcr0 & I386_XSTATE_BNDCFG))
+      if ((tdep->xcr0 & X86_XSTATE_BNDCFG))
 	{
-	  if (clear_bv & I386_XSTATE_BNDCFG)
+	  if (clear_bv & X86_XSTATE_BNDCFG)
 	    {
 	      for (i = I387_BNDCFGU_REGNUM (tdep);
 		   i < I387_MPXEND_REGNUM (tdep); i++)
@@ -1167,9 +1164,9 @@ i387_supply_xsave (struct regcache *regc
 	}
 
       /* Handle the XMM registers.  */
-      if ((tdep->xcr0 & I386_XSTATE_SSE))
+      if ((tdep->xcr0 & X86_XSTATE_SSE))
 	{
-	  if ((clear_bv & I386_XSTATE_SSE))
+	  if ((clear_bv & X86_XSTATE_SSE))
 	    {
 	      for (i = I387_XMM0_REGNUM (tdep);
 		   i < I387_MXCSR_REGNUM (tdep);
@@ -1186,9 +1183,9 @@ i387_supply_xsave (struct regcache *regc
 	}
 
       /* Handle the x87 registers.  */
-      if ((tdep->xcr0 & I386_XSTATE_X87))
+      if ((tdep->xcr0 & X86_XSTATE_X87))
 	{
-	  if ((clear_bv & I386_XSTATE_X87))
+	  if ((clear_bv & X86_XSTATE_X87))
 	    {
 	      for (i = I387_ST0_REGNUM (tdep);
 		   i < I387_FCTRL_REGNUM (tdep);
@@ -1325,7 +1322,7 @@ i387_collect_xsave (const struct regcach
   if (gcore)
     {
       /* Clear XSAVE extended state.  */
-      memset (regs, 0, I386_XSTATE_SIZE (tdep->xcr0));
+      memset (regs, 0, X86_XSTATE_SIZE (tdep->xcr0));
 
       /* Update XCR0 and `xstate_bv' with XCR0 for gcore.  */
       if (tdep->xsave_xcr0_offset != -1)
@@ -1345,27 +1342,27 @@ i387_collect_xsave (const struct regcach
       /* Clear register set if its bit in xstat_bv is zero.  */
       if (clear_bv)
 	{
-	  if ((clear_bv & I386_XSTATE_BNDREGS))
+	  if ((clear_bv & X86_XSTATE_BNDREGS))
 	    for (i = I387_BND0R_REGNUM (tdep);
 		 i < I387_BNDCFGU_REGNUM (tdep); i++)
 	      memset (XSAVE_MPX_ADDR (tdep, regs, i), 0, 16);
 
-	  if ((clear_bv & I386_XSTATE_BNDCFG))
+	  if ((clear_bv & X86_XSTATE_BNDCFG))
 	    for (i = I387_BNDCFGU_REGNUM (tdep);
 		 i < I387_MPXEND_REGNUM (tdep); i++)
 	      memset (XSAVE_MPX_ADDR (tdep, regs, i), 0, 8);
 
-	  if ((clear_bv & (I386_XSTATE_ZMM_H | I386_XSTATE_ZMM)))
+	  if ((clear_bv & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
 	    for (i = I387_ZMM0H_REGNUM (tdep);
 		i < I387_ZMMENDH_REGNUM (tdep); i++)
 	      memset (XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, i), 0, 32);
 
-	  if ((clear_bv & I386_XSTATE_K))
+	  if ((clear_bv & X86_XSTATE_K))
 	    for (i = I387_K0_REGNUM (tdep);
 		i < I387_KEND_REGNUM (tdep); i++)
 	      memset (XSAVE_AVX512_K_ADDR (tdep, regs, i), 0, 8);
 
-	  if ((clear_bv & I386_XSTATE_ZMM))
+	  if ((clear_bv & X86_XSTATE_ZMM))
 	    {
 	      for (i = I387_YMM16H_REGNUM (tdep);
 		  i < I387_YMMH_AVX512_END_REGNUM (tdep); i++)
@@ -1375,17 +1372,17 @@ i387_collect_xsave (const struct regcach
 		memset (XSAVE_XMM_AVX512_ADDR (tdep, regs, i), 0, 16);
 	    }
 
-	  if ((clear_bv & I386_XSTATE_AVX))
+	  if ((clear_bv & X86_XSTATE_AVX))
 	    for (i = I387_YMM0H_REGNUM (tdep);
 		 i < I387_YMMENDH_REGNUM (tdep); i++)
 	      memset (XSAVE_AVXH_ADDR (tdep, regs, i), 0, 16);
 
-	  if ((clear_bv & I386_XSTATE_SSE))
+	  if ((clear_bv & X86_XSTATE_SSE))
 	    for (i = I387_XMM0_REGNUM (tdep);
 		 i < I387_MXCSR_REGNUM (tdep); i++)
 	      memset (FXSAVE_ADDR (tdep, regs, i), 0, 16);
 
-	  if ((clear_bv & I386_XSTATE_X87))
+	  if ((clear_bv & X86_XSTATE_X87))
 	    for (i = I387_ST0_REGNUM (tdep);
 		 i < I387_FCTRL_REGNUM (tdep); i++)
 	      memset (FXSAVE_ADDR (tdep, regs, i), 0, 10);
@@ -1394,7 +1391,7 @@ i387_collect_xsave (const struct regcach
       if (regclass == all)
 	{
 	  /* Check if any ZMMH registers are changed.  */
-	  if ((tdep->xcr0 & (I386_XSTATE_ZMM_H | I386_XSTATE_ZMM)))
+	  if ((tdep->xcr0 & (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM)))
 	    for (i = I387_ZMM0H_REGNUM (tdep);
 		 i < I387_ZMMENDH_REGNUM (tdep); i++)
 	      {
@@ -1402,13 +1399,13 @@ i387_collect_xsave (const struct regcach
 		p = XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, i);
 		if (memcmp (raw, p, 32) != 0)
 		  {
-		    xstate_bv |= (I386_XSTATE_ZMM_H | I386_XSTATE_ZMM);
+		    xstate_bv |= (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM);
 		    memcpy (p, raw, 32);
 		  }
 	      }
 
 	  /* Check if any K registers are changed.  */
-	  if ((tdep->xcr0 & I386_XSTATE_K))
+	  if ((tdep->xcr0 & X86_XSTATE_K))
 	    for (i = I387_K0_REGNUM (tdep);
 		 i < I387_KEND_REGNUM (tdep); i++)
 	      {
@@ -1416,13 +1413,13 @@ i387_collect_xsave (const struct regcach
 		p = XSAVE_AVX512_K_ADDR (tdep, regs, i);
 		if (memcmp (raw, p, 8) != 0)
 		  {
-		    xstate_bv |= I386_XSTATE_K;
+		    xstate_bv |= X86_XSTATE_K;
 		    memcpy (p, raw, 8);
 		  }
 	      }
 
 	  /* Check if any XMM or upper YMM registers are changed.  */
-	  if ((tdep->xcr0 & I386_XSTATE_ZMM))
+	  if ((tdep->xcr0 & X86_XSTATE_ZMM))
 	    {
 	      for (i = I387_YMM16H_REGNUM (tdep);
 		   i < I387_YMMH_AVX512_END_REGNUM (tdep); i++)
@@ -1431,7 +1428,7 @@ i387_collect_xsave (const struct regcach
 		  p = XSAVE_YMM_AVX512_ADDR (tdep, regs, i);
 		  if (memcmp (raw, p, 16) != 0)
 		    {
-		      xstate_bv |= I386_XSTATE_ZMM;
+		      xstate_bv |= X86_XSTATE_ZMM;
 		      memcpy (p, raw, 16);
 		    }
 		}
@@ -1442,14 +1439,14 @@ i387_collect_xsave (const struct regcach
 		  p = XSAVE_XMM_AVX512_ADDR (tdep, regs, i);
 		  if (memcmp (raw, p, 16) != 0)
 		    {
-		      xstate_bv |= I386_XSTATE_ZMM;
+		      xstate_bv |= X86_XSTATE_ZMM;
 		      memcpy (p, raw, 16);
 		    }
 		}
 	    }
 
 	  /* Check if any upper YMM registers are changed.  */
-	  if ((tdep->xcr0 & I386_XSTATE_AVX))
+	  if ((tdep->xcr0 & X86_XSTATE_AVX))
 	    for (i = I387_YMM0H_REGNUM (tdep);
 		 i < I387_YMMENDH_REGNUM (tdep); i++)
 	      {
@@ -1457,12 +1454,12 @@ i387_collect_xsave (const struct regcach
 		p = XSAVE_AVXH_ADDR (tdep, regs, i);
 		if (memcmp (raw, p, 16))
 		  {
-		    xstate_bv |= I386_XSTATE_AVX;
+		    xstate_bv |= X86_XSTATE_AVX;
 		    memcpy (p, raw, 16);
 		  }
 	      }
 	  /* Check if any upper MPX registers are changed.  */
-	  if ((tdep->xcr0 & I386_XSTATE_BNDREGS))
+	  if ((tdep->xcr0 & X86_XSTATE_BNDREGS))
 	    for (i = I387_BND0R_REGNUM (tdep);
 		 i < I387_BNDCFGU_REGNUM (tdep); i++)
 	      {
@@ -1470,13 +1467,13 @@ i387_collect_xsave (const struct regcach
 		p = XSAVE_MPX_ADDR (tdep, regs, i);
 		if (memcmp (raw, p, 16))
 		  {
-		    xstate_bv |= I386_XSTATE_BNDREGS;
+		    xstate_bv |= X86_XSTATE_BNDREGS;
 		    memcpy (p, raw, 16);
 		  }
 	      }
 
 	  /* Check if any upper MPX registers are changed.  */
-	  if ((tdep->xcr0 & I386_XSTATE_BNDCFG))
+	  if ((tdep->xcr0 & X86_XSTATE_BNDCFG))
 	    for (i = I387_BNDCFGU_REGNUM (tdep);
 		 i < I387_MPXEND_REGNUM (tdep); i++)
 	      {
@@ -1484,13 +1481,13 @@ i387_collect_xsave (const struct regcach
 		p = XSAVE_MPX_ADDR (tdep, regs, i);
 		if (memcmp (raw, p, 8))
 		  {
-		    xstate_bv |= I386_XSTATE_BNDCFG;
+		    xstate_bv |= X86_XSTATE_BNDCFG;
 		    memcpy (p, raw, 8);
 		  }
 	      }
 
 	  /* Check if any SSE registers are changed.  */
-	  if ((tdep->xcr0 & I386_XSTATE_SSE))
+	  if ((tdep->xcr0 & X86_XSTATE_SSE))
 	    for (i = I387_XMM0_REGNUM (tdep);
 		 i < I387_MXCSR_REGNUM (tdep); i++)
 	      {
@@ -1498,13 +1495,13 @@ i387_collect_xsave (const struct regcach
 		p = FXSAVE_ADDR (tdep, regs, i);
 		if (memcmp (raw, p, 16))
 		  {
-		    xstate_bv |= I386_XSTATE_SSE;
+		    xstate_bv |= X86_XSTATE_SSE;
 		    memcpy (p, raw, 16);
 		  }
 	      }
 
 	  /* Check if any X87 registers are changed.  */
-	  if ((tdep->xcr0 & I386_XSTATE_X87))
+	  if ((tdep->xcr0 & X86_XSTATE_X87))
 	    for (i = I387_ST0_REGNUM (tdep);
 		 i < I387_FCTRL_REGNUM (tdep); i++)
 	      {
@@ -1512,7 +1509,7 @@ i387_collect_xsave (const struct regcach
 		p = FXSAVE_ADDR (tdep, regs, i);
 		if (memcmp (raw, p, 10))
 		  {
-		    xstate_bv |= I386_XSTATE_X87;
+		    xstate_bv |= X86_XSTATE_X87;
 		    memcpy (p, raw, 10);
 		  }
 	      }
@@ -1533,7 +1530,7 @@ i387_collect_xsave (const struct regcach
 	      p = XSAVE_AVX512_ZMM_H_ADDR (tdep, regs, regnum);
 	      if (memcmp (raw, p, 32) != 0)
 		{
-		  xstate_bv |= (I386_XSTATE_ZMM_H | I386_XSTATE_ZMM);
+		  xstate_bv |= (X86_XSTATE_ZMM_H | X86_XSTATE_ZMM);
 		  memcpy (p, raw, 32);
 		}
 	      break;
@@ -1542,7 +1539,7 @@ i387_collect_xsave (const struct regcach
 	      p = XSAVE_AVX512_K_ADDR (tdep, regs, regnum);
 	      if (memcmp (raw, p, 8) != 0)
 		{
-		  xstate_bv |= I386_XSTATE_K;
+		  xstate_bv |= X86_XSTATE_K;
 		  memcpy (p, raw, 8);
 		}
 	      break;
@@ -1552,7 +1549,7 @@ i387_collect_xsave (const struct regcach
 	      p = XSAVE_YMM_AVX512_ADDR (tdep, regs, regnum);
 	      if (memcmp (raw, p, 16) != 0)
 		{
-		  xstate_bv |= I386_XSTATE_ZMM;
+		  xstate_bv |= X86_XSTATE_ZMM;
 		  memcpy (p, raw, 16);
 		}
 	      break;
@@ -1562,7 +1559,7 @@ i387_collect_xsave (const struct regcach
 	      p = XSAVE_XMM_AVX512_ADDR (tdep, regs, regnum);
 	      if (memcmp (raw, p, 16) != 0)
 		{
-		  xstate_bv |= I386_XSTATE_ZMM;
+		  xstate_bv |= X86_XSTATE_ZMM;
 		  memcpy (p, raw, 16);
 		}
 	      break;
@@ -1572,7 +1569,7 @@ i387_collect_xsave (const struct regcach
 	      p = XSAVE_AVXH_ADDR (tdep, regs, regnum);
 	      if (memcmp (raw, p, 16))
 		{
-		  xstate_bv |= I386_XSTATE_AVX;
+		  xstate_bv |= X86_XSTATE_AVX;
 		  memcpy (p, raw, 16);
 		}
 	      break;
@@ -1584,14 +1581,14 @@ i387_collect_xsave (const struct regcach
 		  p = XSAVE_MPX_ADDR (tdep, regs, regnum);
 		  if (memcmp (raw, p, 16))
 		    {
-		      xstate_bv |= I386_XSTATE_BNDREGS;
+		      xstate_bv |= X86_XSTATE_BNDREGS;
 		      memcpy (p, raw, 16);
 		    }
 		}
 	      else
 		{
 		  p = XSAVE_MPX_ADDR (tdep, regs, regnum);
-		  xstate_bv |= I386_XSTATE_BNDCFG;
+		  xstate_bv |= X86_XSTATE_BNDCFG;
 		  memcpy (p, raw, 8);
 		}
 	      break;
@@ -1601,7 +1598,7 @@ i387_collect_xsave (const struct regcach
 	      p = FXSAVE_ADDR (tdep, regs, regnum);
 	      if (memcmp (raw, p, 16))
 		{
-		  xstate_bv |= I386_XSTATE_SSE;
+		  xstate_bv |= X86_XSTATE_SSE;
 		  memcpy (p, raw, 16);
 		}
 	      break;
@@ -1611,7 +1608,7 @@ i387_collect_xsave (const struct regcach
 	      p = FXSAVE_ADDR (tdep, regs, regnum);
 	      if (memcmp (raw, p, 10))
 		{
-		  xstate_bv |= I386_XSTATE_X87;
+		  xstate_bv |= X86_XSTATE_X87;
 		  memcpy (p, raw, 10);
 		}
 	      break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i387-tdep.h ./gdb/i387-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/i387-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/i387-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the i387.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-hpux-nat.c ./gdb/ia64-hpux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-hpux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-hpux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-hpux-tdep.c ./gdb/ia64-hpux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-hpux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-hpux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the IA-64 for GDB, the GNU debugger.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-hpux-tdep.h ./gdb/ia64-hpux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-hpux-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-hpux-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-libunwind-tdep.c ./gdb/ia64-libunwind-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-libunwind-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-libunwind-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Frame unwinder for ia64 frames using the libunwind library.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Written by Jeff Johnston, contributed by Red Hat Inc.
 
@@ -33,9 +33,6 @@
 
 #include <dlfcn.h>
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "ia64-libunwind-tdep.h"
 
 #include "complaints.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-libunwind-tdep.h ./gdb/ia64-libunwind-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-libunwind-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-libunwind-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Frame unwinder for ia64 frames with libunwind frame information.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Jeff Johnston.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-linux-nat.c ./gdb/ia64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Functions specific to running gdb native on IA-64 running
    GNU/Linux.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "inferior.h"
 #include "target.h"
 #include "gdbcore.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-linux-tdep.c ./gdb/ia64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the IA-64 for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,6 +26,7 @@
 #include "solib-svr4.h"
 #include "symtab.h"
 #include "linux-tdep.h"
+#include "regset.h"
 
 #include <ctype.h>
 
@@ -131,6 +132,85 @@ ia64_linux_stap_is_single_operand (struc
 	  || isdigit (*s));  /* Literal number.  */
 }
 
+/* Core file support. */
+
+static const struct regcache_map_entry ia64_linux_gregmap[] =
+  {
+    { 32, IA64_GR0_REGNUM, 8 },	/* r0 ... r31 */
+    { 1, REGCACHE_MAP_SKIP, 8 }, /* FIXME: NAT collection bits? */
+    { 1, IA64_PR_REGNUM, 8 },
+    { 8, IA64_BR0_REGNUM, 8 },	/* b0 ... b7 */
+    { 1, IA64_IP_REGNUM, 8 },
+    { 1, IA64_CFM_REGNUM, 8 },
+    { 1, IA64_PSR_REGNUM, 8 },
+    { 1, IA64_RSC_REGNUM, 8 },
+    { 1, IA64_BSP_REGNUM, 8 },
+    { 1, IA64_BSPSTORE_REGNUM, 8 },
+    { 1, IA64_RNAT_REGNUM, 8 },
+    { 1, IA64_CCV_REGNUM, 8 },
+    { 1, IA64_UNAT_REGNUM, 8 },
+    { 1, IA64_FPSR_REGNUM, 8 },
+    { 1, IA64_PFS_REGNUM, 8 },
+    { 1, IA64_LC_REGNUM, 8 },
+    { 1, IA64_EC_REGNUM, 8 },
+    { 0 }
+  };
+
+/* Size of 'gregset_t', as defined by the Linux kernel.  Note that
+   this is more than actually mapped in the regmap above.  */
+
+#define IA64_LINUX_GREGS_SIZE (128 * 8)
+
+static const struct regcache_map_entry ia64_linux_fpregmap[] =
+  {
+    { 128, IA64_FR0_REGNUM, 16 }, /* f0 ... f127 */
+    { 0 }
+  };
+
+#define IA64_LINUX_FPREGS_SIZE (128 * 16)
+
+static void
+ia64_linux_supply_fpregset (const struct regset *regset,
+			    struct regcache *regcache,
+			    int regnum, const void *regs, size_t len)
+{
+  const gdb_byte f_zero[16] = { 0 };
+  const gdb_byte f_one[16] =
+    { 0, 0, 0, 0, 0, 0, 0, 0x80, 0xff, 0xff, 0, 0, 0, 0, 0, 0 };
+
+  regcache_supply_regset (regset, regcache, regnum, regs, len);
+
+  /* Kernel generated cores have fr1==0 instead of 1.0.  Older GDBs
+     did the same.  So ignore whatever might be recorded in fpregset_t
+     for fr0/fr1 and always supply their expected values.  */
+  if (regnum == -1 || regnum == IA64_FR0_REGNUM)
+    regcache_raw_supply (regcache, IA64_FR0_REGNUM, f_zero);
+  if (regnum == -1 || regnum == IA64_FR1_REGNUM)
+    regcache_raw_supply (regcache, IA64_FR1_REGNUM, f_one);
+}
+
+static const struct regset ia64_linux_gregset =
+  {
+    ia64_linux_gregmap,
+    regcache_supply_regset, regcache_collect_regset
+  };
+
+static const struct regset ia64_linux_fpregset =
+  {
+    ia64_linux_fpregmap,
+    ia64_linux_supply_fpregset, regcache_collect_regset
+  };
+
+static void
+ia64_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					 iterate_over_regset_sections_cb *cb,
+					 void *cb_data,
+					 const struct regcache *regcache)
+{
+  cb (".reg", IA64_LINUX_GREGS_SIZE, &ia64_linux_gregset, NULL, cb_data);
+  cb (".reg2", IA64_LINUX_FPREGS_SIZE, &ia64_linux_fpregset, NULL, cb_data);
+}
+
 static void
 ia64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
@@ -161,6 +241,10 @@ ia64_linux_init_abi (struct gdbarch_info
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
                                              svr4_fetch_objfile_link_map);
 
+  /* Core file support. */
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, ia64_linux_iterate_over_regset_sections);
+
   /* SystemTap related.  */
   set_gdbarch_stap_register_prefixes (gdbarch, stap_register_prefixes);
   set_gdbarch_stap_register_indirection_prefixes (gdbarch,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-tdep.c ./gdb/ia64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the IA-64 for GDB, the GNU debugger.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,7 +30,6 @@
 #include "frame-unwind.h"
 #include "doublest.h"
 #include "value.h"
-#include "gdb_assert.h"
 #include "objfiles.h"
 #include "elf/common.h"		/* for DT_PLTGOT value */
 #include "elf-bfd.h"
@@ -638,7 +637,7 @@ static int
 ia64_memory_insert_breakpoint (struct gdbarch *gdbarch,
 			       struct bp_target_info *bp_tgt)
 {
-  CORE_ADDR addr = bp_tgt->placed_address;
+  CORE_ADDR addr = bp_tgt->placed_address = bp_tgt->reqstd_address;
   gdb_byte bundle[BUNDLE_LEN];
   int slotnum = (int) (addr & 0x0f) / SLOT_MULTIPLIER, shadow_slotnum;
   long long instr_breakpoint;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-tdep.h ./gdb/ia64-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the ia64.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-vms-tdep.c ./gdb/ia64-vms-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ia64-vms-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ia64-vms-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenVMS IA-64.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infcall.c ./gdb/infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infcall.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/infcall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Perform an inferior function call, for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,20 +24,18 @@
 #include "regcache.h"
 #include "inferior.h"
 #include "infrun.h"
-#include "gdb_assert.h"
 #include "block.h"
 #include "gdbcore.h"
 #include "language.h"
 #include "objfiles.h"
 #include "gdbcmd.h"
 #include "command.h"
-#include <string.h>
 #include "infcall.h"
 #include "dummy-frame.h"
 #include "ada-lang.h"
 #include "gdbthread.h"
-#include "exceptions.h"
 #include "event-top.h"
+#include "observer.h"
 
 /* If we can't find a function's name from its address,
    we print this instead.  */
@@ -396,7 +394,7 @@ run_inferior_call (struct thread_info *c
 
   call_thread->control.in_infcall = 1;
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
 
   disable_watchpoints_before_interactive_call_start ();
 
@@ -458,6 +456,14 @@ cleanup_delete_std_terminate_breakpoint 
   delete_std_terminate_breakpoint ();
 }
 
+/* See infcall.h.  */
+
+struct value *
+call_function_by_hand (struct value *function, int nargs, struct value **args)
+{
+  return call_function_by_hand_dummy (function, nargs, args, NULL, NULL);
+}
+
 /* All this stuff with a dummy frame may seem unnecessarily complicated
    (why not just save registers in GDB?).  The purpose of pushing a dummy
    frame which looks just like a real frame is so that if you call a
@@ -477,7 +483,10 @@ cleanup_delete_std_terminate_breakpoint 
    ARGS is modified to contain coerced values.  */
 
 struct value *
-call_function_by_hand (struct value *function, int nargs, struct value **args)
+call_function_by_hand_dummy (struct value *function,
+			     int nargs, struct value **args,
+			     call_function_by_hand_dummy_dtor_ftype *dummy_dtor,
+			     void *dummy_dtor_data)
 {
   CORE_ADDR sp;
   struct type *values_type, *target_values_type;
@@ -498,6 +507,7 @@ call_function_by_hand (struct value *fun
   ptid_t call_thread_ptid;
   struct gdb_exception e;
   char name_buf[RAW_FUNCTION_ADDRESS_SIZE];
+  int stack_temporaries = thread_stack_temporaries_enabled_p (inferior_ptid);
 
   if (TYPE_CODE (ftype) == TYPE_CODE_PTR)
     ftype = check_typedef (TYPE_TARGET_TYPE (ftype));
@@ -596,6 +606,33 @@ call_function_by_hand (struct value *fun
          If the ABI specifies a "Red Zone" (see the doco) the code
          below will quietly trash it.  */
       sp = old_sp;
+
+    /* Skip over the stack temporaries that might have been generated during
+       the evaluation of an expression.  */
+    if (stack_temporaries)
+      {
+	struct value *lastval;
+
+	lastval = get_last_thread_stack_temporary (inferior_ptid);
+        if (lastval != NULL)
+	  {
+	    CORE_ADDR lastval_addr = value_address (lastval);
+
+	    if (gdbarch_inner_than (gdbarch, 1, 2))
+	      {
+		gdb_assert (sp >= lastval_addr);
+		sp = lastval_addr;
+	      }
+	    else
+	      {
+		gdb_assert (sp <= lastval_addr);
+		sp = lastval_addr + TYPE_LENGTH (value_type (lastval));
+	      }
+
+	    if (gdbarch_frame_align_p (gdbarch))
+	      sp = gdbarch_frame_align (gdbarch, sp);
+	  }
+      }
   }
 
   funaddr = find_function_addr (function, &values_type);
@@ -629,6 +666,8 @@ call_function_by_hand (struct value *fun
       target_values_type = values_type;
     }
 
+  observer_notify_inferior_call_pre (inferior_ptid, funaddr);
+
   /* Determine the location of the breakpoint (and possibly other
      stuff) that the called function will return to.  The SPARC, for a
      function returning a structure or union, needs to make space for
@@ -722,9 +761,21 @@ call_function_by_hand (struct value *fun
 
   /* Reserve space for the return structure to be written on the
      stack, if necessary.  Make certain that the value is correctly
-     aligned.  */
+     aligned.
+
+     While evaluating expressions, we reserve space on the stack for
+     return values of class type even if the language ABI and the target
+     ABI do not require that the return value be passed as a hidden first
+     argument.  This is because we want to store the return value as an
+     on-stack temporary while the expression is being evaluated.  This
+     enables us to have chained function calls in expressions.
+
+     Keeping the return values as on-stack temporaries while the expression
+     is being evaluated is OK because the thread is stopped until the
+     expression is completely evaluated.  */
 
-  if (struct_return || hidden_first_param_p)
+  if (struct_return || hidden_first_param_p
+      || (stack_temporaries && class_or_union_p (values_type)))
     {
       if (gdbarch_inner_than (gdbarch, 1, 2))
 	{
@@ -833,7 +884,10 @@ call_function_by_hand (struct value *fun
   /* Everything's ready, push all the info needed to restore the
      caller (and identify the dummy-frame) onto the dummy-frame
      stack.  */
-  dummy_frame_push (caller_state, &dummy_id);
+  dummy_frame_push (caller_state, &dummy_id, inferior_ptid);
+  if (dummy_dtor != NULL)
+    register_dummy_frame_dtor (dummy_id, inferior_ptid,
+			       dummy_dtor, dummy_dtor_data);
 
   /* Discard both inf_status and caller_state cleanups.
      From this point on we explicitly restore the associated state
@@ -862,6 +916,8 @@ call_function_by_hand (struct value *fun
     e = run_inferior_call (tp, real_pc);
   }
 
+  observer_notify_inferior_call_post (call_thread_ptid, funaddr);
+
   /* Rethrow an error if we got one trying to run the inferior.  */
 
   if (e.reason < 0)
@@ -959,7 +1015,7 @@ When the function is done executing, GDB
 
 	      /* We must get back to the frame we were before the
 		 dummy call.  */
-	      dummy_frame_pop (dummy_id);
+	      dummy_frame_pop (dummy_id, call_thread_ptid);
 
 	      /* We also need to restore inferior status to that before the
 		 dummy call.  */
@@ -1000,7 +1056,7 @@ When the function is done executing, GDB
 	{
 	  /* We must get back to the frame we were before the dummy
 	     call.  */
-	  dummy_frame_pop (dummy_id);
+	  dummy_frame_pop (dummy_id, call_thread_ptid);
 
 	  /* We also need to restore inferior status to that before
 	     the dummy call.  */
@@ -1062,31 +1118,40 @@ When the function is done executing, GDB
        At this stage, leave the RETBUF alone.  */
     restore_infcall_control_state (inf_status);
 
-    /* Figure out the value returned by the function.  */
-    retval = allocate_value (values_type);
-
-    if (hidden_first_param_p)
-      read_value_memory (retval, 0, 1, struct_addr,
-			 value_contents_raw (retval),
-			 TYPE_LENGTH (values_type));
-    else if (TYPE_CODE (target_values_type) != TYPE_CODE_VOID)
+    if (TYPE_CODE (values_type) == TYPE_CODE_VOID)
+      retval = allocate_value (values_type);
+    else if (struct_return || hidden_first_param_p)
       {
-	/* If the function returns void, don't bother fetching the
-	   return value.  */
-	switch (gdbarch_return_value (gdbarch, function, target_values_type,
-				      NULL, NULL, NULL))
+	if (stack_temporaries)
+	  {
+	    retval = value_from_contents_and_address (values_type, NULL,
+						      struct_addr);
+	    push_thread_stack_temporary (inferior_ptid, retval);
+	  }
+	else
 	  {
-	  case RETURN_VALUE_REGISTER_CONVENTION:
-	  case RETURN_VALUE_ABI_RETURNS_ADDRESS:
-	  case RETURN_VALUE_ABI_PRESERVES_ADDRESS:
-	    gdbarch_return_value (gdbarch, function, values_type,
-				  retbuf, value_contents_raw (retval), NULL);
-	    break;
-	  case RETURN_VALUE_STRUCT_CONVENTION:
+	    retval = allocate_value (values_type);
 	    read_value_memory (retval, 0, 1, struct_addr,
 			       value_contents_raw (retval),
 			       TYPE_LENGTH (values_type));
-	    break;
+	  }
+      }
+    else
+      {
+	retval = allocate_value (values_type);
+	gdbarch_return_value (gdbarch, function, values_type,
+			      retbuf, value_contents_raw (retval), NULL);
+	if (stack_temporaries && class_or_union_p (values_type))
+	  {
+	    /* Values of class type returned in registers are copied onto
+	       the stack and their lval_type set to lval_memory.  This is
+	       required because further evaluation of the expression
+	       could potentially invoke methods on the return value
+	       requiring GDB to evaluate the "this" pointer.  To evaluate
+	       the this pointer, GDB needs the memory address of the
+	       value.  */
+	    value_force_lval (retval, struct_addr);
+	    push_thread_stack_temporary (inferior_ptid, retval);
 	  }
       }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infcall.h ./gdb/infcall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infcall.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/infcall.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Perform an inferior function call, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -38,4 +38,15 @@ extern CORE_ADDR find_function_addr (str
 extern struct value *call_function_by_hand (struct value *function, int nargs,
 					    struct value **args);
 
+/* Similar to call_function_by_hand and additional call
+   register_dummy_frame_dtor with DUMMY_DTOR and DUMMY_DTOR_DATA for the
+   created inferior call dummy frame.  */
+
+typedef void (call_function_by_hand_dummy_dtor_ftype) (void *data);
+extern struct value *
+  call_function_by_hand_dummy (struct value *function, int nargs,
+			       struct value **args,
+			     call_function_by_hand_dummy_dtor_ftype *dummy_dtor,
+			       void *dummy_dtor_data);
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-child.c ./gdb/inf-child.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-child.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inf-child.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Base/prototype target for default child (native) targets.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,7 +28,6 @@
 #include "symtab.h"
 #include "target.h"
 #include "inferior.h"
-#include <string.h>
 #include <sys/stat.h>
 #include "inf-child.h"
 #include "gdb/fileio.h"
@@ -122,7 +121,8 @@ static int inf_child_explicitly_opened;
 /* See inf-child.h.  */
 
 void
-inf_child_open_target (struct target_ops *target, char *arg, int from_tty)
+inf_child_open_target (struct target_ops *target, const char *arg,
+		       int from_tty)
 {
   target_preopen (from_tty);
   push_target (target);
@@ -132,7 +132,7 @@ inf_child_open_target (struct target_ops
 }
 
 static void
-inf_child_open (char *arg, int from_tty)
+inf_child_open (const char *arg, int from_tty)
 {
   inf_child_open_target (inf_child_ops, arg, from_tty);
 }
@@ -140,7 +140,7 @@ inf_child_open (char *arg, int from_tty)
 /* Implement the to_disconnect target_ops method.  */
 
 static void
-inf_child_disconnect (struct target_ops *target, char *args, int from_tty)
+inf_child_disconnect (struct target_ops *target, const char *args, int from_tty)
 {
   if (args != NULL)
     error (_("Argument given to \"disconnect\"."));
@@ -412,7 +412,7 @@ inf_child_fileio_readlink (struct target
 {
   /* We support readlink only on systems that also provide a compile-time
      maximum path length (PATH_MAX), at least for now.  */
-#if defined (HAVE_READLINK) && defined (PATH_MAX)
+#if defined (PATH_MAX)
   char buf[PATH_MAX];
   int len;
   char *ret;
@@ -481,7 +481,6 @@ inf_child_target (void)
   t->to_terminal_init = child_terminal_init;
   t->to_terminal_inferior = child_terminal_inferior;
   t->to_terminal_ours_for_output = child_terminal_ours_for_output;
-  t->to_terminal_save_ours = child_terminal_save_ours;
   t->to_terminal_ours = child_terminal_ours;
   t->to_terminal_info = child_terminal_info;
   t->to_post_startup_inferior = inf_child_post_startup_inferior;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-child.h ./gdb/inf-child.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-child.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inf-child.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Base/prototype target for default child (native) targets.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -34,7 +34,7 @@ extern void store_waitstatus (struct tar
    the target, in case it need to override to_open.  */
 
 extern void inf_child_open_target (struct target_ops *target,
-				   char *arg, int from_tty);
+				   const char *arg, int from_tty);
 
 /* To be called by the native target's to_mourn_inferior routine.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infcmd.c ./gdb/infcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infcmd.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/infcmd.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Memory-access and commands for "inferior" process, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 #include "defs.h"
 #include "arch-utils.h"
 #include <signal.h>
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "frame.h"
@@ -43,11 +42,9 @@
 #include "block.h"
 #include "solib.h"
 #include <ctype.h>
-#include "gdb_assert.h"
 #include "observer.h"
 #include "target-descriptions.h"
 #include "user-regs.h"
-#include "exceptions.h"
 #include "cli/cli-decode.h"
 #include "gdbthread.h"
 #include "valprint.h"
@@ -686,7 +683,7 @@ proceed_thread_callback (struct thread_i
     return 0;
 
   switch_to_thread (thread->ptid);
-  clear_proceed_status ();
+  clear_proceed_status (0);
   proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT, 0);
   return 0;
 }
@@ -770,7 +767,7 @@ continue_1 (int all_threads)
     {
       ensure_valid_thread ();
       ensure_not_running ();
-      clear_proceed_status ();
+      clear_proceed_status (0);
       proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT, 0);
     }
 }
@@ -1047,7 +1044,7 @@ step_once (int skip_subroutines, int sin
 	 THREAD is set.  */
       struct thread_info *tp = inferior_thread ();
 
-      clear_proceed_status ();
+      clear_proceed_status (!skip_subroutines);
       set_step_frame ();
 
       if (!single_inst)
@@ -1202,9 +1199,12 @@ jump_command (char *arg, int from_tty)
 
   if (sfn != NULL)
     {
+      struct obj_section *section;
+
       fixup_symbol_section (sfn, 0);
-      if (section_is_overlay (SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (sfn), sfn)) &&
-	  !section_is_mapped (SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (sfn), sfn)))
+      section = SYMBOL_OBJ_SECTION (symbol_objfile (sfn), sfn);
+      if (section_is_overlay (section)
+	  && !section_is_mapped (section))
 	{
 	  if (!query (_("WARNING!!!  Destination is in "
 			"unmapped overlay!  Jump anyway? ")))
@@ -1224,7 +1224,7 @@ jump_command (char *arg, int from_tty)
       printf_filtered (".\n");
     }
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
   proceed (addr, GDB_SIGNAL_0, 0);
 }
 
@@ -1284,6 +1284,50 @@ signal_command (char *signum_exp, int fr
 	oursig = gdb_signal_from_command (num);
     }
 
+  /* Look for threads other than the current that this command ends up
+     resuming too (due to schedlock off), and warn if they'll get a
+     signal delivered.  "signal 0" is used to suppress a previous
+     signal, but if the current thread is no longer the one that got
+     the signal, then the user is potentially suppressing the signal
+     of the wrong thread.  */
+  if (!non_stop)
+    {
+      struct thread_info *tp;
+      ptid_t resume_ptid;
+      int must_confirm = 0;
+
+      /* This indicates what will be resumed.  Either a single thread,
+	 a whole process, or all threads of all processes.  */
+      resume_ptid = user_visible_resume_ptid (0);
+
+      ALL_NON_EXITED_THREADS (tp)
+	{
+	  if (ptid_equal (tp->ptid, inferior_ptid))
+	    continue;
+	  if (!ptid_match (tp->ptid, resume_ptid))
+	    continue;
+
+	  if (tp->suspend.stop_signal != GDB_SIGNAL_0
+	      && signal_pass_state (tp->suspend.stop_signal))
+	    {
+	      if (!must_confirm)
+		printf_unfiltered (_("Note:\n"));
+	      printf_unfiltered (_("  Thread %d previously stopped with signal %s, %s.\n"),
+				 tp->num,
+				 gdb_signal_to_name (tp->suspend.stop_signal),
+				 gdb_signal_to_string (tp->suspend.stop_signal));
+	      must_confirm = 1;
+	    }
+	}
+
+      if (must_confirm
+	  && !query (_("Continuing thread %d (the current thread) with specified signal will\n"
+		       "still deliver the signals noted above to their respective threads.\n"
+		       "Continue anyway? "),
+		     inferior_thread ()->num))
+	error (_("Not confirmed."));
+    }
+
   if (from_tty)
     {
       if (oursig == GDB_SIGNAL_0)
@@ -1293,10 +1337,50 @@ signal_command (char *signum_exp, int fr
 			 gdb_signal_to_name (oursig));
     }
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
   proceed ((CORE_ADDR) -1, oursig, 0);
 }
 
+/* Queue a signal to be delivered to the current thread.  */
+
+static void
+queue_signal_command (char *signum_exp, int from_tty)
+{
+  enum gdb_signal oursig;
+  struct thread_info *tp;
+
+  ERROR_NO_INFERIOR;
+  ensure_not_tfind_mode ();
+  ensure_valid_thread ();
+  ensure_not_running ();
+
+  if (signum_exp == NULL)
+    error_no_arg (_("signal number"));
+
+  /* It would be even slicker to make signal names be valid expressions,
+     (the type could be "enum $signal" or some such), then the user could
+     assign them to convenience variables.  */
+  oursig = gdb_signal_from_name (signum_exp);
+
+  if (oursig == GDB_SIGNAL_UNKNOWN)
+    {
+      /* No, try numeric.  */
+      int num = parse_and_eval_long (signum_exp);
+
+      if (num == 0)
+	oursig = GDB_SIGNAL_0;
+      else
+	oursig = gdb_signal_from_command (num);
+    }
+
+  if (oursig != GDB_SIGNAL_0
+      && !signal_pass_state (oursig))
+    error (_("Signal handling set to not pass this signal to the program."));
+
+  tp = inferior_thread ();
+  tp->suspend.stop_signal = oursig;
+}
+
 /* Continuation args to be passed to the "until" command
    continuation.  */
 struct until_next_continuation_args
@@ -1334,7 +1418,7 @@ until_next_command (int from_tty)
   int thread = tp->num;
   struct cleanup *old_chain;
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
   set_step_frame ();
 
   frame = get_current_frame ();
@@ -1622,8 +1706,7 @@ finish_backward (struct symbol *function
   pc = get_frame_pc (get_current_frame ());
 
   if (find_pc_partial_function (pc, NULL, &func_addr, NULL) == 0)
-    internal_error (__FILE__, __LINE__,
-		    _("Finish: couldn't find function."));
+    error (_("Cannot find bounds of current function"));
 
   sal = find_pc_line (func_addr, 0);
 
@@ -1739,7 +1822,7 @@ finish_command (char *arg, int from_tty)
   if (frame == 0)
     error (_("\"finish\" not meaningful in the outermost frame."));
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
 
   /* Finishing from an inline frame is completely different.  We don't
      try to show the "return value" - no way to locate it.  So we do
@@ -1861,7 +1944,7 @@ program_info (char *args, int from_tty)
 		       gdb_signal_to_string (tp->suspend.stop_signal));
     }
 
-  if (!from_tty)
+  if (from_tty)
     {
       printf_filtered (_("Type \"info stack\" or \"info "
 			 "registers\" for more information.\n"));
@@ -2351,7 +2434,7 @@ proceed_after_attach_callback (struct th
       && thread->suspend.stop_signal == GDB_SIGNAL_0)
     {
       switch_to_thread (thread->ptid);
-      clear_proceed_status ();
+      clear_proceed_status (0);
       proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT, 0);
     }
 
@@ -2374,16 +2457,6 @@ proceed_after_attach (int pid)
   do_cleanups (old_chain);
 }
 
-/*
- * TODO:
- * Should save/restore the tty state since it might be that the
- * program to be debugged was started on this tty and it wants
- * the tty in some state other than what we want.  If it's running
- * on another terminal or without a terminal, then saving and
- * restoring the tty state is a harmless no-op.
- * This only needs to be done if we are attaching to a process.
- */
-
 /* attach_command --
    takes a program started up outside of gdb and ``attaches'' to it.
    This stops it cold in its tracks and allows us to start debugging it.
@@ -2448,7 +2521,7 @@ attach_command_post_wait (char *args, in
 	{
 	  if (inferior_thread ()->suspend.stop_signal == GDB_SIGNAL_0)
 	    {
-	      clear_proceed_status ();
+	      clear_proceed_status (0);
 	      proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT, 0);
 	    }
 	}
@@ -2571,7 +2644,7 @@ attach_command (char *args, int from_tty
   /* Set up execution context to know that we should return from
      wait_for_inferior as soon as the target reports a stop.  */
   init_wait_for_inferior ();
-  clear_proceed_status ();
+  clear_proceed_status (0);
 
   if (non_stop)
     {
@@ -2794,43 +2867,41 @@ interrupt_command (char *args, int from_
     }
 }
 
-static void
-print_float_info (struct ui_file *file,
-		  struct frame_info *frame, const char *args)
+/* See inferior.h.  */
+
+void
+default_print_float_info (struct gdbarch *gdbarch, struct ui_file *file,
+			  struct frame_info *frame, const char *args)
 {
-  struct gdbarch *gdbarch = get_frame_arch (frame);
+  int regnum;
+  int printed_something = 0;
 
-  if (gdbarch_print_float_info_p (gdbarch))
-    gdbarch_print_float_info (gdbarch, file, frame, args);
-  else
+  for (regnum = 0;
+       regnum < gdbarch_num_regs (gdbarch)
+	 + gdbarch_num_pseudo_regs (gdbarch);
+       regnum++)
     {
-      int regnum;
-      int printed_something = 0;
-
-      for (regnum = 0;
-	   regnum < gdbarch_num_regs (gdbarch)
-		    + gdbarch_num_pseudo_regs (gdbarch);
-	   regnum++)
+      if (gdbarch_register_reggroup_p (gdbarch, regnum, float_reggroup))
 	{
-	  if (gdbarch_register_reggroup_p (gdbarch, regnum, float_reggroup))
-	    {
-	      printed_something = 1;
-	      gdbarch_print_registers_info (gdbarch, file, frame, regnum, 1);
-	    }
+	  printed_something = 1;
+	  gdbarch_print_registers_info (gdbarch, file, frame, regnum, 1);
 	}
-      if (!printed_something)
-	fprintf_filtered (file, "No floating-point info "
-			  "available for this processor.\n");
     }
+  if (!printed_something)
+    fprintf_filtered (file, "No floating-point info "
+		      "available for this processor.\n");
 }
 
 static void
 float_info (char *args, int from_tty)
 {
+  struct frame_info *frame;
+
   if (!target_has_registers)
     error (_("The program has no registers now."));
 
-  print_float_info (gdb_stdout, get_selected_frame (NULL), args);
+  frame = get_selected_frame (NULL);
+  gdbarch_print_float_info (get_frame_arch (frame), gdb_stdout, frame, args);
 }
 
 static void
@@ -2838,7 +2909,7 @@ unset_command (char *args, int from_tty)
 {
   printf_filtered (_("\"unset\" must be followed by the "
 		     "name of an unset subcommand.\n"));
-  help_list (unsetlist, "unset ", -1, gdb_stdout);
+  help_list (unsetlist, "unset ", all_commands, gdb_stdout);
 }
 
 /* Implement `info proc' family of commands.  */
@@ -3031,7 +3102,24 @@ The SIGNAL argument is processed the sam
 \n\
 An argument of \"0\" means continue the program without sending it a signal.\n\
 This is useful in cases where the program stopped because of a signal,\n\
-and you want to resume the program while discarding the signal."));
+and you want to resume the program while discarding the signal.\n\
+\n\
+In a multi-threaded program the signal is delivered to, or discarded from,\n\
+the current thread only."));
+  set_cmd_completer (c, signal_completer);
+
+  c = add_com ("queue-signal", class_run, queue_signal_command, _("\
+Queue a signal to be delivered to the current thread when it is resumed.\n\
+Usage: queue-signal SIGNAL\n\
+The SIGNAL argument is processed the same as the handle command.\n\
+It is an error if the handling state of SIGNAL is \"nopass\".\n\
+\n\
+An argument of \"0\" means remove any currently queued signal from\n\
+the current thread.  This is useful in cases where the program stopped\n\
+because of a signal, and you want to resume it while discarding the signal.\n\
+\n\
+In a multi-threaded program the signal is queued with, or discarded from,\n\
+the current thread only."));
   set_cmd_completer (c, signal_completer);
 
   add_com ("stepi", class_run, stepi_command, _("\
@@ -3148,18 +3236,24 @@ If non-stop mode is enabled, interrupt o
 otherwise all the threads in the program are stopped.  To \n\
 interrupt all running threads in non-stop mode, use the -a option."));
 
-  add_info ("registers", nofp_registers_info, _("\
+  c = add_info ("registers", nofp_registers_info, _("\
 List of integer registers and their contents, for selected stack frame.\n\
 Register name as argument means describe only that register."));
   add_info_alias ("r", "registers", 1);
+  set_cmd_completer (c, reg_or_group_completer);
 
   if (xdb_commands)
-    add_com ("lr", class_info, nofp_registers_info, _("\
+    {
+      c = add_com ("lr", class_info, nofp_registers_info, _("\
 List of integer registers and their contents, for selected stack frame.\n\
 Register name as argument means describe only that register."));
-  add_info ("all-registers", all_registers_info, _("\
+      set_cmd_completer (c, reg_or_group_completer);
+    }
+
+  c = add_info ("all-registers", all_registers_info, _("\
 List of all registers and their contents, for selected stack frame.\n\
 Register name as argument means describe only that register."));
+  set_cmd_completer (c, reg_or_group_completer);
 
   add_info ("program", program_info,
 	    _("Execution status of the program."));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inferior.c ./gdb/inferior.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inferior.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inferior.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Multi-process control for GDB, the GNU debugger.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -275,8 +275,6 @@ exit_inferior_1 (struct inferior *inftoe
       inf->vfork_child = NULL;
     }
 
-  inf->has_exit_code = 0;
-  inf->exit_code = 0;
   inf->pending_detach = 0;
 }
 
@@ -322,6 +320,8 @@ void
 inferior_appeared (struct inferior *inf, int pid)
 {
   inf->pid = pid;
+  inf->has_exit_code = 0;
+  inf->exit_code = 0;
 
   observer_notify_inferior_appeared (inf);
 }
@@ -367,12 +367,23 @@ find_inferior_pid (int pid)
   return NULL;
 }
 
-/* Find an inferior bound to PSPACE.  */
+/* See inferior.h */
+
+struct inferior *
+find_inferior_ptid (ptid_t ptid)
+{
+  return find_inferior_pid (ptid_get_pid (ptid));
+}
+
+/* See inferior.h.  */
 
 struct inferior *
 find_inferior_for_program_space (struct program_space *pspace)
 {
-  struct inferior *inf;
+  struct inferior *inf = current_inferior ();
+
+  if (inf->pspace == pspace)
+    return inf;
 
   for (inf = inferior_list; inf != NULL; inf = inf->next)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inferior.h ./gdb/inferior.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inferior.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inferior.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Variables that describe the inferior process running under GDB:
    Where it is, why it stopped, and how to step it.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,8 +31,6 @@ struct ui_out;
 struct terminal_info;
 struct target_desc_info;
 
-#include "ptid.h"
-
 /* For bpstat.  */
 #include "breakpoint.h"
 
@@ -108,12 +106,18 @@ extern void default_print_registers_info
 					  struct frame_info *frame,
 					  int regnum, int all);
 
+/* Default implementation of gdbarch_print_float_info.  Print
+   the values of all floating point registers.  */
+
+extern void default_print_float_info (struct gdbarch *gdbarch,
+				      struct ui_file *file,
+				      struct frame_info *frame,
+				      const char *args);
+
 extern void child_terminal_info (struct target_ops *self, const char *, int);
 
 extern void term_info (char *, int);
 
-extern void child_terminal_save_ours (struct target_ops *self);
-
 extern void child_terminal_ours (struct target_ops *self);
 
 extern void child_terminal_ours_for_output (struct target_ops *self);
@@ -254,11 +258,9 @@ enum stop_kind
 
 /* Number of traps that happen between exec'ing the shell to run an
    inferior and when we finally get to the inferior code, not counting
-   the exec for the shell.  This is 1 on most implementations.
-   Overridden in nm.h files.  */
-#if !defined(START_INFERIOR_TRAPS_EXPECTED)
+   the exec for the shell.  This is 1 on all supported
+   implementations.  */
 #define START_INFERIOR_TRAPS_EXPECTED	1
-#endif
 
 struct private_inferior;
 
@@ -471,10 +473,14 @@ extern int valid_gdb_inferior_id (int nu
 /* Search function to lookup an inferior by target 'pid'.  */
 extern struct inferior *find_inferior_pid (int pid);
 
+/* Search function to lookup an inferior whose pid is equal to 'ptid.pid'. */
+extern struct inferior *find_inferior_ptid (ptid_t ptid);
+
 /* Search function to lookup an inferior by GDB 'num'.  */
 extern struct inferior *find_inferior_id (int num);
 
-/* Find an inferior bound to PSPACE.  */
+/* Find an inferior bound to PSPACE, giving preference to the current
+   inferior.  */
 extern struct inferior *
   find_inferior_for_program_space (struct program_space *pspace);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-loop.c ./gdb/inf-loop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-loop.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inf-loop.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Handling of inferior events for the event loop for GDB, the GNU debugger.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Elena Zannoni <ezannoni@cygnus.com> of Cygnus Solutions.
 
    This file is part of GDB.
@@ -25,7 +25,6 @@
 #include "event-top.h"
 #include "inf-loop.h"
 #include "remote.h"
-#include "exceptions.h"
 #include "language.h"
 #include "gdbthread.h"
 #include "continuations.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-loop.h ./gdb/inf-loop.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-loop.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inf-loop.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface to the inferior event handling code for GDB, the GNU debugger.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Elena Zannoni <ezannoni@cygnus.com> of Cygnus Solutions.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inflow.c ./gdb/inflow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inflow.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inflow.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Low level interface to ptrace, for GDB when running under Unix.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,8 +25,6 @@
 #include "target.h"
 #include "gdbthread.h"
 #include "observer.h"
-
-#include <string.h>
 #include <signal.h>
 #include <fcntl.h>
 #include "gdb_select.h"
@@ -81,6 +79,10 @@ struct terminal_info
    unimportant.  */
 static struct terminal_info our_terminal_info;
 
+/* Snapshot of our own tty state taken during initialization of GDB.
+   This is used as the initial tty state given to each new inferior.  */
+static serial_ttystate initial_gdb_ttystate;
+
 static struct terminal_info *get_inflow_inferior_data (struct inferior *);
 
 #ifdef PROCESS_GROUP_TYPE
@@ -158,6 +160,14 @@ show_interactive_mode (struct ui_file *f
     fprintf_filtered (file, "Debugger's interactive mode is %s.\n", value);
 }
 
+/* Set the initial tty state that is to be inherited by new inferiors.  */
+
+void
+set_initial_gdb_ttystate (void)
+{
+  initial_gdb_ttystate = serial_get_tty_state (stdin_serial);
+}
+
 /* Does GDB have a terminal (on stdin)?  */
 int
 gdb_has_a_terminal (void)
@@ -229,7 +239,7 @@ child_terminal_init_with_pgrp (int pgrp)
     {
       xfree (tinfo->ttystate);
       tinfo->ttystate = serial_copy_tty_state (stdin_serial,
-					       our_terminal_info.ttystate);
+					       initial_gdb_ttystate);
 
       /* Make sure that next time we call terminal_inferior (which will be
          before the program runs, as it needs to be), we install the new
@@ -243,7 +253,7 @@ child_terminal_init_with_pgrp (int pgrp)
    and gdb must be able to restore it correctly.  */
 
 void
-child_terminal_save_ours (struct target_ops *self)
+gdb_save_tty_state (void)
 {
   if (gdb_has_a_terminal ())
     {
@@ -267,7 +277,11 @@ child_terminal_init (struct target_ops *
 }
 
 /* Put the inferior's terminal settings into effect.
-   This is preparation for starting or resuming the inferior.  */
+   This is preparation for starting or resuming the inferior.
+
+   N.B. Targets that want to use this with async support must build that
+   support on top of this (e.g., the caller still needs to remove stdin
+   from the event loop).  E.g., see linux_nat_terminal_inferior.  */
 
 void
 child_terminal_inferior (struct target_ops *self)
@@ -348,7 +362,10 @@ child_terminal_inferior (struct target_o
    so that no input is discarded.
 
    After doing this, either terminal_ours or terminal_inferior
-   should be called to get back to a normal state of affairs.  */
+   should be called to get back to a normal state of affairs.
+
+   N.B. The implementation is (currently) no different than
+   child_terminal_ours.  See child_terminal_ours_1.  */
 
 void
 child_terminal_ours_for_output (struct target_ops *self)
@@ -358,7 +375,11 @@ child_terminal_ours_for_output (struct t
 
 /* Put our terminal settings into effect.
    First record the inferior's terminal settings
-   so they can be restored properly later.  */
+   so they can be restored properly later.
+
+   N.B. Targets that want to use this with async support must build that
+   support on top of this (e.g., the caller still needs to add stdin to the
+   event loop).  E.g., see linux_nat_terminal_ours.  */
 
 void
 child_terminal_ours (struct target_ops *self)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inflow.h ./gdb/inflow.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inflow.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inflow.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low level interface to ptrace, for GDB when running under Unix.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-ptrace.c ./gdb/inf-ptrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-ptrace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inf-ptrace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low-level child interface to ptrace.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,9 +24,6 @@
 #include "terminal.h"
 #include "gdbcore.h"
 #include "regcache.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include "gdb_ptrace.h"
 #include "gdb_wait.h"
 #include <signal.h>
@@ -39,57 +36,22 @@
 
 #ifdef PT_GET_PROCESS_STATE
 
+/* Target hook for follow_fork.  On entry and at return inferior_ptid is
+   the ptid of the followed inferior.  */
+
 static int
 inf_ptrace_follow_fork (struct target_ops *ops, int follow_child,
 			int detach_fork)
 {
-  pid_t pid, fpid;
-  ptrace_state_t pe;
-
-  pid = ptid_get_pid (inferior_ptid);
-
-  if (ptrace (PT_GET_PROCESS_STATE, pid,
-	       (PTRACE_TYPE_ARG3)&pe, sizeof pe) == -1)
-    perror_with_name (("ptrace"));
-
-  gdb_assert (pe.pe_report_event == PTRACE_FORK);
-  fpid = pe.pe_other_pid;
-
-  if (follow_child)
+  if (!follow_child)
     {
-      struct inferior *parent_inf, *child_inf;
-      struct thread_info *tp;
-
-      parent_inf = find_inferior_pid (pid);
-
-      /* Add the child.  */
-      child_inf = add_inferior (fpid);
-      child_inf->attach_flag = parent_inf->attach_flag;
-      copy_terminal_info (child_inf, parent_inf);
-      child_inf->pspace = parent_inf->pspace;
-      child_inf->aspace = parent_inf->aspace;
+      struct thread_info *tp = inferior_thread ();
+      pid_t child_pid = ptid_get_pid (tp->pending_follow.value.related_pid);
 
-      /* Before detaching from the parent, remove all breakpoints from
-	 it.  */
-      remove_breakpoints ();
-
-      if (ptrace (PT_DETACH, pid, (PTRACE_TYPE_ARG3)1, 0) == -1)
-	perror_with_name (("ptrace"));
-
-      /* Switch inferior_ptid out of the parent's way.  */
-      inferior_ptid = pid_to_ptid (fpid);
-
-      /* Delete the parent.  */
-      detach_inferior (pid);
-
-      add_thread_silent (inferior_ptid);
-    }
-  else
-    {
       /* Breakpoints have already been detached from the child by
 	 infrun.c.  */
 
-      if (ptrace (PT_DETACH, fpid, (PTRACE_TYPE_ARG3)1, 0) == -1)
+      if (ptrace (PT_DETACH, child_pid, (PTRACE_TYPE_ARG3)1, 0) == -1)
 	perror_with_name (("ptrace"));
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-ptrace.h ./gdb/inf-ptrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-ptrace.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inf-ptrace.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low level child interface to ptrace.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infrun.c ./gdb/infrun.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infrun.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/infrun.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Target-struct-independent code to start (run) and stop an inferior
    process.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,12 +20,10 @@
 
 #include "defs.h"
 #include "infrun.h"
-#include <string.h>
 #include <ctype.h>
 #include "symtab.h"
 #include "frame.h"
 #include "inferior.h"
-#include "exceptions.h"
 #include "breakpoint.h"
 #include "gdb_wait.h"
 #include "gdbcore.h"
@@ -46,7 +44,6 @@
 #include "main.h"
 #include "dictionary.h"
 #include "block.h"
-#include "gdb_assert.h"
 #include "mi/mi-common.h"
 #include "event-top.h"
 #include "record.h"
@@ -62,6 +59,7 @@
 #include "completer.h"
 #include "target-descriptions.h"
 #include "target-dcache.h"
+#include "terminal.h"
 
 /* Prototypes for local functions */
 
@@ -81,6 +79,10 @@ static int restore_selected_frame (void 
 
 static int follow_fork (void);
 
+static int follow_fork_inferior (int follow_child, int detach_fork);
+
+static void follow_inferior_reset_breakpoints (void);
+
 static void set_schedlock_func (char *args, int from_tty,
 				struct cmd_list_element *c);
 
@@ -375,8 +377,6 @@ static void context_switch (ptid_t ptid)
 
 void init_thread_stepping_state (struct thread_info *tss);
 
-static void init_infwait_state (void);
-
 static const char follow_fork_mode_child[] = "child";
 static const char follow_fork_mode_parent[] = "parent";
 
@@ -398,6 +398,249 @@ show_follow_fork_mode_string (struct ui_
 }
 
 
+/* Handle changes to the inferior list based on the type of fork,
+   which process is being followed, and whether the other process
+   should be detached.  On entry inferior_ptid must be the ptid of
+   the fork parent.  At return inferior_ptid is the ptid of the
+   followed inferior.  */
+
+static int
+follow_fork_inferior (int follow_child, int detach_fork)
+{
+  int has_vforked;
+  int parent_pid, child_pid;
+
+  has_vforked = (inferior_thread ()->pending_follow.kind
+		 == TARGET_WAITKIND_VFORKED);
+  parent_pid = ptid_get_lwp (inferior_ptid);
+  if (parent_pid == 0)
+    parent_pid = ptid_get_pid (inferior_ptid);
+  child_pid
+    = ptid_get_pid (inferior_thread ()->pending_follow.value.related_pid);
+
+  if (has_vforked
+      && !non_stop /* Non-stop always resumes both branches.  */
+      && (!target_is_async_p () || sync_execution)
+      && !(follow_child || detach_fork || sched_multi))
+    {
+      /* The parent stays blocked inside the vfork syscall until the
+	 child execs or exits.  If we don't let the child run, then
+	 the parent stays blocked.  If we're telling the parent to run
+	 in the foreground, the user will not be able to ctrl-c to get
+	 back the terminal, effectively hanging the debug session.  */
+      fprintf_filtered (gdb_stderr, _("\
+Can not resume the parent process over vfork in the foreground while\n\
+holding the child stopped.  Try \"set detach-on-fork\" or \
+\"set schedule-multiple\".\n"));
+      /* FIXME output string > 80 columns.  */
+      return 1;
+    }
+
+  if (!follow_child)
+    {
+      /* Detach new forked process?  */
+      if (detach_fork)
+	{
+	  struct cleanup *old_chain;
+
+	  /* Before detaching from the child, remove all breakpoints
+	     from it.  If we forked, then this has already been taken
+	     care of by infrun.c.  If we vforked however, any
+	     breakpoint inserted in the parent is visible in the
+	     child, even those added while stopped in a vfork
+	     catchpoint.  This will remove the breakpoints from the
+	     parent also, but they'll be reinserted below.  */
+	  if (has_vforked)
+	    {
+	      /* Keep breakpoints list in sync.  */
+	      remove_breakpoints_pid (ptid_get_pid (inferior_ptid));
+	    }
+
+	  if (info_verbose || debug_infrun)
+	    {
+	      target_terminal_ours_for_output ();
+	      fprintf_filtered (gdb_stdlog,
+				_("Detaching after %s from "
+				  "child process %d.\n"),
+				has_vforked ? "vfork" : "fork",
+				child_pid);
+	    }
+	}
+      else
+	{
+	  struct inferior *parent_inf, *child_inf;
+	  struct cleanup *old_chain;
+
+	  /* Add process to GDB's tables.  */
+	  child_inf = add_inferior (child_pid);
+
+	  parent_inf = current_inferior ();
+	  child_inf->attach_flag = parent_inf->attach_flag;
+	  copy_terminal_info (child_inf, parent_inf);
+	  child_inf->gdbarch = parent_inf->gdbarch;
+	  copy_inferior_target_desc_info (child_inf, parent_inf);
+
+	  old_chain = save_inferior_ptid ();
+	  save_current_program_space ();
+
+	  inferior_ptid = ptid_build (child_pid, child_pid, 0);
+	  add_thread (inferior_ptid);
+	  child_inf->symfile_flags = SYMFILE_NO_READ;
+
+	  /* If this is a vfork child, then the address-space is
+	     shared with the parent.  */
+	  if (has_vforked)
+	    {
+	      child_inf->pspace = parent_inf->pspace;
+	      child_inf->aspace = parent_inf->aspace;
+
+	      /* The parent will be frozen until the child is done
+		 with the shared region.  Keep track of the
+		 parent.  */
+	      child_inf->vfork_parent = parent_inf;
+	      child_inf->pending_detach = 0;
+	      parent_inf->vfork_child = child_inf;
+	      parent_inf->pending_detach = 0;
+	    }
+	  else
+	    {
+	      child_inf->aspace = new_address_space ();
+	      child_inf->pspace = add_program_space (child_inf->aspace);
+	      child_inf->removable = 1;
+	      set_current_program_space (child_inf->pspace);
+	      clone_program_space (child_inf->pspace, parent_inf->pspace);
+
+	      /* Let the shared library layer (e.g., solib-svr4) learn
+		 about this new process, relocate the cloned exec, pull
+		 in shared libraries, and install the solib event
+		 breakpoint.  If a "cloned-VM" event was propagated
+		 better throughout the core, this wouldn't be
+		 required.  */
+	      solib_create_inferior_hook (0);
+	    }
+
+	  do_cleanups (old_chain);
+	}
+
+      if (has_vforked)
+	{
+	  struct inferior *parent_inf;
+
+	  parent_inf = current_inferior ();
+
+	  /* If we detached from the child, then we have to be careful
+	     to not insert breakpoints in the parent until the child
+	     is done with the shared memory region.  However, if we're
+	     staying attached to the child, then we can and should
+	     insert breakpoints, so that we can debug it.  A
+	     subsequent child exec or exit is enough to know when does
+	     the child stops using the parent's address space.  */
+	  parent_inf->waiting_for_vfork_done = detach_fork;
+	  parent_inf->pspace->breakpoints_not_allowed = detach_fork;
+	}
+    }
+  else
+    {
+      /* Follow the child.  */
+      struct inferior *parent_inf, *child_inf;
+      struct program_space *parent_pspace;
+
+      if (info_verbose || debug_infrun)
+	{
+	  target_terminal_ours_for_output ();
+	  fprintf_filtered (gdb_stdlog,
+			    _("Attaching after process %d "
+			      "%s to child process %d.\n"),
+			    parent_pid,
+			    has_vforked ? "vfork" : "fork",
+			    child_pid);
+	}
+
+      /* Add the new inferior first, so that the target_detach below
+	 doesn't unpush the target.  */
+
+      child_inf = add_inferior (child_pid);
+
+      parent_inf = current_inferior ();
+      child_inf->attach_flag = parent_inf->attach_flag;
+      copy_terminal_info (child_inf, parent_inf);
+      child_inf->gdbarch = parent_inf->gdbarch;
+      copy_inferior_target_desc_info (child_inf, parent_inf);
+
+      parent_pspace = parent_inf->pspace;
+
+      /* If we're vforking, we want to hold on to the parent until the
+	 child exits or execs.  At child exec or exit time we can
+	 remove the old breakpoints from the parent and detach or
+	 resume debugging it.  Otherwise, detach the parent now; we'll
+	 want to reuse it's program/address spaces, but we can't set
+	 them to the child before removing breakpoints from the
+	 parent, otherwise, the breakpoints module could decide to
+	 remove breakpoints from the wrong process (since they'd be
+	 assigned to the same address space).  */
+
+      if (has_vforked)
+	{
+	  gdb_assert (child_inf->vfork_parent == NULL);
+	  gdb_assert (parent_inf->vfork_child == NULL);
+	  child_inf->vfork_parent = parent_inf;
+	  child_inf->pending_detach = 0;
+	  parent_inf->vfork_child = child_inf;
+	  parent_inf->pending_detach = detach_fork;
+	  parent_inf->waiting_for_vfork_done = 0;
+	}
+      else if (detach_fork)
+	{
+	  if (info_verbose || debug_infrun)
+	    {
+	      target_terminal_ours_for_output ();
+	      fprintf_filtered (gdb_stdlog,
+				_("Detaching after fork from "
+				  "child process %d.\n"),
+				child_pid);
+	    }
+
+	  target_detach (NULL, 0);
+	}
+
+      /* Note that the detach above makes PARENT_INF dangling.  */
+
+      /* Add the child thread to the appropriate lists, and switch to
+	 this new thread, before cloning the program space, and
+	 informing the solib layer about this new process.  */
+
+      inferior_ptid = ptid_build (child_pid, child_pid, 0);
+      add_thread (inferior_ptid);
+
+      /* If this is a vfork child, then the address-space is shared
+	 with the parent.  If we detached from the parent, then we can
+	 reuse the parent's program/address spaces.  */
+      if (has_vforked || detach_fork)
+	{
+	  child_inf->pspace = parent_pspace;
+	  child_inf->aspace = child_inf->pspace->aspace;
+	}
+      else
+	{
+	  child_inf->aspace = new_address_space ();
+	  child_inf->pspace = add_program_space (child_inf->aspace);
+	  child_inf->removable = 1;
+	  child_inf->symfile_flags = SYMFILE_NO_READ;
+	  set_current_program_space (child_inf->pspace);
+	  clone_program_space (child_inf->pspace, parent_pspace);
+
+	  /* Let the shared library layer (e.g., solib-svr4) learn
+	     about this new process, relocate the cloned exec, pull in
+	     shared libraries, and install the solib event breakpoint.
+	     If a "cloned-VM" event was propagated better throughout
+	     the core, this wouldn't be required.  */
+	  solib_create_inferior_hook (0);
+	}
+    }
+
+  return target_follow_fork (follow_child, detach_fork);
+}
+
 /* Tell the target to follow the fork we're stopped at.  Returns true
    if the inferior should be resumed; false, if the target for some
    reason decided it's best not to resume.  */
@@ -488,9 +731,10 @@ follow_fork (void)
 	parent = inferior_ptid;
 	child = tp->pending_follow.value.related_pid;
 
-	/* Tell the target to do whatever is necessary to follow
-	   either parent or child.  */
-	if (target_follow_fork (follow_child, detach_fork))
+	/* Set up inferior(s) as specified by the caller, and tell the
+	   target to do whatever is necessary to follow either parent
+	   or child.  */
+	if (follow_fork_inferior (follow_child, detach_fork))
 	  {
 	    /* Target refused to follow, or there's some other reason
 	       we shouldn't resume.  */
@@ -562,14 +806,16 @@ follow_fork (void)
   return should_resume;
 }
 
-void
+static void
 follow_inferior_reset_breakpoints (void)
 {
   struct thread_info *tp = inferior_thread ();
 
   /* Was there a step_resume breakpoint?  (There was if the user
      did a "next" at the fork() call.)  If so, explicitly reset its
-     thread number.
+     thread number.  Cloned step_resume breakpoints are disabled on
+     creation, so enable it here now that it is associated with the
+     correct thread.
 
      step_resumes are a form of bp that are made to be per-thread.
      Since we created the step_resume bp when the parent process
@@ -579,10 +825,17 @@ follow_inferior_reset_breakpoints (void)
      it is for, or it'll be ignored when it triggers.  */
 
   if (tp->control.step_resume_breakpoint)
-    breakpoint_re_set_thread (tp->control.step_resume_breakpoint);
+    {
+      breakpoint_re_set_thread (tp->control.step_resume_breakpoint);
+      tp->control.step_resume_breakpoint->loc->enabled = 1;
+    }
 
+  /* Treat exception_resume breakpoints like step_resume breakpoints.  */
   if (tp->control.exception_resume_breakpoint)
-    breakpoint_re_set_thread (tp->control.exception_resume_breakpoint);
+    {
+      breakpoint_re_set_thread (tp->control.exception_resume_breakpoint);
+      tp->control.exception_resume_breakpoint->loc->enabled = 1;
+    }
 
   /* Reinsert all breakpoints in the child.  The user may have set
      breakpoints after catching the fork, in which case those
@@ -614,7 +867,7 @@ proceed_after_vfork_done (struct thread_
 			    target_pid_to_str (thread->ptid));
 
       switch_to_thread (thread->ptid);
-      clear_proceed_status ();
+      clear_proceed_status (0);
       proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT, 0);
     }
 
@@ -682,18 +935,22 @@ handle_vfork_child_exec_or_exit (int exe
 
 	  if (debug_infrun || info_verbose)
 	    {
-	      target_terminal_ours ();
+	      target_terminal_ours_for_output ();
 
 	      if (exec)
-		fprintf_filtered (gdb_stdlog,
-				  "Detaching vfork parent process "
-				  "%d after child exec.\n",
-				  inf->vfork_parent->pid);
+		{
+		  fprintf_filtered (gdb_stdlog,
+				    _("Detaching vfork parent process "
+				      "%d after child exec.\n"),
+				    inf->vfork_parent->pid);
+		}
 	      else
-		fprintf_filtered (gdb_stdlog,
-				  "Detaching vfork parent process "
-				  "%d after child exit.\n",
-				  inf->vfork_parent->pid);
+		{
+		  fprintf_filtered (gdb_stdlog,
+				    _("Detaching vfork parent process "
+				      "%d after child exit.\n"),
+				    inf->vfork_parent->pid);
+		}
 	    }
 
 	  target_detach (NULL, 0);
@@ -837,6 +1094,7 @@ follow_exec (ptid_t pid, char *execd_pat
      statement through an exec().  */
   th->control.step_resume_breakpoint = NULL;
   th->control.exception_resume_breakpoint = NULL;
+  th->control.single_step_breakpoints = NULL;
   th->control.step_range_start = 0;
   th->control.step_range_end = 0;
 
@@ -950,27 +1208,20 @@ follow_exec (ptid_t pid, char *execd_pat
      matically get reset there in the new process.).  */
 }
 
-/* Non-zero if we just simulating a single-step.  This is needed
-   because we cannot remove the breakpoints in the inferior process
-   until after the `wait' in `wait_for_inferior'.  */
-static int singlestep_breakpoints_inserted_p = 0;
-
-/* The thread we inserted single-step breakpoints for.  */
-static ptid_t singlestep_ptid;
-
-/* PC when we started this single-step.  */
-static CORE_ADDR singlestep_pc;
-
-/* Info about an instruction that is being stepped over.  Invalid if
-   ASPACE is NULL.  */
+/* Info about an instruction that is being stepped over.  */
 
 struct step_over_info
 {
-  /* The instruction's address space.  */
+  /* If we're stepping past a breakpoint, this is the address space
+     and address of the instruction the breakpoint is set at.  We'll
+     skip inserting all breakpoints here.  Valid iff ASPACE is
+     non-NULL.  */
   struct address_space *aspace;
-
-  /* The instruction's address.  */
   CORE_ADDR address;
+
+  /* The instruction being stepped over triggers a nonsteppable
+     watchpoint.  If true, we'll skip inserting watchpoints.  */
+  int nonsteppable_watchpoint_p;
 };
 
 /* The step-over info of the location that is being stepped over.
@@ -1003,10 +1254,12 @@ static struct step_over_info step_over_i
    stepping over.  */
 
 static void
-set_step_over_info (struct address_space *aspace, CORE_ADDR address)
+set_step_over_info (struct address_space *aspace, CORE_ADDR address,
+		    int nonsteppable_watchpoint_p)
 {
   step_over_info.aspace = aspace;
   step_over_info.address = address;
+  step_over_info.nonsteppable_watchpoint_p = nonsteppable_watchpoint_p;
 }
 
 /* Called when we're not longer stepping over a breakpoint / an
@@ -1017,9 +1270,10 @@ clear_step_over_info (void)
 {
   step_over_info.aspace = NULL;
   step_over_info.address = 0;
+  step_over_info.nonsteppable_watchpoint_p = 0;
 }
 
-/* See inferior.h.  */
+/* See infrun.h.  */
 
 int
 stepping_past_instruction_at (struct address_space *aspace,
@@ -1031,6 +1285,23 @@ stepping_past_instruction_at (struct add
 				       step_over_info.address));
 }
 
+/* See infrun.h.  */
+
+int
+stepping_past_nonsteppable_watchpoint (void)
+{
+  return step_over_info.nonsteppable_watchpoint_p;
+}
+
+/* Returns true if step-over info is valid.  */
+
+static int
+step_over_info_valid_p (void)
+{
+  return (step_over_info.aspace != NULL
+	  || stepping_past_nonsteppable_watchpoint ());
+}
+
 
 /* Displaced stepping.  */
 
@@ -1626,9 +1897,6 @@ infrun_thread_ptid_changed (ptid_t old_p
   if (ptid_equal (inferior_ptid, old_ptid))
     inferior_ptid = new_ptid;
 
-  if (ptid_equal (singlestep_ptid, old_ptid))
-    singlestep_ptid = new_ptid;
-
   for (displaced = displaced_step_inferior_states;
        displaced;
        displaced = displaced->next)
@@ -1649,6 +1917,9 @@ infrun_thread_ptid_changed (ptid_t old_p
 static void
 resume_cleanups (void *ignore)
 {
+  if (!ptid_equal (inferior_ptid, null_ptid))
+    delete_single_step_breakpoints (inferior_thread ());
+
   normal_stop ();
 }
 
@@ -1703,24 +1974,10 @@ maybe_software_singlestep (struct gdbarc
       && gdbarch_software_single_step (gdbarch, get_current_frame ()))
     {
       hw_step = 0;
-      /* Do not pull these breakpoints until after a `wait' in
-	 `wait_for_inferior'.  */
-      singlestep_breakpoints_inserted_p = 1;
-      singlestep_ptid = inferior_ptid;
-      singlestep_pc = pc;
     }
   return hw_step;
 }
 
-/* Return a ptid representing the set of threads that we will proceed,
-   in the perspective of the user/frontend.  We may actually resume
-   fewer threads at first, e.g., if a thread is stopped at a
-   breakpoint that needs stepping-off, but that should not be visible
-   to the user/frontend, and neither should the frontend/user be
-   allowed to proceed any of the threads that happen to be stopped for
-   internal run control handling, if a previous command wanted them
-   resumed.  */
-
 ptid_t
 user_visible_resume_ptid (int step)
 {
@@ -1741,13 +1998,18 @@ user_visible_resume_ptid (int step)
       resume_ptid = inferior_ptid;
     }
   else if ((scheduler_mode == schedlock_on)
-	   || (scheduler_mode == schedlock_step
-	       && (step || singlestep_breakpoints_inserted_p)))
+	   || (scheduler_mode == schedlock_step && step))
     {
       /* User-settable 'scheduler' mode requires solo thread resume.  */
       resume_ptid = inferior_ptid;
     }
 
+  /* We may actually resume fewer threads at first, e.g., if a thread
+     is stopped at a breakpoint that needs stepping-off, but that
+     should not be visible to the user/frontend, and neither should
+     the frontend/user be allowed to proceed any of the threads that
+     happen to be stopped for internal run control handling, if a
+     previous command wanted them resumed.  */
   return resume_ptid;
 }
 
@@ -1777,6 +2039,8 @@ resume (int step, enum gdb_signal sig)
      applies, it's the callers intention that counts.  */
   const int entry_step = step;
 
+  tp->stepped_breakpoint = 0;
+
   QUIT;
 
   if (current_inferior ()->waiting_for_vfork_done)
@@ -1813,13 +2077,81 @@ resume (int step, enum gdb_signal sig)
      breakpoints can't be removed.  So we have to test for it here.  */
   if (breakpoint_here_p (aspace, pc) == permanent_breakpoint_here)
     {
-      if (gdbarch_skip_permanent_breakpoint_p (gdbarch))
-	gdbarch_skip_permanent_breakpoint (gdbarch, regcache);
+      if (sig != GDB_SIGNAL_0)
+	{
+	  /* We have a signal to pass to the inferior.  The resume
+	     may, or may not take us to the signal handler.  If this
+	     is a step, we'll need to stop in the signal handler, if
+	     there's one, (if the target supports stepping into
+	     handlers), or in the next mainline instruction, if
+	     there's no handler.  If this is a continue, we need to be
+	     sure to run the handler with all breakpoints inserted.
+	     In all cases, set a breakpoint at the current address
+	     (where the handler returns to), and once that breakpoint
+	     is hit, resume skipping the permanent breakpoint.  If
+	     that breakpoint isn't hit, then we've stepped into the
+	     signal handler (or hit some other event).  We'll delete
+	     the step-resume breakpoint then.  */
+
+	  if (debug_infrun)
+	    fprintf_unfiltered (gdb_stdlog,
+				"infrun: resume: skipping permanent breakpoint, "
+				"deliver signal first\n");
+
+	  clear_step_over_info ();
+	  tp->control.trap_expected = 0;
+
+	  if (tp->control.step_resume_breakpoint == NULL)
+	    {
+	      /* Set a "high-priority" step-resume, as we don't want
+		 user breakpoints at PC to trigger (again) when this
+		 hits.  */
+	      insert_hp_step_resume_breakpoint_at_frame (get_current_frame ());
+	      gdb_assert (tp->control.step_resume_breakpoint->loc->permanent);
+
+	      tp->step_after_step_resume_breakpoint = step;
+	    }
+
+	  insert_breakpoints ();
+	}
       else
-	error (_("\
-The program is stopped at a permanent breakpoint, but GDB does not know\n\
-how to step past a permanent breakpoint on this architecture.  Try using\n\
-a command like `return' or `jump' to continue execution."));
+	{
+	  /* There's no signal to pass, we can go ahead and skip the
+	     permanent breakpoint manually.  */
+	  if (debug_infrun)
+	    fprintf_unfiltered (gdb_stdlog,
+				"infrun: resume: skipping permanent breakpoint\n");
+	  gdbarch_skip_permanent_breakpoint (gdbarch, regcache);
+	  /* Update pc to reflect the new address from which we will
+	     execute instructions.  */
+	  pc = regcache_read_pc (regcache);
+
+	  if (step)
+	    {
+	      /* We've already advanced the PC, so the stepping part
+		 is done.  Now we need to arrange for a trap to be
+		 reported to handle_inferior_event.  Set a breakpoint
+		 at the current PC, and run to it.  Don't update
+		 prev_pc, because if we end in
+		 switch_back_to_stepping, we want the "expected thread
+		 advanced also" branch to be taken.  IOW, we don't
+		 want this thread to step further from PC
+		 (overstep).  */
+	      insert_single_step_breakpoint (gdbarch, aspace, pc);
+	      insert_breakpoints ();
+
+	      tp->suspend.stop_signal = GDB_SIGNAL_0;
+	      /* We're continuing with all breakpoints inserted.  It's
+		 safe to let the target bypass signals.  */
+	      target_pass_signals ((int) GDB_SIGNAL_LAST, signal_pass);
+	      /* ... and safe to let other threads run, according to
+		 schedlock.  */
+	      resume_ptid = user_visible_resume_ptid (entry_step);
+	      target_resume (resume_ptid, 0, GDB_SIGNAL_0);
+	      discard_cleanups (old_cleanups);
+	      return;
+	    }
+	}
     }
 
   /* If we have a breakpoint to step over, make sure to do a single
@@ -1839,8 +2171,7 @@ a command like `return' or `jump' to con
      event, displaced stepping breaks the vfork child similarly as single
      step software breakpoint.  */
   if (use_displaced_stepping (gdbarch)
-      && (tp->control.trap_expected
-	  || (step && gdbarch_software_single_step_p (gdbarch)))
+      && tp->control.trap_expected
       && sig == GDB_SIGNAL_0
       && !current_inferior ()->waiting_for_vfork_done)
     {
@@ -1899,8 +2230,9 @@ a command like `return' or `jump' to con
      at the current address, deliver the signal without stepping, and
      once we arrive back at the step-resume breakpoint, actually step
      over the breakpoint we originally wanted to step over.  */
-  if (singlestep_breakpoints_inserted_p
-      && tp->control.trap_expected && sig != GDB_SIGNAL_0)
+  if (thread_has_single_step_breakpoints_set (tp)
+      && sig != GDB_SIGNAL_0
+      && step_over_info_valid_p ())
     {
       /* If we have nested signals or a pending signal is delivered
 	 immediately after a handler returns, might might already have
@@ -1913,8 +2245,7 @@ a command like `return' or `jump' to con
 	  tp->step_after_step_resume_breakpoint = 1;
 	}
 
-      remove_single_step_breakpoints ();
-      singlestep_breakpoints_inserted_p = 0;
+      delete_single_step_breakpoints (tp);
 
       clear_step_over_info ();
       tp->control.trap_expected = 0;
@@ -1925,7 +2256,7 @@ a command like `return' or `jump' to con
   /* If STEP is set, it's a request to use hardware stepping
      facilities.  But in that case, we should never
      use singlestep breakpoint.  */
-  gdb_assert (!(singlestep_breakpoints_inserted_p && step));
+  gdb_assert (!(thread_has_single_step_breakpoints_set (tp) && step));
 
   /* Decide the set of threads to ask the target to resume.  Start
      by assuming everything will be resumed, than narrow the set
@@ -1941,7 +2272,7 @@ a command like `return' or `jump' to con
     set_running (resume_ptid, 1);
 
   /* Maybe resume a single thread after all.  */
-  if ((step || singlestep_breakpoints_inserted_p)
+  if ((step || thread_has_single_step_breakpoints_set (tp))
       && tp->control.trap_expected)
     {
       /* We're allowing a thread to run past a breakpoint it has
@@ -1952,12 +2283,35 @@ a command like `return' or `jump' to con
       resume_ptid = inferior_ptid;
     }
 
-  if (gdbarch_cannot_step_breakpoint (gdbarch))
+  if (execution_direction != EXEC_REVERSE
+      && step && breakpoint_inserted_here_p (aspace, pc))
     {
+      /* The only case we currently need to step a breakpoint
+	 instruction is when we have a signal to deliver.  See
+	 handle_signal_stop where we handle random signals that could
+	 take out us out of the stepping range.  Normally, in that
+	 case we end up continuing (instead of stepping) over the
+	 signal handler with a breakpoint at PC, but there are cases
+	 where we should _always_ single-step, even if we have a
+	 step-resume breakpoint, like when a software watchpoint is
+	 set.  Assuming single-stepping and delivering a signal at the
+	 same time would takes us to the signal handler, then we could
+	 have removed the breakpoint at PC to step over it.  However,
+	 some hardware step targets (like e.g., Mac OS) can't step
+	 into signal handlers, and for those, we need to leave the
+	 breakpoint at PC inserted, as otherwise if the handler
+	 recurses and executes PC again, it'll miss the breakpoint.
+	 So we leave the breakpoint inserted anyway, but we need to
+	 record that we tried to step a breakpoint instruction, so
+	 that adjust_pc_after_break doesn't end up confused.  */
+      gdb_assert (sig != GDB_SIGNAL_0);
+
+      tp->stepped_breakpoint = 1;
+
       /* Most targets can step a breakpoint instruction, thus
 	 executing it normally.  But if this one cannot, just
 	 continue and we will hit it anyway.  */
-      if (step && breakpoint_inserted_here_p (aspace, pc))
+      if (gdbarch_cannot_step_breakpoint (gdbarch))
 	step = 0;
     }
 
@@ -1994,13 +2348,10 @@ a command like `return' or `jump' to con
   tp->suspend.stop_signal = GDB_SIGNAL_0;
 
   /* Advise target which signals may be handled silently.  If we have
-     removed breakpoints because we are stepping over one (which can
-     happen only if we are not using displaced stepping), we need to
-     receive all signals to avoid accidentally skipping a breakpoint
-     during execution of a signal handler.  */
-  if ((step || singlestep_breakpoints_inserted_p)
-      && tp->control.trap_expected
-      && !use_displaced_stepping (gdbarch))
+     removed breakpoints because we are stepping over one (in any
+     thread), we need to receive all signals to avoid accidentally
+     skipping a breakpoint during execution of a signal handler.  */
+  if (step_over_info_valid_p ())
     target_pass_signals (0, NULL);
   else
     target_pass_signals ((int) GDB_SIGNAL_LAST, signal_pass);
@@ -2023,6 +2374,11 @@ clear_proceed_status_thread (struct thre
 			"infrun: clear_proceed_status_thread (%s)\n",
 			target_pid_to_str (tp->ptid));
 
+  /* If this signal should not be seen by program, give it zero.
+     Used for debugging signals.  */
+  if (!signal_pass_state (tp->suspend.stop_signal))
+    tp->suspend.stop_signal = GDB_SIGNAL_0;
+
   tp->control.trap_expected = 0;
   tp->control.step_range_start = 0;
   tp->control.step_range_end = 0;
@@ -2042,26 +2398,24 @@ clear_proceed_status_thread (struct thre
   bpstat_clear (&tp->control.stop_bpstat);
 }
 
-static int
-clear_proceed_status_callback (struct thread_info *tp, void *data)
-{
-  if (is_exited (tp->ptid))
-    return 0;
-
-  clear_proceed_status_thread (tp);
-  return 0;
-}
-
 void
-clear_proceed_status (void)
+clear_proceed_status (int step)
 {
   if (!non_stop)
     {
-      /* In all-stop mode, delete the per-thread status of all
-	 threads, even if inferior_ptid is null_ptid, there may be
-	 threads on the list.  E.g., we may be launching a new
-	 process, while selecting the executable.  */
-      iterate_over_threads (clear_proceed_status_callback, NULL);
+      struct thread_info *tp;
+      ptid_t resume_ptid;
+
+      resume_ptid = user_visible_resume_ptid (step);
+
+      /* In all-stop mode, delete the per-thread status of all threads
+	 we're about to resume, implicitly and explicitly.  */
+      ALL_NON_EXITED_THREADS (tp)
+        {
+	  if (!ptid_match (tp->ptid, resume_ptid))
+	    continue;
+	  clear_proceed_status_thread (tp);
+	}
     }
 
   if (!ptid_equal (inferior_ptid, null_ptid))
@@ -2104,7 +2458,8 @@ thread_still_needs_step_over (struct thr
       struct regcache *regcache = get_thread_regcache (tp->ptid);
 
       if (breakpoint_here_p (get_regcache_aspace (regcache),
-			     regcache_read_pc (regcache)))
+			     regcache_read_pc (regcache))
+	  == ordinary_breakpoint_here)
 	return 1;
 
       tp->stepping_over_breakpoint = 0;
@@ -2220,7 +2575,8 @@ proceed (CORE_ADDR addr, enum gdb_signal
 
   if (addr == (CORE_ADDR) -1)
     {
-      if (pc == stop_pc && breakpoint_here_p (aspace, pc)
+      if (pc == stop_pc
+	  && breakpoint_here_p (aspace, pc) == ordinary_breakpoint_here
 	  && execution_direction != EXEC_REVERSE)
 	/* There is a breakpoint at the address we will resume at,
 	   step one instruction before inserting breakpoints so that
@@ -2243,6 +2599,9 @@ proceed (CORE_ADDR addr, enum gdb_signal
       regcache_write_pc (regcache, addr);
     }
 
+  if (siggnal != GDB_SIGNAL_DEFAULT)
+    tp->suspend.stop_signal = siggnal;
+
   /* Record the interpreter that issued the execution command that
      caused this thread to resume.  If the top level interpreter is
      MI/async, and the execution command was a CLI command
@@ -2300,7 +2659,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
       struct regcache *regcache = get_current_regcache ();
 
       set_step_over_info (get_regcache_aspace (regcache),
-			  regcache_read_pc (regcache));
+			  regcache_read_pc (regcache), 0);
     }
   else
     clear_step_over_info ();
@@ -2309,38 +2668,6 @@ proceed (CORE_ADDR addr, enum gdb_signal
 
   tp->control.trap_expected = tp->stepping_over_breakpoint;
 
-  if (!non_stop)
-    {
-      /* Pass the last stop signal to the thread we're resuming,
-	 irrespective of whether the current thread is the thread that
-	 got the last event or not.  This was historically GDB's
-	 behaviour before keeping a stop_signal per thread.  */
-
-      struct thread_info *last_thread;
-      ptid_t last_ptid;
-      struct target_waitstatus last_status;
-
-      get_last_target_status (&last_ptid, &last_status);
-      if (!ptid_equal (inferior_ptid, last_ptid)
-	  && !ptid_equal (last_ptid, null_ptid)
-	  && !ptid_equal (last_ptid, minus_one_ptid))
-	{
-	  last_thread = find_thread_ptid (last_ptid);
-	  if (last_thread)
-	    {
-	      tp->suspend.stop_signal = last_thread->suspend.stop_signal;
-	      last_thread->suspend.stop_signal = GDB_SIGNAL_0;
-	    }
-	}
-    }
-
-  if (siggnal != GDB_SIGNAL_DEFAULT)
-    tp->suspend.stop_signal = siggnal;
-  /* If this signal should not be seen by program,
-     give it zero.  Used for debugging signals.  */
-  else if (!signal_program[tp->suspend.stop_signal])
-    tp->suspend.stop_signal = GDB_SIGNAL_0;
-
   annotate_starting ();
 
   /* Make sure that output from GDB appears before output from the
@@ -2372,9 +2699,6 @@ proceed (CORE_ADDR addr, enum gdb_signal
      correctly when the inferior is stopped.  */
   tp->prev_pc = regcache_read_pc (get_current_regcache ());
 
-  /* Reset to normal state.  */
-  init_infwait_state ();
-
   /* Resume inferior.  */
   resume (tp->control.trap_expected || step || bpstat_should_step (),
 	  tp->suspend.stop_signal);
@@ -2434,38 +2758,17 @@ init_wait_for_inferior (void)
 
   breakpoint_init_inferior (inf_starting);
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
 
   target_last_wait_ptid = minus_one_ptid;
 
   previous_inferior_ptid = inferior_ptid;
-  init_infwait_state ();
 
   /* Discard any skipped inlined frames.  */
   clear_inline_frame_state (minus_one_ptid);
-
-  singlestep_ptid = null_ptid;
-  singlestep_pc = 0;
 }
 
 
-/* This enum encodes possible reasons for doing a target_wait, so that
-   wfi can call target_wait in one place.  (Ultimately the call will be
-   moved out of the infinite loop entirely.) */
-
-enum infwait_states
-{
-  infwait_normal_state,
-  infwait_step_watch_state,
-  infwait_nonstep_watch_state
-};
-
-/* The PTID we'll do a target_wait on.*/
-ptid_t waiton_ptid;
-
-/* Current inferior wait state.  */
-static enum infwait_states infwait_state;
-
 /* Data to be passed around while handling an event.  This data is
    discarded between events.  */
 struct execution_control_state
@@ -2482,11 +2785,6 @@ struct execution_control_state
   const char *stop_func_name;
   int wait_some_more;
 
-  /* We were in infwait_step_watch_state or
-     infwait_nonstep_watch_state state, and the thread reported an
-     event.  */
-  int stepped_after_stopped_by_watchpoint;
-
   /* True if the event thread hit the single-step breakpoint of
      another thread.  Thus the event doesn't cause a stop, the thread
      needs to be single-stepped past the single-step breakpoint before
@@ -2621,54 +2919,71 @@ infrun_thread_thread_exit (struct thread
     nullify_last_target_wait_ptid ();
 }
 
-/* Callback for iterate_over_threads.  */
+/* Delete the step resume, single-step and longjmp/exception resume
+   breakpoints of TP.  */
 
-static int
-delete_step_resume_breakpoint_callback (struct thread_info *info, void *data)
+static void
+delete_thread_infrun_breakpoints (struct thread_info *tp)
 {
-  if (is_exited (info->ptid))
-    return 0;
-
-  delete_step_resume_breakpoint (info);
-  delete_exception_resume_breakpoint (info);
-  return 0;
+  delete_step_resume_breakpoint (tp);
+  delete_exception_resume_breakpoint (tp);
+  delete_single_step_breakpoints (tp);
 }
 
-/* In all-stop, delete the step resume breakpoint of any thread that
-   had one.  In non-stop, delete the step resume breakpoint of the
-   thread that just stopped.  */
+/* If the target still has execution, call FUNC for each thread that
+   just stopped.  In all-stop, that's all the non-exited threads; in
+   non-stop, that's the current thread, only.  */
+
+typedef void (*for_each_just_stopped_thread_callback_func)
+  (struct thread_info *tp);
 
 static void
-delete_step_thread_step_resume_breakpoint (void)
+for_each_just_stopped_thread (for_each_just_stopped_thread_callback_func func)
 {
-  if (!target_has_execution
-      || ptid_equal (inferior_ptid, null_ptid))
-    /* If the inferior has exited, we have already deleted the step
-       resume breakpoints out of GDB's lists.  */
+  if (!target_has_execution || ptid_equal (inferior_ptid, null_ptid))
     return;
 
   if (non_stop)
     {
-      /* If in non-stop mode, only delete the step-resume or
-	 longjmp-resume breakpoint of the thread that just stopped
-	 stepping.  */
-      struct thread_info *tp = inferior_thread ();
-
-      delete_step_resume_breakpoint (tp);
-      delete_exception_resume_breakpoint (tp);
+      /* If in non-stop mode, only the current thread stopped.  */
+      func (inferior_thread ());
     }
   else
-    /* In all-stop mode, delete all step-resume and longjmp-resume
-       breakpoints of any thread that had them.  */
-    iterate_over_threads (delete_step_resume_breakpoint_callback, NULL);
+    {
+      struct thread_info *tp;
+
+      /* In all-stop mode, all threads have stopped.  */
+      ALL_NON_EXITED_THREADS (tp)
+        {
+	  func (tp);
+	}
+    }
+}
+
+/* Delete the step resume and longjmp/exception resume breakpoints of
+   the threads that just stopped.  */
+
+static void
+delete_just_stopped_threads_infrun_breakpoints (void)
+{
+  for_each_just_stopped_thread (delete_thread_infrun_breakpoints);
+}
+
+/* Delete the single-step breakpoints of the threads that just
+   stopped.  */
+
+static void
+delete_just_stopped_threads_single_step_breakpoints (void)
+{
+  for_each_just_stopped_thread (delete_single_step_breakpoints);
 }
 
 /* A cleanup wrapper.  */
 
 static void
-delete_step_thread_step_resume_breakpoint_cleanup (void *arg)
+delete_just_stopped_threads_infrun_breakpoints_cleanup (void *arg)
 {
-  delete_step_thread_step_resume_breakpoint ();
+  delete_just_stopped_threads_infrun_breakpoints ();
 }
 
 /* Pretty print the results of target_wait, for debugging purposes.  */
@@ -2803,14 +3118,16 @@ wait_for_inferior (void)
     fprintf_unfiltered
       (gdb_stdlog, "infrun: wait_for_inferior ()\n");
 
-  old_cleanups =
-    make_cleanup (delete_step_thread_step_resume_breakpoint_cleanup, NULL);
+  old_cleanups
+    = make_cleanup (delete_just_stopped_threads_infrun_breakpoints_cleanup,
+		    NULL);
 
   while (1)
     {
       struct execution_control_state ecss;
       struct execution_control_state *ecs = &ecss;
       struct cleanup *old_chain;
+      ptid_t waiton_ptid = minus_one_ptid;
 
       memset (ecs, 0, sizeof (*ecs));
 
@@ -2861,6 +3178,16 @@ wait_for_inferior (void)
 static void
 reinstall_readline_callback_handler_cleanup (void *arg)
 {
+  if (!interpreter_async)
+    {
+      /* We're not going back to the top level event loop yet.  Don't
+	 install the readline callback, as it'd prep the terminal,
+	 readline-style (raw, noecho) (e.g., --batch).  We'll install
+	 it the next time the prompt is displayed, when we're ready
+	 for input.  */
+      return;
+    }
+
   if (async_command_editing_p && !sync_execution)
     gdb_rl_callback_handler_reinstall ();
 }
@@ -2883,6 +3210,7 @@ fetch_inferior_event (void *client_data)
   struct cleanup *ts_old_chain;
   int was_sync = sync_execution;
   int cmd_done = 0;
+  ptid_t waiton_ptid = minus_one_ptid;
 
   memset (ecs, 0, sizeof (*ecs));
 
@@ -2937,14 +3265,16 @@ fetch_inferior_event (void *client_data)
      still for the thread which has thrown the exception.  */
   make_bpstat_clear_actions_cleanup ();
 
+  make_cleanup (delete_just_stopped_threads_infrun_breakpoints_cleanup, NULL);
+
   /* Now figure out what to do with the result of the result.  */
   handle_inferior_event (ecs);
 
   if (!ecs->wait_some_more)
     {
-      struct inferior *inf = find_inferior_pid (ptid_get_pid (ecs->ptid));
+      struct inferior *inf = find_inferior_ptid (ecs->ptid);
 
-      delete_step_thread_step_resume_breakpoint ();
+      delete_just_stopped_threads_infrun_breakpoints ();
 
       /* We may not find an inferior if this was a process exit.  */
       if (inf == NULL || inf->control.stop_soon == NO_STOP_QUIETLY)
@@ -3002,7 +3332,9 @@ set_step_info (struct frame_info *frame,
 void
 init_thread_stepping_state (struct thread_info *tss)
 {
+  tss->stepped_breakpoint = 0;
   tss->stepping_over_breakpoint = 0;
+  tss->stepping_over_watchpoint = 0;
   tss->step_after_step_resume_breakpoint = 0;
 }
 
@@ -3162,23 +3494,17 @@ adjust_pc_after_break (struct execution_
 	 software breakpoint.  In this case (prev_pc == breakpoint_pc),
 	 we also need to back up to the breakpoint address.  */
 
-      if (singlestep_breakpoints_inserted_p
+      if (thread_has_single_step_breakpoints_set (ecs->event_thread)
 	  || !ptid_equal (ecs->ptid, inferior_ptid)
 	  || !currently_stepping (ecs->event_thread)
-	  || ecs->event_thread->prev_pc == breakpoint_pc)
+	  || (ecs->event_thread->stepped_breakpoint
+	      && ecs->event_thread->prev_pc == breakpoint_pc))
 	regcache_write_pc (regcache, breakpoint_pc);
 
       do_cleanups (old_cleanups);
     }
 }
 
-static void
-init_infwait_state (void)
-{
-  waiton_ptid = pid_to_ptid (-1);
-  infwait_state = infwait_normal_state;
-}
-
 static int
 stepped_in_from (struct frame_info *frame, struct frame_id step_frame_id)
 {
@@ -3265,7 +3591,7 @@ fill_in_stop_func (struct gdbarch *gdbar
 static enum stop_kind
 get_inferior_stop_soon (ptid_t ptid)
 {
-  struct inferior *inf = find_inferior_pid (ptid_get_pid (ptid));
+  struct inferior *inf = find_inferior_ptid (ptid);
 
   gdb_assert (inf != NULL);
   return inf->control.stop_soon;
@@ -3399,40 +3725,6 @@ handle_inferior_event (struct execution_
 	   && ecs->ws.kind != TARGET_WAITKIND_EXITED)
     set_executing (ecs->ptid, 0);
 
-  switch (infwait_state)
-    {
-    case infwait_normal_state:
-      if (debug_infrun)
-        fprintf_unfiltered (gdb_stdlog, "infrun: infwait_normal_state\n");
-      break;
-
-    case infwait_step_watch_state:
-      if (debug_infrun)
-        fprintf_unfiltered (gdb_stdlog,
-			    "infrun: infwait_step_watch_state\n");
-
-      ecs->stepped_after_stopped_by_watchpoint = 1;
-      break;
-
-    case infwait_nonstep_watch_state:
-      if (debug_infrun)
-        fprintf_unfiltered (gdb_stdlog,
-			    "infrun: infwait_nonstep_watch_state\n");
-      insert_breakpoints ();
-
-      /* FIXME-maybe: is this cleaner than setting a flag?  Does it
-         handle things like signals arriving and other things happening
-         in combination correctly?  */
-      ecs->stepped_after_stopped_by_watchpoint = 1;
-      break;
-
-    default:
-      internal_error (__FILE__, __LINE__, _("bad switch"));
-    }
-
-  infwait_state = infwait_normal_state;
-  waiton_ptid = pid_to_ptid (-1);
-
   switch (ecs->ws.kind)
     {
     case TARGET_WAITKIND_LOADED:
@@ -3490,8 +3782,7 @@ handle_inferior_event (struct execution_
 	{
 	  /* Loading of shared libraries might have changed breakpoint
 	     addresses.  Make sure new breakpoints are inserted.  */
-	  if (stop_soon == NO_STOP_QUIETLY
-	      && !breakpoints_always_inserted_mode ())
+	  if (stop_soon == NO_STOP_QUIETLY)
 	    insert_breakpoints ();
 	  resume (0, GDB_SIGNAL_0);
 	  prepare_to_wait (ecs);
@@ -3534,7 +3825,7 @@ handle_inferior_event (struct execution_
 	}
 
       inferior_ptid = ecs->ptid;
-      set_current_inferior (find_inferior_pid (ptid_get_pid (ecs->ptid)));
+      set_current_inferior (find_inferior_ptid (ecs->ptid));
       set_current_program_space (current_inferior ()->pspace);
       handle_vfork_child_exec_or_exit (0);
       target_terminal_ours ();	/* Must do this before mourn anyway.  */
@@ -3590,8 +3881,6 @@ Cannot fill $_exitsignal with the correc
 
       gdb_flush (gdb_stdout);
       target_mourn_inferior ();
-      singlestep_breakpoints_inserted_p = 0;
-      cancel_single_step_breakpoints ();
       stop_print_frame = 0;
       stop_waiting (ecs);
       return;
@@ -3620,7 +3909,7 @@ Cannot fill $_exitsignal with the correc
 	if (displaced && ptid_equal (displaced->step_ptid, ecs->ptid))
 	  {
 	    struct inferior *parent_inf
-	      = find_inferior_pid (ptid_get_pid (ecs->ptid));
+	      = find_inferior_ptid (ecs->ptid);
 	    struct regcache *child_regcache;
 	    CORE_ADDR parent_pc;
 
@@ -3684,12 +3973,7 @@ Cannot fill $_exitsignal with the correc
 	  detach_breakpoints (ecs->ws.value.related_pid);
 	}
 
-      if (singlestep_breakpoints_inserted_p)
-	{
-	  /* Pull the single step breakpoints out of the target.  */
-	  remove_single_step_breakpoints ();
-	  singlestep_breakpoints_inserted_p = 0;
-	}
+      delete_just_stopped_threads_single_step_breakpoints ();
 
       /* In case the event is caught by a catchpoint, remember that
 	 the event is to be followed at the next resume of the thread,
@@ -3776,9 +4060,6 @@ Cannot fill $_exitsignal with the correc
       if (!ptid_equal (ecs->ptid, inferior_ptid))
 	context_switch (ecs->ptid);
 
-      singlestep_breakpoints_inserted_p = 0;
-      cancel_single_step_breakpoints ();
-
       stop_pc = regcache_read_pc (get_thread_regcache (ecs->ptid));
 
       /* Do whatever is necessary to the parent branch of the vfork.  */
@@ -3844,14 +4125,7 @@ Cannot fill $_exitsignal with the correc
         fprintf_unfiltered (gdb_stdlog, "infrun: TARGET_WAITKIND_NO_HISTORY\n");
       /* Reverse execution: target ran out of history info.  */
 
-      /* Pull the single step breakpoints out of the target.  */
-      if (singlestep_breakpoints_inserted_p)
-	{
-	  if (!ptid_equal (ecs->ptid, inferior_ptid))
-	    context_switch (ecs->ptid);
-	  remove_single_step_breakpoints ();
-	  singlestep_breakpoints_inserted_p = 0;
-	}
+      delete_just_stopped_threads_single_step_breakpoints ();
       stop_pc = regcache_read_pc (get_thread_regcache (ecs->ptid));
       observer_notify_no_history ();
       stop_waiting (ecs);
@@ -3990,40 +4264,50 @@ handle_signal_stop (struct execution_con
   gdbarch = get_frame_arch (frame);
 
   /* Pull the single step breakpoints out of the target.  */
-  if (singlestep_breakpoints_inserted_p)
+  if (ecs->event_thread->suspend.stop_signal == GDB_SIGNAL_TRAP)
     {
+      struct regcache *regcache;
+      struct address_space *aspace;
+      CORE_ADDR pc;
+
+      regcache = get_thread_regcache (ecs->ptid);
+      aspace = get_regcache_aspace (regcache);
+      pc = regcache_read_pc (regcache);
+
       /* However, before doing so, if this single-step breakpoint was
 	 actually for another thread, set this thread up for moving
 	 past it.  */
-      if (!ptid_equal (ecs->ptid, singlestep_ptid)
-	  && ecs->event_thread->suspend.stop_signal == GDB_SIGNAL_TRAP)
+      if (!thread_has_single_step_breakpoint_here (ecs->event_thread,
+						   aspace, pc))
 	{
-	  struct regcache *regcache;
-	  struct address_space *aspace;
-	  CORE_ADDR pc;
-
-	  regcache = get_thread_regcache (ecs->ptid);
-	  aspace = get_regcache_aspace (regcache);
-	  pc = regcache_read_pc (regcache);
 	  if (single_step_breakpoint_inserted_here_p (aspace, pc))
 	    {
 	      if (debug_infrun)
 		{
 		  fprintf_unfiltered (gdb_stdlog,
-				      "infrun: [%s] hit step over single-step"
-				      " breakpoint of [%s]\n",
-				      target_pid_to_str (ecs->ptid),
-				      target_pid_to_str (singlestep_ptid));
+				      "infrun: [%s] hit another thread's "
+				      "single-step breakpoint\n",
+				      target_pid_to_str (ecs->ptid));
 		}
 	      ecs->hit_singlestep_breakpoint = 1;
 	    }
 	}
-
-      remove_single_step_breakpoints ();
-      singlestep_breakpoints_inserted_p = 0;
+      else
+	{
+	  if (debug_infrun)
+	    {
+	      fprintf_unfiltered (gdb_stdlog,
+				  "infrun: [%s] hit its "
+				  "single-step breakpoint\n",
+				  target_pid_to_str (ecs->ptid));
+	    }
+	}
     }
+  delete_just_stopped_threads_single_step_breakpoints ();
 
-  if (ecs->stepped_after_stopped_by_watchpoint)
+  if (ecs->event_thread->suspend.stop_signal == GDB_SIGNAL_TRAP
+      && ecs->event_thread->control.trap_expected
+      && ecs->event_thread->stepping_over_watchpoint)
     stopped_by_watchpoint = 0;
   else
     stopped_by_watchpoint = watchpoints_triggered (&ecs->ws);
@@ -4046,36 +4330,28 @@ handle_signal_stop (struct execution_con
          watchpoint expression.  We do this by single-stepping the
 	 target.
 
-	 It may not be necessary to disable the watchpoint to stop over
+	 It may not be necessary to disable the watchpoint to step over
 	 it.  For example, the PA can (with some kernel cooperation)
 	 single step over a watchpoint without disabling the watchpoint.
 
 	 It is far more common to need to disable a watchpoint to step
 	 the inferior over it.  If we have non-steppable watchpoints,
 	 we must disable the current watchpoint; it's simplest to
-	 disable all watchpoints and breakpoints.  */
-      int hw_step = 1;
+	 disable all watchpoints.
 
-      if (!target_have_steppable_watchpoint)
-	{
-	  remove_breakpoints ();
-	  /* See comment in resume why we need to stop bypassing signals
-	     while breakpoints have been removed.  */
-	  target_pass_signals (0, NULL);
-	}
-	/* Single step */
-      hw_step = maybe_software_singlestep (gdbarch, stop_pc);
-      target_resume (ecs->ptid, hw_step, GDB_SIGNAL_0);
-      waiton_ptid = ecs->ptid;
-      if (target_have_steppable_watchpoint)
-	infwait_state = infwait_step_watch_state;
-      else
-	infwait_state = infwait_nonstep_watch_state;
-      prepare_to_wait (ecs);
+	 Any breakpoint at PC must also be stepped over -- if there's
+	 one, it will have already triggered before the watchpoint
+	 triggered, and we either already reported it to the user, or
+	 it didn't cause a stop and we called keep_going.  In either
+	 case, if there was a breakpoint at PC, we must be trying to
+	 step past it.  */
+      ecs->event_thread->stepping_over_watchpoint = 1;
+      keep_going (ecs);
       return;
     }
 
   ecs->event_thread->stepping_over_breakpoint = 0;
+  ecs->event_thread->stepping_over_watchpoint = 0;
   bpstat_clear (&ecs->event_thread->control.stop_bpstat);
   ecs->event_thread->control.stop_step = 0;
   stop_print_frame = 1;
@@ -4229,8 +4505,7 @@ handle_signal_stop (struct execution_con
   if (random_signal)
     {
       /* Signal not for debugging purposes.  */
-      int printed = 0;
-      struct inferior *inf = find_inferior_pid (ptid_get_pid (ecs->ptid));
+      struct inferior *inf = find_inferior_ptid (ecs->ptid);
       enum gdb_signal stop_signal = ecs->event_thread->suspend.stop_signal;
 
       if (debug_infrun)
@@ -4239,13 +4514,6 @@ handle_signal_stop (struct execution_con
 
       stopped_by_random_signal = 1;
 
-      if (signal_print[ecs->event_thread->suspend.stop_signal])
-	{
-	  /* The signal table tells us to print about this signal.  */
-	  printed = 1;
-	  target_terminal_ours_for_output ();
-	  observer_notify_signal_received (ecs->event_thread->suspend.stop_signal);
-	}
       /* Always stop on signals if we're either just gaining control
 	 of the program, or the user explicitly requested this thread
 	 to remain stopped.  */
@@ -4257,10 +4525,17 @@ handle_signal_stop (struct execution_con
 	  stop_waiting (ecs);
 	  return;
 	}
-      /* If not going to stop, give terminal back
-         if we took it away.  */
-      else if (printed)
-	target_terminal_inferior ();
+
+      /* Notify observers the signal has "handle print" set.  Note we
+	 returned early above if stopping; normal_stop handles the
+	 printing in that case.  */
+      if (signal_print[ecs->event_thread->suspend.stop_signal])
+	{
+	  /* The signal table tells us to print about this signal.  */
+	  target_terminal_ours_for_output ();
+	  observer_notify_signal_received (ecs->event_thread->suspend.stop_signal);
+	  target_terminal_inferior ();
+	}
 
       /* Clear the signal if it should not be passed.  */
       if (signal_program[ecs->event_thread->suspend.stop_signal] == 0)
@@ -4297,9 +4572,9 @@ handle_signal_stop (struct execution_con
 	  return;
 	}
 
-      if (ecs->event_thread->control.step_range_end != 0
-	  && ecs->event_thread->suspend.stop_signal != GDB_SIGNAL_0
-	  && pc_in_thread_step_range (stop_pc, ecs->event_thread)
+      if (ecs->event_thread->suspend.stop_signal != GDB_SIGNAL_0
+	  && (pc_in_thread_step_range (stop_pc, ecs->event_thread)
+	      || ecs->event_thread->control.step_range_end == 1)
 	  && frame_id_eq (get_stack_frame_id (frame),
 			  ecs->event_thread->control.step_stack_frame_id)
 	  && ecs->event_thread->control.step_resume_breakpoint == NULL)
@@ -4319,6 +4594,7 @@ handle_signal_stop (struct execution_con
                                 "single-step range\n");
 
 	  insert_hp_step_resume_breakpoint_at_frame (frame);
+	  ecs->event_thread->step_after_step_resume_breakpoint = 1;
 	  /* Reset trap_expected to ensure breakpoints are re-inserted.  */
 	  ecs->event_thread->control.trap_expected = 0;
 	  keep_going (ecs);
@@ -4401,7 +4677,10 @@ process_event_stop_test (struct executio
 	     is the third argument to the probe.  */
 	  arg_value = probe_safe_evaluate_at_pc (frame, 2);
 	  if (arg_value)
-	    jmp_buf_pc = value_as_address (arg_value);
+	    {
+	      jmp_buf_pc = value_as_address (arg_value);
+	      jmp_buf_pc = gdbarch_addr_bits_remove (gdbarch, jmp_buf_pc);
+	    }
 	  else if (!gdbarch_get_longjmp_target_p (gdbarch)
 		   || !gdbarch_get_longjmp_target (gdbarch,
 						   frame, &jmp_buf_pc))
@@ -4454,7 +4733,7 @@ process_event_stop_test (struct executio
 
 	if (what.is_longjmp)
 	  {
-	    check_longjmp_breakpoint_for_call_dummy (ecs->event_thread->num);
+	    check_longjmp_breakpoint_for_call_dummy (ecs->event_thread);
 
 	    if (!frame_id_p (ecs->event_thread->initiating_frame))
 	      {
@@ -4578,6 +4857,30 @@ process_event_stop_test (struct executio
       break;
     }
 
+  /* If we stepped a permanent breakpoint and we had a high priority
+     step-resume breakpoint for the address we stepped, but we didn't
+     hit it, then we must have stepped into the signal handler.  The
+     step-resume was only necessary to catch the case of _not_
+     stepping into the handler, so delete it, and fall through to
+     checking whether the step finished.  */
+  if (ecs->event_thread->stepped_breakpoint)
+    {
+      struct breakpoint *sr_bp
+	= ecs->event_thread->control.step_resume_breakpoint;
+
+      if (sr_bp->loc->permanent
+	  && sr_bp->type == bp_hp_step_resume
+	  && sr_bp->loc->address == ecs->event_thread->prev_pc)
+	{
+	  if (debug_infrun)
+	    fprintf_unfiltered (gdb_stdlog,
+				"infrun: stepped permanent breakpoint, stopped in "
+				"handler\n");
+	  delete_step_resume_breakpoint (ecs->event_thread);
+	  ecs->event_thread->step_after_step_resume_breakpoint = 0;
+	}
+    }
+
   /* We come here if we hit a breakpoint but should not stop for it.
      Possibly we also were stepping and should stop for that.  So fall
      through and test for stepping.  But, if not stepping, do not
@@ -4788,17 +5091,11 @@ process_event_stop_test (struct executio
       if (debug_infrun)
 	 fprintf_unfiltered (gdb_stdlog, "infrun: stepped into subroutine\n");
 
-      if ((ecs->event_thread->control.step_over_calls == STEP_OVER_NONE)
-	  || ((ecs->event_thread->control.step_range_end == 1)
-	      && in_prologue (gdbarch, ecs->event_thread->prev_pc,
-			      ecs->stop_func_start)))
+      if (ecs->event_thread->control.step_over_calls == STEP_OVER_NONE)
 	{
 	  /* I presume that step_over_calls is only 0 when we're
 	     supposed to be stepping at the assembly language level
 	     ("stepi").  Just stop.  */
-	  /* Also, maybe we just did a "nexti" inside a prolog, so we
-	     thought it was a subroutine call but it was not.  Stop as
-	     well.  FENN */
 	  /* And this works the same backward as frontward.  MVS */
 	  end_stepping_range (ecs);
 	  return;
@@ -5201,6 +5498,10 @@ switch_back_to_stepped_thread (struct ex
 	 what keep_going does as well, if we call it.  */
       ecs->event_thread->control.trap_expected = 0;
 
+      /* Likewise, clear the signal if it should not be passed.  */
+      if (!signal_program[ecs->event_thread->suspend.stop_signal])
+	ecs->event_thread->suspend.stop_signal = GDB_SIGNAL_0;
+
       /* If scheduler locking applies even if not stepping, there's no
 	 need to walk over threads.  Above we've checked whether the
 	 current thread is stepping.  If some other thread not the
@@ -5344,20 +5645,24 @@ switch_back_to_stepped_thread (struct ex
 	     breakpoint forward, one instruction at a time,
 	     overstepping.  */
 
-	  if (gdbarch_software_single_step_p (gdbarch)
-	      && stop_pc != tp->prev_pc)
+	  if (stop_pc != tp->prev_pc)
 	    {
 	      if (debug_infrun)
 		fprintf_unfiltered (gdb_stdlog,
 				    "infrun: expected thread advanced also\n");
 
+	      /* Clear the info of the previous step-over, as it's no
+		 longer valid.  It's what keep_going would do too, if
+		 we called it.  Must do this before trying to insert
+		 the sss breakpoint, otherwise if we were previously
+		 trying to step over this exact address in another
+		 thread, the breakpoint ends up not installed.  */
+	      clear_step_over_info ();
+
 	      insert_single_step_breakpoint (get_frame_arch (frame),
 					     get_frame_address_space (frame),
 					     stop_pc);
-	      singlestep_breakpoints_inserted_p = 1;
 	      ecs->event_thread->control.trap_expected = 1;
-	      singlestep_ptid = inferior_ptid;
-	      singlestep_pc = stop_pc;
 
 	      resume (0, GDB_SIGNAL_0);
 	      prepare_to_wait (ecs);
@@ -5385,6 +5690,7 @@ currently_stepping (struct thread_info *
   return ((tp->control.step_range_end
 	   && tp->control.step_resume_breakpoint == NULL)
 	  || tp->control.trap_expected
+	  || tp->stepped_breakpoint
 	  || bpstat_should_step ());
 }
 
@@ -5396,13 +5702,13 @@ static void
 handle_step_into_function (struct gdbarch *gdbarch,
 			   struct execution_control_state *ecs)
 {
-  struct symtab *s;
+  struct compunit_symtab *cust;
   struct symtab_and_line stop_func_sal, sr_sal;
 
   fill_in_stop_func (gdbarch, ecs);
 
-  s = find_pc_symtab (stop_pc);
-  if (s && s->language != language_asm)
+  cust = find_pc_compunit_symtab (stop_pc);
+  if (cust != NULL && compunit_language (cust) != language_asm)
     ecs->stop_func_start = gdbarch_skip_prologue (gdbarch,
 						  ecs->stop_func_start);
 
@@ -5475,13 +5781,13 @@ static void
 handle_step_into_function_backward (struct gdbarch *gdbarch,
 				    struct execution_control_state *ecs)
 {
-  struct symtab *s;
+  struct compunit_symtab *cust;
   struct symtab_and_line stop_func_sal;
 
   fill_in_stop_func (gdbarch, ecs);
 
-  s = find_pc_symtab (stop_pc);
-  if (s && s->language != language_asm)
+  cust = find_pc_compunit_symtab (stop_pc);
+  if (cust != NULL && compunit_language (cust) != language_asm)
     ecs->stop_func_start = gdbarch_skip_prologue (gdbarch,
 						  ecs->stop_func_start);
 
@@ -5631,7 +5937,7 @@ insert_longjmp_resume_breakpoint (struct
 
 static void
 insert_exception_resume_breakpoint (struct thread_info *tp,
-				    struct block *b,
+				    const struct block *b,
 				    struct frame_info *frame,
 				    struct symbol *sym)
 {
@@ -5728,7 +6034,7 @@ check_exception_resume (struct execution
 
   TRY_CATCH (e, RETURN_MASK_ERROR)
     {
-      struct block *b;
+      const struct block *b;
       struct block_iterator iter;
       struct symbol *sym;
       int argno = 0;
@@ -5807,6 +6113,8 @@ keep_going (struct execution_control_sta
     {
       volatile struct gdb_exception e;
       struct regcache *regcache = get_current_regcache ();
+      int remove_bp;
+      int remove_wps;
 
       /* Either the trap was not expected, but we are continuing
 	 anyway (if we got a signal, the user asked it be passed to
@@ -5826,13 +6134,19 @@ keep_going (struct execution_control_sta
 	 (watchpoints, etc.) but the one we're stepping over, step one
 	 instruction, and then re-insert the breakpoint when that step
 	 is finished.  */
-      if ((ecs->hit_singlestep_breakpoint
-	   || thread_still_needs_step_over (ecs->event_thread))
-	  && !use_displaced_stepping (get_regcache_arch (regcache)))
+
+      remove_bp = (ecs->hit_singlestep_breakpoint
+		   || thread_still_needs_step_over (ecs->event_thread));
+      remove_wps = (ecs->event_thread->stepping_over_watchpoint
+		    && !target_have_steppable_watchpoint);
+
+      if (remove_bp && !use_displaced_stepping (get_regcache_arch (regcache)))
 	{
 	  set_step_over_info (get_regcache_aspace (regcache),
-			      regcache_read_pc (regcache));
+			      regcache_read_pc (regcache), remove_wps);
 	}
+      else if (remove_wps)
+	set_step_over_info (NULL, 0, remove_wps);
       else
 	clear_step_over_info ();
 
@@ -5848,9 +6162,7 @@ keep_going (struct execution_control_sta
 	  return;
 	}
 
-      ecs->event_thread->control.trap_expected
-	= (ecs->event_thread->stepping_over_breakpoint
-	   || ecs->hit_singlestep_breakpoint);
+      ecs->event_thread->control.trap_expected = (remove_bp || remove_wps);
 
       /* Do not deliver GDB_SIGNAL_TRAP (except when the user
 	 explicitly specifies that such a signal should be delivered
@@ -5891,15 +6203,12 @@ prepare_to_wait (struct execution_contro
 }
 
 /* We are done with the step range of a step/next/si/ni command.
-   Called once for each n of a "step n" operation.  Notify observers
-   if not in the middle of doing a "step N" operation for N > 1.  */
+   Called once for each n of a "step n" operation.  */
 
 static void
 end_stepping_range (struct execution_control_state *ecs)
 {
   ecs->event_thread->control.stop_step = 1;
-  if (!ecs->event_thread->step_multi)
-    observer_notify_end_stepping_range ();
   stop_waiting (ecs);
 }
 
@@ -6110,6 +6419,19 @@ normal_stop (void)
 	   && last.kind != TARGET_WAITKIND_NO_RESUMED)
     make_cleanup (finish_thread_state_cleanup, &inferior_ptid);
 
+  /* As we're presenting a stop, and potentially removing breakpoints,
+     update the thread list so we can tell whether there are threads
+     running on the target.  With target remote, for example, we can
+     only learn about new threads when we explicitly update the thread
+     list.  Do this before notifying the interpreters about signal
+     stops, end of stepping ranges, etc., so that the "new thread"
+     output is emitted before e.g., "Program received signal FOO",
+     instead of after.  */
+  update_thread_list ();
+
+  if (last.kind == TARGET_WAITKIND_STOPPED && stopped_by_random_signal)
+    observer_notify_signal_received (inferior_thread ()->suspend.stop_signal);
+
   /* As with the notification of thread events, we want to delay
      notifying the user that we've switched thread context until
      the inferior actually stops.
@@ -6148,7 +6470,8 @@ normal_stop (void)
       printf_filtered (_("No unwaited-for children left.\n"));
     }
 
-  if (!breakpoints_always_inserted_mode () && target_has_execution)
+  /* Note: this depends on the update_thread_list call above.  */
+  if (!breakpoints_should_be_inserted_now () && target_has_execution)
     {
       if (remove_breakpoints ())
 	{
@@ -6165,14 +6488,19 @@ normal_stop (void)
   if (stopped_by_random_signal)
     disable_current_display ();
 
-  /* Don't print a message if in the middle of doing a "step n"
-     operation for n > 1 */
+  /* Notify observers if we finished a "step"-like command, etc.  */
   if (target_has_execution
       && last.kind != TARGET_WAITKIND_SIGNALLED
       && last.kind != TARGET_WAITKIND_EXITED
-      && inferior_thread ()->step_multi
       && inferior_thread ()->control.stop_step)
-    goto done;
+    {
+      /* But not if in the middle of doing a "step n" operation for
+	 n > 1 */
+      if (inferior_thread ()->step_multi)
+	goto done;
+
+      observer_notify_end_stepping_range ();
+    }
 
   target_terminal_ours ();
   async_enable_stdin ();
@@ -7163,7 +7491,7 @@ save_inferior_ptid (void)
   return make_cleanup (restore_inferior_ptid, saved_ptid_ptr);
 }
 
-/* See inferior.h.  */
+/* See infrun.h.  */
 
 void
 clear_exit_convenience_vars (void)
@@ -7354,7 +7682,7 @@ leave it stopped or free to run as neede
   signal_catch = (unsigned char *)
     xmalloc (sizeof (signal_catch[0]) * numsigs);
   signal_pass = (unsigned char *)
-    xmalloc (sizeof (signal_program[0]) * numsigs);
+    xmalloc (sizeof (signal_pass[0]) * numsigs);
   for (i = 0; i < numsigs; i++)
     {
       signal_stop[i] = 1;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infrun.h ./gdb/infrun.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/infrun.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/infrun.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1986-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
 #ifndef INFRUN_H
 #define INFRUN_H 1
 
-#include "ptid.h"
 #include "symtab.h"
 
 struct target_waitstatus;
@@ -83,7 +82,11 @@ extern struct regcache *stop_registers;
 
 extern void start_remote (int from_tty);
 
-extern void clear_proceed_status (void);
+/* Clear out all variables saying what to do when inferior is
+   continued or stepped.  First do this, then set the ones you want,
+   then call `proceed'.  STEP indicates whether we're preparing for a
+   step/stepi command.  */
+extern void clear_proceed_status (int step);
 
 extern void proceed (CORE_ADDR, enum gdb_signal, int);
 
@@ -91,6 +94,8 @@ extern void proceed (CORE_ADDR, enum gdb
    Normally, use `proceed', which handles a lot of bookkeeping.  */
 extern void resume (int, enum gdb_signal);
 
+/* Return a ptid representing the set of threads that we will proceed,
+   in the perspective of the user/frontend.  */
 extern ptid_t user_visible_resume_ptid (int step);
 
 extern void wait_for_inferior (void);
@@ -110,13 +115,15 @@ extern void insert_step_resume_breakpoin
 						  struct symtab_and_line ,
 						  struct frame_id);
 
-extern void follow_inferior_reset_breakpoints (void);
-
 /* Returns true if we're trying to step past the instruction at
    ADDRESS in ASPACE.  */
 extern int stepping_past_instruction_at (struct address_space *aspace,
 					 CORE_ADDR address);
 
+/* Returns true if we're trying to step past an instruction that
+   triggers a non-steppable watchpoint.  */
+extern int stepping_past_nonsteppable_watchpoint (void);
+
 extern void set_step_info (struct frame_info *frame,
 			   struct symtab_and_line sal);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-ttrace.c ./gdb/inf-ttrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-ttrace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inf-ttrace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low-level child interface to ttrace.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,9 +29,6 @@
 #include "inferior.h"
 #include "terminal.h"
 #include "target.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include <sys/mman.h>
 #include <sys/ttrace.h>
 #include <signal.h>
@@ -406,128 +403,18 @@ inf_ttrace_stopped_by_watchpoint (struct
 }
 
 
-/* When tracking a vfork(2), we cannot detach from the parent until
-   after the child has called exec(3) or has exited.  If we are still
-   attached to the parent, this variable will be set to the process ID
-   of the parent.  Otherwise it will be set to zero.  */
-static pid_t inf_ttrace_vfork_ppid = -1;
+/* Target hook for follow_fork.  On entry and at return inferior_ptid
+   is the ptid of the followed inferior.  */
 
 static int
 inf_ttrace_follow_fork (struct target_ops *ops, int follow_child,
 			int detach_fork)
 {
-  pid_t pid, fpid;
-  lwpid_t lwpid, flwpid;
-  ttstate_t tts;
   struct thread_info *tp = inferior_thread ();
 
   gdb_assert (tp->pending_follow.kind == TARGET_WAITKIND_FORKED
 	      || tp->pending_follow.kind == TARGET_WAITKIND_VFORKED);
 
-  pid = ptid_get_pid (inferior_ptid);
-  lwpid = ptid_get_lwp (inferior_ptid);
-
-  /* Get all important details that core GDB doesn't (and shouldn't)
-     know about.  */
-  if (ttrace (TT_LWP_GET_STATE, pid, lwpid,
-	      (uintptr_t)&tts, sizeof tts, 0) == -1)
-    perror_with_name (("ttrace"));
-
-  gdb_assert (tts.tts_event == TTEVT_FORK || tts.tts_event == TTEVT_VFORK);
-
-  if (tts.tts_u.tts_fork.tts_isparent)
-    {
-      pid = tts.tts_pid;
-      lwpid = tts.tts_lwpid;
-      fpid = tts.tts_u.tts_fork.tts_fpid;
-      flwpid = tts.tts_u.tts_fork.tts_flwpid;
-    }
-  else
-    {
-      pid = tts.tts_u.tts_fork.tts_fpid;
-      lwpid = tts.tts_u.tts_fork.tts_flwpid;
-      fpid = tts.tts_pid;
-      flwpid = tts.tts_lwpid;
-    }
-
-  if (follow_child)
-    {
-      struct inferior *inf;
-      struct inferior *parent_inf;
-
-      parent_inf = find_inferior_pid (pid);
-
-      inferior_ptid = ptid_build (fpid, flwpid, 0);
-      inf = add_inferior (fpid);
-      inf->attach_flag = parent_inf->attach_flag;
-      inf->pspace = parent_inf->pspace;
-      inf->aspace = parent_inf->aspace;
-      copy_terminal_info (inf, parent_inf);
-      detach_breakpoints (ptid_build (pid, lwpid, 0));
-
-      target_terminal_ours ();
-      fprintf_unfiltered (gdb_stdlog,
-			  _("Attaching after fork to child process %ld.\n"),
-			  (long)fpid);
-    }
-  else
-    {
-      inferior_ptid = ptid_build (pid, lwpid, 0);
-      /* Detach any remaining breakpoints in the child.  In the case
-	 of fork events, we do not need to do this, because breakpoints
-	 should have already been removed earlier.  */
-      if (tts.tts_event == TTEVT_VFORK)
-	detach_breakpoints (ptid_build (fpid, flwpid, 0));
-
-      target_terminal_ours ();
-      fprintf_unfiltered (gdb_stdlog,
-			  _("Detaching after fork from child process %ld.\n"),
-			  (long)fpid);
-    }
-
-  if (tts.tts_event == TTEVT_VFORK)
-    {
-      gdb_assert (!tts.tts_u.tts_fork.tts_isparent);
-
-      if (follow_child)
-	{
-	  /* We can't detach from the parent yet.  */
-	  inf_ttrace_vfork_ppid = pid;
-
-	  reattach_breakpoints (fpid);
-	}
-      else
-	{
-	  if (ttrace (TT_PROC_DETACH, fpid, 0, 0, 0, 0) == -1)
-	    perror_with_name (("ttrace"));
-
-	  /* Wait till we get the TTEVT_VFORK event in the parent.
-	     This indicates that the child has called exec(3) or has
-	     exited and that the parent is ready to be traced again.  */
-	  if (ttrace_wait (pid, lwpid, TTRACE_WAITOK, &tts, sizeof tts) == -1)
-	    perror_with_name (("ttrace_wait"));
-	  gdb_assert (tts.tts_event == TTEVT_VFORK);
-	  gdb_assert (tts.tts_u.tts_fork.tts_isparent);
-
-	  reattach_breakpoints (pid);
-	}
-    }
-  else
-    {
-      gdb_assert (tts.tts_u.tts_fork.tts_isparent);
-
-      if (follow_child)
-	{
-	  if (ttrace (TT_PROC_DETACH, pid, 0, 0, 0, 0) == -1)
-	    perror_with_name (("ttrace"));
-	}
-      else
-	{
-	  if (ttrace (TT_PROC_DETACH, fpid, 0, 0, 0, 0) == -1)
-	    perror_with_name (("ttrace"));
-	}
-    }
-
   if (follow_child)
     {
       struct thread_info *ti;
@@ -536,17 +423,21 @@ inf_ttrace_follow_fork (struct target_op
       inf_ttrace_num_lwps = 1;
       inf_ttrace_num_lwps_in_syscall = 0;
 
-      /* Delete parent.  */
-      delete_thread_silent (ptid_build (pid, lwpid, 0));
-      detach_inferior (pid);
-
-      /* Add child thread.  inferior_ptid was already set above.  */
-      ti = add_thread_silent (inferior_ptid);
+      ti = inferior_thread ();
       ti->private =
 	xmalloc (sizeof (struct inf_ttrace_private_thread_info));
       memset (ti->private, 0,
 	      sizeof (struct inf_ttrace_private_thread_info));
     }
+  else
+    {
+      pid_t child_pid;
+
+      /* Following parent.  Detach child now.  */
+      child_pid = ptid_get_pid (tp->pending_follow.value.related_pid);
+      if (ttrace (TT_PROC_DETACH, child_pid, 0, 0, 0, 0) == -1)
+	perror_with_name (("ttrace"));
+    }
 
   return 0;
 }
@@ -664,7 +555,6 @@ inf_ttrace_create_inferior (struct targe
   gdb_assert (inf_ttrace_num_lwps_in_syscall == 0);
   gdb_assert (inf_ttrace_page_dict.count == 0);
   gdb_assert (inf_ttrace_reenable_page_protections == 0);
-  gdb_assert (inf_ttrace_vfork_ppid == -1);
 
   pid = fork_inferior (exec_file, allargs, env, inf_ttrace_me, NULL,
 		       inf_ttrace_prepare, NULL, NULL);
@@ -775,7 +665,6 @@ inf_ttrace_attach (struct target_ops *op
 
   gdb_assert (inf_ttrace_num_lwps == 0);
   gdb_assert (inf_ttrace_num_lwps_in_syscall == 0);
-  gdb_assert (inf_ttrace_vfork_ppid == -1);
 
   if (ttrace (TT_PROC_ATTACH, pid, 0, TT_KILL_ON_EXIT, TT_VERSION, 0) == -1)
     perror_with_name (("ttrace"));
@@ -825,13 +714,6 @@ inf_ttrace_detach (struct target_ops *op
   if (ttrace (TT_PROC_DETACH, pid, 0, 0, sig, 0) == -1)
     perror_with_name (("ttrace"));
 
-  if (inf_ttrace_vfork_ppid != -1)
-    {
-      if (ttrace (TT_PROC_DETACH, inf_ttrace_vfork_ppid, 0, 0, 0, 0) == -1)
-	perror_with_name (("ttrace"));
-      inf_ttrace_vfork_ppid = -1;
-    }
-
   inf_ttrace_num_lwps = 0;
   inf_ttrace_num_lwps_in_syscall = 0;
 
@@ -853,13 +735,6 @@ inf_ttrace_kill (struct target_ops *ops)
     perror_with_name (("ttrace"));
   /* ??? Is it necessary to call ttrace_wait() here?  */
 
-  if (inf_ttrace_vfork_ppid != -1)
-    {
-      if (ttrace (TT_PROC_DETACH, inf_ttrace_vfork_ppid, 0, 0, 0, 0) == -1)
-	perror_with_name (("ttrace"));
-      inf_ttrace_vfork_ppid = -1;
-    }
-
   target_mourn_inferior ();
 }
 
@@ -970,20 +845,6 @@ inf_ttrace_wait (struct target_ops *ops,
       if (ttrace_wait (pid, lwpid, TTRACE_WAITOK, &tts, sizeof tts) == -1)
 	perror_with_name (("ttrace_wait"));
 
-      if (tts.tts_event == TTEVT_VFORK && tts.tts_u.tts_fork.tts_isparent)
-	{
-	  if (inf_ttrace_vfork_ppid != -1)
-	    {
-	      gdb_assert (inf_ttrace_vfork_ppid == tts.tts_pid);
-
-	      if (ttrace (TT_PROC_DETACH, tts.tts_pid, 0, 0, 0, 0) == -1)
-		perror_with_name (("ttrace"));
-	      inf_ttrace_vfork_ppid = -1;
-	    }
-
-	  tts.tts_event = TTEVT_NONE;
-	}
-
       clear_sigint_trap ();
     }
   while (tts.tts_event == TTEVT_NONE);
@@ -1078,17 +939,16 @@ inf_ttrace_wait (struct target_ops *ops,
       break;
 
     case TTEVT_VFORK:
-      gdb_assert (!tts.tts_u.tts_fork.tts_isparent);
-
-      related_ptid = ptid_build (tts.tts_u.tts_fork.tts_fpid,
-				 tts.tts_u.tts_fork.tts_flwpid, 0);
-
-      ourstatus->kind = TARGET_WAITKIND_VFORKED;
-      ourstatus->value.related_pid = related_ptid;
+      if (tts.tts_u.tts_fork.tts_isparent)
+	ourstatus->kind = TARGET_WAITKIND_VFORK_DONE;
+      else
+	{
+	  related_ptid = ptid_build (tts.tts_u.tts_fork.tts_fpid,
+				     tts.tts_u.tts_fork.tts_flwpid, 0);
 
-      /* HACK: To avoid touching the parent during the vfork, switch
-	 away from it.  */
-      inferior_ptid = ptid;
+	  ourstatus->kind = TARGET_WAITKIND_VFORKED;
+	  ourstatus->value.related_pid = related_ptid;
+	}
       break;
 
     case TTEVT_LWP_CREATE:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-ttrace.h ./gdb/inf-ttrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inf-ttrace.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inf-ttrace.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low-level child interface to ttrace.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inline-frame.c ./gdb/inline-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inline-frame.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inline-frame.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Inline frame unwinder for GDB.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,8 +28,6 @@
 #include "vec.h"
 #include "frame.h"
 
-#include "gdb_assert.h"
-
 /* We need to save a few variables for every thread stopped at the
    virtual call site of an inlined function.  If there was always a
    "struct thread_info", we could hang it off that; in the mean time,
@@ -209,7 +207,7 @@ inline_frame_sniffer (const struct frame
 		      void **this_cache)
 {
   CORE_ADDR this_pc;
-  struct block *frame_block, *cur_block;
+  const struct block *frame_block, *cur_block;
   int depth;
   struct frame_info *next_frame;
   struct inline_state *state = find_inline_frame_state (inferior_ptid);
@@ -274,9 +272,9 @@ const struct frame_unwind inline_frame_u
    before it).  */
 
 static int
-block_starting_point_at (CORE_ADDR pc, struct block *block)
+block_starting_point_at (CORE_ADDR pc, const struct block *block)
 {
-  struct blockvector *bv;
+  const struct blockvector *bv;
   struct block *new_block;
 
   bv = blockvector_for_pc (pc, NULL);
@@ -304,7 +302,7 @@ void
 skip_inline_frames (ptid_t ptid)
 {
   CORE_ADDR this_pc;
-  struct block *frame_block, *cur_block;
+  const struct block *frame_block, *cur_block;
   struct symbol *last_sym = NULL;
   int skip_count = 0;
   struct inline_state *state;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inline-frame.h ./gdb/inline-frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/inline-frame.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/inline-frame.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for inline frame support.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/interps.c ./gdb/interps.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/interps.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/interps.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Manages interpreters for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Written by Jim Ingham <jingham@apple.com> of Apple Computer, Inc.
 
@@ -36,10 +36,7 @@
 #include "event-top.h"
 #include "interps.h"
 #include "completer.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "top.h"		/* For command_loop.  */
-#include "exceptions.h"
 #include "continuations.h"
 
 /* True if the current interpreter in is async mode.  See interps.h
@@ -70,9 +67,6 @@ struct interp
   int quiet_p;
 };
 
-/* Functions local to this file.  */
-static void initialize_interps (void);
-
 /* The magic initialization routine for this module.  */
 
 void _initialize_interpreter (void);
@@ -83,8 +77,6 @@ static struct interp *interp_list = NULL
 static struct interp *current_interpreter = NULL;
 static struct interp *top_level_interpreter_ptr = NULL;
 
-static int interpreter_initialized = 0;
-
 /* interp_new - This allocates space for a new interpreter,
    fills the fields from the inputs, and returns a pointer to the
    interpreter.  */
@@ -112,9 +104,6 @@ interp_new (const char *name, const stru
 void
 interp_add (struct interp *interp)
 {
-  if (!interpreter_initialized)
-    initialize_interps ();
-
   gdb_assert (interp_lookup (interp->name) == NULL);
 
   interp->next = interp_list;
@@ -389,17 +378,6 @@ clear_interpreter_hooks (void)
   deprecated_error_begin_hook = 0;
 }
 
-/* This is a lazy init routine, called the first time the interpreter
-   module is used.  I put it here just in case, but I haven't thought
-   of a use for it yet.  I will probably bag it soon, since I don't
-   think it will be necessary.  */
-static void
-initialize_interps (void)
-{
-  interpreter_initialized = 1;
-  /* Don't know if anything needs to be done here...  */
-}
-
 static void
 interpreter_exec_cmd (char *args, int from_tty)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/interps.h ./gdb/interps.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/interps.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/interps.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Manages interpreters for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Written by Jim Ingham <jingham@apple.com> of Apple Computer, Inc.
 
@@ -22,8 +22,6 @@
 #ifndef INTERPS_H
 #define INTERPS_H
 
-#include "exceptions.h"
-
 struct ui_out;
 struct interp;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/iq2000-tdep.c ./gdb/iq2000-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/iq2000-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/iq2000-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Target-dependent code for the IQ2000 architecture, for GDB, the GNU
    Debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
@@ -28,7 +28,6 @@
 #include "gdbtypes.h"
 #include "value.h"
 #include "dis-asm.h"
-#include <string.h>
 #include "arch-utils.h"
 #include "regcache.h"
 #include "osabi.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/irix5-nat.c ./gdb/irix5-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/irix5-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/irix5-nat.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,274 +0,0 @@
-/* Native support for the SGI Iris running IRIX version 5, for GDB.
-
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
-
-   Contributed by Alessandro Forin(af@cs.cmu.edu) at CMU
-   and by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin.
-   Implemented for Irix 4.x by Garrett A. Wollman.
-   Modified for Irix 5.x by Ian Lance Taylor.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "inferior.h"
-#include "gdbcore.h"
-#include "target.h"
-#include "regcache.h"
-#include "procfs.h"
-
-#include <string.h>
-#include <sys/time.h>
-#include <sys/procfs.h>
-#include <setjmp.h>		/* For JB_XXX.  */
-
-/* Prototypes for supply_gregset etc.  */
-#include "gregset.h"
-#include "mips-tdep.h"
-
-static void fetch_core_registers (struct regcache *, char *,
-				  unsigned int, int, CORE_ADDR);
-
-
-/*
- * See the comment in m68k-tdep.c regarding the utility of these functions.
- *
- * These definitions are from the MIPS SVR4 ABI, so they may work for
- * any MIPS SVR4 target.
- */
-
-void
-supply_gregset (struct regcache *regcache, const gregset_t *gregsetp)
-{
-  int regi;
-  const greg_t *regp = &(*gregsetp)[0];
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  int gregoff = sizeof (greg_t) - mips_isa_regsize (gdbarch);
-  static char zerobuf[32] = {0};
-
-  for (regi = 0; regi <= CTX_RA; regi++)
-    regcache_raw_supply (regcache, regi,
-			 (const char *) (regp + regi) + gregoff);
-
-  regcache_raw_supply (regcache, mips_regnum (gdbarch)->pc,
-		       (const char *) (regp + CTX_EPC) + gregoff);
-  regcache_raw_supply (regcache, mips_regnum (gdbarch)->hi,
-		       (const char *) (regp + CTX_MDHI) + gregoff);
-  regcache_raw_supply (regcache, mips_regnum (gdbarch)->lo,
-		       (const char *) (regp + CTX_MDLO) + gregoff);
-  regcache_raw_supply (regcache, mips_regnum (gdbarch)->cause,
-		       (const char *) (regp + CTX_CAUSE) + gregoff);
-
-  /* Fill inaccessible registers with zero.  */
-  regcache_raw_supply (regcache, mips_regnum (gdbarch)->badvaddr, zerobuf);
-}
-
-void
-fill_gregset (const struct regcache *regcache, gregset_t *gregsetp, int regno)
-{
-  int regi, size;
-  greg_t *regp = &(*gregsetp)[0];
-  gdb_byte buf[MAX_REGISTER_SIZE];
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-
-  /* Under Irix6, if GDB is built with N32 ABI and is debugging an O32
-     executable, we have to sign extend the registers to 64 bits before
-     filling in the gregset structure.  */
-
-  for (regi = 0; regi <= CTX_RA; regi++)
-    if ((regno == -1) || (regno == regi))
-      {
-	size = register_size (gdbarch, regi);
-	regcache_raw_collect (regcache, regi, buf);
-	*(regp + regi) = extract_signed_integer (buf, size, byte_order);
-      }
-
-  if ((regno == -1) || (regno == mips_regnum (gdbarch)->pc))
-    {
-      regi = mips_regnum (gdbarch)->pc;
-      size = register_size (gdbarch, regi);
-      regcache_raw_collect (regcache, regi, buf);
-      *(regp + CTX_EPC) = extract_signed_integer (buf, size, byte_order);
-    }
-
-  if ((regno == -1) || (regno == mips_regnum (gdbarch)->cause))
-    {
-      regi = mips_regnum (gdbarch)->cause;
-      size = register_size (gdbarch, regi);
-      regcache_raw_collect (regcache, regi, buf);
-      *(regp + CTX_CAUSE) = extract_signed_integer (buf, size, byte_order);
-    }
-
-  if ((regno == -1) || (regno == mips_regnum (gdbarch)->hi))
-    {
-      regi = mips_regnum (gdbarch)->hi;
-      size = register_size (gdbarch, regi);
-      regcache_raw_collect (regcache, regi, buf);
-      *(regp + CTX_MDHI) = extract_signed_integer (buf, size, byte_order);
-    }
-
-  if ((regno == -1) || (regno == mips_regnum (gdbarch)->lo))
-    {
-      regi = mips_regnum (gdbarch)->lo;
-      size = register_size (gdbarch, regi);
-      regcache_raw_collect (regcache, regi, buf);
-      *(regp + CTX_MDLO) = extract_signed_integer (buf, size, byte_order);
-    }
-}
-
-/*
- * Now we do the same thing for floating-point registers.
- * We don't bother to condition on gdbarch_fp0_regnum since any
- * reasonable MIPS configuration has an R3010 in it.
- *
- * Again, see the comments in m68k-tdep.c.
- */
-
-void
-supply_fpregset (struct regcache *regcache, const fpregset_t *fpregsetp)
-{
-  int regi;
-  static char zerobuf[32] = {0};
-  char fsrbuf[8];
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-
-  /* FIXME, this is wrong for the N32 ABI which has 64 bit FP regs.  */
-
-  for (regi = 0; regi < 32; regi++)
-    regcache_raw_supply (regcache, gdbarch_fp0_regnum (gdbarch) + regi,
-			 (const char *) &fpregsetp->__fp_r.__fp_regs[regi]);
-
-  /* We can't supply the FSR register directly to the regcache,
-     because there is a size issue: On one hand, fpregsetp->fp_csr
-     is 32bits long, while the regcache expects a 64bits long value.
-     So we use a buffer of the correct size and copy into it the register
-     value at the proper location.  */
-  memset (fsrbuf, 0, 4);
-  memcpy (fsrbuf + 4, &fpregsetp->__fp_csr, 4);
-
-  regcache_raw_supply (regcache,
-		       mips_regnum (gdbarch)->fp_control_status, fsrbuf);
-
-  /* FIXME: how can we supply FCRIR?  SGI doesn't tell us.  */
-  regcache_raw_supply (regcache,
-		       mips_regnum (gdbarch)->fp_implementation_revision,
-		       zerobuf);
-}
-
-void
-fill_fpregset (const struct regcache *regcache,
-	       fpregset_t *fpregsetp, int regno)
-{
-  int regi;
-  char *from, *to;
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-
-  /* FIXME, this is wrong for the N32 ABI which has 64 bit FP regs.  */
-
-  for (regi = gdbarch_fp0_regnum (gdbarch);
-       regi < gdbarch_fp0_regnum (gdbarch) + 32; regi++)
-    {
-      if ((regno == -1) || (regno == regi))
-	{
-	  const int fp0_regnum = gdbarch_fp0_regnum (gdbarch);
-
-	  to = (char *) &(fpregsetp->__fp_r.__fp_regs[regi - fp0_regnum]);
-          regcache_raw_collect (regcache, regi, to);
-	}
-    }
-
-  if (regno == -1
-      || regno == mips_regnum (gdbarch)->fp_control_status)
-    {
-      char fsrbuf[8];
-
-      /* We can't fill the FSR register directly from the regcache,
-         because there is a size issue: On one hand, fpregsetp->fp_csr
-         is 32bits long, while the regcache expects a 64bits long buffer.
-         So we use a buffer of the correct size and copy the register
-         value from that buffer.  */
-      regcache_raw_collect (regcache,
-			    mips_regnum (gdbarch)->fp_control_status, fsrbuf);
-
-      memcpy (&fpregsetp->__fp_csr, fsrbuf + 4, 4);
-    }
-}
-
-
-/* Provide registers to GDB from a core file.
-
-   CORE_REG_SECT points to an array of bytes, which were obtained from
-   a core file which BFD thinks might contain register contents. 
-   CORE_REG_SIZE is its size.
-
-   Normally, WHICH says which register set corelow suspects this is:
-     0 --- the general-purpose register set
-     2 --- the floating-point register set
-   However, for Irix 5, WHICH isn't used.
-
-   REG_ADDR is also unused.  */
-
-static void
-fetch_core_registers (struct regcache *regcache,
-		      char *core_reg_sect, unsigned core_reg_size,
-		      int which, CORE_ADDR reg_addr)
-{
-  char *srcp = core_reg_sect;
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  int regsize = mips_isa_regsize (gdbarch);
-  int regno;
-
-  /* If regsize is 8, this is a N32 or N64 core file.
-     If regsize is 4, this is an O32 core file.  */
-  if (core_reg_size != regsize * gdbarch_num_regs (gdbarch))
-    {
-      warning (_("wrong size gregset struct in core file"));
-      return;
-    }
-
-  for (regno = 0; regno < gdbarch_num_regs (gdbarch); regno++)
-    {
-      regcache_raw_supply (regcache, regno, srcp);
-      srcp += regsize;
-    }
-}
-
-/* Register that we are able to handle irix5 core file formats.
-   This really is bfd_target_unknown_flavour.  */
-
-static struct core_fns irix5_core_fns =
-{
-  bfd_target_unknown_flavour,		/* core_flavour */
-  default_check_format,			/* check_format */
-  default_core_sniffer,			/* core_sniffer */
-  fetch_core_registers,			/* core_read_registers */
-  NULL					/* next */
-};
-
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-extern initialize_file_ftype _initialize_irix5_nat;
-
-void
-_initialize_irix5_nat (void)
-{
-  struct target_ops *t;
-
-  t = procfs_target ();
-  procfs_use_watchpoints (t);
-  add_target (t);
-
-  deprecated_add_core_fns (&irix5_core_fns);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jit.c ./gdb/jit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jit.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/jit.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle JIT code generation in the inferior for GDB, the GNU Debugger.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -38,7 +38,6 @@
 #include "target.h"
 #include "gdb-dlfcn.h"
 #include <sys/stat.h>
-#include "exceptions.h"
 #include "gdb_bfd.h"
 
 static const char *jit_reader_dir = NULL;
@@ -634,44 +633,46 @@ jit_symtab_close_impl (struct gdb_symbol
 static void
 finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
 {
-  struct symtab *symtab;
+  struct compunit_symtab *cust;
   struct gdb_block *gdb_block_iter, *gdb_block_iter_tmp;
   struct block *block_iter;
-  int actual_nblocks, i, blockvector_size;
+  int actual_nblocks, i;
+  size_t blockvector_size;
   CORE_ADDR begin, end;
+  struct blockvector *bv;
 
   actual_nblocks = FIRST_LOCAL_BLOCK + stab->nblocks;
 
-  symtab = allocate_symtab (stab->file_name, objfile);
+  cust = allocate_compunit_symtab (objfile, stab->file_name);
+  allocate_symtab (cust, stab->file_name);
+  add_compunit_symtab_to_objfile (cust);
+
   /* JIT compilers compile in memory.  */
-  symtab->dirname = NULL;
+  COMPUNIT_DIRNAME (cust) = NULL;
 
   /* Copy over the linetable entry if one was provided.  */
   if (stab->linetable)
     {
-      int size = ((stab->linetable->nitems - 1)
-                  * sizeof (struct linetable_entry)
-                  + sizeof (struct linetable));
-      LINETABLE (symtab) = obstack_alloc (&objfile->objfile_obstack, size);
-      memcpy (LINETABLE (symtab), stab->linetable, size);
-    }
-  else
-    {
-      LINETABLE (symtab) = NULL;
+      size_t size = ((stab->linetable->nitems - 1)
+		     * sizeof (struct linetable_entry)
+		     + sizeof (struct linetable));
+      SYMTAB_LINETABLE (COMPUNIT_FILETABS (cust))
+	= obstack_alloc (&objfile->objfile_obstack, size);
+      memcpy (SYMTAB_LINETABLE (COMPUNIT_FILETABS (cust)), stab->linetable,
+	      size);
     }
 
   blockvector_size = (sizeof (struct blockvector)
                       + (actual_nblocks - 1) * sizeof (struct block *));
-  symtab->blockvector = obstack_alloc (&objfile->objfile_obstack,
-                                       blockvector_size);
+  bv = obstack_alloc (&objfile->objfile_obstack, blockvector_size);
+  COMPUNIT_BLOCKVECTOR (cust) = bv;
 
   /* (begin, end) will contain the PC range this entire blockvector
      spans.  */
-  set_symtab_primary (symtab, 1);
-  BLOCKVECTOR_MAP (symtab->blockvector) = NULL;
+  BLOCKVECTOR_MAP (bv) = NULL;
   begin = stab->blocks->begin;
   end = stab->blocks->end;
-  BLOCKVECTOR_NBLOCKS (symtab->blockvector) = actual_nblocks;
+  BLOCKVECTOR_NBLOCKS (bv) = actual_nblocks;
 
   /* First run over all the gdb_block objects, creating a real block
      object for each.  Simultaneously, keep setting the real_block
@@ -696,7 +697,7 @@ finalize_symtab (struct gdb_symtab *stab
       /* The name.  */
       SYMBOL_DOMAIN (block_name) = VAR_DOMAIN;
       SYMBOL_ACLASS_INDEX (block_name) = LOC_BLOCK;
-      SYMBOL_SYMTAB (block_name) = symtab;
+      symbol_set_symtab (block_name, COMPUNIT_FILETABS (cust));
       SYMBOL_TYPE (block_name) = lookup_function_type (block_type);
       SYMBOL_BLOCK_VALUE (block_name) = new_block;
 
@@ -706,7 +707,7 @@ finalize_symtab (struct gdb_symtab *stab
 
       BLOCK_FUNCTION (new_block) = block_name;
 
-      BLOCKVECTOR_BLOCK (symtab->blockvector, i) = new_block;
+      BLOCKVECTOR_BLOCK (bv, i) = new_block;
       if (begin > BLOCK_START (new_block))
         begin = BLOCK_START (new_block);
       if (end < BLOCK_END (new_block))
@@ -732,10 +733,10 @@ finalize_symtab (struct gdb_symtab *stab
       BLOCK_START (new_block) = (CORE_ADDR) begin;
       BLOCK_END (new_block) = (CORE_ADDR) end;
 
-      BLOCKVECTOR_BLOCK (symtab->blockvector, i) = new_block;
+      BLOCKVECTOR_BLOCK (bv, i) = new_block;
 
       if (i == GLOBAL_BLOCK)
-	set_block_symtab (new_block, symtab);
+	set_block_compunit_symtab (new_block, cust);
     }
 
   /* Fill up the superblock fields for the real blocks, using the
@@ -755,7 +756,7 @@ finalize_symtab (struct gdb_symtab *stab
 	{
 	  /* And if not, we set a default parent block.  */
 	  BLOCK_SUPERBLOCK (gdb_block_iter->real_block) =
-	    BLOCKVECTOR_BLOCK (symtab->blockvector, STATIC_BLOCK);
+	    BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);
 	}
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jit.h ./gdb/jit.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jit.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/jit.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* JIT declarations for GDB, the GNU Debugger.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jit-reader.in ./gdb/jit-reader.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jit-reader.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/jit-reader.in	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* JIT declarations for GDB, the GNU Debugger.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-exp.c ./gdb/jv-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-exp.c	2015-01-13 02:06:41.000000000 +0000
+++ ./gdb/jv-exp.c	2015-01-20 02:09:33.000000000 +0000
@@ -72,7 +72,6 @@
 
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
@@ -169,7 +168,7 @@ static void insert_exp (struct parser_st
 
 
 /* Line 189 of yacc.c  */
-#line 173 "jv-exp.c"
+#line 172 "jv-exp.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -268,7 +267,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 140 "jv-exp.y"
+#line 139 "jv-exp.y"
 
     LONGEST lval;
     struct {
@@ -292,7 +291,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 296 "jv-exp.c"
+#line 295 "jv-exp.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -303,7 +302,7 @@ typedef union YYSTYPE
 /* Copy the second part of user declarations.  */
 
 /* Line 264 of yacc.c  */
-#line 161 "jv-exp.y"
+#line 160 "jv-exp.y"
 
 /* YYSTYPE gets defined by %union */
 static int parse_number (struct parser_state *, const char *, int,
@@ -311,7 +310,7 @@ static int parse_number (struct parser_s
 
 
 /* Line 264 of yacc.c  */
-#line 315 "jv-exp.c"
+#line 314 "jv-exp.c"
 
 #ifdef short
 # undef short
@@ -645,20 +644,20 @@ static const yytype_int8 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   218,   218,   219,   222,   231,   232,   236,   245,   250,
-     259,   264,   270,   281,   282,   287,   288,   292,   294,   296,
-     298,   300,   305,   307,   319,   324,   328,   330,   335,   336,
-     340,   341,   345,   346,   350,   376,   377,   382,   383,   387,
-     388,   389,   390,   391,   392,   393,   401,   406,   411,   417,
-     419,   425,   426,   430,   433,   439,   440,   444,   448,   450,
-     455,   457,   461,   463,   469,   475,   474,   480,   482,   487,
-     507,   509,   514,   515,   517,   519,   520,   524,   529,   534,
-     535,   536,   537,   539,   542,   546,   551,   556,   557,   559,
-     561,   565,   569,   593,   603,   604,   606,   608,   613,   614,
-     616,   621,   622,   624,   630,   631,   633,   635,   637,   643,
-     644,   646,   651,   652,   657,   658,   662,   663,   668,   669,
-     674,   675,   680,   681,   686,   687,   691,   693,   700,   702,
-     704,   705,   710
+       0,   217,   217,   218,   221,   230,   231,   235,   244,   249,
+     258,   263,   269,   280,   281,   286,   287,   291,   293,   295,
+     297,   299,   304,   306,   318,   323,   327,   329,   334,   335,
+     339,   340,   344,   345,   349,   375,   376,   381,   382,   386,
+     387,   388,   389,   390,   391,   392,   400,   405,   410,   416,
+     418,   424,   425,   429,   432,   438,   439,   443,   447,   449,
+     454,   456,   460,   462,   468,   474,   473,   479,   481,   486,
+     506,   508,   513,   514,   516,   518,   519,   523,   528,   533,
+     534,   535,   536,   538,   541,   545,   550,   555,   556,   558,
+     560,   564,   568,   592,   602,   603,   605,   607,   612,   613,
+     615,   620,   621,   623,   629,   630,   632,   634,   636,   642,
+     643,   645,   650,   651,   656,   657,   661,   662,   667,   668,
+     673,   674,   679,   680,   685,   686,   690,   692,   699,   701,
+     703,   704,   709
 };
 #endif
 
@@ -1752,7 +1751,7 @@ yyreduce:
         case 4:
 
 /* Line 1455 of yacc.c  */
-#line 223 "jv-exp.y"
+#line 222 "jv-exp.y"
     {
 		  write_exp_elt_opcode (pstate, OP_TYPE);
 		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].tval));
@@ -1763,7 +1762,7 @@ yyreduce:
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 237 "jv-exp.y"
+#line 236 "jv-exp.y"
     {
 		  write_exp_elt_opcode (pstate, OP_STRING);
 		  write_exp_string (pstate, (yyvsp[(1) - (1)].sval));
@@ -1774,7 +1773,7 @@ yyreduce:
   case 8:
 
 /* Line 1455 of yacc.c  */
-#line 246 "jv-exp.y"
+#line 245 "jv-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_int).type);
 		  write_exp_elt_longcst (pstate, (LONGEST)((yyvsp[(1) - (1)].typed_val_int).val));
@@ -1784,7 +1783,7 @@ yyreduce:
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 251 "jv-exp.y"
+#line 250 "jv-exp.y"
     { YYSTYPE val;
 		  parse_number (pstate, (yyvsp[(1) - (1)].sval).ptr, (yyvsp[(1) - (1)].sval).length, 0, &val);
 		  write_exp_elt_opcode (pstate, OP_LONG);
@@ -1798,7 +1797,7 @@ yyreduce:
   case 10:
 
 /* Line 1455 of yacc.c  */
-#line 260 "jv-exp.y"
+#line 259 "jv-exp.y"
     { write_exp_elt_opcode (pstate, OP_DOUBLE);
 		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_float).type);
 		  write_exp_elt_dblcst (pstate, (yyvsp[(1) - (1)].typed_val_float).dval);
@@ -1808,7 +1807,7 @@ yyreduce:
   case 11:
 
 /* Line 1455 of yacc.c  */
-#line 265 "jv-exp.y"
+#line 264 "jv-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 		  write_exp_elt_type (pstate,
 				  parse_java_type (pstate)->builtin_boolean);
@@ -1819,84 +1818,84 @@ yyreduce:
   case 14:
 
 /* Line 1455 of yacc.c  */
-#line 283 "jv-exp.y"
+#line 282 "jv-exp.y"
     { (yyval.tval) = parse_java_type (pstate)->builtin_boolean; }
     break;
 
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 293 "jv-exp.y"
+#line 292 "jv-exp.y"
     { (yyval.tval) = parse_java_type (pstate)->builtin_byte; }
     break;
 
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 295 "jv-exp.y"
+#line 294 "jv-exp.y"
     { (yyval.tval) = parse_java_type (pstate)->builtin_short; }
     break;
 
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 297 "jv-exp.y"
+#line 296 "jv-exp.y"
     { (yyval.tval) = parse_java_type (pstate)->builtin_int; }
     break;
 
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 299 "jv-exp.y"
+#line 298 "jv-exp.y"
     { (yyval.tval) = parse_java_type (pstate)->builtin_long; }
     break;
 
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 301 "jv-exp.y"
+#line 300 "jv-exp.y"
     { (yyval.tval) = parse_java_type (pstate)->builtin_char; }
     break;
 
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 306 "jv-exp.y"
+#line 305 "jv-exp.y"
     { (yyval.tval) = parse_java_type (pstate)->builtin_float; }
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 308 "jv-exp.y"
+#line 307 "jv-exp.y"
     { (yyval.tval) = parse_java_type (pstate)->builtin_double; }
     break;
 
   case 24:
 
 /* Line 1455 of yacc.c  */
-#line 320 "jv-exp.y"
+#line 319 "jv-exp.y"
     { (yyval.tval) = java_type_from_name ((yyvsp[(1) - (1)].sval)); }
     break;
 
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 329 "jv-exp.y"
+#line 328 "jv-exp.y"
     { (yyval.tval) = java_array_type ((yyvsp[(1) - (2)].tval), (yyvsp[(2) - (2)].lval)); }
     break;
 
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 331 "jv-exp.y"
+#line 330 "jv-exp.y"
     { (yyval.tval) = java_array_type (java_type_from_name ((yyvsp[(1) - (2)].sval)), (yyvsp[(2) - (2)].lval)); }
     break;
 
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 351 "jv-exp.y"
+#line 350 "jv-exp.y"
     { (yyval.sval).length = (yyvsp[(1) - (3)].sval).length + (yyvsp[(3) - (3)].sval).length + 1;
 		  if ((yyvsp[(1) - (3)].sval).ptr + (yyvsp[(1) - (3)].sval).length + 1 == (yyvsp[(3) - (3)].sval).ptr
 		      && (yyvsp[(1) - (3)].sval).ptr[(yyvsp[(1) - (3)].sval).length] == '.')
@@ -1916,14 +1915,14 @@ yyreduce:
   case 36:
 
 /* Line 1455 of yacc.c  */
-#line 378 "jv-exp.y"
+#line 377 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_COMMA); }
     break;
 
   case 45:
 
 /* Line 1455 of yacc.c  */
-#line 394 "jv-exp.y"
+#line 393 "jv-exp.y"
     { write_exp_elt_opcode (pstate, OP_ARRAY);
 		  write_exp_elt_longcst (pstate, (LONGEST) 0);
 		  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(3) - (3)].lval));
@@ -1933,21 +1932,21 @@ yyreduce:
   case 46:
 
 /* Line 1455 of yacc.c  */
-#line 402 "jv-exp.y"
+#line 401 "jv-exp.y"
     { start_arglist (); }
     break;
 
   case 47:
 
 /* Line 1455 of yacc.c  */
-#line 407 "jv-exp.y"
+#line 406 "jv-exp.y"
     { (yyval.lval) = end_arglist () - 1; }
     break;
 
   case 48:
 
 /* Line 1455 of yacc.c  */
-#line 412 "jv-exp.y"
+#line 411 "jv-exp.y"
     { internal_error (__FILE__, __LINE__,
 				  _("FIXME - ClassInstanceCreationExpression")); }
     break;
@@ -1955,28 +1954,28 @@ yyreduce:
   case 49:
 
 /* Line 1455 of yacc.c  */
-#line 418 "jv-exp.y"
+#line 417 "jv-exp.y"
     { arglist_len = 1; }
     break;
 
   case 50:
 
 /* Line 1455 of yacc.c  */
-#line 420 "jv-exp.y"
+#line 419 "jv-exp.y"
     { arglist_len++; }
     break;
 
   case 51:
 
 /* Line 1455 of yacc.c  */
-#line 425 "jv-exp.y"
+#line 424 "jv-exp.y"
     { arglist_len = 0; }
     break;
 
   case 53:
 
 /* Line 1455 of yacc.c  */
-#line 431 "jv-exp.y"
+#line 430 "jv-exp.y"
     { internal_error (__FILE__, __LINE__,
 				  _("FIXME - ArrayCreationExpression")); }
     break;
@@ -1984,7 +1983,7 @@ yyreduce:
   case 54:
 
 /* Line 1455 of yacc.c  */
-#line 434 "jv-exp.y"
+#line 433 "jv-exp.y"
     { internal_error (__FILE__, __LINE__,
 				  _("FIXME - ArrayCreationExpression")); }
     break;
@@ -1992,56 +1991,56 @@ yyreduce:
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 449 "jv-exp.y"
+#line 448 "jv-exp.y"
     { (yyval.lval) = 1; }
     break;
 
   case 59:
 
 /* Line 1455 of yacc.c  */
-#line 451 "jv-exp.y"
+#line 450 "jv-exp.y"
     { (yyval.lval) = (yyvsp[(1) - (3)].lval) + 1; }
     break;
 
   case 61:
 
 /* Line 1455 of yacc.c  */
-#line 457 "jv-exp.y"
+#line 456 "jv-exp.y"
     { (yyval.lval) = 0; }
     break;
 
   case 62:
 
 /* Line 1455 of yacc.c  */
-#line 462 "jv-exp.y"
+#line 461 "jv-exp.y"
     { push_fieldnames (pstate, (yyvsp[(3) - (3)].sval)); }
     break;
 
   case 63:
 
 /* Line 1455 of yacc.c  */
-#line 464 "jv-exp.y"
+#line 463 "jv-exp.y"
     { push_fieldnames (pstate, (yyvsp[(3) - (3)].sval)); }
     break;
 
   case 64:
 
 /* Line 1455 of yacc.c  */
-#line 470 "jv-exp.y"
+#line 469 "jv-exp.y"
     { push_expression_name (pstate, (yyvsp[(1) - (2)].sval)); }
     break;
 
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 475 "jv-exp.y"
+#line 474 "jv-exp.y"
     { start_arglist(); }
     break;
 
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 477 "jv-exp.y"
+#line 476 "jv-exp.y"
     { write_exp_elt_opcode (pstate, OP_FUNCALL);
 		  write_exp_elt_longcst (pstate, (LONGEST) end_arglist ());
 		  write_exp_elt_opcode (pstate, OP_FUNCALL); }
@@ -2050,21 +2049,21 @@ yyreduce:
   case 67:
 
 /* Line 1455 of yacc.c  */
-#line 481 "jv-exp.y"
+#line 480 "jv-exp.y"
     { error (_("Form of method invocation not implemented")); }
     break;
 
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 483 "jv-exp.y"
+#line 482 "jv-exp.y"
     { error (_("Form of method invocation not implemented")); }
     break;
 
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 488 "jv-exp.y"
+#line 487 "jv-exp.y"
     {
                   /* Emit code for the Name now, then exchange it in the
 		     expout array with the Expression's code.  We could
@@ -2089,49 +2088,49 @@ yyreduce:
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 508 "jv-exp.y"
+#line 507 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT); }
     break;
 
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 510 "jv-exp.y"
+#line 509 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT); }
     break;
 
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 516 "jv-exp.y"
+#line 515 "jv-exp.y"
     { push_expression_name (pstate, (yyvsp[(1) - (1)].sval)); }
     break;
 
   case 77:
 
 /* Line 1455 of yacc.c  */
-#line 525 "jv-exp.y"
+#line 524 "jv-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_POSTINCREMENT); }
     break;
 
   case 78:
 
 /* Line 1455 of yacc.c  */
-#line 530 "jv-exp.y"
+#line 529 "jv-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_POSTDECREMENT); }
     break;
 
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 538 "jv-exp.y"
+#line 537 "jv-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_NEG); }
     break;
 
   case 83:
 
 /* Line 1455 of yacc.c  */
-#line 540 "jv-exp.y"
+#line 539 "jv-exp.y"
     { write_exp_elt_opcode (pstate,
 					UNOP_IND); }
     break;
@@ -2139,35 +2138,35 @@ yyreduce:
   case 85:
 
 /* Line 1455 of yacc.c  */
-#line 547 "jv-exp.y"
+#line 546 "jv-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREINCREMENT); }
     break;
 
   case 86:
 
 /* Line 1455 of yacc.c  */
-#line 552 "jv-exp.y"
+#line 551 "jv-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREDECREMENT); }
     break;
 
   case 88:
 
 /* Line 1455 of yacc.c  */
-#line 558 "jv-exp.y"
+#line 557 "jv-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_COMPLEMENT); }
     break;
 
   case 89:
 
 /* Line 1455 of yacc.c  */
-#line 560 "jv-exp.y"
+#line 559 "jv-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
     break;
 
   case 91:
 
 /* Line 1455 of yacc.c  */
-#line 566 "jv-exp.y"
+#line 565 "jv-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAST);
 		  write_exp_elt_type (pstate, java_array_type ((yyvsp[(2) - (5)].tval), (yyvsp[(3) - (5)].lval)));
 		  write_exp_elt_opcode (pstate, UNOP_CAST); }
@@ -2176,7 +2175,7 @@ yyreduce:
   case 92:
 
 /* Line 1455 of yacc.c  */
-#line 570 "jv-exp.y"
+#line 569 "jv-exp.y"
     {
 		  int last_exp_size = length_of_subexp (pstate->expout,
 							pstate->expout_ptr);
@@ -2205,7 +2204,7 @@ yyreduce:
   case 93:
 
 /* Line 1455 of yacc.c  */
-#line 594 "jv-exp.y"
+#line 593 "jv-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAST);
 		  write_exp_elt_type (pstate,
 				      java_array_type (java_type_from_name
@@ -2216,147 +2215,147 @@ yyreduce:
   case 95:
 
 /* Line 1455 of yacc.c  */
-#line 605 "jv-exp.y"
+#line 604 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_MUL); }
     break;
 
   case 96:
 
 /* Line 1455 of yacc.c  */
-#line 607 "jv-exp.y"
+#line 606 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_DIV); }
     break;
 
   case 97:
 
 /* Line 1455 of yacc.c  */
-#line 609 "jv-exp.y"
+#line 608 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REM); }
     break;
 
   case 99:
 
 /* Line 1455 of yacc.c  */
-#line 615 "jv-exp.y"
+#line 614 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ADD); }
     break;
 
   case 100:
 
 /* Line 1455 of yacc.c  */
-#line 617 "jv-exp.y"
+#line 616 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUB); }
     break;
 
   case 102:
 
 /* Line 1455 of yacc.c  */
-#line 623 "jv-exp.y"
+#line 622 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LSH); }
     break;
 
   case 103:
 
 /* Line 1455 of yacc.c  */
-#line 625 "jv-exp.y"
+#line 624 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_RSH); }
     break;
 
   case 105:
 
 /* Line 1455 of yacc.c  */
-#line 632 "jv-exp.y"
+#line 631 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LESS); }
     break;
 
   case 106:
 
 /* Line 1455 of yacc.c  */
-#line 634 "jv-exp.y"
+#line 633 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GTR); }
     break;
 
   case 107:
 
 /* Line 1455 of yacc.c  */
-#line 636 "jv-exp.y"
+#line 635 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LEQ); }
     break;
 
   case 108:
 
 /* Line 1455 of yacc.c  */
-#line 638 "jv-exp.y"
+#line 637 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GEQ); }
     break;
 
   case 110:
 
 /* Line 1455 of yacc.c  */
-#line 645 "jv-exp.y"
+#line 644 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EQUAL); }
     break;
 
   case 111:
 
 /* Line 1455 of yacc.c  */
-#line 647 "jv-exp.y"
+#line 646 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
     break;
 
   case 113:
 
 /* Line 1455 of yacc.c  */
-#line 653 "jv-exp.y"
+#line 652 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
     break;
 
   case 115:
 
 /* Line 1455 of yacc.c  */
-#line 659 "jv-exp.y"
+#line 658 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
     break;
 
   case 117:
 
 /* Line 1455 of yacc.c  */
-#line 664 "jv-exp.y"
+#line 663 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
     break;
 
   case 119:
 
 /* Line 1455 of yacc.c  */
-#line 670 "jv-exp.y"
+#line 669 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
     break;
 
   case 121:
 
 /* Line 1455 of yacc.c  */
-#line 676 "jv-exp.y"
+#line 675 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
     break;
 
   case 123:
 
 /* Line 1455 of yacc.c  */
-#line 682 "jv-exp.y"
+#line 681 "jv-exp.y"
     { write_exp_elt_opcode (pstate, TERNOP_COND); }
     break;
 
   case 126:
 
 /* Line 1455 of yacc.c  */
-#line 692 "jv-exp.y"
+#line 691 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
     break;
 
   case 127:
 
 /* Line 1455 of yacc.c  */
-#line 694 "jv-exp.y"
+#line 693 "jv-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY);
 		  write_exp_elt_opcode (pstate, (yyvsp[(2) - (3)].opcode));
 		  write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY); }
@@ -2365,14 +2364,14 @@ yyreduce:
   case 128:
 
 /* Line 1455 of yacc.c  */
-#line 701 "jv-exp.y"
+#line 700 "jv-exp.y"
     { push_expression_name (pstate, (yyvsp[(1) - (1)].sval)); }
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 2377 "jv-exp.c"
+#line 2376 "jv-exp.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2584,7 +2583,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 713 "jv-exp.y"
+#line 712 "jv-exp.y"
 
 /* Take care of parsing a number (anything that starts with a digit).
    Set yylval and return the token type; update lexptr.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-exp.y ./gdb/jv-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-exp.y	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/jv-exp.y	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* YACC parser for Java expressions, for GDB.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -36,7 +36,6 @@
 %{
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-lang.c ./gdb/jv-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/jv-lang.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Java language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,7 +25,6 @@
 #include "language.h"
 #include "symfile.h"
 #include "objfiles.h"
-#include <string.h>
 #include "value.h"
 #include "c-lang.h"
 #include "jv-lang.h"
@@ -35,7 +34,6 @@
 #include "demangle.h"
 #include "dictionary.h"
 #include <ctype.h>
-#include "gdb_assert.h"
 #include "charset.h"
 #include "valprint.h"
 #include "cp-support.h"
@@ -47,7 +45,7 @@ extern void _initialize_java_language (v
 static int java_demangled_signature_length (const char *);
 static void java_demangled_signature_copy (char *, const char *);
 
-static struct symtab *get_java_class_symtab (struct gdbarch *gdbarch);
+static struct compunit_symtab *get_java_class_symtab (struct gdbarch *gdbarch);
 static char *get_java_utf8_name (struct obstack *obstack, struct value *name);
 static int java_class_is_primitive (struct value *clas);
 static struct value *java_value_string (char *ptr, int len);
@@ -131,11 +129,11 @@ get_dynamics_objfile (struct gdbarch *gd
   return dynamics_objfile;
 }
 
-static struct symtab *
+static struct compunit_symtab *
 get_java_class_symtab (struct gdbarch *gdbarch)
 {
   struct objfile *objfile = get_dynamics_objfile (gdbarch);
-  struct symtab *class_symtab = objfile->symtabs;
+  struct compunit_symtab *class_symtab = objfile->compunit_symtabs;
 
   if (class_symtab == NULL)
     {
@@ -143,13 +141,16 @@ get_java_class_symtab (struct gdbarch *g
       struct block *bl;
       struct jv_per_objfile_data *jv_data;
 
-      class_symtab = allocate_symtab ("<java-classes>", objfile);
-      class_symtab->language = language_java;
+      class_symtab = allocate_compunit_symtab (objfile, "<java-classes>");
+      add_compunit_symtab_to_objfile (class_symtab);
+      allocate_symtab (class_symtab, "<java-classes>");
+
+      COMPUNIT_FILETABS (class_symtab)->language = language_java;
       bv = (struct blockvector *)
 	obstack_alloc (&objfile->objfile_obstack,
 		       sizeof (struct blockvector) + sizeof (struct block *));
       BLOCKVECTOR_NBLOCKS (bv) = 1;
-      BLOCKVECTOR (class_symtab) = bv;
+      COMPUNIT_BLOCKVECTOR (class_symtab) = bv;
 
       /* Allocate dummy STATIC_BLOCK.  */
       bl = allocate_block (&objfile->objfile_obstack);
@@ -160,7 +161,7 @@ get_java_class_symtab (struct gdbarch *g
       /* Allocate GLOBAL_BLOCK.  */
       bl = allocate_global_block (&objfile->objfile_obstack);
       BLOCK_DICT (bl) = dict_create_hashed_expandable ();
-      set_block_symtab (bl, class_symtab);
+      set_block_compunit_symtab (bl, class_symtab);
       BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK) = bl;
 
       /* Arrange to free the dict.  */
@@ -173,9 +174,8 @@ get_java_class_symtab (struct gdbarch *g
 static void
 add_class_symtab_symbol (struct symbol *sym)
 {
-  struct symtab *symtab
-    = get_java_class_symtab (get_objfile_arch (SYMBOL_SYMTAB (sym)->objfile));
-  struct blockvector *bv = BLOCKVECTOR (symtab);
+  struct compunit_symtab *cust = get_java_class_symtab (symbol_arch (sym));
+  const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (cust);
 
   dict_add_symbol (BLOCK_DICT (BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK)), sym);
 }
@@ -1197,6 +1197,8 @@ const struct language_defn java_language
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &java_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-lang.h ./gdb/jv-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-lang.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/jv-lang.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Java language support definitions for GDB, the GNU debugger.
 
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-typeprint.c ./gdb/jv-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-typeprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/jv-typeprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for printing Java types for GDB, the GNU debugger.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,12 +24,10 @@
 #include "demangle.h"
 #include "gdb-demangle.h"
 #include "jv-lang.h"
-#include <string.h>
 #include "typeprint.h"
 #include "c-lang.h"
 #include "cp-abi.h"
 #include "cp-support.h"
-#include "gdb_assert.h"
 
 /* Local functions */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-valprint.c ./gdb/jv-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-valprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/jv-valprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing Java values for GDB, the GNU debugger.
 
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,8 +29,6 @@
 #include "jv-lang.h"
 #include "c-lang.h"
 #include "annotate.h"
-#include <string.h>
-
 /* Local functions */
 
 void
@@ -183,10 +181,10 @@ java_value_print (struct value *val, str
 		  set_value_offset (next_v, value_offset (next_v)
 				    + TYPE_LENGTH (el_type));
 		  value_fetch_lazy (next_v);
-		  if (!(value_available_contents_eq
-			(v, value_embedded_offset (v),
-			 next_v, value_embedded_offset (next_v),
-			 TYPE_LENGTH (el_type))))
+		  if (!value_contents_eq (v, value_embedded_offset (v),
+					  next_v,
+					  value_embedded_offset (next_v),
+					  TYPE_LENGTH (el_type)))
 		    break;
 		}
 
@@ -393,11 +391,6 @@ java_print_value_fields (struct type *ty
 		{
 		  fputs_filtered (_("<synthetic pointer>"), stream);
 		}
-	      else if (!value_bits_valid (val, TYPE_FIELD_BITPOS (type, i),
-					  TYPE_FIELD_BITSIZE (type, i)))
-		{
-		  val_print_optimized_out (val, stream);
-		}
 	      else
 		{
 		  struct value_print_options opts;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-varobj.c ./gdb/jv-varobj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/jv-varobj.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/jv-varobj.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* varobj support for Java.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -101,5 +101,6 @@ const struct lang_varobj_ops java_varobj
    java_type_of_child,
    java_value_of_variable,
    varobj_default_value_is_changeable_p,
-   NULL /* value_has_mutated */
+   NULL, /* value_has_mutated */
+   varobj_default_is_path_expr_parent
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/language.c ./gdb/language.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/language.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/language.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Multiple source language support for GDB.
 
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    Contributed by the Department of Computer Science at the State University
    of New York at Buffalo.
@@ -30,8 +30,6 @@
 
 #include "defs.h"
 #include <ctype.h>
-#include <string.h>
-
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "value.h"
@@ -505,7 +503,7 @@ set_check (char *ignore, int from_tty)
 {
   printf_unfiltered (
      "\"set check\" must be followed by the name of a check subcommand.\n");
-  help_list (setchecklist, "set check ", -1, gdb_stdout);
+  help_list (setchecklist, "set check ", all_commands, gdb_stdout);
 }
 
 static void
@@ -829,6 +827,8 @@ const struct language_defn unknown_langu
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
@@ -874,6 +874,8 @@ const struct language_defn auto_language
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
@@ -917,6 +919,8 @@ const struct language_defn local_languag
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
@@ -983,23 +987,138 @@ language_bool_type (const struct languag
   return ld->arch_info[la->la_language].bool_type_default;
 }
 
+/* Helper function for primitive type lookup.  */
+
+static struct type **
+language_lookup_primitive_type_1 (const struct language_arch_info *lai,
+				  const char *name)
+{
+  struct type **p;
+
+  for (p = lai->primitive_type_vector; (*p) != NULL; p++)
+    {
+      if (strcmp (TYPE_NAME (*p), name) == 0)
+	return p;
+    }
+  return NULL;
+}
+
+/* See language.h.  */
+
 struct type *
-language_lookup_primitive_type_by_name (const struct language_defn *la,
-					struct gdbarch *gdbarch,
-					const char *name)
+language_lookup_primitive_type (const struct language_defn *la,
+				struct gdbarch *gdbarch,
+				const char *name)
 {
   struct language_gdbarch *ld = gdbarch_data (gdbarch,
 					      language_gdbarch_data);
-  struct type *const *p;
+  struct type **typep;
 
-  for (p = ld->arch_info[la->la_language].primitive_type_vector;
-       (*p) != NULL;
-       p++)
+  typep = language_lookup_primitive_type_1 (&ld->arch_info[la->la_language],
+					    name);
+  if (typep == NULL)
+    return NULL;
+  return *typep;
+}
+
+/* Helper function for type lookup as a symbol.
+   Create the symbol corresponding to type TYPE in language LANG.  */
+
+static struct symbol *
+language_alloc_type_symbol (enum language lang, struct type *type)
+{
+  struct symbol *symbol;
+  struct gdbarch *gdbarch;
+
+  gdb_assert (!TYPE_OBJFILE_OWNED (type));
+
+  gdbarch = TYPE_OWNER (type).gdbarch;
+  symbol = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct symbol);
+
+  symbol->ginfo.name = TYPE_NAME (type);
+  symbol->ginfo.language = lang;
+  symbol->owner.arch = gdbarch;
+  SYMBOL_OBJFILE_OWNED (symbol) = 0;
+  SYMBOL_TYPE (symbol) = type;
+  SYMBOL_DOMAIN (symbol) = VAR_DOMAIN;
+  SYMBOL_ACLASS_INDEX (symbol) = LOC_TYPEDEF;
+
+  return symbol;
+}
+
+/* Initialize the primitive type symbols of language LD.
+   The primitive type vector must have already been initialized.  */
+
+static void
+language_init_primitive_type_symbols (struct language_arch_info *lai,
+				      const struct language_defn *la,
+				      struct gdbarch *gdbarch)
+{
+  int n;
+  struct compunit_symtab *cust;
+  struct symtab *symtab;
+  struct block *static_block, *global_block;
+
+  gdb_assert (lai->primitive_type_vector != NULL);
+
+  for (n = 0; lai->primitive_type_vector[n] != NULL; ++n)
+    continue;
+
+  lai->primitive_type_symbols
+    = GDBARCH_OBSTACK_CALLOC (gdbarch, n + 1, struct symbol *);
+
+  for (n = 0; lai->primitive_type_vector[n] != NULL; ++n)
     {
-      if (strcmp (TYPE_NAME (*p), name) == 0)
-	return (*p);
+      lai->primitive_type_symbols[n]
+	= language_alloc_type_symbol (la->la_language,
+				      lai->primitive_type_vector[n]);
+    }
+
+  /* Note: The result of symbol lookup is normally a symbol *and* the block
+     it was found in (returned in global block_found).  Builtin types don't
+     live in blocks.  We *could* give them one, but there is no current need
+     so to keep things simple symbol lookup is extended to allow for
+     BLOCK_FOUND to be NULL.  */
+}
+
+/* See language.h.  */
+
+struct symbol *
+language_lookup_primitive_type_as_symbol (const struct language_defn *la,
+					  struct gdbarch *gdbarch,
+					  const char *name)
+{
+  struct language_gdbarch *ld = gdbarch_data (gdbarch,
+					      language_gdbarch_data);
+  struct language_arch_info *lai = &ld->arch_info[la->la_language];
+  struct type **typep;
+  struct symbol *sym;
+
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "language_lookup_primitive_type_as_symbol"
+			  " (%s, %s, %s)",
+			  la->la_name, host_address_to_string (gdbarch), name);
     }
-  return (NULL);
+
+  typep = language_lookup_primitive_type_1 (lai, name);
+  if (typep == NULL)
+    {
+      if (symbol_lookup_debug)
+	fprintf_unfiltered (gdb_stdlog, " = NULL\n");
+      return NULL;
+    }
+
+  /* The set of symbols is lazily initialized.  */
+  if (lai->primitive_type_symbols == NULL)
+    language_init_primitive_type_symbols (lai, la, gdbarch);
+
+  sym = lai->primitive_type_symbols[typep - lai->primitive_type_vector];
+
+  if (symbol_lookup_debug)
+    fprintf_unfiltered (gdb_stdlog, " = %s\n", host_address_to_string (sym));
+  return sym;
 }
 
 /* Initialize the language routines.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/language.h ./gdb/language.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/language.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/language.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Source-language-related definitions for GDB.
 
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    Contributed by the Department of Computer Science at the State University
    of New York at Buffalo.
@@ -35,6 +35,7 @@ struct value_print_options;
 struct type_print_options;
 struct lang_varobj_ops;
 struct parser_state;
+struct compile_instance;
 
 #define MAX_FORTRAN_DIMS  7	/* Maximum number of F77 array dims.  */
 
@@ -110,6 +111,11 @@ struct language_arch_info
      expressions, regardless of whether the program being debugged
      actually defines such a type.  */
   struct type **primitive_type_vector;
+
+  /* Symbol wrappers around primitive_type_vector, so that the symbol lookup
+     machinery can return them.  */
+  struct symbol **primitive_type_symbols;
+
   /* Type of elements of strings.  */
   struct type *string_char_type;
 
@@ -261,7 +267,8 @@ struct language_defn
        the part of symbol lookup where C looks up static and global
        variables.  */
 
-    struct symbol *(*la_lookup_symbol_nonlocal) (const char *,
+    struct symbol *(*la_lookup_symbol_nonlocal) (const struct language_defn *,
+						 const char *,
 						 const struct block *,
 						 const domain_enum);
 
@@ -355,6 +362,36 @@ struct language_defn
     /* Various operations on varobj.  */
     const struct lang_varobj_ops *la_varobj_ops;
 
+    /* If this language allows compilation from the gdb command line,
+       this method should be non-NULL.  When called it should return
+       an instance of struct gcc_context appropriate to the language.
+       When defined this method must never return NULL; instead it
+       should throw an exception on failure.  The returned compiler
+       instance is owned by its caller and must be deallocated by
+       calling its 'destroy' method.  */
+
+    struct compile_instance *(*la_get_compile_instance) (void);
+
+    /* This method must be defined if 'la_get_gcc_context' is defined.
+       If 'la_get_gcc_context' is not defined, then this method is
+       ignored.
+
+       This takes the user-supplied text and returns a newly malloc'd
+       bit of code to compile.  The caller owns the result.
+
+       INST is the compiler instance being used.
+       INPUT is the user's input text.
+       GDBARCH is the architecture to use.
+       EXPR_BLOCK is the block in which the expression is being
+       parsed.
+       EXPR_PC is the PC at which the expression is being parsed.  */
+
+    char *(*la_compute_program) (struct compile_instance *inst,
+				 const char *input,
+				 struct gdbarch *gdbarch,
+				 const struct block *expr_block,
+				 CORE_ADDR expr_pc);
+
     /* Add fields above this point, so the magic number is always last.  */
     /* Magic number for compat checking.  */
 
@@ -404,9 +441,20 @@ struct type *language_bool_type (const s
 struct type *language_string_char_type (const struct language_defn *l,
 					struct gdbarch *gdbarch);
 
-struct type *language_lookup_primitive_type_by_name (const struct language_defn *l,
-						     struct gdbarch *gdbarch,
-						     const char *name);
+/* Look up type NAME in language L, and return its definition for architecture
+   GDBARCH.  Returns NULL if not found.  */
+
+struct type *language_lookup_primitive_type (const struct language_defn *l,
+					     struct gdbarch *gdbarch,
+					     const char *name);
+
+/* Wrapper around language_lookup_primitive_type to return the
+   corresponding symbol.  */
+
+struct symbol *
+  language_lookup_primitive_type_as_symbol (const struct language_defn *l,
+					    struct gdbarch *gdbarch,
+					    const char *name);
 
 
 /* These macros define the behaviour of the expression 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/libmcheck.m4 ./gdb/libmcheck.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/libmcheck.m4	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/libmcheck.m4	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2015 Free Software Foundation, Inc.
 dnl
 dnl This file is part of GDB.
 dnl
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linespec.c ./gdb/linespec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linespec.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linespec.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Parser for linespec for the GNU debugger, GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -33,7 +33,6 @@
 #include "block.h"
 #include "objc-lang.h"
 #include "linespec.h"
-#include "exceptions.h"
 #include "language.h"
 #include "interps.h"
 #include "mi/mi-cmds.h"
@@ -1024,7 +1023,7 @@ iterate_over_all_matching_symtabs (struc
 
     ALL_OBJFILES (objfile)
     {
-      struct symtab *symtab;
+      struct compunit_symtab *cu;
 
       if (objfile->sf)
 	objfile->sf->qf->expand_symtabs_matching (objfile, NULL,
@@ -1032,8 +1031,10 @@ iterate_over_all_matching_symtabs (struc
 						  ALL_DOMAIN,
 						  &matcher_data);
 
-      ALL_OBJFILE_PRIMARY_SYMTABS (objfile, symtab)
+      ALL_OBJFILE_COMPUNITS (objfile, cu)
 	{
+	  struct symtab *symtab = COMPUNIT_FILETABS (cu);
+
 	  iterate_over_file_blocks (symtab, name, domain, callback, data);
 
 	  if (include_inline)
@@ -1043,9 +1044,10 @@ iterate_over_all_matching_symtabs (struc
 	      int i;
 
 	      for (i = FIRST_LOCAL_BLOCK;
-		   i < BLOCKVECTOR_NBLOCKS (BLOCKVECTOR (symtab)); i++)
+		   i < BLOCKVECTOR_NBLOCKS (SYMTAB_BLOCKVECTOR (symtab));
+		   i++)
 		{
-		  block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), i);
+		  block = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (symtab), i);
 		  state->language->la_iterate_over_symbols
 		    (block, name, domain, iterate_inline_only, &cad);
 		}
@@ -1058,10 +1060,10 @@ iterate_over_all_matching_symtabs (struc
 /* Returns the block to be used for symbol searches from
    the current location.  */
 
-static struct block *
+static const struct block *
 get_current_search_block (void)
 {
-  struct block *block;
+  const struct block *block;
   enum language save_language;
 
   /* get_selected_block can change the current language when there is
@@ -1082,7 +1084,7 @@ iterate_over_file_blocks (struct symtab 
 {
   struct block *block;
 
-  for (block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (symtab), STATIC_BLOCK);
+  for (block = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (symtab), STATIC_BLOCK);
        block != NULL;
        block = BLOCK_SUPERBLOCK (block))
     LA_ITERATE_OVER_SYMBOLS (block, name, domain, callback, data);
@@ -1897,7 +1899,7 @@ create_sals_line_offset (struct linespec
     {
       struct linetable_entry *best_entry = NULL;
       int *filter;
-      struct block **blocks;
+      const struct block **blocks;
       struct cleanup *cleanup;
       struct symtabs_and_lines intermediate_results;
       int i, j;
@@ -1925,7 +1927,7 @@ create_sals_line_offset (struct linespec
 
       filter = XNEWVEC (int, intermediate_results.nelts);
       make_cleanup (xfree, filter);
-      blocks = XNEWVEC (struct block *, intermediate_results.nelts);
+      blocks = XNEWVEC (const struct block *, intermediate_results.nelts);
       make_cleanup (xfree, blocks);
 
       for (i = 0; i < intermediate_results.nelts; ++i)
@@ -2009,7 +2011,7 @@ convert_linespec_to_sals (struct linespe
 
       for (i = 0; VEC_iterate (symbolp, ls->labels.label_symbols, i, sym); ++i)
 	{
-	  struct program_space *pspace = SYMTAB_PSPACE (SYMBOL_SYMTAB (sym));
+	  struct program_space *pspace = SYMTAB_PSPACE (symbol_symtab (sym));
 
 	  if (symbol_to_sal (&sal, state->funfirstline, sym)
 	      && maybe_add_address (state->addr_set, pspace, sal.pc))
@@ -2036,7 +2038,7 @@ convert_linespec_to_sals (struct linespe
 
 	  for (i = 0; VEC_iterate (symbolp, ls->function_symbols, i, sym); ++i)
 	    {
-	      pspace = SYMTAB_PSPACE (SYMBOL_SYMTAB (sym));
+	      pspace = SYMTAB_PSPACE (symbol_symtab (sym));
 	      set_current_program_space (pspace);
 	      if (symbol_to_sal (&sal, state->funfirstline, sym)
 		  && maybe_add_address (state->addr_set, pspace, sal.pc))
@@ -2774,8 +2776,8 @@ compare_symbols (const void *a, const vo
   struct symbol * const *sb = b;
   uintptr_t uia, uib;
 
-  uia = (uintptr_t) SYMTAB_PSPACE (SYMBOL_SYMTAB (*sa));
-  uib = (uintptr_t) SYMTAB_PSPACE (SYMBOL_SYMTAB (*sb));
+  uia = (uintptr_t) SYMTAB_PSPACE (symbol_symtab (*sa));
+  uib = (uintptr_t) SYMTAB_PSPACE (symbol_symtab (*sb));
 
   if (uia < uib)
     return -1;
@@ -2919,8 +2921,8 @@ find_method (struct linespec_state *self
 
       /* Program spaces that are executing startup should have
 	 been filtered out earlier.  */
-      gdb_assert (!SYMTAB_PSPACE (SYMBOL_SYMTAB (sym))->executing_startup);
-      pspace = SYMTAB_PSPACE (SYMBOL_SYMTAB (sym));
+      pspace = SYMTAB_PSPACE (symbol_symtab (sym));
+      gdb_assert (!pspace->executing_startup);
       set_current_program_space (pspace);
       t = check_typedef (SYMBOL_TYPE (sym));
       find_methods (t, method_name, &result_names, &superclass_vec);
@@ -2929,7 +2931,7 @@ find_method (struct linespec_state *self
 	 sure not to miss the last batch.  */
       if (ix == VEC_length (symbolp, sym_classes) - 1
 	  || (pspace
-	      != SYMTAB_PSPACE (SYMBOL_SYMTAB (VEC_index (symbolp, sym_classes,
+	      != SYMTAB_PSPACE (symbol_symtab (VEC_index (symbolp, sym_classes,
 							  ix + 1)))))
 	{
 	  /* If we did not find a direct implementation anywhere in
@@ -3214,7 +3216,7 @@ find_label_symbols (struct linespec_stat
 		    VEC (symbolp) **label_funcs_ret, const char *name)
 {
   int ix;
-  struct block *block;
+  const struct block *block;
   struct symbol *sym;
   struct symbol *fn_sym;
   VEC (symbolp) *result = NULL;
@@ -3245,7 +3247,7 @@ find_label_symbols (struct linespec_stat
       for (ix = 0;
 	   VEC_iterate (symbolp, function_symbols, ix, fn_sym); ++ix)
 	{
-	  set_current_program_space (SYMTAB_PSPACE (SYMBOL_SYMTAB (fn_sym)));
+	  set_current_program_space (SYMTAB_PSPACE (symbol_symtab (fn_sym)));
 	  block = SYMBOL_BLOCK_VALUE (fn_sym);
 	  sym = lookup_symbol (name, block, LABEL_DOMAIN, 0);
 
@@ -3446,6 +3448,9 @@ struct collect_minsyms
   /* The objfile we're examining.  */
   struct objfile *objfile;
 
+  /* Only search the given symtab, or NULL to search for all symbols.  */
+  struct symtab *symtab;
+
   /* The funfirstline setting from the initial call.  */
   int funfirstline;
 
@@ -3505,6 +3510,24 @@ add_minsym (struct minimal_symbol *minsy
   mo.minsym = minsym;
   mo.objfile = info->objfile;
 
+  if (info->symtab != NULL)
+    {
+      CORE_ADDR pc;
+      struct symtab_and_line sal;
+      struct gdbarch *gdbarch = get_objfile_arch (info->objfile);
+
+      sal = find_pc_sect_line (MSYMBOL_VALUE_ADDRESS (info->objfile, minsym),
+			       NULL, 0);
+      sal.section = MSYMBOL_OBJ_SECTION (info->objfile, minsym);
+      pc
+	= gdbarch_convert_from_func_ptr_addr (gdbarch, sal.pc, &current_target);
+      if (pc != sal.pc)
+	sal = find_pc_sect_line (pc, NULL, 0);
+
+      if (info->symtab != sal.symtab)
+	return;
+    }
+
   /* Exclude data symbols when looking for breakpoint locations.   */
   if (!info->list_mode)
     switch (minsym->type)
@@ -3531,40 +3554,59 @@ add_minsym (struct minimal_symbol *minsy
   VEC_safe_push (bound_minimal_symbol_d, info->msyms, &mo);
 }
 
-/* Search minimal symbols in all objfiles for NAME.  If SEARCH_PSPACE
+/* Search for minimal symbols called NAME.  If SEARCH_PSPACE
    is not NULL, the search is restricted to just that program
-   space.  */
+   space.
+
+   If SYMTAB is NULL, search all objfiles, otherwise
+   restrict results to the given SYMTAB.  */
 
 static void
 search_minsyms_for_name (struct collect_info *info, const char *name,
-			 struct program_space *search_pspace)
+			 struct program_space *search_pspace,
+			 struct symtab *symtab)
 {
-  struct objfile *objfile;
-  struct program_space *pspace;
+  struct collect_minsyms local;
+  struct cleanup *cleanup;
 
-  ALL_PSPACES (pspace)
-  {
-    struct collect_minsyms local;
-    struct cleanup *cleanup;
+  memset (&local, 0, sizeof (local));
+  local.funfirstline = info->state->funfirstline;
+  local.list_mode = info->state->list_mode;
+  local.symtab = symtab;
 
-    if (search_pspace != NULL && search_pspace != pspace)
-      continue;
-    if (pspace->executing_startup)
-      continue;
+  cleanup = make_cleanup (VEC_cleanup (bound_minimal_symbol_d), &local.msyms);
 
-    set_current_program_space (pspace);
+  if (symtab == NULL)
+    {
+      struct program_space *pspace;
 
-    memset (&local, 0, sizeof (local));
-    local.funfirstline = info->state->funfirstline;
-    local.list_mode = info->state->list_mode;
+      ALL_PSPACES (pspace)
+      {
+	struct objfile *objfile;
 
-    cleanup = make_cleanup (VEC_cleanup (bound_minimal_symbol_d),
-			    &local.msyms);
+	if (search_pspace != NULL && search_pspace != pspace)
+	  continue;
+	if (pspace->executing_startup)
+	  continue;
 
-    ALL_OBJFILES (objfile)
+	set_current_program_space (pspace);
+
+	ALL_OBJFILES (objfile)
+	{
+	  local.objfile = objfile;
+	  iterate_over_minimal_symbols (objfile, name, add_minsym, &local);
+	}
+      }
+    }
+  else
     {
-      local.objfile = objfile;
-      iterate_over_minimal_symbols (objfile, name, add_minsym, &local);
+      if (search_pspace == NULL || SYMTAB_PSPACE (symtab) == search_pspace)
+	{
+	  set_current_program_space (SYMTAB_PSPACE (symtab));
+	  local.objfile = SYMTAB_OBJFILE(symtab);
+	  iterate_over_minimal_symbols (local.objfile, name, add_minsym,
+					&local);
+	}
     }
 
     if (!VEC_empty (bound_minimal_symbol_d, local.msyms))
@@ -3597,7 +3639,6 @@ search_minsyms_for_name (struct collect_
       }
 
     do_cleanups (cleanup);
-  }
 }
 
 /* A helper function to add all symbols matching NAME to INFO.  If
@@ -3619,16 +3660,26 @@ add_matching_symbols_to_info (const char
 	  iterate_over_all_matching_symtabs (info->state, name, VAR_DOMAIN,
 					     collect_symbols, info,
 					     pspace, 1);
-	  search_minsyms_for_name (info, name, pspace);
+	  search_minsyms_for_name (info, name, pspace, NULL);
 	}
       else if (pspace == NULL || pspace == SYMTAB_PSPACE (elt))
 	{
+	  int prev_len = VEC_length (symbolp, info->result.symbols);
+
 	  /* Program spaces that are executing startup should have
 	     been filtered out earlier.  */
 	  gdb_assert (!SYMTAB_PSPACE (elt)->executing_startup);
 	  set_current_program_space (SYMTAB_PSPACE (elt));
 	  iterate_over_file_blocks (elt, name, VAR_DOMAIN,
 				    collect_symbols, info);
+
+	  /* If no new symbols were found in this iteration and this symtab
+	     is in assembler, we might actually be looking for a label for
+	     which we don't have debug info.  Check for a minimal symbol in
+	     this case.  */
+	  if (prev_len == VEC_length (symbolp, info->result.symbols)
+	      && elt->language == language_asm)
+	    search_minsyms_for_name (info, name, pspace, elt);
 	}
     }
 }
@@ -3652,10 +3703,10 @@ symbol_to_sal (struct symtab_and_line *r
       if (SYMBOL_CLASS (sym) == LOC_LABEL && SYMBOL_VALUE_ADDRESS (sym) != 0)
 	{
 	  init_sal (result);
-	  result->symtab = SYMBOL_SYMTAB (sym);
+	  result->symtab = symbol_symtab (sym);
 	  result->line = SYMBOL_LINE (sym);
 	  result->pc = SYMBOL_VALUE_ADDRESS (sym);
-	  result->pspace = SYMTAB_PSPACE (SYMBOL_SYMTAB (sym));
+	  result->pspace = SYMTAB_PSPACE (result->symtab);
 	  result->explicit_pc = 1;
 	  return 1;
 	}
@@ -3667,9 +3718,9 @@ symbol_to_sal (struct symtab_and_line *r
 	{
 	  /* We know its line number.  */
 	  init_sal (result);
-	  result->symtab = SYMBOL_SYMTAB (sym);
+	  result->symtab = symbol_symtab (sym);
 	  result->line = SYMBOL_LINE (sym);
-	  result->pspace = SYMTAB_PSPACE (SYMBOL_SYMTAB (sym));
+	  result->pspace = SYMTAB_PSPACE (result->symtab);
 	  return 1;
 	}
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linespec.h ./gdb/linespec.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linespec.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linespec.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header for GDB line completion.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-fork.c ./gdb/linux-fork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-fork.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linux-fork.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux native-dependent code for debugging multiple forks.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,8 +25,6 @@
 #include "gdbcmd.h"
 #include "infcall.h"
 #include "objfiles.h"
-#include "gdb_assert.h"
-#include <string.h>
 #include "linux-fork.h"
 #include "linux-nat.h"
 #include "gdbthread.h"
@@ -692,12 +690,15 @@ checkpoint_command (char *args, int from
 
   retpid = value_as_long (ret);
   get_last_target_status (&last_target_ptid, &last_target_waitstatus);
+
+  fp = find_fork_pid (retpid);
+
   if (from_tty)
     {
       int parent_pid;
 
-      printf_filtered (_("checkpoint: fork returned pid %ld.\n"),
-		       (long) retpid);
+      printf_filtered (_("checkpoint %d: fork returned pid %ld.\n"),
+		       fp != NULL ? fp->num : -1, (long) retpid);
       if (info_verbose)
 	{
 	  parent_pid = ptid_get_lwp (last_target_ptid);
@@ -708,7 +709,6 @@ checkpoint_command (char *args, int from
 	}
     }
 
-  fp = find_fork_pid (retpid);
   if (!fp)
     error (_("Failed to find new fork"));
   fork_save_infrun_state (fp, 1);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-fork.h ./gdb/linux-fork.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-fork.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linux-fork.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux native-dependent code for debugging multiple forks.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-nat.c ./gdb/linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* GNU/Linux native-dependent code common to multiple platforms.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,17 +23,15 @@
 #include "target.h"
 #include "nat/linux-nat.h"
 #include "nat/linux-waitpid.h"
-#include <string.h>
 #include "gdb_wait.h"
-#include "gdb_assert.h"
 #ifdef HAVE_TKILL_SYSCALL
 #include <unistd.h>
 #include <sys/syscall.h>
 #endif
 #include <sys/ptrace.h>
 #include "linux-nat.h"
-#include "linux-ptrace.h"
-#include "linux-procfs.h"
+#include "nat/linux-ptrace.h"
+#include "nat/linux-procfs.h"
 #include "linux-fork.h"
 #include "gdbthread.h"
 #include "gdbcmd.h"
@@ -56,15 +54,13 @@
 #include <sys/types.h>
 #include <dirent.h>
 #include "xml-support.h"
-#include "terminal.h"
 #include <sys/vfs.h>
 #include "solib.h"
-#include "linux-osdata.h"
+#include "nat/linux-osdata.h"
 #include "linux-tdep.h"
 #include "symfile.h"
 #include "agent.h"
 #include "tracepoint.h"
-#include "exceptions.h"
 #include "buffer.h"
 #include "target-descriptions.h"
 #include "filestuff.h"
@@ -281,6 +277,12 @@ static void purge_lwp_list (int pid);
 static void delete_lwp (ptid_t ptid);
 static struct lwp_info *find_lwp_pid (ptid_t ptid);
 
+static int lwp_status_pending_p (struct lwp_info *lp);
+
+static int check_stopped_by_breakpoint (struct lwp_info *lp);
+static int sigtrap_is_event (int status);
+static int (*linux_nat_status_is_event) (int status) = sigtrap_is_event;
+
 
 /* Trivial list manipulation functions to keep track of a list of
    new stopped processes.  */
@@ -325,25 +327,27 @@ pull_pid_from_list (struct simple_pid_li
 }
 
 /* Initialize ptrace warnings and check for supported ptrace
-   features given PID.  */
+   features given PID.
+
+   ATTACHED should be nonzero iff we attached to the inferior.  */
 
 static void
-linux_init_ptrace (pid_t pid)
+linux_init_ptrace (pid_t pid, int attached)
 {
-  linux_enable_event_reporting (pid);
+  linux_enable_event_reporting (pid, attached);
   linux_ptrace_init_warnings ();
 }
 
 static void
 linux_child_post_attach (struct target_ops *self, int pid)
 {
-  linux_init_ptrace (pid);
+  linux_init_ptrace (pid, 1);
 }
 
 static void
 linux_child_post_startup_inferior (struct target_ops *self, ptid_t ptid)
 {
-  linux_init_ptrace (ptid_get_pid (ptid));
+  linux_init_ptrace (ptid_get_pid (ptid), 0);
 }
 
 /* Return the number of known LWPs in the tgid given by PID.  */
@@ -371,79 +375,41 @@ delete_lwp_cleanup (void *lp_voidp)
   delete_lwp (lp->ptid);
 }
 
+/* Target hook for follow_fork.  On entry inferior_ptid must be the
+   ptid of the followed inferior.  At return, inferior_ptid will be
+   unchanged.  */
+
 static int
 linux_child_follow_fork (struct target_ops *ops, int follow_child,
 			 int detach_fork)
 {
-  int has_vforked;
-  int parent_pid, child_pid;
-
-  has_vforked = (inferior_thread ()->pending_follow.kind
-		 == TARGET_WAITKIND_VFORKED);
-  parent_pid = ptid_get_lwp (inferior_ptid);
-  if (parent_pid == 0)
-    parent_pid = ptid_get_pid (inferior_ptid);
-  child_pid
-    = ptid_get_pid (inferior_thread ()->pending_follow.value.related_pid);
-
-  if (has_vforked
-      && !non_stop /* Non-stop always resumes both branches.  */
-      && (!target_is_async_p () || sync_execution)
-      && !(follow_child || detach_fork || sched_multi))
-    {
-      /* The parent stays blocked inside the vfork syscall until the
-	 child execs or exits.  If we don't let the child run, then
-	 the parent stays blocked.  If we're telling the parent to run
-	 in the foreground, the user will not be able to ctrl-c to get
-	 back the terminal, effectively hanging the debug session.  */
-      fprintf_filtered (gdb_stderr, _("\
-Can not resume the parent process over vfork in the foreground while\n\
-holding the child stopped.  Try \"set detach-on-fork\" or \
-\"set schedule-multiple\".\n"));
-      /* FIXME output string > 80 columns.  */
-      return 1;
-    }
-
-  if (! follow_child)
+  if (!follow_child)
     {
       struct lwp_info *child_lp = NULL;
+      int status = W_STOPCODE (0);
+      struct cleanup *old_chain;
+      int has_vforked;
+      int parent_pid, child_pid;
+
+      has_vforked = (inferior_thread ()->pending_follow.kind
+		     == TARGET_WAITKIND_VFORKED);
+      parent_pid = ptid_get_lwp (inferior_ptid);
+      if (parent_pid == 0)
+	parent_pid = ptid_get_pid (inferior_ptid);
+      child_pid
+	= ptid_get_pid (inferior_thread ()->pending_follow.value.related_pid);
+
 
       /* We're already attached to the parent, by default.  */
+      old_chain = save_inferior_ptid ();
+      inferior_ptid = ptid_build (child_pid, child_pid, 0);
+      child_lp = add_lwp (inferior_ptid);
+      child_lp->stopped = 1;
+      child_lp->last_resume_kind = resume_stop;
 
       /* Detach new forked process?  */
       if (detach_fork)
 	{
-	  struct cleanup *old_chain;
-	  int status = W_STOPCODE (0);
-
-	  /* Before detaching from the child, remove all breakpoints
-	     from it.  If we forked, then this has already been taken
-	     care of by infrun.c.  If we vforked however, any
-	     breakpoint inserted in the parent is visible in the
-	     child, even those added while stopped in a vfork
-	     catchpoint.  This will remove the breakpoints from the
-	     parent also, but they'll be reinserted below.  */
-	  if (has_vforked)
-	    {
-	      /* keep breakpoints list in sync.  */
-	      remove_breakpoints_pid (ptid_get_pid (inferior_ptid));
-	    }
-
-	  if (info_verbose || debug_linux_nat)
-	    {
-	      target_terminal_ours ();
-	      fprintf_filtered (gdb_stdlog,
-				"Detaching after fork from "
-				"child process %d.\n",
-				child_pid);
-	    }
-
-	  old_chain = save_inferior_ptid ();
-	  inferior_ptid = ptid_build (child_pid, child_pid, 0);
-
-	  child_lp = add_lwp (inferior_ptid);
-	  child_lp->stopped = 1;
-	  child_lp->last_resume_kind = resume_stop;
 	  make_cleanup (delete_lwp_cleanup, child_lp);
 
 	  if (linux_nat_prepare_to_resume != NULL)
@@ -478,86 +444,20 @@ holding the child stopped.  Try \"set de
 	      ptrace (PTRACE_DETACH, child_pid, 0, signo);
 	    }
 
+	  /* Resets value of inferior_ptid to parent ptid.  */
 	  do_cleanups (old_chain);
 	}
       else
 	{
-	  struct inferior *parent_inf, *child_inf;
-	  struct cleanup *old_chain;
-
-	  /* Add process to GDB's tables.  */
-	  child_inf = add_inferior (child_pid);
-
-	  parent_inf = current_inferior ();
-	  child_inf->attach_flag = parent_inf->attach_flag;
-	  copy_terminal_info (child_inf, parent_inf);
-	  child_inf->gdbarch = parent_inf->gdbarch;
-	  copy_inferior_target_desc_info (child_inf, parent_inf);
-
-	  old_chain = save_inferior_ptid ();
-	  save_current_program_space ();
-
-	  inferior_ptid = ptid_build (child_pid, child_pid, 0);
-	  add_thread (inferior_ptid);
-	  child_lp = add_lwp (inferior_ptid);
-	  child_lp->stopped = 1;
-	  child_lp->last_resume_kind = resume_stop;
-	  child_inf->symfile_flags = SYMFILE_NO_READ;
-
-	  /* If this is a vfork child, then the address-space is
-	     shared with the parent.  */
-	  if (has_vforked)
-	    {
-	      child_inf->pspace = parent_inf->pspace;
-	      child_inf->aspace = parent_inf->aspace;
-
-	      /* The parent will be frozen until the child is done
-		 with the shared region.  Keep track of the
-		 parent.  */
-	      child_inf->vfork_parent = parent_inf;
-	      child_inf->pending_detach = 0;
-	      parent_inf->vfork_child = child_inf;
-	      parent_inf->pending_detach = 0;
-	    }
-	  else
-	    {
-	      child_inf->aspace = new_address_space ();
-	      child_inf->pspace = add_program_space (child_inf->aspace);
-	      child_inf->removable = 1;
-	      set_current_program_space (child_inf->pspace);
-	      clone_program_space (child_inf->pspace, parent_inf->pspace);
-
-	      /* Let the shared library layer (solib-svr4) learn about
-		 this new process, relocate the cloned exec, pull in
-		 shared libraries, and install the solib event
-		 breakpoint.  If a "cloned-VM" event was propagated
-		 better throughout the core, this wouldn't be
-		 required.  */
-	      solib_create_inferior_hook (0);
-	    }
-
 	  /* Let the thread_db layer learn about this new process.  */
 	  check_for_thread_db ();
-
-	  do_cleanups (old_chain);
 	}
 
+      do_cleanups (old_chain);
+
       if (has_vforked)
 	{
 	  struct lwp_info *parent_lp;
-	  struct inferior *parent_inf;
-
-	  parent_inf = current_inferior ();
-
-	  /* If we detached from the child, then we have to be careful
-	     to not insert breakpoints in the parent until the child
-	     is done with the shared memory region.  However, if we're
-	     staying attached to the child, then we can and should
-	     insert breakpoints, so that we can debug it.  A
-	     subsequent child exec or exit is enough to know when does
-	     the child stops using the parent's address space.  */
-	  parent_inf->waiting_for_vfork_done = detach_fork;
-	  parent_inf->pspace->breakpoints_not_allowed = detach_fork;
 
 	  parent_lp = find_lwp_pid (pid_to_ptid (parent_pid));
 	  gdb_assert (linux_supports_tracefork () >= 0);
@@ -630,98 +530,12 @@ holding the child stopped.  Try \"set de
     }
   else
     {
-      struct inferior *parent_inf, *child_inf;
       struct lwp_info *child_lp;
-      struct program_space *parent_pspace;
-
-      if (info_verbose || debug_linux_nat)
-	{
-	  target_terminal_ours ();
-	  if (has_vforked)
-	    fprintf_filtered (gdb_stdlog,
-			      _("Attaching after process %d "
-				"vfork to child process %d.\n"),
-			      parent_pid, child_pid);
-	  else
-	    fprintf_filtered (gdb_stdlog,
-			      _("Attaching after process %d "
-				"fork to child process %d.\n"),
-			      parent_pid, child_pid);
-	}
-
-      /* Add the new inferior first, so that the target_detach below
-	 doesn't unpush the target.  */
-
-      child_inf = add_inferior (child_pid);
-
-      parent_inf = current_inferior ();
-      child_inf->attach_flag = parent_inf->attach_flag;
-      copy_terminal_info (child_inf, parent_inf);
-      child_inf->gdbarch = parent_inf->gdbarch;
-      copy_inferior_target_desc_info (child_inf, parent_inf);
-
-      parent_pspace = parent_inf->pspace;
-
-      /* If we're vforking, we want to hold on to the parent until the
-	 child exits or execs.  At child exec or exit time we can
-	 remove the old breakpoints from the parent and detach or
-	 resume debugging it.  Otherwise, detach the parent now; we'll
-	 want to reuse it's program/address spaces, but we can't set
-	 them to the child before removing breakpoints from the
-	 parent, otherwise, the breakpoints module could decide to
-	 remove breakpoints from the wrong process (since they'd be
-	 assigned to the same address space).  */
-
-      if (has_vforked)
-	{
-	  gdb_assert (child_inf->vfork_parent == NULL);
-	  gdb_assert (parent_inf->vfork_child == NULL);
-	  child_inf->vfork_parent = parent_inf;
-	  child_inf->pending_detach = 0;
-	  parent_inf->vfork_child = child_inf;
-	  parent_inf->pending_detach = detach_fork;
-	  parent_inf->waiting_for_vfork_done = 0;
-	}
-      else if (detach_fork)
-	target_detach (NULL, 0);
-
-      /* Note that the detach above makes PARENT_INF dangling.  */
-
-      /* Add the child thread to the appropriate lists, and switch to
-	 this new thread, before cloning the program space, and
-	 informing the solib layer about this new process.  */
 
-      inferior_ptid = ptid_build (child_pid, child_pid, 0);
-      add_thread (inferior_ptid);
       child_lp = add_lwp (inferior_ptid);
       child_lp->stopped = 1;
       child_lp->last_resume_kind = resume_stop;
 
-      /* If this is a vfork child, then the address-space is shared
-	 with the parent.  If we detached from the parent, then we can
-	 reuse the parent's program/address spaces.  */
-      if (has_vforked || detach_fork)
-	{
-	  child_inf->pspace = parent_pspace;
-	  child_inf->aspace = child_inf->pspace->aspace;
-	}
-      else
-	{
-	  child_inf->aspace = new_address_space ();
-	  child_inf->pspace = add_program_space (child_inf->aspace);
-	  child_inf->removable = 1;
-	  child_inf->symfile_flags = SYMFILE_NO_READ;
-	  set_current_program_space (child_inf->pspace);
-	  clone_program_space (child_inf->pspace, parent_pspace);
-
-	  /* Let the shared library layer (solib-svr4) learn about
-	     this new process, relocate the cloned exec, pull in
-	     shared libraries, and install the solib event breakpoint.
-	     If a "cloned-VM" event was propagated better throughout
-	     the core, this wouldn't be required.  */
-	  solib_create_inferior_hook (0);
-	}
-
       /* Let the thread_db layer learn about this new process.  */
       check_for_thread_db ();
     }
@@ -1215,6 +1029,7 @@ lin_lwp_attach_lwp (ptid_t ptid)
 
 		  /* See if we've got a stop for this new child
 		     pending.  If so, we're already attached.  */
+		  gdb_assert (lwpid > 0);
 		  new_pid = my_waitpid (lwpid, &status, WNOHANG);
 		  if (new_pid == -1 && errno == ECHILD)
 		    new_pid = my_waitpid (lwpid, &status, __WCLONE | WNOHANG);
@@ -1329,6 +1144,73 @@ linux_nat_create_inferior (struct target
 #endif /* HAVE_PERSONALITY */
 }
 
+/* Callback for linux_proc_attach_tgid_threads.  Attach to PTID if not
+   already attached.  Returns true if a new LWP is found, false
+   otherwise.  */
+
+static int
+attach_proc_task_lwp_callback (ptid_t ptid)
+{
+  struct lwp_info *lp;
+
+  /* Ignore LWPs we're already attached to.  */
+  lp = find_lwp_pid (ptid);
+  if (lp == NULL)
+    {
+      int lwpid = ptid_get_lwp (ptid);
+
+      if (ptrace (PTRACE_ATTACH, lwpid, 0, 0) < 0)
+	{
+	  int err = errno;
+
+	  /* Be quiet if we simply raced with the thread exiting.
+	     EPERM is returned if the thread's task still exists, and
+	     is marked as exited or zombie, as well as other
+	     conditions, so in that case, confirm the status in
+	     /proc/PID/status.  */
+	  if (err == ESRCH
+	      || (err == EPERM && linux_proc_pid_is_gone (lwpid)))
+	    {
+	      if (debug_linux_nat)
+		{
+		  fprintf_unfiltered (gdb_stdlog,
+				      "Cannot attach to lwp %d: "
+				      "thread is gone (%d: %s)\n",
+				      lwpid, err, safe_strerror (err));
+		}
+	    }
+	  else
+	    {
+	      warning (_("Cannot attach to lwp %d: %s"),
+		       lwpid,
+		       linux_ptrace_attach_fail_reason_string (ptid,
+							       err));
+	    }
+	}
+      else
+	{
+	  if (debug_linux_nat)
+	    fprintf_unfiltered (gdb_stdlog,
+				"PTRACE_ATTACH %s, 0, 0 (OK)\n",
+				target_pid_to_str (ptid));
+
+	  lp = add_lwp (ptid);
+	  lp->cloned = 1;
+
+	  /* The next time we wait for this LWP we'll see a SIGSTOP as
+	     PTRACE_ATTACH brings it to a halt.  */
+	  lp->signalled = 1;
+
+	  /* We need to wait for a stop before being able to make the
+	     next ptrace call on this LWP.  */
+	  lp->must_set_ptrace_flags = 1;
+	}
+
+      return 1;
+    }
+  return 0;
+}
+
 static void
 linux_nat_attach (struct target_ops *ops, const char *args, int from_tty)
 {
@@ -1422,6 +1304,16 @@ linux_nat_attach (struct target_ops *ops
 
   lp->status = status;
 
+  /* We must attach to every LWP.  If /proc is mounted, use that to
+     find them now.  The inferior may be using raw clone instead of
+     using pthreads.  But even if it is using pthreads, thread_db
+     walks structures in the inferior's address space to find the list
+     of threads/LWPs, and those structures may well be corrupted.
+     Note that once thread_db is loaded, we'll still use it to list
+     threads and associate pthread info with each LWP.  */
+  linux_proc_attach_tgid_threads (ptid_get_pid (lp->ptid),
+				  attach_proc_task_lwp_callback);
+
   if (target_can_async_p ())
     target_async (inferior_event_handler, 0);
 }
@@ -1622,6 +1514,38 @@ linux_nat_detach (struct target_ops *ops
     linux_ops->to_detach (ops, args, from_tty);
 }
 
+/* Resume execution of the inferior process.  If STEP is nonzero,
+   single-step it.  If SIGNAL is nonzero, give it that signal.  */
+
+static void
+linux_resume_one_lwp (struct lwp_info *lp, int step, enum gdb_signal signo)
+{
+  ptid_t ptid;
+
+  lp->step = step;
+
+  /* stop_pc doubles as the PC the LWP had when it was last resumed.
+     We only presently need that if the LWP is stepped though (to
+     handle the case of stepping a breakpoint instruction).  */
+  if (step)
+    {
+      struct regcache *regcache = get_thread_regcache (lp->ptid);
+
+      lp->stop_pc = regcache_read_pc (regcache);
+    }
+  else
+    lp->stop_pc = 0;
+
+  if (linux_nat_prepare_to_resume != NULL)
+    linux_nat_prepare_to_resume (lp);
+  /* Convert to something the lower layer understands.  */
+  ptid = pid_to_ptid (ptid_get_lwp (lp->ptid));
+  linux_ops->to_resume (linux_ops, ptid, step, signo);
+  lp->stop_reason = LWP_STOPPED_BY_NO_REASON;
+  lp->stopped = 0;
+  registers_changed_ptid (lp->ptid);
+}
+
 /* Resume LP.  */
 
 static void
@@ -1629,7 +1553,7 @@ resume_lwp (struct lwp_info *lp, int ste
 {
   if (lp->stopped)
     {
-      struct inferior *inf = find_inferior_pid (ptid_get_pid (lp->ptid));
+      struct inferior *inf = find_inferior_ptid (lp->ptid);
 
       if (inf->vfork_child != NULL)
 	{
@@ -1638,8 +1562,7 @@ resume_lwp (struct lwp_info *lp, int ste
 				"RC: Not resuming %s (vfork parent)\n",
 				target_pid_to_str (lp->ptid));
 	}
-      else if (lp->status == 0
-	       && lp->waitstatus.kind == TARGET_WAITKIND_IGNORE)
+      else if (!lwp_status_pending_p (lp))
 	{
 	  if (debug_linux_nat)
 	    fprintf_unfiltered (gdb_stdlog,
@@ -1650,14 +1573,7 @@ resume_lwp (struct lwp_info *lp, int ste
 				 : "0"),
 				step ? "step" : "resume");
 
-	  if (linux_nat_prepare_to_resume != NULL)
-	    linux_nat_prepare_to_resume (lp);
-	  linux_ops->to_resume (linux_ops,
-				pid_to_ptid (ptid_get_lwp (lp->ptid)),
-				step, signo);
-	  lp->stopped = 0;
-	  lp->step = step;
-	  lp->stopped_by_watchpoint = 0;
+	  linux_resume_one_lwp (lp, step, signo);
 	}
       else
 	{
@@ -1694,8 +1610,7 @@ linux_nat_resume_callback (struct lwp_in
       thread = find_thread_ptid (lp->ptid);
       if (thread != NULL)
 	{
-	  if (signal_pass_state (thread->suspend.stop_signal))
-	    signo = thread->suspend.stop_signal;
+	  signo = thread->suspend.stop_signal;
 	  thread->suspend.stop_signal = GDB_SIGNAL_0;
 	}
     }
@@ -1752,7 +1667,6 @@ linux_nat_resume (struct target_ops *ops
   gdb_assert (lp != NULL);
 
   /* Remember if we're stepping.  */
-  lp->step = step;
   lp->last_resume_kind = step ? resume_step : resume_continue;
 
   /* If we have a pending wait status for this thread, there is no
@@ -1782,7 +1696,7 @@ linux_nat_resume (struct target_ops *ops
 	}
     }
 
-  if (lp->status || lp->waitstatus.kind != TARGET_WAITKIND_IGNORE)
+  if (lwp_status_pending_p (lp))
     {
       /* FIXME: What should we do if we are supposed to continue
 	 this thread with a signal?  */
@@ -1805,14 +1719,7 @@ linux_nat_resume (struct target_ops *ops
   if (resume_many)
     iterate_over_lwps (ptid, linux_nat_resume_callback, lp);
 
-  /* Convert to something the lower layer understands.  */
-  ptid = pid_to_ptid (ptid_get_lwp (lp->ptid));
-
-  if (linux_nat_prepare_to_resume != NULL)
-    linux_nat_prepare_to_resume (lp);
-  linux_ops->to_resume (linux_ops, ptid, step, signo);
-  lp->stopped_by_watchpoint = 0;
-  lp->stopped = 0;
+  linux_resume_one_lwp (lp, step, signo);
 
   if (debug_linux_nat)
     fprintf_unfiltered (gdb_stdlog,
@@ -1976,14 +1883,7 @@ linux_handle_syscall_trap (struct lwp_in
      subsequent syscall.  Simply resume using the inf-ptrace layer,
      which knows when to use PT_SYSCALL or PT_CONTINUE.  */
 
-  /* Note that gdbarch_get_syscall_number may access registers, hence
-     fill a regcache.  */
-  registers_changed ();
-  if (linux_nat_prepare_to_resume != NULL)
-    linux_nat_prepare_to_resume (lp);
-  linux_ops->to_resume (linux_ops, pid_to_ptid (ptid_get_lwp (lp->ptid)),
-			lp->step, GDB_SIGNAL_0);
-  lp->stopped = 0;
+  linux_resume_one_lwp (lp, lp->step, GDB_SIGNAL_0);
   return 1;
 }
 
@@ -1999,7 +1899,7 @@ linux_handle_extended_wait (struct lwp_i
 {
   int pid = ptid_get_lwp (lp->ptid);
   struct target_waitstatus *ourstatus = &lp->waitstatus;
-  int event = status >> 16;
+  int event = linux_ptrace_get_extended_event (status);
 
   if (event == PTRACE_EVENT_FORK || event == PTRACE_EVENT_VFORK
       || event == PTRACE_EVENT_CLONE)
@@ -2177,23 +2077,14 @@ linux_handle_extended_wait (struct lwp_i
 		    fprintf_unfiltered (gdb_stdlog,
 					"LHEW: resuming new LWP %ld\n",
 					ptid_get_lwp (new_lp->ptid));
-		  if (linux_nat_prepare_to_resume != NULL)
-		    linux_nat_prepare_to_resume (new_lp);
-		  linux_ops->to_resume (linux_ops, pid_to_ptid (new_pid),
-					0, GDB_SIGNAL_0);
-		  new_lp->stopped = 0;
+		  linux_resume_one_lwp (new_lp, 0, GDB_SIGNAL_0);
 		}
 	    }
 
 	  if (debug_linux_nat)
 	    fprintf_unfiltered (gdb_stdlog,
 				"LHEW: resuming parent LWP %d\n", pid);
-	  if (linux_nat_prepare_to_resume != NULL)
-	    linux_nat_prepare_to_resume (lp);
-	  linux_ops->to_resume (linux_ops,
-				pid_to_ptid (ptid_get_lwp (lp->ptid)),
-				0, GDB_SIGNAL_0);
-	  lp->stopped = 0;
+	  linux_resume_one_lwp (lp, 0, GDB_SIGNAL_0);
 	  return 1;
 	}
 
@@ -2211,6 +2102,10 @@ linux_handle_extended_wait (struct lwp_i
       ourstatus->value.execd_pathname
 	= xstrdup (linux_child_pid_to_exec_file (NULL, pid));
 
+      /* The thread that execed must have been resumed, but, when a
+	 thread execs, it changes its tid to the tgid, and the old
+	 tgid thread might have not been resumed.  */
+      lp->resumed = 1;
       return 0;
     }
 
@@ -2314,6 +2209,8 @@ wait_lwp (struct lwp_info *lp)
 	 again before it gets to sigsuspend so we can safely let the handlers
 	 get executed here.  */
 
+      if (debug_linux_nat)
+	fprintf_unfiltered (gdb_stdlog, "WL: about to sigsuspend\n");
       sigsuspend (&suspend_mask);
     }
 
@@ -2350,6 +2247,14 @@ wait_lwp (struct lwp_info *lp)
   gdb_assert (WIFSTOPPED (status));
   lp->stopped = 1;
 
+  if (lp->must_set_ptrace_flags)
+    {
+      struct inferior *inf = find_inferior_pid (ptid_get_pid (lp->ptid));
+
+      linux_enable_event_reporting (ptid_get_lwp (lp->ptid), inf->attach_flag);
+      lp->must_set_ptrace_flags = 0;
+    }
+
   /* Handle GNU/Linux's syscall SIGTRAPs.  */
   if (WIFSTOPPED (status) && WSTOPSIG (status) == SYSCALL_SIGTRAP)
     {
@@ -2363,7 +2268,8 @@ wait_lwp (struct lwp_info *lp)
     }
 
   /* Handle GNU/Linux's extended waitstatus for trace events.  */
-  if (WIFSTOPPED (status) && WSTOPSIG (status) == SIGTRAP && status >> 16 != 0)
+  if (WIFSTOPPED (status) && WSTOPSIG (status) == SIGTRAP
+      && linux_is_extended_waitstatus (status))
     {
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
@@ -2485,24 +2391,21 @@ maybe_clear_ignore_sigint (struct lwp_in
    soon as we see LP stop with a SIGTRAP.  If GDB changes the debug
    registers meanwhile, we have the cached data we can rely on.  */
 
-static void
-save_sigtrap (struct lwp_info *lp)
+static int
+check_stopped_by_watchpoint (struct lwp_info *lp)
 {
   struct cleanup *old_chain;
 
   if (linux_ops->to_stopped_by_watchpoint == NULL)
-    {
-      lp->stopped_by_watchpoint = 0;
-      return;
-    }
+    return 0;
 
   old_chain = save_inferior_ptid ();
   inferior_ptid = lp->ptid;
 
-  lp->stopped_by_watchpoint = linux_ops->to_stopped_by_watchpoint (linux_ops);
-
-  if (lp->stopped_by_watchpoint)
+  if (linux_ops->to_stopped_by_watchpoint (linux_ops))
     {
+      lp->stop_reason = LWP_STOPPED_BY_WATCHPOINT;
+
       if (linux_ops->to_stopped_data_address != NULL)
 	lp->stopped_data_address_p =
 	  linux_ops->to_stopped_data_address (&current_target,
@@ -2512,9 +2415,27 @@ save_sigtrap (struct lwp_info *lp)
     }
 
   do_cleanups (old_chain);
+
+  return lp->stop_reason == LWP_STOPPED_BY_WATCHPOINT;
 }
 
-/* See save_sigtrap.  */
+/* Called when the LWP stopped for a trap that could be explained by a
+   watchpoint or a breakpoint.  */
+
+static void
+save_sigtrap (struct lwp_info *lp)
+{
+  gdb_assert (lp->stop_reason == LWP_STOPPED_BY_NO_REASON);
+  gdb_assert (lp->status != 0);
+
+  if (check_stopped_by_watchpoint (lp))
+    return;
+
+  if (linux_nat_status_is_event (lp->status))
+    check_stopped_by_breakpoint (lp);
+}
+
+/* Returns true if the LWP had stopped for a watchpoint.  */
 
 static int
 linux_nat_stopped_by_watchpoint (struct target_ops *ops)
@@ -2523,7 +2444,7 @@ linux_nat_stopped_by_watchpoint (struct 
 
   gdb_assert (lp != NULL);
 
-  return lp->stopped_by_watchpoint;
+  return lp->stop_reason == LWP_STOPPED_BY_WATCHPOINT;
 }
 
 static int
@@ -2546,24 +2467,6 @@ sigtrap_is_event (int status)
   return WIFSTOPPED (status) && WSTOPSIG (status) == SIGTRAP;
 }
 
-/* SIGTRAP-like events recognizer.  */
-
-static int (*linux_nat_status_is_event) (int status) = sigtrap_is_event;
-
-/* Check for SIGTRAP-like events in LP.  */
-
-static int
-linux_nat_lp_status_is_event (struct lwp_info *lp)
-{
-  /* We check for lp->waitstatus in addition to lp->status, because we can
-     have pending process exits recorded in lp->status
-     and W_EXITCODE(0,0) == 0.  We should probably have an additional
-     lp->status_p flag.  */
-
-  return (lp->waitstatus.kind == TARGET_WAITKIND_IGNORE
-	  && linux_nat_status_is_event (lp->status));
-}
-
 /* Set alternative SIGTRAP-like events recognizer.  If
    breakpoint_inserted_here_p there then gdbarch_decr_pc_after_break will be
    applied.  */
@@ -2580,7 +2483,7 @@ linux_nat_set_status_is_event (struct ta
 static int
 stop_wait_callback (struct lwp_info *lp, void *data)
 {
-  struct inferior *inf = find_inferior_pid (ptid_get_pid (lp->ptid));
+  struct inferior *inf = find_inferior_ptid (lp->ptid);
 
   /* If this is a vfork parent, bail out, it is not going to report
      any SIGSTOP until the vfork is done with.  */
@@ -2619,8 +2522,6 @@ stop_wait_callback (struct lwp_info *lp,
 	{
 	  /* The thread was stopped with a signal other than SIGSTOP.  */
 
-	  save_sigtrap (lp);
-
 	  if (debug_linux_nat)
 	    fprintf_unfiltered (gdb_stdlog,
 				"SWC: Pending event %s in %s\n",
@@ -2630,6 +2531,7 @@ stop_wait_callback (struct lwp_info *lp,
 	  /* Save the sigtrap event.  */
 	  lp->status = status;
 	  gdb_assert (lp->signalled);
+	  save_sigtrap (lp);
 	}
       else
 	{
@@ -2650,7 +2552,9 @@ stop_wait_callback (struct lwp_info *lp,
   return 0;
 }
 
-/* Return non-zero if LP has a wait status pending.  */
+/* Return non-zero if LP has a wait status pending.  Discard the
+   pending event and resume the LWP if the event that originally
+   caused the stop became uninteresting.  */
 
 static int
 status_callback (struct lwp_info *lp, void *data)
@@ -2660,20 +2564,54 @@ status_callback (struct lwp_info *lp, vo
   if (!lp->resumed)
     return 0;
 
-  if (lp->waitstatus.kind != TARGET_WAITKIND_IGNORE)
+  if (lp->stop_reason == LWP_STOPPED_BY_SW_BREAKPOINT
+      || lp->stop_reason == LWP_STOPPED_BY_HW_BREAKPOINT)
     {
-      /* A ptrace event, like PTRACE_FORK|VFORK|EXEC, syscall event,
-	 or a pending process exit.  Note that `W_EXITCODE(0,0) ==
-	 0', so a clean process exit can not be stored pending in
-	 lp->status, it is indistinguishable from
-	 no-pending-status.  */
+      struct regcache *regcache = get_thread_regcache (lp->ptid);
+      struct gdbarch *gdbarch = get_regcache_arch (regcache);
+      CORE_ADDR pc;
+      int discard = 0;
+
+      gdb_assert (lp->status != 0);
+
+      pc = regcache_read_pc (regcache);
+
+      if (pc != lp->stop_pc)
+	{
+	  if (debug_linux_nat)
+	    fprintf_unfiltered (gdb_stdlog,
+				"SC: PC of %s changed.  was=%s, now=%s\n",
+				target_pid_to_str (lp->ptid),
+				paddress (target_gdbarch (), lp->stop_pc),
+				paddress (target_gdbarch (), pc));
+	  discard = 1;
+	}
+      else if (!breakpoint_inserted_here_p (get_regcache_aspace (regcache), pc))
+	{
+	  if (debug_linux_nat)
+	    fprintf_unfiltered (gdb_stdlog,
+				"SC: previous breakpoint of %s, at %s gone\n",
+				target_pid_to_str (lp->ptid),
+				paddress (target_gdbarch (), lp->stop_pc));
+
+	  discard = 1;
+	}
+
+      if (discard)
+	{
+	  if (debug_linux_nat)
+	    fprintf_unfiltered (gdb_stdlog,
+				"SC: pending event of %s cancelled.\n",
+				target_pid_to_str (lp->ptid));
+
+	  lp->status = 0;
+	  linux_resume_one_lwp (lp, lp->step, GDB_SIGNAL_0);
+	  return 0;
+	}
       return 1;
     }
 
-  if (lp->status != 0)
-    return 1;
-
-  return 0;
+  return lwp_status_pending_p (lp);
 }
 
 /* Return non-zero if LP isn't stopped.  */
@@ -2682,9 +2620,7 @@ static int
 running_callback (struct lwp_info *lp, void *data)
 {
   return (!lp->stopped
-	  || ((lp->status != 0
-	       || lp->waitstatus.kind != TARGET_WAITKIND_IGNORE)
-	      && lp->resumed));
+	  || (lwp_status_pending_p (lp) && lp->resumed));
 }
 
 /* Count the LWP's that have had events.  */
@@ -2696,8 +2632,8 @@ count_events_callback (struct lwp_info *
 
   gdb_assert (count != NULL);
 
-  /* Count only resumed LWPs that have a SIGTRAP event pending.  */
-  if (lp->resumed && linux_nat_lp_status_is_event (lp))
+  /* Select only resumed LWPs that have an event pending.  */
+  if (lp->resumed && lwp_status_pending_p (lp))
     (*count)++;
 
   return 0;
@@ -2715,6 +2651,17 @@ select_singlestep_lwp_callback (struct l
     return 0;
 }
 
+/* Returns true if LP has a status pending.  */
+
+static int
+lwp_status_pending_p (struct lwp_info *lp)
+{
+  /* We check for lp->waitstatus in addition to lp->status, because we
+     can have pending process exits recorded in lp->status and
+     W_EXITCODE(0,0) happens to be 0.  */
+  return lp->status != 0 || lp->waitstatus.kind != TARGET_WAITKIND_IGNORE;
+}
+
 /* Select the Nth LWP that has had a SIGTRAP event.  */
 
 static int
@@ -2724,16 +2671,19 @@ select_event_lwp_callback (struct lwp_in
 
   gdb_assert (selector != NULL);
 
-  /* Select only resumed LWPs that have a SIGTRAP event pending.  */
-  if (lp->resumed && linux_nat_lp_status_is_event (lp))
+  /* Select only resumed LWPs that have an event pending.  */
+  if (lp->resumed && lwp_status_pending_p (lp))
     if ((*selector)-- == 0)
       return 1;
 
   return 0;
 }
 
+/* Called when the LWP got a signal/trap that could be explained by a
+   software or hardware breakpoint.  */
+
 static int
-cancel_breakpoint (struct lwp_info *lp)
+check_stopped_by_breakpoint (struct lwp_info *lp)
 {
   /* Arrange for a breakpoint to be hit again later.  We don't keep
      the SIGTRAP status and don't forward the SIGTRAP signal to the
@@ -2747,48 +2697,42 @@ cancel_breakpoint (struct lwp_info *lp)
   struct regcache *regcache = get_thread_regcache (lp->ptid);
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   CORE_ADDR pc;
+  CORE_ADDR sw_bp_pc;
 
-  pc = regcache_read_pc (regcache) - target_decr_pc_after_break (gdbarch);
-  if (breakpoint_inserted_here_p (get_regcache_aspace (regcache), pc))
+  pc = regcache_read_pc (regcache);
+  sw_bp_pc = pc - target_decr_pc_after_break (gdbarch);
+
+  if ((!lp->step || lp->stop_pc == sw_bp_pc)
+      && software_breakpoint_inserted_here_p (get_regcache_aspace (regcache),
+					      sw_bp_pc))
     {
+      /* The LWP was either continued, or stepped a software
+	 breakpoint instruction.  */
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
-			    "CB: Push back breakpoint for %s\n",
+			    "CB: Push back software breakpoint for %s\n",
 			    target_pid_to_str (lp->ptid));
 
       /* Back up the PC if necessary.  */
-      if (target_decr_pc_after_break (gdbarch))
-	regcache_write_pc (regcache, pc);
+      if (pc != sw_bp_pc)
+	regcache_write_pc (regcache, sw_bp_pc);
 
+      lp->stop_pc = sw_bp_pc;
+      lp->stop_reason = LWP_STOPPED_BY_SW_BREAKPOINT;
       return 1;
     }
-  return 0;
-}
 
-static int
-cancel_breakpoints_callback (struct lwp_info *lp, void *data)
-{
-  struct lwp_info *event_lp = data;
-
-  /* Leave the LWP that has been elected to receive a SIGTRAP alone.  */
-  if (lp == event_lp)
-    return 0;
-
-  /* If a LWP other than the LWP that we're reporting an event for has
-     hit a GDB breakpoint (as opposed to some random trap signal),
-     then just arrange for it to hit it again later.  We don't keep
-     the SIGTRAP status and don't forward the SIGTRAP signal to the
-     LWP.  We will handle the current event, eventually we will resume
-     all LWPs, and this one will get its breakpoint trap again.
-
-     If we do not do this, then we run the risk that the user will
-     delete or disable the breakpoint, but the LWP will have already
-     tripped on it.  */
+  if (hardware_breakpoint_inserted_here_p (get_regcache_aspace (regcache), pc))
+    {
+      if (debug_linux_nat)
+	fprintf_unfiltered (gdb_stdlog,
+			    "CB: Push back hardware breakpoint for %s\n",
+			    target_pid_to_str (lp->ptid));
 
-  if (linux_nat_lp_status_is_event (lp)
-      && cancel_breakpoint (lp))
-    /* Throw away the SIGTRAP.  */
-    lp->status = 0;
+      lp->stop_pc = pc;
+      lp->stop_reason = LWP_STOPPED_BY_HW_BREAKPOINT;
+      return 1;
+    }
 
   return 0;
 }
@@ -2800,36 +2744,48 @@ select_event_lwp (ptid_t filter, struct 
 {
   int num_events = 0;
   int random_selector;
-  struct lwp_info *event_lp;
+  struct lwp_info *event_lp = NULL;
 
   /* Record the wait status for the original LWP.  */
   (*orig_lp)->status = *status;
 
-  /* Give preference to any LWP that is being single-stepped.  */
-  event_lp = iterate_over_lwps (filter,
-				select_singlestep_lwp_callback, NULL);
-  if (event_lp != NULL)
+  /* In all-stop, give preference to the LWP that is being
+     single-stepped.  There will be at most one, and it will be the
+     LWP that the core is most interested in.  If we didn't do this,
+     then we'd have to handle pending step SIGTRAPs somehow in case
+     the core later continues the previously-stepped thread, as
+     otherwise we'd report the pending SIGTRAP then, and the core, not
+     having stepped the thread, wouldn't understand what the trap was
+     for, and therefore would report it to the user as a random
+     signal.  */
+  if (!non_stop)
     {
-      if (debug_linux_nat)
-	fprintf_unfiltered (gdb_stdlog,
-			    "SEL: Select single-step %s\n",
-			    target_pid_to_str (event_lp->ptid));
+      event_lp = iterate_over_lwps (filter,
+				    select_singlestep_lwp_callback, NULL);
+      if (event_lp != NULL)
+	{
+	  if (debug_linux_nat)
+	    fprintf_unfiltered (gdb_stdlog,
+				"SEL: Select single-step %s\n",
+				target_pid_to_str (event_lp->ptid));
+	}
     }
-  else
+
+  if (event_lp == NULL)
     {
-      /* No single-stepping LWP.  Select one at random, out of those
-         which have had SIGTRAP events.  */
+      /* Pick one at random, out of those which have had events.  */
 
-      /* First see how many SIGTRAP events we have.  */
+      /* First see how many events we have.  */
       iterate_over_lwps (filter, count_events_callback, &num_events);
 
-      /* Now randomly pick a LWP out of those that have had a SIGTRAP.  */
+      /* Now randomly pick a LWP out of those that have had
+	 events.  */
       random_selector = (int)
 	((num_events * (double) rand ()) / (RAND_MAX + 1.0));
 
       if (debug_linux_nat && num_events > 1)
 	fprintf_unfiltered (gdb_stdlog,
-			    "SEL: Found %d SIGTRAP events, selecting #%d\n",
+			    "SEL: Found %d events, selecting #%d\n",
 			    num_events, random_selector);
 
       event_lp = iterate_over_lwps (filter,
@@ -2863,8 +2819,6 @@ resumed_callback (struct lwp_info *lp, v
 static int
 stop_and_resume_callback (struct lwp_info *lp, void *data)
 {
-  int *new_pending_p = data;
-
   if (!lp->stopped)
     {
       ptid_t ptid = lp->ptid;
@@ -2878,7 +2832,7 @@ stop_and_resume_callback (struct lwp_inf
       if (lp != NULL)
 	{
 	  if (lp->last_resume_kind == resume_stop
-	      && lp->status == 0)
+	      && !lwp_status_pending_p (lp))
 	    {
 	      /* The core wanted the LWP to stop.  Even if it stopped
 		 cleanly (with SIGSTOP), leave the event pending.  */
@@ -2890,7 +2844,7 @@ stop_and_resume_callback (struct lwp_inf
 	      lp->status = W_STOPCODE (SIGSTOP);
 	    }
 
-	  if (lp->status == 0)
+	  if (!lwp_status_pending_p (lp))
 	    {
 	      if (debug_linux_nat)
 		fprintf_unfiltered (gdb_stdlog,
@@ -2905,8 +2859,6 @@ stop_and_resume_callback (struct lwp_inf
 				    "SARC: not re-resuming LWP %ld "
 				    "(has pending)\n",
 				    ptid_get_lwp (lp->ptid));
-	      if (new_pending_p)
-		*new_pending_p = 1;
 	    }
 	}
     }
@@ -2914,16 +2866,13 @@ stop_and_resume_callback (struct lwp_inf
 }
 
 /* Check if we should go on and pass this event to common code.
-   Return the affected lwp if we are, or NULL otherwise.  If we stop
-   all lwps temporarily, we may end up with new pending events in some
-   other lwp.  In that case set *NEW_PENDING_P to true.  */
+   Return the affected lwp if we are, or NULL otherwise.  */
 
 static struct lwp_info *
-linux_nat_filter_event (int lwpid, int status, int *new_pending_p)
+linux_nat_filter_event (int lwpid, int status)
 {
   struct lwp_info *lp;
-
-  *new_pending_p = 0;
+  int event = linux_ptrace_get_extended_event (status);
 
   lp = find_lwp_pid (pid_to_ptid (lwpid));
 
@@ -2941,7 +2890,7 @@ linux_nat_filter_event (int lwpid, int s
      thread changes its tid to the tgid.  */
 
   if (WIFSTOPPED (status) && lp == NULL
-      && (WSTOPSIG (status) == SIGTRAP && status >> 16 == PTRACE_EVENT_EXEC))
+      && (WSTOPSIG (status) == SIGTRAP && event == PTRACE_EVENT_EXEC))
     {
       /* A multi-thread exec after we had seen the leader exiting.  */
       if (debug_linux_nat)
@@ -2972,6 +2921,14 @@ linux_nat_filter_event (int lwpid, int s
      ever being continued.)  */
   lp->stopped = 1;
 
+  if (WIFSTOPPED (status) && lp->must_set_ptrace_flags)
+    {
+      struct inferior *inf = find_inferior_pid (ptid_get_pid (lp->ptid));
+
+      linux_enable_event_reporting (ptid_get_lwp (lp->ptid), inf->attach_flag);
+      lp->must_set_ptrace_flags = 0;
+    }
+
   /* Handle GNU/Linux's syscall SIGTRAPs.  */
   if (WIFSTOPPED (status) && WSTOPSIG (status) == SYSCALL_SIGTRAP)
     {
@@ -2985,7 +2942,8 @@ linux_nat_filter_event (int lwpid, int s
     }
 
   /* Handle GNU/Linux's extended waitstatus for trace events.  */
-  if (WIFSTOPPED (status) && WSTOPSIG (status) == SIGTRAP && status >> 16 != 0)
+  if (WIFSTOPPED (status) && WSTOPSIG (status) == SIGTRAP
+      && linux_is_extended_waitstatus (status))
     {
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
@@ -2995,42 +2953,62 @@ linux_nat_filter_event (int lwpid, int s
 	return NULL;
     }
 
-  if (linux_nat_status_is_event (status))
-    save_sigtrap (lp);
-
   /* Check if the thread has exited.  */
-  if ((WIFEXITED (status) || WIFSIGNALED (status))
-      && num_lwps (ptid_get_pid (lp->ptid)) > 1)
+  if (WIFEXITED (status) || WIFSIGNALED (status))
     {
-      /* If this is the main thread, we must stop all threads and verify
-	 if they are still alive.  This is because in the nptl thread model
-	 on Linux 2.4, there is no signal issued for exiting LWPs
-	 other than the main thread.  We only get the main thread exit
-	 signal once all child threads have already exited.  If we
-	 stop all the threads and use the stop_wait_callback to check
-	 if they have exited we can determine whether this signal
-	 should be ignored or whether it means the end of the debugged
-	 application, regardless of which threading model is being
-	 used.  */
-      if (ptid_get_pid (lp->ptid) == ptid_get_lwp (lp->ptid))
+      if (num_lwps (ptid_get_pid (lp->ptid)) > 1)
 	{
-	  iterate_over_lwps (pid_to_ptid (ptid_get_pid (lp->ptid)),
-			     stop_and_resume_callback, new_pending_p);
+	  /* If this is the main thread, we must stop all threads and
+	     verify if they are still alive.  This is because in the
+	     nptl thread model on Linux 2.4, there is no signal issued
+	     for exiting LWPs other than the main thread.  We only get
+	     the main thread exit signal once all child threads have
+	     already exited.  If we stop all the threads and use the
+	     stop_wait_callback to check if they have exited we can
+	     determine whether this signal should be ignored or
+	     whether it means the end of the debugged application,
+	     regardless of which threading model is being used.  */
+	  if (ptid_get_pid (lp->ptid) == ptid_get_lwp (lp->ptid))
+	    {
+	      iterate_over_lwps (pid_to_ptid (ptid_get_pid (lp->ptid)),
+				 stop_and_resume_callback, NULL);
+	    }
+
+	  if (debug_linux_nat)
+	    fprintf_unfiltered (gdb_stdlog,
+				"LLW: %s exited.\n",
+				target_pid_to_str (lp->ptid));
+
+	  if (num_lwps (ptid_get_pid (lp->ptid)) > 1)
+	    {
+	      /* If there is at least one more LWP, then the exit signal
+		 was not the end of the debugged application and should be
+		 ignored.  */
+	      exit_lwp (lp);
+	      return NULL;
+	    }
 	}
 
+      gdb_assert (lp->resumed);
+
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
-			    "LLW: %s exited.\n",
-			    target_pid_to_str (lp->ptid));
+			    "Process %ld exited\n",
+			    ptid_get_lwp (lp->ptid));
 
-      if (num_lwps (ptid_get_pid (lp->ptid)) > 1)
-       {
-	 /* If there is at least one more LWP, then the exit signal
-	    was not the end of the debugged application and should be
-	    ignored.  */
-	 exit_lwp (lp);
-	 return NULL;
-       }
+      /* This was the last lwp in the process.  Since events are
+	 serialized to GDB core, we may not be able report this one
+	 right now, but GDB core and the other target layers will want
+	 to be notified about the exit code/signal, leave the status
+	 pending for the next time we're able to report it.  */
+
+      /* Dead LWP's aren't expected to reported a pending sigstop.  */
+      lp->signalled = 0;
+
+      /* Store the pending event in the waitstatus, because
+	 W_EXITCODE(0,0) == 0.  */
+      store_waitstatus (&lp->waitstatus, status);
+      return lp;
     }
 
   /* Check if the current LWP has previously exited.  In the nptl
@@ -3071,13 +3049,7 @@ linux_nat_filter_event (int lwpid, int s
 	{
 	  /* This is a delayed SIGSTOP.  */
 
-	  registers_changed ();
-
-	  if (linux_nat_prepare_to_resume != NULL)
-	    linux_nat_prepare_to_resume (lp);
-	  linux_ops->to_resume (linux_ops,
-				pid_to_ptid (ptid_get_lwp (lp->ptid)),
-				lp->step, GDB_SIGNAL_0);
+	  linux_resume_one_lwp (lp, lp->step, GDB_SIGNAL_0);
 	  if (debug_linux_nat)
 	    fprintf_unfiltered (gdb_stdlog,
 				"LLW: %s %s, 0, 0 (discard SIGSTOP)\n",
@@ -3085,7 +3057,6 @@ linux_nat_filter_event (int lwpid, int s
 				"PTRACE_SINGLESTEP" : "PTRACE_CONT",
 				target_pid_to_str (lp->ptid));
 
-	  lp->stopped = 0;
 	  gdb_assert (lp->resumed);
 
 	  /* Discard the event.  */
@@ -3106,28 +3077,72 @@ linux_nat_filter_event (int lwpid, int s
       /* This is a delayed SIGINT.  */
       lp->ignore_sigint = 0;
 
-      registers_changed ();
-      if (linux_nat_prepare_to_resume != NULL)
-	linux_nat_prepare_to_resume (lp);
-      linux_ops->to_resume (linux_ops, pid_to_ptid (ptid_get_lwp (lp->ptid)),
-			    lp->step, GDB_SIGNAL_0);
+      linux_resume_one_lwp (lp, lp->step, GDB_SIGNAL_0);
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
 			    "LLW: %s %s, 0, 0 (discard SIGINT)\n",
 			    lp->step ?
 			    "PTRACE_SINGLESTEP" : "PTRACE_CONT",
 			    target_pid_to_str (lp->ptid));
-
-      lp->stopped = 0;
       gdb_assert (lp->resumed);
 
       /* Discard the event.  */
       return NULL;
     }
 
+  /* Don't report signals that GDB isn't interested in, such as
+     signals that are neither printed nor stopped upon.  Stopping all
+     threads can be a bit time-consuming so if we want decent
+     performance with heavily multi-threaded programs, especially when
+     they're using a high frequency timer, we'd better avoid it if we
+     can.  */
+  if (WIFSTOPPED (status))
+    {
+      enum gdb_signal signo = gdb_signal_from_host (WSTOPSIG (status));
+
+      if (!non_stop)
+	{
+	  /* Only do the below in all-stop, as we currently use SIGSTOP
+	     to implement target_stop (see linux_nat_stop) in
+	     non-stop.  */
+	  if (signo == GDB_SIGNAL_INT && signal_pass_state (signo) == 0)
+	    {
+	      /* If ^C/BREAK is typed at the tty/console, SIGINT gets
+		 forwarded to the entire process group, that is, all LWPs
+		 will receive it - unless they're using CLONE_THREAD to
+		 share signals.  Since we only want to report it once, we
+		 mark it as ignored for all LWPs except this one.  */
+	      iterate_over_lwps (pid_to_ptid (ptid_get_pid (lp->ptid)),
+					      set_ignore_sigint, NULL);
+	      lp->ignore_sigint = 0;
+	    }
+	  else
+	    maybe_clear_ignore_sigint (lp);
+	}
+
+      /* When using hardware single-step, we need to report every signal.
+	 Otherwise, signals in pass_mask may be short-circuited.  */
+      if (!lp->step
+	  && WSTOPSIG (status) && sigismember (&pass_mask, WSTOPSIG (status)))
+	{
+	  linux_resume_one_lwp (lp, lp->step, signo);
+	  if (debug_linux_nat)
+	    fprintf_unfiltered (gdb_stdlog,
+				"LLW: %s %s, %s (preempt 'handle')\n",
+				lp->step ?
+				"PTRACE_SINGLESTEP" : "PTRACE_CONT",
+				target_pid_to_str (lp->ptid),
+				(signo != GDB_SIGNAL_0
+				 ? strsignal (gdb_signal_to_host (signo))
+				 : "0"));
+	  return NULL;
+	}
+    }
+
   /* An interesting event.  */
   gdb_assert (lp);
   lp->status = status;
+  save_sigtrap (lp);
   return lp;
 }
 
@@ -3201,7 +3216,7 @@ linux_nat_wait_1 (struct target_ops *ops
 		  ptid_t ptid, struct target_waitstatus *ourstatus,
 		  int target_options)
 {
-  static sigset_t prev_mask;
+  sigset_t prev_mask;
   enum resume_kind last_resume_kind;
   struct lwp_info *lp;
   int status;
@@ -3226,47 +3241,15 @@ linux_nat_wait_1 (struct target_ops *ops
   /* Make sure SIGCHLD is blocked until the sigsuspend below.  */
   block_child_signals (&prev_mask);
 
-retry:
-  lp = NULL;
-  status = 0;
-
   /* First check if there is a LWP with a wait status pending.  */
-  if (ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid))
-    {
-      /* Any LWP in the PTID group that's been resumed will do.  */
-      lp = iterate_over_lwps (ptid, status_callback, NULL);
-      if (lp)
-	{
-	  if (debug_linux_nat && lp->status)
-	    fprintf_unfiltered (gdb_stdlog,
-				"LLW: Using pending wait status %s for %s.\n",
-				status_to_str (lp->status),
-				target_pid_to_str (lp->ptid));
-	}
-    }
-  else if (ptid_lwp_p (ptid))
+  lp = iterate_over_lwps (ptid, status_callback, NULL);
+  if (lp != NULL)
     {
       if (debug_linux_nat)
 	fprintf_unfiltered (gdb_stdlog,
-			    "LLW: Waiting for specific LWP %s.\n",
-			    target_pid_to_str (ptid));
-
-      /* We have a specific LWP to check.  */
-      lp = find_lwp_pid (ptid);
-      gdb_assert (lp);
-
-      if (debug_linux_nat && lp->status)
-	fprintf_unfiltered (gdb_stdlog,
 			    "LLW: Using pending wait status %s for %s.\n",
 			    status_to_str (lp->status),
 			    target_pid_to_str (lp->ptid));
-
-      /* We check for lp->waitstatus in addition to lp->status,
-	 because we can have pending process exits recorded in
-	 lp->status and W_EXITCODE(0,0) == 0.  We should probably have
-	 an additional lp->status_p flag.  */
-      if (lp->status == 0 && lp->waitstatus.kind == TARGET_WAITKIND_IGNORE)
-	lp = NULL;
     }
 
   if (!target_can_async_p ())
@@ -3275,7 +3258,9 @@ retry:
       set_sigint_trap ();
     }
 
-  /* But if we don't find a pending event, we'll have to wait.  */
+  /* But if we don't find a pending event, we'll have to wait.  Always
+     pull all events out of the kernel.  We'll randomly select an
+     event LWP out of all that have events, to prevent starvation.  */
 
   while (lp == NULL)
     {
@@ -3306,10 +3291,6 @@ retry:
 
       if (lwpid > 0)
 	{
-	  /* If this is true, then we paused LWPs momentarily, and may
-	     now have pending events to handle.  */
-	  int new_pending;
-
 	  if (debug_linux_nat)
 	    {
 	      fprintf_unfiltered (gdb_stdlog,
@@ -3317,97 +3298,18 @@ retry:
 				  (long) lwpid, status_to_str (status));
 	    }
 
-	  lp = linux_nat_filter_event (lwpid, status, &new_pending);
-
-	  /* STATUS is now no longer valid, use LP->STATUS instead.  */
-	  status = 0;
-
-	  if (lp && !ptid_match (lp->ptid, ptid))
-	    {
-	      gdb_assert (lp->resumed);
-
-	      if (debug_linux_nat)
-		fprintf (stderr,
-			 "LWP %ld got an event %06x, leaving pending.\n",
-			 ptid_get_lwp (lp->ptid), lp->status);
-
-	      if (WIFSTOPPED (lp->status))
-		{
-		  if (WSTOPSIG (lp->status) != SIGSTOP)
-		    {
-		      /* Cancel breakpoint hits.  The breakpoint may
-			 be removed before we fetch events from this
-			 process to report to the core.  It is best
-			 not to assume the moribund breakpoints
-			 heuristic always handles these cases --- it
-			 could be too many events go through to the
-			 core before this one is handled.  All-stop
-			 always cancels breakpoint hits in all
-			 threads.  */
-		      if (non_stop
-			  && linux_nat_lp_status_is_event (lp)
-			  && cancel_breakpoint (lp))
-			{
-			  /* Throw away the SIGTRAP.  */
-			  lp->status = 0;
-
-			  if (debug_linux_nat)
-			    fprintf (stderr,
-				     "LLW: LWP %ld hit a breakpoint while"
-				     " waiting for another process;"
-				     " cancelled it\n",
-				     ptid_get_lwp (lp->ptid));
-			}
-		    }
-		  else
-		    lp->signalled = 0;
-		}
-	      else if (WIFEXITED (lp->status) || WIFSIGNALED (lp->status))
-		{
-		  if (debug_linux_nat)
-		    fprintf (stderr,
-			     "Process %ld exited while stopping LWPs\n",
-			     ptid_get_lwp (lp->ptid));
-
-		  /* This was the last lwp in the process.  Since
-		     events are serialized to GDB core, and we can't
-		     report this one right now, but GDB core and the
-		     other target layers will want to be notified
-		     about the exit code/signal, leave the status
-		     pending for the next time we're able to report
-		     it.  */
-
-		  /* Dead LWP's aren't expected to reported a pending
-		     sigstop.  */
-		  lp->signalled = 0;
-
-		  /* Store the pending event in the waitstatus as
-		     well, because W_EXITCODE(0,0) == 0.  */
-		  store_waitstatus (&lp->waitstatus, lp->status);
-		}
-
-	      /* Keep looking.  */
-	      lp = NULL;
-	    }
-
-	  if (new_pending)
-	    {
-	      /* Some LWP now has a pending event.  Go all the way
-		 back to check it.  */
-	      goto retry;
-	    }
-
-	  if (lp)
-	    {
-	      /* We got an event to report to the core.  */
-	      break;
-	    }
-
+	  linux_nat_filter_event (lwpid, status);
 	  /* Retry until nothing comes out of waitpid.  A single
 	     SIGCHLD can indicate more than one child stopped.  */
 	  continue;
 	}
 
+      /* Now that we've pulled all events out of the kernel, check if
+	 there's any LWP with a status to report to the core.  */
+      lp = iterate_over_lwps (ptid, status_callback, NULL);
+      if (lp != NULL)
+	break;
+
       /* Check for zombie thread group leaders.  Those can't be reaped
 	 until all other threads in the thread group are.  */
       check_zombie_leaders ();
@@ -3444,6 +3346,8 @@ retry:
       gdb_assert (lp == NULL);
 
       /* Block until we get an event reported with SIGCHLD.  */
+      if (debug_linux_nat)
+	fprintf_unfiltered (gdb_stdlog, "LNW: about to sigsuspend\n");
       sigsuspend (&suspend_mask);
     }
 
@@ -3455,109 +3359,54 @@ retry:
   status = lp->status;
   lp->status = 0;
 
-  /* Don't report signals that GDB isn't interested in, such as
-     signals that are neither printed nor stopped upon.  Stopping all
-     threads can be a bit time-consuming so if we want decent
-     performance with heavily multi-threaded programs, especially when
-     they're using a high frequency timer, we'd better avoid it if we
-     can.  */
+  if (!non_stop)
+    {
+      /* Now stop all other LWP's ...  */
+      iterate_over_lwps (minus_one_ptid, stop_callback, NULL);
 
-  if (WIFSTOPPED (status))
+      /* ... and wait until all of them have reported back that
+	 they're no longer running.  */
+      iterate_over_lwps (minus_one_ptid, stop_wait_callback, NULL);
+    }
+
+  /* If we're not waiting for a specific LWP, choose an event LWP from
+     among those that have had events.  Giving equal priority to all
+     LWPs that have had events helps prevent starvation.  */
+  if (ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid))
+    select_event_lwp (ptid, &lp, &status);
+
+  gdb_assert (lp != NULL);
+
+  /* Now that we've selected our final event LWP, un-adjust its PC if
+     it was a software breakpoint.  */
+  if (lp->stop_reason == LWP_STOPPED_BY_SW_BREAKPOINT)
     {
-      enum gdb_signal signo = gdb_signal_from_host (WSTOPSIG (status));
+      struct regcache *regcache = get_thread_regcache (lp->ptid);
+      struct gdbarch *gdbarch = get_regcache_arch (regcache);
+      int decr_pc = target_decr_pc_after_break (gdbarch);
 
-      /* When using hardware single-step, we need to report every signal.
-	 Otherwise, signals in pass_mask may be short-circuited.  */
-      if (!lp->step
-	  && WSTOPSIG (status) && sigismember (&pass_mask, WSTOPSIG (status)))
+      if (decr_pc != 0)
 	{
-	  /* FIMXE: kettenis/2001-06-06: Should we resume all threads
-	     here?  It is not clear we should.  GDB may not expect
-	     other threads to run.  On the other hand, not resuming
-	     newly attached threads may cause an unwanted delay in
-	     getting them running.  */
-	  registers_changed ();
-	  if (linux_nat_prepare_to_resume != NULL)
-	    linux_nat_prepare_to_resume (lp);
-	  linux_ops->to_resume (linux_ops,
-				pid_to_ptid (ptid_get_lwp (lp->ptid)),
-				lp->step, signo);
-	  if (debug_linux_nat)
-	    fprintf_unfiltered (gdb_stdlog,
-				"LLW: %s %s, %s (preempt 'handle')\n",
-				lp->step ?
-				"PTRACE_SINGLESTEP" : "PTRACE_CONT",
-				target_pid_to_str (lp->ptid),
-				(signo != GDB_SIGNAL_0
-				 ? strsignal (gdb_signal_to_host (signo))
-				 : "0"));
-	  lp->stopped = 0;
-	  goto retry;
-	}
+	  CORE_ADDR pc;
 
-      if (!non_stop)
-	{
-	  /* Only do the below in all-stop, as we currently use SIGINT
-	     to implement target_stop (see linux_nat_stop) in
-	     non-stop.  */
-	  if (signo == GDB_SIGNAL_INT && signal_pass_state (signo) == 0)
-	    {
-	      /* If ^C/BREAK is typed at the tty/console, SIGINT gets
-		 forwarded to the entire process group, that is, all LWPs
-		 will receive it - unless they're using CLONE_THREAD to
-		 share signals.  Since we only want to report it once, we
-		 mark it as ignored for all LWPs except this one.  */
-	      iterate_over_lwps (pid_to_ptid (ptid_get_pid (ptid)),
-					      set_ignore_sigint, NULL);
-	      lp->ignore_sigint = 0;
-	    }
-	  else
-	    maybe_clear_ignore_sigint (lp);
+	  pc = regcache_read_pc (regcache);
+	  regcache_write_pc (regcache, pc + decr_pc);
 	}
     }
 
-  /* This LWP is stopped now.  */
-  lp->stopped = 1;
-
-  if (debug_linux_nat)
-    fprintf_unfiltered (gdb_stdlog, "LLW: Candidate event %s in %s.\n",
-			status_to_str (status), target_pid_to_str (lp->ptid));
+  /* We'll need this to determine whether to report a SIGSTOP as
+     GDB_SIGNAL_0.  Need to take a copy because resume_clear_callback
+     clears it.  */
+  last_resume_kind = lp->last_resume_kind;
 
   if (!non_stop)
     {
-      /* Now stop all other LWP's ...  */
-      iterate_over_lwps (minus_one_ptid, stop_callback, NULL);
-
-      /* ... and wait until all of them have reported back that
-	 they're no longer running.  */
-      iterate_over_lwps (minus_one_ptid, stop_wait_callback, NULL);
-
-      /* If we're not waiting for a specific LWP, choose an event LWP
-	 from among those that have had events.  Giving equal priority
-	 to all LWPs that have had events helps prevent
-	 starvation.  */
-      if (ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid))
-	select_event_lwp (ptid, &lp, &status);
-
-      /* Now that we've selected our final event LWP, cancel any
-	 breakpoints in other LWPs that have hit a GDB breakpoint.
-	 See the comment in cancel_breakpoints_callback to find out
-	 why.  */
-      iterate_over_lwps (minus_one_ptid, cancel_breakpoints_callback, lp);
-
-      /* We'll need this to determine whether to report a SIGSTOP as
-	 TARGET_WAITKIND_0.  Need to take a copy because
-	 resume_clear_callback clears it.  */
-      last_resume_kind = lp->last_resume_kind;
-
       /* In all-stop, from the core's perspective, all LWPs are now
 	 stopped until a new resume action is sent over.  */
       iterate_over_lwps (minus_one_ptid, resume_clear_callback, NULL);
     }
   else
     {
-      /* See above.  */
-      last_resume_kind = lp->last_resume_kind;
       resume_clear_callback (lp, NULL);
     }
 
@@ -3611,8 +3460,7 @@ resume_stopped_resumed_lwps (struct lwp_
 
   if (lp->stopped
       && lp->resumed
-      && lp->status == 0
-      && lp->waitstatus.kind == TARGET_WAITKIND_IGNORE)
+      && !lwp_status_pending_p (lp))
     {
       struct regcache *regcache = get_thread_regcache (lp->ptid);
       struct gdbarch *gdbarch = get_regcache_arch (regcache);
@@ -3635,13 +3483,7 @@ resume_stopped_resumed_lwps (struct lwp_
 			    paddress (gdbarch, pc),
 			    lp->step);
 
-      registers_changed ();
-      if (linux_nat_prepare_to_resume != NULL)
-	linux_nat_prepare_to_resume (lp);
-      linux_ops->to_resume (linux_ops, pid_to_ptid (ptid_get_lwp (lp->ptid)),
-			    lp->step, GDB_SIGNAL_0);
-      lp->stopped = 0;
-      lp->stopped_by_watchpoint = 0;
+      linux_resume_one_lwp (lp, lp->step, GDB_SIGNAL_0);
     }
 
   return 0;
@@ -3704,22 +3546,30 @@ kill_callback (struct lwp_info *lp, void
   /* PTRACE_KILL may resume the inferior.  Send SIGKILL first.  */
 
   errno = 0;
-  kill (ptid_get_lwp (lp->ptid), SIGKILL);
+  kill_lwp (ptid_get_lwp (lp->ptid), SIGKILL);
   if (debug_linux_nat)
-    fprintf_unfiltered (gdb_stdlog,
-			"KC:  kill (SIGKILL) %s, 0, 0 (%s)\n",
-			target_pid_to_str (lp->ptid),
-			errno ? safe_strerror (errno) : "OK");
+    {
+      int save_errno = errno;
+
+      fprintf_unfiltered (gdb_stdlog,
+			  "KC:  kill (SIGKILL) %s, 0, 0 (%s)\n",
+			  target_pid_to_str (lp->ptid),
+			  save_errno ? safe_strerror (save_errno) : "OK");
+    }
 
   /* Some kernels ignore even SIGKILL for processes under ptrace.  */
 
   errno = 0;
   ptrace (PTRACE_KILL, ptid_get_lwp (lp->ptid), 0, 0);
   if (debug_linux_nat)
-    fprintf_unfiltered (gdb_stdlog,
-			"KC:  PTRACE_KILL %s, 0, 0 (%s)\n",
-			target_pid_to_str (lp->ptid),
-			errno ? safe_strerror (errno) : "OK");
+    {
+      int save_errno = errno;
+
+      fprintf_unfiltered (gdb_stdlog,
+			  "KC:  PTRACE_KILL %s, 0, 0 (%s)\n",
+			  target_pid_to_str (lp->ptid),
+			  save_errno ? safe_strerror (save_errno) : "OK");
+    }
 
   return 0;
 }
@@ -4054,62 +3904,6 @@ linux_child_pid_to_exec_file (struct tar
   return buf;
 }
 
-/* Records the thread's register state for the corefile note
-   section.  */
-
-static char *
-linux_nat_collect_thread_registers (const struct regcache *regcache,
-				    ptid_t ptid, bfd *obfd,
-				    char *note_data, int *note_size,
-				    enum gdb_signal stop_signal)
-{
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  const struct regset *regset;
-  int core_regset_p;
-  gdb_gregset_t gregs;
-  gdb_fpregset_t fpregs;
-
-  core_regset_p = gdbarch_regset_from_core_section_p (gdbarch);
-
-  if (core_regset_p
-      && (regset = gdbarch_regset_from_core_section (gdbarch, ".reg",
-						     sizeof (gregs)))
-	 != NULL && regset->collect_regset != NULL)
-    regset->collect_regset (regset, regcache, -1, &gregs, sizeof (gregs));
-  else
-    fill_gregset (regcache, &gregs, -1);
-
-  note_data = (char *) elfcore_write_prstatus
-			 (obfd, note_data, note_size, ptid_get_lwp (ptid),
-			  gdb_signal_to_host (stop_signal), &gregs);
-
-  if (core_regset_p
-      && (regset = gdbarch_regset_from_core_section (gdbarch, ".reg2",
-						     sizeof (fpregs)))
-	  != NULL && regset->collect_regset != NULL)
-    regset->collect_regset (regset, regcache, -1, &fpregs, sizeof (fpregs));
-  else
-    fill_fpregset (regcache, &fpregs, -1);
-
-  note_data = (char *) elfcore_write_prfpreg (obfd, note_data, note_size,
-					      &fpregs, sizeof (fpregs));
-
-  return note_data;
-}
-
-/* Fills the "to_make_corefile_note" target vector.  Builds the note
-   section for a corefile, and returns it in a malloc buffer.  */
-
-static char *
-linux_nat_make_corefile_notes (struct target_ops *self,
-			       bfd *obfd, int *note_size)
-{
-  /* FIXME: uweigand/2011-10-06: Once all GNU/Linux architectures have been
-     converted to gdbarch_core_regset_sections, this function can go away.  */
-  return linux_make_corefile_notes (target_gdbarch (), obfd, note_size,
-				    linux_nat_collect_thread_registers);
-}
-
 /* Implement the to_xfer_partial interface for memory reads using the /proc
    filesystem.  Because we can use a single read() call for /proc, this
    can be much more efficient than banging away at PTRACE_PEEKTEXT,
@@ -4506,7 +4300,6 @@ linux_target_install_ops (struct target_
   t->to_post_startup_inferior = linux_child_post_startup_inferior;
   t->to_post_attach = linux_child_post_attach;
   t->to_follow_fork = linux_child_follow_fork;
-  t->to_make_corefile_notes = linux_nat_make_corefile_notes;
 
   super_xfer_partial = t->to_xfer_partial;
   t->to_xfer_partial = linux_xfer_partial;
@@ -4588,7 +4381,9 @@ linux_nat_supports_disable_randomization
 
 static int async_terminal_is_ours = 1;
 
-/* target_terminal_inferior implementation.  */
+/* target_terminal_inferior implementation.
+
+   This is a wrapper around child_terminal_inferior to add async support.  */
 
 static void
 linux_nat_terminal_inferior (struct target_ops *self)
@@ -4611,7 +4406,14 @@ linux_nat_terminal_inferior (struct targ
   set_sigint_trap ();
 }
 
-/* target_terminal_ours implementation.  */
+/* target_terminal_ours implementation.
+
+   This is a wrapper around child_terminal_ours to add async support (and
+   implement the target_terminal_ours vs target_terminal_ours_for_output
+   distinction).  child_terminal_ours is currently no different than
+   child_terminal_ours_for_output.
+   We leave target_terminal_ours_for_output alone, leaving it to
+   child_terminal_ours_for_output.  */
 
 static void
 linux_nat_terminal_ours (struct target_ops *self)
@@ -4799,8 +4601,8 @@ static void
 linux_nat_close (struct target_ops *self)
 {
   /* Unregister from the event loop.  */
-  if (linux_nat_is_async_p (NULL))
-    linux_nat_async (NULL, NULL, 0);
+  if (linux_nat_is_async_p (self))
+    linux_nat_async (self, NULL, NULL);
 
   if (linux_ops->to_close)
     linux_ops->to_close (linux_ops);
@@ -4822,7 +4624,6 @@ linux_nat_thread_address_space (struct t
   struct inferior *inf;
   int pid;
 
-  pid = ptid_get_lwp (ptid);
   if (ptid_get_lwp (ptid) == 0)
     {
       /* An (lwpid,0,0) ptid.  Look up the lwp object to get at the
@@ -5025,6 +4826,14 @@ Enables printf debugging output."),
   sigdelset (&suspend_mask, SIGCHLD);
 
   sigemptyset (&blocked_mask);
+
+  /* Do not enable PTRACE_O_TRACEEXIT until GDB is more prepared to
+     support read-only process state.  */
+  linux_ptrace_set_additional_flags (PTRACE_O_TRACESYSGOOD
+				     | PTRACE_O_TRACEVFORKDONE
+				     | PTRACE_O_TRACEVFORK
+				     | PTRACE_O_TRACEFORK
+				     | PTRACE_O_TRACEEXEC);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-nat.h ./gdb/linux-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linux-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native debugging support for GNU/Linux (LWP layer).
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,6 +23,24 @@
 
 struct arch_lwp_info;
 
+/* Reasons an LWP last stopped.  */
+
+enum lwp_stop_reason
+{
+  /* Either not stopped, or stopped for a reason that doesn't require
+     special tracking.  */
+  LWP_STOPPED_BY_NO_REASON,
+
+  /* Stopped by a software breakpoint.  */
+  LWP_STOPPED_BY_SW_BREAKPOINT,
+
+  /* Stopped by a hardware breakpoint.  */
+  LWP_STOPPED_BY_HW_BREAKPOINT,
+
+  /* Stopped by a watchpoint.  */
+  LWP_STOPPED_BY_WATCHPOINT
+};
+
 /* Structure describing an LWP.  This is public only for the purposes
    of ALL_LWPS; target-specific code should generally not access it
    directly.  */
@@ -33,6 +51,10 @@ struct lwp_info
      and overall process id.  */
   ptid_t ptid;
 
+  /* If this flag is set, we need to set the event request flags the
+     next time we see this LWP stop.  */
+  int must_set_ptrace_flags;
+
   /* Non-zero if this LWP is cloned.  In this context "cloned" means
      that the LWP is reporting to its parent using a signal other than
      SIGCHLD.  */
@@ -59,12 +81,19 @@ struct lwp_info
   /* If non-zero, a pending wait status.  */
   int status;
 
+  /* When 'stopped' is set, this is where the lwp last stopped, with
+     decr_pc_after_break already accounted for.  If the LWP is
+     running, and stepping, this is the address at which the lwp was
+     resumed (that is, it's the previous stop PC).  If the LWP is
+     running and not stepping, this is 0.  */
+  CORE_ADDR stop_pc;
+
   /* Non-zero if we were stepping this LWP.  */
   int step;
 
-  /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data
-     watchpoint trap.  */
-  int stopped_by_watchpoint;
+  /* The reason the LWP last stopped, if we need to track it
+     (breakpoint, watchpoint, etc.)  */
+  enum lwp_stop_reason stop_reason;
 
   /* On architectures where it is possible to know the data address of
      a triggered watchpoint, STOPPED_DATA_ADDRESS_P is non-zero, and
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-record.c ./gdb/linux-record.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-record.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linux-record.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Process record and replay target code for GNU/Linux.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-record.h ./gdb/linux-record.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-record.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linux-record.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Process record and replay target code for GNU/Linux.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-tdep.c ./gdb/linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux, architecture independent.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,6 +32,9 @@
 #include "cli/cli-utils.h"
 #include "arch-utils.h"
 #include "gdb_obstack.h"
+#include "observer.h"
+#include "objfiles.h"
+#include "infcall.h"
 
 #include <ctype.h>
 
@@ -119,6 +122,72 @@ get_linux_gdbarch_data (struct gdbarch *
   return gdbarch_data (gdbarch, linux_gdbarch_data_handle);
 }
 
+/* Per-inferior data key.  */
+static const struct inferior_data *linux_inferior_data;
+
+/* Linux-specific cached data.  This is used by GDB for caching
+   purposes for each inferior.  This helps reduce the overhead of
+   transfering data from a remote target to the local host.  */
+struct linux_info
+{
+  /* Cache of the inferior's vsyscall/vDSO mapping range.  Only valid
+     if VSYSCALL_RANGE_P is positive.  This is cached because getting
+     at this info requires an auxv lookup (which is itself cached),
+     and looking through the inferior's mappings (which change
+     throughout execution and therefore cannot be cached).  */
+  struct mem_range vsyscall_range;
+
+  /* Zero if we haven't tried looking up the vsyscall's range before
+     yet.  Positive if we tried looking it up, and found it.  Negative
+     if we tried looking it up but failed.  */
+  int vsyscall_range_p;
+};
+
+/* Frees whatever allocated space there is to be freed and sets INF's
+   linux cache data pointer to NULL.  */
+
+static void
+invalidate_linux_cache_inf (struct inferior *inf)
+{
+  struct linux_info *info;
+
+  info = inferior_data (inf, linux_inferior_data);
+  if (info != NULL)
+    {
+      xfree (info);
+      set_inferior_data (inf, linux_inferior_data, NULL);
+    }
+}
+
+/* Handles the cleanup of the linux cache for inferior INF.  ARG is
+   ignored.  Callback for the inferior_appeared and inferior_exit
+   events.  */
+
+static void
+linux_inferior_data_cleanup (struct inferior *inf, void *arg)
+{
+  invalidate_linux_cache_inf (inf);
+}
+
+/* Fetch the linux cache info for INF.  This function always returns a
+   valid INFO pointer.  */
+
+static struct linux_info *
+get_linux_inferior_data (void)
+{
+  struct linux_info *info;
+  struct inferior *inf = current_inferior ();
+
+  info = inferior_data (inf, linux_inferior_data);
+  if (info == NULL)
+    {
+      info = XCNEW (struct linux_info);
+      set_inferior_data (inf, linux_inferior_data, info);
+    }
+
+  return info;
+}
+
 /* This function is suitable for architectures that don't
    extend/override the standard siginfo structure.  */
 
@@ -315,7 +384,7 @@ read_mapping (const char *line,
 /* Implement the "info proc" command.  */
 
 static void
-linux_info_proc (struct gdbarch *gdbarch, char *args,
+linux_info_proc (struct gdbarch *gdbarch, const char *args,
 		 enum info_proc_what what)
 {
   /* A long is used for pid instead of an int to avoid a loss of precision
@@ -332,7 +401,12 @@ linux_info_proc (struct gdbarch *gdbarch
   int target_errno;
 
   if (args && isdigit (args[0]))
-    pid = strtoul (args, &args, 10);
+    {
+      char *tem;
+
+      pid = strtoul (args, &tem, 10);
+      args = tem;
+    }
   else
     {
       if (!target_has_execution)
@@ -343,7 +417,7 @@ linux_info_proc (struct gdbarch *gdbarch
       pid = current_inferior ()->pid;
     }
 
-  args = skip_spaces (args);
+  args = skip_spaces_const (args);
   if (args && args[0])
     error (_("Too many parameters: %s"), args);
 
@@ -603,7 +677,7 @@ linux_info_proc (struct gdbarch *gdbarch
 /* Implement "info proc mappings" for a corefile.  */
 
 static void
-linux_core_info_proc_mappings (struct gdbarch *gdbarch, char *args)
+linux_core_info_proc_mappings (struct gdbarch *gdbarch, const char *args)
 {
   asection *section;
   ULONGEST count, page_size;
@@ -706,7 +780,7 @@ linux_core_info_proc_mappings (struct gd
 /* Implement "info proc" for a corefile.  */
 
 static void
-linux_core_info_proc (struct gdbarch *gdbarch, char *args,
+linux_core_info_proc (struct gdbarch *gdbarch, const char *args,
 		      enum info_proc_what what)
 {
   int exe_f = (what == IP_MINIMAL || what == IP_EXE || what == IP_ALL);
@@ -1079,6 +1153,56 @@ linux_make_mappings_corefile_notes (stru
   return note_data;
 }
 
+/* Structure for passing information from
+   linux_collect_thread_registers via an iterator to
+   linux_collect_regset_section_cb. */
+
+struct linux_collect_regset_section_cb_data
+{
+  struct gdbarch *gdbarch;
+  const struct regcache *regcache;
+  bfd *obfd;
+  char *note_data;
+  int *note_size;
+  unsigned long lwp;
+  enum gdb_signal stop_signal;
+  int abort_iteration;
+};
+
+/* Callback for iterate_over_regset_sections that records a single
+   regset in the corefile note section.  */
+
+static void
+linux_collect_regset_section_cb (const char *sect_name, int size,
+				 const struct regset *regset,
+				 const char *human_name, void *cb_data)
+{
+  char *buf;
+  struct linux_collect_regset_section_cb_data *data = cb_data;
+
+  if (data->abort_iteration)
+    return;
+
+  gdb_assert (regset && regset->collect_regset);
+
+  buf = xmalloc (size);
+  regset->collect_regset (regset, data->regcache, -1, buf, size);
+
+  /* PRSTATUS still needs to be treated specially.  */
+  if (strcmp (sect_name, ".reg") == 0)
+    data->note_data = (char *) elfcore_write_prstatus
+      (data->obfd, data->note_data, data->note_size, data->lwp,
+       gdb_signal_to_host (data->stop_signal), buf);
+  else
+    data->note_data = (char *) elfcore_write_register_note
+      (data->obfd, data->note_data, data->note_size,
+       sect_name, buf, size);
+  xfree (buf);
+
+  if (data->note_data == NULL)
+    data->abort_iteration = 1;
+}
+
 /* Records the thread's register state for the corefile note
    section.  */
 
@@ -1089,47 +1213,25 @@ linux_collect_thread_registers (const st
 				enum gdb_signal stop_signal)
 {
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  struct core_regset_section *sect_list;
-  unsigned long lwp;
+  struct linux_collect_regset_section_cb_data data;
 
-  sect_list = gdbarch_core_regset_sections (gdbarch);
-  gdb_assert (sect_list);
+  data.gdbarch = gdbarch;
+  data.regcache = regcache;
+  data.obfd = obfd;
+  data.note_data = note_data;
+  data.note_size = note_size;
+  data.stop_signal = stop_signal;
+  data.abort_iteration = 0;
 
   /* For remote targets the LWP may not be available, so use the TID.  */
-  lwp = ptid_get_lwp (ptid);
-  if (!lwp)
-    lwp = ptid_get_tid (ptid);
-
-  while (sect_list->sect_name != NULL)
-    {
-      const struct regset *regset;
-      char *buf;
-
-      regset = gdbarch_regset_from_core_section (gdbarch,
-						 sect_list->sect_name,
-						 sect_list->size);
-      gdb_assert (regset && regset->collect_regset);
-
-      buf = xmalloc (sect_list->size);
-      regset->collect_regset (regset, regcache, -1, buf, sect_list->size);
-
-      /* PRSTATUS still needs to be treated specially.  */
-      if (strcmp (sect_list->sect_name, ".reg") == 0)
-	note_data = (char *) elfcore_write_prstatus
-			       (obfd, note_data, note_size, lwp,
-				gdb_signal_to_host (stop_signal), buf);
-      else
-	note_data = (char *) elfcore_write_register_note
-			       (obfd, note_data, note_size,
-				sect_list->sect_name, buf, sect_list->size);
-      xfree (buf);
-      sect_list++;
-
-      if (!note_data)
-	return NULL;
-    }
-
-  return note_data;
+  data.lwp = ptid_get_lwp (ptid);
+  if (!data.lwp)
+    data.lwp = ptid_get_tid (ptid);
+
+  gdbarch_iterate_over_regset_sections (gdbarch,
+					linux_collect_regset_section_cb,
+					&data, regcache);
+  return data.note_data;
 }
 
 /* Fetch the siginfo data for the current thread, if it exists.  If
@@ -1178,7 +1280,6 @@ struct linux_corefile_thread_data
   char *note_data;
   int *note_size;
   enum gdb_signal stop_signal;
-  linux_collect_thread_registers_ftype collect;
 };
 
 /* Called by gdbthread.c once per thread.  Records the thread's
@@ -1211,9 +1312,9 @@ linux_corefile_thread_callback (struct t
 
       old_chain = make_cleanup (xfree, siginfo_data);
 
-      args->note_data = args->collect (regcache, info->ptid, args->obfd,
-				       args->note_data, args->note_size,
-				       args->stop_signal);
+      args->note_data = linux_collect_thread_registers
+	(regcache, info->ptid, args->obfd, args->note_data,
+	 args->note_size, args->stop_signal);
 
       /* Don't return anything if we got no register information above,
          such a core file is useless.  */
@@ -1433,12 +1534,11 @@ linux_fill_prpsinfo (struct elf_internal
   return 1;
 }
 
-/* Fills the "to_make_corefile_note" target vector.  Builds the note
-   section for a corefile, and returns it in a malloc buffer.  */
+/* Build the note section for a corefile, and return it in a malloc
+   buffer.  */
 
-char *
-linux_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size,
-			   linux_collect_thread_registers_ftype collect)
+static char *
+linux_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
 {
   struct linux_corefile_thread_data thread_args;
   struct elf_internal_linux_prpsinfo prpsinfo;
@@ -1447,6 +1547,9 @@ linux_make_corefile_notes (struct gdbarc
   int auxv_len;
   volatile struct gdb_exception e;
 
+  if (! gdbarch_iterate_over_regset_sections_p (gdbarch))
+    return NULL;
+
   if (linux_fill_prpsinfo (&prpsinfo))
     {
       if (gdbarch_elfcore_write_linux_prpsinfo_p (gdbarch))
@@ -1481,7 +1584,6 @@ linux_make_corefile_notes (struct gdbarc
   thread_args.note_data = note_data;
   thread_args.note_size = note_size;
   thread_args.stop_signal = find_stop_signal ();
-  thread_args.collect = collect;
   iterate_over_threads (linux_corefile_thread_callback, &thread_args);
   note_data = thread_args.note_data;
   if (!note_data)
@@ -1509,24 +1611,9 @@ linux_make_corefile_notes (struct gdbarc
   note_data = linux_make_mappings_corefile_notes (gdbarch, obfd,
 						  note_data, note_size);
 
-  make_cleanup (xfree, note_data);
   return note_data;
 }
 
-static char *
-linux_make_corefile_notes_1 (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
-{
-  /* FIXME: uweigand/2011-10-06: Once all GNU/Linux architectures have been
-     converted to gdbarch_core_regset_sections, we no longer need to fall back
-     to the target method at this point.  */
-
-  if (!gdbarch_core_regset_sections (gdbarch))
-    return target_make_corefile_notes (obfd, note_size);
-  else
-    return linux_make_corefile_notes (gdbarch, obfd, note_size,
-				      linux_collect_thread_registers);
-}
-
 /* Implementation of `gdbarch_gdb_signal_from_target', as defined in
    gdbarch.h.  This function is not static because it is exported to
    other -tdep files.  */
@@ -1778,6 +1865,110 @@ linux_gdb_signal_to_target (struct gdbar
   return -1;
 }
 
+/* Rummage through mappings to find a mapping's size.  */
+
+static int
+find_mapping_size (CORE_ADDR vaddr, unsigned long size,
+		   int read, int write, int exec, int modified,
+		   void *data)
+{
+  struct mem_range *range = data;
+
+  if (vaddr == range->start)
+    {
+      range->length = size;
+      return 1;
+    }
+  return 0;
+}
+
+/* Helper for linux_vsyscall_range that does the real work of finding
+   the vsyscall's address range.  */
+
+static int
+linux_vsyscall_range_raw (struct gdbarch *gdbarch, struct mem_range *range)
+{
+  if (target_auxv_search (&current_target, AT_SYSINFO_EHDR, &range->start) <= 0)
+    return 0;
+
+  /* This is installed by linux_init_abi below, so should always be
+     available.  */
+  gdb_assert (gdbarch_find_memory_regions_p (target_gdbarch ()));
+
+  range->length = 0;
+  gdbarch_find_memory_regions (gdbarch, find_mapping_size, range);
+  return 1;
+}
+
+/* Implementation of the "vsyscall_range" gdbarch hook.  Handles
+   caching, and defers the real work to linux_vsyscall_range_raw.  */
+
+static int
+linux_vsyscall_range (struct gdbarch *gdbarch, struct mem_range *range)
+{
+  struct linux_info *info = get_linux_inferior_data ();
+
+  if (info->vsyscall_range_p == 0)
+    {
+      if (linux_vsyscall_range_raw (gdbarch, &info->vsyscall_range))
+	info->vsyscall_range_p = 1;
+      else
+	info->vsyscall_range_p = -1;
+    }
+
+  if (info->vsyscall_range_p < 0)
+    return 0;
+
+  *range = info->vsyscall_range;
+  return 1;
+}
+
+/* Symbols for linux_infcall_mmap's ARG_FLAGS; their Linux MAP_* system
+   definitions would be dependent on compilation host.  */
+#define GDB_MMAP_MAP_PRIVATE	0x02		/* Changes are private.  */
+#define GDB_MMAP_MAP_ANONYMOUS	0x20		/* Don't use a file.  */
+
+/* See gdbarch.sh 'infcall_mmap'.  */
+
+static CORE_ADDR
+linux_infcall_mmap (CORE_ADDR size, unsigned prot)
+{
+  struct objfile *objf;
+  /* Do there still exist any Linux systems without "mmap64"?
+     "mmap" uses 64-bit off_t on x86_64 and 32-bit off_t on i386 and x32.  */
+  struct value *mmap_val = find_function_in_inferior ("mmap64", &objf);
+  struct value *addr_val;
+  struct gdbarch *gdbarch = get_objfile_arch (objf);
+  CORE_ADDR retval;
+  enum
+    {
+      ARG_ADDR, ARG_LENGTH, ARG_PROT, ARG_FLAGS, ARG_FD, ARG_OFFSET, ARG_LAST
+    };
+  struct value *arg[ARG_LAST];
+
+  arg[ARG_ADDR] = value_from_pointer (builtin_type (gdbarch)->builtin_data_ptr,
+				      0);
+  /* Assuming sizeof (unsigned long) == sizeof (size_t).  */
+  arg[ARG_LENGTH] = value_from_ulongest
+		    (builtin_type (gdbarch)->builtin_unsigned_long, size);
+  gdb_assert ((prot & ~(GDB_MMAP_PROT_READ | GDB_MMAP_PROT_WRITE
+			| GDB_MMAP_PROT_EXEC))
+	      == 0);
+  arg[ARG_PROT] = value_from_longest (builtin_type (gdbarch)->builtin_int, prot);
+  arg[ARG_FLAGS] = value_from_longest (builtin_type (gdbarch)->builtin_int,
+				       GDB_MMAP_MAP_PRIVATE
+				       | GDB_MMAP_MAP_ANONYMOUS);
+  arg[ARG_FD] = value_from_longest (builtin_type (gdbarch)->builtin_int, -1);
+  arg[ARG_OFFSET] = value_from_longest (builtin_type (gdbarch)->builtin_int64,
+					0);
+  addr_val = call_function_by_hand (mmap_val, ARG_LAST, arg);
+  retval = value_as_address (addr_val);
+  if (retval == (CORE_ADDR) -1)
+    error (_("Failed inferior mmap call for %s bytes, errno is changed."),
+	   pulongest (size));
+  return retval;
+}
+
 /* To be called from the various GDB_OSABI_LINUX handlers for the
    various GNU/Linux architectures and machine types.  */
 
@@ -1788,13 +1979,15 @@ linux_init_abi (struct gdbarch_info info
   set_gdbarch_info_proc (gdbarch, linux_info_proc);
   set_gdbarch_core_info_proc (gdbarch, linux_core_info_proc);
   set_gdbarch_find_memory_regions (gdbarch, linux_find_memory_regions);
-  set_gdbarch_make_corefile_notes (gdbarch, linux_make_corefile_notes_1);
+  set_gdbarch_make_corefile_notes (gdbarch, linux_make_corefile_notes);
   set_gdbarch_has_shared_address_space (gdbarch,
 					linux_has_shared_address_space);
   set_gdbarch_gdb_signal_from_target (gdbarch,
 				      linux_gdb_signal_from_target);
   set_gdbarch_gdb_signal_to_target (gdbarch,
 				    linux_gdb_signal_to_target);
+  set_gdbarch_vsyscall_range (gdbarch, linux_vsyscall_range);
+  set_gdbarch_infcall_mmap (gdbarch, linux_infcall_mmap);
 }
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
@@ -1805,4 +1998,11 @@ _initialize_linux_tdep (void)
 {
   linux_gdbarch_data_handle =
     gdbarch_data_register_post_init (init_linux_gdbarch_data);
+
+  /* Set a cache per-inferior.  */
+  linux_inferior_data
+    = register_inferior_data_with_cleanup (NULL, linux_inferior_data_cleanup);
+  /* Observers used to invalidate the cache when needed.  */
+  observer_attach_inferior_exit (invalidate_linux_cache_inf);
+  observer_attach_inferior_appeared (invalidate_linux_cache_inf);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-tdep.h ./gdb/linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linux-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux, architecture independent.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,9 +29,6 @@ typedef char *(*linux_collect_thread_reg
 						       bfd *, char *, int *,
 						       enum gdb_signal);
 
-char *linux_make_corefile_notes (struct gdbarch *, bfd *, int *,
-                                 linux_collect_thread_registers_ftype);
-
 struct type *linux_get_siginfo_type (struct gdbarch *);
 
 extern enum gdb_signal linux_gdb_signal_from_target (struct gdbarch *gdbarch,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-thread-db.c ./gdb/linux-thread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/linux-thread-db.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/linux-thread-db.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* libthread_db assisted debugging support, generic parts.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,15 +18,12 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-
-#include "gdb_assert.h"
 #include <dlfcn.h>
 #include "gdb_proc_service.h"
-#include "gdb_thread_db.h"
+#include "nat/gdb_thread_db.h"
 #include "gdb_vecs.h"
 #include "bfd.h"
 #include "command.h"
-#include "exceptions.h"
 #include "gdbcmd.h"
 #include "gdbthread.h"
 #include "inferior.h"
@@ -40,8 +37,9 @@
 #include "gdbcore.h"
 #include "observer.h"
 #include "linux-nat.h"
-#include "linux-procfs.h"
-#include "linux-osdata.h"
+#include "nat/linux-procfs.h"
+#include "nat/linux-ptrace.h"
+#include "nat/linux-osdata.h"
 #include "auto-load.h"
 #include "cli/cli-utils.h"
 
@@ -80,6 +78,16 @@ static char *libthread_db_search_path;
    by the "set auto-load libthread-db" command.  */
 static int auto_load_thread_db = 1;
 
+/* Returns true if we need to use thread_db thread create/death event
+   breakpoints to learn about threads.  */
+
+static int
+thread_db_use_events (void)
+{
+  /* Not necessary if the kernel supports clone events.  */
+  return !linux_supports_traceclone ();
+}
+
 /* "show" command for the auto_load_thread_db configuration variable.  */
 
 static void
@@ -674,7 +682,7 @@ thread_db_find_new_threads_silently (pti
   if (except.reason < 0)
     {
       if (libthread_db_debug)
-	exception_fprintf (gdb_stderr, except,
+	exception_fprintf (gdb_stdlog, except,
 			   "Warning: thread_db_find_new_threads_silently: ");
 
       /* There is a bug fixed between nptl 2.6.1 and 2.7 by
@@ -756,8 +764,8 @@ try_thread_db_load_1 (struct thread_db_i
   if (err != TD_OK)
     {
       if (libthread_db_debug)
-	printf_unfiltered (_("td_ta_new failed: %s\n"),
-			   thread_db_err_str (err));
+	fprintf_unfiltered (gdb_stdlog, _("td_ta_new failed: %s\n"),
+			    thread_db_err_str (err));
       else
         switch (err)
           {
@@ -815,16 +823,22 @@ try_thread_db_load_1 (struct thread_db_i
 
   printf_unfiltered (_("[Thread debugging using libthread_db enabled]\n"));
 
-  if (libthread_db_debug || *libthread_db_search_path)
+  if (*libthread_db_search_path || libthread_db_debug)
     {
+      struct ui_file *file;
       const char *library;
 
       library = dladdr_to_soname (*info->td_ta_new_p);
       if (library == NULL)
 	library = LIBTHREAD_DB_SO;
 
-      printf_unfiltered (_("Using host libthread_db library \"%s\".\n"),
-			 library);
+      /* If we'd print this to gdb_stdout when debug output is
+	 disabled, still print it to gdb_stdout if debug output is
+	 enabled.  User visible output should not depend on debug
+	 settings.  */
+      file = *libthread_db_search_path != '\0' ? gdb_stdout : gdb_stdlog;
+      fprintf_unfiltered (file, _("Using host libthread_db library \"%s\".\n"),
+			  library);
     }
 
   /* The thread library was detected.  Activate the thread_db target
@@ -833,7 +847,7 @@ try_thread_db_load_1 (struct thread_db_i
     push_target (&thread_db_ops);
 
   /* Enable event reporting, but not when debugging a core file.  */
-  if (target_has_execution)
+  if (target_has_execution && thread_db_use_events ())
     enable_thread_event_reporting ();
 
   return 1;
@@ -849,8 +863,9 @@ try_thread_db_load (const char *library,
   struct thread_db_info *info;
 
   if (libthread_db_debug)
-    printf_unfiltered (_("Trying host libthread_db library: %s.\n"),
-                       library);
+    fprintf_unfiltered (gdb_stdlog,
+			_("Trying host libthread_db library: %s.\n"),
+			library);
 
   if (check_auto_load_safe)
     {
@@ -859,7 +874,8 @@ try_thread_db_load (const char *library,
 	  /* Do not print warnings by file_is_auto_load_safe if the library does
 	     not exist at this place.  */
 	  if (libthread_db_debug)
-	    printf_unfiltered (_("open failed: %s.\n"), safe_strerror (errno));
+	    fprintf_unfiltered (gdb_stdlog, _("open failed: %s.\n"),
+				safe_strerror (errno));
 	  return 0;
 	}
 
@@ -874,7 +890,7 @@ try_thread_db_load (const char *library,
   if (handle == NULL)
     {
       if (libthread_db_debug)
-	printf_unfiltered (_("dlopen failed: %s.\n"), dlerror ());
+	fprintf_unfiltered (gdb_stdlog, _("dlopen failed: %s.\n"), dlerror ());
       return 0;
     }
 
@@ -888,7 +904,7 @@ try_thread_db_load (const char *library,
           const char *const libpath = dladdr_to_soname (td_init);
 
           if (libpath != NULL)
-            printf_unfiltered (_("Host %s resolved to: %s.\n"),
+            fprintf_unfiltered (gdb_stdlog, _("Host %s resolved to: %s.\n"),
                                library, libpath);
         }
     }
@@ -1079,7 +1095,8 @@ thread_db_load_search (void)
 
   do_cleanups (cleanups);
   if (libthread_db_debug)
-    printf_unfiltered (_("thread_db_load_search returning %d\n"), rc);
+    fprintf_unfiltered (gdb_stdlog,
+			_("thread_db_load_search returning %d\n"), rc);
   return rc;
 }
 
@@ -1220,15 +1237,55 @@ thread_db_new_objfile (struct objfile *o
     check_for_thread_db ();
 }
 
+static void
+check_pid_namespace_match (void)
+{
+  /* Check is only relevant for local targets targets.  */
+  if (target_can_run (&current_target))
+    {
+      /* If the child is in a different PID namespace, its idea of its
+	 PID will differ from our idea of its PID.  When we scan the
+	 child's thread list, we'll mistakenly think it has no threads
+	 since the thread PID fields won't match the PID we give to
+	 libthread_db.  */
+      char *our_pid_ns = linux_proc_pid_get_ns (getpid (), "pid");
+      char *inferior_pid_ns = linux_proc_pid_get_ns (
+	ptid_get_pid (inferior_ptid), "pid");
+
+      if (our_pid_ns != NULL && inferior_pid_ns != NULL
+	  && strcmp (our_pid_ns, inferior_pid_ns) != 0)
+	{
+	  warning (_ ("Target and debugger are in different PID "
+		      "namespaces; thread lists and other data are "
+		      "likely unreliable"));
+	}
+
+      xfree (our_pid_ns);
+      xfree (inferior_pid_ns);
+    }
+}
+
 /* This function is called via the inferior_created observer.
    This handles the case of debugging statically linked executables.  */
 
 static void
 thread_db_inferior_created (struct target_ops *target, int from_tty)
 {
+  check_pid_namespace_match ();
   check_for_thread_db ();
 }
 
+/* Update the thread's state (what's displayed in "info threads"),
+   from libthread_db thread state information.  */
+
+static void
+update_thread_state (struct private_thread_info *private,
+		     const td_thrinfo_t *ti_p)
+{
+  private->dying = (ti_p->ti_state == TD_THR_UNKNOWN
+		    || ti_p->ti_state == TD_THR_ZOMBIE);
+}
+
 /* Attach to a new thread.  This function is called when we receive a
    TD_CREATE event or when we iterate over all threads and find one
    that wasn't already in our list.  Returns true on success.  */
@@ -1310,8 +1367,7 @@ attach_thread (ptid_t ptid, const td_thr
   gdb_assert (ti_p->ti_tid != 0);
   private->th = *th_p;
   private->tid = ti_p->ti_tid;
-  if (ti_p->ti_state == TD_THR_UNKNOWN || ti_p->ti_state == TD_THR_ZOMBIE)
-    private->dying = 1;
+  update_thread_state (private, ti_p);
 
   /* Add the thread to GDB's thread list.  */
   if (tp == NULL)
@@ -1323,7 +1379,7 @@ attach_thread (ptid_t ptid, const td_thr
 
   /* Enable thread event reporting for this thread, except when
      debugging a core file.  */
-  if (target_has_execution)
+  if (target_has_execution && thread_db_use_events ())
     {
       err = info->td_thr_event_enable_p (th_p, 1);
       if (err != TD_OK)
@@ -1362,7 +1418,7 @@ thread_db_detach (struct target_ops *ops
 
   if (info)
     {
-      if (target_has_execution)
+      if (target_has_execution && thread_db_use_events ())
 	{
 	  disable_thread_event_reporting (info);
 
@@ -1575,6 +1631,17 @@ find_new_threads_callback (const td_thrh
     error (_("find_new_threads_callback: cannot get thread info: %s"),
 	   thread_db_err_str (err));
 
+  if (ti.ti_lid == -1)
+    {
+      /* A thread with kernel thread ID -1 is either a thread that
+	 exited and was joined, or a thread that is being created but
+	 hasn't started yet, and that is reusing the tcb/stack of a
+	 thread that previously exited and was joined.  (glibc marks
+	 terminated and joined threads with kernel thread ID -1.  See
+	 glibc PR17707.  */
+      return 0;
+    }
+
   if (ti.ti_tid == 0)
     {
       /* A thread ID of zero means that this is the main thread, but
@@ -1587,7 +1654,7 @@ find_new_threads_callback (const td_thrh
 	 need this glibc bug workaround.  */
       info->need_stale_parent_threads_check = 0;
 
-      if (target_has_execution)
+      if (target_has_execution && thread_db_use_events ())
 	{
 	  err = info->td_thr_event_enable_p (th_p, 1);
 	  if (err != TD_OK)
@@ -1624,6 +1691,12 @@ find_new_threads_callback (const td_thrh
 	   iteration: thread_db_find_new_threads_2 will retry.  */
 	return 1;
     }
+  else if (target_has_execution && !thread_db_use_events ())
+    {
+      /* Need to update this if not using the libthread_db events
+	 (particularly, the TD_DEATH event).  */
+      update_thread_state (tp->private, &ti);
+    }
 
   return 0;
 }
@@ -1657,11 +1730,12 @@ find_new_threads_once (struct thread_db_
   if (libthread_db_debug)
     {
       if (except.reason < 0)
-	exception_fprintf (gdb_stderr, except,
+	exception_fprintf (gdb_stdlog, except,
 			   "Warning: find_new_threads_once: ");
 
-      printf_filtered (_("Found %d new threads in iteration %d.\n"),
-		       data.new_threads, iteration);
+      fprintf_unfiltered (gdb_stdlog,
+			  _("Found %d new threads in iteration %d.\n"),
+			  data.new_threads, iteration);
     }
 
   if (errp != NULL)
@@ -1720,11 +1794,13 @@ update_thread_core (struct lwp_info *inf
 }
 
 static void
-thread_db_find_new_threads (struct target_ops *ops)
+thread_db_update_thread_list (struct target_ops *ops)
 {
   struct thread_db_info *info;
   struct inferior *inf;
 
+  prune_threads ();
+
   ALL_INFERIORS (inf)
     {
       struct thread_info *thread;
@@ -1767,10 +1843,7 @@ thread_db_pid_to_str (struct target_ops 
     }
 
   beneath = find_target_beneath (ops);
-  if (beneath->to_pid_to_str (beneath, ptid))
-    return beneath->to_pid_to_str (beneath, ptid);
-
-  return normal_pid_to_str (ptid);
+  return beneath->to_pid_to_str (beneath, ptid);
 }
 
 /* Return a string describing the state of the thread specified by
@@ -1874,11 +1947,7 @@ thread_db_get_thread_local_address (stru
     }
 
   beneath = find_target_beneath (ops);
-  if (beneath->to_get_thread_local_address)
-    return beneath->to_get_thread_local_address (beneath, ptid, lm, offset);
-  else
-    throw_error (TLS_GENERIC_ERROR,
-	         _("TLS not supported on this target"));
+  return beneath->to_get_thread_local_address (beneath, ptid, lm, offset);
 }
 
 /* Callback routine used to find a thread based on the TID part of
@@ -2084,7 +2153,7 @@ init_thread_db_ops (void)
   thread_db_ops.to_wait = thread_db_wait;
   thread_db_ops.to_resume = thread_db_resume;
   thread_db_ops.to_mourn_inferior = thread_db_mourn_inferior;
-  thread_db_ops.to_find_new_threads = thread_db_find_new_threads;
+  thread_db_ops.to_update_thread_list = thread_db_update_thread_list;
   thread_db_ops.to_pid_to_str = thread_db_pid_to_str;
   thread_db_ops.to_stratum = thread_stratum;
   thread_db_ops.to_has_thread_control = tc_schedlock;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/lm32-tdep.c ./gdb/lm32-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/lm32-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/lm32-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Target-dependent code for Lattice Mico32 processor, for GDB.
    Contributed by Jon Beniston <jon@beniston.com>
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -37,8 +37,6 @@
 #include "reggroups.h"
 #include "opcodes/lm32-desc.h"
 
-#include <string.h>
-
 /* Macros to extract fields from an instruction.  */
 #define LM32_OPCODE(insn)       ((insn >> 26) & 0x3f)
 #define LM32_REG0(insn)         ((insn >> 21) & 0x1f)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-exp.c ./gdb/m2-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-exp.c	2015-01-13 02:06:41.000000000 +0000
+++ ./gdb/m2-exp.c	2015-01-20 02:09:34.000000000 +0000
@@ -72,7 +72,6 @@
 
 
 #include "defs.h"
-#include <string.h>
 #include "expression.h"
 #include "language.h"
 #include "value.h"
@@ -165,7 +164,7 @@ static int number_sign = 1;
 
 
 /* Line 189 of yacc.c  */
-#line 169 "m2-exp.c"
+#line 168 "m2-exp.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -298,7 +297,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 138 "m2-exp.y"
+#line 137 "m2-exp.y"
 
     LONGEST lval;
     ULONGEST ulval;
@@ -307,7 +306,7 @@ typedef union YYSTYPE
     struct type *tval;
     struct stoken sval;
     int voidval;
-    struct block *bval;
+    const struct block *bval;
     enum exp_opcode opcode;
     struct internalvar *ivar;
 
@@ -317,7 +316,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 321 "m2-exp.c"
+#line 320 "m2-exp.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -329,7 +328,7 @@ typedef union YYSTYPE
 
 
 /* Line 264 of yacc.c  */
-#line 333 "m2-exp.c"
+#line 332 "m2-exp.c"
 
 #ifdef short
 # undef short
@@ -652,15 +651,15 @@ static const yytype_int8 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   207,   207,   208,   211,   220,   225,   224,   231,   235,
-     239,   240,   243,   247,   251,   255,   259,   265,   271,   275,
-     281,   285,   289,   293,   297,   302,   306,   313,   317,   324,
-     330,   333,   337,   341,   345,   347,   357,   353,   365,   372,
-     369,   380,   383,   387,   392,   397,   402,   408,   414,   422,
-     426,   430,   434,   438,   442,   446,   450,   454,   456,   460,
-     464,   468,   472,   476,   480,   484,   491,   497,   503,   511,
-     522,   532,   541,   544,   553,   560,   564,   574,   586,   594,
-     598,   621,   666
+       0,   206,   206,   207,   210,   219,   224,   223,   230,   234,
+     238,   239,   242,   246,   250,   254,   258,   264,   270,   274,
+     280,   284,   288,   292,   296,   301,   305,   312,   316,   323,
+     329,   332,   336,   340,   344,   346,   356,   352,   364,   371,
+     368,   379,   382,   386,   391,   396,   401,   407,   413,   421,
+     425,   429,   433,   437,   441,   445,   449,   453,   455,   459,
+     463,   467,   471,   475,   479,   483,   490,   496,   502,   510,
+     521,   531,   540,   543,   552,   559,   563,   573,   585,   593,
+     597,   620,   665
 };
 #endif
 
@@ -1827,7 +1826,7 @@ yyreduce:
         case 4:
 
 /* Line 1455 of yacc.c  */
-#line 212 "m2-exp.y"
+#line 211 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPE);
 		  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].tval));
 		  write_exp_elt_opcode (pstate, OP_TYPE);
@@ -1837,21 +1836,21 @@ yyreduce:
   case 5:
 
 /* Line 1455 of yacc.c  */
-#line 221 "m2-exp.y"
+#line 220 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_IND); }
     break;
 
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 225 "m2-exp.y"
+#line 224 "m2-exp.y"
     { number_sign = -1; }
     break;
 
   case 7:
 
 /* Line 1455 of yacc.c  */
-#line 227 "m2-exp.y"
+#line 226 "m2-exp.y"
     { number_sign = 1;
 			  write_exp_elt_opcode (pstate, UNOP_NEG); }
     break;
@@ -1859,49 +1858,49 @@ yyreduce:
   case 8:
 
 /* Line 1455 of yacc.c  */
-#line 232 "m2-exp.y"
+#line 231 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PLUS); }
     break;
 
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 236 "m2-exp.y"
+#line 235 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
     break;
 
   case 12:
 
 /* Line 1455 of yacc.c  */
-#line 244 "m2-exp.y"
+#line 243 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAP); }
     break;
 
   case 13:
 
 /* Line 1455 of yacc.c  */
-#line 248 "m2-exp.y"
+#line 247 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ORD); }
     break;
 
   case 14:
 
 /* Line 1455 of yacc.c  */
-#line 252 "m2-exp.y"
+#line 251 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ABS); }
     break;
 
   case 15:
 
 /* Line 1455 of yacc.c  */
-#line 256 "m2-exp.y"
+#line 255 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_HIGH); }
     break;
 
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 260 "m2-exp.y"
+#line 259 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_MIN);
 			  write_exp_elt_type (pstate, (yyvsp[(3) - (4)].tval));
 			  write_exp_elt_opcode (pstate, UNOP_MIN); }
@@ -1910,7 +1909,7 @@ yyreduce:
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 266 "m2-exp.y"
+#line 265 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_MAX);
 			  write_exp_elt_type (pstate, (yyvsp[(3) - (4)].tval));
 			  write_exp_elt_opcode (pstate, UNOP_MAX); }
@@ -1919,14 +1918,14 @@ yyreduce:
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 272 "m2-exp.y"
+#line 271 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_FLOAT); }
     break;
 
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 276 "m2-exp.y"
+#line 275 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_VAL);
 			  write_exp_elt_type (pstate, (yyvsp[(3) - (6)].tval));
 			  write_exp_elt_opcode (pstate, BINOP_VAL); }
@@ -1935,49 +1934,49 @@ yyreduce:
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 282 "m2-exp.y"
+#line 281 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CHR); }
     break;
 
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 286 "m2-exp.y"
+#line 285 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ODD); }
     break;
 
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 290 "m2-exp.y"
+#line 289 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_TRUNC); }
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 294 "m2-exp.y"
+#line 293 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_SIZEOF); }
     break;
 
   case 24:
 
 /* Line 1455 of yacc.c  */
-#line 298 "m2-exp.y"
+#line 297 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_SIZEOF); }
     break;
 
   case 25:
 
 /* Line 1455 of yacc.c  */
-#line 303 "m2-exp.y"
+#line 302 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREINCREMENT); }
     break;
 
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 307 "m2-exp.y"
+#line 306 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY);
 			  write_exp_elt_opcode (pstate, BINOP_ADD);
 			  write_exp_elt_opcode (pstate,
@@ -1987,14 +1986,14 @@ yyreduce:
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 314 "m2-exp.y"
+#line 313 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREDECREMENT);}
     break;
 
   case 28:
 
 /* Line 1455 of yacc.c  */
-#line 318 "m2-exp.y"
+#line 317 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN_MODIFY);
 			  write_exp_elt_opcode (pstate, BINOP_SUB);
 			  write_exp_elt_opcode (pstate,
@@ -2004,7 +2003,7 @@ yyreduce:
   case 29:
 
 /* Line 1455 of yacc.c  */
-#line 325 "m2-exp.y"
+#line 324 "m2-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(3) - (3)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT); }
@@ -2013,49 +2012,49 @@ yyreduce:
   case 31:
 
 /* Line 1455 of yacc.c  */
-#line 334 "m2-exp.y"
+#line 333 "m2-exp.y"
     { error (_("Sets are not implemented."));}
     break;
 
   case 32:
 
 /* Line 1455 of yacc.c  */
-#line 338 "m2-exp.y"
+#line 337 "m2-exp.y"
     { error (_("Sets are not implemented."));}
     break;
 
   case 33:
 
 /* Line 1455 of yacc.c  */
-#line 342 "m2-exp.y"
+#line 341 "m2-exp.y"
     { error (_("Sets are not implemented."));}
     break;
 
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 346 "m2-exp.y"
+#line 345 "m2-exp.y"
     { error (_("Sets are not implemented."));}
     break;
 
   case 35:
 
 /* Line 1455 of yacc.c  */
-#line 348 "m2-exp.y"
+#line 347 "m2-exp.y"
     { error (_("Sets are not implemented."));}
     break;
 
   case 36:
 
 /* Line 1455 of yacc.c  */
-#line 357 "m2-exp.y"
+#line 356 "m2-exp.y"
     { start_arglist(); }
     break;
 
   case 37:
 
 /* Line 1455 of yacc.c  */
-#line 359 "m2-exp.y"
+#line 358 "m2-exp.y"
     { write_exp_elt_opcode (pstate, MULTI_SUBSCRIPT);
 			  write_exp_elt_longcst (pstate,
 						 (LONGEST) end_arglist());
@@ -2065,21 +2064,21 @@ yyreduce:
   case 38:
 
 /* Line 1455 of yacc.c  */
-#line 366 "m2-exp.y"
+#line 365 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT); }
     break;
 
   case 39:
 
 /* Line 1455 of yacc.c  */
-#line 372 "m2-exp.y"
+#line 371 "m2-exp.y"
     { start_arglist (); }
     break;
 
   case 40:
 
 /* Line 1455 of yacc.c  */
-#line 374 "m2-exp.y"
+#line 373 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_FUNCALL);
 			  write_exp_elt_longcst (pstate,
 						 (LONGEST) end_arglist ());
@@ -2089,35 +2088,35 @@ yyreduce:
   case 42:
 
 /* Line 1455 of yacc.c  */
-#line 384 "m2-exp.y"
+#line 383 "m2-exp.y"
     { arglist_len = 1; }
     break;
 
   case 43:
 
 /* Line 1455 of yacc.c  */
-#line 388 "m2-exp.y"
+#line 387 "m2-exp.y"
     { arglist_len++; }
     break;
 
   case 44:
 
 /* Line 1455 of yacc.c  */
-#line 393 "m2-exp.y"
+#line 392 "m2-exp.y"
     { arglist_len = 1; }
     break;
 
   case 45:
 
 /* Line 1455 of yacc.c  */
-#line 398 "m2-exp.y"
+#line 397 "m2-exp.y"
     { arglist_len++; }
     break;
 
   case 46:
 
 /* Line 1455 of yacc.c  */
-#line 403 "m2-exp.y"
+#line 402 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_MEMVAL);
 			  write_exp_elt_type (pstate, (yyvsp[(2) - (4)].tval));
 			  write_exp_elt_opcode (pstate, UNOP_MEMVAL); }
@@ -2126,7 +2125,7 @@ yyreduce:
   case 47:
 
 /* Line 1455 of yacc.c  */
-#line 409 "m2-exp.y"
+#line 408 "m2-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_CAST);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (4)].tval));
 			  write_exp_elt_opcode (pstate, UNOP_CAST); }
@@ -2135,133 +2134,133 @@ yyreduce:
   case 48:
 
 /* Line 1455 of yacc.c  */
-#line 415 "m2-exp.y"
+#line 414 "m2-exp.y"
     { }
     break;
 
   case 49:
 
 /* Line 1455 of yacc.c  */
-#line 423 "m2-exp.y"
+#line 422 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REPEAT); }
     break;
 
   case 50:
 
 /* Line 1455 of yacc.c  */
-#line 427 "m2-exp.y"
+#line 426 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_MUL); }
     break;
 
   case 51:
 
 /* Line 1455 of yacc.c  */
-#line 431 "m2-exp.y"
+#line 430 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_DIV); }
     break;
 
   case 52:
 
 /* Line 1455 of yacc.c  */
-#line 435 "m2-exp.y"
+#line 434 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_INTDIV); }
     break;
 
   case 53:
 
 /* Line 1455 of yacc.c  */
-#line 439 "m2-exp.y"
+#line 438 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REM); }
     break;
 
   case 54:
 
 /* Line 1455 of yacc.c  */
-#line 443 "m2-exp.y"
+#line 442 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ADD); }
     break;
 
   case 55:
 
 /* Line 1455 of yacc.c  */
-#line 447 "m2-exp.y"
+#line 446 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUB); }
     break;
 
   case 56:
 
 /* Line 1455 of yacc.c  */
-#line 451 "m2-exp.y"
+#line 450 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EQUAL); }
     break;
 
   case 57:
 
 /* Line 1455 of yacc.c  */
-#line 455 "m2-exp.y"
+#line 454 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
     break;
 
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 457 "m2-exp.y"
+#line 456 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL); }
     break;
 
   case 59:
 
 /* Line 1455 of yacc.c  */
-#line 461 "m2-exp.y"
+#line 460 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LEQ); }
     break;
 
   case 60:
 
 /* Line 1455 of yacc.c  */
-#line 465 "m2-exp.y"
+#line 464 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GEQ); }
     break;
 
   case 61:
 
 /* Line 1455 of yacc.c  */
-#line 469 "m2-exp.y"
+#line 468 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LESS); }
     break;
 
   case 62:
 
 /* Line 1455 of yacc.c  */
-#line 473 "m2-exp.y"
+#line 472 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GTR); }
     break;
 
   case 63:
 
 /* Line 1455 of yacc.c  */
-#line 477 "m2-exp.y"
+#line 476 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_AND); }
     break;
 
   case 64:
 
 /* Line 1455 of yacc.c  */
-#line 481 "m2-exp.y"
+#line 480 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LOGICAL_OR); }
     break;
 
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 485 "m2-exp.y"
+#line 484 "m2-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
     break;
 
   case 66:
 
 /* Line 1455 of yacc.c  */
-#line 492 "m2-exp.y"
+#line 491 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_BOOL);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(1) - (1)].ulval));
 			  write_exp_elt_opcode (pstate, OP_BOOL); }
@@ -2270,7 +2269,7 @@ yyreduce:
   case 67:
 
 /* Line 1455 of yacc.c  */
-#line 498 "m2-exp.y"
+#line 497 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_BOOL);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(1) - (1)].ulval));
 			  write_exp_elt_opcode (pstate, OP_BOOL); }
@@ -2279,7 +2278,7 @@ yyreduce:
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 504 "m2-exp.y"
+#line 503 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate,
 					parse_m2_type (pstate)->builtin_int);
@@ -2290,7 +2289,7 @@ yyreduce:
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 512 "m2-exp.y"
+#line 511 "m2-exp.y"
     {
 			  write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate,
@@ -2304,7 +2303,7 @@ yyreduce:
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 523 "m2-exp.y"
+#line 522 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate,
 					      parse_m2_type (pstate)
@@ -2316,7 +2315,7 @@ yyreduce:
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 533 "m2-exp.y"
+#line 532 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_DOUBLE);
 			  write_exp_elt_type (pstate,
 					      parse_m2_type (pstate)
@@ -2328,7 +2327,7 @@ yyreduce:
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 545 "m2-exp.y"
+#line 544 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate,
 					    parse_type (pstate)->builtin_int);
@@ -2340,7 +2339,7 @@ yyreduce:
   case 74:
 
 /* Line 1455 of yacc.c  */
-#line 554 "m2-exp.y"
+#line 553 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_M2_STRING);
 			  write_exp_string (pstate, (yyvsp[(1) - (1)].sval));
 			  write_exp_elt_opcode (pstate, OP_M2_STRING); }
@@ -2349,14 +2348,14 @@ yyreduce:
   case 75:
 
 /* Line 1455 of yacc.c  */
-#line 561 "m2-exp.y"
+#line 560 "m2-exp.y"
     { (yyval.bval) = SYMBOL_BLOCK_VALUE((yyvsp[(1) - (1)].sym)); }
     break;
 
   case 76:
 
 /* Line 1455 of yacc.c  */
-#line 565 "m2-exp.y"
+#line 564 "m2-exp.y"
     { struct symbol *sym
 			    = lookup_symbol (copy_name ((yyvsp[(1) - (1)].sval)),
 					     expression_context_block,
@@ -2367,7 +2366,7 @@ yyreduce:
   case 77:
 
 /* Line 1455 of yacc.c  */
-#line 575 "m2-exp.y"
+#line 574 "m2-exp.y"
     { struct symbol *tem
 			    = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval),
 					     VAR_DOMAIN, 0);
@@ -2381,7 +2380,7 @@ yyreduce:
   case 78:
 
 /* Line 1455 of yacc.c  */
-#line 587 "m2-exp.y"
+#line 586 "m2-exp.y"
     { write_exp_elt_opcode (pstate, OP_VAR_VALUE);
 			  write_exp_elt_block (pstate, NULL);
 			  write_exp_elt_sym (pstate, (yyvsp[(1) - (1)].sym));
@@ -2391,7 +2390,7 @@ yyreduce:
   case 80:
 
 /* Line 1455 of yacc.c  */
-#line 599 "m2-exp.y"
+#line 598 "m2-exp.y"
     { struct symbol *sym;
 			  sym = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval),
 					       VAR_DOMAIN, 0);
@@ -2416,7 +2415,7 @@ yyreduce:
   case 81:
 
 /* Line 1455 of yacc.c  */
-#line 622 "m2-exp.y"
+#line 621 "m2-exp.y"
     { struct symbol *sym;
 			  struct field_of_this_result is_a_field_of_this;
 
@@ -2463,7 +2462,7 @@ yyreduce:
   case 82:
 
 /* Line 1455 of yacc.c  */
-#line 667 "m2-exp.y"
+#line 666 "m2-exp.y"
     { (yyval.tval) = lookup_typename (parse_language (pstate),
 						parse_gdbarch (pstate),
 						copy_name ((yyvsp[(1) - (1)].sval)),
@@ -2473,7 +2472,7 @@ yyreduce:
 
 
 /* Line 1455 of yacc.c  */
-#line 2478 "m2-exp.c"
+#line 2477 "m2-exp.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2685,7 +2684,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 674 "m2-exp.y"
+#line 673 "m2-exp.y"
 
 
 /* Take care of parsing a number (anything that starts with a digit).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-exp.y ./gdb/m2-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-exp.y	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m2-exp.y	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* YACC grammar for Modula-2 expressions, for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
    Generated from expread.y (now c-exp.y) and contributed by the Department
    of Computer Science at the State University of New York at Buffalo, 1991.
 
@@ -38,7 +38,6 @@
 %{
 
 #include "defs.h"
-#include <string.h>
 #include "expression.h"
 #include "language.h"
 #include "value.h"
@@ -143,7 +142,7 @@ static int number_sign = 1;
     struct type *tval;
     struct stoken sval;
     int voidval;
-    struct block *bval;
+    const struct block *bval;
     enum exp_opcode opcode;
     struct internalvar *ivar;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-lang.c ./gdb/m2-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m2-lang.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Modula 2 language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -394,6 +394,8 @@ const struct language_defn m2_language_d
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-lang.h ./gdb/m2-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-lang.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m2-lang.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Modula 2 language support definitions for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-typeprint.c ./gdb/m2-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-typeprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m2-typeprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for printing Modula 2 types for GDB, the GNU debugger.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,9 +32,6 @@
 #include "typeprint.h"
 #include "cp-abi.h"
 
-#include <string.h>
-#include <errno.h>
-
 static void m2_print_bounds (struct type *type,
 			     struct ui_file *stream, int show, int level,
 			     int print_high);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-valprint.c ./gdb/m2-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m2-valprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m2-valprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing Modula 2 values for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32c-tdep.c ./gdb/m32c-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32c-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m32c-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Renesas M32C target-dependent code for GDB, the GNU debugger.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,11 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-
-#include <stdarg.h>
-
-#include <string.h>
-#include "gdb_assert.h"
 #include "elf-bfd.h"
 #include "elf/m32c.h"
 #include "gdb/sim-m32c.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-linux-nat.c ./gdb/m32r-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m32r-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for GNU/Linux m32r.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,9 +23,6 @@
 #include "regcache.h"
 #include "linux-nat.h"
 #include "target.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include <sys/ptrace.h>
 #include <sys/user.h>
 #include <sys/procfs.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-linux-tdep.c ./gdb/m32r-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m32r-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux m32r.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,8 +27,6 @@
 #include "reggroups.h"
 #include "regset.h"
 
-#include <string.h>
-
 #include "glibc-tdep.h"
 #include "solib-svr4.h"
 #include "symtab.h"
@@ -346,19 +344,26 @@ static int m32r_pt_regs_offset[] = {
 #define SPU_OFFSET (4 * 23)
 #define SPI_OFFSET (4 * 26)
 
+#define M32R_LINUX_GREGS_SIZE (4 * 28)
+
 static void
 m32r_linux_supply_gregset (const struct regset *regset,
 			   struct regcache *regcache, int regnum,
 			   const void *gregs, size_t size)
 {
-  const char *regs = gregs;
-  unsigned long psw, bbpsw;
+  const gdb_byte *regs = gregs;
+  enum bfd_endian byte_order =
+    gdbarch_byte_order (get_regcache_arch (regcache));
+  ULONGEST psw, bbpsw;
+  gdb_byte buf[4];
+  const gdb_byte *p;
   int i;
 
-  psw = *((unsigned long *) (regs + PSW_OFFSET));
-  bbpsw = *((unsigned long *) (regs + BBPSW_OFFSET));
+  psw = extract_unsigned_integer (regs + PSW_OFFSET, 4, byte_order);
+  bbpsw = extract_unsigned_integer (regs + BBPSW_OFFSET, 4, byte_order);
+  psw = ((0x00c1 & bbpsw) << 8) | ((0xc100 & psw) >> 8);
 
-  for (i = 0; i < sizeof (m32r_pt_regs_offset) / 4; i++)
+  for (i = 0; i < ARRAY_SIZE (m32r_pt_regs_offset); i++)
     {
       if (regnum != -1 && regnum != i)
 	continue;
@@ -366,40 +371,77 @@ m32r_linux_supply_gregset (const struct 
       switch (i)
 	{
 	case PSW_REGNUM:
-	  *((unsigned long *) (regs + m32r_pt_regs_offset[i])) =
-	    ((0x00c1 & bbpsw) << 8) | ((0xc100 & psw) >> 8);
+	  store_unsigned_integer (buf, 4, byte_order, psw);
+	  p = buf;
 	  break;
 	case CBR_REGNUM:
-	  *((unsigned long *) (regs + m32r_pt_regs_offset[i])) =
-	    ((psw >> 8) & 1);
+	  store_unsigned_integer (buf, 4, byte_order, psw & 1);
+	  p = buf;
 	  break;
 	case M32R_SP_REGNUM:
-	  if (psw & 0x8000)
-	    *((unsigned long *) (regs + m32r_pt_regs_offset[i])) =
-	      *((unsigned long *) (regs + SPU_OFFSET));
-	  else
-	    *((unsigned long *) (regs + m32r_pt_regs_offset[i])) =
-	      *((unsigned long *) (regs + SPI_OFFSET));
+	  p = regs + ((psw & 0x80) ? SPU_OFFSET : SPI_OFFSET);
 	  break;
+	default:
+	  p = regs + m32r_pt_regs_offset[i];
 	}
 
-      regcache_raw_supply (regcache, i,
-			   regs + m32r_pt_regs_offset[i]);
+      regcache_raw_supply (regcache, i, p);
+    }
+}
+
+static void
+m32r_linux_collect_gregset (const struct regset *regset,
+			    const struct regcache *regcache,
+			    int regnum, void *gregs, size_t size)
+{
+  gdb_byte *regs = gregs;
+  int i;
+  enum bfd_endian byte_order =
+    gdbarch_byte_order (get_regcache_arch (regcache));
+  ULONGEST psw;
+  gdb_byte buf[4];
+
+  regcache_raw_collect (regcache, PSW_REGNUM, buf);
+  psw = extract_unsigned_integer (buf, 4, byte_order);
+
+  for (i = 0; i < ARRAY_SIZE (m32r_pt_regs_offset); i++)
+    {
+      if (regnum != -1 && regnum != i)
+	continue;
+
+      switch (i)
+	{
+	case PSW_REGNUM:
+	  store_unsigned_integer (regs + PSW_OFFSET, 4, byte_order,
+				  (psw & 0xc1) << 8);
+	  store_unsigned_integer (regs + BBPSW_OFFSET, 4, byte_order,
+				  (psw >> 8) & 0xc1);
+	  break;
+	case CBR_REGNUM:
+	  break;
+	case M32R_SP_REGNUM:
+	  regcache_raw_collect (regcache, i, regs
+				+ ((psw & 0x80) ? SPU_OFFSET : SPI_OFFSET));
+	  break;
+	default:
+	  regcache_raw_collect (regcache, i,
+				regs + m32r_pt_regs_offset[i]);
+	}
     }
 }
 
 static const struct regset m32r_linux_gregset = {
-  NULL, m32r_linux_supply_gregset
+  NULL,
+  m32r_linux_supply_gregset, m32r_linux_collect_gregset
 };
 
-static const struct regset *
-m32r_linux_regset_from_core_section (struct gdbarch *core_arch,
-				     const char *sect_name, size_t sect_size)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (core_arch);
-  if (strcmp (sect_name, ".reg") == 0)
-    return &m32r_linux_gregset;
-  return NULL;
+static void
+m32r_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					 iterate_over_regset_sections_cb *cb,
+					 void *cb_data,
+					 const struct regcache *regcache)
+{
+  cb (".reg", M32R_LINUX_GREGS_SIZE, &m32r_linux_gregset, NULL, cb_data);
 }
 
 static void
@@ -421,8 +463,8 @@ m32r_linux_init_abi (struct gdbarch_info
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
 
   /* Core file support.  */
-  set_gdbarch_regset_from_core_section
-    (gdbarch, m32r_linux_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, m32r_linux_iterate_over_regset_sections);
 
   /* Enable TLS support.  */
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-rom.c ./gdb/m32r-rom.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-rom.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m32r-rom.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Remote debugging interface to m32r and mon2000 ROM monitors for GDB, 
    the GNU debugger.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    Adapted by Michael Snyder of Cygnus Support.
 
@@ -25,7 +25,6 @@
 #include "defs.h"
 #include "gdbcore.h"
 #include "target.h"
-#include "exceptions.h"
 #include "monitor.h"
 #include "serial.h"
 #include "symtab.h"
@@ -34,7 +33,6 @@
 #include "symfile.h"		/* for generic load */
 #include <sys/time.h>
 #include <time.h>		/* for time_t */
-#include <string.h>
 #include "objfiles.h"		/* for ALL_OBJFILES etc.  */
 #include "inferior.h"
 #include <ctype.h>
@@ -196,14 +194,11 @@ m32r_load (char *filename, int from_tty)
 }
 
 static void
-m32r_load_gen (struct target_ops *self, char *filename, int from_tty)
+m32r_load_gen (struct target_ops *self, const char *filename, int from_tty)
 {
   generic_load (filename, from_tty);
 }
 
-static void m32r_open (char *args, int from_tty);
-static void mon2000_open (char *args, int from_tty);
-
 /* This array of registers needs to match the indexes used by GDB.  The
    whole reason this exists is because the various ROM monitors use
    different names than GDB does, and don't support all the registers
@@ -362,7 +357,7 @@ init_m32r_cmds (void)
 }				/* init_m32r_cmds */
 
 static void
-m32r_open (char *args, int from_tty)
+m32r_open (const char *args, int from_tty)
 {
   monitor_open (args, &m32r_cmds, from_tty);
 }
@@ -422,7 +417,7 @@ init_mon2000_cmds (void)
 }				/* init_mon2000_cmds */
 
 static void
-mon2000_open (char *args, int from_tty)
+mon2000_open (const char *args, int from_tty)
 {
   monitor_open (args, &mon2000_cmds, from_tty);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-tdep.c ./gdb/m32r-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m32r-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Renesas M32R, for GDB.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,7 +25,6 @@
 #include "gdbtypes.h"
 #include "gdbcmd.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "value.h"
 #include "inferior.h"
 #include "symfile.h"
@@ -38,8 +37,6 @@
 #include "dis-asm.h"
 #include "objfiles.h"
 
-#include "gdb_assert.h"
-
 #include "m32r-tdep.h"
 
 /* Local functions */
@@ -82,7 +79,7 @@ static int
 m32r_memory_insert_breakpoint (struct gdbarch *gdbarch,
 			       struct bp_target_info *bp_tgt)
 {
-  CORE_ADDR addr = bp_tgt->placed_address;
+  CORE_ADDR addr = bp_tgt->placed_address = bp_tgt->reqstd_address;
   int val;
   gdb_byte buf[4];
   gdb_byte contents_cache[4];
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-tdep.h ./gdb/m32r-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m32r-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m32r-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Renesas M32R, for GDB.
  
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68hc11-tdep.c ./gdb/m68hc11-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68hc11-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m68hc11-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Motorola 68HC11 & 68HC12
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Contributed by Stephane Carrez, stcarrez@nerim.fr
 
@@ -30,7 +30,6 @@
 #include "gdbtypes.h"
 #include "gdbcmd.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "value.h"
 #include "inferior.h"
 #include "dis-asm.h"  
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68kbsd-nat.c ./gdb/m68kbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68kbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m68kbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for Motorola 68000 BSD's.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 #include "inferior.h"
 #include "regcache.h"
 
-#include "gdb_assert.h"
 #include <sys/types.h>
 #include <sys/ptrace.h>
 #include <machine/reg.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68kbsd-tdep.c ./gdb/m68kbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68kbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m68kbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Motorola 68000 BSD's.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,9 +27,6 @@
 #include "tramp-frame.h"
 #include "gdbtypes.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "m68k-tdep.h"
 #include "solib-svr4.h"
 
@@ -117,20 +114,16 @@ static const struct regset m68kbsd_fpreg
   m68kbsd_supply_fpregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-m68kbsd_regset_from_core_section (struct gdbarch *gdbarch,
-				  const char *sect_name, size_t sect_size)
+static void
+m68kbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				      iterate_over_regset_sections_cb *cb,
+				      void *cb_data,
+				      const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= M68KBSD_SIZEOF_GREGS)
-    return &m68kbsd_gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size >= M68KBSD_SIZEOF_FPREGS)
-    return &m68kbsd_fpregset;
-
-  return NULL;
+  cb (".reg", M68KBSD_SIZEOF_GREGS, &m68kbsd_gregset, NULL, cb_data);
+  cb (".reg2", M68KBSD_SIZEOF_FPREGS, &m68kbsd_fpregset, NULL, cb_data);
 }
 
 
@@ -198,8 +191,8 @@ m68kbsd_init_abi (struct gdbarch_info in
 
   set_gdbarch_decr_pc_after_break (gdbarch, 2);
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, m68kbsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, m68kbsd_iterate_over_regset_sections);
 }
 
 /* OpenBSD and NetBSD a.out.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68klinux-nat.c ./gdb/m68klinux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68klinux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m68klinux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Motorola m68k native support for GNU/Linux.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 #include "inferior.h"
 #include "language.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "regcache.h"
 #include "target.h"
 #include "linux-nat.h"
@@ -505,62 +504,6 @@ m68k_linux_store_inferior_registers (str
 		  _("Got request to store bad register number %d."), regno);
 }
 
-/* Interpreting register set info found in core files.  */
-
-/* Provide registers to GDB from a core file.
-
-   (We can't use the generic version of this function in
-   core-regset.c, because we need to use elf_gregset_t instead of
-   gregset_t.)
-
-   CORE_REG_SECT points to an array of bytes, which are the contents
-   of a `note' from a core file which BFD thinks might contain
-   register contents.  CORE_REG_SIZE is its size.
-
-   WHICH says which register set corelow suspects this is:
-     0 --- the general-purpose register set, in elf_gregset_t format
-     2 --- the floating-point register set, in elf_fpregset_t format
-
-   REG_ADDR isn't used on GNU/Linux.  */
-
-static void
-fetch_core_registers (struct regcache *regcache,
-		      char *core_reg_sect, unsigned core_reg_size,
-		      int which, CORE_ADDR reg_addr)
-{
-  elf_gregset_t gregset;
-  elf_fpregset_t fpregset;
-
-  switch (which)
-    {
-    case 0:
-      if (core_reg_size != sizeof (gregset))
-	warning (_("Wrong size gregset in core file."));
-      else
-	{
-	  memcpy (&gregset, core_reg_sect, sizeof (gregset));
-	  supply_gregset (regcache, (const elf_gregset_t *) &gregset);
-	}
-      break;
-
-    case 2:
-      if (core_reg_size != sizeof (fpregset))
-	warning (_("Wrong size fpregset in core file."));
-      else
-	{
-	  memcpy (&fpregset, core_reg_sect, sizeof (fpregset));
-	  supply_fpregset (regcache, (const elf_fpregset_t *) &fpregset);
-	}
-      break;
-
-    default:
-      /* We've covered all the kinds of registers we know about here,
-         so this must be something we wouldn't know what to do with
-         anyway.  Just ignore it.  */
-      break;
-    }
-}
-
 
 /* Fetch the thread-local storage pointer for libthread_db.  */
 
@@ -580,18 +523,6 @@ ps_get_thread_area (const struct ps_proc
 }
 
 
-/* Register that we are able to handle GNU/Linux ELF core file
-   formats.  */
-
-static struct core_fns linux_elf_core_fns =
-{
-  bfd_target_elf_flavour,		/* core_flavour */
-  default_check_format,			/* check_format */
-  default_core_sniffer,			/* core_sniffer */
-  fetch_core_registers,			/* core_read_registers */
-  NULL					/* next */
-};
-
 void _initialize_m68k_linux_nat (void);
 
 void
@@ -608,6 +539,4 @@ _initialize_m68k_linux_nat (void)
 
   /* Register the target.  */
   linux_nat_add_target (t);
-
-  deprecated_add_core_fns (&linux_elf_core_fns);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68klinux-tdep.c ./gdb/m68klinux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68klinux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m68klinux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Motorola m68k target-dependent support for GNU/Linux.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,7 +23,6 @@
 #include "floatformat.h"
 #include "frame.h"
 #include "target.h"
-#include <string.h>
 #include "gdbtypes.h"
 #include "osabi.h"
 #include "regcache.h"
@@ -38,6 +37,7 @@
 #include "observer.h"
 #include "elf/common.h"
 #include "linux-tdep.h"
+#include "regset.h"
 
 /* Offsets (in target ints) into jmp_buf.  */
 
@@ -327,6 +327,60 @@ static const struct frame_unwind m68k_li
   m68k_linux_sigtramp_frame_sniffer
 };
 
+/* Register maps for supply/collect regset functions.  */
+
+static const struct regcache_map_entry m68k_linux_gregmap[] =
+  {
+    { 7, M68K_D1_REGNUM, 4 },	/* d1 ... d7 */
+    { 7, M68K_A0_REGNUM, 4 },	/* a0 ... a6 */
+    { 1, M68K_D0_REGNUM, 4 },
+    { 1, M68K_SP_REGNUM, 4 },
+    { 1, REGCACHE_MAP_SKIP, 4 }, /* orig_d0 (skip) */
+    { 1, M68K_PS_REGNUM, 4 },
+    { 1, M68K_PC_REGNUM, 4 },
+    /* Ignore 16-bit fields 'fmtvec' and '__fill'.  */
+    { 0 }
+  };
+
+#define M68K_LINUX_GREGS_SIZE (20 * 4)
+
+static const struct regcache_map_entry m68k_linux_fpregmap[] =
+  {
+    { 8, M68K_FP0_REGNUM, 12 },	/* fp0 ... fp7 */
+    { 1, M68K_FPC_REGNUM, 4 },
+    { 1, M68K_FPS_REGNUM, 4 },
+    { 1, M68K_FPI_REGNUM, 4 },
+    { 0 }
+  };
+
+#define M68K_LINUX_FPREGS_SIZE (27 * 4)
+
+/* Register sets. */
+
+static const struct regset m68k_linux_gregset =
+  {
+    m68k_linux_gregmap,
+    regcache_supply_regset, regcache_collect_regset
+  };
+
+static const struct regset m68k_linux_fpregset =
+  {
+    m68k_linux_fpregmap,
+    regcache_supply_regset, regcache_collect_regset
+  };
+
+/* Iterate over core file register note sections.  */
+
+static void
+m68k_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					 iterate_over_regset_sections_cb *cb,
+					 void *cb_data,
+					 const struct regcache *regcache)
+{
+  cb (".reg", M68K_LINUX_GREGS_SIZE, &m68k_linux_gregset, NULL, cb_data);
+  cb (".reg2", M68K_LINUX_FPREGS_SIZE, &m68k_linux_fpregset, NULL, cb_data);
+}
+
 static void
 m68k_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
@@ -361,6 +415,10 @@ m68k_linux_init_abi (struct gdbarch_info
 
   set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
 
+  /* Core file support. */
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, m68k_linux_iterate_over_regset_sections);
+
   /* Enable TLS support.  */
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
                                              svr4_fetch_objfile_link_map);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68k-tdep.c ./gdb/m68k-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68k-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m68k-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Motorola 68000 series.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,8 +26,6 @@
 #include "symtab.h"
 #include "gdbcore.h"
 #include "value.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "inferior.h"
 #include "regcache.h"
 #include "arch-utils.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68k-tdep.h ./gdb/m68k-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m68k-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m68k-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Motorola 68000 series.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m88kbsd-nat.c ./gdb/m88kbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m88kbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m88kbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for Motorola 88000 BSD's.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m88k-tdep.c ./gdb/m88k-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m88k-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m88k-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Motorola 88000 series.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,9 +31,6 @@
 #include "trad-frame.h"
 #include "value.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "m88k-tdep.h"
 
 /* Fetch the instruction at PC.  */
@@ -805,17 +802,15 @@ static const struct regset m88k_gregset 
   m88k_supply_gregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over supported core file register note sections. */
 
-static const struct regset *
-m88k_regset_from_core_section (struct gdbarch *gdbarch,
-			       const char *sect_name, size_t sect_size)
+static void
+m88k_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				   iterate_over_regset_sections_cb *cb,
+				   void *cb_data,
+				   const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= M88K_NUM_REGS * 4)
-    return &m88k_gregset;
-
-  return NULL;
+  cb (".reg", M88K_NUM_REGS * 4, &m88k_gregset, NULL, cb_data);
 }
 
 
@@ -845,8 +840,8 @@ m88k_gdbarch_init (struct gdbarch_info i
   set_gdbarch_pc_regnum (gdbarch, M88K_SXIP_REGNUM);
 
   /* Core file support.  */
-  set_gdbarch_regset_from_core_section
-    (gdbarch, m88k_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, m88k_iterate_over_regset_sections);
 
   set_gdbarch_print_insn (gdbarch, print_insn_m88k);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m88k-tdep.h ./gdb/m88k-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/m88k-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/m88k-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Motorola 88000 series.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/machoread.c ./gdb/machoread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/machoread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/machoread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Darwin support for GDB, the GNU debugger.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    Contributed by AdaCore.
 
@@ -28,15 +28,12 @@
 #include "gdbcmd.h"
 #include "gdbcore.h"
 #include "mach-o.h"
-#include "gdb_assert.h"
 #include "aout/stab_gnu.h"
 #include "vec.h"
 #include "psympriv.h"
 #include "complaints.h"
 #include "gdb_bfd.h"
 
-#include <string.h>
-
 /* If non-zero displays debugging message.  */
 static unsigned int mach_o_debug_level = 0;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macrocmd.c ./gdb/macrocmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macrocmd.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/macrocmd.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* C preprocessor macro expansion commands for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of GDB.
@@ -25,7 +25,6 @@
 #include "cli/cli-utils.h"
 #include "command.h"
 #include "gdbcmd.h"
-#include <string.h>
 #include "linespec.h"
 
 
@@ -38,7 +37,7 @@ macro_command (char *arg, int from_tty)
 {
   printf_unfiltered
     ("\"macro\" must be followed by the name of a macro command.\n");
-  help_list (macrolist, "macro ", -1, gdb_stdout);
+  help_list (macrolist, "macro ", all_commands, gdb_stdout);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macroexp.c ./gdb/macroexp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macroexp.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/macroexp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* C preprocessor macro expansion for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of GDB.
@@ -22,7 +22,6 @@
 #include "bcache.h"
 #include "macrotab.h"
 #include "macroexp.h"
-#include "gdb_assert.h"
 #include "c-lang.h"
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macroexp.h ./gdb/macroexp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macroexp.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/macroexp.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface to C preprocessor macro expansion for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macroscope.c ./gdb/macroscope.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macroscope.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/macroscope.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Functions for deciding which macros are currently in scope.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of GDB.
@@ -40,14 +40,17 @@ sal_macro_scope (struct symtab_and_line 
 {
   struct macro_source_file *main_file, *inclusion;
   struct macro_scope *ms;
+  struct compunit_symtab *cust;
 
-  if (! sal.symtab
-      || ! sal.symtab->macro_table)
-    return 0;
+  if (sal.symtab == NULL)
+    return NULL;
+  cust = SYMTAB_COMPUNIT (sal.symtab);
+  if (COMPUNIT_MACRO_TABLE (cust) == NULL)
+    return NULL;
 
   ms = (struct macro_scope *) xmalloc (sizeof (*ms));
 
-  main_file = macro_main (sal.symtab->macro_table);
+  main_file = macro_main (COMPUNIT_MACRO_TABLE (cust));
   inclusion = macro_lookup_inclusion (main_file, sal.symtab->filename);
 
   if (inclusion)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macroscope.h ./gdb/macroscope.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macroscope.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/macroscope.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface to functions for deciding which macros are currently in scope.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macrotab.c ./gdb/macrotab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macrotab.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/macrotab.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* C preprocessor macro tables for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of GDB.
@@ -25,7 +25,6 @@
 #include "symfile.h"
 #include "objfiles.h"
 #include "macrotab.h"
-#include "gdb_assert.h"
 #include "bcache.h"
 #include "complaints.h"
 #include "macroexp.h"
@@ -48,9 +47,8 @@ struct macro_table
      #inclusion tree; everything else is #included from here.  */
   struct macro_source_file *main_source;
 
-  /* Compilation directory for all files of this macro table.  It is allocated
-     on objfile's obstack.  */
-  const char *comp_dir;
+  /* Backlink to containing compilation unit, or NULL if there isn't one.  */
+  struct compunit_symtab *compunit_symtab;
 
   /* True if macros in this table can be redefined without issuing an
      error.  */
@@ -1050,7 +1048,7 @@ macro_for_each_in_scope (struct macro_so
 
 struct macro_table *
 new_macro_table (struct obstack *obstack, struct bcache *b,
-		 const char *comp_dir)
+		 struct compunit_symtab *cust)
 {
   struct macro_table *t;
 
@@ -1064,7 +1062,7 @@ new_macro_table (struct obstack *obstack
   t->obstack = obstack;
   t->bcache = b;
   t->main_source = NULL;
-  t->comp_dir = comp_dir;
+  t->compunit_symtab = cust;
   t->redef_ok = 0;
   t->definitions = (splay_tree_new_with_allocator
                     (macro_tree_compare,
@@ -1093,8 +1091,13 @@ free_macro_table (struct macro_table *ta
 char *
 macro_source_fullname (struct macro_source_file *file)
 {
-  if (file->table->comp_dir == NULL || IS_ABSOLUTE_PATH (file->filename))
+  const char *comp_dir = NULL;
+
+  if (file->table->compunit_symtab != NULL)
+    comp_dir = COMPUNIT_DIRNAME (file->table->compunit_symtab);
+
+  if (comp_dir == NULL || IS_ABSOLUTE_PATH (file->filename))
     return xstrdup (file->filename);
 
-  return concat (file->table->comp_dir, SLASH_STRING, file->filename, NULL);
+  return concat (comp_dir, SLASH_STRING, file->filename, NULL);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macrotab.h ./gdb/macrotab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/macrotab.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/macrotab.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface to C preprocessor macro tables for GDB.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of GDB.
@@ -22,6 +22,7 @@
 
 struct obstack;
 struct bcache;
+struct compunit_symtab;
 
 /* How do we represent a source location?  I mean, how should we
    represent them within GDB; the user wants to use all sorts of
@@ -154,8 +155,8 @@ struct macro_source_file
    xmalloc if OBSTACK is zero.  Use BCACHE to store all macro names,
    arguments, definitions, and anything else that might be the same
    amongst compilation units in an executable file; if BCACHE is zero,
-   don't cache these things.  COMP_DIR optionally contains the compilation
-   directory of all files for this macro table.
+   don't cache these things.  CUST is a pointer to the containing
+   compilation unit, or NULL if there isn't one.
 
    Note that, if either OBSTACK or BCACHE are non-zero, then removing
    information from the table may leak memory.  Neither obstacks nor
@@ -168,7 +169,7 @@ struct macro_source_file
    do that in GCC 4.1.2.).  */
 struct macro_table *new_macro_table (struct obstack *obstack,
                                      struct bcache *bcache,
-				     const char *comp_dir);
+				     struct compunit_symtab *cust);
 
 
 /* Free TABLE, and any macro definitions, source file structures,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/main.c ./gdb/main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/main.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Top level stuff for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,15 +23,11 @@
 #include "inferior.h"
 #include "symfile.h"
 #include "gdbcore.h"
-
-#include "exceptions.h"
 #include "getopt.h"
 
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <ctype.h>
-
-#include <string.h>
 #include "event-loop.h"
 #include "ui-out.h"
 
@@ -45,6 +41,7 @@
 
 #include "filenames.h"
 #include "filestuff.h"
+#include <signal.h>
 #include "event-top.h"
 #include "infrun.h"
 
@@ -290,6 +287,27 @@ get_init_files (const char **system_gdbi
   *local_gdbinit = localinit;
 }
 
+/* Try to set up an alternate signal stack for SIGSEGV handlers.
+   This allows us to handle SIGSEGV signals generated when the
+   normal process stack is exhausted.  If this stack is not set
+   up (sigaltstack is unavailable or fails) and a SIGSEGV is
+   generated when the normal stack is exhausted then the program
+   will behave as though no SIGSEGV handler was installed.  */
+
+static void
+setup_alternate_signal_stack (void)
+{
+#ifdef HAVE_SIGALTSTACK
+  stack_t ss;
+
+  ss.ss_sp = xmalloc (SIGSTKSZ);
+  ss.ss_size = SIGSTKSZ;
+  ss.ss_flags = 0;
+
+  sigaltstack(&ss, NULL);
+#endif
+}
+
 /* Call command_loop.  If it happens to return, pass that through as a
    non-zero return status.  */
 
@@ -506,14 +524,12 @@ captured_main (void *data)
   gdb_program_name = xstrdup (argv[0]);
 #endif
 
+  /* Prefix warning messages with the command name.  */
+  warning_pre_print = xstrprintf ("%s: warning: ", gdb_program_name);
+
   if (! getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)))
-    /* Don't use *_filtered or warning() (which relies on
-       current_target) until after initialize_all_files().  */
-    fprintf_unfiltered (gdb_stderr,
-			_("%s: warning: error finding "
-			  "working directory: %s\n"),
-                        argv[0], safe_strerror (errno));
-    
+    perror_warning_with_name (_("error finding working directory"));
+
   current_directory = gdb_dirbuf;
 
   /* Set the sysroot path.  */
@@ -676,10 +692,7 @@ captured_main (void *data)
 	    xfree (interpreter_p);
 	    interpreter_p = xstrdup (INTERP_TUI);
 #else
-	    fprintf_unfiltered (gdb_stderr,
-				_("%s: TUI mode is not supported\n"),
-				argv[0]);
-	    exit (1);
+	    error (_("%s: TUI mode is not supported"), gdb_program_name);
 #endif
 	    break;
 	  case OPT_WINDOWS:
@@ -745,13 +758,8 @@ captured_main (void *data)
 	    break;
 	  case 'D':
 	    if (optarg[0] == '\0')
-	      {
-		fprintf_unfiltered (gdb_stderr,
-				    _("%s: empty path for"
-				      " `--data-directory'\n"),
-				    argv[0]);
-		exit (1);
-	      }
+	      error (_("%s: empty path for `--data-directory'"),
+		     gdb_program_name);
 	    set_gdb_data_directory (optarg);
 	    gdb_datadir_provided = 1;
 	    break;
@@ -761,13 +769,8 @@ captured_main (void *data)
 	      extern int gdbtk_test (char *);
 
 	      if (!gdbtk_test (optarg))
-		{
-		  fprintf_unfiltered (gdb_stderr,
-				      _("%s: unable to load "
-					"tclcommand file \"%s\""),
-				      argv[0], optarg);
-		  exit (1);
-		}
+		error (_("%s: unable to load tclcommand file \"%s\""),
+		       gdb_program_name, optarg);
 	      break;
 	    }
 	  case 'y':
@@ -809,13 +812,8 @@ captured_main (void *data)
 
 	      i = strtol (optarg, &p, 0);
 	      if (i == 0 && p == optarg)
-
-		/* Don't use *_filtered or warning() (which relies on
-		   current_target) until after initialize_all_files().  */
-
-		fprintf_unfiltered
-		  (gdb_stderr,
-		   _("warning: could not set baud rate to `%s'.\n"), optarg);
+		warning (_("could not set baud rate to `%s'."),
+			 optarg);
 	      else
 		baud_rate = i;
 	    }
@@ -827,24 +825,16 @@ captured_main (void *data)
 
 	      i = strtol (optarg, &p, 0);
 	      if (i == 0 && p == optarg)
-
-		/* Don't use *_filtered or warning() (which relies on
-		   current_target) until after initialize_all_files().  */
-
-		fprintf_unfiltered (gdb_stderr,
-				    _("warning: could not set "
-				      "timeout limit to `%s'.\n"), optarg);
+		warning (_("could not set timeout limit to `%s'."),
+			 optarg);
 	      else
 		remote_timeout = i;
 	    }
 	    break;
 
 	  case '?':
-	    fprintf_unfiltered (gdb_stderr,
-				_("Use `%s --help' for a "
-				  "complete list of options.\n"),
-				argv[0]);
-	    exit (1);
+	    error (_("Use `%s --help' for a complete list of options."),
+		   gdb_program_name);
 	  }
       }
 
@@ -852,6 +842,9 @@ captured_main (void *data)
       quiet = 1;
   }
 
+  /* Try to set up an alternate signal stack for SIGSEGV handlers.  */
+  setup_alternate_signal_stack ();
+
   /* Initialize all files.  Give the interpreter a chance to take
      control of the console via the deprecated_init_ui_hook ().  */
   gdb_init (gdb_program_name);
@@ -864,13 +857,9 @@ captured_main (void *data)
 	 inferior.  The first one is the sym/exec file, and the rest
 	 are arguments.  */
       if (optind >= argc)
-	{
-	  fprintf_unfiltered (gdb_stderr,
-			      _("%s: `--args' specified but "
-				"no program specified\n"),
-			      argv[0]);
-	  exit (1);
-	}
+	error (_("%s: `--args' specified but no program specified"),
+	       gdb_program_name);
+
       symarg = argv[optind];
       execarg = argv[optind];
       ++optind;
@@ -970,12 +959,7 @@ captured_main (void *data)
       error (_("Interpreter `%s' unrecognized"), interpreter_p);
     /* Install it.  */
     if (!interp_set (interp, 1))
-      {
-        fprintf_unfiltered (gdb_stderr,
-			    "Interpreter `%s' failed to initialize.\n",
-                            interpreter_p);
-        exit (1);
-      }
+      error (_("Interpreter `%s' failed to initialize."), interpreter_p);
   }
 
   /* FIXME: cagney/2003-02-03: The big hack (part 2 of 2) that lets
@@ -996,6 +980,7 @@ captured_main (void *data)
     }
 
   /* Set off error and warning messages with a blank line.  */
+  xfree (warning_pre_print);
   warning_pre_print = _("\nwarning: ");
 
   /* Read and execute the system-wide gdbinit file, if it exists.
@@ -1052,16 +1037,16 @@ captured_main (void *data)
       /* The exec file and the symbol-file are the same.  If we can't
          open it, better only print one error message.
          catch_command_errors returns non-zero on success!  */
-      if (catch_command_errors (exec_file_attach, execarg,
-				!batch_flag, RETURN_MASK_ALL))
+      if (catch_command_errors_const (exec_file_attach, execarg,
+				      !batch_flag, RETURN_MASK_ALL))
 	catch_command_errors_const (symbol_file_add_main, symarg,
 				    !batch_flag, RETURN_MASK_ALL);
     }
   else
     {
       if (execarg != NULL)
-	catch_command_errors (exec_file_attach, execarg,
-			      !batch_flag, RETURN_MASK_ALL);
+	catch_command_errors_const (exec_file_attach, execarg,
+				    !batch_flag, RETURN_MASK_ALL);
       if (symarg != NULL)
 	catch_command_errors_const (symbol_file_add_main, symarg,
 				    !batch_flag, RETURN_MASK_ALL);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/main.h ./gdb/main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/main.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/main.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Main interface for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/MAINTAINERS ./gdb/MAINTAINERS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/MAINTAINERS	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/MAINTAINERS	2015-01-20 02:05:38.000000000 +0000
@@ -156,6 +156,7 @@ Andrew Cagney			cagney@gnu.org
 Doug Evans			dje@google.com
 Daniel Jacobowitz		drow@false.org
 Mark Kettenis           	kettenis@gnu.org
+Yao Qi				yao@codesourcery.com
 Stan Shebs			stan@codesourcery.com
 Tom Tromey			tromey@redhat.com
 Ulrich Weigand			Ulrich.Weigand@de.ibm.com
@@ -384,6 +385,8 @@ documentation		Eli Zaretskii		eliz@gnu.o
 testsuite
   gdbtk (gdb.gdbtk)     Keith Seitz             keiths@redhat.com
 
+SystemTap		Sergio Durigan Junior	sergiodj@redhat.com
+
 
 UI: External (user) interfaces.
 
@@ -466,6 +469,7 @@ Scott Bambrough					scottb@netwinder.org
 Thiago Jung Bauermann				bauerman@br.ibm.com
 Jon Beniston					jon@beniston.com
 Gary Benson					gbenson@redhat.com
+Gabriel Krisman Bertazi				gabriel@krisman.be
 Jan Beulich					jbeulich@novell.com
 Anton Blanchard					anton@samba.org
 Jim Blandy					jimb@codesourcery.com
@@ -473,6 +477,7 @@ David Blaikie					dblaikie@gmail.com
 Philip Blundell					philb@gnu.org
 Eric Botcazou					ebotcazou@libertysurf.fr
 Per Bothner					per@bothner.com
+Don Breazeal					donb@codesourcery.com
 Joel Brobecker					brobecker@adacore.com
 Dave Brolley					brolley@redhat.com
 Samuel Bronson                                  naesten@gmail.com
@@ -480,7 +485,7 @@ Paul Brook					paul@codesourcery.com
 Julian Brown					julian@codesourcery.com
 Iain Buclaw					ibuclaw@gdcproject.org
 Kevin Buettner					kevinb@redhat.com
-Andrew Burgess					aburgess@broadcom.com
+Andrew Burgess					andrew.burgess@embecosm.com
 Andrew Cagney					cagney@gnu.org
 David Carlton					carlton@bactrian.org
 Stephane Carrez					Stephane.Carrez@gmail.com
@@ -512,6 +517,7 @@ Doug Evans					dje@google.com
 Adam Fedor					fedor@gnu.org
 Brian Ford					ford@vss.fsi.com
 Orjan Friberg					orjanf@axis.com
+Andreas From					andreas.from@ericsson.com
 Nathan Froyd					froydnj@codesourcery.com
 Gary Funck					gary@intrepid.com
 Mircea Gherzan					mircea.gherzan@intel.com
@@ -530,6 +536,7 @@ Aldy Hernandez					aldyh@redhat.com
 Paul Hilfinger					hilfinger@gnat.com
 Matt Hiller					hiller@redhat.com
 Kazu Hirata					kazu@cs.umass.edu
+James Hogan					james.hogan@imgtec.com
 Jeff Holcomb					jeffh@redhat.com
 Don Howard					dhoward@redhat.com
 Nick Hudson					nick.hudson@dsl.pipex.com
@@ -566,7 +573,7 @@ Jose E. Marchesi                        
 Simon Marchi					simon.marchi@ericsson.com
 Glen McCready					gkm@redhat.com
 Greg McGary					greg@mcgary.org
-Roland McGrath					roland@redhat.com
+Roland McGrath					roland@hack.frob.com
 Bryce McKinlay					mckinlay@redhat.com
 Jason Merrill					jason@redhat.com
 David S. Miller					davem@redhat.com
@@ -590,6 +597,7 @@ David O'Brien					obrien@freebsd.org
 Alexandre Oliva					aoliva@redhat.com
 Karen Osmond					karen.osmond@gmail.com
 Pawandeep Oza					oza.pawandeep@gmail.com
+Patrick Palka					patrick@parcs.ath.cx
 Denis Pilat					denis.pilat@st.com
 Andrew Pinski					apinski@cavium.com
 Kevin Pouget					kevin.pouget@st.com
@@ -649,7 +657,7 @@ Corinna Vinschen				vinschen@redhat.com
 Sami Wagiaalla					swagiaal@redhat.com
 Keith Walker					keith.walker@arm.com
 Ricard Wanderlof				ricardw@axis.com
-Jiong Wang					jiwang@tilera.com
+Jiong Wang					jiong.wang@arm.com
 Kris Warkentin					kewarken@qnx.com
 Philippe Waroquiers				philippe.waroquiers@skynet.be
 Ulrich Weigand					uweigand@de.ibm.com
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/maint.c ./gdb/maint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/maint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/maint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for GDB maintenance commands.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish at Cygnus Support.
 
@@ -38,7 +38,6 @@
 #include "symfile.h"
 #include "objfiles.h"
 #include "value.h"
-#include "gdb_assert.h"
 #include "top.h"
 #include "timeval-utils.h"
 #include "maint.h"
@@ -88,7 +87,7 @@ maintenance_command (char *args, int fro
 {
   printf_unfiltered (_("\"maintenance\" must be followed by "
 		       "the name of a maintenance command.\n"));
-  help_list (maintenancelist, "maintenance ", -1, gdb_stdout);
+  help_list (maintenancelist, "maintenance ", all_commands, gdb_stdout);
 }
 
 #ifndef _WIN32
@@ -131,38 +130,23 @@ maintenance_internal_warning (char *args
   internal_warning (__FILE__, __LINE__, "%s", (args == NULL ? "" : args));
 }
 
-/* Someday we should allow demangling for things other than just
-   explicit strings.  For example, we might want to be able to specify
-   the address of a string in either GDB's process space or the
-   debuggee's process space, and have gdb fetch and demangle that
-   string.  If we have a char* pointer "ptr" that points to a string,
-   we might want to be able to given just the name and have GDB
-   demangle and print what it points to, etc.  (FIXME)  */
+/* Stimulate the internal error mechanism that GDB uses when an
+   demangler problem is detected.  Allows testing of the mechanism.  */
 
 static void
-maintenance_demangle (char *args, int from_tty)
+maintenance_demangler_warning (char *args, int from_tty)
 {
-  char *demangled;
+  demangler_warning (__FILE__, __LINE__, "%s", (args == NULL ? "" : args));
+}
 
-  if (args == NULL || *args == '\0')
-    {
-      printf_unfiltered (_("\"maintenance demangle\" takes "
-			   "an argument to demangle.\n"));
-    }
-  else
-    {
-      demangled = language_demangle (current_language, args, 
-				     DMGL_ANSI | DMGL_PARAMS);
-      if (demangled != NULL)
-	{
-	  printf_unfiltered ("%s\n", demangled);
-	  xfree (demangled);
-	}
-      else
-	{
-	  printf_unfiltered (_("Can't demangle \"%s\"\n"), args);
-	}
-    }
+/* Old command to demangle a string.  The command has been moved to "demangle".
+   It is kept for now because otherwise "mt demangle" gets interpreted as
+   "mt demangler-warning" which artificially creates an internal gdb error.  */
+
+static void
+maintenance_demangle (char *args, int from_tty)
+{
+  printf_filtered (_("This command has been moved to \"demangle\".\n"));
 }
 
 static void
@@ -192,7 +176,8 @@ maintenance_info_command (char *arg, int
 {
   printf_unfiltered (_("\"maintenance info\" must be followed "
 		       "by the name of an info command.\n"));
-  help_list (maintenanceinfolist, "maintenance info ", -1, gdb_stdout);
+  help_list (maintenanceinfolist, "maintenance info ", all_commands,
+	     gdb_stdout);
 }
 
 /* Mini tokenizing lexer for 'maint info sections' command.  */
@@ -226,7 +211,7 @@ match_substring (const char *string, con
 }
 
 static int 
-match_bfd_flags (char *string, flagword flags)
+match_bfd_flags (const char *string, flagword flags)
 {
   if (flags & SEC_ALLOC)
     if (match_substring (string, "ALLOC"))
@@ -314,14 +299,15 @@ maint_print_section_info (const char *na
 static void
 print_bfd_section_info (bfd *abfd, 
 			asection *asect, 
-			void *arg)
+			void *datum)
 {
   flagword flags = bfd_get_section_flags (abfd, asect);
   const char *name = bfd_section_name (abfd, asect);
+  const char *arg = datum;
 
-  if (arg == NULL || *((char *) arg) == '\0'
-      || match_substring ((char *) arg, name)
-      || match_bfd_flags ((char *) arg, flags))
+  if (arg == NULL || *arg == '\0'
+      || match_substring (arg, name)
+      || match_bfd_flags (arg, flags))
     {
       struct gdbarch *gdbarch = gdbarch_from_bfd (abfd);
       int addr_size = gdbarch_addr_bit (gdbarch) / 8;
@@ -338,7 +324,7 @@ print_bfd_section_info (bfd *abfd, 
 static void
 print_objfile_section_info (bfd *abfd, 
 			    struct obj_section *asect, 
-			    char *string)
+			    const char *string)
 {
   flagword flags = bfd_get_section_flags (abfd, asect->the_bfd_section);
   const char *name = bfd_section_name (abfd, asect->the_bfd_section);
@@ -439,7 +425,8 @@ maintenance_print_command (char *arg, in
 {
   printf_unfiltered (_("\"maintenance print\" must be followed "
 		       "by the name of a print command.\n"));
-  help_list (maintenanceprintlist, "maintenance print ", -1, gdb_stdout);
+  help_list (maintenanceprintlist, "maintenance print ", all_commands,
+	     gdb_stdout);
 }
 
 /* The "maintenance translate-address" command converts a section and address
@@ -616,7 +603,7 @@ maintenance_do_deprecate (char *text, in
   if (alias)
     {
       if (alias->malloced_replacement)
-	xfree (alias->replacement);
+	xfree ((char *) alias->replacement);
 
       if (deprecate)
 	{
@@ -635,7 +622,7 @@ maintenance_do_deprecate (char *text, in
   else if (cmd)
     {
       if (cmd->malloced_replacement)
-	xfree (cmd->replacement);
+	xfree ((char *) cmd->replacement);
 
       if (deprecate)
 	{
@@ -664,7 +651,8 @@ maintenance_set_cmd (char *args, int fro
 {
   printf_unfiltered (_("\"maintenance set\" must be followed "
 		       "by the name of a set command.\n"));
-  help_list (maintenance_set_cmdlist, "maintenance set ", -1, gdb_stdout);
+  help_list (maintenance_set_cmdlist, "maintenance set ", all_commands,
+	     gdb_stdout);
 }
 
 static void
@@ -782,8 +770,8 @@ struct cmd_stats 
   long start_space;
   /* Total number of symtabs (over all objfiles).  */
   int start_nr_symtabs;
-  /* Of those, a count of just the primary ones.  */
-  int start_nr_primary_symtabs;
+  /* A count of the compunits.  */
+  int start_nr_compunit_symtabs;
   /* Total number of blocks.  */
   int start_nr_blocks;
 };
@@ -809,13 +797,14 @@ set_per_command_space (int new_value)
 /* Count the number of symtabs and blocks.  */
 
 static void
-count_symtabs_and_blocks (int *nr_symtabs_ptr, int *nr_primary_symtabs_ptr,
+count_symtabs_and_blocks (int *nr_symtabs_ptr, int *nr_compunit_symtabs_ptr,
 			  int *nr_blocks_ptr)
 {
   struct objfile *o;
+  struct compunit_symtab *cu;
   struct symtab *s;
   int nr_symtabs = 0;
-  int nr_primary_symtabs = 0;
+  int nr_compunit_symtabs = 0;
   int nr_blocks = 0;
 
   /* When collecting statistics during startup, this is called before
@@ -823,19 +812,17 @@ count_symtabs_and_blocks (int *nr_symtab
      current_program_space may be NULL.  */
   if (current_program_space != NULL)
     {
-      ALL_SYMTABS (o, s)
+      ALL_COMPUNITS (o, cu)
 	{
-	  ++nr_symtabs;
-	  if (s->primary)
-	    {
-	      ++nr_primary_symtabs;
-	      nr_blocks += BLOCKVECTOR_NBLOCKS (BLOCKVECTOR (s));
-	    }
+	  ++nr_compunit_symtabs;
+	  nr_blocks += BLOCKVECTOR_NBLOCKS (COMPUNIT_BLOCKVECTOR (cu));
+	  ALL_COMPUNIT_FILETABS (cu, s)
+	    ++nr_symtabs;
 	}
     }
 
   *nr_symtabs_ptr = nr_symtabs;
-  *nr_primary_symtabs_ptr = nr_primary_symtabs;
+  *nr_compunit_symtabs_ptr = nr_compunit_symtabs;
   *nr_blocks_ptr = nr_blocks;
 }
 
@@ -890,16 +877,17 @@ report_command_stats (void *arg)
 
   if (start_stats->symtab_enabled && per_command_symtab)
     {
-      int nr_symtabs, nr_primary_symtabs, nr_blocks;
+      int nr_symtabs, nr_compunit_symtabs, nr_blocks;
 
-      count_symtabs_and_blocks (&nr_symtabs, &nr_primary_symtabs, &nr_blocks);
+      count_symtabs_and_blocks (&nr_symtabs, &nr_compunit_symtabs, &nr_blocks);
       printf_unfiltered (_("#symtabs: %d (+%d),"
-			   " #primary symtabs: %d (+%d),"
+			   " #compunits: %d (+%d),"
 			   " #blocks: %d (+%d)\n"),
 			 nr_symtabs,
 			 nr_symtabs - start_stats->start_nr_symtabs,
-			 nr_primary_symtabs,
-			 nr_primary_symtabs - start_stats->start_nr_primary_symtabs,
+			 nr_compunit_symtabs,
+			 (nr_compunit_symtabs
+			  - start_stats->start_nr_compunit_symtabs),
 			 nr_blocks,
 			 nr_blocks - start_stats->start_nr_blocks);
     }
@@ -948,11 +936,11 @@ make_command_stats_cleanup (int msg_type
 
   if (msg_type == 0 || per_command_symtab)
     {
-      int nr_symtabs, nr_primary_symtabs, nr_blocks;
+      int nr_symtabs, nr_compunit_symtabs, nr_blocks;
 
-      count_symtabs_and_blocks (&nr_symtabs, &nr_primary_symtabs, &nr_blocks);
+      count_symtabs_and_blocks (&nr_symtabs, &nr_compunit_symtabs, &nr_blocks);
       new_stat->start_nr_symtabs = nr_symtabs;
-      new_stat->start_nr_primary_symtabs = nr_primary_symtabs;
+      new_stat->start_nr_compunit_symtabs = nr_compunit_symtabs;
       new_stat->start_nr_blocks = nr_blocks;
       new_stat->symtab_enabled = 1;
     }
@@ -997,11 +985,12 @@ show_per_command_cmd (char *args, int fr
 void
 _initialize_maint_cmds (void)
 {
+  struct cmd_list_element *cmd;
+
   add_prefix_cmd ("maintenance", class_maintenance, maintenance_command, _("\
 Commands for use by GDB maintainers.\n\
 Includes commands to dump specific internal GDB structures in\n\
-a human readable form, to cause GDB to deliberately dump core,\n\
-to test internal functions such as the C++/ObjC demangler, etc."),
+a human readable form, to cause GDB to deliberately dump core, etc."),
 		  &maintenancelist, "maintenance ", 0,
 		  &cmdlist);
 
@@ -1064,12 +1053,17 @@ Give GDB an internal warning.\n\
 Cause GDB to behave as if an internal warning was reported."),
 	   &maintenancelist);
 
-  add_cmd ("demangle", class_maintenance, maintenance_demangle, _("\
-Demangle a C++/ObjC mangled name.\n\
-Call internal GDB demangler routine to demangle a C++ link name\n\
-and prints the result."),
+  add_cmd ("demangler-warning", class_maintenance,
+	   maintenance_demangler_warning, _("\
+Give GDB a demangler warning.\n\
+Cause GDB to behave as if a demangler warning was reported."),
 	   &maintenancelist);
 
+  cmd = add_cmd ("demangle", class_maintenance, maintenance_demangle, _("\
+This command has been moved to \"demangle\"."),
+		 &maintenancelist);
+  deprecate_cmd (cmd, "demangle");
+
   add_prefix_cmd ("per-command", class_maintenance, set_per_command_cmd, _("\
 Per-command statistics settings."),
 		    &per_command_setlist, "set per-command ",
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/maint.h ./gdb/maint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/maint.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/maint.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for GDB maintenance commands.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/Makefile.in ./gdb/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/Makefile.in	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/Makefile.in	2015-01-20 02:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1989-2014 Free Software Foundation, Inc.
+# Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
@@ -280,6 +280,24 @@ SUBDIR_TUI_LDFLAGS=
 SUBDIR_TUI_CFLAGS= \
 	-DTUI=1
 
+#
+# GCC Compile support sub-directory definitions
+#
+SUBDIR_GCC_COMPILE_OBS = \
+	compile.o compile-c-symbols.o compile-c-types.o \
+	compile-object-load.o compile-object-run.o \
+	compile-loc2c.o compile-c-support.o
+SUBDIR_GCC_COMPILE_SRCS = \
+	compile/compile.c \
+	compile/compile-c-symbols.c \
+	compile/compile-c-types.c \
+	compile/compile-object-load.c \
+	compile/compile-object-load.h \
+	compile/compile-object-run.c \
+	compile/compile-object-run.h \
+	compile/compile-loc2c.c \
+	compile/compile-c-support.c
+
 # Guile sub directory definitons for guile support.
 
 SUBDIR_GUILE_OBS = \
@@ -361,6 +379,7 @@ SUBDIR_PYTHON_OBS = \
 	py-function.o \
 	py-gdb-readline.o \
 	py-inferior.o \
+	py-infevents.o \
 	py-infthread.o \
 	py-lazy-string.o \
 	py-linetable.o \
@@ -376,7 +395,8 @@ SUBDIR_PYTHON_OBS = \
 	py-threadevent.o \
 	py-type.o \
 	py-utils.o \
-	py-value.o
+	py-value.o \
+	py-varobj.o
 
 SUBDIR_PYTHON_SRCS = \
 	python/python.c \
@@ -398,6 +418,7 @@ SUBDIR_PYTHON_SRCS = \
 	python/py-function.c \
 	python/py-gdb-readline.c \
 	python/py-inferior.c \
+	python/py-infevents.c \
 	python/py-infthread.c \
 	python/py-lazy-string.c \
 	python/py-linetable.c \
@@ -413,7 +434,8 @@ SUBDIR_PYTHON_SRCS = \
 	python/py-threadevent.c \
 	python/py-type.c \
 	python/py-utils.c \
-	python/py-value.c
+	python/py-value.c \
+	python/py-varobj.c
 SUBDIR_PYTHON_DEPS =
 SUBDIR_PYTHON_LDFLAGS=
 SUBDIR_PYTHON_CFLAGS=
@@ -605,7 +627,7 @@ TARGET_OBS = @TARGET_OBS@
 ALL_64_TARGET_OBS = \
 	aarch64-tdep.o aarch64-linux-tdep.o aarch64-newlib-tdep.o \
 	alphabsd-tdep.o alphafbsd-tdep.o alpha-linux-tdep.o alpha-mdebug-tdep.o \
-	alphanbsd-tdep.o alphaobsd-tdep.o alpha-osf1-tdep.o alpha-tdep.o \
+	alphanbsd-tdep.o alphaobsd-tdep.o alpha-tdep.o \
 	amd64fbsd-tdep.o amd64-darwin-tdep.o amd64-dicos-tdep.o \
 	amd64-linux-tdep.o amd64nbsd-tdep.o \
 	amd64obsd-tdep.o amd64-sol2-tdep.o amd64-tdep.o amd64-windows-tdep.o \
@@ -623,6 +645,7 @@ ALL_TARGET_OBS = \
 	bfin-linux-tdep.o bfin-tdep.o \
 	cris-linux-tdep.o cris-tdep.o \
 	dicos-tdep.o \
+	fbsd-tdep.o \
 	frv-linux-tdep.o frv-tdep.o \
 	h8300-tdep.o \
 	hppabsd-tdep.o hppanbsd-tdep.o hppaobsd-tdep.o \
@@ -641,7 +664,7 @@ ALL_TARGET_OBS = \
 	m88k-tdep.o \
 	mep-tdep.o \
 	microblaze-tdep.o microblaze-linux-tdep.o \
-	mips-irix-tdep.o mips-linux-tdep.o \
+	mips-linux-tdep.o mips-sde-tdep.o \
 	mipsnbsd-tdep.o mips-tdep.o \
 	mn10300-linux-tdep.o mn10300-tdep.o \
 	moxie-tdep.o \
@@ -670,7 +693,7 @@ ALL_TARGET_OBS = \
 	bsd-uthread.o \
 	nbsd-tdep.o obsd-tdep.o \
 	sol2-tdep.o \
-	solib-frv.o solib-irix.o solib-svr4.o \
+	solib-frv.o solib-svr4.o \
 	solib-som.o solib-pa64.o solib-darwin.o solib-dsbt.o \
 	dbug-rom.o dink32-rom.o ppcbug-rom.o m32r-rom.o dsrec.o monitor.o \
 	remote-m32r-sdi.o remote-mips.o \
@@ -792,10 +815,10 @@ SFILES = ada-exp.y ada-lang.c ada-typepr
 	breakpoint.c break-catch-sig.c break-catch-throw.c \
 	build-id.c buildsym.c \
 	c-exp.y c-lang.c c-typeprint.c c-valprint.c c-varobj.c \
-	charset.c cleanups.c cli-out.c coffread.c coff-pe-read.c \
+	charset.c common/cleanups.c cli-out.c coffread.c coff-pe-read.c \
 	complaints.c completer.c continuations.c corefile.c corelow.c \
 	cp-abi.c cp-support.c cp-namespace.c cp-valprint.c \
-	d-lang.c d-support.c d-valprint.c \
+	d-exp.y d-lang.c d-valprint.c \
 	cp-name-parser.y \
 	dbxread.c demangle.c dictionary.c disasm.c doublest.c dummy-frame.c \
 	dwarf2expr.c dwarf2loc.c dwarf2read.c dwarf2-frame.c \
@@ -848,7 +871,9 @@ SFILES = ada-exp.y ada-lang.c ada-typepr
 	common/gdb_vecs.c common/common-utils.c common/xml-utils.c \
 	common/ptid.c common/buffer.c gdb-dlfcn.c common/agent.c \
 	common/format.c common/filestuff.c btrace.c record-btrace.c ctf.c \
-	target/waitstatus.c common/print-utils.c common/rsp-low.c
+	target/waitstatus.c common/print-utils.c common/rsp-low.c \
+	common/errors.c common/common-debug.c common/common-exceptions.c \
+	$(SUBDIR_GCC_COMPILE_SRCS)
 
 LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c
 
@@ -859,17 +884,18 @@ LINTFILES = $(SFILES) $(YYFILES) $(CONFI
 # right, it is probably easiest just to list .h files here directly.
 
 HFILES_NO_SRCDIR = \
-common/gdb_signals.h common/gdb_thread_db.h common/gdb_vecs.h \
-common/i386-xstate.h common/linux-ptrace.h common/mips-linux-watch.h \
+common/gdb_signals.h nat/gdb_thread_db.h common/gdb_vecs.h \
+common/x86-xstate.h nat/linux-ptrace.h nat/mips-linux-watch.h \
 proc-utils.h aarch64-tdep.h arm-tdep.h ax-gdb.h ppcfbsd-tdep.h \
 ppcnbsd-tdep.h cli-out.h gdb_expat.h breakpoint.h infcall.h obsd-tdep.h \
 exec.h m32r-tdep.h osabi.h gdbcore.h solib-som.h amd64bsd-nat.h \
 i386bsd-nat.h xml-support.h xml-tdesc.h alphabsd-tdep.h gdb_obstack.h \
-ia64-tdep.h ada-lang.h varobj.h frv-tdep.h nto-tdep.h serial.h \
+ia64-tdep.h ada-lang.h ada-varobj.h varobj.h varobj-iter.h frv-tdep.h \
+nto-tdep.h serial.h \
 c-lang.h d-lang.h go-lang.h frame.h event-loop.h block.h cli/cli-setshow.h \
 cli/cli-decode.h cli/cli-cmds.h cli/cli-utils.h \
 cli/cli-script.h macrotab.h symtab.h common/version.h \
-gnulib/import/string.in.h gnulib/import/str-two-way.h \
+compile/compile.h gnulib/import/string.in.h gnulib/import/str-two-way.h \
 gnulib/import/stdint.in.h remote.h remote-notif.h gdb.h sparc-nat.h \
 gdbthread.h dwarf2-frame.h dwarf2-frame-tailcall.h nbsd-nat.h dcache.h \
 amd64-nat.h s390-linux-tdep.h arm-linux-tdep.h exceptions.h macroscope.h \
@@ -881,7 +907,7 @@ objfiles.h common/vec.h disasm.h mips-td
 gdb_curses.h bfd-target.h memattr.h inferior.h ax.h dummy-frame.h \
 inflow.h fbsd-nat.h ia64-libunwind-tdep.h completer.h inf-ttrace.h \
 solib-target.h gdb_vfork.h alpha-tdep.h dwarf2expr.h \
-m2-lang.h stack.h charset.h cleanups.h addrmap.h command.h solist.h source.h \
+m2-lang.h stack.h charset.h addrmap.h command.h solist.h source.h \
 target.h target-dcache.h prologue-value.h cp-abi.h tui/tui-hooks.h tui/tui.h \
 tui/tui-file.h tui/tui-command.h tui/tui-disasm.h tui/tui-wingeneral.h \
 tui/tui-windata.h tui/tui-data.h tui/tui-win.h tui/tui-stack.h \
@@ -898,14 +924,14 @@ interps.h auxv.h gdbcmd.h tramp-frame.h 
 amd64-linux-tdep.h linespec.h i387-tdep.h mn10300-tdep.h \
 sparc64-tdep.h monitor.h ppcobsd-tdep.h srec.h solib-pa64.h \
 coff-pe-read.h parser-defs.h gdb_ptrace.h mips-linux-tdep.h \
-m68k-tdep.h spu-tdep.h jv-lang.h environ.h solib-irix.h amd64-tdep.h \
+m68k-tdep.h spu-tdep.h jv-lang.h environ.h amd64-tdep.h \
 doublest.h regset.h hppa-tdep.h ppc-linux-tdep.h ppc64-tdep.h \
 rs6000-tdep.h rs6000-aix-tdep.h \
 common/gdb_locale.h arch-utils.h trad-frame.h gnu-nat.h \
 language.h nbsd-tdep.h solib-svr4.h \
 macroexp.h ui-file.h regcache.h tracepoint.h tracefile.h i386-tdep.h \
 inf-child.h p-lang.h event-top.h gdbtypes.h user-regs.h \
-regformats/regdef.h config/alpha/nm-osf3.h  config/i386/nm-i386gnu.h \
+regformats/regdef.h config/i386/nm-i386gnu.h \
 config/i386/nm-fbsd.h \
 config/nm-nto.h config/sparc/nm-sol2.h config/nm-linux.h \
 top.h bsd-kvm.h gdb-stabs.h reggroups.h \
@@ -917,7 +943,7 @@ psymtab.h psympriv.h progspace.h bfin-td
 amd64-darwin-tdep.h charset-list.h \
 config/djgpp/langinfo.h config/djgpp/nl_types.h darwin-nat.h \
 dicos-tdep.h filesystem.h gcore.h gdb_wchar.h hppabsd-tdep.h \
-i386-darwin-tdep.h i386-nat.h linux-record.h moxie-tdep.h nios2-tdep.h \
+i386-darwin-tdep.h x86-nat.h linux-record.h moxie-tdep.h nios2-tdep.h \
 osdata.h procfs.h python/py-event.h python/py-events.h python/py-stopevent.h \
 python/python-internal.h python/python.h ravenscar-thread.h record.h \
 record-full.h solib-aix.h \
@@ -927,11 +953,15 @@ gnulib/import/extra/snippet/warn-on-use.
 gnulib/import/stddef.in.h gnulib/import/inttypes.in.h inline-frame.h skip.h \
 common/common-utils.h common/xml-utils.h common/buffer.h common/ptid.h \
 common/format.h common/host-defs.h utils.h common/queue.h \
-common/linux-osdata.h gdb-dlfcn.h auto-load.h probe.h stap-probe.h \
-gdb_bfd.h sparc-ravenscar-thread.h ppc-ravenscar-thread.h common/linux-btrace.h \
-ctf.h common/i386-cpuid.h common/i386-gcc-cpuid.h target/resume.h \
+nat/linux-osdata.h gdb-dlfcn.h auto-load.h probe.h stap-probe.h \
+gdb_bfd.h sparc-ravenscar-thread.h ppc-ravenscar-thread.h nat/linux-btrace.h \
+ctf.h nat/x86-cpuid.h nat/x86-gcc-cpuid.h target/resume.h \
 target/wait.h target/waitstatus.h nat/linux-nat.h nat/linux-waitpid.h \
-common/print-utils.h common/rsp-low.h
+common/print-utils.h common/rsp-low.h nat/x86-dregs.h x86-linux-nat.h \
+i386-linux-nat.h common/common-defs.h common/errors.h common/common-types.h \
+common/common-debug.h common/cleanups.h common/gdb_setjmp.h \
+common/common-exceptions.h target/target.h common/symbol.h \
+common/common-regcache.h fbsd-tdep.h
 
 # Header files that already have srcdir in them, or which are in objdir.
 
@@ -1018,7 +1048,6 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $
 	inline-frame.o \
 	gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o \
 	cp-namespace.o \
-	d-support.o \
 	reggroups.o \
 	trad-frame.o \
 	tramp-frame.o \
@@ -1030,7 +1059,9 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $
 	gdb_vecs.o jit.o progspace.o skip.o probe.o \
 	common-utils.o buffer.o ptid.o gdb-dlfcn.o common-agent.o \
 	format.o registry.o btrace.o record-btrace.o waitstatus.o \
-	print-utils.o rsp-low.o
+	print-utils.o rsp-low.o errors.o common-debug.o debug.o \
+	common-exceptions.o \
+	$(SUBDIR_GCC_COMPILE_OBS)
 
 TSOBS = inflow.o
 
@@ -1049,12 +1080,12 @@ YYFILES = c-exp.c \
 	ada-lex.c \
 	ada-exp.c \
 	jv-exp.c \
-	f-exp.c go-exp.c m2-exp.c p-exp.c
+	d-exp.c f-exp.c go-exp.c m2-exp.c p-exp.c
 YYOBJ = c-exp.o \
 	cp-name-parser.o \
 	ada-exp.o \
 	jv-exp.o \
-	f-exp.o go-exp.o m2-exp.o p-exp.o
+	d-exp.o f-exp.o go-exp.o m2-exp.o p-exp.o
 
 # Things which need to be built when making a distribution.
 
@@ -1092,6 +1123,14 @@ check-perf: force
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS) check-perf; \
 	else true; fi
 
+check-read1: force
+	@if [ -f testsuite/Makefile ]; then \
+	  rootme=`pwd`; export rootme; \
+	  rootsrc=`cd $(srcdir); pwd`; export rootsrc; \
+	  cd testsuite; \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS) check-read1; \
+	else true; fi
+
 # The idea is to parallelize testing of multilibs, for example:
 #   make -j3 check//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
 # will run 3 concurrent sessions of check, eventually testing all 10
@@ -1265,7 +1304,7 @@ test-cp-name-parser$(EXEEXT): test-cp-na
 # duplicates.  Files in the gdb/ directory can end up appearing in
 # COMMON_OBS (as a .o file) and CONFIG_SRCS (as a .c file).
 
-INIT_FILES = $(COMMON_OBS) $(TSOBS) $(CONFIG_SRCS)
+INIT_FILES = $(COMMON_OBS) $(TSOBS) $(CONFIG_SRCS) $(SUBDIR_GCC_COMPILE_SRCS)
 init.c: $(INIT_FILES)
 	@echo Making init.c
 	@rm -f init.c-tmp init.l-tmp
@@ -1409,7 +1448,7 @@ local-maintainer-clean:
 		cp-name-parser.c \
 		ada-lex.c ada-exp.c \
 		jv-exp.tab \
-		f-exp.c go-exp.c m2-exp.c p-exp.c
+		d-exp.c f-exp.c go-exp.c m2-exp.c p-exp.c
 	rm -f TAGS $(INFOFILES)
 	rm -f $(YYFILES)
 	rm -f nm.h config.status
@@ -1584,9 +1623,9 @@ ALLDEPFILES = \
 	aarch64-tdep.c aarch64-linux-tdep.c aarch64-newlib-tdep.c \
 	aarch64-linux-nat.c \
 	aix-thread.c \
-	alpha-nat.c alphabsd-nat.c alpha-linux-nat.c \
+	alphabsd-nat.c alpha-linux-nat.c \
 	alpha-tdep.c alpha-mdebug-tdep.c \
-	alpha-linux-tdep.c alpha-osf1-tdep.c \
+	alpha-linux-tdep.c \
 	alphabsd-tdep.c alphafbsd-tdep.c alphanbsd-tdep.c alphaobsd-tdep.c \
 	amd64-nat.c amd64-tdep.c \
 	amd64bsd-nat.c amd64fbsd-nat.c amd64fbsd-tdep.c \
@@ -1605,6 +1644,7 @@ ALLDEPFILES = \
 	dcache.c dicos-tdep.c darwin-nat.c \
 	exec.c \
 	fbsd-nat.c \
+	fbsd-tdep.c \
 	fork-child.c \
 	glibc-tdep.c \
 	go32-nat.c h8300-tdep.c \
@@ -1620,7 +1660,7 @@ ALLDEPFILES = \
 	i387-tdep.c \
 	i386-darwin-tdep.c i386-darwin-nat.c \
 	i386-dicos-tdep.c \
-	i386-linux-tdep.c i386-nat.c \
+	i386-linux-tdep.c x86-nat.c \
 	i386-sol2-nat.c i386-sol2-tdep.c \
 	i386gnu-nat.c i386gnu-tdep.c \
 	ia64-hpux-nat.c ia64-hpux-tdep.c \
@@ -1642,14 +1682,13 @@ ALLDEPFILES = \
 	microblaze-tdep.c microblaze-linux-tdep.c \
 	mingw-hdep.c \
 	mips-linux-nat.c mips-linux-tdep.c \
-	mips-irix-tdep.c \
+	mips-sde-tdep.c \
 	mips-tdep.c \
 	mipsnbsd-nat.c mipsnbsd-tdep.c \
 	mips64obsd-nat.c mips64obsd-tdep.c \
 	msp430-tdep.c \
 	nios2-tdep.c nios2-linux-tdep.c \
 	nbsd-nat.c nbsd-tdep.c obsd-nat.c obsd-tdep.c \
-	solib-osf.c \
 	somread.c solib-som.c \
 	posix-hdep.c \
 	ppc-sysv-tdep.c ppc-linux-nat.c ppc-linux-tdep.c ppc64-tdep.c \
@@ -1670,7 +1709,7 @@ ALLDEPFILES = \
 	ser-go32.c ser-pipe.c ser-tcp.c ser-mingw.c \
 	sh-tdep.c sh64-tdep.c shnbsd-tdep.c shnbsd-nat.c \
 	sol2-tdep.c \
-	solib-irix.c solib-svr4.c \
+	solib-svr4.c \
 	sparc-linux-nat.c sparc-linux-tdep.c \
 	sparc-sol2-nat.c sparc-sol2-tdep.c sparc64-sol2-tdep.c \
 	sparc-nat.c sparc-tdep.c sparc64-linux-nat.c sparc64-linux-tdep.c \
@@ -1682,7 +1721,7 @@ ALLDEPFILES = \
 	spu-linux-nat.c spu-tdep.c spu-multiarch.c solib-spu.c \
 	tilegx-linux-nat.c tilegx-tdep.c tilegx-linux-tdep.c \
 	v850-tdep.c \
-	vax-nat.c vax-tdep.c vaxbsd-nat.c vaxnbsd-tdep.c \
+	vax-tdep.c vaxbsd-nat.c vaxnbsd-tdep.c \
 	windows-nat.c windows-tdep.c \
 	xcoffread.c \
 	xstormy16-tdep.c \
@@ -1819,7 +1858,6 @@ po/$(PACKAGE).pot: force
 	     -e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \
 	     -e 's/\([ \t;,(]\)free$$/\1xfree/g' \
 	     -e '/^#line.*y.tab.c/d' \
-	     -e "s/^\(#line.*\)`basename $<`/\1`echo $<|sed 's/\//\\\\\//g'`/" \
 	  < $@.tmp > $@
 	rm -f $@.tmp
 .l.c:
@@ -1898,6 +1936,39 @@ cli-utils.o: $(srcdir)/cli/cli-utils.c
 	$(COMPILE) $(srcdir)/cli/cli-utils.c
 	$(POSTCOMPILE)
 
+# GCC Compile support dependencies
+#
+# Need to explicitly specify the compile rule as make will do nothing
+# or try to compile the object file into the sub-directory.
+
+compile.o: $(srcdir)/compile/compile.c
+	$(COMPILE) $(srcdir)/compile/compile.c
+	$(POSTCOMPILE)
+
+compile-c-types.o: $(srcdir)/compile/compile-c-types.c
+	$(COMPILE) $(srcdir)/compile/compile-c-types.c
+	$(POSTCOMPILE)
+
+compile-c-symbols.o: $(srcdir)/compile/compile-c-symbols.c
+	$(COMPILE) $(srcdir)/compile/compile-c-symbols.c
+	$(POSTCOMPILE)
+
+compile-object-load.o: $(srcdir)/compile/compile-object-load.c
+	$(COMPILE) $(srcdir)/compile/compile-object-load.c
+	$(POSTCOMPILE)
+
+compile-object-run.o: $(srcdir)/compile/compile-object-run.c
+	$(COMPILE) $(srcdir)/compile/compile-object-run.c
+	$(POSTCOMPILE)
+
+compile-loc2c.o: $(srcdir)/compile/compile-loc2c.c
+	$(COMPILE) $(srcdir)/compile/compile-loc2c.c
+	$(POSTCOMPILE)
+
+compile-c-support.o: $(srcdir)/compile/compile-c-support.c
+	$(COMPILE) $(srcdir)/compile/compile-c-support.c
+	$(POSTCOMPILE)
+
 
 #
 # GDBTK sub-directory
@@ -2124,18 +2195,6 @@ format.o: ${srcdir}/common/format.c
 	$(COMPILE) $(srcdir)/common/format.c
 	$(POSTCOMPILE)
 
-linux-osdata.o: ${srcdir}/common/linux-osdata.c
-	$(COMPILE) $(srcdir)/common/linux-osdata.c
-	$(POSTCOMPILE)
-
-linux-procfs.o: $(srcdir)/common/linux-procfs.c
-	$(COMPILE) $(srcdir)/common/linux-procfs.c
-	$(POSTCOMPILE)
-
-linux-ptrace.o: $(srcdir)/common/linux-ptrace.c
-	$(COMPILE) $(srcdir)/common/linux-ptrace.c
-	$(POSTCOMPILE)
-
 common-agent.o: $(srcdir)/common/agent.c
 	$(COMPILE) $(srcdir)/common/agent.c
 	$(POSTCOMPILE)
@@ -2144,14 +2203,6 @@ vec.o: ${srcdir}/common/vec.c
 	$(COMPILE) $(srcdir)/common/vec.c
 	$(POSTCOMPILE)
 
-linux-btrace.o: ${srcdir}/common/linux-btrace.c
-	$(COMPILE) $(srcdir)/common/linux-btrace.c
-	$(POSTCOMPILE)
-
-mips-linux-watch.o: ${srcdir}/common/mips-linux-watch.c
-	$(COMPILE) $(srcdir)/common/mips-linux-watch.c
-	$(POSTCOMPILE)
-
 print-utils.o: ${srcdir}/common/print-utils.c
 	$(COMPILE) $(srcdir)/common/print-utils.c
 	$(POSTCOMPILE)
@@ -2160,6 +2211,22 @@ rsp-low.o: ${srcdir}/common/rsp-low.c
 	$(COMPILE) $(srcdir)/common/rsp-low.c
 	$(POSTCOMPILE)
 
+errors.o: ${srcdir}/common/errors.c
+	$(COMPILE) $(srcdir)/common/errors.c
+	$(POSTCOMPILE)
+
+common-debug.o: ${srcdir}/common/common-debug.c
+	$(COMPILE) $(srcdir)/common/common-debug.c
+	$(POSTCOMPILE)
+
+cleanups.o: ${srcdir}/common/cleanups.c
+	$(COMPILE) $(srcdir)/common/cleanups.c
+	$(POSTCOMPILE)
+
+common-exceptions.o: ${srcdir}/common/common-exceptions.c
+	$(COMPILE) $(srcdir)/common/common-exceptions.c
+	$(POSTCOMPILE)
+
 #
 # gdb/target/ dependencies
 #
@@ -2175,10 +2242,34 @@ waitstatus.o: ${srcdir}/target/waitstatu
 # Need to explicitly specify the compile rule as make will do nothing
 # or try to compile the object file into the sub-directory.
 
+x86-dregs.o: ${srcdir}/nat/x86-dregs.c
+	$(COMPILE) $(srcdir)/nat/x86-dregs.c
+	$(POSTCOMPILE)
+
+linux-btrace.o: ${srcdir}/nat/linux-btrace.c
+	$(COMPILE) $(srcdir)/nat/linux-btrace.c
+	$(POSTCOMPILE)
+
+linux-osdata.o: ${srcdir}/nat/linux-osdata.c
+	$(COMPILE) $(srcdir)/nat/linux-osdata.c
+	$(POSTCOMPILE)
+
+linux-procfs.o: $(srcdir)/nat/linux-procfs.c
+	$(COMPILE) $(srcdir)/nat/linux-procfs.c
+	$(POSTCOMPILE)
+
+linux-ptrace.o: $(srcdir)/nat/linux-ptrace.c
+	$(COMPILE) $(srcdir)/nat/linux-ptrace.c
+	$(POSTCOMPILE)
+
 linux-waitpid.o: ${srcdir}/nat/linux-waitpid.c
 	$(COMPILE) $(srcdir)/nat/linux-waitpid.c
 	$(POSTCOMPILE)
 
+mips-linux-watch.o: ${srcdir}/nat/mips-linux-watch.c
+	$(COMPILE) $(srcdir)/nat/mips-linux-watch.c
+	$(POSTCOMPILE)
+
 #
 # gdb/tui/ dependencies
 #
@@ -2442,6 +2533,10 @@ py-inferior.o: $(srcdir)/python/py-infer
 	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-inferior.c
 	$(POSTCOMPILE)
 
+py-infevents.o: $(srcdir)/python/py-infevents.c
+	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-infevents.c
+	$(POSTCOMPILE)
+
 py-infthread.o: $(srcdir)/python/py-infthread.c
 	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-infthread.c
 	$(POSTCOMPILE)
@@ -2506,6 +2601,10 @@ py-value.o: $(srcdir)/python/py-value.c
 	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-value.c
 	$(POSTCOMPILE)
 
+py-varobj.o: $(srcdir)/python/py-varobj.c
+	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-varobj.c
+	$(POSTCOMPILE)
+
 #
 # Dependency tracking.  Most of this is conditional on GNU Make being
 # found by configure; if GNU Make is not found, we fall back to a
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/make-target-delegates ./gdb/make-target-delegates
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/make-target-delegates	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/make-target-delegates	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
@@ -31,10 +31,10 @@
 $SYMBOL = qr,[a-zA-Z_][a-zA-Z0-9_]*,;
 # Match the name part of a method in struct target_ops.
 $NAME_PART = qr,\(\*(?<name>${SYMBOL}+)\)\s,;
-# Match the start of arguments to a method.
-$ARGS_PART = qr,(?<args>\(.*)$,;
-# Match indentation.
-$INTRO_PART = qr,^\s*,;
+# Match the arguments to a method.
+$ARGS_PART = qr,(?<args>\(.*\)),;
+# We strip the indentation so here we only need the caret.
+$INTRO_PART = qr,^,;
 
 # Match the return type when it is "ordinary".
 $SIMPLE_RETURN_PART = qr,[^\(]+,;
@@ -44,17 +44,27 @@
 # Match the TARGET_DEFAULT_* attribute for a method.
 $TARGET_DEFAULT_PART = qr,TARGET_DEFAULT_(?<style>[A-Z_]+)\s*\((?<default_arg>.*)\),;
 
-# Match the introductory line to a method definition.
+# Match the arguments and trailing attribute of a method definition.
+# Note we don't match the trailing ";".
+$METHOD_TRAILER = qr,\s*${TARGET_DEFAULT_PART}$,;
+
+# Match an entire method definition.
 $METHOD = ($INTRO_PART . "(?<return_type>" . $SIMPLE_RETURN_PART
 	   . "|" . $VEC_RETURN_PART . ")"
-	   . $NAME_PART . $ARGS_PART);
+	   . $NAME_PART . $ARGS_PART
+	   . $METHOD_TRAILER);
 
-# Match the arguments and trailing attribute of a method definition.
-$METHOD_TRAILER = qr,(?<args>\(.+\))\s*${TARGET_DEFAULT_PART};$,;
+# Match TARGET_DEBUG_PRINTER in an argument type.
+# This must match the whole "sub-expression" including the parens.
+# Reference $1 must refer to the function argument.
+$TARGET_DEBUG_PRINTER = qr,\s*TARGET_DEBUG_PRINTER\s*\(([^)]*)\)\s*,;
 
 sub trim($) {
     my ($result) = @_;
-    $result =~ s,^\s*(\S*)\s*$,\1,;
+
+    $result =~ s,^\s+,,;
+    $result =~ s,\s+$,,;
+
     return $result;
 }
 
@@ -69,6 +79,30 @@ sub find_trigger() {
     die "could not find trigger line\n";
 }
 
+# Scan target.h and return a list of possible target_ops method entries.
+sub scan_target_h() {
+    my $all_the_text = '';
+
+    find_trigger();
+    while (<>) {
+	chomp;
+	# Skip the open brace.
+	next if /{/;
+	last if m/$ENDER/;
+
+	# Just in case somebody ever uses C99.
+	$_ =~ s,//.*$,,;
+	$_ = trim ($_);
+
+	$all_the_text .= $_;
+    }
+
+    # Now strip out the C comments.
+    $all_the_text =~ s,/\*(.*?)\*/,,g;
+
+    return split (/;/, $all_the_text);
+}
+
 # Parse arguments into a list.
 sub parse_argtypes($) {
     my ($typestr) = @_;
@@ -115,6 +149,8 @@ sub write_function_header($$@) {
     foreach $iter (@argtypes) {
 	my $val = $iter;
 
+	$val =~ s/$TARGET_DEBUG_PRINTER//;
+
 	if ($iter !~ m,\*$,) {
 	    $val .= ' ';
 	}
@@ -188,50 +224,111 @@ sub write_tdefault($$$$@) {
     return tdname ($name);
 }
 
+sub munge_type($) {
+    my ($typename) = @_;
+    my ($result);
+
+    if ($typename =~ m/$TARGET_DEBUG_PRINTER/) {
+	$result = $1;
+    } else {
+	($result = $typename) =~ s/\s+$//;
+	$result =~ s/[ ()]/_/g;
+	$result =~ s/[*]/p/g;
+	$result = 'target_debug_print_' . $result;
+    }
+
+    return $result;
+}
+
+# Write out a debug method.
+sub write_debugmethod($$$$@) {
+    my ($content, $style, $name, $return_type, @argtypes) = @_;
+
+    my ($debugname) = $name;
+    $debugname =~ s/to_/debug_/;
+    my ($targetname) = $name;
+    $targetname =~ s/to_/target_/;
+
+    my (@names) = write_function_header ($debugname, $return_type, @argtypes);
+
+    if ($return_type ne 'void') {
+	print "  $return_type result;\n";
+    }
+
+    print "  fprintf_unfiltered (gdb_stdlog, \"-> %s->$name (...)\\n\", debug_target.to_shortname);\n";
+
+    # Delegate to the beneath target.
+    print "  ";
+    if ($return_type ne 'void') {
+	print "result = ";
+    }
+    print "debug_target." . $name . " (";
+    my @names2 = @names;
+    @names2[0] = "&debug_target";
+    print join (', ', @names2);
+    print ");\n";
+
+    # Now print the arguments.
+    print "  fprintf_unfiltered (gdb_stdlog, \"<- %s->$name (\", debug_target.to_shortname);\n";
+    for my $i (0 .. $#argtypes) {
+	print "  fputs_unfiltered (\", \", gdb_stdlog);\n" if $i > 0;
+	my $printer = munge_type ($argtypes[$i]);
+	print "  $printer ($names2[$i]);\n";
+    }
+    if ($return_type ne 'void') {
+	print "  fputs_unfiltered (\") = \", gdb_stdlog);\n";
+	my $printer = munge_type ($return_type);
+	print "  $printer (result);\n";
+	print "  fputs_unfiltered (\"\\n\", gdb_stdlog);\n";
+    } else {
+	print "  fputs_unfiltered (\")\\n\", gdb_stdlog);\n";
+    }
+
+    if ($return_type ne 'void') {
+	print "  return result;\n";
+    }
+
+    print "}\n\n";
+
+    return $debugname;
+}
+
 print "/* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */\n";
 print "/* vi:set ro: */\n\n";
 print "/* To regenerate this file, run:*/\n";
 print "/*      make-target-delegates target.h > target-delegates.c */\n";
 
-find_trigger();
+@lines = scan_target_h();
+
 
 %tdefault_names = ();
+%debug_names = ();
 @delegators = ();
-$current_line = '';
-while (<>) {
-    chomp;
-    last if m/$ENDER/;
-
-    if ($current_line ne '') {
-	s/^\s*//;
-	$current_line .= $_;
-    } elsif (m/$METHOD/) {
-	$name = $+{name};
-	$current_line = $+{args};
-	$return_type = trim ($+{return_type});
-    }
-
-    if ($current_line =~ /\);\s*$/) {
-	if ($current_line =~ m,$METHOD_TRAILER,) {
-	    $current_args = $+{args};
-	    $tdefault = $+{default_arg};
-	    $style = $+{style};
-
-	    @argtypes = parse_argtypes ($current_args);
-
-	    # The first argument must be "this" to be delegatable.
-	    if ($argtypes[0] =~ /\s*struct\s+target_ops\s*\*\s*/) {
-		write_delegator ($name, $return_type, @argtypes);
-
-		push @delegators, $name;
-
-		$tdefault_names{$name} = write_tdefault ($tdefault, $style,
-							 $name, $return_type,
-							 @argtypes);
-	    }
-	}
+foreach $current_line (@lines) {
+    next unless $current_line =~ m/$METHOD/;
 
-	$current_line = '';
+    $name = $+{name};
+    $current_line = $+{args};
+    $return_type = trim ($+{return_type});
+    $current_args = $+{args};
+    $tdefault = $+{default_arg};
+    $style = $+{style};
+
+    @argtypes = parse_argtypes ($current_args);
+
+    # The first argument must be "this" to be delegatable.
+    if ($argtypes[0] =~ /\s*struct\s+target_ops\s*\*\s*/) {
+	write_delegator ($name, $return_type, @argtypes);
+
+	push @delegators, $name;
+
+	$tdefault_names{$name} = write_tdefault ($tdefault, $style,
+						 $name, $return_type,
+						 @argtypes);
+
+	$debug_names{$name} = write_debugmethod ($tdefault, $style,
+						 $name, $return_type,
+						 @argtypes);
     }
 }
 
@@ -250,4 +347,11 @@ print "static void\ninstall_dummy_method
 for $iter (@delegators) {
     print "  ops->" . $iter . " = " . $tdefault_names{$iter} . ";\n";
 }
+print "}\n\n";
+
+# The debug method code.
+print "static void\ninit_debug_target (struct target_ops *ops)\n{\n";
+for $iter (@delegators) {
+    print "  ops->" . $iter . " = " . $debug_names{$iter} . ";\n";
+}
 print "}\n";
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mdebugread.c ./gdb/mdebugread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mdebugread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mdebugread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Read a symbol table in ECOFF format (Third-Eye).
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    Original version contributed by Alessandro Forin (af@cs.cmu.edu) at
    CMU.  Major work by Per Bothner, John Gilmore and Ian Lance Taylor
@@ -51,12 +51,10 @@
 #include "complaints.h"
 #include "demangle.h"
 #include "gdb-demangle.h"
-#include "gdb_assert.h"
 #include "block.h"
 #include "dictionary.h"
 #include "mdebugread.h"
 #include <sys/stat.h>
-#include <string.h>
 #include "psympriv.h"
 #include "source.h"
 
@@ -239,7 +237,7 @@ enum block_type { FUNCTION_BLOCK, NON_FU
 
 static struct block *new_block (enum block_type);
 
-static struct symtab *new_symtab (const char *, int, struct objfile *);
+static struct compunit_symtab *new_symtab (const char *, int, struct objfile *);
 
 static struct linetable *new_linetable (int);
 
@@ -248,8 +246,8 @@ static struct blockvector *new_bvect (in
 static struct type *parse_type (int, union aux_ext *, unsigned int, int *,
 				int, char *);
 
-static struct symbol *mylookup_symbol (char *, struct block *, domain_enum,
-				       enum address_class);
+static struct symbol *mylookup_symbol (char *, const struct block *,
+				       domain_enum, enum address_class);
 
 static void sort_blocks (struct symtab *);
 
@@ -603,7 +601,7 @@ parse_symbol (SYMR *sh, union aux_ext *a
 
     case stGlobal:		/* External symbol, goes into global block.  */
       class = LOC_STATIC;
-      b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (top_stack->cur_st),
+      b = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (top_stack->cur_st),
 			     GLOBAL_BLOCK);
       s = new_symbol (name);
       SYMBOL_VALUE_ADDRESS (s) = (CORE_ADDR) sh->value;
@@ -756,7 +754,8 @@ parse_symbol (SYMR *sh, union aux_ext *a
       b = top_stack->cur_block;
       if (sh->st == stProc)
 	{
-	  struct blockvector *bv = BLOCKVECTOR (top_stack->cur_st);
+	  const struct blockvector *bv
+	    = SYMTAB_BLOCKVECTOR (top_stack->cur_st);
 
 	  /* The next test should normally be true, but provides a
 	     hook for nested functions (which we don't want to make
@@ -1131,7 +1130,8 @@ parse_symbol (SYMR *sh, union aux_ext *a
 		top_stack->blocktype == stStaticProc))
 	{
 	  /* Finished with procedure */
-	  struct blockvector *bv = BLOCKVECTOR (top_stack->cur_st);
+	  const struct blockvector *bv
+	    = SYMTAB_BLOCKVECTOR (top_stack->cur_st);
 	  struct mdebug_extra_func_info *e;
 	  struct block *b = top_stack->cur_block;
 	  struct type *ftype = top_stack->cur_type;
@@ -1921,14 +1921,12 @@ upgrade_type (int fd, struct type **tpp,
    to look for the function which contains the MDEBUG_EFI_SYMBOL_NAME symbol
    in question, or NULL to use top_stack->cur_block.  */
 
-static void parse_procedure (PDR *, struct symtab *, struct partial_symtab *);
-
 static void
-parse_procedure (PDR *pr, struct symtab *search_symtab,
+parse_procedure (PDR *pr, struct compunit_symtab *search_symtab,
 		 struct partial_symtab *pst)
 {
   struct symbol *s, *i;
-  struct block *b;
+  const struct block *b;
   char *sh_name;
 
   /* Simple rule to find files linked "-x".  */
@@ -1986,7 +1984,8 @@ parse_procedure (PDR *pr, struct symtab 
 #else
       s = mylookup_symbol
 	(sh_name,
-	 BLOCKVECTOR_BLOCK (BLOCKVECTOR (search_symtab), STATIC_BLOCK),
+	 BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (search_symtab),
+			    STATIC_BLOCK),
 	 VAR_DOMAIN,
 	 LOC_BLOCK);
 #endif
@@ -3931,7 +3930,7 @@ psymtab_to_symtab_1 (struct objfile *obj
   void (*swap_sym_in) (bfd *, void *, SYMR *);
   void (*swap_pdr_in) (bfd *, void *, PDR *);
   int i;
-  struct symtab *st = NULL;
+  struct compunit_symtab *cust = NULL;
   FDR *fh;
   struct linetable *lines;
   CORE_ADDR lowest_pdr_addr = 0;
@@ -4055,8 +4054,7 @@ psymtab_to_symtab_1 (struct objfile *obj
 		      valu += ANOFFSET (pst->section_offsets,
 					SECT_OFF_TEXT (objfile));
 		      previous_stab_code = N_SO;
-		      st = end_symtab (valu, objfile,
-				       SECT_OFF_TEXT (objfile));
+		      cust = end_symtab (valu, SECT_OFF_TEXT (objfile));
 		      end_stabs ();
 		      last_symtab_ended = 1;
 		    }
@@ -4120,8 +4118,7 @@ psymtab_to_symtab_1 (struct objfile *obj
 
       if (! last_symtab_ended)
 	{
-	  st = end_symtab (pst->texthigh, objfile,
-			   SECT_OFF_TEXT (objfile));
+	  cust = end_symtab (pst->texthigh, SECT_OFF_TEXT (objfile));
 	  end_stabs ();
 	}
 
@@ -4165,7 +4162,7 @@ psymtab_to_symtab_1 (struct objfile *obj
 	  pdr_in = pr_block;
 	  pdr_in_end = pdr_in + fh->cpd;
 	  for (; pdr_in < pdr_in_end; pdr_in++)
-	    parse_procedure (pdr_in, st, pst);
+	    parse_procedure (pdr_in, cust, pst);
 
 	  do_cleanups (old_chain);
 	}
@@ -4180,28 +4177,28 @@ psymtab_to_symtab_1 (struct objfile *obj
       if (fh == 0)
 	{
 	  maxlines = 0;
-	  st = new_symtab ("unknown", 0, objfile);
+	  cust = new_symtab ("unknown", 0, objfile);
 	}
       else
 	{
 	  maxlines = 2 * fh->cline;
-	  st = new_symtab (pst->filename, maxlines, objfile);
+	  cust = new_symtab (pst->filename, maxlines, objfile);
 
 	  /* The proper language was already determined when building
 	     the psymtab, use it.  */
-	  st->language = PST_PRIVATE (pst)->pst_language;
+	  COMPUNIT_FILETABS (cust)->language = PST_PRIVATE (pst)->pst_language;
 	}
 
-      psymtab_language = st->language;
+      psymtab_language = COMPUNIT_FILETABS (cust)->language;
 
-      lines = LINETABLE (st);
+      lines = SYMTAB_LINETABLE (COMPUNIT_FILETABS (cust));
 
       /* Get a new lexical context.  */
 
       push_parse_stack ();
-      top_stack->cur_st = st;
-      top_stack->cur_block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (st),
-						STATIC_BLOCK);
+      top_stack->cur_st = COMPUNIT_FILETABS (cust);
+      top_stack->cur_block
+	= BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust), STATIC_BLOCK);
       BLOCK_START (top_stack->cur_block) = pst->textlow;
       BLOCK_END (top_stack->cur_block) = 0;
       top_stack->blocktype = stFile;
@@ -4275,7 +4272,7 @@ psymtab_to_symtab_1 (struct objfile *obj
 	      pdr_in = pr_block;
 	      pdr_in_end = pdr_in + fh->cpd;
 	      for (; pdr_in < pdr_in_end; pdr_in++)
-		parse_procedure (pdr_in, 0, pst);
+		parse_procedure (pdr_in, NULL, pst);
 
 	      do_cleanups (old_chain);
 	    }
@@ -4284,18 +4281,19 @@ psymtab_to_symtab_1 (struct objfile *obj
       size = lines->nitems;
       if (size > 1)
 	--size;
-      LINETABLE (st) = obstack_copy (&mdebugread_objfile->objfile_obstack,
-				     lines,
-				     (sizeof (struct linetable)
-				      + size * sizeof (lines->item)));
+      SYMTAB_LINETABLE (COMPUNIT_FILETABS (cust))
+	= obstack_copy (&mdebugread_objfile->objfile_obstack,
+			lines,
+			(sizeof (struct linetable)
+			 + size * sizeof (lines->item)));
       xfree (lines);
 
       /* .. and our share of externals.
          XXX use the global list to speed up things here.  How?
          FIXME, Maybe quit once we have found the right number of ext's?  */
-      top_stack->cur_st = st;
+      top_stack->cur_st = COMPUNIT_FILETABS (cust);
       top_stack->cur_block
-	= BLOCKVECTOR_BLOCK (BLOCKVECTOR (top_stack->cur_st),
+	= BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (top_stack->cur_st),
 			     GLOBAL_BLOCK);
       top_stack->blocktype = stFile;
 
@@ -4310,7 +4308,8 @@ psymtab_to_symtab_1 (struct objfile *obj
       if (info_verbose && n_undef_symbols)
 	{
 	  printf_filtered (_("File %s contains %d unresolved references:"),
-			   symtab_to_filename_for_display (st),
+			   symtab_to_filename_for_display
+			     (COMPUNIT_FILETABS (cust)),
 			   n_undef_symbols);
 	  printf_filtered ("\n\t%4d variables\n\t%4d "
 			   "procedures\n\t%4d labels\n",
@@ -4320,13 +4319,11 @@ psymtab_to_symtab_1 (struct objfile *obj
 	}
       pop_parse_stack ();
 
-      set_symtab_primary (st, 1);
-
-      sort_blocks (st);
+      sort_blocks (COMPUNIT_FILETABS (cust));
     }
 
   /* Now link the psymtab and the symtab.  */
-  pst->symtab = st;
+  pst->compunit_symtab = cust;
 
   mdebugread_objfile = NULL;
 }
@@ -4570,7 +4567,7 @@ cross_ref (int fd, union aux_ext *ax, st
    keeping the symtab sorted.  */
 
 static struct symbol *
-mylookup_symbol (char *name, struct block *block,
+mylookup_symbol (char *name, const struct block *block,
 		 domain_enum domain, enum address_class class)
 {
   struct block_iterator iter;
@@ -4599,7 +4596,7 @@ mylookup_symbol (char *name, struct bloc
 static void
 add_symbol (struct symbol *s, struct symtab *symtab, struct block *b)
 {
-  SYMBOL_SYMTAB (s) = symtab;
+  symbol_set_symtab (s, symtab);
   dict_add_symbol (BLOCK_DICT (b), s);
 }
 
@@ -4608,14 +4605,16 @@ add_symbol (struct symbol *s, struct sym
 static void
 add_block (struct block *b, struct symtab *s)
 {
-  struct blockvector *bv = BLOCKVECTOR (s);
+  /* Cast away "const", but that's ok because we're building the
+     symtab and blockvector here.  */
+  struct blockvector *bv = (struct blockvector *) SYMTAB_BLOCKVECTOR (s);
 
   bv = (struct blockvector *) xrealloc ((void *) bv,
 					(sizeof (struct blockvector)
 					 + BLOCKVECTOR_NBLOCKS (bv)
 					 * sizeof (bv->block)));
-  if (bv != BLOCKVECTOR (s))
-    BLOCKVECTOR (s) = bv;
+  if (bv != SYMTAB_BLOCKVECTOR (s))
+    SYMTAB_BLOCKVECTOR (s) = bv;
 
   BLOCKVECTOR_BLOCK (bv, BLOCKVECTOR_NBLOCKS (bv)++) = b;
 }
@@ -4677,7 +4676,9 @@ compare_blocks (const void *arg1, const 
 static void
 sort_blocks (struct symtab *s)
 {
-  struct blockvector *bv = BLOCKVECTOR (s);
+  /* We have to cast away const here, but this is ok because we're
+     constructing the blockvector in this code.  */
+  struct blockvector *bv = (struct blockvector *) SYMTAB_BLOCKVECTOR (s);
 
   if (BLOCKVECTOR_NBLOCKS (bv) <= FIRST_LOCAL_BLOCK)
     {
@@ -4725,24 +4726,28 @@ sort_blocks (struct symtab *s)
 /* Allocate a new symtab for NAME.  Needs an estimate of how many
    linenumbers MAXLINES we'll put in it.  */
 
-static struct symtab *
+static struct compunit_symtab *
 new_symtab (const char *name, int maxlines, struct objfile *objfile)
 {
-  struct symtab *s = allocate_symtab (name, objfile);
+  struct compunit_symtab *cust = allocate_compunit_symtab (objfile, name);
+  struct symtab *symtab;
+  struct blockvector *bv;
+
+  add_compunit_symtab_to_objfile (cust);
+  symtab = allocate_symtab (cust, name);
 
-  LINETABLE (s) = new_linetable (maxlines);
+  SYMTAB_LINETABLE (symtab) = new_linetable (maxlines);
 
   /* All symtabs must have at least two blocks.  */
-  BLOCKVECTOR (s) = new_bvect (2);
-  BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK)
-    = new_block (NON_FUNCTION_BLOCK);
-  BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK)
-    = new_block (NON_FUNCTION_BLOCK);
-  BLOCK_SUPERBLOCK (BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK)) =
-    BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK);
+  bv = new_bvect (2);
+  BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK) = new_block (NON_FUNCTION_BLOCK);
+  BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK) = new_block (NON_FUNCTION_BLOCK);
+  BLOCK_SUPERBLOCK (BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK)) =
+    BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
+  COMPUNIT_BLOCKVECTOR (cust) = bv;
 
-  s->debugformat = "ECOFF";
-  return (s);
+  COMPUNIT_DEBUGFORMAT (cust) = "ECOFF";
+  return cust;
 }
 
 /* Allocate a new partial_symtab NAME.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mdebugread.h ./gdb/mdebugread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mdebugread.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mdebugread.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Read a symbol table in ECOFF format (Third-Eye).
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memattr.c ./gdb/memattr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memattr.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/memattr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Memory attributes support, for GDB.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,7 +26,6 @@
 #include "value.h"
 #include "language.h"
 #include "vec.h"
-#include <string.h>
 #include "breakpoint.h"
 #include "cli/cli-utils.h"
 
@@ -448,9 +447,9 @@ mem_info_command (char *args, int from_t
 		       m->number,
 		       m->enabled_p ? 'y' : 'n');
       if (gdbarch_addr_bit (target_gdbarch ()) <= 32)
-	tmp = hex_string_custom ((unsigned long) m->lo, 8);
+	tmp = hex_string_custom (m->lo, 8);
       else
-	tmp = hex_string_custom ((unsigned long) m->lo, 16);
+	tmp = hex_string_custom (m->lo, 16);
       
       printf_filtered ("%s ", tmp);
 
@@ -459,14 +458,14 @@ mem_info_command (char *args, int from_t
 	  if (m->hi == 0)
 	    tmp = "0x100000000";
 	  else
-	    tmp = hex_string_custom ((unsigned long) m->hi, 8);
+	    tmp = hex_string_custom (m->hi, 8);
 	}
       else
 	{
 	  if (m->hi == 0)
 	    tmp = "0x10000000000000000";
 	  else
-	    tmp = hex_string_custom ((unsigned long) m->hi, 16);
+	    tmp = hex_string_custom (m->hi, 16);
 	}
 
       printf_filtered ("%s ", tmp);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memattr.h ./gdb/memattr.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memattr.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/memattr.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Memory attributes support, for GDB.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mem-break.c ./gdb/mem-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mem-break.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mem-break.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulate breakpoints by patching locations in the target system, for GDB.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.  Written by John Gilmore.
 
@@ -24,9 +24,6 @@
 #include "breakpoint.h"
 #include "inferior.h"
 #include "target.h"
-#include <string.h>
-
-
 /* Insert a breakpoint on targets that don't have any better
    breakpoint support.  We read the contents of the target location
    and stash it, then overwrite it with a breakpoint instruction.
@@ -40,27 +37,29 @@ int
 default_memory_insert_breakpoint (struct gdbarch *gdbarch,
 				  struct bp_target_info *bp_tgt)
 {
-  int val;
+  CORE_ADDR addr = bp_tgt->reqstd_address;
   const unsigned char *bp;
   gdb_byte *readbuf;
+  int bplen;
+  int val;
 
   /* Determine appropriate breakpoint contents and size for this address.  */
-  bp = gdbarch_breakpoint_from_pc
-       (gdbarch, &bp_tgt->placed_address, &bp_tgt->placed_size);
+  bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
   if (bp == NULL)
     error (_("Software breakpoints not implemented for this target."));
 
+  bp_tgt->placed_address = addr;
+  bp_tgt->placed_size = bplen;
+
   /* Save the memory contents in the shadow_contents buffer and then
      write the breakpoint instruction.  */
-  bp_tgt->shadow_len = bp_tgt->placed_size;
-  readbuf = alloca (bp_tgt->placed_size);
-  val = target_read_memory (bp_tgt->placed_address, readbuf,
-			    bp_tgt->placed_size);
+  bp_tgt->shadow_len = bplen;
+  readbuf = alloca (bplen);
+  val = target_read_memory (addr, readbuf, bplen);
   if (val == 0)
     {
-      memcpy (bp_tgt->shadow_contents, readbuf, bp_tgt->placed_size);
-      val = target_write_raw_memory (bp_tgt->placed_address, bp,
-				     bp_tgt->placed_size);
+      memcpy (bp_tgt->shadow_contents, readbuf, bplen);
+      val = target_write_raw_memory (addr, bp, bplen);
     }
 
   return val;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memory-map.c ./gdb/memory-map.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memory-map.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/memory-map.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Routines for handling XML memory maps provided by target.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,10 +19,6 @@
 
 #include "defs.h"
 #include "memory-map.h"
-#include "gdb_assert.h"
-#include "exceptions.h"
-
-#include <string.h>
 
 #if !defined(HAVE_LIBEXPAT)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memory-map.h ./gdb/memory-map.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memory-map.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/memory-map.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Routines for handling XML memory maps provided by target.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memrange.c ./gdb/memrange.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memrange.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/memrange.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Memory ranges
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,6 +31,15 @@ mem_ranges_overlap (CORE_ADDR start1, in
   return (l < h);
 }
 
+/* See memrange.h.  */
+
+int
+address_in_mem_range (CORE_ADDR address, const struct mem_range *r)
+{
+  return (r->start <= address
+	  && (address - r->start) < r->length);
+}
+
 /* qsort comparison function, that compares mem_ranges.  Ranges are
    sorted in ascending START order.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memrange.h ./gdb/memrange.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/memrange.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/memrange.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* The memory range data structure, and associated utilities.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -43,6 +43,11 @@ DEF_VEC_O(mem_range_s);
 extern int mem_ranges_overlap (CORE_ADDR start1, int len1,
 			       CORE_ADDR start2, int len2);
 
+/* Returns true if ADDR is in RANGE.  */
+
+extern int address_in_mem_range (CORE_ADDR addr,
+				 const struct mem_range *range);
+
 /* Sort ranges by start address, then coalesce contiguous or
    overlapping ranges.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mep-tdep.c ./gdb/mep-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mep-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mep-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Toshiba MeP for GDB, the GNU debugger.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat, Inc.
 
@@ -27,7 +27,6 @@
 #include "gdbtypes.h"
 #include "gdbcmd.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "value.h"
 #include "inferior.h"
 #include "dis-asm.h"
@@ -48,8 +47,6 @@
 #include "cgen/bitset.h"
 #include "infcall.h"
 
-#include "gdb_assert.h"
-
 /* Get the user's customized MeP coprocessor register names from
    libopcodes.  */
 #include "opcodes/mep-desc.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-break.c ./gdb/mi/mi-cmd-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-break.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-break.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - breakpoint and watchpoint commands.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
@@ -23,10 +23,8 @@
 #include "ui-out.h"
 #include "mi-out.h"
 #include "breakpoint.h"
-#include <string.h>
 #include "mi-getopt.h"
 #include "gdb.h"
-#include "exceptions.h"
 #include "observer.h"
 #include "mi-main.h"
 #include "mi-cmd-break.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-break.h ./gdb/mi/mi-cmd-break.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-break.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-break.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - breakpoint and watchpoint commands.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corporation.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-catch.c ./gdb/mi/mi-cmd-catch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-catch.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-catch.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - catch commands.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corporation.
 
@@ -22,7 +22,6 @@
 #include "arch-utils.h"
 #include "breakpoint.h"
 #include "gdb.h"
-#include "libiberty.h"
 #include "ada-lang.h"
 #include "mi-cmds.h"
 #include "mi-getopt.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-disas.c ./gdb/mi/mi-cmd-disas.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-disas.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-disas.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - disassemble commands.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
@@ -23,7 +23,6 @@
 #include "value.h"
 #include "mi-cmds.h"
 #include "mi-getopt.h"
-#include <string.h>
 #include "ui-out.h"
 #include "disasm.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-env.c ./gdb/mi/mi-cmd-env.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-env.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-env.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - environment commands.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat Inc.
 
@@ -30,8 +30,6 @@
 #include "command.h"
 #include "ui-out.h"
 #include "top.h"
-
-#include <string.h>
 #include <sys/stat.h>
 
 static void env_mod_path (char *dirname, char **which_path);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-file.c ./gdb/mi/mi-cmd-file.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-file.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-file.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - file commands.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
@@ -55,7 +55,9 @@ mi_cmd_file_list_exec_source_file (char 
 
   ui_out_field_string (uiout, "fullname", symtab_to_fullname (st.symtab));
 
-  ui_out_field_int (uiout, "macro-info", st.symtab->macro_table ? 1 : 0);
+  ui_out_field_int (uiout, "macro-info",
+		    COMPUNIT_MACRO_TABLE
+		      (SYMTAB_COMPUNIT (st.symtab)) != NULL);
 }
 
 /* A callback for map_partial_symbol_filenames.  */
@@ -80,6 +82,7 @@ void
 mi_cmd_file_list_exec_source_files (char *command, char **argv, int argc)
 {
   struct ui_out *uiout = current_uiout;
+  struct compunit_symtab *cu;
   struct symtab *s;
   struct objfile *objfile;
 
@@ -89,8 +92,8 @@ mi_cmd_file_list_exec_source_files (char
   /* Print the table header.  */
   ui_out_begin (uiout, ui_out_type_list, "files");
 
-  /* Look at all of the symtabs.  */
-  ALL_SYMTABS (objfile, s)
+  /* Look at all of the file symtabs.  */
+  ALL_FILETABS (objfile, cu, s)
   {
     ui_out_begin (uiout, ui_out_type_tuple, NULL);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-info.c ./gdb/mi/mi-cmd-info.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-info.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-info.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - information commands.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmds.c ./gdb/mi/mi-cmds.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmds.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmds.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set for GDB, the GNU debugger.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions (a Red Hat company).
 
@@ -21,7 +21,6 @@
 #include "defs.h"
 #include "top.h"
 #include "mi-cmds.h"
-#include <string.h>
 #include "mi-main.h"
 
 extern void _initialize_mi_cmds (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmds.h ./gdb/mi/mi-cmds.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmds.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmds.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* MI Command Set for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions (a Red Hat company).
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-stack.c ./gdb/mi/mi-cmd-stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-stack.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-stack.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - stack commands.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
@@ -27,10 +27,8 @@
 #include "block.h"
 #include "stack.h"
 #include "dictionary.h"
-#include <string.h>
 #include "language.h"
 #include "valprint.h"
-#include "exceptions.h"
 #include "utils.h"
 #include "mi-getopt.h"
 #include "extension.h"
@@ -559,7 +557,7 @@ static void
 list_args_or_locals (enum what_to_list what, enum print_values values,
 		     struct frame_info *fi, int skip_unavailable)
 {
-  struct block *block;
+  const struct block *block;
   struct symbol *sym;
   struct block_iterator iter;
   struct cleanup *cleanup_list;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-target.c ./gdb/mi/mi-cmd-target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-target.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-target.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - target commands.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-var.c ./gdb/mi/mi-cmd-var.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-cmd-var.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-cmd-var.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - varobj commands.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions (a Red Hat company).
 
@@ -27,7 +27,6 @@
 #include "language.h"
 #include "value.h"
 #include <ctype.h>
-#include <string.h>
 #include "mi-getopt.h"
 #include "gdbthread.h"
 #include "mi-parse.h"
@@ -88,7 +87,7 @@ print_varobj (struct varobj *var, enum p
       xfree (display_hint);
     }
 
-  if (varobj_pretty_printed_p (var))
+  if (varobj_is_dynamic_p (var))
     ui_out_field_int (uiout, "dynamic", 1);
 }
 
@@ -352,7 +351,7 @@ mi_print_value_p (struct varobj *var, en
   if (print_values == PRINT_ALL_VALUES)
     return 1;
 
-  if (varobj_pretty_printed_p (var))
+  if (varobj_is_dynamic_p (var))
     return 1;
 
   type = varobj_get_gdb_type (var);
@@ -642,7 +641,9 @@ mi_cmd_var_update_iter (struct varobj *v
 
   thread_id = varobj_get_thread_id (var);
 
-  if (thread_id == -1 && is_stopped (inferior_ptid))
+  if (thread_id == -1
+      && (ptid_equal (inferior_ptid, null_ptid)
+	  || is_stopped (inferior_ptid)))
     thread_stopped = 1;
   else
     {
@@ -777,7 +778,7 @@ varobj_update_one (struct varobj *var, e
 	  xfree (display_hint);
 	}
 
-      if (varobj_pretty_printed_p (r->varobj))
+      if (varobj_is_dynamic_p (r->varobj))
 	ui_out_field_int (uiout, "dynamic", 1);
 
       varobj_get_child_range (r->varobj, &from, &to);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-common.c ./gdb/mi/mi-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-common.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-common.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface for common GDB/MI data
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,7 +17,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "gdb_assert.h"
 #include "mi-common.h"
 
 static const char * const async_reason_string_lookup[] =
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-common.h ./gdb/mi/mi-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-common.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-common.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface for common GDB/MI data
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-console.c ./gdb/mi/mi-console.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-console.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-console.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* MI Console code.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions (a Red Hat company).
 
@@ -26,8 +26,6 @@
 
 #include "defs.h"
 #include "mi-console.h"
-#include <string.h>
-
 static ui_file_fputs_ftype mi_console_file_fputs;
 static ui_file_flush_ftype mi_console_file_flush;
 static ui_file_delete_ftype mi_console_file_delete;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-console.h ./gdb/mi/mi-console.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-console.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-console.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - MI Console.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-getopt.c ./gdb/mi/mi-getopt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-getopt.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-getopt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - MI Option Parser.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
@@ -19,8 +19,6 @@
 
 #include "defs.h"
 #include "mi-getopt.h"
-#include <string.h>
-
 /* See comments about mi_getopt and mi_getopt_silent in mi-getopt.h.
    When there is an unknown option, if ERROR_ON_UNKNOWN is true,
    throw an error, otherwise return -1.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-getopt.h ./gdb/mi/mi-getopt.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-getopt.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-getopt.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Option Parser.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-interp.c ./gdb/mi/mi-interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-interp.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-interp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* MI Interpreter Definitions and Commands for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "interps.h"
 #include "event-top.h"
 #include "event-loop.h"
@@ -26,7 +25,6 @@
 #include "infrun.h"
 #include "ui-out.h"
 #include "top.h"
-#include "exceptions.h"
 #include "mi-main.h"
 #include "mi-cmds.h"
 #include "mi-out.h"
@@ -373,7 +371,7 @@ static void
 mi_new_thread (struct thread_info *t)
 {
   struct mi_interp *mi = top_level_interpreter_data ();
-  struct inferior *inf = find_inferior_pid (ptid_get_pid (t->ptid));
+  struct inferior *inf = find_inferior_ptid (t->ptid);
 
   gdb_assert (inf);
 
@@ -388,18 +386,22 @@ mi_thread_exit (struct thread_info *t, i
 {
   struct mi_interp *mi;
   struct inferior *inf;
+  struct cleanup *old_chain;
 
   if (silent)
     return;
 
-  inf = find_inferior_pid (ptid_get_pid (t->ptid));
+  inf = find_inferior_ptid (t->ptid);
 
   mi = top_level_interpreter_data ();
+  old_chain = make_cleanup_restore_target_terminal ();
   target_terminal_ours ();
   fprintf_unfiltered (mi->event_channel, 
 		      "thread-exited,id=\"%d\",group-id=\"i%d\"",
 		      t->num, inf->num);
   gdb_flush (mi->event_channel);
+
+  do_cleanups (old_chain);
 }
 
 /* Emit notification on changing the state of record.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-main.c ./gdb/mi/mi-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-main.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* MI Command Set.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions (a Red Hat company).
 
@@ -24,8 +24,6 @@
 #include "target.h"
 #include "inferior.h"
 #include "infrun.h"
-#include <string.h>
-#include "exceptions.h"
 #include "top.h"
 #include "gdbthread.h"
 #include "mi-cmds.h"
@@ -253,7 +251,7 @@ proceed_thread (struct thread_info *thre
     return;
 
   switch_to_thread (thread->ptid);
-  clear_proceed_status ();
+  clear_proceed_status (0);
   proceed ((CORE_ADDR) -1, GDB_SIGNAL_DEFAULT, 0);
 }
 
@@ -659,6 +657,9 @@ print_one_inferior (struct inferior *inf
 
       ui_out_field_fmt (uiout, "id", "i%d", inferior->num);
       ui_out_field_string (uiout, "type", "process");
+      if (inferior->has_exit_code)
+	ui_out_field_string (uiout, "exit-code",
+			     int_string (inferior->exit_code, 8, 0, 0, 1));
       if (inferior->pid != 0)
 	ui_out_field_int (uiout, "pid", inferior->pid);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-main.h ./gdb/mi/mi-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-main.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-main.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* MI Internal Functions for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-out.c ./gdb/mi/mi-out.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-out.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-out.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* MI Command Set - output generating routines.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions (a Red Hat company).
 
@@ -376,18 +376,12 @@ mi_out_rewind (struct ui_out *uiout)
 
 /* Dump the buffer onto the specified stream.  */
 
-static void
-do_write (void *data, const char *buffer, long length_buffer)
-{
-  ui_file_write (data, buffer, length_buffer);
-}
-
 void
 mi_out_put (struct ui_out *uiout, struct ui_file *stream)
 {
   mi_out_data *data = ui_out_data (uiout);
 
-  ui_file_put (data->buffer, do_write, stream);
+  ui_file_put (data->buffer, ui_file_write_for_put, stream);
   ui_file_rewind (data->buffer);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-out.h ./gdb/mi/mi-out.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-out.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-out.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - MI output generating routines for GDB.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-parse.c ./gdb/mi/mi-parse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-parse.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-parse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* MI Command Set - MI parser.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions (a Red Hat company).
 
@@ -25,7 +25,6 @@
 #include "charset.h"
 
 #include <ctype.h>
-#include <string.h>
 #include "cli/cli-utils.h"
 #include "language.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-parse.h ./gdb/mi/mi-parse.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-parse.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-parse.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - MI Command Parser.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions (a Red Hat company).
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-symbol-cmds.c ./gdb/mi/mi-symbol-cmds.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mi/mi-symbol-cmds.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mi/mi-symbol-cmds.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MI Command Set - symbol commands.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -49,15 +49,16 @@ mi_cmd_symbol_list_lines (char *command,
      already sorted by increasing values in the symbol table, so no
      need to perform any other sorting.  */
 
-  gdbarch = get_objfile_arch (s->objfile);
+  gdbarch = get_objfile_arch (SYMTAB_OBJFILE (s));
   cleanup_stack = make_cleanup_ui_out_list_begin_end (uiout, "lines");
 
-  if (LINETABLE (s) != NULL && LINETABLE (s)->nitems > 0)
-    for (i = 0; i < LINETABLE (s)->nitems; i++)
+  if (SYMTAB_LINETABLE (s) != NULL && SYMTAB_LINETABLE (s)->nitems > 0)
+    for (i = 0; i < SYMTAB_LINETABLE (s)->nitems; i++)
     {
       cleanup_tuple = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
-      ui_out_field_core_addr (uiout, "pc", gdbarch, LINETABLE (s)->item[i].pc);
-      ui_out_field_int (uiout, "line", LINETABLE (s)->item[i].line);
+      ui_out_field_core_addr (uiout, "pc", gdbarch,
+			      SYMTAB_LINETABLE (s)->item[i].pc);
+      ui_out_field_int (uiout, "line", SYMTAB_LINETABLE (s)->item[i].line);
       do_cleanups (cleanup_tuple);
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/microblaze-linux-tdep.c ./gdb/microblaze-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/microblaze-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/microblaze-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Xilinx MicroBlaze.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -41,7 +41,7 @@ static int
 microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch, 
 					   struct bp_target_info *bp_tgt)
 {
-  CORE_ADDR addr = bp_tgt->placed_address;
+  CORE_ADDR addr = bp_tgt->reqstd_address;
   const gdb_byte *bp;
   int val;
   int bplen;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/microblaze-rom.c ./gdb/microblaze-rom.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/microblaze-rom.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/microblaze-rom.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote debugging interface to Xilinx MicroBlaze.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,7 +21,6 @@
 #include "gdbcore.h"
 #include "target.h"
 #include "monitor.h"
-#include <string.h>
 #include "serial.h"
 #include "regcache.h"
 
@@ -49,7 +48,7 @@ static char *picobug_regnames[] = {
 
 
 static void
-picobug_open (char *args, int from_tty)
+picobug_open (const char *args, int from_tty)
 {
   monitor_open (args, &picobug_cmds, from_tty);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/microblaze-tdep.c ./gdb/microblaze-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/microblaze-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/microblaze-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Xilinx MicroBlaze.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -33,13 +33,14 @@
 #include "frame-unwind.h"
 #include "dwarf2-frame.h"
 #include "osabi.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include "target-descriptions.h"
 #include "opcodes/microblaze-opcm.h"
 #include "opcodes/microblaze-dis.h"
 #include "microblaze-tdep.h"
+#include "remote.h"
+
+#include "features/microblaze-with-stack-protect.c"
+#include "features/microblaze.c"
 
 /* Instruction macros used for analyzing the prologue.  */
 /* This set of instruction macros need to be changed whenever the
@@ -73,7 +74,8 @@ static const char *microblaze_register_n
   "rpc",  "rmsr", "rear", "resr", "rfsr", "rbtr",
   "rpvr0", "rpvr1", "rpvr2", "rpvr3", "rpvr4", "rpvr5", "rpvr6",
   "rpvr7", "rpvr8", "rpvr9", "rpvr10", "rpvr11",
-  "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi"
+  "redr", "rpid", "rzpr", "rtlbx", "rtlbsx", "rtlblo", "rtlbhi",
+  "rslr", "rshr"
 };
 
 #define MICROBLAZE_NUM_REGS ARRAY_SIZE (microblaze_register_names)
@@ -126,7 +128,7 @@ microblaze_fetch_instruction (CORE_ADDR 
   gdb_byte buf[4];
 
   /* If we can't read the instruction at PC, return zero.  */
-  if (target_read_memory (pc, buf, sizeof (buf)))
+  if (target_read_code (pc, buf, sizeof (buf)))
     return 0;
 
   return extract_unsigned_integer (buf, 4, byte_order);
@@ -660,20 +662,73 @@ static int dwarf2_to_reg_map[78] =
 static int
 microblaze_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int reg)
 {
-  gdb_assert (reg < sizeof (dwarf2_to_reg_map));
+  gdb_assert ((size_t) reg < sizeof (dwarf2_to_reg_map));
   return dwarf2_to_reg_map[reg];
 }
 
+static void
+microblaze_register_g_packet_guesses (struct gdbarch *gdbarch)
+{
+  register_remote_g_packet_guess (gdbarch,
+                                  4 * MICROBLAZE_NUM_CORE_REGS,
+                                  tdesc_microblaze);
+
+  register_remote_g_packet_guess (gdbarch,
+                                  4 * MICROBLAZE_NUM_REGS,
+                                  tdesc_microblaze_with_stack_protect);
+}
+
 static struct gdbarch *
 microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 {
   struct gdbarch_tdep *tdep;
   struct gdbarch *gdbarch;
+  struct tdesc_arch_data *tdesc_data = NULL;
+  const struct target_desc *tdesc = info.target_desc;
 
   /* If there is already a candidate, use it.  */
   arches = gdbarch_list_lookup_by_info (arches, &info);
   if (arches != NULL)
     return arches->gdbarch;
+  if (tdesc == NULL)
+    tdesc = tdesc_microblaze;
+
+  /* Check any target description for validity.  */
+  if (tdesc_has_registers (tdesc))
+    {
+      const struct tdesc_feature *feature;
+      int valid_p;
+      int i;
+
+      feature = tdesc_find_feature (tdesc,
+                                    "org.gnu.gdb.microblaze.core");
+      if (feature == NULL)
+        return NULL;
+      tdesc_data = tdesc_data_alloc ();
+
+      valid_p = 1;
+      for (i = 0; i < MICROBLAZE_NUM_CORE_REGS; i++)
+        valid_p &= tdesc_numbered_register (feature, tdesc_data, i,
+                                            microblaze_register_names[i]);
+      feature = tdesc_find_feature (tdesc,
+                                    "org.gnu.gdb.microblaze.stack-protect");
+      if (feature != NULL)
+        {
+          valid_p = 1;
+          valid_p &= tdesc_numbered_register (feature, tdesc_data,
+                                              MICROBLAZE_SLR_REGNUM,
+                                              "rslr");
+          valid_p &= tdesc_numbered_register (feature, tdesc_data,
+                                              MICROBLAZE_SHR_REGNUM,
+                                              "rshr");
+        }
+
+      if (!valid_p)
+        {
+          tdesc_data_cleanup (tdesc_data);
+          return NULL;
+        }
+    }
 
   /* Allocate space for the new architecture.  */
   tdep = XNEW (struct gdbarch_tdep);
@@ -716,6 +771,8 @@ microblaze_gdbarch_init (struct gdbarch_
 
   set_gdbarch_unwind_pc (gdbarch, microblaze_unwind_pc);
 
+  microblaze_register_g_packet_guesses (gdbarch);
+
   frame_base_set_default (gdbarch, &microblaze_frame_base);
 
   /* Hook in ABI-specific overrides, if they have been registered.  */
@@ -725,6 +782,8 @@ microblaze_gdbarch_init (struct gdbarch_
   dwarf2_append_unwinders (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &microblaze_frame_unwind);
   frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
+  if (tdesc_data != NULL)
+    tdesc_use_registers (gdbarch, tdesc, tdesc_data);
 
   return gdbarch;
 }
@@ -737,6 +796,8 @@ _initialize_microblaze_tdep (void)
 {
   register_gdbarch_init (bfd_arch_microblaze, microblaze_gdbarch_init);
 
+  initialize_tdesc_microblaze_with_stack_protect ();
+  initialize_tdesc_microblaze ();
   /* Debug this files internals.  */
   add_setshow_zuinteger_cmd ("microblaze", class_maintenance,
 			     &microblaze_debug_flag, _("\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/microblaze-tdep.h ./gdb/microblaze-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/microblaze-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/microblaze-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Xilinx MicroBlaze.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,30 +26,8 @@ struct gdbarch_tdep
 {
 };
 
-struct microblaze_frame_cache
-{
-  /* Base address.  */
-  CORE_ADDR base;
-  CORE_ADDR pc;
-
-  /* Do we have a frame?  */
-  int frameless_p;
-
-  /* Frame size.  */
-  int framesize;
-
-  /* Frame register.  */
-  int fp_regnum;
-
-  /* Offsets to saved registers.  */
-  int register_offsets[57];	/* Must match MICROBLAZE_NUM_REGS.  */
-
-  /* Table of saved registers.  */
-  struct trad_frame_saved_reg *saved_regs;
-};
-
 /* Register numbers.  */
-enum microblaze_regnum 
+enum microblaze_regnum
 {
   MICROBLAZE_R0_REGNUM,
   MICROBLAZE_R1_REGNUM, MICROBLAZE_SP_REGNUM = MICROBLAZE_R1_REGNUM,
@@ -107,9 +85,33 @@ enum microblaze_regnum 
   MICROBLAZE_RTLBX_REGNUM,
   MICROBLAZE_RTLBSX_REGNUM,
   MICROBLAZE_RTLBLO_REGNUM,
-  MICROBLAZE_RTLBHI_REGNUM
+  MICROBLAZE_RTLBHI_REGNUM,
+  MICROBLAZE_SLR_REGNUM, MICROBLAZE_NUM_CORE_REGS = MICROBLAZE_SLR_REGNUM,
+  MICROBLAZE_SHR_REGNUM,
+  MICROBLAZE_NUM_REGS
 };
 
+struct microblaze_frame_cache
+{
+  /* Base address.  */
+  CORE_ADDR base;
+  CORE_ADDR pc;
+
+  /* Do we have a frame?  */
+  int frameless_p;
+
+  /* Frame size.  */
+  int framesize;
+
+  /* Frame register.  */
+  int fp_regnum;
+
+  /* Offsets to saved registers.  */
+  int register_offsets[MICROBLAZE_NUM_REGS];
+
+  /* Table of saved registers.  */
+  struct trad_frame_saved_reg *saved_regs;
+};
 /* All registers are 32 bits.  */
 #define MICROBLAZE_REGISTER_SIZE 4
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mingw-hdep.c ./gdb/mingw-hdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mingw-hdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mingw-hdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Host support routines for MinGW, for GDB, the GNU debugger.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,9 +22,7 @@
 #include "serial.h"
 #include "event-loop.h"
 
-#include "gdb_assert.h"
 #include "gdb_select.h"
-#include <string.h>
 #include "readline/readline.h"
 
 #include <windows.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/minidebug.c ./gdb/minidebug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/minidebug.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/minidebug.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Read MiniDebugInfo data from an objfile.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "gdb_bfd.h"
-#include <string.h>
 #include "symfile.h"
 #include "objfiles.h"
 #include "gdbcore.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/minsyms.c ./gdb/minsyms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/minsyms.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/minsyms.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* GDB routines for manipulating the minimal symbol tables.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support, using pieces from other GDB modules.
 
    This file is part of GDB.
@@ -38,7 +38,6 @@
 
 #include "defs.h"
 #include <ctype.h>
-#include <string.h>
 #include "symtab.h"
 #include "bfd.h"
 #include "filenames.h"
@@ -51,6 +50,7 @@
 #include "cp-support.h"
 #include "language.h"
 #include "cli/cli-utils.h"
+#include "symbol.h"
 
 /* Accumulate the minimal symbols for each objfile in bunches of BUNCH_SIZE.
    At the end, copy them all into one newly allocated location on an objfile's
@@ -203,6 +203,14 @@ lookup_minimal_symbol (const char *name,
 	     and the second over the demangled hash table.  */
         int pass;
 
+	if (symbol_lookup_debug)
+	  {
+	    fprintf_unfiltered (gdb_stdlog,
+				"lookup_minimal_symbol (%s, %s, %s)\n",
+				name, sfile != NULL ? sfile : "NULL",
+				objfile_debug_name (objfile));
+	  }
+
         for (pass = 1; pass <= 2 && found_symbol.minsym == NULL; pass++)
 	    {
             /* Select hash list according to pass.  */
@@ -282,13 +290,42 @@ lookup_minimal_symbol (const char *name,
 
   /* External symbols are best.  */
   if (found_symbol.minsym != NULL)
-    return found_symbol;
+    {
+      if (symbol_lookup_debug)
+	{
+	  fprintf_unfiltered (gdb_stdlog,
+			      "lookup_minimal_symbol (...) = %s"
+			      " (external)\n",
+			      host_address_to_string (found_symbol.minsym));
+	}
+      return found_symbol;
+    }
 
   /* File-local symbols are next best.  */
   if (found_file_symbol.minsym != NULL)
-    return found_file_symbol;
+    {
+      if (symbol_lookup_debug)
+	{
+	  fprintf_unfiltered (gdb_stdlog,
+			      "lookup_minimal_symbol (...) = %s"
+			      " (file-local)\n",
+			      host_address_to_string
+			        (found_file_symbol.minsym));
+	}
+      return found_file_symbol;
+    }
 
   /* Symbols for shared library trampolines are next best.  */
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_minimal_symbol (...) = %s%s\n",
+			  trampoline_symbol.minsym != NULL
+			  ? host_address_to_string (trampoline_symbol.minsym)
+			  : "NULL",
+			  trampoline_symbol.minsym != NULL
+			  ? " (trampoline)" : "");
+    }
   return trampoline_symbol;
 }
 
@@ -300,6 +337,21 @@ lookup_bound_minimal_symbol (const char 
   return lookup_minimal_symbol (name, NULL, NULL);
 }
 
+/* See common/symbol.h.  */
+
+int
+find_minimal_symbol_address (const char *name, CORE_ADDR *addr,
+			     struct objfile *objfile)
+{
+  struct bound_minimal_symbol sym
+    = lookup_minimal_symbol (name, NULL, objfile);
+
+  if (sym.minsym != NULL)
+    *addr = BMSYMBOL_VALUE_ADDRESS (sym);
+
+  return sym.minsym == NULL;
+}
+
 /* See minsyms.h.  */
 
 void
@@ -1255,7 +1307,7 @@ install_minimal_symbols (struct objfile 
 
       mcount = compact_minimal_symbols (msymbols, mcount, objfile);
 
-      obstack_blank (&objfile->per_bfd->storage_obstack,
+      obstack_blank_fast (&objfile->per_bfd->storage_obstack,
 	       (mcount + 1 - alloc_count) * sizeof (struct minimal_symbol));
       msymbols = (struct minimal_symbol *)
 	obstack_finish (&objfile->per_bfd->storage_obstack);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/minsyms.h ./gdb/minsyms.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/minsyms.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/minsyms.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Minimal symbol table definitions for GDB.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -102,7 +102,7 @@ struct minimal_symbol *prim_record_minim
 
 /* Like prim_record_minimal_symbol_full, but:
    - uses strlen to compute NAME_LEN,
-   - passes COPY_NAME = 0,
+   - passes COPY_NAME = 1,
    - and passes a default SECTION, depending on the type
    
    This variant does not return the new symbol.  */
@@ -113,7 +113,7 @@ void prim_record_minimal_symbol (const c
 
 /* Like prim_record_minimal_symbol_full, but:
    - uses strlen to compute NAME_LEN,
-   - passes COPY_NAME = 0.  */
+   - passes COPY_NAME = 1.  */
 
 struct minimal_symbol *prim_record_minimal_symbol_and_info
     (const char *,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips64obsd-nat.c ./gdb/mips64obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips64obsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mips64obsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for OpenBSD/mips64.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips64obsd-tdep.c ./gdb/mips64obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips64obsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mips64obsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/mips64.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,9 +25,6 @@
 #include "trad-frame.h"
 #include "tramp-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "obsd-tdep.h"
 #include "mips-tdep.h"
 #include "solib-svr4.h"
@@ -67,17 +64,15 @@ static const struct regset mips64obsd_gr
   mips64obsd_supply_gregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-mips64obsd_regset_from_core_section (struct gdbarch *gdbarch,
-				     const char *sect_name, size_t sect_size)
+static void
+mips64obsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					 iterate_over_regset_sections_cb *cb,
+					 void *cb_data,
+					 const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= MIPS64OBSD_NUM_REGS * 8)
-    return &mips64obsd_gregset;
-
-  return NULL;
+  cb (".reg", MIPS64OBSD_NUM_REGS * 8, &mips64obsd_gregset, NULL, cb_data);
 }
 
 
@@ -148,8 +143,8 @@ mips64obsd_init_abi (struct gdbarch_info
   /* OpenBSD/mips64 only supports the n64 ABI, but the braindamaged
      way GDB works, forces us to pretend we can handle them all.  */
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, mips64obsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, mips64obsd_iterate_over_regset_sections);
 
   tramp_frame_prepend_unwinder (gdbarch, &mips64obsd_sigframe);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-irix-tdep.c ./gdb/mips-irix-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-irix-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mips-irix-tdep.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,291 +0,0 @@
-/* Target-dependent code for the MIPS architecture running on IRIX,
-   for GDB, the GNU Debugger.
-
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "osabi.h"
-#include <string.h>
-#include "solib.h"
-#include "solib-irix.h"
-#include "elf-bfd.h"
-#include "mips-tdep.h"
-#include "trad-frame.h"
-#include "tramp-frame.h"
-
-static void
-mips_irix_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect,
-                                            void *obj)
-{
-  enum gdb_osabi *os_ident_ptr = obj;
-  const char *name;
-  unsigned int sectsize;
-
-  name = bfd_get_section_name (abfd, sect);
-  sectsize = bfd_section_size (abfd, sect);
-
-  if (strncmp (name, ".MIPS.", 6) == 0 && sectsize > 0)
-    {
-      /* The presence of a section named with a ".MIPS." prefix is
-         indicative of an IRIX binary.  */
-      *os_ident_ptr = GDB_OSABI_IRIX;
-    }
-}
-
-static enum gdb_osabi
-mips_irix_elf_osabi_sniffer (bfd *abfd)
-{
-  unsigned int elfosabi;
-  enum gdb_osabi osabi = GDB_OSABI_UNKNOWN;
-
-  /* If the generic sniffer gets a hit, return and let other sniffers
-     get a crack at it.  */
-  bfd_map_over_sections (abfd,
-			 generic_elf_osabi_sniff_abi_tag_sections,
-			 &osabi);
-  if (osabi != GDB_OSABI_UNKNOWN)
-    return GDB_OSABI_UNKNOWN;
-
-  elfosabi = elf_elfheader (abfd)->e_ident[EI_OSABI];
-
-  if (elfosabi == ELFOSABI_NONE)
-    {
-      /* When elfosabi is ELFOSABI_NONE (0), then the ELF structures in the
-	 file are conforming to the base specification for that machine 
-	 (there are no OS-specific extensions).  In order to determine the 
-	 real OS in use we must look for OS notes that have been added.
-	 
-	 For IRIX, we simply look for sections named with .MIPS. as
-	 prefixes.  */
-      bfd_map_over_sections (abfd,
-			     mips_irix_elf_osabi_sniff_abi_tag_sections, 
-			     &osabi);
-    }
-  return osabi;
-}
-
-/* Unwinding past the signal handler on mips-irix.
-
-   Note: The following has only been tested with N32, but can probably
-         be made to work with a small number of adjustments.
-
-   On mips-irix, the sigcontext_t structure is stored at the base
-   of the frame established by the _sigtramp function.  The definition
-   of this structure can be found in <sys/signal.h> (comments have been
-   C++'ified to avoid a collision with the C-style comment delimiters
-   used by this comment):
-
-      typedef struct sigcontext {
-        __uint32_t      sc_regmask;     // regs to restore in sigcleanup
-        __uint32_t      sc_status;      // cp0 status register
-        __uint64_t      sc_pc;          // pc at time of signal
-        // General purpose registers
-        __uint64_t      sc_regs[32];    // processor regs 0 to 31
-        // Floating point coprocessor state
-        __uint64_t      sc_fpregs[32];  // fp regs 0 to 31
-        __uint32_t      sc_ownedfp;     // fp has been used
-        __uint32_t      sc_fpc_csr;     // fpu control and status reg
-        __uint32_t      sc_fpc_eir;     // fpu exception instruction reg
-                                        // implementation/revision
-        __uint32_t      sc_ssflags;     // signal stack state to restore
-        __uint64_t      sc_mdhi;        // Multiplier hi and low regs
-        __uint64_t      sc_mdlo;
-        // System coprocessor registers at time of signal
-        __uint64_t      sc_cause;       // cp0 cause register
-        __uint64_t      sc_badvaddr;    // cp0 bad virtual address
-        __uint64_t      sc_triggersave; // state of graphics trigger (SGI)
-        sigset_t        sc_sigset;      // signal mask to restore
-        __uint64_t      sc_fp_rounded_result;   // for Ieee 754 support
-        __uint64_t      sc_pad[31];
-      } sigcontext_t;
-
-   The following macros provide the offset of some of the fields
-   used to retrieve the value of the registers before the signal
-   was raised.  */
-
-/* The size of the sigtramp frame.  The sigtramp frame base can then
-   be computed by adding this size to the SP.  */
-#define SIGTRAMP_FRAME_SIZE 48
-/* The offset in sigcontext_t where the PC is saved.  */
-#define SIGCONTEXT_PC_OFF 8
-/* The offset in sigcontext_t where the GP registers are saved.  */
-#define SIGCONTEXT_REGS_OFF (SIGCONTEXT_PC_OFF + 8)
-/* The offset in sigcontext_t where the FP regsiters are saved.  */
-#define SIGCONTEXT_FPREGS_OFF (SIGCONTEXT_REGS_OFF + 32 * 8)
-/* The offset in sigcontext_t where the FP CSR register is saved.  */
-#define SIGCONTEXT_FPCSR_OFF (SIGCONTEXT_FPREGS_OFF + 32 * 8 + 4)
-/* The offset in sigcontext_t where the multiplier hi register is saved.  */
-#define SIGCONTEXT_HI_OFF (SIGCONTEXT_FPCSR_OFF + 2 * 4)
-/* The offset in sigcontext_t where the multiplier lo register is saved.  */
-#define SIGCONTEXT_LO_OFF (SIGCONTEXT_HI_OFF + 4)
-
-/* Implement the "init" routine in struct tramp_frame for the N32 ABI
-   on mips-irix.  */
-static void
-mips_irix_n32_tramp_frame_init (const struct tramp_frame *self,
-				struct frame_info *this_frame,
-				struct trad_frame_cache *this_cache,
-				CORE_ADDR func)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  const int num_regs = gdbarch_num_regs (gdbarch);
-  int sp_cooked_regno = num_regs + MIPS_SP_REGNUM;
-  const CORE_ADDR sp = get_frame_register_signed (this_frame, sp_cooked_regno);
-  const CORE_ADDR sigcontext_base = sp + 48;
-  const struct mips_regnum *regs = mips_regnum (gdbarch);
-  int ireg;
-
-  trad_frame_set_reg_addr (this_cache, regs->pc + gdbarch_num_regs (gdbarch),
-                           sigcontext_base + SIGCONTEXT_PC_OFF);
-
-  for (ireg = 1; ireg < 32; ireg++)
-    trad_frame_set_reg_addr (this_cache, ireg + MIPS_ZERO_REGNUM + num_regs,
-                             sigcontext_base + SIGCONTEXT_REGS_OFF + ireg * 8);
-
-  for (ireg = 0; ireg < 32; ireg++)
-    trad_frame_set_reg_addr (this_cache, ireg + regs->fp0 + num_regs,
-                             sigcontext_base + SIGCONTEXT_FPREGS_OFF
-                               + ireg * 8);
-
-  trad_frame_set_reg_addr (this_cache, regs->fp_control_status + num_regs,
-                           sigcontext_base + SIGCONTEXT_FPCSR_OFF);
-
-  trad_frame_set_reg_addr (this_cache, regs->hi + num_regs,
-                           sigcontext_base + SIGCONTEXT_HI_OFF);
-
-  trad_frame_set_reg_addr (this_cache, regs->lo + num_regs,
-                           sigcontext_base + SIGCONTEXT_LO_OFF);
-
-  trad_frame_set_id (this_cache, frame_id_build (sigcontext_base, func));
-}
-
-/* The tramp_frame structure describing sigtramp frames on mips-irix N32.
-
-   Note that the list of instructions below is pretty much a pure dump
-   of function _sigtramp on mips-irix.  A few instructions are actually
-   not tested (mask set to 0), because a portion of these instructions
-   contain an address which changes due to relocation.  We could use
-   a smarter mask that checks the instrutction code alone, but given
-   the number of instructions already being checked, this seemed
-   unnecessary.  */
-
-static const struct tramp_frame mips_irix_n32_tramp_frame =
-{
-  SIGTRAMP_FRAME,
-  4,
-  {
-   { 0x3c0c8000, -1 }, /*    lui     t0,0x8000 */
-   { 0x27bdffd0, -1 }, /*    addiu   sp,sp,-48 */
-   { 0x008c6024, -1 }, /*    and     t0,a0,t0 */
-   { 0xffa40018, -1 }, /*    sd      a0,24(sp) */
-   { 0x00000000,  0 }, /*    beqz    t0,0xfaefcb8 <_sigtramp+40> */
-   { 0xffa60028, -1 }, /*    sd      a2,40(sp) */
-   { 0x01806027, -1 }, /*    nor     t0,t0,zero */
-   { 0xffa00020, -1 }, /*    sd      zero,32(sp) */
-   { 0x00000000,  0 }, /*    b       0xfaefcbc <_sigtramp+44> */
-   { 0x008c2024, -1 }, /*    and     a0,a0,t0 */
-   { 0xffa60020, -1 }, /*    sd      a2,32(sp) */
-   { 0x03e0c025, -1 }, /*    move    t8,ra */
-   { 0x00000000,  0 }, /*    bal     0xfaefcc8 <_sigtramp+56> */
-   { 0x00000000, -1 }, /*    nop */
-   { 0x3c0c0007, -1 }, /*    lui     t0,0x7 */
-   { 0x00e0c825, -1 }, /*    move    t9,a3 */
-   { 0x658c80fc, -1 }, /*    daddiu  t0,t0,-32516 */
-   { 0x019f602d, -1 }, /*    daddu   t0,t0,ra */
-   { 0x0300f825, -1 }, /*    move    ra,t8 */
-   { 0x8d8c9880, -1 }, /*    lw      t0,-26496(t0) */
-   { 0x8d8c0000, -1 }, /*    lw      t0,0(t0) */
-   { 0x8d8d0000, -1 }, /*    lw      t1,0(t0) */
-   { 0xffac0008, -1 }, /*    sd      t0,8(sp) */
-   { 0x0320f809, -1 }, /*    jalr    t9 */
-   { 0xffad0010, -1 }, /*    sd      t1,16(sp) */
-   { 0xdfad0010, -1 }, /*    ld      t1,16(sp) */
-   { 0xdfac0008, -1 }, /*    ld      t0,8(sp) */
-   { 0xad8d0000, -1 }, /*    sw      t1,0(t0) */
-   { 0xdfa40020, -1 }, /*    ld      a0,32(sp) */
-   { 0xdfa50028, -1 }, /*    ld      a1,40(sp) */
-   { 0xdfa60018, -1 }, /*    ld      a2,24(sp) */
-   { 0x24020440, -1 }, /*    li      v0,1088 */
-   { 0x0000000c, -1 }, /*    syscall */
-   { TRAMP_SENTINEL_INSN, -1 }
-  },
-  mips_irix_n32_tramp_frame_init
-};
-
-/* Implement the "init" routine in struct tramp_frame for the stack-based
-   trampolines used on mips-irix.  */
-
-static void
-mips_irix_n32_stack_tramp_frame_init (const struct tramp_frame *self,
-				      struct frame_info *this_frame,
-				      struct trad_frame_cache *this_cache,
-				      CORE_ADDR func)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  const int num_regs = gdbarch_num_regs (gdbarch);
-  int sp_cooked_regno = num_regs + MIPS_SP_REGNUM;
-  const CORE_ADDR sp = get_frame_register_signed (this_frame, sp_cooked_regno);
-
-  /* The previous frame's PC is stored in RA.  */
-  trad_frame_set_reg_realreg (this_cache, gdbarch_pc_regnum (gdbarch),
-                              num_regs + MIPS_RA_REGNUM);
-
-  trad_frame_set_id (this_cache, frame_id_build (sp, func));
-}
-
-/* A tramp_frame structure describing the stack-based trampoline
-   used on mips-irix.  These trampolines are created on the stack
-   before being called.  */
-
-static const struct tramp_frame mips_irix_n32_stack_tramp_frame =
-{
-  SIGTRAMP_FRAME,
-  4,
-  {
-   { 0x8f210000, 0xffff0000 },  /* lw     at, N(t9) */
-   { 0x8f2f0000, 0xffff0000 },  /* lw     t3, M(t9) */
-   { 0x00200008, 0xffffffff },  /* jr     at        */
-   { 0x0020c82d, 0xffffffff },  /* move   t9, at    */
-   { TRAMP_SENTINEL_INSN, -1 }
-  },
-  mips_irix_n32_stack_tramp_frame_init
-};
-
-static void
-mips_irix_init_abi (struct gdbarch_info info,
-                    struct gdbarch *gdbarch)
-{
-  set_solib_ops (gdbarch, &irix_so_ops);
-  tramp_frame_prepend_unwinder (gdbarch, &mips_irix_n32_stack_tramp_frame);
-  tramp_frame_prepend_unwinder (gdbarch, &mips_irix_n32_tramp_frame);
-}
-
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-extern initialize_file_ftype _initialize_mips_irix_tdep;
-
-void
-_initialize_mips_irix_tdep (void)
-{
-  /* Register an ELF OS ABI sniffer for IRIX binaries.  */
-  gdbarch_register_osabi_sniffer (bfd_arch_mips,
-				  bfd_target_elf_flavour,
-				  mips_irix_elf_osabi_sniffer);
-
-  gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_IRIX,
-			  mips_irix_init_abi);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-linux-nat.c ./gdb/mips-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mips-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for GNU/Linux on MIPS processors.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 #include "defs.h"
 #include "command.h"
 #include "gdbcmd.h"
-#include "gdb_assert.h"
 #include "inferior.h"
 #include "mips-tdep.h"
 #include "target.h"
@@ -36,7 +35,7 @@
 #include <sys/ptrace.h>
 #include <asm/ptrace.h>
 
-#include "mips-linux-watch.h"
+#include "nat/mips-linux-watch.h"
 
 #include "features/mips-linux.c"
 #include "features/mips-dsp-linux.c"
@@ -51,10 +50,6 @@
    we'll clear this and use PTRACE_PEEKUSER instead.  */
 static int have_ptrace_regsets = 1;
 
-/* Whether or not to print the mirrored debug registers.  */
-
-static int maint_show_dr;
-
 /* Saved function pointers to fetch and store a single register using
    PTRACE_PEEKUSER and PTRACE_POKEUSER.  */
 
@@ -440,6 +435,7 @@ mips_linux_read_description (struct targ
       if (tid == 0)
 	tid = ptid_get_pid (inferior_ptid);
 
+      errno = 0;
       ptrace (PTRACE_PEEKUSER, tid, DSP_CONTROL, 0);
       switch (errno)
 	{
@@ -690,7 +686,7 @@ mips_linux_insert_watchpoint (struct tar
   watch_mirror = regs;
   retval = write_watchpoint_regs ();
 
-  if (maint_show_dr)
+  if (show_debug_regs)
     mips_show_dr ("insert_watchpoint", addr, len, type);
 
   return retval;
@@ -738,7 +734,7 @@ mips_linux_remove_watchpoint (struct tar
 
   retval = write_watchpoint_regs ();
 
-  if (maint_show_dr)
+  if (show_debug_regs)
     mips_show_dr ("remove_watchpoint", addr, len, type);
 
   return retval;
@@ -775,7 +771,7 @@ _initialize_mips_linux_nat (void)
   struct target_ops *t;
 
   add_setshow_boolean_cmd ("show-debug-regs", class_maintenance,
-			   &maint_show_dr, _("\
+			   &show_debug_regs, _("\
 Set whether to show variables that mirror the mips debug registers."), _("\
 Show whether to show variables that mirror the mips debug registers."), _("\
 Use \"on\" to enable, \"off\" to disable.\n\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-linux-tdep.c ./gdb/mips-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mips-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux on MIPS processors.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,8 +23,6 @@
 #include "solib-svr4.h"
 #include "osabi.h"
 #include "mips-tdep.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "frame.h"
 #include "regcache.h"
 #include "trad-frame.h"
@@ -638,39 +636,26 @@ static const struct regset mips64_linux_
     NULL, mips64_supply_fpregset_wrapper, mips64_fill_fpregset_wrapper
   };
 
-static const struct regset *
-mips_linux_regset_from_core_section (struct gdbarch *gdbarch,
-				     const char *sect_name, size_t sect_size)
-{
-  mips_elf_gregset_t gregset;
-  mips_elf_fpregset_t fpregset;
-  mips64_elf_gregset_t gregset64;
-  mips64_elf_fpregset_t fpregset64;
-
-  if (strcmp (sect_name, ".reg") == 0)
-    {
-      if (sect_size == sizeof (gregset))
-	return &mips_linux_gregset;
-      else if (sect_size == sizeof (gregset64))
-	return &mips64_linux_gregset;
-      else
-	{
-	  warning (_("wrong size gregset struct in core file"));
-	}
+static void
+mips_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					 iterate_over_regset_sections_cb *cb,
+					 void *cb_data,
+					 const struct regcache *regcache)
+{
+  if (register_size (gdbarch, MIPS_ZERO_REGNUM) == 4)
+    {
+      cb (".reg", sizeof (mips_elf_gregset_t), &mips_linux_gregset,
+	  NULL, cb_data);
+      cb (".reg2", sizeof (mips_elf_fpregset_t), &mips_linux_fpregset,
+	  NULL, cb_data);
     }
-  else if (strcmp (sect_name, ".reg2") == 0)
+  else
     {
-      if (sect_size == sizeof (fpregset))
-	return &mips_linux_fpregset;
-      else if (sect_size == sizeof (fpregset64))
-	return &mips64_linux_fpregset;
-      else
-	{
-	  warning (_("wrong size fpregset struct in core file"));
-	}
+      cb (".reg", sizeof (mips64_elf_gregset_t), &mips64_linux_gregset,
+	  NULL, cb_data);
+      cb (".reg2", sizeof (mips64_elf_fpregset_t), &mips64_linux_fpregset,
+	  NULL, cb_data);
     }
-
-  return NULL;
 }
 
 static const struct target_desc *
@@ -842,6 +827,14 @@ static void mips_linux_n32n64_sigframe_i
 					     struct trad_frame_cache *this_cache,
 					     CORE_ADDR func);
 
+static int mips_linux_sigframe_validate (const struct tramp_frame *self,
+					 struct frame_info *this_frame,
+					 CORE_ADDR *pc);
+
+static int micromips_linux_sigframe_validate (const struct tramp_frame *self,
+					      struct frame_info *this_frame,
+					      CORE_ADDR *pc);
+
 #define MIPS_NR_LINUX 4000
 #define MIPS_NR_N64_LINUX 5000
 #define MIPS_NR_N32_LINUX 6000
@@ -857,6 +850,10 @@ static void mips_linux_n32n64_sigframe_i
 #define MIPS_INST_LI_V0_N32_RT_SIGRETURN 0x24020000 + MIPS_NR_N32_rt_sigreturn
 #define MIPS_INST_SYSCALL 0x0000000c
 
+#define MICROMIPS_INST_LI_V0 0x3040
+#define MICROMIPS_INST_POOL32A 0x0000
+#define MICROMIPS_INST_SYSCALL 0x8b7c
+
 static const struct tramp_frame mips_linux_o32_sigframe = {
   SIGTRAMP_FRAME,
   4,
@@ -865,7 +862,8 @@ static const struct tramp_frame mips_lin
     { MIPS_INST_SYSCALL, -1 },
     { TRAMP_SENTINEL_INSN, -1 }
   },
-  mips_linux_o32_sigframe_init
+  mips_linux_o32_sigframe_init,
+  mips_linux_sigframe_validate
 };
 
 static const struct tramp_frame mips_linux_o32_rt_sigframe = {
@@ -875,7 +873,8 @@ static const struct tramp_frame mips_lin
     { MIPS_INST_LI_V0_RT_SIGRETURN, -1 },
     { MIPS_INST_SYSCALL, -1 },
     { TRAMP_SENTINEL_INSN, -1 } },
-  mips_linux_o32_sigframe_init
+  mips_linux_o32_sigframe_init,
+  mips_linux_sigframe_validate
 };
 
 static const struct tramp_frame mips_linux_n32_rt_sigframe = {
@@ -886,7 +885,8 @@ static const struct tramp_frame mips_lin
     { MIPS_INST_SYSCALL, -1 },
     { TRAMP_SENTINEL_INSN, -1 }
   },
-  mips_linux_n32n64_sigframe_init
+  mips_linux_n32n64_sigframe_init,
+  mips_linux_sigframe_validate
 };
 
 static const struct tramp_frame mips_linux_n64_rt_sigframe = {
@@ -897,7 +897,64 @@ static const struct tramp_frame mips_lin
     { MIPS_INST_SYSCALL, -1 },
     { TRAMP_SENTINEL_INSN, -1 }
   },
-  mips_linux_n32n64_sigframe_init
+  mips_linux_n32n64_sigframe_init,
+  mips_linux_sigframe_validate
+};
+
+static const struct tramp_frame micromips_linux_o32_sigframe = {
+  SIGTRAMP_FRAME,
+  2,
+  {
+    { MICROMIPS_INST_LI_V0, -1 },
+    { MIPS_NR_sigreturn, -1 },
+    { MICROMIPS_INST_POOL32A, -1 },
+    { MICROMIPS_INST_SYSCALL, -1 },
+    { TRAMP_SENTINEL_INSN, -1 }
+  },
+  mips_linux_o32_sigframe_init,
+  micromips_linux_sigframe_validate
+};
+
+static const struct tramp_frame micromips_linux_o32_rt_sigframe = {
+  SIGTRAMP_FRAME,
+  2,
+  {
+    { MICROMIPS_INST_LI_V0, -1 },
+    { MIPS_NR_rt_sigreturn, -1 },
+    { MICROMIPS_INST_POOL32A, -1 },
+    { MICROMIPS_INST_SYSCALL, -1 },
+    { TRAMP_SENTINEL_INSN, -1 }
+  },
+  mips_linux_o32_sigframe_init,
+  micromips_linux_sigframe_validate
+};
+
+static const struct tramp_frame micromips_linux_n32_rt_sigframe = {
+  SIGTRAMP_FRAME,
+  2,
+  {
+    { MICROMIPS_INST_LI_V0, -1 },
+    { MIPS_NR_N32_rt_sigreturn, -1 },
+    { MICROMIPS_INST_POOL32A, -1 },
+    { MICROMIPS_INST_SYSCALL, -1 },
+    { TRAMP_SENTINEL_INSN, -1 }
+  },
+  mips_linux_n32n64_sigframe_init,
+  micromips_linux_sigframe_validate
+};
+
+static const struct tramp_frame micromips_linux_n64_rt_sigframe = {
+  SIGTRAMP_FRAME,
+  2,
+  {
+    { MICROMIPS_INST_LI_V0, -1 },
+    { MIPS_NR_N64_rt_sigreturn, -1 },
+    { MICROMIPS_INST_POOL32A, -1 },
+    { MICROMIPS_INST_SYSCALL, -1 },
+    { TRAMP_SENTINEL_INSN, -1 }
+  },
+  mips_linux_n32n64_sigframe_init,
+  micromips_linux_sigframe_validate
 };
 
 /* *INDENT-OFF* */
@@ -1017,7 +1074,8 @@ mips_linux_o32_sigframe_init (const stru
   const struct mips_regnum *regs = mips_regnum (gdbarch);
   CORE_ADDR regs_base;
 
-  if (self == &mips_linux_o32_sigframe)
+  if (self == &mips_linux_o32_sigframe
+      || self == &micromips_linux_o32_sigframe)
     sigcontext_base = frame_sp + SIGFRAME_SIGCONTEXT_OFFSET;
   else
     sigcontext_base = frame_sp + RTSIGFRAME_SIGCONTEXT_OFFSET;
@@ -1218,7 +1276,8 @@ mips_linux_n32n64_sigframe_init (const s
   CORE_ADDR sigcontext_base;
   const struct mips_regnum *regs = mips_regnum (gdbarch);
 
-  if (self == &mips_linux_n32_rt_sigframe)
+  if (self == &mips_linux_n32_rt_sigframe
+      || self == &micromips_linux_n32_rt_sigframe)
     sigcontext_base = frame_sp + N32_SIGFRAME_SIGCONTEXT_OFFSET;
   else
     sigcontext_base = frame_sp + N64_SIGFRAME_SIGCONTEXT_OFFSET;
@@ -1288,6 +1347,32 @@ mips_linux_n32n64_sigframe_init (const s
   trad_frame_set_id (this_cache, frame_id_build (frame_sp, func));
 }
 
+/* Implement struct tramp_frame's "validate" method for standard MIPS code.  */
+
+static int
+mips_linux_sigframe_validate (const struct tramp_frame *self,
+			      struct frame_info *this_frame,
+			      CORE_ADDR *pc)
+{
+  return mips_pc_is_mips (*pc);
+}
+
+/* Implement struct tramp_frame's "validate" method for microMIPS code.  */
+
+static int
+micromips_linux_sigframe_validate (const struct tramp_frame *self,
+				   struct frame_info *this_frame,
+				   CORE_ADDR *pc)
+{
+  if (mips_pc_is_micromips (get_frame_arch (this_frame), *pc))
+    {
+      *pc = mips_unmake_compact_addr (*pc);
+      return 1;
+    }
+  else
+    return 0;
+}
+
 /* Implement the "write_pc" gdbarch method.  */
 
 static void
@@ -1571,9 +1656,12 @@ mips_linux_init_abi (struct gdbarch_info
 					mips_linux_get_longjmp_target);
 	set_solib_svr4_fetch_link_map_offsets
 	  (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+	tramp_frame_prepend_unwinder (gdbarch, &micromips_linux_o32_sigframe);
+	tramp_frame_prepend_unwinder (gdbarch,
+				      &micromips_linux_o32_rt_sigframe);
 	tramp_frame_prepend_unwinder (gdbarch, &mips_linux_o32_sigframe);
 	tramp_frame_prepend_unwinder (gdbarch, &mips_linux_o32_rt_sigframe);
-	set_xml_syscall_file_name ("syscalls/mips-o32-linux.xml");
+	set_xml_syscall_file_name (gdbarch, "syscalls/mips-o32-linux.xml");
 	break;
       case MIPS_ABI_N32:
 	set_gdbarch_get_longjmp_target (gdbarch,
@@ -1586,8 +1674,10 @@ mips_linux_init_abi (struct gdbarch_info
 	   except that the quiet/signalling NaN bit is reversed (GDB
 	   does not distinguish between quiet and signalling NaNs).  */
 	set_gdbarch_long_double_format (gdbarch, floatformats_ia64_quad);
+	tramp_frame_prepend_unwinder (gdbarch,
+				      &micromips_linux_n32_rt_sigframe);
 	tramp_frame_prepend_unwinder (gdbarch, &mips_linux_n32_rt_sigframe);
-	set_xml_syscall_file_name ("syscalls/mips-n32-linux.xml");
+	set_xml_syscall_file_name (gdbarch, "syscalls/mips-n32-linux.xml");
 	break;
       case MIPS_ABI_N64:
 	set_gdbarch_get_longjmp_target (gdbarch,
@@ -1600,8 +1690,10 @@ mips_linux_init_abi (struct gdbarch_info
 	   except that the quiet/signalling NaN bit is reversed (GDB
 	   does not distinguish between quiet and signalling NaNs).  */
 	set_gdbarch_long_double_format (gdbarch, floatformats_ia64_quad);
+	tramp_frame_prepend_unwinder (gdbarch,
+				      &micromips_linux_n64_rt_sigframe);
 	tramp_frame_prepend_unwinder (gdbarch, &mips_linux_n64_rt_sigframe);
-	set_xml_syscall_file_name ("syscalls/mips-n64-linux.xml");
+	set_xml_syscall_file_name (gdbarch, "syscalls/mips-n64-linux.xml");
 	break;
       default:
 	break;
@@ -1630,8 +1722,8 @@ mips_linux_init_abi (struct gdbarch_info
   set_gdbarch_core_read_description (gdbarch,
 				     mips_linux_core_read_description);
 
-  set_gdbarch_regset_from_core_section (gdbarch,
-					mips_linux_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, mips_linux_iterate_over_regset_sections);
 
   set_gdbarch_gdb_signal_from_target (gdbarch,
 				      mips_gdb_signal_from_target);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-linux-tdep.h ./gdb/mips-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-linux-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mips-linux-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux on MIPS processors.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mipsnbsd-nat.c ./gdb/mipsnbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mipsnbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mipsnbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for MIPS systems running NetBSD.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mipsnbsd-tdep.c ./gdb/mipsnbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mipsnbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mipsnbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/mips.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Wasabi Systems, Inc.
 
@@ -27,9 +27,6 @@
 #include "value.h"
 #include "osabi.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "nbsd-tdep.h"
 #include "mipsnbsd-tdep.h"
 #include "mips-tdep.h"
@@ -115,24 +112,20 @@ static const struct regset mipsnbsd_fpre
   mipsnbsd_supply_fpregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-mipsnbsd_regset_from_core_section (struct gdbarch *gdbarch,
-				   const char *sect_name, size_t sect_size)
+static void
+mipsnbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				       iterate_over_regset_sections_cb *cb,
+				       void *cb_data,
+				       const struct regcache *regcache)
 {
   size_t regsize = mips_isa_regsize (gdbarch);
-  
-  if (strcmp (sect_name, ".reg") == 0
-      && sect_size >= MIPSNBSD_NUM_GREGS * regsize)
-    return &mipsnbsd_gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0
-      && sect_size >= MIPSNBSD_NUM_FPREGS * regsize)
-    return &mipsnbsd_fpregset;
 
-  return NULL;
+  cb (".reg", MIPSNBSD_NUM_GREGS * regsize, &mipsnbsd_gregset,
+      NULL, cb_data);
+  cb (".reg2", MIPSNBSD_NUM_FPREGS * regsize, &mipsnbsd_fpregset,
+      NULL, cb_data);
 }
 
 
@@ -361,8 +354,8 @@ static void
 mipsnbsd_init_abi (struct gdbarch_info info,
                    struct gdbarch *gdbarch)
 {
-  set_gdbarch_regset_from_core_section
-    (gdbarch, mipsnbsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, mipsnbsd_iterate_over_regset_sections);
 
   set_gdbarch_get_longjmp_target (gdbarch, mipsnbsd_get_longjmp_target);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mipsnbsd-tdep.h ./gdb/mipsnbsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mipsnbsd-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mipsnbsd-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common target dependent code for GDB on MIPS systems running NetBSD.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mipsread.c ./gdb/mipsread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mipsread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mipsread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Read a symbol table in MIPS' format (Third-Eye).
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    Contributed by Alessandro Forin (af@cs.cmu.edu) at CMU.  Major work
    by Per Bothner, John Gilmore and Ian Lance Taylor at Cygnus Support.
@@ -24,7 +24,6 @@
    mdebugread.c.  */
 
 #include "defs.h"
-#include <string.h>
 #include "bfd.h"
 #include "symtab.h"
 #include "objfiles.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-sde-tdep.c ./gdb/mips-sde-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-sde-tdep.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/mips-sde-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,270 @@
+/* Target-dependent code for SDE on MIPS processors.
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "osabi.h"
+#include "elf-bfd.h"
+#include "block.h"
+#include "symtab.h"
+
+#include "frame.h"
+#include "frame-unwind.h"
+#include "frame-base.h"
+#include "trad-frame.h"
+
+#include "mips-tdep.h"
+
+/* Fill in the register cache *THIS_CACHE for THIS_FRAME for use
+   in the SDE frame unwinder.  */
+
+static struct trad_frame_cache *
+mips_sde_frame_cache (struct frame_info *this_frame, void **this_cache)
+{
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
+  const struct mips_regnum *regs = mips_regnum (gdbarch);
+  const int sizeof_reg_t = mips_abi_regsize (gdbarch);
+  enum mips_abi abi = mips_abi (gdbarch);
+  struct trad_frame_cache *cache;
+  CORE_ADDR xcpt_frame;
+  CORE_ADDR start_addr;
+  CORE_ADDR stack_addr;
+  CORE_ADDR pc;
+  int i;
+
+  if (*this_cache != NULL)
+    return *this_cache;
+  cache = trad_frame_cache_zalloc (this_frame);
+  *this_cache = cache;
+
+  /* The previous registers are held in struct xcptcontext
+     which is at $sp+offs
+
+     struct xcptcontext {
+       reg_t	sr;		CP0 Status
+       reg_t	cr;		CP0 Cause
+       reg_t	epc;		CP0 EPC
+       reg_t	vaddr;		CP0 BadVAddr
+       reg_t	regs[32];	General registers
+       reg_t	mdlo;		LO
+       reg_t	mdhi;		HI
+       reg_t	mdex;		ACX
+       ...
+     };
+  */
+
+  stack_addr = get_frame_register_signed (this_frame,
+					  gdbarch_sp_regnum (gdbarch));
+  switch (abi)
+    {
+    case MIPS_ABI_O32:
+      /* 40: XCPTCONTEXT
+	 24: xcpt_gen() argspace		(16 bytes)
+	 16: _xcptcall() saved ra, rounded up	( 8 bytes)
+	 00: _xcptcall() argspace 		(16 bytes)  */
+      xcpt_frame = stack_addr + 40;
+      break;
+    case MIPS_ABI_N32:
+    case MIPS_ABI_N64:
+    default:			/* Wild guess.  */
+      /* 16: XCPTCONTEXT
+	 16: xcpt_gen() argspace 		( 0 bytes)
+	 00: _xcptcall() saved ra, rounded up	(16 bytes)  */
+      xcpt_frame = stack_addr + 16;
+      break;
+    }
+
+  trad_frame_set_reg_addr (cache,
+			   MIPS_PS_REGNUM + gdbarch_num_regs (gdbarch),
+			   xcpt_frame + 0 * sizeof_reg_t);
+  trad_frame_set_reg_addr (cache,
+			   regs->cause + gdbarch_num_regs (gdbarch),
+			   xcpt_frame + 1 * sizeof_reg_t);
+  trad_frame_set_reg_addr (cache,
+			   regs->pc + gdbarch_num_regs (gdbarch),
+			   xcpt_frame + 2 * sizeof_reg_t);
+  trad_frame_set_reg_addr (cache,
+			   regs->badvaddr + gdbarch_num_regs (gdbarch),
+			   xcpt_frame + 3 * sizeof_reg_t);
+  for (i = 0; i < MIPS_NUMREGS; i++)
+    trad_frame_set_reg_addr (cache,
+			     i + MIPS_ZERO_REGNUM + gdbarch_num_regs (gdbarch),
+			     xcpt_frame + (4 + i) * sizeof_reg_t);
+  trad_frame_set_reg_addr (cache,
+			   regs->lo + gdbarch_num_regs (gdbarch),
+			   xcpt_frame + 36 * sizeof_reg_t);
+  trad_frame_set_reg_addr (cache,
+			   regs->hi + gdbarch_num_regs (gdbarch),
+			   xcpt_frame + 37 * sizeof_reg_t);
+
+  pc = get_frame_pc (this_frame);
+  find_pc_partial_function (pc, NULL, &start_addr, NULL);
+  trad_frame_set_id (cache, frame_id_build (start_addr, stack_addr));
+
+  return cache;
+}
+
+/* Implement the this_id function for the SDE frame unwinder.  */
+
+static void
+mips_sde_frame_this_id (struct frame_info *this_frame, void **this_cache,
+			struct frame_id *this_id)
+{
+  struct trad_frame_cache *this_trad_cache
+    = mips_sde_frame_cache (this_frame, this_cache);
+
+  trad_frame_get_id (this_trad_cache, this_id);
+}
+
+/* Implement the prev_register function for the SDE frame unwinder.  */
+
+static struct value *
+mips_sde_frame_prev_register (struct frame_info *this_frame,
+			      void **this_cache,
+			      int prev_regnum)
+{
+  struct trad_frame_cache *trad_cache
+    = mips_sde_frame_cache (this_frame, this_cache);
+
+  return trad_frame_get_register (trad_cache, this_frame, prev_regnum);
+}
+
+/* Implement the sniffer function for the SDE frame unwinder.  */
+
+static int
+mips_sde_frame_sniffer (const struct frame_unwind *self,
+			struct frame_info *this_frame,
+			void **this_cache)
+{
+  CORE_ADDR pc = get_frame_pc (this_frame);
+  const char *name;
+
+  find_pc_partial_function (pc, &name, NULL, NULL);
+  return (name
+	  && (strcmp (name, "_xcptcall") == 0
+	      || strcmp (name, "_sigtramp") == 0));
+}
+
+/* Data structure for the SDE frame unwinder.  */
+
+static const struct frame_unwind mips_sde_frame_unwind =
+{
+  SIGTRAMP_FRAME,
+  default_frame_unwind_stop_reason,
+  mips_sde_frame_this_id,
+  mips_sde_frame_prev_register,
+  NULL,
+  mips_sde_frame_sniffer
+};
+
+/* Implement the this_base, this_locals, and this_args hooks
+   for the normal unwinder.  */
+
+static CORE_ADDR
+mips_sde_frame_base_address (struct frame_info *this_frame, void **this_cache)
+{
+  struct trad_frame_cache *this_trad_cache
+    = mips_sde_frame_cache (this_frame, this_cache);
+
+  return trad_frame_get_this_base (this_trad_cache);
+}
+
+static const struct frame_base mips_sde_frame_base =
+{
+  &mips_sde_frame_unwind,
+  mips_sde_frame_base_address,
+  mips_sde_frame_base_address,
+  mips_sde_frame_base_address
+};
+
+static const struct frame_base *
+mips_sde_frame_base_sniffer (struct frame_info *this_frame)
+{
+  if (mips_sde_frame_sniffer (&mips_sde_frame_unwind, this_frame, NULL))
+    return &mips_sde_frame_base;
+  else
+    return NULL;
+}
+
+static void
+mips_sde_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect,
+					   void *obj)
+{
+  enum gdb_osabi *os_ident_ptr = obj;
+  const char *name;
+
+  name = bfd_get_section_name (abfd, sect);
+
+  /* The presence of a section with a ".sde" prefix is indicative
+     of an SDE binary.  */
+  if (strncmp (name, ".sde", 4) == 0)
+    *os_ident_ptr = GDB_OSABI_SDE;
+}
+
+/* OSABI sniffer for MIPS SDE.  */
+
+static enum gdb_osabi
+mips_sde_elf_osabi_sniffer (bfd *abfd)
+{
+  enum gdb_osabi osabi = GDB_OSABI_UNKNOWN;
+  unsigned int elfosabi;
+
+  /* If the generic sniffer gets a hit, return and let other sniffers
+     get a crack at it.  */
+  bfd_map_over_sections (abfd,
+			 generic_elf_osabi_sniff_abi_tag_sections,
+			 &osabi);
+  if (osabi != GDB_OSABI_UNKNOWN)
+    return GDB_OSABI_UNKNOWN;
+
+  elfosabi = elf_elfheader (abfd)->e_ident[EI_OSABI];
+
+  if (elfosabi == ELFOSABI_NONE)
+    {
+      /* When elfosabi is ELFOSABI_NONE (0), then the ELF structures in the
+	 file are conforming to the base specification for that machine
+	 (there are no OS-specific extensions).  In order to determine the
+	 real OS in use we must look for OS notes that have been added.
+
+	 For SDE, we simply look for sections named with .sde as prefixes.  */
+      bfd_map_over_sections (abfd,
+			     mips_sde_elf_osabi_sniff_abi_tag_sections,
+			     &osabi);
+    }
+  return osabi;
+}
+
+static void
+mips_sde_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  frame_unwind_append_unwinder (gdbarch, &mips_sde_frame_unwind);
+  frame_base_append_sniffer (gdbarch, mips_sde_frame_base_sniffer);
+}
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_mips_sde_tdep;
+
+void
+_initialize_mips_sde_tdep (void)
+{
+  gdbarch_register_osabi_sniffer (bfd_arch_mips,
+				  bfd_target_elf_flavour,
+				  mips_sde_elf_osabi_sniffer);
+
+  gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_SDE, mips_sde_init_abi);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-tdep.c ./gdb/mips-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mips-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the MIPS architecture, for GDB, the GNU Debugger.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    Contributed by Alessandro Forin(af@cs.cmu.edu) at CMU
    and by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin.
@@ -21,8 +21,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "frame.h"
 #include "inferior.h"
 #include "symtab.h"
@@ -62,11 +60,21 @@ static const struct objfile_data *mips_p
 
 static struct type *mips_register_type (struct gdbarch *gdbarch, int regnum);
 
-static int mips32_instruction_has_delay_slot (struct gdbarch *, CORE_ADDR);
-static int micromips_instruction_has_delay_slot (struct gdbarch *, CORE_ADDR,
-						 int);
-static int mips16_instruction_has_delay_slot (struct gdbarch *, CORE_ADDR,
-					      int);
+static int mips32_instruction_has_delay_slot (struct gdbarch *gdbarch,
+					      ULONGEST inst);
+static int micromips_instruction_has_delay_slot (ULONGEST insn, int mustbe32);
+static int mips16_instruction_has_delay_slot (unsigned short inst,
+					      int mustbe32);
+
+static int mips32_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch,
+					     CORE_ADDR addr);
+static int micromips_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch,
+						CORE_ADDR addr, int mustbe32);
+static int mips16_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch,
+					     CORE_ADDR addr, int mustbe32);
+
+static void mips_print_float_info (struct gdbarch *, struct ui_file *,
+				   struct frame_info *, const char *);
 
 /* A useful bit in the CP0 status register (MIPS_PS_REGNUM).  */
 /* This bit is set if we are emulating 32-bit FPRs on a 64-bit chip.  */
@@ -335,6 +343,15 @@ make_compact_addr (CORE_ADDR addr)
   return ((addr) | (CORE_ADDR) 1);
 }
 
+/* Extern version of unmake_compact_addr; we use a separate function
+   so that unmake_compact_addr can be inlined throughout this file.  */
+
+CORE_ADDR
+mips_unmake_compact_addr (CORE_ADDR addr)
+{
+  return unmake_compact_addr (addr);
+}
+
 /* Functions for setting and testing a bit in a minimal symbol that
    marks it as MIPS16 or microMIPS function.  The MSB of the minimal
    symbol's "info" field is used for this purpose.
@@ -364,9 +381,15 @@ mips_elf_make_msymbol_special (asymbol *
     return;
 
   if (ELF_ST_IS_MICROMIPS (st_other))
-    MSYMBOL_TARGET_FLAG_2 (msym) = 1;
+    {
+      MSYMBOL_TARGET_FLAG_MICROMIPS (msym) = 1;
+      SET_MSYMBOL_VALUE_ADDRESS (msym, MSYMBOL_VALUE_RAW_ADDRESS (msym) | 1);
+    }
   else if (ELF_ST_IS_MIPS16 (st_other))
-    MSYMBOL_TARGET_FLAG_1 (msym) = 1;
+    {
+      MSYMBOL_TARGET_FLAG_MIPS16 (msym) = 1;
+      SET_MSYMBOL_VALUE_ADDRESS (msym, MSYMBOL_VALUE_RAW_ADDRESS (msym) | 1);
+    }
 }
 
 /* Return one iff MSYM refers to standard ISA code.  */
@@ -374,7 +397,8 @@ mips_elf_make_msymbol_special (asymbol *
 static int
 msymbol_is_mips (struct minimal_symbol *msym)
 {
-  return !(MSYMBOL_TARGET_FLAG_1 (msym) | MSYMBOL_TARGET_FLAG_2 (msym));
+  return !(MSYMBOL_TARGET_FLAG_MIPS16 (msym)
+	   | MSYMBOL_TARGET_FLAG_MICROMIPS (msym));
 }
 
 /* Return one iff MSYM refers to MIPS16 code.  */
@@ -382,7 +406,7 @@ msymbol_is_mips (struct minimal_symbol *
 static int
 msymbol_is_mips16 (struct minimal_symbol *msym)
 {
-  return MSYMBOL_TARGET_FLAG_1 (msym);
+  return MSYMBOL_TARGET_FLAG_MIPS16 (msym);
 }
 
 /* Return one iff MSYM refers to microMIPS code.  */
@@ -390,7 +414,36 @@ msymbol_is_mips16 (struct minimal_symbol
 static int
 msymbol_is_micromips (struct minimal_symbol *msym)
 {
-  return MSYMBOL_TARGET_FLAG_2 (msym);
+  return MSYMBOL_TARGET_FLAG_MICROMIPS (msym);
+}
+
+/* Set the ISA bit in the main symbol too, complementing the corresponding
+   minimal symbol setting and reflecting the run-time value of the symbol.
+   The need for comes from the ISA bit having been cleared as code in
+   `_bfd_mips_elf_symbol_processing' separated it into the ELF symbol's
+   `st_other' STO_MIPS16 or STO_MICROMIPS annotation, making the values
+   of symbols referring to compressed code different in GDB to the values
+   used by actual code.  That in turn makes them evaluate incorrectly in
+   expressions, producing results different to what the same expressions
+   yield when compiled into the program being debugged.  */
+
+static void
+mips_make_symbol_special (struct symbol *sym, struct objfile *objfile)
+{
+  if (SYMBOL_CLASS (sym) == LOC_BLOCK)
+    {
+      /* We are in symbol reading so it is OK to cast away constness.  */
+      struct block *block = (struct block *) SYMBOL_BLOCK_VALUE (sym);
+      CORE_ADDR compact_block_start;
+      struct bound_minimal_symbol msym;
+
+      compact_block_start = BLOCK_START (block) | 1;
+      msym = lookup_minimal_symbol_by_pc (compact_block_start);
+      if (msym.minsym && !msymbol_is_mips (msym.minsym))
+	{
+	  BLOCK_START (block) = compact_block_start;
+	}
+    }
 }
 
 /* XFER a value from the big/little/left end of the register.
@@ -1127,7 +1180,7 @@ mips_pc_is_mips (CORE_ADDR memaddr)
      stored by elfread.c in the high bit of the info field.  Use this
      to decide if the function is standard MIPS.  Otherwise if bit 0
      of the address is clear, then this is a standard MIPS function.  */
-  sym = lookup_minimal_symbol_by_pc (memaddr);
+  sym = lookup_minimal_symbol_by_pc (make_compact_addr (memaddr));
   if (sym.minsym)
     return msymbol_is_mips (sym.minsym);
   else
@@ -1145,7 +1198,7 @@ mips_pc_is_mips16 (struct gdbarch *gdbar
      elfread.c in the high bit of the info field.  Use this to decide
      if the function is MIPS16.  Otherwise if bit 0 of the address is
      set, then ELF file flags will tell if this is a MIPS16 function.  */
-  sym = lookup_minimal_symbol_by_pc (memaddr);
+  sym = lookup_minimal_symbol_by_pc (make_compact_addr (memaddr));
   if (sym.minsym)
     return msymbol_is_mips16 (sym.minsym);
   else
@@ -1164,7 +1217,7 @@ mips_pc_is_micromips (struct gdbarch *gd
      if the function is microMIPS.  Otherwise if bit 0 of the address
      is set, then ELF file flags will tell if this is a microMIPS
      function.  */
-  sym = lookup_minimal_symbol_by_pc (memaddr);
+  sym = lookup_minimal_symbol_by_pc (make_compact_addr (memaddr));
   if (sym.minsym)
     return msymbol_is_micromips (sym.minsym);
   else
@@ -1184,7 +1237,7 @@ mips_pc_isa (struct gdbarch *gdbarch, CO
      this to decide if the function is MIPS16 or microMIPS or normal
      MIPS.  Otherwise if bit 0 of the address is set, then ELF file
      flags will tell if this is a MIPS16 or a microMIPS function.  */
-  sym = lookup_minimal_symbol_by_pc (memaddr);
+  sym = lookup_minimal_symbol_by_pc (make_compact_addr (memaddr));
   if (sym.minsym)
     {
       if (msymbol_is_micromips (sym.minsym))
@@ -1205,6 +1258,67 @@ mips_pc_isa (struct gdbarch *gdbarch, CO
     }
 }
 
+/* Set the ISA bit correctly in the PC, used by DWARF-2 machinery.
+   The need for comes from the ISA bit having been cleared, making
+   addresses in FDE, range records, etc. referring to compressed code
+   different to those in line information, the symbol table and finally
+   the PC register.  That in turn confuses many operations.  */
+
+static CORE_ADDR
+mips_adjust_dwarf2_addr (CORE_ADDR pc)
+{
+  pc = unmake_compact_addr (pc);
+  return mips_pc_is_mips (pc) ? pc : make_compact_addr (pc);
+}
+
+/* Recalculate the line record requested so that the resulting PC has
+   the ISA bit set correctly, used by DWARF-2 machinery.  The need for
+   this adjustment comes from some records associated with compressed
+   code having the ISA bit cleared, most notably at function prologue
+   ends.  The ISA bit is in this context retrieved from the minimal
+   symbol covering the address requested, which in turn has been
+   constructed from the binary's symbol table rather than DWARF-2
+   information.  The correct setting of the ISA bit is required for
+   breakpoint addresses to correctly match against the stop PC.
+
+   As line entries can specify relative address adjustments we need to
+   keep track of the absolute value of the last line address recorded
+   in line information, so that we can calculate the actual address to
+   apply the ISA bit adjustment to.  We use PC for this tracking and
+   keep the original address there.
+
+   As such relative address adjustments can be odd within compressed
+   code we need to keep track of the last line address with the ISA
+   bit adjustment applied too, as the original address may or may not
+   have had the ISA bit set.  We use ADJ_PC for this tracking and keep
+   the adjusted address there.
+
+   For relative address adjustments we then use these variables to
+   calculate the address intended by line information, which will be
+   PC-relative, and return an updated adjustment carrying ISA bit
+   information, which will be ADJ_PC-relative.  For absolute address
+   adjustments we just return the same address that we store in ADJ_PC
+   too.
+
+   As the first line entry can be relative to an implied address value
+   of 0 we need to have the initial address set up that we store in PC
+   and ADJ_PC.  This is arranged with a call from `dwarf_decode_lines_1'
+   that sets PC to 0 and ADJ_PC accordingly, usually 0 as well.  */
+
+static CORE_ADDR
+mips_adjust_dwarf2_line (CORE_ADDR addr, int rel)
+{
+  static CORE_ADDR adj_pc;
+  static CORE_ADDR pc;
+  CORE_ADDR isa_pc;
+
+  pc = rel ? pc + addr : addr;
+  isa_pc = mips_adjust_dwarf2_addr (pc);
+  addr = rel ? isa_pc - adj_pc : isa_pc;
+  adj_pc = isa_pc;
+  return addr;
+}
+
 /* Various MIPS16 thunk (aka stub or trampoline) names.  */
 
 static const char mips_str_mips16_call_stub[] = "__mips16_call_stub_";
@@ -1254,8 +1368,6 @@ mips_read_pc (struct regcache *regcache)
   LONGEST pc;
 
   regcache_cooked_read_signed (regcache, regnum, &pc);
-  if (is_compact_addr (pc))
-    pc = unmake_compact_addr (pc);
   return pc;
 }
 
@@ -1265,8 +1377,6 @@ mips_unwind_pc (struct gdbarch *gdbarch,
   CORE_ADDR pc;
 
   pc = frame_unwind_register_signed (next_frame, gdbarch_pc_regnum (gdbarch));
-  if (is_compact_addr (pc))
-    pc = unmake_compact_addr (pc);
   /* macro/2012-04-20: This hack skips over MIPS16 call thunks as
      intermediate frames.  In this case we can get the caller's address
      from $ra, or if $ra contains an address within a thunk as well, then
@@ -1276,15 +1386,9 @@ mips_unwind_pc (struct gdbarch *gdbarch,
     {
       pc = frame_unwind_register_signed
 	     (next_frame, gdbarch_num_regs (gdbarch) + MIPS_RA_REGNUM);
-      if (is_compact_addr (pc))
-	pc = unmake_compact_addr (pc);
       if (mips_in_frame_stub (pc))
-	{
-	  pc = frame_unwind_register_signed
-		 (next_frame, gdbarch_num_regs (gdbarch) + MIPS_S2_REGNUM);
-	  if (is_compact_addr (pc))
-	    pc = unmake_compact_addr (pc);
-	}
+	pc = frame_unwind_register_signed
+	       (next_frame, gdbarch_num_regs (gdbarch) + MIPS_S2_REGNUM);
     }
   return pc;
 }
@@ -1318,10 +1422,7 @@ mips_write_pc (struct regcache *regcache
 {
   int regnum = gdbarch_pc_regnum (get_regcache_arch (regcache));
 
-  if (mips_pc_is_mips (pc))
-    regcache_cooked_write_unsigned (regcache, regnum, pc);
-  else
-    regcache_cooked_write_unsigned (regcache, regnum, make_compact_addr (pc));
+  regcache_cooked_write_unsigned (regcache, regnum, pc);
 }
 
 /* Fetch and return instruction from the specified location.  Handle
@@ -2121,10 +2222,13 @@ unpack_mips16 (struct gdbarch *gdbarch, 
 }
 
 
+/* Calculate the destination of a branch whose 16-bit opcode word is at PC,
+   and having a signed 16-bit OFFSET.  */
+
 static CORE_ADDR
 add_offset_16 (CORE_ADDR pc, int offset)
 {
-  return ((offset << 2) | ((pc + 2) & (~(CORE_ADDR) 0x0fffffff)));
+  return pc + (offset << 1) + 2;
 }
 
 static CORE_ADDR
@@ -2139,7 +2243,7 @@ extended_mips16_next_pc (struct frame_in
       {
 	struct upk_mips16 upk;
 	unpack_mips16 (gdbarch, pc, extension, insn, itype, &upk);
-	pc += (upk.offset << 1) + 2;
+	pc = add_offset_16 (pc, upk.offset);
 	break;
       }
     case 3:			/* JAL , JALX - Watch out, these are 32 bit
@@ -2147,7 +2251,7 @@ extended_mips16_next_pc (struct frame_in
       {
 	struct upk_mips16 upk;
 	unpack_mips16 (gdbarch, pc, extension, insn, jalxtype, &upk);
-	pc = add_offset_16 (pc, upk.offset);
+	pc = ((pc + 2) & (~(CORE_ADDR) 0x0fffffff)) | (upk.offset << 2);
 	if ((insn >> 10) & 0x01)	/* Exchange mode */
 	  pc = pc & ~0x01;	/* Clear low bit, indicate 32 bit mode.  */
 	else
@@ -2161,7 +2265,7 @@ extended_mips16_next_pc (struct frame_in
 	unpack_mips16 (gdbarch, pc, extension, insn, ritype, &upk);
 	reg = get_frame_register_signed (frame, mips_reg3_to_reg[upk.regx]);
 	if (reg == 0)
-	  pc += (upk.offset << 1) + 2;
+	  pc = add_offset_16 (pc, upk.offset);
 	else
 	  pc += 2;
 	break;
@@ -2173,7 +2277,7 @@ extended_mips16_next_pc (struct frame_in
 	unpack_mips16 (gdbarch, pc, extension, insn, ritype, &upk);
 	reg = get_frame_register_signed (frame, mips_reg3_to_reg[upk.regx]);
 	if (reg != 0)
-	  pc += (upk.offset << 1) + 2;
+	  pc = add_offset_16 (pc, upk.offset);
 	else
 	  pc += 2;
 	break;
@@ -2187,8 +2291,7 @@ extended_mips16_next_pc (struct frame_in
 	reg = get_frame_register_signed (frame, 24);  /* Test register is 24 */
 	if (((upk.regx == 0) && (reg == 0))	/* BTEZ */
 	    || ((upk.regx == 1) && (reg != 0)))	/* BTNEZ */
-	  /* pc = add_offset_16(pc,upk.offset) ; */
-	  pc += (upk.offset << 1) + 2;
+	  pc = add_offset_16 (pc, upk.offset);
 	else
 	  pc += 2;
 	break;
@@ -2258,6 +2361,48 @@ mips_next_pc (struct frame_info *frame, 
     return mips32_next_pc (frame, pc);
 }
 
+/* Return non-zero if the MIPS16 instruction INSN is a compact branch
+   or jump.  */
+
+static int
+mips16_instruction_is_compact_branch (unsigned short insn)
+{
+  switch (insn & 0xf800)
+    {
+    case 0xe800:
+      return (insn & 0x009f) == 0x80;	/* JALRC/JRC */
+    case 0x6000:
+      return (insn & 0x0600) == 0;	/* BTNEZ/BTEQZ */
+    case 0x2800:			/* BNEZ */
+    case 0x2000:			/* BEQZ */
+    case 0x1000:			/* B */
+      return 1;
+    default:
+      return 0;
+    }
+}
+
+/* Return non-zero if the microMIPS instruction INSN is a compact branch
+   or jump.  */
+
+static int
+micromips_instruction_is_compact_branch (unsigned short insn)
+{
+  switch (micromips_op (insn))
+    {
+    case 0x11:			/* POOL16C: bits 010001 */
+      return (b5s5_op (insn) == 0x18
+				/* JRADDIUSP: bits 010001 11000 */
+	      || b5s5_op (insn) == 0xd);
+				/* JRC: bits 010011 01101 */
+    case 0x10:			/* POOL32I: bits 010000 */
+      return (b5s5_op (insn) & 0x1d) == 0x5;
+				/* BEQZC/BNEZC: bits 010000 001x1 */
+    default:
+      return 0;
+    }
+}
+
 struct mips_frame_cache
 {
   CORE_ADDR base;
@@ -2335,6 +2480,10 @@ mips16_scan_prologue (struct gdbarch *gd
                       struct frame_info *this_frame,
                       struct mips_frame_cache *this_cache)
 {
+  int prev_non_prologue_insn = 0;
+  int this_non_prologue_insn;
+  int non_prologue_insns = 0;
+  CORE_ADDR prev_pc;
   CORE_ADDR cur_pc;
   CORE_ADDR frame_addr = 0;	/* Value of $r17, used as frame pointer.  */
   CORE_ADDR sp;
@@ -2345,11 +2494,13 @@ mips16_scan_prologue (struct gdbarch *gd
   unsigned inst = 0;		/* current instruction */
   unsigned entry_inst = 0;	/* the entry instruction */
   unsigned save_inst = 0;	/* the save instruction */
+  int prev_delay_slot = 0;
+  int in_delay_slot;
   int reg, offset;
 
   int extend_bytes = 0;
-  int prev_extend_bytes;
-  CORE_ADDR end_prologue_addr = 0;
+  int prev_extend_bytes = 0;
+  CORE_ADDR end_prologue_addr;
 
   /* Can be called when there's no process, and hence when there's no
      THIS_FRAME.  */
@@ -2362,9 +2513,16 @@ mips16_scan_prologue (struct gdbarch *gd
 
   if (limit_pc > start_pc + 200)
     limit_pc = start_pc + 200;
+  prev_pc = start_pc;
 
+  /* Permit at most one non-prologue non-control-transfer instruction
+     in the middle which may have been reordered by the compiler for
+     optimisation.  */
   for (cur_pc = start_pc; cur_pc < limit_pc; cur_pc += MIPS_INSN16_SIZE)
     {
+      this_non_prologue_insn = 0;
+      in_delay_slot = 0;
+
       /* Save the previous instruction.  If it's an EXTEND, we'll extract
          the immediate offset extension from it in mips16_get_imm.  */
       prev_inst = inst;
@@ -2454,21 +2612,40 @@ mips16_scan_prologue (struct gdbarch *gd
 	  if (prev_extend_bytes)		/* extend */
 	    save_inst |= prev_inst << 16;
 	}
-      else if ((inst & 0xf800) == 0x1800)	/* jal(x) */
-	cur_pc += MIPS_INSN16_SIZE;	/* 32-bit instruction */
       else if ((inst & 0xff1c) == 0x6704)	/* move reg,$a0-$a3 */
         {
           /* This instruction is part of the prologue, but we don't
              need to do anything special to handle it.  */
         }
+      else if (mips16_instruction_has_delay_slot (inst, 0))
+						/* JAL/JALR/JALX/JR */
+	{
+	  /* The instruction in the delay slot can be a part
+	     of the prologue, so move forward once more.  */
+	  in_delay_slot = 1;
+	  if (mips16_instruction_has_delay_slot (inst, 1))
+						/* JAL/JALX */
+	    {
+	      prev_extend_bytes = MIPS_INSN16_SIZE;
+	      cur_pc += MIPS_INSN16_SIZE;	/* 32-bit instruction */
+	    }
+	}
       else
         {
-          /* This instruction is not an instruction typically found
-             in a prologue, so we must have reached the end of the
-             prologue.  */
-          if (end_prologue_addr == 0)
-            end_prologue_addr = cur_pc - prev_extend_bytes;
+	  this_non_prologue_insn = 1;
         }
+
+      non_prologue_insns += this_non_prologue_insn;
+
+      /* A jump or branch, or enough non-prologue insns seen?  If so,
+         then we must have reached the end of the prologue by now.  */
+      if (prev_delay_slot || non_prologue_insns > 1
+	  || mips16_instruction_is_compact_branch (inst))
+	break;
+
+      prev_non_prologue_insn = this_non_prologue_insn;
+      prev_delay_slot = in_delay_slot;
+      prev_pc = cur_pc - prev_extend_bytes;
     }
 
   /* The entry instruction is typically the first instruction in a function,
@@ -2621,11 +2798,12 @@ mips16_scan_prologue (struct gdbarch *gd
         = this_cache->saved_regs[gdbarch_num_regs (gdbarch) + MIPS_RA_REGNUM];
     }
 
-  /* If we didn't reach the end of the prologue when scanning the function
-     instructions, then set end_prologue_addr to the address of the
-     instruction immediately after the last one we scanned.  */
-  if (end_prologue_addr == 0)
-    end_prologue_addr = cur_pc;
+  /* Set end_prologue_addr to the address of the instruction immediately
+     after the last one we scanned.  Unless the last one looked like a
+     non-prologue instruction (and we looked ahead), in which case use
+     its address instead.  */
+  end_prologue_addr = (prev_non_prologue_insn || prev_delay_slot
+		       ? prev_pc : cur_pc - prev_extend_bytes);
 
   return end_prologue_addr;
 }
@@ -2762,7 +2940,7 @@ micromips_scan_prologue (struct gdbarch 
 			 struct frame_info *this_frame,
 			 struct mips_frame_cache *this_cache)
 {
-  CORE_ADDR end_prologue_addr = 0;
+  CORE_ADDR end_prologue_addr;
   int prev_non_prologue_insn = 0;
   int frame_reg = MIPS_SP_REGNUM;
   int this_non_prologue_insn;
@@ -2770,6 +2948,8 @@ micromips_scan_prologue (struct gdbarch 
   long frame_offset = 0;	/* Size of stack frame.  */
   long frame_adjust = 0;	/* Offset of FP from SP.  */
   CORE_ADDR frame_addr = 0;	/* Value of $30, used as frame pointer.  */
+  int prev_delay_slot = 0;
+  int in_delay_slot;
   CORE_ADDR prev_pc;
   CORE_ADDR cur_pc;
   ULONGEST insn;		/* current instruction */
@@ -2806,6 +2986,7 @@ micromips_scan_prologue (struct gdbarch 
   for (cur_pc = start_pc; cur_pc < limit_pc; cur_pc += loc)
     {
       this_non_prologue_insn = 0;
+      in_delay_slot = 0;
       sp_adj = 0;
       loc = 0;
       insn = mips_fetch_instruction (gdbarch, ISA_MICROMIPS, cur_pc, NULL);
@@ -2958,9 +3139,15 @@ micromips_scan_prologue (struct gdbarch 
 	      break;
 
 	    default:
-	      this_non_prologue_insn = 1;
+	      /* The instruction in the delay slot can be a part
+	         of the prologue, so move forward once more.  */
+	      if (micromips_instruction_has_delay_slot (insn, 0))
+		in_delay_slot = 1;
+	      else
+		this_non_prologue_insn = 1;
 	      break;
 	    }
+	  insn >>= 16;
 	  break;
 
 	/* 16-bit instructions.  */
@@ -3015,7 +3202,12 @@ micromips_scan_prologue (struct gdbarch 
 	      break;
 
 	    default:
-	      this_non_prologue_insn = 1;
+	      /* The instruction in the delay slot can be a part
+	         of the prologue, so move forward once more.  */
+	      if (micromips_instruction_has_delay_slot (insn << 16, 0))
+		in_delay_slot = 1;
+	      else
+		this_non_prologue_insn = 1;
 	      break;
 	    }
 	  break;
@@ -3024,13 +3216,16 @@ micromips_scan_prologue (struct gdbarch 
 	frame_offset -= sp_adj;
 
       non_prologue_insns += this_non_prologue_insn;
-      /* Enough non-prologue insns seen or positive stack adjustment? */
-      if (end_prologue_addr == 0 && (non_prologue_insns > 1 || sp_adj > 0))
-	{
-	  end_prologue_addr = prev_non_prologue_insn ? prev_pc : cur_pc;
-	  break;
-	}
+
+      /* A jump or branch, enough non-prologue insns seen or positive
+         stack adjustment?  If so, then we must have reached the end
+         of the prologue by now.  */
+      if (prev_delay_slot || non_prologue_insns > 1 || sp_adj > 0
+	  || micromips_instruction_is_compact_branch (insn))
+	break;
+
       prev_non_prologue_insn = this_non_prologue_insn;
+      prev_delay_slot = in_delay_slot;
       prev_pc = cur_pc;
     }
 
@@ -3048,13 +3243,12 @@ micromips_scan_prologue (struct gdbarch 
 	= this_cache->saved_regs[gdbarch_num_regs (gdbarch) + MIPS_RA_REGNUM];
     }
 
-  /* If we didn't reach the end of the prologue when scanning the function
-     instructions, then set end_prologue_addr to the address of the
-     instruction immediately after the last one we scanned.  Unless the
-     last one looked like a non-prologue instruction (and we looked ahead),
-     in which case use its address instead.  */
-  if (end_prologue_addr == 0)
-    end_prologue_addr = prev_non_prologue_insn ? prev_pc : cur_pc;
+  /* Set end_prologue_addr to the address of the instruction immediately
+     after the last one we scanned.  Unless the last one looked like a
+     non-prologue instruction (and we looked ahead), in which case use
+     its address instead.  */
+  end_prologue_addr
+    = prev_non_prologue_insn || prev_delay_slot ? prev_pc : cur_pc;
 
   return end_prologue_addr;
 }
@@ -3202,17 +3396,22 @@ mips32_scan_prologue (struct gdbarch *gd
                       struct frame_info *this_frame,
                       struct mips_frame_cache *this_cache)
 {
-  CORE_ADDR cur_pc;
+  int prev_non_prologue_insn;
+  int this_non_prologue_insn;
+  int non_prologue_insns;
   CORE_ADDR frame_addr = 0; /* Value of $r30. Used by gcc for
 			       frame-pointer.  */
+  int prev_delay_slot;
+  CORE_ADDR prev_pc;
+  CORE_ADDR cur_pc;
   CORE_ADDR sp;
   long frame_offset;
   int  frame_reg = MIPS_SP_REGNUM;
 
-  CORE_ADDR end_prologue_addr = 0;
+  CORE_ADDR end_prologue_addr;
   int seen_sp_adjust = 0;
   int load_immediate_bytes = 0;
-  int in_delay_slot = 0;
+  int in_delay_slot;
   int regsize_is_64_bits = (mips_abi_regsize (gdbarch) == 8);
 
   /* Can be called when there's no process, and hence when there's no
@@ -3228,28 +3427,39 @@ mips32_scan_prologue (struct gdbarch *gd
     limit_pc = start_pc + 200;
 
 restart:
+  prev_non_prologue_insn = 0;
+  non_prologue_insns = 0;
+  prev_delay_slot = 0;
+  prev_pc = start_pc;
 
+  /* Permit at most one non-prologue non-control-transfer instruction
+     in the middle which may have been reordered by the compiler for
+     optimisation.  */
   frame_offset = 0;
   for (cur_pc = start_pc; cur_pc < limit_pc; cur_pc += MIPS_INSN32_SIZE)
     {
-      unsigned long inst, high_word, low_word;
+      unsigned long inst, high_word;
+      long offset;
       int reg;
 
+      this_non_prologue_insn = 0;
+      in_delay_slot = 0;
+
       /* Fetch the instruction.  */
       inst = (unsigned long) mips_fetch_instruction (gdbarch, ISA_MIPS,
 						     cur_pc, NULL);
 
       /* Save some code by pre-extracting some useful fields.  */
       high_word = (inst >> 16) & 0xffff;
-      low_word = inst & 0xffff;
+      offset = ((inst & 0xffff) ^ 0x8000) - 0x8000;
       reg = high_word & 0x1f;
 
       if (high_word == 0x27bd		/* addiu $sp,$sp,-i */
 	  || high_word == 0x23bd	/* addi $sp,$sp,-i */
 	  || high_word == 0x67bd)	/* daddiu $sp,$sp,-i */
 	{
-	  if (low_word & 0x8000)	/* Negative stack adjustment?  */
-            frame_offset += 0x10000 - low_word;
+	  if (offset < 0)		/* Negative stack adjustment?  */
+            frame_offset -= offset;
 	  else
 	    /* Exit loop if a positive stack adjustment is found, which
 	       usually means that the stack cleanup code in the function
@@ -3260,19 +3470,19 @@ restart:
       else if (((high_word & 0xFFE0) == 0xafa0) /* sw reg,offset($sp) */
                && !regsize_is_64_bits)
 	{
-	  set_reg_offset (gdbarch, this_cache, reg, sp + low_word);
+	  set_reg_offset (gdbarch, this_cache, reg, sp + offset);
 	}
       else if (((high_word & 0xFFE0) == 0xffa0)	/* sd reg,offset($sp) */
                && regsize_is_64_bits)
 	{
 	  /* Irix 6.2 N32 ABI uses sd instructions for saving $gp and $ra.  */
-	  set_reg_offset (gdbarch, this_cache, reg, sp + low_word);
+	  set_reg_offset (gdbarch, this_cache, reg, sp + offset);
 	}
       else if (high_word == 0x27be)	/* addiu $30,$sp,size */
 	{
 	  /* Old gcc frame, r30 is virtual frame pointer.  */
-	  if ((long) low_word != frame_offset)
-	    frame_addr = sp + low_word;
+	  if (offset != frame_offset)
+	    frame_addr = sp + offset;
 	  else if (this_frame && frame_reg == MIPS_SP_REGNUM)
 	    {
 	      unsigned alloca_adjust;
@@ -3282,7 +3492,7 @@ restart:
 		(this_frame, gdbarch_num_regs (gdbarch) + 30);
 	      frame_offset = 0;
 
-	      alloca_adjust = (unsigned) (frame_addr - (sp + low_word));
+	      alloca_adjust = (unsigned) (frame_addr - (sp + offset));
 	      if (alloca_adjust > 0)
 		{
                   /* FP > SP + frame_size.  This may be because of
@@ -3331,7 +3541,7 @@ restart:
       else if ((high_word & 0xFFE0) == 0xafc0 	/* sw reg,offset($30) */
                && !regsize_is_64_bits)
 	{
-	  set_reg_offset (gdbarch, this_cache, reg, frame_addr + low_word);
+	  set_reg_offset (gdbarch, this_cache, reg, frame_addr + offset);
 	}
       else if ((high_word & 0xFFE0) == 0xE7A0 /* swc1 freg,n($sp) */
                || (high_word & 0xF3E0) == 0xA3C0 /* sx reg,n($s8) */
@@ -3351,6 +3561,7 @@ restart:
          initialize a local variable, so we accept them only before
          a stack adjustment instruction was seen.  */
       else if (!seen_sp_adjust
+	       && !prev_delay_slot
 	       && (high_word == 0x3c01 /* lui $at,n */
 		   || high_word == 0x3c08 /* lui $t0,n */
 		   || high_word == 0x3421 /* ori $at,$at,n */
@@ -3359,31 +3570,32 @@ restart:
 		   || high_word == 0x3408 /* ori $t0,$zero,n */
 		  ))
 	{
-	  if (end_prologue_addr == 0)
-	    load_immediate_bytes += MIPS_INSN32_SIZE;		/* FIXME!  */
+	  load_immediate_bytes += MIPS_INSN32_SIZE;		/* FIXME!  */
 	}
+      /* Check for branches and jumps.  The instruction in the delay
+         slot can be a part of the prologue, so move forward once more.  */
+      else if (mips32_instruction_has_delay_slot (gdbarch, inst))
+	{
+	  in_delay_slot = 1;
+	}
+      /* This instruction is not an instruction typically found
+         in a prologue, so we must have reached the end of the
+         prologue.  */
       else
 	{
-	  /* This instruction is not an instruction typically found
-	     in a prologue, so we must have reached the end of the
-	     prologue.  */
-	  /* FIXME: brobecker/2004-10-10: Can't we just break out of this
-	     loop now?  Why would we need to continue scanning the function
-	     instructions?  */
-	  if (end_prologue_addr == 0)
-	    end_prologue_addr = cur_pc;
-
-	  /* Check for branches and jumps.  For now, only jump to
-	     register are caught (i.e. returns).  */
-	  if ((itype_op (inst) & 0x07) == 0 && rtype_funct (inst) == 8)
-	    in_delay_slot = 1;
-	}
-
-      /* If the previous instruction was a jump, we must have reached
-	 the end of the prologue by now.  Stop scanning so that we do
-	 not go past the function return.  */
-      if (in_delay_slot)
+	  this_non_prologue_insn = 1;
+	}
+
+      non_prologue_insns += this_non_prologue_insn;
+
+      /* A jump or branch, or enough non-prologue insns seen?  If so,
+         then we must have reached the end of the prologue by now.  */
+      if (prev_delay_slot || non_prologue_insns > 1)
 	break;
+
+      prev_non_prologue_insn = this_non_prologue_insn;
+      prev_delay_slot = in_delay_slot;
+      prev_pc = cur_pc;
     }
 
   if (this_cache != NULL)
@@ -3401,14 +3613,12 @@ restart:
 				 + MIPS_RA_REGNUM];
     }
 
-  /* If we didn't reach the end of the prologue when scanning the function
-     instructions, then set end_prologue_addr to the address of the
-     instruction immediately after the last one we scanned.  */
-  /* brobecker/2004-10-10: I don't think this would ever happen, but
-     we may as well be careful and do our best if we have a null
-     end_prologue_addr.  */
-  if (end_prologue_addr == 0)
-    end_prologue_addr = cur_pc;
+  /* Set end_prologue_addr to the address of the instruction immediately
+     after the last one we scanned.  Unless the last one looked like a
+     non-prologue instruction (and we looked ahead), in which case use
+     its address instead.  */
+  end_prologue_addr
+    = prev_non_prologue_insn || prev_delay_slot ? prev_pc : cur_pc;
      
   /* In a frameless function, we might have incorrectly
      skipped some load immediate instructions.  Undo the skipping
@@ -3652,9 +3862,6 @@ mips_addr_bits_remove (struct gdbarch *g
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-  if (is_compact_addr (addr))
-    addr = unmake_compact_addr (addr);
-
   if (mips_mask_address_p (tdep) && (((ULONGEST) addr) >> 32 == 0xffffffffUL))
     /* This hack is a work-around for existing boards using PMON, the
        simulator, and any other 64-bit targets that doesn't have true
@@ -4353,25 +4560,9 @@ mips_eabi_push_dummy_call (struct gdbarc
 			    "mips_eabi_push_dummy_call: %d len=%d type=%d",
 			    argnum + 1, len, (int) typecode);
 
-      /* Function pointer arguments to mips16 code need to be made into
-         mips16 pointers.  */
-      if (typecode == TYPE_CODE_PTR
-          && TYPE_CODE (TYPE_TARGET_TYPE (arg_type)) == TYPE_CODE_FUNC)
-	{
-	  CORE_ADDR addr = extract_signed_integer (value_contents (arg),
-						   len, byte_order);
-	  if (mips_pc_is_mips (addr))
-	    val = value_contents (arg);
-	  else
-	    {
-	      store_signed_integer (valbuf, len, byte_order, 
-				    make_compact_addr (addr));
-	      val = valbuf;
-	    }
-	}
       /* The EABI passes structures that do not fit in a register by
          reference.  */
-      else if (len > regsize
+      if (len > regsize
 	  && (typecode == TYPE_CODE_STRUCT || typecode == TYPE_CODE_UNION))
 	{
 	  store_unsigned_integer (valbuf, regsize, byte_order,
@@ -5736,7 +5927,6 @@ mips_o64_push_dummy_call (struct gdbarch
   for (argnum = 0; argnum < nargs; argnum++)
     {
       const gdb_byte *val;
-      gdb_byte valbuf[MAX_REGISTER_SIZE];
       struct value *arg = args[argnum];
       struct type *arg_type = check_typedef (value_type (arg));
       int len = TYPE_LENGTH (arg_type);
@@ -5749,21 +5939,6 @@ mips_o64_push_dummy_call (struct gdbarch
 
       val = value_contents (arg);
 
-      /* Function pointer arguments to mips16 code need to be made into
-         mips16 pointers.  */
-      if (typecode == TYPE_CODE_PTR
-          && TYPE_CODE (TYPE_TARGET_TYPE (arg_type)) == TYPE_CODE_FUNC)
-	{
-	  CORE_ADDR addr = extract_signed_integer (value_contents (arg),
-						   len, byte_order);
-	  if (!mips_pc_is_mips (addr))
-	    {
-	      store_signed_integer (valbuf, len, byte_order, 
-				    make_compact_addr (addr));
-	      val = valbuf;
-	    }
-	}
-
       /* Floating point arguments passed in registers have to be
          treated specially.  On 32-bit architectures, doubles are
          passed in register pairs; the even FP register gets the
@@ -6196,12 +6371,6 @@ mips_print_register (struct ui_file *fil
     }
 
   val = get_frame_register_value (frame, regnum);
-  if (value_optimized_out (val))
-    {
-      fprintf_filtered (file, "%s: [Invalid]",
-			gdbarch_register_name (gdbarch, regnum));
-      return;
-    }
 
   fputs_filtered (gdbarch_register_name (gdbarch, regnum), file);
 
@@ -6222,6 +6391,94 @@ mips_print_register (struct ui_file *fil
 			      &opts, 0, file);
 }
 
+/* Print IEEE exception condition bits in FLAGS.  */
+
+static void
+print_fpu_flags (struct ui_file *file, int flags)
+{
+  if (flags & (1 << 0))
+    fputs_filtered (" inexact", file);
+  if (flags & (1 << 1))
+    fputs_filtered (" uflow", file);
+  if (flags & (1 << 2))
+    fputs_filtered (" oflow", file);
+  if (flags & (1 << 3))
+    fputs_filtered (" div0", file);
+  if (flags & (1 << 4))
+    fputs_filtered (" inval", file);
+  if (flags & (1 << 5))
+    fputs_filtered (" unimp", file);
+  fputc_filtered ('\n', file);
+}
+
+/* Print interesting information about the floating point processor
+   (if present) or emulator.  */
+
+static void
+mips_print_float_info (struct gdbarch *gdbarch, struct ui_file *file,
+		      struct frame_info *frame, const char *args)
+{
+  int fcsr = mips_regnum (gdbarch)->fp_control_status;
+  enum mips_fpu_type type = MIPS_FPU_TYPE (gdbarch);
+  ULONGEST fcs = 0;
+  int i;
+
+  if (fcsr == -1 || !read_frame_register_unsigned (frame, fcsr, &fcs))
+    type = MIPS_FPU_NONE;
+
+  fprintf_filtered (file, "fpu type: %s\n",
+		    type == MIPS_FPU_DOUBLE ? "double-precision"
+		    : type == MIPS_FPU_SINGLE ? "single-precision"
+		    : "none / unused");
+
+  if (type == MIPS_FPU_NONE)
+    return;
+
+  fprintf_filtered (file, "reg size: %d bits\n",
+		    register_size (gdbarch, mips_regnum (gdbarch)->fp0) * 8);
+
+  fputs_filtered ("cond    :", file);
+  if (fcs & (1 << 23))
+    fputs_filtered (" 0", file);
+  for (i = 1; i <= 7; i++)
+    if (fcs & (1 << (24 + i)))
+      fprintf_filtered (file, " %d", i);
+  fputc_filtered ('\n', file);
+
+  fputs_filtered ("cause   :", file);
+  print_fpu_flags (file, (fcs >> 12) & 0x3f);
+  fputs ("mask    :", stdout);
+  print_fpu_flags (file, (fcs >> 7) & 0x1f);
+  fputs ("flags   :", stdout);
+  print_fpu_flags (file, (fcs >> 2) & 0x1f);
+
+  fputs_filtered ("rounding: ", file);
+  switch (fcs & 3)
+    {
+    case 0: fputs_filtered ("nearest\n", file); break;
+    case 1: fputs_filtered ("zero\n", file); break;
+    case 2: fputs_filtered ("+inf\n", file); break;
+    case 3: fputs_filtered ("-inf\n", file); break;
+    }
+
+  fputs_filtered ("flush   :", file);
+  if (fcs & (1 << 21))
+    fputs_filtered (" nearest", file);
+  if (fcs & (1 << 22))
+    fputs_filtered (" override", file);
+  if (fcs & (1 << 24))
+    fputs_filtered (" zero", file);
+  if ((fcs & (0xb << 21)) == 0)
+    fputs_filtered (" no", file);
+  fputc_filtered ('\n', file);
+
+  fprintf_filtered (file, "nan2008 : %s\n", fcs & (1 << 18) ? "yes" : "no");
+  fprintf_filtered (file, "abs2008 : %s\n", fcs & (1 << 19) ? "yes" : "no");
+  fputc_filtered ('\n', file);
+
+  default_print_float_info (gdbarch, file, frame, args);
+}
+
 /* Replacement for generic do_registers_info.
    Print regs in pretty columns.  */
 
@@ -6378,11 +6635,11 @@ mips_single_step_through_delay (struct g
   int size;
 
   if ((mips_pc_is_mips (pc)
-       && !mips32_instruction_has_delay_slot (gdbarch, pc))
+       && !mips32_insn_at_pc_has_delay_slot (gdbarch, pc))
       || (mips_pc_is_micromips (gdbarch, pc)
-	  && !micromips_instruction_has_delay_slot (gdbarch, pc, 0))
+	  && !micromips_insn_at_pc_has_delay_slot (gdbarch, pc, 0))
       || (mips_pc_is_mips16 (gdbarch, pc)
-	  && !mips16_instruction_has_delay_slot (gdbarch, pc, 0)))
+	  && !mips16_insn_at_pc_has_delay_slot (gdbarch, pc, 0)))
     return 0;
 
   isa = mips_pc_isa (gdbarch, pc);
@@ -6972,23 +7229,17 @@ mips_remote_breakpoint_from_pc (struct g
     *kindptr = 4;
 }
 
-/* Return non-zero if the ADDR instruction has a branch delay slot
-   (i.e. it is a jump or branch instruction).  This function is based
-   on mips32_next_pc.  */
+/* Return non-zero if the standard MIPS instruction INST has a branch
+   delay slot (i.e. it is a jump or branch instruction).  This function
+   is based on mips32_next_pc.  */
 
 static int
-mips32_instruction_has_delay_slot (struct gdbarch *gdbarch, CORE_ADDR addr)
+mips32_instruction_has_delay_slot (struct gdbarch *gdbarch, ULONGEST inst)
 {
-  unsigned long inst;
-  int status;
   int op;
   int rs;
   int rt;
 
-  inst = mips_fetch_instruction (gdbarch, ISA_MIPS, addr, &status);
-  if (status)
-    return 0;
-
   op = itype_op (inst);
   if ((inst & 0xe0000000) != 0)
     {
@@ -7028,93 +7279,139 @@ mips32_instruction_has_delay_slot (struc
       }
 }
 
-/* Return non-zero if the ADDR instruction, which must be a 32-bit
-   instruction if MUSTBE32 is set or can be any instruction otherwise,
-   has a branch delay slot (i.e. it is a non-compact jump instruction).  */
+/* Return non-zero if a standard MIPS instruction at ADDR has a branch
+   delay slot (i.e. it is a jump or branch instruction).  */
 
 static int
-micromips_instruction_has_delay_slot (struct gdbarch *gdbarch,
-				      CORE_ADDR addr, int mustbe32)
+mips32_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch, CORE_ADDR addr)
 {
   ULONGEST insn;
   int status;
 
-  insn = mips_fetch_instruction (gdbarch, ISA_MICROMIPS, addr, &status);
+  insn = mips_fetch_instruction (gdbarch, ISA_MIPS, addr, &status);
   if (status)
     return 0;
 
-  if (!mustbe32)		/* 16-bit instructions.  */
-    return (micromips_op (insn) == 0x11
-				/* POOL16C: bits 010001 */
-	    && (b5s5_op (insn) == 0xc
+  return mips32_instruction_has_delay_slot (gdbarch, insn);
+}
+
+/* Return non-zero if the microMIPS instruction INSN, comprising the
+   16-bit major opcode word in the high 16 bits and any second word
+   in the low 16 bits, has a branch delay slot (i.e. it is a non-compact
+   jump or branch instruction).  The instruction must be 32-bit if
+   MUSTBE32 is set or can be any instruction otherwise.  */
+
+static int
+micromips_instruction_has_delay_slot (ULONGEST insn, int mustbe32)
+{
+  ULONGEST major = insn >> 16;
+
+  switch (micromips_op (major))
+    {
+    /* 16-bit instructions.  */
+    case 0x33:			/* B16: bits 110011 */
+    case 0x2b:			/* BNEZ16: bits 101011 */
+    case 0x23:			/* BEQZ16: bits 100011 */
+      return !mustbe32;
+    case 0x11:			/* POOL16C: bits 010001 */
+      return (!mustbe32
+	      && ((b5s5_op (major) == 0xc
 				/* JR16: bits 010001 01100 */
-		|| (b5s5_op (insn) & 0x1e) == 0xe))
+		  || (b5s5_op (major) & 0x1e) == 0xe)));
 				/* JALR16, JALRS16: bits 010001 0111x */
-	   || (micromips_op (insn) & 0x37) == 0x23
-				/* BEQZ16, BNEZ16: bits 10x011 */
-	   || micromips_op (insn) == 0x33;
-				/* B16: bits 110011 */
-
-				/* 32-bit instructions.  */
-  if (micromips_op (insn) == 0x0)
-				/* POOL32A: bits 000000 */
-    {
-      insn <<= 16;
-      insn |= mips_fetch_instruction (gdbarch, ISA_MICROMIPS, addr, &status);
-      if (status)
-	return 0;
-      return b0s6_op (insn) == 0x3c
-				/* POOL32Axf: bits 000000 ... 111100 */
-	     && (b6s10_ext (insn) & 0x2bf) == 0x3c;
-				/* JALR, JALR.HB: 000000 000x111100 111100 */
-				/* JALRS, JALRS.HB: 000000 010x111100 111100 */
-    }
-
-  return (micromips_op (insn) == 0x10
-				/* POOL32I: bits 010000 */
-	  && ((b5s5_op (insn) & 0x1c) == 0x0
+    /* 32-bit instructions.  */
+    case 0x3d:			/* JAL: bits 111101 */
+    case 0x3c:			/* JALX: bits 111100 */
+    case 0x35:			/* J: bits 110101 */
+    case 0x2d:			/* BNE: bits 101101 */
+    case 0x25:			/* BEQ: bits 100101 */
+    case 0x1d:			/* JALS: bits 011101 */
+      return 1;
+    case 0x10:			/* POOL32I: bits 010000 */
+      return ((b5s5_op (major) & 0x1c) == 0x0
 				/* BLTZ, BLTZAL, BGEZ, BGEZAL: 010000 000xx */
-	      || (b5s5_op (insn) & 0x1d) == 0x4
+	      || (b5s5_op (major) & 0x1d) == 0x4
 				/* BLEZ, BGTZ: bits 010000 001x0 */
-	      || (b5s5_op (insn) & 0x1d) == 0x11
+	      || (b5s5_op (major) & 0x1d) == 0x11
 				/* BLTZALS, BGEZALS: bits 010000 100x1 */
-	      || ((b5s5_op (insn) & 0x1e) == 0x14
-		  && (insn & 0x3) == 0x0)
+	      || ((b5s5_op (major) & 0x1e) == 0x14
+		  && (major & 0x3) == 0x0)
 				/* BC2F, BC2T: bits 010000 1010x xxx00 */
-	      || (b5s5_op (insn) & 0x1e) == 0x1a
+	      || (b5s5_op (major) & 0x1e) == 0x1a
 				/* BPOSGE64, BPOSGE32: bits 010000 1101x */
-	      || ((b5s5_op (insn) & 0x1e) == 0x1c
-		  && (insn & 0x3) == 0x0)
+	      || ((b5s5_op (major) & 0x1e) == 0x1c
+		  && (major & 0x3) == 0x0)
 				/* BC1F, BC1T: bits 010000 1110x xxx00 */
-	      || ((b5s5_op (insn) & 0x1c) == 0x1c
-		  && (insn & 0x3) == 0x1)))
+	      || ((b5s5_op (major) & 0x1c) == 0x1c
+		  && (major & 0x3) == 0x1));
 				/* BC1ANY*: bits 010000 111xx xxx01 */
-	 || (micromips_op (insn) & 0x1f) == 0x1d
-				/* JALS, JAL: bits x11101 */
-	 || (micromips_op (insn) & 0x37) == 0x25
-				/* BEQ, BNE: bits 10x101 */
-	 || micromips_op (insn) == 0x35
-				/* J: bits 110101 */
-	 || micromips_op (insn) == 0x3c;
-				/* JALX: bits 111100 */
+    case 0x0:			/* POOL32A: bits 000000 */
+      return (b0s6_op (insn) == 0x3c
+				/* POOL32Axf: bits 000000 ... 111100 */
+	      && (b6s10_ext (insn) & 0x2bf) == 0x3c);
+				/* JALR, JALR.HB: 000000 000x111100 111100 */
+				/* JALRS, JALRS.HB: 000000 010x111100 111100 */
+    default:
+      return 0;
+    }
 }
 
+/* Return non-zero if a microMIPS instruction at ADDR has a branch delay
+   slot (i.e. it is a non-compact jump instruction).  The instruction
+   must be 32-bit if MUSTBE32 is set or can be any instruction otherwise.  */
+
 static int
-mips16_instruction_has_delay_slot (struct gdbarch *gdbarch, CORE_ADDR addr,
-				   int mustbe32)
+micromips_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch,
+				     CORE_ADDR addr, int mustbe32)
 {
-  unsigned short inst;
+  ULONGEST insn;
   int status;
 
-  inst = mips_fetch_instruction (gdbarch, ISA_MIPS16, addr, &status);
+  insn = mips_fetch_instruction (gdbarch, ISA_MICROMIPS, addr, &status);
   if (status)
     return 0;
+  insn <<= 16;
+  if (mips_insn_size (ISA_MICROMIPS, insn) == 2 * MIPS_INSN16_SIZE)
+    {
+      insn |= mips_fetch_instruction (gdbarch, ISA_MICROMIPS, addr, &status);
+      if (status)
+	return 0;
+    }
 
-  if (!mustbe32)
-    return (inst & 0xf89f) == 0xe800;	/* JR/JALR (16-bit instruction)  */
+  return micromips_instruction_has_delay_slot (insn, mustbe32);
+}
+
+/* Return non-zero if the MIPS16 instruction INST, which must be
+   a 32-bit instruction if MUSTBE32 is set or can be any instruction
+   otherwise, has a branch delay slot (i.e. it is a non-compact jump
+   instruction).  This function is based on mips16_next_pc.  */
+
+static int
+mips16_instruction_has_delay_slot (unsigned short inst, int mustbe32)
+{
+  if ((inst & 0xf89f) == 0xe800)	/* JR/JALR (16-bit instruction)  */
+    return !mustbe32;
   return (inst & 0xf800) == 0x1800;	/* JAL/JALX (32-bit instruction)  */
 }
 
+/* Return non-zero if a MIPS16 instruction at ADDR has a branch delay
+   slot (i.e. it is a non-compact jump instruction).  The instruction
+   must be 32-bit if MUSTBE32 is set or can be any instruction otherwise.  */
+
+static int
+mips16_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch,
+				  CORE_ADDR addr, int mustbe32)
+{
+  unsigned short insn;
+  int status;
+
+  insn = mips_fetch_instruction (gdbarch, ISA_MIPS16, addr, &status);
+  if (status)
+    return 0;
+
+  return mips16_instruction_has_delay_slot (insn, mustbe32);
+}
+
 /* Calculate the starting address of the MIPS memory segment BPADDR is in.
    This assumes KSSEG exists.  */
 
@@ -7206,12 +7503,12 @@ mips_adjust_breakpoint_address (struct g
       /* If the previous instruction has a branch delay slot, we have
          to move the breakpoint to the branch instruction. */
       prev_addr = bpaddr - 4;
-      if (mips32_instruction_has_delay_slot (gdbarch, prev_addr))
+      if (mips32_insn_at_pc_has_delay_slot (gdbarch, prev_addr))
 	bpaddr = prev_addr;
     }
   else
     {
-      int (*instruction_has_delay_slot) (struct gdbarch *, CORE_ADDR, int);
+      int (*insn_at_pc_has_delay_slot) (struct gdbarch *, CORE_ADDR, int);
       CORE_ADDR addr, jmpaddr;
       int i;
 
@@ -7225,9 +7522,9 @@ mips_adjust_breakpoint_address (struct g
          2 bytes, so the idea is the same.
          FIXME: We have to assume that bpaddr is not the second half
          of an extended instruction.  */
-      instruction_has_delay_slot = (mips_pc_is_micromips (gdbarch, bpaddr)
-				     ? micromips_instruction_has_delay_slot
-				     : mips16_instruction_has_delay_slot);
+      insn_at_pc_has_delay_slot = (mips_pc_is_micromips (gdbarch, bpaddr)
+				   ? micromips_insn_at_pc_has_delay_slot
+				   : mips16_insn_at_pc_has_delay_slot);
 
       jmpaddr = 0;
       addr = bpaddr;
@@ -7236,12 +7533,12 @@ mips_adjust_breakpoint_address (struct g
 	  if (unmake_compact_addr (addr) == boundary)
 	    break;
 	  addr -= MIPS_INSN16_SIZE;
-	  if (i == 1 && instruction_has_delay_slot (gdbarch, addr, 0))
+	  if (i == 1 && insn_at_pc_has_delay_slot (gdbarch, addr, 0))
 	    /* Looks like a JR/JALR at [target-1], but it could be
 	       the second word of a previous JAL/JALX, so record it
 	       and check back one more.  */
 	    jmpaddr = addr;
-	  else if (i > 1 && instruction_has_delay_slot (gdbarch, addr, 1))
+	  else if (i > 1 && insn_at_pc_has_delay_slot (gdbarch, addr, 1))
 	    {
 	      if (i == 2)
 		/* Looks like a JAL/JALX at [target-2], but it could also
@@ -7686,27 +7983,15 @@ mips_skip_trampoline_code (struct frame_
 
       new_pc = mips_skip_mips16_trampoline_code (frame, pc);
       if (new_pc)
-	{
-	  pc = new_pc;
-	  if (is_compact_addr (pc))
-	    pc = unmake_compact_addr (pc);
-	}
+	pc = new_pc;
 
       new_pc = find_solib_trampoline_target (frame, pc);
       if (new_pc)
-	{
-	  pc = new_pc;
-	  if (is_compact_addr (pc))
-	    pc = unmake_compact_addr (pc);
-	}
+	pc = new_pc;
 
       new_pc = mips_skip_pic_trampoline_code (frame, pc);
       if (new_pc)
-	{
-	  pc = new_pc;
-	  if (is_compact_addr (pc))
-	    pc = unmake_compact_addr (pc);
-	}
+	pc = new_pc;
     }
   while (pc != target_pc);
 
@@ -8296,12 +8581,14 @@ mips_gdbarch_init (struct gdbarch_info i
        arches != NULL;
        arches = gdbarch_list_lookup_by_info (arches->next, &info))
     {
-      /* MIPS needs to be pedantic about which ABI the object is
-         using.  */
+      /* MIPS needs to be pedantic about which ABI and the compressed
+         ISA variation the object is using.  */
       if (gdbarch_tdep (arches->gdbarch)->elf_flags != elf_flags)
 	continue;
       if (gdbarch_tdep (arches->gdbarch)->mips_abi != mips_abi)
 	continue;
+      if (gdbarch_tdep (arches->gdbarch)->mips_isa != mips_isa)
+	continue;
       /* Need to be pedantic about which register virtual size is
          used.  */
       if (gdbarch_tdep (arches->gdbarch)->mips64_transfers_32bit_regs_p
@@ -8360,6 +8647,9 @@ mips_gdbarch_init (struct gdbarch_info i
 
   set_gdbarch_elf_make_msymbol_special (gdbarch,
 					mips_elf_make_msymbol_special);
+  set_gdbarch_make_symbol_special (gdbarch, mips_make_symbol_special);
+  set_gdbarch_adjust_dwarf2_addr (gdbarch, mips_adjust_dwarf2_addr);
+  set_gdbarch_adjust_dwarf2_line (gdbarch, mips_adjust_dwarf2_line);
 
   regnum = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct mips_regnum);
   *regnum = mips_regnum;
@@ -8539,6 +8829,8 @@ mips_gdbarch_init (struct gdbarch_info i
   set_gdbarch_push_dummy_code (gdbarch, mips_push_dummy_code);
   set_gdbarch_frame_align (gdbarch, mips_frame_align);
 
+  set_gdbarch_print_float_info (gdbarch, mips_print_float_info);
+
   set_gdbarch_convert_register_p (gdbarch, mips_convert_register_p);
   set_gdbarch_register_to_value (gdbarch, mips_register_to_value);
   set_gdbarch_value_to_register (gdbarch, mips_value_to_register);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-tdep.h ./gdb/mips-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mips-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mips-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent header for the MIPS architecture, for GDB, the GNU Debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -48,6 +48,10 @@ enum mips_isa
     ISA_MICROMIPS
   };
 
+/* Corresponding MSYMBOL_TARGET_FLAG aliases.  */
+#define MSYMBOL_TARGET_FLAG_MIPS16 MSYMBOL_TARGET_FLAG_1
+#define MSYMBOL_TARGET_FLAG_MICROMIPS MSYMBOL_TARGET_FLAG_2
+
 /* Return the MIPS ISA's register size.  Just a short cut to the BFD
    architecture's word size.  */
 extern int mips_isa_regsize (struct gdbarch *gdbarch);
@@ -155,6 +159,9 @@ enum
 /* Single step based on where the current instruction will take us.  */
 extern int mips_software_single_step (struct frame_info *frame);
 
+/* Strip the ISA (compression) bit off from ADDR.  */
+extern CORE_ADDR mips_unmake_compact_addr (CORE_ADDR addr);
+
 /* Tell if the program counter value in MEMADDR is in a standard
    MIPS function.  */
 extern int mips_pc_is_mips (bfd_vma memaddr);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mn10300-linux-tdep.c ./gdb/mn10300-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mn10300-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mn10300-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Matsushita MN10300 for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,10 +19,8 @@
 
 #include "defs.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "regcache.h"
 #include "mn10300-tdep.h"
-#include "gdb_assert.h"
 #include "bfd.h"
 #include "elf-bfd.h"
 #include "osabi.h"
@@ -33,8 +31,6 @@
 #include "tramp-frame.h"
 #include "linux-tdep.h"
 
-#include <stdlib.h>
-
 /* Transliterated from <asm-mn10300/elf.h>...  */
 #define MN10300_ELF_NGREG 28
 #define MN10300_ELF_NFPREG 32
@@ -461,17 +457,18 @@ static const struct regset am33_fpregset
     NULL, am33_supply_fpregset_method, am33_collect_fpregset_method
   };
 
-/* Create a struct regset from a corefile register section.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-am33_regset_from_core_section (struct gdbarch *gdbarch, 
-			       const char *sect_name, 
-			       size_t sect_size)
-{
-  if (sect_size == sizeof (mn10300_elf_fpregset_t))
-    return &am33_fpregset;
-  else
-    return &am33_gregset;
+static void
+am33_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				   iterate_over_regset_sections_cb *cb,
+				   void *cb_data,
+				   const struct regcache *regcache)
+{
+  cb (".reg", sizeof (mn10300_elf_gregset_t), &am33_gregset,
+      NULL, cb_data);
+  cb (".reg2", sizeof(mn10300_elf_fpregset_t), &am33_fpregset,
+      NULL, cb_data);
 }
 
 static void
@@ -718,8 +715,8 @@ am33_linux_init_osabi (struct gdbarch_in
 {
   linux_init_abi (info, gdbarch);
 
-  set_gdbarch_regset_from_core_section (gdbarch, 
-					am33_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, am33_iterate_over_regset_sections);
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mn10300-tdep.c ./gdb/mn10300-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mn10300-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mn10300-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Matsushita MN10300 for GDB, the GNU debugger.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,8 +22,6 @@
 #include "dis-asm.h"
 #include "gdbtypes.h"
 #include "regcache.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "gdbcore.h"	/* For write_memory_unsigned_integer.  */
 #include "value.h"
 #include "frame.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mn10300-tdep.h ./gdb/mn10300-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mn10300-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mn10300-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent interface for Matsushita MN10300 for GDB, the GNU debugger.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/monitor.c ./gdb/monitor.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/monitor.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/monitor.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote debugging interface for boot monitors, for GDB.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.  Written by Rob Savoye for Cygnus.
    Resurrected from the ashes by Stu Grossman.
@@ -40,10 +40,8 @@
 #include "defs.h"
 #include "gdbcore.h"
 #include "target.h"
-#include "exceptions.h"
 #include <signal.h>
 #include <ctype.h>
-#include <string.h>
 #include <sys/types.h>
 #include "command.h"
 #include "serial.h"
@@ -713,9 +711,9 @@ compile_pattern (char *pattern, struct r
    for communication.  */
 
 void
-monitor_open (char *args, struct monitor_ops *mon_ops, int from_tty)
+monitor_open (const char *args, struct monitor_ops *mon_ops, int from_tty)
 {
-  char *name;
+  const char *name;
   char **p;
   struct inferior *inf;
 
@@ -2080,7 +2078,7 @@ monitor_create_inferior (struct target_o
     error (_("Args are not supported by the monitor."));
 
   first_time = 1;
-  clear_proceed_status ();
+  clear_proceed_status (0);
   regcache_write_pc (get_current_regcache (),
 		     bfd_get_start_address (exec_bfd));
 }
@@ -2104,7 +2102,7 @@ static int
 monitor_insert_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch,
 			   struct bp_target_info *bp_tgt)
 {
-  CORE_ADDR addr = bp_tgt->placed_address;
+  CORE_ADDR addr = bp_tgt->placed_address = bp_tgt->reqstd_address;
   int i;
   int bplen;
 
@@ -2200,7 +2198,7 @@ monitor_wait_srec_ack (void)
 /* monitor_load -- download a file.  */
 
 static void
-monitor_load (struct target_ops *self, char *args, int from_tty)
+monitor_load (struct target_ops *self, const char *args, int from_tty)
 {
   CORE_ADDR load_offset = 0;
   char **argv;
@@ -2282,7 +2280,7 @@ monitor_stop (struct target_ops *self, p
    ourseleves here cause of a nasty echo.  */
 
 static void
-monitor_rcmd (struct target_ops *self, char *command,
+monitor_rcmd (struct target_ops *self, const char *command,
 	      struct ui_file *outbuf)
 {
   char *p;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/monitor.h ./gdb/monitor.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/monitor.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/monitor.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions for remote debugging interface for ROM monitors.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support. Written by Rob Savoye for Cygnus.
 
    This file is part of GDB.
@@ -239,7 +239,8 @@ struct monitor_ops
 
 #define SREC_SIZE 160
 
-extern void monitor_open (char *args, struct monitor_ops *ops, int from_tty);
+extern void monitor_open (const char *args, struct monitor_ops *ops,
+			  int from_tty);
 extern void monitor_close (struct target_ops *self);
 extern char *monitor_supply_register (struct regcache *regcache,
 				      int regno, char *valstr);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/moxie-tdep.c ./gdb/moxie-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/moxie-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/moxie-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Moxie.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,7 +25,6 @@
 #include "gdbtypes.h"
 #include "gdbcmd.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "value.h"
 #include "inferior.h"
 #include "symfile.h"
@@ -39,8 +38,6 @@
 #include "record.h"
 #include "record-full.h"
 
-#include "gdb_assert.h"
-
 #include "moxie-tdep.h"
 
 /* Local functions.  */
@@ -373,7 +370,7 @@ moxie_software_single_step (struct frame
       switch (opcode)
 	{
 	  /* 16-bit instructions.  */
-	case 0x00: /* nop */
+	case 0x00: /* bad */
 	case 0x02: /* mov (register-to-register) */
 	case 0x05: /* add.l */
 	case 0x06: /* push */
@@ -381,13 +378,13 @@ moxie_software_single_step (struct frame
 	case 0x0a: /* ld.l (register indirect) */
 	case 0x0b: /* st.l */
 	case 0x0e: /* cmp */
-	case 0x0f:
-	case 0x10:
-	case 0x11:
-	case 0x12:
-	case 0x13:
-	case 0x14:
-	case 0x15:
+	case 0x0f: /* nop */
+	case 0x10: /* sex.b */
+	case 0x11: /* sex.s */
+	case 0x12: /* zex.b */
+	case 0x13: /* zex.s */
+	case 0x14: /* umul.x */
+	case 0x15: /* mul.x */
 	case 0x16:
 	case 0x17:
 	case 0x18:
@@ -412,22 +409,26 @@ moxie_software_single_step (struct frame
 	  insert_single_step_breakpoint (gdbarch, aspace, addr + 2);
 	  break;
 
+	  /* 32-bit instructions.  */
+	case 0x0c: /* ldo.l */
+	case 0x0d: /* sto.l */
+	case 0x36: /* ldo.b */
+	case 0x37: /* sto.b */
+	case 0x38: /* ldo.s */
+	case 0x39: /* sto.s */
+	  insert_single_step_breakpoint (gdbarch, aspace, addr + 4);
+	  break;
+
 	  /* 48-bit instructions.  */
 	case 0x01: /* ldi.l (immediate) */
 	case 0x08: /* lda.l */
 	case 0x09: /* sta.l */
-	case 0x0c: /* ldo.l */
-	case 0x0d: /* sto.l */
 	case 0x1b: /* ldi.b (immediate) */
 	case 0x1d: /* lda.b */
 	case 0x1f: /* sta.b */
 	case 0x20: /* ldi.s (immediate) */
 	case 0x22: /* lda.s */
 	case 0x24: /* sta.s */
-	case 0x36: /* ldo.b */
-	case 0x37: /* sto.b */
-	case 0x38: /* ldo.s */
-	case 0x39: /* sto.s */
 	  insert_single_step_breakpoint (gdbarch, aspace, addr + 6);
 	  break;
 
@@ -860,8 +861,8 @@ moxie_process_record (struct gdbarch *gd
 	case 0x0d: /* sto.l */
 	  {
 	    int reg = (inst >> 4) & 0xf;
-	    uint32_t offset = (uint32_t) moxie_process_readu (addr+2, buf, 4,
-							      byte_order);
+	    uint32_t offset = (((int16_t) moxie_process_readu (addr+2, buf, 2,
+							       byte_order)) << 16 ) >> 16;
 	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
@@ -876,13 +877,23 @@ moxie_process_record (struct gdbarch *gd
 	      return -1;
 	  }
 	  break;
-	case 0x0f:
-	case 0x10:
-	case 0x11:
-	case 0x12:
-	case 0x13:
-	case 0x14:
-	case 0x15:
+	case 0x0f: /* nop */
+	  {
+	    /* Do nothing.  */
+	    break;
+	  }
+	case 0x10: /* sex.b */
+	case 0x11: /* sex.s */
+	case 0x12: /* zex.b */
+	case 0x13: /* zex.s */
+	case 0x14: /* umul.x */
+	case 0x15: /* mul.x */
+	  {
+	    int reg = (inst >> 4) & 0xf;
+	    if (record_full_arch_list_add_reg (regcache, reg))
+	      return -1;
+	  }
+	  break;
 	case 0x16:
 	case 0x17:
 	case 0x18:
@@ -968,13 +979,13 @@ moxie_process_record (struct gdbarch *gd
 	case 0x26: /* and */
 	case 0x27: /* lshr */
 	case 0x28: /* ashl */
-	case 0x29: /* sub.l */
+	case 0x29: /* sub */
 	case 0x2a: /* neg */
 	case 0x2b: /* or */
 	case 0x2c: /* not */
 	case 0x2d: /* ashr */
 	case 0x2e: /* xor */
-	case 0x2f: /* mul.l */
+	case 0x2f: /* mul */
 	  {
 	    int reg = (inst >> 4) & 0xf;
 	    if (record_full_arch_list_add_reg (regcache, reg))
@@ -1055,8 +1066,8 @@ moxie_process_record (struct gdbarch *gd
 	case 0x37: /* sto.b */
 	  {
 	    int reg = (inst >> 4) & 0xf;
-	    uint32_t offset = (uint32_t) moxie_process_readu (addr+2, buf, 4,
-							      byte_order);
+	    uint32_t offset = (((int16_t) moxie_process_readu (addr+2, buf, 2,
+							       byte_order)) << 16 ) >> 16;
 	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
@@ -1075,8 +1086,8 @@ moxie_process_record (struct gdbarch *gd
 	case 0x39: /* sto.s */
 	  {
 	    int reg = (inst >> 4) & 0xf;
-	    uint32_t offset = (uint32_t) moxie_process_readu (addr+2, buf, 4,
-							      byte_order);
+	    uint32_t offset = (((int16_t) moxie_process_readu (addr+2, buf, 2,
+							       byte_order)) << 16 ) >> 16;
 	    regcache_raw_read (regcache, reg, (gdb_byte *) & tmpu32);
 	    tmpu32 = extract_unsigned_integer ((gdb_byte *) & tmpu32, 
 					       4, byte_order);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/moxie-tdep.h ./gdb/moxie-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/moxie-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/moxie-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Moxie
  
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/msp430-tdep.c ./gdb/msp430-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/msp430-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/msp430-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Target-dependent code for the Texas Instruments MSP430 for GDB, the
    GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mt-tdep.c ./gdb/mt-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/mt-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/mt-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Morpho mt processor, for GDB.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,7 +27,6 @@
 #include "dis-asm.h"
 #include "arch-utils.h"
 #include "gdbtypes.h"
-#include <string.h>
 #include "regcache.h"
 #include "reggroups.h"
 #include "gdbcore.h"
@@ -35,7 +34,6 @@
 #include "inferior.h"
 #include "dwarf2-frame.h"
 #include "infcall.h"
-#include "gdb_assert.h"
 #include "language.h"
 #include "valprint.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/gdb_thread_db.h ./gdb/nat/gdb_thread_db.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/gdb_thread_db.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/gdb_thread_db.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,16 @@
+#ifdef HAVE_THREAD_DB_H
+#include <thread_db.h>
+#else
+#include "glibc_thread_db.h"
+#endif
+
+#ifndef LIBTHREAD_DB_SO
+#define LIBTHREAD_DB_SO "libthread_db.so.1"
+#endif
+
+#ifndef LIBTHREAD_DB_SEARCH_PATH
+/* $sdir appears before $pdir for some minimal security protection:
+   we trust the system libthread_db.so a bit more than some random
+   libthread_db associated with whatever libpthread the app is using.  */
+#define LIBTHREAD_DB_SEARCH_PATH "$sdir:$pdir"
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/glibc_thread_db.h ./gdb/nat/glibc_thread_db.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/glibc_thread_db.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/glibc_thread_db.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,458 @@
+/* thread_db.h -- interface to libthread_db.so library for debugging -lpthread
+   Copyright (C) 1999-2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _THREAD_DB_H
+#define _THREAD_DB_H	1
+
+/* This is the debugger interface for the NPTL library.  It is
+   modelled closely after the interface with same names in Solaris
+   with the goal to share the same code in the debugger.  */
+#include <pthread.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <sys/procfs.h>
+
+
+/* Error codes of the library.  */
+typedef enum
+{
+  TD_OK,	  /* No error.  */
+  TD_ERR,	  /* No further specified error.  */
+  TD_NOTHR,	  /* No matching thread found.  */
+  TD_NOSV,	  /* No matching synchronization handle found.  */
+  TD_NOLWP,	  /* No matching light-weighted process found.  */
+  TD_BADPH,	  /* Invalid process handle.  */
+  TD_BADTH,	  /* Invalid thread handle.  */
+  TD_BADSH,	  /* Invalid synchronization handle.  */
+  TD_BADTA,	  /* Invalid thread agent.  */
+  TD_BADKEY,	  /* Invalid key.  */
+  TD_NOMSG,	  /* No event available.  */
+  TD_NOFPREGS,	  /* No floating-point register content available.  */
+  TD_NOLIBTHREAD, /* Application not linked with thread library.  */
+  TD_NOEVENT,	  /* Requested event is not supported.  */
+  TD_NOCAPAB,	  /* Capability not available.  */
+  TD_DBERR,	  /* Internal debug library error.  */
+  TD_NOAPLIC,	  /* Operation is not applicable.  */
+  TD_NOTSD,	  /* No thread-specific data available.  */
+  TD_MALLOC,	  /* Out of memory.  */
+  TD_PARTIALREG,  /* Not entire register set was read or written.  */
+  TD_NOXREGS,	  /* X register set not available for given thread.  */
+  TD_TLSDEFER,	  /* Thread has not yet allocated TLS for given module.  */
+  TD_NOTALLOC = TD_TLSDEFER,
+  TD_VERSION,	  /* Version if libpthread and libthread_db do not match.  */
+  TD_NOTLS	  /* There is no TLS segment in the given module.  */
+} td_err_e;
+
+
+/* Possible thread states.  TD_THR_ANY_STATE is a pseudo-state used to
+   select threads regardless of state in td_ta_thr_iter().  */
+typedef enum
+{
+  TD_THR_ANY_STATE,
+  TD_THR_UNKNOWN,
+  TD_THR_STOPPED,
+  TD_THR_RUN,
+  TD_THR_ACTIVE,
+  TD_THR_ZOMBIE,
+  TD_THR_SLEEP,
+  TD_THR_STOPPED_ASLEEP
+} td_thr_state_e;
+
+/* Thread type: user or system.  TD_THR_ANY_TYPE is a pseudo-type used
+   to select threads regardless of type in td_ta_thr_iter().  */
+typedef enum
+{
+  TD_THR_ANY_TYPE,
+  TD_THR_USER,
+  TD_THR_SYSTEM
+} td_thr_type_e;
+
+
+/* Types of the debugging library.  */
+
+/* Handle for a process.  This type is opaque.  */
+typedef struct td_thragent td_thragent_t;
+
+/* The actual thread handle type.  This is also opaque.  */
+typedef struct td_thrhandle
+{
+  td_thragent_t *th_ta_p;
+  psaddr_t th_unique;
+} td_thrhandle_t;
+
+
+/* Forward declaration of a type defined by and for the dynamic linker.  */
+struct link_map;
+
+
+/* Flags for `td_ta_thr_iter'.  */
+#define TD_THR_ANY_USER_FLAGS	0xffffffff
+#define TD_THR_LOWEST_PRIORITY	-20
+#define TD_SIGNO_MASK		NULL
+
+
+#define TD_EVENTSIZE	2
+#define BT_UISHIFT	5 /* log base 2 of BT_NBIPUI, to extract word index */
+#define BT_NBIPUI	(1 << BT_UISHIFT)       /* n bits per uint */
+#define BT_UIMASK	(BT_NBIPUI - 1)         /* to extract bit index */
+
+/* Bitmask of enabled events. */
+typedef struct td_thr_events
+{
+  uint32_t event_bits[TD_EVENTSIZE];
+} td_thr_events_t;
+
+/* Event set manipulation macros. */
+#define __td_eventmask(n) \
+  (UINT32_C (1) << (((n) - 1) & BT_UIMASK))
+#define __td_eventword(n) \
+  ((UINT32_C ((n) - 1)) >> BT_UISHIFT)
+
+#define td_event_emptyset(setp) \
+  do {									      \
+    int __i;								      \
+    for (__i = TD_EVENTSIZE; __i > 0; --__i)				      \
+      (setp)->event_bits[__i - 1] = 0;					      \
+  } while (0)
+
+#define td_event_fillset(setp) \
+  do {									      \
+    int __i;								      \
+    for (__i = TD_EVENTSIZE; __i > 0; --__i)				      \
+      (setp)->event_bits[__i - 1] = UINT32_C (0xffffffff);		      \
+  } while (0)
+
+#define td_event_addset(setp, n) \
+  (((setp)->event_bits[__td_eventword (n)]) |= __td_eventmask (n))
+#define td_event_delset(setp, n) \
+  (((setp)->event_bits[__td_eventword (n)]) &= ~__td_eventmask (n))
+#define td_eventismember(setp, n) \
+  (__td_eventmask (n) & ((setp)->event_bits[__td_eventword (n)]))
+#if TD_EVENTSIZE == 2
+# define td_eventisempty(setp) \
+  (!((setp)->event_bits[0]) && !((setp)->event_bits[1]))
+#else
+# error "td_eventisempty must be changed to match TD_EVENTSIZE"
+#endif
+
+/* Events reportable by the thread implementation.  */
+typedef enum
+{
+  TD_ALL_EVENTS,		 /* Pseudo-event number.  */
+  TD_EVENT_NONE = TD_ALL_EVENTS, /* Depends on context.  */
+  TD_READY,			 /* Is executable now. */
+  TD_SLEEP,			 /* Blocked in a synchronization obj.  */
+  TD_SWITCHTO,			 /* Now assigned to a process.  */
+  TD_SWITCHFROM,		 /* Not anymore assigned to a process.  */
+  TD_LOCK_TRY,			 /* Trying to get an unavailable lock.  */
+  TD_CATCHSIG,			 /* Signal posted to the thread.  */
+  TD_IDLE,			 /* Process getting idle.  */
+  TD_CREATE,			 /* New thread created.  */
+  TD_DEATH,			 /* Thread terminated.  */
+  TD_PREEMPT,			 /* Preempted.  */
+  TD_PRI_INHERIT,		 /* Inherited elevated priority.  */
+  TD_REAP,			 /* Reaped.  */
+  TD_CONCURRENCY,		 /* Number of processes changing.  */
+  TD_TIMEOUT,			 /* Conditional variable wait timed out.  */
+  TD_MIN_EVENT_NUM = TD_READY,
+  TD_MAX_EVENT_NUM = TD_TIMEOUT,
+  TD_EVENTS_ENABLE = 31		/* Event reporting enabled.  */
+} td_event_e;
+
+/* Values representing the different ways events are reported.  */
+typedef enum
+{
+  NOTIFY_BPT,			/* User must insert breakpoint at u.bptaddr. */
+  NOTIFY_AUTOBPT,		/* Breakpoint at u.bptaddr is automatically
+				   inserted.  */
+  NOTIFY_SYSCALL		/* System call u.syscallno will be invoked.  */
+} td_notify_e;
+
+/* Description how event type is reported.  */
+typedef struct td_notify
+{
+  td_notify_e type;		/* Way the event is reported.  */
+  union
+  {
+    psaddr_t bptaddr;		/* Address of breakpoint.  */
+    int syscallno;		/* Number of system call used.  */
+  } u;
+} td_notify_t;
+
+/* Structure used to report event.  */
+typedef struct td_event_msg
+{
+  td_event_e event;		/* Event type being reported.  */
+  const td_thrhandle_t *th_p;	/* Thread reporting the event.  */
+  union
+  {
+# if 0
+    td_synchandle_t *sh;	/* Handle of synchronization object.  */
+#endif
+    uintptr_t data;		/* Event specific data.  */
+  } msg;
+} td_event_msg_t;
+
+/* Structure containing event data available in each thread structure.  */
+typedef struct
+{
+  td_thr_events_t eventmask;	/* Mask of enabled events.  */
+  td_event_e eventnum;		/* Number of last event.  */
+  void *eventdata;		/* Data associated with event.  */
+} td_eventbuf_t;
+
+
+/* Gathered statistics about the process.  */
+typedef struct td_ta_stats
+{
+  int nthreads;       		/* Total number of threads in use.  */
+  int r_concurrency;		/* Concurrency level requested by user.  */
+  int nrunnable_num;		/* Average runnable threads, numerator.  */
+  int nrunnable_den;		/* Average runnable threads, denominator.  */
+  int a_concurrency_num;	/* Achieved concurrency level, numerator.  */
+  int a_concurrency_den;	/* Achieved concurrency level, denominator.  */
+  int nlwps_num;		/* Average number of processes in use,
+				   numerator.  */
+  int nlwps_den;		/* Average number of processes in use,
+				   denominator.  */
+  int nidle_num;		/* Average number of idling processes,
+				   numerator.  */
+  int nidle_den;		/* Average number of idling processes,
+				   denominator.  */
+} td_ta_stats_t;
+
+
+/* Since Sun's library is based on Solaris threads we have to define a few
+   types to map them to POSIX threads.  */
+typedef pthread_t thread_t;
+typedef pthread_key_t thread_key_t;
+
+
+/* Callback for iteration over threads.  */
+typedef int td_thr_iter_f (const td_thrhandle_t *, void *);
+
+/* Callback for iteration over thread local data.  */
+typedef int td_key_iter_f (thread_key_t, void (*) (void *), void *);
+
+
+
+/* Forward declaration.  This has to be defined by the user.  */
+struct ps_prochandle;
+
+
+/* Information about the thread.  */
+typedef struct td_thrinfo
+{
+  td_thragent_t *ti_ta_p;		/* Process handle.  */
+  unsigned int ti_user_flags;		/* Unused.  */
+  thread_t ti_tid;			/* Thread ID returned by
+					   pthread_create().  */
+  char *ti_tls;				/* Pointer to thread-local data.  */
+  psaddr_t ti_startfunc;		/* Start function passed to
+					   pthread_create().  */
+  psaddr_t ti_stkbase;			/* Base of thread's stack.  */
+  long int ti_stksize;			/* Size of thread's stack.  */
+  psaddr_t ti_ro_area;			/* Unused.  */
+  int ti_ro_size;			/* Unused.  */
+  td_thr_state_e ti_state;		/* Thread state.  */
+  unsigned char ti_db_suspended;	/* Nonzero if suspended by debugger. */
+  td_thr_type_e ti_type;		/* Type of the thread (system vs
+					   user thread).  */
+  intptr_t ti_pc;			/* Unused.  */
+  intptr_t ti_sp;			/* Unused.  */
+  short int ti_flags;			/* Unused.  */
+  int ti_pri;				/* Thread priority.  */
+  lwpid_t ti_lid;			/* Kernel PID for this thread.  */
+  sigset_t ti_sigmask;			/* Signal mask.  */
+  unsigned char ti_traceme;		/* Nonzero if event reporting
+					   enabled.  */
+  unsigned char ti_preemptflag;		/* Unused.  */
+  unsigned char ti_pirecflag;		/* Unused.  */
+  sigset_t ti_pending;			/* Set of pending signals.  */
+  td_thr_events_t ti_events;		/* Set of enabled events.  */
+} td_thrinfo_t;
+
+
+
+/* Prototypes for exported library functions.  */
+
+/* Initialize the thread debug support library.  */
+extern td_err_e td_init (void);
+
+/* Historical relict.  Should not be used anymore.  */
+extern td_err_e td_log (void);
+
+/* Return list of symbols the library can request.  */
+extern const char **td_symbol_list (void);
+
+/* Generate new thread debug library handle for process PS.  */
+extern td_err_e td_ta_new (struct ps_prochandle *__ps, td_thragent_t **__ta);
+
+/* Free resources allocated for TA.  */
+extern td_err_e td_ta_delete (td_thragent_t *__ta);
+
+/* Get number of currently running threads in process associated with TA.  */
+extern td_err_e td_ta_get_nthreads (const td_thragent_t *__ta, int *__np);
+
+/* Return process handle passed in `td_ta_new' for process associated with
+   TA.  */
+extern td_err_e td_ta_get_ph (const td_thragent_t *__ta,
+			      struct ps_prochandle **__ph);
+
+/* Map thread library handle PT to thread debug library handle for process
+   associated with TA and store result in *TH.  */
+extern td_err_e td_ta_map_id2thr (const td_thragent_t *__ta, pthread_t __pt,
+				  td_thrhandle_t *__th);
+
+/* Map process ID LWPID to thread debug library handle for process
+   associated with TA and store result in *TH.  */
+extern td_err_e td_ta_map_lwp2thr (const td_thragent_t *__ta, lwpid_t __lwpid,
+				   td_thrhandle_t *__th);
+
+
+/* Call for each thread in a process associated with TA the callback function
+   CALLBACK.  */
+extern td_err_e td_ta_thr_iter (const td_thragent_t *__ta,
+				td_thr_iter_f *__callback, void *__cbdata_p,
+				td_thr_state_e __state, int __ti_pri,
+				sigset_t *__ti_sigmask_p,
+				unsigned int __ti_user_flags);
+
+/* Call for each defined thread local data entry the callback function KI.  */
+extern td_err_e td_ta_tsd_iter (const td_thragent_t *__ta, td_key_iter_f *__ki,
+				void *__p);
+
+
+/* Get event address for EVENT.  */
+extern td_err_e td_ta_event_addr (const td_thragent_t *__ta,
+				  td_event_e __event, td_notify_t *__ptr);
+
+/* Enable EVENT in global mask.  */
+extern td_err_e td_ta_set_event (const td_thragent_t *__ta,
+				 td_thr_events_t *__event);
+
+/* Disable EVENT in global mask.  */
+extern td_err_e td_ta_clear_event (const td_thragent_t *__ta,
+				   td_thr_events_t *__event);
+
+/* Return information about last event.  */
+extern td_err_e td_ta_event_getmsg (const td_thragent_t *__ta,
+				    td_event_msg_t *__msg);
+
+
+/* Set suggested concurrency level for process associated with TA.  */
+extern td_err_e td_ta_setconcurrency (const td_thragent_t *__ta, int __level);
+
+
+/* Enable collecting statistics for process associated with TA.  */
+extern td_err_e td_ta_enable_stats (const td_thragent_t *__ta, int __enable);
+
+/* Reset statistics.  */
+extern td_err_e td_ta_reset_stats (const td_thragent_t *__ta);
+
+/* Retrieve statistics from process associated with TA.  */
+extern td_err_e td_ta_get_stats (const td_thragent_t *__ta,
+				 td_ta_stats_t *__statsp);
+
+
+/* Validate that TH is a thread handle.  */
+extern td_err_e td_thr_validate (const td_thrhandle_t *__th);
+
+/* Return information about thread TH.  */
+extern td_err_e td_thr_get_info (const td_thrhandle_t *__th,
+				 td_thrinfo_t *__infop);
+
+/* Retrieve floating-point register contents of process running thread TH.  */
+extern td_err_e td_thr_getfpregs (const td_thrhandle_t *__th,
+				  prfpregset_t *__regset);
+
+/* Retrieve general register contents of process running thread TH.  */
+extern td_err_e td_thr_getgregs (const td_thrhandle_t *__th,
+				 prgregset_t __gregs);
+
+/* Retrieve extended register contents of process running thread TH.  */
+extern td_err_e td_thr_getxregs (const td_thrhandle_t *__th, void *__xregs);
+
+/* Get size of extended register set of process running thread TH.  */
+extern td_err_e td_thr_getxregsize (const td_thrhandle_t *__th, int *__sizep);
+
+/* Set floating-point register contents of process running thread TH.  */
+extern td_err_e td_thr_setfpregs (const td_thrhandle_t *__th,
+				  const prfpregset_t *__fpregs);
+
+/* Set general register contents of process running thread TH.  */
+extern td_err_e td_thr_setgregs (const td_thrhandle_t *__th,
+				 prgregset_t __gregs);
+
+/* Set extended register contents of process running thread TH.  */
+extern td_err_e td_thr_setxregs (const td_thrhandle_t *__th,
+				 const void *__addr);
+
+
+/* Get address of the given module's TLS storage area for the given thread.  */
+extern td_err_e td_thr_tlsbase (const td_thrhandle_t *__th,
+				unsigned long int __modid,
+				psaddr_t *__base);
+
+/* Get address of thread local variable.  */
+extern td_err_e td_thr_tls_get_addr (const td_thrhandle_t *__th,
+				     psaddr_t __map_address, size_t __offset,
+				     psaddr_t *__address);
+
+
+/* Enable reporting for EVENT for thread TH.  */
+extern td_err_e td_thr_event_enable (const td_thrhandle_t *__th, int __event);
+
+/* Enable EVENT for thread TH.  */
+extern td_err_e td_thr_set_event (const td_thrhandle_t *__th,
+				  td_thr_events_t *__event);
+
+/* Disable EVENT for thread TH.  */
+extern td_err_e td_thr_clear_event (const td_thrhandle_t *__th,
+				    td_thr_events_t *__event);
+
+/* Get event message for thread TH.  */
+extern td_err_e td_thr_event_getmsg (const td_thrhandle_t *__th,
+				     td_event_msg_t *__msg);
+
+
+/* Set priority of thread TH.  */
+extern td_err_e td_thr_setprio (const td_thrhandle_t *__th, int __prio);
+
+
+/* Set pending signals for thread TH.  */
+extern td_err_e td_thr_setsigpending (const td_thrhandle_t *__th,
+				      unsigned char __n, const sigset_t *__ss);
+
+/* Set signal mask for thread TH.  */
+extern td_err_e td_thr_sigsetmask (const td_thrhandle_t *__th,
+				   const sigset_t *__ss);
+
+
+/* Return thread local data associated with key TK in thread TH.  */
+extern td_err_e td_thr_tsd (const td_thrhandle_t *__th,
+			    const thread_key_t __tk, void **__data);
+
+
+/* Suspend execution of thread TH.  */
+extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th);
+
+/* Resume execution of thread TH.  */
+extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th);
+
+#endif	/* thread_db.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-btrace.c ./gdb/nat/linux-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-btrace.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/linux-btrace.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,620 @@
+/* Linux-dependent part of branch trace support for GDB, and GDBserver.
+
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
+
+   Contributed by Intel Corp. <markus.t.metzger@intel.com>
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "linux-btrace.h"
+#include "common-regcache.h"
+#include "gdb_wait.h"
+#include "x86-cpuid.h"
+
+#ifdef HAVE_SYS_SYSCALL_H
+#include <sys/syscall.h>
+#endif
+
+#if HAVE_LINUX_PERF_EVENT_H && defined(SYS_perf_event_open)
+
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/mman.h>
+#include <sys/user.h>
+#include <sys/ptrace.h>
+#include <sys/types.h>
+#include <signal.h>
+
+/* A branch trace record in perf_event.  */
+struct perf_event_bts
+{
+  /* The linear address of the branch source.  */
+  uint64_t from;
+
+  /* The linear address of the branch destination.  */
+  uint64_t to;
+};
+
+/* A perf_event branch trace sample.  */
+struct perf_event_sample
+{
+  /* The perf_event sample header.  */
+  struct perf_event_header header;
+
+  /* The perf_event branch tracing payload.  */
+  struct perf_event_bts bts;
+};
+
+/* Get the perf_event header.  */
+
+static inline volatile struct perf_event_mmap_page *
+perf_event_header (struct btrace_target_info* tinfo)
+{
+  return tinfo->buffer;
+}
+
+/* Get the size of the perf_event mmap buffer.  */
+
+static inline size_t
+perf_event_mmap_size (const struct btrace_target_info *tinfo)
+{
+  /* The branch trace buffer is preceded by a configuration page.  */
+  return (tinfo->size + 1) * PAGE_SIZE;
+}
+
+/* Get the size of the perf_event buffer.  */
+
+static inline size_t
+perf_event_buffer_size (struct btrace_target_info* tinfo)
+{
+  return tinfo->size * PAGE_SIZE;
+}
+
+/* Get the start address of the perf_event buffer.  */
+
+static inline const uint8_t *
+perf_event_buffer_begin (struct btrace_target_info* tinfo)
+{
+  return ((const uint8_t *) tinfo->buffer) + PAGE_SIZE;
+}
+
+/* Get the end address of the perf_event buffer.  */
+
+static inline const uint8_t *
+perf_event_buffer_end (struct btrace_target_info* tinfo)
+{
+  return perf_event_buffer_begin (tinfo) + perf_event_buffer_size (tinfo);
+}
+
+/* Check whether an address is in the kernel.  */
+
+static inline int
+perf_event_is_kernel_addr (const struct btrace_target_info *tinfo,
+			   uint64_t addr)
+{
+  uint64_t mask;
+
+  /* If we don't know the size of a pointer, we can't check.  Let's assume it's
+     not a kernel address in this case.  */
+  if (tinfo->ptr_bits == 0)
+    return 0;
+
+  /* A bit mask for the most significant bit in an address.  */
+  mask = (uint64_t) 1 << (tinfo->ptr_bits - 1);
+
+  /* Check whether the most significant bit in the address is set.  */
+  return (addr & mask) != 0;
+}
+
+/* Check whether a perf event record should be skipped.  */
+
+static inline int
+perf_event_skip_record (const struct btrace_target_info *tinfo,
+			const struct perf_event_bts *bts)
+{
+  /* The hardware may report branches from kernel into user space.  Branches
+     from user into kernel space will be suppressed.  We filter the former to
+     provide a consistent branch trace excluding kernel.  */
+  return perf_event_is_kernel_addr (tinfo, bts->from);
+}
+
+/* Perform a few consistency checks on a perf event sample record.  This is
+   meant to catch cases when we get out of sync with the perf event stream.  */
+
+static inline int
+perf_event_sample_ok (const struct perf_event_sample *sample)
+{
+  if (sample->header.type != PERF_RECORD_SAMPLE)
+    return 0;
+
+  if (sample->header.size != sizeof (*sample))
+    return 0;
+
+  return 1;
+}
+
+/* Branch trace is collected in a circular buffer [begin; end) as pairs of from
+   and to addresses (plus a header).
+
+   Start points into that buffer at the next sample position.
+   We read the collected samples backwards from start.
+
+   While reading the samples, we convert the information into a list of blocks.
+   For two adjacent samples s1 and s2, we form a block b such that b.begin =
+   s1.to and b.end = s2.from.
+
+   In case the buffer overflows during sampling, one sample may have its lower
+   part at the end and its upper part at the beginning of the buffer.  */
+
+static VEC (btrace_block_s) *
+perf_event_read_bts (struct btrace_target_info* tinfo, const uint8_t *begin,
+		     const uint8_t *end, const uint8_t *start, size_t size)
+{
+  VEC (btrace_block_s) *btrace = NULL;
+  struct perf_event_sample sample;
+  size_t read = 0;
+  struct btrace_block block = { 0, 0 };
+  struct regcache *regcache;
+
+  gdb_assert (begin <= start);
+  gdb_assert (start <= end);
+
+  /* The first block ends at the current pc.  */
+  regcache = get_thread_regcache_for_ptid (tinfo->ptid);
+  block.end = regcache_read_pc (regcache);
+
+  /* The buffer may contain a partial record as its last entry (i.e. when the
+     buffer size is not a multiple of the sample size).  */
+  read = sizeof (sample) - 1;
+
+  for (; read < size; read += sizeof (sample))
+    {
+      const struct perf_event_sample *psample;
+
+      /* Find the next perf_event sample in a backwards traversal.  */
+      start -= sizeof (sample);
+
+      /* If we're still inside the buffer, we're done.  */
+      if (begin <= start)
+	psample = (const struct perf_event_sample *) start;
+      else
+	{
+	  int missing;
+
+	  /* We're to the left of the ring buffer, we will wrap around and
+	     reappear at the very right of the ring buffer.  */
+
+	  missing = (begin - start);
+	  start = (end - missing);
+
+	  /* If the entire sample is missing, we're done.  */
+	  if (missing == sizeof (sample))
+	    psample = (const struct perf_event_sample *) start;
+	  else
+	    {
+	      uint8_t *stack;
+
+	      /* The sample wrapped around.  The lower part is at the end and
+		 the upper part is at the beginning of the buffer.  */
+	      stack = (uint8_t *) &sample;
+
+	      /* Copy the two parts so we have a contiguous sample.  */
+	      memcpy (stack, start, missing);
+	      memcpy (stack + missing, begin, sizeof (sample) - missing);
+
+	      psample = &sample;
+	    }
+	}
+
+      if (!perf_event_sample_ok (psample))
+	{
+	  warning (_("Branch trace may be incomplete."));
+	  break;
+	}
+
+      if (perf_event_skip_record (tinfo, &psample->bts))
+	continue;
+
+      /* We found a valid sample, so we can complete the current block.  */
+      block.begin = psample->bts.to;
+
+      VEC_safe_push (btrace_block_s, btrace, &block);
+
+      /* Start the next block.  */
+      block.end = psample->bts.from;
+    }
+
+  /* Push the last block (i.e. the first one of inferior execution), as well.
+     We don't know where it ends, but we know where it starts.  If we're
+     reading delta trace, we can fill in the start address later on.
+     Otherwise we will prune it.  */
+  block.begin = 0;
+  VEC_safe_push (btrace_block_s, btrace, &block);
+
+  return btrace;
+}
+
+/* Check whether the kernel supports branch tracing.  */
+
+static int
+kernel_supports_btrace (void)
+{
+  struct perf_event_attr attr;
+  pid_t child, pid;
+  int status, file;
+
+  errno = 0;
+  child = fork ();
+  switch (child)
+    {
+    case -1:
+      warning (_("test branch tracing: cannot fork: %s."), strerror (errno));
+      return 0;
+
+    case 0:
+      status = ptrace (PTRACE_TRACEME, 0, NULL, NULL);
+      if (status != 0)
+	{
+	  warning (_("test branch tracing: cannot PTRACE_TRACEME: %s."),
+		   strerror (errno));
+	  _exit (1);
+	}
+
+      status = raise (SIGTRAP);
+      if (status != 0)
+	{
+	  warning (_("test branch tracing: cannot raise SIGTRAP: %s."),
+		   strerror (errno));
+	  _exit (1);
+	}
+
+      _exit (1);
+
+    default:
+      pid = waitpid (child, &status, 0);
+      if (pid != child)
+	{
+	  warning (_("test branch tracing: bad pid %ld, error: %s."),
+		   (long) pid, strerror (errno));
+	  return 0;
+	}
+
+      if (!WIFSTOPPED (status))
+	{
+	  warning (_("test branch tracing: expected stop. status: %d."),
+		   status);
+	  return 0;
+	}
+
+      memset (&attr, 0, sizeof (attr));
+
+      attr.type = PERF_TYPE_HARDWARE;
+      attr.config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS;
+      attr.sample_period = 1;
+      attr.sample_type = PERF_SAMPLE_IP | PERF_SAMPLE_ADDR;
+      attr.exclude_kernel = 1;
+      attr.exclude_hv = 1;
+      attr.exclude_idle = 1;
+
+      file = syscall (SYS_perf_event_open, &attr, child, -1, -1, 0);
+      if (file >= 0)
+	close (file);
+
+      kill (child, SIGKILL);
+      ptrace (PTRACE_KILL, child, NULL, NULL);
+
+      pid = waitpid (child, &status, 0);
+      if (pid != child)
+	{
+	  warning (_("test branch tracing: bad pid %ld, error: %s."),
+		   (long) pid, strerror (errno));
+	  if (!WIFSIGNALED (status))
+	    warning (_("test branch tracing: expected killed. status: %d."),
+		     status);
+	}
+
+      return (file >= 0);
+    }
+}
+
+/* Check whether an Intel cpu supports branch tracing.  */
+
+static int
+intel_supports_btrace (void)
+{
+  unsigned int cpuid, model, family;
+
+  if (!x86_cpuid (1, &cpuid, NULL, NULL, NULL))
+    return 0;
+
+  family = (cpuid >> 8) & 0xf;
+  model = (cpuid >> 4) & 0xf;
+
+  switch (family)
+    {
+    case 0x6:
+      model += (cpuid >> 12) & 0xf0;
+
+      switch (model)
+	{
+	case 0x1a: /* Nehalem */
+	case 0x1f:
+	case 0x1e:
+	case 0x2e:
+	case 0x25: /* Westmere */
+	case 0x2c:
+	case 0x2f:
+	case 0x2a: /* Sandy Bridge */
+	case 0x2d:
+	case 0x3a: /* Ivy Bridge */
+
+	  /* AAJ122: LBR, BTM, or BTS records may have incorrect branch
+	     "from" information afer an EIST transition, T-states, C1E, or
+	     Adaptive Thermal Throttling.  */
+	  return 0;
+	}
+    }
+
+  return 1;
+}
+
+/* Check whether the cpu supports branch tracing.  */
+
+static int
+cpu_supports_btrace (void)
+{
+  unsigned int ebx, ecx, edx;
+
+  if (!x86_cpuid (0, NULL, &ebx, &ecx, &edx))
+    return 0;
+
+  if (ebx == signature_INTEL_ebx && ecx == signature_INTEL_ecx
+      && edx == signature_INTEL_edx)
+    return intel_supports_btrace ();
+
+  /* Don't know about others.  Let's assume they do.  */
+  return 1;
+}
+
+/* See linux-btrace.h.  */
+
+int
+linux_supports_btrace (struct target_ops *ops)
+{
+  static int cached;
+
+  if (cached == 0)
+    {
+      if (!kernel_supports_btrace ())
+	cached = -1;
+      else if (!cpu_supports_btrace ())
+	cached = -1;
+      else
+	cached = 1;
+    }
+
+  return cached > 0;
+}
+
+/* See linux-btrace.h.  */
+
+struct btrace_target_info *
+linux_enable_btrace (ptid_t ptid)
+{
+  struct btrace_target_info *tinfo;
+  int pid, pg;
+
+  tinfo = xzalloc (sizeof (*tinfo));
+  tinfo->ptid = ptid;
+
+  tinfo->attr.size = sizeof (tinfo->attr);
+  tinfo->attr.type = PERF_TYPE_HARDWARE;
+  tinfo->attr.config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS;
+  tinfo->attr.sample_period = 1;
+
+  /* We sample from and to address.  */
+  tinfo->attr.sample_type = PERF_SAMPLE_IP | PERF_SAMPLE_ADDR;
+
+  tinfo->attr.exclude_kernel = 1;
+  tinfo->attr.exclude_hv = 1;
+  tinfo->attr.exclude_idle = 1;
+
+  tinfo->ptr_bits = 0;
+
+  pid = ptid_get_lwp (ptid);
+  if (pid == 0)
+    pid = ptid_get_pid (ptid);
+
+  errno = 0;
+  tinfo->file = syscall (SYS_perf_event_open, &tinfo->attr, pid, -1, -1, 0);
+  if (tinfo->file < 0)
+    goto err;
+
+  /* We try to allocate as much buffer as we can get.
+     We could allow the user to specify the size of the buffer, but then
+     we'd leave this search for the maximum buffer size to him.  */
+  for (pg = 4; pg >= 0; --pg)
+    {
+      /* The number of pages we request needs to be a power of two.  */
+      tinfo->size = 1 << pg;
+      tinfo->buffer = mmap (NULL, perf_event_mmap_size (tinfo),
+			    PROT_READ, MAP_SHARED, tinfo->file, 0);
+      if (tinfo->buffer == MAP_FAILED)
+	continue;
+
+      return tinfo;
+    }
+
+  /* We were not able to allocate any buffer.  */
+  close (tinfo->file);
+
+ err:
+  xfree (tinfo);
+  return NULL;
+}
+
+/* See linux-btrace.h.  */
+
+enum btrace_error
+linux_disable_btrace (struct btrace_target_info *tinfo)
+{
+  int errcode;
+
+  errno = 0;
+  errcode = munmap (tinfo->buffer, perf_event_mmap_size (tinfo));
+  if (errcode != 0)
+    return BTRACE_ERR_UNKNOWN;
+
+  close (tinfo->file);
+  xfree (tinfo);
+
+  return BTRACE_ERR_NONE;
+}
+
+/* Check whether the branch trace has changed.  */
+
+static int
+linux_btrace_has_changed (struct btrace_target_info *tinfo)
+{
+  volatile struct perf_event_mmap_page *header = perf_event_header (tinfo);
+
+  return header->data_head != tinfo->data_head;
+}
+
+/* See linux-btrace.h.  */
+
+enum btrace_error
+linux_read_btrace (VEC (btrace_block_s) **btrace,
+		   struct btrace_target_info *tinfo,
+		   enum btrace_read_type type)
+{
+  volatile struct perf_event_mmap_page *header;
+  const uint8_t *begin, *end, *start;
+  unsigned long data_head, data_tail, retries = 5;
+  size_t buffer_size, size;
+
+  /* For delta reads, we return at least the partial last block containing
+     the current PC.  */
+  if (type == BTRACE_READ_NEW && !linux_btrace_has_changed (tinfo))
+    return BTRACE_ERR_NONE;
+
+  header = perf_event_header (tinfo);
+  buffer_size = perf_event_buffer_size (tinfo);
+  data_tail = tinfo->data_head;
+
+  /* We may need to retry reading the trace.  See below.  */
+  while (retries--)
+    {
+      data_head = header->data_head;
+
+      /* Delete any leftover trace from the previous iteration.  */
+      VEC_free (btrace_block_s, *btrace);
+
+      if (type == BTRACE_READ_DELTA)
+	{
+	  /* Determine the number of bytes to read and check for buffer
+	     overflows.  */
+
+	  /* Check for data head overflows.  We might be able to recover from
+	     those but they are very unlikely and it's not really worth the
+	     effort, I think.  */
+	  if (data_head < data_tail)
+	    return BTRACE_ERR_OVERFLOW;
+
+	  /* If the buffer is smaller than the trace delta, we overflowed.  */
+	  size = data_head - data_tail;
+	  if (buffer_size < size)
+	    return BTRACE_ERR_OVERFLOW;
+	}
+      else
+	{
+	  /* Read the entire buffer.  */
+	  size = buffer_size;
+
+	  /* Adjust the size if the buffer has not overflowed, yet.  */
+	  if (data_head < size)
+	    size = data_head;
+	}
+
+      /* Data_head keeps growing; the buffer itself is circular.  */
+      begin = perf_event_buffer_begin (tinfo);
+      start = begin + data_head % buffer_size;
+
+      if (data_head <= buffer_size)
+	end = start;
+      else
+	end = perf_event_buffer_end (tinfo);
+
+      *btrace = perf_event_read_bts (tinfo, begin, end, start, size);
+
+      /* The stopping thread notifies its ptracer before it is scheduled out.
+	 On multi-core systems, the debugger might therefore run while the
+	 kernel might be writing the last branch trace records.
+
+	 Let's check whether the data head moved while we read the trace.  */
+      if (data_head == header->data_head)
+	break;
+    }
+
+  tinfo->data_head = data_head;
+
+  /* Prune the incomplete last block (i.e. the first one of inferior execution)
+     if we're not doing a delta read.  There is no way of filling in its zeroed
+     BEGIN element.  */
+  if (!VEC_empty (btrace_block_s, *btrace) && type != BTRACE_READ_DELTA)
+    VEC_pop (btrace_block_s, *btrace);
+
+  return BTRACE_ERR_NONE;
+}
+
+#else /* !HAVE_LINUX_PERF_EVENT_H */
+
+/* See linux-btrace.h.  */
+
+int
+linux_supports_btrace (struct target_ops *ops)
+{
+  return 0;
+}
+
+/* See linux-btrace.h.  */
+
+struct btrace_target_info *
+linux_enable_btrace (ptid_t ptid)
+{
+  return NULL;
+}
+
+/* See linux-btrace.h.  */
+
+enum btrace_error
+linux_disable_btrace (struct btrace_target_info *tinfo)
+{
+  return BTRACE_ERR_NOT_SUPPORTED;
+}
+
+/* See linux-btrace.h.  */
+
+enum btrace_error
+linux_read_btrace (VEC (btrace_block_s) **btrace,
+		   struct btrace_target_info *tinfo,
+		   enum btrace_read_type type)
+{
+  return BTRACE_ERR_NOT_SUPPORTED;
+}
+
+#endif /* !HAVE_LINUX_PERF_EVENT_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-btrace.h ./gdb/nat/linux-btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-btrace.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/linux-btrace.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,77 @@
+/* Linux-dependent part of branch trace support for GDB, and GDBserver.
+
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
+
+   Contributed by Intel Corp. <markus.t.metzger@intel.com>
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef LINUX_BTRACE_H
+#define LINUX_BTRACE_H
+
+#include "btrace-common.h"
+#include "vec.h"
+#include <stdint.h>
+
+#if HAVE_LINUX_PERF_EVENT_H
+#  include <linux/perf_event.h>
+#endif
+
+struct target_ops;
+
+/* Branch trace target information per thread.  */
+struct btrace_target_info
+{
+#if HAVE_LINUX_PERF_EVENT_H
+  /* The Linux perf_event configuration for collecting the branch trace.  */
+  struct perf_event_attr attr;
+
+  /* The ptid of this thread.  */
+  ptid_t ptid;
+
+  /* The mmap configuration mapping the branch trace perf_event buffer.
+
+     file      .. the file descriptor
+     buffer    .. the mmapped memory buffer
+     size      .. the buffer's size in pages without the configuration page
+     data_head .. the data head from the last read  */
+  int file;
+  void *buffer;
+  size_t size;
+  unsigned long data_head;
+#endif /* HAVE_LINUX_PERF_EVENT_H */
+
+  /* The size of a pointer in bits for this thread.
+     The information is used to identify kernel addresses in order to skip
+     records from/to kernel space.  */
+  int ptr_bits;
+};
+
+/* See to_supports_btrace in target.h.  */
+extern int linux_supports_btrace (struct target_ops *);
+
+/* See to_enable_btrace in target.h.  */
+extern struct btrace_target_info *linux_enable_btrace (ptid_t ptid);
+
+/* See to_disable_btrace in target.h.  */
+extern enum btrace_error linux_disable_btrace (struct btrace_target_info *ti);
+
+/* See to_read_btrace in target.h.  */
+extern enum btrace_error linux_read_btrace (VEC (btrace_block_s) **btrace,
+					    struct btrace_target_info *btinfo,
+					    enum btrace_read_type type);
+
+#endif /* LINUX_BTRACE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-nat.h ./gdb/nat/linux-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nat/linux-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code for native debugging support for GNU/Linux (LWP layer).
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-osdata.c ./gdb/nat/linux-osdata.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-osdata.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/linux-osdata.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,1626 @@
+/* Linux-specific functions to retrieve OS data.
+   
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "linux-osdata.h"
+
+#include <sys/types.h>
+#include <sys/sysinfo.h>
+#include <ctype.h>
+#include <utmp.h>
+#include <time.h>
+#include <unistd.h>
+#include <pwd.h>
+#include <grp.h>
+#include <netdb.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include "xml-utils.h"
+#include "buffer.h"
+#include <dirent.h>
+#include <sys/stat.h>
+#include "filestuff.h"
+
+#define NAMELEN(dirent) strlen ((dirent)->d_name)
+
+/* Define PID_T to be a fixed size that is at least as large as pid_t,
+   so that reading pid values embedded in /proc works
+   consistently.  */
+
+typedef long long  PID_T;
+
+/* Define TIME_T to be at least as large as time_t, so that reading
+   time values embedded in /proc works consistently.  */
+
+typedef long long TIME_T;
+
+#define MAX_PID_T_STRLEN  (sizeof ("-9223372036854775808") - 1)
+
+/* Returns the CPU core that thread PTID is currently running on.  */
+					  
+/* Compute and return the processor core of a given thread.  */
+
+int
+linux_common_core_of_thread (ptid_t ptid)
+{
+  char filename[sizeof ("/proc//task//stat") + 2 * MAX_PID_T_STRLEN];
+  FILE *f;
+  char *content = NULL;
+  char *p;
+  char *ts = 0;
+  int content_read = 0;
+  int i;
+  int core;
+
+  sprintf (filename, "/proc/%lld/task/%lld/stat",
+	   (PID_T) ptid_get_pid (ptid), (PID_T) ptid_get_lwp (ptid));
+  f = gdb_fopen_cloexec (filename, "r");
+  if (!f)
+    return -1;
+
+  for (;;)
+    {
+      int n;
+      content = xrealloc (content, content_read + 1024);
+      n = fread (content + content_read, 1, 1024, f);
+      content_read += n;
+      if (n < 1024)
+	{
+	  content[content_read] = '\0';
+	  break;
+	}
+    }
+
+  /* ps command also relies on no trailing fields ever contain ')'.  */
+  p = strrchr (content, ')');
+  if (p != NULL)
+    p++;
+
+  /* If the first field after program name has index 0, then core number is
+     the field with index 36.  There's no constant for that anywhere.  */
+  if (p != NULL)
+    p = strtok_r (p, " ", &ts);
+  for (i = 0; p != NULL && i != 36; ++i)
+    p = strtok_r (NULL, " ", &ts);
+
+  if (p == NULL || sscanf (p, "%d", &core) == 0)
+    core = -1;
+
+  xfree (content);
+  fclose (f);
+
+  return core;
+}
+
+/* Finds the command-line of process PID and copies it into COMMAND.
+   At most MAXLEN characters are copied.  If the command-line cannot
+   be found, PID is copied into command in text-form.  */
+
+static void
+command_from_pid (char *command, int maxlen, PID_T pid)
+{
+  char *stat_path = xstrprintf ("/proc/%lld/stat", pid); 
+  FILE *fp = gdb_fopen_cloexec (stat_path, "r");
+  
+  command[0] = '\0';
+ 
+  if (fp)
+    {
+      /* sizeof (cmd) should be greater or equal to TASK_COMM_LEN (in
+	 include/linux/sched.h in the Linux kernel sources) plus two
+	 (for the brackets).  */
+      char cmd[18];
+      PID_T stat_pid;
+      int items_read = fscanf (fp, "%lld %17s", &stat_pid, cmd);
+	  
+      if (items_read == 2 && pid == stat_pid)
+	{
+	  cmd[strlen (cmd) - 1] = '\0'; /* Remove trailing parenthesis.  */
+	  strncpy (command, cmd + 1, maxlen); /* Ignore leading parenthesis.  */
+	}
+
+      fclose (fp);
+    }
+  else
+    {
+      /* Return the PID if a /proc entry for the process cannot be found.  */
+      snprintf (command, maxlen, "%lld", pid);
+    }
+
+  command[maxlen - 1] = '\0'; /* Ensure string is null-terminated.  */
+	
+  xfree (stat_path);
+}
+
+/* Returns the command-line of the process with the given PID. The
+   returned string needs to be freed using xfree after use.  */
+
+static char *
+commandline_from_pid (PID_T pid)
+{
+  char *pathname = xstrprintf ("/proc/%lld/cmdline", pid);
+  char *commandline = NULL;
+  FILE *f = gdb_fopen_cloexec (pathname, "r");
+
+  if (f)
+    {
+      size_t len = 0;
+
+      while (!feof (f))
+	{
+	  char buf[1024];
+	  size_t read_bytes = fread (buf, 1, sizeof (buf), f);
+     
+	  if (read_bytes)
+	    {
+	      commandline = (char *) xrealloc (commandline, len + read_bytes + 1);
+	      memcpy (commandline + len, buf, read_bytes);
+	      len += read_bytes;
+	    }
+	}
+
+      fclose (f);
+
+      if (commandline)
+	{
+	  size_t i;
+
+	  /* Replace null characters with spaces.  */
+	  for (i = 0; i < len; ++i)
+	    if (commandline[i] == '\0')
+	      commandline[i] = ' ';
+
+	  commandline[len] = '\0';
+	}
+      else
+	{
+	  /* Return the command in square brackets if the command-line
+	     is empty.  */
+	  commandline = (char *) xmalloc (32);
+	  commandline[0] = '[';
+	  command_from_pid (commandline + 1, 31, pid);
+
+	  len = strlen (commandline);
+	  if (len < 31)
+	    strcat (commandline, "]");
+	}
+    }
+
+  xfree (pathname);
+
+  return commandline;
+}
+
+/* Finds the user name for the user UID and copies it into USER.  At
+   most MAXLEN characters are copied.  */
+
+static void
+user_from_uid (char *user, int maxlen, uid_t uid)
+{
+  struct passwd *pwentry = getpwuid (uid);
+  
+  if (pwentry)
+    {
+      strncpy (user, pwentry->pw_name, maxlen);
+      /* Ensure that the user name is null-terminated.  */
+      user[maxlen - 1] = '\0';
+    }
+  else
+    user[0] = '\0';
+}
+
+/* Finds the owner of process PID and returns the user id in OWNER.
+   Returns 0 if the owner was found, -1 otherwise.  */
+
+static int
+get_process_owner (uid_t *owner, PID_T pid)
+{
+  struct stat statbuf;
+  char procentry[sizeof ("/proc/") + MAX_PID_T_STRLEN];
+
+  sprintf (procentry, "/proc/%lld", pid);
+  
+  if (stat (procentry, &statbuf) == 0 && S_ISDIR (statbuf.st_mode))
+    {
+      *owner = statbuf.st_uid;
+      return 0;
+    }
+  else
+    return -1;
+}
+
+/* Find the CPU cores used by process PID and return them in CORES.
+   CORES points to an array of NUM_CORES elements.  */
+
+static int
+get_cores_used_by_process (PID_T pid, int *cores, const int num_cores)
+{
+  char taskdir[sizeof ("/proc/") + MAX_PID_T_STRLEN + sizeof ("/task") - 1];
+  DIR *dir;
+  struct dirent *dp;
+  int task_count = 0;
+
+  sprintf (taskdir, "/proc/%lld/task", pid);
+  dir = opendir (taskdir);
+  if (dir)
+    {
+      while ((dp = readdir (dir)) != NULL)
+	{
+	  PID_T tid;
+	  int core;
+
+	  if (!isdigit (dp->d_name[0])
+	      || NAMELEN (dp) > MAX_PID_T_STRLEN)
+	    continue;
+
+	  sscanf (dp->d_name, "%lld", &tid);
+	  core = linux_common_core_of_thread (ptid_build ((pid_t) pid,
+							  (pid_t) tid, 0));
+
+	  if (core >= 0 && core < num_cores)
+	    {
+	      ++cores[core];
+	      ++task_count;
+	    }
+	}
+
+      closedir (dir);
+    }
+
+  return task_count;
+}
+
+static LONGEST
+linux_xfer_osdata_processes (gdb_byte *readbuf,
+			     ULONGEST offset, ULONGEST len)
+{
+  /* We make the process list snapshot when the object starts to be read.  */
+  static const char *buf;
+  static LONGEST len_avail = -1;
+  static struct buffer buffer;
+
+  if (offset == 0)
+    {
+      DIR *dirp;
+
+      if (len_avail != -1 && len_avail != 0)
+	buffer_free (&buffer);
+      len_avail = 0;
+      buf = NULL;
+      buffer_init (&buffer);
+      buffer_grow_str (&buffer, "<osdata type=\"processes\">\n");
+
+      dirp = opendir ("/proc");
+      if (dirp)
+	{
+	  const int num_cores = sysconf (_SC_NPROCESSORS_ONLN);
+	  struct dirent *dp;
+
+	  while ((dp = readdir (dirp)) != NULL)
+	    {
+	      PID_T pid;
+	      uid_t owner;
+	      char user[UT_NAMESIZE];
+	      char *command_line;
+	      int *cores;
+	      int task_count;
+	      char *cores_str;
+	      int i;
+
+	      if (!isdigit (dp->d_name[0])
+		  || NAMELEN (dp) > MAX_PID_T_STRLEN)
+		continue;
+
+	      sscanf (dp->d_name, "%lld", &pid);
+	      command_line = commandline_from_pid (pid);
+
+	      if (get_process_owner (&owner, pid) == 0)
+		user_from_uid (user, sizeof (user), owner);
+	      else
+		strcpy (user, "?");
+
+	      /* Find CPU cores used by the process.  */
+	      cores = (int *) xcalloc (num_cores, sizeof (int));
+	      task_count = get_cores_used_by_process (pid, cores, num_cores);
+	      cores_str = (char *) xcalloc (task_count, sizeof ("4294967295") + 1);
+
+	      for (i = 0; i < num_cores && task_count > 0; ++i)
+		if (cores[i])
+		  {
+		    char core_str[sizeof ("4294967295")];
+
+		    sprintf (core_str, "%d", i);
+		    strcat (cores_str, core_str);
+
+		    task_count -= cores[i];
+		    if (task_count > 0)
+		      strcat (cores_str, ",");
+		  }
+
+	      xfree (cores);
+	      
+	      buffer_xml_printf (
+		  &buffer,
+		  "<item>"
+		  "<column name=\"pid\">%lld</column>"
+		  "<column name=\"user\">%s</column>"
+		  "<column name=\"command\">%s</column>"
+		  "<column name=\"cores\">%s</column>"
+		  "</item>",
+		  pid,
+		  user,
+		  command_line ? command_line : "",
+		  cores_str);
+
+	      xfree (command_line);     
+	      xfree (cores_str);
+	    }
+	  
+	  closedir (dirp);
+	}
+
+      buffer_grow_str0 (&buffer, "</osdata>\n");
+      buf = buffer_finish (&buffer);
+      len_avail = strlen (buf);
+    }
+
+  if (offset >= len_avail)
+    {
+      /* Done.  Get rid of the buffer.  */
+      buffer_free (&buffer);
+      buf = NULL;
+      len_avail = 0;
+      return 0;
+    }
+
+  if (len > len_avail - offset)
+    len = len_avail - offset;
+  memcpy (readbuf, buf + offset, len);
+
+  return len;
+}
+
+/* Auxiliary function used by qsort to sort processes by process
+   group.  Compares two processes with ids PROCESS1 and PROCESS2.
+   PROCESS1 comes before PROCESS2 if it has a lower process group id.
+   If they belong to the same process group, PROCESS1 comes before
+   PROCESS2 if it has a lower process id or is the process group
+   leader.  */
+
+static int
+compare_processes (const void *process1, const void *process2)
+{
+  PID_T pid1 = *((PID_T *) process1);
+  PID_T pid2 = *((PID_T *) process2);
+  PID_T pgid1 = *((PID_T *) process1 + 1);
+  PID_T pgid2 = *((PID_T *) process2 + 1);
+
+  /* Sort by PGID.  */
+  if (pgid1 < pgid2)
+    return -1;
+  else if (pgid1 > pgid2)
+    return 1;
+  else
+    {
+      /* Process group leaders always come first, else sort by PID.  */
+      if (pid1 == pgid1)
+	return -1;
+      else if (pid2 == pgid2)
+	return 1;
+      else if (pid1 < pid2)
+	return -1;
+      else if (pid1 > pid2)
+	return 1;
+      else
+	return 0;
+    }
+}
+
+/* Collect all process groups from /proc.  */
+
+static LONGEST
+linux_xfer_osdata_processgroups (gdb_byte *readbuf,
+				 ULONGEST offset, ULONGEST len)
+{
+  /* We make the process list snapshot when the object starts to be read.  */
+  static const char *buf;
+  static LONGEST len_avail = -1;
+  static struct buffer buffer;
+
+  if (offset == 0)
+    {
+      DIR *dirp;
+
+      if (len_avail != -1 && len_avail != 0)
+	buffer_free (&buffer);
+      len_avail = 0;
+      buf = NULL;
+      buffer_init (&buffer);
+      buffer_grow_str (&buffer, "<osdata type=\"process groups\">\n");
+
+      dirp = opendir ("/proc");
+      if (dirp)
+	{
+	  struct dirent *dp;
+	  const size_t list_block_size = 512;
+	  PID_T *process_list = (PID_T *) xmalloc (list_block_size * 2 * sizeof (PID_T));
+	  size_t process_count = 0;
+	  size_t i;
+
+	  /* Build list consisting of PIDs followed by their
+	     associated PGID.  */
+	  while ((dp = readdir (dirp)) != NULL)
+	    {
+	      PID_T pid, pgid;
+
+	      if (!isdigit (dp->d_name[0])
+		  || NAMELEN (dp) > MAX_PID_T_STRLEN)
+		continue;
+
+	      sscanf (dp->d_name, "%lld", &pid);
+	      pgid = getpgid (pid);
+
+	      if (pgid > 0)
+		{
+		  process_list[2 * process_count] = pid;
+		  process_list[2 * process_count + 1] = pgid;
+		  ++process_count;
+
+		  /* Increase the size of the list if necessary.  */
+		  if (process_count % list_block_size == 0)
+		    process_list = (PID_T *) xrealloc (
+			process_list,
+			(process_count + list_block_size)
+			* 2 * sizeof (PID_T));
+		}
+	    }
+
+	  closedir (dirp);
+
+	  /* Sort the process list.  */
+	  qsort (process_list, process_count, 2 * sizeof (PID_T),
+		 compare_processes);
+
+	  for (i = 0; i < process_count; ++i)
+	    {
+	      PID_T pid = process_list[2 * i];
+	      PID_T pgid = process_list[2 * i + 1];
+	      char leader_command[32];
+	      char *command_line;
+
+	      command_from_pid (leader_command, sizeof (leader_command), pgid);
+	      command_line = commandline_from_pid (pid);
+
+	      buffer_xml_printf (
+		  &buffer,
+		  "<item>"
+		  "<column name=\"pgid\">%lld</column>"
+		  "<column name=\"leader command\">%s</column>"
+		  "<column name=\"pid\">%lld</column>"
+		  "<column name=\"command line\">%s</column>"
+		  "</item>",
+		  pgid,
+		  leader_command,
+		  pid,
+		  command_line ? command_line : "");
+
+	      xfree (command_line);
+	    }
+
+	  xfree (process_list);
+	}   
+
+      buffer_grow_str0 (&buffer, "</osdata>\n");
+      buf = buffer_finish (&buffer);
+      len_avail = strlen (buf);
+    }
+
+  if (offset >= len_avail)
+    {
+      /* Done.  Get rid of the buffer.  */
+      buffer_free (&buffer);
+      buf = NULL;
+      len_avail = 0;
+      return 0;
+    }
+
+  if (len > len_avail - offset)
+    len = len_avail - offset;
+  memcpy (readbuf, buf + offset, len);
+
+  return len;
+}
+
+/* Collect all the threads in /proc by iterating through processes and
+   then tasks within each process.  */
+
+static LONGEST
+linux_xfer_osdata_threads (gdb_byte *readbuf,
+			   ULONGEST offset, ULONGEST len)
+{
+  /* We make the process list snapshot when the object starts to be read.  */
+  static const char *buf;
+  static LONGEST len_avail = -1;
+  static struct buffer buffer;
+
+  if (offset == 0)
+    {
+      DIR *dirp;
+
+      if (len_avail != -1 && len_avail != 0)
+	buffer_free (&buffer);
+      len_avail = 0;
+      buf = NULL;
+      buffer_init (&buffer);
+      buffer_grow_str (&buffer, "<osdata type=\"threads\">\n");
+
+      dirp = opendir ("/proc");
+      if (dirp)
+	{
+	  struct dirent *dp;
+
+	  while ((dp = readdir (dirp)) != NULL)
+	    {
+	      struct stat statbuf;
+	      char procentry[sizeof ("/proc/4294967295")];
+
+	      if (!isdigit (dp->d_name[0])
+		  || NAMELEN (dp) > sizeof ("4294967295") - 1)
+		continue;
+
+	      sprintf (procentry, "/proc/%s", dp->d_name);
+	      if (stat (procentry, &statbuf) == 0
+		  && S_ISDIR (statbuf.st_mode))
+		{
+		  DIR *dirp2;
+		  char *pathname;
+		  PID_T pid;
+		  char command[32];
+
+		  pathname = xstrprintf ("/proc/%s/task", dp->d_name);
+		  
+		  pid = atoi (dp->d_name);
+		  command_from_pid (command, sizeof (command), pid);
+
+		  dirp2 = opendir (pathname);
+
+		  if (dirp2)
+		    {
+		      struct dirent *dp2;
+
+		      while ((dp2 = readdir (dirp2)) != NULL)
+			{
+			  PID_T tid;
+			  int core;
+
+			  if (!isdigit (dp2->d_name[0])
+			      || NAMELEN (dp2) > sizeof ("4294967295") - 1)
+			    continue;
+
+			  tid = atoi (dp2->d_name);
+			  core = linux_common_core_of_thread (ptid_build (pid, tid, 0));
+
+			  buffer_xml_printf (
+			    &buffer,
+			    "<item>"
+			    "<column name=\"pid\">%lld</column>"
+			    "<column name=\"command\">%s</column>"
+			    "<column name=\"tid\">%lld</column>"
+			    "<column name=\"core\">%d</column>"
+			    "</item>",
+			    pid,
+			    command,
+			    tid,
+			    core);
+			}
+
+		      closedir (dirp2);
+		    }
+
+		  xfree (pathname);
+		}
+	    }
+
+	  closedir (dirp);
+	}
+
+      buffer_grow_str0 (&buffer, "</osdata>\n");
+      buf = buffer_finish (&buffer);
+      len_avail = strlen (buf);
+    }
+
+  if (offset >= len_avail)
+    {
+      /* Done.  Get rid of the buffer.  */
+      buffer_free (&buffer);
+      buf = NULL;
+      len_avail = 0;
+      return 0;
+    }
+
+  if (len > len_avail - offset)
+    len = len_avail - offset;
+  memcpy (readbuf, buf + offset, len);
+
+  return len;
+}
+
+/* Collect all the open file descriptors found in /proc and put the details
+   found about them into READBUF.  */
+
+static LONGEST
+linux_xfer_osdata_fds (gdb_byte *readbuf,
+		       ULONGEST offset, ULONGEST len)
+{
+  /* We make the process list snapshot when the object starts to be read.  */
+  static const char *buf;
+  static LONGEST len_avail = -1;
+  static struct buffer buffer;
+
+  if (offset == 0)
+    {
+      DIR *dirp;
+
+      if (len_avail != -1 && len_avail != 0)
+	buffer_free (&buffer);
+      len_avail = 0;
+      buf = NULL;
+      buffer_init (&buffer);
+      buffer_grow_str (&buffer, "<osdata type=\"files\">\n");
+
+      dirp = opendir ("/proc");
+      if (dirp)
+	{
+	  struct dirent *dp;
+
+	  while ((dp = readdir (dirp)) != NULL)
+	    {
+	      struct stat statbuf;
+	      char procentry[sizeof ("/proc/4294967295")];
+
+	      if (!isdigit (dp->d_name[0])
+		  || NAMELEN (dp) > sizeof ("4294967295") - 1)
+		continue;
+
+	      sprintf (procentry, "/proc/%s", dp->d_name);
+	      if (stat (procentry, &statbuf) == 0
+		  && S_ISDIR (statbuf.st_mode))
+		{
+		  char *pathname;
+		  DIR *dirp2;
+		  PID_T pid;
+		  char command[32];
+
+		  pid = atoi (dp->d_name);
+		  command_from_pid (command, sizeof (command), pid);
+
+		  pathname = xstrprintf ("/proc/%s/fd", dp->d_name);
+		  dirp2 = opendir (pathname);
+
+		  if (dirp2)
+		    {
+		      struct dirent *dp2;
+
+		      while ((dp2 = readdir (dirp2)) != NULL)
+			{
+			  char *fdname;
+			  char buf[1000];
+			  ssize_t rslt;
+
+			  if (!isdigit (dp2->d_name[0]))
+			    continue;
+
+			  fdname = xstrprintf ("%s/%s", pathname, dp2->d_name);
+			  rslt = readlink (fdname, buf, sizeof (buf) - 1);
+			  if (rslt >= 0)
+			    buf[rslt] = '\0';
+
+			  buffer_xml_printf (
+			    &buffer,
+			    "<item>"
+			    "<column name=\"pid\">%s</column>"
+			    "<column name=\"command\">%s</column>"
+			    "<column name=\"file descriptor\">%s</column>"
+			    "<column name=\"name\">%s</column>"
+			    "</item>",
+			    dp->d_name,
+			    command,
+			    dp2->d_name,
+			    (rslt >= 0 ? buf : dp2->d_name));
+			}
+
+		      closedir (dirp2);
+		    }
+
+		  xfree (pathname);
+		}
+	    }
+
+	  closedir (dirp);
+	}
+
+      buffer_grow_str0 (&buffer, "</osdata>\n");
+      buf = buffer_finish (&buffer);
+      len_avail = strlen (buf);
+    }
+
+  if (offset >= len_avail)
+    {
+      /* Done.  Get rid of the buffer.  */
+      buffer_free (&buffer);
+      buf = NULL;
+      len_avail = 0;
+      return 0;
+    }
+
+  if (len > len_avail - offset)
+    len = len_avail - offset;
+  memcpy (readbuf, buf + offset, len);
+
+  return len;
+}
+
+/* Returns the socket state STATE in textual form.  */
+
+static const char *
+format_socket_state (unsigned char state)
+{
+  /* Copied from include/net/tcp_states.h in the Linux kernel sources.  */
+  enum {
+    TCP_ESTABLISHED = 1,
+    TCP_SYN_SENT,
+    TCP_SYN_RECV,
+    TCP_FIN_WAIT1,
+    TCP_FIN_WAIT2,
+    TCP_TIME_WAIT,
+    TCP_CLOSE,
+    TCP_CLOSE_WAIT,
+    TCP_LAST_ACK,
+    TCP_LISTEN,
+    TCP_CLOSING
+  };
+
+  switch (state)
+    {
+    case TCP_ESTABLISHED:
+      return "ESTABLISHED";
+    case TCP_SYN_SENT:
+      return "SYN_SENT";
+    case TCP_SYN_RECV:
+      return "SYN_RECV";
+    case TCP_FIN_WAIT1:
+      return "FIN_WAIT1";
+    case TCP_FIN_WAIT2:
+      return "FIN_WAIT2";
+    case TCP_TIME_WAIT:
+      return "TIME_WAIT";
+    case TCP_CLOSE:
+      return "CLOSE";
+    case TCP_CLOSE_WAIT:
+      return "CLOSE_WAIT";
+    case TCP_LAST_ACK:
+      return "LAST_ACK";
+    case TCP_LISTEN:
+      return "LISTEN";
+    case TCP_CLOSING:
+      return "CLOSING";
+    default:
+      return "(unknown)";
+    }
+}
+
+union socket_addr
+  {
+    struct sockaddr sa;
+    struct sockaddr_in sin;
+    struct sockaddr_in6 sin6;
+  };
+
+/* Auxiliary function used by linux_xfer_osdata_isocket.  Formats
+   information for all open internet sockets of type FAMILY on the
+   system into BUFFER.  If TCP is set, only TCP sockets are processed,
+   otherwise only UDP sockets are processed.  */
+
+static void
+print_sockets (unsigned short family, int tcp, struct buffer *buffer)
+{
+  const char *proc_file;
+  FILE *fp;
+
+  if (family == AF_INET)
+    proc_file = tcp ? "/proc/net/tcp" : "/proc/net/udp";
+  else if (family == AF_INET6)
+    proc_file = tcp ? "/proc/net/tcp6" : "/proc/net/udp6";
+  else
+    return;
+
+  fp = gdb_fopen_cloexec (proc_file, "r");
+  if (fp)
+    {
+      char buf[8192];
+
+      do
+	{
+	  if (fgets (buf, sizeof (buf), fp))
+	    {
+	      uid_t uid;
+	      unsigned int local_port, remote_port, state;
+	      char local_address[NI_MAXHOST], remote_address[NI_MAXHOST];
+	      int result;
+
+#if NI_MAXHOST <= 32
+#error "local_address and remote_address buffers too small"
+#endif
+
+	      result = sscanf (buf,
+			       "%*d: %32[0-9A-F]:%X %32[0-9A-F]:%X %X %*X:%*X %*X:%*X %*X %d %*d %*u %*s\n",
+			       local_address, &local_port,
+			       remote_address, &remote_port,
+			       &state,
+			       &uid);
+	      
+	      if (result == 6)
+		{
+		  union socket_addr locaddr, remaddr;
+		  size_t addr_size;
+		  char user[UT_NAMESIZE];
+		  char local_service[NI_MAXSERV], remote_service[NI_MAXSERV];
+
+		  if (family == AF_INET)
+		    {
+		      sscanf (local_address, "%X",
+			      &locaddr.sin.sin_addr.s_addr);
+		      sscanf (remote_address, "%X",
+			      &remaddr.sin.sin_addr.s_addr);
+		      
+		      locaddr.sin.sin_port = htons (local_port);
+		      remaddr.sin.sin_port = htons (remote_port);
+
+		      addr_size = sizeof (struct sockaddr_in);
+		    }
+		  else
+		    {
+		      sscanf (local_address, "%8X%8X%8X%8X",
+			      locaddr.sin6.sin6_addr.s6_addr32,
+			      locaddr.sin6.sin6_addr.s6_addr32 + 1,
+			      locaddr.sin6.sin6_addr.s6_addr32 + 2,
+			      locaddr.sin6.sin6_addr.s6_addr32 + 3);
+		      sscanf (remote_address, "%8X%8X%8X%8X",
+			      remaddr.sin6.sin6_addr.s6_addr32,
+			      remaddr.sin6.sin6_addr.s6_addr32 + 1,
+			      remaddr.sin6.sin6_addr.s6_addr32 + 2,
+			      remaddr.sin6.sin6_addr.s6_addr32 + 3);
+
+		      locaddr.sin6.sin6_port = htons (local_port);
+		      remaddr.sin6.sin6_port = htons (remote_port);
+		      
+		      locaddr.sin6.sin6_flowinfo = 0;
+		      remaddr.sin6.sin6_flowinfo = 0;
+		      locaddr.sin6.sin6_scope_id = 0;
+		      remaddr.sin6.sin6_scope_id = 0;
+
+		      addr_size = sizeof (struct sockaddr_in6);
+		    }
+	      
+		  locaddr.sa.sa_family = remaddr.sa.sa_family = family;
+		      
+		  result = getnameinfo (&locaddr.sa, addr_size,
+					local_address, sizeof (local_address),
+					local_service, sizeof (local_service),
+					NI_NUMERICHOST | NI_NUMERICSERV
+					| (tcp ? 0 : NI_DGRAM));
+		  if (result)
+		    continue;
+		  
+		  result = getnameinfo (&remaddr.sa, addr_size,
+					remote_address,
+					sizeof (remote_address),
+					remote_service,
+					sizeof (remote_service),
+					NI_NUMERICHOST | NI_NUMERICSERV
+					| (tcp ? 0 : NI_DGRAM));
+		  if (result)
+		    continue;
+		  
+		  user_from_uid (user, sizeof (user), uid);
+		  
+		  buffer_xml_printf (
+		      buffer,
+		      "<item>"
+		      "<column name=\"local address\">%s</column>"
+		      "<column name=\"local port\">%s</column>"
+		      "<column name=\"remote address\">%s</column>"
+		      "<column name=\"remote port\">%s</column>"
+		      "<column name=\"state\">%s</column>"
+		      "<column name=\"user\">%s</column>"
+		      "<column name=\"family\">%s</column>" 
+		      "<column name=\"protocol\">%s</column>"
+		      "</item>",
+		      local_address,
+		      local_service,
+		      remote_address,
+		      remote_service,
+		      format_socket_state (state),
+		      user,
+		      (family == AF_INET) ? "INET" : "INET6",
+		      tcp ? "STREAM" : "DGRAM");
+		}
+	    }
+	}
+      while (!feof (fp));
+
+      fclose (fp);
+    }
+}
+
+/* Collect data about internet sockets and write it into READBUF.  */
+
+static LONGEST
+linux_xfer_osdata_isockets (gdb_byte *readbuf,
+			    ULONGEST offset, ULONGEST len)
+{
+  static const char *buf;
+  static LONGEST len_avail = -1;
+  static struct buffer buffer;
+
+  if (offset == 0)
+    {
+      if (len_avail != -1 && len_avail != 0)
+	buffer_free (&buffer);
+      len_avail = 0;
+      buf = NULL;
+      buffer_init (&buffer);
+      buffer_grow_str (&buffer, "<osdata type=\"I sockets\">\n");
+
+      print_sockets (AF_INET, 1, &buffer);
+      print_sockets (AF_INET, 0, &buffer);
+      print_sockets (AF_INET6, 1, &buffer);
+      print_sockets (AF_INET6, 0, &buffer);
+
+      buffer_grow_str0 (&buffer, "</osdata>\n");
+      buf = buffer_finish (&buffer);
+      len_avail = strlen (buf);
+    }
+
+  if (offset >= len_avail)
+    {
+      /* Done.  Get rid of the buffer.  */
+      buffer_free (&buffer);
+      buf = NULL;
+      len_avail = 0;
+      return 0;
+    }
+
+  if (len > len_avail - offset)
+    len = len_avail - offset;
+  memcpy (readbuf, buf + offset, len);
+
+  return len;
+}
+
+/* Converts the time SECONDS into textual form and copies it into a
+   buffer TIME, with at most MAXLEN characters copied.  */
+
+static void
+time_from_time_t (char *time, int maxlen, TIME_T seconds)
+{
+  if (!seconds)
+    time[0] = '\0';
+  else
+    {
+      time_t t = (time_t) seconds;
+      
+      strncpy (time, ctime (&t), maxlen);
+      time[maxlen - 1] = '\0';
+    }
+}
+
+/* Finds the group name for the group GID and copies it into GROUP.
+   At most MAXLEN characters are copied.  */
+
+static void
+group_from_gid (char *group, int maxlen, gid_t gid)
+{
+  struct group *grentry = getgrgid (gid);
+  
+  if (grentry)
+    {
+      strncpy (group, grentry->gr_name, maxlen);
+      /* Ensure that the group name is null-terminated.  */
+      group[maxlen - 1] = '\0';
+    }
+  else
+    group[0] = '\0';
+}
+
+/* Collect data about shared memory recorded in /proc and write it
+   into READBUF.  */
+
+static LONGEST
+linux_xfer_osdata_shm (gdb_byte *readbuf,
+		       ULONGEST offset, ULONGEST len)
+{
+  static const char *buf;
+  static LONGEST len_avail = -1;
+  static struct buffer buffer;
+
+  if (offset == 0)
+    {
+      FILE *fp;
+
+      if (len_avail != -1 && len_avail != 0)
+	buffer_free (&buffer);
+      len_avail = 0;
+      buf = NULL;
+      buffer_init (&buffer);
+      buffer_grow_str (&buffer, "<osdata type=\"shared memory\">\n");
+
+      fp = gdb_fopen_cloexec ("/proc/sysvipc/shm", "r");
+      if (fp)
+	{
+	  char buf[8192];
+
+	  do
+	    {
+	      if (fgets (buf, sizeof (buf), fp))
+		{
+		  key_t key;
+		  uid_t uid, cuid;
+		  gid_t gid, cgid;
+		  PID_T cpid, lpid;
+		  int shmid, size, nattch;
+		  TIME_T atime, dtime, ctime;
+		  unsigned int perms;
+		  int items_read;
+				  
+		  items_read = sscanf (buf,
+				       "%d %d %o %d %lld %lld %d %u %u %u %u %lld %lld %lld",
+				       &key, &shmid, &perms, &size,
+				       &cpid, &lpid,
+				       &nattch,
+				       &uid, &gid, &cuid, &cgid,
+				       &atime, &dtime, &ctime);
+
+		  if (items_read == 14)
+		    {
+		      char user[UT_NAMESIZE], group[UT_NAMESIZE];
+		      char cuser[UT_NAMESIZE], cgroup[UT_NAMESIZE];
+		      char ccmd[32], lcmd[32];
+		      char atime_str[32], dtime_str[32], ctime_str[32];
+		      
+		      user_from_uid (user, sizeof (user), uid);
+		      group_from_gid (group, sizeof (group), gid);
+		      user_from_uid (cuser, sizeof (cuser), cuid);
+		      group_from_gid (cgroup, sizeof (cgroup), cgid);
+		      
+		      command_from_pid (ccmd, sizeof (ccmd), cpid);
+		      command_from_pid (lcmd, sizeof (lcmd), lpid);
+		      
+		      time_from_time_t (atime_str, sizeof (atime_str), atime);
+		      time_from_time_t (dtime_str, sizeof (dtime_str), dtime);
+		      time_from_time_t (ctime_str, sizeof (ctime_str), ctime);
+		      
+		      buffer_xml_printf (
+		          &buffer,
+			  "<item>"
+			  "<column name=\"key\">%d</column>"
+			  "<column name=\"shmid\">%d</column>"
+			  "<column name=\"permissions\">%o</column>"
+			  "<column name=\"size\">%d</column>"
+			  "<column name=\"creator command\">%s</column>"
+			  "<column name=\"last op. command\">%s</column>"
+			  "<column name=\"num attached\">%d</column>"
+			  "<column name=\"user\">%s</column>"
+			  "<column name=\"group\">%s</column>"
+			  "<column name=\"creator user\">%s</column>"
+			  "<column name=\"creator group\">%s</column>"
+			  "<column name=\"last shmat() time\">%s</column>"
+			  "<column name=\"last shmdt() time\">%s</column>"
+			  "<column name=\"last shmctl() time\">%s</column>"
+			  "</item>",
+			  key,
+			  shmid,
+			  perms,
+			  size,
+			  ccmd,
+			  lcmd,
+			  nattch,
+			  user,
+			  group,
+			  cuser,
+			  cgroup,
+			  atime_str,
+			  dtime_str,
+			  ctime_str);
+		    }
+		}
+	    }
+	  while (!feof (fp));
+
+	  fclose (fp);
+	}
+      
+      buffer_grow_str0 (&buffer, "</osdata>\n");
+      buf = buffer_finish (&buffer);
+      len_avail = strlen (buf);
+    }
+
+  if (offset >= len_avail)
+    {
+      /* Done.  Get rid of the buffer.  */
+      buffer_free (&buffer);
+      buf = NULL;
+      len_avail = 0;
+      return 0;
+    }
+
+  if (len > len_avail - offset)
+    len = len_avail - offset;
+  memcpy (readbuf, buf + offset, len);
+
+  return len;
+}
+
+/* Collect data about semaphores recorded in /proc and write it
+   into READBUF.  */
+
+static LONGEST
+linux_xfer_osdata_sem (gdb_byte *readbuf,
+		       ULONGEST offset, ULONGEST len)
+{
+  static const char *buf;
+  static LONGEST len_avail = -1;
+  static struct buffer buffer;
+
+  if (offset == 0)
+    {
+      FILE *fp;
+      
+      if (len_avail != -1 && len_avail != 0)
+	buffer_free (&buffer);
+      len_avail = 0;
+      buf = NULL;
+      buffer_init (&buffer);
+      buffer_grow_str (&buffer, "<osdata type=\"semaphores\">\n");
+
+      fp = gdb_fopen_cloexec ("/proc/sysvipc/sem", "r");
+      if (fp)
+	{
+	  char buf[8192];
+	  
+	  do
+	    {
+	      if (fgets (buf, sizeof (buf), fp))
+		{
+		  key_t key;
+		  uid_t uid, cuid;
+		  gid_t gid, cgid;
+		  unsigned int perms, nsems;
+		  int semid;
+		  TIME_T otime, ctime;
+		  int items_read;
+		  
+		  items_read = sscanf (buf,
+				       "%d %d %o %u %d %d %d %d %lld %lld",
+				       &key, &semid, &perms, &nsems,
+				       &uid, &gid, &cuid, &cgid,
+				       &otime, &ctime);
+		  
+		  if (items_read == 10)
+		    {
+		      char user[UT_NAMESIZE], group[UT_NAMESIZE];
+		      char cuser[UT_NAMESIZE], cgroup[UT_NAMESIZE];
+		      char otime_str[32], ctime_str[32];
+		      
+		      user_from_uid (user, sizeof (user), uid);
+		      group_from_gid (group, sizeof (group), gid);
+		      user_from_uid (cuser, sizeof (cuser), cuid);
+		      group_from_gid (cgroup, sizeof (cgroup), cgid);
+		      
+		      time_from_time_t (otime_str, sizeof (otime_str), otime);
+		      time_from_time_t (ctime_str, sizeof (ctime_str), ctime);
+		      
+		      buffer_xml_printf (
+			  &buffer,
+			  "<item>"
+			  "<column name=\"key\">%d</column>"
+			  "<column name=\"semid\">%d</column>"
+			  "<column name=\"permissions\">%o</column>"
+			  "<column name=\"num semaphores\">%u</column>"
+			  "<column name=\"user\">%s</column>"
+			  "<column name=\"group\">%s</column>"
+			  "<column name=\"creator user\">%s</column>"
+			  "<column name=\"creator group\">%s</column>"
+			  "<column name=\"last semop() time\">%s</column>"
+			  "<column name=\"last semctl() time\">%s</column>"
+			  "</item>",
+			  key,
+			  semid,
+			  perms,
+			  nsems,
+			  user,
+			  group,
+			  cuser,
+			  cgroup,
+			  otime_str,
+			  ctime_str);
+		    }
+		}
+	    }
+	  while (!feof (fp));
+
+	  fclose (fp);
+	}
+
+      buffer_grow_str0 (&buffer, "</osdata>\n");
+      buf = buffer_finish (&buffer);
+      len_avail = strlen (buf);
+    }
+
+  if (offset >= len_avail)
+    {
+      /* Done.  Get rid of the buffer.  */
+      buffer_free (&buffer);
+      buf = NULL;
+      len_avail = 0;
+      return 0;
+    }
+
+  if (len > len_avail - offset)
+    len = len_avail - offset;
+  memcpy (readbuf, buf + offset, len);
+
+  return len;
+}
+
+/* Collect data about message queues recorded in /proc and write it
+   into READBUF.  */
+
+static LONGEST
+linux_xfer_osdata_msg (gdb_byte *readbuf,
+		       ULONGEST offset, ULONGEST len)
+{
+  static const char *buf;
+  static LONGEST len_avail = -1;
+  static struct buffer buffer;
+
+  if (offset == 0)
+    {
+      FILE *fp;
+      
+      if (len_avail != -1 && len_avail != 0)
+	buffer_free (&buffer);
+      len_avail = 0;
+      buf = NULL;
+      buffer_init (&buffer);
+      buffer_grow_str (&buffer, "<osdata type=\"message queues\">\n");
+      
+      fp = gdb_fopen_cloexec ("/proc/sysvipc/msg", "r");
+      if (fp)
+	{
+	  char buf[8192];
+	  
+	  do
+	    {
+	      if (fgets (buf, sizeof (buf), fp))
+		{
+		  key_t key;
+		  PID_T lspid, lrpid;
+		  uid_t uid, cuid;
+		  gid_t gid, cgid;
+		  unsigned int perms, cbytes, qnum;
+		  int msqid;
+		  TIME_T stime, rtime, ctime;
+		  int items_read;
+		  
+		  items_read = sscanf (buf,
+				       "%d %d %o %u %u %lld %lld %d %d %d %d %lld %lld %lld",
+				       &key, &msqid, &perms, &cbytes, &qnum,
+				       &lspid, &lrpid, &uid, &gid, &cuid, &cgid,
+				       &stime, &rtime, &ctime);
+		  
+		  if (items_read == 14)
+		    {
+		      char user[UT_NAMESIZE], group[UT_NAMESIZE];
+		      char cuser[UT_NAMESIZE], cgroup[UT_NAMESIZE];
+		      char lscmd[32], lrcmd[32];
+		      char stime_str[32], rtime_str[32], ctime_str[32];
+		      
+		      user_from_uid (user, sizeof (user), uid);
+		      group_from_gid (group, sizeof (group), gid);
+		      user_from_uid (cuser, sizeof (cuser), cuid);
+		      group_from_gid (cgroup, sizeof (cgroup), cgid);
+		      
+		      command_from_pid (lscmd, sizeof (lscmd), lspid);
+		      command_from_pid (lrcmd, sizeof (lrcmd), lrpid);
+		      
+		      time_from_time_t (stime_str, sizeof (stime_str), stime);
+		      time_from_time_t (rtime_str, sizeof (rtime_str), rtime);
+		      time_from_time_t (ctime_str, sizeof (ctime_str), ctime);
+		      
+		      buffer_xml_printf (
+			  &buffer,
+			  "<item>"
+			  "<column name=\"key\">%d</column>"
+			  "<column name=\"msqid\">%d</column>"
+			  "<column name=\"permissions\">%o</column>"
+			  "<column name=\"num used bytes\">%u</column>"
+			  "<column name=\"num messages\">%u</column>"
+			  "<column name=\"last msgsnd() command\">%s</column>"
+			  "<column name=\"last msgrcv() command\">%s</column>"
+			  "<column name=\"user\">%s</column>"
+			  "<column name=\"group\">%s</column>"
+			  "<column name=\"creator user\">%s</column>"
+			  "<column name=\"creator group\">%s</column>"
+			  "<column name=\"last msgsnd() time\">%s</column>"
+			  "<column name=\"last msgrcv() time\">%s</column>"
+			  "<column name=\"last msgctl() time\">%s</column>"
+			  "</item>",
+			  key,
+			  msqid,
+			  perms,
+			  cbytes,
+			  qnum,
+			  lscmd,
+			  lrcmd,
+			  user,
+			  group,
+			  cuser,
+			  cgroup,
+			  stime_str,
+			  rtime_str,
+			  ctime_str);
+		    }
+		}
+	    }
+	  while (!feof (fp));
+
+	  fclose (fp);
+	}
+
+      buffer_grow_str0 (&buffer, "</osdata>\n");
+      buf = buffer_finish (&buffer);
+      len_avail = strlen (buf);
+    }
+
+  if (offset >= len_avail)
+    {
+      /* Done.  Get rid of the buffer.  */
+      buffer_free (&buffer);
+      buf = NULL;
+      len_avail = 0;
+      return 0;
+    }
+
+  if (len > len_avail - offset)
+    len = len_avail - offset;
+  memcpy (readbuf, buf + offset, len);
+
+  return len;
+}
+
+/* Collect data about loaded kernel modules and write it into
+   READBUF.  */
+
+static LONGEST
+linux_xfer_osdata_modules (gdb_byte *readbuf,
+			   ULONGEST offset, ULONGEST len)
+{
+  static const char *buf;
+  static LONGEST len_avail = -1;
+  static struct buffer buffer;
+
+  if (offset == 0)
+    {
+      FILE *fp;
+
+      if (len_avail != -1 && len_avail != 0)
+	buffer_free (&buffer);
+      len_avail = 0;
+      buf = NULL;
+      buffer_init (&buffer);
+      buffer_grow_str (&buffer, "<osdata type=\"modules\">\n");
+
+      fp = gdb_fopen_cloexec ("/proc/modules", "r");
+      if (fp)
+	{
+	  char buf[8192];
+	  
+	  do
+	    {
+	      if (fgets (buf, sizeof (buf), fp))
+		{
+		  char *name, *dependencies, *status, *tmp;
+		  unsigned int size;
+		  unsigned long long address;
+		  int uses;
+
+		  name = strtok (buf, " ");
+		  if (name == NULL)
+		    continue;
+
+		  tmp = strtok (NULL, " ");
+		  if (tmp == NULL)
+		    continue;
+		  if (sscanf (tmp, "%u", &size) != 1)
+		    continue;
+
+		  tmp = strtok (NULL, " ");
+		  if (tmp == NULL)
+		    continue;
+		  if (sscanf (tmp, "%d", &uses) != 1)
+		    continue;
+
+		  dependencies = strtok (NULL, " ");
+		  if (dependencies == NULL)
+		    continue;
+
+		  status = strtok (NULL, " ");
+		  if (status == NULL)
+		    continue;
+
+		  tmp = strtok (NULL, "\n");
+		  if (tmp == NULL)
+		    continue;
+		  if (sscanf (tmp, "%llx", &address) != 1)
+		    continue;
+
+		  buffer_xml_printf (
+			&buffer,
+			"<item>"
+			"<column name=\"name\">%s</column>"
+			"<column name=\"size\">%u</column>"
+			"<column name=\"num uses\">%d</column>"
+			"<column name=\"dependencies\">%s</column>"
+			"<column name=\"status\">%s</column>"
+			"<column name=\"address\">%llx</column>"
+			"</item>",
+			name,
+			size,
+			uses,
+			dependencies,
+			status,
+			address);
+		}
+	    }
+	  while (!feof (fp));
+
+	  fclose (fp);
+	}
+
+      buffer_grow_str0 (&buffer, "</osdata>\n");
+      buf = buffer_finish (&buffer);
+      len_avail = strlen (buf);
+    }
+
+  if (offset >= len_avail)
+    {
+      /* Done.  Get rid of the buffer.  */
+      buffer_free (&buffer);
+      buf = NULL;
+      len_avail = 0;
+      return 0;
+    }
+
+  if (len > len_avail - offset)
+    len = len_avail - offset;
+  memcpy (readbuf, buf + offset, len);
+
+  return len;
+}
+
+struct osdata_type {
+  char *type;
+  char *title;
+  char *description;
+  LONGEST (*getter) (gdb_byte *readbuf, ULONGEST offset, ULONGEST len);
+} osdata_table[] = {
+  { "processes", "Processes", "Listing of all processes",
+    linux_xfer_osdata_processes },
+  { "procgroups", "Process groups", "Listing of all process groups",
+    linux_xfer_osdata_processgroups },
+  { "threads", "Threads", "Listing of all threads",
+    linux_xfer_osdata_threads },
+  { "files", "File descriptors", "Listing of all file descriptors",
+    linux_xfer_osdata_fds },
+  { "sockets", "Sockets", "Listing of all internet-domain sockets",
+    linux_xfer_osdata_isockets },
+  { "shm", "Shared-memory regions", "Listing of all shared-memory regions",
+    linux_xfer_osdata_shm },
+  { "semaphores", "Semaphores", "Listing of all semaphores",
+    linux_xfer_osdata_sem },
+  { "msg", "Message queues", "Listing of all message queues",
+    linux_xfer_osdata_msg },
+  { "modules", "Kernel modules", "Listing of all loaded kernel modules",
+    linux_xfer_osdata_modules },
+  { NULL, NULL, NULL }
+};
+
+LONGEST
+linux_common_xfer_osdata (const char *annex, gdb_byte *readbuf,
+			  ULONGEST offset, ULONGEST len)
+{
+  if (!annex || *annex == '\0')
+    {
+      static const char *buf;
+      static LONGEST len_avail = -1;
+      static struct buffer buffer;
+
+      if (offset == 0)
+	{
+	  int i;
+
+	  if (len_avail != -1 && len_avail != 0)
+	    buffer_free (&buffer);
+	  len_avail = 0;
+	  buf = NULL;
+	  buffer_init (&buffer);
+	  buffer_grow_str (&buffer, "<osdata type=\"types\">\n");
+
+	  for (i = 0; osdata_table[i].type; ++i)
+	    buffer_xml_printf (
+			       &buffer,
+			       "<item>"
+			       "<column name=\"Type\">%s</column>"
+			       "<column name=\"Description\">%s</column>"
+			       "<column name=\"Title\">%s</column>"
+			       "</item>",
+			       osdata_table[i].type,
+			       osdata_table[i].description,
+			       osdata_table[i].title);
+
+	  buffer_grow_str0 (&buffer, "</osdata>\n");
+	  buf = buffer_finish (&buffer);
+	  len_avail = strlen (buf);
+	}
+
+      if (offset >= len_avail)
+	{
+	  /* Done.  Get rid of the buffer.  */
+	  buffer_free (&buffer);
+	  buf = NULL;
+	  len_avail = 0;
+	  return 0;
+	}
+
+      if (len > len_avail - offset)
+	len = len_avail - offset;
+      memcpy (readbuf, buf + offset, len);
+
+      return len;
+    }
+  else
+    {
+      int i;
+
+      for (i = 0; osdata_table[i].type; ++i)
+	{
+	  if (strcmp (annex, osdata_table[i].type) == 0)
+	    {
+	      gdb_assert (readbuf);
+	      
+	      return (osdata_table[i].getter) (readbuf, offset, len);
+	    }
+	}
+
+      return 0;
+    }
+}
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-osdata.h ./gdb/nat/linux-osdata.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-osdata.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/linux-osdata.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,27 @@
+/* Linux-specific functions to retrieve OS data.
+   
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_LINUX_OSDATA_H
+#define COMMON_LINUX_OSDATA_H
+
+extern int linux_common_core_of_thread (ptid_t ptid);
+extern LONGEST linux_common_xfer_osdata (const char *annex, gdb_byte *readbuf,
+					 ULONGEST offset, ULONGEST len);
+
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-procfs.c ./gdb/nat/linux-procfs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-procfs.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/linux-procfs.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,253 @@
+/* Linux-specific PROCFS manipulation routines.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "linux-procfs.h"
+#include "filestuff.h"
+#include <dirent.h>
+
+/* Return the TGID of LWPID from /proc/pid/status.  Returns -1 if not
+   found.  */
+
+static int
+linux_proc_get_int (pid_t lwpid, const char *field, int warn)
+{
+  size_t field_len = strlen (field);
+  FILE *status_file;
+  char buf[100];
+  int retval = -1;
+
+  snprintf (buf, sizeof (buf), "/proc/%d/status", (int) lwpid);
+  status_file = gdb_fopen_cloexec (buf, "r");
+  if (status_file == NULL)
+    {
+      if (warn)
+	warning (_("unable to open /proc file '%s'"), buf);
+      return -1;
+    }
+
+  while (fgets (buf, sizeof (buf), status_file))
+    if (strncmp (buf, field, field_len) == 0 && buf[field_len] == ':')
+      {
+	retval = strtol (&buf[field_len + 1], NULL, 10);
+	break;
+      }
+
+  fclose (status_file);
+  return retval;
+}
+
+/* Return the TGID of LWPID from /proc/pid/status.  Returns -1 if not
+   found.  */
+
+int
+linux_proc_get_tgid (pid_t lwpid)
+{
+  return linux_proc_get_int (lwpid, "Tgid", 1);
+}
+
+/* See linux-procfs.h.  */
+
+pid_t
+linux_proc_get_tracerpid_nowarn (pid_t lwpid)
+{
+  return linux_proc_get_int (lwpid, "TracerPid", 0);
+}
+
+/* Fill in BUFFER, a buffer with BUFFER_SIZE bytes with the 'State'
+   line of /proc/PID/status.  Returns -1 on failure to open the /proc
+   file, 1 if the line is found, and 0 if not found.  If WARN, warn on
+   failure to open the /proc file.  */
+
+static int
+linux_proc_pid_get_state (pid_t pid, char *buffer, size_t buffer_size,
+			  int warn)
+{
+  FILE *procfile;
+  int have_state;
+
+  xsnprintf (buffer, buffer_size, "/proc/%d/status", (int) pid);
+  procfile = gdb_fopen_cloexec (buffer, "r");
+  if (procfile == NULL)
+    {
+      if (warn)
+	warning (_("unable to open /proc file '%s'"), buffer);
+      return -1;
+    }
+
+  have_state = 0;
+  while (fgets (buffer, buffer_size, procfile) != NULL)
+    if (strncmp (buffer, "State:", 6) == 0)
+      {
+	have_state = 1;
+	break;
+      }
+  fclose (procfile);
+  return have_state;
+}
+
+/* See linux-procfs.h declaration.  */
+
+int
+linux_proc_pid_is_gone (pid_t pid)
+{
+  char buffer[100];
+  int have_state;
+
+  have_state = linux_proc_pid_get_state (pid, buffer, sizeof buffer, 0);
+  if (have_state < 0)
+    {
+      /* If we can't open the status file, assume the thread has
+	 disappeared.  */
+      return 1;
+    }
+  else if (have_state == 0)
+    {
+      /* No "State:" line, assume thread is alive.  */
+      return 0;
+    }
+  else
+    {
+      return (strstr (buffer, "Z (") != NULL
+	      || strstr (buffer, "X (") != NULL);
+    }
+}
+
+/* Return non-zero if 'State' of /proc/PID/status contains STATE.  If
+   WARN, warn on failure to open the /proc file.  */
+
+static int
+linux_proc_pid_has_state (pid_t pid, const char *state, int warn)
+{
+  char buffer[100];
+  int have_state;
+
+  have_state = linux_proc_pid_get_state (pid, buffer, sizeof buffer, warn);
+  return (have_state > 0 && strstr (buffer, state) != NULL);
+}
+
+/* Detect `T (stopped)' in `/proc/PID/status'.
+   Other states including `T (tracing stop)' are reported as false.  */
+
+int
+linux_proc_pid_is_stopped (pid_t pid)
+{
+  return linux_proc_pid_has_state (pid, "T (stopped)", 1);
+}
+
+/* Return non-zero if PID is a zombie.  If WARN, warn on failure to
+   open the /proc file.  */
+
+static int
+linux_proc_pid_is_zombie_maybe_warn (pid_t pid, int warn)
+{
+  return linux_proc_pid_has_state (pid, "Z (zombie)", warn);
+}
+
+/* See linux-procfs.h declaration.  */
+
+int
+linux_proc_pid_is_zombie_nowarn (pid_t pid)
+{
+  return linux_proc_pid_is_zombie_maybe_warn (pid, 0);
+}
+
+/* See linux-procfs.h declaration.  */
+
+int
+linux_proc_pid_is_zombie (pid_t pid)
+{
+  return linux_proc_pid_is_zombie_maybe_warn (pid, 1);
+}
+
+/* See linux-procfs.h declaration.  */
+
+char *
+linux_proc_pid_get_ns (pid_t pid, const char *ns)
+{
+  char buf[100];
+  char nsval[64];
+  int ret;
+  xsnprintf (buf, sizeof (buf), "/proc/%d/ns/%s", (int) pid, ns);
+  ret = readlink (buf, nsval, sizeof (nsval));
+  if (0 < ret && ret < sizeof (nsval))
+    {
+      nsval[ret] = '\0';
+      return xstrdup (nsval);
+    }
+
+  return NULL;
+}
+
+/* See linux-procfs.h.  */
+
+void
+linux_proc_attach_tgid_threads (pid_t pid,
+				linux_proc_attach_lwp_func attach_lwp)
+{
+  DIR *dir;
+  char pathname[128];
+  int new_threads_found;
+  int iterations;
+
+  if (linux_proc_get_tgid (pid) != pid)
+    return;
+
+  xsnprintf (pathname, sizeof (pathname), "/proc/%ld/task", (long) pid);
+  dir = opendir (pathname);
+  if (dir == NULL)
+    {
+      warning (_("Could not open /proc/%ld/task."), (long) pid);
+      return;
+    }
+
+  /* Scan the task list for existing threads.  While we go through the
+     threads, new threads may be spawned.  Cycle through the list of
+     threads until we have done two iterations without finding new
+     threads.  */
+  for (iterations = 0; iterations < 2; iterations++)
+    {
+      struct dirent *dp;
+
+      new_threads_found = 0;
+      while ((dp = readdir (dir)) != NULL)
+	{
+	  unsigned long lwp;
+
+	  /* Fetch one lwp.  */
+	  lwp = strtoul (dp->d_name, NULL, 10);
+	  if (lwp != 0)
+	    {
+	      ptid_t ptid = ptid_build (pid, lwp, 0);
+
+	      if (attach_lwp (ptid))
+		new_threads_found = 1;
+	    }
+	}
+
+      if (new_threads_found)
+	{
+	  /* Start over.  */
+	  iterations = -1;
+	}
+
+      rewinddir (dir);
+    }
+
+  closedir (dir);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-procfs.h ./gdb/nat/linux-procfs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-procfs.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/linux-procfs.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,71 @@
+/* Linux-specific PROCFS manipulation routines.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_LINUX_PROCFS_H
+#define COMMON_LINUX_PROCFS_H
+
+#include <unistd.h>
+
+/* Return the TGID of LWPID from /proc/pid/status.  Returns -1 if not
+   found.  Failure to open the /proc file results in a warning.  */
+
+extern int linux_proc_get_tgid (pid_t lwpid);
+
+/* Return the TracerPid of LWPID from /proc/pid/status.  Returns -1 if
+   not found.  Does not warn on failure to open the /proc file.  */
+
+extern pid_t linux_proc_get_tracerpid_nowarn (pid_t lwpid);
+
+/* Detect `T (stopped)' in `/proc/PID/status'.
+   Other states including `T (tracing stop)' are reported as false.  */
+
+extern int linux_proc_pid_is_stopped (pid_t pid);
+
+/* Return non-zero if PID is a zombie.  Failure to open the
+   /proc/pid/status file results in a warning.  */
+
+extern int linux_proc_pid_is_zombie (pid_t pid);
+
+/* Return non-zero if PID is a zombie.  Does not warn on failure to
+   open the /proc file.  */
+
+extern int linux_proc_pid_is_zombie_nowarn (pid_t pid);
+
+/* Return non-zero if /proc/PID/status indicates that PID is gone
+   (i.e., in Z/Zombie or X/Dead state).  Failure to open the /proc
+   file is assumed to indicate the thread is gone.  */
+
+extern int linux_proc_pid_is_gone (pid_t pid);
+
+/* Return an opaque string identifying PID's NS namespace or NULL if
+ * the information is unavailable.  The returned string must be
+ * released with xfree.  */
+
+extern char *linux_proc_pid_get_ns (pid_t pid, const char *ns);
+
+/* Callback function for linux_proc_attach_tgid_threads.  If the PTID
+   thread is not yet known, try to attach to it and return true,
+   otherwise return false.  */
+typedef int (*linux_proc_attach_lwp_func) (ptid_t ptid);
+
+/* If PID is a tgid, scan the /proc/PID/task/ directory for existing
+   threads, and call FUNC for each thread found.  */
+extern void linux_proc_attach_tgid_threads (pid_t pid,
+					    linux_proc_attach_lwp_func func);
+
+#endif /* COMMON_LINUX_PROCFS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-ptrace.c ./gdb/nat/linux-ptrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-ptrace.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/linux-ptrace.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,623 @@
+/* Linux-specific ptrace manipulation routines.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "linux-ptrace.h"
+#include "linux-procfs.h"
+#include "linux-waitpid.h"
+#include "buffer.h"
+#include "gdb_wait.h"
+
+#include <stdint.h>
+
+/* Stores the currently supported ptrace options.  A value of
+   -1 means we did not check for features yet.  A value of 0 means
+   there are no supported features.  */
+static int current_ptrace_options = -1;
+
+/* Additional flags to test.  */
+
+static int additional_flags;
+
+/* Find all possible reasons we could fail to attach PID and append
+   these as strings to the already initialized BUFFER.  '\0'
+   termination of BUFFER must be done by the caller.  */
+
+void
+linux_ptrace_attach_fail_reason (pid_t pid, struct buffer *buffer)
+{
+  pid_t tracerpid;
+
+  tracerpid = linux_proc_get_tracerpid_nowarn (pid);
+  if (tracerpid > 0)
+    buffer_xml_printf (buffer, _("process %d is already traced "
+				 "by process %d"),
+		       (int) pid, (int) tracerpid);
+
+  if (linux_proc_pid_is_zombie_nowarn (pid))
+    buffer_xml_printf (buffer, _("process %d is a zombie "
+				 "- the process has already terminated"),
+		       (int) pid);
+}
+
+/* See linux-ptrace.h.  */
+
+char *
+linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err)
+{
+  static char *reason_string;
+  struct buffer buffer;
+  char *warnings;
+  long lwpid = ptid_get_lwp (ptid);
+
+  xfree (reason_string);
+
+  buffer_init (&buffer);
+  linux_ptrace_attach_fail_reason (lwpid, &buffer);
+  buffer_grow_str0 (&buffer, "");
+  warnings = buffer_finish (&buffer);
+  if (warnings[0] != '\0')
+    reason_string = xstrprintf ("%s (%d), %s",
+				strerror (err), err, warnings);
+  else
+    reason_string = xstrprintf ("%s (%d)",
+				strerror (err), err);
+  xfree (warnings);
+  return reason_string;
+}
+
+#if defined __i386__ || defined __x86_64__
+
+/* Address of the 'ret' instruction in asm code block below.  */
+extern void (linux_ptrace_test_ret_to_nx_instr) (void);
+
+#include <sys/reg.h>
+#include <sys/mman.h>
+#include <signal.h>
+
+#endif /* defined __i386__ || defined __x86_64__ */
+
+/* Test broken off-trunk Linux kernel patchset for NX support on i386.  It was
+   removed in Fedora kernel 88fa1f0332d188795ed73d7ac2b1564e11a0b4cd.
+
+   Test also x86_64 arch for PaX support.  */
+
+static void
+linux_ptrace_test_ret_to_nx (void)
+{
+#if defined __i386__ || defined __x86_64__
+  pid_t child, got_pid;
+  gdb_byte *return_address, *pc;
+  long l;
+  int status, kill_status;
+
+  return_address = mmap (NULL, 2, PROT_READ | PROT_WRITE,
+			 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  if (return_address == MAP_FAILED)
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: Cannot mmap: %s"),
+	       strerror (errno));
+      return;
+    }
+
+  /* Put there 'int3'.  */
+  *return_address = 0xcc;
+
+  child = fork ();
+  switch (child)
+    {
+    case -1:
+      warning (_("linux_ptrace_test_ret_to_nx: Cannot fork: %s"),
+	       strerror (errno));
+      return;
+
+    case 0:
+      l = ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) NULL,
+		  (PTRACE_TYPE_ARG4) NULL);
+      if (l != 0)
+	warning (_("linux_ptrace_test_ret_to_nx: Cannot PTRACE_TRACEME: %s"),
+		 strerror (errno));
+      else
+	{
+#if defined __i386__
+	  asm volatile ("pushl %0;"
+			".globl linux_ptrace_test_ret_to_nx_instr;"
+			"linux_ptrace_test_ret_to_nx_instr:"
+			"ret"
+			: : "r" (return_address) : "%esp", "memory");
+#elif defined __x86_64__
+	  asm volatile ("pushq %0;"
+			".globl linux_ptrace_test_ret_to_nx_instr;"
+			"linux_ptrace_test_ret_to_nx_instr:"
+			"ret"
+			: : "r" ((uint64_t) (uintptr_t) return_address)
+			: "%rsp", "memory");
+#else
+# error "!__i386__ && !__x86_64__"
+#endif
+	  gdb_assert_not_reached ("asm block did not terminate");
+	}
+
+      _exit (1);
+    }
+
+  errno = 0;
+  got_pid = waitpid (child, &status, 0);
+  if (got_pid != child)
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: waitpid returned %ld: %s"),
+	       (long) got_pid, strerror (errno));
+      return;
+    }
+
+  if (WIFSIGNALED (status))
+    {
+      if (WTERMSIG (status) != SIGKILL)
+	warning (_("linux_ptrace_test_ret_to_nx: WTERMSIG %d is not SIGKILL!"),
+		 (int) WTERMSIG (status));
+      else
+	warning (_("Cannot call inferior functions, Linux kernel PaX "
+		   "protection forbids return to non-executable pages!"));
+      return;
+    }
+
+  if (!WIFSTOPPED (status))
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: status %d is not WIFSTOPPED!"),
+	       status);
+      return;
+    }
+
+  /* We may get SIGSEGV due to missing PROT_EXEC of the return_address.  */
+  if (WSTOPSIG (status) != SIGTRAP && WSTOPSIG (status) != SIGSEGV)
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: "
+		 "WSTOPSIG %d is neither SIGTRAP nor SIGSEGV!"),
+	       (int) WSTOPSIG (status));
+      return;
+    }
+
+  errno = 0;
+#if defined __i386__
+  l = ptrace (PTRACE_PEEKUSER, child, (PTRACE_TYPE_ARG3) (uintptr_t) (EIP * 4),
+	      (PTRACE_TYPE_ARG4) NULL);
+#elif defined __x86_64__
+  l = ptrace (PTRACE_PEEKUSER, child, (PTRACE_TYPE_ARG3) (uintptr_t) (RIP * 8),
+	      (PTRACE_TYPE_ARG4) NULL);
+#else
+# error "!__i386__ && !__x86_64__"
+#endif
+  if (errno != 0)
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER: %s"),
+	       strerror (errno));
+      return;
+    }
+  pc = (void *) (uintptr_t) l;
+
+  kill (child, SIGKILL);
+  ptrace (PTRACE_KILL, child, (PTRACE_TYPE_ARG3) NULL,
+	  (PTRACE_TYPE_ARG4) NULL);
+
+  errno = 0;
+  got_pid = waitpid (child, &kill_status, 0);
+  if (got_pid != child)
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: "
+		 "PTRACE_KILL waitpid returned %ld: %s"),
+	       (long) got_pid, strerror (errno));
+      return;
+    }
+  if (!WIFSIGNALED (kill_status))
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: "
+		 "PTRACE_KILL status %d is not WIFSIGNALED!"),
+	       status);
+      return;
+    }
+
+  /* + 1 is there as x86* stops after the 'int3' instruction.  */
+  if (WSTOPSIG (status) == SIGTRAP && pc == return_address + 1)
+    {
+      /* PASS */
+      return;
+    }
+
+  /* We may get SIGSEGV due to missing PROT_EXEC of the RETURN_ADDRESS page.  */
+  if (WSTOPSIG (status) == SIGSEGV && pc == return_address)
+    {
+      /* PASS */
+      return;
+    }
+
+  if ((void (*) (void)) pc != &linux_ptrace_test_ret_to_nx_instr)
+    warning (_("linux_ptrace_test_ret_to_nx: PC %p is neither near return "
+	       "address %p nor is the return instruction %p!"),
+	     pc, return_address, &linux_ptrace_test_ret_to_nx_instr);
+  else
+    warning (_("Cannot call inferior functions on this system - "
+	       "Linux kernel with broken i386 NX (non-executable pages) "
+	       "support detected!"));
+#endif /* defined __i386__ || defined __x86_64__ */
+}
+
+/* Helper function to fork a process and make the child process call
+   the function FUNCTION, passing CHILD_STACK as parameter.
+
+   For MMU-less targets, clone is used instead of fork, and
+   CHILD_STACK is used as stack space for the cloned child.  If NULL,
+   stack space is allocated via malloc (and subsequently passed to
+   FUNCTION).  For MMU targets, CHILD_STACK is ignored.  */
+
+static int
+linux_fork_to_function (gdb_byte *child_stack, void (*function) (gdb_byte *))
+{
+  int child_pid;
+
+  /* Sanity check the function pointer.  */
+  gdb_assert (function != NULL);
+
+#if defined(__UCLIBC__) && defined(HAS_NOMMU)
+#define STACK_SIZE 4096
+
+    if (child_stack == NULL)
+      child_stack = xmalloc (STACK_SIZE * 4);
+
+    /* Use CLONE_VM instead of fork, to support uClinux (no MMU).  */
+#ifdef __ia64__
+      child_pid = __clone2 (function, child_stack, STACK_SIZE,
+			    CLONE_VM | SIGCHLD, child_stack + STACK_SIZE * 2);
+#else /* !__ia64__ */
+      child_pid = clone (function, child_stack + STACK_SIZE,
+			 CLONE_VM | SIGCHLD, child_stack + STACK_SIZE * 2);
+#endif /* !__ia64__ */
+#else /* !defined(__UCLIBC) && defined(HAS_NOMMU) */
+  child_pid = fork ();
+
+  if (child_pid == 0)
+    function (NULL);
+#endif /* defined(__UCLIBC) && defined(HAS_NOMMU) */
+
+  if (child_pid == -1)
+    perror_with_name (("fork"));
+
+  return child_pid;
+}
+
+/* A helper function for linux_check_ptrace_features, called after
+   the child forks a grandchild.  */
+
+static void
+linux_grandchild_function (gdb_byte *child_stack)
+{
+  /* Free any allocated stack.  */
+  xfree (child_stack);
+
+  /* This code is only reacheable by the grandchild (child's child)
+     process.  */
+  _exit (0);
+}
+
+/* A helper function for linux_check_ptrace_features, called after
+   the parent process forks a child.  The child allows itself to
+   be traced by its parent.  */
+
+static void
+linux_child_function (gdb_byte *child_stack)
+{
+  ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) 0, (PTRACE_TYPE_ARG4) 0);
+  kill (getpid (), SIGSTOP);
+
+  /* Fork a grandchild.  */
+  linux_fork_to_function (child_stack, linux_grandchild_function);
+
+  /* This code is only reacheable by the child (grandchild's parent)
+     process.  */
+  _exit (0);
+}
+
+static void linux_test_for_tracesysgood (int child_pid);
+static void linux_test_for_tracefork (int child_pid);
+static void linux_test_for_exitkill (int child_pid);
+
+/* Determine ptrace features available on this target.  */
+
+static void
+linux_check_ptrace_features (void)
+{
+  int child_pid, ret, status;
+
+  /* Initialize the options.  */
+  current_ptrace_options = 0;
+
+  /* Fork a child so we can do some testing.  The child will call
+     linux_child_function and will get traced.  The child will
+     eventually fork a grandchild so we can test fork event
+     reporting.  */
+  child_pid = linux_fork_to_function (NULL, linux_child_function);
+
+  ret = my_waitpid (child_pid, &status, 0);
+  if (ret == -1)
+    perror_with_name (("waitpid"));
+  else if (ret != child_pid)
+    error (_("linux_check_ptrace_features: waitpid: unexpected result %d."),
+	   ret);
+  if (! WIFSTOPPED (status))
+    error (_("linux_check_ptrace_features: waitpid: unexpected status %d."),
+	   status);
+
+  linux_test_for_tracesysgood (child_pid);
+
+  linux_test_for_tracefork (child_pid);
+
+  linux_test_for_exitkill (child_pid);
+
+  /* Clean things up and kill any pending children.  */
+  do
+    {
+      ret = ptrace (PTRACE_KILL, child_pid, (PTRACE_TYPE_ARG3) 0,
+		    (PTRACE_TYPE_ARG4) 0);
+      if (ret != 0)
+	warning (_("linux_check_ptrace_features: failed to kill child"));
+      my_waitpid (child_pid, &status, 0);
+    }
+  while (WIFSTOPPED (status));
+}
+
+/* Determine if PTRACE_O_TRACESYSGOOD can be used to catch
+   syscalls.  */
+
+static void
+linux_test_for_tracesysgood (int child_pid)
+{
+  int ret;
+
+  if ((additional_flags & PTRACE_O_TRACESYSGOOD) == 0)
+    return;
+
+  ret = ptrace (PTRACE_SETOPTIONS, child_pid, (PTRACE_TYPE_ARG3) 0,
+		(PTRACE_TYPE_ARG4) PTRACE_O_TRACESYSGOOD);
+
+  if (ret == 0)
+    current_ptrace_options |= PTRACE_O_TRACESYSGOOD;
+}
+
+/* Determine if PTRACE_O_TRACEFORK can be used to follow fork
+   events.  */
+
+static void
+linux_test_for_tracefork (int child_pid)
+{
+  int ret, status;
+  long second_pid;
+
+  /* First, set the PTRACE_O_TRACEFORK option.  If this fails, we
+     know for sure that it is not supported.  */
+  ret = ptrace (PTRACE_SETOPTIONS, child_pid, (PTRACE_TYPE_ARG3) 0,
+		(PTRACE_TYPE_ARG4) PTRACE_O_TRACEFORK);
+
+  if (ret != 0)
+    return;
+
+  if ((additional_flags & PTRACE_O_TRACEVFORKDONE) != 0)
+    {
+      /* Check if the target supports PTRACE_O_TRACEVFORKDONE.  */
+      ret = ptrace (PTRACE_SETOPTIONS, child_pid, (PTRACE_TYPE_ARG3) 0,
+		    (PTRACE_TYPE_ARG4) (PTRACE_O_TRACEFORK
+					| PTRACE_O_TRACEVFORKDONE));
+      if (ret == 0)
+	current_ptrace_options |= PTRACE_O_TRACEVFORKDONE;
+    }
+
+  /* Setting PTRACE_O_TRACEFORK did not cause an error, however we
+     don't know for sure that the feature is available; old
+     versions of PTRACE_SETOPTIONS ignored unknown options.
+     Therefore, we attach to the child process, use PTRACE_SETOPTIONS
+     to enable fork tracing, and let it fork.  If the process exits,
+     we assume that we can't use PTRACE_O_TRACEFORK; if we get the
+     fork notification, and we can extract the new child's PID, then
+     we assume that we can.
+
+     We do not explicitly check for vfork tracing here.  It is
+     assumed that vfork tracing is available whenever fork tracing
+     is available.  */
+  ret = ptrace (PTRACE_CONT, child_pid, (PTRACE_TYPE_ARG3) 0,
+		(PTRACE_TYPE_ARG4) 0);
+  if (ret != 0)
+    warning (_("linux_test_for_tracefork: failed to resume child"));
+
+  ret = my_waitpid (child_pid, &status, 0);
+
+  /* Check if we received a fork event notification.  */
+  if (ret == child_pid && WIFSTOPPED (status)
+      && linux_ptrace_get_extended_event (status) == PTRACE_EVENT_FORK)
+    {
+      /* We did receive a fork event notification.  Make sure its PID
+	 is reported.  */
+      second_pid = 0;
+      ret = ptrace (PTRACE_GETEVENTMSG, child_pid, (PTRACE_TYPE_ARG3) 0,
+		    (PTRACE_TYPE_ARG4) &second_pid);
+      if (ret == 0 && second_pid != 0)
+	{
+	  int second_status;
+
+	  /* We got the PID from the grandchild, which means fork
+	     tracing is supported.  */
+	  current_ptrace_options |= PTRACE_O_TRACECLONE;
+	  current_ptrace_options |= (additional_flags & (PTRACE_O_TRACEFORK
+                                                         | PTRACE_O_TRACEVFORK
+                                                         | PTRACE_O_TRACEEXEC));
+
+	  /* Do some cleanup and kill the grandchild.  */
+	  my_waitpid (second_pid, &second_status, 0);
+	  ret = ptrace (PTRACE_KILL, second_pid, (PTRACE_TYPE_ARG3) 0,
+			(PTRACE_TYPE_ARG4) 0);
+	  if (ret != 0)
+	    warning (_("linux_test_for_tracefork: "
+		       "failed to kill second child"));
+	  my_waitpid (second_pid, &status, 0);
+	}
+    }
+  else
+    warning (_("linux_test_for_tracefork: unexpected result from waitpid "
+	     "(%d, status 0x%x)"), ret, status);
+}
+
+/* Determine if PTRACE_O_EXITKILL can be used.  */
+
+static void
+linux_test_for_exitkill (int child_pid)
+{
+  int ret;
+
+  ret = ptrace (PTRACE_SETOPTIONS, child_pid, (PTRACE_TYPE_ARG3) 0,
+		(PTRACE_TYPE_ARG4) PTRACE_O_EXITKILL);
+
+  if (ret == 0)
+    current_ptrace_options |= PTRACE_O_EXITKILL;
+}
+
+/* Enable reporting of all currently supported ptrace events.
+   ATTACHED should be nonzero if we have attached to the inferior.  */
+
+void
+linux_enable_event_reporting (pid_t pid, int attached)
+{
+  int ptrace_options;
+
+  /* Check if we have initialized the ptrace features for this
+     target.  If not, do it now.  */
+  if (current_ptrace_options == -1)
+    linux_check_ptrace_features ();
+
+  ptrace_options = current_ptrace_options;
+  if (attached)
+    {
+      /* When attached to our inferior, we do not want the inferior
+	 to die with us if we terminate unexpectedly.  */
+      ptrace_options &= ~PTRACE_O_EXITKILL;
+    }
+
+  /* Set the options.  */
+  ptrace (PTRACE_SETOPTIONS, pid, (PTRACE_TYPE_ARG3) 0,
+	  (PTRACE_TYPE_ARG4) (uintptr_t) ptrace_options);
+}
+
+/* Disable reporting of all currently supported ptrace events.  */
+
+void
+linux_disable_event_reporting (pid_t pid)
+{
+  /* Set the options.  */
+  ptrace (PTRACE_SETOPTIONS, pid, (PTRACE_TYPE_ARG3) 0, 0);
+}
+
+/* Returns non-zero if PTRACE_OPTIONS is contained within
+   CURRENT_PTRACE_OPTIONS, therefore supported.  Returns 0
+   otherwise.  */
+
+static int
+ptrace_supports_feature (int ptrace_options)
+{
+  if (current_ptrace_options == -1)
+    linux_check_ptrace_features ();
+
+  return ((current_ptrace_options & ptrace_options) == ptrace_options);
+}
+
+/* Returns non-zero if PTRACE_EVENT_FORK is supported by ptrace,
+   0 otherwise.  Note that if PTRACE_EVENT_FORK is supported so is
+   PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC and PTRACE_EVENT_VFORK,
+   since they were all added to the kernel at the same time.  */
+
+int
+linux_supports_tracefork (void)
+{
+  return ptrace_supports_feature (PTRACE_O_TRACEFORK);
+}
+
+/* Returns non-zero if PTRACE_EVENT_CLONE is supported by ptrace,
+   0 otherwise.  Note that if PTRACE_EVENT_CLONE is supported so is
+   PTRACE_EVENT_FORK, PTRACE_EVENT_EXEC and PTRACE_EVENT_VFORK,
+   since they were all added to the kernel at the same time.  */
+
+int
+linux_supports_traceclone (void)
+{
+  return ptrace_supports_feature (PTRACE_O_TRACECLONE);
+}
+
+/* Returns non-zero if PTRACE_O_TRACEVFORKDONE is supported by
+   ptrace, 0 otherwise.  */
+
+int
+linux_supports_tracevforkdone (void)
+{
+  return ptrace_supports_feature (PTRACE_O_TRACEVFORKDONE);
+}
+
+/* Returns non-zero if PTRACE_O_TRACESYSGOOD is supported by ptrace,
+   0 otherwise.  */
+
+int
+linux_supports_tracesysgood (void)
+{
+  return ptrace_supports_feature (PTRACE_O_TRACESYSGOOD);
+}
+
+/* Display possible problems on this system.  Display them only once per GDB
+   execution.  */
+
+void
+linux_ptrace_init_warnings (void)
+{
+  static int warned = 0;
+
+  if (warned)
+    return;
+  warned = 1;
+
+  linux_ptrace_test_ret_to_nx ();
+}
+
+/* Set additional ptrace flags to use.  Some such flags may be checked
+   by the implementation above.  This function must be called before
+   any other function in this file; otherwise the flags may not take
+   effect appropriately.  */
+
+void
+linux_ptrace_set_additional_flags (int flags)
+{
+  additional_flags = flags;
+}
+
+/* Extract extended ptrace event from wait status.  */
+
+int
+linux_ptrace_get_extended_event (int wstat)
+{
+  return (wstat >> 16);
+}
+
+/* Determine whether wait status denotes an extended event.  */
+
+int
+linux_is_extended_waitstatus (int wstat)
+{
+  return (linux_ptrace_get_extended_event (wstat) != 0);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-ptrace.h ./gdb/nat/linux-ptrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-ptrace.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/linux-ptrace.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,111 @@
+/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef COMMON_LINUX_PTRACE_H
+#define COMMON_LINUX_PTRACE_H
+
+struct buffer;
+
+#include <sys/ptrace.h>
+
+#ifdef __UCLIBC__
+#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__))
+/* PTRACE_TEXT_ADDR and friends.  */
+#include <asm/ptrace.h>
+#define HAS_NOMMU
+#endif
+#endif
+
+#if !defined(PTRACE_TYPE_ARG3)
+#define PTRACE_TYPE_ARG3 void *
+#endif
+
+#if !defined(PTRACE_TYPE_ARG4)
+#define PTRACE_TYPE_ARG4 void *
+#endif
+
+#ifndef PTRACE_GETSIGINFO
+# define PTRACE_GETSIGINFO 0x4202
+# define PTRACE_SETSIGINFO 0x4203
+#endif /* PTRACE_GETSIGINF */
+
+/* If the system headers did not provide the constants, hard-code the normal
+   values.  */
+#ifndef PTRACE_EVENT_FORK
+
+#define PTRACE_SETOPTIONS	0x4200
+#define PTRACE_GETEVENTMSG	0x4201
+
+/* options set using PTRACE_SETOPTIONS */
+#define PTRACE_O_TRACESYSGOOD	0x00000001
+#define PTRACE_O_TRACEFORK	0x00000002
+#define PTRACE_O_TRACEVFORK	0x00000004
+#define PTRACE_O_TRACECLONE	0x00000008
+#define PTRACE_O_TRACEEXEC	0x00000010
+#define PTRACE_O_TRACEVFORKDONE	0x00000020
+#define PTRACE_O_TRACEEXIT	0x00000040
+
+/* Wait extended result codes for the above trace options.  */
+#define PTRACE_EVENT_FORK	1
+#define PTRACE_EVENT_VFORK	2
+#define PTRACE_EVENT_CLONE	3
+#define PTRACE_EVENT_EXEC	4
+#define PTRACE_EVENT_VFORK_DONE	5
+#define PTRACE_EVENT_EXIT	6
+
+#endif /* PTRACE_EVENT_FORK */
+
+#ifndef PTRACE_O_EXITKILL
+/* Only defined in Linux Kernel 3.8 or later.  */
+#define PTRACE_O_EXITKILL	0x00100000
+#endif
+
+#if (defined __bfin__ || defined __frv__ || defined __sh__) \
+    && !defined PTRACE_GETFDPIC
+#define PTRACE_GETFDPIC		31
+#define PTRACE_GETFDPIC_EXEC	0
+#define PTRACE_GETFDPIC_INTERP	1
+#endif
+
+/* We can't always assume that this flag is available, but all systems
+   with the ptrace event handlers also have __WALL, so it's safe to use
+   in some contexts.  */
+#ifndef __WALL
+#define __WALL          0x40000000 /* Wait for any child.  */
+#endif
+
+extern void linux_ptrace_attach_fail_reason (pid_t pid, struct buffer *buffer);
+
+/* Find all possible reasons we could have failed to attach to PTID
+   and return them as a string.  ERR is the error PTRACE_ATTACH failed
+   with (an errno).  The result is stored in a static buffer.  This
+   string should be copied into a buffer by the client if the string
+   will not be immediately used, or if it must persist.  */
+extern char *linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
+
+extern void linux_ptrace_init_warnings (void);
+extern void linux_enable_event_reporting (pid_t pid, int attached);
+extern void linux_disable_event_reporting (pid_t pid);
+extern int linux_supports_tracefork (void);
+extern int linux_supports_traceclone (void);
+extern int linux_supports_tracevforkdone (void);
+extern int linux_supports_tracesysgood (void);
+extern void linux_ptrace_set_additional_flags (int);
+extern int linux_ptrace_get_extended_event (int wstat);
+extern int linux_is_extended_waitstatus (int wstat);
+
+#endif /* COMMON_LINUX_PTRACE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-waitpid.c ./gdb/nat/linux-waitpid.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-waitpid.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nat/linux-waitpid.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Wrapper implementation for waitpid for GNU/Linux (LWP layer).
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,19 +17,20 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include "common-defs.h"
+
 #ifdef GDBSERVER
+/* FIXME: server.h is required for the definition of debug_threads
+   which is used in the gdbserver-specific debug printing in
+   linux_debug.  This code should be made available to GDB also,
+   but the lack of a suitable flag to enable it prevents this.  */
 #include "server.h"
-#else
-#include "defs.h"
-#include "signal.h"
 #endif
 
-#include "nat/linux-nat.h"
-#include "nat/linux-waitpid.h"
+#include "linux-nat.h"
+#include "linux-waitpid.h"
 #include "gdb_wait.h"
 
-#include <string.h>
-
 /* Print debugging output based on the format string FORMAT and
    its parameters.  */
 
@@ -44,8 +45,6 @@ linux_debug (const char *format, ...)
       vfprintf (stderr, format, args);
       va_end (args);
     }
-#else
-  /* GDB-specific debugging output.  */
 #endif
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-waitpid.h ./gdb/nat/linux-waitpid.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/linux-waitpid.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nat/linux-waitpid.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Wrapper for waitpid for GNU/Linux (LWP layer).
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/mips-linux-watch.c ./gdb/nat/mips-linux-watch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/mips-linux-watch.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/mips-linux-watch.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,349 @@
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include <sys/ptrace.h>
+#include "mips-linux-watch.h"
+
+/* Assuming usable watch registers REGS, return the irw_mask of
+   register N.  */
+
+uint32_t
+mips_linux_watch_get_irw_mask (struct pt_watch_regs *regs, int n)
+{
+  switch (regs->style)
+    {
+    case pt_watch_style_mips32:
+      return regs->mips32.watch_masks[n] & IRW_MASK;
+    case pt_watch_style_mips64:
+      return regs->mips64.watch_masks[n] & IRW_MASK;
+    default:
+      internal_error (__FILE__, __LINE__,
+		      _("Unrecognized watch register style"));
+    }
+}
+
+/* Assuming usable watch registers REGS, return the reg_mask of
+   register N.  */
+
+static uint32_t
+get_reg_mask (struct pt_watch_regs *regs, int n)
+{
+  switch (regs->style)
+    {
+    case pt_watch_style_mips32:
+      return regs->mips32.watch_masks[n] & ~IRW_MASK;
+    case pt_watch_style_mips64:
+      return regs->mips64.watch_masks[n] & ~IRW_MASK;
+    default:
+      internal_error (__FILE__, __LINE__,
+		      _("Unrecognized watch register style"));
+    }
+}
+
+/* Assuming usable watch registers REGS, return the num_valid.  */
+
+uint32_t
+mips_linux_watch_get_num_valid (struct pt_watch_regs *regs)
+{
+  switch (regs->style)
+    {
+    case pt_watch_style_mips32:
+      return regs->mips32.num_valid;
+    case pt_watch_style_mips64:
+      return regs->mips64.num_valid;
+    default:
+      internal_error (__FILE__, __LINE__,
+		      _("Unrecognized watch register style"));
+    }
+}
+
+/* Assuming usable watch registers REGS, return the watchlo of
+   register N.  */
+
+CORE_ADDR
+mips_linux_watch_get_watchlo (struct pt_watch_regs *regs, int n)
+{
+  switch (regs->style)
+    {
+    case pt_watch_style_mips32:
+      return regs->mips32.watchlo[n];
+    case pt_watch_style_mips64:
+      return regs->mips64.watchlo[n];
+    default:
+      internal_error (__FILE__, __LINE__,
+		      _("Unrecognized watch register style"));
+    }
+}
+
+/* Assuming usable watch registers REGS, set watchlo of register N to
+   VALUE.  */
+
+void
+mips_linux_watch_set_watchlo (struct pt_watch_regs *regs, int n,
+			      CORE_ADDR value)
+{
+  switch (regs->style)
+    {
+    case pt_watch_style_mips32:
+      /*  The cast will never throw away bits as 64 bit addresses can
+	  never be used on a 32 bit kernel.  */
+      regs->mips32.watchlo[n] = (uint32_t) value;
+      break;
+    case pt_watch_style_mips64:
+      regs->mips64.watchlo[n] = value;
+      break;
+    default:
+      internal_error (__FILE__, __LINE__,
+		      _("Unrecognized watch register style"));
+    }
+}
+
+/* Assuming usable watch registers REGS, return the watchhi of
+   register N.  */
+
+uint32_t
+mips_linux_watch_get_watchhi (struct pt_watch_regs *regs, int n)
+{
+  switch (regs->style)
+    {
+    case pt_watch_style_mips32:
+      return regs->mips32.watchhi[n];
+    case pt_watch_style_mips64:
+      return regs->mips64.watchhi[n];
+    default:
+      internal_error (__FILE__, __LINE__,
+		      _("Unrecognized watch register style"));
+    }
+}
+
+/* Assuming usable watch registers REGS, set watchhi of register N to
+   VALUE.  */
+
+void
+mips_linux_watch_set_watchhi (struct pt_watch_regs *regs, int n,
+			      uint16_t value)
+{
+  switch (regs->style)
+    {
+    case pt_watch_style_mips32:
+      regs->mips32.watchhi[n] = value;
+      break;
+    case pt_watch_style_mips64:
+      regs->mips64.watchhi[n] = value;
+      break;
+    default:
+      internal_error (__FILE__, __LINE__,
+		      _("Unrecognized watch register style"));
+    }
+}
+
+/* Read the watch registers of process LWPID and store it in
+   WATCH_READBACK.  Save true to *WATCH_READBACK_VALID if watch
+   registers are valid.  Return 1 if watch registers are usable.
+   Cached information is used unless FORCE is true.  */
+
+int
+mips_linux_read_watch_registers (long lwpid,
+				 struct pt_watch_regs *watch_readback,
+				 int *watch_readback_valid, int force)
+{
+  if (force || *watch_readback_valid == 0)
+    {
+      if (ptrace (PTRACE_GET_WATCH_REGS, lwpid, watch_readback) == -1)
+	{
+	  *watch_readback_valid = -1;
+	  return 0;
+	}
+      switch (watch_readback->style)
+	{
+	case pt_watch_style_mips32:
+	  if (watch_readback->mips32.num_valid == 0)
+	    {
+	      *watch_readback_valid = -1;
+	      return 0;
+	    }
+	  break;
+	case pt_watch_style_mips64:
+	  if (watch_readback->mips64.num_valid == 0)
+	    {
+	      *watch_readback_valid = -1;
+	      return 0;
+	    }
+	  break;
+	default:
+	  *watch_readback_valid = -1;
+	  return 0;
+	}
+      /* Watch registers appear to be usable.  */
+      *watch_readback_valid = 1;
+    }
+  return (*watch_readback_valid == 1) ? 1 : 0;
+}
+
+/* Convert GDB's TYPE to an IRW mask.  */
+
+uint32_t
+mips_linux_watch_type_to_irw (int type)
+{
+  switch (type)
+    {
+    case hw_write:
+      return W_MASK;
+    case hw_read:
+      return R_MASK;
+    case hw_access:
+      return (W_MASK | R_MASK);
+    default:
+      return 0;
+    }
+}
+
+/* Set any low order bits in MASK that are not set.  */
+
+static CORE_ADDR
+fill_mask (CORE_ADDR mask)
+{
+  CORE_ADDR f = 1;
+
+  while (f && f < mask)
+    {
+      mask |= f;
+      f <<= 1;
+    }
+  return mask;
+}
+
+/* Try to add a single watch to the specified registers REGS.  The
+   address of added watch is ADDR, the length is LEN, and the mask
+   is IRW.  Return 1 on success, 0 on failure.  */
+
+int
+mips_linux_watch_try_one_watch (struct pt_watch_regs *regs,
+				CORE_ADDR addr, int len, uint32_t irw)
+{
+  CORE_ADDR base_addr, last_byte, break_addr, segment_len;
+  CORE_ADDR mask_bits, t_low;
+  uint16_t t_hi;
+  int i, free_watches;
+  struct pt_watch_regs regs_copy;
+
+  if (len <= 0)
+    return 0;
+
+  last_byte = addr + len - 1;
+  mask_bits = fill_mask (addr ^ last_byte) | IRW_MASK;
+  base_addr = addr & ~mask_bits;
+
+  /* Check to see if it is covered by current registers.  */
+  for (i = 0; i < mips_linux_watch_get_num_valid (regs); i++)
+    {
+      t_low = mips_linux_watch_get_watchlo (regs, i);
+      if (t_low != 0 && irw == ((uint32_t) t_low & irw))
+	{
+	  t_hi = mips_linux_watch_get_watchhi (regs, i) | IRW_MASK;
+	  t_low &= ~(CORE_ADDR) t_hi;
+	  if (addr >= t_low && last_byte <= (t_low + t_hi))
+	    return 1;
+	}
+    }
+  /* Try to find an empty register.  */
+  free_watches = 0;
+  for (i = 0; i < mips_linux_watch_get_num_valid (regs); i++)
+    {
+      t_low = mips_linux_watch_get_watchlo (regs, i);
+      if (t_low == 0
+	  && irw == (mips_linux_watch_get_irw_mask (regs, i) & irw))
+	{
+	  if (mask_bits <= (get_reg_mask (regs, i) | IRW_MASK))
+	    {
+	      /* It fits, we'll take it.  */
+	      mips_linux_watch_set_watchlo (regs, i, base_addr | irw);
+	      mips_linux_watch_set_watchhi (regs, i, mask_bits & ~IRW_MASK);
+	      return 1;
+	    }
+	  else
+	    {
+	      /* It doesn't fit, but has the proper IRW capabilities.  */
+	      free_watches++;
+	    }
+	}
+    }
+  if (free_watches > 1)
+    {
+      /* Try to split it across several registers.  */
+      regs_copy = *regs;
+      for (i = 0; i < mips_linux_watch_get_num_valid (&regs_copy); i++)
+	{
+	  t_low = mips_linux_watch_get_watchlo (&regs_copy, i);
+	  t_hi = get_reg_mask (&regs_copy, i) | IRW_MASK;
+	  if (t_low == 0 && irw == (t_hi & irw))
+	    {
+	      t_low = addr & ~(CORE_ADDR) t_hi;
+	      break_addr = t_low + t_hi + 1;
+	      if (break_addr >= addr + len)
+		segment_len = len;
+	      else
+		segment_len = break_addr - addr;
+	      mask_bits = fill_mask (addr ^ (addr + segment_len - 1));
+	      mips_linux_watch_set_watchlo (&regs_copy, i,
+					    (addr & ~mask_bits) | irw);
+	      mips_linux_watch_set_watchhi (&regs_copy, i,
+					    mask_bits & ~IRW_MASK);
+	      if (break_addr >= addr + len)
+		{
+		  *regs = regs_copy;
+		  return 1;
+		}
+	      len = addr + len - break_addr;
+	      addr = break_addr;
+	    }
+	}
+    }
+  /* It didn't fit anywhere, we failed.  */
+  return 0;
+}
+
+/* Fill in the watch registers REGS with the currently cached
+   watches CURRENT_WATCHES.  */
+
+void
+mips_linux_watch_populate_regs (struct mips_watchpoint *current_watches,
+				struct pt_watch_regs *regs)
+{
+  struct mips_watchpoint *w;
+  int i;
+
+  /* Clear them out.  */
+  for (i = 0; i < mips_linux_watch_get_num_valid (regs); i++)
+    {
+      mips_linux_watch_set_watchlo (regs, i, 0);
+      mips_linux_watch_set_watchhi (regs, i, 0);
+    }
+
+  w = current_watches;
+  while (w)
+    {
+      uint32_t irw = mips_linux_watch_type_to_irw (w->type);
+
+      i = mips_linux_watch_try_one_watch (regs, w->addr, w->len, irw);
+      /* They must all fit, because we previously calculated that they
+	 would.  */
+      gdb_assert (i);
+      w = w->next;
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/mips-linux-watch.h ./gdb/nat/mips-linux-watch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/mips-linux-watch.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/mips-linux-watch.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,120 @@
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef MIPS_LINUX_WATCH_H
+#define MIPS_LINUX_WATCH_H 1
+
+#include <asm/ptrace.h>
+#include <stdint.h>
+
+#include "break-common.h"
+
+#define MAX_DEBUG_REGISTER 8
+
+/* If macro PTRACE_GET_WATCH_REGS is not defined, kernel header doesn't
+   have hardware watchpoint-related structures.  Define them below.  */
+
+#ifndef PTRACE_GET_WATCH_REGS
+#  define PTRACE_GET_WATCH_REGS	0xd0
+#  define PTRACE_SET_WATCH_REGS	0xd1
+
+enum pt_watch_style {
+  pt_watch_style_mips32,
+  pt_watch_style_mips64
+};
+
+/* A value of zero in a watchlo indicates that it is available.  */
+
+struct mips32_watch_regs
+{
+  uint32_t watchlo[MAX_DEBUG_REGISTER];
+  /* Lower 16 bits of watchhi.  */
+  uint16_t watchhi[MAX_DEBUG_REGISTER];
+  /* Valid mask and I R W bits.
+   * bit 0 -- 1 if W bit is usable.
+   * bit 1 -- 1 if R bit is usable.
+   * bit 2 -- 1 if I bit is usable.
+   * bits 3 - 11 -- Valid watchhi mask bits.
+   */
+  uint16_t watch_masks[MAX_DEBUG_REGISTER];
+  /* The number of valid watch register pairs.  */
+  uint32_t num_valid;
+  /* There is confusion across gcc versions about structure alignment,
+     so we force 8 byte alignment for these structures so they match
+     the kernel even if it was build with a different gcc version.  */
+} __attribute__ ((aligned (8)));
+
+struct mips64_watch_regs
+{
+  uint64_t watchlo[MAX_DEBUG_REGISTER];
+  uint16_t watchhi[MAX_DEBUG_REGISTER];
+  uint16_t watch_masks[MAX_DEBUG_REGISTER];
+  uint32_t num_valid;
+} __attribute__ ((aligned (8)));
+
+struct pt_watch_regs
+{
+  enum pt_watch_style style;
+  union
+  {
+    struct mips32_watch_regs mips32;
+    struct mips64_watch_regs mips64;
+  };
+};
+
+#endif /* !PTRACE_GET_WATCH_REGS */
+
+#define W_BIT 0
+#define R_BIT 1
+#define I_BIT 2
+
+#define W_MASK (1 << W_BIT)
+#define R_MASK (1 << R_BIT)
+#define I_MASK (1 << I_BIT)
+
+#define IRW_MASK (I_MASK | R_MASK | W_MASK)
+
+/* We keep list of all watchpoints we should install and calculate the
+   watch register values each time the list changes.  This allows for
+   easy sharing of watch registers for more than one watchpoint.  */
+
+struct mips_watchpoint
+{
+  CORE_ADDR addr;
+  int len;
+  int type;
+  struct mips_watchpoint *next;
+};
+
+uint32_t mips_linux_watch_get_num_valid (struct pt_watch_regs *regs);
+uint32_t mips_linux_watch_get_irw_mask (struct pt_watch_regs *regs, int n);
+CORE_ADDR mips_linux_watch_get_watchlo (struct pt_watch_regs *regs, int n);
+void mips_linux_watch_set_watchlo (struct pt_watch_regs *regs, int n,
+				   CORE_ADDR value);
+uint32_t mips_linux_watch_get_watchhi (struct pt_watch_regs *regs, int n);
+void mips_linux_watch_set_watchhi (struct pt_watch_regs *regs, int n,
+				   uint16_t value);
+int mips_linux_watch_try_one_watch (struct pt_watch_regs *regs,
+				    CORE_ADDR addr, int len, uint32_t irw);
+void mips_linux_watch_populate_regs (struct mips_watchpoint *current_watches,
+				     struct pt_watch_regs *regs);
+uint32_t mips_linux_watch_type_to_irw (int type);
+
+int mips_linux_read_watch_registers (long lwpid,
+				     struct pt_watch_regs *watch_readback,
+				     int *watch_readback_valid, int force);
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/x86-cpuid.h ./gdb/nat/x86-cpuid.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/x86-cpuid.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/x86-cpuid.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,63 @@
+/* C API for x86 cpuid insn.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This file is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 3, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef X86_CPUID_COMMON_H
+#define X86_CPUID_COMMON_H
+
+/* Always include the header for the cpu bit defines.  */
+#include "x86-gcc-cpuid.h"
+
+#if defined(__i386__) || defined(__x86_64__)
+
+/* Return cpuid data for requested cpuid level, as found in returned
+   eax, ebx, ecx and edx registers.  The function checks if cpuid is
+   supported and returns 1 for valid cpuid information or 0 for
+   unsupported cpuid level.  Pointers may be non-null.  */
+
+static __inline int
+x86_cpuid (unsigned int __level,
+	    unsigned int *__eax, unsigned int *__ebx,
+	    unsigned int *__ecx, unsigned int *__edx)
+{
+  unsigned int __scratch;
+
+  if (!__eax)
+    __eax = &__scratch;
+  if (!__ebx)
+    __ebx = &__scratch;
+  if (!__ecx)
+    __ecx = &__scratch;
+  if (!__edx)
+    __edx = &__scratch;
+
+  return __get_cpuid (__level, __eax, __ebx, __ecx, __edx);
+}
+
+#else
+
+static __inline int
+x86_cpuid (unsigned int __level,
+	    unsigned int *__eax, unsigned int *__ebx,
+	    unsigned int *__ecx, unsigned int *__edx)
+{
+  return 0;
+}
+
+#endif /* i386 && x86_64 */
+
+#endif /* X86_CPUID_COMMON_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/x86-dregs.c ./gdb/nat/x86-dregs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/x86-dregs.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/x86-dregs.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,655 @@
+/* Debug register code for x86 (i386 and x86-64).
+
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "common-defs.h"
+#include "x86-dregs.h"
+#include "break-common.h"
+
+/* Support for hardware watchpoints and breakpoints using the x86
+   debug registers.
+
+   This provides several functions for inserting and removing
+   hardware-assisted breakpoints and watchpoints, testing if one or
+   more of the watchpoints triggered and at what address, checking
+   whether a given region can be watched, etc.
+
+   The functions below implement debug registers sharing by reference
+   counts, and allow to watch regions up to 16 bytes long.  */
+
+/* Accessor macros for low-level function vector.  */
+
+/* Can we update the inferior's debug registers?  */
+#define x86_dr_low_can_set_addr() (x86_dr_low.set_addr != NULL)
+
+/* Update the inferior's debug register REGNUM from STATE.  */
+#define x86_dr_low_set_addr(new_state, i) \
+  (x86_dr_low.set_addr ((i), (new_state)->dr_mirror[(i)]))
+
+/* Return the inferior's debug register REGNUM.  */
+#define x86_dr_low_get_addr(i) (x86_dr_low.get_addr ((i)))
+
+/* Can we update the inferior's DR7 control register?  */
+#define x86_dr_low_can_set_control() (x86_dr_low.set_control != NULL)
+
+/* Update the inferior's DR7 debug control register from STATE.  */
+#define x86_dr_low_set_control(new_state) \
+  (x86_dr_low.set_control ((new_state)->dr_control_mirror))
+
+/* Return the value of the inferior's DR7 debug control register.  */
+#define x86_dr_low_get_control() (x86_dr_low.get_control ())
+
+/* Return the value of the inferior's DR6 debug status register.  */
+#define x86_dr_low_get_status() (x86_dr_low.get_status ())
+
+/* Return the debug register size, in bytes.  */
+#define x86_get_debug_register_length() \
+  (x86_dr_low.debug_register_length)
+
+/* Support for 8-byte wide hw watchpoints.  */
+#define TARGET_HAS_DR_LEN_8 (x86_get_debug_register_length () == 8)
+
+/* DR7 Debug Control register fields.  */
+
+/* How many bits to skip in DR7 to get to R/W and LEN fields.  */
+#define DR_CONTROL_SHIFT	16
+/* How many bits in DR7 per R/W and LEN field for each watchpoint.  */
+#define DR_CONTROL_SIZE		4
+
+/* Watchpoint/breakpoint read/write fields in DR7.  */
+#define DR_RW_EXECUTE	(0x0)	/* Break on instruction execution.  */
+#define DR_RW_WRITE	(0x1)	/* Break on data writes.  */
+#define DR_RW_READ	(0x3)	/* Break on data reads or writes.  */
+
+/* This is here for completeness.  No platform supports this
+   functionality yet (as of March 2001).  Note that the DE flag in the
+   CR4 register needs to be set to support this.  */
+#ifndef DR_RW_IORW
+#define DR_RW_IORW	(0x2)	/* Break on I/O reads or writes.  */
+#endif
+
+/* Watchpoint/breakpoint length fields in DR7.  The 2-bit left shift
+   is so we could OR this with the read/write field defined above.  */
+#define DR_LEN_1	(0x0 << 2) /* 1-byte region watch or breakpoint.  */
+#define DR_LEN_2	(0x1 << 2) /* 2-byte region watch.  */
+#define DR_LEN_4	(0x3 << 2) /* 4-byte region watch.  */
+#define DR_LEN_8	(0x2 << 2) /* 8-byte region watch (AMD64).  */
+
+/* Local and Global Enable flags in DR7.
+
+   When the Local Enable flag is set, the breakpoint/watchpoint is
+   enabled only for the current task; the processor automatically
+   clears this flag on every task switch.  When the Global Enable flag
+   is set, the breakpoint/watchpoint is enabled for all tasks; the
+   processor never clears this flag.
+
+   Currently, all watchpoint are locally enabled.  If you need to
+   enable them globally, read the comment which pertains to this in
+   x86_insert_aligned_watchpoint below.  */
+#define DR_LOCAL_ENABLE_SHIFT	0 /* Extra shift to the local enable bit.  */
+#define DR_GLOBAL_ENABLE_SHIFT	1 /* Extra shift to the global enable bit.  */
+#define DR_ENABLE_SIZE		2 /* Two enable bits per debug register.  */
+
+/* Local and global exact breakpoint enable flags (a.k.a. slowdown
+   flags).  These are only required on i386, to allow detection of the
+   exact instruction which caused a watchpoint to break; i486 and
+   later processors do that automatically.  We set these flags for
+   backwards compatibility.  */
+#define DR_LOCAL_SLOWDOWN	(0x100)
+#define DR_GLOBAL_SLOWDOWN	(0x200)
+
+/* Fields reserved by Intel.  This includes the GD (General Detect
+   Enable) flag, which causes a debug exception to be generated when a
+   MOV instruction accesses one of the debug registers.
+
+   FIXME: My Intel manual says we should use 0xF800, not 0xFC00.  */
+#define DR_CONTROL_RESERVED	(0xFC00)
+
+/* Auxiliary helper macros.  */
+
+/* A value that masks all fields in DR7 that are reserved by Intel.  */
+#define X86_DR_CONTROL_MASK	(~DR_CONTROL_RESERVED)
+
+/* The I'th debug register is vacant if its Local and Global Enable
+   bits are reset in the Debug Control register.  */
+#define X86_DR_VACANT(state, i) \
+  (((state)->dr_control_mirror & (3 << (DR_ENABLE_SIZE * (i)))) == 0)
+
+/* Locally enable the break/watchpoint in the I'th debug register.  */
+#define X86_DR_LOCAL_ENABLE(state, i) \
+  do { \
+    (state)->dr_control_mirror |= \
+      (1 << (DR_LOCAL_ENABLE_SHIFT + DR_ENABLE_SIZE * (i))); \
+  } while (0)
+
+/* Globally enable the break/watchpoint in the I'th debug register.  */
+#define X86_DR_GLOBAL_ENABLE(state, i) \
+  do { \
+    (state)->dr_control_mirror |= \
+      (1 << (DR_GLOBAL_ENABLE_SHIFT + DR_ENABLE_SIZE * (i))); \
+  } while (0)
+
+/* Disable the break/watchpoint in the I'th debug register.  */
+#define X86_DR_DISABLE(state, i) \
+  do { \
+    (state)->dr_control_mirror &= \
+      ~(3 << (DR_ENABLE_SIZE * (i))); \
+  } while (0)
+
+/* Set in DR7 the RW and LEN fields for the I'th debug register.  */
+#define X86_DR_SET_RW_LEN(state, i, rwlen) \
+  do { \
+    (state)->dr_control_mirror &= \
+      ~(0x0f << (DR_CONTROL_SHIFT + DR_CONTROL_SIZE * (i))); \
+    (state)->dr_control_mirror |= \
+      ((rwlen) << (DR_CONTROL_SHIFT + DR_CONTROL_SIZE * (i))); \
+  } while (0)
+
+/* Get from DR7 the RW and LEN fields for the I'th debug register.  */
+#define X86_DR_GET_RW_LEN(dr7, i) \
+  (((dr7) \
+    >> (DR_CONTROL_SHIFT + DR_CONTROL_SIZE * (i))) & 0x0f)
+
+/* Did the watchpoint whose address is in the I'th register break?  */
+#define X86_DR_WATCH_HIT(dr6, i) ((dr6) & (1 << (i)))
+
+/* Types of operations supported by x86_handle_nonaligned_watchpoint.  */
+typedef enum { WP_INSERT, WP_REMOVE, WP_COUNT } x86_wp_op_t;
+
+/* Print the values of the mirrored debug registers.  */
+
+static void
+x86_show_dr (struct x86_debug_reg_state *state,
+	     const char *func, CORE_ADDR addr,
+	     int len, enum target_hw_bp_type type)
+{
+  int i;
+
+  debug_printf ("%s", func);
+  if (addr || len)
+    debug_printf (" (addr=%s, len=%d, type=%s)",
+		  phex (addr, 8), len,
+		  type == hw_write ? "data-write"
+		  : (type == hw_read ? "data-read"
+		     : (type == hw_access ? "data-read/write"
+			: (type == hw_execute ? "instruction-execute"
+			   /* FIXME: if/when I/O read/write
+			      watchpoints are supported, add them
+			      here.  */
+			   : "??unknown??"))));
+  debug_printf (":\n");
+  debug_printf ("\tCONTROL (DR7): %s          STATUS (DR6): %s\n",
+		phex (state->dr_control_mirror, 8),
+		phex (state->dr_status_mirror, 8));
+  ALL_DEBUG_ADDRESS_REGISTERS (i)
+    {
+      debug_printf ("\
+\tDR%d: addr=0x%s, ref.count=%d  DR%d: addr=0x%s, ref.count=%d\n",
+		    i, phex (state->dr_mirror[i],
+			     x86_get_debug_register_length ()),
+		    state->dr_ref_count[i],
+		    i + 1, phex (state->dr_mirror[i + 1],
+				 x86_get_debug_register_length ()),
+		    state->dr_ref_count[i + 1]);
+      i++;
+    }
+}
+
+/* Return the value of a 4-bit field for DR7 suitable for watching a
+   region of LEN bytes for accesses of type TYPE.  LEN is assumed to
+   have the value of 1, 2, or 4.  */
+
+static unsigned
+x86_length_and_rw_bits (int len, enum target_hw_bp_type type)
+{
+  unsigned rw;
+
+  switch (type)
+    {
+      case hw_execute:
+	rw = DR_RW_EXECUTE;
+	break;
+      case hw_write:
+	rw = DR_RW_WRITE;
+	break;
+      case hw_read:
+	internal_error (__FILE__, __LINE__,
+			_("The i386 doesn't support "
+			  "data-read watchpoints.\n"));
+      case hw_access:
+	rw = DR_RW_READ;
+	break;
+#if 0
+	/* Not yet supported.  */
+      case hw_io_access:
+	rw = DR_RW_IORW;
+	break;
+#endif
+      default:
+	internal_error (__FILE__, __LINE__, _("\
+Invalid hardware breakpoint type %d in x86_length_and_rw_bits.\n"),
+			(int) type);
+    }
+
+  switch (len)
+    {
+      case 1:
+	return (DR_LEN_1 | rw);
+      case 2:
+	return (DR_LEN_2 | rw);
+      case 4:
+	return (DR_LEN_4 | rw);
+      case 8:
+        if (TARGET_HAS_DR_LEN_8)
+ 	  return (DR_LEN_8 | rw);
+	/* ELSE FALL THROUGH */
+      default:
+	internal_error (__FILE__, __LINE__, _("\
+Invalid hardware breakpoint length %d in x86_length_and_rw_bits.\n"), len);
+    }
+}
+
+/* Insert a watchpoint at address ADDR, which is assumed to be aligned
+   according to the length of the region to watch.  LEN_RW_BITS is the
+   value of the bits from DR7 which describes the length and access
+   type of the region to be watched by this watchpoint.  Return 0 on
+   success, -1 on failure.  */
+
+static int
+x86_insert_aligned_watchpoint (struct x86_debug_reg_state *state,
+			       CORE_ADDR addr, unsigned len_rw_bits)
+{
+  int i;
+
+  if (!x86_dr_low_can_set_addr () || !x86_dr_low_can_set_control ())
+    return -1;
+
+  /* First, look for an occupied debug register with the same address
+     and the same RW and LEN definitions.  If we find one, we can
+     reuse it for this watchpoint as well (and save a register).  */
+  ALL_DEBUG_ADDRESS_REGISTERS (i)
+    {
+      if (!X86_DR_VACANT (state, i)
+	  && state->dr_mirror[i] == addr
+	  && X86_DR_GET_RW_LEN (state->dr_control_mirror, i) == len_rw_bits)
+	{
+	  state->dr_ref_count[i]++;
+	  return 0;
+	}
+    }
+
+  /* Next, look for a vacant debug register.  */
+  ALL_DEBUG_ADDRESS_REGISTERS (i)
+    {
+      if (X86_DR_VACANT (state, i))
+	break;
+    }
+
+  /* No more debug registers!  */
+  if (i >= DR_NADDR)
+    return -1;
+
+  /* Now set up the register I to watch our region.  */
+
+  /* Record the info in our local mirrored array.  */
+  state->dr_mirror[i] = addr;
+  state->dr_ref_count[i] = 1;
+  X86_DR_SET_RW_LEN (state, i, len_rw_bits);
+  /* Note: we only enable the watchpoint locally, i.e. in the current
+     task.  Currently, no x86 target allows or supports global
+     watchpoints; however, if any target would want that in the
+     future, GDB should probably provide a command to control whether
+     to enable watchpoints globally or locally, and the code below
+     should use global or local enable and slow-down flags as
+     appropriate.  */
+  X86_DR_LOCAL_ENABLE (state, i);
+  state->dr_control_mirror |= DR_LOCAL_SLOWDOWN;
+  state->dr_control_mirror &= X86_DR_CONTROL_MASK;
+
+  return 0;
+}
+
+/* Remove a watchpoint at address ADDR, which is assumed to be aligned
+   according to the length of the region to watch.  LEN_RW_BITS is the
+   value of the bits from DR7 which describes the length and access
+   type of the region watched by this watchpoint.  Return 0 on
+   success, -1 on failure.  */
+
+static int
+x86_remove_aligned_watchpoint (struct x86_debug_reg_state *state,
+			       CORE_ADDR addr, unsigned len_rw_bits)
+{
+  int i, retval = -1;
+  int all_vacant = 1;
+
+  ALL_DEBUG_ADDRESS_REGISTERS (i)
+    {
+      if (!X86_DR_VACANT (state, i)
+	  && state->dr_mirror[i] == addr
+	  && X86_DR_GET_RW_LEN (state->dr_control_mirror, i) == len_rw_bits)
+	{
+	  if (--state->dr_ref_count[i] == 0) /* No longer in use?  */
+	    {
+	      /* Reset our mirror.  */
+	      state->dr_mirror[i] = 0;
+	      X86_DR_DISABLE (state, i);
+	      /* Even though not strictly necessary, clear out all
+		 bits in DR_CONTROL related to this debug register.
+		 Debug output is clearer when we don't have stale bits
+		 in place.  This also allows the assertion below.  */
+	      X86_DR_SET_RW_LEN (state, i, 0);
+	    }
+	  retval = 0;
+	}
+
+      if (!X86_DR_VACANT (state, i))
+	all_vacant = 0;
+    }
+
+  if (all_vacant)
+    {
+      /* Even though not strictly necessary, clear out all of
+	 DR_CONTROL, so that when we have no debug registers in use,
+	 we end up with DR_CONTROL == 0.  The Linux support relies on
+	 this for an optimization.  Plus, it makes for clearer debug
+	 output.  */
+      state->dr_control_mirror &= ~DR_LOCAL_SLOWDOWN;
+
+      gdb_assert (state->dr_control_mirror == 0);
+    }
+  return retval;
+}
+
+/* Insert or remove a (possibly non-aligned) watchpoint, or count the
+   number of debug registers required to watch a region at address
+   ADDR whose length is LEN for accesses of type TYPE.  Return 0 on
+   successful insertion or removal, a positive number when queried
+   about the number of registers, or -1 on failure.  If WHAT is not a
+   valid value, bombs through internal_error.  */
+
+static int
+x86_handle_nonaligned_watchpoint (struct x86_debug_reg_state *state,
+				  x86_wp_op_t what, CORE_ADDR addr, int len,
+				  enum target_hw_bp_type type)
+{
+  int retval = 0;
+  int max_wp_len = TARGET_HAS_DR_LEN_8 ? 8 : 4;
+
+  static const int size_try_array[8][8] =
+  {
+    {1, 1, 1, 1, 1, 1, 1, 1},	/* Trying size one.  */
+    {2, 1, 2, 1, 2, 1, 2, 1},	/* Trying size two.  */
+    {2, 1, 2, 1, 2, 1, 2, 1},	/* Trying size three.  */
+    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size four.  */
+    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size five.  */
+    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size six.  */
+    {4, 1, 2, 1, 4, 1, 2, 1},	/* Trying size seven.  */
+    {8, 1, 2, 1, 4, 1, 2, 1},	/* Trying size eight.  */
+  };
+
+  while (len > 0)
+    {
+      int align = addr % max_wp_len;
+      /* Four (eight on AMD64) is the maximum length a debug register
+	 can watch.  */
+      int try = (len > max_wp_len ? (max_wp_len - 1) : len - 1);
+      int size = size_try_array[try][align];
+
+      if (what == WP_COUNT)
+	{
+	  /* size_try_array[] is defined such that each iteration
+	     through the loop is guaranteed to produce an address and a
+	     size that can be watched with a single debug register.
+	     Thus, for counting the registers required to watch a
+	     region, we simply need to increment the count on each
+	     iteration.  */
+	  retval++;
+	}
+      else
+	{
+	  unsigned len_rw = x86_length_and_rw_bits (size, type);
+
+	  if (what == WP_INSERT)
+	    retval = x86_insert_aligned_watchpoint (state, addr, len_rw);
+	  else if (what == WP_REMOVE)
+	    retval = x86_remove_aligned_watchpoint (state, addr, len_rw);
+	  else
+	    internal_error (__FILE__, __LINE__, _("\
+Invalid value %d of operation in x86_handle_nonaligned_watchpoint.\n"),
+			    (int) what);
+	  if (retval)
+	    break;
+	}
+
+      addr += size;
+      len -= size;
+    }
+
+  return retval;
+}
+
+/* Update the inferior debug registers state, in STATE, with the
+   new debug registers state, in NEW_STATE.  */
+
+static void
+x86_update_inferior_debug_regs (struct x86_debug_reg_state *state,
+				struct x86_debug_reg_state *new_state)
+{
+  int i;
+
+  ALL_DEBUG_ADDRESS_REGISTERS (i)
+    {
+      if (X86_DR_VACANT (new_state, i) != X86_DR_VACANT (state, i))
+	x86_dr_low_set_addr (new_state, i);
+      else
+	gdb_assert (new_state->dr_mirror[i] == state->dr_mirror[i]);
+    }
+
+  if (new_state->dr_control_mirror != state->dr_control_mirror)
+    x86_dr_low_set_control (new_state);
+
+  *state = *new_state;
+}
+
+/* Insert a watchpoint to watch a memory region which starts at
+   address ADDR and whose length is LEN bytes.  Watch memory accesses
+   of the type TYPE.  Return 0 on success, -1 on failure.  */
+
+int
+x86_dr_insert_watchpoint (struct x86_debug_reg_state *state,
+			  enum target_hw_bp_type type,
+			  CORE_ADDR addr, int len)
+{
+  int retval;
+  /* Work on a local copy of the debug registers, and on success,
+     commit the change back to the inferior.  */
+  struct x86_debug_reg_state local_state = *state;
+
+  if (type == hw_read)
+    return 1; /* unsupported */
+
+  if (((len != 1 && len != 2 && len != 4)
+       && !(TARGET_HAS_DR_LEN_8 && len == 8))
+      || addr % len != 0)
+    {
+      retval = x86_handle_nonaligned_watchpoint (&local_state,
+						 WP_INSERT,
+						 addr, len, type);
+    }
+  else
+    {
+      unsigned len_rw = x86_length_and_rw_bits (len, type);
+
+      retval = x86_insert_aligned_watchpoint (&local_state,
+					      addr, len_rw);
+    }
+
+  if (retval == 0)
+    x86_update_inferior_debug_regs (state, &local_state);
+
+  if (show_debug_regs)
+    x86_show_dr (state, "insert_watchpoint", addr, len, type);
+
+  return retval;
+}
+
+/* Remove a watchpoint that watched the memory region which starts at
+   address ADDR, whose length is LEN bytes, and for accesses of the
+   type TYPE.  Return 0 on success, -1 on failure.  */
+
+int
+x86_dr_remove_watchpoint (struct x86_debug_reg_state *state,
+			  enum target_hw_bp_type type,
+			  CORE_ADDR addr, int len)
+{
+  int retval;
+  /* Work on a local copy of the debug registers, and on success,
+     commit the change back to the inferior.  */
+  struct x86_debug_reg_state local_state = *state;
+
+  if (((len != 1 && len != 2 && len != 4)
+       && !(TARGET_HAS_DR_LEN_8 && len == 8))
+      || addr % len != 0)
+    {
+      retval = x86_handle_nonaligned_watchpoint (&local_state,
+						 WP_REMOVE,
+						 addr, len, type);
+    }
+  else
+    {
+      unsigned len_rw = x86_length_and_rw_bits (len, type);
+
+      retval = x86_remove_aligned_watchpoint (&local_state,
+					      addr, len_rw);
+    }
+
+  if (retval == 0)
+    x86_update_inferior_debug_regs (state, &local_state);
+
+  if (show_debug_regs)
+    x86_show_dr (state, "remove_watchpoint", addr, len, type);
+
+  return retval;
+}
+
+/* Return non-zero if we can watch a memory region that starts at
+   address ADDR and whose length is LEN bytes.  */
+
+int
+x86_dr_region_ok_for_watchpoint (struct x86_debug_reg_state *state,
+				 CORE_ADDR addr, int len)
+{
+  int nregs;
+
+  /* Compute how many aligned watchpoints we would need to cover this
+     region.  */
+  nregs = x86_handle_nonaligned_watchpoint (state, WP_COUNT,
+					     addr, len, hw_write);
+  return nregs <= DR_NADDR ? 1 : 0;
+}
+
+/* If the inferior has some break/watchpoint that triggered, set the
+   address associated with that break/watchpoint and return non-zero.
+   Otherwise, return zero.  */
+
+int
+x86_dr_stopped_data_address (struct x86_debug_reg_state *state,
+			     CORE_ADDR *addr_p)
+{
+  CORE_ADDR addr = 0;
+  int i;
+  int rc = 0;
+  /* The current thread's DR_STATUS.  We always need to read this to
+     check whether some watchpoint caused the trap.  */
+  unsigned status;
+  /* We need DR_CONTROL as well, but only iff DR_STATUS indicates a
+     data breakpoint trap.  Only fetch it when necessary, to avoid an
+     unnecessary extra syscall when no watchpoint triggered.  */
+  int control_p = 0;
+  unsigned control = 0;
+
+  /* In non-stop/async, threads can be running while we change the
+     global dr_mirror (and friends).  Say, we set a watchpoint, and
+     let threads resume.  Now, say you delete the watchpoint, or
+     add/remove watchpoints such that dr_mirror changes while threads
+     are running.  On targets that support non-stop,
+     inserting/deleting watchpoints updates the global dr_mirror only.
+     It does not update the real thread's debug registers; that's only
+     done prior to resume.  Instead, if threads are running when the
+     mirror changes, a temporary and transparent stop on all threads
+     is forced so they can get their copy of the debug registers
+     updated on re-resume.  Now, say, a thread hit a watchpoint before
+     having been updated with the new dr_mirror contents, and we
+     haven't yet handled the corresponding SIGTRAP.  If we trusted
+     dr_mirror below, we'd mistake the real trapped address (from the
+     last time we had updated debug registers in the thread) with
+     whatever was currently in dr_mirror.  So to fix this, dr_mirror
+     always represents intention, what we _want_ threads to have in
+     debug registers.  To get at the address and cause of the trap, we
+     need to read the state the thread still has in its debug
+     registers.
+
+     In sum, always get the current debug register values the current
+     thread has, instead of trusting the global mirror.  If the thread
+     was running when we last changed watchpoints, the mirror no
+     longer represents what was set in this thread's debug
+     registers.  */
+  status = x86_dr_low_get_status ();
+
+  ALL_DEBUG_ADDRESS_REGISTERS (i)
+    {
+      if (!X86_DR_WATCH_HIT (status, i))
+	continue;
+
+      if (!control_p)
+	{
+	  control = x86_dr_low_get_control ();
+	  control_p = 1;
+	}
+
+      /* This second condition makes sure DRi is set up for a data
+	 watchpoint, not a hardware breakpoint.  The reason is that
+	 GDB doesn't call the target_stopped_data_address method
+	 except for data watchpoints.  In other words, I'm being
+	 paranoiac.  */
+      if (X86_DR_GET_RW_LEN (control, i) != 0)
+	{
+	  addr = x86_dr_low_get_addr (i);
+	  rc = 1;
+	  if (show_debug_regs)
+	    x86_show_dr (state, "watchpoint_hit", addr, -1, hw_write);
+	}
+    }
+
+  if (show_debug_regs && addr == 0)
+    x86_show_dr (state, "stopped_data_addr", 0, 0, hw_write);
+
+  if (rc)
+    *addr_p = addr;
+  return rc;
+}
+
+/* Return non-zero if the inferior has some watchpoint that triggered.
+   Otherwise return zero.  */
+
+int
+x86_dr_stopped_by_watchpoint (struct x86_debug_reg_state *state)
+{
+  CORE_ADDR addr = 0;
+  return x86_dr_stopped_data_address (state, &addr);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/x86-dregs.h ./gdb/nat/x86-dregs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/x86-dregs.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/x86-dregs.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,127 @@
+/* Debug register code for x86 (i386 and x86-64).
+
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Support for hardware watchpoints and breakpoints using the x86
+   debug registers.
+
+   This provides several functions for inserting and removing
+   hardware-assisted breakpoints and watchpoints, testing if one or
+   more of the watchpoints triggered and at what address, checking
+   whether a given region can be watched, etc.
+
+   The functions below implement debug registers sharing by reference
+   counts, and allow to watch regions up to 16 bytes long
+   (32 bytes on 64 bit hosts).  */
+
+#ifndef X86_DREGS_H
+#define X86_DREGS_H 1
+
+/* Forward declaration.  */
+enum target_hw_bp_type;
+
+/* Low-level function vector.  */
+
+struct x86_dr_low_type
+  {
+    /* Set the debug control (DR7) register to a given value for
+       all LWPs.  May be NULL if the debug control register cannot
+       be set.  */
+    void (*set_control) (unsigned long);
+
+    /* Put an address into one debug register for all LWPs.  May
+       be NULL if debug registers cannot be set*/
+    void (*set_addr) (int, CORE_ADDR);
+
+    /* Return the address in a given debug register of the current
+       LWP.  */
+    CORE_ADDR (*get_addr) (int);
+
+    /* Return the value of the debug status (DR6) register for
+       current LWP.  */
+    unsigned long (*get_status) (void);
+
+    /* Return the value of the debug control (DR7) register for
+       current LWP.  */
+    unsigned long (*get_control) (void);
+
+    /* Number of bytes used for debug registers (4 or 8).  */
+    int debug_register_length;
+  };
+
+extern struct x86_dr_low_type x86_dr_low;
+
+/* Debug registers' indices.  */
+#define DR_FIRSTADDR 0
+#define DR_LASTADDR  3
+#define DR_NADDR     4	/* The number of debug address registers.  */
+#define DR_STATUS    6	/* Index of debug status register (DR6).  */
+#define DR_CONTROL   7	/* Index of debug control register (DR7).  */
+
+/* Global state needed to track h/w watchpoints.  */
+
+struct x86_debug_reg_state
+{
+  /* Mirror the inferior's DRi registers.  We keep the status and
+     control registers separated because they don't hold addresses.
+     Note that since we can change these mirrors while threads are
+     running, we never trust them to explain a cause of a trap.
+     For that, we need to peek directly in the inferior registers.  */
+  CORE_ADDR dr_mirror[DR_NADDR];
+  unsigned dr_status_mirror, dr_control_mirror;
+
+  /* Reference counts for each debug address register.  */
+  int dr_ref_count[DR_NADDR];
+};
+
+/* A macro to loop over all debug address registers.  */
+#define ALL_DEBUG_ADDRESS_REGISTERS(i) \
+  for (i = DR_FIRSTADDR; i <= DR_LASTADDR; i++)
+
+/* Insert a watchpoint to watch a memory region which starts at
+   address ADDR and whose length is LEN bytes.  Watch memory accesses
+   of the type TYPE.  Return 0 on success, -1 on failure.  */
+extern int x86_dr_insert_watchpoint (struct x86_debug_reg_state *state,
+				     enum target_hw_bp_type type,
+				     CORE_ADDR addr,
+				     int len);
+
+/* Remove a watchpoint that watched the memory region which starts at
+   address ADDR, whose length is LEN bytes, and for accesses of the
+   type TYPE.  Return 0 on success, -1 on failure.  */
+extern int x86_dr_remove_watchpoint (struct x86_debug_reg_state *state,
+				     enum target_hw_bp_type type,
+				     CORE_ADDR addr,
+				     int len);
+
+/* Return non-zero if we can watch a memory region that starts at
+   address ADDR and whose length is LEN bytes.  */
+extern int x86_dr_region_ok_for_watchpoint (struct x86_debug_reg_state *state,
+					    CORE_ADDR addr, int len);
+
+/* If the inferior has some break/watchpoint that triggered, set the
+   address associated with that break/watchpoint and return true.
+   Otherwise, return false.  */
+extern int x86_dr_stopped_data_address (struct x86_debug_reg_state *state,
+					CORE_ADDR *addr_p);
+
+/* Return true if the inferior has some watchpoint that triggered.
+   Otherwise return false.  */
+extern int x86_dr_stopped_by_watchpoint (struct x86_debug_reg_state *state);
+
+#endif /* X86_DREGS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/x86-gcc-cpuid.h ./gdb/nat/x86-gcc-cpuid.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nat/x86-gcc-cpuid.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/nat/x86-gcc-cpuid.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,278 @@
+/*
+ * Helper cpuid.h file copied from gcc-4.8.0.  Code in gdb should not
+ * include this directly, but pull in x86-cpuid.h and use that func.
+ */
+/*
+ * Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 3, or (at your option) any
+ * later version.
+ * 
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ * 
+ * Under Section 7 of GPL version 3, you are granted additional
+ * permissions described in the GCC Runtime Library Exception, version
+ * 3.1, as published by the Free Software Foundation.
+ * 
+ * You should have received a copy of the GNU General Public License and
+ * a copy of the GCC Runtime Library Exception along with this program;
+ * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+/* %ecx */
+#define bit_SSE3	(1 << 0)
+#define bit_PCLMUL	(1 << 1)
+#define bit_LZCNT	(1 << 5)
+#define bit_SSSE3	(1 << 9)
+#define bit_FMA		(1 << 12)
+#define bit_CMPXCHG16B	(1 << 13)
+#define bit_SSE4_1	(1 << 19)
+#define bit_SSE4_2	(1 << 20)
+#define bit_MOVBE	(1 << 22)
+#define bit_POPCNT	(1 << 23)
+#define bit_AES		(1 << 25)
+#define bit_XSAVE	(1 << 26)
+#define bit_OSXSAVE	(1 << 27)
+#define bit_AVX		(1 << 28)
+#define bit_F16C	(1 << 29)
+#define bit_RDRND	(1 << 30)
+
+/* %edx */
+#define bit_CMPXCHG8B	(1 << 8)
+#define bit_CMOV	(1 << 15)
+#define bit_MMX		(1 << 23)
+#define bit_FXSAVE	(1 << 24)
+#define bit_SSE		(1 << 25)
+#define bit_SSE2	(1 << 26)
+
+/* Extended Features */
+/* %ecx */
+#define bit_LAHF_LM	(1 << 0)
+#define bit_ABM		(1 << 5)
+#define bit_SSE4a	(1 << 6)
+#define bit_PRFCHW	(1 << 8)
+#define bit_XOP         (1 << 11)
+#define bit_LWP 	(1 << 15)
+#define bit_FMA4        (1 << 16)
+#define bit_TBM         (1 << 21)
+
+/* %edx */
+#define bit_MMXEXT	(1 << 22)
+#define bit_LM		(1 << 29)
+#define bit_3DNOWP	(1 << 30)
+#define bit_3DNOW	(1 << 31)
+
+/* Extended Features (%eax == 7) */
+#define bit_FSGSBASE	(1 << 0)
+#define bit_BMI	(1 << 3)
+#define bit_HLE	(1 << 4)
+#define bit_AVX2	(1 << 5)
+#define bit_BMI2	(1 << 8)
+#define bit_RTM	(1 << 11)
+#define bit_AVX512F	(1 << 16)
+#define bit_MPX (1 << 14)
+#define bit_RDSEED	(1 << 18)
+#define bit_ADX	(1 << 19)
+#define bit_AVX512PF	(1 << 26)
+#define bit_AVX512ER	(1 << 27)
+#define bit_AVX512CD	(1 << 28)
+#define bit_SHA		(1 << 29)
+
+/* Extended State Enumeration Sub-leaf (%eax == 13, %ecx == 1) */
+#define bit_XSAVEOPT	(1 << 0)
+
+/* Signatures for different CPU implementations as returned in uses
+   of cpuid with level 0.  */
+#define signature_AMD_ebx	0x68747541
+#define signature_AMD_ecx	0x444d4163
+#define signature_AMD_edx	0x69746e65
+
+#define signature_CENTAUR_ebx	0x746e6543
+#define signature_CENTAUR_ecx	0x736c7561
+#define signature_CENTAUR_edx	0x48727561
+
+#define signature_CYRIX_ebx	0x69727943
+#define signature_CYRIX_ecx	0x64616574
+#define signature_CYRIX_edx	0x736e4978
+
+#define signature_INTEL_ebx	0x756e6547
+#define signature_INTEL_ecx	0x6c65746e
+#define signature_INTEL_edx	0x49656e69
+
+#define signature_TM1_ebx	0x6e617254
+#define signature_TM1_ecx	0x55504361
+#define signature_TM1_edx	0x74656d73
+
+#define signature_TM2_ebx	0x756e6547
+#define signature_TM2_ecx	0x3638784d
+#define signature_TM2_edx	0x54656e69
+
+#define signature_NSC_ebx	0x646f6547
+#define signature_NSC_ecx	0x43534e20
+#define signature_NSC_edx	0x79622065
+
+#define signature_NEXGEN_ebx	0x4778654e
+#define signature_NEXGEN_ecx	0x6e657669
+#define signature_NEXGEN_edx	0x72446e65
+
+#define signature_RISE_ebx	0x65736952
+#define signature_RISE_ecx	0x65736952
+#define signature_RISE_edx	0x65736952
+
+#define signature_SIS_ebx	0x20536953
+#define signature_SIS_ecx	0x20536953
+#define signature_SIS_edx	0x20536953
+
+#define signature_UMC_ebx	0x20434d55
+#define signature_UMC_ecx	0x20434d55
+#define signature_UMC_edx	0x20434d55
+
+#define signature_VIA_ebx	0x20414956
+#define signature_VIA_ecx	0x20414956
+#define signature_VIA_edx	0x20414956
+
+#define signature_VORTEX_ebx	0x74726f56
+#define signature_VORTEX_ecx	0x436f5320
+#define signature_VORTEX_edx	0x36387865
+
+#if defined(__i386__) && defined(__PIC__)
+/* %ebx may be the PIC register.  */
+#if __GNUC__ >= 3
+#define __cpuid(level, a, b, c, d)			\
+  __asm__ ("xchg{l}\t{%%}ebx, %k1\n\t"			\
+	   "cpuid\n\t"					\
+	   "xchg{l}\t{%%}ebx, %k1\n\t"			\
+	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
+	   : "0" (level))
+
+#define __cpuid_count(level, count, a, b, c, d)		\
+  __asm__ ("xchg{l}\t{%%}ebx, %k1\n\t"			\
+	   "cpuid\n\t"					\
+	   "xchg{l}\t{%%}ebx, %k1\n\t"			\
+	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
+	   : "0" (level), "2" (count))
+#else
+/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
+   nor alternatives in i386 code.  */
+#define __cpuid(level, a, b, c, d)			\
+  __asm__ ("xchgl\t%%ebx, %k1\n\t"			\
+	   "cpuid\n\t"					\
+	   "xchgl\t%%ebx, %k1\n\t"			\
+	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
+	   : "0" (level))
+
+#define __cpuid_count(level, count, a, b, c, d)		\
+  __asm__ ("xchgl\t%%ebx, %k1\n\t"			\
+	   "cpuid\n\t"					\
+	   "xchgl\t%%ebx, %k1\n\t"			\
+	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
+	   : "0" (level), "2" (count))
+#endif
+#elif defined(__x86_64__) && (defined(__code_model_medium__) || defined(__code_model_large__)) && defined(__PIC__)
+/* %rbx may be the PIC register.  */
+#define __cpuid(level, a, b, c, d)			\
+  __asm__ ("xchg{q}\t{%%}rbx, %q1\n\t"			\
+	   "cpuid\n\t"					\
+	   "xchg{q}\t{%%}rbx, %q1\n\t"			\
+	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
+	   : "0" (level))
+
+#define __cpuid_count(level, count, a, b, c, d)		\
+  __asm__ ("xchg{q}\t{%%}rbx, %q1\n\t"			\
+	   "cpuid\n\t"					\
+	   "xchg{q}\t{%%}rbx, %q1\n\t"			\
+	   : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)	\
+	   : "0" (level), "2" (count))
+#else
+#define __cpuid(level, a, b, c, d)			\
+  __asm__ ("cpuid\n\t"					\
+	   : "=a" (a), "=b" (b), "=c" (c), "=d" (d)	\
+	   : "0" (level))
+
+#define __cpuid_count(level, count, a, b, c, d)		\
+  __asm__ ("cpuid\n\t"					\
+	   : "=a" (a), "=b" (b), "=c" (c), "=d" (d)	\
+	   : "0" (level), "2" (count))
+#endif
+
+/* Return highest supported input value for cpuid instruction.  ext can
+   be either 0x0 or 0x8000000 to return highest supported value for
+   basic or extended cpuid information.  Function returns 0 if cpuid
+   is not supported or whatever cpuid returns in eax register.  If sig
+   pointer is non-null, then first four bytes of the signature
+   (as found in ebx register) are returned in location pointed by sig.  */
+
+static __inline unsigned int
+__get_cpuid_max (unsigned int __ext, unsigned int *__sig)
+{
+  unsigned int __eax, __ebx, __ecx, __edx;
+
+#ifndef __x86_64__
+  /* See if we can use cpuid.  On AMD64 we always can.  */
+#if __GNUC__ >= 3
+  __asm__ ("pushf{l|d}\n\t"
+	   "pushf{l|d}\n\t"
+	   "pop{l}\t%0\n\t"
+	   "mov{l}\t{%0, %1|%1, %0}\n\t"
+	   "xor{l}\t{%2, %0|%0, %2}\n\t"
+	   "push{l}\t%0\n\t"
+	   "popf{l|d}\n\t"
+	   "pushf{l|d}\n\t"
+	   "pop{l}\t%0\n\t"
+	   "popf{l|d}\n\t"
+	   : "=&r" (__eax), "=&r" (__ebx)
+	   : "i" (0x00200000));
+#else
+/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
+   nor alternatives in i386 code.  */
+  __asm__ ("pushfl\n\t"
+	   "pushfl\n\t"
+	   "popl\t%0\n\t"
+	   "movl\t%0, %1\n\t"
+	   "xorl\t%2, %0\n\t"
+	   "pushl\t%0\n\t"
+	   "popfl\n\t"
+	   "pushfl\n\t"
+	   "popl\t%0\n\t"
+	   "popfl\n\t"
+	   : "=&r" (__eax), "=&r" (__ebx)
+	   : "i" (0x00200000));
+#endif
+
+  if (!((__eax ^ __ebx) & 0x00200000))
+    return 0;
+#endif
+
+  /* Host supports cpuid.  Return highest supported cpuid input value.  */
+  __cpuid (__ext, __eax, __ebx, __ecx, __edx);
+
+  if (__sig)
+    *__sig = __ebx;
+
+  return __eax;
+}
+
+/* Return cpuid data for requested cpuid level, as found in returned
+   eax, ebx, ecx and edx registers.  The function checks if cpuid is
+   supported and returns 1 for valid cpuid information or 0 for
+   unsupported cpuid level.  All pointers are required to be non-null.  */
+
+static __inline int
+__get_cpuid (unsigned int __level,
+	     unsigned int *__eax, unsigned int *__ebx,
+	     unsigned int *__ecx, unsigned int *__edx)
+{
+  unsigned int __ext = __level & 0x80000000;
+
+  if (__get_cpuid_max (__ext, 0) < __level)
+    return 0;
+
+  __cpuid (__level, *__eax, *__ebx, *__ecx, *__edx);
+  return 1;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nbsd-nat.c ./gdb/nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for NetBSD.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nbsd-nat.h ./gdb/nbsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nbsd-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nbsd-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for NetBSD.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nbsd-tdep.c ./gdb/nbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common target-dependent code for NetBSD systems.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Wasabi Systems, Inc.
   
@@ -20,7 +20,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "solib-svr4.h"
 #include "nbsd-tdep.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nbsd-tdep.h ./gdb/nbsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nbsd-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nbsd-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common target-dependent definitions for NetBSD systems.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Wasabi Systems, Inc.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/NEWS ./gdb/NEWS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/NEWS	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/NEWS	2015-01-20 02:05:38.000000000 +0000
@@ -1,6 +1,124 @@
 		What has changed in GDB?
 	     (Organized release by release)
 
+*** Changes since GDB 7.8
+
+* GDB now supports hardware watchpoints on x86 GNU Hurd.
+
+* Python Scripting
+
+  ** You can now access frame registers from Python scripts.
+  ** New attribute 'producer' for gdb.Symtab objects.
+  ** gdb.Objfile objects have a new attribute "progspace",
+     which is the gdb.Progspace object of the containing program space.
+  ** gdb.Objfile objects have a new attribute "owner".
+  ** gdb.Objfile objects have a new attribute "build_id",
+     which is the build ID generated when the file was built.
+  ** gdb.Objfile objects have a new method "add_separate_debug_file".
+  ** A new event "gdb.clear_objfiles" has been added, triggered when
+     selecting a new file to debug.
+  ** You can now add attributes to gdb.Objfile and gdb.Progspace objects.
+  ** New function gdb.lookup_objfile.
+
+  New events which are triggered when GDB modifies the state of the 
+  inferior.
+
+  ** gdb.events.inferior_call_pre: Function call is about to be made.
+  ** gdb.events.inferior_call_post: Function call has just been made.
+  ** gdb.events.memory_changed: A memory location has been altered.
+  ** gdb.events.register_changed: A register has been altered.
+
+* New Python-based convenience functions:
+
+  ** $_caller_is(name [, number_of_frames])
+  ** $_caller_matches(regexp [, number_of_frames])
+  ** $_any_caller_is(name [, number_of_frames])
+  ** $_any_caller_matches(regexp [, number_of_frames])
+
+* GDB now supports the compilation and injection of source code into
+  the inferior.  GDB will use GCC 5.0 or higher built with libcc1.so
+  to compile the source code to object code, and if successful, inject
+  and execute that code within the current context of the inferior.
+  Currently the C language is supported.  The commands used to
+  interface with this new feature are:
+
+     compile code [-raw|-r] [--] [source code]
+     compile file [-raw|-r] filename
+
+* New commands
+
+demangle [-l language] [--] name
+  Demangle "name" in the specified language, or the current language
+  if elided.  This command is renamed from the "maint demangle" command.
+  The latter is kept as a no-op to avoid "maint demangle" being interpreted
+  as "maint demangler-warning".
+
+queue-signal signal-name-or-number
+  Queue a signal to be delivered to the thread when it is resumed.
+
+add-auto-load-scripts-directory directory
+  Add entries to the list of directories from which to load auto-loaded
+  scripts.
+
+maint print user-registers
+  List all currently available "user" registers.
+
+compile code [-r|-raw] [--] [source code]
+  Compile, inject, and execute in the inferior the executable object
+  code produced by compiling the provided source code.
+
+compile file [-r|-raw] filename
+  Compile and inject into the inferior the executable object code
+  produced by compiling the source code stored in the filename
+  provided.
+
+* On resume, GDB now always passes the signal the program had stopped
+  for to the thread the signal was sent to, even if the user changed
+  threads before resuming.  Previously GDB would often (but not
+  always) deliver the signal to the thread that happens to be current
+  at resume time.
+
+* Conversely, the "signal" command now consistently delivers the
+  requested signal to the current thread.  GDB now asks for
+  confirmation if the program had stopped for a signal and the user
+  switched threads meanwhile.
+
+* "breakpoint always-inserted" modes "off" and "auto" merged.
+
+  Now, when 'breakpoint always-inserted mode' is set to "off", GDB
+  won't remove breakpoints from the target until all threads stop,
+  even in non-stop mode.  The "auto" mode has been removed, and "off"
+  is now the default mode.
+
+* New options
+
+set debug symbol-lookup
+show debug symbol-lookup
+  Control display of debugging info regarding symbol lookup.
+
+* MI changes
+
+  ** The -list-thread-groups command outputs an exit-code field for
+     inferiors that have exited.
+
+* New targets
+
+MIPS SDE			mips*-sde*-elf*
+
+* Removed targets
+
+Support for these obsolete configurations has been removed.
+
+Alpha running OSF/1 (or Tru64)		alpha*-*-osf*
+SGI Irix-5.x				mips-*-irix5*
+SGI Irix-6.x				mips-*-irix6*
+VAX running (4.2 - 4.3 Reno) BSD 	vax-*-bsd*
+VAX running Ultrix 			vax-*-ultrix*
+
+* The "dll-symbols" command, and its two aliases ("add-shared-symbol-files"
+  and "assf"), have been removed.  Use the "sharedlibrary" command, or
+  its alias "share", instead.
+
 *** Changes in GDB 7.8
 
 * New command line options
@@ -73,10 +191,10 @@ show record btrace replay-memory-access
 
 maint set target-async (on|off)
 maint show target-async
-  This controls whether GDB targets operate in syncronous or
-  asyncronous mode.  Normally the default is asyncronous, if it is
+  This controls whether GDB targets operate in synchronous or
+  asynchronous mode.  Normally the default is asynchronous, if it is
   available; but this can be changed to more easily debug problems
-  occurring only in syncronous mode.
+  occurring only in synchronous mode.
 
 set mi-async (on|off)
 show mi-async
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nios2-linux-tdep.c ./gdb/nios2-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nios2-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nios2-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target-dependent code for GNU/Linux on Nios II.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Mentor Graphics, Inc.
 
    This file is part of GDB.
@@ -19,8 +19,6 @@
 
 #include "defs.h"
 #include "frame.h"
-#include "gdb_assert.h"
-#include <string.h>
 #include "osabi.h"
 #include "solib-svr4.h"
 #include "trad-frame.h"
@@ -51,6 +49,11 @@ static const int reg_offsets[NIOS2_NUM_R
   -1, -1, -1, -1, -1, -1, -1, -1
 };
 
+/* General register set size.  Should match sizeof (struct pt_regs) +
+   sizeof (struct switch_stack) from the NIOS2 Linux kernel patch.  */
+
+#define NIOS2_GREGS_SIZE (4 * 34)
+
 /* Implement the supply_regset hook for core files.  */
 
 static void
@@ -73,23 +76,41 @@ nios2_supply_gregset (const struct regse
       }
 }
 
+/* Implement the collect_regset hook for core files.  */
+
+static void
+nios2_collect_gregset (const struct regset *regset,
+		       const struct regcache *regcache,
+		       int regnum, void *gregs_buf, size_t len)
+{
+  gdb_byte *gregs = gregs_buf;
+  int regno;
+
+  for (regno = NIOS2_Z_REGNUM; regno <= NIOS2_MPUACC_REGNUM; regno++)
+    if (regnum == -1 || regnum == regno)
+      {
+	if (reg_offsets[regno] != -1)
+	  regcache_raw_collect (regcache, regno,
+				gregs + 4 * reg_offsets[regno]);
+      }
+}
+
 static const struct regset nios2_core_regset =
 {
   NULL,
   nios2_supply_gregset,
-  NULL,
+  nios2_collect_gregset
 };
 
-/* Implement the regset_from_core_section gdbarch method.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-nios2_regset_from_core_section (struct gdbarch *gdbarch,
-                                const char *sect_name, size_t sect_size)
+static void
+nios2_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				    iterate_over_regset_sections_cb *cb,
+				    void *cb_data,
+				    const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0)
-    return &nios2_core_regset;
-
-  return NULL;
+  cb (".reg", NIOS2_GREGS_SIZE, &nios2_core_regset, NULL, cb_data);
 }
 
 /* Initialize a trad-frame cache corresponding to the tramp-frame.
@@ -164,8 +185,8 @@ nios2_linux_init_abi (struct gdbarch_inf
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
                                              svr4_fetch_objfile_link_map);
   /* Core file support.  */
-  set_gdbarch_regset_from_core_section (gdbarch,
-                                        nios2_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, nios2_iterate_over_regset_sections);
   /* Linux signal frame unwinders.  */
   tramp_frame_prepend_unwinder (gdbarch,
                                 &nios2_linux_rt_sigreturn_tramp_frame);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nios2-tdep.c ./gdb/nios2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nios2-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nios2-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target-machine dependent code for Nios II, for GDB.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Peter Brookes (pbrookes@altera.com)
    and Andrew Draper (adraper@altera.com).
    Contributed by Mentor Graphics, Inc.
@@ -38,7 +38,6 @@
 #include "symfile.h"
 #include "arch-utils.h"
 #include "floatformat.h"
-#include "gdb_assert.h"
 #include "infcall.h"
 #include "regset.h"
 #include "target-descriptions.h"
@@ -276,112 +275,400 @@ nios2_init_cache (struct nios2_unwind_ca
   nios2_setup_default (cache);
 }
 
-/* Helper function to identify when we're in a function epilogue;
-   that is, the part of the function from the point at which the
-   stack adjustment is made, to the return or sibcall.  On Nios II,
-   we want to check that the CURRENT_PC is a return-type instruction
-   and that the previous instruction is a stack adjustment.
-   START_PC is the beginning of the function in question.  */
+/* Read and identify an instruction at PC.  If INSNP is non-null,
+   store the instruction word into that location.  Return the opcode
+   pointer or NULL if the memory couldn't be read or disassembled.  */
+
+static const struct nios2_opcode *
+nios2_fetch_insn (struct gdbarch *gdbarch, CORE_ADDR pc,
+		  unsigned int *insnp)
+{
+  LONGEST memword;
+  unsigned long mach = gdbarch_bfd_arch_info (gdbarch)->mach;
+  unsigned int insn;
+
+  if (!safe_read_memory_integer (pc, NIOS2_OPCODE_SIZE,
+				 gdbarch_byte_order (gdbarch), &memword))
+    return NULL;
+
+  insn = (unsigned int) memword;
+  if (insnp)
+    *insnp = insn;
+  return nios2_find_opcode_hash (insn, mach);
+}
+
+
+/* Match and disassemble an ADD-type instruction, with 3 register operands.
+   Returns true on success, and fills in the operand pointers.  */
 
 static int
-nios2_in_epilogue_p (struct gdbarch *gdbarch,
-		     CORE_ADDR current_pc,
-		     CORE_ADDR start_pc)
+nios2_match_add (uint32_t insn, const struct nios2_opcode *op,
+		 unsigned long mach, int *ra, int *rb, int *rc)
 {
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  if (op->match == MATCH_R1_ADD || op->match == MATCH_R1_MOV)
+    {
+      *ra = GET_IW_R_A (insn);
+      *rb = GET_IW_R_B (insn);
+      *rc = GET_IW_R_C (insn);
+      return 1;
+    }
+  return 0;
+}
 
-  /* There has to be a previous instruction in the function.  */
-  if (current_pc > start_pc)
+/* Match and disassemble a SUB-type instruction, with 3 register operands.
+   Returns true on success, and fills in the operand pointers.  */
+
+static int
+nios2_match_sub (uint32_t insn, const struct nios2_opcode *op,
+		 unsigned long mach, int *ra, int *rb, int *rc)
+{
+  if (op->match == MATCH_R1_SUB)
     {
+      *ra = GET_IW_R_A (insn);
+      *rb = GET_IW_R_B (insn);
+      *rc = GET_IW_R_C (insn);
+      return 1;
+    }
+  return 0;
+}
 
-      /* Check whether the previous instruction was a stack
-	 adjustment.  */
-      unsigned int insn
-        = read_memory_unsigned_integer (current_pc - NIOS2_OPCODE_SIZE,
-					NIOS2_OPCODE_SIZE, byte_order);
-
-      if ((insn & 0xffc0003c) == 0xdec00004	/* ADDI sp, sp, */
-	  || (insn & 0xffc1ffff) == 0xdec1883a	/* ADD  sp, sp, */
-	  || (insn & 0xffc0003f) == 0xdec00017)	/* LDW  sp, constant(sp) */
-	{
-	  /* Then check if it's followed by a return or a tail
-	     call.  */
-          insn = read_memory_unsigned_integer (current_pc, NIOS2_OPCODE_SIZE,
-					       byte_order);
-
-	  if (insn == 0xf800283a			/* RET */
-	      || insn == 0xe800083a			/* ERET */
-	      || (insn & 0x07ffffff) == 0x0000683a	/* JMP */
-	      || (insn & 0xffc0003f) == 6)		/* BR */
-	    return 1;
-	}
+/* Match and disassemble an ADDI-type instruction, with 2 register operands
+   and one immediate operand.
+   Returns true on success, and fills in the operand pointers.  */
+
+static int
+nios2_match_addi (uint32_t insn, const struct nios2_opcode *op,
+		  unsigned long mach, int *ra, int *rb, int *imm)
+{
+  if (op->match == MATCH_R1_ADDI)
+    {
+      *ra = GET_IW_I_A (insn);
+      *rb = GET_IW_I_B (insn);
+      *imm = (signed) (GET_IW_I_IMM16 (insn) << 16) >> 16;
+      return 1;
     }
   return 0;
 }
 
-/* Implement the in_function_epilogue_p gdbarch method.  */
+/* Match and disassemble an ORHI-type instruction, with 2 register operands
+   and one unsigned immediate operand.
+   Returns true on success, and fills in the operand pointers.  */
 
 static int
-nios2_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+nios2_match_orhi (uint32_t insn, const struct nios2_opcode *op,
+		  unsigned long mach, int *ra, int *rb, unsigned int *uimm)
 {
-  CORE_ADDR func_addr;
+  if (op->match == MATCH_R1_ORHI)
+    {
+      *ra = GET_IW_I_A (insn);
+      *rb = GET_IW_I_B (insn);
+      *uimm = GET_IW_I_IMM16 (insn);
+      return 1;
+    }
+  return 0;
+}
 
-  if (find_pc_partial_function (pc, NULL, &func_addr, NULL))
-    return nios2_in_epilogue_p (gdbarch, pc, func_addr);
+/* Match and disassemble a STW-type instruction, with 2 register operands
+   and one immediate operand.
+   Returns true on success, and fills in the operand pointers.  */
 
+static int
+nios2_match_stw (uint32_t insn, const struct nios2_opcode *op,
+		 unsigned long mach, int *ra, int *rb, int *imm)
+{
+  if (op->match == MATCH_R1_STW || op->match == MATCH_R1_STWIO)
+    {
+      *ra = GET_IW_I_A (insn);
+      *rb = GET_IW_I_B (insn);
+      *imm = (signed) (GET_IW_I_IMM16 (insn) << 16) >> 16;
+      return 1;
+    }
   return 0;
 }
 
-/* Define some instruction patterns supporting wildcard bits via a
-   mask.  */
+/* Match and disassemble a LDW-type instruction, with 2 register operands
+   and one immediate operand.
+   Returns true on success, and fills in the operand pointers.  */
 
-typedef struct
+static int
+nios2_match_ldw (uint32_t insn, const struct nios2_opcode *op,
+		 unsigned long mach, int *ra, int *rb, int *imm)
 {
-  unsigned int insn;
-  unsigned int mask;
-} wild_insn;
+  if (op->match == MATCH_R1_LDW || op->match == MATCH_R1_LDWIO)
+    {
+      *ra = GET_IW_I_A (insn);
+      *rb = GET_IW_I_B (insn);
+      *imm = (signed) (GET_IW_I_IMM16 (insn) << 16) >> 16;
+      return 1;
+    }
+  return 0;
+}
+
+/* Match and disassemble a RDCTL instruction, with 2 register operands.
+   Returns true on success, and fills in the operand pointers.  */
 
-static const wild_insn profiler_insn[] =
+static int
+nios2_match_rdctl (uint32_t insn, const struct nios2_opcode *op,
+		   unsigned long mach, int *ra, int *rc)
 {
-  { 0x0010e03a, 0x00000000 }, /* nextpc r8 */
-  { 0xf813883a, 0x00000000 }, /* mov    r9,ra */
-  { 0x02800034, 0x003fffc0 }, /* movhi  r10,257 */
-  { 0x52800004, 0x003fffc0 }, /* addi   r10,r10,-31992 */
-  { 0x00000000, 0xffffffc0 }, /* call   <mcount> */
-  { 0x483f883a, 0x00000000 }  /* mov    ra,r9 */
+  if (op->match == MATCH_R1_RDCTL)
+    {
+      *ra = GET_IW_R_IMM5 (insn);
+      *rc = GET_IW_R_C (insn);
+      return 1;
+    }
+  return 0;
+}
+
+
+/* Match and disassemble a branch instruction, with (potentially)
+   2 register operands and one immediate operand.
+   Returns true on success, and fills in the operand pointers.  */
+
+enum branch_condition {
+  branch_none,
+  branch_eq,
+  branch_ne,
+  branch_ge,
+  branch_geu,
+  branch_lt,
+  branch_ltu
 };
+  
+static int
+nios2_match_branch (uint32_t insn, const struct nios2_opcode *op,
+		    unsigned long mach, int *ra, int *rb, int *imm,
+		    enum branch_condition *cond)
+{
+  switch (op->match)
+    {
+    case MATCH_R1_BR:
+      *cond = branch_none;
+      break;
+    case MATCH_R1_BEQ:
+      *cond = branch_eq;
+      break;
+    case MATCH_R1_BNE:
+      *cond = branch_ne;
+      break;
+    case MATCH_R1_BGE:
+      *cond = branch_ge;
+      break;
+    case MATCH_R1_BGEU:
+      *cond = branch_geu;
+      break;
+    case MATCH_R1_BLT:
+      *cond = branch_lt;
+      break;
+    case MATCH_R1_BLTU:
+      *cond = branch_ltu;
+      break;
+    default:
+      return 0;
+    }
+  *imm = (signed) (GET_IW_I_IMM16 (insn) << 16) >> 16;
+  *ra = GET_IW_I_A (insn);
+  *rb = GET_IW_I_B (insn);
+  return 1;
+}
 
-static const wild_insn irqentry_insn[] =
+/* Match and disassemble a direct jump instruction, with an
+   unsigned operand.  Returns true on success, and fills in the operand
+   pointer.  */
+
+static int
+nios2_match_jmpi (uint32_t insn, const struct nios2_opcode *op,
+		  unsigned long mach, unsigned int *uimm)
 {
-  { 0x0031307a, 0x00000000 }, /* rdctl  et,estatus */
-  { 0xc600004c, 0x00000000 }, /* andi   et,et,1 */
-  { 0xc0000026, 0x003fffc0 }, /* beq    et,zero, <software_exception> */
-  { 0x0031313a, 0x00000000 }, /* rdctl  et,ipending */
-  { 0xc0000026, 0x003fffc0 }  /* beq    et,zero, <software_exception> */
-};
+  if (op->match == MATCH_R1_JMPI)
+    {
+      *uimm = GET_IW_J_IMM26 (insn) << 2;
+      return 1;
+    }
+  return 0;
+}
+
+/* Match and disassemble a direct call instruction, with an
+   unsigned operand.  Returns true on success, and fills in the operand
+   pointer.  */
 
+static int
+nios2_match_calli (uint32_t insn, const struct nios2_opcode *op,
+		   unsigned long mach, unsigned int *uimm)
+{
+  if (op->match == MATCH_R1_CALL)
+    {
+      *uimm = GET_IW_J_IMM26 (insn) << 2;
+      return 1;
+    }
+  return 0;
+}
 
-/* Attempt to match SEQUENCE, which is COUNT insns long, at START_PC.  */
+/* Match and disassemble an indirect jump instruction, with a
+   (possibly implicit) register operand.  Returns true on success, and fills
+   in the operand pointer.  */
 
 static int
-nios2_match_sequence (struct gdbarch *gdbarch, CORE_ADDR start_pc,
-		      const wild_insn *sequence, int count)
+nios2_match_jmpr (uint32_t insn, const struct nios2_opcode *op,
+		  unsigned long mach, int *ra)
 {
-  CORE_ADDR pc = start_pc;
-  int i;
+  switch (op->match)
+    {
+    case MATCH_R1_JMP:
+      *ra = GET_IW_I_A (insn);
+      return 1;
+    case MATCH_R1_RET:
+      *ra = NIOS2_RA_REGNUM;
+      return 1;
+    case MATCH_R1_ERET:
+      *ra = NIOS2_EA_REGNUM;
+      return 1;
+    case MATCH_R1_BRET:
+      *ra = NIOS2_BA_REGNUM;
+      return 1;
+    default:
+      return 0;
+    }
+}
+
+/* Match and disassemble an indirect call instruction, with a register
+   operand.  Returns true on success, and fills in the operand pointer.  */
+
+static int
+nios2_match_callr (uint32_t insn, const struct nios2_opcode *op,
+		   unsigned long mach, int *ra)
+{
+  if (op->match == MATCH_R1_CALLR)
+    {
+      *ra = GET_IW_I_A (insn);
+      return 1;
+    }
+  return 0;
+}
+
+/* Match and disassemble a break instruction, with an unsigned operand.
+   Returns true on success, and fills in the operand pointer.  */
+
+static int
+nios2_match_break (uint32_t insn, const struct nios2_opcode *op,
+		  unsigned long mach, unsigned int *uimm)
+{
+  if (op->match == MATCH_R1_BREAK)
+    {
+      *uimm = GET_IW_R_IMM5 (insn);
+      return 1;
+    }
+  return 0;
+}
+
+/* Match and disassemble a trap instruction, with an unsigned operand.
+   Returns true on success, and fills in the operand pointer.  */
+
+static int
+nios2_match_trap (uint32_t insn, const struct nios2_opcode *op,
+		  unsigned long mach, unsigned int *uimm)
+{
+  if (op->match == MATCH_R1_TRAP)
+    {
+      *uimm = GET_IW_R_IMM5 (insn);
+      return 1;
+    }
+  return 0;
+}
+
+/* Helper function to identify when we're in a function epilogue;
+   that is, the part of the function from the point at which the
+   stack adjustments are made, to the return or sibcall.
+   Note that we may have several stack adjustment instructions, and
+   this function needs to test whether the stack teardown has already
+   started before current_pc, not whether it has completed.  */
+
+static int
+nios2_in_epilogue_p (struct gdbarch *gdbarch,
+		     CORE_ADDR current_pc,
+		     CORE_ADDR start_pc)
+{
+  unsigned long mach = gdbarch_bfd_arch_info (gdbarch)->mach;
+  /* Maximum number of possibly-epilogue instructions to check.
+     Note that this number should not be too large, else we can
+     potentially end up iterating through unmapped memory.  */
+  int ninsns, max_insns = 5;
   unsigned int insn;
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  const struct nios2_opcode *op = NULL;
+  unsigned int uimm;
+  int imm;
+  int ra, rb, rc;
+  enum branch_condition cond;
+  CORE_ADDR pc;
+
+  /* There has to be a previous instruction in the function.  */
+  if (current_pc <= start_pc)
+    return 0;
 
-  for (i = 0 ; i < count ; i++)
+  /* Find the previous instruction before current_pc.
+     For the moment we will assume that all instructions are the
+     same size here.  */
+  pc = current_pc - NIOS2_OPCODE_SIZE;
+
+  /* Beginning with the previous instruction we just located, check whether
+     we are in a sequence of at least one stack adjustment instruction.
+     Possible instructions here include:
+	 ADDI sp, sp, n
+	 ADD sp, sp, rn
+	 LDW sp, n(sp)  */
+  for (ninsns = 0; ninsns < max_insns; ninsns++)
     {
-      insn = read_memory_unsigned_integer (pc, NIOS2_OPCODE_SIZE, byte_order);
-      if ((insn & ~sequence[i].mask) != sequence[i].insn)
+      int ok = 0;
+
+      /* Fetch the insn at pc.  */
+      op = nios2_fetch_insn (gdbarch, pc, &insn);
+      if (op == NULL)
 	return 0;
+      pc += op->size;
 
-      pc += NIOS2_OPCODE_SIZE;
+      /* Was it a stack adjustment?  */
+      if (nios2_match_addi (insn, op, mach, &ra, &rb, &imm))
+	ok = (rb == NIOS2_SP_REGNUM);
+      else if (nios2_match_add (insn, op, mach, &ra, &rb, &rc))
+	ok = (rc == NIOS2_SP_REGNUM);
+      else if (nios2_match_ldw (insn, op, mach, &ra, &rb, &imm))
+	ok = (rb == NIOS2_SP_REGNUM);
+      if (!ok)
+	break;
     }
 
-  return 1;
+  /* No stack adjustments found.  */
+  if (ninsns == 0)
+    return 0;
+
+  /* We found more stack adjustments than we expect GCC to be generating.
+     Since it looks like a stack unwind might be in progress tell GDB to
+     treat it as such.  */
+  if (ninsns == max_insns)
+    return 1;
+
+  /* The next instruction following the stack adjustments must be a
+     return, jump, or unconditional branch.  */
+  if (nios2_match_jmpr (insn, op, mach, &ra)
+      || nios2_match_jmpi (insn, op, mach, &uimm)
+      || (nios2_match_branch (insn, op, mach, &ra, &rb, &imm, &cond)
+	  && cond == branch_none))
+    return 1;
+
+  return 0;
+}
+
+/* Implement the in_function_epilogue_p gdbarch method.  */
+
+static int
+nios2_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+{
+  CORE_ADDR func_addr;
+
+  if (find_pc_partial_function (pc, NULL, &func_addr, NULL))
+    return nios2_in_epilogue_p (gdbarch, pc, func_addr);
+
+  return 0;
 }
 
 /* Do prologue analysis, returning the PC of the first instruction
@@ -390,46 +677,33 @@ nios2_match_sequence (struct gdbarch *gd
    interested in skipping the prologue.  Otherwise CACHE is filled in
    from the frame information.
 
-   The prologue will consist of the following parts:
-     1) Optional profiling instrumentation.  The old version uses six
-        instructions.  We step over this if there is an exact match.
-	  nextpc r8
-	  mov	 r9, ra
-	  movhi	 r10, %hiadj(.LP2)
-	  addi	 r10, r10, %lo(.LP2)
-	  call	 mcount
-	  mov	 ra, r9
-	The new version uses two or three instructions (the last of
-	these might get merged in with the STW which saves RA to the
-	stack).  We interpret these.
+   The prologue may consist of the following parts:
+     1) Profiling instrumentation.  For non-PIC code it looks like:
 	  mov	 r8, ra
 	  call	 mcount
 	  mov	 ra, r8
 
-     2) Optional interrupt entry decision.  Again, we step over
-        this if there is an exact match.
-	  rdctl  et,estatus
-	  andi   et,et,1
-	  beq    et,zero, <software_exception>
-	  rdctl  et,ipending
-	  beq    et,zero, <software_exception>
-
-     3) A stack adjustment or stack which, which will be one of:
-	  addi   sp, sp, -constant
-	or:
-	  movi   r8, constant
-	  sub    sp, sp, r8
-	or
-	  movhi  r8, constant
-	  addi   r8, r8, constant
-	  sub    sp, sp, r8
-	or
+     2) A stack adjustment and save of R4-R7 for varargs functions.
+        This is typically merged with item 3.
+
+     3) A stack adjustment and save of the callee-saved registers;
+	typically an explicit SP decrement and individual register
+	saves.
+
+        There may also be a stack switch here in an exception handler
+	in place of a stack adjustment.  It looks like:
 	  movhi  rx, %hiadj(newstack)
 	  addhi  rx, rx, %lo(newstack)
 	  stw    sp, constant(rx)
 	  mov    sp, rx
 
-     4) An optional stack check, which can take either of these forms:
+     5) A frame pointer save, which can be either a MOV or ADDI.
+
+     6) A further stack pointer adjustment.  This is normally included
+        adjustment in step 4 unless the total adjustment is too large
+	to be done in one step.
+
+     7) A stack overflow check, which can take either of these forms:
 	  bgeu   sp, rx, +8
 	  break  3
 	or
@@ -437,32 +711,18 @@ nios2_match_sequence (struct gdbarch *gd
 	  ...
 	.Lstack_overflow:
 	  break  3
+        If present, this is inserted after the stack pointer adjustments
+	for steps 3, 4, and 6.
 
-     5) Saving any registers which need to be saved.  These will
-        normally just be stored onto the stack:
-	  stw    rx, constant(sp)
-	but in the large frame case will use r8 as an offset back
-	to the cfa:
-	  add    r8, r8, sp
-	  stw    rx, -constant(r8)
-
-	Saving control registers looks slightly different:
-	  rdctl  rx, ctlN
-	  stw    rx, constant(sp)
-
-     6) An optional FP setup, either if the user has requested a
-        frame pointer or if the function calls alloca.
-        This is always:
-	  mov    fp, sp
-
-    The prologue instructions may be interleaved, and the register
-    saves and FP setup can occur in either order.
+    The prologue instructions may be combined or interleaved with other
+    instructions.
 
     To cope with all this variability we decode all the instructions
-    from the start of the prologue until we hit a branch, call or
-    return.  For each of the instructions mentioned in 3, 4 and 5 we
-    handle the limited cases of stores to the stack and operations
-    on constant values.  */
+    from the start of the prologue until we hit an instruction that
+    cannot possibly be a prologue instruction, such as a branch, call,
+    return, or epilogue instruction.  The prologue is considered to end
+    at the last instruction that can definitely be considered a
+    prologue instruction.  */
 
 static CORE_ADDR
 nios2_analyze_prologue (struct gdbarch *gdbarch, const CORE_ADDR start_pc,
@@ -470,12 +730,13 @@ nios2_analyze_prologue (struct gdbarch *
 			struct nios2_unwind_cache *cache,
 			struct frame_info *this_frame)
 {
-  /* Maximum lines of prologue to check.
+  /* Maximum number of possibly-prologue instructions to check.
      Note that this number should not be too large, else we can
      potentially end up iterating through unmapped memory.  */
-  CORE_ADDR limit_pc = start_pc + 200;
+  int ninsns, max_insns = 50;
   int regno;
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  unsigned long mach = gdbarch_bfd_arch_info (gdbarch)->mach;
 
   /* Does the frame set up the FP register?  */
   int base_reg = 0;
@@ -496,9 +757,7 @@ nios2_analyze_prologue (struct gdbarch *
      functions which switch stacks?  */
   CORE_ADDR frame_high;
 
-  /* Is this the end of the prologue?  */
-  int within_prologue = 1;
-
+  /* The last definitely-prologue instruction seen.  */
   CORE_ADDR prologue_end;
 
   /* Is this the innermost function?  */
@@ -513,31 +772,18 @@ nios2_analyze_prologue (struct gdbarch *
   /* Set up the default values of the registers.  */
   nios2_setup_default (cache);
 
-  /* If the first few instructions are the profile entry, then skip
-     over them.  Newer versions of the compiler use more efficient
-     profiling code.  */
-  if (nios2_match_sequence (gdbarch, pc, profiler_insn,
-			    ARRAY_SIZE (profiler_insn)))
-    pc += ARRAY_SIZE (profiler_insn) * NIOS2_OPCODE_SIZE;
-
-  /* If the first few instructions are an interrupt entry, then skip
-     over them too.  */
-  if (nios2_match_sequence (gdbarch, pc, irqentry_insn,
-			    ARRAY_SIZE (irqentry_insn)))
-    {
-      pc += ARRAY_SIZE (irqentry_insn) * NIOS2_OPCODE_SIZE;
-      exception_handler = 1;
-    }
-
-  prologue_end = start_pc;
-
   /* Find the prologue instructions.  */
-  while (pc < limit_pc && within_prologue)
+  prologue_end = start_pc;
+  for (ninsns = 0; ninsns < max_insns; ninsns++)
     {
       /* Present instruction.  */
       uint32_t insn;
-
-      int prologue_insn = 0;
+      const struct nios2_opcode *op;
+      int ra, rb, rc, imm;
+      unsigned int uimm;
+      unsigned int reglist;
+      int wb, ret;
+      enum branch_condition cond;
 
       if (pc == current_pc)
       {
@@ -551,22 +797,21 @@ nios2_analyze_prologue (struct gdbarch *
 	  fprintf_unfiltered (gdb_stdlog, "*");
       }
 
-      insn = read_memory_unsigned_integer (pc, NIOS2_OPCODE_SIZE, byte_order);
-      pc += NIOS2_OPCODE_SIZE;
+      op = nios2_fetch_insn (gdbarch, pc, &insn);
+
+      /* Unknown opcode?  Stop scanning.  */
+      if (op == NULL)
+	break;
+      pc += op->size;
 
       if (nios2_debug)
 	fprintf_unfiltered (gdb_stdlog, "[%08X]", insn);
 
       /* The following instructions can appear in the prologue.  */
 
-      if ((insn & 0x0001ffff) == 0x0001883a)
+      if (nios2_match_add (insn, op, mach, &ra, &rb, &rc))
 	{
 	  /* ADD   rc, ra, rb  (also used for MOV) */
-
-	  int ra = GET_IW_A (insn);
-	  int rb = GET_IW_B (insn);
-	  int rc = GET_IW_C (insn);
-
 	  if (rc == NIOS2_SP_REGNUM
 	      && rb == 0
 	      && value[ra].reg == cache->reg_saved[NIOS2_SP_REGNUM].basereg)
@@ -597,6 +842,11 @@ nios2_analyze_prologue (struct gdbarch *
 	      cache->reg_saved[NIOS2_SP_REGNUM].addr = -4;
 	    }
 
+	  else if (rc == NIOS2_SP_REGNUM && ra == NIOS2_FP_REGNUM)
+	    /* This is setting SP from FP.  This only happens in the
+	       function epilogue.  */
+	    break;
+
 	  else if (rc != 0)
 	    {
 	      if (value[rb].reg == 0)
@@ -607,18 +857,22 @@ nios2_analyze_prologue (struct gdbarch *
 		value[rc].reg = -1;
 	      value[rc].offset = value[ra].offset + value[rb].offset;
 	    }
-	  prologue_insn = 1;
-	}
 
-      else if ((insn & 0x0001ffff) == 0x0001983a)
+	  /* The add/move is only considered a prologue instruction
+	     if the destination is SP or FP.  */
+	  if (rc == NIOS2_SP_REGNUM || rc == NIOS2_FP_REGNUM)
+	    prologue_end = pc;
+	}
+      
+      else if (nios2_match_sub (insn, op, mach, &ra, &rb, &rc))
 	{
 	  /* SUB   rc, ra, rb */
-
-	  int ra = GET_IW_A (insn);
-	  int rb = GET_IW_B (insn);
-	  int rc = GET_IW_C (insn);
-
-	  if (rc != 0)
+	  if (rc == NIOS2_SP_REGNUM && rb == NIOS2_SP_REGNUM
+	      && value[rc].reg != 0)
+	    /* If we are decrementing the SP by a non-constant amount,
+	       this is alloca, not part of the prologue.  */
+	    break;
+	  else if (rc != 0)
 	    {
 	      if (value[rb].reg == 0)
 		value[rc].reg = value[ra].reg;
@@ -628,185 +882,155 @@ nios2_analyze_prologue (struct gdbarch *
 	    }
 	}
 
-      else if ((insn & 0x0000003f) == 0x00000004)
+      else if (nios2_match_addi (insn, op, mach, &ra, &rb, &imm))
 	{
-	  /* ADDI  rb, ra, immed   (also used for MOVI) */
-	  short immed = GET_IW_IMM16 (insn);
-	  int ra = GET_IW_A (insn);
-	  int rb = GET_IW_B (insn);
-
-	  /* The first stack adjustment is part of the prologue.
-	     Any subsequent stack adjustments are either down to
-	     alloca or the epilogue so stop analysing when we hit
-	     them.  */
+	  /* ADDI    rb, ra, imm */
+
+	  /* A positive stack adjustment has to be part of the epilogue.  */
 	  if (rb == NIOS2_SP_REGNUM
-	      && (value[rb].offset != 0 || value[ra].reg != NIOS2_SP_REGNUM))
+	      && (imm > 0 || value[ra].reg != NIOS2_SP_REGNUM))
+	    break;
+
+	  /* Likewise restoring SP from FP.  */
+	  else if (rb == NIOS2_SP_REGNUM && ra == NIOS2_FP_REGNUM)
 	    break;
 
 	  if (rb != 0)
 	    {
 	      value[rb].reg    = value[ra].reg;
-	      value[rb].offset = value[ra].offset + immed;
+	      value[rb].offset = value[ra].offset + imm;
 	    }
 
-	  prologue_insn = 1;
+	  /* The add is only considered a prologue instruction
+	     if the destination is SP or FP.  */
+	  if (rb == NIOS2_SP_REGNUM || rb == NIOS2_FP_REGNUM)
+	    prologue_end = pc;
 	}
 
-      else if ((insn & 0x0000003f) == 0x00000034)
+      else if (nios2_match_orhi (insn, op, mach, &ra, &rb, &uimm))
 	{
-	  /* ORHI  rb, ra, immed   (also used for MOVHI) */
-	  unsigned int immed = GET_IW_IMM16 (insn);
-	  int ra = GET_IW_A (insn);
-	  int rb = GET_IW_B (insn);
-
+	  /* ORHI  rb, ra, uimm   (also used for MOVHI) */
 	  if (rb != 0)
 	    {
   	      value[rb].reg    = (value[ra].reg == 0) ? 0 : -1;
-	      value[rb].offset = value[ra].offset | (immed << 16);
+	      value[rb].offset = value[ra].offset | (uimm << 16);
 	    }
 	}
 
-      else if ((insn & IW_OP_MASK) == OP_STW
-	       || (insn & IW_OP_MASK) == OP_STWIO)
+      else if (nios2_match_stw (insn, op, mach, &ra, &rb, &imm))
         {
-	  /* STW rb, immediate(ra) */
-
-	  short immed16 = GET_IW_IMM16 (insn);
-	  int ra = GET_IW_A (insn);
-	  int rb = GET_IW_B (insn);
+	  /* STW rb, imm(ra) */
 
-	  /* Are we storing the original value of a register?
+	  /* Are we storing the original value of a register to the stack?
 	     For exception handlers the value of EA-4 (return
 	     address from interrupts etc) is sometimes stored.  */
 	  int orig = value[rb].reg;
 	  if (orig > 0
 	      && (value[rb].offset == 0
-		  || (orig == NIOS2_EA_REGNUM && value[rb].offset == -4)))
-	    {
-	      /* We are most interested in stores to the stack, but
-		 also take note of stores to other places as they
-		 might be useful later.  */
-	      if ((value[ra].reg == NIOS2_SP_REGNUM
+		  || (orig == NIOS2_EA_REGNUM && value[rb].offset == -4))
+	      && ((value[ra].reg == NIOS2_SP_REGNUM
 		   && cache->reg_saved[orig].basereg != NIOS2_SP_REGNUM)
-		  || cache->reg_saved[orig].basereg == -1)
+		  || cache->reg_saved[orig].basereg == -1))
+	    {
+	      if (pc < current_pc)
 		{
-		  if (pc < current_pc)
-		    {
-		      /* Save off callee saved registers.  */
-		      cache->reg_saved[orig].basereg = value[ra].reg;
-		      cache->reg_saved[orig].addr
-			= value[ra].offset + GET_IW_IMM16 (insn);
-		    }
-
-		  prologue_insn = 1;
-
-		  if (orig == NIOS2_EA_REGNUM || orig == NIOS2_ESTATUS_REGNUM)
-		    exception_handler = 1;
+		  /* Save off callee saved registers.  */
+		  cache->reg_saved[orig].basereg = value[ra].reg;
+		  cache->reg_saved[orig].addr = value[ra].offset + imm;
 		}
+	      
+	      prologue_end = pc;
+	      
+	      if (orig == NIOS2_EA_REGNUM || orig == NIOS2_ESTATUS_REGNUM)
+		exception_handler = 1;
 	    }
 	  else
-	    /* Non-stack memory writes are not part of the
-	       prologue.  */
-	    within_prologue = 0;
+	    /* Non-stack memory writes cannot appear in the prologue.  */
+	    break;
         }
 
-      else if ((insn & 0xffc1f83f) == 0x0001303a)
+      else if (nios2_match_rdctl (insn, op, mach, &ra, &rc))
 	{
-	  /* RDCTL rC, ctlN */
-	  int rc = GET_IW_C (insn);
-	  int n = GET_IW_CONTROL_REGNUM (insn);
-
+	  /* RDCTL rC, ctlN
+	     This can appear in exception handlers in combination with
+	     a subsequent save to the stack frame.  */
 	  if (rc != 0)
 	    {
-	      value[rc].reg    = NIOS2_STATUS_REGNUM + n;
+	      value[rc].reg    = NIOS2_STATUS_REGNUM + ra;
 	      value[rc].offset = 0;
 	    }
-
-	  prologue_insn = 1;
         }
 
-      else if ((insn & 0x0000003f) == 0
-	       && value[8].reg == NIOS2_RA_REGNUM
-	       && value[8].offset == 0
-	       && value[NIOS2_SP_REGNUM].reg == NIOS2_SP_REGNUM
-	       && value[NIOS2_SP_REGNUM].offset == 0)
+      else if (nios2_match_calli (insn, op, mach, &uimm))
 	{
-	  /* A CALL instruction.  This is treated as a call to mcount
-	     if ra has been stored into r8 beforehand and if it's
-	     before the stack adjust.
-	     Note mcount corrupts r2-r3, r9-r15 & ra.  */
-	  for (i = 2 ; i <= 3 ; i++)
-	    value[i].reg = -1;
-	  for (i = 9 ; i <= 15 ; i++)
-	    value[i].reg = -1;
-	  value[NIOS2_RA_REGNUM].reg = -1;
-
-	  prologue_insn = 1;
-	}
+	  if (value[8].reg == NIOS2_RA_REGNUM
+	      && value[8].offset == 0
+	      && value[NIOS2_SP_REGNUM].reg == NIOS2_SP_REGNUM
+	      && value[NIOS2_SP_REGNUM].offset == 0)
+	    {
+	      /* A CALL instruction.  This is treated as a call to mcount
+		 if ra has been stored into r8 beforehand and if it's
+		 before the stack adjust.
+		 Note mcount corrupts r2-r3, r9-r15 & ra.  */
+	      for (i = 2 ; i <= 3 ; i++)
+		value[i].reg = -1;
+	      for (i = 9 ; i <= 15 ; i++)
+		value[i].reg = -1;
+	      value[NIOS2_RA_REGNUM].reg = -1;
 
-      else if ((insn & 0xf83fffff) == 0xd800012e)
-	{
-	   /* BGEU sp, rx, +8
-	      BREAK 3
-	      This instruction sequence is used in stack checking;
-	      we can ignore it.  */
-	  unsigned int next_insn
-	    = read_memory_unsigned_integer (pc, NIOS2_OPCODE_SIZE, byte_order);
+	      prologue_end = pc;
+	    }
 
-	  if (next_insn != 0x003da0fa)
-	    within_prologue = 0;
+	  /* Other calls are not part of the prologue.  */
 	  else
-	    pc += NIOS2_OPCODE_SIZE;
-	}
-
-      else if ((insn & 0xf800003f) == 0xd8000036)
-	{
-	   /* BLTU sp, rx, .Lstackoverflow
-	      If the location branched to holds a BREAK 3 instruction
-	      then this is also stack overflow detection.  We can
-	      ignore it.  */
-	  CORE_ADDR target_pc = pc + ((insn & 0x3fffc0) >> 6);
-	  unsigned int target_insn
-	    = read_memory_unsigned_integer (target_pc, NIOS2_OPCODE_SIZE,
-					    byte_order);
-
-	  if (target_insn != 0x003da0fa)
-	    within_prologue = 0;
+	    break;
 	}
 
-      /* Any other instructions are allowed to be moved up into the
-	 prologue.  If we reach a branch, call or return then the
-	 prologue is considered over.  We also consider a second stack
-	 adjustment as terminating the prologue (see above).  */
-      else
+      else if (nios2_match_branch (insn, op, mach, &ra, &rb, &imm, &cond))
 	{
-	  switch (GET_IW_OP (insn))
+	  /* Branches not involving a stack overflow check aren't part of
+	     the prologue.  */
+	  if (ra != NIOS2_SP_REGNUM)
+	    break;
+	  else if (cond == branch_geu)
+	    {
+	      /* BGEU sp, rx, +8
+		 BREAK 3
+		 This instruction sequence is used in stack checking;
+		 we can ignore it.  */
+	      unsigned int next_insn;
+	      const struct nios2_opcode *next_op
+		= nios2_fetch_insn (gdbarch, pc, &next_insn);
+	      if (next_op != NULL
+		  && nios2_match_break (next_insn, op, mach, &uimm))
+		pc += next_op->size;
+	      else
+		break;
+	    }
+	  else if (cond == branch_ltu)
 	    {
-	    case OP_BEQ:
-	    case OP_BGE:
-	    case OP_BGEU:
-	    case OP_BLT:
-	    case OP_BLTU:
-	    case OP_BNE:
-	    case OP_BR:
-	    case OP_CALL:
-	      within_prologue = 0;
-	      break;
-	    case OP_OPX:
-	      if (GET_IW_OPX (insn) == OPX_RET
-		  || GET_IW_OPX (insn) == OPX_ERET
-		  || GET_IW_OPX (insn) == OPX_BRET
-		  || GET_IW_OPX (insn) == OPX_CALLR
-		  || GET_IW_OPX (insn) == OPX_JMP)
-		within_prologue = 0;
-	      break;
-	    default:
-	      break;
+	      /* BLTU sp, rx, .Lstackoverflow
+		 If the location branched to holds a BREAK 3 instruction
+		 then this is also stack overflow detection.  */
+	      unsigned int next_insn;
+	      const struct nios2_opcode *next_op
+		= nios2_fetch_insn (gdbarch, pc + imm, &next_insn);
+	      if (next_op != NULL
+		  && nios2_match_break (next_insn, op, mach, &uimm))
+		;
+	      else
+		break;
 	    }
+	  else
+	    break;
 	}
 
-      if (prologue_insn)
-	prologue_end = pc;
+      /* All other calls or jumps (including returns) terminate 
+	 the prologue.  */
+      else if (nios2_match_callr (insn, op, mach, &ra)
+	       || nios2_match_jmpr (insn, op, mach, &ra)
+	       || nios2_match_jmpi (insn, op, mach, &uimm))
+	break;
     }
 
   /* If THIS_FRAME is NULL, we are being called from skip_prologue
@@ -944,7 +1168,6 @@ nios2_analyze_prologue (struct gdbarch *
 static CORE_ADDR
 nios2_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
 {
-  CORE_ADDR limit_pc;
   CORE_ADDR func_addr;
 
   struct nios2_unwind_cache cache;
@@ -972,21 +1195,19 @@ static const gdb_byte*
 nios2_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *bp_addr,
 			  int *bp_size)
 {
-  /* break encoding: 31->27  26->22  21->17  16->11 10->6 5->0 */
-  /*                 00000   00000   0x1d    0x2d   11111 0x3a */
-  /*                 00000   00000   11101   101101 11111 111010 */
-  /* In bytes:       00000000 00111011 01101111 11111010 */
-  /*                 0x0       0x3b    0x6f     0xfa */
-  static const gdb_byte breakpoint_le[] = {0xfa, 0x6f, 0x3b, 0x0};
-  static const gdb_byte breakpoint_be[] = {0x0, 0x3b, 0x6f, 0xfa};
-
   enum bfd_endian byte_order_for_code = gdbarch_byte_order_for_code (gdbarch);
+  unsigned long mach = gdbarch_bfd_arch_info (gdbarch)->mach;
 
-  *bp_size = 4;
-  if (gdbarch_byte_order_for_code (gdbarch) == BFD_ENDIAN_BIG)
-    return breakpoint_be;
+  /* R1 break encoding:
+     ((0x1e << 17) | (0x34 << 11) | (0x1f << 6) | (0x3a << 0))
+     0x003da7fa */
+  static const gdb_byte r1_breakpoint_le[] = {0xfa, 0xa7, 0x3d, 0x0};
+  static const gdb_byte r1_breakpoint_be[] = {0x0, 0x3d, 0xa7, 0xfa};
+  *bp_size = NIOS2_OPCODE_SIZE;
+  if (byte_order_for_code == BFD_ENDIAN_BIG)
+    return r1_breakpoint_be;
   else
-    return breakpoint_le;
+    return r1_breakpoint_le;
 }
 
 /* Implement the print_insn gdbarch method.  */
@@ -1342,15 +1563,7 @@ static const struct frame_unwind nios2_s
   nios2_stub_frame_sniffer
 };
 
-/* Helper function to read an instruction at PC.  */
 
-static unsigned long
-nios2_fetch_instruction (struct gdbarch *gdbarch, CORE_ADDR pc)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-
-  return read_memory_unsigned_integer (pc, NIOS2_OPCODE_SIZE, byte_order);
-}
 
 /* Determine where to set a single step breakpoint while considering
    branch prediction.  */
@@ -1360,88 +1573,79 @@ nios2_get_next_pc (struct frame_info *fr
 {
   struct gdbarch *gdbarch = get_frame_arch (frame);
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  unsigned long inst;
-  int op;
-  int imm16;
+  unsigned long mach = gdbarch_bfd_arch_info (gdbarch)->mach;
+  unsigned int insn;
+  const struct nios2_opcode *op = nios2_fetch_insn (gdbarch, pc, &insn);
   int ra;
   int rb;
-  int ras;
-  int rbs;
-  unsigned int rau;
-  unsigned int rbu;
-
-  inst = nios2_fetch_instruction (gdbarch, pc);
-  pc += NIOS2_OPCODE_SIZE;
-
-  imm16 = (short) GET_IW_IMM16 (inst);
-  ra = GET_IW_A (inst);
-  rb = GET_IW_B (inst);
-  ras = get_frame_register_signed (frame, ra);
-  rbs = get_frame_register_signed (frame, rb);
-  rau = get_frame_register_unsigned (frame, ra);
-  rbu = get_frame_register_unsigned (frame, rb);
-
-  switch (GET_IW_OP (inst))
-    {
-    case OP_BEQ:
-      if (ras == rbs)
-	pc += imm16;
-      break;
-
-    case OP_BGE:
-      if (ras >= rbs)
-        pc += imm16;
-      break;
-
-    case OP_BGEU:
-      if (rau >= rbu)
-        pc += imm16;
-      break;
-
-    case OP_BLT:
-      if (ras < rbs)
-        pc += imm16;
-      break;
-
-    case OP_BLTU:
-      if (rau < rbu)
-        pc += imm16;
-      break;
-
-    case OP_BNE:
-      if (ras != rbs)
-        pc += imm16;
-      break;
-
-    case OP_BR:
-      pc += imm16;
-      break;
-
-    case OP_JMPI:
-    case OP_CALL:
-      pc = (pc & 0xf0000000) | (GET_IW_IMM26 (inst) << 2);
-      break;
+  int imm;
+  unsigned int uimm;
+  int wb, ret;
+  enum branch_condition cond;
+
+  /* Do something stupid if we can't disassemble the insn at pc.  */
+  if (op == NULL)
+    return pc + NIOS2_OPCODE_SIZE;
+    
+  if (nios2_match_branch (insn, op, mach, &ra, &rb, &imm, &cond))
+    {
+      int ras = get_frame_register_signed (frame, ra);
+      int rbs = get_frame_register_signed (frame, rb);
+      unsigned int rau = get_frame_register_unsigned (frame, ra);
+      unsigned int rbu = get_frame_register_unsigned (frame, rb);
 
-    case OP_OPX:
-      switch (GET_IW_OPX (inst))
+      pc += op->size;
+      switch (cond)
 	{
-	case OPX_JMP:
-	case OPX_CALLR:
-	case OPX_RET:
-	  pc = ras;
+	case branch_none:
+	  pc += imm;
+	  break;
+	case branch_eq:
+	  if (ras == rbs)
+	    pc += imm;
+	  break;
+	case branch_ne:
+	  if (ras != rbs)
+	    pc += imm;
+	  break;
+	case branch_ge:
+	  if (ras >= rbs)
+	    pc += imm;
+	  break;
+	case branch_geu:
+	  if (rau >= rbu)
+	    pc += imm;
+	  break;
+	case branch_lt:
+	  if (ras < rbs)
+	    pc += imm;
+	  break;
+	case branch_ltu:
+	  if (rau < rbu)
+	    pc += imm;
 	  break;
-
-	case OPX_TRAP:
-	  if (tdep->syscall_next_pc != NULL)
-	    return tdep->syscall_next_pc (frame);
-
 	default:
 	  break;
 	}
-      break;
-    default:
-      break;
     }
+
+  else if (nios2_match_jmpi (insn, op, mach, &uimm)
+	   || nios2_match_calli (insn, op, mach, &uimm))
+    pc = (pc & 0xf0000000) | uimm;
+
+  else if (nios2_match_jmpr (insn, op, mach, &ra)
+	   || nios2_match_callr (insn, op, mach, &ra))
+    pc = get_frame_register_unsigned (frame, ra);
+
+  else if (nios2_match_trap (insn, op, mach, &uimm))
+    {
+      if (tdep->syscall_next_pc != NULL)
+	return tdep->syscall_next_pc (frame);
+    }
+
+  else
+    pc += op->size;
+
   return pc;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nios2-tdep.h ./gdb/nios2-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nios2-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nios2-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target-dependent header for the Nios II architecture, for GDB.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Mentor Graphics, Inc.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nto-procfs.c ./gdb/nto-procfs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nto-procfs.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nto-procfs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Machine independent support for QNX Neutrino /proc (process file system)
    for GDB.  Written by Colin Burgess at QNX Software Systems Limited.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by QNX Software Systems Ltd.
 
@@ -30,9 +30,6 @@
 #include <sys/syspage.h>
 #include <dirent.h>
 #include <sys/netmgr.h>
-
-#include "exceptions.h"
-#include <string.h>
 #include "gdbcore.h"
 #include "inferior.h"
 #include "target.h"
@@ -106,7 +103,7 @@ procfs_is_nto_target (bfd *abfd)
    will be a QNX node string, eg: "/net/some_node".  If arg is not a
    valid QNX node, we will default to local.  */
 static void
-procfs_open_1 (struct target_ops *ops, char *arg, int from_tty)
+procfs_open_1 (struct target_ops *ops, const char *arg, int from_tty)
 {
   char *nodestr;
   char *endstr;
@@ -310,7 +307,7 @@ update_thread_private_data (struct threa
 }
 
 static void
-procfs_find_new_threads (struct target_ops *ops)
+procfs_update_thread_list (struct target_ops *ops)
 {
   procfs_status status;
   pid_t pid;
@@ -321,6 +318,8 @@ procfs_find_new_threads (struct target_o
   if (ctl_fd == -1)
     return;
 
+  prune_threads ();
+
   pid = ptid_get_pid (inferior_ptid);
 
   status.tid = 1;
@@ -634,7 +633,7 @@ procfs_attach (struct target_ops *ops, c
   if (!target_is_pushed (ops))
     push_target (ops);
 
-  procfs_find_new_threads (ops);
+  procfs_update_thread_list (ops);
 }
 
 static void
@@ -929,6 +928,7 @@ static int
 procfs_insert_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch,
 			  struct bp_target_info *bp_tgt)
 {
+  bp_tgt->placed_address = bp_tgt->reqstd_address;
   return procfs_breakpoint (bp_tgt->placed_address, _DEBUG_BREAK_EXEC, 0);
 }
 
@@ -943,6 +943,7 @@ static int
 procfs_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
 			     struct bp_target_info *bp_tgt)
 {
+  bp_tgt->placed_address = bp_tgt->reqstd_address;
   return procfs_breakpoint (bp_tgt->placed_address,
 			    _DEBUG_BREAK_EXEC | _DEBUG_BREAK_HW, 0);
 }
@@ -1196,7 +1197,7 @@ procfs_create_inferior (struct target_op
     close (fds[2]);
 
   inferior_ptid = do_attach (pid_to_ptid (pid));
-  procfs_find_new_threads (ops);
+  procfs_update_thread_list (ops);
 
   inf = current_inferior ();
   inferior_appeared (inf, pid);
@@ -1395,7 +1396,7 @@ static struct target_ops *nto_native_ops
 /* to_open implementation for "target procfs".  */
 
 static void
-procfs_open (char *arg, int from_tty)
+procfs_open (const char *arg, int from_tty)
 {
   procfs_open_1 (&nto_procfs_ops, arg, from_tty);
 }
@@ -1403,7 +1404,7 @@ procfs_open (char *arg, int from_tty)
 /* to_open implementation for "target native".  */
 
 static void
-procfs_native_open (char *arg, int from_tty)
+procfs_native_open (const char *arg, int from_tty)
 {
   procfs_open_1 (nto_native_ops, arg, from_tty);
 }
@@ -1441,7 +1442,7 @@ init_procfs_targets (void)
   t->to_mourn_inferior = procfs_mourn_inferior;
   t->to_pass_signals = procfs_pass_signals;
   t->to_thread_alive = procfs_thread_alive;
-  t->to_find_new_threads = procfs_find_new_threads;
+  t->to_update_thread_list = procfs_update_thread_list;
   t->to_pid_to_str = procfs_pid_to_str;
   t->to_stop = procfs_stop;
   t->to_have_continuable_watchpoint = 1;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nto-tdep.c ./gdb/nto-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nto-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nto-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* nto-tdep.c - general QNX Neutrino target functionality.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by QNX Software Systems Ltd.
 
@@ -21,7 +21,6 @@
 
 #include "defs.h"
 #include <sys/stat.h>
-#include <string.h>
 #include "nto-tdep.h"
 #include "top.h"
 #include "inferior.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nto-tdep.h ./gdb/nto-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/nto-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/nto-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* nto-tdep.h - QNX Neutrino target header.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by QNX Software Systems Ltd.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/objc-lang.c ./gdb/objc-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/objc-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/objc-lang.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Objective-C language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Apple Computer, Inc.
    Written by Michael Snyder.
@@ -29,12 +29,10 @@
 #include "varobj.h"
 #include "c-lang.h"
 #include "objc-lang.h"
-#include "exceptions.h"
 #include "complaints.h"
 #include "value.h"
 #include "symfile.h"
 #include "objfiles.h"
-#include <string.h>		/* for strchr */
 #include "target.h"		/* for target_has_execution */
 #include "gdbcore.h"
 #include "gdbcmd.h"
@@ -44,7 +42,6 @@
 #include "block.h"
 #include "infcall.h"
 #include "valprint.h"
-#include "gdb_assert.h"
 #include "cli/cli-utils.h"
 
 #include <ctype.h>
@@ -392,6 +389,8 @@ const struct language_defn objc_language
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
@@ -1474,11 +1473,6 @@ find_implementation_from_class (struct g
 	      struct objc_method meth_str;
 
 	      read_objc_methlist_method (gdbarch, mlist, i, &meth_str);
-#if 0
-	      fprintf (stderr, 
-		       "checking method 0x%lx against selector 0x%lx\n", 
-		       meth_str.name, sel);
-#endif
 
 	      if (meth_str.name == sel) 
 		/* FIXME: hppa arch was doing a pointer dereference
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/objc-lang.h ./gdb/objc-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/objc-lang.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/objc-lang.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Objective-C language support definitions for GDB, the GNU debugger.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    Contributed by Apple Computer, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/objfiles.c ./gdb/objfiles.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/objfiles.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/objfiles.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB routines for manipulating objfiles.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support, using pieces from other GDB modules.
 
@@ -33,12 +33,10 @@
 #include "expression.h"
 #include "parser-defs.h"
 
-#include "gdb_assert.h"
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 #include "gdb_obstack.h"
-#include <string.h>
 #include "hashtab.h"
 
 #include "breakpoint.h"
@@ -316,10 +314,6 @@ allocate_objfile (bfd *abfd, const char 
      that any data that is reference is saved in the per-objfile data
      region.  */
 
-  /* Update the per-objfile information that comes from the bfd, ensuring
-     that any data that is reference is saved in the per-objfile data
-     region.  */
-
   objfile->obfd = abfd;
   gdb_bfd_ref (abfd);
   if (abfd != NULL)
@@ -368,8 +362,9 @@ allocate_objfile (bfd *abfd, const char 
 }
 
 /* Retrieve the gdbarch associated with OBJFILE.  */
+
 struct gdbarch *
-get_objfile_arch (struct objfile *objfile)
+get_objfile_arch (const struct objfile *objfile)
 {
   return objfile->per_bfd->gdbarch;
 }
@@ -642,7 +637,7 @@ free_objfile (struct objfile *objfile)
   {
     struct symtab_and_line cursal = get_current_source_symtab_and_line ();
 
-    if (cursal.symtab && cursal.symtab->objfile == objfile)
+    if (cursal.symtab && SYMTAB_OBJFILE (cursal.symtab) == objfile)
       clear_current_source_symtab_and_line ();
   }
 
@@ -741,30 +736,33 @@ objfile_relocate1 (struct objfile *objfi
 
   /* OK, get all the symtabs.  */
   {
+    struct compunit_symtab *cust;
     struct symtab *s;
 
-    ALL_OBJFILE_SYMTABS (objfile, s)
+    ALL_OBJFILE_FILETABS (objfile, cust, s)
     {
       struct linetable *l;
-      struct blockvector *bv;
       int i;
 
       /* First the line table.  */
-      l = LINETABLE (s);
+      l = SYMTAB_LINETABLE (s);
       if (l)
 	{
 	  for (i = 0; i < l->nitems; ++i)
-	    l->item[i].pc += ANOFFSET (delta, s->block_line_section);
+	    l->item[i].pc += ANOFFSET (delta,
+				       COMPUNIT_BLOCK_LINE_SECTION
+					 (cust));
 	}
+    }
 
-      /* Don't relocate a shared blockvector more than once.  */
-      if (!s->primary)
-	continue;
+    ALL_OBJFILE_COMPUNITS (objfile, cust)
+    {
+      const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (cust);
+      int block_line_section = COMPUNIT_BLOCK_LINE_SECTION (cust);
 
-      bv = BLOCKVECTOR (s);
       if (BLOCKVECTOR_MAP (bv))
 	addrmap_relocate (BLOCKVECTOR_MAP (bv),
-			  ANOFFSET (delta, s->block_line_section));
+			  ANOFFSET (delta, block_line_section));
 
       for (i = 0; i < BLOCKVECTOR_NBLOCKS (bv); ++i)
 	{
@@ -773,8 +771,8 @@ objfile_relocate1 (struct objfile *objfi
 	  struct dict_iterator iter;
 
 	  b = BLOCKVECTOR_BLOCK (bv, i);
-	  BLOCK_START (b) += ANOFFSET (delta, s->block_line_section);
-	  BLOCK_END (b) += ANOFFSET (delta, s->block_line_section);
+	  BLOCK_START (b) += ANOFFSET (delta, block_line_section);
+	  BLOCK_END (b) += ANOFFSET (delta, block_line_section);
 
 	  /* We only want to iterate over the local symbols, not any
 	     symbols in included symtabs.  */
@@ -940,7 +938,7 @@ objfile_has_partial_symbols (struct objf
 int
 objfile_has_full_symbols (struct objfile *objfile)
 {
-  return objfile->symtabs != NULL;
+  return objfile->compunit_symtabs != NULL;
 }
 
 /* Return non-zero if OBJFILE has full or partial symbols, either directly
@@ -1505,6 +1503,14 @@ objfile_name (const struct objfile *objf
   return objfile->original_name;
 }
 
+/* See objfiles.h.  */
+
+const char *
+objfile_debug_name (const struct objfile *objfile)
+{
+  return lbasename (objfile->original_name);
+}
+
 /* Provide a prototype to silence -Wmissing-prototypes.  */
 extern initialize_file_ftype _initialize_objfiles;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/objfiles.h ./gdb/objfiles.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/objfiles.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/objfiles.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for symbol file management in GDB.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,7 +28,6 @@
 
 struct bcache;
 struct htab;
-struct symtab;
 struct objfile_data;
 
 /* This structure maintains information on a per-objfile basis about the
@@ -286,11 +285,10 @@ struct objfile
 
     struct program_space *pspace;
 
-    /* Each objfile points to a linked list of symtabs derived from this file,
-       one symtab structure for each compilation unit (source file).  Each link
-       in the symtab list contains a backpointer to this objfile.  */
+    /* List of compunits.
+       These are used to do symbol lookups and file/line-number lookups.  */
 
-    struct symtab *symtabs;
+    struct compunit_symtab *compunit_symtabs;
 
     /* Each objfile points to a linked list of partial symtabs derived from
        this file, one partial symtab structure for each compilation unit
@@ -465,7 +463,7 @@ struct objfile
 
 extern struct objfile *allocate_objfile (bfd *, const char *name, int);
 
-extern struct gdbarch *get_objfile_arch (struct objfile *);
+extern struct gdbarch *get_objfile_arch (const struct objfile *);
 
 extern int entry_point_address_query (CORE_ADDR *entry_p);
 
@@ -578,11 +576,6 @@ extern void default_iterate_over_objfile
 #define ALL_PSPACE_OBJFILES(ss, obj)					\
   for ((obj) = ss->objfiles; (obj) != NULL; (obj) = (obj)->next)
 
-#define ALL_PSPACE_OBJFILES_SAFE(ss, obj, nxt)		\
-  for ((obj) = ss->objfiles;			\
-       (obj) != NULL? ((nxt)=(obj)->next,1) :0;	\
-       (obj) = (nxt))
-
 #define ALL_OBJFILES(obj)			    \
   for ((obj) = current_program_space->objfiles; \
        (obj) != NULL;				    \
@@ -595,14 +588,14 @@ extern void default_iterate_over_objfile
 
 /* Traverse all symtabs in one objfile.  */
 
-#define	ALL_OBJFILE_SYMTABS(objfile, s) \
-    for ((s) = (objfile) -> symtabs; (s) != NULL; (s) = (s) -> next)
+#define ALL_OBJFILE_FILETABS(objfile, cu, s) \
+  ALL_OBJFILE_COMPUNITS (objfile, cu) \
+    ALL_COMPUNIT_FILETABS (cu, s)
 
-/* Traverse all primary symtabs in one objfile.  */
+/* Traverse all compunits in one objfile.  */
 
-#define ALL_OBJFILE_PRIMARY_SYMTABS(objfile, s) \
-  ALL_OBJFILE_SYMTABS ((objfile), (s)) \
-    if ((s)->primary)
+#define ALL_OBJFILE_COMPUNITS(objfile, cu) \
+  for ((cu) = (objfile) -> compunit_symtabs; (cu) != NULL; (cu) = (cu) -> next)
 
 /* Traverse all minimal symbols in one objfile.  */
 
@@ -614,25 +607,15 @@ extern void default_iterate_over_objfile
 /* Traverse all symtabs in all objfiles in the current symbol
    space.  */
 
-#define	ALL_SYMTABS(objfile, s) \
-  ALL_OBJFILES (objfile)	 \
-    ALL_OBJFILE_SYMTABS (objfile, s)
-
-#define ALL_PSPACE_SYMTABS(ss, objfile, s)		\
-  ALL_PSPACE_OBJFILES (ss, objfile)			\
-    ALL_OBJFILE_SYMTABS (objfile, s)
+#define ALL_FILETABS(objfile, ps, s)		\
+  ALL_OBJFILES (objfile)			\
+    ALL_OBJFILE_FILETABS (objfile, ps, s)
 
-/* Traverse all symtabs in all objfiles in the current program space,
-   skipping included files (which share a blockvector with their
-   primary symtab).  */
+/* Traverse all compunits in all objfiles in the current program space.  */
 
-#define ALL_PRIMARY_SYMTABS(objfile, s) \
+#define ALL_COMPUNITS(objfile, cu)	\
   ALL_OBJFILES (objfile)		\
-    ALL_OBJFILE_PRIMARY_SYMTABS (objfile, s)
-
-#define ALL_PSPACE_PRIMARY_SYMTABS(pspace, objfile, s)	\
-  ALL_PSPACE_OBJFILES (ss, objfile)			\
-    ALL_OBJFILE_PRIMARY_SYMTABS (objfile, s)
+    ALL_OBJFILE_COMPUNITS (objfile, cu)
 
 /* Traverse all minimal symbols in all objfiles in the current symbol
    space.  */
@@ -718,6 +701,10 @@ void set_objfile_per_bfd (struct objfile
 
 const char *objfile_name (const struct objfile *objfile);
 
+/* Return the name to print for OBJFILE in debugging messages.  */
+
+extern const char *objfile_debug_name (const struct objfile *objfile);
+
 /* Set the objfile's notion of the "main" name and language.  */
 
 extern void set_objfile_main_name (struct objfile *objfile,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/obsd-nat.c ./gdb/obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/obsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/obsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for OpenBSD.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 #include "inferior.h"
 #include "target.h"
 
-#include "gdb_assert.h"
 #include <sys/types.h>
 #include <sys/ptrace.h>
 #include "gdb_wait.h"
@@ -51,11 +50,13 @@ obsd_pid_to_str (struct target_ops *ops,
 }
 
 static void
-obsd_find_new_threads (struct target_ops *ops)
+obsd_update_thread_list (struct target_ops *ops)
 {
   pid_t pid = ptid_get_pid (inferior_ptid);
   struct ptrace_thread_state pts;
 
+  prune_threads ();
+
   if (ptrace (PT_GET_THREAD_FIRST, pid, (caddr_t)&pts, sizeof pts) == -1)
     perror_with_name (("ptrace"));
 
@@ -169,7 +170,7 @@ obsd_add_target (struct target_ops *t)
 {
   /* Override some methods to support threads.  */
   t->to_pid_to_str = obsd_pid_to_str;
-  t->to_find_new_threads = obsd_find_new_threads;
+  t->to_update_thread_list = obsd_update_thread_list;
   t->to_wait = obsd_wait;
   add_target (t);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/obsd-nat.h ./gdb/obsd-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/obsd-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/obsd-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for OpenBSD.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/obsd-tdep.c ./gdb/obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/obsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/obsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/obsd-tdep.h ./gdb/obsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/obsd-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/obsd-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/observer.c ./gdb/observer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/observer.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/observer.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB Notifications to Observers.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/observer.sh ./gdb/observer.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/observer.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/observer.sh	2015-01-20 02:05:39.000000000 +0000
@@ -29,7 +29,7 @@ rm -f ${otmp}
 cat <<EOF >>${otmp}
 /* GDB Notifications to Observers.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/opencl-lang.c ./gdb/opencl-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/opencl-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/opencl-lang.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* OpenCL language support for GDB, the GNU debugger.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    Contributed by Ken Werner <ken.werner@de.ibm.com>.
 
@@ -19,7 +19,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "gdbtypes.h"
 #include "symtab.h"
 #include "expression.h"
@@ -27,7 +26,6 @@
 #include "language.h"
 #include "varobj.h"
 #include "c-lang.h"
-#include "gdb_assert.h"
 
 extern void _initialize_opencl_language (void);
 
@@ -240,58 +238,6 @@ lval_func_write (struct value *v, struct
   value_free_to_mark (mark);
 }
 
-/* Return nonzero if all bits in V within OFFSET and LENGTH are valid.  */
-
-static int
-lval_func_check_validity (const struct value *v, int offset, int length)
-{
-  struct lval_closure *c = (struct lval_closure *) value_computed_closure (v);
-  /* Size of the target type in bits.  */
-  int elsize =
-      TYPE_LENGTH (TYPE_TARGET_TYPE (check_typedef (value_type (c->val)))) * 8;
-  int startrest = offset % elsize;
-  int start = offset / elsize;
-  int endrest = (offset + length) % elsize;
-  int end = (offset + length) / elsize;
-  int i;
-
-  if (endrest)
-    end++;
-
-  if (end > c->n)
-    return 0;
-
-  for (i = start; i < end; i++)
-    {
-      int comp_offset = (i == start) ? startrest : 0;
-      int comp_length = (i == end) ? endrest : elsize;
-
-      if (!value_bits_valid (c->val, c->indices[i] * elsize + comp_offset,
-			     comp_length))
-	return 0;
-    }
-
-  return 1;
-}
-
-/* Return nonzero if any bit in V is valid.  */
-
-static int
-lval_func_check_any_valid (const struct value *v)
-{
-  struct lval_closure *c = (struct lval_closure *) value_computed_closure (v);
-  /* Size of the target type in bits.  */
-  int elsize =
-      TYPE_LENGTH (TYPE_TARGET_TYPE (check_typedef (value_type (c->val)))) * 8;
-  int i;
-
-  for (i = 0; i < c->n; i++)
-    if (value_bits_valid (c->val, c->indices[i] * elsize, elsize))
-      return 1;
-
-  return 0;
-}
-
 /* Return nonzero if bits in V from OFFSET and LENGTH represent a
    synthetic pointer.  */
 
@@ -358,8 +304,6 @@ static const struct lval_funcs opencl_va
   {
     lval_func_read,
     lval_func_write,
-    lval_func_check_validity,
-    lval_func_check_any_valid,
     NULL,	/* indirect */
     NULL,	/* coerce_ref */
     lval_func_check_synthetic_pointer,
@@ -1139,6 +1083,8 @@ const struct language_defn opencl_langua
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/osabi.c ./gdb/osabi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/osabi.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/osabi.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* OS ABI variant handling for GDB.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,9 +19,6 @@
 
 #include "defs.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "osabi.h"
 #include "arch-utils.h"
 #include "gdbcmd.h"
@@ -44,47 +41,71 @@ static const char *gdb_osabi_available_n
 };
 static const char *set_osabi_string;
 
+/* Names associated with each osabi.  */
+
+struct osabi_names
+{
+  /* The "pretty" name.  */
+
+  const char *pretty;
+
+  /* The triplet regexp, or NULL if not known.  */
+
+  const char *regexp;
+};
+
 /* This table matches the indices assigned to enum gdb_osabi.  Keep
    them in sync.  */
-static const char * const gdb_osabi_names[] =
+static const struct osabi_names gdb_osabi_names[] =
 {
-  "none",
+  { "none", NULL },
 
-  "SVR4",
-  "GNU/Hurd",
-  "Solaris",
-  "OSF/1",
-  "GNU/Linux",
-  "FreeBSD a.out",
-  "FreeBSD ELF",
-  "NetBSD a.out",
-  "NetBSD ELF",
-  "OpenBSD ELF",
-  "Windows CE",
-  "DJGPP",
-  "Irix",
-  "HP/UX ELF",
-  "HP/UX SOM",
-  "QNX Neutrino",
-  "Cygwin",
-  "AIX",
-  "DICOS",
-  "Darwin",
-  "Symbian",
-  "OpenVMS",
-  "LynxOS178",
-  "Newlib",
+  { "SVR4", NULL },
+  { "GNU/Hurd", NULL },
+  { "Solaris", NULL },
+  { "GNU/Linux", "linux(-gnu)?" },
+  { "FreeBSD a.out", NULL },
+  { "FreeBSD ELF", NULL },
+  { "NetBSD a.out", NULL },
+  { "NetBSD ELF", NULL },
+  { "OpenBSD ELF", NULL },
+  { "Windows CE", NULL },
+  { "DJGPP", NULL },
+  { "Irix", NULL },
+  { "HP/UX ELF", NULL },
+  { "HP/UX SOM", NULL },
+  { "QNX Neutrino", NULL },
+  { "Cygwin", NULL },
+  { "AIX", NULL },
+  { "DICOS", NULL },
+  { "Darwin", NULL },
+  { "Symbian", NULL },
+  { "OpenVMS", NULL },
+  { "LynxOS178", NULL },
+  { "Newlib", NULL },
+  { "SDE", NULL },
 
-  "<invalid>"
+  { "<invalid>", NULL }
 };
 
 const char *
 gdbarch_osabi_name (enum gdb_osabi osabi)
 {
   if (osabi >= GDB_OSABI_UNKNOWN && osabi < GDB_OSABI_INVALID)
-    return gdb_osabi_names[osabi];
+    return gdb_osabi_names[osabi].pretty;
+
+  return gdb_osabi_names[GDB_OSABI_INVALID].pretty;
+}
+
+/* See osabi.h.  */
+
+const char *
+osabi_triplet_regexp (enum gdb_osabi osabi)
+{
+  if (osabi >= GDB_OSABI_UNKNOWN && osabi < GDB_OSABI_INVALID)
+    return gdb_osabi_names[osabi].regexp;
 
-  return gdb_osabi_names[GDB_OSABI_INVALID];
+  return gdb_osabi_names[GDB_OSABI_INVALID].regexp;
 }
 
 /* Lookup the OS ABI corresponding to the specified target description
@@ -96,7 +117,7 @@ osabi_from_tdesc_string (const char *nam
   int i;
 
   for (i = 0; i < ARRAY_SIZE (gdb_osabi_names); i++)
-    if (strcmp (name, gdb_osabi_names[i]) == 0)
+    if (strcmp (name, gdb_osabi_names[i].pretty) == 0)
       {
 	/* See note above: the name table matches the indices assigned
 	   to enum gdb_osabi.  */
@@ -649,7 +670,7 @@ extern initialize_file_ftype _initialize
 void
 _initialize_gdb_osabi (void)
 {
-  if (strcmp (gdb_osabi_names[GDB_OSABI_INVALID], "<invalid>") != 0)
+  if (strcmp (gdb_osabi_names[GDB_OSABI_INVALID].pretty, "<invalid>") != 0)
     internal_error
       (__FILE__, __LINE__,
        _("_initialize_gdb_osabi: gdb_osabi_names[] is inconsistent"));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/osabi.h ./gdb/osabi.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/osabi.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/osabi.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* OS ABI variant handling for GDB.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    
    This file is part of GDB.
 
@@ -49,6 +49,10 @@ void gdbarch_init_osabi (struct gdbarch_
 /* Return the name of the specified OS ABI.  */
 const char *gdbarch_osabi_name (enum gdb_osabi);
 
+/* Return a regular expression that matches the OS part of a GNU
+   configury triplet for the given OSABI.  */
+const char *osabi_triplet_regexp (enum gdb_osabi osabi);
+
 /* Helper routine for ELF file sniffers.  This looks at ABI tag note
    sections to determine the OS ABI from the note.  It should be called
    via bfd_map_over_sections.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/osdata.c ./gdb/osdata.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/osdata.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/osdata.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Routines for handling XML generic OS data provided by target.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 #include "vec.h"
 #include "xml-support.h"
 #include "osdata.h"
-#include <string.h>
 #include "ui-out.h"
 #include "gdbcmd.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/osdata.h ./gdb/osdata.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/osdata.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/osdata.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Routines for handling XML generic OS data provided by target.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/parse.c ./gdb/parse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/parse.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/parse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Parse expressions for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    Modified from expread.y by the Department of Computer Science at the
    State University of New York at Buffalo, 1991.
@@ -32,7 +32,6 @@
 #include "defs.h"
 #include <ctype.h>
 #include "arch-utils.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "frame.h"
@@ -46,11 +45,9 @@
 #include "symfile.h"		/* for overlay functions */
 #include "inferior.h"
 #include "doublest.h"
-#include "gdb_assert.h"
 #include "block.h"
 #include "source.h"
 #include "objfiles.h"
-#include "exceptions.h"
 #include "user-regs.h"
 
 /* Standard set of definitions for printing, dumping, prefixifying,
@@ -586,7 +583,6 @@ mark_completion_tag (enum type_code tag,
 	      && expout_last_struct == -1);
   gdb_assert (tag == TYPE_CODE_UNION
 	      || tag == TYPE_CODE_STRUCT
-	      || tag == TYPE_CODE_CLASS
 	      || tag == TYPE_CODE_ENUM);
   expout_tag_completion_type = tag;
   expout_completion_name = xmalloc (length + 1);
@@ -1178,7 +1174,8 @@ parse_exp_in_context_1 (const char **str
       struct symtab_and_line cursal = get_current_source_symtab_and_line ();
       if (cursal.symtab)
 	expression_context_block
-	  = BLOCKVECTOR_BLOCK (BLOCKVECTOR (cursal.symtab), STATIC_BLOCK);
+	  = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (cursal.symtab),
+			       STATIC_BLOCK);
       if (expression_context_block)
 	expression_context_pc = BLOCK_START (expression_context_block);
     }
@@ -1813,7 +1810,7 @@ operator_check_standard (struct expressi
 
 	/* Check objfile where the variable itself is placed.
 	   SYMBOL_OBJ_SECTION (symbol) may be NULL.  */
-	if ((*objfile_func) (SYMBOL_SYMTAB (symbol)->objfile, data))
+	if ((*objfile_func) (symbol_objfile (symbol), data))
 	  return 1;
 
 	/* Check objfile where is placed the code touching the variable.  */
@@ -1835,12 +1832,12 @@ operator_check_standard (struct expressi
   return 0;
 }
 
-/* Call OBJFILE_FUNC for any TYPE and OBJFILE found being referenced by EXP.
-   The functions are never called with NULL OBJFILE.  Functions get passed an
-   arbitrary caller supplied DATA pointer.  If any of the functions returns
-   non-zero value then (any other) non-zero value is immediately returned to
-   the caller.  Otherwise zero is returned after iterating through whole EXP.
-   */
+/* Call OBJFILE_FUNC for any objfile found being referenced by EXP.
+   OBJFILE_FUNC is never called with NULL OBJFILE.  OBJFILE_FUNC get
+   passed an arbitrary caller supplied DATA pointer.  If OBJFILE_FUNC
+   returns non-zero value then (any other) non-zero value is immediately
+   returned to the caller.  Otherwise zero is returned after iterating
+   through whole EXP.  */
 
 static int
 exp_iterate (struct expression *exp,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/parser-defs.h ./gdb/parser-defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/parser-defs.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/parser-defs.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Parser definitions for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    Modified from expread.y by the Department of Computer Science at the
    State University of New York at Buffalo.
@@ -67,11 +67,6 @@ extern CORE_ADDR expression_context_pc;
    we've encountered so far.  */
 extern const struct block *innermost_block;
 
-/* The block in which the most recently discovered symbol was found.
-   FIXME: Should be declared along with lookup_symbol in symtab.h; is not
-   related specifically to parsing.  */
-extern const struct block *block_found;
-
 /* Number of arguments seen so far in innermost function call.  */
 extern int arglist_len;
 
@@ -341,14 +336,14 @@ struct exp_descriptor
        the number of subexpressions it takes.  */
     void (*operator_length) (const struct expression*, int, int*, int *);
 
-    /* Call TYPE_FUNC and OBJFILE_FUNC for any TYPE and OBJFILE found being
-       referenced by the single operator of EXP at position POS.  Operator
-       parameters are located at positive (POS + number) offsets in EXP.
-       The functions should never be called with NULL TYPE or NULL OBJFILE.
-       Functions should get passed an arbitrary caller supplied DATA pointer.
-       If any of the functions returns non-zero value then (any other) non-zero
-       value should be immediately returned to the caller.  Otherwise zero
-       should be returned.  */
+    /* Call OBJFILE_FUNC for any objfile found being referenced by the
+       single operator of EXP at position POS.  Operator parameters are
+       located at positive (POS + number) offsets in EXP.  OBJFILE_FUNC
+       should never be called with NULL OBJFILE.  OBJFILE_FUNC should
+       get passed an arbitrary caller supplied DATA pointer.  If it
+       returns non-zero value then (any other) non-zero value should be
+       immediately returned to the caller.  Otherwise zero should be
+       returned.  */
     int (*operator_check) (struct expression *exp, int pos,
 			   int (*objfile_func) (struct objfile *objfile,
 						void *data),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-exp.c ./gdb/p-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-exp.c	2015-01-13 02:06:41.000000000 +0000
+++ ./gdb/p-exp.c	2015-01-20 02:09:34.000000000 +0000
@@ -72,7 +72,6 @@
 
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
@@ -162,7 +161,7 @@ static char *uptok (const char *, int);
 
 
 /* Line 189 of yacc.c  */
-#line 166 "p-exp.c"
+#line 165 "p-exp.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -271,7 +270,7 @@ typedef union YYSTYPE
 {
 
 /* Line 214 of yacc.c  */
-#line 141 "p-exp.y"
+#line 140 "p-exp.y"
 
     LONGEST lval;
     struct {
@@ -288,7 +287,7 @@ typedef union YYSTYPE
     struct ttype tsym;
     struct symtoken ssym;
     int voidval;
-    struct block *bval;
+    const struct block *bval;
     enum exp_opcode opcode;
     struct internalvar *ivar;
 
@@ -298,7 +297,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 302 "p-exp.c"
+#line 301 "p-exp.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -309,7 +308,7 @@ typedef union YYSTYPE
 /* Copy the second part of user declarations.  */
 
 /* Line 264 of yacc.c  */
-#line 165 "p-exp.y"
+#line 164 "p-exp.y"
 
 /* YYSTYPE gets defined by %union */
 static int parse_number (struct parser_state *,
@@ -324,7 +323,7 @@ static int search_field;
 
 
 /* Line 264 of yacc.c  */
-#line 328 "p-exp.c"
+#line 327 "p-exp.c"
 
 #ifdef short
 # undef short
@@ -638,14 +637,14 @@ static const yytype_int8 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   247,   247,   247,   256,   257,   260,   267,   268,   273,
-     279,   285,   289,   293,   297,   302,   306,   324,   340,   346,
-     358,   356,   389,   386,   402,   403,   405,   409,   424,   430,
-     434,   434,   457,   461,   465,   469,   473,   477,   481,   487,
-     493,   499,   505,   511,   517,   521,   525,   529,   533,   540,
-     547,   555,   569,   577,   580,   595,   606,   610,   642,   670,
-     688,   698,   713,   728,   729,   760,   832,   843,   847,   849,
-     851,   854,   862,   863,   864,   865,   868,   869
+       0,   246,   246,   246,   255,   256,   259,   266,   267,   272,
+     278,   284,   288,   292,   296,   301,   305,   323,   339,   345,
+     357,   355,   388,   385,   401,   402,   404,   408,   423,   429,
+     433,   433,   456,   460,   464,   468,   472,   476,   480,   486,
+     492,   498,   504,   510,   516,   520,   524,   528,   532,   539,
+     546,   554,   568,   576,   579,   594,   605,   609,   641,   669,
+     687,   697,   712,   727,   728,   759,   831,   842,   846,   848,
+     850,   853,   861,   862,   863,   864,   867,   868
 };
 #endif
 
@@ -1683,7 +1682,7 @@ yyreduce:
         case 2:
 
 /* Line 1455 of yacc.c  */
-#line 247 "p-exp.y"
+#line 246 "p-exp.y"
     { current_type = NULL;
 		  intvar = NULL;
 		  search_field = 0;
@@ -1694,14 +1693,14 @@ yyreduce:
   case 3:
 
 /* Line 1455 of yacc.c  */
-#line 252 "p-exp.y"
+#line 251 "p-exp.y"
     {}
     break;
 
   case 6:
 
 /* Line 1455 of yacc.c  */
-#line 261 "p-exp.y"
+#line 260 "p-exp.y"
     { write_exp_elt_opcode (pstate, OP_TYPE);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].tval));
 			  write_exp_elt_opcode (pstate, OP_TYPE);
@@ -1711,14 +1710,14 @@ yyreduce:
   case 8:
 
 /* Line 1455 of yacc.c  */
-#line 269 "p-exp.y"
+#line 268 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_COMMA); }
     break;
 
   case 9:
 
 /* Line 1455 of yacc.c  */
-#line 274 "p-exp.y"
+#line 273 "p-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_IND);
 			  if (current_type)
 			    current_type = TYPE_TARGET_TYPE (current_type); }
@@ -1727,7 +1726,7 @@ yyreduce:
   case 10:
 
 /* Line 1455 of yacc.c  */
-#line 280 "p-exp.y"
+#line 279 "p-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_ADDR);
 			  if (current_type)
 			    current_type = TYPE_POINTER_TYPE (current_type); }
@@ -1736,42 +1735,42 @@ yyreduce:
   case 11:
 
 /* Line 1455 of yacc.c  */
-#line 286 "p-exp.y"
+#line 285 "p-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_NEG); }
     break;
 
   case 12:
 
 /* Line 1455 of yacc.c  */
-#line 290 "p-exp.y"
+#line 289 "p-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_LOGICAL_NOT); }
     break;
 
   case 13:
 
 /* Line 1455 of yacc.c  */
-#line 294 "p-exp.y"
+#line 293 "p-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREINCREMENT); }
     break;
 
   case 14:
 
 /* Line 1455 of yacc.c  */
-#line 298 "p-exp.y"
+#line 297 "p-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_PREDECREMENT); }
     break;
 
   case 15:
 
 /* Line 1455 of yacc.c  */
-#line 303 "p-exp.y"
+#line 302 "p-exp.y"
     { search_field = 1; }
     break;
 
   case 16:
 
 /* Line 1455 of yacc.c  */
-#line 307 "p-exp.y"
+#line 306 "p-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(2) - (2)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
@@ -1791,7 +1790,7 @@ yyreduce:
   case 17:
 
 /* Line 1455 of yacc.c  */
-#line 325 "p-exp.y"
+#line 324 "p-exp.y"
     { write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(2) - (2)].sval));
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
@@ -1811,7 +1810,7 @@ yyreduce:
   case 18:
 
 /* Line 1455 of yacc.c  */
-#line 341 "p-exp.y"
+#line 340 "p-exp.y"
     { mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
 			  write_exp_string (pstate, (yyvsp[(2) - (3)].sval));
@@ -1821,7 +1820,7 @@ yyreduce:
   case 19:
 
 /* Line 1455 of yacc.c  */
-#line 347 "p-exp.y"
+#line 346 "p-exp.y"
     { struct stoken s;
 			  mark_struct_expression (pstate);
 			  write_exp_elt_opcode (pstate, STRUCTOP_STRUCT);
@@ -1834,7 +1833,7 @@ yyreduce:
   case 20:
 
 /* Line 1455 of yacc.c  */
-#line 358 "p-exp.y"
+#line 357 "p-exp.y"
     { const char *arrayname;
 			  int arrayfieldindex;
 			  arrayfieldindex = is_pascal_string_type (
@@ -1861,7 +1860,7 @@ yyreduce:
   case 21:
 
 /* Line 1455 of yacc.c  */
-#line 380 "p-exp.y"
+#line 379 "p-exp.y"
     { pop_current_type ();
 			  write_exp_elt_opcode (pstate, BINOP_SUBSCRIPT);
 			  if (current_type)
@@ -1871,7 +1870,7 @@ yyreduce:
   case 22:
 
 /* Line 1455 of yacc.c  */
-#line 389 "p-exp.y"
+#line 388 "p-exp.y"
     { push_current_type ();
 			  start_arglist (); }
     break;
@@ -1879,7 +1878,7 @@ yyreduce:
   case 23:
 
 /* Line 1455 of yacc.c  */
-#line 392 "p-exp.y"
+#line 391 "p-exp.y"
     { write_exp_elt_opcode (pstate, OP_FUNCALL);
 			  write_exp_elt_longcst (pstate,
 						 (LONGEST) end_arglist ());
@@ -1893,27 +1892,27 @@ yyreduce:
   case 25:
 
 /* Line 1455 of yacc.c  */
-#line 404 "p-exp.y"
+#line 403 "p-exp.y"
     { arglist_len = 1; }
     break;
 
   case 26:
 
 /* Line 1455 of yacc.c  */
-#line 406 "p-exp.y"
+#line 405 "p-exp.y"
     { arglist_len++; }
     break;
 
   case 27:
 
 /* Line 1455 of yacc.c  */
-#line 410 "p-exp.y"
+#line 409 "p-exp.y"
     { if (current_type)
 			    {
 			      /* Allow automatic dereference of classes.  */
 			      if ((TYPE_CODE (current_type) == TYPE_CODE_PTR)
-				  && (TYPE_CODE (TYPE_TARGET_TYPE (current_type)) == TYPE_CODE_CLASS)
-				  && (TYPE_CODE ((yyvsp[(1) - (4)].tval)) == TYPE_CODE_CLASS))
+				  && (TYPE_CODE (TYPE_TARGET_TYPE (current_type)) == TYPE_CODE_STRUCT)
+				  && (TYPE_CODE ((yyvsp[(1) - (4)].tval)) == TYPE_CODE_STRUCT))
 				write_exp_elt_opcode (pstate, UNOP_IND);
 			    }
 			  write_exp_elt_opcode (pstate, UNOP_CAST);
@@ -1925,21 +1924,21 @@ yyreduce:
   case 28:
 
 /* Line 1455 of yacc.c  */
-#line 425 "p-exp.y"
+#line 424 "p-exp.y"
     { }
     break;
 
   case 29:
 
 /* Line 1455 of yacc.c  */
-#line 431 "p-exp.y"
+#line 430 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_MUL); }
     break;
 
   case 30:
 
 /* Line 1455 of yacc.c  */
-#line 434 "p-exp.y"
+#line 433 "p-exp.y"
     {
 			  if (current_type && is_integral_type (current_type))
 			    leftdiv_is_integer = 1;
@@ -1949,7 +1948,7 @@ yyreduce:
   case 31:
 
 /* Line 1455 of yacc.c  */
-#line 439 "p-exp.y"
+#line 438 "p-exp.y"
     {
 			  if (leftdiv_is_integer && current_type
 			      && is_integral_type (current_type))
@@ -1971,49 +1970,49 @@ yyreduce:
   case 32:
 
 /* Line 1455 of yacc.c  */
-#line 458 "p-exp.y"
+#line 457 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_INTDIV); }
     break;
 
   case 33:
 
 /* Line 1455 of yacc.c  */
-#line 462 "p-exp.y"
+#line 461 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_REM); }
     break;
 
   case 34:
 
 /* Line 1455 of yacc.c  */
-#line 466 "p-exp.y"
+#line 465 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ADD); }
     break;
 
   case 35:
 
 /* Line 1455 of yacc.c  */
-#line 470 "p-exp.y"
+#line 469 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_SUB); }
     break;
 
   case 36:
 
 /* Line 1455 of yacc.c  */
-#line 474 "p-exp.y"
+#line 473 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LSH); }
     break;
 
   case 37:
 
 /* Line 1455 of yacc.c  */
-#line 478 "p-exp.y"
+#line 477 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_RSH); }
     break;
 
   case 38:
 
 /* Line 1455 of yacc.c  */
-#line 482 "p-exp.y"
+#line 481 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_EQUAL);
 			  current_type = parse_type (pstate)->builtin_bool;
 			}
@@ -2022,7 +2021,7 @@ yyreduce:
   case 39:
 
 /* Line 1455 of yacc.c  */
-#line 488 "p-exp.y"
+#line 487 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_NOTEQUAL);
 			  current_type = parse_type (pstate)->builtin_bool;
 			}
@@ -2031,7 +2030,7 @@ yyreduce:
   case 40:
 
 /* Line 1455 of yacc.c  */
-#line 494 "p-exp.y"
+#line 493 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LEQ);
 			  current_type = parse_type (pstate)->builtin_bool;
 			}
@@ -2040,7 +2039,7 @@ yyreduce:
   case 41:
 
 /* Line 1455 of yacc.c  */
-#line 500 "p-exp.y"
+#line 499 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GEQ);
 			  current_type = parse_type (pstate)->builtin_bool;
 			}
@@ -2049,7 +2048,7 @@ yyreduce:
   case 42:
 
 /* Line 1455 of yacc.c  */
-#line 506 "p-exp.y"
+#line 505 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_LESS);
 			  current_type = parse_type (pstate)->builtin_bool;
 			}
@@ -2058,7 +2057,7 @@ yyreduce:
   case 43:
 
 /* Line 1455 of yacc.c  */
-#line 512 "p-exp.y"
+#line 511 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_GTR);
 			  current_type = parse_type (pstate)->builtin_bool;
 			}
@@ -2067,35 +2066,35 @@ yyreduce:
   case 44:
 
 /* Line 1455 of yacc.c  */
-#line 518 "p-exp.y"
+#line 517 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_AND); }
     break;
 
   case 45:
 
 /* Line 1455 of yacc.c  */
-#line 522 "p-exp.y"
+#line 521 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_XOR); }
     break;
 
   case 46:
 
 /* Line 1455 of yacc.c  */
-#line 526 "p-exp.y"
+#line 525 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_BITWISE_IOR); }
     break;
 
   case 47:
 
 /* Line 1455 of yacc.c  */
-#line 530 "p-exp.y"
+#line 529 "p-exp.y"
     { write_exp_elt_opcode (pstate, BINOP_ASSIGN); }
     break;
 
   case 48:
 
 /* Line 1455 of yacc.c  */
-#line 534 "p-exp.y"
+#line 533 "p-exp.y"
     { write_exp_elt_opcode (pstate, OP_BOOL);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(1) - (1)].lval));
 			  current_type = parse_type (pstate)->builtin_bool;
@@ -2105,7 +2104,7 @@ yyreduce:
   case 49:
 
 /* Line 1455 of yacc.c  */
-#line 541 "p-exp.y"
+#line 540 "p-exp.y"
     { write_exp_elt_opcode (pstate, OP_BOOL);
 			  write_exp_elt_longcst (pstate, (LONGEST) (yyvsp[(1) - (1)].lval));
 			  current_type = parse_type (pstate)->builtin_bool;
@@ -2115,7 +2114,7 @@ yyreduce:
   case 50:
 
 /* Line 1455 of yacc.c  */
-#line 548 "p-exp.y"
+#line 547 "p-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_int).type);
 			  current_type = (yyvsp[(1) - (1)].typed_val_int).type;
@@ -2126,7 +2125,7 @@ yyreduce:
   case 51:
 
 /* Line 1455 of yacc.c  */
-#line 556 "p-exp.y"
+#line 555 "p-exp.y"
     { YYSTYPE val;
 			  parse_number (pstate, (yyvsp[(1) - (1)].ssym).stoken.ptr,
 					(yyvsp[(1) - (1)].ssym).stoken.length, 0, &val);
@@ -2142,7 +2141,7 @@ yyreduce:
   case 52:
 
 /* Line 1455 of yacc.c  */
-#line 570 "p-exp.y"
+#line 569 "p-exp.y"
     { write_exp_elt_opcode (pstate, OP_DOUBLE);
 			  write_exp_elt_type (pstate, (yyvsp[(1) - (1)].typed_val_float).type);
 			  current_type = (yyvsp[(1) - (1)].typed_val_float).type;
@@ -2153,7 +2152,7 @@ yyreduce:
   case 54:
 
 /* Line 1455 of yacc.c  */
-#line 583 "p-exp.y"
+#line 582 "p-exp.y"
     {  if (intvar) {
  			     struct value * val, * mark;
 
@@ -2169,7 +2168,7 @@ yyreduce:
   case 55:
 
 /* Line 1455 of yacc.c  */
-#line 596 "p-exp.y"
+#line 595 "p-exp.y"
     { write_exp_elt_opcode (pstate, OP_LONG);
 			  write_exp_elt_type (pstate,
 					    parse_type (pstate)->builtin_int);
@@ -2183,7 +2182,7 @@ yyreduce:
   case 56:
 
 /* Line 1455 of yacc.c  */
-#line 607 "p-exp.y"
+#line 606 "p-exp.y"
     { write_exp_elt_opcode (pstate, UNOP_SIZEOF);
 			  current_type = parse_type (pstate)->builtin_int; }
     break;
@@ -2191,7 +2190,7 @@ yyreduce:
   case 57:
 
 /* Line 1455 of yacc.c  */
-#line 611 "p-exp.y"
+#line 610 "p-exp.y"
     { /* C strings are converted into array constants with
 			     an explicit null byte added at the end.  Thus
 			     the array upper bound is the string length.
@@ -2225,7 +2224,7 @@ yyreduce:
   case 58:
 
 /* Line 1455 of yacc.c  */
-#line 643 "p-exp.y"
+#line 642 "p-exp.y"
     {
 			  struct value * this_val;
 			  struct type * this_type;
@@ -2254,7 +2253,7 @@ yyreduce:
   case 59:
 
 /* Line 1455 of yacc.c  */
-#line 671 "p-exp.y"
+#line 670 "p-exp.y"
     {
 			  if ((yyvsp[(1) - (1)].ssym).sym != 0)
 			      (yyval.bval) = SYMBOL_BLOCK_VALUE ((yyvsp[(1) - (1)].ssym).sym);
@@ -2263,7 +2262,7 @@ yyreduce:
 			      struct symtab *tem =
 				  lookup_symtab (copy_name ((yyvsp[(1) - (1)].ssym).stoken));
 			      if (tem)
-				(yyval.bval) = BLOCKVECTOR_BLOCK (BLOCKVECTOR (tem),
+				(yyval.bval) = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (tem),
 							STATIC_BLOCK);
 			      else
 				error (_("No file or function \"%s\"."),
@@ -2275,7 +2274,7 @@ yyreduce:
   case 60:
 
 /* Line 1455 of yacc.c  */
-#line 689 "p-exp.y"
+#line 688 "p-exp.y"
     { struct symbol *tem
 			    = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval),
 					     VAR_DOMAIN, NULL);
@@ -2288,7 +2287,7 @@ yyreduce:
   case 61:
 
 /* Line 1455 of yacc.c  */
-#line 699 "p-exp.y"
+#line 698 "p-exp.y"
     { struct symbol *sym;
 			  sym = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval),
 					       VAR_DOMAIN, NULL);
@@ -2306,7 +2305,7 @@ yyreduce:
   case 62:
 
 /* Line 1455 of yacc.c  */
-#line 714 "p-exp.y"
+#line 713 "p-exp.y"
     {
 			  struct type *type = (yyvsp[(1) - (3)].tval);
 			  if (TYPE_CODE (type) != TYPE_CODE_STRUCT
@@ -2324,7 +2323,7 @@ yyreduce:
   case 64:
 
 /* Line 1455 of yacc.c  */
-#line 730 "p-exp.y"
+#line 729 "p-exp.y"
     {
 			  char *name = copy_name ((yyvsp[(2) - (2)].sval));
 			  struct symbol *sym;
@@ -2358,7 +2357,7 @@ yyreduce:
   case 65:
 
 /* Line 1455 of yacc.c  */
-#line 761 "p-exp.y"
+#line 760 "p-exp.y"
     { struct symbol *sym = (yyvsp[(1) - (1)].ssym).sym;
 
 			  if (sym)
@@ -2432,21 +2431,21 @@ yyreduce:
   case 68:
 
 /* Line 1455 of yacc.c  */
-#line 848 "p-exp.y"
+#line 847 "p-exp.y"
     { (yyval.tval) = lookup_pointer_type ((yyvsp[(2) - (2)].tval)); }
     break;
 
   case 69:
 
 /* Line 1455 of yacc.c  */
-#line 850 "p-exp.y"
+#line 849 "p-exp.y"
     { (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; }
     break;
 
   case 70:
 
 /* Line 1455 of yacc.c  */
-#line 852 "p-exp.y"
+#line 851 "p-exp.y"
     { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
 					      expression_context_block); }
     break;
@@ -2454,7 +2453,7 @@ yyreduce:
   case 71:
 
 /* Line 1455 of yacc.c  */
-#line 855 "p-exp.y"
+#line 854 "p-exp.y"
     { (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)),
 					      expression_context_block); }
     break;
@@ -2462,35 +2461,35 @@ yyreduce:
   case 72:
 
 /* Line 1455 of yacc.c  */
-#line 862 "p-exp.y"
+#line 861 "p-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
   case 73:
 
 /* Line 1455 of yacc.c  */
-#line 863 "p-exp.y"
+#line 862 "p-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
   case 74:
 
 /* Line 1455 of yacc.c  */
-#line 864 "p-exp.y"
+#line 863 "p-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].tsym).stoken; }
     break;
 
   case 75:
 
 /* Line 1455 of yacc.c  */
-#line 865 "p-exp.y"
+#line 864 "p-exp.y"
     { (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; }
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 2495 "p-exp.c"
+#line 2494 "p-exp.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2702,7 +2701,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 879 "p-exp.y"
+#line 878 "p-exp.y"
 
 
 /* Take care of parsing a number (anything that starts with a digit).
@@ -3538,8 +3537,8 @@ yylex (void)
 	  return TYPENAME;
         }
     yylval.tsym.type
-      = language_lookup_primitive_type_by_name (parse_language (pstate),
-						parse_gdbarch (pstate), tmp);
+      = language_lookup_primitive_type (parse_language (pstate),
+					parse_gdbarch (pstate), tmp);
     if (yylval.tsym.type != NULL)
       {
 	xfree (uptokstart);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-exp.y ./gdb/p-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-exp.y	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/p-exp.y	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* YACC parser for Pascal expressions, for GDB.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -44,7 +44,6 @@
 %{
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include "expression.h"
 #include "value.h"
@@ -154,7 +153,7 @@ static char *uptok (const char *, int);
     struct ttype tsym;
     struct symtoken ssym;
     int voidval;
-    struct block *bval;
+    const struct block *bval;
     enum exp_opcode opcode;
     struct internalvar *ivar;
 
@@ -411,8 +410,8 @@ exp	:	type '(' exp ')' %prec UNARY
 			    {
 			      /* Allow automatic dereference of classes.  */
 			      if ((TYPE_CODE (current_type) == TYPE_CODE_PTR)
-				  && (TYPE_CODE (TYPE_TARGET_TYPE (current_type)) == TYPE_CODE_CLASS)
-				  && (TYPE_CODE ($1) == TYPE_CODE_CLASS))
+				  && (TYPE_CODE (TYPE_TARGET_TYPE (current_type)) == TYPE_CODE_STRUCT)
+				  && (TYPE_CODE ($1) == TYPE_CODE_STRUCT))
 				write_exp_elt_opcode (pstate, UNOP_IND);
 			    }
 			  write_exp_elt_opcode (pstate, UNOP_CAST);
@@ -676,7 +675,7 @@ block	:	BLOCKNAME
 			      struct symtab *tem =
 				  lookup_symtab (copy_name ($1.stoken));
 			      if (tem)
-				$$ = BLOCKVECTOR_BLOCK (BLOCKVECTOR (tem),
+				$$ = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (tem),
 							STATIC_BLOCK);
 			      else
 				error (_("No file or function \"%s\"."),
@@ -1711,8 +1710,8 @@ yylex (void)
 	  return TYPENAME;
         }
     yylval.tsym.type
-      = language_lookup_primitive_type_by_name (parse_language (pstate),
-						parse_gdbarch (pstate), tmp);
+      = language_lookup_primitive_type (parse_language (pstate),
+					parse_gdbarch (pstate), tmp);
     if (yylval.tsym.type != NULL)
       {
 	free (uptokstart);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-lang.c ./gdb/p-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-lang.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/p-lang.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Pascal language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 /* This file is derived from c-lang.c */
 
 #include "defs.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "expression.h"
@@ -452,6 +451,8 @@ const struct language_defn pascal_langua
   NULL,				/* la_get_symbol_name_cmp */
   iterate_over_symbols,
   &default_varobj_ops,
+  NULL,
+  NULL,
   LANG_MAGIC
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-lang.h ./gdb/p-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-lang.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/p-lang.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Pascal language support definitions for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/po/gdb.pot	2015-01-13 02:06:54.000000000 +0000
+++ ./gdb/po/gdb.pot	2015-01-20 02:09:44.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-01-13 02:06+0000\n"
+"POT-Creation-Date: 2015-01-20 02:09+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,62 +16,62 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: aarch64-linux-nat.c:335 gdbserver/linux-aarch64-low.c:599
+#: aarch64-linux-nat.c:331 gdbserver/linux-aarch64-low.c:602
 msgid "Unexpected error setting hardware debug registers"
 msgstr ""
 
-#: aarch64-linux-nat.c:478 aarch64-linux-nat.c:502 arm-linux-nat.c:281
-#: arm-linux-nat.c:320 arm-linux-nat.c:354
+#: aarch64-linux-nat.c:474 aarch64-linux-nat.c:498 arm-linux-nat.c:280
+#: arm-linux-nat.c:319 arm-linux-nat.c:353
 msgid "Unable to fetch general registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:511 arm-linux-nat.c:372
+#: aarch64-linux-nat.c:507 arm-linux-nat.c:371
 msgid "Unable to store general registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:531 aarch64-linux-nat.c:558
+#: aarch64-linux-nat.c:527 aarch64-linux-nat.c:554
 msgid "Unable to fetch FP/SIMD registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:572
+#: aarch64-linux-nat.c:568
 msgid "Unable to store FP/SIMD registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:798
+#: aarch64-linux-nat.c:780
 #, possible-c-format
 msgid ""
 "Unexpected number of hardware watchpoint registers reported by ptrace, got %"
 "d, expected %d."
 msgstr ""
 
-#: aarch64-linux-nat.c:806
+#: aarch64-linux-nat.c:788
 msgid "Unable to determine the number of hardware watchpoints available."
 msgstr ""
 
-#: aarch64-linux-nat.c:818
+#: aarch64-linux-nat.c:800
 #, possible-c-format
 msgid ""
 "Unexpected number of hardware breakpoint registers reported by ptrace, got %"
 "d, expected %d."
 msgstr ""
 
-#: aarch64-linux-nat.c:826
+#: aarch64-linux-nat.c:808
 msgid "Unable to determine the number of hardware breakpoints available."
 msgstr ""
 
-#: aarch64-linux-nat.c:1015 gdbserver/linux-aarch64-low.c:429
+#: aarch64-linux-nat.c:997 gdbserver/linux-aarch64-low.c:432
 msgid "Unrecognized breakpoint/watchpoint type"
 msgstr ""
 
-#: aarch64-linux-nat.c:1513
+#: aarch64-linux-nat.c:1495
 msgid "Set whether to show variables that mirror the AArch64 debug registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:1514
+#: aarch64-linux-nat.c:1496
 msgid "Show whether to show variables that mirror the AArch64 debug registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:1515 i386-nat.c:871 mips-linux-nat.c:780
+#: aarch64-linux-nat.c:1497 mips-linux-nat.c:776 x86-nat.c:275
 msgid ""
 "Use \"on\" to enable, \"off\" to disable.\n"
 "If enabled, the debug registers values are shown when GDB inserts\n"
@@ -79,599 +79,599 @@ msgid ""
 "triggers a breakpoint or watchpoint."
 msgstr ""
 
-#: aarch64-linux-tdep.c:332 arm-linux-tdep.c:1186 i386-tdep.c:4088
-#: i386-tdep.c:4197 i386-tdep.c:4212 ppc-linux-tdep.c:973 stap-probe.c:680
+#: aarch64-linux-tdep.c:284 arm-linux-tdep.c:1197 i386-tdep.c:4052
+#: i386-tdep.c:4161 i386-tdep.c:4176 ppc-linux-tdep.c:929 stap-probe.c:679
 #, possible-c-format
 msgid "Invalid register name `%s' on expression `%s'."
 msgstr ""
 
-#: aarch64-tdep.c:174
+#: aarch64-tdep.c:172
 #, possible-c-format
 msgid "AArch64 debugging is %s.\n"
 msgstr ""
 
-#: aarch64-tdep.c:1191 arm-tdep.c:3132
+#: aarch64-tdep.c:1189 arm-tdep.c:3191
 #, possible-c-format
 msgid "Unexpected register %d"
 msgstr ""
 
 #. Should never happen.
-#: aarch64-tdep.c:1242 arm-tdep.c:3402
+#: aarch64-tdep.c:1240 arm-tdep.c:3427
 msgid "unknown type alignment"
 msgstr ""
 
-#: aarch64-tdep.c:2281
+#: aarch64-tdep.c:2279
 #, possible-c-format
 msgid "aarch64_pseudo_register_name: bad register number %d"
 msgstr ""
 
-#: aarch64-tdep.c:2308
+#: aarch64-tdep.c:2306
 #, possible-c-format
 msgid "aarch64_pseudo_register_type: bad register number %d"
 msgstr ""
 
-#: aarch64-tdep.c:2785
+#: aarch64-tdep.c:2783
 #, possible-c-format
 msgid "aarch64_dump_tdep: Lowest pc = 0x%s"
 msgstr ""
 
 #. Debug this file's internals.
-#: aarch64-tdep.c:2801
+#: aarch64-tdep.c:2799
 msgid "Set AArch64 debugging."
 msgstr ""
 
-#: aarch64-tdep.c:2802
+#: aarch64-tdep.c:2800
 msgid "Show AArch64 debugging."
 msgstr ""
 
-#: aarch64-tdep.c:2803
+#: aarch64-tdep.c:2801
 msgid "When on, AArch64 specific debugging is enabled."
 msgstr ""
 
-#: ada-exp.y:273
+#: ada-exp.y:272
 msgid "Invalid conversion"
 msgstr ""
 
-#: ada-exp.y:291
+#: ada-exp.y:290
 msgid "Type required for qualification"
 msgstr ""
 
-#: ada-exp.y:309
+#: ada-exp.y:308
 msgid "Cannot slice a type"
 msgstr ""
 
-#: ada-exp.y:377
+#: ada-exp.y:376
 msgid "Type required within braces in coercion"
 msgstr ""
 
-#: ada-exp.y:447 ada-exp.y:465
+#: ada-exp.y:446 ada-exp.y:464
 msgid "Right operand of 'in' must be type"
 msgstr ""
 
-#: ada-exp.y:579
+#: ada-exp.y:578
 msgid "Prefix must be type"
 msgstr ""
 
-#: ada-exp.y:632
+#: ada-exp.y:631
 msgid "NEW not implemented."
 msgstr ""
 
-#: ada-exp.y:808
+#: ada-exp.y:807
 #, possible-c-format
 msgid "Error in expression, near `%s'."
 msgstr ""
 
-#: ada-exp.y:875
+#: ada-exp.y:874
 msgid "Could not find renamed symbol"
 msgstr ""
 
-#: ada-exp.y:883
+#: ada-exp.y:882
 #, possible-c-format
 msgid "Could not find renamed variable: %s"
 msgstr ""
 
-#: ada-exp.y:957
+#: ada-exp.y:956
 #, possible-c-format
 msgid "Could not find %s"
 msgstr ""
 
-#: ada-exp.y:1010
+#: ada-exp.y:1009
 msgid "Internal error in encoding of renaming declaration"
 msgstr ""
 
-#: ada-exp.y:1041 c-exp.y:931 p-exp.y:682
+#: ada-exp.y:1040 c-exp.y:929 p-exp.y:681
 #, possible-c-format
 msgid "No file or function \"%s\"."
 msgstr ""
 
-#: ada-exp.y:1043 c-exp.y:945 m2-exp.y:579 p-exp.y:693
+#: ada-exp.y:1042 c-exp.y:943 m2-exp.y:578 p-exp.y:692
 #, possible-c-format
 msgid "No function \"%s\" in specified context."
 msgstr ""
 
-#: ada-exp.y:1048
+#: ada-exp.y:1047
 #, possible-c-format
 msgid "Function name \"%s\" ambiguous here"
 msgstr ""
 
-#: ada-exp.y:1338
+#: ada-exp.y:1337
 msgid "impossible value from ada_parse_renaming"
 msgstr ""
 
-#: ada-exp.y:1356
+#: ada-exp.y:1355
 #, possible-c-format
 msgid "Invalid attempt to select from type: \"%s\"."
 msgstr ""
 
-#: ada-exp.y:1390
+#: ada-exp.y:1389
 #, possible-c-format
 msgid "No definition of \"%s\" found."
 msgstr ""
 
-#: ada-exp.y:1404 c-exp.y:1056 c-exp.y:1108 cli/cli-cmds.c:927 f-exp.y:543
-#: go-exp.y:639 linespec.c:1491 linespec.c:3037 p-exp.y:752 p-exp.y:822
-#: source.c:208 symtab.c:3310
+#: ada-exp.y:1403 c-exp.y:1054 c-exp.y:1106 cli/cli-cmds.c:925 f-exp.y:542
+#: go-exp.y:638 linespec.c:1493 linespec.c:3039 p-exp.y:751 p-exp.y:821
+#: source.c:206 symtab.c:3521
 msgid "No symbol table is loaded.  Use the \"file\" command."
 msgstr ""
 
-#: ada-exp.y:1406
+#: ada-exp.y:1405
 #, possible-c-format
 msgid "No definition of \"%s\" in current context."
 msgstr ""
 
-#: ada-exp.y:1408
+#: ada-exp.y:1407
 #, possible-c-format
 msgid "No definition of \"%s\" in specified context."
 msgstr ""
 
-#: ada-exp.y:1413
+#: ada-exp.y:1412
 #, possible-c-format
 msgid "Could not find renamed symbol \"%s\""
 msgstr ""
 
-#: ada-exp.y:1447
+#: ada-exp.y:1446
 msgid "Invalid use of type."
 msgstr ""
 
-#: ada-lang.c:622
+#: ada-lang.c:625
 #, possible-c-format
 msgid "Unable to find field %s in struct %s.  Aborting"
 msgstr ""
 
-#: ada-lang.c:744
+#: ada-lang.c:745
 msgid "object size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:809
+#: ada-lang.c:810
 msgid "Unexpected type in ada_discrete_type_high_bound."
 msgstr ""
 
-#: ada-lang.c:830
+#: ada-lang.c:831
 msgid "Unexpected type in ada_discrete_type_low_bound."
 msgstr ""
 
-#: ada-lang.c:929
+#: ada-lang.c:930
 msgid "Invalid address for Ada main program name."
 msgstr ""
 
-#: ada-lang.c:1009
+#: ada-lang.c:1010
 #, possible-c-format
 msgid "invalid Ada operator name: %s"
 msgstr ""
 
-#: ada-lang.c:1671 ada-lang.c:1689 ada-lang.c:1703 ada-lang.c:1771
+#: ada-lang.c:1672 ada-lang.c:1690 ada-lang.c:1704 ada-lang.c:1772
 msgid "Bad GNAT array descriptor"
 msgstr ""
 
-#: ada-lang.c:1808
+#: ada-lang.c:1809
 msgid "Bad GNAT array descriptor bounds"
 msgstr ""
 
-#: ada-lang.c:2051
+#: ada-lang.c:2052
 msgid "Bounds unavailable for null array pointer."
 msgstr ""
 
-#: ada-lang.c:2140
+#: ada-lang.c:2141
 msgid "could not understand bit size information on packed array"
 msgstr ""
 
-#: ada-lang.c:2228
+#: ada-lang.c:2239
 msgid "could not find bounds information on packed array"
 msgstr ""
 
-#: ada-lang.c:2235
+#: ada-lang.c:2246
 msgid "could not understand bounds information on packed array"
 msgstr ""
 
-#: ada-lang.c:2269
+#: ada-lang.c:2280
 msgid "can't unpack array"
 msgstr ""
 
-#: ada-lang.c:2322
+#: ada-lang.c:2333
 msgid "attempt to do packed indexing of something other than a packed array"
 msgstr ""
 
-#: ada-lang.c:2332
+#: ada-lang.c:2343
 msgid "don't know bounds of array"
 msgstr ""
 
-#: ada-lang.c:2338
+#: ada-lang.c:2349
 #, possible-c-format
 msgid "packed array index %ld out of bounds"
 msgstr ""
 
-#: ada-lang.c:2620 ada-lang.c:9395 valops.c:1004
+#: ada-lang.c:2631 ada-lang.c:9541 valops.c:1000
 msgid "Left operand of assignment is not a modifiable lvalue."
 msgstr ""
 
-#: ada-lang.c:2716 ada-lang.c:2737
+#: ada-lang.c:2727 ada-lang.c:2749
 #, possible-c-format
 msgid "too many subscripts (%d expected)"
 msgstr ""
 
-#: ada-lang.c:2869
+#: ada-lang.c:2881
 #, possible-c-format
 msgid "invalid dimension number to '%s"
 msgstr ""
 
-#: ada-lang.c:2888
+#: ada-lang.c:2900
 msgid "attempt to take bound of something that is not an array"
 msgstr ""
 
-#: ada-lang.c:3011
+#: ada-lang.c:3031
 msgid "Could not find operator name for opcode"
 msgstr ""
 
-#: ada-lang.c:3201
+#: ada-lang.c:3221
 msgid "Unexpected operator during name resolution"
 msgstr ""
 
-#: ada-lang.c:3265
+#: ada-lang.c:3285
 #, possible-c-format
 msgid "No definition found for %s"
 msgstr ""
 
-#: ada-lang.c:3277 ada-lang.c:3329
+#: ada-lang.c:3297 ada-lang.c:3349
 #, possible-c-format
 msgid "Could not find a match for %s"
 msgstr ""
 
-#: ada-lang.c:3282 ada-lang.c:3562
+#: ada-lang.c:3302 ada-lang.c:3582
 #, possible-c-format
 msgid "Multiple matches for %s\n"
 msgstr ""
 
-#: ada-lang.c:3650
+#: ada-lang.c:3670
 msgid "Request to select 0 symbols!"
 msgstr ""
 
-#: ada-lang.c:3655 linespec.c:1404
+#: ada-lang.c:3675 linespec.c:1406
 msgid ""
 "canceled because the command is ambiguous\n"
 "See set/show multiple-symbol."
 msgstr ""
 
-#: ada-lang.c:3665
+#: ada-lang.c:3685
 msgid "[0] cancel\n"
 msgstr ""
 
-#: ada-lang.c:3667
+#: ada-lang.c:3687
 msgid "[1] all\n"
 msgstr ""
 
-#: ada-lang.c:3682
+#: ada-lang.c:3702
 #, possible-c-format
 msgid "[%d] %s at <no source file available>:%d\n"
 msgstr ""
 
-#: ada-lang.c:3687 ada-lang.c:3702
+#: ada-lang.c:3707 ada-lang.c:3725
 #, possible-c-format
 msgid "[%d] %s at %s:%d\n"
 msgstr ""
 
-#: ada-lang.c:3713
+#: ada-lang.c:3736
 #, possible-c-format
 msgid "'(%s) (enumeral)\n"
 msgstr ""
 
-#: ada-lang.c:3718
+#: ada-lang.c:3741
 #, possible-c-format
 msgid "[%d] %s in %s (enumeral)\n"
 msgstr ""
 
-#: ada-lang.c:3719
+#: ada-lang.c:3742
 #, possible-c-format
 msgid "[%d] %s at %s:?\n"
 msgstr ""
 
-#: ada-lang.c:3725
+#: ada-lang.c:3748
 #, possible-c-format
 msgid "[%d] %s (enumeral)\n"
 msgstr ""
 
-#: ada-lang.c:3726
+#: ada-lang.c:3749
 #, possible-c-format
 msgid "[%d] %s at ?\n"
 msgstr ""
 
-#: ada-lang.c:3773 ada-lang.c:3786 linespec.c:1426
+#: ada-lang.c:3796 ada-lang.c:3809 linespec.c:1428
 msgid "one or more choice numbers"
 msgstr ""
 
-#: ada-lang.c:3793
+#: ada-lang.c:3816
 msgid "Argument must be choice number"
 msgstr ""
 
-#: ada-lang.c:3797
+#: ada-lang.c:3820
 msgid "cancelled"
 msgstr ""
 
-#: ada-lang.c:3824
+#: ada-lang.c:3847
 #, possible-c-format
 msgid "Select no more than %d of the above"
 msgstr ""
 
 #. PNH: Do we ever get here?  See ada_search_struct_field,
 #. find_struct_field.
-#: ada-lang.c:7070
+#: ada-lang.c:7132
 msgid "Cannot assign this kind of variant record"
 msgstr ""
 
-#: ada-lang.c:7167 valops.c:2184
+#: ada-lang.c:7229 valops.c:2181
 #, possible-c-format
 msgid "There is no member named %s."
 msgstr ""
 
-#: ada-lang.c:7173
+#: ada-lang.c:7235
 msgid "Attempt to extract a component of a value that is not a record."
 msgstr ""
 
-#: ada-lang.c:7224
+#: ada-lang.c:7286
 msgid "Type (null) is not a structure or union type"
 msgstr ""
 
 #. XXX: type_sprint
-#: ada-lang.c:7228 ada-lang.c:7307 ada-lang.c:7314
+#: ada-lang.c:7290 ada-lang.c:7369 ada-lang.c:7376
 msgid "Type "
 msgstr ""
 
-#: ada-lang.c:7230
+#: ada-lang.c:7292
 msgid " is not a structure or union type"
 msgstr ""
 
-#: ada-lang.c:7309
+#: ada-lang.c:7371
 msgid " has no component named <null>"
 msgstr ""
 
-#: ada-lang.c:7316
+#: ada-lang.c:7378
 #, possible-c-format
 msgid " has no component named %s"
 msgstr ""
 
-#: ada-lang.c:7673
+#: ada-lang.c:7735
 msgid "unexpected null name on descriptive type"
 msgstr ""
 
-#: ada-lang.c:8052
+#: ada-lang.c:8114
 #, possible-c-format
 msgid "Invalid type size for `%s' detected: %d."
 msgstr ""
 
-#: ada-lang.c:8055
+#: ada-lang.c:8117
 #, possible-c-format
 msgid "Invalid type size for <unnamed> detected: %d."
 msgstr ""
 
-#: ada-lang.c:8066
+#: ada-lang.c:8128
 msgid "record type with dynamic size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:8382
+#: ada-lang.c:8528
 msgid "array type with dynamic size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:8752
+#: ada-lang.c:8898
 msgid "'POS only defined on discrete types"
 msgstr ""
 
-#: ada-lang.c:8764
+#: ada-lang.c:8910
 msgid "enumeration value is invalid: can't find 'POS"
 msgstr ""
 
-#: ada-lang.c:8782
+#: ada-lang.c:8928
 msgid "'VAL only defined on discrete types"
 msgstr ""
 
-#: ada-lang.c:8784
+#: ada-lang.c:8930
 msgid "'VAL requires integral argument"
 msgstr ""
 
-#: ada-lang.c:8791
+#: ada-lang.c:8937
 msgid "argument to 'VAL out of range"
 msgstr ""
 
-#: ada-lang.c:9113 ada-lang.c:9151
+#: ada-lang.c:9259 ada-lang.c:9297
 msgid "unable to determine array bounds"
 msgstr ""
 
-#: ada-lang.c:9192
+#: ada-lang.c:9338
 msgid "cannot assign arrays of different length"
 msgstr ""
 
-#: ada-lang.c:9206
+#: ada-lang.c:9352
 msgid "Incompatible types in assignment"
 msgstr ""
 
-#: ada-lang.c:9240
+#: ada-lang.c:9386
 #, possible-c-format
 msgid "second operand of %s must not be zero."
 msgstr ""
 
-#: ada-lang.c:9285
+#: ada-lang.c:9431
 msgid "Attempt to compare array with non-array"
 msgstr ""
 
-#: ada-lang.c:9411
+#: ada-lang.c:9557
 msgid "Left-hand side must be array or record."
 msgstr ""
 
-#: ada-lang.c:9436
+#: ada-lang.c:9582
 msgid "Misplaced 'others' clause"
 msgstr ""
 
-#: ada-lang.c:9441
+#: ada-lang.c:9587
 msgid "Internal error: bad aggregate clause"
 msgstr ""
 
-#: ada-lang.c:9463
+#: ada-lang.c:9609
 msgid "Extra components in aggregate ignored."
 msgstr ""
 
-#: ada-lang.c:9530
+#: ada-lang.c:9676
 msgid "Invalid record component association."
 msgstr ""
 
-#: ada-lang.c:9536
+#: ada-lang.c:9682
 #, possible-c-format
 msgid "Unknown component name: %s."
 msgstr ""
 
-#: ada-lang.c:9541
+#: ada-lang.c:9687
 msgid "Index in component association out of bounds."
 msgstr ""
 
-#: ada-lang.c:9617
+#: ada-lang.c:9763
 msgid "Internal error: miscounted aggregate components."
 msgstr ""
 
-#: ada-lang.c:9989
+#: ada-lang.c:10135
 msgid "Fixed-point values must be assigned to fixed-point variables"
 msgstr ""
 
-#: ada-lang.c:10006
+#: ada-lang.c:10156
 msgid "Operands of fixed-point addition must have the same type"
 msgstr ""
 
-#: ada-lang.c:10028
+#: ada-lang.c:10182
 msgid "Operands of fixed-point subtraction must have the same type"
 msgstr ""
 
 #. Only encountered when an unresolved symbol occurs in a
 #. context other than a function call, in which case, it is
 #. invalid.
-#: ada-lang.c:10130 ada-lang.c:10208
+#: ada-lang.c:10285 ada-lang.c:10376
 #, possible-c-format
 msgid "Unexpected unresolved symbol, %s, during evaluation"
 msgstr ""
 
-#: ada-lang.c:10257
+#: ada-lang.c:10425
 #, possible-c-format
 msgid "cannot subscript or call something of type `%s'"
 msgstr ""
 
-#: ada-lang.c:10293
+#: ada-lang.c:10461
 msgid "cannot subscript or call a record"
 msgstr ""
 
-#: ada-lang.c:10295
+#: ada-lang.c:10463
 #, possible-c-format
 msgid "wrong number of subscripts; expecting %d"
 msgstr ""
 
-#: ada-lang.c:10307 ada-lang.c:10321
+#: ada-lang.c:10475 ada-lang.c:10489
 msgid "element type of array unknown"
 msgstr ""
 
-#: ada-lang.c:10330
+#: ada-lang.c:10498
 msgid "Attempt to index or call something other than an array or function"
 msgstr ""
 
-#: ada-lang.c:10360
+#: ada-lang.c:10528
 msgid "cannot slice a packed array"
 msgstr ""
 
-#: ada-lang.c:10388 valops.c:3765
+#: ada-lang.c:10556 valops.c:3764
 msgid "cannot take slice of non-array"
 msgstr ""
 
-#: ada-lang.c:10427
+#: ada-lang.c:10595
 msgid "Membership test incompletely implemented; always returns true"
 msgstr ""
 
-#: ada-lang.c:10516
+#: ada-lang.c:10684
 #, possible-c-format
 msgid "Invalid operand to '%s"
 msgstr ""
 
 #. Should never happen.
-#: ada-lang.c:10546 ada-lang.c:10571 ada-lang.c:10606
+#: ada-lang.c:10714 ada-lang.c:10739 ada-lang.c:10774
 msgid "unexpected attribute encountered"
 msgstr ""
 
-#: ada-lang.c:10579
+#: ada-lang.c:10747
 msgid "the 'length attribute applies only to array types"
 msgstr ""
 
-#: ada-lang.c:10583
+#: ada-lang.c:10751
 msgid "unimplemented type attribute"
 msgstr ""
 
-#: ada-lang.c:10656
+#: ada-lang.c:10824
 msgid "'modulus must be applied to modular type"
 msgstr ""
 
-#: ada-lang.c:10753
+#: ada-lang.c:10921
 msgid "Attempt to dereference null array pointer."
 msgstr ""
 
-#: ada-lang.c:10797 eval.c:2542 eval.c:3043 valops.c:1581
+#: ada-lang.c:10965 eval.c:2510 eval.c:3011 valops.c:1580
 msgid "Attempt to take contents of a non-pointer value."
 msgstr ""
 
-#: ada-lang.c:10874 eval.c:2780
+#: ada-lang.c:11042 eval.c:2748
 msgid "Attempt to use a type name as an expression"
 msgstr ""
 
-#: ada-lang.c:10886
+#: ada-lang.c:11054
 #, possible-c-format
 msgid ""
 "Undefined name, ambiguous name, or renaming used in component association: %"
 "s."
 msgstr ""
 
-#: ada-lang.c:10889
+#: ada-lang.c:11057
 msgid "Aggregates only allowed on the right of an assignment"
 msgstr ""
 
-#: ada-lang.c:10892
+#: ada-lang.c:11060
 msgid "aggregate apparently mangled"
 msgstr ""
 
-#: ada-lang.c:11186
+#: ada-lang.c:11354
 msgid "Unknown lower bound, using 1."
 msgstr ""
 
-#: ada-lang.c:11205
+#: ada-lang.c:11373
 #, possible-c-format
 msgid "Unknown upper bound, using %ld."
 msgstr ""
 
-#: ada-lang.c:11386
+#: ada-lang.c:11554
 msgid ""
 "Your Ada runtime appears to be missing some debugging information.\n"
 "Cannot insert Ada exception catchpoint in this configuration."
 msgstr ""
 
-#: ada-lang.c:11396
+#: ada-lang.c:11564
 #, possible-c-format
 msgid "Symbol \"%s\" is not a function (class = %d)"
 msgstr ""
 
-#: ada-lang.c:11438
+#: ada-lang.c:11606
 msgid "Unable to insert catchpoint.  Is this an Ada main program?"
 msgstr ""
 
-#: ada-lang.c:11446
+#: ada-lang.c:11614
 msgid "Unable to insert catchpoint. Try to start the program first."
 msgstr ""
 
@@ -681,115 +681,115 @@ msgstr ""
 #. configurable run time mode, or that a-except as been optimized
 #. out by the linker...  In any case, at this point it is not worth
 #. supporting this feature.
-#: ada-lang.c:11455
+#: ada-lang.c:11623
 msgid "Cannot insert Ada exception catchpoints in this configuration."
 msgstr ""
 
-#: ada-lang.c:11628 ada-lang.c:11996 ada-lang.c:12040 ada-lang.c:12071
+#: ada-lang.c:11796 ada-lang.c:12164 ada-lang.c:12208 ada-lang.c:12239
 msgid "unexpected catchpoint type"
 msgstr ""
 
-#: ada-lang.c:11654
+#: ada-lang.c:11822
 #, possible-c-format
 msgid "failed to get exception name: %s"
 msgstr ""
 
-#: ada-lang.c:11767
+#: ada-lang.c:11935
 #, possible-c-format
 msgid "failed to reevaluate internal exception condition for catchpoint %d: %s"
 msgstr ""
 
-#: ada-lang.c:11866
+#: ada-lang.c:12034
 msgid "Error in testing exception condition:\n"
 msgstr ""
 
-#: ada-lang.c:11977 ada-lang.c:12021
+#: ada-lang.c:12145 ada-lang.c:12189
 #, possible-c-format
 msgid "`%s' Ada exception"
 msgstr ""
 
-#: ada-lang.c:12011 break-catch-throw.c:342
+#: ada-lang.c:12179 break-catch-throw.c:341
 msgid "Temporary catchpoint "
 msgstr ""
 
-#: ada-lang.c:12012 break-catch-throw.c:343
+#: ada-lang.c:12180 break-catch-throw.c:342
 msgid "Catchpoint "
 msgstr ""
 
-#: ada-lang.c:12028
+#: ada-lang.c:12196
 msgid "all Ada exceptions"
 msgstr ""
 
-#: ada-lang.c:12032
+#: ada-lang.c:12200
 msgid "unhandled Ada exceptions"
 msgstr ""
 
-#: ada-lang.c:12036
+#: ada-lang.c:12204
 msgid "failed Ada assertions"
 msgstr ""
 
-#: ada-lang.c:12308
+#: ada-lang.c:12476
 msgid "Condition missing after `if' keyword"
 msgstr ""
 
-#: ada-lang.c:12319 breakpoint.c:964 breakpoint.c:978
+#: ada-lang.c:12487 breakpoint.c:1000 breakpoint.c:1014
 msgid "Junk at end of expression"
 msgstr ""
 
-#: ada-lang.c:12367 ada-lang.c:12390
+#: ada-lang.c:12535 ada-lang.c:12558
 #, possible-c-format
 msgid "unexpected catchpoint kind (%d)"
 msgstr ""
 
-#: ada-lang.c:12568
+#: ada-lang.c:12736
 msgid "condition missing after `if' keyword"
 msgstr ""
 
-#: ada-lang.c:12575 break-catch-throw.c:472 breakpoint.c:9757
-#: breakpoint.c:11689 breakpoint.c:11833 breakpoint.c:11878 breakpoint.c:15757
+#: ada-lang.c:12743 break-catch-throw.c:471 breakpoint.c:9905
+#: breakpoint.c:11846 breakpoint.c:11990 breakpoint.c:12035 breakpoint.c:15699
 msgid "Junk at end of arguments."
 msgstr ""
 
-#: ada-lang.c:12911
+#: ada-lang.c:13079
 msgid "invalid regular expression"
 msgstr ""
 
-#: ada-lang.c:12936
+#: ada-lang.c:13104
 #, possible-c-format
 msgid "All Ada exceptions matching regular expression \"%s\":\n"
 msgstr ""
 
-#: ada-lang.c:12938
+#: ada-lang.c:13106
 msgid "All defined Ada exceptions:\n"
 msgstr ""
 
 #. XXX: gdb_sprint_host_address, type_sprint
-#: ada-lang.c:13120
+#: ada-lang.c:13288
 msgid "Type @"
 msgstr ""
 
-#: ada-lang.c:13518
+#: ada-lang.c:13688
 msgid "\"set ada\" must be followed by the name of a setting.\n"
 msgstr ""
 
-#: ada-lang.c:13596
+#: ada-lang.c:13766
 msgid "Prefix command for changing Ada-specfic settings"
 msgstr ""
 
-#: ada-lang.c:13600
+#: ada-lang.c:13770
 msgid "Generic command for showing Ada-specific settings."
 msgstr ""
 
-#: ada-lang.c:13604
+#: ada-lang.c:13774
 msgid "Enable or disable an optimization trusting PAD types over XVS types"
 msgstr ""
 
-#: ada-lang.c:13605
+#: ada-lang.c:13775
 msgid ""
 "Show whether an optimization trusting PAD types over XVS types is activated"
 msgstr ""
 
-#: ada-lang.c:13607
+#: ada-lang.c:13777
 msgid ""
 "This is related to the encoding used by the GNAT compiler.  The debugger\n"
 "should normally trust the contents of PAD types, but certain older versions\n"
@@ -801,42 +801,42 @@ msgid ""
 "this option to \"off\" unless necessary."
 msgstr ""
 
-#: ada-lang.c:13617
+#: ada-lang.c:13787
 msgid ""
 "Catch Ada exceptions, when raised.\n"
 "With an argument, catch only exceptions with the given name."
 msgstr ""
 
-#: ada-lang.c:13624
+#: ada-lang.c:13794
 msgid ""
 "Catch failed Ada assertions, when raised.\n"
 "With an argument, catch only exceptions with the given name."
 msgstr ""
 
-#: ada-lang.c:13635
+#: ada-lang.c:13805
 msgid ""
 "List all Ada exception names.\n"
 "If a regular expression is passed as an argument, only those matching\n"
 "the regular expression are listed."
 msgstr ""
 
-#: ada-lang.c:13641
+#: ada-lang.c:13811
 msgid "Set Ada maintenance-related variables."
 msgstr ""
 
-#: ada-lang.c:13646
+#: ada-lang.c:13816
 msgid "Show Ada maintenance-related variables"
 msgstr ""
 
-#: ada-lang.c:13653
+#: ada-lang.c:13823
 msgid "Set whether descriptive types generated by GNAT should be ignored."
 msgstr ""
 
-#: ada-lang.c:13654
+#: ada-lang.c:13824
 msgid "Show whether descriptive types generated by GNAT should be ignored."
 msgstr ""
 
-#: ada-lang.c:13655
+#: ada-lang.c:13825
 msgid ""
 "When enabled, the debugger will stop using the DW_AT_GNAT_descriptive_type\n"
 "DWARF attribute."
@@ -855,26 +855,26 @@ msgstr ""
 msgid "Invalid character '%s' in expression."
 msgstr ""
 
-#: ada-lex.l:345
+#: ada-lex.l:343
 #, possible-c-format
 msgid "Invalid base: %d."
 msgstr ""
 
-#: ada-lex.l:356 ada-lex.l:363
+#: ada-lex.l:354 ada-lex.l:361
 msgid "Integer literal out of range"
 msgstr ""
 
-#: ada-lex.l:358
+#: ada-lex.l:356
 #, possible-c-format
 msgid "Invalid digit `%c' in based literal"
 msgstr ""
 
-#: ada-lex.l:617
+#: ada-lex.l:615
 #, possible-c-format
 msgid "ambiguous attribute name: `%s'"
 msgstr ""
 
-#: ada-lex.l:620
+#: ada-lex.l:618
 #, possible-c-format
 msgid "unrecognized attribute: `%s'"
 msgstr ""
@@ -1102,59 +1102,59 @@ msgid ""
 "Without argument, this command simply prints the current task ID"
 msgstr ""
 
-#: ada-typeprint.c:377
+#: ada-typeprint.c:395
 msgid "<undecipherable array type>"
 msgstr ""
 
-#: ada-typeprint.c:701
+#: ada-typeprint.c:719
 msgid " <incomplete type> end record"
 msgstr ""
 
-#: ada-typeprint.c:868
+#: ada-typeprint.c:886
 #, possible-c-format
 msgid "<%d-byte integer>"
 msgstr ""
 
-#: ada-typeprint.c:890
+#: ada-typeprint.c:908
 #, possible-c-format
 msgid "<%d-byte float>"
 msgstr ""
 
-#: ada-typeprint.c:903
+#: ada-typeprint.c:921
 msgid "array (?) of ? (<mal-formed descriptor>)"
 msgstr ""
 
-#: ada-valprint.c:204 ada-valprint.c:497 valprint.c:2283
+#: ada-valprint.c:202 ada-valprint.c:495 valprint.c:2280
 #, possible-c-format
 msgid " <repeats %u times>"
 msgstr ""
 
-#: ada-valprint.c:428
+#: ada-valprint.c:426
 msgid "internal error: unhandled type in ada_print_scalar"
 msgstr ""
 
-#: ada-valprint.c:432 typeprint.c:588
+#: ada-valprint.c:430 typeprint.c:585
 msgid "Invalid type code in symbol table."
 msgstr ""
 
-#: ada-valprint.c:643
+#: ada-valprint.c:641
 msgid "<optimized out or zero length>"
 msgstr ""
 
 #. Could not get the array bounds.  Pretend this is an empty array.
-#: ada-varobj.c:246 valprint.c:1656
+#: ada-varobj.c:246 valprint.c:1654
 msgid "unable to get bounds of array, assuming null array"
 msgstr ""
 
-#: addrmap.c:168
+#: addrmap.c:163
 msgid "addrmap_create_fixed is not implemented yet for fixed addrmaps"
 msgstr ""
 
-#: addrmap.c:396
+#: addrmap.c:391
 msgid "addrmap_find is not implemented yet for mutable addrmaps"
 msgstr ""
 
-#: addrmap.c:469
+#: addrmap.c:464
 msgid "addrmap_relocate is not implemented yet for mutable addrmaps"
 msgstr ""
 
@@ -1180,190 +1180,185 @@ msgid ""
 "target."
 msgstr ""
 
-#: aix-thread.c:230
+#: aix-thread.c:228
 #, possible-c-format
 msgid "aix-thread: ptrace (%d, %d) returned %d (errno = %d %s)"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] idle"
-#: aix-thread.c:560
+#: aix-thread.c:558
 msgid "idle"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] running"
-#: aix-thread.c:563
+#: aix-thread.c:561
 msgid "running"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] sleeping"
-#: aix-thread.c:566
+#: aix-thread.c:564
 msgid "sleeping"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] ready"
-#: aix-thread.c:569
+#: aix-thread.c:567
 msgid "ready"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] finished"
-#: aix-thread.c:572
+#: aix-thread.c:570
 msgid "finished"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] unknown"
-#: aix-thread.c:575
+#: aix-thread.c:573
 msgid "unknown"
 msgstr ""
 
-#: aix-thread.c:1001
+#: aix-thread.c:999
 #, possible-c-format
 msgid "aix-thread resume: unknown pthread %ld"
 msgstr ""
 
-#: aix-thread.c:1006
+#: aix-thread.c:1004
 #, possible-c-format
 msgid "aix-thread resume: no tid for pthread %ld"
 msgstr ""
 
-#: aix-thread.c:1180
+#: aix-thread.c:1178
 #, possible-c-format
 msgid "aix-thread: fetch_registers: pthdb_pthread_context returned %s"
 msgstr ""
 
-#: aix-thread.c:1474
+#: aix-thread.c:1472
 #, possible-c-format
 msgid "aix-thread: store_registers: pthdb_pthread_context returned %s"
 msgstr ""
 
-#: aix-thread.c:1538
+#: aix-thread.c:1536
 #, possible-c-format
 msgid "aix-thread: store_registers: pthdb_pthread_setcontext returned %s"
 msgstr ""
 
-#: aix-thread.c:1743 dec-thread.c:671
+#: aix-thread.c:1741
 #, possible-c-format
 msgid "Thread %ld"
 msgstr ""
 
 #. i18n: Like "thread-identifier %d, [state] running, suspended"
-#: aix-thread.c:1774
+#: aix-thread.c:1772
 #, possible-c-format
 msgid "tid %d"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] running, suspended"
-#: aix-thread.c:1785
+#: aix-thread.c:1783
 msgid ", suspended"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] running, detached"
-#: aix-thread.c:1791
+#: aix-thread.c:1789
 msgid ", detached"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] running, cancel pending"
-#: aix-thread.c:1796
+#: aix-thread.c:1794
 msgid ", cancel pending"
 msgstr ""
 
-#: aix-thread.c:1820 aix-thread.c:1821
+#: aix-thread.c:1818 aix-thread.c:1819
 msgid "AIX pthread support"
 msgstr ""
 
-#: aix-thread.c:1857
+#: aix-thread.c:1855
 msgid "Set debugging of AIX thread module."
 msgstr ""
 
-#: aix-thread.c:1858
+#: aix-thread.c:1856
 msgid "Show debugging of AIX thread module."
 msgstr ""
 
-#: aix-thread.c:1859 dec-thread.c:738
+#: aix-thread.c:1857
 msgid "Enables debugging output (used to debug GDB)."
 msgstr ""
 
-#: alphabsd-nat.c:96 alphabsd-nat.c:128 amd64bsd-nat.c:54 amd64bsd-nat.c:88
-#: amd64-linux-nat.c:180 amd64-linux-nat.c:235 hppabsd-nat.c:196
-#: hppabsd-nat.c:226 hppanbsd-nat.c:172 hppanbsd-nat.c:202 i386bsd-nat.c:141
-#: i386bsd-nat.c:192 i386-linux-nat.c:260 i386-linux-nat.c:275
-#: m32r-linux-nat.c:115 m32r-linux-nat.c:164 m68kbsd-nat.c:121
-#: m68kbsd-nat.c:151 m68klinux-nat.c:269 m68klinux-nat.c:284 m88kbsd-nat.c:73
+#: alphabsd-nat.c:96 alphabsd-nat.c:128 amd64bsd-nat.c:53 amd64bsd-nat.c:87
+#: amd64-linux-nat.c:141 amd64-linux-nat.c:196 hppabsd-nat.c:196
+#: hppabsd-nat.c:226 hppanbsd-nat.c:172 hppanbsd-nat.c:202 i386bsd-nat.c:139
+#: i386bsd-nat.c:190 i386-linux-nat.c:215 i386-linux-nat.c:230
+#: m32r-linux-nat.c:112 m32r-linux-nat.c:161 m68kbsd-nat.c:120
+#: m68kbsd-nat.c:150 m68klinux-nat.c:268 m68klinux-nat.c:283 m88kbsd-nat.c:73
 #: m88kbsd-nat.c:89 mips64obsd-nat.c:88 mips64obsd-nat.c:104
-#: mips-linux-nat.c:267 mips-linux-nat.c:349 mipsnbsd-nat.c:52
-#: mipsnbsd-nat.c:83 ppcfbsd-nat.c:128 ppcfbsd-nat.c:156 ppcnbsd-nat.c:93
-#: ppcnbsd-nat.c:124 ppcobsd-nat.c:83 ppcobsd-nat.c:119 s390-linux-nat.c:239
-#: s390-linux-nat.c:256 shnbsd-nat.c:54 shnbsd-nat.c:75 sparc-nat.c:175
-#: sparc-nat.c:211 tilegx-linux-nat.c:139 tilegx-linux-nat.c:159
-#: vaxbsd-nat.c:73 vaxbsd-nat.c:89 xtensa-linux-nat.c:194
-#: xtensa-linux-nat.c:213
+#: mips-linux-nat.c:262 mips-linux-nat.c:344 mipsnbsd-nat.c:52
+#: mipsnbsd-nat.c:83 ppcfbsd-nat.c:126 ppcfbsd-nat.c:154 ppcnbsd-nat.c:91
+#: ppcnbsd-nat.c:122 ppcobsd-nat.c:81 ppcobsd-nat.c:117 s390-linux-nat.c:215
+#: s390-linux-nat.c:232 shnbsd-nat.c:54 shnbsd-nat.c:75 sparc-nat.c:173
+#: sparc-nat.c:209 tilegx-linux-nat.c:136 tilegx-linux-nat.c:156
+#: vaxbsd-nat.c:73 vaxbsd-nat.c:89 xtensa-linux-nat.c:192
+#: xtensa-linux-nat.c:211
 msgid "Couldn't get registers"
 msgstr ""
 
-#: alphabsd-nat.c:110 alphabsd-nat.c:147 amd64bsd-nat.c:67 amd64bsd-nat.c:106
-#: amd64-linux-nat.c:207 amd64-linux-nat.c:270 hppabsd-nat.c:207
-#: hppabsd-nat.c:241 hppanbsd-nat.c:183 hppanbsd-nat.c:217 i386bsd-nat.c:165
-#: i386bsd-nat.c:172 i386bsd-nat.c:228 i386-linux-nat.c:324
-#: i386-linux-nat.c:338 m68kbsd-nat.c:132 m68kbsd-nat.c:166
-#: m68klinux-nat.c:366 m68klinux-nat.c:380 mipsnbsd-nat.c:66
-#: mipsnbsd-nat.c:102 ppcobsd-nat.c:100 ppcobsd-nat.c:140 s390-linux-nat.c:276
-#: s390-linux-nat.c:293 sparc-nat.c:187
+#: alphabsd-nat.c:110 alphabsd-nat.c:147 amd64bsd-nat.c:66 amd64bsd-nat.c:105
+#: amd64-linux-nat.c:168 amd64-linux-nat.c:231 hppabsd-nat.c:207
+#: hppabsd-nat.c:241 hppanbsd-nat.c:183 hppanbsd-nat.c:217 i386bsd-nat.c:163
+#: i386bsd-nat.c:170 i386bsd-nat.c:226 i386-linux-nat.c:279
+#: i386-linux-nat.c:293 m68kbsd-nat.c:131 m68kbsd-nat.c:165
+#: m68klinux-nat.c:365 m68klinux-nat.c:379 mipsnbsd-nat.c:66
+#: mipsnbsd-nat.c:102 ppcobsd-nat.c:98 ppcobsd-nat.c:138 s390-linux-nat.c:252
+#: s390-linux-nat.c:269 sparc-nat.c:185
 msgid "Couldn't get floating point status"
 msgstr ""
 
-#: alphabsd-nat.c:134 amd64bsd-nat.c:94 amd64-linux-nat.c:240
-#: hppabsd-nat.c:232 hppanbsd-nat.c:208 i386bsd-nat.c:198 i386-linux-nat.c:280
-#: m32r-linux-nat.c:169 m68kbsd-nat.c:157 m68klinux-nat.c:289 m88kbsd-nat.c:95
-#: mips64obsd-nat.c:110 mipsnbsd-nat.c:89 ppcfbsd-nat.c:162 ppcnbsd-nat.c:131
-#: ppcobsd-nat.c:130 s390-linux-nat.c:261 sparc-nat.c:216
-#: tilegx-linux-nat.c:164 vaxbsd-nat.c:95 xtensa-linux-nat.c:221
+#: alphabsd-nat.c:134 amd64bsd-nat.c:93 amd64-linux-nat.c:201
+#: hppabsd-nat.c:232 hppanbsd-nat.c:208 i386bsd-nat.c:196 i386-linux-nat.c:235
+#: m32r-linux-nat.c:166 m68kbsd-nat.c:156 m68klinux-nat.c:288 m88kbsd-nat.c:95
+#: mips64obsd-nat.c:110 mipsnbsd-nat.c:89 ppcfbsd-nat.c:160 ppcnbsd-nat.c:129
+#: ppcobsd-nat.c:128 s390-linux-nat.c:237 sparc-nat.c:214
+#: tilegx-linux-nat.c:161 vaxbsd-nat.c:95 xtensa-linux-nat.c:219
 msgid "Couldn't write registers"
 msgstr ""
 
-#: alphabsd-nat.c:153 amd64bsd-nat.c:112 amd64-linux-nat.c:275
-#: hppabsd-nat.c:247 hppanbsd-nat.c:223 i386bsd-nat.c:234 i386-linux-nat.c:343
-#: m68kbsd-nat.c:172 m68klinux-nat.c:385 mipsnbsd-nat.c:108 ppcobsd-nat.c:147
-#: s390-linux-nat.c:298
+#: alphabsd-nat.c:153 amd64bsd-nat.c:111 amd64-linux-nat.c:236
+#: hppabsd-nat.c:247 hppanbsd-nat.c:223 i386bsd-nat.c:232 i386-linux-nat.c:298
+#: m68kbsd-nat.c:171 m68klinux-nat.c:384 mipsnbsd-nat.c:108 ppcobsd-nat.c:145
+#: s390-linux-nat.c:274
 msgid "Couldn't write floating point status"
 msgstr ""
 
-#: alpha-nat.c:131
-#, possible-c-format
-msgid "Register %s not found in core file."
-msgstr ""
-
-#: alpha-tdep.c:261
+#: alpha-tdep.c:260
 msgid "Cannot retrieve value from floating point register"
 msgstr ""
 
-#: alpha-tdep.c:276
+#: alpha-tdep.c:275
 msgid "Cannot store value in floating point register"
 msgstr ""
 
-#: alpha-tdep.c:502 alpha-tdep.c:526 alpha-tdep.c:571 alpha-tdep.c:596
+#: alpha-tdep.c:501 alpha-tdep.c:525 alpha-tdep.c:570 alpha-tdep.c:595
 msgid "unknown floating point width"
 msgstr ""
 
 #. FIXME: 128-bit long doubles are returned like structures:
 #. by writing into indirect storage provided by the caller
 #. as the first argument.
-#: alpha-tdep.c:567 alpha-tdep.c:592
+#: alpha-tdep.c:566 alpha-tdep.c:591
 msgid "Cannot set a 128-bit long double return value."
 msgstr ""
 
-#: alpha-tdep.c:1098
+#: alpha-tdep.c:1097
 #, possible-c-format
 msgid ""
 "Hit beginning of text section without finding enclosing function for address "
 "%s"
 msgstr ""
 
-#: alpha-tdep.c:1101
+#: alpha-tdep.c:1100
 #, possible-c-format
 msgid ""
 "Hit heuristic-fence-post without finding enclosing function for address %s"
 msgstr ""
 
-#: alpha-tdep.c:1106
+#: alpha-tdep.c:1105
 msgid ""
 "This warning occurs if you are debugging a function without any symbols\n"
 "(for example, in a stripped executable).  In that case, you may wish to\n"
@@ -1374,145 +1369,115 @@ msgid ""
 "(more likely) you have encountered a bug in GDB.\n"
 msgstr ""
 
-#: alpha-tdep.c:1881 mips-tdep.c:8887
+#: alpha-tdep.c:1872 mips-tdep.c:9179
 msgid "Set the distance searched for the start of a function."
 msgstr ""
 
-#: alpha-tdep.c:1882 mips-tdep.c:8888
+#: alpha-tdep.c:1873 mips-tdep.c:9180
 msgid "Show the distance searched for the start of a function."
 msgstr ""
 
-#: alpha-tdep.c:1883 mips-tdep.c:8889
+#: alpha-tdep.c:1874 mips-tdep.c:9181
 msgid ""
 "If you are debugging a stripped executable, GDB needs to search through the\n"
 "program for the start of a function.  This command sets the distance of the\n"
 "search.  The only need to set it is when debugging a stripped executable."
 msgstr ""
 
-#: amd64bsd-nat.c:142 i386bsd-nat.c:273
+#: amd64bsd-nat.c:141 i386bsd-nat.c:271
 msgid "Couldn't read debug registers"
 msgstr ""
 
-#: amd64bsd-nat.c:154 i386bsd-nat.c:285
+#: amd64bsd-nat.c:153 i386bsd-nat.c:283
 msgid "Couldn't get debug registers"
 msgstr ""
 
-#: amd64bsd-nat.c:165 i386bsd-nat.c:296
+#: amd64bsd-nat.c:164 i386bsd-nat.c:294
 msgid "Couldn't write debug registers"
 msgstr ""
 
-#: amd64fbsd-nat.c:216
+#: amd64fbsd-nat.c:213
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_rip) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: amd64fbsd-nat.c:229
+#: amd64fbsd-nat.c:226
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_rsp) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: amd64fbsd-nat.c:242
+#: amd64fbsd-nat.c:239
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_rbp) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: amd64-linux-nat.c:200 amd64-linux-nat.c:259
+#: amd64-linux-nat.c:161 amd64-linux-nat.c:220
 msgid "Couldn't get extended state status"
 msgstr ""
 
-#: amd64-linux-nat.c:265 i386-linux-nat.c:409
+#: amd64-linux-nat.c:226 i386-linux-nat.c:364
 msgid "Couldn't write extended state status"
 msgstr ""
 
-#: amd64-linux-nat.c:296 i386-linux-nat.c:663
-msgid "Couldn't read debug register"
-msgstr ""
-
-#: amd64-linux-nat.c:316 i386-linux-nat.c:683 mips-linux-nat.c:622
-#: mips-linux-nat.c:642
-msgid "Couldn't write debug register"
-msgstr ""
-
-#: amd64-linux-nat.c:1071
-msgid "Couldn't get CS register"
-msgstr ""
-
-#: amd64-linux-nat.c:1080
-msgid "Couldn't get DS register"
-msgstr ""
-
-#: amd64-linux-nat.c:1085
-msgid "Can't debug 64-bit process with 32-bit GDB"
-msgstr ""
-
-#: amd64-linux-nat.c:1183 i386-linux-nat.c:1079
-#, possible-c-format
-msgid "Could not enable branch tracing for %s: %s."
-msgstr ""
-
-#: amd64-linux-nat.c:1202 i386-linux-nat.c:1098
-msgid "Could not disable branch tracing."
-msgstr ""
-
-#: amd64-linux-tdep.c:1502 arm-linux-tdep.c:1293 i386-linux-tdep.c:435
+#: amd64-linux-tdep.c:1491 arm-linux-tdep.c:1304 i386-linux-tdep.c:411
 #, possible-c-format
 msgid "Process record and replay target doesn't support syscall number %s\n"
 msgstr ""
 
-#: amd64-tdep.c:251 avr-tdep.c:1340 cris-tdep.c:1797 msp430-tdep.c:588
-#: s390-linux-tdep.c:208
+#: amd64-tdep.c:255 avr-tdep.c:1368 cris-tdep.c:1795 msp430-tdep.c:588
+#: s390-linux-tdep.c:204
 #, possible-c-format
 msgid "Unmapped DWARF Register #%d encountered."
 msgstr ""
 
 #. We shouldn't get here.
-#: amd64-tdep.c:1190
+#: amd64-tdep.c:1196
 msgid "unable to find free reg"
 msgstr ""
 
-#: arch-utils.c:216 m32c-tdep.c:2596 m32c-tdep.c:2617
+#: arch-utils.c:233 m32c-tdep.c:2591 m32c-tdep.c:2612
 msgid "No virtual frame pointer available"
 msgstr ""
 
-#: arch-utils.c:279
+#: arch-utils.c:304
 msgid "The target endianness is set automatically (currently big endian)\n"
 msgstr ""
 
-#: arch-utils.c:282
+#: arch-utils.c:307
 msgid "The target endianness is set automatically (currently little endian)\n"
 msgstr ""
 
-#: arch-utils.c:287
+#: arch-utils.c:312
 msgid "The target is assumed to be big endian\n"
 msgstr ""
 
-#: arch-utils.c:290
+#: arch-utils.c:315
 msgid "The target is assumed to be little endian\n"
 msgstr ""
 
-#: arch-utils.c:305
+#: arch-utils.c:330
 msgid "set_endian: architecture update failed"
 msgstr ""
 
-#: arch-utils.c:311
+#: arch-utils.c:336
 msgid "Little endian target not supported by GDB\n"
 msgstr ""
 
-#: arch-utils.c:319
+#: arch-utils.c:344
 msgid "Big endian target not supported by GDB\n"
 msgstr ""
 
-#: arch-utils.c:325
+#: arch-utils.c:350
 msgid "set_endian: bad value"
 msgstr ""
 
-#: arch-utils.c:384
+#: arch-utils.c:409
 #, possible-c-format
 msgid ""
 "Selected architecture %s is not compatible with reported target architecture "
@@ -1521,344 +1486,348 @@ msgstr ""
 
 #. We have no idea which one is better.  This is a bug, but not
 #. a critical problem; warn the user.
-#: arch-utils.c:408
+#: arch-utils.c:433
 #, possible-c-format
 msgid ""
 "Selected architecture %s is ambiguous with reported target architecture %s"
 msgstr ""
 
-#: arch-utils.c:439
+#: arch-utils.c:464
 #, possible-c-format
 msgid "The target architecture is set automatically (currently %s)\n"
 msgstr ""
 
-#: arch-utils.c:443
+#: arch-utils.c:468
 #, possible-c-format
 msgid "The target architecture is assumed to be %s\n"
 msgstr ""
 
-#: arch-utils.c:463
+#: arch-utils.c:488
 msgid "could not select an architecture automatically"
 msgstr ""
 
-#: arch-utils.c:470
+#: arch-utils.c:495
 msgid "set_architecture: bfd_scan_arch failed"
 msgstr ""
 
-#: arch-utils.c:474
+#: arch-utils.c:499
 #, possible-c-format
 msgid "Architecture `%s' not recognized.\n"
 msgstr ""
 
-#: arch-utils.c:559
+#: arch-utils.c:584
 msgid "Architecture of file not recognized."
 msgstr ""
 
-#: arch-utils.c:606
+#: arch-utils.c:631
 msgid "initialize_current_architecture: No arch"
 msgstr ""
 
-#: arch-utils.c:610
+#: arch-utils.c:635
 msgid "initialize_current_architecture: Arch not found"
 msgstr ""
 
-#: arch-utils.c:653
+#: arch-utils.c:678
 msgid ""
 "initialize_current_architecture: Selection of initial architecture failed"
 msgstr ""
 
-#: arch-utils.c:667
+#: arch-utils.c:692
 msgid "Set architecture of target."
 msgstr ""
 
-#: arch-utils.c:668
+#: arch-utils.c:693
 msgid "Show architecture of target."
 msgstr ""
 
-#: arch-utils.c:795
+#: arch-utils.c:820
 msgid "This architecture has no method to collect a return address."
 msgstr ""
 
-#: arch-utils.c:833
+#: arch-utils.c:864
+msgid "This target does not support inferior memory allocation by mmap."
+msgstr ""
+
+#: arch-utils.c:893
 msgid "Set endianness of target."
 msgstr ""
 
-#: arch-utils.c:834
+#: arch-utils.c:894
 msgid "Show endianness of target."
 msgstr ""
 
-#: arm-linux-nat.c:107
+#: arm-linux-nat.c:106
 msgid "Unable to fetch floating point register."
 msgstr ""
 
-#: arm-linux-nat.c:137 arm-linux-nat.c:166 arm-linux-nat.c:203
+#: arm-linux-nat.c:136 arm-linux-nat.c:165 arm-linux-nat.c:202
 msgid "Unable to fetch the floating point registers."
 msgstr ""
 
-#: arm-linux-nat.c:182
+#: arm-linux-nat.c:181
 msgid "Unable to store floating point register."
 msgstr ""
 
-#: arm-linux-nat.c:219
+#: arm-linux-nat.c:218
 msgid "Unable to store floating point registers."
 msgstr ""
 
-#: arm-linux-nat.c:239
+#: arm-linux-nat.c:238
 msgid "Unable to fetch general register."
 msgstr ""
 
-#: arm-linux-nat.c:336
+#: arm-linux-nat.c:335
 msgid "Unable to store general register."
 msgstr ""
 
-#: arm-linux-nat.c:394 arm-linux-nat.c:423
+#: arm-linux-nat.c:393 arm-linux-nat.c:422
 msgid "Unable to fetch WMMX registers."
 msgstr ""
 
-#: arm-linux-nat.c:449
+#: arm-linux-nat.c:448
 msgid "Unable to store WMMX registers."
 msgstr ""
 
-#: arm-linux-nat.c:471
+#: arm-linux-nat.c:470
 msgid "Unable to fetch VFP registers."
 msgstr ""
 
-#: arm-linux-nat.c:495
+#: arm-linux-nat.c:494
 msgid "Unable to fetch VFP registers (for update)."
 msgstr ""
 
-#: arm-linux-nat.c:510
+#: arm-linux-nat.c:509
 msgid "Unable to store VFP registers."
 msgstr ""
 
-#: arm-linux-nat.c:732
+#: arm-linux-nat.c:731
 #, possible-c-format
 msgid ""
 "arm-linux-gdb supports %d hardware watchpoints but "
 "target                       supports %d"
 msgstr ""
 
-#: arm-linux-nat.c:739
+#: arm-linux-nat.c:738
 #, possible-c-format
 msgid ""
 "arm-linux-gdb supports %d hardware breakpoints but "
 "target                       supports %d"
 msgstr ""
 
-#: arm-linux-nat.c:1351 arm-linux-nat.c:1356
+#: arm-linux-nat.c:1350 arm-linux-nat.c:1355
 msgid "Unexpected error setting breakpoint"
 msgstr ""
 
-#: arm-linux-nat.c:1368 arm-linux-nat.c:1373
+#: arm-linux-nat.c:1367 arm-linux-nat.c:1372
 msgid "Unexpected error setting watchpoint"
 msgstr ""
 
-#: arm-linux-tdep.c:1378
+#: arm-linux-tdep.c:1402
 msgid "arm_linux_init_abi: Floating point model not supported"
 msgstr ""
 
-#: armnbsd-nat.c:87
+#: armnbsd-nat.c:85
 msgid "unable to fetch general register"
 msgstr ""
 
-#: armnbsd-nat.c:140 armnbsd-nat.c:188 armnbsd-nat.c:226
+#: armnbsd-nat.c:138 armnbsd-nat.c:186 armnbsd-nat.c:224
 msgid "unable to fetch general registers"
 msgstr ""
 
-#: armnbsd-nat.c:158
+#: armnbsd-nat.c:156
 msgid "unable to fetch floating-point register"
 msgstr ""
 
-#: armnbsd-nat.c:288 armnbsd-nat.c:371
+#: armnbsd-nat.c:286 armnbsd-nat.c:369
 #, possible-c-format
 msgid "unable to write register %d to inferior"
 msgstr ""
 
-#: armnbsd-nat.c:336
+#: armnbsd-nat.c:334
 msgid "unable to store general registers"
 msgstr ""
 
-#: armnbsd-nat.c:350
+#: armnbsd-nat.c:348
 msgid "unable to fetch floating-point registers"
 msgstr ""
 
-#: armnbsd-nat.c:393
+#: armnbsd-nat.c:391
 msgid "unable to store floating-point registers"
 msgstr ""
 
-#: armnbsd-nat.c:445
+#: armnbsd-nat.c:443
 msgid "wrong size of register set in core file"
 msgstr ""
 
-#: armnbsd-nat.c:457
+#: armnbsd-nat.c:455
 msgid "wrong size of FPA register set in core file"
 msgstr ""
 
-#: armnbsd-tdep.c:64 arm-tdep.c:10240
+#: armnbsd-tdep.c:62 arm-tdep.c:10312
 msgid "arm_gdbarch_init: bad byte order for float format"
 msgstr ""
 
 #. multiply
-#: arm-tdep.c:1578 arm-tdep.c:4736 arm-tdep.c:4757 arm-tdep.c:4872
+#: arm-tdep.c:1535 arm-tdep.c:4793 arm-tdep.c:4814 arm-tdep.c:4929
 msgid "Invalid update to pc in instruction"
 msgstr ""
 
-#: arm-tdep.c:1648
+#: arm-tdep.c:1605
 msgid "bad value in switch"
 msgstr ""
 
-#: arm-tdep.c:3462 arm-tdep.c:3484
+#: arm-tdep.c:3487 arm-tdep.c:3509
 #, possible-c-format
 msgid "Invalid VFP CPRC type: %d."
 msgstr ""
 
-#: arm-tdep.c:3919
+#: arm-tdep.c:3976
 #, possible-c-format
 msgid "Hardware FPU type %d\n"
 msgstr ""
 
-#: arm-tdep.c:3921
+#: arm-tdep.c:3978
 #, possible-c-format
 msgid "Software FPU type %d\n"
 msgstr ""
 
 #. i18n: [floating point unit] mask
-#: arm-tdep.c:3923
+#: arm-tdep.c:3980
 msgid "mask: "
 msgstr ""
 
 #. i18n: [floating point unit] flags
-#: arm-tdep.c:3926
+#: arm-tdep.c:3983
 msgid "flags: "
 msgstr ""
 
-#: arm-tdep.c:4155
+#: arm-tdep.c:4212
 #, possible-c-format
 msgid "Bad REGNUM %d"
 msgstr ""
 
-#: arm-tdep.c:4956
+#: arm-tdep.c:5013
 msgid "Bad bit-field extraction\n"
 msgstr ""
 
 #. Unpredictable behaviour.  Try to do something sensible (switch to ARM
 #. mode, align dest to 4 bytes).
-#: arm-tdep.c:5545
+#: arm-tdep.c:5602
 msgid "Single-stepping BX to non-word-aligned ARM instruction."
 msgstr ""
 
-#: arm-tdep.c:5607
+#: arm-tdep.c:5664
 msgid "Instruction wrote to PC in an unexpected way when single-stepping"
 msgstr ""
 
-#: arm-tdep.c:5613
+#: arm-tdep.c:5670
 msgid "Invalid argument to displaced_write_reg"
 msgstr ""
 
-#: arm-tdep.c:6574
+#: arm-tdep.c:6631
 msgid "copy_extra_ld_st: instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:6888
+#: arm-tdep.c:6945
 msgid "Cannot single-step exception return"
 msgstr ""
 
-#: arm-tdep.c:7008
+#: arm-tdep.c:7065
 #, possible-c-format
 msgid "displaced: LDM: move loaded register r%d to r%d\n"
 msgstr ""
 
-#: arm-tdep.c:7013
+#: arm-tdep.c:7070
 #, possible-c-format
 msgid "displaced: LDM: register r%d already in the right place\n"
 msgstr ""
 
-#: arm-tdep.c:7033
+#: arm-tdep.c:7090
 #, possible-c-format
 msgid "displaced: LDM: restored clobbered register r%d\n"
 msgstr ""
 
-#: arm-tdep.c:7076 arm-tdep.c:7187
+#: arm-tdep.c:7133 arm-tdep.c:7244
 msgid "displaced: Unpredictable LDM or STM with base register r15"
 msgstr ""
 
-#: arm-tdep.c:7145 arm-tdep.c:7231
+#: arm-tdep.c:7202 arm-tdep.c:7288
 #, possible-c-format
 msgid ""
 "displaced: LDM r%d%s, {..., pc}: original reg list %.4x, modified list %.4x\n"
 msgstr ""
 
-#: arm-tdep.c:8190
+#: arm-tdep.c:8247
 #, possible-c-format
 msgid "displaced: POP {..., pc}: original reg list %.4x, modified list %.4x\n"
 msgstr ""
 
-#: arm-tdep.c:8307
+#: arm-tdep.c:8364
 msgid "thumb_process_displaced_16bit_insn: Instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:8515
+#: arm-tdep.c:8572
 msgid "thumb_process_displaced_32bit_insn: Instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:8599
+#: arm-tdep.c:8656
 msgid "arm_process_displaced_insn: Instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:8874
+#: arm-tdep.c:8931
 msgid "arm_extract_return_value: Floating point model not supported"
 msgstr ""
 
-#: arm-tdep.c:9065
+#: arm-tdep.c:9122
 msgid "arm_store_return_value: Floating point model not supported"
 msgstr ""
 
-#: arm-tdep.c:9295
+#: arm-tdep.c:9360
 msgid "\"set arm\" must be followed by an apporpriate subcommand.\n"
 msgstr ""
 
-#: arm-tdep.c:9319 rs6000-tdep.c:4249 rs6000-tdep.c:4276
+#: arm-tdep.c:9384 rs6000-tdep.c:4253 rs6000-tdep.c:4280
 msgid "could not update architecture"
 msgstr ""
 
-#: arm-tdep.c:9336
+#: arm-tdep.c:9401
 #, possible-c-format
 msgid "Invalid fp model accepted: %s."
 msgstr ""
 
-#: arm-tdep.c:9350
+#: arm-tdep.c:9415
 #, possible-c-format
 msgid "The current ARM floating point model is \"auto\" (currently \"%s\").\n"
 msgstr ""
 
-#: arm-tdep.c:9354
+#: arm-tdep.c:9419
 #, possible-c-format
 msgid "The current ARM floating point model is \"%s\".\n"
 msgstr ""
 
-#: arm-tdep.c:9373
+#: arm-tdep.c:9438
 #, possible-c-format
 msgid "Invalid ABI accepted: %s."
 msgstr ""
 
-#: arm-tdep.c:9387
+#: arm-tdep.c:9452
 #, possible-c-format
 msgid "The current ARM ABI is \"auto\" (currently \"%s\").\n"
 msgstr ""
 
-#: arm-tdep.c:9391
+#: arm-tdep.c:9456
 #, possible-c-format
 msgid "The current ARM ABI is \"%s\".\n"
 msgstr ""
 
-#: arm-tdep.c:9400
+#: arm-tdep.c:9465
 #, possible-c-format
 msgid ""
 "The current execution mode assumed (when symbols are unavailable) is \"%s"
 "\".\n"
 msgstr ""
 
-#: arm-tdep.c:9412
+#: arm-tdep.c:9477
 #, possible-c-format
 msgid ""
 "The current execution mode assumed (even when symbols are available) is \"%s"
@@ -1866,57 +1835,57 @@ msgid ""
 msgstr ""
 
 #. Leave it as "auto".
-#: arm-tdep.c:9938
+#: arm-tdep.c:10010
 #, possible-c-format
 msgid "unknown ARM EABI version 0x%x"
 msgstr ""
 
-#: arm-tdep.c:10419
+#: arm-tdep.c:10491
 #, possible-c-format
 msgid "arm_dump_tdep: Lowest pc = 0x%lx"
 msgstr ""
 
-#: arm-tdep.c:10468 arm-tdep.c:10472
+#: arm-tdep.c:10540 arm-tdep.c:10544
 msgid "Various ARM-specific commands."
 msgstr ""
 
-#: arm-tdep.c:10503
+#: arm-tdep.c:10575
 msgid "The valid values are:\n"
 msgstr ""
 
-#: arm-tdep.c:10505
+#: arm-tdep.c:10577
 msgid "The default is \"std\"."
 msgstr ""
 
-#: arm-tdep.c:10511
+#: arm-tdep.c:10583
 msgid "Set the disassembly style."
 msgstr ""
 
-#: arm-tdep.c:10512
+#: arm-tdep.c:10584
 msgid "Show the disassembly style."
 msgstr ""
 
-#: arm-tdep.c:10520
+#: arm-tdep.c:10592
 msgid "Set usage of ARM 32-bit mode."
 msgstr ""
 
-#: arm-tdep.c:10521
+#: arm-tdep.c:10593
 msgid "Show usage of ARM 32-bit mode."
 msgstr ""
 
-#: arm-tdep.c:10522
+#: arm-tdep.c:10594
 msgid "When off, a 26-bit PC will be used."
 msgstr ""
 
-#: arm-tdep.c:10530
+#: arm-tdep.c:10602
 msgid "Set the floating point type."
 msgstr ""
 
-#: arm-tdep.c:10531
+#: arm-tdep.c:10603
 msgid "Show the floating point type."
 msgstr ""
 
-#: arm-tdep.c:10532
+#: arm-tdep.c:10604
 msgid ""
 "auto - Determine the FP typefrom the OS-ABI.\n"
 "softfpa - Software FP, mixed-endian doubles on little-endian ARMs.\n"
@@ -1925,45 +1894,45 @@ msgid ""
 "vfp - VFP co-processor."
 msgstr ""
 
-#: arm-tdep.c:10542
+#: arm-tdep.c:10614
 msgid "Set the ABI."
 msgstr ""
 
-#: arm-tdep.c:10543
+#: arm-tdep.c:10615
 msgid "Show the ABI."
 msgstr ""
 
-#: arm-tdep.c:10551
+#: arm-tdep.c:10623
 msgid "Set the mode assumed when symbols are unavailable."
 msgstr ""
 
-#: arm-tdep.c:10552
+#: arm-tdep.c:10624
 msgid "Show the mode assumed when symbols are unavailable."
 msgstr ""
 
-#: arm-tdep.c:10557
+#: arm-tdep.c:10629
 msgid "Set the mode assumed even when symbols are available."
 msgstr ""
 
-#: arm-tdep.c:10558
+#: arm-tdep.c:10630
 msgid "Show the mode assumed even when symbols are available."
 msgstr ""
 
-#: arm-tdep.c:10564
+#: arm-tdep.c:10636
 msgid "Set ARM debugging."
 msgstr ""
 
-#: arm-tdep.c:10565
+#: arm-tdep.c:10637
 msgid "Show ARM debugging."
 msgstr ""
 
-#: arm-tdep.c:10566
+#: arm-tdep.c:10638
 msgid "When on, arm-specific debugging is enabled."
 msgstr ""
 
 #. SPSR is going to be changed.
 #. We need to get SPSR value, which is yet to be done.
-#: arm-tdep.c:10946
+#: arm-tdep.c:11020
 #, possible-c-format
 msgid "Process record does not support instruction  0x%0x at address %s.\n"
 msgstr ""
@@ -1975,124 +1944,128 @@ msgstr ""
 #. How to read SPSR value?
 #. Save SPSR also; how?
 #. We need to save SPSR value, which is not yet done.
-#: arm-tdep.c:10991 arm-tdep.c:11040 arm-tdep.c:11211 arm-tdep.c:11270
-#: arm-tdep.c:11912 arm-tdep.c:12258
+#: arm-tdep.c:11065 arm-tdep.c:11114 arm-tdep.c:11285 arm-tdep.c:11344
+#: arm-tdep.c:11931 arm-tdep.c:12847
 #, possible-c-format
 msgid "Process record does not support instruction 0x%0x at address %s.\n"
 msgstr ""
 
-#: arm-tdep.c:11121
+#: arm-tdep.c:11195
 #, possible-c-format
 msgid "Process record does not support instruction x%0x at address %s.\n"
 msgstr ""
 
-#: arm-tdep.c:11949 arm-tdep.c:12356
+#: arm-tdep.c:12507 arm-tdep.c:12945
 msgid "no syscall record support\n"
 msgstr ""
 
-#: arm-tdep.c:13040 arm-tdep.c:13137
+#: arm-tdep.c:13829 arm-tdep.c:13926
 #, possible-c-format
 msgid "Process record: error reading memory at addr %s len = %d.\n"
 msgstr ""
 
-#: auto-load.c:70
+#: auto-load.c:69
 #, possible-c-format
 msgid "Debugging output for files of 'set auto-load ...' is %s.\n"
 msgstr ""
 
-#: auto-load.c:88
+#: auto-load.c:87
 #, possible-c-format
 msgid "Auto-loading of canned sequences of commands scripts is %s.\n"
 msgstr ""
 
-#: auto-load.c:128
+#: auto-load.c:127
 #, possible-c-format
 msgid "Auto-loading of .gdbinit script from current directory is %s.\n"
 msgstr ""
 
-#: auto-load.c:157
+#: auto-load.c:156
 #, possible-c-format
 msgid "List of directories from which to load auto-loaded scripts is %s.\n"
 msgstr ""
 
-#: auto-load.c:188
+#: auto-load.c:187
 #, possible-c-format
 msgid "auto-load: Expanded $-variables to \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:206
+#: auto-load.c:205
 #, possible-c-format
 msgid "auto-load: Updating directories of \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:229
+#: auto-load.c:228
 #, possible-c-format
 msgid "auto-load: Using directory \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:233
+#: auto-load.c:232
 #, possible-c-format
 msgid "auto-load: Resolved directory \"%s\" as \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:248
+#: auto-load.c:247
 #, possible-c-format
 msgid "auto-load: And canonicalized as \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:292
+#: auto-load.c:291
 msgid "Auto-load files are safe to load from any directory.\n"
 msgstr ""
 
-#: auto-load.c:295
+#: auto-load.c:294
 #, possible-c-format
 msgid "List of directories from which it is safe to auto-load files is %s.\n"
 msgstr ""
 
-#: auto-load.c:309
+#: auto-load.c:308
 msgid ""
 "Directory argument required.\n"
 "Use 'set auto-load safe-path /' for disabling the auto-load safe-path "
 "security."
 msgstr ""
 
-#: auto-load.c:331
+#: auto-load.c:329
+msgid "Directory argument required."
+msgstr ""
+
+#: auto-load.c:346
 #, possible-c-format
 msgid "auto-load: Matching file \"%s\" to pattern \"%s\"\n"
 msgstr ""
 
-#: auto-load.c:349
+#: auto-load.c:364
 msgid "auto-load: Matched - empty pattern\n"
 msgstr ""
 
-#: auto-load.c:364
+#: auto-load.c:379
 #, possible-c-format
 msgid "auto-load: Not matched - pattern \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:373
+#: auto-load.c:388
 #, possible-c-format
 msgid "auto-load: Matched - file \"%s\" to pattern \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:427
+#: auto-load.c:442
 #, possible-c-format
 msgid "auto-load: Resolved file \"%s\" as \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:442
+#: auto-load.c:457
 #, possible-c-format
 msgid "auto-load: File \"%s\" matches directory \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:490
+#: auto-load.c:505
 #, possible-c-format
 msgid ""
 "File \"%s\" auto-loading has been declined by your `auto-load safe-path' set "
 "to \"%s\"."
 msgstr ""
 
-#: auto-load.c:504
+#: auto-load.c:519
 #, possible-c-format
 msgid ""
 "To enable execution of this file add\n"
@@ -2107,50 +2080,50 @@ msgid ""
 "\tinfo \"(gdb)Auto-loading safe path\"\n"
 msgstr ""
 
-#: auto-load.c:733 auto-load.c:764
+#: auto-load.c:748 auto-load.c:779
 #, possible-c-format
 msgid "auto-load: Attempted file \"%s\" %s.\n"
 msgstr ""
 
-#: auto-load.c:734 auto-load.c:767
+#: auto-load.c:749 auto-load.c:782
 msgid "exists"
 msgstr ""
 
-#: auto-load.c:734 auto-load.c:767
+#: auto-load.c:749 auto-load.c:782
 msgid "does not exist"
 msgstr ""
 
-#: auto-load.c:749
+#: auto-load.c:764
 #, possible-c-format
 msgid "auto-load: Searching 'set auto-load scripts-directory' path \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:782
+#: auto-load.c:797
 #, possible-c-format
 msgid "auto-load: Loading %s script \"%s\" by extension for objfile \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:842
+#: auto-load.c:857
 #, possible-c-format
 msgid "auto-load: Stripped .exe suffix, retrying with \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:892
+#: auto-load.c:907
 #, possible-c-format
 msgid "Invalid entry in %s section"
 msgstr ""
 
-#: auto-load.c:907
+#: auto-load.c:922
 #, possible-c-format
 msgid "Non-null-terminated path in %s: %s"
 msgstr ""
 
-#: auto-load.c:914
+#: auto-load.c:929
 #, possible-c-format
 msgid "Empty path in %s"
 msgstr ""
 
-#: auto-load.c:931
+#: auto-load.c:946
 #, possible-c-format
 msgid ""
 "Unsupported auto-load scripts referenced in %s section\n"
@@ -2158,13 +2131,13 @@ msgid ""
 "Use `info auto-load %s-scripts [REGEXP]' to list them."
 msgstr ""
 
-#: auto-load.c:961
+#: auto-load.c:976
 #, possible-c-format
 msgid ""
 "auto-load: Loading %s script \"%s\" from section \"%s\" of objfile \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:981
+#: auto-load.c:996
 #, possible-c-format
 msgid ""
 "Missing auto-load scripts referenced in section %s\n"
@@ -2172,89 +2145,89 @@ msgid ""
 "Use `info auto-load %s-scripts [REGEXP]' to list them."
 msgstr ""
 
-#: auto-load.c:1013
+#: auto-load.c:1028
 #, possible-c-format
 msgid "Couldn't read %s section of %s"
 msgstr ""
 
-#: auto-load.c:1157 solib.c:926 solib.c:1008
+#: auto-load.c:1172 solib.c:918 solib.c:1000
 #, possible-c-format
 msgid "Invalid regexp: %s"
 msgstr ""
 
-#: auto-load.c:1232
+#: auto-load.c:1247
 msgid "Local .gdbinit file was not found.\n"
 msgstr ""
 
-#: auto-load.c:1234
+#: auto-load.c:1249
 #, possible-c-format
 msgid "Local .gdbinit file \"%s\" has been loaded.\n"
 msgstr ""
 
-#: auto-load.c:1237
+#: auto-load.c:1252
 #, possible-c-format
 msgid "Local .gdbinit file \"%s\" has not been loaded.\n"
 msgstr ""
 
-#: auto-load.c:1288
+#: auto-load.c:1303
 msgid ""
 "Valid is only global 'set auto-load no'; otherwise check the auto-load sub-"
 "commands."
 msgstr ""
 
-#: auto-load.c:1307
+#: auto-load.c:1322
 msgid ""
 "Auto-loading specific settings.\n"
 "Configure various auto-load-specific variables such as\n"
 "automatic loading of Python scripts."
 msgstr ""
 
-#: auto-load.c:1334
+#: auto-load.c:1349
 msgid ""
 "Show auto-loading specific settings.\n"
 "Show configuration of various auto-load-specific variables such as\n"
 "automatic loading of Python scripts."
 msgstr ""
 
-#: auto-load.c:1385
+#: auto-load.c:1400
 msgid ""
 "Print current status of auto-loaded files.\n"
 "Print whether various files like Python scripts or .gdbinit files have been\n"
 "found and/or loaded."
 msgstr ""
 
-#: auto-load.c:1412
+#: auto-load.c:1427
 msgid "Enable or disable auto-loading of canned sequences of commands scripts."
 msgstr ""
 
-#: auto-load.c:1413
+#: auto-load.c:1428
 msgid ""
 "Show whether auto-loading of canned sequences of commands scripts is enabled."
 msgstr ""
 
-#: auto-load.c:1415
+#: auto-load.c:1430
 msgid ""
 "If enabled, canned sequences of commands are loaded when the debugger reads\n"
 "an executable or shared library.\n"
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: auto-load.c:1424
+#: auto-load.c:1439
 msgid ""
 "Print the list of automatically loaded sequences of commands.\n"
 "Usage: info auto-load gdb-scripts [REGEXP]"
 msgstr ""
 
-#: auto-load.c:1429
+#: auto-load.c:1444
 msgid "Enable or disable auto-loading of .gdbinit script in current directory."
 msgstr ""
 
-#: auto-load.c:1430
+#: auto-load.c:1445
 msgid ""
 "Show whether auto-loading .gdbinit script in current directory is enabled."
 msgstr ""
 
-#: auto-load.c:1432
+#: auto-load.c:1447
 msgid ""
 "If enabled, canned sequences of commands are loaded when debugger starts\n"
 "from .gdbinit file in current directory.  Such files are deprecated,\n"
@@ -2262,28 +2235,28 @@ msgid ""
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: auto-load.c:1442
+#: auto-load.c:1457
 msgid ""
 "Print whether current directory .gdbinit file has been loaded.\n"
 "Usage: info auto-load local-gdbinit"
 msgstr ""
 
-#: auto-load.c:1450
+#: auto-load.c:1465
 #, possible-c-format
 msgid "GDB scripts:    OBJFILE%s\n"
 msgstr ""
 
-#: auto-load.c:1457
+#: auto-load.c:1472
 #, possible-c-format
 msgid "Python scripts: OBJFILE%s\n"
 msgstr ""
 
-#: auto-load.c:1465
+#: auto-load.c:1480
 #, possible-c-format
 msgid "Guile scripts:  OBJFILE%s\n"
 msgstr ""
 
-#: auto-load.c:1470
+#: auto-load.c:1485
 #, possible-c-format
 msgid ""
 "Automatically loaded scripts are located in one of the directories listed\n"
@@ -2298,23 +2271,23 @@ msgid ""
 "option."
 msgstr ""
 
-#: auto-load.c:1487
+#: auto-load.c:1502
 msgid "Set the list of directories from which to load auto-loaded scripts."
 msgstr ""
 
-#: auto-load.c:1488
+#: auto-load.c:1503
 msgid "Show the list of directories from which to load auto-loaded scripts."
 msgstr ""
 
-#: auto-load.c:1502
+#: auto-load.c:1517
 msgid "Set the list of files and directories that are safe for auto-loading."
 msgstr ""
 
-#: auto-load.c:1503
+#: auto-load.c:1518
 msgid "Show the list of files and directories that are safe for auto-loading."
 msgstr ""
 
-#: auto-load.c:1504
+#: auto-load.c:1519
 msgid ""
 "Various files loaded automatically for the 'set auto-load ...' options must\n"
 "be located in one of the directories listed by this option.  Warning will "
@@ -2330,7 +2303,7 @@ msgid ""
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: auto-load.c:1523
+#: auto-load.c:1538
 msgid ""
 "Add entries to the list of directories from which it is safe to auto-load "
 "files.\n"
@@ -2339,503 +2312,511 @@ msgid ""
 "access the current full list setting."
 msgstr ""
 
-#: auto-load.c:1531
+#: auto-load.c:1547
+msgid ""
+"Add entries to the list of directories from which to load auto-loaded "
+"scripts.\n"
+"See the commands 'set auto-load scripts-directory' and\n"
+"'show auto-load scripts-directory' to access the current full list setting."
+msgstr ""
+
+#: auto-load.c:1555
 msgid "Set auto-load verifications debugging."
 msgstr ""
 
-#: auto-load.c:1532
+#: auto-load.c:1556
 msgid "Show auto-load verifications debugging."
 msgstr ""
 
-#: auto-load.c:1533
+#: auto-load.c:1557
 msgid ""
 "When non-zero, debugging output for files of 'set auto-load ...'\n"
 "is displayed."
 msgstr ""
 
-#: auxv.c:438
+#: auxv.c:437
 msgid "End of vector"
 msgstr ""
 
-#: auxv.c:439 auxv.c:460
+#: auxv.c:438 auxv.c:459
 msgid "Entry should be ignored"
 msgstr ""
 
-#: auxv.c:440
+#: auxv.c:439
 msgid "File descriptor of program"
 msgstr ""
 
-#: auxv.c:441
+#: auxv.c:440
 msgid "Program headers for program"
 msgstr ""
 
-#: auxv.c:442
+#: auxv.c:441
 msgid "Size of program header entry"
 msgstr ""
 
-#: auxv.c:443
+#: auxv.c:442
 msgid "Number of program headers"
 msgstr ""
 
-#: auxv.c:444
+#: auxv.c:443
 msgid "System page size"
 msgstr ""
 
-#: auxv.c:445
+#: auxv.c:444
 msgid "Base address of interpreter"
 msgstr ""
 
-#: auxv.c:446
+#: auxv.c:445
 msgid "Flags"
 msgstr ""
 
-#: auxv.c:447
+#: auxv.c:446
 msgid "Entry point of program"
 msgstr ""
 
-#: auxv.c:448
+#: auxv.c:447
 msgid "Program is not ELF"
 msgstr ""
 
-#: auxv.c:449 auxv.c:473
+#: auxv.c:448 auxv.c:472
 msgid "Real user ID"
 msgstr ""
 
-#: auxv.c:450 auxv.c:472
+#: auxv.c:449 auxv.c:471
 msgid "Effective user ID"
 msgstr ""
 
-#: auxv.c:451 auxv.c:475
+#: auxv.c:450 auxv.c:474
 msgid "Real group ID"
 msgstr ""
 
-#: auxv.c:452 auxv.c:474
+#: auxv.c:451 auxv.c:473
 msgid "Effective group ID"
 msgstr ""
 
-#: auxv.c:453
+#: auxv.c:452
 msgid "Frequency of times()"
 msgstr ""
 
-#: auxv.c:454
+#: auxv.c:453
 msgid "String identifying platform"
 msgstr ""
 
-#: auxv.c:455 auxv.c:481
+#: auxv.c:454 auxv.c:480
 msgid "Machine-dependent CPU capability hints"
 msgstr ""
 
-#: auxv.c:456
+#: auxv.c:455
 msgid "Used FPU control word"
 msgstr ""
 
-#: auxv.c:457
+#: auxv.c:456
 msgid "Data cache block size"
 msgstr ""
 
-#: auxv.c:458
+#: auxv.c:457
 msgid "Instruction cache block size"
 msgstr ""
 
-#: auxv.c:459
+#: auxv.c:458
 msgid "Unified cache block size"
 msgstr ""
 
-#: auxv.c:461
+#: auxv.c:460
 msgid "String identifying base platform"
 msgstr ""
 
-#: auxv.c:462
+#: auxv.c:461
 msgid "Address of 16 random bytes"
 msgstr ""
 
-#: auxv.c:463
+#: auxv.c:462
 msgid "Extension of AT_HWCAP"
 msgstr ""
 
-#: auxv.c:464
+#: auxv.c:463
 msgid "File name of executable"
 msgstr ""
 
-#: auxv.c:465
+#: auxv.c:464
 msgid "Boolean, was exec setuid-like?"
 msgstr ""
 
-#: auxv.c:466
+#: auxv.c:465
 msgid "Special system info/entry points"
 msgstr ""
 
-#: auxv.c:467
+#: auxv.c:466
 msgid "System-supplied DSO's ELF header"
 msgstr ""
 
-#: auxv.c:468
+#: auxv.c:467
 msgid "L1 Instruction cache information"
 msgstr ""
 
-#: auxv.c:469
+#: auxv.c:468
 msgid "L1 Data cache information"
 msgstr ""
 
-#: auxv.c:470
+#: auxv.c:469
 msgid "L2 cache information"
 msgstr ""
 
-#: auxv.c:471
+#: auxv.c:470
 msgid "L3 cache information"
 msgstr ""
 
-#: auxv.c:476
+#: auxv.c:475
 msgid "Dynamic linker's ELF header"
 msgstr ""
 
-#: auxv.c:477
+#: auxv.c:476
 msgid "Dynamic linker's section headers"
 msgstr ""
 
-#: auxv.c:478
+#: auxv.c:477
 msgid "String giving name of dynamic linker"
 msgstr ""
 
-#: auxv.c:479
+#: auxv.c:478
 msgid "Large pagesize"
 msgstr ""
 
-#: auxv.c:480
+#: auxv.c:479
 msgid "Platform name string"
 msgstr ""
 
-#: auxv.c:482
+#: auxv.c:481
 msgid "Should flush icache?"
 msgstr ""
 
-#: auxv.c:483
+#: auxv.c:482
 msgid "CPU name string"
 msgstr ""
 
-#: auxv.c:484
+#: auxv.c:483
 msgid "COFF entry point address"
 msgstr ""
 
-#: auxv.c:485
+#: auxv.c:484
 msgid "COFF executable file descriptor"
 msgstr ""
 
-#: auxv.c:487
+#: auxv.c:486
 msgid "Canonicalized file name given to execve"
 msgstr ""
 
-#: auxv.c:488
+#: auxv.c:487
 msgid "String for name of MMU module"
 msgstr ""
 
-#: auxv.c:489
+#: auxv.c:488
 msgid "Dynamic linker's data segment address"
 msgstr ""
 
-#: auxv.c:491
+#: auxv.c:490
 msgid "AF_SUN_ flags passed from the kernel"
 msgstr ""
 
-#: auxv.c:529
+#: auxv.c:528
 msgid "The program has no auxiliary information now."
 msgstr ""
 
-#: auxv.c:535
+#: auxv.c:534
 msgid "No auxiliary vector found, or failed reading it."
 msgstr ""
 
-#: auxv.c:537
+#: auxv.c:536
 msgid "Auxiliary vector is empty."
 msgstr ""
 
-#: auxv.c:548
+#: auxv.c:547
 msgid ""
 "Display the inferior's auxiliary vector.\n"
 "This is information provided by the operating system at program startup."
 msgstr ""
 
-#: avr-tdep.c:371 avr-tdep.c:389 i386-tdep.c:461 i386-tdep.c:3206
-#: i386-tdep.c:3422 i386-tdep.c:3586 s390-linux-tdep.c:252
-#: s390-linux-tdep.c:269 s390-linux-tdep.c:330 s390-linux-tdep.c:377
-#: sparc64-tdep.c:339 spu-tdep.c:181 spu-tdep.c:251 spu-tdep.c:312
-#: spu-tdep.c:334 spu-tdep.c:356
+#: avr-tdep.c:399 avr-tdep.c:417 i386-tdep.c:457 i386-tdep.c:3203
+#: i386-tdep.c:3419 i386-tdep.c:3583 s390-linux-tdep.c:248
+#: s390-linux-tdep.c:265 s390-linux-tdep.c:326 s390-linux-tdep.c:373
+#: sparc64-tdep.c:336 spu-tdep.c:178 spu-tdep.c:248 spu-tdep.c:309
+#: spu-tdep.c:331 spu-tdep.c:353
 msgid "invalid regnum"
 msgstr ""
 
-#: avr-tdep.c:632
+#: avr-tdep.c:660
 #, possible-c-format
 msgid "Num pushes too large: %d\n"
 msgstr ""
 
-#: avr-tdep.c:1491
+#: avr-tdep.c:1573
 msgid "ERR: info io_registers NOT supported by current target\n"
 msgstr ""
 
-#: avr-tdep.c:1499
+#: avr-tdep.c:1581
 msgid "Error fetching number of io registers\n"
 msgstr ""
 
-#: avr-tdep.c:1508
+#: avr-tdep.c:1590
 #, possible-c-format
 msgid ""
 "Target has %u io registers:\n"
 "\n"
 msgstr ""
 
-#: avr-tdep.c:1557
+#: avr-tdep.c:1639
 msgid "query remote avr target for io space register values"
 msgstr ""
 
-#: ax-gdb.c:522
+#: ax-gdb.c:521
 msgid "gen_fetch: strange size"
 msgstr ""
 
 #. Our caller requested us to dereference a pointer from an unsupported
 #. type.  Error out and give callers a chance to handle the failure
 #. gracefully.
-#: ax-gdb.c:532
+#: ax-gdb.c:531
 #, possible-c-format
 msgid "gen_fetch: Unsupported type code `%s'."
 msgstr ""
 
-#: ax-gdb.c:656
+#: ax-gdb.c:655
 msgid "gen_var_ref: LOC_CONST_BYTES symbols are not supported"
 msgstr ""
 
-#: ax-gdb.c:688
+#: ax-gdb.c:687
 #, possible-c-format
 msgid "Cannot compute value of typedef `%s'."
 msgstr ""
 
-#: ax-gdb.c:720
+#: ax-gdb.c:719
 #, possible-c-format
 msgid "Couldn't resolve symbol `%s'."
 msgstr ""
 
-#: ax-gdb.c:729 findvar.c:355 findvar.c:566 printcmd.c:1290 tracepoint.c:2844
+#: ax-gdb.c:728 findvar.c:353 findvar.c:564 printcmd.c:1290 tracepoint.c:2844
 msgid "LOC_COMPUTED variable missing a method"
 msgstr ""
 
-#: ax-gdb.c:738
+#: ax-gdb.c:737
 #, possible-c-format
 msgid "Cannot find value of botched symbol `%s'."
 msgstr ""
 
-#: ax-gdb.c:774
+#: ax-gdb.c:773
 msgid "Value not scalar: cannot be an rvalue."
 msgstr ""
 
-#: ax-gdb.c:1013
+#: ax-gdb.c:1012
 msgid "Invalid type cast: intended type must be scalar."
 msgstr ""
 
-#: ax-gdb.c:1036
+#: ax-gdb.c:1035
 msgid "Casts to requested type are not yet implemented."
 msgstr ""
 
-#: ax-gdb.c:1104
+#: ax-gdb.c:1103
 msgid ""
 "First argument of `-' is a pointer, but second argument is neither\n"
 "an integer nor a pointer of the same type."
 msgstr ""
 
-#: ax-gdb.c:1157
+#: ax-gdb.c:1156
 #, possible-c-format
 msgid "Invalid combination of types in %s."
 msgstr ""
 
-#: ax-gdb.c:1174
+#: ax-gdb.c:1173
 msgid "Invalid type of operand to `!'."
 msgstr ""
 
-#: ax-gdb.c:1185
+#: ax-gdb.c:1184
 msgid "Invalid type of operand to `~'."
 msgstr ""
 
-#: ax-gdb.c:1203
+#: ax-gdb.c:1202
 msgid "gen_deref: expected a pointer"
 msgstr ""
 
-#: ax-gdb.c:1212 valops.c:918
+#: ax-gdb.c:1211 valops.c:914
 msgid "Attempt to dereference a generic pointer."
 msgstr ""
 
-#: ax-gdb.c:1233
+#: ax-gdb.c:1232
 msgid "Operand of `&' is an rvalue, which has no address."
 msgstr ""
 
-#: ax-gdb.c:1236
+#: ax-gdb.c:1235
 msgid "Operand of `&' is in a register, and has no address."
 msgstr ""
 
-#: ax-gdb.c:1308
+#: ax-gdb.c:1307
 msgid "gen_bitfield_ref: bitfield too wide"
 msgstr ""
 
-#: ax-gdb.c:1460 ax-gdb.c:1602
+#: ax-gdb.c:1459 ax-gdb.c:1601
 #, possible-c-format
 msgid "static field `%s' has been optimized out, cannot use"
 msgstr ""
 
-#: ax-gdb.c:1472
+#: ax-gdb.c:1471
 msgid "find_field: anonymous unions not supported"
 msgstr ""
 
-#: ax-gdb.c:1520
+#: ax-gdb.c:1519
 #, possible-c-format
 msgid "The left operand of `%s' is not a %s."
 msgstr ""
 
-#: ax-gdb.c:1526
+#: ax-gdb.c:1525
 msgid "Structure does not live in memory."
 msgstr ""
 
-#: ax-gdb.c:1532
+#: ax-gdb.c:1531
 #, possible-c-format
 msgid "Couldn't find member named `%s' in struct/union/class `%s'"
 msgstr ""
 
-#: ax-gdb.c:1590
+#: ax-gdb.c:1589
 msgid "non-aggregate type to gen_struct_elt_for_reference"
 msgstr ""
 
-#: ax-gdb.c:1608 valops.c:3331
+#: ax-gdb.c:1607 valops.c:3339
 msgid "pointers to bitfield members not allowed"
 msgstr ""
 
 #. FIXME we need a way to do "want_address" equivalent
-#: ax-gdb.c:1612 valops.c:3364
+#: ax-gdb.c:1611 valops.c:3372
 #, possible-c-format
 msgid "Cannot reference non-static field \"%s\""
 msgstr ""
 
-#: ax-gdb.c:1633 eval.c:1513 valops.c:3540
+#: ax-gdb.c:1632 eval.c:1494 valops.c:3548
 #, possible-c-format
 msgid "No symbol \"%s\" in namespace \"%s\"."
 msgstr ""
 
-#: ax-gdb.c:1663 ax-gdb.c:1981 ax-gdb.c:2205
+#: ax-gdb.c:1662 ax-gdb.c:1980 ax-gdb.c:2204
 #, possible-c-format
 msgid "`%s' has been optimized out, cannot use"
 msgstr ""
 
-#: ax-gdb.c:1687
+#: ax-gdb.c:1686
 msgid "non-aggregate type in gen_aggregate_elt_ref"
 msgstr ""
 
-#: ax-gdb.c:1714
+#: ax-gdb.c:1713
 msgid "Left operand of `@' must be an object in memory."
 msgstr ""
 
-#: ax-gdb.c:1722
+#: ax-gdb.c:1721
 msgid "Right operand of `@' must be a constant, in agent expressions."
 msgstr ""
 
-#: ax-gdb.c:1725
+#: ax-gdb.c:1724
 msgid "Right operand of `@' must be an integer."
 msgstr ""
 
-#: ax-gdb.c:1728
+#: ax-gdb.c:1727
 msgid "Right operand of `@' must be positive."
 msgstr ""
 
-#: ax-gdb.c:1907 ax-gdb.c:1943
+#: ax-gdb.c:1906 ax-gdb.c:1942
 #, possible-c-format
 msgid "$%s is not a trace state variable, may not assign to it"
 msgstr ""
 
-#: ax-gdb.c:1911 ax-gdb.c:1947
+#: ax-gdb.c:1910 ax-gdb.c:1946
 msgid "May only assign to trace state variables"
 msgstr ""
 
-#: ax-gdb.c:1996 tracepoint.c:1522
+#: ax-gdb.c:1995 tracepoint.c:1520
 #, possible-c-format
 msgid "Register $%s not available"
 msgstr ""
 
-#: ax-gdb.c:2000
+#: ax-gdb.c:1999
 #, possible-c-format
 msgid "'%s' is a user-register; GDB cannot yet trace user-register contents."
 msgstr ""
 
-#: ax-gdb.c:2027
+#: ax-gdb.c:2026
 #, possible-c-format
 msgid ""
 "$%s is not a trace state variable; GDB agent expressions cannot use "
 "convenience variables."
 msgstr ""
 
-#: ax-gdb.c:2148
+#: ax-gdb.c:2147
 msgid "Argument of unary `*' is not a pointer."
 msgstr ""
 
-#: ax-gdb.c:2184
+#: ax-gdb.c:2183
 msgid "gen_expr: unhandled struct case"
 msgstr ""
 
-#: ax-gdb.c:2200
+#: ax-gdb.c:2199
 #, possible-c-format
 msgid "no `%s' found"
 msgstr ""
 
-#: ax-gdb.c:2222 eval.c:732 eval.c:2940
+#: ax-gdb.c:2221 eval.c:732 eval.c:2908
 #, possible-c-format
 msgid "There is no field named %s"
 msgstr ""
 
-#: ax-gdb.c:2230
+#: ax-gdb.c:2229
 msgid "Attempt to use a type name as an expression."
 msgstr ""
 
-#: ax-gdb.c:2233
+#: ax-gdb.c:2232
 #, possible-c-format
 msgid "Unsupported operator %s (%d) in expression."
 msgstr ""
 
-#: ax-gdb.c:2309
+#: ax-gdb.c:2308
 msgid "cannot subscript requested type: cannot call user defined functions"
 msgstr ""
 
-#: ax-gdb.c:2322 eval.c:2156 eval.c:2211 eval.c:2235 jv-lang.c:985
+#: ax-gdb.c:2321 eval.c:2133 eval.c:2179 eval.c:2203 jv-lang.c:985
 #: m2-lang.c:254
 #, possible-c-format
 msgid "cannot subscript something of type `%s'"
 msgstr ""
 
-#: ax-gdb.c:2325 eval.c:2159 eval.c:2238 jv-lang.c:987 m2-lang.c:257
+#: ax-gdb.c:2324 eval.c:2136 eval.c:2206 jv-lang.c:987 m2-lang.c:257
 msgid "cannot subscript requested type"
 msgstr ""
 
-#: ax-gdb.c:2330 valarith.c:929
+#: ax-gdb.c:2329 valarith.c:930
 msgid "Argument to arithmetic operation not a number or boolean."
 msgstr ""
 
-#: ax-gdb.c:2385
+#: ax-gdb.c:2384
 msgid "gen_expr: op case sets don't match"
 msgstr ""
 
-#: ax-gdb.c:2635 ax-gdb.c:2711
+#: ax-gdb.c:2634 ax-gdb.c:2710
 msgid "GDB can't do agent expression translation with overlays."
 msgstr ""
 
-#: ax-gdb.c:2638 ax-gdb.c:2714
+#: ax-gdb.c:2637 ax-gdb.c:2713
 msgid "expression to translate"
 msgstr ""
 
-#: ax-gdb.c:2721
+#: ax-gdb.c:2720
 msgid "Must start with a format string."
 msgstr ""
 
-#: ax-gdb.c:2732 breakpoint.c:2290 printcmd.c:2266
+#: ax-gdb.c:2731 breakpoint.c:2396 printcmd.c:2266
 msgid "Bad format string, non-terminated '\"'."
 msgstr ""
 
-#: ax-gdb.c:2737 breakpoint.c:2295 printcmd.c:2271
+#: ax-gdb.c:2736 breakpoint.c:2401 printcmd.c:2271
 msgid "Invalid argument syntax"
 msgstr ""
 
-#: ax-gdb.c:2781
+#: ax-gdb.c:2780
 msgid ""
 "Translate an expression into remote agent bytecode for tracing.\n"
 "Usage: maint agent [-at location,] EXPRESSION\n"
@@ -2843,7 +2824,7 @@ msgid ""
 "If not, generate remote agent bytecode for current frame pc address."
 msgstr ""
 
-#: ax-gdb.c:2789
+#: ax-gdb.c:2788
 msgid ""
 "Translate an expression into remote agent bytecode for evaluation.\n"
 "Usage: maint agent-eval [-at location,] EXPRESSION\n"
@@ -2851,100 +2832,100 @@ msgid ""
 "If not, generate remote agent bytecode for current frame pc address."
 msgstr ""
 
-#: ax-gdb.c:2797
+#: ax-gdb.c:2796
 msgid ""
 "Translate an expression into remote agent bytecode for evaluation and "
 "display the bytecodes."
 msgstr ""
 
-#: ax-general.c:131
+#: ax-general.c:129
 msgid "GDB bug: ax-general.c (read_const): incomplete constant"
 msgstr ""
 
-#: ax-general.c:155
+#: ax-general.c:153
 msgid "GDB bug: ax-general.c (ax_pick): stack depth out of range"
 msgstr ""
 
-#: ax-general.c:168
+#: ax-general.c:166
 msgid "GDB bug: ax-general.c (generic_ext): bit count out of range"
 msgstr ""
 
-#: ax-general.c:171
+#: ax-general.c:169
 msgid "GDB bug: ax-general.c (generic_ext): opcode has inadequate range"
 msgstr ""
 
-#: ax-general.c:202
+#: ax-general.c:200
 msgid ""
 "GDB bug: ax-general.c (ax_trace_quick): size out of range for trace_quick"
 msgstr ""
 
-#: ax-general.c:238
+#: ax-general.c:236
 msgid "GDB bug: ax-general.c (ax_label): label target out of range"
 msgstr ""
 
 #. FIXME: floating-point support not present yet.
-#: ax-general.c:284
+#: ax-general.c:282
 msgid "GDB bug: ax-general.c (ax_const_d): floating point not supported yet"
 msgstr ""
 
-#: ax-general.c:298 ax-general.c:446
+#: ax-general.c:296 ax-general.c:444
 #, possible-c-format
 msgid "'%s' is a pseudo-register; GDB cannot yet trace its contents."
 msgstr ""
 
-#: ax-general.c:302 ax-general.c:450
+#: ax-general.c:300 ax-general.c:448
 #, possible-c-format
 msgid "Trace '%s' failed."
 msgstr ""
 
-#: ax-general.c:309
+#: ax-general.c:307
 msgid "GDB bug: ax-general.c (ax_reg): register number out of range"
 msgstr ""
 
-#: ax-general.c:327
+#: ax-general.c:325
 #, possible-c-format
 msgid "ax-general.c (ax_tsv): variable number is %d, out of range"
 msgstr ""
 
-#: ax-general.c:350
+#: ax-general.c:348
 #, possible-c-format
 msgid "ax-general.c (ax_string): string length is %d, out of allowed range"
 msgstr ""
 
-#: ax-general.c:382
+#: ax-general.c:380
 #, possible-c-format
 msgid "Scope: %s\n"
 msgstr ""
 
-#: ax-general.c:383
+#: ax-general.c:381
 msgid "Reg mask:"
 msgstr ""
 
-#: ax-general.c:385
+#: ax-general.c:383
 #, possible-c-format
 msgid " %02x"
 msgstr ""
 
-#: ax-general.c:386 darwin-nat.c:555 darwin-nat-info.c:293
+#: ax-general.c:384 darwin-nat.c:553 darwin-nat-info.c:293
 #: darwin-nat-info.c:586 darwin-nat-info.c:794
 msgid "\n"
 msgstr ""
 
-#: ax-general.c:392
+#: ax-general.c:390
 msgid "GDB bug: ax-general.c (ax_print): opcode map out of sync"
 msgstr ""
 
-#: ax-general.c:401
+#: ax-general.c:399
 #, possible-c-format
 msgid "%3d  <bad opcode %02x>\n"
 msgstr ""
 
-#: ax-general.c:407
+#: ax-general.c:405
 #, possible-c-format
 msgid "%3d  <incomplete opcode %s>\n"
 msgstr ""
 
-#: ax-general.c:429
+#: ax-general.c:427
 #, possible-c-format
 msgid " \"%s\", %d args"
 msgstr ""
@@ -2952,104 +2933,104 @@ msgstr ""
 #. i18n: Like "Percentage of duplicates, by count: (not applicable)".
 #. i18n: "Average entry size: (not applicable)".
 #. i18n: "Average hash chain length: (not applicable)".
-#: bcache.c:352 bcache.c:453 bcache.c:483
+#: bcache.c:347 bcache.c:448 bcache.c:478
 msgid "(not applicable)\n"
 msgstr ""
 
-#: bcache.c:434
+#: bcache.c:429
 #, possible-c-format
 msgid "  Cached '%s' statistics:\n"
 msgstr ""
 
-#: bcache.c:435
+#: bcache.c:430
 #, possible-c-format
 msgid "    Total object count:  %ld\n"
 msgstr ""
 
-#: bcache.c:436
+#: bcache.c:431
 #, possible-c-format
 msgid "    Unique object count: %lu\n"
 msgstr ""
 
-#: bcache.c:437
+#: bcache.c:432
 msgid "    Percentage of duplicates, by count: "
 msgstr ""
 
-#: bcache.c:441
+#: bcache.c:436
 #, possible-c-format
 msgid "    Total object size:   %ld\n"
 msgstr ""
 
-#: bcache.c:442
+#: bcache.c:437
 #, possible-c-format
 msgid "    Unique object size:  %ld\n"
 msgstr ""
 
-#: bcache.c:443
+#: bcache.c:438
 msgid "    Percentage of duplicates, by size:  "
 msgstr ""
 
-#: bcache.c:447
+#: bcache.c:442
 #, possible-c-format
 msgid "    Max entry size:     %d\n"
 msgstr ""
 
-#: bcache.c:448
+#: bcache.c:443
 msgid "    Average entry size: "
 msgstr ""
 
-#: bcache.c:454
+#: bcache.c:449
 #, possible-c-format
 msgid "    Median entry size:  %d\n"
 msgstr ""
 
-#: bcache.c:457
+#: bcache.c:452
 #, possible-c-format
 msgid "    Total memory used by bcache, including overhead: %ld\n"
 msgstr ""
 
-#: bcache.c:460
+#: bcache.c:455
 msgid "    Percentage memory overhead: "
 msgstr ""
 
-#: bcache.c:462
+#: bcache.c:457
 msgid "    Net memory savings:         "
 msgstr ""
 
-#: bcache.c:466
+#: bcache.c:461
 #, possible-c-format
 msgid "    Hash table size:           %3d\n"
 msgstr ""
 
-#: bcache.c:468
+#: bcache.c:463
 #, possible-c-format
 msgid "    Hash table expands:        %lu\n"
 msgstr ""
 
-#: bcache.c:470
+#: bcache.c:465
 #, possible-c-format
 msgid "    Hash table hashes:         %lu\n"
 msgstr ""
 
-#: bcache.c:472
+#: bcache.c:467
 #, possible-c-format
 msgid "    Half hash misses:          %lu\n"
 msgstr ""
 
-#: bcache.c:474
+#: bcache.c:469
 msgid "    Hash table population:     "
 msgstr ""
 
-#: bcache.c:476
+#: bcache.c:471
 #, possible-c-format
 msgid "    Median hash chain length:  %3d\n"
 msgstr ""
 
-#: bcache.c:478
+#: bcache.c:473
 msgid "    Average hash chain length: "
 msgstr ""
 
-#: bcache.c:484
+#: bcache.c:479
 #, possible-c-format
 msgid "    Maximum hash chain length: %3d\n"
 msgstr ""
@@ -3062,19 +3043,19 @@ msgstr ""
 msgid "You should never see this"
 msgstr ""
 
-#: bfin-tdep.c:453
+#: bfin-tdep.c:451
 msgid ""
 "Function Prologue not recognised; pc will point to ENTRY_POINT of the "
 "function"
 msgstr ""
 
-#: bfin-tdep.c:699 bfin-tdep.c:719 xtensa-tdep.c:335 xtensa-tdep.c:640
-#: xtensa-tdep.c:738
+#: bfin-tdep.c:697 bfin-tdep.c:717 xtensa-tdep.c:334 xtensa-tdep.c:639
+#: xtensa-tdep.c:737
 #, possible-c-format
 msgid "invalid register number %d"
 msgstr ""
 
-#: block.c:216
+#: block.c:242
 #, possible-c-format
 msgid ""
 "DW_OP_GNU_entry_value resolving cannot find DW_TAG_GNU_call_site %s in %s"
@@ -3107,16 +3088,16 @@ msgstr ""
 msgid "Catchpoint %d (standard signals)"
 msgstr ""
 
-#: break-catch-sig.c:411
+#: break-catch-sig.c:412
 msgid "'all' cannot be caught with other signals"
 msgstr ""
 
-#: break-catch-sig.c:429
+#: break-catch-sig.c:430
 #, possible-c-format
 msgid "Unknown signal name '%s'."
 msgstr ""
 
-#: break-catch-sig.c:496
+#: break-catch-sig.c:497
 msgid ""
 "Catch signals by their names and/or numbers.\n"
 "Usage: catch signal [[NAME|NUMBER] [NAME|NUMBER]...|all]\n"
@@ -3131,626 +3112,623 @@ msgstr ""
 #. block supposedly visible in this function.  Let us
 #. first make sure that it is visible and if so, let
 #. us display its contents.
-#: break-catch-throw.c:107 f-valprint.c:483 stap-probe.c:1372
+#: break-catch-throw.c:106 f-valprint.c:480 stap-probe.c:1375
 msgid "No frame selected"
 msgstr ""
 
-#: break-catch-throw.c:119
+#: break-catch-throw.c:118
 msgid "not stopped at a C++ exception catchpoint"
 msgstr ""
 
-#: break-catch-throw.c:123
+#: break-catch-throw.c:122
 msgid "C++ exception catchpoint has too few arguments"
 msgstr ""
 
-#: break-catch-throw.c:130
+#: break-catch-throw.c:129
 msgid "error computing probe argument at c++ exception catchpoint"
 msgstr ""
 
-#: break-catch-throw.c:328
+#: break-catch-throw.c:327
 msgid "\tmatching: "
 msgstr ""
 
-#: break-catch-throw.c:345
+#: break-catch-throw.c:344
 msgid " (throw)"
 msgstr ""
 
-#: break-catch-throw.c:346
+#: break-catch-throw.c:345
 msgid " (catch)"
 msgstr ""
 
-#: break-catch-throw.c:347
+#: break-catch-throw.c:346
 msgid " (rethrow)"
 msgstr ""
 
-#: break-catch-throw.c:391
+#: break-catch-throw.c:390
 msgid "invalid type-matching regexp"
 msgstr ""
 
-#: break-catch-throw.c:477
+#: break-catch-throw.c:476
 msgid "Unsupported or unknown exception event; cannot catch it"
 msgstr ""
 
 #. Add catch and tcatch sub-commands.
-#: break-catch-throw.c:575
+#: break-catch-throw.c:574
 msgid "Catch an exception, when caught."
 msgstr ""
 
-#: break-catch-throw.c:581
+#: break-catch-throw.c:580
 msgid "Catch an exception, when thrown."
 msgstr ""
 
-#: break-catch-throw.c:587
+#: break-catch-throw.c:586
 msgid "Catch an exception, when rethrown."
 msgstr ""
 
-#: breakpoint.c:389
+#: breakpoint.c:411
 #, possible-c-format
 msgid "Debugger's willingness to use watchpoint hardware is %s.\n"
 msgstr ""
 
-#: breakpoint.c:405
+#: breakpoint.c:427
 #, possible-c-format
 msgid "Debugger's behavior regarding pending breakpoints is %s.\n"
 msgstr ""
 
-#: breakpoint.c:421
+#: breakpoint.c:443
 #, possible-c-format
 msgid "Automatic usage of hardware breakpoints is %s.\n"
 msgstr ""
 
-#: breakpoint.c:439
-#, possible-c-format
-msgid "Always inserted breakpoint mode is %s (currently %s).\n"
-msgstr ""
-
-#: breakpoint.c:444
+#: breakpoint.c:460
 #, possible-c-format
 msgid "Always inserted breakpoint mode is %s.\n"
 msgstr ""
 
-#: breakpoint.c:798
+#: breakpoint.c:834
 msgid ""
 "Target does not support breakpoint condition evaluation.\n"
 "Using host evaluation mode instead."
 msgstr ""
 
-#: breakpoint.c:854
+#: breakpoint.c:890
 #, possible-c-format
 msgid "Breakpoint condition evaluation mode is %s (currently %s).\n"
 msgstr ""
 
-#: breakpoint.c:859
+#: breakpoint.c:895
 #, possible-c-format
 msgid "Breakpoint condition evaluation mode is %s.\n"
 msgstr ""
 
-#: breakpoint.c:945
+#: breakpoint.c:981
 #, possible-c-format
 msgid "Breakpoint %d now unconditional.\n"
 msgstr ""
 
-#: breakpoint.c:1042
+#: breakpoint.c:1078
 msgid "breakpoint number"
 msgstr ""
 
-#: breakpoint.c:1047
+#: breakpoint.c:1083
 #, possible-c-format
 msgid "Bad breakpoint argument: '%s'"
 msgstr ""
 
-#: breakpoint.c:1060 guile/scm-breakpoint.c:914 python/py-breakpoint.c:980
+#: breakpoint.c:1096 guile/scm-breakpoint.c:912 python/py-breakpoint.c:979
 #, possible-c-format
 msgid ""
 "Only one stop condition allowed.  There is currently a %s stop condition "
 "defined for this breakpoint."
 msgstr ""
 
-#: breakpoint.c:1072 breakpoint.c:14742
+#: breakpoint.c:1108 breakpoint.c:14843
 #, possible-c-format
 msgid "No breakpoint number %d."
 msgstr ""
 
-#: breakpoint.c:1089
+#: breakpoint.c:1125
 msgid "The 'while-stepping' command can only be used for tracepoints"
 msgstr ""
 
-#: breakpoint.c:1099
+#: breakpoint.c:1135
 msgid "The 'collect' command can only be used for tracepoints"
 msgstr ""
 
-#: breakpoint.c:1102
+#: breakpoint.c:1138
 msgid "The 'teval' command can only be used for tracepoints"
 msgstr ""
 
-#: breakpoint.c:1156
+#: breakpoint.c:1192
 msgid "The 'while-stepping' command cannot be used for fast tracepoint"
 msgstr ""
 
-#: breakpoint.c:1159
+#: breakpoint.c:1195
 msgid "The 'while-stepping' command cannot be used for static tracepoint"
 msgstr ""
 
-#: breakpoint.c:1163
+#: breakpoint.c:1199
 msgid "The 'while-stepping' command can be used only once"
 msgstr ""
 
-#: breakpoint.c:1180
+#: breakpoint.c:1216
 msgid "The 'while-stepping' command cannot be nested"
 msgstr ""
 
-#: breakpoint.c:1312
+#: breakpoint.c:1348
 #, possible-c-format
 msgid "Type commands for breakpoint(s) %s, one per line."
 msgstr ""
 
-#: breakpoint.c:1384
+#: breakpoint.c:1420
 msgid "No breakpoints specified."
 msgstr ""
 
-#: breakpoint.c:1603
+#: breakpoint.c:1639
 #, possible-c-format
 msgid "reading through apparently deleted breakpoint #%d?"
 msgstr ""
 
-#: breakpoint.c:1861 breakpoint.c:2005
+#: breakpoint.c:1905 breakpoint.c:2086
 msgid ""
 "Can't set read/access watchpoint when hardware watchpoints are disabled."
 msgstr ""
 
-#: breakpoint.c:1984
+#: breakpoint.c:2065
 msgid "Target does not support this type of hardware watchpoint."
 msgstr ""
 
-#: breakpoint.c:1987
+#: breakpoint.c:2068
 msgid "There are not enough available hardware resources for this watchpoint."
 msgstr ""
 
-#: breakpoint.c:2008
+#: breakpoint.c:2089
 msgid "Expression cannot be implemented with read/access watchpoint."
 msgstr ""
 
-#: breakpoint.c:2043
+#: breakpoint.c:2124
 #, possible-c-format
 msgid ""
 "Watchpoint %d deleted because the program has left the block\n"
 "in which its expression is valid.\n"
 msgstr ""
 
-#: breakpoint.c:2279
+#: breakpoint.c:2385
 msgid "No format string following the location"
 msgstr ""
 
-#: breakpoint.c:2549
+#: breakpoint.c:2655
 msgid ""
 "Note: automatically using hardware breakpoints for read-only addresses.\n"
 msgstr ""
 
-#: breakpoint.c:2558
+#: breakpoint.c:2666
 #, possible-c-format
-msgid "cannot set software breakpoint at readonly address %s"
+msgid ""
+"Cannot insert breakpoint %d.\n"
+"Cannot set software breakpoint at read-only address %s\n"
 msgstr ""
 
-#: breakpoint.c:2594
+#: breakpoint.c:2706
 #, possible-c-format
 msgid "hardware breakpoint %d not supported in overlay!"
 msgstr ""
 
-#: breakpoint.c:2794
+#: breakpoint.c:2906
 #, possible-c-format
 msgid ""
 "Error inserting catchpoint %d: Your system does not support this type\n"
 "of catchpoint."
 msgstr ""
 
-#: breakpoint.c:2798
+#: breakpoint.c:2910
 #, possible-c-format
 msgid "Error inserting catchpoint %d."
 msgstr ""
 
-#: breakpoint.c:3090
+#: breakpoint.c:3199
 #, possible-c-format
 msgid ""
 "Thread-specific breakpoint %d deleted - thread %d no longer in the thread "
 "list.\n"
 msgstr ""
 
-#: breakpoint.c:3735
+#: breakpoint.c:3843
 msgid "Cannot detach breakpoints of inferior_ptid"
 msgstr ""
 
-#: breakpoint.c:3899
+#: breakpoint.c:4004
 #, possible-c-format
 msgid "Could not remove hardware watchpoint %d."
 msgstr ""
 
-#: breakpoint.c:4649
+#: breakpoint.c:4691
 msgid "<unreadable>"
 msgstr ""
 
-#: breakpoint.c:4696
+#: breakpoint.c:4738
 msgid "print_bp_stop_message: unrecognized enum value"
 msgstr ""
 
-#: breakpoint.c:4715
+#: breakpoint.c:4757
 msgid "Stopped due to shared library event:\n"
 msgstr ""
 
-#: breakpoint.c:4718
+#: breakpoint.c:4760
 msgid "Stopped due to shared library event (no libraries added or removed)\n"
 msgstr ""
 
-#: breakpoint.c:4732
+#: breakpoint.c:4774
 msgid "  Inferior unloaded "
 msgstr ""
 
-#: breakpoint.c:4755
+#: breakpoint.c:4797
 msgid "  Inferior loaded "
 msgstr ""
 
 #. Error from catch_errors.
-#: breakpoint.c:5259
+#: breakpoint.c:5304
 #, possible-c-format
 msgid "Watchpoint %d deleted.\n"
 msgstr ""
 
-#: breakpoint.c:5390
+#: breakpoint.c:5435
 msgid "Watchpoint condition cannot be tested in the current scope"
 msgstr ""
 
-#: breakpoint.c:5761
+#: breakpoint.c:5807
 msgid "bpstat_what: tracepoint encountered"
 msgstr ""
 
-#: breakpoint.c:5782
+#: breakpoint.c:5828
 #, possible-c-format
 msgid "bpstat_what: unhandled bptype %d"
 msgstr ""
 
-#: breakpoint.c:6050
+#: breakpoint.c:6097
 #, possible-c-format
 msgid "bptypes table does not describe type #%d."
 msgstr ""
 
-#: breakpoint.c:6184
+#: breakpoint.c:6231
 msgid "print_one_breakpoint: bp_none encountered\n"
 msgstr ""
 
-#: breakpoint.c:6819
+#: breakpoint.c:6867
 msgid "Note: breakpoint "
 msgstr ""
 
 #. if (others == ???)
-#: breakpoint.c:6821
+#: breakpoint.c:6869
 msgid "Note: breakpoints "
 msgstr ""
 
-#: breakpoint.c:6841
+#: breakpoint.c:6887
 msgid "also set at pc "
 msgstr ""
 
-#: breakpoint.c:7018
+#: breakpoint.c:7064
 #, possible-c-format
 msgid "Breakpoint %d address previously adjusted from %s to %s."
 msgstr ""
 
-#: breakpoint.c:7021
+#: breakpoint.c:7067
 #, possible-c-format
 msgid "Breakpoint address adjusted from %s to %s."
 msgstr ""
 
-#: breakpoint.c:7126
+#: breakpoint.c:7183
 msgid "unknown breakpoint type"
 msgstr ""
 
-#: breakpoint.c:7711
+#: breakpoint.c:7812
 #, possible-c-format
 msgid "Temporarily disabling breakpoints for unloaded shared library \"%s\""
 msgstr ""
 
-#: breakpoint.c:7912
+#: breakpoint.c:8013
 #, possible-c-format
 msgid "Catchpoint %d (fork)"
 msgstr ""
 
-#: breakpoint.c:8028
+#: breakpoint.c:8129
 #, possible-c-format
 msgid "Catchpoint %d (vfork)"
 msgstr ""
 
-#: breakpoint.c:8205
+#: breakpoint.c:8306
 #, possible-c-format
 msgid "load of library matching %s"
 msgstr ""
 
-#: breakpoint.c:8207
+#: breakpoint.c:8308
 msgid "load of library"
 msgstr ""
 
-#: breakpoint.c:8212
+#: breakpoint.c:8313
 #, possible-c-format
 msgid "unload of library matching %s"
 msgstr ""
 
-#: breakpoint.c:8214
+#: breakpoint.c:8315
 msgid "unload of library"
 msgstr ""
 
-#: breakpoint.c:8229
+#: breakpoint.c:8330
 #, possible-c-format
 msgid "Catchpoint %d (%s)"
 msgstr ""
 
-#: breakpoint.c:8279 objc-lang.c:590 objc-lang.c:741 symtab.c:3604
-#: thread.c:1386
+#: breakpoint.c:8380 objc-lang.c:589 objc-lang.c:740 symtab.c:3816
+#: thread.c:1567
 #, possible-c-format
 msgid "Invalid regexp (%s): %s"
 msgstr ""
 
-#: breakpoint.c:8648
+#: breakpoint.c:8752
 #, possible-c-format
 msgid "Catchpoint %d (syscalls"
 msgstr ""
 
-#: breakpoint.c:8650
+#: breakpoint.c:8754
 #, possible-c-format
 msgid "Catchpoint %d (syscall"
 msgstr ""
 
-#: breakpoint.c:8667
+#: breakpoint.c:8771
 #, possible-c-format
 msgid "Catchpoint %d (any syscall)"
 msgstr ""
 
-#: breakpoint.c:8878
+#: breakpoint.c:8983
 #, possible-c-format
 msgid "Catchpoint %d (exec)"
 msgstr ""
 
-#: breakpoint.c:9236 printcmd.c:2259
+#: breakpoint.c:9387 printcmd.c:2259
 msgid "Bad format string, missing '\"'."
 msgstr ""
 
-#: breakpoint.c:9243
+#: breakpoint.c:9394
 msgid "No function supplied for dprintf call"
 msgstr ""
 
-#: breakpoint.c:9261
+#: breakpoint.c:9412
 msgid "Target cannot run dprintf commands, falling back to GDB printf"
 msgstr ""
 
-#: breakpoint.c:9267
+#: breakpoint.c:9418
 msgid "Invalid dprintf style."
 msgstr ""
 
-#: breakpoint.c:9328 breakpoint.c:14964
+#: breakpoint.c:9479 breakpoint.c:15061
 msgid "No hardware breakpoint support in the target."
 msgstr ""
 
-#: breakpoint.c:9330 breakpoint.c:10460 breakpoint.c:14966
+#: breakpoint.c:9481 breakpoint.c:10610 breakpoint.c:15063
 msgid "Hardware breakpoints used exceeds limit."
 msgstr ""
 
-#: breakpoint.c:9385 breakpoint.c:9394
+#: breakpoint.c:9536 breakpoint.c:9545
 #, possible-c-format
 msgid "Probed static tracepoint marker \"%s\"\n"
 msgstr ""
 
-#: breakpoint.c:9399
+#: breakpoint.c:9550
 msgid "Couldn't determine the static tracepoint marker to probe"
 msgstr ""
 
-#: breakpoint.c:9422
+#: breakpoint.c:9570
 #, possible-c-format
 msgid "Garbage '%s' follows condition"
 msgstr ""
 
-#: breakpoint.c:9432 breakpoint.c:13742
+#: breakpoint.c:9580 breakpoint.c:13847
 msgid "Format string required"
 msgstr ""
 
-#: breakpoint.c:9435
+#: breakpoint.c:9583
 #, possible-c-format
 msgid "Garbage '%s' at end of command"
 msgstr ""
 
-#: breakpoint.c:9594
+#: breakpoint.c:9742
 msgid "No default breakpoint address now."
 msgstr ""
 
-#: breakpoint.c:9666
+#: breakpoint.c:9814
 #, possible-c-format
 msgid "May not have a fast tracepoint at 0x%s%s"
 msgstr ""
 
-#: breakpoint.c:9678 thread.c:1306
+#: breakpoint.c:9826 thread.c:1487
 #, possible-c-format
 msgid "Unknown thread %d."
 msgstr ""
 
-#: breakpoint.c:9734
+#: breakpoint.c:9882
 msgid "Junk after thread keyword."
 msgstr ""
 
-#: breakpoint.c:9746
+#: breakpoint.c:9894
 msgid "Junk after task keyword."
 msgstr ""
 
-#: breakpoint.c:9748
+#: breakpoint.c:9896
 #, possible-c-format
 msgid "Unknown task %d."
 msgstr ""
 
-#: breakpoint.c:9783
+#: breakpoint.c:9931
 #, possible-c-format
 msgid "No known static tracepoint marker named %s"
 msgstr ""
 
-#: breakpoint.c:9874
+#: breakpoint.c:10022
 #, possible-c-format
 msgid "Make %s pending on future shared library load? "
 msgstr ""
 
-#: breakpoint.c:9961
+#: breakpoint.c:10109
 #, possible-c-format
 msgid "Garbage '%s' at end of location"
 msgstr ""
 
-#: breakpoint.c:10028
+#: breakpoint.c:10176
 msgid ""
 "Multiple breakpoints were set.\n"
 "Use the \"delete\" command to delete unwanted breakpoints."
 msgstr ""
 
-#: breakpoint.c:10091 linespec.c:1975
+#: breakpoint.c:10239 linespec.c:1977
 #, possible-c-format
 msgid "No line %d in file \"%s\"."
 msgstr ""
 
-#: breakpoint.c:10165
+#: breakpoint.c:10315
 msgid ""
 "Specify the type of breakpoint to set.\n"
 "Usage: stop in <function | address>\n"
 "       stop at <line>\n"
 msgstr ""
 
-#: breakpoint.c:10198
+#: breakpoint.c:10348
 msgid "Usage: stop in <function | address>\n"
 msgstr ""
 
-#: breakpoint.c:10230
+#: breakpoint.c:10380
 msgid "Usage: stop at <line>\n"
 msgstr ""
 
-#: breakpoint.c:10259
+#: breakpoint.c:10409
 msgid "May only run agent-printf on the target"
 msgstr ""
 
-#: breakpoint.c:10387
+#: breakpoint.c:10537
 #, possible-c-format
 msgid "Hardware assisted ranged breakpoint %d from %s to %s."
 msgstr ""
 
-#: breakpoint.c:10428 breakpoint.c:10508
+#: breakpoint.c:10578 breakpoint.c:10658
 msgid "Could not find location of the end of the range."
 msgstr ""
 
-#: breakpoint.c:10453
+#: breakpoint.c:10603
 msgid "This target does not support hardware ranged breakpoints."
 msgstr ""
 
-#: breakpoint.c:10464
+#: breakpoint.c:10614
 msgid "No address range specified."
 msgstr ""
 
-#: breakpoint.c:10474
+#: breakpoint.c:10624
 msgid "Too few arguments."
 msgstr ""
 
-#: breakpoint.c:10476
+#: breakpoint.c:10626
 msgid "Could not find location of the beginning of the range."
 msgstr ""
 
-#: breakpoint.c:10482 breakpoint.c:10513
+#: breakpoint.c:10632 breakpoint.c:10663
 msgid "Cannot create a ranged breakpoint with multiple locations."
 msgstr ""
 
-#: breakpoint.c:10521
+#: breakpoint.c:10671
 msgid "Invalid address range, end precedes start."
 msgstr ""
 
 #. Length overflowed.
-#: breakpoint.c:10526
+#: breakpoint.c:10676
 msgid "Address range too large."
 msgstr ""
 
-#: breakpoint.c:10919 breakpoint.c:11056 breakpoint.c:11112 breakpoint.c:11143
+#: breakpoint.c:11067 breakpoint.c:11204 breakpoint.c:11260 breakpoint.c:11291
 msgid "Invalid hardware watchpoint type."
 msgstr ""
 
-#: breakpoint.c:10950
+#: breakpoint.c:11098
 msgid "Invalid watchpoint type."
 msgstr ""
 
-#: breakpoint.c:11060
+#: breakpoint.c:11208
 msgid ""
 "\n"
 "Check the underlying instruction at PC for the memory\n"
 "address and value which triggered this watchpoint.\n"
 msgstr ""
 
-#: breakpoint.c:11235
+#: breakpoint.c:11384
 msgid "You can specify only one thread."
 msgstr ""
 
-#: breakpoint.c:11243
+#: breakpoint.c:11392
 #, possible-c-format
 msgid "Invalid thread ID specification %s."
 msgstr ""
 
-#: breakpoint.c:11257
+#: breakpoint.c:11406
 msgid "You can specify only one mask."
 msgstr ""
 
-#: breakpoint.c:11301
+#: breakpoint.c:11450
 #, possible-c-format
 msgid "Cannot watch constant value `%.*s'."
 msgstr ""
 
-#: breakpoint.c:11322
+#: breakpoint.c:11477
 msgid "This target does not support masked watchpoints."
 msgstr ""
 
-#: breakpoint.c:11324
+#: breakpoint.c:11479
 msgid "Invalid mask or memory region."
 msgstr ""
 
-#: breakpoint.c:11350
+#: breakpoint.c:11505
 msgid "Junk at end of command."
 msgstr ""
 
-#: breakpoint.c:11683
+#: breakpoint.c:11840
 msgid "Couldn't get information on specified line."
 msgstr ""
 
-#: breakpoint.c:11850
+#: breakpoint.c:12007
 msgid "unsupported or unknown fork kind; cannot catch it"
 msgstr ""
 
 #. Here we have to issue an error instead of a warning,
 #. because GDB cannot do anything useful if there's no
 #. syscall number to be caught.
-#: breakpoint.c:11961
+#: breakpoint.c:12119
 #, possible-c-format
 msgid "Unknown syscall name '%s'."
 msgstr ""
 
-#: breakpoint.c:11985
+#: breakpoint.c:12143
 msgid "The feature 'catch syscall' is not supported on this architecture yet."
 msgstr ""
 
-#: breakpoint.c:12016 breakpoint.c:12023
+#: breakpoint.c:12174 breakpoint.c:12181
 msgid "Catch requires an event name."
 msgstr ""
 
-#: breakpoint.c:12082
+#: breakpoint.c:12240
 msgid "No source file specified."
 msgstr ""
 
-#: breakpoint.c:12180
+#: breakpoint.c:12338
 #, possible-c-format
 msgid "No breakpoint at %s."
 msgstr ""
 
-#: breakpoint.c:12182
+#: breakpoint.c:12340
 msgid "No breakpoint at this line."
 msgstr ""
 
-#: breakpoint.c:12205
+#: breakpoint.c:12363
 msgid "Deleted breakpoint "
 msgstr ""
 
-#: breakpoint.c:12207
+#: breakpoint.c:12365
 msgid "Deleted breakpoints "
 msgstr ""
 
@@ -3762,269 +3740,264 @@ msgstr ""
 #. Note that at this point, old_loc->owner is still
 #. valid, as delete_breakpoint frees the breakpoint
 #. only after calling us.
-#: breakpoint.c:12646
+#: breakpoint.c:12793
 #, possible-c-format
 msgid "warning: Error removing breakpoint %d\n"
 msgstr ""
 
-#: breakpoint.c:12754
+#: breakpoint.c:12901
 msgid "allegedly permanent breakpoint is not actually inserted"
 msgstr ""
 
-#: breakpoint.c:12796
+#: breakpoint.c:12943
 msgid "another breakpoint was inserted on top of a permanent breakpoint"
 msgstr ""
 
-#: breakpoint.c:12886
+#: breakpoint.c:13033
 #, possible-c-format
 msgid " (%s) pending."
 msgstr ""
 
-#: breakpoint.c:13286
+#: breakpoint.c:13389
 msgid "Temporary breakpoint"
 msgstr ""
 
-#: breakpoint.c:13288
+#: breakpoint.c:13391
 msgid "Breakpoint"
 msgstr ""
 
-#: breakpoint.c:13289 breakpoint.c:13625 breakpoint.c:13629 breakpoint.c:13633
+#: breakpoint.c:13392 breakpoint.c:13730 breakpoint.c:13734 breakpoint.c:13738
 #, possible-c-format
 msgid " %d"
 msgstr ""
 
-#: breakpoint.c:13291
+#: breakpoint.c:13394
 msgid " at gnu-indirect-function resolver"
 msgstr ""
 
-#: breakpoint.c:13294
+#: breakpoint.c:13397
 #, possible-c-format
 msgid "Hardware assisted breakpoint %d"
 msgstr ""
 
-#: breakpoint.c:13297
+#: breakpoint.c:13400
 #, possible-c-format
 msgid "Dprintf %d"
 msgstr ""
 
-#: breakpoint.c:13318
+#: breakpoint.c:13421
 #, possible-c-format
 msgid "unhandled breakpoint type %d"
 msgstr ""
 
 #. Not sure how we will get here.
 #. GDB should not stop for these breakpoints.
-#: breakpoint.c:13424
+#: breakpoint.c:13527
 msgid "Thread Event Breakpoint: gdb should not stop!\n"
 msgstr ""
 
 #. By analogy with the thread event, GDB should not stop for these.
-#: breakpoint.c:13429
+#: breakpoint.c:13532
 msgid "Overlay Event Breakpoint: gdb should not stop!\n"
 msgstr ""
 
 #. These should never be enabled.
-#: breakpoint.c:13434
+#: breakpoint.c:13537
 msgid "Longjmp Master Breakpoint: gdb should not stop!\n"
 msgstr ""
 
 #. These should never be enabled.
-#: breakpoint.c:13439
+#: breakpoint.c:13542
 msgid "std::terminate Master Breakpoint: gdb should not stop!\n"
 msgstr ""
 
 #. These should never be enabled.
-#: breakpoint.c:13445
+#: breakpoint.c:13548
 msgid "Exception Master Breakpoint: gdb should not stop!\n"
 msgstr ""
 
-#: breakpoint.c:13578
+#: breakpoint.c:13683
 msgid "probe not found"
 msgstr ""
 
-#: breakpoint.c:13624
+#: breakpoint.c:13729
 msgid "Tracepoint"
 msgstr ""
 
-#: breakpoint.c:13628
+#: breakpoint.c:13733
 msgid "Fast tracepoint"
 msgstr ""
 
-#: breakpoint.c:13632
+#: breakpoint.c:13737
 msgid "Static tracepoint"
 msgstr ""
 
-#: breakpoint.c:13637 breakpoint.c:13656
+#: breakpoint.c:13742 breakpoint.c:13761
 #, possible-c-format
 msgid "unhandled tracepoint type %d"
 msgstr ""
 
-#: breakpoint.c:13898
+#: breakpoint.c:14003
 #, possible-c-format
 msgid "marker %s not found"
 msgstr ""
 
-#: breakpoint.c:14092
+#: breakpoint.c:14197
 msgid "Delete all breakpoints? "
 msgstr ""
 
-#: breakpoint.c:14198
+#: breakpoint.c:14303
 #, possible-c-format
 msgid "static tracepoint %d changed probed marker from %s to %s"
 msgstr ""
 
-#: breakpoint.c:14233
+#: breakpoint.c:14338
 #, possible-c-format
 msgid "marker for static tracepoint %d (%s) not found at previous line number"
 msgstr ""
 
-#: breakpoint.c:14326
+#: breakpoint.c:14431
 #, possible-c-format
 msgid "Could not reset ranged breakpoint %d: multiple locations found\n"
 msgstr ""
 
-#: breakpoint.c:14367
+#: breakpoint.c:14472
 #, possible-c-format
 msgid "failed to reevaluate condition for breakpoint %d: %s"
 msgstr ""
 
-#: breakpoint.c:14718
+#: breakpoint.c:14819
 #, possible-c-format
 msgid "Ignore count ignored for tracepoint %d."
 msgstr ""
 
-#: breakpoint.c:14727
+#: breakpoint.c:14828
 #, possible-c-format
 msgid "Will stop next time breakpoint %d is reached."
 msgstr ""
 
-#: breakpoint.c:14731
+#: breakpoint.c:14832
 #, possible-c-format
 msgid "Will ignore next crossing of breakpoint %d."
 msgstr ""
 
-#: breakpoint.c:14734
+#: breakpoint.c:14835
 #, possible-c-format
 msgid "Will ignore next %d crossings of breakpoint %d."
 msgstr ""
 
-#: breakpoint.c:14754
+#: breakpoint.c:14855
 msgid "a breakpoint number"
 msgstr ""
 
-#: breakpoint.c:14758
+#: breakpoint.c:14859
 #, possible-c-format
 msgid "bad breakpoint number: '%s'"
 msgstr ""
 
-#: breakpoint.c:14760
+#: breakpoint.c:14861
 msgid "Second argument (specified ignore-count) is missing."
 msgstr ""
 
-#: breakpoint.c:14783
+#: breakpoint.c:14884
 msgid "one or more breakpoint numbers"
 msgstr ""
 
-#: breakpoint.c:14796
+#: breakpoint.c:14897
 #, possible-c-format
 msgid "bad breakpoint number at or near '%s'"
 msgstr ""
 
-#: breakpoint.c:14808
+#: breakpoint.c:14909
 #, possible-c-format
 msgid "No breakpoint number %d.\n"
 msgstr ""
 
-#: breakpoint.c:14828 breakpoint.c:14837
+#: breakpoint.c:14929 breakpoint.c:14938
 #, possible-c-format
 msgid "Bad breakpoint number '%s'"
 msgstr ""
 
-#: breakpoint.c:14842 breakpoint.c:14849
+#: breakpoint.c:14943 breakpoint.c:14950
 #, possible-c-format
 msgid "Bad breakpoint location number '%s'"
 msgstr ""
 
-#: breakpoint.c:14986
+#: breakpoint.c:15083
 #, possible-c-format
 msgid "Cannot enable watchpoint %d: "
 msgstr ""
 
-#: breakpoint.c:15300
-#, possible-c-format
-msgid "Could not insert single-step breakpoint at %s"
-msgstr ""
-
 #. In the absence of a source location, fall back to raw
 #. address.  Since there is no way to confirm that the address
 #. means the same thing as when the trace was started, warn the
 #. user.
-#: breakpoint.c:15578
+#: breakpoint.c:15520
 #, possible-c-format
 msgid "Uploaded tracepoint %d has no source location, using raw address"
 msgstr ""
 
-#: breakpoint.c:15587
+#: breakpoint.c:15529
 #, possible-c-format
 msgid "Uploaded tracepoint %d condition has no source form, ignoring it"
 msgstr ""
 
-#: breakpoint.c:15635
+#: breakpoint.c:15577
 #, possible-c-format
 msgid "Uploaded tracepoint %d actions have no source form, ignoring them"
 msgstr ""
 
-#: breakpoint.c:15709
+#: breakpoint.c:15651
 msgid "Delete all tracepoints? "
 msgstr ""
 
-#: breakpoint.c:15728
+#: breakpoint.c:15670
 #, possible-c-format
 msgid "Setting tracepoint %d's passcount to %d\n"
 msgstr ""
 
-#: breakpoint.c:15745
+#: breakpoint.c:15687
 msgid "passcount command requires an argument (count + optional TP num)"
 msgstr ""
 
-#: breakpoint.c:15843
+#: breakpoint.c:15785
 #, possible-c-format
 msgid "bad tracepoint number at or near '%s'\n"
 msgstr ""
 
-#: breakpoint.c:15846
+#: breakpoint.c:15788
 msgid "No previous tracepoint\n"
 msgstr ""
 
-#: breakpoint.c:15888
+#: breakpoint.c:15830
 msgid "Argument required (file name in which to save)"
 msgstr ""
 
-#: breakpoint.c:15914
+#: breakpoint.c:15856
 msgid "Nothing to save."
 msgstr ""
 
-#: breakpoint.c:15922
+#: breakpoint.c:15864
 #, possible-c-format
 msgid "Unable to open file '%s' for saving (%s)"
 msgstr ""
 
-#: breakpoint.c:15991
+#: breakpoint.c:15933
 #, possible-c-format
 msgid "Saved to file '%s'.\n"
 msgstr ""
 
-#: breakpoint.c:16095
+#: breakpoint.c:16036
 msgid "\"save\" must be followed by the name of a save subcommand.\n"
 msgstr ""
 
-#: breakpoint.c:16393
+#: breakpoint.c:16334
 msgid ""
 "Set ignore-count of breakpoint number N to COUNT.\n"
 "Usage is `ignore N COUNT'."
 msgstr ""
 
-#: breakpoint.c:16399
+#: breakpoint.c:16340
 msgid ""
 "Set commands to be executed when a breakpoint is hit.\n"
 "Give breakpoint number as argument after \"commands\".\n"
@@ -4035,14 +4008,14 @@ msgid ""
 "then no output is printed when it is hit, except what the commands print."
 msgstr ""
 
-#: breakpoint.c:16408
+#: breakpoint.c:16349
 msgid ""
 "Specify breakpoint number N to break only if COND is true.\n"
 "Usage is `condition N COND', where N is an integer and COND is an\n"
 "expression to be evaluated whenever breakpoint N is reached."
 msgstr ""
 
-#: breakpoint.c:16414
+#: breakpoint.c:16355
 msgid ""
 "Set a temporary breakpoint.\n"
 "Like \"break\" except the breakpoint is only temporary,\n"
@@ -4051,7 +4024,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: breakpoint.c:16423
+#: breakpoint.c:16364
 msgid ""
 "Set a hardware assisted breakpoint.\n"
 "Like \"break\" except the breakpoint requires hardware support,\n"
@@ -4059,7 +4032,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: breakpoint.c:16431
+#: breakpoint.c:16372
 msgid ""
 "Set a temporary hardware assisted breakpoint.\n"
 "Like \"hbreak\" except the breakpoint is only temporary,\n"
@@ -4067,7 +4040,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: breakpoint.c:16439 breakpoint.c:16447
+#: breakpoint.c:16380 breakpoint.c:16388
 msgid ""
 "Enable some breakpoints.\n"
 "Give breakpoint numbers (separated by spaces) as arguments.\n"
@@ -4076,7 +4049,7 @@ msgid ""
 "With a subcommand you can enable temporarily."
 msgstr ""
 
-#: breakpoint.c:16456
+#: breakpoint.c:16397
 msgid ""
 "Enable some breakpoints.\n"
 "Give breakpoint numbers (separated by spaces) as arguments.\n"
@@ -4084,26 +4057,26 @@ msgid ""
 "May be abbreviated to simply \"enable\".\n"
 msgstr ""
 
-#: breakpoint.c:16463 breakpoint.c:16484
+#: breakpoint.c:16404 breakpoint.c:16425
 msgid ""
 "Enable breakpoints for one hit.  Give breakpoint numbers.\n"
 "If a breakpoint is hit while enabled in this fashion, it becomes disabled."
 msgstr ""
 
-#: breakpoint.c:16468 breakpoint.c:16479
+#: breakpoint.c:16409 breakpoint.c:16420
 msgid ""
 "Enable breakpoints and delete when hit.  Give breakpoint numbers.\n"
 "If a breakpoint is hit while enabled in this fashion, it is deleted."
 msgstr ""
 
-#: breakpoint.c:16473 breakpoint.c:16489
+#: breakpoint.c:16414 breakpoint.c:16430
 msgid ""
 "Enable breakpoints for COUNT hits.  Give count and then breakpoint numbers.\n"
 "If a breakpoint is hit while enabled in this fashion,\n"
 "the count is decremented; when it reaches zero, the breakpoint is disabled."
 msgstr ""
 
-#: breakpoint.c:16495 breakpoint.c:16504
+#: breakpoint.c:16436 breakpoint.c:16445
 msgid ""
 "Disable some breakpoints.\n"
 "Arguments are breakpoint numbers with spaces in between.\n"
@@ -4111,7 +4084,7 @@ msgid ""
 "A disabled breakpoint is not forgotten, but has no effect until re-enabled."
 msgstr ""
 
-#: breakpoint.c:16510
+#: breakpoint.c:16451
 msgid ""
 "Disable some breakpoints.\n"
 "Arguments are breakpoint numbers with spaces in between.\n"
@@ -4120,7 +4093,7 @@ msgid ""
 "This command may be abbreviated \"disable\"."
 msgstr ""
 
-#: breakpoint.c:16518
+#: breakpoint.c:16459
 msgid ""
 "Delete some breakpoints or auto-display expressions.\n"
 "Arguments are breakpoint numbers with spaces in between.\n"
@@ -4130,14 +4103,14 @@ msgid ""
 "The \"unset\" command is also an alias for \"delete\"."
 msgstr ""
 
-#: breakpoint.c:16529
+#: breakpoint.c:16470
 msgid ""
 "Delete some breakpoints.\n"
 "Arguments are breakpoint numbers with spaces in between.\n"
 "To delete all breakpoints, give no argument.\n"
 msgstr ""
 
-#: breakpoint.c:16534
+#: breakpoint.c:16475
 msgid ""
 "Delete some breakpoints or auto-display expressions.\n"
 "Arguments are breakpoint numbers with spaces in between.\n"
@@ -4145,7 +4118,7 @@ msgid ""
 "This command may be abbreviated \"delete\"."
 msgstr ""
 
-#: breakpoint.c:16541
+#: breakpoint.c:16482
 msgid ""
 "Clear breakpoint at specified line or function.\n"
 "Argument may be line number, function name, or \"*\" and an address.\n"
@@ -4160,23 +4133,23 @@ msgid ""
 "See also the \"delete\" command which clears breakpoints by number."
 msgstr ""
 
-#: breakpoint.c:16554
+#: breakpoint.c:16495
 msgid "Set breakpoint at specified line or function.\n"
 msgstr ""
 
-#: breakpoint.c:16569
+#: breakpoint.c:16510
 msgid "Break in function/address or break at a line in the current file."
 msgstr ""
 
-#: breakpoint.c:16573
+#: breakpoint.c:16514
 msgid "Break in function or address."
 msgstr ""
 
-#: breakpoint.c:16575
+#: breakpoint.c:16516
 msgid "Break at a line in the current file."
 msgstr ""
 
-#: breakpoint.c:16576 breakpoint.c:16612
+#: breakpoint.c:16517 breakpoint.c:16553
 msgid ""
 "Status of user-settable breakpoints, or breakpoint number NUMBER.\n"
 "The \"Type\" column indicates one of:\n"
@@ -4198,7 +4171,7 @@ msgid ""
 "breakpoint set."
 msgstr ""
 
-#: breakpoint.c:16593
+#: breakpoint.c:16534
 msgid ""
 "Status of specified breakpoints (all user-settable breakpoints if no "
 "argument).\n"
@@ -4221,7 +4194,7 @@ msgid ""
 "breakpoint set."
 msgstr ""
 
-#: breakpoint.c:16628
+#: breakpoint.c:16569
 msgid ""
 "Status of all breakpoints, or breakpoint number NUMBER.\n"
 "The \"Type\" column indicates one of:\n"
@@ -4247,43 +4220,43 @@ msgid ""
 "breakpoint set."
 msgstr ""
 
-#: breakpoint.c:16649
+#: breakpoint.c:16590
 msgid "Set catchpoints to catch events."
 msgstr ""
 
 #. allow-unknown
-#: breakpoint.c:16654
+#: breakpoint.c:16595
 msgid "Set temporary catchpoints to catch events."
 msgstr ""
 
 #. allow-unknown
-#: breakpoint.c:16659
+#: breakpoint.c:16600
 msgid "Catch calls to fork."
 msgstr ""
 
-#: breakpoint.c:16664
+#: breakpoint.c:16605
 msgid "Catch calls to vfork."
 msgstr ""
 
-#: breakpoint.c:16669
+#: breakpoint.c:16610
 msgid "Catch calls to exec."
 msgstr ""
 
-#: breakpoint.c:16674
+#: breakpoint.c:16615
 msgid ""
 "Catch loads of shared libraries.\n"
 "Usage: catch load [REGEX]\n"
 "If REGEX is given, only stop for libraries matching the regular expression."
 msgstr ""
 
-#: breakpoint.c:16681
+#: breakpoint.c:16622
 msgid ""
 "Catch unloads of shared libraries.\n"
 "Usage: catch unload [REGEX]\n"
 "If REGEX is given, only stop for libraries matching the regular expression."
 msgstr ""
 
-#: breakpoint.c:16688
+#: breakpoint.c:16629
 msgid ""
 "Catch system calls by their names and/or numbers.\n"
 "Arguments say which system calls to catch.  If no arguments\n"
@@ -4292,7 +4265,7 @@ msgid ""
 "(if your system supports that), or system call numbers."
 msgstr ""
 
-#: breakpoint.c:16699
+#: breakpoint.c:16640
 msgid ""
 "Set a watchpoint for an expression.\n"
 "Usage: watch [-l|-location] EXPRESSION\n"
@@ -4302,7 +4275,7 @@ msgid ""
 "the memory to which it refers."
 msgstr ""
 
-#: breakpoint.c:16708
+#: breakpoint.c:16649
 msgid ""
 "Set a read watchpoint for an expression.\n"
 "Usage: rwatch [-l|-location] EXPRESSION\n"
@@ -4312,7 +4285,7 @@ msgid ""
 "the memory to which it refers."
 msgstr ""
 
-#: breakpoint.c:16717
+#: breakpoint.c:16658
 msgid ""
 "Set a watchpoint for an expression.\n"
 "Usage: awatch [-l|-location] EXPRESSION\n"
@@ -4322,19 +4295,19 @@ msgid ""
 "the memory to which it refers."
 msgstr ""
 
-#: breakpoint.c:16726
+#: breakpoint.c:16667
 msgid "Status of specified watchpoints (all watchpoints if no argument)."
 msgstr ""
 
-#: breakpoint.c:16732
+#: breakpoint.c:16673
 msgid "Set debugger's willingness to use watchpoint hardware."
 msgstr ""
 
-#: breakpoint.c:16733
+#: breakpoint.c:16674
 msgid "Show debugger's willingness to use watchpoint hardware."
 msgstr ""
 
-#: breakpoint.c:16734
+#: breakpoint.c:16675
 msgid ""
 "If zero, gdb will not use hardware for new watchpoints, even if\n"
 "such is available.  (However, any hardware watchpoints that were\n"
@@ -4343,19 +4316,19 @@ msgid ""
 msgstr ""
 
 #. Tracepoint manipulation commands.
-#: breakpoint.c:16747
+#: breakpoint.c:16688
 msgid ""
 "Set a tracepoint at specified line or function.\n"
 "\n"
 msgstr ""
 
-#: breakpoint.c:16759
+#: breakpoint.c:16700
 msgid ""
 "Set a fast tracepoint at specified line or function.\n"
 "\n"
 msgstr ""
 
-#: breakpoint.c:16766
+#: breakpoint.c:16707
 msgid ""
 "Set a static tracepoint at specified line, function or marker.\n"
 "\n"
@@ -4383,35 +4356,35 @@ msgid ""
 "Do \"help tracepoints\" for info on other tracepoint commands."
 msgstr ""
 
-#: breakpoint.c:16792
+#: breakpoint.c:16733
 msgid ""
 "Status of specified tracepoints (all tracepoints if no argument).\n"
 "Convenience variable \"$tpnum\" contains the number of the\n"
 "last tracepoint set."
 msgstr ""
 
-#: breakpoint.c:16799
+#: breakpoint.c:16740
 msgid ""
 "Delete specified tracepoints.\n"
 "Arguments are tracepoint numbers, separated by spaces.\n"
 "No argument means delete all tracepoints."
 msgstr ""
 
-#: breakpoint.c:16806
+#: breakpoint.c:16747
 msgid ""
 "Disable specified tracepoints.\n"
 "Arguments are tracepoint numbers, separated by spaces.\n"
 "No argument means disable all tracepoints."
 msgstr ""
 
-#: breakpoint.c:16813
+#: breakpoint.c:16754
 msgid ""
 "Enable specified tracepoints.\n"
 "Arguments are tracepoint numbers, separated by spaces.\n"
 "No argument means enable all tracepoints."
 msgstr ""
 
-#: breakpoint.c:16820
+#: breakpoint.c:16761
 msgid ""
 "Set the passcount for a tracepoint.\n"
 "The trace will end when the tracepoint has been passed 'count' times.\n"
@@ -4419,12 +4392,12 @@ msgid ""
 "if TPNUM is omitted, passcount refers to the last tracepoint defined."
 msgstr ""
 
-#: breakpoint.c:16827
+#: breakpoint.c:16768
 msgid "Save breakpoint definitions as a script."
 msgstr ""
 
 #. allow-unknown
-#: breakpoint.c:16831
+#: breakpoint.c:16772
 msgid ""
 "Save current breakpoint definitions as a script.\n"
 "This includes all types of breakpoints (breakpoints, watchpoints,\n"
@@ -4432,29 +4405,29 @@ msgid ""
 "session to restore them."
 msgstr ""
 
-#: breakpoint.c:16839
+#: breakpoint.c:16780
 msgid ""
 "Save current tracepoint definitions as a script.\n"
 "Use the 'source' command in another debug session to restore them."
 msgstr ""
 
 #. allow-unknown
-#: breakpoint.c:16848 breakpoint.c:16854
+#: breakpoint.c:16789 breakpoint.c:16795
 msgid ""
 "Breakpoint specific settings\n"
 "Configure various breakpoint-specific variables such as\n"
 "pending breakpoint behavior"
 msgstr ""
 
-#: breakpoint.c:16862
+#: breakpoint.c:16803
 msgid "Set debugger's behavior regarding pending breakpoints."
 msgstr ""
 
-#: breakpoint.c:16863
+#: breakpoint.c:16804
 msgid "Show debugger's behavior regarding pending breakpoints."
 msgstr ""
 
-#: breakpoint.c:16864
+#: breakpoint.c:16805
 msgid ""
 "If on, an unrecognized breakpoint location will cause gdb to create a\n"
 "pending breakpoint.  If off, an unrecognized breakpoint location results in\n"
@@ -4462,15 +4435,15 @@ msgid ""
 "user-query to see if a pending breakpoint should be created."
 msgstr ""
 
-#: breakpoint.c:16877
+#: breakpoint.c:16818
 msgid "Set automatic usage of hardware breakpoints."
 msgstr ""
 
-#: breakpoint.c:16878
+#: breakpoint.c:16819
 msgid "Show automatic usage of hardware breakpoints."
 msgstr ""
 
-#: breakpoint.c:16879
+#: breakpoint.c:16820
 msgid ""
 "If set, the debugger will automatically use hardware breakpoints for\n"
 "breakpoints set with \"break\" but falling in read-only memory.  If not "
@@ -4478,35 +4451,32 @@ msgid ""
 "a warning will be emitted for such breakpoints."
 msgstr ""
 
-#: breakpoint.c:16889
+#: breakpoint.c:16830
 msgid "Set mode for inserting breakpoints."
 msgstr ""
 
-#: breakpoint.c:16890
+#: breakpoint.c:16831
 msgid "Show mode for inserting breakpoints."
 msgstr ""
 
-#: breakpoint.c:16891
+#: breakpoint.c:16832
 msgid ""
-"When this mode is off, breakpoints are inserted in inferior when it is\n"
-"resumed, and removed when execution stops.  When this mode is on,\n"
-"breakpoints are inserted immediately and removed only when the user\n"
-"deletes the breakpoint.  When this mode is auto (which is the default),\n"
-"the behaviour depends on the non-stop setting (see help set non-stop).\n"
-"In this case, if gdb is controlling the inferior in non-stop mode, gdb\n"
-"behaves as if always-inserted mode is on; if gdb is controlling the\n"
-"inferior in all-stop mode, gdb behaves as if always-inserted mode is off."
+"When this mode is on, breakpoints are inserted immediately as soon as\n"
+"they're created, kept inserted even when execution stops, and removed\n"
+"only when the user deletes them.  When this mode is off (the default),\n"
+"breakpoints are inserted only when execution continues, and removed\n"
+"when execution stops."
 msgstr ""
 
-#: breakpoint.c:16907
+#: breakpoint.c:16845
 msgid "Set mode of breakpoint condition evaluation."
 msgstr ""
 
-#: breakpoint.c:16908
+#: breakpoint.c:16846
 msgid "Show mode of breakpoint condition evaluation."
 msgstr ""
 
-#: breakpoint.c:16909
+#: breakpoint.c:16847
 msgid ""
 "When this is set to \"host\", breakpoint conditions will be\n"
 "evaluated on the host's side by GDB.  When it is set to \"target\",\n"
@@ -4518,7 +4488,7 @@ msgid ""
 "be set to \"gdb\""
 msgstr ""
 
-#: breakpoint.c:16922
+#: breakpoint.c:16860
 msgid ""
 "Set a breakpoint for an address range.\n"
 "break-range START-LOCATION, END-LOCATION\n"
@@ -4536,7 +4506,7 @@ msgid ""
 "range (including START-LOCATION and END-LOCATION)."
 msgstr ""
 
-#: breakpoint.c:16938
+#: breakpoint.c:16876
 msgid ""
 "Set a dynamic printf at specified line or function.\n"
 "dprintf location,format string,arg1,arg2,...\n"
@@ -4545,15 +4515,15 @@ msgid ""
 "If a function is specified, break at start of code for that function."
 msgstr ""
 
-#: breakpoint.c:16947
+#: breakpoint.c:16885
 msgid "Set the style of usage for dynamic printf."
 msgstr ""
 
-#: breakpoint.c:16948
+#: breakpoint.c:16886
 msgid "Show the style of usage for dynamic printf."
 msgstr ""
 
-#: breakpoint.c:16949
+#: breakpoint.c:16887
 msgid ""
 "This setting chooses how GDB will do a dynamic printf.\n"
 "If the value is \"gdb\", then the printing is done by GDB to its own\n"
@@ -4563,37 +4533,37 @@ msgid ""
 "output stream by setting dprintf-function and dprintf-channel."
 msgstr ""
 
-#: breakpoint.c:16961
+#: breakpoint.c:16899
 msgid "Set the function to use for dynamic printf"
 msgstr ""
 
-#: breakpoint.c:16962
+#: breakpoint.c:16900
 msgid "Show the function to use for dynamic printf"
 msgstr ""
 
-#: breakpoint.c:16969
+#: breakpoint.c:16907
 msgid "Set the channel to use for dynamic printf"
 msgstr ""
 
-#: breakpoint.c:16970
+#: breakpoint.c:16908
 msgid "Show the channel to use for dynamic printf"
 msgstr ""
 
-#: breakpoint.c:16976
+#: breakpoint.c:16914
 msgid "Set whether dprintf continues after GDB disconnects."
 msgstr ""
 
-#: breakpoint.c:16977
+#: breakpoint.c:16915
 msgid "Show whether dprintf continues after GDB disconnects."
 msgstr ""
 
-#: breakpoint.c:16978
+#: breakpoint.c:16916
 msgid ""
 "Use this to let dprintf commands continue to hit and produce output\n"
 "even if GDB disconnects or detaches from the target."
 msgstr ""
 
-#: breakpoint.c:16985
+#: breakpoint.c:16923
 msgid ""
 "agent-printf \"printf format string\", arg1, arg2, arg3, ..., argn\n"
 "(target agent only) This is useful for formatted output in user-defined "
@@ -4650,7 +4620,7 @@ msgstr ""
 msgid "Set current context from pcb address"
 msgstr ""
 
-#: bsd-uthread.c:100
+#: bsd-uthread.c:99
 msgid "Bad magic"
 msgstr ""
 
@@ -4664,8 +4634,8 @@ msgstr ""
 msgid "Recorded trace may be incomplete around %s."
 msgstr ""
 
-#: btrace.c:713 record-btrace.c:201 remote.c:11261 remote.c:11297
-#: remote.c:11343
+#: btrace.c:713 record-btrace.c:203 remote.c:11351 remote.c:11387
+#: remote.c:11433
 msgid "Target does not support branch tracing."
 msgstr ""
 
@@ -4694,233 +4664,236 @@ msgstr ""
 msgid "Cannot process branch trace.  XML parsing is not supported."
 msgstr ""
 
-#: btrace.c:1095 btrace.c:1112 btrace.c:1323 btrace.c:1339 record-btrace.c:104
+#: btrace.c:1095 btrace.c:1112 btrace.c:1323 btrace.c:1339 record-btrace.c:106
 msgid "No trace."
 msgstr ""
 
-#: build-id.c:59
+#: build-id.c:58
 #, possible-c-format
 msgid "File \"%s\" has no build-id, file skipped"
 msgstr ""
 
-#: build-id.c:63
+#: build-id.c:62
 #, possible-c-format
 msgid "File \"%s\" has a different build-id, file skipped"
 msgstr ""
 
-#: build-id.c:155
+#: build-id.c:154
 #, possible-c-format
 msgid "\"%s\": separate debug info file has no debug info"
 msgstr ""
 
-#: buildsym.c:359
+#: buildsym.c:443
 #, possible-c-format
 msgid "block end address less than block start address in %s (patched it)"
 msgstr ""
 
-#: buildsym.c:366
+#: buildsym.c:450
 #, possible-c-format
 msgid "block end address %s less than block start address %s (patched it)"
 msgstr ""
 
-#: buildsym.c:399
+#: buildsym.c:483
 #, possible-c-format
 msgid "inner block not inside outer block in %s"
 msgstr ""
 
-#: buildsym.c:405
+#: buildsym.c:489
 #, possible-c-format
 msgid "inner block (%s-%s) not inside outer block (%s-%s)"
 msgstr ""
 
-#: buildsym.c:559
+#: buildsym.c:642
 #, possible-c-format
 msgid "block at %s out of order"
 msgstr ""
 
-#: buildsym.c:733 buildsym.c:747 common/print-utils.c:86
-#: common/print-utils.c:129 common/print-utils.c:297 dbxread.c:3074 exec.c:417
-#: exec.c:705 language.c:536 mdebugread.c:3669 monitor.c:327 monitor.c:357
-#: monitor.c:1324 printcmd.c:486 printcmd.c:841 printcmd.c:2439 psymtab.c:698
-#: psymtab.c:716 remote-mips.c:2727 target.c:678 target.c:762 target.c:789
-#: utils.c:1920 valprint.c:1042
+#: buildsym.c:863 buildsym.c:877 common/print-utils.c:79
+#: common/print-utils.c:122 common/print-utils.c:290 dbxread.c:3071 exec.c:408
+#: exec.c:693 language.c:534 mdebugread.c:3668 monitor.c:325 monitor.c:355
+#: monitor.c:1322 printcmd.c:483 printcmd.c:838 printcmd.c:2439 psymtab.c:704
+#: psymtab.c:722 remote-mips.c:2719 target.c:679 target.c:763 target.c:790
+#: utils.c:1925 valprint.c:1040
 msgid "failed internal consistency check"
 msgstr ""
 
-#: buildsym.c:1045
+#: buildsym.c:1232
 msgid "Context stack not empty in end_symtab"
 msgstr ""
 
-#: buildsym.c:1398
+#: buildsym.c:1582
 msgid "Context stack not empty in augment_type_symtab"
 msgstr ""
 
-#: buildsym.c:1402
+#: buildsym.c:1586
 msgid "Blocks in a type symtab"
 msgstr ""
 
-#: buildsym.c:1404
+#: buildsym.c:1588
 msgid "Macro in a type symtab"
 msgstr ""
 
-#: buildsym.c:1407
+#: buildsym.c:1591
 msgid "Line numbers recorded in a type symtab"
 msgstr ""
 
-#: c-exp.y:489
+#: c-exp.y:487
 #, possible-c-format
 msgid "%s is not an ObjC Class"
 msgstr ""
 
-#: c-exp.y:882
+#: c-exp.y:880
 msgid "Undefined string concatenation."
 msgstr ""
 
-#: c-exp.y:955 go-exp.y:591
+#: c-exp.y:953 go-exp.y:590
 #, possible-c-format
 msgid "@entry can be used only for function parameters, not for \"%s\""
 msgstr ""
 
-#: c-exp.y:970 m2-exp.y:603 p-exp.y:703
+#: c-exp.y:968 m2-exp.y:602 p-exp.y:702
 #, possible-c-format
 msgid "No symbol \"%s\" in specified context."
 msgstr ""
 
-#: c-exp.y:992 c-exp.y:1008 p-exp.y:718
+#: c-exp.y:990 c-exp.y:1006 p-exp.y:717
 #, possible-c-format
 msgid "`%s' is not defined as an aggregate type."
 msgstr ""
 
-#: c-exp.y:1027
+#: c-exp.y:1025
 #, possible-c-format
 msgid "No type \"%s\" within class or namespace \"%s\"."
 msgstr ""
 
-#: c-exp.y:1058 c-exp.y:1110 f-exp.y:545 go-exp.y:642 jv-exp.y:1447
-#: m2-exp.y:659 p-exp.y:755 p-exp.y:825 printcmd.c:1248 valops.c:2694
+#: c-exp.y:1056 c-exp.y:1108 d-exp.y:1300 f-exp.y:544 go-exp.y:641
+#: jv-exp.y:1446 m2-exp.y:658 p-exp.y:754 p-exp.y:824 printcmd.c:1245
+#: valops.c:2698
 #, possible-c-format
 msgid "No symbol \"%s\" in current context."
 msgstr ""
 
-#: c-exp.y:1734
+#: c-exp.y:1733
 msgid "parameter types following 'void'"
 msgstr ""
 
-#: c-exp.y:1739
+#: c-exp.y:1738
 msgid "'void' invalid as parameter type"
 msgstr ""
 
-#: c-exp.y:1918 go-exp.y:841 p-exp.y:1001
+#: c-exp.y:1917 d-exp.y:815 go-exp.y:840 p-exp.y:1000
 msgid "Numeric constant too large."
 msgstr ""
 
-#: c-exp.y:2020
+#: c-exp.y:2019
 msgid "\\x escape without a following hex digit"
 msgstr ""
 
-#: c-exp.y:2070
+#: c-exp.y:2069
 #, possible-c-format
 msgid "\\%c escape without a following hex digit"
 msgstr ""
 
-#: c-exp.y:2245 go-exp.y:975 macroexp.c:409 p-exp.y:1405
+#: c-exp.y:2245 d-exp.y:926 go-exp.y:974 macroexp.c:408 p-exp.y:1404
 msgid "Unterminated string in expression."
 msgstr ""
 
-#: c-exp.y:2247 go-exp.y:977 macroexp.c:352 p-exp.y:1236
+#: c-exp.y:2247 d-exp.y:928 go-exp.y:976 macroexp.c:351 p-exp.y:1235
 msgid "Unmatched single quote."
 msgstr ""
 
-#: c-exp.y:2648 f-exp.y:1127 go-exp.y:1200 m2-exp.y:976 p-exp.y:1332
+#: c-exp.y:2645 d-exp.y:1457 f-exp.y:1126 go-exp.y:1199 m2-exp.y:975
+#: p-exp.y:1331
 #, possible-c-format
 msgid "Invalid number \"%s\"."
 msgstr ""
 
-#: c-exp.y:2721 go-exp.y:1252 p-exp.y:1223
+#: c-exp.y:2718 d-exp.y:1509 go-exp.y:1251 p-exp.y:1222
 msgid "Empty character constant."
 msgstr ""
 
-#: c-exp.y:2731 go-exp.y:1260 p-exp.y:1242
+#: c-exp.y:2728 d-exp.y:1517 go-exp.y:1259 p-exp.y:1241
 msgid "Invalid character constant."
 msgstr ""
 
 #. We must have come across a bad character (e.g. ';').
-#: c-exp.y:2740 f-exp.y:1161 go-exp.y:1269 m2-exp.y:985 p-exp.y:1417
+#: c-exp.y:2737 f-exp.y:1160 go-exp.y:1268 m2-exp.y:984 p-exp.y:1416
 #, possible-c-format
 msgid "Invalid character '%c' in expression."
 msgstr ""
 
-#: c-exp.y:3060
+#: c-exp.y:3050
 msgid "not reached"
 msgstr ""
 
-#: c-exp.y:3332 f-exp.y:1284 go-exp.y:1647 m2-exp.y:1116 p-exp.y:1769
+#: c-exp.y:3323 d-exp.y:1634 f-exp.y:1283 go-exp.y:1646 m2-exp.y:1115
+#: p-exp.y:1768
 #, possible-c-format
 msgid "A %s in expression, near `%s'."
 msgstr ""
 
-#: charset.c:218
+#: charset.c:225
 #, possible-c-format
 msgid "The host character set is \"auto; currently %s\".\n"
 msgstr ""
 
-#: charset.c:221
+#: charset.c:228
 #, possible-c-format
 msgid "The host character set is \"%s\".\n"
 msgstr ""
 
-#: charset.c:231
+#: charset.c:238
 #, possible-c-format
 msgid "The target character set is \"auto; currently %s\".\n"
 msgstr ""
 
-#: charset.c:235
+#: charset.c:242
 #, possible-c-format
 msgid "The target character set is \"%s\".\n"
 msgstr ""
 
-#: charset.c:248
+#: charset.c:255
 #, possible-c-format
 msgid "The target wide character set is \"auto; currently %s\".\n"
 msgstr ""
 
-#: charset.c:252
+#: charset.c:259
 #, possible-c-format
 msgid "The target wide character set is \"%s\".\n"
 msgstr ""
 
-#: charset.c:327 charset.c:333
+#: charset.c:334 charset.c:340
 #, possible-c-format
 msgid "Cannot convert between character sets `%s' and `%s'"
 msgstr ""
 
-#: charset.c:489 charset.c:596
+#: charset.c:496 charset.c:603
 msgid "Converting character sets"
 msgstr ""
 
-#: charset.c:525
+#: charset.c:532
 #, possible-c-format
 msgid "Could not convert character to `%s' character set"
 msgstr ""
 
-#: charset.c:556 charset.c:698
+#: charset.c:563 charset.c:705
 msgid "Internal error while converting character sets"
 msgstr ""
 
 #. No valid charset found, generate error here.
-#: charset.c:998
+#: charset.c:1005
 msgid "Unable to find a vaild charset for string conversions"
 msgstr ""
 
-#: charset.c:1041
+#: charset.c:1048
 msgid "Set the host and target character sets."
 msgstr ""
 
-#: charset.c:1042
+#: charset.c:1049
 msgid "Show the host and target character sets."
 msgstr ""
 
-#: charset.c:1043
+#: charset.c:1050
 msgid ""
 "The `host character set' is the one used by the system GDB is running on.\n"
 "The `target character set' is the one used by the program being debugged.\n"
@@ -4929,15 +4902,15 @@ msgid ""
 "To see a list of the character sets GDB supports, type `set charset <TAB>'."
 msgstr ""
 
-#: charset.c:1057
+#: charset.c:1064
 msgid "Set the host character set."
 msgstr ""
 
-#: charset.c:1058
+#: charset.c:1065
 msgid "Show the host character set."
 msgstr ""
 
-#: charset.c:1059
+#: charset.c:1066
 msgid ""
 "The `host character set' is the one used by the system GDB is running on.\n"
 "You may only use supersets of ASCII for your host character set; GDB does\n"
@@ -4946,15 +4919,15 @@ msgid ""
 "<TAB>'."
 msgstr ""
 
-#: charset.c:1069
+#: charset.c:1076
 msgid "Set the target character set."
 msgstr ""
 
-#: charset.c:1070
+#: charset.c:1077
 msgid "Show the target character set."
 msgstr ""
 
-#: charset.c:1071
+#: charset.c:1078
 msgid ""
 "The `target character set' is the one used by the program being debugged.\n"
 "GDB translates characters and strings between the host and target\n"
@@ -4963,15 +4936,15 @@ msgid ""
 "charset'<TAB>"
 msgstr ""
 
-#: charset.c:1082
+#: charset.c:1089
 msgid "Set the target wide character set."
 msgstr ""
 
-#: charset.c:1083
+#: charset.c:1090
 msgid "Show the target wide character set."
 msgstr ""
 
-#: charset.c:1084
+#: charset.c:1091
 msgid ""
 "The `target wide character set' is the one used by the program being "
 "debugged.\n"
@@ -4982,138 +4955,134 @@ msgid ""
 "`set target-wide-charset'<TAB>"
 msgstr ""
 
-#: c-lang.c:69 c-lang.c:616
+#: c-lang.c:66 c-lang.c:613
 msgid "unhandled c_string_type"
 msgstr ""
 
-#: c-lang.c:369
+#: c-lang.c:366
 #, possible-c-format
 msgid "Trying to read string with inappropriate type `%s'."
 msgstr ""
 
-#: c-lang.c:373
+#: c-lang.c:370
 msgid "Trying to read string with inappropriate type."
 msgstr ""
 
-#: c-lang.c:474
+#: c-lang.c:471
 msgid "Malformed escape sequence"
 msgstr ""
 
-#: c-lang.c:501
+#: c-lang.c:498
 msgid "\\x used with no following hex digits."
 msgstr ""
 
-#: c-lang.c:523
+#: c-lang.c:520
 msgid "\\u used with no following hex digits"
 msgstr ""
 
-#: c-lang.c:675
+#: c-lang.c:672
 msgid "Could not convert character constant to target character set"
 msgstr ""
 
 #. To avoid memory corruption.
-#: c-lang.c:701 eval.c:927
+#: c-lang.c:698 eval.c:922
 msgid "Too many array elements"
 msgstr ""
 
-#: cleanups.c:266
-msgid "restore_my_cleanups has found a stale cleanup"
-msgstr ""
-
-#: cli/cli-dump.c:74
+#: cli/cli-dump.c:72
 msgid "Missing filename."
 msgstr ""
 
-#: cli/cli-dump.c:115 cli/cli-dump.c:135
+#: cli/cli-dump.c:113 cli/cli-dump.c:133
 #, possible-c-format
 msgid "Failed to open %s: %s."
 msgstr ""
 
-#: cli/cli-dump.c:120
+#: cli/cli-dump.c:118
 #, possible-c-format
 msgid "'%s' is not a recognized file format."
 msgstr ""
 
-#: cli/cli-dump.c:139
+#: cli/cli-dump.c:137
 #, possible-c-format
 msgid "bfd_openw_with_cleanup: %s."
 msgstr ""
 
 #. Append to existing file.
 #. FIXME -- doesn't work...
-#: cli/cli-dump.c:143
+#: cli/cli-dump.c:141
 msgid "bfd_openw does not work with append."
 msgstr ""
 
-#: cli/cli-dump.c:146
+#: cli/cli-dump.c:144
 #, possible-c-format
 msgid "bfd_openw_with_cleanup: unknown mode %s."
 msgstr ""
 
-#: cli/cli-dump.c:162
+#: cli/cli-dump.c:160
 msgid ""
 "\"dump\" must be followed by a subcommand.\n"
 "\n"
 msgstr ""
 
-#: cli/cli-dump.c:169
+#: cli/cli-dump.c:167
 msgid ""
 "\"append\" must be followed by a subcommand.\n"
 "\n"
 msgstr ""
 
-#: cli/cli-dump.c:204
+#: cli/cli-dump.c:202
 #, possible-c-format
 msgid "writing dump file '%s' (%s)"
 msgstr ""
 
-#: cli/cli-dump.c:225
+#: cli/cli-dump.c:223
 msgid "Missing start address."
 msgstr ""
 
-#: cli/cli-dump.c:230
+#: cli/cli-dump.c:228
 msgid "Missing stop address."
 msgstr ""
 
-#: cli/cli-dump.c:236
+#: cli/cli-dump.c:234
 msgid "Invalid memory address range (start >= end)."
 msgstr ""
 
-#: cli/cli-dump.c:276
+#: cli/cli-dump.c:274
 #, possible-c-format
 msgid "No value to %s."
 msgstr ""
 
-#: cli/cli-dump.c:279
+#: cli/cli-dump.c:277
 msgid "Invalid expression."
 msgstr ""
 
-#: cli/cli-dump.c:298
+#: cli/cli-dump.c:296
 msgid "value is not an lval: address assumed to be zero"
 msgstr ""
 
 #. No, no useable data in this section.
-#: cli/cli-dump.c:458
+#: cli/cli-dump.c:456
 #, possible-c-format
 msgid "skipping section %s...\n"
 msgstr ""
 
-#: cli/cli-dump.c:477
+#: cli/cli-dump.c:475
 #, possible-c-format
 msgid "Failed to read bfd file %s: '%s'."
 msgstr ""
 
-#: cli/cli-dump.c:500 cli/cli-dump.c:553
+#: cli/cli-dump.c:498 cli/cli-dump.c:551
 #, possible-c-format
 msgid "restore: memory write failed (%s)."
 msgstr ""
 
-#: cli/cli-dump.c:524
+#: cli/cli-dump.c:522
 #, possible-c-format
 msgid "Start address is greater than length of binary file %s."
 msgstr ""
 
-#: cli/cli-dump.c:599
+#: cli/cli-dump.c:598
 msgid "Start must be less than end."
 msgstr ""
 
@@ -5224,273 +5193,273 @@ msgid ""
 "(file relative) will be restored to target memory."
 msgstr ""
 
-#: cli/cli-setshow.c:72
+#: cli/cli-setshow.c:71
 msgid "\"on\", \"off\" or \"auto\" expected."
 msgstr ""
 
-#: cli/cli-setshow.c:227
+#: cli/cli-setshow.c:226
 msgid "filename to set it to."
 msgstr ""
 
-#: cli/cli-setshow.c:264
+#: cli/cli-setshow.c:265
 msgid "\"on\" or \"off\" expected."
 msgstr ""
 
-#: cli/cli-setshow.c:293 cli/cli-setshow.c:329 cli/cli-setshow.c:432
+#: cli/cli-setshow.c:294 cli/cli-setshow.c:330 cli/cli-setshow.c:433
 msgid "integer to set it to, or \"unlimited\"."
 msgstr ""
 
-#: cli/cli-setshow.c:295 cli/cli-setshow.c:331
+#: cli/cli-setshow.c:296 cli/cli-setshow.c:332
 msgid "integer to set it to."
 msgstr ""
 
-#: cli/cli-setshow.c:311 cli/cli-setshow.c:347 cli/cli-setshow.c:440
+#: cli/cli-setshow.c:312 cli/cli-setshow.c:348 cli/cli-setshow.c:441
 #, possible-c-format
 msgid "integer %s out of range"
 msgstr ""
 
-#: cli/cli-setshow.c:385
+#: cli/cli-setshow.c:386
 #, possible-c-format
 msgid "Requires an argument. Valid arguments are %s."
 msgstr ""
 
-#: cli/cli-setshow.c:414
+#: cli/cli-setshow.c:415
 #, possible-c-format
 msgid "Undefined item: \"%s\"."
 msgstr ""
 
-#: cli/cli-setshow.c:417
+#: cli/cli-setshow.c:418
 #, possible-c-format
 msgid "Ambiguous item \"%s\"."
 msgstr ""
 
-#: cli/cli-setshow.c:442
+#: cli/cli-setshow.c:443
 msgid "only -1 is allowed to set as unlimited"
 msgstr ""
 
-#: cli/cli-setshow.c:452
+#: cli/cli-setshow.c:453
 msgid "gdb internal error: bad var_type in do_setshow_command"
 msgstr ""
 
-#: cli/cli-setshow.c:612
+#: cli/cli-setshow.c:613
 msgid "do_show_command: invalid var_auto_boolean"
 msgstr ""
 
-#: cli/cli-setshow.c:642
+#: cli/cli-setshow.c:643
 msgid "gdb internal error: bad var_type in do_show_command"
 msgstr ""
 
-#: cli/cli-decode.c:1452
+#: cli/cli-decode.c:1459
 #, possible-c-format
 msgid "Undefined %scommand: \"%s\".  Try \"help%s%.*s\"."
 msgstr ""
 
-#: cli/cli-decode.c:1485
+#: cli/cli-decode.c:1492
 #, possible-c-format
 msgid "Lack of needed %scommand"
 msgstr ""
 
-#: cli/cli-decode.c:1550
+#: cli/cli-decode.c:1557
 #, possible-c-format
 msgid "Ambiguous %scommand \"%s\": %s."
 msgstr ""
 
-#: cli/cli-decode.c:1558
+#: cli/cli-decode.c:1565
 msgid "Argument must be preceded by space."
 msgstr ""
 
-#: cli/cli-decode.c:1888
+#: cli/cli-decode.c:1895
 msgid "Invalid command"
 msgstr ""
 
-#: cli/cli-cmds.c:209
+#: cli/cli-cmds.c:207
 #, possible-c-format
 msgid "Argument required (%s)."
 msgstr ""
 
-#: cli/cli-cmds.c:219
+#: cli/cli-cmds.c:217
 msgid "\"info\" must be followed by the name of an info command.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:326 cli/cli-script.c:1545 infcmd.c:1198 infcmd.c:1212
-#: infcmd.c:2315 symfile.c:1171 symfile.c:1341 symfile.c:2399 symfile.c:2481
-#: tracepoint.c:2286 tracepoint.c:2292
+#: cli/cli-cmds.c:324 cli/cli-script.c:1571 infcmd.c:1195 infcmd.c:1212
+#: infcmd.c:1328 infcmd.c:2398 symfile.c:1169 symfile.c:1339 symfile.c:2395
+#: symfile.c:2477 tracepoint.c:2286 tracepoint.c:2292
 msgid "Not confirmed."
 msgstr ""
 
-#: cli/cli-cmds.c:337
+#: cli/cli-cmds.c:335
 #, possible-c-format
 msgid "The \"pwd\" command does not take an argument: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:339
+#: cli/cli-cmds.c:337
 #, possible-c-format
 msgid "Error finding name of working directory: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:343
+#: cli/cli-cmds.c:341
 #, possible-c-format
 msgid ""
 "Working directory %s\n"
 " (canonically %s).\n"
 msgstr ""
 
-#: cli/cli-cmds.c:346
+#: cli/cli-cmds.c:344
 #, possible-c-format
 msgid "Working directory %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:461
+#: cli/cli-cmds.c:459
 #, possible-c-format
 msgid "Script filename extension recognition is \"%s\".\n"
 msgstr ""
 
-#: cli/cli-cmds.c:567
+#: cli/cli-cmds.c:565
 msgid "source command requires file name of file to source."
 msgstr ""
 
-#: cli/cli-cmds.c:755
+#: cli/cli-cmds.c:753
 msgid "Fork failed"
 msgstr ""
 
-#: cli/cli-cmds.c:782
+#: cli/cli-cmds.c:780
 msgid "No default source file yet."
 msgstr ""
 
-#: cli/cli-cmds.c:809 cli/cli-cmds.c:987
+#: cli/cli-cmds.c:807 cli/cli-cmds.c:985
 msgid "Junk at end of line specification."
 msgstr ""
 
-#: cli/cli-cmds.c:820 cli/cli-cmds.c:1005
+#: cli/cli-cmds.c:818 cli/cli-cmds.c:1003
 #, possible-c-format
 msgid "No source file for address %s."
 msgstr ""
 
-#: cli/cli-cmds.c:842 cli/cli-cmds.c:1026
+#: cli/cli-cmds.c:840 cli/cli-cmds.c:1024
 #, possible-c-format
 msgid "No line number known for %s."
 msgstr ""
 
-#: cli/cli-cmds.c:991
+#: cli/cli-cmds.c:989
 msgid "Specified start and end are in different files."
 msgstr ""
 
-#: cli/cli-cmds.c:993
+#: cli/cli-cmds.c:991
 msgid "Two empty args do not say what lines to list."
 msgstr ""
 
-#: cli/cli-cmds.c:1035 cli/cli-cmds.c:1041
+#: cli/cli-cmds.c:1033 cli/cli-cmds.c:1039
 msgid "No default source file yet.  Do \"help list\"."
 msgstr ""
 
-#: cli/cli-cmds.c:1107 dwarf2loc.c:2097 python/py-symbol.c:379 stack.c:2114
-#: stack.c:2196 valops.c:1299
+#: cli/cli-cmds.c:1105 dwarf2loc.c:2055 python/py-symbol.c:383 stack.c:2111
+#: stack.c:2193 valops.c:1298
 msgid "No frame selected."
 msgstr ""
 
-#: cli/cli-cmds.c:1111
+#: cli/cli-cmds.c:1109
 msgid "No function contains program counter for selected frame."
 msgstr ""
 
-#: cli/cli-cmds.c:1157 record.c:422 record.c:564
+#: cli/cli-cmds.c:1155 record.c:429 record.c:571
 msgid "Missing modifier."
 msgstr ""
 
-#: cli/cli-cmds.c:1170
+#: cli/cli-cmds.c:1168
 msgid "Invalid disassembly modifier."
 msgstr ""
 
-#: cli/cli-cmds.c:1191
+#: cli/cli-cmds.c:1189
 msgid "No function contains specified address."
 msgstr ""
 
-#: cli/cli-cmds.c:1251
+#: cli/cli-cmds.c:1248
 msgid "Not a user command."
 msgstr ""
 
-#: cli/cli-cmds.c:1274
+#: cli/cli-cmds.c:1271
 msgid "REGEXP string is empty"
 msgstr ""
 
-#: cli/cli-cmds.c:1290
+#: cli/cli-cmds.c:1287
 #, possible-c-format
 msgid "Error in regular expression: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:1352
+#: cli/cli-cmds.c:1349
 msgid "Usage: alias [-a] [--] ALIAS = COMMAND"
 msgstr ""
 
-#: cli/cli-cmds.c:1391
+#: cli/cli-cmds.c:1388
 #, possible-c-format
 msgid "Invalid command name: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:1393
+#: cli/cli-cmds.c:1390
 #, possible-c-format
 msgid "Invalid command element name: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:1407
+#: cli/cli-cmds.c:1404
 #, possible-c-format
 msgid "Invalid command to alias to: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:1414
+#: cli/cli-cmds.c:1411
 #, possible-c-format
 msgid "Alias already exists: %s"
 msgstr ""
 
-#: cli/cli-cmds.c:1438
+#: cli/cli-cmds.c:1435
 msgid "Mismatched command length between ALIAS and COMMAND."
 msgstr ""
 
-#: cli/cli-cmds.c:1458
+#: cli/cli-cmds.c:1455
 msgid "ALIAS and COMMAND prefixes do not match."
 msgstr ""
 
-#: cli/cli-cmds.c:1480
+#: cli/cli-cmds.c:1477
 #, possible-c-format
 msgid "file: \"%s\", line number: %d\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1568
+#: cli/cli-cmds.c:1567
 msgid "\"set debug\" must be followed by the name of a debug subcommand.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1592
+#: cli/cli-cmds.c:1591
 #, possible-c-format
 msgid "Verbose printing of informational messages is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1595
+#: cli/cli-cmds.c:1594
 #, possible-c-format
 msgid "Verbosity is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1602
+#: cli/cli-cmds.c:1601
 #, possible-c-format
 msgid "History expansion on command input is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1610
+#: cli/cli-cmds.c:1609
 #, possible-c-format
 msgid "Debugging of remote protocol is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1619
+#: cli/cli-cmds.c:1618
 #, possible-c-format
 msgid "Timeout limit to wait for target to respond is %s.\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1628
+#: cli/cli-cmds.c:1627
 #, possible-c-format
 msgid "The max call depth for user-defined commands is %s.\n"
 msgstr ""
 
 #. Define the classes of commands.
 #. They will appear in the help list in alphabetical order.
-#: cli/cli-cmds.c:1644
+#: cli/cli-cmds.c:1643
 msgid ""
 "Maintenance commands.\n"
 "Some gdb commands are provided just for use by gdb maintainers.\n"
@@ -5498,42 +5467,42 @@ msgid ""
 "well documented as user commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1650
+#: cli/cli-cmds.c:1649
 msgid "Obscure features."
 msgstr ""
 
-#: cli/cli-cmds.c:1652
+#: cli/cli-cmds.c:1651
 msgid "Aliases of other commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1653
+#: cli/cli-cmds.c:1652
 msgid ""
 "User-defined commands.\n"
 "The commands in this class are those defined by the user.\n"
 "Use the \"define\" command to define a command."
 msgstr ""
 
-#: cli/cli-cmds.c:1657
+#: cli/cli-cmds.c:1656
 msgid "Support facilities."
 msgstr ""
 
-#: cli/cli-cmds.c:1659
+#: cli/cli-cmds.c:1658
 msgid "Status inquiries."
 msgstr ""
 
-#: cli/cli-cmds.c:1660
+#: cli/cli-cmds.c:1659
 msgid "Specifying and examining files."
 msgstr ""
 
-#: cli/cli-cmds.c:1663
+#: cli/cli-cmds.c:1662
 msgid "Making program stop at certain points."
 msgstr ""
 
-#: cli/cli-cmds.c:1664
+#: cli/cli-cmds.c:1663
 msgid "Examining data."
 msgstr ""
 
-#: cli/cli-cmds.c:1665
+#: cli/cli-cmds.c:1664
 msgid ""
 "Examining the stack.\n"
 "The stack is made up of stack frames.  Gdb assigns numbers to stack frames\n"
@@ -5545,23 +5514,23 @@ msgid ""
 "The commands below can be used to select other frames by number or address."
 msgstr ""
 
-#: cli/cli-cmds.c:1674
+#: cli/cli-cmds.c:1673
 msgid "Running the program."
 msgstr ""
 
 #. Define general commands.
-#: cli/cli-cmds.c:1678
+#: cli/cli-cmds.c:1677
 msgid "Print working directory.  This is used for your program as well."
 msgstr ""
 
-#: cli/cli-cmds.c:1681
+#: cli/cli-cmds.c:1680
 msgid ""
 "Set working directory to DIR for debugger and program being debugged.\n"
 "The change does not take effect for the program being debugged\n"
 "until the next time it is started."
 msgstr ""
 
-#: cli/cli-cmds.c:1687
+#: cli/cli-cmds.c:1686
 msgid ""
 "Print a constant string.  Give string as argument.\n"
 "C escape sequences may be used in the argument.\n"
@@ -5572,15 +5541,15 @@ msgid ""
 "to be printed or after trailing whitespace."
 msgstr ""
 
-#: cli/cli-cmds.c:1697
+#: cli/cli-cmds.c:1696
 msgid "Set mode for script filename extension recognition."
 msgstr ""
 
-#: cli/cli-cmds.c:1698
+#: cli/cli-cmds.c:1697
 msgid "Show mode for script filename extension recognition."
 msgstr ""
 
-#: cli/cli-cmds.c:1699
+#: cli/cli-cmds.c:1698
 msgid ""
 "off  == no filename extension recognition (all sourced files are GDB "
 "scripts)\n"
@@ -5590,7 +5559,7 @@ msgid ""
 "supported"
 msgstr ""
 
-#: cli/cli-cmds.c:1709
+#: cli/cli-cmds.c:1708
 msgid ""
 "Exit gdb.\n"
 "Usage: quit [EXPR]\n"
@@ -5598,113 +5567,113 @@ msgid ""
 "used as GDB's exit code.  The default is zero."
 msgstr ""
 
-#: cli/cli-cmds.c:1715
+#: cli/cli-cmds.c:1714
 msgid "Print list of commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1720
+#: cli/cli-cmds.c:1719
 msgid "Set verbosity."
 msgstr ""
 
-#: cli/cli-cmds.c:1721
+#: cli/cli-cmds.c:1720
 msgid "Show verbosity."
 msgstr ""
 
-#: cli/cli-cmds.c:1728
+#: cli/cli-cmds.c:1727
 msgid "Generic command for setting command history parameters."
 msgstr ""
 
-#: cli/cli-cmds.c:1731
+#: cli/cli-cmds.c:1730
 msgid "Generic command for showing command history parameters."
 msgstr ""
 
-#: cli/cli-cmds.c:1734
+#: cli/cli-cmds.c:1733
 msgid "Set history expansion on command input."
 msgstr ""
 
-#: cli/cli-cmds.c:1735
+#: cli/cli-cmds.c:1734
 msgid "Show history expansion on command input."
 msgstr ""
 
-#: cli/cli-cmds.c:1736
+#: cli/cli-cmds.c:1735
 msgid "Without an argument, history expansion is enabled."
 msgstr ""
 
-#: cli/cli-cmds.c:1742
+#: cli/cli-cmds.c:1741
 msgid "Generic command for showing things about the program being debugged."
 msgstr ""
 
-#: cli/cli-cmds.c:1749
+#: cli/cli-cmds.c:1748
 msgid "List the completions for the rest of the line as a command."
 msgstr ""
 
-#: cli/cli-cmds.c:1751
+#: cli/cli-cmds.c:1750
 msgid "Generic command for showing things about the debugger."
 msgstr ""
 
 #. Another way to get at the same thing.
-#: cli/cli-cmds.c:1755
+#: cli/cli-cmds.c:1754
 msgid "Show all GDB settings."
 msgstr ""
 
-#: cli/cli-cmds.c:1757
+#: cli/cli-cmds.c:1756
 msgid ""
 "Show the history of commands you typed.\n"
 "You can supply a command number to start with, or a `+' to start after\n"
 "the previous command number shown."
 msgstr ""
 
-#: cli/cli-cmds.c:1764
+#: cli/cli-cmds.c:1763
 msgid "Show what version of GDB this is."
 msgstr ""
 
-#: cli/cli-cmds.c:1767
+#: cli/cli-cmds.c:1766
 msgid "Show how GDB was configured at build time."
 msgstr ""
 
-#: cli/cli-cmds.c:1769
+#: cli/cli-cmds.c:1768
 msgid "Set debugging of remote protocol."
 msgstr ""
 
-#: cli/cli-cmds.c:1770
+#: cli/cli-cmds.c:1769
 msgid "Show debugging of remote protocol."
 msgstr ""
 
-#: cli/cli-cmds.c:1771
+#: cli/cli-cmds.c:1770
 msgid ""
 "When enabled, each packet sent or received with the remote target\n"
 "is displayed."
 msgstr ""
 
-#: cli/cli-cmds.c:1779
+#: cli/cli-cmds.c:1778
 msgid "Set timeout limit to wait for target to respond."
 msgstr ""
 
-#: cli/cli-cmds.c:1780
+#: cli/cli-cmds.c:1779
 msgid "Show timeout limit to wait for target to respond."
 msgstr ""
 
-#: cli/cli-cmds.c:1781
+#: cli/cli-cmds.c:1780
 msgid ""
 "This value is used to set the time limit for gdb to wait for a response\n"
 "from the target."
 msgstr ""
 
-#: cli/cli-cmds.c:1789
+#: cli/cli-cmds.c:1788
 msgid "Generic command for setting gdb debugging flags"
 msgstr ""
 
-#: cli/cli-cmds.c:1793
+#: cli/cli-cmds.c:1792
 msgid "Generic command for showing gdb debugging flags"
 msgstr ""
 
-#: cli/cli-cmds.c:1796
+#: cli/cli-cmds.c:1795
 msgid ""
 "Execute the rest of the line as a shell command.\n"
 "With no arguments, run an inferior shell."
 msgstr ""
 
-#: cli/cli-cmds.c:1801
+#: cli/cli-cmds.c:1800
 msgid ""
 "Edit specified file or function.\n"
 "With no argument, edits file containing most recent line listed.\n"
@@ -5716,7 +5685,7 @@ msgid ""
 "Uses EDITOR environment variable contents as editor (or ex as default)."
 msgstr ""
 
-#: cli/cli-cmds.c:1813
+#: cli/cli-cmds.c:1812
 msgid ""
 "List specified function or line.\n"
 "With no argument, lists ten more lines after or around previous listing.\n"
@@ -5733,7 +5702,7 @@ msgid ""
 "arg."
 msgstr ""
 
-#: cli/cli-cmds.c:1836
+#: cli/cli-cmds.c:1835
 msgid ""
 "Disassemble a specified section of memory.\n"
 "Default is the function surrounding the pc of the selected frame.\n"
@@ -5750,42 +5719,42 @@ msgid ""
 "you must type \"disassemble 'foo.c'::bar\" and not \"disassemble foo.c:bar\"."
 msgstr ""
 
-#: cli/cli-cmds.c:1855
+#: cli/cli-cmds.c:1854
 msgid "Run the ``make'' program using the rest of the line as arguments."
 msgstr ""
 
-#: cli/cli-cmds.c:1858
+#: cli/cli-cmds.c:1857
 msgid ""
 "Show definitions of non-python/scheme user defined commands.\n"
 "Argument is the name of the user defined command.\n"
 "With no argument, show definitions of all user defined commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1863
+#: cli/cli-cmds.c:1862
 msgid "Search for commands matching a REGEXP"
 msgstr ""
 
-#: cli/cli-cmds.c:1866
+#: cli/cli-cmds.c:1865
 msgid "Set the max call depth for non-python/scheme user-defined commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1867
+#: cli/cli-cmds.c:1866
 msgid "Show the max call depth for non-python/scheme user-defined commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1873
+#: cli/cli-cmds.c:1872
 msgid "Set tracing of GDB CLI commands."
 msgstr ""
 
-#: cli/cli-cmds.c:1874
+#: cli/cli-cmds.c:1873
 msgid "Show state of GDB CLI command tracing."
 msgstr ""
 
-#: cli/cli-cmds.c:1875
+#: cli/cli-cmds.c:1874
 msgid "When 'on', each command is displayed as it is executed."
 msgstr ""
 
-#: cli/cli-cmds.c:1881
+#: cli/cli-cmds.c:1880
 msgid ""
 "Define a new command that is an alias of an existing command.\n"
 "Usage: alias [-a] [--] ALIAS = COMMAND\n"
@@ -5801,7 +5770,7 @@ msgid ""
 "  alias -a set print elms = set print elements"
 msgstr ""
 
-#: cli/cli-cmds.c:1902
+#: cli/cli-cmds.c:1901
 #, possible-c-format
 msgid ""
 "Read commands from a file named FILE.\n"
@@ -5815,128 +5784,129 @@ msgid ""
 "when GDB is started."
 msgstr ""
 
-#: cli/cli-script.c:110
+#: cli/cli-script.c:109
 msgid "if/while commands require arguments."
 msgstr ""
 
-#: cli/cli-script.c:145
+#: cli/cli-script.c:144
 msgid "Error reading in canned sequence of commands."
 msgstr ""
 
-#: cli/cli-script.c:360
+#: cli/cli-script.c:372
 msgid "Max user call depth exceeded -- command aborted."
 msgstr ""
 
-#: cli/cli-script.c:382
+#: cli/cli-script.c:394
 msgid "Error executing canned sequence of commands."
 msgstr ""
 
-#: cli/cli-script.c:614
+#: cli/cli-script.c:631
 msgid "Invalid control type in canned commands structure."
 msgstr ""
 
-#: cli/cli-script.c:690
+#: cli/cli-script.c:707
 msgid "arg_cleanup called with no user args.\n"
 msgstr ""
 
-#: cli/cli-script.c:728
+#: cli/cli-script.c:745
 #, possible-c-format
 msgid "user defined function may only have %d arguments."
 msgstr ""
 
-#: cli/cli-script.c:825
+#: cli/cli-script.c:842
 #, possible-c-format
 msgid "Missing argument %d in user function."
 msgstr ""
 
-#: cli/cli-script.c:925
+#: cli/cli-script.c:942
 msgid "Control nesting too deep!"
 msgstr ""
 
-#: cli/cli-script.c:1126
+#: cli/cli-script.c:1151
 msgid "Recursed on a simple control type."
 msgstr ""
 
-#: cli/cli-script.c:1129
+#: cli/cli-script.c:1154
 msgid "Allocated body is smaller than this command type needs."
 msgstr ""
 
-#: cli/cli-script.c:1426
+#: cli/cli-script.c:1452
 msgid "name of command to define"
 msgstr ""
 
-#: cli/cli-script.c:1449
+#: cli/cli-script.c:1475
 #, possible-c-format
 msgid "\"%s\" is not a prefix command."
 msgstr ""
 
-#: cli/cli-script.c:1460
+#: cli/cli-script.c:1486
 #, possible-c-format
 msgid "Junk in argument list: \"%s\""
 msgstr ""
 
-#: cli/cli-script.c:1510
+#: cli/cli-script.c:1536
 #, possible-c-format
 msgid "Redefine command \"%s\"? "
 msgstr ""
 
-#: cli/cli-script.c:1512
+#: cli/cli-script.c:1538
 #, possible-c-format
 msgid "Really redefine built-in command \"%s\"? "
 msgstr ""
 
-#: cli/cli-script.c:1514
+#: cli/cli-script.c:1540
 #, possible-c-format
 msgid "Command \"%s\" not redefined."
 msgstr ""
 
-#: cli/cli-script.c:1541
+#: cli/cli-script.c:1567
 #, possible-c-format
 msgid "Your new `%s' command does not hook any existing command."
 msgstr ""
 
-#: cli/cli-script.c:1544
+#: cli/cli-script.c:1570
 msgid "Proceed? "
 msgstr ""
 
 #. Should never come here as hookc would be 0.
-#: cli/cli-script.c:1586 complaints.c:304 exceptions.c:159 exceptions.c:176
-#: exceptions.c:203 hppa-tdep.c:3082 hppa-tdep.c:3095 infcall.c:687
-#: infcmd.c:1489 infrun.c:3430 language.c:448 mi/mi-out.c:334 mi/mi-out.c:352
-#: mips-tdep.c:265 mips-tdep.c:424 mips-tdep.c:2116 mips-tdep.c:5560
-#: mips-tdep.c:6676 mn10300-tdep.c:125 reggroups.c:219 remote.c:1359
-#: remote.c:6697 remote.c:7930 utils.c:747 utils.c:772
+#: cli/cli-script.c:1612 common/common-exceptions.c:148
+#: common/common-exceptions.c:165 common/common-exceptions.c:192
+#: complaints.c:303 hppa-tdep.c:3081 hppa-tdep.c:3094 infcall.c:726
+#: infcmd.c:1573 language.c:446 mi/mi-out.c:334 mi/mi-out.c:352
+#: mips-tdep.c:273 mips-tdep.c:477 mips-tdep.c:2217 mips-tdep.c:5751
+#: mips-tdep.c:6933 mn10300-tdep.c:123 reggroups.c:218 remote.c:1351
+#: remote.c:6789 remote.c:8022 utils.c:753 utils.c:780
 msgid "bad switch"
 msgstr ""
 
-#: cli/cli-script.c:1607
+#: cli/cli-script.c:1633
 #, possible-c-format
 msgid "Command \"%s\" is built-in."
 msgstr ""
 
-#: cli/cli-script.c:1662
+#: cli/cli-script.c:1691
 msgid "called with NULL file pointer!"
 msgstr ""
 
-#: cli/cli-script.c:1688
+#: cli/cli-script.c:1717
 #, possible-c-format
 msgid ""
 "%s:%d: Error in sourced command file:\n"
 "%s"
 msgstr ""
 
-#: cli/cli-script.c:1691
+#: cli/cli-script.c:1720
 msgid "bad reason"
 msgstr ""
 
-#: cli/cli-script.c:1734
+#: cli/cli-script.c:1763
 msgid ""
 "Document a user-defined command.\n"
 "Give command name as argument.  Give documentation on following lines.\n"
 "End with a line of just \"end\"."
 msgstr ""
 
-#: cli/cli-script.c:1738
+#: cli/cli-script.c:1767
 msgid ""
 "Define a new command name.  Command name is argument.\n"
 "Definition appears on following lines, one command per line.\n"
@@ -5945,7 +5915,7 @@ msgid ""
 "Commands defined in this way may have up to ten arguments."
 msgstr ""
 
-#: cli/cli-script.c:1745
+#: cli/cli-script.c:1774
 msgid ""
 "Execute nested commands WHILE the conditional expression is non zero.\n"
 "The conditional expression must follow the word `while' and must in turn be\n"
@@ -5953,7 +5923,7 @@ msgid ""
 "and should be terminated by the word `end'."
 msgstr ""
 
-#: cli/cli-script.c:1751
+#: cli/cli-script.c:1780
 msgid ""
 "Execute nested commands once IF the conditional expression is non zero.\n"
 "The conditional expression must follow the word `if' and must in turn be\n"
@@ -5962,37 +5932,37 @@ msgid ""
 "is used, the same rules apply to its nested commands as to the first ones."
 msgstr ""
 
-#: cli/cli-logging.c:46
+#: cli/cli-logging.c:43
 #, possible-c-format
 msgid "The current logfile is \"%s\".\n"
 msgstr ""
 
-#: cli/cli-logging.c:56
+#: cli/cli-logging.c:53
 #, possible-c-format
 msgid ""
 "Currently logging to %s.  Turn the logging off and on to make the new "
 "setting effective."
 msgstr ""
 
-#: cli/cli-logging.c:65
+#: cli/cli-logging.c:62
 #, possible-c-format
 msgid "Whether logging overwrites or appends to the log file is %s.\n"
 msgstr ""
 
-#: cli/cli-logging.c:113 cli/cli-logging.c:203 cli/cli-logging.c:213
+#: cli/cli-logging.c:110 cli/cli-logging.c:200 cli/cli-logging.c:210
 msgid "set logging"
 msgstr ""
 
-#: cli/cli-logging.c:142 cli/cli-logging.c:252 guile/scm-ports.c:530 top.c:522
+#: cli/cli-logging.c:139 cli/cli-logging.c:249 guile/scm-ports.c:530 top.c:519
 msgid "Current output protocol does not support redirection"
 msgstr ""
 
-#: cli/cli-logging.c:151
+#: cli/cli-logging.c:148
 #, possible-c-format
 msgid "The logging output mode is %s.\n"
 msgstr ""
 
-#: cli/cli-logging.c:285
+#: cli/cli-logging.c:282
 msgid ""
 "\"set logging\" lets you log output to a file.\n"
 "Usage: set logging on [FILENAME]\n"
@@ -6002,111 +5972,111 @@ msgid ""
 "       set logging redirect [on|off]\n"
 msgstr ""
 
-#: cli/cli-logging.c:297
+#: cli/cli-logging.c:294
 #, possible-c-format
 msgid "Currently logging to \"%s\".\n"
 msgstr ""
 
-#: cli/cli-logging.c:300
+#: cli/cli-logging.c:297
 #, possible-c-format
 msgid "Future logs will be written to %s.\n"
 msgstr ""
 
-#: cli/cli-logging.c:304
+#: cli/cli-logging.c:301
 msgid "Logs will overwrite the log file.\n"
 msgstr ""
 
-#: cli/cli-logging.c:306
+#: cli/cli-logging.c:303
 msgid "Logs will be appended to the log file.\n"
 msgstr ""
 
-#: cli/cli-logging.c:311
+#: cli/cli-logging.c:308
 msgid "Output is being sent only to the log file.\n"
 msgstr ""
 
-#: cli/cli-logging.c:313
+#: cli/cli-logging.c:310
 msgid "Output is being logged and displayed.\n"
 msgstr ""
 
-#: cli/cli-logging.c:318
+#: cli/cli-logging.c:315
 msgid "Output will be sent only to the log file.\n"
 msgstr ""
 
-#: cli/cli-logging.c:320
+#: cli/cli-logging.c:317
 msgid "Output will be logged and displayed.\n"
 msgstr ""
 
-#: cli/cli-logging.c:333
+#: cli/cli-logging.c:330
 msgid "Set logging options"
 msgstr ""
 
-#: cli/cli-logging.c:336
+#: cli/cli-logging.c:333
 msgid "Show logging options"
 msgstr ""
 
-#: cli/cli-logging.c:338
+#: cli/cli-logging.c:335
 msgid "Set whether logging overwrites or appends to the log file."
 msgstr ""
 
-#: cli/cli-logging.c:339
+#: cli/cli-logging.c:336
 msgid "Show whether logging overwrites or appends to the log file."
 msgstr ""
 
-#: cli/cli-logging.c:340
+#: cli/cli-logging.c:337
 msgid "If set, logging overrides the log file."
 msgstr ""
 
-#: cli/cli-logging.c:345
+#: cli/cli-logging.c:342
 msgid "Set the logging output mode."
 msgstr ""
 
-#: cli/cli-logging.c:346
+#: cli/cli-logging.c:343
 msgid "Show the logging output mode."
 msgstr ""
 
-#: cli/cli-logging.c:347
+#: cli/cli-logging.c:344
 msgid ""
 "If redirect is off, output will go to both the screen and the log file.\n"
 "If redirect is on, output will go only to the log file."
 msgstr ""
 
-#: cli/cli-logging.c:353
+#: cli/cli-logging.c:350
 msgid "Set the current logfile."
 msgstr ""
 
-#: cli/cli-logging.c:354
+#: cli/cli-logging.c:351
 msgid "Show the current logfile."
 msgstr ""
 
-#: cli/cli-logging.c:355
+#: cli/cli-logging.c:352
 msgid "The logfile is used when directing GDB's output."
 msgstr ""
 
-#: cli/cli-logging.c:361
+#: cli/cli-logging.c:358
 msgid "Enable logging."
 msgstr ""
 
-#: cli/cli-logging.c:363
+#: cli/cli-logging.c:360
 msgid "Disable logging."
 msgstr ""
 
-#: cli/cli-utils.c:53
+#: cli/cli-utils.c:51
 msgid "History value must have integer type.\n"
 msgstr ""
 
-#: cli/cli-utils.c:74
+#: cli/cli-utils.c:72
 msgid "Convenience variable must have integer value.\n"
 msgstr ""
 
-#: cli/cli-utils.c:151
+#: cli/cli-utils.c:162
 msgid "inverted range"
 msgstr ""
 
-#: cli/cli-utils.c:165
+#: cli/cli-utils.c:176
 msgid "negative value"
 msgstr ""
 
-#: cli/cli-utils.c:207
+#: cli/cli-utils.c:218
 msgid "Args must be numbers or '$' variables."
 msgstr ""
 
@@ -6177,372 +6147,611 @@ msgid ""
 "displayed."
 msgstr ""
 
-#: coffread.c:643
+#: coffread.c:639
 #, possible-c-format
 msgid "\"%s\": error reading line numbers."
 msgstr ""
 
-#: coffread.c:651
+#: coffread.c:647
 #, possible-c-format
 msgid "\"%s\": can't get string table"
 msgstr ""
 
-#: coffread.c:705
+#: coffread.c:701
 #, possible-c-format
 msgid ""
 "The debugging information in `%s' is corrupted.\n"
 "The file has a `.stabs' section, but no `.stabstr' section."
 msgstr ""
 
-#: coffread.c:898
+#: coffread.c:893
 #, possible-c-format
 msgid "Bad n_sclass for symbol %s"
 msgstr ""
 
-#: coffread.c:1066
+#: coffread.c:1061
 #, possible-c-format
 msgid "`.bf' symbol %d has no aux entry"
 msgstr ""
 
-#: coffread.c:1084
+#: coffread.c:1079
 msgid "Bad coff function information."
 msgstr ""
 
-#: coffread.c:1093
+#: coffread.c:1088
 #, possible-c-format
 msgid ""
 "`.ef' symbol without matching `.bf' symbol ignored starting at symnum %d"
 msgstr ""
 
-#: coffread.c:1105
+#: coffread.c:1100
 #, possible-c-format
 msgid "Unmatched .ef symbol(s) ignored starting at symnum %d"
 msgstr ""
 
-#: coffread.c:1114
+#: coffread.c:1109
 #, possible-c-format
 msgid "`.ef' symbol %d has no aux entry"
 msgstr ""
 
-#: coffread.c:1162
+#: coffread.c:1155
 #, possible-c-format
 msgid ""
 "`.eb' symbol without matching `.bb' symbol ignored starting at symnum %d"
 msgstr ""
 
-#: coffread.c:1172 xcoffread.c:199
+#: coffread.c:1165 xcoffread.c:197
 #, possible-c-format
 msgid "Mismatched .eb symbol ignored starting at symnum %d"
 msgstr ""
 
-#: coffread.c:1233 coffread.c:1240 coffread.c:1250
+#: coffread.c:1231 coffread.c:1238 coffread.c:1248
 #, possible-c-format
 msgid "%s: error reading symbols"
 msgstr ""
 
-#: coffread.c:1264
+#: coffread.c:1262
 #, c-format
 msgid "thumb symbol %s, class 0x%x\n"
 msgstr ""
 
-#: coffread.c:1390
+#: coffread.c:1388
 msgid "coff file name too long"
 msgstr ""
 
-#: coffread.c:1477
+#: coffread.c:1475
 #, possible-c-format
 msgid "Line number pointer %ld lower than start of line numbers"
 msgstr ""
 
-#: coffread.c:1874
+#: coffread.c:1872
 #, possible-c-format
 msgid "Symbol table entry for %s has bad tagndx value"
 msgstr ""
 
-#: coffread.c:2044
+#: coffread.c:2042
 #, possible-c-format
 msgid "Unexpected type for symbol %s"
 msgstr ""
 
-#: common/agent.c:140
+#: common/agent.c:117
 msgid "Error reading helper thread's id in lib"
 msgstr ""
 
-#: common/agent.c:176
+#: common/agent.c:152
 #, possible-c-format
 msgid "error opening sync socket: %s"
 msgstr ""
 
-#: common/agent.c:185
+#: common/agent.c:161
 msgid "string overflow allocating socket name"
 msgstr ""
 
-#: common/agent.c:193
+#: common/agent.c:169
 #, possible-c-format
 msgid ""
 "error connecting sync socket (%s): %s. Make sure the directory exists and "
 "that it is writable."
 msgstr ""
 
-#: common/agent.c:229
+#: common/agent.c:200
 msgid "unable to write"
 msgstr ""
 
-#: common/agent.c:315
+#: common/agent.c:249
 msgid "Error reading command response"
 msgstr ""
 
-#: common/agent.c:347
+#: common/agent.c:269
 msgid "Error reading capability of agent"
 msgstr ""
 
-#: common/linux-ptrace.c:51
-#, possible-c-format
-msgid "process %d is already traced by process %d"
+#: common/common-exceptions.c:131 common/common-exceptions.c:189
+msgid "bad state"
 msgstr ""
 
-#: common/linux-ptrace.c:56
-#, possible-c-format
-msgid "process %d is a zombie - the process has already terminated"
+#: common/cleanups.c:266
+msgid "restore_my_cleanups has found a stale cleanup"
 msgstr ""
 
-#: common/linux-ptrace.c:90
-#, possible-c-format
-msgid "linux_ptrace_test_ret_to_nx: Cannot mmap: %s"
+#: common/signals.c:348
+msgid "GDB bug: target.c (gdb_signal_from_host): unrecognized real-time signal"
 msgstr ""
 
-#: common/linux-ptrace.c:102
+#. The user might be trying to do "signal SIGSAK" where this system
+#. doesn't have SIGSAK.
+#: common/signals.c:639
 #, possible-c-format
-msgid "linux_ptrace_test_ret_to_nx: Cannot fork: %s"
+msgid "Signal %s does not exist on this system."
 msgstr ""
 
-#: common/linux-ptrace.c:110
-#, possible-c-format
-msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_TRACEME: %s"
+#: common/filestuff.c:197
+msgid "fd not found in open_fds"
 msgstr ""
 
-#: common/linux-ptrace.c:140
-#, possible-c-format
-msgid "linux_ptrace_test_ret_to_nx: waitpid returned %ld: %s"
+#: common/filestuff.c:359
+msgid "socketpair not available on this host"
 msgstr ""
 
-#: common/linux-ptrace.c:148
-#, possible-c-format
-msgid "linux_ptrace_test_ret_to_nx: WTERMSIG %d is not SIGKILL!"
+#: common/filestuff.c:400
+msgid "pipe not available on this host"
 msgstr ""
 
-#: common/linux-ptrace.c:151
-msgid ""
-"Cannot call inferior functions, Linux kernel PaX protection forbids return "
-"to non-executable pages!"
+#: common/common-utils.c:127
+msgid "vasprintf call failed"
 msgstr ""
 
-#: common/linux-ptrace.c:158
+#: common/gdb_assert.h:41
 #, possible-c-format
-msgid "linux_ptrace_test_ret_to_nx: status %d is not WIFSTOPPED!"
+msgid "%s: Assertion `%s' failed."
 msgstr ""
 
-#: common/linux-ptrace.c:166
+#: common/gdb_assert.h:45
 #, possible-c-format
-msgid ""
-"linux_ptrace_test_ret_to_nx: WSTOPSIG %d is neither SIGTRAP nor SIGSEGV!"
+msgid "Assertion `%s' failed."
 msgstr ""
 
-#: common/linux-ptrace.c:184
+#: common/rsp-low.c:35
 #, possible-c-format
-msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER: %s"
+msgid "Reply contains invalid hex digit %d"
 msgstr ""
 
-#: common/linux-ptrace.c:198
-#, possible-c-format
-msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL waitpid returned %ld: %s"
+#: common/rsp-low.c:199
+msgid "Received too much data from the target."
 msgstr ""
 
-#: common/linux-ptrace.c:205
-#, possible-c-format
-msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL status %d is not WIFSIGNALED!"
+#: common/rsp-low.c:213
+msgid "Unmatched escape character in target response."
+msgstr ""
+
+#: common/print-utils.c:243
+msgid "hex_string_custom: insufficient space to store result"
 msgstr ""
 
-#: common/linux-ptrace.c:226
+#. ??? TODO: handle other escape sequences.
+#: common/format.c:83
 #, possible-c-format
-msgid ""
-"linux_ptrace_test_ret_to_nx: PC %p is neither near return address %p nor is "
-"the return instruction %p!"
+msgid "Unrecognized escape character \\%c in format string."
 msgstr ""
 
-#: common/linux-ptrace.c:230
-msgid ""
-"Cannot call inferior functions on this system - Linux kernel with broken "
-"i386 NX (non-executable pages) support detected!"
+#: common/format.c:290
+msgid "`*' not supported for precision or width in printf"
+msgstr ""
+
+#: common/format.c:293
+msgid "Format specifier `n' not supported in printf"
+msgstr ""
+
+#: common/format.c:296
+msgid "Incomplete format specifier at end of format string"
 msgstr ""
 
-#: common/linux-ptrace.c:334
+#: common/format.c:299
 #, possible-c-format
-msgid "linux_check_ptrace_features: waitpid: unexpected result %d."
+msgid "Unrecognized format specifier '%c' in printf"
 msgstr ""
 
-#: common/linux-ptrace.c:337
+#: common/format.c:303
 #, possible-c-format
-msgid "linux_check_ptrace_features: waitpid: unexpected status %d."
+msgid "Inappropriate modifiers to format specifier '%c' in printf"
 msgstr ""
 
-#: common/linux-ptrace.c:350
-msgid "linux_check_ptrace_features: failed to kill child"
+#: compile/compile-loc2c.c:97
+msgid "inconsistent stack depths"
 msgstr ""
 
-#: common/linux-ptrace.c:417
-msgid "linux_test_for_tracefork: failed to resume child"
+#: compile/compile-loc2c.c:359 compile/compile-loc2c.c:1107
+#, possible-c-format
+msgid "unhandled DWARF op: %s"
 msgstr ""
 
-#: common/linux-ptrace.c:454
-msgid "linux_test_for_tracefork: failed to kill second child"
+#: compile/compile-loc2c.c:623 compile/compile-c-symbols.c:244
+#, possible-c-format
+msgid "Symbol \"%s\" cannot be used because there is no selected frame"
 msgstr ""
 
-#: common/linux-ptrace.c:460
+#: compile/compile-loc2c.c:629 compile/compile-c-symbols.c:251
 #, possible-c-format
 msgid ""
-"linux_test_for_tracefork: unexpected result from waitpid (%d, status 0x%x)"
+"Symbol \"%s\" cannot be used for compilation evaluation as its address has "
+"not been found."
 msgstr ""
 
-#: common/signals.c:354
-msgid "GDB bug: target.c (gdb_signal_from_host): unrecognized real-time signal"
+#. Probably TLS here.
+#: compile/compile-loc2c.c:633 compile/compile-c-symbols.c:226
+#, possible-c-format
+msgid ""
+"Symbol \"%s\" is thread-local and currently can only be referenced from the "
+"current thread in compiled code."
 msgstr ""
 
-#. The user might be trying to do "signal SIGSAK" where this system
-#. doesn't have SIGSAK.
-#: common/signals.c:645
+#: compile/compile-loc2c.c:876 dwarf2loc.c:3108
+msgid "No block found for address"
+msgstr ""
+
+#: compile/compile-loc2c.c:881 dwarf2loc.c:3113
+msgid "No function found for block"
+msgstr ""
+
+#: compile/compile-loc2c.c:957 dwarf2loc.c:3170
 #, possible-c-format
-msgid "Signal %s does not exist on this system."
+msgid "Unsupported size %d in %s"
 msgstr ""
 
-#: common/mips-linux-watch.c:36 common/mips-linux-watch.c:54
-#: common/mips-linux-watch.c:71 common/mips-linux-watch.c:89
-#: common/mips-linux-watch.c:112 common/mips-linux-watch.c:130
-#: common/mips-linux-watch.c:151
-msgid "Unrecognized watch register style"
+#: compile/compile.c:62
+#, possible-c-format
+msgid "Compile debugging is %s.\n"
 msgstr ""
 
-#: common/linux-btrace.c:239
-msgid "Branch trace may be incomplete."
+#: compile/compile.c:98
+msgid "You must provide a filename for this command."
+msgstr ""
+
+#: compile/compile.c:110
+msgid "You must provide a filename with the raw option set."
 msgstr ""
 
-#: common/linux-btrace.c:279
+#: compile/compile.c:113 compile/compile.c:149
+msgid "Unknown argument specified."
+msgstr ""
+
+#: compile/compile.c:179
 #, possible-c-format
-msgid "test branch tracing: cannot fork: %s."
+msgid "Could not remove temporary directory %s"
+msgstr ""
+
+#: compile/compile.c:202
+msgid "Command not supported on this host."
+msgstr ""
+
+#: compile/compile.c:205
+msgid "Could not make temporary directory"
 msgstr ""
 
-#: common/linux-btrace.c:286
+#: compile/compile.c:282
 #, possible-c-format
-msgid "test branch tracing: cannot PTRACE_TRACEME: %s."
+msgid "Compile command command-line arguments are \"%s\".\n"
+msgstr ""
+
+#: compile/compile.c:417
+msgid "The program must be running for the compile command to work."
+msgstr ""
+
+#: compile/compile.c:425
+msgid "No compiler support for this language."
+msgstr ""
+
+#: compile/compile.c:454
+msgid "Neither a simple expression, or a multi-line specified."
+msgstr ""
+
+#: compile/compile.c:495
+msgid "Could not open source file for writing"
+msgstr ""
+
+#: compile/compile.c:498
+msgid "Could not write to source file"
 msgstr ""
 
-#: common/linux-btrace.c:294
+#: compile/compile.c:510
+msgid "Compilation failed."
+msgstr ""
+
+#: compile/compile.c:576
 #, possible-c-format
-msgid "test branch tracing: cannot raise SIGTRAP: %s."
+msgid "Invalid register name \"%s\"."
 msgstr ""
 
-#: common/linux-btrace.c:305 common/linux-btrace.c:337
+#: compile/compile.c:583
 #, possible-c-format
-msgid "test branch tracing: bad pid %ld, error: %s."
+msgid "Cannot find gdbarch register \"%s\"."
+msgstr ""
+
+#: compile/compile.c:594
+msgid "Command to compile source code and inject it into the inferior."
+msgstr ""
+
+#: compile/compile.c:600
+msgid ""
+"Compile, inject, and execute code.\n"
+"\n"
+"Usage: compile code [-r|-raw] [--] [CODE]\n"
+"-r|-raw: Suppress automatic 'void _gdb_expr () { CODE }' wrapping.\n"
+"--: Do not parse any options beyond this delimiter.  All text to the\n"
+"    right will be treated as source code.\n"
+"\n"
+"The source code may be specified as a simple one line expression, e.g.:\n"
+"\n"
+"    compile code printf(\"Hello world\\n\");\n"
+"\n"
+"Alternatively, you can type the source code interactively.\n"
+"You can invoke this mode when no argument is given to the command\n"
+"(i.e.,\"compile code\" is typed with nothing after it).  An\n"
+"interactive prompt will be shown allowing you to enter multiple\n"
+"lines of source code.  Type a line containing \"end\" to indicate\n"
+"the end of the source code."
+msgstr ""
+
+#: compile/compile.c:621
+msgid ""
+"Evaluate a file containing source code.\n"
+"\n"
+"Usage: compile file [-r|-raw] [filename]\n"
+"-r|-raw: Suppress automatic 'void _gdb_expr () { CODE }' wrapping."
+msgstr ""
+
+#: compile/compile.c:629
+msgid "Set compile command debugging."
+msgstr ""
+
+#: compile/compile.c:630
+msgid "Show compile command debugging."
 msgstr ""
 
-#: common/linux-btrace.c:312
+#: compile/compile.c:631
+msgid "When on, compile command debugging is enabled."
+msgstr ""
+
+#: compile/compile.c:638
+msgid "Set compile command GCC command-line arguments"
+msgstr ""
+
+#: compile/compile.c:639
+msgid "Show compile command GCC command-line arguments"
+msgstr ""
+
+#: compile/compile.c:640
+msgid ""
+"Use options like -I (include file directory) or ABI settings.\n"
+"String quoting is parsed like in shell, for example:\n"
+"  -mno-align-double \"-I/dir with a space/include\""
+msgstr ""
+
+#: compile/compile-c-symbols.c:124 utils.c:1010
 #, possible-c-format
-msgid "test branch tracing: expected stop. status: %d."
+msgid "%s"
 msgstr ""
 
-#: common/linux-btrace.c:340
+#: compile/compile-c-symbols.c:205
 #, possible-c-format
-msgid "test branch tracing: expected killed. status: %d."
+msgid "Unsupported LOC_CONST_BYTES for symbol \"%s\"."
 msgstr ""
 
-#: common/filestuff.c:204
-msgid "fd not found in open_fds"
+#: compile/compile-c-symbols.c:209
+#, possible-c-format
+msgid "LOC_UNDEF found for \"%s\"."
 msgstr ""
 
-#: common/filestuff.c:366
-msgid "socketpair not available on this host"
+#: compile/compile-c-symbols.c:213
+#, possible-c-format
+msgid ""
+"Fortran common block is unsupported for compilation evaluaton of symbol \"%s"
+"\"."
 msgstr ""
 
-#: common/filestuff.c:407
-msgid "pipe not available on this host"
+#: compile/compile-c-symbols.c:218
+#, possible-c-format
+msgid ""
+"Symbol \"%s\" cannot be used for compilation evaluation as it is optimized "
+"out."
 msgstr ""
 
-#: common/linux-procfs.c:44 common/linux-procfs.c:90 linux-tdep.c:362
-#: linux-tdep.c:449 linux-tdep.c:462 linux-tdep.c:599
+#: compile/compile-c-symbols.c:678
+msgid "Local symbol unhandled when generating C code."
+msgstr ""
+
+#: compile/compile-c-symbols.c:681
+msgid "LOC_COMPUTED variable missing a method."
+msgstr ""
+
+#: compile/compile-object-load.c:110
 #, possible-c-format
-msgid "unable to open /proc file '%s'"
+msgid "Inferior compiled module address %s is not aligned to BFD required %s."
 msgstr ""
 
-#: common/common-utils.c:137
-msgid "vasprintf call failed"
+#: compile/compile-object-load.c:152
+#, possible-c-format
+msgid "Compiled module \"%s\": multiple symbol definitions: %s"
 msgstr ""
 
-#: common/gdb_assert.h:43
+#: compile/compile-object-load.c:164
 #, possible-c-format
-msgid "%s: Assertion `%s' failed."
+msgid "Compiled module \"%s\" section \"%s\": warning: %s"
 msgstr ""
 
-#: common/gdb_assert.h:47
+#: compile/compile-object-load.c:178
 #, possible-c-format
-msgid "Assertion `%s' failed."
+msgid ""
+"Cannot resolve relocation to \"%s\" from compiled module \"%s\" section \"%s"
+"\"."
 msgstr ""
 
-#: common/rsp-low.c:42
+#: compile/compile-object-load.c:204
 #, possible-c-format
-msgid "Reply contains invalid hex digit %d"
+msgid "Compiled module \"%s\" section \"%s\": dangerous relocation: %s\n"
 msgstr ""
 
-#: common/rsp-low.c:206
-msgid "Received too much data from the target."
+#: compile/compile-object-load.c:218
+#, possible-c-format
+msgid "Compiled module \"%s\" section \"%s\": unattached relocation: %s\n"
 msgstr ""
 
-#: common/rsp-low.c:220
-msgid "Unmatched escape character in target response."
+#: compile/compile-object-load.c:239
+#, possible-c-format
+msgid "Compile module: warning: %s"
 msgstr ""
 
-#: common/print-utils.c:250
-msgid "hex_string_custom: insufficient space to store result"
+#: compile/compile-object-load.c:336
+#, possible-c-format
+msgid "Cannot map compiled module \"%s\" section \"%s\": %s"
 msgstr ""
 
-#. ??? TODO: handle other escape sequences.
-#: common/format.c:90
+#: compile/compile-object-load.c:344
 #, possible-c-format
-msgid "Unrecognized escape character \\%c in format string."
+msgid ""
+"Cannot write compiled module \"%s\" section \"%s\" to inferior memory range %"
+"s-%s."
 msgstr ""
 
-#: common/format.c:297
-msgid "`*' not supported for precision or width in printf"
+#: compile/compile-object-load.c:368
+#, possible-c-format
+msgid "Cannot find function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: common/format.c:300
-msgid "Format specifier `n' not supported in printf"
+#: compile/compile-object-load.c:373
+#, possible-c-format
+msgid "Invalid type code %d of function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: common/format.c:303
-msgid "Incomplete format specifier at end of format string"
+#: compile/compile-object-load.c:383
+#, possible-c-format
+msgid "Invalid %d parameters of function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: common/format.c:306
+#: compile/compile-object-load.c:390
 #, possible-c-format
-msgid "Unrecognized format specifier '%c' in printf"
+msgid ""
+"Invalid type code %d of first parameter of function \"%s\" in compiled "
+"module \"%s\"."
 msgstr ""
 
-#: common/format.c:310
+#: compile/compile-object-load.c:397
 #, possible-c-format
-msgid "Inappropriate modifiers to format specifier '%c' in printf"
+msgid ""
+"Invalid type code %d of dereferenced first parameter of function \"%s\" in "
+"compiled module \"%s\"."
+msgstr ""
+
+#: compile/compile-object-load.c:432
+#, possible-c-format
+msgid "Invalid register \"%s\" position %s bits or size %s bits"
+msgstr ""
+
+#: compile/compile-object-load.c:438
+#, possible-c-format
+msgid "Invalid register \"%s\" type code %d"
+msgstr ""
+
+#: compile/compile-object-load.c:445
+#, possible-c-format
+msgid "Register \"%s\" is optimized out."
 msgstr ""
 
-#: complaints.c:319
+#: compile/compile-object-load.c:447
+#, possible-c-format
+msgid "Register \"%s\" is not available."
+msgstr ""
+
+#: compile/compile-object-load.c:452
+#, possible-c-format
+msgid "Cannot write register \"%s\" to inferior memory at %s."
+msgstr ""
+
+#: compile/compile-object-load.c:486
+#, possible-c-format
+msgid "\"%s\": could not open as compiled module: %s"
+msgstr ""
+
+#: compile/compile-object-load.c:491
+#, possible-c-format
+msgid "\"%s\": not in loadable format: %s"
+msgstr ""
+
+#: compile/compile-object-load.c:495
+#, possible-c-format
+msgid "\"%s\": not in object format."
+msgstr ""
+
+#: compile/compile-object-load.c:506
+#, possible-c-format
+msgid "Cannot read symbols of compiled module \"%s\": %s"
+msgstr ""
+
+#: compile/compile-object-load.c:516
+#, possible-c-format
+msgid "Could not find symbol \"%s\" of compiled module \"%s\"."
+msgstr ""
+
+#: compile/compile-object-load.c:526
+#, possible-c-format
+msgid "Cannot parse symbols of compiled module \"%s\": %s"
+msgstr ""
+
+#: compile/compile-object-load.c:555
+#, possible-c-format
+msgid "Could not find symbol \"%s\" for compiled module \"%s\"."
+msgstr ""
+
+#: compile/compile-object-load.c:562
+#, possible-c-format
+msgid "%ld symbols were missing, cannot continue."
+msgstr ""
+
+#: compile/compile-c-support.c:51
+#, possible-c-format
+msgid "Invalid GCC mode size %d."
+msgstr ""
+
+#: compile/compile-c-support.c:87
+#, possible-c-format
+msgid "could not find symbol %s in library %s"
+msgstr ""
+
+#: compile/compile-c-support.c:112
+msgid ""
+"The loaded version of GCC does not support the required version of the API."
+msgstr ""
+
+#: compile/compile-c-support.c:194 compile/compile-c-support.c:213
+msgid "Unknown compiler scope reached."
+msgstr ""
+
+#: compile/compile-c-types.c:116
+msgid "array type with non-constant lower bound is not supported"
+msgstr ""
+
+#: compile/compile-c-types.c:120
+msgid "cannot convert array type with non-zero lower bound to C"
+msgstr ""
+
+#: compile/compile-c-types.c:131
+msgid "variably-sized vector type is not supported"
+msgstr ""
+
+#: compile/compile-c-types.c:373
+msgid "cannot convert gdb type to gcc type"
+msgstr ""
+
+#: complaints.c:318
 #, possible-c-format
 msgid "Max number of complaints about incorrect symbols is %s.\n"
 msgstr ""
 
-#: complaints.c:328
+#: complaints.c:327
 msgid "Set max number of complaints about incorrect symbols."
 msgstr ""
 
-#: complaints.c:329
+#: complaints.c:328
 msgid "Show max number of complaints about incorrect symbols."
 msgstr ""
 
@@ -6554,15 +6763,15 @@ msgstr ""
 msgid "Various kinds of warranty you do not have."
 msgstr ""
 
-#: corefile.c:172
+#: corefile.c:168
 msgid "core file may not match specified executable file."
 msgstr ""
 
-#: corefile.c:174
+#: corefile.c:170
 msgid "exec file is newer than core file."
 msgstr ""
 
-#: corefile.c:190
+#: corefile.c:186
 msgid ""
 "No executable file specified.\n"
 "Use the \"file\" or \"exec-file\" command."
@@ -6570,239 +6779,239 @@ msgstr ""
 
 #. Actually, address between memaddr and memaddr + len was out of
 #. bounds.
-#: corefile.c:205
+#: corefile.c:201
 #, possible-c-format
 msgid "Cannot access memory at address %s"
 msgstr ""
 
-#: corefile.c:208
+#: corefile.c:204
 #, possible-c-format
 msgid "Memory at address %s unavailable."
 msgstr ""
 
-#: corefile.c:491
+#: corefile.c:447
 #, possible-c-format
 msgid "The current BFD target is \"%s\".\n"
 msgstr ""
 
-#: corefile.c:551
+#: corefile.c:507
 msgid ""
 "Use FILE as core dump for examining memory and registers.\n"
 "No arg means have no core file.  This command has been superseded by the\n"
 "`target core' and `detach' commands."
 msgstr ""
 
-#: corefile.c:559
+#: corefile.c:515
 msgid "Set the current BFD target."
 msgstr ""
 
-#: corefile.c:560
+#: corefile.c:516
 msgid "Show the current BFD target."
 msgstr ""
 
-#: corefile.c:561
+#: corefile.c:517
 msgid "Use `set gnutarget auto' to specify automatic detection."
 msgstr ""
 
-#: corelow.c:155
+#: corelow.c:149
 #, possible-c-format
 msgid "\"%s\": ambiguous core format, %d handlers match"
 msgstr ""
 
-#: corelow.c:159
+#: corelow.c:153
 #, possible-c-format
 msgid "\"%s\": no core file handler recognizes format"
 msgstr ""
 
-#: corelow.c:293
+#: corelow.c:288
 msgid "No core file specified.  (Use `detach' to stop debugging a core file.)"
 msgstr ""
 
-#: corelow.c:296
+#: corelow.c:291
 msgid "No core file specified."
 msgstr ""
 
-#: corelow.c:333
+#: corelow.c:328
 #, possible-c-format
 msgid "\"%s\" is not a core dump: %s"
 msgstr ""
 
-#: corelow.c:358 record-full.c:814
+#: corelow.c:353 record-full.c:813
 #, possible-c-format
 msgid "\"%s\": Can't find sections: %s"
 msgstr ""
 
-#: corelow.c:429
+#: corelow.c:424
 #, possible-c-format
 msgid "Core was generated by `%s'.\n"
 msgstr ""
 
-#: corelow.c:449
+#: corelow.c:444
 #, possible-c-format
 msgid "Program terminated with signal %s, %s.\n"
 msgstr ""
 
-#: corelow.c:470 guile/scm-utils.c:515
+#: corelow.c:465 guile/scm-utils.c:513
 msgid "Too many arguments"
 msgstr ""
 
-#: corelow.c:474
+#: corelow.c:469
 msgid "No core file now.\n"
 msgstr ""
 
-#: corelow.c:518
+#: corelow.c:515
 #, possible-c-format
 msgid "Couldn't find %s registers in core file."
 msgstr ""
 
-#: corelow.c:528
+#: corelow.c:523
 #, possible-c-format
-msgid "Couldn't read %s registers from `%s' section in core file."
+msgid "Section `%s' in core file too small."
 msgstr ""
 
-#: corelow.c:542
+#: corelow.c:531
 #, possible-c-format
-msgid "Couldn't recognize %s registers in core file."
+msgid "Couldn't read %s registers from `%s' section in core file."
 msgstr ""
 
-#: corelow.c:716
+#: corelow.c:723
 msgid "Couldn't read NT_AUXV note in core file."
 msgstr ""
 
-#: corelow.c:751
+#: corelow.c:758
 msgid "Couldn't read StackGhost cookie in core file."
 msgstr ""
 
-#: corelow.c:831
+#: corelow.c:838
 msgid "Couldn't read SPU section in core file."
 msgstr ""
 
-#: corelow.c:1021
+#: corelow.c:1027
 #, possible-c-format
 msgid "init_core_ops: core target already exists (\"%s\")."
 msgstr ""
 
-#: core-regset.c:75 m68klinux-nat.c:538
+#: core-regset.c:73
 msgid "Wrong size gregset in core file."
 msgstr ""
 
-#: core-regset.c:85 m68klinux-nat.c:548
+#: core-regset.c:83
 msgid "Wrong size fpregset in core file."
 msgstr ""
 
-#: cp-abi.c:43
+#: cp-abi.c:39
 msgid "ABI doesn't define required function is_constructor_name"
 msgstr ""
 
-#: cp-abi.c:51
+#: cp-abi.c:47
 msgid "ABI doesn't define required function is_destructor_name"
 msgstr ""
 
-#: cp-abi.c:59
+#: cp-abi.c:55
 msgid "ABI doesn't define required function is_vtable_name"
 msgstr ""
 
-#: cp-abi.c:67
+#: cp-abi.c:63
 msgid "ABI doesn't define required function is_operator_name"
 msgstr ""
 
-#: cp-abi.c:90
+#: cp-abi.c:86
 msgid "Cannot determine virtual baseclass offset of incomplete object"
 msgstr ""
 
-#: cp-abi.c:133 cp-abi.c:141 cp-abi.c:150 cp-abi.c:168
+#: cp-abi.c:129 cp-abi.c:137 cp-abi.c:146 cp-abi.c:164
 msgid "GDB does not support pointers to methods on this target"
 msgstr ""
 
-#: cp-abi.c:178
+#: cp-abi.c:174
 msgid "GDB cannot print the vtable on this target"
 msgstr ""
 
-#: cp-abi.c:188
+#: cp-abi.c:184
 msgid "GDB cannot find the typeid on this target"
 msgstr ""
 
-#: cp-abi.c:198
+#: cp-abi.c:194
 msgid "GDB cannot find the type for 'typeid' on this target"
 msgstr ""
 
-#: cp-abi.c:208
+#: cp-abi.c:204
 msgid "GDB cannot find the type from a std::type_info on this target"
 msgstr ""
 
-#: cp-abi.c:218
+#: cp-abi.c:214
 msgid "GDB cannot find the type name from a std::type_info on this target"
 msgstr ""
 
-#: cp-abi.c:253
+#: cp-abi.c:249
 msgid "Too many C++ ABIs, please increase CP_ABI_MAX in cp-abi.c"
 msgstr ""
 
-#: cp-abi.c:271
+#: cp-abi.c:267
 #, possible-c-format
 msgid "Cannot find C++ ABI \"%s\" to set it as auto default."
 msgstr ""
 
-#: cp-abi.c:355
+#: cp-abi.c:351
 #, possible-c-format
 msgid "Could not find \"%s\" in ABI list"
 msgstr ""
 
-#: cp-abi.c:404
+#: cp-abi.c:400
 msgid ""
 "Set the ABI used for inspecting C++ objects.\n"
 "\"set cp-abi\" with no arguments will list the available ABIs."
 msgstr ""
 
-#: cp-abi.c:411
+#: cp-abi.c:407
 msgid "Show the ABI used for inspecting C++ objects."
 msgstr ""
 
-#: cp-name-parser.y:1616
+#: cp-name-parser.y:1610
 msgid "empty character constant"
 msgstr ""
 
-#: cp-name-parser.y:1623
+#: cp-name-parser.y:1617
 msgid "invalid character constant"
 msgstr ""
 
-#: cp-name-parser.y:1747
+#: cp-name-parser.y:1741
 msgid "invalid number"
 msgstr ""
 
 #. These can't occur in C++ names.
-#: cp-name-parser.y:1823
+#: cp-name-parser.y:1817
 msgid "unexpected string literal"
 msgstr ""
 
 #. We must have come across a bad character (e.g. ';').
-#: cp-name-parser.y:1830
+#: cp-name-parser.y:1824
 msgid "invalid character"
 msgstr ""
 
-#: cp-namespace.c:868
+#: cp-namespace.c:1073
 msgid "cp_lookup_nested_symbol called on a non-aggregate type."
 msgstr ""
 
-#: cp-namespace.c:949
+#: cp-namespace.c:1154
 msgid "The `maint namespace' command was removed.\n"
 msgstr ""
 
-#: cp-namespace.c:962
+#: cp-namespace.c:1167
 msgid "Deprecated placeholder for removed functionality."
 msgstr ""
 
-#: cp-support.c:598
+#: cp-support.c:596
 #, possible-c-format
 msgid "internal error: string \"%s\" failed to be canonicalized"
 msgstr ""
 
-#: cp-support.c:1454
+#: cp-support.c:1450
 #, possible-c-format
 msgid "RTTI symbol not found for class '%s'"
 msgstr ""
 
-#: cp-support.c:1460
+#: cp-support.c:1456
 #, possible-c-format
 msgid "RTTI symbol for class '%s' is not a type"
 msgstr ""
@@ -6811,29 +7020,41 @@ msgstr ""
 #. symbols for namespaces with the same name as the struct.
 #. This warning is an indication of a bug in the lookup order
 #. or a bug in the way that the symbol tables are populated.
-#: cp-support.c:1475
+#: cp-support.c:1471
 #, possible-c-format
 msgid "RTTI symbol for class '%s' is a namespace"
 msgstr ""
 
-#: cp-support.c:1478
+#: cp-support.c:1474
 #, possible-c-format
 msgid "RTTI symbol for class '%s' has bad type"
 msgstr ""
 
-#: cp-support.c:1498
+#: cp-support.c:1578
+#, possible-c-format
+msgid "unable to demangle '%s' (demangler failed with signal %d)"
+msgstr ""
+
+#: cp-support.c:1591
+#, possible-c-format
+msgid ""
+"%s\n"
+"Attempting to dump core.\n"
+msgstr ""
+
+#: cp-support.c:1616
 msgid "\"maintenance cplus\" must be followed by the name of a command.\n"
 msgstr ""
 
-#: cp-support.c:1546
+#: cp-support.c:1664
 msgid "C++ maintenance commands."
 msgstr ""
 
-#: cp-support.c:1557
+#: cp-support.c:1675
 msgid "Print the first class/namespace component of NAME."
 msgstr ""
 
-#: cp-support.c:1561
+#: cp-support.c:1679
 msgid ""
 "Show the virtual function table for a C++ object.\n"
 "Usage: info vtbl EXPRESSION\n"
@@ -6841,141 +7062,155 @@ msgid ""
 "resulting object."
 msgstr ""
 
-#: cp-valprint.c:46
+#: cp-support.c:1686
+msgid "Set whether to attempt to catch demangler crashes."
+msgstr ""
+
+#: cp-support.c:1687
+msgid "Show whether to attempt to catch demangler crashes."
+msgstr ""
+
+#: cp-support.c:1688
+msgid ""
+"If enabled GDB will attempt to catch demangler crashes and\n"
+"display the offending symbol."
+msgstr ""
+
+#: cp-valprint.c:44
 #, possible-c-format
 msgid "Printing of C++ virtual function tables is %s.\n"
 msgstr ""
 
-#: cp-valprint.c:58
+#: cp-valprint.c:56
 #, possible-c-format
 msgid "Printing of object's derived type based on vtable info is %s.\n"
 msgstr ""
 
-#: cp-valprint.c:69
+#: cp-valprint.c:67
 #, possible-c-format
 msgid "Printing of C++ static members is %s.\n"
 msgstr ""
 
-#: cp-valprint.c:295 jv-valprint.c:394 p-valprint.c:628 valprint.c:324
+#: cp-valprint.c:293 jv-valprint.c:392 p-valprint.c:627 valprint.c:321
 msgid "<synthetic pointer>"
 msgstr ""
 
-#: cp-valprint.c:334 guile/scm-pretty-print.c:638 mi/mi-cmd-stack.c:544
-#: python/py-framefilter.c:466 python/py-prettyprint.c:293 stack.c:293
+#: cp-valprint.c:326 guile/scm-pretty-print.c:637 mi/mi-cmd-stack.c:542
+#: python/py-framefilter.c:465 python/py-prettyprint.c:292 stack.c:289
 #, possible-c-format
 msgid "<error reading variable: %s>"
 msgstr ""
 
-#: cp-valprint.c:822
+#: cp-valprint.c:815
 msgid "Set printing of C++ static members."
 msgstr ""
 
-#: cp-valprint.c:823
+#: cp-valprint.c:816
 msgid "Show printing of C++ static members."
 msgstr ""
 
-#: cp-valprint.c:830
+#: cp-valprint.c:823
 msgid "Set printing of C++ virtual function tables."
 msgstr ""
 
-#: cp-valprint.c:831
+#: cp-valprint.c:824
 msgid "Show printing of C++ virtual function tables."
 msgstr ""
 
-#: cp-valprint.c:838
+#: cp-valprint.c:831
 msgid "Set printing of object's derived type based on vtable info."
 msgstr ""
 
-#: cp-valprint.c:839
+#: cp-valprint.c:832
 msgid "Show printing of object's derived type based on vtable info."
 msgstr ""
 
-#: cris-tdep.c:285 i386-linux-tdep.c:342
+#: cris-tdep.c:283 i386-linux-tdep.c:318
 msgid "Couldn't recognize signal trampoline."
 msgstr ""
 
 #. Invalid (unimplemented) register.  Should not happen as there are
 #. no unimplemented CRISv32 registers.
-#: cris-tdep.c:1643
+#: cris-tdep.c:1641
 #, possible-c-format
 msgid "crisv32_register_type: unknown regno %d"
 msgstr ""
 
-#: cris-tdep.c:1677
+#: cris-tdep.c:1675
 msgid "cris_store_return_value: type length too large."
 msgstr ""
 
-#: cris-tdep.c:1848
+#: cris-tdep.c:1846
 msgid "cris_extract_return_value: type length too large"
 msgstr ""
 
 #. Could not find a target.  Things are likely to go downhill
 #. from here.
-#: cris-tdep.c:2091
+#: cris-tdep.c:2089
 msgid "CRIS software single step could not find a step target."
 msgstr ""
 
-#: cris-tdep.c:3873 irix5-nat.c:238 mips-linux-tdep.c:658
+#: cris-tdep.c:3871
 msgid "wrong size gregset struct in core file"
 msgstr ""
 
-#: cris-tdep.c:3910
+#: cris-tdep.c:3908
 msgid "Set the current CRIS version."
 msgstr ""
 
-#: cris-tdep.c:3911
+#: cris-tdep.c:3909
 msgid "Show the current CRIS version."
 msgstr ""
 
-#: cris-tdep.c:3912
+#: cris-tdep.c:3910
 msgid ""
 "Set to 10 for CRISv10 or 32 for CRISv32 if autodetection fails.\n"
 "Defaults to 10. "
 msgstr ""
 
-#: cris-tdep.c:3922
+#: cris-tdep.c:3920
 msgid "Set the current CRIS mode."
 msgstr ""
 
-#: cris-tdep.c:3923
+#: cris-tdep.c:3921
 msgid "Show the current CRIS mode."
 msgstr ""
 
-#: cris-tdep.c:3924
+#: cris-tdep.c:3922
 msgid ""
 "Set to CRIS_MODE_GURU when debugging in guru mode.\n"
 "Makes GDB use the NRP register instead of the ERP register in certain cases."
 msgstr ""
 
-#: cris-tdep.c:3933
+#: cris-tdep.c:3931
 msgid "Set the usage of Dwarf-2 CFI for CRIS."
 msgstr ""
 
-#: cris-tdep.c:3934
+#: cris-tdep.c:3932
 msgid "Show the usage of Dwarf-2 CFI for CRIS."
 msgstr ""
 
-#: cris-tdep.c:3935
+#: cris-tdep.c:3933
 msgid "Set this to \"off\" if using gcc-cris < R59."
 msgstr ""
 
-#: cris-tdep.c:3973 cris-tdep.c:3999
+#: cris-tdep.c:3971 cris-tdep.c:3997
 msgid "cris_gdbarch_update: failed to update architecture."
 msgstr ""
 
-#: cris-tdep.c:4058
+#: cris-tdep.c:4056
 msgid "cris_gdbarch_init: big endian byte order in info"
 msgstr ""
 
-#: cris-tdep.c:4063
+#: cris-tdep.c:4061
 msgid "cris_gdbarch_init: unknown byte order in info"
 msgstr ""
 
-#: cris-tdep.c:4093
+#: cris-tdep.c:4091
 msgid "cris_gdbarch_init: unsupported CRIS version"
 msgstr ""
 
-#: cris-tdep.c:4135
+#: cris-tdep.c:4133
 msgid "cris_gdbarch_init: unknown CRIS version"
 msgstr ""
 
@@ -7037,7 +7272,7 @@ msgstr ""
 msgid "ctf_xfer_partial: trace file is read-only"
 msgstr ""
 
-#: ctf.c:1602 tracefile-tfile.c:680
+#: ctf.c:1602 tracefile-tfile.c:681
 msgid "unknown tfind type"
 msgstr ""
 
@@ -7046,75 +7281,75 @@ msgstr ""
 msgid "Unhandled trace block type (%s) while building trace frame info."
 msgstr ""
 
-#: c-typeprint.c:389
+#: c-typeprint.c:387
 msgid "type not handled in c_type_print_varspec_prefix()"
 msgstr ""
 
-#: c-typeprint.c:760
+#: c-typeprint.c:758
 msgid "type not handled in c_type_print_varspec_suffix()"
 msgstr ""
 
-#: c-typeprint.c:797
+#: c-typeprint.c:795
 #, possible-c-format
 msgid "[with %s = "
 msgstr ""
 
-#: c-typeprint.c:812
+#: c-typeprint.c:810
 msgid "] "
 msgstr ""
 
-#: c-typeprint.c:851 m2-typeprint.c:87
+#: c-typeprint.c:849 m2-typeprint.c:84
 msgid "<type unknown>"
 msgstr ""
 
-#: c-typeprint.c:879
+#: c-typeprint.c:877
 msgid "<unnamed typedef>"
 msgstr ""
 
-#: c-typeprint.c:971
+#: c-typeprint.c:969
 msgid "<incomplete type>\n"
 msgstr ""
 
-#: c-typeprint.c:974
+#: c-typeprint.c:972
 msgid "<no data fields>\n"
 msgstr ""
 
-#: c-typeprint.c:1206
+#: c-typeprint.c:1204
 #, possible-c-format
 msgid "<undefined type> %s;\n"
 msgstr ""
 
-#: c-typeprint.c:1256
+#: c-typeprint.c:1254
 #, possible-c-format
 msgid "<badly mangled name '%s'>"
 msgstr ""
 
-#: c-typeprint.c:1401
+#: c-typeprint.c:1399
 msgid "struct <unknown>"
 msgstr ""
 
 #. This should not occur.
-#: c-typeprint.c:1410
+#: c-typeprint.c:1408
 msgid "<range type>"
 msgstr ""
 
 #. At least for dump_symtab, it is important that this not
 #. be an error ().
-#: c-typeprint.c:1432
+#: c-typeprint.c:1430
 #, possible-c-format
 msgid "<invalid type code %d>"
 msgstr ""
 
-#: c-valprint.c:161 valprint.c:403
+#: c-valprint.c:160 valprint.c:400
 msgid "Could not determine the array high bound"
 msgstr ""
 
-#: c-valprint.c:227
+#: c-valprint.c:226
 #, possible-c-format
 msgid "%d vtable entries"
 msgstr ""
 
-#: c-valprint.c:560
+#: c-valprint.c:559
 msgid " [incomplete object]"
 msgstr ""
 
@@ -7127,239 +7362,239 @@ msgstr ""
 msgid "<anonymous union>"
 msgstr ""
 
-#: darwin-nat.c:185
+#: darwin-nat.c:183
 #, possible-c-format
 msgid "[%d inferior]: "
 msgstr ""
 
-#: darwin-nat.c:197
+#: darwin-nat.c:195
 msgid "[UNKNOWN]"
 msgstr ""
 
-#: darwin-nat.c:199
+#: darwin-nat.c:197
 #, possible-c-format
 msgid "Mach error at \"%s:%u\" in function \"%s\": %s (0x%lx)"
 msgstr ""
 
-#: darwin-nat.c:231
+#: darwin-nat.c:229
 #, c-format
 msgid "unknown (%d)"
 msgstr ""
 
-#: darwin-nat.c:256
+#: darwin-nat.c:254
 #, possible-c-format
 msgid "ptrace (%s, %d, 0x%x, %d): %d (%s)\n"
 msgstr ""
 
-#: darwin-nat.c:258
+#: darwin-nat.c:256
 msgid "no error"
 msgstr ""
 
-#: darwin-nat.c:333
+#: darwin-nat.c:331
 #, possible-c-format
 msgid " new_ix:%d/%d, old_ix:%d/%d, new_id:0x%x old_id:0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:495
+#: darwin-nat.c:493
 msgid "message header:\n"
 msgstr ""
 
-#: darwin-nat.c:496
+#: darwin-nat.c:494
 #, possible-c-format
 msgid " bits: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:497
+#: darwin-nat.c:495
 #, possible-c-format
 msgid " size: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:498
+#: darwin-nat.c:496
 #, possible-c-format
 msgid " remote-port: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:499
+#: darwin-nat.c:497
 #, possible-c-format
 msgid " local-port: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:500
+#: darwin-nat.c:498
 #, possible-c-format
 msgid " reserved: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:501
+#: darwin-nat.c:499
 #, possible-c-format
 msgid " id: 0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:520
+#: darwin-nat.c:518
 #, possible-c-format
 msgid "body: descriptor_count=%u\n"
 msgstr ""
 
-#: darwin-nat.c:529
+#: darwin-nat.c:527
 #, possible-c-format
 msgid " descr %d: type=%u (port) name=0x%x, dispo=%d\n"
 msgstr ""
 
-#: darwin-nat.c:533
+#: darwin-nat.c:531
 #, possible-c-format
 msgid " descr %d: type=%u\n"
 msgstr ""
 
-#: darwin-nat.c:543
+#: darwin-nat.c:541
 #, possible-c-format
 msgid "NDR: mig=%02x if=%02x encod=%02x int=%02x char=%02x float=%02x\n"
 msgstr ""
 
-#: darwin-nat.c:551
+#: darwin-nat.c:549
 msgid "  data:"
 msgstr ""
 
-#: darwin-nat.c:719
+#: darwin-nat.c:717
 #, possible-c-format
 msgid "darwin_resume_thread: state=%d, thread=0x%x, step=%d nsignal=%d\n"
 msgstr ""
 
-#: darwin-nat.c:732
+#: darwin-nat.c:730
 #, possible-c-format
 msgid "ptrace THUP: res=%d\n"
 msgstr ""
 
-#: darwin-nat.c:739
+#: darwin-nat.c:737
 #, possible-c-format
 msgid "darwin_resume_thread: kill 0x%x %d: %d\n"
 msgstr ""
 
-#: darwin-nat.c:747
+#: darwin-nat.c:745
 #, possible-c-format
 msgid "darwin_set_sstep (thread=0x%x, enable=%d)\n"
 msgstr ""
 
-#: darwin-nat.c:837
+#: darwin-nat.c:835
 #, possible-c-format
 msgid "darwin_resume: pid=%d, tid=0x%x, step=%d, signal=%d\n"
 msgstr ""
 
-#: darwin-nat.c:918
+#: darwin-nat.c:916
 #, possible-c-format
 msgid "darwin_wait: ill-formatted message (id=0x%x)\n"
 msgstr ""
 
-#: darwin-nat.c:935
+#: darwin-nat.c:933
 #, possible-c-format
 msgid "darwin_wait: thread=0x%x, got %s\n"
 msgstr ""
 
-#: darwin-nat.c:958
+#: darwin-nat.c:956
 #, possible-c-format
 msgid "  (signal %d: %s)\n"
 msgstr ""
 
-#: darwin-nat.c:1005
+#: darwin-nat.c:1003
 #, possible-c-format
 msgid "wait4: res=%d: %s\n"
 msgstr ""
 
-#: darwin-nat.c:1021
+#: darwin-nat.c:1019
 #, possible-c-format
 msgid "darwin_wait: pid=%d exit, status=0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:1031
+#: darwin-nat.c:1029
 #, possible-c-format
 msgid "darwin_wait: pid=%d\n"
 msgstr ""
 
 #. Unknown message.
-#: darwin-nat.c:1040
+#: darwin-nat.c:1038
 #, possible-c-format
 msgid "darwin: got unknown message, id: 0x%x"
 msgstr ""
 
-#: darwin-nat.c:1090
+#: darwin-nat.c:1088
 #, possible-c-format
 msgid "darwin_wait: waiting for a message pid=%d thread=%lx\n"
 msgstr ""
 
-#: darwin-nat.c:1124
+#: darwin-nat.c:1122
 #, possible-c-format
 msgid "mach_msg: ret=0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:1161
+#: darwin-nat.c:1159
 #, possible-c-format
 msgid "darwin_wait: mach_msg(pending) ret=0x%x\n"
 msgstr ""
 
-#: darwin-nat.c:1183
+#: darwin-nat.c:1181
 #, possible-c-format
 msgid "darwin_wait: thread 0x%x hit a non-gdb breakpoint\n"
 msgstr ""
 
-#: darwin-nat.c:1187
+#: darwin-nat.c:1185
 msgid "darwin_wait: unhandled pending message\n"
 msgstr ""
 
-#: darwin-nat.c:1309
+#: darwin-nat.c:1307
 #, possible-c-format
 msgid "cannot kill: %s"
 msgstr ""
 
-#: darwin-nat.c:1383
+#: darwin-nat.c:1381
 #, possible-c-format
 msgid "Failed to kill inferior: kill (%d, 9) returned [%s]"
 msgstr ""
 
-#: darwin-nat.c:1411
+#: darwin-nat.c:1409
 #, possible-c-format
 msgid ""
 "Unable to find Mach task port for process-id %d: %s (0x%lx).\n"
 " (please check gdb is codesigned - see taskgated(8))"
 msgstr ""
 
-#: darwin-nat.c:1416
+#: darwin-nat.c:1414
 #, possible-c-format
 msgid "inferior task: 0x%x, pid: %d\n"
 msgstr ""
 
-#: darwin-nat.c:1425
+#: darwin-nat.c:1423
 #, possible-c-format
 msgid "Unable to create exception port, mach_port_allocate returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1432
+#: darwin-nat.c:1430
 #, possible-c-format
 msgid "Unable to create exception port, mach_port_insert_right returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1440
+#: darwin-nat.c:1438
 #, possible-c-format
 msgid "Unable to create port set, mach_port_allocate returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1446
+#: darwin-nat.c:1444
 #, possible-c-format
 msgid ""
 "Unable to move exception port into new port set, mach_port_move_member\n"
 "returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1456
+#: darwin-nat.c:1454
 #, possible-c-format
 msgid "Unable to create notification port, mach_port_allocate returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1463
+#: darwin-nat.c:1461
 #, possible-c-format
 msgid ""
 "Unable to move notification port into new port set, mach_port_move_member\n"
 "returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1474
+#: darwin-nat.c:1472
 #, possible-c-format
 msgid ""
 "Termination notification request failed, mach_port_request_notification\n"
@@ -7369,139 +7604,139 @@ msgstr ""
 #. This is unexpected, as there should not be any previously
 #. registered notification request.  But this is not a fatal
 #. issue, so just emit a warning.
-#: darwin-nat.c:1483
+#: darwin-nat.c:1481
 msgid ""
 "A task termination request was registered before the debugger registered\n"
 "its own.  This is unexpected, but should otherwise not have any actual\n"
 "impact on the debugging session."
 msgstr ""
 
-#: darwin-nat.c:1491
+#: darwin-nat.c:1489
 #, possible-c-format
 msgid "Unable to save exception ports, task_get_exception_portsreturned: %d"
 msgstr ""
 
-#: darwin-nat.c:1503
+#: darwin-nat.c:1501
 #, possible-c-format
 msgid "Unable to set exception ports, task_set_exception_portsreturned: %d"
 msgstr ""
 
-#: darwin-nat.c:1547
+#: darwin-nat.c:1545
 #, possible-c-format
 msgid "unable to read from pipe, read returned: %d"
 msgstr ""
 
-#: darwin-nat.c:1568
+#: darwin-nat.c:1566
 #, possible-c-format
 msgid "unable to create a pipe: %s"
 msgstr ""
 
 #. Trying to masturbate?
-#: darwin-nat.c:1687 gnu-nat.c:2178 inf-ptrace.c:198 inf-ttrace.c:760
+#: darwin-nat.c:1685 gnu-nat.c:2187 inf-ptrace.c:160 inf-ttrace.c:650
 msgid "I refuse to debug myself!"
 msgstr ""
 
-#: darwin-nat.c:1694 inf-ptrace.c:213 inf-ttrace.c:767 remote.c:4388
+#: darwin-nat.c:1692 inf-ptrace.c:175 inf-ttrace.c:657 remote.c:4467
 #, possible-c-format
 msgid "Attaching to program: %s, %s\n"
 msgstr ""
 
-#: darwin-nat.c:1697 inf-ptrace.c:216 inf-ttrace.c:770 procfs.c:3060
-#: remote.c:4391
+#: darwin-nat.c:1695 inf-ptrace.c:178 inf-ttrace.c:660 procfs.c:3043
+#: remote.c:4470
 #, possible-c-format
 msgid "Attaching to %s\n"
 msgstr ""
 
-#: darwin-nat.c:1704
+#: darwin-nat.c:1702
 #, possible-c-format
 msgid "Can't attach to process %d: %s (%d)"
 msgstr ""
 
-#: darwin-nat.c:1749 inf-ptrace.c:274 inf-ttrace.c:816 procfs.c:3087
-#: remote.c:4308
+#: darwin-nat.c:1747 inf-ptrace.c:236 inf-ttrace.c:705 procfs.c:3070
+#: remote.c:4387
 #, possible-c-format
 msgid "Detaching from program: %s, %s\n"
 msgstr ""
 
-#: darwin-nat.c:1765
+#: darwin-nat.c:1763
 #, possible-c-format
 msgid "Unable to detach from process-id %d: %s (%d)"
 msgstr ""
 
-#: darwin-nat.c:1793
+#: darwin-nat.c:1791
 #, c-format
 msgid "Thread 0x%lx of process %u"
 msgstr ""
 
-#: darwin-nat.c:1827
+#: darwin-nat.c:1825
 #, possible-c-format
 msgid "darwin_read_write_inferior(task=0x%x, %s, len=%s)\n"
 msgstr ""
 
-#: darwin-nat.c:1836
+#: darwin-nat.c:1834
 #, possible-c-format
 msgid "darwin_read_write_inferior: mach_vm_read failed at %s: %s"
 msgstr ""
 
-#: darwin-nat.c:1868
+#: darwin-nat.c:1866
 #, possible-c-format
 msgid "darwin_read_write_inferior: mach_vm_region_recurse failed at %s: %s\n"
 msgstr ""
 
-#: darwin-nat.c:1876
+#: darwin-nat.c:1874
 #, possible-c-format
 msgid ""
 "darwin_read_write_inferior: mach_vm_region_recurse addr=%s, start=%s, len=%"
 "s\n"
 msgstr ""
 
-#: darwin-nat.c:1885
+#: darwin-nat.c:1883
 #, possible-c-format
 msgid "No memory at %s (vs %s+0x%x).  Nothing written"
 msgstr ""
 
-#: darwin-nat.c:1903
+#: darwin-nat.c:1901
 #, possible-c-format
 msgid "darwin_read_write_inf: mach_vm_protect max failed at %s: %s"
 msgstr ""
 
-#: darwin-nat.c:1918
+#: darwin-nat.c:1916
 #, possible-c-format
 msgid "darwin_read_write_inf: mach_vm_protect failed at %s (len=0x%lx): %s"
 msgstr ""
 
-#: darwin-nat.c:1932
+#: darwin-nat.c:1930
 #, possible-c-format
 msgid "darwin_read_write_inferior: mach_vm_write failed: %s"
 msgstr ""
 
-#: darwin-nat.c:1983
+#: darwin-nat.c:1981
 #, possible-c-format
 msgid "darwin_xfer_partial(%s, %s, rbuf=%s, wbuf=%s) pid=%u\n"
 msgstr ""
 
-#: darwin-nat.c:2172
+#: darwin-nat.c:2170
 #, possible-c-format
 msgid "GDB task: 0x%lx, pid: %d\n"
 msgstr ""
 
-#: darwin-nat.c:2176
+#: darwin-nat.c:2174
 msgid "Set if printing inferior communication debugging statements."
 msgstr ""
 
-#: darwin-nat.c:2177
+#: darwin-nat.c:2175
 msgid "Show if printing inferior communication debugging statements."
 msgstr ""
 
-#: darwin-nat.c:2183
+#: darwin-nat.c:2181
 msgid "Set if mach exceptions are caught."
 msgstr ""
 
-#: darwin-nat.c:2184
+#: darwin-nat.c:2182
 msgid "Show if mach exceptions are caught."
 msgstr ""
 
-#: darwin-nat.c:2185
+#: darwin-nat.c:2183
 msgid ""
 "When this mode is on, all low level exceptions are reported before being\n"
 "reported by the kernel."
@@ -7974,152 +8209,152 @@ msgstr ""
 msgid "Disp mach exceptions."
 msgstr ""
 
-#: dbxread.c:174 mdebugread.c:3404
+#: dbxread.c:170 mdebugread.c:3403
 #, possible-c-format
 msgid "unknown symbol type %s"
 msgstr ""
 
-#: dbxread.c:181
+#: dbxread.c:177
 #, possible-c-format
 msgid "N_LBRAC/N_RBRAC symbol mismatch at symtab pos %d"
 msgstr ""
 
-#: dbxread.c:188
+#: dbxread.c:184
 #, possible-c-format
 msgid "\"repeated\" header file %s not previously seen, at symtab pos %d"
 msgstr ""
 
-#: dbxread.c:233
+#: dbxread.c:229
 msgid "Can't find any code sections in symbol file"
 msgstr ""
 
-#: dbxread.c:642
+#: dbxread.c:638
 msgid "Can't find .text section in symbol file"
 msgstr ""
 
-#: dbxread.c:704
+#: dbxread.c:700
 #, possible-c-format
 msgid "ridiculous string table size (%d bytes)."
 msgstr ""
 
-#: dbxread.c:835
+#: dbxread.c:831
 msgid "Premature end of file reading symbol table"
 msgstr ""
 
-#: dbxread.c:976
+#: dbxread.c:972
 #, possible-c-format
 msgid "bad string table offset in symbol %d"
 msgstr ""
 
-#: dbxread.c:1172 mdebugread.c:2245 xcoffread.c:2194
+#: dbxread.c:1168 mdebugread.c:2244 xcoffread.c:2187
 #, possible-c-format
 msgid "function `%s' appears to be defined outside of all compilation units"
 msgstr ""
 
-#: dbxread.c:1413
+#: dbxread.c:1409
 #, possible-c-format
 msgid "string table offset backs up at %d"
 msgstr ""
 
-#: dbxread.c:1561
+#: dbxread.c:1557
 #, possible-c-format
 msgid "N_BINCL %s not in entries for any file, at symtab pos %d"
 msgstr ""
 
-#: dbxread.c:2022 mdebugread.c:3339 xcoffread.c:2906
+#: dbxread.c:2018 mdebugread.c:3338 xcoffread.c:2899
 #, possible-c-format
 msgid "unknown symbol descriptor `%c'"
 msgstr ""
 
-#: dbxread.c:2569
+#: dbxread.c:2567
 msgid "First symbol in segment of executable not a source symbol"
 msgstr ""
 
-#: dbxread.c:2864
+#: dbxread.c:2861
 msgid ""
 "misplaced N_LBRAC entry; discarding local symbols which have no enclosing "
 "block"
 msgstr ""
 
-#: dbxread.c:2885
+#: dbxread.c:2882
 msgid "block start larger than block end"
 msgstr ""
 
-#: dbxread.c:3180
+#: dbxread.c:3177
 #, possible-c-format
 msgid "unmatched N_LBRAC before symtab pos %d"
 msgstr ""
 
-#: dbxread.c:3328 dbxread.c:3422 dbxread.c:3517
+#: dbxread.c:3325 dbxread.c:3419 dbxread.c:3514
 #, possible-c-format
 msgid "ridiculous string table size: %d bytes"
 msgstr ""
 
-#: dbxread.c:3495
+#: dbxread.c:3492
 #, possible-c-format
 msgid "stabsect_build_psymtabs:  Found stabs (%s), but not string section (%s)"
 msgstr ""
 
-#: dbxread.c:3504
+#: dbxread.c:3501
 #, possible-c-format
 msgid "Can't find %s section in symbol file"
 msgstr ""
 
-#: dcache.c:139
+#: dcache.c:138
 #, possible-c-format
 msgid "Deprecated remotecache flag is %s.\n"
 msgstr ""
 
-#: dcache.c:555 dcache.c:620
+#: dcache.c:554 dcache.c:619
 msgid "No data cache available.\n"
 msgstr ""
 
-#: dcache.c:570
+#: dcache.c:569
 msgid "No such cache line exists.\n"
 msgstr ""
 
-#: dcache.c:576 dcache.c:636
+#: dcache.c:575 dcache.c:635
 #, possible-c-format
 msgid "Line %d: address %s [%d hits]\n"
 msgstr ""
 
-#: dcache.c:605
+#: dcache.c:604
 msgid "Usage: info dcache [linenumber]\n"
 msgstr ""
 
-#: dcache.c:613
+#: dcache.c:612
 #, possible-c-format
 msgid "Dcache %u lines of %u bytes each.\n"
 msgstr ""
 
-#: dcache.c:624
+#: dcache.c:623
 #, possible-c-format
 msgid "Contains data for %s\n"
 msgstr ""
 
-#: dcache.c:644
+#: dcache.c:643
 #, possible-c-format
 msgid "Cache state: %d active lines, %d hits\n"
 msgstr ""
 
-#: dcache.c:660
+#: dcache.c:659
 msgid "Dcache size must be greater than 0."
 msgstr ""
 
-#: dcache.c:674
+#: dcache.c:673
 #, possible-c-format
 msgid "Invalid dcache line size: %u (must be power of 2)."
 msgstr ""
 
-#: dcache.c:697
+#: dcache.c:696
 msgid "Set cache use for remote targets."
 msgstr ""
 
-#: dcache.c:698
+#: dcache.c:697
 msgid "Show cache use for remote targets."
 msgstr ""
 
-#: dcache.c:699
+#: dcache.c:698
 msgid ""
 "This used to enable the data cache for remote targets.  The cache\n"
 "functionality is now controlled by the memory region system and the\n"
@@ -8127,7 +8362,7 @@ msgid ""
 "exists only for compatibility reasons."
 msgstr ""
 
-#: dcache.c:709
+#: dcache.c:708
 msgid ""
 "Print information on the dcache performance.\n"
 "With no arguments, this command prints the cache configuration and a\n"
@@ -8135,101 +8370,111 @@ msgid ""
 "the contents of a given line."
 msgstr ""
 
-#: dcache.c:715
+#: dcache.c:714
 msgid "Use this command to set number of lines in dcache and line-size."
 msgstr ""
 
 #. allow_unknown
-#: dcache.c:718
+#: dcache.c:717
 msgid "Show dcachesettings."
 msgstr ""
 
-#: dcache.c:723
+#: dcache.c:722
 msgid "Set dcache line size in bytes (must be power of 2)."
 msgstr ""
 
-#: dcache.c:724
+#: dcache.c:723
 msgid "Show dcache line size."
 msgstr ""
 
-#: dcache.c:731
+#: dcache.c:730
 msgid "Set number of dcache lines."
 msgstr ""
 
-#: dcache.c:732
+#: dcache.c:731
 msgid "Show number of dcache lines."
 msgstr ""
 
-#: dec-thread.c:355
+#: demangle.c:56
 #, possible-c-format
-msgid "unable to get thread info, ignoring thread %ld"
-msgstr ""
-
-#: dec-thread.c:626
-msgid "failed to store registers."
+msgid "Demangling of encoded C++/ObjC names when displaying symbols is %s.\n"
 msgstr ""
 
-#: dec-thread.c:704
+#: demangle.c:69
 #, possible-c-format
-msgid "Could not find thread id from THREAD = 0x%lx"
-msgstr ""
-
-#: dec-thread.c:712 dec-thread.c:713
-msgid "DEC threads support"
+msgid "Demangling of C++/ObjC names in disassembly listings is %s.\n"
 msgstr ""
 
-#: dec-thread.c:736
-msgid "Set debugging of DEC threads module."
+#: demangle.c:88
+#, possible-c-format
+msgid "The current C++ demangling style is \"%s\".\n"
 msgstr ""
 
-#: dec-thread.c:737
-msgid "Show debugging of DEC threads module."
+#: demangle.c:194
+#, possible-c-format
+msgid "Unrecognized option '%s' to demangle command.  Try \"help demangle\"."
 msgstr ""
 
-#: demangle.c:53
-#, possible-c-format
-msgid "Demangling of encoded C++/ObjC names when displaying symbols is %s.\n"
+#: demangle.c:204
+msgid "Usage: demangle [-l language] [--] name"
 msgstr ""
 
-#: demangle.c:66
+#: demangle.c:212
 #, possible-c-format
-msgid "Demangling of C++/ObjC names in disassembly listings is %s.\n"
+msgid "Unknown language \"%s\""
 msgstr ""
 
-#: demangle.c:85
+#: demangle.c:225
 #, possible-c-format
-msgid "The current C++ demangling style is \"%s\".\n"
+msgid "Can't demangle \"%s\""
 msgstr ""
 
-#: demangle.c:182
+#: demangle.c:256
 msgid "Set demangling of encoded C++/ObjC names when displaying symbols."
 msgstr ""
 
-#: demangle.c:183
+#: demangle.c:257
 msgid "Show demangling of encoded C++/ObjC names when displaying symbols."
 msgstr ""
 
-#: demangle.c:189
+#: demangle.c:263
 msgid "Set demangling of C++/ObjC names in disassembly listings."
 msgstr ""
 
-#: demangle.c:190
+#: demangle.c:264
 msgid "Show demangling of C++/ObjC names in disassembly listings."
 msgstr ""
 
-#: demangle.c:198
+#: demangle.c:272
 msgid "Set the current C++ demangling style."
 msgstr ""
 
-#: demangle.c:199
+#: demangle.c:273
 msgid "Show the current C++ demangling style."
 msgstr ""
 
-#: demangle.c:200
+#: demangle.c:274
 msgid ""
 "Use `set demangle-style' without arguments for a list of demangling styles."
 msgstr ""
 
+#: demangle.c:280
+msgid ""
+"Demangle a mangled name.\n"
+"Usage: demangle [-l language] [--] name\n"
+"If LANGUAGE is not specified, NAME is demangled in the current language."
+msgstr ""
+
+#: d-exp.y:1298 jv-exp.y:1444
+msgid "No symbol table is loaded.  Use the \"file\" command"
+msgstr ""
+
+#. We must have come across a bad character (e.g. ';').
+#: d-exp.y:1526 jv-exp.y:1123
+#, possible-c-format
+msgid "Invalid character '%c' in expression"
+msgstr ""
+
 #: dfp.c:92
 #, possible-c-format
 msgid "Cannot perform operation: %s"
@@ -8253,16 +8498,16 @@ msgstr ""
 msgid "Comparison with an invalid number (NaN)."
 msgstr ""
 
-#: dicos-tdep.c:84 dicos-tdep.c:98
+#: dicos-tdep.c:83 dicos-tdep.c:97
 #, possible-c-format
 msgid "Can't read elf symbols from %s: %s"
 msgstr ""
 
-#: dictionary.c:603
+#: dictionary.c:602
 msgid "dict_add_symbol: non-expandable dictionary"
 msgstr ""
 
-#: doublest.c:798
+#: doublest.c:796
 #, possible-c-format
 msgid "Unrecognized %d-bit floating-point type."
 msgstr ""
@@ -8274,171 +8519,171 @@ msgstr ""
 #. assumption might be wrong on targets that support
 #. floating-point types that only differ in endianness for
 #. example.  So we warn instead, and zero out the target buffer.
-#: doublest.c:879
+#: doublest.c:877
 msgid "Can't convert floating-point number to desired type."
 msgstr ""
 
-#: dsrec.c:65
+#: dsrec.c:63
 #, possible-c-format
 msgid "Unable to open file %s\n"
 msgstr ""
 
-#: dsrec.c:72
+#: dsrec.c:70
 msgid "File is not an object file\n"
 msgstr ""
 
-#: dsrec.c:131 dsrec.c:145 symfile.c:2024
+#: dsrec.c:129 dsrec.c:143 symfile.c:2020
 msgid "Canceled the download"
 msgstr ""
 
-#: dsrec.c:260
+#: dsrec.c:258
 #, possible-c-format
 msgid "make_srec:  Bad address (%s), or bad flags (0x%x)."
 msgstr ""
 
-#: dummy-frame.c:317
+#: dummy-frame.c:379
 msgid "maintenance print dummy-frames"
 msgstr ""
 
-#: dummy-frame.c:330
+#: dummy-frame.c:392
 msgid "Print the contents of the internal dummy-frame stack."
 msgstr ""
 
-#: dwarf2expr.c:79
+#: dwarf2expr.c:78
 #, possible-c-format
 msgid "Unsupported address size in DWARF expressions: %d bits"
 msgstr ""
 
-#: dwarf2expr.c:182
+#: dwarf2expr.c:181
 msgid "dwarf expression stack underflow"
 msgstr ""
 
-#: dwarf2expr.c:192 dwarf2expr.c:292
+#: dwarf2expr.c:191 dwarf2expr.c:291
 #, possible-c-format
 msgid "Asked for position %d of stack, stack only has %d elements on it."
 msgstr ""
 
-#: dwarf2expr.c:206
+#: dwarf2expr.c:205
 msgid "integral type expected in DWARF expression"
 msgstr ""
 
-#: dwarf2expr.c:226
+#: dwarf2expr.c:225
 msgid "no unsigned variant found for type, while evaluating DWARF expression"
 msgstr ""
 
-#: dwarf2expr.c:248
+#: dwarf2expr.c:247
 msgid "no signed variant found for type, while evaluating DWARF expression"
 msgstr ""
 
-#: dwarf2expr.c:379
+#: dwarf2expr.c:378
 msgid "DWARF expression error: ran off end of buffer reading uleb128 value"
 msgstr ""
 
-#: dwarf2expr.c:391
+#: dwarf2expr.c:390
 msgid "DWARF expression error: ran off end of buffer reading sleb128 value"
 msgstr ""
 
-#: dwarf2expr.c:400
+#: dwarf2expr.c:399
 msgid "DWARF expression error: ran off end of buffer reading leb128 value"
 msgstr ""
 
-#: dwarf2expr.c:416
+#: dwarf2expr.c:415
 #, possible-c-format
 msgid ""
 "DWARF-2 expression error: `%s' operations must be used either alone or in "
 "conjunction with DW_OP_piece or DW_OP_bit_piece."
 msgstr ""
 
-#: dwarf2expr.c:450
+#: dwarf2expr.c:449
 msgid "Could not find type for DW_OP_GNU_const_type"
 msgstr ""
 
-#: dwarf2expr.c:452
+#: dwarf2expr.c:451
 msgid "DW_OP_GNU_const_type has different sizes for type and data"
 msgstr ""
 
-#: dwarf2expr.c:652
+#: dwarf2expr.c:651
 #, possible-c-format
 msgid "DWARF-2 expression error: Loop detected (%d)."
 msgstr ""
 
-#: dwarf2expr.c:827
+#: dwarf2expr.c:826
 msgid ""
 "DWARF-2 expression error: DW_OP_reg operations must be used either alone or "
 "in conjunction with DW_OP_piece or DW_OP_bit_piece."
 msgstr ""
 
-#: dwarf2expr.c:851 dwarf2loc.c:3012
+#: dwarf2expr.c:850 dwarf2loc.c:3024
 msgid "DW_OP_implicit_value: too few bytes available."
 msgstr ""
 
-#: dwarf2expr.c:871
+#: dwarf2expr.c:870
 msgid ""
 "DWARF-2 expression error: DW_OP_GNU_implicit_pointer is not allowed in frame "
 "context"
 msgstr ""
 
-#: dwarf2expr.c:963
+#: dwarf2expr.c:962
 msgid "Not implemented: computing frame base using explicit value operator"
 msgstr ""
 
-#: dwarf2expr.c:993
+#: dwarf2expr.c:992
 #, possible-c-format
 msgid "Not enough elements for DW_OP_swap.  Need 2, have %d."
 msgstr ""
 
-#: dwarf2expr.c:1013
+#: dwarf2expr.c:1012
 #, possible-c-format
 msgid "Not enough elements for DW_OP_rot.  Need 3, have %d."
 msgstr ""
 
-#: dwarf2expr.c:1127
+#: dwarf2expr.c:1126
 msgid "Incompatible types on DWARF stack"
 msgstr ""
 
-#: dwarf2expr.c:1250
+#: dwarf2expr.c:1249
 msgid "Can't be reached."
 msgstr ""
 
-#: dwarf2expr.c:1336
+#: dwarf2expr.c:1335
 msgid ""
 "DWARF-2 expression error: DW_OP_GNU_uninit must always be the very last op."
 msgstr ""
 
-#: dwarf2expr.c:1370
+#: dwarf2expr.c:1369
 msgid "DW_OP_GNU_entry_value: too few bytes available."
 msgstr ""
 
-#: dwarf2expr.c:1397
+#: dwarf2expr.c:1396
 msgid ""
 "DWARF-2 expression error: DW_OP_GNU_entry_value is supported only for single "
 "DW_OP_reg* or for DW_OP_breg*(0)+DW_OP_deref*"
 msgstr ""
 
-#: dwarf2expr.c:1473
+#: dwarf2expr.c:1472
 msgid "DW_OP_GNU_reinterpret has wrong size"
 msgstr ""
 
-#: dwarf2expr.c:1482
+#: dwarf2expr.c:1487
 #, possible-c-format
 msgid "Unhandled dwarf expression opcode 0x%x"
 msgstr ""
 
-#: dwarf2expr.c:1508 dwarf2expr.c:1516 dwarf2expr.c:1524 dwarf2expr.c:1532
-#: dwarf2expr.c:1540 dwarf2expr.c:1569
+#: dwarf2expr.c:1513 dwarf2expr.c:1521 dwarf2expr.c:1529 dwarf2expr.c:1537
+#: dwarf2expr.c:1545 dwarf2expr.c:1574
 #, possible-c-format
 msgid "%s is invalid in this context"
 msgstr ""
 
-#: dwarf2expr.c:1548
+#: dwarf2expr.c:1553
 msgid "Support for typed DWARF is not supported in this context"
 msgstr ""
 
-#: dwarf2expr.c:1561
+#: dwarf2expr.c:1566
 msgid "Support for DW_OP_GNU_entry_value is unimplemented"
 msgstr ""
 
-#: dwarf2-frame.c:338
+#: dwarf2-frame.c:334
 #, possible-c-format
 msgid ""
 "incomplete CFI data; DW_CFA_restore unspecified\n"
@@ -8448,17 +8693,17 @@ msgstr ""
 #. This is actually invalid DWARF, but if we ever do run across
 #. it somehow, we might as well support it.  So, instead, report
 #. it as unimplemented.
-#: dwarf2-frame.c:397
+#: dwarf2-frame.c:393
 msgid ""
 "Not implemented: computing unwound register using explicit value operator"
 msgstr ""
 
-#: dwarf2-frame.c:529
+#: dwarf2-frame.c:525
 #, possible-c-format
 msgid "bad CFI data; mismatched DW_CFA_restore_state at %s"
 msgstr ""
 
-#: dwarf2-frame.c:688
+#: dwarf2-frame.c:684
 msgid "Unknown CFI encountered."
 msgstr ""
 
@@ -8466,164 +8711,164 @@ msgstr ""
 msgid "Could not compute CFA; needed to translate this expression"
 msgstr ""
 
-#: dwarf2-frame.c:937 dwarf2loc.c:2306 dwarf2loc.c:2748
+#: dwarf2-frame.c:937 dwarf2loc.c:2269 dwarf2loc.c:2760
 #, possible-c-format
 msgid "Unable to access DWARF register number %d"
 msgstr ""
 
-#: dwarf2-frame.c:961 dwarf2-frame.c:1127
+#: dwarf2-frame.c:955 dwarf2-frame.c:1121
 msgid "Unknown CFA rule."
 msgstr ""
 
-#: dwarf2-frame.c:1184
+#: dwarf2-frame.c:1178
 #, possible-c-format
 msgid "incomplete CFI data; unspecified registers (e.g., %s) at %s"
 msgstr ""
 
-#: dwarf2-frame.c:1381
+#: dwarf2-frame.c:1375
 msgid "Unknown register rule."
 msgstr ""
 
-#: dwarf2-frame.c:1511
+#: dwarf2-frame.c:1505
 msgid "cfa not available for record btrace target"
 msgstr ""
 
-#: dwarf2-frame.c:1517
+#: dwarf2-frame.c:1511
 msgid ""
 "can't compute CFA for this frame: required registers or memory are "
 "unavailable"
 msgstr ""
 
-#: dwarf2-frame.c:1522
+#: dwarf2-frame.c:1516
 msgid "can't compute CFA for this frame: frame base not available"
 msgstr ""
 
-#: dwarf2-frame.c:1595
+#: dwarf2-frame.c:1589
 msgid "Unsupported address size"
 msgstr ""
 
-#: dwarf2-frame.c:1612
+#: dwarf2-frame.c:1606
 msgid "Unsupported encoding: DW_EH_PE_indirect"
 msgstr ""
 
-#: dwarf2-frame.c:1645 dwarf2-frame.c:1693
+#: dwarf2-frame.c:1639 dwarf2-frame.c:1687
 msgid "Invalid or unsupported encoding"
 msgstr ""
 
-#: dwarf2-frame.c:1903
+#: dwarf2-frame.c:1897
 msgid "Found a CIE when not expecting it."
 msgstr ""
 
-#: dwarf2-frame.c:2076
+#: dwarf2-frame.c:2071
 msgid "Found an FDE when not expecting it."
 msgstr ""
 
-#: dwarf2-frame.c:2217
+#: dwarf2-frame.c:2214
 #, possible-c-format
 msgid "Corrupt data in %s:%s; align 4 workaround apparently succeeded"
 msgstr ""
 
-#: dwarf2-frame.c:2224
+#: dwarf2-frame.c:2221
 #, possible-c-format
 msgid "Corrupt data in %s:%s; align 8 workaround apparently succeeded"
 msgstr ""
 
-#: dwarf2-frame.c:2232
+#: dwarf2-frame.c:2229
 #, possible-c-format
 msgid "Corrupt data in %s:%s"
 msgstr ""
 
-#: dwarf2-frame.c:2323
+#: dwarf2-frame.c:2320
 #, possible-c-format
 msgid "skipping .eh_frame info of %s: %s"
 msgstr ""
 
-#: dwarf2-frame.c:2363
+#: dwarf2-frame.c:2360
 #, possible-c-format
 msgid "skipping .debug_frame info of %s: %s"
 msgstr ""
 
-#: dwarf2loc.c:97
+#: dwarf2loc.c:91
 msgid "access outside bounds of object referenced via synthetic pointer"
 msgstr ""
 
-#: dwarf2loc.c:257
+#: dwarf2loc.c:251
 msgid "dwarf2_find_location_expression: Corrupted DWARF expression."
 msgstr ""
 
-#: dwarf2loc.c:359
+#: dwarf2loc.c:354
 msgid "frame address is not available."
 msgstr ""
 
-#: dwarf2loc.c:431
+#: dwarf2loc.c:428
 #, possible-c-format
 msgid "Could not find the frame base for \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:521
+#: dwarf2loc.c:518
 #, possible-c-format
 msgid "Entry values and tail call frames debugging is %s.\n"
 msgstr ""
 
-#: dwarf2loc.c:550
+#: dwarf2loc.c:547
 #, possible-c-format
 msgid "DW_AT_GNU_call_site_target is not specified at %s in %s"
 msgstr ""
 
-#: dwarf2loc.c:563
+#: dwarf2loc.c:560
 #, possible-c-format
 msgid ""
 "DW_AT_GNU_call_site_target DWARF block resolving requires known frame which "
 "is currently not available at %s in %s"
 msgstr ""
 
-#: dwarf2loc.c:597
+#: dwarf2loc.c:594
 #, possible-c-format
 msgid "Cannot find function \"%s\" for a call site target at %s in %s"
 msgstr ""
 
-#: dwarf2loc.c:611
+#: dwarf2loc.c:608
 msgid "invalid call site target kind"
 msgstr ""
 
-#: dwarf2loc.c:627
+#: dwarf2loc.c:624
 #, possible-c-format
 msgid ""
 "DW_TAG_GNU_call_site resolving failed to find function name for address %s"
 msgstr ""
 
-#: dwarf2loc.c:696
+#: dwarf2loc.c:693
 #, possible-c-format
 msgid ""
 "DW_OP_GNU_entry_value resolving has found function \"%s\" at %s can call "
 "itself via tail calls"
 msgstr ""
 
-#: dwarf2loc.c:865
+#: dwarf2loc.c:862
 #, possible-c-format
 msgid "Unable to find function for PC %s"
 msgstr ""
 
-#: dwarf2loc.c:964
+#: dwarf2loc.c:961
 #, possible-c-format
 msgid ""
 "There are no unambiguously determinable intermediate callers or callees "
 "between caller function \"%s\" at %s and callee function \"%s\" at %s"
 msgstr ""
 
-#: dwarf2loc.c:1068
+#: dwarf2loc.c:1065
 #, possible-c-format
 msgid ""
 "DW_OP_GNU_entry_value resolving callee gdbarch %s (of %s (%s)) does not "
 "match caller gdbarch %s"
 msgstr ""
 
-#: dwarf2loc.c:1082
+#: dwarf2loc.c:1079
 #, possible-c-format
 msgid "DW_OP_GNU_entry_value resolving requires caller of %s (%s)"
 msgstr ""
 
-#: dwarf2loc.c:1099
+#: dwarf2loc.c:1096
 #, possible-c-format
 msgid ""
 "DW_OP_GNU_entry_value resolving expects callee %s at %s but the called frame "
@@ -8632,294 +8877,290 @@ msgstr ""
 
 #. DW_TAG_GNU_call_site_parameter will be missing just if GCC could not
 #. determine its value.
-#: dwarf2loc.c:1125
+#: dwarf2loc.c:1122
 #, possible-c-format
 msgid "Cannot find matching parameter at DW_TAG_GNU_call_site %s at %s"
 msgstr ""
 
-#: dwarf2loc.c:1161 dwarf2loc.c:1208
+#: dwarf2loc.c:1158 dwarf2loc.c:1205
 msgid "Cannot resolve DW_AT_GNU_call_site_data_value"
 msgstr ""
 
-#: dwarf2loc.c:1384
+#: dwarf2loc.c:1250
+msgid "Location address is not set."
+msgstr ""
+
+#: dwarf2loc.c:1387
 msgid ""
 "DWARF-2 expression error: DW_OP_GNU_entry_value is supported only for single "
 "DW_OP_reg* or for DW_OP_fbreg(*)"
 msgstr ""
 
-#: dwarf2loc.c:1622
+#: dwarf2loc.c:1625
 msgid "Should not be able to create a lazy value with an enclosing type"
 msgstr ""
 
-#: dwarf2loc.c:1714
+#: dwarf2loc.c:1717
 #, possible-c-format
 msgid "Unable to access DWARF register number %s"
 msgstr ""
 
-#: dwarf2loc.c:1771 dwarf2loc.c:2409
+#: dwarf2loc.c:1774 dwarf2loc.c:2376
 msgid "invalid location type"
 msgstr ""
 
-#: dwarf2loc.c:1894
+#: dwarf2loc.c:1900
 msgid ""
 "Can't do read-modify-write to update bitfield; containing word has been "
 "optimized out"
 msgstr ""
 
-#: dwarf2loc.c:1899
+#: dwarf2loc.c:1905
 msgid ""
 "Can't do read-modify-write to update bitfield; containing word is unavailable"
 msgstr ""
 
-#: dwarf2loc.c:1914
+#: dwarf2loc.c:1920
 #, possible-c-format
 msgid "Unable to write to DWARF register number %s"
 msgstr ""
 
-#: dwarf2loc.c:2091
+#: dwarf2loc.c:2049
 msgid "Invalid use of DW_OP_GNU_implicit_pointer"
 msgstr ""
 
-#: dwarf2loc.c:2303
+#: dwarf2loc.c:2266
 msgid "cannot use offset on synthetic pointer to register"
 msgstr ""
 
-#: dwarf2loc.c:2729
+#: dwarf2loc.c:2745
 #, possible-c-format
 msgid "DWARF operator %s cannot be translated to an agent expression"
 msgstr ""
 
-#: dwarf2loc.c:2732
+#: dwarf2loc.c:2748
 #, possible-c-format
 msgid ""
 "Unknown DWARF operator 0x%02x cannot be translated to an agent expression"
 msgstr ""
 
-#: dwarf2loc.c:3014
+#: dwarf2loc.c:3026
 #, possible-c-format
 msgid "Cannot translate DW_OP_implicit_value of %d bytes"
 msgstr ""
 
-#: dwarf2loc.c:3096
-msgid "No block found for address"
-msgstr ""
-
-#: dwarf2loc.c:3101
-msgid "No function found for block"
-msgstr ""
-
-#: dwarf2loc.c:3158
-#, possible-c-format
-msgid "Unsupported size %d in %s"
-msgstr ""
-
-#: dwarf2loc.c:3346
+#: dwarf2loc.c:3388
 msgid "Cannot translate empty pieces to agent expressions"
 msgstr ""
 
-#: dwarf2loc.c:3359
+#: dwarf2loc.c:3401
 msgid "Expression pieces exceed word size"
 msgstr ""
 
-#: dwarf2loc.c:3447
+#: dwarf2loc.c:3489
 msgid "invalid label"
 msgstr ""
 
-#: dwarf2loc.c:3531 dwarf2loc.c:3540
+#: dwarf2loc.c:3573 dwarf2loc.c:3582
 #, possible-c-format
 msgid "a variable in $%s"
 msgstr ""
 
-#: dwarf2loc.c:3561
+#: dwarf2loc.c:3603
 #, possible-c-format
 msgid "No block found for address for symbol \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:3567
+#: dwarf2loc.c:3609
 #, possible-c-format
 msgid "No function found for block for symbol \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:3580
+#: dwarf2loc.c:3622
 #, possible-c-format
 msgid "Unexpected opcode after DW_OP_breg%u for symbol \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:3598
+#: dwarf2loc.c:3640
 #, possible-c-format
 msgid "a variable at frame base reg $%s offset %s+%s"
 msgstr ""
 
-#: dwarf2loc.c:3610
+#: dwarf2loc.c:3652
 #, possible-c-format
 msgid "a variable at offset %s from base reg $%s"
 msgstr ""
 
-#: dwarf2loc.c:3641 dwarf2loc.c:3664
+#: dwarf2loc.c:3683 dwarf2loc.c:3706
 #, possible-c-format
 msgid ""
 "a thread-local variable at offset 0x%s in the thread-local storage for `%s'"
 msgstr ""
 
-#: dwarf2loc.c:3675
+#: dwarf2loc.c:3717
 #, possible-c-format
 msgid "the constant %d"
 msgstr ""
 
-#: dwarf2loc.c:3709
+#: dwarf2loc.c:3751
 #, possible-c-format
 msgid "Unrecognized DWARF opcode 0x%02x at %ld"
 msgstr ""
 
-#: dwarf2loc.c:4071
+#: dwarf2loc.c:4113
 msgid ", and "
 msgstr ""
 
-#: dwarf2loc.c:4087
+#: dwarf2loc.c:4129
 msgid "a complex DWARF expression:\n"
 msgstr ""
 
-#: dwarf2loc.c:4109
+#: dwarf2loc.c:4151
 #, possible-c-format
 msgid "an empty %s-byte piece"
 msgstr ""
 
-#: dwarf2loc.c:4112
+#: dwarf2loc.c:4154
 #, possible-c-format
 msgid " [%s-byte piece]"
 msgstr ""
 
-#: dwarf2loc.c:4124
+#: dwarf2loc.c:4166
 #, possible-c-format
 msgid "an empty %s-bit piece"
 msgstr ""
 
-#: dwarf2loc.c:4128
+#: dwarf2loc.c:4170
 #, possible-c-format
 msgid " [%s-bit piece, offset %s bits]"
 msgstr ""
 
-#: dwarf2loc.c:4140
+#: dwarf2loc.c:4182
 #, possible-c-format
 msgid "Corrupted DWARF2 expression for \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:4276
+#: dwarf2loc.c:4234 dwarf2loc.c:4440
+#, possible-c-format
+msgid "symbol \"%s\" is optimized out"
+msgstr ""
+
+#: dwarf2loc.c:4339
 msgid "multi-location:\n"
 msgstr ""
 
-#: dwarf2loc.c:4303
+#: dwarf2loc.c:4366
 #, possible-c-format
 msgid "  Base address %s"
 msgstr ""
 
-#: dwarf2loc.c:4311
+#: dwarf2loc.c:4374
 #, possible-c-format
 msgid "Corrupted DWARF expression for symbol \"%s\"."
 msgstr ""
 
 #. (It would improve readability to print only the minimum
 #. necessary digits of the second number of the range.)
-#: dwarf2loc.c:4326
+#: dwarf2loc.c:4392
 #, possible-c-format
 msgid "  Range %s-%s: "
 msgstr ""
 
-#: dwarf2loc.c:4378
+#: dwarf2loc.c:4468
 msgid "Set entry values and tail call frames debugging."
 msgstr ""
 
-#: dwarf2loc.c:4380
+#: dwarf2loc.c:4470
 msgid "Show entry values and tail call frames debugging."
 msgstr ""
 
-#: dwarf2loc.c:4382
+#: dwarf2loc.c:4472
 msgid ""
 "When non-zero, the process of determining parameter values from function "
 "entry point and tail call frames will be printed."
 msgstr ""
 
-#: dwarf2read.c:1362
+#: dwarf2read.c:1359
 #, possible-c-format
 msgid "The upper bound on the age of cached dwarf2 compilation units is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:1857
+#: dwarf2read.c:1854
 msgid "statement list doesn't fit in .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:1864
+#: dwarf2read.c:1861
 msgid ".debug_line section has line data without a file"
 msgstr ""
 
-#: dwarf2read.c:1871
+#: dwarf2read.c:1868
 msgid ".debug_line section has line program sequence without an end"
 msgstr ""
 
-#: dwarf2read.c:1878
+#: dwarf2read.c:1875
 msgid "location expression too complex"
 msgstr ""
 
-#: dwarf2read.c:1886
+#: dwarf2read.c:1883
 #, possible-c-format
 msgid "const value length mismatch for '%s', got %d, expected %d"
 msgstr ""
 
-#: dwarf2read.c:1894
+#: dwarf2read.c:1891
 #, possible-c-format
 msgid "debug info runs off end of %s section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:1904
+#: dwarf2read.c:1901
 #, possible-c-format
 msgid ""
 "macro debug info contains a malformed macro definition:\n"
 "`%s'"
 msgstr ""
 
-#: dwarf2read.c:1913
+#: dwarf2read.c:1910
 #, possible-c-format
 msgid "invalid attribute class or form for '%s' in '%s'"
 msgstr ""
 
-#: dwarf2read.c:2237
+#: dwarf2read.c:2234
 #, possible-c-format
 msgid ""
 "Dwarf Error: DWP format V2 with relocations is not supported in section %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:2281
+#: dwarf2read.c:2278
 #, possible-c-format
 msgid "Dwarf Error: Can't read DWARF data in section %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:2411
+#: dwarf2read.c:2408
 #, possible-c-format
 msgid "could not read '.gnu_debugaltlink' section: %s"
 msgstr ""
 
-#: dwarf2read.c:2450
+#: dwarf2read.c:2447
 #, possible-c-format
 msgid "could not find '.gnu_debugaltlink' file for %s"
 msgstr ""
 
-#: dwarf2read.c:2857
+#: dwarf2read.c:2856
 #, possible-c-format
 msgid ".gdb_index address table has invalid range (%s - %s)"
 msgstr ""
 
-#: dwarf2read.c:2865
+#: dwarf2read.c:2864
 #, possible-c-format
 msgid ".gdb_index address table has invalid CU number %u"
 msgstr ""
 
-#: dwarf2read.c:3023
+#: dwarf2read.c:3021
 #, possible-c-format
 msgid "Skipping obsolete .gdb_index section in %s."
 msgstr ""
 
-#: dwarf2read.c:3042
+#: dwarf2read.c:3040
 #, possible-c-format
 msgid ""
 "Skipping deprecated .gdb_index section in %s.\n"
@@ -8927,284 +9168,286 @@ msgid ""
 "to use the section anyway."
 msgstr ""
 
-#: dwarf2read.c:3136
+#: dwarf2read.c:3134
 #, possible-c-format
 msgid "could not read '.gdb_index' section from %s; skipping"
 msgstr ""
 
-#: dwarf2read.c:3533 dwarf2read.c:3952
+#: dwarf2read.c:3535 dwarf2read.c:3950
 #, possible-c-format
 msgid ".gdb_index entry has bad CU index [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:3655
+#: dwarf2read.c:3653
 #, possible-c-format
 msgid "  Number of read CUs: %d\n"
 msgstr ""
 
-#: dwarf2read.c:3656
+#: dwarf2read.c:3654
 #, possible-c-format
 msgid "  Number of unread CUs: %d\n"
 msgstr ""
 
-#: dwarf2read.c:4011
+#: dwarf2read.c:4010
 #, possible-c-format
 msgid "(Internal error: pc %s in read in CU, but not in symtab.)"
 msgstr ""
 
-#: dwarf2read.c:4255
+#: dwarf2read.c:4256
 msgid "read_comp_unit_head: dwarf from non elf file"
 msgstr ""
 
-#: dwarf2read.c:4290
+#: dwarf2read.c:4291
 #, possible-c-format
 msgid ""
 "Dwarf Error: wrong version in compilation unit header (is %d, should be 2, "
 "3, or 4) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:4296
+#: dwarf2read.c:4297
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad offset (0x%lx) in compilation unit header (offset 0x%lx + "
 "6) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:4305
+#: dwarf2read.c:4306
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad length (0x%lx) in compilation unit header (offset 0x%lx + "
 "0) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:4647
+#: dwarf2read.c:4648
 #, possible-c-format
 msgid ""
 "debug type entry at offset 0x%x is duplicate to the entry at offset 0x%x, "
 "signature %s"
 msgstr ""
 
-#: dwarf2read.c:5070
+#: dwarf2read.c:5071
 #, possible-c-format
 msgid ""
 "Dwarf Error: signature mismatch %s vs %s while reading TU at offset 0x%x [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:5210
+#: dwarf2read.c:5211
 #, possible-c-format
 msgid "Dwarf Error: missing dwo_id for dwo_name %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:5499
+#: dwarf2read.c:5500
 #, possible-c-format
 msgid ""
 "compilation unit with DW_AT_GNU_dwo_name has children (offset 0x%x) [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:6622 dwarf2read.c:8104
+#: dwarf2read.c:6627 dwarf2read.c:8124
 #, possible-c-format
 msgid ""
 "Dwarf Error: DW_TAG_imported_unit is not supported in type units [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:6740
+#: dwarf2read.c:6745
 #, possible-c-format
 msgid "unhandled containing DIE tag %d for DIE at %d"
 msgstr ""
 
-#: dwarf2read.c:7088 dwarf2read.c:15358
+#: dwarf2read.c:7100 dwarf2read.c:15417
 msgid "malformed enumerator DIE ignored"
 msgstr ""
 
-#: dwarf2read.c:7126
+#: dwarf2read.c:7138
 #, possible-c-format
-msgid "Dwarf Error: Could not find abbrev number %d [in module %s]"
+msgid ""
+"Dwarf Error: Could not find abbrev number %d in %s at offset 0x%x [in module "
+"%s]"
 msgstr ""
 
-#: dwarf2read.c:7181 dwarf2read.c:15582
+#: dwarf2read.c:7195 dwarf2read.c:15641
 msgid "ignoring absolute DW_AT_sibling"
 msgstr ""
 
-#: dwarf2read.c:7189 dwarf2read.c:15590
+#: dwarf2read.c:7203 dwarf2read.c:15649
 msgid "DW_AT_sibling points backwards"
 msgstr ""
 
-#: dwarf2read.c:7274 dwarf2read.c:16093
+#: dwarf2read.c:7288 dwarf2read.c:16155
 #, possible-c-format
 msgid "Dwarf Error: Cannot handle %s in DWARF reader [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:7319
+#: dwarf2read.c:7333
 #, possible-c-format
 msgid "bug: psymtab for %s is already read in."
 msgstr ""
 
-#: dwarf2read.c:7326 mdebugread.c:284
+#: dwarf2read.c:7340 mdebugread.c:282
 #, possible-c-format
 msgid "Reading in symbols for %s..."
 msgstr ""
 
-#: dwarf2read.c:7354 mdebugread.c:297 psymtab.c:102 symfile.c:1225
+#: dwarf2read.c:7368 mdebugread.c:295 psymtab.c:101 symfile.c:1223
 msgid "done.\n"
 msgstr ""
 
-#: dwarf2read.c:7734
+#: dwarf2read.c:7749
 #, possible-c-format
 msgid "Symtab %s has objects from two different Go packages: %s and %s"
 msgstr ""
 
-#: dwarf2read.c:8227
+#: dwarf2read.c:8247
 #, possible-c-format
 msgid "Tag '%s' has unexpected children"
 msgstr ""
 
-#: dwarf2read.c:8438
+#: dwarf2read.c:8458
 msgid "template parameter missing DW_AT_type"
 msgstr ""
 
-#: dwarf2read.c:8454
+#: dwarf2read.c:8474
 msgid "template parameter missing DW_AT_const_value"
 msgstr ""
 
-#: dwarf2read.c:8668
+#: dwarf2read.c:8688
 #, possible-c-format
 msgid ""
 "Computed physname <%s> does not match demangled <%s> (from linkage <%s>) - "
 "DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8732
+#: dwarf2read.c:8752
 #, possible-c-format
 msgid "DIE at 0x%x has too many recursively imported declarations"
 msgstr ""
 
-#: dwarf2read.c:8777 dwarf2read.c:8868
+#: dwarf2read.c:8797 dwarf2read.c:8888
 #, possible-c-format
 msgid "Tag '%s' has no DW_AT_import"
 msgstr ""
 
-#: dwarf2read.c:8859
+#: dwarf2read.c:8879
 #, possible-c-format
 msgid "child DW_TAG_imported_declaration expected - DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8880
+#: dwarf2read.c:8900
 #, possible-c-format
 msgid ""
 "child DW_TAG_imported_declaration has unknown imported name - DIE at 0x%x "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9066
+#: dwarf2read.c:9086
 msgid "CU refers to both DW_AT_GNU_macros and DW_AT_macro_info"
 msgstr ""
 
-#: dwarf2read.c:9361
+#: dwarf2read.c:9377
 #, possible-c-format
 msgid ""
 "Dwarf Error: debug entry at offset 0x%x is missing its dwo_id [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9437
+#: dwarf2read.c:9453
 #, possible-c-format
 msgid "Multiple CUs in DWO file %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9625
+#: dwarf2read.c:9641
 #, possible-c-format
 msgid "Dwarf Error: unsupported DWP file version (%s) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9631
+#: dwarf2read.c:9647
 #, possible-c-format
 msgid ""
 "Dwarf Error: number of slots in DWP hash table (%s) is not power of 2 [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:9653
+#: dwarf2read.c:9669
 #, possible-c-format
 msgid "Empty DWP but nr_slots,nr_units,nr_columns not all zero [in modules %s]"
 msgstr ""
 
-#: dwarf2read.c:9677
+#: dwarf2read.c:9693
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, too few columns in section table [in module "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:9683
+#: dwarf2read.c:9699
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, too many columns in section table [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:9695
+#: dwarf2read.c:9711
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, bad section id %d in section table [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:9701
+#: dwarf2read.c:9717
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, duplicate section id %d in section table "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9713
+#: dwarf2read.c:9729
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, missing/duplicate DWO info/types section "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9720
+#: dwarf2read.c:9736
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, missing DWO abbrev section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9732
+#: dwarf2read.c:9748
 #, possible-c-format
 msgid "Dwarf Error: DWP index section is corrupt (too small) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9884
+#: dwarf2read.c:9900
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, section number too large [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9892
+#: dwarf2read.c:9908
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, invalid section found [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9902
+#: dwarf2read.c:9918
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, missing DWO sections [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9908
+#: dwarf2read.c:9924
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, too many DWO sections [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:10015
+#: dwarf2read.c:10031
 #, possible-c-format
 msgid ""
 "Dwarf Error: Bad DWP V2 section info, doesn't fit in section %s [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:10260
+#: dwarf2read.c:10276
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, lookup didn't terminate [in module %s]"
 msgstr ""
@@ -9212,109 +9455,109 @@ msgstr ""
 #. Technically speaking, we should try to limp along, but this is
 #. pretty bizarre.  We use pulongest here because that's the established
 #. portability solution (e.g, we cannot use %u for uint32_t).
-#: dwarf2read.c:10695
+#: dwarf2read.c:10711
 #, possible-c-format
 msgid ""
 "Dwarf Error: DWP file CU version %s doesn't match TU version %s [in DWP file "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:10856
+#: dwarf2read.c:10872
 #, possible-c-format
 msgid ""
 "Could not find DWO %s %s(%s)%s referenced by %s at offset 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11040
+#: dwarf2read.c:11056
 #, possible-c-format
 msgid "DIE 0x%x and its abstract origin 0x%x have different tags"
 msgstr ""
 
-#: dwarf2read.c:11083
+#: dwarf2read.c:11099
 #, possible-c-format
 msgid "Child DIE 0x%x and its abstract origin 0x%x have different tags"
 msgstr ""
 
-#: dwarf2read.c:11088
+#: dwarf2read.c:11104
 #, possible-c-format
 msgid "Child DIE 0x%x and its abstract origin 0x%x have different parents"
 msgstr ""
 
-#: dwarf2read.c:11101
+#: dwarf2read.c:11117
 #, possible-c-format
 msgid ""
 "Multiple children of DIE 0x%x refer to DIE 0x%x as their abstract origin"
 msgstr ""
 
-#: dwarf2read.c:11169
+#: dwarf2read.c:11186
 #, possible-c-format
 msgid "missing name for subprogram DIE at %d"
 msgstr ""
 
-#: dwarf2read.c:11180
+#: dwarf2read.c:11197
 #, possible-c-format
 msgid "cannot get low and high bounds for subprogram DIE at %d"
 msgstr ""
 
-#: dwarf2read.c:11381
+#: dwarf2read.c:11401
 #, possible-c-format
 msgid "missing DW_AT_low_pc for DW_TAG_GNU_call_site DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11397
+#: dwarf2read.c:11418
 #, possible-c-format
 msgid "Duplicate PC %s for DW_TAG_GNU_call_site DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11413
+#: dwarf2read.c:11434
 #, possible-c-format
 msgid ""
 "Tag %d is not DW_TAG_GNU_call_site_parameter in DW_TAG_GNU_call_site child "
 "DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11472
+#: dwarf2read.c:11493
 #, possible-c-format
 msgid ""
 "Cannot find function owning DW_TAG_GNU_call_site DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11518
+#: dwarf2read.c:11539
 #, possible-c-format
 msgid ""
 "DW_AT_GNU_call_site_target target DIE has invalid physname, for referencing "
 "DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11531
+#: dwarf2read.c:11552
 #, possible-c-format
 msgid ""
 "DW_AT_GNU_call_site_target target DIE has invalid low pc, for referencing "
 "DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11540
+#: dwarf2read.c:11564
 #, possible-c-format
 msgid ""
 "DW_TAG_GNU_call_site DW_AT_GNU_call_site_target is neither block nor "
 "reference, for DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11580
+#: dwarf2read.c:11604
 #, possible-c-format
 msgid ""
 "DW_AT_abstract_origin offset is not in CU for DW_TAG_GNU_call_site child DIE "
 "0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11592
+#: dwarf2read.c:11616
 #, possible-c-format
 msgid ""
 "No DW_FORM_block* DW_AT_location for DW_TAG_GNU_call_site child DIE 0x%x [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:11610
+#: dwarf2read.c:11634
 #, possible-c-format
 msgid ""
 "Only single DW_OP_reg or DW_OP_fbreg is supported for DW_FORM_block* "
@@ -9322,148 +9565,148 @@ msgid ""
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:11623
+#: dwarf2read.c:11647
 #, possible-c-format
 msgid ""
 "No DW_FORM_block* DW_AT_GNU_call_site_value for DW_TAG_GNU_call_site child "
 "DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11641
+#: dwarf2read.c:11665
 #, possible-c-format
 msgid ""
 "No DW_FORM_block* DW_AT_GNU_call_site_data_value for DW_TAG_GNU_call_site "
 "child DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11685
+#: dwarf2read.c:11710
 #, possible-c-format
 msgid "Offset %d out of bounds for DW_AT_ranges attribute"
 msgstr ""
 
-#: dwarf2read.c:11739 dwarf2read.c:12075
+#: dwarf2read.c:11764 dwarf2read.c:12110
 msgid "Invalid .debug_ranges data (no base address)"
 msgstr ""
 
-#: dwarf2read.c:11747 dwarf2read.c:12084
+#: dwarf2read.c:11772 dwarf2read.c:12119
 msgid "Invalid .debug_ranges data (inverted range)"
 msgstr ""
 
-#: dwarf2read.c:11764 dwarf2read.c:12101
+#: dwarf2read.c:11789 dwarf2read.c:12136
 #, possible-c-format
 msgid ".debug_ranges entry has start address of zero [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12042
+#: dwarf2read.c:12077
 #, possible-c-format
 msgid "Offset %lu out of bounds for DW_AT_ranges attribute"
 msgstr ""
 
-#: dwarf2read.c:12539
+#: dwarf2read.c:12576
 #, possible-c-format
 msgid "unsupported accessibility %d"
 msgstr ""
 
-#: dwarf2read.c:12551
+#: dwarf2read.c:12588
 msgid "unexpected virtuality in component of Ada type"
 msgstr ""
 
-#: dwarf2read.c:12604
+#: dwarf2read.c:12641
 msgid "unexpected member function in Ada type"
 msgstr ""
 
-#: dwarf2read.c:12687
+#: dwarf2read.c:12724
 #, possible-c-format
 msgid "member function type missing for '%s'"
 msgstr ""
 
-#: dwarf2read.c:12778
+#: dwarf2read.c:12815
 #, possible-c-format
 msgid ""
 "Member function \"%s\" (offset %d) is virtual but the vtable offset is not "
 "specified"
 msgstr ""
 
-#: dwarf2read.c:12797
+#: dwarf2read.c:12834
 msgid "unexpected member functions in Ada type"
 msgstr ""
 
-#: dwarf2read.c:13128
+#: dwarf2read.c:13165
 #, possible-c-format
 msgid "virtual function table pointer not found when defining class '%s'"
 msgstr ""
 
-#: dwarf2read.c:13568
+#: dwarf2read.c:13609
 msgid "DW_AT_byte_size for array type smaller than the total size of elements"
 msgstr ""
 
-#: dwarf2read.c:13789
+#: dwarf2read.c:13830
 #, possible-c-format
 msgid ""
 "Variable in common block has DW_AT_data_member_location - DIE at 0x%x [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:13912
+#: dwarf2read.c:13953
 #, possible-c-format
 msgid "DW_TAG_module has no name, offset 0x%x"
 msgstr ""
 
-#: dwarf2read.c:14023
+#: dwarf2read.c:14064
 #, possible-c-format
 msgid "invalid pointer size %d"
 msgstr ""
 
-#: dwarf2read.c:14419
+#: dwarf2read.c:14478
 #, possible-c-format
 msgid "Self-referential DW_TAG_typedef - DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14456
+#: dwarf2read.c:14515
 msgid "DW_AT_name missing from DW_TAG_base_type"
 msgstr ""
 
-#: dwarf2read.c:14509
+#: dwarf2read.c:14568
 #, possible-c-format
 msgid "unsupported DW_AT_encoding: '%s'"
 msgstr ""
 
-#: dwarf2read.c:14667
+#: dwarf2read.c:14726
 #, possible-c-format
 msgid "Missing DW_AT_lower_bound - DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14909
+#: dwarf2read.c:14968
 #, possible-c-format
 msgid "Dwarf Error: could not find abbrev number %d [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15342
+#: dwarf2read.c:15401
 #, possible-c-format
 msgid ""
 "DW_TAG_typedef has childen - GCC PR debug/47510 bug - DIE at 0x%x [in module "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:15657
+#: dwarf2read.c:15716
 #, possible-c-format
 msgid "DW_AT_low_pc %s is zero for DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15668
+#: dwarf2read.c:15727
 #, possible-c-format
 msgid ""
 "DW_AT_low_pc %s is not < DW_AT_high_pc %s for DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15723
+#: dwarf2read.c:15782
 #, possible-c-format
 msgid ""
 "Dwarf Error: Type Unit at offset 0x%lx contains external reference to offset "
 "0x%lx [in module %s].\n"
 msgstr ""
 
-#: dwarf2read.c:15758
+#: dwarf2read.c:15817
 #, possible-c-format
 msgid "could not find partial DIE 0x%x in cache [from module %s]\n"
 msgstr ""
@@ -9472,120 +9715,120 @@ msgstr ""
 #. Later we can turn this into a complaint.
 #. For now flag a hard error.
 #. Later we can turn this into a complaint if warranted.
-#: dwarf2read.c:16067 dwarf2read.c:16079
+#: dwarf2read.c:16129 dwarf2read.c:16141
 #, possible-c-format
 msgid "Dwarf Error: %s found in non-DWO CU [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16114
+#: dwarf2read.c:16176
 #, possible-c-format
 msgid "Suspicious DW_AT_byte_size value treated as zero instead of %s"
 msgstr ""
 
-#: dwarf2read.c:16199
+#: dwarf2read.c:16261
 #, possible-c-format
 msgid "read_address: bad switch, signed [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16218
+#: dwarf2read.c:16280
 #, possible-c-format
 msgid "read_address: bad switch, unsigned [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16312
+#: dwarf2read.c:16374
 msgid "intermixed 32-bit and 64-bit DWARF sections"
 msgstr ""
 
-#: dwarf2read.c:16349
+#: dwarf2read.c:16411
 #, possible-c-format
 msgid "read_offset_1: bad switch [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16388
+#: dwarf2read.c:16450
 #, possible-c-format
 msgid "DW_FORM_strp used without .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16391
+#: dwarf2read.c:16453
 #, possible-c-format
 msgid "DW_FORM_strp pointing outside of .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16411
+#: dwarf2read.c:16473
 #, possible-c-format
 msgid "DW_FORM_GNU_strp_alt used without .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16415
+#: dwarf2read.c:16477
 #, possible-c-format
 msgid ""
 "DW_FORM_GNU_strp_alt pointing outside of .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16506
+#: dwarf2read.c:16568
 #, possible-c-format
 msgid "DW_FORM_addr_index used without .debug_addr section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16509
+#: dwarf2read.c:16571
 #, possible-c-format
 msgid ""
 "DW_FORM_addr_index pointing outside of .debug_addr section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16639
+#: dwarf2read.c:16701
 #, possible-c-format
 msgid ""
 "%s used without .debug_str.dwo section in CU at offset 0x%lx [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16643
+#: dwarf2read.c:16705
 #, possible-c-format
 msgid ""
 "%s used without .debug_str_offsets.dwo section in CU at offset 0x%lx [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:16647
+#: dwarf2read.c:16709
 #, possible-c-format
 msgid ""
 "%s pointing outside of .debug_str_offsets.dwo section in CU at offset 0x%lx "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16657
+#: dwarf2read.c:16719
 #, possible-c-format
 msgid ""
 "Offset from %s pointing outside of .debug_str.dwo section in CU at offset 0x%"
 "lx [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16954
+#: dwarf2read.c:17019
 msgid "missing .debug_line.dwo section"
 msgstr ""
 
-#: dwarf2read.c:16956
+#: dwarf2read.c:17021
 msgid "missing .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:17009
+#: dwarf2read.c:17074
 msgid "invalid maximum_ops_per_instruction in `.debug_line' section"
 msgstr ""
 
-#: dwarf2read.c:17059
+#: dwarf2read.c:17124
 msgid "line number info header doesn't fit in `.debug_line' section"
 msgstr ""
 
-#: dwarf2read.c:17283
+#: dwarf2read.c:17446
 #, possible-c-format
 msgid ".debug_line address at offset 0x%lx is 0 [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:17320 dwarf2read.c:17329
+#: dwarf2read.c:17492 dwarf2read.c:17501
 msgid "mangled .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:17743
+#: dwarf2read.c:17933
 msgid "file index out of range"
 msgstr ""
 
@@ -9593,364 +9836,364 @@ msgstr ""
 #. trash data, but since we must specifically ignore things
 #. we don't recognize, there is nothing else we should do at
 #. this point.
-#: dwarf2read.c:18032
+#: dwarf2read.c:18227
 #, possible-c-format
 msgid "unsupported tag: '%s'"
 msgstr ""
 
-#: dwarf2read.c:18197 dwarf2read.c:19603
+#: dwarf2read.c:18392 dwarf2read.c:19798
 #, possible-c-format
 msgid "unsupported const value attribute form: '%s'"
 msgstr ""
 
-#: dwarf2read.c:18316
+#: dwarf2read.c:18511
 #, possible-c-format
 msgid ""
 "Dwarf Error: Problem turning containing type into gdb type [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:18330
+#: dwarf2read.c:18525
 #, possible-c-format
 msgid "<unknown type in %s, CU 0x%x, DIE 0x%x>"
 msgstr ""
 
-#: dwarf2read.c:18382
+#: dwarf2read.c:18577
 #, possible-c-format
 msgid "Dwarf Error: Bad type attribute %s in DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:18505
+#: dwarf2read.c:18700
 #, possible-c-format
 msgid "unexpected tag in read_type_die: '%s'"
 msgstr ""
 
-#: dwarf2read.c:18721
+#: dwarf2read.c:18916
 #, possible-c-format
 msgid "template param type '%s' defined within parent '%s'"
 msgstr ""
 
-#: dwarf2read.c:19262
+#: dwarf2read.c:19457
 #, possible-c-format
 msgid "unsupported die ref attribute form: '%s'"
 msgstr ""
 
-#: dwarf2read.c:19284
+#: dwarf2read.c:19479
 #, possible-c-format
 msgid "Attribute value is not a constant (%s)"
 msgstr ""
 
-#: dwarf2read.c:19307
+#: dwarf2read.c:19502
 #, possible-c-format
 msgid "Dwarf Error: Expected reference attribute [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19381
+#: dwarf2read.c:19576
 #, possible-c-format
 msgid ""
 "Dwarf Error: Cannot find DIE at 0x%x referenced from DIE at 0x%x [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:19412 dwarf2read.c:19513
+#: dwarf2read.c:19607 dwarf2read.c:19708
 #, possible-c-format
 msgid "Dwarf Error: Cannot find DIE at 0x%x referenced in module %s"
 msgstr ""
 
-#: dwarf2read.c:19439
+#: dwarf2read.c:19634
 #, possible-c-format
 msgid ""
 "Dwarf Error: DIE at 0x%x referenced in module %s is neither DW_FORM_block* "
 "nor DW_FORM_exprloc"
 msgstr ""
 
-#: dwarf2read.c:19695 dwarf2read.c:19732
+#: dwarf2read.c:19890 dwarf2read.c:19927
 #, possible-c-format
 msgid ""
 "Dwarf Error: Cannot find signatured DIE %s referenced from DIE at 0x%x [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:19705 dwarf2read.c:19764
+#: dwarf2read.c:19900 dwarf2read.c:19959
 #, possible-c-format
 msgid ""
 "Dwarf Error: Problem reading signatured DIE %s referenced from DIE at 0x%x "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19754
+#: dwarf2read.c:19949
 #, possible-c-format
 msgid ""
 "Dwarf Error: Cannot build signatured type %s referenced from DIE at 0x%x [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:19797
+#: dwarf2read.c:19992
 #, possible-c-format
 msgid ""
 "Dwarf Error: DW_AT_signature has bad form %s in DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:20116
+#: dwarf2read.c:20311
 #, possible-c-format
 msgid "unsupported stack op: '%s'"
 msgstr ""
 
-#: dwarf2read.c:20119
+#: dwarf2read.c:20314
 #, possible-c-format
 msgid "unsupported stack op: '%02x'"
 msgstr ""
 
-#: dwarf2read.c:20131
+#: dwarf2read.c:20326
 msgid "location description stack overflow"
 msgstr ""
 
-#: dwarf2read.c:20138
+#: dwarf2read.c:20333
 msgid "location description stack underflow"
 msgstr ""
 
-#: dwarf2read.c:20203
+#: dwarf2read.c:20398
 #, possible-c-format
 msgid "bad file number in macro information (%d)"
 msgstr ""
 
-#: dwarf2read.c:20280
+#: dwarf2read.c:20474
 #, possible-c-format
 msgid ""
 "macro definition contains spaces in formal argument list:\n"
 "`%s'"
 msgstr ""
 
-#: dwarf2read.c:20504
+#: dwarf2read.c:20698
 #, possible-c-format
 msgid "invalid form 0x%x in `%s'"
 msgstr ""
 
-#: dwarf2read.c:20532
+#: dwarf2read.c:20726
 #, possible-c-format
 msgid "unrecognized DW_MACFINO opcode 0x%x"
 msgstr ""
 
-#: dwarf2read.c:20577
+#: dwarf2read.c:20771
 #, possible-c-format
 msgid "unrecognized version `%d' in .debug_macro section"
 msgstr ""
 
-#: dwarf2read.c:20719
+#: dwarf2read.c:20913
 #, possible-c-format
 msgid "debug info with no main source gives macro %s on line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:20721 dwarf2read.c:20730
+#: dwarf2read.c:20915 dwarf2read.c:20924
 msgid "definition"
 msgstr ""
 
-#: dwarf2read.c:20721 dwarf2read.c:20730
+#: dwarf2read.c:20915 dwarf2read.c:20924
 msgid "undefinition"
 msgstr ""
 
-#: dwarf2read.c:20728
+#: dwarf2read.c:20922
 #, possible-c-format
 msgid "debug info gives %s macro %s with %s line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:20729 dwarf2read.c:20760
+#: dwarf2read.c:20923 dwarf2read.c:20954
 msgid "command-line"
 msgstr ""
 
-#: dwarf2read.c:20729
+#: dwarf2read.c:20923
 msgid "in-file"
 msgstr ""
 
-#: dwarf2read.c:20731 dwarf2read.c:20761
+#: dwarf2read.c:20925 dwarf2read.c:20955
 msgid "zero"
 msgstr ""
 
-#: dwarf2read.c:20731 dwarf2read.c:20761
+#: dwarf2read.c:20925 dwarf2read.c:20955
 msgid "non-zero"
 msgstr ""
 
-#: dwarf2read.c:20758
+#: dwarf2read.c:20952
 #, possible-c-format
 msgid "debug info gives source %d included from %s at %s line %d"
 msgstr ""
 
-#: dwarf2read.c:20760
+#: dwarf2read.c:20954
 msgid "file"
 msgstr ""
 
-#: dwarf2read.c:20779
+#: dwarf2read.c:20971
 msgid "macro debug info has an unmatched `close_file' directive"
 msgstr ""
 
-#: dwarf2read.c:20805
+#: dwarf2read.c:20997
 msgid "no terminating 0-type entry for macros in `.debug_macinfo' section"
 msgstr ""
 
-#: dwarf2read.c:20849
+#: dwarf2read.c:21040
 msgid "recursive DW_MACRO_GNU_transparent_include in .debug_macro section"
 msgstr ""
 
-#: dwarf2read.c:20942
+#: dwarf2read.c:21132
 #, possible-c-format
 msgid "missing %s section"
 msgstr ""
 
-#: dwarf2read.c:21224
+#: dwarf2read.c:21412
 msgid "Location list used without specifying the CU base address."
 msgstr ""
 
-#: dwarf2read.c:21392
+#: dwarf2read.c:21580
 #, possible-c-format
 msgid ""
 "Dwarf Error: could not find partial DIE containing offset 0x%lx [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:21405
+#: dwarf2read.c:21593
 #, possible-c-format
 msgid "invalid dwarf2 offset %u"
 msgstr ""
 
-#: dwarf2read.c:21690
+#: dwarf2read.c:21889
 #, possible-c-format
 msgid "A problem internal to GDB: DIE 0x%x has type already set"
 msgstr ""
 
-#: dwarf2read.c:22428
+#: dwarf2read.c:22628
 msgid "Ada is not currently supported by the index"
 msgstr ""
 
-#: dwarf2read.c:22452
+#: dwarf2read.c:22652
 msgid "couldn't data write to file"
 msgstr ""
 
-#: dwarf2read.c:22561
+#: dwarf2read.c:22761
 msgid "Cannot use an index to create the index"
 msgstr ""
 
-#: dwarf2read.c:22564
+#: dwarf2read.c:22764
 msgid "Cannot make an index when the file has multiple .debug_types sections"
 msgstr ""
 
-#: dwarf2read.c:22578
+#: dwarf2read.c:22778
 #, possible-c-format
 msgid "Can't open `%s' for writing"
 msgstr ""
 
-#: dwarf2read.c:22739
+#: dwarf2read.c:22939
 msgid "usage: save gdb-index DIRECTORY"
 msgstr ""
 
-#: dwarf2read.c:22760
+#: dwarf2read.c:22960
 #, possible-c-format
 msgid "Error while writing index for `%s': "
 msgstr ""
 
-#: dwarf2read.c:22775
+#: dwarf2read.c:22975
 #, possible-c-format
 msgid "Whether to always disassemble DWARF expressions is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:22785
+#: dwarf2read.c:22985
 #, possible-c-format
 msgid "Whether to check \"physname\" is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:22799
+#: dwarf2read.c:22999
 msgid ""
 "Set DWARF 2 specific variables.\n"
 "Configure DWARF 2 variables such as the cache size"
 msgstr ""
 
 #. allow-unknown
-#: dwarf2read.c:22805
+#: dwarf2read.c:23005
 msgid ""
 "Show DWARF 2 specific variables\n"
 "Show DWARF 2 variables such as the cache size"
 msgstr ""
 
-#: dwarf2read.c:22812
+#: dwarf2read.c:23012
 msgid "Set the upper bound on the age of cached dwarf2 compilation units."
 msgstr ""
 
-#: dwarf2read.c:22813
+#: dwarf2read.c:23013
 msgid "Show the upper bound on the age of cached dwarf2 compilation units."
 msgstr ""
 
-#: dwarf2read.c:22814
+#: dwarf2read.c:23014
 msgid ""
 "A higher limit means that cached compilation units will be stored\n"
 "in memory longer, and more total memory will be used.  Zero disables\n"
 "caching, which can slow down startup."
 msgstr ""
 
-#: dwarf2read.c:22824
+#: dwarf2read.c:23024
 msgid "Set whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:22825
+#: dwarf2read.c:23025
 msgid "Show whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:22826
+#: dwarf2read.c:23026
 msgid ""
 "When enabled, DWARF expressions are always printed in an assembly-like\n"
 "syntax.  When disabled, expressions will be printed in a more\n"
 "conversational style, when possible."
 msgstr ""
 
-#: dwarf2read.c:22835
+#: dwarf2read.c:23035
 msgid "Set debugging of the dwarf2 reader."
 msgstr ""
 
-#: dwarf2read.c:22836
+#: dwarf2read.c:23036
 msgid "Show debugging of the dwarf2 reader."
 msgstr ""
 
-#: dwarf2read.c:22837
+#: dwarf2read.c:23037
 msgid ""
 "When enabled (non-zero), debugging messages are printed during dwarf2\n"
 "reading and symtab expansion.  A value of 1 (one) provides basic\n"
 "information.  A value greater than 1 provides more verbose information."
 msgstr ""
 
-#: dwarf2read.c:22845
+#: dwarf2read.c:23045
 msgid "Set debugging of the dwarf2 DIE reader."
 msgstr ""
 
-#: dwarf2read.c:22846
+#: dwarf2read.c:23046
 msgid "Show debugging of the dwarf2 DIE reader."
 msgstr ""
 
-#: dwarf2read.c:22847
+#: dwarf2read.c:23047
 msgid ""
 "When enabled (non-zero), DIEs are dumped after they are read in.\n"
 "The value is the maximum depth to print."
 msgstr ""
 
-#: dwarf2read.c:22854
+#: dwarf2read.c:23054
 msgid "Set cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:22855
+#: dwarf2read.c:23055
 msgid "Show cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:22856
+#: dwarf2read.c:23056
 msgid ""
 "When enabled, GDB's internal \"physname\" code is checked against\n"
 "the demangler."
 msgstr ""
 
-#: dwarf2read.c:22863
+#: dwarf2read.c:23063
 msgid "Set whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:22864
+#: dwarf2read.c:23064
 msgid "Show whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:22865
+#: dwarf2read.c:23065
 msgid ""
 "When enabled, deprecated .gdb_index sections are used anyway.\n"
 "Normally they are ignored either because of a missing feature or\n"
@@ -9958,69 +10201,65 @@ msgid ""
 "Warning: This option must be enabled before gdb reads the file."
 msgstr ""
 
-#: dwarf2read.c:22875
+#: dwarf2read.c:23075
 msgid ""
 "Save a gdb-index file.\n"
 "Usage: save gdb-index DIRECTORY"
 msgstr ""
 
-#: elfread.c:152
+#: elfread.c:151
 #, possible-c-format
 msgid "Loadable section \"%s\" outside of ELF segments"
 msgstr ""
 
-#: elfread.c:492
+#: elfread.c:497
 #, possible-c-format
 msgid "elf/stab section information %s without a preceding file symbol"
 msgstr ""
 
-#: elfread.c:504
+#: elfread.c:509
 #, possible-c-format
 msgid "duplicated elf/stab section information for %s"
 msgstr ""
 
 #. This case indicates buggy inferior program, the resolved address
 #. should never change.
-#: elfread.c:797
+#: elfread.c:805
 #, possible-c-format
 msgid ""
 "gnu-indirect-function \"%s\" has changed its resolved function_address from %"
 "s to %s"
 msgstr ""
 
-#: elfread.c:1050
+#: elfread.c:1058
 #, possible-c-format
 msgid "handle_inferior_event: Invalid gnu-indirect-function breakpoint type %d"
 msgstr ""
 
-#: elfread.c:1133 elfread.c:1144 elfread.c:1169 machoread.c:860
-#: machoread.c:878
+#: elfread.c:1141 elfread.c:1152 elfread.c:1177 machoread.c:857
+#: machoread.c:875
 #, possible-c-format
 msgid "Can't read symbols from %s: %s"
 msgstr ""
 
-#: elfread.c:1471
+#: elfread.c:1468
 #, possible-c-format
 msgid "elf/stab section information questionable for %s"
 msgstr ""
 
-#: elfread.c:1491
+#: elfread.c:1488
 #, possible-c-format
 msgid "elf/stab section information missing for %s"
 msgstr ""
 
-#: eval.c:310
+#: eval.c:327
 msgid "too many initializers"
 msgstr ""
 
-#: eval.c:314
+#: eval.c:331
 msgid "don't know which variant you want to set"
 msgstr ""
 
-#: eval.c:380
-msgid "tuple range index out of range"
-msgstr ""
-
 #: eval.c:392
 msgid "tuple index out of range"
 msgstr ""
@@ -10040,96 +10279,92 @@ msgstr ""
 msgid "Value of register %s not available."
 msgstr ""
 
-#: eval.c:953
+#: eval.c:948
 msgid "(power)set type with unknown size"
 msgstr ""
 
 #. different element modes.
-#: eval.c:988
+#: eval.c:971
 msgid "POWERSET tuple elements of different mode"
 msgstr ""
 
-#: eval.c:992
+#: eval.c:975
 msgid "incompatible POWERSET tuple elements"
 msgstr ""
 
-#: eval.c:995
+#: eval.c:978
 msgid "empty POWERSET tuple range"
 msgstr ""
 
-#: eval.c:999
+#: eval.c:982
 msgid "POWERSET tuple element out of range"
 msgstr ""
 
-#: eval.c:1165
+#: eval.c:1148
 msgid "no 'respondsTo:' or 'respondsToSelector:' method"
 msgstr ""
 
-#: eval.c:1174
+#: eval.c:1157
 msgid "no 'methodFor:' or 'methodForSelector:' method"
 msgstr ""
 
-#: eval.c:1193
+#: eval.c:1176
 msgid "Target does not respond to this message selector."
 msgstr ""
 
-#: eval.c:1278
+#: eval.c:1261
 msgid "method address has symbol information with non-function type; skipping"
 msgstr ""
 
-#: eval.c:1331
+#: eval.c:1314
 msgid "Expression of type other than \"method returning ...\" used as a method"
 msgstr ""
 
-#: eval.c:1425
+#: eval.c:1408
 msgid "Non-pointer-to-member value used in pointer-to-member construct"
 msgstr ""
 
 #. For the time being, we don't handle this.
-#: eval.c:1645
+#: eval.c:1629
 #, possible-c-format
 msgid "Call to overloaded function %s requires `this' pointer"
 msgstr ""
 
-#: eval.c:1740
+#: eval.c:1722
 msgid "Cannot evaluate function -- may be inlined"
 msgstr ""
 
-#: eval.c:1765
+#: eval.c:1747
 msgid ""
 "Expression of type other than \"Function returning ...\" used as function"
 msgstr ""
 
-#: eval.c:1848
+#: eval.c:1832
 msgid "Cannot perform substring on this type"
 msgstr ""
 
-#: eval.c:1963
+#: eval.c:1947
 msgid "non-pointer-to-member value used in pointer-to-member construct"
 msgstr ""
 
-#: eval.c:2135
-msgid "':' operator used in invalid context"
-msgstr ""
-
-#: eval.c:2251
+#: eval.c:2219
 #, possible-c-format
 msgid "Too many subscripts for F77 (%d Max)"
 msgstr ""
 
-#: eval.c:2256
+#: eval.c:2224
 msgid "Wrong number of subscripts"
 msgstr ""
 
-#: eval.c:2450
+#: eval.c:2418
 msgid "Non-integral right operand for \"@\" operator."
 msgstr ""
 
-#: eval.c:2521
+#: eval.c:2489
 msgid "Attempt to dereference pointer to member without an object"
 msgstr ""
 
-#: eval.c:2819
+#: eval.c:2787
 msgid "Attempt to use a type as an expression"
 msgstr ""
 
@@ -10141,131 +10376,131 @@ msgstr ""
 #. If there are any cases landing here which mean a user error,
 #. then they should be separate cases, with more descriptive
 #. error messages.
-#: eval.c:2848
+#: eval.c:2816
 msgid "GDB does not (yet) know how to evaluate that kind of expression"
 msgstr ""
 
-#: eval.c:2925
+#: eval.c:2893
 msgid "Attempt to take address of register or constant."
 msgstr ""
 
-#: eval.c:2958 valops.c:1447 valops.c:1462 valops.c:1496
+#: eval.c:2926 valops.c:1446 valops.c:1461 valops.c:1495
 msgid "Attempt to take address of value not located in memory."
 msgstr ""
 
-#: eval.c:3133
+#: eval.c:3101
 msgid "Internal error in eval_type."
 msgstr ""
 
-#: eval.c:3144
+#: eval.c:3112
 msgid "Can't get dimensions for a non-array type"
 msgstr ""
 
-#: event-loop.c:491 event-loop.c:500 event-loop.c:564 event-loop.c:643
-#: event-loop.c:745 event-loop.c:811 event-loop.c:885 event-loop.c:1318
+#: event-loop.c:487 event-loop.c:496 event-loop.c:560 event-loop.c:639
+#: event-loop.c:741 event-loop.c:807 event-loop.c:881 event-loop.c:1314
 msgid "use_poll without HAVE_POLL"
 msgstr ""
 
-#: event-loop.c:734
+#: event-loop.c:730
 #, possible-c-format
 msgid "Error detected on fd %d\n"
 msgstr ""
 
-#: event-loop.c:737
+#: event-loop.c:733
 #, possible-c-format
 msgid "Invalid or non-`poll'able fd %d\n"
 msgstr ""
 
-#: event-loop.c:752
+#: event-loop.c:748
 #, possible-c-format
 msgid "Exception condition detected on fd %d\n"
 msgstr ""
 
-#: event-top.c:416
+#: event-top.c:420
 msgid "error detected on stdin\n"
 msgstr ""
 
 #. This message is based on ANSI C, section 4.7.  Note that integer
 #. divide by zero causes this, so "float" is a misnomer.
-#: event-top.c:1005
+#: event-top.c:1016
 msgid "Erroneous arithmetic operation."
 msgstr ""
 
-#: exceptions.c:142 exceptions.c:200
-msgid "bad state"
-msgstr ""
-
-#: exceptions.c:301
+#: exceptions.c:106
 msgid "Bad switch."
 msgstr ""
 
-#: exec.c:76
+#: exec.c:71
 #, possible-c-format
 msgid "Writing into executable and core files is %s.\n"
 msgstr ""
 
-#: exec.c:143 exec.c:182
+#: exec.c:134 exec.c:173
 msgid "No executable file now.\n"
 msgstr ""
 
-#: exec.c:225
+#: exec.c:216
 #, possible-c-format
 msgid "\"%s\": could not open as an executable file: %s"
 msgstr ""
 
-#: exec.c:237
+#: exec.c:228
 #, possible-c-format
 msgid "\"%s\": not in executable format: %s"
 msgstr ""
 
-#: exec.c:247
+#: exec.c:238
 #, possible-c-format
 msgid "\"%s\": can't find the file sections: %s"
 msgstr ""
 
-#: exec.c:289
+#: exec.c:280
 msgid ""
 "A program is being debugged already.\n"
 "Are you sure you want to change the file? "
 msgstr ""
 
-#: exec.c:291
+#: exec.c:282
 msgid "File not changed."
 msgstr ""
 
-#: exec.c:307
+#: exec.c:298
 msgid "No executable file name was specified"
 msgstr ""
 
-#: exec.c:802 maint.c:369 maint.c:401
+#: exec.c:790 maint.c:355 maint.c:387
 #, possible-c-format
 msgid "file type %s.\n"
 msgstr ""
 
-#: exec.c:828
+#: exec.c:816
 #, possible-c-format
 msgid "Cannot find section for the entry point of %s."
 msgstr ""
 
-#: exec.c:834
+#: exec.c:822
 #, possible-c-format
 msgid "\tEntry point: %s\n"
 msgstr ""
 
-#: exec.c:867
+#: exec.c:855
 msgid "\t<no file loaded>\n"
 msgstr ""
 
-#: exec.c:882
+#: exec.c:870
 msgid "Must specify section name and its virtual address"
 msgstr ""
 
-#: exec.c:910
+#: exec.c:898
 #, possible-c-format
 msgid "Section %s not found"
 msgstr ""
 
-#: exec.c:989
+#: exec.c:945
+msgid "Can't create a corefile"
+msgstr ""
+
+#: exec.c:981
 msgid ""
 "Use FILE as program to be debugged.\n"
 "It is read for its symbols, for getting the contents of pure memory,\n"
@@ -10275,7 +10510,7 @@ msgid ""
 "No arg means to have no executable file and no symbols."
 msgstr ""
 
-#: exec.c:999
+#: exec.c:991
 msgid ""
 "Use FILE as program for getting contents of pure memory.\n"
 "If FILE cannot be found as specified, your execution directory path\n"
@@ -10283,7 +10518,7 @@ msgid ""
 "No arg means have no executable file."
 msgstr ""
 
-#: exec.c:1006
+#: exec.c:998
 msgid ""
 "Change the base address of section SECTION of the exec file to ADDR.\n"
 "This can be used if the exec file does not contain section addresses,\n"
@@ -10292,19 +10527,15 @@ msgid ""
 "``info files'' command lists all the sections and their addresses."
 msgstr ""
 
-#: exec.c:1013
+#: exec.c:1005
 msgid "Set writing into executable and core files."
 msgstr ""
 
-#: exec.c:1014
+#: exec.c:1006
 msgid "Show writing into executable and core files."
 msgstr ""
 
-#: exec.c:1026
-msgid "Can't create a corefile"
-msgstr ""
-
-#: expprint.c:238
+#: expprint.c:236
 msgid "bad selector"
 msgstr ""
 
@@ -10313,11 +10544,11 @@ msgstr ""
 #. Not found; don't try to keep going because we don't know how
 #. to interpret further elements.  For example, this happens
 #. if opcode is OP_TYPE.
-#: expprint.c:504 expprint.c:580
+#: expprint.c:502 expprint.c:578
 msgid "Invalid expression"
 msgstr ""
 
-#: expprint.c:514
+#: expprint.c:512
 #, possible-c-format
 msgid "<language %s has no 'this'>"
 msgstr ""
@@ -10337,12 +10568,12 @@ msgstr ""
 msgid "Error while looking for arg types of a xmethod worker defined in %s."
 msgstr ""
 
-#: fbsd-nat.c:109
+#: fbsd-nat.c:106
 #, possible-c-format
 msgid "Couldn't open %s."
 msgstr ""
 
-#: f-exp.y:782 m2-exp.y:747
+#: f-exp.y:781 m2-exp.y:746
 msgid "Overflow on numeric constant."
 msgstr ""
 
@@ -10379,43 +10610,43 @@ msgid ""
 "knowledge of the target operating system."
 msgstr ""
 
-#: findcmd.c:77
+#: findcmd.c:76
 msgid "Missing search parameters."
 msgstr ""
 
-#: findcmd.c:109
+#: findcmd.c:108
 msgid "Invalid size granularity."
 msgstr ""
 
-#: findcmd.c:135
+#: findcmd.c:134
 msgid "Empty search range.\n"
 msgstr ""
 
-#: findcmd.c:139
+#: findcmd.c:138
 msgid "Invalid length."
 msgstr ""
 
-#: findcmd.c:143
+#: findcmd.c:142
 msgid "Search space too large."
 msgstr ""
 
-#: findcmd.c:153
+#: findcmd.c:152
 msgid "Invalid search space, end precedes start."
 msgstr ""
 
-#: findcmd.c:159
+#: findcmd.c:158
 msgid "Overflow in address range computation, choose smaller range."
 msgstr ""
 
-#: findcmd.c:226
+#: findcmd.c:225
 msgid "Missing search pattern."
 msgstr ""
 
-#: findcmd.c:231
+#: findcmd.c:230
 msgid "Search space too small to contain pattern."
 msgstr ""
 
-#: findcmd.c:325
+#: findcmd.c:324
 msgid ""
 "Search memory for a sequence of bytes.\n"
 "Usage:\n"
@@ -10433,322 +10664,322 @@ msgid ""
 "Convenience variable \"$numfound\" is set to the number of matches."
 msgstr ""
 
-#: findvar.c:60 findvar.c:95
+#: findvar.c:58 findvar.c:93
 #, possible-c-format
 msgid "That operation is not available on integers of more than %d bytes."
 msgstr ""
 
-#: findvar.c:176
+#: findvar.c:174
 msgid "extract_typed_address: type is not a pointer or reference"
 msgstr ""
 
-#: findvar.c:249
+#: findvar.c:247
 msgid "store_typed_address: type is not a pointer or reference"
 msgstr ""
 
-#: findvar.c:495 findvar.c:507
+#: findvar.c:493 findvar.c:505
 #, possible-c-format
 msgid "Unknown argument list address for `%s'."
 msgstr ""
 
-#: findvar.c:521
+#: findvar.c:519
 #, possible-c-format
 msgid "Cannot look up value of a typedef `%s'."
 msgstr ""
 
-#: findvar.c:548 findvar.c:558
+#: findvar.c:546 findvar.c:556
 #, possible-c-format
 msgid "Value of register variable not available for `%s'."
 msgstr ""
 
-#: findvar.c:584
+#: findvar.c:582
 #, possible-c-format
 msgid "No global symbol \"%s\"."
 msgstr ""
 
-#: findvar.c:603
+#: findvar.c:601
 #, possible-c-format
 msgid "Cannot look up value of a botched symbol `%s'."
 msgstr ""
 
-#: f-lang.c:68
+#: f-lang.c:67
 msgid "unrecognized character type"
 msgstr ""
 
-#: fork-child.c:329
+#: fork-child.c:328
 msgid "setpgrp failed in child"
 msgstr ""
 
-#: fork-child.c:467
+#: fork-child.c:466
 #, possible-c-format
 msgid "During startup program terminated with signal %s, %s."
 msgstr ""
 
-#: fork-child.c:476
+#: fork-child.c:475
 #, possible-c-format
 msgid "During startup program exited with code %d."
 msgstr ""
 
-#: fork-child.c:479
+#: fork-child.c:478
 msgid "During startup program exited normally."
 msgstr ""
 
-#: fork-child.c:546
+#: fork-child.c:545
 #, possible-c-format
 msgid "Use of shell to start subprocesses is %s.\n"
 msgstr ""
 
-#: fork-child.c:556
+#: fork-child.c:555
 msgid ""
 "Set a wrapper for running programs.\n"
 "The wrapper prepares the system and environment for the new program."
 msgstr ""
 
-#: fork-child.c:559
+#: fork-child.c:558
 msgid "Show the wrapper for running programs."
 msgstr ""
 
-#: fork-child.c:565
+#: fork-child.c:564
 msgid "Disable use of an execution wrapper."
 msgstr ""
 
-#: fork-child.c:569
+#: fork-child.c:568
 msgid "Set use of shell to start subprocesses.  The default is on."
 msgstr ""
 
-#: fork-child.c:570
+#: fork-child.c:569
 msgid "Show use of shell to start subprocesses."
 msgstr ""
 
-#: frame.c:273
+#: frame.c:270
 #, possible-c-format
 msgid "Frame debugging is %s.\n"
 msgstr ""
 
-#: frame.c:284
+#: frame.c:281
 #, possible-c-format
 msgid "Whether backtraces should continue past \"main\" is %s.\n"
 msgstr ""
 
-#: frame.c:294
+#: frame.c:291
 #, possible-c-format
 msgid ""
 "Whether backtraces should continue past the entry point of a program is %s.\n"
 msgstr ""
 
-#: frame.c:305
+#: frame.c:302
 #, possible-c-format
 msgid "An upper bound on the number of backtrace levels is %s.\n"
 msgstr ""
 
-#: frame.c:854
+#: frame.c:851
 msgid "No unwind_pc method"
 msgstr ""
 
-#: frame.c:860 frame.c:925
+#: frame.c:857 frame.c:922
 msgid "PC not available"
 msgstr ""
 
-#: frame.c:862
+#: frame.c:859
 msgid "PC not saved"
 msgstr ""
 
-#: frame.c:971
+#: frame.c:968
 msgid "Cannot pop the initial frame."
 msgstr ""
 
-#: frame.c:1078
+#: frame.c:1075
 #, possible-c-format
 msgid "Register %d was not saved"
 msgstr ""
 
-#: frame.c:1081
+#: frame.c:1078
 #, possible-c-format
 msgid "Register %d is not available"
 msgstr ""
 
-#: frame.c:1233
+#: frame.c:1230
 msgid "Attempt to assign to a register that was not saved."
 msgstr ""
 
-#: frame.c:1245
+#: frame.c:1242
 msgid "Attempt to assign to an unmodifiable value."
 msgstr ""
 
-#: frame.c:1303
+#: frame.c:1300
 #, possible-c-format
 msgid ""
 "Bad debug information detected: Attempt to read %d bytes from registers."
 msgstr ""
 
-#: frame.c:1469 ia64-libunwind-tdep.c:335 ia64-tdep.c:1926 ia64-tdep.c:2301
+#: frame.c:1466 ia64-libunwind-tdep.c:332 ia64-tdep.c:1925 ia64-tdep.c:2300
 msgid "No registers."
 msgstr ""
 
-#: frame.c:1471 stack.c:1718 stack.c:2302 thread.c:1348
+#: frame.c:1468 stack.c:1715 stack.c:2299 thread.c:1529
 msgid "No stack."
 msgstr ""
 
-#: frame.c:1473
+#: frame.c:1470
 msgid "No memory."
 msgstr ""
 
-#: frame.c:1478
+#: frame.c:1475
 msgid "No selected thread."
 msgstr ""
 
-#: frame.c:1480 infcmd.c:1828
+#: frame.c:1477 infcmd.c:1911
 msgid "Invalid selected thread."
 msgstr ""
 
-#: frame.c:1482
+#: frame.c:1479
 msgid "Target is executing."
 msgstr ""
 
-#: frame.c:2592
+#: frame.c:2589
 msgid "Missing unwind SP method"
 msgstr ""
 
-#: frame.c:2728
+#: frame.c:2726
 msgid ""
 "Set backtrace specific variables.\n"
 "Configure backtrace variables such as the backtrace limit"
 msgstr ""
 
 #. allow-unknown
-#: frame.c:2733
+#: frame.c:2731
 msgid ""
 "Show backtrace specific variables\n"
 "Show backtrace variables such as the backtrace limit"
 msgstr ""
 
-#: frame.c:2740
+#: frame.c:2738
 msgid "Set whether backtraces should continue past \"main\"."
 msgstr ""
 
-#: frame.c:2741
+#: frame.c:2739
 msgid "Show whether backtraces should continue past \"main\"."
 msgstr ""
 
-#: frame.c:2742
+#: frame.c:2740
 msgid ""
 "Normally the caller of \"main\" is not of interest, so GDB will terminate\n"
 "the backtrace at \"main\".  Set this variable if you need to see the rest\n"
 "of the stack trace."
 msgstr ""
 
-#: frame.c:2752
+#: frame.c:2750
 msgid ""
 "Set whether backtraces should continue past the entry point of a program."
 msgstr ""
 
-#: frame.c:2754
+#: frame.c:2752
 msgid ""
 "Show whether backtraces should continue past the entry point of a program."
 msgstr ""
 
-#: frame.c:2756
+#: frame.c:2754
 msgid ""
 "Normally there are no callers beyond the entry point of a program, so GDB\n"
 "will terminate the backtrace there.  Set this variable if you need to see\n"
 "the rest of the stack trace."
 msgstr ""
 
-#: frame.c:2766
+#: frame.c:2764
 msgid "Set an upper bound on the number of backtrace levels."
 msgstr ""
 
-#: frame.c:2767
+#: frame.c:2765
 msgid "Show the upper bound on the number of backtrace levels."
 msgstr ""
 
-#: frame.c:2768
+#: frame.c:2766
 msgid ""
 "No more than the specified number of frames can be displayed or examined.\n"
 "Literal \"unlimited\" or zero means no limit."
 msgstr ""
 
 #. Debug this files internals.
-#: frame.c:2777
+#: frame.c:2775
 msgid "Set frame debugging."
 msgstr ""
 
-#: frame.c:2778
+#: frame.c:2776
 msgid "Show frame debugging."
 msgstr ""
 
-#: frame.c:2779
+#: frame.c:2777
 msgid "When non-zero, frame specific internal debugging is enabled."
 msgstr ""
 
-#: frame-unwind.c:162
+#: frame-unwind.c:160
 msgid "frame_unwind_find_by_frame failed"
 msgstr ""
 
-#: frv-linux-tdep.c:211
+#: frv-linux-tdep.c:210
 msgid "Can't read realtime sigtramp frame."
 msgstr ""
 
-#: frv-linux-tdep.c:218
+#: frv-linux-tdep.c:217
 msgid "not a signal trampoline"
 msgstr ""
 
-#: frv-tdep.c:427
+#: frv-tdep.c:425
 #, possible-c-format
 msgid "Bad register number %d"
 msgstr ""
 
-#: frv-tdep.c:1143
+#: frv-tdep.c:1141
 #, possible-c-format
 msgid "Illegal return value length: %d"
 msgstr ""
 
-#: frv-tdep.c:1348
+#: frv-tdep.c:1346
 #, possible-c-format
 msgid "Don't know how to return a %d-byte value."
 msgstr ""
 
-#: f-typeprint.c:378
+#: f-typeprint.c:375
 #, possible-c-format
 msgid "Invalid type code (%d) in symbol table."
 msgstr ""
 
-#: f-valprint.c:64
+#: f-valprint.c:61
 msgid "Lower bound may not be '*' in F77"
 msgstr ""
 
-#: f-valprint.c:227
+#: f-valprint.c:224
 #, possible-c-format
 msgid "Type node corrupt! F77 arrays cannot have %d subscripts (%d Max)"
 msgstr ""
 
-#: f-valprint.c:441
+#: f-valprint.c:438
 #, possible-c-format
 msgid "Contents of F77 COMMON block '%s':\n"
 msgstr ""
 
-#: f-valprint.c:444
+#: f-valprint.c:441
 msgid "Contents of blank COMMON block:\n"
 msgstr ""
 
-#: f-valprint.c:491 stack.c:2174
+#: f-valprint.c:488 stack.c:2171
 msgid "No symbol table info available.\n"
 msgstr ""
 
-#: f-valprint.c:508
+#: f-valprint.c:505
 #, possible-c-format
 msgid "No common block '%s'.\n"
 msgstr ""
 
-#: f-valprint.c:510
+#: f-valprint.c:507
 msgid "No common blocks.\n"
 msgstr ""
 
-#: f-valprint.c:518 f-valprint.c:521
+#: f-valprint.c:515 f-valprint.c:518
 msgid "Print out the values contained in a Fortran COMMON block."
 msgstr ""
 
-#: gcore.c:58
+#: gcore.c:57
 #, possible-c-format
 msgid "Failed to open '%s' for output."
 msgstr ""
@@ -10771,91 +11002,91 @@ msgstr ""
 msgid "writing note section (%s)"
 msgstr ""
 
-#: gcore.c:176
+#: gcore.c:197
 msgid "Can't find default bfd machine type (need execfile)."
 msgstr ""
 
-#: gcore.c:190
+#: gcore.c:211
 msgid "Can't find bfd architecture for corefile (need execfile)."
 msgstr ""
 
-#: gcore.c:457
+#: gcore.c:478
 #, possible-c-format
 msgid "Couldn't make gcore segment: %s"
 msgstr ""
 
-#: gcore.c:559
+#: gcore.c:580
 #, possible-c-format
 msgid "Memory read failed for corefile section, %s bytes at %s."
 msgstr ""
 
-#: gcore.c:567
+#: gcore.c:588
 #, possible-c-format
 msgid "Failed to write corefile contents (%s)."
 msgstr ""
 
-#: gcore.c:606
+#: gcore.c:627
 msgid ""
 "Save a core file with the current state of the debugged process.\n"
 "Argument is optional filename.  Default filename is 'core.<process_id>'."
 msgstr ""
 
-#: gdbarch.c:68
+#: gdbarch.c:65
 #, possible-c-format
 msgid "Architecture debugging is %s.\n"
 msgstr ""
 
-#: gdbarch.c:637
+#: gdbarch.c:659
 #, possible-c-format
 msgid "verify_gdbarch: the following are invalid ...%s"
 msgstr ""
 
-#: gdbarch.c:4572
+#: gdbarch.c:4745
 msgid "gdbarch_architecture_names: multi-arch unknown"
 msgstr ""
 
-#: gdbarch.c:4598
+#: gdbarch.c:4771
 #, possible-c-format
 msgid "gdbarch: Attempt to register unknown architecture (%d)"
 msgstr ""
 
-#: gdbarch.c:4609
+#: gdbarch.c:4782
 #, possible-c-format
 msgid "gdbarch: Duplicate registration of architecture (%s)"
 msgstr ""
 
-#: gdbarch.c:4806
+#: gdbarch.c:4979
 msgid "Set architecture debugging."
 msgstr ""
 
-#: gdbarch.c:4807
+#: gdbarch.c:4980
 msgid "Show architecture debugging."
 msgstr ""
 
-#: gdbarch.c:4808
+#: gdbarch.c:4981
 msgid "When non-zero, architecture debugging is enabled."
 msgstr ""
 
-#: gdb_bfd.c:240
+#: gdb_bfd.c:238
 #, possible-c-format
 msgid "cannot close \"%s\": %s"
 msgstr ""
 
-#: gdb_bfd.c:417
+#: gdb_bfd.c:415
 #, possible-c-format
 msgid "Can't read data for section '%s' in file '%s'"
 msgstr ""
 
-#: gdb_bfd.c:439 gdb_bfd.c:452
+#: gdb_bfd.c:437 gdb_bfd.c:450
 #, possible-c-format
 msgid "Problem reading \"%s\" for CRC: %s"
 msgstr ""
 
-#: gdb_bfd.c:713
+#: gdb_bfd.c:711
 msgid "List the BFDs that are currently open."
 msgstr ""
 
-#: gdb-dlfcn.c:82 gdb-dlfcn.c:96
+#: gdb-dlfcn.c:80 gdb-dlfcn.c:94
 #, possible-c-format
 msgid "Could not load %s: %s"
 msgstr ""
@@ -10877,404 +11108,407 @@ msgstr ""
 msgid "Unterminated format string in printf bytecode"
 msgstr ""
 
-#: gdbserver/linux-x86-low.c:1306 gdbserver/linux-tile-low.c:167
+#: gdbserver/linux-x86-low.c:1312 gdbserver/linux-tile-low.c:167
 msgid "Can't debug 64-bit process with 32-bit GDBserver"
 msgstr ""
 
-#: gdbserver/linux-x86-low.c:1309
+#: gdbserver/linux-x86-low.c:1315
 msgid "Can't debug x86-64 process with 32-bit GDBserver"
 msgstr ""
 
-#: gdbserver/thread-db.c:756
+#: gdbserver/thread-db.c:764
 #, possible-c-format
 msgid "libthread-db-search-path component too long, ignored: %s."
 msgstr ""
 
-#: gdbserver/linux-low.c:1132 linux-nat.c:1549
+#: gdbserver/linux-low.c:807 linux-nat.c:1184
+#, possible-c-format
+msgid "Cannot attach to lwp %d: %s"
+msgstr ""
+
+#: gdbserver/linux-low.c:1152 linux-nat.c:1441
 #, possible-c-format
 msgid "Can't detach %s: %s"
 msgstr ""
 
-#: gdbtypes.c:138
+#: gdbtypes.c:135
 #, possible-c-format
 msgid ""
 "Resolution of opaque struct/class/union types (if set before loading "
 "symbols) is %s.\n"
 msgstr ""
 
-#: gdbtypes.c:149
+#: gdbtypes.c:146
 #, possible-c-format
 msgid "Debugging of C++ overloading is %s.\n"
 msgstr ""
 
-#: gdbtypes.c:159
+#: gdbtypes.c:156
 #, possible-c-format
 msgid "Strict type checking is %s.\n"
 msgstr ""
 
-#: gdbtypes.c:548
+#: gdbtypes.c:545
 #, possible-c-format
 msgid "Unknown address space specifier: \"%s\""
 msgstr ""
 
-#: gdbtypes.c:1275
+#: gdbtypes.c:1292
 #, possible-c-format
 msgid "Invalid anonymous type %s [in module %s], GCC PR debug/47510 bug?"
 msgstr ""
 
-#: gdbtypes.c:1302
+#: gdbtypes.c:1316
 #, possible-c-format
 msgid "No type named %s."
 msgstr ""
 
-#: gdbtypes.c:1344 objc-lang.c:98
+#: gdbtypes.c:1358 objc-lang.c:95
 #, possible-c-format
 msgid "No struct type named %s."
 msgstr ""
 
-#: gdbtypes.c:1348 gdbtypes.c:1423 objc-lang.c:105
+#: gdbtypes.c:1362 gdbtypes.c:1437 objc-lang.c:102
 #, possible-c-format
 msgid "This context has class, union or enum %s, not a struct."
 msgstr ""
 
-#: gdbtypes.c:1366
+#: gdbtypes.c:1380
 #, possible-c-format
 msgid "No union type named %s."
 msgstr ""
 
 #. If we get here, it's not a union.
-#: gdbtypes.c:1374
+#: gdbtypes.c:1388
 #, possible-c-format
 msgid "This context has class, struct or enum %s, not a union."
 msgstr ""
 
-#: gdbtypes.c:1389
+#: gdbtypes.c:1403
 #, possible-c-format
 msgid "No enum type named %s."
 msgstr ""
 
-#: gdbtypes.c:1393
+#: gdbtypes.c:1407
 #, possible-c-format
 msgid "This context has class, struct or union %s, not an enum."
 msgstr ""
 
-#: gdbtypes.c:1419
+#: gdbtypes.c:1433
 #, possible-c-format
 msgid "No template type named %s."
 msgstr ""
 
-#: gdbtypes.c:1461
+#: gdbtypes.c:1475
 #, possible-c-format
 msgid "Type %s is not a structure or union type."
 msgstr ""
 
-#: gdbtypes.c:1515
+#: gdbtypes.c:1529
 #, possible-c-format
 msgid "Type %s has no component named %s."
 msgstr ""
 
-#: gdbtypes.c:1611
+#: gdbtypes.c:1625
 msgid "stub type has NULL name"
 msgstr ""
 
-#: gdbtypes.c:1826
-msgid ""
-"Attempt to resolve a variably-sized type which appears in the interior of a "
-"structure type"
+#: gdbtypes.c:1849
+msgid "Cannot determine struct field location (invalid location kind)"
 msgstr ""
 
-#: gdbtypes.c:2157
+#: gdbtypes.c:2202
 #, possible-c-format
 msgid "Internal: Cannot demangle mangled name `%s'."
 msgstr ""
 
-#: gdbtypes.c:2970
+#: gdbtypes.c:3024
 #, possible-c-format
 msgid "Unsupported field kind %d by check_types_equal"
 msgstr ""
 
-#: gdbtypes.c:3525
+#: gdbtypes.c:3582
 #, possible-c-format
 msgid ") length %d\n"
 msgstr ""
 
-#: gdbtypes.c:3663
+#: gdbtypes.c:3718
 msgid " <same as already seen type>\n"
 msgstr ""
 
-#: gdbtypes.c:4100
+#: gdbtypes.c:4155
 #, possible-c-format
 msgid "Unexpected type field location kind: %d"
 msgstr ""
 
-#: gdbtypes.c:4703
+#: gdbtypes.c:4774
 msgid "Set debugging of C++ overloading."
 msgstr ""
 
-#: gdbtypes.c:4704
+#: gdbtypes.c:4775
 msgid "Show debugging of C++ overloading."
 msgstr ""
 
-#: gdbtypes.c:4705
+#: gdbtypes.c:4776
 msgid "When enabled, ranking of the functions is displayed."
 msgstr ""
 
-#: gdbtypes.c:4714
+#: gdbtypes.c:4785
 msgid ""
 "Set resolution of opaque struct/class/union types (if set before loading "
 "symbols)."
 msgstr ""
 
-#: gdbtypes.c:4716
+#: gdbtypes.c:4787
 msgid ""
 "Show resolution of opaque struct/class/union types (if set before loading "
 "symbols)."
 msgstr ""
 
-#: gdbtypes.c:4725
+#: gdbtypes.c:4796
 msgid "Set strict type checking."
 msgstr ""
 
-#: gdbtypes.c:4726
+#: gdbtypes.c:4797
 msgid "Show strict type checking."
 msgstr ""
 
 #. * A helper macro that returns the name of a type or "unnamed type"
 #. if the type has no name.
-#: gdbtypes.h:1385
+#: gdbtypes.h:1390
 msgid "<unnamed type>"
 msgstr ""
 
 #. * A helper macro that returns the name of an error type.  If the
 #. type has a name, it is used; otherwise, a default is used.
-#: gdbtypes.h:1391
+#: gdbtypes.h:1396
 msgid "<error type>"
 msgstr ""
 
-#: gnu-nat.c:335
+#: gnu-nat.c:331
 #, possible-c-format
 msgid "Stopped %s."
 msgstr ""
 
-#: gnu-nat.c:473 gnu-nat.c:503
+#: gnu-nat.c:469 gnu-nat.c:499
 #, possible-c-format
 msgid "Error setting exception port for %s: %s"
 msgstr ""
 
-#: gnu-nat.c:580
+#: gnu-nat.c:576
 #, possible-c-format
 msgid "Couldn't request notification for port %lu: %s"
 msgstr ""
 
-#: gnu-nat.c:730
+#: gnu-nat.c:726
 #, possible-c-format
 msgid "Error allocating event port: %s"
 msgstr ""
 
-#: gnu-nat.c:755
+#: gnu-nat.c:751
 #, possible-c-format
 msgid "Error getting task for pid %d: %s"
 msgstr ""
 
 #. Allow I/O.
-#: gnu-nat.c:860
+#: gnu-nat.c:858
 #, possible-c-format
 msgid "Pid %d has an additional task suspend count of %d; clear it? "
 msgstr ""
 
-#: gnu-nat.c:866
+#: gnu-nat.c:864
 msgid "Additional task suspend count left untouched."
 msgstr ""
 
-#: gnu-nat.c:893 gnu-nat.c:898
+#: gnu-nat.c:891 gnu-nat.c:896
 #, possible-c-format
 msgid "Can't modify tracing state for pid %d: %s"
 msgstr ""
 
-#: gnu-nat.c:1359
+#: gnu-nat.c:1368
 #, possible-c-format
 msgid "Can't forward spontaneous exception (%s)."
 msgstr ""
 
 #. Can't do too much...
-#: gnu-nat.c:1399
+#: gnu-nat.c:1408
 #, possible-c-format
 msgid "Can't deliver signal %s: No signal thread."
 msgstr ""
 
-#: gnu-nat.c:1401
+#: gnu-nat.c:1410
 #, possible-c-format
 msgid "Delivering signal %s: %s"
 msgstr ""
 
-#: gnu-nat.c:1432
+#: gnu-nat.c:1441
 #, possible-c-format
 msgid "Can't continue process: %s"
 msgstr ""
 
-#: gnu-nat.c:1472
+#: gnu-nat.c:1481
 msgid "There are no threads; try again later."
 msgstr ""
 
-#: gnu-nat.c:1496
+#: gnu-nat.c:1505
 #, possible-c-format
 msgid "wait request failed: %s"
 msgstr ""
 
-#: gnu-nat.c:1532
+#: gnu-nat.c:1541
 #, possible-c-format
 msgid "Couldn't wait for an event: %s"
 msgstr ""
 
 #. Whatever it is, it's something strange.
-#: gnu-nat.c:1552
+#: gnu-nat.c:1561
 #, possible-c-format
 msgid "Got a strange event, msg id = %d."
 msgstr ""
 
-#: gnu-nat.c:1555
+#: gnu-nat.c:1564
 #, possible-c-format
 msgid "Handling event, msgid = %d: %s"
 msgstr ""
 
-#: gnu-nat.c:1736
+#: gnu-nat.c:1745
 #, possible-c-format
 msgid "Pid %d died with unknown exit status, using SIGKILL."
 msgstr ""
 
-#: gnu-nat.c:1789
+#: gnu-nat.c:1798
 #, possible-c-format
 msgid "illegal rpc: %s"
 msgstr ""
 
-#: gnu-nat.c:1834
+#: gnu-nat.c:1843
 #, possible-c-format
 msgid "Can't wait for pid %d: %s"
 msgstr ""
 
-#: gnu-nat.c:1938
+#: gnu-nat.c:1947
 #, possible-c-format
 msgid "Signal delivery failed: %s"
 msgstr ""
 
-#: gnu-nat.c:2011
+#: gnu-nat.c:2020
 #, possible-c-format
 msgid "Aborting %s with unforwarded exception %s."
 msgstr ""
 
-#: gnu-nat.c:2040
+#: gnu-nat.c:2049
 #, possible-c-format
 msgid "Can't run single thread id %s: no such thread!"
 msgstr ""
 
-#: gnu-nat.c:2050
+#: gnu-nat.c:2059
 #, possible-c-format
 msgid "Can't step thread id %s: no such thread."
 msgstr ""
 
-#: gnu-nat.c:2122
+#: gnu-nat.c:2131
 msgid "ptrace (PTRACE_TRACEME) failed!"
 msgstr ""
 
-#: gnu-nat.c:2268
+#: gnu-nat.c:2277
 msgid "to_stop target function not implemented"
 msgstr ""
 
-#: gnu-nat.c:2302
+#: gnu-nat.c:2311
 #, possible-c-format
 msgid "Read from inferior faulted: %s"
 msgstr ""
 
-#: gnu-nat.c:2308
+#: gnu-nat.c:2317
 #, possible-c-format
 msgid "gnu_read_inferior vm_deallocate failed: %s"
 msgstr ""
 
-#: gnu-nat.c:2395
+#: gnu-nat.c:2404
 #, possible-c-format
 msgid "No memory at 0x%lx. Nothing written"
 msgstr ""
 
-#: gnu-nat.c:2404
+#: gnu-nat.c:2413
 #, possible-c-format
 msgid "Memory at address 0x%lx is unwritable. Nothing written"
 msgstr ""
 
-#: gnu-nat.c:2479
+#: gnu-nat.c:2488
 #, possible-c-format
 msgid "%s: %s"
 msgstr ""
 
-#: gnu-nat.c:2587
+#: gnu-nat.c:2596
 #, possible-c-format
 msgid "vm_region failed: %s"
 msgstr ""
 
-#: gnu-nat.c:2740
+#: gnu-nat.c:2749
 #, possible-c-format
 msgid "Illegal argument for \"%s\" command, should be an integer."
 msgstr ""
 
-#: gnu-nat.c:2752
+#: gnu-nat.c:2761
 #, possible-c-format
 msgid "Illegal argument for \"%s\" command, should be \"%s\" or \"%s\"."
 msgstr ""
 
-#: gnu-nat.c:2764
+#: gnu-nat.c:2773
 #, possible-c-format
 msgid "Garbage after \"%s\" command: `%s'"
 msgstr ""
 
-#: gnu-nat.c:2775
+#: gnu-nat.c:2784
 msgid "No current thread."
 msgstr ""
 
-#: gnu-nat.c:2786
+#: gnu-nat.c:2795
 msgid "No current process."
 msgstr ""
 
-#: gnu-nat.c:2900
+#: gnu-nat.c:2909
 msgid "No inferior task."
 msgstr ""
 
-#: gnu-nat.c:2906
+#: gnu-nat.c:2915
 #, possible-c-format
 msgid "Couldn't extract send right %lu from inferior: %s"
 msgstr ""
 
-#: gnu-nat.c:2922
+#: gnu-nat.c:2931
 #, possible-c-format
 msgid "Can't set exception port for %s: %s"
 msgstr ""
 
-#: gnu-nat.c:2933
+#: gnu-nat.c:2942
 msgid "No argument to \"set task exception-port\" command."
 msgstr ""
 
-#: gnu-nat.c:2959
+#: gnu-nat.c:2968
 msgid ""
 "Illegal argument to \"set signal-thread\" command.\n"
 "Should be an integer thread ID, or `none'."
 msgstr ""
 
-#: gnu-nat.c:2969
+#: gnu-nat.c:2978
 #, possible-c-format
 msgid ""
 "Thread ID %s not known.  Use the \"info threads\" command to\n"
 "see the IDs of currently known threads."
 msgstr ""
 
-#: gnu-nat.c:3104
+#: gnu-nat.c:3113
 #, possible-c-format
 msgid "%ld: %s."
 msgstr ""
 
-#: gnu-nat.c:3114 utils.c:976
+#: gnu-nat.c:3123 utils.c:990
 #, possible-c-format
 msgid "%s."
 msgstr ""
 
-#: gnu-nat.c:3154
+#: gnu-nat.c:3163
 msgid ""
 "Set whether the new threads are suspended while gdb has control.\n"
 "This property normally has no effect because the whole task is\n"
@@ -11282,78 +11516,78 @@ msgid ""
 "The default value is \"off\"."
 msgstr ""
 
-#: gnu-nat.c:3160
+#: gnu-nat.c:3169
 msgid "Show whether new threads are suspended while gdb has control."
 msgstr ""
 
-#: gnu-nat.c:3164
+#: gnu-nat.c:3173
 msgid "Set whether new threads are allowed to run (once gdb has noticed them)."
 msgstr ""
 
-#: gnu-nat.c:3167
+#: gnu-nat.c:3176
 msgid ""
 "Show whether new threads are allowed to run (once gdb has noticed them)."
 msgstr ""
 
-#: gnu-nat.c:3172
+#: gnu-nat.c:3181
 msgid "Set the default detach-suspend-count value for new threads."
 msgstr ""
 
-#: gnu-nat.c:3175
+#: gnu-nat.c:3184
 msgid "Show the default detach-suspend-count value for new threads."
 msgstr ""
 
-#: gnu-nat.c:3178
+#: gnu-nat.c:3187
 msgid ""
 "Set whether the inferior process's signals will be intercepted.\n"
 "Mach exceptions (such as breakpoint traps) are not affected."
 msgstr ""
 
-#: gnu-nat.c:3183
+#: gnu-nat.c:3192
 msgid "Show whether the inferior process's signals will be intercepted."
 msgstr ""
 
-#: gnu-nat.c:3188
+#: gnu-nat.c:3197
 msgid ""
 "Set the thread that gdb thinks is the libc signal thread.\n"
 "This thread is run when delivering a signal to a non-stopped process."
 msgstr ""
 
-#: gnu-nat.c:3193
+#: gnu-nat.c:3202
 msgid "Set the thread that gdb thinks is the libc signal thread."
 msgstr ""
 
-#: gnu-nat.c:3198
+#: gnu-nat.c:3207
 msgid ""
 "Set whether gdb thinks the inferior process is stopped as with SIGSTOP.\n"
 "Stopped process will be continued by sending them a signal."
 msgstr ""
 
-#: gnu-nat.c:3202
+#: gnu-nat.c:3211
 msgid ""
 "Show whether gdb thinks the inferior process is stopped as with SIGSTOP."
 msgstr ""
 
-#: gnu-nat.c:3206
+#: gnu-nat.c:3215
 msgid ""
 "Set whether exceptions in the inferior process will be trapped.\n"
 "When exceptions are turned off, neither breakpoints nor single-stepping\n"
 "will work."
 msgstr ""
 
-#: gnu-nat.c:3213
+#: gnu-nat.c:3222
 msgid "Show whether exceptions in the inferior process will be trapped."
 msgstr ""
 
-#: gnu-nat.c:3218
+#: gnu-nat.c:3227
 msgid "Command prefix for setting task attributes."
 msgstr ""
 
-#: gnu-nat.c:3221
+#: gnu-nat.c:3230
 msgid "Command prefix for showing task attributes."
 msgstr ""
 
-#: gnu-nat.c:3224
+#: gnu-nat.c:3233
 msgid ""
 "Set whether the task is suspended while gdb has control.\n"
 "A value of \"on\" takes effect immediately, otherwise nothing happens\n"
@@ -11362,19 +11596,19 @@ msgid ""
 "used to pause individual threads by default instead."
 msgstr ""
 
-#: gnu-nat.c:3232
+#: gnu-nat.c:3241
 msgid "Show whether the task is suspended while gdb has control."
 msgstr ""
 
-#: gnu-nat.c:3236
+#: gnu-nat.c:3245
 msgid "Set the suspend count will leave on the thread when detaching."
 msgstr ""
 
-#: gnu-nat.c:3239
+#: gnu-nat.c:3248
 msgid "Show the suspend count will leave on the thread when detaching."
 msgstr ""
 
-#: gnu-nat.c:3243
+#: gnu-nat.c:3252
 msgid ""
 "Set the task exception port to which we forward exceptions.\n"
 "The argument should be the value of the send right in the task."
@@ -11382,54 +11616,54 @@ msgstr ""
 
 #. A convenient way of turning on all options require to noninvasively
 #. debug running tasks.
-#: gnu-nat.c:3253
+#: gnu-nat.c:3262
 msgid ""
 "Set task options so that we interfere as little as possible.\n"
 "This is the same as setting `task pause', `exceptions', and\n"
 "`signals' to the opposite value."
 msgstr ""
 
-#: gnu-nat.c:3261
+#: gnu-nat.c:3270
 msgid "Show information about the task's send rights"
 msgstr ""
 
-#: gnu-nat.c:3264
+#: gnu-nat.c:3273
 msgid "Show information about the task's receive rights"
 msgstr ""
 
-#: gnu-nat.c:3267
+#: gnu-nat.c:3276
 msgid "Show information about the task's port rights"
 msgstr ""
 
-#: gnu-nat.c:3270
+#: gnu-nat.c:3279
 msgid "Show information about the task's port sets"
 msgstr ""
 
-#: gnu-nat.c:3273
+#: gnu-nat.c:3282
 msgid "Show information about the task's dead names"
 msgstr ""
 
-#: gnu-nat.c:3351
+#: gnu-nat.c:3360
 msgid "No argument to \"set thread exception-port\" command."
 msgstr ""
 
-#: gnu-nat.c:3394
+#: gnu-nat.c:3403
 msgid "Command prefix for setting thread properties."
 msgstr ""
 
-#: gnu-nat.c:3397
+#: gnu-nat.c:3406
 msgid "Command prefix for setting default thread properties."
 msgstr ""
 
-#: gnu-nat.c:3401
+#: gnu-nat.c:3410
 msgid "Command prefix for showing thread properties."
 msgstr ""
 
-#: gnu-nat.c:3404
+#: gnu-nat.c:3413
 msgid "Command prefix for showing default thread properties."
 msgstr ""
 
-#: gnu-nat.c:3408
+#: gnu-nat.c:3417
 msgid ""
 "Set whether the current thread is suspended while gdb has control.\n"
 "A value of \"on\" takes effect immediately, otherwise nothing happens\n"
@@ -11439,259 +11673,264 @@ msgid ""
 "The default value is \"off\"."
 msgstr ""
 
-#: gnu-nat.c:3416
+#: gnu-nat.c:3425
 msgid "Show whether the current thread is suspended while gdb has control."
 msgstr ""
 
-#: gnu-nat.c:3421
+#: gnu-nat.c:3430
 msgid "Set whether the current thread is allowed to run."
 msgstr ""
 
-#: gnu-nat.c:3424
+#: gnu-nat.c:3433
 msgid "Show whether the current thread is allowed to run."
 msgstr ""
 
-#: gnu-nat.c:3427
+#: gnu-nat.c:3436
 msgid ""
 "Set the suspend count will leave on the thread when detaching.\n"
 "Note that this is relative to suspend count when gdb noticed the thread;\n"
 "use the `thread takeover-suspend-count' to force it to an absolute value."
 msgstr ""
 
-#: gnu-nat.c:3432
+#: gnu-nat.c:3441
 msgid ""
 "Show the suspend count will leave on the thread when detaching.\n"
 "Note that this is relative to suspend count when gdb noticed the thread;\n"
 "use the `thread takeover-suspend-count' to force it to an absolute value."
 msgstr ""
 
-#: gnu-nat.c:3438
+#: gnu-nat.c:3447
 msgid ""
 "Set the thread exception port to which we forward exceptions.\n"
 "This overrides the task exception port.\n"
 "The argument should be the value of the send right in the task."
 msgstr ""
 
-#: gnu-nat.c:3447
+#: gnu-nat.c:3456
 msgid ""
 "Force the threads absolute suspend-count to be gdb's.\n"
 "Prior to giving this command, gdb's thread suspend-counts are relative\n"
 "to the thread's initial suspend-count when gdb notices the threads."
 msgstr ""
 
-#: gnu-nat.c:3468
+#: gnu-nat.c:3477
 msgid "Set debugging output for the gnu backend."
 msgstr ""
 
-#: gnu-nat.c:3469
+#: gnu-nat.c:3478
 msgid "Show debugging output for the gnu backend."
 msgstr ""
 
-#: gnu-nat.c:3496
+#: gnu-nat.c:3505
 #, possible-c-format
 msgid "Error flushing inferior's cache : %s"
 msgstr ""
 
-#: gnu-v2-abi.c:178
+#: gnu-v2-abi.c:175
 msgid "I'm confused:  virtual function table has bad type"
 msgstr ""
 
-#: gnu-v2-abi.c:375
+#: gnu-v2-abi.c:372
 msgid "Virtual baseclass pointer is not available"
 msgstr ""
 
-#: gnu-v2-abi.c:397
+#: gnu-v2-abi.c:394
 msgid "Baseclass offset not found"
 msgstr ""
 
-#: gnu-v3-abi.c:329
+#: gnu-v3-abi.c:325
 #, possible-c-format
 msgid "can't find linker symbol for virtual table for `%s' value"
 msgstr ""
 
-#: gnu-v3-abi.c:332
+#: gnu-v3-abi.c:328
 #, possible-c-format
 msgid "  found `%s' instead"
 msgstr ""
 
-#: gnu-v3-abi.c:414
+#: gnu-v3-abi.c:410
 msgid "Only classes can have virtual functions."
 msgstr ""
 
-#: gnu-v3-abi.c:465
+#: gnu-v3-abi.c:461
 msgid "Expected a negative vbase offset (old compiler?)"
 msgstr ""
 
-#: gnu-v3-abi.c:469
+#: gnu-v3-abi.c:465
 msgid "Misaligned vbase offset."
 msgstr ""
 
-#: gnu-v3-abi.c:889
+#: gnu-v3-abi.c:885
 #, possible-c-format
 msgid "vtable for '%s' @ %s (subobject @ %s):\n"
 msgstr ""
 
-#: gnu-v3-abi.c:916 printcmd.c:1802 stack.c:1519 value.c:2455
+#: gnu-v3-abi.c:912 printcmd.c:1802 stack.c:1516 value.c:2561
 #, possible-c-format
 msgid "<error: %s>"
 msgstr ""
 
-#: gnu-v3-abi.c:961
+#: gnu-v3-abi.c:957
 msgid "This object does not have a virtual function table\n"
 msgstr ""
 
-#: gnu-v3-abi.c:1090
+#: gnu-v3-abi.c:1086
 msgid "cannot find typeinfo for unnamed type"
 msgstr ""
 
-#: gnu-v3-abi.c:1117
+#: gnu-v3-abi.c:1113
 #, possible-c-format
 msgid "cannot find typeinfo for object of type '%s'"
 msgstr ""
 
-#: gnu-v3-abi.c:1132
+#: gnu-v3-abi.c:1128
 #, possible-c-format
 msgid "could not find typeinfo symbol for '%s'"
 msgstr ""
 
-#: gnu-v3-abi.c:1156
+#: gnu-v3-abi.c:1152
 #, possible-c-format
 msgid "could not find minimal symbol for typeinfo address %s"
 msgstr ""
 
-#: gnu-v3-abi.c:1164
+#: gnu-v3-abi.c:1160
 #, possible-c-format
 msgid "typeinfo symbol '%s' has unexpected name"
 msgstr ""
 
-#: go32-nat.c:345
+#: go32-nat.c:341
 msgid ""
 "You cannot attach to a running program on this platform.\n"
 "Use the `run' command to run DJGPP programs."
 msgstr ""
 
-#: go32-nat.c:509
+#: go32-nat.c:505
 #, possible-c-format
 msgid "Invalid register no. %d in fetch_register."
 msgstr ""
 
-#: go32-nat.c:540
+#: go32-nat.c:536
 #, possible-c-format
 msgid "Invalid register no. %d in store_register."
 msgstr ""
 
-#: go32-nat.c:661 go32-nat.c:2086
+#: go32-nat.c:658 go32-nat.c:2082
 msgid "Cannot allocate redirection storage: not enough memory.\n"
 msgstr ""
 
-#: go32-nat.c:670
+#: go32-nat.c:667
 msgid "Syntax error in command line."
 msgstr ""
 
-#: go32-nat.c:679
+#: go32-nat.c:676
 msgid "Command line too long."
 msgstr ""
 
-#: go32-nat.c:767
+#: go32-nat.c:699
+#, possible-c-format
+msgid "Load failed for image %s"
+msgstr ""
+
+#: go32-nat.c:763
 #, possible-c-format
 msgid "Invalid register %d in go32_set_dr.\n"
 msgstr ""
 
-#: go32-nat.c:808
+#: go32-nat.c:804
 #, possible-c-format
 msgid "Invalid register %d in go32_get_dr.\n"
 msgstr ""
 
-#: go32-nat.c:900
+#: go32-nat.c:896
 #, possible-c-format
 msgid "Cannot redirect standard handles for program: %s."
 msgstr ""
 
-#: go32-nat.c:934
+#: go32-nat.c:930
 #, possible-c-format
 msgid "Cannot redirect standard handles for debugger: %s."
 msgstr ""
 
-#: go32-nat.c:1680
+#: go32-nat.c:1676
 #, possible-c-format
 msgid "Invalid LDT entry 0x%03lx."
 msgstr ""
 
-#: go32-nat.c:1718
+#: go32-nat.c:1714
 #, possible-c-format
 msgid "Invalid LDT entry %#lx: outside valid limits [0..%#x]"
 msgstr ""
 
-#: go32-nat.c:1748
+#: go32-nat.c:1744
 #, possible-c-format
 msgid "Invalid GDT entry 0x%03lx: not an integral multiple of 8."
 msgstr ""
 
-#: go32-nat.c:1760
+#: go32-nat.c:1756
 #, possible-c-format
 msgid "Invalid GDT entry %#lx: outside valid limits [0..%#x]"
 msgstr ""
 
-#: go32-nat.c:1789
+#: go32-nat.c:1785
 #, possible-c-format
 msgid "Invalid (negative) IDT entry %ld."
 msgstr ""
 
-#: go32-nat.c:1801
+#: go32-nat.c:1797
 #, possible-c-format
 msgid "Invalid IDT entry %#lx: outside valid limits [0..%#x]"
 msgstr ""
 
-#: go32-nat.c:1959 go32-nat.c:2009
+#: go32-nat.c:1955 go32-nat.c:2005
 #, possible-c-format
 msgid "Entry %ld is outside valid limits [0..1023]."
 msgstr ""
 
-#: go32-nat.c:2036
+#: go32-nat.c:2032
 msgid "linear address"
 msgstr ""
 
-#: go32-nat.c:2092
+#: go32-nat.c:2088
 msgid "Print information specific to DJGPP (aka MS-DOS) debugging."
 msgstr ""
 
-#: go32-nat.c:2096
+#: go32-nat.c:2092
 msgid ""
 "Display information about the target system, including CPU, OS, DPMI, etc."
 msgstr ""
 
-#: go32-nat.c:2099
+#: go32-nat.c:2095
 msgid ""
 "Display entries in the LDT (Local Descriptor Table).\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2103
+#: go32-nat.c:2099
 msgid ""
 "Display entries in the GDT (Global Descriptor Table).\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2107
+#: go32-nat.c:2103
 msgid ""
 "Display entries in the IDT (Interrupt Descriptor Table).\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2111
+#: go32-nat.c:2107
 msgid ""
 "Display entries in the Page Directory.\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2115
+#: go32-nat.c:2111
 msgid ""
 "Display entries in Page Tables.\n"
 "Entry number (an expression) as an argument means display only entries\n"
 "from the Page Table pointed to by the specified Page Directory entry."
 msgstr ""
 
-#: go32-nat.c:2120
+#: go32-nat.c:2116
 msgid ""
 "Display a Page Table entry for a linear address.\n"
 "The address argument must be a linear address, after adding to\n"
@@ -11703,7 +11942,7 @@ msgid ""
 "the `info dos ldt' command."
 msgstr ""
 
-#: go-exp.y:1411
+#: go-exp.y:1410
 #, possible-c-format
 msgid "Unknown function in `unsafe' package: %s"
 msgstr ""
@@ -11720,169 +11959,169 @@ msgstr ""
 msgid "<invalid length: "
 msgstr ""
 
-#: guile/scm-symbol.c:244
+#: guile/scm-symbol.c:274
 msgid "<gdb:symbol>"
 msgstr ""
 
-#: guile/scm-symbol.c:503
+#: guile/scm-symbol.c:536
 msgid "cannot get the value of a typedef"
 msgstr ""
 
-#: guile/scm-symbol.c:512
+#: guile/scm-symbol.c:545
 msgid "Invalid frame"
 msgstr ""
 
-#: guile/scm-symbol.c:516
+#: guile/scm-symbol.c:549
 msgid "Symbol requires a frame to compute its value"
 msgstr ""
 
-#: guile/scm-symbol.c:569 valops.c:3721
+#: guile/scm-symbol.c:602 valops.c:3720
 msgid "no frame selected"
 msgstr ""
 
-#: guile/scm-param.c:242 guile/scm-cmd.c:699 python/py-cmd.c:520
-#: python/py-param.c:323
+#: guile/scm-param.c:241 guile/scm-cmd.c:698 python/py-cmd.c:636
+#: python/py-param.c:322
 msgid "This command is not documented."
 msgstr ""
 
-#: guile/scm-param.c:289
+#: guile/scm-param.c:288
 msgid "Error occurred setting parameter."
 msgstr ""
 
-#: guile/scm-param.c:293
+#: guile/scm-param.c:292
 #, possible-c-format
 msgid "Result of %s set-func is not a string."
 msgstr ""
 
-#: guile/scm-param.c:299 guile/scm-param.c:346
+#: guile/scm-param.c:298 guile/scm-param.c:345
 msgid "Error converting show text to host string."
 msgstr ""
 
-#: guile/scm-param.c:328
+#: guile/scm-param.c:327
 #, possible-c-format
 msgid "Error converting parameter value \"%s\" to Scheme string."
 msgstr ""
 
-#: guile/scm-param.c:339
+#: guile/scm-param.c:338
 msgid "Error occurred showing parameter."
 msgstr ""
 
-#: guile/scm-param.c:498 guile/scm-objfile.c:277 guile/scm-value.c:809
-#: guile/scm-pretty-print.c:256 guile/scm-progspace.c:331
+#: guile/scm-param.c:497 guile/scm-objfile.c:277 guile/scm-value.c:808
+#: guile/scm-pretty-print.c:255 guile/scm-progspace.c:331
 msgid "list"
 msgstr ""
 
-#: guile/scm-param.c:504
+#: guile/scm-param.c:503
 msgid "enumeration list is empty"
 msgstr ""
 
-#: guile/scm-param.c:519 guile/scm-param.c:706 guile/scm-type.c:956
-#: guile/scm-type.c:1001 guile/scm-utils.c:210 guile/scm-value.c:693
-#: guile/scm-pretty-print.c:157
+#: guile/scm-param.c:518 guile/scm-param.c:705 guile/scm-type.c:955
+#: guile/scm-type.c:1000 guile/scm-utils.c:208 guile/scm-value.c:692
+#: guile/scm-pretty-print.c:156
 msgid "string"
 msgstr ""
 
-#: guile/scm-param.c:655
+#: guile/scm-param.c:654
 msgid "program error: unhandled type"
 msgstr ""
 
-#: guile/scm-param.c:677
+#: guile/scm-param.c:676
 msgid "string or #f for non-PARAM_FILENAME parameters"
 msgstr ""
 
-#: guile/scm-param.c:719
+#: guile/scm-param.c:718
 msgid "not member of enumeration"
 msgstr ""
 
-#: guile/scm-param.c:727 guile/scm-utils.c:220 guile/scm-breakpoint.c:573
-#: guile/scm-breakpoint.c:608
+#: guile/scm-param.c:726 guile/scm-utils.c:218 guile/scm-breakpoint.c:571
+#: guile/scm-breakpoint.c:606
 msgid "boolean"
 msgstr ""
 
-#: guile/scm-param.c:735
+#: guile/scm-param.c:734
 msgid "boolean or #:auto"
 msgstr ""
 
-#: guile/scm-param.c:754
+#: guile/scm-param.c:753
 msgid "integer or #:unlimited"
 msgstr ""
 
-#: guile/scm-param.c:767 guile/scm-type.c:1086 guile/scm-ports.c:1178
-#: guile/scm-ports.c:1219 guile/scm-breakpoint.c:642
-#: guile/scm-breakpoint.c:678
+#: guile/scm-param.c:766 guile/scm-type.c:1085 guile/scm-ports.c:1178
+#: guile/scm-ports.c:1219 guile/scm-breakpoint.c:640
+#: guile/scm-breakpoint.c:676
 msgid "integer"
 msgstr ""
 
-#: guile/scm-param.c:786
+#: guile/scm-param.c:785
 msgid "must be >= -1"
 msgstr ""
 
-#: guile/scm-param.c:899 guile/scm-cmd.c:726
+#: guile/scm-param.c:898 guile/scm-cmd.c:725
 msgid "invalid command class argument"
 msgstr ""
 
-#: guile/scm-param.c:905
+#: guile/scm-param.c:904
 msgid "invalid parameter type argument"
 msgstr ""
 
-#: guile/scm-param.c:910
+#: guile/scm-param.c:909
 msgid "#:enum-values can only be provided with PARAM_ENUM"
 msgstr ""
 
-#: guile/scm-param.c:915
+#: guile/scm-param.c:914
 msgid "PARAM_ENUM requires an enum-values argument"
 msgstr ""
 
-#: guile/scm-param.c:920 guile/scm-param.c:925 guile/scm-iterator.c:162
-#: guile/scm-cmd.c:719 guile/scm-pretty-print.c:159
+#: guile/scm-param.c:919 guile/scm-param.c:924 guile/scm-iterator.c:162
+#: guile/scm-cmd.c:718 guile/scm-pretty-print.c:158
 msgid "procedure"
 msgstr ""
 
-#: guile/scm-param.c:997
+#: guile/scm-param.c:996
 msgid "parameter is already registered"
 msgstr ""
 
-#: guile/scm-param.c:1010
+#: guile/scm-param.c:1009
 msgid "parameter exists, \"set\" command is already defined"
 msgstr ""
 
-#: guile/scm-param.c:1015
+#: guile/scm-param.c:1014
 msgid "parameter exists, \"show\" command is already defined"
 msgstr ""
 
-#: guile/scm-param.c:1049
+#: guile/scm-param.c:1048
 msgid "<gdb:parameter> or string"
 msgstr ""
 
-#: guile/scm-param.c:1083
+#: guile/scm-param.c:1082
 msgid "parameter not found"
 msgstr ""
 
-#: guile/scm-param.c:1088
+#: guile/scm-param.c:1087
 msgid "not a parameter"
 msgstr ""
 
-#: guile/scm-auto-load.c:43
+#: guile/scm-auto-load.c:41
 #, possible-c-format
 msgid "Auto-loading of Guile scripts is %s.\n"
 msgstr ""
 
-#: guile/scm-auto-load.c:67
+#: guile/scm-auto-load.c:65
 msgid "Set the debugger's behaviour regarding auto-loaded Guile scripts."
 msgstr ""
 
-#: guile/scm-auto-load.c:68
+#: guile/scm-auto-load.c:66
 msgid "Show the debugger's behaviour regarding auto-loaded Guile scripts."
 msgstr ""
 
-#: guile/scm-auto-load.c:69
+#: guile/scm-auto-load.c:67
 msgid ""
 "If enabled, auto-loaded Guile scripts are loaded when the debugger reads\n"
 "an executable or shared library.\n"
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: guile/scm-auto-load.c:78
+#: guile/scm-auto-load.c:76
 msgid ""
 "Print the list of automatically loaded Guile scripts.\n"
 "Usage: info auto-load guile-scripts [REGEXP]"
@@ -11892,188 +12131,188 @@ msgstr ""
 msgid "<gdb:objfile>"
 msgstr ""
 
-#: guile/scm-frame.c:329
+#: guile/scm-frame.c:328
 msgid "inferior"
 msgstr ""
 
-#: guile/scm-frame.c:332
+#: guile/scm-frame.c:331
 msgid "inferior has changed"
 msgstr ""
 
-#: guile/scm-frame.c:441 guile/scm-frame.c:479 guile/scm-frame.c:506
-#: guile/scm-frame.c:534 guile/scm-frame.c:566 guile/scm-frame.c:596
-#: guile/scm-frame.c:647 guile/scm-frame.c:681 guile/scm-frame.c:715
-#: guile/scm-frame.c:748 guile/scm-frame.c:786 guile/scm-frame.c:879
+#: guile/scm-frame.c:440 guile/scm-frame.c:478 guile/scm-frame.c:505
+#: guile/scm-frame.c:533 guile/scm-frame.c:565 guile/scm-frame.c:595
+#: guile/scm-frame.c:643 guile/scm-frame.c:677 guile/scm-frame.c:711
+#: guile/scm-frame.c:744 guile/scm-frame.c:782 guile/scm-frame.c:875
 msgid "<gdb:frame>"
 msgstr ""
 
-#: guile/scm-frame.c:606
+#: guile/scm-frame.c:605
 msgid "cannot find block for frame"
 msgstr ""
 
-#: guile/scm-frame.c:835
+#: guile/scm-frame.c:831
 msgid "variable not found"
 msgstr ""
 
-#: guile/scm-frame.c:844
+#: guile/scm-frame.c:840
 msgid "gdb:symbol or string"
 msgstr ""
 
-#: guile/scm-frame.c:914
+#: guile/scm-frame.c:910
 msgid "No frame is currently selected"
 msgstr ""
 
-#: guile/scm-type.c:73
+#: guile/scm-type.c:72
 msgid "type is not a structure, union, or enum type"
 msgstr ""
 
-#: guile/scm-type.c:722 python/py-type.c:535
+#: guile/scm-type.c:721 python/py-type.c:534
 msgid "Array length must not be negative"
 msgstr ""
 
-#: guile/scm-type.c:806
+#: guile/scm-type.c:805
 msgid "ranged type"
 msgstr ""
 
-#: guile/scm-type.c:984
+#: guile/scm-type.c:983
 msgid "Unknown field"
 msgstr ""
 
-#: guile/scm-type.c:1144
+#: guile/scm-type.c:1143
 msgid "enum type"
 msgstr ""
 
-#: guile/scm-type.c:1161
+#: guile/scm-type.c:1160
 msgid "non-enum type"
 msgstr ""
 
-#: guile/scm-exception.c:245
+#: guile/scm-exception.c:244
 #, possible-c-format
 msgid "Wrong type argument in position %d (expecting %s): ~S"
 msgstr ""
 
-#: guile/scm-exception.c:251
+#: guile/scm-exception.c:250
 #, possible-c-format
 msgid "Wrong type argument in position %d: ~S"
 msgstr ""
 
-#: guile/scm-exception.c:259
+#: guile/scm-exception.c:258
 #, possible-c-format
 msgid "Wrong type argument (expecting %s): ~S"
 msgstr ""
 
-#: guile/scm-exception.c:263
+#: guile/scm-exception.c:262
 msgid "Wrong type argument: ~S"
 msgstr ""
 
-#: guile/scm-exception.c:290
+#: guile/scm-exception.c:289
 #, possible-c-format
 msgid "%s %s in position %d: ~S"
 msgstr ""
 
-#: guile/scm-exception.c:294
+#: guile/scm-exception.c:293
 #, possible-c-format
 msgid "%s %s: ~S"
 msgstr ""
 
-#: guile/scm-exception.c:299
+#: guile/scm-exception.c:298
 #, possible-c-format
 msgid "%s in position %d: ~S"
 msgstr ""
 
-#: guile/scm-exception.c:301
+#: guile/scm-exception.c:300
 #, possible-c-format
 msgid "%s: ~S"
 msgstr ""
 
-#: guile/scm-exception.c:319
+#: guile/scm-exception.c:318
 msgid "Invalid object:"
 msgstr ""
 
-#: guile/scm-exception.c:343
+#: guile/scm-exception.c:342
 msgid "Out of range:"
 msgstr ""
 
 #. Handle this specially to be consistent with top-repl.scm.
-#: guile/scm-exception.c:439
+#: guile/scm-exception.c:438
 msgid "User interrupt"
 msgstr ""
 
-#: guile/scm-exception.c:493 guile/scm-exception.c:544
+#: guile/scm-exception.c:492 guile/scm-exception.c:543
 #, possible-c-format
 msgid "Error in Scheme exception printing, can't find %s.\n"
 msgstr ""
 
-#: guile/scm-exception.c:507 guile/scm-exception.c:558
+#: guile/scm-exception.c:506 guile/scm-exception.c:557
 msgid "Error in Scheme exception printing:\n"
 msgstr ""
 
 #. Set this now in case an exception is thrown.
-#: guile/scm-safe-call.c:176
+#: guile/scm-safe-call.c:175
 msgid "Error while executing Scheme code."
 msgstr ""
 
-#: guile/scm-gsmob.c:152
+#: guile/scm-gsmob.c:151
 msgid "any gdb smob"
 msgstr ""
 
-#: guile/scm-utils.c:229
+#: guile/scm-utils.c:227
 msgid "int"
 msgstr ""
 
-#: guile/scm-utils.c:238
+#: guile/scm-utils.c:236
 msgid "unsigned int"
 msgstr ""
 
-#: guile/scm-utils.c:247
+#: guile/scm-utils.c:245
 msgid "long"
 msgstr ""
 
-#: guile/scm-utils.c:256
+#: guile/scm-utils.c:254
 msgid "unsigned long"
 msgstr ""
 
-#: guile/scm-utils.c:265
+#: guile/scm-utils.c:263
 msgid "LONGEST"
 msgstr ""
 
-#: guile/scm-utils.c:274
+#: guile/scm-utils.c:272
 msgid "ULONGEST"
 msgstr ""
 
-#: guile/scm-utils.c:459
+#: guile/scm-utils.c:457
 msgid "Unrecognized keyword: ~a"
 msgstr ""
 
-#: guile/scm-utils.c:467
+#: guile/scm-utils.c:465
 msgid "Missing value for keyword argument"
 msgstr ""
 
-#: guile/guile.c:181 guile/guile.c:411
+#: guile/guile.c:180 guile/guile.c:410
 msgid "guile-repl currently does not take any arguments."
 msgstr ""
 
-#: guile/guile.c:270
+#: guile/guile.c:269
 msgid "Invalid \"guile\" block structure."
 msgstr ""
 
-#: guile/guile.c:412 guile/guile.c:420
+#: guile/guile.c:411 guile/guile.c:419
 msgid "Guile scripting is not supported in this copy of GDB."
 msgstr ""
 
-#: guile/guile.c:464
+#: guile/guile.c:463
 msgid "\"info guile\" must be followed by the name of an info command.\n"
 msgstr ""
 
-#: guile/guile.c:568
+#: guile/guile.c:567
 msgid "Error in function ~s:~%"
 msgstr ""
 
-#: guile/guile.c:592
+#: guile/guile.c:591
 msgid "Throw to key `~a' with args `~s'.~%"
 msgstr ""
 
-#: guile/guile.c:607
+#: guile/guile.c:606
 #, possible-c-format
 msgid ""
 "Could not complete Guile gdb module initialization from:\n"
@@ -12082,7 +12321,7 @@ msgid ""
 "Suggest passing --data-directory=/path/to/gdb/data-directory.\n"
 msgstr ""
 
-#: guile/guile.c:747
+#: guile/guile.c:746
 msgid ""
 "Start an interactive Guile prompt.\n"
 "\n"
@@ -12090,7 +12329,7 @@ msgid ""
 "prompt) or ,quit."
 msgstr ""
 
-#: guile/guile.c:753
+#: guile/guile.c:752
 msgid ""
 "Start a Guile interactive prompt.\n"
 "\n"
@@ -12098,7 +12337,7 @@ msgid ""
 "This command is only a placeholder."
 msgstr ""
 
-#: guile/guile.c:766
+#: guile/guile.c:765
 msgid ""
 "Evaluate one or more Guile expressions.\n"
 "\n"
@@ -12123,7 +12362,7 @@ msgid ""
 "Type \",help\" once in a Guile interactive session."
 msgstr ""
 
-#: guile/guile.c:789
+#: guile/guile.c:788
 msgid ""
 "Evaluate a Guile expression.\n"
 "\n"
@@ -12131,23 +12370,23 @@ msgid ""
 "This command is only a placeholder."
 msgstr ""
 
-#: guile/guile.c:799 guile/guile.c:805
+#: guile/guile.c:798 guile/guile.c:804
 msgid "Prefix command for Guile preference settings."
 msgstr ""
 
-#: guile/guile.c:811
+#: guile/guile.c:810
 msgid "Prefix command for Guile info displays."
 msgstr ""
 
-#: guile/guile.c:819
+#: guile/guile.c:818
 msgid "Set mode for Guile exception printing on error."
 msgstr ""
 
-#: guile/guile.c:820
+#: guile/guile.c:819
 msgid "Show the mode of Guile exception printing on error."
 msgstr ""
 
-#: guile/guile.c:821 python/python.c:1635
+#: guile/guile.c:820 python/python.c:1633
 msgid ""
 "none  == no stack or message will be printed.\n"
 "full == a message and a stack will be printed.\n"
@@ -12226,59 +12465,59 @@ msgstr ""
 msgid "end address of 0xff..ff not allowed"
 msgstr ""
 
-#: guile/scm-cmd.c:245
+#: guile/scm-cmd.c:244
 msgid "<gdb:command>"
 msgstr ""
 
-#: guile/scm-cmd.c:311
+#: guile/scm-cmd.c:310
 msgid "Could not convert arguments to Scheme string."
 msgstr ""
 
-#: guile/scm-cmd.c:332
+#: guile/scm-cmd.c:331
 msgid "Error occurred in Scheme-implemented GDB command."
 msgstr ""
 
 #. Inform the user, but otherwise ignore the entire result.
-#: guile/scm-cmd.c:365
+#: guile/scm-cmd.c:364
 msgid "Bad text from completer: "
 msgstr ""
 
-#: guile/scm-cmd.c:401
+#: guile/scm-cmd.c:400
 msgid "Could not convert \"text\" argument to Scheme string."
 msgstr ""
 
-#: guile/scm-cmd.c:405
+#: guile/scm-cmd.c:404
 msgid "Could not convert \"word\" argument to Scheme string."
 msgstr ""
 
 #. Inform the user, but otherwise ignore.
-#: guile/scm-cmd.c:462
+#: guile/scm-cmd.c:461
 msgid "Bad completer result: "
 msgstr ""
 
-#: guile/scm-cmd.c:505 guile/scm-cmd.c:713
+#: guile/scm-cmd.c:504 guile/scm-cmd.c:712
 msgid "no command name found"
 msgstr ""
 
-#: guile/scm-cmd.c:536
+#: guile/scm-cmd.c:535
 #, possible-c-format
 msgid "could not find command prefix '%s'"
 msgstr ""
 
-#: guile/scm-cmd.c:552
+#: guile/scm-cmd.c:551
 #, possible-c-format
 msgid "'%s' is not a prefix command"
 msgstr ""
 
-#: guile/scm-cmd.c:733
+#: guile/scm-cmd.c:732
 msgid "integer or procedure"
 msgstr ""
 
-#: guile/scm-cmd.c:739
+#: guile/scm-cmd.c:738
 msgid "invalid completion type argument"
 msgstr ""
 
-#: guile/scm-cmd.c:769
+#: guile/scm-cmd.c:768
 msgid "command is already registered"
 msgstr ""
 
@@ -12290,141 +12529,141 @@ msgstr ""
 msgid "<gdb:sal>"
 msgstr ""
 
-#: guile/scm-math.c:569 guile/scm-math.c:584
+#: guile/scm-math.c:568 guile/scm-math.c:583
 msgid "value out of range for type"
 msgstr ""
 
-#: guile/scm-math.c:674
+#: guile/scm-math.c:673
 msgid "value not a number representable on the target"
 msgstr ""
 
-#: guile/scm-math.c:708
+#: guile/scm-math.c:707
 msgid "size of type does not match size of bytevector"
 msgstr ""
 
-#: guile/scm-math.c:764 guile/scm-math.c:817 guile/scm-math.c:846
+#: guile/scm-math.c:763 guile/scm-math.c:816 guile/scm-math.c:845
 msgid "No type allowed"
 msgstr ""
 
-#: guile/scm-breakpoint.c:321
+#: guile/scm-breakpoint.c:319
 msgid "<gdb:breakpoint>"
 msgstr ""
 
-#: guile/scm-breakpoint.c:371
+#: guile/scm-breakpoint.c:369
 msgid "access type with breakpoint is not allowed"
 msgstr ""
 
-#: guile/scm-breakpoint.c:384
+#: guile/scm-breakpoint.c:382
 msgid "invalid watchpoint class"
 msgstr ""
 
-#: guile/scm-breakpoint.c:390
+#: guile/scm-breakpoint.c:388
 msgid "invalid breakpoint type"
 msgstr ""
 
-#: guile/scm-breakpoint.c:416
+#: guile/scm-breakpoint.c:414
 msgid "not a Scheme breakpoint"
 msgstr ""
 
-#: guile/scm-breakpoint.c:419
+#: guile/scm-breakpoint.c:417
 msgid "breakpoint is already registered"
 msgstr ""
 
-#: guile/scm-breakpoint.c:687
+#: guile/scm-breakpoint.c:685
 msgid "hit-count must be zero"
 msgstr ""
 
-#: guile/scm-breakpoint.c:724
+#: guile/scm-breakpoint.c:722
 msgid "invalid thread id"
 msgstr ""
 
-#: guile/scm-breakpoint.c:730 guile/scm-breakpoint.c:781
+#: guile/scm-breakpoint.c:728 guile/scm-breakpoint.c:779
 msgid "integer or #f"
 msgstr ""
 
-#: guile/scm-breakpoint.c:775
+#: guile/scm-breakpoint.c:773
 msgid "invalid task id"
 msgstr ""
 
-#: guile/scm-breakpoint.c:864
+#: guile/scm-breakpoint.c:862
 msgid "string or #f"
 msgstr ""
 
-#: guile/scm-breakpoint.c:905
+#: guile/scm-breakpoint.c:903
 msgid "procedure or #f"
 msgstr ""
 
-#: guile/scm-value.c:514
+#: guile/scm-value.c:513
 msgid ""
 "Trying to get the referenced value from a value which is neither a pointer "
 "nor a reference"
 msgstr ""
 
-#: guile/scm-value.c:765
+#: guile/scm-value.c:764
 msgid "Cannot subscript requested type"
 msgstr ""
 
-#: guile/scm-value.c:806
+#: guile/scm-value.c:805
 msgid "function (value of TYPE_CODE_FUNC)"
 msgstr ""
 
-#: guile/scm-value.c:917 guile/scm-value.c:953
+#: guile/scm-value.c:916 guile/scm-value.c:952
 msgid "integer-like gdb value"
 msgstr ""
 
-#: guile/scm-value.c:992
+#: guile/scm-value.c:991
 msgid "number"
 msgstr ""
 
-#: guile/scm-value.c:1003
+#: guile/scm-value.c:1002
 msgid "number can't be converted to a double"
 msgstr ""
 
-#: guile/scm-value.c:1068
+#: guile/scm-value.c:1067
 msgid "invalid error kind"
 msgstr ""
 
-#: guile/scm-pretty-print.c:377 guile/scm-pretty-print.c:423
+#: guile/scm-pretty-print.c:376 guile/scm-pretty-print.c:422
 msgid "pretty-printer list is not a list"
 msgstr ""
 
-#: guile/scm-pretty-print.c:390
+#: guile/scm-pretty-print.c:389
 msgid "pretty-printer list contains non-pretty-printer object"
 msgstr ""
 
-#: guile/scm-pretty-print.c:403
+#: guile/scm-pretty-print.c:402
 msgid "invalid lookup object in pretty-printer matcher"
 msgstr ""
 
-#: guile/scm-pretty-print.c:416
+#: guile/scm-pretty-print.c:415
 msgid "invalid result from pretty-printer lookup"
 msgstr ""
 
-#: guile/scm-pretty-print.c:569
+#: guile/scm-pretty-print.c:568
 msgid "invalid result from pretty-printer to-string"
 msgstr ""
 
-#: guile/scm-pretty-print.c:628 python/py-prettyprint.c:291 valprint.c:795
+#: guile/scm-pretty-print.c:627 python/py-prettyprint.c:290 valprint.c:792
 msgid "<error reading variable>"
 msgstr ""
 
-#: guile/scm-pretty-print.c:754
+#: guile/scm-pretty-print.c:753
 msgid "pretty-printer \"children\" object is not a procedure or #f"
 msgstr ""
 
-#: guile/scm-pretty-print.c:779
+#: guile/scm-pretty-print.c:778
 msgid ""
 "result of pretty-printer \"children\" procedure is not a <gdb:iterator> "
 "object"
 msgstr ""
 
-#: guile/scm-pretty-print.c:822
+#: guile/scm-pretty-print.c:821
 msgid ""
 "result of pretty-printer children iterator is not a pair or (end-of-"
 "iteration)"
 msgstr ""
 
-#: guile/scm-pretty-print.c:832
+#: guile/scm-pretty-print.c:831
 msgid "first element of pretty-printer children iterator is not a string"
 msgstr ""
 
@@ -12448,340 +12687,323 @@ msgstr ""
 msgid "cannot locate object file for block"
 msgstr ""
 
-#: guile/scm-lazy-string.c:156
+#: guile/scm-lazy-string.c:154
 msgid "cannot create a lazy string with address 0x0 and a non-zero length"
 msgstr ""
 
-#: guile/scm-lazy-string.c:163
+#: guile/scm-lazy-string.c:161
 msgid "a lazy string's type cannot be NULL"
 msgstr ""
 
-#: guile/scm-lazy-string.c:244 guile/scm-lazy-string.c:284
+#: guile/scm-lazy-string.c:242 guile/scm-lazy-string.c:282
 msgid "cannot create a value from NULL"
 msgstr ""
 
-#: h8300-tdep.c:775 h8300-tdep.c:808
+#: h8300-tdep.c:774 h8300-tdep.c:807
 msgid "I don't know how this 8 byte value is returned."
 msgstr ""
 
 #. long long, double and long double
 #. are all defined as 4 byte types so
 #. far so this shouldn't happen.
-#: h8300-tdep.c:871
+#: h8300-tdep.c:870
 msgid "I don't know how to return an 8 byte value."
 msgstr ""
 
-#: h8300-tdep.c:969
+#: h8300-tdep.c:968
 #, possible-c-format
 msgid "h8300_register_name: illegal register number %d"
 msgstr ""
 
-#: h8300-tdep.c:987
+#: h8300-tdep.c:986
 #, possible-c-format
 msgid "h8300s_register_name: illegal register number %d"
 msgstr ""
 
-#: h8300-tdep.c:1005
+#: h8300-tdep.c:1004
 #, possible-c-format
 msgid "h8300sx_register_name: illegal register number %d"
 msgstr ""
 
-#: h8300-tdep.c:1141
+#: h8300-tdep.c:1140
 #, possible-c-format
 msgid "h8300_register_type: illegal register number %d"
 msgstr ""
 
-#: hppa-hpux-nat.c:111 hppa-hpux-nat.c:125
+#: hppa-hpux-nat.c:110 hppa-hpux-nat.c:124
 #, possible-c-format
 msgid "Couldn't read register %s (#%d): %s"
 msgstr ""
 
-#: hppa-hpux-nat.c:197 hppa-hpux-nat.c:211
+#: hppa-hpux-nat.c:196 hppa-hpux-nat.c:210
 #, possible-c-format
 msgid "Couldn't write register %s (#%d): %s"
 msgstr ""
 
 #. Should never happen.
-#: hppa-hpux-tdep.c:135 hppa-hpux-tdep.c:265
+#: hppa-hpux-tdep.c:132 hppa-hpux-tdep.c:262
 msgid "Unable to find branch in parameter relocation stub."
 msgstr ""
 
-#: hppa-hpux-tdep.c:412
+#: hppa-hpux-tdep.c:409
 msgid "Unable to find branch in linker stub"
 msgstr ""
 
-#: hppa-hpux-tdep.c:430
+#: hppa-hpux-tdep.c:427
 #, possible-c-format
 msgid "Unable to find ldil X,%%r1 before ble Y(%%sr4,%%r1)."
 msgstr ""
 
-#: hppa-hpux-tdep.c:468
+#: hppa-hpux-tdep.c:465
 #, possible-c-format
 msgid "Unable to find symbol for 0x%lx"
 msgstr ""
 
-#: hppa-hpux-tdep.c:476
+#: hppa-hpux-tdep.c:473
 #, possible-c-format
 msgid "Unable to find library symbol for %s."
 msgstr ""
 
-#: hppa-hpux-tdep.c:509
+#: hppa-hpux-tdep.c:506
 #, possible-c-format
 msgid "Unable to find restore of %%rp before bv (%%rp)."
 msgstr ""
 
-#: hppa-hpux-tdep.c:858 hppa-hpux-tdep.c:955
+#: hppa-hpux-tdep.c:855 hppa-hpux-tdep.c:952
 msgid "Internal error creating objfile private data."
 msgstr ""
 
-#: hppa-hpux-tdep.c:1106
+#: hppa-hpux-tdep.c:1103
 msgid ""
 "Cannot find suitable address to place dummy breakpoint; nested calls may "
 "fail."
 msgstr ""
 
-#: hppa-hpux-tdep.c:1211
+#: hppa-hpux-tdep.c:1208
 msgid ""
 "Cannot call external function not referenced by application (no import "
 "stub).\n"
 msgstr ""
 
-#: hppa-hpux-tdep.c:1222 hppa-hpux-tdep.c:1249
+#: hppa-hpux-tdep.c:1219 hppa-hpux-tdep.c:1246
 msgid "Cannot make interspace call from here."
 msgstr ""
 
-#: hppa-hpux-tdep.c:1358
+#: hppa-hpux-tdep.c:1355
 msgid "Register set contents too small"
 msgstr ""
 
-#: hppa-linux-nat.c:157 ia64-linux-nat.c:309
+#: hppa-linux-nat.c:156 ia64-linux-nat.c:308
 #, possible-c-format
 msgid "Invalid register number %d."
 msgstr ""
 
-#: hppa-linux-nat.c:234 i386-linux-nat.c:159 ia64-linux-nat.c:755
-#: inf-ptrace.c:745 m68klinux-nat.c:126
+#: hppa-linux-nat.c:233 i386-linux-nat.c:114 ia64-linux-nat.c:754
+#: inf-ptrace.c:707 m68klinux-nat.c:125
 #, possible-c-format
 msgid "Couldn't read register %s (#%d): %s."
 msgstr ""
 
-#: hppa-linux-nat.c:262 i386-linux-nat.c:188 ia64-linux-nat.c:814
-#: inf-ptrace.c:804 m68klinux-nat.c:185
+#: hppa-linux-nat.c:261 i386-linux-nat.c:143 ia64-linux-nat.c:813
+#: inf-ptrace.c:766 m68klinux-nat.c:184
 #, possible-c-format
 msgid "Couldn't write register %s (#%d): %s."
 msgstr ""
 
-#: hppa-linux-tdep.c:49 hppa-tdep.c:671
+#: hppa-linux-tdep.c:49 hppa-tdep.c:670
 #, possible-c-format
 msgid "Unmapped DWARF DBX Register #%d encountered."
 msgstr ""
 
-#: hppa-tdep.c:486
+#: hppa-tdep.c:485
 msgid "Internal error reading unwind information."
 msgstr ""
 
-#: hppa-tdep.c:1905
+#: hppa-tdep.c:1904
 #, possible-c-format
 msgid "Cannot read instruction at %s."
 msgstr ""
 
-#: hppa-tdep.c:2403
+#: hppa-tdep.c:2402
 msgid "Requesting registers from null frame."
 msgstr ""
 
-#: hppa-tdep.c:2924
+#: hppa-tdep.c:2923
 #, possible-c-format
 msgid "Cannot resolve PLT stub at %s."
 msgstr ""
 
-#: hppa-tdep.c:3031
+#: hppa-tdep.c:3030
 #, possible-c-format
 msgid "Unsupported address size: %d"
 msgstr ""
 
-#: hppa-tdep.c:3139
+#: hppa-tdep.c:3138
 msgid "Print unwind table entry at given address."
 msgstr ""
 
 #. Debug this files internals.
-#: hppa-tdep.c:3143
+#: hppa-tdep.c:3142
 msgid ""
 "Set whether hppa target specific debugging information should be displayed."
 msgstr ""
 
-#: hppa-tdep.c:3145
+#: hppa-tdep.c:3144
 msgid "Show whether hppa target specific debugging information is displayed."
 msgstr ""
 
-#: hppa-tdep.c:3146
+#: hppa-tdep.c:3145
 msgid ""
 "This flag controls whether hppa target specific debugging information is\n"
 "displayed.  This information is particularly useful for debugging frame\n"
 "unwinding problems."
 msgstr ""
 
-#: i386bsd-nat.c:220
+#: i386bsd-nat.c:218
 msgid "Couldn't write XMM registers"
 msgstr ""
 
-#: i386bsd-nat.c:376
+#: i386bsd-nat.c:374
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_pc) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: i386bsd-nat.c:389
+#: i386bsd-nat.c:387
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_sp) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: i386bsd-nat.c:402
+#: i386bsd-nat.c:400
 #, possible-c-format
 msgid ""
 "offsetof (struct sigcontext, sc_fp) yields %d instead of %d.\n"
 "Please report this to <bug-gdb@gnu.org>."
 msgstr ""
 
-#: i386-darwin-nat.c:72 i386-darwin-nat.c:116
+#: i386-darwin-nat.c:71 i386-darwin-nat.c:120
 #, possible-c-format
 msgid "Error calling thread_get_state for GP registers for thread 0x%lx\n"
 msgstr ""
 
-#: i386-darwin-nat.c:92 i386-darwin-nat.c:141
+#: i386-darwin-nat.c:96 i386-darwin-nat.c:145
 #, possible-c-format
 msgid "Error calling thread_get_state for float registers for thread 0x%lx\n"
 msgstr ""
 
-#: i386-darwin-nat.c:153
+#: i386-darwin-nat.c:157
 #, possible-c-format
 msgid "unknown register %d"
 msgstr ""
 
-#: i386-darwin-nat.c:578
+#: i386-darwin-nat.c:586
 #, possible-c-format
 msgid "darwin_set_sstep: error %x, thread=%x\n"
 msgstr ""
 
-#: i386-darwin-nat.c:618
+#: i386-darwin-nat.c:626
 #, possible-c-format
 msgid "darwin_set_sstep: unknown flavour: %d"
 msgstr ""
 
-#: i386gnu-nat.c:89 i386gnu-nat.c:197
+#: i386gnu-nat.c:67 i386gnu-nat.c:157
 #, possible-c-format
 msgid "Couldn't fetch floating-point state from %s"
 msgstr ""
 
-#: i386gnu-nat.c:137
+#: i386gnu-nat.c:97
 #, possible-c-format
 msgid "Can't fetch registers from thread %s: No such thread"
 msgstr ""
 
-#: i386gnu-nat.c:148
+#: i386gnu-nat.c:108
 #, possible-c-format
 msgid "Couldn't fetch registers from %s"
 msgstr ""
 
-#: i386gnu-nat.c:210
+#: i386gnu-nat.c:170
 #, possible-c-format
 msgid "Couldn't store floating-point state into %s"
 msgstr ""
 
-#: i386gnu-nat.c:230
+#: i386gnu-nat.c:190
 #, possible-c-format
 msgid "Couldn't store registers into thread %s: No such thread"
 msgstr ""
 
-#: i386gnu-nat.c:247
+#: i386gnu-nat.c:207
 #, possible-c-format
 msgid "Couldn't store registers into %s"
 msgstr ""
 
-#: i386gnu-nat.c:268
+#: i386gnu-nat.c:228
 #, possible-c-format
 msgid "Register %s changed after the thread was aborted"
 msgstr ""
 
-#: i386gnu-nat.c:275
+#: i386gnu-nat.c:235
 msgid "... also writing this register!  Suspicious..."
 msgstr ""
 
-#: i386-linux-nat.c:380 i386-linux-nat.c:403
-msgid "Couldn't read extended state status"
-msgstr ""
-
-#: i386-linux-nat.c:436 i386-linux-nat.c:463
-msgid "Couldn't read floating-point and SSE registers"
-msgstr ""
-
-#: i386-linux-nat.c:469
-msgid "Couldn't write floating-point and SSE registers"
-msgstr ""
-
-#: i386-linux-nat.c:572 m32r-linux-nat.c:217 m68klinux-nat.c:457
+#: i386gnu-nat.c:287
 #, possible-c-format
-msgid "Got request for bad register number %d."
+msgid "Couldn't fetch debug state from %s"
 msgstr ""
 
-#: i386-linux-nat.c:641 m32r-linux-nat.c:242 m68klinux-nat.c:505
+#: i386gnu-nat.c:301
 #, possible-c-format
-msgid "Got request to store bad register number %d."
+msgid "Couldn't store debug state into %s"
 msgstr ""
 
-#: i386-linux-tdep.c:628
-msgid "Couldn't read `xcr0' bytes from `.reg-xstate' section in core file."
+#: i386-linux-nat.c:335 i386-linux-nat.c:358
+msgid "Couldn't read extended state status"
 msgstr ""
 
-#: i386-nat.c:369
-msgid "The i386 doesn't support data-read watchpoints.\n"
+#: i386-linux-nat.c:391 i386-linux-nat.c:418
+msgid "Couldn't read floating-point and SSE registers"
 msgstr ""
 
-#: i386-nat.c:381
-#, possible-c-format
-msgid "Invalid hardware breakpoint type %d in i386_length_and_rw_bits.\n"
+#: i386-linux-nat.c:424
+msgid "Couldn't write floating-point and SSE registers"
 msgstr ""
 
-#: i386-nat.c:399
+#: i386-linux-nat.c:527 m32r-linux-nat.c:214 m68klinux-nat.c:456
 #, possible-c-format
-msgid "Invalid hardware breakpoint length %d in i386_length_and_rw_bits.\n"
+msgid "Got request for bad register number %d."
 msgstr ""
 
-#: i386-nat.c:569
+#: i386-linux-nat.c:596 m32r-linux-nat.c:239 m68klinux-nat.c:504
 #, possible-c-format
-msgid "Invalid value %d of operation in i386_handle_nonaligned_watchpoint.\n"
-msgstr ""
-
-#: i386-nat.c:869
-msgid "Set whether to show variables that mirror the x86 debug registers."
+msgid "Got request to store bad register number %d."
 msgstr ""
 
-#: i386-nat.c:870
-msgid "Show whether to show variables that mirror the x86 debug registers."
+#: i386-linux-tdep.c:604
+msgid "Couldn't read `xcr0' bytes from `.reg-xstate' section in core file."
 msgstr ""
 
-#: i386-tdep.c:2757
+#: i386-tdep.c:2754
 msgid "Cannot find floating-point return value."
 msgstr ""
 
-#: i386-tdep.c:2788 m68k-tdep.c:311
+#: i386-tdep.c:2785 m68k-tdep.c:309
 #, possible-c-format
 msgid "Cannot extract return value of %d bytes long."
 msgstr ""
 
-#: i386-tdep.c:2810
+#: i386-tdep.c:2807
 msgid "Cannot set floating-point return value."
 msgstr ""
 
-#: i386-tdep.c:2853 m68k-tdep.c:352
+#: i386-tdep.c:2850 m68k-tdep.c:350
 #, possible-c-format
 msgid "Cannot store return value of %d bytes long."
 msgstr ""
 
-#: i386-tdep.c:4856 i386-tdep.c:5747 i386-tdep.c:6421 i386-tdep.c:6976
-#: i386-tdep.c:7033
+#: i386-tdep.c:4823 i386-tdep.c:5714 i386-tdep.c:6388 i386-tdep.c:6943
+#: i386-tdep.c:7000
 #, possible-c-format
 msgid ""
 "Process record ignores the memory change of instruction at address %s\n"
@@ -12791,114 +13013,114 @@ msgstr ""
 
 #. XXX
 #. int3
-#: i386-tdep.c:6762
+#: i386-tdep.c:6729
 msgid "Process record does not support instruction int3.\n"
 msgstr ""
 
-#: i386-tdep.c:6779
+#: i386-tdep.c:6746
 #, possible-c-format
 msgid "Process record does not support instruction int 0x%02x.\n"
 msgstr ""
 
 #. XXX
 #. into
-#: i386-tdep.c:6793
+#: i386-tdep.c:6760
 msgid "Process record does not support instruction into.\n"
 msgstr ""
 
 #. bound
-#: i386-tdep.c:6804
+#: i386-tdep.c:6771
 msgid "Process record does not support instruction bound.\n"
 msgstr ""
 
 #. wrmsr
-#: i386-tdep.c:6840
+#: i386-tdep.c:6807
 msgid "Process record does not support instruction wrmsr.\n"
 msgstr ""
 
 #. rdmsr
-#: i386-tdep.c:6847
+#: i386-tdep.c:6814
 msgid "Process record does not support instruction rdmsr.\n"
 msgstr ""
 
-#: i386-tdep.c:6868
+#: i386-tdep.c:6835
 msgid "Process record does not support instruction sysenter.\n"
 msgstr ""
 
 #. sysexit
-#: i386-tdep.c:6880
+#: i386-tdep.c:6847
 msgid "Process record does not support instruction sysexit.\n"
 msgstr ""
 
-#: i386-tdep.c:6891
+#: i386-tdep.c:6858
 msgid "Process record does not support instruction syscall.\n"
 msgstr ""
 
 #. sysret
-#: i386-tdep.c:6903
+#: i386-tdep.c:6870
 msgid "Process record does not support instruction sysret.\n"
 msgstr ""
 
 #. hlt
-#: i386-tdep.c:6917
+#: i386-tdep.c:6884
 msgid "Process record does not support instruction hlt.\n"
 msgstr ""
 
-#: i386-tdep.c:8045
+#: i386-tdep.c:8012
 #, possible-c-format
 msgid "Process record does not support instruction 0x%02x at address %s.\n"
 msgstr ""
 
-#: i386-tdep.c:8113
+#: i386-tdep.c:8080
 #, possible-c-format
 msgid ""
 "; instruction is only %d bytes long, need at least %d bytes for the jump"
 msgstr ""
 
-#: i386-tdep.c:8635
+#: i386-tdep.c:8602
 msgid "Set the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:8636
+#: i386-tdep.c:8603
 msgid "Show the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:8637
+#: i386-tdep.c:8604
 msgid ""
 "The valid values are \"att\" and \"intel\", and the default value is \"att\"."
 msgstr ""
 
-#: i386-tdep.c:8646
+#: i386-tdep.c:8613
 msgid "Set the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:8647
+#: i386-tdep.c:8614
 msgid "Show the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:8648
+#: i386-tdep.c:8615
 msgid ""
 "Valid values are \"default\", \"pcc\" and \"reg\", and the default value\n"
 "is \"default\"."
 msgstr ""
 
-#: i387-tdep.c:125 i387-tdep.c:163 i387-tdep.c:311 i387-tdep.c:321
-#: i387-tdep.c:323 i387-tdep.c:325 i387-tdep.c:327 i387-tdep.c:329
-#: i387-tdep.c:333 tui/tui-stack.c:363 valprint.c:356
+#: i387-tdep.c:122 i387-tdep.c:160 i387-tdep.c:308 i387-tdep.c:318
+#: i387-tdep.c:320 i387-tdep.c:322 i387-tdep.c:324 i387-tdep.c:326
+#: i387-tdep.c:330 tui/tui-stack.c:362 valprint.c:353
 msgid "<unavailable>"
 msgstr ""
 
-#: i387-tdep.c:373 m68k-tdep.c:216
+#: i387-tdep.c:370 m68k-tdep.c:214
 msgid ""
 "Cannot convert floating-point register value to non-floating-point type."
 msgstr ""
 
-#: i387-tdep.c:404 m68k-tdep.c:248
+#: i387-tdep.c:401 m68k-tdep.c:246
 msgid ""
 "Cannot convert non-floating-point type to floating-point register value."
 msgstr ""
 
-#: i387-tdep.c:1529 i387-tdep.c:1632
+#: i387-tdep.c:1526 i387-tdep.c:1629
 msgid "invalid i387 regclass"
 msgstr ""
 
@@ -12927,85 +13149,85 @@ msgstr ""
 msgid "Failed to read value of register number %d."
 msgstr ""
 
-#: ia64-libunwind-tdep.c:223
+#: ia64-libunwind-tdep.c:220
 msgid "Can't get libunwind sp register."
 msgstr ""
 
-#: ia64-libunwind-tdep.c:510 ia64-libunwind-tdep.c:513
+#: ia64-libunwind-tdep.c:507 ia64-libunwind-tdep.c:510
 #, possible-c-format
 msgid "[GDB failed to load %s: %s]\n"
 msgstr ""
 
-#: ia64-tdep.c:534
+#: ia64-tdep.c:533
 msgid ""
 "Can't fetch instructions for slot numbers greater than 2.\n"
 "Using slot 0 instead"
 msgstr ""
 
-#: ia64-tdep.c:650 ia64-tdep.c:837
+#: ia64-tdep.c:649 ia64-tdep.c:836
 msgid "Can't insert breakpoint for slot numbers greater than 2."
 msgstr ""
 
-#: ia64-tdep.c:683 ia64-tdep.c:865
+#: ia64-tdep.c:682 ia64-tdep.c:864
 msgid "Can't insert breakpoint for non-existing slot X"
 msgstr ""
 
-#: ia64-tdep.c:721
+#: ia64-tdep.c:720
 #, possible-c-format
 msgid "Address %s already contains a breakpoint."
 msgstr ""
 
-#: ia64-tdep.c:774
+#: ia64-tdep.c:773
 #, possible-c-format
 msgid ""
 "Cannot remove breakpoint at address %s from non-existing X-type slot, memory "
 "has changed underneath"
 msgstr ""
 
-#: ia64-tdep.c:795
+#: ia64-tdep.c:794
 #, possible-c-format
 msgid ""
 "Cannot remove breakpoint at address %s, no break instruction at such address."
 msgstr ""
 
-#: infcall.c:81
+#: infcall.c:79
 #, possible-c-format
 msgid "Coercion of floats to doubles when calling functions is %s.\n"
 msgstr ""
 
-#: infcall.c:99
+#: infcall.c:97
 #, possible-c-format
 msgid ""
 "Unwinding of stack if a signal is received while in a call dummy is %s.\n"
 msgstr ""
 
-#: infcall.c:125
+#: infcall.c:123
 #, possible-c-format
 msgid ""
 "Unwind stack if a C++ exception is unhandled while in a call dummy is %s.\n"
 msgstr ""
 
-#: infcall.c:317
+#: infcall.c:315
 msgid "Invalid data type for function to be called."
 msgstr ""
 
-#: infcall.c:509
+#: infcall.c:519
 msgid "May not call functions while looking at trace frames."
 msgstr ""
 
-#: infcall.c:512
+#: infcall.c:522
 msgid "Cannot call functions in reverse mode."
 msgstr ""
 
-#: infcall.c:518
+#: infcall.c:528
 msgid "This target does not support function calls."
 msgstr ""
 
-#: infcall.c:691
+#: infcall.c:730
 msgid "Too few arguments in function call."
 msgstr ""
 
-#: infcall.c:881
+#: infcall.c:937
 #, possible-c-format
 msgid ""
 "%s\n"
@@ -13018,7 +13240,7 @@ msgstr ""
 #. We could discard the dummy frame here given that the program exited,
 #. but it will get garbage collected the next time the program is
 #. run anyway.
-#: infcall.c:909
+#: infcall.c:965
 #, possible-c-format
 msgid ""
 "The program being debugged exited while in a function called from GDB.\n"
@@ -13026,7 +13248,7 @@ msgid ""
 "(%s) will be abandoned."
 msgstr ""
 
-#: infcall.c:929
+#: infcall.c:985
 #, possible-c-format
 msgid ""
 "The program received a signal in another thread while\n"
@@ -13036,7 +13258,7 @@ msgid ""
 "When the function is done executing, GDB will silently stop."
 msgstr ""
 
-#: infcall.c:937
+#: infcall.c:993
 #, possible-c-format
 msgid ""
 "The program stopped in another thread while making a function call from "
@@ -13048,7 +13270,7 @@ msgstr ""
 
 #. FIXME: Insert a bunch of wrap_here; name can be very
 #. long if it's a C++ name with arguments and stuff.
-#: infcall.c:970
+#: infcall.c:1026
 #, possible-c-format
 msgid ""
 "The program being debugged was signaled while in a function called from "
@@ -13061,7 +13283,7 @@ msgstr ""
 
 #. FIXME: Insert a bunch of wrap_here; name can be very
 #. long if it's a C++ name with arguments and stuff.
-#: infcall.c:988
+#: infcall.c:1044
 #, possible-c-format
 msgid ""
 "The program being debugged was signaled while in a function called from "
@@ -13073,7 +13295,7 @@ msgid ""
 "When the function is done executing, GDB will silently stop."
 msgstr ""
 
-#: infcall.c:1009
+#: infcall.c:1065
 #, possible-c-format
 msgid ""
 "The program being debugged entered a std::terminate call, most likely\n"
@@ -13093,7 +13315,7 @@ msgstr ""
 #. someday this will be implemented (it would not be easy).
 #. FIXME: Insert a bunch of wrap_here; name can be very long if it's
 #. a C++ name with arguments and stuff.
-#: infcall.c:1036
+#: infcall.c:1092
 #, possible-c-format
 msgid ""
 "The program being debugged stopped while in a function called from GDB.\n"
@@ -13103,19 +13325,19 @@ msgid ""
 msgstr ""
 
 #. The above code errors out, so ...
-#: infcall.c:1045
+#: infcall.c:1101
 msgid "... should not be here"
 msgstr ""
 
-#: infcall.c:1108
+#: infcall.c:1173
 msgid "Set coercion of floats to doubles when calling functions."
 msgstr ""
 
-#: infcall.c:1109
+#: infcall.c:1174
 msgid "Show coercion of floats to doubles when calling functions"
 msgstr ""
 
-#: infcall.c:1110
+#: infcall.c:1175
 msgid ""
 "Variables of type float should generally be converted to doubles before\n"
 "calling an unprototyped function, and left alone when calling a prototyped\n"
@@ -13126,15 +13348,15 @@ msgid ""
 "The default is to perform the conversion.\n"
 msgstr ""
 
-#: infcall.c:1123
+#: infcall.c:1188
 msgid "Set unwinding of stack if a signal is received while in a call dummy."
 msgstr ""
 
-#: infcall.c:1124
+#: infcall.c:1189
 msgid "Show unwinding of stack if a signal is received while in a call dummy."
 msgstr ""
 
-#: infcall.c:1125
+#: infcall.c:1190
 msgid ""
 "The unwindonsignal lets the user determine what gdb should do if a signal\n"
 "is received while in a function called from gdb (call dummy).  If set, gdb\n"
@@ -13143,16 +13365,16 @@ msgid ""
 "The default is to stop in the frame where the signal was received."
 msgstr ""
 
-#: infcall.c:1135
+#: infcall.c:1200
 msgid "Set unwinding of stack if std::terminate is called while in call dummy."
 msgstr ""
 
-#: infcall.c:1136
+#: infcall.c:1201
 msgid ""
 "Show unwinding of stack if std::terminate() is called while in a call dummy."
 msgstr ""
 
-#: infcall.c:1138
+#: infcall.c:1203
 msgid ""
 "The unwind on terminating exception flag lets the user determine\n"
 "what gdb should do if a std::terminate() call is made from the\n"
@@ -13166,96 +13388,96 @@ msgstr ""
 msgid "Argument given to \"disconnect\"."
 msgstr ""
 
-#: infcmd.c:113 infcmd.c:2313 infcmd.c:2707 linux-fork.c:664
-#: record-btrace.c:198 remote-sim.c:890
+#: infcmd.c:110 infcmd.c:2396 infcmd.c:2780 linux-fork.c:662
+#: record-btrace.c:200 remote-sim.c:888
 msgid "The program is not being run."
 msgstr ""
 
-#: infcmd.c:191
+#: infcmd.c:188
 #, possible-c-format
 msgid "Terminal for future runs of program being debugged is \"%s\".\n"
 msgstr ""
 
-#: infcmd.c:355
+#: infcmd.c:352
 msgid "can't handle command-line argument containing whitespace"
 msgstr ""
 
-#: infcmd.c:456
+#: infcmd.c:453
 msgid ""
 "platform-specific solib_create_inferior_hook did not load initial shared "
 "libraries."
 msgstr ""
 
-#: infcmd.c:496
+#: infcmd.c:493
 msgid ""
 "The program being debugged has been started already.\n"
 "Start it from the beginning? "
 msgstr ""
 
-#: infcmd.c:498
+#: infcmd.c:495
 msgid "Program not restarted."
 msgstr ""
 
-#: infcmd.c:511
+#: infcmd.c:508
 msgid "Asynchronous execution not supported on this target."
 msgstr ""
 
-#: infcmd.c:571
+#: infcmd.c:568
 msgid "The target does not support running in non-stop mode."
 msgstr ""
 
-#: infcmd.c:667
+#: infcmd.c:664
 msgid "No symbol table loaded.  Use the \"file\" command."
 msgstr ""
 
-#: infcmd.c:699
+#: infcmd.c:696
 msgid "Cannot execute this command without a live selected thread."
 msgstr ""
 
-#: infcmd.c:710
+#: infcmd.c:707
 msgid "Cannot execute this command while looking at trace frames."
 msgstr ""
 
-#: infcmd.c:718
+#: infcmd.c:715
 msgid "Cannot execute this command while the selected thread is running."
 msgstr ""
 
-#: infcmd.c:807
+#: infcmd.c:804
 msgid "`-a' is meaningless in all-stop mode."
 msgstr ""
 
-#: infcmd.c:810
+#: infcmd.c:807
 msgid "Can't resume all threads and specify proceed count simultaneously."
 msgstr ""
 
-#: infcmd.c:859
+#: infcmd.c:856
 msgid "Continuing.\n"
 msgstr ""
 
-#: infcmd.c:1101
+#: infcmd.c:1098 infcmd.c:1709
 msgid "Cannot find bounds of current function"
 msgstr ""
 
-#: infcmd.c:1104
+#: infcmd.c:1101
 #, possible-c-format
 msgid ""
 "Single stepping until exit from function %s,\n"
 "which has no line number information.\n"
 msgstr ""
 
-#: infcmd.c:1171
+#: infcmd.c:1168
 msgid "starting address"
 msgstr ""
 
-#: infcmd.c:1176
+#: infcmd.c:1173
 msgid "Unreasonable jump request"
 msgstr ""
 
-#: infcmd.c:1186
+#: infcmd.c:1183
 msgid "No source file has been specified."
 msgstr ""
 
-#: infcmd.c:1195
+#: infcmd.c:1192
 #, possible-c-format
 msgid "Line %d is not in `%s'.  Jump anyway? "
 msgstr ""
@@ -13272,185 +13494,202 @@ msgstr ""
 msgid "Usage: go <location>\n"
 msgstr ""
 
-#: infcmd.c:1269
+#: infcmd.c:1269 infcmd.c:1358
 msgid "signal number"
 msgstr ""
 
-#: infcmd.c:1290
+#: infcmd.c:1314
+msgid "Note:\n"
+msgstr ""
+
+#: infcmd.c:1315
+#, possible-c-format
+msgid "  Thread %d previously stopped with signal %s, %s.\n"
+msgstr ""
+
+#: infcmd.c:1324
+#, possible-c-format
+msgid ""
+"Continuing thread %d (the current thread) with specified signal will\n"
+"still deliver the signals noted above to their respective threads.\n"
+"Continue anyway? "
+msgstr ""
+
+#: infcmd.c:1334
 msgid "Continuing with no signal.\n"
 msgstr ""
 
-#: infcmd.c:1292
+#: infcmd.c:1336
 #, possible-c-format
 msgid "Continuing with signal %s.\n"
 msgstr ""
 
-#: infcmd.c:1354
+#: infcmd.c:1378
+msgid "Signal handling set to not pass this signal to the program."
+msgstr ""
+
+#: infcmd.c:1438
 msgid "Execution is not within a known function."
 msgstr ""
 
-#: infcmd.c:1431
+#: infcmd.c:1515
 msgid "a location"
 msgstr ""
 
-#: infcmd.c:1575
+#: infcmd.c:1659
 msgid "finish_command: function has no target type"
 msgstr ""
 
-#: infcmd.c:1626
-msgid "Finish: couldn't find function."
-msgstr ""
-
-#: infcmd.c:1733
+#: infcmd.c:1816
 msgid "The \"finish\" command does not take any arguments."
 msgstr ""
 
 #. Finishing from an inline frame is completely different.  We don't
 #. try to show the "return value" - no way to locate it.  So we do
 #. not need a completion.
-#: infcmd.c:1738 infcmd.c:1747
+#: infcmd.c:1821 infcmd.c:1830
 msgid "No selected frame."
 msgstr ""
 
-#: infcmd.c:1740
+#: infcmd.c:1823
 msgid "\"finish\" not meaningful in the outermost frame."
 msgstr ""
 
-#: infcmd.c:1768 infcmd.c:1792
+#: infcmd.c:1851 infcmd.c:1875
 msgid "Run till exit from "
 msgstr ""
 
-#: infcmd.c:1790
+#: infcmd.c:1873
 msgid "Run back to call of "
 msgstr ""
 
-#: infcmd.c:1814
+#: infcmd.c:1897
 msgid "The program being debugged is not being run.\n"
 msgstr ""
 
-#: infcmd.c:1830 infrun.c:6767
+#: infcmd.c:1913 infrun.c:7095
 msgid "Selected thread is running."
 msgstr ""
 
-#: infcmd.c:1837
+#: infcmd.c:1920
 #, possible-c-format
 msgid "Program stopped at %s.\n"
 msgstr ""
 
-#: infcmd.c:1840
+#: infcmd.c:1923
 msgid "It stopped after being stepped.\n"
 msgstr ""
 
-#: infcmd.c:1849
+#: infcmd.c:1932
 msgid "It stopped at a breakpoint that has since been deleted.\n"
 msgstr ""
 
-#: infcmd.c:1853
+#: infcmd.c:1936
 #, possible-c-format
 msgid "It stopped at breakpoint %d.\n"
 msgstr ""
 
-#: infcmd.c:1859
+#: infcmd.c:1942
 #, possible-c-format
 msgid "It stopped with signal %s, %s.\n"
 msgstr ""
 
-#: infcmd.c:1866
+#: infcmd.c:1949
 msgid "Type \"info stack\" or \"info registers\" for more information.\n"
 msgstr ""
 
-#: infcmd.c:1911
+#: infcmd.c:1994
 msgid "environment variable and value"
 msgstr ""
 
-#: infcmd.c:1935
+#: infcmd.c:2018
 msgid "environment variable to set"
 msgstr ""
 
-#: infcmd.c:1957
+#: infcmd.c:2040
 #, possible-c-format
 msgid "Setting environment variable \"%s\" to null value.\n"
 msgstr ""
 
 #. If there is no argument, delete all environment variables.
 #. Ask for confirmation if reading from the terminal.
-#: infcmd.c:1974
+#: infcmd.c:2057
 msgid "Delete all environment variables? "
 msgstr ""
 
-#: infcmd.c:2152 infcmd.c:2298 infcmd.c:2831
+#: infcmd.c:2235 infcmd.c:2381 infcmd.c:2901
 msgid "The program has no registers now."
 msgstr ""
 
-#: infcmd.c:2176
+#: infcmd.c:2259
 msgid "Missing register name"
 msgstr ""
 
 #. Nothing matched.
-#: infcmd.c:2249
+#: infcmd.c:2332
 #, possible-c-format
 msgid "Invalid register `%.*s'"
 msgstr ""
 
-#: infcmd.c:2314
+#: infcmd.c:2397
 msgid "Kill the program being debugged? "
 msgstr ""
 
-#: infcmd.c:2328
+#: infcmd.c:2411
 #, possible-c-format
 msgid "In %s,\n"
 msgstr ""
 
-#: infcmd.c:2523 target.c:2114
+#: infcmd.c:2596 target.c:2159
 msgid "A program is being debugged already.  Kill it? "
 msgstr ""
 
-#: infcmd.c:2526
+#: infcmd.c:2599
 msgid "Not killed."
 msgstr ""
 
-#: infcmd.c:2541
+#: infcmd.c:2614
 msgid "Cannot attach to this target in non-stop mode"
 msgstr ""
 
-#: infcmd.c:2791
+#: infcmd.c:2864
 msgid "-a is meaningless in all-stop mode."
 msgstr ""
 
-#: infcmd.c:2839
+#: infcmd.c:2910
 msgid "\"unset\" must be followed by the name of an unset subcommand.\n"
 msgstr ""
 
-#: infcmd.c:2856 procfs.c:5167
+#: infcmd.c:2927 procfs.c:5110
 msgid "Not supported on this target."
 msgstr ""
 
-#: infcmd.c:2933
+#: infcmd.c:3004
 msgid "Set terminal for future runs of program being debugged."
 msgstr ""
 
-#: infcmd.c:2934
+#: infcmd.c:3005
 msgid "Show terminal for future runs of program being debugged."
 msgstr ""
 
-#: infcmd.c:2935
+#: infcmd.c:3006
 msgid "Usage: set inferior-tty /dev/pts/1"
 msgstr ""
 
-#: infcmd.c:2944
+#: infcmd.c:3015
 msgid "Set argument list to give program being debugged when it is started."
 msgstr ""
 
-#: infcmd.c:2945
+#: infcmd.c:3016
 msgid "Show argument list to give program being debugged when it is started."
 msgstr ""
 
-#: infcmd.c:2946
+#: infcmd.c:3017
 msgid ""
 "Follow this command with any number of args, to be passed to the program."
 msgstr ""
 
-#: infcmd.c:2955
+#: infcmd.c:3026
 msgid ""
 "The environment to give the program, or one variable's value.\n"
 "With an argument VAR, prints the value of environment variable VAR to\n"
@@ -13458,17 +13697,17 @@ msgid ""
 "environment to be given to the program."
 msgstr ""
 
-#: infcmd.c:2963
+#: infcmd.c:3034
 msgid "Complement to certain \"set\" commands."
 msgstr ""
 
-#: infcmd.c:2966
+#: infcmd.c:3037
 msgid ""
 "Cancel environment variable VAR for the program.\n"
 "This does not affect the program until the next \"run\" command."
 msgstr ""
 
-#: infcmd.c:2972
+#: infcmd.c:3043
 msgid ""
 "Set environment variable value to give the program.\n"
 "Arguments are VAR VALUE where VAR is variable name and VALUE is value.\n"
@@ -13476,7 +13715,7 @@ msgid ""
 "This does not affect the program until the next \"run\" command."
 msgstr ""
 
-#: infcmd.c:2980
+#: infcmd.c:3051
 msgid ""
 "Add directory DIR(s) to beginning of search path for object files.\n"
 "$cwd in the path means the current working directory.\n"
@@ -13485,7 +13724,7 @@ msgid ""
 "fully linked executable files and separately compiled object files as needed."
 msgstr ""
 
-#: infcmd.c:2989
+#: infcmd.c:3060
 msgid ""
 "Current search path for finding object files.\n"
 "$cwd in the path means the current working directory.\n"
@@ -13494,11 +13733,11 @@ msgid ""
 "fully linked executable files and separately compiled object files as needed."
 msgstr ""
 
-#: infcmd.c:3000
+#: infcmd.c:3071
 msgid "Kill execution of program being debugged."
 msgstr ""
 
-#: infcmd.c:3003
+#: infcmd.c:3074
 msgid ""
 "Attach to a process or file outside of GDB.\n"
 "This command attaches to another target, of the same type as your last\n"
@@ -13513,21 +13752,21 @@ msgid ""
 "to specify the program, and to load its symbol table."
 msgstr ""
 
-#: infcmd.c:3016
+#: infcmd.c:3087
 msgid ""
 "Detach a process or file previously attached.\n"
 "If a process, it is no longer traced, and it continues its execution.  If\n"
 "you were debugging a file, the file is closed and gdb no longer accesses it."
 msgstr ""
 
-#: infcmd.c:3022
+#: infcmd.c:3093
 msgid ""
 "Disconnect from a target.\n"
 "The target will wait for another debugger to connect.  Not available for\n"
 "all targets."
 msgstr ""
 
-#: infcmd.c:3027
+#: infcmd.c:3098
 msgid ""
 "Continue program with the specified signal.\n"
 "Usage: signal SIGNAL\n"
@@ -13536,31 +13775,49 @@ msgid ""
 "An argument of \"0\" means continue the program without sending it a "
 "signal.\n"
 "This is useful in cases where the program stopped because of a signal,\n"
-"and you want to resume the program while discarding the signal."
+"and you want to resume the program while discarding the signal.\n"
+"\n"
+"In a multi-threaded program the signal is delivered to, or discarded from,\n"
+"the current thread only."
 msgstr ""
 
-#: infcmd.c:3037
+#: infcmd.c:3111
+msgid ""
+"Queue a signal to be delivered to the current thread when it is resumed.\n"
+"Usage: queue-signal SIGNAL\n"
+"The SIGNAL argument is processed the same as the handle command.\n"
+"It is an error if the handling state of SIGNAL is \"nopass\".\n"
+"\n"
+"An argument of \"0\" means remove any currently queued signal from\n"
+"the current thread.  This is useful in cases where the program stopped\n"
+"because of a signal, and you want to resume it while discarding the signal.\n"
+"\n"
+"In a multi-threaded program the signal is queued with, or discarded from,\n"
+"the current thread only."
+msgstr ""
+
+#: infcmd.c:3125
 msgid ""
 "Step one instruction exactly.\n"
 "Usage: stepi [N]\n"
 "Argument N means step N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3044
+#: infcmd.c:3132
 msgid ""
 "Step one instruction, but proceed through subroutine calls.\n"
 "Usage: nexti [N]\n"
 "Argument N means step N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3051
+#: infcmd.c:3139
 msgid ""
 "Execute until selected stack frame returns.\n"
 "Usage: finish\n"
 "Upon return, the value returned is printed and put in the value history."
 msgstr ""
 
-#: infcmd.c:3057
+#: infcmd.c:3145
 msgid ""
 "Step program, proceeding through subroutine calls.\n"
 "Usage: next [N]\n"
@@ -13569,28 +13826,28 @@ msgid ""
 "the call, in effect treating it as a single source line."
 msgstr ""
 
-#: infcmd.c:3067
+#: infcmd.c:3155
 msgid ""
 "Step program until it reaches a different source line.\n"
 "Usage: step [N]\n"
 "Argument N means step N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3074
+#: infcmd.c:3162
 msgid ""
 "Execute until the program reaches a source line greater than the current\n"
 "or a specified location (same args as break command) within the current "
 "frame."
 msgstr ""
 
-#: infcmd.c:3081
+#: infcmd.c:3169
 msgid ""
 "Continue the program up to the given location (same form as args for break "
 "command).\n"
 "Execution will also stop upon exit from the current stack frame."
 msgstr ""
 
-#: infcmd.c:3087
+#: infcmd.c:3175
 msgid ""
 "Continue program being debugged at specified line or address.\n"
 "Usage: jump <location>\n"
@@ -13598,7 +13855,7 @@ msgid ""
 "for an address to start at."
 msgstr ""
 
-#: infcmd.c:3097
+#: infcmd.c:3185
 msgid ""
 "Usage: go <location>\n"
 "Continue program being debugged, stopping at specified line or \n"
@@ -13608,7 +13865,7 @@ msgid ""
 "This command is a combination of tbreak and jump."
 msgstr ""
 
-#: infcmd.c:3110
+#: infcmd.c:3198
 msgid ""
 "Continue program being debugged, after signal or breakpoint.\n"
 "Usage: continue [N]\n"
@@ -13622,7 +13879,7 @@ msgid ""
 "Specifying -a and an ignore count simultaneously is an error."
 msgstr ""
 
-#: infcmd.c:3124
+#: infcmd.c:3212
 msgid ""
 "Start debugged program.  You may specify arguments to give it.\n"
 "Args may include \"*\", or \"[...]\"; they are expanded using \"sh\".\n"
@@ -13634,18 +13891,18 @@ msgid ""
 "use \"set args\" without arguments."
 msgstr ""
 
-#: infcmd.c:3137
+#: infcmd.c:3225
 msgid "Start debugged program with no arguments."
 msgstr ""
 
-#: infcmd.c:3139
+#: infcmd.c:3227
 msgid ""
 "Run the debugged program until the beginning of the main procedure.\n"
 "You may specify arguments to give to your program, just as with the\n"
 "\"run\" command."
 msgstr ""
 
-#: infcmd.c:3146
+#: infcmd.c:3234
 msgid ""
 "Interrupt the execution of the debugged program.\n"
 "If non-stop mode is enabled, interrupt only the current thread,\n"
@@ -13653,62 +13910,62 @@ msgid ""
 "interrupt all running threads in non-stop mode, use the -a option."
 msgstr ""
 
-#: infcmd.c:3151 infcmd.c:3157
+#: infcmd.c:3239 infcmd.c:3247
 msgid ""
 "List of integer registers and their contents, for selected stack frame.\n"
 "Register name as argument means describe only that register."
 msgstr ""
 
-#: infcmd.c:3160
+#: infcmd.c:3253
 msgid ""
 "List of all registers and their contents, for selected stack frame.\n"
 "Register name as argument means describe only that register."
 msgstr ""
 
-#: infcmd.c:3165
+#: infcmd.c:3259
 msgid "Execution status of the program."
 msgstr ""
 
-#: infcmd.c:3168
+#: infcmd.c:3262
 msgid "Print the status of the floating point unit\n"
 msgstr ""
 
-#: infcmd.c:3171
+#: infcmd.c:3265
 msgid "Print the status of the vector unit\n"
 msgstr ""
 
-#: infcmd.c:3174
+#: infcmd.c:3268
 msgid ""
 "Show /proc process information about any running process.\n"
 "Specify any process id, or use the program being debugged by default."
 msgstr ""
 
 #. allow-unknown
-#: infcmd.c:3180
+#: infcmd.c:3274
 msgid "List of mapped memory regions."
 msgstr ""
 
-#: infcmd.c:3184
+#: infcmd.c:3278
 msgid "List process info from /proc/PID/stat."
 msgstr ""
 
-#: infcmd.c:3188
+#: infcmd.c:3282
 msgid "List process info from /proc/PID/status."
 msgstr ""
 
-#: infcmd.c:3192
+#: infcmd.c:3286
 msgid "List current working directory of the process."
 msgstr ""
 
-#: infcmd.c:3196
+#: infcmd.c:3290
 msgid "List command line arguments of the process."
 msgstr ""
 
-#: infcmd.c:3200
+#: infcmd.c:3294
 msgid "List absolute filename for executable of the process."
 msgstr ""
 
-#: infcmd.c:3204
+#: infcmd.c:3298
 msgid "List all available /proc info."
 msgstr ""
 
@@ -13717,118 +13974,118 @@ msgstr ""
 msgid "[New inferior %d]\n"
 msgstr ""
 
-#: inferior.c:228 inferior.c:291
+#: inferior.c:228 inferior.c:289
 #, possible-c-format
 msgid "[Inferior %d exited]\n"
 msgstr ""
 
-#: inferior.c:318
+#: inferior.c:316
 #, possible-c-format
 msgid "[Inferior %d detached]\n"
 msgstr ""
 
-#: inferior.c:531
+#: inferior.c:542
 msgid "<null>"
 msgstr ""
 
-#: inferior.c:600
+#: inferior.c:611
 msgid ""
 "\n"
 "\tis vfork child of inferior "
 msgstr ""
 
-#: inferior.c:605
+#: inferior.c:616
 msgid ""
 "\n"
 "\tis vfork parent of inferior "
 msgstr ""
 
-#: inferior.c:624
+#: inferior.c:635
 msgid "Requires argument (inferior id(s) to detach)"
 msgstr ""
 
-#: inferior.c:633 inferior.c:669 inferior.c:700 inferior.c:773 inferior.c:929
+#: inferior.c:644 inferior.c:680 inferior.c:711 inferior.c:784 inferior.c:940
 #, possible-c-format
 msgid "Inferior ID %d not known."
 msgstr ""
 
-#: inferior.c:642 inferior.c:678
+#: inferior.c:653 inferior.c:689
 #, possible-c-format
 msgid "Inferior ID %d has no threads."
 msgstr ""
 
-#: inferior.c:660
+#: inferior.c:671
 msgid "Requires argument (inferior id(s) to kill)"
 msgstr ""
 
-#: inferior.c:702
+#: inferior.c:713
 #, possible-c-format
 msgid "[Switching to inferior %d [%s] (%s)]\n"
 msgstr ""
 
-#: inferior.c:707
+#: inferior.c:718
 msgid "<noexec>"
 msgstr ""
 
-#: inferior.c:717 mi/mi-main.c:429
+#: inferior.c:728 mi/mi-main.c:427
 msgid "Inferior has no threads."
 msgstr ""
 
-#: inferior.c:722
+#: inferior.c:733
 #, possible-c-format
 msgid "[Switching to thread %d (%s)] "
 msgstr ""
 
-#: inferior.c:763
+#: inferior.c:774
 msgid "Requires an argument (inferior id(s) to remove)"
 msgstr ""
 
-#: inferior.c:779
+#: inferior.c:790
 #, possible-c-format
 msgid "Can not remove current symbol inferior %d."
 msgstr ""
 
-#: inferior.c:785
+#: inferior.c:796
 #, possible-c-format
 msgid "Can not remove active inferior %d."
 msgstr ""
 
-#: inferior.c:846 inferior.c:910
+#: inferior.c:857 inferior.c:921
 msgid "No argument to -copies"
 msgstr ""
 
-#: inferior.c:853
+#: inferior.c:864
 msgid "No argument to -exec"
 msgstr ""
 
-#: inferior.c:859 inferior.c:933 mi/mi-main.c:1790
+#: inferior.c:870 inferior.c:944 mi/mi-main.c:1791
 msgid "Invalid argument"
 msgstr ""
 
-#: inferior.c:869
+#: inferior.c:880
 #, possible-c-format
 msgid "Added inferior %d\n"
 msgstr ""
 
-#: inferior.c:914
+#: inferior.c:925
 msgid "Invalid copies number"
 msgstr ""
 
-#: inferior.c:966
+#: inferior.c:977
 #, possible-c-format
 msgid "Added inferior %d.\n"
 msgstr ""
 
-#: inferior.c:981
+#: inferior.c:992
 #, possible-c-format
 msgid "Printing of inferior events is %s.\n"
 msgstr ""
 
-#: inferior.c:1004
+#: inferior.c:1015
 msgid "IDs of specified inferiors (all inferiors if no argument)."
 msgstr ""
 
-#: inferior.c:1006
+#: inferior.c:1017
 msgid ""
 "Add a new inferior.\n"
 "Usage: add-inferior [-copies <N>] [-exec <FILENAME>]\n"
@@ -13837,13 +14094,13 @@ msgid ""
 "as main program."
 msgstr ""
 
-#: inferior.c:1014
+#: inferior.c:1025
 msgid ""
 "Remove inferior ID (or list of IDs).\n"
 "Usage: remove-inferiors ID..."
 msgstr ""
 
-#: inferior.c:1018
+#: inferior.c:1029
 msgid ""
 "Clone inferior ID.\n"
 "Usage: clone-inferior [-copies <N>] [ID]\n"
@@ -13853,65 +14110,65 @@ msgid ""
 "that is cloned."
 msgstr ""
 
-#: inferior.c:1026
+#: inferior.c:1037
 msgid "Detach from inferior ID (or list of IDS)."
 msgstr ""
 
-#: inferior.c:1030
+#: inferior.c:1041
 msgid "Kill inferior ID (or list of IDs)."
 msgstr ""
 
-#: inferior.c:1034
+#: inferior.c:1045
 msgid ""
 "Use this command to switch between inferiors.\n"
 "The new inferior ID must be currently known."
 msgstr ""
 
-#: inferior.c:1040
+#: inferior.c:1051
 msgid "Set printing of inferior events (e.g., inferior start and exit)."
 msgstr ""
 
-#: inferior.c:1041
+#: inferior.c:1052
 msgid "Show printing of inferior events (e.g., inferior start and exit)."
 msgstr ""
 
-#: inf-loop.c:142
+#: inf-loop.c:141
 msgid "Event type not recognized.\n"
 msgstr ""
 
-#: inflow.c:570
+#: inflow.c:591
 msgid "This GDB does not control a terminal.\n"
 msgstr ""
 
-#: inflow.c:580
+#: inflow.c:601
 msgid "Inferior's terminal status (currently saved by GDB):\n"
 msgstr ""
 
 #. Mention GDB in warning because it will appear in the inferior's
 #. terminal instead of GDB's.
-#: inflow.c:728
+#: inflow.c:749
 #, possible-c-format
 msgid "GDB: Failed to set controlling terminal: %s"
 msgstr ""
 
-#: inflow.c:817
+#: inflow.c:838
 #, possible-c-format
 msgid "Failed to create new terminal session: setsid: %s"
 msgstr ""
 
-#: inflow.c:879
+#: inflow.c:900
 msgid "Print inferior's saved terminal status."
 msgstr ""
 
-#: inflow.c:882
+#: inflow.c:903
 msgid "Set whether GDB's standard input is a terminal."
 msgstr ""
 
-#: inflow.c:883
+#: inflow.c:904
 msgid "Show whether GDB's standard input is a terminal."
 msgstr ""
 
-#: inflow.c:884
+#: inflow.c:905
 msgid ""
 "If on, GDB assumes that standard input is a terminal.  In practice, it\n"
 "means that GDB should wait for the user to answer queries associated to\n"
@@ -13921,78 +14178,78 @@ msgid ""
 "input settings."
 msgstr ""
 
-#: inf-ptrace.c:228
+#: inf-ptrace.c:190
 msgid "This system does not support attaching to a process"
 msgstr ""
 
-#: inf-ptrace.c:291
+#: inf-ptrace.c:253
 msgid "This system does not support detaching from a process"
 msgstr ""
 
-#: inf-ptrace.c:397 obsd-nat.c:102 rs6000-nat.c:508
+#: inf-ptrace.c:359 obsd-nat.c:103 rs6000-nat.c:496
 #, possible-c-format
 msgid "Child process unexpectedly missing: %s.\n"
 msgstr ""
 
-#: inf-ptrace.c:626 inf-ttrace.c:1271
+#: inf-ptrace.c:588 inf-ttrace.c:1131
 #, possible-c-format
 msgid "\tUsing the running image of %s %s.\n"
 msgstr ""
 
-#: infrun.c:109
+#: infrun.c:111
 #, possible-c-format
 msgid "Mode of the step operation is %s.\n"
 msgstr ""
 
-#: infrun.c:134
+#: infrun.c:136
 #, possible-c-format
 msgid "Displace stepping debugging is %s.\n"
 msgstr ""
 
-#: infrun.c:142
+#: infrun.c:144
 #, possible-c-format
 msgid "Inferior debugging is %s.\n"
 msgstr ""
 
-#: infrun.c:156
+#: infrun.c:158
 #, possible-c-format
 msgid "Disabling randomization of debuggee's virtual address space is %s.\n"
 msgstr ""
 
-#: infrun.c:160
+#: infrun.c:162
 msgid ""
 "Disabling randomization of debuggee's virtual address space is unsupported "
 "on\n"
 "this platform.\n"
 msgstr ""
 
-#: infrun.c:170
+#: infrun.c:172
 msgid ""
 "Disabling randomization of debuggee's virtual address space is unsupported "
 "on\n"
 "this platform."
 msgstr ""
 
-#: infrun.c:187 infrun.c:216 mi/mi-main.c:123 target.c:4190 target.c:4238
+#: infrun.c:189 infrun.c:218 mi/mi-main.c:121 target.c:3650 target.c:3698
 msgid "Cannot change this setting while the inferior is running."
 msgstr ""
 
-#: infrun.c:198
+#: infrun.c:200
 #, possible-c-format
 msgid "Controlling the inferior in non-stop mode is %s.\n"
 msgstr ""
 
-#: infrun.c:241 infrun.c:271
+#: infrun.c:243 infrun.c:273
 #, possible-c-format
 msgid "Observer mode is now %s.\n"
 msgstr ""
 
-#: infrun.c:249
+#: infrun.c:251
 #, possible-c-format
 msgid "Observer mode is %s.\n"
 msgstr ""
 
-#: infrun.c:348
+#: infrun.c:350
 #, possible-c-format
 msgid "Stopping for shared library events is %s.\n"
 msgstr ""
@@ -14002,194 +14259,224 @@ msgstr ""
 msgid "Debugger response to a program call of fork or vfork is \"%s\".\n"
 msgstr ""
 
+#. The parent stays blocked inside the vfork syscall until the
+#. child execs or exits.  If we don't let the child run, then
+#. the parent stays blocked.  If we're telling the parent to run
+#. in the foreground, the user will not be able to ctrl-c to get
+#. back the terminal, effectively hanging the debug session.
+#: infrun.c:431
+msgid ""
+"Can not resume the parent process over vfork in the foreground while\n"
+"holding the child stopped.  Try \"set detach-on-fork\" or \"set schedule-"
+"multiple\".\n"
+msgstr ""
+
+#: infrun.c:463
+#, possible-c-format
+msgid "Detaching after %s from child process %d.\n"
+msgstr ""
+
+#: infrun.c:552
+#, possible-c-format
+msgid "Attaching after process %d %s to child process %d.\n"
+msgstr ""
+
+#: infrun.c:598
+#, possible-c-format
+msgid "Detaching after fork from child process %d.\n"
+msgstr ""
+
 #. If we get here, it was because we're trying to
 #. resume from a fork catchpoint, but, the user
 #. has switched threads away from the thread that
 #. forked.  In that case, the resume command
 #. issued is most likely not applicable to the
 #. child, so just warn, and refuse to resume.
-#: infrun.c:540
+#: infrun.c:784
 msgid "Not resuming: switched threads before following fork child.\n"
 msgstr ""
 
-#: infrun.c:800
+#: infrun.c:943
+#, possible-c-format
+msgid "Detaching vfork parent process %d after child exec.\n"
+msgstr ""
+
+#: infrun.c:950
+#, possible-c-format
+msgid "Detaching vfork parent process %d after child exit.\n"
+msgstr ""
+
+#: infrun.c:1057
 #, possible-c-format
 msgid "Follow exec mode is \"%s\".\n"
 msgstr ""
 
 #. What is this a.out's name?
-#: infrun.c:852
+#: infrun.c:1110
 #, possible-c-format
 msgid "%s is executing new program: %s\n"
 msgstr ""
 
-#: infrun.c:1271
+#: infrun.c:1542
 #, possible-c-format
 msgid ""
 "Debugger's willingness to use displaced stepping to step over breakpoints is "
 "%s (currently %s).\n"
 msgstr ""
 
-#: infrun.c:1276
+#: infrun.c:1547
 #, possible-c-format
 msgid ""
 "Debugger's willingness to use displaced stepping to step over breakpoints is "
 "%s.\n"
 msgstr ""
 
-#: infrun.c:1423
+#: infrun.c:1694
 #, possible-c-format
 msgid ""
 "Error accessing memory address %s (%s) for displaced-stepping scratch space."
 msgstr ""
 
-#: infrun.c:1670
+#: infrun.c:1941
 #, possible-c-format
 msgid "Mode for locking scheduler during execution is \"%s\".\n"
 msgstr ""
 
-#: infrun.c:1681
+#: infrun.c:1952
 #, possible-c-format
 msgid "Target '%s' cannot support this command."
 msgstr ""
 
-#: infrun.c:1819
-msgid ""
-"The program is stopped at a permanent breakpoint, but GDB does not know\n"
-"how to step past a permanent breakpoint on this architecture.  Try using\n"
-"a command like `return' or `jump' to continue execution."
-msgstr ""
-
-#: infrun.c:2783
+#: infrun.c:3098
 msgid "Program exited while detaching"
 msgstr ""
 
-#: infrun.c:2984
+#: infrun.c:3314
 msgid "completed.\n"
 msgstr ""
 
-#: infrun.c:3513
+#: infrun.c:3804
 #, possible-c-format
 msgid "unhandled stop_soon: %d"
 msgstr ""
 
-#: infrun.c:3584
+#: infrun.c:3875
 msgid "Cannot fill $_exitsignal with the correct signal number.\n"
 msgstr ""
 
-#: infrun.c:6070
+#: infrun.c:6379
 msgid "Unknown value."
 msgstr ""
 
-#: infrun.c:6137 linux-fork.c:378 linux-fork.c:410
+#: infrun.c:6459 linux-fork.c:376 linux-fork.c:408
 #, possible-c-format
 msgid "[Switching to %s]\n"
 msgstr ""
 
-#: infrun.c:6148
+#: infrun.c:6470
 msgid "No unwaited-for children left.\n"
 msgstr ""
 
-#: infrun.c:6156
+#: infrun.c:6479
 msgid ""
 "Cannot remove breakpoints because program is no longer writable.\n"
 "Further execution is probably impossible.\n"
 msgstr ""
 
-#: infrun.c:6399
+#: infrun.c:6727
 msgid "Signal        Stop\tPrint\tPass to program\tDescription\n"
 msgstr ""
 
-#: infrun.c:6436
+#: infrun.c:6764
 msgid "signal to handle"
 msgstr ""
 
 #. Not a number and not a recognized flag word => complain.
-#: infrun.c:6539
+#: infrun.c:6867
 #, possible-c-format
 msgid "Unrecognized or ambiguous flag word: \"%s\"."
 msgstr ""
 
-#: infrun.c:6554
+#: infrun.c:6882
 #, possible-c-format
 msgid ""
 "%s is used by the debugger.\n"
 "Are you sure you want to change it? "
 msgstr ""
 
-#: infrun.c:6562
+#: infrun.c:6890
 msgid "Not confirmed, unchanged.\n"
 msgstr ""
 
-#: infrun.c:6640
+#: infrun.c:6968
 msgid "xdb command"
 msgstr ""
 
-#: infrun.c:6691
+#: infrun.c:7019
 msgid "Invalid signal handling flag.\n"
 msgstr ""
 
-#: infrun.c:6704
+#: infrun.c:7032
 msgid ""
 "Only signals 1-15 are valid as numeric signals.\n"
 "Use \"info signals\" for a list of symbolic signals."
 msgstr ""
 
-#: infrun.c:6747
+#: infrun.c:7075
 msgid ""
 "\n"
 "Use the \"handle\" command to change these tables.\n"
 msgstr ""
 
-#: infrun.c:6759
+#: infrun.c:7087
 msgid "No thread selected."
 msgstr ""
 
-#: infrun.c:6763
+#: infrun.c:7091
 msgid "The current thread has terminated"
 msgstr ""
 
-#: infrun.c:6798
+#: infrun.c:7126
 msgid "Unable to read siginfo"
 msgstr ""
 
-#: infrun.c:6819
+#: infrun.c:7147
 msgid "Unable to write siginfo"
 msgstr ""
 
-#: infrun.c:7057 stack.c:1831 stack.c:2056
+#: infrun.c:7385 stack.c:1828 stack.c:2053
 msgid "Unable to restore previously selected frame."
 msgstr ""
 
-#: infrun.c:7204
+#: infrun.c:7532
 msgid "Target does not support this operation."
 msgstr ""
 
-#: infrun.c:7214
+#: infrun.c:7542
 msgid "Forward.\n"
 msgstr ""
 
-#: infrun.c:7217
+#: infrun.c:7545
 msgid "Reverse.\n"
 msgstr ""
 
-#: infrun.c:7221
+#: infrun.c:7549
 #, possible-c-format
 msgid "bogus execution_direction value: %d"
 msgstr ""
 
-#: infrun.c:7230
+#: infrun.c:7558
 #, possible-c-format
 msgid "Resuming the execution of threads of all processes is %s.\n"
 msgstr ""
 
-#: infrun.c:7250 infrun.c:7283
+#: infrun.c:7578 infrun.c:7611
 msgid ""
 "What debugger does when program gets various signals.\n"
 "Specify a signal as argument to print info on that signal only."
 msgstr ""
 
-#: infrun.c:7255
+#: infrun.c:7583
 msgid ""
 "Specify how to handle signals.\n"
 "Usage: handle SIGNAL [ACTIONS]\n"
@@ -14216,7 +14503,7 @@ msgid ""
 "all signals cumulatively specified."
 msgstr ""
 
-#: infrun.c:7286
+#: infrun.c:7614
 msgid ""
 "Specify how to handle a signal.\n"
 "Args are signals and actions to apply to those signals.\n"
@@ -14235,46 +14522,46 @@ msgid ""
 "Pass and Stop may be combined."
 msgstr ""
 
-#: infrun.c:7306
+#: infrun.c:7634
 msgid ""
 "There is no `stop' command, but you can set a hook on `stop'.\n"
 "This allows you to set a list of commands to be run each time execution\n"
 "of the program stops."
 msgstr ""
 
-#: infrun.c:7311
+#: infrun.c:7639
 msgid "Set inferior debugging."
 msgstr ""
 
-#: infrun.c:7312
+#: infrun.c:7640
 msgid "Show inferior debugging."
 msgstr ""
 
-#: infrun.c:7313
+#: infrun.c:7641
 msgid "When non-zero, inferior specific debugging is enabled."
 msgstr ""
 
-#: infrun.c:7320
+#: infrun.c:7648
 msgid "Set displaced stepping debugging."
 msgstr ""
 
-#: infrun.c:7321
+#: infrun.c:7649
 msgid "Show displaced stepping debugging."
 msgstr ""
 
-#: infrun.c:7322
+#: infrun.c:7650
 msgid "When non-zero, displaced stepping specific debugging is enabled."
 msgstr ""
 
-#: infrun.c:7329
+#: infrun.c:7657
 msgid "Set whether gdb controls the inferior in non-stop mode."
 msgstr ""
 
-#: infrun.c:7330
+#: infrun.c:7658
 msgid "Show whether gdb controls the inferior in non-stop mode."
 msgstr ""
 
-#: infrun.c:7331
+#: infrun.c:7659
 msgid ""
 "When debugging a multi-threaded program and this setting is\n"
 "off (the default, also called all-stop mode), when one thread stops\n"
@@ -14289,30 +14576,30 @@ msgid ""
 "leave it stopped or free to run as needed."
 msgstr ""
 
-#: infrun.c:7406
+#: infrun.c:7734
 msgid "Set stopping for shared library events."
 msgstr ""
 
-#: infrun.c:7407
+#: infrun.c:7735
 msgid "Show stopping for shared library events."
 msgstr ""
 
-#: infrun.c:7408
+#: infrun.c:7736
 msgid ""
 "If nonzero, gdb will give control to the user when the dynamic linker\n"
 "notifies gdb of shared library events.  The most common event of interest\n"
 "to the user would be loading/unloading of a new library."
 msgstr ""
 
-#: infrun.c:7418
+#: infrun.c:7746
 msgid "Set debugger response to a program call of fork or vfork."
 msgstr ""
 
-#: infrun.c:7419
+#: infrun.c:7747
 msgid "Show debugger response to a program call of fork or vfork."
 msgstr ""
 
-#: infrun.c:7420
+#: infrun.c:7748
 msgid ""
 "A fork or vfork creates a new process.  follow-fork-mode can be:\n"
 "  parent  - the original process is debugged after a fork\n"
@@ -14321,15 +14608,15 @@ msgid ""
 "By default, the debugger will follow the parent process."
 msgstr ""
 
-#: infrun.c:7432
+#: infrun.c:7760
 msgid "Set debugger response to a program call of exec."
 msgstr ""
 
-#: infrun.c:7433
+#: infrun.c:7761
 msgid "Show debugger response to a program call of exec."
 msgstr ""
 
-#: infrun.c:7434
+#: infrun.c:7762
 msgid ""
 "An exec call replaces the program image of a process.\n"
 "\n"
@@ -14348,15 +14635,15 @@ msgid ""
 "By default, the debugger will use the same inferior."
 msgstr ""
 
-#: infrun.c:7455
+#: infrun.c:7783
 msgid "Set mode for locking scheduler during execution."
 msgstr ""
 
-#: infrun.c:7456
+#: infrun.c:7784
 msgid "Show mode for locking scheduler during execution."
 msgstr ""
 
-#: infrun.c:7457
+#: infrun.c:7785
 msgid ""
 "off  == no locking (threads may preempt at any time)\n"
 "on   == full locking (no thread except the current thread may run)\n"
@@ -14365,15 +14652,15 @@ msgid ""
 "\tOther threads may run while stepping over a function call ('next')."
 msgstr ""
 
-#: infrun.c:7467
+#: infrun.c:7795
 msgid "Set mode for resuming threads of all processes."
 msgstr ""
 
-#: infrun.c:7468
+#: infrun.c:7796
 msgid "Show mode for resuming threads of all processes."
 msgstr ""
 
-#: infrun.c:7469
+#: infrun.c:7797
 msgid ""
 "When on, execution commands (such as 'continue' or 'next') resume all\n"
 "threads of all processes.  When off (which is the default), execution\n"
@@ -14382,30 +14669,30 @@ msgid ""
 "mode (see help set scheduler-locking)."
 msgstr ""
 
-#: infrun.c:7479
+#: infrun.c:7807
 msgid "Set mode of the step operation."
 msgstr ""
 
-#: infrun.c:7480
+#: infrun.c:7808
 msgid "Show mode of the step operation."
 msgstr ""
 
-#: infrun.c:7481
+#: infrun.c:7809
 msgid ""
 "When set, doing a step over a function without debug line information\n"
 "will stop at the first instruction of that function. Otherwise, the\n"
 "function is skipped and the step command stops at a different source line."
 msgstr ""
 
-#: infrun.c:7490
+#: infrun.c:7818
 msgid "Set debugger's willingness to use displaced stepping."
 msgstr ""
 
-#: infrun.c:7491
+#: infrun.c:7819
 msgid "Show debugger's willingness to use displaced stepping."
 msgstr ""
 
-#: infrun.c:7492
+#: infrun.c:7820
 msgid ""
 "If on, gdb will use displaced stepping to step over breakpoints if it is\n"
 "supported by the target architecture.  If off, gdb will not use displaced\n"
@@ -14417,57 +14704,57 @@ msgid ""
 "use it in all-stop mode (see help set non-stop)."
 msgstr ""
 
-#: infrun.c:7504
+#: infrun.c:7832
 msgid ""
 "Set direction of execution.\n"
 "Options are 'forward' or 'reverse'."
 msgstr ""
 
-#: infrun.c:7506
+#: infrun.c:7834
 msgid "Show direction of execution (forward/reverse)."
 msgstr ""
 
-#: infrun.c:7507
+#: infrun.c:7835
 msgid "Tells gdb whether to execute forward or backward."
 msgstr ""
 
 #. Set/show detach-on-fork: user-settable mode.
-#: infrun.c:7513
+#: infrun.c:7841
 msgid "Set whether gdb will detach the child of a fork."
 msgstr ""
 
-#: infrun.c:7514
+#: infrun.c:7842
 msgid "Show whether gdb will detach the child of a fork."
 msgstr ""
 
-#: infrun.c:7515
+#: infrun.c:7843
 msgid "Tells gdb whether to detach the child of a fork."
 msgstr ""
 
-#: infrun.c:7522
+#: infrun.c:7850
 msgid "Set disabling of debuggee's virtual address space randomization."
 msgstr ""
 
-#: infrun.c:7523
+#: infrun.c:7851
 msgid "Show disabling of debuggee's virtual address space randomization."
 msgstr ""
 
-#: infrun.c:7524
+#: infrun.c:7852
 msgid ""
 "When this mode is on (which is the default), randomization of the virtual\n"
 "address space is disabled.  Standalone programs run with the randomization\n"
 "enabled by default on some platforms."
 msgstr ""
 
-#: infrun.c:7548
+#: infrun.c:7876
 msgid "Set whether gdb controls the inferior in observer mode."
 msgstr ""
 
-#: infrun.c:7549
+#: infrun.c:7877
 msgid "Show whether gdb controls the inferior in observer mode."
 msgstr ""
 
-#: infrun.c:7550
+#: infrun.c:7878
 msgid ""
 "In observer mode, GDB can get data from the inferior, but not\n"
 "affect its execution.  Registers and memory may not be changed,\n"
@@ -14475,177 +14762,167 @@ msgid ""
 "or signalled."
 msgstr ""
 
-#: inf-ttrace.c:470
-#, possible-c-format
-msgid "Attaching after fork to child process %ld.\n"
-msgstr ""
-
-#: inf-ttrace.c:484
-#, possible-c-format
-msgid "Detaching after fork from child process %ld.\n"
-msgstr ""
-
-#: inf-ttrace.c:717
+#: inf-ttrace.c:607
 msgid "TT_PROC_GET_FIRST_LWP_STATE ttrace call failed"
 msgstr ""
 
-#: inf-ttrace.c:738
+#: inf-ttrace.c:628
 msgid "TT_PROC_GET_NEXT_LWP_STATE ttrace call failed"
 msgstr ""
 
-#: inf-ttrace.c:1113 linux-nat.c:1087 procfs.c:3669 procfs.c:3807
+#: inf-ttrace.c:973 linux-nat.c:901 procfs.c:3637 procfs.c:3775
 #, possible-c-format
 msgid "[%s exited]\n"
 msgstr ""
 
-#: inf-ttrace.c:1129
+#: inf-ttrace.c:989
 #, possible-c-format
 msgid "[%s has been terminated]\n"
 msgstr ""
 
-#: interps.c:157
+#: interps.c:146
 #, possible-c-format
 msgid "Could not suspend interpreter \"%s\"."
 msgstr ""
 
-#: interps.c:202
+#: interps.c:191
 #, possible-c-format
 msgid "Failed to initialize new interp \"%s\" %s"
 msgstr ""
 
-#: interps.c:415
+#: interps.c:393
 msgid "interpreter-exec command"
 msgstr ""
 
-#: interps.c:425
+#: interps.c:403
 msgid "usage: interpreter-exec <interpreter> [ <command> ... ]"
 msgstr ""
 
-#: interps.c:431
+#: interps.c:409
 #, possible-c-format
 msgid "Could not find interpreter \"%s\"."
 msgstr ""
 
-#: interps.c:438
+#: interps.c:416
 #, possible-c-format
 msgid "Could not switch to interpreter \"%s\"."
 msgstr ""
 
-#: interps.c:449
+#: interps.c:427
 #, possible-c-format
 msgid "error in command: \"%s\"."
 msgstr ""
 
-#: interps.c:518
+#: interps.c:496
 msgid ""
 "Execute a command in an interpreter.  It takes two arguments:\n"
 "The first argument is the name of the interpreter to use.\n"
 "The second argument is the command to execute.\n"
 msgstr ""
 
-#: iq2000-tdep.c:488
+#: iq2000-tdep.c:487
 #, possible-c-format
 msgid "breakpoint_from_pc: invalid breakpoint address 0x%lx"
 msgstr ""
 
-#: jit.c:70
+#: jit.c:69
 #, possible-c-format
 msgid "JIT debugging is %s.\n"
 msgstr ""
 
-#: jit.c:175
+#: jit.c:174
 #, possible-c-format
 msgid "Opening shared object %s.\n"
 msgstr ""
 
-#: jit.c:182
+#: jit.c:181
 #, possible-c-format
 msgid "Could not locate initialization function: %s."
 msgstr ""
 
-#: jit.c:186
+#: jit.c:185
 msgid "Reader not GPL compatible."
 msgstr ""
 
-#: jit.c:190
+#: jit.c:189
 msgid "Reader version does not match GDB version."
 msgstr ""
 
-#: jit.c:209
+#: jit.c:208
 msgid "No reader name provided."
 msgstr ""
 
-#: jit.c:212
+#: jit.c:211
 msgid "JIT reader already loaded.  Run jit-reader-unload first."
 msgstr ""
 
-#: jit.c:230
+#: jit.c:229
 msgid "No JIT reader loaded."
 msgstr ""
 
-#: jit.c:375
+#: jit.c:374
 msgid "Unable to read JIT descriptor from remote memory\n"
 msgstr ""
 
-#: jit.c:420
+#: jit.c:419
 msgid "Unable to read JIT code entry from remote memory!"
 msgstr ""
 
-#: jit.c:890
+#: jit.c:891
 msgid "Error opening JITed symbol file, ignoring it.\n"
 msgstr ""
 
-#: jit.c:898
+#: jit.c:899
 msgid "JITed symbol file is not an object file, ignoring it.\n"
 msgstr ""
 
-#: jit.c:907
+#: jit.c:908
 #, possible-c-format
 msgid ""
 "JITed object file architecture %s is not compatible with target architecture "
 "%s."
 msgstr ""
 
-#: jit.c:1101
+#: jit.c:1102
 #, possible-c-format
 msgid "Could not recognize DWARF regnum %d"
 msgstr ""
 
-#: jit.c:1200
+#: jit.c:1201
 msgid "Successfully unwound frame using JIT reader.\n"
 msgstr ""
 
-#: jit.c:1205
+#: jit.c:1206
 msgid "Could not unwind frame using JIT reader.\n"
 msgstr ""
 
-#: jit.c:1330
+#: jit.c:1331
 #, possible-c-format
 msgid "Unsupported JIT protocol version %ld in descriptor (expected 1)\n"
 msgstr ""
 
-#: jit.c:1417
+#: jit.c:1418
 #, possible-c-format
 msgid "Unable to find JITed code entry at address: %s\n"
 msgstr ""
 
-#: jit.c:1425
+#: jit.c:1426
 msgid "Unknown action_flag value in JIT descriptor!"
 msgstr ""
 
-#: jit.c:1472
+#: jit.c:1473
 msgid "Set JIT debugging."
 msgstr ""
 
-#: jit.c:1473
+#: jit.c:1474
 msgid "Show JIT debugging."
 msgstr ""
 
-#: jit.c:1474
+#: jit.c:1475
 msgid "When non-zero, JIT debugging is enabled."
 msgstr ""
 
-#: jit.c:1490
+#: jit.c:1491
 msgid ""
 "Load FILE as debug info reader and unwinder for JIT compiled code.\n"
 "Usage: jit-reader-load FILE\n"
@@ -14653,7 +14930,7 @@ msgid ""
 "JIT compiled code.  The file is loaded from "
 msgstr ""
 
-#: jit.c:1496
+#: jit.c:1497
 msgid ""
 "Unload the currently loaded JIT debug info reader.\n"
 "Usage: jit-reader-unload FILE\n"
@@ -14661,77 +14938,67 @@ msgid ""
 "Do \"help jit-reader-load\" for info on loading debug info readers."
 msgstr ""
 
-#: jv-exp.y:413
+#: jv-exp.y:412
 msgid "FIXME - ClassInstanceCreationExpression"
 msgstr ""
 
-#: jv-exp.y:432 jv-exp.y:435
+#: jv-exp.y:431 jv-exp.y:434
 msgid "FIXME - ArrayCreationExpression"
 msgstr ""
 
-#: jv-exp.y:481 jv-exp.y:483
+#: jv-exp.y:480 jv-exp.y:482
 msgid "Form of method invocation not implemented"
 msgstr ""
 
-#: jv-exp.y:579
+#: jv-exp.y:578
 msgid "Invalid cast expression"
 msgstr ""
 
-#: jv-exp.y:824
+#: jv-exp.y:823
 msgid "Numeric constant too large"
 msgstr ""
 
-#: jv-exp.y:936
+#: jv-exp.y:935
 msgid "Empty character constant"
 msgstr ""
 
-#: jv-exp.y:949
+#: jv-exp.y:948
 msgid "Unmatched single quote"
 msgstr ""
 
-#: jv-exp.y:954
+#: jv-exp.y:953
 msgid "Invalid character constant"
 msgstr ""
 
-#: jv-exp.y:1040
+#: jv-exp.y:1039
 #, possible-c-format
 msgid "Invalid number \"%s\""
 msgstr ""
 
-#: jv-exp.y:1112
+#: jv-exp.y:1111
 msgid "Unterminated string in expression"
 msgstr ""
 
-#. We must have come across a bad character (e.g. ';').
-#: jv-exp.y:1124
-#, possible-c-format
-msgid "Invalid character '%c' in expression"
-msgstr ""
-
-#: jv-exp.y:1251
+#: jv-exp.y:1250
 #, possible-c-format
 msgid "%s: near `%s'"
 msgstr ""
 
-#: jv-exp.y:1253
+#: jv-exp.y:1252
 #, possible-c-format
 msgid "error in expression, near `%s'"
 msgstr ""
 
-#: jv-exp.y:1262
+#: jv-exp.y:1261
 #, possible-c-format
 msgid "No class named `%s'"
 msgstr ""
 
-#: jv-exp.y:1402
+#: jv-exp.y:1401
 #, possible-c-format
 msgid "unknown type `%.*s'"
 msgstr ""
 
-#: jv-exp.y:1445
-msgid "No symbol table is loaded.  Use the \"file\" command"
-msgstr ""
-
 #: jv-lang.c:595
 msgid "cannot find java.lang.Object"
 msgstr ""
@@ -14750,65 +15017,65 @@ msgstr ""
 msgid "array index (%ld) out of bounds (length: %ld)"
 msgstr ""
 
-#: language.c:127
+#: language.c:125
 #, possible-c-format
 msgid "The current source language is \"auto; currently %s\".\n"
 msgstr ""
 
-#: language.c:132
+#: language.c:130
 #, possible-c-format
 msgid "The current source language is \"%s\".\n"
 msgstr ""
 
-#: language.c:212
+#: language.c:210
 #, possible-c-format
 msgid "Range checking is \"auto; currently %s\".\n"
 msgstr ""
 
-#: language.c:216
+#: language.c:214
 #, possible-c-format
 msgid "Range checking is \"%s\".\n"
 msgstr ""
 
-#: language.c:220 language.c:255
+#: language.c:218 language.c:253
 msgid "the current range check setting does not match the language.\n"
 msgstr ""
 
-#: language.c:252
+#: language.c:250
 #, possible-c-format
 msgid "Unrecognized range check setting: \"%s\""
 msgstr ""
 
-#: language.c:283
+#: language.c:281
 #, possible-c-format
 msgid "Case sensitivity in name search is \"auto; currently %s\".\n"
 msgstr ""
 
-#: language.c:289
+#: language.c:287
 #, possible-c-format
 msgid "Case sensitivity in name search is \"%s\".\n"
 msgstr ""
 
-#: language.c:293 language.c:326
+#: language.c:291 language.c:324
 msgid "the current case sensitivity setting does not match the language.\n"
 msgstr ""
 
-#: language.c:379
+#: language.c:377
 #, possible-c-format
 msgid "Current language:  %s\n"
 msgstr ""
 
-#: language.c:384
+#: language.c:382
 #, possible-c-format
 msgid "Range checking:    %s\n"
 msgstr ""
 
-#: language.c:386
+#: language.c:384
 #, possible-c-format
 msgid "Case sensitivity:  %s\n"
 msgstr ""
 
-#: language.c:565
+#: language.c:563
 msgid ""
 "Set the current source language.\n"
 "The currently understood settings are:\n"
@@ -14816,261 +15083,261 @@ msgid ""
 "local or auto    Automatic setting based on source file\n"
 msgstr ""
 
-#: language.c:593
+#: language.c:591
 msgid "Show the current source language."
 msgstr ""
 
-#: language.c:691
+#: language.c:689
 msgid "Getting a string is unsupported in this language."
 msgstr ""
 
-#: language.c:705
+#: language.c:703
 msgid "Attempted to parse an expression with unknown language"
 msgstr ""
 
-#: language.c:712
+#: language.c:710
 msgid "internal error - unimplemented function unk_lang_emit_char called."
 msgstr ""
 
-#: language.c:719
+#: language.c:717
 msgid "internal error - unimplemented function unk_lang_printchar called."
 msgstr ""
 
-#: language.c:729
+#: language.c:727
 msgid "internal error - unimplemented function unk_lang_printstr called."
 msgstr ""
 
-#: language.c:738
+#: language.c:736
 msgid "internal error - unimplemented function unk_lang_print_type called."
 msgstr ""
 
-#: language.c:749
+#: language.c:747
 msgid "internal error - unimplemented function unk_lang_val_print called."
 msgstr ""
 
-#: language.c:757
+#: language.c:755
 msgid "internal error - unimplemented function unk_lang_value_print called."
 msgstr ""
 
-#: language.c:1022
+#: language.c:1141
 msgid "Set the status of the type/range checker."
 msgstr ""
 
-#: language.c:1028
+#: language.c:1147
 msgid "Show the status of the type/range checker."
 msgstr ""
 
-#: language.c:1035
+#: language.c:1154
 msgid "Set range checking.  (on/warn/off/auto)"
 msgstr ""
 
-#: language.c:1036
+#: language.c:1155
 msgid "Show range checking.  (on/warn/off/auto)"
 msgstr ""
 
-#: language.c:1042
+#: language.c:1161
 msgid "Set case sensitivity in name search.  (on/off/auto)"
 msgstr ""
 
-#: language.c:1043
+#: language.c:1162
 msgid "Show case sensitivity in name search.  (on/off/auto)"
 msgstr ""
 
-#: language.c:1044
+#: language.c:1163
 msgid "For Fortran the default is off; for other languages the default is on."
 msgstr ""
 
-#: linespec.c:602
+#: linespec.c:601
 msgid "unmatched quote"
 msgstr ""
 
-#: linespec.c:1414
+#: linespec.c:1416
 msgid ""
 "[0] cancel\n"
 "[1] all\n"
 msgstr ""
 
-#: linespec.c:1436
+#: linespec.c:1438
 msgid "canceled"
 msgstr ""
 
-#: linespec.c:1452
+#: linespec.c:1454
 #, possible-c-format
 msgid "No choice number %d.\n"
 msgstr ""
 
-#: linespec.c:1464
+#: linespec.c:1466
 #, possible-c-format
 msgid "duplicate request for %d ignored.\n"
 msgstr ""
 
-#: linespec.c:1501
+#: linespec.c:1503
 #, possible-c-format
 msgid ""
 "Undefined convenience variable or function \"%s\" not defined in \"%s\"."
 msgstr ""
 
-#: linespec.c:1505
+#: linespec.c:1507
 #, possible-c-format
 msgid "Undefined convenience variable or function \"%s\" not defined."
 msgstr ""
 
-#: linespec.c:1512
+#: linespec.c:1514
 #, possible-c-format
 msgid "Function \"%s\" not defined in \"%s\"."
 msgstr ""
 
-#: linespec.c:1516
+#: linespec.c:1518
 #, possible-c-format
 msgid "Function \"%s\" not defined."
 msgstr ""
 
-#: linespec.c:1543
+#: linespec.c:1545
 #, possible-c-format
 msgid "malformed linespec error: unexpected %s, \"%s\""
 msgstr ""
 
-#: linespec.c:1548
+#: linespec.c:1550
 #, possible-c-format
 msgid "malformed linespec error: unexpected %s"
 msgstr ""
 
-#: linespec.c:1727
+#: linespec.c:1729
 #, possible-c-format
 msgid "No label \"%s\" defined in function \"%s\"."
 msgstr ""
 
-#: linespec.c:1978
+#: linespec.c:1980
 #, possible-c-format
 msgid "No line %d in the current file."
 msgstr ""
 
-#: linespec.c:2530 linespec.c:2552
+#: linespec.c:2532 linespec.c:2554
 msgid "Empty line specification."
 msgstr ""
 
-#: linespec.c:2540 linespec.c:2562
+#: linespec.c:2542 linespec.c:2564
 #, possible-c-format
 msgid "Junk at end of line specification: %s"
 msgstr ""
 
 #. The error message doesn't really matter, because this case
 #. should only hit during breakpoint reset.
-#: linespec.c:2598
+#: linespec.c:2600
 msgid "cannot evaluate expressions while program space is in startup"
 msgstr ""
 
 #. Throw an NOT_FOUND_ERROR.  This will be caught by the caller
 #. and other attempts to locate the symbol will be made.
-#: linespec.c:2962
+#: linespec.c:2964
 msgid "see caller, this text doesn't matter"
 msgstr ""
 
-#: linespec.c:3039
+#: linespec.c:3041
 #, possible-c-format
 msgid "No source file named %s."
 msgstr ""
 
-#: linespec.c:3364
+#: linespec.c:3366
 msgid "History values used in line specs must have integer values."
 msgstr ""
 
-#: linespec.c:3387
+#: linespec.c:3389
 msgid "Convenience variables used in line specs must have integer values."
 msgstr ""
 
-#: linux-fork.c:398 linux-fork.c:544
+#: linux-fork.c:396 linux-fork.c:542
 #, possible-c-format
 msgid "Unable to detach %s"
 msgstr ""
 
-#: linux-fork.c:493
+#: linux-fork.c:491
 msgid "Requires argument (checkpoint id to delete)"
 msgstr ""
 
-#: linux-fork.c:497 linux-fork.c:537
+#: linux-fork.c:495 linux-fork.c:535
 #, possible-c-format
 msgid "No such checkpoint id, %s"
 msgstr ""
 
-#: linux-fork.c:500
+#: linux-fork.c:498
 msgid "Please switch to another checkpoint before deleting the current one"
 msgstr ""
 
-#: linux-fork.c:504
+#: linux-fork.c:502
 #, possible-c-format
 msgid "Unable to kill pid %s"
 msgstr ""
 
-#: linux-fork.c:511
+#: linux-fork.c:509
 #, possible-c-format
 msgid "Killed %s\n"
 msgstr ""
 
-#: linux-fork.c:523
+#: linux-fork.c:521
 #, possible-c-format
 msgid "Unable to wait pid %s"
 msgstr ""
 
-#: linux-fork.c:533
+#: linux-fork.c:531
 msgid "Requires argument (checkpoint id to detach)"
 msgstr ""
 
-#: linux-fork.c:540
+#: linux-fork.c:538
 msgid "Please switch to another checkpoint before detaching the current one"
 msgstr ""
 
-#: linux-fork.c:547
+#: linux-fork.c:545
 #, possible-c-format
 msgid "Detached %s\n"
 msgstr ""
 
-#: linux-fork.c:585
+#: linux-fork.c:583
 msgid " (main process)"
 msgstr ""
 
-#: linux-fork.c:586
+#: linux-fork.c:584
 msgid " at "
 msgstr ""
 
-#: linux-fork.c:591
+#: linux-fork.c:589
 #, possible-c-format
 msgid ", file %s"
 msgstr ""
 
-#: linux-fork.c:594
+#: linux-fork.c:592
 #, possible-c-format
 msgid ", line %d"
 msgstr ""
 
-#: linux-fork.c:609
+#: linux-fork.c:607
 #, possible-c-format
 msgid "No checkpoint number %d.\n"
 msgstr ""
 
-#: linux-fork.c:611
+#: linux-fork.c:609
 msgid "No checkpoints.\n"
 msgstr ""
 
-#: linux-fork.c:669
+#: linux-fork.c:667
 msgid "checkpoint: can't checkpoint multiple threads."
 msgstr ""
 
-#: linux-fork.c:679
+#: linux-fork.c:677
 msgid "checkpoint: can't find fork function in inferior."
 msgstr ""
 
 #. Probably can't happen.
-#: linux-fork.c:691
+#: linux-fork.c:689
 msgid "checkpoint: call_function_by_hand returned null."
 msgstr ""
 
-#: linux-fork.c:699
+#: linux-fork.c:700
 #, possible-c-format
-msgid "checkpoint: fork returned pid %ld.\n"
+msgid "checkpoint %d: fork returned pid %ld.\n"
 msgstr ""
 
-#: linux-fork.c:706
+#: linux-fork.c:707
 #, possible-c-format
 msgid "   gdb says parent = %ld.\n"
 msgstr ""
@@ -15123,42 +15390,20 @@ msgstr ""
 msgid "IDs of currently known checkpoints."
 msgstr ""
 
-#: linux-nat.c:214
+#: linux-nat.c:210
 #, possible-c-format
 msgid "Debugging of GNU/Linux lwp module is %s.\n"
 msgstr ""
 
-#. The parent stays blocked inside the vfork syscall until the
-#. child execs or exits.  If we don't let the child run, then
-#. the parent stays blocked.  If we're telling the parent to run
-#. in the foreground, the user will not be able to ctrl-c to get
-#. back the terminal, effectively hanging the debug session.
-#: linux-nat.c:399
-msgid ""
-"Can not resume the parent process over vfork in the foreground while\n"
-"holding the child stopped.  Try \"set detach-on-fork\" or \"set schedule-"
-"multiple\".\n"
-msgstr ""
-
-#: linux-nat.c:465
+#: linux-nat.c:431
 msgid "Couldn't do single step"
 msgstr ""
 
-#: linux-nat.c:467
+#: linux-nat.c:433
 msgid "Couldn't wait vfork process"
 msgstr ""
 
-#: linux-nat.c:642
-#, possible-c-format
-msgid "Attaching after process %d vfork to child process %d.\n"
-msgstr ""
-
-#: linux-nat.c:647
-#, possible-c-format
-msgid "Attaching after process %d fork to child process %d.\n"
-msgstr ""
-
-#: linux-nat.c:1138
+#: linux-nat.c:952
 #, possible-c-format
 msgid "%s is a cloned process"
 msgstr ""
@@ -15168,78 +15413,78 @@ msgstr ""
 #. creation is interrupted; as of Linux kernel 2.6.19, a
 #. bug may place threads in the thread list and then fail
 #. to create them.
-#: linux-nat.c:1235
+#: linux-nat.c:1050
 #, possible-c-format
 msgid "Can't attach %s: %s"
 msgstr ""
 
-#: linux-nat.c:1310
+#: linux-nat.c:1125
 #, possible-c-format
 msgid "Error disabling address space randomization: %s"
 msgstr ""
 
-#: linux-nat.c:1326
+#: linux-nat.c:1141
 #, possible-c-format
 msgid "Error restoring address space randomization: %s"
 msgstr ""
 
-#: linux-nat.c:1390
+#: linux-nat.c:1272
 msgid "Unable to attach: program exited normally."
 msgstr ""
 
-#: linux-nat.c:1392
+#: linux-nat.c:1274
 #, possible-c-format
 msgid "Unable to attach: program exited with code %d."
 msgstr ""
 
-#: linux-nat.c:1403
+#: linux-nat.c:1285
 #, possible-c-format
 msgid "Unable to attach: program terminated with signal %s, %s."
 msgstr ""
 
-#: linux-nat.c:1410
+#: linux-nat.c:1292
 #, possible-c-format
 msgid "unexpected status %d for PID %ld"
 msgstr ""
 
-#: linux-nat.c:2020
+#: linux-nat.c:1920
 msgid "waiting for new child"
 msgstr ""
 
-#: linux-nat.c:2023
+#: linux-nat.c:1923
 #, possible-c-format
 msgid "wait returned unexpected PID %d"
 msgstr ""
 
-#: linux-nat.c:2026
+#: linux-nat.c:1926
 #, possible-c-format
 msgid "wait returned unexpected status 0x%x"
 msgstr ""
 
-#: linux-nat.c:2241
+#: linux-nat.c:2136
 #, possible-c-format
 msgid "unknown ptrace event %d"
 msgstr ""
 
-#: linux-nat.c:4293 linux-nat.c:4306
+#: linux-nat.c:4087 linux-nat.c:4100
 #, possible-c-format
 msgid "Could not parse signal set: %s"
 msgstr ""
 
-#: linux-nat.c:4340
+#: linux-nat.c:4134
 #, possible-c-format
 msgid "Could not open %s"
 msgstr ""
 
-#: linux-nat.c:5004
+#: linux-nat.c:4805
 msgid "Set debugging of GNU/Linux lwp module."
 msgstr ""
 
-#: linux-nat.c:5005
+#: linux-nat.c:4806
 msgid "Show debugging of GNU/Linux lwp module."
 msgstr ""
 
-#: linux-nat.c:5006
+#: linux-nat.c:4807
 msgid "Enables printf debugging output."
 msgstr ""
 
@@ -15297,461 +15542,474 @@ msgstr ""
 msgid "Process record and replay target doesn't support syscall number %d\n"
 msgstr ""
 
-#: linux-tdep.c:339 procfs.c:5193
+#: linux-tdep.c:413 procfs.c:5136
 msgid "No current process: you must name one."
 msgstr ""
 
-#: linux-tdep.c:341
+#: linux-tdep.c:415
 msgid "Can't determine the current process's PID: you must name one."
 msgstr ""
 
-#: linux-tdep.c:348
+#: linux-tdep.c:422
 #, possible-c-format
 msgid "Too many parameters: %s"
 msgstr ""
 
-#: linux-tdep.c:350
+#: linux-tdep.c:424
 #, possible-c-format
 msgid "process %ld\n"
 msgstr ""
 
-#: linux-tdep.c:375 linux-tdep.c:388
+#: linux-tdep.c:436 linux-tdep.c:523 linux-tdep.c:536 linux-tdep.c:673
+#: nat/linux-procfs.c:40 nat/linux-procfs.c:89
+#, possible-c-format
+msgid "unable to open /proc file '%s'"
+msgstr ""
+
+#: linux-tdep.c:449 linux-tdep.c:462
 #, possible-c-format
 msgid "unable to read link '%s'"
 msgstr ""
 
 #. No output for summary mode.
-#: linux-tdep.c:399 linux-tdep.c:652 procfs.c:5121
+#: linux-tdep.c:473 linux-tdep.c:726 procfs.c:5064
 msgid ""
 "Mapped address spaces:\n"
 "\n"
 msgstr ""
 
-#: linux-tdep.c:473
+#: linux-tdep.c:547
 #, possible-c-format
 msgid "Process: %s\n"
 msgstr ""
 
-#: linux-tdep.c:492
+#: linux-tdep.c:566
 #, possible-c-format
 msgid "State: %c\n"
 msgstr ""
 
-#: linux-tdep.c:495
+#: linux-tdep.c:569
 #, possible-c-format
 msgid "Parent process: %s\n"
 msgstr ""
 
-#: linux-tdep.c:498
+#: linux-tdep.c:572
 #, possible-c-format
 msgid "Process group: %s\n"
 msgstr ""
 
-#: linux-tdep.c:501
+#: linux-tdep.c:575
 #, possible-c-format
 msgid "Session id: %s\n"
 msgstr ""
 
-#: linux-tdep.c:504
+#: linux-tdep.c:578
 #, possible-c-format
 msgid "TTY: %s\n"
 msgstr ""
 
-#: linux-tdep.c:507
+#: linux-tdep.c:581
 #, possible-c-format
 msgid "TTY owner process group: %s\n"
 msgstr ""
 
-#: linux-tdep.c:511
+#: linux-tdep.c:585
 #, possible-c-format
 msgid "Flags: %s\n"
 msgstr ""
 
-#: linux-tdep.c:514
+#: linux-tdep.c:588
 #, possible-c-format
 msgid "Minor faults (no memory page): %s\n"
 msgstr ""
 
-#: linux-tdep.c:517
+#: linux-tdep.c:591
 #, possible-c-format
 msgid "Minor faults, children: %s\n"
 msgstr ""
 
-#: linux-tdep.c:520
+#: linux-tdep.c:594
 #, possible-c-format
 msgid "Major faults (memory page faults): %s\n"
 msgstr ""
 
-#: linux-tdep.c:523
+#: linux-tdep.c:597
 #, possible-c-format
 msgid "Major faults, children: %s\n"
 msgstr ""
 
-#: linux-tdep.c:526
+#: linux-tdep.c:600
 #, possible-c-format
 msgid "utime: %s\n"
 msgstr ""
 
-#: linux-tdep.c:529
+#: linux-tdep.c:603
 #, possible-c-format
 msgid "stime: %s\n"
 msgstr ""
 
-#: linux-tdep.c:532
+#: linux-tdep.c:606
 #, possible-c-format
 msgid "utime, children: %s\n"
 msgstr ""
 
-#: linux-tdep.c:535
+#: linux-tdep.c:609
 #, possible-c-format
 msgid "stime, children: %s\n"
 msgstr ""
 
-#: linux-tdep.c:538
+#: linux-tdep.c:612
 #, possible-c-format
 msgid "jiffies remaining in current time slice: %s\n"
 msgstr ""
 
-#: linux-tdep.c:542
+#: linux-tdep.c:616
 #, possible-c-format
 msgid "'nice' value: %s\n"
 msgstr ""
 
-#: linux-tdep.c:545
+#: linux-tdep.c:619
 #, possible-c-format
 msgid "jiffies until next timeout: %s\n"
 msgstr ""
 
-#: linux-tdep.c:548
+#: linux-tdep.c:622
 #, possible-c-format
 msgid "jiffies until next SIGALRM: %s\n"
 msgstr ""
 
-#: linux-tdep.c:551
+#: linux-tdep.c:625
 #, possible-c-format
 msgid "start time (jiffies since system boot): %s\n"
 msgstr ""
 
-#: linux-tdep.c:555
+#: linux-tdep.c:629
 #, possible-c-format
 msgid "Virtual memory size: %s\n"
 msgstr ""
 
-#: linux-tdep.c:558
+#: linux-tdep.c:632
 #, possible-c-format
 msgid "Resident set size: %s\n"
 msgstr ""
 
-#: linux-tdep.c:561
+#: linux-tdep.c:635
 #, possible-c-format
 msgid "rlim: %s\n"
 msgstr ""
 
-#: linux-tdep.c:564
+#: linux-tdep.c:638
 #, possible-c-format
 msgid "Start of text: %s\n"
 msgstr ""
 
-#: linux-tdep.c:567
+#: linux-tdep.c:641
 #, possible-c-format
 msgid "End of text: %s\n"
 msgstr ""
 
-#: linux-tdep.c:570
+#: linux-tdep.c:644
 #, possible-c-format
 msgid "Start of stack: %s\n"
 msgstr ""
 
-#: linux-tdep.c:575
+#: linux-tdep.c:649
 #, possible-c-format
 msgid "Kernel stack pointer: %s\n"
 msgstr ""
 
-#: linux-tdep.c:578
+#: linux-tdep.c:652
 #, possible-c-format
 msgid "Kernel instr pointer: %s\n"
 msgstr ""
 
-#: linux-tdep.c:581
+#: linux-tdep.c:655
 #, possible-c-format
 msgid "Pending signals bitmap: %s\n"
 msgstr ""
 
-#: linux-tdep.c:584
+#: linux-tdep.c:658
 #, possible-c-format
 msgid "Blocked signals bitmap: %s\n"
 msgstr ""
 
-#: linux-tdep.c:587
+#: linux-tdep.c:661
 #, possible-c-format
 msgid "Ignored signals bitmap: %s\n"
 msgstr ""
 
-#: linux-tdep.c:590
+#: linux-tdep.c:664
 #, possible-c-format
 msgid "Catched signals bitmap: %s\n"
 msgstr ""
 
-#: linux-tdep.c:593
+#: linux-tdep.c:667
 #, possible-c-format
 msgid "wchan (system call): %s\n"
 msgstr ""
 
-#: linux-tdep.c:621
+#: linux-tdep.c:695
 msgid "unable to find mappings in core file"
 msgstr ""
 
-#: linux-tdep.c:630
+#: linux-tdep.c:704
 msgid "malformed core note - too short for header"
 msgstr ""
 
-#: linux-tdep.c:635
+#: linux-tdep.c:709
 msgid "could not get core note contents"
 msgstr ""
 
-#: linux-tdep.c:641
+#: linux-tdep.c:715
 msgid "malformed note - does not end with \\0"
 msgstr ""
 
-#: linux-tdep.c:650
+#: linux-tdep.c:724
 msgid "malformed note - too short for supplied file count"
 msgstr ""
 
-#: linux-tdep.c:674
+#: linux-tdep.c:748
 msgid "malformed note - filenames end too early"
 msgstr ""
 
-#: linux-tdep.c:723
+#: linux-tdep.c:797
 msgid "unable to find command name in core file"
 msgstr ""
 
-#: linux-tdep.c:730
+#: linux-tdep.c:804
 msgid "unable to handle request"
 msgstr ""
 
-#: linux-tdep.c:795
+#: linux-tdep.c:869
 #, possible-c-format
 msgid "Error parsing {s,}maps file '%s'"
 msgstr ""
 
-#: linux-tdep.c:809
+#: linux-tdep.c:883
 #, possible-c-format
 msgid "Error parsing {s,}maps file '%s' number"
 msgstr ""
 
-#: linux-thread-db.c:89
+#: linux-tdep.c:1967
+#, possible-c-format
+msgid "Failed inferior mmap call for %s bytes, errno is changed."
+msgstr ""
+
+#: linux-thread-db.c:97
 #, possible-c-format
 msgid "Auto-loading of inferior specific libthread_db is %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:113
+#: linux-thread-db.c:121
 #, possible-c-format
 msgid "libthread-db debugging is %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:423
+#: linux-thread-db.c:431
 #, possible-c-format
 msgid "thread_get_info_callback: cannot get thread info: %s"
 msgstr ""
 
-#: linux-thread-db.c:468
+#: linux-thread-db.c:476
 #, possible-c-format
 msgid "Cannot find user-level thread for LWP %ld: %s"
 msgstr ""
 
-#: linux-thread-db.c:516 linux-thread-db.c:1454
+#: linux-thread-db.c:524 linux-thread-db.c:1510
 #, possible-c-format
 msgid "Cannot get thread info: %s"
 msgstr ""
 
-#: linux-thread-db.c:529
+#: linux-thread-db.c:537
 #, possible-c-format
 msgid "Symbol \"%s\" not found in libthread_db: %s"
 msgstr ""
 
-#: linux-thread-db.c:629
+#: linux-thread-db.c:637
 #, possible-c-format
 msgid "Unable to set global thread event mask: %s"
 msgstr ""
 
-#: linux-thread-db.c:643
+#: linux-thread-db.c:651
 #, possible-c-format
 msgid "Unable to get location for thread creation breakpoint: %s"
 msgstr ""
 
-#: linux-thread-db.c:652
+#: linux-thread-db.c:660
 #, possible-c-format
 msgid "Unable to get location for thread death breakpoint: %s"
 msgstr ""
 
-#: linux-thread-db.c:699
+#: linux-thread-db.c:707
 msgid "Warning: couldn't activate thread debugging using libthread_db: "
 msgstr ""
 
-#: linux-thread-db.c:742
+#: linux-thread-db.c:750
 #, possible-c-format
 msgid "Cannot initialize libthread_db: %s"
 msgstr ""
 
-#: linux-thread-db.c:759
+#: linux-thread-db.c:767
 #, possible-c-format
 msgid "td_ta_new failed: %s\n"
 msgstr ""
 
-#: linux-thread-db.c:773
+#: linux-thread-db.c:781
 #, possible-c-format
 msgid "td_ta_new failed: %s"
 msgstr ""
 
-#: linux-thread-db.c:816 sol-thread.c:617
+#: linux-thread-db.c:824 sol-thread.c:616
 msgid "[Thread debugging using libthread_db enabled]\n"
 msgstr ""
 
-#: linux-thread-db.c:826
+#: linux-thread-db.c:840
 #, possible-c-format
 msgid "Using host libthread_db library \"%s\".\n"
 msgstr ""
 
-#: linux-thread-db.c:852
+#: linux-thread-db.c:867
 #, possible-c-format
 msgid "Trying host libthread_db library: %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:862
+#: linux-thread-db.c:877
 #, possible-c-format
 msgid "open failed: %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:866
+#: linux-thread-db.c:882
 #, possible-c-format
 msgid ""
 "auto-load: Loading libthread-db library \"%s\" from explicit directory.\n"
 msgstr ""
 
-#: linux-thread-db.c:877
+#: linux-thread-db.c:893
 #, possible-c-format
 msgid "dlopen failed: %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:891
+#: linux-thread-db.c:907
 #, possible-c-format
 msgid "Host %s resolved to: %s.\n"
 msgstr ""
 
-#: linux-thread-db.c:925
+#: linux-thread-db.c:941
 #, possible-c-format
 msgid "Expected absolute pathname for libpthread in the inferior, but got %s."
 msgstr ""
 
-#: linux-thread-db.c:1082
+#: linux-thread-db.c:1099
 #, possible-c-format
 msgid "thread_db_load_search returning %d\n"
 msgstr ""
 
-#: linux-thread-db.c:1129
+#: linux-thread-db.c:1146
 msgid ""
 "Unable to find libthread_db matching inferior's thread library, thread "
 "debugging will not be available."
 msgstr ""
 
-#: linux-thread-db.c:1330
+#: linux-thread-db.c:1258
+msgid ""
+"Target and debugger are in different PID namespaces; thread lists and other "
+"data are likely unreliable"
+msgstr ""
+
+#: linux-thread-db.c:1386
 #, possible-c-format
 msgid "Cannot enable thread event reporting for %s: %s"
 msgstr ""
 
-#: linux-thread-db.c:1448
+#: linux-thread-db.c:1504
 #, possible-c-format
 msgid "Cannot get thread event message: %s"
 msgstr ""
 
-#: linux-thread-db.c:1470
+#: linux-thread-db.c:1526
 msgid "Spurious thread death event."
 msgstr ""
 
-#: linux-thread-db.c:1477
+#: linux-thread-db.c:1533
 msgid "Spurious thread event."
 msgstr ""
 
-#: linux-thread-db.c:1575
+#: linux-thread-db.c:1631
 #, possible-c-format
 msgid "find_new_threads_callback: cannot get thread info: %s"
 msgstr ""
 
-#: linux-thread-db.c:1594
+#: linux-thread-db.c:1661
 #, possible-c-format
 msgid "Cannot enable thread event reporting for LWP %d: %s"
 msgstr ""
 
-#: linux-thread-db.c:1663
+#: linux-thread-db.c:1737
 #, possible-c-format
 msgid "Found %d new threads in iteration %d.\n"
 msgstr ""
 
-#: linux-thread-db.c:1706
+#: linux-thread-db.c:1780
 #, possible-c-format
 msgid "Cannot find new threads: %s"
 msgstr ""
 
-#: linux-thread-db.c:1825
+#: linux-thread-db.c:1898
 msgid "No TLS library support"
 msgstr ""
 
-#: linux-thread-db.c:1840
+#: linux-thread-db.c:1913
 msgid "TLS load module not found"
 msgstr ""
 
-#: linux-thread-db.c:1860
+#: linux-thread-db.c:1933
 msgid "TLS not allocated yet"
 msgstr ""
 
-#: linux-thread-db.c:1881
-msgid "TLS not supported on this target"
-msgstr ""
-
-#: linux-thread-db.c:1968
+#: linux-thread-db.c:2037
 msgid "'info auto-load libthread-db' does not accept any parameters"
 msgstr ""
 
-#: linux-thread-db.c:2074
+#: linux-thread-db.c:2143
 msgid "No auto-loaded libthread-db.\n"
 msgstr ""
 
-#: linux-thread-db.c:2119
+#: linux-thread-db.c:2188
 msgid "Set search path for libthread_db."
 msgstr ""
 
-#: linux-thread-db.c:2120
+#: linux-thread-db.c:2189
 msgid "Show the current search path or libthread_db."
 msgstr ""
 
-#: linux-thread-db.c:2121
+#: linux-thread-db.c:2190
 msgid ""
 "This path is used to search for libthread_db to be loaded into gdb itself.\n"
 "Its value is a colon (':') separate list of directories to search.\n"
 "Setting the search path to an empty list resets it to its default value."
 msgstr ""
 
-#: linux-thread-db.c:2131
+#: linux-thread-db.c:2200
 msgid "Set libthread-db debugging."
 msgstr ""
 
-#: linux-thread-db.c:2132
+#: linux-thread-db.c:2201
 msgid "Show libthread-db debugging."
 msgstr ""
 
-#: linux-thread-db.c:2133
+#: linux-thread-db.c:2202
 msgid "When non-zero, libthread-db debugging is enabled."
 msgstr ""
 
-#: linux-thread-db.c:2140
+#: linux-thread-db.c:2209
 msgid "Enable or disable auto-loading of inferior specific libthread_db."
 msgstr ""
 
-#: linux-thread-db.c:2141
+#: linux-thread-db.c:2210
 msgid "Show whether auto-loading inferior specific libthread_db is enabled."
 msgstr ""
 
-#: linux-thread-db.c:2142
+#: linux-thread-db.c:2211
 msgid ""
 "If enabled, libthread_db will be searched in 'set libthread-db-search-path'\n"
 "locations to load libthread_db compatible with the inferior.\n"
@@ -15759,55 +16017,55 @@ msgid ""
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: linux-thread-db.c:2152
+#: linux-thread-db.c:2221
 msgid ""
 "Print the list of loaded inferior specific libthread_db.\n"
 "Usage: info auto-load libthread-db"
 msgstr ""
 
-#: lm32-tdep.c:367
+#: lm32-tdep.c:365
 msgid "lm32_store_return_value: type length too large."
 msgstr ""
 
-#: m2-exp.y:334 m2-exp.y:338 m2-exp.y:342 m2-exp.y:346 m2-exp.y:348
+#: m2-exp.y:333 m2-exp.y:337 m2-exp.y:341 m2-exp.y:345 m2-exp.y:347
 msgid "Sets are not implemented."
 msgstr ""
 
-#: m2-exp.y:657
+#: m2-exp.y:656
 msgid "No symbol table is loaded.  Use the \"symbol-file\" command."
 msgstr ""
 
-#: m2-exp.y:716
+#: m2-exp.y:715
 msgid "Floating point numbers must be base 10."
 msgstr ""
 
-#: m2-exp.y:718
+#: m2-exp.y:717
 #, possible-c-format
 msgid "Invalid digit '%c' in number."
 msgstr ""
 
-#: m2-exp.y:726
+#: m2-exp.y:725
 #, possible-c-format
 msgid "Invalid digit '%c' in octal number."
 msgstr ""
 
-#: m2-exp.y:767
+#: m2-exp.y:766
 msgid "Overflow on numeric constant -- number too large."
 msgstr ""
 
-#: m2-exp.y:929
+#: m2-exp.y:928
 msgid "Unterminated string or character constant."
 msgstr ""
 
-#: m2-exp.y:1063
+#: m2-exp.y:1062
 msgid "internal:  Undefined class in m2lex()"
 msgstr ""
 
-#: m2-exp.y:1067
+#: m2-exp.y:1066
 msgid "internal:  Unforseen case in m2lex()"
 msgstr ""
 
-#: m2-exp.y:1070
+#: m2-exp.y:1069
 msgid "unhandled token in m2lex()"
 msgstr ""
 
@@ -15823,38 +16081,38 @@ msgstr ""
 msgid "unbounded structure missing _m2_contents field"
 msgstr ""
 
-#: m2-typeprint.c:121
+#: m2-typeprint.c:118
 msgid "method"
 msgstr ""
 
 #. i18n: Do not translate the "struct" part!
-#: m2-typeprint.c:141
+#: m2-typeprint.c:138
 msgid "undef"
 msgstr ""
 
-#: m2-typeprint.c:145
+#: m2-typeprint.c:142
 msgid "error"
 msgstr ""
 
-#: m2-typeprint.c:268
+#: m2-typeprint.c:265
 msgid "is unknown"
 msgstr ""
 
-#: m2-typeprint.c:421
+#: m2-typeprint.c:418
 msgid "long_set failed to find discrete bounds for its subtype"
 msgstr ""
 
-#: m2-typeprint.c:424 m2-valprint.c:64
+#: m2-typeprint.c:421 m2-valprint.c:64
 msgid "expecting long_set"
 msgstr ""
 
 #. i18n: Do not translate the "SET OF" part!
-#: m2-typeprint.c:477
+#: m2-typeprint.c:474
 msgid "SET OF <unknown>"
 msgstr ""
 
 #. i18n: Do not translate "CASE" and "OF".
-#: m2-typeprint.c:564
+#: m2-typeprint.c:561
 msgid "CASE <variant> OF\n"
 msgstr ""
 
@@ -15870,7 +16128,7 @@ msgstr ""
 #. don't use dbx xrefs (NO_DBX_XREFS in gcc) if a file has a
 #. "struct foo *bar" and no complete type for struct foo in that
 #. file.
-#: m2-valprint.c:412 valprint.c:680 valprint.c:763
+#: m2-valprint.c:412 valprint.c:677 valprint.c:760
 msgid "<incomplete type>"
 msgstr ""
 
@@ -15878,26 +16136,26 @@ msgstr ""
 msgid "<error value>"
 msgstr ""
 
-#: m32c-tdep.c:2248
+#: m32c-tdep.c:2243
 msgid ""
 "The return value is stored in memory at 'mem0', but GDB cannot find\n"
 "its address."
 msgstr ""
 
-#: m32c-tdep.c:2280
+#: m32c-tdep.c:2275
 msgid ""
 "The return value is stored in memory at 'mem0', but GDB cannot find\n"
 " its address."
 msgstr ""
 
-#: m32c-tdep.c:2461
+#: m32c-tdep.c:2456
 #, possible-c-format
 msgid ""
 "Cannot convert code address %s to function pointer:\n"
 "couldn't find a symbol at that address, to find trampoline."
 msgstr ""
 
-#: m32c-tdep.c:2495
+#: m32c-tdep.c:2490
 #, possible-c-format
 msgid ""
 "Cannot convert code address %s to function pointer:\n"
@@ -15907,315 +16165,315 @@ msgid ""
 "but will most likely not be useful otherwise.\n"
 msgstr ""
 
-#: m32r-rom.c:135
+#: m32r-rom.c:133
 #, possible-c-format
 msgid "Unable to open file %s."
 msgstr ""
 
-#: m32r-rom.c:138
+#: m32r-rom.c:136
 msgid "File is not an object file."
 msgstr ""
 
-#: m32r-rom.c:446
+#: m32r-rom.c:441
 msgid "No ethernet connection!"
 msgstr ""
 
 #. empty
-#: m32r-rom.c:456
+#: m32r-rom.c:451
 msgid "Please use 'set board-address' to set the M32R-EVA board's IP address."
 msgstr ""
 
-#: m32r-rom.c:468
+#: m32r-rom.c:463
 msgid "Couldn't initialize WINSOCK."
 msgstr ""
 
 #. failed?
-#: m32r-rom.c:488
+#: m32r-rom.c:483
 msgid "Need to know gdb host computer's IP address (use 'set server-address')"
 msgstr ""
 
-#: m32r-rom.c:501
+#: m32r-rom.c:496
 msgid "Need to know default download path (use 'set download-path')"
 msgstr ""
 
-#: m32r-rom.c:523
+#: m32r-rom.c:518
 #, possible-c-format
 msgid ""
 "Upload file not found: %s.srec\n"
 "Check IP addresses and download path."
 msgstr ""
 
-#: m32r-rom.c:607
+#: m32r-rom.c:602
 msgid "Set the default path for downloadable SREC files."
 msgstr ""
 
-#: m32r-rom.c:608
+#: m32r-rom.c:603
 msgid "Show the default path for downloadable SREC files."
 msgstr ""
 
-#: m32r-rom.c:609
+#: m32r-rom.c:604
 msgid "Determines the default path for downloadable SREC files."
 msgstr ""
 
-#: m32r-rom.c:616
+#: m32r-rom.c:611
 msgid "Set IP address for M32R-EVA target board."
 msgstr ""
 
-#: m32r-rom.c:617
+#: m32r-rom.c:612
 msgid "Show IP address for M32R-EVA target board."
 msgstr ""
 
-#: m32r-rom.c:618
+#: m32r-rom.c:613
 msgid "Determine the IP address for M32R-EVA target board."
 msgstr ""
 
-#: m32r-rom.c:625
+#: m32r-rom.c:620
 msgid "Set IP address for download server (GDB's host computer)."
 msgstr ""
 
-#: m32r-rom.c:626
+#: m32r-rom.c:621
 msgid "Show IP address for download server (GDB's host computer)."
 msgstr ""
 
-#: m32r-rom.c:627
+#: m32r-rom.c:622
 msgid "Determine the IP address for download server (GDB's host computer)."
 msgstr ""
 
-#: m32r-rom.c:635
+#: m32r-rom.c:630
 msgid "Upload the srec file via the monitor's Ethernet upload capability."
 msgstr ""
 
-#: m32r-rom.c:638
+#: m32r-rom.c:633
 msgid "test upload command."
 msgstr ""
 
-#: m68hc11-tdep.c:255
+#: m68hc11-tdep.c:254
 msgid ""
 "No frame soft register found in the symbol table.\n"
 "Stack backtrace will not work."
 msgstr ""
 
-#: m68hc11-tdep.c:1280
+#: m68hc11-tdep.c:1279
 msgid "return of value > 4 is not supported."
 msgstr ""
 
-#: m68hc11-tdep.c:1317 sh64-tdep.c:1276 sh-tdep.c:1327
+#: m68hc11-tdep.c:1316 sh64-tdep.c:1274 sh-tdep.c:1325
 msgid "bad size for return value"
 msgstr ""
 
-#: m68k-tdep.c:179
+#: m68k-tdep.c:177
 #, possible-c-format
 msgid "m68k_register_name: illegal register number %d"
 msgstr ""
 
-#: m68k-tdep.c:1029
+#: m68k-tdep.c:1027
 msgid "m68k_get_longjmp_target: not implemented"
 msgstr ""
 
-#: machoread.c:209
+#: machoread.c:206
 msgid "Unexpected empty N_SO stab"
 msgstr ""
 
-#: machoread.c:228
+#: machoread.c:225
 #, possible-c-format
 msgid "%s: Unexpected debug stab outside SO markers"
 msgstr ""
 
 #. Unexpected empty N_SO.
-#: machoread.c:245
+#: machoread.c:242
 msgid "Empty SO section"
 msgstr ""
 
-#: machoread.c:256
+#: machoread.c:253
 msgid "Three SO in a raw"
 msgstr ""
 
-#: machoread.c:265
+#: machoread.c:262
 #, possible-c-format
 msgid "stabs debugging not supported for %s"
 msgstr ""
 
-#: machoread.c:278
+#: machoread.c:275
 msgid "Unexpected stab after SO"
 msgstr ""
 
-#: machoread.c:296
+#: machoread.c:293
 msgid "Missing nul SO"
 msgstr ""
 
-#: machoread.c:326
+#: machoread.c:323
 msgid "unhandled stab for dwarf OSO file"
 msgstr ""
 
-#: machoread.c:333
+#: machoread.c:330
 msgid "non-debugging symbol within SO"
 msgstr ""
 
-#: machoread.c:339
+#: machoread.c:336
 msgid "missing nul SO"
 msgstr ""
 
-#: machoread.c:427
+#: machoread.c:424
 #, possible-c-format
 msgid "can't find symbol '%s' in minsymtab"
 msgstr ""
 
-#: machoread.c:453
+#: machoread.c:450
 #, possible-c-format
 msgid "Loading debugging symbols from oso: %s\n"
 msgstr ""
 
-#: machoread.c:457 symfile.c:1758 symfile.c:1799
+#: machoread.c:454 symfile.c:1754 symfile.c:1795
 #, possible-c-format
 msgid "`%s': can't read symbols: %s."
 msgstr ""
 
-#: machoread.c:465
+#: machoread.c:462
 #, possible-c-format
 msgid "`%s': file time stamp mismatch."
 msgstr ""
 
-#: machoread.c:474
+#: machoread.c:471
 #, possible-c-format
 msgid "`%s': can't create hash table"
 msgstr ""
 
-#: machoread.c:523
+#: machoread.c:520
 #, possible-c-format
 msgid "Duplicated symbol %s in symbol table"
 msgstr ""
 
-#: machoread.c:530
+#: machoread.c:527
 #, possible-c-format
 msgid "Adding symbol %s (addr: %s)\n"
 msgstr ""
 
-#: machoread.c:604
+#: machoread.c:601
 #, possible-c-format
 msgid "resolve sect %s with %s (set to %s)\n"
 msgstr ""
 
-#: machoread.c:683
+#: machoread.c:680
 #, possible-c-format
 msgid "Could not open OSO archive file \"%s\""
 msgstr ""
 
-#: machoread.c:690
+#: machoread.c:687
 #, possible-c-format
 msgid "OSO archive file \"%s\" not an archive."
 msgstr ""
 
-#: machoread.c:701
+#: machoread.c:698
 #, possible-c-format
 msgid "Could not read archive members out of OSO archive \"%s\""
 msgstr ""
 
-#: machoread.c:746
+#: machoread.c:743
 #, possible-c-format
 msgid "Could not find specified archive member for OSO name \"%s\""
 msgstr ""
 
-#: machoread.c:757 symfile.c:1752 symfile.c:1792
+#: machoread.c:754 symfile.c:1748 symfile.c:1788
 #, possible-c-format
 msgid "`%s': can't open to read symbols: %s."
 msgstr ""
 
-#: machoread.c:804 machoread.c:824
+#: machoread.c:801 machoread.c:821
 #, possible-c-format
 msgid "can't find UUID in %s"
 msgstr ""
 
-#: machoread.c:810
+#: machoread.c:807
 #, possible-c-format
 msgid "can't open dsym file %s"
 msgstr ""
 
-#: machoread.c:817
+#: machoread.c:814
 #, possible-c-format
 msgid "bad dsym file format: %s"
 msgstr ""
 
-#: machoread.c:831
+#: machoread.c:828
 #, possible-c-format
 msgid "dsym file UUID doesn't match the one in %s"
 msgstr ""
 
-#: machoread.c:904
+#: machoread.c:901
 msgid "dsym file found\n"
 msgstr ""
 
-#: machoread.c:953
+#: machoread.c:950
 #, possible-c-format
 msgid "Relocate section '%s' of %s\n"
 msgstr ""
 
-#: machoread.c:1042
+#: machoread.c:1039
 msgid "Set if printing Mach-O symbols processing."
 msgstr ""
 
-#: machoread.c:1043
+#: machoread.c:1040
 msgid "Show if printing Mach-O symbols processing."
 msgstr ""
 
-#: macrocmd.c:71
+#: macrocmd.c:70
 msgid ""
 "You must follow the `macro expand' command with the expression you\n"
 "want to expand."
 msgstr ""
 
-#: macrocmd.c:105
+#: macrocmd.c:104
 msgid ""
 "You must follow the `macro expand-once' command with the expression\n"
 "you want to expand."
 msgstr ""
 
-#: macrocmd.c:232
+#: macrocmd.c:231
 #, possible-c-format
 msgid ""
 "Unrecognized option '%s' to info macro command.  Try \"help info macro\"."
 msgstr ""
 
-#: macrocmd.c:242
+#: macrocmd.c:241
 msgid ""
 "You must follow the `info macro' command with the name of the macro\n"
 "whose definition you want to see."
 msgstr ""
 
-#: macrocmd.c:376
+#: macrocmd.c:375
 msgid "usage: macro define NAME[(ARGUMENT-LIST)] [REPLACEMENT-LIST]"
 msgstr ""
 
-#: macrocmd.c:386 macrocmd.c:461
+#: macrocmd.c:385 macrocmd.c:460
 msgid "Invalid macro name."
 msgstr ""
 
-#: macrocmd.c:414
+#: macrocmd.c:413
 msgid "Macro is missing an argument."
 msgstr ""
 
-#: macrocmd.c:420
+#: macrocmd.c:419
 msgid "Two macro arguments with identical names."
 msgstr ""
 
-#: macrocmd.c:430
+#: macrocmd.c:429
 msgid "',' or ')' expected at end of macro arguments."
 msgstr ""
 
-#: macrocmd.c:456
+#: macrocmd.c:455
 msgid "usage: macro undef NAME"
 msgstr ""
 
-#: macrocmd.c:504
+#: macrocmd.c:503
 msgid "Prefix for commands dealing with C preprocessor macros."
 msgstr ""
 
-#: macrocmd.c:507
+#: macrocmd.c:506
 msgid ""
 "Fully expand any C/C++ preprocessor macro invocations in EXPRESSION.\n"
 "Show the expanded expression."
 msgstr ""
 
-#: macrocmd.c:512
+#: macrocmd.c:511
 msgid ""
 "Expand C/C++ preprocessor macro invocations appearing directly in "
 "EXPRESSION.\n"
@@ -16230,7 +16488,7 @@ msgid ""
 "expression work together to yield a pre-processed expression."
 msgstr ""
 
-#: macrocmd.c:527
+#: macrocmd.c:526
 msgid ""
 "Show the definition of MACRO, and it's source location.\n"
 "Usage: info macro [-a|-all] [--] MACRO\n"
@@ -16240,14 +16498,14 @@ msgid ""
 "  --           Specify the end of arguments and the beginning of the MACRO."
 msgstr ""
 
-#: macrocmd.c:537
+#: macrocmd.c:536
 msgid ""
 "Show the definitions of all macros at LINESPEC, or the current source "
 "location.\n"
 "Usage: info macros [LINESPEC]"
 msgstr ""
 
-#: macrocmd.c:542
+#: macrocmd.c:541
 msgid ""
 "Define a new C/C++ preprocessor macro.\n"
 "The GDB command `macro define DEFINITION' is equivalent to placing a\n"
@@ -16258,164 +16516,167 @@ msgid ""
 "  (gdb) macro define MIN(x,y) ((x) < (y) ? (x) : (y))"
 msgstr ""
 
-#: macrocmd.c:552
+#: macrocmd.c:551
 msgid ""
 "Remove the definition of the C/C++ preprocessor macro with the given name."
 msgstr ""
 
-#: macrocmd.c:557
+#: macrocmd.c:556
 msgid "List all the macros defined using the `macro define' command."
 msgstr ""
 
-#: macroexp.c:246
+#: macroexp.c:245
 msgid "Unterminated comment in macro expansion."
 msgstr ""
 
-#: macroexp.c:356
+#: macroexp.c:355
 msgid "A character constant must contain at least one character."
 msgstr ""
 
-#: macroexp.c:416
+#: macroexp.c:415
 msgid "Newline characters may not appear in string constants."
 msgstr ""
 
-#: macroexp.c:650
+#: macroexp.c:649
 msgid "unable to avoid splicing tokens during macro expansion"
 msgstr ""
 
-#: macroexp.c:841
+#: macroexp.c:840
 #, possible-c-format
 msgid "Malformed argument list for macro `%s'."
 msgstr ""
 
-#: macroexp.c:1012
+#: macroexp.c:1011
 msgid "Stringification operator requires an argument."
 msgstr ""
 
-#: macroexp.c:1017
+#: macroexp.c:1016
 msgid "Argument to stringification operator must name a macro parameter."
 msgstr ""
 
-#: macroexp.c:1031
+#: macroexp.c:1030
 msgid "Stray splicing operator"
 msgstr ""
 
-#: macroexp.c:1063
+#: macroexp.c:1062
 msgid "Splicing operator at end of macro"
 msgstr ""
 
-#: macroexp.c:1272
+#: macroexp.c:1271
 #, possible-c-format
 msgid "Wrong number of arguments to macro `%s' (expected %d, got %d)."
 msgstr ""
 
-#: macroexp.c:1306
+#: macroexp.c:1305
 msgid "bad macro definition kind"
 msgstr ""
 
-#: macroexp.c:1438
+#: macroexp.c:1437
 msgid "Expand-once not implemented yet."
 msgstr ""
 
-#: macroscope.c:78
+#: macroscope.c:81
 #, possible-c-format
 msgid ""
 "symtab found for `%s', but that file\n"
 "is not covered in the compilation unit's macro information"
 msgstr ""
 
-#: macrotab.c:483
+#: macrotab.c:481
 #, possible-c-format
 msgid "both `%s' and `%s' allegedly #included at %s:%d"
 msgstr ""
 
-#: macrotab.c:733
+#: macrotab.c:731
 #, possible-c-format
 msgid "macro `%s' redefined at %s:%d; original definition at %s:%d"
 msgstr ""
 
-#: macrotab.c:862
+#: macrotab.c:860
 #, possible-c-format
 msgid "macro '%s' is #undefined twice, at %s:%d and %s:%d"
 msgstr ""
 
-#: macrotab.c:883
+#: macrotab.c:881
 #, possible-c-format
 msgid "no definition for macro `%s' in scope to #undef at %s:%d"
 msgstr ""
 
-#: main.c:128 source.c:583
+#: main.c:125 source.c:580
 #, possible-c-format
 msgid "%s is not a directory."
 msgstr ""
 
-#: main.c:513
-#, possible-c-format
-msgid "%s: warning: error finding working directory: %s\n"
+#: main.c:531
+msgid "error finding working directory"
 msgstr ""
 
-#: main.c:680
+#: main.c:695
 #, possible-c-format
-msgid "%s: TUI mode is not supported\n"
+msgid "%s: TUI mode is not supported"
 msgstr ""
 
-#: main.c:750
+#: main.c:761
 #, possible-c-format
-msgid "%s: empty path for `--data-directory'\n"
+msgid "%s: empty path for `--data-directory'"
 msgstr ""
 
-#: main.c:766
+#: main.c:772
 #, possible-c-format
 msgid "%s: unable to load tclcommand file \"%s\""
 msgstr ""
 
-#: main.c:818
+#: main.c:815
 #, possible-c-format
-msgid "warning: could not set baud rate to `%s'.\n"
+msgid "could not set baud rate to `%s'."
 msgstr ""
 
-#: main.c:835
+#: main.c:828
 #, possible-c-format
-msgid "warning: could not set timeout limit to `%s'.\n"
+msgid "could not set timeout limit to `%s'."
 msgstr ""
 
-#: main.c:844
+#: main.c:836
 #, possible-c-format
-msgid "Use `%s --help' for a complete list of options.\n"
+msgid "Use `%s --help' for a complete list of options."
 msgstr ""
 
-#: main.c:869
+#: main.c:860
 #, possible-c-format
-msgid "%s: `--args' specified but no program specified\n"
+msgid "%s: `--args' specified but no program specified"
 msgstr ""
 
-#: main.c:906
+#: main.c:895
 #, possible-c-format
 msgid "Excess command line arguments ignored. (%s%s)\n"
 msgstr ""
 
-#: main.c:970
+#: main.c:959
 #, possible-c-format
 msgid "Interpreter `%s' unrecognized"
 msgstr ""
 
-#. Set off error and warning messages with a blank line.
-#: main.c:999
+#: main.c:962
+#, possible-c-format
+msgid "Interpreter `%s' failed to initialize."
+msgstr ""
+
+#: main.c:984
 msgid ""
 "\n"
 "warning: "
 msgstr ""
 
-#: main.c:1071
+#: main.c:1056
 msgid "Can't attach to process and specify a core file at the same time."
 msgstr ""
 
 #. Error messages should no longer be distinguished with extra output.
-#: main.c:1102
+#: main.c:1087
 msgid "warning: "
 msgstr ""
 
-#: main.c:1112
+#: main.c:1097
 #, possible-c-format
 msgid "auto-load: Loading .gdbinit file \"%s\".\n"
 msgstr ""
@@ -16423,7 +16684,7 @@ msgstr ""
 #. Note: The options in the list below are only approximately sorted
 #. in the alphabetical order, so as to group closely related options
 #. together.
-#: main.c:1195
+#: main.c:1180
 msgid ""
 "This is the GNU debugger.  Usage:\n"
 "\n"
@@ -16432,7 +16693,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: main.c:1200
+#: main.c:1185
 msgid ""
 "Selection of debuggee and its files:\n"
 "\n"
@@ -16448,7 +16709,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: main.c:1212
+#: main.c:1197
 msgid ""
 "Initial commands and command files:\n"
 "\n"
@@ -16466,7 +16727,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: main.c:1226
+#: main.c:1211
 msgid ""
 "Output and user interface control:\n"
 "\n"
@@ -16479,11 +16740,11 @@ msgid ""
 "  --nw               Do not use the GUI interface.\n"
 msgstr ""
 
-#: main.c:1236
+#: main.c:1221
 msgid "  --tui              Use a terminal user interface.\n"
 msgstr ""
 
-#: main.c:1240
+#: main.c:1225
 msgid ""
 "  --dbx              DBX compatibility mode.\n"
 "  --xdb              XDB compatibility mode.\n"
@@ -16492,7 +16753,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: main.c:1246
+#: main.c:1231
 msgid ""
 "Operating modes:\n"
 "\n"
@@ -16516,204 +16777,198 @@ msgid ""
 "                     Set GDB's data-directory to DIR.\n"
 msgstr ""
 
-#: main.c:1263
+#: main.c:1248
 msgid ""
 "\n"
 "At startup, GDB reads the following init files and executes their commands:\n"
 msgstr ""
 
-#: main.c:1267
+#: main.c:1252
 #, possible-c-format
 msgid "   * system-wide init file: %s\n"
 msgstr ""
 
-#: main.c:1271
+#: main.c:1256
 #, possible-c-format
 msgid "   * user-specific init file: %s\n"
 msgstr ""
 
-#: main.c:1275
+#: main.c:1260
 #, possible-c-format
 msgid "   * local init file (see also 'set auto-load local-gdbinit'): ./%s\n"
 msgstr ""
 
-#: main.c:1278
+#: main.c:1263
 msgid ""
 "\n"
 "For more information, type \"help\" from within GDB, or consult the\n"
 "GDB manual (available as on-line info or a printed manual).\n"
 msgstr ""
 
-#: main.c:1283
+#: main.c:1268
 #, possible-c-format
 msgid "Report bugs to \"%s\".\n"
 msgstr ""
 
-#: maint.c:81
+#: maint.c:80
 #, possible-c-format
 msgid "Watchdog timer is %s.\n"
 msgstr ""
 
-#: maint.c:89
+#: maint.c:88
 msgid ""
 "\"maintenance\" must be followed by the name of a maintenance command.\n"
 msgstr ""
 
-#: maint.c:98
+#: maint.c:97
 msgid "Should GDB dump core? "
 msgstr ""
 
 #: maint.c:149
-msgid "\"maintenance demangle\" takes an argument to demangle.\n"
+msgid "This command has been moved to \"demangle\".\n"
 msgstr ""
 
-#: maint.c:163
-#, possible-c-format
-msgid "Can't demangle \"%s\"\n"
-msgstr ""
-
-#: maint.c:172
+#: maint.c:156
 msgid "\"maintenance time\" takes a numeric argument.\n"
 msgstr ""
 
-#: maint.c:193
+#: maint.c:177
 msgid "\"maintenance info\" must be followed by the name of an info command.\n"
 msgstr ""
 
-#: maint.c:366
+#: maint.c:352
 msgid "Exec file:\n"
 msgstr ""
 
-#: maint.c:384
+#: maint.c:370
 #, possible-c-format
 msgid "  Object file: %s\n"
 msgstr ""
 
-#: maint.c:398
+#: maint.c:384
 msgid "Core file:\n"
 msgstr ""
 
-#: maint.c:426 regcache.c:1335
+#: maint.c:412 regcache.c:1463
 msgid "maintenance print architecture"
 msgstr ""
 
-#: maint.c:440
+#: maint.c:426
 msgid ""
 "\"maintenance print\" must be followed by the name of a print command.\n"
 msgstr ""
 
-#: maint.c:460
+#: maint.c:447
 msgid "requires argument (address or section + address)"
 msgstr ""
 
 #. End of command?
-#: maint.c:470
+#: maint.c:457
 msgid "Need to specify <section-name> and <address>"
 msgstr ""
 
-#: maint.c:481
+#: maint.c:468
 #, possible-c-format
 msgid "Unknown section %s."
 msgstr ""
 
-#: maint.c:510
+#: maint.c:497
 #, possible-c-format
 msgid "%s + %s in section %s of %s\n"
 msgstr ""
 
-#: maint.c:514
+#: maint.c:501
 #, possible-c-format
 msgid "%s + %s in section %s\n"
 msgstr ""
 
-#: maint.c:518
+#: maint.c:505
 #, possible-c-format
 msgid "%s + %s\n"
 msgstr ""
 
-#: maint.c:521
+#: maint.c:508
 #, possible-c-format
 msgid "no symbol at %s:%s\n"
 msgstr ""
 
-#: maint.c:524
+#: maint.c:511
 #, possible-c-format
 msgid "no symbol at %s\n"
 msgstr ""
 
-#: maint.c:539
+#: maint.c:526
 msgid ""
 "\"maintenance deprecate\" takes an argument,\n"
 "the command you want to deprecate, and optionally the replacement command\n"
 "enclosed in quotes.\n"
 msgstr ""
 
-#: maint.c:554
+#: maint.c:541
 msgid ""
 "\"maintenance undeprecate\" takes an argument, \n"
 "the command you want to undeprecate.\n"
 msgstr ""
 
-#: maint.c:586
+#: maint.c:573
 #, possible-c-format
 msgid "Can't find command '%s' to deprecate.\n"
 msgstr ""
 
-#: maint.c:665
+#: maint.c:652
 msgid "\"maintenance set\" must be followed by the name of a set command.\n"
 msgstr ""
 
-#: maint.c:683
+#: maint.c:671
 #, possible-c-format
 msgid "Internal profiling is %s.\n"
 msgstr ""
 
-#: maint.c:745
+#: maint.c:733
 msgid "Profiling support is not available on this system."
 msgstr ""
 
-#: maint.c:867
+#: maint.c:854
 #, possible-c-format
 msgid "Startup time: %ld.%06ld (cpu), %ld.%06ld (wall)\n"
 msgstr ""
 
-#: maint.c:868
+#: maint.c:855
 #, possible-c-format
 msgid "Command execution time: %ld.%06ld (cpu), %ld.%06ld (wall)\n"
 msgstr ""
 
-#: maint.c:883
+#: maint.c:870
 #, possible-c-format
 msgid "Space used: %ld (%s%ld during startup)\n"
 msgstr ""
 
-#: maint.c:884
+#: maint.c:871
 #, possible-c-format
 msgid "Space used: %ld (%s%ld for this command)\n"
 msgstr ""
 
-#: maint.c:896
+#: maint.c:883
 #, possible-c-format
-msgid "#symtabs: %d (+%d), #primary symtabs: %d (+%d), #blocks: %d (+%d)\n"
+msgid "#symtabs: %d (+%d), #compunits: %d (+%d), #blocks: %d (+%d)\n"
 msgstr ""
 
-#: maint.c:978
+#: maint.c:966
 msgid "Bad value for 'mt set per-command no'."
 msgstr ""
 
-#: maint.c:1000
+#: maint.c:990
 msgid ""
 "Commands for use by GDB maintainers.\n"
 "Includes commands to dump specific internal GDB structures in\n"
-"a human readable form, to cause GDB to deliberately dump core,\n"
-"to test internal functions such as the C++/ObjC demangler, etc."
+"a human readable form, to cause GDB to deliberately dump core, etc."
 msgstr ""
 
-#: maint.c:1010
+#: maint.c:999
 msgid "Commands for showing internal info about the program being debugged."
 msgstr ""
 
-#: maint.c:1016
+#: maint.c:1005
 msgid ""
 "List the BFD sections of the exec and core files. \n"
 "Arguments may be any combination of:\n"
@@ -16726,94 +16981,97 @@ msgid ""
 "lists all sections from all object files, including shared libraries."
 msgstr ""
 
-#: maint.c:1029
+#: maint.c:1018
 msgid "Maintenance command for printing GDB internal state."
 msgstr ""
 
-#: maint.c:1033
+#: maint.c:1022
 msgid ""
 "Set GDB internal variables used by the GDB maintainer.\n"
 "Configure variables internal to GDB that aid in GDB's maintenance"
 msgstr ""
 
-#: maint.c:1040
+#: maint.c:1029
 msgid ""
 "Show GDB internal variables used by the GDB maintainer.\n"
 "Configure variables internal to GDB that aid in GDB's maintenance"
 msgstr ""
 
-#: maint.c:1048
+#: maint.c:1037
 msgid ""
 "Get fatal error; make debugger dump its core.\n"
 "GDB sets its handling of SIGQUIT back to SIG_DFL and then sends\n"
 "itself a SIGQUIT signal."
 msgstr ""
 
-#: maint.c:1056
+#: maint.c:1045
 msgid ""
 "Give GDB an internal error.\n"
 "Cause GDB to behave as if an internal error was detected."
 msgstr ""
 
-#: maint.c:1062
+#: maint.c:1051
 msgid ""
 "Give GDB an internal warning.\n"
 "Cause GDB to behave as if an internal warning was reported."
 msgstr ""
 
-#: maint.c:1067
+#: maint.c:1057
 msgid ""
-"Demangle a C++/ObjC mangled name.\n"
-"Call internal GDB demangler routine to demangle a C++ link name\n"
-"and prints the result."
+"Give GDB a demangler warning.\n"
+"Cause GDB to behave as if a demangler warning was reported."
+msgstr ""
+
+#: maint.c:1062
+msgid "This command has been moved to \"demangle\"."
 msgstr ""
 
-#: maint.c:1073
+#: maint.c:1067
 msgid "Per-command statistics settings."
 msgstr ""
 
 #. allow-unknown
-#: maint.c:1078
+#: maint.c:1072
 msgid "Show per-command statistics settings."
 msgstr ""
 
-#: maint.c:1084
+#: maint.c:1078
 msgid "Set whether to display per-command execution time."
 msgstr ""
 
-#: maint.c:1085
+#: maint.c:1079
 msgid "Show whether to display per-command execution time."
 msgstr ""
 
-#: maint.c:1087
+#: maint.c:1081
 msgid ""
 "If enabled, the execution time for each command will be\n"
 "displayed following the command's output."
 msgstr ""
 
-#: maint.c:1094
+#: maint.c:1088
 msgid "Set whether to display per-command space usage."
 msgstr ""
 
-#: maint.c:1095
+#: maint.c:1089
 msgid "Show whether to display per-command space usage."
 msgstr ""
 
-#: maint.c:1097
+#: maint.c:1091
 msgid ""
 "If enabled, the space usage for each command will be\n"
 "displayed following the command's output."
 msgstr ""
 
-#: maint.c:1104
+#: maint.c:1098
 msgid "Set whether to display per-command symtab statistics."
 msgstr ""
 
-#: maint.c:1105
+#: maint.c:1099
 msgid "Show whether to display per-command symtab statistics."
 msgstr ""
 
-#: maint.c:1107
+#: maint.c:1101
 msgid ""
 "If enabled, the basic symtab statistics for each command will be\n"
 "displayed following the command's output."
@@ -16821,7 +17079,7 @@ msgstr ""
 
 #. This is equivalent to "mt set per-command time on".
 #. Kept because some people are used to typing "mt time 1".
-#: maint.c:1115
+#: maint.c:1109
 msgid ""
 "Set the display of time usage.\n"
 "If nonzero, will cause the execution time for each command to be\n"
@@ -16830,35 +17088,35 @@ msgstr ""
 
 #. This is equivalent to "mt set per-command space on".
 #. Kept because some people are used to typing "mt space 1".
-#: maint.c:1123
+#: maint.c:1117
 msgid ""
 "Set the display of space usage.\n"
 "If nonzero, will cause the execution space for each command to be\n"
 "displayed, following the command's output."
 msgstr ""
 
-#: maint.c:1129
+#: maint.c:1123
 msgid ""
 "Print a type chain for a given symbol.\n"
 "For each node in a type chain, print the raw data for each member of\n"
 "the type structure, and the interpretation of the data."
 msgstr ""
 
-#: maint.c:1136
+#: maint.c:1130
 msgid "Print statistics about internal gdb state."
 msgstr ""
 
-#: maint.c:1140
+#: maint.c:1134
 msgid ""
 "Print the internal architecture configuration.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: maint.c:1147
+#: maint.c:1141
 msgid "Translate a section name and address to a symbol."
 msgstr ""
 
-#: maint.c:1150
+#: maint.c:1144
 msgid ""
 "Deprecate a command.  Note that this is just in here so the \n"
 "testsuite can check the command deprecator. You probably shouldn't use "
@@ -16868,7 +17126,7 @@ msgid ""
 "replacement is optional."
 msgstr ""
 
-#: maint.c:1157
+#: maint.c:1151
 msgid ""
 "Undeprecate a command.  Note that this is just in here so the \n"
 "testsuite can check the command deprecator. You probably shouldn't use "
@@ -16876,80 +17134,80 @@ msgid ""
 "If you decide you want to use it: maintenance undeprecate 'commandname'"
 msgstr ""
 
-#: maint.c:1163
+#: maint.c:1157
 msgid "Set watchdog timer."
 msgstr ""
 
-#: maint.c:1164
+#: maint.c:1158
 msgid "Show watchdog timer."
 msgstr ""
 
-#: maint.c:1165
+#: maint.c:1159
 msgid ""
 "When non-zero, this timeout is used instead of waiting forever for a target\n"
 "to finish a low-level step or continue operation.  If the specified amount\n"
 "of time passes without a response from the target, an error occurs."
 msgstr ""
 
-#: maint.c:1174
+#: maint.c:1168
 msgid "Set internal profiling."
 msgstr ""
 
-#: maint.c:1175
+#: maint.c:1169
 msgid "Show internal profiling."
 msgstr ""
 
-#: maint.c:1176
+#: maint.c:1170
 msgid "When enabled GDB is profiled."
 msgstr ""
 
-#: mdebugread.c:132
+#: mdebugread.c:130
 #, possible-c-format
 msgid "bad aux index at symbol %s"
 msgstr ""
 
-#: mdebugread.c:138
+#: mdebugread.c:136
 #, possible-c-format
 msgid "unknown external symbol %s"
 msgstr ""
 
-#: mdebugread.c:144
+#: mdebugread.c:142
 #, possible-c-format
 msgid "cannot map ECOFF basic type 0x%x for %s"
 msgstr ""
 
-#: mdebugread.c:152
+#: mdebugread.c:150
 #, possible-c-format
 msgid "guessed tag type of %s incorrectly"
 msgstr ""
 
-#: mdebugread.c:158
+#: mdebugread.c:156
 #, possible-c-format
 msgid "bad rfd entry for %s: file %d, index %d"
 msgstr ""
 
-#: mdebugread.c:165
+#: mdebugread.c:163
 #, possible-c-format
 msgid "unexpected type code for %s"
 msgstr ""
 
-#: mdebugread.c:380
+#: mdebugread.c:378
 #, possible-c-format
 msgid ""
 "\n"
 "%s not compiled with -g, debugging support is limited.\n"
 msgstr ""
 
-#: mdebugread.c:383
+#: mdebugread.c:381
 msgid "You should compile with -g2 or -g3 for best debugging support.\n"
 msgstr ""
 
-#: mdebugread.c:726 mdebugread.c:1336
+#: mdebugread.c:724 mdebugread.c:1336
 #, possible-c-format
 msgid "unknown symbol type 0x%x"
 msgstr ""
 
-#: mdebugread.c:943
+#: mdebugread.c:942
 #, possible-c-format
 msgid "declaration block contains unhandled symbol type %d"
 msgstr ""
@@ -16989,161 +17247,161 @@ msgstr ""
 msgid "unknown type qualifier 0x%x"
 msgstr ""
 
-#: mdebugread.c:1942
+#: mdebugread.c:1940
 #, possible-c-format
 msgid "can't handle PDR for static proc at 0x%lx"
 msgstr ""
 
-#: mdebugread.c:2004
+#: mdebugread.c:2003
 #, possible-c-format
 msgid "PDR for %s, but no symbol"
 msgstr ""
 
-#: mdebugread.c:2129
+#: mdebugread.c:2128
 #, possible-c-format
 msgid "Warning: %s `%s' is undefined (in %s)\n"
 msgstr ""
 
-#: mdebugread.c:2231
+#: mdebugread.c:2230
 #, possible-c-format
 msgid "guessed size of linetable for %s incorrectly"
 msgstr ""
 
-#: mdebugread.c:2494
+#: mdebugread.c:2493
 #, possible-c-format
 msgid "bad ifd for external symbol: %d (max %ld)"
 msgstr ""
 
-#: mdebugread.c:2501
+#: mdebugread.c:2500
 #, possible-c-format
 msgid "bad iss for external symbol: %ld (max %ld)"
 msgstr ""
 
-#: mdebugread.c:3507
+#: mdebugread.c:3506
 #, possible-c-format
 msgid "bad proc end in aux found from symbol %s"
 msgstr ""
 
-#: mdebugread.c:3620
+#: mdebugread.c:3619
 #, possible-c-format
 msgid "bad aux index at block symbol %s"
 msgstr ""
 
 #. Both complaints are valid:  one gives symbol name,
 #. the other the offending symbol type.
-#: mdebugread.c:3640
+#: mdebugread.c:3639
 #, possible-c-format
 msgid "unknown local symbol %s"
 msgstr ""
 
-#: mdebugread.c:3642
+#: mdebugread.c:3641
 #, possible-c-format
 msgid "with type %d"
 msgstr ""
 
-#: mdebugread.c:3805
+#: mdebugread.c:3804
 #, possible-c-format
 msgid "bad file number %ld"
 msgstr ""
 
-#: mdebugread.c:4118
+#: mdebugread.c:4116
 #, possible-c-format
 msgid "unknown stabs symbol %s"
 msgstr ""
 
-#: mdebugread.c:4312
+#: mdebugread.c:4310
 #, possible-c-format
 msgid "File %s contains %d unresolved references:"
 msgstr ""
 
-#: mdebugread.c:4490
+#: mdebugread.c:4487
 #, possible-c-format
 msgid "illegal tq0 in forward typedef for %s"
 msgstr ""
 
-#: mdebugread.c:4528
+#: mdebugread.c:4525
 #, possible-c-format
 msgid "illegal bt %d in forward typedef for %s"
 msgstr ""
 
-#: mdebugread.c:4894
+#: mdebugread.c:4899
 #, possible-c-format
 msgid "Error reading ECOFF debugging information: %s"
 msgstr ""
 
-#: memattr.c:78
+#: memattr.c:77
 msgid "Unknown memory addresses will be treated as inaccessible.\n"
 msgstr ""
 
-#: memattr.c:81
+#: memattr.c:80
 msgid "Unknown memory addresses will be treated as RAM.\n"
 msgstr ""
 
-#: memattr.c:148
+#: memattr.c:147
 msgid ""
 "Switching to manual control of memory regions; use \"mem auto\" to fetch "
 "regions from the target again."
 msgstr ""
 
-#: memattr.c:184
+#: memattr.c:183
 msgid "invalid memory region: low >= high\n"
 msgstr ""
 
-#: memattr.c:213
+#: memattr.c:212
 msgid "overlapping memory region\n"
 msgstr ""
 
-#: memattr.c:324
+#: memattr.c:323
 msgid "No mem"
 msgstr ""
 
-#: memattr.c:346
+#: memattr.c:345
 msgid "no lo address"
 msgstr ""
 
-#: memattr.c:351
+#: memattr.c:350
 msgid "no hi address"
 msgstr ""
 
-#: memattr.c:369
+#: memattr.c:368
 msgid "region bounds not 16 bit aligned"
 msgstr ""
 
-#: memattr.c:375
+#: memattr.c:374
 msgid "region bounds not 32 bit aligned"
 msgstr ""
 
-#: memattr.c:381
+#: memattr.c:380
 msgid "region bounds not 64 bit aligned"
 msgstr ""
 
-#: memattr.c:405
+#: memattr.c:404
 #, possible-c-format
 msgid "unknown attribute: %s"
 msgstr ""
 
-#: memattr.c:420
+#: memattr.c:419
 msgid "Using memory regions provided by the target.\n"
 msgstr ""
 
-#: memattr.c:422
+#: memattr.c:421
 msgid "Using user-defined memory regions.\n"
 msgstr ""
 
-#: memattr.c:428
+#: memattr.c:427
 msgid "There are no memory regions defined.\n"
 msgstr ""
 
-#: memattr.c:561 memattr.c:608 memattr.c:650 memattr.c:660
+#: memattr.c:560 memattr.c:607 memattr.c:649 memattr.c:659
 #, possible-c-format
 msgid "No memory region number %d.\n"
 msgstr ""
 
-#: memattr.c:679
+#: memattr.c:678
 msgid "Delete all memory regions? "
 msgstr ""
 
-#: memattr.c:708
+#: memattr.c:707
 msgid ""
 "Define attributes for memory region or reset memory region handling to\n"
 "target-based.\n"
@@ -17154,7 +17412,7 @@ msgid ""
 "      <cache> may be cache or nocache"
 msgstr ""
 
-#: memattr.c:717
+#: memattr.c:716
 msgid ""
 "Enable memory region.\n"
 "Arguments are the code numbers of the memory regions to enable.\n"
@@ -17162,7 +17420,7 @@ msgid ""
 "Do \"info mem\" to see current list of code numbers."
 msgstr ""
 
-#: memattr.c:723
+#: memattr.c:722
 msgid ""
 "Disable memory region.\n"
 "Arguments are the code numbers of the memory regions to disable.\n"
@@ -17170,7 +17428,7 @@ msgid ""
 "Do \"info mem\" to see current list of code numbers."
 msgstr ""
 
-#: memattr.c:729
+#: memattr.c:728
 msgid ""
 "Delete memory region.\n"
 "Arguments are the code numbers of the memory regions to delete.\n"
@@ -17178,101 +17436,101 @@ msgid ""
 "Do \"info mem\" to see current list of code numbers."
 msgstr ""
 
-#: memattr.c:736
+#: memattr.c:735
 msgid "Memory region attributes"
 msgstr ""
 
 #. allow-unknown
-#: memattr.c:738 memattr.c:742
+#: memattr.c:737 memattr.c:741
 msgid "Memory regions settings"
 msgstr ""
 
-#: memattr.c:748
+#: memattr.c:747
 msgid "Set handling of unknown memory regions."
 msgstr ""
 
-#: memattr.c:749
+#: memattr.c:748
 msgid "Show handling of unknown memory regions."
 msgstr ""
 
-#: memattr.c:750
+#: memattr.c:749
 msgid ""
 "If on, and some memory map is defined, debugger will emit errors on\n"
 "accesses to memory not defined in the memory map. If off, accesses to all\n"
 "memory addresses will be allowed."
 msgstr ""
 
-#: mem-break.c:51 microblaze-linux-tdep.c:53 ppc-linux-tdep.c:224
+#: mem-break.c:49 microblaze-linux-tdep.c:53 ppc-linux-tdep.c:223
 msgid "Software breakpoints not implemented for this target."
 msgstr ""
 
-#: memory-map.c:37
+#: memory-map.c:33
 msgid "Can not parse XML memory map; XML support was disabled at compile time"
 msgstr ""
 
-#: memory-map.c:89
+#: memory-map.c:85
 msgid "Flash block size is not set"
 msgstr ""
 
-#: memory-map.c:124
+#: memory-map.c:120
 #, possible-c-format
 msgid "Unknown property \"%s\""
 msgstr ""
 
-#: memory-map.c:186
+#: memory-map.c:182
 msgid "target memory map"
 msgstr ""
 
 #. Return values larger than a single register are returned in
 #. memory, pointed to by R0.  Unfortunately, we can't count on R0
 #. pointing to the return buffer, so we raise an error here.
-#: mep-tdep.c:2183 mep-tdep.c:2210
+#: mep-tdep.c:2180 mep-tdep.c:2207
 msgid ""
 "GDB cannot set return values larger than four bytes; the Media Processor's\n"
 "calling conventions do not provide enough information to do this.\n"
 "Try using the 'return' command with no argument."
 msgstr ""
 
-#: mep-tdep.c:2425
+#: mep-tdep.c:2422
 #, possible-c-format
 msgid ""
 "the MeP module '%s' is %s-endian, but the executable\n"
 "%s is %s-endian."
 msgstr ""
 
-#: mep-tdep.c:2430
+#: mep-tdep.c:2427
 #, possible-c-format
 msgid ""
 "the selected MeP module is %s-endian, but the executable\n"
 "%s is %s-endian."
 msgstr ""
 
-#: mi/mi-console.c:76
+#: mi/mi-console.c:74
 msgid "mi_console_file_delete: bad magic number"
 msgstr ""
 
-#: mi/mi-console.c:106
+#: mi/mi-console.c:104
 msgid "mi_console_raw_packet: bad magic number"
 msgstr ""
 
-#: mi/mi-console.c:135
+#: mi/mi-console.c:133
 msgid "mi_console_file_flush: bad magic number"
 msgstr ""
 
-#: mi/mi-console.c:153
+#: mi/mi-console.c:151
 msgid "mi_console_file_set_raw: bad magic number"
 msgstr ""
 
-#: mi/mi-getopt.c:39
+#: mi/mi-getopt.c:37
 msgid "mi_getopt_long: oind out of bounds"
 msgstr ""
 
-#: mi/mi-getopt.c:65
+#: mi/mi-getopt.c:63
 #, possible-c-format
 msgid "%s: Option %s requires an argument"
 msgstr ""
 
-#: mi/mi-getopt.c:79
+#: mi/mi-getopt.c:77
 #, possible-c-format
 msgid "%s: Unknown option ``%s''"
 msgstr ""
@@ -17289,220 +17547,220 @@ msgstr ""
 msgid "Usage: -info-os [INFOTYPE]"
 msgstr ""
 
-#: mi/mi-cmd-env.c:75
+#: mi/mi-cmd-env.c:73
 msgid "-environment-pwd: No arguments allowed"
 msgstr ""
 
-#: mi/mi-cmd-env.c:86
+#: mi/mi-cmd-env.c:84
 #, possible-c-format
 msgid "-environment-pwd: error finding name of working directory: %s"
 msgstr ""
 
-#: mi/mi-cmd-env.c:98
+#: mi/mi-cmd-env.c:96
 msgid "-environment-cd: Usage DIRECTORY"
 msgstr ""
 
-#: mi/mi-cmd-env.c:266
+#: mi/mi-cmd-env.c:264
 msgid "-inferior-tty-show: Usage: No args"
 msgstr ""
 
-#: mi/mi-cmd-break.c:245
+#: mi/mi-cmd-break.c:243
 #, possible-c-format
 msgid "-%s-insert: Missing <location>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:253
+#: mi/mi-cmd-break.c:251
 msgid "-dprintf-insert: does not support -h or -a"
 msgstr ""
 
-#: mi/mi-cmd-break.c:255
+#: mi/mi-cmd-break.c:253
 msgid "-dprintf-insert: Missing <format>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:263
+#: mi/mi-cmd-break.c:261
 msgid "-break-insert: Garbage following <location>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:335
+#: mi/mi-cmd-break.c:333
 msgid "Usage: tracepoint-number passcount"
 msgstr ""
 
-#: mi/mi-cmd-break.c:348
+#: mi/mi-cmd-break.c:346
 #, possible-c-format
 msgid "Could not find tracepoint %d"
 msgstr ""
 
-#: mi/mi-cmd-break.c:396
+#: mi/mi-cmd-break.c:394
 msgid "-break-watch: Missing <expression>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:398
+#: mi/mi-cmd-break.c:396
 msgid "-break-watch: Garbage following <expression>"
 msgstr ""
 
-#: mi/mi-cmd-break.c:414
+#: mi/mi-cmd-break.c:412
 msgid "-break-watch: Unknown watchpoint type."
 msgstr ""
 
-#: mi/mi-cmd-break.c:445
+#: mi/mi-cmd-break.c:443
 #, possible-c-format
 msgid "USAGE: %s <BKPT> [<COMMAND> [<COMMAND>...]]"
 msgstr ""
 
-#: mi/mi-cmd-break.c:449
+#: mi/mi-cmd-break.c:447
 #, possible-c-format
 msgid "breakpoint number argument \"%s\" is not a number."
 msgstr ""
 
-#: mi/mi-cmd-break.c:452
+#: mi/mi-cmd-break.c:450
 #, possible-c-format
 msgid "junk at the end of breakpoint number argument \"%s\"."
 msgstr ""
 
-#: mi/mi-cmd-break.c:457
+#: mi/mi-cmd-break.c:455
 #, possible-c-format
 msgid "breakpoint %d not found."
 msgstr ""
 
-#: mi/mi-parse.c:289
+#: mi/mi-parse.c:288
 #, possible-c-format
 msgid "Undefined MI command: %s"
 msgstr ""
 
-#: mi/mi-parse.c:328
+#: mi/mi-parse.c:327
 msgid "Duplicate '--thread-group' option"
 msgstr ""
 
-#: mi/mi-parse.c:331
+#: mi/mi-parse.c:330
 msgid "Invalid thread group id"
 msgstr ""
 
-#: mi/mi-parse.c:342
+#: mi/mi-parse.c:341
 msgid "Duplicate '--thread' option"
 msgstr ""
 
-#: mi/mi-parse.c:353
+#: mi/mi-parse.c:352
 msgid "Duplicate '--frame' option"
 msgstr ""
 
-#: mi/mi-parse.c:371
+#: mi/mi-parse.c:370
 #, possible-c-format
 msgid "Invalid --language argument: %s"
 msgstr ""
 
-#: mi/mi-parse.c:379
+#: mi/mi-parse.c:378
 #, possible-c-format
 msgid "Invalid value for the '%s' option"
 msgstr ""
 
-#: mi/mi-parse.c:389
+#: mi/mi-parse.c:388
 #, possible-c-format
 msgid "Problem parsing arguments: %s %s"
 msgstr ""
 
-#: mi/mi-parse.c:418
+#: mi/mi-parse.c:417
 #, possible-c-format
 msgid ""
 "Unknown value for PRINT_VALUES: must be: 0 or \"%s\", 1 or \"%s\", 2 or \"%s"
 "\""
 msgstr ""
 
-#: mi/mi-cmd-stack.c:54
+#: mi/mi-cmd-stack.c:52
 msgid "-enable-frame-filters: no arguments allowed"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:105
+#: mi/mi-cmd-stack.c:103
 msgid "-stack-list-frames: Usage: [--no-frame-filters] [FRAME_LOW FRAME_HIGH]"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:129
+#: mi/mi-cmd-stack.c:127
 msgid "-stack-list-frames: Not enough frames in stack."
 msgstr ""
 
-#: mi/mi-cmd-stack.c:177
+#: mi/mi-cmd-stack.c:175
 msgid "-stack-info-depth: Usage: [MAX_DEPTH]"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:247
+#: mi/mi-cmd-stack.c:245
 msgid ""
 "-stack-list-locals: Usage: [--no-frame-filters] [--skip-unavailable] "
 "PRINT_VALUES"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:320
+#: mi/mi-cmd-stack.c:318
 msgid ""
 "-stack-list-arguments: Usage: [--no-frame-filters] [--skip-unavailable] "
 "PRINT_VALUES [FRAME_LOW FRAME_HIGH]"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:347
+#: mi/mi-cmd-stack.c:345
 msgid "-stack-list-arguments: Not enough frames in stack."
 msgstr ""
 
-#: mi/mi-cmd-stack.c:443
+#: mi/mi-cmd-stack.c:441
 msgid ""
 "-stack-list-variables: Usage: [--no-frame-filters] [--skip-unavailable] "
 "PRINT_VALUES"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:683
+#: mi/mi-cmd-stack.c:681
 msgid "-stack-select-frame: Usage: FRAME_SPEC"
 msgstr ""
 
-#: mi/mi-cmd-stack.c:692
+#: mi/mi-cmd-stack.c:690
 msgid "-stack-info-frame: No arguments allowed"
 msgstr ""
 
-#: mi/mi-cmd-catch.c:81 mi/mi-cmd-catch.c:153 mi/mi-main.c:482
+#: mi/mi-cmd-catch.c:80 mi/mi-cmd-catch.c:152 mi/mi-main.c:480
 #, possible-c-format
 msgid "Invalid argument: %s"
 msgstr ""
 
-#: mi/mi-cmd-catch.c:158
+#: mi/mi-cmd-catch.c:157
 msgid "\"-e\" and \"-u\" are mutually exclusive"
 msgstr ""
 
-#: mi/mi-cmd-catch.c:215
+#: mi/mi-cmd-catch.c:214
 msgid "-catch-load/unload: Missing <library name>"
 msgstr ""
 
-#: mi/mi-cmd-catch.c:217
+#: mi/mi-cmd-catch.c:216
 msgid "-catch-load/unload: Garbage following the <library name>"
 msgstr ""
 
-#: mi/mi-cmd-disas.c:137
+#: mi/mi-cmd-disas.c:136
 msgid ""
 "-data-disassemble: Usage: ( [-f filename -l linenum [-n howmany]] | [-s "
 "startaddr -e endaddr]) [--] mode."
 msgstr ""
 
-#: mi/mi-cmd-disas.c:141
+#: mi/mi-cmd-disas.c:140
 msgid ""
 "-data-disassemble: Usage: [-f filename -l linenum [-n howmany]] [-s "
 "startaddr -e endaddr] [--] mode."
 msgstr ""
 
-#: mi/mi-cmd-disas.c:146
+#: mi/mi-cmd-disas.c:145
 msgid "-data-disassemble: Mode argument must be 0, 1, 2, or 3."
 msgstr ""
 
-#: mi/mi-cmd-disas.c:163
+#: mi/mi-cmd-disas.c:162
 msgid "-data-disassemble: Invalid filename."
 msgstr ""
 
-#: mi/mi-cmd-disas.c:165
+#: mi/mi-cmd-disas.c:164
 msgid "-data-disassemble: Invalid line number"
 msgstr ""
 
-#: mi/mi-cmd-disas.c:167
+#: mi/mi-cmd-disas.c:166
 msgid "-data-disassemble: No function contains specified address"
 msgstr ""
 
-#: mi/mi-interp.c:237
+#: mi/mi-interp.c:235
 msgid "-interpreter-exec: Usage: -interpreter-exec interp command"
 msgstr ""
 
-#: mi/mi-interp.c:242
+#: mi/mi-interp.c:240
 #, possible-c-format
 msgid "-interpreter-exec: could not find interpreter \"%s\""
 msgstr ""
@@ -17527,396 +17785,396 @@ msgstr ""
 msgid "-target-file-delete: Usage: REMOTE_FILE"
 msgstr ""
 
-#: mi/mi-cmd-var.c:110
+#: mi/mi-cmd-var.c:109
 msgid "-var-create: Usage: NAME FRAME EXPRESSION."
 msgstr ""
 
-#: mi/mi-cmd-var.c:129
+#: mi/mi-cmd-var.c:128
 msgid "-var-create: name of object must begin with a letter"
 msgstr ""
 
-#: mi/mi-cmd-var.c:149
+#: mi/mi-cmd-var.c:148
 msgid "-var-create: unable to create variable object"
 msgstr ""
 
-#: mi/mi-cmd-var.c:169
+#: mi/mi-cmd-var.c:168
 msgid "-var-delete: Usage: [-c] EXPRESSION."
 msgstr ""
 
-#: mi/mi-cmd-var.c:181
+#: mi/mi-cmd-var.c:180
 msgid "-var-delete: Missing required argument after '-c': variable object name"
 msgstr ""
 
-#: mi/mi-cmd-var.c:184
+#: mi/mi-cmd-var.c:183
 msgid "-var-delete: Illegal variable object name"
 msgstr ""
 
-#: mi/mi-cmd-var.c:192
+#: mi/mi-cmd-var.c:191
 msgid "-var-delete: Invalid option."
 msgstr ""
 
-#: mi/mi-cmd-var.c:234
+#: mi/mi-cmd-var.c:233
 msgid ""
 "Must specify the format as: \"natural\", \"binary\", \"decimal\", "
 "\"hexadecimal\", or \"octal\""
 msgstr ""
 
-#: mi/mi-cmd-var.c:247
+#: mi/mi-cmd-var.c:246
 msgid "-var-set-format: Usage: NAME FORMAT."
 msgstr ""
 
-#: mi/mi-cmd-var.c:272
+#: mi/mi-cmd-var.c:271
 msgid "Usage: NAME VISUALIZER_FUNCTION."
 msgstr ""
 
-#: mi/mi-cmd-var.c:277 varobj.c:490
+#: mi/mi-cmd-var.c:276 varobj.c:482
 msgid "Variable object not found"
 msgstr ""
 
-#: mi/mi-cmd-var.c:289
+#: mi/mi-cmd-var.c:288
 msgid "-var-set-format: Usage: NAME FROZEN_FLAG."
 msgstr ""
 
-#: mi/mi-cmd-var.c:298
+#: mi/mi-cmd-var.c:297
 msgid "Invalid flag value"
 msgstr ""
 
-#: mi/mi-cmd-var.c:315
+#: mi/mi-cmd-var.c:314
 msgid "-var-show-format: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:333
+#: mi/mi-cmd-var.c:332
 msgid "-var-info-num-children: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:386
+#: mi/mi-cmd-var.c:385
 msgid "-var-list-children: Usage: [PRINT_VALUES] NAME [FROM TO]"
 msgstr ""
 
-#: mi/mi-cmd-var.c:453
+#: mi/mi-cmd-var.c:452
 msgid "-var-info-type: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:469
+#: mi/mi-cmd-var.c:468
 msgid "Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:487
+#: mi/mi-cmd-var.c:486
 msgid "-var-info-expression: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:507
+#: mi/mi-cmd-var.c:506
 msgid "-var-show-attributes: Usage: NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:558
+#: mi/mi-cmd-var.c:557
 msgid "Cannot specify format more than once"
 msgstr ""
 
-#: mi/mi-cmd-var.c:567
+#: mi/mi-cmd-var.c:566
 msgid "Usage: [-f FORMAT] NAME"
 msgstr ""
 
-#: mi/mi-cmd-var.c:570
+#: mi/mi-cmd-var.c:569
 msgid "Garbage at end of command"
 msgstr ""
 
-#: mi/mi-cmd-var.c:600
+#: mi/mi-cmd-var.c:599
 msgid "-var-assign: Usage: NAME EXPRESSION."
 msgstr ""
 
-#: mi/mi-cmd-var.c:606
+#: mi/mi-cmd-var.c:605
 msgid "-var-assign: Variable object is not editable"
 msgstr ""
 
-#: mi/mi-cmd-var.c:617
+#: mi/mi-cmd-var.c:616
 msgid "-var-assign: Could not assign expression to variable object"
 msgstr ""
 
-#: mi/mi-cmd-var.c:671
+#: mi/mi-cmd-var.c:672
 msgid "-var-update: Usage: [PRINT_VALUES] NAME."
 msgstr ""
 
-#: mi/mi-cmd-var.c:818
+#: mi/mi-cmd-var.c:819
 msgid "-enable-pretty-printing: no arguments allowed"
 msgstr ""
 
-#: mi/mi-cmd-var.c:830
+#: mi/mi-cmd-var.c:831
 msgid "-var-set-update-range: Usage: VAROBJ FROM TO"
 msgstr ""
 
-#: mi/mi-cmds.c:258
+#: mi/mi-cmds.c:257
 #, possible-c-format
 msgid "command `%s' appears to be duplicated"
 msgstr ""
 
-#: mi/mi-main.c:135
+#: mi/mi-main.c:133
 #, possible-c-format
 msgid "Whether MI is in asynchronous mode is %s.\n"
 msgstr ""
 
-#: mi/mi-main.c:336
+#: mi/mi-main.c:334
 msgid "Already in reverse mode."
 msgstr ""
 
-#: mi/mi-main.c:339 reverse.c:58
+#: mi/mi-main.c:337 reverse.c:57
 #, possible-c-format
 msgid "Target %s does not support this command."
 msgstr ""
 
-#: mi/mi-main.c:516
+#: mi/mi-main.c:514
 msgid "Usage: -target-detach [pid | thread-group]"
 msgstr ""
 
-#: mi/mi-main.c:531
+#: mi/mi-main.c:529
 #, possible-c-format
 msgid "Invalid syntax of thread-group id '%s'"
 msgstr ""
 
-#: mi/mi-main.c:535
+#: mi/mi-main.c:533
 #, possible-c-format
 msgid "Non-existent thread-group id '%d'"
 msgstr ""
 
-#: mi/mi-main.c:545
+#: mi/mi-main.c:543
 #, possible-c-format
 msgid "Invalid identifier '%s'"
 msgstr ""
 
-#: mi/mi-main.c:552
+#: mi/mi-main.c:550
 msgid "Thread group is empty"
 msgstr ""
 
-#: mi/mi-main.c:567
+#: mi/mi-main.c:565
 msgid "-thread-select: USAGE: threadnum."
 msgstr ""
 
-#: mi/mi-main.c:585
+#: mi/mi-main.c:583
 msgid "-thread-list-ids: No arguments required."
 msgstr ""
 
-#: mi/mi-main.c:600 mi/mi-main.c:2665
+#: mi/mi-main.c:598 mi/mi-main.c:2666
 msgid "Invalid MI command"
 msgstr ""
 
-#: mi/mi-main.c:930
+#: mi/mi-main.c:931
 msgid "only '0' and '1' are valid values for the '--recurse' option"
 msgstr ""
 
-#: mi/mi-main.c:942 mi/mi-main.c:947
+#: mi/mi-main.c:943 mi/mi-main.c:948
 #, possible-c-format
 msgid "invalid syntax of group id '%s'"
 msgstr ""
 
-#: mi/mi-main.c:968
+#: mi/mi-main.c:969
 #, possible-c-format
 msgid "Non-existent thread group id '%d'"
 msgstr ""
 
-#: mi/mi-main.c:1032 mi/mi-main.c:1113 mi/mi-main.c:1238 mi/mi-main.c:1337
+#: mi/mi-main.c:1033 mi/mi-main.c:1114 mi/mi-main.c:1239 mi/mi-main.c:1338
 msgid "bad register number"
 msgstr ""
 
-#: mi/mi-main.c:1088 mi/mi-main.c:1107
+#: mi/mi-main.c:1089 mi/mi-main.c:1108
 msgid "-data-list-changed-registers: Unable to read register contents."
 msgstr ""
 
-#: mi/mi-main.c:1200
+#: mi/mi-main.c:1201
 msgid ""
 "-data-list-register-values: Usage: -data-list-register-values [--skip-"
 "unavailable] <format> [<regnum1>...<regnumN>]"
 msgstr ""
 
-#: mi/mi-main.c:1307
+#: mi/mi-main.c:1308
 msgid ""
 "-data-write-register-values: Usage: -data-write-register-values <format> "
 "[<regnum1> <value1>...<regnumN> <valueN>]"
 msgstr ""
 
-#: mi/mi-main.c:1311
+#: mi/mi-main.c:1312
 msgid "-data-write-register-values: No registers."
 msgstr ""
 
-#: mi/mi-main.c:1314
+#: mi/mi-main.c:1315
 msgid "-data-write-register-values: No regs and values specified."
 msgstr ""
 
-#: mi/mi-main.c:1317
+#: mi/mi-main.c:1318
 msgid "-data-write-register-values: Regs and vals are not in pairs."
 msgstr ""
 
-#: mi/mi-main.c:1359
+#: mi/mi-main.c:1360
 msgid "-data-evaluate-expression: Usage: -data-evaluate-expression expression"
 msgstr ""
 
-#: mi/mi-main.c:1443
+#: mi/mi-main.c:1444
 msgid ""
 "-data-read-memory: Usage: ADDR WORD-FORMAT WORD-SIZE NR-ROWS NR-COLS "
 "[ASCHAR]."
 msgstr ""
 
-#: mi/mi-main.c:1480
+#: mi/mi-main.c:1481
 msgid "-data-read-memory: invalid number of rows."
 msgstr ""
 
-#: mi/mi-main.c:1485
+#: mi/mi-main.c:1486
 msgid "-data-read-memory: invalid number of columns."
 msgstr ""
 
-#: mi/mi-main.c:1504 mi/mi-main.c:1636
+#: mi/mi-main.c:1505 mi/mi-main.c:1637
 msgid "Unable to read memory."
 msgstr ""
 
-#: mi/mi-main.c:1626
+#: mi/mi-main.c:1627
 msgid "Usage: [ -o OFFSET ] ADDR LENGTH."
 msgstr ""
 
-#: mi/mi-main.c:1727
+#: mi/mi-main.c:1728
 msgid ""
 "-data-write-memory: Usage: [-o COLUMN_OFFSET] ADDR FORMAT WORD-SIZE VALUE."
 msgstr ""
 
-#: mi/mi-main.c:1769
+#: mi/mi-main.c:1770
 msgid "Usage: ADDR DATA [COUNT]."
 msgstr ""
 
-#: mi/mi-main.c:1774
+#: mi/mi-main.c:1775
 #, possible-c-format
 msgid "Hex-encoded '%s' must have an even number of characters."
 msgstr ""
 
-#: mi/mi-main.c:1841
+#: mi/mi-main.c:1842
 #, possible-c-format
 msgid "-enable-timings: Usage: %s {yes|no}"
 msgstr ""
 
-#: mi/mi-main.c:1871
+#: mi/mi-main.c:1872
 msgid "-list-features should be passed no arguments"
 msgstr ""
 
-#: mi/mi-main.c:1891
+#: mi/mi-main.c:1892
 msgid "-list-target-features should be passed no arguments"
 msgstr ""
 
-#: mi/mi-main.c:1900
+#: mi/mi-main.c:1901
 msgid "-add-inferior should be passed no arguments"
 msgstr ""
 
-#: mi/mi-main.c:1926
+#: mi/mi-main.c:1927
 msgid "-remove-inferior should be passed a single argument"
 msgstr ""
 
-#: mi/mi-main.c:1929
+#: mi/mi-main.c:1930
 msgid "the thread group id is syntactically invalid"
 msgstr ""
 
-#: mi/mi-main.c:1933
+#: mi/mi-main.c:1934
 msgid "the specified thread group does not exist"
 msgstr ""
 
-#: mi/mi-main.c:1936
+#: mi/mi-main.c:1937
 msgid "cannot remove an active inferior"
 msgstr ""
 
-#: mi/mi-main.c:1945
+#: mi/mi-main.c:1946
 msgid "Cannot remove last inferior"
 msgstr ""
 
-#: mi/mi-main.c:2180
+#: mi/mi-main.c:2181
 msgid "Cannot specify --thread-group together with --all"
 msgstr ""
 
-#: mi/mi-main.c:2183
+#: mi/mi-main.c:2184
 msgid "Cannot specify --thread together with --all"
 msgstr ""
 
-#: mi/mi-main.c:2186
+#: mi/mi-main.c:2187
 msgid "Cannot specify --thread together with --thread-group"
 msgstr ""
 
-#: mi/mi-main.c:2189
+#: mi/mi-main.c:2190
 msgid "Cannot specify --frame without --thread"
 msgstr ""
 
-#: mi/mi-main.c:2197
+#: mi/mi-main.c:2198
 msgid "Invalid thread group for the --thread-group option"
 msgstr ""
 
-#: mi/mi-main.c:2216
+#: mi/mi-main.c:2217
 #, possible-c-format
 msgid "Invalid thread id: %d"
 msgstr ""
 
-#: mi/mi-main.c:2219
+#: mi/mi-main.c:2220
 #, possible-c-format
 msgid "Thread id: %d has terminated"
 msgstr ""
 
-#: mi/mi-main.c:2234
+#: mi/mi-main.c:2235
 #, possible-c-format
 msgid "Invalid frame id: %d"
 msgstr ""
 
-#: mi/mi-main.c:2485
+#: mi/mi-main.c:2486
 msgid "Usage: -trace-define-variable VARIABLE [VALUE]"
 msgstr ""
 
-#: mi/mi-main.c:2489 tracepoint.c:405
+#: mi/mi-main.c:2490 tracepoint.c:403
 msgid "Name of trace variable should start with '$'"
 msgstr ""
 
-#: mi/mi-main.c:2507
+#: mi/mi-main.c:2508
 msgid "-trace-list-variables: no arguments allowed"
 msgstr ""
 
-#: mi/mi-main.c:2518
+#: mi/mi-main.c:2519
 msgid "trace selection mode is required"
 msgstr ""
 
-#: mi/mi-main.c:2533
+#: mi/mi-main.c:2534
 msgid "frame number is required"
 msgstr ""
 
-#: mi/mi-main.c:2539
+#: mi/mi-main.c:2540
 msgid "tracepoint number is required"
 msgstr ""
 
-#: mi/mi-main.c:2545
+#: mi/mi-main.c:2546
 msgid "PC is required"
 msgstr ""
 
-#: mi/mi-main.c:2551 mi/mi-main.c:2558
+#: mi/mi-main.c:2552 mi/mi-main.c:2559
 msgid "Start and end PC are required"
 msgstr ""
 
-#: mi/mi-main.c:2570
+#: mi/mi-main.c:2571
 msgid "Line is required"
 msgstr ""
 
-#: mi/mi-main.c:2579 mi/mi-main.c:2584
+#: mi/mi-main.c:2580 mi/mi-main.c:2585
 msgid "Could not find the specified line"
 msgstr ""
 
-#: mi/mi-main.c:2589
+#: mi/mi-main.c:2590
 #, possible-c-format
 msgid "Invalid mode '%s'"
 msgstr ""
 
-#: mi/mi-main.c:2789
+#: mi/mi-main.c:2790
 msgid ""
 "Usage: -trace-frame-collected [--var-print-values PRINT_VALUES] [--comp-"
 "print-values PRINT_VALUES] [--registers-format FORMAT][--memory-contents]"
 msgstr ""
 
-#: mi/mi-main.c:2971
+#: mi/mi-main.c:2972
 msgid "Set whether MI asynchronous mode is enabled."
 msgstr ""
 
-#: mi/mi-main.c:2972
+#: mi/mi-main.c:2973
 msgid "Show whether MI asynchronous mode is enabled."
 msgstr ""
 
-#: mi/mi-main.c:2973
+#: mi/mi-main.c:2974
 msgid "Tells GDB whether MI should be in asynchronous mode."
 msgstr ""
 
@@ -17928,211 +18186,211 @@ msgstr ""
 msgid "-file-list-exec-source-file: No symtab"
 msgstr ""
 
-#: mi/mi-cmd-file.c:87
+#: mi/mi-cmd-file.c:90
 msgid "-file-list-exec-source-files: Usage: No args"
 msgstr ""
 
-#: microblaze-tdep.c:144
+#: microblaze-tdep.c:146
 msgid "push_dummy_code not implemented"
 msgstr ""
 
-#: microblaze-tdep.c:155
+#: microblaze-tdep.c:157
 msgid "store_arguments not implemented"
 msgstr ""
 
-#: microblaze-tdep.c:574
+#: microblaze-tdep.c:576
 msgid "Unsupported return value size requested"
 msgstr ""
 
-#: microblaze-tdep.c:742
+#: microblaze-tdep.c:803
 msgid "Set microblaze debugging."
 msgstr ""
 
-#: microblaze-tdep.c:743
+#: microblaze-tdep.c:804
 msgid "Show microblaze debugging."
 msgstr ""
 
-#: microblaze-tdep.c:744
+#: microblaze-tdep.c:805
 msgid "When non-zero, microblaze specific debugging is enabled."
 msgstr ""
 
-#: minidebug.c:279
+#: minidebug.c:278
 msgid "Cannot parse .gnu_debugdata section; not a BFD object"
 msgstr ""
 
-#: minidebug.c:284
+#: minidebug.c:283
 msgid ""
 "Cannot parse .gnu_debugdata section; LZMA support was disabled at compile "
 "time"
 msgstr ""
 
-#: minsyms.c:778
+#: minsyms.c:830
 #, possible-c-format
 msgid ""
 "GDB cannot resolve STT_GNU_IFUNC symbol at address %s without the ELF "
 "support compiled in."
 msgstr ""
 
-#: minsyms.c:789
+#: minsyms.c:841
 #, possible-c-format
 msgid ""
 "GDB cannot resolve STT_GNU_IFUNC symbol \"%s\" without the ELF support "
 "compiled in."
 msgstr ""
 
-#: minsyms.c:800
+#: minsyms.c:852
 msgid "elf_gnu_ifunc_resolver_stop cannot be reached."
 msgstr ""
 
-#: minsyms.c:809
+#: minsyms.c:861
 msgid "elf_gnu_ifunc_resolver_return_stop cannot be reached."
 msgstr ""
 
-#: mips-linux-nat.c:81 mips-linux-nat.c:122
+#: mips-linux-nat.c:76 mips-linux-nat.c:117
 #, possible-c-format
 msgid "Bogon register number %d."
 msgstr ""
 
-#: mips-linux-nat.c:286 mips-linux-nat.c:363 ppcfbsd-nat.c:139
-#: ppcfbsd-nat.c:170 ppcnbsd-nat.c:105 ppcnbsd-nat.c:140
+#: mips-linux-nat.c:281 mips-linux-nat.c:358 ppcfbsd-nat.c:137
+#: ppcfbsd-nat.c:168 ppcnbsd-nat.c:103 ppcnbsd-nat.c:138
 msgid "Couldn't get FP registers"
 msgstr ""
 
-#: mips-linux-nat.c:354 shnbsd-nat.c:83
+#: mips-linux-nat.c:349 shnbsd-nat.c:83
 msgid "Couldn't set registers"
 msgstr ""
 
-#: mips-linux-nat.c:369 ppcfbsd-nat.c:176 ppcnbsd-nat.c:147
+#: mips-linux-nat.c:364 ppcfbsd-nat.c:174 ppcnbsd-nat.c:145
 msgid "Couldn't set FP registers"
 msgstr ""
 
-#: mips-linux-nat.c:453
+#: mips-linux-nat.c:449
 msgid "Couldn't check DSP support"
 msgstr ""
 
-#: mips-linux-nat.c:778
-msgid "Set whether to show variables that mirror the mips debug registers."
+#: mips-linux-nat.c:618 mips-linux-nat.c:638 x86-linux-nat.c:90
+msgid "Couldn't write debug register"
 msgstr ""
 
-#: mips-linux-nat.c:779
-msgid "Show whether to show variables that mirror the mips debug registers."
+#: mips-linux-nat.c:774
+msgid "Set whether to show variables that mirror the mips debug registers."
 msgstr ""
 
-#: mips-linux-tdep.c:669
-msgid "wrong size fpregset struct in core file"
+#: mips-linux-nat.c:775
+msgid "Show whether to show variables that mirror the mips debug registers."
 msgstr ""
 
-#: mipsread.c:83
+#: mipsread.c:82
 #, possible-c-format
 msgid "Error reading symbol table: %s"
 msgstr ""
 
-#: mips-tdep.c:614
+#: mips-tdep.c:667
 #, possible-c-format
 msgid "mips_register_name: bad register number %d"
 msgstr ""
 
-#: mips-tdep.c:715 mips-tdep.c:744 mips-tdep.c:784
+#: mips-tdep.c:768 mips-tdep.c:797 mips-tdep.c:837
 msgid "bad register size"
 msgstr ""
 
-#: mips-tdep.c:816
+#: mips-tdep.c:869
 msgid "32-bit compatibility mode not supported"
 msgstr ""
 
-#: mips-tdep.c:896
+#: mips-tdep.c:949
 msgid "mips_register_to_value: unrecognized case"
 msgstr ""
 
-#: mips-tdep.c:944
+#: mips-tdep.c:997
 msgid "mips_value_to_register: unrecognized case"
 msgstr ""
 
-#: mips-tdep.c:1087
+#: mips-tdep.c:1140
 msgid "mips_mask_address_p: bad switch"
 msgstr ""
 
-#: mips-tdep.c:1113
+#: mips-tdep.c:1166
 msgid "show_mask_address: bad switch"
 msgstr ""
 
-#: mips-tdep.c:1350 mips-tdep.c:1436
+#: mips-tdep.c:1451 mips-tdep.c:1537
 msgid "invalid ISA"
 msgstr ""
 
-#: mips-tdep.c:2539
+#: mips-tdep.c:2716
 msgid "Invalid number of argument registers encoded in SAVE."
 msgstr ""
 
-#: mips-tdep.c:2544
+#: mips-tdep.c:2721
 msgid "Invalid number of static registers encoded in SAVE."
 msgstr ""
 
-#: mips-tdep.c:4042
+#: mips-tdep.c:4249
 #, possible-c-format
 msgid "GDB can't find the start of the function at %s."
 msgstr ""
 
-#: mips-tdep.c:6037 mips-tdep.c:6074 mips-tdep.c:6307 sh64-tdep.c:1932
+#: mips-tdep.c:6212 mips-tdep.c:6249 mips-tdep.c:6564 sh64-tdep.c:1930
 #, possible-c-format
 msgid "can't read register %d (%s)"
 msgstr ""
 
-#: mips-tdep.c:6083
+#: mips-tdep.c:6258
 msgid "mips_read_fp_register_double: bad access to odd-numbered FP register"
 msgstr ""
 
-#: mips-tdep.c:6343 sh64-tdep.c:2091 sh64-tdep.c:2149
+#: mips-tdep.c:6600 sh64-tdep.c:2089 sh64-tdep.c:2147
 msgid "Not a valid register for the current processor type"
 msgstr ""
 
-#: mips-tdep.c:6707 mips-tdep.c:6721 mips-tdep.c:6735
+#: mips-tdep.c:6964 mips-tdep.c:6978 mips-tdep.c:6992
 msgid "set mipsfpu failed"
 msgstr ""
 
-#: mips-tdep.c:7833
+#: mips-tdep.c:8118
 #, possible-c-format
 msgid "unsupported ABI %s."
 msgstr ""
 
-#: mips-tdep.c:7847
+#: mips-tdep.c:8132
 msgid "unrecognized .gcc_compiled_longXX"
 msgstr ""
 
-#: mips-tdep.c:7859
+#: mips-tdep.c:8144
 msgid "unknown ABI string"
 msgstr ""
 
-#: mips-tdep.c:7876
+#: mips-tdep.c:8161
 msgid "unknown compressed ISA string"
 msgstr ""
 
-#: mips-tdep.c:8441 mips-tdep.c:8490
+#: mips-tdep.c:8731 mips-tdep.c:8780
 msgid "unknown ABI in switch"
 msgstr ""
 
-#: mips-tdep.c:8719
+#: mips-tdep.c:9011
 #, possible-c-format
 msgid "The compressed ISA encoding used is %s.\n"
 msgstr ""
 
-#: mips-tdep.c:8799
+#: mips-tdep.c:9091
 msgid "mips_abi_strings out of sync"
 msgstr ""
 
-#: mips-tdep.c:8815 mips-tdep.c:8819
+#: mips-tdep.c:9107 mips-tdep.c:9111
 msgid "Various MIPS specific commands."
 msgstr ""
 
-#: mips-tdep.c:8824
+#: mips-tdep.c:9116
 msgid "Set the MIPS ABI used by this program."
 msgstr ""
 
-#: mips-tdep.c:8825
+#: mips-tdep.c:9117
 msgid "Show the MIPS ABI used by this program."
 msgstr ""
 
-#: mips-tdep.c:8826
+#: mips-tdep.c:9118
 msgid ""
 "This option can be set to one of:\n"
 "  auto  - the default ABI associated with the current binary\n"
@@ -18144,15 +18402,15 @@ msgid ""
 "  eabi64"
 msgstr ""
 
-#: mips-tdep.c:8844
+#: mips-tdep.c:9136
 msgid "Set the compressed ISA encoding used by MIPS code."
 msgstr ""
 
-#: mips-tdep.c:8845
+#: mips-tdep.c:9137
 msgid "Show the compressed ISA encoding used by MIPS code."
 msgstr ""
 
-#: mips-tdep.c:8846
+#: mips-tdep.c:9138
 msgid ""
 "Select the compressed ISA encoding used in functions that have no symbol\n"
 "information available.  The encoding can be set to either of:\n"
@@ -18161,426 +18419,599 @@ msgid ""
 "and is updated automatically from ELF file flags if available."
 msgstr ""
 
-#: mips-tdep.c:8860
+#: mips-tdep.c:9152
 msgid "Set use of MIPS floating-point coprocessor."
 msgstr ""
 
-#: mips-tdep.c:8863
+#: mips-tdep.c:9155
 msgid "Select single-precision MIPS floating-point coprocessor."
 msgstr ""
 
-#: mips-tdep.c:8866
+#: mips-tdep.c:9158
 msgid "Select double-precision MIPS floating-point coprocessor."
 msgstr ""
 
-#: mips-tdep.c:8872
+#: mips-tdep.c:9164
 msgid "Select no MIPS floating-point coprocessor."
 msgstr ""
 
-#: mips-tdep.c:8877
+#: mips-tdep.c:9169
 msgid "Select MIPS floating-point coprocessor automatically."
 msgstr ""
 
-#: mips-tdep.c:8880
+#: mips-tdep.c:9172
 msgid "Show current use of MIPS floating-point coprocessor target."
 msgstr ""
 
-#: mips-tdep.c:8901
-msgid "Set zeroing of upper 32 bits of 64-bit addresses."
+#: mips-tdep.c:9193
+msgid "Set zeroing of upper 32 bits of 64-bit addresses."
+msgstr ""
+
+#: mips-tdep.c:9194
+msgid "Show zeroing of upper 32 bits of 64-bit addresses."
+msgstr ""
+
+#: mips-tdep.c:9195
+msgid ""
+"Use \"on\" to enable the masking, \"off\" to disable it and \"auto\" to\n"
+"allow GDB to determine the correct value."
+msgstr ""
+
+#: mips-tdep.c:9204
+msgid ""
+"Set compatibility with 64-bit MIPS target that transfers 32-bit quantities."
+msgstr ""
+
+#: mips-tdep.c:9206
+msgid ""
+"Show compatibility with 64-bit MIPS target that transfers 32-bit quantities."
+msgstr ""
+
+#: mips-tdep.c:9208
+msgid ""
+"Use \"on\" to enable backward compatibility with older MIPS 64 GDB+target\n"
+"that would transfer 32 bits for some registers (e.g. SR, FSR) and\n"
+"64 bits for others.  Use \"off\" to disable compatibility mode"
+msgstr ""
+
+#: mips-tdep.c:9220
+msgid "Set mips debugging."
+msgstr ""
+
+#: mips-tdep.c:9221
+msgid "Show mips debugging."
+msgstr ""
+
+#: mips-tdep.c:9222
+msgid "When non-zero, mips specific debugging is enabled."
+msgstr ""
+
+#: mn10300-tdep.c:191
+#, possible-c-format
+msgid "Cannot store return value %d bytes long."
+msgstr ""
+
+#: mn10300-tdep.c:223
+#, possible-c-format
+msgid "Cannot extract return value %d bytes long."
+msgstr ""
+
+#: mn10300-tdep.c:1387
+#, possible-c-format
+msgid "Bogus register number in debug info: %d"
+msgstr ""
+
+#: mn10300-tdep.c:1430
+msgid "mn10300_gdbarch_init: Unknown mn10300 variant"
+msgstr ""
+
+#: monitor.c:219
+#, possible-c-format
+msgid "%s (%s): %s: %s%c"
+msgstr ""
+
+#: monitor.c:223
+#, possible-c-format
+msgid "%s (%s): %s: %s"
+msgstr ""
+
+#: monitor.c:240
+#, possible-c-format
+msgid "Invalid hex digit %d"
+msgstr ""
+
+#: monitor.c:412 monitor.c:488
+msgid "Timeout reading from remote system."
+msgstr ""
+
+#: monitor.c:414 monitor.c:490
+msgid "remote-monitor"
+msgstr ""
+
+#: monitor.c:484
+msgid "GDB serial timeout has expired.  Target detached."
+msgstr ""
+
+#: monitor.c:703
+#, possible-c-format
+msgid "compile_pattern: Can't compile pattern string `%s': %s!"
+msgstr ""
+
+#: monitor.c:721
+msgid "Magic number of monitor_ops struct wrong."
+msgstr ""
+
+#: monitor.c:727
+#, possible-c-format
+msgid ""
+"Use `target %s DEVICE-NAME' to use a serial port, or\n"
+"`target %s HOST-NAME:PORT-NUMBER' to use a network connection."
+msgstr ""
+
+#: monitor.c:828
+#, possible-c-format
+msgid "Remote target %s connected to %s\n"
+msgstr ""
+
+#: monitor.c:881
+#, possible-c-format
+msgid "Ending remote %s debugging\n"
+msgstr ""
+
+#: monitor.c:921
+#, possible-c-format
+msgid "monitor_supply_register (%d):  bad value from monitor: %s."
+msgstr ""
+
+#: monitor.c:1034 nto-procfs.c:683 remote.c:5089 remote-mips.c:2288
+msgid ""
+"Interrupted while waiting for the program.\n"
+"Give up (and stop debugging it)? "
+msgstr ""
+
+#: monitor.c:1235
+#, possible-c-format
+msgid "Bad value returned from monitor while fetching register %x."
+msgstr ""
+
+#: monitor.c:1437
+#, possible-c-format
+msgid "\tAttached to %s at %d baud.\n"
+msgstr ""
+
+#: monitor.c:1975
+msgid "Failed to read via monitor"
+msgstr ""
+
+#: monitor.c:2078
+msgid "Args are not supported by the monitor."
+msgstr ""
+
+#: monitor.c:2111
+msgid "No set_break defined for this monitor"
+msgstr ""
+
+#: monitor.c:2132
+#, possible-c-format
+msgid "Too many breakpoints (> %d) for monitor."
+msgstr ""
+
+#: monitor.c:2147
+msgid "No clr_break defined for this monitor"
+msgstr ""
+
+#: monitor.c:2211 symfile.c:2109
+msgid "file to load"
+msgstr ""
+
+#: monitor.c:2229 symfile.c:2126
+#, possible-c-format
+msgid "Invalid download offset:%s."
+msgstr ""
+
+#: monitor.c:2232 symfile.c:2129
+msgid "Too many parameters."
+msgstr ""
+
+#: monitor.c:2291
+msgid "monitor target not open."
+msgstr ""
+
+#: monitor.c:2318
+#, possible-c-format
+msgid "Reply contains invalid hex digit 0x%x"
+msgstr ""
+
+#: monitor.c:2411
+msgid "Set display of activity while downloading a file."
 msgstr ""
 
-#: mips-tdep.c:8902
-msgid "Show zeroing of upper 32 bits of 64-bit addresses."
+#: monitor.c:2412
+msgid "Show display of activity while downloading a file."
 msgstr ""
 
-#: mips-tdep.c:8903
-msgid ""
-"Use \"on\" to enable the masking, \"off\" to disable it and \"auto\" to\n"
-"allow GDB to determine the correct value."
+#: monitor.c:2413
+msgid "When enabled, a hashmark '#' is displayed."
 msgstr ""
 
-#: mips-tdep.c:8912
-msgid ""
-"Set compatibility with 64-bit MIPS target that transfers 32-bit quantities."
+#: monitor.c:2419
+msgid "Set debugging of remote monitor communication."
 msgstr ""
 
-#: mips-tdep.c:8914
-msgid ""
-"Show compatibility with 64-bit MIPS target that transfers 32-bit quantities."
+#: monitor.c:2420
+msgid "Show debugging of remote monitor communication."
 msgstr ""
 
-#: mips-tdep.c:8916
+#: monitor.c:2421
 msgid ""
-"Use \"on\" to enable backward compatibility with older MIPS 64 GDB+target\n"
-"that would transfer 32 bits for some registers (e.g. SR, FSR) and\n"
-"64 bits for others.  Use \"off\" to disable compatibility mode"
+"When enabled, communication between GDB and the remote monitor\n"
+"is displayed."
 msgstr ""
 
-#: mips-tdep.c:8928
-msgid "Set mips debugging."
+#: moxie-tdep.c:294
+#, possible-c-format
+msgid "Process record: error reading memory at addr 0x%s len = %d.\n"
 msgstr ""
 
-#: mips-tdep.c:8929
-msgid "Show mips debugging."
+#: msp430-tdep.c:905
+msgid "Unknown msp430x code memory model"
 msgstr ""
 
-#: mips-tdep.c:8930
-msgid "When non-zero, mips specific debugging is enabled."
+#: msp430-tdep.c:927
+msgid "Unknown msp430 isa"
 msgstr ""
 
-#: mn10300-tdep.c:193
+#: mt-tdep.c:301
 #, possible-c-format
-msgid "Cannot store return value %d bytes long."
+msgid "mt_register_type: illegal register number %d"
 msgstr ""
 
-#: mn10300-tdep.c:225
+#: nat/linux-ptrace.c:48
 #, possible-c-format
-msgid "Cannot extract return value %d bytes long."
+msgid "process %d is already traced by process %d"
 msgstr ""
 
-#: mn10300-tdep.c:1389
+#: nat/linux-ptrace.c:53
 #, possible-c-format
-msgid "Bogus register number in debug info: %d"
-msgstr ""
-
-#: mn10300-tdep.c:1432
-msgid "mn10300_gdbarch_init: Unknown mn10300 variant"
+msgid "process %d is a zombie - the process has already terminated"
 msgstr ""
 
-#: monitor.c:221
+#: nat/linux-ptrace.c:113
 #, possible-c-format
-msgid "%s (%s): %s: %s%c"
+msgid "linux_ptrace_test_ret_to_nx: Cannot mmap: %s"
 msgstr ""
 
-#: monitor.c:225
+#: nat/linux-ptrace.c:125
 #, possible-c-format
-msgid "%s (%s): %s: %s"
+msgid "linux_ptrace_test_ret_to_nx: Cannot fork: %s"
 msgstr ""
 
-#: monitor.c:242
+#: nat/linux-ptrace.c:133
 #, possible-c-format
-msgid "Invalid hex digit %d"
+msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_TRACEME: %s"
 msgstr ""
 
-#: monitor.c:414 monitor.c:490
-msgid "Timeout reading from remote system."
+#: nat/linux-ptrace.c:163
+#, possible-c-format
+msgid "linux_ptrace_test_ret_to_nx: waitpid returned %ld: %s"
 msgstr ""
 
-#: monitor.c:416 monitor.c:492
-msgid "remote-monitor"
+#: nat/linux-ptrace.c:171
+#, possible-c-format
+msgid "linux_ptrace_test_ret_to_nx: WTERMSIG %d is not SIGKILL!"
 msgstr ""
 
-#: monitor.c:486
-msgid "GDB serial timeout has expired.  Target detached."
+#: nat/linux-ptrace.c:174
+msgid ""
+"Cannot call inferior functions, Linux kernel PaX protection forbids return "
+"to non-executable pages!"
 msgstr ""
 
-#: monitor.c:705
+#: nat/linux-ptrace.c:181
 #, possible-c-format
-msgid "compile_pattern: Can't compile pattern string `%s': %s!"
+msgid "linux_ptrace_test_ret_to_nx: status %d is not WIFSTOPPED!"
 msgstr ""
 
-#: monitor.c:723
-msgid "Magic number of monitor_ops struct wrong."
+#: nat/linux-ptrace.c:189
+#, possible-c-format
+msgid ""
+"linux_ptrace_test_ret_to_nx: WSTOPSIG %d is neither SIGTRAP nor SIGSEGV!"
 msgstr ""
 
-#: monitor.c:729
+#: nat/linux-ptrace.c:207
 #, possible-c-format
-msgid ""
-"Use `target %s DEVICE-NAME' to use a serial port, or\n"
-"`target %s HOST-NAME:PORT-NUMBER' to use a network connection."
+msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER: %s"
 msgstr ""
 
-#: monitor.c:830
+#: nat/linux-ptrace.c:221
 #, possible-c-format
-msgid "Remote target %s connected to %s\n"
+msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL waitpid returned %ld: %s"
 msgstr ""
 
-#: monitor.c:883
+#: nat/linux-ptrace.c:228
 #, possible-c-format
-msgid "Ending remote %s debugging\n"
+msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL status %d is not WIFSIGNALED!"
 msgstr ""
 
-#: monitor.c:923
+#: nat/linux-ptrace.c:249
 #, possible-c-format
-msgid "monitor_supply_register (%d):  bad value from monitor: %s."
+msgid ""
+"linux_ptrace_test_ret_to_nx: PC %p is neither near return address %p nor is "
+"the return instruction %p!"
 msgstr ""
 
-#: monitor.c:1036 nto-procfs.c:684 remote.c:4997 remote-mips.c:2299
+#: nat/linux-ptrace.c:253
 msgid ""
-"Interrupted while waiting for the program.\n"
-"Give up (and stop debugging it)? "
+"Cannot call inferior functions on this system - Linux kernel with broken "
+"i386 NX (non-executable pages) support detected!"
 msgstr ""
 
-#: monitor.c:1237
+#: nat/linux-ptrace.c:358
 #, possible-c-format
-msgid "Bad value returned from monitor while fetching register %x."
+msgid "linux_check_ptrace_features: waitpid: unexpected result %d."
 msgstr ""
 
-#: monitor.c:1439
+#: nat/linux-ptrace.c:361
 #, possible-c-format
-msgid "\tAttached to %s at %d baud.\n"
+msgid "linux_check_ptrace_features: waitpid: unexpected status %d."
 msgstr ""
 
-#: monitor.c:1977
-msgid "Failed to read via monitor"
+#: nat/linux-ptrace.c:376
+msgid "linux_check_ptrace_features: failed to kill child"
 msgstr ""
 
-#: monitor.c:2080
-msgid "Args are not supported by the monitor."
+#: nat/linux-ptrace.c:442
+msgid "linux_test_for_tracefork: failed to resume child"
 msgstr ""
 
-#: monitor.c:2113
-msgid "No set_break defined for this monitor"
+#: nat/linux-ptrace.c:471
+msgid "linux_test_for_tracefork: failed to kill second child"
 msgstr ""
 
-#: monitor.c:2134
+#: nat/linux-ptrace.c:477
 #, possible-c-format
-msgid "Too many breakpoints (> %d) for monitor."
+msgid ""
+"linux_test_for_tracefork: unexpected result from waitpid (%d, status 0x%x)"
 msgstr ""
 
-#: monitor.c:2149
-msgid "No clr_break defined for this monitor"
+#: nat/mips-linux-watch.c:36 nat/mips-linux-watch.c:54
+#: nat/mips-linux-watch.c:71 nat/mips-linux-watch.c:89
+#: nat/mips-linux-watch.c:112 nat/mips-linux-watch.c:130
+#: nat/mips-linux-watch.c:151
+msgid "Unrecognized watch register style"
 msgstr ""
 
-#: monitor.c:2213 symfile.c:2113
-msgid "file to load"
+#: nat/linux-btrace.c:225
+msgid "Branch trace may be incomplete."
 msgstr ""
 
-#: monitor.c:2231 symfile.c:2130
+#: nat/linux-btrace.c:265
 #, possible-c-format
-msgid "Invalid download offset:%s."
-msgstr ""
-
-#: monitor.c:2234 symfile.c:2133
-msgid "Too many parameters."
-msgstr ""
-
-#: monitor.c:2293
-msgid "monitor target not open."
+msgid "test branch tracing: cannot fork: %s."
 msgstr ""
 
-#: monitor.c:2320
+#: nat/linux-btrace.c:272
 #, possible-c-format
-msgid "Reply contains invalid hex digit 0x%x"
+msgid "test branch tracing: cannot PTRACE_TRACEME: %s."
 msgstr ""
 
-#: monitor.c:2413
-msgid "Set display of activity while downloading a file."
+#: nat/linux-btrace.c:280
+#, possible-c-format
+msgid "test branch tracing: cannot raise SIGTRAP: %s."
 msgstr ""
 
-#: monitor.c:2414
-msgid "Show display of activity while downloading a file."
+#: nat/linux-btrace.c:291 nat/linux-btrace.c:323
+#, possible-c-format
+msgid "test branch tracing: bad pid %ld, error: %s."
 msgstr ""
 
-#: monitor.c:2415
-msgid "When enabled, a hashmark '#' is displayed."
+#: nat/linux-btrace.c:298
+#, possible-c-format
+msgid "test branch tracing: expected stop. status: %d."
 msgstr ""
 
-#: monitor.c:2421
-msgid "Set debugging of remote monitor communication."
+#: nat/linux-btrace.c:326
+#, possible-c-format
+msgid "test branch tracing: expected killed. status: %d."
 msgstr ""
 
-#: monitor.c:2422
-msgid "Show debugging of remote monitor communication."
+#: nat/linux-procfs.c:215
+#, possible-c-format
+msgid "Could not open /proc/%ld/task."
 msgstr ""
 
-#: monitor.c:2423
-msgid ""
-"When enabled, communication between GDB and the remote monitor\n"
-"is displayed."
+#: nat/x86-dregs.c:232
+msgid "The i386 doesn't support data-read watchpoints.\n"
 msgstr ""
 
-#: moxie-tdep.c:297
+#: nat/x86-dregs.c:244
 #, possible-c-format
-msgid "Process record: error reading memory at addr 0x%s len = %d.\n"
-msgstr ""
-
-#: msp430-tdep.c:905
-msgid "Unknown msp430x code memory model"
+msgid "Invalid hardware breakpoint type %d in x86_length_and_rw_bits.\n"
 msgstr ""
 
-#: msp430-tdep.c:927
-msgid "Unknown msp430 isa"
+#: nat/x86-dregs.c:262
+#, possible-c-format
+msgid "Invalid hardware breakpoint length %d in x86_length_and_rw_bits.\n"
 msgstr ""
 
-#: mt-tdep.c:303
+#: nat/x86-dregs.c:432
 #, possible-c-format
-msgid "mt_register_type: illegal register number %d"
+msgid "Invalid value %d of operation in x86_handle_nonaligned_watchpoint.\n"
 msgstr ""
 
-#: nios2-tdep.c:153
+#: nios2-tdep.c:152
 #, possible-c-format
 msgid "Dwarf-2 uses unmapped register #%d"
 msgstr ""
 
-#: nios2-tdep.c:1611
+#: nios2-tdep.c:1815
 msgid "Set Nios II debugging."
 msgstr ""
 
-#: nios2-tdep.c:1612
+#: nios2-tdep.c:1816
 msgid "Show Nios II debugging."
 msgstr ""
 
-#: nios2-tdep.c:1613
+#: nios2-tdep.c:1817
 msgid "When on, Nios II specific debugging is enabled."
 msgstr ""
 
-#: nto-procfs.c:93
+#: nto-procfs.c:90
 msgid "Lost the QNX node.  Debug session probably over."
 msgstr ""
 
-#: nto-procfs.c:162
+#: nto-procfs.c:159
 msgid "Invalid procfs arg"
 msgstr ""
 
-#: nto-procfs.c:171 nto-procfs.c:189
+#: nto-procfs.c:168 nto-procfs.c:186
 msgid "Devctl failed."
 msgstr ""
 
-#: nto-procfs.c:181
+#: nto-procfs.c:178
 msgid "alloca failed."
 msgstr ""
 
-#: nto-procfs.c:196
+#: nto-procfs.c:193
 msgid "Invalid target CPU."
 msgstr ""
 
-#: nto-procfs.c:614 procfs.c:3050
+#: nto-procfs.c:613 procfs.c:3033
 msgid "Attaching GDB to itself is not a good idea..."
 msgstr ""
 
-#: nto-procfs.c:658
+#: nto-procfs.c:657
 #, possible-c-format
 msgid "Couldn't open proc file %s, error %d (%s)"
 msgstr ""
 
-#: nto-procfs.c:661
+#: nto-procfs.c:660
 msgid "Couldn't stop process"
 msgstr ""
 
-#: nto-procfs.c:1015
+#: nto-procfs.c:1016
 msgid "run error!\n"
 msgstr ""
 
-#: nto-procfs.c:1188
+#: nto-procfs.c:1189
 #, possible-c-format
 msgid "Error spawning %s: %d (%s)"
 msgstr ""
 
-#: nto-procfs.c:1488
+#: nto-procfs.c:1489
 msgid "pidlist"
 msgstr ""
 
-#: nto-procfs.c:1489
+#: nto-procfs.c:1490
 msgid "memory information"
 msgstr ""
 
-#: nto-procfs.c:1519
+#: nto-procfs.c:1520
 msgid "Failed to set hardware watchpoint"
 msgstr ""
 
-#: objc-lang.c:130
+#: objc-lang.c:127
 msgid "no way to lookup Objective-C classes"
 msgstr ""
 
-#: objc-lang.c:159
+#: objc-lang.c:156
 msgid "no way to lookup Objective-C selectors"
 msgstr ""
 
-#: objc-lang.c:207
+#: objc-lang.c:204
 msgid "NSString: internal error -- no way to create new NSString"
 msgstr ""
 
-#: objc-lang.c:480
+#: objc-lang.c:479
 #, possible-c-format
 msgid "Can't find selector \"%s\""
 msgstr ""
 
-#: objc-lang.c:527
+#: objc-lang.c:526
 msgid "internal: compare_selectors(1)"
 msgstr ""
 
-#: objc-lang.c:532
+#: objc-lang.c:531
 msgid "internal: compare_selectors(2)"
 msgstr ""
 
-#: objc-lang.c:577 objc-lang.c:728
+#: objc-lang.c:576 objc-lang.c:727
 #, possible-c-format
 msgid "Regexp is too long: %s"
 msgstr ""
 
-#: objc-lang.c:610
+#: objc-lang.c:609
 #, possible-c-format
 msgid "Bad method name '%s'"
 msgstr ""
 
-#: objc-lang.c:627
+#: objc-lang.c:626
 #, possible-c-format
 msgid ""
 "Selectors matching \"%s\":\n"
 "\n"
 msgstr ""
 
-#: objc-lang.c:674
+#: objc-lang.c:673
 #, possible-c-format
 msgid "No selectors matching \"%s\"\n"
 msgstr ""
 
-#: objc-lang.c:693
+#: objc-lang.c:692
 msgid "internal: compare_classes(1)"
 msgstr ""
 
-#: objc-lang.c:765
+#: objc-lang.c:764
 #, possible-c-format
 msgid ""
 "Classes matching \"%s\":\n"
 "\n"
 msgstr ""
 
-#: objc-lang.c:804
+#: objc-lang.c:803
 #, possible-c-format
 msgid "No classes matching \"%s\"\n"
 msgstr ""
 
-#: objc-lang.c:1198
+#: objc-lang.c:1197
 msgid "Unable to locate _NSPrintForDebugger in child process"
 msgstr ""
 
-#: objc-lang.c:1204
+#: objc-lang.c:1203
 msgid "object returns null description"
 msgstr ""
 
-#: objc-lang.c:1215
+#: objc-lang.c:1214
 msgid "<object returns empty description>"
 msgstr ""
 
 #. INFO SELECTORS command.
-#: objc-lang.c:1370
+#: objc-lang.c:1369
 msgid "All Objective-C selectors, or those matching REGEXP."
 msgstr ""
 
 #. INFO CLASSES   command.
-#: objc-lang.c:1372
+#: objc-lang.c:1371
 msgid "All Objective-C classes, or those matching REGEXP."
 msgstr ""
 
-#: objc-lang.c:1374
+#: objc-lang.c:1373
 msgid "Ask an Objective-C object to print itself."
 msgstr ""
 
-#: objfiles.c:401
+#: objfiles.c:396
 msgid "Entry point address is not known."
 msgstr ""
 
-#: objfiles.c:467
+#: objfiles.c:462
 msgid "put_objfile_before: before objfile not in list"
 msgstr ""
 
-#: objfiles.c:499
+#: objfiles.c:494
 msgid "unlink_objfile: objfile already unlinked"
 msgstr ""
 
-#: objfiles.c:1240
+#: objfiles.c:1238
 #, possible-c-format
 msgid ""
 "unexpected overlap between:\n"
@@ -18589,15 +19020,15 @@ msgid ""
 "Will ignore section B"
 msgstr ""
 
-#: objfiles.h:691
+#: objfiles.h:674
 msgid "sect_index_data not initialized"
 msgstr ""
 
-#: objfiles.h:697
+#: objfiles.h:680
 msgid "sect_index_rodata not initialized"
 msgstr ""
 
-#: objfiles.h:703
+#: objfiles.h:686
 msgid "sect_index_text not initialized"
 msgstr ""
 
@@ -18624,394 +19055,394 @@ msgstr ""
 msgid "When non-zero, observer debugging is enabled."
 msgstr ""
 
-#: opencl-lang.c:93
+#: opencl-lang.c:91
 #, possible-c-format
 msgid "Invalid OpenCL vector size: %d"
 msgstr ""
 
-#: opencl-lang.c:185 opencl-lang.c:214 opencl-lang.c:447 opencl-lang.c:564
-#: opencl-lang.c:657 opencl-lang.c:968 valarith.c:1384 valarith.c:1430
-#: valarith.c:1788 valarith.c:1824 valops.c:886
+#: opencl-lang.c:183 opencl-lang.c:212 opencl-lang.c:391 opencl-lang.c:508
+#: opencl-lang.c:601 opencl-lang.c:912 valarith.c:1385 valarith.c:1431
+#: valarith.c:1789 valarith.c:1825 valops.c:882
 msgid "Could not determine the vector bounds"
 msgstr ""
 
-#: opencl-lang.c:455
+#: opencl-lang.c:399
 msgid "Invalid OpenCL vector size"
 msgstr ""
 
-#: opencl-lang.c:502 opencl-lang.c:522 opencl-lang.c:527 opencl-lang.c:531
-#: opencl-lang.c:541
+#: opencl-lang.c:446 opencl-lang.c:466 opencl-lang.c:471 opencl-lang.c:475
+#: opencl-lang.c:485
 #, possible-c-format
 msgid "Invalid OpenCL vector component accessor %s"
 msgstr ""
 
-#: opencl-lang.c:626
+#: opencl-lang.c:570
 msgid "Attempt to perform an unsupported operation"
 msgstr ""
 
-#: opencl-lang.c:650
+#: opencl-lang.c:594
 msgid "Vector operations are not supported on scalar types"
 msgstr ""
 
-#: opencl-lang.c:664 opencl-lang.c:975 valarith.c:1440
+#: opencl-lang.c:608 opencl-lang.c:919 valarith.c:1441
 msgid "Cannot perform operation on vectors with different types"
 msgstr ""
 
-#: opencl-lang.c:771 valarith.c:1483
+#: opencl-lang.c:715 valarith.c:1484
 msgid "Argument to operation not a number or boolean."
 msgstr ""
 
 #. Throw an error if arg2 or arg3 aren't vectors.
-#: opencl-lang.c:958
+#: opencl-lang.c:902
 msgid "Cannot perform conditional operation on incompatible types"
 msgstr ""
 
-#: opencl-lang.c:981
+#: opencl-lang.c:925
 msgid "Cannot perform conditional operation on vectors with different sizes"
 msgstr ""
 
-#: osabi.c:141
+#: osabi.c:162
 #, possible-c-format
 msgid ""
 "gdbarch_register_osabi: An attempt to register a handler for OS ABI \"%s\" "
 "for architecture %s was made.  The handler will not be registered"
 msgstr ""
 
-#: osabi.c:159
+#: osabi.c:180
 #, possible-c-format
 msgid ""
 "gdbarch_register_osabi: A handler for OS ABI \"%s\" has already been "
 "registered for architecture %s"
 msgstr ""
 
-#: osabi.c:253
+#: osabi.c:274
 #, possible-c-format
 msgid ""
 "gdbarch_lookup_osabi: invalid OS ABI (%d) from sniffer for architecture %s "
 "flavour %d"
 msgstr ""
 
-#: osabi.c:272
+#: osabi.c:293
 #, possible-c-format
 msgid ""
 "gdbarch_lookup_osabi: multiple %sspecific OS ABI match for architecture %s "
 "flavour %d: first match \"%s\", second match \"%s\""
 msgstr ""
 
-#: osabi.c:476
+#: osabi.c:497
 #, possible-c-format
 msgid "generic_elf_osabi_sniff_abi_tag_sections: unknown OS number %d"
 msgstr ""
 
-#: osabi.c:618
+#: osabi.c:639
 #, possible-c-format
 msgid "Invalid OS ABI \"%s\" passed to command handler."
 msgstr ""
 
-#: osabi.c:626
+#: osabi.c:647
 msgid "Updating OS ABI failed."
 msgstr ""
 
-#: osabi.c:635
+#: osabi.c:656
 #, possible-c-format
 msgid "The current OS ABI is \"auto\" (currently \"%s\").\n"
 msgstr ""
 
-#: osabi.c:639
+#: osabi.c:660
 #, possible-c-format
 msgid "The current OS ABI is \"%s\".\n"
 msgstr ""
 
-#: osabi.c:643
+#: osabi.c:664
 #, possible-c-format
 msgid "The default OS ABI is \"%s\".\n"
 msgstr ""
 
-#: osabi.c:655
+#: osabi.c:676
 msgid "_initialize_gdb_osabi: gdb_osabi_names[] is inconsistent"
 msgstr ""
 
-#: osabi.c:665
+#: osabi.c:686
 msgid "Set OS ABI of target."
 msgstr ""
 
-#: osabi.c:666
+#: osabi.c:687
 msgid "Show OS ABI of target."
 msgstr ""
 
-#: osdata.c:39
+#: osdata.c:38
 msgid "Can not parse XML OS data; XML support was disabled at compile time"
 msgstr ""
 
-#: osdata.c:67
+#: osdata.c:66
 msgid "Seen more than on osdata element"
 msgstr ""
 
-#: osdata.c:174
+#: osdata.c:173
 msgid "osdata"
 msgstr ""
 
-#: osdata.c:257
+#: osdata.c:256
 msgid "Empty data returned by target.  Wrong osdata type?"
 msgstr ""
 
-#: osdata.c:259
+#: osdata.c:258
 msgid "Empty type list returned by target.  No type data?"
 msgstr ""
 
-#: osdata.c:268
+#: osdata.c:267
 msgid "Can not fetch data now."
 msgstr ""
 
-#: osdata.c:306
+#: osdata.c:305
 msgid "Available types of OS data not reported."
 msgstr ""
 
-#: osdata.c:416
+#: osdata.c:415
 msgid "Show OS data ARG."
 msgstr ""
 
-#: parse.c:100
+#: parse.c:97
 #, possible-c-format
 msgid "Expression debugging is %s.\n"
 msgstr ""
 
-#: parse.c:111
+#: parse.c:108
 #, possible-c-format
 msgid "Parser debugging is %s.\n"
 msgstr ""
 
-#: parse.c:872
+#: parse.c:868
 msgid "?error in operator_length_standard"
 msgstr ""
 
-#: parse.c:1159
+#: parse.c:1155
 msgid "expression to compute"
 msgstr ""
 
-#: parse.c:1270
+#: parse.c:1267
 msgid "Junk after end of expression."
 msgstr ""
 
-#: parse.c:1919
+#: parse.c:1916
 msgid "Set expression debugging."
 msgstr ""
 
-#: parse.c:1920
+#: parse.c:1917
 msgid "Show expression debugging."
 msgstr ""
 
-#: parse.c:1921
+#: parse.c:1918
 msgid ""
 "When non-zero, the internal representation of expressions will be printed."
 msgstr ""
 
-#: parse.c:1928
+#: parse.c:1925
 msgid "Set parser debugging."
 msgstr ""
 
-#: parse.c:1929
+#: parse.c:1926
 msgid "Show parser debugging."
 msgstr ""
 
-#: parse.c:1930
+#: parse.c:1927
 msgid "When non-zero, expression parser tracing will be enabled."
 msgstr ""
 
-#: ppc-linux-nat.c:427 ppc-linux-nat.c:897
+#: ppc-linux-nat.c:425 ppc-linux-nat.c:895
 msgid "Unable to fetch VSX register"
 msgstr ""
 
-#: ppc-linux-nat.c:456 ppc-linux-nat.c:927
+#: ppc-linux-nat.c:454 ppc-linux-nat.c:925
 msgid "Unable to fetch AltiVec register"
 msgstr ""
 
 #. Anything else needs to be reported.
-#: ppc-linux-nat.c:494 ppc-linux-nat.c:2474
+#: ppc-linux-nat.c:492 ppc-linux-nat.c:2472
 msgid "Unable to fetch SPE registers"
 msgstr ""
 
-#: ppc-linux-nat.c:631
+#: ppc-linux-nat.c:629
 #, possible-c-format
 msgid "fetch_register: unexpected byte order: %d"
 msgstr ""
 
-#: ppc-linux-nat.c:689 ppc-linux-nat.c:2487
+#: ppc-linux-nat.c:687 ppc-linux-nat.c:2485
 msgid "Unable to fetch VSX registers"
 msgstr ""
 
-#: ppc-linux-nat.c:708 ppc-linux-nat.c:2500
+#: ppc-linux-nat.c:706 ppc-linux-nat.c:2498
 msgid "Unable to fetch AltiVec registers"
 msgstr ""
 
-#: ppc-linux-nat.c:735 ppc-linux-nat.c:1211
+#: ppc-linux-nat.c:733 ppc-linux-nat.c:1209
 msgid "Couldn't get general-purpose registers."
 msgstr ""
 
-#: ppc-linux-nat.c:787 ppc-linux-nat.c:1273
+#: ppc-linux-nat.c:785 ppc-linux-nat.c:1271
 msgid "Couldn't get floating-point registers."
 msgstr ""
 
-#: ppc-linux-nat.c:905
+#: ppc-linux-nat.c:903
 msgid "Unable to store VSX register"
 msgstr ""
 
-#: ppc-linux-nat.c:941
+#: ppc-linux-nat.c:939
 msgid "Unable to store AltiVec register"
 msgstr ""
 
 #. Anything else needs to be reported.
-#: ppc-linux-nat.c:968
+#: ppc-linux-nat.c:966
 msgid "Unable to set SPE registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1157
+#: ppc-linux-nat.c:1155
 msgid "Couldn't get VSX registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1163
+#: ppc-linux-nat.c:1161
 msgid "Couldn't write VSX registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1180
+#: ppc-linux-nat.c:1178
 msgid "Couldn't get AltiVec registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1186
+#: ppc-linux-nat.c:1184
 msgid "Couldn't write AltiVec registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1223
+#: ppc-linux-nat.c:1221
 msgid "Couldn't set general-purpose registers."
 msgstr ""
 
-#: ppc-linux-nat.c:1285
+#: ppc-linux-nat.c:1283
 msgid "Couldn't set floating-point registers."
 msgstr ""
 
-#: ppc-linux-nat.c:1614
+#: ppc-linux-nat.c:1612
 msgid "Unexpected error setting breakpoint or watchpoint"
 msgstr ""
 
-#: ppc-linux-nat.c:1661
+#: ppc-linux-nat.c:1659
 msgid "Unexpected error deleting breakpoint or watchpoint"
 msgstr ""
 
-#: ppc-linux-nat.c:2336
+#: ppc-linux-nat.c:2334
 msgid "The given mask covers kernel address space and cannot be used.\n"
 msgstr ""
 
-#: ppc-linux-tdep.c:747
+#: ppc-linux-tdep.c:703
 msgid "Cannot find AT_ENTRY auxiliary vector entry."
 msgstr ""
 
 #. Can't happen.
-#: ppc-sysv-tdep.c:670
+#: ppc-sysv-tdep.c:668
 msgid "Unknown decimal float size."
 msgstr ""
 
-#: printcmd.c:104
+#: printcmd.c:101
 #, possible-c-format
 msgid "The largest offset that will be printed in <symbol+1234> form is %s.\n"
 msgstr ""
 
-#: printcmd.c:116
+#: printcmd.c:113
 #, possible-c-format
 msgid "Printing of source filename and line number with <symbol> is %s.\n"
 msgstr ""
 
-#: printcmd.c:438 printcmd.c:514
+#: printcmd.c:435 printcmd.c:511
 #, possible-c-format
 msgid "Undefined output size \"%c\"."
 msgstr ""
 
-#: printcmd.c:540
+#: printcmd.c:537
 #, possible-c-format
 msgid "Undefined output format \"%c\"."
 msgstr ""
 
-#: printcmd.c:868
+#: printcmd.c:865
 #, possible-c-format
 msgid "Unable to display strings with size '%c', using 'b' instead."
 msgstr ""
 
-#: printcmd.c:936
+#: printcmd.c:933
 #, possible-c-format
 msgid "Size letters are meaningless in \"%s\" command."
 msgstr ""
 
-#: printcmd.c:938
+#: printcmd.c:935
 #, possible-c-format
 msgid "Item count other than 1 is meaningless in \"%s\" command."
 msgstr ""
 
-#: printcmd.c:941
+#: printcmd.c:938
 #, possible-c-format
 msgid "Format letter \"%c\" is meaningless in \"%s\" command."
 msgstr ""
 
-#: printcmd.c:1089
+#: printcmd.c:1086
 msgid "Expression is not an assignment (and might have no effect)"
 msgstr ""
 
-#: printcmd.c:1107
+#: printcmd.c:1104
 msgid "address"
 msgstr ""
 
-#: printcmd.c:1130
+#: printcmd.c:1127
 msgid "mapped"
 msgstr ""
 
-#: printcmd.c:1130
+#: printcmd.c:1127
 msgid "unmapped"
 msgstr ""
 
-#: printcmd.c:1151
+#: printcmd.c:1148
 #, possible-c-format
 msgid "%s in load address range of %s overlay section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1155
+#: printcmd.c:1152
 #, possible-c-format
 msgid "%s in load address range of section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1160
+#: printcmd.c:1157
 #, possible-c-format
 msgid "%s in %s overlay section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1163
+#: printcmd.c:1160
 #, possible-c-format
 msgid "%s in section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1168
+#: printcmd.c:1165
 #, possible-c-format
 msgid "%s in load address range of %s overlay section %s\n"
 msgstr ""
 
-#: printcmd.c:1172
+#: printcmd.c:1169
 #, possible-c-format
 msgid "%s in load address range of section %s\n"
 msgstr ""
 
-#: printcmd.c:1176
+#: printcmd.c:1173
 #, possible-c-format
 msgid "%s in %s overlay section %s\n"
 msgstr ""
 
-#: printcmd.c:1179
+#: printcmd.c:1176
 #, possible-c-format
 msgid "%s in section %s\n"
 msgstr ""
 
-#: printcmd.c:1186
+#: printcmd.c:1183
 #, possible-c-format
 msgid "No symbol matches %s.\n"
 msgstr ""
 
-#: printcmd.c:1202
+#: printcmd.c:1199
 msgid "Argument required."
 msgstr ""
 
@@ -19142,7 +19573,7 @@ msgstr ""
 msgid "expected wchar_t argument for %%lc"
 msgstr ""
 
-#: printcmd.c:2368 printcmd.c:2385 value.c:2526
+#: printcmd.c:2368 printcmd.c:2385 value.c:2632
 msgid "Invalid floating value found in program."
 msgstr ""
 
@@ -19336,46 +19767,46 @@ msgid ""
 "a command line, and call it."
 msgstr ""
 
-#: probe.c:63
+#: probe.c:62
 #, possible-c-format
 msgid "'%s' is not a probe linespec"
 msgstr ""
 
-#: probe.c:68
+#: probe.c:67
 #, possible-c-format
 msgid "argument to `%s' missing"
 msgstr ""
 
-#: probe.c:106
+#: probe.c:105
 msgid "no probe name specified"
 msgstr ""
 
-#: probe.c:108
+#: probe.c:107
 msgid "invalid provider name"
 msgstr ""
 
-#: probe.c:110
+#: probe.c:109
 msgid "invalid objfile name"
 msgstr ""
 
-#: probe.c:163
+#: probe.c:162
 #, possible-c-format
 msgid "No probe matching objfile=`%s', provider=`%s', name=`%s'"
 msgstr ""
 
-#: probe.c:164 probe.c:165
+#: probe.c:163 probe.c:164
 msgid "<any>"
 msgstr ""
 
-#: probe.c:264
+#: probe.c:263
 msgid "Invalid provider regexp"
 msgstr ""
 
-#: probe.c:266
+#: probe.c:265
 msgid "Invalid probe regexp"
 msgstr ""
 
-#: probe.c:268
+#: probe.c:267
 msgid "Invalid object file regexp"
 msgstr ""
 
@@ -19415,353 +19846,349 @@ msgstr ""
 msgid "Show information about all type of probes."
 msgstr ""
 
-#: proc-api.c:782
+#: proc-api.c:781
 msgid "Set tracing for /proc api calls."
 msgstr ""
 
-#: proc-api.c:783
+#: proc-api.c:782
 msgid "Show tracing for /proc api calls."
 msgstr ""
 
-#: proc-api.c:789
+#: proc-api.c:788
 msgid "Set filename for /proc tracefile."
 msgstr ""
 
-#: proc-api.c:790
+#: proc-api.c:789
 msgid "Show filename for /proc tracefile."
 msgstr ""
 
-#: procfs.c:485
+#: procfs.c:482
 #, possible-c-format
 msgid "procfs: couldn't find pid %d (kernel thread %d) in procinfo list."
 msgstr ""
 
-#: procfs.c:489
+#: procfs.c:486
 #, possible-c-format
 msgid "procfs: couldn't find pid %d in procinfo list."
 msgstr ""
 
-#: procfs.c:886
+#: procfs.c:883
 #, possible-c-format
 msgid "load_syscalls: Can't open /proc/%d/sysent"
 msgstr ""
 
-#: procfs.c:893 procfs.c:907
+#: procfs.c:890 procfs.c:904
 #, possible-c-format
 msgid "load_syscalls: Error reading /proc/%d/sysent"
 msgstr ""
 
-#: procfs.c:898
+#: procfs.c:895
 #, possible-c-format
 msgid "load_syscalls: /proc/%d/sysent contains no syscalls!"
 msgstr ""
 
-#: procfs.c:1367
+#: procfs.c:1364
 #, possible-c-format
 msgid "procfs: modify_flag failed to turn %s %s"
 msgstr ""
 
-#: procfs.c:1611
+#: procfs.c:1608
 msgid "procfs: set_traced_signals failed"
 msgstr ""
 
-#: procfs.c:2570
+#: procfs.c:2567
 #, possible-c-format
 msgid "procfs_find_LDT_entry: could not find procinfo for %d:%ld."
 msgstr ""
 
-#: procfs.c:2577
+#: procfs.c:2574
 #, possible-c-format
 msgid "procfs_find_LDT_entry: could not read gregs for %d:%ld."
 msgstr ""
 
-#: procfs.c:3057
+#: procfs.c:3040
 #, possible-c-format
 msgid "Attaching to program `%s', %s\n"
 msgstr ""
 
-#: procfs.c:3108
+#: procfs.c:3091
 msgid "procfs: out of memory in 'attach'"
 msgstr ""
 
-#: procfs.c:3198
+#: procfs.c:3181
 msgid "Was stopped when attached, make it runnable again? "
 msgstr ""
 
-#: procfs.c:3241
+#: procfs.c:3224
 #, possible-c-format
 msgid "procfs: fetch_registers failed to find procinfo for %s"
 msgstr ""
 
-#: procfs.c:3290
+#: procfs.c:3273
 #, possible-c-format
 msgid "procfs: store_registers: failed to find procinfo for %s"
 msgstr ""
 
-#: procfs.c:3397
-msgid "Unable to remove __dbx_link breakpoint."
-msgstr ""
-
-#: procfs.c:3452
+#: procfs.c:3418
 #, possible-c-format
 msgid "Failed to create a bfd: %s."
 msgstr ""
 
-#: procfs.c:3473
+#: procfs.c:3441
 msgid "Failed to insert dbx_link breakpoint."
 msgstr ""
 
-#: procfs.c:3613
+#: procfs.c:3581
 #, possible-c-format
 msgid "procfs: couldn't stop process %d: wait returned %d."
 msgstr ""
 
-#: procfs.c:3721
+#: procfs.c:3689
 msgid "procfs: trapped on entry to "
 msgstr ""
 
-#: procfs.c:3731 procfs.c:3834
+#: procfs.c:3699 procfs.c:3802
 #, possible-c-format
 msgid "%ld syscall arguments:\n"
 msgstr ""
 
-#: procfs.c:3824
+#: procfs.c:3792
 msgid "procfs: trapped on exit from "
 msgstr ""
 
-#: procfs.c:3853
+#: procfs.c:3821
 #, possible-c-format
 msgid "Retry #%d:\n"
 msgstr ""
 
-#: procfs.c:3929 procfs.c:3937
+#: procfs.c:3889 procfs.c:3897
 msgid "child stopped for unknown reason:\n"
 msgstr ""
 
-#: procfs.c:3931 procfs.c:3939
+#: procfs.c:3891 procfs.c:3899
 msgid "... giving up..."
 msgstr ""
 
-#: procfs.c:3964
+#: procfs.c:3924
 msgid "procfs: ...giving up..."
 msgstr ""
 
-#: procfs.c:4202
+#: procfs.c:4160
 msgid ""
 "resume: target already running.  Pretend to resume, and hope for the best!"
 msgstr ""
 
-#: procfs.c:4239
+#: procfs.c:4197
 #, possible-c-format
 msgid "\tUsing the running image of %s %s via /proc.\n"
 msgstr ""
 
-#: procfs.c:4377
+#: procfs.c:4318
 msgid "procfs: out of memory in 'init_inferior'"
 msgstr ""
 
-#: procfs.c:4484
+#: procfs.c:4425
 msgid "procfs: create_procinfo failed in child."
 msgstr ""
 
 #. Not found.  This must be an error rather than merely passing
 #. the file to execlp(), because execlp() would try all the
 #. exec()s, causing GDB to get confused.
-#: procfs.c:4655
+#: procfs.c:4596
 #, possible-c-format
 msgid "procfs:%d -- Can't find shell %s in PATH"
 msgstr ""
 
-#: procfs.c:5214
+#: procfs.c:5157
 #, possible-c-format
 msgid "process %d flags:\n"
 msgstr ""
 
-#: procfs.c:5224
+#: procfs.c:5167
 #, possible-c-format
 msgid "thread %d flags:\n"
 msgstr ""
 
-#: procfs.c:5284
+#: procfs.c:5227
 msgid "you must be debugging a process to use this command."
 msgstr ""
 
-#: procfs.c:5287
+#: procfs.c:5230
 msgid "system call to trace"
 msgstr ""
 
-#: procfs.c:5332
+#: procfs.c:5275
 msgid "Give a trace of entries into the syscall."
 msgstr ""
 
-#: procfs.c:5334
+#: procfs.c:5277
 msgid "Give a trace of exits from the syscall."
 msgstr ""
 
-#: procfs.c:5336
+#: procfs.c:5279
 msgid "Cancel a trace of entries into the syscall."
 msgstr ""
 
-#: procfs.c:5338
+#: procfs.c:5281
 msgid "Cancel a trace of exits from the syscall."
 msgstr ""
 
-#: procfs.c:5532
+#: procfs.c:5474
 msgid "gcore not implemented for this host."
 msgstr ""
 
-#: progspace.c:385
+#: progspace.c:381
 #, possible-c-format
 msgid "program space ID %d not known."
 msgstr ""
 
-#: progspace.c:513
+#: progspace.c:508
 msgid "Info about currently known program spaces."
 msgstr ""
 
-#: psymtab.c:88 symfile.c:1188
+#: psymtab.c:87 symfile.c:1186
 #, possible-c-format
 msgid "Reading symbols from %s..."
 msgstr ""
 
-#: psymtab.c:98 symfile.c:1216
+#: psymtab.c:97 symfile.c:1214
 msgid "(no debugging symbols found)..."
 msgstr ""
 
 #. Might want to error() here (in case symtab is corrupt and
 #. will cause a core dump), but maybe we can successfully
 #. continue, so let's not.
-#: psymtab.c:388
+#: psymtab.c:392
 #, possible-c-format
 msgid "(Internal error: pc %s in read in psymtab, but not in symtab.)\n"
 msgstr ""
 
-#: psymtab.c:841
+#: psymtab.c:856
 msgid "select_source_symtab: readin pst found and no symtabs."
 msgstr ""
 
-#: psymtab.c:1054
+#: psymtab.c:1081
 #, possible-c-format
 msgid "  Number of psym tables (not yet expanded): %d\n"
 msgstr ""
 
-#: psymtab.c:1859
+#: psymtab.c:1906
 msgid "print-psymbols takes an output file name and optional symbol file name"
 msgstr ""
 
-#: psymtab.c:2096
+#: psymtab.c:2143
 msgid ""
 "Print dump of current partial symbol definitions.\n"
 "Entries in the partial symbol table are dumped to file OUTFILE.\n"
 "If a SOURCE file is specified, dump only that file's partial symbols."
 msgstr ""
 
-#: psymtab.c:2102
+#: psymtab.c:2149
 msgid ""
 "List the partial symbol tables for all object files.\n"
 "This does not include information about individual partial symbols,\n"
 "just the symbol table structures themselves."
 msgstr ""
 
-#: psymtab.c:2109
+#: psymtab.c:2156
 msgid "Check consistency of currently expanded psymtabs versus symtabs."
 msgstr ""
 
-#: p-typeprint.c:302
+#: p-typeprint.c:300
 msgid "type not handled in pascal_type_print_varspec_prefix()"
 msgstr ""
 
-#: p-typeprint.c:424
+#: p-typeprint.c:422
 msgid "type not handled in pascal_type_print_varspec_suffix()"
 msgstr ""
 
-#: p-valprint.c:411
+#: p-valprint.c:410
 #, possible-c-format
 msgid "Invalid pascal type code %d in symbol table."
 msgstr ""
 
-#: p-valprint.c:459
+#: p-valprint.c:458
 #, possible-c-format
 msgid "Printing of pascal static members is %s.\n"
 msgstr ""
 
-#: p-valprint.c:901
+#: p-valprint.c:895
 msgid "Set printing of pascal static members."
 msgstr ""
 
-#: p-valprint.c:902
+#: p-valprint.c:896
 msgid "Show printing of pascal static members."
 msgstr ""
 
-#: python/py-cmd.c:129 python/py-cmd.c:225
+#: python/py-cmd.c:128 python/py-cmd.c:262
 msgid "Invalid invocation of Python command object."
 msgstr ""
 
-#: python/py-cmd.c:138
+#: python/py-cmd.c:137
 msgid "Python command object missing 'invoke' method."
 msgstr ""
 
-#: python/py-cmd.c:147
+#: python/py-cmd.c:146
 msgid "Could not convert arguments to Python string."
 msgstr ""
 
 #. An error occurred computing the string representation of the
 #. error message.  This is rare, but we should inform the user.
-#: python/py-cmd.c:175
+#: python/py-cmd.c:174
 msgid ""
 "An error occurred in a Python command\n"
 "and then another occurred computing the error message.\n"
 msgstr ""
 
-#: python/py-cmd.c:194
+#: python/py-cmd.c:193
 #, possible-c-format
 msgid "Error occurred in Python command: %s"
 msgstr ""
 
-#: python/py-cmd.c:196
+#: python/py-cmd.c:195
 msgid "Error occurred in Python command."
 msgstr ""
 
-#: python/py-cmd.c:235 python/py-cmd.c:238
+#: python/py-cmd.c:271 python/py-cmd.c:276
 msgid "Could not convert argument to Python string."
 msgstr ""
 
-#: python/py-cmd.c:343
+#: python/py-cmd.c:459
 msgid "No command name found."
 msgstr ""
 
-#: python/py-cmd.c:375
+#: python/py-cmd.c:491
 #, possible-c-format
 msgid "Could not find command prefix %s."
 msgstr ""
 
-#: python/py-cmd.c:389
+#: python/py-cmd.c:505
 #, possible-c-format
 msgid "'%s' is not a prefix command."
 msgstr ""
 
-#: python/py-cmd.c:437
+#: python/py-cmd.c:553
 msgid "Command object already initialized."
 msgstr ""
 
-#: python/py-cmd.c:453 python/py-param.c:679
+#: python/py-cmd.c:569 python/py-param.c:678
 msgid "Invalid command class argument."
 msgstr ""
 
-#: python/py-cmd.c:460
+#: python/py-cmd.c:576
 msgid "Invalid completion type argument."
 msgstr ""
 
 #. Require that INFERIOR be a valid inferior ID.
-#: python/py-infthread.c:35 python/py-infthread.c:92
+#: python/py-infthread.c:34 python/py-infthread.c:87
 msgid "Thread no longer exists."
 msgstr ""
 
-#: python/py-infthread.c:99
+#: python/py-infthread.c:94
 msgid "Cannot delete `name' attribute."
 msgstr ""
 
-#: python/py-infthread.c:107
+#: python/py-infthread.c:102
 msgid "The value of `name' must be a string."
 msgstr ""
 
@@ -19769,7 +20196,7 @@ msgstr ""
 #. exception if it is invalid.
 #. Require that BREAKPOINT be a valid breakpoint ID; throw a Python
 #. exception if it is invalid.  This macro is for use in setter functions.
-#: python/python-internal.h:275 python/python-internal.h:285
+#: python/python-internal.h:271 python/python-internal.h:281
 #, possible-c-format
 msgid "Breakpoint %d is invalid."
 msgstr ""
@@ -19787,169 +20214,186 @@ msgid ""
 msgstr ""
 
 #: python/py-xmethods.c:547 python/py-xmethods.c:555 python/py-xmethods.c:571
-#: python/py-xmethods.c:581 python/py-xmethods.c:591 python/python.c:359
-#: python/python.c:463 python/python.c:484 python/py-function.c:153
-#: python/py-prettyprint.c:652
+#: python/py-xmethods.c:581 python/py-xmethods.c:591 python/python.c:357
+#: python/python.c:461 python/python.c:482 python/py-function.c:152
+#: python/py-prettyprint.c:651
 msgid "Error while executing Python code."
 msgstr ""
 
-#: python/py-objfile.c:135
+#. Require that OBJF be a valid objfile.
+#: python/py-objfile.c:63
+msgid "Objfile no longer exists."
+msgstr ""
+
+#: python/py-objfile.c:233
 msgid "Cannot delete the pretty_printers attribute."
 msgstr ""
 
-#: python/py-objfile.c:142
+#: python/py-objfile.c:240
 msgid "The pretty_printers attribute must be a list."
 msgstr ""
 
-#: python/py-objfile.c:176
+#: python/py-objfile.c:274
 msgid "Cannot delete the frame filters attribute."
 msgstr ""
 
-#: python/py-objfile.c:183
+#: python/py-objfile.c:281
 msgid "The frame_filters attribute must be a dictionary."
 msgstr ""
 
-#: python/py-objfile.c:229
+#: python/py-objfile.c:327
 msgid "Cannot delete the type_printers attribute."
 msgstr ""
 
-#: python/py-objfile.c:236
+#: python/py-objfile.c:334
 msgid "The type_printers attribute must be a list."
 msgstr ""
 
+#: python/py-objfile.c:509
+msgid "Not a valid build id."
+msgstr ""
+
+#: python/py-objfile.c:525
+msgid "Objfile not found."
+msgstr ""
+
 #. Require a valid frame.  This must be called inside a TRY_CATCH, or
 #. another context in which a gdb exception is allowed.
 #: python/py-frame.c:54
 msgid "Frame is invalid."
 msgstr ""
 
-#: python/py-frame.c:263
+#: python/py-frame.c:265
+msgid "Unknown register."
+msgstr ""
+
+#: python/py-frame.c:297
 msgid "Cannot locate block for frame."
 msgstr ""
 
-#: python/py-frame.c:467 python/py-type.c:918
+#: python/py-frame.c:499 python/py-type.c:917
 msgid "Second argument must be block."
 msgstr ""
 
-#: python/py-frame.c:491
+#: python/py-frame.c:523
 #, possible-c-format
 msgid "Variable '%s' not found."
 msgstr ""
 
-#: python/py-frame.c:502
+#: python/py-frame.c:534
 msgid "Argument must be a symbol or string."
 msgstr ""
 
-#: python/py-frame.c:587
+#: python/py-frame.c:619
 msgid "Invalid frame stop reason."
 msgstr ""
 
-#: python/py-value.c:131
+#: python/py-value.c:129
 msgid "Value object creation takes only 1 argument"
 msgstr ""
 
-#: python/py-value.c:139
+#: python/py-value.c:137
 msgid "Could not allocate memory to create Value object."
 msgstr ""
 
-#: python/py-value.c:223
+#: python/py-value.c:221
 msgid ""
 "Trying to get the referenced value from a value which is neither a pointer "
 "nor a reference."
 msgstr ""
 
-#: python/py-value.c:443
+#: python/py-value.c:441
 msgid "Argument must be a type."
 msgstr ""
 
-#: python/py-value.c:500 python/py-value.c:1263 python/py-value.c:1305
+#: python/py-value.c:498 python/py-value.c:1261 python/py-value.c:1303
 msgid "Invalid operation on gdb.Value."
 msgstr ""
 
-#: python/py-value.c:524
+#: python/py-value.c:522
 msgid "'parent_type' attribute of gdb.Field object is not agdb.Type object."
 msgstr ""
 
-#: python/py-value.c:583
+#: python/py-value.c:581
 msgid "'type' attribute of gdb.Field object is not a gdb.Type object."
 msgstr ""
 
-#: python/py-value.c:619
+#: python/py-value.c:617
 msgid "Invalid lookup for a field not contained in the value."
 msgstr ""
 
-#: python/py-value.c:658
+#: python/py-value.c:656
 msgid "gdb.Field object has no name and no 'bitpos' attribute."
 msgstr ""
 
-#: python/py-value.c:718
+#: python/py-value.c:716
 msgid "Cannot subscript requested type."
 msgstr ""
 
-#: python/py-value.c:739
+#: python/py-value.c:737
 msgid "Setting of struct elements is not currently supported."
 msgstr ""
 
-#: python/py-value.c:765
+#: python/py-value.c:763
 msgid "Value is not callable (not TYPE_CODE_FUNC)."
 msgstr ""
 
-#: python/py-value.c:772
+#: python/py-value.c:770
 msgid "Inferior arguments must be provided in a tuple."
 msgstr ""
 
-#: python/py-value.c:1337
+#: python/py-value.c:1335
 msgid "Cannot convert value to int."
 msgstr ""
 
-#: python/py-value.c:1362
+#: python/py-value.c:1360
 msgid "Cannot convert value to long."
 msgstr ""
 
-#: python/py-value.c:1385
+#: python/py-value.c:1383
 msgid "Cannot convert value to float."
 msgstr ""
 
-#: python/py-value.c:1530
+#: python/py-value.c:1528
 #, possible-c-format
 msgid "Could not convert Python object: %S."
 msgstr ""
 
-#: python/py-value.c:1533
+#: python/py-value.c:1531
 #, possible-c-format
 msgid "Could not convert Python object: %s."
 msgstr ""
 
-#: python/py-type.c:519
+#: python/py-type.c:518
 msgid "Array bound must be an integer"
 msgstr ""
 
-#: python/py-type.c:599
+#: python/py-type.c:598
 msgid "This type does not have a range."
 msgstr ""
 
-#: python/py-type.c:672
+#: python/py-type.c:671
 msgid "Type does not have a target."
 msgstr ""
 
-#: python/py-type.c:845
+#: python/py-type.c:844
 msgid "Null type name."
 msgstr ""
 
-#: python/py-type.c:872
+#: python/py-type.c:871
 msgid "Type is not a template."
 msgstr ""
 
-#: python/py-type.c:885 python/py-type.c:939
+#: python/py-type.c:884 python/py-type.c:938
 #, possible-c-format
 msgid "No argument %d in template."
 msgstr ""
 
-#: python/py-type.c:950
+#: python/py-type.c:949
 msgid "Template argument is optimized out"
 msgstr ""
 
-#: python/py-type.c:1364
+#: python/py-type.c:1363
 msgid "'block' argument must be a Block."
 msgstr ""
 
@@ -19961,62 +20405,62 @@ msgstr ""
 msgid "Overflow converting to address."
 msgstr ""
 
-#: python/py-linetable.c:76
+#: python/py-linetable.c:75
 msgid "Symbol Table in line table is invalid."
 msgstr ""
 
-#: python/py-linetable.c:214 python/py-linetable.c:247
+#: python/py-linetable.c:213 python/py-linetable.c:246
 msgid "Linetable information not found in symbol table"
 msgstr ""
 
-#: python/python.c:225 python/python.c:1885
+#: python/python.c:223 python/python.c:1888
 msgid "internal error: Unhandled Python exception"
 msgstr ""
 
-#: python/python.c:253
+#: python/python.c:251
 msgid "Python not initialized"
 msgstr ""
 
-#: python/python.c:403
+#: python/python.c:401
 #, possible-c-format
 msgid "Error while opening file: %s"
 msgstr ""
 
-#: python/python.c:455
+#: python/python.c:453
 msgid "Invalid \"python\" block structure."
 msgstr ""
 
-#: python/python.c:558
+#: python/python.c:556
 msgid "Programmer error: unhandled type."
 msgstr ""
 
-#: python/python.c:586
+#: python/python.c:584
 #, possible-c-format
 msgid "Could not find parameter `%s'."
 msgstr ""
 
-#: python/python.c:590
+#: python/python.c:588
 #, possible-c-format
 msgid "`%s' is not a parameter."
 msgstr ""
 
-#: python/python.c:962
+#: python/python.c:960
 msgid "Posted event is not callable"
 msgstr ""
 
-#: python/python.c:1054
+#: python/python.c:1052
 msgid "Return from prompt_hook must be either a Python string, or None"
 msgstr ""
 
-#: python/python.c:1206
+#: python/python.c:1204
 msgid "Error occurred computing Python errormessage.\n"
 msgstr ""
 
-#: python/python.c:1484
+#: python/python.c:1482
 msgid "Python scripting is not supported in this copy of GDB."
 msgstr ""
 
-#: python/python.c:1576
+#: python/python.c:1574
 msgid ""
 "Start an interactive Python prompt.\n"
 "\n"
@@ -20031,7 +20475,7 @@ msgid ""
 "    5\n"
 msgstr ""
 
-#: python/python.c:1590
+#: python/python.c:1588
 msgid ""
 "Start a Python interactive prompt.\n"
 "\n"
@@ -20039,7 +20483,7 @@ msgid ""
 "This command is only a placeholder."
 msgstr ""
 
-#: python/python.c:1601
+#: python/python.c:1599
 msgid ""
 "Evaluate a Python command.\n"
 "\n"
@@ -20052,7 +20496,7 @@ msgid ""
 "the end of the command."
 msgstr ""
 
-#: python/python.c:1612
+#: python/python.c:1610
 msgid ""
 "Evaluate a Python command.\n"
 "\n"
@@ -20060,21 +20504,21 @@ msgid ""
 "This command is only a placeholder."
 msgstr ""
 
-#: python/python.c:1623 python/python.c:1628
+#: python/python.c:1621 python/python.c:1626
 msgid "Prefix command for python preference settings."
 msgstr ""
 
-#: python/python.c:1633
+#: python/python.c:1631
 msgid "Set mode for Python stack dump on error."
 msgstr ""
 
-#: python/python.c:1634
+#: python/python.c:1632
 msgid "Show the mode of Python stack printing on error."
 msgstr ""
 
 #. This is passed in one call to warning so that blank lines aren't
 #. inserted between each line of text.
-#: python/python.c:1865
+#: python/python.c:1868
 #, possible-c-format
 msgid ""
 "\n"
@@ -20084,42 +20528,42 @@ msgid ""
 msgstr ""
 
 #. Require that INFERIOR be a valid inferior ID.
-#: python/py-inferior.c:77
+#: python/py-inferior.c:76
 msgid "Inferior no longer exists."
 msgstr ""
 
-#: python/py-inferior.c:549
+#: python/py-inferior.c:623
 #, possible-c-format
 msgid "Memory buffer for address %s, which is %s bytes long."
 msgstr ""
 
-#: python/py-inferior.c:581
+#: python/py-inferior.c:655
 msgid "The memory buffer supports only one segment."
 msgstr ""
 
-#: python/py-inferior.c:659
+#: python/py-inferior.c:733
 msgid "The pattern is not a Python buffer."
 msgstr ""
 
-#: python/py-inferior.c:677
+#: python/py-inferior.c:751
 msgid "Search range is empty."
 msgstr ""
 
-#: python/py-inferior.c:685
+#: python/py-inferior.c:759
 msgid "The search range is too large."
 msgstr ""
 
 #. Require a valid symbol.  All access to symbol_object->symbol should be
 #. gated by this call.
-#: python/py-symbol.c:48
+#: python/py-symbol.c:47
 msgid "Symbol is invalid."
 msgstr ""
 
-#: python/py-symbol.c:271
+#: python/py-symbol.c:273
 msgid "invalid frame"
 msgstr ""
 
-#: python/py-symbol.c:275
+#: python/py-symbol.c:277
 msgid "symbol requires a frame to compute its value"
 msgstr ""
 
@@ -20139,44 +20583,44 @@ msgstr ""
 msgid "Symbol is null."
 msgstr ""
 
-#: python/py-block.c:395
+#: python/py-block.c:393
 msgid "Cannot locate object file for block."
 msgstr ""
 
-#: python/py-function.c:87
+#: python/py-function.c:86
 msgid "No method named 'invoke' in object."
 msgstr ""
 
 #. An error occurred computing the string representation of the
 #. error message.  This is rare, but we should inform the user.
-#: python/py-function.c:114
+#: python/py-function.c:113
 msgid ""
 "An error occurred in a Python convenience function\n"
 "and then another occurred computing the error message.\n"
 msgstr ""
 
-#: python/py-function.c:134
+#: python/py-function.c:133
 #, possible-c-format
 msgid "Error occurred in Python convenience function: %s"
 msgstr ""
 
-#: python/py-function.c:137
+#: python/py-function.c:136
 msgid "Error occurred in Python convenience function."
 msgstr ""
 
-#: python/py-function.c:195
+#: python/py-function.c:194
 msgid "This function is not documented."
 msgstr ""
 
-#: python/py-framefilter.c:91
+#: python/py-framefilter.c:90
 msgid "Unexpected value.  Expecting a gdb.Symbol or a Python string."
 msgstr ""
 
-#: python/py-framefilter.c:577
+#: python/py-framefilter.c:576
 msgid "No symbol or value provided."
 msgstr ""
 
-#: python/py-framefilter.c:1206
+#: python/py-framefilter.c:1205
 msgid "FrameDecorator.function: expecting a String, integer or None."
 msgstr ""
 
@@ -20192,151 +20636,163 @@ msgstr ""
 msgid "Symbol Table and Line is invalid."
 msgstr ""
 
-#: python/py-breakpoint.c:125
+#: python/py-breakpoint.c:124
 msgid "Cannot delete `enabled' attribute."
 msgstr ""
 
-#: python/py-breakpoint.c:132
+#: python/py-breakpoint.c:131
 msgid "The value of `enabled' must be a boolean."
 msgstr ""
 
-#: python/py-breakpoint.c:164
+#: python/py-breakpoint.c:163
 msgid "Cannot delete `silent' attribute."
 msgstr ""
 
-#: python/py-breakpoint.c:170
+#: python/py-breakpoint.c:169
 msgid "The value of `silent' must be a boolean."
 msgstr ""
 
-#: python/py-breakpoint.c:195
+#: python/py-breakpoint.c:194
 msgid "Cannot delete `thread' attribute."
 msgstr ""
 
-#: python/py-breakpoint.c:206
+#: python/py-breakpoint.c:205
 msgid "Invalid thread ID."
 msgstr ""
 
-#: python/py-breakpoint.c:215
+#: python/py-breakpoint.c:214
 msgid "The value of `thread' must be an integer or None."
 msgstr ""
 
-#: python/py-breakpoint.c:238
+#: python/py-breakpoint.c:237
 msgid "Cannot delete `task' attribute."
 msgstr ""
 
-#: python/py-breakpoint.c:255
+#: python/py-breakpoint.c:254
 msgid "Invalid task ID."
 msgstr ""
 
-#: python/py-breakpoint.c:264
+#: python/py-breakpoint.c:263
 msgid "The value of `task' must be an integer or None."
 msgstr ""
 
-#: python/py-breakpoint.c:309
+#: python/py-breakpoint.c:308
 msgid "Cannot delete `ignore_count' attribute."
 msgstr ""
 
-#: python/py-breakpoint.c:315
+#: python/py-breakpoint.c:314
 msgid "The value of `ignore_count' must be an integer."
 msgstr ""
 
-#: python/py-breakpoint.c:345
+#: python/py-breakpoint.c:344
 msgid "Cannot delete `hit_count' attribute."
 msgstr ""
 
-#: python/py-breakpoint.c:358
+#: python/py-breakpoint.c:357
 msgid "The value of `hit_count' must be zero."
 msgstr ""
 
-#: python/py-breakpoint.c:440
+#: python/py-breakpoint.c:439
 msgid "Cannot delete `condition' attribute."
 msgstr ""
 
-#: python/py-breakpoint.c:676
+#: python/py-breakpoint.c:675
 msgid "Cannot understand watchpoint access type."
 msgstr ""
 
-#: python/py-breakpoint.c:680
+#: python/py-breakpoint.c:679
 msgid "Do not understand breakpoint type to set."
 msgstr ""
 
-#: python/py-breakpoint.c:874
+#: python/py-breakpoint.c:873
 msgid "Error while creating breakpoint from GDB."
 msgstr ""
 
-#: python/py-param.c:138
+#: python/py-param.c:137
 msgid "String required for filename."
 msgstr ""
 
-#: python/py-param.c:171
+#: python/py-param.c:170
 msgid "ENUM arguments must be a string."
 msgstr ""
 
-#: python/py-param.c:185
+#: python/py-param.c:184
 msgid "The value must be member of an enumeration."
 msgstr ""
 
-#: python/py-param.c:196
+#: python/py-param.c:195
 msgid "A boolean argument is required."
 msgstr ""
 
-#: python/py-param.c:209
+#: python/py-param.c:208
 msgid "A boolean or None is required"
 msgstr ""
 
-#: python/py-param.c:237
+#: python/py-param.c:236
 msgid "The value must be integer."
 msgstr ""
 
-#: python/py-param.c:262
+#: python/py-param.c:261
 msgid "Range exceeded."
 msgstr ""
 
-#: python/py-param.c:272
+#: python/py-param.c:271
 msgid "Unhandled type in parameter value."
 msgstr ""
 
-#: python/py-param.c:293
+#: python/py-param.c:292
 msgid "Cannot delete a parameter's value."
 msgstr ""
 
-#: python/py-param.c:350
+#: python/py-param.c:349
 msgid "Parameter must return a string value."
 msgstr ""
 
-#: python/py-param.c:577
+#: python/py-param.c:576
 msgid "An enumeration is required for PARAM_ENUM."
 msgstr ""
 
-#: python/py-param.c:584
+#: python/py-param.c:583
 msgid "The enumeration is not a sequence."
 msgstr ""
 
-#: python/py-param.c:594
+#: python/py-param.c:593
 msgid "The enumeration is empty."
 msgstr ""
 
-#: python/py-param.c:616
+#: python/py-param.c:615
 msgid "The enumeration item not a string."
 msgstr ""
 
-#: python/py-param.c:691
+#: python/py-param.c:690
 msgid "Invalid parameter class argument."
 msgstr ""
 
-#: python/py-param.c:698
+#: python/py-param.c:697
 msgid "Only PARAM_ENUM accepts a fourth argument."
 msgstr ""
 
-#: python/py-lazy-string.c:106
+#: python/py-varobj.c:113
+msgid "Invalid item from the child list"
+msgstr ""
+
+#: python/py-varobj.c:187
+msgid "Null value returned for children"
+msgstr ""
+
+#: python/py-varobj.c:196
+msgid "Could not get children iterator"
+msgstr ""
+
+#: python/py-lazy-string.c:104
 msgid "Cannot create a value from NULL."
 msgstr ""
 
-#: python/py-lazy-string.c:136
+#: python/py-lazy-string.c:134
 msgid "Cannot create a lazy string with address 0x0, and a non-zero length."
 msgstr ""
 
-#: python/py-lazy-string.c:144
+#: python/py-lazy-string.c:142
 msgid "A lazy string's type cannot be NULL."
 msgstr ""
 
@@ -20358,227 +20814,219 @@ msgstr ""
 msgid "Argument 'count' should be an non-negative integer."
 msgstr ""
 
-#: python/py-auto-load.c:42
+#: python/py-auto-load.c:40
 #, possible-c-format
 msgid "Auto-loading of Python scripts is %s.\n"
 msgstr ""
 
-#: python/py-auto-load.c:69
+#: python/py-auto-load.c:67
 msgid "Set the debugger's behaviour regarding auto-loaded Python scripts."
 msgstr ""
 
-#: python/py-auto-load.c:70
+#: python/py-auto-load.c:68
 msgid "Show the debugger's behaviour regarding auto-loaded Python scripts."
 msgstr ""
 
-#: python/py-auto-load.c:71
+#: python/py-auto-load.c:69
 msgid ""
 "If enabled, auto-loaded Python scripts are loaded when the debugger reads\n"
 "an executable or shared library.\n"
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: python/py-auto-load.c:80
+#: python/py-auto-load.c:78
 msgid ""
 "Set the debugger's behaviour regarding auto-loaded Python scripts, "
 "deprecated."
 msgstr ""
 
-#: python/py-auto-load.c:83
+#: python/py-auto-load.c:81
 msgid ""
 "Show the debugger's behaviour regarding auto-loaded Python scripts, "
 "deprecated."
 msgstr ""
 
-#: python/py-auto-load.c:98
+#: python/py-auto-load.c:96
 msgid ""
 "Print the list of automatically loaded Python scripts.\n"
 "Usage: info auto-load python-scripts [REGEXP]"
 msgstr ""
 
-#: python/py-auto-load.c:102
+#: python/py-auto-load.c:100
 msgid "Print the list of automatically loaded Python scripts, deprecated."
 msgstr ""
 
-#: python/py-finishbreakpoint.c:189 python/py-finishbreakpoint.c:212
+#: python/py-finishbreakpoint.c:188 python/py-finishbreakpoint.c:211
 msgid "Invalid ID for the `frame' object."
 msgstr ""
 
-#: python/py-finishbreakpoint.c:197
+#: python/py-finishbreakpoint.c:196
 msgid "\"FinishBreakpoint\" not meaningful in the outermost frame."
 msgstr ""
 
-#: python/py-finishbreakpoint.c:204
+#: python/py-finishbreakpoint.c:203
 msgid "\"FinishBreakpoint\" cannot be set on a dummy frame."
 msgstr ""
 
-#: python/py-finishbreakpoint.c:228
+#: python/py-finishbreakpoint.c:227
 msgid "No thread currently selected."
 msgstr ""
 
-#: python/py-finishbreakpoint.c:238
+#: python/py-finishbreakpoint.c:237
 msgid "The value of `internal' must be a boolean."
 msgstr ""
 
-#: python/py-prettyprint.c:841
+#: python/py-prettyprint.c:840
 msgid "Argument must be a gdb.Value."
 msgstr ""
 
-#: ravenscar-thread.c:395
+#: ravenscar-thread.c:394
 msgid "\"set ravenscar\" must be followed by the name of a setting.\n"
 msgstr ""
 
-#: ravenscar-thread.c:416
+#: ravenscar-thread.c:415
 msgid "Support for Ravenscar task/thread switching is enabled\n"
 msgstr ""
 
-#: ravenscar-thread.c:419
+#: ravenscar-thread.c:418
 msgid "Support for Ravenscar task/thread switching is disabled\n"
 msgstr ""
 
-#: ravenscar-thread.c:442
+#: ravenscar-thread.c:441
 msgid "Prefix command for changing Ravenscar-specific settings"
 msgstr ""
 
-#: ravenscar-thread.c:446
+#: ravenscar-thread.c:445
 msgid "Prefix command for showing Ravenscar-specific settings"
 msgstr ""
 
-#: ravenscar-thread.c:450
+#: ravenscar-thread.c:449
 msgid "Enable or disable support for GNAT Ravenscar tasks"
 msgstr ""
 
-#: ravenscar-thread.c:451
+#: ravenscar-thread.c:450
 msgid "Show whether support for GNAT Ravenscar tasks is enabled"
 msgstr ""
 
-#: ravenscar-thread.c:453
+#: ravenscar-thread.c:452
 msgid ""
 "Enable or disable support for task/thread switching with the GNAT\n"
 "Ravenscar run-time library for bareboard configuration."
 msgstr ""
 
-#: record-btrace.c:99 record-btrace.c:279
+#: record-btrace.c:101 record-btrace.c:282
 msgid "No thread."
 msgstr ""
 
-#: record-btrace.c:204
+#: record-btrace.c:206
 msgid "Record btrace can't debug inferior in non-stop mode."
 msgstr ""
 
-#: record-btrace.c:302
+#: record-btrace.c:305
 #, possible-c-format
 msgid "Recorded %u instructions in %u functions for thread %d (%s).\n"
 msgstr ""
 
-#: record-btrace.c:307
+#: record-btrace.c:310
 #, possible-c-format
 msgid "Replay in progress.  At instruction %u.\n"
 msgstr ""
 
-#: record-btrace.c:367 record-btrace.c:499
+#: record-btrace.c:370 record-btrace.c:502
 msgid "Bad record instruction-history-size."
 msgstr ""
 
-#: record-btrace.c:427 record-btrace.c:735
+#: record-btrace.c:430 record-btrace.c:738
 msgid "At the start of the branch trace record.\n"
 msgstr ""
 
-#: record-btrace.c:429 record-btrace.c:737
+#: record-btrace.c:432 record-btrace.c:740
 msgid "At the end of the branch trace record.\n"
 msgstr ""
 
-#: record-btrace.c:460 record-btrace.c:463 record-btrace.c:768
-#: record-btrace.c:771
+#: record-btrace.c:463 record-btrace.c:466 record-btrace.c:771
+#: record-btrace.c:774
 msgid "Bad range."
 msgstr ""
 
-#: record-btrace.c:469 record-btrace.c:777
+#: record-btrace.c:472 record-btrace.c:780
 msgid "Range out of bounds."
 msgstr ""
 
-#: record-btrace.c:641
+#: record-btrace.c:644
 msgid "\tinst "
 msgstr ""
 
-#: record-btrace.c:647
+#: record-btrace.c:650
 msgid "\tat "
 msgstr ""
 
-#: record-btrace.c:672 record-btrace.c:807
+#: record-btrace.c:675 record-btrace.c:810
 msgid "Bad record function-call-history-size."
 msgstr ""
 
-#: record-btrace.c:1014
+#: record-btrace.c:1009
 msgid "This record target does not allow writing registers."
 msgstr ""
 
-#: record-btrace.c:1190
+#: record-btrace.c:1175
 msgid "Registers are not available in btrace record history"
 msgstr ""
 
-#: record-btrace.c:1199
+#: record-btrace.c:1184
 msgid "No caller in btrace record history"
 msgstr ""
 
-#: record-btrace.c:1380
+#: record-btrace.c:1365
 msgid "Thread already moving."
 msgstr ""
 
-#: record-btrace.c:1521
+#: record-btrace.c:1506
 msgid "Cannot find thread to resume."
 msgstr ""
 
-#: record-btrace.c:1535
-msgid "Cannot find target for stepping."
-msgstr ""
-
-#: record-btrace.c:1646
+#: record-btrace.c:1628
 msgid "invalid stepping type."
 msgstr ""
 
-#: record-btrace.c:1762
-msgid "Cannot find target for waiting."
-msgstr ""
-
-#: record-btrace.c:1921
+#: record-btrace.c:1893
 msgid "Instruction number out of range."
 msgstr ""
 
-#: record-btrace.c:1927
+#: record-btrace.c:1899
 msgid "No such instruction."
 msgstr ""
 
-#: record-btrace.c:1996
+#: record-btrace.c:1986
 msgid "Invalid argument."
 msgstr ""
 
-#: record-btrace.c:2023
+#: record-btrace.c:2013
 #, possible-c-format
 msgid "Replay memory access is %s.\n"
 msgstr ""
 
-#: record-btrace.c:2035
+#: record-btrace.c:2025
 msgid "Start branch trace recording."
 msgstr ""
 
-#: record-btrace.c:2040 record.c:748 record-full.c:2782
+#: record-btrace.c:2030 record.c:755 record-full.c:2787
 msgid "Set record options"
 msgstr ""
 
-#: record-btrace.c:2044 record.c:752 record-full.c:2786
+#: record-btrace.c:2034 record.c:759 record-full.c:2791
 msgid "Show record options"
 msgstr ""
 
-#: record-btrace.c:2048
+#: record-btrace.c:2038
 msgid "Set what memory accesses are allowed during replay."
 msgstr ""
 
-#: record-btrace.c:2049
+#: record-btrace.c:2039
 msgid "Show what memory accesses are allowed during replay."
 msgstr ""
 
-#: record-btrace.c:2051
+#: record-btrace.c:2041
 msgid ""
 "Default is READ-ONLY.\n"
 "\n"
@@ -20639,105 +21087,105 @@ msgstr ""
 msgid "Active record target: %s\n"
 msgstr ""
 
-#: record.c:325
+#: record.c:321
 msgid "Command requires an argument (insn number to go to)."
 msgstr ""
 
-#: record.c:339 record.c:351 record.c:400
+#: record.c:346 record.c:358 record.c:407
 #, possible-c-format
 msgid "Junk after argument: %s."
 msgstr ""
 
-#: record.c:369 record.c:389
+#: record.c:376 record.c:396
 #, possible-c-format
 msgid "Expected positive number, got: %s."
 msgstr ""
 
-#: record.c:448 record.c:586
+#: record.c:455 record.c:593
 #, possible-c-format
 msgid "Invalid modifier: %c."
 msgstr ""
 
-#: record.c:678 top.c:1575
+#: record.c:685 top.c:1643
 #, possible-c-format
 msgid "integer %u out of range"
 msgstr ""
 
-#: record.c:718
+#: record.c:725
 msgid "Set debugging of record/replay feature."
 msgstr ""
 
-#: record.c:719
+#: record.c:726
 msgid "Show debugging of record/replay feature."
 msgstr ""
 
-#: record.c:720
+#: record.c:727
 msgid "When enabled, debugging output for record/replay feature is displayed."
 msgstr ""
 
-#: record.c:726
+#: record.c:733
 msgid "Set number of instructions to print in \"record instruction-history\"."
 msgstr ""
 
-#: record.c:727
+#: record.c:734
 msgid "Show number of instructions to print in \"record instruction-history\"."
 msgstr ""
 
-#: record.c:728
+#: record.c:735
 msgid ""
 "A size of \"unlimited\" means unlimited instructions.  The default is 10."
 msgstr ""
 
-#: record.c:734
+#: record.c:741
 msgid "Set number of function to print in \"record function-call-history\"."
 msgstr ""
 
-#: record.c:735
+#: record.c:742
 msgid "Show number of functions to print in \"record function-call-history\"."
 msgstr ""
 
-#: record.c:736
+#: record.c:743
 msgid "A size of \"unlimited\" means unlimited lines.  The default is 10."
 msgstr ""
 
-#: record.c:742
+#: record.c:749
 msgid "Start recording."
 msgstr ""
 
-#: record.c:756
+#: record.c:763
 msgid "Info record options"
 msgstr ""
 
-#: record.c:761
+#: record.c:768
 msgid ""
 "Save the execution log to a file.\n"
 "Argument is optional filename.\n"
 "Default filename is 'gdb_record.<process_id>'."
 msgstr ""
 
-#: record.c:768
+#: record.c:775
 msgid "Delete the rest of execution log and start recording it anew."
 msgstr ""
 
-#: record.c:774
+#: record.c:781
 msgid "Stop the record/replay target."
 msgstr ""
 
-#: record.c:778
+#: record.c:785
 msgid ""
 "Restore the program to its state at instruction number N.\n"
 "Argument is instruction number, as shown by 'info record'."
 msgstr ""
 
-#: record.c:784
+#: record.c:791
 msgid "Go to the beginning of the execution log."
 msgstr ""
 
-#: record.c:789
+#: record.c:796
 msgid "Go to the end of the execution log."
 msgstr ""
 
-#: record.c:792
+#: record.c:799
 msgid ""
 "Print disassembled instructions stored in the execution log.\n"
 "With a /m modifier, source lines are included (if available).\n"
@@ -20758,7 +21206,7 @@ msgid ""
 "instruction-history-size\"."
 msgstr ""
 
-#: record.c:812
+#: record.c:819
 msgid ""
 "Prints the execution history at function granularity.\n"
 "It prints one line for each sequence of instructions that belong to the same "
@@ -20780,201 +21228,201 @@ msgid ""
 "call-history-size\"."
 msgstr ""
 
-#: record-full.c:550
+#: record-full.c:549
 msgid ""
 "Do you want to auto delete previous execution log entries when record/replay "
 "buffer becomes full (record full stop-at-limit)?"
 msgstr ""
 
-#: record-full.c:558
+#: record-full.c:557
 msgid "Process record: stopped by user."
 msgstr ""
 
-#: record-full.c:629
+#: record-full.c:628
 msgid "Process record: inferior program stopped."
 msgstr ""
 
-#: record-full.c:631 record-full.c:1409 record-full.c:1418 record-full.c:1424
+#: record-full.c:630 record-full.c:1410 record-full.c:1419 record-full.c:1425
 msgid "Process record: failed to record execution log."
 msgstr ""
 
-#: record-full.c:749
+#: record-full.c:748
 #, possible-c-format
 msgid "Process record: error writing memory at addr = %s len = %d."
 msgstr ""
 
-#: record-full.c:832
+#: record-full.c:831
 msgid "Process record: the program is not being run."
 msgstr ""
 
-#: record-full.c:834
+#: record-full.c:833
 msgid "Process record target can't debug inferior in non-stop mode (non-stop)."
 msgstr ""
 
-#: record-full.c:838
+#: record-full.c:837
 msgid ""
 "Process record: the current architecture doesn't support record function."
 msgstr ""
 
-#: record-full.c:1452
+#: record-full.c:1453
 msgid ""
 "Because GDB is in replay mode, changing the value of a register will make "
 "the execution log unusable from this point onward.  Change all registers?"
 msgstr ""
 
-#: record-full.c:1458
+#: record-full.c:1459
 #, possible-c-format
 msgid ""
 "Because GDB is in replay mode, changing the value of a register will make "
 "the execution log unusable from this point onward.  Change register %s?"
 msgstr ""
 
-#: record-full.c:1480 record-full.c:1514
+#: record-full.c:1481 record-full.c:1515
 msgid "Process record canceled the operation."
 msgstr ""
 
 #. Let user choose if he wants to write memory or not.
-#: record-full.c:1510
+#: record-full.c:1511
 #, possible-c-format
 msgid ""
 "Because GDB is in replay mode, writing to memory will make the execution log "
 "unusable from this point onward.  Write memory at address %s?"
 msgstr ""
 
-#: record-full.c:1741 reverse.c:272
+#: record-full.c:1746 reverse.c:271
 #, possible-c-format
 msgid "Unbalanced quotes: %s"
 msgstr ""
 
-#: record-full.c:1766
+#: record-full.c:1771
 msgid "Replay mode:\n"
 msgstr ""
 
-#: record-full.c:1768
+#: record-full.c:1773
 msgid "Record mode:\n"
 msgstr ""
 
 #. Display instruction number for first instruction in the log.
-#: record-full.c:1780
+#: record-full.c:1785
 #, possible-c-format
 msgid "Lowest recorded instruction number is %s.\n"
 msgstr ""
 
-#: record-full.c:1785
+#: record-full.c:1790
 #, possible-c-format
 msgid "Current instruction number is %s.\n"
 msgstr ""
 
 #. Display instruction number for last instruction in the log.
-#: record-full.c:1789
+#: record-full.c:1794
 #, possible-c-format
 msgid "Highest recorded instruction number is %s.\n"
 msgstr ""
 
 #. Display log count.
-#: record-full.c:1793
+#: record-full.c:1798
 #, possible-c-format
 msgid "Log contains %u instructions.\n"
 msgstr ""
 
-#: record-full.c:1797
+#: record-full.c:1802
 msgid "No instructions have been logged.\n"
 msgstr ""
 
 #. Display max log size.
-#: record-full.c:1800
+#: record-full.c:1805
 #, possible-c-format
 msgid "Max logged instructions is %u.\n"
 msgstr ""
 
-#: record-full.c:1826
+#: record-full.c:1831
 msgid "Target insn not found."
 msgstr ""
 
-#: record-full.c:1828
+#: record-full.c:1833
 msgid "Already at target insn."
 msgstr ""
 
-#: record-full.c:1831
+#: record-full.c:1836
 #, possible-c-format
 msgid "Go forward to insn number %s\n"
 msgstr ""
 
-#: record-full.c:1837
+#: record-full.c:1842
 #, possible-c-format
 msgid "Go backward to insn number %s\n"
 msgstr ""
 
-#: record-full.c:2000 record-full.c:2094 target.c:574
+#: record-full.c:2005 record-full.c:2099 target.c:575
 msgid "You can't do that without a process to debug."
 msgstr ""
 
-#: record-full.c:2224
+#: record-full.c:2229
 #, possible-c-format
 msgid "Failed to read %d bytes from core file %s ('%s')."
 msgstr ""
 
-#: record-full.c:2296
+#: record-full.c:2301
 #, possible-c-format
 msgid "Version mis-match or file format error in core file %s."
 msgstr ""
 
-#: record-full.c:2401
+#: record-full.c:2406
 #, possible-c-format
 msgid "Bad entry type in core file %s."
 msgstr ""
 
-#: record-full.c:2422
+#: record-full.c:2427
 #, possible-c-format
 msgid "Auto increase record/replay buffer limit to %u."
 msgstr ""
 
 #. Succeeded.
-#: record-full.c:2427
+#: record-full.c:2432
 #, possible-c-format
 msgid "Restored records from core file %s.\n"
 msgstr ""
 
-#: record-full.c:2443
+#: record-full.c:2448
 #, possible-c-format
 msgid "Failed to write %d bytes to core file %s ('%s')."
 msgstr ""
 
-#: record-full.c:2540
+#: record-full.c:2545
 #, possible-c-format
 msgid "Failed to create 'precord' section for corefile %s: %s"
 msgstr ""
 
 #. Succeeded.
-#: record-full.c:2671
+#: record-full.c:2676
 #, possible-c-format
 msgid "Saved core file %s with execution log.\n"
 msgstr ""
 
-#: record-full.c:2732
+#: record-full.c:2737
 msgid "\"set record full\" must be followed by an apporpriate subcommand.\n"
 msgstr ""
 
-#: record-full.c:2766
+#: record-full.c:2771
 msgid "Start full execution recording."
 msgstr ""
 
-#: record-full.c:2770
+#: record-full.c:2775
 msgid ""
 "Restore the execution log from a file.\n"
 "Argument is filename.  File must be created with 'record save'."
 msgstr ""
 
-#: record-full.c:2791
+#: record-full.c:2796
 msgid "Set whether record/replay stops when record/replay buffer becomes full."
 msgstr ""
 
-#: record-full.c:2792
+#: record-full.c:2797
 msgid ""
 "Show whether record/replay stops when record/replay buffer becomes full."
 msgstr ""
 
-#: record-full.c:2794
+#: record-full.c:2799
 msgid ""
 "Default is ON.\n"
 "When ON, if the record/replay buffer becomes full, ask user what to do.\n"
@@ -20982,93 +21430,93 @@ msgid ""
 "delete the oldest recorded instruction to make room for each new one."
 msgstr ""
 
-#: record-full.c:2811
+#: record-full.c:2816
 msgid "Set record/replay buffer limit."
 msgstr ""
 
-#: record-full.c:2812
+#: record-full.c:2817
 msgid "Show record/replay buffer limit."
 msgstr ""
 
-#: record-full.c:2812
+#: record-full.c:2817
 msgid ""
 "Set the maximum number of instructions to be stored in the\n"
 "record/replay buffer.  A value of either \"unlimited\" or zero means no\n"
 "limit.  Default is 200000."
 msgstr ""
 
-#: record-full.c:2829
+#: record-full.c:2834
 msgid ""
 "Set whether query if PREC cannot record memory change of next instruction."
 msgstr ""
 
-#: record-full.c:2831
+#: record-full.c:2836
 msgid ""
 "Show whether query if PREC cannot record memory change of next instruction."
 msgstr ""
 
-#: record-full.c:2833
+#: record-full.c:2838
 msgid ""
 "Default is OFF.\n"
 "When ON, query if PREC cannot record memory change of next instruction."
 msgstr ""
 
-#: regcache.c:1054
+#: regcache.c:1182
 msgid "PC register is not available"
 msgstr ""
 
-#: regcache.c:1060
+#: regcache.c:1188
 msgid "regcache_read_pc: Unable to find PC"
 msgstr ""
 
-#: regcache.c:1076
+#: regcache.c:1204
 msgid "regcache_write_pc: Unable to update PC"
 msgstr ""
 
-#: regcache.c:1090
+#: regcache.c:1218
 msgid "Register cache flushed.\n"
 msgstr ""
 
-#: regcache.c:1384
+#: regcache.c:1512
 msgid "Force gdb to flush its register cache (maintainer command)"
 msgstr ""
 
-#: regcache.c:1387
+#: regcache.c:1515
 msgid ""
 "Print the internal register configuration.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: regcache.c:1391
+#: regcache.c:1519
 msgid ""
 "Print the internal register configuration including raw values.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: regcache.c:1396
+#: regcache.c:1524
 msgid ""
 "Print the internal register configuration including cooked values.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: regcache.c:1401
+#: regcache.c:1529
 msgid ""
 "Print the internal register configuration including each register's group.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: regcache.c:1406
+#: regcache.c:1534
 msgid ""
 "Print the internal register configuration including each register's\n"
 "remote register number and buffer offset in the g/G packets.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: reggroups.c:248
+#: reggroups.c:247
 msgid "maintenance print reggroups"
 msgstr ""
 
-#: reggroups.c:289
+#: reggroups.c:288
 msgid ""
 "Print the internal register group names.\n"
 "Takes an optional file parameter."
@@ -21076,120 +21524,120 @@ msgstr ""
 
 #. malformed packet error
 #. general case:
-#: remote.c:474
+#: remote.c:466
 msgid "remote.c: error in outgoing packet."
 msgstr ""
 
-#: remote.c:476
+#: remote.c:468
 #, possible-c-format
 msgid "remote.c: error in outgoing packet at field #%ld."
 msgstr ""
 
-#: remote.c:479
+#: remote.c:471
 #, possible-c-format
 msgid "Target returns error code '%s'."
 msgstr ""
 
-#: remote.c:508
+#: remote.c:500
 #, possible-c-format
 msgid "invalid qRelocInsn packet: %s"
 msgstr ""
 
-#: remote.c:542
+#: remote.c:534
 msgid "warning: relocating instruction: "
 msgstr ""
 
-#: remote.c:797
+#: remote.c:789
 msgid ""
 "Send the ASCII ETX character (Ctrl-c) to the remote target to interrupt the "
 "execution of the program.\n"
 msgstr ""
 
-#: remote.c:802
+#: remote.c:794
 msgid ""
 "send a break signal to the remote target to interrupt the execution of the "
 "program.\n"
 msgstr ""
 
-#: remote.c:806
+#: remote.c:798
 msgid ""
 "Send a break signal and 'g' a.k.a. Magic SysRq g to the remote target to "
 "interrupt the execution of Linux kernel.\n"
 msgstr ""
 
-#: remote.c:811 remote.c:3208
+#: remote.c:803 remote.c:3288
 #, possible-c-format
 msgid "Invalid value for interrupt_sequence_mode: %s."
 msgstr ""
 
-#: remote.c:950
+#: remote.c:942
 msgid "Argument required (integer, `fixed' or `limited')."
 msgstr ""
 
-#: remote.c:963
+#: remote.c:955
 #, possible-c-format
 msgid "Invalid %s (bad syntax)."
 msgstr ""
 
-#: remote.c:970
+#: remote.c:962
 #, possible-c-format
 msgid "Invalid %s (too large)."
 msgstr ""
 
-#: remote.c:976
+#: remote.c:968
 #, possible-c-format
 msgid ""
 "The target may not be able to correctly handle a %s\n"
 "of %ld bytes. Change the packet size? "
 msgstr ""
 
-#: remote.c:979
+#: remote.c:971
 msgid "Packet size not changed."
 msgstr ""
 
-#: remote.c:989
+#: remote.c:981
 #, possible-c-format
 msgid "The %s is %ld. "
 msgstr ""
 
-#: remote.c:991
+#: remote.c:983
 #, possible-c-format
 msgid "Packets are fixed at %ld bytes.\n"
 msgstr ""
 
-#: remote.c:994
+#: remote.c:986
 #, possible-c-format
 msgid "Packets are limited to %ld bytes.\n"
 msgstr ""
 
-#: remote.c:1112
+#: remote.c:1104
 #, possible-c-format
 msgid "Support for the `%s' packet is auto-detected, currently %s.\n"
 msgstr ""
 
-#: remote.c:1118
+#: remote.c:1110
 #, possible-c-format
 msgid "Support for the `%s' packet is currently %s.\n"
 msgstr ""
 
-#: remote.c:1197
+#: remote.c:1189
 msgid "packet_ok: attempt to use a disabled packet"
 msgstr ""
 
 #. If the stub previously indicated that the packet was
 #. supported then there is a protocol error.
-#: remote.c:1221
+#: remote.c:1213
 #, possible-c-format
 msgid "Protocol error: %s (%s) conflicting enabled responses."
 msgstr ""
 
 #. The user set it wrong.
-#: remote.c:1227
+#: remote.c:1219
 #, possible-c-format
 msgid "Enabled packet %s (%s) not recognized by stub"
 msgstr ""
 
-#: remote.c:1391
+#: remote.c:1383
 #, possible-c-format
 msgid "Could not find config for %s"
 msgstr ""
@@ -21201,39 +21649,39 @@ msgstr ""
 #. Error of some sort.
 #. We're out of sync with the target now.  Did it continue or
 #. not?  Not is more likely, so report a stop.
-#: remote.c:1487 remote.c:2893 remote.c:2920 remote.c:3042 remote.c:4020
-#: remote.c:5750 remote.c:5857 remote.c:7070 remote.c:8391
+#: remote.c:1479 remote.c:2973 remote.c:3000 remote.c:3122 remote.c:4099
+#: remote.c:5842 remote.c:5949 remote.c:7162 remote.c:8483
 #, possible-c-format
 msgid "Remote failure reply: %s"
 msgstr ""
 
-#: remote.c:2028
+#: remote.c:2037
 #, possible-c-format
 msgid "invalid remote ptid: %s"
 msgstr ""
 
-#: remote.c:2302
+#: remote.c:2311
 msgid "Incomplete response to threadinfo request."
 msgstr ""
 
 #. This is an answer to a different request.
-#: remote.c:2305
+#: remote.c:2314
 msgid "ERROR RMT Thread info mismatch."
 msgstr ""
 
-#: remote.c:2319
+#: remote.c:2328
 msgid "ERROR RMT: threadinfo tag mismatch."
 msgstr ""
 
-#: remote.c:2327
+#: remote.c:2336
 msgid "ERROR RMT: length of threadid is not 16."
 msgstr ""
 
-#: remote.c:2342
+#: remote.c:2351
 msgid "ERROR RMT: 'exists' length too long."
 msgstr ""
 
-#: remote.c:2366
+#: remote.c:2375
 msgid "ERROR RMT: unknown thread info tag."
 msgstr ""
 
@@ -21245,760 +21693,755 @@ msgstr ""
 #. exit
 #. wait for packet, then exit
 #.
-#: remote.c:2469
+#: remote.c:2483
 msgid "HMM: threadlist did not echo arg thread, dropping it."
 msgstr ""
 
-#: remote.c:2476
+#: remote.c:2490
 msgid "RMT ERROR : failed to get remote thread list."
 msgstr ""
 
-#: remote.c:2484
+#: remote.c:2498
 msgid "RMT ERROR: threadlist response longer than requested."
 msgstr ""
 
-#: remote.c:2516
+#: remote.c:2526
 msgid "Remote fetch threadlist -infinite loop-."
 msgstr ""
 
-#. paranoia
-#: remote.c:2683
-msgid "Command can only be used when connected to the remote target."
-msgstr ""
-
-#: remote.c:2700
+#: remote.c:2715
 msgid "threads"
 msgstr ""
 
-#: remote.c:2810
+#: remote.c:2890
 msgid "remote_threads_extra_info"
 msgstr ""
 
-#: remote.c:3077 remote.c:3104
+#: remote.c:3157 remote.c:3184
 #, possible-c-format
 msgid "Target reported unsupported offsets: %s"
 msgstr ""
 
-#: remote.c:3102
+#: remote.c:3182
 #, possible-c-format
 msgid "Malformed response to offset query, %s"
 msgstr ""
 
-#: remote.c:3150
+#: remote.c:3230
 msgid "Can not handle qOffsets TextSeg response with this symbol file"
 msgstr ""
 
-#: remote.c:3396
+#: remote.c:3476
 msgid "Non-stop mode requested, but remote does not support non-stop"
 msgstr ""
 
-#: remote.c:3403
+#: remote.c:3483
 #, possible-c-format
 msgid "Remote refused setting non-stop mode with: %s"
 msgstr ""
 
-#: remote.c:3419
+#: remote.c:3499
 #, possible-c-format
 msgid "Remote refused setting all-stop mode with: %s"
 msgstr ""
 
-#: remote.c:3446 remote.c:3557
+#: remote.c:3526 remote.c:3637
 msgid "The target is not running (try extended-remote?)"
 msgstr ""
 
-#: remote.c:3573
+#: remote.c:3653
 msgid "remote didn't report the current thread in non-stop mode"
 msgstr ""
 
-#: remote.c:3599
+#: remote.c:3679
 msgid "Trace is already running on the target.\n"
 msgstr ""
 
-#: remote.c:3740
+#: remote.c:3819
 msgid ""
 "The remote protocol may be unreliable over UDP.\n"
 "Some events may be lost, rendering further debugging impossible."
 msgstr ""
 
-#: remote.c:3776
+#: remote.c:3855
 #, possible-c-format
 msgid "Remote refused setting permissions with: %s"
 msgstr ""
 
-#: remote.c:3813
+#: remote.c:3892
 #, possible-c-format
 msgid "Remote qSupported response supplied an unexpected value for \"%s\"."
 msgstr ""
 
-#: remote.c:3835
+#: remote.c:3914
 #, possible-c-format
 msgid "Remote target reported \"%s\" without a size."
 msgstr ""
 
-#: remote.c:3844
+#: remote.c:3923
 #, possible-c-format
 msgid "Remote target reported \"%s\" with a bad size: \"%s\"."
 msgstr ""
 
-#: remote.c:3851
+#: remote.c:3930
 #, possible-c-format
 msgid "limiting remote suggested packet size (%d bytes) to %d"
 msgstr ""
 
-#: remote.c:4050
+#: remote.c:4129
 msgid "empty item in \"qSupported\" response"
 msgstr ""
 
-#: remote.c:4081
+#: remote.c:4160
 #, possible-c-format
 msgid "unrecognized item \"%s\" in \"qSupported\" response"
 msgstr ""
 
-#: remote.c:4137
+#: remote.c:4216
 msgid ""
 "To open a remote debug connection, you need to specify what\n"
 "serial device is attached to the remote system\n"
 "(e.g. /dev/ttyS0, /dev/ttya, COM1, etc.)."
 msgstr ""
 
-#: remote.c:4151
+#: remote.c:4230
 msgid "Already connected to a remote target.  Disconnect? "
 msgstr ""
 
-#: remote.c:4152
+#: remote.c:4231
 msgid "Still connected."
 msgstr ""
 
-#: remote.c:4298 remote-mips.c:1756
+#: remote.c:4377 remote-mips.c:1744
 msgid "Argument given to \"detach\" when remotely debugging."
 msgstr ""
 
-#: remote.c:4301
+#: remote.c:4380
 msgid "No process to detach from."
 msgstr ""
 
-#: remote.c:4325
+#: remote.c:4404
 msgid "Remote doesn't know how to detach"
 msgstr ""
 
-#: remote.c:4327
+#: remote.c:4406
 msgid "Can't detach process."
 msgstr ""
 
-#: remote.c:4330
+#: remote.c:4409
 msgid "Ending remote debugging.\n"
 msgstr ""
 
-#: remote.c:4353
+#: remote.c:4432
 msgid "Argument given to \"disconnect\" when remotely debugging."
 msgstr ""
 
-#: remote.c:4381 remote.c:4417
+#: remote.c:4460 remote.c:4496
 msgid "This target does not support attaching to a process"
 msgstr ""
 
-#: remote.c:4412
+#: remote.c:4491
 #, possible-c-format
 msgid "Attaching to %s failed with: %s"
 msgstr ""
 
-#: remote.c:4419
+#: remote.c:4498
 #, possible-c-format
 msgid "Attaching to %s failed"
 msgstr ""
 
-#: remote.c:4718
+#: remote.c:4810
 #, possible-c-format
 msgid "Unexpected vCont reply in non-stop mode: %s"
 msgstr ""
 
-#: remote.c:4763
+#: remote.c:4855
 #, possible-c-format
 msgid " - Can't pass signal %d to target in reverse: ignored."
 msgstr ""
 
-#: remote.c:4767
+#: remote.c:4859
 msgid "Remote reverse-step not supported."
 msgstr ""
 
-#: remote.c:4769
+#: remote.c:4861
 msgid "Remote reverse-continue not supported."
 msgstr ""
 
-#: remote.c:4910
+#: remote.c:5002
 msgid "Remote server does not support stopping threads"
 msgstr ""
 
-#: remote.c:4943
+#: remote.c:5035
 #, possible-c-format
 msgid "Stopping %s failed: %s"
 msgstr ""
 
 #. We got an unknown stop reply.
-#: remote.c:5137
+#: remote.c:5229
 msgid "Unknown stop reply"
 msgstr ""
 
-#: remote.c:5440
+#: remote.c:5532
 #, possible-c-format
 msgid ""
 "Malformed packet(a) (missing colon): %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:5495
+#: remote.c:5587
 #, possible-c-format
 msgid ""
 "Malformed packet(b) (missing colon): %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:5501
+#: remote.c:5593
 #, possible-c-format
 msgid ""
 "Remote sent bad register number %s: %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:5513
+#: remote.c:5605
 #, possible-c-format
 msgid "Remote reply is too short: %s"
 msgstr ""
 
-#: remote.c:5519
+#: remote.c:5611
 #, possible-c-format
 msgid ""
 "Remote register badly formatted: %s\n"
 "here: %s"
 msgstr ""
 
-#: remote.c:5588 remote.c:5591
+#: remote.c:5680 remote.c:5683
 #, possible-c-format
 msgid "unknown stop reply packet: %s"
 msgstr ""
 
-#: remote.c:5598
+#: remote.c:5690
 #, possible-c-format
 msgid "No process or thread specified in stop reply: %s"
 msgstr ""
 
-#: remote.c:5756 remote.c:5903
+#: remote.c:5848 remote.c:5995
 #, possible-c-format
 msgid "Invalid remote reply: %s"
 msgstr ""
 
-#: remote.c:5990
+#: remote.c:6082
 #, possible-c-format
 msgid "Could not fetch register \"%s\"; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:6009
+#: remote.c:6101
 msgid "fetch_register_using_p: early buf termination"
 msgstr ""
 
-#: remote.c:6047
+#: remote.c:6139
 #, possible-c-format
 msgid "Remote 'g' packet reply is of odd length: %s"
 msgstr ""
 
-#: remote.c:6066
+#: remote.c:6158
 #, possible-c-format
 msgid "Remote 'g' packet reply is too long: %s"
 msgstr ""
 
-#: remote.c:6109 remote.c:6127
+#: remote.c:6201 remote.c:6219
 msgid "unexpected end of 'g' packet reply"
 msgstr ""
 
-#: remote.c:6169
+#: remote.c:6261
 msgid "could not set remote traceframe"
 msgstr ""
 
-#: remote.c:6277
+#: remote.c:6369
 #, possible-c-format
 msgid "Could not write register \"%s\"; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:6282 remote.c:7731
+#: remote.c:6374 remote.c:7823
 msgid "Bad result from packet_ok"
 msgstr ""
 
-#: remote.c:6323
+#: remote.c:6415
 #, possible-c-format
 msgid "Could not write registers; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:6536
+#: remote.c:6628
 msgid "remote_write_bytes_aux: bad packet format"
 msgstr ""
 
-#: remote.c:6583
+#: remote.c:6675
 msgid "minimum packet size too small to write data"
 msgstr ""
 
-#: remote.c:6695
+#: remote.c:6787
 msgid "remote_write_bytes: bad internal state"
 msgstr ""
 
-#: remote.c:6895
+#: remote.c:6987
 msgid "Too long remote packet."
 msgstr ""
 
-#: remote.c:6898 remote.c:9023
+#: remote.c:6990 remote.c:9113
 msgid "Communication problem with target."
 msgstr ""
 
-#: remote.c:6937
+#: remote.c:7029
 msgid "Remote target does not support flash erase"
 msgstr ""
 
-#: remote.c:6939
+#: remote.c:7031
 msgid "Error erasing flash with vFlashErase packet"
 msgstr ""
 
-#: remote.c:6980
+#: remote.c:7072
 msgid "Remote target does not support vFlashDone"
 msgstr ""
 
-#: remote.c:6982
+#: remote.c:7074
 msgid "Error finishing flash operation"
 msgstr ""
 
-#: remote.c:7030 remote-m32r-sdi.c:723 remote-m32r-sdi.c:729
-#: remote-m32r-sdi.c:745
+#: remote.c:7122 remote-m32r-sdi.c:722 remote-m32r-sdi.c:728
+#: remote-m32r-sdi.c:744
 msgid "Remote connection closed"
 msgstr ""
 
-#: remote.c:7033 remote.c:7052
+#: remote.c:7125 remote.c:7144
 msgid "Remote communication error.  Target disconnected."
 msgstr ""
 
-#: remote.c:7139
+#: remote.c:7231
 msgid ""
 "Cannot execute this command while the target is running.\n"
 "Use the \"interrupt\" command to stop the target\n"
 "and then try again."
 msgstr ""
 
-#: remote.c:7467
+#: remote.c:7559
 #, possible-c-format
 msgid "Invalid run length encoding: %s\n"
 msgstr ""
 
-#: remote.c:7576
+#: remote.c:7668
 msgid "Watchdog timeout has expired.  Target detached."
 msgstr ""
 
 #. We have tried hard enough, and just can't receive the
 #. packet/notification.  Give up.
-#: remote.c:7598
+#: remote.c:7690
 msgid "Ignoring packet error, continuing...\n"
 msgstr ""
 
-#: remote.c:7761
+#: remote.c:7853
 msgid "Can't kill process"
 msgstr ""
 
-#: remote.c:7866
+#: remote.c:7958
 msgid "Target does not support QDisableRandomization."
 msgstr ""
 
-#: remote.c:7868
+#: remote.c:7960
 #, possible-c-format
 msgid "Bogus QDisableRandomization reply from target: %s"
 msgstr ""
 
-#: remote.c:7886
+#: remote.c:7978
 msgid "Remote file name too long for run packet"
 msgstr ""
 
-#: remote.c:7902
+#: remote.c:7994
 msgid "Argument list too long for run packet"
 msgstr ""
 
-#: remote.c:7924
+#: remote.c:8016
 msgid ""
 "Running the default executable on the remote target failed; try \"set remote "
 "exec-file\"?"
 msgstr ""
 
-#: remote.c:7927
+#: remote.c:8019
 #, possible-c-format
 msgid "Running \"%s\" on the remote target failed"
 msgstr ""
 
-#: remote.c:7965
+#: remote.c:8057
 msgid "Remote target does not support \"set remote exec-file\""
 msgstr ""
 
-#: remote.c:7967
+#: remote.c:8059
 msgid "Remote target does not support \"set args\" or run <ARGS>"
 msgstr ""
 
-#: remote.c:8121
+#: remote.c:8213
 msgid "Target doesn't support breakpoints that have target side commands."
 msgstr ""
 
-#: remote.c:8178
+#: remote.c:8270
 #, possible-c-format
 msgid "hw_bp_to_z: bad watchpoint type %d"
 msgstr ""
 
-#: remote.c:8219
+#: remote.c:8311
 msgid "remote_insert_watchpoint: reached end of function"
 msgstr ""
 
-#: remote.c:8267
+#: remote.c:8359
 msgid "remote_remove_watchpoint: reached end of function"
 msgstr ""
 
-#: remote.c:8400
+#: remote.c:8494
 msgid "remote_insert_hw_breakpoint: reached end of function"
 msgstr ""
 
-#: remote.c:8441
+#: remote.c:8535
 msgid "remote_remove_hw_breakpoint: reached end of function"
 msgstr ""
 
-#: remote.c:8511
+#: remote.c:8605
 msgid "command cannot be used without an exec file"
 msgstr ""
 
-#: remote.c:8548
+#: remote.c:8642
 #, possible-c-format
 msgid "target memory fault, section %s, range %s -- %s"
 msgstr ""
 
-#: remote.c:8566
+#: remote.c:8660
 msgid ""
 "One or more sections of the target image does not match\n"
 "the loaded file\n"
 msgstr ""
 
-#: remote.c:8569
+#: remote.c:8663
 #, possible-c-format
 msgid "No loaded section named '%s'.\n"
 msgstr ""
 
-#: remote.c:8669
+#: remote.c:8763
 #, possible-c-format
 msgid "Unknown remote qXfer reply: %s"
 msgstr ""
 
-#: remote.c:8675
+#: remote.c:8769
 msgid "Remote qXfer reply contained no data."
 msgstr ""
 
-#: remote.c:8870
+#: remote.c:8960
 msgid "remote query is only available after target open"
 msgstr ""
 
-#: remote.c:8965
+#: remote.c:9055
 msgid "Pattern is too large to transmit to remote target."
 msgstr ""
 
-#: remote.c:8987 remote.c:8992
+#: remote.c:9077 remote.c:9082
 #, possible-c-format
 msgid "Unknown qSearch:memory reply: %s"
 msgstr ""
 
-#: remote.c:9005
+#: remote.c:9095
 msgid "remote rcmd is only available after target open"
 msgstr ""
 
-#: remote.c:9017
+#: remote.c:9107
 #, possible-c-format
 msgid "\"monitor\" command ``%s'' is too long."
 msgstr ""
 
-#: remote.c:9044 remote.c:10352 remote.c:10639 remote.c:10735 remote.c:10843
-#: remote.c:10894 remote.c:10972 remote.c:11035 remote.c:11063
+#: remote.c:9134 remote.c:10442 remote.c:10729 remote.c:10825 remote.c:10933
+#: remote.c:10984 remote.c:11062 remote.c:11125 remote.c:11153
 msgid "Target does not support this command."
 msgstr ""
 
-#: remote.c:9055
+#: remote.c:9145
 msgid "Protocol error with Rcmd"
 msgstr ""
 
-#: remote.c:9091 remote.c:10043 remote.c:10134 remote.c:10188
+#: remote.c:9181 remote.c:10133 remote.c:10224 remote.c:10278
 msgid "command can only be used with remote target"
 msgstr ""
 
-#: remote.c:9094
+#: remote.c:9184
 msgid "remote-packet command requires packet text as argument"
 msgstr ""
 
-#: remote.c:9135
+#: remote.c:9225
 msgid "Remote threadset test\n"
 msgstr ""
 
-#: remote.c:9241
+#: remote.c:9331
 msgid "Fetch and print the remote list of thread identifiers, one pkt only"
 msgstr ""
 
-#: remote.c:9244
+#: remote.c:9334
 msgid "Fetch and display info about one thread"
 msgstr ""
 
-#: remote.c:9246
+#: remote.c:9336
 msgid "Test setting to a different thread"
 msgstr ""
 
-#: remote.c:9248
+#: remote.c:9338
 msgid "Iterate through updating all remote thread info"
 msgstr ""
 
-#: remote.c:9250
+#: remote.c:9340
 msgid " Remote thread alive test "
 msgstr ""
 
-#: remote.c:9337
+#: remote.c:9427
 msgid "Remote target doesn't support qGetTLSAddr packet"
 msgstr ""
 
-#: remote.c:9340
+#: remote.c:9430
 msgid "Remote target failed to process qGetTLSAddr request"
 msgstr ""
 
-#: remote.c:9344
+#: remote.c:9434
 msgid "TLS not supported or disabled on this target"
 msgstr ""
 
-#: remote.c:9381
+#: remote.c:9471
 msgid "Remote target doesn't support qGetTIBAddr packet"
 msgstr ""
 
-#: remote.c:9383
+#: remote.c:9473
 msgid "Remote target failed to process qGetTIBAddr request"
 msgstr ""
 
-#: remote.c:9386
+#: remote.c:9476
 msgid "qGetTIBAddr not supported or disabled on this target"
 msgstr ""
 
-#: remote.c:9434
+#: remote.c:9524
 #, possible-c-format
 msgid "Duplicate g packet description added for size %d"
 msgstr ""
 
-#: remote.c:9501 remote.c:9522 remote.c:9544
+#: remote.c:9591 remote.c:9612 remote.c:9634
 msgid "Packet too long for target."
 msgstr ""
 
-#: remote.c:9779
+#: remote.c:9869
 #, possible-c-format
 msgid "Read returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:9855
+#: remote.c:9945
 #, possible-c-format
 msgid "Readlink returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:9918
+#: remote.c:10008
 #, possible-c-format
 msgid "Unknown remote I/O error %d"
 msgstr ""
 
-#: remote.c:9920
+#: remote.c:10010
 #, possible-c-format
 msgid "Remote I/O error: %s"
 msgstr ""
 
-#: remote.c:10078
+#: remote.c:10168
 #, possible-c-format
 msgid "Error reading %s."
 msgstr ""
 
-#: remote.c:10102
+#: remote.c:10192
 #, possible-c-format
 msgid "Remote write of %d bytes returned 0!"
 msgstr ""
 
-#: remote.c:10119
+#: remote.c:10209
 #, possible-c-format
 msgid "Successfully sent file \"%s\".\n"
 msgstr ""
 
-#: remote.c:10177
+#: remote.c:10267
 #, possible-c-format
 msgid "Successfully fetched file \"%s\".\n"
 msgstr ""
 
-#: remote.c:10196
+#: remote.c:10286
 #, possible-c-format
 msgid "Successfully deleted file \"%s\".\n"
 msgstr ""
 
-#: remote.c:10206
+#: remote.c:10296
 msgid "file to put"
 msgstr ""
 
-#: remote.c:10211
+#: remote.c:10301
 msgid "Invalid parameters to remote put"
 msgstr ""
 
-#: remote.c:10225
+#: remote.c:10315
 msgid "file to get"
 msgstr ""
 
-#: remote.c:10230
+#: remote.c:10320
 msgid "Invalid parameters to remote get"
 msgstr ""
 
-#: remote.c:10244
+#: remote.c:10334
 msgid "file to delete"
 msgstr ""
 
-#: remote.c:10249
+#: remote.c:10339
 msgid "Invalid parameters to remote delete"
 msgstr ""
 
-#: remote.c:10397 remote.c:10412 remote.c:10573 remote.c:10584
+#: remote.c:10487 remote.c:10502 remote.c:10663 remote.c:10674
 msgid "Target does not support source download."
 msgstr ""
 
-#: remote.c:10466
+#: remote.c:10556
 msgid "Fast tracepoint not valid during download"
 msgstr ""
 
 #. Fast tracepoints are functionally identical to regular
 #. tracepoints, so don't take lack of support as a reason to
 #. give up on the trace run.
-#: remote.c:10473
+#: remote.c:10563
 #, possible-c-format
 msgid ""
 "Target does not support fast tracepoints, downloading %d as regular "
 "tracepoint"
 msgstr ""
 
-#: remote.c:10487
+#: remote.c:10577
 msgid "Static tracepoint not valid during download"
 msgstr ""
 
 #. Fast tracepoints are functionally identical to regular
 #. tracepoints, so don't take lack of support as a reason
 #. to give up on the trace run.
-#: remote.c:10493
+#: remote.c:10583
 msgid "Target does not support static tracepoints"
 msgstr ""
 
-#: remote.c:10514
+#: remote.c:10604
 #, possible-c-format
 msgid "Target does not support conditional tracepoints, ignoring tp %d cond"
 msgstr ""
 
-#: remote.c:10523
+#: remote.c:10613
 msgid "Target does not support tracepoints."
 msgstr ""
 
-#: remote.c:10540 remote.c:10557
+#: remote.c:10630 remote.c:10647
 msgid "Error on target while setting tracepoints."
 msgstr ""
 
-#: remote.c:10633
+#: remote.c:10723
 msgid "Trace state variable name too long for tsv definition packet"
 msgstr ""
 
-#: remote.c:10641
+#: remote.c:10731
 msgid "Error on target while downloading trace state variable."
 msgstr ""
 
-#: remote.c:10657
+#: remote.c:10747
 msgid ""
 "Target does not support enabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:10659
+#: remote.c:10749
 msgid "Error on target while enabling tracepoint."
 msgstr ""
 
-#: remote.c:10675
+#: remote.c:10765
 msgid ""
 "Target does not support disabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:10677
+#: remote.c:10767
 msgid "Error on target while disabling tracepoint."
 msgstr ""
 
-#: remote.c:10714
+#: remote.c:10804
 msgid "Too many sections for read-only sections definition packet."
 msgstr ""
 
-#: remote.c:10737 remote.c:10845 remote.c:10919 remote.c:10922 remote.c:10974
-#: remote.c:11037 remote.c:11065 remote.c:11149 remote.c:11195
+#: remote.c:10827 remote.c:10935 remote.c:11009 remote.c:11012 remote.c:11064
+#: remote.c:11127 remote.c:11155 remote.c:11239 remote.c:11285
 #, possible-c-format
 msgid "Bogus reply from target: %s"
 msgstr ""
 
-#: remote.c:10781
+#: remote.c:10871
 #, possible-c-format
 msgid "Bogus trace status reply from target: %s"
 msgstr ""
 
-#: remote.c:10888
+#: remote.c:10978
 #, possible-c-format
 msgid "Unknown trace find type %d"
 msgstr ""
 
-#: remote.c:10903
+#: remote.c:10993
 msgid "Unable to parse trace frame number"
 msgstr ""
 
-#: remote.c:10913
+#: remote.c:11003
 msgid "Unable to parse tracepoint number"
 msgstr ""
 
-#: remote.c:10966
+#: remote.c:11056
 msgid "Remote file name too long for trace save packet"
 msgstr ""
 
-#: remote.c:11040
+#: remote.c:11130
 msgid "Target does not support disconnected tracing."
 msgstr ""
 
-#: remote.c:11272
+#: remote.c:11362
 #, possible-c-format
 msgid "Could not enable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:11275
+#: remote.c:11365
 #, possible-c-format
 msgid "Could not enable branch tracing for %s."
 msgstr ""
 
-#: remote.c:11308
+#: remote.c:11398
 #, possible-c-format
 msgid "Could not disable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:11311
+#: remote.c:11401
 #, possible-c-format
 msgid "Could not disable branch tracing for %s."
 msgstr ""
 
-#: remote.c:11346
+#: remote.c:11436
 msgid "Cannot process branch tracing result. XML parsing not supported."
 msgstr ""
 
-#: remote.c:11362
+#: remote.c:11452
 #, possible-c-format
 msgid "Bad branch tracing read type: %u."
 msgstr ""
 
-#: remote.c:11717
+#: remote.c:11808
 #, possible-c-format
 msgid "Debugger's willingness to use range stepping is %s.\n"
 msgstr ""
 
-#: remote.c:11743
+#: remote.c:11834
 msgid "Range stepping is not supported by the current target"
 msgstr ""
 
 #. set/show remote ...
 #. allow-unknown
-#: remote.c:11790 remote.c:11796
+#: remote.c:11881 remote.c:11887
 msgid ""
 "Remote protocol specific variables\n"
 "Configure various remote-protocol specific variables such as\n"
@@ -22006,14 +22449,14 @@ msgid ""
 msgstr ""
 
 #. allow-unknown
-#: remote.c:11803
+#: remote.c:11894
 msgid ""
 "Compare section data on target to the exec file.\n"
 "Argument is a single section name (default: all loaded sections).\n"
 "To compare only read-only loaded sections, specify the -r option."
 msgstr ""
 
-#: remote.c:11809
+#: remote.c:11900
 msgid ""
 "Send an arbitrary packet to a remote target.\n"
 "   maintenance packet TEXT\n"
@@ -22023,57 +22466,57 @@ msgid ""
 "terminating `#' character and checksum."
 msgstr ""
 
-#: remote.c:11818
+#: remote.c:11909
 msgid "Set whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:11819
+#: remote.c:11910
 msgid "Show whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:11820
+#: remote.c:11911
 msgid "If set, a break, instead of a cntrl-c, is sent to the remote target."
 msgstr ""
 
-#: remote.c:11833
+#: remote.c:11924
 msgid "Set interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:11834
+#: remote.c:11925
 msgid "Show interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:11835
+#: remote.c:11926
 msgid ""
 "Valid value is \"Ctrl-C\", \"BREAK\" or \"BREAK-g\". The default is \"Ctrl-C"
 "\"."
 msgstr ""
 
-#: remote.c:11842
+#: remote.c:11933
 msgid ""
 "Set whether interrupt-sequence is sent to remote target when gdb connects to."
 msgstr ""
 
-#: remote.c:11843
+#: remote.c:11934
 msgid ""
 "\t\tShow whether interrupt-sequence is sent to remote target when gdb "
 "connects to."
 msgstr ""
 
-#: remote.c:11844
+#: remote.c:11935
 msgid "\t\tIf set, interrupt sequence is sent to remote target."
 msgstr ""
 
 #. Install commands for configuring memory read/write packets.
-#: remote.c:11851
+#: remote.c:11942
 msgid "Set the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:11854
+#: remote.c:11945
 msgid "Show the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:11858
+#: remote.c:11949
 msgid ""
 "Set the maximum number of bytes per memory-write packet.\n"
 "Specify the number of bytes in a packet or 0 (zero) for the\n"
@@ -22082,7 +22525,7 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:11866
+#: remote.c:11957
 msgid ""
 "Set the maximum number of bytes per memory-read packet.\n"
 "Specify the number of bytes in a packet or 0 (zero) for the\n"
@@ -22091,99 +22534,99 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:11875
+#: remote.c:11966
 msgid "Show the maximum number of bytes per memory-write packet."
 msgstr ""
 
-#: remote.c:11879
+#: remote.c:11970
 msgid "Show the maximum number of bytes per memory-read packet."
 msgstr ""
 
-#: remote.c:11883
+#: remote.c:11974
 msgid "Set the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:11884
+#: remote.c:11975
 msgid "Show the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:11885 remote.c:11894 remote.c:11903
+#: remote.c:11976 remote.c:11985 remote.c:11994
 msgid "Specify a negative limit for unlimited."
 msgstr ""
 
-#: remote.c:11892
+#: remote.c:11983
 msgid "Set the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:11893
+#: remote.c:11984
 msgid "Show the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:11901
+#: remote.c:11992
 msgid "Set the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:11902
+#: remote.c:11993
 msgid "Show the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:11911
+#: remote.c:12002
 msgid "Set the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:11912
+#: remote.c:12003
 msgid "Show the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:12142
+#: remote.c:12233
 msgid "Set use of remote protocol `Z' packets"
 msgstr ""
 
-#: remote.c:12143
+#: remote.c:12234
 msgid "Show use of remote protocol `Z' packets "
 msgstr ""
 
-#: remote.c:12144
+#: remote.c:12235
 msgid ""
 "When set, GDB will attempt to use the remote breakpoint and watchpoint\n"
 "packets."
 msgstr ""
 
-#: remote.c:12153
+#: remote.c:12244
 msgid ""
 "Manipulate files on the remote system\n"
 "Transfer files to and from the remote target system."
 msgstr ""
 
-#: remote.c:12160
+#: remote.c:12251
 msgid "Copy a local file to the remote system."
 msgstr ""
 
-#: remote.c:12164
+#: remote.c:12255
 msgid "Copy a remote file to the local system."
 msgstr ""
 
-#: remote.c:12168
+#: remote.c:12259
 msgid "Delete a remote file."
 msgstr ""
 
-#: remote.c:12173
+#: remote.c:12264
 msgid "Set the remote pathname for \"run\""
 msgstr ""
 
-#: remote.c:12174
+#: remote.c:12265
 msgid "Show the remote pathname for \"run\""
 msgstr ""
 
-#: remote.c:12179
+#: remote.c:12270
 msgid "Enable or disable range stepping."
 msgstr ""
 
-#: remote.c:12180
+#: remote.c:12271
 msgid "Show whether target-assisted range stepping is enabled."
 msgstr ""
 
-#: remote.c:12181
+#: remote.c:12272
 msgid ""
 "If on, and the target supports it, when stepping a source line, GDB\n"
 "tells the target to step the corresponding range of addresses itself "
@@ -22193,165 +22636,165 @@ msgid ""
 "stepping is supported by the target.  The default is on."
 msgstr ""
 
-#: remote-fileio.c:1452
+#: remote-fileio.c:1450
 msgid "Illegal argument for \"set remote system-call-allowed\" command"
 msgstr ""
 
-#: remote-fileio.c:1459
+#: remote-fileio.c:1457
 #, possible-c-format
 msgid "Garbage after \"show remote system-call-allowed\" command: `%s'"
 msgstr ""
 
-#: remote-fileio.c:1474
+#: remote-fileio.c:1472
 msgid "Set if the host system(3) call is allowed for the target."
 msgstr ""
 
-#: remote-fileio.c:1478
+#: remote-fileio.c:1476
 msgid "Show if the host system(3) call is allowed for the target."
 msgstr ""
 
-#: remote-m32r-sdi.c:329
+#: remote-m32r-sdi.c:328
 msgid "Cannot pass arguments to remote STDEBUG process"
 msgstr ""
 
-#: remote-m32r-sdi.c:332 remote-mips.c:2354
+#: remote-m32r-sdi.c:331 remote-mips.c:2343
 msgid "No executable file specified"
 msgstr ""
 
-#: remote-m32r-sdi.c:391
+#: remote-m32r-sdi.c:390
 msgid "Connection refused."
 msgstr ""
 
-#: remote-m32r-sdi.c:394 remote-m32r-sdi.c:397
+#: remote-m32r-sdi.c:393 remote-m32r-sdi.c:396
 msgid "Cannot connect to SDI target."
 msgstr ""
 
-#: remote-m32r-sdi.c:1212
+#: remote-m32r-sdi.c:1211
 msgid "Too many breakpoints"
 msgstr ""
 
-#: remote-m32r-sdi.c:1280
+#: remote-m32r-sdi.c:1273
 #, possible-c-format
 msgid "Unknown option `%s'"
 msgstr ""
 
-#: remote-m32r-sdi.c:1295 symfile.c:2148
+#: remote-m32r-sdi.c:1285 symfile.c:2144
 #, possible-c-format
 msgid "\"%s\" is not an object file: %s"
 msgstr ""
 
-#: remote-m32r-sdi.c:1346
+#: remote-m32r-sdi.c:1336
 #, possible-c-format
 msgid "Error while downloading %s section."
 msgstr ""
 
-#: remote-m32r-sdi.c:1467
+#: remote-m32r-sdi.c:1457
 msgid "Too many watchpoints"
 msgstr ""
 
-#: remote-m32r-sdi.c:1710
+#: remote-m32r-sdi.c:1700
 msgid "Reset SDI connection."
 msgstr ""
 
-#: remote-m32r-sdi.c:1713
+#: remote-m32r-sdi.c:1703
 msgid "Show status of SDI connection."
 msgstr ""
 
-#: remote-m32r-sdi.c:1716
+#: remote-m32r-sdi.c:1706
 msgid "Debug M32R/Chaos."
 msgstr ""
 
-#: remote-m32r-sdi.c:1719
+#: remote-m32r-sdi.c:1709
 msgid "Use debug DMA mem access."
 msgstr ""
 
-#: remote-m32r-sdi.c:1721
+#: remote-m32r-sdi.c:1711
 msgid "Use mon code mem access."
 msgstr ""
 
-#: remote-m32r-sdi.c:1724
+#: remote-m32r-sdi.c:1714
 msgid "Set breakpoints by IB break."
 msgstr ""
 
-#: remote-m32r-sdi.c:1726
+#: remote-m32r-sdi.c:1716
 msgid "Set breakpoints by dbt."
 msgstr ""
 
-#: remote-mips.c:507
+#: remote-mips.c:495
 msgid "Ending remote MIPS debugging: "
 msgstr ""
 
-#: remote-mips.c:676
+#: remote-mips.c:664
 msgid "Watchdog has expired.  Target detached."
 msgstr ""
 
-#: remote-mips.c:680
+#: remote-mips.c:668
 msgid "End of file from remote"
 msgstr ""
 
-#: remote-mips.c:682
+#: remote-mips.c:670
 #, possible-c-format
 msgid "Error reading from remote: %s"
 msgstr ""
 
 #. At this point, about the only thing we can do is abort the command
 #. in progress and get back to command level as quickly as possible.
-#: remote-mips.c:717
+#: remote-mips.c:705
 msgid "Remote board reset, debug protocol re-initialized."
 msgstr ""
 
-#: remote-mips.c:775
+#: remote-mips.c:763
 #, possible-c-format
 msgid "Debug protocol failure:  more than %d characters before a sync."
 msgstr ""
 
-#: remote-mips.c:865
+#: remote-mips.c:853
 #, possible-c-format
 msgid "MIPS protocol data packet too long: %s"
 msgstr ""
 
-#: remote-mips.c:903 remote-mips.c:1163 remote-mips.c:1204
+#: remote-mips.c:891 remote-mips.c:1151 remote-mips.c:1192
 #, possible-c-format
 msgid "write to target failed: %s"
 msgstr ""
 
-#: remote-mips.c:1010
+#: remote-mips.c:998
 msgid "Remote did not acknowledge packet"
 msgstr ""
 
-#: remote-mips.c:1041 remote-mips.c:1081
+#: remote-mips.c:1029 remote-mips.c:1069
 msgid "Timed out waiting for remote packet"
 msgstr ""
 
-#: remote-mips.c:1103
+#: remote-mips.c:1091
 msgid "Timed out waiting for packet"
 msgstr ""
 
-#: remote-mips.c:1261
+#: remote-mips.c:1249
 msgid "mips_request: Trying to send command before reply"
 msgstr ""
 
-#: remote-mips.c:1281
+#: remote-mips.c:1269
 msgid "mips_request: Trying to get reply before command"
 msgstr ""
 
-#: remote-mips.c:1292
+#: remote-mips.c:1280
 msgid "Bad response from remote board"
 msgstr ""
 
-#: remote-mips.c:1368
+#: remote-mips.c:1356
 msgid "Failed to initialize (didn't receive packet)."
 msgstr ""
 
-#: remote-mips.c:1424
+#: remote-mips.c:1412
 msgid "internal error: mips_initialize called twice"
 msgstr ""
 
-#: remote-mips.c:1500
+#: remote-mips.c:1488
 msgid "Failed to initialize."
 msgstr ""
 
-#: remote-mips.c:1557
+#: remote-mips.c:1545
 msgid ""
 "To open a MIPS remote debugging connection, you need to specify what\n"
 "serial device is attached to the target board (e.g., /dev/ttya).\n"
@@ -22363,84 +22806,84 @@ msgid ""
 "seen from the board via TFTP, specify that name as the third parameter.\n"
 msgstr ""
 
-#: remote-mips.c:1611
+#: remote-mips.c:1599
 msgid "Unable to open UDP port"
 msgstr ""
 
-#: remote-mips.c:1860
+#: remote-mips.c:1848
 #, possible-c-format
 msgid "Remote failure: %s"
 msgstr ""
 
-#: remote-mips.c:2058
+#: remote-mips.c:2046
 #, possible-c-format
 msgid "Can't read register %d: %s"
 msgstr ""
 
-#: remote-mips.c:2097
+#: remote-mips.c:2085
 #, possible-c-format
 msgid "Can't write register %d: %s"
 msgstr ""
 
-#: remote-mips.c:2347
+#: remote-mips.c:2336
 msgid "Can't pass arguments to remote MIPS board; arguments ignored."
 msgstr ""
 
-#: remote-mips.c:2609
+#: remote-mips.c:2601
 #, possible-c-format
 msgid "mips_common_breakpoint: Attempt to clear bogus breakpoint at %s"
 msgstr ""
 
-#: remote-mips.c:2624 remote-mips.c:2677 remote-mips.c:2749
+#: remote-mips.c:2616 remote-mips.c:2669 remote-mips.c:2741
 #, possible-c-format
 msgid "mips_common_breakpoint: Bad response from remote board: %s"
 msgstr ""
 
-#: remote-mips.c:2788
+#: remote-mips.c:2780
 msgid "Timeout during download."
 msgstr ""
 
-#: remote-mips.c:2798
+#: remote-mips.c:2790
 #, possible-c-format
 msgid "Download got unexpected ack char: 0x%x, retrying."
 msgstr ""
 
-#: remote-mips.c:3557
+#: remote-mips.c:3549
 msgid "mips_load:  Couldn't get into monitor mode."
 msgstr ""
 
-#: remote-mips.c:3715
+#: remote-mips.c:3707
 msgid "Set timeout in seconds for remote MIPS serial I/O."
 msgstr ""
 
-#: remote-mips.c:3716
+#: remote-mips.c:3708
 msgid "Show timeout in seconds for remote MIPS serial I/O."
 msgstr ""
 
-#: remote-mips.c:3723
+#: remote-mips.c:3715
 msgid "Set retransmit timeout in seconds for remote MIPS serial I/O."
 msgstr ""
 
-#: remote-mips.c:3724
+#: remote-mips.c:3716
 msgid "Show retransmit timeout in seconds for remote MIPS serial I/O."
 msgstr ""
 
-#: remote-mips.c:3725
+#: remote-mips.c:3717
 msgid ""
 "This is the number of seconds to wait for an acknowledgement to a packet\n"
 "before resending the packet."
 msgstr ""
 
-#: remote-mips.c:3733
+#: remote-mips.c:3725
 msgid "Set the maximum number of characters to ignore when scanning for a SYN."
 msgstr ""
 
-#: remote-mips.c:3734
+#: remote-mips.c:3726
 msgid ""
 "Show the maximum number of characters to ignore when scanning for a SYN."
 msgstr ""
 
-#: remote-mips.c:3735
+#: remote-mips.c:3727
 msgid ""
 "This is the maximum number of characters GDB will ignore when trying to\n"
 "synchronize with the remote system.  A value of -1 means that there is no\n"
@@ -22448,125 +22891,125 @@ msgid ""
 "ignored.)"
 msgstr ""
 
-#: remote-mips.c:3745
+#: remote-mips.c:3737
 msgid "Set the prompt that GDB expects from the monitor."
 msgstr ""
 
-#: remote-mips.c:3746
+#: remote-mips.c:3738
 msgid "Show the prompt that GDB expects from the monitor."
 msgstr ""
 
-#: remote-mips.c:3753
+#: remote-mips.c:3745
 msgid "Set printing of monitor warnings."
 msgstr ""
 
-#: remote-mips.c:3754
+#: remote-mips.c:3746
 msgid "Show printing of monitor warnings."
 msgstr ""
 
-#: remote-mips.c:3755
+#: remote-mips.c:3747
 msgid ""
 "When enabled, monitor warnings about hardware breakpoints will be displayed."
 msgstr ""
 
-#: remote-mips.c:3762
+#: remote-mips.c:3754
 msgid "Send a packet to PMON (must be in debug mode)."
 msgstr ""
 
-#: remote-mips.c:3764
+#: remote-mips.c:3756
 msgid ""
 "Set zeroing of upper 32 bits of 64-bit addresses when talking to PMON "
 "targets."
 msgstr ""
 
-#: remote-mips.c:3765
+#: remote-mips.c:3757
 msgid ""
 "Show zeroing of upper 32 bits of 64-bit addresses when talking to PMON "
 "targets."
 msgstr ""
 
-#: remote-mips.c:3766
+#: remote-mips.c:3758
 msgid "Use \"on\" to enable the masking and \"off\" to disable it."
 msgstr ""
 
-#: remote-notif.c:282
+#: remote-notif.c:280
 msgid "Set debugging of async remote notification."
 msgstr ""
 
-#: remote-notif.c:283
+#: remote-notif.c:281
 msgid "Show debugging of async remote notification."
 msgstr ""
 
-#: remote-notif.c:284
+#: remote-notif.c:282
 msgid ""
 "When non-zero, debugging output about async remote notifications is enabled."
 msgstr ""
 
-#: remote-sim.c:188
+#: remote-sim.c:186
 #, possible-c-format
 msgid "Unable to create simulator instance for inferior %d."
 msgstr ""
 
-#: remote-sim.c:203
+#: remote-sim.c:201
 #, possible-c-format
 msgid ""
 "Inferior %d and inferior %d would have identical simulator state.\n"
 "(This simulator does not support the running of more than one inferior.)"
 msgstr ""
 
-#: remote-sim.c:529
+#: remote-sim.c:527
 msgid "Register size different to expected"
 msgstr ""
 
-#: remote-sim.c:532
+#: remote-sim.c:530
 #, possible-c-format
 msgid "Register %d not updated"
 msgstr ""
 
-#: remote-sim.c:534
+#: remote-sim.c:532
 #, possible-c-format
 msgid "Register %s not updated"
 msgstr ""
 
-#: remote-sim.c:573
+#: remote-sim.c:571
 msgid "program to load"
 msgstr ""
 
-#: remote-sim.c:581
+#: remote-sim.c:579
 msgid "GDB sim does not yet support a load offset."
 msgstr ""
 
-#: remote-sim.c:590
+#: remote-sim.c:588
 msgid "unable to load program"
 msgstr ""
 
-#: remote-sim.c:617
+#: remote-sim.c:615
 msgid "No executable file specified."
 msgstr ""
 
-#: remote-sim.c:619 remote-sim.c:1081
+#: remote-sim.c:617 remote-sim.c:1079
 msgid "No program loaded."
 msgstr ""
 
-#: remote-sim.c:651
+#: remote-sim.c:649
 msgid "Unable to create sim inferior."
 msgstr ""
 
-#: remote-sim.c:736
+#: remote-sim.c:734
 msgid "unable to create simulator instance"
 msgstr ""
 
-#: remote-sim.c:857
+#: remote-sim.c:855
 #, possible-c-format
 msgid "gdbsim_resume: pid %d, step %d, signal %d\n"
 msgstr ""
 
-#: remote-sim.c:936
+#: remote-sim.c:934
 #, possible-c-format
 msgid "Can't stop pid %d.  No inferior found."
 msgstr ""
 
-#: remote-sim.c:989
+#: remote-sim.c:987
 #, possible-c-format
 msgid "Unable to wait for pid %d.  Inferior not found."
 msgstr ""
@@ -22579,69 +23022,69 @@ msgstr ""
 #. Consistent with that model, access to the simulator, via sim
 #. commands, is restricted to the period when the channel to the
 #. simulator is open.
-#: remote-sim.c:1211
+#: remote-sim.c:1209
 msgid "Not connected to the simulator target"
 msgstr ""
 
-#: remote-sim.c:1346
+#: remote-sim.c:1344
 msgid "Send a command to the simulator."
 msgstr ""
 
-#: reverse.c:54
+#: reverse.c:53
 #, possible-c-format
 msgid "Already in reverse mode.  Use '%s' or 'set exec-dir forward'."
 msgstr ""
 
-#: reverse.c:143
+#: reverse.c:142
 msgid "target_get_bookmark failed."
 msgstr ""
 
-#: reverse.c:167
+#: reverse.c:166
 #, possible-c-format
 msgid "Saved bookmark %d at %s\n"
 msgstr ""
 
-#: reverse.c:225
+#: reverse.c:224
 msgid "No bookmarks."
 msgstr ""
 
-#: reverse.c:231
+#: reverse.c:230
 msgid "Delete all bookmarks? "
 msgstr ""
 
 #. Not found.
-#: reverse.c:243
+#: reverse.c:242
 #, possible-c-format
 msgid "No bookmark #%d."
 msgstr ""
 
-#: reverse.c:257 thread.c:1382
+#: reverse.c:256 thread.c:1563
 msgid "Command requires an argument."
 msgstr ""
 
-#: reverse.c:281
+#: reverse.c:280
 #, possible-c-format
 msgid "goto-bookmark: invalid bookmark number '%s'."
 msgstr ""
 
 #. Not found.
-#: reverse.c:294
+#: reverse.c:293
 #, possible-c-format
 msgid "goto-bookmark: no bookmark found for '%s'."
 msgstr ""
 
-#: reverse.c:330
+#: reverse.c:329
 msgid "No bookmarks.\n"
 msgstr ""
 
-#: reverse.c:353
+#: reverse.c:352
 msgid ""
 "Step program backward until it reaches the beginning of another source "
 "line.\n"
 "Argument N means do this N times (or till program stops for another reason)."
 msgstr ""
 
-#: reverse.c:359
+#: reverse.c:358
 msgid ""
 "Step program backward, proceeding through subroutine calls.\n"
 "Like the \"reverse-step\" command as long as subroutine calls do not "
@@ -22650,19 +23093,19 @@ msgid ""
 "Argument N means do this N times (or till program stops for another reason)."
 msgstr ""
 
-#: reverse.c:367
+#: reverse.c:366
 msgid ""
 "Step backward exactly one instruction.\n"
 "Argument N means do this N times (or till program stops for another reason)."
 msgstr ""
 
-#: reverse.c:373
+#: reverse.c:372
 msgid ""
 "Step backward one instruction, but proceed through called subroutines.\n"
 "Argument N means do this N times (or till program stops for another reason)."
 msgstr ""
 
-#: reverse.c:379
+#: reverse.c:378
 msgid ""
 "Continue program being debugged but run it in reverse.\n"
 "If proceeding from breakpoint, a number N may be used as an argument,\n"
@@ -22670,18 +23113,18 @@ msgid ""
 "the breakpoint won't break until the Nth time it is reached)."
 msgstr ""
 
-#: reverse.c:386
+#: reverse.c:385
 msgid "Execute backward until just before selected stack frame is called."
 msgstr ""
 
-#: reverse.c:389
+#: reverse.c:388
 msgid ""
 "Set a bookmark in the program's execution history.\n"
 "A bookmark represents a point in the execution history \n"
 "that can be returned to at a later point in the debug session."
 msgstr ""
 
-#: reverse.c:393
+#: reverse.c:392
 msgid ""
 "Status of user-settable bookmarks.\n"
 "Bookmarks are user-settable markers representing a point in the \n"
@@ -22689,14 +23132,14 @@ msgid ""
 "session."
 msgstr ""
 
-#: reverse.c:398
+#: reverse.c:397
 msgid ""
 "Delete a bookmark from the bookmark list.\n"
 "Argument is a bookmark number or numbers,\n"
 " or no argument to delete all bookmarks.\n"
 msgstr ""
 
-#: reverse.c:403
+#: reverse.c:402
 msgid ""
 "Go to an earlier-bookmarked point in the program's execution history.\n"
 "Argument is the bookmark number of a bookmark saved earlier by using \n"
@@ -22710,90 +23153,86 @@ msgstr ""
 msgid "Undefined dwarf2 register mapping of reg %d"
 msgstr ""
 
-#: rs6000-aix-tdep.c:1026
+#: rs6000-aix-tdep.c:1016
 #, possible-c-format
 msgid "cannot find .ldinfo section from core file: %s"
 msgstr ""
 
-#: rs6000-aix-tdep.c:1035
+#: rs6000-aix-tdep.c:1025
 #, possible-c-format
 msgid "unable to read .ldinfo section from core file: %s"
 msgstr ""
 
 #. FIXME: this happens 3 times at the start of each 64-bit program.
-#: rs6000-nat.c:218
+#: rs6000-nat.c:214
 msgid "ptrace read"
 msgstr ""
 
-#: rs6000-nat.c:287
+#: rs6000-nat.c:275
 msgid "ptrace write"
 msgstr ""
 
-#: rs6000-nat.c:573
-msgid "pt_continue"
-msgstr ""
-
-#: rs6000-nat.c:638
+#: rs6000-nat.c:579
 msgid "rs6000_create_inferior: failed to select architecture"
 msgstr ""
 
-#: rs6000-nat.c:670
+#: rs6000-nat.c:611
 msgid "ptrace ldinfo"
 msgstr ""
 
-#: rs6000-tdep.c:2827
+#: rs6000-tdep.c:2826
 #, possible-c-format
 msgid "rs6000_pseudo_register_read: called on unexpected register '%s' (%d)"
 msgstr ""
 
-#: rs6000-tdep.c:2852
+#: rs6000-tdep.c:2851
 #, possible-c-format
 msgid "rs6000_pseudo_register_write: called on unexpected register '%s' (%d)"
 msgstr ""
 
-#: rs6000-tdep.c:4229
+#: rs6000-tdep.c:4233
 msgid "\"set powerpc\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: rs6000-tdep.c:4270
+#: rs6000-tdep.c:4274
 #, possible-c-format
 msgid "Invalid vector ABI accepted: %s."
 msgstr ""
 
-#: rs6000-tdep.c:4286
+#: rs6000-tdep.c:4290
 #, possible-c-format
 msgid "Use of exact watchpoints is %s.\n"
 msgstr ""
 
-#: rs6000-tdep.c:4393 rs6000-tdep.c:4397
+#: rs6000-tdep.c:4397 rs6000-tdep.c:4401
 msgid "Various PowerPC-specific commands."
 msgstr ""
 
-#: rs6000-tdep.c:4403
+#: rs6000-tdep.c:4407
 msgid "Set whether to use a soft-float ABI."
 msgstr ""
 
-#: rs6000-tdep.c:4404
+#: rs6000-tdep.c:4408
 msgid "Show whether to use a soft-float ABI."
 msgstr ""
 
-#: rs6000-tdep.c:4411
+#: rs6000-tdep.c:4415
 msgid "Set the vector ABI."
 msgstr ""
 
-#: rs6000-tdep.c:4412
+#: rs6000-tdep.c:4416
 msgid "Show the vector ABI."
 msgstr ""
 
-#: rs6000-tdep.c:4418
+#: rs6000-tdep.c:4422
 msgid "Set whether to use just one debug register for watchpoints on scalars."
 msgstr ""
 
-#: rs6000-tdep.c:4420
+#: rs6000-tdep.c:4424
 msgid "Show whether to use just one debug register for watchpoints on scalars."
 msgstr ""
 
-#: rs6000-tdep.c:4422
+#: rs6000-tdep.c:4426
 msgid ""
 "If true, GDB will use only one debug register when watching a variable of\n"
 "scalar type, thus assuming that the variable is accessed through the "
@@ -22801,57 +23240,57 @@ msgid ""
 "of its first byte."
 msgstr ""
 
-#: s390-linux-nat.c:319 s390-linux-nat.c:339
+#: s390-linux-nat.c:296 s390-linux-nat.c:316
 msgid "Couldn't get register set"
 msgstr ""
 
-#: s390-linux-nat.c:344
+#: s390-linux-nat.c:321
 msgid "Couldn't set register set"
 msgstr ""
 
-#: s390-linux-nat.c:450 s390-linux-nat.c:491
+#: s390-linux-nat.c:427 s390-linux-nat.c:468
 msgid "Couldn't retrieve watchpoint status"
 msgstr ""
 
-#: s390-linux-nat.c:460
+#: s390-linux-nat.c:437
 msgid "Couldn't clear watchpoint status"
 msgstr ""
 
-#: s390-linux-nat.c:507
+#: s390-linux-nat.c:484
 msgid "Couldn't modify watchpoint status"
 msgstr ""
 
-#: s390-linux-tdep.c:2735
+#: s390-linux-tdep.c:2500
 msgid "Stack overflow"
 msgstr ""
 
-#: s390-linux-tdep.c:2838
+#: s390-linux-tdep.c:2603
 msgid "unknown argument type"
 msgstr ""
 
-#: s390-linux-tdep.c:2947 s390-linux-tdep.c:2980
+#: s390-linux-tdep.c:2712 s390-linux-tdep.c:2745
 msgid "invalid return type"
 msgstr ""
 
-#: s390-linux-tdep.c:2951 spu-tdep.c:1551
+#: s390-linux-tdep.c:2716 spu-tdep.c:1548
 msgid "Cannot set function return value."
 msgstr ""
 
-#: s390-linux-tdep.c:2984 spu-tdep.c:1567
+#: s390-linux-tdep.c:2749 spu-tdep.c:1564
 msgid "Function return value unknown."
 msgstr ""
 
-#: score-tdep.c:159 score-tdep.c:251 score-tdep.c:321 score-tdep.c:830
+#: score-tdep.c:158 score-tdep.c:250 score-tdep.c:320 score-tdep.c:829
 #, possible-c-format
 msgid "Error: target_read_memory in file:%s, line:%d!"
 msgstr ""
 
-#: score-tdep.c:439
+#: score-tdep.c:438
 #, possible-c-format
 msgid "Error: score_xfer_register in file:%s, line:%d!"
 msgstr ""
 
-#: score-tdep.c:818
+#: score-tdep.c:817
 #, possible-c-format
 msgid "Error: malloc size < 0 in file:%s, line:%d!"
 msgstr ""
@@ -22867,367 +23306,367 @@ msgstr ""
 #. timer tick
 #. keyboard
 #. slave icu
-#: ser-go32.c:927
+#: ser-go32.c:924
 msgid "Set COM1 base i/o port address."
 msgstr ""
 
-#: ser-go32.c:928
+#: ser-go32.c:925
 msgid "Show COM1 base i/o port address."
 msgstr ""
 
-#: ser-go32.c:934
+#: ser-go32.c:931
 msgid "Set COM1 interrupt request."
 msgstr ""
 
-#: ser-go32.c:935
+#: ser-go32.c:932
 msgid "Show COM1 interrupt request."
 msgstr ""
 
-#: ser-go32.c:941
+#: ser-go32.c:938
 msgid "Set COM2 base i/o port address."
 msgstr ""
 
-#: ser-go32.c:942
+#: ser-go32.c:939
 msgid "Show COM2 base i/o port address."
 msgstr ""
 
-#: ser-go32.c:948
+#: ser-go32.c:945
 msgid "Set COM2 interrupt request."
 msgstr ""
 
-#: ser-go32.c:949
+#: ser-go32.c:946
 msgid "Show COM2 interrupt request."
 msgstr ""
 
-#: ser-go32.c:955
+#: ser-go32.c:952
 msgid "Set COM3 base i/o port address."
 msgstr ""
 
-#: ser-go32.c:956
+#: ser-go32.c:953
 msgid "Show COM3 base i/o port address."
 msgstr ""
 
-#: ser-go32.c:962
+#: ser-go32.c:959
 msgid "Set COM3 interrupt request."
 msgstr ""
 
-#: ser-go32.c:963
+#: ser-go32.c:960
 msgid "Show COM3 interrupt request."
 msgstr ""
 
-#: ser-go32.c:969
+#: ser-go32.c:966
 msgid "Set COM4 base i/o port address."
 msgstr ""
 
-#: ser-go32.c:970
+#: ser-go32.c:967
 msgid "Show COM4 base i/o port address."
 msgstr ""
 
-#: ser-go32.c:976
+#: ser-go32.c:973
 msgid "Set COM4 interrupt request."
 msgstr ""
 
-#: ser-go32.c:977
+#: ser-go32.c:974
 msgid "Show COM4 interrupt request."
 msgstr ""
 
-#: ser-go32.c:984
+#: ser-go32.c:981
 msgid "Print DOS serial port status."
 msgstr ""
 
-#: serial.c:381
+#: serial.c:380
 msgid "serial_readchar: blocking read in async mode"
 msgstr ""
 
-#: serial.c:638
+#: serial.c:637
 #, possible-c-format
 msgid "Baud rate for remote serial I/O is %s.\n"
 msgstr ""
 
-#: serial.c:646
+#: serial.c:645
 msgid ""
 "Connect the terminal directly up to the command monitor.\n"
 "Use <CR>~. or <CR>~^D to break out."
 msgstr ""
 
-#: serial.c:651
+#: serial.c:650
 msgid "Set default serial/parallel port configuration."
 msgstr ""
 
-#: serial.c:657
+#: serial.c:656
 msgid "Show default serial/parallel port configuration."
 msgstr ""
 
 #. If target is open when baud changes, it doesn't take effect until
 #. the next open (I think, not sure).
-#: serial.c:665
+#: serial.c:664
 msgid "Set baud rate for remote serial I/O."
 msgstr ""
 
-#: serial.c:666
+#: serial.c:665
 msgid "Show baud rate for remote serial I/O."
 msgstr ""
 
-#: serial.c:667
+#: serial.c:666
 msgid ""
 "This value is used to set the speed of the serial port when debugging\n"
 "using remote targets."
 msgstr ""
 
-#: serial.c:674
+#: serial.c:673
 msgid "Set filename for remote session recording."
 msgstr ""
 
-#: serial.c:675
+#: serial.c:674
 msgid "Show filename for remote session recording."
 msgstr ""
 
-#: serial.c:676
+#: serial.c:675
 msgid ""
 "This file is used to record the remote session for future playback\n"
 "by gdbserver."
 msgstr ""
 
-#: serial.c:684
+#: serial.c:683
 msgid "Set numerical base for remote session logging"
 msgstr ""
 
-#: serial.c:685
+#: serial.c:684
 msgid "Show numerical base for remote session logging"
 msgstr ""
 
-#: serial.c:692
+#: serial.c:691
 msgid "Set serial debugging."
 msgstr ""
 
-#: serial.c:693
+#: serial.c:692
 msgid "Show serial debugging."
 msgstr ""
 
-#: serial.c:694
+#: serial.c:693
 msgid "When non-zero, serial port debugging is enabled."
 msgstr ""
 
-#: ser-mingw.c:174
+#: ser-mingw.c:171
 msgid "SetCommState failed"
 msgstr ""
 
-#: ser-mingw.c:267
+#: ser-mingw.c:264
 msgid "ser_windows_wait_handle: reseting mask failed"
 msgstr ""
 
-#: ser-mingw.c:270
+#: ser-mingw.c:267
 msgid "ser_windows_wait_handle: reseting mask failed (2)"
 msgstr ""
 
-#: ser-mingw.c:845
+#: ser-mingw.c:842
 msgid "child command"
 msgstr ""
 
-#: ser-mingw.c:851
+#: ser-mingw.c:848
 msgid "missing child command"
 msgstr ""
 
-#: ser-mingw.c:878
+#: ser-mingw.c:875
 #, possible-c-format
 msgid "error starting child process '%s': %s: %s"
 msgstr ""
 
-#: ser-mingw.c:881
+#: ser-mingw.c:878
 #, possible-c-format
 msgid "error starting child process '%s': %s"
 msgstr ""
 
-#: ser-tcp.c:183
+#: ser-tcp.c:182
 msgid "net_open: No colon in host name!"
 msgstr ""
 
 #. allow-unknown
-#: ser-tcp.c:416 ser-tcp.c:421
+#: ser-tcp.c:415 ser-tcp.c:420
 msgid ""
 "TCP protocol specific variables\n"
 "Configure variables specific to remote TCP connections"
 msgstr ""
 
-#: ser-tcp.c:428
+#: ser-tcp.c:427
 msgid "Set auto-retry on socket connect"
 msgstr ""
 
-#: ser-tcp.c:429
+#: ser-tcp.c:428
 msgid "Show auto-retry on socket connect"
 msgstr ""
 
-#: ser-tcp.c:435
+#: ser-tcp.c:434
 msgid "Set timeout limit in seconds for socket connection"
 msgstr ""
 
-#: ser-tcp.c:436
+#: ser-tcp.c:435
 msgid "Show timeout limit in seconds for socket connection"
 msgstr ""
 
-#: ser-tcp.c:437
+#: ser-tcp.c:436
 msgid ""
 "If set to \"unlimited\", GDB will keep attempting to establish a\n"
 "connection forever, unless interrupted with Ctrl-c.\n"
 "The default is 15 seconds."
 msgstr ""
 
-#: ser-unix.c:50
+#: ser-unix.c:49
 #, possible-c-format
 msgid "Hardware flow control is %s.\n"
 msgstr ""
 
-#: ser-unix.c:795
+#: ser-unix.c:794
 #, possible-c-format
 msgid "Invalid baud rate %d.  Closest values are %d and %d."
 msgstr ""
 
-#: ser-unix.c:801
+#: ser-unix.c:800
 #, possible-c-format
 msgid "Invalid baud rate %d.  Minimum value is %d."
 msgstr ""
 
 #. The requested speed was too large.
-#: ser-unix.c:810
+#: ser-unix.c:809
 #, possible-c-format
 msgid "Invalid baud rate %d.  Maximum value is %d."
 msgstr ""
 
-#: ser-unix.c:947
+#: ser-unix.c:946
 msgid "Set use of hardware flow control for remote serial I/O."
 msgstr ""
 
-#: ser-unix.c:948
+#: ser-unix.c:947
 msgid "Show use of hardware flow control for remote serial I/O."
 msgstr ""
 
-#: ser-unix.c:949
+#: ser-unix.c:948
 msgid ""
 "Enable or disable hardware flow control (RTS/CTS) on the serial port\n"
 "when debugging using remote targets."
 msgstr ""
 
-#: sh64-tdep.c:1471
+#: sh64-tdep.c:1469
 msgid "sh64_register_convert_to_virtual called with non DR register number"
 msgstr ""
 
-#: sh64-tdep.c:1496
+#: sh64-tdep.c:1494
 msgid "sh64_register_convert_to_raw called with non DR register number"
 msgstr ""
 
-#: sh64-tdep.c:1970
+#: sh64-tdep.c:1968
 #, possible-c-format
 msgid "Invalid pseudo register number %d\n"
 msgstr ""
 
-#: sh64-tdep.c:2068
+#: sh64-tdep.c:2066
 #, possible-c-format
 msgid "Invalid register number %d\n"
 msgstr ""
 
-#: sh64-tdep.c:2152
+#: sh64-tdep.c:2150
 msgid "Not a valid register for the current processor mode."
 msgstr ""
 
-#: sh-tdep.c:1591
+#: sh-tdep.c:1589
 msgid "sh_register_convert_to_raw called with non DR register number"
 msgstr ""
 
-#: sh-tdep.c:2446
+#: sh-tdep.c:2445
 msgid "Set calling convention used when calling target functions from GDB."
 msgstr ""
 
-#: sh-tdep.c:2448
+#: sh-tdep.c:2447
 msgid "Show calling convention used when calling target functions from GDB."
 msgstr ""
 
-#: sh-tdep.c:2450
+#: sh-tdep.c:2449
 msgid ""
 "gcc       - Use GCC calling convention (default).\n"
 "renesas   - Enforce Renesas calling convention."
 msgstr ""
 
-#: skip.c:83
+#: skip.c:81
 msgid "No default file now."
 msgstr ""
 
-#: skip.c:94
+#: skip.c:92
 #, possible-c-format
 msgid "No source file named %s.\n"
 msgstr ""
 
-#: skip.c:95
+#: skip.c:93
 msgid "Ignore file pending future shared library load? "
 msgstr ""
 
-#: skip.c:110
+#: skip.c:108
 #, possible-c-format
 msgid "File %s will be skipped when stepping.\n"
 msgstr ""
 
-#: skip.c:124
+#: skip.c:122
 msgid "No default function now."
 msgstr ""
 
-#: skip.c:129
+#: skip.c:127
 #, possible-c-format
 msgid "No function found containing current program point %s."
 msgstr ""
 
-#: skip.c:139
+#: skip.c:137
 #, possible-c-format
 msgid "No function found named %s.\n"
 msgstr ""
 
-#: skip.c:141
+#: skip.c:139
 msgid "Ignore function pending future shared library load? "
 msgstr ""
 
-#: skip.c:173
+#: skip.c:171
 msgid "Not skipping any files or functions.\n"
 msgstr ""
 
-#: skip.c:177
+#: skip.c:175
 #, possible-c-format
 msgid "No skiplist entries found with number %s.\n"
 msgstr ""
 
-#: skip.c:209
+#: skip.c:207
 msgid "Skiplist entry should have either a filename or a function name."
 msgstr ""
 
-#: skip.c:243 skip.c:260 skip.c:289
+#: skip.c:241 skip.c:258 skip.c:287
 #, possible-c-format
 msgid "No skiplist entries found with number %s."
 msgstr ""
 
-#: skip.c:305
+#: skip.c:303
 #, possible-c-format
 msgid "Function %s will be skipped when stepping.\n"
 msgstr ""
 
-#: skip.c:401
+#: skip.c:399
 msgid ""
 "Ignore a function while stepping.\n"
 "Usage: skip [FUNCTION NAME]\n"
 "If no function name is given, ignore the current function."
 msgstr ""
 
-#: skip.c:407
+#: skip.c:405
 msgid ""
 "Ignore a file while stepping.\n"
 "Usage: skip file [FILENAME]\n"
 "If no filename is given, ignore the current file."
 msgstr ""
 
-#: skip.c:414
+#: skip.c:412
 msgid ""
 "Ignore a function while stepping.\n"
 "Usage: skip function [FUNCTION NAME]\n"
 "If no function name is given, skip the current function."
 msgstr ""
 
-#: skip.c:421
+#: skip.c:419
 msgid ""
 "Enable skip entries.  You can specify numbers (e.g. \"skip enable 1 3\"), "
 "ranges (e.g. \"skip enable 4-8\"), or both (e.g. \"skip enable 1 3 4-8\").\n"
@@ -23237,7 +23676,7 @@ msgid ""
 "Usage: skip enable [NUMBERS AND/OR RANGES]"
 msgstr ""
 
-#: skip.c:428
+#: skip.c:426
 msgid ""
 "Disable skip entries.  You can specify numbers (e.g. \"skip disable 1 3\"), "
 "ranges (e.g. \"skip disable 4-8\"), or both (e.g. \"skip disable 1 3 4-8"
@@ -23248,7 +23687,7 @@ msgid ""
 "Usage: skip disable [NUMBERS AND/OR RANGES]"
 msgstr ""
 
-#: skip.c:435
+#: skip.c:433
 msgid ""
 "Delete skip entries.  You can specify numbers (e.g. \"skip delete 1 3\"), "
 "ranges (e.g. \"skip delete 4-8\"), or both (e.g. \"skip delete 1 3 4-8\").\n"
@@ -23258,7 +23697,7 @@ msgid ""
 "Usage: skip delete [NUMBERS AND/OR RANGES]"
 msgstr ""
 
-#: skip.c:442
+#: skip.c:440
 msgid ""
 "Display the status of skips.  You can specify numbers (e.g. \"skip info 1 3"
 "\"), ranges (e.g. \"skip info 4-8\"), or both (e.g. \"skip info 1 3 4-8\").\n"
@@ -23271,12 +23710,12 @@ msgid ""
 "\tfunction    - ignored function"
 msgstr ""
 
-#: solib-aix.c:137 solib-target.c:67
+#: solib-aix.c:137 solib-target.c:65
 msgid ""
 "Can not parse XML library list; XML support was disabled at compile time"
 msgstr ""
 
-#: solib-aix.c:200 solib-target.c:155
+#: solib-aix.c:200 solib-target.c:153
 #, possible-c-format
 msgid "Library list has unsupported version \"%s\""
 msgstr ""
@@ -23307,7 +23746,7 @@ msgstr ""
 msgid "missing '(' in shared object pathname: %s"
 msgstr ""
 
-#: solib-aix.c:675 solib.c:405
+#: solib-aix.c:675 solib.c:403
 #, possible-c-format
 msgid "Could not open `%s' as an executable file: %s"
 msgstr ""
@@ -23354,55 +23793,50 @@ msgstr ""
 msgid "When on, solib-aix debugging traces are enabled."
 msgstr ""
 
-#: solib.c:105
+#: solib.c:103
 #, possible-c-format
 msgid ""
 "The search path for loading non-absolute shared library symbol files is %s.\n"
 msgstr ""
 
-#: solib.c:443
+#: solib.c:441
 #, possible-c-format
 msgid "`%s': not in executable format: %s"
 msgstr ""
 
-#: solib.c:450
+#: solib.c:448
 #, possible-c-format
 msgid ""
 "`%s': Shared library architecture %s is not compatible with target "
 "architecture %s."
 msgstr ""
 
-#: solib.c:496
+#: solib.c:494
 msgid "Shared library file name is too long."
 msgstr ""
 
-#: solib.c:501
+#: solib.c:499
 #, possible-c-format
 msgid "Can't find the file sections in `%s': %s"
 msgstr ""
 
-#: solib.c:648
+#: solib.c:644
 #, possible-c-format
 msgid "Error while reading shared library symbols for %s:\n"
 msgstr ""
 
-#: solib.c:654
-#, possible-c-format
-msgid "Loaded symbols for %s\n"
-msgstr ""
-
-#: solib.c:843 solib.c:1338
+#: solib.c:835 solib.c:1330
 msgid "Error while mapping shared library sections:\n"
 msgstr ""
 
-#: solib.c:859
+#: solib.c:851
 #, possible-c-format
 msgid ""
 "Could not load shared library symbols for %s.\n"
 "Do you need \"set solib-search-path\" or \"set sysroot\"?"
 msgstr ""
 
-#: solib.c:864
+#: solib.c:856
 #, possible-c-format
 msgid ""
 "Could not load shared library symbols for %d libraries, e.g. %s.\n"
@@ -23410,58 +23844,58 @@ msgid ""
 "Do you need \"set solib-search-path\" or \"set sysroot\"?"
 msgstr ""
 
-#: solib.c:912
+#: solib.c:904
 #, possible-c-format
 msgid "Loading symbols for shared libraries: %s\n"
 msgstr ""
 
-#: solib.c:916 solib.c:1292
+#: solib.c:908 solib.c:1284
 msgid "Loading symbols for shared libraries.\n"
 msgstr ""
 
-#: solib.c:959
+#: solib.c:951
 #, possible-c-format
 msgid "Symbols already loaded for %s\n"
 msgstr ""
 
-#: solib.c:1088
+#: solib.c:1080
 msgid "No shared libraries matched.\n"
 msgstr ""
 
-#: solib.c:1091
+#: solib.c:1083
 msgid "No shared libraries loaded at this time.\n"
 msgstr ""
 
-#: solib.c:1097
+#: solib.c:1089
 msgid "(*): Shared library is missing debugging information.\n"
 msgstr ""
 
-#: solib.c:1406
+#: solib.c:1398
 #, possible-c-format
 msgid "Autoloading of shared library symbols is %s.\n"
 msgstr ""
 
-#: solib.c:1550
+#: solib.c:1562
 msgid "Load shared object library symbols for files matching REGEXP."
 msgstr ""
 
-#: solib.c:1552
+#: solib.c:1564
 msgid "Status of loaded shared object libraries."
 msgstr ""
 
-#: solib.c:1554
+#: solib.c:1566
 msgid "Unload all shared object library symbols."
 msgstr ""
 
-#: solib.c:1557
+#: solib.c:1569
 msgid "Set autoloading of shared library symbols."
 msgstr ""
 
-#: solib.c:1558
+#: solib.c:1570
 msgid "Show autoloading of shared library symbols."
 msgstr ""
 
-#: solib.c:1559
+#: solib.c:1571
 msgid ""
 "If \"on\", symbols from all shared object libraries will be loaded\n"
 "automatically when the inferior begins execution, when the dynamic linker\n"
@@ -23469,216 +23903,216 @@ msgid ""
 "inferior.  Otherwise, symbols must be loaded manually, using `sharedlibrary'."
 msgstr ""
 
-#: solib.c:1570
+#: solib.c:1582
 msgid "Set an alternate system root."
 msgstr ""
 
-#: solib.c:1571
+#: solib.c:1583
 msgid "Show the current system root."
 msgstr ""
 
-#: solib.c:1572
+#: solib.c:1584
 msgid ""
 "The system root is used to load absolute shared library symbol files.\n"
 "For other (relative) files, you can add directories using\n"
 "`set solib-search-path'."
 msgstr ""
 
-#: solib.c:1586
+#: solib.c:1598
 msgid ""
 "Set the search path for loading non-absolute shared library symbol files."
 msgstr ""
 
-#: solib.c:1588
+#: solib.c:1600
 msgid ""
 "Show the search path for loading non-absolute shared library symbol files."
 msgstr ""
 
-#: solib.c:1590
+#: solib.c:1602
 msgid ""
 "This takes precedence over the environment variables PATH and "
 "LD_LIBRARY_PATH."
 msgstr ""
 
-#: solib-darwin.c:517
+#: solib-darwin.c:514
 #, possible-c-format
 msgid "unhandled dyld version (%d)"
 msgstr ""
 
-#: solib-darwin.c:604
+#: solib-darwin.c:601
 #, possible-c-format
 msgid "`%s': not a shared-library: %s"
 msgstr ""
 
-#: solib-dsbt.c:202
+#: solib-dsbt.c:200
 #, possible-c-format
 msgid "Unsupported map version: %d\n"
 msgstr ""
 
-#: solib-dsbt.c:298
+#: solib-dsbt.c:296
 msgid "Error reading DSBT exec loadmap"
 msgstr ""
 
-#: solib-dsbt.c:308
+#: solib-dsbt.c:306
 msgid "Error reading DSBT interp loadmap"
 msgstr ""
 
-#: solib-dsbt.c:674
+#: solib-dsbt.c:672
 msgid ""
 "dsbt_current_sos: Unable to read link map entry.  Shared object chain may be "
 "incomplete."
 msgstr ""
 
-#: solib-dsbt.c:688
+#: solib-dsbt.c:686
 msgid ""
 "dsbt_current_sos: Unable to read dsbt index.  Shared object chain may be "
 "incomplete."
 msgstr ""
 
-#: solib-dsbt.c:709
+#: solib-dsbt.c:707
 msgid ""
 "dsbt_current_sos: Unable to fetch load map.  Shared object chain may be "
 "incomplete."
 msgstr ""
 
-#: solib-dsbt.c:725 solib-frv.c:410
+#: solib-dsbt.c:723 solib-frv.c:408
 #, possible-c-format
 msgid "Can't read pathname for link map entry: %s."
 msgstr ""
 
-#: solib-dsbt.c:773 solib-frv.c:481 solib-svr4.c:2347
+#: solib-dsbt.c:771 solib-frv.c:479 solib-svr4.c:2421
 msgid ""
 "Unable to find dynamic linker breakpoint function.\n"
 "GDB will be unable to debug shared library initializers\n"
 "and track explicitly loaded dynamic code."
 msgstr ""
 
-#: solib-dsbt.c:1005 solib-frv.c:863 solib-irix.c:408
+#: solib-dsbt.c:1003 solib-frv.c:861
 msgid "shared library handler failed to enable breakpoint"
 msgstr ""
 
-#: solib-dsbt.c:1058
+#: solib-dsbt.c:1056
 #, possible-c-format
 msgid "solib-dsbt debugging is %s.\n"
 msgstr ""
 
-#: solib-dsbt.c:1084
+#: solib-dsbt.c:1082
 msgid "Set internal debugging of shared library code for DSBT ELF."
 msgstr ""
 
-#: solib-dsbt.c:1085
+#: solib-dsbt.c:1083
 msgid "Show internal debugging of shared library code for DSBT ELF."
 msgstr ""
 
-#: solib-dsbt.c:1086
+#: solib-dsbt.c:1084
 msgid "When non-zero, DSBT solib specific internal debugging is enabled."
 msgstr ""
 
-#: solib-frv.c:361
+#: solib-frv.c:359
 msgid ""
 "frv_current_sos: Unable to read link map entry.  Shared object chain may be "
 "incomplete."
 msgstr ""
 
-#: solib-frv.c:388
+#: solib-frv.c:386
 msgid ""
 "frv_current_sos: Unable to fetch load map.  Shared object chain may be "
 "incomplete."
 msgstr ""
 
-#: solib-frv.c:576
+#: solib-frv.c:574
 msgid "Unable to determine dynamic linker loadmap address."
 msgstr ""
 
-#: solib-frv.c:590
+#: solib-frv.c:588
 #, possible-c-format
 msgid "Unable to load dynamic linker loadmap at address %s."
 msgstr ""
 
-#: solib-frv.c:624
+#: solib-frv.c:622
 msgid "Could not find symbol _dl_debug_addr in dynamic linker"
 msgstr ""
 
-#: solib-frv.c:648
+#: solib-frv.c:646
 #, possible-c-format
 msgid ""
 "Unable to fetch contents of _dl_debug_addr (at address %s) from dynamic "
 "linker"
 msgstr ""
 
-#: solib-frv.c:674
+#: solib-frv.c:672
 #, possible-c-format
 msgid ""
 "Unable to fetch _dl_debug_addr->r_brk (at address %s) from dynamic linker"
 msgstr ""
 
-#: solib-frv.c:686
+#: solib-frv.c:684
 #, possible-c-format
 msgid ""
 "Unable to fetch _dl_debug_addr->.r_brk entry point (at address %s) from "
 "dynamic linker"
 msgstr ""
 
-#: solib-frv.c:796
+#: solib-frv.c:794
 msgid "Unable to load the executable's loadmap."
 msgstr ""
 
-#: solib-frv.c:1187
+#: solib-frv.c:1185
 msgid "Set internal debugging of shared library code for FR-V."
 msgstr ""
 
-#: solib-frv.c:1188
+#: solib-frv.c:1186
 msgid "Show internal debugging of shared library code for FR-V."
 msgstr ""
 
-#: solib-frv.c:1189
+#: solib-frv.c:1187
 msgid "When non-zero, FR-V solib specific internal debugging is enabled."
 msgstr ""
 
-#: solib-ia64-hpux.c:178
+#: solib-ia64-hpux.c:177
 #, possible-c-format
 msgid "error while checking for dld breakpoint: %s"
 msgstr ""
 
-#: solib-ia64-hpux.c:209
+#: solib-ia64-hpux.c:208
 #, possible-c-format
 msgid "load_module_desc size (%ld) != size returned by kernel (%s)"
 msgstr ""
 
-#: solib-ia64-hpux.c:291
+#: solib-ia64-hpux.c:290
 #, possible-c-format
 msgid "error detected while handling dld breakpoint: %s"
 msgstr ""
 
-#: solib-ia64-hpux.c:309
+#: solib-ia64-hpux.c:308
 #, possible-c-format
 msgid "invalid program header offset in %s"
 msgstr ""
 
-#: solib-ia64-hpux.c:314
+#: solib-ia64-hpux.c:313
 #, possible-c-format
 msgid "failed to read segment %d in %s"
 msgstr ""
 
-#: solib-ia64-hpux.c:411
+#: solib-ia64-hpux.c:410
 msgid "Unable to get argument list"
 msgstr ""
 
-#: solib-ia64-hpux.c:445
+#: solib-ia64-hpux.c:444
 msgid "failed to read contents of .dynamic section"
 msgstr ""
 
-#: solib-ia64-hpux.c:466
+#: solib-ia64-hpux.c:465
 #, possible-c-format
 msgid "failed to read load map at %s"
 msgstr ""
 
 #. Should never happen, but let's not crash if it does.
-#: solib-ia64-hpux.c:517
+#: solib-ia64-hpux.c:516
 msgid "unable to get shared library name, symbols not loaded"
 msgstr ""
 
-#: solib-ia64-hpux.c:557
+#: solib-ia64-hpux.c:556
 msgid ""
 "The shared libraries were not privately mapped; setting a breakpoint\n"
 "in a shared library will not work until you rerun the program.\n"
@@ -23686,39 +24120,6 @@ msgid ""
 "chatr +dbg enable a.out"
 msgstr ""
 
-#: solib-irix.c:234
-msgid "Unable to fetch shared library obj_info or obj_list info."
-msgstr ""
-
-#: solib-irix.c:438
-msgid "shared library handler failed to disable breakpoint"
-msgstr ""
-
-#: solib-irix.c:507
-#, possible-c-format
-msgid "current_sos: truncating name of %d characters to only %d characters"
-msgstr ""
-
-#: solib-irix.c:515 solib-som.c:609 solib-svr4.c:1366
-#, possible-c-format
-msgid "Can't read pathname for load map: %s."
-msgstr ""
-
-#: solib-irix.c:559 solib-osf.c:589 solib-pa64.c:494 solib-som.c:707
-#: solib-svr4.c:985
-msgid "Attempt to reload symbols from process? "
-msgstr ""
-
-#: solib-irix.c:582 solib-som.c:729 solib-svr4.c:1025
-#, possible-c-format
-msgid "failed to read exec filename from attached file: %s"
-msgstr ""
-
-#: solib-osf.c:224
-#, possible-c-format
-msgid "unable to read shared sec name at 0x%lx"
-msgstr ""
-
 #: solib-pa64.c:144
 msgid "No object file symbols."
 msgstr ""
@@ -23743,7 +24144,7 @@ msgstr ""
 msgid "Unable to read the .dynamic section."
 msgstr ""
 
-#: solib-pa64.c:323 solib-som.c:325
+#: solib-pa64.c:323 solib-som.c:323
 msgid ""
 "Private mapping of shared library text was not specified\n"
 "by the executable; setting a breakpoint in a shared library which\n"
@@ -23760,79 +24161,93 @@ msgstr ""
 msgid "Unable to grok dynamic linker %s as an object file"
 msgstr ""
 
+#: solib-pa64.c:494 solib-som.c:705 solib-svr4.c:982
+msgid "Attempt to reload symbols from process? "
+msgstr ""
+
 #. For a SOM-only target, there is no pa64 solib support.  This is needed
 #. for hppa-hpux-tdep.c to build.
 #: solib-pa64.c:652
 msgid "Cannot select pa64 solib support for this configuration."
 msgstr ""
 
-#: solib-som.c:227
+#: solib-som.c:225
 msgid ""
 "Unable to write __d_pid.\n"
 "Suggest linking with /opt/langtools/lib/end.o.\n"
 "GDB will be unable to track shl_load/shl_unload calls"
 msgstr ""
 
-#: solib-som.c:248
+#: solib-som.c:246
 msgid ""
 "Unable to find _DLD_HOOK symbol in object file.\n"
 "Suggest linking with /opt/langtools/lib/end.o.\n"
 "GDB will be unable to track shl_load/shl_unload calls"
 msgstr ""
 
-#: solib-som.c:272
+#: solib-som.c:270
 msgid ""
 "Unable to find __dld_hook symbol in object file.\n"
 "Suggest linking with /opt/langtools/lib/end.o.\n"
 "GDB will be unable to track shl_load/shl_unload calls"
 msgstr ""
 
-#: solib-som.c:286
+#: solib-som.c:284
 msgid ""
 "Unable to find __dld_d_trap symbol in object file.\n"
 "Suggest linking with /opt/langtools/lib/end.o.\n"
 "GDB will be unable to track shl_load/shl_unload calls"
 msgstr ""
 
-#: solib-som.c:306 solib-som.c:539
+#: solib-som.c:304 solib-som.c:537
 msgid "Unable to find __dld_flags symbol in object file."
 msgstr ""
 
-#: solib-som.c:314
+#: solib-som.c:312
 msgid "Unable to read __dld_flags."
 msgstr ""
 
-#: solib-som.c:339
+#: solib-som.c:337
 msgid "Unable to write __dld_flags."
 msgstr ""
 
-#: solib-som.c:352
+#: solib-som.c:350
 msgid "Unable to find _start symbol in object file."
 msgstr ""
 
-#: solib-som.c:544
+#: solib-som.c:542
 msgid "__dld_list is not valid according to __dld_flags."
 msgstr ""
 
-#: solib-som.c:554
+#: solib-som.c:552
 msgid "Unable to find dynamic library list."
 msgstr ""
 
-#: solib-som.c:861
+#: solib-som.c:607 solib-svr4.c:1363
+#, possible-c-format
+msgid "Can't read pathname for load map: %s."
+msgstr ""
+
+#: solib-som.c:727 solib-svr4.c:1022
+#, possible-c-format
+msgid "failed to read exec filename from attached file: %s"
+msgstr ""
+
+#: solib-som.c:859
 msgid "Unable to find $PRIVATE$ in shared library!"
 msgstr ""
 
-#: solib-spu.c:368
+#: solib-spu.c:365
 #, possible-c-format
 msgid "Cannot read SPE executable at %s"
 msgstr ""
 
-#: solib-svr4.c:208
+#: solib-svr4.c:205
 #, possible-c-format
 msgid "Error reading shared library list entry at %s"
 msgstr ""
 
-#: solib-svr4.c:316
+#: solib-svr4.c:313
 #, possible-c-format
 msgid ""
 "Using PIC (Position Independent Code) prelink displacement %s for \"%s\".\n"
@@ -23846,28 +24261,28 @@ msgstr ""
 #. verification if it they match.  One could do a verification
 #. of the DYNAMIC segment.  Still the found address is the best
 #. one GDB could find.
-#: solib-svr4.c:332
+#: solib-svr4.c:329
 #, possible-c-format
 msgid ""
 ".dynamic section for \"%s\" is not at the expected address (wrong library or "
 "version mismatch?)"
 msgstr ""
 
-#: solib-svr4.c:1157
+#: solib-svr4.c:1154
 #, possible-c-format
 msgid "SVR4 Library list has unsupported version \"%s\""
 msgstr ""
 
-#: solib-svr4.c:1214 solib-target.c:232
+#: solib-svr4.c:1211 solib-target.c:230
 msgid "target library list"
 msgstr ""
 
-#: solib-svr4.c:1334
+#: solib-svr4.c:1331
 #, possible-c-format
 msgid "Corrupted shared library list: %s != %s"
 msgstr ""
 
-#: solib-svr4.c:1759
+#: solib-svr4.c:1833
 msgid ""
 "Probes-based dynamic linker interface failed.\n"
 "Reverting to original interface.\n"
@@ -23876,280 +24291,280 @@ msgstr ""
 #. It can be printed repeatedly as there is no easy way to check
 #. the executable symbols/file has been already relocated to
 #. displacement.
-#: solib-svr4.c:2820
+#: solib-svr4.c:2894
 #, possible-c-format
 msgid ""
 "Using PIE (Position Independent Executable) displacement %s for \"%s\".\n"
 msgstr ""
 
-#: solib-target.c:92 solib-target.c:109
+#: solib-target.c:90 solib-target.c:107
 msgid "Library list with both segments and sections"
 msgstr ""
 
-#: solib-target.c:140
+#: solib-target.c:138
 msgid "No segment or section bases defined"
 msgstr ""
 
-#: solib-target.c:361
+#: solib-target.c:359
 #, possible-c-format
 msgid ""
 "Could not relocate shared library \"%s\": wrong number of ALLOC sections"
 msgstr ""
 
-#: solib-target.c:410
+#: solib-target.c:408
 #, possible-c-format
 msgid "Could not relocate shared library \"%s\": no segments"
 msgstr ""
 
-#: solib-target.c:426
+#: solib-target.c:424
 #, possible-c-format
 msgid "Could not relocate shared library \"%s\": bad offsets"
 msgstr ""
 
-#: sol-thread.c:253
+#: sol-thread.c:252
 #, possible-c-format
 msgid "thread_to_lwp: td_ta_map_id2thr %s"
 msgstr ""
 
-#: sol-thread.c:259
+#: sol-thread.c:258
 #, possible-c-format
 msgid "thread_to_lwp: td_thr_get_info: %s"
 msgstr ""
 
-#: sol-thread.c:265
+#: sol-thread.c:264
 #, possible-c-format
 msgid "thread_to_lwp: thread state not active: %s"
 msgstr ""
 
-#: sol-thread.c:296
+#: sol-thread.c:295
 #, possible-c-format
 msgid "lwp_to_thread: td_ta_map_lwp2thr: %s."
 msgstr ""
 
-#: sol-thread.c:302
+#: sol-thread.c:301
 #, possible-c-format
 msgid "lwp_to_thread: td_thr_validate: %s."
 msgstr ""
 
-#: sol-thread.c:308
+#: sol-thread.c:307
 #, possible-c-format
 msgid "lwp_to_thread: td_thr_get_info: %s."
 msgstr ""
 
 #. Inactive thread.
-#: sol-thread.c:360 sol-thread.c:396
+#: sol-thread.c:359 sol-thread.c:395
 msgid "This version of Solaris can't start inactive threads."
 msgstr ""
 
-#: sol-thread.c:362 sol-thread.c:398
+#: sol-thread.c:361 sol-thread.c:397
 #, possible-c-format
 msgid "Specified thread %ld seems to have terminated"
 msgstr ""
 
-#: sol-thread.c:451
+#: sol-thread.c:450
 msgid "sol_thread_fetch_registers: thread == 0"
 msgstr ""
 
-#: sol-thread.c:455
+#: sol-thread.c:454
 #, possible-c-format
 msgid "sol_thread_fetch_registers: td_ta_map_id2thr: %s"
 msgstr ""
 
-#: sol-thread.c:462
+#: sol-thread.c:461
 #, possible-c-format
 msgid "sol_thread_fetch_registers: td_thr_getgregs %s"
 msgstr ""
 
-#: sol-thread.c:472
+#: sol-thread.c:471
 #, possible-c-format
 msgid "sol_thread_fetch_registers: td_thr_getfpregs %s"
 msgstr ""
 
-#: sol-thread.c:507
+#: sol-thread.c:506
 #, possible-c-format
 msgid "sol_thread_store_registers: td_ta_map_id2thr %s"
 msgstr ""
 
-#: sol-thread.c:520
+#: sol-thread.c:519
 #, possible-c-format
 msgid "sol_thread_store_registers: td_thr_getgregs %s"
 msgstr ""
 
-#: sol-thread.c:524
+#: sol-thread.c:523
 #, possible-c-format
 msgid "sol_thread_store_registers: td_thr_getfpregs %s"
 msgstr ""
 
-#: sol-thread.c:536
+#: sol-thread.c:535
 #, possible-c-format
 msgid "sol_thread_store_registers: td_thr_setgregs %s"
 msgstr ""
 
-#: sol-thread.c:540
+#: sol-thread.c:539
 #, possible-c-format
 msgid "sol_thread_store_registers: td_thr_setfpregs %s"
 msgstr ""
 
-#: sol-thread.c:604
+#: sol-thread.c:603
 #, possible-c-format
 msgid "sol_thread_new_objfile: td_init: %s"
 msgstr ""
 
-#: sol-thread.c:632
+#: sol-thread.c:631
 #, possible-c-format
 msgid "Cannot initialize thread debugging library: %s"
 msgstr ""
 
-#: sol-thread.c:1165
+#: sol-thread.c:1166
 msgid "info sol-thread: failed to get info for thread."
 msgstr ""
 
-#: sol-thread.c:1281
+#: sol-thread.c:1282
 msgid "Show info on Solaris user threads."
 msgstr ""
 
-#: somread.c:70
+#: somread.c:69
 msgid "Couldn't read symbol dictionary!"
 msgstr ""
 
-#: somread.c:81
+#: somread.c:80
 msgid "Can't read in HP string table."
 msgstr ""
 
-#: somread.c:281
+#: somread.c:280
 #, possible-c-format
 msgid "Invalid symbol data; bad HP string table offset: %s"
 msgstr ""
 
-#: source.c:105
+#: source.c:103
 #, possible-c-format
 msgid "Number of source lines gdb will list by default is %s.\n"
 msgstr ""
 
-#: source.c:128
+#: source.c:126
 #, possible-c-format
 msgid "Filenames are displayed as \"%s\".\n"
 msgstr ""
 
-#: source.c:325
+#: source.c:321
 msgid "Can't find a default source file"
 msgstr ""
 
-#: source.c:435
+#: source.c:432
 msgid "Reinitialize source path to empty? "
 msgstr ""
 
-#: source.c:663
+#: source.c:660
 msgid "No current source file.\n"
 msgstr ""
 
-#: source.c:666
+#: source.c:663
 #, possible-c-format
 msgid "Current source file is %s\n"
 msgstr ""
 
-#: source.c:668
+#: source.c:665
 #, possible-c-format
 msgid "Compilation directory is %s\n"
 msgstr ""
 
-#: source.c:670
+#: source.c:667
 #, possible-c-format
 msgid "Located in %s\n"
 msgstr ""
 
-#: source.c:672
+#: source.c:669
 #, possible-c-format
 msgid "Contains %d line%s.\n"
 msgstr ""
 
-#: source.c:675
+#: source.c:672
 #, possible-c-format
 msgid "Source language is %s.\n"
 msgstr ""
 
-#: source.c:676
+#: source.c:673
 #, possible-c-format
 msgid "Compiled with %s debugging format.\n"
 msgstr ""
 
-#: source.c:677
+#: source.c:675
 #, possible-c-format
 msgid "%s preprocessor macro info.\n"
 msgstr ""
 
-#: source.c:1173
+#: source.c:1174
 msgid "invalid filename_display_string"
 msgstr ""
 
-#: source.c:1203
+#: source.c:1204
 msgid "Source file is more recent than executable."
 msgstr ""
 
-#: source.c:1409
+#: source.c:1410
 #, possible-c-format
 msgid "Line number %d out of range; %s has %d lines."
 msgstr ""
 
-#: source.c:1529
+#: source.c:1530
 msgid "No line number information available"
 msgstr ""
 
 #. Is there any case in which we get here, and have an address
 #. which the user would want to see?  If we have debugging symbols
 #. and no line numbers?
-#: source.c:1588
+#: source.c:1590
 #, possible-c-format
 msgid "Line number %d is out of range for \"%s\".\n"
 msgstr ""
 
-#: source.c:1624 source.c:1713
+#: source.c:1626 source.c:1715
 msgid "Expression not found"
 msgstr ""
 
-#: source.c:1681 source.c:1767
+#: source.c:1683 source.c:1769
 msgid "Expression not found\n"
 msgstr ""
 
-#: source.c:1878
+#: source.c:1880
 msgid "Too many arguments in command"
 msgstr ""
 
-#: source.c:1887
+#: source.c:1889
 #, possible-c-format
 msgid "Source path substitution rule matching `%s':\n"
 msgstr ""
 
-#: source.c:1889
+#: source.c:1891
 msgid "List of all source path substitution rules:\n"
 msgstr ""
 
-#: source.c:1916 source.c:1972
+#: source.c:1918 source.c:1974
 msgid "Incorrect usage, too many arguments in command"
 msgstr ""
 
-#: source.c:1926
+#: source.c:1928
 msgid "Delete all source path substitution rules? "
 msgstr ""
 
-#: source.c:1927
+#: source.c:1929
 msgid "Canceled"
 msgstr ""
 
-#: source.c:1949
+#: source.c:1951
 #, possible-c-format
 msgid "No substitution rule defined for `%s'"
 msgstr ""
 
-#: source.c:1969
+#: source.c:1971
 msgid "Incorrect usage, too few arguments in command"
 msgstr ""
 
-#: source.c:1975
+#: source.c:1977
 msgid "First argument must be at least one character long"
 msgstr ""
 
-#: source.c:2012
+#: source.c:2014
 msgid ""
 "Add directory DIR to beginning of search path for source files.\n"
 "Forget cached info on source file locations and line positions.\n"
@@ -24158,15 +24573,15 @@ msgid ""
 "With no argument, reset the search path to $cdir:$cwd, the default."
 msgstr ""
 
-#: source.c:2028
+#: source.c:2030
 msgid "Set the search path for finding source files."
 msgstr ""
 
-#: source.c:2030
+#: source.c:2032
 msgid "Show the search path for finding source files."
 msgstr ""
 
-#: source.c:2032
+#: source.c:2034
 msgid ""
 "$cwd in the path means the current working directory.\n"
 "$cdir in the path means the compilation directory of the source file.\n"
@@ -24175,18 +24590,18 @@ msgid ""
 "Setting the value to an empty string sets it to $cdir:$cwd, the default."
 msgstr ""
 
-#: source.c:2045
+#: source.c:2047
 msgid ""
 "Current search path for finding source files.\n"
 "$cwd in the path means the current working directory.\n"
 "$cdir in the path means the compilation directory of the source file."
 msgstr ""
 
-#: source.c:2053
+#: source.c:2055
 msgid "Information about the current source file."
 msgstr ""
 
-#: source.c:2055
+#: source.c:2057
 msgid ""
 "Core addresses of the code for a source line.\n"
 "Line can be specified as\n"
@@ -24201,35 +24616,35 @@ msgid ""
 "The address is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:2067
+#: source.c:2069
 msgid ""
 "Search for regular expression (see regex(3)) from last line listed.\n"
 "The matching line number is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:2073
+#: source.c:2075
 msgid ""
 "Search backward for regular expression (see regex(3)) from last line "
 "listed.\n"
 "The matching line number is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:2084
+#: source.c:2086
 msgid "Set number of source lines gdb will list by default."
 msgstr ""
 
-#: source.c:2085
+#: source.c:2087
 msgid "Show number of source lines gdb will list by default."
 msgstr ""
 
-#: source.c:2086
+#: source.c:2088
 msgid ""
 "Use this to choose how many source lines the \"list\" displays (unless\n"
 "the \"list\" argument explicitly specifies some other number).\n"
 "A value of \"unlimited\", or zero, means there's no limit."
 msgstr ""
 
-#: source.c:2095
+#: source.c:2097
 msgid ""
 "Usage: set substitute-path FROM TO\n"
 "Add a substitution rule replacing FROM into TO in source file names.\n"
@@ -24237,7 +24652,7 @@ msgid ""
 "is replaced by the new one."
 msgstr ""
 
-#: source.c:2103
+#: source.c:2105
 msgid ""
 "Usage: unset substitute-path [FROM]\n"
 "Delete the rule for substituting FROM in source file names.  If FROM\n"
@@ -24245,22 +24660,22 @@ msgid ""
 "If the debugger cannot find a rule for FROM, it will display a warning."
 msgstr ""
 
-#: source.c:2111
+#: source.c:2113
 msgid ""
 "Usage: show substitute-path [FROM]\n"
 "Print the rule for substituting FROM in source file names. If FROM\n"
 "is not specified, print all substitution rules."
 msgstr ""
 
-#: source.c:2119
+#: source.c:2121
 msgid "Set how to display filenames."
 msgstr ""
 
-#: source.c:2120
+#: source.c:2122
 msgid "Show how to display filenames."
 msgstr ""
 
-#: source.c:2121
+#: source.c:2123
 msgid ""
 "filename-display can be:\n"
 "  basename - display only basename of a filename\n"
@@ -24269,236 +24684,236 @@ msgid ""
 "By default, relative filenames are displayed."
 msgstr ""
 
-#: sparc-nat.c:237
+#: sparc-nat.c:235
 msgid "Couldn't get floating-point registers"
 msgstr ""
 
-#: sparc-nat.c:250
+#: sparc-nat.c:248
 msgid "Couldn't write floating-point registers"
 msgstr ""
 
-#: sparc-nat.c:296
+#: sparc-nat.c:294
 msgid "Couldn't get StackGhost cookie"
 msgstr ""
 
-#: spu-linux-nat.c:480
+#: spu-linux-nat.c:479
 #, possible-c-format
 msgid "Child process unexpectedly missing: %s"
 msgstr ""
 
-#: spu-tdep.c:1675 spu-tdep.c:1679
+#: spu-tdep.c:1672 spu-tdep.c:1676
 msgid "Could not determine address of single-step breakpoint."
 msgstr ""
 
-#: spu-tdep.c:2099 spu-tdep.c:2156 spu-tdep.c:2277 spu-tdep.c:2519
-#: spu-tdep.c:2598
+#: spu-tdep.c:2097 spu-tdep.c:2154 spu-tdep.c:2275 spu-tdep.c:2517
+#: spu-tdep.c:2596
 msgid "\"info spu\" is only supported on the SPU architecture."
 msgstr ""
 
-#: spu-tdep.c:2107
+#: spu-tdep.c:2105
 msgid "Could not read event_status."
 msgstr ""
 
-#: spu-tdep.c:2115
+#: spu-tdep.c:2113
 msgid "Could not read event_mask."
 msgstr ""
 
-#: spu-tdep.c:2130
+#: spu-tdep.c:2128
 #, possible-c-format
 msgid "Event Status 0x%s\n"
 msgstr ""
 
-#: spu-tdep.c:2131
+#: spu-tdep.c:2129
 #, possible-c-format
 msgid "Event Mask   0x%s\n"
 msgstr ""
 
-#: spu-tdep.c:2163
+#: spu-tdep.c:2161
 msgid "Could not read signal1."
 msgstr ""
 
-#: spu-tdep.c:2174
+#: spu-tdep.c:2172
 msgid "Could not read signal1_type."
 msgstr ""
 
-#: spu-tdep.c:2181
+#: spu-tdep.c:2179
 msgid "Could not read signal2."
 msgstr ""
 
-#: spu-tdep.c:2192
+#: spu-tdep.c:2190
 msgid "Could not read signal2_type."
 msgstr ""
 
-#: spu-tdep.c:2210
+#: spu-tdep.c:2208
 #, possible-c-format
 msgid "Signal 1 control word 0x%s "
 msgstr ""
 
-#: spu-tdep.c:2212
+#: spu-tdep.c:2210
 msgid "Signal 1 not pending "
 msgstr ""
 
-#: spu-tdep.c:2215 spu-tdep.c:2225
+#: spu-tdep.c:2213 spu-tdep.c:2223
 msgid "(Type Or)\n"
 msgstr ""
 
-#: spu-tdep.c:2217 spu-tdep.c:2227
+#: spu-tdep.c:2215 spu-tdep.c:2225
 msgid "(Type Overwrite)\n"
 msgstr ""
 
-#: spu-tdep.c:2220
+#: spu-tdep.c:2218
 #, possible-c-format
 msgid "Signal 2 control word 0x%s "
 msgstr ""
 
-#: spu-tdep.c:2222
+#: spu-tdep.c:2220
 msgid "Signal 2 not pending "
 msgstr ""
 
-#: spu-tdep.c:2287
+#: spu-tdep.c:2285
 msgid "Could not read mbox_info."
 msgstr ""
 
-#: spu-tdep.c:2296
+#: spu-tdep.c:2294
 msgid "Could not read ibox_info."
 msgstr ""
 
-#: spu-tdep.c:2305
+#: spu-tdep.c:2303
 msgid "Could not read wbox_info."
 msgstr ""
 
-#: spu-tdep.c:2527
+#: spu-tdep.c:2525
 msgid "Could not read dma_info."
 msgstr ""
 
-#: spu-tdep.c:2557 spu-tdep.c:2630
+#: spu-tdep.c:2555 spu-tdep.c:2628
 msgid "no query pending"
 msgstr ""
 
-#: spu-tdep.c:2562 spu-tdep.c:2631
+#: spu-tdep.c:2560 spu-tdep.c:2629
 msgid "'any' query pending"
 msgstr ""
 
-#: spu-tdep.c:2563 spu-tdep.c:2632
+#: spu-tdep.c:2561 spu-tdep.c:2630
 msgid "'all' query pending"
 msgstr ""
 
-#: spu-tdep.c:2564 spu-tdep.c:2633
+#: spu-tdep.c:2562 spu-tdep.c:2631
 msgid "undefined query type"
 msgstr ""
 
-#: spu-tdep.c:2567 spu-tdep.c:2636
+#: spu-tdep.c:2565 spu-tdep.c:2634
 #, possible-c-format
 msgid "Tag-Group Status  0x%s\n"
 msgstr ""
 
-#: spu-tdep.c:2569 spu-tdep.c:2638
+#: spu-tdep.c:2567 spu-tdep.c:2636
 #, possible-c-format
 msgid "Tag-Group Mask    0x%s (%s)\n"
 msgstr ""
 
-#: spu-tdep.c:2571
+#: spu-tdep.c:2569
 #, possible-c-format
 msgid "Stall-and-Notify  0x%s\n"
 msgstr ""
 
-#: spu-tdep.c:2573
+#: spu-tdep.c:2571
 #, possible-c-format
 msgid "Atomic Cmd Status 0x%s\n"
 msgstr ""
 
-#: spu-tdep.c:2606
+#: spu-tdep.c:2604
 msgid "Could not read proxydma_info."
 msgstr ""
 
-#: spu-tdep.c:2650
+#: spu-tdep.c:2648
 msgid "\"info spu\" must be followed by the name of an SPU facility.\n"
 msgstr ""
 
-#: spu-tdep.c:2674
+#: spu-tdep.c:2672
 #, possible-c-format
 msgid "Stopping for new SPE threads is %s.\n"
 msgstr ""
 
-#: spu-tdep.c:2682
+#: spu-tdep.c:2680
 #, possible-c-format
 msgid "Automatic software-cache flush is %s.\n"
 msgstr ""
 
-#: spu-tdep.c:2829 spu-tdep.c:2832 spu-tdep.c:2867
+#: spu-tdep.c:2827 spu-tdep.c:2830 spu-tdep.c:2865
 msgid "Various SPU specific commands."
 msgstr ""
 
-#: spu-tdep.c:2838
+#: spu-tdep.c:2836
 msgid "Set whether to stop for new SPE threads."
 msgstr ""
 
-#: spu-tdep.c:2840
+#: spu-tdep.c:2838
 msgid "Show whether to stop for new SPE threads."
 msgstr ""
 
-#: spu-tdep.c:2842
+#: spu-tdep.c:2840
 msgid ""
 "Use \"on\" to give control to the user when a new SPE thread\n"
 "enters its \"main\" function.\n"
 "Use \"off\" to disable stopping for new SPE threads."
 msgstr ""
 
-#: spu-tdep.c:2853
+#: spu-tdep.c:2851
 msgid "Set whether to automatically flush the software-managed cache."
 msgstr ""
 
-#: spu-tdep.c:2855
+#: spu-tdep.c:2853
 msgid "Show whether to automatically flush the software-managed cache."
 msgstr ""
 
-#: spu-tdep.c:2857
+#: spu-tdep.c:2855
 msgid ""
 "Use \"on\" to automatically flush the software-managed cache\n"
 "whenever SPE execution stops.\n"
 "Use \"off\" to never automatically flush the software-managed cache."
 msgstr ""
 
-#: spu-tdep.c:2872
+#: spu-tdep.c:2870
 msgid "Display SPU event facility status.\n"
 msgstr ""
 
-#: spu-tdep.c:2875
+#: spu-tdep.c:2873
 msgid "Display SPU signal notification facility status.\n"
 msgstr ""
 
-#: spu-tdep.c:2878
+#: spu-tdep.c:2876
 msgid "Display SPU mailbox facility status.\n"
 msgstr ""
 
-#: spu-tdep.c:2881
+#: spu-tdep.c:2879
 msgid "Display MFC DMA status.\n"
 msgstr ""
 
-#: spu-tdep.c:2884
+#: spu-tdep.c:2882
 msgid "Display MFC Proxy-DMA status.\n"
 msgstr ""
 
-#: stabsread.c:166
+#: stabsread.c:163
 #, possible-c-format
 msgid "invalid C++ abbreviation `%s'"
 msgstr ""
 
-#: stabsread.c:173
+#: stabsread.c:170
 #, possible-c-format
 msgid "register number %d too large (max %d) in symbol %s"
 msgstr ""
 
-#: stabsread.c:252
+#: stabsread.c:249
 #, possible-c-format
 msgid "Invalid symbol data: type number (%d,%d) out of range at symtab pos %d."
 msgstr ""
 
-#: stabsread.c:304
+#: stabsread.c:301
 msgid "GDB internal error: bad real_filenum"
 msgstr ""
 
-#: stabsread.c:659
+#: stabsread.c:656
 #, possible-c-format
 msgid "Bad stabs string '%s'"
 msgstr ""
@@ -24508,82 +24923,82 @@ msgstr ""
 msgid "Unknown C++ symbol name `%s'"
 msgstr ""
 
-#: stabsread.c:1474
+#: stabsread.c:1472
 msgid "couldn't parse type; debugger out of date?"
 msgstr ""
 
-#: stabsread.c:1595
+#: stabsread.c:1593
 #, possible-c-format
 msgid "Unrecognized cross-reference type `%c'"
 msgstr ""
 
-#: stabsread.c:1823
+#: stabsread.c:1821
 #, possible-c-format
 msgid ""
 "Prototyped function type didn't end arguments with `#':\n"
 "%s"
 msgstr ""
 
-#: stabsread.c:1936
+#: stabsread.c:1934
 #, possible-c-format
 msgid "invalid (minimal) member type data format at symtab pos %d."
 msgstr ""
 
-#: stabsread.c:2040
+#: stabsread.c:2038
 msgid "GDB internal error, type is NULL in stabsread.c."
 msgstr ""
 
-#: stabsread.c:2068
+#: stabsread.c:2066
 #, possible-c-format
 msgid "Unknown builtin type %d"
 msgstr ""
 
-#: stabsread.c:2244
+#: stabsread.c:2242
 #, possible-c-format
 msgid "Method has bad physname %s\n"
 msgstr ""
 
-#: stabsread.c:2433
+#: stabsread.c:2431
 #, possible-c-format
 msgid "const/volatile indicator missing, got '%c'"
 msgstr ""
 
-#: stabsread.c:2517
+#: stabsread.c:2515
 #, possible-c-format
 msgid "member function type missing, got '%c'"
 msgstr ""
 
-#: stabsread.c:2794
+#: stabsread.c:2792
 #, possible-c-format
 msgid "C++ abbreviated type name unknown at symtab pos %d"
 msgstr ""
 
-#: stabsread.c:3156
+#: stabsread.c:3154
 #, possible-c-format
 msgid "Unknown virtual character `%c' for baseclass"
 msgstr ""
 
-#: stabsread.c:3174
+#: stabsread.c:3172
 #, possible-c-format
 msgid "Unknown visibility `%c' for baseclass"
 msgstr ""
 
-#: stabsread.c:3283
+#: stabsread.c:3281
 #, possible-c-format
 msgid "virtual function table pointer not found when defining class `%s'"
 msgstr ""
 
-#: stabsread.c:3396
+#: stabsread.c:3394
 #, possible-c-format
 msgid "Unknown visibility `%c' for field"
 msgstr ""
 
-#: stabsread.c:3438
+#: stabsread.c:3436
 #, possible-c-format
 msgid "struct/union type gets multiply defined: %s%s"
 msgstr ""
 
-#: stabsread.c:4243
+#: stabsread.c:4241
 #, possible-c-format
 msgid "base type %d of range type is not defined"
 msgstr ""
@@ -24592,90 +25007,90 @@ msgstr ""
 #. output contained `(0,41),(0,42)=@s8;-16;,(0,43),(0,1);' where should
 #. have been present ";-16,(0,43)" reference instead.  This way the
 #. excessive ";" marker prematurely stops the parameters parsing.
-#: stabsread.c:4284
+#: stabsread.c:4282
 msgid "Invalid (empty) method arguments"
 msgstr ""
 
-#: stabsread.c:4328
+#: stabsread.c:4326
 msgid "Invalid symbol data: common block within common block"
 msgstr ""
 
-#: stabsread.c:4354
+#: stabsread.c:4352
 msgid "ECOMM symbol unmatched by BCOMM"
 msgstr ""
 
-#: stabsread.c:4556
+#: stabsread.c:4554
 msgid "need a type name"
 msgstr ""
 
-#: stabsread.c:4583
+#: stabsread.c:4581
 #, possible-c-format
 msgid "forward-referenced types left unresolved, type code %d."
 msgstr ""
 
-#: stabsread.c:4735
+#: stabsread.c:4733
 #, possible-c-format
 msgid "%s: common block `%s' from global_sym_chain unresolved"
 msgstr ""
 
-#: stabsread.c:4816 stabsread.c:4821
+#: stabsread.c:4814 stabsread.c:4819
 #, possible-c-format
 msgid "invalid symbol name \"%s\""
 msgstr ""
 
-#: stack.c:742
+#: stack.c:739
 #, possible-c-format
 msgid "Debugger's willingness to use disassemble-next-line is %s.\n"
 msgstr ""
 
-#: stack.c:949
+#: stack.c:946
 msgid "Trying to set NULL pspace."
 msgstr ""
 
-#: stack.c:1305 stack.c:1385
+#: stack.c:1302 stack.c:1382
 msgid "Too many args in frame specification"
 msgstr ""
 
-#: stack.c:1474
+#: stack.c:1471
 #, possible-c-format
 msgid "Stack level %d, frame at "
 msgstr ""
 
-#: stack.c:1479
+#: stack.c:1476
 msgid "Stack frame at "
 msgstr ""
 
-#: stack.c:1533
+#: stack.c:1530
 #, possible-c-format
 msgid " Outermost frame: %s\n"
 msgstr ""
 
-#: stack.c:1842
+#: stack.c:1839
 msgid "(More stack frames follow...)\n"
 msgstr ""
 
-#: stack.c:1852
+#: stack.c:1849
 #, possible-c-format
 msgid "Backtrace stopped: %s\n"
 msgstr ""
 
-#: stack.c:2084
+#: stack.c:2081
 msgid "PC unavailable, cannot determine locals.\n"
 msgstr ""
 
-#: stack.c:2108
+#: stack.c:2105
 msgid "No locals.\n"
 msgstr ""
 
-#: stack.c:2167
+#: stack.c:2164
 msgid "PC unavailable, cannot determine args.\n"
 msgstr ""
 
-#: stack.c:2190
+#: stack.c:2187
 msgid "No arguments.\n"
 msgstr ""
 
-#: stack.c:2319
+#: stack.c:2316
 msgid "Initial frame selected; you cannot go up."
 msgstr ""
 
@@ -24683,40 +25098,40 @@ msgstr ""
 #. "down" means to really go down (and let me know if that is
 #. impossible), but "down 9999" can be used to mean go all the
 #. way down without getting an error.
-#: stack.c:2356
+#: stack.c:2353
 msgid "Bottom (innermost) frame selected; you cannot go down."
 msgstr ""
 
-#: stack.c:2393
+#: stack.c:2390
 msgid "Can not force return from an inlined function."
 msgstr ""
 
-#: stack.c:2417
+#: stack.c:2414
 msgid ""
 "Return value type not available for selected stack frame.\n"
 "Please use an explicit cast of the value to return."
 msgstr ""
 
-#: stack.c:2465
+#: stack.c:2462
 #, possible-c-format
 msgid "%sMake selected stack frame return now? "
 msgstr ""
 
-#: stack.c:2468
+#: stack.c:2465
 #, possible-c-format
 msgid "%sMake %s return now? "
 msgstr ""
 
-#: stack.c:2471
+#: stack.c:2468
 msgid "Not confirmed"
 msgstr ""
 
-#: stack.c:2559
+#: stack.c:2556
 #, possible-c-format
 msgid "'%s' not within current stack frame.\n"
 msgstr ""
 
-#: stack.c:2613
+#: stack.c:2610
 msgid ""
 "Make selected stack frame return to its caller.\n"
 "Control remains in the debugger, but when you continue\n"
@@ -24724,31 +25139,31 @@ msgid ""
 "If an argument is given, it is an expression for the value to return."
 msgstr ""
 
-#: stack.c:2619
+#: stack.c:2616
 msgid ""
 "Select and print stack frame that called this one.\n"
 "An argument says how many frames up to go."
 msgstr ""
 
-#: stack.c:2622
+#: stack.c:2619
 msgid ""
 "Same as the `up' command, but does not print anything.\n"
 "This is useful in command scripts."
 msgstr ""
 
-#: stack.c:2626
+#: stack.c:2623
 msgid ""
 "Select and print stack frame called by this one.\n"
 "An argument says how many frames down to go."
 msgstr ""
 
-#: stack.c:2631
+#: stack.c:2628
 msgid ""
 "Same as the `down' command, but does not print anything.\n"
 "This is useful in command scripts."
 msgstr ""
 
-#: stack.c:2635
+#: stack.c:2632
 msgid ""
 "Select and print a stack frame.\n"
 "With no argument, print the selected stack frame.  (See also \"info frame"
@@ -24759,18 +25174,18 @@ msgid ""
 "a command file or a user-defined command."
 msgstr ""
 
-#: stack.c:2648
+#: stack.c:2645
 msgid "Print the current stack frame.\n"
 msgstr ""
 
-#: stack.c:2651
+#: stack.c:2648
 msgid ""
 "Select a stack frame without printing anything.\n"
 "An argument specifies the frame to select.\n"
 "It can be a stack frame number or the address of the frame.\n"
 msgstr ""
 
-#: stack.c:2656
+#: stack.c:2653
 msgid ""
 "Print backtrace of all stack frames, or innermost COUNT frames.\n"
 "With a negative argument, print outermost -COUNT frames.\n"
@@ -24779,7 +25194,7 @@ msgid ""
 "on this backtrace.\n"
 msgstr ""
 
-#: stack.c:2666
+#: stack.c:2663
 msgid ""
 "Print backtrace of all stack frames, or innermost COUNT frames\n"
 "and the values of the local variables.\n"
@@ -24787,65 +25202,65 @@ msgid ""
 "Usage: T <count>\n"
 msgstr ""
 
-#: stack.c:2675
+#: stack.c:2672
 msgid "Backtrace of the stack, or innermost COUNT frames."
 msgstr ""
 
-#: stack.c:2678
+#: stack.c:2675
 msgid "All about selected stack frame, or frame at ADDR."
 msgstr ""
 
-#: stack.c:2681
+#: stack.c:2678
 msgid "Local variables of current stack frame."
 msgstr ""
 
-#: stack.c:2683
+#: stack.c:2680
 msgid "Argument variables of current stack frame."
 msgstr ""
 
-#: stack.c:2686
+#: stack.c:2683
 msgid "Argument and local variables of current stack frame."
 msgstr ""
 
-#: stack.c:2689
+#: stack.c:2686
 msgid ""
 "Select the stack frame that contains <func>.\n"
 "Usage: func <name>\n"
 msgstr ""
 
-#: stack.c:2695
+#: stack.c:2692
 msgid "Set printing of non-scalar frame arguments"
 msgstr ""
 
-#: stack.c:2696
+#: stack.c:2693
 msgid "Show printing of non-scalar frame arguments"
 msgstr ""
 
-#: stack.c:2700
+#: stack.c:2697
 msgid "Set whether to print frame arguments in raw form."
 msgstr ""
 
-#: stack.c:2701
+#: stack.c:2698
 msgid "Show whether to print frame arguments in raw form."
 msgstr ""
 
-#: stack.c:2702
+#: stack.c:2699
 msgid ""
 "If set, frame arguments are printed in raw form, bypassing any\n"
 "pretty-printers for that value."
 msgstr ""
 
-#: stack.c:2709
+#: stack.c:2706
 msgid ""
 "Set whether to disassemble next source line or insn when execution stops."
 msgstr ""
 
-#: stack.c:2711
+#: stack.c:2708
 msgid ""
 "Show whether to disassemble next source line or insn when execution stops."
 msgstr ""
 
-#: stack.c:2713
+#: stack.c:2710
 msgid ""
 "If ON, GDB will display disassembly of the next source line, in addition\n"
 "to displaying the source line itself.  If the next source line cannot\n"
@@ -24858,15 +25273,15 @@ msgid ""
 "source line."
 msgstr ""
 
-#: stack.c:2730
+#: stack.c:2727
 msgid "Set printing of function arguments at function entry"
 msgstr ""
 
-#: stack.c:2732
+#: stack.c:2729
 msgid "Show printing of function arguments at function entry"
 msgstr ""
 
-#: stack.c:2734
+#: stack.c:2731
 msgid ""
 "GDB can sometimes determine the values of function arguments at entry,\n"
 "in addition to their current values.  This option tells GDB whether\n"
@@ -24874,147 +25289,147 @@ msgid ""
 "or both.  Note that one or both of these values may be <optimized out>."
 msgstr ""
 
-#: stap-probe.c:173
+#: stap-probe.c:172
 #, possible-c-format
 msgid "SystemTap Probe expression debugging is %s.\n"
 msgstr ""
 
-#: stap-probe.c:318
+#: stap-probe.c:317
 #, possible-c-format
 msgid "Invalid opcode in expression `%s' for SystemTapprobe"
 msgstr ""
 
-#: stap-probe.c:366
+#: stap-probe.c:365
 msgid "Undefined bitness for probe."
 msgstr ""
 
-#: stap-probe.c:640
+#: stap-probe.c:639
 #, possible-c-format
 msgid "Invalid register displacement syntax on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:706
+#: stap-probe.c:705
 #, possible-c-format
 msgid "Missing register name suffix on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:716
+#: stap-probe.c:715
 #, possible-c-format
 msgid "Missing indirection suffix on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:799
+#: stap-probe.c:791
 #, possible-c-format
 msgid "Invalid operator `%c' for register displacement on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:841 stap-probe.c:869
+#: stap-probe.c:844 stap-probe.c:872
 #, possible-c-format
 msgid "Invalid constant suffix on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:847
+#: stap-probe.c:850
 #, possible-c-format
 msgid "Unknown numeric token on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:876
+#: stap-probe.c:879
 #, possible-c-format
 msgid "Operator `%c' not recognized on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:908
+#: stap-probe.c:911
 #, possible-c-format
 msgid "Missign close-paren on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:916
+#: stap-probe.c:919
 #, possible-c-format
 msgid "Cannot parse expression `%s'."
 msgstr ""
 
-#: stap-probe.c:959
+#: stap-probe.c:962
 #, possible-c-format
 msgid "Invalid operator `%c' on expression `%s'."
 msgstr ""
 
 #. We have an error, because we don't expect anything
 #. except 1, 2, 4 and 8.
-#: stap-probe.c:1158
+#: stap-probe.c:1161
 #, possible-c-format
 msgid "unrecognized bitness %s%c' for probe `%s'"
 msgstr ""
 
-#: stap-probe.c:1226
+#: stap-probe.c:1229
 msgid ""
 "The SystemTap SDT probe support is not fully implemented on this target;\n"
 "you will not be able to inspect the arguments of the probes.\n"
 "Please report a bug against GDB requesting a port to this target."
 msgstr ""
 
-#: stap-probe.c:1384 stap-probe.c:1416
+#: stap-probe.c:1387 stap-probe.c:1419
 #, possible-c-format
 msgid "No SystemTap probe at PC %s"
 msgstr ""
 
-#: stap-probe.c:1391
+#: stap-probe.c:1394
 #, possible-c-format
 msgid "Invalid probe argument %d -- probe has %u arguments available"
 msgstr ""
 
-#: stap-probe.c:1430
+#: stap-probe.c:1433
 #, possible-c-format
 msgid "Invalid probe argument %d -- probe has %d arguments available"
 msgstr ""
 
-#: stap-probe.c:1457
+#: stap-probe.c:1460
 msgid "Could not read the value of a SystemTap semaphore."
 msgstr ""
 
-#: stap-probe.c:1474
+#: stap-probe.c:1477
 msgid "Could not write the value of a SystemTap semaphore."
 msgstr ""
 
-#: stap-probe.c:1560
+#: stap-probe.c:1563
 #, possible-c-format
 msgid "corrupt probe name when reading `%s'"
 msgstr ""
 
-#: stap-probe.c:1596
+#: stap-probe.c:1599
 #, possible-c-format
 msgid "corrupt probe argument when reading `%s'"
 msgstr ""
 
-#: stap-probe.c:1637
+#: stap-probe.c:1640
 #, possible-c-format
 msgid "could not obtain base address for SystemTap section on objfile `%s'."
 msgstr ""
 
 #. If we are here, it means we have failed to parse every known
 #. probe.
-#: stap-probe.c:1697
+#: stap-probe.c:1700
 msgid "could not parse SystemTap probe(s) from inferior"
 msgstr ""
 
-#: stap-probe.c:1717
+#: stap-probe.c:1720
 msgid "Semaphore"
 msgstr ""
 
-#: stap-probe.c:1775
+#: stap-probe.c:1778
 msgid "Set SystemTap expression debugging."
 msgstr ""
 
-#: stap-probe.c:1776
+#: stap-probe.c:1779
 msgid "Show SystemTap expression debugging."
 msgstr ""
 
-#: stap-probe.c:1777
+#: stap-probe.c:1780
 msgid ""
 "When non-zero, the internal representation of SystemTap expressions will be "
 "printed."
 msgstr ""
 
-#: stap-probe.c:1811
+#: stap-probe.c:1814
 msgid ""
 "Show information about SystemTap static probes.\n"
 "Usage: info probes stap [PROVIDER [NAME [OBJECT]]]\n"
@@ -25024,97 +25439,97 @@ msgid ""
 "OBJECT matches the executable or shared library name."
 msgstr ""
 
-#: std-regs.c:82
+#: std-regs.c:79
 msgid "Standard register ``$sp'' is not available for this target"
 msgstr ""
 
-#: std-regs.c:92
+#: std-regs.c:89
 msgid "Standard register ``$ps'' is not available for this target"
 msgstr ""
 
-#: symfile.c:591
+#: symfile.c:589
 #, possible-c-format
 msgid "no loadable sections found in added symbol-file %s"
 msgstr ""
 
-#: symfile.c:706
+#: symfile.c:704
 #, possible-c-format
 msgid "section %s not found in %s"
 msgstr ""
 
-#: symfile.c:1170
+#: symfile.c:1168
 #, possible-c-format
 msgid "Load new symbol table from \"%s\"? "
 msgstr ""
 
-#: symfile.c:1204
+#: symfile.c:1202
 msgid "expanding to full symbols..."
 msgstr ""
 
-#: symfile.c:1338
+#: symfile.c:1336
 #, possible-c-format
 msgid "Discard symbol table from `%s'? "
 msgstr ""
 
-#: symfile.c:1340
+#: symfile.c:1338
 msgid "Discard symbol table? "
 msgstr ""
 
-#: symfile.c:1351
+#: symfile.c:1349
 msgid "No symbol file now.\n"
 msgstr ""
 
-#: symfile.c:1425
+#: symfile.c:1423
 #, possible-c-format
 msgid ""
 "the debug information found in \"%s\" does not match \"%s\" (CRC mismatch).\n"
 msgstr ""
 
-#: symfile.c:1441
+#: symfile.c:1439
 #, possible-c-format
 msgid ""
 "The directory where separate debug symbols are searched for is \"%s\".\n"
 msgstr ""
 
-#: symfile.c:1666 tracefile.c:328
+#: symfile.c:1662 tracefile.c:328
 #, possible-c-format
 msgid "unknown option `%s'"
 msgstr ""
 
-#: symfile.c:1677
+#: symfile.c:1673
 msgid "no symbol file name was specified"
 msgstr ""
 
-#: symfile.c:1857
+#: symfile.c:1853
 #, possible-c-format
 msgid "I'm sorry, Dave, I can't do that.  Symbol format `%s' unknown."
 msgstr ""
 
-#: symfile.c:2008
+#: symfile.c:2004
 #, possible-c-format
 msgid "Download verify read failed at %s"
 msgstr ""
 
-#: symfile.c:2011
+#: symfile.c:2007
 #, possible-c-format
 msgid "Download verify compare failed at %s"
 msgstr ""
 
-#: symfile.c:2161
+#: symfile.c:2157
 msgid "Load failed"
 msgstr ""
 
-#: symfile.c:2294
+#: symfile.c:2290
 msgid "add-symbol-file takes a file name and an address"
 msgstr ""
 
-#: symfile.c:2353
+#: symfile.c:2349
 msgid ""
 "USAGE: add-symbol-file <filename> <textaddress> [-readnow] [-s <secname> "
 "<addr>]*"
 msgstr ""
 
-#: symfile.c:2363
+#: symfile.c:2359
 #, possible-c-format
 msgid "The address where %s has been loaded is missing"
 msgstr ""
@@ -25124,142 +25539,142 @@ msgstr ""
 #. functions.  We have to split this up into separate print
 #. statements because hex_string returns a local static
 #. string.
-#: symfile.c:2371
+#: symfile.c:2367
 #, possible-c-format
 msgid "add symbol table from file \"%s\" at\n"
 msgstr ""
 
-#: symfile.c:2427
+#: symfile.c:2423
 msgid "remove-symbol-file: no symbol file provided"
 msgstr ""
 
-#: symfile.c:2439
+#: symfile.c:2435
 msgid "Missing address argument"
 msgstr ""
 
-#: symfile.c:2442 symfile.c:2460
+#: symfile.c:2438 symfile.c:2456
 #, possible-c-format
 msgid "Junk after %s"
 msgstr ""
 
-#: symfile.c:2476
+#: symfile.c:2472
 msgid "No symbol file found"
 msgstr ""
 
-#: symfile.c:2479
+#: symfile.c:2475
 #, possible-c-format
 msgid "Remove symbol table from file \"%s\"? "
 msgstr ""
 
 #. FIXME, should use print_sys_errmsg but it's not filtered.
-#: symfile.c:2533
+#: symfile.c:2529
 #, possible-c-format
 msgid "`%s' has disappeared; keeping its symbols.\n"
 msgstr ""
 
-#: symfile.c:2545
+#: symfile.c:2541
 #, possible-c-format
 msgid "`%s' has changed; re-reading symbols.\n"
 msgstr ""
 
-#: symfile.c:2609
+#: symfile.c:2605
 #, possible-c-format
 msgid "Can't open %s to read symbols."
 msgstr ""
 
-#: symfile.c:2619
+#: symfile.c:2615
 #, possible-c-format
 msgid "Can't read symbols from %s: %s."
 msgstr ""
 
-#: symfile.c:2701
+#: symfile.c:2697
 msgid "(no debugging symbols found)\n"
 msgstr ""
 
-#: symfile.c:2782
+#: symfile.c:2778
 #, possible-c-format
 msgid "Mapping between filename extension and source language is \"%s\".\n"
 msgstr ""
 
-#: symfile.c:2796
+#: symfile.c:2792
 #, possible-c-format
 msgid "'%s': Filename extension must begin with '.'"
 msgstr ""
 
-#: symfile.c:2803 symfile.c:2814
+#: symfile.c:2799 symfile.c:2810
 #, possible-c-format
 msgid "'%s': two arguments required -- filename extension and language"
 msgstr ""
 
-#: symfile.c:2850
+#: symfile.c:2846
 msgid "Filename extensions and the languages they represent:"
 msgstr ""
 
-#: symfile.c:3352
+#: symfile.c:3387
 msgid "No sections are mapped.\n"
 msgstr ""
 
-#: symfile.c:3365 symfile.c:3410
+#: symfile.c:3400 symfile.c:3445
 msgid ""
 "Overlay debugging not enabled.  Use either the 'overlay auto' or\n"
 "the 'overlay manual' command."
 msgstr ""
 
-#: symfile.c:3370 symfile.c:3415
+#: symfile.c:3405 symfile.c:3450
 msgid "Argument required: name of an overlay section"
 msgstr ""
 
-#: symfile.c:3389
+#: symfile.c:3424
 #, possible-c-format
 msgid "Note: section %s unmapped by overlap\n"
 msgstr ""
 
-#: symfile.c:3396 symfile.c:3426
+#: symfile.c:3431 symfile.c:3461
 #, possible-c-format
 msgid "No overlay section called %s"
 msgstr ""
 
-#: symfile.c:3422
+#: symfile.c:3457
 #, possible-c-format
 msgid "Section %s is not mapped"
 msgstr ""
 
-#: symfile.c:3439
+#: symfile.c:3474
 msgid "Automatic overlay debugging enabled."
 msgstr ""
 
-#: symfile.c:3452
+#: symfile.c:3487
 msgid "Overlay debugging enabled."
 msgstr ""
 
-#: symfile.c:3465
+#: symfile.c:3500
 msgid "Overlay debugging disabled."
 msgstr ""
 
-#: symfile.c:3476
+#: symfile.c:3511
 msgid "This target does not know how to read its overlay state."
 msgstr ""
 
-#: symfile.c:3579
+#: symfile.c:3614
 msgid ""
 "Error reading inferior's overlay table: couldn't find `_novlys' variable\n"
 "in inferior.  Use `overlay manual' mode."
 msgstr ""
 
-#: symfile.c:3588 symfile.c:3674
+#: symfile.c:3623 symfile.c:3709
 msgid ""
 "Error reading inferior's overlay table: couldn't find `_ovly_table' array\n"
 "in inferior.  Use `overlay manual' mode."
 msgstr ""
 
-#: symfile.c:3946
+#: symfile.c:3981
 msgid ""
 "Load symbol table from executable file FILE.\n"
 "The `file' command can also load symbol tables, as well as setting the file\n"
 "to execute."
 msgstr ""
 
-#: symfile.c:3952
+#: symfile.c:3987
 msgid ""
 "Load symbols from FILE, assuming FILE has been dynamically loaded.\n"
 "Usage: add-symbol-file FILE ADDR [-s <SECT> <SECT_ADDR> -s <SECT> "
@@ -25270,7 +25685,7 @@ msgid ""
 "with the text.  SECT is a section name to be loaded at SECT_ADDR."
 msgstr ""
 
-#: symfile.c:3963
+#: symfile.c:3998
 msgid ""
 "Remove a symbol file added via the add-symbol-file command.\n"
 "Usage: remove-symbol-file FILENAME\n"
@@ -25279,84 +25694,84 @@ msgid ""
 "that lies within the boundaries of this symbol file in memory."
 msgstr ""
 
-#: symfile.c:3971
+#: symfile.c:4006
 msgid ""
 "Dynamically load FILE into the running program, and record its symbols\n"
 "for access from GDB.\n"
 "A load OFFSET may also be given."
 msgstr ""
 
-#: symfile.c:3978
+#: symfile.c:4013
 msgid "Commands for debugging overlays."
 msgstr ""
 
-#: symfile.c:3985
+#: symfile.c:4020
 msgid "Assert that an overlay section is mapped."
 msgstr ""
 
-#: symfile.c:3988
+#: symfile.c:4023
 msgid "Assert that an overlay section is unmapped."
 msgstr ""
 
-#: symfile.c:3991
+#: symfile.c:4026
 msgid "List mappings of overlay sections."
 msgstr ""
 
-#: symfile.c:3994
+#: symfile.c:4029
 msgid "Enable overlay debugging."
 msgstr ""
 
-#: symfile.c:3996
+#: symfile.c:4031
 msgid "Disable overlay debugging."
 msgstr ""
 
-#: symfile.c:3998
+#: symfile.c:4033
 msgid "Enable automatic overlay debugging."
 msgstr ""
 
-#: symfile.c:4000
+#: symfile.c:4035
 msgid "Read the overlay mapping state from the target."
 msgstr ""
 
-#: symfile.c:4005
+#: symfile.c:4040
 msgid "Set mapping between filename extension and source language."
 msgstr ""
 
-#: symfile.c:4006
+#: symfile.c:4041
 msgid "Show mapping between filename extension and source language."
 msgstr ""
 
-#: symfile.c:4007
+#: symfile.c:4042
 msgid "Usage: set extension-language .foo bar"
 msgstr ""
 
-#: symfile.c:4014
+#: symfile.c:4049
 msgid "All filename extensions associated with a source language."
 msgstr ""
 
-#: symfile.c:4017
+#: symfile.c:4052
 msgid "Set the directories where separate debug symbols are searched for."
 msgstr ""
 
-#: symfile.c:4018
+#: symfile.c:4053
 msgid "Show the directories where separate debug symbols are searched for."
 msgstr ""
 
-#: symfile.c:4019
+#: symfile.c:4054
 msgid ""
 "Separate debug symbols are first searched for in the same\n"
 "directory as the binary, then in the `"
 msgstr ""
 
-#: symfile.c:4030
+#: symfile.c:4065
 msgid "Set printing of symbol loading messages."
 msgstr ""
 
-#: symfile.c:4031
+#: symfile.c:4066
 msgid "Show printing of symbol loading messages."
 msgstr ""
 
-#: symfile.c:4032
+#: symfile.c:4067
 msgid ""
 "off   == turn all messages off\n"
 "brief == print messages for the executable,\n"
@@ -25365,119 +25780,119 @@ msgid ""
 "         and messages for each shared library."
 msgstr ""
 
-#: symfile-debug.c:653
+#: symfile-debug.c:651
 #, possible-c-format
 msgid "Symfile debugging is %s.\n"
 msgstr ""
 
-#: symfile-debug.c:664
+#: symfile-debug.c:662
 msgid "Set debugging of the symfile functions."
 msgstr ""
 
-#: symfile-debug.c:665
+#: symfile-debug.c:663
 msgid "Show debugging of the symfile functions."
 msgstr ""
 
-#: symfile-debug.c:666
+#: symfile-debug.c:664
 msgid "When enabled, all calls to the symfile functions are logged."
 msgstr ""
 
-#: symfile-mem.c:97
+#: symfile-mem.c:96
 msgid "add-symbol-file-from-memory not supported for this target"
 msgstr ""
 
-#: symfile-mem.c:102
+#: symfile-mem.c:101
 msgid "Failed to read a valid object file image from memory."
 msgstr ""
 
-#: symfile-mem.c:114
+#: symfile-mem.c:113
 #, possible-c-format
 msgid "Got object file from memory but can't read symbols: %s."
 msgstr ""
 
-#: symfile-mem.c:151
+#: symfile-mem.c:150
 msgid "add-symbol-file-from-memory requires an expression argument"
 msgstr ""
 
-#: symfile-mem.c:161
+#: symfile-mem.c:160
 msgid "Must use symbol-file or exec-file before add-symbol-file-from-memory."
 msgstr ""
 
-#: symfile-mem.c:234
+#: symfile-mem.c:215
 msgid ""
 "Could not load vsyscall page because no executable was specified\n"
 "try using the \"file\" command first."
 msgstr ""
 
-#: symfile-mem.c:267
+#: symfile-mem.c:245
 msgid ""
 "Load the symbols out of memory from a dynamically loaded object file.\n"
 "Give an expression for the address of the file's shared object file header."
 msgstr ""
 
-#: symmisc.c:87
+#: symmisc.c:84
 #, possible-c-format
 msgid "Byte cache statistics for '%s':\n"
 msgstr ""
 
-#: symmisc.c:110
+#: symmisc.c:108
 #, possible-c-format
 msgid "Statistics for '%s':\n"
 msgstr ""
 
-#: symmisc.c:112
+#: symmisc.c:110
 #, possible-c-format
 msgid "  Number of \"stab\" symbols read: %d\n"
 msgstr ""
 
-#: symmisc.c:115
+#: symmisc.c:113
 #, possible-c-format
 msgid "  Number of \"minimal\" symbols read: %d\n"
 msgstr ""
 
-#: symmisc.c:118
+#: symmisc.c:116
 #, possible-c-format
 msgid "  Number of \"partial\" symbols read: %d\n"
 msgstr ""
 
-#: symmisc.c:121
+#: symmisc.c:119
 #, possible-c-format
 msgid "  Number of \"full\" symbols read: %d\n"
 msgstr ""
 
-#: symmisc.c:124
+#: symmisc.c:122
 #, possible-c-format
 msgid "  Number of \"types\" defined: %d\n"
 msgstr ""
 
-#: symmisc.c:137
+#: symmisc.c:135
 #, possible-c-format
 msgid "  Number of symbol tables: %d\n"
 msgstr ""
 
-#: symmisc.c:138
+#: symmisc.c:136
 #, possible-c-format
 msgid "  Number of symbol tables with line tables: %d\n"
 msgstr ""
 
-#: symmisc.c:140
+#: symmisc.c:138
 #, possible-c-format
 msgid "  Number of symbol tables with blockvectors: %d\n"
 msgstr ""
 
-#: symmisc.c:144
+#: symmisc.c:142
 #, possible-c-format
 msgid "  Space used by a.out string tables: %d\n"
 msgstr ""
 
-#: symmisc.c:146
+#: symmisc.c:144
 #, possible-c-format
-msgid "  Total memory used for objfile obstack: %d\n"
+msgid "  Total memory used for objfile obstack: %s\n"
 msgstr ""
 
-#: symmisc.c:148
+#: symmisc.c:147
 #, possible-c-format
-msgid "  Total memory used for BFD obstack: %d\n"
+msgid "  Total memory used for BFD obstack: %s\n"
 msgstr ""
 
 #: symmisc.c:150
@@ -25495,7 +25910,7 @@ msgstr ""
 msgid "  Total memory used for file name cache: %d\n"
 msgstr ""
 
-#: symmisc.c:279
+#: symmisc.c:278
 #, possible-c-format
 msgid "internal error:  minimal symbol count %d != %d"
 msgstr ""
@@ -25504,35 +25919,35 @@ msgstr ""
 msgid "Arguments missing: an output file name and an optional symbol file name"
 msgstr ""
 
-#: symmisc.c:652
+#: symmisc.c:656
 msgid "print-msymbols takes an output file name and optional symbol file name"
 msgstr ""
 
-#: symmisc.c:887
+#: symmisc.c:915
 msgid "Extra arguments after regexp."
 msgstr ""
 
-#: symmisc.c:933
+#: symmisc.c:961
 msgid ""
 "Print dump of current symbol definitions.\n"
 "Entries in the full symbol table are dumped to file OUTFILE.\n"
 "If a SOURCE file is specified, dump only that file's symbols."
 msgstr ""
 
-#: symmisc.c:939
+#: symmisc.c:967
 msgid ""
 "Print dump of current minimal symbol definitions.\n"
 "Entries in the minimal symbol table are dumped to file OUTFILE.\n"
 "If a SOURCE file is specified, dump only that file's minimal symbols."
 msgstr ""
 
-#: symmisc.c:946
+#: symmisc.c:974
 msgid ""
 "Print dump of current object file definitions.\n"
 "With an argument REGEXP, list the object files with matching names."
 msgstr ""
 
-#: symmisc.c:950
+#: symmisc.c:978
 msgid ""
 "List the full symbol tables for all object files.\n"
 "This does not include information about individual symbols, blocks, or\n"
@@ -25540,22 +25955,22 @@ msgid ""
 "With an argument REGEXP, list the symbol tables with matching names."
 msgstr ""
 
-#: symmisc.c:958
+#: symmisc.c:986
 msgid "Check consistency of currently expanded symtabs."
 msgstr ""
 
-#: symmisc.c:963
+#: symmisc.c:991
 msgid ""
 "Expand symbol tables.\n"
 "With an argument REGEXP, only expand the symbol tables with matching names."
 msgstr ""
 
-#: symtab.c:1477
+#: symtab.c:1480
 #, possible-c-format
 msgid "Internal error: `%s' is not an aggregate"
 msgstr ""
 
-#: symtab.c:1745
+#: symtab.c:1751
 #, possible-c-format
 msgid ""
 "Internal: %s symbol `%s' found in %s psymtab but not in symtab.\n"
@@ -25563,95 +25978,95 @@ msgid ""
 "\t (if a template, try specifying an instantiation: %s<type>)."
 msgstr ""
 
-#: symtab.c:3088
+#: symtab.c:3298
 msgid "mismatched quoting on brackets, try 'operator\\[\\]'"
 msgstr ""
 
-#: symtab.c:3096
+#: symtab.c:3306
 msgid "nothing is allowed between '[' and ']'"
 msgstr ""
 
-#: symtab.c:3152
+#: symtab.c:3362
 msgid "`operator ()' must be specified without whitespace in `()'"
 msgstr ""
 
-#: symtab.c:3158
+#: symtab.c:3368
 msgid "`operator ?:' must be specified without whitespace in `?:'"
 msgstr ""
 
-#: symtab.c:3164
+#: symtab.c:3374
 msgid "`operator []' must be specified without whitespace in `[]'"
 msgstr ""
 
-#: symtab.c:3169
+#: symtab.c:3379
 #, possible-c-format
 msgid "`operator %s' not supported"
 msgstr ""
 
-#: symtab.c:3878
+#: symtab.c:4089
 #, possible-c-format
 msgid "All %ss matching regular expression \"%s\":\n"
 msgstr ""
 
-#: symtab.c:3881
+#: symtab.c:4092
 #, possible-c-format
 msgid "All defined %ss:\n"
 msgstr ""
 
-#: symtab.c:3891
+#: symtab.c:4102
 msgid ""
 "\n"
 "Non-debugging symbols:\n"
 msgstr ""
 
-#: symtab.c:5365 symtab.c:5368 symtab.c:5395
+#: symtab.c:5439 symtab.c:5442 symtab.c:5469
 msgid "All global and static variable names, or those matching REGEXP."
 msgstr ""
 
-#: symtab.c:5372
+#: symtab.c:5446
 msgid "All function names, or those matching REGEXP."
 msgstr ""
 
-#: symtab.c:5383
+#: symtab.c:5457
 msgid "All type names, or those matching REGEXP."
 msgstr ""
 
-#: symtab.c:5386
+#: symtab.c:5460
 msgid "Source files in the program."
 msgstr ""
 
-#: symtab.c:5389
+#: symtab.c:5463
 msgid "Set a breakpoint for all functions matching REGEXP."
 msgstr ""
 
-#: symtab.c:5394
+#: symtab.c:5468
 msgid "Source files in the program"
 msgstr ""
 
-#: symtab.c:5401
+#: symtab.c:5475
 msgid ""
 "Set the debugger behavior when more than one symbol are possible matches\n"
 "in an expression."
 msgstr ""
 
-#: symtab.c:5403
+#: symtab.c:5477
 msgid "Show how the debugger handles ambiguities in expressions."
 msgstr ""
 
-#: symtab.c:5404
+#: symtab.c:5478
 msgid ""
 "Valid values are \"ask\", \"all\", \"cancel\", and the default is \"all\"."
 msgstr ""
 
-#: symtab.c:5409
+#: symtab.c:5483
 msgid "Set whether a source file may have multiple base names."
 msgstr ""
 
-#: symtab.c:5410
+#: symtab.c:5484
 msgid "Show whether a source file may have multiple base names."
 msgstr ""
 
-#: symtab.c:5411
+#: symtab.c:5485
 msgid ""
 "(A \"base name\" is the name of a file with the directory part removed.\n"
 "Example: The base name of \"/home/user/hello.c\" is \"hello.c\".)\n"
@@ -25662,31 +26077,43 @@ msgid ""
 "one base name, and gdb will do file name comparisons more efficiently."
 msgstr ""
 
-#: symtab.c:5423
+#: symtab.c:5497
 msgid "Set debugging of symbol table creation."
 msgstr ""
 
-#: symtab.c:5424
+#: symtab.c:5498
 msgid "Show debugging of symbol table creation."
 msgstr ""
 
-#: symtab.c:5424
+#: symtab.c:5498
 msgid ""
 "When enabled (non-zero), debugging messages are printed when building\n"
 "symbol tables.  A value of 1 (one) normally provides enough information.\n"
 "A value greater than 1 provides more verbose information."
 msgstr ""
 
-#: symtab.h:864
+#: symtab.c:5507
+msgid "Set debugging of symbol lookup."
+msgstr ""
+
+#: symtab.c:5508
+msgid "Show debugging of symbol lookup."
+msgstr ""
+
+#: symtab.c:5509
+msgid "When enabled (non-zero), symbol lookups are logged."
+msgstr ""
+
+#: symtab.h:913
 msgid "Section index is uninitialized"
 msgstr ""
 
-#: target.c:237
+#: target.c:182
 #, possible-c-format
 msgid "Target debugging is %s.\n"
 msgstr ""
 
-#: target.c:431
+#: target.c:381
 msgid ""
 "Connect to a target machine or process.\n"
 "The first argument is the type or protocol of the target machine.\n"
@@ -25695,34 +26122,38 @@ msgid ""
 "`help target ' followed by the protocol name."
 msgstr ""
 
-#: target.c:567
+#: target.c:568
 #, possible-c-format
 msgid "You can't do that when your target is `%s'"
 msgstr ""
 
-#: target.c:580
+#: target.c:581
 msgid "No saved terminal information.\n"
 msgstr ""
 
-#: target.c:720
+#: target.c:721
 msgid "Attempt to unpush the dummy target"
 msgstr ""
 
-#: target.c:841
+#: target.c:806 target.c:888
+msgid "Cannot find thread-local variables on this target"
+msgstr ""
+
+#: target.c:842
 msgid "Cannot find thread-local variables in this thread library."
 msgstr ""
 
-#: target.c:846
+#: target.c:847
 #, possible-c-format
 msgid "Cannot find shared library `%s' in dynamic linker's load module list"
 msgstr ""
 
-#: target.c:849
+#: target.c:850
 #, possible-c-format
 msgid "Cannot find executable file `%s' in dynamic linker's load module list"
 msgstr ""
 
-#: target.c:854
+#: target.c:855
 #, possible-c-format
 msgid ""
 "The inferior has not yet allocated storage for thread-local variables in\n"
@@ -25730,7 +26161,7 @@ msgid ""
 "for %s"
 msgstr ""
 
-#: target.c:860
+#: target.c:861
 #, possible-c-format
 msgid ""
 "The inferior has not yet allocated storage for thread-local variables in\n"
@@ -25738,86 +26169,82 @@ msgid ""
 "for %s"
 msgstr ""
 
-#: target.c:868
+#: target.c:869
 #, possible-c-format
 msgid ""
 "Cannot find thread-local storage for %s, shared library %s:\n"
 "%s"
 msgstr ""
 
-#: target.c:873
+#: target.c:874
 #, possible-c-format
 msgid ""
 "Cannot find thread-local storage for %s, executable file %s:\n"
 "%s"
 msgstr ""
 
-#: target.c:887
-msgid "Cannot find thread-local variables on this target"
-msgstr ""
-
-#: target.c:1141
+#: target.c:1046
 msgid "Writing to flash memory forbidden in this context"
 msgstr ""
 
-#: target.c:1272
+#: target.c:1299
 #, possible-c-format
 msgid "Writing to memory is not allowed (addr %s, len %s)"
 msgstr ""
 
-#: target.c:1484
+#: target.c:1534
 msgid "Overlapping regions in memory map: ignoring"
 msgstr ""
 
-#: target.c:1516
+#: target.c:1561
 #, possible-c-format
 msgid "Mode for reading from readonly sections is %s.\n"
 msgstr ""
 
-#: target.c:1941
+#: target.c:1986
 #, possible-c-format
 msgid "target object %d, annex %s, contained unexpected null characters"
 msgstr ""
 
-#: target.c:1984
+#: target.c:2029
 msgid "May not insert breakpoints"
 msgstr ""
 
-#: target.c:2004
+#: target.c:2049
 msgid "May not remove breakpoints"
 msgstr ""
 
-#: target.c:2019
+#: target.c:2064
 #, possible-c-format
 msgid "Symbols from \"%s\".\n"
 msgstr ""
 
-#: target.c:2030
+#: target.c:2075
 msgid "\tWhile running this, GDB does not access memory from...\n"
 msgstr ""
 
-#: target.c:2117
+#: target.c:2162
 msgid "Program not killed."
 msgstr ""
 
-#: target.c:2275
+#: target.c:2259
 msgid "could not find a target to follow fork"
 msgstr ""
 
-#: target.c:2298
+#: target.c:2276
 msgid "could not find a target to follow mourn inferior"
 msgstr ""
 
-#: target.c:2349
+#: target.c:2325
 msgid "Unable to allocate memory to perform the search."
 msgstr ""
 
-#: target.c:2357 target.c:2412
+#: target.c:2333 target.c:2388
 #, possible-c-format
 msgid "Unable to access %s bytes of target memory at %s, halting search."
 msgstr ""
 
-#: target.c:2498
+#: target.c:2463
 #, possible-c-format
 msgid ""
 "The \"%s\" target does not support \"run\".  Try \"help target\" or "
@@ -25827,199 +26254,198 @@ msgstr ""
 #. This function is only called if the target is running.  In that
 #. case there should have been a process_stratum target and it
 #. should either know how to create inferiors, or not...
-#: target.c:2506
+#: target.c:2471
 msgid "No targets found"
 msgstr ""
 
-#: target.c:2518
+#: target.c:2483
 #, possible-c-format
 msgid "Whether GDB may automatically connect to the native target is %s.\n"
 msgstr ""
 
-#: target.c:2557
+#: target.c:2522
 #, possible-c-format
 msgid "Don't know how to %s.  Try \"help target\"."
 msgstr ""
 
-#: target.c:2691
+#: target.c:2656
 #, possible-c-format
 msgid "Can't determine the current address space of thread %s\n"
 msgstr ""
 
-#: target.c:3007
+#: target.c:2966
 #, possible-c-format
 msgid "target file %s contained unexpected null characters"
 msgstr ""
 
-#: target.c:3133 target.c:3142
+#: target.c:3092 target.c:3101
 msgid "Command not implemented for this target."
 msgstr ""
 
-#: target.c:3216
+#: target.c:3159
 msgid "May not interrupt or stop the target, ignoring attempt"
 msgstr ""
 
-#: target.c:3330
+#: target.c:3290
 #, possible-c-format
 msgid "Writing to registers is not allowed (regno %d)"
 msgstr ""
 
-#: target.c:4150
+#: target.c:3610
 msgid "\"monitor\" command not supported by this target."
 msgstr ""
 
-#: target.c:4167
+#: target.c:3627
 msgid "The current target stack is:\n"
 msgstr ""
 
-#: target.c:4202
+#: target.c:3662
 #, possible-c-format
 msgid "Controlling the inferior in asynchronous mode is %s.\n"
 msgstr ""
 
-#: target.c:4271
+#: target.c:3731
 msgid "Set target debugging."
 msgstr ""
 
-#: target.c:4272
+#: target.c:3732
 msgid "Show target debugging."
 msgstr ""
 
-#: target.c:4273
+#: target.c:3733
 msgid ""
 "When non-zero, target debugging is enabled.  Higher numbers are more\n"
-"verbose.  Changes do not take effect until the next \"run\" or \"target\"\n"
-"command."
+"verbose."
 msgstr ""
 
-#: target.c:4282
+#: target.c:3741
 msgid "Set mode for reading from readonly sections."
 msgstr ""
 
-#: target.c:4283
+#: target.c:3742
 msgid "Show mode for reading from readonly sections."
 msgstr ""
 
-#: target.c:4284
+#: target.c:3743
 msgid ""
 "When this mode is on, memory reads from readonly sections (such as .text)\n"
 "will be read from the object file instead of from the target.  This will\n"
 "result in significant performance improvement for remote targets."
 msgstr ""
 
-#: target.c:4293
+#: target.c:3752
 msgid "Send a command to the remote monitor (remote targets only)."
 msgstr ""
 
-#: target.c:4296
+#: target.c:3755
 msgid "Print the name of each layer of the internal target stack."
 msgstr ""
 
-#: target.c:4300
+#: target.c:3759
 msgid "Set whether gdb controls the inferior in asynchronous mode."
 msgstr ""
 
-#: target.c:4301
+#: target.c:3760
 msgid "Show whether gdb controls the inferior in asynchronous mode."
 msgstr ""
 
-#: target.c:4302
+#: target.c:3761
 msgid "Tells gdb whether to control the inferior in asynchronous mode."
 msgstr ""
 
-#: target.c:4310
+#: target.c:3769
 msgid "Set permission to write into registers."
 msgstr ""
 
-#: target.c:4311
+#: target.c:3770
 msgid "Show permission to write into registers."
 msgstr ""
 
-#: target.c:4312
+#: target.c:3771
 msgid ""
 "When this permission is on, GDB may write into the target's registers.\n"
 "Otherwise, any sort of write attempt will result in an error."
 msgstr ""
 
-#: target.c:4319
+#: target.c:3778
 msgid "Set permission to write into target memory."
 msgstr ""
 
-#: target.c:4320
+#: target.c:3779
 msgid "Show permission to write into target memory."
 msgstr ""
 
-#: target.c:4321
+#: target.c:3780
 msgid ""
 "When this permission is on, GDB may write into the target's memory.\n"
 "Otherwise, any sort of write attempt will result in an error."
 msgstr ""
 
-#: target.c:4328
+#: target.c:3787
 msgid "Set permission to insert breakpoints in the target."
 msgstr ""
 
-#: target.c:4329
+#: target.c:3788
 msgid "Show permission to insert breakpoints in the target."
 msgstr ""
 
-#: target.c:4330
+#: target.c:3789
 msgid ""
 "When this permission is on, GDB may insert breakpoints in the program.\n"
 "Otherwise, any sort of insertion attempt will result in an error."
 msgstr ""
 
-#: target.c:4337
+#: target.c:3796
 msgid "Set permission to insert tracepoints in the target."
 msgstr ""
 
-#: target.c:4338
+#: target.c:3797
 msgid "Show permission to insert tracepoints in the target."
 msgstr ""
 
-#: target.c:4339
+#: target.c:3798
 msgid ""
 "When this permission is on, GDB may insert tracepoints in the program.\n"
 "Otherwise, any sort of insertion attempt will result in an error."
 msgstr ""
 
-#: target.c:4346
+#: target.c:3805
 msgid "Set permission to insert fast tracepoints in the target."
 msgstr ""
 
-#: target.c:4347
+#: target.c:3806
 msgid "Show permission to insert fast tracepoints in the target."
 msgstr ""
 
-#: target.c:4348
+#: target.c:3807
 msgid ""
 "When this permission is on, GDB may insert fast tracepoints.\n"
 "Otherwise, any sort of insertion attempt will result in an error."
 msgstr ""
 
-#: target.c:4355
+#: target.c:3814
 msgid "Set permission to interrupt or signal the target."
 msgstr ""
 
-#: target.c:4356
+#: target.c:3815
 msgid "Show permission to interrupt or signal the target."
 msgstr ""
 
-#: target.c:4357
+#: target.c:3816
 msgid ""
 "When this permission is on, GDB may interrupt/stop the target's execution.\n"
 "Otherwise, any attempt to interrupt or stop will be ignored."
 msgstr ""
 
-#: target.c:4364
+#: target.c:3823
 msgid "Set whether GDB may automatically connect to the native target."
 msgstr ""
 
-#: target.c:4365
+#: target.c:3824
 msgid "Show whether GDB may automatically connect to the native target."
 msgstr ""
 
-#: target.c:4366
+#: target.c:3825
 msgid ""
 "When on, and GDB is not connected to a target yet, GDB\n"
 "attempts \"run\" and other commands with the native target."
@@ -26067,197 +26493,197 @@ msgid ""
 "access is on."
 msgstr ""
 
-#: target-descriptions.c:365
+#: target-descriptions.c:364
 msgid "Architecture rejected target-supplied description"
 msgstr ""
 
-#: target-descriptions.c:373
+#: target-descriptions.c:372
 msgid "Target-supplied registers are not supported by the current architecture"
 msgstr ""
 
-#: target-descriptions.c:400
+#: target-descriptions.c:399
 msgid "Could not remove target-supplied description"
 msgstr ""
 
-#: target-descriptions.c:991 target-descriptions.c:1013
+#: target-descriptions.c:990 target-descriptions.c:1012
 #, possible-c-format
 msgid "Register \"%s\" has an unsupported size (%d bits)"
 msgstr ""
 
-#: target-descriptions.c:1504
+#: target-descriptions.c:1503
 #, possible-c-format
 msgid "Attempted to add duplicate compatible architecture \"%s\""
 msgstr ""
 
-#: target-descriptions.c:1524
+#: target-descriptions.c:1523
 #, possible-c-format
 msgid "Attempted to add duplicate property \"%s\""
 msgstr ""
 
-#: target-descriptions.c:1587
+#: target-descriptions.c:1586
 #, possible-c-format
 msgid "The target description will be read from \"%s\".\n"
 msgstr ""
 
-#: target-descriptions.c:1590
+#: target-descriptions.c:1589
 msgid "The target description will be read from the target.\n"
 msgstr ""
 
-#: target-descriptions.c:1625
+#: target-descriptions.c:1624
 msgid "There is no target description to print."
 msgstr ""
 
-#: target-descriptions.c:1628
+#: target-descriptions.c:1627
 msgid "The current target description did not come from an XML file."
 msgstr ""
 
-#: target-descriptions.c:1809
+#: target-descriptions.c:1808
 #, possible-c-format
 msgid "C output is not supported type \"%s\"."
 msgstr ""
 
-#: target-descriptions.c:1842
+#: target-descriptions.c:1841
 msgid "Set target description specific variables."
 msgstr ""
 
 #. allow-unknown
-#: target-descriptions.c:1846
+#: target-descriptions.c:1845
 msgid "Show target description specific variables."
 msgstr ""
 
 #. allow-unknown
-#: target-descriptions.c:1850
+#: target-descriptions.c:1849
 msgid "Unset target description specific variables."
 msgstr ""
 
-#: target-descriptions.c:1857
+#: target-descriptions.c:1856
 msgid "Set the file to read for an XML target description"
 msgstr ""
 
-#: target-descriptions.c:1858
+#: target-descriptions.c:1857
 msgid "Show the file to read for an XML target description"
 msgstr ""
 
-#: target-descriptions.c:1859
+#: target-descriptions.c:1858
 msgid ""
 "When set, GDB will read the target description from a local\n"
 "file instead of querying the remote target."
 msgstr ""
 
-#: target-descriptions.c:1866
+#: target-descriptions.c:1865
 msgid ""
 "Unset the file to read for an XML target description.  When unset,\n"
 "GDB will read the description from the target."
 msgstr ""
 
-#: target-descriptions.c:1871
+#: target-descriptions.c:1870
 msgid "Print the current target description as a C source file."
 msgstr ""
 
-#: target-memory.c:430
+#: target-memory.c:427
 msgid "Error writing data to flash"
 msgstr ""
 
-#: thread.c:254
+#: thread.c:299
 #, possible-c-format
 msgid "[New %s]\n"
 msgstr ""
 
-#: thread.c:825
+#: thread.c:1006
 msgid "No threads.\n"
 msgstr ""
 
-#: thread.c:827
+#: thread.c:1008
 #, possible-c-format
 msgid "No threads match '%s'.\n"
 msgstr ""
 
-#: thread.c:853
+#: thread.c:1034
 msgid "Requested thread not found in requested process"
 msgstr ""
 
-#: thread.c:1079
+#: thread.c:1260
 #, possible-c-format
 msgid ""
 "Couldn't restore frame #%d in current thread.  Bottom (innermost) frame "
 "selected:"
 msgstr ""
 
-#: thread.c:1221 thread.c:1286
+#: thread.c:1402 thread.c:1467
 msgid "Please specify a command following the thread ID list"
 msgstr ""
 
-#: thread.c:1259 thread.c:1313
+#: thread.c:1440 thread.c:1494
 #, possible-c-format
 msgid ""
 "\n"
 "Thread %d (%s):\n"
 msgstr ""
 
-#: thread.c:1281
+#: thread.c:1462
 msgid "Please specify a thread ID list"
 msgstr ""
 
-#: thread.c:1308
+#: thread.c:1489
 #, possible-c-format
 msgid "Thread %d has terminated."
 msgstr ""
 
-#: thread.c:1334 thread.c:1363
+#: thread.c:1515 thread.c:1544
 msgid "No thread selected"
 msgstr ""
 
-#: thread.c:1339
+#: thread.c:1520
 #, possible-c-format
 msgid "[Current thread is %d (%s) (exited)]\n"
 msgstr ""
 
-#: thread.c:1343
+#: thread.c:1524
 #, possible-c-format
 msgid "[Current thread is %d (%s)]\n"
 msgstr ""
 
-#: thread.c:1393
+#: thread.c:1574
 #, possible-c-format
 msgid "Thread %d has name '%s'\n"
 msgstr ""
 
-#: thread.c:1401
+#: thread.c:1582
 #, possible-c-format
 msgid "Thread %d has target name '%s'\n"
 msgstr ""
 
-#: thread.c:1409
+#: thread.c:1590
 #, possible-c-format
 msgid "Thread %d has target id '%s'\n"
 msgstr ""
 
-#: thread.c:1417
+#: thread.c:1598
 #, possible-c-format
 msgid "Thread %d has extra info '%s'\n"
 msgstr ""
 
-#: thread.c:1423
+#: thread.c:1604
 #, possible-c-format
 msgid "No threads match '%s'\n"
 msgstr ""
 
-#: thread.c:1433
+#: thread.c:1614
 #, possible-c-format
 msgid "Printing of thread events is %s.\n"
 msgstr ""
 
-#: thread.c:1448 windows-tdep.c:380
+#: thread.c:1629 windows-tdep.c:380
 #, possible-c-format
 msgid "Thread ID %d not known."
 msgstr ""
 
-#: thread.c:1451 windows-tdep.c:383
+#: thread.c:1632 windows-tdep.c:383
 #, possible-c-format
 msgid "Thread ID %d has terminated."
 msgstr ""
 
-#: thread.c:1527
+#: thread.c:1727
 msgid ""
 "Display currently known threads.\n"
 "Usage: info threads [ID]...\n"
@@ -26265,272 +26691,277 @@ msgid ""
 "If no arguments, all threads are displayed."
 msgstr ""
 
-#: thread.c:1532
+#: thread.c:1732
 msgid ""
 "Use this command to switch between threads.\n"
 "The new thread ID must be currently known."
 msgstr ""
 
-#: thread.c:1538
+#: thread.c:1738
 msgid "Apply a command to a list of threads."
 msgstr ""
 
-#: thread.c:1542
+#: thread.c:1742
 msgid "Apply a command to all threads."
 msgstr ""
 
-#: thread.c:1545
+#: thread.c:1745
 msgid ""
 "Set the current thread's name.\n"
 "Usage: thread name [NAME]\n"
 "If NAME is not given, then any existing name is removed."
 msgstr ""
 
-#: thread.c:1549
+#: thread.c:1749
 msgid ""
 "Find threads that match a regular expression.\n"
 "Usage: thread find REGEXP\n"
 "Will display thread ids whose name, target ID, or extra info matches REGEXP."
 msgstr ""
 
-#: thread.c:1559
+#: thread.c:1759
 msgid "Set printing of thread events (such as thread start and exit)."
 msgstr ""
 
-#: thread.c:1560
+#: thread.c:1760
 msgid "Show printing of thread events (such as thread start and exit)."
 msgstr ""
 
-#: tic6x-tdep.c:883
+#: tic6x-tdep.c:882
 #, possible-c-format
 msgid "unexpected length %d of type"
 msgstr ""
 
-#: tic6x-tdep.c:1107
+#: tic6x-tdep.c:1106
 #, possible-c-format
 msgid "unexpected type %d of arg %d"
 msgstr ""
 
-#: tic6x-tdep.c:1112
+#: tic6x-tdep.c:1111
 #, possible-c-format
 msgid "unexpected length %d of arg %d"
 msgstr ""
 
-#: top.c:102
+#: top.c:99
 #, possible-c-format
 msgid "Whether to confirm potentially dangerous operations is %s.\n"
 msgstr ""
 
-#: top.c:475
+#: top.c:472
 msgid "That is not a command, just a help topic."
 msgstr ""
 
-#: top.c:696
+#: top.c:693
 #, possible-c-format
 msgid "Saving of the history record on exit is %s.\n"
 msgstr ""
 
-#: top.c:708
+#: top.c:705
 #, possible-c-format
 msgid "The size of the command history is %s.\n"
 msgstr ""
 
-#: top.c:717
+#: top.c:714
 #, possible-c-format
 msgid "The filename in which to record the command history is \"%s\".\n"
 msgstr ""
 
-#: top.c:1157
+#: top.c:930 top.c:958
+#, possible-c-format
+msgid "Could not rename %s to %s: %s"
+msgstr ""
+
+#: top.c:1225
 msgid ""
 "\n"
 "For bug reporting instructions, please see:\n"
 msgstr ""
 
-#: top.c:1161
+#: top.c:1229
 msgid ""
 "Find the GDB manual and other documentation resources online at:\n"
 "<http://www.gnu.org/software/gdb/documentation/>.\n"
 msgstr ""
 
-#: top.c:1163
+#: top.c:1231
 msgid "For help, type \"help\".\n"
 msgstr ""
 
-#: top.c:1164
+#: top.c:1232
 msgid "Type \"apropos word\" to search for commands related to \"word\"."
 msgstr ""
 
-#: top.c:1172
+#: top.c:1240
 #, possible-c-format
 msgid ""
 "This GDB was configured as follows:\n"
 "   configure --host=%s --target=%s\n"
 msgstr ""
 
-#: top.c:1176
+#: top.c:1244
 #, possible-c-format
 msgid ""
 "             --with-auto-load-dir=%s\n"
 "             --with-auto-load-safe-path=%s\n"
 msgstr ""
 
-#: top.c:1181
+#: top.c:1249
 msgid "             --with-expat\n"
 msgstr ""
 
-#: top.c:1185
+#: top.c:1253
 msgid "             --without-expat\n"
 msgstr ""
 
-#: top.c:1190
+#: top.c:1258
 #, possible-c-format
 msgid "             --with-gdb-datadir=%s%s\n"
 msgstr ""
 
-#: top.c:1194
+#: top.c:1262
 #, possible-c-format
 msgid "             --with-iconv-bin=%s%s\n"
 msgstr ""
 
-#: top.c:1199
+#: top.c:1267
 #, possible-c-format
 msgid "             --with-jit-reader-dir=%s%s\n"
 msgstr ""
 
-#: top.c:1203
+#: top.c:1271
 msgid "             --with-libunwind-ia64\n"
 msgstr ""
 
-#: top.c:1207
+#: top.c:1275
 msgid "             --without-libunwind-ia64\n"
 msgstr ""
 
-#: top.c:1212
+#: top.c:1280
 msgid "             --with-lzma\n"
 msgstr ""
 
-#: top.c:1216
+#: top.c:1284
 msgid "             --without-lzma\n"
 msgstr ""
 
-#: top.c:1221
+#: top.c:1289
 #, possible-c-format
 msgid "             --with-python=%s%s\n"
 msgstr ""
 
-#: top.c:1226
+#: top.c:1294
 msgid "             --with-guile\n"
 msgstr ""
 
-#: top.c:1230
+#: top.c:1298
 msgid "             --without-guile\n"
 msgstr ""
 
-#: top.c:1235
+#: top.c:1303
 #, possible-c-format
 msgid "             --with-relocated-sources=%s\n"
 msgstr ""
 
-#: top.c:1240
+#: top.c:1308
 #, possible-c-format
 msgid "             --with-separate-debug-dir=%s%s\n"
 msgstr ""
 
-#: top.c:1244
+#: top.c:1312
 #, possible-c-format
 msgid "             --with-sysroot=%s%s\n"
 msgstr ""
 
-#: top.c:1248
+#: top.c:1316
 #, possible-c-format
 msgid "             --with-system-gdbinit=%s%s\n"
 msgstr ""
 
-#: top.c:1252
+#: top.c:1320
 msgid "             --with-zlib\n"
 msgstr ""
 
-#: top.c:1256
+#: top.c:1324
 msgid "             --without-zlib\n"
 msgstr ""
 
-#: top.c:1261
+#: top.c:1329
 msgid "             --with-babeltrace\n"
 msgstr ""
 
-#: top.c:1265
+#: top.c:1333
 msgid "             --without-babeltrace\n"
 msgstr ""
 
 #. We assume "relocatable" will be printed at least once, thus we always
 #. print this text.  It's a reasonably safe assumption for now.
-#: top.c:1271
+#: top.c:1339
 msgid ""
 "\n"
 "(\"Relocatable\" means the directory can be moved with the GDB installation\n"
 "tree, and GDB will still find it.)\n"
 msgstr ""
 
-#: top.c:1352
+#: top.c:1420
 #, possible-c-format
 msgid "\tInferior %d [%s] will be detached.\n"
 msgstr ""
 
-#: top.c:1356
+#: top.c:1424
 #, possible-c-format
 msgid "\tInferior %d [%s] will be killed.\n"
 msgstr ""
 
-#: top.c:1381
+#: top.c:1449
 msgid ""
 "A debugging session is active.\n"
 "\n"
 msgstr ""
 
-#: top.c:1383
+#: top.c:1451
 msgid ""
 "\n"
 "Quit anyway? "
 msgstr ""
 
-#: top.c:1588
+#: top.c:1656
 msgid "\"set history\" must be followed by the name of a history subcommand.\n"
 msgstr ""
 
-#: top.c:1681
+#: top.c:1749
 #, possible-c-format
 msgid "Gdb's prompt is \"%s\".\n"
 msgstr ""
 
-#: top.c:1688
+#: top.c:1756
 #, possible-c-format
 msgid "Editing of command lines as they are typed is %s.\n"
 msgstr ""
 
-#: top.c:1697
+#: top.c:1765
 #, possible-c-format
 msgid "Annotation_level is %s.\n"
 msgstr ""
 
-#: top.c:1704
+#: top.c:1772
 #, possible-c-format
 msgid "Notification of completion for asynchronous execution commands is %s.\n"
 msgstr ""
 
-#: top.c:1727
+#: top.c:1795
 #, possible-c-format
 msgid "GDB's data directory is \"%s\".\n"
 msgstr ""
 
-#: top.c:1772
+#: top.c:1840
 msgid "Set gdb's prompt"
 msgstr ""
 
-#: top.c:1773
+#: top.c:1841
 msgid "Show gdb's prompt"
 msgstr ""
 
-#: top.c:1778
+#: top.c:1846
 msgid ""
 "Don't repeat this command.\n"
 "Primarily used inside of user-defined commands that should not be repeated "
@@ -26538,44 +26969,44 @@ msgid ""
 "hitting return."
 msgstr ""
 
-#: top.c:1784
+#: top.c:1852
 msgid "Set editing of command lines as they are typed."
 msgstr ""
 
-#: top.c:1785
+#: top.c:1853
 msgid "Show editing of command lines as they are typed."
 msgstr ""
 
-#: top.c:1786
+#: top.c:1854
 msgid ""
 "Use \"on\" to enable the editing, and \"off\" to disable it.\n"
 "Without an argument, command line editing is enabled.  To edit, use\n"
 "EMACS-like or VI-like commands like control-P or ESC."
 msgstr ""
 
-#: top.c:1794
+#: top.c:1862
 msgid "Set saving of the history record on exit."
 msgstr ""
 
-#: top.c:1795
+#: top.c:1863
 msgid "Show saving of the history record on exit."
 msgstr ""
 
-#: top.c:1796
+#: top.c:1864
 msgid ""
 "Use \"on\" to enable the saving, and \"off\" to disable it.\n"
 "Without an argument, saving is enabled."
 msgstr ""
 
-#: top.c:1803
+#: top.c:1871
 msgid "Set the size of the command history,"
 msgstr ""
 
-#: top.c:1804
+#: top.c:1872
 msgid "Show the size of the command history,"
 msgstr ""
 
-#: top.c:1805
+#: top.c:1873
 msgid ""
 "ie. the number of previous commands to keep a record of.\n"
 "If set to \"unlimited\", the number of commands kept in the history\n"
@@ -26583,61 +27014,61 @@ msgid ""
 "variable \"HISTSIZE\", or to 256 if this variable is not set."
 msgstr ""
 
-#: top.c:1814
+#: top.c:1882
 msgid "Set the filename in which to record the command history"
 msgstr ""
 
-#: top.c:1815
+#: top.c:1883
 msgid "Show the filename in which to record the command history"
 msgstr ""
 
-#: top.c:1816
+#: top.c:1884
 msgid "(the list of previous commands of which a record is kept)."
 msgstr ""
 
-#: top.c:1822
+#: top.c:1890
 msgid "Set whether to confirm potentially dangerous operations."
 msgstr ""
 
-#: top.c:1823
+#: top.c:1891
 msgid "Show whether to confirm potentially dangerous operations."
 msgstr ""
 
-#: top.c:1829
+#: top.c:1897
 msgid "Set annotation_level."
 msgstr ""
 
-#: top.c:1830
+#: top.c:1898
 msgid "Show annotation_level."
 msgstr ""
 
-#: top.c:1831
+#: top.c:1899
 msgid ""
 "0 == normal;     1 == fullname (for use when running under emacs)\n"
 "2 == output annotated suitably for use by programs that control GDB."
 msgstr ""
 
-#: top.c:1839
+#: top.c:1907
 msgid "Set notification of completion for asynchronous execution commands."
 msgstr ""
 
-#: top.c:1840
+#: top.c:1908
 msgid "Show notification of completion for asynchronous execution commands."
 msgstr ""
 
-#: top.c:1841
+#: top.c:1909
 msgid "Use \"on\" to enable the notification, and \"off\" to disable it."
 msgstr ""
 
-#: top.c:1848
+#: top.c:1916
 msgid "Set GDB's data directory."
 msgstr ""
 
-#: top.c:1849
+#: top.c:1917
 msgid "Show GDB's data directory."
 msgstr ""
 
-#: top.c:1850
+#: top.c:1918
 msgid "When set, GDB uses the specified path to search for data files."
 msgstr ""
 
@@ -26651,7 +27082,7 @@ msgstr ""
 msgid "Failure to get requested trace buffer data"
 msgstr ""
 
-#: tracefile.c:286 tracefile-tfile.c:771
+#: tracefile.c:286 tracefile-tfile.c:772
 #, possible-c-format
 msgid "Unknown block type '%c' (0x%x) in trace frame"
 msgstr ""
@@ -26687,208 +27118,208 @@ msgstr ""
 msgid "Premature end of file while reading trace file"
 msgstr ""
 
-#: tracefile-tfile.c:396
+#: tracefile-tfile.c:397
 msgid "No trace file specified."
 msgstr ""
 
-#: tracefile-tfile.c:429
+#: tracefile-tfile.c:430
 msgid "File is not a valid trace file."
 msgstr ""
 
-#: tracefile-tfile.c:467
+#: tracefile-tfile.c:468
 msgid "Excessively long lines in trace file"
 msgstr ""
 
-#: tracefile-tfile.c:476
+#: tracefile-tfile.c:477
 msgid "No register block size recorded in trace file"
 msgstr ""
 
-#: tracefile-tfile.c:490
+#: tracefile-tfile.c:491
 msgid "No traceframes present in this file."
 msgstr ""
 
-#: tracefile-tfile.c:533
+#: tracefile-tfile.c:534
 #, possible-c-format
 msgid "Ignoring trace file definition \"%s\""
 msgstr ""
 
-#: tracefile-tfile.c:850
+#: tracefile-tfile.c:851
 msgid "tfile_xfer_partial: trace file is read-only"
 msgstr ""
 
-#: tracefile-tfile.c:1007
+#: tracefile-tfile.c:1008
 #, possible-c-format
 msgid "Unhandled trace block type (%d) '%c ' while building trace frame info."
 msgstr ""
 
-#: tracepoint.c:360
+#: tracepoint.c:358
 #, possible-c-format
 msgid "No trace variable named \"$%s\", not deleting"
 msgstr ""
 
-#: tracepoint.c:372
+#: tracepoint.c:370
 msgid "Must supply a non-empty variable name"
 msgstr ""
 
-#: tracepoint.c:379 tracepoint.c:384
+#: tracepoint.c:377 tracepoint.c:382
 #, possible-c-format
 msgid "$%s is not a valid trace state variable name"
 msgstr ""
 
-#: tracepoint.c:399
+#: tracepoint.c:397
 msgid "Syntax is $NAME [ = EXPR ]"
 msgstr ""
 
-#: tracepoint.c:415
+#: tracepoint.c:413
 msgid "Syntax must be $NAME [ = EXPR ]"
 msgstr ""
 
-#: tracepoint.c:431
+#: tracepoint.c:429
 #, possible-c-format
 msgid "Trace state variable $%s now has initial value %s.\n"
 msgstr ""
 
-#: tracepoint.c:444
+#: tracepoint.c:442
 #, possible-c-format
 msgid "Trace state variable $%s created, with initial value %s.\n"
 msgstr ""
 
-#: tracepoint.c:460
+#: tracepoint.c:458
 msgid "Delete all trace state variables? "
 msgstr ""
 
-#: tracepoint.c:475
+#: tracepoint.c:473
 #, possible-c-format
 msgid "Name \"%s\" not prefixed with '$', ignoring"
 msgstr ""
 
-#: tracepoint.c:494
+#: tracepoint.c:492
 msgid "No trace state variables.\n"
 msgstr ""
 
-#: tracepoint.c:586
+#: tracepoint.c:584
 msgid "This command cannot be used at the top level."
 msgstr ""
 
-#: tracepoint.c:592 tracepoint.c:598 tracepoint.c:604
+#: tracepoint.c:590 tracepoint.c:596 tracepoint.c:602
 msgid "This command can only be used in a tracepoint actions list."
 msgstr ""
 
-#: tracepoint.c:639
+#: tracepoint.c:637
 msgid "Target does not support \"/s\" option for string tracing."
 msgstr ""
 
-#: tracepoint.c:642
+#: tracepoint.c:640
 #, possible-c-format
 msgid "Undefined collection format \"%c\"."
 msgstr ""
 
-#: tracepoint.c:681
+#: tracepoint.c:679
 msgid "expression is malformed"
 msgstr ""
 
-#: tracepoint.c:687
+#: tracepoint.c:685
 msgid "expression has min height < 0"
 msgstr ""
 
-#: tracepoint.c:696 tracepoint.c:787 tracepoint.c:823
+#: tracepoint.c:694 tracepoint.c:785 tracepoint.c:821
 msgid "Expression is too complicated."
 msgstr ""
 
-#: tracepoint.c:727
+#: tracepoint.c:725
 #, possible-c-format
 msgid "`%s' is not a tracepoint action, or is ambiguous."
 msgstr ""
 
-#: tracepoint.c:766
+#: tracepoint.c:764
 #, possible-c-format
 msgid "constant `%s' (value %s) will not be collected."
 msgstr ""
 
-#: tracepoint.c:774
+#: tracepoint.c:772
 #, possible-c-format
 msgid "`%s' is optimized away and cannot be collected."
 msgstr ""
 
-#: tracepoint.c:841
+#: tracepoint.c:839
 #, possible-c-format
 msgid "while-stepping step count `%s' is malformed."
 msgstr ""
 
-#: tracepoint.c:849
+#: tracepoint.c:847
 #, possible-c-format
 msgid "`%s' is not a supported tracepoint action."
 msgstr ""
 
-#: tracepoint.c:924
+#: tracepoint.c:922
 #, possible-c-format
 msgid "Internal: register number %d too large for tracepoint"
 msgstr ""
 
-#: tracepoint.c:1174
+#: tracepoint.c:1172
 msgid "Can't collect locals; no symbol table info available.\n"
 msgstr ""
 
-#: tracepoint.c:1181
+#: tracepoint.c:1179
 msgid "No locals found in scope."
 msgstr ""
 
-#: tracepoint.c:1189
+#: tracepoint.c:1187
 msgid "Can't collect args; no symbol table info available."
 msgstr ""
 
-#: tracepoint.c:1195
+#: tracepoint.c:1193
 msgid "No args found in scope."
 msgstr ""
 
-#: tracepoint.c:1417 tracepoint.c:2890
+#: tracepoint.c:1415 tracepoint.c:2890
 #, possible-c-format
 msgid "Bad action list item: %s"
 msgstr ""
 
-#: tracepoint.c:1643
+#: tracepoint.c:1641
 #, possible-c-format
 msgid "Invalid tracepoint command '%s'"
 msgstr ""
 
-#: tracepoint.c:1759
+#: tracepoint.c:1757
 msgid "Pending tracepoints will not be resolved while GDB is disconnected\n"
 msgstr ""
 
-#: tracepoint.c:1790
+#: tracepoint.c:1788
 msgid "No tracepoints defined, not starting trace"
 msgstr ""
 
-#: tracepoint.c:1806
+#: tracepoint.c:1804
 #, possible-c-format
 msgid "May not insert %stracepoints, skipping tracepoint %d"
 msgstr ""
 
-#: tracepoint.c:1813
+#: tracepoint.c:1811
 msgid "No tracepoints enabled"
 msgstr ""
 
-#: tracepoint.c:1819
+#: tracepoint.c:1817
 msgid "No tracepoints enabled, not starting trace"
 msgstr ""
 
-#: tracepoint.c:1826
+#: tracepoint.c:1824
 msgid "No tracepoints that may be downloaded, not starting trace"
 msgstr ""
 
-#: tracepoint.c:1891
+#: tracepoint.c:1890
 msgid "Target does not support trace user/notes, info ignored"
 msgstr ""
 
-#: tracepoint.c:1915
+#: tracepoint.c:1914
 msgid "A trace is running already.  Start a new run? "
 msgstr ""
 
-#: tracepoint.c:1916
+#: tracepoint.c:1915
 msgid "New trace run not started."
 msgstr ""
 
-#: tracepoint.c:1931
+#: tracepoint.c:1930
 msgid "Trace is not running."
 msgstr ""
 
@@ -27425,25 +27856,41 @@ msgstr ""
 msgid "Show the notes string to use for future tstop commands"
 msgstr ""
 
-#: tui/tui-hooks.c:87
-msgid "(y or n) "
+#: tui/tui.c:420
+#, possible-c-format
+msgid "Cannot enable the TUI when the interpreter is '%s'"
+msgstr ""
+
+#: tui/tui.c:425
+msgid "Cannot enable the TUI when output is not a terminal"
 msgstr ""
 
-#: tui/tui-hooks.c:120
-msgid "Please answer y or n.\n"
+#: tui/tui.c:430
+#, possible-c-format
+msgid "Cannot enable the TUI: error opening terminal [TERM=%s]"
 msgstr ""
 
-#: tui/tui.c:373
-msgid "TUI mode not allowed"
+#: tui/tui.c:441
+#, possible-c-format
+msgid ""
+"Cannot enable the TUI: terminal doesn't support cursor addressing [TERM=%s]"
 msgstr ""
 
-#: tui/tui-stack.c:459
+#: tui/tui-stack.c:458
 msgid ""
 "Update the source window and locator to display the current execution "
 "point.\n"
 msgstr ""
 
-#: tui/tui-layout.c:388
+#: tui/tui-io.c:622
+msgid "Cannot create pipe for readline"
+msgstr ""
+
+#: tui/tui-io.c:626
+msgid "Cannot redirect readline output"
+msgstr ""
+
+#: tui/tui-layout.c:386
 msgid ""
 "Change the layout of windows.\n"
 "Usage: layout prev | next | <layout_name> \n"
@@ -27459,141 +27906,141 @@ msgid ""
 "           the window that has current logical focus.\n"
 msgstr ""
 
-#: tui/tui-layout.c:403
+#: tui/tui-layout.c:401
 msgid "Toggle between Source/Command and Disassembly/Command layouts.\n"
 msgstr ""
 
-#: tui/tui-layout.c:405
+#: tui/tui-layout.c:403
 msgid ""
 "Toggle between Source/Command or Disassembly/Command and \n"
 "Source/Disassembly/Command layouts.\n"
 msgstr ""
 
-#: tui/tui-layout.c:440
+#: tui/tui-layout.c:438
 msgid "Ambiguous command input."
 msgstr ""
 
-#: tui/tui-layout.c:613
+#: tui/tui-layout.c:611
 #, possible-c-format
 msgid ""
 "Invalid layout specified.\n"
 "%s"
 msgstr ""
 
-#: tui/tui-interp.c:212
+#: tui/tui-interp.c:194
 msgid "tui_exec called"
 msgstr ""
 
-#: tui/tui-regs.c:608
+#: tui/tui-regs.c:607
 msgid "\"tui reg\" must be followed by the name of a tui reg command.\n"
 msgstr ""
 
-#: tui/tui-regs.c:624
+#: tui/tui-regs.c:623
 msgid "TUI commands to control the register window."
 msgstr ""
 
-#: tui/tui-regs.c:629
+#: tui/tui-regs.c:628
 msgid "Display only floating point registers."
 msgstr ""
 
-#: tui/tui-regs.c:632
+#: tui/tui-regs.c:631
 msgid "Display only general registers."
 msgstr ""
 
-#: tui/tui-regs.c:635
+#: tui/tui-regs.c:634
 msgid "Display only system registers."
 msgstr ""
 
-#: tui/tui-regs.c:638
+#: tui/tui-regs.c:637
 msgid "Display next register group."
 msgstr ""
 
-#: tui/tui-regs.c:644
+#: tui/tui-regs.c:643
 msgid "Display only floating point registers\n"
 msgstr ""
 
-#: tui/tui-regs.c:646
+#: tui/tui-regs.c:645
 msgid "Display only general registers\n"
 msgstr ""
 
-#: tui/tui-regs.c:648
+#: tui/tui-regs.c:647
 msgid "Display only special registers\n"
 msgstr ""
 
-#: tui/tui-regs.c:650
+#: tui/tui-regs.c:649
 msgid "Scroll the registers window forward\n"
 msgstr ""
 
-#: tui/tui-regs.c:652
+#: tui/tui-regs.c:651
 msgid "Scroll the register window backward\n"
 msgstr ""
 
-#: tui/tui-file.c:80
+#: tui/tui-file.c:78
 msgid "tui_file_delete: bad magic number"
 msgstr ""
 
-#: tui/tui-file.c:130
+#: tui/tui-file.c:128
 msgid "tui_file_isatty: bad magic number"
 msgstr ""
 
-#: tui/tui-file.c:144
+#: tui/tui-file.c:142
 msgid "tui_file_rewind: bad magic number"
 msgstr ""
 
-#: tui/tui-file.c:157
+#: tui/tui-file.c:155
 msgid "tui_file_put: bad magic number"
 msgstr ""
 
-#: tui/tui-file.c:194
+#: tui/tui-file.c:192
 msgid "tui_file_get_strbuf: bad magic number"
 msgstr ""
 
-#: tui/tui-file.c:209
+#: tui/tui-file.c:207
 msgid "tui_file_adjust_strbuf: bad magic number"
 msgstr ""
 
-#: tui/tui-file.c:237
+#: tui/tui-file.c:235
 msgid "tui_file_flush: bad magic number"
 msgstr ""
 
-#: tui/tui-win.c:211
+#: tui/tui-win.c:209
 #, possible-c-format
 msgid "The attribute mode to use for the active TUI window border is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:223
+#: tui/tui-win.c:221
 #, possible-c-format
 msgid "The attribute mode to use for the TUI window borders is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:235
+#: tui/tui-win.c:233
 #, possible-c-format
 msgid "The kind of border for TUI windows is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:334
+#: tui/tui-win.c:332
 msgid "\"tui\" must be followed by the name of a tui command.\n"
 msgstr ""
 
-#: tui/tui-win.c:344
+#: tui/tui-win.c:342
 msgid "Text User Interface commands."
 msgstr ""
 
-#: tui/tui-win.c:364 tui/tui-win.c:368
+#: tui/tui-win.c:371 tui/tui-win.c:375
 msgid "TUI configuration variables"
 msgstr ""
 
-#: tui/tui-win.c:373
+#: tui/tui-win.c:380
 msgid "Refresh the terminal display.\n"
 msgstr ""
 
-#: tui/tui-win.c:376
+#: tui/tui-win.c:383
 msgid ""
 "Set the width (in characters) of tab stops.\n"
 "Usage: tabset <n>\n"
 msgstr ""
 
-#: tui/tui-win.c:379
+#: tui/tui-win.c:386
 msgid ""
 "Set the height of a specified window.\n"
 "Usage: winheight <win_name> [+ | -] <#lines>\n"
@@ -27604,11 +28051,11 @@ msgid ""
 "regs : the register display\n"
 msgstr ""
 
-#: tui/tui-win.c:389
+#: tui/tui-win.c:396
 msgid "List of all displayed windows.\n"
 msgstr ""
 
-#: tui/tui-win.c:390
+#: tui/tui-win.c:397
 msgid ""
 "Set focus to named window or next/prev window.\n"
 "Usage: focus {<win> | next | prev}\n"
@@ -27619,45 +28066,45 @@ msgid ""
 "cmd  : the command window\n"
 msgstr ""
 
-#: tui/tui-win.c:399
+#: tui/tui-win.c:406
 msgid ""
 "Scroll window forward.\n"
 "Usage: + [win] [n]\n"
 msgstr ""
 
-#: tui/tui-win.c:402
+#: tui/tui-win.c:409
 msgid ""
 "Scroll window backward.\n"
 "Usage: - [win] [n]\n"
 msgstr ""
 
-#: tui/tui-win.c:405
+#: tui/tui-win.c:412
 msgid ""
-"Scroll window forward.\n"
+"Scroll window text to the left.\n"
 "Usage: < [win] [n]\n"
 msgstr ""
 
-#: tui/tui-win.c:408
+#: tui/tui-win.c:415
 msgid ""
-"Scroll window backward.\n"
+"Scroll window text to the right.\n"
 "Usage: > [win] [n]\n"
 msgstr ""
 
-#: tui/tui-win.c:412
+#: tui/tui-win.c:419
 msgid ""
 "XDB compatibility command for setting the height of a command window.\n"
 "Usage: w <#lines>\n"
 msgstr ""
 
-#: tui/tui-win.c:418
+#: tui/tui-win.c:425
 msgid "Set the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:419
+#: tui/tui-win.c:426
 msgid "Show the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:420
+#: tui/tui-win.c:427
 msgid ""
 "This variable controls the border of TUI windows:\n"
 "space           use a white space\n"
@@ -27665,15 +28112,15 @@ msgid ""
 "acs             use the Alternate Character Set"
 msgstr ""
 
-#: tui/tui-win.c:430
+#: tui/tui-win.c:437
 msgid "Set the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:431
+#: tui/tui-win.c:438
 msgid "Show the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:432
+#: tui/tui-win.c:439
 msgid ""
 "This variable controls the attributes to use for the window borders:\n"
 "normal          normal display\n"
@@ -27685,15 +28132,15 @@ msgid ""
 "bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:446
+#: tui/tui-win.c:453
 msgid "Set the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:447
+#: tui/tui-win.c:454
 msgid "Show the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:448
+#: tui/tui-win.c:455
 msgid ""
 "This variable controls the attributes to use for the active window border:\n"
 "normal          normal display\n"
@@ -27705,68 +28152,68 @@ msgid ""
 "bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:932 tui/tui-win.c:1038 tui/tui-win.c:1603
+#: tui/tui-win.c:950 tui/tui-win.c:1076 tui/tui-win.c:1641
 msgid ""
 "Invalid window specified. \n"
 "The window name specified must be valid and visible.\n"
 msgstr ""
 
-#: tui/tui-win.c:943
+#: tui/tui-win.c:961
 #, possible-c-format
 msgid "Focus set to %s window.\n"
 msgstr ""
 
-#: tui/tui-win.c:948
+#: tui/tui-win.c:966
 #, possible-c-format
 msgid ""
 "Incorrect Number of Arguments.\n"
 "%s"
 msgstr ""
 
-#: tui/tui-win.c:1006
+#: tui/tui-win.c:1044
 msgid "Tab widths greater than 0 must be specified."
 msgstr ""
 
-#: tui/tui-win.c:1073 tui/tui-win.c:1079 tui/tui-win.c:1123 tui/tui-win.c:1127
-#: tui/tui-win.c:1131
+#: tui/tui-win.c:1111 tui/tui-win.c:1117 tui/tui-win.c:1161 tui/tui-win.c:1165
+#: tui/tui-win.c:1169
 #, possible-c-format
 msgid ""
 "Invalid window height specified.\n"
 "%s"
 msgstr ""
 
-#: typeprint.c:352
+#: typeprint.c:349
 msgid "Language not supported."
 msgstr ""
 
-#: typeprint.c:441
+#: typeprint.c:438
 #, possible-c-format
 msgid "unrecognized flag '%c'"
 msgstr ""
 
-#: typeprint.c:447
+#: typeprint.c:444
 msgid "flag expected"
 msgstr ""
 
-#: typeprint.c:449
+#: typeprint.c:446
 msgid "expected space after format"
 msgstr ""
 
-#: typeprint.c:584
+#: typeprint.c:581
 msgid "internal error: unhandled type in print_type_scalar"
 msgstr ""
 
-#: typeprint.c:660
+#: typeprint.c:657
 #, possible-c-format
 msgid "Printing of methods defined in a class in %s\n"
 msgstr ""
 
-#: typeprint.c:676
+#: typeprint.c:673
 #, possible-c-format
 msgid "Printing of typedefs defined in a class in %s\n"
 msgstr ""
 
-#: typeprint.c:685
+#: typeprint.c:682
 msgid ""
 "Print definition of type TYPE.\n"
 "Usage: ptype[/FLAGS] TYPE | EXPRESSION\n"
@@ -27784,167 +28231,171 @@ msgid ""
 "  /T    print typedefs defined in a class"
 msgstr ""
 
-#: typeprint.c:703
+#: typeprint.c:700
 msgid ""
 "Print data type of expression EXP.\n"
 "Only one level of typedefs is unrolled.  See also \"ptype\"."
 msgstr ""
 
-#: typeprint.c:708
+#: typeprint.c:705
 msgid "Generic command for showing type-printing settings."
 msgstr ""
 
-#: typeprint.c:711
+#: typeprint.c:708
 msgid "Generic command for setting how types print."
 msgstr ""
 
-#: typeprint.c:715
+#: typeprint.c:712
 msgid "Set printing of methods defined in classes."
 msgstr ""
 
-#: typeprint.c:716
+#: typeprint.c:713
 msgid "Show printing of methods defined in classes."
 msgstr ""
 
-#: typeprint.c:722
+#: typeprint.c:719
 msgid "Set printing of typedefs defined in classes."
 msgstr ""
 
-#: typeprint.c:723
+#: typeprint.c:720
 msgid "Show printing of typedefs defined in classes."
 msgstr ""
 
-#: ui-file.c:190
+#: ui-file.c:187
 msgid "ui_file_data: bad magic number"
 msgstr ""
 
-#: ui-file.c:417
+#: ui-file.c:420
 msgid "mem_file_delete: bad magic number"
 msgstr ""
 
-#: ui-file.c:436
+#: ui-file.c:439
 msgid "mem_file_rewind: bad magic number"
 msgstr ""
 
-#: ui-file.c:449
+#: ui-file.c:452
 msgid "mem_file_put: bad magic number"
 msgstr ""
 
-#: ui-file.c:463
+#: ui-file.c:466
 msgid "mem_file_write: bad magic number"
 msgstr ""
 
-#: ui-file.c:538
+#: ui-file.c:541
 msgid "stdio_file_delete: bad magic number"
 msgstr ""
 
-#: ui-file.c:553
+#: ui-file.c:556
 msgid "stdio_file_flush: bad magic number"
 msgstr ""
 
-#: ui-file.c:564
+#: ui-file.c:567
 msgid "stdio_file_read: bad magic number"
 msgstr ""
 
-#: ui-file.c:587
+#: ui-file.c:590
 msgid "stdio_file_write: bad magic number"
 msgstr ""
 
-#: ui-file.c:626
+#: ui-file.c:629
 msgid "stdio_file_fputs: bad magic number"
 msgstr ""
 
-#: ui-file.c:641
+#: ui-file.c:644
 msgid "stdio_file_isatty: bad magic number"
 msgstr ""
 
-#: ui-file.c:652
+#: ui-file.c:655
 msgid "stdio_file_fseek: bad magic number"
 msgstr ""
 
-#: ui-file.c:773
+#: ui-file.c:776
 msgid "tee_file_delete: bad magic number"
 msgstr ""
 
-#: ui-file.c:789
+#: ui-file.c:792
 msgid "tee_file_flush: bad magic number"
 msgstr ""
 
-#: ui-file.c:801
+#: ui-file.c:804
 msgid "tee_file_write: bad magic number"
 msgstr ""
 
-#: ui-file.c:813
+#: ui-file.c:816
 msgid "tee_file_fputs: bad magic number"
 msgstr ""
 
-#: ui-file.c:825
+#: ui-file.c:828
 msgid "tee_file_isatty: bad magic number"
 msgstr ""
 
-#: ui-out.c:294
+#: ui-out.c:292
 msgid "tables cannot be nested; table_begin found before previous table_end."
 msgstr ""
 
-#: ui-out.c:315
+#: ui-out.c:313
 msgid ""
 "table_body outside a table is not valid; it must be after a table_begin and "
 "before a table_end."
 msgstr ""
 
-#: ui-out.c:319
+#: ui-out.c:317
 msgid ""
 "extra table_body call not allowed; there must be only one table_body after a "
 "table_begin and before a table_end."
 msgstr ""
 
-#: ui-out.c:323
+#: ui-out.c:321
 msgid "number of headers differ from number of table columns."
 msgstr ""
 
-#: ui-out.c:337
+#: ui-out.c:335
 msgid "misplaced table_end or missing table_begin."
 msgstr ""
 
-#: ui-out.c:354
+#: ui-out.c:352
 msgid "table header must be specified after table_begin and before table_body."
 msgstr ""
 
-#: ui-out.c:387
+#: ui-out.c:385
 msgid ""
 "table header or table_body expected; lists must be specified after "
 "table_body."
 msgstr ""
 
-#: ui-out.c:1037
+#: ui-out.c:1035
 msgid ""
 "table_body missing; table fields must be specified after table_body and "
 "inside a list."
 msgstr ""
 
-#: ui-out.c:1054
+#: ui-out.c:1052
 msgid "ui-out internal error in handling headers."
 msgstr ""
 
-#: utils.c:137
+#: user-regs.c:246
+msgid "List the names of the current user registers.\n"
+msgstr ""
+
+#: utils.c:134
 #, possible-c-format
 msgid "Printing of 8-bit characters in strings as \\nnn is %s.\n"
 msgstr ""
 
-#: utils.c:151
+#: utils.c:148
 #, possible-c-format
 msgid "State of pagination is %s.\n"
 msgstr ""
 
-#: utils.c:270
+#: utils.c:267
 msgid "Cannot restore redirection of the current output protocol"
 msgstr ""
 
-#: utils.c:502
+#: utils.c:499
 msgid "free_current_contents: NULL pointer"
 msgstr ""
 
-#: utils.c:631
+#: utils.c:616
 #, possible-c-format
 msgid ""
 "%s\n"
@@ -27952,20 +28403,20 @@ msgid ""
 "time.\n"
 msgstr ""
 
-#: utils.c:740
+#: utils.c:746
 #, possible-c-format
 msgid ""
 "%s\n"
 "Quit this debugging session? "
 msgstr ""
 
-#: utils.c:749
+#: utils.c:755
 msgid ""
 "\n"
 "This is a bug, please report it."
 msgstr ""
 
-#: utils.c:751
+#: utils.c:757
 #, possible-c-format
 msgid ""
 "  For instructions, see:\n"
@@ -27975,79 +28426,73 @@ msgstr ""
 #. Default (yes/batch case) is to dump core.  This leaves a GDB
 #. `dropping' so that it is easier to see that something went
 #. wrong in GDB.
-#: utils.c:764
+#: utils.c:772
 #, possible-c-format
 msgid ""
 "%s\n"
 "Create a core file of GDB? "
 msgstr ""
 
-#: utils.c:804
+#: utils.c:812
 msgid "Command aborted."
 msgstr ""
 
-#: utils.c:877
+#: utils.c:885
 #, possible-c-format
 msgid "Configure what GDB does when %s is detected."
 msgstr ""
 
-#: utils.c:880
+#: utils.c:888
 #, possible-c-format
 msgid "Show what GDB does when %s is detected."
 msgstr ""
 
-#. allow-unknown
-#: utils.c:897
+#: utils.c:907
 #, possible-c-format
 msgid "Set whether GDB should quit when an %s is detected"
 msgstr ""
 
-#: utils.c:900
+#: utils.c:910
 #, possible-c-format
 msgid "Show whether GDB will quit when an %s is detected"
 msgstr ""
 
-#: utils.c:917
+#: utils.c:930
 #, possible-c-format
 msgid "Set whether GDB should create a core file of GDB when %s is detected"
 msgstr ""
 
-#: utils.c:920
+#: utils.c:933
 #, possible-c-format
 msgid "Show whether GDB will create a core file of GDB when %s is detected"
 msgstr ""
 
-#: utils.c:996
-#, possible-c-format
-msgid "%s"
-msgstr ""
-
-#: utils.c:1057
+#: utils.c:1071
 #, possible-c-format
 msgid "virtual memory exhausted: can't allocate %ld bytes."
 msgstr ""
 
-#: utils.c:1062
+#: utils.c:1076
 msgid "virtual memory exhausted."
 msgstr ""
 
-#: utils.c:1220
+#: utils.c:1250
 #, possible-c-format
 msgid "(%s or %s) [answered %c; input not from terminal]\n"
 msgstr ""
 
-#: utils.c:1248
+#: utils.c:1265
 #, possible-c-format
-msgid "(%s or %s) "
+msgid "%s%s(%s or %s) %s"
 msgstr ""
 
 #. Invalid entries are not defaulted and require another selection.
-#: utils.c:1312
+#: utils.c:1310
 #, possible-c-format
 msgid "Please answer %s or %s.\n"
 msgstr ""
 
-#: utils.c:1496
+#: utils.c:1494
 #, possible-c-format
 msgid ""
 "The escape sequence `\\%c' is equivalent to plain `%c', which has no "
@@ -28055,480 +28500,480 @@ msgid ""
 "in the `%s' character set."
 msgstr ""
 
-#: utils.c:1607
+#: utils.c:1605
 #, possible-c-format
 msgid "Number of lines gdb thinks are in a page is %s.\n"
 msgstr ""
 
-#: utils.c:1618
+#: utils.c:1616
 #, possible-c-format
 msgid "Number of characters gdb thinks are in a line is %s.\n"
 msgstr ""
 
-#: utils.c:2684
+#: utils.c:2689
 #, possible-c-format
 msgid "Timestamping debugging messages is %s.\n"
 msgstr ""
 
-#: utils.c:2692
+#: utils.c:2697
 msgid "Set number of characters where GDB should wrap lines of its output."
 msgstr ""
 
-#: utils.c:2693
+#: utils.c:2698
 msgid "Show number of characters where GDB should wrap lines of its output."
 msgstr ""
 
-#: utils.c:2694
+#: utils.c:2699
 msgid ""
 "This affects where GDB wraps its output to fit the screen width.\n"
 "Setting this to \"unlimited\" or zero prevents GDB from wrapping its output."
 msgstr ""
 
-#: utils.c:2701
+#: utils.c:2706
 msgid "Set number of lines in a page for GDB output pagination."
 msgstr ""
 
-#: utils.c:2702
+#: utils.c:2707
 msgid "Show number of lines in a page for GDB output pagination."
 msgstr ""
 
-#: utils.c:2703
+#: utils.c:2708
 msgid ""
 "This affects the number of lines after which GDB will pause\n"
 "its output and ask you whether to continue.\n"
 "Setting this to \"unlimited\" or zero causes GDB never pause during output."
 msgstr ""
 
-#: utils.c:2714
+#: utils.c:2719
 msgid "Set state of GDB output pagination."
 msgstr ""
 
-#: utils.c:2715
+#: utils.c:2720
 msgid "Show state of GDB output pagination."
 msgstr ""
 
-#: utils.c:2716
+#: utils.c:2721
 msgid ""
 "When pagination is ON, GDB pauses at end of each screenful of\n"
 "its output and asks you whether to continue.\n"
 "Turning pagination off is an alternative to \"set height unlimited\"."
 msgstr ""
 
-#: utils.c:2727
+#: utils.c:2732
 msgid "Enable pagination"
 msgstr ""
 
-#: utils.c:2729
+#: utils.c:2734
 msgid "Disable pagination"
 msgstr ""
 
-#: utils.c:2733
+#: utils.c:2738
 msgid "Set printing of 8-bit characters in strings as \\nnn."
 msgstr ""
 
-#: utils.c:2734
+#: utils.c:2739
 msgid "Show printing of 8-bit characters in strings as \\nnn."
 msgstr ""
 
-#: utils.c:2741
+#: utils.c:2746
 msgid "Set timestamping of debugging messages."
 msgstr ""
 
-#: utils.c:2742
+#: utils.c:2747
 msgid "Show timestamping of debugging messages."
 msgstr ""
 
-#: utils.c:2743
+#: utils.c:2748
 msgid ""
 "When set, debugging messages will be marked with seconds and microseconds."
 msgstr ""
 
-#: utils.c:2827
+#: utils.c:2832
 #, possible-c-format
 msgid "invalid hex \"%s\""
 msgstr ""
 
-#: utils.c:2840
+#: utils.c:2845
 #, possible-c-format
 msgid "invalid decimal \"%s\""
 msgstr ""
 
-#: utils.c:3274
+#: utils.c:3226
 msgid "process-id to attach"
 msgstr ""
 
-#: utils.c:3280
+#: utils.c:3232
 #, possible-c-format
 msgid "Illegal process-id: %s."
 msgstr ""
 
-#: valarith.c:72
+#: valarith.c:70
 msgid ""
 "Cannot perform pointer math on incomplete types, try casting to a known "
 "type, or void *."
 msgstr ""
 
-#: valarith.c:75
+#: valarith.c:73
 #, possible-c-format
 msgid ""
 "Cannot perform pointer math on incomplete type \"%s\", try casting to a "
 "known type, or void *."
 msgstr ""
 
-#: valarith.c:122
+#: valarith.c:120
 msgid ""
 "First argument of `-' is a pointer and second argument is neither\n"
 "an integer nor a pointer of the same type."
 msgstr ""
 
-#: valarith.c:129
+#: valarith.c:127
 msgid "Type size unknown, assuming 1. Try casting to a known type, or void *."
 msgstr ""
 
-#: valarith.c:173
+#: valarith.c:171
 msgid "array or string index out of range"
 msgstr ""
 
-#: valarith.c:185
+#: valarith.c:183
 msgid "not an array or string"
 msgstr ""
 
-#: valarith.c:203
+#: valarith.c:201
 msgid "no such vector element"
 msgstr ""
 
-#: valarith.c:313
+#: valarith.c:311
 #, possible-c-format
 msgid "Could not find %s."
 msgstr ""
 
-#: valarith.c:359
+#: valarith.c:360
 msgid "Can't do that binary op on that type"
 msgstr ""
 
-#: valarith.c:445 valarith.c:471
+#: valarith.c:446 valarith.c:472
 msgid "Invalid binary operation specified."
 msgstr ""
 
-#: valarith.c:504 valarith.c:614
+#: valarith.c:505 valarith.c:615
 #, possible-c-format
 msgid "member function %s not found"
 msgstr ""
 
-#: valarith.c:531
+#: valarith.c:532
 msgid "Can't do that unary op on that type"
 msgstr ""
 
-#: valarith.c:582
+#: valarith.c:583
 msgid "Invalid unary operation specified."
 msgstr ""
 
-#: valarith.c:716
+#: valarith.c:717
 msgid "unimplemented support for boolean repeats"
 msgstr ""
 
-#: valarith.c:720
+#: valarith.c:721
 msgid "can't repeat values of that type"
 msgstr ""
 
-#: valarith.c:732
+#: valarith.c:733
 msgid "Strings can only be concatenated with other strings."
 msgstr ""
 
-#: valarith.c:767
+#: valarith.c:768
 msgid "Booleans can only be concatenated with other bitstrings or booleans."
 msgstr ""
 
-#: valarith.c:770
+#: valarith.c:771
 msgid "unimplemented support for boolean concatenation."
 msgstr ""
 
 #. We don't know how to concatenate these operands.
-#: valarith.c:775
+#: valarith.c:776
 msgid "illegal operands for concatenation."
 msgstr ""
 
-#: valarith.c:789 valarith.c:820
+#: valarith.c:790 valarith.c:821
 msgid "Attempt to raise 0 to negative power."
 msgstr ""
 
 #. The DFP extension to the C language does not allow mixing of
 #. * decimal float types with other float types in expressions
 #. * (see WDTR 24732, page 12).
-#: valarith.c:863
+#: valarith.c:864
 msgid "Mixing decimal floating types with other floating types is not allowed."
 msgstr ""
 
-#: valarith.c:882 valarith.c:901
+#: valarith.c:883 valarith.c:902
 #, possible-c-format
 msgid "Don't know how to convert from %s to %s."
 msgstr ""
 
-#: valarith.c:969
+#: valarith.c:970
 msgid "Operation not valid for decimal floating point number."
 msgstr ""
 
-#: valarith.c:1007
+#: valarith.c:1008
 #, possible-c-format
 msgid "Cannot perform exponentiation: %s"
 msgstr ""
 
-#: valarith.c:1020
+#: valarith.c:1021
 msgid "Integer-only operation on floating point number."
 msgstr ""
 
-#: valarith.c:1068
+#: valarith.c:1069
 msgid "Invalid operation on booleans."
 msgstr ""
 
-#: valarith.c:1128 valarith.c:1139 valarith.c:1254 valarith.c:1265
+#: valarith.c:1129 valarith.c:1140 valarith.c:1255 valarith.c:1266
 msgid "Division by zero"
 msgstr ""
 
-#: valarith.c:1218 valarith.c:1348
+#: valarith.c:1219 valarith.c:1349
 msgid "Invalid binary operation on numbers."
 msgstr ""
 
-#: valarith.c:1395
+#: valarith.c:1396
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: valarith.c:1426
+#: valarith.c:1427
 msgid "Vector operations are only supported among vectors"
 msgstr ""
 
-#: valarith.c:1630
+#: valarith.c:1631
 msgid "Invalid type combination in equality test."
 msgstr ""
 
-#: valarith.c:1712
+#: valarith.c:1713
 msgid "Invalid type combination in ordering comparison."
 msgstr ""
 
-#: valarith.c:1745
+#: valarith.c:1746
 msgid "Argument to positive operation not a number."
 msgstr ""
 
-#: valarith.c:1800
+#: valarith.c:1801
 msgid "Argument to negate operation not a number."
 msgstr ""
 
-#: valarith.c:1835
+#: valarith.c:1836
 msgid "Argument to complement operation not an integer, boolean."
 msgstr ""
 
-#: valarith.c:1876
+#: valarith.c:1877
 msgid "Second argument of 'IN' has wrong type"
 msgstr ""
 
-#: valarith.c:1881
+#: valarith.c:1882
 msgid "First argument of 'IN' has wrong type"
 msgstr ""
 
-#: valarith.c:1885
+#: valarith.c:1886
 msgid "First argument of 'IN' not in range"
 msgstr ""
 
-#: valops.c:122
+#: valops.c:118
 #, possible-c-format
 msgid "Overload resolution in evaluating C++ functions is %s.\n"
 msgstr ""
 
-#: valops.c:141
+#: valops.c:137
 #, possible-c-format
 msgid "\"%s\" exists in this program but is not a function."
 msgstr ""
 
-#: valops.c:175
+#: valops.c:171
 msgid "evaluation of this expression requires the target program to be active"
 msgstr ""
 
-#: valops.c:178
+#: valops.c:174
 #, possible-c-format
 msgid ""
 "evaluation of this expression requires the program to have a function \"%s\"."
 msgstr ""
 
-#: valops.c:202
+#: valops.c:198
 msgid "No memory available to program now: you need to start the target first"
 msgstr ""
 
-#: valops.c:205
+#: valops.c:201
 msgid "No memory available to program: call to malloc failed"
 msgstr ""
 
-#: valops.c:415
+#: valops.c:411
 msgid "array element type size does not divide object size in cast"
 msgstr ""
 
-#: valops.c:530
+#: valops.c:526
 msgid "value truncated"
 msgstr ""
 
-#: valops.c:552
+#: valops.c:548
 msgid "Cannot convert between vector values of different sizes"
 msgstr ""
 
-#: valops.c:555
+#: valops.c:551
 msgid "can only cast scalar to vector of same size"
 msgstr ""
 
-#: valops.c:575
+#: valops.c:571
 msgid "Invalid cast."
 msgstr ""
 
-#: valops.c:626
+#: valops.c:622
 msgid "Invalid reinterpret_cast"
 msgstr ""
 
-#: valops.c:740
+#: valops.c:736
 msgid "Argument to dynamic_cast must be a pointer or reference type"
 msgstr ""
 
-#: valops.c:743
+#: valops.c:739
 msgid "Argument to dynamic_cast must be pointer to class or `void *'"
 msgstr ""
 
-#: valops.c:751
+#: valops.c:747
 msgid "Argument to dynamic_cast does not have pointer type"
 msgstr ""
 
-#: valops.c:756
+#: valops.c:752
 msgid "Argument to dynamic_cast does not have pointer to class type"
 msgstr ""
 
-#: valops.c:769
+#: valops.c:765
 msgid "Argument to dynamic_cast does not have class type"
 msgstr ""
 
-#: valops.c:782
+#: valops.c:778
 msgid "Ambiguous dynamic_cast"
 msgstr ""
 
-#: valops.c:787
+#: valops.c:783
 msgid "Couldn't determine value's most derived type for dynamic_cast"
 msgstr ""
 
-#: valops.c:840
+#: valops.c:836
 msgid "dynamic_cast failed"
 msgstr ""
 
-#: valops.c:898
+#: valops.c:894
 msgid "Not a numeric type."
 msgstr ""
 
-#: valops.c:1084 valops.c:1143
+#: valops.c:1080 valops.c:1129
 #, possible-c-format
 msgid "Can't handle bitfields which don't fit in a %d bit word."
 msgstr ""
 
-#: valops.c:1115
+#: valops.c:1111
 msgid "Value being assigned to is no longer active."
 msgstr ""
 
-#: valops.c:1153 value.c:1054
+#: valops.c:1139 value.c:1150
 msgid "value has been optimized out"
 msgstr ""
 
-#: valops.c:1156 value.c:1073
+#: valops.c:1142 value.c:1169
 msgid "value is not available"
 msgstr ""
 
-#: valops.c:1192
+#: valops.c:1191
 msgid "Left operand of assignment is not an lvalue."
 msgstr ""
 
-#: valops.c:1275
+#: valops.c:1274
 msgid "Only values in memory can be extended with '@'."
 msgstr ""
 
-#: valops.c:1277
+#: valops.c:1276
 #, possible-c-format
 msgid "Invalid number %d of repetitions."
 msgstr ""
 
-#: valops.c:1307
+#: valops.c:1306
 #, possible-c-format
 msgid "No frame is currently executing in block %s."
 msgstr ""
 
-#: valops.c:1310
+#: valops.c:1309
 msgid "No frame is currently executing in specified block"
 msgstr ""
 
-#: valops.c:1352
+#: valops.c:1351
 #, possible-c-format
 msgid "Address requested for identifier \"%s\" which is in register $%s"
 msgstr ""
 
-#: valops.c:1359
+#: valops.c:1358
 #, possible-c-format
 msgid "Can't take address of \"%s\" which isn't an lvalue."
 msgstr ""
 
-#: valops.c:1610
+#: valops.c:1609
 #, possible-c-format
 msgid "bad array bounds (%d, %d)"
 msgstr ""
 
-#: valops.c:1617
+#: valops.c:1616
 msgid "array elements must all be the same size"
 msgstr ""
 
-#: valops.c:1705
+#: valops.c:1704
 msgid "typecmp: no argument list"
 msgstr ""
 
-#: valops.c:1784
+#: valops.c:1783
 #, possible-c-format
 msgid "base class '%s' is ambiguous in type '%s'"
 msgstr ""
 
-#: valops.c:1917 valops.c:2073
+#: valops.c:1914 valops.c:2070
 msgid "virtual baseclass botch"
 msgstr ""
 
-#: valops.c:2015
+#: valops.c:2012
 #, possible-c-format
 msgid "cannot resolve overloaded method `%s': no arguments supplied"
 msgstr ""
 
-#: valops.c:2155 valops.c:2243
+#: valops.c:2152 valops.c:2240
 #, possible-c-format
 msgid "Attempt to extract a component of a value that is not a %s."
 msgstr ""
 
-#: valops.c:2178
+#: valops.c:2175
 #, possible-c-format
 msgid "Cannot take address of method %s."
 msgstr ""
 
-#: valops.c:2182
+#: valops.c:2179
 #, possible-c-format
 msgid "There is no member or method named %s."
 msgstr ""
 
-#: valops.c:2194
+#: valops.c:2191
 #, possible-c-format
 msgid ""
 "One of the arguments you tried to pass to %s could not be converted to what "
 "the function wants."
 msgstr ""
 
-#: valops.c:2211
+#: valops.c:2208
 #, possible-c-format
 msgid "Structure has no component named %s."
 msgstr ""
 
-#: valops.c:2254
+#: valops.c:2251
 msgid "No field with matching bitpos and type."
 msgstr ""
 
-#: valops.c:2405
+#: valops.c:2402
 msgid "Attempt to extract a component of a value that is not a struct or union"
 msgstr ""
 
-#: valops.c:2534
+#: valops.c:2538
 #, possible-c-format
 msgid "Couldn't find method %s%s%s"
 msgstr ""
@@ -28537,350 +28982,350 @@ msgstr ""
 #. FIXME: GDB does not support the general ambiguous case.
 #. All candidates should be collected and presented the
 #. user.
-#: valops.c:2708
+#: valops.c:2712
 msgid "Ambiguous overload resolution"
 msgstr ""
 
 #. Incomparable top contenders.
 #. This is an error incompatible candidates
 #. should not have been proposed.
-#: valops.c:2713
+#: valops.c:2717
 msgid "Internal error: incompatible overload candidates proposed"
 msgstr ""
 
-#: valops.c:2725
+#: valops.c:2729
 msgid "Internal error: unexpected overload comparison result"
 msgstr ""
 
-#: valops.c:2741
+#: valops.c:2745
 #, possible-c-format
 msgid "Cannot resolve method %s%s%s to any overloaded instance"
 msgstr ""
 
-#: valops.c:2746
+#: valops.c:2750
 #, possible-c-format
 msgid "Cannot resolve function %s to any overloaded instance"
 msgstr ""
 
-#: valops.c:2752
+#: valops.c:2756
 #, possible-c-format
 msgid ""
 "Using non-standard conversion to match method %s%s%s to supplied arguments"
 msgstr ""
 
-#: valops.c:2758
+#: valops.c:2762
 #, possible-c-format
 msgid ""
 "Using non-standard conversion to match function %s to supplied arguments"
 msgstr ""
 
-#: valops.c:3168
+#: valops.c:3176
 msgid "name of destructor must equal name of class"
 msgstr ""
 
-#: valops.c:3207
+#: valops.c:3215
 #, possible-c-format
 msgid "no constant named \"%s\" in enum \"%s\""
 msgstr ""
 
-#: valops.c:3238
+#: valops.c:3246
 msgid "non-aggregate type in value_aggregate_elt"
 msgstr ""
 
-#: valops.c:3314
+#: valops.c:3322
 msgid "Internal error: non-aggregate type to value_struct_elt_for_reference"
 msgstr ""
 
-#: valops.c:3411
+#: valops.c:3419
 msgid "no member function matches that type instantiation"
 msgstr ""
 
-#: valops.c:3437
+#: valops.c:3445
 #, possible-c-format
 msgid "non-unique member `%s' requires type instantiation"
 msgstr ""
 
-#: valops.c:3444
+#: valops.c:3452
 msgid "no matching member function"
 msgstr ""
 
-#: valops.c:3475
+#: valops.c:3483
 #, possible-c-format
 msgid "Cannot reference virtual member function \"%s\""
 msgstr ""
 
-#: valops.c:3621
+#: valops.c:3620
 msgid "Unexpected value type."
 msgstr ""
 
-#: valops.c:3687
+#: valops.c:3686
 #, possible-c-format
 msgid ""
 "Couldn't retrieve complete object of RTTI type %s; object may be in register"
 "(s)."
 msgstr ""
 
-#: valops.c:3719
+#: valops.c:3718
 msgid "no `this' in current language"
 msgstr ""
 
-#: valops.c:3727
+#: valops.c:3726
 #, possible-c-format
 msgid "current stack frame does not contain a variable named `%s'"
 msgstr ""
 
-#: valops.c:3769
+#: valops.c:3768
 msgid "slice from bad array or bitstring"
 msgstr ""
 
-#: valops.c:3773
+#: valops.c:3772
 msgid "slice out of range"
 msgstr ""
 
-#: valops.c:3861
+#: valops.c:3860
 msgid "cannot cast non-number to complex"
 msgstr ""
 
-#: valops.c:3868
+#: valops.c:3867
 msgid "Set overload resolution in evaluating C++ functions."
 msgstr ""
 
-#: valops.c:3869
+#: valops.c:3868
 msgid "Show overload resolution in evaluating C++ functions."
 msgstr ""
 
-#: valprint.c:162
+#: valprint.c:158
 #, possible-c-format
 msgid "Limit on string chars or array elements to print is %s.\n"
 msgstr ""
 
-#: valprint.c:176
+#: valprint.c:172
 #, possible-c-format
 msgid "Default input radix for entering numbers is %s.\n"
 msgstr ""
 
-#: valprint.c:186
+#: valprint.c:182
 #, possible-c-format
 msgid "Default output radix for printing of values is %s.\n"
 msgstr ""
 
-#: valprint.c:197
+#: valprint.c:193
 #, possible-c-format
 msgid "Printing of array indexes is %s.\n"
 msgstr ""
 
-#: valprint.c:208
+#: valprint.c:204
 #, possible-c-format
 msgid "Threshold for repeated print elements is %s.\n"
 msgstr ""
 
-#: valprint.c:219
+#: valprint.c:215
 #, possible-c-format
 msgid "Printing of char arrays to stop at first null char is %s.\n"
 msgstr ""
 
-#: valprint.c:230
+#: valprint.c:226
 #, possible-c-format
 msgid "Pretty formatting of structures is %s.\n"
 msgstr ""
 
-#: valprint.c:239
+#: valprint.c:235
 #, possible-c-format
 msgid "Pretty formatting of arrays is %s.\n"
 msgstr ""
 
-#: valprint.c:250
+#: valprint.c:246
 #, possible-c-format
 msgid "Printing of unions interior to structures is %s.\n"
 msgstr ""
 
-#: valprint.c:260
+#: valprint.c:256
 #, possible-c-format
 msgid "Printing of addresses is %s.\n"
 msgstr ""
 
-#: valprint.c:268
+#: valprint.c:264
 #, possible-c-format
 msgid "Printing of symbols when printing pointers is %s.\n"
 msgstr ""
 
-#: valprint.c:344
+#: valprint.c:341
 msgid "<optimized out>"
 msgstr ""
 
-#: valprint.c:350
+#: valprint.c:347
 msgid "<not saved>"
 msgstr ""
 
-#: valprint.c:362
+#: valprint.c:359
 msgid "<invalid address>"
 msgstr ""
 
-#: valprint.c:713
+#: valprint.c:710
 #, possible-c-format
 msgid "Unhandled type code %d in symbol table."
 msgstr ""
 
-#: valprint.c:808
+#: valprint.c:805
 msgid "<address of value unknown>"
 msgstr ""
 
-#: valprint.c:832
+#: valprint.c:829
 #, possible-c-format
 msgid "<internal function %s>"
 msgstr ""
 
-#: valprint.c:1064
+#: valprint.c:1062
 msgid "Value out of range."
 msgstr ""
 
-#: valprint.c:1307 valprint.c:1357
+#: valprint.c:1305 valprint.c:1355
 msgid "Internal error in octal conversion;"
 msgstr ""
 
-#: valprint.c:2597
+#: valprint.c:2596
 #, possible-c-format
 msgid "Nonsense input radix ``decimal %u''; input radix unchanged."
 msgstr ""
 
-#: valprint.c:2603
+#: valprint.c:2602
 #, possible-c-format
 msgid "Input radix now set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:2639
+#: valprint.c:2638
 #, possible-c-format
 msgid "Unsupported output radix ``decimal %u''; output radix unchanged."
 msgstr ""
 
-#: valprint.c:2646
+#: valprint.c:2645
 #, possible-c-format
 msgid "Output radix now set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:2670
+#: valprint.c:2669
 #, possible-c-format
 msgid "Input and output radices now set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:2685
+#: valprint.c:2684
 #, possible-c-format
 msgid "Input and output radices set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:2691
+#: valprint.c:2690
 #, possible-c-format
 msgid "Input radix set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:2694
+#: valprint.c:2693
 #, possible-c-format
 msgid "Output radix set to decimal %u, hex %x, octal %o.\n"
 msgstr ""
 
-#: valprint.c:2735
+#: valprint.c:2734
 msgid "Generic command for setting how things print."
 msgstr ""
 
-#: valprint.c:2742
+#: valprint.c:2741
 msgid "Generic command for showing print settings."
 msgstr ""
 
-#: valprint.c:2748
+#: valprint.c:2747
 msgid "Generic command for setting what things to print in \"raw\" mode."
 msgstr ""
 
-#: valprint.c:2752
+#: valprint.c:2751
 msgid "Generic command for showing \"print raw\" settings."
 msgstr ""
 
-#: valprint.c:2756
+#: valprint.c:2755
 msgid "Set limit on string chars or array elements to print."
 msgstr ""
 
-#: valprint.c:2757
+#: valprint.c:2756
 msgid "Show limit on string chars or array elements to print."
 msgstr ""
 
-#: valprint.c:2758
+#: valprint.c:2757
 msgid "\"set print elements unlimited\" causes there to be no limit."
 msgstr ""
 
-#: valprint.c:2765
+#: valprint.c:2764
 msgid "Set printing of char arrays to stop at first null char."
 msgstr ""
 
-#: valprint.c:2766
+#: valprint.c:2765
 msgid "Show printing of char arrays to stop at first null char."
 msgstr ""
 
-#: valprint.c:2773
+#: valprint.c:2772
 msgid "Set threshold for repeated print elements."
 msgstr ""
 
-#: valprint.c:2774
+#: valprint.c:2773
 msgid "Show threshold for repeated print elements."
 msgstr ""
 
-#: valprint.c:2775
+#: valprint.c:2774
 msgid ""
 "\"set print repeats unlimited\" causes all elements to be individually "
 "printed."
 msgstr ""
 
-#: valprint.c:2782
+#: valprint.c:2781
 msgid "Set pretty formatting of structures."
 msgstr ""
 
-#: valprint.c:2783
+#: valprint.c:2782
 msgid "Show pretty formatting of structures."
 msgstr ""
 
-#: valprint.c:2790
+#: valprint.c:2789
 msgid "Set printing of unions interior to structures."
 msgstr ""
 
-#: valprint.c:2791
+#: valprint.c:2790
 msgid "Show printing of unions interior to structures."
 msgstr ""
 
-#: valprint.c:2798
+#: valprint.c:2797
 msgid "Set pretty formatting of arrays."
 msgstr ""
 
-#: valprint.c:2799
+#: valprint.c:2798
 msgid "Show pretty formatting of arrays."
 msgstr ""
 
-#: valprint.c:2806
+#: valprint.c:2805
 msgid "Set printing of addresses."
 msgstr ""
 
-#: valprint.c:2807
+#: valprint.c:2806
 msgid "Show printing of addresses."
 msgstr ""
 
-#: valprint.c:2814
+#: valprint.c:2813
 msgid "Set printing of symbol names when printing pointers."
 msgstr ""
 
-#: valprint.c:2815
+#: valprint.c:2814
 msgid "Show printing of symbol names when printing pointers."
 msgstr ""
 
-#: valprint.c:2822
+#: valprint.c:2821
 msgid "Set default input radix for entering numbers."
 msgstr ""
 
-#: valprint.c:2823
+#: valprint.c:2822
 msgid "Show default input radix for entering numbers."
 msgstr ""
 
-#: valprint.c:2830
+#: valprint.c:2829
 msgid "Set default output radix for printing of values."
 msgstr ""
 
-#: valprint.c:2831
+#: valprint.c:2830
 msgid "Show default output radix for printing of values."
 msgstr ""
 
@@ -28891,67 +29336,67 @@ msgstr ""
 #. add_show_from_set() commands aren't really appropriate.
 #. FIXME: i18n: With the new add_setshow_integer command, that is no
 #. longer true - show can display anything.
-#: valprint.c:2844
+#: valprint.c:2843
 msgid ""
 "Set default input and output number radices.\n"
 "Use 'set input-radix' or 'set output-radix' to independently set each.\n"
 "Without an argument, sets both radices back to the default value of 10."
 msgstr ""
 
-#: valprint.c:2849
+#: valprint.c:2848
 msgid ""
 "Show the default input and output number radices.\n"
 "Use 'show input-radix' or 'show output-radix' to independently show each."
 msgstr ""
 
-#: valprint.c:2855
+#: valprint.c:2854
 msgid "Set printing of array indexes."
 msgstr ""
 
-#: valprint.c:2856
+#: valprint.c:2855
 msgid "Show printing of array indexes"
 msgstr ""
 
-#: value.c:1063
+#: value.c:1159
 msgid "register has not been saved in frame"
 msgstr ""
 
-#: value.c:1719
+#: value.c:1825
 msgid "The history is empty."
 msgstr ""
 
-#: value.c:1721
+#: value.c:1827
 msgid "There is only one value in the history."
 msgstr ""
 
-#: value.c:1723
+#: value.c:1829
 #, possible-c-format
 msgid "History does not go back to $$%d."
 msgstr ""
 
-#: value.c:1726
+#: value.c:1832
 #, possible-c-format
 msgid "History has not yet reached $%d."
 msgstr ""
 
-#: value.c:1882
+#: value.c:1988
 msgid "Init-if-undefined requires an assignment expression."
 msgstr ""
 
-#: value.c:1887
+#: value.c:1993
 msgid "The first parameter to init-if-undefined should be a GDB variable."
 msgstr ""
 
-#: value.c:2071
+#: value.c:2177
 msgid "bad kind"
 msgstr ""
 
 #. We can never get a component of any other kind.
-#: value.c:2160
+#: value.c:2266
 msgid "set_internalvar_component"
 msgstr ""
 
-#: value.c:2171
+#: value.c:2277
 #, possible-c-format
 msgid "Cannot overwrite convenience function %s"
 msgstr ""
@@ -28960,55 +29405,55 @@ msgstr ""
 #. The user can't create them except via Python, and if Python support
 #. is installed this message will never be printed ($_streq will
 #. exist).
-#: value.c:2464
+#: value.c:2570
 msgid ""
 "No debugger convenience variables now defined.\n"
 "Convenience variables have names starting with \"$\";\n"
 "use \"set\" as in \"set $foo = 5\" to define them.\n"
 msgstr ""
 
-#: value.c:2690
+#: value.c:2796
 msgid "Value can't be converted to integer."
 msgstr ""
 
 #. FIXME: would like to include fieldval in the message, but
 #. we don't have a sprintf_longest.
-#: value.c:3246
+#: value.c:3328
 #, possible-c-format
 msgid "Value does not fit in %d bits."
 msgstr ""
 
-#: value.c:3297
+#: value.c:3379
 #, possible-c-format
 msgid "Unexpected type (%d) encountered for integer constant."
 msgstr ""
 
-#: value.c:3333
+#: value.c:3415
 #, possible-c-format
 msgid "Unexpected type (%d) encountered for unsigned integer constant."
 msgstr ""
 
-#: value.c:3452
+#: value.c:3535
 msgid "Unexpected type encountered for floating constant."
 msgstr ""
 
-#: value.c:3612
+#: value.c:3705
 msgid "Function return type unknown."
 msgstr ""
 
-#: value.c:3757
+#: value.c:3841
 msgid "infinite loop while fetching a register"
 msgstr ""
 
-#: value.c:3833
+#: value.c:3908
 msgid "Unexpected lazy value type."
 msgstr ""
 
-#: value.c:3849
+#: value.c:3924
 msgid "You must provide one argument for $_isvoid."
 msgstr ""
 
-#: value.c:3859
+#: value.c:3934
 msgid ""
 "Debugger convenience (\"$foo\") variables and functions.\n"
 "Convenience variables are created when you assign them values;\n"
@@ -29021,11 +29466,11 @@ msgid ""
 "Convenience functions are defined via the Python API."
 msgstr ""
 
-#: value.c:3874
+#: value.c:3949
 msgid "Elements of value history around item number IDX (or last ten)."
 msgstr ""
 
-#: value.c:3878
+#: value.c:3953
 msgid ""
 "Initialize a convenience variable if necessary.\n"
 "init-if-undefined VARIABLE = EXPRESSION\n"
@@ -29034,92 +29479,80 @@ msgid ""
 "VARIABLE is already initialized."
 msgstr ""
 
-#: value.c:3885
+#: value.c:3960
 msgid "Placeholder command for showing help on convenience functions."
 msgstr ""
 
-#: value.c:3889
+#: value.c:3964
 msgid ""
 "Check whether an expression is void.\n"
 "Usage: $_isvoid (expression)\n"
 "Return 1 if the expression is void, zero otherwise."
 msgstr ""
 
-#: varobj.c:51
+#: varobj.c:48
 #, possible-c-format
 msgid "Varobj debugging is %s.\n"
 msgstr ""
 
-#: varobj.c:388
+#: varobj.c:380
 msgid "Failed to find the specified frame"
 msgstr ""
 
-#: varobj.c:550
+#: varobj.c:542
 #, possible-c-format
 msgid "varobj_delete: assertion failed - mycount(=%d) <> 0"
 msgstr ""
 
-#: varobj.c:806
-msgid "Null value returned for children"
-msgstr ""
-
-#: varobj.c:816
-msgid "Could not get children iterator"
+#: varobj.c:770
+msgid "requested an iterator from a non-dynamic varobj"
 msgstr ""
 
-#: varobj.c:901
-msgid "Invalid item from the child list"
-msgstr ""
-
-#: varobj.c:1260
+#: varobj.c:1193
 msgid "Cannot instantiate printer for default visualizer"
 msgstr ""
 
-#: varobj.c:1617
+#: varobj.c:1550
 #, possible-c-format
 msgid "Could not evaluate visualizer expression: %s"
 msgstr ""
 
-#: varobj.c:1629
+#: varobj.c:1562
 msgid "Python support required"
 msgstr ""
 
-#: varobj.c:2009
+#: varobj.c:1941
 msgid "Duplicate variable object name"
 msgstr ""
 
-#: varobj.c:2092
+#: varobj.c:2024
 #, possible-c-format
 msgid "Assertion failed: Could not find varobj \"%s\" in root list"
 msgstr ""
 
-#: varobj.c:2804
+#: varobj.c:2782
 msgid "Set varobj debugging."
 msgstr ""
 
-#: varobj.c:2805
+#: varobj.c:2783
 msgid "Show varobj debugging."
 msgstr ""
 
-#: varobj.c:2806
+#: varobj.c:2784
 msgid "When non-zero, varobj debugging is enabled."
 msgstr ""
 
-#: vax-nat.c:80
-msgid "Unable to determine location of registers"
-msgstr ""
-
-#: windows-nat.c:318
+#: windows-nat.c:315
 #, possible-c-format
 msgid "SuspendThread (tid=0x%x) failed. (winerr %u)"
 msgstr ""
 
-#: windows-nat.c:407
+#: windows-nat.c:404
 #, possible-c-format
 msgid "[%s exited with code %u]\n"
 msgstr ""
 
-#: windows-nat.c:683
+#: windows-nat.c:625
 msgid "dll path too long"
 msgstr ""
 
@@ -29130,157 +29563,149 @@ msgstr ""
 #. 4 mysterious UNLOAD_DLL_DEBUG_EVENTs during the startup phase (these
 #. events are apparently caused by the WOW layer, the interface between
 #. 32bit and 64bit worlds).
-#: windows-nat.c:846
+#: windows-nat.c:788
 #, possible-c-format
 msgid "dll starting at %s not found."
 msgstr ""
 
-#: windows-nat.c:868
-msgid "dll-symbols requires a file name"
-msgstr ""
-
-#: windows-nat.c:1260
+#: windows-nat.c:1180
 #, possible-c-format
 msgid "OpenProcess call failed, GetLastError = %u"
 msgstr ""
 
-#: windows-nat.c:1385
+#: windows-nat.c:1305
 msgid "Could not interrupt program.  Press Ctrl-c in the program console."
 msgstr ""
 
-#: windows-nat.c:1495
+#: windows-nat.c:1415
 #, possible-c-format
 msgid "During startup program exited with code 0x%x."
 msgstr ""
 
-#: windows-nat.c:1867
+#: windows-nat.c:1787
 msgid "Can't attach to process."
 msgstr ""
 
-#: windows-nat.c:1899
+#: windows-nat.c:1819
 #, possible-c-format
 msgid "Can't detach process %u (error %u)"
 msgstr ""
 
-#: windows-nat.c:1957 windows-nat.c:1967
+#: windows-nat.c:1877 windows-nat.c:1887
 #, possible-c-format
 msgid "Error getting executable filename: %u."
 msgstr ""
 
-#: windows-nat.c:1961
+#: windows-nat.c:1881
 #, possible-c-format
 msgid "Error converting executable filename to POSIX: %d."
 msgstr ""
 
-#: windows-nat.c:2135
+#: windows-nat.c:2055
 msgid "No executable specified, use `target exec'."
 msgstr ""
 
-#: windows-nat.c:2152 windows-nat.c:2157
+#: windows-nat.c:2072 windows-nat.c:2077
 #, possible-c-format
 msgid "Error starting executable: %d"
 msgstr ""
 
-#: windows-nat.c:2170
+#: windows-nat.c:2090
 #, possible-c-format
 msgid "Error starting executable via shell: %d"
 msgstr ""
 
-#: windows-nat.c:2294
+#: windows-nat.c:2214
 #, possible-c-format
 msgid "Warning: Failed to open TTY %s, error %#x."
 msgstr ""
 
-#: windows-nat.c:2346
+#: windows-nat.c:2266
 #, possible-c-format
 msgid "Error creating process %s, (error %u)."
 msgstr ""
 
-#: windows-nat.c:2619 windows-nat.c:2624 windows-nat.c:2629
-msgid "Load dll library symbols from FILE."
-msgstr ""
-
-#: windows-nat.c:2634
+#: windows-nat.c:2536
 msgid "Set use of shell to start subprocess."
 msgstr ""
 
-#: windows-nat.c:2635
+#: windows-nat.c:2537
 msgid "Show use of shell to start subprocess."
 msgstr ""
 
-#: windows-nat.c:2642
+#: windows-nat.c:2544
 msgid "Break when an exception is detected in the Cygwin DLL itself."
 msgstr ""
 
-#: windows-nat.c:2643
+#: windows-nat.c:2545
 msgid "Show whether gdb breaks on exceptions in the Cygwin DLL itself."
 msgstr ""
 
-#: windows-nat.c:2650
+#: windows-nat.c:2552
 msgid "Set creation of new console when creating child process."
 msgstr ""
 
-#: windows-nat.c:2651
+#: windows-nat.c:2553
 msgid "Show creation of new console when creating child process."
 msgstr ""
 
-#: windows-nat.c:2657
+#: windows-nat.c:2559
 msgid "Set creation of new group when creating child process."
 msgstr ""
 
-#: windows-nat.c:2658
+#: windows-nat.c:2560
 msgid "Show creation of new group when creating child process."
 msgstr ""
 
-#: windows-nat.c:2664
+#: windows-nat.c:2566
 msgid "Set whether to display execution in child process."
 msgstr ""
 
-#: windows-nat.c:2665
+#: windows-nat.c:2567
 msgid "Show whether to display execution in child process."
 msgstr ""
 
-#: windows-nat.c:2671
+#: windows-nat.c:2573
 msgid "Set whether to display kernel events in child process."
 msgstr ""
 
-#: windows-nat.c:2672
+#: windows-nat.c:2574
 msgid "Show whether to display kernel events in child process."
 msgstr ""
 
-#: windows-nat.c:2678
+#: windows-nat.c:2580
 msgid "Set whether to display memory accesses in child process."
 msgstr ""
 
-#: windows-nat.c:2679
+#: windows-nat.c:2581
 msgid "Show whether to display memory accesses in child process."
 msgstr ""
 
-#: windows-nat.c:2686
+#: windows-nat.c:2588
 msgid "Set whether to display kernel exceptions in child process."
 msgstr ""
 
-#: windows-nat.c:2687
+#: windows-nat.c:2589
 msgid "Show whether to display kernel exceptions in child process."
 msgstr ""
 
-#: windows-nat.c:2696
+#: windows-nat.c:2598
 msgid "Display selectors infos."
 msgstr ""
 
-#: windows-nat.c:2711
+#: windows-nat.c:2613
 #, possible-c-format
 msgid "Invalid register %d in cygwin_set_dr.\n"
 msgstr ""
 
-#: windows-nat.c:2798
+#: windows-nat.c:2700
 #, possible-c-format
 msgid "obsolete '%s' found. Rename to '%s'."
 msgstr ""
 
 #. This will probably fail on Windows 9x/Me.  Let the user know
 #. that we're missing some functionality.
-#: windows-nat.c:2929
+#: windows-nat.c:2831
 msgid ""
 "cannot automatically find executable file or library to read symbols.\n"
 "Use \"file\" or \"dll\" command to load executable/libraries directly."
@@ -29348,11 +29773,44 @@ msgid ""
 "even if their meaning is unknown."
 msgstr ""
 
-#: xcoffread.c:185
+#: x86-linux-nat.c:71
+msgid "Couldn't read debug register"
+msgstr ""
+
+#: x86-linux-nat.c:317
+msgid "Couldn't get CS register"
+msgstr ""
+
+#: x86-linux-nat.c:326
+msgid "Couldn't get DS register"
+msgstr ""
+
+#: x86-linux-nat.c:331
+msgid "Can't debug 64-bit process with 32-bit GDB"
+msgstr ""
+
+#: x86-linux-nat.c:439
+#, possible-c-format
+msgid "Could not enable branch tracing for %s: %s."
+msgstr ""
+
+#: x86-linux-nat.c:458
+msgid "Could not disable branch tracing."
+msgstr ""
+
+#: x86-nat.c:273
+msgid "Set whether to show variables that mirror the x86 debug registers."
+msgstr ""
+
+#: x86-nat.c:274
+msgid "Show whether to show variables that mirror the x86 debug registers."
+msgstr ""
+
+#: xcoffread.c:183
 msgid "line numbers off, `.bf' symbol not found"
 msgstr ""
 
-#: xcoffread.c:192
+#: xcoffread.c:190
 #, possible-c-format
 msgid "Mismatched .ef symbol ignored starting at symnum %d"
 msgstr ""
@@ -29362,460 +29820,460 @@ msgstr ""
 #. This can happen with old versions of GCC.
 #. GCC 2.3.3-930426 does not exhibit this on a test case which
 #. a user said produced the message for him.
-#: xcoffread.c:560
+#: xcoffread.c:558
 msgid "Nested C_BINCL symbols"
 msgstr ""
 
-#: xcoffread.c:577
+#: xcoffread.c:575
 msgid "Mismatched C_BINCL/C_EINCL pair"
 msgstr ""
 
-#: xcoffread.c:867
+#: xcoffread.c:862
 msgid "Bad line table offset in C_EINCL directive"
 msgstr ""
 
-#: xcoffread.c:990 xcoffread.c:1004
+#: xcoffread.c:985 xcoffread.c:999
 msgid "Unexpected symbol continuation"
 msgstr ""
 
-#: xcoffread.c:1439
+#: xcoffread.c:1433
 #, possible-c-format
 msgid "Unrecognized storage class %d."
 msgstr ""
 
-#: xcoffread.c:1624
+#: xcoffread.c:1617
 #, possible-c-format
 msgid "Unexpected storage class: %d"
 msgstr ""
 
-#: xcoffread.c:1709
+#: xcoffread.c:1702
 msgid "Invalid symbol offset"
 msgstr ""
 
-#: xcoffread.c:1976
+#: xcoffread.c:1969
 #, possible-c-format
 msgid "cannot seek to string table in %s: %s"
 msgstr ""
 
-#: xcoffread.c:2003
+#: xcoffread.c:1996
 #, possible-c-format
 msgid "cannot read string table from %s: %s"
 msgstr ""
 
-#: xcoffread.c:2006
+#: xcoffread.c:1999
 msgid "bad symbol file: string table does not end with null character"
 msgstr ""
 
-#: xcoffread.c:2373
+#: xcoffread.c:2366
 msgid "More than one XMC_TC0 symbol found."
 msgstr ""
 
-#: xcoffread.c:2526
+#: xcoffread.c:2519
 #, possible-c-format
 msgid "Storage class %d not recognized during scan"
 msgstr ""
 
-#: xcoffread.c:2997
+#: xcoffread.c:2990
 #, possible-c-format
 msgid "Error reading .debug section of `%s': %s"
 msgstr ""
 
-#: xcoffread.c:3010
+#: xcoffread.c:3003
 #, possible-c-format
 msgid "Error reading symbols from %s: %s"
 msgstr ""
 
-#: xcoffread.c:3018
+#: xcoffread.c:3011
 msgid "reading symbol table"
 msgstr ""
 
-#: xml-support.c:196
+#: xml-support.c:193
 #, possible-c-format
 msgid "Entering element <%s>"
 msgstr ""
 
-#: xml-support.c:223
+#: xml-support.c:220
 #, possible-c-format
 msgid "Element <%s> unknown"
 msgstr ""
 
-#: xml-support.c:228
+#: xml-support.c:225
 #, possible-c-format
 msgid "Element <%s> only expected once"
 msgstr ""
 
-#: xml-support.c:252
+#: xml-support.c:249
 #, possible-c-format
 msgid "Attribute \"%s\" missing a value"
 msgstr ""
 
-#: xml-support.c:259
+#: xml-support.c:256
 #, possible-c-format
 msgid "Required attribute \"%s\" of <%s> not specified"
 msgstr ""
 
-#: xml-support.c:268
+#: xml-support.c:265
 #, possible-c-format
 msgid "Parsing attribute %s=\"%s\""
 msgstr ""
 
-#: xml-support.c:295
+#: xml-support.c:292
 #, possible-c-format
 msgid "Ignoring unknown attribute %s"
 msgstr ""
 
-#: xml-support.c:348
+#: xml-support.c:345
 #, possible-c-format
 msgid "Leaving element <%s>"
 msgstr ""
 
-#: xml-support.c:355
+#: xml-support.c:352
 #, possible-c-format
 msgid "Required element <%s> is missing"
 msgstr ""
 
-#: xml-support.c:505
+#: xml-support.c:502
 #, possible-c-format
 msgid "could not locate built-in DTD %s"
 msgstr ""
 
-#: xml-support.c:550
+#: xml-support.c:547
 #, possible-c-format
 msgid "XML_UseForeignDTD failed: %s"
 msgstr ""
 
-#: xml-support.c:567
+#: xml-support.c:564
 #, possible-c-format
 msgid ""
 "Starting:\n"
 "%s"
 msgstr ""
 
-#: xml-support.c:593
+#: xml-support.c:590
 #, possible-c-format
 msgid "while parsing %s (at line %d): %s"
 msgstr ""
 
-#: xml-support.c:596
+#: xml-support.c:593
 #, possible-c-format
 msgid "while parsing %s: %s"
 msgstr ""
 
-#: xml-support.c:653
+#: xml-support.c:650
 #, possible-c-format
 msgid "Can't convert \"%s\" to an integer"
 msgstr ""
 
-#: xml-support.c:669
+#: xml-support.c:666
 #, possible-c-format
 msgid "Can't convert %s=\"%s\" to an integer"
 msgstr ""
 
-#: xml-support.c:703
+#: xml-support.c:700
 #, possible-c-format
 msgid "Unknown attribute value %s=\"%s\""
 msgstr ""
 
-#: xml-support.c:765
+#: xml-support.c:762
 #, possible-c-format
 msgid "Processing XInclude of \"%s\""
 msgstr ""
 
-#: xml-support.c:768
+#: xml-support.c:765
 #, possible-c-format
 msgid "Maximum XInclude depth (%d) exceeded"
 msgstr ""
 
-#: xml-support.c:773
+#: xml-support.c:770
 #, possible-c-format
 msgid "Could not load XML document \"%s\""
 msgstr ""
 
-#: xml-support.c:780
+#: xml-support.c:777
 #, possible-c-format
 msgid "Parsing \"%s\" failed"
 msgstr ""
 
-#: xml-support.c:914
+#: xml-support.c:911
 msgid "XInclude processing succeeded."
 msgstr ""
 
-#: xml-support.c:975
+#: xml-support.c:972
 #, possible-c-format
 msgid "XML debugging is %s.\n"
 msgstr ""
 
-#: xml-support.c:1058
+#: xml-support.c:1055
 #, possible-c-format
 msgid "Read error from \"%s\""
 msgstr ""
 
-#: xml-support.c:1085
+#: xml-support.c:1082
 msgid "Set XML parser debugging."
 msgstr ""
 
-#: xml-support.c:1086
+#: xml-support.c:1083
 msgid "Show XML parser debugging."
 msgstr ""
 
-#: xml-support.c:1087
+#: xml-support.c:1084
 msgid "When set, debugging messages for XML parsers are displayed."
 msgstr ""
 
-#: xml-syscall.c:45
+#: xml-syscall.c:44
 msgid ""
 "Can not parse XML syscalls information; XML support was disabled at compile "
 "time."
 msgstr ""
 
-#: xml-syscall.c:195
+#: xml-syscall.c:191
 #, possible-c-format
 msgid "Unknown attribute name '%s'."
 msgstr ""
 
-#: xml-syscall.c:233
+#: xml-syscall.c:229
 msgid "syscalls info"
 msgstr ""
 
-#: xml-syscall.c:242
+#: xml-syscall.c:238
 msgid "Could not load XML syscalls info; ignoring"
 msgstr ""
 
-#: xml-syscall.c:306
+#: xml-syscall.c:308
 #, possible-c-format
 msgid "Could not load the syscall XML file `%s/%s'."
 msgstr ""
 
-#: xml-syscall.c:309
+#: xml-syscall.c:311
 msgid "There is no XML file to open."
 msgstr ""
 
-#: xml-syscall.c:311
+#: xml-syscall.c:313
 msgid ""
 "GDB will not be able to display syscall names nor to verify if\n"
 "any provided syscall numbers are valid."
 msgstr ""
 
-#: xml-tdesc.c:47
+#: xml-tdesc.c:45
 msgid ""
 "Can not parse XML target description; XML support was disabled at compile "
 "time"
 msgstr ""
 
-#: xml-tdesc.c:111
+#: xml-tdesc.c:109
 #, possible-c-format
 msgid "Target description specified unknown architecture \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:128
+#: xml-tdesc.c:126
 #, possible-c-format
 msgid "Target description specified unknown osabi \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:159
+#: xml-tdesc.c:157
 #, possible-c-format
 msgid "Target description has unsupported version \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:218
+#: xml-tdesc.c:216
 #, possible-c-format
 msgid "Register \"%s\" has unknown type \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:326
+#: xml-tdesc.c:324
 #, possible-c-format
 msgid "Cannot add typed field \"%s\" to flags"
 msgstr ""
 
-#: xml-tdesc.c:330
+#: xml-tdesc.c:328
 #, possible-c-format
 msgid "Explicitly sized type can not contain non-bitfield \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:336
+#: xml-tdesc.c:334
 #, possible-c-format
 msgid "Field \"%s\" references undefined type \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:352
+#: xml-tdesc.c:350
 #, possible-c-format
 msgid "Implicitly sized type can not contain bitfield \"%s\""
 msgstr ""
 
-#: xml-tdesc.c:358
+#: xml-tdesc.c:356
 #, possible-c-format
 msgid "Bitfield \"%s\" goes past 64 bits (unsupported)"
 msgstr ""
 
-#: xml-tdesc.c:367
+#: xml-tdesc.c:365
 #, possible-c-format
 msgid "Bitfield \"%s\" has start after end"
 msgstr ""
 
-#: xml-tdesc.c:372
+#: xml-tdesc.c:370
 #, possible-c-format
 msgid "Bitfield \"%s\" does not fit in struct"
 msgstr ""
 
-#: xml-tdesc.c:378
+#: xml-tdesc.c:376
 #, possible-c-format
 msgid "Field \"%s\" has neither type nor bit position"
 msgstr ""
 
-#: xml-tdesc.c:402
+#: xml-tdesc.c:400
 #, possible-c-format
 msgid "Vector \"%s\" references undefined type \"%s\""
 msgstr ""
 
 #. Expand all XInclude directives.
-#: xml-tdesc.c:515 xml-tdesc.c:540
+#: xml-tdesc.c:513 xml-tdesc.c:538
 msgid "target description"
 msgstr ""
 
-#: xml-tdesc.c:519 xml-tdesc.c:555
+#: xml-tdesc.c:517 xml-tdesc.c:553
 msgid "Could not load XML target description; ignoring"
 msgstr ""
 
-#: xml-tdesc.c:577
+#: xml-tdesc.c:575
 #, possible-c-format
 msgid "Could not open \"%s\""
 msgstr ""
 
-#: xstormy16-tdep.c:116
+#: xstormy16-tdep.c:114
 #, possible-c-format
 msgid "xstormy16_register_name: illegal register number %d"
 msgstr ""
 
-#: xtensa-linux-nat.c:240 xtensa-linux-nat.c:256
+#: xtensa-linux-nat.c:238 xtensa-linux-nat.c:254
 msgid "Couldn't get extended registers"
 msgstr ""
 
-#: xtensa-linux-nat.c:264
+#: xtensa-linux-nat.c:262
 msgid "Couldn't write extended registers"
 msgstr ""
 
-#: xtensa-tdep.c:253
+#: xtensa-tdep.c:252
 #, possible-c-format
 msgid "invalid register %d"
 msgstr ""
 
-#: xtensa-tdep.c:359
+#: xtensa-tdep.c:358
 #, possible-c-format
 msgid "invalid dwarf/stabs register number %d"
 msgstr ""
 
-#: xtensa-tdep.c:422 xtensa-tdep.c:501
+#: xtensa-tdep.c:421 xtensa-tdep.c:500
 msgid "size of all masks is larger than the register"
 msgstr ""
 
-#: xtensa-tdep.c:607
+#: xtensa-tdep.c:606
 #, possible-c-format
 msgid "cannot read register %s"
 msgstr ""
 
-#: xtensa-tdep.c:619 xtensa-tdep.c:626
+#: xtensa-tdep.c:618 xtensa-tdep.c:625
 msgid "cannot read register"
 msgstr ""
 
-#: xtensa-tdep.c:701
+#: xtensa-tdep.c:700
 #, possible-c-format
 msgid "cannot write register %s"
 msgstr ""
 
-#: xtensa-tdep.c:713 xtensa-tdep.c:721
+#: xtensa-tdep.c:712 xtensa-tdep.c:720
 msgid "cannot write register"
 msgstr ""
 
-#: xtensa-tdep.c:1433
+#: xtensa-tdep.c:1427
 msgid ""
 "\n"
 "Unrecognised function prologue. Stack trace cannot be resolved. This message "
 "will not be repeated in this session.\n"
 msgstr ""
 
-#: xtensa-tdep.c:1600
+#: xtensa-tdep.c:1594
 #, possible-c-format
 msgid "cannot extract return value of %d bytes long"
 msgstr ""
 
-#: xtensa-tdep.c:1655
+#: xtensa-tdep.c:1649
 #, possible-c-format
 msgid "unimplemented for this length: %d"
 msgstr ""
 
-#: xtensa-tdep.c:2460
+#: xtensa-tdep.c:2454
 msgid "Unable to read target memory ..."
 msgstr ""
 
-#: xtensa-tdep.c:2957
+#: xtensa-tdep.c:2951
 msgid "Unable to decode Xtensa Window Interrupt Handler's code."
 msgstr ""
 
-#: xtensa-tdep.c:2988
+#: xtensa-tdep.c:2982
 msgid "Unable to read Xtensa register EPC1"
 msgstr ""
 
-#: xtensa-tdep.c:3091
+#: xtensa-tdep.c:3085
 #, possible-c-format
 msgid ""
 "\n"
 "\tnum_aregs: Number of AR registers (%d) is not a power of two!"
 msgstr ""
 
-#: xtensa-tdep.c:3098
+#: xtensa-tdep.c:3092
 msgid ""
 "\n"
 "\tpc_regnum: No PC register"
 msgstr ""
 
-#: xtensa-tdep.c:3100
+#: xtensa-tdep.c:3094
 msgid ""
 "\n"
 "\tps_regnum: No PS register"
 msgstr ""
 
-#: xtensa-tdep.c:3105
+#: xtensa-tdep.c:3099
 msgid ""
 "\n"
 "\twb_regnum: No WB register"
 msgstr ""
 
-#: xtensa-tdep.c:3107
+#: xtensa-tdep.c:3101
 msgid ""
 "\n"
 "\tws_regnum: No WS register"
 msgstr ""
 
-#: xtensa-tdep.c:3109
+#: xtensa-tdep.c:3103
 msgid ""
 "\n"
 "\tar_base: No AR registers"
 msgstr ""
 
-#: xtensa-tdep.c:3113
+#: xtensa-tdep.c:3107
 msgid ""
 "\n"
 "\ta0_base: No Ax registers"
 msgstr ""
 
-#: xtensa-tdep.c:3119
+#: xtensa-tdep.c:3113
 #, possible-c-format
 msgid "the following are invalid: %s"
 msgstr ""
 
-#: xtensa-tdep.c:3296
+#: xtensa-tdep.c:3290
 msgid "xtensa_dump_tdep(): not implemented"
 msgstr ""
 
-#: xtensa-tdep.c:3313
+#: xtensa-tdep.c:3307
 msgid "Set Xtensa debugging."
 msgstr ""
 
-#: xtensa-tdep.c:3314
+#: xtensa-tdep.c:3308
 msgid "Show Xtensa debugging."
 msgstr ""
 
-#: xtensa-tdep.c:3314
+#: xtensa-tdep.c:3308
 msgid ""
 "When non-zero, Xtensa-specific debugging is enabled. Can be 1, 2, 3, or 4 "
 "indicating the level of debugging."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/posix-hdep.c ./gdb/posix-hdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/posix-hdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/posix-hdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Host support routines for MinGW, for GDB, the GNU debugger.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,8 +20,6 @@
 #include "defs.h"
 #include "event-loop.h"
 
-#include <string.h>
-
 #include "gdb_select.h"
 
 /* The strerror() function can return NULL for errno values that are
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc64-tdep.c ./gdb/ppc64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc64-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppc64-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common target-dependent code for ppc64 GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc64-tdep.h ./gdb/ppc64-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc64-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppc64-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common target-dependent code for ppc64.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcbug-rom.c ./gdb/ppcbug-rom.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcbug-rom.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcbug-rom.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote debugging interface for PPCbug (PowerPC) Rom monitor
    for GDB, the GNU debugger.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    Written by Stu Grossman of Cygnus Support
 
@@ -184,13 +184,13 @@ static struct monitor_ops ppcbug_cmds0;
 static struct monitor_ops ppcbug_cmds1;
 
 static void
-ppcbug_open0 (char *args, int from_tty)
+ppcbug_open0 (const char *args, int from_tty)
 {
   monitor_open (args, &ppcbug_cmds0, from_tty);
 }
 
 static void
-ppcbug_open1 (char *args, int from_tty)
+ppcbug_open1 (const char *args, int from_tty)
 {
   monitor_open (args, &ppcbug_cmds1, from_tty);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcfbsd-nat.c ./gdb/ppcfbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcfbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcfbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for PowerPC's running FreeBSD, for GDB.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,8 +22,6 @@
 #include "inferior.h"
 #include "regcache.h"
 
-#include "gdb_assert.h"
-#include <stddef.h>
 #include <sys/types.h>
 #include <sys/procfs.h>
 #include <sys/ptrace.h>
@@ -216,7 +214,6 @@ _initialize_ppcfbsd_nat (void)
   t->to_store_registers = ppcfbsd_store_inferior_registers;
   t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
   t->to_find_memory_regions = fbsd_find_memory_regions;
-  t->to_make_corefile_notes = fbsd_make_corefile_notes;
   add_target (t);
 
   /* Support debugging kernel virtual memory images.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcfbsd-tdep.c ./gdb/ppcfbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcfbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcfbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for PowerPC systems running FreeBSD.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,12 +30,10 @@
 #include "target.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "ppc-tdep.h"
 #include "ppc64-tdep.h"
 #include "ppcfbsd-tdep.h"
+#include "fbsd-tdep.h"
 #include "solib-svr4.h"
 
 
@@ -131,24 +129,21 @@ ppc_fbsd_fpregset (void)
   return &ppc32_fbsd_fpregset;
 }
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-ppcfbsd_regset_from_core_section (struct gdbarch *gdbarch,
-				  const char *sect_name, size_t sect_size)
+static void
+ppcfbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				      iterate_over_regset_sections_cb *cb,
+				      void *cb_data,
+				      const struct regcache *regcache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= 148)
-    {
-      if (tdep->wordsize == 4)
-	return &ppc32_fbsd_gregset;
-      else
-	return &ppc64_fbsd_gregset;
-    }
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size >= 264)
-    return &ppc32_fbsd_fpregset;
-  return NULL;
+
+  if (tdep->wordsize == 4)
+    cb (".reg", 148, &ppc32_fbsd_gregset, NULL, cb_data);
+  else
+    cb (".reg", 296, &ppc64_fbsd_gregset, NULL, cb_data);
+  cb (".reg2", 264, &ppc32_fbsd_fpregset, NULL, cb_data);
 }
 
 /* Default page size.  */
@@ -303,6 +298,9 @@ ppcfbsd_init_abi (struct gdbarch_info in
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  /* Generic FreeBSD support. */
+  fbsd_init_abi (info, gdbarch);
+
   /* FreeBSD doesn't support the 128-bit `long double' from the psABI.  */
   set_gdbarch_long_double_bit (gdbarch, 64);
   set_gdbarch_long_double_format (gdbarch, floatformats_ieee_double);
@@ -332,8 +330,8 @@ ppcfbsd_init_abi (struct gdbarch_info in
       set_gdbarch_gcore_bfd_target (gdbarch, "elf64-powerpc");
     }
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, ppcfbsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, ppcfbsd_iterate_over_regset_sections);
 
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
 					     svr4_fetch_objfile_link_map);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcfbsd-tdep.h ./gdb/ppcfbsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcfbsd-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcfbsd-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GDB on PowerPC systems running FreeBSD.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-linux-nat.c ./gdb/ppc-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppc-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* PPC GNU/Linux native support.
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,14 +18,12 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "observer.h"
 #include "frame.h"
 #include "inferior.h"
 #include "gdbthread.h"
 #include "gdbcore.h"
 #include "regcache.h"
-#include "gdb_assert.h"
 #include "target.h"
 #include "linux-nat.h"
 
@@ -1692,7 +1690,7 @@ ppc_linux_insert_hw_breakpoint (struct t
   p.version = PPC_DEBUG_CURRENT_VERSION;
   p.trigger_type = PPC_BREAKPOINT_TRIGGER_EXECUTE;
   p.condition_mode = PPC_BREAKPOINT_CONDITION_NONE;
-  p.addr = (uint64_t) bp_tgt->placed_address;
+  p.addr = (uint64_t) (bp_tgt->placed_address = bp_tgt->reqstd_address);
   p.condition_value = 0;
 
   if (bp_tgt->length)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-linux-tdep.c ./gdb/ppc-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppc-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -45,7 +45,6 @@
 #include "auxv.h"
 #include "elf/common.h"
 #include "elf/ppc64.h"
-#include "exceptions.h"
 #include "arch-utils.h"
 #include "spu-tdep.h"
 #include "xml-syscall.h"
@@ -211,7 +210,7 @@ static int
 ppc_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
 				    struct bp_target_info *bp_tgt)
 {
-  CORE_ADDR addr = bp_tgt->placed_address;
+  CORE_ADDR addr = bp_tgt->reqstd_address;
   const unsigned char *bp;
   int val;
   int bplen;
@@ -257,54 +256,6 @@ ppc_linux_return_value (struct gdbarch *
 				      readbuf, writebuf);
 }
 
-static struct core_regset_section ppc_linux_vsx_regset_sections[] =
-{
-  { ".reg", 48 * 4, "general-purpose" },
-  { ".reg2", 264, "floating-point" },
-  { ".reg-ppc-vmx", 544, "ppc Altivec" },
-  { ".reg-ppc-vsx", 256, "POWER7 VSX" },
-  { NULL, 0}
-};
-
-static struct core_regset_section ppc_linux_vmx_regset_sections[] =
-{
-  { ".reg", 48 * 4, "general-purpose" },
-  { ".reg2", 264, "floating-point" },
-  { ".reg-ppc-vmx", 544, "ppc Altivec" },
-  { NULL, 0}
-};
-
-static struct core_regset_section ppc_linux_fp_regset_sections[] =
-{
-  { ".reg", 48 * 4, "general-purpose" },
-  { ".reg2", 264, "floating-point" },
-  { NULL, 0}
-};
-
-static struct core_regset_section ppc64_linux_vsx_regset_sections[] =
-{
-  { ".reg", 48 * 8, "general-purpose" },
-  { ".reg2", 264, "floating-point" },
-  { ".reg-ppc-vmx", 544, "ppc Altivec" },
-  { ".reg-ppc-vsx", 256, "POWER7 VSX" },
-  { NULL, 0}
-};
-
-static struct core_regset_section ppc64_linux_vmx_regset_sections[] =
-{
-  { ".reg", 48 * 8, "general-purpose" },
-  { ".reg2", 264, "floating-point" },
-  { ".reg-ppc-vmx", 544, "ppc Altivec" },
-  { NULL, 0}
-};
-
-static struct core_regset_section ppc64_linux_fp_regset_sections[] =
-{
-  { ".reg", 48 * 8, "general-purpose" },
-  { ".reg2", 264, "floating-point" },
-  { NULL, 0}
-};
-
 /* PLT stub in executable.  */
 static struct ppc_insn_pattern powerpc32_plt_stub[] =
   {
@@ -395,7 +346,7 @@ ppc_linux_supply_gregset (const struct r
 			  struct regcache *regcache,
 			  int regnum, const void *gregs, size_t len)
 {
-  const struct ppc_reg_offsets *offsets = regset->descr;
+  const struct ppc_reg_offsets *offsets = regset->regmap;
 
   ppc_supply_gregset (regset, regcache, regnum, gregs, len);
 
@@ -420,7 +371,7 @@ ppc_linux_collect_gregset (const struct 
 			   const struct regcache *regcache,
 			   int regnum, void *gregs, size_t len)
 {
-  const struct ppc_reg_offsets *offsets = regset->descr;
+  const struct ppc_reg_offsets *offsets = regset->regmap;
 
   /* Clear areas in the linux gregset not written elsewhere.  */
   if (regnum == -1)
@@ -537,25 +488,30 @@ ppc_linux_fpregset (void)
   return &ppc32_linux_fpregset;
 }
 
-static const struct regset *
-ppc_linux_regset_from_core_section (struct gdbarch *core_arch,
-				    const char *sect_name, size_t sect_size)
+/* Iterate over supported core file register note sections. */
+
+static void
+ppc_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					iterate_over_regset_sections_cb *cb,
+					void *cb_data,
+					const struct regcache *regcache)
 {
-  struct gdbarch_tdep *tdep = gdbarch_tdep (core_arch);
-  if (strcmp (sect_name, ".reg") == 0)
-    {
-      if (tdep->wordsize == 4)
-	return &ppc32_linux_gregset;
-      else
-	return &ppc64_linux_gregset;
-    }
-  if (strcmp (sect_name, ".reg2") == 0)
-    return &ppc32_linux_fpregset;
-  if (strcmp (sect_name, ".reg-ppc-vmx") == 0)
-    return &ppc32_linux_vrregset;
-  if (strcmp (sect_name, ".reg-ppc-vsx") == 0)
-    return &ppc32_linux_vsxregset;
-  return NULL;
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  int have_altivec = tdep->ppc_vr0_regnum != -1;
+  int have_vsx = tdep->ppc_vsr0_upper_regnum != -1;
+
+  if (tdep->wordsize == 4)
+    cb (".reg", 48 * 4, &ppc32_linux_gregset, NULL, cb_data);
+  else
+    cb (".reg", 48 * 8, &ppc64_linux_gregset, NULL, cb_data);
+
+  cb (".reg2", 264, &ppc32_linux_fpregset, NULL, cb_data);
+
+  if (have_altivec)
+    cb (".reg-ppc-vmx", 544, &ppc32_linux_vrregset, "ppc Altivec", cb_data);
+
+  if (have_vsx)
+    cb (".reg-ppc-vsx", 256, &ppc32_linux_vsxregset, "POWER7 VSX", cb_data);
 }
 
 static void
@@ -1078,11 +1034,6 @@ ppc_linux_spe_context (int wordsize, enu
       struct target_ops *target = &current_target;
       volatile struct gdb_exception ex;
 
-      while (target && !target->to_get_thread_local_address)
-	target = find_target_beneath (target);
-      if (!target)
-	return 0;
-
       TRY_CATCH (ex, RETURN_MASK_ERROR)
 	{
 	  /* We do not call target_translate_tls_address here, because
@@ -1343,7 +1294,7 @@ ppc_linux_init_abi (struct gdbarch_info 
         (gdbarch, svr4_ilp32_fetch_link_map_offsets);
 
       /* Setting the correct XML syscall filename.  */
-      set_xml_syscall_file_name (XML_SYSCALL_FILENAME_PPC);
+      set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_PPC);
 
       /* Trampolines.  */
       tramp_frame_prepend_unwinder (gdbarch,
@@ -1357,19 +1308,6 @@ ppc_linux_init_abi (struct gdbarch_info 
       else
 	set_gdbarch_gcore_bfd_target (gdbarch, "elf32-powerpc");
 
-      /* Supported register sections.  */
-      if (tdesc_find_feature (info.target_desc,
-			      "org.gnu.gdb.power.vsx"))
-	set_gdbarch_core_regset_sections (gdbarch,
-					  ppc_linux_vsx_regset_sections);
-      else if (tdesc_find_feature (info.target_desc,
-			       "org.gnu.gdb.power.altivec"))
-	set_gdbarch_core_regset_sections (gdbarch,
-					  ppc_linux_vmx_regset_sections);
-      else
-	set_gdbarch_core_regset_sections (gdbarch,
-					  ppc_linux_fp_regset_sections);
-
       if (powerpc_so_ops.in_dynsym_resolve_code == NULL)
 	{
 	  powerpc_so_ops = svr4_so_ops;
@@ -1408,7 +1346,7 @@ ppc_linux_init_abi (struct gdbarch_info 
         (gdbarch, svr4_lp64_fetch_link_map_offsets);
 
       /* Setting the correct XML syscall filename.  */
-      set_xml_syscall_file_name (XML_SYSCALL_FILENAME_PPC64);
+      set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_PPC64);
 
       /* Trampolines.  */
       tramp_frame_prepend_unwinder (gdbarch,
@@ -1421,19 +1359,6 @@ ppc_linux_init_abi (struct gdbarch_info 
 	set_gdbarch_gcore_bfd_target (gdbarch, "elf64-powerpcle");
       else
 	set_gdbarch_gcore_bfd_target (gdbarch, "elf64-powerpc");
-
-      /* Supported register sections.  */
-      if (tdesc_find_feature (info.target_desc,
-			      "org.gnu.gdb.power.vsx"))
-	set_gdbarch_core_regset_sections (gdbarch,
-					  ppc64_linux_vsx_regset_sections);
-      else if (tdesc_find_feature (info.target_desc,
-			       "org.gnu.gdb.power.altivec"))
-	set_gdbarch_core_regset_sections (gdbarch,
-					  ppc64_linux_vmx_regset_sections);
-      else
-	set_gdbarch_core_regset_sections (gdbarch,
-					  ppc64_linux_fp_regset_sections);
     }
 
   /* PPC32 uses a different prpsinfo32 compared to most other Linux
@@ -1442,9 +1367,9 @@ ppc_linux_init_abi (struct gdbarch_info 
     set_gdbarch_elfcore_write_linux_prpsinfo (gdbarch,
 					      elfcore_write_ppc_linux_prpsinfo32);
 
-  set_gdbarch_regset_from_core_section (gdbarch,
-					ppc_linux_regset_from_core_section);
   set_gdbarch_core_read_description (gdbarch, ppc_linux_core_read_description);
+  set_gdbarch_iterate_over_regset_sections (gdbarch,
+					    ppc_linux_iterate_over_regset_sections);
 
   /* Enable TLS support.  */
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-linux-tdep.h ./gdb/ppc-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-linux-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppc-linux-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GDB, the GNU debugger.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcnbsd-nat.c ./gdb/ppcnbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcnbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcnbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for NetBSD/powerpc.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Wasabi Systems, Inc.
 
@@ -31,8 +31,6 @@
 #include "inferior.h"
 #include "regcache.h"
 
-#include "gdb_assert.h"
-
 #include "ppc-tdep.h"
 #include "ppcnbsd-tdep.h"
 #include "bsd-kvm.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcnbsd-tdep.c ./gdb/ppcnbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcnbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcnbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/powerpc.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Wasabi Systems, Inc.
 
@@ -27,9 +27,6 @@
 #include "trad-frame.h"
 #include "tramp-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "ppc-tdep.h"
 #include "ppcnbsd-tdep.h"
 #include "solib-svr4.h"
@@ -54,20 +51,16 @@ const struct regset ppcnbsd_fpregset =
   ppc_supply_fpregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-ppcnbsd_regset_from_core_section (struct gdbarch *gdbarch,
-				  const char *sect_name, size_t sect_size)
+static void
+ppcnbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				      iterate_over_regset_sections_cb *cb,
+				      void *cb_data,
+				      const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= 148)
-    return &ppcnbsd_gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size >= 264)
-    return &ppcnbsd_fpregset;
-
-  return NULL;
+  cb (".reg", 148, &ppcnbsd_gregset, NULL, cb_data);
+  cb (".reg2", 264, &ppcnbsd_fpregset, NULL, cb_data);
 }
 
 
@@ -188,8 +181,8 @@ ppcnbsd_init_abi (struct gdbarch_info in
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, ppcnbsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, ppcnbsd_iterate_over_regset_sections);
 
   tramp_frame_prepend_unwinder (gdbarch, &ppcnbsd_sigtramp);
   tramp_frame_prepend_unwinder (gdbarch, &ppcnbsd2_sigtramp);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcnbsd-tdep.h ./gdb/ppcnbsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcnbsd-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcnbsd-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/powerpc.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,8 +20,6 @@
 #ifndef PPCNBSD_TDEP_H
 #define PPCNBSD_TDEP_H
 
-#include <stddef.h>
-
 struct regset;
 
 /* Register offsets for NetBSD/powerpc.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcobsd-nat.c ./gdb/ppcobsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcobsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcobsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for OpenBSD/powerpc.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,8 +22,6 @@
 #include "inferior.h"
 #include "regcache.h"
 
-#include "gdb_assert.h"
-#include <stddef.h>
 #include <sys/types.h>
 #include <sys/ptrace.h>
 #include <sys/signal.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcobsd-tdep.c ./gdb/ppcobsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcobsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcobsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/powerpc.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,9 +28,6 @@
 #include "symtab.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "ppc-tdep.h"
 #include "ppcobsd-tdep.h"
 #include "solib-svr4.h"
@@ -83,17 +80,15 @@ const struct regset ppcobsd_fpregset =
   ppc_supply_fpregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-ppcobsd_regset_from_core_section (struct gdbarch *gdbarch,
-				  const char *sect_name, size_t sect_size)
+static void
+ppcobsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				      iterate_over_regset_sections_cb *cb,
+				      void *cb_data,
+				      const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= 412)
-    return &ppcobsd_gregset;
-
-  return NULL;
+  cb (".reg", 412, &ppcobsd_gregset, NULL, cb_data);
 }
 
 
@@ -260,8 +255,8 @@ ppcobsd_init_abi (struct gdbarch_info in
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, ppcobsd_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, ppcobsd_iterate_over_regset_sections);
 
   frame_unwind_append_unwinder (gdbarch, &ppcobsd_sigtramp_frame_unwind);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcobsd-tdep.h ./gdb/ppcobsd-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppcobsd-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppcobsd-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/powerpc.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,8 +20,6 @@
 #ifndef PPCOBSD_TDEP_H
 #define PPCOBSD_TDEP_H
 
-#include <stddef.h>
-
 struct regset;
 struct regcache;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-ravenscar-thread.c ./gdb/ppc-ravenscar-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-ravenscar-thread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppc-ravenscar-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ravenscar PowerPC target support.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-ravenscar-thread.h ./gdb/ppc-ravenscar-thread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-ravenscar-thread.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppc-ravenscar-thread.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ravenscar PowerPC target support.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-sysv-tdep.c ./gdb/ppc-sysv-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-sysv-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppc-sysv-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Target-dependent code for PowerPC systems using the SVR4 ABI
    for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,8 +23,6 @@
 #include "inferior.h"
 #include "regcache.h"
 #include "value.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "ppc-tdep.h"
 #include "target.h"
 #include "objfiles.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-tdep.h ./gdb/ppc-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ppc-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ppc-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/printcmd.c ./gdb/printcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/printcmd.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/printcmd.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Print values for GNU debugger GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "frame.h"
 #include "symtab.h"
 #include "gdbtypes.h"
@@ -37,11 +36,9 @@
 #include "objfiles.h"		/* ditto */
 #include "completer.h"		/* for completion functions */
 #include "ui-out.h"
-#include "gdb_assert.h"
 #include "block.h"
 #include "disasm.h"
 #include "dfp.h"
-#include "exceptions.h"
 #include "observer.h"
 #include "solist.h"
 #include "parser-defs.h"
@@ -1254,8 +1251,11 @@ address_info (char *exp, int from_tty)
 			   current_language->la_language, DMGL_ANSI);
   printf_filtered ("\" is ");
   val = SYMBOL_VALUE (sym);
-  section = SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (sym), sym);
-  gdbarch = get_objfile_arch (SYMBOL_SYMTAB (sym)->objfile);
+  if (SYMBOL_OBJFILE_OWNED (sym))
+    section = SYMBOL_OBJ_SECTION (symbol_objfile (sym), sym);
+  else
+    section = NULL;
+  gdbarch = symbol_arch (sym);
 
   if (SYMBOL_COMPUTED_OPS (sym) != NULL)
     {
@@ -1618,7 +1618,7 @@ map_display_numbers (char *args,
 
   while (!state.finished)
     {
-      char *p = state.string;
+      const char *p = state.string;
 
       num = get_number_or_range (&state);
       if (num == 0)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/probe.c ./gdb/probe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/probe.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/probe.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generic static probe support for GDB.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,7 +26,6 @@
 #include "symtab.h"
 #include "progspace.h"
 #include "filenames.h"
-#include "exceptions.h"
 #include "linespec.h"
 #include "gdb_regex.h"
 #include "frame.h"
@@ -486,7 +485,8 @@ get_number_extra_fields (const struct pr
 /* See comment in probe.h.  */
 
 void
-info_probes_for_ops (char *arg, int from_tty, const struct probe_ops *pops)
+info_probes_for_ops (const char *arg, int from_tty,
+		     const struct probe_ops *pops)
 {
   char *provider, *probe_name = NULL, *objname = NULL;
   struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
@@ -501,17 +501,17 @@ info_probes_for_ops (char *arg, int from
   struct gdbarch *gdbarch = get_current_arch ();
 
   /* Do we have a `provider:probe:objfile' style of linespec?  */
-  provider = extract_arg (&arg);
+  provider = extract_arg_const (&arg);
   if (provider)
     {
       make_cleanup (xfree, provider);
 
-      probe_name = extract_arg (&arg);
+      probe_name = extract_arg_const (&arg);
       if (probe_name)
 	{
 	  make_cleanup (xfree, probe_name);
 
-	  objname = extract_arg (&arg);
+	  objname = extract_arg_const (&arg);
 	  if (objname)
 	    make_cleanup (xfree, objname);
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/probe.h ./gdb/probe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/probe.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/probe.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generic SDT probe support for GDB.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -96,14 +96,14 @@ struct probe_ops
 
     /* Set the semaphore associated with the PROBE.  This function only makes
        sense if the probe has a concept of semaphore associated to a
-       probe.  */
+       probe, otherwise it can be set to NULL.  */
 
     void (*set_semaphore) (struct probe *probe, struct objfile *objfile,
 			   struct gdbarch *gdbarch);
 
     /* Clear the semaphore associated with the PROBE.  This function only
        makes sense if the probe has a concept of semaphore associated to
-       a probe.  */
+       a probe, otherwise it can be set to NULL.  */
 
     void (*clear_semaphore) (struct probe *probe, struct objfile *objfile,
 			     struct gdbarch *gdbarch);
@@ -230,7 +230,7 @@ extern VEC (probe_p) *find_probes_in_obj
    function that can be used by the probe backends to print their
    `info probe TYPE'.  */
 
-extern void info_probes_for_ops (char *arg, int from_tty,
+extern void info_probes_for_ops (const char *arg, int from_tty,
 				 const struct probe_ops *pops);
 
 /* Return the `cmd_list_element' associated with the `info probes' command,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-api.c ./gdb/proc-api.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-api.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/proc-api.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Machine independent support for SVR4 /proc (process file system) for GDB.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Written by Michael Snyder at Cygnus Solutions.
    Based on work by Fred Fish, Stu Grossman, Geoff Noer, and others.
@@ -34,7 +34,6 @@
 #define _STRUCTURED_PROC 1
 #endif
 
-#include <stdio.h>
 #include <sys/types.h>
 #include <sys/procfs.h>
 #ifdef HAVE_SYS_PROC_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-events.c ./gdb/proc-events.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-events.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/proc-events.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Machine-independent support for SVR4 /proc (process file system)
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Written by Michael Snyder at Cygnus Solutions.
    Based on work by Fred Fish, Stu Grossman, Geoff Noer, and others.
@@ -34,7 +34,6 @@
 #define _STRUCTURED_PROC 1
 #endif
 
-#include <stdio.h>
 #include <sys/types.h>
 #include <sys/procfs.h>
 #ifdef HAVE_SYS_SYSCALL_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-flags.c ./gdb/proc-flags.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-flags.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/proc-flags.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Machine independent support for SVR4 /proc (process file system) for GDB.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Michael Snyder at Cygnus Solutions.
    Based on work by Fred Fish, Stu Grossman, Geoff Noer, and others.
 
@@ -31,7 +31,6 @@
 #define _STRUCTURED_PROC 1
 #endif
 
-#include <stdio.h>
 #include <sys/types.h>
 #include <sys/procfs.h>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/procfs.c ./gdb/procfs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/procfs.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/procfs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Machine independent support for SVR4 /proc (process file system) for GDB.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Written by Michael Snyder at Cygnus Solutions.
    Based on work by Fred Fish, Stu Grossman, Geoff Noer, and others.
@@ -42,13 +42,10 @@
 #ifdef HAVE_SYS_SYSCALL_H
 #include <sys/syscall.h>
 #endif
-#include <sys/errno.h>
 #include "gdb_wait.h"
 #include <signal.h>
 #include <ctype.h>
 #include "gdb_bfd.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "inflow.h"
 #include "auxv.h"
 #include "procfs.h"
@@ -136,7 +133,7 @@ static target_xfer_partial_ftype procfs_
 
 static int procfs_thread_alive (struct target_ops *ops, ptid_t);
 
-static void procfs_find_new_threads (struct target_ops *ops);
+static void procfs_update_thread_list (struct target_ops *ops);
 static char *procfs_pid_to_str (struct target_ops *, ptid_t);
 
 static int proc_find_memory_regions (struct target_ops *self,
@@ -148,7 +145,7 @@ static char * procfs_make_note_section (
 static int procfs_can_use_hw_breakpoint (struct target_ops *self,
 					 int, int, int);
 
-static void procfs_info_proc (struct target_ops *, char *,
+static void procfs_info_proc (struct target_ops *, const char *,
 			      enum info_proc_what);
 
 #if defined (PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64)
@@ -199,7 +196,7 @@ procfs_target (void)
   t->to_files_info = procfs_files_info;
   t->to_stop = procfs_stop;
 
-  t->to_find_new_threads = procfs_find_new_threads;
+  t->to_update_thread_list = procfs_update_thread_list;
   t->to_thread_alive = procfs_thread_alive;
   t->to_pid_to_str = procfs_pid_to_str;
 
@@ -2905,13 +2902,6 @@ static void do_detach (int signo);
 static void proc_trace_syscalls_1 (procinfo *pi, int syscallnum,
 				   int entry_or_exit, int mode, int from_tty);
 
-/* On mips-irix, we need to insert a breakpoint at __dbx_link during
-   the startup phase.  The following two variables are used to record
-   the address of the breakpoint, and the code that was replaced by
-   a breakpoint.  */
-static int dbx_link_bpt_addr = 0;
-static void *dbx_link_bpt;
-
 /* Sets up the inferior to be debugged.  Registers to trace signals,
    hardware faults, and syscalls.  Note: does not set RLC flag: caller
    may want to customize that.  Returns zero for success (note!
@@ -2927,16 +2917,9 @@ procfs_debug_inferior (procinfo *pi)
   sysset_t *traced_syscall_exits;
   int status;
 
-#ifdef PROCFS_DONT_TRACE_FAULTS
-  /* On some systems (OSF), we don't trace hardware faults.
-     Apparently it's enough that we catch them as signals.
-     Wonder why we don't just do that in general?  */
-  premptyset (&traced_faults);		/* don't trace faults.  */
-#else
   /* Register to trace hardware faults in the child.  */
   prfillset (&traced_faults);		/* trace all faults...  */
   gdb_prdelset  (&traced_faults, FLTPAGE);	/* except page fault.  */
-#endif
   if (!proc_set_traced_faults  (pi, &traced_faults))
     return __LINE__;
 
@@ -3383,23 +3366,6 @@ syscall_is_lwp_create (procinfo *pi, int
   return 0;
 }
 
-/* Remove the breakpoint that we inserted in __dbx_link().
-   Does nothing if the breakpoint hasn't been inserted or has already
-   been removed.  */
-
-static void
-remove_dbx_link_breakpoint (void)
-{
-  if (dbx_link_bpt_addr == 0)
-    return;
-
-  if (deprecated_remove_raw_breakpoint (target_gdbarch (), dbx_link_bpt) != 0)
-    warning (_("Unable to remove __dbx_link breakpoint."));
-
-  dbx_link_bpt_addr = 0;
-  dbx_link_bpt = NULL;
-}
-
 #ifdef SYS_syssgi
 /* Return the address of the __dbx_link() function in the file
    refernced by ABFD by scanning its symbol table.  Return 0 if
@@ -3464,10 +3430,12 @@ insert_dbx_link_bpt_in_file (int fd, COR
   sym_addr = dbx_link_addr (abfd);
   if (sym_addr != 0)
     {
+      struct breakpoint *dbx_link_bpt;
+
       /* Insert the breakpoint.  */
-      dbx_link_bpt_addr = sym_addr;
-      dbx_link_bpt = deprecated_insert_raw_breakpoint (target_gdbarch (), NULL,
-						       sym_addr);
+      dbx_link_bpt
+	= create_and_insert_solib_event_breakpoint (target_gdbarch (),
+						    sym_addr);
       if (dbx_link_bpt == NULL)
 	{
 	  warning (_("Failed to insert dbx_link breakpoint."));
@@ -3897,14 +3865,6 @@ wait_again:
 #if (FLTTRACE != FLTBPT)	/* Avoid "duplicate case" error.  */
 		case FLTTRACE:
 #endif
-		  /* If we hit our __dbx_link() internal breakpoint,
-		     then remove it.  See comments in procfs_init_inferior()
-		     for more details.	*/
-		  if (dbx_link_bpt_addr != 0
-		      && dbx_link_bpt_addr
-			 == regcache_read_pc (get_current_regcache ()))
-		    remove_dbx_link_breakpoint ();
-
 		  wstat = (SIGTRAP << 8) | 0177;
 		  break;
 		case FLTSTACK:
@@ -3993,11 +3953,9 @@ procfs_xfer_partial (struct target_ops *
 #endif
 
     default:
-      if (ops->beneath != NULL)
-	return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
-					      readbuf, writebuf, offset, len,
-					      xfered_len);
-      return TARGET_XFER_E_IO;
+      return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
+					    readbuf, writebuf, offset, len,
+					    xfered_len);
     }
 }
 
@@ -4262,16 +4220,6 @@ unconditionally_kill_inferior (procinfo 
   int parent_pid;
 
   parent_pid = proc_parent_pid (pi);
-#ifdef PROCFS_NEED_CLEAR_CURSIG_FOR_KILL
-  /* FIXME: use access functions.  */
-  /* Alpha OSF/1-3.x procfs needs a clear of the current signal
-     before the PIOCKILL, otherwise it might generate a corrupted core
-     file for the inferior.  */
-  if (ioctl (pi->ctl_fd, PIOCSSIG, NULL) < 0)
-    {
-      printf_filtered ("unconditionally_kill: SSIG failed!\n");
-    }
-#endif
 #ifdef PROCFS_NEED_PIOCSSIG_FOR_KILL
   /* Alpha OSF/1-2.x procfs needs a PIOCSSIG call with a SIGKILL signal
      to kill the inferior, otherwise it might remain stopped with a
@@ -4345,13 +4293,6 @@ procfs_mourn_inferior (struct target_ops
 
   generic_mourn_inferior ();
 
-  if (dbx_link_bpt != NULL)
-    {
-      deprecated_remove_raw_breakpoint (target_gdbarch (), dbx_link_bpt);
-      dbx_link_bpt_addr = 0;
-      dbx_link_bpt = NULL;
-    }
-
   inf_child_maybe_unpush_target (ops);
 }
 
@@ -4688,7 +4629,7 @@ procfs_inferior_created (struct target_o
 #endif
 }
 
-/* Callback for find_new_threads.  Calls "add_thread".  */
+/* Callback for update_thread_list.  Calls "add_thread".  */
 
 static int
 procfs_notice_thread (procinfo *pi, procinfo *thread, void *ptr)
@@ -4705,10 +4646,12 @@ procfs_notice_thread (procinfo *pi, proc
    back to GDB to add to its list.  */
 
 static void
-procfs_find_new_threads (struct target_ops *ops)
+procfs_update_thread_list (struct target_ops *ops)
 {
   procinfo *pi;
 
+  prune_threads ();
+
   /* Find procinfo for main process.  */
   pi = find_procinfo_or_die (ptid_get_pid (inferior_ptid), 0);
   proc_update_threads (pi);
@@ -5141,7 +5084,7 @@ info_proc_mappings (procinfo *pi, int su
 /* Implement the "info proc" command.  */
 
 static void
-procfs_info_proc (struct target_ops *ops, char *args,
+procfs_info_proc (struct target_ops *ops, const char *args,
 		  enum info_proc_what what)
 {
   struct cleanup *old_chain;
@@ -5376,7 +5319,7 @@ procfs_do_thread_registers (bfd *obfd, p
   /* This part is the old method for fetching registers.
      It should be replaced by the newer one using regsets
      once it is implemented in this platform:
-     gdbarch_regset_from_core_section() and regset->collect_regset().  */
+     gdbarch_iterate_over_regset_sections().  */
 
   old_chain = save_inferior_ptid ();
   inferior_ptid = ptid;
@@ -5522,7 +5465,6 @@ procfs_make_note_section (struct target_
       xfree (auxv);
     }
 
-  make_cleanup (xfree, note_data);
   return note_data;
 }
 #else /* !Solaris */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/procfs.h ./gdb/procfs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/procfs.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/procfs.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native debugging support for procfs targets.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-service.c ./gdb/proc-service.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-service.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/proc-service.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* <proc_service.h> implementation.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -81,8 +81,7 @@ core_addr_to_ps_addr (CORE_ADDR addr)
    else transfer them from the process.  Returns PS_OK for success,
    PS_ERR on failure.
 
-   This is a helper function for ps_pdread, ps_pdwrite, ps_ptread and
-   ps_ptwrite.  */
+   This is a helper function for ps_pdread and ps_pdwrite.  */
 
 static ps_err_e
 ps_xfer_memory (const struct ps_prochandle *ph, psaddr_t addr,
@@ -105,88 +104,6 @@ ps_xfer_memory (const struct ps_prochand
 }
 
 
-/* Stop the target process PH.  */
-
-ps_err_e
-ps_pstop (gdb_ps_prochandle_t ph)
-{
-  /* The process is always stopped when under control of GDB.  */
-  return PS_OK;
-}
-
-/* Resume the target process PH.  */
-
-ps_err_e
-ps_pcontinue (gdb_ps_prochandle_t ph)
-{
-  /* Pretend we did successfully continue the process.  GDB will take
-     care of it later on.  */
-  return PS_OK;
-}
-
-/* Stop the lightweight process LWPID within the target process PH.  */
-
-ps_err_e
-ps_lstop (gdb_ps_prochandle_t ph, lwpid_t lwpid)
-{
-  /* All lightweight processes are stopped when under control of GDB.  */
-  return PS_OK;
-}
-
-/* Resume the lightweight process (LWP) LWPID within the target
-   process PH.  */
-
-ps_err_e
-ps_lcontinue (gdb_ps_prochandle_t ph, lwpid_t lwpid)
-{
-  /* Pretend we did successfully continue LWPID.  GDB will take care
-     of it later on.  */
-  return PS_OK;
-}
-
-/* Get the size of the architecture-dependent extra state registers
-   for LWP LWPID within the target process PH and return it in
-   *XREGSIZE.  */
-
-ps_err_e
-ps_lgetxregsize (gdb_ps_prochandle_t ph, lwpid_t lwpid, int *xregsize)
-{
-  /* FIXME: Not supported yet.  */
-  return PS_OK;
-}
-
-/* Get the extra state registers of LWP LWPID within the target
-   process PH and store them in XREGSET.  */
-
-ps_err_e
-ps_lgetxregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, caddr_t xregset)
-{
-  /* FIXME: Not supported yet.  */
-  return PS_OK;
-}
-
-/* Set the extra state registers of LWP LWPID within the target
-   process PH from XREGSET.  */
-
-ps_err_e
-ps_lsetxregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, caddr_t xregset)
-{
-  /* FIXME: Not supported yet.  */
-  return PS_OK;
-}
-
-/* Log (additional) diognostic information.  */
-
-void
-ps_plog (const char *fmt, ...)
-{
-  va_list args;
-
-  va_start (args, fmt);
-  vfprintf_filtered (gdb_stderr, fmt, args);
-  va_end (args);
-}
-
 /* Search for the symbol named NAME within the object named OBJ within
    the target process PH.  If the symbol is found the address of the
    symbol is stored in SYM_ADDR.  */
@@ -197,7 +114,7 @@ ps_pglobal_lookup (gdb_ps_prochandle_t p
 {
   struct bound_minimal_symbol ms;
   struct cleanup *old_chain = save_current_program_space ();
-  struct inferior *inf = find_inferior_pid (ptid_get_pid (ph->ptid));
+  struct inferior *inf = find_inferior_ptid (ph->ptid);
   ps_err_e result;
 
   set_current_program_space (inf->pspace);
@@ -235,25 +152,6 @@ ps_pdwrite (gdb_ps_prochandle_t ph, psad
   return ps_xfer_memory (ph, addr, (gdb_byte *) buf, size, 1);
 }
 
-/* Read SIZE bytes from the target process PH at address ADDR and copy
-   them into BUF.  */
-
-ps_err_e
-ps_ptread (gdb_ps_prochandle_t ph, psaddr_t addr,
-	   gdb_ps_read_buf_t buf, gdb_ps_size_t size)
-{
-  return ps_xfer_memory (ph, addr, (gdb_byte *) buf, size, 0);
-}
-
-/* Write SIZE bytes from BUF into the target process PH at address ADDR.  */
-
-ps_err_e
-ps_ptwrite (gdb_ps_prochandle_t ph, psaddr_t addr,
-	    gdb_ps_write_buf_t buf, gdb_ps_size_t size)
-{
-  return ps_xfer_memory (ph, addr, (gdb_byte *) buf, size, 1);
-}
-
 /* Get the general registers of LWP LWPID within the target process PH
    and store them in GREGSET.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-service.list ./gdb/proc-service.list
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-service.list	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/proc-service.list	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* -Wl,--dynamic-list symbols exported for libthread_db.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-utils.h ./gdb/proc-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-utils.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/proc-utils.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Machine independent support for SVR4 /proc (process file system) for GDB.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-why.c ./gdb/proc-why.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/proc-why.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/proc-why.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Machine-independent support for SVR4 /proc (process file system)
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Written by Michael Snyder at Cygnus Solutions.
    Based on work by Fred Fish, Stu Grossman, Geoff Noer, and others.
@@ -24,7 +24,6 @@
 #define _STRUCTURED_PROC 1
 #endif
 
-#include <stdio.h>
 #include <sys/types.h>
 #include <sys/procfs.h>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/progspace.c ./gdb/progspace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/progspace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/progspace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Program and address space management, for GDB, the GNU debugger.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -281,10 +281,6 @@ print_program_space (struct ui_out *uiou
   int count = 0;
   struct cleanup *old_chain;
 
-  /* Might as well prune away unneeded ones, so the user doesn't even
-     seem them.  */
-  prune_program_spaces ();
-
   /* Compute number of pspaces we will print.  */
   ALL_PSPACES (pspace)
     {
@@ -463,8 +459,7 @@ save_current_space_and_thread (void)
   return old_chain;
 }
 
-/* Switches full context to program space PSPACE.  Switches to the
-   first thread found bound to PSPACE.  */
+/* See progspace.h  */
 
 void
 switch_to_program_space_and_thread (struct program_space *pspace)
@@ -472,7 +467,7 @@ switch_to_program_space_and_thread (stru
   struct inferior *inf;
 
   inf = find_inferior_for_program_space (pspace);
-  if (inf != NULL)
+  if (inf != NULL && inf->pid != 0)
     {
       struct thread_info *tp;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/progspace.h ./gdb/progspace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/progspace.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/progspace.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Program and address space management, for GDB, the GNU debugger.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -264,7 +264,8 @@ extern void set_current_program_space (s
 extern struct cleanup *save_current_space_and_thread (void);
 
 /* Switches full context to program space PSPACE.  Switches to the
-   first thread found bound to PSPACE.  */
+   first thread found bound to PSPACE, giving preference to the
+   current thread, if there's one and it isn't executing.  */
 extern void switch_to_program_space_and_thread (struct program_space *pspace);
 
 /* Create a new address space object, and add it to the list.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/prologue-value.c ./gdb/prologue-value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/prologue-value.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/prologue-value.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Prologue value handling for GDB.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,8 +17,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "prologue-value.h"
 #include "regcache.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/prologue-value.h ./gdb/prologue-value.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/prologue-value.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/prologue-value.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface to prologue value handling for GDB.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/psympriv.h ./gdb/psympriv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/psympriv.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/psympriv.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Private partial symbol table definitions.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -192,10 +192,10 @@ struct partial_symtab
 
   ENUM_BITFIELD (psymtab_search_status) searched_flag : 2;
 
-  /* Pointer to symtab eventually allocated for this source file, 0 if
+  /* Pointer to compunit eventually allocated for this source file, 0 if
      !readin or if we haven't looked for the symtab after it was readin.  */
 
-  struct symtab *symtab;
+  struct compunit_symtab *compunit_symtab;
 
   /* Pointer to function which will read in the symtab corresponding to
      this psymtab.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/psymtab.c ./gdb/psymtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/psymtab.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/psymtab.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Partial symbol tables.
    
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,7 +21,6 @@
 #include "symtab.h"
 #include "psympriv.h"
 #include "objfiles.h"
-#include "gdb_assert.h"
 #include "block.h"
 #include "filenames.h"
 #include "source.h"
@@ -68,8 +67,8 @@ static struct partial_symbol *find_pc_se
 static void fixup_psymbol_section (struct partial_symbol *psym,
 				   struct objfile *objfile);
 
-static struct symtab *psymtab_to_symtab (struct objfile *objfile,
-					 struct partial_symtab *pst);
+static struct compunit_symtab *psymtab_to_symtab (struct objfile *objfile,
+						  struct partial_symtab *pst);
 
 /* Ensure that the partial symbols for OBJFILE have been loaded.  This
    function always returns its argument, as a convenience.  */
@@ -125,7 +124,7 @@ require_partial_symbols (struct objfile 
   ALL_OBJFILES (objfile)	 \
     ALL_OBJFILE_PSYMTABS_REQUIRED (objfile, p)
 
-/* Helper function for partial_map_symtabs_matching_filename that
+/* Helper function for psym_map_symtabs_matching_filename that
    expands the symtabs and calls the iterator.  */
 
 static int
@@ -136,7 +135,7 @@ partial_map_expand_apply (struct objfile
 			  int (*callback) (struct symtab *, void *),
 			  void *data)
 {
-  struct symtab *last_made = objfile->symtabs;
+  struct compunit_symtab *last_made = objfile->compunit_symtabs;
 
   /* Shared psymtabs should never be seen here.  Instead they should
      be handled properly by the caller.  */
@@ -151,18 +150,19 @@ partial_map_expand_apply (struct objfile
   psymtab_to_symtab (objfile, pst);
 
   return iterate_over_some_symtabs (name, real_path, callback, data,
-				    objfile->symtabs, last_made);
+				    objfile->compunit_symtabs, last_made);
 }
 
-/* Implementation of the map_symtabs_matching_filename method.  */
+/*  Psymtab version of map_symtabs_matching_filename.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
 
 static int
-partial_map_symtabs_matching_filename (struct objfile *objfile,
-				       const char *name,
-				       const char *real_path,
-				       int (*callback) (struct symtab *,
-							void *),
-				       void *data)
+psym_map_symtabs_matching_filename (struct objfile *objfile,
+				    const char *name,
+				    const char *real_path,
+				    int (*callback) (struct symtab *,
+						     void *),
+				    void *data)
 {
   struct partial_symtab *pst;
   const char *name_basename = lbasename (name);
@@ -371,11 +371,15 @@ find_pc_sect_psymtab (struct objfile *ob
   return NULL;
 }
 
-static struct symtab *
-find_pc_sect_symtab_from_partial (struct objfile *objfile,
-				  struct bound_minimal_symbol msymbol,
-				  CORE_ADDR pc, struct obj_section *section,
-				  int warn_if_readin)
+/*  Psymtab version of find_pc_sect_compunit_symtab.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
+static struct compunit_symtab *
+psym_find_pc_sect_compunit_symtab (struct objfile *objfile,
+				   struct bound_minimal_symbol msymbol,
+				   CORE_ADDR pc,
+				   struct obj_section *section,
+				   int warn_if_readin)
 {
   struct partial_symtab *ps = find_pc_sect_psymtab (objfile, pc, section,
 						    msymbol);
@@ -389,7 +393,7 @@ find_pc_sect_symtab_from_partial (struct
 (Internal error: pc %s in read in psymtab, but not in symtab.)\n"),
 		 paddress (get_objfile_arch (objfile), pc));
       psymtab_to_symtab (objfile, ps);
-      return ps->symtab;
+      return ps->compunit_symtab;
     }
   return NULL;
 }
@@ -495,14 +499,17 @@ fixup_psymbol_section (struct partial_sy
   fixup_section (&psym->ginfo, addr, objfile);
 }
 
-static struct symtab *
-lookup_symbol_aux_psymtabs (struct objfile *objfile,
-			    int block_index, const char *name,
-			    const domain_enum domain)
+/*  Psymtab version of lookup_symbol.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
+static struct compunit_symtab *
+psym_lookup_symbol (struct objfile *objfile,
+		    int block_index, const char *name,
+		    const domain_enum domain)
 {
   struct partial_symtab *ps;
   const int psymtab_index = (block_index == GLOBAL_BLOCK ? 1 : 0);
-  struct symtab *stab_best = NULL;
+  struct compunit_symtab *stab_best = NULL;
 
   ALL_OBJFILE_PSYMTABS_REQUIRED (objfile, ps)
   {
@@ -510,18 +517,17 @@ lookup_symbol_aux_psymtabs (struct objfi
 					      psymtab_index, domain))
       {
 	struct symbol *sym = NULL;
-	struct symtab *stab = psymtab_to_symtab (objfile, ps);
+	struct compunit_symtab *stab = psymtab_to_symtab (objfile, ps);
+	/* Note: While psymtab_to_symtab can return NULL if the partial symtab
+	   is empty, we can assume it won't here because lookup_partial_symbol
+	   succeeded.  */
+	const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab);
+	struct block *block = BLOCKVECTOR_BLOCK (bv, block_index);
 
 	/* Some caution must be observed with overloaded functions
 	   and methods, since the psymtab will not contain any overload
 	   information (but NAME might contain it).  */
-	if (stab->primary)
-	  {
-	    struct blockvector *bv = BLOCKVECTOR (stab);
-	    struct block *block = BLOCKVECTOR_BLOCK (bv, block_index);
-
-	    sym = lookup_block_symbol (block, name, domain);
-	  }
+	sym = block_lookup_symbol (block, name, domain);
 
 	if (sym && strcmp_iw (SYMBOL_SEARCH_NAME (sym), name) == 0)
 	  {
@@ -634,13 +640,13 @@ psymtab_search_name (const char *name)
     case language_cplus:
     case language_java:
       {
-       if (strchr (name, '('))
-         {
-           char *ret = cp_remove_params (name);
-
-           if (ret)
-             return ret;
-         }
+	if (strchr (name, '('))
+	  {
+	    char *ret = cp_remove_params (name);
+
+	    if (ret)
+	      return ret;
+	  }
       }
       break;
 
@@ -757,9 +763,12 @@ lookup_partial_symbol (struct objfile *o
 }
 
 /* Get the symbol table that corresponds to a partial_symtab.
-   This is fast after the first time you do it.  */
+   This is fast after the first time you do it.
+   The result will be NULL if the primary symtab has no symbols,
+   which can happen.  Otherwise the result is the primary symtab
+   that contains PST.  */
 
-static struct symtab *
+static struct compunit_symtab *
 psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst)
 {
   /* If it is a shared psymtab, find an unshared psymtab that includes
@@ -768,8 +777,8 @@ psymtab_to_symtab (struct objfile *objfi
     pst = pst->user;
 
   /* If it's been looked up before, return it.  */
-  if (pst->symtab)
-    return pst->symtab;
+  if (pst->compunit_symtab)
+    return pst->compunit_symtab;
 
   /* If it has not yet been read in, read it.  */
   if (!pst->readin)
@@ -780,13 +789,16 @@ psymtab_to_symtab (struct objfile *objfi
       do_cleanups (back_to);
     }
 
-  return pst->symtab;
+  return pst->compunit_symtab;
 }
 
+/*  Psymtab version of relocate.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static void
-relocate_psymtabs (struct objfile *objfile,
-		   const struct section_offsets *new_offsets,
-		   const struct section_offsets *delta)
+psym_relocate (struct objfile *objfile,
+	       const struct section_offsets *new_offsets,
+	       const struct section_offsets *delta)
 {
   struct partial_symbol **psym;
   struct partial_symtab *p;
@@ -817,8 +829,11 @@ relocate_psymtabs (struct objfile *objfi
     }
 }
 
+/*  Psymtab version of find_last_source_symtab.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static struct symtab *
-find_last_source_symtab_from_partial (struct objfile *ofp)
+psym_find_last_source_symtab (struct objfile *ofp)
 {
   struct partial_symtab *ps;
   struct partial_symtab *cs_pst = 0;
@@ -842,13 +857,22 @@ find_last_source_symtab_from_partial (st
 			  "readin pst found and no symtabs."));
 	}
       else
-	return psymtab_to_symtab (ofp, cs_pst);
+	{
+	  struct compunit_symtab *cust = psymtab_to_symtab (ofp, cs_pst);
+
+	  if (cust == NULL)
+	    return NULL;
+	  return compunit_primary_filetab (cust);
+	}
     }
   return NULL;
 }
 
+/*  Psymtab version of forget_cached_source_info.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static void
-forget_cached_source_info_partial (struct objfile *objfile)
+psym_forget_cached_source_info (struct objfile *objfile)
 {
   struct partial_symtab *pst;
 
@@ -982,7 +1006,7 @@ dump_psymtab (struct objfile *objfile, s
     {
       fprintf_filtered (outfile,
 			"  Full symtab was read (at ");
-      gdb_print_host_address (psymtab->symtab, outfile);
+      gdb_print_host_address (psymtab->compunit_symtab, outfile);
       fprintf_filtered (outfile, " by function at ");
       gdb_print_host_address (psymtab->read_symtab, outfile);
       fprintf_filtered (outfile, ")\n");
@@ -1039,8 +1063,11 @@ dump_psymtab (struct objfile *objfile, s
   fprintf_filtered (outfile, "\n");
 }
 
+/*  Psymtab version of print_stats.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static void
-print_psymtab_stats_for_objfile (struct objfile *objfile)
+psym_print_stats (struct objfile *objfile)
 {
   int i;
   struct partial_symtab *ps;
@@ -1054,8 +1081,11 @@ print_psymtab_stats_for_objfile (struct 
   printf_filtered (_("  Number of psym tables (not yet expanded): %d\n"), i);
 }
 
+/*  Psymtab version of dump.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static void
-dump_psymtabs_for_objfile (struct objfile *objfile)
+psym_dump (struct objfile *objfile)
 {
   struct partial_symtab *psymtab;
 
@@ -1076,11 +1106,12 @@ dump_psymtabs_for_objfile (struct objfil
     }
 }
 
-/* Look through the partial symtabs for all symbols which begin
-   by matching FUNC_NAME.  Make sure we read that symbol table in.  */
+/*  Psymtab version of expand_symtabs_for_function.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
 
 static void
-read_symtabs_for_function (struct objfile *objfile, const char *func_name)
+psym_expand_symtabs_for_function (struct objfile *objfile,
+				  const char *func_name)
 {
   struct partial_symtab *ps;
 
@@ -1097,8 +1128,11 @@ read_symtabs_for_function (struct objfil
   }
 }
 
+/*  Psymtab version of expand_all_symtabs.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static void
-expand_partial_symbol_tables (struct objfile *objfile)
+psym_expand_all_symtabs (struct objfile *objfile)
 {
   struct partial_symtab *psymtab;
 
@@ -1108,8 +1142,12 @@ expand_partial_symbol_tables (struct obj
     }
 }
 
+/*  Psymtab version of expand_symtabs_with_fullname.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static void
-read_psymtabs_with_fullname (struct objfile *objfile, const char *fullname)
+psym_expand_symtabs_with_fullname (struct objfile *objfile,
+				   const char *fullname)
 {
   struct partial_symtab *p;
 
@@ -1128,10 +1166,13 @@ read_psymtabs_with_fullname (struct objf
     }
 }
 
+/*  Psymtab version of map_symbol_filenames.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static void
-map_symbol_filenames_psymtab (struct objfile *objfile,
-			      symbol_filename_ftype *fun, void *data,
-			      int need_fullname)
+psym_map_symbol_filenames (struct objfile *objfile,
+			   symbol_filename_ftype *fun, void *data,
+			   int need_fullname)
 {
   struct partial_symtab *ps;
 
@@ -1238,14 +1279,14 @@ map_block (const char *name, domain_enum
     the definition of quick_symbol_functions in symfile.h.  */
 
 static void
-map_matching_symbols_psymtab (struct objfile *objfile,
-			      const char *name, domain_enum namespace,
-			      int global,
-			      int (*callback) (struct block *,
-					       struct symbol *, void *),
-			      void *data,
-			      symbol_compare_ftype *match,
-			      symbol_compare_ftype *ordered_compare)
+psym_map_matching_symbols (struct objfile *objfile,
+			   const char *name, domain_enum namespace,
+			   int global,
+			   int (*callback) (struct block *,
+					    struct symbol *, void *),
+			   void *data,
+			   symbol_compare_ftype *match,
+			   symbol_compare_ftype *ordered_compare)
 {
   const int block_kind = global ? GLOBAL_BLOCK : STATIC_BLOCK;
   struct partial_symtab *ps;
@@ -1257,12 +1298,12 @@ map_matching_symbols_psymtab (struct obj
 	  || match_partial_symbol (objfile, ps, global, name, namespace, match,
 				   ordered_compare))
 	{
-	  struct symtab *s = psymtab_to_symtab (objfile, ps);
+	  struct compunit_symtab *cust = psymtab_to_symtab (objfile, ps);
 	  struct block *block;
 
-	  if (s == NULL || !s->primary)
+	  if (cust == NULL)
 	    continue;
-	  block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), block_kind);
+	  block = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust), block_kind);
 	  if (map_block (name, namespace, objfile, block,
 			 callback, data, match))
 	    return;
@@ -1272,7 +1313,7 @@ map_matching_symbols_psymtab (struct obj
     }
 }	    
 
-/* A helper for expand_symtabs_matching_via_partial that handles
+/* A helper for psym_expand_symtabs_matching that handles
    searching included psymtabs.  This returns 1 if a symbol is found,
    and zero otherwise.  It also updates the 'searched_flag' on the
    various psymtabs that it searches.  */
@@ -1360,8 +1401,11 @@ recursively_search_psymtabs (struct part
   return result == PST_SEARCHED_AND_FOUND;
 }
 
+/*  Psymtab version of expand_symtabs_matching.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static void
-expand_symtabs_matching_via_partial
+psym_expand_symtabs_matching
   (struct objfile *objfile,
    expand_symtabs_file_matcher_ftype *file_matcher,
    expand_symtabs_symbol_matcher_ftype *symbol_matcher,
@@ -1411,29 +1455,32 @@ expand_symtabs_matching_via_partial
     }
 }
 
+/*  Psymtab version of has_symbols.  See its definition in
+    the definition of quick_symbol_functions in symfile.h.  */
+
 static int
-objfile_has_psyms (struct objfile *objfile)
+psym_has_symbols (struct objfile *objfile)
 {
   return objfile->psymtabs != NULL;
 }
 
 const struct quick_symbol_functions psym_functions =
 {
-  objfile_has_psyms,
-  find_last_source_symtab_from_partial,
-  forget_cached_source_info_partial,
-  partial_map_symtabs_matching_filename,
-  lookup_symbol_aux_psymtabs,
-  print_psymtab_stats_for_objfile,
-  dump_psymtabs_for_objfile,
-  relocate_psymtabs,
-  read_symtabs_for_function,
-  expand_partial_symbol_tables,
-  read_psymtabs_with_fullname,
-  map_matching_symbols_psymtab,
-  expand_symtabs_matching_via_partial,
-  find_pc_sect_symtab_from_partial,
-  map_symbol_filenames_psymtab
+  psym_has_symbols,
+  psym_find_last_source_symtab,
+  psym_forget_cached_source_info,
+  psym_map_symtabs_matching_filename,
+  psym_lookup_symbol,
+  psym_print_stats,
+  psym_dump,
+  psym_relocate,
+  psym_expand_symtabs_for_function,
+  psym_expand_all_symtabs,
+  psym_expand_symtabs_with_fullname,
+  psym_map_matching_symbols,
+  psym_expand_symtabs_matching,
+  psym_find_pc_sect_compunit_symtab,
+  psym_map_symbol_filenames
 };
 
 
@@ -1744,7 +1791,7 @@ allocate_psymtab (const char *filename, 
   memset (psymtab, 0, sizeof (struct partial_symtab));
   psymtab->filename = bcache (filename, strlen (filename) + 1,
 			      objfile->per_bfd->filename_cache);
-  psymtab->symtab = NULL;
+  psymtab->compunit_symtab = NULL;
 
   /* Prepend it to the psymtab list for the objfile it belongs to.
      Psymtabs are searched in most recent inserted -> least recent
@@ -2001,9 +2048,9 @@ maintenance_check_psymtabs (char *ignore
 {
   struct symbol *sym;
   struct partial_symbol **psym;
-  struct symtab *s = NULL;
+  struct compunit_symtab *cust = NULL;
   struct partial_symtab *ps;
-  struct blockvector *bv;
+  const struct blockvector *bv;
   struct objfile *objfile;
   struct block *b;
   int length;
@@ -2015,7 +2062,7 @@ maintenance_check_psymtabs (char *ignore
     /* We don't call psymtab_to_symtab here because that may cause symtab
        expansion.  When debugging a problem it helps if checkers leave
        things unchanged.  */
-    s = ps->symtab;
+    cust = ps->compunit_symtab;
 
     /* First do some checks that don't require the associated symtab.  */
     if (ps->texthigh < ps->textlow)
@@ -2031,15 +2078,15 @@ maintenance_check_psymtabs (char *ignore
       }
 
     /* Now do checks requiring the associated symtab.  */
-    if (s == NULL)
+    if (cust == NULL)
       continue;
-    bv = BLOCKVECTOR (s);
+    bv = COMPUNIT_BLOCKVECTOR (cust);
     b = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);
     psym = objfile->static_psymbols.list + ps->statics_offset;
     length = ps->n_static_syms;
     while (length--)
       {
-	sym = lookup_block_symbol (b, SYMBOL_LINKAGE_NAME (*psym),
+	sym = block_lookup_symbol (b, SYMBOL_LINKAGE_NAME (*psym),
 				   SYMBOL_DOMAIN (*psym));
 	if (!sym)
 	  {
@@ -2056,7 +2103,7 @@ maintenance_check_psymtabs (char *ignore
     length = ps->n_global_syms;
     while (length--)
       {
-	sym = lookup_block_symbol (b, SYMBOL_LINKAGE_NAME (*psym),
+	sym = block_lookup_symbol (b, SYMBOL_LINKAGE_NAME (*psym),
 				   SYMBOL_DOMAIN (*psym));
 	if (!sym)
 	  {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/psymtab.h ./gdb/psymtab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/psymtab.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/psymtab.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Public partial symbol table definitions.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-typeprint.c ./gdb/p-typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-typeprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/p-typeprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support for printing Pascal types for GDB, the GNU debugger.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,8 +31,6 @@
 #include "p-lang.h"
 #include "typeprint.h"
 #include "gdb-demangle.h"
-#include <string.h>
-#include <errno.h>
 #include <ctype.h>
 
 static void pascal_type_print_varspec_suffix (struct type *, struct ui_file *,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-valprint.c ./gdb/p-valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/p-valprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/p-valprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for printing Pascal values for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -37,7 +37,6 @@
 #include "p-lang.h"
 #include "cp-abi.h"
 #include "cp-support.h"
-#include "exceptions.h"
 #include "objfiles.h"
 
 
@@ -627,11 +626,6 @@ pascal_object_print_value_fields (struct
 		{
 		  fputs_filtered (_("<synthetic pointer>"), stream);
 		}
-	      else if (!value_bits_valid (val, TYPE_FIELD_BITPOS (type, i),
-					  TYPE_FIELD_BITSIZE (type, i)))
-		{
-		  val_print_optimized_out (val, stream);
-		}
 	      else
 		{
 		  struct value_print_options opts = *options;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/explore.py ./gdb/python/lib/gdb/command/explore.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/explore.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/command/explore.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # GDB 'explore' command.
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/frame_filters.py ./gdb/python/lib/gdb/command/frame_filters.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/frame_filters.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/command/frame_filters.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Frame-filter commands.
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/__init__.py ./gdb/python/lib/gdb/command/__init__.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/__init__.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/command/__init__.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/pretty_printers.py ./gdb/python/lib/gdb/command/pretty_printers.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/pretty_printers.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/command/pretty_printers.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Pretty-printer commands.
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/prompt.py ./gdb/python/lib/gdb/command/prompt.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/prompt.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/command/prompt.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Extended prompt.
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -58,8 +58,7 @@ The currently defined substitutions are:
 
     def before_prompt_hook(self, current):
         if self.value is not '':
-            newprompt = gdb.prompt.substitute_prompt(self.value)
-            return newprompt.replace('\\', '\\\\')
+            return gdb.prompt.substitute_prompt(self.value)
         else:
             return None
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/type_printers.py ./gdb/python/lib/gdb/command/type_printers.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/type_printers.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/command/type_printers.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Type printer commands.
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/xmethods.py ./gdb/python/lib/gdb/command/xmethods.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/command/xmethods.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/command/xmethods.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Xmethod commands.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/FrameDecorator.py ./gdb/python/lib/gdb/FrameDecorator.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/FrameDecorator.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/FrameDecorator.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/FrameIterator.py ./gdb/python/lib/gdb/FrameIterator.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/FrameIterator.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/FrameIterator.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/frames.py ./gdb/python/lib/gdb/frames.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/frames.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/frames.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Frame-filter commands.
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/function/caller_is.py ./gdb/python/lib/gdb/function/caller_is.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/function/caller_is.py	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/python/lib/gdb/function/caller_is.py	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,160 @@
+# Caller-is functions.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+import gdb
+import re
+
+class CallerIs(gdb.Function):
+    """Check the calling function's name.
+
+Usage:
+  $_caller_is(name [, number_of_frames])
+
+Arguments:
+
+  name: The name of the function to search for.
+
+  number_of_frames: How many stack frames to traverse back from the currently
+    selected frame to compare with.  If the value is greater than the depth of
+    the stack from that point then the result is False.
+    The default is 1.
+
+Returns:
+  True if the function's name at the specified frame is equal to name.
+"""
+
+    def __init__(self):
+        super(CallerIs, self).__init__("_caller_is")
+
+    def invoke(self, name, nframes = 1):
+        if nframes < 0:
+            raise ValueError("nframes must be >= 0")
+        frame = gdb.selected_frame()
+        while nframes > 0:
+            frame = frame.older()
+            if frame is None:
+                return False
+            nframes = nframes - 1
+        return frame.name() == name.string()
+
+class CallerMatches(gdb.Function):
+    """Compare the calling function's name with a regexp.
+
+Usage:
+  $_caller_matches(regex [, number_of_frames])
+
+Arguments:
+
+  regex: The regular expression to compare the function's name with.
+
+  number_of_frames: How many stack frames to traverse back from the currently
+    selected frame to compare with.  If the value is greater than the depth of
+    the stack from that point then the result is False.
+    The default is 1.
+
+Returns:
+  True if the function's name at the specified frame matches regex.
+"""
+
+    def __init__(self):
+        super(CallerMatches, self).__init__("_caller_matches")
+
+    def invoke(self, name, nframes = 1):
+        if nframes < 0:
+            raise ValueError("nframes must be >= 0")
+        frame = gdb.selected_frame()
+        while nframes > 0:
+            frame = frame.older()
+            if frame is None:
+                return False
+            nframes = nframes - 1
+        return re.match(name.string(), frame.name()) is not None
+
+class AnyCallerIs(gdb.Function):
+    """Check all calling function's names.
+
+Usage:
+  $_any_caller_is(name [, number_of_frames])
+
+Arguments:
+
+  name: The name of the function to search for.
+
+  number_of_frames: How many stack frames to traverse back from the currently
+    selected frame to compare with.  If the value is greater than the depth of
+    the stack from that point then the result is False.
+    The default is 1.
+
+Returns:
+  True if any function's name is equal to name.
+"""
+
+    def __init__(self):
+        super(AnyCallerIs, self).__init__("_any_caller_is")
+
+    def invoke(self, name, nframes = 1):
+        if nframes < 0:
+            raise ValueError("nframes must be >= 0")
+        frame = gdb.selected_frame()
+        while nframes >= 0:
+            if frame.name() == name.string():
+                return True 
+            frame = frame.older()
+            if frame is None:
+                return False
+            nframes = nframes - 1
+        return False
+
+class AnyCallerMatches(gdb.Function):
+    """Compare all calling function's names with a regexp.
+
+Usage:
+  $_any_caller_matches(regex [, number_of_frames])
+
+Arguments:
+
+  regex: The regular expression to compare the function's name with.
+
+  number_of_frames: How many stack frames to traverse back from the currently
+    selected frame to compare with.  If the value is greater than the depth of
+    the stack from that point then the result is False.
+    The default is 1.
+
+Returns:
+  True if any function's name matches regex.
+"""
+
+    def __init__(self):
+        super(AnyCallerMatches, self).__init__("_any_caller_matches")
+
+    def invoke(self, name, nframes = 1):
+        if nframes < 0:
+            raise ValueError("nframes must be >= 0")
+        frame = gdb.selected_frame()
+        name_re = re.compile(name.string())
+        while nframes >= 0:
+            if name_re.match(frame.name()) is not None:
+                return True
+            frame = frame.older()
+            if frame is None:
+                return False
+            nframes = nframes - 1
+        return False
+
+CallerIs()
+CallerMatches()
+AnyCallerIs()
+AnyCallerMatches()
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/function/__init__.py ./gdb/python/lib/gdb/function/__init__.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/function/__init__.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/function/__init__.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/function/strfns.py ./gdb/python/lib/gdb/function/strfns.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/function/strfns.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/function/strfns.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Useful gdb string convenience functions.
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/__init__.py ./gdb/python/lib/gdb/__init__.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/__init__.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/__init__.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/printer/bound_registers.py ./gdb/python/lib/gdb/printer/bound_registers.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/printer/bound_registers.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/printer/bound_registers.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Pretty-printers for bounds registers.
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/printer/__init__.py ./gdb/python/lib/gdb/printer/__init__.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/printer/__init__.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/printer/__init__.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/printing.py ./gdb/python/lib/gdb/printing.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/printing.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/printing.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Pretty-printer utilities.
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/prompt.py ./gdb/python/lib/gdb/prompt.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/prompt.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/prompt.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Extended prompt utilities.
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@ import os
 
 def _prompt_pwd(ignore):
     "The current working directory."
-    return os.getcwdu()
+    return os.getcwd()
 
 def _prompt_object_attr(func, what, attr, nattr):
     """Internal worker for fetching GDB attributes."""
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/types.py ./gdb/python/lib/gdb/types.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/types.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/types.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Type utilities.
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/xmethod.py ./gdb/python/lib/gdb/xmethod.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/lib/gdb/xmethod.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/lib/gdb/xmethod.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Python side of the support for xmethods.
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-arch.c ./gdb/python/py-arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-arch.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-arch.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to architecture
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-auto-load.c ./gdb/python/py-auto-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-auto-load.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-auto-load.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB routines for supporting auto-loaded scripts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,9 +18,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "top.h"
-#include "exceptions.h"
 #include "gdbcmd.h"
 #include "objfiles.h"
 #include "python.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-block.c ./gdb/python/py-block.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-block.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-block.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to blocks.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -371,9 +371,8 @@ PyObject *
 gdbpy_block_for_pc (PyObject *self, PyObject *args)
 {
   gdb_py_ulongest pc;
-  struct block *block = NULL;
-  struct obj_section *section = NULL;
-  struct symtab *symtab = NULL;
+  const struct block *block = NULL;
+  struct compunit_symtab *cust = NULL;
   volatile struct gdb_exception except;
 
   if (!PyArg_ParseTuple (args, GDB_PY_LLU_ARG, &pc))
@@ -381,15 +380,14 @@ gdbpy_block_for_pc (PyObject *self, PyOb
 
   TRY_CATCH (except, RETURN_MASK_ALL)
     {
-      section = find_pc_mapped_section (pc);
-      symtab = find_pc_sect_symtab (pc, section);
+      cust = find_pc_compunit_symtab (pc);
 
-      if (symtab != NULL && symtab->objfile != NULL)
+      if (cust != NULL && COMPUNIT_OBJFILE (cust) != NULL)
 	block = block_for_pc (pc);
     }
   GDB_PY_HANDLE_EXCEPTION (except);
 
-  if (!symtab || symtab->objfile == NULL)
+  if (cust == NULL || COMPUNIT_OBJFILE (cust) == NULL)
     {
       PyErr_SetString (PyExc_RuntimeError,
 		       _("Cannot locate object file for block."));
@@ -397,7 +395,7 @@ gdbpy_block_for_pc (PyObject *self, PyOb
     }
 
   if (block)
-    return block_to_block_object (block, symtab->objfile);
+    return block_to_block_object (block, COMPUNIT_OBJFILE (cust));
 
   Py_RETURN_NONE;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-bpevent.c ./gdb/python/py-bpevent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-bpevent.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-bpevent.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior breakpoint stop events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-breakpoint.c ./gdb/python/py-breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-breakpoint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-breakpoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to breakpoints
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "value.h"
-#include "exceptions.h"
 #include "python-internal.h"
 #include "python.h"
 #include "charset.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-cmd.c ./gdb/python/py-cmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-cmd.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-cmd.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* gdb commands implemented in Python
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,7 +21,6 @@
 #include "defs.h"
 #include "arch-utils.h"
 #include "value.h"
-#include "exceptions.h"
 #include "python-internal.h"
 #include "charset.h"
 #include "gdbcmd.h"
@@ -108,8 +107,8 @@ cmdpy_destroyer (struct cmd_list_element
   /* We allocated the name, doc string, and perhaps the prefix
      name.  */
   xfree ((char *) self->name);
-  xfree (self->doc);
-  xfree (self->prefixname);
+  xfree ((char *) self->doc);
+  xfree ((char *) self->prefixname);
 
   do_cleanups (cleanup);
 }
@@ -208,45 +207,163 @@ cmdpy_function (struct cmd_list_element 
   do_cleanups (cleanup);
 }
 
+/* Helper function for the Python command completers (both "pure"
+   completer and brkchar handler).  This function takes COMMAND, TEXT
+   and WORD and tries to call the Python method for completion with
+   these arguments.  It also takes HANDLE_BRKCHARS_P, an argument to
+   identify whether it is being called from the brkchar handler or
+   from the "pure" completer.  In the first case, it effectively calls
+   the Python method for completion, and records the PyObject in a
+   static variable (used as a "cache").  In the second case, it just
+   returns that variable, without actually calling the Python method
+   again.  This saves us one Python method call.
+
+   The reason for this two step dance is that we need to know the set
+   of "brkchars" to use early on, before we actually try to perform
+   the completion.  But if a Python command supplies a "complete"
+   method then we have to call that method first: it may return as its
+   result the kind of completion to perform and that will in turn
+   specify which brkchars to use.  IOW, we need the result of the
+   "complete" method before we actually perform the completion.
+
+   It is important to mention that this function is built on the
+   assumption that the calls to cmdpy_completer_handle_brkchars and
+   cmdpy_completer will be subsequent with nothing intervening.  This
+   is true for our completer mechanism.
+
+   This function returns the PyObject representing the Python method
+   call.  */
+
+static PyObject *
+cmdpy_completer_helper (struct cmd_list_element *command,
+			const char *text, const char *word,
+			int handle_brkchars_p)
+{
+  cmdpy_object *obj = (cmdpy_object *) get_cmd_context (command);
+  PyObject *textobj, *wordobj;
+  /* This static variable will server as a "cache" for us, in order to
+     store the PyObject that results from calling the Python
+     function.  */
+  static PyObject *resultobj = NULL;
+
+  if (handle_brkchars_p)
+    {
+      /* If we were called to handle brkchars, it means this is the
+	 first function call of two that will happen in a row.
+	 Therefore, we need to call the completer ourselves, and cache
+	 the return value in the static variable RESULTOBJ.  Then, in
+	 the second call, we can just use the value of RESULTOBJ to do
+	 our job.  */
+      if (resultobj != NULL)
+	Py_DECREF (resultobj);
+
+      resultobj = NULL;
+      if (obj == NULL)
+	error (_("Invalid invocation of Python command object."));
+      if (!PyObject_HasAttr ((PyObject *) obj, complete_cst))
+	{
+	  /* If there is no complete method, don't error.  */
+	  return NULL;
+	}
+
+      textobj = PyUnicode_Decode (text, strlen (text), host_charset (), NULL);
+      if (textobj == NULL)
+	error (_("Could not convert argument to Python string."));
+      wordobj = PyUnicode_Decode (word, sizeof (word), host_charset (), NULL);
+      if (wordobj == NULL)
+	{
+	  Py_DECREF (textobj);
+	  error (_("Could not convert argument to Python string."));
+	}
+
+      resultobj = PyObject_CallMethodObjArgs ((PyObject *) obj, complete_cst,
+					      textobj, wordobj, NULL);
+      Py_DECREF (textobj);
+      Py_DECREF (wordobj);
+      if (!resultobj)
+	{
+	  /* Just swallow errors here.  */
+	  PyErr_Clear ();
+	}
+
+      Py_XINCREF (resultobj);
+    }
+
+  return resultobj;
+}
+
+/* Python function called to determine the break characters of a
+   certain completer.  We are only interested in knowing if the
+   completer registered by the user will return one of the integer
+   codes (see COMPLETER_* symbols).  */
+
+static void
+cmdpy_completer_handle_brkchars (struct cmd_list_element *command,
+				 const char *text, const char *word)
+{
+  PyObject *resultobj = NULL;
+  struct cleanup *cleanup;
+
+  cleanup = ensure_python_env (get_current_arch (), current_language);
+
+  /* Calling our helper to obtain the PyObject of the Python
+     function.  */
+  resultobj = cmdpy_completer_helper (command, text, word, 1);
+
+  /* Check if there was an error.  */
+  if (resultobj == NULL)
+    goto done;
+
+  if (PyInt_Check (resultobj))
+    {
+      /* User code may also return one of the completion constants,
+	 thus requesting that sort of completion.  We are only
+	 interested in this kind of return.  */
+      long value;
+
+      if (!gdb_py_int_as_long (resultobj, &value))
+	{
+	  /* Ignore.  */
+	  PyErr_Clear ();
+	}
+      else if (value >= 0 && value < (long) N_COMPLETERS)
+	{
+	  /* This is the core of this function.  Depending on which
+	     completer type the Python function returns, we have to
+	     adjust the break characters accordingly.  */
+	  set_gdb_completion_word_break_characters
+	    (completers[value].completer);
+	}
+    }
+
+ done:
+
+  /* We do not call Py_XDECREF here because RESULTOBJ will be used in
+     the subsequent call to cmdpy_completer function.  */
+  do_cleanups (cleanup);
+}
+
 /* Called by gdb for command completion.  */
 
 static VEC (char_ptr) *
 cmdpy_completer (struct cmd_list_element *command,
 		 const char *text, const char *word)
 {
-  cmdpy_object *obj = (cmdpy_object *) get_cmd_context (command);
-  PyObject *textobj, *wordobj, *resultobj = NULL;
+  PyObject *resultobj = NULL;
   VEC (char_ptr) *result = NULL;
   struct cleanup *cleanup;
 
   cleanup = ensure_python_env (get_current_arch (), current_language);
 
-  if (! obj)
-    error (_("Invalid invocation of Python command object."));
-  if (! PyObject_HasAttr ((PyObject *) obj, complete_cst))
-    {
-      /* If there is no complete method, don't error -- instead, just
-	 say that there are no completions.  */
-      goto done;
-    }
-
-  textobj = PyUnicode_Decode (text, strlen (text), host_charset (), NULL);
-  if (! textobj)
-    error (_("Could not convert argument to Python string."));
-  wordobj = PyUnicode_Decode (word, strlen (word), host_charset (), NULL);
-  if (! wordobj)
-    error (_("Could not convert argument to Python string."));
-
-  resultobj = PyObject_CallMethodObjArgs ((PyObject *) obj, complete_cst,
-					  textobj, wordobj, NULL);
-  Py_DECREF (textobj);
-  Py_DECREF (wordobj);
-  if (! resultobj)
-    {
-      /* Just swallow errors here.  */
-      PyErr_Clear ();
-      goto done;
-    }
+  /* Calling our helper to obtain the PyObject of the Python
+     function.  */
+  resultobj = cmdpy_completer_helper (command, text, word, 0);
+
+  /* If the result object of calling the Python function is NULL, it
+     means that there was an error.  In this case, just give up and
+     return NULL.  */
+  if (resultobj == NULL)
+    goto done;
 
   result = NULL;
   if (PyInt_Check (resultobj))
@@ -302,7 +419,6 @@ cmdpy_completer (struct cmd_list_element
 
  done:
 
-  Py_XDECREF (resultobj);
   do_cleanups (cleanup);
 
   return result;
@@ -370,7 +486,7 @@ gdbpy_parse_command_name (const char *na
 
   prefix_text2 = prefix_text;
   elt = lookup_cmd_1 (&prefix_text2, *start_list, NULL, 1);
-  if (!elt || elt == (struct cmd_list_element *) -1)
+  if (elt == NULL || elt == CMD_LIST_AMBIGUOUS)
     {
       PyErr_Format (PyExc_RuntimeError, _("Could not find command prefix %s."),
 		    prefix_text);
@@ -548,6 +664,9 @@ cmdpy_init (PyObject *self, PyObject *ar
       set_cmd_context (cmd, self);
       set_cmd_completer (cmd, ((completetype == -1) ? cmdpy_completer
 			       : completers[completetype].completer));
+      if (completetype == -1)
+	set_cmd_completer_handle_brkchars (cmd,
+					   cmdpy_completer_handle_brkchars);
     }
   if (except.reason < 0)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-continueevent.c ./gdb/python/py-continueevent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-continueevent.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-continueevent.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior continue events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-event.c ./gdb/python/py-event.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-event.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-event.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-event.h ./gdb/python/py-event.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-event.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-event.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -105,6 +105,22 @@ typedef struct
 extern int emit_continue_event (ptid_t ptid);
 extern int emit_exited_event (const LONGEST *exit_code, struct inferior *inf);
 
+/* For inferior function call events, discriminate whether event is
+   before or after the call. */
+
+typedef enum
+{
+  /* Before the call */
+  INFERIOR_CALL_PRE,
+  /* after the call */
+  INFERIOR_CALL_POST,
+} inferior_call_kind;
+
+extern int emit_inferior_call_event (inferior_call_kind kind,
+				     ptid_t thread, CORE_ADDR addr);
+extern int emit_register_changed_event (struct frame_info *frame,
+				        int regnum);
+extern int emit_memory_changed_event (CORE_ADDR addr, ssize_t len);
 extern int evpy_emit_event (PyObject *event,
                             eventregistry_object *registry)
   CPYCHECKER_STEALS_REFERENCE_TO_ARG (1);
@@ -112,6 +128,7 @@ extern int evpy_emit_event (PyObject *ev
 extern PyObject *create_event_object (PyTypeObject *py_type);
 extern PyObject *create_thread_event_object (PyTypeObject *py_type);
 extern int emit_new_objfile_event (struct objfile *objfile);
+extern int emit_clear_objfiles_event (void);
 
 extern void evpy_dealloc (PyObject *self);
 extern int evpy_add_attribute (PyObject *event,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-events.h ./gdb/python/py-events.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-events.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-events.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -46,6 +46,10 @@ typedef struct
   eventregistry_object *cont;
   eventregistry_object *exited;
   eventregistry_object *new_objfile;
+  eventregistry_object *clear_objfiles;
+  eventregistry_object *inferior_call;
+  eventregistry_object *memory_changed;
+  eventregistry_object *register_changed;
 
   PyObject *module;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-evtregistry.c ./gdb/python/py-evtregistry.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-evtregistry.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-evtregistry.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior thread event registries.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-evts.c ./gdb/python/py-evts.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-evts.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-evts.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -73,9 +73,24 @@ gdbpy_initialize_py_events (void)
   if (add_new_registry (&gdb_py_events.exited, "exited") < 0)
     return -1;
 
+  if (add_new_registry (&gdb_py_events.inferior_call,
+			"inferior_call") < 0)
+    return -1;
+
+  if (add_new_registry (&gdb_py_events.memory_changed,
+			"memory_changed") < 0)
+    return -1;
+
+  if (add_new_registry (&gdb_py_events.register_changed,
+			"register_changed") < 0)
+    return -1;
+
   if (add_new_registry (&gdb_py_events.new_objfile, "new_objfile") < 0)
     return -1;
 
+  if (add_new_registry (&gdb_py_events.clear_objfiles, "clear_objfiles") < 0)
+    return -1;
+
   if (gdb_pymodule_addobject (gdb_module,
 			      "events",
 			      (PyObject *) gdb_py_events.module) < 0)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-exitedevent.c ./gdb/python/py-exitedevent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-exitedevent.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-exitedevent.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior exit events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-finishbreakpoint.c ./gdb/python/py-finishbreakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-finishbreakpoint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-finishbreakpoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to finish breakpoints
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 
 
 #include "defs.h"
-#include "exceptions.h"
 #include "python-internal.h"
 #include "breakpoint.h"
 #include "frame.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-frame.c ./gdb/python/py-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-frame.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-frame.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to stack frames
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,13 +21,13 @@
 #include "charset.h"
 #include "block.h"
 #include "frame.h"
-#include "exceptions.h"
 #include "symtab.h"
 #include "stack.h"
 #include "value.h"
 #include "python-internal.h"
 #include "symfile.h"
 #include "objfiles.h"
+#include "user-regs.h"
 
 typedef struct {
   PyObject_HEAD
@@ -235,6 +235,40 @@ frapy_pc (PyObject *self, PyObject *args
   return gdb_py_long_from_ulongest (pc);
 }
 
+/* Implementation of gdb.Frame.read_register (self, register) -> gdb.Value.
+   Returns the value of a register in this frame.  */
+
+static PyObject *
+frapy_read_register (PyObject *self, PyObject *args)
+{
+  volatile struct gdb_exception except;
+  const char *regnum_str;
+  struct value *val = NULL;
+
+  if (!PyArg_ParseTuple (args, "s", &regnum_str))
+    return NULL;
+
+  TRY_CATCH (except, RETURN_MASK_ALL)
+    {
+      struct frame_info *frame;
+      int regnum;
+
+      FRAPY_REQUIRE_VALID (self, frame);
+
+      regnum = user_reg_map_name_to_regnum (get_frame_arch (frame),
+                                            regnum_str,
+                                            strlen (regnum_str));
+      if (regnum >= 0)
+        val = value_of_register (regnum, frame);
+
+      if (val == NULL)
+        PyErr_SetString (PyExc_ValueError, _("Unknown register."));
+    }
+  GDB_PY_HANDLE_EXCEPTION (except);
+
+  return val == NULL ? NULL : value_to_value_object (val);
+}
+
 /* Implementation of gdb.Frame.block (self) -> gdb.Block.
    Returns the frame's code block.  */
 
@@ -242,7 +276,7 @@ static PyObject *
 frapy_block (PyObject *self, PyObject *args)
 {
   struct frame_info *frame;
-  struct block *block = NULL, *fn_block;
+  const struct block *block = NULL, *fn_block;
   volatile struct gdb_exception except;
 
   TRY_CATCH (except, RETURN_MASK_ALL)
@@ -266,10 +300,8 @@ frapy_block (PyObject *self, PyObject *a
 
   if (block)
     {
-      struct symtab *symt;
-
-      symt = SYMBOL_SYMTAB (BLOCK_FUNCTION (fn_block));
-      return block_to_block_object (block, symt->objfile);
+      return block_to_block_object
+	(block, symbol_objfile (BLOCK_FUNCTION (fn_block)));
     }
 
   Py_RETURN_NONE;
@@ -674,6 +706,9 @@ Return the reason why it's not possible 
   { "pc", frapy_pc, METH_NOARGS,
     "pc () -> Long.\n\
 Return the frame's resume address." },
+  { "read_register", frapy_read_register, METH_VARARGS,
+    "read_register (register_name) -> gdb.Value\n\
+Return the value of the register in the frame." },
   { "block", frapy_block, METH_NOARGS,
     "block () -> gdb.Block.\n\
 Return the frame's code block." },
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-framefilter.c ./gdb/python/py-framefilter.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-framefilter.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-framefilter.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python frame filters
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,7 +21,6 @@
 #include "objfiles.h"
 #include "symtab.h"
 #include "language.h"
-#include "exceptions.h"
 #include "arch-utils.h"
 #include "python.h"
 #include "ui-out.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-function.c ./gdb/python/py-function.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-function.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-function.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Convenience functions implemented in Python.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 
 #include "defs.h"
 #include "value.h"
-#include "exceptions.h"
 #include "python-internal.h"
 #include "charset.h"
 #include "gdbcmd.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-gdb-readline.c ./gdb/python/py-gdb-readline.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-gdb-readline.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-gdb-readline.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Readline support for Python.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,13 +19,8 @@
 
 #include "defs.h"
 #include "python-internal.h"
-#include "exceptions.h"
 #include "top.h"
 #include "cli/cli-utils.h"
-#include <string.h>
-
-#include <stddef.h>
-
 /* Readline function suitable for PyOS_ReadlineFunctionPointer, which
    is used for Python's interactive parser and raw_input.  In both
    cases, sys_stdin and sys_stdout are always stdin and stdout
@@ -34,7 +29,11 @@
 
 static char *
 gdbpy_readline_wrapper (FILE *sys_stdin, FILE *sys_stdout,
+#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 4
+			const char *prompt)
+#else
 			char *prompt)
+#endif
 {
   int n;
   char *p = NULL, *q;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-inferior.c ./gdb/python/py-inferior.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-inferior.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-inferior.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferiors.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "exceptions.h"
 #include "gdbcore.h"
 #include "gdbthread.h"
 #include "inferior.h"
@@ -117,6 +116,72 @@ python_on_resume (ptid_t ptid)
   do_cleanups (cleanup);
 }
 
+/* Callback, registered as an observer, that notifies Python listeners
+   when an inferior function call is about to be made. */
+
+static void
+python_on_inferior_call_pre (ptid_t thread, CORE_ADDR address)
+{
+  struct cleanup *cleanup;
+
+  cleanup = ensure_python_env (target_gdbarch (), current_language);
+
+  if (emit_inferior_call_event (INFERIOR_CALL_PRE, thread, address) < 0)
+    gdbpy_print_stack ();
+
+  do_cleanups (cleanup);
+}
+
+/* Callback, registered as an observer, that notifies Python listeners
+   when an inferior function call has completed. */
+
+static void
+python_on_inferior_call_post (ptid_t thread, CORE_ADDR address)
+{
+  struct cleanup *cleanup;
+
+  cleanup = ensure_python_env (target_gdbarch (), current_language);
+
+  if (emit_inferior_call_event (INFERIOR_CALL_POST, thread, address) < 0)
+    gdbpy_print_stack ();
+
+  do_cleanups (cleanup);
+}
+
+/* Callback, registered as an observer, that notifies Python listeners
+   when a part of memory has been modified by user action (eg via a
+   'set' command). */
+
+static void
+python_on_memory_change (struct inferior *inferior, CORE_ADDR addr, ssize_t len, const bfd_byte *data)
+{
+  struct cleanup *cleanup;
+
+  cleanup = ensure_python_env (target_gdbarch (), current_language);
+
+  if (emit_memory_changed_event (addr, len) < 0)
+    gdbpy_print_stack ();
+
+  do_cleanups (cleanup);
+}
+
+/* Callback, registered as an observer, that notifies Python listeners
+   when a register has been modified by user action (eg via a 'set'
+   command). */
+
+static void
+python_on_register_change (struct frame_info *frame, int regnum)
+{
+  struct cleanup *cleanup;
+
+  cleanup = ensure_python_env (target_gdbarch (), current_language);
+
+  if (emit_register_changed_event (frame, regnum) < 0)
+    gdbpy_print_stack ();
+
+  do_cleanups (cleanup);
+}
+
 static void
 python_inferior_exit (struct inferior *inf)
 {
@@ -138,23 +203,32 @@ python_inferior_exit (struct inferior *i
 }
 
 /* Callback used to notify Python listeners about new objfiles loaded in the
-   inferior.  */
+   inferior.  OBJFILE may be NULL which means that the objfile list has been
+   cleared (emptied).  */
 
 static void
 python_new_objfile (struct objfile *objfile)
 {
   struct cleanup *cleanup;
 
-  if (objfile == NULL)
-    return;
-
   if (!gdb_python_initialized)
     return;
 
-  cleanup = ensure_python_env (get_objfile_arch (objfile), current_language);
+  cleanup = ensure_python_env (objfile != NULL
+			       ? get_objfile_arch (objfile)
+			       : target_gdbarch (),
+			       current_language);
 
-  if (emit_new_objfile_event (objfile) < 0)
-    gdbpy_print_stack ();
+  if (objfile == NULL)
+    {
+      if (emit_clear_objfiles_event () < 0)
+	gdbpy_print_stack ();
+    }
+  else
+    {
+      if (emit_new_objfile_event (objfile) < 0)
+	gdbpy_print_stack ();
+    }
 
   do_cleanups (cleanup);
 }
@@ -794,6 +868,10 @@ gdbpy_initialize_inferior (void)
   observer_attach_thread_exit (delete_thread_object);
   observer_attach_normal_stop (python_on_normal_stop);
   observer_attach_target_resumed (python_on_resume);
+  observer_attach_inferior_call_pre (python_on_inferior_call_pre);
+  observer_attach_inferior_call_post (python_on_inferior_call_post);
+  observer_attach_memory_changed (python_on_memory_change);
+  observer_attach_register_changed (python_on_register_change);
   observer_attach_inferior_exit (python_inferior_exit);
   observer_attach_new_objfile (python_new_objfile);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-infevents.c ./gdb/python/py-infevents.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-infevents.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/python/py-infevents.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,263 @@
+/* Python interface to inferior function events.
+
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "py-event.h"
+
+static PyTypeObject inferior_call_pre_event_object_type
+    CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object");
+static PyTypeObject inferior_call_post_event_object_type
+    CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object");
+static PyTypeObject register_changed_event_object_type
+    CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object");
+static PyTypeObject memory_changed_event_object_type
+    CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object");
+
+/* Construct either a gdb.InferiorCallPreEvent or a
+   gdb.InferiorCallPostEvent. */
+
+static PyObject *
+create_inferior_call_event_object (inferior_call_kind flag, ptid_t ptid,
+				   CORE_ADDR addr)
+{
+  int pid;
+  long tid, lwp;
+  PyObject *event;
+  PyObject *ptid_obj = NULL;
+  PyObject *addr_obj = NULL;
+  int failed;
+  struct cleanup *cleanups;
+  struct cleanup *member_cleanups;
+
+  switch (flag)
+    {
+    case INFERIOR_CALL_PRE:
+      event = create_event_object (&inferior_call_pre_event_object_type);
+      break;
+    case INFERIOR_CALL_POST:
+      event = create_event_object (&inferior_call_post_event_object_type);
+      break;
+    default:
+      return NULL;
+    }
+
+  cleanups = make_cleanup_py_decref (event);
+
+  ptid_obj = gdbpy_create_ptid_object (ptid);
+  if (ptid_obj == NULL)
+    goto fail;
+  member_cleanups = make_cleanup_py_decref (ptid_obj);
+
+  failed = evpy_add_attribute (event, "ptid", ptid_obj) < 0;
+  if (failed)
+    goto fail;
+
+  addr_obj = PyLong_FromLongLong (addr);
+  if (addr_obj == NULL)
+    goto fail;
+  make_cleanup_py_decref (addr_obj);
+
+  failed = evpy_add_attribute (event, "address", addr_obj) < 0;
+  if (failed)
+    goto fail;
+
+  do_cleanups (member_cleanups);
+  discard_cleanups (cleanups);
+  return event;
+
+ fail:
+  do_cleanups (cleanups);
+  return NULL;
+}
+
+/* Construct a gdb.RegisterChangedEvent containing the affected
+   register number. */
+
+static PyObject *
+create_register_changed_event_object (struct frame_info *frame, 
+				      int regnum)
+{
+  PyObject *event;
+  PyObject *frame_obj = NULL;
+  PyObject *regnum_obj = NULL;
+  int failed;
+  struct cleanup *cleanups;
+  struct cleanup *member_cleanups;
+
+  event = create_event_object (&register_changed_event_object_type);
+  if (event == NULL)
+    return NULL;
+
+  cleanups = make_cleanup_py_decref (event);
+
+  frame_obj = frame_info_to_frame_object (frame);
+  if (frame_obj == NULL)
+    goto fail;
+  member_cleanups = make_cleanup_py_decref (frame_obj);
+
+  failed = evpy_add_attribute (event, "frame", frame_obj) < 0;
+  if (failed)
+    goto fail;
+
+  regnum_obj = PyLong_FromLongLong (regnum);
+  if (regnum_obj == NULL)
+    goto fail;
+  make_cleanup_py_decref (regnum_obj);
+
+  failed = evpy_add_attribute (event, "regnum", regnum_obj) < 0;
+  if (failed)
+    goto fail;
+
+  do_cleanups (member_cleanups);
+  discard_cleanups (cleanups);
+  return event;
+
+ fail:
+  do_cleanups (cleanups);
+  return NULL;
+}
+
+/* Construct a gdb.MemoryChangedEvent describing the extent of the
+   affected memory. */
+
+static PyObject *
+create_memory_changed_event_object (CORE_ADDR addr, ssize_t len)
+{
+  PyObject *event;
+  PyObject *addr_obj = NULL;
+  PyObject *len_obj = NULL;
+  int failed;
+  struct cleanup *cleanups;
+  struct cleanup *member_cleanups;
+
+  event = create_event_object (&memory_changed_event_object_type);
+
+  if (event == NULL)
+    return NULL;
+  cleanups = make_cleanup_py_decref (event);
+
+  addr_obj = PyLong_FromLongLong (addr);
+  if (addr_obj == NULL)
+    goto fail;
+  member_cleanups = make_cleanup_py_decref (addr_obj);
+
+  failed = evpy_add_attribute (event, "address", addr_obj) < 0;
+  if (failed)
+    goto fail;
+
+  len_obj = PyLong_FromLong (len);
+  if (len_obj == NULL)
+    goto fail;
+  make_cleanup_py_decref (len_obj);
+
+  failed = evpy_add_attribute (event, "length", len_obj) < 0;
+  if (failed)
+    goto fail;
+
+  do_cleanups (member_cleanups);
+  discard_cleanups (cleanups);
+  return event;
+
+ fail:
+  do_cleanups (cleanups);
+  return NULL;
+}
+
+/* Callback function which notifies observers when an event occurs which
+   calls a function in the inferior.
+   This function will create a new Python inferior-call event object.
+   Return -1 if emit fails.  */
+
+int
+emit_inferior_call_event (inferior_call_kind flag, ptid_t thread,
+			  CORE_ADDR addr)
+{
+  PyObject *event;
+
+  if (evregpy_no_listeners_p (gdb_py_events.inferior_call))
+    return 0;
+
+  event = create_inferior_call_event_object (flag, thread, addr);
+  if (event != NULL)
+    return evpy_emit_event (event, gdb_py_events.inferior_call);
+  return -1;
+}
+
+/* Callback when memory is modified by the user.  This function will
+   create a new Python memory changed event object. */
+
+int
+emit_memory_changed_event (CORE_ADDR addr, ssize_t len)
+{
+  PyObject *event;
+
+  if (evregpy_no_listeners_p (gdb_py_events.memory_changed))
+    return 0;
+
+  event = create_memory_changed_event_object (addr, len);
+  if (event != NULL)
+    return evpy_emit_event (event, gdb_py_events.memory_changed);
+  return -1;
+}
+
+/* Callback when a register is modified by the user.  This function
+   will create a new Python register changed event object. */
+
+int
+emit_register_changed_event (struct frame_info* frame, int regnum)
+{
+  PyObject *event;
+
+  if (evregpy_no_listeners_p (gdb_py_events.register_changed))
+    return 0;
+
+  event = create_register_changed_event_object (frame, regnum);
+  if (event != NULL)
+    return evpy_emit_event (event, gdb_py_events.register_changed);
+  return -1;
+}
+
+
+GDBPY_NEW_EVENT_TYPE (inferior_call_pre,
+		      "gdb.InferiorCallPreEvent",
+		      "InferiorCallPreEvent",
+		      "GDB inferior function pre-call event object",
+		      event_object_type,
+		      static);
+
+GDBPY_NEW_EVENT_TYPE (inferior_call_post,
+		      "gdb.InferiorCallPostEvent",
+		      "InferiorCallPostEvent",
+		      "GDB inferior function post-call event object",
+		      event_object_type,
+		      static);
+
+GDBPY_NEW_EVENT_TYPE (register_changed,
+		      "gdb.RegisterChangedEvent",
+		      "RegisterChangedEvent",
+		      "GDB register change event object",
+		      event_object_type,
+		      static);
+
+GDBPY_NEW_EVENT_TYPE (memory_changed,
+		      "gdb.MemoryChangedEvent",
+		      "MemoryChangedEvent",
+		      "GDB memory change event object",
+		      event_object_type,
+		      static);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-infthread.c ./gdb/python/py-infthread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-infthread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-infthread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior threads.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "exceptions.h"
 #include "gdbthread.h"
 #include "inferior.h"
 #include "python-internal.h"
@@ -37,8 +36,6 @@ static PyTypeObject thread_object_type
       }								\
   } while (0)
 
-
-
 thread_object *
 create_thread_object (struct thread_info *tp)
 {
@@ -54,8 +51,6 @@ create_thread_object (struct thread_info
   return thread_obj;
 }
 
-
-
 static void
 thpy_dealloc (PyObject *self)
 {
@@ -132,33 +127,22 @@ thpy_get_num (PyObject *self, void *clos
 
 /* Getter for InferiorThread.ptid  -> (pid, lwp, tid).
    Returns a tuple with the thread's ptid components.  */
+
 static PyObject *
 thpy_get_ptid (PyObject *self, void *closure)
 {
   int pid;
   long tid, lwp;
   thread_object *thread_obj = (thread_object *) self;
-  PyObject *ret;
 
   THPY_REQUIRE_VALID (thread_obj);
 
-  ret = PyTuple_New (3);
-  if (!ret)
-    return NULL;
-
-  pid = ptid_get_pid (thread_obj->thread->ptid);
-  lwp = ptid_get_lwp (thread_obj->thread->ptid);
-  tid = ptid_get_tid (thread_obj->thread->ptid);
-
-  PyTuple_SET_ITEM (ret, 0, PyInt_FromLong (pid));
-  PyTuple_SET_ITEM (ret, 1, PyInt_FromLong (lwp));
-  PyTuple_SET_ITEM (ret, 2, PyInt_FromLong (tid));
-
-  return ret;
+  return gdbpy_create_ptid_object (thread_obj->thread->ptid);
 }
 
 /* Implementation of InferiorThread.switch ().
    Makes this the GDB selected thread.  */
+
 static PyObject *
 thpy_switch (PyObject *self, PyObject *args)
 {
@@ -178,6 +162,7 @@ thpy_switch (PyObject *self, PyObject *a
 
 /* Implementation of InferiorThread.is_stopped () -> Boolean.
    Return whether the thread is stopped.  */
+
 static PyObject *
 thpy_is_stopped (PyObject *self, PyObject *args)
 {
@@ -193,6 +178,7 @@ thpy_is_stopped (PyObject *self, PyObjec
 
 /* Implementation of InferiorThread.is_running () -> Boolean.
    Return whether the thread is running.  */
+
 static PyObject *
 thpy_is_running (PyObject *self, PyObject *args)
 {
@@ -208,6 +194,7 @@ thpy_is_running (PyObject *self, PyObjec
 
 /* Implementation of InferiorThread.is_exited () -> Boolean.
    Return whether the thread is exited.  */
+
 static PyObject *
 thpy_is_exited (PyObject *self, PyObject *args)
 {
@@ -236,8 +223,33 @@ thpy_is_valid (PyObject *self, PyObject 
   Py_RETURN_TRUE;
 }
 
+/* Return a reference to a new Python object representing a ptid_t.
+   The object is a tuple containing (pid, lwp, tid). */
+PyObject *
+gdbpy_create_ptid_object (ptid_t ptid)
+{
+  int pid;
+  long tid, lwp;
+  PyObject *ret;
+
+  ret = PyTuple_New (3);
+  if (!ret)
+    return NULL;
+
+  pid = ptid_get_pid (ptid);
+  lwp = ptid_get_lwp (ptid);
+  tid = ptid_get_tid (ptid);
+
+  PyTuple_SET_ITEM (ret, 0, PyInt_FromLong (pid));
+  PyTuple_SET_ITEM (ret, 1, PyInt_FromLong (lwp));
+  PyTuple_SET_ITEM (ret, 2, PyInt_FromLong (tid));
+ 
+  return ret;
+}
+
 /* Implementation of gdb.selected_thread () -> gdb.InferiorThread.
    Returns the selected thread object.  */
+
 PyObject *
 gdbpy_selected_thread (PyObject *self, PyObject *args)
 {
@@ -253,8 +265,6 @@ gdbpy_selected_thread (PyObject *self, P
   Py_RETURN_NONE;
 }
 
-
-
 int
 gdbpy_initialize_thread (void)
 {
@@ -265,8 +275,6 @@ gdbpy_initialize_thread (void)
 				 (PyObject *) &thread_object_type);
 }
 
-
-
 static PyGetSetDef thread_object_getset[] =
 {
   { "name", thpy_get_name, thpy_set_name,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-lazy-string.c ./gdb/python/py-lazy-string.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-lazy-string.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-lazy-string.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to lazy strings.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,10 +21,8 @@
 #include "python-internal.h"
 #include "charset.h"
 #include "value.h"
-#include "exceptions.h"
 #include "valprint.h"
 #include "language.h"
-#include "gdb_assert.h"
 
 typedef struct {
   PyObject_HEAD
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-linetable.c ./gdb/python/py-linetable.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-linetable.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-linetable.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to line tables.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "python-internal.h"
-#include "exceptions.h"
 
 typedef struct {
   PyObject_HEAD
@@ -208,16 +207,16 @@ ltpy_has_line (PyObject *self, PyObject 
   if (! PyArg_ParseTuple (args, GDB_PY_LL_ARG, &py_line))
     return NULL;
 
-  if (LINETABLE (symtab) == NULL)
+  if (SYMTAB_LINETABLE (symtab) == NULL)
     {
       PyErr_SetString (PyExc_RuntimeError,
 		       _("Linetable information not found in symbol table"));
       return NULL;
     }
 
-  for (index = 0; index < LINETABLE (symtab)->nitems; index++)
+  for (index = 0; index < SYMTAB_LINETABLE (symtab)->nitems; index++)
     {
-      struct linetable_entry *item = &(symtab->linetable->item[index]);
+      struct linetable_entry *item = &(SYMTAB_LINETABLE (symtab)->item[index]);
       if (item->line == py_line)
 	  Py_RETURN_TRUE;
     }
@@ -241,7 +240,7 @@ ltpy_get_all_source_lines (PyObject *sel
 
   LTPY_REQUIRE_VALID (self, symtab);
 
-  if (LINETABLE (symtab) == NULL)
+  if (SYMTAB_LINETABLE (symtab) == NULL)
     {
       PyErr_SetString (PyExc_RuntimeError,
 		       _("Linetable information not found in symbol table"));
@@ -252,9 +251,9 @@ ltpy_get_all_source_lines (PyObject *sel
   if (source_dict == NULL)
     return NULL;
 
-  for (index = 0; index < LINETABLE (symtab)->nitems; index++)
+  for (index = 0; index < SYMTAB_LINETABLE (symtab)->nitems; index++)
     {
-      item = &(LINETABLE (symtab)->item[index]);
+      item = &(SYMTAB_LINETABLE (symtab)->item[index]);
 
       /* 0 is used to signify end of line table information.  Do not
 	 include in the source set. */
@@ -431,10 +430,10 @@ ltpy_iternext (PyObject *self)
 
   LTPY_REQUIRE_VALID (iter_obj->source, symtab);
 
-  if (iter_obj->current_index >= LINETABLE (symtab)->nitems)
+  if (iter_obj->current_index >= SYMTAB_LINETABLE (symtab)->nitems)
     goto stop_iteration;
 
-  item = &(LINETABLE (symtab)->item[iter_obj->current_index]);
+  item = &(SYMTAB_LINETABLE (symtab)->item[iter_obj->current_index]);
 
   /* Skip over internal entries such as 0.  0 signifies the end of
      line table data and is not useful to the API user.  */
@@ -443,9 +442,9 @@ ltpy_iternext (PyObject *self)
       iter_obj->current_index++;
 
       /* Exit if the internal value is the last item in the line table.  */
-      if (iter_obj->current_index >= symtab->linetable->nitems)
+      if (iter_obj->current_index >= SYMTAB_LINETABLE (symtab)->nitems)
 	goto stop_iteration;
-      item = &(symtab->linetable->item[iter_obj->current_index]);
+      item = &(SYMTAB_LINETABLE (symtab)->item[iter_obj->current_index]);
     }
 
   obj = build_linetable_entry (item->line, item->pc);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-newobjfileevent.c ./gdb/python/py-newobjfileevent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-newobjfileevent.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-newobjfileevent.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to new object file loading events.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,6 +22,8 @@
 
 static PyTypeObject new_objfile_event_object_type
     CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object");
+static PyTypeObject clear_objfiles_event_object_type
+    CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object");
 
 static PyObject *
 create_new_objfile_event_object (struct objfile *objfile)
@@ -72,3 +74,56 @@ GDBPY_NEW_EVENT_TYPE (new_objfile,
                       "GDB new object file event object",
                       event_object_type,
                       static);
+
+/* Subroutine of emit_clear_objfiles_event to simplify it.  */
+
+static PyObject *
+create_clear_objfiles_event_object (void)
+{
+  PyObject *objfile_event;
+  PyObject *py_progspace;
+
+  objfile_event = create_event_object (&clear_objfiles_event_object_type);
+  if (!objfile_event)
+    goto fail;
+
+  /* Note that pspace_to_pspace_object returns a borrowed reference,
+     so we don't need a decref here.  */
+  py_progspace = pspace_to_pspace_object (current_program_space);
+  if (!py_progspace || evpy_add_attribute (objfile_event,
+					   "progspace",
+					   py_progspace) < 0)
+    goto fail;
+
+  return objfile_event;
+
+ fail:
+  Py_XDECREF (objfile_event);
+  return NULL;
+}
+
+/* Callback function which notifies observers when the "clear objfiles"
+   event occurs.
+   This function will create a new Python clear_objfiles event object.
+   Return -1 if emit fails.  */
+
+int
+emit_clear_objfiles_event (void)
+{
+  PyObject *event;
+
+  if (evregpy_no_listeners_p (gdb_py_events.clear_objfiles))
+    return 0;
+
+  event = create_clear_objfiles_event_object ();
+  if (event)
+    return evpy_emit_event (event, gdb_py_events.clear_objfiles);
+  return -1;
+}
+
+GDBPY_NEW_EVENT_TYPE (clear_objfiles,
+		      "gdb.ClearObjFilesEvent",
+		      "ClearObjFilesEvent",
+		      "GDB clear object files event object",
+		      event_object_type,
+		      static);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-objfile.c ./gdb/python/py-objfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-objfile.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-objfile.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to objfiles.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,6 +22,9 @@
 #include "charset.h"
 #include "objfiles.h"
 #include "language.h"
+#include "build-id.h"
+#include "elf-bfd.h"
+#include "symtab.h"
 
 typedef struct
 {
@@ -30,6 +33,10 @@ typedef struct
   /* The corresponding objfile.  */
   struct objfile *objfile;
 
+  /* Dictionary holding user-added attributes.
+     This is the __dict__ attribute of the object.  */
+  PyObject *dict;
+
   /* The pretty-printer list of functions.  */
   PyObject *printers;
 
@@ -47,9 +54,21 @@ static PyTypeObject objfile_object_type
 
 static const struct objfile_data *objfpy_objfile_data_key;
 
+/* Require that OBJF be a valid objfile.  */
+#define OBJFPY_REQUIRE_VALID(obj)				\
+  do {								\
+    if (!(obj)->objfile)					\
+      {								\
+	PyErr_SetString (PyExc_RuntimeError,			\
+			 _("Objfile no longer exists."));	\
+	return NULL;						\
+      }								\
+  } while (0)
+
 
 
 /* An Objfile method which returns the objfile's file name, or None.  */
+
 static PyObject *
 objfpy_get_filename (PyObject *self, void *closure)
 {
@@ -62,11 +81,85 @@ objfpy_get_filename (PyObject *self, voi
   Py_RETURN_NONE;
 }
 
+/* If SELF is a separate debug-info file, return the "backlink" field.
+   Otherwise return None.  */
+
+static PyObject *
+objfpy_get_owner (PyObject *self, void *closure)
+{
+  objfile_object *obj = (objfile_object *) self;
+  struct objfile *objfile = obj->objfile;
+  struct objfile *owner;
+
+  OBJFPY_REQUIRE_VALID (obj);
+
+  owner = objfile->separate_debug_objfile_backlink;
+  if (owner != NULL)
+    {
+      PyObject *result = objfile_to_objfile_object (owner);
+
+      Py_XINCREF (result);
+      return result;
+    }
+  Py_RETURN_NONE;
+}
+
+/* An Objfile method which returns the objfile's build id, or None.  */
+
+static PyObject *
+objfpy_get_build_id (PyObject *self, void *closure)
+{
+  objfile_object *obj = (objfile_object *) self;
+  struct objfile *objfile = obj->objfile;
+  const struct elf_build_id *build_id = NULL;
+  volatile struct gdb_exception except;
+
+  OBJFPY_REQUIRE_VALID (obj);
+
+  TRY_CATCH (except, RETURN_MASK_ALL)
+    {
+      build_id = build_id_bfd_get (objfile->obfd);
+    }
+  GDB_PY_HANDLE_EXCEPTION (except);
+
+  if (build_id != NULL)
+    {
+      char *hex_form = make_hex_string (build_id->data, build_id->size);
+      PyObject *result;
+
+      result = PyString_Decode (hex_form, strlen (hex_form),
+				host_charset (), NULL);
+      xfree (hex_form);
+      return result;
+    }
+
+  Py_RETURN_NONE;
+}
+
+/* An Objfile method which returns the objfile's progspace, or None.  */
+
+static PyObject *
+objfpy_get_progspace (PyObject *self, void *closure)
+{
+  objfile_object *obj = (objfile_object *) self;
+
+  if (obj->objfile)
+    {
+      PyObject *pspace =  pspace_to_pspace_object (obj->objfile->pspace);
+
+      Py_XINCREF (pspace);
+      return pspace;
+    }
+
+  Py_RETURN_NONE;
+}
+
 static void
 objfpy_dealloc (PyObject *o)
 {
   objfile_object *self = (objfile_object *) o;
 
+  Py_XDECREF (self->dict);
   Py_XDECREF (self->printers);
   Py_XDECREF (self->frame_filters);
   Py_XDECREF (self->type_printers);
@@ -74,6 +167,34 @@ objfpy_dealloc (PyObject *o)
   Py_TYPE (self)->tp_free (self);
 }
 
+/* Initialize an objfile_object.
+   The result is a boolean indicating success.  */
+
+static int
+objfpy_initialize (objfile_object *self)
+{
+  self->objfile = NULL;
+  self->dict = NULL;
+
+  self->printers = PyList_New (0);
+  if (self->printers == NULL)
+    return 0;
+
+  self->frame_filters = PyDict_New ();
+  if (self->frame_filters == NULL)
+    return 0;
+
+  self->type_printers = PyList_New (0);
+  if (self->type_printers == NULL)
+    return 0;
+
+  self->xmethods = PyList_New (0);
+  if (self->xmethods == NULL)
+    return 0;
+
+  return 1;
+}
+
 static PyObject *
 objfpy_new (PyTypeObject *type, PyObject *args, PyObject *keywords)
 {
@@ -81,36 +202,13 @@ objfpy_new (PyTypeObject *type, PyObject
 
   if (self)
     {
-      self->objfile = NULL;
-
-      self->printers = PyList_New (0);
-      if (!self->printers)
-	{
-	  Py_DECREF (self);
-	  return NULL;
-	}
-
-      self->frame_filters = PyDict_New ();
-      if (!self->frame_filters)
-	{
-	  Py_DECREF (self);
-	  return NULL;
-	}
-
-      self->type_printers = PyList_New (0);
-      if (!self->type_printers)
-	{
-	  Py_DECREF (self);
-	  return NULL;
-	}
-
-      self->xmethods = PyList_New (0);
-      if (self->xmethods == NULL)
+      if (!objfpy_initialize (self))
 	{
 	  Py_DECREF (self);
 	  return NULL;
 	}
     }
+
   return (PyObject *) self;
 }
 
@@ -260,6 +358,174 @@ objfpy_is_valid (PyObject *self, PyObjec
   Py_RETURN_TRUE;
 }
 
+/* Implementation of gdb.Objfile.add_separate_debug_file (self) -> Boolean.  */
+
+static PyObject *
+objfpy_add_separate_debug_file (PyObject *self, PyObject *args, PyObject *kw)
+{
+  static char *keywords[] = { "file_name", NULL };
+  objfile_object *obj = (objfile_object *) self;
+  const char *file_name;
+  int symfile_flags = 0;
+  volatile struct gdb_exception except;
+
+  OBJFPY_REQUIRE_VALID (obj);
+
+  if (!PyArg_ParseTupleAndKeywords (args, kw, "s", keywords, &file_name))
+    return NULL;
+
+  TRY_CATCH (except, RETURN_MASK_ALL)
+    {
+      bfd *abfd = symfile_bfd_open (file_name);
+
+      symbol_file_add_separate (abfd, file_name, symfile_flags, obj->objfile);
+    }
+  GDB_PY_HANDLE_EXCEPTION (except);
+
+  Py_RETURN_NONE;
+}
+
+/* Subroutine of gdbpy_lookup_objfile_by_build_id to simplify it.
+   Return non-zero if STRING is a potentially valid build id.  */
+
+static int
+objfpy_build_id_ok (const char *string)
+{
+  size_t i, n = strlen (string);
+
+  if (n % 2 != 0)
+    return 0;
+  for (i = 0; i < n; ++i)
+    {
+      if (!isxdigit (string[i]))
+	return 0;
+    }
+  return 1;
+}
+
+/* Subroutine of gdbpy_lookup_objfile_by_build_id to simplify it.
+   Returns non-zero if BUILD_ID matches STRING.
+   It is assumed that objfpy_build_id_ok (string) returns TRUE.  */
+
+static int
+objfpy_build_id_matches (const struct elf_build_id *build_id,
+			 const char *string)
+{
+  size_t i;
+
+  if (strlen (string) != 2 * build_id->size)
+    return 0;
+
+  for (i = 0; i < build_id->size; ++i)
+    {
+      char c1 = string[i * 2], c2 = string[i * 2 + 1];
+      int byte = (host_hex_value (c1) << 4) | host_hex_value (c2);
+
+      if (byte != build_id->data[i])
+	return 0;
+    }
+
+  return 1;
+}
+
+/* Subroutine of gdbpy_lookup_objfile to simplify it.
+   Look up an objfile by its file name.  */
+
+static struct objfile *
+objfpy_lookup_objfile_by_name (const char *name)
+{
+  struct objfile *objfile;
+
+  ALL_OBJFILES (objfile)
+    {
+      if ((objfile->flags & OBJF_NOT_FILENAME) != 0)
+	continue;
+      /* Don't return separate debug files.  */
+      if (objfile->separate_debug_objfile_backlink != NULL)
+	continue;
+      if (compare_filenames_for_search (objfile_name (objfile), name))
+	return objfile;
+    }
+
+  return NULL;
+}
+
+/* Subroutine of gdbpy_lookup_objfile to simplify it.
+   Look up an objfile by its build id.  */
+
+static struct objfile *
+objfpy_lookup_objfile_by_build_id (const char *build_id)
+{
+  struct objfile *objfile;
+
+  ALL_OBJFILES (objfile)
+    {
+      const struct elf_build_id *obfd_build_id;
+
+      if (objfile->obfd == NULL)
+	continue;
+      /* Don't return separate debug files.  */
+      if (objfile->separate_debug_objfile_backlink != NULL)
+	continue;
+      obfd_build_id = build_id_bfd_get (objfile->obfd);
+      if (obfd_build_id == NULL)
+	continue;
+      if (objfpy_build_id_matches (obfd_build_id, build_id))
+	return objfile;
+    }
+
+  return NULL;
+}
+
+/* Implementation of gdb.lookup_objfile.  */
+
+PyObject *
+gdbpy_lookup_objfile (PyObject *self, PyObject *args, PyObject *kw)
+{
+  static char *keywords[] = { "name", "by_build_id", NULL };
+  const char *name;
+  PyObject *by_build_id_obj = NULL;
+  int by_build_id;
+  struct objfile *objfile;
+
+  if (! PyArg_ParseTupleAndKeywords (args, kw, "s|O!", keywords,
+				     &name, &PyBool_Type, &by_build_id_obj))
+    return NULL;
+
+  by_build_id = 0;
+  if (by_build_id_obj != NULL)
+    {
+      int cmp = PyObject_IsTrue (by_build_id_obj);
+
+      if (cmp < 0)
+	return NULL;
+      by_build_id = cmp;
+    }
+
+  if (by_build_id)
+    {
+      if (!objfpy_build_id_ok (name))
+	{
+	  PyErr_SetString (PyExc_TypeError, _("Not a valid build id."));
+	  return NULL;
+	}
+      objfile = objfpy_lookup_objfile_by_build_id (name);
+    }
+  else
+    objfile = objfpy_lookup_objfile_by_name (name);
+
+  if (objfile != NULL)
+    {
+      PyObject *result = objfile_to_objfile_object (objfile);
+
+      Py_XINCREF (result);
+      return result;
+    }
+
+  PyErr_SetString (PyExc_ValueError, _("Objfile not found."));
+  return NULL;
+}
+
 
 
 /* Clear the OBJFILE pointer in an Objfile object and remove the
@@ -280,6 +546,7 @@ py_free_objfile (struct objfile *objfile
    representing OBJFILE.  If the object has already been created,
    return it.  Otherwise, create it.  Return NULL and set the Python
    error on failure.  */
+
 PyObject *
 objfile_to_objfile_object (struct objfile *objfile)
 {
@@ -291,36 +558,13 @@ objfile_to_objfile_object (struct objfil
       object = PyObject_New (objfile_object, &objfile_object_type);
       if (object)
 	{
-	  object->objfile = objfile;
-
-	  object->printers = PyList_New (0);
-	  if (!object->printers)
-	    {
-	      Py_DECREF (object);
-	      return NULL;
-	    }
-
-	  object->frame_filters = PyDict_New ();
-	  if (!object->frame_filters)
-	    {
-	      Py_DECREF (object);
-	      return NULL;
-	    }
-
-	  object->type_printers = PyList_New (0);
-	  if (!object->type_printers)
-	    {
-	      Py_DECREF (object);
-	      return NULL;
-	    }
-
-	  object->xmethods = PyList_New (0);
-	  if (object->xmethods == NULL)
+	  if (!objfpy_initialize (object))
 	    {
 	      Py_DECREF (object);
 	      return NULL;
 	    }
 
+	  object->objfile = objfile;
 	  set_objfile_data (objfile, objfpy_objfile_data_key, object);
 	}
     }
@@ -349,13 +593,27 @@ static PyMethodDef objfile_object_method
     "is_valid () -> Boolean.\n\
 Return true if this object file is valid, false if not." },
 
+  { "add_separate_debug_file", (PyCFunction) objfpy_add_separate_debug_file,
+    METH_VARARGS | METH_KEYWORDS,
+    "add_separate_debug_file (file_name).\n\
+Add FILE_NAME to the list of files containing debug info for the objfile." },
+
   { NULL }
 };
 
 static PyGetSetDef objfile_getset[] =
 {
+  { "__dict__", gdb_py_generic_dict, NULL,
+    "The __dict__ for this objfile.", &objfile_object_type },
   { "filename", objfpy_get_filename, NULL,
     "The objfile's filename, or None.", NULL },
+  { "owner", objfpy_get_owner, NULL,
+    "The objfile owner of separate debug info objfiles, or None.",
+    NULL },
+  { "build_id", objfpy_get_build_id, NULL,
+    "The objfile's build id, or None.", NULL },
+  { "progspace", objfpy_get_progspace, NULL,
+    "The objfile's progspace, or None.", NULL },
   { "pretty_printers", objfpy_get_printers, objfpy_set_printers,
     "Pretty printers.", NULL },
   { "frame_filters", objfpy_get_frame_filters,
@@ -403,7 +661,7 @@ static PyTypeObject objfile_object_type 
   0,				  /* tp_dict */
   0,				  /* tp_descr_get */
   0,				  /* tp_descr_set */
-  0,				  /* tp_dictoffset */
+  offsetof (objfile_object, dict), /* tp_dictoffset */
   0,				  /* tp_init */
   0,				  /* tp_alloc */
   objfpy_new,			  /* tp_new */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-param.c ./gdb/python/py-param.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-param.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-param.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB parameters implemented in Python
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 
 #include "defs.h"
 #include "value.h"
-#include "exceptions.h"
 #include "python-internal.h"
 #include "charset.h"
 #include "gdbcmd.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-prettyprint.c ./gdb/python/py-prettyprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-prettyprint.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-prettyprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python pretty-printing
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "exceptions.h"
 #include "objfiles.h"
 #include "symtab.h"
 #include "language.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-progspace.c ./gdb/python/py-progspace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-progspace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-progspace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to program spaces.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,6 +32,10 @@ typedef struct
   /* The corresponding pspace.  */
   struct program_space *pspace;
 
+  /* Dictionary holding user-added attributes.
+     This is the __dict__ attribute of the object.  */
+  PyObject *dict;
+
   /* The pretty-printer list of functions.  */
   PyObject *printers;
 
@@ -75,6 +79,7 @@ pspy_dealloc (PyObject *self)
 {
   pspace_object *ps_self = (pspace_object *) self;
 
+  Py_XDECREF (ps_self->dict);
   Py_XDECREF (ps_self->printers);
   Py_XDECREF (ps_self->frame_filters);
   Py_XDECREF (ps_self->type_printers);
@@ -82,6 +87,34 @@ pspy_dealloc (PyObject *self)
   Py_TYPE (self)->tp_free (self);
 }
 
+/* Initialize a pspace_object.
+   The result is a boolean indicating success.  */
+
+static int
+pspy_initialize (pspace_object *self)
+{
+  self->pspace = NULL;
+  self->dict = NULL;
+
+  self->printers = PyList_New (0);
+  if (self->printers == NULL)
+    return 0;
+
+  self->frame_filters = PyDict_New ();
+  if (self->frame_filters == NULL)
+    return 0;
+
+  self->type_printers = PyList_New (0);
+  if (self->type_printers == NULL)
+    return 0;
+
+  self->xmethods = PyList_New (0);
+  if (self->xmethods == NULL)
+    return 0;
+
+  return 1;
+}
+
 static PyObject *
 pspy_new (PyTypeObject *type, PyObject *args, PyObject *keywords)
 {
@@ -89,36 +122,13 @@ pspy_new (PyTypeObject *type, PyObject *
 
   if (self)
     {
-      self->pspace = NULL;
-
-      self->printers = PyList_New (0);
-      if (!self->printers)
-	{
-	  Py_DECREF (self);
-	  return NULL;
-	}
-
-      self->frame_filters = PyDict_New ();
-      if (!self->frame_filters)
-	{
-	  Py_DECREF (self);
-	  return NULL;
-	}
-
-      self->type_printers = PyList_New (0);
-      if (!self->type_printers)
-	{
-	  Py_DECREF (self);
-	  return NULL;
-	}
-
-      self->xmethods = PyList_New (0);
-      if (self->xmethods == NULL)
+      if (!pspy_initialize (self))
 	{
 	  Py_DECREF (self);
 	  return NULL;
 	}
     }
+
   return (PyObject *) self;
 }
 
@@ -296,36 +306,13 @@ pspace_to_pspace_object (struct program_
       object = PyObject_New (pspace_object, &pspace_object_type);
       if (object)
 	{
-	  object->pspace = pspace;
-
-	  object->printers = PyList_New (0);
-	  if (!object->printers)
-	    {
-	      Py_DECREF (object);
-	      return NULL;
-	    }
-
-	  object->frame_filters = PyDict_New ();
-	  if (!object->frame_filters)
-	    {
-	      Py_DECREF (object);
-	      return NULL;
-	    }
-
-	  object->type_printers = PyList_New (0);
-	  if (!object->type_printers)
-	    {
-	      Py_DECREF (object);
-	      return NULL;
-	    }
-
-	  object->xmethods = PyList_New (0);
-	  if (object->xmethods == NULL)
+	  if (!pspy_initialize (object))
 	    {
 	      Py_DECREF (object);
 	      return NULL;
 	    }
 
+	  object->pspace = pspace;
 	  set_program_space_data (pspace, pspy_pspace_data_key, object);
 	}
     }
@@ -350,6 +337,8 @@ gdbpy_initialize_pspace (void)
 
 static PyGetSetDef pspace_getset[] =
 {
+  { "__dict__", gdb_py_generic_dict, NULL,
+    "The __dict__ for this progspace.", &pspace_object_type },
   { "filename", pspy_get_filename, NULL,
     "The progspace's main filename, or None.", NULL },
   { "pretty_printers", pspy_get_printers, pspy_set_printers,
@@ -399,7 +388,7 @@ static PyTypeObject pspace_object_type =
   0,				  /* tp_dict */
   0,				  /* tp_descr_get */
   0,				  /* tp_descr_set */
-  0,				  /* tp_dictoffset */
+  offsetof (pspace_object, dict), /* tp_dictoffset */
   0,				  /* tp_init */
   0,				  /* tp_alloc */
   pspy_new,			  /* tp_new */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-signalevent.c ./gdb/python/py-signalevent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-signalevent.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-signalevent.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior signal stop events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-stopevent.c ./gdb/python/py-stopevent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-stopevent.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-stopevent.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior stop events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-stopevent.h ./gdb/python/py-stopevent.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-stopevent.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-stopevent.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to inferior events.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-symbol.c ./gdb/python/py-symbol.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-symbol.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-symbol.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to symbols.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "block.h"
-#include "exceptions.h"
 #include "frame.h"
 #include "symtab.h"
 #include "python-internal.h"
@@ -88,7 +87,10 @@ sympy_get_symtab (PyObject *self, void *
 
   SYMPY_REQUIRE_VALID (self, symbol);
 
-  return symtab_to_symtab_object (SYMBOL_SYMTAB (symbol));
+  if (!SYMBOL_OBJFILE_OWNED (symbol))
+    Py_RETURN_NONE;
+
+  return symtab_to_symtab_object (symbol_symtab (symbol));
 }
 
 static PyObject *
@@ -291,15 +293,15 @@ set_symbol (symbol_object *obj, struct s
 {
   obj->symbol = symbol;
   obj->prev = NULL;
-  if (SYMBOL_SYMTAB (symbol))
+  if (SYMBOL_OBJFILE_OWNED (symbol)
+      && symbol_symtab (symbol) != NULL)
     {
-      obj->next = objfile_data (SYMBOL_SYMTAB (symbol)->objfile,
-				sympy_objfile_data_key);
+      struct objfile *objfile = symbol_objfile (symbol);
 
+      obj->next = objfile_data (objfile, sympy_objfile_data_key);
       if (obj->next)
 	obj->next->prev = obj;
-      set_objfile_data (SYMBOL_SYMTAB (symbol)->objfile,
-			sympy_objfile_data_key, obj);
+      set_objfile_data (objfile, sympy_objfile_data_key, obj);
     }
   else
     obj->next = NULL;
@@ -335,9 +337,11 @@ sympy_dealloc (PyObject *obj)
 
   if (sym_obj->prev)
     sym_obj->prev->next = sym_obj->next;
-  else if (sym_obj->symbol && SYMBOL_SYMTAB (sym_obj->symbol))
+  else if (sym_obj->symbol != NULL
+	   && SYMBOL_OBJFILE_OWNED (sym_obj->symbol)
+	   && symbol_symtab (sym_obj->symbol) != NULL)
     {
-      set_objfile_data (SYMBOL_SYMTAB (sym_obj->symbol)->objfile,
+      set_objfile_data (symbol_objfile (sym_obj->symbol),
 			sympy_objfile_data_key, sym_obj->next);
     }
   if (sym_obj->next)
@@ -434,7 +438,7 @@ gdbpy_lookup_global_symbol (PyObject *se
 
   TRY_CATCH (except, RETURN_MASK_ALL)
     {
-      symbol = lookup_symbol_global (name, NULL, domain);
+      symbol = lookup_global_symbol (name, NULL, domain);
     }
   GDB_PY_HANDLE_EXCEPTION (except);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-symtab.c ./gdb/python/py-symtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-symtab.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-symtab.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to symbol tables.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -121,11 +121,32 @@ stpy_get_objfile (PyObject *self, void *
 
   STPY_REQUIRE_VALID (self, symtab);
 
-  result = objfile_to_objfile_object (symtab->objfile);
+  result = objfile_to_objfile_object (SYMTAB_OBJFILE (symtab));
   Py_XINCREF (result);
   return result;
 }
 
+/* Getter function for symtab.producer.  */
+
+static PyObject *
+stpy_get_producer (PyObject *self, void *closure)
+{
+  struct symtab *symtab = NULL;
+  struct compunit_symtab *cust;
+
+  STPY_REQUIRE_VALID (self, symtab);
+  cust = SYMTAB_COMPUNIT (symtab);
+  if (COMPUNIT_PRODUCER (cust) != NULL)
+    {
+      const char *producer = COMPUNIT_PRODUCER (cust);
+
+      return PyString_Decode (producer, strlen (producer),
+			      host_charset (), NULL);
+    }
+
+  Py_RETURN_NONE;
+}
+
 static PyObject *
 stpy_fullname (PyObject *self, PyObject *args)
 {
@@ -161,13 +182,13 @@ stpy_global_block (PyObject *self, PyObj
 {
   struct symtab *symtab = NULL;
   struct block *block = NULL;
-  struct blockvector *blockvector;
+  const struct blockvector *blockvector;
 
   STPY_REQUIRE_VALID (self, symtab);
 
-  blockvector = BLOCKVECTOR (symtab);
+  blockvector = SYMTAB_BLOCKVECTOR (symtab);
   block = BLOCKVECTOR_BLOCK (blockvector, GLOBAL_BLOCK);
-  return block_to_block_object (block, symtab->objfile);
+  return block_to_block_object (block, SYMTAB_OBJFILE (symtab));
 }
 
 /* Return the STATIC_BLOCK of the underlying symtab.  */
@@ -177,13 +198,13 @@ stpy_static_block (PyObject *self, PyObj
 {
   struct symtab *symtab = NULL;
   struct block *block = NULL;
-  struct blockvector *blockvector;
+  const struct blockvector *blockvector;
 
   STPY_REQUIRE_VALID (self, symtab);
 
-  blockvector = BLOCKVECTOR (symtab);
+  blockvector = SYMTAB_BLOCKVECTOR (symtab);
   block = BLOCKVECTOR_BLOCK (blockvector, STATIC_BLOCK);
-  return block_to_block_object (block, symtab->objfile);
+  return block_to_block_object (block, SYMTAB_OBJFILE (symtab));
 }
 
 /* Implementation of gdb.Symtab.linetable (self) -> gdb.Linetable.
@@ -233,7 +254,7 @@ stpy_dealloc (PyObject *obj)
     symtab->prev->next = symtab->next;
   else if (symtab->symtab)
     {
-      set_objfile_data (symtab->symtab->objfile,
+      set_objfile_data (SYMTAB_OBJFILE (symtab->symtab),
 			stpy_objfile_data_key, symtab->next);
     }
   if (symtab->next)
@@ -314,7 +335,7 @@ salpy_dealloc (PyObject *self)
   if (self_sal->prev)
     self_sal->prev->next = self_sal->next;
   else if (self_sal->symtab != (symtab_object * ) Py_None)
-    set_objfile_data (self_sal->symtab->symtab->objfile,
+    set_objfile_data (SYMTAB_OBJFILE (self_sal->symtab->symtab),
 		      salpy_objfile_data_key, self_sal->next);
 
   if (self_sal->next)
@@ -358,12 +379,12 @@ set_sal (sal_object *sal_obj, struct sym
      objfile cleanup observer linked list.  */
   if (sal_obj->symtab != (symtab_object *)Py_None)
     {
-      sal_obj->next = objfile_data (sal_obj->symtab->symtab->objfile,
+      sal_obj->next = objfile_data (SYMTAB_OBJFILE (sal_obj->symtab->symtab),
 				    salpy_objfile_data_key);
       if (sal_obj->next)
 	sal_obj->next->prev = sal_obj;
 
-      set_objfile_data (sal_obj->symtab->symtab->objfile,
+      set_objfile_data (SYMTAB_OBJFILE (sal_obj->symtab->symtab),
 			salpy_objfile_data_key, sal_obj);
     }
   else
@@ -384,10 +405,11 @@ set_symtab (symtab_object *obj, struct s
   obj->prev = NULL;
   if (symtab)
     {
-      obj->next = objfile_data (symtab->objfile, stpy_objfile_data_key);
+      obj->next = objfile_data (SYMTAB_OBJFILE (symtab),
+				stpy_objfile_data_key);
       if (obj->next)
 	obj->next->prev = obj;
-      set_objfile_data (symtab->objfile, stpy_objfile_data_key, obj);
+      set_objfile_data (SYMTAB_OBJFILE (symtab), stpy_objfile_data_key, obj);
     }
   else
     obj->next = NULL;
@@ -530,6 +552,8 @@ static PyGetSetDef symtab_object_getset[
     "The symbol table's source filename.", NULL },
   { "objfile", stpy_get_objfile, NULL, "The symtab's objfile.",
     NULL },
+  { "producer", stpy_get_producer, NULL,
+    "The name/version of the program that compiled this symtab.", NULL },
   {NULL}  /* Sentinel */
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/python.c ./gdb/python/python.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/python.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/python.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* General python/gdb code
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,7 +27,6 @@
 #include "objfiles.h"
 #include "value.h"
 #include "language.h"
-#include "exceptions.h"
 #include "event-loop.h"
 #include "serial.h"
 #include "readline/tilde.h"
@@ -86,7 +85,6 @@ const struct extension_language_defn ext
 
 #ifdef HAVE_PYTHON
 
-#include "libiberty.h"
 #include "cli/cli-decode.h"
 #include "charset.h"
 #include "top.h"
@@ -1755,9 +1753,14 @@ message == an error message without a st
       || gdbpy_initialize_signal_event () < 0
       || gdbpy_initialize_breakpoint_event () < 0
       || gdbpy_initialize_continue_event () < 0
+      || gdbpy_initialize_inferior_call_pre_event () < 0
+      || gdbpy_initialize_inferior_call_post_event () < 0
+      || gdbpy_initialize_register_changed_event () < 0
+      || gdbpy_initialize_memory_changed_event () < 0
       || gdbpy_initialize_exited_event () < 0
       || gdbpy_initialize_thread_event () < 0
       || gdbpy_initialize_new_objfile_event ()  < 0
+      || gdbpy_initialize_clear_objfiles_event ()  < 0
       || gdbpy_initialize_arch () < 0
       || gdbpy_initialize_xmethods () < 0)
     goto fail;
@@ -1953,6 +1956,14 @@ a boolean indicating if name is a field 
     METH_VARARGS | METH_KEYWORDS,
     "lookup_global_symbol (name [, domain]) -> symbol\n\
 Return the symbol corresponding to the given name (or None)." },
+
+  { "lookup_objfile", (PyCFunction) gdbpy_lookup_objfile,
+    METH_VARARGS | METH_KEYWORDS,
+    "lookup_objfile (name, [by_build_id]) -> objfile\n\
+Look up the specified objfile.\n\
+If by_build_id is True, the objfile is looked up by using name\n\
+as its build id." },
+
   { "block_for_pc", gdbpy_block_for_pc, METH_VARARGS,
     "Return the block containing the given pc value, or None." },
   { "solib_name", gdbpy_solib_name, METH_VARARGS,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/python.h ./gdb/python/python.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/python.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/python.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python/gdb header for generic use in gdb
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/python-internal.h ./gdb/python/python-internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/python-internal.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/python-internal.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Gdb/Python header for private use by Python module.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -62,8 +62,6 @@
 #define CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION
 #endif
 
-#include <stdio.h>
-
 /* Python 2.4 doesn't include stdint.h soon enough to get {u,}intptr_t
    needed by pyport.h.  */
 #include <stdint.h>
@@ -221,8 +219,6 @@ gdb_PyObject_HasAttrString (PyObject *ob
 #include "command.h"
 #include "breakpoint.h"
 
-#include "exceptions.h"
-
 enum gdbpy_iter_kind { iter_keys, iter_values, iter_items };
 
 struct block;
@@ -367,6 +363,7 @@ PyObject *gdbpy_create_lazy_string_objec
 					   const char *encoding,
 					   struct type *type);
 PyObject *gdbpy_inferiors (PyObject *unused, PyObject *unused2);
+PyObject *gdbpy_create_ptid_object (ptid_t ptid);
 PyObject *gdbpy_selected_thread (PyObject *self, PyObject *args);
 PyObject *gdbpy_selected_inferior (PyObject *self, PyObject *args);
 PyObject *gdbpy_string_to_argv (PyObject *self, PyObject *args);
@@ -396,6 +393,7 @@ PyObject *objfile_to_objfile_object (str
 PyObject *objfpy_get_printers (PyObject *, void *);
 PyObject *objfpy_get_frame_filters (PyObject *, void *);
 PyObject *objfpy_get_xmethods (PyObject *, void *);
+PyObject *gdbpy_lookup_objfile (PyObject *self, PyObject *args, PyObject *kw);
 
 PyObject *gdbarch_to_arch_object (struct gdbarch *gdbarch);
 
@@ -468,12 +466,22 @@ int gdbpy_initialize_breakpoint_event (v
   CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
 int gdbpy_initialize_continue_event (void)
   CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
+int gdbpy_initialize_inferior_call_pre_event (void)
+  CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
+int gdbpy_initialize_inferior_call_post_event (void)
+  CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
+int gdbpy_initialize_register_changed_event (void)
+  CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
+int gdbpy_initialize_memory_changed_event (void)
+  CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
 int gdbpy_initialize_exited_event (void)
   CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
 int gdbpy_initialize_thread_event (void)
   CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
 int gdbpy_initialize_new_objfile_event (void)
   CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
+int gdbpy_initialize_clear_objfiles_event (void)
+  CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
 int gdbpy_initialize_arch (void)
   CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
 int gdbpy_initialize_xmethods (void)
@@ -568,4 +576,9 @@ int gdb_pymodule_addobject (PyObject *mo
 			    PyObject *object)
   CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
 
+struct varobj_iter;
+struct varobj;
+struct varobj_iter *py_varobj_get_iterator (struct varobj *var,
+					    PyObject *printer);
+
 #endif /* GDB_PYTHON_INTERNAL_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-threadevent.c ./gdb/python/py-threadevent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-threadevent.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-threadevent.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-type.c ./gdb/python/py-type.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-type.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-type.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to types.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "value.h"
-#include "exceptions.h"
 #include "python-internal.h"
 #include "charset.h"
 #include "gdbtypes.h"
@@ -233,7 +232,7 @@ convert_field (struct type *type, int fi
     goto failarg;
   Py_DECREF (arg);
 
-  if (TYPE_CODE (type) == TYPE_CODE_CLASS)
+  if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
     arg = field < TYPE_N_BASECLASSES (type) ? Py_True : Py_False;
   else
     arg = Py_False;
@@ -529,7 +528,7 @@ typy_array_1 (PyObject *self, PyObject *
       n1 = 0;
     }
 
-  if (n2 < n1)
+  if (n2 < n1 - 1) /* Note: An empty array has n2 == n1 - 1.  */
     {
       PyErr_SetString (PyExc_ValueError,
 		       _("Array length must not be negative"));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-utils.c ./gdb/python/py-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-utils.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-utils.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* General utility routines for GDB/Python.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-value.c ./gdb/python/py-value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-value.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-value.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Python interface to values.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,10 +18,8 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "gdb_assert.h"
 #include "charset.h"
 #include "value.h"
-#include "exceptions.h"
 #include "language.h"
 #include "dfp.h"
 #include "valprint.h"
@@ -304,7 +302,7 @@ valpy_get_dynamic_type (PyObject *self, 
 
       if (((TYPE_CODE (type) == TYPE_CODE_PTR)
 	   || (TYPE_CODE (type) == TYPE_CODE_REF))
-	  && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_CLASS))
+	  && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_STRUCT))
 	{
 	  struct value *target;
 	  int was_pointer = TYPE_CODE (type) == TYPE_CODE_PTR;
@@ -323,7 +321,7 @@ valpy_get_dynamic_type (PyObject *self, 
 		type = lookup_reference_type (type);
 	    }
 	}
-      else if (TYPE_CODE (type) == TYPE_CODE_CLASS)
+      else if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
 	type = value_rtti_type (val, NULL, NULL, NULL);
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-varobj.c ./gdb/python/py-varobj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-varobj.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/python/py-varobj.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,204 @@
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "python-internal.h"
+#include "varobj.h"
+#include "varobj-iter.h"
+
+/* A dynamic varobj iterator "class" for python pretty-printed
+   varobjs.  This inherits struct varobj_iter.  */
+
+struct py_varobj_iter
+{
+  /* The 'base class'.  */
+  struct varobj_iter base;
+
+  /* The python iterator returned by the printer's 'children' method,
+     or NULL if not available.  */
+  PyObject *iter;
+};
+
+/* Implementation of the 'dtor' method of pretty-printed varobj
+   iterators.  */
+
+static void
+py_varobj_iter_dtor (struct varobj_iter *self)
+{
+  struct py_varobj_iter *dis = (struct py_varobj_iter *) self;
+  struct cleanup *back_to = varobj_ensure_python_env (self->var);
+
+  Py_XDECREF (dis->iter);
+
+  do_cleanups (back_to);
+}
+
+/* Implementation of the 'next' method of pretty-printed varobj
+   iterators.  */
+
+static varobj_item *
+py_varobj_iter_next (struct varobj_iter *self)
+{
+  struct py_varobj_iter *t = (struct py_varobj_iter *) self;
+  struct cleanup *back_to;
+  PyObject *item;
+  PyObject *py_v;
+  varobj_item *vitem;
+  const char *name = NULL;
+
+  if (!gdb_python_initialized)
+    return NULL;
+
+  back_to = varobj_ensure_python_env (self->var);
+
+  item = PyIter_Next (t->iter);
+
+  if (item == NULL)
+    {
+      /* Normal end of iteration.  */
+      if (!PyErr_Occurred ())
+	return NULL;
+
+      /* If we got a memory error, just use the text as the item.  */
+      if (PyErr_ExceptionMatches (gdbpy_gdb_memory_error))
+	{
+	  PyObject *type, *value, *trace;
+	  char *name_str, *value_str;
+
+	  PyErr_Fetch (&type, &value, &trace);
+	  value_str = gdbpy_exception_to_string (type, value);
+	  Py_XDECREF (type);
+	  Py_XDECREF (value);
+	  Py_XDECREF (trace);
+	  if (value_str == NULL)
+	    {
+	      gdbpy_print_stack ();
+	      return NULL;
+	    }
+
+	  name_str = xstrprintf ("<error at %d>",
+				 self->next_raw_index++);
+	  item = Py_BuildValue ("(ss)", name_str, value_str);
+	  xfree (name_str);
+	  xfree (value_str);
+	  if (item == NULL)
+	    {
+	      gdbpy_print_stack ();
+	      return NULL;
+	    }
+	}
+      else
+	{
+	  /* Any other kind of error.  */
+	  gdbpy_print_stack ();
+	  return NULL;
+	}
+    }
+
+  if (!PyArg_ParseTuple (item, "sO", &name, &py_v))
+    {
+      gdbpy_print_stack ();
+      error (_("Invalid item from the child list"));
+    }
+
+  vitem = xmalloc (sizeof *vitem);
+  vitem->value = convert_value_from_python (py_v);
+  if (vitem->value == NULL)
+    gdbpy_print_stack ();
+  vitem->name = xstrdup (name);
+
+  self->next_raw_index++;
+  do_cleanups (back_to);
+  return vitem;
+}
+
+/* The 'vtable' of pretty-printed python varobj iterators.  */
+
+static const struct varobj_iter_ops py_varobj_iter_ops =
+{
+  py_varobj_iter_dtor,
+  py_varobj_iter_next
+};
+
+/* Constructor of pretty-printed varobj iterators.  VAR is the varobj
+   whose children the iterator will be iterating over.  PYITER is the
+   python iterator actually responsible for the iteration.  */
+
+static void CPYCHECKER_STEALS_REFERENCE_TO_ARG (3)
+py_varobj_iter_ctor (struct py_varobj_iter *self,
+		      struct varobj *var, PyObject *pyiter)
+{
+  self->base.var = var;
+  self->base.ops = &py_varobj_iter_ops;
+  self->base.next_raw_index = 0;
+  self->iter = pyiter;
+}
+
+/* Allocate and construct a pretty-printed varobj iterator.  VAR is
+   the varobj whose children the iterator will be iterating over.
+   PYITER is the python iterator actually responsible for the
+   iteration.  */
+
+static struct py_varobj_iter * CPYCHECKER_STEALS_REFERENCE_TO_ARG (2)
+py_varobj_iter_new (struct varobj *var, PyObject *pyiter)
+{
+  struct py_varobj_iter *self;
+
+  self = XNEW (struct py_varobj_iter);
+  py_varobj_iter_ctor (self, var, pyiter);
+  return self;
+}
+
+/* Return a new pretty-printed varobj iterator suitable to iterate
+   over VAR's children.  */
+
+struct varobj_iter *
+py_varobj_get_iterator (struct varobj *var, PyObject *printer)
+{
+  PyObject *children;
+  int i;
+  PyObject *iter;
+  struct py_varobj_iter *py_iter;
+  struct cleanup *back_to = varobj_ensure_python_env (var);
+
+  if (!PyObject_HasAttr (printer, gdbpy_children_cst))
+    {
+      do_cleanups (back_to);
+      return NULL;
+    }
+
+  children = PyObject_CallMethodObjArgs (printer, gdbpy_children_cst,
+					 NULL);
+  if (children == NULL)
+    {
+      gdbpy_print_stack ();
+      error (_("Null value returned for children"));
+    }
+
+  make_cleanup_py_decref (children);
+
+  iter = PyObject_GetIter (children);
+  if (iter == NULL)
+    {
+      gdbpy_print_stack ();
+      error (_("Could not get children iterator"));
+    }
+
+  py_iter = py_varobj_iter_new (var, iter);
+
+  do_cleanups (back_to);
+
+  return &py_iter->base;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-xmethods.c ./gdb/python/py-xmethods.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/python/py-xmethods.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/python/py-xmethods.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support for debug methods in Python.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ravenscar-thread.c ./gdb/ravenscar-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ravenscar-thread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ravenscar-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ada Ravenscar thread support.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,7 +26,6 @@
 #include "command.h"
 #include "ravenscar-thread.h"
 #include "observer.h"
-#include <string.h>
 #include "gdbcmd.h"
 #include "top.h"
 #include "regcache.h"
@@ -53,7 +52,7 @@ static const char first_task_name[] = "s
 static const char ravenscar_runtime_initializer[] =
   "system__bb__threads__initialize";
 
-static void ravenscar_find_new_threads (struct target_ops *ops);
+static void ravenscar_update_thread_list (struct target_ops *ops);
 static ptid_t ravenscar_running_thread (void);
 static char *ravenscar_extra_thread_info (struct target_ops *self,
 					  struct thread_info *tp);
@@ -92,7 +91,7 @@ ravenscar_update_inferior_ptid (void)
   gdb_assert (!ptid_equal (inferior_ptid, null_ptid));
 
   /* The running thread may not have been added to
-     system.tasking.debug's list yet; so ravenscar_find_new_threads
+     system.tasking.debug's list yet; so ravenscar_update_thread_list
      may not always add it to the thread list.  Add it here.  */
   if (!find_thread_ptid (inferior_ptid))
     add_thread (inferior_ptid);
@@ -202,7 +201,7 @@ ravenscar_wait (struct target_ops *ops, 
   if (status->kind != TARGET_WAITKIND_EXITED
       && status->kind != TARGET_WAITKIND_SIGNALLED)
     {
-      ravenscar_find_new_threads (ops);
+      ravenscar_update_thread_list (ops);
       ravenscar_update_inferior_ptid ();
     }
   return inferior_ptid;
@@ -219,7 +218,7 @@ ravenscar_add_thread (struct ada_task_in
 }
 
 static void
-ravenscar_find_new_threads (struct target_ops *ops)
+ravenscar_update_thread_list (struct target_ops *ops)
 {
   ada_build_task_list ();
 
@@ -308,7 +307,7 @@ static void
 ravenscar_prepare_to_store (struct target_ops *self,
 			    struct regcache *regcache)
 {
-  struct target_ops *beneath = find_target_beneath (&ravenscar_ops);
+  struct target_ops *beneath = find_target_beneath (self);
 
   if (!ravenscar_runtime_initialized ()
       || ptid_equal (inferior_ptid, base_magic_null_ptid)
@@ -327,7 +326,7 @@ ravenscar_prepare_to_store (struct targe
 static void
 ravenscar_mourn_inferior (struct target_ops *ops)
 {
-  struct target_ops *beneath = find_target_beneath (&ravenscar_ops);
+  struct target_ops *beneath = find_target_beneath (ops);
 
   base_ptid = null_ptid;
   beneath->to_mourn_inferior (beneath);
@@ -369,7 +368,7 @@ init_ravenscar_thread_ops (void)
   ravenscar_ops.to_store_registers = ravenscar_store_registers;
   ravenscar_ops.to_prepare_to_store = ravenscar_prepare_to_store;
   ravenscar_ops.to_thread_alive = ravenscar_thread_alive;
-  ravenscar_ops.to_find_new_threads = ravenscar_find_new_threads;
+  ravenscar_ops.to_update_thread_list = ravenscar_update_thread_list;
   ravenscar_ops.to_pid_to_str = ravenscar_pid_to_str;
   ravenscar_ops.to_extra_thread_info = ravenscar_extra_thread_info;
   ravenscar_ops.to_get_ada_task_ptid = ravenscar_get_ada_task_ptid;
@@ -394,7 +393,7 @@ set_ravenscar_command (char *arg, int fr
 {
   printf_unfiltered (_(\
 "\"set ravenscar\" must be followed by the name of a setting.\n"));
-  help_list (set_ravenscar_list, "set ravenscar ", -1, gdb_stdout);
+  help_list (set_ravenscar_list, "set ravenscar ", all_commands, gdb_stdout);
 }
 
 /* Implement the "show ravenscar" prefix command.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ravenscar-thread.h ./gdb/ravenscar-thread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ravenscar-thread.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ravenscar-thread.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ada Ravenscar thread support.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record-btrace.c ./gdb/record-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record-btrace.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/record-btrace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Branch trace support for GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
@@ -26,7 +26,6 @@
 #include "gdbcmd.h"
 #include "disasm.h"
 #include "observer.h"
-#include "exceptions.h"
 #include "cli/cli-utils.h"
 #include "source.h"
 #include "ui-out.h"
@@ -68,6 +67,9 @@ static enum exec_direction_kind record_b
 /* The async event handler for reverse/replay execution.  */
 static struct async_event_handler *record_btrace_async_inferior_event_handler;
 
+/* A flag indicating that we are currently generating a core file.  */
+static int record_btrace_generating_corefile;
+
 /* Print a record-btrace debug message.  Use do ... while (0) to avoid
    ambiguities when used in if statements.  */
 
@@ -185,7 +187,7 @@ record_btrace_handle_async_inferior_even
 /* The to_open method of target record-btrace.  */
 
 static void
-record_btrace_open (char *args, int from_tty)
+record_btrace_open (const char *args, int from_tty)
 {
   struct cleanup *disable_chain;
   struct thread_info *tp;
@@ -221,6 +223,7 @@ record_btrace_open (char *args, int from
   record_btrace_async_inferior_event_handler
     = create_async_event_handler (record_btrace_handle_async_inferior_event,
 				  NULL);
+  record_btrace_generating_corefile = 0;
 
   observer_notify_record_changed (current_inferior (),  1);
 
@@ -553,7 +556,7 @@ btrace_call_history_src_line (struct ui_
     return;
 
   ui_out_field_string (uiout, "file",
-		       symtab_to_filename_for_display (sym->symtab));
+		       symtab_to_filename_for_display (symbol_symtab (sym)));
 
   begin = bfun->lbegin;
   end = bfun->lend;
@@ -854,6 +857,7 @@ record_btrace_xfer_partial (struct targe
 
   /* Filter out requests that don't make sense during replay.  */
   if (replay_memory_access == replay_memory_access_read_only
+      && !record_btrace_generating_corefile
       && record_btrace_is_replaying (ops))
     {
       switch (object)
@@ -891,13 +895,9 @@ record_btrace_xfer_partial (struct targe
     }
 
   /* Forward the request.  */
-  for (ops = ops->beneath; ops != NULL; ops = ops->beneath)
-    if (ops->to_xfer_partial != NULL)
-      return ops->to_xfer_partial (ops, object, annex, readbuf, writebuf,
-				   offset, len, xfered_len);
-
-  *xfered_len = len;
-  return TARGET_XFER_UNAVAILABLE;
+  ops = ops->beneath;
+  return ops->to_xfer_partial (ops, object, annex, readbuf, writebuf,
+			       offset, len, xfered_len);
 }
 
 /* The to_insert_breakpoint method of target record-btrace.  */
@@ -969,7 +969,7 @@ record_btrace_fetch_registers (struct ta
   gdb_assert (tp != NULL);
 
   replay = tp->btrace.replay;
-  if (replay != NULL)
+  if (replay != NULL && !record_btrace_generating_corefile)
     {
       const struct btrace_insn *insn;
       struct gdbarch *gdbarch;
@@ -991,14 +991,9 @@ record_btrace_fetch_registers (struct ta
     }
   else
     {
-      struct target_ops *t;
+      struct target_ops *t = ops->beneath;
 
-      for (t = ops->beneath; t != NULL; t = t->beneath)
-	if (t->to_fetch_registers != NULL)
-	  {
-	    t->to_fetch_registers (t, regcache, regno);
-	    break;
-	  }
+      t->to_fetch_registers (t, regcache, regno);
     }
 }
 
@@ -1010,19 +1005,13 @@ record_btrace_store_registers (struct ta
 {
   struct target_ops *t;
 
-  if (record_btrace_is_replaying (ops))
+  if (!record_btrace_generating_corefile && record_btrace_is_replaying (ops))
     error (_("This record target does not allow writing registers."));
 
   gdb_assert (may_write_registers != 0);
 
-  for (t = ops->beneath; t != NULL; t = t->beneath)
-    if (t->to_store_registers != NULL)
-      {
-	t->to_store_registers (t, regcache, regno);
-	return;
-      }
-
-  noprocess ();
+  t = ops->beneath;
+  t->to_store_registers (t, regcache, regno);
 }
 
 /* The to_prepare_to_store method of target record-btrace.  */
@@ -1033,15 +1022,11 @@ record_btrace_prepare_to_store (struct t
 {
   struct target_ops *t;
 
-  if (record_btrace_is_replaying (ops))
+  if (!record_btrace_generating_corefile && record_btrace_is_replaying (ops))
     return;
 
-  for (t = ops->beneath; t != NULL; t = t->beneath)
-    if (t->to_prepare_to_store != NULL)
-      {
-	t->to_prepare_to_store (t, regcache);
-	return;
-      }
+  t = ops->beneath;
+  t->to_prepare_to_store (t, regcache);
 }
 
 /* The branch trace frame cache.  */
@@ -1528,11 +1513,8 @@ record_btrace_resume (struct target_ops 
   /* As long as we're not replaying, just forward the request.  */
   if (!record_btrace_is_replaying (ops) && execution_direction != EXEC_REVERSE)
     {
-      for (ops = ops->beneath; ops != NULL; ops = ops->beneath)
-	if (ops->to_resume != NULL)
-	  return ops->to_resume (ops, ptid, step, signal);
-
-      error (_("Cannot find target for stepping."));
+      ops = ops->beneath;
+      return ops->to_resume (ops, ptid, step, signal);
     }
 
   /* Compute the btrace thread flag for the requested move.  */
@@ -1680,7 +1662,7 @@ record_btrace_step_thread (struct thread
       if (replay == NULL)
 	return btrace_step_no_history ();
 
-      inf = find_inferior_pid (ptid_get_pid (tp->ptid));
+      inf = find_inferior_ptid (tp->ptid);
       aspace = inf->aspace;
 
       /* Determine the end of the instruction trace.  */
@@ -1717,7 +1699,7 @@ record_btrace_step_thread (struct thread
       if (replay == NULL)
 	replay = record_btrace_start_replaying (tp);
 
-      inf = find_inferior_pid (ptid_get_pid (tp->ptid));
+      inf = find_inferior_ptid (tp->ptid);
       aspace = inf->aspace;
 
       for (;;)
@@ -1755,11 +1737,8 @@ record_btrace_wait (struct target_ops *o
   /* As long as we're not replaying, just forward the request.  */
   if (!record_btrace_is_replaying (ops) && execution_direction != EXEC_REVERSE)
     {
-      for (ops = ops->beneath; ops != NULL; ops = ops->beneath)
-	if (ops->to_wait != NULL)
-	  return ops->to_wait (ops, ptid, status, options);
-
-      error (_("Cannot find target for waiting."));
+      ops = ops->beneath;
+      return ops->to_wait (ops, ptid, status, options);
     }
 
   /* Let's find a thread to move.  */
@@ -1811,22 +1790,18 @@ record_btrace_decr_pc_after_break (struc
   return ops->beneath->to_decr_pc_after_break (ops->beneath, gdbarch);
 }
 
-/* The to_find_new_threads method of target record-btrace.  */
+/* The to_update_thread_list method of target record-btrace.  */
 
 static void
-record_btrace_find_new_threads (struct target_ops *ops)
+record_btrace_update_thread_list (struct target_ops *ops)
 {
-  /* Don't expect new threads if we're replaying.  */
+  /* We don't add or remove threads during replay.  */
   if (record_btrace_is_replaying (ops))
     return;
 
   /* Forward the request.  */
-  for (ops = ops->beneath; ops != NULL; ops = ops->beneath)
-    if (ops->to_find_new_threads != NULL)
-      {
-	ops->to_find_new_threads (ops);
-	break;
-      }
+  ops = ops->beneath;
+  ops->to_update_thread_list (ops);
 }
 
 /* The to_thread_alive method of target record-btrace.  */
@@ -1839,11 +1814,8 @@ record_btrace_thread_alive (struct targe
     return find_thread_ptid (ptid) != NULL;
 
   /* Forward the request.  */
-  for (ops = ops->beneath; ops != NULL; ops = ops->beneath)
-    if (ops->to_thread_alive != NULL)
-      return ops->to_thread_alive (ops, ptid);
-
-  return 0;
+  ops = ops->beneath;
+  return ops->to_thread_alive (ops, ptid);
 }
 
 /* Set the replay branch trace instruction iterator.  If IT is NULL, replay
@@ -1939,6 +1911,22 @@ record_btrace_execution_direction (struc
   return record_btrace_resume_exec_dir;
 }
 
+/* The to_prepare_to_generate_core target method.  */
+
+static void
+record_btrace_prepare_to_generate_core (struct target_ops *self)
+{
+  record_btrace_generating_corefile = 1;
+}
+
+/* The to_done_generating_core target method.  */
+
+static void
+record_btrace_done_generating_core (struct target_ops *self)
+{
+  record_btrace_generating_corefile = 0;
+}
+
 /* Initialize the record-btrace target ops.  */
 
 static void
@@ -1975,7 +1963,7 @@ init_record_btrace_ops (void)
   ops->to_get_tailcall_unwinder = &record_btrace_to_get_tailcall_unwinder;
   ops->to_resume = record_btrace_resume;
   ops->to_wait = record_btrace_wait;
-  ops->to_find_new_threads = record_btrace_find_new_threads;
+  ops->to_update_thread_list = record_btrace_update_thread_list;
   ops->to_thread_alive = record_btrace_thread_alive;
   ops->to_goto_record_begin = record_btrace_goto_begin;
   ops->to_goto_record_end = record_btrace_goto_end;
@@ -1983,6 +1971,8 @@ init_record_btrace_ops (void)
   ops->to_can_execute_reverse = record_btrace_can_execute_reverse;
   ops->to_decr_pc_after_break = record_btrace_decr_pc_after_break;
   ops->to_execution_direction = record_btrace_execution_direction;
+  ops->to_prepare_to_generate_core = record_btrace_prepare_to_generate_core;
+  ops->to_done_generating_core = record_btrace_done_generating_core;
   ops->to_stratum = record_stratum;
   ops->to_magic = OPS_MAGIC;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record.c ./gdb/record.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/record.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Process record and replay target for GDB, the GNU debugger.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -130,7 +130,7 @@ record_unpush (struct target_ops *t)
 /* See record.h.  */
 
 void
-record_disconnect (struct target_ops *t, char *args, int from_tty)
+record_disconnect (struct target_ops *t, const char *args, int from_tty)
 {
   gdb_assert (t->to_stratum == record_stratum);
 
@@ -285,8 +285,7 @@ info_record_command (char *args, int fro
     }
 
   printf_filtered (_("Active record target: %s\n"), t->to_shortname);
-  if (t->to_info_record != NULL)
-    t->to_info_record (t);
+  t->to_info_record (t);
 }
 
 /* The "record save" command.  */
@@ -311,13 +310,10 @@ cmd_record_save (char *args, int from_tt
   target_save_record (recfilename);
 }
 
-/* "record goto" command.  Argument is an instruction number,
-   as given by "info record".
-
-   Rewinds the recording (forward or backward) to the given instruction.  */
+/* See record.h.  */
 
 void
-cmd_record_goto (char *arg, int from_tty)
+record_goto (const char *arg)
 {
   ULONGEST insn;
 
@@ -330,6 +326,17 @@ cmd_record_goto (char *arg, int from_tty
   target_goto_record (insn);
 }
 
+/* "record goto" command.  Argument is an instruction number,
+   as given by "info record".
+
+   Rewinds the recording (forward or backward) to the given instruction.  */
+
+static void
+cmd_record_goto (char *arg, int from_tty)
+{
+  record_goto (arg);
+}
+
 /* The "record goto begin" command.  */
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record-full.c ./gdb/record-full.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record-full.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/record-full.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Process record and replay target for GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,7 +22,6 @@
 #include "regcache.h"
 #include "gdbthread.h"
 #include "event-top.h"
-#include "exceptions.h"
 #include "completer.h"
 #include "arch-utils.h"
 #include "gdbcore.h"
@@ -792,7 +791,7 @@ record_full_async_inferior_event_handler
 /* Open the process record target.  */
 
 static void
-record_full_core_open_1 (char *name, int from_tty)
+record_full_core_open_1 (const char *name, int from_tty)
 {
   struct regcache *regcache = get_current_regcache ();
   int regnum = gdbarch_num_regs (get_regcache_arch (regcache));
@@ -822,7 +821,7 @@ record_full_core_open_1 (char *name, int
 /* "to_open" target method for 'live' processes.  */
 
 static void
-record_full_open_1 (char *name, int from_tty)
+record_full_open_1 (const char *name, int from_tty)
 {
   if (record_debug)
     fprintf_unfiltered (gdb_stdlog, "Process record: record_full_open\n");
@@ -846,7 +845,7 @@ static void record_full_init_record_brea
 /* "to_open" target method.  Open the process record target.  */
 
 static void
-record_full_open (char *name, int from_tty)
+record_full_open (const char *name, int from_tty)
 {
   struct target_ops *t;
 
@@ -961,7 +960,7 @@ record_full_resume (struct target_ops *o
           else
             {
               /* This arch support soft sigle step.  */
-              if (single_step_breakpoints_inserted ())
+              if (thread_has_single_step_breakpoints_set (inferior_thread ()))
                 {
                   /* This is a soft single step.  */
                   record_full_resume_step = 1;
@@ -1085,6 +1084,8 @@ record_full_wait_1 (struct target_ops *o
 
 	  while (1)
 	    {
+	      struct thread_info *tp;
+
 	      ret = ops->beneath->to_wait (ops->beneath, ptid, status, options);
 	      if (status->kind == TARGET_WAITKIND_IGNORE)
 		{
@@ -1095,8 +1096,8 @@ record_full_wait_1 (struct target_ops *o
 		  return ret;
 		}
 
-              if (single_step_breakpoints_inserted ())
-                remove_single_step_breakpoints ();
+	      ALL_NON_EXITED_THREADS (tp)
+                delete_single_step_breakpoints (tp);
 
 	      if (record_full_resume_step)
 		return ret;
@@ -1703,7 +1704,8 @@ record_full_can_execute_reverse (struct 
 /* "to_get_bookmark" method for process record and prec over core.  */
 
 static gdb_byte *
-record_full_get_bookmark (struct target_ops *self, char *args, int from_tty)
+record_full_get_bookmark (struct target_ops *self, const char *args,
+			  int from_tty)
 {
   char *ret = NULL;
 
@@ -1727,9 +1729,10 @@ record_full_get_bookmark (struct target_
 
 static void
 record_full_goto_bookmark (struct target_ops *self,
-			   gdb_byte *raw_bookmark, int from_tty)
+			   const gdb_byte *raw_bookmark, int from_tty)
 {
-  char *bookmark = (char *) raw_bookmark;
+  const char *bookmark = (const char *) raw_bookmark;
+  struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
 
   if (record_debug)
     fprintf_unfiltered (gdb_stdlog,
@@ -1737,18 +1740,20 @@ record_full_goto_bookmark (struct target
 
   if (bookmark[0] == '\'' || bookmark[0] == '\"')
     {
+      char *copy;
+
       if (bookmark[strlen (bookmark) - 1] != bookmark[0])
 	error (_("Unbalanced quotes: %s"), bookmark);
 
-      /* Strip trailing quote.  */
-      bookmark[strlen (bookmark) - 1] = '\0';
-      /* Strip leading quote.  */
-      bookmark++;
-      /* Pass along to cmd_record_full_goto.  */
+
+      copy = savestring (bookmark + 1, strlen (bookmark) - 2);
+      make_cleanup (xfree, copy);
+      bookmark = copy;
     }
 
-  cmd_record_goto (bookmark, from_tty);
-  return;
+  record_goto (bookmark);
+
+  do_cleanups (cleanup);
 }
 
 static enum exec_direction_kind
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record-full.h ./gdb/record-full.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record-full.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/record-full.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Process record and replay target for GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record.h ./gdb/record.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/record.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/record.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Process record and replay target for GDB, the GNU debugger.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -53,11 +53,11 @@ extern int record_read_memory (struct gd
 			       CORE_ADDR memaddr, gdb_byte *myaddr,
 			       ssize_t len);
 
-/* The "record goto" command.  */
-extern void cmd_record_goto (char *arg, int from_tty);
+/* A wrapper for target_goto_record that parses ARG as a number.  */
+extern void record_goto (const char *arg);
 
 /* The default "to_disconnect" target method for record targets.  */
-extern void record_disconnect (struct target_ops *, char *, int);
+extern void record_disconnect (struct target_ops *, const char *, int);
 
 /* The default "to_detach" target method for record targets.  */
 extern void record_detach (struct target_ops *, const char *, int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regcache.c ./gdb/regcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regcache.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regcache.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Cache and manage the values of registers for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,12 +24,10 @@
 #include "gdbcmd.h"
 #include "regcache.h"
 #include "reggroups.h"
-#include "gdb_assert.h"
-#include <string.h>
 #include "observer.h"
-#include "exceptions.h"
 #include "remote.h"
 #include "valprint.h"
+#include "regset.h"
 
 /*
  * DATA STRUCTURE
@@ -267,6 +265,32 @@ make_cleanup_regcache_xfree (struct regc
   return make_cleanup (do_regcache_xfree, regcache);
 }
 
+/* Cleanup routines for invalidating a register.  */
+
+struct register_to_invalidate
+{
+  struct regcache *regcache;
+  int regnum;
+};
+
+static void
+do_regcache_invalidate (void *data)
+{
+  struct register_to_invalidate *reg = data;
+
+  regcache_invalidate (reg->regcache, reg->regnum);
+}
+
+static struct cleanup *
+make_cleanup_regcache_invalidate (struct regcache *regcache, int regnum)
+{
+  struct register_to_invalidate* reg = XNEW (struct register_to_invalidate);
+
+  reg->regcache = regcache;
+  reg->regnum = regnum;
+  return make_cleanup_dtor (do_regcache_invalidate, (void *) reg, xfree);
+}
+
 /* Return REGCACHE's architecture.  */
 
 struct gdbarch *
@@ -511,6 +535,13 @@ get_current_regcache (void)
   return get_thread_regcache (inferior_ptid);
 }
 
+/* See common/common-regcache.h.  */
+
+struct regcache *
+get_thread_regcache_for_ptid (ptid_t ptid)
+{
+  return get_thread_regcache (ptid);
+}
 
 /* Observer for the target_changed event.  */
 
@@ -846,7 +877,8 @@ void
 regcache_raw_write (struct regcache *regcache, int regnum,
 		    const gdb_byte *buf)
 {
-  struct cleanup *old_chain;
+  struct cleanup *chain_before_save_inferior;
+  struct cleanup *chain_before_invalidate_register;
 
   gdb_assert (regcache != NULL && buf != NULL);
   gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_raw_registers);
@@ -864,16 +896,26 @@ regcache_raw_write (struct regcache *reg
 		  regcache->descr->sizeof_register[regnum]) == 0))
     return;
 
-  old_chain = save_inferior_ptid ();
+  chain_before_save_inferior = save_inferior_ptid ();
   inferior_ptid = regcache->ptid;
 
   target_prepare_to_store (regcache);
   memcpy (register_buffer (regcache, regnum), buf,
 	  regcache->descr->sizeof_register[regnum]);
   regcache->register_status[regnum] = REG_VALID;
+
+  /* Register a cleanup function for invalidating the register after it is
+     written, in case of a failure.  */
+  chain_before_invalidate_register
+    = make_cleanup_regcache_invalidate (regcache, regnum);
+
   target_store_registers (regcache, regnum);
 
-  do_cleanups (old_chain);
+  /* The target did not throw an error so we can discard invalidating the
+     register and restore the cleanup chain to what it was.  */
+  discard_cleanups (chain_before_invalidate_register);
+
+  do_cleanups (chain_before_save_inferior);
 }
 
 void
@@ -1031,6 +1073,92 @@ regcache_raw_collect (const struct regca
   memcpy (buf, regbuf, size);
 }
 
+/* Transfer a single or all registers belonging to a certain register
+   set to or from a buffer.  This is the main worker function for
+   regcache_supply_regset and regcache_collect_regset.  */
+
+static void
+regcache_transfer_regset (const struct regset *regset,
+			  const struct regcache *regcache,
+			  struct regcache *out_regcache,
+			  int regnum, const void *in_buf,
+			  void *out_buf, size_t size)
+{
+  const struct regcache_map_entry *map;
+  int offs = 0, count;
+
+  for (map = regset->regmap; (count = map->count) != 0; map++)
+    {
+      int regno = map->regno;
+      int slot_size = map->size;
+
+      if (slot_size == 0 && regno != REGCACHE_MAP_SKIP)
+	slot_size = regcache->descr->sizeof_register[regno];
+
+      if (regno == REGCACHE_MAP_SKIP
+	  || (regnum != -1
+	      && (regnum < regno || regnum >= regno + count)))
+	  offs += count * slot_size;
+
+      else if (regnum == -1)
+	for (; count--; regno++, offs += slot_size)
+	  {
+	    if (offs + slot_size > size)
+	      break;
+
+	    if (out_buf)
+	      regcache_raw_collect (regcache, regno,
+				    (gdb_byte *) out_buf + offs);
+	    else
+	      regcache_raw_supply (out_regcache, regno, in_buf
+				   ? (const gdb_byte *) in_buf + offs
+				   : NULL);
+	  }
+      else
+	{
+	  /* Transfer a single register and return.  */
+	  offs += (regnum - regno) * slot_size;
+	  if (offs + slot_size > size)
+	    return;
+
+	  if (out_buf)
+	    regcache_raw_collect (regcache, regnum,
+				  (gdb_byte *) out_buf + offs);
+	  else
+	    regcache_raw_supply (out_regcache, regnum, in_buf
+				 ? (const gdb_byte *) in_buf + offs
+				 : NULL);
+	  return;
+	}
+    }
+}
+
+/* Supply register REGNUM from BUF to REGCACHE, using the register map
+   in REGSET.  If REGNUM is -1, do this for all registers in REGSET.
+   If BUF is NULL, set the register(s) to "unavailable" status. */
+
+void
+regcache_supply_regset (const struct regset *regset,
+			struct regcache *regcache,
+			int regnum, const void *buf, size_t size)
+{
+  regcache_transfer_regset (regset, regcache, regcache, regnum,
+			    buf, NULL, size);
+}
+
+/* Collect register REGNUM from REGCACHE to BUF, using the register
+   map in REGSET.  If REGNUM is -1, do this for all registers in
+   REGSET.  */
+
+void
+regcache_collect_regset (const struct regset *regset,
+			 const struct regcache *regcache,
+			 int regnum, void *buf, size_t size)
+{
+  regcache_transfer_regset (regset, regcache, NULL, regnum,
+			    NULL, buf, size);
+}
+
 
 /* Special handling for register PC.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regcache.h ./gdb/regcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regcache.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regcache.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Cache and manage the values of registers for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,10 @@
 #ifndef REGCACHE_H
 #define REGCACHE_H
 
+#include "common-regcache.h"
+
 struct regcache;
+struct regset;
 struct gdbarch;
 struct address_space;
 
@@ -135,7 +138,7 @@ void regcache_cooked_write_part (struct 
 
 /* Special routines to read/write the PC.  */
 
-extern CORE_ADDR regcache_read_pc (struct regcache *regcache);
+/* For regcache_read_pc see common/common-regcache.h.  */
 extern void regcache_write_pc (struct regcache *regcache, CORE_ADDR pc);
 
 /* Transfer a raw register [0..NUM_REGS) between the regcache and the
@@ -147,6 +150,51 @@ extern void regcache_raw_supply (struct 
 extern void regcache_raw_collect (const struct regcache *regcache,
 				  int regnum, void *buf);
 
+/* Mapping between register numbers and offsets in a buffer, for use
+   in the '*regset' functions below.  In an array of
+   'regcache_map_entry' each element is interpreted like follows:
+
+   - If 'regno' is a register number: Map register 'regno' to the
+     current offset (starting with 0) and increase the current offset
+     by 'size' (or the register's size, if 'size' is zero).  Repeat
+     this with consecutive register numbers up to 'regno+count-1'.
+
+   - If 'regno' is REGCACHE_MAP_SKIP: Add 'count*size' to the current
+     offset.
+
+   - If count=0: End of the map.  */
+
+struct regcache_map_entry
+{
+  int count;
+  int regno;
+  int size;
+};
+
+/* Special value for the 'regno' field in the struct above.  */
+
+enum
+  {
+    REGCACHE_MAP_SKIP = -1,
+  };
+
+/* Transfer a set of registers (as described by REGSET) between
+   REGCACHE and BUF.  If REGNUM == -1, transfer all registers
+   belonging to the regset, otherwise just the register numbered
+   REGNUM.  The REGSET's 'regmap' field must point to an array of
+   'struct regcache_map_entry'.
+
+   These functions are suitable for the 'regset_supply' and
+   'regset_collect' fields in a regset structure.  */
+
+extern void regcache_supply_regset (const struct regset *regset,
+				    struct regcache *regcache,
+				    int regnum, const void *buf,
+				    size_t size);
+extern void regcache_collect_regset (const struct regset *regset,
+				     const struct regcache *regcache,
+				     int regnum, void *buf, size_t size);
+
 
 /* The type of a register.  This function is slightly more efficient
    then its gdbarch vector counterpart since it returns a precomputed
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/aarch64.dat ./gdb/regformats/aarch64.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/aarch64.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/aarch64.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from aarch64.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: aarch64.xml
 name:aarch64
 xmltarget:aarch64.xml
 expedite:x29,sp,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/arm-with-iwmmxt.dat ./gdb/regformats/arm-with-iwmmxt.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/arm-with-iwmmxt.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/arm-with-iwmmxt.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from arm-with-iwmmxt.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: arm-with-iwmmxt.xml
 name:arm_with_iwmmxt
 xmltarget:arm-with-iwmmxt.xml
 expedite:r11,sp,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/arm-with-neon.dat ./gdb/regformats/arm-with-neon.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/arm-with-neon.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/arm-with-neon.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from arm-with-neon.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: arm-with-neon.xml
 name:arm_with_neon
 xmltarget:arm-with-neon.xml
 expedite:r11,sp,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/arm-with-vfpv2.dat ./gdb/regformats/arm-with-vfpv2.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/arm-with-vfpv2.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/arm-with-vfpv2.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from arm-with-vfpv2.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: arm-with-vfpv2.xml
 name:arm_with_vfpv2
 xmltarget:arm-with-vfpv2.xml
 expedite:r11,sp,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/arm-with-vfpv3.dat ./gdb/regformats/arm-with-vfpv3.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/arm-with-vfpv3.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/arm-with-vfpv3.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from arm-with-vfpv3.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: arm-with-vfpv3.xml
 name:arm_with_vfpv3
 xmltarget:arm-with-vfpv3.xml
 expedite:r11,sp,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-avx512.dat ./gdb/regformats/i386/amd64-avx512.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-avx512.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/amd64-avx512.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/amd64-avx512.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/amd64-avx512.xml
 name:amd64_avx512
 xmltarget:amd64-avx512.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-avx512-linux.dat ./gdb/regformats/i386/amd64-avx512-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-avx512-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/amd64-avx512-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/amd64-avx512-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/amd64-avx512-linux.xml
 name:amd64_avx512_linux
 xmltarget:amd64-avx512-linux.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-avx.dat ./gdb/regformats/i386/amd64-avx.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-avx.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/amd64-avx.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/amd64-avx.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/amd64-avx.xml
 name:amd64_avx
 xmltarget:amd64-avx.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-avx-linux.dat ./gdb/regformats/i386/amd64-avx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-avx-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/amd64-avx-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/amd64-avx-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/amd64-avx-linux.xml
 name:amd64_avx_linux
 xmltarget:amd64-avx-linux.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64.dat ./gdb/regformats/i386/amd64.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/amd64.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/amd64.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/amd64.xml
 name:amd64
 xmltarget:amd64.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-linux.dat ./gdb/regformats/i386/amd64-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/amd64-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/amd64-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/amd64-linux.xml
 name:amd64_linux
 xmltarget:amd64-linux.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-mpx.dat ./gdb/regformats/i386/amd64-mpx.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-mpx.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/amd64-mpx.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/amd64-mpx.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/amd64-mpx.xml
 name:amd64_mpx
 xmltarget:amd64-mpx.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-mpx-linux.dat ./gdb/regformats/i386/amd64-mpx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/amd64-mpx-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/amd64-mpx-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/amd64-mpx-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/amd64-mpx-linux.xml
 name:amd64_mpx_linux
 xmltarget:amd64-mpx-linux.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-avx512.dat ./gdb/regformats/i386/i386-avx512.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-avx512.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386-avx512.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386-avx512.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386-avx512.xml
 name:i386_avx512
 xmltarget:i386-avx512.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-avx512-linux.dat ./gdb/regformats/i386/i386-avx512-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-avx512-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386-avx512-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386-avx512-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386-avx512-linux.xml
 name:i386_avx512_linux
 xmltarget:i386-avx512-linux.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-avx.dat ./gdb/regformats/i386/i386-avx.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-avx.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386-avx.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386-avx.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386-avx.xml
 name:i386_avx
 xmltarget:i386-avx.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-avx-linux.dat ./gdb/regformats/i386/i386-avx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-avx-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386-avx-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386-avx-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386-avx-linux.xml
 name:i386_avx_linux
 xmltarget:i386-avx-linux.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386.dat ./gdb/regformats/i386/i386.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386.xml
 name:i386
 xmltarget:i386.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-linux.dat ./gdb/regformats/i386/i386-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386-linux.xml
 name:i386_linux
 xmltarget:i386-linux.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-mmx.dat ./gdb/regformats/i386/i386-mmx.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-mmx.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386-mmx.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386-mmx.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386-mmx.xml
 name:i386_mmx
 xmltarget:i386-mmx.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-mmx-linux.dat ./gdb/regformats/i386/i386-mmx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-mmx-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386-mmx-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386-mmx-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386-mmx-linux.xml
 name:i386_mmx_linux
 xmltarget:i386-mmx-linux.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-mpx.dat ./gdb/regformats/i386/i386-mpx.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-mpx.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386-mpx.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386-mpx.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386-mpx.xml
 name:i386_mpx
 xmltarget:i386-mpx.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-mpx-linux.dat ./gdb/regformats/i386/i386-mpx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/i386-mpx-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/i386-mpx-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/i386-mpx-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/i386-mpx-linux.xml
 name:i386_mpx_linux
 xmltarget:i386-mpx-linux.xml
 expedite:ebp,esp,eip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-avx512.dat ./gdb/regformats/i386/x32-avx512.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-avx512.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/x32-avx512.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/x32-avx512.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/x32-avx512.xml
 name:x32_avx512
 xmltarget:x32-avx512.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-avx512-linux.dat ./gdb/regformats/i386/x32-avx512-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-avx512-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/x32-avx512-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/x32-avx512-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/x32-avx512-linux.xml
 name:x32_avx512_linux
 xmltarget:x32-avx512-linux.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-avx.dat ./gdb/regformats/i386/x32-avx.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-avx.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/x32-avx.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/x32-avx.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/x32-avx.xml
 name:x32_avx
 xmltarget:x32-avx.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-avx-linux.dat ./gdb/regformats/i386/x32-avx-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-avx-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/x32-avx-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/x32-avx-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/x32-avx-linux.xml
 name:x32_avx_linux
 xmltarget:x32-avx-linux.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32.dat ./gdb/regformats/i386/x32.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/x32.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/x32.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/x32.xml
 name:x32
 xmltarget:x32.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-linux.dat ./gdb/regformats/i386/x32-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/i386/x32-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/i386/x32-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from i386/x32-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: i386/x32-linux.xml
 name:x32_linux
 xmltarget:x32-linux.xml
 expedite:rbp,rsp,rip
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/microblaze-with-stack-protect.dat ./gdb/regformats/microblaze-with-stack-protect.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/microblaze-with-stack-protect.dat	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/regformats/microblaze-with-stack-protect.dat	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,64 @@
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: microblaze-with-stack-protect.xml
+name:microblaze_with_stack_protect
+xmltarget:microblaze-with-stack-protect.xml
+expedite:r1,rpc
+32:r0
+32:r1
+32:r2
+32:r3
+32:r4
+32:r5
+32:r6
+32:r7
+32:r8
+32:r9
+32:r10
+32:r11
+32:r12
+32:r13
+32:r14
+32:r15
+32:r16
+32:r17
+32:r18
+32:r19
+32:r20
+32:r21
+32:r22
+32:r23
+32:r24
+32:r25
+32:r26
+32:r27
+32:r28
+32:r29
+32:r30
+32:r31
+32:rpc
+32:rmsr
+32:rear
+32:resr
+32:rfsr
+32:rbtr
+32:rpvr0
+32:rpvr1
+32:rpvr2
+32:rpvr3
+32:rpvr4
+32:rpvr5
+32:rpvr6
+32:rpvr7
+32:rpvr8
+32:rpvr9
+32:rpvr10
+32:rpvr11
+32:redr
+32:rpid
+32:rzpr
+32:rtlbx
+32:rtlbsx
+32:rtlblo
+32:rtlbhi
+32:rslr
+32:rshr
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/mips64-dsp-linux.dat ./gdb/regformats/mips64-dsp-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/mips64-dsp-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/mips64-dsp-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from mips64-dsp-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: mips64-dsp-linux.xml
 name:mips64_dsp_linux
 xmltarget:mips64-dsp-linux.xml
 expedite:r29,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/mips64-linux.dat ./gdb/regformats/mips64-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/mips64-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/mips64-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from mips64-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: mips64-linux.xml
 name:mips64_linux
 xmltarget:mips64-linux.xml
 expedite:r29,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/mips-dsp-linux.dat ./gdb/regformats/mips-dsp-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/mips-dsp-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/mips-dsp-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from mips-dsp-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: mips-dsp-linux.xml
 name:mips_dsp_linux
 xmltarget:mips-dsp-linux.xml
 expedite:r29,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/mips-linux.dat ./gdb/regformats/mips-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/mips-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/mips-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from mips-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: mips-linux.xml
 name:mips_linux
 xmltarget:mips-linux.xml
 expedite:r29,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/nios2-linux.dat ./gdb/regformats/nios2-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/nios2-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/nios2-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from nios2-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: nios2-linux.xml
 name:nios2_linux
 xmltarget:nios2-linux.xml
 expedite:sp,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/regdat.sh ./gdb/regformats/regdat.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/regdat.sh	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/regdat.sh	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 #!/bin/sh -u
 
 # Register protocol definitions for GDB, the GNU debugger.
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/regdef.h ./gdb/regformats/regdef.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/regdef.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/regdef.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Register protocol definition structures for the GNU Debugger
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-32.dat ./gdb/regformats/rs6000/powerpc-32.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-32.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-32.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-32.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-32.xml
 name:powerpc_32
 xmltarget:powerpc-32.xml
 expedite:r1,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-32l.dat ./gdb/regformats/rs6000/powerpc-32l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-32l.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-32l.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-32l.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-32l.xml
 name:powerpc_32l
 xmltarget:powerpc-32l.xml
 expedite:r1,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-64l.dat ./gdb/regformats/rs6000/powerpc-64l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-64l.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-64l.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-64l.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-64l.xml
 name:powerpc_64l
 xmltarget:powerpc-64l.xml
 expedite:r1,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-altivec32l.dat ./gdb/regformats/rs6000/powerpc-altivec32l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-altivec32l.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-altivec32l.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-altivec32l.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-altivec32l.xml
 name:powerpc_altivec32l
 xmltarget:powerpc-altivec32l.xml
 expedite:r1,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-altivec64l.dat ./gdb/regformats/rs6000/powerpc-altivec64l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-altivec64l.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-altivec64l.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-altivec64l.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-altivec64l.xml
 name:powerpc_altivec64l
 xmltarget:powerpc-altivec64l.xml
 expedite:r1,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-cell32l.dat ./gdb/regformats/rs6000/powerpc-cell32l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-cell32l.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-cell32l.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-cell32l.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-cell32l.xml
 name:powerpc_cell32l
 xmltarget:powerpc-cell32l.xml
 expedite:r1,pc,r0,orig_r3,r4
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-cell64l.dat ./gdb/regformats/rs6000/powerpc-cell64l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-cell64l.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-cell64l.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-cell64l.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-cell64l.xml
 name:powerpc_cell64l
 xmltarget:powerpc-cell64l.xml
 expedite:r1,pc,r0,orig_r3,r4
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-e500l.dat ./gdb/regformats/rs6000/powerpc-e500l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-e500l.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-e500l.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-e500l.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-e500l.xml
 name:powerpc_e500l
 xmltarget:powerpc-e500l.xml
 expedite:r1,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-vsx32l.dat ./gdb/regformats/rs6000/powerpc-vsx32l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-vsx32l.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-vsx32l.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-vsx32l.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-vsx32l.xml
 name:powerpc_vsx32l
 xmltarget:powerpc-vsx32l.xml
 expedite:r1,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-vsx64l.dat ./gdb/regformats/rs6000/powerpc-vsx64l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/rs6000/powerpc-vsx64l.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-vsx64l.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from rs6000/powerpc-vsx64l.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: rs6000/powerpc-vsx64l.xml
 name:powerpc_vsx64l
 xmltarget:powerpc-vsx64l.xml
 expedite:r1,pc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux32.dat ./gdb/regformats/s390-linux32.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux32.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390-linux32.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390-linux32.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390-linux32.xml
 name:s390_linux32
 xmltarget:s390-linux32.xml
 expedite:r14,r15,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux32v1.dat ./gdb/regformats/s390-linux32v1.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux32v1.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390-linux32v1.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390-linux32v1.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390-linux32v1.xml
 name:s390_linux32v1
 xmltarget:s390-linux32v1.xml
 expedite:r14,r15,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux32v2.dat ./gdb/regformats/s390-linux32v2.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux32v2.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390-linux32v2.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390-linux32v2.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390-linux32v2.xml
 name:s390_linux32v2
 xmltarget:s390-linux32v2.xml
 expedite:r14,r15,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux64.dat ./gdb/regformats/s390-linux64.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux64.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390-linux64.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390-linux64.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390-linux64.xml
 name:s390_linux64
 xmltarget:s390-linux64.xml
 expedite:r14l,r15l,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux64v1.dat ./gdb/regformats/s390-linux64v1.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux64v1.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390-linux64v1.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390-linux64v1.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390-linux64v1.xml
 name:s390_linux64v1
 xmltarget:s390-linux64v1.xml
 expedite:r14l,r15l,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux64v2.dat ./gdb/regformats/s390-linux64v2.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-linux64v2.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390-linux64v2.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390-linux64v2.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390-linux64v2.xml
 name:s390_linux64v2
 xmltarget:s390-linux64v2.xml
 expedite:r14l,r15l,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-te-linux64.dat ./gdb/regformats/s390-te-linux64.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390-te-linux64.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390-te-linux64.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,8 @@
-# DO NOT EDIT: generated from s390-te-linux64.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390-te-linux64.xml
 name:s390_te_linux64
 xmltarget:s390-te-linux64.xml
-expedite:r14,r15,pswa
+expedite:r14l,r15l,pswa
 32:pswm
 32:pswa
 32:r0h
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390x-linux64.dat ./gdb/regformats/s390x-linux64.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390x-linux64.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390x-linux64.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390x-linux64.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390x-linux64.xml
 name:s390x_linux64
 xmltarget:s390x-linux64.xml
 expedite:r14,r15,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390x-linux64v1.dat ./gdb/regformats/s390x-linux64v1.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390x-linux64v1.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390x-linux64v1.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390x-linux64v1.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390x-linux64v1.xml
 name:s390x_linux64v1
 xmltarget:s390x-linux64v1.xml
 expedite:r14,r15,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390x-linux64v2.dat ./gdb/regformats/s390x-linux64v2.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390x-linux64v2.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390x-linux64v2.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390x-linux64v2.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390x-linux64v2.xml
 name:s390x_linux64v2
 xmltarget:s390x-linux64v2.xml
 expedite:r14,r15,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390x-te-linux64.dat ./gdb/regformats/s390x-te-linux64.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/s390x-te-linux64.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/s390x-te-linux64.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from s390x-te-linux64.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: s390x-te-linux64.xml
 name:s390x_te_linux64
 xmltarget:s390x-te-linux64.xml
 expedite:r14,r15,pswa
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c62x.dat ./gdb/regformats/tic6x-c62x.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c62x.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/tic6x-c62x.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from tic6x-c62x.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: tic6x-c62x.xml
 name:tic6x_c62x
 xmltarget:tic6x-c62x.xml
 expedite:A15,PC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c62x-linux.dat ./gdb/regformats/tic6x-c62x-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c62x-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/tic6x-c62x-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from tic6x-c62x-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: tic6x-c62x-linux.xml
 name:tic6x_c62x_linux
 xmltarget:tic6x-c62x-linux.xml
 expedite:A15,PC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c64x.dat ./gdb/regformats/tic6x-c64x.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c64x.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/tic6x-c64x.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from tic6x-c64x.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: tic6x-c64x.xml
 name:tic6x_c64x
 xmltarget:tic6x-c64x.xml
 expedite:A15,PC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c64x-linux.dat ./gdb/regformats/tic6x-c64x-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c64x-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/tic6x-c64x-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from tic6x-c64x-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: tic6x-c64x-linux.xml
 name:tic6x_c64x_linux
 xmltarget:tic6x-c64x-linux.xml
 expedite:A15,PC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c64xp.dat ./gdb/regformats/tic6x-c64xp.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c64xp.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/tic6x-c64xp.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from tic6x-c64xp.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: tic6x-c64xp.xml
 name:tic6x_c64xp
 xmltarget:tic6x-c64xp.xml
 expedite:A15,PC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c64xp-linux.dat ./gdb/regformats/tic6x-c64xp-linux.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regformats/tic6x-c64xp-linux.dat	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regformats/tic6x-c64xp-linux.dat	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,5 @@
-# DO NOT EDIT: generated from tic6x-c64xp-linux.xml
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+# Generated from: tic6x-c64xp-linux.xml
 name:tic6x_c64xp_linux
 xmltarget:tic6x-c64xp-linux.xml
 expedite:A15,PC
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/reggroups.c ./gdb/reggroups.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/reggroups.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/reggroups.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Register groupings for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
@@ -23,7 +23,6 @@
 #include "arch-utils.h"
 #include "reggroups.h"
 #include "gdbtypes.h"
-#include "gdb_assert.h"
 #include "regcache.h"
 #include "command.h"
 #include "gdbcmd.h"		/* For maintenanceprintlist.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/reggroups.h ./gdb/reggroups.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/reggroups.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/reggroups.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Register groupings for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/registry.c ./gdb/registry.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/registry.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/registry.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support functions for general registry objects.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,9 +19,6 @@
 
 #include "defs.h"
 #include "registry.h"
-#include "gdb_assert.h"
-#include <string.h>
-
 const struct registry_data *
 register_data_with_cleanup (struct registry_data_registry *registry,
 			    registry_data_callback save,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/registry.h ./gdb/registry.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/registry.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/registry.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Macros for general registry objects.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regset.h ./gdb/regset.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/regset.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/regset.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Manage register sets.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,14 +23,6 @@
 struct gdbarch;
 struct regcache;
 
-/* Data structure for the supported register notes in a core file.  */
-struct core_regset_section
-{
-  const char *sect_name;
-  int size;
-  const char *human_name;
-};
-
 /* Data structure describing a register set.  */
 
 typedef void (supply_regset_ftype) (const struct regset *, struct regcache *,
@@ -41,9 +33,10 @@ typedef void (collect_regset_ftype) (con
 
 struct regset
 {
-  /* Data pointer for private use by the methods below, presumably
-     providing some sort of description of the register set.  */
-  const void *descr;
+  /* Pointer to a "register map", for private use by the methods
+     below.  Typically describes how the regset's registers are
+     arranged in the buffer collected to or supplied from.  */
+  const void *regmap;
 
   /* Function supplying values in a register set to a register cache.  */
   supply_regset_ftype *supply_regset;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote.c ./gdb/remote.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/remote.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote target communications for serial-line targets in custom GDB protocol
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,14 +20,12 @@
 /* See the GDB User Guide for details of the GDB remote protocol.  */
 
 #include "defs.h"
-#include <string.h>
 #include <ctype.h>
 #include <fcntl.h>
 #include "inferior.h"
 #include "infrun.h"
 #include "bfd.h"
 #include "symfile.h"
-#include "exceptions.h"
 #include "target.h"
 /*#include "terminal.h" */
 #include "gdbcmd.h"
@@ -38,7 +36,6 @@
 #include "remote-notif.h"
 #include "regcache.h"
 #include "value.h"
-#include "gdb_assert.h"
 #include "observer.h"
 #include "solib.h"
 #include "cli/cli-decode.h"
@@ -102,11 +99,8 @@ static void remote_files_info (struct ta
 static void remote_prepare_to_store (struct target_ops *self,
 				     struct regcache *regcache);
 
-static void remote_open (char *name, int from_tty);
-
-static void extended_remote_open (char *name, int from_tty);
-
-static void remote_open_1 (char *, int, struct target_ops *, int extended_p);
+static void remote_open_1 (const char *, int, struct target_ops *,
+			   int extended_p);
 
 static void remote_close (struct target_ops *self);
 
@@ -164,7 +158,7 @@ static int hexnumnstr (char *, ULONGEST,
 
 static CORE_ADDR remote_address_masked (CORE_ADDR);
 
-static void print_packet (char *);
+static void print_packet (const char *);
 
 static void compare_sections_command (char *, int);
 
@@ -174,9 +168,7 @@ static int stub_unpack_int (char *buff, 
 
 static ptid_t remote_current_thread (ptid_t oldptid);
 
-static void remote_find_new_threads (void);
-
-static int putpkt_binary (char *buf, int cnt);
+static int putpkt_binary (const char *buf, int cnt);
 
 static void check_binary_download (CORE_ADDR addr);
 
@@ -1850,11 +1842,11 @@ set_general_process (void)
 }
 
 
-/*  Return nonzero if the thread PTID is still alive on the remote
-    system.  */
+/* Return nonzero if this is the main thread that we made up ourselves
+   to model non-threaded targets as single-threaded.  */
 
 static int
-remote_thread_alive (struct target_ops *ops, ptid_t ptid)
+remote_thread_always_alive (struct target_ops *ops, ptid_t ptid)
 {
   struct remote_state *rs = get_remote_state ();
   char *p, *endp;
@@ -1869,6 +1861,23 @@ remote_thread_alive (struct target_ops *
        multi-threading.  */
     return 1;
 
+  return 0;
+}
+
+/* Return nonzero if the thread PTID is still alive on the remote
+   system.  */
+
+static int
+remote_thread_alive (struct target_ops *ops, ptid_t ptid)
+{
+  struct remote_state *rs = get_remote_state ();
+  char *p, *endp;
+
+  /* Check if this is a thread that we made up ourselves to model
+     non-threaded targets as single-threaded.  */
+  if (remote_thread_always_alive (ops, ptid))
+    return 1;
+
   p = rs->buf;
   endp = rs->buf + get_remote_packet_size ();
 
@@ -2433,6 +2442,9 @@ parse_threadlist_response (char *pkt, in
   return resultcount;
 }
 
+/* Fetch the next batch of threads from the remote.  Returns -1 if the
+   qL packet is not supported, 0 on error and 1 on success.  */
+
 static int
 remote_get_threadlist (int startflag, threadref *nextthread, int result_limit,
 		       int *done, int *result_count, threadref *threadlist)
@@ -2448,13 +2460,15 @@ remote_get_threadlist (int startflag, th
   pack_threadlist_request (rs->buf, startflag, result_limit, nextthread);
   putpkt (rs->buf);
   getpkt (&rs->buf, &rs->buf_size, 0);
-
   if (*rs->buf == '\0')
-    return 0;
-  else
-    *result_count =
-      parse_threadlist_response (rs->buf + 2, result_limit,
-				 &rs->echo_nextthread, threadlist, done);
+    {
+      /* Packet not supported.  */
+      return -1;
+    }
+
+  *result_count =
+    parse_threadlist_response (rs->buf + 2, result_limit,
+			       &rs->echo_nextthread, threadlist, done);
 
   if (!threadmatch (&rs->echo_nextthread, nextthread))
     {
@@ -2487,15 +2501,11 @@ remote_get_threadlist (int startflag, th
   return result;
 }
 
-/* This is the interface between remote and threads, remotes upper
-   interface.  */
-
-/* remote_find_new_threads retrieves the thread list and for each
-   thread in the list, looks up the thread in GDB's internal list,
-   adding the thread if it does not already exist.  This involves
-   getting partial thread lists from the remote target so, polling the
-   quit_flag is required.  */
-
+/* Fetch the list of remote threads, with the qL packet, and call
+   STEPFUNCTION for each thread found.  Stops iterating and returns 1
+   if STEPFUNCTION returns true.  Stops iterating and returns 0 if the
+   STEPFUNCTION returns false.  If the packet is not supported,
+   returns -1.  */
 
 static int
 remote_threadlist_iterator (rmt_thread_action stepfunction, void *context,
@@ -2516,13 +2526,12 @@ remote_threadlist_iterator (rmt_thread_a
 	  warning (_("Remote fetch threadlist -infinite loop-."));
 	  break;
 	}
-      if (!remote_get_threadlist (startflag, &rs->nextthread,
-				  MAXTHREADLISTRESULTS,
-				  &done, &result_count, rs->resultthreadlist))
-	{
-	  result = 0;
-	  break;
-	}
+      result = remote_get_threadlist (startflag, &rs->nextthread,
+				      MAXTHREADLISTRESULTS,
+				      &done, &result_count,
+				      rs->resultthreadlist);
+      if (result <= 0)
+	break;
       /* Clear for later iterations.  */
       startflag = 0;
       /* Setup to resume next batch of thread references, set nextthread.  */
@@ -2531,20 +2540,70 @@ remote_threadlist_iterator (rmt_thread_a
 			&rs->resultthreadlist[result_count - 1]);
       i = 0;
       while (result_count--)
-	if (!(result = (*stepfunction) (&rs->resultthreadlist[i++], context)))
-	  break;
+	{
+	  if (!(*stepfunction) (&rs->resultthreadlist[i++], context))
+	    {
+	      result = 0;
+	      break;
+	    }
+	}
     }
   return result;
 }
 
+/* A thread found on the remote target.  */
+
+typedef struct thread_item
+{
+  /* The thread's PTID.  */
+  ptid_t ptid;
+
+  /* The thread's extra info.  May be NULL.  */
+  char *extra;
+
+  /* The core the thread was running on.  -1 if not known.  */
+  int core;
+} thread_item_t;
+DEF_VEC_O(thread_item_t);
+
+/* Context passed around to the various methods listing remote
+   threads.  As new threads are found, they're added to the ITEMS
+   vector.  */
+
+struct threads_listing_context
+{
+  /* The threads found on the remote target.  */
+  VEC (thread_item_t) *items;
+};
+
+/* Discard the contents of the constructed thread listing context.  */
+
+static void
+clear_threads_listing_context (void *p)
+{
+  struct threads_listing_context *context = p;
+  int i;
+  struct thread_item *item;
+
+  for (i = 0; VEC_iterate (thread_item_t, context->items, i, item); ++i)
+    xfree (item->extra);
+
+  VEC_free (thread_item_t, context->items);
+}
+
 static int
-remote_newthread_step (threadref *ref, void *context)
+remote_newthread_step (threadref *ref, void *data)
 {
+  struct threads_listing_context *context = data;
+  struct thread_item item;
   int pid = ptid_get_pid (inferior_ptid);
-  ptid_t ptid = ptid_build (pid, threadref_to_int (ref), 0);
 
-  if (!in_thread_list (ptid))
-    add_thread (ptid);
+  item.ptid = ptid_build (pid, threadref_to_int (ref), 0);
+  item.core = -1;
+  item.extra = NULL;
+
+  VEC_safe_push (thread_item_t, context->items, &item);
+
   return 1;			/* continue iterator */
 }
 
@@ -2563,38 +2622,27 @@ remote_current_thread (ptid_t oldpid)
     return oldpid;
 }
 
-/* Find new threads for info threads command.
- * Original version, using John Metzler's thread protocol.
- */
+/* List remote threads using the deprecated qL packet.  */
 
-static void
-remote_find_new_threads (void)
+static int
+remote_get_threads_with_ql (struct target_ops *ops,
+			    struct threads_listing_context *context)
 {
-  remote_threadlist_iterator (remote_newthread_step, 0,
-			      CRAZY_MAX_THREADS);
+  if (remote_threadlist_iterator (remote_newthread_step, context,
+				  CRAZY_MAX_THREADS) >= 0)
+    return 1;
+
+  return 0;
 }
 
 #if defined(HAVE_LIBEXPAT)
 
-typedef struct thread_item
-{
-  ptid_t ptid;
-  char *extra;
-  int core;
-} thread_item_t;
-DEF_VEC_O(thread_item_t);
-
-struct threads_parsing_context
-{
-  VEC (thread_item_t) *items;
-};
-
 static void
 start_thread (struct gdb_xml_parser *parser,
 	      const struct gdb_xml_element *element,
 	      void *user_data, VEC(gdb_xml_value_s) *attributes)
 {
-  struct threads_parsing_context *data = user_data;
+  struct threads_listing_context *data = user_data;
 
   struct thread_item item;
   char *id;
@@ -2619,7 +2667,7 @@ end_thread (struct gdb_xml_parser *parse
 	    const struct gdb_xml_element *element,
 	    void *user_data, const char *body_text)
 {
-  struct threads_parsing_context *data = user_data;
+  struct threads_listing_context *data = user_data;
 
   if (body_text && *body_text)
     VEC_last (thread_item_t, data->items)->extra = xstrdup (body_text);
@@ -2648,141 +2696,173 @@ const struct gdb_xml_element threads_ele
   { NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
 };
 
-/* Discard the contents of the constructed thread info context.  */
-
-static void
-clear_threads_parsing_context (void *p)
-{
-  struct threads_parsing_context *context = p;
-  int i;
-  struct thread_item *item;
-
-  for (i = 0; VEC_iterate (thread_item_t, context->items, i, item); ++i)
-    xfree (item->extra);
-
-  VEC_free (thread_item_t, context->items);
-}
-
 #endif
 
-/*
- * Find all threads for info threads command.
- * Uses new thread protocol contributed by Cisco.
- * Falls back and attempts to use the older method (above)
- * if the target doesn't respond to the new method.
- */
+/* List remote threads using qXfer:threads:read.  */
 
-static void
-remote_threads_info (struct target_ops *ops)
+static int
+remote_get_threads_with_qxfer (struct target_ops *ops,
+			       struct threads_listing_context *context)
 {
-  struct remote_state *rs = get_remote_state ();
-  char *bufp;
-  ptid_t new_thread;
-
-  if (rs->remote_desc == 0)		/* paranoia */
-    error (_("Command can only be used when connected to the remote target."));
-
 #if defined(HAVE_LIBEXPAT)
   if (packet_support (PACKET_qXfer_threads) == PACKET_ENABLE)
     {
-      char *xml = target_read_stralloc (&current_target,
-					 TARGET_OBJECT_THREADS, NULL);
-
+      char *xml = target_read_stralloc (ops, TARGET_OBJECT_THREADS, NULL);
       struct cleanup *back_to = make_cleanup (xfree, xml);
 
-      if (xml && *xml)
+      if (xml != NULL && *xml != '\0')
 	{
-	  struct threads_parsing_context context;
-
-	  context.items = NULL;
-	  make_cleanup (clear_threads_parsing_context, &context);
-
-	  if (gdb_xml_parse_quick (_("threads"), "threads.dtd",
-				   threads_elements, xml, &context) == 0)
-	    {
-	      int i;
-	      struct thread_item *item;
-
-	      for (i = 0;
-		   VEC_iterate (thread_item_t, context.items, i, item);
-		   ++i)
-		{
-		  if (!ptid_equal (item->ptid, null_ptid))
-		    {
-		      struct private_thread_info *info;
-		      /* In non-stop mode, we assume new found threads
-			 are running until proven otherwise with a
-			 stop reply.  In all-stop, we can only get
-			 here if all threads are stopped.  */
-		      int running = non_stop ? 1 : 0;
-
-		      remote_notice_new_inferior (item->ptid, running);
-
-		      info = demand_private_info (item->ptid);
-		      info->core = item->core;
-		      info->extra = item->extra;
-		      item->extra = NULL;
-		    }
-		}
-	    }
+	  gdb_xml_parse_quick (_("threads"), "threads.dtd",
+			       threads_elements, xml, context);
 	}
 
       do_cleanups (back_to);
-      return;
+      return 1;
     }
 #endif
 
+  return 0;
+}
+
+/* List remote threads using qfThreadInfo/qsThreadInfo.  */
+
+static int
+remote_get_threads_with_qthreadinfo (struct target_ops *ops,
+				     struct threads_listing_context *context)
+{
+  struct remote_state *rs = get_remote_state ();
+
   if (rs->use_threadinfo_query)
     {
+      char *bufp;
+
       putpkt ("qfThreadInfo");
       getpkt (&rs->buf, &rs->buf_size, 0);
       bufp = rs->buf;
       if (bufp[0] != '\0')		/* q packet recognized */
 	{
-	  struct cleanup *old_chain;
-	  char *saved_reply;
-
-	  /* remote_notice_new_inferior (in the loop below) may make
-	     new RSP calls, which clobber rs->buf.  Work with a
-	     copy.  */
-	  bufp = saved_reply = xstrdup (rs->buf);
-	  old_chain = make_cleanup (free_current_contents, &saved_reply);
-
 	  while (*bufp++ == 'm')	/* reply contains one or more TID */
 	    {
 	      do
 		{
-		  new_thread = read_ptid (bufp, &bufp);
-		  if (!ptid_equal (new_thread, null_ptid))
-		    {
-		      /* In non-stop mode, we assume new found threads
-			 are running until proven otherwise with a
-			 stop reply.  In all-stop, we can only get
-			 here if all threads are stopped.  */
-		      int running = non_stop ? 1 : 0;
+		  struct thread_item item;
 
-		      remote_notice_new_inferior (new_thread, running);
-		    }
+		  item.ptid = read_ptid (bufp, &bufp);
+		  item.core = -1;
+		  item.extra = NULL;
+
+		  VEC_safe_push (thread_item_t, context->items, &item);
 		}
 	      while (*bufp++ == ',');	/* comma-separated list */
-	      free_current_contents (&saved_reply);
 	      putpkt ("qsThreadInfo");
 	      getpkt (&rs->buf, &rs->buf_size, 0);
-	      bufp = saved_reply = xstrdup (rs->buf);
+	      bufp = rs->buf;
 	    }
+	  return 1;
+	}
+      else
+	{
+	  /* Packet not recognized.  */
+	  rs->use_threadinfo_query = 0;
+	}
+    }
+
+  return 0;
+}
+
+/* Implement the to_update_thread_list function for the remote
+   targets.  */
+
+static void
+remote_update_thread_list (struct target_ops *ops)
+{
+  struct remote_state *rs = get_remote_state ();
+  struct threads_listing_context context;
+  struct cleanup *old_chain;
+  int got_list = 0;
+
+  context.items = NULL;
+  old_chain = make_cleanup (clear_threads_listing_context, &context);
+
+  /* We have a few different mechanisms to fetch the thread list.  Try
+     them all, starting with the most preferred one first, falling
+     back to older methods.  */
+  if (remote_get_threads_with_qxfer (ops, &context)
+      || remote_get_threads_with_qthreadinfo (ops, &context)
+      || remote_get_threads_with_ql (ops, &context))
+    {
+      int i;
+      struct thread_item *item;
+      struct thread_info *tp, *tmp;
+
+      got_list = 1;
+
+      if (VEC_empty (thread_item_t, context.items)
+	  && remote_thread_always_alive (ops, inferior_ptid))
+	{
+	  /* Some targets don't really support threads, but still
+	     reply an (empty) thread list in response to the thread
+	     listing packets, instead of replying "packet not
+	     supported".  Exit early so we don't delete the main
+	     thread.  */
 	  do_cleanups (old_chain);
-	  return;	/* done */
+	  return;
+	}
+
+      /* CONTEXT now holds the current thread list on the remote
+	 target end.  Delete GDB-side threads no longer found on the
+	 target.  */
+      ALL_NON_EXITED_THREADS_SAFE (tp, tmp)
+        {
+	  for (i = 0;
+	       VEC_iterate (thread_item_t, context.items, i, item);
+	       ++i)
+	    {
+	      if (ptid_equal (item->ptid, tp->ptid))
+		break;
+	    }
+
+	  if (i == VEC_length (thread_item_t, context.items))
+	    {
+	      /* Not found.  */
+	      delete_thread (tp->ptid);
+	    }
+        }
+
+      /* And now add threads we don't know about yet to our list.  */
+      for (i = 0;
+	   VEC_iterate (thread_item_t, context.items, i, item);
+	   ++i)
+	{
+	  if (!ptid_equal (item->ptid, null_ptid))
+	    {
+	      struct private_thread_info *info;
+	      /* In non-stop mode, we assume new found threads are
+		 running until proven otherwise with a stop reply.  In
+		 all-stop, we can only get here if all threads are
+		 stopped.  */
+	      int running = non_stop ? 1 : 0;
+
+	      remote_notice_new_inferior (item->ptid, running);
+
+	      info = demand_private_info (item->ptid);
+	      info->core = item->core;
+	      info->extra = item->extra;
+	      item->extra = NULL;
+	    }
 	}
     }
 
-  /* Only qfThreadInfo is supported in non-stop mode.  */
-  if (non_stop)
-    return;
+  if (!got_list)
+    {
+      /* If no thread listing method is supported, then query whether
+	 each known thread is alive, one by one, with the T packet.
+	 If the target doesn't support threads at all, then this is a
+	 no-op.  See remote_thread_alive.  */
+      prune_threads ();
+    }
 
-  /* Else fall back to old method based on jmetzler protocol.  */
-  rs->use_threadinfo_query = 0;
-  remote_find_new_threads ();
-  return;
+  do_cleanups (old_chain);
 }
 
 /*
@@ -3406,7 +3486,7 @@ remote_start_remote (int from_tty, struc
 	 controlling.  We default to adding them in the running state.
 	 The '?' query below will then tell us about which threads are
 	 stopped.  */
-      remote_threads_info (target);
+      remote_update_thread_list (target);
     }
   else if (packet_support (PACKET_QNonStop) == PACKET_ENABLE)
     {
@@ -3458,7 +3538,7 @@ remote_start_remote (int from_tty, struc
 	}
 
       /* Fetch thread list.  */
-      target_find_new_threads ();
+      target_update_thread_list ();
 
       /* Let the stub know that we want it to return the thread.  */
       set_continue_thread (minus_one_ptid);
@@ -3609,9 +3689,8 @@ remote_start_remote (int from_tty, struc
      up.  */
   rs->starting_up = 0;
 
-  /* If breakpoints are global, insert them now.  */
-  if (gdbarch_has_global_breakpoints (target_gdbarch ())
-      && breakpoints_always_inserted_mode ())
+  /* Maybe breakpoints are global and need to be inserted now.  */
+  if (breakpoints_should_be_inserted_now ())
     insert_breakpoints ();
 }
 
@@ -3619,7 +3698,7 @@ remote_start_remote (int from_tty, struc
    NAME is the filename used for communication.  */
 
 static void
-remote_open (char *name, int from_tty)
+remote_open (const char *name, int from_tty)
 {
   remote_open_1 (name, from_tty, &remote_ops, 0);
 }
@@ -3628,7 +3707,7 @@ remote_open (char *name, int from_tty)
    remote gdb protocol.  NAME is the filename used for communication.  */
 
 static void
-extended_remote_open (char *name, int from_tty)
+extended_remote_open (const char *name, int from_tty)
 {
   remote_open_1 (name, from_tty, &extended_remote_ops, 1 /*extended_p */);
 }
@@ -3727,7 +3806,7 @@ remote_check_symbols (void)
 }
 
 static struct serial *
-remote_serial_open (char *name)
+remote_serial_open (const char *name)
 {
   static int udp_warning = 0;
 
@@ -4128,7 +4207,7 @@ remote_unpush_target (void)
 }
 
 static void
-remote_open_1 (char *name, int from_tty,
+remote_open_1 (const char *name, int from_tty,
 	       struct target_ops *target, int extended_p)
 {
   struct remote_state *rs = get_remote_state ();
@@ -4347,7 +4426,7 @@ extended_remote_detach (struct target_op
 /* Same as remote_detach, but don't send the "D" packet; just disconnect.  */
 
 static void
-remote_disconnect (struct target_ops *target, char *args, int from_tty)
+remote_disconnect (struct target_ops *target, const char *args, int from_tty)
 {
   if (args)
     error (_("Argument given to \"disconnect\" when remotely debugging."));
@@ -4429,7 +4508,7 @@ extended_remote_attach_1 (struct target_
       struct thread_info *thread;
 
       /* Get list of threads.  */
-      remote_threads_info (target);
+      remote_update_thread_list (target);
 
       thread = first_thread_of_process (pid);
       if (thread)
@@ -4484,6 +4563,20 @@ extended_remote_attach (struct target_op
   extended_remote_attach_1 (ops, args, from_tty);
 }
 
+/* Implementation of the to_post_attach method.  */
+
+static void
+extended_remote_post_attach (struct target_ops *ops, int pid)
+{
+  /* In certain cases GDB might not have had the chance to start
+     symbol lookup up until now.  This could happen if the debugged
+     binary is not using shared libraries, the vsyscall page is not
+     present (on Linux) and the binary itself hadn't changed since the
+     debugging process was started.  */
+  if (symfile_objfile != NULL)
+    remote_check_symbols();
+}
+
 
 /* Check for the availability of vCont.  This function should also check
    the response.  */
@@ -4629,8 +4722,7 @@ append_pending_thread_resumptions (char 
   ALL_NON_EXITED_THREADS (thread)
     if (ptid_match (thread->ptid, ptid)
 	&& !ptid_equal (inferior_ptid, thread->ptid)
-	&& thread->suspend.stop_signal != GDB_SIGNAL_0
-	&& signal_pass_state (thread->suspend.stop_signal))
+	&& thread->suspend.stop_signal != GDB_SIGNAL_0)
       {
 	p = append_resumption (p, endp, thread->ptid,
 			       0, thread->suspend.stop_signal);
@@ -6815,7 +6907,7 @@ remote_read_bytes (struct target_ops *op
 		   gdb_byte *myaddr, ULONGEST len, ULONGEST *xfered_len)
 {
   if (len == 0)
-    return 0;
+    return TARGET_XFER_EOF;
 
   if (get_traceframe_number () != -1)
     {
@@ -7095,7 +7187,7 @@ escape_buffer (const char *buf, int n)
    string notation.  */
 
 static void
-print_packet (char *buf)
+print_packet (const char *buf)
 {
   puts_filtered ("\"");
   fputstr_filtered (buf, '"', gdb_stdout);
@@ -7103,7 +7195,7 @@ print_packet (char *buf)
 }
 
 int
-putpkt (char *buf)
+putpkt (const char *buf)
 {
   return putpkt_binary (buf, strlen (buf));
 }
@@ -7115,7 +7207,7 @@ putpkt (char *buf)
    to print the sent packet as a string.  */
 
 static int
-putpkt_binary (char *buf, int cnt)
+putpkt_binary (const char *buf, int cnt)
 {
   struct remote_state *rs = get_remote_state ();
   int i;
@@ -7895,7 +7987,7 @@ extended_remote_run (char *args)
       char **argv;
 
       argv = gdb_buildargv (args);
-      back_to = make_cleanup ((void (*) (void *)) freeargv, argv);
+      back_to = make_cleanup_freeargv (argv);
       for (i = 0; argv[i] != NULL; i++)
 	{
 	  if (strlen (argv[i]) * 2 + 1 + len >= get_remote_packet_size ())
@@ -8069,7 +8161,7 @@ remote_insert_breakpoint (struct target_
 
   if (packet_support (PACKET_Z0) != PACKET_DISABLE)
     {
-      CORE_ADDR addr = bp_tgt->placed_address;
+      CORE_ADDR addr = bp_tgt->reqstd_address;
       struct remote_state *rs;
       char *p, *endbuf;
       int bpsize;
@@ -8341,16 +8433,16 @@ static int
 remote_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
 			     struct bp_target_info *bp_tgt)
 {
-  CORE_ADDR addr;
+  CORE_ADDR addr = bp_tgt->reqstd_address;
   struct remote_state *rs;
   char *p, *endbuf;
   char *message;
+  int bpsize;
 
   /* The length field should be set to the size of a breakpoint
      instruction, even though we aren't inserting one ourselves.  */
 
-  gdbarch_remote_breakpoint_from_pc
-    (gdbarch, &bp_tgt->placed_address, &bp_tgt->placed_size);
+  gdbarch_remote_breakpoint_from_pc (gdbarch, &addr, &bpsize);
 
   if (packet_support (PACKET_Z1) == PACKET_DISABLE)
     return -1;
@@ -8368,9 +8460,9 @@ remote_insert_hw_breakpoint (struct targ
   *(p++) = '1';
   *(p++) = ',';
 
-  addr = remote_address_masked (bp_tgt->placed_address);
+  addr = remote_address_masked (addr);
   p += hexnumstr (p, (ULONGEST) addr);
-  xsnprintf (p, endbuf - p, ",%x", bp_tgt->placed_size);
+  xsnprintf (p, endbuf - p, ",%x", bpsize);
 
   if (remote_supports_cond_breakpoints (self))
     remote_add_target_side_condition (gdbarch, bp_tgt, p, endbuf);
@@ -8394,6 +8486,8 @@ remote_insert_hw_breakpoint (struct targ
     case PACKET_UNKNOWN:
       return -1;
     case PACKET_OK:
+      bp_tgt->placed_address = addr;
+      bp_tgt->placed_size = bpsize;
       return 0;
     }
   internal_error (__FILE__, __LINE__,
@@ -8855,10 +8949,6 @@ remote_xfer_partial (struct target_ops *
       return TARGET_XFER_E_IO;
     }
 
-  /* Note: a zero OFFSET and LEN can be used to query the minimum
-     buffer size.  */
-  if (offset == 0 && len == 0)
-    return (get_remote_packet_size ());
   /* Minimum outbuf size is get_remote_packet_size ().  If LEN is not
      large enough let the caller deal with it.  */
   if (len < get_remote_packet_size ())
@@ -8995,7 +9085,7 @@ remote_search_memory (struct target_ops*
 }
 
 static void
-remote_rcmd (struct target_ops *self, char *command,
+remote_rcmd (struct target_ops *self, const char *command,
 	     struct ui_file *outbuf)
 {
   struct remote_state *rs = get_remote_state ();
@@ -9017,7 +9107,7 @@ remote_rcmd (struct target_ops *self, ch
     error (_("\"monitor\" command ``%s'' is too long."), command);
 
   /* Encode the actual command.  */
-  bin2hex ((gdb_byte *) command, p, strlen (command));
+  bin2hex ((const gdb_byte *) command, p, strlen (command));
 
   if (putpkt (rs->buf) < 0)
     error (_("Communication problem with target."));
@@ -10256,7 +10346,7 @@ remote_delete_command (char *args, int f
 static void
 remote_command (char *args, int from_tty)
 {
-  help_list (remote_cmdlist, "remote ", -1, gdb_stdout);
+  help_list (remote_cmdlist, "remote ", all_commands, gdb_stdout);
 }
 
 static int
@@ -11385,7 +11475,7 @@ remote_augmented_libraries_svr4_read (st
 /* Implementation of to_load.  */
 
 static void
-remote_load (struct target_ops *self, char *name, int from_tty)
+remote_load (struct target_ops *self, const char *name, int from_tty)
 {
   generic_load (name, from_tty);
 }
@@ -11428,7 +11518,7 @@ Specify the serial device it is connecte
   remote_ops.to_pass_signals = remote_pass_signals;
   remote_ops.to_program_signals = remote_program_signals;
   remote_ops.to_thread_alive = remote_thread_alive;
-  remote_ops.to_find_new_threads = remote_threads_info;
+  remote_ops.to_update_thread_list = remote_update_thread_list;
   remote_ops.to_pid_to_str = remote_pid_to_str;
   remote_ops.to_extra_thread_info = remote_threads_extra_info;
   remote_ops.to_get_ada_task_ptid = remote_get_ada_task_ptid;
@@ -11534,6 +11624,7 @@ Specify the serial device it is connecte
   extended_remote_ops.to_mourn_inferior = extended_remote_mourn;
   extended_remote_ops.to_detach = extended_remote_detach;
   extended_remote_ops.to_attach = extended_remote_attach;
+  extended_remote_ops.to_post_attach = extended_remote_post_attach;
   extended_remote_ops.to_kill = extended_remote_kill;
   extended_remote_ops.to_supports_disable_randomization
     = extended_remote_supports_disable_randomization;
@@ -11608,7 +11699,7 @@ remote_async (struct target_ops *ops,
 static void
 set_remote_cmd (char *args, int from_tty)
 {
-  help_list (remote_set_cmdlist, "set remote ", -1, gdb_stdout);
+  help_list (remote_set_cmdlist, "set remote ", all_commands, gdb_stdout);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-fileio.c ./gdb/remote-fileio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-fileio.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/remote-fileio.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote File-I/O communications
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,13 +20,11 @@
 /* See the GDB User Guide for details of the GDB remote protocol.  */
 
 #include "defs.h"
-#include <string.h>
 #include "gdbcmd.h"
 #include "remote.h"
 #include "gdb/fileio.h"
 #include "gdb_wait.h"
 #include <sys/stat.h>
-#include "exceptions.h"
 #include "remote-fileio.h"
 #include "event-loop.h"
 #include "target.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-fileio.h ./gdb/remote-fileio.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-fileio.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/remote-fileio.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote File-I/O communications
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote.h ./gdb/remote.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/remote.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Remote target communications for serial-line targets in custom GDB protocol
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -37,7 +37,7 @@ extern void getpkt (char **buf, long *si
    we are debugging (remote_debug) and want to print the sent packet
    as a string.  */
 
-extern int putpkt (char *buf);
+extern int putpkt (const char *buf);
 
 void register_remote_g_packet_guess (struct gdbarch *gdbarch, int bytes,
 				     const struct target_desc *tdesc);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-m32r-sdi.c ./gdb/remote-m32r-sdi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-m32r-sdi.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/remote-m32r-sdi.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote debugging interface for M32R/SDI.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Renesas Technology Co.
    Written by Kei Sakamoto <sakamoto.kei@renesas.com>.
@@ -27,7 +27,6 @@
 #include "infrun.h"
 #include "target.h"
 #include "regcache.h"
-#include <string.h>
 #include "gdbthread.h"
 #include <ctype.h>
 #include <signal.h>
@@ -340,7 +339,7 @@ m32r_create_inferior (struct target_ops 
   /* The "process" (board) is already stopped awaiting our commands, and
      the program is already downloaded.  We just set its PC and go.  */
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
 
   /* Tell wait_for_inferior that we've started a new process.  */
   init_wait_for_inferior ();
@@ -359,7 +358,7 @@ m32r_create_inferior (struct target_ops 
    NAME is the filename used for communication.  */
 
 static void
-m32r_open (char *args, int from_tty)
+m32r_open (const char *args, int from_tty)
 {
   struct hostent *host_ent;
   struct sockaddr_in server_addr;
@@ -1081,7 +1080,7 @@ m32r_xfer_memory (gdb_byte *readbuf, con
 	      if (remote_debug)
 		fprintf_unfiltered (gdb_stdlog,
 				    "m32r_xfer_memory() failed\n");
-	      return 0;
+	      return TARGET_XFER_EOF;
 	    }
 	  ret = send_data (writebuf, len);
 	}
@@ -1095,7 +1094,7 @@ m32r_xfer_memory (gdb_byte *readbuf, con
 	{
 	  if (remote_debug)
 	    fprintf_unfiltered (gdb_stdlog, "m32r_xfer_memory() failed\n");
-	  return 0;
+	  return TARGET_XFER_EOF;
 	}
 
       c = serial_readchar (sdi_desc, SDI_TIMEOUT);
@@ -1103,7 +1102,7 @@ m32r_xfer_memory (gdb_byte *readbuf, con
 	{
 	  if (remote_debug)
 	    fprintf_unfiltered (gdb_stdlog, "m32r_xfer_memory() failed\n");
-	  return 0;
+	  return TARGET_XFER_EOF;
 	}
 
       ret = recv_data (readbuf, len);
@@ -1173,7 +1172,7 @@ m32r_insert_breakpoint (struct target_op
 			struct gdbarch *gdbarch,
 			struct bp_target_info *bp_tgt)
 {
-  CORE_ADDR addr = bp_tgt->placed_address;
+  CORE_ADDR addr = bp_tgt->placed_address = bp_tgt->reqstd_address;
   int ib_breakpoints;
   unsigned char buf[13];
   int i, c;
@@ -1238,9 +1237,9 @@ m32r_remove_breakpoint (struct target_op
 }
 
 static void
-m32r_load (struct target_ops *self, char *args, int from_tty)
+m32r_load (struct target_ops *self, const char *args, int from_tty)
 {
-  struct cleanup *old_chain;
+  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
   asection *section;
   bfd *pbfd;
   bfd_vma entry;
@@ -1258,17 +1257,11 @@ m32r_load (struct target_ops *self, char
 
   while (*args != '\000')
     {
-      char *arg;
-
-      args = skip_spaces (args);
-
-      arg = args;
+      char *arg = extract_arg_const (&args);
 
-      while ((*args != '\000') && !isspace (*args))
-	args++;
-
-      if (*args != '\000')
-	*args++ = '\000';
+      if (arg == NULL)
+	break;
+      make_cleanup (xfree, arg);
 
       if (*arg != '-')
 	filename = arg;
@@ -1285,11 +1278,8 @@ m32r_load (struct target_ops *self, char
 
   pbfd = gdb_bfd_open (filename, gnutarget, -1);
   if (pbfd == NULL)
-    {
-      perror_with_name (filename);
-      return;
-    }
-  old_chain = make_cleanup_bfd_unref (pbfd);
+    perror_with_name (filename);
+  make_cleanup_bfd_unref (pbfd);
 
   if (!bfd_check_format (pbfd, bfd_object))
     error (_("\"%s\" is not an object file: %s"), filename,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-mips.c ./gdb/remote-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-mips.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/remote-mips.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote debugging interface for MIPS remote debugging protocol.
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.  Written by Ian Lance Taylor
    <ian@cygnus.com>.
@@ -29,8 +29,6 @@
 #include "gdbcore.h"
 #include "serial.h"
 #include "target.h"
-#include "exceptions.h"
-#include <string.h>
 #include <sys/stat.h>
 #include "gdb_usleep.h"
 #include "regcache.h"
@@ -77,14 +75,6 @@ static ULONGEST mips_request (int cmd, U
 
 static void mips_initialize (void);
 
-static void mips_open (char *name, int from_tty);
-
-static void pmon_open (char *name, int from_tty);
-
-static void ddb_open (char *name, int from_tty);
-
-static void lsi_open (char *name, int from_tty);
-
 static void mips_close (struct target_ops *self);
 
 static int mips_map_regno (struct gdbarch *, int);
@@ -128,9 +118,7 @@ static void pmon_end_download (int final
 
 static void pmon_download (char *buffer, int length);
 
-static void pmon_load_fast (char *file);
-
-static void mips_load (struct target_ops *self, char *file, int from_tty);
+static void mips_load (struct target_ops *self, const char *file, int from_tty);
 
 static int mips_make_srec (char *buffer, int type, CORE_ADDR memaddr,
 			   unsigned char *myaddr, int len);
@@ -1543,7 +1531,7 @@ mips_initialize (void)
 /* Open a connection to the remote board.  */
 
 static void
-common_open (struct target_ops *ops, char *name, int from_tty,
+common_open (struct target_ops *ops, const char *name, int from_tty,
 	     enum mips_monitor_type new_monitor,
 	     const char *new_monitor_prompt)
 {
@@ -1671,7 +1659,7 @@ seen from the board via TFTP, specify th
 /* Open a connection to an IDT board.  */
 
 static void
-mips_open (char *name, int from_tty)
+mips_open (const char *name, int from_tty)
 {
   const char *monitor_prompt = NULL;
   if (gdbarch_bfd_arch_info (target_gdbarch ()) != NULL
@@ -1696,7 +1684,7 @@ mips_open (char *name, int from_tty)
 /* Open a connection to a PMON board.  */
 
 static void
-pmon_open (char *name, int from_tty)
+pmon_open (const char *name, int from_tty)
 {
   common_open (&pmon_ops, name, from_tty, MON_PMON, "PMON> ");
 }
@@ -1704,7 +1692,7 @@ pmon_open (char *name, int from_tty)
 /* Open a connection to a DDB board.  */
 
 static void
-ddb_open (char *name, int from_tty)
+ddb_open (const char *name, int from_tty)
 {
   common_open (&ddb_ops, name, from_tty, MON_DDB, "NEC010>");
 }
@@ -1712,7 +1700,7 @@ ddb_open (char *name, int from_tty)
 /* Open a connection to a rockhopper board.  */
 
 static void
-rockhopper_open (char *name, int from_tty)
+rockhopper_open (const char *name, int from_tty)
 {
   common_open (&rockhopper_ops, name, from_tty, MON_ROCKHOPPER, "NEC01>");
 }
@@ -1720,7 +1708,7 @@ rockhopper_open (char *name, int from_tt
 /* Open a connection to an LSI board.  */
 
 static void
-lsi_open (char *name, int from_tty)
+lsi_open (const char *name, int from_tty)
 {
   int i;
 
@@ -2243,7 +2231,8 @@ mips_xfer_memory (gdb_byte *readbuf, con
       /* Copy appropriate bytes out of the buffer.  */
       memcpy (readbuf, buffer + (memaddr & 3), len);
     }
-  return len;
+  *xfered_len = len;
+  return TARGET_XFER_OK;
 }
 
 /* Target to_xfer_partial implementation.  */
@@ -2385,8 +2374,11 @@ mips_insert_breakpoint (struct target_op
 			struct bp_target_info *bp_tgt)
 {
   if (monitor_supports_breakpoints)
-    return mips_set_breakpoint (bp_tgt->placed_address, MIPS_INSN32_SIZE,
-				BREAK_FETCH);
+    {
+      bp_tgt->placed_address = bp_tgt->reqstd_address;
+      return mips_set_breakpoint (bp_tgt->placed_address, MIPS_INSN32_SIZE,
+				  BREAK_FETCH);
+    }
   else
     return memory_insert_breakpoint (ops, gdbarch, bp_tgt);
 }
@@ -2804,7 +2796,7 @@ send_srec (char *srec, int len, CORE_ADD
 /*  Download a binary file by converting it to S records.  */
 
 static void
-mips_load_srec (char *args)
+mips_load_srec (const char *args)
 {
   bfd *abfd;
   asection *s;
@@ -3389,7 +3381,7 @@ pmon_download (char *buffer, int length)
    using the FastLoad format.  */
 
 static void
-pmon_load_fast (char *file)
+pmon_load_fast (const char *file)
 {
   bfd *abfd;
   asection *s;
@@ -3548,7 +3540,7 @@ pmon_load_fast (char *file)
 /* mips_load -- download a file.  */
 
 static void
-mips_load (struct target_ops *self, char *file, int from_tty)
+mips_load (struct target_ops *self, const char *file, int from_tty)
 {
   struct regcache *regcache;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-notif.c ./gdb/remote-notif.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-notif.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/remote-notif.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote notification in GDB protocol
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -41,8 +41,6 @@
 #include "infrun.h"
 #include "gdbcmd.h"
 
-#include <string.h>
-
 int notif_debug = 0;
 
 /* Supported clients of notifications.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-notif.h ./gdb/remote-notif.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-notif.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/remote-notif.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Remote notification in GDB protocol
 
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-sim.c ./gdb/remote-sim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/remote-sim.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/remote-sim.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generic remote debugging interface for simulators.
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
    Steve Chamberlain (sac@cygnus.com).
@@ -24,12 +24,10 @@
 #include "inferior.h"
 #include "infrun.h"
 #include "value.h"
-#include <string.h>
 #include <ctype.h>
 #include <fcntl.h>
 #include <signal.h>
 #include <setjmp.h>
-#include <errno.h>
 #include "terminal.h"
 #include "target.h"
 #include "gdbcore.h"
@@ -37,7 +35,6 @@
 #include "gdb/remote-sim.h"
 #include "command.h"
 #include "regcache.h"
-#include "gdb_assert.h"
 #include "sim-regno.h"
 #include "arch-utils.h"
 #include "readline/readline.h"
@@ -73,9 +70,10 @@ static void gdb_os_error (host_callback 
 
 static void gdbsim_kill (struct target_ops *);
 
-static void gdbsim_load (struct target_ops *self, char *prog, int fromtty);
+static void gdbsim_load (struct target_ops *self, const char *prog,
+			 int fromtty);
 
-static void gdbsim_open (char *args, int from_tty);
+static void gdbsim_open (const char *args, int from_tty);
 
 static void gdbsim_close (struct target_ops *self);
 
@@ -179,7 +177,7 @@ get_sim_inferior_data (struct inferior *
      a potential allocation of a sim_inferior_data struct in order to
      avoid needlessly allocating that struct in the event that the sim
      instance allocation fails.  */
-  if (sim_instance_needed == SIM_INSTANCE_NEEDED 
+  if (sim_instance_needed == SIM_INSTANCE_NEEDED
       && (sim_data == NULL || sim_data->gdbsim_desc == NULL))
     {
       struct inferior *idup;
@@ -189,7 +187,7 @@ get_sim_inferior_data (struct inferior *
 	       inf->num);
 
       idup = iterate_over_inferiors (check_for_duplicate_sim_descriptor,
-                                     sim_desc);
+				     sim_desc);
       if (idup != NULL)
 	{
 	  /* We don't close the descriptor due to the fact that it's
@@ -202,8 +200,8 @@ get_sim_inferior_data (struct inferior *
 	  error (
  _("Inferior %d and inferior %d would have identical simulator state.\n"
    "(This simulator does not support the running of more than one inferior.)"),
-		 inf->num, idup->num); 
-        }
+		 inf->num, idup->num);
+	}
     }
 
   if (sim_data == NULL)
@@ -224,7 +222,7 @@ get_sim_inferior_data (struct inferior *
   else if (sim_desc)
     {
       /* This handles the case where sim_data was allocated prior to
-         needing a sim instance.  */
+	 needing a sim instance.  */
       sim_data->gdbsim_desc = sim_desc;
     }
 
@@ -244,7 +242,7 @@ get_sim_inferior_data_by_ptid (ptid_t pt
 
   if (pid <= 0)
     return NULL;
-  
+
   inf = find_inferior_pid (pid);
 
   if (inf)
@@ -446,7 +444,7 @@ gdbsim_fetch_register (struct target_ops
     case SIM_REGNO_DOES_NOT_EXIST:
       {
 	/* For moment treat a `does not exist' register the same way
-           as an ``unavailable'' register.  */
+	   as an ``unavailable'' register.  */
 	gdb_byte buf[MAX_REGISTER_SIZE];
 	int nr_bytes;
 
@@ -454,7 +452,7 @@ gdbsim_fetch_register (struct target_ops
 	regcache_raw_supply (regcache, regno, buf);
 	break;
       }
-      
+
     default:
       {
 	static int warn_user = 1;
@@ -528,11 +526,11 @@ gdbsim_store_register (struct target_ops
 	internal_error (__FILE__, __LINE__,
 			_("Register size different to expected"));
       if (nr_bytes < 0)
-        internal_error (__FILE__, __LINE__,
- 			_("Register %d not updated"), regno);
+	internal_error (__FILE__, __LINE__,
+			_("Register %d not updated"), regno);
       if (nr_bytes == 0)
-        warning (_("Register %s not updated"),
-                 gdbarch_register_name (gdbarch, regno));
+	warning (_("Register %s not updated"),
+		 gdbarch_register_name (gdbarch, regno));
 
       if (remote_debug)
 	{
@@ -562,7 +560,7 @@ gdbsim_kill (struct target_ops *ops)
    GDB's symbol tables to match.  */
 
 static void
-gdbsim_load (struct target_ops *self, char *args, int fromtty)
+gdbsim_load (struct target_ops *self, const char *args, int fromtty)
 {
   char **argv;
   const char *prog;
@@ -657,7 +655,7 @@ gdbsim_create_inferior (struct target_op
   insert_breakpoints ();	/* Needed to get correct instruction
 				   in cache.  */
 
-  clear_proceed_status ();
+  clear_proceed_status (0);
 }
 
 /* The open routine takes the rest of the parameters from the command,
@@ -666,7 +664,7 @@ gdbsim_create_inferior (struct target_op
 /* Called when selecting the simulator.  E.g. (gdb) target sim name.  */
 
 static void
-gdbsim_open (char *args, int from_tty)
+gdbsim_open (const char *args, int from_tty)
 {
   int len;
   char *arg_buf;
@@ -763,7 +761,7 @@ static int
 gdbsim_close_inferior (struct inferior *inf, void *arg)
 {
   struct sim_inferior_data *sim_data = inferior_data (inf,
-                                                      sim_inferior_data_key);
+						      sim_inferior_data_key);
   if (sim_data != NULL)
     {
       ptid_t ptid = sim_data->remote_sim_ptid;
@@ -776,7 +774,7 @@ gdbsim_close_inferior (struct inferior *
 	 Thus we need to verify the existence of an inferior using the
 	 pid in question before setting inferior_ptid via
 	 switch_to_thread() or mourning the inferior.  */
-      if (find_inferior_pid (ptid_get_pid (ptid)) != NULL)
+      if (find_inferior_ptid (ptid) != NULL)
 	{
 	  switch_to_thread (ptid);
 	  generic_mourn_inferior ();
@@ -883,7 +881,7 @@ gdbsim_resume (struct target_ops *ops,
      either have multiple inferiors to resume or an error condition.  */
 
   if (sim_data)
-    gdbsim_resume_inferior (find_inferior_pid (ptid_get_pid (ptid)), &rd);
+    gdbsim_resume_inferior (find_inferior_ptid (ptid), &rd);
   else if (ptid_equal (ptid, minus_one_ptid))
     iterate_over_inferiors (gdbsim_resume_inferior, &rd);
   else
@@ -930,7 +928,7 @@ gdbsim_stop (struct target_ops *self, pt
     }
   else
     {
-      struct inferior *inf = find_inferior_pid (ptid_get_pid (ptid));
+      struct inferior *inf = find_inferior_ptid (ptid);
 
       if (inf == NULL)
 	error (_("Can't stop pid %d.  No inferior found."),
@@ -1007,7 +1005,7 @@ gdbsim_wait (struct target_ops *ops,
   prev_sigint = signal (SIGINT, gdbsim_cntrl_c);
 #endif
   sim_resume (sim_data->gdbsim_desc, sim_data->resume_step,
-              sim_data->resume_siggnal);
+	      sim_data->resume_siggnal);
 
   signal (SIGINT, prev_sigint);
   sim_data->resume_step = 0;
@@ -1199,14 +1197,14 @@ simulator_command (char *args, int from_
     {
 
       /* PREVIOUSLY: The user may give a command before the simulator
-         is opened. [...] (??? assuming of course one wishes to
-         continue to allow commands to be sent to unopened simulators,
-         which isn't entirely unreasonable).  */
+	 is opened. [...] (??? assuming of course one wishes to
+	 continue to allow commands to be sent to unopened simulators,
+	 which isn't entirely unreasonable).  */
 
       /* The simulator is a builtin abstraction of a remote target.
-         Consistent with that model, access to the simulator, via sim
-         commands, is restricted to the period when the channel to the
-         simulator is open.  */
+	 Consistent with that model, access to the simulator, via sim
+	 commands, is restricted to the period when the channel to the
+	 simulator is open.  */
 
       error (_("Not connected to the simulator target"));
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/reply_mig_hack.awk ./gdb/reply_mig_hack.awk
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/reply_mig_hack.awk	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/reply_mig_hack.awk	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # Reply server mig-output massager
 #
-#   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 #
 #   Written by Miles Bader <miles@gnu.ai.mit.edu>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/reverse.c ./gdb/reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/reverse.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Reverse execution and reverse debugging.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "target.h"
 #include "top.h"
 #include "cli/cli-cmds.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rl78-tdep.c ./gdb/rl78-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rl78-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/rl78-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Renesas RL78 for GDB, the GNU debugger.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-aix-tdep.c ./gdb/rs6000-aix-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-aix-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/rs6000-aix-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native support code for PPC AIX, for GDB the GNU debugger.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Free Software Foundation, Inc.
 
@@ -20,8 +20,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "osabi.h"
 #include "regcache.h"
 #include "regset.h"
@@ -35,7 +33,6 @@
 #include "rs6000-tdep.h"
 #include "ppc-tdep.h"
 #include "rs6000-aix-tdep.h"
-#include "exceptions.h"
 #include "xcoffread.h"
 #include "solib.h"
 #include "solib-aix.h"
@@ -149,25 +146,18 @@ static const struct regset rs6000_aix64_
   rs6000_aix_collect_regset,
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-rs6000_aix_regset_from_core_section (struct gdbarch *gdbarch,
-				     const char *sect_name, size_t sect_size)
+static void
+rs6000_aix_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					 iterate_over_regset_sections_cb *cb,
+					 void *cb_data,
+					 const struct regcache *regcache)
 {
   if (gdbarch_tdep (gdbarch)->wordsize == 4)
-    {
-      if (strcmp (sect_name, ".reg") == 0 && sect_size >= 592)
-        return &rs6000_aix32_regset;
-    }
+    cb (".reg", 592, &rs6000_aix32_regset, NULL, cb_data);
   else
-    {
-      if (strcmp (sect_name, ".reg") == 0 && sect_size >= 576)
-        return &rs6000_aix64_regset;
-    }
-
-  return NULL;
+    cb (".reg", 576, &rs6000_aix64_regset, NULL, cb_data);
 }
 
 
@@ -1067,8 +1057,8 @@ rs6000_aix_init_osabi (struct gdbarch_in
     (gdbarch, rs6000_convert_from_func_ptr_addr);
 
   /* Core file support.  */
-  set_gdbarch_regset_from_core_section
-    (gdbarch, rs6000_aix_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, rs6000_aix_iterate_over_regset_sections);
   set_gdbarch_core_xfer_shared_libraries_aix
     (gdbarch, rs6000_aix_core_xfer_shared_libraries_aix);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-aix-tdep.h ./gdb/rs6000-aix-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-aix-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/rs6000-aix-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-lynx178-tdep.c ./gdb/rs6000-lynx178-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-lynx178-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/rs6000-lynx178-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-nat.c ./gdb/rs6000-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/rs6000-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* IBM RS/6000 native-dependent code for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,7 +25,6 @@
 #include "objfiles.h"
 #include "libbfd.h"		/* For bfd_default_set_arch_mach (FIXME) */
 #include "bfd.h"
-#include "exceptions.h"
 #include "gdb-stabs.h"
 #include "regcache.h"
 #include "arch-utils.h"
@@ -46,7 +45,6 @@
 #include <signal.h>
 #include <sys/ioctl.h>
 #include <fcntl.h>
-#include <errno.h>
 
 #include <a.out.h>
 #include <sys/file.h>
@@ -77,8 +75,6 @@
 # define ARCH64() (register_size (target_gdbarch (), 0) == 8)
 #endif
 
-static void exec_one_dummy_insn (struct regcache *);
-
 static target_xfer_partial_ftype rs6000_xfer_shared_libraries;
 
 /* Given REGNO, a gdb register number, return the corresponding
@@ -254,14 +250,6 @@ store_register (struct regcache *regcach
   /* Fixed-point registers.  */
   else
     {
-      if (regno == gdbarch_sp_regnum (gdbarch))
-	/* Execute one dummy instruction (which is a breakpoint) in inferior
-	   process to give kernel a chance to do internal housekeeping.
-	   Otherwise the following ptrace(2) calls will mess up user stack
-	   since kernel will get confused about the bottom of the stack
-	   (%sp).  */
-	exec_one_dummy_insn (regcache);
-
       /* The PT_WRITE_GPR operation is rather odd.  For 32-bit inferiors,
          the register's value is passed by value, but for 64-bit inferiors,
 	 the address of a buffer containing the value is passed.  */
@@ -534,53 +522,6 @@ rs6000_wait (struct target_ops *ops,
 
   return pid_to_ptid (pid);
 }
-
-/* Execute one dummy breakpoint instruction.  This way we give the kernel
-   a chance to do some housekeeping and update inferior's internal data,
-   including u_area.  */
-
-static void
-exec_one_dummy_insn (struct regcache *regcache)
-{
-#define	DUMMY_INSN_ADDR	AIX_TEXT_SEGMENT_BASE+0x200
-
-  struct gdbarch *gdbarch = get_regcache_arch (regcache);
-  int ret, status, pid;
-  CORE_ADDR prev_pc;
-  void *bp;
-
-  /* We plant one dummy breakpoint into DUMMY_INSN_ADDR address.  We
-     assume that this address will never be executed again by the real
-     code.  */
-
-  bp = deprecated_insert_raw_breakpoint (gdbarch, NULL, DUMMY_INSN_ADDR);
-
-  /* You might think this could be done with a single ptrace call, and
-     you'd be correct for just about every platform I've ever worked
-     on.  However, rs6000-ibm-aix4.1.3 seems to have screwed this up --
-     the inferior never hits the breakpoint (it's also worth noting
-     powerpc-ibm-aix4.1.3 works correctly).  */
-  prev_pc = regcache_read_pc (regcache);
-  regcache_write_pc (regcache, DUMMY_INSN_ADDR);
-  if (ARCH64 ())
-    ret = rs6000_ptrace64 (PT_CONTINUE, ptid_get_pid (inferior_ptid),
-			   1, 0, NULL);
-  else
-    ret = rs6000_ptrace32 (PT_CONTINUE, ptid_get_pid (inferior_ptid),
-			   (int *) 1, 0, NULL);
-
-  if (ret != 0)
-    perror (_("pt_continue"));
-
-  do
-    {
-      pid = waitpid (ptid_get_pid (inferior_ptid), &status, 0);
-    }
-  while (pid != ptid_get_pid (inferior_ptid));
-
-  regcache_write_pc (regcache, prev_pc);
-  deprecated_remove_raw_breakpoint (gdbarch, bp);
-}
 
 
 /* Set the current architecture from the host running GDB.  Called when
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-tdep.c ./gdb/rs6000-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/rs6000-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -55,7 +55,6 @@
 #include "ppc-tdep.h"
 #include "ppc-ravenscar-thread.h"
 
-#include "gdb_assert.h"
 #include "dis-asm.h"
 
 #include "trad-frame.h"
@@ -506,7 +505,7 @@ ppc_supply_gregset (const struct regset 
 {
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  const struct ppc_reg_offsets *offsets = regset->descr;
+  const struct ppc_reg_offsets *offsets = regset->regmap;
   size_t offset;
   int regsize;
 
@@ -558,7 +557,7 @@ ppc_supply_fpregset (const struct regset
     return;
 
   tdep = gdbarch_tdep (gdbarch);
-  offsets = regset->descr;
+  offsets = regset->regmap;
   if (regnum == -1)
     {
       int i;
@@ -626,7 +625,7 @@ ppc_supply_vrregset (const struct regset
     return;
 
   tdep = gdbarch_tdep (gdbarch);
-  offsets = regset->descr;
+  offsets = regset->regmap;
   if (regnum == -1)
     {
       int i;
@@ -665,7 +664,7 @@ ppc_collect_gregset (const struct regset
 {
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  const struct ppc_reg_offsets *offsets = regset->descr;
+  const struct ppc_reg_offsets *offsets = regset->regmap;
   size_t offset;
   int regsize;
 
@@ -719,7 +718,7 @@ ppc_collect_fpregset (const struct regse
     return;
 
   tdep = gdbarch_tdep (gdbarch);
-  offsets = regset->descr;
+  offsets = regset->regmap;
   if (regnum == -1)
     {
       int i;
@@ -792,7 +791,7 @@ ppc_collect_vrregset (const struct regse
     return;
 
   tdep = gdbarch_tdep (gdbarch);
-  offsets = regset->descr;
+  offsets = regset->regmap;
   if (regnum == -1)
     {
       int i;
@@ -3191,9 +3190,14 @@ rs6000_frame_cache (struct frame_info *t
     }
 
   if (!fdata.frameless)
-    /* Frameless really means stackless.  */
-    cache->base
-      = read_memory_unsigned_integer (cache->base, wordsize, byte_order);
+    {
+      /* Frameless really means stackless.  */
+      LONGEST backchain;
+
+      if (safe_read_memory_integer (cache->base, wordsize,
+				    byte_order, &backchain))
+        cache->base = (CORE_ADDR) backchain;
+    }
 
   trad_frame_set_value (cache->saved_regs,
 			gdbarch_sp_regnum (gdbarch), cache->base);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-tdep.h ./gdb/rs6000-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rs6000-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/rs6000-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rx-tdep.c ./gdb/rx-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/rx-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/rx-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Renesas RX for GDB, the GNU debugger.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/s390-linux-nat.c ./gdb/s390-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/s390-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/s390-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* S390 native-dependent code for GDB, the GNU debugger.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by D.J. Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
    for IBM Deutschland Entwicklung GmbH, IBM Corporation.
@@ -26,6 +26,7 @@
 #include "linux-nat.h"
 #include "auxv.h"
 #include "gregset.h"
+#include "regset.h"
 
 #include "s390-linux-tdep.h"
 #include "elf/common.h"
@@ -49,41 +50,45 @@ static int have_regset_last_break = 0;
 static int have_regset_system_call = 0;
 static int have_regset_tdb = 0;
 
-/* Map registers to gregset/ptrace offsets.
-   These arrays are defined in s390-tdep.c.  */
+/* Register map for 32-bit executables running under a 64-bit
+   kernel.  */
 
 #ifdef __s390x__
-#define regmap_gregset s390x_regmap_gregset
-#else
-#define regmap_gregset s390_regmap_gregset
-#endif
-
-#define regmap_fpregset s390_regmap_fpregset
-
-/* Fill the regset described by MAP into REGCACHE, using the values
-   from REGP.  The MAP array represents each register as a pair
-   (offset, regno) of short integers and is terminated with -1. */
+static const struct regcache_map_entry s390_64_regmap_gregset[] =
+  {
+    /* Skip PSWM and PSWA, since they must be handled specially.  */
+    { 2, REGCACHE_MAP_SKIP, 8 },
+    { 1, S390_R0_UPPER_REGNUM, 4 }, { 1, S390_R0_REGNUM, 4 },
+    { 1, S390_R1_UPPER_REGNUM, 4 }, { 1, S390_R1_REGNUM, 4 },
+    { 1, S390_R2_UPPER_REGNUM, 4 }, { 1, S390_R2_REGNUM, 4 },
+    { 1, S390_R3_UPPER_REGNUM, 4 }, { 1, S390_R3_REGNUM, 4 },
+    { 1, S390_R4_UPPER_REGNUM, 4 }, { 1, S390_R4_REGNUM, 4 },
+    { 1, S390_R5_UPPER_REGNUM, 4 }, { 1, S390_R5_REGNUM, 4 },
+    { 1, S390_R6_UPPER_REGNUM, 4 }, { 1, S390_R6_REGNUM, 4 },
+    { 1, S390_R7_UPPER_REGNUM, 4 }, { 1, S390_R7_REGNUM, 4 },
+    { 1, S390_R8_UPPER_REGNUM, 4 }, { 1, S390_R8_REGNUM, 4 },
+    { 1, S390_R9_UPPER_REGNUM, 4 }, { 1, S390_R9_REGNUM, 4 },
+    { 1, S390_R10_UPPER_REGNUM, 4 }, { 1, S390_R10_REGNUM, 4 },
+    { 1, S390_R11_UPPER_REGNUM, 4 }, { 1, S390_R11_REGNUM, 4 },
+    { 1, S390_R12_UPPER_REGNUM, 4 }, { 1, S390_R12_REGNUM, 4 },
+    { 1, S390_R13_UPPER_REGNUM, 4 }, { 1, S390_R13_REGNUM, 4 },
+    { 1, S390_R14_UPPER_REGNUM, 4 }, { 1, S390_R14_REGNUM, 4 },
+    { 1, S390_R15_UPPER_REGNUM, 4 }, { 1, S390_R15_REGNUM, 4 },
+    { 16, S390_A0_REGNUM, 4 },
+    { 1, REGCACHE_MAP_SKIP, 4 }, { 1, S390_ORIG_R2_REGNUM, 4 },
+    { 0 }
+  };
+
+static const struct regset s390_64_gregset =
+  {
+    s390_64_regmap_gregset,
+    regcache_supply_regset,
+    regcache_collect_regset
+  };
 
-static void
-s390_native_supply (struct regcache *regcache, const short *map,
-		    const gdb_byte *regp)
-{
-  for (; map[0] >= 0; map += 2)
-    regcache_raw_supply (regcache, map[1], regp ? regp + map[0] : NULL);
-}
-
-/* Collect the register REGNO out of the regset described by MAP from
-   REGCACHE into REGP.  If REGNO == -1, do this for all registers in
-   this regset. */
-
-static void
-s390_native_collect (const struct regcache *regcache, const short *map,
-		     int regno, gdb_byte *regp)
-{
-  for (; map[0] >= 0; map += 2)
-    if (regno == -1 || regno == map[1])
-      regcache_raw_collect (regcache, map[1], regp + map[0]);
-}
+#define S390_PSWM_OFFSET 0
+#define S390_PSWA_OFFSET 8
+#endif
 
 /* Fill GDB's register array with the general-purpose register values
    in *REGP.
@@ -100,28 +105,15 @@ supply_gregset (struct regcache *regcach
   if (gdbarch_ptr_bit (gdbarch) == 32)
     {
       enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-      ULONGEST pswm = 0, pswa = 0;
+      ULONGEST pswm, pswa;
       gdb_byte buf[4];
-      const short *map;
-
-      for (map = regmap_gregset; map[0] >= 0; map += 2)
-	{
-	  const gdb_byte *p = (const gdb_byte *) regp + map[0];
-	  int regno = map[1];
-
-	  if (regno == S390_PSWM_REGNUM)
-	    pswm = extract_unsigned_integer (p, 8, byte_order);
-	  else if (regno == S390_PSWA_REGNUM)
-	    pswa = extract_unsigned_integer (p, 8, byte_order);
-	  else
-	    {
-	      if ((regno >= S390_R0_REGNUM && regno <= S390_R15_REGNUM)
-		  || regno == S390_ORIG_R2_REGNUM)
-		p += 4;
-	      regcache_raw_supply (regcache, regno, p);
-	    }
-	}
 
+      regcache_supply_regset (&s390_64_gregset, regcache, -1,
+			      regp, sizeof (gregset_t));
+      pswm = extract_unsigned_integer ((const gdb_byte *) regp
+				       + S390_PSWM_OFFSET, 8, byte_order);
+      pswa = extract_unsigned_integer ((const gdb_byte *) regp
+				       + S390_PSWA_OFFSET, 8, byte_order);
       store_unsigned_integer (buf, 4, byte_order, (pswm >> 32) | 0x80000);
       regcache_raw_supply (regcache, S390_PSWM_REGNUM, buf);
       store_unsigned_integer (buf, 4, byte_order,
@@ -131,7 +123,8 @@ supply_gregset (struct regcache *regcach
     }
 #endif
 
-  s390_native_supply (regcache, regmap_gregset, (const gdb_byte *) regp);
+  regcache_supply_regset (&s390_gregset, regcache, -1, regp,
+			  sizeof (gregset_t));
 }
 
 /* Fill register REGNO (if it is a general-purpose register) in
@@ -145,28 +138,8 @@ fill_gregset (const struct regcache *reg
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   if (gdbarch_ptr_bit (gdbarch) == 32)
     {
-      gdb_byte *psw_p[2];
-      const short *map;
-
-      for (map = regmap_gregset; map[0] >= 0; map += 2)
-	{
-	  gdb_byte *p = (gdb_byte *) regp + map[0];
-	  int reg = map[1];
-
-	  if (reg >= S390_PSWM_REGNUM && reg <= S390_PSWA_REGNUM)
-	    psw_p[reg - S390_PSWM_REGNUM] = p;
-
-	  else if (regno == -1 || regno == reg)
-	    {
-	      if ((reg >= S390_R0_REGNUM && reg <= S390_R15_REGNUM)
-		  || reg == S390_ORIG_R2_REGNUM)
-		{
-		  memset (p, 0, 4);
-		  p += 4;
-		}
-	      regcache_raw_collect (regcache, reg, p);
-	    }
-	}
+      regcache_collect_regset (&s390_64_gregset, regcache, regno,
+			       regp, sizeof (gregset_t));
 
       if (regno == -1
 	  || regno == S390_PSWM_REGNUM || regno == S390_PSWA_REGNUM)
@@ -181,18 +154,19 @@ fill_gregset (const struct regcache *reg
 	  pswa = extract_unsigned_integer (buf, 4, byte_order);
 
 	  if (regno == -1 || regno == S390_PSWM_REGNUM)
-	    store_unsigned_integer (psw_p[0], 8, byte_order,
-				    ((pswm & 0xfff7ffff) << 32) |
+	    store_unsigned_integer ((gdb_byte *) regp + S390_PSWM_OFFSET, 8,
+				    byte_order, ((pswm & 0xfff7ffff) << 32) |
 				    (pswa & 0x80000000));
 	  if (regno == -1 || regno == S390_PSWA_REGNUM)
-	    store_unsigned_integer (psw_p[1], 8, byte_order,
-				    pswa & 0x7fffffff);
+	    store_unsigned_integer ((gdb_byte *) regp + S390_PSWA_OFFSET, 8,
+				    byte_order, pswa & 0x7fffffff);
 	}
       return;
     }
 #endif
 
-  s390_native_collect (regcache, regmap_gregset, regno, (gdb_byte *) regp);
+  regcache_collect_regset (&s390_gregset, regcache, regno, regp,
+			   sizeof (gregset_t));
 }
 
 /* Fill GDB's register array with the floating-point register values
@@ -200,7 +174,8 @@ fill_gregset (const struct regcache *reg
 void
 supply_fpregset (struct regcache *regcache, const fpregset_t *regp)
 {
-  s390_native_supply (regcache, regmap_fpregset, (const gdb_byte *) regp);
+  regcache_supply_regset (&s390_fpregset, regcache, -1, regp,
+			  sizeof (fpregset_t));
 }
 
 /* Fill register REGNO (if it is a general-purpose register) in
@@ -209,7 +184,8 @@ supply_fpregset (struct regcache *regcac
 void
 fill_fpregset (const struct regcache *regcache, fpregset_t *regp, int regno)
 {
-  s390_native_collect (regcache, regmap_fpregset, regno, (gdb_byte *) regp);
+  regcache_collect_regset (&s390_fpregset, regcache, regno, regp,
+			   sizeof (fpregset_t));
 }
 
 /* Find the TID for the current inferior thread to use with ptrace.  */
@@ -298,12 +274,13 @@ store_fpregs (const struct regcache *reg
     perror_with_name (_("Couldn't write floating point status"));
 }
 
-/* Fetch all registers in the kernel's register set whose number is REGSET,
-   whose size is REGSIZE, and whose layout is described by REGMAP, from
-   process/thread TID and store their values in GDB's register cache.  */
+/* Fetch all registers in the kernel's register set whose number is
+   REGSET_ID, whose size is REGSIZE, and whose layout is described by
+   REGSET, from process/thread TID and store their values in GDB's
+   register cache.  */
 static void
 fetch_regset (struct regcache *regcache, int tid,
-	      int regset, int regsize, const short *regmap)
+	      int regset_id, int regsize, const struct regset *regset)
 {
   gdb_byte *buf = alloca (regsize);
   struct iovec iov;
@@ -311,23 +288,23 @@ fetch_regset (struct regcache *regcache,
   iov.iov_base = buf;
   iov.iov_len = regsize;
 
-  if (ptrace (PTRACE_GETREGSET, tid, (long) regset, (long) &iov) < 0)
+  if (ptrace (PTRACE_GETREGSET, tid, (long) regset_id, (long) &iov) < 0)
     {
       if (errno == ENODATA)
-	s390_native_supply (regcache, regmap, NULL);
+	regcache_supply_regset (regset, regcache, -1, NULL, regsize);
       else
 	perror_with_name (_("Couldn't get register set"));
     }
   else
-    s390_native_supply (regcache, regmap, buf);
+    regcache_supply_regset (regset, regcache, -1, buf, regsize);
 }
 
-/* Store all registers in the kernel's register set whose number is REGSET,
-   whose size is REGSIZE, and whose layout is described by REGMAP, from
-   GDB's register cache back to process/thread TID.  */
+/* Store all registers in the kernel's register set whose number is
+   REGSET_ID, whose size is REGSIZE, and whose layout is described by
+   REGSET, from GDB's register cache back to process/thread TID.  */
 static void
 store_regset (struct regcache *regcache, int tid,
-	      int regset, int regsize, const short *regmap)
+	      int regset_id, int regsize, const struct regset *regset)
 {
   gdb_byte *buf = alloca (regsize);
   struct iovec iov;
@@ -335,12 +312,12 @@ store_regset (struct regcache *regcache,
   iov.iov_base = buf;
   iov.iov_len = regsize;
 
-  if (ptrace (PTRACE_GETREGSET, tid, (long) regset, (long) &iov) < 0)
+  if (ptrace (PTRACE_GETREGSET, tid, (long) regset_id, (long) &iov) < 0)
     perror_with_name (_("Couldn't get register set"));
 
-  s390_native_collect (regcache, regmap, -1, buf);
+  regcache_collect_regset (regset, regcache, -1, buf, regsize);
 
-  if (ptrace (PTRACE_SETREGSET, tid, (long) regset, (long) &iov) < 0)
+  if (ptrace (PTRACE_SETREGSET, tid, (long) regset_id, (long) &iov) < 0)
     perror_with_name (_("Couldn't set register set"));
 }
 
@@ -379,17 +356,17 @@ s390_linux_fetch_inferior_registers (str
     if (regnum == -1 || regnum == S390_LAST_BREAK_REGNUM)
       fetch_regset (regcache, tid, NT_S390_LAST_BREAK, 8,
 		    (gdbarch_ptr_bit (get_regcache_arch (regcache)) == 32
-		     ? s390_regmap_last_break : s390x_regmap_last_break));
+		     ? &s390_last_break_regset : &s390x_last_break_regset));
 
   if (have_regset_system_call)
     if (regnum == -1 || regnum == S390_SYSTEM_CALL_REGNUM)
       fetch_regset (regcache, tid, NT_S390_SYSTEM_CALL, 4,
-		    s390_regmap_system_call);
+		    &s390_system_call_regset);
 
   if (have_regset_tdb)
     if (regnum == -1 || S390_IS_TDBREGSET_REGNUM (regnum))
       fetch_regset (regcache, tid, NT_S390_TDB, s390_sizeof_tdbregset,
-		    s390_regmap_tdb);
+		    &s390_tdb_regset);
 }
 
 /* Store register REGNUM back into the child process.  If REGNUM is
@@ -411,7 +388,7 @@ s390_linux_store_inferior_registers (str
   if (have_regset_system_call)
     if (regnum == -1 || regnum == S390_SYSTEM_CALL_REGNUM)
       store_regset (regcache, tid, NT_S390_SYSTEM_CALL, 4,
-		    s390_regmap_system_call);
+		    &s390_system_call_regset);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/s390-linux-tdep.c ./gdb/s390-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/s390-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/s390-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GDB, the GNU debugger.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    Contributed by D.J. Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
    for IBM Deutschland Entwicklung GmbH, IBM Corporation.
@@ -39,7 +39,6 @@
 #include "reggroups.h"
 #include "regset.h"
 #include "value.h"
-#include "gdb_assert.h"
 #include "dis-asm.h"
 #include "solib-svr4.h"
 #include "prologue-value.h"
@@ -83,12 +82,9 @@ struct gdbarch_tdep
   int pc_regnum;
   int cc_regnum;
 
-  /* Core file register sets.  */
-  const struct regset *gregset;
-  int sizeof_gregset;
-
-  const struct regset *fpregset;
-  int sizeof_fpregset;
+  int have_linux_v1;
+  int have_linux_v2;
+  int have_tdb;
 };
 
 
@@ -420,204 +416,62 @@ s390_pseudo_register_reggroup_p (struct 
 
 /* Maps for register sets.  */
 
-const short s390_regmap_gregset[] =
-  {
-    0x00, S390_PSWM_REGNUM,
-    0x04, S390_PSWA_REGNUM,
-    0x08, S390_R0_REGNUM,
-    0x0c, S390_R1_REGNUM,
-    0x10, S390_R2_REGNUM,
-    0x14, S390_R3_REGNUM,
-    0x18, S390_R4_REGNUM,
-    0x1c, S390_R5_REGNUM,
-    0x20, S390_R6_REGNUM,
-    0x24, S390_R7_REGNUM,
-    0x28, S390_R8_REGNUM,
-    0x2c, S390_R9_REGNUM,
-    0x30, S390_R10_REGNUM,
-    0x34, S390_R11_REGNUM,
-    0x38, S390_R12_REGNUM,
-    0x3c, S390_R13_REGNUM,
-    0x40, S390_R14_REGNUM,
-    0x44, S390_R15_REGNUM,
-    0x48, S390_A0_REGNUM,
-    0x4c, S390_A1_REGNUM,
-    0x50, S390_A2_REGNUM,
-    0x54, S390_A3_REGNUM,
-    0x58, S390_A4_REGNUM,
-    0x5c, S390_A5_REGNUM,
-    0x60, S390_A6_REGNUM,
-    0x64, S390_A7_REGNUM,
-    0x68, S390_A8_REGNUM,
-    0x6c, S390_A9_REGNUM,
-    0x70, S390_A10_REGNUM,
-    0x74, S390_A11_REGNUM,
-    0x78, S390_A12_REGNUM,
-    0x7c, S390_A13_REGNUM,
-    0x80, S390_A14_REGNUM,
-    0x84, S390_A15_REGNUM,
-    0x88, S390_ORIG_R2_REGNUM,
-    -1, -1
-  };
-
-const short s390x_regmap_gregset[] =
+static const struct regcache_map_entry s390_gregmap[] =
   {
-    0x00, S390_PSWM_REGNUM,
-    0x08, S390_PSWA_REGNUM,
-    0x10, S390_R0_REGNUM,
-    0x18, S390_R1_REGNUM,
-    0x20, S390_R2_REGNUM,
-    0x28, S390_R3_REGNUM,
-    0x30, S390_R4_REGNUM,
-    0x38, S390_R5_REGNUM,
-    0x40, S390_R6_REGNUM,
-    0x48, S390_R7_REGNUM,
-    0x50, S390_R8_REGNUM,
-    0x58, S390_R9_REGNUM,
-    0x60, S390_R10_REGNUM,
-    0x68, S390_R11_REGNUM,
-    0x70, S390_R12_REGNUM,
-    0x78, S390_R13_REGNUM,
-    0x80, S390_R14_REGNUM,
-    0x88, S390_R15_REGNUM,
-    0x90, S390_A0_REGNUM,
-    0x94, S390_A1_REGNUM,
-    0x98, S390_A2_REGNUM,
-    0x9c, S390_A3_REGNUM,
-    0xa0, S390_A4_REGNUM,
-    0xa4, S390_A5_REGNUM,
-    0xa8, S390_A6_REGNUM,
-    0xac, S390_A7_REGNUM,
-    0xb0, S390_A8_REGNUM,
-    0xb4, S390_A9_REGNUM,
-    0xb8, S390_A10_REGNUM,
-    0xbc, S390_A11_REGNUM,
-    0xc0, S390_A12_REGNUM,
-    0xc4, S390_A13_REGNUM,
-    0xc8, S390_A14_REGNUM,
-    0xcc, S390_A15_REGNUM,
-    0x10, S390_R0_UPPER_REGNUM,
-    0x18, S390_R1_UPPER_REGNUM,
-    0x20, S390_R2_UPPER_REGNUM,
-    0x28, S390_R3_UPPER_REGNUM,
-    0x30, S390_R4_UPPER_REGNUM,
-    0x38, S390_R5_UPPER_REGNUM,
-    0x40, S390_R6_UPPER_REGNUM,
-    0x48, S390_R7_UPPER_REGNUM,
-    0x50, S390_R8_UPPER_REGNUM,
-    0x58, S390_R9_UPPER_REGNUM,
-    0x60, S390_R10_UPPER_REGNUM,
-    0x68, S390_R11_UPPER_REGNUM,
-    0x70, S390_R12_UPPER_REGNUM,
-    0x78, S390_R13_UPPER_REGNUM,
-    0x80, S390_R14_UPPER_REGNUM,
-    0x88, S390_R15_UPPER_REGNUM,
-    0xd0, S390_ORIG_R2_REGNUM,
-    -1, -1
+    { 1, S390_PSWM_REGNUM },
+    { 1, S390_PSWA_REGNUM },
+    { 16, S390_R0_REGNUM },
+    { 16, S390_A0_REGNUM },
+    { 1, S390_ORIG_R2_REGNUM },
+    { 0 }
   };
 
-const short s390_regmap_fpregset[] =
+static const struct regcache_map_entry s390_fpregmap[] =
   {
-    0x00, S390_FPC_REGNUM,
-    0x08, S390_F0_REGNUM,
-    0x10, S390_F1_REGNUM,
-    0x18, S390_F2_REGNUM,
-    0x20, S390_F3_REGNUM,
-    0x28, S390_F4_REGNUM,
-    0x30, S390_F5_REGNUM,
-    0x38, S390_F6_REGNUM,
-    0x40, S390_F7_REGNUM,
-    0x48, S390_F8_REGNUM,
-    0x50, S390_F9_REGNUM,
-    0x58, S390_F10_REGNUM,
-    0x60, S390_F11_REGNUM,
-    0x68, S390_F12_REGNUM,
-    0x70, S390_F13_REGNUM,
-    0x78, S390_F14_REGNUM,
-    0x80, S390_F15_REGNUM,
-    -1, -1
+    { 1, S390_FPC_REGNUM, 8 },
+    { 16, S390_F0_REGNUM, 8 },
+    { 0 }
   };
 
-const short s390_regmap_upper[] =
+static const struct regcache_map_entry s390_regmap_upper[] =
   {
-    0x00, S390_R0_UPPER_REGNUM,
-    0x04, S390_R1_UPPER_REGNUM,
-    0x08, S390_R2_UPPER_REGNUM,
-    0x0c, S390_R3_UPPER_REGNUM,
-    0x10, S390_R4_UPPER_REGNUM,
-    0x14, S390_R5_UPPER_REGNUM,
-    0x18, S390_R6_UPPER_REGNUM,
-    0x1c, S390_R7_UPPER_REGNUM,
-    0x20, S390_R8_UPPER_REGNUM,
-    0x24, S390_R9_UPPER_REGNUM,
-    0x28, S390_R10_UPPER_REGNUM,
-    0x2c, S390_R11_UPPER_REGNUM,
-    0x30, S390_R12_UPPER_REGNUM,
-    0x34, S390_R13_UPPER_REGNUM,
-    0x38, S390_R14_UPPER_REGNUM,
-    0x3c, S390_R15_UPPER_REGNUM,
-    -1, -1
+    { 16, S390_R0_UPPER_REGNUM, 4 },
+    { 0 }
   };
 
-const short s390_regmap_last_break[] =
+static const struct regcache_map_entry s390_regmap_last_break[] =
   {
-    0x04, S390_LAST_BREAK_REGNUM,
-    -1, -1
+    { 1, REGCACHE_MAP_SKIP, 4 },
+    { 1, S390_LAST_BREAK_REGNUM, 4 },
+    { 0 }
   };
 
-const short s390x_regmap_last_break[] =
+static const struct regcache_map_entry s390x_regmap_last_break[] =
   {
-    0x00, S390_LAST_BREAK_REGNUM,
-    -1, -1
+    { 1, S390_LAST_BREAK_REGNUM, 8 },
+    { 0 }
   };
 
-const short s390_regmap_system_call[] =
+static const struct regcache_map_entry s390_regmap_system_call[] =
   {
-    0x00, S390_SYSTEM_CALL_REGNUM,
-    -1, -1
+    { 1, S390_SYSTEM_CALL_REGNUM, 4 },
+    { 0 }
   };
 
-const short s390_regmap_tdb[] =
+static const struct regcache_map_entry s390_regmap_tdb[] =
   {
-    0x00, S390_TDB_DWORD0_REGNUM,
-    0x08, S390_TDB_ABORT_CODE_REGNUM,
-    0x10, S390_TDB_CONFLICT_TOKEN_REGNUM,
-    0x18, S390_TDB_ATIA_REGNUM,
-    0x80, S390_TDB_R0_REGNUM,
-    0x88, S390_TDB_R1_REGNUM,
-    0x90, S390_TDB_R2_REGNUM,
-    0x98, S390_TDB_R3_REGNUM,
-    0xa0, S390_TDB_R4_REGNUM,
-    0xa8, S390_TDB_R5_REGNUM,
-    0xb0, S390_TDB_R6_REGNUM,
-    0xb8, S390_TDB_R7_REGNUM,
-    0xc0, S390_TDB_R8_REGNUM,
-    0xc8, S390_TDB_R9_REGNUM,
-    0xd0, S390_TDB_R10_REGNUM,
-    0xd8, S390_TDB_R11_REGNUM,
-    0xe0, S390_TDB_R12_REGNUM,
-    0xe8, S390_TDB_R13_REGNUM,
-    0xf0, S390_TDB_R14_REGNUM,
-    0xf8, S390_TDB_R15_REGNUM,
-    -1, -1
+    { 1, S390_TDB_DWORD0_REGNUM, 8 },
+    { 1, S390_TDB_ABORT_CODE_REGNUM, 8 },
+    { 1, S390_TDB_CONFLICT_TOKEN_REGNUM, 8 },
+    { 1, S390_TDB_ATIA_REGNUM, 8 },
+    { 12, REGCACHE_MAP_SKIP, 8 },
+    { 16, S390_TDB_R0_REGNUM, 8 },
+    { 0 }
   };
 
 
-/* Supply register REGNUM from the register set REGSET to register cache
-   REGCACHE.  If REGNUM is -1, do this for all registers in REGSET.  */
-static void
-s390_supply_regset (const struct regset *regset, struct regcache *regcache,
-		    int regnum, const void *regs, size_t len)
-{
-  const short *map;
-  for (map = regset->descr; map[0] >= 0; map += 2)
-    if (regnum == -1 || regnum == map[1])
-      regcache_raw_supply (regcache, map[1],
-			   regs ? (const char *)regs + map[0] : NULL);
-}
-
-/* Supply the TDB regset.  Like s390_supply_regset, but invalidate the
-   TDB registers unless the TDB format field is valid.  */
+/* Supply the TDB regset.  Like regcache_supply_regset, but invalidate
+   the TDB registers unless the TDB format field is valid.  */
 
 static void
 s390_supply_tdb_regset (const struct regset *regset, struct regcache *regcache,
@@ -627,181 +481,92 @@ s390_supply_tdb_regset (const struct reg
   enum register_status ret;
   int i;
 
-  s390_supply_regset (regset, regcache, regnum, regs, len);
+  regcache_supply_regset (regset, regcache, regnum, regs, len);
   ret = regcache_cooked_read_unsigned (regcache, S390_TDB_DWORD0_REGNUM, &tdw);
   if (ret != REG_VALID || (tdw >> 56) != 1)
-    s390_supply_regset (regset, regcache, regnum, NULL, len);
-}
-
-/* Collect register REGNUM from the register cache REGCACHE and store
-   it in the buffer specified by REGS and LEN as described by the
-   general-purpose register set REGSET.  If REGNUM is -1, do this for
-   all registers in REGSET.  */
-static void
-s390_collect_regset (const struct regset *regset,
-		     const struct regcache *regcache,
-		     int regnum, void *regs, size_t len)
-{
-  const short *map;
-  for (map = regset->descr; map[0] >= 0; map += 2)
-    if (regnum == -1 || regnum == map[1])
-      regcache_raw_collect (regcache, map[1], (char *)regs + map[0]);
+    regcache_supply_regset (regset, regcache, regnum, NULL, len);
 }
 
-static const struct regset s390_gregset = {
-  s390_regmap_gregset,
-  s390_supply_regset,
-  s390_collect_regset
+const struct regset s390_gregset = {
+  s390_gregmap,
+  regcache_supply_regset,
+  regcache_collect_regset
 };
 
-static const struct regset s390x_gregset = {
-  s390x_regmap_gregset,
-  s390_supply_regset,
-  s390_collect_regset
-};
-
-static const struct regset s390_fpregset = {
-  s390_regmap_fpregset,
-  s390_supply_regset,
-  s390_collect_regset
+const struct regset s390_fpregset = {
+  s390_fpregmap,
+  regcache_supply_regset,
+  regcache_collect_regset
 };
 
 static const struct regset s390_upper_regset = {
   s390_regmap_upper,
-  s390_supply_regset,
-  s390_collect_regset
+  regcache_supply_regset,
+  regcache_collect_regset
 };
 
-static const struct regset s390_last_break_regset = {
+const struct regset s390_last_break_regset = {
   s390_regmap_last_break,
-  s390_supply_regset,
-  s390_collect_regset
+  regcache_supply_regset,
+  regcache_collect_regset
 };
 
-static const struct regset s390x_last_break_regset = {
+const struct regset s390x_last_break_regset = {
   s390x_regmap_last_break,
-  s390_supply_regset,
-  s390_collect_regset
+  regcache_supply_regset,
+  regcache_collect_regset
 };
 
-static const struct regset s390_system_call_regset = {
+const struct regset s390_system_call_regset = {
   s390_regmap_system_call,
-  s390_supply_regset,
-  s390_collect_regset
+  regcache_supply_regset,
+  regcache_collect_regset
 };
 
-static const struct regset s390_tdb_regset = {
+const struct regset s390_tdb_regset = {
   s390_regmap_tdb,
   s390_supply_tdb_regset,
-  s390_collect_regset
-};
-
-static struct core_regset_section s390_linux32_regset_sections[] =
-{
-  { ".reg", s390_sizeof_gregset, "general-purpose" },
-  { ".reg2", s390_sizeof_fpregset, "floating-point" },
-  { NULL, 0}
-};
-
-static struct core_regset_section s390_linux32v1_regset_sections[] =
-{
-  { ".reg", s390_sizeof_gregset, "general-purpose" },
-  { ".reg2", s390_sizeof_fpregset, "floating-point" },
-  { ".reg-s390-last-break", 8, "s390 last-break address" },
-  { NULL, 0}
-};
-
-static struct core_regset_section s390_linux32v2_regset_sections[] =
-{
-  { ".reg", s390_sizeof_gregset, "general-purpose" },
-  { ".reg2", s390_sizeof_fpregset, "floating-point" },
-  { ".reg-s390-last-break", 8, "s390 last-break address" },
-  { ".reg-s390-system-call", 4, "s390 system-call" },
-  { NULL, 0}
-};
-
-static struct core_regset_section s390_linux64_regset_sections[] =
-{
-  { ".reg", s390_sizeof_gregset, "general-purpose" },
-  { ".reg2", s390_sizeof_fpregset, "floating-point" },
-  { ".reg-s390-high-gprs", 16*4, "s390 GPR upper halves" },
-  { NULL, 0}
-};
-
-static struct core_regset_section s390_linux64v1_regset_sections[] =
-{
-  { ".reg", s390_sizeof_gregset, "general-purpose" },
-  { ".reg2", s390_sizeof_fpregset, "floating-point" },
-  { ".reg-s390-high-gprs", 16*4, "s390 GPR upper halves" },
-  { ".reg-s390-last-break", 8, "s930 last-break address" },
-  { NULL, 0}
-};
-
-static struct core_regset_section s390_linux64v2_regset_sections[] =
-{
-  { ".reg", s390_sizeof_gregset, "general-purpose" },
-  { ".reg2", s390_sizeof_fpregset, "floating-point" },
-  { ".reg-s390-high-gprs", 16*4, "s390 GPR upper halves" },
-  { ".reg-s390-last-break", 8, "s930 last-break address" },
-  { ".reg-s390-system-call", 4, "s390 system-call" },
-  { ".reg-s390-tdb", s390_sizeof_tdbregset, "s390 TDB" },
-  { NULL, 0}
+  regcache_collect_regset
 };
 
-static struct core_regset_section s390x_linux64_regset_sections[] =
-{
-  { ".reg", s390x_sizeof_gregset, "general-purpose" },
-  { ".reg2", s390_sizeof_fpregset, "floating-point" },
-  { NULL, 0}
-};
-
-static struct core_regset_section s390x_linux64v1_regset_sections[] =
-{
-  { ".reg", s390x_sizeof_gregset, "general-purpose" },
-  { ".reg2", s390_sizeof_fpregset, "floating-point" },
-  { ".reg-s390-last-break", 8, "s930 last-break address" },
-  { NULL, 0}
-};
-
-static struct core_regset_section s390x_linux64v2_regset_sections[] =
-{
-  { ".reg", s390x_sizeof_gregset, "general-purpose" },
-  { ".reg2", s390_sizeof_fpregset, "floating-point" },
-  { ".reg-s390-last-break", 8, "s930 last-break address" },
-  { ".reg-s390-system-call", 4, "s390 system-call" },
-  { ".reg-s390-tdb", s390_sizeof_tdbregset, "s390 TDB" },
-  { NULL, 0}
-};
+/* Iterate over supported core file register note sections. */
 
-
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
-static const struct regset *
-s390_regset_from_core_section (struct gdbarch *gdbarch,
-			       const char *sect_name, size_t sect_size)
+static void
+s390_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				   iterate_over_regset_sections_cb *cb,
+				   void *cb_data,
+				   const struct regcache *regcache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  const int gregset_size = (tdep->abi == ABI_LINUX_S390 ?
+			    s390_sizeof_gregset : s390x_sizeof_gregset);
 
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= tdep->sizeof_gregset)
-    return tdep->gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size >= tdep->sizeof_fpregset)
-    return tdep->fpregset;
-
-  if (strcmp (sect_name, ".reg-s390-high-gprs") == 0 && sect_size >= 16*4)
-    return &s390_upper_regset;
+  cb (".reg", gregset_size, &s390_gregset, NULL, cb_data);
+  cb (".reg2", s390_sizeof_fpregset, &s390_fpregset, NULL, cb_data);
 
-  if (strcmp (sect_name, ".reg-s390-last-break") == 0 && sect_size >= 8)
-    return (gdbarch_ptr_bit (gdbarch) == 32
-	    ?  &s390_last_break_regset : &s390x_last_break_regset);
-
-  if (strcmp (sect_name, ".reg-s390-system-call") == 0 && sect_size >= 4)
-    return &s390_system_call_regset;
-
-  if (strcmp (sect_name, ".reg-s390-tdb") == 0 && sect_size >= 256)
-    return &s390_tdb_regset;
-
-  return NULL;
+  if (tdep->abi == ABI_LINUX_S390 && tdep->gpr_full_regnum != -1)
+    cb (".reg-s390-high-gprs", 16 * 4, &s390_upper_regset,
+	"s390 GPR upper halves", cb_data);
+
+  if (tdep->have_linux_v1)
+    cb (".reg-s390-last-break", 8,
+	(gdbarch_ptr_bit (gdbarch) == 32
+	 ? &s390_last_break_regset : &s390x_last_break_regset),
+	"s930 last-break address", cb_data);
+
+  if (tdep->have_linux_v2)
+    cb (".reg-s390-system-call", 4, &s390_system_call_regset,
+	"s390 system-call", cb_data);
+
+  /* If regcache is set, we are in "write" (gcore) mode.  In this
+     case, don't iterate over the TDB unless its registers are
+     available.  */
+  if (tdep->have_tdb
+      && (regcache == NULL
+	  || REG_VALID == regcache_register_status (regcache,
+						    S390_TDB_DWORD0_REGNUM)))
+    cb (".reg-s390-tdb", s390_sizeof_tdbregset, &s390_tdb_regset,
+	"s390 TDB", cb_data);
 }
 
 static const struct target_desc *
@@ -3043,6 +2808,14 @@ s390_address_class_name_to_type_flags (s
     return 0;
 }
 
+/* Implement gdbarch_gcc_target_options.  GCC does not know "-m32".  */
+
+static char *
+s390_gcc_target_options (struct gdbarch *gdbarch)
+{
+  return xstrdup ("-m31");
+}
+
 /* Implementation of `gdbarch_stap_is_single_operand', as defined in
    gdbarch.h.  */
 
@@ -3068,6 +2841,7 @@ s390_gdbarch_init (struct gdbarch_info i
   int have_upper = 0;
   int have_linux_v1 = 0;
   int have_linux_v2 = 0;
+  int have_tdb = 0;
   int first_pseudo_reg, last_pseudo_reg;
   static const char *const stap_register_prefixes[] = { "%", NULL };
   static const char *const stap_register_indirection_prefixes[] = { "(",
@@ -3212,6 +2986,7 @@ s390_gdbarch_init (struct gdbarch_info i
 	    valid_p &= tdesc_numbered_register (feature, tdesc_data,
 						S390_TDB_DWORD0_REGNUM + i,
 						tdb_regs[i]);
+	  have_tdb = 1;
 	}
 
       if (!valid_p)
@@ -3241,6 +3016,9 @@ s390_gdbarch_init (struct gdbarch_info i
   /* Otherwise create a new gdbarch for the specified machine type.  */
   tdep = XCNEW (struct gdbarch_tdep);
   tdep->abi = tdep_abi;
+  tdep->have_linux_v1 = have_linux_v1;
+  tdep->have_linux_v2 = have_linux_v2;
+  tdep->have_tdb = have_tdb;
   gdbarch = gdbarch_alloc (&info, tdep);
 
   set_gdbarch_believe_pcc_promotion (gdbarch, 0);
@@ -3268,9 +3046,9 @@ s390_gdbarch_init (struct gdbarch_info i
   set_gdbarch_stab_reg_to_regnum (gdbarch, s390_dwarf_reg_to_regnum);
   set_gdbarch_dwarf2_reg_to_regnum (gdbarch, s390_dwarf_reg_to_regnum);
   set_gdbarch_value_from_register (gdbarch, s390_value_from_register);
-  set_gdbarch_regset_from_core_section (gdbarch,
-					s390_regset_from_core_section);
   set_gdbarch_core_read_description (gdbarch, s390_core_read_description);
+  set_gdbarch_iterate_over_regset_sections (gdbarch,
+					    s390_iterate_over_regset_sections);
   set_gdbarch_cannot_store_register (gdbarch, s390_cannot_store_register);
   set_gdbarch_write_pc (gdbarch, s390_write_pc);
   set_gdbarch_pseudo_register_read (gdbarch, s390_pseudo_register_read);
@@ -3333,49 +3111,15 @@ s390_gdbarch_init (struct gdbarch_info i
   switch (tdep->abi)
     {
     case ABI_LINUX_S390:
-      tdep->gregset = &s390_gregset;
-      tdep->sizeof_gregset = s390_sizeof_gregset;
-      tdep->fpregset = &s390_fpregset;
-      tdep->sizeof_fpregset = s390_sizeof_fpregset;
-
       set_gdbarch_addr_bits_remove (gdbarch, s390_addr_bits_remove);
+      set_gdbarch_gcc_target_options (gdbarch, s390_gcc_target_options);
       set_solib_svr4_fetch_link_map_offsets
 	(gdbarch, svr4_ilp32_fetch_link_map_offsets);
 
-      set_xml_syscall_file_name (XML_SYSCALL_FILENAME_S390);
-
-      if (have_upper)
-	{
-	  if (have_linux_v2)
-	    set_gdbarch_core_regset_sections (gdbarch,
-					      s390_linux64v2_regset_sections);
-	  else if (have_linux_v1)
-	    set_gdbarch_core_regset_sections (gdbarch,
-					      s390_linux64v1_regset_sections);
-	  else
-	    set_gdbarch_core_regset_sections (gdbarch,
-					      s390_linux64_regset_sections);
-	}
-      else
-	{
-	  if (have_linux_v2)
-	    set_gdbarch_core_regset_sections (gdbarch,
-					      s390_linux32v2_regset_sections);
-	  else if (have_linux_v1)
-	    set_gdbarch_core_regset_sections (gdbarch,
-					      s390_linux32v1_regset_sections);
-	  else
-	    set_gdbarch_core_regset_sections (gdbarch,
-					      s390_linux32_regset_sections);
-	}
+      set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_S390);
       break;
 
     case ABI_LINUX_ZSERIES:
-      tdep->gregset = &s390x_gregset;
-      tdep->sizeof_gregset = s390x_sizeof_gregset;
-      tdep->fpregset = &s390_fpregset;
-      tdep->sizeof_fpregset = s390_sizeof_fpregset;
-
       set_gdbarch_long_bit (gdbarch, 64);
       set_gdbarch_long_long_bit (gdbarch, 64);
       set_gdbarch_ptr_bit (gdbarch, 64);
@@ -3387,18 +3131,7 @@ s390_gdbarch_init (struct gdbarch_info i
 						    s390_address_class_type_flags_to_name);
       set_gdbarch_address_class_name_to_type_flags (gdbarch,
 						    s390_address_class_name_to_type_flags);
-
-      set_xml_syscall_file_name (XML_SYSCALL_FILENAME_S390);
-
-      if (have_linux_v2)
-	set_gdbarch_core_regset_sections (gdbarch,
-					  s390x_linux64v2_regset_sections);
-      else if (have_linux_v1)
-	set_gdbarch_core_regset_sections (gdbarch,
-					  s390x_linux64v1_regset_sections);
-      else
-	set_gdbarch_core_regset_sections (gdbarch,
-					  s390x_linux64_regset_sections);
+      set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_S390);
       break;
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/s390-linux-tdep.h ./gdb/s390-linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/s390-linux-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/s390-linux-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target-dependent code for GDB, the GNU debugger.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -150,15 +150,14 @@
 
 /* Core file register sets, defined in s390-tdep.c.  */
 #define s390_sizeof_gregset 0x90
-extern const short s390_regmap_gregset[];
 #define s390x_sizeof_gregset 0xd8
-extern const short s390x_regmap_gregset[];
+extern const struct regset s390_gregset;
 #define s390_sizeof_fpregset 0x88
-extern const short s390_regmap_fpregset[];
-extern const short s390_regmap_last_break[];
-extern const short s390x_regmap_last_break[];
-extern const short s390_regmap_system_call[];
-extern const short s390_regmap_tdb[];
+extern const struct regset s390_fpregset;
+extern const struct regset s390_last_break_regset;
+extern const struct regset s390x_last_break_regset;
+extern const struct regset s390_system_call_regset;
+extern const struct regset s390_tdb_regset;
 #define s390_sizeof_tdbregset 0x100
 
 /* GNU/Linux target descriptions.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/score-tdep.c ./gdb/score-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/score-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/score-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Target-dependent code for the S+core architecture, for GDB,
    the GNU Debugger.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by Qinwei (qinwei@sunnorth.com.cn)
    Contributed by Ching-Peng Lin (cplin@sunplus.com)
@@ -22,7 +22,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "gdb_assert.h"
 #include "inferior.h"
 #include "symtab.h"
 #include "objfiles.h"
@@ -1398,75 +1397,64 @@ score_prologue_frame_base_sniffer (struc
   return &score_prologue_frame_base;
 }
 
-/* Core file support (dirty hack)
-  
-   The core file MUST be generated by GNU/Linux on S+core.  */
-
-static void
-score7_linux_supply_gregset(const struct regset *regset,
-                struct regcache *regcache,
-                int regnum, const void *gregs_buf, size_t len)
-{
-  int regno;
-  elf_gregset_t *gregs;
-
-  gdb_assert (regset != NULL);
-  gdb_assert ((regcache != NULL) && (gregs_buf != NULL));
-
-  gregs = (elf_gregset_t *) gregs_buf;
-
-  for (regno = 0; regno < 32; regno++)
-    if (regnum == -1 || regnum == regno)
-      regcache_raw_supply (regcache, regno, gregs->regs + regno);
+/* Core file support.  */
 
+static const struct regcache_map_entry score7_linux_gregmap[] =
   {
-    struct sreg {
-      int regnum;
-      void *buf;
-    } sregs [] = {
-      { 55, &(gregs->cel) },  /* CEL */
-      { 54, &(gregs->ceh) },  /* CEH */
-      { 53, &(gregs->sr0) },  /* sr0, i.e. cnt or COUNTER */
-      { 52, &(gregs->sr1) },  /* sr1, i.e. lcr or LDCR */
-      { 51, &(gregs->sr1) },  /* sr2, i.e. scr or STCR */
-
-      /* Exception occured at this address, exactly the PC we want */
-      { 49, &(gregs->cp0_epc) }, /* PC */
-
-      { 38, &(gregs->cp0_ema) }, /* EMA */
-      { 37, &(gregs->cp0_epc) }, /* EPC */
-      { 34, &(gregs->cp0_ecr) }, /* ECR */
-      { 33, &(gregs->cp0_condition) }, /* COND */
-      { 32, &(gregs->cp0_psr) }, /* PSR */
-    };
+    /* FIXME: According to the current Linux kernel, r0 is preceded by
+       9 rather than 7 words.  */
+    { 7, REGCACHE_MAP_SKIP, 4 },
+    { 32, 0, 4 },		/* r0 ... r31 */
+    { 1, 55, 4 },		/* CEL */
+    { 1, 54, 4 },		/* CEH */
+    { 1, 53, 4 },		/* sr0, i.e. cnt or COUNTER */
+    { 1, 52, 4 },		/* sr1, i.e. lcr or LDCR */
+    { 1, 51, 4 },		/* sr2, i.e. scr or STCR */
+    { 1, 49, 4 },		/* PC (same slot as EPC) */
+    { 1, 38, 4 },		/* EMA */
+    { 1, 32, 4 },		/* PSR */
+    { 1, 34, 4 },		/* ECR */
+    { 1, 33, 4 },		/* COND */
+    { 0 }
+  };
 
-    for (regno = 0; regno < sizeof(sregs)/sizeof(sregs[0]); regno++)
-      if (regnum == -1 || regnum == sregs[regno].regnum)
-	regcache_raw_supply (regcache,
-			     sregs[regno].regnum, sregs[regno].buf);
-  }
+#define SCORE7_LINUX_EPC_OFFSET (44 * 4)
+#define SCORE7_LINUX_SIZEOF_GREGSET (49 * 4)
+
+static void
+score7_linux_supply_gregset(const struct regset *regset,
+			    struct regcache *regcache,
+			    int regnum, const void *buf,
+			    size_t size)
+{
+  regcache_supply_regset (regset, regcache, regnum, buf, size);
+
+  /* Supply the EPC from the same slot as the PC.  Note that the
+     collect function will store the PC in that slot.  */
+  if ((regnum == -1 || regnum == SCORE_EPC_REGNUM)
+      && size >= SCORE7_LINUX_EPC_OFFSET + 4)
+    regcache_raw_supply (regcache, SCORE_EPC_REGNUM,
+			 (const gdb_byte *) buf
+			 + SCORE7_LINUX_EPC_OFFSET);
 }
 
 static const struct regset score7_linux_gregset =
   {
-    NULL,
-    score7_linux_supply_gregset, NULL
+    score7_linux_gregmap,
+    score7_linux_supply_gregset,
+    regcache_collect_regset
   };
 
-/* Return the appropriate register set from the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-score7_linux_regset_from_core_section(struct gdbarch *gdbarch,
-                    const char *sect_name, size_t sect_size)
+static void
+score7_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
+					   iterate_over_regset_sections_cb *cb,
+					   void *cb_data,
+					   const struct regcache *regcache)
 {
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (sect_name != NULL);
-
-  if (strcmp(sect_name, ".reg") == 0 && sect_size == sizeof(elf_gregset_t))
-    return &score7_linux_gregset;
-
-  return NULL;
+  cb (".reg", SCORE7_LINUX_SIZEOF_GREGSET, &score7_linux_gregset,
+      NULL, cb_data);
 }
 
 static struct gdbarch *
@@ -1511,8 +1499,8 @@ score_gdbarch_init (struct gdbarch_info 
       set_gdbarch_register_name (gdbarch, score7_register_name);
       set_gdbarch_num_regs (gdbarch, SCORE7_NUM_REGS);
       /* Core file support.  */
-      set_gdbarch_regset_from_core_section (gdbarch,
-					    score7_linux_regset_from_core_section);
+      set_gdbarch_iterate_over_regset_sections
+	(gdbarch, score7_linux_iterate_over_regset_sections);
       break;
 
     case bfd_mach_score3:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/score-tdep.h ./gdb/score-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/score-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/score-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Target-dependent code for the S+core architecture, for GDB,
    the GNU Debugger.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by Qinwei (qinwei@sunnorth.com.cn)
    Contributed by Ching-Peng Lin (cplin@sunplus.com)
@@ -32,6 +32,7 @@ enum gdb_regnum
   SCORE_RA_REGNUM = 3,
   SCORE_A0_REGNUM = 4,
   SCORE_AL_REGNUM = 7,
+  SCORE_EPC_REGNUM = 37,
   SCORE_PC_REGNUM = 49,
 };
 
@@ -46,37 +47,4 @@ enum gdb_regnum
 #define SCORE_INSTLEN          4
 #define SCORE16_INSTLEN        2
 
-/* Forward declarations.  */
-struct regset;
-
-/* Linux Core file support (dirty hack)
-  
-   S+core Linux register set definition, copy from S+core Linux.  */
-struct pt_regs {
-    /* Pad bytes for argument save space on the stack.  */
-    unsigned long pad0[6]; /* may be 4, MIPS accept 6var, SCore
-			      accepts 4 Var--yuchen */
-
-    /* Saved main processor registers.  */
-    unsigned long orig_r4;
-    unsigned long regs[32];
-
-    /* Other saved registers.  */
-    unsigned long cel;
-    unsigned long ceh;
-
-    unsigned long sr0;  /*cnt*/
-    unsigned long sr1;  /*lcr*/
-    unsigned long sr2;  /*scr*/
-
-    /* saved cp0 registers */
-    unsigned long cp0_epc;
-    unsigned long cp0_ema;
-    unsigned long cp0_psr;
-    unsigned long cp0_ecr;
-    unsigned long cp0_condition;
-};
-
-typedef struct pt_regs elf_gregset_t;
-
 #endif /* SCORE_TDEP_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sentinel-frame.c ./gdb/sentinel-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sentinel-frame.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sentinel-frame.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code dealing with register stack frames, for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sentinel-frame.h ./gdb/sentinel-frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sentinel-frame.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sentinel-frame.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code dealing with register stack frames, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-base.c ./gdb/ser-base.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-base.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ser-base.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generic serial interface functions.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,8 +23,6 @@
 #include "event-loop.h"
 
 #include "gdb_select.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include <sys/time.h>
 #ifdef USE_WIN32API
 #include <winsock2.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-base.h ./gdb/ser-base.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-base.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ser-base.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generic serial interface functions.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-go32.c ./gdb/ser-go32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-go32.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ser-go32.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Remote serial interface for local (hardwired) serial ports for GO32.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    Contributed by Nigel Stephens, Algorithmics Ltd. (nigel@algor.co.uk).
 
@@ -24,9 +24,6 @@
 #include "defs.h"
 #include "gdbcmd.h"
 #include "serial.h"
-#include <string.h>
-
-
 /*
  * NS16550 UART registers
  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/serial.c ./gdb/serial.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/serial.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/serial.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generic serial interface routines
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,7 +20,6 @@
 #include "defs.h"
 #include <ctype.h>
 #include "serial.h"
-#include <string.h>
 #include "gdbcmd.h"
 #include "cli/cli-utils.h"
 
@@ -615,7 +614,7 @@ serial_set_cmd (char *args, int from_tty
 {
   printf_unfiltered ("\"set serial\" must be followed "
 		     "by the name of a command.\n");
-  help_list (serial_set_cmdlist, "set serial ", -1, gdb_stdout);
+  help_list (serial_set_cmdlist, "set serial ", all_commands, gdb_stdout);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/serial.h ./gdb/serial.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/serial.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/serial.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Remote serial support interface definitions for GDB, the GNU Debugger.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-mingw.c ./gdb/ser-mingw.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-mingw.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ser-mingw.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Serial interface for local (hardwired) serial ports on Windows systems
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,9 +29,6 @@
 #include <unistd.h>
 #include <sys/types.h>
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "command.h"
 
 void _initialize_ser_windows (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-pipe.c ./gdb/ser-pipe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-pipe.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ser-pipe.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Serial interface for a pipe to a separate program
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions.
 
@@ -29,7 +29,6 @@
 #include <sys/socket.h>
 #include <sys/time.h>
 #include <fcntl.h>
-#include <string.h>
 #include "filestuff.h"
 
 #include <signal.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-tcp.c ./gdb/ser-tcp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-tcp.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ser-tcp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Serial interface for raw TCP connections on Un*x like systems.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -53,7 +53,6 @@
 #endif
 
 #include <signal.h>
-#include <string.h>
 #include "gdb_select.h"
 
 #ifndef HAVE_SOCKLEN_T
@@ -363,13 +362,13 @@ ser_tcp_send_break (struct serial *scb)
 static void
 set_tcp_cmd (char *args, int from_tty)
 {
-  help_list (tcp_set_cmdlist, "set tcp ", -1, gdb_stdout);
+  help_list (tcp_set_cmdlist, "set tcp ", all_commands, gdb_stdout);
 }
 
 static void
 show_tcp_cmd (char *args, int from_tty)
 {
-  help_list (tcp_show_cmdlist, "show tcp ", -1, gdb_stdout);
+  help_list (tcp_show_cmdlist, "show tcp ", all_commands, gdb_stdout);
 }
 
 #ifndef USE_WIN32API
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-tcp.h ./gdb/ser-tcp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-tcp.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ser-tcp.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Serial interface for raw TCP connections on Un*x like systems.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-unix.c ./gdb/ser-unix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-unix.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ser-unix.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Serial interface for local (hardwired) serial ports on Un*x like systems
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,7 +29,6 @@
 #include <sys/time.h>
 
 #include "gdb_select.h"
-#include <string.h>
 #include "gdbcmd.h"
 #include "filestuff.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-unix.h ./gdb/ser-unix.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ser-unix.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/ser-unix.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Serial interface for UN*X file-descriptor based connection.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh64-tdep.c ./gdb/sh64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh64-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sh64-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Renesas Super-H, for GDB.
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,8 +32,6 @@
 #include "value.h"
 #include "dis-asm.h"
 #include "inferior.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "arch-utils.h"
 #include "regcache.h"
 #include "osabi.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh64-tdep.h ./gdb/sh64-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh64-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sh64-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target-dependent definitions for Renesas Super-H, for GDB.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh-linux-tdep.c ./gdb/sh-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sh-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux Super-H.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -200,8 +200,12 @@ sh_linux_init_abi (struct gdbarch_info i
     {
       struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+      /* Remember regset characteristics.  The sizes should match
+	 elf_gregset_t and elf_fpregset_t from Linux.  */
       tdep->core_gregmap = (struct sh_corefile_regmap *)gregs_table;
+      tdep->sizeof_gregset = 92;
       tdep->core_fpregmap = (struct sh_corefile_regmap *)fpregs_table;
+      tdep->sizeof_fpregset = 136;
 
       tramp_frame_prepend_unwinder (gdbarch, &sh_linux_sigreturn_tramp_frame);
       tramp_frame_prepend_unwinder (gdbarch, &sh_linux_rt_sigreturn_tramp_frame);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/shnbsd-nat.c ./gdb/shnbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/shnbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/shnbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for NetBSD/sh.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Wasabi Systems, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/shnbsd-tdep.c ./gdb/shnbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/shnbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/shnbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/sh.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Wasabi Systems, Inc.
 
@@ -25,8 +25,6 @@
 #include "value.h"
 #include "osabi.h"
 
-#include <string.h>
-
 #include "sh-tdep.h"
 #include "solib-svr4.h"
 
@@ -66,6 +64,7 @@ shnbsd_init_abi (struct gdbarch_info inf
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   tdep->core_gregmap = (struct sh_corefile_regmap *)regmap;
+  tdep->sizeof_gregset = 84;
 
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh-tdep.c ./gdb/sh-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sh-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Renesas Super-H, for GDB.
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,8 +32,6 @@
 #include "value.h"
 #include "dis-asm.h"
 #include "inferior.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "arch-utils.h"
 #include "floatformat.h"
 #include "regcache.h"
@@ -2209,19 +2207,19 @@ static const struct regset sh_corefile_f
   sh_corefile_collect_regset
 };
 
-static const struct regset *
-sh_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name,
-			     size_t sect_size)
+static void
+sh_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				 iterate_over_regset_sections_cb *cb,
+				 void *cb_data,
+				 const struct regcache *regcache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-  if (tdep->core_gregmap && strcmp (sect_name, ".reg") == 0)
-    return &sh_corefile_gregset;
-
-  if (tdep->core_fpregmap && strcmp (sect_name, ".reg2") == 0)
-    return &sh_corefile_fpregset;
+  if (tdep->core_gregmap != NULL)
+    cb (".reg", tdep->sizeof_gregset, &sh_corefile_gregset, NULL, cb_data);
 
-  return NULL;
+  if (tdep->core_fpregmap != NULL)
+    cb (".reg2", tdep->sizeof_fpregset, &sh_corefile_fpregset, NULL, cb_data);
 }
 
 /* This is the implementation of gdbarch method
@@ -2300,7 +2298,8 @@ sh_gdbarch_init (struct gdbarch_info inf
 
   dwarf2_frame_set_init_reg (gdbarch, sh_dwarf2_frame_init_reg);
 
-  set_gdbarch_regset_from_core_section (gdbarch, sh_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, sh_iterate_over_regset_sections);
 
   switch (info.bfd_arch_info->mach)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh-tdep.h ./gdb/sh-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sh-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sh-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target-specific definition for a Renesas Super-H.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -95,10 +95,12 @@ struct gdbarch_tdep
      where each general-purpose register is stored inside the associated
      core file section.  */
   struct sh_corefile_regmap *core_gregmap;
+  int sizeof_gregset;
   /* Non-NULL when debugging from a core file and when FP registers are
      available.  Provides the offset where each FP register is stored
      inside the associated core file section.  */
   struct sh_corefile_regmap *core_fpregmap;
+  int sizeof_fpregset;
 };
 
 extern const struct regset sh_corefile_gregset;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sim-regno.h ./gdb/sim-regno.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sim-regno.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sim-regno.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generic remote debugging interface for simulators.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/skip.c ./gdb/skip.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/skip.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/skip.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Skipping uninteresting files and functions while stepping.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,7 +20,6 @@
 #include "value.h"
 #include "valprint.h"
 #include "ui-out.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbcmd.h"
 #include "command.h"
@@ -30,7 +29,6 @@
 #include "arch-utils.h"
 #include "linespec.h"
 #include "objfiles.h"
-#include "exceptions.h"
 #include "breakpoint.h" /* for get_sal_arch () */
 #include "source.h"
 #include "filenames.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/skip.h ./gdb/skip.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/skip.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/skip.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Header for skipping over uninteresting files and functions when debugging.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sol2-tdep.c ./gdb/sol2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sol2-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sol2-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Solaris.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -60,7 +60,7 @@ sol2_core_pid_to_str (struct gdbarch *gd
   /* GDB didn't use to put a NT_PSTATUS note in Solaris cores.  If
      that's missing, then we're dealing with a fake PID corelow.c made
      up.  */
-  inf = find_inferior_pid (ptid_get_pid (ptid));
+  inf = find_inferior_ptid (ptid);
   if (inf == NULL || inf->fake_pid_p)
     {
       xsnprintf (buf, sizeof buf, "<core>");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sol2-tdep.h ./gdb/sol2-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sol2-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sol2-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Solaris.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-aix.c ./gdb/solib-aix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-aix.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-aix.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-aix.h ./gdb/solib-aix.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-aix.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-aix.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib.c ./gdb/solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,12 +21,10 @@
 
 #include <sys/types.h>
 #include <fcntl.h>
-#include <string.h>
 #include "symtab.h"
 #include "bfd.h"
 #include "symfile.h"
 #include "objfiles.h"
-#include "exceptions.h"
 #include "gdbcore.h"
 #include "command.h"
 #include "target.h"
@@ -604,8 +602,6 @@ master_so_list (void)
 int
 solib_read_symbols (struct so_list *so, int flags)
 {
-  const int from_tty = flags & SYMFILE_VERBOSE;
-
   if (so->symbols_loaded)
     {
       /* If needed, we've already warned in our caller.  */
@@ -649,11 +645,7 @@ solib_read_symbols (struct so_list *so, 
 					    " library symbols for %s:\n"),
 			   so->so_name);
       else
-	{
-	  if (print_symbol_loading_p (from_tty, 0, 1))
-	    printf_unfiltered (_("Loaded symbols for %s\n"), so->so_name);
-	  so->symbols_loaded = 1;
-	}
+	so->symbols_loaded = 1;
       return 1;
     }
 
@@ -900,7 +892,7 @@ libpthread_solib_p (struct so_list *so)
    FROM_TTY and TARGET are as described for update_solib_list, above.  */
 
 void
-solib_add (char *pattern, int from_tty,
+solib_add (const char *pattern, int from_tty,
 	   struct target_ops *target, int readsyms)
 {
   struct so_list *gdb;
@@ -1412,11 +1404,11 @@ show_auto_solib_add (struct ui_file *fil
    the library-specific handler if it is installed for the current target.  */
 
 struct symbol *
-solib_global_lookup (const struct objfile *objfile,
+solib_global_lookup (struct objfile *objfile,
 		     const char *name,
 		     const domain_enum domain)
 {
-  const struct target_so_ops *ops = solib_ops (target_gdbarch ());
+  const struct target_so_ops *ops = solib_ops (get_objfile_arch (objfile));
 
   if (ops->lookup_lib_global_symbol != NULL)
     return ops->lookup_lib_global_symbol (objfile, name, domain);
@@ -1451,8 +1443,28 @@ gdb_bfd_lookup_symbol_from_symtab (bfd *
 
 	  if (match_sym (sym, data))
 	    {
+	      struct gdbarch *gdbarch = target_gdbarch ();
+	      symaddr = sym->value;
+
+	      /* Some ELF targets fiddle with addresses of symbols they
+	         consider special.  They use minimal symbols to do that
+	         and this is needed for correct breakpoint placement,
+	         but we do not have full data here to build a complete
+	         minimal symbol, so just set the address and let the
+	         targets cope with that.  */
+	      if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
+		  && gdbarch_elf_make_msymbol_special_p (gdbarch))
+		{
+		  struct minimal_symbol msym;
+
+		  memset (&msym, 0, sizeof (msym));
+		  SET_MSYMBOL_VALUE_ADDRESS (&msym, symaddr);
+		  gdbarch_elf_make_msymbol_special (gdbarch, sym, &msym);
+		  symaddr = MSYMBOL_VALUE_RAW_ADDRESS (&msym);
+		}
+
 	      /* BFD symbols are section relative.  */
-	      symaddr = sym->value + sym->section->vma;
+	      symaddr += sym->section->vma;
 	      break;
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-darwin.c ./gdb/solib-darwin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-darwin.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-darwin.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle Darwin shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,8 +30,6 @@
 #include "gdbthread.h"
 #include "gdb_bfd.h"
 
-#include "gdb_assert.h"
-
 #include "solist.h"
 #include "solib.h"
 #include "solib-svr4.h"
@@ -40,7 +38,6 @@
 #include "elf-bfd.h"
 #include "exec.h"
 #include "auxv.h"
-#include "exceptions.h"
 #include "mach-o.h"
 #include "mach-o/external.h"
 
@@ -573,7 +570,7 @@ darwin_relocate_section_addresses (struc
 }
 
 static struct symbol *
-darwin_lookup_lib_symbol (const struct objfile *objfile,
+darwin_lookup_lib_symbol (struct objfile *objfile,
 			  const char *name,
 			  const domain_enum domain)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-darwin.h ./gdb/solib-darwin.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-darwin.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-darwin.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-dsbt.c ./gdb/solib-dsbt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-dsbt.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-dsbt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Handle TIC6X (DSBT) shared libraries for GDB, the GNU Debugger.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
 
 
 #include "defs.h"
-#include <string.h>
 #include "inferior.h"
 #include "gdbcore.h"
 #include "solib.h"
@@ -29,7 +28,6 @@
 #include "command.h"
 #include "gdbcmd.h"
 #include "elf-bfd.h"
-#include "exceptions.h"
 #include "gdb_bfd.h"
 
 #define GOT_MODULE_OFFSET 4
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-frv.c ./gdb/solib-frv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-frv.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-frv.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Handle FR-V (FDPIC) shared libraries for GDB, the GNU Debugger.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
 
 
 #include "defs.h"
-#include <string.h>
 #include "inferior.h"
 #include "gdbcore.h"
 #include "solib.h"
@@ -30,7 +29,6 @@
 #include "command.h"
 #include "gdbcmd.h"
 #include "elf/frv.h"
-#include "exceptions.h"
 #include "gdb_bfd.h"
 
 /* Flag which indicates whether internal debug messages should be printed.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib.h ./gdb/solib.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Shared library declarations for GDB, the GNU Debugger.
    
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -33,7 +33,7 @@ extern void clear_solib (void);
 
 /* Called to add symbols from a shared library to gdb's symbol table.  */
 
-extern void solib_add (char *, int, struct target_ops *, int);
+extern void solib_add (const char *, int, struct target_ops *, int);
 extern int solib_read_symbols (struct so_list *, int);
 
 /* Function to be called when the inferior starts up, to discover the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-ia64-hpux.c ./gdb/solib-ia64-hpux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-ia64-hpux.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-ia64-hpux.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,7 +30,6 @@
 #include "symfile.h"
 #include "objfiles.h"
 #include "elf-bfd.h"
-#include "exceptions.h"
 
 /* Need to define the following macro in order to get the complete
    load_module_desc struct definition in dlfcn.h  Otherwise, it doesn't
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-ia64-hpux.h ./gdb/solib-ia64-hpux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-ia64-hpux.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-ia64-hpux.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-irix.c ./gdb/solib-irix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-irix.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-irix.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,656 +0,0 @@
-/* Shared library support for IRIX.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
-
-   This file was created using portions of irix5-nat.c originally
-   contributed to GDB by Ian Lance Taylor.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-
-#include "symtab.h"
-#include "bfd.h"
-/* FIXME: ezannoni/2004-02-13 Verify that the include below is
-   really needed.  */
-#include "symfile.h"
-#include "objfiles.h"
-#include "gdbcore.h"
-#include "target.h"
-#include "inferior.h"
-#include "infrun.h"
-#include "gdbthread.h"
-
-#include "solist.h"
-#include "solib.h"
-#include "solib-irix.h"
-
-
-/* Link map info to include in an allocate so_list entry.  Unlike some
-   of the other solib backends, this (Irix) backend chooses to decode
-   the link map info obtained from the target and store it as (mostly)
-   CORE_ADDRs which need no further decoding.  This is more convenient
-   because there are three different link map formats to worry about.
-   We use a single routine (fetch_lm_info) to read (and decode) the target
-   specific link map data.  */
-
-struct lm_info
-{
-  CORE_ADDR addr;		/* address of obj_info or obj_list
-				   struct on target (from which the
-				   following information is obtained).  */
-  CORE_ADDR next;		/* address of next item in list.  */
-  CORE_ADDR reloc_offset;	/* amount to relocate by  */
-  CORE_ADDR pathname_addr;	/* address of pathname  */
-  int pathname_len;		/* length of pathname */
-};
-
-/* It's not desirable to use the system header files to obtain the
-   structure of the obj_list or obj_info structs.  Therefore, we use a
-   platform neutral representation which has been derived from the IRIX
-   header files.  */
-
-typedef struct
-{
-  gdb_byte b[4];
-}
-gdb_int32_bytes;
-typedef struct
-{
-  gdb_byte b[8];
-}
-gdb_int64_bytes;
-
-/* The "old" obj_list struct.  This is used with old (o32) binaries.
-   The ``data'' member points at a much larger and more complicated
-   struct which we will only refer to by offsets.  See
-   fetch_lm_info().  */
-
-struct irix_obj_list
-{
-  gdb_int32_bytes data;
-  gdb_int32_bytes next;
-  gdb_int32_bytes prev;
-};
-
-/* The ELF32 and ELF64 versions of the above struct.  The oi_magic value
-   corresponds to the ``data'' value in the "old" struct.  When this value
-   is 0xffffffff, the data will be in one of the following formats.  The
-   ``oi_size'' field is used to decide which one we actually have.  */
-
-struct irix_elf32_obj_info
-{
-  gdb_int32_bytes oi_magic;
-  gdb_int32_bytes oi_size;
-  gdb_int32_bytes oi_next;
-  gdb_int32_bytes oi_prev;
-  gdb_int32_bytes oi_ehdr;
-  gdb_int32_bytes oi_orig_ehdr;
-  gdb_int32_bytes oi_pathname;
-  gdb_int32_bytes oi_pathname_len;
-};
-
-struct irix_elf64_obj_info
-{
-  gdb_int32_bytes oi_magic;
-  gdb_int32_bytes oi_size;
-  gdb_int64_bytes oi_next;
-  gdb_int64_bytes oi_prev;
-  gdb_int64_bytes oi_ehdr;
-  gdb_int64_bytes oi_orig_ehdr;
-  gdb_int64_bytes oi_pathname;
-  gdb_int32_bytes oi_pathname_len;
-  gdb_int32_bytes padding;
-};
-
-/* Union of all of the above (plus a split out magic field).  */
-
-union irix_obj_info
-{
-  gdb_int32_bytes magic;
-  struct irix_obj_list ol32;
-  struct irix_elf32_obj_info oi32;
-  struct irix_elf64_obj_info oi64;
-};
-
-/* MIPS sign extends its 32 bit addresses.  We could conceivably use
-   extract_typed_address here, but to do so, we'd have to construct an
-   appropriate type.  Calling extract_signed_integer seems simpler.  */
-
-static CORE_ADDR
-extract_mips_address (void *addr, int len, enum bfd_endian byte_order)
-{
-  return extract_signed_integer (addr, len, byte_order);
-}
-
-/* Fetch and return the link map data associated with ADDR.  Note that
-   this routine automatically determines which (of three) link map
-   formats is in use by the target.  */
-
-static struct lm_info
-fetch_lm_info (CORE_ADDR addr)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  struct lm_info li;
-  union irix_obj_info buf;
-
-  li.addr = addr;
-
-  /* The smallest region that we'll need is for buf.ol32.  We'll read
-     that first.  We'll read more of the buffer later if we have to deal
-     with one of the other cases.  (We don't want to incur a memory error
-     if we were to read a larger region that generates an error due to
-     being at the end of a page or the like.)  */
-  read_memory (addr, (gdb_byte *) &buf, sizeof (buf.ol32));
-
-  if (extract_unsigned_integer (buf.magic.b, sizeof (buf.magic), byte_order)
-      != 0xffffffff)
-    {
-      /* Use buf.ol32...  */
-      gdb_byte obj_buf[432];
-      CORE_ADDR obj_addr = extract_mips_address (&buf.ol32.data,
-						 sizeof (buf.ol32.data),
-						 byte_order);
-
-      li.next = extract_mips_address (&buf.ol32.next,
-				      sizeof (buf.ol32.next), byte_order);
-
-      read_memory (obj_addr, obj_buf, sizeof (obj_buf));
-
-      li.pathname_addr = extract_mips_address (&obj_buf[236], 4, byte_order);
-      li.pathname_len = 0;	/* unknown */
-      li.reloc_offset = extract_mips_address (&obj_buf[196], 4, byte_order)
-	- extract_mips_address (&obj_buf[248], 4, byte_order);
-
-    }
-  else if (extract_unsigned_integer (buf.oi32.oi_size.b,
-				     sizeof (buf.oi32.oi_size), byte_order)
-	   == sizeof (buf.oi32))
-    {
-      /* Use buf.oi32...  */
-
-      /* Read rest of buffer.  */
-      read_memory (addr + sizeof (buf.ol32),
-		   ((gdb_byte *) &buf) + sizeof (buf.ol32),
-		   sizeof (buf.oi32) - sizeof (buf.ol32));
-
-      /* Fill in fields using buffer contents.  */
-      li.next = extract_mips_address (&buf.oi32.oi_next,
-				      sizeof (buf.oi32.oi_next), byte_order);
-      li.reloc_offset = extract_mips_address (&buf.oi32.oi_ehdr,
-					      sizeof (buf.oi32.oi_ehdr),
-					      byte_order)
-	- extract_mips_address (&buf.oi32.oi_orig_ehdr,
-				sizeof (buf.oi32.oi_orig_ehdr), byte_order);
-      li.pathname_addr = extract_mips_address (&buf.oi32.oi_pathname,
-					       sizeof (buf.oi32.oi_pathname),
-					       byte_order);
-      li.pathname_len = extract_unsigned_integer (buf.oi32.oi_pathname_len.b,
-						  sizeof (buf.oi32.
-							  oi_pathname_len),
-						  byte_order);
-    }
-  else if (extract_unsigned_integer (buf.oi64.oi_size.b,
-				     sizeof (buf.oi64.oi_size), byte_order)
-	   == sizeof (buf.oi64))
-    {
-      /* Use buf.oi64...  */
-
-      /* Read rest of buffer.  */
-      read_memory (addr + sizeof (buf.ol32),
-		   ((gdb_byte *) &buf) + sizeof (buf.ol32),
-		   sizeof (buf.oi64) - sizeof (buf.ol32));
-
-      /* Fill in fields using buffer contents.  */
-      li.next = extract_mips_address (&buf.oi64.oi_next,
-				      sizeof (buf.oi64.oi_next), byte_order);
-      li.reloc_offset = extract_mips_address (&buf.oi64.oi_ehdr,
-					      sizeof (buf.oi64.oi_ehdr),
-					      byte_order)
-	- extract_mips_address (&buf.oi64.oi_orig_ehdr,
-				sizeof (buf.oi64.oi_orig_ehdr), byte_order);
-      li.pathname_addr = extract_mips_address (&buf.oi64.oi_pathname,
-					       sizeof (buf.oi64.oi_pathname),
-					       byte_order);
-      li.pathname_len = extract_unsigned_integer (buf.oi64.oi_pathname_len.b,
-						  sizeof (buf.oi64.
-							  oi_pathname_len),
-						  byte_order);
-    }
-  else
-    {
-      error (_("Unable to fetch shared library obj_info or obj_list info."));
-    }
-
-  return li;
-}
-
-/* The symbol which starts off the list of shared libraries.  */
-#define DEBUG_BASE "__rld_obj_head"
-
-static void *base_breakpoint;
-
-static CORE_ADDR debug_base;	/* Base of dynamic linker structures.  */
-
-/* Locate the base address of dynamic linker structs.
-
-   For both the SunOS and SVR4 shared library implementations, if the
-   inferior executable has been linked dynamically, there is a single
-   address somewhere in the inferior's data space which is the key to
-   locating all of the dynamic linker's runtime structures.  This
-   address is the value of the symbol defined by the macro DEBUG_BASE.
-   The job of this function is to find and return that address, or to
-   return 0 if there is no such address (the executable is statically
-   linked for example).
-
-   For SunOS, the job is almost trivial, since the dynamic linker and
-   all of it's structures are statically linked to the executable at
-   link time.  Thus the symbol for the address we are looking for has
-   already been added to the minimal symbol table for the executable's
-   objfile at the time the symbol file's symbols were read, and all we
-   have to do is look it up there.  Note that we explicitly do NOT want
-   to find the copies in the shared library.
-
-   The SVR4 version is much more complicated because the dynamic linker
-   and it's structures are located in the shared C library, which gets
-   run as the executable's "interpreter" by the kernel.  We have to go
-   to a lot more work to discover the address of DEBUG_BASE.  Because
-   of this complexity, we cache the value we find and return that value
-   on subsequent invocations.  Note there is no copy in the executable
-   symbol tables.
-
-   Irix 5 is basically like SunOS.
-
-   Note that we can assume nothing about the process state at the time
-   we need to find this address.  We may be stopped on the first instruc-
-   tion of the interpreter (C shared library), the first instruction of
-   the executable itself, or somewhere else entirely (if we attached
-   to the process for example).  */
-
-static CORE_ADDR
-locate_base (void)
-{
-  struct bound_minimal_symbol msymbol;
-  CORE_ADDR address = 0;
-
-  msymbol = lookup_minimal_symbol (DEBUG_BASE, NULL, symfile_objfile);
-  if ((msymbol.minsym != NULL) && (BMSYMBOL_VALUE_ADDRESS (msymbol) != 0))
-    {
-      address = BMSYMBOL_VALUE_ADDRESS (msymbol);
-    }
-  return (address);
-}
-
-/* Remove the "mapping changed" breakpoint.
-
-   Removes the breakpoint that gets hit when the dynamic linker
-   completes a mapping change.  */
-
-static int
-disable_break (void)
-{
-  int status = 1;
-
-  /* Note that breakpoint address and original contents are in our address
-     space, so we just need to write the original contents back.  */
-
-  if (deprecated_remove_raw_breakpoint (target_gdbarch (), base_breakpoint) != 0)
-    {
-      status = 0;
-    }
-
-  base_breakpoint = NULL;
-
-  /* Note that it is possible that we have stopped at a location that
-     is different from the location where we inserted our breakpoint.
-     On mips-irix, we can actually land in __dbx_init(), so we should
-     not check the PC against our breakpoint address here.  See procfs.c
-     for more details.  */
-
-  return (status);
-}
-
-/* Arrange for dynamic linker to hit breakpoint.
-
-   This functions inserts a breakpoint at the entry point of the
-   main executable, where all shared libraries are mapped in.  */
-
-static int
-enable_break (void)
-{
-  if (symfile_objfile != NULL && has_stack_frames ())
-    {
-      struct frame_info *frame = get_current_frame ();
-      struct address_space *aspace = get_frame_address_space (frame);
-      CORE_ADDR entry_point;
-
-      if (!entry_point_address_query (&entry_point))
-	return 0;
-
-      base_breakpoint = deprecated_insert_raw_breakpoint (target_gdbarch (),
-							  aspace, entry_point);
-
-      if (base_breakpoint != NULL)
-	return 1;
-    }
-
-  return 0;
-}
-
-/* Implement the "create_inferior_hook" target_solib_ops method.
-
-   For SunOS executables, this first instruction is typically the
-   one at "_start", or a similar text label, regardless of whether
-   the executable is statically or dynamically linked.  The runtime
-   startup code takes care of dynamically linking in any shared
-   libraries, once gdb allows the inferior to continue.
-
-   For SVR4 executables, this first instruction is either the first
-   instruction in the dynamic linker (for dynamically linked
-   executables) or the instruction at "start" for statically linked
-   executables.  For dynamically linked executables, the system
-   first exec's /lib/libc.so.N, which contains the dynamic linker,
-   and starts it running.  The dynamic linker maps in any needed
-   shared libraries, maps in the actual user executable, and then
-   jumps to "start" in the user executable.
-
-   For both SunOS shared libraries, and SVR4 shared libraries, we
-   can arrange to cooperate with the dynamic linker to discover the
-   names of shared libraries that are dynamically linked, and the
-   base addresses to which they are linked.
-
-   This function is responsible for discovering those names and
-   addresses, and saving sufficient information about them to allow
-   their symbols to be read at a later time.
-
-   FIXME
-
-   Between enable_break() and disable_break(), this code does not
-   properly handle hitting breakpoints which the user might have
-   set in the startup code or in the dynamic linker itself.  Proper
-   handling will probably have to wait until the implementation is
-   changed to use the "breakpoint handler function" method.
-
-   Also, what if child has exit()ed?  Must exit loop somehow.  */
-
-static void
-irix_solib_create_inferior_hook (int from_tty)
-{
-  struct inferior *inf;
-  struct thread_info *tp;
-
-  inf = current_inferior ();
-
-  /* If we are attaching to the inferior, the shared libraries
-     have already been mapped, so nothing more to do.  */
-  if (inf->attach_flag)
-    return;
-
-  /* Likewise when debugging from a core file, the shared libraries
-     have already been mapped, so nothing more to do.  */
-  if (!target_can_run (&current_target))
-    return;
-
-  if (!enable_break ())
-    {
-      warning (_("shared library handler failed to enable breakpoint"));
-      return;
-    }
-
-  /* Now run the target.  It will eventually hit the breakpoint, at
-     which point all of the libraries will have been mapped in and we
-     can go groveling around in the dynamic linker structures to find
-     out what we need to know about them.  */
-
-  tp = inferior_thread ();
-
-  clear_proceed_status ();
-
-  inf->control.stop_soon = STOP_QUIETLY;
-  tp->suspend.stop_signal = GDB_SIGNAL_0;
-
-  do
-    {
-      target_resume (pid_to_ptid (-1), 0, tp->suspend.stop_signal);
-      wait_for_inferior ();
-    }
-  while (tp->suspend.stop_signal != GDB_SIGNAL_TRAP);
-
-  /* We are now either at the "mapping complete" breakpoint (or somewhere
-     else, a condition we aren't prepared to deal with anyway), so adjust
-     the PC as necessary after a breakpoint, disable the breakpoint, and
-     add any shared libraries that were mapped in.  */
-
-  if (!disable_break ())
-    {
-      warning (_("shared library handler failed to disable breakpoint"));
-    }
-
-  /* solib_add will call reinit_frame_cache.
-     But we are stopped in the startup code and we might not have symbols
-     for the startup code, so heuristic_proc_start could be called
-     and will put out an annoying warning.
-     Delaying the resetting of stop_soon until after symbol loading
-     suppresses the warning.  */
-  solib_add ((char *) 0, 0, (struct target_ops *) 0, auto_solib_add);
-  inf->control.stop_soon = NO_STOP_QUIETLY;
-}
-
-/* Implement the "current_sos" target_so_ops method.  */
-
-static struct so_list *
-irix_current_sos (void)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  int addr_size = gdbarch_addr_bit (target_gdbarch ()) / TARGET_CHAR_BIT;
-  CORE_ADDR lma;
-  gdb_byte addr_buf[8];
-  struct so_list *head = 0;
-  struct so_list **link_ptr = &head;
-  int is_first = 1;
-  struct lm_info lm;
-
-  /* Make sure we've looked up the inferior's dynamic linker's base
-     structure.  */
-  if (!debug_base)
-    {
-      debug_base = locate_base ();
-
-      /* If we can't find the dynamic linker's base structure, this
-         must not be a dynamically linked executable.  Hmm.  */
-      if (!debug_base)
-	return 0;
-    }
-
-  read_memory (debug_base, addr_buf, addr_size);
-  lma = extract_mips_address (addr_buf, addr_size, byte_order);
-
-  while (lma)
-    {
-      lm = fetch_lm_info (lma);
-      if (!is_first)
-	{
-	  int errcode;
-	  char *name_buf;
-	  int name_size;
-	  struct so_list *new
-	    = (struct so_list *) xmalloc (sizeof (struct so_list));
-	  struct cleanup *old_chain = make_cleanup (xfree, new);
-
-	  memset (new, 0, sizeof (*new));
-
-	  new->lm_info = xmalloc (sizeof (struct lm_info));
-	  make_cleanup (xfree, new->lm_info);
-
-	  *new->lm_info = lm;
-
-	  /* Extract this shared object's name.  */
-	  name_size = lm.pathname_len;
-	  if (name_size == 0)
-	    name_size = SO_NAME_MAX_PATH_SIZE - 1;
-
-	  if (name_size >= SO_NAME_MAX_PATH_SIZE)
-	    {
-	      name_size = SO_NAME_MAX_PATH_SIZE - 1;
-	      warning (_("current_sos: truncating name of "
-		         "%d characters to only %d characters"),
-		       lm.pathname_len, name_size);
-	    }
-
-	  target_read_string (lm.pathname_addr, &name_buf,
-			      name_size, &errcode);
-	  if (errcode != 0)
-	    warning (_("Can't read pathname for load map: %s."),
-		       safe_strerror (errcode));
-	  else
-	    {
-	      strncpy (new->so_name, name_buf, name_size);
-	      new->so_name[name_size] = '\0';
-	      xfree (name_buf);
-	      strcpy (new->so_original_name, new->so_name);
-	    }
-
-	  new->next = 0;
-	  *link_ptr = new;
-	  link_ptr = &new->next;
-
-	  discard_cleanups (old_chain);
-	}
-      is_first = 0;
-      lma = lm.next;
-    }
-
-  return head;
-}
-
-/* Implement the "open_symbol_file_object" target_so_ops method.
-
-   If no open symbol file, attempt to locate and open the main symbol
-   file.  On IRIX, this is the first link map entry.  If its name is
-   here, we can open it.  Useful when attaching to a process without
-   first loading its symbol file.  */
-
-static int
-irix_open_symbol_file_object (void *from_ttyp)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  int addr_size = gdbarch_addr_bit (target_gdbarch ()) / TARGET_CHAR_BIT;
-  CORE_ADDR lma;
-  gdb_byte addr_buf[8];
-  struct lm_info lm;
-  struct cleanup *cleanups;
-  int errcode;
-  int from_tty = *(int *) from_ttyp;
-  char *filename;
-
-  if (symfile_objfile)
-    if (!query (_("Attempt to reload symbols from process? ")))
-      return 0;
-
-  if ((debug_base = locate_base ()) == 0)
-    return 0;			/* failed somehow...  */
-
-  /* First link map member should be the executable.  */
-  read_memory (debug_base, addr_buf, addr_size);
-  lma = extract_mips_address (addr_buf, addr_size, byte_order);
-  if (lma == 0)
-    return 0;			/* failed somehow...  */
-
-  lm = fetch_lm_info (lma);
-
-  if (lm.pathname_addr == 0)
-    return 0;			/* No filename.  */
-
-  /* Now fetch the filename from target memory.  */
-  target_read_string (lm.pathname_addr, &filename, SO_NAME_MAX_PATH_SIZE - 1,
-		      &errcode);
-
-  if (errcode)
-    {
-      warning (_("failed to read exec filename from attached file: %s"),
-	       safe_strerror (errcode));
-      return 0;
-    }
-
-  cleanups = make_cleanup (xfree, filename);
-  /* Have a pathname: read the symbol file.  */
-  symbol_file_add_main (filename, from_tty);
-
-  do_cleanups (cleanups);
-
-  return 1;
-}
-
-/* Implement the "special_symbol_handling" target_so_ops method.
-
-   For IRIX, there's nothing to do.  */
-
-static void
-irix_special_symbol_handling (void)
-{
-}
-
-/* Using the solist entry SO, relocate the addresses in SEC.  */
-
-static void
-irix_relocate_section_addresses (struct so_list *so,
-				 struct target_section *sec)
-{
-  sec->addr += so->lm_info->reloc_offset;
-  sec->endaddr += so->lm_info->reloc_offset;
-}
-
-/* Free the lm_info struct.  */
-
-static void
-irix_free_so (struct so_list *so)
-{
-  xfree (so->lm_info);
-}
-
-/* Clear backend specific state.  */
-
-static void
-irix_clear_solib (void)
-{
-  debug_base = 0;
-}
-
-/* Return 1 if PC lies in the dynamic symbol resolution code of the
-   run time loader.  */
-static int
-irix_in_dynsym_resolve_code (CORE_ADDR pc)
-{
-  return 0;
-}
-
-struct target_so_ops irix_so_ops;
-
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-extern initialize_file_ftype _initialize_irix_solib;
-
-void
-_initialize_irix_solib (void)
-{
-  irix_so_ops.relocate_section_addresses = irix_relocate_section_addresses;
-  irix_so_ops.free_so = irix_free_so;
-  irix_so_ops.clear_solib = irix_clear_solib;
-  irix_so_ops.solib_create_inferior_hook = irix_solib_create_inferior_hook;
-  irix_so_ops.special_symbol_handling = irix_special_symbol_handling;
-  irix_so_ops.current_sos = irix_current_sos;
-  irix_so_ops.open_symbol_file_object = irix_open_symbol_file_object;
-  irix_so_ops.in_dynsym_resolve_code = irix_in_dynsym_resolve_code;
-  irix_so_ops.bfd_open = solib_bfd_open;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-irix.h ./gdb/solib-irix.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-irix.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-irix.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/* Handle shared libraries for GDB, the GNU Debugger.
-
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef SOLIB_IRIX_H
-#define SOLIB_IRIX_H
-
-struct target_so_ops;
-extern struct target_so_ops irix_so_ops;
-
-#endif /* solib-irix.h */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-osf.c ./gdb/solib-osf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-osf.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-osf.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,640 +0,0 @@
-/* Handle OSF/1, Digital UNIX, and Tru64 shared libraries
-   for GDB, the GNU Debugger.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* When handling shared libraries, GDB has to find out the pathnames
-   of all shared libraries that are currently loaded (to read in their
-   symbols) and where the shared libraries are loaded in memory
-   (to relocate them properly from their prelinked addresses to the
-   current load address).
-
-   Under OSF/1 there are two possibilities to get at this information:
-
-   1) Peek around in the runtime loader structures.
-   These are not documented, and they are not defined in the system
-   header files.  The definitions below were obtained by experimentation,
-   but they seem stable enough.
-
-   2) Use the libxproc.a library, which contains the equivalent ldr_*
-   routines.  The library is documented in Tru64 5.x, but as of 5.1, it
-   only allows a process to examine itself.  On earlier versions, it
-   may require that the GDB executable be dynamically linked and that
-   NAT_CLIBS include -lxproc -Wl,-expect_unresolved,ldr_process_context
-   for GDB and all applications that are using libgdb.
-
-   We will use the peeking approach until libxproc.a works for other
-   processes.  */
-
-#include "defs.h"
-
-#include <sys/types.h>
-#include <signal.h>
-#include <string.h>
-
-#include "bfd.h"
-#include "symtab.h"
-#include "symfile.h"
-#include "objfiles.h"
-#include "target.h"
-#include "inferior.h"
-#include "infrun.h"
-#include "gdbthread.h"
-#include "solist.h"
-#include "solib.h"
-
-#ifdef USE_LDR_ROUTINES
-# include <loader.h>
-#endif
-
-#ifndef USE_LDR_ROUTINES
-/* Definition of runtime loader structures, found by experimentation.  */
-#define RLD_CONTEXT_ADDRESS	0x3ffc0000000
-
-/* Per-module information structure referenced by ldr_context_t.head.  */
-
-typedef struct
-  {
-    CORE_ADDR next;
-    CORE_ADDR previous;
-    CORE_ADDR unknown1;
-    CORE_ADDR module_name;
-    CORE_ADDR modinfo_addr;	/* Used by next_link_map_member() to detect
-				   the end of the shared module list.  */
-    long module_id;
-    CORE_ADDR unknown2;
-    CORE_ADDR unknown3;
-    long region_count;
-    CORE_ADDR regioninfo_addr;
-  }
-ldr_module_info_t;
-
-/* Per-region structure referenced by ldr_module_info_t.regioninfo_addr.  */
-
-typedef struct
-  {
-    long unknown1;
-    CORE_ADDR regionname_addr;
-    long protection;
-    CORE_ADDR vaddr;
-    CORE_ADDR mapaddr;
-    long size;
-    long unknown2[5];
-  }
-ldr_region_info_t;
-
-/* Structure at RLD_CONTEXT_ADDRESS specifying the start and finish addresses
-   of the shared module list.  */
-
-typedef struct
-  {
-    CORE_ADDR unknown1;
-    CORE_ADDR unknown2;
-    CORE_ADDR head;
-    CORE_ADDR tail;
-  }
-ldr_context_t;
-#endif   /* !USE_LDR_ROUTINES */
-
-/* Per-section information, stored in struct lm_info.secs.  */
-
-struct lm_sec
-  {
-    CORE_ADDR offset;		/* difference between default and actual
-				   virtual addresses of section .name */
-    CORE_ADDR nameaddr;		/* address in inferior of section name */
-    const char *name;		/* name of section, null if not fetched */
-  };
-
-/* Per-module information, stored in struct so_list.lm_info.  */
-
-struct lm_info
-  {
-    int isloader;		/* whether the module is /sbin/loader */
-    int nsecs;			/* length of .secs */
-    struct lm_sec secs[1];	/* variable-length array of sections, sorted
-				   by name */
-  };
-
-/* Context for iterating through the inferior's shared module list.  */
-
-struct read_map_ctxt
-  {
-#ifdef USE_LDR_ROUTINES
-    ldr_process_t proc;
-    ldr_module_t next;
-#else
-    CORE_ADDR next;		/* next element in module list */
-    CORE_ADDR tail;		/* last element in module list */
-#endif
-  };
-
-/* Forward declaration for this module's autoinit function.  */
-
-extern void _initialize_osf_solib (void);
-
-#ifdef USE_LDR_ROUTINES
-# if 0
-/* This routine is intended to be called by ldr_* routines to read memory from
-   the current target.  Usage:
-
-     ldr_process = ldr_core_process ();
-     ldr_set_core_reader (ldr_read_memory);
-     ldr_xdetach (ldr_process);
-     ldr_xattach (ldr_process);
-
-   ldr_core_process() and ldr_read_memory() are neither documented nor
-   declared in system header files.  They work with OSF/1 2.x, and they might
-   work with later versions as well.  */
-
-static int
-ldr_read_memory (CORE_ADDR memaddr, char *myaddr, int len, int readstring)
-{
-  int result;
-  char *buffer;
-
-  if (readstring)
-    {
-      target_read_string (memaddr, &buffer, len, &result);
-      if (result == 0)
-	strcpy (myaddr, buffer);
-      xfree (buffer);
-    }
-  else
-    result = target_read_memory (memaddr, myaddr, len);
-
-  if (result != 0)
-    result = -result;
-  return result;
-}
-# endif   /* 0 */
-#endif   /* USE_LDR_ROUTINES */
-
-/* Comparison for qsort() and bsearch(): return -1, 0, or 1 according to
-   whether lm_sec *P1's name is lexically less than, equal to, or greater
-   than that of *P2.  */
-
-static int
-lm_sec_cmp (const void *p1, const void *p2)
-{
-  const struct lm_sec *lms1 = p1, *lms2 = p2;
-
-  return strcmp (lms1->name, lms2->name);
-}
-
-/* Sort LMI->secs so that osf_relocate_section_addresses() can binary-search
-   it.  */
-
-static void
-lm_secs_sort (struct lm_info *lmi)
-{
-  qsort (lmi->secs, lmi->nsecs, sizeof *lmi->secs, lm_sec_cmp);
-}
-
-/* Populate name fields of LMI->secs.  */
-
-static void
-fetch_sec_names (struct lm_info *lmi)
-{
-#ifndef USE_LDR_ROUTINES
-  int i, errcode;
-  struct lm_sec *lms;
-  char *name;
-
-  for (i = 0; i < lmi->nsecs; i++)
-    {
-      lms = lmi->secs + i;
-      target_read_string (lms->nameaddr, &name, PATH_MAX, &errcode);
-      if (errcode != 0)
-	{
-	  warning (_("unable to read shared sec name at 0x%lx"),
-		   lms->nameaddr);
-	  name = xstrdup ("");
-	}
-      lms->name = name;
-    }
-  lm_secs_sort (lmi);
-#endif
-}
-
-/* target_so_ops callback.  Adjust SEC's addresses after it's been mapped into
-   the process.  */
-
-static void
-osf_relocate_section_addresses (struct so_list *so,
-				struct target_section *sec)
-{
-  struct lm_info *lmi;
-  struct lm_sec lms_key, *lms;
-
-  /* Fetch SO's section names if we haven't done so already.  */
-  lmi = so->lm_info;
-  if (lmi->nsecs && !lmi->secs[0].name)
-    fetch_sec_names (lmi);
-
-  /* Binary-search for offset information corresponding to SEC.  */
-  lms_key.name = sec->the_bfd_section->name;
-  lms = bsearch (&lms_key, lmi->secs, lmi->nsecs, sizeof *lms, lm_sec_cmp);
-  if (lms)
-    {
-      sec->addr += lms->offset;
-      sec->endaddr += lms->offset;
-    }
-}
-
-/* target_so_ops callback.  Free parts of SO allocated by this file.  */
-
-static void
-osf_free_so (struct so_list *so)
-{
-  int i;
-  const char *name;
-
-  for (i = 0; i < so->lm_info->nsecs; i++)
-    {
-      name = so->lm_info->secs[i].name;
-      if (name)
-	xfree ((void *) name);
-    }
-  xfree (so->lm_info);
-}
-
-/* target_so_ops callback.  Discard information accumulated by this file and
-   not freed by osf_free_so().  */
-
-static void
-osf_clear_solib (void)
-{
-  return;
-}
-
-/* target_so_ops callback.  Prepare to handle shared libraries after the
-   inferior process has been created but before it's executed any
-   instructions.
-
-   For a statically bound executable, the inferior's first instruction is the
-   one at "_start", or a similar text label.  No further processing is needed
-   in that case.
-
-   For a dynamically bound executable, this first instruction is somewhere
-   in the rld, and the actual user executable is not yet mapped in.
-   We continue the inferior again, rld then maps in the actual user
-   executable and any needed shared libraries and then sends
-   itself a SIGTRAP.
-
-   At that point we discover the names of all shared libraries and
-   read their symbols in.
-
-   FIXME
-
-   This code does not properly handle hitting breakpoints which the
-   user might have set in the rld itself.  Proper handling would have
-   to check if the SIGTRAP happened due to a kill call.
-
-   Also, what if child has exit()ed?  Must exit loop somehow.  */
-
-static void
-osf_solib_create_inferior_hook (int from_tty)
-{
-  struct inferior *inf;
-  struct thread_info *tp;
-
-  inf = current_inferior ();
-
-  /* If we are attaching to the inferior, the shared libraries
-     have already been mapped, so nothing more to do.  */
-  if (inf->attach_flag)
-    return;
-
-  /* Nothing to do for statically bound executables.  */
-
-  if (symfile_objfile == NULL
-      || symfile_objfile->obfd == NULL
-      || ((bfd_get_file_flags (symfile_objfile->obfd) & DYNAMIC) == 0))
-    return;
-
-  /* Now run the target.  It will eventually get a SIGTRAP, at
-     which point all of the libraries will have been mapped in and we
-     can go groveling around in the rld structures to find
-     out what we need to know about them.
-     
-     If debugging from a core file, we cannot resume the execution
-     of the inferior.  But this is actually not an issue, because
-     shared libraries have already been mapped anyways, which means
-     we have nothing more to do.  */
-  if (!target_can_run (&current_target))
-    return;
-
-  tp = inferior_thread ();
-  clear_proceed_status ();
-  inf->control.stop_soon = STOP_QUIETLY;
-  tp->suspend.stop_signal = GDB_SIGNAL_0;
-  do
-    {
-      target_resume (minus_one_ptid, 0, tp->suspend.stop_signal);
-      wait_for_inferior ();
-    }
-  while (tp->suspend.stop_signal != GDB_SIGNAL_TRAP);
-
-  /*  solib_add will call reinit_frame_cache.
-     But we are stopped in the runtime loader and we do not have symbols
-     for the runtime loader.  So heuristic_proc_start will be called
-     and will put out an annoying warning.
-     Delaying the resetting of stop_soon until after symbol loading
-     suppresses the warning.  */
-  solib_add ((char *) 0, 0, (struct target_ops *) 0, auto_solib_add);
-  inf->control.stop_soon = NO_STOP_QUIETLY;
-}
-
-/* target_so_ops callback.  Do additional symbol handling, lookup, etc. after
-   symbols for a shared object have been loaded.  */
-
-static void
-osf_special_symbol_handling (void)
-{
-  return;
-}
-
-/* Initialize CTXT in preparation for iterating through the inferior's module
-   list using read_map().  Return success.  */
-
-static int
-open_map (struct read_map_ctxt *ctxt)
-{
-#ifdef USE_LDR_ROUTINES
-  /* Note: As originally written, ldr_my_process() was used to obtain
-     the value for ctxt->proc.  This is incorrect, however, since
-     ldr_my_process() retrieves the "unique identifier" associated
-     with the current process (i.e. GDB) and not the one being
-     debugged.  Presumably, the pid of the process being debugged is
-     compatible with the "unique identifier" used by the ldr_
-     routines, so we use that.  */
-  ctxt->proc = ptid_get_pid (inferior_ptid);
-  if (ldr_xattach (ctxt->proc) != 0)
-    return 0;
-  ctxt->next = LDR_NULL_MODULE;
-#else
-  CORE_ADDR ldr_context_addr, prev, next;
-  ldr_context_t ldr_context;
-
-  if (target_read_memory ((CORE_ADDR) RLD_CONTEXT_ADDRESS,
-			  (char *) &ldr_context_addr,
-			  sizeof (CORE_ADDR)) != 0)
-    return 0;
-  if (target_read_memory (ldr_context_addr,
-			  (char *) &ldr_context,
-			  sizeof (ldr_context_t)) != 0)
-    return 0;
-  ctxt->next = ldr_context.head;
-  ctxt->tail = ldr_context.tail;
-#endif
-  return 1;
-}
-
-/* Initialize SO to have module NAME, /sbin/loader indicator ISLOADR, and
-   space for NSECS sections.  */
-
-static void
-init_so (struct so_list *so, char *name, int isloader, int nsecs)
-{
-  int namelen, i;
-
-  /* solib.c requires various fields to be initialized to 0.  */
-  memset (so, 0, sizeof *so);
-
-  /* Copy the name.  */
-  namelen = strlen (name);
-  if (namelen >= SO_NAME_MAX_PATH_SIZE)
-    namelen = SO_NAME_MAX_PATH_SIZE - 1;
-
-  memcpy (so->so_original_name, name, namelen);
-  so->so_original_name[namelen] = '\0';
-  memcpy (so->so_name, so->so_original_name, namelen + 1);
-
-  /* Allocate section space.  */
-  so->lm_info = xmalloc (sizeof (struct lm_info)
-                         + (nsecs - 1) * sizeof (struct lm_sec));
-  so->lm_info->isloader = isloader;
-  so->lm_info->nsecs = nsecs;
-  for (i = 0; i < nsecs; i++)
-    so->lm_info->secs[i].name = NULL;
-}
-
-/* Initialize SO's section SECIDX with name address NAMEADDR, name string
-   NAME, default virtual address VADDR, and actual virtual address
-   MAPADDR.  */
-
-static void
-init_sec (struct so_list *so, int secidx, CORE_ADDR nameaddr,
-	  const char *name, CORE_ADDR vaddr, CORE_ADDR mapaddr)
-{
-  struct lm_sec *lms;
-
-  lms = so->lm_info->secs + secidx;
-  lms->nameaddr = nameaddr;
-  lms->name = name;
-  lms->offset = mapaddr - vaddr;
-}
-
-/* If there are more elements starting at CTXT in inferior's module list,
-   store the next element in SO, advance CTXT to the next element, and return
-   1, else return 0.  */
-
-static int
-read_map (struct read_map_ctxt *ctxt, struct so_list *so)
-{
-  ldr_module_info_t minf;
-  ldr_region_info_t rinf;
-
-#ifdef USE_LDR_ROUTINES
-  size_t size;
-  ldr_region_t i;
-
-  /* Retrieve the next element.  */
-  if (ldr_next_module (ctxt->proc, &ctxt->next) != 0)
-    return 0;
-  if (ctxt->next == LDR_NULL_MODULE)
-    return 0;
-  if (ldr_inq_module (ctxt->proc, ctxt->next, &minf, sizeof minf, &size) != 0)
-    return 0;
-
-  /* Initialize the module name and section count.  */
-  init_so (so, minf.lmi_name, 0, minf.lmi_nregion);
-
-  /* Retrieve section names and offsets.  */
-  for (i = 0; i < minf.lmi_nregion; i++)
-    {
-      if (ldr_inq_region (ctxt->proc, ctxt->next, i, &rinf,
-			  sizeof rinf, &size) != 0)
-	goto err;
-      init_sec (so, (int) i, 0, xstrdup (rinf.lri_name),
-		(CORE_ADDR) rinf.lri_vaddr, (CORE_ADDR) rinf.lri_mapaddr);
-    }
-  lm_secs_sort (so->lm_info);
-#else
-  char *name;
-  int errcode, i;
-
-  /* Retrieve the next element.  */
-  if (!ctxt->next)
-    return 0;
-  if (target_read_memory (ctxt->next, (char *) &minf, sizeof minf) != 0)
-    return 0;
-  if (ctxt->next == ctxt->tail)
-    ctxt->next = 0;
-  else
-    ctxt->next = minf.next;
-
-  /* Initialize the module name and section count.  */
-  target_read_string (minf.module_name, &name, PATH_MAX, &errcode);
-  if (errcode != 0)
-    return 0;
-  init_so (so, name, !minf.modinfo_addr, minf.region_count);
-  xfree (name);
-
-  /* Retrieve section names and offsets.  */
-  for (i = 0; i < minf.region_count; i++)
-    {
-      if (target_read_memory (minf.regioninfo_addr + i * sizeof rinf,
-			      (char *) &rinf, sizeof rinf) != 0)
-	goto err;
-      init_sec (so, i, rinf.regionname_addr, NULL, rinf.vaddr, rinf.mapaddr);
-    }
-#endif   /* !USE_LDR_ROUTINES */
-  return 1;
-
- err:
-  osf_free_so (so);
-  return 0;
-}
-
-/* Free resources allocated by open_map (CTXT).  */
-
-static void
-close_map (struct read_map_ctxt *ctxt)
-{
-#ifdef USE_LDR_ROUTINES
-  ldr_xdetach (ctxt->proc);
-#endif
-}
-
-/* target_so_ops callback.  Return a list of shared objects currently loaded
-   in the inferior.  */
-
-static struct so_list *
-osf_current_sos (void)
-{
-  struct so_list *head = NULL, *tail = NULL, *newtail, so;
-  struct read_map_ctxt ctxt;
-  int skipped_main;
-
-  if (!open_map (&ctxt))
-    return NULL;
-
-  /* Read subsequent elements.  */
-  for (skipped_main = 0;;)
-    {
-      if (!read_map (&ctxt, &so))
-	break;
-
-      /* Skip the main program module, which is first in the list after
-         /sbin/loader.  */
-      if (!so.lm_info->isloader && !skipped_main)
-	{
-	  osf_free_so (&so);
-	  skipped_main = 1;
-	  continue;
-	}
-
-      newtail = xmalloc (sizeof *newtail);
-      if (!head)
-	head = newtail;
-      else
-	tail->next = newtail;
-      tail = newtail;
-
-      memcpy (tail, &so, sizeof so);
-      tail->next = NULL;
-    }
-
-  close_map (&ctxt);
-  return head;
-}
-
-/* target_so_ops callback.  Attempt to locate and open the main symbol
-   file.  */
-
-static int
-osf_open_symbol_file_object (void *from_ttyp)
-{
-  struct read_map_ctxt ctxt;
-  struct so_list so;
-  int found;
-
-  if (symfile_objfile)
-    if (!query (_("Attempt to reload symbols from process? ")))
-      return 0;
-
-  /* The first module after /sbin/loader is the main program.  */
-  if (!open_map (&ctxt))
-    return 0;
-  for (found = 0; !found;)
-    {
-      if (!read_map (&ctxt, &so))
-	break;
-      found = !so.lm_info->isloader;
-      osf_free_so (&so);
-    }
-  close_map (&ctxt);
-
-  if (found)
-    symbol_file_add_main (so.so_name, *(int *) from_ttyp);
-  return found;
-}
-
-/* target_so_ops callback.  Return whether PC is in the dynamic linker.  */
-
-static int
-osf_in_dynsym_resolve_code (CORE_ADDR pc)
-{
-  /* This function currently always return False.  This is a temporary
-     solution which only consequence is to introduce a minor incovenience
-     for the user: When stepping inside a subprogram located in a shared
-     library, gdb might stop inside the dynamic loader code instead of
-     inside the subprogram itself.  See the explanations in infrun.c about
-     the in_solib_dynsym_resolve_code() function for more details.  */
-  return 0;
-}
-
-static struct target_so_ops osf_so_ops;
-
-void
-_initialize_osf_solib (void)
-{
-  osf_so_ops.relocate_section_addresses = osf_relocate_section_addresses;
-  osf_so_ops.free_so = osf_free_so;
-  osf_so_ops.clear_solib = osf_clear_solib;
-  osf_so_ops.solib_create_inferior_hook = osf_solib_create_inferior_hook;
-  osf_so_ops.special_symbol_handling = osf_special_symbol_handling;
-  osf_so_ops.current_sos = osf_current_sos;
-  osf_so_ops.open_symbol_file_object = osf_open_symbol_file_object;
-  osf_so_ops.in_dynsym_resolve_code = osf_in_dynsym_resolve_code;
-  osf_so_ops.bfd_open = solib_bfd_open;
-
-  /* FIXME: Don't do this here.  *_gdbarch_init() should set so_ops.  */
-  current_target_so_ops = &osf_so_ops;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-pa64.c ./gdb/solib-pa64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-pa64.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-pa64.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle PA64 shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-pa64.h ./gdb/solib-pa64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-pa64.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-pa64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle PA64 shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-som.c ./gdb/solib-som.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-som.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-som.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle SOM shared libraries.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,8 +31,6 @@
 #include "solib.h"
 #include "solib-som.h"
 
-#include <string.h>
-
 #undef SOLIB_SOM_DBG 
 
 /* These ought to be defined in some public interface, but aren't.  They
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-som.h ./gdb/solib-som.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-som.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-som.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle SOM shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-spu.c ./gdb/solib-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-spu.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Cell SPU GNU/Linux support -- shared library handling.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
 
@@ -21,8 +21,6 @@
 #include "defs.h"
 #include "solib-spu.h"
 #include "gdbcore.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include <sys/stat.h>
 #include "arch-utils.h"
 #include "bfd.h"
@@ -35,7 +33,6 @@
 #include "observer.h"
 #include "breakpoint.h"
 #include "gdbthread.h"
-#include "exceptions.h"
 #include "gdb_bfd.h"
 
 #include "spu-tdep.h"
@@ -392,7 +389,7 @@ spu_bfd_open (char *pathname)
 
 /* Lookup global symbol in a SPE executable.  */
 static struct symbol *
-spu_lookup_lib_symbol (const struct objfile *objfile,
+spu_lookup_lib_symbol (struct objfile *objfile,
 		       const char *name,
 		       const domain_enum domain)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-spu.h ./gdb/solib-spu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-spu.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-spu.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Cell SPU GNU/Linux support -- shared library handling.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-svr4.c ./gdb/solib-svr4.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-svr4.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-svr4.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle SVR4 shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -35,8 +35,6 @@
 #include "gdbthread.h"
 #include "observer.h"
 
-#include "gdb_assert.h"
-
 #include "solist.h"
 #include "solib.h"
 #include "solib-svr4.h"
@@ -45,7 +43,6 @@
 #include "elf-bfd.h"
 #include "exec.h"
 #include "auxv.h"
-#include "exceptions.h"
 #include "gdb_bfd.h"
 #include "probe.h"
 
@@ -614,14 +611,14 @@ find_program_interpreter (void)
 }
 
 
-/* Scan for DYNTAG in .dynamic section of ABFD.  If DYNTAG is found 1 is
-   returned and the corresponding PTR is set.  */
+/* Scan for DESIRED_DYNTAG in .dynamic section of ABFD.  If DESIRED_DYNTAG is
+   found, 1 is returned and the corresponding PTR is set.  */
 
 static int
-scan_dyntag (int dyntag, bfd *abfd, CORE_ADDR *ptr)
+scan_dyntag (const int desired_dyntag, bfd *abfd, CORE_ADDR *ptr)
 {
   int arch_size, step, sect_size;
-  long dyn_tag;
+  long current_dyntag;
   CORE_ADDR dyn_ptr, dyn_addr;
   gdb_byte *bufend, *bufstart, *buf;
   Elf32_External_Dyn *x_dynp_32;
@@ -679,18 +676,18 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
     if (arch_size == 32)
       {
 	x_dynp_32 = (Elf32_External_Dyn *) buf;
-	dyn_tag = bfd_h_get_32 (abfd, (bfd_byte *) x_dynp_32->d_tag);
+	current_dyntag = bfd_h_get_32 (abfd, (bfd_byte *) x_dynp_32->d_tag);
 	dyn_ptr = bfd_h_get_32 (abfd, (bfd_byte *) x_dynp_32->d_un.d_ptr);
       }
     else
       {
 	x_dynp_64 = (Elf64_External_Dyn *) buf;
-	dyn_tag = bfd_h_get_64 (abfd, (bfd_byte *) x_dynp_64->d_tag);
+	current_dyntag = bfd_h_get_64 (abfd, (bfd_byte *) x_dynp_64->d_tag);
 	dyn_ptr = bfd_h_get_64 (abfd, (bfd_byte *) x_dynp_64->d_un.d_ptr);
       }
-     if (dyn_tag == DT_NULL)
+     if (current_dyntag == DT_NULL)
        return 0;
-     if (dyn_tag == dyntag)
+     if (current_dyntag == desired_dyntag)
        {
 	 /* If requested, try to read the runtime value of this .dynamic
 	    entry.  */
@@ -713,16 +710,16 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
   return 0;
 }
 
-/* Scan for DYNTAG in .dynamic section of the target's main executable,
-   found by consulting the OS auxillary vector.  If DYNTAG is found 1 is
-   returned and the corresponding PTR is set.  */
+/* Scan for DESIRED_DYNTAG in .dynamic section of the target's main executable,
+   found by consulting the OS auxillary vector.  If DESIRED_DYNTAG is found, 1
+   is returned and the corresponding PTR is set.  */
 
 static int
-scan_dyntag_auxv (int dyntag, CORE_ADDR *ptr)
+scan_dyntag_auxv (const int desired_dyntag, CORE_ADDR *ptr)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
   int sect_size, arch_size, step;
-  long dyn_tag;
+  long current_dyntag;
   CORE_ADDR dyn_ptr;
   gdb_byte *bufend, *bufstart, *buf;
 
@@ -742,7 +739,7 @@ scan_dyntag_auxv (int dyntag, CORE_ADDR 
       {
 	Elf32_External_Dyn *dynp = (Elf32_External_Dyn *) buf;
 
-	dyn_tag = extract_unsigned_integer ((gdb_byte *) dynp->d_tag,
+	current_dyntag = extract_unsigned_integer ((gdb_byte *) dynp->d_tag,
 					    4, byte_order);
 	dyn_ptr = extract_unsigned_integer ((gdb_byte *) dynp->d_un.d_ptr,
 					    4, byte_order);
@@ -751,15 +748,15 @@ scan_dyntag_auxv (int dyntag, CORE_ADDR 
       {
 	Elf64_External_Dyn *dynp = (Elf64_External_Dyn *) buf;
 
-	dyn_tag = extract_unsigned_integer ((gdb_byte *) dynp->d_tag,
+	current_dyntag = extract_unsigned_integer ((gdb_byte *) dynp->d_tag,
 					    8, byte_order);
 	dyn_ptr = extract_unsigned_integer ((gdb_byte *) dynp->d_un.d_ptr,
 					    8, byte_order);
       }
-    if (dyn_tag == DT_NULL)
+    if (current_dyntag == DT_NULL)
       break;
 
-    if (dyn_tag == dyntag)
+    if (current_dyntag == desired_dyntag)
       {
 	if (ptr)
 	  *ptr = dyn_ptr;
@@ -1211,7 +1208,7 @@ svr4_parse_libraries (const char *docume
 
   memset (list, 0, sizeof (*list));
   list->tailp = &list->head;
-  if (gdb_xml_parse_quick (_("target library list"), "library-list.dtd",
+  if (gdb_xml_parse_quick (_("target library list"), "library-list-svr4.dtd",
 			   svr4_library_list_elements, document, list) == 0)
     {
       /* Parsed successfully, keep the result.  */
@@ -1464,10 +1461,11 @@ svr4_current_sos_direct (struct svr4_inf
   return head;
 }
 
-/* Implement the "current_sos" target_so_ops method.  */
+/* Implement the main part of the "current_sos" target_so_ops
+   method.  */
 
 static struct so_list *
-svr4_current_sos (void)
+svr4_current_sos_1 (void)
 {
   struct svr4_info *info = get_svr4_info ();
 
@@ -1480,6 +1478,82 @@ svr4_current_sos (void)
   return svr4_current_sos_direct (info);
 }
 
+/* Implement the "current_sos" target_so_ops method.  */
+
+static struct so_list *
+svr4_current_sos (void)
+{
+  struct so_list *so_head = svr4_current_sos_1 ();
+  struct mem_range vsyscall_range;
+
+  /* Filter out the vDSO module, if present.  Its symbol file would
+     not be found on disk.  The vDSO/vsyscall's OBJFILE is instead
+     managed by symfile-mem.c:add_vsyscall_page.  */
+  if (gdbarch_vsyscall_range (target_gdbarch (), &vsyscall_range)
+      && vsyscall_range.length != 0)
+    {
+      struct so_list **sop;
+
+      sop = &so_head;
+      while (*sop != NULL)
+	{
+	  struct so_list *so = *sop;
+
+	  /* We can't simply match the vDSO by starting address alone,
+	     because lm_info->l_addr_inferior (and also l_addr) do not
+	     necessarily represent the real starting address of the
+	     ELF if the vDSO's ELF itself is "prelinked".  The l_ld
+	     field (the ".dynamic" section of the shared object)
+	     always points at the absolute/resolved address though.
+	     So check whether that address is inside the vDSO's
+	     mapping instead.
+
+	     E.g., on Linux 3.16 (x86_64) the vDSO is a regular
+	     0-based ELF, and we see:
+
+	      (gdb) info auxv
+	      33  AT_SYSINFO_EHDR  System-supplied DSO's ELF header 0x7ffff7ffb000
+	      (gdb)  p/x *_r_debug.r_map.l_next
+	      $1 = {l_addr = 0x7ffff7ffb000, ..., l_ld = 0x7ffff7ffb318, ...}
+
+	     And on Linux 2.6.32 (x86_64) we see:
+
+	      (gdb) info auxv
+	      33  AT_SYSINFO_EHDR  System-supplied DSO's ELF header 0x7ffff7ffe000
+	      (gdb) p/x *_r_debug.r_map.l_next
+	      $5 = {l_addr = 0x7ffff88fe000, ..., l_ld = 0x7ffff7ffe580, ... }
+
+	     Dumping that vDSO shows:
+
+	      (gdb) info proc mappings
+	      0x7ffff7ffe000  0x7ffff7fff000  0x1000  0  [vdso]
+	      (gdb) dump memory vdso.bin 0x7ffff7ffe000 0x7ffff7fff000
+	      # readelf -Wa vdso.bin
+	      [...]
+		Entry point address: 0xffffffffff700700
+	      [...]
+	      Section Headers:
+		[Nr] Name     Type    Address	       Off    Size
+		[ 0]	      NULL    0000000000000000 000000 000000
+		[ 1] .hash    HASH    ffffffffff700120 000120 000038
+		[ 2] .dynsym  DYNSYM  ffffffffff700158 000158 0000d8
+	      [...]
+		[ 9] .dynamic DYNAMIC ffffffffff700580 000580 0000f0
+	  */
+	  if (address_in_mem_range (so->lm_info->l_ld, &vsyscall_range))
+	    {
+	      *sop = so->next;
+	      free_so (so);
+	      break;
+	    }
+
+	  sop = &so->next;
+	}
+    }
+
+  return so_head;
+}
+
 /* Get the address of the link_map for a given OBJFILE.  */
 
 CORE_ADDR
@@ -3121,7 +3195,7 @@ struct target_so_ops svr4_so_ops;
    the main executable.  */
 
 static struct symbol *
-elf_lookup_lib_symbol (const struct objfile *objfile,
+elf_lookup_lib_symbol (struct objfile *objfile,
 		       const char *name,
 		       const domain_enum domain)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-svr4.h ./gdb/solib-svr4.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-svr4.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-svr4.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-target.c ./gdb/solib-target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-target.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-target.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for targets which report shared library events.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,8 +26,6 @@
 #include "vec.h"
 #include "solib-target.h"
 
-#include <string.h>
-
 /* Private data for each loaded library.  */
 struct lm_info
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-target.h ./gdb/solib-target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solib-target.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solib-target.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Handle shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solist.h ./gdb/solist.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/solist.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/solist.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Shared library declarations for GDB, the GNU Debugger.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -137,7 +137,7 @@ struct target_so_ops
         unsigned o_flags, char **temp_pathname);
 
     /* Hook for looking up global symbols in a library-specific way.  */
-    struct symbol * (*lookup_lib_global_symbol) (const struct objfile *objfile,
+    struct symbol * (*lookup_lib_global_symbol) (struct objfile *objfile,
 						 const char *name,
 						 const domain_enum domain);
 
@@ -189,7 +189,7 @@ extern bfd *solib_bfd_open (char *in_pat
 extern struct target_so_ops *current_target_so_ops;
 
 /* Handler for library-specific global symbol lookup in solib.c.  */
-struct symbol *solib_global_lookup (const struct objfile *objfile,
+struct symbol *solib_global_lookup (struct objfile *objfile,
 				    const char *name,
 				    const domain_enum domain);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sol-thread.c ./gdb/sol-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sol-thread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sol-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Solaris threads debugging interface.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -64,7 +64,6 @@
 #include "solib.h"
 #include "symfile.h"
 #include "observer.h"
-#include <string.h>
 #include "procfs.h"
 #include "symtab.h"
 #include "minsyms.h"
@@ -625,7 +624,7 @@ check_for_thread_db (void)
       if (ptid_get_pid (ptid) != -1)
 	inferior_ptid = ptid;
 
-      target_find_new_threads ();
+      target_update_thread_list ();
       break;
 
     default:
@@ -1057,11 +1056,11 @@ solaris_pid_to_str (struct target_ops *o
 }
 
 
-/* Worker bee for find_new_threads.  Callback function that gets
+/* Worker bee for update_thread_list.  Callback function that gets
    called once per user-level thread (i.e. not for LWP's).  */
 
 static int
-sol_find_new_threads_callback (const td_thrhandle_t *th, void *ignored)
+sol_update_thread_list_callback (const td_thrhandle_t *th, void *ignored)
 {
   td_err_e retval;
   td_thrinfo_t ti;
@@ -1079,16 +1078,18 @@ sol_find_new_threads_callback (const td_
 }
 
 static void
-sol_find_new_threads (struct target_ops *ops)
+sol_update_thread_list (struct target_ops *ops)
 {
   struct target_ops *beneath = find_target_beneath (ops);
 
-  /* First Find any new LWP's.  */
-  if (beneath->to_find_new_threads != NULL)
-    beneath->to_find_new_threads (beneath);
+  /* Delete dead threads.  */
+  prune_threads ();
+
+  /* Find any new LWP's.  */
+  beneath->to_update_thread_list (beneath);
 
   /* Then find any new user-level threads.  */
-  p_td_ta_thr_iter (main_ta, sol_find_new_threads_callback, (void *) 0,
+  p_td_ta_thr_iter (main_ta, sol_update_thread_list_callback, (void *) 0,
 		    TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY,
 		    TD_SIGNO_MASK, TD_THR_ANY_USER_FLAGS);
 }
@@ -1202,7 +1203,7 @@ sol_get_ada_task_ptid (struct target_ops
     {
       /* The list of threads is probably not up to date.  Find any
          thread that is missing from the list, and try again.  */
-      sol_find_new_threads (&current_target);
+      sol_update_thread_list (&current_target);
       thread_info = iterate_over_threads (thread_db_find_thread_from_tid,
                                           &thread);
     }
@@ -1227,7 +1228,7 @@ init_sol_thread_ops (void)
   sol_thread_ops.to_mourn_inferior = sol_thread_mourn_inferior;
   sol_thread_ops.to_thread_alive = sol_thread_alive;
   sol_thread_ops.to_pid_to_str = solaris_pid_to_str;
-  sol_thread_ops.to_find_new_threads = sol_find_new_threads;
+  sol_thread_ops.to_update_thread_list = sol_update_thread_list;
   sol_thread_ops.to_stratum = thread_stratum;
   sol_thread_ops.to_get_ada_task_ptid = sol_get_ada_task_ptid;
   sol_thread_ops.to_magic = OPS_MAGIC;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/somread.c ./gdb/somread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/somread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/somread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Read HP PA/Risc object files for GDB.
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
    Written by Fred Fish at Cygnus Support.
 
    This file is part of GDB.
@@ -27,7 +27,6 @@
 #include "stabsread.h"
 #include "gdb-stabs.h"
 #include "complaints.h"
-#include <string.h>
 #include "demangle.h"
 #include "som.h"
 #include "libhppa.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/source.c ./gdb/source.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/source.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/source.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* List lines of source files for GDB, the GNU debugger.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,11 +26,9 @@
 #include "gdbcmd.h"
 #include "frame.h"
 #include "value.h"
-#include "gdb_assert.h"
 #include "filestuff.h"
 
 #include <sys/types.h>
-#include <string.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 #include "gdbcore.h"
@@ -261,6 +259,7 @@ select_source_symtab (struct symtab *s)
   struct symtabs_and_lines sals;
   struct symtab_and_line sal;
   struct objfile *ofp;
+  struct compunit_symtab *cu;
 
   if (s)
     {
@@ -293,19 +292,16 @@ select_source_symtab (struct symtab *s)
 
   current_source_line = 1;
 
-  ALL_OBJFILES (ofp)
+  ALL_FILETABS (ofp, cu, s)
     {
-      for (s = ofp->symtabs; s; s = s->next)
-	{
-	  const char *name = s->filename;
-	  int len = strlen (name);
+      const char *name = s->filename;
+      int len = strlen (name);
 
-	  if (!(len > 2 && (strcmp (&name[len - 2], ".h") == 0
-	      || strcmp (name, "<<C++-namespaces>>") == 0)))
-	    {
-	      current_source_pspace = current_program_space;
-	      current_source_symtab = s;
-	    }
+      if (!(len > 2 && (strcmp (&name[len - 2], ".h") == 0
+			|| strcmp (name, "<<C++-namespaces>>") == 0)))
+	{
+	  current_source_pspace = current_program_space;
+	  current_source_symtab = s;
 	}
     }
 
@@ -374,9 +370,10 @@ show_directories_command (struct ui_file
 void
 forget_cached_source_info_for_objfile (struct objfile *objfile)
 {
+  struct compunit_symtab *cu;
   struct symtab *s;
 
-  ALL_OBJFILE_SYMTABS (objfile, s)
+  ALL_OBJFILE_FILETABS (objfile, cu, s)
     {
       if (s->line_charpos != NULL)
 	{
@@ -664,8 +661,8 @@ source_info (char *ignore, int from_tty)
       return;
     }
   printf_filtered (_("Current source file is %s\n"), s->filename);
-  if (s->dirname)
-    printf_filtered (_("Compilation directory is %s\n"), s->dirname);
+  if (SYMTAB_DIRNAME (s) != NULL)
+    printf_filtered (_("Compilation directory is %s\n"), SYMTAB_DIRNAME (s));
   if (s->fullname)
     printf_filtered (_("Located in %s\n"), s->fullname);
   if (s->nlines)
@@ -673,9 +670,11 @@ source_info (char *ignore, int from_tty)
 		     s->nlines == 1 ? "" : "s");
 
   printf_filtered (_("Source language is %s.\n"), language_str (s->language));
-  printf_filtered (_("Compiled with %s debugging format.\n"), s->debugformat);
+  printf_filtered (_("Compiled with %s debugging format.\n"),
+		   COMPUNIT_DEBUGFORMAT (SYMTAB_COMPUNIT (s)));
   printf_filtered (_("%s preprocessor macro info.\n"),
-                   s->macro_table ? "Includes" : "Does not include");
+		   COMPUNIT_MACRO_TABLE (SYMTAB_COMPUNIT (s)) != NULL
+		   ? "Includes" : "Does not include");
 }
 
 
@@ -1110,7 +1109,7 @@ open_source_file (struct symtab *s)
   if (!s)
     return -1;
 
-  return find_and_open_source (s->filename, s->dirname, &s->fullname);
+  return find_and_open_source (s->filename, SYMTAB_DIRNAME (s), &s->fullname);
 }
 
 /* Finds the fullname that a symtab represents.
@@ -1130,7 +1129,8 @@ symtab_to_fullname (struct symtab *s)
      to handle cases like the file being moved.  */
   if (s->fullname == NULL)
     {
-      int fd = find_and_open_source (s->filename, s->dirname, &s->fullname);
+      int fd = find_and_open_source (s->filename, SYMTAB_DIRNAME (s),
+				     &s->fullname);
 
       if (fd >= 0)
 	close (fd);
@@ -1142,10 +1142,11 @@ symtab_to_fullname (struct symtab *s)
 	  /* rewrite_source_path would be applied by find_and_open_source, we
 	     should report the pathname where GDB tried to find the file.  */
 
-	  if (s->dirname == NULL || IS_ABSOLUTE_PATH (s->filename))
+	  if (SYMTAB_DIRNAME (s) == NULL || IS_ABSOLUTE_PATH (s->filename))
 	    fullname = xstrdup (s->filename);
 	  else
-	    fullname = concat (s->dirname, SLASH_STRING, s->filename, NULL);
+	    fullname = concat (SYMTAB_DIRNAME (s), SLASH_STRING, s->filename,
+			       NULL);
 
 	  back_to = make_cleanup (xfree, fullname);
 	  s->fullname = rewrite_source_path (fullname);
@@ -1194,8 +1195,8 @@ find_source_lines (struct symtab *s, int
   if (fstat (desc, &st) < 0)
     perror_with_name (symtab_to_filename_for_display (s));
 
-  if (s->objfile && s->objfile->obfd)
-    mtime = s->objfile->mtime;
+  if (SYMTAB_OBJFILE (s) != NULL && SYMTAB_OBJFILE (s)->obfd != NULL)
+    mtime = SYMTAB_OBJFILE (s)->mtime;
   else if (exec_bfd)
     mtime = exec_bfd_mtime;
 
@@ -1299,7 +1300,7 @@ identify_source_line (struct symtab *s, 
     /* Don't index off the end of the line_charpos array.  */
     return 0;
   annotate_source (s->fullname, line, s->line_charpos[line - 1],
-		   mid_statement, get_objfile_arch (s->objfile), pc);
+		   mid_statement, get_objfile_arch (SYMTAB_OBJFILE (s)), pc);
 
   current_source_line = line;
   current_source_symtab = s;
@@ -1543,7 +1544,8 @@ line_info (char *arg, int from_tty)
       else if (sal.line > 0
 	       && find_line_pc_range (sal, &start_pc, &end_pc))
 	{
-	  struct gdbarch *gdbarch = get_objfile_arch (sal.symtab->objfile);
+	  struct gdbarch *gdbarch
+	    = get_objfile_arch (SYMTAB_OBJFILE (sal.symtab));
 
 	  if (start_pc == end_pc)
 	    {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/source.h ./gdb/source.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/source.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/source.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* List lines of source files for GDB, the GNU debugger.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64fbsd-nat.c ./gdb/sparc64fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64fbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64fbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for FreeBSD/sparc64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -72,7 +72,6 @@ _initialize_sparc64fbsd_nat (void)
   t = sparc_target ();
   t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
   t->to_find_memory_regions = fbsd_find_memory_regions;
-  t->to_make_corefile_notes = fbsd_make_corefile_notes;
   add_target (t);
 
   sparc_gregmap = &sparc64fbsd_gregmap;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64fbsd-tdep.c ./gdb/sparc64fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64fbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64fbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for FreeBSD/sparc64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,10 +27,8 @@
 #include "target.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "sparc64-tdep.h"
+#include "fbsd-tdep.h"
 #include "solib-svr4.h"
 
 /* From <machine/reg.h>.  */
@@ -224,6 +222,9 @@ sparc64fbsd_init_abi (struct gdbarch_inf
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  /* Generic FreeBSD support. */
+  fbsd_init_abi (info, gdbarch);
+
   tdep->gregset = &sparc64fbsd_gregset;
   tdep->sizeof_gregset = 256;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-linux-nat.c ./gdb/sparc64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for GNU/Linux UltraSPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-linux-tdep.c ./gdb/sparc64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux UltraSPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -336,7 +336,7 @@ sparc64_linux_init_abi (struct gdbarch_i
   set_gdbarch_write_pc (gdbarch, sparc64_linux_write_pc);
 
   /* Functions for 'catch syscall'.  */
-  set_xml_syscall_file_name (XML_SYSCALL_FILENAME_SPARC64);
+  set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_SPARC64);
   set_gdbarch_get_syscall_number (gdbarch,
                                   sparc64_linux_get_syscall_number);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-nat.c ./gdb/sparc64-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for GNU/Linux UltraSPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64nbsd-nat.c ./gdb/sparc64nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64nbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64nbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for NetBSD/sparc64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64nbsd-tdep.c ./gdb/sparc64nbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64nbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64nbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/sparc64.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Based on code contributed by Wasabi Systems, Inc.
 
    This file is part of GDB.
@@ -30,9 +30,6 @@
 #include "solib-svr4.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "sparc64-tdep.h"
 #include "nbsd-tdep.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64obsd-nat.c ./gdb/sparc64obsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64obsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64obsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for OpenBSD/sparc64.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64obsd-tdep.c ./gdb/sparc64obsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64obsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64obsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/sparc64.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,8 +28,6 @@
 #include "objfiles.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-
 #include "obsd-tdep.h"
 #include "sparc64-tdep.h"
 #include "solib-svr4.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-sol2-tdep.c ./gdb/sparc64-sol2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-sol2-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64-sol2-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Solaris UltraSPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,8 +25,7 @@
 #include "objfiles.h"
 #include "osabi.h"
 #include "trad-frame.h"
-
-#include "gdb_assert.h"
+#include "regset.h"
 
 #include "sol2-tdep.h"
 #include "sparc64-tdep.h"
@@ -51,6 +50,52 @@ const struct sparc_fpregmap sparc64_sol2
   0 * 8,			/* %f0 */
   33 * 8,			/* %fsr */
 };
+
+static void
+sparc64_sol2_supply_core_gregset (const struct regset *regset,
+				  struct regcache *regcache,
+				  int regnum, const void *gregs, size_t len)
+{
+  sparc64_supply_gregset (&sparc64_sol2_gregmap, regcache, regnum, gregs);
+}
+
+static void
+sparc64_sol2_collect_core_gregset (const struct regset *regset,
+				   const struct regcache *regcache,
+				   int regnum, void *gregs, size_t len)
+{
+  sparc64_collect_gregset (&sparc64_sol2_gregmap, regcache, regnum, gregs);
+}
+
+static void
+sparc64_sol2_supply_core_fpregset (const struct regset *regset,
+				   struct regcache *regcache,
+				   int regnum, const void *fpregs, size_t len)
+{
+  sparc64_supply_fpregset (&sparc64_sol2_fpregmap, regcache, regnum, fpregs);
+}
+
+static void
+sparc64_sol2_collect_core_fpregset (const struct regset *regset,
+				    const struct regcache *regcache,
+				    int regnum, void *fpregs, size_t len)
+{
+  sparc64_collect_fpregset (&sparc64_sol2_fpregmap, regcache, regnum, fpregs);
+}
+
+static const struct regset sparc64_sol2_gregset =
+  {
+    NULL,
+    sparc64_sol2_supply_core_gregset,
+    sparc64_sol2_collect_core_gregset
+  };
+
+static const struct regset sparc64_sol2_fpregset =
+  {
+    NULL,
+    sparc64_sol2_supply_core_fpregset,
+    sparc64_sol2_collect_core_fpregset
+  };
 
 
 static struct sparc_frame_cache *
@@ -161,6 +206,12 @@ sparc64_sol2_init_abi (struct gdbarch_in
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  tdep->gregset = &sparc64_sol2_gregset;
+  tdep->sizeof_gregset = 304;
+
+  tdep->fpregset = &sparc64_sol2_fpregset;
+  tdep->sizeof_fpregset = 544;
+
   frame_unwind_append_unwinder (gdbarch, &sparc64_sol2_sigtramp_frame_unwind);
 
   sparc64_init_abi (info, gdbarch);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-tdep.c ./gdb/sparc64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for UltraSPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -34,9 +34,6 @@
 #include "target.h"
 #include "value.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "sparc64-tdep.h"
 
 /* This file implements the SPARC 64-bit ABI as defined by the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-tdep.h ./gdb/sparc64-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc64-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc64-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for UltraSPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-linux-nat.c ./gdb/sparc-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Native-dependent code for GNU/Linux SPARC.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-linux-tdep.c ./gdb/sparc-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-linux-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux SPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -455,7 +455,7 @@ sparc32_linux_init_abi (struct gdbarch_i
   set_gdbarch_write_pc (gdbarch, sparc_linux_write_pc);
 
   /* Functions for 'catch syscall'.  */
-  set_xml_syscall_file_name (XML_SYSCALL_FILENAME_SPARC32);
+  set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_SPARC32);
   set_gdbarch_get_syscall_number (gdbarch,
                                   sparc32_linux_get_syscall_number);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-nat.c ./gdb/sparc-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for SPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,9 +22,7 @@
 #include "regcache.h"
 #include "target.h"
 
-#include "gdb_assert.h"
 #include <signal.h>
-#include <string.h>
 #include <sys/ptrace.h>
 #include "gdb_wait.h"
 #ifdef HAVE_MACHINE_REG_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-nat.h ./gdb/sparc-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-nat.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for SPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparcnbsd-nat.c ./gdb/sparcnbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparcnbsd-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparcnbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for NetBSD/sparc.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparcnbsd-tdep.c ./gdb/sparcnbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparcnbsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparcnbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/sparc.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Wasabi Systems, Inc.
 
    This file is part of GDB.
@@ -30,9 +30,6 @@
 #include "symtab.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "sparc-tdep.h"
 #include "nbsd-tdep.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparcobsd-tdep.c ./gdb/sparcobsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparcobsd-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparcobsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/sparc.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,8 +27,6 @@
 #include "symtab.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-
 #include "obsd-tdep.h"
 #include "sparc-tdep.h"
 #include "solib-svr4.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-ravenscar-thread.c ./gdb/sparc-ravenscar-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-ravenscar-thread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-ravenscar-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ravenscar SPARC target support.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-ravenscar-thread.h ./gdb/sparc-ravenscar-thread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-ravenscar-thread.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-ravenscar-thread.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ravenscar SPARC target support.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-sol2-nat.c ./gdb/sparc-sol2-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-sol2-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-sol2-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for Solaris SPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-sol2-tdep.c ./gdb/sparc-sol2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-sol2-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-sol2-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for Solaris SPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,12 +25,10 @@
 #include "objfiles.h"
 #include "osabi.h"
 #include "regcache.h"
+#include "regset.h"
 #include "target.h"
 #include "trad-frame.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "sol2-tdep.h"
 #include "sparc-tdep.h"
 #include "solib-svr4.h"
@@ -53,6 +51,52 @@ const struct sparc_fpregmap sparc32_sol2
   0 * 4,			/* %f0 */
   33 * 4,			/* %fsr */
 };
+
+static void
+sparc32_sol2_supply_core_gregset (const struct regset *regset,
+				  struct regcache *regcache,
+				  int regnum, const void *gregs, size_t len)
+{
+  sparc32_supply_gregset (&sparc32_sol2_gregmap, regcache, regnum, gregs);
+}
+
+static void
+sparc32_sol2_collect_core_gregset (const struct regset *regset,
+				   const struct regcache *regcache,
+				   int regnum, void *gregs, size_t len)
+{
+  sparc32_collect_gregset (&sparc32_sol2_gregmap, regcache, regnum, gregs);
+}
+
+static void
+sparc32_sol2_supply_core_fpregset (const struct regset *regset,
+				   struct regcache *regcache,
+				   int regnum, const void *fpregs, size_t len)
+{
+  sparc32_supply_fpregset (&sparc32_sol2_fpregmap, regcache, regnum, fpregs);
+}
+
+static void
+sparc32_sol2_collect_core_fpregset (const struct regset *regset,
+				    const struct regcache *regcache,
+				    int regnum, void *fpregs, size_t len)
+{
+  sparc32_collect_fpregset (&sparc32_sol2_fpregmap, regcache, regnum, fpregs);
+}
+
+static const struct regset sparc32_sol2_gregset =
+  {
+    NULL,
+    sparc32_sol2_supply_core_gregset,
+    sparc32_sol2_collect_core_gregset
+  };
+
+static const struct regset sparc32_sol2_fpregset =
+  {
+    NULL,
+    sparc32_sol2_supply_core_fpregset,
+    sparc32_sol2_collect_core_fpregset
+  };
 
 
 /* The Solaris signal trampolines reside in libc.  For normal signals,
@@ -214,6 +258,12 @@ sparc32_sol2_init_abi (struct gdbarch_in
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  tdep->gregset = &sparc32_sol2_gregset;
+  tdep->sizeof_gregset = 152;
+
+  tdep->fpregset = &sparc32_sol2_fpregset;
+  tdep->sizeof_fpregset = 400;
+
   /* The Sun compilers (Sun ONE Studio, Forte Developer, Sun WorkShop, SunPRO)
      compiler puts out 0 instead of the address in N_SO stabs.  Starting with
      SunPRO 3.0, the compiler does this for N_FUN stabs too.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-tdep.c ./gdb/sparc-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for SPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -35,9 +35,6 @@
 #include "target.h"
 #include "value.h"
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include "sparc-tdep.h"
 #include "sparc-ravenscar-thread.h"
 
@@ -1648,22 +1645,18 @@ sparc_write_pc (struct regcache *regcach
 }
 
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-sparc_regset_from_core_section (struct gdbarch *gdbarch,
-				const char *sect_name, size_t sect_size)
+static void
+sparc_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				    iterate_over_regset_sections_cb *cb,
+				    void *cb_data,
+				    const struct regcache *regcache)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= tdep->sizeof_gregset)
-    return tdep->gregset;
-
-  if (strcmp (sect_name, ".reg2") == 0 && sect_size >= tdep->sizeof_fpregset)
-    return tdep->fpregset;
-
-  return NULL;
+  cb (".reg", tdep->sizeof_gregset, tdep->gregset, NULL, cb_data);
+  cb (".reg2", tdep->sizeof_fpregset, tdep->fpregset, NULL, cb_data);
 }
 
 
@@ -1743,8 +1736,8 @@ sparc32_gdbarch_init (struct gdbarch_inf
 
   /* If we have register sets, enable the generic core file support.  */
   if (tdep->gregset)
-    set_gdbarch_regset_from_core_section (gdbarch,
-					  sparc_regset_from_core_section);
+    set_gdbarch_iterate_over_regset_sections
+      (gdbarch, sparc_iterate_over_regset_sections);
 
   register_sparc_ravenscar_ops (gdbarch);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-tdep.h ./gdb/sparc-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/sparc-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/sparc-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for SPARC.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/spu-linux-nat.c ./gdb/spu-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/spu-linux-nat.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/spu-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SPU native-dependent code for GDB, the GNU debugger.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
 
@@ -20,7 +20,6 @@
 
 #include "defs.h"
 #include "gdbcore.h"
-#include <string.h>
 #include "target.h"
 #include "inferior.h"
 #include "inf-child.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/spu-multiarch.c ./gdb/spu-multiarch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/spu-multiarch.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/spu-multiarch.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Cell SPU GNU/Linux multi-architecture debugging support.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
 
@@ -21,8 +21,6 @@
 #include "defs.h"
 #include "gdbcore.h"
 #include "gdbcmd.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "arch-utils.h"
 #include "observer.h"
 #include "inferior.h"
@@ -121,19 +119,13 @@ static int
 spu_region_ok_for_hw_watchpoint (struct target_ops *self,
 				 CORE_ADDR addr, int len)
 {
-  struct target_ops *ops_beneath = find_target_beneath (&spu_ops);
-  while (ops_beneath && !ops_beneath->to_region_ok_for_hw_watchpoint)
-    ops_beneath = find_target_beneath (ops_beneath);
+  struct target_ops *ops_beneath = find_target_beneath (self);
 
   /* We cannot watch SPU local store.  */
   if (SPUADDR_SPU (addr) != -1)
     return 0;
 
-  if (ops_beneath)
-    return ops_beneath->to_region_ok_for_hw_watchpoint (ops_beneath,
-							addr, len);
-
-  return 0;
+  return ops_beneath->to_region_ok_for_hw_watchpoint (ops_beneath, addr, len);
 }
 
 /* Override the to_fetch_registers routine.  */
@@ -150,10 +142,6 @@ spu_fetch_registers (struct target_ops *
   /* This version applies only if we're currently in spu_run.  */
   if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
     {
-      while (ops_beneath && !ops_beneath->to_fetch_registers)
-	ops_beneath = find_target_beneath (ops_beneath);
-
-      gdb_assert (ops_beneath);
       ops_beneath->to_fetch_registers (ops_beneath, regcache, regno);
       return;
     }
@@ -208,10 +196,6 @@ spu_store_registers (struct target_ops *
   /* This version applies only if we're currently in spu_run.  */
   if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
     {
-      while (ops_beneath && !ops_beneath->to_fetch_registers)
-	ops_beneath = find_target_beneath (ops_beneath);
-
-      gdb_assert (ops_beneath);
       ops_beneath->to_store_registers (ops_beneath, regcache, regno);
       return;
     }
@@ -254,9 +238,6 @@ spu_xfer_partial (struct target_ops *ops
 		  ULONGEST *xfered_len)
 {
   struct target_ops *ops_beneath = find_target_beneath (ops);
-  while (ops_beneath && !ops_beneath->to_xfer_partial)
-    ops_beneath = find_target_beneath (ops_beneath);
-  gdb_assert (ops_beneath);
 
   /* Use the "mem" spufs file to access SPU local store.  */
   if (object == TARGET_OBJECT_MEMORY)
@@ -308,12 +289,9 @@ spu_search_memory (struct target_ops* op
 		   CORE_ADDR *found_addrp)
 {
   struct target_ops *ops_beneath = find_target_beneath (ops);
-  while (ops_beneath && !ops_beneath->to_search_memory)
-    ops_beneath = find_target_beneath (ops_beneath);
 
-  /* For SPU local store, always fall back to the simple method.  Likewise
-     if we do not have any target-specific special implementation.  */
-  if (!ops_beneath || SPUADDR_SPU (start_addr) >= 0)
+  /* For SPU local store, always fall back to the simple method.  */
+  if (SPUADDR_SPU (start_addr) >= 0)
     return simple_search_memory (ops,
 				 start_addr, search_space_len,
 				 pattern, pattern_len, found_addrp);
@@ -378,10 +356,7 @@ static void
 spu_mourn_inferior (struct target_ops *ops)
 {
   struct target_ops *ops_beneath = find_target_beneath (ops);
-  while (ops_beneath && !ops_beneath->to_mourn_inferior)
-    ops_beneath = find_target_beneath (ops_beneath);
 
-  gdb_assert (ops_beneath);
   ops_beneath->to_mourn_inferior (ops_beneath);
   spu_multiarch_deactivate ();
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/spu-tdep.c ./gdb/spu-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/spu-tdep.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/spu-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SPU target-dependent code for GDB, the GNU debugger.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
    Based on a port by Sid Manning <sid@us.ibm.com>.
@@ -24,8 +24,6 @@
 #include "gdbtypes.h"
 #include "gdbcmd.h"
 #include "gdbcore.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "frame.h"
 #include "frame-unwind.h"
 #include "frame-base.h"
@@ -46,7 +44,6 @@
 #include "dwarf2.h"
 #include "dwarf2-frame.h"
 #include "ax.h"
-#include "exceptions.h"
 #include "spu-tdep.h"
 
 
@@ -1956,7 +1953,7 @@ static void
 spu_catch_start (struct objfile *objfile)
 {
   struct bound_minimal_symbol minsym;
-  struct symtab *symtab;
+  struct compunit_symtab *cust;
   CORE_ADDR pc;
   char buf[32];
 
@@ -1981,16 +1978,17 @@ spu_catch_start (struct objfile *objfile
   /* If we have debugging information, try to use it -- this
      will allow us to properly skip the prologue.  */
   pc = BMSYMBOL_VALUE_ADDRESS (minsym);
-  symtab = find_pc_sect_symtab (pc, MSYMBOL_OBJ_SECTION (minsym.objfile,
-							 minsym.minsym));
-  if (symtab != NULL)
+  cust
+    = find_pc_sect_compunit_symtab (pc, MSYMBOL_OBJ_SECTION (minsym.objfile,
+							     minsym.minsym));
+  if (cust != NULL)
     {
-      struct blockvector *bv = BLOCKVECTOR (symtab);
+      const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (cust);
       struct block *block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
       struct symbol *sym;
       struct symtab_and_line sal;
 
-      sym = lookup_block_symbol (block, "main", VAR_DOMAIN);
+      sym = block_lookup_symbol (block, "main", VAR_DOMAIN);
       if (sym)
 	{
 	  fixup_symbol_section (sym, objfile);
@@ -2649,7 +2647,7 @@ info_spu_command (char *args, int from_t
 {
   printf_unfiltered (_("\"info spu\" must be followed by "
 		       "the name of an SPU facility.\n"));
-  help_list (infospucmdlist, "info spu ", -1, gdb_stdout);
+  help_list (infospucmdlist, "info spu ", all_commands, gdb_stdout);
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/spu-tdep.h ./gdb/spu-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/spu-tdep.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/spu-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SPU target-dependent code for GDB, the GNU debugger.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/srec.h ./gdb/srec.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/srec.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/srec.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* S-record download support for GDB, the GNU debugger.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stabsread.c ./gdb/stabsread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stabsread.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/stabsread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Support routines for decoding "stabs" debugging information format.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,7 +24,6 @@
    Avoid placing any object file format specific code in this file.  */
 
 #include "defs.h"
-#include <string.h>
 #include "bfd.h"
 #include "gdb_obstack.h"
 #include "symtab.h"
@@ -44,8 +43,6 @@
 #include "doublest.h"
 #include "cp-abi.h"
 #include "cp-support.h"
-#include "gdb_assert.h"
-
 #include <ctype.h>
 
 /* Ask stabsread.h to define the vars it normally declares `extern'.  */
@@ -678,6 +675,9 @@ define_symbol (CORE_ADDR valu, char *str
       SYMBOL_LINE (sym) = 0;	/* unknown */
     }
 
+  SYMBOL_SET_LANGUAGE (sym, current_subfile->language,
+		       &objfile->objfile_obstack);
+
   if (is_cplus_marker (string[0]))
     {
       /* Special GNU C++ names.  */
@@ -713,8 +713,6 @@ define_symbol (CORE_ADDR valu, char *str
   else
     {
     normal:
-      SYMBOL_SET_LANGUAGE (sym, current_subfile->language,
-			   &objfile->objfile_obstack);
       if (SYMBOL_LANGUAGE (sym) == language_cplus)
 	{
 	  char *name = alloca (p - string + 1);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stabsread.h ./gdb/stabsread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stabsread.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/stabsread.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Include file for stabs debugging format support functions.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stack.c ./gdb/stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stack.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/stack.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Print and select stack frames for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -36,7 +36,6 @@
 #include "block.h"
 #include "stack.h"
 #include "dictionary.h"
-#include "exceptions.h"
 #include "reggroups.h"
 #include "regcache.h"
 #include "solib.h"
@@ -49,10 +48,7 @@
 #include "cli/cli-utils.h"
 #include "objfiles.h"
 
-#include "gdb_assert.h"
 #include <ctype.h>
-#include <string.h>
-
 #include "symfile.h"
 #include "extension.h"
 
@@ -385,9 +381,12 @@ read_frame_arg (struct symbol *sym, stru
 	    {
 	      struct type *type = value_type (val);
 
-	      if (!value_optimized_out (val)
-		  && value_available_contents_eq (val, 0, entryval, 0,
-						  TYPE_LENGTH (type)))
+	      if (value_lazy (val))
+		value_fetch_lazy (val);
+	      if (value_lazy (entryval))
+		value_fetch_lazy (entryval);
+
+	      if (value_contents_eq (val, 0, entryval, 0, TYPE_LENGTH (type)))
 		{
 		  /* Initialize it just to avoid a GCC false warning.  */
 		  struct value *val_deref = NULL, *entryval_deref;
@@ -413,11 +412,9 @@ read_frame_arg (struct symbol *sym, stru
 		      /* If the reference addresses match but dereferenced
 			 content does not match print them.  */
 		      if (val != val_deref
-		          && !value_optimized_out (val_deref)
-		          && !value_optimized_out (entryval_deref)
-			  && value_available_contents_eq (val_deref, 0,
-							  entryval_deref, 0,
-						      TYPE_LENGTH (type_deref)))
+			  && value_contents_eq (val_deref, 0,
+						entryval_deref, 0,
+						TYPE_LENGTH (type_deref)))
 			val_equal = 1;
 		    }
 
@@ -540,7 +537,7 @@ print_frame_args (struct symbol *func, s
 
   if (func)
     {
-      struct block *b = SYMBOL_BLOCK_VALUE (func);
+      const struct block *b = SYMBOL_BLOCK_VALUE (func);
       struct block_iterator iter;
       struct symbol *sym;
 
@@ -1779,7 +1776,7 @@ backtrace_command_1 (char *count_exp, in
 
 	  QUIT;
 	  pc = get_frame_address_in_block (fi);
-	  find_pc_sect_symtab_via_partial (pc, find_pc_mapped_section (pc));
+	  expand_symtab_containing_pc (pc, find_pc_mapped_section (pc));
 	}
     }
 
@@ -1930,7 +1927,7 @@ backtrace_full_command (char *arg, int f
    CB_DATA.  */
 
 static void
-iterate_over_block_locals (struct block *b,
+iterate_over_block_locals (const struct block *b,
 			   iterate_over_block_arg_local_vars_cb cb,
 			   void *cb_data)
 {
@@ -2013,7 +2010,7 @@ print_block_frame_labels (struct gdbarch
    superblocks, stopping when the top-level block is reached.  */
 
 void
-iterate_over_block_local_vars (struct block *block,
+iterate_over_block_local_vars (const struct block *block,
 			       iterate_over_block_arg_local_vars_cb cb,
 			       void *cb_data)
 {
@@ -2075,7 +2072,7 @@ print_frame_local_vars (struct frame_inf
 			struct ui_file *stream)
 {
   struct print_variable_and_value_data cb_data;
-  struct block *block;
+  const struct block *block;
   CORE_ADDR pc;
 
   if (!get_frame_pc_if_available (frame, &pc))
@@ -2120,7 +2117,7 @@ locals_info (char *args, int from_tty)
    Returns 1 if any argument was walked; 0 otherwise.  */
 
 void
-iterate_over_block_arg_vars (struct block *b,
+iterate_over_block_arg_vars (const struct block *b,
 			     iterate_over_block_arg_local_vars_cb cb,
 			     void *cb_data)
 {
@@ -2223,7 +2220,7 @@ select_and_print_frame (struct frame_inf
    code address within the block returned.  We use this to decide
    which macros are in scope.  */
 
-struct block *
+const struct block *
 get_selected_block (CORE_ADDR *addr_in_block)
 {
   if (!has_stack_frames ())
@@ -2306,7 +2303,7 @@ current_frame_command (char *level_exp, 
    previously selected frame, and print it briefly.  */
 
 static void
-up_silently_base (char *count_exp)
+up_silently_base (const char *count_exp)
 {
   struct frame_info *frame;
   int count = 1;
@@ -2337,7 +2334,7 @@ up_command (char *count_exp, int from_tt
    selected frame, and print it briefly.  */
 
 static void
-down_silently_base (char *count_exp)
+down_silently_base (const char *count_exp)
 {
   struct frame_info *frame;
   int count = -1;
@@ -2572,7 +2569,6 @@ get_frame_language (void)
     {
       volatile struct gdb_exception ex;
       CORE_ADDR pc = 0;
-      struct symtab *s;
 
       /* We determine the current frame language by looking up its
          associated symtab.  To retrieve this symtab, we use the frame
@@ -2594,9 +2590,10 @@ get_frame_language (void)
 	}
       else
 	{
-	  s = find_pc_symtab (pc);
-	  if (s != NULL)
-	    return s->language;
+	  struct compunit_symtab *cust = find_pc_compunit_symtab (pc);
+
+	  if (cust != NULL)
+	    return compunit_language (cust);
 	}
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stack.h ./gdb/stack.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stack.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/stack.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Stack manipulation commands, for GDB the GNU Debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,11 +29,11 @@ typedef void (*iterate_over_block_arg_lo
 						      struct symbol *sym,
 						      void *cb_data);
 
-void iterate_over_block_arg_vars (struct block *block,
+void iterate_over_block_arg_vars (const struct block *block,
 				  iterate_over_block_arg_local_vars_cb cb,
 				  void *cb_data);
 
-void iterate_over_block_local_vars (struct block *block,
+void iterate_over_block_local_vars (const struct block *block,
 				    iterate_over_block_arg_local_vars_cb cb,
 				    void *cb_data);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stap-probe.c ./gdb/stap-probe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stap-probe.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/stap-probe.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* SystemTap probe support for GDB.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,7 +28,6 @@
 #include "gdbcmd.h"
 #include "filenames.h"
 #include "value.h"
-#include "exceptions.h"
 #include "ax.h"
 #include "ax-gdb.h"
 #include "complaints.h"
@@ -753,9 +752,9 @@ stap_parse_single_operand (struct stap_p
   if (*p->arg == '-' || *p->arg == '~' || *p->arg == '+')
     {
       char c = *p->arg;
-      int number;
       /* We use this variable to do a lookahead.  */
       const char *tmp = p->arg;
+      int has_digit = 0;
 
       /* Skipping signal.  */
       ++tmp;
@@ -772,26 +771,19 @@ stap_parse_single_operand (struct stap_p
       if (p->inside_paren_p)
 	tmp = skip_spaces_const (tmp);
 
-      if (isdigit (*tmp))
+      while (isdigit (*tmp))
 	{
-	  char *endp;
-
-	  number = strtol (tmp, &endp, 10);
-	  tmp = endp;
+	  /* We skip the digit here because we are only interested in
+	     knowing what kind of unary operation this is.  The digit
+	     will be handled by one of the functions that will be
+	     called below ('stap_parse_argument_conditionally' or
+	     'stap_parse_register_operand').  */
+	  ++tmp;
+	  has_digit = 1;
 	}
 
-      if (!stap_is_register_indirection_prefix (gdbarch, tmp, NULL))
-	{
-	  /* This is not a displacement.  We skip the operator, and deal
-	     with it later.  */
-	  ++p->arg;
-	  stap_parse_argument_conditionally (p);
-	  if (c == '-')
-	    write_exp_elt_opcode (&p->pstate, UNOP_NEG);
-	  else if (c == '~')
-	    write_exp_elt_opcode (&p->pstate, UNOP_COMPLEMENT);
-	}
-      else
+      if (has_digit && stap_is_register_indirection_prefix (gdbarch, tmp,
+							    NULL))
 	{
 	  /* If we are here, it means it is a displacement.  The only
 	     operations allowed here are `-' and `+'.  */
@@ -801,6 +793,17 @@ stap_parse_single_operand (struct stap_p
 
 	  stap_parse_register_operand (p);
 	}
+      else
+	{
+	  /* This is not a displacement.  We skip the operator, and
+	     deal with it when the recursion returns.  */
+	  ++p->arg;
+	  stap_parse_argument_conditionally (p);
+	  if (c == '-')
+	    write_exp_elt_opcode (&p->pstate, UNOP_NEG);
+	  else if (c == '~')
+	    write_exp_elt_opcode (&p->pstate, UNOP_COMPLEMENT);
+	}
     }
   else if (isdigit (*p->arg))
     {
@@ -1047,9 +1050,9 @@ stap_parse_argument (const char **arg, s
   struct cleanup *back_to;
 
   /* We need to initialize the expression buffer, in order to begin
-     our parsing efforts.  The language here does not matter, since we
-     are using our own parser.  */
-  initialize_expout (&p.pstate, 10, current_language, gdbarch);
+     our parsing efforts.  We use language_c here because we may need
+     to do pointer arithmetics.  */
+  initialize_expout (&p.pstate, 10, language_def (language_c), gdbarch);
   back_to = make_cleanup (free_current_contents, &p.pstate.expout);
 
   p.saved_arg = *arg;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stap-probe.h ./gdb/stap-probe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stap-probe.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/stap-probe.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* SystemTap probe support for GDB.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/std-operator.def ./gdb/std-operator.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/std-operator.def	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/std-operator.def	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Standard language operator definitions for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -87,21 +87,14 @@ OP (BINOP_VAL)
    the second operand with itself that many times.  */
 OP (BINOP_CONCAT)
 
-/* For (the deleted) Chill and Pascal.  */
-OP (BINOP_IN)			/* Returns 1 iff ARG1 IN ARG2.  */
-
-/* This is the "colon operator" used various places in (the
-   deleted) Chill.  */
-OP (BINOP_RANGE)
-
 /* This must be the highest BINOP_ value, for expprint.c.  */
 OP (BINOP_END)
 
 /* Operates on three values computed by following subexpressions.  */
 OP (TERNOP_COND)		/* ?: */
 
-/* A sub-string/sub-array.  (the deleted) Chill syntax:
-   OP1(OP2:OP3).  Return elements OP2 through OP3 of OP1.  */
+/* A sub-string/sub-array.  Ada syntax: OP1(OP2..OP3).  Return
+   elements OP2 through OP3 of OP1.  */
 OP (TERNOP_SLICE)
 
 /* Multidimensional subscript operator, such as Modula-2 x[a,b,...].
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/std-regs.c ./gdb/std-regs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/std-regs.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/std-regs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Builtin frame register, for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
@@ -24,9 +24,6 @@
 #include "frame.h"
 #include "gdbtypes.h"
 #include "value.h"
-#include <string.h>
-
-
 static struct value *
 value_of_builtin_frame_fp_reg (struct frame_info *frame, const void *baton)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stubs/buildvms.com ./gdb/stubs/buildvms.com
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stubs/buildvms.com	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/stubs/buildvms.com	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 $! Command to build the gdb stub
 
-$! Copyright (C) 2012-2014 Free Software Foundation, Inc.
+$! Copyright (C) 2012-2015 Free Software Foundation, Inc.
 $!
 $! This file is part of GDB.
 $!
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stubs/ia64vms-stub.c ./gdb/stubs/ia64vms-stub.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/stubs/ia64vms-stub.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/stubs/ia64vms-stub.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* GDB stub for Itanium OpenVMS
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    Contributed by Tristan Gingold, AdaCore.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symfile.c ./gdb/symfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symfile.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/symfile.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Generic symbol file reading for the GNU debugger, GDB.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support, using pieces from other GDB modules.
 
@@ -45,7 +45,6 @@
 #include "bcache.h"
 #include "hashtab.h"
 #include "readline/readline.h"
-#include "gdb_assert.h"
 #include "block.h"
 #include "observer.h"
 #include "exec.h"
@@ -60,7 +59,6 @@
 
 #include <sys/types.h>
 #include <fcntl.h>
-#include <string.h>
 #include <sys/stat.h>
 #include <ctype.h>
 #include <time.h>
@@ -1593,7 +1591,6 @@ find_separate_debug_file_by_debuglink (s
 
   if (debugfile == NULL)
     {
-#ifdef HAVE_LSTAT
       /* For PR gdb/9538, try again with realpath (if different from the
 	 original).  */
 
@@ -1620,7 +1617,6 @@ find_separate_debug_file_by_debuglink (s
 		}
 	    }
 	}
-#endif  /* HAVE_LSTAT  */
     }
 
   do_cleanups (cleanups);
@@ -2090,7 +2086,7 @@ clear_memory_write_data (void *arg)
 }
 
 void
-generic_load (char *args, int from_tty)
+generic_load (const char *args, int from_tty)
 {
   bfd *loadfile_bfd;
   struct timeval start_time, end_time;
@@ -2643,7 +2639,7 @@ reread_symbols (void)
 	  objfile->psymbol_cache = psymbol_bcache_init ();
 	  obstack_free (&objfile->objfile_obstack, 0);
 	  objfile->sections = NULL;
-	  objfile->symtabs = NULL;
+	  objfile->compunit_symtabs = NULL;
 	  objfile->psymtabs = NULL;
 	  objfile->psymtabs_addrmap = NULL;
 	  objfile->free_psymtabs = NULL;
@@ -2920,38 +2916,20 @@ deduce_language_from_filename (const cha
   return language_unknown;
 }
 
-/* allocate_symtab:
-
-   Allocate and partly initialize a new symbol table.  Return a pointer
-   to it.  error() if no space.
-
-   Caller must set these fields:
-   LINETABLE(symtab)
-   symtab->blockvector
-   symtab->dirname
-   symtab->free_code
-   symtab->free_ptr
- */
+/* Allocate and initialize a new symbol table.
+   CUST is from the result of allocate_compunit_symtab.  */
 
 struct symtab *
-allocate_symtab (const char *filename, struct objfile *objfile)
+allocate_symtab (struct compunit_symtab *cust, const char *filename)
 {
-  struct symtab *symtab;
+  struct objfile *objfile = cust->objfile;
+  struct symtab *symtab
+    = OBSTACK_ZALLOC (&objfile->objfile_obstack, struct symtab);
 
-  symtab = (struct symtab *)
-    obstack_alloc (&objfile->objfile_obstack, sizeof (struct symtab));
-  memset (symtab, 0, sizeof (*symtab));
   symtab->filename = bcache (filename, strlen (filename) + 1,
 			     objfile->per_bfd->filename_cache);
   symtab->fullname = NULL;
   symtab->language = deduce_language_from_filename (filename);
-  symtab->debugformat = "unknown";
-
-  /* Hook it to the objfile it comes from.  */
-
-  symtab->objfile = objfile;
-  symtab->next = objfile->symtabs;
-  objfile->symtabs = symtab;
 
   /* This can be very verbose with lots of headers.
      Only print at higher debug levels.  */
@@ -2975,7 +2953,64 @@ allocate_symtab (const char *filename, s
 			  host_address_to_string (symtab), filename);
     }
 
-  return (symtab);
+  /* Add it to CUST's list of symtabs.  */
+  if (cust->filetabs == NULL)
+    {
+      cust->filetabs = symtab;
+      cust->last_filetab = symtab;
+    }
+  else
+    {
+      cust->last_filetab->next = symtab;
+      cust->last_filetab = symtab;
+    }
+
+  /* Backlink to the containing compunit symtab.  */
+  symtab->compunit_symtab = cust;
+
+  return symtab;
+}
+
+/* Allocate and initialize a new compunit.
+   NAME is the name of the main source file, if there is one, or some
+   descriptive text if there are no source files.  */
+
+struct compunit_symtab *
+allocate_compunit_symtab (struct objfile *objfile, const char *name)
+{
+  struct compunit_symtab *cu = OBSTACK_ZALLOC (&objfile->objfile_obstack,
+					       struct compunit_symtab);
+  const char *saved_name;
+
+  cu->objfile = objfile;
+
+  /* The name we record here is only for display/debugging purposes.
+     Just save the basename to avoid path issues (too long for display,
+     relative vs absolute, etc.).  */
+  saved_name = lbasename (name);
+  cu->name = obstack_copy0 (&objfile->objfile_obstack, saved_name,
+			    strlen (saved_name));
+
+  COMPUNIT_DEBUGFORMAT (cu) = "unknown";
+
+  if (symtab_create_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "Created compunit symtab %s for %s.\n",
+			  host_address_to_string (cu),
+			  cu->name);
+    }
+
+  return cu;
+}
+
+/* Hook CU to the objfile it comes from.  */
+
+void
+add_compunit_symtab_to_objfile (struct compunit_symtab *cu)
+{
+  cu->next = cu->objfile->compunit_symtabs;
+  cu->objfile->compunit_symtabs = cu;
 }
 
 
@@ -3487,7 +3522,7 @@ overlay_command (char *args, int from_tt
 {
   printf_unfiltered
     ("\"overlay\" must be followed by the name of an overlay command.\n");
-  help_list (overlaylist, "overlay ", -1, gdb_stdout);
+  help_list (overlaylist, "overlay ", all_commands, gdb_stdout);
 }
 
 /* Target Overlays for the "Simplest" overlay manager:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symfile-debug.c ./gdb/symfile-debug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symfile-debug.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/symfile-debug.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Debug logging for the symbol file functions for the GNU debugger, GDB.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support, using pieces from other GDB modules.
 
@@ -59,14 +59,6 @@ symfile_debug_installed (struct objfile 
 	  && objfile_data (objfile, symfile_debug_objfile_data_key) != NULL);
 }
 
-/* Utility to return the name to print for OBJFILE.  */
-
-static const char *
-debug_objfile_name (const struct objfile *objfile)
-{
-  return lbasename (objfile->original_name);
-}
-
 /* Utility return the name to print for SYMTAB.  */
 
 static const char *
@@ -87,7 +79,7 @@ debug_qf_has_symbols (struct objfile *ob
   retval = debug_data->real_sf->qf->has_symbols (objfile);
 
   fprintf_filtered (gdb_stdlog, "qf->has_symbols (%s) = %d\n",
-		    debug_objfile_name (objfile), retval);
+		    objfile_debug_name (objfile), retval);
 
   return retval;
 }
@@ -100,7 +92,7 @@ debug_qf_find_last_source_symtab (struct
   struct symtab *retval;
 
   fprintf_filtered (gdb_stdlog, "qf->find_last_source_symtab (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   retval = debug_data->real_sf->qf->find_last_source_symtab (objfile);
 
@@ -117,7 +109,7 @@ debug_qf_forget_cached_source_info (stru
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->forget_cached_source_info (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   debug_data->real_sf->qf->forget_cached_source_info (objfile);
 }
@@ -136,7 +128,7 @@ debug_qf_map_symtabs_matching_filename (
 
   fprintf_filtered (gdb_stdlog,
 		    "qf->map_symtabs_matching_filename (%s, \"%s\", \"%s\", %s, %s)\n",
-		    debug_objfile_name (objfile), name,
+		    objfile_debug_name (objfile), name,
 		    real_path ? real_path : NULL,
 		    host_address_to_string (callback),
 		    host_address_to_string (data));
@@ -151,24 +143,26 @@ debug_qf_map_symtabs_matching_filename (
   return retval;
 }
 
-static struct symtab *
+static struct compunit_symtab *
 debug_qf_lookup_symbol (struct objfile *objfile, int kind, const char *name,
 			domain_enum domain)
 {
   const struct debug_sym_fns_data *debug_data =
     objfile_data (objfile, symfile_debug_objfile_data_key);
-  struct symtab *retval;
+  struct compunit_symtab *retval;
 
   fprintf_filtered (gdb_stdlog,
 		    "qf->lookup_symbol (%s, %d, \"%s\", %s)\n",
-		    debug_objfile_name (objfile), kind, name,
+		    objfile_debug_name (objfile), kind, name,
 		    domain_name (domain));
 
   retval = debug_data->real_sf->qf->lookup_symbol (objfile, kind, name,
 						   domain);
 
   fprintf_filtered (gdb_stdlog, "qf->lookup_symbol (...) = %s\n",
-		    retval ? debug_symtab_name (retval) : "NULL");
+		    retval
+		    ? debug_symtab_name (compunit_primary_filetab (retval))
+		    : "NULL");
 
   return retval;
 }
@@ -180,7 +174,7 @@ debug_qf_print_stats (struct objfile *ob
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->print_stats (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   debug_data->real_sf->qf->print_stats (objfile);
 }
@@ -192,7 +186,7 @@ debug_qf_dump (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->dump (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   debug_data->real_sf->qf->dump (objfile);
 }
@@ -206,7 +200,7 @@ debug_qf_relocate (struct objfile *objfi
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->relocate (%s, %s, %s)\n",
-		    debug_objfile_name (objfile),
+		    objfile_debug_name (objfile),
 		    host_address_to_string (new_offsets),
 		    host_address_to_string (delta));
 
@@ -222,7 +216,7 @@ debug_qf_expand_symtabs_for_function (st
 
   fprintf_filtered (gdb_stdlog,
 		    "qf->expand_symtabs_for_function (%s, \"%s\")\n",
-		    debug_objfile_name (objfile), func_name);
+		    objfile_debug_name (objfile), func_name);
 
   debug_data->real_sf->qf->expand_symtabs_for_function (objfile, func_name);
 }
@@ -234,7 +228,7 @@ debug_qf_expand_all_symtabs (struct objf
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->expand_all_symtabs (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   debug_data->real_sf->qf->expand_all_symtabs (objfile);
 }
@@ -248,7 +242,7 @@ debug_qf_expand_symtabs_with_fullname (s
 
   fprintf_filtered (gdb_stdlog,
 		    "qf->expand_symtabs_with_fullname (%s, \"%s\")\n",
-		    debug_objfile_name (objfile), fullname);
+		    objfile_debug_name (objfile), fullname);
 
   debug_data->real_sf->qf->expand_symtabs_with_fullname (objfile, fullname);
 }
@@ -268,7 +262,7 @@ debug_qf_map_matching_symbols (struct ob
 
   fprintf_filtered (gdb_stdlog,
 		    "qf->map_matching_symbols (%s, \"%s\", %s, %d, %s, %s, %s, %s)\n",
-		    debug_objfile_name (objfile), name,
+		    objfile_debug_name (objfile), name,
 		    domain_name (namespace), global,
 		    host_address_to_string (callback),
 		    host_address_to_string (data),
@@ -294,7 +288,7 @@ debug_qf_expand_symtabs_matching
 
   fprintf_filtered (gdb_stdlog,
 		    "qf->expand_symtabs_matching (%s, %s, %s, %s, %s)\n",
-		    debug_objfile_name (objfile),
+		    objfile_debug_name (objfile),
 		    host_address_to_string (file_matcher),
 		    host_address_to_string (symbol_matcher),
 		    search_domain_name (kind),
@@ -306,31 +300,35 @@ debug_qf_expand_symtabs_matching
 						    kind, data);
 }
 
-static struct symtab *
-debug_qf_find_pc_sect_symtab (struct objfile *objfile,
-			      struct bound_minimal_symbol msymbol,
-			      CORE_ADDR pc,
-			      struct obj_section *section,
-			      int warn_if_readin)
+static struct compunit_symtab *
+debug_qf_find_pc_sect_compunit_symtab (struct objfile *objfile,
+				       struct bound_minimal_symbol msymbol,
+				       CORE_ADDR pc,
+				       struct obj_section *section,
+				       int warn_if_readin)
 {
   const struct debug_sym_fns_data *debug_data =
     objfile_data (objfile, symfile_debug_objfile_data_key);
-  struct symtab *retval;
+  struct compunit_symtab *retval;
 
   fprintf_filtered (gdb_stdlog,
-		    "qf->find_pc_sect_symtab (%s, %s, %s, %s, %d)\n",
-		    debug_objfile_name (objfile),
+		    "qf->find_pc_sect_compunit_symtab (%s, %s, %s, %s, %d)\n",
+		    objfile_debug_name (objfile),
 		    host_address_to_string (msymbol.minsym),
 		    hex_string (pc),
 		    host_address_to_string (section),
 		    warn_if_readin);
 
-  retval = debug_data->real_sf->qf->find_pc_sect_symtab (objfile, msymbol,
-							 pc, section,
-							 warn_if_readin);
+  retval
+    = debug_data->real_sf->qf->find_pc_sect_compunit_symtab (objfile, msymbol,
+							     pc, section,
+							     warn_if_readin);
 
-  fprintf_filtered (gdb_stdlog, "qf->find_pc_sect_symtab (...) = %s\n",
-		    retval ? debug_symtab_name (retval) : "NULL");
+  fprintf_filtered (gdb_stdlog,
+		    "qf->find_pc_sect_compunit_symtab (...) = %s\n",
+		    retval
+		    ? debug_symtab_name (compunit_primary_filetab (retval))
+		    : "NULL");
 
   return retval;
 }
@@ -344,7 +342,7 @@ debug_qf_map_symbol_filenames (struct ob
     objfile_data (objfile, symfile_debug_objfile_data_key);
   fprintf_filtered (gdb_stdlog,
 		    "qf->map_symbol_filenames (%s, %s, %s, %d)\n",
-		    debug_objfile_name (objfile),
+		    objfile_debug_name (objfile),
 		    host_address_to_string (fun),
 		    host_address_to_string (data),
 		    need_fullname);
@@ -368,7 +366,7 @@ static const struct quick_symbol_functio
   debug_qf_expand_symtabs_with_fullname,
   debug_qf_map_matching_symbols,
   debug_qf_expand_symtabs_matching,
-  debug_qf_find_pc_sect_symtab,
+  debug_qf_find_pc_sect_compunit_symtab,
   debug_qf_map_symbol_filenames
 };
 
@@ -385,7 +383,7 @@ debug_sym_get_probes (struct objfile *ob
 
   fprintf_filtered (gdb_stdlog,
 		    "probes->sym_get_probes (%s) = %s\n",
-		    debug_objfile_name (objfile),
+		    objfile_debug_name (objfile),
 		    host_address_to_string (retval));
 
   return retval;
@@ -405,7 +403,7 @@ debug_sym_new_init (struct objfile *objf
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_new_init (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_new_init (objfile);
 }
@@ -417,7 +415,7 @@ debug_sym_init (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_init (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_init (objfile);
 }
@@ -429,7 +427,7 @@ debug_sym_read (struct objfile *objfile,
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_read (%s, 0x%x)\n",
-		    debug_objfile_name (objfile), symfile_flags);
+		    objfile_debug_name (objfile), symfile_flags);
 
   debug_data->real_sf->sym_read (objfile, symfile_flags);
 }
@@ -441,7 +439,7 @@ debug_sym_read_psymbols (struct objfile 
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_read_psymbols (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_read_psymbols (objfile);
 }
@@ -453,7 +451,7 @@ debug_sym_finish (struct objfile *objfil
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_finish (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_finish (objfile);
 }
@@ -466,7 +464,7 @@ debug_sym_offsets (struct objfile *objfi
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_offsets (%s, %s)\n",
-		    debug_objfile_name (objfile),
+		    objfile_debug_name (objfile),
 		    host_address_to_string (info));
 
   debug_data->real_sf->sym_offsets (objfile, info);
@@ -488,7 +486,7 @@ debug_sym_read_linetable (struct objfile
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_read_linetable (%s)\n",
-		    debug_objfile_name (objfile));
+		    objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_read_linetable (objfile);
 }
@@ -504,7 +502,7 @@ debug_sym_relocate (struct objfile *objf
 
   fprintf_filtered (gdb_stdlog,
 		    "sf->sym_relocate (%s, %s, %s) = %s\n",
-		    debug_objfile_name (objfile),
+		    objfile_debug_name (objfile),
 		    host_address_to_string (sectp),
 		    host_address_to_string (buf),
 		    host_address_to_string (retval));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symfile.h ./gdb/symfile.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symfile.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/symfile.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for reading symbol files into GDB.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -188,18 +188,18 @@ struct quick_symbol_functions
 					void *data);
 
   /* Check to see if the symbol is defined in a "partial" symbol table
-     of OBJFILE.  KIND should be either GLOBAL_BLOCK or STATIC_BLOCK,
+     of OBJFILE.  BLOCK_INDEX should be either GLOBAL_BLOCK or STATIC_BLOCK,
      depending on whether we want to search global symbols or static
      symbols.  NAME is the name of the symbol to look for.  DOMAIN
      indicates what sort of symbol to search for.
 
-     Returns the newly-expanded symbol table in which the symbol is
+     Returns the newly-expanded compunit in which the symbol is
      defined, or NULL if no such symbol table exists.  If OBJFILE
-     contains !TYPE_OPAQUE symbol prefer its symtab.  If it contains
-     only TYPE_OPAQUE symbol(s), return at least that symtab.  */
-  struct symtab *(*lookup_symbol) (struct objfile *objfile,
-				   int kind, const char *name,
-				   domain_enum domain);
+     contains !TYPE_OPAQUE symbol prefer its compunit.  If it contains
+     only TYPE_OPAQUE symbol(s), return at least that compunit.  */
+  struct compunit_symtab *(*lookup_symbol) (struct objfile *objfile,
+					    int block_index, const char *name,
+					    domain_enum domain);
 
   /* Print statistics about any indices loaded for OBJFILE.  The
      statistics should be printed to gdb_stdout.  This is used for
@@ -285,17 +285,15 @@ struct quick_symbol_functions
      enum search_domain kind,
      void *data);
 
-  /* Return the symbol table from OBJFILE that contains PC and
-     SECTION.  Return NULL if there is no such symbol table.  This
-     should return the symbol table that contains a symbol whose
+  /* Return the comp unit from OBJFILE that contains PC and
+     SECTION.  Return NULL if there is no such compunit.  This
+     should return the compunit that contains a symbol whose
      address exactly matches PC, or, if there is no exact match, the
-     symbol table that contains a symbol whose address is closest to
+     compunit that contains a symbol whose address is closest to
      PC.  */
-  struct symtab *(*find_pc_sect_symtab) (struct objfile *objfile,
-					 struct bound_minimal_symbol msymbol,
-					 CORE_ADDR pc,
-					 struct obj_section *section,
-					 int warn_if_readin);
+  struct compunit_symtab *(*find_pc_sect_compunit_symtab)
+    (struct objfile *objfile, struct bound_minimal_symbol msymbol,
+     CORE_ADDR pc, struct obj_section *section, int warn_if_readin);
 
   /* Call a callback for every file defined in OBJFILE whose symtab is
      not already read in.  FUN is the callback.  It is passed the file's
@@ -355,12 +353,12 @@ struct sym_fns
 
   void (*sym_finish) (struct objfile *);
 
+
   /* This function produces a file-dependent section_offsets
-     structure, allocated in the objfile's storage, and based on the
-     parameter.  The parameter is currently a CORE_ADDR (FIXME!) for
-     backward compatibility with the higher levels of GDB.  It should
-     probably be changed to a string, where NULL means the default,
-     and others are parsed in a file dependent way.  */
+     structure, allocated in the objfile's storage.
+
+     The section_addr_info structure contains the offset of loadable and
+     allocated sections, relative to the absolute offsets found in the BFD.  */
 
   void (*sym_offsets) (struct objfile *, const struct section_addr_info *);
 
@@ -418,9 +416,15 @@ extern struct symfile_segment_data *defa
 extern bfd_byte *default_symfile_relocate (struct objfile *objfile,
                                            asection *sectp, bfd_byte *buf);
 
-extern struct symtab *allocate_symtab (const char *, struct objfile *)
+extern struct symtab *allocate_symtab (struct compunit_symtab *, const char *)
   ATTRIBUTE_NONNULL (1);
 
+extern struct compunit_symtab *allocate_compunit_symtab (struct objfile *,
+							 const char *)
+  ATTRIBUTE_NONNULL (1);
+
+extern void add_compunit_symtab_to_objfile (struct compunit_symtab *cu);
+
 extern void add_symtab_fns (enum bfd_flavour flavour, const struct sym_fns *);
 
 /* This enum encodes bit-flags passed as ADD_FLAGS parameter to
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symfile-mem.c ./gdb/symfile-mem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symfile-mem.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/symfile-mem.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Reading symbol files from memory.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -45,7 +45,6 @@
 #include "symtab.h"
 #include "gdbcore.h"
 #include "objfiles.h"
-#include "exceptions.h"
 #include "gdbcmd.h"
 #include "target.h"
 #include "value.h"
@@ -188,33 +187,15 @@ symbol_file_add_from_memory_wrapper (str
   return 0;
 }
 
-/* Rummage through mappings to find the vsyscall page size.  */
-
-static int
-find_vdso_size (CORE_ADDR vaddr, unsigned long size,
-		int read, int write, int exec, int modified,
-		void *data)
-{
-  struct symbol_file_add_from_memory_args *args = data;
-
-  if (vaddr == args->sysinfo_ehdr)
-    {
-      args->size = size;
-      return 1;
-    }
-  return 0;
-}
-
 /* Try to add the symbols for the vsyscall page, if there is one.
    This function is called via the inferior_created observer.  */
 
 static void
 add_vsyscall_page (struct target_ops *target, int from_tty)
 {
-  CORE_ADDR sysinfo_ehdr;
+  struct mem_range vsyscall_range;
 
-  if (target_auxv_search (target, AT_SYSINFO_EHDR, &sysinfo_ehdr) > 0
-      && sysinfo_ehdr != (CORE_ADDR) 0)
+  if (gdbarch_vsyscall_range (target_gdbarch (), &vsyscall_range))
     {
       struct bfd *bfd;
       struct symbol_file_add_from_memory_args args;
@@ -237,14 +218,11 @@ add_vsyscall_page (struct target_ops *ta
 	  return;
 	}
       args.bfd = bfd;
-      args.sysinfo_ehdr = sysinfo_ehdr;
-      args.size = 0;
-      if (gdbarch_find_memory_regions_p (target_gdbarch ()))
-	(void) gdbarch_find_memory_regions (target_gdbarch (),
-					    find_vdso_size, &args);
+      args.sysinfo_ehdr = vsyscall_range.start;
+      args.size = vsyscall_range.length;
 
       args.name = xstrprintf ("system-supplied DSO at %s",
-			      paddress (target_gdbarch (), sysinfo_ehdr));
+			      paddress (target_gdbarch (), vsyscall_range.start));
       /* Pass zero for FROM_TTY, because the action of loading the
 	 vsyscall DSO was not triggered by the user, even if the user
 	 typed "run" at the TTY.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symmisc.c ./gdb/symmisc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symmisc.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/symmisc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Do various things to symbol tables (other than lookup), for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,7 +27,6 @@
 #include "breakpoint.h"
 #include "command.h"
 #include "gdb_obstack.h"
-#include "exceptions.h"
 #include "language.h"
 #include "bcache.h"
 #include "block.h"
@@ -37,8 +36,6 @@
 #include "typeprint.h"
 #include "gdbcmd.h"
 #include "source.h"
-
-#include <string.h>
 #include "readline/readline.h"
 
 #include "psymtab.h"
@@ -100,6 +97,7 @@ print_objfile_statistics (void)
 {
   struct program_space *pspace;
   struct objfile *objfile;
+  struct compunit_symtab *cu;
   struct symtab *s;
   int i, linetables, blockvectors;
 
@@ -126,27 +124,29 @@ print_objfile_statistics (void)
     if (objfile->sf)
       objfile->sf->qf->print_stats (objfile);
     i = linetables = blockvectors = 0;
-    ALL_OBJFILE_SYMTABS (objfile, s)
+    ALL_OBJFILE_FILETABS (objfile, cu, s)
       {
         i++;
-        if (s->linetable != NULL)
+        if (SYMTAB_LINETABLE (s) != NULL)
           linetables++;
-        if (s->primary == 1)
-          blockvectors++;
       }
+    ALL_OBJFILE_COMPUNITS (objfile, cu)
+      blockvectors++;
     printf_filtered (_("  Number of symbol tables: %d\n"), i);
-    printf_filtered (_("  Number of symbol tables with line tables: %d\n"), 
+    printf_filtered (_("  Number of symbol tables with line tables: %d\n"),
                      linetables);
-    printf_filtered (_("  Number of symbol tables with blockvectors: %d\n"), 
+    printf_filtered (_("  Number of symbol tables with blockvectors: %d\n"),
                      blockvectors);
-    
+
     if (OBJSTAT (objfile, sz_strtab) > 0)
       printf_filtered (_("  Space used by a.out string tables: %d\n"),
 		       OBJSTAT (objfile, sz_strtab));
-    printf_filtered (_("  Total memory used for objfile obstack: %d\n"),
-		     obstack_memory_used (&objfile->objfile_obstack));
-    printf_filtered (_("  Total memory used for BFD obstack: %d\n"),
-		     obstack_memory_used (&objfile->per_bfd->storage_obstack));
+    printf_filtered (_("  Total memory used for objfile obstack: %s\n"),
+		     pulongest (obstack_memory_used (&objfile
+						     ->objfile_obstack)));
+    printf_filtered (_("  Total memory used for BFD obstack: %s\n"),
+		     pulongest (obstack_memory_used (&objfile->per_bfd
+						     ->storage_obstack)));
     printf_filtered (_("  Total memory used for psymbol cache: %d\n"),
 		     bcache_memory_used (psymbol_bcache_get_bcache
 		                          (objfile->psymbol_cache)));
@@ -160,6 +160,7 @@ print_objfile_statistics (void)
 static void
 dump_objfile (struct objfile *objfile)
 {
+  struct compunit_symtab *cust;
   struct symtab *symtab;
 
   printf_filtered ("\nObject file %s:  ", objfile_name (objfile));
@@ -173,17 +174,15 @@ dump_objfile (struct objfile *objfile)
   if (objfile->sf)
     objfile->sf->qf->dump (objfile);
 
-  if (objfile->symtabs)
+  if (objfile->compunit_symtabs != NULL)
     {
       printf_filtered ("Symtabs:\n");
-      for (symtab = objfile->symtabs;
-	   symtab != NULL;
-	   symtab = symtab->next)
+      ALL_OBJFILE_FILETABS (objfile, cust, symtab)
 	{
 	  printf_filtered ("%s at ", symtab_to_filename_for_display (symtab));
 	  gdb_print_host_address (symtab, gdb_stdout);
 	  printf_filtered (", ");
-	  if (symtab->objfile != objfile)
+	  if (SYMTAB_OBJFILE (symtab) != objfile)
 	    {
 	      printf_filtered ("NOT ON CHAIN!  ");
 	    }
@@ -291,16 +290,16 @@ dump_symtab_1 (struct objfile *objfile, 
   struct dict_iterator iter;
   int len;
   struct linetable *l;
-  struct blockvector *bv;
+  const struct blockvector *bv;
   struct symbol *sym;
   struct block *b;
   int depth;
 
   fprintf_filtered (outfile, "\nSymtab for file %s\n",
 		    symtab_to_filename_for_display (symtab));
-  if (symtab->dirname)
+  if (SYMTAB_DIRNAME (symtab) != NULL)
     fprintf_filtered (outfile, "Compilation directory is %s\n",
-		      symtab->dirname);
+		      SYMTAB_DIRNAME (symtab));
   fprintf_filtered (outfile, "Read from object file %s (",
 		    objfile_name (objfile));
   gdb_print_host_address (objfile, outfile);
@@ -309,7 +308,7 @@ dump_symtab_1 (struct objfile *objfile, 
 		    language_str (symtab->language));
 
   /* First print the line table.  */
-  l = LINETABLE (symtab);
+  l = SYMTAB_LINETABLE (symtab);
   if (l)
     {
       fprintf_filtered (outfile, "\nLine table:\n\n");
@@ -321,12 +320,12 @@ dump_symtab_1 (struct objfile *objfile, 
 	  fprintf_filtered (outfile, "\n");
 	}
     }
-  /* Now print the block info, but only for primary symtabs since we will
+  /* Now print the block info, but only for compunit symtabs since we will
      print lots of duplicate info otherwise.  */
-  if (symtab->primary)
+  if (symtab == COMPUNIT_FILETABS (SYMTAB_COMPUNIT (symtab)))
     {
       fprintf_filtered (outfile, "\nBlockvector:\n\n");
-      bv = BLOCKVECTOR (symtab);
+      bv = SYMTAB_BLOCKVECTOR (symtab);
       len = BLOCKVECTOR_NBLOCKS (bv);
       for (i = 0; i < len; i++)
 	{
@@ -414,6 +413,7 @@ maintenance_print_symbols (char *args, i
   char *symname = NULL;
   char *filename = DEV_TTY;
   struct objfile *objfile;
+  struct compunit_symtab *cu;
   struct symtab *s;
 
   dont_repeat ();
@@ -444,7 +444,7 @@ maintenance_print_symbols (char *args, i
     perror_with_name (filename);
   make_cleanup_ui_file_delete (outfile);
 
-  ALL_SYMTABS (objfile, s)
+  ALL_FILETABS (objfile, cu, s)
     {
       QUIT;
       if (symname == NULL
@@ -466,8 +466,12 @@ print_symbol (void *args)
   struct symbol *symbol = ((struct print_symbol_args *) args)->symbol;
   int depth = ((struct print_symbol_args *) args)->depth;
   struct ui_file *outfile = ((struct print_symbol_args *) args)->outfile;
-  struct obj_section *section = SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (symbol),
-						    symbol);
+  struct obj_section *section;
+
+  if (SYMBOL_OBJFILE_OWNED (symbol))
+    section = SYMBOL_OBJ_SECTION (symbol_objfile (symbol), symbol);
+  else
+    section = NULL;
 
   print_spaces (depth, outfile);
   if (SYMBOL_DOMAIN (symbol) == LABEL_DOMAIN)
@@ -726,48 +730,71 @@ maintenance_info_symtabs (char *regexp, 
   ALL_PSPACES (pspace)
     ALL_PSPACE_OBJFILES (pspace, objfile)
     {
+      struct compunit_symtab *cust;
       struct symtab *symtab;
-      
+
       /* We don't want to print anything for this objfile until we
          actually find a symtab whose name matches.  */
       int printed_objfile_start = 0;
 
-      ALL_OBJFILE_SYMTABS (objfile, symtab)
+      ALL_OBJFILE_COMPUNITS (objfile, cust)
 	{
-	  QUIT;
+	  int printed_compunit_symtab_start = 0;
 
-	  if (! regexp
-	      || re_exec (symtab_to_filename_for_display (symtab)))
+	  ALL_COMPUNIT_FILETABS (cust, symtab)
 	    {
-	      if (! printed_objfile_start)
+	      QUIT;
+
+	      if (! regexp
+		  || re_exec (symtab_to_filename_for_display (symtab)))
 		{
-		  printf_filtered ("{ objfile %s ", objfile_name (objfile));
-		  wrap_here ("  ");
-		  printf_filtered ("((struct objfile *) %s)\n", 
-				   host_address_to_string (objfile));
-		  printed_objfile_start = 1;
+		  if (! printed_objfile_start)
+		    {
+		      printf_filtered ("{ objfile %s ", objfile_name (objfile));
+		      wrap_here ("  ");
+		      printf_filtered ("((struct objfile *) %s)\n",
+				       host_address_to_string (objfile));
+		      printed_objfile_start = 1;
+		    }
+		  if (! printed_compunit_symtab_start)
+		    {
+		      printf_filtered ("  { ((struct compunit_symtab *) %s)\n",
+				       host_address_to_string (cust));
+		      printf_filtered ("    debugformat %s\n",
+				       COMPUNIT_DEBUGFORMAT (cust));
+		      printf_filtered ("    producer %s\n",
+				       COMPUNIT_PRODUCER (cust) != NULL
+				       ? COMPUNIT_PRODUCER (cust)
+				       : "(null)");
+		      printf_filtered ("    dirname %s\n",
+				       COMPUNIT_DIRNAME (cust) != NULL
+				       ? COMPUNIT_DIRNAME (cust)
+				       : "(null)");
+		      printf_filtered ("    blockvector"
+				       " ((struct blockvector *) %s)\n",
+				       host_address_to_string
+				         (COMPUNIT_BLOCKVECTOR (cust)));
+		      printed_compunit_symtab_start = 1;
+		    }
+
+		  printf_filtered ("\t{ symtab %s ",
+				   symtab_to_filename_for_display (symtab));
+		  wrap_here ("    ");
+		  printf_filtered ("((struct symtab *) %s)\n",
+				   host_address_to_string (symtab));
+		  printf_filtered ("\t  fullname %s\n",
+				   symtab->fullname != NULL
+				   ? symtab->fullname
+				   : "(null)");
+		  printf_filtered ("\t  "
+				   "linetable ((struct linetable *) %s)\n",
+				   host_address_to_string (symtab->linetable));
+		  printf_filtered ("\t}\n");
 		}
-
-	      printf_filtered ("	{ symtab %s ",
-			       symtab_to_filename_for_display (symtab));
-	      wrap_here ("    ");
-	      printf_filtered ("((struct symtab *) %s)\n", 
-			       host_address_to_string (symtab));
-	      printf_filtered ("	  dirname %s\n",
-			       symtab->dirname ? symtab->dirname : "(null)");
-	      printf_filtered ("	  fullname %s\n",
-			       symtab->fullname ? symtab->fullname : "(null)");
-	      printf_filtered ("	  "
-			       "blockvector ((struct blockvector *) %s)%s\n",
-			       host_address_to_string (symtab->blockvector),
-			       symtab->primary ? " (primary)" : "");
-	      printf_filtered ("	  "
-			       "linetable ((struct linetable *) %s)\n",
-			       host_address_to_string (symtab->linetable));
-	      printf_filtered ("	  debugformat %s\n",
-			       symtab->debugformat);
-	      printf_filtered ("	}\n");
 	    }
+
+	  if (printed_compunit_symtab_start)
+	    printf_filtered ("  }\n");
 	}
 
       if (printed_objfile_start)
@@ -792,19 +819,20 @@ maintenance_check_symtabs (char *ignore,
   ALL_PSPACES (pspace)
     ALL_PSPACE_OBJFILES (pspace, objfile)
     {
-      struct symtab *symtab;
+      struct compunit_symtab *cust;
 
       /* We don't want to print anything for this objfile until we
          actually find something worth printing.  */
       int printed_objfile_start = 0;
 
-      ALL_OBJFILE_SYMTABS (objfile, symtab)
+      ALL_OBJFILE_COMPUNITS (objfile, cust)
 	{
 	  int found_something = 0;
+	  struct symtab *symtab = compunit_primary_filetab (cust);
 
 	  QUIT;
 
-	  if (symtab->blockvector == NULL)
+	  if (COMPUNIT_BLOCKVECTOR (cust) == NULL)
 	    found_something = 1;
 	  /* Add more checks here.  */
 
@@ -814,13 +842,13 @@ maintenance_check_symtabs (char *ignore,
 		{
 		  printf_filtered ("{ objfile %s ", objfile_name (objfile));
 		  wrap_here ("  ");
-		  printf_filtered ("((struct objfile *) %s)\n", 
+		  printf_filtered ("((struct objfile *) %s)\n",
 				   host_address_to_string (objfile));
 		  printed_objfile_start = 1;
 		}
 	      printf_filtered ("  { symtab %s\n",
 			       symtab_to_filename_for_display (symtab));
-	      if (symtab->blockvector == NULL)
+	      if (COMPUNIT_BLOCKVECTOR (cust) == NULL)
 		printf_filtered ("    NULL blockvector\n");
 	      printf_filtered ("  }\n");
 	    }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symtab.c ./gdb/symtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symtab.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/symtab.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Symbol table lookup for the GNU debugger, GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -50,59 +50,40 @@
 
 #include <sys/types.h>
 #include <fcntl.h>
-#include <string.h>
 #include <sys/stat.h>
 #include <ctype.h>
 #include "cp-abi.h"
 #include "cp-support.h"
 #include "observer.h"
-#include "gdb_assert.h"
 #include "solist.h"
 #include "macrotab.h"
 #include "macroscope.h"
 
 #include "parser-defs.h"
 
-/* Prototypes for local functions */
+/* Forward declarations for local functions.  */
 
 static void rbreak_command (char *, int);
 
-static void types_info (char *, int);
-
-static void functions_info (char *, int);
-
-static void variables_info (char *, int);
-
-static void sources_info (char *, int);
-
 static int find_line_common (struct linetable *, int, int *, int);
 
 static struct symbol *lookup_symbol_aux (const char *name,
 					 const struct block *block,
 					 const domain_enum domain,
 					 enum language language,
-					 struct field_of_this_result *is_a_field_of_this);
+					 struct field_of_this_result *);
 
 static
-struct symbol *lookup_symbol_aux_local (const char *name,
-					const struct block *block,
-					const domain_enum domain,
-					enum language language);
+struct symbol *lookup_local_symbol (const char *name,
+				    const struct block *block,
+				    const domain_enum domain,
+				    enum language language);
 
-static
-struct symbol *lookup_symbol_aux_symtabs (int block_index,
-					  const char *name,
-					  const domain_enum domain);
-
-static
-struct symbol *lookup_symbol_aux_quick (struct objfile *objfile,
-					int block_index,
-					const char *name,
-					const domain_enum domain);
-
-void _initialize_symtab (void);
+static struct symbol *
+  lookup_symbol_in_objfile (struct objfile *objfile, int block_index,
+			    const char *name, const domain_enum domain);
 
-/* */
+extern initialize_file_ftype _initialize_symtab;
 
 /* Program space key for finding name and language of "main".  */
 
@@ -124,6 +105,9 @@ struct main_info
 /* When non-zero, print debugging messages related to symtab creation.  */
 unsigned int symtab_create_debug = 0;
 
+/* When non-zero, print debugging messages related to symbol lookup.  */
+unsigned int symbol_lookup_debug = 0;
+
 /* Non-zero if a file may be known by two different basenames.
    This is the uncommon case, and significantly slows down gdb.
    Default set to "off" to not slow down the common case.  */
@@ -169,6 +153,7 @@ domain_name (domain_enum e)
     case UNDEF_DOMAIN: return "UNDEF_DOMAIN";
     case VAR_DOMAIN: return "VAR_DOMAIN";
     case STRUCT_DOMAIN: return "STRUCT_DOMAIN";
+    case MODULE_DOMAIN: return "MODULE_DOMAIN";
     case LABEL_DOMAIN: return "LABEL_DOMAIN";
     case COMMON_BLOCK_DOMAIN: return "COMMON_BLOCK_DOMAIN";
     default: gdb_assert_not_reached ("bad domain_enum");
@@ -190,20 +175,27 @@ search_domain_name (enum search_domain e
     }
 }
 
-/* Set the primary field in SYMTAB.  */
+/* See symtab.h.  */
 
-void
-set_symtab_primary (struct symtab *symtab, int primary)
+struct symtab *
+compunit_primary_filetab (const struct compunit_symtab *cust)
 {
-  symtab->primary = primary;
+  gdb_assert (COMPUNIT_FILETABS (cust) != NULL);
 
-  if (symtab_create_debug && primary)
-    {
-      fprintf_unfiltered (gdb_stdlog,
-			  "Created primary symtab %s for %s.\n",
-			  host_address_to_string (symtab),
-			  symtab_to_filename_for_display (symtab));
-    }
+  /* The primary file symtab is the first one in the list.  */
+  return COMPUNIT_FILETABS (cust);
+}
+
+/* See symtab.h.  */
+
+enum language
+compunit_language (const struct compunit_symtab *cust)
+{
+  struct symtab *symtab = compunit_primary_filetab (cust);
+
+/* The language of the compunit symtab is the language of its primary
+   source file.  */
+  return SYMTAB_LANGUAGE (symtab);
 }
 
 /* See whether FILENAME matches SEARCH_NAME using the rule that we
@@ -254,8 +246,9 @@ compare_filenames_for_search (const char
    are identical to the `map_symtabs_matching_filename' method of
    quick_symbol_functions.
 
-   FIRST and AFTER_LAST indicate the range of symtabs to search.
-   AFTER_LAST is one past the last symtab to search; NULL means to
+   FIRST and AFTER_LAST indicate the range of compunit symtabs to search.
+   Each symtab within the specified compunit symtab is also searched.
+   AFTER_LAST is one past the last compunit symtab to search; NULL means to
    search until the end of the list.  */
 
 int
@@ -264,48 +257,52 @@ iterate_over_some_symtabs (const char *n
 			   int (*callback) (struct symtab *symtab,
 					    void *data),
 			   void *data,
-			   struct symtab *first,
-			   struct symtab *after_last)
+			   struct compunit_symtab *first,
+			   struct compunit_symtab *after_last)
 {
-  struct symtab *s = NULL;
+  struct compunit_symtab *cust;
+  struct symtab *s;
   const char* base_name = lbasename (name);
 
-  for (s = first; s != NULL && s != after_last; s = s->next)
+  for (cust = first; cust != NULL && cust != after_last; cust = cust->next)
     {
-      if (compare_filenames_for_search (s->filename, name))
+      ALL_COMPUNIT_FILETABS (cust, s)
 	{
-	  if (callback (s, data))
-	    return 1;
-	  continue;
-	}
-
-      /* Before we invoke realpath, which can get expensive when many
-	 files are involved, do a quick comparison of the basenames.  */
-      if (! basenames_may_differ
-	  && FILENAME_CMP (base_name, lbasename (s->filename)) != 0)
-	continue;
+	  if (compare_filenames_for_search (s->filename, name))
+	    {
+	      if (callback (s, data))
+		return 1;
+	      continue;
+	    }
 
-      if (compare_filenames_for_search (symtab_to_fullname (s), name))
-	{
-	  if (callback (s, data))
-	    return 1;
-	  continue;
-	}
+	  /* Before we invoke realpath, which can get expensive when many
+	     files are involved, do a quick comparison of the basenames.  */
+	  if (! basenames_may_differ
+	      && FILENAME_CMP (base_name, lbasename (s->filename)) != 0)
+	    continue;
 
-      /* If the user gave us an absolute path, try to find the file in
-	 this symtab and use its absolute path.  */
-      if (real_path != NULL)
-	{
-	  const char *fullname = symtab_to_fullname (s);
-
-	  gdb_assert (IS_ABSOLUTE_PATH (real_path));
-	  gdb_assert (IS_ABSOLUTE_PATH (name));
-	  if (FILENAME_CMP (real_path, fullname) == 0)
+	  if (compare_filenames_for_search (symtab_to_fullname (s), name))
 	    {
 	      if (callback (s, data))
 		return 1;
 	      continue;
 	    }
+
+	  /* If the user gave us an absolute path, try to find the file in
+	     this symtab and use its absolute path.  */
+	  if (real_path != NULL)
+	    {
+	      const char *fullname = symtab_to_fullname (s);
+
+	      gdb_assert (IS_ABSOLUTE_PATH (real_path));
+	      gdb_assert (IS_ABSOLUTE_PATH (name));
+	      if (FILENAME_CMP (real_path, fullname) == 0)
+		{
+		  if (callback (s, data))
+		    return 1;
+		  continue;
+		}
+	    }
 	}
     }
 
@@ -341,7 +338,7 @@ iterate_over_symtabs (const char *name,
   ALL_OBJFILES (objfile)
   {
     if (iterate_over_some_symtabs (name, real_path, callback, data,
-				   objfile->symtabs, NULL))
+				   objfile->compunit_symtabs, NULL))
       {
 	do_cleanups (cleanups);
 	return;
@@ -478,40 +475,15 @@ gdb_mangle_name (struct type *type, int 
   return (mangled_name);
 }
 
-/* Initialize the cplus_specific structure.  'cplus_specific' should
-   only be allocated for use with cplus symbols.  */
-
-static void
-symbol_init_cplus_specific (struct general_symbol_info *gsymbol,
-			    struct obstack *obstack)
-{
-  /* A language_specific structure should not have been previously
-     initialized.  */
-  gdb_assert (gsymbol->language_specific.cplus_specific == NULL);
-  gdb_assert (obstack != NULL);
-
-  gsymbol->language_specific.cplus_specific =
-    OBSTACK_ZALLOC (obstack, struct cplus_specific);
-}
-
 /* Set the demangled name of GSYMBOL to NAME.  NAME must be already
-   correctly allocated.  For C++ symbols a cplus_specific struct is
-   allocated so OBJFILE must not be NULL.  If this is a non C++ symbol
-   OBJFILE can be NULL.  */
+   correctly allocated.  */
 
 void
 symbol_set_demangled_name (struct general_symbol_info *gsymbol,
                            const char *name,
                            struct obstack *obstack)
 {
-  if (gsymbol->language == language_cplus)
-    {
-      if (gsymbol->language_specific.cplus_specific == NULL)
-	symbol_init_cplus_specific (gsymbol, obstack);
-
-      gsymbol->language_specific.cplus_specific->demangled_name = name;
-    }
-  else if (gsymbol->language == language_ada)
+  if (gsymbol->language == language_ada)
     {
       if (name == NULL)
 	{
@@ -533,14 +505,7 @@ symbol_set_demangled_name (struct genera
 const char *
 symbol_get_demangled_name (const struct general_symbol_info *gsymbol)
 {
-  if (gsymbol->language == language_cplus)
-    {
-      if (gsymbol->language_specific.cplus_specific != NULL)
-	return gsymbol->language_specific.cplus_specific->demangled_name;
-      else
-	return NULL;
-    }
-  else if (gsymbol->language == language_ada)
+  if (gsymbol->language == language_ada)
     {
       if (!gsymbol->ada_mangled)
 	return NULL;
@@ -560,7 +525,8 @@ symbol_set_language (struct general_symb
 		     struct obstack *obstack)
 {
   gsymbol->language = language;
-  if (gsymbol->language == language_d
+  if (gsymbol->language == language_cplus
+      || gsymbol->language == language_d
       || gsymbol->language == language_go
       || gsymbol->language == language_java
       || gsymbol->language == language_objc
@@ -573,8 +539,6 @@ symbol_set_language (struct general_symb
       gdb_assert (gsymbol->ada_mangled == 0);
       gsymbol->language_specific.obstack = obstack;
     }
-  else if (gsymbol->language == language_cplus)
-    gsymbol->language_specific.cplus_specific = NULL;
   else
     {
       memset (&gsymbol->language_specific, 0,
@@ -1062,8 +1026,10 @@ matching_obj_sections (struct obj_sectio
   return 0;
 }
 
-struct symtab *
-find_pc_sect_symtab_via_partial (CORE_ADDR pc, struct obj_section *section)
+/* See symtab.h.  */
+
+void
+expand_symtab_containing_pc (CORE_ADDR pc, struct obj_section *section)
 {
   struct objfile *objfile;
   struct bound_minimal_symbol msymbol;
@@ -1078,20 +1044,18 @@ find_pc_sect_symtab_via_partial (CORE_AD
 	  || MSYMBOL_TYPE (msymbol.minsym) == mst_abs
 	  || MSYMBOL_TYPE (msymbol.minsym) == mst_file_data
 	  || MSYMBOL_TYPE (msymbol.minsym) == mst_file_bss))
-    return NULL;
+    return;
 
   ALL_OBJFILES (objfile)
   {
-    struct symtab *result = NULL;
+    struct compunit_symtab *cust = NULL;
 
     if (objfile->sf)
-      result = objfile->sf->qf->find_pc_sect_symtab (objfile, msymbol,
-						     pc, section, 0);
-    if (result)
-      return result;
+      cust = objfile->sf->qf->find_pc_sect_compunit_symtab (objfile, msymbol,
+							    pc, section, 0);
+    if (cust)
+      return;
   }
-
-  return NULL;
 }
 
 /* Debug symbols usually don't have section information.  We need to dig that
@@ -1186,12 +1150,15 @@ fixup_symbol_section (struct symbol *sym
   if (!sym)
     return NULL;
 
+  if (!SYMBOL_OBJFILE_OWNED (sym))
+    return sym;
+
   /* We either have an OBJFILE, or we can get at it from the sym's
      symtab.  Anything else is a bug.  */
-  gdb_assert (objfile || SYMBOL_SYMTAB (sym));
+  gdb_assert (objfile || symbol_symtab (sym));
 
   if (objfile == NULL)
-    objfile = SYMBOL_SYMTAB (sym)->objfile;
+    objfile = symbol_objfile (sym);
 
   if (SYMBOL_OBJ_SECTION (objfile, sym))
     return sym;
@@ -1303,16 +1270,9 @@ demangle_for_lookup (const char *name, e
   return cleanup;
 }
 
-/* Find the definition for a specified symbol name NAME
-   in domain DOMAIN, visible from lexical block BLOCK.
-   Returns the struct symbol pointer, or zero if no symbol is found.
-   C++: if IS_A_FIELD_OF_THIS is nonzero on entry, check to see if
-   NAME is a field of the current implied argument `this'.  If so set
-   *IS_A_FIELD_OF_THIS to 1, otherwise set it to zero.
-   BLOCK_FOUND is set to the block in which NAME is found (in the case of
-   a field of `this', value_of_this sets BLOCK_FOUND to the proper value.)  */
+/* See symtab.h.
 
-/* This function (or rather its subordinates) have a bunch of loops and
+   This function (or rather its subordinates) have a bunch of loops and
    it would seem to be attractive to put in some QUIT's (though I'm not really
    sure whether it can run long enough to be really important).  But there
    are a few calls for which it would appear to be bad news to quit
@@ -1338,8 +1298,7 @@ lookup_symbol_in_language (const char *n
   return returnval;
 }
 
-/* Behave like lookup_symbol_in_language, but performed with the
-   current language.  */
+/* See symtab.h.  */
 
 struct symbol *
 lookup_symbol (const char *name, const struct block *block,
@@ -1351,8 +1310,7 @@ lookup_symbol (const char *name, const s
 				    is_a_field_of_this);
 }
 
-/* Look up the `this' symbol for LANG in BLOCK.  Return the symbol if
-   found, or NULL if not found.  */
+/* See symtab.h.  */
 
 struct symbol *
 lookup_language_this (const struct language_defn *lang,
@@ -1361,13 +1319,30 @@ lookup_language_this (const struct langu
   if (lang->la_name_of_this == NULL || block == NULL)
     return NULL;
 
+  if (symbol_lookup_debug > 1)
+    {
+      struct objfile *objfile = lookup_objfile_from_block (block);
+
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_language_this (%s, %s (objfile %s))",
+			  lang->la_name, host_address_to_string (block),
+			  objfile_debug_name (objfile));
+    }
+
   while (block)
     {
       struct symbol *sym;
 
-      sym = lookup_block_symbol (block, lang->la_name_of_this, VAR_DOMAIN);
+      sym = block_lookup_symbol (block, lang->la_name_of_this, VAR_DOMAIN);
       if (sym != NULL)
 	{
+	  if (symbol_lookup_debug > 1)
+	    {
+	      fprintf_unfiltered (gdb_stdlog, " = %s (%s, block %s)\n",
+				  SYMBOL_PRINT_NAME (sym),
+				  host_address_to_string (sym),
+				  host_address_to_string (block));
+	    }
 	  block_found = block;
 	  return sym;
 	}
@@ -1376,6 +1351,8 @@ lookup_language_this (const struct langu
       block = BLOCK_SUPERBLOCK (block);
     }
 
+  if (symbol_lookup_debug > 1)
+    fprintf_unfiltered (gdb_stdlog, " = NULL\n");
   return NULL;
 }
 
@@ -1435,6 +1412,25 @@ lookup_symbol_aux (const char *name, con
   struct symbol *sym;
   const struct language_defn *langdef;
 
+  if (symbol_lookup_debug)
+    {
+      struct objfile *objfile = lookup_objfile_from_block (block);
+
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_symbol_aux (%s, %s (objfile %s), %s, %s)\n",
+			  name, host_address_to_string (block),
+			  objfile != NULL
+			  ? objfile_debug_name (objfile) : "NULL",
+			  domain_name (domain), language_str (language));
+    }
+
+  /* Initialize block_found so that the language la_lookup_symbol_nonlocal
+     routines don't have to set it (to NULL) if a primitive type is found.
+     We do this early so that block_found is also NULL if no symbol is
+     found (though this is not part of the API, and callers cannot assume
+     this).  */
+  block_found = NULL;
+
   /* Make sure we do something sensible with is_a_field_of_this, since
      the callers that set this parameter to some non-null value will
      certainly use it later.  If we don't set it, the contents of
@@ -1445,9 +1441,16 @@ lookup_symbol_aux (const char *name, con
   /* Search specified block and its superiors.  Don't search
      STATIC_BLOCK or GLOBAL_BLOCK.  */
 
-  sym = lookup_symbol_aux_local (name, block, domain, language);
+  sym = lookup_local_symbol (name, block, domain, language);
   if (sym != NULL)
-    return sym;
+    {
+      if (symbol_lookup_debug)
+	{
+	  fprintf_unfiltered (gdb_stdlog, "lookup_symbol_aux (...) = %s\n",
+			      host_address_to_string (sym));
+	}
+      return sym;
+    }
 
   /* If requested to do so by the caller and if appropriate for LANGUAGE,
      check to see if NAME is a field of `this'.  */
@@ -1478,55 +1481,50 @@ lookup_symbol_aux (const char *name, con
 		   langdef->la_name_of_this);
 
 	  if (check_field (t, name, is_a_field_of_this))
-	    return NULL;
+	    {
+	      if (symbol_lookup_debug)
+		{
+		  fprintf_unfiltered (gdb_stdlog,
+				      "lookup_symbol_aux (...) = NULL\n");
+		}
+	      return NULL;
+	    }
 	}
     }
 
   /* Now do whatever is appropriate for LANGUAGE to look
      up static and global variables.  */
 
-  sym = langdef->la_lookup_symbol_nonlocal (name, block, domain);
+  sym = langdef->la_lookup_symbol_nonlocal (langdef, name, block, domain);
   if (sym != NULL)
-    return sym;
+    {
+      if (symbol_lookup_debug)
+	{
+	  fprintf_unfiltered (gdb_stdlog, "lookup_symbol_aux (...) = %s\n",
+			      host_address_to_string (sym));
+	}
+      return sym;
+    }
 
   /* Now search all static file-level symbols.  Not strictly correct,
      but more useful than an error.  */
 
-  return lookup_static_symbol_aux (name, domain);
-}
-
-/* Search all static file-level symbols for NAME from DOMAIN.  Do the symtabs
-   first, then check the psymtabs.  If a psymtab indicates the existence of the
-   desired name as a file-level static, then do psymtab-to-symtab conversion on
-   the fly and return the found symbol.  */
-
-struct symbol *
-lookup_static_symbol_aux (const char *name, const domain_enum domain)
-{
-  struct objfile *objfile;
-  struct symbol *sym;
-
-  sym = lookup_symbol_aux_symtabs (STATIC_BLOCK, name, domain);
-  if (sym != NULL)
-    return sym;
-
-  ALL_OBJFILES (objfile)
-  {
-    sym = lookup_symbol_aux_quick (objfile, STATIC_BLOCK, name, domain);
-    if (sym != NULL)
-      return sym;
-  }
-
-  return NULL;
+  sym = lookup_static_symbol (name, domain);
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog, "lookup_symbol_aux (...) = %s\n",
+			  sym != NULL ? host_address_to_string (sym) : "NULL");
+    }
+  return sym;
 }
 
 /* Check to see if the symbol is defined in BLOCK or its superiors.
    Don't search STATIC_BLOCK or GLOBAL_BLOCK.  */
 
 static struct symbol *
-lookup_symbol_aux_local (const char *name, const struct block *block,
-                         const domain_enum domain,
-                         enum language language)
+lookup_local_symbol (const char *name, const struct block *block,
+		     const domain_enum domain,
+		     enum language language)
 {
   struct symbol *sym;
   const struct block *static_block = block_static_block (block);
@@ -1539,7 +1537,7 @@ lookup_symbol_aux_local (const char *nam
 
   while (block != static_block)
     {
-      sym = lookup_symbol_aux_block (name, block, domain);
+      sym = lookup_symbol_in_block (name, block, domain);
       if (sym != NULL)
 	return sym;
 
@@ -1556,26 +1554,27 @@ lookup_symbol_aux_local (const char *nam
       block = BLOCK_SUPERBLOCK (block);
     }
 
-  /* We've reached the edge of the function without finding a result.  */
+  /* We've reached the end of the function without finding a result.  */
 
   return NULL;
 }
 
-/* Look up OBJFILE to BLOCK.  */
+/* See symtab.h.  */
 
 struct objfile *
 lookup_objfile_from_block (const struct block *block)
 {
   struct objfile *obj;
-  struct symtab *s;
+  struct compunit_symtab *cust;
 
   if (block == NULL)
     return NULL;
 
   block = block_global_block (block);
-  /* Go through SYMTABS.  */
-  ALL_SYMTABS (obj, s)
-    if (block == BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK))
+  /* Look through all blockvectors.  */
+  ALL_COMPUNITS (obj, cust)
+    if (block == BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust),
+				    GLOBAL_BLOCK))
       {
 	if (obj->separate_debug_objfile_backlink)
 	  obj = obj->separate_debug_objfile_backlink;
@@ -1586,59 +1585,59 @@ lookup_objfile_from_block (const struct 
   return NULL;
 }
 
-/* Look up a symbol in a block; if found, fixup the symbol, and set
-   block_found appropriately.  */
+/* See symtab.h.  */
 
 struct symbol *
-lookup_symbol_aux_block (const char *name, const struct block *block,
-			 const domain_enum domain)
+lookup_symbol_in_block (const char *name, const struct block *block,
+			const domain_enum domain)
 {
   struct symbol *sym;
 
-  sym = lookup_block_symbol (block, name, domain);
+  if (symbol_lookup_debug > 1)
+    {
+      struct objfile *objfile = lookup_objfile_from_block (block);
+
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_symbol_in_block (%s, %s (objfile %s), %s)",
+			  name, host_address_to_string (block),
+			  objfile_debug_name (objfile),
+			  domain_name (domain));
+    }
+
+  sym = block_lookup_symbol (block, name, domain);
   if (sym)
     {
+      if (symbol_lookup_debug > 1)
+	{
+	  fprintf_unfiltered (gdb_stdlog, " = %s\n",
+			      host_address_to_string (sym));
+	}
       block_found = block;
       return fixup_symbol_section (sym, NULL);
     }
 
+  if (symbol_lookup_debug > 1)
+    fprintf_unfiltered (gdb_stdlog, " = NULL\n");
   return NULL;
 }
 
-/* Check all global symbols in OBJFILE in symtabs and
-   psymtabs.  */
+/* See symtab.h.  */
 
 struct symbol *
-lookup_global_symbol_from_objfile (const struct objfile *main_objfile,
+lookup_global_symbol_from_objfile (struct objfile *main_objfile,
 				   const char *name,
 				   const domain_enum domain)
 {
-  const struct objfile *objfile;
-  struct symbol *sym;
-  struct blockvector *bv;
-  const struct block *block;
-  struct symtab *s;
+  struct objfile *objfile;
 
   for (objfile = main_objfile;
        objfile;
        objfile = objfile_separate_debug_iterate (main_objfile, objfile))
     {
-      /* Go through symtabs.  */
-      ALL_OBJFILE_PRIMARY_SYMTABS (objfile, s)
-	{
-	  bv = BLOCKVECTOR (s);
-	  block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
-	  sym = lookup_block_symbol (block, name, domain);
-	  if (sym)
-	    {
-	      block_found = block;
-	      return fixup_symbol_section (sym, (struct objfile *)objfile);
-	    }
-	}
+      struct symbol *sym = lookup_symbol_in_objfile (objfile, GLOBAL_BLOCK,
+						     name, domain);
 
-      sym = lookup_symbol_aux_quick ((struct objfile *) objfile, GLOBAL_BLOCK,
-				     name, domain);
-      if (sym)
+      if (sym != NULL)
 	return sym;
     }
 
@@ -1651,52 +1650,58 @@ lookup_global_symbol_from_objfile (const
    static symbols.  */
 
 static struct symbol *
-lookup_symbol_aux_objfile (struct objfile *objfile, int block_index,
-			   const char *name, const domain_enum domain)
+lookup_symbol_in_objfile_symtabs (struct objfile *objfile, int block_index,
+				  const char *name, const domain_enum domain)
 {
-  struct symbol *sym = NULL;
-  struct blockvector *bv;
-  const struct block *block;
-  struct symtab *s;
+  struct compunit_symtab *cust;
+
+  gdb_assert (block_index == GLOBAL_BLOCK || block_index == STATIC_BLOCK);
+
+  if (symbol_lookup_debug > 1)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_symbol_in_objfile_symtabs (%s, %s, %s, %s)",
+			  objfile_debug_name (objfile),
+			  block_index == GLOBAL_BLOCK
+			  ? "GLOBAL_BLOCK" : "STATIC_BLOCK",
+			  name, domain_name (domain));
+    }
 
-  ALL_OBJFILE_PRIMARY_SYMTABS (objfile, s)
+  ALL_OBJFILE_COMPUNITS (objfile, cust)
     {
-      bv = BLOCKVECTOR (s);
+      const struct blockvector *bv;
+      const struct block *block;
+      struct symbol *sym;
+
+      bv = COMPUNIT_BLOCKVECTOR (cust);
       block = BLOCKVECTOR_BLOCK (bv, block_index);
-      sym = lookup_block_symbol (block, name, domain);
+      sym = block_lookup_symbol_primary (block, name, domain);
       if (sym)
 	{
+	  if (symbol_lookup_debug > 1)
+	    {
+	      fprintf_unfiltered (gdb_stdlog, " = %s (block %s)\n",
+				  host_address_to_string (sym),
+				  host_address_to_string (block));
+	    }
 	  block_found = block;
 	  return fixup_symbol_section (sym, objfile);
 	}
     }
 
+  if (symbol_lookup_debug > 1)
+    fprintf_unfiltered (gdb_stdlog, " = NULL\n");
   return NULL;
 }
 
-/* Same as lookup_symbol_aux_objfile, except that it searches all
-   objfiles.  Return the first match found.  */
-
-static struct symbol *
-lookup_symbol_aux_symtabs (int block_index, const char *name,
-			   const domain_enum domain)
-{
-  struct symbol *sym;
-  struct objfile *objfile;
-
-  ALL_OBJFILES (objfile)
-  {
-    sym = lookup_symbol_aux_objfile (objfile, block_index, name, domain);
-    if (sym)
-      return sym;
-  }
-
-  return NULL;
-}
-
-/* Wrapper around lookup_symbol_aux_objfile for search_symbols.
+/* Wrapper around lookup_symbol_in_objfile_symtabs for search_symbols.
    Look up LINKAGE_NAME in DOMAIN in the global and static blocks of OBJFILE
-   and all related objfiles.  */
+   and all associated separate debug objfiles.
+
+   Normally we only look in OBJFILE, and not any separate debug objfiles
+   because the outer loop will cause them to be searched too.  This case is
+   different.  Here we're called from search_symbols where it will only
+   call us for the the objfile that contains a matching minsym.  */
 
 static struct symbol *
 lookup_symbol_in_objfile_from_linkage_name (struct objfile *objfile,
@@ -1720,11 +1725,11 @@ lookup_symbol_in_objfile_from_linkage_na
     {
       struct symbol *sym;
 
-      sym = lookup_symbol_aux_objfile (cur_objfile, GLOBAL_BLOCK,
-				       modified_name, domain);
+      sym = lookup_symbol_in_objfile_symtabs (cur_objfile, GLOBAL_BLOCK,
+					      modified_name, domain);
       if (sym == NULL)
-	sym = lookup_symbol_aux_objfile (cur_objfile, STATIC_BLOCK,
-					 modified_name, domain);
+	sym = lookup_symbol_in_objfile_symtabs (cur_objfile, STATIC_BLOCK,
+						modified_name, domain);
       if (sym != NULL)
 	{
 	  do_cleanups (cleanup);
@@ -1740,48 +1745,78 @@ lookup_symbol_in_objfile_from_linkage_na
    in a psymtab but not in a symtab.  */
 
 static void ATTRIBUTE_NORETURN
-error_in_psymtab_expansion (int kind, const char *name, struct symtab *symtab)
+error_in_psymtab_expansion (int block_index, const char *name,
+			    struct compunit_symtab *cust)
 {
   error (_("\
 Internal: %s symbol `%s' found in %s psymtab but not in symtab.\n\
 %s may be an inlined function, or may be a template function\n	 \
 (if a template, try specifying an instantiation: %s<type>)."),
-	 kind == GLOBAL_BLOCK ? "global" : "static",
-	 name, symtab_to_filename_for_display (symtab), name, name);
+	 block_index == GLOBAL_BLOCK ? "global" : "static",
+	 name,
+	 symtab_to_filename_for_display (compunit_primary_filetab (cust)),
+	 name, name);
 }
 
-/* A helper function for lookup_symbol_aux that interfaces with the
-   "quick" symbol table functions.  */
+/* A helper function for various lookup routines that interfaces with
+   the "quick" symbol table functions.  */
 
 static struct symbol *
-lookup_symbol_aux_quick (struct objfile *objfile, int kind,
-			 const char *name, const domain_enum domain)
+lookup_symbol_via_quick_fns (struct objfile *objfile, int block_index,
+			     const char *name, const domain_enum domain)
 {
-  struct symtab *symtab;
-  struct blockvector *bv;
+  struct compunit_symtab *cust;
+  const struct blockvector *bv;
   const struct block *block;
   struct symbol *sym;
 
   if (!objfile->sf)
     return NULL;
-  symtab = objfile->sf->qf->lookup_symbol (objfile, kind, name, domain);
-  if (!symtab)
-    return NULL;
 
-  bv = BLOCKVECTOR (symtab);
-  block = BLOCKVECTOR_BLOCK (bv, kind);
-  sym = lookup_block_symbol (block, name, domain);
+  if (symbol_lookup_debug > 1)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_symbol_via_quick_fns (%s, %s, %s, %s)\n",
+			  objfile_debug_name (objfile),
+			  block_index == GLOBAL_BLOCK
+			  ? "GLOBAL_BLOCK" : "STATIC_BLOCK",
+			  name, domain_name (domain));
+    }
+
+  cust = objfile->sf->qf->lookup_symbol (objfile, block_index, name, domain);
+  if (cust == NULL)
+    {
+      if (symbol_lookup_debug > 1)
+	{
+	  fprintf_unfiltered (gdb_stdlog,
+			      "lookup_symbol_via_quick_fns (...) = NULL\n");
+	}
+      return NULL;
+    }
+
+  bv = COMPUNIT_BLOCKVECTOR (cust);
+  block = BLOCKVECTOR_BLOCK (bv, block_index);
+  sym = block_lookup_symbol (block, name, domain);
   if (!sym)
-    error_in_psymtab_expansion (kind, name, symtab);
+    error_in_psymtab_expansion (block_index, name, cust);
+
+  if (symbol_lookup_debug > 1)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_symbol_via_quick_fns (...) = %s (block %s)\n",
+			  host_address_to_string (sym),
+			  host_address_to_string (block));
+    }
+
+  block_found = block;
   return fixup_symbol_section (sym, objfile);
 }
 
-/* A default version of lookup_symbol_nonlocal for use by languages
-   that can't think of anything better to do.  This implements the C
-   lookup rules.  */
+/* See symtab.h.  */
 
 struct symbol *
-basic_lookup_symbol_nonlocal (const char *name,
+basic_lookup_symbol_nonlocal (const struct language_defn *langdef,
+			      const char *name,
 			      const struct block *block,
 			      const domain_enum domain)
 {
@@ -1797,7 +1832,7 @@ basic_lookup_symbol_nonlocal (const char
      not it would be appropriate to search the current global block
      here as well.  (That's what this code used to do before the
      is_a_field_of_this check was moved up.)  On the one hand, it's
-     redundant with the lookup_symbol_aux_symtabs search that happens
+     redundant with the lookup in all objfiles search that happens
      next.  On the other hand, if decode_line_1 is passed an argument
      like filename:var, then the user presumably wants 'var' to be
      searched for in filename.  On the third hand, there shouldn't be
@@ -1815,27 +1850,137 @@ basic_lookup_symbol_nonlocal (const char
      than that one, so I don't think we should worry about that for
      now.  */
 
-  sym = lookup_symbol_static (name, block, domain);
+  /* NOTE: dje/2014-10-26: The lookup in all objfiles search could skip
+     the current objfile.  Searching the current objfile first is useful
+     for both matching user expectations as well as performance.  */
+
+  sym = lookup_symbol_in_static_block (name, block, domain);
   if (sym != NULL)
     return sym;
 
-  return lookup_symbol_global (name, block, domain);
+  /* If we didn't find a definition for a builtin type in the static block,
+     search for it now.  This is actually the right thing to do and can be
+     a massive performance win.  E.g., when debugging a program with lots of
+     shared libraries we could search all of them only to find out the
+     builtin type isn't defined in any of them.  This is common for types
+     like "void".  */
+  if (domain == VAR_DOMAIN)
+    {
+      struct gdbarch *gdbarch;
+
+      if (block == NULL)
+	gdbarch = target_gdbarch ();
+      else
+	gdbarch = block_gdbarch (block);
+      sym = language_lookup_primitive_type_as_symbol (langdef, gdbarch, name);
+      if (sym != NULL)
+	return sym;
+    }
+
+  return lookup_global_symbol (name, block, domain);
 }
 
-/* Lookup a symbol in the static block associated to BLOCK, if there
-   is one; do nothing if BLOCK is NULL or a global block.  */
+/* See symtab.h.  */
 
 struct symbol *
-lookup_symbol_static (const char *name,
-		      const struct block *block,
-		      const domain_enum domain)
+lookup_symbol_in_static_block (const char *name,
+			       const struct block *block,
+			       const domain_enum domain)
 {
   const struct block *static_block = block_static_block (block);
+  struct symbol *sym;
 
-  if (static_block != NULL)
-    return lookup_symbol_aux_block (name, static_block, domain);
-  else
+  if (static_block == NULL)
     return NULL;
+
+  if (symbol_lookup_debug)
+    {
+      struct objfile *objfile = lookup_objfile_from_block (static_block);
+
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_symbol_in_static_block (%s, %s (objfile %s),"
+			  " %s)\n",
+			  name,
+			  host_address_to_string (block),
+			  objfile_debug_name (objfile),
+			  domain_name (domain));
+    }
+
+  sym = lookup_symbol_in_block (name, static_block, domain);
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_symbol_in_static_block (...) = %s\n",
+			  sym != NULL ? host_address_to_string (sym) : "NULL");
+    }
+  return sym;
+}
+
+/* Perform the standard symbol lookup of NAME in OBJFILE:
+   1) First search expanded symtabs, and if not found
+   2) Search the "quick" symtabs (partial or .gdb_index).
+   BLOCK_INDEX is one of GLOBAL_BLOCK or STATIC_BLOCK.  */
+
+static struct symbol *
+lookup_symbol_in_objfile (struct objfile *objfile, int block_index,
+			  const char *name, const domain_enum domain)
+{
+  struct symbol *result;
+
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_symbol_in_objfile (%s, %s, %s, %s)\n",
+			  objfile_debug_name (objfile),
+			  block_index == GLOBAL_BLOCK
+			  ? "GLOBAL_BLOCK" : "STATIC_BLOCK",
+			  name, domain_name (domain));
+    }
+
+  result = lookup_symbol_in_objfile_symtabs (objfile, block_index,
+					     name, domain);
+  if (result != NULL)
+    {
+      if (symbol_lookup_debug)
+	{
+	  fprintf_unfiltered (gdb_stdlog,
+			      "lookup_symbol_in_objfile (...) = %s"
+			      " (in symtabs)\n",
+			      host_address_to_string (result));
+	}
+      return result;
+    }
+
+  result = lookup_symbol_via_quick_fns (objfile, block_index,
+					name, domain);
+  if (symbol_lookup_debug)
+    {
+      fprintf_unfiltered (gdb_stdlog,
+			  "lookup_symbol_in_objfile (...) = %s%s\n",
+			  result != NULL
+			  ? host_address_to_string (result)
+			  : "NULL",
+			  result != NULL ? " (via quick fns)" : "");
+    }
+  return result;
+}
+
+/* See symtab.h.  */
+
+struct symbol *
+lookup_static_symbol (const char *name, const domain_enum domain)
+{
+  struct objfile *objfile;
+  struct symbol *result;
+
+  ALL_OBJFILES (objfile)
+    {
+      result = lookup_symbol_in_objfile (objfile, STATIC_BLOCK, name, domain);
+      if (result != NULL)
+	return result;
+    }
+
+  return NULL;
 }
 
 /* Private data to be used with lookup_symbol_global_iterator_cb.  */
@@ -1867,22 +2012,18 @@ lookup_symbol_global_iterator_cb (struct
 
   gdb_assert (data->result == NULL);
 
-  data->result = lookup_symbol_aux_objfile (objfile, GLOBAL_BLOCK,
-					    data->name, data->domain);
-  if (data->result == NULL)
-    data->result = lookup_symbol_aux_quick (objfile, GLOBAL_BLOCK,
-					    data->name, data->domain);
+  data->result = lookup_symbol_in_objfile (objfile, GLOBAL_BLOCK,
+					   data->name, data->domain);
 
   /* If we found a match, tell the iterator to stop.  Otherwise,
      keep going.  */
   return (data->result != NULL);
 }
 
-/* Lookup a symbol in all files' global blocks (searching psymtabs if
-   necessary).  */
+/* See symtab.h.  */
 
 struct symbol *
-lookup_symbol_global (const char *name,
+lookup_global_symbol (const char *name,
 		      const struct block *block,
 		      const domain_enum domain)
 {
@@ -1928,9 +2069,7 @@ symbol_matches_domain (enum language sym
   return (symbol_domain == domain);
 }
 
-/* Look up a type named NAME in the struct_domain.  The type returned
-   must not be opaque -- i.e., must have at least one field
-   defined.  */
+/* See symtab.h.  */
 
 struct type *
 lookup_transparent_type (const char *name)
@@ -1942,25 +2081,26 @@ lookup_transparent_type (const char *nam
    "quick" symbol table functions.  */
 
 static struct type *
-basic_lookup_transparent_type_quick (struct objfile *objfile, int kind,
+basic_lookup_transparent_type_quick (struct objfile *objfile, int block_index,
 				     const char *name)
 {
-  struct symtab *symtab;
-  struct blockvector *bv;
+  struct compunit_symtab *cust;
+  const struct blockvector *bv;
   struct block *block;
   struct symbol *sym;
 
   if (!objfile->sf)
     return NULL;
-  symtab = objfile->sf->qf->lookup_symbol (objfile, kind, name, STRUCT_DOMAIN);
-  if (!symtab)
+  cust = objfile->sf->qf->lookup_symbol (objfile, block_index, name,
+					 STRUCT_DOMAIN);
+  if (cust == NULL)
     return NULL;
 
-  bv = BLOCKVECTOR (symtab);
-  block = BLOCKVECTOR_BLOCK (bv, kind);
-  sym = lookup_block_symbol (block, name, STRUCT_DOMAIN);
+  bv = COMPUNIT_BLOCKVECTOR (cust);
+  block = BLOCKVECTOR_BLOCK (bv, block_index);
+  sym = block_lookup_symbol (block, name, STRUCT_DOMAIN);
   if (!sym)
-    error_in_psymtab_expansion (kind, name, symtab);
+    error_in_psymtab_expansion (block_index, name, cust);
 
   if (!TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
     return SYMBOL_TYPE (sym);
@@ -1971,15 +2111,15 @@ basic_lookup_transparent_type_quick (str
 /* The standard implementation of lookup_transparent_type.  This code
    was modeled on lookup_symbol -- the parts not relevant to looking
    up types were just left out.  In particular it's assumed here that
-   types are available in struct_domain and only at file-static or
+   types are available in STRUCT_DOMAIN and only in file-static or
    global blocks.  */
 
 struct type *
 basic_lookup_transparent_type (const char *name)
 {
   struct symbol *sym;
-  struct symtab *s = NULL;
-  struct blockvector *bv;
+  struct compunit_symtab *cust;
+  const struct blockvector *bv;
   struct objfile *objfile;
   struct block *block;
   struct type *t;
@@ -1991,11 +2131,11 @@ basic_lookup_transparent_type (const cha
 
   ALL_OBJFILES (objfile)
   {
-    ALL_OBJFILE_PRIMARY_SYMTABS (objfile, s)
+    ALL_OBJFILE_COMPUNITS (objfile, cust)
       {
-	bv = BLOCKVECTOR (s);
+	bv = COMPUNIT_BLOCKVECTOR (cust);
 	block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
-	sym = lookup_block_symbol (block, name, STRUCT_DOMAIN);
+	sym = block_lookup_symbol (block, name, STRUCT_DOMAIN);
 	if (sym && !TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
 	  {
 	    return SYMBOL_TYPE (sym);
@@ -2019,11 +2159,11 @@ basic_lookup_transparent_type (const cha
 
   ALL_OBJFILES (objfile)
   {
-    ALL_OBJFILE_PRIMARY_SYMTABS (objfile, s)
+    ALL_OBJFILE_COMPUNITS (objfile, cust)
       {
-	bv = BLOCKVECTOR (s);
+	bv = COMPUNIT_BLOCKVECTOR (cust);
 	block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);
-	sym = lookup_block_symbol (block, name, STRUCT_DOMAIN);
+	sym = block_lookup_symbol (block, name, STRUCT_DOMAIN);
 	if (sym && !TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
 	  {
 	    return SYMBOL_TYPE (sym);
@@ -2041,64 +2181,6 @@ basic_lookup_transparent_type (const cha
   return (struct type *) 0;
 }
 
-/* Search BLOCK for symbol NAME in DOMAIN.
-
-   Note that if NAME is the demangled form of a C++ symbol, we will fail
-   to find a match during the binary search of the non-encoded names, but
-   for now we don't worry about the slight inefficiency of looking for
-   a match we'll never find, since it will go pretty quick.  Once the
-   binary search terminates, we drop through and do a straight linear
-   search on the symbols.  Each symbol which is marked as being a ObjC/C++
-   symbol (language_cplus or language_objc set) has both the encoded and
-   non-encoded names tested for a match.  */
-
-struct symbol *
-lookup_block_symbol (const struct block *block, const char *name,
-		     const domain_enum domain)
-{
-  struct block_iterator iter;
-  struct symbol *sym;
-
-  if (!BLOCK_FUNCTION (block))
-    {
-      for (sym = block_iter_name_first (block, name, &iter);
-	   sym != NULL;
-	   sym = block_iter_name_next (name, &iter))
-	{
-	  if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
-				     SYMBOL_DOMAIN (sym), domain))
-	    return sym;
-	}
-      return NULL;
-    }
-  else
-    {
-      /* Note that parameter symbols do not always show up last in the
-	 list; this loop makes sure to take anything else other than
-	 parameter symbols first; it only uses parameter symbols as a
-	 last resort.  Note that this only takes up extra computation
-	 time on a match.  */
-
-      struct symbol *sym_found = NULL;
-
-      for (sym = block_iter_name_first (block, name, &iter);
-	   sym != NULL;
-	   sym = block_iter_name_next (name, &iter))
-	{
-	  if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
-				     SYMBOL_DOMAIN (sym), domain))
-	    {
-	      sym_found = sym;
-	      if (!SYMBOL_IS_ARGUMENT (sym))
-		{
-		  break;
-		}
-	    }
-	}
-      return (sym_found);	/* Will be NULL if not found.  */
-    }
-}
-
 /* Iterate over the symbols named NAME, matching DOMAIN, in BLOCK.
    
    For each symbol that matches, CALLBACK is called.  The symbol and
@@ -2116,9 +2198,7 @@ iterate_over_symbols (const struct block
   struct block_iterator iter;
   struct symbol *sym;
 
-  for (sym = block_iter_name_first (block, name, &iter);
-       sym != NULL;
-       sym = block_iter_name_next (name, &iter))
+  ALL_BLOCK_SYMBOLS_WITH_NAME (block, name, iter, sym)
     {
       if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
 				 SYMBOL_DOMAIN (sym), domain))
@@ -2129,16 +2209,14 @@ iterate_over_symbols (const struct block
     }
 }
 
-/* Find the symtab associated with PC and SECTION.  Look through the
-   psymtabs and read in another symtab if necessary.  */
+/* Find the compunit symtab associated with PC and SECTION.
+   This will read in debug info as necessary.  */
 
-struct symtab *
-find_pc_sect_symtab (CORE_ADDR pc, struct obj_section *section)
+struct compunit_symtab *
+find_pc_sect_compunit_symtab (CORE_ADDR pc, struct obj_section *section)
 {
-  struct block *b;
-  struct blockvector *bv;
-  struct symtab *s = NULL;
-  struct symtab *best_s = NULL;
+  struct compunit_symtab *cust;
+  struct compunit_symtab *best_cust = NULL;
   struct objfile *objfile;
   CORE_ADDR distance = 0;
   struct bound_minimal_symbol msymbol;
@@ -2172,9 +2250,12 @@ find_pc_sect_symtab (CORE_ADDR pc, struc
      It also happens for objfiles that have their functions reordered.
      For these, the symtab we are looking for is not necessarily read in.  */
 
-  ALL_PRIMARY_SYMTABS (objfile, s)
+  ALL_COMPUNITS (objfile, cust)
   {
-    bv = BLOCKVECTOR (s);
+    struct block *b;
+    const struct blockvector *bv;
+
+    bv = COMPUNIT_BLOCKVECTOR (cust);
     b = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
 
     if (BLOCK_START (b) <= pc
@@ -2190,14 +2271,14 @@ find_pc_sect_symtab (CORE_ADDR pc, struc
 	   can't be found.  */
 	if ((objfile->flags & OBJF_REORDERED) && objfile->sf)
 	  {
-	    struct symtab *result;
+	    struct compunit_symtab *result;
 
 	    result
-	      = objfile->sf->qf->find_pc_sect_symtab (objfile,
-						      msymbol,
-						      pc, section,
-						      0);
-	    if (result)
+	      = objfile->sf->qf->find_pc_sect_compunit_symtab (objfile,
+							       msymbol,
+							       pc, section,
+							       0);
+	    if (result != NULL)
 	      return result;
 	  }
 	if (section != 0)
@@ -2217,39 +2298,40 @@ find_pc_sect_symtab (CORE_ADDR pc, struc
 				   section.  */
 	  }
 	distance = BLOCK_END (b) - BLOCK_START (b);
-	best_s = s;
+	best_cust = cust;
       }
   }
 
-  if (best_s != NULL)
-    return (best_s);
+  if (best_cust != NULL)
+    return best_cust;
 
   /* Not found in symtabs, search the "quick" symtabs (e.g. psymtabs).  */
 
   ALL_OBJFILES (objfile)
   {
-    struct symtab *result;
+    struct compunit_symtab *result;
 
     if (!objfile->sf)
       continue;
-    result = objfile->sf->qf->find_pc_sect_symtab (objfile,
-						   msymbol,
-						   pc, section,
-						   1);
-    if (result)
+    result = objfile->sf->qf->find_pc_sect_compunit_symtab (objfile,
+							    msymbol,
+							    pc, section,
+							    1);
+    if (result != NULL)
       return result;
   }
 
   return NULL;
 }
 
-/* Find the symtab associated with PC.  Look through the psymtabs and read
-   in another symtab if necessary.  Backward compatibility, no section.  */
+/* Find the compunit symtab associated with PC.
+   This will read in debug info as necessary.
+   Backward compatibility, no section.  */
 
-struct symtab *
-find_pc_symtab (CORE_ADDR pc)
+struct compunit_symtab *
+find_pc_compunit_symtab (CORE_ADDR pc)
 {
-  return find_pc_sect_symtab (pc, find_pc_mapped_section (pc));
+  return find_pc_sect_compunit_symtab (pc, find_pc_mapped_section (pc));
 }
 
 
@@ -2273,15 +2355,15 @@ find_pc_symtab (CORE_ADDR pc)
 struct symtab_and_line
 find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
 {
-  struct symtab *s;
+  struct compunit_symtab *cust;
+  struct symtab *iter_s;
   struct linetable *l;
   int len;
   int i;
   struct linetable_entry *item;
   struct symtab_and_line val;
-  struct blockvector *bv;
+  const struct blockvector *bv;
   struct bound_minimal_symbol msymbol;
-  struct objfile *objfile;
 
   /* Info on best line seen so far, and where it starts, and its file.  */
 
@@ -2399,8 +2481,8 @@ find_pc_sect_line (CORE_ADDR pc, struct 
       }
 
 
-  s = find_pc_sect_symtab (pc, section);
-  if (!s)
+  cust = find_pc_sect_compunit_symtab (pc, section);
+  if (cust == NULL)
     {
       /* If no symbol information, return previous pc.  */
       if (notcurrent)
@@ -2409,20 +2491,16 @@ find_pc_sect_line (CORE_ADDR pc, struct 
       return val;
     }
 
-  bv = BLOCKVECTOR (s);
-  objfile = s->objfile;
+  bv = COMPUNIT_BLOCKVECTOR (cust);
 
   /* Look at all the symtabs that share this blockvector.
      They all have the same apriori range, that we found was right;
      but they have different line tables.  */
 
-  ALL_OBJFILE_SYMTABS (objfile, s)
+  ALL_COMPUNIT_FILETABS (cust, iter_s)
     {
-      if (BLOCKVECTOR (s) != bv)
-	continue;
-
       /* Find the best line in this symtab.  */
-      l = LINETABLE (s);
+      l = SYMTAB_LINETABLE (iter_s);
       if (!l)
 	continue;
       len = l->nitems;
@@ -2466,7 +2544,7 @@ find_pc_sect_line (CORE_ADDR pc, struct 
       if (prev && prev->line && (!best || prev->pc > best->pc))
 	{
 	  best = prev;
-	  best_symtab = s;
+	  best_symtab = iter_s;
 
 	  /* Discard BEST_END if it's before the PC of the current BEST.  */
 	  if (best_end <= best->pc)
@@ -2524,6 +2602,19 @@ find_pc_line (CORE_ADDR pc, int notcurre
     pc = overlay_mapped_address (pc, section);
   return find_pc_sect_line (pc, section, notcurrent);
 }
+
+/* See symtab.h.  */
+
+struct symtab *
+find_pc_line_symtab (CORE_ADDR pc)
+{
+  struct symtab_and_line sal;
+
+  /* This always passes zero for NOTCURRENT to find_pc_line.
+     There are currently no callers that ever pass non-zero.  */
+  sal = find_pc_line (pc, 0);
+  return sal.symtab;
+}
 
 /* Find line number LINE in any symtab whose name is the same as
    SYMTAB.
@@ -2549,7 +2640,7 @@ find_line_symtab (struct symtab *symtab,
   struct symtab *best_symtab;
 
   /* First try looking it up in the given symtab.  */
-  best_linetable = LINETABLE (symtab);
+  best_linetable = SYMTAB_LINETABLE (symtab);
   best_symtab = symtab;
   best_index = find_line_common (best_linetable, line, &exact, 0);
   if (best_index < 0 || !exact)
@@ -2567,6 +2658,7 @@ find_line_symtab (struct symtab *symtab,
       int best;
 
       struct objfile *objfile;
+      struct compunit_symtab *cu;
       struct symtab *s;
 
       if (best_index >= 0)
@@ -2581,7 +2673,7 @@ find_line_symtab (struct symtab *symtab,
 						   symtab_to_fullname (symtab));
       }
 
-      ALL_SYMTABS (objfile, s)
+      ALL_FILETABS (objfile, cu, s)
       {
 	struct linetable *l;
 	int ind;
@@ -2591,7 +2683,7 @@ find_line_symtab (struct symtab *symtab,
 	if (FILENAME_CMP (symtab_to_fullname (symtab),
 			  symtab_to_fullname (s)) != 0)
 	  continue;	
-	l = LINETABLE (s);
+	l = SYMTAB_LINETABLE (s);
 	ind = find_line_common (l, line, &exact, 0);
 	if (ind >= 0)
 	  {
@@ -2641,13 +2733,14 @@ find_pcs_for_symtab_line (struct symtab 
       int was_exact;
       int idx;
 
-      idx = find_line_common (LINETABLE (symtab), line, &was_exact, start);
+      idx = find_line_common (SYMTAB_LINETABLE (symtab), line, &was_exact,
+			      start);
       if (idx < 0)
 	break;
 
       if (!was_exact)
 	{
-	  struct linetable_entry *item = &LINETABLE (symtab)->item[idx];
+	  struct linetable_entry *item = &SYMTAB_LINETABLE (symtab)->item[idx];
 
 	  if (*best_item == NULL || item->line < (*best_item)->line)
 	    *best_item = item;
@@ -2655,7 +2748,8 @@ find_pcs_for_symtab_line (struct symtab 
 	  break;
 	}
 
-      VEC_safe_push (CORE_ADDR, result, LINETABLE (symtab)->item[idx].pc);
+      VEC_safe_push (CORE_ADDR, result,
+		     SYMTAB_LINETABLE (symtab)->item[idx].pc);
       start = idx + 1;
     }
 
@@ -2680,7 +2774,7 @@ find_line_pc (struct symtab *symtab, int
   symtab = find_line_symtab (symtab, line, &ind, NULL);
   if (symtab != NULL)
     {
-      l = LINETABLE (symtab);
+      l = SYMTAB_LINETABLE (symtab);
       *pc = l->item[ind].pc;
       return 1;
     }
@@ -2789,6 +2883,39 @@ find_pc_line_pc_range (CORE_ADDR pc, COR
   return sal.symtab != 0;
 }
 
+/* Given a function symbol SYM, find the symtab and line for the start
+   of the function.
+   If the argument FUNFIRSTLINE is nonzero, we want the first line
+   of real code inside the function.  */
+
+struct symtab_and_line
+find_function_start_sal (struct symbol *sym, int funfirstline)
+{
+  struct symtab_and_line sal;
+  struct obj_section *section;
+
+  fixup_symbol_section (sym, NULL);
+  section = SYMBOL_OBJ_SECTION (symbol_objfile (sym), sym);
+  sal = find_pc_sect_line (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)), section, 0);
+
+  /* We always should have a line for the function start address.
+     If we don't, something is odd.  Create a plain SAL refering
+     just the PC and hope that skip_prologue_sal (if requested)
+     can find a line number for after the prologue.  */
+  if (sal.pc < BLOCK_START (SYMBOL_BLOCK_VALUE (sym)))
+    {
+      init_sal (&sal);
+      sal.pspace = current_program_space;
+      sal.pc = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+      sal.section = section;
+    }
+
+  if (funfirstline)
+    skip_prologue_sal (&sal);
+
+  return sal;
+}
+
 /* Given a function start address FUNC_ADDR and SYMTAB, find the first
    address for that function that has an entry in SYMTAB's line info
    table.  If such an entry cannot be found, return FUNC_ADDR
@@ -2802,7 +2929,7 @@ skip_prologue_using_lineinfo (CORE_ADDR 
   int i;
 
   /* Give up if this symbol has no lineinfo table.  */
-  l = LINETABLE (symtab);
+  l = SYMTAB_LINETABLE (symtab);
   if (l == NULL)
     return func_addr;
 
@@ -2829,38 +2956,6 @@ skip_prologue_using_lineinfo (CORE_ADDR 
   return func_addr;
 }
 
-/* Given a function symbol SYM, find the symtab and line for the start
-   of the function.
-   If the argument FUNFIRSTLINE is nonzero, we want the first line
-   of real code inside the function.  */
-
-struct symtab_and_line
-find_function_start_sal (struct symbol *sym, int funfirstline)
-{
-  struct symtab_and_line sal;
-
-  fixup_symbol_section (sym, NULL);
-  sal = find_pc_sect_line (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)),
-			   SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (sym), sym), 0);
-
-  /* We always should have a line for the function start address.
-     If we don't, something is odd.  Create a plain SAL refering
-     just the PC and hope that skip_prologue_sal (if requested)
-     can find a line number for after the prologue.  */
-  if (sal.pc < BLOCK_START (SYMBOL_BLOCK_VALUE (sym)))
-    {
-      init_sal (&sal);
-      sal.pspace = current_program_space;
-      sal.pc = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
-      sal.section = SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (sym), sym);
-    }
-
-  if (funfirstline)
-    skip_prologue_sal (&sal);
-
-  return sal;
-}
-
 /* Adjust SAL to the first instruction past the function prologue.
    If the PC was explicitly specified, the SAL is not changed.
    If the line number was explicitly specified, at most the SAL's PC
@@ -2877,7 +2972,7 @@ skip_prologue_sal (struct symtab_and_lin
   const char *name;
   struct objfile *objfile;
   struct gdbarch *gdbarch;
-  struct block *b, *function_block;
+  const struct block *b, *function_block;
   int force_skip, skip;
 
   /* Do not change the SAL if PC was specified explicitly.  */
@@ -2892,10 +2987,10 @@ skip_prologue_sal (struct symtab_and_lin
     {
       fixup_symbol_section (sym, NULL);
 
+      objfile = symbol_objfile (sym);
       pc = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
-      section = SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (sym), sym);
+      section = SYMBOL_OBJ_SECTION (objfile, sym);
       name = SYMBOL_LINKAGE_NAME (sym);
-      objfile = SYMBOL_SYMTAB (sym)->objfile;
     }
   else
     {
@@ -2927,7 +3022,8 @@ skip_prologue_sal (struct symtab_and_lin
   /* Be conservative - allow direct PC (without skipping prologue) only if we
      have proven the CU (Compilation Unit) supports it.  sal->SYMTAB does not
      have to be set by the caller so we use SYM instead.  */
-  if (sym && SYMBOL_SYMTAB (sym)->locations_valid)
+  if (sym != NULL
+      && COMPUNIT_LOCATIONS_VALID (SYMTAB_COMPUNIT (symbol_symtab (sym))))
     force_skip = 0;
 
   saved_pc = pc;
@@ -2992,57 +3088,171 @@ skip_prologue_sal (struct symtab_and_lin
      is aligned.  */
   if (!force_skip && sym && start_sal.symtab == NULL)
     {
-      pc = skip_prologue_using_lineinfo (pc, SYMBOL_SYMTAB (sym));
+      pc = skip_prologue_using_lineinfo (pc, symbol_symtab (sym));
       /* Recalculate the line number.  */
       start_sal = find_pc_sect_line (pc, section, 0);
     }
 
-  do_cleanups (old_chain);
+  do_cleanups (old_chain);
+
+  /* If we're already past the prologue, leave SAL unchanged.  Otherwise
+     forward SAL to the end of the prologue.  */
+  if (sal->pc >= pc)
+    return;
+
+  sal->pc = pc;
+  sal->section = section;
+
+  /* Unless the explicit_line flag was set, update the SAL line
+     and symtab to correspond to the modified PC location.  */
+  if (sal->explicit_line)
+    return;
+
+  sal->symtab = start_sal.symtab;
+  sal->line = start_sal.line;
+  sal->end = start_sal.end;
+
+  /* Check if we are now inside an inlined function.  If we can,
+     use the call site of the function instead.  */
+  b = block_for_pc_sect (sal->pc, sal->section);
+  function_block = NULL;
+  while (b != NULL)
+    {
+      if (BLOCK_FUNCTION (b) != NULL && block_inlined_p (b))
+	function_block = b;
+      else if (BLOCK_FUNCTION (b) != NULL)
+	break;
+      b = BLOCK_SUPERBLOCK (b);
+    }
+  if (function_block != NULL
+      && SYMBOL_LINE (BLOCK_FUNCTION (function_block)) != 0)
+    {
+      sal->line = SYMBOL_LINE (BLOCK_FUNCTION (function_block));
+      sal->symtab = symbol_symtab (BLOCK_FUNCTION (function_block));
+    }
+}
+
+/* Given PC at the function's start address, attempt to find the
+   prologue end using SAL information.  Return zero if the skip fails.
+
+   A non-optimized prologue traditionally has one SAL for the function
+   and a second for the function body.  A single line function has
+   them both pointing at the same line.
+
+   An optimized prologue is similar but the prologue may contain
+   instructions (SALs) from the instruction body.  Need to skip those
+   while not getting into the function body.
+
+   The functions end point and an increasing SAL line are used as
+   indicators of the prologue's endpoint.
+
+   This code is based on the function refine_prologue_limit
+   (found in ia64).  */
+
+CORE_ADDR
+skip_prologue_using_sal (struct gdbarch *gdbarch, CORE_ADDR func_addr)
+{
+  struct symtab_and_line prologue_sal;
+  CORE_ADDR start_pc;
+  CORE_ADDR end_pc;
+  const struct block *bl;
+
+  /* Get an initial range for the function.  */
+  find_pc_partial_function (func_addr, NULL, &start_pc, &end_pc);
+  start_pc += gdbarch_deprecated_function_start_offset (gdbarch);
+
+  prologue_sal = find_pc_line (start_pc, 0);
+  if (prologue_sal.line != 0)
+    {
+      /* For languages other than assembly, treat two consecutive line
+	 entries at the same address as a zero-instruction prologue.
+	 The GNU assembler emits separate line notes for each instruction
+	 in a multi-instruction macro, but compilers generally will not
+	 do this.  */
+      if (prologue_sal.symtab->language != language_asm)
+	{
+	  struct linetable *linetable = SYMTAB_LINETABLE (prologue_sal.symtab);
+	  int idx = 0;
+
+	  /* Skip any earlier lines, and any end-of-sequence marker
+	     from a previous function.  */
+	  while (linetable->item[idx].pc != prologue_sal.pc
+		 || linetable->item[idx].line == 0)
+	    idx++;
 
-  /* If we're already past the prologue, leave SAL unchanged.  Otherwise
-     forward SAL to the end of the prologue.  */
-  if (sal->pc >= pc)
-    return;
+	  if (idx+1 < linetable->nitems
+	      && linetable->item[idx+1].line != 0
+	      && linetable->item[idx+1].pc == start_pc)
+	    return start_pc;
+	}
 
-  sal->pc = pc;
-  sal->section = section;
+      /* If there is only one sal that covers the entire function,
+	 then it is probably a single line function, like
+	 "foo(){}".  */
+      if (prologue_sal.end >= end_pc)
+	return 0;
 
-  /* Unless the explicit_line flag was set, update the SAL line
-     and symtab to correspond to the modified PC location.  */
-  if (sal->explicit_line)
-    return;
+      while (prologue_sal.end < end_pc)
+	{
+	  struct symtab_and_line sal;
 
-  sal->symtab = start_sal.symtab;
-  sal->line = start_sal.line;
-  sal->end = start_sal.end;
+	  sal = find_pc_line (prologue_sal.end, 0);
+	  if (sal.line == 0)
+	    break;
+	  /* Assume that a consecutive SAL for the same (or larger)
+	     line mark the prologue -> body transition.  */
+	  if (sal.line >= prologue_sal.line)
+	    break;
+	  /* Likewise if we are in a different symtab altogether
+	     (e.g. within a file included via #include).Â  */
+	  if (sal.symtab != prologue_sal.symtab)
+	    break;
 
-  /* Check if we are now inside an inlined function.  If we can,
-     use the call site of the function instead.  */
-  b = block_for_pc_sect (sal->pc, sal->section);
-  function_block = NULL;
-  while (b != NULL)
-    {
-      if (BLOCK_FUNCTION (b) != NULL && block_inlined_p (b))
-	function_block = b;
-      else if (BLOCK_FUNCTION (b) != NULL)
-	break;
-      b = BLOCK_SUPERBLOCK (b);
-    }
-  if (function_block != NULL
-      && SYMBOL_LINE (BLOCK_FUNCTION (function_block)) != 0)
-    {
-      sal->line = SYMBOL_LINE (BLOCK_FUNCTION (function_block));
-      sal->symtab = SYMBOL_SYMTAB (BLOCK_FUNCTION (function_block));
+	  /* The line number is smaller.  Check that it's from the
+	     same function, not something inlined.  If it's inlined,
+	     then there is no point comparing the line numbers.  */
+	  bl = block_for_pc (prologue_sal.end);
+	  while (bl)
+	    {
+	      if (block_inlined_p (bl))
+		break;
+	      if (BLOCK_FUNCTION (bl))
+		{
+		  bl = NULL;
+		  break;
+		}
+	      bl = BLOCK_SUPERBLOCK (bl);
+	    }
+	  if (bl != NULL)
+	    break;
+
+	  /* The case in which compiler's optimizer/scheduler has
+	     moved instructions into the prologue.  We look ahead in
+	     the function looking for address ranges whose
+	     corresponding line number is less the first one that we
+	     found for the function.  This is more conservative then
+	     refine_prologue_limit which scans a large number of SALs
+	     looking for any in the prologue.  */
+	  prologue_sal = sal;
+	}
     }
-}
 
+  if (prologue_sal.end < end_pc)
+    /* Return the end of this line, or zero if we could not find a
+       line.  */
+    return prologue_sal.end;
+  else
+    /* Don't return END_PC, which is past the end of the function.  */
+    return prologue_sal.pc;
+}
+
 /* If P is of the form "operator[ \t]+..." where `...' is
    some legitimate operator text, return a pointer to the
    beginning of the substring of the operator text.
    Otherwise, return "".  */
 
-static char *
-operator_chars (char *p, char **end)
+static const char *
+operator_chars (const char *p, const char **end)
 {
   *end = "";
   if (strncmp (p, "operator", 8))
@@ -3062,7 +3272,7 @@ operator_chars (char *p, char **end)
 
   if (isalpha (*p) || *p == '_' || *p == '$')
     {
-      char *q = p + 1;
+      const char *q = p + 1;
 
       while (isalnum (*q) || *q == '_' || *q == '$')
 	q++;
@@ -3300,6 +3510,7 @@ output_partial_symbol_filename (const ch
 static void
 sources_info (char *ignore, int from_tty)
 {
+  struct compunit_symtab *cu;
   struct symtab *s;
   struct objfile *objfile;
   struct output_source_filename_data data;
@@ -3317,7 +3528,7 @@ sources_info (char *ignore, int from_tty
   printf_filtered ("Source files for which symbols have been read in:\n\n");
 
   data.first = 1;
-  ALL_SYMTABS (objfile, s)
+  ALL_FILETABS (objfile, cu, s)
   {
     const char *fullname = symtab_to_fullname (s);
 
@@ -3341,7 +3552,7 @@ sources_info (char *ignore, int from_tty
    non-zero compare only lbasename of FILES.  */
 
 static int
-file_matches (const char *file, char *files[], int nfiles, int basenames)
+file_matches (const char *file, const char *files[], int nfiles, int basenames)
 {
   int i;
 
@@ -3399,7 +3610,8 @@ compare_search_syms (const void *sa, con
   struct symbol_search *sym_b = *(struct symbol_search **) sb;
   int c;
 
-  c = FILENAME_CMP (sym_a->symtab->filename, sym_b->symtab->filename);
+  c = FILENAME_CMP (symbol_symtab (sym_a->symbol)->filename,
+		    symbol_symtab (sym_b->symbol)->filename);
   if (c != 0)
     return c;
 
@@ -3466,7 +3678,7 @@ sort_search_symbols_remove_dups (struct 
 struct search_symbols_data
 {
   int nfiles;
-  char **files;
+  const char **files;
 
   /* It is true if PREG contains valid data, false otherwise.  */
   unsigned preg_p : 1;
@@ -3511,12 +3723,12 @@ search_symbols_name_matches (const char 
    Duplicate entries are removed.  */
 
 void
-search_symbols (char *regexp, enum search_domain kind,
-		int nfiles, char *files[],
+search_symbols (const char *regexp, enum search_domain kind,
+		int nfiles, const char *files[],
 		struct symbol_search **matches)
 {
-  struct symtab *s;
-  struct blockvector *bv;
+  struct compunit_symtab *cust;
+  const struct blockvector *bv;
   struct block *b;
   int i = 0;
   struct block_iterator iter;
@@ -3562,8 +3774,8 @@ search_symbols (char *regexp, enum searc
          This is just a courtesy to make the matching less sensitive
          to how many spaces the user leaves between 'operator'
          and <TYPENAME> or <OPERATOR>.  */
-      char *opend;
-      char *opname = operator_chars (regexp, &opend);
+      const char *opend;
+      const char *opname = operator_chars (regexp, &opend);
       int errcode;
 
       if (*opname)
@@ -3655,10 +3867,10 @@ search_symbols (char *regexp, enum searc
 	      {
 		/* Note: An important side-effect of these lookup functions
 		   is to expand the symbol table if msymbol is found, for the
-		   benefit of the next loop on ALL_PRIMARY_SYMTABS.  */
+		   benefit of the next loop on ALL_COMPUNITS.  */
 		if (kind == FUNCTIONS_DOMAIN
-		    ? find_pc_symtab (MSYMBOL_VALUE_ADDRESS (objfile,
-							     msymbol)) == NULL
+		    ? (find_pc_compunit_symtab
+		       (MSYMBOL_VALUE_ADDRESS (objfile, msymbol)) == NULL)
 		    : (lookup_symbol_in_objfile_from_linkage_name
 		       (objfile, MSYMBOL_LINKAGE_NAME (msymbol), VAR_DOMAIN)
 		       == NULL))
@@ -3673,15 +3885,15 @@ search_symbols (char *regexp, enum searc
   nfound = 0;
   retval_chain = make_cleanup_free_search_symbols (&found);
 
-  ALL_PRIMARY_SYMTABS (objfile, s)
+  ALL_COMPUNITS (objfile, cust)
   {
-    bv = BLOCKVECTOR (s);
+    bv = COMPUNIT_BLOCKVECTOR (cust);
     for (i = GLOBAL_BLOCK; i <= STATIC_BLOCK; i++)
       {
 	b = BLOCKVECTOR_BLOCK (bv, i);
 	ALL_BLOCK_SYMBOLS (b, iter, sym)
 	  {
-	    struct symtab *real_symtab = SYMBOL_SYMTAB (sym);
+	    struct symtab *real_symtab = symbol_symtab (sym);
 
 	    QUIT;
 
@@ -3704,8 +3916,8 @@ search_symbols (char *regexp, enum searc
 			    e.g., c++ static const members.
 			    We only want to skip enums here.  */
 			 && !(SYMBOL_CLASS (sym) == LOC_CONST
-			      && TYPE_CODE (SYMBOL_TYPE (sym))
-			      == TYPE_CODE_ENUM))
+			      && (TYPE_CODE (SYMBOL_TYPE (sym))
+				  == TYPE_CODE_ENUM)))
 			|| (kind == FUNCTIONS_DOMAIN 
 			    && SYMBOL_CLASS (sym) == LOC_BLOCK)
 			|| (kind == TYPES_DOMAIN
@@ -3715,7 +3927,6 @@ search_symbols (char *regexp, enum searc
 		struct symbol_search *psr = (struct symbol_search *)
 		  xmalloc (sizeof (struct symbol_search));
 		psr->block = i;
-		psr->symtab = real_symtab;
 		psr->symbol = sym;
 		memset (&psr->msymbol, 0, sizeof (psr->msymbol));
 		psr->next = NULL;
@@ -3737,7 +3948,7 @@ search_symbols (char *regexp, enum searc
     }
 
   /* If there are no eyes, avoid all contact.  I mean, if there are
-     no debug symbols, then print directly from the msymbol_vector.  */
+     no debug symbols, then add matching minsyms.  */
 
   if (found_misc || (nfiles == 0 && kind != FUNCTIONS_DOMAIN))
     {
@@ -3760,8 +3971,8 @@ search_symbols (char *regexp, enum searc
 		/* For functions we can do a quick check of whether the
 		   symbol might be found via find_pc_symtab.  */
 		if (kind != FUNCTIONS_DOMAIN
-		    || find_pc_symtab (MSYMBOL_VALUE_ADDRESS (objfile,
-							      msymbol)) == NULL)
+		    || (find_pc_compunit_symtab
+			(MSYMBOL_VALUE_ADDRESS (objfile, msymbol)) == NULL))
 		  {
 		    if (lookup_symbol_in_objfile_from_linkage_name
 			(objfile, MSYMBOL_LINKAGE_NAME (msymbol), VAR_DOMAIN)
@@ -3773,7 +3984,6 @@ search_symbols (char *regexp, enum searc
 			psr->block = i;
 			psr->msymbol.minsym = msymbol;
 			psr->msymbol.objfile = objfile;
-			psr->symtab = NULL;
 			psr->symbol = NULL;
 			psr->next = NULL;
 			if (tail == NULL)
@@ -3799,9 +4009,10 @@ search_symbols (char *regexp, enum searc
 
 static void
 print_symbol_info (enum search_domain kind,
-		   struct symtab *s, struct symbol *sym,
+		   struct symbol *sym,
 		   int block, const char *last)
 {
+  struct symtab *s = symbol_symtab (sym);
   const char *s_filename = symtab_to_filename_for_display (s);
 
   if (last == NULL || filename_cmp (last, s_filename) != 0)
@@ -3871,7 +4082,7 @@ symtab_symbol_info (char *regexp, enum s
   gdb_assert (kind <= TYPES_DOMAIN);
 
   /* Must make sure that if we're interrupted, symbols gets freed.  */
-  search_symbols (regexp, kind, 0, (char **) NULL, &symbols);
+  search_symbols (regexp, kind, 0, NULL, &symbols);
   old_chain = make_cleanup_free_search_symbols (&symbols);
 
   if (regexp != NULL)
@@ -3896,11 +4107,11 @@ symtab_symbol_info (char *regexp, enum s
       else
 	{
 	  print_symbol_info (kind,
-			     p->symtab,
 			     p->symbol,
 			     p->block,
 			     last_filename);
-	  last_filename = symtab_to_filename_for_display (p->symtab);
+	  last_filename
+	    = symtab_to_filename_for_display (symbol_symtab (p->symbol));
 	}
     }
 
@@ -3950,7 +4161,8 @@ rbreak_command (char *regexp, int from_t
   struct cleanup *old_chain;
   char *string = NULL;
   int len = 0;
-  char **files = NULL, *file_name;
+  const char **files = NULL;
+  const char *file_name;
   int nfiles = 0;
 
   if (regexp)
@@ -3960,13 +4172,15 @@ rbreak_command (char *regexp, int from_t
       if (colon && *(colon + 1) != ':')
 	{
 	  int colon_index;
+	  char *local_name;
 
 	  colon_index = colon - regexp;
-	  file_name = alloca (colon_index + 1);
-	  memcpy (file_name, regexp, colon_index);
-	  file_name[colon_index--] = 0;
-	  while (isspace (file_name[colon_index]))
-	    file_name[colon_index--] = 0; 
+	  local_name = alloca (colon_index + 1);
+	  memcpy (local_name, regexp, colon_index);
+	  local_name[colon_index--] = 0;
+	  while (isspace (local_name[colon_index]))
+	    local_name[colon_index--] = 0;
+	  file_name = local_name;
 	  files = &file_name;
 	  nfiles = 1;
 	  regexp = skip_spaces (colon + 1);
@@ -3983,7 +4197,8 @@ rbreak_command (char *regexp, int from_t
     {
       if (p->msymbol.minsym == NULL)
 	{
-	  const char *fullname = symtab_to_fullname (p->symtab);
+	  struct symtab *symtab = symbol_symtab (p->symbol);
+	  const char *fullname = symtab_to_fullname (symtab);
 
 	  int newlen = (strlen (fullname)
 			+ strlen (SYMBOL_LINKAGE_NAME (p->symbol))
@@ -4000,10 +4215,9 @@ rbreak_command (char *regexp, int from_t
 	  strcat (string, "'");
 	  break_command (string, from_tty);
 	  print_symbol_info (FUNCTIONS_DOMAIN,
-			     p->symtab,
 			     p->symbol,
 			     p->block,
-			     symtab_to_filename_for_display (p->symtab));
+			     symtab_to_filename_for_display (symtab));
 	}
       else
 	{
@@ -4284,7 +4498,7 @@ add_macro_name (const char *name, const 
 {
   struct add_name_data *datum = (struct add_name_data *) user_data;
 
-  completion_list_add_name ((char *) name,
+  completion_list_add_name (name,
 			    datum->sym_text, datum->sym_text_len,
 			    datum->text, datum->word);
 }
@@ -4310,10 +4524,10 @@ default_make_symbol_completion_list_brea
      won't be that many.  */
 
   struct symbol *sym;
-  struct symtab *s;
+  struct compunit_symtab *cust;
   struct minimal_symbol *msymbol;
   struct objfile *objfile;
-  struct block *b;
+  const struct block *b;
   const struct block *surrounding_static_block, *surrounding_global_block;
   struct block_iterator iter;
   /* The symbol we are completing on.  Points in same buffer as text.  */
@@ -4476,10 +4690,10 @@ default_make_symbol_completion_list_brea
   /* Go through the symtabs and check the externs and statics for
      symbols which match.  */
 
-  ALL_PRIMARY_SYMTABS (objfile, s)
+  ALL_COMPUNITS (objfile, cust)
   {
     QUIT;
-    b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK);
+    b = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust), GLOBAL_BLOCK);
     ALL_BLOCK_SYMBOLS (b, iter, sym)
       {
 	if (code == TYPE_CODE_UNDEF
@@ -4489,10 +4703,10 @@ default_make_symbol_completion_list_brea
       }
   }
 
-  ALL_PRIMARY_SYMTABS (objfile, s)
+  ALL_COMPUNITS (objfile, cust)
   {
     QUIT;
-    b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK);
+    b = BLOCKVECTOR_BLOCK (COMPUNIT_BLOCKVECTOR (cust), STATIC_BLOCK);
     ALL_BLOCK_SYMBOLS (b, iter, sym)
       {
 	if (code == TYPE_CODE_UNDEF
@@ -4559,7 +4773,6 @@ make_symbol_completion_type (const char 
 {
   gdb_assert (code == TYPE_CODE_UNION
 	      || code == TYPE_CODE_STRUCT
-	      || code == TYPE_CODE_CLASS
 	      || code == TYPE_CODE_ENUM);
   return current_language->la_make_symbol_completion_list (text, word, code);
 }
@@ -4657,13 +4870,13 @@ make_file_symbol_completion_list (const 
   /* Go through this symtab and check the externs and statics for
      symbols which match.  */
 
-  b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), GLOBAL_BLOCK);
+  b = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (s), GLOBAL_BLOCK);
   ALL_BLOCK_SYMBOLS (b, iter, sym)
     {
       COMPLETION_LIST_ADD_SYMBOL (sym, sym_text, sym_text_len, text, word);
     }
 
-  b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK);
+  b = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (s), STATIC_BLOCK);
   ALL_BLOCK_SYMBOLS (b, iter, sym)
     {
       COMPLETION_LIST_ADD_SYMBOL (sym, sym_text, sym_text_len, text, word);
@@ -4770,6 +4983,7 @@ maybe_add_partial_symtab_filename (const
 VEC (char_ptr) *
 make_source_files_completion_list (const char *text, const char *word)
 {
+  struct compunit_symtab *cu;
   struct symtab *s;
   struct objfile *objfile;
   size_t text_len = strlen (text);
@@ -4788,7 +5002,7 @@ make_source_files_completion_list (const
   cache_cleanup = make_cleanup (delete_filename_seen_cache,
 				filename_seen_cache);
 
-  ALL_SYMTABS (objfile, s)
+  ALL_FILETABS (objfile, cu, s)
     {
       if (not_interesting_fname (s->filename))
 	continue;
@@ -4826,193 +5040,6 @@ make_source_files_completion_list (const
 
   return list;
 }
-
-/* Determine if PC is in the prologue of a function.  The prologue is the area
-   between the first instruction of a function, and the first executable line.
-   Returns 1 if PC *might* be in prologue, 0 if definately *not* in prologue.
-
-   If non-zero, func_start is where we think the prologue starts, possibly
-   by previous examination of symbol table information.  */
-
-int
-in_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR func_start)
-{
-  struct symtab_and_line sal;
-  CORE_ADDR func_addr, func_end;
-
-  /* We have several sources of information we can consult to figure
-     this out.
-     - Compilers usually emit line number info that marks the prologue
-       as its own "source line".  So the ending address of that "line"
-       is the end of the prologue.  If available, this is the most
-       reliable method.
-     - The minimal symbols and partial symbols, which can usually tell
-       us the starting and ending addresses of a function.
-     - If we know the function's start address, we can call the
-       architecture-defined gdbarch_skip_prologue function to analyze the
-       instruction stream and guess where the prologue ends.
-     - Our `func_start' argument; if non-zero, this is the caller's
-       best guess as to the function's entry point.  At the time of
-       this writing, handle_inferior_event doesn't get this right, so
-       it should be our last resort.  */
-
-  /* Consult the partial symbol table, to find which function
-     the PC is in.  */
-  if (! find_pc_partial_function (pc, NULL, &func_addr, &func_end))
-    {
-      CORE_ADDR prologue_end;
-
-      /* We don't even have minsym information, so fall back to using
-         func_start, if given.  */
-      if (! func_start)
-	return 1;		/* We *might* be in a prologue.  */
-
-      prologue_end = gdbarch_skip_prologue (gdbarch, func_start);
-
-      return func_start <= pc && pc < prologue_end;
-    }
-
-  /* If we have line number information for the function, that's
-     usually pretty reliable.  */
-  sal = find_pc_line (func_addr, 0);
-
-  /* Now sal describes the source line at the function's entry point,
-     which (by convention) is the prologue.  The end of that "line",
-     sal.end, is the end of the prologue.
-
-     Note that, for functions whose source code is all on a single
-     line, the line number information doesn't always end up this way.
-     So we must verify that our purported end-of-prologue address is
-     *within* the function, not at its start or end.  */
-  if (sal.line == 0
-      || sal.end <= func_addr
-      || func_end <= sal.end)
-    {
-      /* We don't have any good line number info, so use the minsym
-	 information, together with the architecture-specific prologue
-	 scanning code.  */
-      CORE_ADDR prologue_end = gdbarch_skip_prologue (gdbarch, func_addr);
-
-      return func_addr <= pc && pc < prologue_end;
-    }
-
-  /* We have line number info, and it looks good.  */
-  return func_addr <= pc && pc < sal.end;
-}
-
-/* Given PC at the function's start address, attempt to find the
-   prologue end using SAL information.  Return zero if the skip fails.
-
-   A non-optimized prologue traditionally has one SAL for the function
-   and a second for the function body.  A single line function has
-   them both pointing at the same line.
-
-   An optimized prologue is similar but the prologue may contain
-   instructions (SALs) from the instruction body.  Need to skip those
-   while not getting into the function body.
-
-   The functions end point and an increasing SAL line are used as
-   indicators of the prologue's endpoint.
-
-   This code is based on the function refine_prologue_limit
-   (found in ia64).  */
-
-CORE_ADDR
-skip_prologue_using_sal (struct gdbarch *gdbarch, CORE_ADDR func_addr)
-{
-  struct symtab_and_line prologue_sal;
-  CORE_ADDR start_pc;
-  CORE_ADDR end_pc;
-  struct block *bl;
-
-  /* Get an initial range for the function.  */
-  find_pc_partial_function (func_addr, NULL, &start_pc, &end_pc);
-  start_pc += gdbarch_deprecated_function_start_offset (gdbarch);
-
-  prologue_sal = find_pc_line (start_pc, 0);
-  if (prologue_sal.line != 0)
-    {
-      /* For languages other than assembly, treat two consecutive line
-	 entries at the same address as a zero-instruction prologue.
-	 The GNU assembler emits separate line notes for each instruction
-	 in a multi-instruction macro, but compilers generally will not
-	 do this.  */
-      if (prologue_sal.symtab->language != language_asm)
-	{
-	  struct linetable *linetable = LINETABLE (prologue_sal.symtab);
-	  int idx = 0;
-
-	  /* Skip any earlier lines, and any end-of-sequence marker
-	     from a previous function.  */
-	  while (linetable->item[idx].pc != prologue_sal.pc
-		 || linetable->item[idx].line == 0)
-	    idx++;
-
-	  if (idx+1 < linetable->nitems
-	      && linetable->item[idx+1].line != 0
-	      && linetable->item[idx+1].pc == start_pc)
-	    return start_pc;
-	}
-
-      /* If there is only one sal that covers the entire function,
-	 then it is probably a single line function, like
-	 "foo(){}".  */
-      if (prologue_sal.end >= end_pc)
-	return 0;
-
-      while (prologue_sal.end < end_pc)
-	{
-	  struct symtab_and_line sal;
-
-	  sal = find_pc_line (prologue_sal.end, 0);
-	  if (sal.line == 0)
-	    break;
-	  /* Assume that a consecutive SAL for the same (or larger)
-	     line mark the prologue -> body transition.  */
-	  if (sal.line >= prologue_sal.line)
-	    break;
-	  /* Likewise if we are in a different symtab altogether
-	     (e.g. within a file included via #include).Â  */
-	  if (sal.symtab != prologue_sal.symtab)
-	    break;
-
-	  /* The line number is smaller.  Check that it's from the
-	     same function, not something inlined.  If it's inlined,
-	     then there is no point comparing the line numbers.  */
-	  bl = block_for_pc (prologue_sal.end);
-	  while (bl)
-	    {
-	      if (block_inlined_p (bl))
-		break;
-	      if (BLOCK_FUNCTION (bl))
-		{
-		  bl = NULL;
-		  break;
-		}
-	      bl = BLOCK_SUPERBLOCK (bl);
-	    }
-	  if (bl != NULL)
-	    break;
-
-	  /* The case in which compiler's optimizer/scheduler has
-	     moved instructions into the prologue.  We look ahead in
-	     the function looking for address ranges whose
-	     corresponding line number is less the first one that we
-	     found for the function.  This is more conservative then
-	     refine_prologue_limit which scans a large number of SALs
-	     looking for any in the prologue.  */
-	  prologue_sal = sal;
-	}
-    }
-
-  if (prologue_sal.end < end_pc)
-    /* Return the end of this line, or zero if we could not find a
-       line.  */
-    return prologue_sal.end;
-  else
-    /* Don't return END_PC, which is past the end of the function.  */
-    return prologue_sal.pc;
-}
 
 /* Track MAIN */
 
@@ -5315,13 +5342,23 @@ initialize_ordinary_address_classes (voi
 
 
 
-/* Initialize the symbol SYM.  */
+/* Helper function to initialize the fields of an objfile-owned symbol.
+   It assumed that *SYM is already all zeroes.  */
+
+static void
+initialize_objfile_symbol_1 (struct symbol *sym)
+{
+  SYMBOL_OBJFILE_OWNED (sym) = 1;
+  SYMBOL_SECTION (sym) = -1;
+}
+
+/* Initialize the symbol SYM, and mark it as being owned by an objfile.  */
 
 void
-initialize_symbol (struct symbol *sym)
+initialize_objfile_symbol (struct symbol *sym)
 {
   memset (sym, 0, sizeof (*sym));
-  SYMBOL_SECTION (sym) = -1;
+  initialize_objfile_symbol_1 (sym);
 }
 
 /* Allocate and initialize a new 'struct symbol' on OBJFILE's
@@ -5333,7 +5370,7 @@ allocate_symbol (struct objfile *objfile
   struct symbol *result;
 
   result = OBSTACK_ZALLOC (&objfile->objfile_obstack, struct symbol);
-  SYMBOL_SECTION (result) = -1;
+  initialize_objfile_symbol_1 (result);
 
   return result;
 }
@@ -5347,11 +5384,48 @@ allocate_template_symbol (struct objfile
   struct template_symbol *result;
 
   result = OBSTACK_ZALLOC (&objfile->objfile_obstack, struct template_symbol);
-  SYMBOL_SECTION (&result->base) = -1;
+  initialize_objfile_symbol_1 (&result->base);
 
   return result;
 }
 
+/* See symtab.h.  */
+
+struct objfile *
+symbol_objfile (const struct symbol *symbol)
+{
+  gdb_assert (SYMBOL_OBJFILE_OWNED (symbol));
+  return SYMTAB_OBJFILE (symbol->owner.symtab);
+}
+
+/* See symtab.h.  */
+
+struct gdbarch *
+symbol_arch (const struct symbol *symbol)
+{
+  if (!SYMBOL_OBJFILE_OWNED (symbol))
+    return symbol->owner.arch;
+  return get_objfile_arch (SYMTAB_OBJFILE (symbol->owner.symtab));
+}
+
+/* See symtab.h.  */
+
+struct symtab *
+symbol_symtab (const struct symbol *symbol)
+{
+  gdb_assert (SYMBOL_OBJFILE_OWNED (symbol));
+  return symbol->owner.symtab;
+}
+
+/* See symtab.h.  */
+
+void
+symbol_set_symtab (struct symbol *symbol, struct symtab *symtab)
+{
+  gdb_assert (SYMBOL_OBJFILE_OWNED (symbol));
+  symbol->owner.symtab = symtab;
+}
+
 
 
 void
@@ -5429,5 +5503,13 @@ A value greater than 1 provides more ver
 			     NULL,
 			     &setdebuglist, &showdebuglist);
 
+  add_setshow_zuinteger_cmd ("symbol-lookup", no_class, &symbol_lookup_debug,
+			   _("\
+Set debugging of symbol lookup."), _("\
+Show debugging of symbol lookup."), _("\
+When enabled (non-zero), symbol lookups are logged."),
+			   NULL, NULL,
+			   &setdebuglist, &showdebuglist);
+
   observer_attach_executable_changed (symtab_observer_executable_changed);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symtab.h ./gdb/symtab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/symtab.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/symtab.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Symbol table definitions for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -80,13 +80,6 @@ struct common_block;
 
    --chastain 2003-08-21  */
 
-/* Struct for storing C++ specific information.  Allocated when needed.  */
-
-struct cplus_specific
-{
-  const char *demangled_name;
-};
-
 /* Define a structure for the information that is common to all symbol types,
    including minimal symbols, partial symbols, and full symbols.  In a
    multilanguage environment, some language specific information may need to
@@ -114,7 +107,7 @@ struct general_symbol_info
   {
     LONGEST ivalue;
 
-    struct block *block;
+    const struct block *block;
 
     const gdb_byte *bytes;
 
@@ -122,7 +115,7 @@ struct general_symbol_info
 
     /* A common block.  Used with LOC_COMMON_BLOCK.  */
 
-    struct common_block *common_block;
+    const struct common_block *common_block;
 
     /* For opaque typedef struct chain.  */
 
@@ -141,14 +134,12 @@ struct general_symbol_info
     struct obstack *obstack;
 
     /* This is used by languages which wish to store a demangled name.
-       currently used by Ada, Java, and Objective C.  */
+       currently used by Ada, C++, Java, and Objective C.  */
     struct mangled_lang
     {
       const char *demangled_name;
     }
     mangled_lang;
-
-    struct cplus_specific *cplus_specific;
   }
   language_specific;
 
@@ -271,7 +262,7 @@ extern const char *symbol_demangled_name
 extern int demangle;
 
 /* Macro that returns the name to be used when sorting and searching symbols.
-   In  C++, Chill, and Java, we search for the demangled form of a name,
+   In  C++ and Java, we search for the demangled form of a name,
    and so sort symbols accordingly.  In Ada, however, we search by mangled
    name.  If there is no distinct demangled name, then SYMBOL_SEARCH_NAME
    returns the same value (same pointer) as SYMBOL_LINKAGE_NAME.  */
@@ -470,6 +461,10 @@ typedef enum domain_enum_tag
   COMMON_BLOCK_DOMAIN
 } domain_enum;
 
+/* The number of bits in a symbol used to represent the domain.  */
+
+#define SYMBOL_DOMAIN_BITS 4
+
 extern const char *domain_name (domain_enum);
 
 /* Searching domains, used for `search_symbols'.  Element numbers are
@@ -641,6 +636,21 @@ struct symbol_computed_ops
 
   void (*tracepoint_var_ref) (struct symbol *symbol, struct gdbarch *gdbarch,
 			      struct agent_expr *ax, struct axs_value *value);
+
+  /* Generate C code to compute the location of SYMBOL.  The C code is
+     emitted to STREAM.  GDBARCH is the current architecture and PC is
+     the PC at which SYMBOL's location should be evaluated.
+     REGISTERS_USED is a vector indexed by register number; the
+     generator function should set an element in this vector if the
+     corresponding register is needed by the location computation.
+     The generated C code must assign the location to a local
+     variable; this variable's name is RESULT_NAME.  */
+
+  void (*generate_c_location) (struct symbol *symbol, struct ui_file *stream,
+			       struct gdbarch *gdbarch,
+			       unsigned char *registers_used,
+			       CORE_ADDR pc, const char *result_name);
+
 };
 
 /* The methods needed to implement LOC_BLOCK for inferior functions.
@@ -701,14 +711,23 @@ struct symbol
 
   struct type *type;
 
-  /* The symbol table containing this symbol.  This is the file
-     associated with LINE.  It can be NULL during symbols read-in but it is
-     never NULL during normal operation.  */
-  struct symtab *symtab;
+  /* The owner of this symbol.
+     Which one to use is defined by symbol.is_objfile_owned.  */
+
+  union
+  {
+    /* The symbol table containing this symbol.  This is the file associated
+       with LINE.  It can be NULL during symbols read-in but it is never NULL
+       during normal operation.  */
+    struct symtab *symtab;
+
+    /* For types defined by the architecture.  */
+    struct gdbarch *arch;
+  } owner;
 
   /* Domain code.  */
 
-  ENUM_BITFIELD(domain_enum_tag) domain : 6;
+  ENUM_BITFIELD(domain_enum_tag) domain : SYMBOL_DOMAIN_BITS;
 
   /* Address class.  This holds an index into the 'symbol_impls'
      table.  The actual enum address_class value is stored there,
@@ -716,6 +735,11 @@ struct symbol
 
   unsigned int aclass_index : SYMBOL_ACLASS_BITS;
 
+  /* If non-zero then symbol is objfile-owned, use owner.symtab.
+     Otherwise symbol is arch-owned, use owner.arch.  */
+
+  unsigned int is_objfile_owned : 1;
+
   /* Whether this is an argument.  */
 
   unsigned is_argument : 1;
@@ -732,6 +756,7 @@ struct symbol
      SYMBOL_INLINED set) this is the line number of the function's call
      site.  Inlined function symbols are not definitions, and they are
      never found by symbol table lookup.
+     If this symbol is arch-owned, LINE shall be zero.
 
      FIXME: Should we really make the assumption that nobody will try
      to debug files longer than 64K lines?  What about machine
@@ -759,22 +784,24 @@ struct symbol
 
 extern const struct symbol_impl *symbol_impls;
 
+/* Note: There is no accessor macro for symbol.owner because it is
+   "private".  */
+
 #define SYMBOL_DOMAIN(symbol)	(symbol)->domain
 #define SYMBOL_IMPL(symbol)		(symbol_impls[(symbol)->aclass_index])
 #define SYMBOL_ACLASS_INDEX(symbol)	(symbol)->aclass_index
 #define SYMBOL_CLASS(symbol)		(SYMBOL_IMPL (symbol).aclass)
+#define SYMBOL_OBJFILE_OWNED(symbol)	((symbol)->is_objfile_owned)
 #define SYMBOL_IS_ARGUMENT(symbol)	(symbol)->is_argument
 #define SYMBOL_INLINED(symbol)		(symbol)->is_inlined
 #define SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION(symbol) \
   (symbol)->is_cplus_template_function
 #define SYMBOL_TYPE(symbol)		(symbol)->type
 #define SYMBOL_LINE(symbol)		(symbol)->line
-#define SYMBOL_SYMTAB(symbol)		(symbol)->symtab
 #define SYMBOL_COMPUTED_OPS(symbol)	(SYMBOL_IMPL (symbol).ops_computed)
 #define SYMBOL_BLOCK_OPS(symbol)	(SYMBOL_IMPL (symbol).ops_block)
 #define SYMBOL_REGISTER_OPS(symbol)	(SYMBOL_IMPL (symbol).ops_register)
 #define SYMBOL_LOCATION_BATON(symbol)   (symbol)->aux_value
-#define SYMBOL_OBJFILE(symbol) 		(SYMBOL_SYMTAB (symbol)->objfile)
 
 extern int register_symbol_computed_impl (enum address_class,
 					  const struct symbol_computed_ops *);
@@ -785,6 +812,28 @@ extern int register_symbol_block_impl (e
 extern int register_symbol_register_impl (enum address_class,
 					  const struct symbol_register_ops *);
 
+/* Return the OBJFILE of SYMBOL.
+   It is an error to call this if symbol.is_objfile_owned is false, which
+   only happens for architecture-provided types.  */
+
+extern struct objfile *symbol_objfile (const struct symbol *symbol);
+
+/* Return the ARCH of SYMBOL.  */
+
+extern struct gdbarch *symbol_arch (const struct symbol *symbol);
+
+/* Return the SYMTAB of SYMBOL.
+   It is an error to call this if symbol.is_objfile_owned is false, which
+   only happens for architecture-provided types.  */
+
+extern struct symtab *symbol_symtab (const struct symbol *symbol);
+
+/* Set the symtab of SYMBOL to SYMTAB.
+   It is an error to call this if symbol.is_objfile_owned is false, which
+   only happens for architecture-provided types.  */
+
+extern void symbol_set_symtab (struct symbol *symbol, struct symtab *symtab);
+
 /* An instance of this type is used to represent a C++ template
    function.  It includes a "struct symbol" as a kind of base class;
    users downcast to "struct template_symbol *" when needed.  A symbol
@@ -870,6 +919,7 @@ struct section_offsets
    + sizeof (((struct section_offsets *) 0)->offsets) * ((n)-1))
 
 /* Each source file or header is represented by a struct symtab.
+   The name "symtab" is historical, another name for it is "filetab".
    These objects are chained through the `next' field.  */
 
 struct symtab
@@ -878,52 +928,19 @@ struct symtab
 
   struct symtab *next;
 
-  /* List of all symbol scope blocks for this symtab.  May be shared
-     between different symtabs (and normally is for all the symtabs
-     in a given compilation unit).  */
+  /* Backlink to containing compunit symtab.  */
 
-  struct blockvector *blockvector;
+  struct compunit_symtab *compunit_symtab;
 
   /* Table mapping core addresses to line numbers for this file.
      Can be NULL if none.  Never shared between different symtabs.  */
 
   struct linetable *linetable;
 
-  /* Section in objfile->section_offsets for the blockvector and
-     the linetable.  Probably always SECT_OFF_TEXT.  */
-
-  int block_line_section;
-
-  /* If several symtabs share a blockvector, exactly one of them
-     should be designated the primary, so that the blockvector
-     is relocated exactly once by objfile_relocate.  */
-
-  unsigned int primary : 1;
-
-  /* Symtab has been compiled with both optimizations and debug info so that
-     GDB may stop skipping prologues as variables locations are valid already
-     at function entry points.  */
-
-  unsigned int locations_valid : 1;
-
-  /* DWARF unwinder for this CU is valid even for epilogues (PC at the return
-     instruction).  This is supported by GCC since 4.5.0.  */
-
-  unsigned int epilogue_unwind_valid : 1;
-
-  /* The macro table for this symtab.  Like the blockvector, this
-     may be shared between different symtabs --- and normally is for
-     all the symtabs in a given compilation unit.  */
-  struct macro_table *macro_table;
-
   /* Name of this source file.  This pointer is never NULL.  */
 
   const char *filename;
 
-  /* Directory in which it was compiled, or NULL if we don't know.  */
-
-  const char *dirname;
-
   /* Total number of lines found in source file.  */
 
   int nlines;
@@ -938,57 +955,169 @@ struct symtab
 
   enum language language;
 
-  /* String that identifies the format of the debugging information, such
-     as "stabs", "dwarf 1", "dwarf 2", "coff", etc.  This is mostly useful
+  /* Full name of file as found by searching the source path.
+     NULL if not yet known.  */
+
+  char *fullname;
+};
+
+#define SYMTAB_COMPUNIT(symtab) ((symtab)->compunit_symtab)
+#define SYMTAB_LINETABLE(symtab) ((symtab)->linetable)
+#define SYMTAB_LANGUAGE(symtab) ((symtab)->language)
+#define SYMTAB_BLOCKVECTOR(symtab) \
+  COMPUNIT_BLOCKVECTOR (SYMTAB_COMPUNIT (symtab))
+#define SYMTAB_OBJFILE(symtab) \
+  COMPUNIT_OBJFILE (SYMTAB_COMPUNIT (symtab))
+#define SYMTAB_PSPACE(symtab) (SYMTAB_OBJFILE (symtab)->pspace)
+#define SYMTAB_DIRNAME(symtab) \
+  COMPUNIT_DIRNAME (SYMTAB_COMPUNIT (symtab))
+
+typedef struct symtab *symtab_ptr;
+DEF_VEC_P (symtab_ptr);
+
+/* Compunit symtabs contain the actual "symbol table", aka blockvector, as well
+   as the list of all source files (what gdb has historically associated with
+   the term "symtab").
+   Additional information is recorded here that is common to all symtabs in a
+   compilation unit (DWARF or otherwise).
+
+   Example:
+   For the case of a program built out of these files:
+
+   foo.c
+     foo1.h
+     foo2.h
+   bar.c
+     foo1.h
+     bar.h
+
+   This is recorded as:
+
+   objfile -> foo.c(cu) -> bar.c(cu) -> NULL
+                |            |
+                v            v
+              foo.c        bar.c
+                |            |
+                v            v
+              foo1.h       foo1.h
+                |            |
+                v            v
+              foo2.h       bar.h
+                |            |
+                v            v
+               NULL         NULL
+
+   where "foo.c(cu)" and "bar.c(cu)" are struct compunit_symtab objects,
+   and the files foo.c, etc. are struct symtab objects.  */
+
+struct compunit_symtab
+{
+  /* Unordered chain of all compunit symtabs of this objfile.  */
+  struct compunit_symtab *next;
+
+  /* Object file from which this symtab information was read.  */
+  struct objfile *objfile;
+
+  /* Name of the symtab.
+     This is *not* intended to be a usable filename, and is
+     for debugging purposes only.  */
+  const char *name;
+
+  /* Unordered list of file symtabs, except that by convention the "main"
+     source file (e.g., .c, .cc) is guaranteed to be first.
+     Each symtab is a file, either the "main" source file (e.g., .c, .cc)
+     or header (e.g., .h).  */
+  struct symtab *filetabs;
+
+  /* Last entry in FILETABS list.
+     Subfiles are added to the end of the list so they accumulate in order,
+     with the main source subfile living at the front.
+     The main reason is so that the main source file symtab is at the head
+     of the list, and the rest appear in order for debugging convenience.  */
+  struct symtab *last_filetab;
+
+  /* Non-NULL string that identifies the format of the debugging information,
+     such as "stabs", "dwarf 1", "dwarf 2", "coff", etc.  This is mostly useful
      for automated testing of gdb but may also be information that is
      useful to the user.  */
-
   const char *debugformat;
 
-  /* String of producer version information.  May be zero.  */
-
+  /* String of producer version information, or NULL if we don't know.  */
   const char *producer;
 
-  /* Full name of file as found by searching the source path.
-     NULL if not yet known.  */
+  /* Directory in which it was compiled, or NULL if we don't know.  */
+  const char *dirname;
 
-  char *fullname;
+  /* List of all symbol scope blocks for this symtab.  It is shared among
+     all symtabs in a given compilation unit.  */
+  const struct blockvector *blockvector;
+
+  /* Section in objfile->section_offsets for the blockvector and
+     the linetable.  Probably always SECT_OFF_TEXT.  */
+  int block_line_section;
 
-  /* Object file from which this symbol information was read.  */
+  /* Symtab has been compiled with both optimizations and debug info so that
+     GDB may stop skipping prologues as variables locations are valid already
+     at function entry points.  */
+  unsigned int locations_valid : 1;
 
-  struct objfile *objfile;
+  /* DWARF unwinder for this CU is valid even for epilogues (PC at the return
+     instruction).  This is supported by GCC since 4.5.0.  */
+  unsigned int epilogue_unwind_valid : 1;
 
   /* struct call_site entries for this compilation unit or NULL.  */
-
   htab_t call_site_htab;
 
+  /* The macro table for this symtab.  Like the blockvector, this
+     is shared between different symtabs in a given compilation unit.
+     It's debatable whether it *should* be shared among all the symtabs in
+     the given compilation unit, but it currently is.  */
+  struct macro_table *macro_table;
+
   /* If non-NULL, then this points to a NULL-terminated vector of
-     included symbol tables.  When searching the static or global
-     block of this symbol table, the corresponding block of all
-     included symbol tables will also be searched.  Note that this
+     included compunits.  When searching the static or global
+     block of this compunit, the corresponding block of all
+     included compunits will also be searched.  Note that this
      list must be flattened -- the symbol reader is responsible for
      ensuring that this vector contains the transitive closure of all
-     included symbol tables.  */
+     included compunits.  */
+  struct compunit_symtab **includes;
 
-  struct symtab **includes;
-
-  /* If this is an included symbol table, this points to one includer
-     of the table.  This user is considered the canonical symbol table
-     containing this one.  An included symbol table may itself be
+  /* If this is an included compunit, this points to one includer
+     of the table.  This user is considered the canonical compunit
+     containing this one.  An included compunit may itself be
      included by another.  */
-
-  struct symtab *user;
+  struct compunit_symtab *user;
 };
 
-#define BLOCKVECTOR(symtab)	(symtab)->blockvector
-#define LINETABLE(symtab)	(symtab)->linetable
-#define SYMTAB_PSPACE(symtab)	(symtab)->objfile->pspace
+#define COMPUNIT_OBJFILE(cust) ((cust)->objfile)
+#define COMPUNIT_FILETABS(cust) ((cust)->filetabs)
+#define COMPUNIT_DEBUGFORMAT(cust) ((cust)->debugformat)
+#define COMPUNIT_PRODUCER(cust) ((cust)->producer)
+#define COMPUNIT_DIRNAME(cust) ((cust)->dirname)
+#define COMPUNIT_BLOCKVECTOR(cust) ((cust)->blockvector)
+#define COMPUNIT_BLOCK_LINE_SECTION(cust) ((cust)->block_line_section)
+#define COMPUNIT_LOCATIONS_VALID(cust) ((cust)->locations_valid)
+#define COMPUNIT_EPILOGUE_UNWIND_VALID(cust) ((cust)->epilogue_unwind_valid)
+#define COMPUNIT_CALL_SITE_HTAB(cust) ((cust)->call_site_htab)
+#define COMPUNIT_MACRO_TABLE(cust) ((cust)->macro_table)
 
-/* Call this to set the "primary" field in struct symtab.  */
-extern void set_symtab_primary (struct symtab *, int primary);
+/* Iterate over all file tables (struct symtab) within a compunit.  */
 
-typedef struct symtab *symtab_ptr;
-DEF_VEC_P (symtab_ptr);
+#define ALL_COMPUNIT_FILETABS(cu, s) \
+  for ((s) = (cu) -> filetabs; (s) != NULL; (s) = (s) -> next)
+
+/* Return the primary symtab of CUST.  */
+
+extern struct symtab *
+  compunit_primary_filetab (const struct compunit_symtab *cust);
+
+/* Return the language of CUST.  */
+
+extern enum language compunit_language (const struct compunit_symtab *cust);
+
+typedef struct compunit_symtab *compunit_symtab_ptr;
+DEF_VEC_P (compunit_symtab_ptr);
 
 
 
@@ -1011,6 +1140,10 @@ DEF_VEC_P (symtab_ptr);
 
 extern int currently_reading_symtab;
 
+/* The block in which the most recently looked up symbol was found.  */
+
+extern const struct block *block_found;
+
 /* symtab.c lookup functions */
 
 extern const char multiple_symbols_ask[];
@@ -1043,13 +1176,22 @@ struct field_of_this_result
 
   struct field *field;
 
-  /* If the symbol was found as an function field of 'this', then this
+  /* If the symbol was found as a function field of 'this', then this
      is non-NULL and points to the particular field.  */
 
   struct fn_fieldlist *fn_field;
 };
 
-/* lookup a symbol by name (optional block) in language.  */
+/* Find the definition for a specified symbol name NAME
+   in domain DOMAIN in language LANGUAGE, visible from lexical block BLOCK
+   if non-NULL or from global/static blocks if BLOCK is NULL.
+   Returns the struct symbol pointer, or NULL if no symbol is found.
+   C++: if IS_A_FIELD_OF_THIS is non-NULL on entry, check to see if
+   NAME is a field of the current implied argument `this'.  If so fill in the
+   fields of IS_A_FIELD_OF_THIS, otherwise the fields are set to NULL.
+   BLOCK_FOUND is set to the block in which NAME is found (in the case of
+   a field of `this', value_of_this sets BLOCK_FOUND to the proper value).
+   The symbol's section is fixed up if necessary.  */
 
 extern struct symbol *lookup_symbol_in_language (const char *,
 						 const struct block *,
@@ -1057,60 +1199,72 @@ extern struct symbol *lookup_symbol_in_l
 						 enum language,
 						 struct field_of_this_result *);
 
-/* lookup a symbol by name (optional block, optional symtab)
-   in the current language.  */
+/* Same as lookup_symbol_in_language, but using the current language.  */
 
 extern struct symbol *lookup_symbol (const char *, const struct block *,
 				     const domain_enum,
 				     struct field_of_this_result *);
 
 /* A default version of lookup_symbol_nonlocal for use by languages
-   that can't think of anything better to do.  */
+   that can't think of anything better to do.
+   This implements the C lookup rules.  */
 
-extern struct symbol *basic_lookup_symbol_nonlocal (const char *,
-						    const struct block *,
-						    const domain_enum);
+extern struct symbol *
+  basic_lookup_symbol_nonlocal (const struct language_defn *langdef,
+				const char *,
+				const struct block *,
+				const domain_enum);
 
 /* Some helper functions for languages that need to write their own
    lookup_symbol_nonlocal functions.  */
 
 /* Lookup a symbol in the static block associated to BLOCK, if there
-   is one; do nothing if BLOCK is NULL or a global block.  */
+   is one; do nothing if BLOCK is NULL or a global block.
+   Upon success sets BLOCK_FOUND and fixes up the symbol's section
+   if necessary.  */
+
+extern struct symbol *lookup_symbol_in_static_block (const char *name,
+						     const struct block *block,
+						     const domain_enum domain);
+
+/* Search all static file-level symbols for NAME from DOMAIN.
+   Upon success sets BLOCK_FOUND and fixes up the symbol's section
+   if necessary.  */
 
-extern struct symbol *lookup_symbol_static (const char *name,
-					    const struct block *block,
+extern struct symbol *lookup_static_symbol (const char *name,
 					    const domain_enum domain);
 
-/* Lookup a symbol in all files' global blocks (searching psymtabs if
-   necessary).  */
+/* Lookup a symbol in all files' global blocks.
 
-extern struct symbol *lookup_symbol_global (const char *name,
+   If BLOCK is non-NULL then it is used for two things:
+   1) If a target-specific lookup routine for libraries exists, then use the
+      routine for the objfile of BLOCK, and
+   2) The objfile of BLOCK is used to assist in determining the search order
+      if the target requires it.
+      See gdbarch_iterate_over_objfiles_in_search_order.
+
+   Upon success sets BLOCK_FOUND and fixes up the symbol's section
+   if necessary.  */
+
+extern struct symbol *lookup_global_symbol (const char *name,
 					    const struct block *block,
 					    const domain_enum domain);
 
-/* Lookup a symbol within the block BLOCK.  This, unlike
-   lookup_symbol_block, will set SYMTAB and BLOCK_FOUND correctly, and
-   will fix up the symbol if necessary.  */
-
-extern struct symbol *lookup_symbol_aux_block (const char *name,
-					       const struct block *block,
-					       const domain_enum domain);
+/* Lookup a symbol in block BLOCK.
+   Upon success sets BLOCK_FOUND and fixes up the symbol's section
+   if necessary.  */
+
+extern struct symbol *lookup_symbol_in_block (const char *name,
+					      const struct block *block,
+					      const domain_enum domain);
+
+/* Look up the `this' symbol for LANG in BLOCK.  Return the symbol if
+   found, or NULL if not found.  */
 
 extern struct symbol *lookup_language_this (const struct language_defn *lang,
 					    const struct block *block);
 
-/* Lookup a symbol only in the file static scope of all the objfiles.  */
-
-struct symbol *lookup_static_symbol_aux (const char *name,
-					 const domain_enum domain);
-
-
-/* lookup a symbol by name, within a specified block.  */
-
-extern struct symbol *lookup_block_symbol (const struct block *, const char *,
-					   const domain_enum);
-
-/* lookup a [struct, union, enum] by name, within a specified block.  */
+/* Lookup a [struct, union, enum] by name, within a specified block.  */
 
 extern struct type *lookup_struct (const char *, const struct block *);
 
@@ -1140,26 +1294,30 @@ extern int find_pc_partial_function (COR
 
 extern void clear_pc_function_cache (void);
 
-/* lookup partial symbol table by address and section.  */
+/* Expand symtab containing PC, SECTION if not already expanded.  */
 
-extern struct symtab *find_pc_sect_symtab_via_partial (CORE_ADDR,
-						       struct obj_section *);
+extern void expand_symtab_containing_pc (CORE_ADDR, struct obj_section *);
 
 /* lookup full symbol table by address.  */
 
-extern struct symtab *find_pc_symtab (CORE_ADDR);
+extern struct compunit_symtab *find_pc_compunit_symtab (CORE_ADDR);
 
 /* lookup full symbol table by address and section.  */
 
-extern struct symtab *find_pc_sect_symtab (CORE_ADDR, struct obj_section *);
+extern struct compunit_symtab *
+  find_pc_sect_compunit_symtab (CORE_ADDR, struct obj_section *);
 
 extern int find_pc_line_pc_range (CORE_ADDR, CORE_ADDR *, CORE_ADDR *);
 
 extern void reread_symbols (void);
 
+/* Look up a type named NAME in STRUCT_DOMAIN in the current language.
+   The type returned must not be opaque -- i.e., must have at least one field
+   defined.  */
+
 extern struct type *lookup_transparent_type (const char *);
-extern struct type *basic_lookup_transparent_type (const char *);
 
+extern struct type *basic_lookup_transparent_type (const char *);
 
 /* Macro for name of symbol to indicate a file compiled with gcc.  */
 #ifndef GCC_COMPILED_FLAG_SYMBOL
@@ -1245,6 +1403,10 @@ extern struct symtab_and_line find_pc_li
 extern struct symtab_and_line find_pc_sect_line (CORE_ADDR,
 						 struct obj_section *, int);
 
+/* Wrapper around find_pc_line to just return the symtab.  */
+
+extern struct symtab *find_pc_line_symtab (CORE_ADDR);
+
 /* Given a symtab and line number, return the pc there.  */
 
 extern int find_line_pc (struct symtab *, int, CORE_ADDR *);
@@ -1320,9 +1482,6 @@ extern enum language deduce_language_fro
 
 /* symtab.c */
 
-extern int in_prologue (struct gdbarch *gdbarch,
-			CORE_ADDR pc, CORE_ADDR func_start);
-
 extern CORE_ADDR skip_prologue_using_sal (struct gdbarch *gdbarch,
 					  CORE_ADDR func_addr);
 
@@ -1343,9 +1502,7 @@ struct symbol_search
 
   /* Information describing what was found.
 
-     If symtab and symbol are NOT NULL, then information was found
-     for this match.  */
-  struct symtab *symtab;
+     If symbol is NOT NULL, then information was found for this match.  */
   struct symbol *symbol;
 
   /* If msymbol is non-null, then a match was made on something for
@@ -1356,8 +1513,8 @@ struct symbol_search
   struct symbol_search *next;
 };
 
-extern void search_symbols (char *, enum search_domain, int, char **,
-			    struct symbol_search **);
+extern void search_symbols (const char *, enum search_domain, int,
+			    const char **, struct symbol_search **);
 extern void free_search_symbols (struct symbol_search *);
 extern struct cleanup *make_cleanup_free_search_symbols (struct symbol_search
 							 **);
@@ -1369,10 +1526,16 @@ extern struct cleanup *make_cleanup_free
 extern /*const */ char *main_name (void);
 extern enum language main_language (void);
 
-/* Check global symbols in objfile.  */
-struct symbol *lookup_global_symbol_from_objfile (const struct objfile *,
-						  const char *name,
-						  const domain_enum domain);
+/* Lookup symbol NAME from DOMAIN in MAIN_OBJFILE's global blocks.
+   This searches MAIN_OBJFILE as well as any associated separate debug info
+   objfiles of MAIN_OBJFILE.
+   Upon success sets BLOCK_FOUND and fixes up the symbol's section
+   if necessary.  */
+
+extern struct symbol *
+  lookup_global_symbol_from_objfile (struct objfile *main_objfile,
+				     const char *name,
+				     const domain_enum domain);
 
 /* Return 1 if the supplied producer string matches the ARM RealView
    compiler (armcc).  */
@@ -1381,10 +1544,14 @@ int producer_is_realview (const char *pr
 void fixup_section (struct general_symbol_info *ginfo,
 		    CORE_ADDR addr, struct objfile *objfile);
 
+/* Look up objfile containing BLOCK.  */
+
 struct objfile *lookup_objfile_from_block (const struct block *block);
 
 extern unsigned int symtab_create_debug;
 
+extern unsigned int symbol_lookup_debug;
+
 extern int basenames_may_differ;
 
 int compare_filenames_for_search (const char *filename,
@@ -1395,8 +1562,8 @@ int iterate_over_some_symtabs (const cha
 			       int (*callback) (struct symtab *symtab,
 						void *data),
 			       void *data,
-			       struct symtab *first,
-			       struct symtab *after_last);
+			       struct compunit_symtab *first,
+			       struct compunit_symtab *after_last);
 
 void iterate_over_symtabs (const char *name,
 			   int (*callback) (struct symtab *symtab,
@@ -1427,7 +1594,7 @@ struct cleanup *demangle_for_lookup (con
 
 struct symbol *allocate_symbol (struct objfile *);
 
-void initialize_symbol (struct symbol *);
+void initialize_objfile_symbol (struct symbol *);
 
 struct template_symbol *allocate_template_symbol (struct objfile *);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/amd64-linux.xml ./gdb/syscalls/amd64-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/amd64-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/amd64-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/arm-linux.py ./gdb/syscalls/arm-linux.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/arm-linux.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/arm-linux.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/arm-linux.xml ./gdb/syscalls/arm-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/arm-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/arm-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/bfin-linux.xml ./gdb/syscalls/bfin-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/bfin-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/bfin-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/gdb-syscalls.dtd ./gdb/syscalls/gdb-syscalls.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/gdb-syscalls.dtd	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/gdb-syscalls.dtd	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/i386-linux.xml ./gdb/syscalls/i386-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/i386-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/i386-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/mips-n32-linux.xml ./gdb/syscalls/mips-n32-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/mips-n32-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/mips-n32-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/mips-n64-linux.xml ./gdb/syscalls/mips-n64-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/mips-n64-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/mips-n64-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/mips-o32-linux.xml ./gdb/syscalls/mips-o32-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/mips-o32-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/mips-o32-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/ppc64-linux.xml ./gdb/syscalls/ppc64-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/ppc64-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/ppc64-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/ppc-linux.xml ./gdb/syscalls/ppc-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/ppc-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/ppc-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/s390-linux.xml ./gdb/syscalls/s390-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/s390-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/s390-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/s390x-linux.xml ./gdb/syscalls/s390x-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/s390x-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/s390x-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/sparc64-linux.xml ./gdb/syscalls/sparc64-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/sparc64-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/sparc64-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/sparc-linux.xml ./gdb/syscalls/sparc-linux.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/syscalls/sparc-linux.xml	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/syscalls/sparc-linux.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/system-gdbinit/elinos.py ./gdb/system-gdbinit/elinos.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/system-gdbinit/elinos.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/system-gdbinit/elinos.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/system-gdbinit/wrs-linux.py ./gdb/system-gdbinit/wrs-linux.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/system-gdbinit/wrs-linux.py	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/system-gdbinit/wrs-linux.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/resume.h ./gdb/target/resume.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/resume.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/target/resume.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target resumption definitions and prototypes.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/target.h ./gdb/target/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/target.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/target/target.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,75 @@
+/* Declarations for common target functions.
+
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef TARGET_COMMON_H
+#define TARGET_COMMON_H
+
+#include "target/waitstatus.h"
+#include <stdint.h>
+
+/* This header is a stopgap until more code is shared.  */
+
+/* Read LEN bytes of target memory at address MEMADDR, placing the
+   results in GDB's memory at MYADDR.  Return zero for success,
+   nonzero if any error occurs.  This function must be provided by
+   the client.  Implementations of this function may define and use
+   their own error codes, but functions in the common, nat and target
+   directories must treat the return code as opaque.  No guarantee is
+   made about the contents of the data at MYADDR if any error
+   occurs.  */
+
+extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr,
+			       ssize_t len);
+
+/* Read an unsigned 32-bit integer in the target's format from target
+   memory at address MEMADDR, storing the result in GDB's format in
+   GDB's memory at RESULT.  Return zero for success, nonzero if any
+   error occurs.  This function must be provided by the client.
+   Implementations of this function may define and use their own error
+   codes, but functions in the common, nat and target directories must
+   treat the return code as opaque.  No guarantee is made about the
+   contents of the data at RESULT if any error occurs.  */
+
+extern int target_read_uint32 (CORE_ADDR memaddr, uint32_t *result);
+
+/* Write LEN bytes from MYADDR to target memory at address MEMADDR.
+   Return zero for success, nonzero if any error occurs.  This
+   function must be provided by the client.  Implementations of this
+   function may define and use their own error codes, but functions
+   in the common, nat and target directories must treat the return
+   code as opaque.  No guarantee is made about the contents of the
+   data at MEMADDR if any error occurs.  */
+
+extern int target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr,
+				ssize_t len);
+
+/* Cause the target to stop in a continuable fashion--for instance,
+   under Unix, this should act like SIGSTOP--and wait for the target
+   to be stopped before returning.  This function must be provided by
+   the client.  */
+
+extern void target_stop_and_wait (ptid_t ptid);
+
+/* Restart a target previously stopped by target_stop_and_wait.
+   No signal is delivered to the target.  This function must be
+   provided by the client.  */
+
+extern void target_continue_no_signal (ptid_t ptid);
+
+#endif /* TARGET_COMMON_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/wait.h ./gdb/target/wait.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/wait.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/target/wait.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target wait definitions and prototypes.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/waitstatus.c ./gdb/target/waitstatus.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/waitstatus.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/target/waitstatus.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target waitstatus implementations.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,12 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef GDBSERVER
-#include "server.h"
-#else
-#include "defs.h"
-#endif
-
+#include "common-defs.h"
 #include "waitstatus.h"
 
 /* Return a pretty printed form of target_waitstatus.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/waitstatus.h ./gdb/target/waitstatus.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target/waitstatus.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/target/waitstatus.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target waitstatus definitions and prototypes.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,8 +20,6 @@
 #ifndef WAITSTATUS_H
 #define WAITSTATUS_H
 
-#include "common-utils.h"
-#include "ptid.h"
 #include "gdb_signals.h"
 
 /* Stuff for target_wait.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target.c ./gdb/target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/target.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Select target systems and architectures at runtime for GDB.
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
@@ -20,8 +20,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <errno.h>
-#include <string.h>
 #include "target.h"
 #include "target-dcache.h"
 #include "gdbcmd.h"
@@ -34,9 +32,7 @@
 #include "dcache.h"
 #include <signal.h>
 #include "regcache.h"
-#include "gdb_assert.h"
 #include "gdbcore.h"
-#include "exceptions.h"
 #include "target-descriptions.h"
 #include "gdbthread.h"
 #include "solib.h"
@@ -46,9 +42,12 @@
 #include "gdb/fileio.h"
 #include "agent.h"
 #include "auxv.h"
+#include "target-debug.h"
 
 static void target_info (char *, int);
 
+static void generic_tls_error (void) ATTRIBUTE_NORETURN;
+
 static void default_terminal_info (struct target_ops *, const char *, int);
 
 static int default_watchpoint_addr_within_range (struct target_ops *,
@@ -57,7 +56,7 @@ static int default_watchpoint_addr_withi
 static int default_region_ok_for_hw_watchpoint (struct target_ops *,
 						CORE_ADDR, int);
 
-static void default_rcmd (struct target_ops *, char *, struct ui_file *);
+static void default_rcmd (struct target_ops *, const char *, struct ui_file *);
 
 static ptid_t default_get_ada_task_ptid (struct target_ops *self,
 					 long lwp, long tid);
@@ -109,79 +108,18 @@ static enum exec_direction_kind default_
 static CORE_ADDR default_target_decr_pc_after_break (struct target_ops *ops,
 						     struct gdbarch *gdbarch);
 
-#include "target-delegates.c"
-
-static void init_dummy_target (void);
-
 static struct target_ops debug_target;
 
-static void debug_to_open (char *, int);
-
-static void debug_to_prepare_to_store (struct target_ops *self,
-				       struct regcache *);
-
-static void debug_to_files_info (struct target_ops *);
-
-static int debug_to_insert_breakpoint (struct target_ops *, struct gdbarch *,
-				       struct bp_target_info *);
-
-static int debug_to_remove_breakpoint (struct target_ops *, struct gdbarch *,
-				       struct bp_target_info *);
-
-static int debug_to_can_use_hw_breakpoint (struct target_ops *self,
-					   int, int, int);
-
-static int debug_to_insert_hw_breakpoint (struct target_ops *self,
-					  struct gdbarch *,
-					  struct bp_target_info *);
-
-static int debug_to_remove_hw_breakpoint (struct target_ops *self,
-					  struct gdbarch *,
-					  struct bp_target_info *);
-
-static int debug_to_insert_watchpoint (struct target_ops *self,
-				       CORE_ADDR, int, int,
-				       struct expression *);
-
-static int debug_to_remove_watchpoint (struct target_ops *self,
-				       CORE_ADDR, int, int,
-				       struct expression *);
-
-static int debug_to_stopped_data_address (struct target_ops *, CORE_ADDR *);
-
-static int debug_to_watchpoint_addr_within_range (struct target_ops *,
-						  CORE_ADDR, CORE_ADDR, int);
-
-static int debug_to_region_ok_for_hw_watchpoint (struct target_ops *self,
-						 CORE_ADDR, int);
-
-static int debug_to_can_accel_watchpoint_condition (struct target_ops *self,
-						    CORE_ADDR, int, int,
-						    struct expression *);
-
-static void debug_to_terminal_init (struct target_ops *self);
-
-static void debug_to_terminal_inferior (struct target_ops *self);
-
-static void debug_to_terminal_ours_for_output (struct target_ops *self);
-
-static void debug_to_terminal_save_ours (struct target_ops *self);
-
-static void debug_to_terminal_ours (struct target_ops *self);
-
-static void debug_to_load (struct target_ops *self, char *, int);
+#include "target-delegates.c"
 
-static int debug_to_can_run (struct target_ops *self);
+static void init_dummy_target (void);
 
-static void debug_to_stop (struct target_ops *self, ptid_t);
+static void update_current_target (void);
 
-/* Pointer to array of target architecture structures; the size of the
-   array; the current index into the array; the allocated size of the
-   array.  */
-struct target_ops **target_structs;
-unsigned target_struct_size;
-unsigned target_struct_allocsize;
-#define	DEFAULT_ALLOCSIZE	10
+/* Vector of existing target structures. */
+typedef struct target_ops *target_ops_p;
+DEF_VEC_P (target_ops_p);
+static VEC (target_ops_p) *target_structs;
 
 /* The initial current target, so that there is always a semi-valid
    current target.  */
@@ -230,6 +168,13 @@ int may_stop = 1;
 /* Non-zero if we want to see trace of target level stuff.  */
 
 static unsigned int targetdebug = 0;
+
+static void
+set_targetdebug  (char *args, int from_tty, struct cmd_list_element *c)
+{
+  update_current_target ();
+}
+
 static void
 show_targetdebug (struct ui_file *file, int from_tty,
 		  struct cmd_list_element *c, const char *value)
@@ -400,6 +345,24 @@ complete_target_initialization (struct t
   install_delegators (t);
 }
 
+/* This is used to implement the various target commands.  */
+
+static void
+open_target (char *args, int from_tty, struct cmd_list_element *command)
+{
+  struct target_ops *ops = get_cmd_context (command);
+
+  if (targetdebug)
+    fprintf_unfiltered (gdb_stdlog, "-> %s->to_open (...)\n",
+			ops->to_shortname);
+
+  ops->to_open (args, from_tty);
+
+  if (targetdebug)
+    fprintf_unfiltered (gdb_stdlog, "<- %s->to_open (%s, %d)\n",
+			ops->to_shortname, args, from_tty);
+}
+
 /* Add possible target architecture T to the list and add a new
    command 'target T->to_shortname'.  Set COMPLETER as the command's
    completer if not NULL.  */
@@ -412,20 +375,7 @@ add_target_with_completer (struct target
 
   complete_target_initialization (t);
 
-  if (!target_structs)
-    {
-      target_struct_allocsize = DEFAULT_ALLOCSIZE;
-      target_structs = (struct target_ops **) xmalloc
-	(target_struct_allocsize * sizeof (*target_structs));
-    }
-  if (target_struct_size >= target_struct_allocsize)
-    {
-      target_struct_allocsize *= 2;
-      target_structs = (struct target_ops **)
-	xrealloc ((char *) target_structs,
-		  target_struct_allocsize * sizeof (*target_structs));
-    }
-  target_structs[target_struct_size++] = t;
+  VEC_safe_push (target_ops_p, target_structs, t);
 
   if (targetlist == NULL)
     add_prefix_cmd ("target", class_run, target_command, _("\
@@ -435,8 +385,9 @@ Remaining arguments are interpreted by t
 information on the arguments for a particular protocol, type\n\
 `help target ' followed by the protocol name."),
 		    &targetlist, "target ", 0, &cmdlist);
-  c = add_cmd (t->to_shortname, no_class, t->to_open, t->to_doc,
-	       &targetlist);
+  c = add_cmd (t->to_shortname, no_class, NULL, t->to_doc, &targetlist);
+  set_cmd_sfunc (c, open_target);
+  set_cmd_context (c, t);
   if (completer != NULL)
     set_cmd_completer (c, completer);
 }
@@ -459,7 +410,9 @@ add_deprecated_target_alias (struct targ
 
   /* If we use add_alias_cmd, here, we do not get the deprecated warning,
      see PR cli/15104.  */
-  c = add_cmd (alias, no_class, t->to_open, t->to_doc, &targetlist);
+  c = add_cmd (alias, no_class, NULL, t->to_doc, &targetlist);
+  set_cmd_sfunc (c, open_target);
+  set_cmd_context (c, t);
   alt = xstrprintf ("target %s", t->to_shortname);
   deprecate_cmd (c, alt);
 }
@@ -469,14 +422,11 @@ add_deprecated_target_alias (struct targ
 void
 target_kill (void)
 {
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_kill ()\n");
-
   current_target.to_kill (&current_target);
 }
 
 void
-target_load (char *arg, int from_tty)
+target_load (const char *arg, int from_tty)
 {
   target_dcache_invalidate ();
   (*current_target.to_load) (&current_target, arg, from_tty);
@@ -561,6 +511,57 @@ target_terminal_ours_for_output (void)
   terminal_state = terminal_is_ours_for_output;
 }
 
+/* See target.h.  */
+
+int
+target_supports_terminal_ours (void)
+{
+  struct target_ops *t;
+
+  for (t = current_target.beneath; t != NULL; t = t->beneath)
+    {
+      if (t->to_terminal_ours != delegate_terminal_ours
+	  && t->to_terminal_ours != tdefault_terminal_ours)
+	return 1;
+    }
+
+  return 0;
+}
+
+/* Restore the terminal to its previous state (helper for
+   make_cleanup_restore_target_terminal). */
+
+static void
+cleanup_restore_target_terminal (void *arg)
+{
+  enum terminal_state *previous_state = arg;
+
+  switch (*previous_state)
+    {
+    case terminal_is_ours:
+      target_terminal_ours ();
+      break;
+    case terminal_is_ours_for_output:
+      target_terminal_ours_for_output ();
+      break;
+    case terminal_is_inferior:
+      target_terminal_inferior ();
+      break;
+    }
+}
+
+/* See target.h. */
+
+struct cleanup *
+make_cleanup_restore_target_terminal (void)
+{
+  enum terminal_state *ts = xmalloc (sizeof (*ts));
+
+  *ts = terminal_state;
+
+  return make_cleanup_dtor (cleanup_restore_target_terminal, ts, xfree);
+}
+
 static void
 tcomplain (void)
 {
@@ -776,7 +777,7 @@ pop_all_targets (void)
 int
 target_is_pushed (struct target_ops *t)
 {
-  struct target_ops **cur;
+  struct target_ops *cur;
 
   /* Check magic number.  If wrong, it probably means someone changed
      the struct definition, but not all the places that initialize one.  */
@@ -789,31 +790,31 @@ target_is_pushed (struct target_ops *t)
 		      _("failed internal consistency check"));
     }
 
-  for (cur = &target_stack; (*cur) != NULL; cur = &(*cur)->beneath)
-    if (*cur == t)
+  for (cur = target_stack; cur != NULL; cur = cur->beneath)
+    if (cur == t)
       return 1;
 
   return 0;
 }
 
+/* Default implementation of to_get_thread_local_address.  */
+
+static void
+generic_tls_error (void)
+{
+  throw_error (TLS_GENERIC_ERROR,
+	       _("Cannot find thread-local variables on this target"));
+}
+
 /* Using the objfile specified in OBJFILE, find the address for the
    current thread's thread-local storage with offset OFFSET.  */
 CORE_ADDR
 target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset)
 {
   volatile CORE_ADDR addr = 0;
-  struct target_ops *target;
+  struct target_ops *target = &current_target;
 
-  for (target = current_target.beneath;
-       target != NULL;
-       target = target->beneath)
-    {
-      if (target->to_get_thread_local_address != NULL)
-	break;
-    }
-
-  if (target != NULL
-      && gdbarch_fetch_tls_load_module_address_p (target_gdbarch ()))
+  if (gdbarch_fetch_tls_load_module_address_p (target_gdbarch ()))
     {
       ptid_t ptid = inferior_ptid;
       volatile struct gdb_exception ex;
@@ -983,9 +984,6 @@ done:
 struct target_section_table *
 target_get_section_table (struct target_ops *target)
 {
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_get_section_table ()\n");
-
   return (*target->to_get_section_table) (target);
 }
 
@@ -1008,6 +1006,59 @@ target_section_by_addr (struct target_op
   return NULL;
 }
 
+
+/* Helper for the memory xfer routines.  Checks the attributes of the
+   memory region of MEMADDR against the read or write being attempted.
+   If the access is permitted returns true, otherwise returns false.
+   REGION_P is an optional output parameter.  If not-NULL, it is
+   filled with a pointer to the memory region of MEMADDR.  REG_LEN
+   returns LEN trimmed to the end of the region.  This is how much the
+   caller can continue requesting, if the access is permitted.  A
+   single xfer request must not straddle memory region boundaries.  */
+
+static int
+memory_xfer_check_region (gdb_byte *readbuf, const gdb_byte *writebuf,
+			  ULONGEST memaddr, ULONGEST len, ULONGEST *reg_len,
+			  struct mem_region **region_p)
+{
+  struct mem_region *region;
+
+  region = lookup_mem_region (memaddr);
+
+  if (region_p != NULL)
+    *region_p = region;
+
+  switch (region->attrib.mode)
+    {
+    case MEM_RO:
+      if (writebuf != NULL)
+	return 0;
+      break;
+
+    case MEM_WO:
+      if (readbuf != NULL)
+	return 0;
+      break;
+
+    case MEM_FLASH:
+      /* We only support writing to flash during "load" for now.  */
+      if (writebuf != NULL)
+	error (_("Writing to flash memory forbidden in this context"));
+      break;
+
+    case MEM_NONE:
+      return 0;
+    }
+
+  /* region->hi == 0 means there's no upper bound.  */
+  if (memaddr + len < region->hi || region->hi == 0)
+    *reg_len = len;
+  else
+    *reg_len = region->hi - memaddr;
+
+  return 1;
+}
+
 /* Read memory from more than one valid target.  A core file, for
    instance, could have some of memory but delegate other bits to
    the target below it.  So, we must manually try all targets.  */
@@ -1069,7 +1120,7 @@ memory_xfer_partial_1 (struct target_ops
 		       ULONGEST len, ULONGEST *xfered_len)
 {
   enum target_xfer_status res;
-  int reg_len;
+  ULONGEST reg_len;
   struct mem_region *region;
   struct inferior *inf;
 
@@ -1116,37 +1167,13 @@ memory_xfer_partial_1 (struct target_ops
     }
 
   /* Try GDB's internal data cache.  */
-  region = lookup_mem_region (memaddr);
-  /* region->hi == 0 means there's no upper bound.  */
-  if (memaddr + len < region->hi || region->hi == 0)
-    reg_len = len;
-  else
-    reg_len = region->hi - memaddr;
-
-  switch (region->attrib.mode)
-    {
-    case MEM_RO:
-      if (writebuf != NULL)
-	return TARGET_XFER_E_IO;
-      break;
 
-    case MEM_WO:
-      if (readbuf != NULL)
-	return TARGET_XFER_E_IO;
-      break;
-
-    case MEM_FLASH:
-      /* We only support writing to flash during "load" for now.  */
-      if (writebuf != NULL)
-	error (_("Writing to flash memory forbidden in this context"));
-      break;
-
-    case MEM_NONE:
-      return TARGET_XFER_E_IO;
-    }
+  if (!memory_xfer_check_region (readbuf, writebuf, memaddr, len, &reg_len,
+				 &region))
+    return TARGET_XFER_E_IO;
 
   if (!ptid_equal (inferior_ptid, null_ptid))
-    inf = find_inferior_pid (ptid_get_pid (inferior_ptid));
+    inf = find_inferior_ptid (inferior_ptid);
   else
     inf = NULL;
 
@@ -1283,6 +1310,16 @@ target_xfer_partial (struct target_ops *
 				  writebuf, offset, len, xfered_len);
   else if (object == TARGET_OBJECT_RAW_MEMORY)
     {
+      /* Skip/avoid accessing the target if the memory region
+	 attributes block the access.  Check this here instead of in
+	 raw_memory_xfer_partial as otherwise we'd end up checking
+	 this twice in the case of the memory_xfer_partial path is
+	 taken; once before checking the dcache, and another in the
+	 tail call to raw_memory_xfer_partial.  */
+      if (!memory_xfer_check_region (readbuf, writebuf, offset, len, &len,
+				     NULL))
+	return TARGET_XFER_E_IO;
+
       /* Request the normal memory object from other layers.  */
       retval = raw_memory_xfer_partial (ops, readbuf, writebuf, offset, len,
 					xfered_len);
@@ -1368,6 +1405,22 @@ target_read_memory (CORE_ADDR memaddr, g
     return TARGET_XFER_E_IO;
 }
 
+/* See target/target.h.  */
+
+int
+target_read_uint32 (CORE_ADDR memaddr, uint32_t *result)
+{
+  gdb_byte buf[4];
+  int r;
+
+  r = target_read_memory (memaddr, buf, sizeof buf);
+  if (r != 0)
+    return r;
+  *result = extract_unsigned_integer (buf, sizeof buf,
+				      gdbarch_byte_order (target_gdbarch ()));
+  return 0;
+}
+
 /* Like target_read_memory, but specify explicitly that this is a read
    from the target's raw memory.  That is, this read bypasses the
    dcache, breakpoint shadowing, etc.  */
@@ -1460,9 +1513,6 @@ target_memory_map (void)
   int ix;
   struct target_ops *t;
 
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_memory_map ()\n");
-
   result = current_target.to_memory_map (&current_target);
   if (result == NULL)
     return NULL;
@@ -1494,17 +1544,12 @@ target_memory_map (void)
 void
 target_flash_erase (ULONGEST address, LONGEST length)
 {
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_flash_erase (%s, %s)\n",
-			hex_string (address), phex (length, 0));
   current_target.to_flash_erase (&current_target, address, length);
 }
 
 void
 target_flash_done (void)
 {
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_flash_done\n");
   current_target.to_flash_done (&current_target);
 }
 
@@ -2145,49 +2190,23 @@ target_detach (const char *args, int fro
   prepare_for_detach ();
 
   current_target.to_detach (&current_target, args, from_tty);
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_detach (%s, %d)\n",
-			args, from_tty);
 }
 
 void
-target_disconnect (char *args, int from_tty)
+target_disconnect (const char *args, int from_tty)
 {
   /* If we're in breakpoints-always-inserted mode or if breakpoints
      are global across processes, we have to remove them before
      disconnecting.  */
   remove_breakpoints ();
 
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_disconnect (%s, %d)\n",
-			args, from_tty);
   current_target.to_disconnect (&current_target, args, from_tty);
 }
 
 ptid_t
 target_wait (ptid_t ptid, struct target_waitstatus *status, int options)
 {
-  struct target_ops *t;
-  ptid_t retval = (current_target.to_wait) (&current_target, ptid,
-					    status, options);
-
-  if (targetdebug)
-    {
-      char *status_string;
-      char *options_string;
-
-      status_string = target_waitstatus_to_string (status);
-      options_string = target_options_to_string (options);
-      fprintf_unfiltered (gdb_stdlog,
-			  "target_wait (%d, status, options={%s})"
-			  " = %d,   %s\n",
-			  ptid_get_pid (ptid), options_string,
-			  ptid_get_pid (retval), status_string);
-      xfree (status_string);
-      xfree (options_string);
-    }
-
-  return retval;
+  return (current_target.to_wait) (&current_target, ptid, status, options);
 }
 
 char *
@@ -2210,11 +2229,6 @@ target_resume (ptid_t ptid, int step, en
   target_dcache_invalidate ();
 
   current_target.to_resume (&current_target, ptid, step, signal);
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_resume (%d, %s, %s)\n",
-			ptid_get_pid (ptid),
-			step ? "step" : "continue",
-			gdb_signal_to_name (signal));
 
   registers_changed_ptid (ptid);
   /* We only set the internal executing state here.  The user/frontend
@@ -2226,42 +2240,12 @@ target_resume (ptid_t ptid, int step, en
 void
 target_pass_signals (int numsigs, unsigned char *pass_signals)
 {
-  if (targetdebug)
-    {
-      int i;
-
-      fprintf_unfiltered (gdb_stdlog, "target_pass_signals (%d, {",
-			  numsigs);
-
-      for (i = 0; i < numsigs; i++)
-	if (pass_signals[i])
-	  fprintf_unfiltered (gdb_stdlog, " %s",
-			      gdb_signal_to_name (i));
-
-      fprintf_unfiltered (gdb_stdlog, " })\n");
-    }
-
   (*current_target.to_pass_signals) (&current_target, numsigs, pass_signals);
 }
 
 void
 target_program_signals (int numsigs, unsigned char *program_signals)
 {
-  if (targetdebug)
-    {
-      int i;
-
-      fprintf_unfiltered (gdb_stdlog, "target_program_signals (%d, {",
-			  numsigs);
-
-      for (i = 0; i < numsigs; i++)
-	if (program_signals[i])
-	  fprintf_unfiltered (gdb_stdlog, " %s",
-			      gdb_signal_to_name (i));
-
-      fprintf_unfiltered (gdb_stdlog, " })\n");
-    }
-
   (*current_target.to_program_signals) (&current_target,
 					numsigs, program_signals);
 }
@@ -2281,14 +2265,8 @@ default_follow_fork (struct target_ops *
 int
 target_follow_fork (int follow_child, int detach_fork)
 {
-  int retval = current_target.to_follow_fork (&current_target,
-					      follow_child, detach_fork);
-
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog,
-			"target_follow_fork (%d, %d) = %d\n",
-			follow_child, detach_fork, retval);
-  return retval;
+  return current_target.to_follow_fork (&current_target,
+					follow_child, detach_fork);
 }
 
 static void
@@ -2302,8 +2280,6 @@ void
 target_mourn_inferior (void)
 {
   current_target.to_mourn_inferior (&current_target);
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_mourn_inferior ()\n");
 
   /* We no longer need to keep handles on any of the object files.
      Make sure to release them to avoid unnecessarily locking any
@@ -2453,20 +2429,9 @@ target_search_memory (CORE_ADDR start_ad
 		      const gdb_byte *pattern, ULONGEST pattern_len,
 		      CORE_ADDR *found_addrp)
 {
-  int found;
-
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_search_memory (%s, ...)\n",
-			hex_string (start_addr));
-
-  found = current_target.to_search_memory (&current_target, start_addr,
-					   search_space_len,
-					   pattern, pattern_len, found_addrp);
-
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "  = %d\n", found);
-
-  return found;
+  return current_target.to_search_memory (&current_target, start_addr,
+					  search_space_len,
+					  pattern, pattern_len, found_addrp);
 }
 
 /* Look through the currently pushed targets.  If none of them will
@@ -2534,15 +2499,15 @@ find_default_run_target (char *do_mesg)
 
   if (auto_connect_native_target)
     {
-      struct target_ops **t;
+      struct target_ops *t;
       int count = 0;
+      int i;
 
-      for (t = target_structs; t < target_structs + target_struct_size;
-	   ++t)
+      for (i = 0; VEC_iterate (target_ops_p, target_structs, i, t); ++i)
 	{
-	  if ((*t)->to_can_run != delegate_can_run && target_can_run (*t))
+	  if (t->to_can_run != delegate_can_run && target_can_run (t))
 	    {
-	      runable = *t;
+	      runable = t;
 	      ++count;
 	    }
 	}
@@ -2607,7 +2572,7 @@ find_run_target (void)
 /* Implement the "info proc" command.  */
 
 int
-target_info_proc (char *args, enum info_proc_what what)
+target_info_proc (const char *args, enum info_proc_what what)
 {
   struct target_ops *t;
 
@@ -2684,7 +2649,7 @@ default_thread_address_space (struct tar
   struct inferior *inf;
 
   /* Fall-back to the "main" address space of the inferior.  */
-  inf = find_inferior_pid (ptid_get_pid (ptid));
+  inf = find_inferior_ptid (ptid);
 
   if (inf == NULL || inf->aspace == NULL)
     internal_error (__FILE__, __LINE__,
@@ -2705,12 +2670,6 @@ target_thread_address_space (ptid_t ptid
   aspace = current_target.to_thread_address_space (&current_target, ptid);
   gdb_assert (aspace != NULL);
 
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog,
-			"target_thread_address_space (%s) = %d\n",
-			target_pid_to_str (ptid),
-			address_space_num (aspace));
-
   return aspace;
 }
 
@@ -3165,13 +3124,6 @@ init_dummy_target (void)
   install_dummy_methods (&dummy_target);
 }
 
-static void
-debug_to_open (char *args, int from_tty)
-{
-  debug_target.to_open (args, from_tty);
-
-  fprintf_unfiltered (gdb_stdlog, "target_open (%s, %d)\n", args, from_tty);
-}
 
 void
 target_close (struct target_ops *targ)
@@ -3190,22 +3142,13 @@ target_close (struct target_ops *targ)
 int
 target_thread_alive (ptid_t ptid)
 {
-  int retval;
-
-  retval = current_target.to_thread_alive (&current_target, ptid);
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_thread_alive (%d) = %d\n",
-			ptid_get_pid (ptid), retval);
-
-  return retval;
+  return current_target.to_thread_alive (&current_target, ptid);
 }
 
 void
-target_find_new_threads (void)
+target_update_thread_list (void)
 {
-  current_target.to_find_new_threads (&current_target);
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "target_find_new_threads ()\n");
+  current_target.to_update_thread_list (&current_target);
 }
 
 void
@@ -3220,12 +3163,29 @@ target_stop (ptid_t ptid)
   (*current_target.to_stop) (&current_target, ptid);
 }
 
-static void
-debug_to_post_attach (struct target_ops *self, int pid)
+/* See target/target.h.  */
+
+void
+target_stop_and_wait (ptid_t ptid)
 {
-  debug_target.to_post_attach (&debug_target, pid);
+  struct target_waitstatus status;
+  int was_non_stop = non_stop;
 
-  fprintf_unfiltered (gdb_stdlog, "target_post_attach (%d)\n", pid);
+  non_stop = 1;
+  target_stop (ptid);
+
+  memset (&status, 0, sizeof (status));
+  target_wait (ptid, &status, 0);
+
+  non_stop = was_non_stop;
+}
+
+/* See target/target.h.  */
+
+void
+target_continue_no_signal (ptid_t ptid)
+{
+  target_resume (ptid, 0, GDB_SIGNAL_0);
 }
 
 /* Concatenate ELEM to LIST, a comma separate list, and return the
@@ -3339,13 +3299,7 @@ target_store_registers (struct regcache 
 int
 target_core_of_thread (ptid_t ptid)
 {
-  int retval = current_target.to_core_of_thread (&current_target, ptid);
-
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog,
-			"target_core_of_thread (%d) = %d\n",
-			ptid_get_pid (ptid), retval);
-  return retval;
+  return current_target.to_core_of_thread (&current_target, ptid);
 }
 
 int
@@ -3390,16 +3344,8 @@ default_verify_memory (struct target_ops
 int
 target_verify_memory (const gdb_byte *data, CORE_ADDR memaddr, ULONGEST size)
 {
-  int retval = current_target.to_verify_memory (&current_target,
-						data, memaddr, size);
-
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog,
-			"target_verify_memory (%s, %s) = %d\n",
-			paddress (target_gdbarch (), memaddr),
-			pulongest (size),
-			retval);
-  return retval;
+  return current_target.to_verify_memory (&current_target,
+					  data, memaddr, size);
 }
 
 /* The documentation for this function is in its prototype declaration in
@@ -3408,18 +3354,8 @@ target_verify_memory (const gdb_byte *da
 int
 target_insert_mask_watchpoint (CORE_ADDR addr, CORE_ADDR mask, int rw)
 {
-  int ret;
-
-  ret = current_target.to_insert_mask_watchpoint (&current_target,
-						  addr, mask, rw);
-
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "\
-target_insert_mask_watchpoint (%s, %s, %d) = %d\n",
-			core_addr_to_string (addr),
-			core_addr_to_string (mask), rw, ret);
-  
-  return ret;
+  return current_target.to_insert_mask_watchpoint (&current_target,
+						   addr, mask, rw);
 }
 
 /* The documentation for this function is in its prototype declaration in
@@ -3428,18 +3364,8 @@ target_insert_mask_watchpoint (%s, %s, %
 int
 target_remove_mask_watchpoint (CORE_ADDR addr, CORE_ADDR mask, int rw)
 {
-  int ret;
-
-  ret = current_target.to_remove_mask_watchpoint (&current_target,
-						  addr, mask, rw);
-
-  if (targetdebug)
-    fprintf_unfiltered (gdb_stdlog, "\
-target_remove_mask_watchpoint (%s, %s, %d) = %d\n",
-			core_addr_to_string (addr),
-			core_addr_to_string (mask), rw, ret);
-
-  return ret;
+  return current_target.to_remove_mask_watchpoint (&current_target,
+						   addr, mask, rw);
 }
 
 /* The documentation for this function is in its prototype declaration
@@ -3506,23 +3432,6 @@ target_stop_recording (void)
 /* See target.h.  */
 
 void
-target_info_record (void)
-{
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_info_record != NULL)
-      {
-	t->to_info_record (t);
-	return;
-      }
-
-  tcomplain ();
-}
-
-/* See target.h.  */
-
-void
 target_save_record (const char *filename)
 {
   current_target.to_save_record (&current_target, filename);
@@ -3536,7 +3445,8 @@ target_supports_delete_record (void)
   struct target_ops *t;
 
   for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_delete_record != NULL)
+    if (t->to_delete_record != delegate_delete_record
+	&& t->to_delete_record != tdefault_delete_record)
       return 1;
 
   return 0;
@@ -3630,14 +3540,6 @@ target_call_history_range (ULONGEST begi
   current_target.to_call_history_range (&current_target, begin, end, flags);
 }
 
-static void
-debug_to_prepare_to_store (struct target_ops *self, struct regcache *regcache)
-{
-  debug_target.to_prepare_to_store (&debug_target, regcache);
-
-  fprintf_unfiltered (gdb_stdlog, "target_prepare_to_store ()\n");
-}
-
 /* See target.h.  */
 
 const struct frame_unwind *
@@ -3671,424 +3573,20 @@ target_decr_pc_after_break (struct gdbar
   return current_target.to_decr_pc_after_break (&current_target, gdbarch);
 }
 
-static void
-debug_to_files_info (struct target_ops *target)
-{
-  debug_target.to_files_info (target);
-
-  fprintf_unfiltered (gdb_stdlog, "target_files_info (xxx)\n");
-}
-
-static int
-debug_to_insert_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch,
-			    struct bp_target_info *bp_tgt)
-{
-  int retval;
-
-  retval = debug_target.to_insert_breakpoint (&debug_target, gdbarch, bp_tgt);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_insert_breakpoint (%s, xxx) = %ld\n",
-		      core_addr_to_string (bp_tgt->placed_address),
-		      (unsigned long) retval);
-  return retval;
-}
-
-static int
-debug_to_remove_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch,
-			    struct bp_target_info *bp_tgt)
-{
-  int retval;
-
-  retval = debug_target.to_remove_breakpoint (&debug_target, gdbarch, bp_tgt);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_remove_breakpoint (%s, xxx) = %ld\n",
-		      core_addr_to_string (bp_tgt->placed_address),
-		      (unsigned long) retval);
-  return retval;
-}
-
-static int
-debug_to_can_use_hw_breakpoint (struct target_ops *self,
-				int type, int cnt, int from_tty)
-{
-  int retval;
-
-  retval = debug_target.to_can_use_hw_breakpoint (&debug_target,
-						  type, cnt, from_tty);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_can_use_hw_breakpoint (%ld, %ld, %ld) = %ld\n",
-		      (unsigned long) type,
-		      (unsigned long) cnt,
-		      (unsigned long) from_tty,
-		      (unsigned long) retval);
-  return retval;
-}
-
-static int
-debug_to_region_ok_for_hw_watchpoint (struct target_ops *self,
-				      CORE_ADDR addr, int len)
-{
-  CORE_ADDR retval;
-
-  retval = debug_target.to_region_ok_for_hw_watchpoint (&debug_target,
-							addr, len);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_region_ok_for_hw_watchpoint (%s, %ld) = %s\n",
-		      core_addr_to_string (addr), (unsigned long) len,
-		      core_addr_to_string (retval));
-  return retval;
-}
-
-static int
-debug_to_can_accel_watchpoint_condition (struct target_ops *self,
-					 CORE_ADDR addr, int len, int rw,
-					 struct expression *cond)
-{
-  int retval;
-
-  retval = debug_target.to_can_accel_watchpoint_condition (&debug_target,
-							   addr, len,
-							   rw, cond);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_can_accel_watchpoint_condition "
-		      "(%s, %d, %d, %s) = %ld\n",
-		      core_addr_to_string (addr), len, rw,
-		      host_address_to_string (cond), (unsigned long) retval);
-  return retval;
-}
-
-static int
-debug_to_stopped_by_watchpoint (struct target_ops *ops)
-{
-  int retval;
-
-  retval = debug_target.to_stopped_by_watchpoint (&debug_target);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_stopped_by_watchpoint () = %ld\n",
-		      (unsigned long) retval);
-  return retval;
-}
-
-static int
-debug_to_stopped_data_address (struct target_ops *target, CORE_ADDR *addr)
-{
-  int retval;
-
-  retval = debug_target.to_stopped_data_address (target, addr);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_stopped_data_address ([%s]) = %ld\n",
-		      core_addr_to_string (*addr),
-		      (unsigned long)retval);
-  return retval;
-}
-
-static int
-debug_to_watchpoint_addr_within_range (struct target_ops *target,
-				       CORE_ADDR addr,
-				       CORE_ADDR start, int length)
-{
-  int retval;
-
-  retval = debug_target.to_watchpoint_addr_within_range (target, addr,
-							 start, length);
-
-  fprintf_filtered (gdb_stdlog,
-		    "target_watchpoint_addr_within_range (%s, %s, %d) = %d\n",
-		    core_addr_to_string (addr), core_addr_to_string (start),
-		    length, retval);
-  return retval;
-}
-
-static int
-debug_to_insert_hw_breakpoint (struct target_ops *self,
-			       struct gdbarch *gdbarch,
-			       struct bp_target_info *bp_tgt)
-{
-  int retval;
-
-  retval = debug_target.to_insert_hw_breakpoint (&debug_target,
-						 gdbarch, bp_tgt);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_insert_hw_breakpoint (%s, xxx) = %ld\n",
-		      core_addr_to_string (bp_tgt->placed_address),
-		      (unsigned long) retval);
-  return retval;
-}
-
-static int
-debug_to_remove_hw_breakpoint (struct target_ops *self,
-			       struct gdbarch *gdbarch,
-			       struct bp_target_info *bp_tgt)
-{
-  int retval;
-
-  retval = debug_target.to_remove_hw_breakpoint (&debug_target,
-						 gdbarch, bp_tgt);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_remove_hw_breakpoint (%s, xxx) = %ld\n",
-		      core_addr_to_string (bp_tgt->placed_address),
-		      (unsigned long) retval);
-  return retval;
-}
-
-static int
-debug_to_insert_watchpoint (struct target_ops *self,
-			    CORE_ADDR addr, int len, int type,
-			    struct expression *cond)
-{
-  int retval;
-
-  retval = debug_target.to_insert_watchpoint (&debug_target,
-					      addr, len, type, cond);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_insert_watchpoint (%s, %d, %d, %s) = %ld\n",
-		      core_addr_to_string (addr), len, type,
-		      host_address_to_string (cond), (unsigned long) retval);
-  return retval;
-}
-
-static int
-debug_to_remove_watchpoint (struct target_ops *self,
-			    CORE_ADDR addr, int len, int type,
-			    struct expression *cond)
-{
-  int retval;
-
-  retval = debug_target.to_remove_watchpoint (&debug_target,
-					      addr, len, type, cond);
-
-  fprintf_unfiltered (gdb_stdlog,
-		      "target_remove_watchpoint (%s, %d, %d, %s) = %ld\n",
-		      core_addr_to_string (addr), len, type,
-		      host_address_to_string (cond), (unsigned long) retval);
-  return retval;
-}
-
-static void
-debug_to_terminal_init (struct target_ops *self)
-{
-  debug_target.to_terminal_init (&debug_target);
-
-  fprintf_unfiltered (gdb_stdlog, "target_terminal_init ()\n");
-}
-
-static void
-debug_to_terminal_inferior (struct target_ops *self)
-{
-  debug_target.to_terminal_inferior (&debug_target);
-
-  fprintf_unfiltered (gdb_stdlog, "target_terminal_inferior ()\n");
-}
-
-static void
-debug_to_terminal_ours_for_output (struct target_ops *self)
-{
-  debug_target.to_terminal_ours_for_output (&debug_target);
-
-  fprintf_unfiltered (gdb_stdlog, "target_terminal_ours_for_output ()\n");
-}
-
-static void
-debug_to_terminal_ours (struct target_ops *self)
-{
-  debug_target.to_terminal_ours (&debug_target);
-
-  fprintf_unfiltered (gdb_stdlog, "target_terminal_ours ()\n");
-}
-
-static void
-debug_to_terminal_save_ours (struct target_ops *self)
-{
-  debug_target.to_terminal_save_ours (&debug_target);
-
-  fprintf_unfiltered (gdb_stdlog, "target_terminal_save_ours ()\n");
-}
-
-static void
-debug_to_terminal_info (struct target_ops *self,
-			const char *arg, int from_tty)
-{
-  debug_target.to_terminal_info (&debug_target, arg, from_tty);
-
-  fprintf_unfiltered (gdb_stdlog, "target_terminal_info (%s, %d)\n", arg,
-		      from_tty);
-}
-
-static void
-debug_to_load (struct target_ops *self, char *args, int from_tty)
-{
-  debug_target.to_load (&debug_target, args, from_tty);
-
-  fprintf_unfiltered (gdb_stdlog, "target_load (%s, %d)\n", args, from_tty);
-}
-
-static void
-debug_to_post_startup_inferior (struct target_ops *self, ptid_t ptid)
-{
-  debug_target.to_post_startup_inferior (&debug_target, ptid);
-
-  fprintf_unfiltered (gdb_stdlog, "target_post_startup_inferior (%d)\n",
-		      ptid_get_pid (ptid));
-}
-
-static int
-debug_to_insert_fork_catchpoint (struct target_ops *self, int pid)
-{
-  int retval;
-
-  retval = debug_target.to_insert_fork_catchpoint (&debug_target, pid);
-
-  fprintf_unfiltered (gdb_stdlog, "target_insert_fork_catchpoint (%d) = %d\n",
-		      pid, retval);
-
-  return retval;
-}
-
-static int
-debug_to_remove_fork_catchpoint (struct target_ops *self, int pid)
-{
-  int retval;
-
-  retval = debug_target.to_remove_fork_catchpoint (&debug_target, pid);
-
-  fprintf_unfiltered (gdb_stdlog, "target_remove_fork_catchpoint (%d) = %d\n",
-		      pid, retval);
-
-  return retval;
-}
-
-static int
-debug_to_insert_vfork_catchpoint (struct target_ops *self, int pid)
-{
-  int retval;
-
-  retval = debug_target.to_insert_vfork_catchpoint (&debug_target, pid);
-
-  fprintf_unfiltered (gdb_stdlog, "target_insert_vfork_catchpoint (%d) = %d\n",
-		      pid, retval);
-
-  return retval;
-}
-
-static int
-debug_to_remove_vfork_catchpoint (struct target_ops *self, int pid)
-{
-  int retval;
-
-  retval = debug_target.to_remove_vfork_catchpoint (&debug_target, pid);
-
-  fprintf_unfiltered (gdb_stdlog, "target_remove_vfork_catchpoint (%d) = %d\n",
-		      pid, retval);
-
-  return retval;
-}
-
-static int
-debug_to_insert_exec_catchpoint (struct target_ops *self, int pid)
-{
-  int retval;
-
-  retval = debug_target.to_insert_exec_catchpoint (&debug_target, pid);
-
-  fprintf_unfiltered (gdb_stdlog, "target_insert_exec_catchpoint (%d) = %d\n",
-		      pid, retval);
-
-  return retval;
-}
-
-static int
-debug_to_remove_exec_catchpoint (struct target_ops *self, int pid)
-{
-  int retval;
-
-  retval = debug_target.to_remove_exec_catchpoint (&debug_target, pid);
-
-  fprintf_unfiltered (gdb_stdlog, "target_remove_exec_catchpoint (%d) = %d\n",
-		      pid, retval);
-
-  return retval;
-}
-
-static int
-debug_to_has_exited (struct target_ops *self,
-		     int pid, int wait_status, int *exit_status)
-{
-  int has_exited;
-
-  has_exited = debug_target.to_has_exited (&debug_target,
-					   pid, wait_status, exit_status);
-
-  fprintf_unfiltered (gdb_stdlog, "target_has_exited (%d, %d, %d) = %d\n",
-		      pid, wait_status, *exit_status, has_exited);
-
-  return has_exited;
-}
-
-static int
-debug_to_can_run (struct target_ops *self)
-{
-  int retval;
-
-  retval = debug_target.to_can_run (&debug_target);
-
-  fprintf_unfiltered (gdb_stdlog, "target_can_run () = %d\n", retval);
-
-  return retval;
-}
-
-static struct gdbarch *
-debug_to_thread_architecture (struct target_ops *ops, ptid_t ptid)
-{
-  struct gdbarch *retval;
-
-  retval = debug_target.to_thread_architecture (ops, ptid);
-
-  fprintf_unfiltered (gdb_stdlog, 
-		      "target_thread_architecture (%s) = %s [%s]\n",
-		      target_pid_to_str (ptid),
-		      host_address_to_string (retval),
-		      gdbarch_bfd_arch_info (retval)->printable_name);
-  return retval;
-}
+/* See target.h.  */
 
-static void
-debug_to_stop (struct target_ops *self, ptid_t ptid)
+void
+target_prepare_to_generate_core (void)
 {
-  debug_target.to_stop (&debug_target, ptid);
-
-  fprintf_unfiltered (gdb_stdlog, "target_stop (%s)\n",
-		      target_pid_to_str (ptid));
+  current_target.to_prepare_to_generate_core (&current_target);
 }
 
-static void
-debug_to_rcmd (struct target_ops *self, char *command,
-	       struct ui_file *outbuf)
-{
-  debug_target.to_rcmd (&debug_target, command, outbuf);
-  fprintf_unfiltered (gdb_stdlog, "target_rcmd (%s, ...)\n", command);
-}
+/* See target.h.  */
 
-static char *
-debug_to_pid_to_exec_file (struct target_ops *self, int pid)
+void
+target_done_generating_core (void)
 {
-  char *exec_file;
-
-  exec_file = debug_target.to_pid_to_exec_file (&debug_target, pid);
-
-  fprintf_unfiltered (gdb_stdlog, "target_pid_to_exec_file (%d) = %s\n",
-		      pid, exec_file);
-
-  return exec_file;
+  current_target.to_done_generating_core (&current_target);
 }
 
 static void
@@ -4096,46 +3594,7 @@ setup_target_debug (void)
 {
   memcpy (&debug_target, &current_target, sizeof debug_target);
 
-  current_target.to_open = debug_to_open;
-  current_target.to_post_attach = debug_to_post_attach;
-  current_target.to_prepare_to_store = debug_to_prepare_to_store;
-  current_target.to_files_info = debug_to_files_info;
-  current_target.to_insert_breakpoint = debug_to_insert_breakpoint;
-  current_target.to_remove_breakpoint = debug_to_remove_breakpoint;
-  current_target.to_can_use_hw_breakpoint = debug_to_can_use_hw_breakpoint;
-  current_target.to_insert_hw_breakpoint = debug_to_insert_hw_breakpoint;
-  current_target.to_remove_hw_breakpoint = debug_to_remove_hw_breakpoint;
-  current_target.to_insert_watchpoint = debug_to_insert_watchpoint;
-  current_target.to_remove_watchpoint = debug_to_remove_watchpoint;
-  current_target.to_stopped_by_watchpoint = debug_to_stopped_by_watchpoint;
-  current_target.to_stopped_data_address = debug_to_stopped_data_address;
-  current_target.to_watchpoint_addr_within_range
-    = debug_to_watchpoint_addr_within_range;
-  current_target.to_region_ok_for_hw_watchpoint
-    = debug_to_region_ok_for_hw_watchpoint;
-  current_target.to_can_accel_watchpoint_condition
-    = debug_to_can_accel_watchpoint_condition;
-  current_target.to_terminal_init = debug_to_terminal_init;
-  current_target.to_terminal_inferior = debug_to_terminal_inferior;
-  current_target.to_terminal_ours_for_output
-    = debug_to_terminal_ours_for_output;
-  current_target.to_terminal_ours = debug_to_terminal_ours;
-  current_target.to_terminal_save_ours = debug_to_terminal_save_ours;
-  current_target.to_terminal_info = debug_to_terminal_info;
-  current_target.to_load = debug_to_load;
-  current_target.to_post_startup_inferior = debug_to_post_startup_inferior;
-  current_target.to_insert_fork_catchpoint = debug_to_insert_fork_catchpoint;
-  current_target.to_remove_fork_catchpoint = debug_to_remove_fork_catchpoint;
-  current_target.to_insert_vfork_catchpoint = debug_to_insert_vfork_catchpoint;
-  current_target.to_remove_vfork_catchpoint = debug_to_remove_vfork_catchpoint;
-  current_target.to_insert_exec_catchpoint = debug_to_insert_exec_catchpoint;
-  current_target.to_remove_exec_catchpoint = debug_to_remove_exec_catchpoint;
-  current_target.to_has_exited = debug_to_has_exited;
-  current_target.to_can_run = debug_to_can_run;
-  current_target.to_stop = debug_to_stop;
-  current_target.to_rcmd = debug_to_rcmd;
-  current_target.to_pid_to_exec_file = debug_to_pid_to_exec_file;
-  current_target.to_thread_architecture = debug_to_thread_architecture;
+  init_debug_target (&current_target);
 }
 
 
@@ -4145,7 +3604,8 @@ stack of targets currently in use (inclu
 core-file, and process, if any), as well as the symbol file name.";
 
 static void
-default_rcmd (struct target_ops *self, char *command, struct ui_file *output)
+default_rcmd (struct target_ops *self, const char *command,
+	      struct ui_file *output)
 {
   error (_("\"monitor\" command not supported by this target."));
 }
@@ -4272,9 +3732,8 @@ initialize_targets (void)
 Set target debugging."), _("\
 Show target debugging."), _("\
 When non-zero, target debugging is enabled.  Higher numbers are more\n\
-verbose.  Changes do not take effect until the next \"run\" or \"target\"\n\
-command."),
-			     NULL,
+verbose."),
+			     set_targetdebug,
 			     show_targetdebug,
 			     &setdebuglist, &showdebuglist);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-dcache.c ./gdb/target-dcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-dcache.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/target-dcache.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-dcache.h ./gdb/target-dcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-dcache.h	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/target-dcache.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-debug.h ./gdb/target-debug.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-debug.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/target-debug.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,188 @@
+/* GDB target debugging macros
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef TARGET_DEBUG_H
+#define TARGET_DEBUG_H
+
+/* Printers for the debug target.  Each prints an object of a given
+   type to a string that needn't be freed.  Most printers are macros,
+   for brevity, but a few are static functions where more complicated
+   behavior is needed.
+
+   References to these printers are automatically generated by
+   make-target-delegates.  See the generated file target-delegates.c.
+
+   In a couple cases, a special printing function is defined and then
+   used via the TARGET_DEBUG_PRINTER macro.  See target.h.
+
+   A few methods still have some explicit targetdebug code in
+   target.c.  In most cases this is because target delegation hasn't
+   been done for the method; but individual cases vary.  For instance,
+   target_store_registers does some special register printing that is
+   more simply done there, and target_xfer_partial additionally
+   bypasses the debug target.  */
+
+
+/* Helper macro.  */
+
+#define target_debug_do_print(E)			\
+  fputs_unfiltered ((E), gdb_stdlog);
+
+#define target_debug_print_struct_target_ops_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_enum_target_object(X)	\
+  target_debug_do_print (plongest (X))
+#define target_debug_print_CORE_ADDR(X)		\
+  target_debug_do_print (core_addr_to_string (X))
+#define target_debug_print_const_char_p(X)	\
+  target_debug_do_print (((X) ? (X) : "(null)"))
+#define target_debug_print_char_p(X)		\
+  target_debug_do_print (((X) ? (X) : "(null)"))
+#define target_debug_print_int(X)		\
+  target_debug_do_print (plongest (X))
+#define target_debug_print_long(X)		\
+  target_debug_do_print (plongest (X))
+#define target_debug_print_enum_target_xfer_status(X)	\
+  target_debug_do_print (plongest (X))
+#define target_debug_print_enum_exec_direction_kind(X)	\
+  target_debug_do_print (plongest (X))
+#define target_debug_print_enum_trace_find_type(X)	\
+  target_debug_do_print (plongest (X))
+#define target_debug_print_enum_btrace_read_type(X)	\
+  target_debug_do_print (plongest (X))
+#define target_debug_print_enum_btrace_error(X) \
+  target_debug_do_print (plongest (X))
+#define target_debug_print_ptid_t(X)		\
+  target_debug_do_print (plongest (ptid_get_pid (X)))
+#define target_debug_print_struct_gdbarch_p(X)	\
+  target_debug_do_print (gdbarch_bfd_arch_info (X)->printable_name)
+#define target_debug_print_const_gdb_byte_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_gdb_byte_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_gdb_byte_pp(X)	\
+  target_debug_do_print (host_address_to_string (*(X)))
+#define target_debug_print_enum_gdb_signal(X)	\
+  target_debug_do_print (gdb_signal_to_name (X))
+#define target_debug_print_ULONGEST(X)		\
+  target_debug_do_print (hex_string (X))
+#define target_debug_print_ULONGEST_p(X)	\
+  target_debug_do_print (hex_string (*(X)))
+#define target_debug_print_LONGEST(X)		\
+  target_debug_do_print (phex (X, 0))
+#define target_debug_print_LONGEST_p(X)		\
+  target_debug_do_print (phex (*(X), 0))
+#define target_debug_print_struct_address_space_p(X)	\
+  target_debug_do_print (plongest (address_space_num (X)))
+#define target_debug_print_struct_bp_target_info_p(X)	\
+  target_debug_do_print (core_addr_to_string ((X)->placed_address))
+#define target_debug_print_struct_expression_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_CORE_ADDR_p(X)	\
+  target_debug_do_print (core_addr_to_string (*(X)))
+#define target_debug_print_int_p(X)		\
+  target_debug_do_print (plongest (*(X)))
+#define target_debug_print_struct_regcache_p(X) \
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_thread_info_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_ui_file_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_target_section_table_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_async_callback_ftype_p(X) \
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_void_p(X) \
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_find_memory_region_ftype(X) \
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_bfd_p(X) \
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_VEC_mem_region_s__p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_VEC_static_tracepoint_marker_p__p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_const_struct_target_desc_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_bp_location_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_trace_state_variable_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_trace_status_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_breakpoint_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_uploaded_tp_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_uploaded_tp_pp(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_uploaded_tsv_pp(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_static_tracepoint_marker_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_traceframe_info_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_struct_btrace_target_info_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_VEC__btrace_block_s__pp(X)	\
+  target_debug_do_print (host_address_to_string (X))
+#define target_debug_print_const_struct_frame_unwind_p(X)	\
+  target_debug_do_print (host_address_to_string (X))
+
+static void
+target_debug_print_struct_target_waitstatus_p (struct target_waitstatus *status)
+{
+  char *str = target_waitstatus_to_string (status);
+
+  fputs_unfiltered (str, gdb_stdlog);
+  xfree (str);
+}
+
+
+
+/* Macros or functions that are used via TARGET_DEBUG_PRINTER.  */
+
+#define target_debug_print_step(X) \
+  target_debug_do_print ((X) ? "step" : "continue")
+
+static void
+target_debug_print_options (int options)
+{
+  char *str = target_options_to_string (options);
+
+  fputs_unfiltered (str, gdb_stdlog);
+  xfree (str);
+}
+
+static void
+target_debug_print_signals (unsigned char *sigs)
+{
+  fputs_unfiltered ("{", gdb_stdlog);
+  if (sigs != NULL)
+    {
+      int i;
+
+      for (i = 0; i < GDB_SIGNAL_LAST; i++)
+	if (sigs[i])
+	  fprintf_unfiltered (gdb_stdlog, " %s", gdb_signal_to_name (i));
+    }
+  fputs_unfiltered (" }", gdb_stdlog);
+}
+
+#endif /* TARGET_DEBUG_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-delegates.c ./gdb/target-delegates.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-delegates.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/target-delegates.c	2015-01-20 02:05:39.000000000 +0000
@@ -16,6 +16,18 @@ tdefault_post_attach (struct target_ops 
 }
 
 static void
+debug_post_attach (struct target_ops *self, int arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_post_attach (...)\n", debug_target.to_shortname);
+  debug_target.to_post_attach (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_post_attach (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_detach (struct target_ops *self, const char *arg1, int arg2)
 {
   self = self->beneath;
@@ -28,19 +40,47 @@ tdefault_detach (struct target_ops *self
 }
 
 static void
-delegate_disconnect (struct target_ops *self, char *arg1, int arg2)
+debug_detach (struct target_ops *self, const char *arg1, int arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_detach (...)\n", debug_target.to_shortname);
+  debug_target.to_detach (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_detach (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
+delegate_disconnect (struct target_ops *self, const char *arg1, int arg2)
 {
   self = self->beneath;
   self->to_disconnect (self, arg1, arg2);
 }
 
 static void
-tdefault_disconnect (struct target_ops *self, char *arg1, int arg2)
+tdefault_disconnect (struct target_ops *self, const char *arg1, int arg2)
 {
   tcomplain ();
 }
 
 static void
+debug_disconnect (struct target_ops *self, const char *arg1, int arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_disconnect (...)\n", debug_target.to_shortname);
+  debug_target.to_disconnect (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_disconnect (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
 {
   self = self->beneath;
@@ -53,6 +93,22 @@ tdefault_resume (struct target_ops *self
   noprocess ();
 }
 
+static void
+debug_resume (struct target_ops *self, ptid_t arg1, int arg2, enum gdb_signal arg3)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_resume (...)\n", debug_target.to_shortname);
+  debug_target.to_resume (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_resume (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_step (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_enum_gdb_signal (arg3);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static ptid_t
 delegate_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
 {
@@ -66,6 +122,26 @@ tdefault_wait (struct target_ops *self, 
   noprocess ();
 }
 
+static ptid_t
+debug_wait (struct target_ops *self, ptid_t arg1, struct target_waitstatus *arg2, int arg3)
+{
+  ptid_t result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_wait (...)\n", debug_target.to_shortname);
+  result = debug_target.to_wait (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_wait (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_target_waitstatus_p (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_options (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_ptid_t (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
 {
@@ -79,6 +155,20 @@ tdefault_fetch_registers (struct target_
 }
 
 static void
+debug_fetch_registers (struct target_ops *self, struct regcache *arg1, int arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_fetch_registers (...)\n", debug_target.to_shortname);
+  debug_target.to_fetch_registers (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_fetch_registers (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_regcache_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
 {
   self = self->beneath;
@@ -92,6 +182,20 @@ tdefault_store_registers (struct target_
 }
 
 static void
+debug_store_registers (struct target_ops *self, struct regcache *arg1, int arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_store_registers (...)\n", debug_target.to_shortname);
+  debug_target.to_store_registers (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_store_registers (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_regcache_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_prepare_to_store (struct target_ops *self, struct regcache *arg1)
 {
   self = self->beneath;
@@ -105,6 +209,18 @@ tdefault_prepare_to_store (struct target
 }
 
 static void
+debug_prepare_to_store (struct target_ops *self, struct regcache *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_prepare_to_store (...)\n", debug_target.to_shortname);
+  debug_target.to_prepare_to_store (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_prepare_to_store (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_regcache_p (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_files_info (struct target_ops *self)
 {
   self = self->beneath;
@@ -116,6 +232,16 @@ tdefault_files_info (struct target_ops *
 {
 }
 
+static void
+debug_files_info (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_files_info (...)\n", debug_target.to_shortname);
+  debug_target.to_files_info (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_files_info (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
 {
@@ -124,6 +250,24 @@ delegate_insert_breakpoint (struct targe
 }
 
 static int
+debug_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_breakpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_insert_breakpoint (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_breakpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_gdbarch_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_bp_target_info_p (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
 {
   self = self->beneath;
@@ -131,6 +275,24 @@ delegate_remove_breakpoint (struct targe
 }
 
 static int
+debug_remove_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_breakpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_remove_breakpoint (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_breakpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_gdbarch_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_bp_target_info_p (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
 {
   self = self->beneath;
@@ -144,6 +306,26 @@ tdefault_can_use_hw_breakpoint (struct t
 }
 
 static int
+debug_can_use_hw_breakpoint (struct target_ops *self, int arg1, int arg2, int arg3)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_use_hw_breakpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_can_use_hw_breakpoint (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_use_hw_breakpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_ranged_break_num_registers (struct target_ops *self)
 {
   self = self->beneath;
@@ -157,6 +339,20 @@ tdefault_ranged_break_num_registers (str
 }
 
 static int
+debug_ranged_break_num_registers (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_ranged_break_num_registers (...)\n", debug_target.to_shortname);
+  result = debug_target.to_ranged_break_num_registers (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_ranged_break_num_registers (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
 {
   self = self->beneath;
@@ -170,6 +366,24 @@ tdefault_insert_hw_breakpoint (struct ta
 }
 
 static int
+debug_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_hw_breakpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_insert_hw_breakpoint (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_hw_breakpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_gdbarch_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_bp_target_info_p (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
 {
   self = self->beneath;
@@ -183,6 +397,24 @@ tdefault_remove_hw_breakpoint (struct ta
 }
 
 static int
+debug_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_hw_breakpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_remove_hw_breakpoint (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_hw_breakpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_gdbarch_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_bp_target_info_p (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
 {
   self = self->beneath;
@@ -196,6 +428,28 @@ tdefault_remove_watchpoint (struct targe
 }
 
 static int
+debug_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_watchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_remove_watchpoint (&debug_target, arg1, arg2, arg3, arg4);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_watchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_expression_p (arg4);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
 {
   self = self->beneath;
@@ -209,6 +463,28 @@ tdefault_insert_watchpoint (struct targe
 }
 
 static int
+debug_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_watchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_insert_watchpoint (&debug_target, arg1, arg2, arg3, arg4);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_watchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_expression_p (arg4);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
 {
   self = self->beneath;
@@ -222,6 +498,26 @@ tdefault_insert_mask_watchpoint (struct 
 }
 
 static int
+debug_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_mask_watchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_insert_mask_watchpoint (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_mask_watchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
 {
   self = self->beneath;
@@ -235,6 +531,26 @@ tdefault_remove_mask_watchpoint (struct 
 }
 
 static int
+debug_remove_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_mask_watchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_remove_mask_watchpoint (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_mask_watchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_stopped_by_watchpoint (struct target_ops *self)
 {
   self = self->beneath;
@@ -248,6 +564,20 @@ tdefault_stopped_by_watchpoint (struct t
 }
 
 static int
+debug_stopped_by_watchpoint (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_by_watchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_stopped_by_watchpoint (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_by_watchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
 {
   self = self->beneath;
@@ -261,6 +591,22 @@ tdefault_stopped_data_address (struct ta
 }
 
 static int
+debug_stopped_data_address (struct target_ops *self, CORE_ADDR *arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stopped_data_address (...)\n", debug_target.to_shortname);
+  result = debug_target.to_stopped_data_address (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stopped_data_address (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR_p (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
 {
   self = self->beneath;
@@ -268,6 +614,26 @@ delegate_watchpoint_addr_within_range (s
 }
 
 static int
+debug_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_watchpoint_addr_within_range (...)\n", debug_target.to_shortname);
+  result = debug_target.to_watchpoint_addr_within_range (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_watchpoint_addr_within_range (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
 {
   self = self->beneath;
@@ -275,6 +641,24 @@ delegate_region_ok_for_hw_watchpoint (st
 }
 
 static int
+debug_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_region_ok_for_hw_watchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_region_ok_for_hw_watchpoint (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_region_ok_for_hw_watchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
 {
   self = self->beneath;
@@ -288,6 +672,28 @@ tdefault_can_accel_watchpoint_condition 
 }
 
 static int
+debug_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_accel_watchpoint_condition (...)\n", debug_target.to_shortname);
+  result = debug_target.to_can_accel_watchpoint_condition (&debug_target, arg1, arg2, arg3, arg4);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_accel_watchpoint_condition (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_expression_p (arg4);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
 {
   self = self->beneath;
@@ -300,6 +706,24 @@ tdefault_masked_watch_num_registers (str
   return -1;
 }
 
+static int
+debug_masked_watch_num_registers (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_masked_watch_num_registers (...)\n", debug_target.to_shortname);
+  result = debug_target.to_masked_watch_num_registers (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_masked_watch_num_registers (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_terminal_init (struct target_ops *self)
 {
@@ -313,6 +737,16 @@ tdefault_terminal_init (struct target_op
 }
 
 static void
+debug_terminal_init (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_init (...)\n", debug_target.to_shortname);
+  debug_target.to_terminal_init (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_init (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_terminal_inferior (struct target_ops *self)
 {
   self = self->beneath;
@@ -325,6 +759,16 @@ tdefault_terminal_inferior (struct targe
 }
 
 static void
+debug_terminal_inferior (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_inferior (...)\n", debug_target.to_shortname);
+  debug_target.to_terminal_inferior (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_inferior (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_terminal_ours_for_output (struct target_ops *self)
 {
   self = self->beneath;
@@ -337,6 +781,16 @@ tdefault_terminal_ours_for_output (struc
 }
 
 static void
+debug_terminal_ours_for_output (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_ours_for_output (...)\n", debug_target.to_shortname);
+  debug_target.to_terminal_ours_for_output (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_ours_for_output (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_terminal_ours (struct target_ops *self)
 {
   self = self->beneath;
@@ -349,22 +803,34 @@ tdefault_terminal_ours (struct target_op
 }
 
 static void
-delegate_terminal_save_ours (struct target_ops *self)
+debug_terminal_ours (struct target_ops *self)
 {
-  self = self->beneath;
-  self->to_terminal_save_ours (self);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_ours (...)\n", debug_target.to_shortname);
+  debug_target.to_terminal_ours (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_ours (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
 }
 
 static void
-tdefault_terminal_save_ours (struct target_ops *self)
+delegate_terminal_info (struct target_ops *self, const char *arg1, int arg2)
 {
+  self = self->beneath;
+  self->to_terminal_info (self, arg1, arg2);
 }
 
 static void
-delegate_terminal_info (struct target_ops *self, const char *arg1, int arg2)
+debug_terminal_info (struct target_ops *self, const char *arg1, int arg2)
 {
-  self = self->beneath;
-  self->to_terminal_info (self, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_terminal_info (...)\n", debug_target.to_shortname);
+  debug_target.to_terminal_info (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_terminal_info (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
 }
 
 static void
@@ -381,19 +847,43 @@ tdefault_kill (struct target_ops *self)
 }
 
 static void
-delegate_load (struct target_ops *self, char *arg1, int arg2)
+debug_kill (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_kill (...)\n", debug_target.to_shortname);
+  debug_target.to_kill (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_kill (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
+delegate_load (struct target_ops *self, const char *arg1, int arg2)
 {
   self = self->beneath;
   self->to_load (self, arg1, arg2);
 }
 
 static void
-tdefault_load (struct target_ops *self, char *arg1, int arg2)
+tdefault_load (struct target_ops *self, const char *arg1, int arg2)
 {
   tcomplain ();
 }
 
 static void
+debug_load (struct target_ops *self, const char *arg1, int arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_load (...)\n", debug_target.to_shortname);
+  debug_target.to_load (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_load (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_post_startup_inferior (struct target_ops *self, ptid_t arg1)
 {
   self = self->beneath;
@@ -405,6 +895,18 @@ tdefault_post_startup_inferior (struct t
 {
 }
 
+static void
+debug_post_startup_inferior (struct target_ops *self, ptid_t arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_post_startup_inferior (...)\n", debug_target.to_shortname);
+  debug_target.to_post_startup_inferior (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_post_startup_inferior (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_insert_fork_catchpoint (struct target_ops *self, int arg1)
 {
@@ -419,6 +921,22 @@ tdefault_insert_fork_catchpoint (struct 
 }
 
 static int
+debug_insert_fork_catchpoint (struct target_ops *self, int arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_fork_catchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_insert_fork_catchpoint (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_fork_catchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_remove_fork_catchpoint (struct target_ops *self, int arg1)
 {
   self = self->beneath;
@@ -432,6 +950,22 @@ tdefault_remove_fork_catchpoint (struct 
 }
 
 static int
+debug_remove_fork_catchpoint (struct target_ops *self, int arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_fork_catchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_remove_fork_catchpoint (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_fork_catchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_insert_vfork_catchpoint (struct target_ops *self, int arg1)
 {
   self = self->beneath;
@@ -445,6 +979,22 @@ tdefault_insert_vfork_catchpoint (struct
 }
 
 static int
+debug_insert_vfork_catchpoint (struct target_ops *self, int arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_vfork_catchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_insert_vfork_catchpoint (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_vfork_catchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_remove_vfork_catchpoint (struct target_ops *self, int arg1)
 {
   self = self->beneath;
@@ -458,6 +1008,22 @@ tdefault_remove_vfork_catchpoint (struct
 }
 
 static int
+debug_remove_vfork_catchpoint (struct target_ops *self, int arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_vfork_catchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_remove_vfork_catchpoint (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_vfork_catchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_follow_fork (struct target_ops *self, int arg1, int arg2)
 {
   self = self->beneath;
@@ -465,6 +1031,24 @@ delegate_follow_fork (struct target_ops 
 }
 
 static int
+debug_follow_fork (struct target_ops *self, int arg1, int arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_follow_fork (...)\n", debug_target.to_shortname);
+  result = debug_target.to_follow_fork (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_follow_fork (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_insert_exec_catchpoint (struct target_ops *self, int arg1)
 {
   self = self->beneath;
@@ -478,6 +1062,22 @@ tdefault_insert_exec_catchpoint (struct 
 }
 
 static int
+debug_insert_exec_catchpoint (struct target_ops *self, int arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insert_exec_catchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_insert_exec_catchpoint (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insert_exec_catchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_remove_exec_catchpoint (struct target_ops *self, int arg1)
 {
   self = self->beneath;
@@ -491,6 +1091,22 @@ tdefault_remove_exec_catchpoint (struct 
 }
 
 static int
+debug_remove_exec_catchpoint (struct target_ops *self, int arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_remove_exec_catchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_remove_exec_catchpoint (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_remove_exec_catchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
 {
   self = self->beneath;
@@ -504,6 +1120,30 @@ tdefault_set_syscall_catchpoint (struct 
 }
 
 static int
+debug_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_syscall_catchpoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_set_syscall_catchpoint (&debug_target, arg1, arg2, arg3, arg4, arg5);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_syscall_catchpoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg4);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int_p (arg5);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
 {
   self = self->beneath;
@@ -516,6 +1156,26 @@ tdefault_has_exited (struct target_ops *
   return 0;
 }
 
+static int
+debug_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_has_exited (...)\n", debug_target.to_shortname);
+  result = debug_target.to_has_exited (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_has_exited (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int_p (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_mourn_inferior (struct target_ops *self)
 {
@@ -523,6 +1183,16 @@ delegate_mourn_inferior (struct target_o
   self->to_mourn_inferior (self);
 }
 
+static void
+debug_mourn_inferior (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_mourn_inferior (...)\n", debug_target.to_shortname);
+  debug_target.to_mourn_inferior (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_mourn_inferior (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_can_run (struct target_ops *self)
 {
@@ -536,30 +1206,72 @@ tdefault_can_run (struct target_ops *sel
   return 0;
 }
 
+static int
+debug_can_run (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_run (...)\n", debug_target.to_shortname);
+  result = debug_target.to_can_run (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_run (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
-delegate_pass_signals (struct target_ops *self, int arg1, unsigned char *arg2)
+delegate_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
 {
   self = self->beneath;
   self->to_pass_signals (self, arg1, arg2);
 }
 
 static void
-tdefault_pass_signals (struct target_ops *self, int arg1, unsigned char *arg2)
+tdefault_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
+{
+}
+
+static void
+debug_pass_signals (struct target_ops *self, int arg1, unsigned char * arg2)
 {
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_pass_signals (...)\n", debug_target.to_shortname);
+  debug_target.to_pass_signals (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_pass_signals (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_signals (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
 }
 
 static void
-delegate_program_signals (struct target_ops *self, int arg1, unsigned char *arg2)
+delegate_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
 {
   self = self->beneath;
   self->to_program_signals (self, arg1, arg2);
 }
 
 static void
-tdefault_program_signals (struct target_ops *self, int arg1, unsigned char *arg2)
+tdefault_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
 {
 }
 
+static void
+debug_program_signals (struct target_ops *self, int arg1, unsigned char * arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_program_signals (...)\n", debug_target.to_shortname);
+  debug_target.to_program_signals (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_program_signals (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_signals (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_thread_alive (struct target_ops *self, ptid_t arg1)
 {
@@ -573,16 +1285,42 @@ tdefault_thread_alive (struct target_ops
   return 0;
 }
 
+static int
+debug_thread_alive (struct target_ops *self, ptid_t arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_alive (...)\n", debug_target.to_shortname);
+  result = debug_target.to_thread_alive (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_alive (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
-delegate_find_new_threads (struct target_ops *self)
+delegate_update_thread_list (struct target_ops *self)
 {
   self = self->beneath;
-  self->to_find_new_threads (self);
+  self->to_update_thread_list (self);
+}
+
+static void
+tdefault_update_thread_list (struct target_ops *self)
+{
 }
 
 static void
-tdefault_find_new_threads (struct target_ops *self)
+debug_update_thread_list (struct target_ops *self)
 {
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_update_thread_list (...)\n", debug_target.to_shortname);
+  debug_target.to_update_thread_list (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_update_thread_list (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
 }
 
 static char *
@@ -593,6 +1331,22 @@ delegate_pid_to_str (struct target_ops *
 }
 
 static char *
+debug_pid_to_str (struct target_ops *self, ptid_t arg1)
+{
+  char * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_pid_to_str (...)\n", debug_target.to_shortname);
+  result = debug_target.to_pid_to_str (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_pid_to_str (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_char_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static char *
 delegate_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
 {
   self = self->beneath;
@@ -606,6 +1360,22 @@ tdefault_extra_thread_info (struct targe
 }
 
 static char *
+debug_extra_thread_info (struct target_ops *self, struct thread_info *arg1)
+{
+  char * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_extra_thread_info (...)\n", debug_target.to_shortname);
+  result = debug_target.to_extra_thread_info (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_extra_thread_info (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_thread_info_p (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_char_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static char *
 delegate_thread_name (struct target_ops *self, struct thread_info *arg1)
 {
   self = self->beneath;
@@ -618,6 +1388,22 @@ tdefault_thread_name (struct target_ops 
   return NULL;
 }
 
+static char *
+debug_thread_name (struct target_ops *self, struct thread_info *arg1)
+{
+  char * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_name (...)\n", debug_target.to_shortname);
+  result = debug_target.to_thread_name (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_name (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_thread_info_p (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_char_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_stop (struct target_ops *self, ptid_t arg1)
 {
@@ -631,12 +1417,38 @@ tdefault_stop (struct target_ops *self, 
 }
 
 static void
-delegate_rcmd (struct target_ops *self, char *arg1, struct ui_file *arg2)
+debug_stop (struct target_ops *self, ptid_t arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stop (...)\n", debug_target.to_shortname);
+  debug_target.to_stop (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stop (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
+delegate_rcmd (struct target_ops *self, const char *arg1, struct ui_file *arg2)
 {
   self = self->beneath;
   self->to_rcmd (self, arg1, arg2);
 }
 
+static void
+debug_rcmd (struct target_ops *self, const char *arg1, struct ui_file *arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_rcmd (...)\n", debug_target.to_shortname);
+  debug_target.to_rcmd (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_rcmd (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_ui_file_p (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static char *
 delegate_pid_to_exec_file (struct target_ops *self, int arg1)
 {
@@ -650,6 +1462,22 @@ tdefault_pid_to_exec_file (struct target
   return NULL;
 }
 
+static char *
+debug_pid_to_exec_file (struct target_ops *self, int arg1)
+{
+  char * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_pid_to_exec_file (...)\n", debug_target.to_shortname);
+  result = debug_target.to_pid_to_exec_file (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_pid_to_exec_file (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_char_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_log_command (struct target_ops *self, const char *arg1)
 {
@@ -662,6 +1490,18 @@ tdefault_log_command (struct target_ops 
 {
 }
 
+static void
+debug_log_command (struct target_ops *self, const char *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_log_command (...)\n", debug_target.to_shortname);
+  debug_target.to_log_command (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_log_command (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static struct target_section_table *
 delegate_get_section_table (struct target_ops *self)
 {
@@ -675,6 +1515,20 @@ tdefault_get_section_table (struct targe
   return NULL;
 }
 
+static struct target_section_table *
+debug_get_section_table (struct target_ops *self)
+{
+  struct target_section_table * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_section_table (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_section_table (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_section_table (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_struct_target_section_table_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static int
 delegate_can_async_p (struct target_ops *self)
 {
@@ -689,6 +1543,20 @@ tdefault_can_async_p (struct target_ops 
 }
 
 static int
+debug_can_async_p (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_async_p (...)\n", debug_target.to_shortname);
+  result = debug_target.to_can_async_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_async_p (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_is_async_p (struct target_ops *self)
 {
   self = self->beneath;
@@ -701,6 +1569,20 @@ tdefault_is_async_p (struct target_ops *
   return 0;
 }
 
+static int
+debug_is_async_p (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_is_async_p (...)\n", debug_target.to_shortname);
+  result = debug_target.to_is_async_p (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_is_async_p (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
 {
@@ -714,6 +1596,20 @@ tdefault_async (struct target_ops *self,
   tcomplain ();
 }
 
+static void
+debug_async (struct target_ops *self, async_callback_ftype *arg1, void *arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_async (...)\n", debug_target.to_shortname);
+  debug_target.to_async (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_async (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_async_callback_ftype_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_void_p (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_supports_non_stop (struct target_ops *self)
 {
@@ -728,58 +1624,201 @@ tdefault_supports_non_stop (struct targe
 }
 
 static int
+debug_supports_non_stop (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_non_stop (...)\n", debug_target.to_shortname);
+  result = debug_target.to_supports_non_stop (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_non_stop (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
 {
   self = self->beneath;
   return self->to_find_memory_regions (self, arg1, arg2);
 }
 
-static char * 
+static int
+debug_find_memory_regions (struct target_ops *self, find_memory_region_ftype arg1, void *arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_find_memory_regions (...)\n", debug_target.to_shortname);
+  result = debug_target.to_find_memory_regions (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_find_memory_regions (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_find_memory_region_ftype (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_void_p (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static char *
 delegate_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
 {
   self = self->beneath;
   return self->to_make_corefile_notes (self, arg1, arg2);
 }
 
-static gdb_byte * 
-delegate_get_bookmark (struct target_ops *self, char *arg1, int arg2)
+static char *
+debug_make_corefile_notes (struct target_ops *self, bfd *arg1, int *arg2)
+{
+  char * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_make_corefile_notes (...)\n", debug_target.to_shortname);
+  result = debug_target.to_make_corefile_notes (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_make_corefile_notes (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_bfd_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int_p (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_char_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static gdb_byte *
+delegate_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
 {
   self = self->beneath;
   return self->to_get_bookmark (self, arg1, arg2);
 }
 
-static gdb_byte * 
-tdefault_get_bookmark (struct target_ops *self, char *arg1, int arg2)
+static gdb_byte *
+tdefault_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
 {
   tcomplain ();
 }
 
+static gdb_byte *
+debug_get_bookmark (struct target_ops *self, const char *arg1, int arg2)
+{
+  gdb_byte * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_bookmark (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_bookmark (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_bookmark (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_gdb_byte_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
-delegate_goto_bookmark (struct target_ops *self, gdb_byte *arg1, int arg2)
+delegate_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
 {
   self = self->beneath;
   self->to_goto_bookmark (self, arg1, arg2);
 }
 
 static void
-tdefault_goto_bookmark (struct target_ops *self, gdb_byte *arg1, int arg2)
+tdefault_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
 {
   tcomplain ();
 }
 
-static enum target_xfer_status 
-delegate_xfer_partial (struct target_ops *self, enum target_object  arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
+static void
+debug_goto_bookmark (struct target_ops *self, const gdb_byte *arg1, int arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_bookmark (...)\n", debug_target.to_shortname);
+  debug_target.to_goto_bookmark (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_bookmark (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_gdb_byte_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static CORE_ADDR
+delegate_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
+{
+  self = self->beneath;
+  return self->to_get_thread_local_address (self, arg1, arg2, arg3);
+}
+
+static CORE_ADDR
+tdefault_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
+{
+  generic_tls_error ();
+}
+
+static CORE_ADDR
+debug_get_thread_local_address (struct target_ops *self, ptid_t arg1, CORE_ADDR arg2, CORE_ADDR arg3)
+{
+  CORE_ADDR result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_thread_local_address (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_thread_local_address (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_thread_local_address (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static enum target_xfer_status
+delegate_xfer_partial (struct target_ops *self, enum target_object arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
 {
   self = self->beneath;
   return self->to_xfer_partial (self, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
 }
 
-static enum target_xfer_status 
-tdefault_xfer_partial (struct target_ops *self, enum target_object  arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
+static enum target_xfer_status
+tdefault_xfer_partial (struct target_ops *self, enum target_object arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
 {
   return TARGET_XFER_E_IO;
 }
 
+static enum target_xfer_status
+debug_xfer_partial (struct target_ops *self, enum target_object arg1, const char *arg2, gdb_byte *arg3, const gdb_byte *arg4, ULONGEST arg5, ULONGEST arg6, ULONGEST *arg7)
+{
+  enum target_xfer_status result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_xfer_partial (...)\n", debug_target.to_shortname);
+  result = debug_target.to_xfer_partial (&debug_target, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_xfer_partial (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_enum_target_object (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_gdb_byte_p (arg3);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_gdb_byte_p (arg4);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg5);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg6);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST_p (arg7);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_enum_target_xfer_status (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static VEC(mem_region_s) *
 delegate_memory_map (struct target_ops *self)
 {
@@ -793,6 +1832,20 @@ tdefault_memory_map (struct target_ops *
   return NULL;
 }
 
+static VEC(mem_region_s) *
+debug_memory_map (struct target_ops *self)
+{
+  VEC(mem_region_s) * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_memory_map (...)\n", debug_target.to_shortname);
+  result = debug_target.to_memory_map (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_memory_map (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_VEC_mem_region_s__p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
 {
@@ -807,6 +1860,20 @@ tdefault_flash_erase (struct target_ops 
 }
 
 static void
+debug_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_erase (...)\n", debug_target.to_shortname);
+  debug_target.to_flash_erase (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_erase (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_LONGEST (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_flash_done (struct target_ops *self)
 {
   self = self->beneath;
@@ -819,6 +1886,16 @@ tdefault_flash_done (struct target_ops *
   tcomplain ();
 }
 
+static void
+debug_flash_done (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_flash_done (...)\n", debug_target.to_shortname);
+  debug_target.to_flash_done (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_flash_done (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static const struct target_desc *
 delegate_read_description (struct target_ops *self)
 {
@@ -832,6 +1909,20 @@ tdefault_read_description (struct target
   return NULL;
 }
 
+static const struct target_desc *
+debug_read_description (struct target_ops *self)
+{
+  const struct target_desc * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_description (...)\n", debug_target.to_shortname);
+  result = debug_target.to_read_description (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_description (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_const_struct_target_desc_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static ptid_t
 delegate_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
 {
@@ -839,6 +1930,24 @@ delegate_get_ada_task_ptid (struct targe
   return self->to_get_ada_task_ptid (self, arg1, arg2);
 }
 
+static ptid_t
+debug_get_ada_task_ptid (struct target_ops *self, long arg1, long arg2)
+{
+  ptid_t result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_ada_task_ptid (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_ada_task_ptid (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_ada_task_ptid (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_long (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_long (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_ptid_t (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static int
 delegate_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
 {
@@ -847,6 +1956,28 @@ delegate_auxv_parse (struct target_ops *
 }
 
 static int
+debug_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_auxv_parse (...)\n", debug_target.to_shortname);
+  result = debug_target.to_auxv_parse (&debug_target, arg1, arg2, arg3, arg4);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_auxv_parse (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_gdb_byte_pp (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_gdb_byte_p (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR_p (arg3);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR_p (arg4);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
 {
   self = self->beneath;
@@ -854,6 +1985,30 @@ delegate_search_memory (struct target_op
 }
 
 static int
+debug_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_search_memory (...)\n", debug_target.to_shortname);
+  result = debug_target.to_search_memory (&debug_target, arg1, arg2, arg3, arg4, arg5);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_search_memory (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_gdb_byte_p (arg3);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg4);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR_p (arg5);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_can_execute_reverse (struct target_ops *self)
 {
   self = self->beneath;
@@ -866,13 +2021,41 @@ tdefault_can_execute_reverse (struct tar
   return 0;
 }
 
-static enum exec_direction_kind 
+static int
+debug_can_execute_reverse (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_execute_reverse (...)\n", debug_target.to_shortname);
+  result = debug_target.to_can_execute_reverse (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_execute_reverse (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static enum exec_direction_kind
 delegate_execution_direction (struct target_ops *self)
 {
   self = self->beneath;
   return self->to_execution_direction (self);
 }
 
+static enum exec_direction_kind
+debug_execution_direction (struct target_ops *self)
+{
+  enum exec_direction_kind result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_execution_direction (...)\n", debug_target.to_shortname);
+  result = debug_target.to_execution_direction (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_execution_direction (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_enum_exec_direction_kind (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static int
 delegate_supports_multi_process (struct target_ops *self)
 {
@@ -887,6 +2070,20 @@ tdefault_supports_multi_process (struct 
 }
 
 static int
+debug_supports_multi_process (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_multi_process (...)\n", debug_target.to_shortname);
+  result = debug_target.to_supports_multi_process (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_multi_process (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_supports_enable_disable_tracepoint (struct target_ops *self)
 {
   self = self->beneath;
@@ -900,6 +2097,20 @@ tdefault_supports_enable_disable_tracepo
 }
 
 static int
+debug_supports_enable_disable_tracepoint (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_enable_disable_tracepoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_supports_enable_disable_tracepoint (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_enable_disable_tracepoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_supports_string_tracing (struct target_ops *self)
 {
   self = self->beneath;
@@ -913,6 +2124,20 @@ tdefault_supports_string_tracing (struct
 }
 
 static int
+debug_supports_string_tracing (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_string_tracing (...)\n", debug_target.to_shortname);
+  result = debug_target.to_supports_string_tracing (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_string_tracing (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
 {
   self = self->beneath;
@@ -926,6 +2151,20 @@ tdefault_supports_evaluation_of_breakpoi
 }
 
 static int
+debug_supports_evaluation_of_breakpoint_conditions (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_evaluation_of_breakpoint_conditions (...)\n", debug_target.to_shortname);
+  result = debug_target.to_supports_evaluation_of_breakpoint_conditions (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_evaluation_of_breakpoint_conditions (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_can_run_breakpoint_commands (struct target_ops *self)
 {
   self = self->beneath;
@@ -938,6 +2177,20 @@ tdefault_can_run_breakpoint_commands (st
   return 0;
 }
 
+static int
+debug_can_run_breakpoint_commands (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_run_breakpoint_commands (...)\n", debug_target.to_shortname);
+  result = debug_target.to_can_run_breakpoint_commands (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_run_breakpoint_commands (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static struct gdbarch *
 delegate_thread_architecture (struct target_ops *self, ptid_t arg1)
 {
@@ -945,11 +2198,43 @@ delegate_thread_architecture (struct tar
   return self->to_thread_architecture (self, arg1);
 }
 
+static struct gdbarch *
+debug_thread_architecture (struct target_ops *self, ptid_t arg1)
+{
+  struct gdbarch * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_architecture (...)\n", debug_target.to_shortname);
+  result = debug_target.to_thread_architecture (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_architecture (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_struct_gdbarch_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static struct address_space *
 delegate_thread_address_space (struct target_ops *self, ptid_t arg1)
 {
-  self = self->beneath;
-  return self->to_thread_address_space (self, arg1);
+  self = self->beneath;
+  return self->to_thread_address_space (self, arg1);
+}
+
+static struct address_space *
+debug_thread_address_space (struct target_ops *self, ptid_t arg1)
+{
+  struct address_space * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_thread_address_space (...)\n", debug_target.to_shortname);
+  result = debug_target.to_thread_address_space (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_thread_address_space (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_struct_address_space_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
 }
 
 static void
@@ -966,6 +2251,16 @@ tdefault_trace_init (struct target_ops *
 }
 
 static void
+debug_trace_init (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_init (...)\n", debug_target.to_shortname);
+  debug_target.to_trace_init (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_init (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
 {
   self = self->beneath;
@@ -978,6 +2273,18 @@ tdefault_download_tracepoint (struct tar
   tcomplain ();
 }
 
+static void
+debug_download_tracepoint (struct target_ops *self, struct bp_location *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_tracepoint (...)\n", debug_target.to_shortname);
+  debug_target.to_download_tracepoint (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_tracepoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_bp_location_p (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_can_download_tracepoint (struct target_ops *self)
 {
@@ -991,6 +2298,20 @@ tdefault_can_download_tracepoint (struct
   return 0;
 }
 
+static int
+debug_can_download_tracepoint (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_download_tracepoint (...)\n", debug_target.to_shortname);
+  result = debug_target.to_can_download_tracepoint (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_download_tracepoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
 {
@@ -1005,6 +2326,18 @@ tdefault_download_trace_state_variable (
 }
 
 static void
+debug_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_download_trace_state_variable (...)\n", debug_target.to_shortname);
+  debug_target.to_download_trace_state_variable (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_download_trace_state_variable (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_trace_state_variable_p (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
 {
   self = self->beneath;
@@ -1018,6 +2351,18 @@ tdefault_enable_tracepoint (struct targe
 }
 
 static void
+debug_enable_tracepoint (struct target_ops *self, struct bp_location *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_tracepoint (...)\n", debug_target.to_shortname);
+  debug_target.to_enable_tracepoint (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_tracepoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_bp_location_p (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
 {
   self = self->beneath;
@@ -1031,6 +2376,18 @@ tdefault_disable_tracepoint (struct targ
 }
 
 static void
+debug_disable_tracepoint (struct target_ops *self, struct bp_location *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_tracepoint (...)\n", debug_target.to_shortname);
+  debug_target.to_disable_tracepoint (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_tracepoint (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_bp_location_p (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_trace_set_readonly_regions (struct target_ops *self)
 {
   self = self->beneath;
@@ -1044,6 +2401,16 @@ tdefault_trace_set_readonly_regions (str
 }
 
 static void
+debug_trace_set_readonly_regions (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_set_readonly_regions (...)\n", debug_target.to_shortname);
+  debug_target.to_trace_set_readonly_regions (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_set_readonly_regions (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_trace_start (struct target_ops *self)
 {
   self = self->beneath;
@@ -1056,6 +2423,16 @@ tdefault_trace_start (struct target_ops 
   tcomplain ();
 }
 
+static void
+debug_trace_start (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_start (...)\n", debug_target.to_shortname);
+  debug_target.to_trace_start (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_start (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_get_trace_status (struct target_ops *self, struct trace_status *arg1)
 {
@@ -1069,6 +2446,22 @@ tdefault_get_trace_status (struct target
   return -1;
 }
 
+static int
+debug_get_trace_status (struct target_ops *self, struct trace_status *arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_status (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_trace_status (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_status (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_trace_status_p (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
 {
@@ -1083,6 +2476,20 @@ tdefault_get_tracepoint_status (struct t
 }
 
 static void
+debug_get_tracepoint_status (struct target_ops *self, struct breakpoint *arg1, struct uploaded_tp *arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tracepoint_status (...)\n", debug_target.to_shortname);
+  debug_target.to_get_tracepoint_status (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tracepoint_status (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_breakpoint_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_uploaded_tp_p (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_trace_stop (struct target_ops *self)
 {
   self = self->beneath;
@@ -1095,20 +2502,54 @@ tdefault_trace_stop (struct target_ops *
   tcomplain ();
 }
 
+static void
+debug_trace_stop (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_stop (...)\n", debug_target.to_shortname);
+  debug_target.to_trace_stop (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_stop (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
-delegate_trace_find (struct target_ops *self, enum trace_find_type  arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
+delegate_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
 {
   self = self->beneath;
   return self->to_trace_find (self, arg1, arg2, arg3, arg4, arg5);
 }
 
 static int
-tdefault_trace_find (struct target_ops *self, enum trace_find_type  arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
+tdefault_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
 {
   return -1;
 }
 
 static int
+debug_trace_find (struct target_ops *self, enum trace_find_type arg1, int arg2, CORE_ADDR arg3, CORE_ADDR arg4, int *arg5)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_trace_find (...)\n", debug_target.to_shortname);
+  result = debug_target.to_trace_find (&debug_target, arg1, arg2, arg3, arg4, arg5);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_trace_find (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_enum_trace_find_type (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg3);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg4);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int_p (arg5);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
 {
   self = self->beneath;
@@ -1122,6 +2563,24 @@ tdefault_get_trace_state_variable_value 
 }
 
 static int
+debug_get_trace_state_variable_value (struct target_ops *self, int arg1, LONGEST *arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_trace_state_variable_value (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_trace_state_variable_value (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_trace_state_variable_value (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_LONGEST_p (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_save_trace_data (struct target_ops *self, const char *arg1)
 {
   self = self->beneath;
@@ -1135,6 +2594,22 @@ tdefault_save_trace_data (struct target_
 }
 
 static int
+debug_save_trace_data (struct target_ops *self, const char *arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_trace_data (...)\n", debug_target.to_shortname);
+  result = debug_target.to_save_trace_data (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_trace_data (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
 {
   self = self->beneath;
@@ -1148,6 +2623,22 @@ tdefault_upload_tracepoints (struct targ
 }
 
 static int
+debug_upload_tracepoints (struct target_ops *self, struct uploaded_tp **arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_tracepoints (...)\n", debug_target.to_shortname);
+  result = debug_target.to_upload_tracepoints (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_tracepoints (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_uploaded_tp_pp (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
 {
   self = self->beneath;
@@ -1160,6 +2651,22 @@ tdefault_upload_trace_state_variables (s
   return 0;
 }
 
+static int
+debug_upload_trace_state_variables (struct target_ops *self, struct uploaded_tsv **arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_upload_trace_state_variables (...)\n", debug_target.to_shortname);
+  result = debug_target.to_upload_trace_state_variables (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_upload_trace_state_variables (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_uploaded_tsv_pp (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static LONGEST
 delegate_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
 {
@@ -1173,6 +2680,26 @@ tdefault_get_raw_trace_data (struct targ
   tcomplain ();
 }
 
+static LONGEST
+debug_get_raw_trace_data (struct target_ops *self, gdb_byte *arg1, ULONGEST arg2, LONGEST arg3)
+{
+  LONGEST result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_raw_trace_data (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_raw_trace_data (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_raw_trace_data (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_gdb_byte_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_LONGEST (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_LONGEST (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static int
 delegate_get_min_fast_tracepoint_insn_len (struct target_ops *self)
 {
@@ -1186,6 +2713,20 @@ tdefault_get_min_fast_tracepoint_insn_le
   return -1;
 }
 
+static int
+debug_get_min_fast_tracepoint_insn_len (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_min_fast_tracepoint_insn_len (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_min_fast_tracepoint_insn_len (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_min_fast_tracepoint_insn_len (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_set_disconnected_tracing (struct target_ops *self, int arg1)
 {
@@ -1199,6 +2740,18 @@ tdefault_set_disconnected_tracing (struc
 }
 
 static void
+debug_set_disconnected_tracing (struct target_ops *self, int arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_disconnected_tracing (...)\n", debug_target.to_shortname);
+  debug_target.to_set_disconnected_tracing (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_disconnected_tracing (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_set_circular_trace_buffer (struct target_ops *self, int arg1)
 {
   self = self->beneath;
@@ -1211,6 +2764,18 @@ tdefault_set_circular_trace_buffer (stru
 }
 
 static void
+debug_set_circular_trace_buffer (struct target_ops *self, int arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_circular_trace_buffer (...)\n", debug_target.to_shortname);
+  debug_target.to_set_circular_trace_buffer (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_circular_trace_buffer (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
 {
   self = self->beneath;
@@ -1222,6 +2787,18 @@ tdefault_set_trace_buffer_size (struct t
 {
 }
 
+static void
+debug_set_trace_buffer_size (struct target_ops *self, LONGEST arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_buffer_size (...)\n", debug_target.to_shortname);
+  debug_target.to_set_trace_buffer_size (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_buffer_size (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_LONGEST (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
 {
@@ -1236,6 +2813,26 @@ tdefault_set_trace_notes (struct target_
 }
 
 static int
+debug_set_trace_notes (struct target_ops *self, const char *arg1, const char *arg2, const char *arg3)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_trace_notes (...)\n", debug_target.to_shortname);
+  result = debug_target.to_set_trace_notes (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_trace_notes (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_core_of_thread (struct target_ops *self, ptid_t arg1)
 {
   self = self->beneath;
@@ -1249,6 +2846,22 @@ tdefault_core_of_thread (struct target_o
 }
 
 static int
+debug_core_of_thread (struct target_ops *self, ptid_t arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_core_of_thread (...)\n", debug_target.to_shortname);
+  result = debug_target.to_core_of_thread (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_core_of_thread (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
 {
   self = self->beneath;
@@ -1256,6 +2869,26 @@ delegate_verify_memory (struct target_op
 }
 
 static int
+debug_verify_memory (struct target_ops *self, const gdb_byte *arg1, CORE_ADDR arg2, ULONGEST arg3)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_verify_memory (...)\n", debug_target.to_shortname);
+  result = debug_target.to_verify_memory (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_verify_memory (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_gdb_byte_p (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
 {
   self = self->beneath;
@@ -1268,6 +2901,24 @@ tdefault_get_tib_address (struct target_
   tcomplain ();
 }
 
+static int
+debug_get_tib_address (struct target_ops *self, ptid_t arg1, CORE_ADDR *arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tib_address (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_tib_address (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tib_address (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR_p (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_set_permissions (struct target_ops *self)
 {
@@ -1280,6 +2931,16 @@ tdefault_set_permissions (struct target_
 {
 }
 
+static void
+debug_set_permissions (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_set_permissions (...)\n", debug_target.to_shortname);
+  debug_target.to_set_permissions (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_set_permissions (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
 {
@@ -1293,6 +2954,24 @@ tdefault_static_tracepoint_marker_at (st
   return 0;
 }
 
+static int
+debug_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR arg1, struct static_tracepoint_marker *arg2)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_marker_at (...)\n", debug_target.to_shortname);
+  result = debug_target.to_static_tracepoint_marker_at (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_marker_at (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_static_tracepoint_marker_p (arg2);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static VEC(static_tracepoint_marker_p) *
 delegate_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
 {
@@ -1306,6 +2985,22 @@ tdefault_static_tracepoint_markers_by_st
   tcomplain ();
 }
 
+static VEC(static_tracepoint_marker_p) *
+debug_static_tracepoint_markers_by_strid (struct target_ops *self, const char *arg1)
+{
+  VEC(static_tracepoint_marker_p) * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_static_tracepoint_markers_by_strid (...)\n", debug_target.to_shortname);
+  result = debug_target.to_static_tracepoint_markers_by_strid (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_static_tracepoint_markers_by_strid (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_VEC_static_tracepoint_marker_p__p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static struct traceframe_info *
 delegate_traceframe_info (struct target_ops *self)
 {
@@ -1319,6 +3014,20 @@ tdefault_traceframe_info (struct target_
   tcomplain ();
 }
 
+static struct traceframe_info *
+debug_traceframe_info (struct target_ops *self)
+{
+  struct traceframe_info * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_traceframe_info (...)\n", debug_target.to_shortname);
+  result = debug_target.to_traceframe_info (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_traceframe_info (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_struct_traceframe_info_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static int
 delegate_use_agent (struct target_ops *self, int arg1)
 {
@@ -1333,6 +3042,22 @@ tdefault_use_agent (struct target_ops *s
 }
 
 static int
+debug_use_agent (struct target_ops *self, int arg1)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_use_agent (...)\n", debug_target.to_shortname);
+  result = debug_target.to_use_agent (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_use_agent (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_can_use_agent (struct target_ops *self)
 {
   self = self->beneath;
@@ -1346,6 +3071,20 @@ tdefault_can_use_agent (struct target_op
 }
 
 static int
+debug_can_use_agent (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_use_agent (...)\n", debug_target.to_shortname);
+  result = debug_target.to_can_use_agent (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_can_use_agent (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static int
 delegate_supports_btrace (struct target_ops *self)
 {
   self = self->beneath;
@@ -1358,6 +3097,20 @@ tdefault_supports_btrace (struct target_
   return 0;
 }
 
+static int
+debug_supports_btrace (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_supports_btrace (...)\n", debug_target.to_shortname);
+  result = debug_target.to_supports_btrace (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_supports_btrace (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static struct btrace_target_info *
 delegate_enable_btrace (struct target_ops *self, ptid_t arg1)
 {
@@ -1371,6 +3124,22 @@ tdefault_enable_btrace (struct target_op
   tcomplain ();
 }
 
+static struct btrace_target_info *
+debug_enable_btrace (struct target_ops *self, ptid_t arg1)
+{
+  struct btrace_target_info * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_enable_btrace (...)\n", debug_target.to_shortname);
+  result = debug_target.to_enable_btrace (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_enable_btrace (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ptid_t (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_struct_btrace_target_info_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
 {
@@ -1385,6 +3154,18 @@ tdefault_disable_btrace (struct target_o
 }
 
 static void
+debug_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_disable_btrace (...)\n", debug_target.to_shortname);
+  debug_target.to_disable_btrace (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_disable_btrace (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_btrace_target_info_p (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
 {
   self = self->beneath;
@@ -1397,19 +3178,51 @@ tdefault_teardown_btrace (struct target_
   tcomplain ();
 }
 
-static enum btrace_error 
-delegate_read_btrace (struct target_ops *self, VEC (btrace_block_s) **arg1, struct btrace_target_info *arg2, enum btrace_read_type  arg3)
+static void
+debug_teardown_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_teardown_btrace (...)\n", debug_target.to_shortname);
+  debug_target.to_teardown_btrace (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_teardown_btrace (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_btrace_target_info_p (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static enum btrace_error
+delegate_read_btrace (struct target_ops *self, VEC (btrace_block_s) **arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
 {
   self = self->beneath;
   return self->to_read_btrace (self, arg1, arg2, arg3);
 }
 
-static enum btrace_error 
-tdefault_read_btrace (struct target_ops *self, VEC (btrace_block_s) **arg1, struct btrace_target_info *arg2, enum btrace_read_type  arg3)
+static enum btrace_error
+tdefault_read_btrace (struct target_ops *self, VEC (btrace_block_s) **arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
 {
   tcomplain ();
 }
 
+static enum btrace_error
+debug_read_btrace (struct target_ops *self, VEC (btrace_block_s) **arg1, struct btrace_target_info *arg2, enum btrace_read_type arg3)
+{
+  enum btrace_error result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_read_btrace (...)\n", debug_target.to_shortname);
+  result = debug_target.to_read_btrace (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_read_btrace (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_VEC__btrace_block_s__pp (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_btrace_target_info_p (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_enum_btrace_read_type (arg3);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_enum_btrace_error (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_stop_recording (struct target_ops *self)
 {
@@ -1423,6 +3236,38 @@ tdefault_stop_recording (struct target_o
 }
 
 static void
+debug_stop_recording (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_stop_recording (...)\n", debug_target.to_shortname);
+  debug_target.to_stop_recording (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_stop_recording (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
+delegate_info_record (struct target_ops *self)
+{
+  self = self->beneath;
+  self->to_info_record (self);
+}
+
+static void
+tdefault_info_record (struct target_ops *self)
+{
+}
+
+static void
+debug_info_record (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_info_record (...)\n", debug_target.to_shortname);
+  debug_target.to_info_record (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_info_record (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_save_record (struct target_ops *self, const char *arg1)
 {
   self = self->beneath;
@@ -1436,6 +3281,18 @@ tdefault_save_record (struct target_ops 
 }
 
 static void
+debug_save_record (struct target_ops *self, const char *arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_save_record (...)\n", debug_target.to_shortname);
+  debug_target.to_save_record (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_save_record (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_const_char_p (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_delete_record (struct target_ops *self)
 {
   self = self->beneath;
@@ -1448,6 +3305,16 @@ tdefault_delete_record (struct target_op
   tcomplain ();
 }
 
+static void
+debug_delete_record (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_delete_record (...)\n", debug_target.to_shortname);
+  debug_target.to_delete_record (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_delete_record (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_record_is_replaying (struct target_ops *self)
 {
@@ -1461,6 +3328,20 @@ tdefault_record_is_replaying (struct tar
   return 0;
 }
 
+static int
+debug_record_is_replaying (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_record_is_replaying (...)\n", debug_target.to_shortname);
+  result = debug_target.to_record_is_replaying (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_record_is_replaying (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static void
 delegate_goto_record_begin (struct target_ops *self)
 {
@@ -1475,6 +3356,16 @@ tdefault_goto_record_begin (struct targe
 }
 
 static void
+debug_goto_record_begin (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_begin (...)\n", debug_target.to_shortname);
+  debug_target.to_goto_record_begin (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_begin (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_goto_record_end (struct target_ops *self)
 {
   self = self->beneath;
@@ -1488,6 +3379,16 @@ tdefault_goto_record_end (struct target_
 }
 
 static void
+debug_goto_record_end (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record_end (...)\n", debug_target.to_shortname);
+  debug_target.to_goto_record_end (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record_end (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_goto_record (struct target_ops *self, ULONGEST arg1)
 {
   self = self->beneath;
@@ -1501,6 +3402,18 @@ tdefault_goto_record (struct target_ops 
 }
 
 static void
+debug_goto_record (struct target_ops *self, ULONGEST arg1)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_goto_record (...)\n", debug_target.to_shortname);
+  debug_target.to_goto_record (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_goto_record (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg1);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_insn_history (struct target_ops *self, int arg1, int arg2)
 {
   self = self->beneath;
@@ -1514,6 +3427,20 @@ tdefault_insn_history (struct target_ops
 }
 
 static void
+debug_insn_history (struct target_ops *self, int arg1, int arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history (...)\n", debug_target.to_shortname);
+  debug_target.to_insn_history (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
 {
   self = self->beneath;
@@ -1527,6 +3454,22 @@ tdefault_insn_history_from (struct targe
 }
 
 static void
+debug_insn_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_from (...)\n", debug_target.to_shortname);
+  debug_target.to_insn_history_from (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_from (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
 {
   self = self->beneath;
@@ -1540,6 +3483,22 @@ tdefault_insn_history_range (struct targ
 }
 
 static void
+debug_insn_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_insn_history_range (...)\n", debug_target.to_shortname);
+  debug_target.to_insn_history_range (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_insn_history_range (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_call_history (struct target_ops *self, int arg1, int arg2)
 {
   self = self->beneath;
@@ -1553,6 +3512,20 @@ tdefault_call_history (struct target_ops
 }
 
 static void
+debug_call_history (struct target_ops *self, int arg1, int arg2)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history (...)\n", debug_target.to_shortname);
+  debug_target.to_call_history (&debug_target, arg1, arg2);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
 {
   self = self->beneath;
@@ -1566,6 +3539,22 @@ tdefault_call_history_from (struct targe
 }
 
 static void
+debug_call_history_from (struct target_ops *self, ULONGEST arg1, int arg2, int arg3)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_from (...)\n", debug_target.to_shortname);
+  debug_target.to_call_history_from (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_from (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
 delegate_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
 {
   self = self->beneath;
@@ -1578,6 +3567,22 @@ tdefault_call_history_range (struct targ
   tcomplain ();
 }
 
+static void
+debug_call_history_range (struct target_ops *self, ULONGEST arg1, ULONGEST arg2, int arg3)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_call_history_range (...)\n", debug_target.to_shortname);
+  debug_target.to_call_history_range (&debug_target, arg1, arg2, arg3);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_call_history_range (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg1);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_ULONGEST (arg2);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_int (arg3);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static int
 delegate_augmented_libraries_svr4_read (struct target_ops *self)
 {
@@ -1591,6 +3596,20 @@ tdefault_augmented_libraries_svr4_read (
   return 0;
 }
 
+static int
+debug_augmented_libraries_svr4_read (struct target_ops *self)
+{
+  int result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_augmented_libraries_svr4_read (...)\n", debug_target.to_shortname);
+  result = debug_target.to_augmented_libraries_svr4_read (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_augmented_libraries_svr4_read (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_int (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static const struct frame_unwind *
 delegate_get_unwinder (struct target_ops *self)
 {
@@ -1605,6 +3624,20 @@ tdefault_get_unwinder (struct target_ops
 }
 
 static const struct frame_unwind *
+debug_get_unwinder (struct target_ops *self)
+{
+  const struct frame_unwind * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_unwinder (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_unwinder (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_unwinder (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_const_struct_frame_unwind_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static const struct frame_unwind *
 delegate_get_tailcall_unwinder (struct target_ops *self)
 {
   self = self->beneath;
@@ -1617,6 +3650,20 @@ tdefault_get_tailcall_unwinder (struct t
   return NULL;
 }
 
+static const struct frame_unwind *
+debug_get_tailcall_unwinder (struct target_ops *self)
+{
+  const struct frame_unwind * result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_get_tailcall_unwinder (...)\n", debug_target.to_shortname);
+  result = debug_target.to_get_tailcall_unwinder (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_get_tailcall_unwinder (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_const_struct_frame_unwind_p (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
 static CORE_ADDR
 delegate_decr_pc_after_break (struct target_ops *self, struct gdbarch *arg1)
 {
@@ -1624,6 +3671,66 @@ delegate_decr_pc_after_break (struct tar
   return self->to_decr_pc_after_break (self, arg1);
 }
 
+static CORE_ADDR
+debug_decr_pc_after_break (struct target_ops *self, struct gdbarch *arg1)
+{
+  CORE_ADDR result;
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_decr_pc_after_break (...)\n", debug_target.to_shortname);
+  result = debug_target.to_decr_pc_after_break (&debug_target, arg1);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_decr_pc_after_break (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (", ", gdb_stdlog);
+  target_debug_print_struct_gdbarch_p (arg1);
+  fputs_unfiltered (") = ", gdb_stdlog);
+  target_debug_print_CORE_ADDR (result);
+  fputs_unfiltered ("\n", gdb_stdlog);
+  return result;
+}
+
+static void
+delegate_prepare_to_generate_core (struct target_ops *self)
+{
+  self = self->beneath;
+  self->to_prepare_to_generate_core (self);
+}
+
+static void
+tdefault_prepare_to_generate_core (struct target_ops *self)
+{
+}
+
+static void
+debug_prepare_to_generate_core (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_prepare_to_generate_core (...)\n", debug_target.to_shortname);
+  debug_target.to_prepare_to_generate_core (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_prepare_to_generate_core (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+static void
+delegate_done_generating_core (struct target_ops *self)
+{
+  self = self->beneath;
+  self->to_done_generating_core (self);
+}
+
+static void
+tdefault_done_generating_core (struct target_ops *self)
+{
+}
+
+static void
+debug_done_generating_core (struct target_ops *self)
+{
+  fprintf_unfiltered (gdb_stdlog, "-> %s->to_done_generating_core (...)\n", debug_target.to_shortname);
+  debug_target.to_done_generating_core (&debug_target);
+  fprintf_unfiltered (gdb_stdlog, "<- %s->to_done_generating_core (", debug_target.to_shortname);
+  target_debug_print_struct_target_ops_p (&debug_target);
+  fputs_unfiltered (")\n", gdb_stdlog);
+}
+
 static void
 install_delegators (struct target_ops *ops)
 {
@@ -1685,8 +3792,6 @@ install_delegators (struct target_ops *o
     ops->to_terminal_ours_for_output = delegate_terminal_ours_for_output;
   if (ops->to_terminal_ours == NULL)
     ops->to_terminal_ours = delegate_terminal_ours;
-  if (ops->to_terminal_save_ours == NULL)
-    ops->to_terminal_save_ours = delegate_terminal_save_ours;
   if (ops->to_terminal_info == NULL)
     ops->to_terminal_info = delegate_terminal_info;
   if (ops->to_kill == NULL)
@@ -1723,8 +3828,8 @@ install_delegators (struct target_ops *o
     ops->to_program_signals = delegate_program_signals;
   if (ops->to_thread_alive == NULL)
     ops->to_thread_alive = delegate_thread_alive;
-  if (ops->to_find_new_threads == NULL)
-    ops->to_find_new_threads = delegate_find_new_threads;
+  if (ops->to_update_thread_list == NULL)
+    ops->to_update_thread_list = delegate_update_thread_list;
   if (ops->to_pid_to_str == NULL)
     ops->to_pid_to_str = delegate_pid_to_str;
   if (ops->to_extra_thread_info == NULL)
@@ -1757,6 +3862,8 @@ install_delegators (struct target_ops *o
     ops->to_get_bookmark = delegate_get_bookmark;
   if (ops->to_goto_bookmark == NULL)
     ops->to_goto_bookmark = delegate_goto_bookmark;
+  if (ops->to_get_thread_local_address == NULL)
+    ops->to_get_thread_local_address = delegate_get_thread_local_address;
   if (ops->to_xfer_partial == NULL)
     ops->to_xfer_partial = delegate_xfer_partial;
   if (ops->to_memory_map == NULL)
@@ -1865,6 +3972,8 @@ install_delegators (struct target_ops *o
     ops->to_read_btrace = delegate_read_btrace;
   if (ops->to_stop_recording == NULL)
     ops->to_stop_recording = delegate_stop_recording;
+  if (ops->to_info_record == NULL)
+    ops->to_info_record = delegate_info_record;
   if (ops->to_save_record == NULL)
     ops->to_save_record = delegate_save_record;
   if (ops->to_delete_record == NULL)
@@ -1897,6 +4006,10 @@ install_delegators (struct target_ops *o
     ops->to_get_tailcall_unwinder = delegate_get_tailcall_unwinder;
   if (ops->to_decr_pc_after_break == NULL)
     ops->to_decr_pc_after_break = delegate_decr_pc_after_break;
+  if (ops->to_prepare_to_generate_core == NULL)
+    ops->to_prepare_to_generate_core = delegate_prepare_to_generate_core;
+  if (ops->to_done_generating_core == NULL)
+    ops->to_done_generating_core = delegate_done_generating_core;
 }
 
 static void
@@ -1931,7 +4044,6 @@ install_dummy_methods (struct target_ops
   ops->to_terminal_inferior = tdefault_terminal_inferior;
   ops->to_terminal_ours_for_output = tdefault_terminal_ours_for_output;
   ops->to_terminal_ours = tdefault_terminal_ours;
-  ops->to_terminal_save_ours = tdefault_terminal_save_ours;
   ops->to_terminal_info = default_terminal_info;
   ops->to_kill = tdefault_kill;
   ops->to_load = tdefault_load;
@@ -1950,7 +4062,7 @@ install_dummy_methods (struct target_ops
   ops->to_pass_signals = tdefault_pass_signals;
   ops->to_program_signals = tdefault_program_signals;
   ops->to_thread_alive = tdefault_thread_alive;
-  ops->to_find_new_threads = tdefault_find_new_threads;
+  ops->to_update_thread_list = tdefault_update_thread_list;
   ops->to_pid_to_str = default_pid_to_str;
   ops->to_extra_thread_info = tdefault_extra_thread_info;
   ops->to_thread_name = tdefault_thread_name;
@@ -1967,6 +4079,7 @@ install_dummy_methods (struct target_ops
   ops->to_make_corefile_notes = dummy_make_corefile_notes;
   ops->to_get_bookmark = tdefault_get_bookmark;
   ops->to_goto_bookmark = tdefault_goto_bookmark;
+  ops->to_get_thread_local_address = tdefault_get_thread_local_address;
   ops->to_xfer_partial = tdefault_xfer_partial;
   ops->to_memory_map = tdefault_memory_map;
   ops->to_flash_erase = tdefault_flash_erase;
@@ -2021,6 +4134,7 @@ install_dummy_methods (struct target_ops
   ops->to_teardown_btrace = tdefault_teardown_btrace;
   ops->to_read_btrace = tdefault_read_btrace;
   ops->to_stop_recording = tdefault_stop_recording;
+  ops->to_info_record = tdefault_info_record;
   ops->to_save_record = tdefault_save_record;
   ops->to_delete_record = tdefault_delete_record;
   ops->to_record_is_replaying = tdefault_record_is_replaying;
@@ -2037,4 +4151,149 @@ install_dummy_methods (struct target_ops
   ops->to_get_unwinder = tdefault_get_unwinder;
   ops->to_get_tailcall_unwinder = tdefault_get_tailcall_unwinder;
   ops->to_decr_pc_after_break = default_target_decr_pc_after_break;
+  ops->to_prepare_to_generate_core = tdefault_prepare_to_generate_core;
+  ops->to_done_generating_core = tdefault_done_generating_core;
+}
+
+static void
+init_debug_target (struct target_ops *ops)
+{
+  ops->to_post_attach = debug_post_attach;
+  ops->to_detach = debug_detach;
+  ops->to_disconnect = debug_disconnect;
+  ops->to_resume = debug_resume;
+  ops->to_wait = debug_wait;
+  ops->to_fetch_registers = debug_fetch_registers;
+  ops->to_store_registers = debug_store_registers;
+  ops->to_prepare_to_store = debug_prepare_to_store;
+  ops->to_files_info = debug_files_info;
+  ops->to_insert_breakpoint = debug_insert_breakpoint;
+  ops->to_remove_breakpoint = debug_remove_breakpoint;
+  ops->to_can_use_hw_breakpoint = debug_can_use_hw_breakpoint;
+  ops->to_ranged_break_num_registers = debug_ranged_break_num_registers;
+  ops->to_insert_hw_breakpoint = debug_insert_hw_breakpoint;
+  ops->to_remove_hw_breakpoint = debug_remove_hw_breakpoint;
+  ops->to_remove_watchpoint = debug_remove_watchpoint;
+  ops->to_insert_watchpoint = debug_insert_watchpoint;
+  ops->to_insert_mask_watchpoint = debug_insert_mask_watchpoint;
+  ops->to_remove_mask_watchpoint = debug_remove_mask_watchpoint;
+  ops->to_stopped_by_watchpoint = debug_stopped_by_watchpoint;
+  ops->to_stopped_data_address = debug_stopped_data_address;
+  ops->to_watchpoint_addr_within_range = debug_watchpoint_addr_within_range;
+  ops->to_region_ok_for_hw_watchpoint = debug_region_ok_for_hw_watchpoint;
+  ops->to_can_accel_watchpoint_condition = debug_can_accel_watchpoint_condition;
+  ops->to_masked_watch_num_registers = debug_masked_watch_num_registers;
+  ops->to_terminal_init = debug_terminal_init;
+  ops->to_terminal_inferior = debug_terminal_inferior;
+  ops->to_terminal_ours_for_output = debug_terminal_ours_for_output;
+  ops->to_terminal_ours = debug_terminal_ours;
+  ops->to_terminal_info = debug_terminal_info;
+  ops->to_kill = debug_kill;
+  ops->to_load = debug_load;
+  ops->to_post_startup_inferior = debug_post_startup_inferior;
+  ops->to_insert_fork_catchpoint = debug_insert_fork_catchpoint;
+  ops->to_remove_fork_catchpoint = debug_remove_fork_catchpoint;
+  ops->to_insert_vfork_catchpoint = debug_insert_vfork_catchpoint;
+  ops->to_remove_vfork_catchpoint = debug_remove_vfork_catchpoint;
+  ops->to_follow_fork = debug_follow_fork;
+  ops->to_insert_exec_catchpoint = debug_insert_exec_catchpoint;
+  ops->to_remove_exec_catchpoint = debug_remove_exec_catchpoint;
+  ops->to_set_syscall_catchpoint = debug_set_syscall_catchpoint;
+  ops->to_has_exited = debug_has_exited;
+  ops->to_mourn_inferior = debug_mourn_inferior;
+  ops->to_can_run = debug_can_run;
+  ops->to_pass_signals = debug_pass_signals;
+  ops->to_program_signals = debug_program_signals;
+  ops->to_thread_alive = debug_thread_alive;
+  ops->to_update_thread_list = debug_update_thread_list;
+  ops->to_pid_to_str = debug_pid_to_str;
+  ops->to_extra_thread_info = debug_extra_thread_info;
+  ops->to_thread_name = debug_thread_name;
+  ops->to_stop = debug_stop;
+  ops->to_rcmd = debug_rcmd;
+  ops->to_pid_to_exec_file = debug_pid_to_exec_file;
+  ops->to_log_command = debug_log_command;
+  ops->to_get_section_table = debug_get_section_table;
+  ops->to_can_async_p = debug_can_async_p;
+  ops->to_is_async_p = debug_is_async_p;
+  ops->to_async = debug_async;
+  ops->to_supports_non_stop = debug_supports_non_stop;
+  ops->to_find_memory_regions = debug_find_memory_regions;
+  ops->to_make_corefile_notes = debug_make_corefile_notes;
+  ops->to_get_bookmark = debug_get_bookmark;
+  ops->to_goto_bookmark = debug_goto_bookmark;
+  ops->to_get_thread_local_address = debug_get_thread_local_address;
+  ops->to_xfer_partial = debug_xfer_partial;
+  ops->to_memory_map = debug_memory_map;
+  ops->to_flash_erase = debug_flash_erase;
+  ops->to_flash_done = debug_flash_done;
+  ops->to_read_description = debug_read_description;
+  ops->to_get_ada_task_ptid = debug_get_ada_task_ptid;
+  ops->to_auxv_parse = debug_auxv_parse;
+  ops->to_search_memory = debug_search_memory;
+  ops->to_can_execute_reverse = debug_can_execute_reverse;
+  ops->to_execution_direction = debug_execution_direction;
+  ops->to_supports_multi_process = debug_supports_multi_process;
+  ops->to_supports_enable_disable_tracepoint = debug_supports_enable_disable_tracepoint;
+  ops->to_supports_string_tracing = debug_supports_string_tracing;
+  ops->to_supports_evaluation_of_breakpoint_conditions = debug_supports_evaluation_of_breakpoint_conditions;
+  ops->to_can_run_breakpoint_commands = debug_can_run_breakpoint_commands;
+  ops->to_thread_architecture = debug_thread_architecture;
+  ops->to_thread_address_space = debug_thread_address_space;
+  ops->to_trace_init = debug_trace_init;
+  ops->to_download_tracepoint = debug_download_tracepoint;
+  ops->to_can_download_tracepoint = debug_can_download_tracepoint;
+  ops->to_download_trace_state_variable = debug_download_trace_state_variable;
+  ops->to_enable_tracepoint = debug_enable_tracepoint;
+  ops->to_disable_tracepoint = debug_disable_tracepoint;
+  ops->to_trace_set_readonly_regions = debug_trace_set_readonly_regions;
+  ops->to_trace_start = debug_trace_start;
+  ops->to_get_trace_status = debug_get_trace_status;
+  ops->to_get_tracepoint_status = debug_get_tracepoint_status;
+  ops->to_trace_stop = debug_trace_stop;
+  ops->to_trace_find = debug_trace_find;
+  ops->to_get_trace_state_variable_value = debug_get_trace_state_variable_value;
+  ops->to_save_trace_data = debug_save_trace_data;
+  ops->to_upload_tracepoints = debug_upload_tracepoints;
+  ops->to_upload_trace_state_variables = debug_upload_trace_state_variables;
+  ops->to_get_raw_trace_data = debug_get_raw_trace_data;
+  ops->to_get_min_fast_tracepoint_insn_len = debug_get_min_fast_tracepoint_insn_len;
+  ops->to_set_disconnected_tracing = debug_set_disconnected_tracing;
+  ops->to_set_circular_trace_buffer = debug_set_circular_trace_buffer;
+  ops->to_set_trace_buffer_size = debug_set_trace_buffer_size;
+  ops->to_set_trace_notes = debug_set_trace_notes;
+  ops->to_core_of_thread = debug_core_of_thread;
+  ops->to_verify_memory = debug_verify_memory;
+  ops->to_get_tib_address = debug_get_tib_address;
+  ops->to_set_permissions = debug_set_permissions;
+  ops->to_static_tracepoint_marker_at = debug_static_tracepoint_marker_at;
+  ops->to_static_tracepoint_markers_by_strid = debug_static_tracepoint_markers_by_strid;
+  ops->to_traceframe_info = debug_traceframe_info;
+  ops->to_use_agent = debug_use_agent;
+  ops->to_can_use_agent = debug_can_use_agent;
+  ops->to_supports_btrace = debug_supports_btrace;
+  ops->to_enable_btrace = debug_enable_btrace;
+  ops->to_disable_btrace = debug_disable_btrace;
+  ops->to_teardown_btrace = debug_teardown_btrace;
+  ops->to_read_btrace = debug_read_btrace;
+  ops->to_stop_recording = debug_stop_recording;
+  ops->to_info_record = debug_info_record;
+  ops->to_save_record = debug_save_record;
+  ops->to_delete_record = debug_delete_record;
+  ops->to_record_is_replaying = debug_record_is_replaying;
+  ops->to_goto_record_begin = debug_goto_record_begin;
+  ops->to_goto_record_end = debug_goto_record_end;
+  ops->to_goto_record = debug_goto_record;
+  ops->to_insn_history = debug_insn_history;
+  ops->to_insn_history_from = debug_insn_history_from;
+  ops->to_insn_history_range = debug_insn_history_range;
+  ops->to_call_history = debug_call_history;
+  ops->to_call_history_from = debug_call_history_from;
+  ops->to_call_history_range = debug_call_history_range;
+  ops->to_augmented_libraries_svr4_read = debug_augmented_libraries_svr4_read;
+  ops->to_get_unwinder = debug_get_unwinder;
+  ops->to_get_tailcall_unwinder = debug_get_tailcall_unwinder;
+  ops->to_decr_pc_after_break = debug_decr_pc_after_break;
+  ops->to_prepare_to_generate_core = debug_prepare_to_generate_core;
+  ops->to_done_generating_core = debug_done_generating_core;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-descriptions.c ./gdb/target-descriptions.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-descriptions.c	2015-01-13 02:02:18.000000000 +0000
+++ ./gdb/target-descriptions.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target description support for GDB.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by CodeSourcery.
 
@@ -31,7 +31,6 @@
 #include "xml-tdesc.h"
 #include "osabi.h"
 
-#include "gdb_assert.h"
 #include "gdb_obstack.h"
 #include "hashtab.h"
 #include "inferior.h"
@@ -1550,7 +1549,7 @@ static struct cmd_list_element *tdesc_un
 static void
 set_tdesc_cmd (char *args, int from_tty)
 {
-  help_list (tdesc_set_cmdlist, "set tdesc ", -1, gdb_stdout);
+  help_list (tdesc_set_cmdlist, "set tdesc ", all_commands, gdb_stdout);
 }
 
 static void
@@ -1562,7 +1561,7 @@ show_tdesc_cmd (char *args, int from_tty
 static void
 unset_tdesc_cmd (char *args, int from_tty)
 {
-  help_list (tdesc_unset_cmdlist, "unset tdesc ", -1, gdb_stdout);
+  help_list (tdesc_unset_cmdlist, "unset tdesc ", all_commands, gdb_stdout);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-descriptions.h ./gdb/target-descriptions.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-descriptions.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/target-descriptions.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target description support for GDB.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by CodeSourcery.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target.h ./gdb/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/target.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Interface between GDB and target environments, including files and processes
 
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.  Written by John Gilmore.
 
@@ -58,6 +58,7 @@ struct dcache_struct;
    it goes into the file stratum, which is always below the process
    stratum.  */
 
+#include "target/target.h"
 #include "target/resume.h"
 #include "target/wait.h"
 #include "target/waitstatus.h"
@@ -357,6 +358,16 @@ struct thread_info;		/* fwd decl for par
 typedef void async_callback_ftype (enum inferior_event_type event_type,
 				   void *context);
 
+/* Normally target debug printing is purely type-based.  However,
+   sometimes it is necessary to override the debug printing on a
+   per-argument basis.  This macro can be used, attribute-style, to
+   name the target debug printing function for a particular method
+   argument.  FUNC is the name of the function.  The macro's
+   definition is empty because it is only used by the
+   make-target-delegates script.  */
+
+#define TARGET_DEBUG_PRINTER(FUNC)
+
 /* These defines are used to mark target_ops methods.  The script
    make-target-delegates scans these and auto-generates the base
    method implementations.  There are four macros that can be used:
@@ -384,9 +395,9 @@ typedef void async_callback_ftype (enum 
 struct target_ops
   {
     struct target_ops *beneath;	/* To the target under this one.  */
-    char *to_shortname;		/* Name this target type */
-    char *to_longname;		/* Name for printing */
-    char *to_doc;		/* Documentation.  Does not include trailing
+    const char *to_shortname;	/* Name this target type */
+    const char *to_longname;	/* Name for printing */
+    const char *to_doc;		/* Documentation.  Does not include trailing
 				   newline, and starts with a one-line descrip-
 				   tion (probably similar to to_longname).  */
     /* Per-target scratch pad.  */
@@ -395,7 +406,7 @@ struct target_ops
        command, and (if successful) pushes a new target onto the
        stack.  Targets should supply this routine, if only to provide
        an error message.  */
-    void (*to_open) (char *, int);
+    void (*to_open) (const char *, int);
     /* Old targets with a static target vector provide "to_close".
        New re-entrant targets provide "to_xclose" and that is expected
        to xfree everything (including the "struct target_ops").  */
@@ -414,12 +425,15 @@ struct target_ops
       TARGET_DEFAULT_IGNORE ();
     void (*to_detach) (struct target_ops *ops, const char *, int)
       TARGET_DEFAULT_IGNORE ();
-    void (*to_disconnect) (struct target_ops *, char *, int)
+    void (*to_disconnect) (struct target_ops *, const char *, int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
-    void (*to_resume) (struct target_ops *, ptid_t, int, enum gdb_signal)
+    void (*to_resume) (struct target_ops *, ptid_t,
+		       int TARGET_DEBUG_PRINTER (target_debug_print_step),
+		       enum gdb_signal)
       TARGET_DEFAULT_NORETURN (noprocess ());
     ptid_t (*to_wait) (struct target_ops *,
-		       ptid_t, struct target_waitstatus *, int)
+		       ptid_t, struct target_waitstatus *,
+		       int TARGET_DEBUG_PRINTER (target_debug_print_options))
       TARGET_DEFAULT_NORETURN (noprocess ());
     void (*to_fetch_registers) (struct target_ops *, struct regcache *, int)
       TARGET_DEFAULT_IGNORE ();
@@ -493,13 +507,11 @@ struct target_ops
       TARGET_DEFAULT_IGNORE ();
     void (*to_terminal_ours) (struct target_ops *)
       TARGET_DEFAULT_IGNORE ();
-    void (*to_terminal_save_ours) (struct target_ops *)
-      TARGET_DEFAULT_IGNORE ();
     void (*to_terminal_info) (struct target_ops *, const char *, int)
       TARGET_DEFAULT_FUNC (default_terminal_info);
     void (*to_kill) (struct target_ops *)
       TARGET_DEFAULT_NORETURN (noprocess ());
-    void (*to_load) (struct target_ops *, char *, int)
+    void (*to_load) (struct target_ops *, const char *, int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
     /* Start an inferior process and set inferior_ptid to its pid.
        EXEC_FILE is the file to run.
@@ -539,17 +551,19 @@ struct target_ops
 
     /* Documentation of this routine is provided with the corresponding
        target_* macro.  */
-    void (*to_pass_signals) (struct target_ops *, int, unsigned char *)
+    void (*to_pass_signals) (struct target_ops *, int,
+			     unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals))
       TARGET_DEFAULT_IGNORE ();
 
     /* Documentation of this routine is provided with the
        corresponding target_* function.  */
-    void (*to_program_signals) (struct target_ops *, int, unsigned char *)
+    void (*to_program_signals) (struct target_ops *, int,
+				unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals))
       TARGET_DEFAULT_IGNORE ();
 
     int (*to_thread_alive) (struct target_ops *, ptid_t ptid)
       TARGET_DEFAULT_RETURN (0);
-    void (*to_find_new_threads) (struct target_ops *)
+    void (*to_update_thread_list) (struct target_ops *)
       TARGET_DEFAULT_IGNORE ();
     char *(*to_pid_to_str) (struct target_ops *, ptid_t)
       TARGET_DEFAULT_FUNC (default_pid_to_str);
@@ -560,7 +574,7 @@ struct target_ops
     void (*to_stop) (struct target_ops *, ptid_t)
       TARGET_DEFAULT_IGNORE ();
     void (*to_rcmd) (struct target_ops *,
-		     char *command, struct ui_file *output)
+		     const char *command, struct ui_file *output)
       TARGET_DEFAULT_FUNC (default_rcmd);
     char *(*to_pid_to_exec_file) (struct target_ops *, int pid)
       TARGET_DEFAULT_RETURN (NULL);
@@ -596,10 +610,10 @@ struct target_ops
     char * (*to_make_corefile_notes) (struct target_ops *, bfd *, int *)
       TARGET_DEFAULT_FUNC (dummy_make_corefile_notes);
     /* get_bookmark support method for bookmarks */
-    gdb_byte * (*to_get_bookmark) (struct target_ops *, char *, int)
+    gdb_byte * (*to_get_bookmark) (struct target_ops *, const char *, int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
     /* goto_bookmark support method for bookmarks */
-    void (*to_goto_bookmark) (struct target_ops *, gdb_byte *, int)
+    void (*to_goto_bookmark) (struct target_ops *, const gdb_byte *, int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
     /* Return the thread-local address at OFFSET in the
        thread-local storage for the thread PTID and the shared library
@@ -610,7 +624,8 @@ struct target_ops
     CORE_ADDR (*to_get_thread_local_address) (struct target_ops *ops,
 					      ptid_t ptid,
 					      CORE_ADDR load_module_addr,
-					      CORE_ADDR offset);
+					      CORE_ADDR offset)
+      TARGET_DEFAULT_NORETURN (generic_tls_error ());
 
     /* Request that OPS transfer up to LEN 8-bit bytes of the target's
        OBJECT.  The OFFSET, for a seekable object, specifies the
@@ -815,7 +830,8 @@ struct target_ops
 
 
     /* Implement the "info proc" command.  */
-    void (*to_info_proc) (struct target_ops *, char *, enum info_proc_what);
+    void (*to_info_proc) (struct target_ops *, const char *,
+			  enum info_proc_what);
 
     /* Tracepoint-related operations.  */
 
@@ -1020,13 +1036,15 @@ struct target_ops
       TARGET_DEFAULT_IGNORE ();
 
     /* Print information about the recording.  */
-    void (*to_info_record) (struct target_ops *);
+    void (*to_info_record) (struct target_ops *)
+      TARGET_DEFAULT_IGNORE ();
 
     /* Save the recorded execution trace into a file.  */
     void (*to_save_record) (struct target_ops *, const char *filename)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
-    /* Delete the recorded execution trace from the current position onwards.  */
+    /* Delete the recorded execution trace from the current position
+       onwards.  */
     void (*to_delete_record) (struct target_ops *)
       TARGET_DEFAULT_NORETURN (tcomplain ());
 
@@ -1108,6 +1126,14 @@ struct target_ops
 					 struct gdbarch *gdbarch)
       TARGET_DEFAULT_FUNC (default_target_decr_pc_after_break);
 
+    /* Prepare to generate a core file.  */
+    void (*to_prepare_to_generate_core) (struct target_ops *)
+      TARGET_DEFAULT_IGNORE ();
+
+    /* Cleanup after generating a core file.  */
+    void (*to_done_generating_core) (struct target_ops *)
+      TARGET_DEFAULT_IGNORE ();
+
     int to_magic;
     /* Need sub-structure for target machine related rather than comm related?
      */
@@ -1177,7 +1203,7 @@ extern void target_detach (const char *,
 /* Disconnect from the current target without resuming it (leaving it
    waiting for a debugger).  */
 
-extern void target_disconnect (char *, int);
+extern void target_disconnect (const char *, int);
 
 /* Resume execution of the target process PTID (or a group of
    threads).  STEP says whether to single-step or to run free; SIGGNAL
@@ -1232,7 +1258,7 @@ struct address_space *target_thread_addr
    an error was encountered while attempting to handle the
    request.  */
 
-int target_info_proc (char *, enum info_proc_what);
+int target_info_proc (const char *, enum info_proc_what);
 
 /* Returns true if this target can debug multiple processes
    simultaneously.  */
@@ -1267,8 +1293,7 @@ int target_supports_disable_randomizatio
 
 extern int target_read_string (CORE_ADDR, char **, int, int *);
 
-extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr,
-			       ssize_t len);
+/* For target_read_memory see target/target.h.  */
 
 extern int target_read_raw_memory (CORE_ADDR memaddr, gdb_byte *myaddr,
 				   ssize_t len);
@@ -1277,8 +1302,7 @@ extern int target_read_stack (CORE_ADDR 
 
 extern int target_read_code (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len);
 
-extern int target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr,
-				ssize_t len);
+/* For target_write_memory see target/target.h.  */
 
 extern int target_write_raw_memory (CORE_ADDR memaddr, const gdb_byte *myaddr,
 				    ssize_t len);
@@ -1384,13 +1408,14 @@ extern void target_terminal_ours_for_out
 
 extern void target_terminal_ours (void);
 
-/* Save our terminal settings.
-   This is called from TUI after entering or leaving the curses
-   mode.  Since curses modifies our terminal this call is here
-   to take this change into account.  */
+/* Return true if the target stack has a non-default
+  "to_terminal_ours" method.  */
+
+extern int target_supports_terminal_ours (void);
 
-#define target_terminal_save_ours() \
-     (*current_target.to_terminal_save_ours) (&current_target)
+/* Make a cleanup that restores the state of the terminal to the current
+   state.  */
+extern struct cleanup *make_cleanup_restore_target_terminal (void);
 
 /* Print useful information about our terminal status, if such a thing
    exists.  */
@@ -1413,7 +1438,7 @@ extern void target_kill (void);
    sections.  The target may define switches, or other non-switch
    arguments, as it pleases.  */
 
-extern void target_load (char *arg, int from_tty);
+extern void target_load (const char *arg, int from_tty);
 
 /* Some targets (such as ttrace-based HPUX) don't allow us to request
    notification of inferior events such as fork and vork immediately
@@ -1546,13 +1571,15 @@ extern void target_program_signals (int 
 
 extern int target_thread_alive (ptid_t ptid);
 
-/* Query for new threads and add them to the thread list.  */
+/* Sync the target's threads with GDB's thread list.  */
 
-extern void target_find_new_threads (void);
+extern void target_update_thread_list (void);
 
 /* Make target stop in a continuable fashion.  (For instance, under
-   Unix, this should act like SIGSTOP).  This function is normally
-   used by GUIs to implement a stop button.  */
+   Unix, this should act like SIGSTOP).  Note that this function is
+   asynchronous: it does not wait for the target to become stopped
+   before returning.  If this is the behavior you want please use
+   target_stop_and_wait.  */
 
 extern void target_stop (ptid_t ptid);
 
@@ -1789,12 +1816,12 @@ extern int target_ranged_break_num_regis
    target_stopped_by_watchpoint, in such case place it to *ADDR_P.  Only the
    INFERIOR_PTID task is being queried.  */
 #define target_stopped_data_address(target, addr_p) \
-    (*target.to_stopped_data_address) (target, addr_p)
+    (*(target)->to_stopped_data_address) (target, addr_p)
 
 /* Return non-zero if ADDR is within the range of a watchpoint spanning
    LENGTH bytes beginning at START.  */
 #define target_watchpoint_addr_within_range(target, addr, start, length) \
-  (*target.to_watchpoint_addr_within_range) (target, addr, start, length)
+  (*(target)->to_watchpoint_addr_within_range) (target, addr, start, length)
 
 /* Return non-zero if the target is capable of using hardware to evaluate
    the condition expression.  In this case, if the condition is false when
@@ -2210,9 +2237,6 @@ extern enum btrace_error target_read_btr
 /* See to_stop_recording in struct target_ops.  */
 extern void target_stop_recording (void);
 
-/* See to_info_record in struct target_ops.  */
-extern void target_info_record (void);
-
 /* See to_save_record in struct target_ops.  */
 extern void target_save_record (const char *filename);
 
@@ -2259,4 +2283,10 @@ extern CORE_ADDR forward_target_decr_pc_
 /* See to_decr_pc_after_break.  */
 extern CORE_ADDR target_decr_pc_after_break (struct gdbarch *gdbarch);
 
+/* See to_prepare_to_generate_core.  */
+extern void target_prepare_to_generate_core (void);
+
+/* See to_done_generating_core.  */
+extern void target_done_generating_core (void);
+
 #endif /* !defined (TARGET_H) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-memory.c ./gdb/target-memory.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/target-memory.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/target-memory.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Parts of target interface that deal with accessing memory and memory-like
    objects.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,9 +23,6 @@
 #include "target.h"
 #include "memory-map.h"
 
-#include "gdb_assert.h"
-
-#include <stdio.h>
 #include <sys/time.h>
 
 static int
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/terminal.h ./gdb/terminal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/terminal.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/terminal.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Terminal interface definitions for GDB, the GNU Debugger.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -101,6 +101,10 @@ extern void initialize_stdin_serial (voi
 
 extern int gdb_has_a_terminal (void);
 
+extern void gdb_save_tty_state (void);
+
+extern void set_initial_gdb_ttystate (void);
+
 /* Set the process group of the caller to its own pid, or do nothing
    if we lack job control.  */
 extern int gdb_setpgid (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/cc-with-tweaks.exp ./gdb/testsuite/boards/cc-with-tweaks.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/cc-with-tweaks.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/cc-with-tweaks.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/dwarf4-gdb-index.exp ./gdb/testsuite/boards/dwarf4-gdb-index.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/dwarf4-gdb-index.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/dwarf4-gdb-index.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/fission-dwp.exp ./gdb/testsuite/boards/fission-dwp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/fission-dwp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/fission-dwp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/fission.exp ./gdb/testsuite/boards/fission.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/fission.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/fission.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,7 +27,9 @@ set_board_info compiler "[find_gcc]"
 
 # This requires a relatively recent version of gcc (>4.7) and gold
 # for the linker.
-set_board_info debug_flags "-gdwarf-4 -gsplit-dwarf -fdebug-types-section -Wl,--gdb-index"
+# Note: -ggnu-pubnames is required for Gold to build .gdb_index, and while
+# -gsplit-dwarf implies -ggnu-pubnames for gcc, it doesn't for clang.
+set_board_info debug_flags "-gdwarf-4 -gsplit-dwarf -ggnu-pubnames -fdebug-types-section -Wl,--gdb-index"
 
 # This is needed otherwise dejagnu tries to rsh to host "fission".  Blech.
 # Double blech: set_board_info only sets the value if not already set.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/gdbserver-base.exp ./gdb/testsuite/boards/gdbserver-base.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/gdbserver-base.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/gdbserver-base.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/local-remote-host.exp ./gdb/testsuite/boards/local-remote-host.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/local-remote-host.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/local-remote-host.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/local-remote-host-native.exp ./gdb/testsuite/boards/local-remote-host-native.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/local-remote-host-native.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/boards/local-remote-host-native.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,85 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is a dejagnu "board file" and is used to run the testsuite
+# against local host, in remote host mode.
+#
+# This board file is used to emulate the real remote host testing, in
+# which file system of host and build are not shared.  This is achieved
+# by copying files from source directory to ${host_dir}.
+#
+# To use this file:
+# bash$ cd ${build_dir}/gdb
+# bash$ make check RUNTESTFLAGS="--host_board=local-remote-host-native --target_board=local-remote-host-native HOST_DIR=/tmp/foo/"
+#
+# We set both target board and host board together to test a native gdb
+# (host == target) on a remote host (host != build).  $HOST_DIR is the
+# directory for copying files to, to avoid messing up your HOME.  When
+# it is absent, files are copied to ./remote-host.
+
+if { $board_type == "target" } {
+    set_board_info compiler gcc
+}
+
+# We have to explicitly specify GDB with the path to the copy in
+# the build directory because otherwise it will be set to the
+# result of "transform GDB" since the harness thinks we're using
+# a remote host.  See lib/gdb.exp.
+set GDB [file join [pwd] "../gdb"]
+verbose -log "Overriding setting of GDB to $GDB"
+
+set_board_info hostname 127.0.0.1
+
+set_board_info username $env(USER)
+
+# The ssh key should be correctly set up that you ssh to 127.0.0.1
+# without having to type password.
+set_board_info rsh_prog /usr/bin/ssh
+set_board_info rcp_prog /usr/bin/scp
+set_board_info file_transfer "rsh"
+
+if { ![info exists HOST_DIR] } {
+    set HOST_DIR [file join [pwd] "remote-host"]
+}
+
+if { $board_type == "host" } {
+    set_board_info gdb_opts "-d \"${HOST_DIR}\""
+}
+
+proc ${board}_spawn { board cmd } {
+    global board_info
+
+    set remote [board_info $board hostname]
+    set username [board_info $board username]
+    set RSH [board_info $board rsh_prog]
+
+    spawn $RSH -t -l $username $remote $cmd
+    set board_info($board,fileid) $spawn_id
+    return $spawn_id
+}
+
+proc ${board}_download { board src dest } {
+    global HOST_DIR
+
+    if { ![file exists $HOST_DIR] } {
+	file mkdir $HOST_DIR
+    }
+
+    set destfile [file join $HOST_DIR $dest]
+    verbose -log "${board}_download: file copy -force $src $destfile"
+    file copy -force $src $destfile
+
+    return $destfile
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/local-remote-host-notty.exp ./gdb/testsuite/boards/local-remote-host-notty.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/local-remote-host-notty.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/local-remote-host-notty.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/native-extended-gdbserver.exp ./gdb/testsuite/boards/native-extended-gdbserver.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/native-extended-gdbserver.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/native-extended-gdbserver.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/native-gdbserver.exp ./gdb/testsuite/boards/native-gdbserver.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/native-gdbserver.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/native-gdbserver.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/native-stdio-gdbserver.exp ./gdb/testsuite/boards/native-stdio-gdbserver.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/native-stdio-gdbserver.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/native-stdio-gdbserver.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/remote-stdio-gdbserver.exp ./gdb/testsuite/boards/remote-stdio-gdbserver.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/remote-stdio-gdbserver.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/boards/remote-stdio-gdbserver.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/stabs.exp ./gdb/testsuite/boards/stabs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/boards/stabs.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/boards/stabs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,45 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is a dejagnu "board file" and is used to run the testsuite
+# with stabs support.  Stabs is used less and less these days, ideally
+# it will eventually disappear (hey, one can dream).  Until then, this
+# board file is a simple way to run the testsuite with stabs.
+#
+# Example usage:
+# bash$ make check RUNTESTFLAGS='--target_board=stabs'
+#
+# Another way:
+# make check RUNTESTFLAGS="--target_board=unix/gdb:debug_flags=-gstabs+"
+# While this way doesn't require a board file, this file exists because
+# it's easier for some to find.
+#
+# Note: make check RUNTESTFLAGS=CFLAGS_FOR_TARGET=-gstabs+
+# "works" but kinda accidentally.  The right way to set the flag for
+# specifying debug information is with the debug_flags board config parameter.
+
+# This is copied from baseboards/unix.exp.
+# At the moment this only supports things that unix.exp supports.
+load_generic_config "unix"
+process_multilib_options ""
+set_board_info compiler "[find_gcc]"
+
+# Use -gstabs+ instead of -gstabs for better c++ support.
+set_board_info debug_flags "-gstabs+"
+
+# This is needed otherwise dejagnu tries to rsh to host "stabs".  Blech.
+# Double blech: set_board_info only sets the value if not already set.
+unset_board_info isremote
+set_board_info isremote 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/ChangeLog ./gdb/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,10 +1,785 @@
-2014-12-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
+2015-01-14  Pedro Alves  <palves@redhat.com>
+	    Joel Brobecker  <brobecker@adacore.com>
+
+	PR gdb/17525
+	* gdb.base/bp-cmds-execution-x-script.c: New file.
+	* gdb.base/bp-cmds-execution-x-script.exp: New file.
+	* gdb.base/bp-cmds-execution-x-script.gdb: New file.
+
+2015-01-14  Pedro Alves  <palves@redhat.com>
+
+	PR cli/17828
+	* gdb.base/batch-preserve-term-settings.c: New file.
+	* gdb.base/batch-preserve-term-settings.exp: New file.
+
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* Makefile.in (clean mostlyclean): Do not delete *.py.
+
+2015-01-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.python/py-lookup-type.exp: New file.
+
+2015-01-12  Pedro Alves  <palves@redhat.com>
+
+	* gdb.python/py-prompt.exp: When the board can't spawn for attach,
+	restore GDBFLAGS before returning.
+
+2015-01-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.python/py-frame.exp (test Frame.read_register(rip)): Use
+	is_amd64_regs_target and is_x86_like_target.
+
+2015-01-11  Doug Evans  <xdje42@gmail.com>
+
+	* lib/dwarf.exp (Dwarf): Flag an error if a numeric attribute value
+	is given without an explicit form.
+	* gdb.dwarf2/arr-subrange.exp: Specify forms for all numeric
+	attributes.
+	* gdb.dwarf/corrupt.exp: Ditto.
+	* gdb.dwarf2/enum-type.exp: Ditto.
+	* gdb.trace/entry-values.exp: Ditto.
+	* gdb.trace/unavailable-dwarf-piece.exp: Ditto.
+
+2015-01-11  Doug Evans  <xdje42@gmail.com>
+
+	PR gdb/15830
+	* gdb.base/maint.exp: Remove references to "maint demangle".
+	* gdb.cp/demangle.exp: Update.  "maint demangle" -> "demangle".
+	Add tests for explicitly specifying language to demangle.
+	* gdb.dlang/demangle.exp: Ditto.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/non-stop-fair-events.c: New file.
+	* gdb.threads/non-stop-fair-events.exp: New file.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/annota1.exp (thread_test): Use srcfile and binfile from
+	the global scope.  Set a breakpoint after all threads are started
+	rather than stepping over two source lines.  Expect the prompt.
+	* gdb.base/watch_thread_num.c (threads_started_barrier): New
+	global.
+	(NUM): Now 15.
+	(main): Use threads_started_barrier to wait for all threads to
+	start.  Main thread no longer calls thread_function.  Exit after
+	180 seconds.
+	(loop): New function.
+	(thread_function): Wait on threads_started_barrier barrier.  Call
+	'loop' at each iteration.
+	* gdb.base/watch_thread_num.exp: Continue to breakpoint after all
+	threads have started, instead of hardcoding number of "next"
+	steps.  Use an access watchpoint instead of a write watchpoint.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/ia64-sigill.c (threads_started_barrier): New global.
+	(thread_func): Wait on barrier.
+	(main): Wait for all threads to start before stopping GDB.
+	* gdb.threads/siginfo-threads.c (threads_started_barrier): New
+	global.
+	(thread1_func, thread2_func): Wait on barrier.
+	(main): Wait for all threads to start before stopping GDB.
+	* gdb.threads/watchthreads-reorder.c (threads_started_barrier):
+	New global.
+	(thread1_func, thread2_func): Wait on barrier.
+	(main): Wait for all threads to start before stopping GDB.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/attach-many-short-lived-threads.c: New file.
+	* gdb.threads/attach-many-short-lived-threads.exp: New file.
+
+2014-01-09  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/fork-thread-pending.exp: Switch to the main thread
+	instead of to thread 2.
+	* gdb.threads/signal-command-multiple-signals-pending.c (main):
+	Add barrier around each pthread_create call instead of around all
+	calls.
+	* gdb.threads/signal-command-multiple-signals-pending.exp (test):
+	Set a break on thread_function and have the child threads hit it
+	one at at a time.
+
+2015-01-09  Pedro Alves  <palves@redhat.com>
+
+	* lib/gdb.exp (can_spawn_for_attach): New procedure.
+	(spawn_wait_for_attach): Error out if can_spawn_for_attach returns
+	false.
+	* gdb.base/attach.exp: Use can_spawn_for_attach instead of
+	checking whether the target board is remote.
+	* gdb.multi/multi-attach.exp: Likewise.
+	* gdb.python/py-sync-interp.exp: Likewise.
+	* gdb.server/ext-attach.exp: Likewise.
+	* gdb.python/py-prompt.exp: Use can_spawn_for_attach before the
+	tests that need to attach, instead of checking whether the target
+	board is remote at the top of the file.
+
+2015-01-08  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.trace/entry-values.exp: Set call_insn for MIPS target.
+
+2015-01-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix testcase compilation.
+	* gdb.arch/i386-avx512.exp (comp_flags): Remove /common.
+
+2015-01-06  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.python/py-type.exp: Add a couple test about empty
+	array creation, and negative-length array creation.
+
+2015-01-02  Doug Evans  <xdje42@gmail.com>
+
+	* gdb.cp/nsalias.exp: Fix output of external/declaration flags.
+
+2015-01-02  Doug Evans  <dje@google.com>
+
+	* gdb.dwarf2/dw4-sig-types.exp: Also pass -fdebug-types-section to gcc.
+
+2014-12-29  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.trace/entry-values.exp: Update comments.  Rename variable
+	bar_call_foo to returned_from_foo.
+
+2014-12-20  Mihail-Marian Nistor  <mihail.nistor@freescale.com>
+
+	PR gdb/17394
+	* gdb.linespec/break-asm-file.c: New file.
+	* gdb.linespec/break-asm-file.exp: New file.
+	* gdb.linespec/break-asm-file0.s: New file.
+	* gdb.linespec/break-asm-file1.s: New file.
+
+2014-12-18  Nigel Stephens  <nigel@mips.com>
+	    Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* gdb.base/float.exp: Handle the new output from "info float" on
+	MIPS targets.
+
+2014-12-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix MinGW compilation.
+	* gdb.compile/compile-ops.exp: Update untested message if
+	!skip_compile_feature_tests.
+	* gdb.compile/compile-setjmp.exp: Likewise.
+	* gdb.compile/compile-tls.exp: Likewise.
+	* gdb.compile/compile.exp: Likewise.
+	* lib/gdb.exp (skip_compile_feature_tests): Check also "Command not
+	supported on this host".
+
+2014-12-16  Doug Evans  <xdje42@gmail.com>
+
+	* boards/stabs.exp: New file.
+
+2014-12-16  Andreas Arnez  <arnez@vnet.linux.ibm.com>
+
+	* gdb.base/completion.exp: Adjust to format changes of "maint
+	print user-registers".
+
+2014-12-16  Catalin Udma  <catalin.udma@freescale.com>
+
+	PR server/17457
+	* gdb.arch/aarch64-fp.c: New file.
+	* gdb.arch/aarch64-fp.exp: New file.
+
+2014-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	Merge dg-extract-results.{sh,py} from GCC upstream (r210243,
+	r210637, r210913, r211666, r215400, r215817).
+
+	2014-05-08  Richard Sandiford  <rdsandiford@googlemail.com>
+		* dg-extract-results.py: New file.
+		* dg-extract-results.sh: Use it if the environment seems
+		suitable.
+
+	2014-05-20  Richard Sandiford  <rdsandiford@googlemail.com>
+
+		* dg-extract-results.py (parse_run): Handle warnings that
+		are printed before a test harness is run.
+
+	2014-05-25  Richard Sandiford  <rdsandiford@googlemail.com>
+
+		* dg-extract-results.py (Named): Remove __cmp__ method.
+		(output_variation): Use a key to sort variation.harnesses.
+
+	2014-06-14  Richard Sandiford  <rdsandiford@googlemail.com>
+
+		* dg-extract-results.py: For Python 3, force sys.stdout to
+		handle surrogate escape sequences.
+		(safe_open): New function.
+		(output_segment, main): Use it.
+
+	2014-09-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+		* dg-extract-results.py (Prog.result_re): Include options
+		in test name.
+
+	2014-10-02  Segher Boessenkool  <segher@kernel.crashing.org>
+
+		* dg-extract-results.py (output_variation): Always sort if
+		do_sum.
+
+2014-12-15  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* lib/gdb.exp (default_gdb_start): After starting gdb, loop
+	as long as we get pagination notifications.
+
+2014-12-15  Jason Merrill  <jason@redhat.com>
+
+	* Makefile.in (check-gdb.%): Restore.
+	* README: Mention it.
+
+2014-12-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/str_uninit: New testcase.
+
+2014-12-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
 	PR symtab/17642
 	* gdb.base/vla-stub-define.c: New file.
 	* gdb.base/vla-stub.c: New file.
 	* gdb.base/vla-stub.exp: New file.
 
+2014-12-12  Phil Muldoon  <pmuldoon@redhat.com>
+	    Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* configure.ac: Add gdb.compile/.
+	* configure: Regenerate.
+	* gdb.compile/Makefile.in: New file.
+	* gdb.compile/compile-ops.exp: New file.
+	* gdb.compile/compile-ops.c: New file.
+	* gdb.compile/compile-tls.c: New file.
+	* gdb.compile/compile-tls.exp: New file.
+	* gdb.compile/compile-constvar.S: New file.
+	* gdb.compile/compile-constvar.c: New file.
+	* gdb.compile/compile-mod.c: New file.
+	* gdb.compile/compile-nodebug.c: New file.
+	* gdb.compile/compile-setjmp-mod.c: New file.
+	* gdb.compile/compile-setjmp.c: New file.
+	* gdb.compile/compile-setjmp.exp: New file.
+	* gdb.compile/compile-shlib.c: New file.
+	* gdb.compile/compile.c: New file.
+	* gdb.compile/compile.exp: New file.
+	* lib/gdb.exp (skip_compile_feature_tests): New proc.
+
+2014-12-12  Tom Tromey  <tromey@redhat.com>
+
+	* lib/dwarf.exp (_location): Ignore blank lines.  Allow comments.
+	Handle DW_OP_pick, DW_OP_skip, DW_OP_bra.
+
+2014-12-12  Doug Evans  <dje@google.com>
+
+	* lib/gdb-python.exp (get_python_valueof): New function.
+	* gdb.python/py-objfile.exp: Add tests for gdb.lookup_objfile.
+
+2014-12-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/completion.exp: Add test for completion of "info
+	registers ".
+
+2014-12-12  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* gdb.base/func-ptrs.c: New file.
+	* gdb.base/func-ptrs.exp: New file.
+
+2014-12-10  Simon Marchi  <simon.marchi@ericsson.com>
+
+	PR breakpoints/17012
+	* gdb.base/dprintf-detach.c: New file.
+	* gdb.base/dprintf-detach.exp: New file.
+
+2014-12-10  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.trace/qtro.exp: Replace gdbserver detection code by...
+	* lib/gdb.exp (target_is_gdbserver): New procedure.
+
+2014-12-08  Doug Evans  <dje@google.com>
+
+	* gdb.python/py-objfile.exp: Add tests for objfile.owner.
+
+2014-12-05  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.guile/scm-error.exp: Remove the third argument to
+	gdb_remote_download.
+	* gdb.guile/scm-frame-args.exp: Likewise.
+	* gdb.guile/scm-section-script.exp: Likewise.
+
+2014-12-05  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.arch/i386-bp_permanent.exp: Use standard_testfile.
+
+2014-12-04  Doug Evans  <dje@google.com>
+
+	* gdb.python/py-objfile.exp: Add tests for
+	objfile.add_separate_debug_file.
+
+2014-12-04  Doug Evans  <dje@google.com>
+
+	* lib/gdb.exp (get_build_id): New function.
+	(build_id_debug_filename_get): Rewrite to use it.
+	* gdb.python/py-objfile.exp: Add test for objfile.build_id.
+
+2014-12-04  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* gdb.cp/expand-psymtabs-cxx.exp: Accept any address of
+	`method(long)', not just 0x0.
+	* gdb.cp/nsalias.exp: Align code labels to 4.
+	* gdb.dwarf2/dw2-canonicalize-type.S (main): Expand to 4-bytes.
+	* gdb.dwarf2/dw2-empty-pc-range.S (main): Likewise.
+	* gdb.dwarf2/pr11465.S (_ZN1N1cE): Likewise.
+	* gdb.dwarf2/dw2-case-insensitive.c (START_INSNS): New macro.
+	(cu_text_start, FUNC_lang_start): Use `START_INSNS'.
+	* gdb.dwarf2/dw2-stack-boundary.exp: Accept noise in complaints.
+
+2014-12-02  Doug Evans  <dje@google.com>
+
+	PR symtab/17602
+	* gdb.cp/anon-ns.cc: Move guts of this file to ...
+	* gdb.cp/anon-ns2.cc: ... here.  New file.
+	* gdb.cp/anon-ns.exp: Update.
+
+2014-12-02  Nick Bull  <nicholaspbull@gmail.com>
+
+	* gdb.python/py-events.py (inferior_call_handler): New.
+	(register_changed_handler, memory_changed_handler): New.
+	(test_events.invoke): Register new handlers.
+	* gdb.python/py-events.exp: Add tests for inferior call,
+	memory_changed and register_changed events.
+
+2014-12-02  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/execl-update-breakpoints.exp: Specify the link address
+	with '-Ttext-segment' instead of '-Ttext'.  Fall back to '-Ttext'
+	if the linker doesn't understand this.
+
+2014-12-01  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.python/python.exp: Change expected reply to help().
+
+2014-12-01  Yao Qi  <yao@codesourcery.com>
+
+	* configure.ac: Remove AC_ARG_ENABLE for gdbtk.  Don't invoke
+	AC_CONFIG_SUBDIRS(gdb.gdbtk).
+	* configure: Re-generated.
+
+2014-11-28  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* gdb.cp/chained-calls.cc: New file.
+	* gdb.cp/chained-calls.exp: New file.
+	* gdb.cp/smartp.exp: Remove KFAIL for "p c2->inta".
+
+2014-11-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.ada/py_range.exp: Add parentheses to python calls to print.
+	* gdb.dwarf2/symtab-producer.exp: Same.
+	* gdb.gdb/python-interrupts.exp: Same.
+	* gdb.gdb/python-selftest.exp: Same.
+	* gdb.python/py-linetable.exp: Same.
+	* gdb.python/py-type.exp: Same.
+	* gdb.python/py-value-cc.exp: Same.
+	* gdb.python/py-value.exp: Same.
+
+2014-11-28  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/break-probes.exp: Match library name prefixed with
+	sysroot.
+
+2014-11-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.python/py-linetable.exp: Escape properly sorted(fset)
+	test expected output.  Add parentheses for the call to print.
+	Remove L suffix from integers.
+
+2014-11-26  Doug Evans  <dje@google.com>
+
+	* gdb.dwarf2/dw2-op-out-param.S: Fix comment.
+
+2014-11-22  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.trace/entry-values.c: Remove asms.
+	(foo): Add foo_label.
+	(bar): Add bar_label.
+	* gdb.trace/entry-values.exp: Remove code computing  foo's
+	length and bar's length.
+	(Dwarf::assemble): Invoke function_range for bar and use
+	MACRO_AT_func for foo.
+
+2014-11-22  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.dwarf2/dw2-compdir-oldgcc.S: Define label .Lgcc42_procstart
+	and .Lgcc43_procstart.  Use .Lgcc42_procstart instead of gcc42.
+	Use .Lgcc43_procstart instead of gcc43.
+
+2014-11-21  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/n_arr_bound: New testcase.
+
+2014-11-20  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR breakpoints/10737
+	* gdb.base/catch-syscall.exp (do_syscall_tests): Call
+	test_catch_syscall_multi_arch.
+	(test_catch_syscall_multi_arch): New function.
+
+2014-11-20  Doug Evans  <xdje42@gmail.com>
+
+	* gdb.base/maint.exp: Update expected output.
+
+2014-11-19  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/bp-permanent.c (NOP): Define as 2-byte instead of
+	4-byte instruction on S390.
+
+2014-11-19  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/arr_arr: New testcase.
+
+2014-11-19  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/pkd_arr_elem: New Testcase.
+
+2014-11-18  Luis Machado  <lgustavo@codesourcery.com>
+
+	* gdb.reverse/break-precsave: Expect completion message for
+	core file reads.
+	* gdb.reverse/consecutive-precsave.exp: Likewise.
+	* gdb.reverse/finish-precsave.exp: Likewise.
+	* gdb.reverse/i386-precsave.exp: Likewise.
+	* gdb.reverse/machinestate-precsave.exp: Likewise.
+	* gdb.reverse/sigall-precsave.exp: Likewise.
+	* gdb.reverse/solib-precsave.exp: Likewise.
+	* gdb.reverse/step-precsave.exp: Likewise.
+	* gdb.reverse/until-precsave.exp: Likewise.
+	* gdb.reverse/watch-precsave.exp: Likewise.
+
+2014-11-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/bp-permanent.c: Include unistd.h.
+	* gdb.python/py-framefilter-mi.c (main): Add return type.
+	* gdb.python/py-framefilter.c (main): Likewise.
+	* gdb.trace/actions-changed.c (main): Likewise.
+
+2014-11-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.mi/until.c: Add eye-catchers.
+	* gdb.mi/mi-until.exp: Refer to eye-catchers instead of literal
+	line numbers.
+
+2014-11-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/condbreak.exp: Drop references to removed non-prototype
+	function header variants in break1.c.
+	* gdb.base/ena-dis-br.exp: Likewise.
+	* gdb.base/hbreak2.exp: Likewise.
+	* gdb.reverse/until-precsave.exp: Drop references to removed
+	non-prototype function header variants in ur1.c.
+	* gdb.reverse/until-reverse.exp: Likewise.
+
+2014-11-17  Petr Machata  <pmachata@redhat.com>
+
+	* lib/dwarf.exp  (Dwarf::cu, Dwarf::tu): Emit
+	${_cu_offset_size} bytes abbrev offset.
+
+2014-11-15  Doug Evans  <xdje42@gmail.com>
+
+	PR symtab/17559
+	* gdb.base/line-symtabs.exp: New file.
+	* gdb.base/line-symtabs.c: New file.
+	* gdb.base/line-symtabs.h: New file.
+
+2014-11-14  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.dwarf2/dw2-ifort-parameter.c: Remove inline asm.
+	(func): Add label func_label.
+	* gdb.dwarf2/dw2-ifort-parameter.exp (Dwarf::assemble):
+	Replace low_pc and high_pc with MACRO_AT_range.
+	Replace name, low_pc and high_pc with MACRO_AT_func.
+
+2014-11-14  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble):
+	Replace name, low_pc and high_pc with MACRO_AT_func.
+
+2014-11-14  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.dwarf2/implptr-optimized-out.exp: Use Dwarf::assemble to
+	produce debug information.
+	* gdb.dwarf2/implptr-optimized-out.S: Removed.
+
+2014-11-14  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.dwarf2/dwz.exp: Remove the code to compile main.c to
+	object and get function length.
+	(Dwarf::assemble): Replace name, low_pc and high_pc attributes
+	with MACRO_AT_func.
+	(top-level): Replace gdb_compile and clean_restart with
+	prepare_for_testing.
+	* gdb.dwarf2/main.c (main): Add label main_label.
+
+2014-11-14  Yao Qi  <yao@codesourcery.com>
+
+	* lib/dwarf.exp (function_range): New procedure.
+	(Dwarf::_handle_macro_at_func): New procedure.
+	(Dwarf::_handle_macro_at_range): New procedure.
+	(Dwarf): Handle MACRO_AT_func and MACRO_AT_range.
+
+2014-11-14  Yao Qi  <yao@codesourcery.com>
+
+	* lib/dwarf.exp (_handle_DW_TAG): Move some code to ...
+	(_handle_attribute): New procedure.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.ada/cond_lang/foo.c (callme): Add return type.
+	* gdb.base/call-sc.c (zed): Likewise.
+	* gdb.base/checkpoint.c (main): Likewise.
+	* gdb.base/dump.c (main): Likewise.
+	* gdb.base/gcore.c (main): Likewise.
+	* gdb.base/huge.c (main): Likewise.
+	* gdb.base/multi-forks.c (main): Likewise.
+	* gdb.base/pr10179-a.c (main): Likewise.
+	* gdb.base/savedregs.c (main): Likewise.
+	* gdb.base/sigaltstack.c (main): Likewise.
+	* gdb.base/siginfo.c (main): Likewise.
+	* gdb.base/structs.c (zed): Likewise.
+	* gdb.mi/mi-stack.c (callee3, callee2, callee1, main): Likewise.
+	* gdb.mi/mi-syn-frame.c (main): Likewise.
+	* gdb.mi/until.c (foo, main): Likewise.
+	* gdb.base/global-var-nested-by-dso.c (b_main, c_main): Declare.
+	* gdb.base/solib-weak.c (foo): Declare.
+	* gdb.base/attach-twice.c: Include stdio.h.
+	* gdb.base/weaklib1.c: Likewise.
+	* gdb.base/weaklib2.c: Likewise.
+	* gdb.base/catch-signal-fork.c: Include stdio.h and sys/wait.h.
+	* gdb.mi/mi-condbreak-call-thr-state-mt.c: Include stdio.h and
+	unistd.h.
+	* gdb.base/attach-pie-misread.c: Include stdlib.h.
+	* gdb.mi/mi-exit-code.c: Likewise.
+	* gdb.base/break-interp-lib.c: Include string.h.
+	* gdb.base/coremaker.c: Likewise.
+	* gdb.base/testenv.c: Likewise.
+	* gdb.python/py-finish-breakpoint.c: Likewise.
+	* gdb.base/inferior-died.c: Include sys/wait.h.
+	* gdb.base/fileio.c: Include time.h.
+	* gdb.base/async-shell.c: Include unistd.h.
+	* gdb.base/dprintf-non-stop.c: Likewise.
+	* gdb.base/info-os.c: Likewise.
+	* gdb.mi/mi-console.c: Likewise.
+	* gdb.mi/watch-nonstop.c: Likewise.
+	* gdb.python/py-events.c: Likewise.
+	* gdb.base/async.c (baz): Move up before its invocation.
+	* gdb.base/code_elim2.c (my_global_func): Likewise.
+	* gdb.base/skip-solib-lib.c (multiply): Likewise.
+	* gdb.base/advance.c (func2): Likewise.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/annota1.c: Remove #ifdef PROTOTYPES, keep prototyped
+	variant.
+	* gdb.base/annota3.c: Likewise.
+	* gdb.base/async.c: Likewise.
+	* gdb.base/average.c: Likewise.
+	* gdb.base/call-ar-st.c: Likewise.
+	* gdb.base/call-rt-st.c: Likewise.
+	* gdb.base/call-sc.c: Likewise.
+	* gdb.base/call-strs.c: Likewise.
+	* gdb.base/ending-run.c: Likewise.
+	* gdb.base/execd-prog.c: Likewise.
+	* gdb.base/exprs.c: Likewise.
+	* gdb.base/foll-exec.c: Likewise.
+	* gdb.base/foll-fork.c: Likewise.
+	* gdb.base/foll-vfork.c: Likewise.
+	* gdb.base/funcargs.c: Likewise.
+	* gdb.base/gcore.c: Likewise.
+	* gdb.base/jump.c: Likewise.
+	* gdb.base/langs0.c: Likewise.
+	* gdb.base/langs1.c: Likewise.
+	* gdb.base/langs2.c: Likewise.
+	* gdb.base/mips_pro.c: Likewise.
+	* gdb.base/nodebug.c: Likewise.
+	* gdb.base/opaque0.c: Likewise.
+	* gdb.base/opaque1.c: Likewise.
+	* gdb.base/recurse.c: Likewise.
+	* gdb.base/run.c: Likewise.
+	* gdb.base/scope0.c: Likewise.
+	* gdb.base/scope1.c: Likewise.
+	* gdb.base/setshow.c: Likewise.
+	* gdb.base/setvar.c: Likewise.
+	* gdb.base/shmain.c: Likewise.
+	* gdb.base/shr1.c: Likewise.
+	* gdb.base/shr2.c: Likewise.
+	* gdb.base/sigall.c: Likewise.
+	* gdb.base/signals.c: Likewise.
+	* gdb.base/so-indr-cl.c: Likewise.
+	* gdb.base/solib2.c: Likewise.
+	* gdb.base/structs.c: Likewise.
+	* gdb.base/sum.c: Likewise.
+	* gdb.base/vforked-prog.c: Likewise.
+	* gdb.base/watchpoint.c: Likewise.
+	* gdb.reverse/shr2.c: Likewise.
+	* gdb.reverse/until-reverse.c: Likewise.
+	* gdb.reverse/ur1.c: Likewise.
+	* gdb.reverse/watch-reverse.c: Likewise.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/sepdebug.c: Remove #ifdef PROTOTYPES, keep prototyped
+	variant.
+	* gdb.base/sepdebug.exp: Drop references to removed code.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/list0.h: Remove #ifdef PROTOTYPES, keep prototyped
+	variant.  Preserve original line numbering.
+	* gdb.base/list1.c: Likewise.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/break.c: Remove #ifdef PROTOTYPES, keep prototyped
+	variant.
+	* gdb.base/break1.c: Likewise.
+	* gdb.base/break.exp: Drop references to removed code.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/solib1.c: Remove #ifdef PROTOTYPES, keep prototyped
+	variant.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/callfuncs.exp (perform_all_tests): Re-indent.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/callfuncs.exp: Remove 'prototypes' variable.  Move main
+	logic into perform_all_tests() and invoke it with and without
+	function header prototypes.
+	(do_function_calls): Remove conditional XFAIL for PR 5318.
+	(rerun_and_prepare): Remove duplicate code.
+	(perform_all_tests): New.  Main logic moved here.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/callfuncs.c (t_float_many_args): Fix syntax error in
+	code guarded by #ifdef NO_PROTOTYPES.
+	(t_double_many_args): Likewise.
+	(DEF_FUNC_MANY_ARGS_1): Likewise.
+	(DEF_FUNC_VALUES_1): Likewise.
+	(t_structs_ldc): Renamed from t_structs_fc in conditional code
+	guarded by #ifdef PROTOTYPES.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.mi/mi-console.c: Add eye-catcher.
+	* gdb.mi/mi-console.exp (semihosted_string): Refer to eye-catcher
+	instead of literal line number.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/shr2.c: Add eye-catcher.
+	* gdb.base/shlib-call.exp: Refer to eye-catcher instead of literal
+	line number.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/jump.c: Add eye-catchers.
+	* gdb.base/jump.exp: Refer to eye-catchers instead of literal line
+	numbers.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/execd-prog.c: Add eye-catchers.
+	* gdb.base/foll-exec.c: Likewise.
+	* gdb.base/foll-exec.exp: Refer to eye-catchers instead of literal
+	line numbers.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/ending-run.c: Add eye-catchers.
+	* gdb.base/ending-run.exp: Refer to eye-catchers instead of
+	literal line numbers.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/call-rt-st.c: Add eye-catchers.
+	* gdb.base/call-rt-st.exp: Refer to eye-catchers instead of
+	literal line numbers.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/call-ar-st.c: Add eye-catchers.
+	* gdb.base/call-ar-st.exp: Refer to eye-catchers instead of
+	literal line numbers.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/average.c: Add eye-catchers.
+	* gdb.base/sum.c: Likewise.
+	* gdb.base/dbx.exp: Use eye-catchers to determine line numbers for
+	regexps dynamically.
+
+2014-11-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/solib1.c: Add eye-catchers.
+	* gdb.base/so-impl-ld.exp: Match against eye-catchers instead of
+	literal line numbers.
+
+2014-11-12  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/leader-exit.exp: Test sending ctrl-c works after the
+	leader has exited.
+
+2014-11-12  Pedro Alves  <palves@redhat.com>
+
+	* gdb.arch/i386-bp_permanent.c: New file.
+	* gdb.arch/i386-bp_permanent.exp: Don't skip on x86_64.
+	(srcfile): Set to i386-bp_permanent.c.
+	(top level): Adjust to work in both 32-bit and 64-bit modes.  Test
+	that stepi does not execute the 'leave' instruction, instead of
+	testing it does execute.
+	* gdb.base/bp-permanent.c: New file.
+	* gdb.base/bp-permanent.exp: New file.
+
+2014-11-10  Doug Evans  <xdje42@gmail.com>
+
+	PR symtab/17564
+	* gdb.base/symtab-search-order.exp: New file.
+	* gdb.base/symtab-search-order.c: New file.
+	* gdb.base/symtab-search-order-1.c: New file.
+	* gdb.base/symtab-search-order-shlib-1.c: New file.
+
+2014-11-07  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17511
+	* gdb.base/sigstep.exp (in_handler_map) <si+advance>: xfail
+	i?86-*-linux*.
+
+2014-11-03  Siva Chandra Reddy  <sivachandra@google.com>
+
+	PR c++/17494
+	* gdb.cp/pr17494.cc: New file.
+	* gdb.cp/pr17494.exp: New file.
+
+2014-11-02  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.python/python.exp: Get working directory and match the
+	output of "set extended-prompt \\w " with it.
+
+2014-10-30  Doug Evans  <dje@google.com>
+
+	* gdb.python/py-objfile.exp: Add tests for setting random attributes
+	in objfiles.
+	* gdb.python/py-progspace.exp: Add tests for setting random attributes
+	in progspaces.
+
+2014-10-30  Janis Johnson  <janisjo@codesourcery.com>
+
+	* gdb.base/fullpath-expand.exp: Skip for a remote host.
+	* gdb.base/realname-expand.exp: Likewise.
+	* gdb.linespec/macro-relative.exp: Likewise.
+
 2014-10-29  Pedro Alves  <palves@redhat.com>
 
 	PR gdb/17408
@@ -40,6 +815,204 @@
 	interactive Python.
 	* gdb.base/multi-line-starts-subshell.exp: New file.
 
+2014-10-29  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/fileio.exp: Make directories on host.
+
+2014-10-29  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/fileio.c (test_write): Close the file.
+
+2014-10-28  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/12623
+	* gdb.base/sigstep.c (no_handler): New global.
+	(main): If 'no_handler is true, set the signal handlers to
+	SIG_IGN.
+	* gdb.base/sigstep.exp (breakpoint_over_handler): Add
+	with_sw_watch and no_handler parameters.  Handle them.
+	(top level) <stepping over handler when stopped at a breakpoint
+	test>: Add a test axis for testing with a software watchpoint, and
+	another for testing with the signal handler set to SIG_IGN.
+	* gdb.base/step-sw-breakpoint-adjust-pc.c: New file.
+	* gdb.base/step-sw-breakpoint-adjust-pc.exp: New file.
+
+2014-10-28  Pedro Alves  <palves@redhat.com>
+
+	PR gdb/17511
+	* gdb.base/sigstep.c (handler): Add a few more writes to 'done'.
+	* gdb.base/sigstep.exp (other_handler_location): New global.
+	(advance): Support stepping into the signal handler, and running
+	commands while in the handler.
+	(in_handler_map): New global.
+	(top level): In the advance test, add combinations for getting
+	into the handler with stepping commands, and for running commands
+	in the handler.  Add comment descripting the advancei tests.
+
+2014-10-28  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/sigstep.exp: Use build_executable instead of
+	prepare_for_testing.
+	(top level): Move code that starts GDB, runs to main and creates a
+	display to ...
+	(restart): ... this new procedure.
+	(top level): Move backtrace from signal handler test to ...
+	(validate_backtrace): ... this new procedure.
+	(advance, advancei): Rename parameter from 'i' to 'cmd'.  Use
+	with_test_prefix.  Always restart GDB.
+	(skip_to_handler): Rename parameter from 'i' to 'cmd'.  Use
+	with_test_prefix.  Always restart GDB.  No need to delete
+	breakpoints after the test.
+	(test_skip_handler): Remove prefix parameter.
+	(skip_over_handler, breakpoint_to_handler)
+	(breakpoint_to_handler_entry, breakpoint_over_handler): Rename
+	parameter from 'i' to 'cmd'.  Use with_test_prefix.  Always
+	restart GDB.  No need to delete breakpoints after the test.
+	(top level): Use foreach to call the test procedures with
+	different commands.
+
+2014-10-28  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/sigaltstack.exp: Update to use Bugzilla bug numbers
+	instead of GNATS numbers.
+	* gdb.base/sigbpt.exp: Likewise.
+	* gdb.base/siginfo.exp: Likewise.
+	* gdb.base/sigstep.exp: Likewise.
+
+2014-10-27  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/sigstep.c (dummy): New global.
+	(main): Issue a couple writes to the new global.
+	* gdb.base/sigstep.exp (get_next_pc, test_skip_handler): New
+	procedures.
+	(skip_over_handler): Use test_skip_handler.
+	(top level): Call skip_over_handler for stepi and nexti too.
+	(breakpoint_over_handler): Use test_skip_handler.
+	(top level): Call breakpoint_over_handler for stepi and nexti too.
+
+2014-10-27  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.trace/tfile.c (adjust_function_address)
+	[__powerpc64__ && _CALL_ELF != 2]: Get function address from
+	function descriptor.
+
+2014-10-24  Don Breazeal  <donb@codesourcery.com>
+
+	* gdb.base/foll-fork.exp (test_follow_fork,
+	catch_fork_child_follow): Check for updated fork messages emitted
+	from infrun.c.
+	* gdb.base/foll-vfork.exp (vfork_parent_follow_through_step,
+	vfork_parent_follow_to_bp, vfork_and_exec_child_follow_to_main_bp,
+	vfork_and_exec_child_follow_through_step): Check for updated vfork
+	messages emitted from infrun.c.
+
+2014-10-24  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/corefile.exp: Remove references to ultrix.
+	* gdb.base/interrupt.exp: Likewise.
+	* gdb.base/whatis.exp: Likewise.
+	* gdb.gdb/selftest.exp: Likewise.
+	* gdb.threads/manythreads.exp: Likewise.
+	* gdb.threads/print-threads.exp: Likewise.
+	* gdb.threads/pthreads.exp:: Likewise.
+	* gdb.threads/schedlock.exp: Likewise.
+
+2014-10-24  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* gdb.cp/non-trivial-retval.cc: Add a test case.
+	* gdb.cp/non-trivial-retval.exp: Add a test.
+
+2014-10-20  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.python/py-objfile-script-gdb.py.in: Rename it to ...
+	* gdb.python/py-objfile-script-gdb.py: New file.
+	* gdb.python/py-objfile-script.exp: Update reference to
+	py-objfile-script-gdb.py.in.  Use gdb_remote_donwload instead
+	of remote_download.  Remove the dest file.
+
+2014-10-20  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/checkpoint.exp: Don't remove file copied on host.
+	* gdb.base/step-line.exp: Likewise.
+	* gdb.dwarf2/dw2-anonymous-func.exp: Likewise.
+	* gdb.dwarf2/dw2-basic.exp: Likewise.
+	* gdb.dwarf2/dw2-compressed.exp: Likewise.
+	* gdb.dwarf2/dw2-filename.exp: Likewise.
+	* gdb.dwarf2/dw2-intercu.exp: Likewise.
+	* gdb.dwarf2/dw2-intermix.exp: Likewise.
+	* gdb.dwarf2/dw2-producer.exp: Likewise.
+	* gdb.dwarf2/mac-fileno.exp: Likewise.
+	* gdb.python/py-frame-args.exp: Likewise.
+	* gdb.python/py-framefilter.exp: Likewise.
+	* gdb.python/py-mi.exp: Likewise.
+	* gdb.python/py-objfile-script.exp: Likewise
+	* gdb.python/py-pp-integral.exp: Likewise.
+	* gdb.python/py-pp-re-notag.exp: Likewise.
+	* gdb.python/py-prettyprint.exp: Likewise.
+	* gdb.python/py-section-script.exp: Likewise.
+	* gdb.python/py-typeprint.exp: Likewise.
+	* gdb.python/py-xmethods.exp: Likewise.
+	* gdb.stabs/weird.exp: Likewise.
+	* gdb.xml/tdesc-regs.exp: Likewise.
+
+2014-10-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* gdb.dwarf2/dw2-dir-file-name.exp (addr_len): New.
+	(out_cu): Use addr_len for the size of addresses.
+	(out_line): Likewise.  Size DW_LNE_set_address instruction
+	according to addr_len.
+	* gdb.dwarf2/dw2-dir-file-name.c (START_INSNS): New.
+	(FUNC): Add START_INSNS to definition.
+
+2014-10-18  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/argv0-symlink.exp: Check argv[0] value if
+	gdb_has_argv0 return true.
+	* gdb.guile/scm-value.exp (test_value_in_inferior): Don't
+	check [target_info exists noargs], check [gdb_has_argv0]
+	instead.
+	* gdb.python/py-value.exp (test_value_in_inferior): Likewise.
+	* lib/gdb.exp (gdb_has_argv0, gdb_has_argv0_1): New
+	procedures.
+
+2014-10-17  Doug Evans  <dje@google.com>
+
+	* gdb.python/py-events.exp: Update expected output for clear_objfiles
+	event.
+	* gdb.python/py-events.py: Add clear_objfiles event.
+
+2014-10-17  Doug Evans  <dje@google.com>
+
+	* gdb.python/py-objfile.exp: Test progspace attribute.
+
+2014-10-17  Luis Machado  <lgustavo@codesourcery.com>
+
+	* gdb.guile/scm-breakpoint.exp: Do not assume any
+	directory separators when matching source file paths.
+	* gdb.python/py-breakpoint.exp: Likewise.
+	* gdb.reverse/break-precsave.exp: Likewise.
+	* gdb.reverse/break-reverse.exp: Likewise.
+	* gdb.reverse/consecutive-precsave.exp: Likewise.
+	* gdb.reverse/finish-precsave.exp: Likewise.
+	* gdb.reverse/finish-reverse-bkpt.exp: Likewise.
+	* gdb.reverse/finish-reverse.exp: Likewise.
+	* gdb.reverse/i386-precsave.exp: Likewise.
+	* gdb.reverse/i387-env-reverse.exp: Likewise.
+	* gdb.reverse/i387-stack-reverse.exp: Likewise.
+	* gdb.reverse/machinestate-precsave.exp: Likewise.
+	* gdb.reverse/machinestate.exp: Likewise.
+	* gdb.reverse/sigall-precsave.exp: Likewise.
+	* gdb.reverse/solib-precsave.exp: Likewise.
+	* gdb.reverse/step-precsave.exp: Likewise.
+	* gdb.reverse/until-precsave.exp: Likewise.
+	* gdb.reverse/watch-precsave.exp: Likewise.
+	* gdb.reverse/watch-reverse.exp: Likewise.
+
+2014-10-17  Yao Qi  <yao@codesourcery.com>
+
+	* lib/gdb.exp (gdb_skip_xml_test): Copy trivial.xml to host.
+	* gdb.xml/tdesc-regs.exp: Copy single-reg.xml to host.
+
 2014-10-17  Pedro Alves  <palves@redhat.com>
 
 	PR gdb/17471
@@ -58,6 +1031,369 @@
 	* gdb.base/annota-input-while-running.c: New file.
 	* gdb.base/annota-input-while-running.exp: New file.
 
+2014-10-17  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/callfuncs.exp: emove references to osf.
+	* gdb.base/sigall.exp: Likewise.
+	* gdb.gdb/selftest.exp: Likewise.
+	* gdb.hp/gdb.base-hp/callfwmall.exp: Likewise.
+	* gdb.mi/non-stop.c: Likewise.
+	* gdb.mi/pthreads.c: Likewise.
+	* gdb.reverse/sigall-precsave.exp: Likewise.
+	* gdb.reverse/sigall-reverse.exp: Likewise.
+	* gdb.threads/pthreads.c: Likewise.
+	* gdb.threads/pthreads.exp: Likewise.
+
+2014-10-17  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/commands.exp (gdbvar_complex_if_while_test): Don't
+	check 'target_info exists noargs'.
+	(test_command_prompt_position): Likewise.
+	(progvar_simple_if_test): Don't check 'target_info exists noargs'.
+	Remove "set args".
+	(progvar_simple_while_test): Likewise.
+	(progvar_complex_if_while_test): Likewise.
+	(if_while_breakpoint_command_test): Likewise.
+	(infrun_breakpoint_command_test): Likewise.
+	(breakpoint_command_test): Likewise.
+	(watchpoint_command_test): Likewise.
+	(bp_deleted_in_command_test): Likewise.
+	(temporary_breakpoint_commands): Likewise.
+
+2014-10-16  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/remotetimeout.exp: Remove noargs checking.
+
+2014-10-15  Pedro Alves  <palves@redhat.com>
+
+	PR breakpoints/9649
+	* gdb.base/breakpoint-in-ro-region.c (main): Add more instructions.
+	* gdb.base/breakpoint-in-ro-region.exp
+	(probe_target_hardware_step): New procedure.
+	(top level): Probe hardware stepping and hardware breakpoint
+	support.  Test stepping through a read-only region, with both
+	"breakpoint auto-hw" on and off and both "always-inserted" on and
+	off.
+
+2014-10-15  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* gdb.dlang/demangle.exp: Update for demangling changes.
+
+2014-10-15  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* gdb.cp/non-trivial-retval.cc: Add new test cases.
+	* gdb.cp/non-trivial-retval.exp: Add new tests.
+
+2014-10-15  Siva Chandra Reddy  <sivachandra@google.com>
+
+	PR c++/13403
+	PR c++/15154
+	* gdb.cp/non-trivial-retval.cc: New file.
+	* gdb.cp/non-trivial-retval.exp: New file.
+
+2014-10-15  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.python/py-parameter.exp: Don't match $srcdir/$subdir on
+	remote host.
+
+2014-10-15  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.python/py-symbol.exp: Match file base name if host is
+	remote, otherwise match file name with dir name.
+	* gdb.python/py-symtab.exp: Likewise.
+	* gdb.python/python.exp: Likewise.
+
+2014-10-15  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.python/py-symbol.exp: Remove trailing ".*" in the
+	pattern.
+	* gdb.python/py-symtab.exp: Likewise.
+	* gdb.python/python.exp: Remove trailing ".*".  Fix typo
+	locationn.
+
+2014-10-14  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/addr_arith: New testcase.
+
+2014-10-14  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* gdb.dwarf2/dw2-case-insensitive-debug.S: Handle 64-bit pointers.
+	* gdb.dwarf2/dw2-case-insensitive.exp: Update accordingly.
+	* gdb.dwarf2/dw2-skip-prologue.S: Handle 64-bit pointers.
+	* gdb.dwarf2/dw2-skip-prologue.exp: Update accordingly.
+
+2014-10-14  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* gdb.arch/stap-eval-lang-ada.S: Likewise.
+	* gdb.arch/stap-eval-lang-ada.c: Likewise.
+	* gdb.arch/stap-eval-lang-ada.exp: New file.
+
+2014-10-14  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.mi/mi-var-child.c (nothing1): New function.
+	(nothing2): New function.
+	(do_children_tests): Set function pointers by nothing1 and
+	nothing2.
+	* gdb.mi/mi-var-child.exp: Step over new added statements.
+	Update test to match the new output.
+	* gdb.mi/var-cmd.c (nothing1): New function.
+	(nothing2): New function.
+	(do_children_tests): Set function pointers by  nothing1 and
+	nothing2.
+	* gdb.mi/mi-var-display.exp: Update test to match output.
+	Step to the line specified by $line_dct_nothing.
+	Increase the number of lines to step.
+
+2014-10-14  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.mi/mi-var-child.exp: Use mi_varobj_update to simplify
+	tests.
+	* gdb.mi/mi2-var-child.exp: Likewise.
+
+2014-10-13  Doug Evans  <dje@google.com>
+
+	* gdb.python/py-objfile.exp: Change name of file name test.
+
+2014-10-13  Doug Evans  <dje@google.com>
+
+	* gdb.dwarf2/dw2-op-out-param.S: Make DW_FORM_ref4 values be the offset
+	from the start of the CU.
+
+2014-10-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Yao Qi  <yao@codesourcery.com>
+
+	Fix "save breakpoints" for "catch" command.
+	* gdb.base/catch-signal.exp: Add gdb_breakpoint "main".
+	Remove -nonewline.  Match also the added "main" line.
+
+2014-10-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix "save breakpoints" for "disable $bpnum" command.
+	* gdb.base/save-bp.c (main): Add label.
+	* gdb.base/save-bp.exp: Add 8th disabled breakpoint.  Match it.
+
+2014-10-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.base/save-bp.exp (info break): Use gdb_test_sequence.
+
+2014-10-11  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.server/server-kill.exp: Execute command
+	"set remote trace-status-packet on" before "tstatus".
+
+2014-10-11  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.server/server-kill.c: Include sys/types.h and unistd.h.
+	(main): Call getppid.
+	* gdb.server/server-kill.exp: Set breakpoint on line "i = 0;"
+	and continue to it.  Read variable "server_pid".
+
+2014-10-11  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.server/server-kill.exp: Remove "delete_breakpoints".
+
+2014-10-11  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.threads/thread-find.exp: Don't execute command
+	"info threads".
+	* gdb.threads/attach-into-signal.exp (corefunc): Likewise.
+	* gdb.threads/linux-dp.exp: Don't check the condition
+	$threads_created equals to zero.
+
+2014-10-10  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/bigcore.exp: Remove references to IRIX.
+	* gdb.base/funcargs.exp: Likewise.
+	* gdb.base/interrupt.exp: Likewise.
+	* gdb.base/mips_pro.exp: Likewise.
+	* gdb.base/nodebug.exp: Likewise.
+	* gdb.base/setvar.exp: Likewise.
+	* lib/gdb.exp (gdb_compile_shlib): Remove mips-sgi-irix* case.
+
+2014-10-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	PR symtab/14466
+	* gdb.base/vdso-warning.c: New file.
+	* gdb.base/vdso-warning.exp: New file.
+
+2014-10-02  Doug Evans  <dje@google.com>
+
+	* gdb.base/structs.c (main): Don't run forever.
+
+2014-10-02  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/manythreads.exp (interrupt_and_wait): New procedure.
+	(top level) <stop threads 1, stop threads 2>: Use it.
+
+2014-10-02  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/break-while-running.exp (test): Add new
+	'update_thread_list' argument.  Skip "info threads" if false.
+	(top level): Add new 'update_thread_list' axis.
+
+2014-10-02  Pedro Alves  <palves@redhat.com>
+
+	PR breakpoints/17431
+	* gdb.base/execl-update-breakpoints.c: New file.
+	* gdb.base/execl-update-breakpoints.exp: New file.
+
+2014-10-01  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/breakpoint-in-ro-region.c: New file.
+	* gdb.base/breakpoint-in-ro-region.exp: New file.
+
+2014-10-01  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.mi/mi-exit-code.exp: New file.
+	* gdb.mi/mi-exit-code.c: New file.
+
+2014-09-30  Yao Qi  <yao@codesourcery.com>
+
+	* lib/prelink-support.exp (build_executable_own_libs): Error if
+	the target isn't native.
+
+2014-09-30  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.threads/dlopen-libpthread.exp: Skip it if isnative is
+	false.
+
+2014-09-22  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/break-while-running.exp: New file.
+	* gdb.threads/break-while-running.c: New file.
+
+2014-09-19  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.dwarf2/dw2-var-zero-addr.exp: Move test into new proc test.
+	Invoke test.  Restart GDB with --readnow and invoke test again.
+
+2014-09-19  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/break-on-linker-gcd-function.exp: Move test into new
+	proc set_breakpoint_on_gcd_function.  Invoke
+	set_breakpoint_on_gcd_function.  Restart GDB with --readnow and
+	invoke set_breakpoint_on_gcd_function again.
+
+2014-09-18  Doug Evans  <dje@google.com>
+
+	* gdb.dwarf2/symtab-producer.exp: New file.
+
+2014-09-16  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* gdb.base/global-var-nested-by-dso-solib1.c: New file.
+	* gdb.base/global-var-nested-by-dso-solib2.c: Likewise.
+	* gdb.base/global-var-nested-by-dso.c: Likewise.
+	* gdb.base/global-var-nested-by-dso.exp: Likewise.
+
+2014-09-16  Sergio Durigan Junior  <sergiodj@redhat.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/watch-bitfields.exp: Pass string other than test file
+	name to prepare_for_testing.
+	(watch): New procedure.
+	(expect_watchpoint): Use with_test_prefix.
+	(top level): Factor out tests to ...
+	(test_watch_location, test_regular_watch): ... these new
+	procedures, and use with_test_prefix and gdb_continue_to_end.
+
+2014-09-16  Patrick Palka  <patrick@parcs.ath.cx>
+
+	PR breakpoints/12526
+	* gdb.base/watch-bitfields.exp: New file.
+	* gdb.base/watch-bitfields.c: New file.
+
+2014-09-16  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/watchpoint-stops-at-right-insn.exp (test): Compare
+	software and hardware addresses, not software address against
+	itself.
+
+2014-09-16  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/watchpoint-stops-at-right-insn.c: New file.
+	* gdb.base/watchpoint-stops-at-right-insn.exp: New file.
+
+2014-09-16  Pedro Alves  <palves@redhat.com>
+
+	* config/vx.exp, config/vxworks.exp, config/vxworks29k.exp: Delete
+	files.
+	* gdb.base/a2-run.exp: Remove all code guarded by istarget
+	"*-*-vxworks*" throughout.
+	* gdb.base/break.exp: Likewise.
+	* gdb.base/default.exp: Likewise.
+	* gdb.base/scope.exp: Likewise.
+	* gdb.base/sepdebug.exp: Likewise.
+	* gdb.base/break.c: Remove all code guarded by #ifdef vxworks
+	throughout.
+	* gdb.base/run.c: Likewise.
+	* gdb.base/sepdebug.c: Likewise.
+	* gdb.hp/gdb.aCC/run.c: Likewise.
+	* gdb.reverse/until-reverse.c: Likewise.
+	* lib/gdb.exp (gdb_compile): Remove is_vxworks branch.
+
+2014-09-16  Yao Qi  <yao@codesourcery.com>
+
+	* boards/local-remote-host-native.exp: New file.
+
+2014-09-14  Doug Evans  <xdje42@gmail.com>
+
+	* gdb.threads/queue-signal.c (thread_count): New variable.
+	(thread_count_mutex, thread_count_condvar): New variables.
+	(incr_thread_count, wait_all_threads_running): New functions.
+	(main): Wait for all threads to be in their thread functions.
+
+2014-09-13  Doug Evans  <xdje42@gmail.com>
+
+	* gdb.threads/queue-signal.c: New file.
+	* gdb.threads/queue-signal.exp: New file.
+
+2014-09-13  Doug Evans  <xdje42@gmail.com>
+
+	* lib/gdb.exp (gdb_prompt): Add comment and change initial value to
+	be consistent with what default_gdb_init uses.
+	(with_gdb_prompt): Change form of PROMPT argument from a regexp to
+	the plain text of the prompt.  Add some logging printfs.
+	* gdb.perf/disassemble.exp: Update call to with_gdb_prompt.
+
+2014-09-12  Pedro Alves  <palves@redhat.com>
+
+	* gdb.arch/gdb1558.exp: Replace uses of gdb_expect after
+	gdb_run_cmd with gdb_test_multiple or gdb_test throughout.
+	* gdb.arch/i386-size-overlap.exp: Likewise.
+	* gdb.arch/i386-size.exp: Likewise.
+	* gdb.arch/i386-unwind.exp: Likewise.
+	* gdb.base/a2-run.exp: Likewise.
+	* gdb.base/break.exp: Likewise.
+	* gdb.base/charset.exp: Likewise.
+	* gdb.base/chng-syms.exp: Likewise.
+	* gdb.base/commands.exp: Likewise.
+	* gdb.base/dbx.exp: Likewise.
+	* gdb.base/find.exp: Likewise.
+	* gdb.base/funcargs.exp: Likewise.
+	* gdb.base/jit-simple.exp: Likewise.
+	* gdb.base/reread.exp: Likewise.
+	* gdb.base/sepdebug.exp: Likewise.
+	* gdb.base/step-bt.exp: Likewise.
+	* gdb.cp/mb-inline.exp: Likewise.
+	* gdb.cp/mb-templates.exp: Likewise.
+	* gdb.objc/basicclass.exp: Likewise.
+	* gdb.threads/killed.exp: Likewise.
+
+2014-09-12  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+	PR tdep/17379
+	* gdb.arch/powerpc-stackless.S: New file.
+	* gdb.arch/powerpc-stackless.exp: New file.
+
+2014-09-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.base/attach.c: Include unistd.h.
+	(main): Call alarm.  Add label postloop.
+	* gdb.base/attach.exp (do_attach_tests): Use gdb_get_line_number,
+	gdb_breakpoint, gdb_continue_to_breakpoint.
+	(test_command_line_attach_run): Kill ${testpid} in one exit path.
+
 2014-09-11  Pedro Alves  <palves@redhat.com>
 
 	PR gdb/17347
@@ -77,6 +1413,90 @@
 	* gdb.python/py-sync-interp.exp: Likewise.
 	* gdb.server/ext-attach.exp: Likewise.
 
+2014-09-11  Gabriel Krisman Bertazi  <gabriel@krisman.be>
+
+	* gdb.fortran/array-element.exp: Remove unexpected "continue"
+	command in testcase.  Simplify testcase.
+
+2014-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.dwarf2/dynarr-ptr.exp: Add a few ptype tests.
+
+2014-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.dwarf2/dynarr-ptr.exp: Add 'first, 'last and 'length tests.
+
+2014-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.dwarf2/dynarr-ptr.exp: Add subscripting tests.
+
+2014-09-10  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.dwarf2/dynarr-ptr.c: New file.
+	* gdb.dwarf2/dynarr-ptr.exp: New file.
+
+2014-09-09  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* gdb.base/watchpoint-solib.exp: Increase the timeout by a factor
+	of 30 rather than hardcoding 120 for a slow test case.  Take the
+	`gdb,timeout' target setting into account for this calculation.
+	Don't extend the timeout for the test cases that don't need it.
+
+2014-09-09  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* gdb.reverse/sigall-reverse.exp: Increase the timeout by
+	a factor of 2 for a slow test case.  Take the `gdb,timeout'
+	target setting into account for this calculation.
+	* gdb.reverse/until-precsave.exp: Increase the timeout by
+	a factor of 15 and 3 respectively rather than adding 120
+	for a pair of slow test cases.  Take the `gdb,timeout'
+	target setting into account for this calculation.
+
+2014-09-09  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* lib/gdb.exp (gdb_test_multiple): Remove code to select the
+	timeout, don't pass one down to gdb_expect.
+	(gdb_expect): Rework timeout selection.
+
+2014-09-09  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* lib/gdbserver-support.exp (gdbserver_start): Throw an error
+	exception on timeout.
+	(gdbserver_run): Catch any `gdbserver_spawn' error exceptions.
+	(gdbserver_start_extended): Catch any `gdbserver_start' error
+	exceptions.
+	(gdbserver_start_multi, mi_gdbserver_start_multi): Likewise.
+	* lib/mi-support.exp (mi_gdb_target_load): Catch any
+	`gdbserver_gdb_load' error exceptions.
+
+2014-09-09  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* lib/gdbserver-support.exp (gdbserver_start): Set timeout to
+	120 on waiting for the TCP socket to open.
+
+2014-09-09  Doug Evans  <xdje42@gmail.com>
+
+	* gdb.base/default.exp (show_conv_list): Add _caller_is,
+	_caller_matches, _any_caller_is, _any_caller_matches.
+
+2014-09-09  Doug Evans  <xdje42@gmail.com>
+
+	* gdb.guile/scm-error.exp: Handle guile 2.2 backtrace output.
+
+2014-09-09  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.mi/mi-var-display.exp: Set print symbol off.
+
+2014-09-07  Gabriel Krisman Bertazi  <gabriel@krisman.be>
+
+	PR gdb/17035
+	* gdb.base/commands.exp: Add tests to verify user-defined
+	commands with empty bodies.
+	* gdb.python/py-cmd.exp: Test that we don't show user-defined
+	python commands in `show user command`.
+	* gdb.python/scm-cmd.exp: Test that we don't show user-defined
+	scheme commands in `show user command`.
+
 2014-09-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
 	PR python/17355
@@ -85,17 +1505,214 @@
 	* gdb.python/py-framefilter-invalidarg.exp: New file.
 	* gdb.python/py-framefilter-invalidarg.py: New file.
 
-2014-08-30  Siva Chandra Reddy  <sivachandra@google.com>
+2014-09-06  Doug Evans  <xdje42@gmail.com>
+
+	PR 15276
+	* gdb.python/py-caller-is.c: New file.
+	* gdb.python/py-caller-is.exp: New file.
+
+2014-09-05  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR gdb/17235
+	* gdb.arch/amd64-stap-wrong-subexp.exp: New file.
+	* gdb.arch/amd64-stap-wrong-subexp.S: Likewise.
+
+2014-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR fortran/17237
+	* gdb.fortran/print-formatted.exp: New file.
+	* gdb.fortran/print-formatted.f90: Likewise.
+
+2014-09-03  Sasha Smundak  <asmundak@google.com>
+
+	* gdb.python/py-frame.exp: Test Frame.read_register.
+
+2014-09-03  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR python/16699
+	* gdb.python/py-completion.exp: New file.
+	* gdb.python/py-completion.py: Likewise.
+
+2014-08-28  Doug Evans  <dje@google.com>
+
+	* gdb.arch/amd64-pseudo.c (main): Rewrite to better specify when
+	eax,etc. are live with values set by gdb and thus the compiler can't
+	use them.
+	* gdb.arch/i386-pseudo.c (main): Ditto.
+
+2014-08-27  Doug Evans  <dje@google.com>
+
+	* lib/gdb.exp (gdb_compile_shlib): Add support for clang.
+
+2014-08-25  Doug Evans  <dje@google.com>
+
+	* gdb.mi/basics.c (callee3, callee2, callee1): Specify result type.
+	(main): Ditto.
+
+2014-08-25  Doug Evans  <dje@google.com>
+
+	* gdb.threads/thread-execl.exp: #include <stdio.h>.
+
+2014-08-24  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.guile/scm-value.exp (test_lazy_strings): Set print
+	symbol off.
+	* gdb.python/py-value.exp (test_lazy_strings): Likewise.
+
+2014-08-22  Doug Evans  <dje@google.com>
+
+	PR 17276
+	* gdb.dwarf2/dw2-single-line-discriminators.S: New file.
+	* gdb.dwarf2/dw2-single-line-discriminators.c: New file.
+	* gdb.dwarf2/dw2-single-line-discriminators.exp: New file.
+
+2014-08-22  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.python/py-finish-breakpoint.exp: Copy .py file to host.
+	* gdb.python/py-finish-breakpoint2.exp: Likewise.
+	* gdb.python/python.exp: Likewise.  Use .py file on the host
+	instead of the build.
+
+2014-08-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.threads/gcore-stale-thread.c: New file.
+	* gdb.threads/gcore-stale-thread.exp: New file.
+
+2014-08-21  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/gcore-buffer-overflow.exp: Remove "help gcore" test.
+	* gdb.base/gcore-relro-pie.exp: Likewise.
+	* gdb.base/gcore-relro.exp: Likewise.
+	* gdb.base/gcore.exp: Likewise.
+	* gdb.base/print-symbol-loading.exp: Likewise.
+	* gdb.threads/gcore-thread.exp: Likewise.
+	* lib/gdb.exp (gdb_gcore_cmd): Don't expect "Undefined command".
+
+2014-08-20  Pedro Alves  <palves@redhat.com>
+	    Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* Makefile.in (EXTRA_RULES, CC): New variables, get from
+	configure.
+	(EXPECT): Handle READ1 being set.
+	(all): Depend on EXTRA_RULES.
+	(check-read1, expect-read1, read1.so, read1): New rules.
+	* README (Testsuite Parameters): Document the READ1 make variable.
+	(Race detection): New section.
+	* configure: Regenerate.
+	* configure.ac: If build==host==target, and running under a
+	GNU/glibc system, add read1 to the extra Makefile rules.
+	(EXTRA_RULES): AC_SUBST it.
+	* lib/read1.c: New file.
+
+2014-08-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.dwarf2/data-loc.exp: Add additional tests exercising
+	the handling of variables declared as a typedef to an array
+	which a DW_AT_data_location attribute.
+
+2014-08-19  Andrew Burgess  <aburgess@broadcom.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	PR symtab/14604
+	PR symtab/14605
+	* gdb.dwarf2/dw2-op-out-param.exp: Remove kfail branches and use
+	gdb_test.
+
+2014-08-19  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/watchpoint-hw-hit-once.c (main): Update comment.
+
+2014-08-19  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/watchpoint-hw-hit-once.exp: Set breakpoint on the
+	right line.
+
+2014-08-18  David Blaikie  <dblaikie@gmail.com>
+
+	* boards/fission.exp: Explicitly pass -ggnu-pubnames for clang.
+
+2014-08-18  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.dwarf2/data-loc.exp: Remove second DW_AT_upper bound
+	attribute in array range.
+
+2014-08-18  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.dwarf2/data-loc.c, gdb.dwarf2/data-loc.exp: New files.
+
+2014-08-15  Siva Chandra Reddy  <sivachandra@google.com>
+
+	PR c++/17132
+	* gdb.cp/pr17132.cc: New file.
+	* gdb.cp/pr17132.exp: New file.
+
+2014-08-15  Siva Chandra Reddy  <sivachandra@google.com>
 
 	* gdb.python/py-xmethods.py (A_getarrayind)
 	(E_method_char_worker.__call__, E_method_int_worker.__call__):
 	Use 'print' with function call syntax.
 	(E_method_matcher.match): Fix tab vs space indentation mixup.
 
-2014-08-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+2014-08-15  Yao Qi  <yao@codesourcery.com>
 
-	* gdb.threads/gcore-stale-thread.c: New file.
-	* gdb.threads/gcore-stale-thread.exp: New file.
+	* gdb.trace/tfile.exp: Return -1 if generate_tracefile returns
+	false.
+
+2014-08-15  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.cp/casts.exp: Set print symbol off.
+	* gdb.cp/class2.exp: Likewise.
+	* gdb.cp/overload.exp: Likewise.
+	* gdb.cp/templates.exp: Likewise.
+
+2014-08-11  Doug Evans  <dje@google.com>
+
+	* gdb.base/print-symbol-loading.exp (test_load_core): Update.
+	(test_load_shlib): Update.
+
+2014-08-09  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/display.exp: Invoke is_address_zero_readable.
+	* gdb.guile/scm-value.exp (test_value_in_inferior): Likewise.
+	* gdb.python/py-value.exp (test_value_in_inferior): Likewise.
+	* gdb.base/hbreak-unmapped.exp: Return if
+	is_address_zero_readable returns true.
+	* gdb.base/signest.exp: Likewise.
+	* gdb.base/signull.exp: Likewise.
+	* gdb.base/sigbpt.exp: Likewise.
+	* gdb.guile/scm-disasm.exp: Do the test if
+	is_address_zero_readable returns false.
+	* gdb.guile/scm-pretty-print.exp (run_lang_tests): Likewise.
+	* gdb.python/py-arch.exp: Likewise.
+	* gdb.python/py-prettyprint.exp (run_lang_tests): Likewise.
+	* lib/gdb.exp (is_address_zero_readable): New proc.
+
+2014-08-09  Yao Qi  <yao@codesourcery.com>
+
+	PR testsuite/13443
+	* gdb.mi/mi-var-display.exp: Make test messages unique.
+
+2014-08-04  Tom Tromey  <tromey@redhat.com>
+
+	* gdb.base/sss-bp-on-user-bp-2.exp: Expect output from "set debug
+	target 0".
+
+2014-08-04  Tom Tromey  <tromey@redhat.com>
+
+	* gdb.base/sss-bp-on-user-bp-2.exp: Match "to_resume", not
+	"target_resume".
+
+2014-08-01  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.base/vla-datatypes.c (vla_factory): Add new variable
+	inner_vla_struct_object_size.
+	* gdb.base/vla-datatypes.exp: Adjust last test, and mark it
+	as xfail.
+
+2014-07-30  Pedro Alves  <palves@redhat.com>
+
+	* gdb.threads/signal-command-handle-nopass.exp (test): Add
+	comment.
 
 2014-07-29  Yao Qi  <yao@codesourcery.com>
 
@@ -109,10 +1726,9 @@
 	previously existing parameter, and previously ambiguously spelled
 	parameter.
 
-2014-07-28  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+2014-07-28  Will Newton  <will.newton@linaro.org>
 
-	* gdb.base/watchpoint-reuse-slot.exp: Handle the case that the
-	target lacks support for awatch, rwatch, or hbreak.
+	* gdb.base/varargs.exp: Remove KFAILs for ARM.
 
 2014-07-26  Ludovic CourtÃ¨s  <ludo@gnu.org>
 	    Doug Evans  <xdje42@gmail.com>
@@ -122,6 +1738,15 @@
 
 2014-07-25  Pedro Alves  <palves@redhat.com>
 
+	* gdb.threads/signal-command-handle-nopass.c: New file.
+	* gdb.threads/signal-command-handle-nopass.exp: New file.
+	* gdb.threads/signal-command-multiple-signals-pending.c: New file.
+	* gdb.threads/signal-command-multiple-signals-pending.exp: New file.
+	* gdb.threads/signal-delivered-right-thread.c: New file.
+	* gdb.threads/signal-delivered-right-thread.exp: New file.
+
+2014-07-25  Pedro Alves  <palves@redhat.com>
+
 	* gdb.base/double-prompt-target-event-error.exp
 	(cancel_pagination_in_target_event): Remove '-notransfer <return>'
 	match.
@@ -167,6 +1792,37 @@
 	PR gdb/17170
 	* gdb.base/maint.exp: Update testing of per-command stats.
 
+2014-07-16  Pedro Alves  <palves@redhat.com>
+
+	* gdb.trace/tfile.c: Include unistd.h and stdint.h.
+	(start_trace_file): Guard S_IRGRP and S_IROTH uses behind #ifdef.
+	(tfile_write_64, tfile_write_16, tfile_write_8, tfile_write_addr)
+	(tfile_write_buf): New functions.
+	(add_memory_block): Rewrite using the above.
+	(adjust_function_address): New function.
+	(FUNCTION_ADDRESS): New macro.
+	(write_basic_trace_file): Remove short_x local, and use
+	tfile_write_16. Change type of func_addr local to unsigned long
+	long.  Use FUNCTION_ADDRESS instead of handling the Thumb bit
+	here.  Cast argument of add_memory_block to char pointer.
+	(write_error_trace_file): Avoid alloca.  Use FUNCTION_ADDRESS.
+	(main): Remove parameters.
+	* gdb.trace/tfile.exp: Remove nowarnings.
+
+2014-07-15  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.base/debug-expr.exp: Test string evaluation with
+	"debug expression" on.
+
+2014-07-15  Pedro Alves  <palves@redhat.com>
+
+	* gdb.base/reread.exp: Use clean_restart.
+
+2014-07-15  Pierre Langlois  <pierre.langlois@embecosm.com>
+
+	* gdb.arch/avr-flash-qualifer.c: New.
+	* gdb.arch/avr-flash-qualifer.exp: New.
+
 2014-07-14  Pedro Alves  <palves@redhat.com>
 
 	* gdb.base/paginate-after-ctrl-c-running.c: New file.
@@ -220,33 +1876,117 @@
 	* gdb.reverse/rerun-prec.c: New file.
 	* gdb.reverse/rerun-prec.exp: New file.
 
+2014-07-12  Maciej W. Rozycki  <macro@mips.com>
+	    Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* lib/gdb-utils.exp: New file.
+	* lib/gdb.exp (gdb_run_cmd): Call gdb_init_commands, replacing
+	inline `gdb_init_command' processing.
+	(gdb_start_cmd): Likewise.
+	* lib/mi-support.exp (mi_run_cmd): Likewise.
+	* README: Document `gdb_init_command' and `gdb_init_commands'.
+
+2014-07-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix false FAIL running under a very long directory name.
+	* gdb.base/argv0-symlink.exp: Add "set print repeats 10000"
+	and "set print elements 10000".  Twice.
+
+2014-07-11  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/exprs.exp: "set print symbol off".
+
 2014-07-11  Pedro Alves  <palves@redhat.com>
 
 	* gdb.threads/kill.c: New file.
 	* gdb.threads/kill.exp: New file.
 
+2014-07-10  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.trace/tfile.c (write_basic_trace_file)
+	[__thumb__||__thumb2__]: Clear the Thumb bit of the function
+	address written to trace file.
+
 2014-07-09  Pedro Alves  <palves@redhat.com>
 
 	* gdb.base/attach-wait-input.exp: New file.
 	* gdb.base/attach-wait-input.c: New file.
 
-2014-06-23  Siva Chandra Reddy  <sivachandra@google.com>
+2014-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
 
-	* gdb.python/py-xmethods.exp: Use "progspace" instead of the
-	progspace's filename in 'info', 'enable' and 'disable' command
-	tests.
+	* gdb.mi/var-cmd.c (do_nested_struct_union_tests): New function
+	setting up test structures.
+	(main): Call new test function.
+	* gdb.mi/mi2-var-child.exp: Create additional breakpoint in new
+	test function, continue into test function and walk test
+	structures.
+
+2014-07-02  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.trace/entry-values.c: Define labels 'foo_start' and
+	'bar_start' at the beginning of functions 'foo' and 'bar'
+	respectively.
+	* gdb.trace/entry-values.exp: Use 'foo_start' and 'bar_start'
+	instead of 'foo' and 'bar'.
+
+2014-07-08  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* gdb.btrace/segv.exp: New.
+	* gdb.btrace/segv.c: New.
+
+2014-07-02  Luis Machado  <lgustavo@codesourcery.com>
+
+	* gdb.trace/entry-values.exp: Handle powerpc-specific branch
+	instruction.
+
+2014-06-30  Mark Wielaard  <mjw@redhat.com>
+
+	* gdb.base/constvars.c (violent, violet, vips, virgen, vulgar,
+	vulture, vilify, villar): New volatile array constants.
+	(vindictive, vegetation): New const volatile array constants.
+	* gdb.base/volatile.exp: Test volatile and const volatile array
+	types.
+
+2014-06-30  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* gdb.base/watchpoint-reuse-slot.exp: Handle the case that the
+	target lacks support for awatch, rwatch, or hbreak.
+
+2014-06-27  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.multi/dummy-frame-restore.exp: New.
+	* gdb.multi/dummy-frame-restore.c: New.
+
+2014-06-25  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* gdb.btrace/gcore.exp: New.
 
 2014-06-23  Pedro Alves  <palves@redhat.com>
 
 	* gdb.base/watchpoint-reuse-slot.c: New file.
 	* gdb.base/watchpoint-reuse-slot.exp: New file.
 
+2014-06-23  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* gdb.python/py-xmethods.exp: Use "progspace" instead of the
+	progspace's filename in 'info', 'enable' and 'disable' command
+	tests.
+
 2014-06-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
 	* gdb.arch/amd64-stap-special-operands.exp: Use is_lp64_target.
 	* gdb.arch/amd64-stap-optional-prefix.exp: Likewise.
 	* gdb.dwarf2/dw2-error.exp: Use istarget and is_lp64_target.
 
+2014-06-20  Gary Benson  <gbenson@redhat.com>
+
+	* gdb.arch/i386-avx.exp: Fix include file location.
+	* gdb.arch/i386-sse.exp: Likewise.
+
+2014-06-19  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* gdb.dlang/expression.exp: New file.
+
 2014-06-19  Pedro Alves  <palves@redhat.com>
 
 	* gdb.threads/thread-execl.exp (do_test): New procedure, factored
@@ -254,6 +1994,48 @@
 	(top level): ... here.  Iterate running tests under different
 	scheduler-locking settings.
 
+2014-06-18  Luis Machado  <lgustavo@codesourcery.com>
+
+	* gdb.cp/nsalias.exp: Set type of low_pc and high_pc entries
+	to DW_FORM_addr and use non-zero addresses.
+
+2014-06-18  Siva Chandra Reddy  <sivachandra@google.com>
+
+	PR gdb/17017
+	* gdb.python/py-xmethods.cc: Add global function call counters and
+	increment them in their respective functions.  Remove "cout"
+	statements.
+	* gdb.python/py-xmethods.exp: Make tests check the global function
+	call counters instead of depending on inferior IO.
+
+2014-06-18  Don Breazeal  <donb@codesourcery.com>
+
+	* gdb.base/foll-fork.exp (default_fork_parent_follow):
+	Deleted procedure.
+	(explicit_fork_parent_follow): Deleted procedure.
+	(explicit_fork_child_follow): Deleted procedure.
+	(test_follow_fork): New procedure.
+	(do_fork_tests): Replace calls to deleted procedures with
+	calls to test_follow_fork and reset GDB for subsequent 
+	procedure calls.
+
+2014-06-17  Yao Qi  <yao@codesourcery.com>
+
+	* gdb.base/wchar.exp: Set $cent to \u00A2 if "host-charset" is
+	CP1252.
+
+2014-06-17  Luis Machado  <lgustavo@codesourcery.com>
+
+	* gdb.mi/mi-var-rtti.cc (type_update_when_use_rtti_test):
+	Initialize ptr and S explicitly.
+	(skip_type_update_when_not_use_rtti_test): Likewise.
+
+2014-06-16  Keith Seitz  <keiths@redhat.com>
+
+	PR mi/15863
+	* gdb.mi/mi-var-cmd.exp: Add test for -var-update before
+	the inferior is started.
+
 2014-06-16  Pedro Alves  <palves@redhat.com>
 
 	* gdb.base/break-main-file-remove-fail.c: New file.
@@ -263,6 +2045,10 @@
 	(test_break): New parameter "initial_load".  Handle it.
 	(top level): Add initial_load cmdline/file axis.
 
+2014-06-12  Tom Tromey  <tromey@redhat.com>
+
+	* gdb.base/completion.exp: Don't use directory name in test.
+
 2014-06-09  Gary Benson  <gbenson@redhat.com>
 
 	* gdb.base/sigall.c [Functions to send signals]: Reorder to
@@ -2031,6 +3817,6 @@ For older changes see ChangeLog-1993-201
 ;; version-control: never
 ;; End:
 
-    Copyright 2014 Free Software Foundation, Inc.
+    Copyright 2014-2015 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/ChangeLog-1993-2013 ./gdb/testsuite/ChangeLog-1993-2013
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/ChangeLog-1993-2013	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/ChangeLog-1993-2013	2015-01-20 02:05:39.000000000 +0000
@@ -33658,6 +33658,6 @@ Sun Feb 21 10:55:55 1993  Mike Werner  (
 ;; version-control: never
 ;; End:
 
-    Copyright 1993-2014 Free Software Foundation, Inc.
+    Copyright 1993-2015 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/cfdbug.exp ./gdb/testsuite/config/cfdbug.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/cfdbug.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/cfdbug.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/d10v.exp ./gdb/testsuite/config/d10v.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/d10v.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/d10v.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/default.exp ./gdb/testsuite/config/default.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/default.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/default.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/dve.exp ./gdb/testsuite/config/dve.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/dve.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/dve.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/extended-gdbserver.exp ./gdb/testsuite/config/extended-gdbserver.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/extended-gdbserver.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/extended-gdbserver.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/gdbserver.exp ./gdb/testsuite/config/gdbserver.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/gdbserver.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/gdbserver.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/i960.exp ./gdb/testsuite/config/i960.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/i960.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/i960.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/m32r.exp ./gdb/testsuite/config/m32r.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/m32r.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/m32r.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/mips.exp ./gdb/testsuite/config/mips.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/mips.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/mips.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/mips-idt.exp ./gdb/testsuite/config/mips-idt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/mips-idt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/mips-idt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/mn10300-eval.exp ./gdb/testsuite/config/mn10300-eval.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/mn10300-eval.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/mn10300-eval.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/monitor.exp ./gdb/testsuite/config/monitor.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/monitor.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/monitor.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Test Framework Driver for GDB driving a ROM monitor (via monitor.c).
-#   Copyright 1995-2014 Free Software Foundation, Inc.
+#   Copyright 1995-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/proelf.exp ./gdb/testsuite/config/proelf.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/proelf.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/proelf.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/rom68k.exp ./gdb/testsuite/config/rom68k.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/rom68k.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/rom68k.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/sh.exp ./gdb/testsuite/config/sh.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/sh.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/sh.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/sid.exp ./gdb/testsuite/config/sid.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/sid.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/sid.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Test Framework Driver for GDB driving an external simulator
-#   Copyright 1999-2014 Free Software Foundation, Inc.
+#   Copyright 1999-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/sim.exp ./gdb/testsuite/config/sim.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/sim.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/sim.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Test Framework Driver for GDB driving a builtin simulator
-#   Copyright 1994-2014 Free Software Foundation, Inc.
+#   Copyright 1994-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/slite.exp ./gdb/testsuite/config/slite.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/slite.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/slite.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1993-2014 Free Software Foundation, Inc.
+#   Copyright 1993-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/unix.exp ./gdb/testsuite/config/unix.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/unix.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/unix.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vr4300.exp ./gdb/testsuite/config/vr4300.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vr4300.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/vr4300.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vr5000.exp ./gdb/testsuite/config/vr5000.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vr5000.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/vr5000.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vx.exp ./gdb/testsuite/config/vx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/vx.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,126 +0,0 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-
-#
-# load support libraries
-#
-load_lib remote.exp
-load_lib gdb.exp
-
-set shell_prompt "->"
-set gdb_prompt "\\(vxgdb\\)"
-
-#
-# gdb_version -- extract and print the version number of gcc
-#
-proc gdb_version {} {
-    default_gdb_version
-}
-
-#
-# gdb_load -- load a file into the debugger.
-# We have to stop and start gdb each time we do this, because when
-# vxgdb loads two files in a row, the symbols in the first file loaded
-# take precedence. Returns -1 on error, else 0.
-#
-proc gdb_load { arg } {
-    set result 0
-
-    if { [remote_ld target $arg] != 0 } {
-	perror "Couldn't load $arg"
-	return -1
-    }
-
-    return [gdb_file_cmd $arg]
-}
-
-#
-# gdb_start -- start gdb running
-#
-proc gdb_start { } {
-    global gdb_prompt
-    global verbose
-    global connectmode
-    global reboot
-
-    # get a connection to the board
-    for { set x 0 } { $x < 3 } { incr x } {
-	set shell_id [remote_open target]
-	if { $shell_id > 0 } {
-	    verbose "Spawn id for remote shell is $shell_id"
-
-	    set timeout 10
-	    verbose "Timeout is now $timeout seconds" 2
-
-	    set state [spawn_vxgdb]
-	    if { $state == "pass" } {
-		return 0
-	    }
-	    if { $state == "fail" } {
-		return -1
-	    }
-	}
-	remote_reboot target
-    }
-}
-
-proc spawn_vxgdb { } {
-    global gdb_prompt
-
-    default_gdb_start
-
-    # set the default arguments to "main", so that "run" with no
-    # arguments will work correctly.
-    send_gdb "set args main\n"
-    gdb_expect -re ".*$gdb_prompt $" {}
-
-    verbose "Setting up target, Please wait..."
-    # set targets hostname
-    send_gdb "target vxworks [target_info hostname]\n"
-    set timeout 60
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect {
-	-re "Done\..*$gdb_prompt $"	{
-	    verbose "Set target to [target_info hostname]" 1
-	    set timeout 10
-	    return "pass"
-	}
-	-re "net_connect: RPC: (Program not registered|.*Timed out).*$" {
-	    warning "Couldn't set GDB to target [target_info netport]."
-	}
-	timeout {
-	    warning "Couldn't set target for vxworks."
-	}
-    }
-    return "retry"
-}
-
-proc gdb_exit { } {
-    remote_close target
-    catch default_gdb_exit
-}
-
-#expect_after {
-#    "<return>"		   { send "\n"; perror "Window too small." }
-#    -re "\(y or n\) " 	   { send "n\n"; perror "Got interactive prompt." }
-#    buffer_full		   { perror "internal buffer is full." }
-#    eof			   { perror "eof -- pty is hosed." }
-#    timeout			   { perror "timeout." }
-#    "virtual memory exhausted" { perror "virtual memory exhausted." }
-#    "Undefined command"	   { perror "send string probably wrong." }
-#}
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vxworks29k.exp ./gdb/testsuite/config/vxworks29k.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vxworks29k.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/vxworks29k.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,23 +0,0 @@
-#   Copyright 1995-2014 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# This file was written by Brendan Kehoe (brendan@cygnus.com).
-
-# We need this file here because the targetname for the 29k board
-# is `vxworks29k', not `vxworks'.  That way other tools (e.g., gcc)
-# can differentiate between the stuff run on that board and others.
-
-verbose "Loading ${srcdir}/config/vx.exp"
-source ${srcdir}/config/vx.exp
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vxworks.exp ./gdb/testsuite/config/vxworks.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/config/vxworks.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/config/vxworks.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,16 +0,0 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-load_lib ../config/vx.exp
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/configure ./gdb/testsuite/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/configure	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/configure	2015-01-20 02:05:39.000000000 +0000
@@ -591,6 +591,7 @@ ac_includes_default="\
 
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
+EXTRA_RULES
 EGREP
 GREP
 CPP
@@ -3448,7 +3449,16 @@ done
 
 
 
-ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.dlang/Makefile gdb.fortran/Makefile gdb.gdb/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.guile/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
+if test "${build}" = "${host}" -a "${host}" = "${target}"; then
+   case "${host}" in
+     *gnu*)
+       EXTRA_RULES=read1
+       ;;
+   esac
+fi
+
+
+ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.compile/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.dlang/Makefile gdb.fortran/Makefile gdb.gdb/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.guile/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -4155,6 +4165,7 @@ do
     "gdb.base/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.base/Makefile" ;;
     "gdb.btrace/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.btrace/Makefile" ;;
     "gdb.cell/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.cell/Makefile" ;;
+    "gdb.compile/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.compile/Makefile" ;;
     "gdb.cp/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.cp/Makefile" ;;
     "gdb.disasm/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.disasm/Makefile" ;;
     "gdb.dwarf2/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.dwarf2/Makefile" ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/configure.ac ./gdb/testsuite/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/configure.ac	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/configure.ac	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 #                                                       -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -87,12 +87,21 @@ AC_CHECK_HEADERS(pthread.h)
 
 AC_EXEEXT
 
+if test "${build}" = "${host}" -a "${host}" = "${target}"; then
+   case "${host}" in
+     *gnu*)
+       EXTRA_RULES=read1
+       ;;
+   esac
+fi
+AC_SUBST(EXTRA_RULES)
+
 AC_OUTPUT([Makefile \
   gdb.ada/Makefile \
   gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile \
-  gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile \
-  gdb.dlang/Makefile gdb.fortran/Makefile gdb.gdb/Makefile gdb.go/Makefile \
-  gdb.server/Makefile gdb.java/Makefile \
+  gdb.cell/Makefile gdb.compile/Makefile gdb.cp/Makefile gdb.disasm/Makefile \
+  gdb.dwarf2/Makefile gdb.dlang/Makefile gdb.fortran/Makefile gdb.gdb/Makefile \
+  gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile \
   gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile \
   gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile \
   gdb.hp/gdb.defects/Makefile gdb.guile/Makefile gdb.linespec/Makefile \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/dg-extract-results.py ./gdb/testsuite/dg-extract-results.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/dg-extract-results.py	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/dg-extract-results.py	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,585 @@
+#!/usr/bin/python
+#
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+#
+# This script is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+import sys
+import getopt
+import re
+import io
+from datetime import datetime
+from operator import attrgetter
+
+# True if unrecognised lines should cause a fatal error.  Might want to turn
+# this on by default later.
+strict = False
+
+# True if the order of .log segments should match the .sum file, false if
+# they should keep the original order.
+sort_logs = True
+
+# A version of open() that is safe against whatever binary output
+# might be added to the log.
+def safe_open (filename):
+    if sys.version_info >= (3, 0):
+        return open (filename, 'r', errors = 'surrogateescape')
+    return open (filename, 'r')
+
+# Force stdout to handle escape sequences from a safe_open file.
+if sys.version_info >= (3, 0):
+    sys.stdout = io.TextIOWrapper (sys.stdout.buffer,
+                                   errors = 'surrogateescape')
+
+class Named:
+    def __init__ (self, name):
+        self.name = name
+
+class ToolRun (Named):
+    def __init__ (self, name):
+        Named.__init__ (self, name)
+        # The variations run for this tool, mapped by --target_board name.
+        self.variations = dict()
+
+    # Return the VariationRun for variation NAME.
+    def get_variation (self, name):
+        if name not in self.variations:
+            self.variations[name] = VariationRun (name)
+        return self.variations[name]
+
+class VariationRun (Named):
+    def __init__ (self, name):
+        Named.__init__ (self, name)
+        # A segment of text before the harness runs start, describing which
+        # baseboard files were loaded for the target.
+        self.header = None
+        # The harnesses run for this variation, mapped by filename.
+        self.harnesses = dict()
+        # A list giving the number of times each type of result has
+        # been seen.
+        self.counts = []
+
+    # Return the HarnessRun for harness NAME.
+    def get_harness (self, name):
+        if name not in self.harnesses:
+            self.harnesses[name] = HarnessRun (name)
+        return self.harnesses[name]
+
+class HarnessRun (Named):
+    def __init__ (self, name):
+        Named.__init__ (self, name)
+        # Segments of text that make up the harness run, mapped by a test-based
+        # key that can be used to order them.
+        self.segments = dict()
+        # Segments of text that make up the harness run but which have
+        # no recognized test results.  These are typically harnesses that
+        # are completely skipped for the target.
+        self.empty = []
+        # A list of results.  Each entry is a pair in which the first element
+        # is a unique sorting key and in which the second is the full
+        # PASS/FAIL line.
+        self.results = []
+
+    # Add a segment of text to the harness run.  If the segment includes
+    # test results, KEY is an example of one of them, and can be used to
+    # combine the individual segments in order.  If the segment has no
+    # test results (e.g. because the harness doesn't do anything for the
+    # current configuration) then KEY is None instead.  In that case
+    # just collect the segments in the order that we see them.
+    def add_segment (self, key, segment):
+        if key:
+            assert key not in self.segments
+            self.segments[key] = segment
+        else:
+            self.empty.append (segment)
+
+class Segment:
+    def __init__ (self, filename, start):
+        self.filename = filename
+        self.start = start
+        self.lines = 0
+
+class Prog:
+    def __init__ (self):
+        # The variations specified on the command line.
+        self.variations = []
+        # The variations seen in the input files.
+        self.known_variations = set()
+        # The tools specified on the command line.
+        self.tools = []
+        # Whether to create .sum rather than .log output.
+        self.do_sum = True
+        # Regexps used while parsing.
+        self.test_run_re = re.compile (r'^Test Run By (\S+) on (.*)$')
+        self.tool_re = re.compile (r'^\t\t=== (.*) tests ===$')
+        self.result_re = re.compile (r'^(PASS|XPASS|FAIL|XFAIL|UNRESOLVED'
+                                     r'|WARNING|ERROR|UNSUPPORTED|UNTESTED'
+                                     r'|KFAIL):\s*(.+)')
+        self.completed_re = re.compile (r'.* completed at (.*)')
+        # Pieces of text to write at the head of the output.
+        # start_line is a pair in which the first element is a datetime
+        # and in which the second is the associated 'Test Run By' line.
+        self.start_line = None
+        self.native_line = ''
+        self.target_line = ''
+        self.host_line = ''
+        self.acats_premable = ''
+        # Pieces of text to write at the end of the output.
+        # end_line is like start_line but for the 'runtest completed' line.
+        self.acats_failures = []
+        self.version_output = ''
+        self.end_line = None
+        # Known summary types.
+        self.count_names = [
+            '# of expected passes\t\t',
+            '# of unexpected failures\t',
+            '# of unexpected successes\t',
+            '# of expected failures\t\t',
+            '# of unknown successes\t\t',
+            '# of known failures\t\t',
+            '# of untested testcases\t\t',
+            '# of unresolved testcases\t',
+            '# of unsupported tests\t\t'
+        ]
+        self.runs = dict()
+
+    def usage (self):
+        name = sys.argv[0]
+        sys.stderr.write ('Usage: ' + name
+                          + ''' [-t tool] [-l variant-list] [-L] log-or-sum-file ...
+
+    tool           The tool (e.g. g++, libffi) for which to create a
+                   new test summary file.  If not specified then output
+                   is created for all tools.
+    variant-list   One or more test variant names.  If the list is
+                   not specified then one is constructed from all
+                   variants in the files for <tool>.
+    sum-file       A test summary file with the format of those
+                   created by runtest from DejaGnu.
+    If -L is used, merge *.log files instead of *.sum.  In this
+    mode the exact order of lines may not be preserved, just different
+    Running *.exp chunks should be in correct order.
+''')
+        sys.exit (1)
+
+    def fatal (self, what, string):
+        if not what:
+            what = sys.argv[0]
+        sys.stderr.write (what + ': ' + string + '\n')
+        sys.exit (1)
+
+    # Parse the command-line arguments.
+    def parse_cmdline (self):
+        try:
+            (options, self.files) = getopt.getopt (sys.argv[1:], 'l:t:L')
+            if len (self.files) == 0:
+                self.usage()
+            for (option, value) in options:
+                if option == '-l':
+                    self.variations.append (value)
+                elif option == '-t':
+                    self.tools.append (value)
+                else:
+                    self.do_sum = False
+        except getopt.GetoptError as e:
+            self.fatal (None, e.msg)
+
+    # Try to parse time string TIME, returning an arbitrary time on failure.
+    # Getting this right is just a nice-to-have so failures should be silent.
+    def parse_time (self, time):
+        try:
+            return datetime.strptime (time, '%c')
+        except ValueError:
+            return datetime.now()
+
+    # Parse an integer and abort on failure.
+    def parse_int (self, filename, value):
+        try:
+            return int (value)
+        except ValueError:
+            self.fatal (filename, 'expected an integer, got: ' + value)
+
+    # Return a list that represents no test results.
+    def zero_counts (self):
+        return [0 for x in self.count_names]
+
+    # Return the ToolRun for tool NAME.
+    def get_tool (self, name):
+        if name not in self.runs:
+            self.runs[name] = ToolRun (name)
+        return self.runs[name]
+
+    # Add the result counts in list FROMC to TOC.
+    def accumulate_counts (self, toc, fromc):
+        for i in range (len (self.count_names)):
+            toc[i] += fromc[i]
+
+    # Parse the list of variations after 'Schedule of variations:'.
+    # Return the number seen.
+    def parse_variations (self, filename, file):
+        num_variations = 0
+        while True:
+            line = file.readline()
+            if line == '':
+                self.fatal (filename, 'could not parse variation list')
+            if line == '\n':
+                break
+            self.known_variations.add (line.strip())
+            num_variations += 1
+        return num_variations
+
+    # Parse from the first line after 'Running target ...' to the end
+    # of the run's summary.
+    def parse_run (self, filename, file, tool, variation, num_variations):
+        header = None
+        harness = None
+        segment = None
+        final_using = 0
+
+        # If this is the first run for this variation, add any text before
+        # the first harness to the header.
+        if not variation.header:
+            segment = Segment (filename, file.tell())
+            variation.header = segment
+
+        # Parse up until the first line of the summary.
+        if num_variations == 1:
+            end = '\t\t=== ' + tool.name + ' Summary ===\n'
+        else:
+            end = ('\t\t=== ' + tool.name + ' Summary for '
+                   + variation.name + ' ===\n')
+        while True:
+            line = file.readline()
+            if line == '':
+                self.fatal (filename, 'no recognised summary line')
+            if line == end:
+                break
+
+            # Look for the start of a new harness.
+            if line.startswith ('Running ') and line.endswith (' ...\n'):
+                # Close off the current harness segment, if any.
+                if harness:
+                    segment.lines -= final_using
+                    harness.add_segment (first_key, segment)
+                name = line[len ('Running '):-len(' ...\n')]
+                harness = variation.get_harness (name)
+                segment = Segment (filename, file.tell())
+                first_key = None
+                final_using = 0
+                continue
+
+            # Record test results.  Associate the first test result with
+            # the harness segment, so that if a run for a particular harness
+            # has been split up, we can reassemble the individual segments
+            # in a sensible order.
+            #
+            # dejagnu sometimes issues warnings about the testing environment
+            # before running any tests.  Treat them as part of the header
+            # rather than as a test result.
+            match = self.result_re.match (line)
+            if match and (harness or not line.startswith ('WARNING:')):
+                if not harness:
+                    self.fatal (filename, 'saw test result before harness name')
+                name = match.group (2)
+                # Ugly hack to get the right order for gfortran.
+                if name.startswith ('gfortran.dg/g77/'):
+                    name = 'h' + name
+                key = (name, len (harness.results))
+                harness.results.append ((key, line))
+                if not first_key and sort_logs:
+                    first_key = key
+
+            # 'Using ...' lines are only interesting in a header.  Splitting
+            # the test up into parallel runs leads to more 'Using ...' lines
+            # than there would be in a single log.
+            if line.startswith ('Using '):
+                final_using += 1
+            else:
+                final_using = 0
+
+            # Add other text to the current segment, if any.
+            if segment:
+                segment.lines += 1
+
+        # Close off the final harness segment, if any.
+        if harness:
+            segment.lines -= final_using
+            harness.add_segment (first_key, segment)
+
+        # Parse the rest of the summary (the '# of ' lines).
+        if len (variation.counts) == 0:
+            variation.counts = self.zero_counts()
+        while True:
+            before = file.tell()
+            line = file.readline()
+            if line == '':
+                break
+            if line == '\n':
+                continue
+            if not line.startswith ('# '):
+                file.seek (before)
+                break
+            found = False
+            for i in range (len (self.count_names)):
+                if line.startswith (self.count_names[i]):
+                    count = line[len (self.count_names[i]):-1].strip()
+                    variation.counts[i] += self.parse_int (filename, count)
+                    found = True
+                    break
+            if not found:
+                self.fatal (filename, 'unknown test result: ' + line[:-1])
+
+    # Parse an acats run, which uses a different format from dejagnu.
+    # We have just skipped over '=== acats configuration ==='.
+    def parse_acats_run (self, filename, file):
+        # Parse the preamble, which describes the configuration and logs
+        # the creation of support files.
+        record = (self.acats_premable == '')
+        if record:
+            self.acats_premable = '\t\t=== acats configuration ===\n'
+        while True:
+            line = file.readline()
+            if line == '':
+                self.fatal (filename, 'could not parse acats preamble')
+            if line == '\t\t=== acats tests ===\n':
+                break
+            if record:
+                self.acats_premable += line
+
+        # Parse the test results themselves, using a dummy variation name.
+        tool = self.get_tool ('acats')
+        variation = tool.get_variation ('none')
+        self.parse_run (filename, file, tool, variation, 1)
+
+        # Parse the failure list.
+        while True:
+            before = file.tell()
+            line = file.readline()
+            if line.startswith ('*** FAILURES: '):
+                self.acats_failures.append (line[len ('*** FAILURES: '):-1])
+                continue
+            file.seek (before)
+            break
+
+    # Parse the final summary at the end of a log in order to capture
+    # the version output that follows it.
+    def parse_final_summary (self, filename, file):
+        record = (self.version_output == '')
+        while True:
+            line = file.readline()
+            if line == '':
+                break
+            if line.startswith ('# of '):
+                continue
+            if record:
+                self.version_output += line
+            if line == '\n':
+                break
+
+    # Parse a .log or .sum file.
+    def parse_file (self, filename, file):
+        tool = None
+        target = None
+        num_variations = 1
+        while True:
+            line = file.readline()
+            if line == '':
+                return
+
+            # Parse the list of variations, which comes before the test
+            # runs themselves.
+            if line.startswith ('Schedule of variations:'):
+                num_variations = self.parse_variations (filename, file)
+                continue
+
+            # Parse a testsuite run for one tool/variation combination.
+            if line.startswith ('Running target '):
+                name = line[len ('Running target '):-1]
+                if not tool:
+                    self.fatal (filename, 'could not parse tool name')
+                if name not in self.known_variations:
+                    self.fatal (filename, 'unknown target: ' + name)
+                self.parse_run (filename, file, tool,
+                                tool.get_variation (name),
+                                num_variations)
+                # If there is only one variation then there is no separate
+                # summary for it.  Record any following version output.
+                if num_variations == 1:
+                    self.parse_final_summary (filename, file)
+                continue
+
+            # Parse the start line.  In the case where several files are being
+            # parsed, pick the one with the earliest time.
+            match = self.test_run_re.match (line)
+            if match:
+                time = self.parse_time (match.group (2))
+                if not self.start_line or self.start_line[0] > time:
+                    self.start_line = (time, line)
+                continue
+
+            # Parse the form used for native testing.
+            if line.startswith ('Native configuration is '):
+                self.native_line = line
+                continue
+
+            # Parse the target triplet.
+            if line.startswith ('Target is '):
+                self.target_line = line
+                continue
+
+            # Parse the host triplet.
+            if line.startswith ('Host   is '):
+                self.host_line = line
+                continue
+
+            # Parse the acats premable.
+            if line == '\t\t=== acats configuration ===\n':
+                self.parse_acats_run (filename, file)
+                continue
+
+            # Parse the tool name.
+            match = self.tool_re.match (line)
+            if match:
+                tool = self.get_tool (match.group (1))
+                continue
+
+            # Skip over the final summary (which we instead create from
+            # individual runs) and parse the version output.
+            if tool and line == '\t\t=== ' + tool.name + ' Summary ===\n':
+                if file.readline() != '\n':
+                    self.fatal (filename, 'expected blank line after summary')
+                self.parse_final_summary (filename, file)
+                continue
+
+            # Parse the completion line.  In the case where several files
+            # are being parsed, pick the one with the latest time.
+            match = self.completed_re.match (line)
+            if match:
+                time = self.parse_time (match.group (1))
+                if not self.end_line or self.end_line[0] < time:
+                    self.end_line = (time, line)
+                continue
+
+            # Sanity check to make sure that important text doesn't get
+            # dropped accidentally.
+            if strict and line.strip() != '':
+                self.fatal (filename, 'unrecognised line: ' + line[:-1])
+
+    # Output a segment of text.
+    def output_segment (self, segment):
+        with safe_open (segment.filename) as file:
+            file.seek (segment.start)
+            for i in range (segment.lines):
+                sys.stdout.write (file.readline())
+
+    # Output a summary giving the number of times each type of result has
+    # been seen.
+    def output_summary (self, tool, counts):
+        for i in range (len (self.count_names)):
+            name = self.count_names[i]
+            # dejagnu only prints result types that were seen at least once,
+            # but acats always prints a number of unexpected failures.
+            if (counts[i] > 0
+                or (tool.name == 'acats'
+                    and name.startswith ('# of unexpected failures'))):
+                sys.stdout.write ('%s%d\n' % (name, counts[i]))
+
+    # Output unified .log or .sum information for a particular variation,
+    # with a summary at the end.
+    def output_variation (self, tool, variation):
+        self.output_segment (variation.header)
+        for harness in sorted (variation.harnesses.values(),
+                               key = attrgetter ('name')):
+            sys.stdout.write ('Running ' + harness.name + ' ...\n')
+            if self.do_sum:
+                harness.results.sort()
+                for (key, line) in harness.results:
+                    sys.stdout.write (line)
+            else:
+                # Rearrange the log segments into test order (but without
+                # rearranging text within those segments).
+                for key in sorted (harness.segments.keys()):
+                    self.output_segment (harness.segments[key])
+                for segment in harness.empty:
+                    self.output_segment (segment)
+        if len (self.variations) > 1:
+            sys.stdout.write ('\t\t=== ' + tool.name + ' Summary for '
+                              + variation.name + ' ===\n\n')
+            self.output_summary (tool, variation.counts)
+
+    # Output unified .log or .sum information for a particular tool,
+    # with a summary at the end.
+    def output_tool (self, tool):
+        counts = self.zero_counts()
+        if tool.name == 'acats':
+            # acats doesn't use variations, so just output everything.
+            # It also has a different approach to whitespace.
+            sys.stdout.write ('\t\t=== ' + tool.name + ' tests ===\n')
+            for variation in tool.variations.values():
+                self.output_variation (tool, variation)
+                self.accumulate_counts (counts, variation.counts)
+            sys.stdout.write ('\t\t=== ' + tool.name + ' Summary ===\n')
+        else:
+            # Output the results in the usual dejagnu runtest format.
+            sys.stdout.write ('\n\t\t=== ' + tool.name + ' tests ===\n\n'
+                              'Schedule of variations:\n')
+            for name in self.variations:
+                if name in tool.variations:
+                    sys.stdout.write ('    ' + name + '\n')
+            sys.stdout.write ('\n')
+            for name in self.variations:
+                if name in tool.variations:
+                    variation = tool.variations[name]
+                    sys.stdout.write ('Running target '
+                                      + variation.name + '\n')
+                    self.output_variation (tool, variation)
+                    self.accumulate_counts (counts, variation.counts)
+            sys.stdout.write ('\n\t\t=== ' + tool.name + ' Summary ===\n\n')
+        self.output_summary (tool, counts)
+
+    def main (self):
+        self.parse_cmdline()
+        try:
+            # Parse the input files.
+            for filename in self.files:
+                with safe_open (filename) as file:
+                    self.parse_file (filename, file)
+
+            # Decide what to output.
+            if len (self.variations) == 0:
+                self.variations = sorted (self.known_variations)
+            else:
+                for name in self.variations:
+                    if name not in self.known_variations:
+                        self.fatal (None, 'no results for ' + name)
+            if len (self.tools) == 0:
+                self.tools = sorted (self.runs.keys())
+
+            # Output the header.
+            if self.start_line:
+                sys.stdout.write (self.start_line[1])
+            sys.stdout.write (self.native_line)
+            sys.stdout.write (self.target_line)
+            sys.stdout.write (self.host_line)
+            sys.stdout.write (self.acats_premable)
+
+            # Output the main body.
+            for name in self.tools:
+                if name not in self.runs:
+                    self.fatal (None, 'no results for ' + name)
+                self.output_tool (self.runs[name])
+
+            # Output the footer.
+            if len (self.acats_failures) > 0:
+                sys.stdout.write ('*** FAILURES: '
+                                  + ' '.join (self.acats_failures) + '\n')
+            sys.stdout.write (self.version_output)
+            if self.end_line:
+                sys.stdout.write (self.end_line[1])
+        except IOError as e:
+            self.fatal (e.filename, e.strerror)
+
+Prog().main()
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/dg-extract-results.sh ./gdb/testsuite/dg-extract-results.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/dg-extract-results.sh	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/dg-extract-results.sh	2015-01-20 02:05:39.000000000 +0000
@@ -6,7 +6,7 @@
 # The resulting file can be used with test result comparison scripts for
 # results from tests that were run in parallel.  See usage() below.
 
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 # Contributed by Janis Johnson <janis187@us.ibm.com>
 #
 # This file is part of GCC.
@@ -26,6 +26,15 @@
 
 PROGNAME=dg-extract-results.sh
 
+# Try to use the python version if possible, since it tends to be faster.
+PYTHON_VER=`echo "$0" | sed 's/sh$/py/'`
+if test "$PYTHON_VER" != "$0" &&
+   test -f "$PYTHON_VER" &&
+   python -c 'import sys; sys.exit (0 if sys.version_info >= (2, 6) else 1)' \
+     > /dev/null 2> /dev/null; then
+  exec python $PYTHON_VER "$@"
+fi
+
 usage() {
   cat <<EOF >&2
 Usage: $PROGNAME [-t tool] [-l variant-list] [-L] sum-file ...
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb ./gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+with Pck; use Pck;
+
+procedure Foo_NA07_019 is
+begin
+   Increment (Something);  -- START
+end Foo_NA07_019;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/addr_arith/pck.adb ./gdb/testsuite/gdb.ada/addr_arith/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/addr_arith/pck.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/addr_arith/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+package body Pck is
+   procedure Increment (I : in out Integer) is
+   begin
+      I := I + 1;
+   end Increment;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/addr_arith/pck.ads ./gdb/testsuite/gdb.ada/addr_arith/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/addr_arith/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/addr_arith/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+package Pck is
+   Something : Integer := 0;
+   procedure Increment (I : in out Integer);
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/addr_arith.exp ./gdb/testsuite/gdb.ada/addr_arith.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/addr_arith.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/addr_arith.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,42 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile foo_na07_019
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
+  return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "START" ${testdir}/foo_na07_019.adb]
+if ![runto "foo_na07_019.adb:$bp_location" ] then {
+  perror "Couldn't run ${testfile}"
+  return
+}
+
+gdb_test "print something'address + 0" \
+         "\\(system\\.address\\) $hex <pck\\.something>"
+
+gdb_test "print 0 + something'address" \
+         "\\(system\\.address\\) $hex <pck\\.something>"
+
+gdb_test "print something'address - 0" \
+         "\\(system\\.address\\) $hex <pck\\.something>"
+
+gdb_test "print 0 - something'address" \
+         "\\(system\\.address\\) $hex.*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/aliased_array/foo.adb ./gdb/testsuite/gdb.ada/aliased_array/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/aliased_array/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/aliased_array/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/aliased_array/pck.adb ./gdb/testsuite/gdb.ada/aliased_array/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/aliased_array/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/aliased_array/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/aliased_array/pck.ads ./gdb/testsuite/gdb.ada/aliased_array/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/aliased_array/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/aliased_array/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/aliased_array.exp ./gdb/testsuite/gdb.ada/aliased_array.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/aliased_array.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/aliased_array.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arr_arr/foo.adb ./gdb/testsuite/gdb.ada/arr_arr/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arr_arr/foo.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_arr/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,25 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+with System;
+with Pck; use Pck;
+
+procedure Foo is
+   type Array2_First is array (24 .. 26) of Integer;
+   type Array2_Second is array (1 .. 2) of Array2_First;
+   A2 : Array2_Second := ((10, 11, 12), (13, 14, 15));
+begin
+   Do_Nothing (A2'Address);  --  START
+end Foo;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arr_arr/pck.adb ./gdb/testsuite/gdb.ada/arr_arr/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arr_arr/pck.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_arr/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+package body Pck is
+   procedure Do_Nothing (A : System.Address) is
+   begin
+      null;
+   end Do_Nothing;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arr_arr/pck.ads ./gdb/testsuite/gdb.ada/arr_arr/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arr_arr/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_arr/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+with System;
+package Pck is
+   procedure Do_Nothing (A : System.Address);
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arr_arr.exp ./gdb/testsuite/gdb.ada/arr_arr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arr_arr.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arr_arr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,33 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile foo
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
+  return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "START" ${testdir}/foo.adb]
+if ![runto "foo.adb:$bp_location" ] then {
+  perror "Couldn't run ${testfile}"
+  return
+}
+
+gdb_test "ptype a2" \
+         " = array \\(1 \\.\\. 2\\) of foo.array2_first"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_bounds/bar.adb ./gdb/testsuite/gdb.ada/array_bounds/bar.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_bounds/bar.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_bounds/bar.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_bounds.exp ./gdb/testsuite/gdb.ada/array_bounds.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_bounds.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_bounds.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_char_idx/foo.adb ./gdb/testsuite/gdb.ada/array_char_idx/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_char_idx/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_char_idx/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_char_idx/pck.adb ./gdb/testsuite/gdb.ada/array_char_idx/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_char_idx/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_char_idx/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_char_idx/pck.ads ./gdb/testsuite/gdb.ada/array_char_idx/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_char_idx/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_char_idx/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_char_idx.exp ./gdb/testsuite/gdb.ada/array_char_idx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_char_idx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_char_idx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim/foo.adb ./gdb/testsuite/gdb.ada/arraydim/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arraydim/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim/inc.c ./gdb/testsuite/gdb.ada/arraydim/inc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim/inc.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arraydim/inc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim/pck.adb ./gdb/testsuite/gdb.ada/arraydim/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arraydim/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim/pck.ads ./gdb/testsuite/gdb.ada/arraydim/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arraydim/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim.exp ./gdb/testsuite/gdb.ada/arraydim.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arraydim.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arraydim.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayidx/p.adb ./gdb/testsuite/gdb.ada/arrayidx/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayidx/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayidx/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2005-2014 Free Software Foundation, Inc.
+--  Copyright 2005-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayidx.exp ./gdb/testsuite/gdb.ada/arrayidx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayidx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayidx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayparam/foo.adb ./gdb/testsuite/gdb.ada/arrayparam/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayparam/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayparam/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayparam/pck.adb ./gdb/testsuite/gdb.ada/arrayparam/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayparam/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayparam/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayparam/pck.ads ./gdb/testsuite/gdb.ada/arrayparam/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayparam/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayparam/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayparam.exp ./gdb/testsuite/gdb.ada/arrayparam.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayparam.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayparam.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayptr/foo.adb ./gdb/testsuite/gdb.ada/arrayptr/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayptr/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayptr/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayptr/pck.adb ./gdb/testsuite/gdb.ada/arrayptr/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayptr/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayptr/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayptr/pck.ads ./gdb/testsuite/gdb.ada/arrayptr/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayptr/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayptr/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayptr.exp ./gdb/testsuite/gdb.ada/arrayptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/arrayptr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/arrayptr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_return/p.adb ./gdb/testsuite/gdb.ada/array_return/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_return/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_return/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2006-2014 Free Software Foundation, Inc.
+--  Copyright 2006-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_return/pck.adb ./gdb/testsuite/gdb.ada/array_return/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_return/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_return/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2006-2014 Free Software Foundation, Inc.
+--  Copyright 2006-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_return/pck.ads ./gdb/testsuite/gdb.ada/array_return/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_return/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_return/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2006-2014 Free Software Foundation, Inc.
+--  Copyright 2006-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_return.exp ./gdb/testsuite/gdb.ada/array_return.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_return.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_return.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_subscript_addr/p.adb ./gdb/testsuite/gdb.ada/array_subscript_addr/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_subscript_addr/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_subscript_addr/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_subscript_addr.exp ./gdb/testsuite/gdb.ada/array_subscript_addr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/array_subscript_addr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/array_subscript_addr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/assign_1.exp ./gdb/testsuite/gdb.ada/assign_1.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/assign_1.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/assign_1.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/atomic_enum/foo.adb ./gdb/testsuite/gdb.ada/atomic_enum/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/atomic_enum/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/atomic_enum/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/atomic_enum/pck.adb ./gdb/testsuite/gdb.ada/atomic_enum/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/atomic_enum/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/atomic_enum/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/atomic_enum/pck.ads ./gdb/testsuite/gdb.ada/atomic_enum/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/atomic_enum/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/atomic_enum/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/atomic_enum.exp ./gdb/testsuite/gdb.ada/atomic_enum.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/atomic_enum.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/atomic_enum.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb ./gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2009-2014 Free Software Foundation, Inc.
+--  Copyright 2009-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp ./gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/boolean_expr.exp ./gdb/testsuite/gdb.ada/boolean_expr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/boolean_expr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/boolean_expr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb ./gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb ./gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads ./gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_enum_homonym.exp ./gdb/testsuite/gdb.ada/bp_enum_homonym.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_enum_homonym.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_enum_homonym.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_on_var/foo.adb ./gdb/testsuite/gdb.ada/bp_on_var/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_on_var/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_on_var/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_on_var/pck.adb ./gdb/testsuite/gdb.ada/bp_on_var/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_on_var/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_on_var/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_on_var/pck.ads ./gdb/testsuite/gdb.ada/bp_on_var/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_on_var/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_on_var/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_on_var.exp ./gdb/testsuite/gdb.ada/bp_on_var.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_on_var.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_on_var.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_range_type/foo.adb ./gdb/testsuite/gdb.ada/bp_range_type/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_range_type/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_range_type/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_range_type/pck.adb ./gdb/testsuite/gdb.ada/bp_range_type/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_range_type/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_range_type/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_range_type/pck.ads ./gdb/testsuite/gdb.ada/bp_range_type/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_range_type/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_range_type/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_range_type.exp ./gdb/testsuite/gdb.ada/bp_range_type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_range_type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_range_type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/foo.adb ./gdb/testsuite/gdb.ada/bp_reset/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_reset/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/io.adb ./gdb/testsuite/gdb.ada/bp_reset/io.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/io.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_reset/io.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/io.ads ./gdb/testsuite/gdb.ada/bp_reset/io.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/io.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_reset/io.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/pck.adb ./gdb/testsuite/gdb.ada/bp_reset/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_reset/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/pck.ads ./gdb/testsuite/gdb.ada/bp_reset/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_reset/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset.exp ./gdb/testsuite/gdb.ada/bp_reset.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/bp_reset.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/bp_reset.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/call_pn/foo.adb ./gdb/testsuite/gdb.ada/call_pn/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/call_pn/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/call_pn/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/call_pn/pck.adb ./gdb/testsuite/gdb.ada/call_pn/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/call_pn/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/call_pn/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/call_pn/pck.ads ./gdb/testsuite/gdb.ada/call_pn/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/call_pn/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/call_pn/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/call_pn.exp ./gdb/testsuite/gdb.ada/call_pn.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/call_pn.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/call_pn.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/catch_ex/foo.adb ./gdb/testsuite/gdb.ada/catch_ex/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/catch_ex/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/catch_ex/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/catch_ex.exp ./gdb/testsuite/gdb.ada/catch_ex.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/catch_ex.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/catch_ex.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_enum/foo.adb ./gdb/testsuite/gdb.ada/char_enum/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_enum/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/char_enum/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_enum/pck.adb ./gdb/testsuite/gdb.ada/char_enum/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_enum/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/char_enum/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_enum/pck.ads ./gdb/testsuite/gdb.ada/char_enum/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_enum/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/char_enum/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_enum.exp ./gdb/testsuite/gdb.ada/char_enum.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_enum.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/char_enum.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_param/foo.adb ./gdb/testsuite/gdb.ada/char_param/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_param/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/char_param/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_param/pck.adb ./gdb/testsuite/gdb.ada/char_param/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_param/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/char_param/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_param/pck.ads ./gdb/testsuite/gdb.ada/char_param/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_param/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/char_param/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_param.exp ./gdb/testsuite/gdb.ada/char_param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/char_param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/char_param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/complete/foo.adb ./gdb/testsuite/gdb.ada/complete/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/complete/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/complete/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/complete/pck.adb ./gdb/testsuite/gdb.ada/complete/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/complete/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/complete/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/complete/pck.ads ./gdb/testsuite/gdb.ada/complete/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/complete/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/complete/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/complete.exp ./gdb/testsuite/gdb.ada/complete.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/complete.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/complete.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/a.adb ./gdb/testsuite/gdb.ada/cond_lang/a.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/a.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/cond_lang/a.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/foo.c ./gdb/testsuite/gdb.ada/cond_lang/foo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/foo.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/cond_lang/foo.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-extern callme (void);
+extern void callme (void);
 
 void
 c_function (void)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/mixed.adb ./gdb/testsuite/gdb.ada/cond_lang/mixed.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/mixed.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/cond_lang/mixed.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/mixed.ads ./gdb/testsuite/gdb.ada/cond_lang/mixed.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/mixed.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/cond_lang/mixed.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/pck.adb ./gdb/testsuite/gdb.ada/cond_lang/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/cond_lang/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/pck.ads ./gdb/testsuite/gdb.ada/cond_lang/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/cond_lang/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang.exp ./gdb/testsuite/gdb.ada/cond_lang.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/cond_lang.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/cond_lang.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dot_all/foo.adb ./gdb/testsuite/gdb.ada/dot_all/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dot_all/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dot_all/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dot_all/pck.adb ./gdb/testsuite/gdb.ada/dot_all/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dot_all/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dot_all/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dot_all/pck.ads ./gdb/testsuite/gdb.ada/dot_all/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dot_all/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dot_all/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dot_all.exp ./gdb/testsuite/gdb.ada/dot_all.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dot_all.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dot_all.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb ./gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_arrayidx.exp ./gdb/testsuite/gdb.ada/dyn_arrayidx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_arrayidx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dyn_arrayidx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_loc/pack.adb ./gdb/testsuite/gdb.ada/dyn_loc/pack.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_loc/pack.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dyn_loc/pack.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_loc/pack.ads ./gdb/testsuite/gdb.ada/dyn_loc/pack.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_loc/pack.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dyn_loc/pack.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_loc/p.adb ./gdb/testsuite/gdb.ada/dyn_loc/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_loc/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dyn_loc/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_loc.exp ./gdb/testsuite/gdb.ada/dyn_loc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/dyn_loc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/dyn_loc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb ./gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb ./gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads ./gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/enum_idx_packed.exp ./gdb/testsuite/gdb.ada/enum_idx_packed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/enum_idx_packed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/enum_idx_packed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exec_changed/first.adb ./gdb/testsuite/gdb.ada/exec_changed/first.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exec_changed/first.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/exec_changed/first.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2005-2014 Free Software Foundation, Inc.
+--  Copyright 2005-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exec_changed/second.adb ./gdb/testsuite/gdb.ada/exec_changed/second.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exec_changed/second.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/exec_changed/second.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2005-2014 Free Software Foundation, Inc.
+--  Copyright 2005-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exec_changed.exp ./gdb/testsuite/gdb.ada/exec_changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exec_changed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/exec_changed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/expr_delims/foo.adb ./gdb/testsuite/gdb.ada/expr_delims/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/expr_delims/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/expr_delims/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/expr_delims/pck.adb ./gdb/testsuite/gdb.ada/expr_delims/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/expr_delims/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/expr_delims/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/expr_delims/pck.ads ./gdb/testsuite/gdb.ada/expr_delims/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/expr_delims/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/expr_delims/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/expr_delims.exp ./gdb/testsuite/gdb.ada/expr_delims.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/expr_delims.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/expr_delims.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exprs/p.adb ./gdb/testsuite/gdb.ada/exprs/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exprs/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/exprs/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exprs.exp ./gdb/testsuite/gdb.ada/exprs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/exprs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/exprs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_cmp/fixed.adb ./gdb/testsuite/gdb.ada/fixed_cmp/fixed.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_cmp/fixed.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fixed_cmp/fixed.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_cmp/pck.adb ./gdb/testsuite/gdb.ada/fixed_cmp/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_cmp/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fixed_cmp/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_cmp/pck.ads ./gdb/testsuite/gdb.ada/fixed_cmp/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_cmp/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fixed_cmp/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_cmp.exp ./gdb/testsuite/gdb.ada/fixed_cmp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_cmp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fixed_cmp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb ./gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2004-2014 Free Software Foundation, Inc.
+--  Copyright 2004-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_points.exp ./gdb/testsuite/gdb.ada/fixed_points.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fixed_points.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fixed_points.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/float_param/foo.adb ./gdb/testsuite/gdb.ada/float_param/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/float_param/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/float_param/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/float_param/pck.adb ./gdb/testsuite/gdb.ada/float_param/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/float_param/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/float_param/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/float_param/pck.ads ./gdb/testsuite/gdb.ada/float_param/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/float_param/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/float_param/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/float_param.exp ./gdb/testsuite/gdb.ada/float_param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/float_param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/float_param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/formatted_ref/defs.adb ./gdb/testsuite/gdb.ada/formatted_ref/defs.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/formatted_ref/defs.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/formatted_ref/defs.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/formatted_ref/defs.ads ./gdb/testsuite/gdb.ada/formatted_ref/defs.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/formatted_ref/defs.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/formatted_ref/defs.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/formatted_ref/formatted_ref.adb ./gdb/testsuite/gdb.ada/formatted_ref/formatted_ref.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/formatted_ref/formatted_ref.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/formatted_ref/formatted_ref.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/formatted_ref.exp ./gdb/testsuite/gdb.ada/formatted_ref.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/formatted_ref.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/formatted_ref.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/frame_args/foo.adb ./gdb/testsuite/gdb.ada/frame_args/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/frame_args/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/frame_args/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/frame_args/pck.adb ./gdb/testsuite/gdb.ada/frame_args/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/frame_args/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/frame_args/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/frame_args/pck.ads ./gdb/testsuite/gdb.ada/frame_args/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/frame_args/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/frame_args/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/frame_args.exp ./gdb/testsuite/gdb.ada/frame_args.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/frame_args.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/frame_args.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/dn.adb ./gdb/testsuite/gdb.ada/fullname_bp/dn.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/dn.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fullname_bp/dn.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/dn.ads ./gdb/testsuite/gdb.ada/fullname_bp/dn.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/dn.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fullname_bp/dn.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/foo.adb ./gdb/testsuite/gdb.ada/fullname_bp/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fullname_bp/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/pck.adb ./gdb/testsuite/gdb.ada/fullname_bp/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fullname_bp/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/pck.ads ./gdb/testsuite/gdb.ada/fullname_bp/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fullname_bp/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp.exp ./gdb/testsuite/gdb.ada/fullname_bp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fullname_bp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fullname_bp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_addr/foo.adb ./gdb/testsuite/gdb.ada/fun_addr/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_addr/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fun_addr/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_addr.exp ./gdb/testsuite/gdb.ada/fun_addr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_addr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fun_addr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/funcall_param/foo.adb ./gdb/testsuite/gdb.ada/funcall_param/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/funcall_param/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/funcall_param/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/funcall_param/pck.adb ./gdb/testsuite/gdb.ada/funcall_param/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/funcall_param/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/funcall_param/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/funcall_param/pck.ads ./gdb/testsuite/gdb.ada/funcall_param/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/funcall_param/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/funcall_param/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/funcall_param.exp ./gdb/testsuite/gdb.ada/funcall_param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/funcall_param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/funcall_param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_in_declare/foo.adb ./gdb/testsuite/gdb.ada/fun_in_declare/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_in_declare/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fun_in_declare/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_in_declare/pck.adb ./gdb/testsuite/gdb.ada/fun_in_declare/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_in_declare/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fun_in_declare/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_in_declare/pck.ads ./gdb/testsuite/gdb.ada/fun_in_declare/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_in_declare/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fun_in_declare/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_in_declare.exp ./gdb/testsuite/gdb.ada/fun_in_declare.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/fun_in_declare.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/fun_in_declare.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/gnat_ada.gpr ./gdb/testsuite/gdb.ada/gnat_ada.gpr
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/gnat_ada.gpr	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/gnat_ada.gpr	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2004-2014 Free Software Foundation, Inc.
+--  Copyright 2004-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/homonym.adb ./gdb/testsuite/gdb.ada/homonym/homonym.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/homonym.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/homonym/homonym.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/homonym.ads ./gdb/testsuite/gdb.ada/homonym/homonym.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/homonym.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/homonym/homonym.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/homonym_main.adb ./gdb/testsuite/gdb.ada/homonym/homonym_main.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/homonym_main.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/homonym/homonym_main.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/pck.adb ./gdb/testsuite/gdb.ada/homonym/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/homonym/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/pck.ads ./gdb/testsuite/gdb.ada/homonym/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/homonym/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym.exp ./gdb/testsuite/gdb.ada/homonym.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/homonym.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/homonym.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_exc/const.ads ./gdb/testsuite/gdb.ada/info_exc/const.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_exc/const.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_exc/const.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_exc/foo.adb ./gdb/testsuite/gdb.ada/info_exc/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_exc/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_exc/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_exc.exp ./gdb/testsuite/gdb.ada/info_exc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_exc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_exc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb ./gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb ./gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads ./gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_locals_renaming.exp ./gdb/testsuite/gdb.ada/info_locals_renaming.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_locals_renaming.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_locals_renaming.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_types.c ./gdb/testsuite/gdb.ada/info_types.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_types.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_types.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_types.exp ./gdb/testsuite/gdb.ada/info_types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/info_types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/info_types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/int_deref/foo.adb ./gdb/testsuite/gdb.ada/int_deref/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/int_deref/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/int_deref/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/int_deref/pck.ads ./gdb/testsuite/gdb.ada/int_deref/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/int_deref/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/int_deref/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/int_deref.exp ./gdb/testsuite/gdb.ada/int_deref.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/int_deref.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/int_deref.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/interface/foo.adb ./gdb/testsuite/gdb.ada/interface/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/interface/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/interface/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/interface/types.adb ./gdb/testsuite/gdb.ada/interface/types.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/interface/types.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/interface/types.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/interface/types.ads ./gdb/testsuite/gdb.ada/interface/types.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/interface/types.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/interface/types.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/interface.exp ./gdb/testsuite/gdb.ada/interface.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/interface.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/interface.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/iwide/classes.adb ./gdb/testsuite/gdb.ada/iwide/classes.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/iwide/classes.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/iwide/classes.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/iwide/classes.ads ./gdb/testsuite/gdb.ada/iwide/classes.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/iwide/classes.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/iwide/classes.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/iwide/p.adb ./gdb/testsuite/gdb.ada/iwide/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/iwide/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/iwide/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/iwide.exp ./gdb/testsuite/gdb.ada/iwide.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/iwide.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/iwide.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/lang_switch/foo.c ./gdb/testsuite/gdb.ada/lang_switch/foo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/lang_switch/foo.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/lang_switch/foo.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2008-2014 Free Software Foundation, Inc.
+/* Copyright 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/lang_switch/lang_switch.adb ./gdb/testsuite/gdb.ada/lang_switch/lang_switch.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/lang_switch/lang_switch.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/lang_switch/lang_switch.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/lang_switch.exp ./gdb/testsuite/gdb.ada/lang_switch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/lang_switch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/lang_switch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb ./gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_catch_ex.exp ./gdb/testsuite/gdb.ada/mi_catch_ex.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_catch_ex.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_catch_ex.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb ./gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb ./gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads ./gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_dyn_arr.exp ./gdb/testsuite/gdb.ada/mi_dyn_arr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_dyn_arr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_dyn_arr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_exc_info/const.ads ./gdb/testsuite/gdb.ada/mi_exc_info/const.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_exc_info/const.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_exc_info/const.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_exc_info/foo.adb ./gdb/testsuite/gdb.ada/mi_exc_info/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_exc_info/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_exc_info/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_exc_info.exp ./gdb/testsuite/gdb.ada/mi_exc_info.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_exc_info.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_exc_info.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb ./gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads ./gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_ex_cond.exp ./gdb/testsuite/gdb.ada/mi_ex_cond.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_ex_cond.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_ex_cond.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_interface/foo.adb ./gdb/testsuite/gdb.ada/mi_interface/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_interface/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_interface/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_interface/pck.adb ./gdb/testsuite/gdb.ada/mi_interface/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_interface/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_interface/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_interface/pck.ads ./gdb/testsuite/gdb.ada/mi_interface/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_interface/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_interface/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_interface.exp ./gdb/testsuite/gdb.ada/mi_interface.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_interface.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_interface.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_task_arg/task_switch.adb ./gdb/testsuite/gdb.ada/mi_task_arg/task_switch.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_task_arg/task_switch.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_task_arg/task_switch.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_task_arg.exp ./gdb/testsuite/gdb.ada/mi_task_arg.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_task_arg.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_task_arg.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_task_info/task_switch.adb ./gdb/testsuite/gdb.ada/mi_task_info/task_switch.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_task_info/task_switch.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_task_info/task_switch.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_task_info.exp ./gdb/testsuite/gdb.ada/mi_task_info.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mi_task_info.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mi_task_info.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mod_from_name/foo.adb ./gdb/testsuite/gdb.ada/mod_from_name/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mod_from_name/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mod_from_name/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2009-2014 Free Software Foundation, Inc.
+--  Copyright 2009-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mod_from_name.exp ./gdb/testsuite/gdb.ada/mod_from_name.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/mod_from_name.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/mod_from_name.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/n_arr_bound/foo.adb ./gdb/testsuite/gdb.ada/n_arr_bound/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/n_arr_bound/foo.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/n_arr_bound/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,23 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+with Pck; use Pck;
+
+procedure Foo is
+   type Array_Type is array (Integer range <>) of Integer;
+   Var: Array_Type (0 .. -1);
+begin
+   Do_Nothing (Var'Address); -- STOP
+end Foo;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/n_arr_bound/pck.adb ./gdb/testsuite/gdb.ada/n_arr_bound/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/n_arr_bound/pck.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/n_arr_bound/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+package body Pck is
+   procedure Do_Nothing (A : System.Address) is
+   begin
+      null;
+   end Do_Nothing;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/n_arr_bound/pck.ads ./gdb/testsuite/gdb.ada/n_arr_bound/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/n_arr_bound/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/n_arr_bound/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+with System;
+package Pck is
+   procedure Do_Nothing (A : System.Address);
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/n_arr_bound.exp ./gdb/testsuite/gdb.ada/n_arr_bound.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/n_arr_bound.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/n_arr_bound.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,32 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+load_lib "ada.exp"
+
+if { [skip_ada_tests] } { return -1 }
+
+standard_ada_testfile foo
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} {
+    return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "STOP" ${testdir}/foo.adb]
+runto "foo.adb:$bp_location"
+
+gdb_test "ptype var" \
+         "= array \\(0 .. -1\\) of integer"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/nested/hello.adb ./gdb/testsuite/gdb.ada/nested/hello.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/nested/hello.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/nested/hello.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/nested.exp ./gdb/testsuite/gdb.ada/nested.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/nested.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/nested.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_array/foo.adb ./gdb/testsuite/gdb.ada/null_array/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_array/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/null_array/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_array/pck.adb ./gdb/testsuite/gdb.ada/null_array/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_array/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/null_array/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_array/pck.ads ./gdb/testsuite/gdb.ada/null_array/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_array/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/null_array/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_array.exp ./gdb/testsuite/gdb.ada/null_array.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_array.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/null_array.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_record/bar.adb ./gdb/testsuite/gdb.ada/null_record/bar.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_record/bar.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/null_record/bar.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2004-2014 Free Software Foundation, Inc.
+--  Copyright 2004-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_record/bar.ads ./gdb/testsuite/gdb.ada/null_record/bar.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_record/bar.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/null_record/bar.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2004-2014 Free Software Foundation, Inc.
+--  Copyright 2004-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_record/null_record.adb ./gdb/testsuite/gdb.ada/null_record/null_record.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_record/null_record.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/null_record/null_record.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2004-2014 Free Software Foundation, Inc.
+--  Copyright 2004-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_record.exp ./gdb/testsuite/gdb.ada/null_record.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/null_record.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/null_record.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/callee.adb ./gdb/testsuite/gdb.ada/O2_float_param/callee.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/callee.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/O2_float_param/callee.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/callee.ads ./gdb/testsuite/gdb.ada/O2_float_param/callee.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/callee.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/O2_float_param/callee.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/caller.adb ./gdb/testsuite/gdb.ada/O2_float_param/caller.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/caller.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/O2_float_param/caller.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/caller.ads ./gdb/testsuite/gdb.ada/O2_float_param/caller.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/caller.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/O2_float_param/caller.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/foo.adb ./gdb/testsuite/gdb.ada/O2_float_param/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/O2_float_param/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/io.adb ./gdb/testsuite/gdb.ada/O2_float_param/io.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/io.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/O2_float_param/io.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/io.ads ./gdb/testsuite/gdb.ada/O2_float_param/io.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param/io.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/O2_float_param/io.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param.exp ./gdb/testsuite/gdb.ada/O2_float_param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/O2_float_param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/O2_float_param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/operator_bp/ops.adb ./gdb/testsuite/gdb.ada/operator_bp/ops.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/operator_bp/ops.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/operator_bp/ops.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/operator_bp/ops.ads ./gdb/testsuite/gdb.ada/operator_bp/ops.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/operator_bp/ops.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/operator_bp/ops.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/operator_bp/ops_test.adb ./gdb/testsuite/gdb.ada/operator_bp/ops_test.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/operator_bp/ops_test.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/operator_bp/ops_test.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/operator_bp.exp ./gdb/testsuite/gdb.ada/operator_bp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/operator_bp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/operator_bp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/optim_drec/foo.adb ./gdb/testsuite/gdb.ada/optim_drec/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/optim_drec/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/optim_drec/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/optim_drec.exp ./gdb/testsuite/gdb.ada/optim_drec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/optim_drec.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/optim_drec.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_array/pa.adb ./gdb/testsuite/gdb.ada/packed_array/pa.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_array/pa.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/packed_array/pa.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2005-2014 Free Software Foundation, Inc.
+--  Copyright 2005-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_array/pck.adb ./gdb/testsuite/gdb.ada/packed_array/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_array/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/packed_array/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright (C) 2011-2014 Free Software Foundation, Inc.
+--  Copyright (C) 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_array/pck.ads ./gdb/testsuite/gdb.ada/packed_array/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_array/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/packed_array/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright (C) 2011-2014 Free Software Foundation, Inc.
+--  Copyright (C) 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_array.exp ./gdb/testsuite/gdb.ada/packed_array.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_array.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/packed_array.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_tagged/comp_bug.adb ./gdb/testsuite/gdb.ada/packed_tagged/comp_bug.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_tagged/comp_bug.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/packed_tagged/comp_bug.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_tagged.exp ./gdb/testsuite/gdb.ada/packed_tagged.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/packed_tagged.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/packed_tagged.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb ./gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb ./gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads ./gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pckd_arr_ren.exp ./gdb/testsuite/gdb.ada/pckd_arr_ren.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pckd_arr_ren.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pckd_arr_ren.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb ./gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,45 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+with Pck; use Pck;
+
+procedure Failure is
+
+   type Funny_Char is
+        (NUL, ' ', '"', '#', '$', TMI, '&', ''',
+         '(', ')', SOT, ND,  ',', '-', '.', '/',
+         '0', '1', '2', '3', '4', '5', '6', '7',
+         '8', '9', ':', ';', UNS, INF, XMT, '?',
+         '!', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
+         'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
+         'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
+         'X', 'Y', 'Z', BEL, SND, CR,  LF,  DLT);
+
+   type Funny_String is array (Positive range <>) of Funny_Char;
+   pragma Pack (Funny_String);
+
+   type Bounded_Funny_String (Size : Natural := 1) is
+      record
+         Str    : Funny_String (1 .. Size) := (others => '0');
+         Length : Natural := 4;
+      end record;
+
+   Test : Bounded_Funny_String (100);
+begin
+   Test.Str := (1 => 'A', others => NUL);
+   Test.Length := 1;
+   Do_Nothing (Test'Address); -- START
+end;
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb ./gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,21 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+package body Pck is
+   procedure Do_Nothing (A : System.Address) is
+   begin
+      null;
+   end Do_Nothing;
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads ./gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,19 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+with System;
+package Pck is
+   procedure Do_Nothing (A : System.Address);
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pkd_arr_elem.exp ./gdb/testsuite/gdb.ada/pkd_arr_elem.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pkd_arr_elem.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pkd_arr_elem.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,38 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+load_lib "ada.exp"
+
+if { [skip_ada_tests] } { return -1 }
+
+standard_ada_testfile failure
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} {
+    return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "START" ${testdir}/failure.adb]
+runto "failure.adb:$bp_location"
+
+gdb_test "print test" \
+         "= \\(size => 100, str => \\(33 'A', nul <repeats 99 times>\\), length => 1\\)"
+
+gdb_test "print test.str" \
+         "= \\(33 'A', nul <repeats 99 times>\\)"
+
+gdb_test "print test.str(1)" \
+         "= 33 'A'"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component/foo.adb ./gdb/testsuite/gdb.ada/pp-rec-component/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pp-rec-component/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component/pck.adb ./gdb/testsuite/gdb.ada/pp-rec-component/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pp-rec-component/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component/pck.ads ./gdb/testsuite/gdb.ada/pp-rec-component/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pp-rec-component/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component.exp ./gdb/testsuite/gdb.ada/pp-rec-component.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pp-rec-component.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component.py ./gdb/testsuite/gdb.ada/pp-rec-component.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/pp-rec-component.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/pp-rec-component.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_chars/foo.adb ./gdb/testsuite/gdb.ada/print_chars/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_chars/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/print_chars/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_chars/pck.adb ./gdb/testsuite/gdb.ada/print_chars/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_chars/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/print_chars/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_chars/pck.ads ./gdb/testsuite/gdb.ada/print_chars/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_chars/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/print_chars/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_chars.exp ./gdb/testsuite/gdb.ada/print_chars.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_chars.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/print_chars.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_pc.exp ./gdb/testsuite/gdb.ada/print_pc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/print_pc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/print_pc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptr_typedef/foo.adb ./gdb/testsuite/gdb.ada/ptr_typedef/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptr_typedef/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptr_typedef/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptr_typedef/pck.adb ./gdb/testsuite/gdb.ada/ptr_typedef/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptr_typedef/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptr_typedef/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptr_typedef/pck.ads ./gdb/testsuite/gdb.ada/ptr_typedef/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptr_typedef/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptr_typedef/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptr_typedef.exp ./gdb/testsuite/gdb.ada/ptr_typedef.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptr_typedef.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptr_typedef.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_arith_binop.exp ./gdb/testsuite/gdb.ada/ptype_arith_binop.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_arith_binop.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptype_arith_binop.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_field/foo.adb ./gdb/testsuite/gdb.ada/ptype_field/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_field/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptype_field/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_field/pck.adb ./gdb/testsuite/gdb.ada/ptype_field/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_field/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptype_field/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_field/pck.ads ./gdb/testsuite/gdb.ada/ptype_field/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_field/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptype_field/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_field.exp ./gdb/testsuite/gdb.ada/ptype_field.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_field.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptype_field.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_tagged_param/foo.adb ./gdb/testsuite/gdb.ada/ptype_tagged_param/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_tagged_param/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptype_tagged_param/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_tagged_param/pck.adb ./gdb/testsuite/gdb.ada/ptype_tagged_param/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_tagged_param/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptype_tagged_param/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_tagged_param/pck.ads ./gdb/testsuite/gdb.ada/ptype_tagged_param/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_tagged_param/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptype_tagged_param/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_tagged_param.exp ./gdb/testsuite/gdb.ada/ptype_tagged_param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ptype_tagged_param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ptype_tagged_param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/py_range/foo.adb ./gdb/testsuite/gdb.ada/py_range/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/py_range/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/py_range/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/py_range/pck.adb ./gdb/testsuite/gdb.ada/py_range/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/py_range/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/py_range/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/py_range/pck.ads ./gdb/testsuite/gdb.ada/py_range/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/py_range/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/py_range/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/py_range.exp ./gdb/testsuite/gdb.ada/py_range.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/py_range.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/py_range.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -30,11 +30,11 @@ if { [skip_python_tests] } { continue }
 set bp_location [gdb_get_line_number "STOP" ${testdir}/foo.adb]
 runto "foo.adb:$bp_location"
 
-gdb_test "python print int(gdb.parse_and_eval('sr'))" \
+gdb_test "python print(int(gdb.parse_and_eval('sr')))" \
          "48"
 
-gdb_test "python print int(gdb.parse_and_eval('si'))" \
+gdb_test "python print(int(gdb.parse_and_eval('si')))" \
          "740804"
 
-gdb_test "python print int(gdb.parse_and_eval('ir'))" \
+gdb_test "python print(int(gdb.parse_and_eval('ir')))" \
          "974"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rdv_wait/foo.adb ./gdb/testsuite/gdb.ada/rdv_wait/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rdv_wait/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rdv_wait/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rdv_wait/pck.adb ./gdb/testsuite/gdb.ada/rdv_wait/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rdv_wait/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rdv_wait/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rdv_wait/pck.ads ./gdb/testsuite/gdb.ada/rdv_wait/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rdv_wait/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rdv_wait/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rdv_wait.exp ./gdb/testsuite/gdb.ada/rdv_wait.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rdv_wait.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rdv_wait.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rec_return/foo.adb ./gdb/testsuite/gdb.ada/rec_return/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rec_return/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rec_return/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rec_return/pck.adb ./gdb/testsuite/gdb.ada/rec_return/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rec_return/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rec_return/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rec_return/pck.ads ./gdb/testsuite/gdb.ada/rec_return/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rec_return/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rec_return/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2010-2014 Free Software Foundation, Inc.
+--  Copyright 2010-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rec_return.exp ./gdb/testsuite/gdb.ada/rec_return.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/rec_return.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/rec_return.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_param/foo.adb ./gdb/testsuite/gdb.ada/ref_param/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_param/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ref_param/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_param/pck.adb ./gdb/testsuite/gdb.ada/ref_param/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_param/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ref_param/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_param/pck.ads ./gdb/testsuite/gdb.ada/ref_param/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_param/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ref_param/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_param.exp ./gdb/testsuite/gdb.ada/ref_param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ref_param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_tick_size/p.adb ./gdb/testsuite/gdb.ada/ref_tick_size/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_tick_size/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ref_tick_size/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_tick_size/pck.adb ./gdb/testsuite/gdb.ada/ref_tick_size/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_tick_size/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ref_tick_size/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_tick_size/pck.ads ./gdb/testsuite/gdb.ada/ref_tick_size/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_tick_size/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ref_tick_size/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_tick_size.exp ./gdb/testsuite/gdb.ada/ref_tick_size.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/ref_tick_size.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/ref_tick_size.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/same_enum/a.adb ./gdb/testsuite/gdb.ada/same_enum/a.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/same_enum/a.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/same_enum/a.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/same_enum/pck.adb ./gdb/testsuite/gdb.ada/same_enum/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/same_enum/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/same_enum/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/same_enum/pck.ads ./gdb/testsuite/gdb.ada/same_enum/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/same_enum/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/same_enum/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/same_enum.exp ./gdb/testsuite/gdb.ada/same_enum.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/same_enum.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/same_enum.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_pckd_arr_elt/foo.adb ./gdb/testsuite/gdb.ada/set_pckd_arr_elt/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_pckd_arr_elt/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/set_pckd_arr_elt/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.adb ./gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.ads ./gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp ./gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_wstr/a.adb ./gdb/testsuite/gdb.ada/set_wstr/a.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_wstr/a.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/set_wstr/a.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_wstr/pck.adb ./gdb/testsuite/gdb.ada/set_wstr/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_wstr/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/set_wstr/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_wstr/pck.ads ./gdb/testsuite/gdb.ada/set_wstr/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_wstr/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/set_wstr/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_wstr.exp ./gdb/testsuite/gdb.ada/set_wstr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/set_wstr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/set_wstr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/small_reg_param/foo.adb ./gdb/testsuite/gdb.ada/small_reg_param/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/small_reg_param/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/small_reg_param/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/small_reg_param/pck.adb ./gdb/testsuite/gdb.ada/small_reg_param/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/small_reg_param/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/small_reg_param/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/small_reg_param/pck.ads ./gdb/testsuite/gdb.ada/small_reg_param/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/small_reg_param/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/small_reg_param/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/small_reg_param.exp ./gdb/testsuite/gdb.ada/small_reg_param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/small_reg_param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/small_reg_param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/start/dummy.adb ./gdb/testsuite/gdb.ada/start/dummy.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/start/dummy.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/start/dummy.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2005-2014 Free Software Foundation, Inc.
+--  Copyright 2005-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/start.exp ./gdb/testsuite/gdb.ada/start.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/start.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/start.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb ./gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads ./gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_ref_cmp.exp ./gdb/testsuite/gdb.ada/str_ref_cmp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_ref_cmp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/str_ref_cmp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_uninit/parse.adb ./gdb/testsuite/gdb.ada/str_uninit/parse.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_uninit/parse.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/str_uninit/parse.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,22 @@
+--  Copyright 2014-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+with Pck; use Pck;
+
+procedure Parse is
+   My_Str : String := Foos;  -- START
+begin
+   Do_Nothing (My_Str'Address);
+end Parse;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_uninit/pck.adb ./gdb/testsuite/gdb.ada/str_uninit/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_uninit/pck.adb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/str_uninit/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,28 @@
+--  Copyright 2011-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+package body Pck is
+
+   procedure Do_Nothing (A : System.Address) is
+   begin
+      null;
+   end Do_Nothing;
+
+   function Foos return String is
+   begin
+      return "string";
+   end Foos;
+
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_uninit/pck.ads ./gdb/testsuite/gdb.ada/str_uninit/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_uninit/pck.ads	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/str_uninit/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,24 @@
+--  Copyright 2011-2015 Free Software Foundation, Inc.
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 3 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+with System;
+
+package Pck is
+
+   procedure Do_Nothing (A : System.Address);
+
+   function Foos return String;
+
+end Pck;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_uninit.exp ./gdb/testsuite/gdb.ada/str_uninit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/str_uninit.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/str_uninit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,40 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+load_lib "ada.exp"
+
+standard_ada_testfile parse
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
+  return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "START" ${testdir}/parse.adb]
+if ![runto "parse.adb:$bp_location" ] then {
+  perror "Couldn't run ${testfile}"
+  return
+}
+
+# Print MY_STR.  Since the string has not been initialized, including
+# its bounds, anything can happen, including an error.  The purpose
+# of this test is just to verify that we do not get an _internal_
+# error.
+gdb_test "print my_str" " = .*"
+
+# Just to be certain that the debugger is really still alive,
+# try printing something really simple.
+gdb_test "print 1235813" " = 1235813"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/sym_print_name/foo.adb ./gdb/testsuite/gdb.ada/sym_print_name/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/sym_print_name/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/sym_print_name/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/sym_print_name/pck.adb ./gdb/testsuite/gdb.ada/sym_print_name/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/sym_print_name/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/sym_print_name/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/sym_print_name/pck.ads ./gdb/testsuite/gdb.ada/sym_print_name/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/sym_print_name/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/sym_print_name/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/sym_print_name.exp ./gdb/testsuite/gdb.ada/sym_print_name.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/sym_print_name.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/sym_print_name.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/taft_type/p.adb ./gdb/testsuite/gdb.ada/taft_type/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/taft_type/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/taft_type/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/taft_type/pck.adb ./gdb/testsuite/gdb.ada/taft_type/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/taft_type/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/taft_type/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/taft_type/pck.ads ./gdb/testsuite/gdb.ada/taft_type/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/taft_type/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/taft_type/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/taft_type.exp ./gdb/testsuite/gdb.ada/taft_type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/taft_type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/taft_type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged/foo.adb ./gdb/testsuite/gdb.ada/tagged/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged/pck.adb ./gdb/testsuite/gdb.ada/tagged/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged/pck.ads ./gdb/testsuite/gdb.ada/tagged/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_access/pack.adb ./gdb/testsuite/gdb.ada/tagged_access/pack.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_access/pack.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged_access/pack.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_access/pack.ads ./gdb/testsuite/gdb.ada/tagged_access/pack.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_access/pack.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged_access/pack.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_access/p.adb ./gdb/testsuite/gdb.ada/tagged_access/p.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_access/p.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged_access/p.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_access.exp ./gdb/testsuite/gdb.ada/tagged_access.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_access.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged_access.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged.exp ./gdb/testsuite/gdb.ada/tagged.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_not_init/foo.adb ./gdb/testsuite/gdb.ada/tagged_not_init/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_not_init/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged_not_init/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_not_init/pck.adb ./gdb/testsuite/gdb.ada/tagged_not_init/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_not_init/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged_not_init/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_not_init/pck.ads ./gdb/testsuite/gdb.ada/tagged_not_init/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_not_init/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged_not_init/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_not_init.exp ./gdb/testsuite/gdb.ada/tagged_not_init.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tagged_not_init.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tagged_not_init.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/task_bp/foo.adb ./gdb/testsuite/gdb.ada/task_bp/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/task_bp/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/task_bp/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/task_bp/pck.adb ./gdb/testsuite/gdb.ada/task_bp/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/task_bp/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/task_bp/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/task_bp/pck.ads ./gdb/testsuite/gdb.ada/task_bp/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/task_bp/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/task_bp/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/task_bp.exp ./gdb/testsuite/gdb.ada/task_bp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/task_bp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/task_bp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tasks/foo.adb ./gdb/testsuite/gdb.ada/tasks/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tasks/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tasks/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2009-2014 Free Software Foundation, Inc.
+--  Copyright 2009-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tasks.exp ./gdb/testsuite/gdb.ada/tasks.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tasks.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tasks.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_last_segv/foo.adb ./gdb/testsuite/gdb.ada/tick_last_segv/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_last_segv/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tick_last_segv/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2009-2014 Free Software Foundation, Inc.
+--  Copyright 2009-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_last_segv.exp ./gdb/testsuite/gdb.ada/tick_last_segv.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_last_segv.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tick_last_segv.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_length_array_enum_idx/foo_n207_004.adb ./gdb/testsuite/gdb.ada/tick_length_array_enum_idx/foo_n207_004.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_length_array_enum_idx/foo_n207_004.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tick_length_array_enum_idx/foo_n207_004.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.adb ./gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.ads ./gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2014 Free Software Foundation, Inc.
+--  Copyright 2014-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_length_array_enum_idx.exp ./gdb/testsuite/gdb.ada/tick_length_array_enum_idx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/tick_length_array_enum_idx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/tick_length_array_enum_idx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/type_coercion/assign.adb ./gdb/testsuite/gdb.ada/type_coercion/assign.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/type_coercion/assign.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/type_coercion/assign.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/type_coercion/ident.adb ./gdb/testsuite/gdb.ada/type_coercion/ident.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/type_coercion/ident.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/type_coercion/ident.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2008-2014 Free Software Foundation, Inc.
+--  Copyright 2008-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/type_coercion.exp ./gdb/testsuite/gdb.ada/type_coercion.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/type_coercion.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/type_coercion.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/foo.adb ./gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.adb ./gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.ads ./gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec.exp ./gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/uninitialized_vars/parse.adb ./gdb/testsuite/gdb.ada/uninitialized_vars/parse.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/uninitialized_vars/parse.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/uninitialized_vars/parse.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2009-2014 Free Software Foundation, Inc.
+--  Copyright 2009-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/uninitialized_vars/parse_controlled.ads ./gdb/testsuite/gdb.ada/uninitialized_vars/parse_controlled.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/uninitialized_vars/parse_controlled.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/uninitialized_vars/parse_controlled.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2009-2014 Free Software Foundation, Inc.
+--  Copyright 2009-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/uninitialized_vars.exp ./gdb/testsuite/gdb.ada/uninitialized_vars.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/uninitialized_vars.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/uninitialized_vars.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb ./gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2009-2014 Free Software Foundation, Inc.
+--  Copyright 2009-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb ./gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2009-2014 Free Software Foundation, Inc.
+--  Copyright 2009-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads ./gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2009-2014 Free Software Foundation, Inc.
+--  Copyright 2009-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/variant_record_packed_array.exp ./gdb/testsuite/gdb.ada/variant_record_packed_array.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/variant_record_packed_array.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/variant_record_packed_array.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/watch_arg/pck.adb ./gdb/testsuite/gdb.ada/watch_arg/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/watch_arg/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/watch_arg/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/watch_arg/pck.ads ./gdb/testsuite/gdb.ada/watch_arg/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/watch_arg/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/watch_arg/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/watch_arg/watch.adb ./gdb/testsuite/gdb.ada/watch_arg/watch.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/watch_arg/watch.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/watch_arg/watch.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2006-2014 Free Software Foundation, Inc.
+--  Copyright 2006-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/watch_arg.exp ./gdb/testsuite/gdb.ada/watch_arg.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/watch_arg.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/watch_arg.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/whatis_array_val/foo.adb ./gdb/testsuite/gdb.ada/whatis_array_val/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/whatis_array_val/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/whatis_array_val/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2012-2014 Free Software Foundation, Inc.
+--  Copyright 2012-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/whatis_array_val/pck.adb ./gdb/testsuite/gdb.ada/whatis_array_val/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/whatis_array_val/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/whatis_array_val/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/whatis_array_val/pck.ads ./gdb/testsuite/gdb.ada/whatis_array_val/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/whatis_array_val/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/whatis_array_val/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/whatis_array_val.exp ./gdb/testsuite/gdb.ada/whatis_array_val.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/whatis_array_val.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/whatis_array_val.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/widewide/foo.adb ./gdb/testsuite/gdb.ada/widewide/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/widewide/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/widewide/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/widewide/pck.adb ./gdb/testsuite/gdb.ada/widewide/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/widewide/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/widewide/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/widewide/pck.ads ./gdb/testsuite/gdb.ada/widewide/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/widewide/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/widewide/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2011-2014 Free Software Foundation, Inc.
+--  Copyright 2011-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/widewide.exp ./gdb/testsuite/gdb.ada/widewide.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/widewide.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/widewide.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/win_fu_syms/foo.adb ./gdb/testsuite/gdb.ada/win_fu_syms/foo.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/win_fu_syms/foo.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/win_fu_syms/foo.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2013-2014 Free Software Foundation, Inc.
+--  Copyright 2013-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/win_fu_syms/pck.adb ./gdb/testsuite/gdb.ada/win_fu_syms/pck.adb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/win_fu_syms/pck.adb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/win_fu_syms/pck.adb	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/win_fu_syms/pck.ads ./gdb/testsuite/gdb.ada/win_fu_syms/pck.ads
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/win_fu_syms/pck.ads	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/win_fu_syms/pck.ads	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
---  Copyright 2007-2014 Free Software Foundation, Inc.
+--  Copyright 2007-2015 Free Software Foundation, Inc.
 --
 --  This program is free software; you can redistribute it and/or modify
 --  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/win_fu_syms.exp ./gdb/testsuite/gdb.ada/win_fu_syms.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.ada/win_fu_syms.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.ada/win_fu_syms.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/aarch64-atomic-inst.c ./gdb/testsuite/gdb.arch/aarch64-atomic-inst.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/aarch64-atomic-inst.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/aarch64-atomic-inst.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp ./gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/aarch64-fp.c ./gdb/testsuite/gdb.arch/aarch64-fp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/aarch64-fp.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/aarch64-fp.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,38 @@
+/* This file is part of GDB, the GNU debugger.
+
+   Copyright 2008-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int
+main (void)
+{
+  char buf0[] = {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
+                 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f};
+  char buf1[] = {0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
+                 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f};
+  long val;
+  void *addr;
+    
+  addr = &buf0[0];
+  __asm __volatile ("ldr %x0, [%1]" : "=r" (val) : "r" (&addr));
+  __asm __volatile ("ldr q0, [x0]");
+   
+  addr = &buf1[0];
+  __asm __volatile ("ldr %x0, [%1]" : "=r" (val) : "r" (&addr));
+  __asm __volatile ("ldr q1, [x0]");
+  
+  return 1;
+}
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/aarch64-fp.exp ./gdb/testsuite/gdb.arch/aarch64-fp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/aarch64-fp.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/aarch64-fp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,85 @@
+# Copyright 2008-2015 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# This file is part of the gdb testsuite.
+
+# PR server/17457
+# Test aarch64 floating point registers q0, q1, v0, v1, fpsr, fpcr
+
+if {![istarget "aarch64*"]} {
+    verbose "Skipping ${gdb_test_file_name}."
+    return
+}
+
+standard_testfile
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+    return -1
+}
+
+if ![runto_main] {
+    untested "could not run to main"
+    return -1
+}
+
+set endianness "little"
+set test "show endian"
+gdb_test_multiple $test $test {
+    -re "(.* )(big|little)( endian.*)$gdb_prompt $" {
+        set endianness $expect_out(2,string)
+        pass "endianness"
+    }
+}
+
+gdb_test "break ${srcfile}:[gdb_get_line_number "return"]" \
+    "Breakpoint $decimal at 0x\[0-9a-fA-F\]+: file .*${srcfile}.*\\\." \
+    "set the breakpoint after setting the fp registers"
+
+gdb_test "continue" \
+    "Continuing.*Breakpoint $decimal.*" \
+    "continue until breakpoint"
+
+if {$endianness == "little"} {
+    set reg_value0 "0x1f1e1d1c1b1a19181716151413121110"
+    set reg_value1 "0x2f2e2d2c2b2a29282726252423222120"
+} else {
+    set reg_value0 "0x101112131415161718191a1b1c1d1e1f"
+    set reg_value1 "0x202122232425262728292a2b2c2d2e2f"
+}
+
+gdb_test "info registers q0" \
+    "q0.*{u = $reg_value0, s = $reg_value0.*" \
+    "check register q0 value"
+
+gdb_test "info registers q1" \
+    "q1.*{u = $reg_value1, s = $reg_value1.*" \
+    "check register q1 value"
+
+gdb_test "info registers v0" \
+    "v0.*$reg_value0}}}" \
+    "check register v0 value"
+
+gdb_test "info registers v1" \
+    "v1.*$reg_value1}}}" \
+    "check register v1 value"
+
+gdb_test "info registers fpsr" \
+    "fpsr.*0x\[0-9a-fA-F\].*" \
+    "check register fpsr value"
+
+gdb_test "info registers fpcr" \
+    "fpcr.*0x\[0-9a-fA-F\].*" \
+    "check register fpcr value"
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/alpha-step.c ./gdb/testsuite/gdb.arch/alpha-step.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/alpha-step.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/alpha-step.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2005-2014 Free Software Foundation, Inc.
+/* Copyright 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/alpha-step.exp ./gdb/testsuite/gdb.arch/alpha-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/alpha-step.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/alpha-step.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/altivec-abi.exp ./gdb/testsuite/gdb.arch/altivec-abi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/altivec-abi.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/altivec-abi.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/altivec-regs.exp ./gdb/testsuite/gdb.arch/altivec-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/altivec-regs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/altivec-regs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-byte.exp ./gdb/testsuite/gdb.arch/amd64-byte.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-byte.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-byte.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-disp-step.exp ./gdb/testsuite/gdb.arch/amd64-disp-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-disp-step.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-disp-step.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-disp-step.S ./gdb/testsuite/gdb.arch/amd64-disp-step.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-disp-step.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-disp-step.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-dword.exp ./gdb/testsuite/gdb.arch/amd64-dword.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-dword.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-dword.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value.cc ./gdb/testsuite/gdb.arch/amd64-entry-value.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value.exp ./gdb/testsuite/gdb.arch/amd64-entry-value.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-inline.c ./gdb/testsuite/gdb.arch/amd64-entry-value-inline.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-inline.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value-inline.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp ./gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-inline.S ./gdb/testsuite/gdb.arch/amd64-entry-value-inline.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-inline.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value-inline.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-param.c ./gdb/testsuite/gdb.arch/amd64-entry-value-param.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-param.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value-param.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp ./gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value-param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc ./gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp ./gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S ./gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-param.S ./gdb/testsuite/gdb.arch/amd64-entry-value-param.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value-param.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value-param.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value.s ./gdb/testsuite/gdb.arch/amd64-entry-value.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-entry-value.s	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-entry-value.s	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-i386-address.exp ./gdb/testsuite/gdb.arch/amd64-i386-address.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-i386-address.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-i386-address.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-i386-address.S ./gdb/testsuite/gdb.arch/amd64-i386-address.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-i386-address.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-i386-address.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c ./gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp ./gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.S ./gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c ./gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp ./gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-optimout-repeat.c ./gdb/testsuite/gdb.arch/amd64-optimout-repeat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-optimout-repeat.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-optimout-repeat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp ./gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-optimout-repeat.S ./gdb/testsuite/gdb.arch/amd64-optimout-repeat.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-optimout-repeat.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-optimout-repeat.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-prologue-xmm.c ./gdb/testsuite/gdb.arch/amd64-prologue-xmm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-prologue-xmm.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-prologue-xmm.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp ./gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-prologue-xmm.s ./gdb/testsuite/gdb.arch/amd64-prologue-xmm.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-prologue-xmm.s	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-prologue-xmm.s	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
       	
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-pseudo.c ./gdb/testsuite/gdb.arch/amd64-pseudo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-pseudo.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-pseudo.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test program for byte registers.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -39,6 +39,21 @@ int data[] = {
 int
 main (int argc, char **argv)
 {
+  register int eax asm ("eax");
+  register int ebx asm ("ebx");
+  register int ecx asm ("ecx");
+  register int edx asm ("edx");
+  register int esi asm ("esi");
+  register int edi asm ("edi");
+  register long r8 asm ("r8");
+  register long r9 asm ("r9");
+  register long r10 asm ("r10");
+  register long r11 asm ("r11");
+  register long r12 asm ("r12");
+  register long r13 asm ("r13");
+  register long r14 asm ("r14");
+  register long r15 asm ("r15");
+
   asm ("mov 0(%0), %%eax\n\t"
        "mov 4(%0), %%ebx\n\t"
        "mov 8(%0), %%ecx\n\t"
@@ -61,15 +76,13 @@ main (int argc, char **argv)
        : /* no output operands */
        : "r" (data) 
        : "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15");
-  asm ("nop"); /* second breakpoint here */
 
-  /* amd64-dword.exp writes eax-edi here.
-     Tell gcc they're clobbered so it doesn't try to keep "data" in
-     one of them.  */
-  asm (""
-       : /* no outputs */
-       : /* no inputs */
-       : "eax", "ebx", "ecx", "edx", "esi", "edi");
+  asm ("nop" /* second breakpoint here */
+       /* amd64-{byte,word,dword}.exp write eax-edi here.
+	  Tell gcc/clang they're live.  */
+       : "=r" (eax), "=r" (ebx), "=r" (ecx),
+	 "=r" (edx), "=r" (esi), "=r" (edi)
+       : /* no inputs */);
 
   asm ("mov %%eax, 0(%0)\n\t"
        "mov %%ebx, 4(%0)\n\t"
@@ -78,17 +91,18 @@ main (int argc, char **argv)
        "mov %%esi, 16(%0)\n\t"
        "mov %%edi, 20(%0)\n\t"
        : /* no output operands */
-       : "r" (data) 
-       : "eax", "ebx", "ecx", "edx", "esi", "edi");
-  asm ("nop"); /* third breakpoint here */
-
-  /* amd64-dword.exp writes r8-r15 here.
-     Tell gcc they're clobbered so it doesn't try to keep "data" in
-     one of them.  */
-  asm (""
-       : /* no outputs */
-       : /* no inputs */
-       : "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15");
+       : "r" (data),
+	 /* Mark these as inputs so that gcc/clang won't try to use them as
+	    a temp to build %0.  */
+	 "r" (eax), "r" (ebx), "r" (ecx),
+	 "r" (edx), "r" (esi), "r" (edi));
+
+  asm ("nop" /* third breakpoint here */
+       /* amd64-{byte,word,dword}.exp write r8-r15 here.
+	  Tell gcc/clang they're live.  */
+       : "=r" (r8), "=r" (r9), "=r" (r10), "=r" (r11),
+	 "=r" (r12), "=r" (r13), "=r" (r14), "=r" (r15)
+       : /* no inputs */);
 
   asm ("mov %%r8d, 24(%0)\n\t"
        "mov %%r9d, 28(%0)\n\t"
@@ -99,8 +113,11 @@ main (int argc, char **argv)
        "mov %%r14d, 48(%0)\n\t"
        "mov %%r15d, 52(%0)\n\t"
        : /* no output operands */
-       : "r" (data) 
-       : "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15");
+       : "r" (data),
+	 /* Mark these as inputs so that gcc/clang won't try to use them as
+	    a temp to build %0.  */
+	 "r" (r8), "r" (r9), "r" (r10), "r" (r11),
+	 "r" (r12), "r" (r13), "r" (r14), "r" (r15));
   puts ("Bye!"); /* forth breakpoint here */
 
   return 0;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp ./gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.S ./gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp ./gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c ./gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-triplet.c ./gdb/testsuite/gdb.arch/amd64-stap-triplet.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-triplet.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-stap-triplet.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-triplet.S ./gdb/testsuite/gdb.arch/amd64-stap-triplet.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-triplet.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-stap-triplet.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp ./gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,41 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+if { ![istarget "x86_64-*-*"] || ![is_lp64_target] } {
+    verbose "Skipping amd64-stap-wrong-subexp.exp"
+    return
+}
+
+standard_testfile amd64-stap-wrong-subexp.S
+
+if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
+    untested amd64-stap-wrong-subexp.exp
+    return -1
+}
+
+proc goto_probe { probe_name } {
+    if { ![runto "-pstap $probe_name"] } {
+	fail "run to probe $probe_name"
+	return
+    }
+}
+
+goto_probe foo
+gdb_test "print \$_probe_arg0" "Invalid operator `\\\(' on expression .*" \
+    "print probe foo arg0"
+
+goto_probe bar
+gdb_test "print \$_probe_arg0" " = -4" "print probe bar arg0"
+gdb_test "print \$_probe_arg1" " = -8" "print probe bar arg1"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S ./gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,27 @@
+/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <sys/sdt.h>
+
+	.file	"amd64-stap-wrong-subexp.S"
+	.text
+	.globl	main
+main:
+	STAP_PROBE1(probe, foo, -4@$-3($4+$3))
+	STAP_PROBE2(probe, bar, -4@-($4), -4@$-3+($22/$2)-$16)
+	xor	%rax,%rax
+	ret
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.S ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.cc ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.S ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-noret.c ./gdb/testsuite/gdb.arch/amd64-tailcall-noret.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-noret.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-noret.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp ./gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-noret.S ./gdb/testsuite/gdb.arch/amd64-tailcall-noret.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-noret.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-noret.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-ret.c ./gdb/testsuite/gdb.arch/amd64-tailcall-ret.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-ret.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-ret.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp ./gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-ret.S ./gdb/testsuite/gdb.arch/amd64-tailcall-ret.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-tailcall-ret.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-tailcall-ret.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-word.exp ./gdb/testsuite/gdb.arch/amd64-word.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/amd64-word.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-word.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/arm-bl-branch-dest.c ./gdb/testsuite/gdb.arch/arm-bl-branch-dest.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/arm-bl-branch-dest.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/arm-bl-branch-dest.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp ./gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/arm-disp-step.exp ./gdb/testsuite/gdb.arch/arm-disp-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/arm-disp-step.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/arm-disp-step.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/arm-disp-step.S ./gdb/testsuite/gdb.arch/arm-disp-step.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/arm-disp-step.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/arm-disp-step.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/avr-flash-qualifier.c ./gdb/testsuite/gdb.arch/avr-flash-qualifier.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/avr-flash-qualifier.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/avr-flash-qualifier.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,33 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+const __flash char data_in_flash = 0xab;
+
+static void
+pass_to_function (const __flash char *p)
+{
+}
+
+int
+main (void)
+{
+  const __flash char *pointer_to_flash = &data_in_flash;
+
+  /* break here.  */
+  pass_to_function (&data_in_flash);
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/avr-flash-qualifier.exp ./gdb/testsuite/gdb.arch/avr-flash-qualifier.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/avr-flash-qualifier.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/avr-flash-qualifier.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,52 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# This file is part of the gdb testsuite.
+#
+# Contributed by Pierre Langlois  <pierre.langlois@embecosm.com>
+# Tests for the AVR __flash named address space qualifier.
+
+if {![istarget "avr*"]} {
+  verbose "Skipping ${gdb_test_file_name}."
+  return
+}
+
+# The __flash qualifier was added in GCC 4.7.
+if {[test_compiler_info {gcc-[0-4]-[0-6]}]} {
+  verbose "Skipping ${gdb_test_file_name}."
+  return
+}
+
+standard_testfile
+if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}]} {
+  return -1
+}
+
+if ![runto [gdb_get_line_number "break here."]] {
+  untested "could not run to \"break here.\""
+  return -1
+}
+
+gdb_test "print pointer_to_flash" \
+  " = $hex <data_in_flash> .*"
+
+gdb_breakpoint "pass_to_function"
+gdb_continue_to_breakpoint "pass_to_function"
+
+gdb_test "print p" \
+  " = $hex <data_in_flash> .*"
+
+gdb_test "backtrace 1" \
+  "\#0  pass_to_function \\(p=$hex <data_in_flash> .*\\).*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/e500-abi.exp ./gdb/testsuite/gdb.arch/e500-abi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/e500-abi.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/e500-abi.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/e500-prologue.c ./gdb/testsuite/gdb.arch/e500-prologue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/e500-prologue.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/e500-prologue.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/e500-prologue.exp ./gdb/testsuite/gdb.arch/e500-prologue.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/e500-prologue.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/e500-prologue.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/e500-regs.exp ./gdb/testsuite/gdb.arch/e500-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/e500-regs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/e500-regs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1291.exp ./gdb/testsuite/gdb.arch/gdb1291.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1291.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/gdb1291.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1291.s ./gdb/testsuite/gdb.arch/gdb1291.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1291.s	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/gdb1291.s	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2004-2014 Free Software Foundation, Inc.
+! Copyright 2004-2015 Free Software Foundation, Inc.
 !
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1431.exp ./gdb/testsuite/gdb.arch/gdb1431.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1431.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/gdb1431.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1431.s ./gdb/testsuite/gdb.arch/gdb1431.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1431.s	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/gdb1431.s	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2004-2014 Free Software Foundation, Inc.
+! Copyright 2004-2015 Free Software Foundation, Inc.
 !
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1558.c ./gdb/testsuite/gdb.arch/gdb1558.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1558.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/gdb1558.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2004-2014 Free Software Foundation, Inc.
+/* Copyright 2004-2015 Free Software Foundation, Inc.
  
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1558.exp ./gdb/testsuite/gdb.arch/gdb1558.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/gdb1558.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/gdb1558.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,17 +50,12 @@ gdb_test "b sub2" "Breakpoint 3.*" "set 
 
 gdb_run_cmd
 
-gdb_expect 30 {
+set test "Hits breakpoint at main after function called from main"
+gdb_test_multiple "" $test {
     -re "Breakpoint 1.*main .*$gdb_prompt $" {
-	pass "Hits breakpoint at main after function called from main"
+	pass $test
     }
     -re "Breakpoint 2.*sub1 .*$gdb_prompt $" {
-	kfail "gdb/1558" "Hits breakpoint at main after function called from main"
-    }
-    -re "$gdb_prompt $" { 
-	fail "Hits breakpoint at main after function called from main"
-    }
-    timeout { 
-	fail "Hits breakpoint at main after function called from main (timeout)"
+	kfail "gdb/1558" $test
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-avx512.c ./gdb/testsuite/gdb.arch/i386-avx512.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-avx512.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-avx512.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test program for AVX 512 registers.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,7 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "i386-cpuid.h"
+#include "nat/x86-cpuid.h"
 
 typedef struct
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-avx512.exp ./gdb/testsuite/gdb.arch/i386-avx512.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-avx512.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-avx512.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -26,7 +26,7 @@ if { ![istarget i?86-*-*] && ![istarget 
 
 standard_testfile
 
-set comp_flags "-mavx512f -I${srcdir}/../common"
+set comp_flags "-mavx512f -I${srcdir}/.."
 
 if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
      [list debug nowarnings additional_flags=${comp_flags}]] } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-avx.c ./gdb/testsuite/gdb.arch/i386-avx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-avx.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-avx.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test program for AVX registers.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
-#include "i386-cpuid.h"
+#include "nat/x86-cpuid.h"
 
 typedef struct {
   float f[8];
@@ -53,7 +53,7 @@ have_avx (void)
 {
   unsigned int eax, ebx, ecx, edx;
 
-  if (!i386_cpuid (1, &eax, &ebx, &ecx, &edx))
+  if (!x86_cpuid (1, &eax, &ebx, &ecx, &edx))
     return 0;
 
   if ((ecx & (bit_AVX | bit_OSXSAVE)) == (bit_AVX | bit_OSXSAVE))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-avx.exp ./gdb/testsuite/gdb.arch/i386-avx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-avx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-avx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ if [get_compiler_info] {
 
 set additional_flags ""
 if [test_compiler_info gcc*] {
-    set additional_flags "additional_flags=-mavx -I${srcdir}/../common"
+    set additional_flags "additional_flags=-mavx -I${srcdir}/.."
 }
 
 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug $additional_flags]] != "" } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-bp_permanent.c ./gdb/testsuite/gdb.arch/i386-bp_permanent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-bp_permanent.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-bp_permanent.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,57 @@
+/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifdef SYMBOL_PREFIX
+#define SYMBOL(str)	SYMBOL_PREFIX #str
+#else
+#define SYMBOL(str)	#str
+#endif
+
+int
+main (void)
+{
+  standard ();
+  return 0;
+}
+
+/* A normal prologue.  */
+
+#ifdef __x86_64__
+asm(".text\n"
+    "    .align 8\n"
+    SYMBOL (standard) ":\n"
+    "    push %rbp\n"
+    "    mov  %rsp, %rbp\n"
+    "    push %rdi\n"
+    "    int3\n"
+    "    leaveq\n"
+    "    retq\n");
+
+#else
+
+asm(".text\n"
+    "    .align 8\n"
+    "    .global " SYMBOL(standard) "\n"
+    SYMBOL (standard) ":\n"
+    "    pushl %ebp\n"
+    "    movl  %esp, %ebp\n"
+    "    pushl %edi\n"
+    "    int3\n"
+    "    leave\n"
+    "    ret\n");
+
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-bp_permanent.exp ./gdb/testsuite/gdb.arch/i386-bp_permanent.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-bp_permanent.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-bp_permanent.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -18,14 +18,12 @@
 
 # Test stepping over permanent breakpoints on i386.
 
-if { ![is_x86_like_target] } then {
+if { ![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"] } then {
     verbose "Skipping skip over permanent breakpoint on i386 tests."
     return
 }
 
-set testfile "i386-bp_permanent"
-set srcfile i386-prologue.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile
 
 # some targets have leading underscores on assembly symbols.
 set additional_flags [gdb_target_symbol_prefix_flags]
@@ -51,14 +49,12 @@ if ![runto_main] then {
   return -1
 }
 
-set function standard
+set function "standard"
 
 set retcode [gdb_test_multiple "disassemble $function" "Disassemble function '$function'" {
-    -re ".*($hex) <\\+0>.*($hex) <\\+4>.*($hex) <\\+5>.*($hex) <\\+6>.*$gdb_prompt $" {
-      set function_start $expect_out(1,string)
-      set address $expect_out(2,string)
-      set address1 $expect_out(3,string)
-      set address2 $expect_out(4,string)
+    -re "($hex) <\\+0>.*($hex) <\\+$decimal>.*int3.*($hex) <\\+$decimal>.*leave.*$gdb_prompt $" {
+      set address_bp $expect_out(2,string)
+      set address_after_bp $expect_out(3,string)
     }
 }]
 
@@ -67,30 +63,25 @@ if {$retcode != 0} {
   return -1
 }
 
-gdb_breakpoint "*$function_start"
+gdb_breakpoint "*$address_bp"
 
-gdb_breakpoint "*$address"
+gdb_test "continue" "Breakpoint .*, $address_bp in $function.*" \
+	 "stop at permanent breakpoint"
 
-gdb_test "continue" "Breakpoint .*, $function_start in $function.*" \
-	 "Stop at the '$function' start breakpoint (fetching esp)."
-
-# We want to fetch esp at the start of '$function' function to make sure
-# skip_permanent_breakpoint implementation really skips only the perm. 
-# breakpoint. If, for whatever reason, 'leave' instruction doesn't get
-# executed, esp will not have this value.
-set start_esp 0
-gdb_test_multiple "print \$esp" "Fetch esp value." {
+# We want to fetch the stack pointer at the start of '$function'
+# function to make sure the skip_permanent_breakpoint implementation
+# really skips only the permanent breakpoint.  If, for whatever
+# reason, the 'leave' instruction executes, the stack pointer will not
+# have this value.
+set start_sp 0
+gdb_test_multiple "print \$sp" "fetch stack pointer value" {
     -re "\\\$1.*($hex).*$gdb_prompt $" {
-      set start_esp $expect_out(1,string)
+      set start_sp $expect_out(1,string)
     }
 }
 
-gdb_test "continue" "Breakpoint .*, $address in $function.*" \
-	 "Stop at permanent breakpoint."
-
-gdb_test "stepi" "$address1|$address2 in $function.*" \
-	 "Single stepping past permanent breakpoint."
-
-gdb_test "print \$esp" ".*$start_esp.*" \
-	 "ESP value does not match - step_permanent_breakpoint wrong."
+gdb_test "stepi" "$address_after_bp in $function.*" \
+	 "single-step past permanent breakpoint"
 
+gdb_test "print \$sp" ".*$start_sp.*" \
+	 "stack pointer value matches"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-byte.exp ./gdb/testsuite/gdb.arch/i386-byte.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-byte.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-byte.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-cfi-notcurrent.exp ./gdb/testsuite/gdb.arch/i386-cfi-notcurrent.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-cfi-notcurrent.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-cfi-notcurrent.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S ./gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-disp-step.exp ./gdb/testsuite/gdb.arch/i386-disp-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-disp-step.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-disp-step.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-disp-step.S ./gdb/testsuite/gdb.arch/i386-disp-step.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-disp-step.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-disp-step.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-dr3-watch.c ./gdb/testsuite/gdb.arch/i386-dr3-watch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-dr3-watch.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-dr3-watch.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-dr3-watch.exp ./gdb/testsuite/gdb.arch/i386-dr3-watch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-dr3-watch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-dr3-watch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-float.exp ./gdb/testsuite/gdb.arch/i386-float.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-float.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-float.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-float.S ./gdb/testsuite/gdb.arch/i386-float.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-float.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-float.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S ./gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2007-2014 Free Software Foundation, Inc.
+/* Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-gnu-cfi.c ./gdb/testsuite/gdb.arch/i386-gnu-cfi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-gnu-cfi.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-gnu-cfi.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Unwinding of DW_CFA_GNU_negative_offset_extended test program.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-gnu-cfi.exp ./gdb/testsuite/gdb.arch/i386-gnu-cfi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-gnu-cfi.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-gnu-cfi.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-mpx.c ./gdb/testsuite/gdb.arch/i386-mpx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-mpx.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-mpx.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test program for MPX registers.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
-#include "i386-cpuid.h"
+#include "nat/x86-cpuid.h"
 
 #ifndef NOINLINE
 #define NOINLINE __attribute__ ((noinline))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-mpx.exp ./gdb/testsuite/gdb.arch/i386-mpx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-mpx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-mpx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <walfred.tedeschi@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-permbkpt.exp ./gdb/testsuite/gdb.arch/i386-permbkpt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-permbkpt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-permbkpt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-permbkpt.S ./gdb/testsuite/gdb.arch/i386-permbkpt.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-permbkpt.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-permbkpt.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-prologue.c ./gdb/testsuite/gdb.arch/i386-prologue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-prologue.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-prologue.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Unwinder test program.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-prologue.exp ./gdb/testsuite/gdb.arch/i386-prologue.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-prologue.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-prologue.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-pseudo.c ./gdb/testsuite/gdb.arch/i386-pseudo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-pseudo.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-pseudo.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test program for byte registers.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,6 +29,11 @@ int data[] = {
 int
 main (int argc, char **argv)
 {
+  register int eax asm ("eax");
+  register int ebx asm ("ebx");
+  register int ecx asm ("ecx");
+  register int edx asm ("edx");
+
   asm ("mov 0(%0), %%eax\n\t"
        "mov 4(%0), %%ebx\n\t"
        "mov 8(%0), %%ecx\n\t"
@@ -36,15 +41,22 @@ main (int argc, char **argv)
        : /* no output operands */
        : "r" (data) 
        : "eax", "ebx", "ecx", "edx");
-  asm ("nop"); /* first breakpoint here */
+
+  asm ("nop" /* first breakpoint here */
+       /* i386-{byte,word}.exp write eax-edx here.
+	  Tell gcc/clang they're live.  */
+       : "=r" (eax), "=r" (ebx), "=r" (ecx), "=r" (edx)
+       : /* no inputs */);
 
   asm ("mov %%eax, 0(%0)\n\t"
        "mov %%ebx, 4(%0)\n\t"
        "mov %%ecx, 8(%0)\n\t"
        "mov %%edx, 12(%0)\n\t"
        : /* no output operands */
-       : "r" (data) 
-       : "eax", "ebx", "ecx", "edx");
+       : "r" (data),
+	 /* Mark these as inputs so that gcc/clang won't try to use them as
+	    a temp to build %0.  */
+	 "r" (eax), "r" (ebx), "r" (ecx), "r" (edx));
   puts ("Bye!"); /* second breakpoint here */
 
   return 0;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-signal.c ./gdb/testsuite/gdb.arch/i386-signal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-signal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-signal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Unwinder test program for signal frames.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-signal.exp ./gdb/testsuite/gdb.arch/i386-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-signal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-signal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This file is part of the GDB testsuite.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-size.c ./gdb/testsuite/gdb.arch/i386-size.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-size.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-size.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Symbol size test program.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-size.exp ./gdb/testsuite/gdb.arch/i386-size.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-size.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-size.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -46,18 +46,7 @@ gdb_load ${binfile}
 # We use gdb_run_cmd so this stands a chance to work for remote
 # targets too.
 gdb_run_cmd
-
-gdb_expect {
-    -re "Program received signal SIGTRAP.*$gdb_prompt $" {
-	pass "run past main"
-    }
-    -re ".*$gdb_prompt $" {
-	fail "run past main"
-    }
-    timeout {
-	fail "run past main (timeout)"
-    }
-}
+gdb_test "" "Program received signal SIGTRAP.*" "run past main"
 
 set message "backtrace shows no function"
 gdb_test_multiple "backtrace 10" $message {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-size-overlap.c ./gdb/testsuite/gdb.arch/i386-size-overlap.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-size-overlap.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-size-overlap.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Overlapping symbol sizes test program.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-size-overlap.exp ./gdb/testsuite/gdb.arch/i386-size-overlap.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-size-overlap.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-size-overlap.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -41,18 +41,7 @@ gdb_load ${binfile}
 # We use gdb_run_cmd so this stands a chance to work for remote
 # targets too.
 gdb_run_cmd
-
-gdb_expect {
-    -re "Program received signal SIGTRAP.*$gdb_prompt $" {
-	pass "run past main"
-    }
-    -re ".*$gdb_prompt $" {
-	fail "run past main"
-    }
-    timeout {
-	fail "run past main (timeout)"
-    }
-}
+gdb_test "" "Program received signal SIGTRAP.*" "run past main"
 
 set message "backtrace shows the outer function"
 gdb_test_multiple "backtrace 10" $message {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse.c ./gdb/testsuite/gdb.arch/i386-sse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-sse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test program for SSE registers.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
-#include "i386-cpuid.h"
+#include "nat/x86-cpuid.h"
 
 typedef struct {
   float f[4];
@@ -53,7 +53,7 @@ have_sse (void)
 {
   int edx;
 
-  if (!i386_cpuid (1, NULL, NULL, NULL, &edx))
+  if (!x86_cpuid (1, NULL, NULL, NULL, &edx))
     return 0;
 
   if (edx & bit_SSE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse.exp ./gdb/testsuite/gdb.arch/i386-sse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-sse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ if [get_compiler_info] {
 
 set additional_flags ""
 if [test_compiler_info gcc*] {
-    set additional_flags "additional_flags=-msse -I${srcdir}/../common"
+    set additional_flags "additional_flags=-msse -I${srcdir}/.."
 }
 
 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug $additional_flags]] != "" } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse-stack-align.c ./gdb/testsuite/gdb.arch/i386-sse-stack-align.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse-stack-align.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-sse-stack-align.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp ./gdb/testsuite/gdb.arch/i386-sse-stack-align.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-sse-stack-align.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse-stack-align.S ./gdb/testsuite/gdb.arch/i386-sse-stack-align.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-sse-stack-align.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-sse-stack-align.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c ./gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,29 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This file is not used directly; instead, it has been used to
+   generate the .S file.  See comments on the .S file for more info.  */
+
+#include <sys/sdt.h>
+
+int main ()
+{
+  int a = 40;
+
+  STAP_PROBE1 (foo, bar, a);
+  return 0; 
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp ./gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,35 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+standard_testfile ".S"
+
+# We can only test this if the target is i686 or x86_64 with -m32
+if { ![is_x86_like_target] } {
+    verbose "Skipping $testfile.exp"
+    return
+}
+
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
+    return -1
+}
+
+gdb_test_no_output "set language ada"
+
+if { ![runto "-pstap bar"] } {
+    return -1
+}
+
+gdb_test "print \$_probe_arg0" " = 40" \
+    "printing \$_probe_arg0"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S ./gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,81 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This file has been generated using the following command:
+
+     gcc -m32 -S i386-stap-eval-lang-ada.c -o i386-stap-eval-lang-ada.S
+
+   The important thing about this is that the probe argument (below)
+   should be exactly "-4@-4(%ebp)" in order to trigger the bug.  */
+
+	.file	"i386-stap-eval-lang-ada.c"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB0:
+	.cfi_startproc
+	pushl	%ebp
+	.cfi_def_cfa_offset 8
+	.cfi_offset 5, -8
+	movl	%esp, %ebp
+	.cfi_def_cfa_register 5
+	subl	$16, %esp
+	movl	$40, -4(%ebp)
+#APP
+# 27 "i386-stap-eval-lang-ada.c" 1
+	990: nop
+.pushsection .note.stapsdt,"?","note"
+.balign 4
+.4byte 992f-991f,994f-993f,3
+991: .asciz "stapsdt"
+992: .balign 4
+993: .4byte 990b
+.4byte _.stapsdt.base
+.4byte 0
+.asciz "foo"
+.asciz "bar"
+/* The following probe argument should be "-4@-4(%ebp)", or some other
+   register displacement expression that references %ebp, otherwise the
+   bug will not trigger.  */
+.asciz "-4@-4(%ebp)"
+994: .balign 4
+.popsection
+
+# 0 "" 2
+# 27 "i386-stap-eval-lang-ada.c" 1
+	.ifndef _.stapsdt.base
+.pushsection .stapsdt.base,"aG","progbits",.stapsdt.base,comdat
+.weak _.stapsdt.base
+.hidden _.stapsdt.base
+_.stapsdt.base: .space 1
+.size _.stapsdt.base,1
+.popsection
+.endif
+
+# 0 "" 2
+#NO_APP
+	movl	$0, %eax
+	leave
+	.cfi_restore 5
+	.cfi_def_cfa 4, 4
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	main, .-main
+	.ident	"GCC: (GNU) 4.8.3 20140911 (Red Hat 4.8.3-7)"
+	.section	.note.GNU-stack,"",@progbits
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-unwind.c ./gdb/testsuite/gdb.arch/i386-unwind.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-unwind.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-unwind.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Unwinder test program.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-unwind.exp ./gdb/testsuite/gdb.arch/i386-unwind.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-unwind.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-unwind.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -46,18 +46,7 @@ gdb_load ${binfile}
 # We use gdb_run_cmd so this stands a chance to work for remote
 # targets too.
 gdb_run_cmd
-
-gdb_expect {
-    -re "Program received signal SIGTRAP.*$gdb_prompt $" {
-	pass "run past gdb1435"
-    }
-    -re ".*$gdb_prompt $" {
-	fail "run past gdb1435"
-    }
-    timeout {
-	fail "run past gdb1435 (timeout)"
-    }
-}
+gdb_test "" "Program received signal SIGTRAP.*" "run past gdb1435"
 
 gdb_test "backtrace 10" \
 	"#1\[ \t]*$hex in gdb1435.*\r\n#2\[ \t\]*$hex in main.*" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-word.exp ./gdb/testsuite/gdb.arch/i386-word.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/i386-word.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/i386-word.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp ./gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S ./gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/iwmmxt-regs.c ./gdb/testsuite/gdb.arch/iwmmxt-regs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/iwmmxt-regs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/iwmmxt-regs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Register test program.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/iwmmxt-regs.exp ./gdb/testsuite/gdb.arch/iwmmxt-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/iwmmxt-regs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/iwmmxt-regs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks.exp ./gdb/testsuite/gdb.arch/mips16-thunks.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips16-thunks.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-inmain.c ./gdb/testsuite/gdb.arch/mips16-thunks-inmain.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-inmain.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips16-thunks-inmain.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-main.c ./gdb/testsuite/gdb.arch/mips16-thunks-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips16-thunks-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sin.c ./gdb/testsuite/gdb.arch/mips16-thunks-sin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sin.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips16-thunks-sin.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sinfrob16.c ./gdb/testsuite/gdb.arch/mips16-thunks-sinfrob16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sinfrob16.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips16-thunks-sinfrob16.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sinfrob.c ./gdb/testsuite/gdb.arch/mips16-thunks-sinfrob.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sinfrob.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips16-thunks-sinfrob.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c ./gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c ./gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips-octeon-bbit.exp ./gdb/testsuite/gdb.arch/mips-octeon-bbit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/mips-octeon-bbit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/mips-octeon-bbit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/pa-nullify.exp ./gdb/testsuite/gdb.arch/pa-nullify.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/pa-nullify.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/pa-nullify.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-aix-prologue.c ./gdb/testsuite/gdb.arch/powerpc-aix-prologue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-aix-prologue.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-aix-prologue.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp ./gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-d128-regs.c ./gdb/testsuite/gdb.arch/powerpc-d128-regs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-d128-regs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-d128-regs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp ./gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-d128-regs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-power.exp ./gdb/testsuite/gdb.arch/powerpc-power.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-power.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-power.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-power.s ./gdb/testsuite/gdb.arch/powerpc-power.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-power.s	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-power.s	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-prologue.c ./gdb/testsuite/gdb.arch/powerpc-prologue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-prologue.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-prologue.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Unwinder test program.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-prologue.exp ./gdb/testsuite/gdb.arch/powerpc-prologue.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-prologue.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-prologue.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-stackless.exp ./gdb/testsuite/gdb.arch/powerpc-stackless.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-stackless.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-stackless.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,42 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Testcase for PR tdep/17379.
+
+if {![istarget "powerpc*-*-*"]} then {
+    verbose "Skipping powerpc-stackless.exp"
+    return
+}
+
+standard_testfile .S
+
+if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
+    untested powerpc-stackless.exp
+    return -1
+}
+
+# Run until SIGSEGV.
+gdb_run_cmd
+
+set test "run until SIGSEGV"
+gdb_test_multiple "" $test {
+    -re "Program received signal SIGSEGV.*$gdb_prompt $" {
+  pass $test
+    }
+}
+
+# Ensure that 'info registers' works properly and does not generate
+# an internal-error.
+gdb_test "info registers" "r0.*" "info registers"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-stackless.S ./gdb/testsuite/gdb.arch/powerpc-stackless.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/powerpc-stackless.S	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-stackless.S	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <ppc-asm.h>
+
+FUNC_START(main)
+        li      sp,0
+        mtlr    sp
+        blr
+FUNC_END(main)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp ./gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc64-atomic-inst.S ./gdb/testsuite/gdb.arch/ppc64-atomic-inst.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc64-atomic-inst.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/ppc64-atomic-inst.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc-dfp.c ./gdb/testsuite/gdb.arch/ppc-dfp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc-dfp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/ppc-dfp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2008-2014 Free Software Foundation, Inc.
+/* Copyright 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc-dfp.exp ./gdb/testsuite/gdb.arch/ppc-dfp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc-dfp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/ppc-dfp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc-fp.c ./gdb/testsuite/gdb.arch/ppc-fp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc-fp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/ppc-fp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2008-2014 Free Software Foundation, Inc.
+/* Copyright 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc-fp.exp ./gdb/testsuite/gdb.arch/ppc-fp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/ppc-fp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/ppc-fp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/s390-multiarch.c ./gdb/testsuite/gdb.arch/s390-multiarch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/s390-multiarch.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/s390-multiarch.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/s390-multiarch.exp ./gdb/testsuite/gdb.arch/s390-multiarch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/s390-multiarch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/s390-multiarch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/s390-tdbregs.c ./gdb/testsuite/gdb.arch/s390-tdbregs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/s390-tdbregs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/s390-tdbregs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2008-2014 Free Software Foundation, Inc.
+/* Copyright 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/s390-tdbregs.exp ./gdb/testsuite/gdb.arch/s390-tdbregs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/s390-tdbregs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/s390-tdbregs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/sparc-sysstep.c ./gdb/testsuite/gdb.arch/sparc-sysstep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/sparc-sysstep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/sparc-sysstep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test single-stepping system call instructions in sparc.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/sparc-sysstep.exp ./gdb/testsuite/gdb.arch/sparc-sysstep.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/sparc-sysstep.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/sparc-sysstep.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/spu-info.c ./gdb/testsuite/gdb.arch/spu-info.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/spu-info.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/spu-info.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2007-2014 Free Software Foundation, Inc.
+/* Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/spu-info.exp ./gdb/testsuite/gdb.arch/spu-info.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/spu-info.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/spu-info.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/spu-ls.c ./gdb/testsuite/gdb.arch/spu-ls.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/spu-ls.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/spu-ls.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/spu-ls.exp ./gdb/testsuite/gdb.arch/spu-ls.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/spu-ls.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/spu-ls.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb2-it.exp ./gdb/testsuite/gdb.arch/thumb2-it.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb2-it.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/thumb2-it.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb2-it.S ./gdb/testsuite/gdb.arch/thumb2-it.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb2-it.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/thumb2-it.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Thumb-2 IT blocks test program.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-bx-pc.exp ./gdb/testsuite/gdb.arch/thumb-bx-pc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-bx-pc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/thumb-bx-pc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-bx-pc.S ./gdb/testsuite/gdb.arch/thumb-bx-pc.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-bx-pc.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/thumb-bx-pc.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test PC adjustment from Thumb-mode "bx pc" instruction.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-prologue.c ./gdb/testsuite/gdb.arch/thumb-prologue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-prologue.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/thumb-prologue.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Unwinder test program.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-prologue.exp ./gdb/testsuite/gdb.arch/thumb-prologue.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-prologue.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/thumb-prologue.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-singlestep.exp ./gdb/testsuite/gdb.arch/thumb-singlestep.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-singlestep.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/thumb-singlestep.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-singlestep.S ./gdb/testsuite/gdb.arch/thumb-singlestep.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/thumb-singlestep.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/thumb-singlestep.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test program with deliberately incorrect execution mode transition
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/vsx-regs.exp ./gdb/testsuite/gdb.arch/vsx-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.arch/vsx-regs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/vsx-regs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.asm/asm-source.exp ./gdb/testsuite/gdb.asm/asm-source.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.asm/asm-source.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.asm/asm-source.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/a2-run.exp ./gdb/testsuite/gdb.base/a2-run.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/a2-run.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/a2-run.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
+#   Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -31,51 +31,26 @@ if { [prepare_for_testing ${testfile}.ex
 }
 
 # Run with no arguments.
-# On VxWorks this justs make sure the program was run.
 gdb_run_cmd
 
-if [istarget "*-*-vxworks*"] then {
-    set timeout 120
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect {
-	 "$inferior_exited_re normally" {
-	    unresolved "run \"$testfile\" with no args"
-	}
-	 -re "usage:  factorial <number>" {
-	    pass "run \"$testfile\" with no args"
-	}
-	timeout	{
-	    fail "(timeout) run \"$testfile\" with no args"
-	}
-    }
-    set timeout 10
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect -re "$gdb_prompt $" {}
-} else {
-    gdb_expect {
-	-re ".*usage:  factorial <number>.*$inferior_exited_re with code 01.\r\n$gdb_prompt $" {
-	    pass "run \"$testfile\" with no args"
-	    pass "no spurious messages at program exit"
-	}
-	-re ".*usage:  factorial <number>.*$inferior_exited_re with code 01.*$gdb_prompt $" {
-	    pass "run \"$testfile\" with no args"
-	    fail "no spurious messages at program exit"
-	}
-	-re ".*usage:  factorial <number>.* EXIT code 1.*$inferior_exited_re normally.\r\n$gdb_prompt $" {
-	    pass "run \"$testfile\" with no args (exit wrapper)"
-	    pass "no spurious messages at program exit"
-	}
-	-re ".*usage:  factorial <number>.* EXIT code 1.*$inferior_exited_re normally.*$gdb_prompt $" {
-	    pass "run \"$testfile\" with no args (exit wrapper)"
-	    fail "no spurious messages at program exit"
-	}
-	-re ".*$gdb_prompt $" {
-	    fail "run \"$testfile\" with no args"
-	    verbose "expect_out is $expect_out(buffer)" 2
-	}
-	timeout	{
-	    fail "(timeout) run \"$testfile\" no args"
-	}
+set test "run \"$testfile\" with no args"
+
+gdb_test_multiple "" $test {
+    -re ".*usage:  factorial <number>.*$inferior_exited_re with code 01.\r\n$gdb_prompt $" {
+	pass $test
+	pass "no spurious messages at program exit"
+    }
+    -re ".*usage:  factorial <number>.*$inferior_exited_re with code 01.*$gdb_prompt $" {
+	pass $test
+	fail "no spurious messages at program exit"
+    }
+    -re ".*usage:  factorial <number>.* EXIT code 1.*$inferior_exited_re normally.\r\n$gdb_prompt $" {
+	pass "$test (exit wrapper)"
+	pass "no spurious messages at program exit"
+    }
+    -re ".*usage:  factorial <number>.* EXIT code 1.*$inferior_exited_re normally.*$gdb_prompt $" {
+	pass "$test (exit wrapper)"
+	fail "no spurious messages at program exit"
     }
 }
 
@@ -87,142 +62,30 @@ if [target_info exists noargs] then {
 }
 
 # Now run with some arguments
-if [istarget "*-*-vxworks*"] then {
-    send_gdb "run vxmain \"5\"\n"
-    gdb_expect -re "run vxmain \"5\"\r\n" {}
-    set timeout 120
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect {
-	 "$inferior_exited_re normally" {
-	    unresolved "run \"$testfile\" with arg"
-	}
-	 "120" {
-	    pass "run \"$testfile\" with arg"
-	}
-	timeout {
-	    fail "(timeout) run \"$testfile\" with arg"
-	}
-    }
-    set timeout 10
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect -re "$gdb_prompt $" {}
-} else {
-	setup_xfail "arm-*-coff"
-	gdb_run_cmd 5
-	gdb_expect {
-	    -re ".*120.*$gdb_prompt $"\
-				{ pass "run \"$testfile\" with arg" }
-	    -re ".*$gdb_prompt $"	{ fail "run \"$testfile\" with arg" }
-	    timeout		{ fail "(timeout) run \"$testfile\" with arg" }
-	}
-}
+setup_xfail "arm-*-coff"
+gdb_run_cmd 5
+gdb_test "" "120.*" "run \"$testfile\" with arg"
 
 # Run again with same arguments.
 gdb_run_cmd
 
-if [istarget "*-*-vxworks*"] then {
-    set timeout 120
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect {
-	 "$inferior_exited_re normally" {
-	    unresolved "run \"$testfile\" again with same args"
-	}
-	 "120" { pass "run \"$testfile\" again with same args" }
-	timeout { fail "(timeout) run \"$testfile\" again with same args" }
-    }
-    set timeout 10
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect -re "$gdb_prompt $" {}
-} else {
-    setup_xfail "arm-*-coff"
-    gdb_expect {
-	    -re ".*120.*$gdb_prompt $"\
-				{ pass "run \"$testfile\" again with same args" }
-	    -re ".*$gdb_prompt $"	{ fail "run \"$testfile\" again with same args" }
-	    timeout		{ fail "(timeout) run \"$testfile\" again with same args" }
-	}
-}
+setup_xfail "arm-*-coff"
+gdb_test "" "120.*" "run \"$testfile\" again with same args"
 
 # Use "set args" command to specify no arguments as default and run again.
-if [istarget "*-*-vxworks*"] then {
-    gdb_test_no_output "set args main"
-} else {
-    gdb_test_no_output "set args"
-}
+gdb_test_no_output "set args"
 
 gdb_run_cmd
 
-if [istarget "*-*-vxworks*"] then {
-    set timeout 120
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect {
-	 "$inferior_exited_re normally" {
-	    unresolved "run after setting args to nil"
-	}
-	 "usage:  factorial <number>" {
-	    pass "run after setting args to nil"
-	}
-	timeout {
-	    fail "(timeout) run after setting args to nil"
-	}
-    }
-    set timeout 10
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect -re "$gdb_prompt $" {}
-} else {
-    gdb_expect {
-	-re ".*usage:  factorial <number>.*$gdb_prompt $" {
-	    pass "run after setting args to nil"
-	}
-	-re ".*$gdb_prompt $" {
-	    fail "run after setting args to nil"
-	}
-	timeout {
-	    fail "(timeout) run after setting args to nil"
-	}
-    }
-}
+gdb_test "" "usage:  factorial <number>.*" "run after setting args to nil"
 
 # Use "set args" command to specify an argument and run again.
-if [istarget "*-*-vxworks*"] then {
-    gdb_test_no_output "set args vxmain \"6\""
-} else {
-    gdb_test_no_output "set args 6"
-}
+gdb_test_no_output "set args 6"
 
 gdb_run_cmd
 
-if [istarget "*-*-vxworks*"] then {
-    set timeout 120
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect {
-	 "$inferior_exited_re normally" {
-	    unresolved "run \"$testfile\" again after setting args"
-	}
-	 "720" {
-	    pass "run \"$testfile\" again after setting args"
-	}
-	timeout {
-	    fail "(timeout) run \"$testfile\" again after setting args"
-	}
-    }
-    set timeout 10
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_expect -re "$gdb_prompt $" {}
-} else {
-    setup_xfail "arm-*-coff"
-    gdb_expect {
-	    -re ".*720.*$gdb_prompt $" {
-		pass "run \"$testfile\" again after setting args"
-	    }
-	    -re ".*$gdb_prompt $" {
-		fail "run \"$testfile\" again after setting args"
-	    }
-	    timeout {
-		fail "(timeout) run \"$testfile\" again after setting args"
-	    }
-	}
-}
+setup_xfail "arm-*-coff"
+gdb_test "" "720.*" "run \"$testfile\" again after setting args"
 
 # GOAL: Test that shell is being used with "run".  For remote debugging
 # targets, there is no guarantee that a "shell" (whatever that is) is used.
@@ -231,8 +94,3 @@ if ![is_remote target] then {
 	"Starting program.*40320.*" \
 	"run \"$testfile\" with shell"
 }
-
-# Reset the default arguments for VxWorks
-if [istarget "*-*-vxworks*"] then {
-    gdb_test_no_output "set args main"
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/advance.c ./gdb/testsuite/gdb.base/advance.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/advance.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/advance.c	2015-01-20 02:05:39.000000000 +0000
@@ -13,15 +13,15 @@ int bar (int y)
   return z;
 }
 
-void func()
+int func2 ()
 {
-  x = x + 5;
-  func2 ();
+  x = 6;
 }
 
-int func2 ()
+void func()
 {
-  x = 6;
+  x = x + 5;
+  func2 ();
 }
 
 int func3 ()
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/advance.exp ./gdb/testsuite/gdb.base/advance.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/advance.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/advance.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/alias.exp ./gdb/testsuite/gdb.base/alias.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/alias.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/alias.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Test the alias command.
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/all-bin.exp ./gdb/testsuite/gdb.base/all-bin.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/all-bin.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/all-bin.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota1.c ./gdb/testsuite/gdb.base/annota1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/annota1.c	2015-01-20 02:05:39.000000000 +0000
@@ -2,28 +2,15 @@
 #include <signal.h>
 
 
-#ifdef PROTOTYPES
 void
 handle_USR1 (int sig)
 {
 }
-#else
-void
-handle_USR1 (sig)
-     int sig;
-{
-}
-#endif
 
 int value;
 
-#ifdef PROTOTYPES
 int
 main (void)
-#else
-int
-main ()
-#endif
 {
   int my_array[3] = { 1, 2, 3 };  /* break main */
   
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota1.exp ./gdb/testsuite/gdb.base/annota1.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota1.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/annota1.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -440,7 +440,7 @@ if { [remote_file host exists core] } {
 }
 
 proc thread_test {} {
-    global subdir srcdir testfile
+    global subdir srcdir testfile srcfile binfile
     global gdb_prompt old_gdb_prompt
     set srcfile watch_thread_num.c
     set binfile [standard_output_file ${testfile}-watch_thread_num]
@@ -457,6 +457,9 @@ proc thread_test {} {
 	    return
 	}
 
+	set linenum [gdb_get_line_number "all threads started"]
+	gdb_breakpoint "$linenum"
+
 	set gdb_prompt \
 	    "\r\n\032\032pre-prompt\r\n$gdb_prompt \r\n\032\032prompt\r\n"
 
@@ -465,8 +468,8 @@ proc thread_test {} {
 	    }
 	}
 
-	gdb_test_multiple "next 2" "new thread" {
-	    -re ".*\032\032new-thread" {
+	gdb_test_multiple "continue" "new thread" {
+	    -re "\032\032new-thread.*\r\n$gdb_prompt$" {
 		pass "new thread"
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota3.c ./gdb/testsuite/gdb.base/annota3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota3.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/annota3.c	2015-01-20 02:05:39.000000000 +0000
@@ -2,28 +2,15 @@
 #include <signal.h>
 
 
-#ifdef PROTOTYPES
 void
 handle_USR1 (int sig)
 {
 }
-#else
-void
-handle_USR1 (sig)
-     int sig;
-{
-}
-#endif
 
 int value;
 
-#ifdef PROTOTYPES
 int
 main (void)
-#else
-int
-main ()
-#endif
 {
   int my_array[3] = { 1, 2, 3 };  /* break main */
   
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota3.exp ./gdb/testsuite/gdb.base/annota3.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota3.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/annota3.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota-input-while-running.c ./gdb/testsuite/gdb.base/annota-input-while-running.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota-input-while-running.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/annota-input-while-running.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota-input-while-running.exp ./gdb/testsuite/gdb.base/annota-input-while-running.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/annota-input-while-running.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/annota-input-while-running.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/anon.exp ./gdb/testsuite/gdb.base/anon.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/anon.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/anon.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/args.exp ./gdb/testsuite/gdb.base/args.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/args.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/args.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/argv0-symlink.c ./gdb/testsuite/gdb.base/argv0-symlink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/argv0-symlink.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/argv0-symlink.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/argv0-symlink.exp ./gdb/testsuite/gdb.base/argv0-symlink.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/argv0-symlink.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/argv0-symlink.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,6 +15,8 @@
 
 standard_testfile
 
+set has_argv0 [gdb_has_argv0]
+
 if { [build_executable ${testfile}.exp ${testfile} ${srcfile}] == -1 } {
     return -1
 }
@@ -36,7 +38,14 @@ if ![runto_main] {
     return -1
 }
 
-gdb_test {print argv[0]} "/$filelink\"" $test
+gdb_test_no_output "set print repeats 10000"
+gdb_test_no_output "set print elements 10000"
+
+if { $has_argv0 } {
+    gdb_test {print argv[0]} "/$filelink\"" $test
+} else {
+    unsupported $test
+}
 
 # For a link named /PATH/TO/DIR/LINK, we want to check the output
 # against "/DIR/LINK", but computed in a way that doesn't make
@@ -67,9 +76,17 @@ if ![runto_main] {
     return -1
 }
 
-# gdbserver does not have this issue.
-if ![is_remote target] {
-    setup_kfail "*-*-*" gdb/15934
+gdb_test_no_output "set print repeats 10000"
+gdb_test_no_output "set print elements 10000"
+
+if { $has_argv0 } {
+    # gdbserver does not have this issue.
+    if ![is_remote target] {
+	setup_kfail "*-*-*" gdb/15934
+    }
+    gdb_test {print argv[0]} "/$dirlink/$filelink\"" $test
+} else {
+    unsupported $test
 }
-gdb_test {print argv[0]} "/$dirlink/$filelink\"" $test
+
 gdb_test "info inferiors" "/$lastdir/$filelink *" "$test for info inferiors"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/arithmet.exp ./gdb/testsuite/gdb.base/arithmet.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/arithmet.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/arithmet.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/arrayidx.c ./gdb/testsuite/gdb.base/arrayidx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/arrayidx.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/arrayidx.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/arrayidx.exp ./gdb/testsuite/gdb.base/arrayidx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/arrayidx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/arrayidx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/assign.exp ./gdb/testsuite/gdb.base/assign.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/assign.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/assign.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/async.c ./gdb/testsuite/gdb.base/async.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/async.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/async.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,12 +1,7 @@
 
 
-#ifdef PROTOTYPES
 int
 foo (void)
-#else
-int
-foo ()
-#endif
 {
  int y;
  volatile int x;
@@ -17,13 +12,14 @@ foo ()
  return x + y;
 }
 
-#ifdef PROTOTYPES
 int
-main (void)
-#else
+baz (void)
+{
+  return 5;
+}
+
 int
-main ()
-#endif
+main (void)
 {
  int y, z;
  
@@ -35,15 +31,3 @@ main ()
  y = baz ();
  return 0; /* until here */
 }
-
-
-#ifdef PROTOTYPES
-int
-baz (void)
-#else
-int
-baz ()
-#endif
-{ 
-  return 5;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/async.exp ./gdb/testsuite/gdb.base/async.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/async.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/async.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1999-2014 Free Software Foundation, Inc.
+#   Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/async-shell.c ./gdb/testsuite/gdb.base/async-shell.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/async-shell.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/async-shell.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include <unistd.h>
+
 int
 main (void)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/async-shell.exp ./gdb/testsuite/gdb.base/async-shell.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/async-shell.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/async-shell.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach.c ./gdb/testsuite/gdb.base/attach.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach.c	2015-01-20 02:05:39.000000000 +0000
@@ -5,6 +5,7 @@
    exit unless/until gdb sets the variable to non-zero.)
    */
 #include <stdio.h>
+#include <unistd.h>
 
 int  should_exit = 0;
 
@@ -12,9 +13,11 @@ int main ()
 {
   int  local_i = 0;
 
+  alarm (60);
+
   while (! should_exit)
     {
       local_i++;
     }
-  return 0;
+  return 0; /* postloop */
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach.exp ./gdb/testsuite/gdb.base/attach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -25,8 +25,7 @@ if { [istarget "hppa*-*-hpux*"] } {
     return 0
 }
 
-# are we on a target board
-if [is_remote target] then {
+if {![can_spawn_for_attach]} {
     return 0
 }
 
@@ -256,11 +255,8 @@ proc do_attach_tests {} {
 
     # Verify that the modification really happened.
 
-    gdb_test "tbreak 19" "Temporary breakpoint .*at.*$srcfile, line 19.*" \
-	"after attach2, set tbreak postloop"
-
-    gdb_test "continue" "main.*at.*$srcfile:19.*" \
-	"after attach2, reach tbreak postloop"
+    gdb_breakpoint [gdb_get_line_number "postloop"] temporary
+    gdb_continue_to_breakpoint "postloop" ".* postloop .*"
 
     # Allow the test process to exit, to cleanup after ourselves.
 
@@ -418,6 +414,7 @@ proc test_command_line_attach_run {} {
 		     "-iex \"set height 0\" -iex \"set width 0\" --pid=$testpid -ex \"start\""]
 	if { $res != 0} {
 	    fail $test
+	    remote_exec build "kill -9 ${testpid}"
 	    return $res
 	}
 	gdb_test_multiple "" $test {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-pie-misread.c ./gdb/testsuite/gdb.base/attach-pie-misread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-pie-misread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-pie-misread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -16,6 +16,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <unistd.h>
 
 const char stub[] = {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-pie-misread.exp ./gdb/testsuite/gdb.base/attach-pie-misread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-pie-misread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-pie-misread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-pie-noexec.c ./gdb/testsuite/gdb.base/attach-pie-noexec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-pie-noexec.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-pie-noexec.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-pie-noexec.exp ./gdb/testsuite/gdb.base/attach-pie-noexec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-pie-noexec.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-pie-noexec.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-twice.c ./gdb/testsuite/gdb.base/attach-twice.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-twice.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-twice.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <sys/ptrace.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-twice.exp ./gdb/testsuite/gdb.base/attach-twice.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-twice.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-twice.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-wait-input.c ./gdb/testsuite/gdb.base/attach-wait-input.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-wait-input.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-wait-input.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-wait-input.exp ./gdb/testsuite/gdb.base/attach-wait-input.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/attach-wait-input.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/attach-wait-input.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-connect-native-target.c ./gdb/testsuite/gdb.base/auto-connect-native-target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-connect-native-target.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/auto-connect-native-target.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-connect-native-target.exp ./gdb/testsuite/gdb.base/auto-connect-native-target.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-connect-native-target.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/auto-connect-native-target.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-load.c ./gdb/testsuite/gdb.base/auto-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-load.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/auto-load.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-load.exp ./gdb/testsuite/gdb.base/auto-load.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-load.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/auto-load.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-load-script ./gdb/testsuite/gdb.base/auto-load-script
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auto-load-script	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/auto-load-script	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auxv.c ./gdb/testsuite/gdb.base/auxv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auxv.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/auxv.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 1992-2014 Free Software Foundation, Inc.
+/* Copyright 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auxv.exp ./gdb/testsuite/gdb.base/auxv.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/auxv.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/auxv.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # Test `info auxv' and related functionality.
 
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/average.c ./gdb/testsuite/gdb.base/average.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/average.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/average.c	2015-01-20 02:05:39.000000000 +0000
@@ -3,22 +3,13 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#ifdef PROTOTYPES
 extern int sum(int *, int, int);
-#else
-extern int sum();
-#endif
 
 #define num   10
 
 static int my_list[num] = {3,4,2,0,2,1,8,3,6,7};
 
-#ifdef PROTOTYPES
 void print_average(int *list, int low, int high) 
-#else
-void print_average(list, low, high)
-int *list, low, high;
-#endif
     {
         int total = 0, num_elements = 0, average = 0;
         total = sum(list, low, high);
@@ -28,19 +19,15 @@ int *list, low, high;
         printf("%10.d\n", average);
     }
 
-#ifdef PROTOTYPES
 int main(void)
-#else
-main ()
-#endif
 {
     char c;
-    int first = 0, last = 0;
+    int first = 0, last = 0;	/* stop-in-main */
     last = num-1;
 
     /* Try two test cases. */
     print_average (my_list, first, last);
-    print_average (my_list, first, last - 3);
+    print_average (my_list, first, last - 3); /* stop-at-call */
 
     exit(0);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bang.exp ./gdb/testsuite/gdb.base/bang.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bang.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bang.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/batch-preserve-term-settings.c ./gdb/testsuite/gdb.base/batch-preserve-term-settings.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/batch-preserve-term-settings.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/batch-preserve-term-settings.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int
+main (void)
+{
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp ./gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/batch-preserve-term-settings.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,186 @@
+# Copyright (C) 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check that "gdb -batch -ex run" does not leave the terminal in the
+# wrong state.
+
+standard_testfile
+
+if {[build_executable "failed to prepare" $testfile $srcfile debug] == -1} {
+    return -1
+}
+
+set file_arg $binfile
+if [is_remote host] {
+  set file_arg [remote_download host $file_arg]
+}
+
+global GDBFLAGS
+set saved_gdbflags $GDBFLAGS
+
+# The shell's prompt.
+set shell_prompt "$ "
+set shell_prompt_re [string_to_regexp $shell_prompt]
+
+# Spawn shell.  Returns true on success, false otherwise.
+
+proc spawn_shell {} {
+    global shell_prompt_re
+
+    set res [remote_spawn host "/bin/sh"]
+    if { $res < 0 || $res == "" } {
+	unsupported "Spawning shell failed."
+	return 0
+    }
+
+    set gotit 0
+    set test "spawn shell"
+    gdb_expect {
+	-re "$shell_prompt_re$" {
+	    pass $test
+	    set gotit 1
+	}
+	timeout {
+	    fail "$test (timeout)"
+	}
+	eof {
+	    fail "$test (eof)"
+	}
+    }
+
+    return $gotit
+}
+
+# Exit the shell.
+
+proc exit_shell {} {
+    global shell_prompt_re
+
+    set test "exit shell"
+    send_gdb "exit\n"
+    gdb_expect {
+	timeout {
+	    fail "$test (timeout)"
+	    return 0
+	}
+	eof {
+	    pass "$test"
+	}
+    }
+    if ![is_remote host] {
+	remote_close host
+    }
+}
+
+# Run "stty" and store the output in $result.  Returns true on
+# success, false otherwise.
+
+proc run_stty {message result} {
+    global shell_prompt_re
+
+    upvar $result output
+
+    send_gdb "stty || echo \"not found\"\n"
+    set gotit 0
+    gdb_expect {
+	-re "not found.*not found.*$shell_prompt_re$" {
+	    pass "$message (not found)"
+	}
+	-re "(.*)$shell_prompt_re$" {
+	    set output $expect_out(1,string)
+	    set gotit 1
+	    pass $message
+	}
+	timeout {
+	    fail "$message (timeout)"
+	}
+	eof {
+	    fail "$message (eof)"
+	}
+    }
+    return $gotit
+}
+
+# Check that "gdb -batch -ex run" does not leave the terminal in the
+# wrong state.
+
+proc test_terminal_settings_preserved {} {
+    global file_arg
+    global GDB INTERNAL_GDBFLAGS GDBFLAGS
+    global gdb_prompt pagination_prompt
+    global saved_gdbflags
+    global shell_prompt_re
+
+    if ![spawn_shell] {
+	return
+    }
+
+    set stty_supported [run_stty "stty before" stty_before]
+
+    set test "gdb -batch -ex run"
+    set GDBFLAGS $saved_gdbflags
+    append GDBFLAGS " -batch"
+    append GDBFLAGS " -ex \"set height unlimited\""
+    append GDBFLAGS " -ex \"start\""
+    append GDBFLAGS " --args \"$file_arg\""
+    send_gdb "$GDB $INTERNAL_GDBFLAGS $GDBFLAGS [host_info gdb_opts]\n"
+    gdb_expect {
+	-re "Don't know how to run.*$shell_prompt_re$" {
+	    unsupported $test
+	}
+	-re "$gdb_prompt $" {
+	    # -batch implies no GDB prompt.
+	    fail $test
+	}
+	-re "Temporary breakpoint .*$shell_prompt_re$" {
+	    pass $test
+	}
+	timeout {
+	    fail "$test (timeout)"
+	}
+	eof {
+	    fail "$test (eof)"
+	}
+    }
+
+    set test "echo test_echo"
+    send_gdb "echo test_echo\n"
+    gdb_expect {
+	-re "^echo test_echo\r\ntest_echo\r\n.*$shell_prompt_re$" {
+	    pass $test
+	}
+	timeout {
+	    fail "$test (timeout)"
+	}
+	eof {
+	    fail "$test (eof)"
+	}
+    }
+
+    set test "terminal settings preserved"
+    if $stty_supported {
+	run_stty "stty after" stty_after
+
+	gdb_assert [string equal $stty_before $stty_after] $test
+    } else {
+	unsupported "$test (no stty)"
+    }
+
+    exit_shell
+}
+
+test_terminal_settings_preserved
+
+set GDBFLAGS $saved_gdbflags
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bfp-test.c ./gdb/testsuite/gdb.base/bfp-test.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bfp-test.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bfp-test.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bfp-test.exp ./gdb/testsuite/gdb.base/bfp-test.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bfp-test.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bfp-test.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bg-execution-repeat.c ./gdb/testsuite/gdb.base/bg-execution-repeat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bg-execution-repeat.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bg-execution-repeat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bg-execution-repeat.exp ./gdb/testsuite/gdb.base/bg-execution-repeat.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bg-execution-repeat.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bg-execution-repeat.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bigcore.c ./gdb/testsuite/gdb.base/bigcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bigcore.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bigcore.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bigcore.exp ./gdb/testsuite/gdb.base/bigcore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bigcore.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bigcore.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -39,13 +39,6 @@ if { [istarget "*-*-*bsd*"]
     return
 }
 
-# This testcase causes too much stress (in terms of memory usage)
-# on certain systems...
-if { [istarget "*-*-*irix*"] } {
-    untested "Testcase too stressful for this system"
-    return
-}
-
 standard_testfile .c
 set corefile [standard_output_file ${binfile}.corefile]
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bitfields2.exp ./gdb/testsuite/gdb.base/bitfields2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bitfields2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bitfields2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bitfields.exp ./gdb/testsuite/gdb.base/bitfields.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bitfields.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bitfields.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bitops.exp ./gdb/testsuite/gdb.base/bitops.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bitops.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bitops.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.c ./gdb/testsuite/gdb.base/bp-cmds-execution-x-script.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bp-cmds-execution-x-script.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,35 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int
+increment (int i)
+{
+  return i + 1;
+}
+
+#define N_INCR 20
+
+int
+main (void)
+{
+  int val = 1;
+  int j;
+
+  for (j = 0; j < N_INCR; j++)
+    val = increment (val);
+  return val == N_INCR;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp ./gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,75 @@
+# Copyright 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+# Test that GDB isn't silent if it fails to remove a breakpoint from
+# the main program, independently of whether the program was loaded
+# with "file PROGRAM" or directly from the command line with "gdb
+# PROGRAM".
+
+# Test that execution commands in a GDB script file run through -x
+# work as expected.  Specifically, the scripts creates a breakpoint
+# that has "continue" in its command list, and then does "run".
+
+standard_testfile
+
+if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
+    return -1
+}
+
+set x_file ${srcdir}/${subdir}/$testfile.gdb
+
+global GDBFLAGS
+set saved_gdbflags $GDBFLAGS
+
+# Run the test proper.
+
+proc test {} {
+    global inferior_exited_re
+    global binfile
+    global gdb_prompt
+    global saved_gdbflags GDBFLAGS
+    global x_file
+
+    gdb_exit
+
+    set GDBFLAGS "$GDBFLAGS -x $x_file $binfile"
+
+    set GDBFLAGS $saved_gdbflags
+    append GDBFLAGS " -ex \"set height unlimited\""
+    append GDBFLAGS " -x \"$x_file\""
+    append GDBFLAGS " --args \"$binfile\""
+
+    set test "run to end"
+
+    gdb_exit
+    set res [gdb_spawn]
+    if { $res != 0} {
+	fail $test
+	return -1
+    }
+
+    gdb_test_multiple "" $test {
+	-re "$inferior_exited_re normally.*$gdb_prompt $" {
+	    pass $test
+	}
+	-re "Don't know how to run.*$gdb_prompt $" {
+	    unsupported $test
+	}
+    }
+}
+
+test
+
+set GDBFLAGS $saved_gdbflags
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.gdb ./gdb/testsuite/gdb.base/bp-cmds-execution-x-script.gdb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.gdb	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bp-cmds-execution-x-script.gdb	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,20 @@
+# Copyright 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+break increment
+commands
+   cont
+end
+run
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-permanent.c ./gdb/testsuite/gdb.base/bp-permanent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-permanent.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bp-permanent.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,136 @@
+/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <string.h>
+#ifdef SIGNALS
+#include <signal.h>
+#include <unistd.h>
+#endif
+
+/* NOP instruction: must have the same size as the breakpoint
+   instruction.  */
+
+#if defined(__s390__) || defined(__s390x__)
+#define NOP asm("nopr 0")
+#else
+#define NOP asm("nop")
+#endif
+
+/* Buffer holding the breakpoint instruction.  */
+unsigned char buffer[16];
+
+volatile unsigned char *addr_bp;
+volatile unsigned char *addr_after_bp;
+int counter = 0;
+
+void
+test (void)
+{
+  NOP;
+  NOP;
+  NOP;
+  NOP; /* write permanent bp here */
+  NOP; /* after permanent bp */
+  NOP;
+  NOP;
+  NOP;
+  NOP;
+  NOP;
+
+  counter++;
+}
+
+void
+setup (void)
+{
+  memcpy (buffer, (void *) addr_bp, addr_after_bp - addr_bp);
+}
+
+void
+test_basics (void)
+{
+  test (); /* for SIGTRAP */
+  test (); /* for breakpoint once */
+  test (); /* for breakpoint twice */
+  test (); /* for disabled bp SIGTRAP */
+  test (); /* for breakpoint thrice */
+}
+
+void
+test_next (void)
+{
+  test (); /* for next */
+  counter = 0; /* after next */
+}
+
+#ifdef SIGNALS
+
+static void
+test_signal_handler (int sig)
+{
+}
+
+void
+test_signal_with_handler (void)
+{
+  signal (SIGUSR1, test_signal_handler);
+  test ();
+}
+
+void
+test_signal_no_handler (void)
+{
+  signal (SIGUSR1, SIG_IGN);
+  test ();
+}
+
+static void
+test_signal_nested_handler ()
+{
+  test ();
+}
+
+void
+test_signal_nested_done (void)
+{
+}
+
+void
+test_signal_nested (void)
+{
+  counter = 0;
+  signal (SIGALRM, test_signal_nested_handler);
+  alarm (1);
+  test ();
+  test_signal_nested_done ();
+}
+
+#endif
+
+int
+main (void)
+{
+  setup ();
+  test_basics ();
+  test_next ();
+#ifdef SIGNALS
+  test_signal_nested ();
+  test_signal_with_handler ();
+  test_signal_no_handler ();
+#endif
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-permanent.exp ./gdb/testsuite/gdb.base/bp-permanent.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/bp-permanent.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/bp-permanent.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,275 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite.
+
+# Test stepping over permanent breakpoints.
+
+standard_testfile
+
+set options { debug }
+if { ![target_info exists gdb,nosignals] } {
+    lappend options "additional_flags=-DSIGNALS"
+}
+
+if {[build_executable "failed to prepare" $testfile $srcfile $options]} {
+    return -1
+}
+
+set line_bp [gdb_get_line_number "write permanent bp"]
+
+# The test proper.  ALWAYS_INSERTED indicates whether testing in
+# "breakpoint always-inserted" mode.  If SW_WATCHPOINT is true, set a
+# software watchpoint, which forces constantly single-stepping, and
+# exercises stepping the permanent breakpoint while delivering a
+# signal at the same time.
+
+proc test {always_inserted sw_watchpoint} {
+    global line_bp
+    global hex decimal
+    global gdb_prompt
+    global srcfile binfile
+
+    clean_restart $binfile
+
+    if ![runto_main] then {
+	return -1
+    }
+
+    gdb_test "set breakpoint always-inserted $always_inserted"
+
+    if {$sw_watchpoint} {
+	# Watching a convenience variable forces a software
+	# watchpoint.
+	gdb_test "watch \$dummy_convenience" "Watchpoint .*"
+    }
+
+    set address_bp ""
+    set address_after_bp ""
+
+    with_test_prefix "setup" {
+
+	# Set a breakpoint where we'll manually plant a permanent
+	# breakpoint.
+	set test "set probe breakpoint"
+	gdb_test_multiple "break $line_bp" $test {
+	    -re "Breakpoint .* at ($hex).*$gdb_prompt $" {
+		set address_bp $expect_out(1,string)
+		pass $test
+	    }
+	}
+	if {$address_bp == ""} {
+	    return
+	}
+
+	# Get the size of the instruction where the breakpoint will
+	# manually inserted.
+	set test "get size of instruction"
+	gdb_test_multiple "x/2i $address_bp" $test {
+	    -re ".*$hex <test\\+$decimal>:\[^\r\n\]+\r\n\[ \]+($hex).*\.\r\n$gdb_prompt $" {
+		set address_after_bp $expect_out(1,string)
+		pass $test
+	    }
+	}
+	if {$address_after_bp == ""} {
+	    return
+	}
+
+	# Write address range where the breakpoint is inserted to the
+	# corresponding variables in the inferior.
+	gdb_test "p /x addr_bp = $address_bp" " = $address_bp" \
+	    "write addr_bp"
+	gdb_test "p /x addr_after_bp = $address_after_bp" " = $address_after_bp" \
+	    "write addr_after_bp"
+
+	# Run the "setup" function in the inferior.  This memcpy's the
+	# breakpoint instruction to a buffer in the inferior.
+	gdb_test "next" "test.*" "next over setup"
+
+	delete_breakpoints
+
+	# We now have the breakpoint instruction stored in 'buffer'.  Poke it
+	# to memory manually.
+	set count [expr $address_after_bp - $address_bp]
+	for {set i 0} {$i < $count} {incr i} {
+	    gdb_test "p /x addr_bp\[$i\] = buffer\[$i\]" " = .*"
+	}
+    }
+
+    with_test_prefix "basics" {
+	# Run to the permanent breakpoint, just to make sure we've inserted it
+	# correctly.
+	gdb_test "continue" "Program received signal SIGTRAP.*" \
+	    "permanent breakpoint causes random signal"
+
+	# Now set a breakpoint on top, thus creating a permanent breakpoint.
+	gdb_breakpoint "$line_bp"
+
+	# Depending on whether this is a decr_pc_after_break arch, the PC will
+	# be either pointing at the permanent breakpoint address, or just
+	# after.  Set the GDB breakpoint on top, and continue, twice.  At
+	# least once, GDB will need to step-over the permanent breakpoint.
+
+	gdb_test "continue" "Breakpoint .*" "stop at permanent breakpoint"
+
+	gdb_test "p \$prev_counter = counter" " = $decimal"
+
+	gdb_test "continue" "Breakpoint .*" "stop at permanent breakpoint twice"
+
+	# Check that indeed the continue made progress, instead of re-trapping
+	# without advancing.
+	gdb_test "p counter - \$prev_counter" " = 1"
+
+	gdb_test "info breakpoints" \
+	    "breakpoint.*keep.*y.*$hex.*in test at .*$srcfile:$line_bp.*already hit 2 times.*" \
+	    "info breakpoints show enabled breakpoint"
+
+	gdb_test "disable \$bpnum"
+
+	gdb_test "commands\nset \$commands_ran = 1\nend" "" \
+	    "set breakpoint commands"
+
+	gdb_test "info breakpoints" \
+	    "breakpoint.*keep.*n.*$hex.*in test at .*$srcfile:$line_bp.*already hit 2 times.*" \
+	    "info breakpoints shows disabled breakpoint"
+
+	# Run to the permanent breakpoint again.  This time, since it's
+	# disabled, it should act as if we hadn't created it in the first
+	# place.  IOW, we should get a random signal, and, the breakpoint's
+	# command should not run.
+	gdb_test "continue" "Program received signal SIGTRAP.*" \
+	    "disabled permanent breakpoint doesn't explain stop"
+
+	gdb_test "info breakpoints" \
+	    "breakpoint.*keep.*n.*$hex.*in test at .*$srcfile:$line_bp.*already hit 2 times.*" \
+	    "info breakpoints still shows same number of hits"
+
+	gdb_test "print \$commands_ran" " = void" \
+	    "breakpoint commands didn't run"
+
+	# Reenable the breakpoint, and check that it gets hit and accounted
+	# for this time.
+	gdb_test "enable \$bpnum" "" "reenable breakpoint"
+
+	gdb_test "continue" "Breakpoint .*" \
+	    "stop at permanent breakpoint thrice"
+
+	gdb_test "info breakpoints" \
+	    "breakpoint.*keep.*y.*$hex.*in test at .*$srcfile:$line_bp.*already hit 3 times.*" \
+	    "info breakpoints shows one more hit"
+
+	gdb_test "print \$commands_ran" " = 1" "breakpoint commands ran"
+
+	# Check that stepi advances only past the permanent breakpoint, and
+	# not a single instruction more.
+	gdb_test "stepi" "after permanent bp .*" \
+	    "single-step past permanent breakpoint"
+    }
+
+    with_test_prefix "next trips on permanent bp" {
+	delete_breakpoints
+
+	gdb_breakpoint "test_next"
+	gdb_continue_to_breakpoint "test_next"
+
+	gdb_breakpoint "$line_bp"
+	gdb_test "condition \$bpnum 0"
+
+	gdb_test "next" "after next .*"
+    }
+
+    if ![target_info exists gdb,nosignals] {
+
+	with_test_prefix "continue trips on nested permanent bp" {
+	    delete_breakpoints
+
+	    gdb_breakpoint "test_signal_nested"
+	    gdb_continue_to_breakpoint "test_signal_nested"
+
+	    gdb_breakpoint "$line_bp"
+	    gdb_continue_to_breakpoint "permanent bp"
+	    gdb_test "condition \$bpnum 0"
+
+	    # Let SIGALRM trigger.
+	    sleep 2
+
+	    # We're now stopped at a permanent breakpoint, with a
+	    # signal pending.
+	    gdb_breakpoint "test_signal_nested_done"
+	    gdb_continue_to_breakpoint "test_signal_nested_done"
+
+	    # Ensure that the handler did run.  There's one call to
+	    # test in the mainline code, and another in the signal
+	    # handler.
+	    gdb_test "p counter" " = 2"
+	}
+
+	if [can_single_step_to_signal_handler] {
+
+	    with_test_prefix "stepi signal with handler" {
+		delete_breakpoints
+
+		gdb_breakpoint "test_signal_with_handler"
+		gdb_continue_to_breakpoint "test_signal_with_handler"
+
+		gdb_breakpoint "$line_bp"
+
+		gdb_test "continue" "Breakpoint .*" "stop at permanent breakpoint"
+
+		gdb_test "queue-signal SIGUSR1"
+
+		set test "single-step to handler"
+		gdb_test_multiple "stepi" $test {
+		    -re "Program received signal SIGTRAP.*$gdb_prompt $" {
+			fail $test
+		    }
+		    -re "handler .*$gdb_prompt $" {
+			pass $test
+		    }
+		}
+
+		# Check that the mainline PC points at the permanent
+		# breakpoint.
+		gdb_test "up 2" "test .*" "up to mainline code"
+
+		gdb_test "p /x \$pc" " = $address_bp" \
+		    "mainline pc points at permanent breakpoint"
+
+		gdb_test "continue" "Breakpoint .*" \
+		    "stop at permanent breakpoint, out of handler"
+	    }
+
+	    with_test_prefix "stepi signal with no handler" {
+		gdb_breakpoint "test_signal_no_handler"
+		gdb_continue_to_breakpoint "test_signal_no_handler"
+
+		gdb_test "continue" "Breakpoint .*" "stop at permanent breakpoint"
+
+		gdb_test "queue-signal SIGUSR1"
+
+		gdb_test "stepi" "after permanent bp .*" \
+		    "single-step past permanent breakpoint"
+	    }
+	}
+    }
+}
+
+foreach always_inserted {off on} {
+    foreach sw_watchpoint {0 1} {
+	with_test_prefix "always_inserted=$always_inserted, sw_watchpoint=$sw_watchpoint" {
+	    test $always_inserted $sw_watchpoint
+	}
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break1.c ./gdb/testsuite/gdb.base/break1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1992-2014 Free Software Foundation, Inc.
+   Copyright 1992-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -53,14 +53,7 @@ int some_variable;
    These functions are in a separate source file to prevent an
    optimizing compiler from inlining them and optimizing them away. */
 
-#ifdef PROTOTYPES
 int marker1 (void) { return (0); }	/* set breakpoint 15 here */
 int marker2 (int a) { return (1); }	/* set breakpoint 8 here */
 void marker3 (char *a, char *b) {}	/* set breakpoint 17 here */
 void marker4 (long d) { values[0].a_field = d; }	/* set breakpoint 14 here */
-#else
-int marker1 () { return (0); }		/* set breakpoint 16 here */
-int marker2 (a) int a; { return (1); }	/* set breakpoint 9 here */
-void marker3 (a, b) char *a, *b; {}	/* set breakpoint 18 here */
-void marker4 (d) long d; { values[0].a_field = d; }	/* set breakpoint 13 here */
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-always.c ./gdb/testsuite/gdb.base/break-always.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-always.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-always.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-always.exp ./gdb/testsuite/gdb.base/break-always.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-always.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-always.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2008-2014 Free Software Foundation, Inc.
+#   Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break.c ./gdb/testsuite/gdb.base/break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1992-2014 Free Software Foundation, Inc.
+   Copyright 1992-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,51 +15,13 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef vxworks
+#include <stdio.h>
+#include <stdlib.h>
 
-#  include <stdio.h>
-
-/* VxWorks does not supply atoi.  */
-static int
-atoi (z)
-     char *z;
-{
-  int i = 0;
-
-  while (*z >= '0' && *z <= '9')
-    i = i * 10 + (*z++ - '0');
-  return i;
-}
-
-/* I don't know of any way to pass an array to VxWorks.  This function
-   can be called directly from gdb.  */
-
-vxmain (arg)
-char *arg;
-{
-  char *argv[2];
-
-  argv[0] = "";
-  argv[1] = arg;
-  main (2, argv, (char **) 0);
-}
-
-#else /* ! vxworks */
-#  include <stdio.h>
-#  include <stdlib.h>
-#endif /* ! vxworks */
-
-#ifdef PROTOTYPES
 extern int marker1 (void);
 extern int marker2 (int a);
 extern void marker3 (char *a, char *b);
 extern void marker4 (long d);
-#else
-extern int marker1 ();
-extern int marker2 ();
-extern void marker3 ();
-extern void marker4 ();
-#endif
 
 /* We're used by a test that requires malloc, so make sure it is in
    the executable.  */
@@ -73,17 +35,10 @@ void *need_malloc ()
  *	testing stack backtraces and such.
  */
 
-#ifdef PROTOTYPES
 int factorial(int);
 
 int
 main (int argc, char **argv, char **envp)
-#else
-int
-main (argc, argv, envp)
-int argc;
-char *argv[], **envp;
-#endif
 {
     if (argc == 12345) {  /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
 	fprintf (stderr, "usage:  factorial <number>\n");
@@ -103,12 +58,7 @@ char *argv[], **envp;
     return argc;  /* set breakpoint 10 here */
 } /* set breakpoint 10a here */
 
-#ifdef PROTOTYPES
 int factorial (int value)
-#else
-int factorial (value)
-int value;
-#endif
 {
   if (value > 1) {  /* set breakpoint 7 here */
 	value *= factorial (value - 1);
@@ -116,12 +66,7 @@ int value;
     return (value); /* set breakpoint 19 here */
 }
 
-#ifdef PROTOTYPES
 int multi_line_if_conditional (int a, int b, int c)
-#else
-int multi_line_if_conditional (a, b, c)
-  int a, b, c;
-#endif
 {
   if (a    /* set breakpoint 3 here */
       && b
@@ -131,12 +76,7 @@ int multi_line_if_conditional (a, b, c)
     return 1;
 }
 
-#ifdef PROTOTYPES
 int multi_line_while_conditional (int a, int b, int c)
-#else
-int multi_line_while_conditional (a, b, c)
-  int a, b, c;
-#endif
 {
   while (a /* set breakpoint 4 here */
       && b
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-caller-line.c ./gdb/testsuite/gdb.base/break-caller-line.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-caller-line.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-caller-line.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-caller-line.exp ./gdb/testsuite/gdb.base/break-caller-line.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-caller-line.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-caller-line.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-entry.exp ./gdb/testsuite/gdb.base/break-entry.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-entry.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-entry.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break.exp ./gdb/testsuite/gdb.base/break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
+#   Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -77,7 +77,7 @@ set bp_location1 [gdb_get_line_number "s
 # board.  So, to be sure, we do a list command.
 #
 gdb_test "list main" \
-    ".*main \\(argc, argv, envp\\).*" \
+    ".*main \\(int argc, char \\*\\*argv, char \\*\\*envp\\).*" \
     "use `list' to establish default source file"
 gdb_test "break $bp_location1" \
     "Breakpoint.*at.* file .*$srcfile, line $bp_location1\\." \
@@ -126,12 +126,11 @@ if {$hp_aCC_compiler} {
 
 set bp_location7 [gdb_get_line_number "set breakpoint 7 here"]
 set bp_location8 [gdb_get_line_number "set breakpoint 8 here" $srcfile1]
-set bp_location9 [gdb_get_line_number "set breakpoint 9 here" $srcfile1]
 
 gdb_test "info break" \
     "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$main_line.*
-\[0-9\]+\[\t \]+breakpoint     keep y.* in marker2 at .*$srcfile1:($bp_location8|$bp_location9).*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in marker2 at .*$srcfile1:$bp_location8.*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in factorial$proto at .*$srcfile:$bp_location7.*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$bp_location1.*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$bp_location1.*
@@ -358,20 +357,12 @@ gdb_test "disable \$1foo" \
 # run until the breakpoint at main is hit. For non-stubs-using targets.
 #
 gdb_run_cmd
-gdb_expect {
-    -re "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $" {
-	pass "run until function breakpoint"
-    }
-    -re "$gdb_prompt $" {
-	fail "run until function breakpoint"
-    }
-    timeout {
-	fail "run until function breakpoint (timeout)"
-    }
-}
+gdb_test "" \
+    "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*" \
+    "run until function breakpoint"
 
 # Test the 'list' commands sets current file for the 'break LINENO' command.
-set bp_marker1 [gdb_get_line_number "set breakpoint 16 here" ${srcfile1}]
+set bp_marker1 [gdb_get_line_number "set breakpoint 15 here" ${srcfile1}]
 gdb_test "list marker1" ".*"
 gdb_test "break $bp_marker1" "Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file .*${srcfile1}, line ${bp_marker1}\\." \
          "break lineno"
@@ -394,7 +385,7 @@ for {set i 6} {$i >= 1} {incr i -1} {
 #
 # Run until the breakpoint set at a quoted function
 #
-gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, (0x\[0-9a-f\]+ in )?marker2 \\(a=43\\) at .*$srcfile1:($bp_location8|$bp_location9).*" \
+gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, (0x\[0-9a-f\]+ in )?marker2 \\(a=43\\) at .*$srcfile1:$bp_location8.*" \
 		"run until quoted breakpoint"
 #
 # run until the file:function breakpoint at a line number in a file
@@ -652,7 +643,7 @@ gdb_test "break \$foo" \
 # Verify that we can set and trigger a breakpoint in a user-called function.
 #
 gdb_test "break marker2" \
-    "Breakpoint (\[0-9\]*) at .*, line ($bp_location8|$bp_location9).*" \
+    "Breakpoint (\[0-9\]*) at .*, line $bp_location8.*" \
     "set breakpoint on to-be-called function"
 
 gdb_test "print marker2(99)" \
@@ -666,10 +657,10 @@ gdb_test "print marker2(99)" \
 # for hppa*-*-hpux.
 #
 gdb_test_multiple "bt" "backtrace while in called function" {
-    -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*_sr4export.*$gdb_prompt $" {
+    -re "#0\[ \t\]*($hex in )?marker2.*:$bp_location8\r\n#1.*_sr4export.*$gdb_prompt $" {
 	pass "backtrace while in called function"
     }
-    -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*function called from gdb.*$gdb_prompt $" {
+    -re "#0\[ \t\]*($hex in )?marker2.*:$bp_location8\r\n#1.*function called from gdb.*$gdb_prompt $" {
 	pass "backtrace while in called function"
     }
 }
@@ -679,13 +670,13 @@ gdb_test_multiple "bt" "backtrace while 
 # breakpoint inserted by GDB at the program's entry point.
 #
 gdb_test_multiple "finish" "finish from called function" {
-    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.* in _sr4export.*$gdb_prompt $" {
+    -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.* in _sr4export.*$gdb_prompt $" {
 	pass "finish from called function"
     }
-    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*function called from gdb.*$gdb_prompt $" {
+    -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.*function called from gdb.*$gdb_prompt $" {
 	pass "finish from called function"
     }
-    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*Value returned.*$gdb_prompt $" {
+    -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.*Value returned.*$gdb_prompt $" {
 	pass "finish from called function"
     }
 }
@@ -773,14 +764,7 @@ proc test_next_with_recursion {} { 
     # Run until we call factorial with 6
 
     gdb_run_cmd
-    gdb_expect {
-	-re "Break.* factorial .value=6. .*$gdb_prompt $" {}
-	-re ".*$gdb_prompt $" {
-	    fail "run to factorial(6)"
-	    gdb_suppress_tests
-	}
-	timeout { fail "run to factorial(6) (timeout)" ; gdb_suppress_tests }
-    }
+    gdb_test "" "Break.* factorial .value=6. .*" "run to factorial(6)"
 
     # Continue until we call factorial recursively with 5.
 
@@ -871,18 +855,14 @@ gdb_test "break marker4" \
 # run until the breakpoint at main is hit. For non-stubs-using targets.
 #
 gdb_run_cmd
-gdb_expect {
+
+set test "run until function breakpoint, optimized file"
+gdb_test_multiple "" $test {
     -re "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $" {
-	pass "run until function breakpoint, optimized file"
+	pass $test
     }
     -re "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$gdb_prompt $" {
-	pass "run until function breakpoint, optimized file (code motion)"
-    }
-    -re "$gdb_prompt $" {
-	fail "run until function breakpoint, optimized file"
-    }
-    timeout {
-	fail "run until function breakpoint, optimized file (timeout)"
+	pass "$test (code motion)"
     }
 }
 
@@ -899,19 +879,11 @@ gdb_expect {
 # has no exactly matching line symbol, and GDB reports the breakpoint
 # as if it were in the middle of a line rather than at the beginning.
 
-set bp_location13 [gdb_get_line_number "set breakpoint 13 here" $srcfile1]
 set bp_location14 [gdb_get_line_number "set breakpoint 14 here" $srcfile1]
 
 gdb_test_multiple "continue" \
     "run until breakpoint set at small function, optimized file" {
-	-re "Breakpoint $decimal, marker4 \\(d=(d@entry=)?177601976\\) at .*$srcfile1:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
-	    pass "run until breakpoint set at small function, optimized file"
-	}
-	-re "Breakpoint $decimal, $hex in marker4 \\(d=(d@entry=)?177601976\\) at .*$srcfile1:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
-	    pass "run until breakpoint set at small function, optimized file"
-	}
 	-re "Breakpoint $decimal, marker4 \\(d=(d@entry=)?177601976\\) at .*$srcfile1:$bp_location14\[\r\n\]+$bp_location14\[\t \]+void marker4.*" {
-	    # marker4() is defined at line 46 when compiled with -DPROTOTYPES
 	    pass "run until breakpoint set at small function, optimized file (line bp_location14)"
 	}
 	-re "Breakpoint $decimal, factorial \\(.*\\) .*\{\r\n$gdb_prompt" {
@@ -945,15 +917,14 @@ gdb_test "rbreak main" \
 
 # Run to a breakpoint.  Fail if we see "Junk at end of arguments".
 gdb_run_cmd
-gdb_expect {
+
+set test "rbreak junk"
+gdb_test_multiple "" $test {
     -re "Junk at end of arguments" {
-	fail "rbreak junk"
+	fail $test
     }
     -re ".*Breakpoint \[0-9\]+,.*$gdb_prompt $" {
-	pass "rbreak junk"
-    }
-    timeout {
-	fail "rbreak junk (timeout)"
+	pass $test
     }
 }
 
@@ -969,10 +940,3 @@ gdb_test_no_output "set \$foo=81.5" \
 gdb_test "break $srcfile:\$foo" \
     "Convenience variables used in line specs must have integer values.*" \
     "set breakpoint via non-integer convenience variable disallowed"
-
-# Reset the default arguments for VxWorks
-if [istarget "*-*-vxworks*"] {
-    set timeout 10
-    verbose "Timeout is now $timeout seconds" 2
-    gdb_test_no_output "set args main"
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-idempotent.c ./gdb/testsuite/gdb.base/break-idempotent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-idempotent.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-idempotent.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-idempotent.exp ./gdb/testsuite/gdb.base/break-idempotent.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-idempotent.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-idempotent.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-inline.c ./gdb/testsuite/gdb.base/break-inline.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-inline.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-inline.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-inline.exp ./gdb/testsuite/gdb.base/break-inline.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-inline.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-inline.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-interp.exp ./gdb/testsuite/gdb.base/break-interp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-interp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-interp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-interp-lib.c ./gdb/testsuite/gdb.base/break-interp-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-interp-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-interp-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,6 +19,7 @@
 #include <unistd.h>
 #include <assert.h>
 #include <stdio.h>
+#include <string.h>
 
 /* Force REL->RELA conversion on i386, see "Prelink", March 4, 2004.  */
 volatile int v[2];
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-interp-main.c ./gdb/testsuite/gdb.base/break-interp-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-interp-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-interp-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-main-file-remove-fail.c ./gdb/testsuite/gdb.base/break-main-file-remove-fail.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-main-file-remove-fail.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-main-file-remove-fail.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp ./gdb/testsuite/gdb.base/break-main-file-remove-fail.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-main-file-remove-fail.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc ./gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp ./gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -41,9 +41,23 @@ if {[build_executable_from_specs $testfi
 
 clean_restart $testfile
 
-# Single hex digit
-set xd {[0-9a-f]}
+proc set_breakpoint_on_gcd_function {} {
+    # Single hex digit
+    set xd {[0-9a-f]}
+
+    # This accepts e.g. "Breakpoint 1 at 0x40968a" (fixed GDB)
+    # but rejects e.g. "Breakpoint 1 at 0x4" (broken GDB).
+    gdb_test "b [gdb_get_line_number "gdb break here"]" \
+	"Breakpoint \[0-9\] at 0x${xd}${xd}+: .*"
+}
+
+set_breakpoint_on_gcd_function
 
-# This accepts e.g. "Breakpoint 1 at 0x40968a" (fixed GDB)
-# but rejects e.g. "Breakpoint 1 at 0x4" (broken GDB).
-gdb_test "b [gdb_get_line_number "gdb break here"]" "Breakpoint \[0-9\] at 0x${xd}${xd}+: .*"
+set saved_gdbflags $GDBFLAGS
+set GDBFLAGS "$GDBFLAGS --readnow"
+clean_restart ${testfile}
+set GDBFLAGS $saved_gdbflags
+
+with_test_prefix "readnow" {
+    set_breakpoint_on_gcd_function
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/breakpoint-in-ro-region.c ./gdb/testsuite/gdb.base/breakpoint-in-ro-region.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/breakpoint-in-ro-region.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/breakpoint-in-ro-region.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,37 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+volatile int i;
+
+int
+main (void)
+{
+  i = 0;
+  i = 0;
+  i = 0;
+  i = 0;
+  i = 0;
+  i = 0;
+  i = 0;
+  i = 0;
+  i = 0;
+  i = 0;
+  i = 0;
+  i = 0;
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp ./gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,246 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite
+
+standard_testfile
+
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
+    return -1
+}
+
+if ![runto main] {
+    return -1
+}
+
+delete_breakpoints
+
+# Probe for hardware stepping.
+
+proc probe_target_hardware_step {} {
+    global gdb_prompt
+
+    set hw_step 0
+
+    gdb_test_no_output "set debug target 1"
+    set test "probe target hardware step"
+    gdb_test_multiple "si" $test {
+	-re "to_resume \\(\[^\r\n\]+, step, .*$gdb_prompt $" {
+	    set hw_step 1
+	    pass $test
+	}
+	-re "$gdb_prompt $" {
+	    pass $test
+	}
+    }
+    gdb_test "set debug target 0" "->to_log_command.*\\).*"
+    return $hw_step
+}
+
+# Get the bounds of a function, and write them to FUNC_LO (inclusive),
+# FUNC_HI (exclusive).  Return true on success and false on failure.
+proc get_function_bounds {function func_lo func_hi} {
+    global gdb_prompt
+    global hex decimal
+
+    upvar $func_lo lo
+    upvar $func_hi hi
+
+    set lo ""
+    set size ""
+
+    set test "get lo address of $function"
+    gdb_test_multiple "disassemble $function" $test {
+	-re "($hex) .*$hex <\\+($decimal)>:\[^\r\n\]+\r\nEnd of assembler dump\.\r\n$gdb_prompt $" {
+	    set lo $expect_out(1,string)
+	    set size $expect_out(2,string)
+	    pass $test
+	}
+    }
+
+    if { $lo == "" || $size == "" } {
+	return false
+    }
+
+    # Account for the size of the last instruction.
+    set test "get hi address of $function"
+    gdb_test_multiple "x/2i $function+$size" $test {
+	-re ".*$hex <$function\\+$size>:\[^\r\n\]+\r\n\[ \]+($hex).*\.\r\n$gdb_prompt $" {
+	    set hi $expect_out(1,string)
+	    pass $test
+	}
+    }
+
+    if { $hi == "" } {
+	return false
+    }
+
+    # Remove unnecessary leading 0's (0x00000ADDR => 0xADDR) so we can
+    # easily do matches.  Disassemble includes leading zeros, while
+    # x/i doesn't.
+    regsub -all "0x0\+" $lo "0x" lo
+    regsub -all "0x0\+" $hi "0x" hi
+
+    return true
+}
+
+# Get the address where the thread is currently stopped.
+proc get_curr_insn {} {
+    global gdb_prompt
+    global hex
+
+    set pc ""
+    set test "get current insn"
+    gdb_test_multiple "p /x \$pc" $test {
+	-re " = ($hex)\r\n$gdb_prompt $" {
+	    set pc $expect_out(1,string)
+	    pass $test
+	}
+    }
+
+    return $pc
+}
+
+# Get the address of where a single-step should land.
+proc get_next_insn {} {
+    global gdb_prompt
+    global hex
+
+    set next ""
+    set test "get next insn"
+    gdb_test_multiple "x/2i \$pc" $test {
+	-re "$hex .*:\[^\r\n\]+\r\n\[ \]+($hex).*\.\r\n$gdb_prompt $" {
+	    set next $expect_out(1,string)
+	    pass $test
+	}
+    }
+
+    return $next
+}
+
+set hw_step [probe_target_hardware_step]
+
+if ![get_function_bounds "main" main_lo main_hi] {
+    # Can't do the following tests if main's bounds are unknown.
+    return -1
+}
+
+# Manually create a read-only memory region that covers 'main'.
+gdb_test_no_output "mem $main_lo $main_hi ro" \
+    "create read-only mem region covering main"
+
+# So that we don't fail inserting breakpoints on addresses outside
+# main, like the internal event breakpoints.
+gdb_test_no_output "set mem inaccessible-by-default off"
+
+# So we get an immediate warning/error without needing to resume the
+# target.
+gdb_test_no_output "set breakpoint always-inserted on"
+
+# Disable the automatic fallback to HW breakpoints.  We want a
+# software breakpoint to be attempted, and to fail.
+gdb_test_no_output "set breakpoint auto-hw off"
+
+# Confirm manual writes to the read-only memory region fail.
+gdb_test "p /x *(char *) $main_lo = 1" \
+    "Cannot access memory at address $main_lo" \
+    "writing to read-only memory fails"
+
+# Ensure that inserting a software breakpoint in a known-read-only
+# region fails.
+gdb_test "break *$main_lo" \
+    "Cannot insert breakpoint .*Cannot set software breakpoint at read-only address $main_lo.*" \
+    "inserting software breakpoint in read-only memory fails"
+
+delete_breakpoints
+
+set supports_hbreak 0
+set test "probe hbreak support"
+gdb_test_multiple "hbreak *$main_lo" $test {
+    -re "You may have requested too many.*$gdb_prompt $" {
+	pass "$test (no support)"
+    }
+    -re "No hardware breakpoint support.*$gdb_prompt $" {
+	pass "$test (no support)"
+    }
+    -re "$gdb_prompt $" {
+	pass "$test (support)"
+	set supports_hbreak 1
+    }
+}
+
+delete_breakpoints
+
+# Check that the "auto-hw on/off" setting affects single-step
+# breakpoints as expected, by stepping through the read-only region.
+# If the target does hardware stepping, we won't exercise that aspect,
+# but we should be able to step through the region without seeing the
+# hardware breakpoint or read-only address errors.
+proc test_single_step { always_inserted auto_hw } {
+    global gdb_prompt
+    global decimal
+    global supports_hbreak
+    global hw_step
+
+    gdb_test_no_output "set breakpoint always-inserted $always_inserted"
+    gdb_test_no_output "set breakpoint auto-hw $auto_hw"
+
+    # Get the address of the current instruction so we know where SI is
+    # starting from.
+    set curr_insn [get_curr_insn]
+
+    # Get the address of the next instruction so we know where SI should
+    # land.
+    set next_insn [get_next_insn]
+
+    set test "step in ro region"
+    gdb_test_multiple "si" $test {
+	-re "Could not insert hardware breakpoints.*$gdb_prompt $" {
+	    gdb_assert {!$hw_step && $auto_hw == "on" && !$supports_hbreak} \
+		"$test (cannot insert hw break)"
+	}
+	-re "Cannot set software breakpoint at read-only address $next_insn.*$gdb_prompt $" {
+	    gdb_assert {!$hw_step && $auto_hw == "off"} \
+		"$test (cannot insert sw break)"
+	}
+	-re "^si\r\nNote: automatically using hardware breakpoints for read-only addresses\.\r\n${decimal}\[ \t\]+i = 0;\r\n$gdb_prompt $" {
+	    gdb_assert {!$hw_step && $auto_hw == "on" && $supports_hbreak} \
+		"$test (auto-hw)"
+	}
+	-re "^si\r\n${decimal}\[ \t\]+i = 0;\r\n$gdb_prompt $" {
+	    gdb_assert {$hw_step || ($auto_hw == "on" && $supports_hbreak)} \
+		"$test (no error)"
+	}
+    }
+
+    gdb_test "maint info breakpoints 0" \
+	"No breakpoint or watchpoint matching '0'\." \
+	"single-step breakpoint is not left behind"
+
+    # Confirm the thread really advanced.
+    if {$hw_step || ($auto_hw == "on" && $supports_hbreak)} {
+	gdb_test "p /x \$pc" " = $next_insn" "thread advanced"
+    } else {
+	gdb_test "p /x \$pc" " = $curr_insn" "thread did not advance"
+    }
+}
+
+foreach always_inserted {"off" "on"} {
+    foreach auto_hw {"off" "on"} {
+	with_test_prefix "always-inserted $always_inserted: auto-hw $auto_hw" {
+	    test_single_step $always_inserted $auto_hw
+	}
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/breakpoint-shadow.c ./gdb/testsuite/gdb.base/breakpoint-shadow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/breakpoint-shadow.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/breakpoint-shadow.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/breakpoint-shadow.exp ./gdb/testsuite/gdb.base/breakpoint-shadow.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/breakpoint-shadow.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/breakpoint-shadow.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-probes.c ./gdb/testsuite/gdb.base/break-probes.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-probes.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-probes.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-probes.exp ./gdb/testsuite/gdb.base/break-probes.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-probes.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-probes.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -58,13 +58,21 @@ gdb_test_multiple "bt" $test {
 }
 
 if { $using_probes } {
+    set sysroot ""
+    set test "show sysroot"
+    gdb_test_multiple $test $test {
+	-re "The current system root is \"(.*)\"\..*${gdb_prompt} $" {
+	    set sysroot $expect_out(1,string)
+	}
+    }
+
     # Run til it loads our library
     set test "run til our library loads"
     set not_loaded_library 1
     while { $not_loaded_library } {
 	set not_loaded_library 0
 	gdb_test_multiple "c" $test {
-	    -re "Inferior loaded $binfile_lib\\M.*$gdb_prompt $" {
+	    -re "Inferior loaded $sysroot$binfile_lib\\M.*$gdb_prompt $" {
 		pass $test
 	    }
 	    -re "Stopped due to shared library event\\M.*$gdb_prompt $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-probes-solib.c ./gdb/testsuite/gdb.base/break-probes-solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-probes-solib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-probes-solib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-unload-file.c ./gdb/testsuite/gdb.base/break-unload-file.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-unload-file.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-unload-file.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-unload-file.exp ./gdb/testsuite/gdb.base/break-unload-file.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/break-unload-file.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-unload-file.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-ar-st.c ./gdb/testsuite/gdb.base/call-ar-st.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-ar-st.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-ar-st.c	2015-01-20 02:05:39.000000000 +0000
@@ -141,13 +141,7 @@ struct int_char_combo_t {
  * IN     id_int student       -- enumerated type
  * IN     colors shirt         -- enumerated type
  *****************************************************************/
-#ifdef PROTOTYPES
 void print_student_id_shirt_color (id_int student, colors shirt)
-#else
-void print_student_id_shirt_color ( student, shirt ) 
- id_int student;
- colors shirt;
-#endif
 {
 
  printf("student id : %d\t", student);
@@ -196,12 +190,7 @@ void print_student_id_shirt_color ( stud
  * PRINT_CHAR_ARRAY : 
  * IN     char  array_c[]      -- character array 
  *****************************************************************/
-#ifdef PROTOTYPES
 void print_char_array (char array_c[])
-#else
-void print_char_array ( array_c ) 
-     char    array_c[];
-#endif
 {
 
   int index;
@@ -219,12 +208,7 @@ void print_char_array ( array_c ) 
  * PRINT_DOUBLE_ARRAY : 
  * IN     double array_d[]      -- array of doubles
  *****************************************************************/
-#ifdef PROTOTYPES
 void print_double_array (double  array_d[])
-#else
-void print_double_array (array_d) 
-     double  array_d[];
-#endif
 {
 
   int index;
@@ -242,12 +226,7 @@ void print_double_array (array_d) 
  * PRINT_FLOAT_ARRAY: 
  * IN     float array_f[]      -- array of floats 
  *****************************************************************/
-#ifdef PROTOTYPES
 void print_float_array (float array_f[])
-#else
-void print_float_array ( array_f )
-     float array_f[];
-#endif
 {
 
   int index;
@@ -266,12 +245,7 @@ void print_float_array ( array_f )
  * PRINT_INT_ARRAY: 
  * IN     int  array_i[]      -- array of integers 
  *****************************************************************/
-#ifdef PROTOTYPES
 void print_int_array (int array_i[])
-#else
-void print_int_array ( array_i )
-     int array_i[];
-#endif
 {
 
   int index;
@@ -293,18 +267,10 @@ void print_int_array ( array_i )
  * IN     float array_f[]      -- array of floats 
  * IN     double array_d[]      -- array of doubles 
  *****************************************************************/
-#ifdef PROTOTYPES
 void print_all_arrays(int array_i[], char array_c[], float array_f[], double array_d[])
-#else
-void print_all_arrays( array_i, array_c, array_f, array_d )
-     int array_i[];
-     char array_c[];
-     float array_f[];
-     double array_d[];
-#endif
 {
-  print_int_array(array_i);
-  print_char_array(array_c);
+  print_int_array(array_i);	/* -step1- */
+  print_char_array(array_c);	/* -next1- */
   print_float_array(array_f);
   print_double_array(array_d);
 }
@@ -325,12 +291,7 @@ void loop_count () {
  * A do nothing function. Used to provide a point at which calls can be made.  
  * IN  int seed
  *****************************************************************/
-#ifdef PROTOTYPES
 void compute_with_small_structs (int seed)
-#else
-void compute_with_small_structs ( seed ) 
- int seed;
-#endif
 {
 
      struct small_rep_info_t array[4];
@@ -360,18 +321,7 @@ void compute_with_small_structs ( seed )
  * IN  unsigned e  -- 0 or 1 
  * IN  unsigned o  -- 0 or 1 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_bit_flags (struct bit_flags_t *bit_flags, unsigned a, unsigned b, unsigned g, unsigned d, unsigned e, unsigned o)
-#else
-void init_bit_flags ( bit_flags, a, b, g, d, e, o )
-struct bit_flags_t *bit_flags;
-unsigned a;
-unsigned b;
-unsigned g;
-unsigned d;
-unsigned e;
-unsigned o; 
-#endif
 {
 
    bit_flags->alpha = a;
@@ -397,23 +347,10 @@ unsigned o; 
  * IN  unsigned e  -- 0 or 1 
  * IN  unsigned o  -- 0 or 1 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_bit_flags_combo (struct bit_flags_combo_t *bit_flags_combo, unsigned a, unsigned b, char ch1, unsigned g, unsigned d, char ch2, unsigned e, unsigned o)
-#else
-void init_bit_flags_combo ( bit_flags_combo, a, b, ch1, g, d, ch2, e, o )
-     struct bit_flags_combo_t *bit_flags_combo;
-     unsigned a;
-     unsigned b;
-     char     ch1;
-     unsigned g;
-     unsigned d;
-     char     ch2;
-     unsigned e;
-     unsigned o; 
-#endif
 {
 
-   bit_flags_combo->alpha = a;
+   bit_flags_combo->alpha = a;	/* -step3- */
    bit_flags_combo->beta = b;
    bit_flags_combo->ch1 = ch1;
    bit_flags_combo->gamma = g;
@@ -429,13 +366,7 @@ void init_bit_flags_combo ( bit_flags_co
  * OUT  struct one_double_t *one_double  -- structure to fill 
  * IN   double init_val
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_one_double (struct one_double_t *one_double, double init_val)
-#else
-void init_one_double ( one_double, init_val )
-     struct one_double_t *one_double;
-     double init_val; 
-#endif
 {
 
      one_double->double1  = init_val;
@@ -447,14 +378,7 @@ void init_one_double ( one_double, init_
  * IN  float init_val1 
  * IN  float init_val2 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_two_floats (struct two_floats_t *two_floats, float init_val1, float init_val2)
-#else
-void init_two_floats ( two_floats, init_val1, init_val2 )
-     struct two_floats_t *two_floats; 
-     float init_val1;
-     float init_val2;
-#endif
 {
      two_floats->float1 = init_val1;
      two_floats->float2 = init_val2;
@@ -466,14 +390,7 @@ void init_two_floats ( two_floats, init_
  * IN  char init_val1 
  * IN  char init_val2 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_two_chars (struct two_char_t *two_char, char init_val1, char init_val2)
-#else
-void init_two_chars ( two_char, init_val1, init_val2 )
-     struct two_char_t *two_char;
-     char init_val1;
-     char init_val2; 
-#endif
 {
 
      two_char->ch1 = init_val1;
@@ -487,15 +404,7 @@ void init_two_chars ( two_char, init_val
  * IN  char init_val2 
  * IN  char init_val3 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_three_chars (struct three_char_t *three_char, char init_val1, char init_val2, char init_val3)
-#else
-void init_three_chars ( three_char, init_val1, init_val2, init_val3 )  
-     struct three_char_t *three_char; 
-     char init_val1;
-     char init_val2;
-     char init_val3;
-#endif
 {
 
      three_char->ch1 = init_val1;
@@ -512,17 +421,7 @@ void init_three_chars ( three_char, init
  * IN  char init_val4 
  * IN  char init_val5 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_five_chars (struct five_char_t *five_char, char init_val1, char init_val2, char init_val3, char init_val4, char init_val5)
-#else
-void init_five_chars ( five_char, init_val1, init_val2, init_val3,init_val4,init_val5 )
-     struct five_char_t *five_char;
-     char init_val1;
-     char init_val2;
-     char init_val3;
-     char init_val4;
-     char init_val5;
-#endif
 {
      five_char->ch1 = init_val1;
      five_char->ch2 = init_val2;
@@ -537,14 +436,7 @@ void init_five_chars ( five_char, init_v
  * IN  int  init_val1 
  * IN  char init_val2 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_int_char_combo (struct int_char_combo_t *combo, int init_val1, char init_val2)
-#else
-void init_int_char_combo ( combo, init_val1, init_val2 )
-     struct int_char_combo_t *combo;
-     int init_val1; 
-     char init_val2; 
-#endif
 {
 
      combo->int1 = init_val1;
@@ -556,13 +448,7 @@ void init_int_char_combo ( combo, init_v
  * OUT struct small_rep_into_t *small_struct -- structure to be filled
  * IN  int  seed 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_struct_rep(struct small_rep_info_t *small_struct, int seed)
-#else
-void init_struct_rep( small_struct, seed )
-     struct small_rep_info_t *small_struct;
-     int    seed;
-#endif
 {
 
       small_struct->value = 2 + (seed*2); 
@@ -574,7 +460,6 @@ void init_struct_rep( small_struct, seed
  * Takes all the small structures as input and calls the appropriate
  * initialization routine for each structure
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_small_structs (
      struct small_rep_info_t  *struct1,
      struct small_rep_info_t  *struct2,
@@ -591,25 +476,6 @@ void init_small_structs (
      struct two_floats_t      *f1,
      struct two_floats_t      *f2,
      struct two_floats_t      *f3)
-#else
-void init_small_structs (struct1, struct2, struct3,struct4,flags,flags_combo,
-three_char, five_char,int_char_combo, d1, d2,d3,f1,f2,f3)
-     struct small_rep_info_t  *struct1;
-     struct small_rep_info_t  *struct2;
-     struct small_rep_info_t  *struct3;
-     struct small_rep_info_t  *struct4;
-     struct bit_flags_t       *flags;
-     struct bit_flags_combo_t *flags_combo;
-     struct three_char_t      *three_char;
-     struct five_char_t       *five_char;
-     struct int_char_combo_t  *int_char_combo;
-     struct one_double_t      *d1;
-     struct one_double_t      *d2;
-     struct one_double_t      *d3;
-     struct two_floats_t      *f1;
-     struct two_floats_t      *f2;
-     struct two_floats_t      *f3;
-#endif
 {
 
      init_bit_flags(flags, (unsigned)1, (unsigned)0, (unsigned)1, 
@@ -636,7 +502,6 @@ three_char, five_char,int_char_combo, d1
  * PRINT_TEN_DOUBLES : 
  * ?????????????????????????????
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_ten_doubles (
      double d1,
      double d2,
@@ -648,19 +513,6 @@ void print_ten_doubles (
      double d8,
      double d9,
      double d10)
-#else
-void print_ten_doubles ( d1, d2, d3, d4, d5, d6, d7, d8, d9, d10 )
-     double d1;
-     double d2;
-     double d3;
-     double d4;
-     double d5;
-     double d6;
-     double d7;
-     double d8;
-     double d9;
-     double d10; 
-#endif
 {
 
   printf("Two Doubles : %f\t%f\n", d1, d2);
@@ -674,12 +526,7 @@ void print_ten_doubles ( d1, d2, d3, d4,
  * PRINT_BIT_FLAGS : 
  * IN struct bit_flags_t bit_flags 
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_bit_flags (struct bit_flags_t bit_flags)
-#else
-void print_bit_flags ( bit_flags )
-struct bit_flags_t bit_flags;
-#endif
 {
 
      if (bit_flags.alpha) printf("alpha\n");
@@ -694,12 +541,7 @@ struct bit_flags_t bit_flags;
  * PRINT_BIT_FLAGS_COMBO : 
  * IN struct bit_flags_combo_t bit_flags_combo 
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_bit_flags_combo (struct bit_flags_combo_t bit_flags_combo)
-#else
-void print_bit_flags_combo ( bit_flags_combo )
-     struct bit_flags_combo_t bit_flags_combo;
-#endif
 {
 
      if (bit_flags_combo.alpha) printf("alpha\n");
@@ -715,12 +557,7 @@ void print_bit_flags_combo ( bit_flags_c
  * PRINT_ONE_DOUBLE : 
  * IN struct one_double_t one_double 
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_one_double (struct one_double_t one_double)
-#else
-void print_one_double ( one_double )
-struct one_double_t one_double;
-#endif
 {
 
      printf("Contents of one_double_t: \n\n");
@@ -731,12 +568,7 @@ struct one_double_t one_double;
  * PRINT_TWO_FLOATS : 
  * IN struct two_floats_t two_floats 
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_two_floats (struct two_floats_t two_floats)
-#else
-void print_two_floats ( two_floats )
-struct two_floats_t two_floats; 
-#endif
 {
 
      printf("Contents of two_floats_t: \n\n");
@@ -747,12 +579,7 @@ struct two_floats_t two_floats; 
  * PRINT_TWO_CHARS : 
  * IN struct two_char_t two_char
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_two_chars (struct two_char_t two_char)
-#else
-void print_two_chars ( two_char )
-struct two_char_t two_char; 
-#endif
 {
 
      printf("Contents of two_char_t: \n\n");
@@ -763,12 +590,7 @@ struct two_char_t two_char; 
  * PRINT_THREE_CHARS : 
  * IN struct three_char_t three_char
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_three_chars (struct three_char_t three_char)
-#else
-void print_three_chars ( three_char )
-struct three_char_t three_char;
-#endif
 {
 
      printf("Contents of three_char_t: \n\n");
@@ -779,12 +601,7 @@ struct three_char_t three_char;
  * PRINT_FIVE_CHARS : 
  * IN struct five_char_t five_char
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_five_chars (struct five_char_t five_char)
-#else
-void print_five_chars ( five_char ) 
-struct five_char_t five_char; 
-#endif
 {
 
      printf("Contents of five_char_t: \n\n");
@@ -797,12 +614,7 @@ struct five_char_t five_char; 
  * PRINT_INT_CHAR_COMBO : 
  * IN struct int_char_combo_t int_char_combo
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_int_char_combo (struct int_char_combo_t int_char_combo)
-#else
-void print_int_char_combo ( int_char_combo )
-struct int_char_combo_t int_char_combo;
-#endif
 {
 
      printf("Contents of int_char_combo_t: \n\n");
@@ -817,17 +629,10 @@ struct int_char_combo_t int_char_combo;
  * IN struct small_rep_info_t  struct2
  * IN struct small_rep_info_t  struct3
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_struct_rep(
      struct small_rep_info_t struct1,
      struct small_rep_info_t struct2,
      struct small_rep_info_t struct3)
-#else
-void print_struct_rep( struct1, struct2, struct3)
-     struct small_rep_info_t struct1;
-     struct small_rep_info_t struct2;
-     struct small_rep_info_t struct3;
-#endif
 {
 
 
@@ -849,21 +654,12 @@ void print_struct_rep( struct1, struct2,
  * IN struct small_rep_info_t  struct3
  * IN struct small_rep_info_t  struct4
  ****************************************************************/
-#ifdef PROTOTYPES
 void sum_struct_print (
      int seed,
      struct small_rep_info_t struct1,
      struct small_rep_info_t struct2, 
      struct small_rep_info_t struct3,
      struct small_rep_info_t struct4)
-#else
-void sum_struct_print ( seed, struct1, struct2, struct3, struct4) 
-     int seed;
-     struct small_rep_info_t struct1;
-     struct small_rep_info_t struct2; 
-     struct small_rep_info_t struct3; 
-     struct small_rep_info_t struct4; 
-#endif
 {
      int sum;
 
@@ -878,7 +674,6 @@ void sum_struct_print ( seed, struct1, s
  * All of the small structures of odd sizes (40 bits, 8bits, etc.)
  * are pushed onto the stack.
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_small_structs (
      struct small_rep_info_t  struct1,
      struct small_rep_info_t  struct2,
@@ -895,25 +690,6 @@ void print_small_structs (
      struct two_floats_t      f1,
      struct two_floats_t      f2,
      struct two_floats_t      f3)
-#else
-void print_small_structs ( struct1, struct2, struct3,  struct4, flags, 
-flags_combo, three_char, five_char, int_char_combo, d1, d2,d3,f1,f2,f3)
-     struct small_rep_info_t  struct1;
-     struct small_rep_info_t  struct2;
-     struct small_rep_info_t  struct3;
-     struct small_rep_info_t  struct4;
-     struct bit_flags_t       flags;
-     struct bit_flags_combo_t flags_combo;
-     struct three_char_t      three_char;
-     struct five_char_t       five_char;
-     struct int_char_combo_t  int_char_combo;
-     struct one_double_t      d1;
-     struct one_double_t      d2;
-     struct one_double_t      d3;
-     struct two_floats_t      f1;
-     struct two_floats_t      f2;
-     struct two_floats_t      f3;
-#endif
 {
    print_bit_flags(flags);
    print_bit_flags_combo(flags_combo);
@@ -939,7 +715,6 @@ flags_combo, three_char, five_char, int_
  * may force more space to be pushed onto the stack as part of the callers
  * frame.
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_long_arg_list (
      double a,
      double b,
@@ -962,34 +737,8 @@ void print_long_arg_list (
      struct two_floats_t      f1,
      struct two_floats_t      f2,
      struct two_floats_t      f3)
-#else
-void print_long_arg_list ( a, b, c, d, e, f, struct1, struct2, struct3, 
-struct4, flags, flags_combo, three_char, five_char, int_char_combo, d1,d2,d3,
-f1, f2, f3 )
-     double a;
-     double b;
-     int c;
-     int d;
-     int e;
-     int f;
-     struct small_rep_info_t  struct1;
-     struct small_rep_info_t  struct2;
-     struct small_rep_info_t  struct3;
-     struct small_rep_info_t  struct4;
-     struct bit_flags_t       flags;
-     struct bit_flags_combo_t flags_combo;
-     struct three_char_t      three_char;
-     struct five_char_t       five_char;
-     struct int_char_combo_t  int_char_combo;
-     struct one_double_t      d1;
-     struct one_double_t      d2;
-     struct one_double_t      d3;
-     struct two_floats_t      f1;
-     struct two_floats_t      f2;
-     struct two_floats_t      f3;
-#endif
 {
-    printf("double : %f\n", a);
+    printf("double : %f\n", a);	/* -step2- */
     printf("double : %f\n", b);
     printf("int : %d\n", c);
     printf("int : %d\n", d);
@@ -1001,12 +750,7 @@ f1, f2, f3 )
 }
 
 
-#ifdef PROTOTYPES
 void print_one_large_struct (struct array_rep_info_t linked_list1)
-#else
-void print_one_large_struct( linked_list1 )
-     struct array_rep_info_t linked_list1;
-#endif
 {
 
  /* printf("Contents of linked list1: \n\n");
@@ -1027,17 +771,10 @@ void print_one_large_struct( linked_list
  * IN struct array_rep_info_t linked_list2
  * IN struct array_rep_info_t linked_list3
  ****************************************************************/
-#ifdef PROTOTYPES
 void print_array_rep(
      struct array_rep_info_t linked_list1,
      struct array_rep_info_t linked_list2,
      struct array_rep_info_t linked_list3)
-#else
-void print_array_rep( linked_list1, linked_list2, linked_list3 )
-     struct array_rep_info_t linked_list1;
-     struct array_rep_info_t linked_list2;
-     struct array_rep_info_t linked_list3;
-#endif
 {
 
   int index;
@@ -1083,21 +820,12 @@ void print_array_rep( linked_list1, link
  * IN struct array_rep_info_t linked_list3
  * IN struct array_rep_info_t linked_list4
  ****************************************************************/
-#ifdef PROTOTYPES
 void sum_array_print (
      int seed,
      struct array_rep_info_t linked_list1,
      struct array_rep_info_t linked_list2,
      struct array_rep_info_t linked_list3,
      struct array_rep_info_t linked_list4)
-#else
-void sum_array_print ( seed, linked_list1, linked_list2, linked_list3,linked_list4)
-     int seed;
-     struct array_rep_info_t linked_list1;
-     struct array_rep_info_t linked_list2;
-     struct array_rep_info_t linked_list3;
-     struct array_rep_info_t linked_list4;
-#endif
 {
      int index;
      int sum;
@@ -1121,15 +849,9 @@ void sum_array_print ( seed, linked_list
  * IN struct array_rep_info_t *linked_list
  * IN int    seed
  ****************************************************************/
-#ifdef PROTOTYPES
 void init_array_rep(
      struct array_rep_info_t *linked_list,
      int    seed)
-#else
-void init_array_rep( linked_list, seed )
-     struct array_rep_info_t *linked_list;
-     int    seed;
-#endif
 {
 
   int index;
@@ -1206,18 +928,18 @@ int main ()  {
       float_array[index] = index/7.02;
   }
 
-  for (index = 0; index < 50; index++) {
+  for (index = 0; index < 50; index++) { /* -tbreak1- */
       integer_array[index] = -index;
   }
 
   /* Print arrays
    */
   print_char_array(char_array);
-  print_double_array(double_array);
+  print_double_array(double_array); /* -tbreak2- */
   print_float_array(float_array);
   print_student_id_shirt_color(student_id, my_shirt); 
   print_int_array(integer_array);
-  print_all_arrays(integer_array, char_array, float_array, double_array);
+  print_all_arrays(integer_array, char_array, float_array, double_array); /* -tbreak3- */
 
   /* Allocate space for large structures 
    */
@@ -1233,12 +955,12 @@ int main ()  {
   init_array_rep(list3, 5);
   init_array_rep(list4, 10);
   printf("HELLO WORLD\n");
-  printf("BYE BYE FOR NOW\n");
-  printf("VERY GREEN GRASS\n");
+  printf("BYE BYE FOR NOW\n");	/* -tbreak4- */
+  printf("VERY GREEN GRASS\n");	/* -next2- */
 
   /* Print large structures 
    */
-  sum_array_print(10, *list1, *list2, *list3, *list4);
+  sum_array_print(10, *list1, *list2, *list3, *list4); /* -tbreak5- */
   print_array_rep(*list1, *list2, *list3);
   print_one_large_struct(*list1);
 
@@ -1278,12 +1000,12 @@ int main ()  {
    */
   a = 22.25;
   b = 33.375;
-  c = 0;
+  c = 0;			/* -tbreak6- */
   d = -25;
   e = 100;
   f = 2345;
 
-  print_long_arg_list ( a, b, c, d, e, f, *struct1, *struct2, *struct3, *struct4, 
+  print_long_arg_list ( a, b, c, d, e, f, *struct1, *struct2, *struct3, *struct4, /* -tbreak7- */
 			*flags, *flags_combo, *three_char, *five_char, *int_char_combo,
 			*d1, *d2, *d3, *f1, *f2, *f3);
 
@@ -1297,18 +1019,18 @@ int main ()  {
   init_two_floats ( f3, -2.345, 1.0); 
   init_bit_flags(flags, (unsigned)1, (unsigned)0, (unsigned)1, 
 		 (unsigned)0, (unsigned)1, (unsigned)0 ); 
-  init_bit_flags_combo(flags_combo, (unsigned)1, (unsigned)0, 'y',
+  init_bit_flags_combo(flags_combo, (unsigned)1, (unsigned)0, 'y', /* -tbreak8- */
 				     (unsigned)1, (unsigned)0, 'n',
 				     (unsigned)1, (unsigned)0 ); 
   init_three_chars(three_char, 'x', 'y', 'z');
   init_five_chars(five_char, 'h', 'e', 'l', 'l', 'o');
-  init_int_char_combo(int_char_combo, 13, '!');
+  init_int_char_combo(int_char_combo, 13, '!'); /* -tbreak9- */
   init_struct_rep(struct1, 10);
   init_struct_rep(struct2, 20);
   init_struct_rep(struct3, 30);
   init_struct_rep(struct4, 40);
 
-  compute_with_small_structs(35);
+  compute_with_small_structs(35); /* -tbreak10- */
   loop_count();
   printf("HELLO WORLD\n");
   printf("BYE BYE FOR NOW\n");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-ar-st.exp ./gdb/testsuite/gdb.base/call-ar-st.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-ar-st.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-ar-st.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -60,13 +60,13 @@ if ![runto_main] then {
 
 get_debug_format
 
-#go -until 1209
-gdb_test "tbreak 1209" \
-    "Temporary breakpoint \[0-9\]+.*file.*$srcfile, line 1209.*" \
-    "tbreakpoint line 1209"
+set stop_line [gdb_get_line_number "-tbreak1-"]
+gdb_test "tbreak $stop_line" \
+    "Temporary breakpoint ${decimal}.*file.*$srcfile, line $stop_line.*" \
+    "tbreakpoint at tbreak1"
 
 gdb_test continue \
-"Continuing\\..*main \\(\\) at.*$srcfile:1209.*" \
+"Continuing\\..*main \\(\\) at.*$srcfile:$stop_line.*" \
 "run until breakpoint set at a line"
 
 
@@ -95,21 +95,21 @@ if ![gdb_skip_stdio_test "print_char_arr
     }
 }
 
-#go -until 1216
-gdb_test "tbreak 1216" \
-"Temporary breakpoint.*file.*$srcfile, line 1216.*" \
-"tbreakpoint line 1216"
+set stop_line [gdb_get_line_number "-tbreak2-"]
+gdb_test "tbreak $stop_line" \
+"Temporary breakpoint.*file.*$srcfile, line $stop_line.*" \
+"tbreakpoint at tbreak2"
 
-if ![gdb_skip_stdio_test "continue to 1216"] {
-    gdb_test_sequence "continue" "continue to 1216" {
+if ![gdb_skip_stdio_test "continue to tbreak2"] {
+    gdb_test_sequence "continue" "continue to tbreak2" {
 	"\[ \t\r\n\]+array_c :"
 	"\[ \t\r\n\]+========="
 	"\[ \t\r\n\]+\[ \t\r\n\]+Z"
 	"\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZ"
 	"\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZ"
 	"\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZa"
-	"\[ \t\r\n\]+main.*at.*:1216"
-	"\[ \t\r\n\]+1216.*print_double_array\\(double_array\\)"
+	"\[ \t\r\n\]+main.*at.*:\[0-9\]+"
+	"\[ \t\r\n\]+\[0-9\]+.*print_double_array\\(double_array\\)"
     }
 } else {
     gdb_test "continue" ".*" ""
@@ -128,14 +128,14 @@ if ![gdb_skip_stdio_test "continue to 12
 #  }
 
 #set timeout $oldtimeout
-#go -until 1220
-gdb_test "tbreak 1220" \
-	"Temporary breakpoint.* file .*$srcfile, line 1220.*" \
-	"tbreakpoint line 1220"
-
-if {![gdb_skip_float_test "continuing to breakpoint 1220"] && \
-    ![gdb_skip_stdio_test "continuing to breakpoint 1220"] } {
-    gdb_test_sequence "continue" "continuing to breakpoint 1220" {
+set stop_line [gdb_get_line_number "-tbreak3-"]
+gdb_test "tbreak $stop_line" \
+	"Temporary breakpoint.* file .*$srcfile, line $stop_line.*" \
+	"tbreakpoint at tbreak3"
+
+if {![gdb_skip_float_test "continuing to tbreak3"] && \
+    ![gdb_skip_stdio_test "continuing to tbreak3"] } {
+    gdb_test_sequence "continue" "continuing to tbreak3" {
 	"Continuing\\."
 	"\[ \t\r\n\]+array_d :"
 	"\[ \t\r\n\]+========="
@@ -145,21 +145,23 @@ if {![gdb_skip_float_test "continuing to
 	"array_f :"
 	"student id :\[\t \]+.*YELLOW"
 	"array_i :"
-	"main \\(\\) at .*call-ar-st.c:1220\[ \t\r\n\]+.*print_all_arrays\\(integer_array, char_array, float_array, double_array\\)."
+	"main \\(\\) at .*call-ar-st.c:\[0-9\]+\[ \t\r\n\]+.*print_all_arrays\\(integer_array, char_array, float_array, double_array\\)."
     }
 } else {
     gdb_test "continue" ".*" ""
 }
 
 #step
+set stop_line [gdb_get_line_number "-step1-"]
 gdb_test "step" \
-    "print_all_arrays \\(array_i=<integer_array.*>, array_c=<char_array.*> .ZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZa., array_f=<float_array.*>, array_d=<double_array.*>\\) at .*call-ar-st.c:306\[ \t\r\n\]+306.*print_int_array\\(array_i\\);.*" \
+    "print_all_arrays \\(array_i=<integer_array.*>, array_c=<char_array.*> .ZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZa., array_f=<float_array.*>, array_d=<double_array.*>\\) at .*$srcfile:$stop_line\[ \t\r\n\]+$stop_line.*print_int_array\\(array_i\\);.*" \
     "step inside print_all_arrays"
 
 #step -over
 if ![gdb_skip_stdio_test "next over print_int_array in print_all_arrays"] {
+    set stop_line [gdb_get_line_number "-next1-"]
     gdb_test "next" \
-	"array_i :.*307.*print_char_array.*" \
+	"array_i :.*$stop_line.*print_char_array.*" \
 	"next over print_int_array in print-all_arrays"
 } else {
     gdb_test "next" ".*" ""
@@ -177,21 +179,21 @@ if {![gdb_skip_float_test "print print_d
     }
 }
 
-#go -until 1236
-gdb_test "tbreak 1236" \
-"Temporary breakpoint.* file .*$srcfile, line 1236.*" \
-"tbreakpoint line 1236"
-
-if {![gdb_skip_float_test "continuing to 1236"] && \
-    ![gdb_skip_stdio_test "continuing to 1236"] } {
-    gdb_test_sequence "continue" "continuing to 1236" {
+set stop_line [gdb_get_line_number "-tbreak4-"]
+gdb_test "tbreak $stop_line" \
+"Temporary breakpoint.* file .*$srcfile, line $stop_line.*" \
+"tbreakpoint at tbreak4"
+
+if {![gdb_skip_float_test "continuing to tbreak4"] && \
+    ![gdb_skip_stdio_test "continuing to tbreak4"] } {
+    gdb_test_sequence "continue" "continuing to tbreak4" {
 	"Continuing\\..*array_c"
 	"array_f"
 	"\[ \t\r\n\]+array_d :"
 	"\[ \t\r\n\]+========="
 	"\[ \t\r\n\]+0.000000"
 	"\[ \t\r\n\]+23.456\[0-9\]*  46.913\[0-9\]*  70.370\[0-9\]*  93.826\[0-9\]*  117.283\[0-9\]*  140.740\[0-9\]*  164.196\[0-9\]*  187.653\[0-9\]*"
-	"\[ \t\r\n\]+.*HELLO WORLD.*main \\(\\) at .*call-ar-st.c:1236.*printf\\(.BYE BYE FOR NOW.n.\\)."
+	"\[ \t\r\n\]+.*HELLO WORLD.*main \\(\\) at .*call-ar-st.c:\[0-9\]+.*printf\\(.BYE BYE FOR NOW.n.\\)."
     }
 } else {
     gdb_test "continue" ".*" ""
@@ -207,10 +209,11 @@ if ![gdb_skip_stdio_test "print sum_arra
 }
 
 #step over
-if ![gdb_skip_stdio_test "next to 1237"] {
+set stop_line [gdb_get_line_number "-next2-"]
+if ![gdb_skip_stdio_test "next to next2"] {
     gdb_test "next" \
-	"BYE BYE FOR NOW.*1237.*printf\\(.VERY GREEN GRASS.n.\\);.*" \
-	"next to 1237"
+	"BYE BYE FOR NOW.*$stop_line.*printf\\(.VERY GREEN GRASS.n.\\);.*" \
+	"next to next2"
 } else {
     gdb_test "next" ".*" ""
 }
@@ -223,14 +226,14 @@ if ![gdb_skip_stdio_test "print print_ar
 	"print print_array_rep(*list1, *list2, *list3)"
 }
 
-#go -until 1241
-gdb_test "tbreak 1241" \
-    "Temporary breakpoint..* file .*$srcfile, line 1241.*" \
-    "tbreakpoint line 1241"
+set stop_line [gdb_get_line_number "-tbreak5-"]
+gdb_test "tbreak $stop_line" \
+    "Temporary breakpoint..* file .*$srcfile, line $stop_line.*" \
+    "tbreakpoint at tbreak5"
 
 gdb_test "continue" \
-    "main \\(\\) at .*call-ar-st.c:1241\r\n1241\[\t \]+sum_array_print\\(10, \\*list1, \\*list2, \\*list3, \\*list4\\);.*" \
-    "continue to 1241"
+    "main \\(\\) at .*$srcfile:$stop_line\r\n$stop_line\[\t \]+sum_array_print\\(10, \\*list1, \\*list2, \\*list3, \\*list4\\);.*" \
+    "continue to tbreak5"
 
 
 # Run into sum_array_print, and verify that the arguments were passed
@@ -242,11 +245,11 @@ gdb_test "continue" \
 # may itself be a bug, but it's not the one we're trying to catch
 # here.  I've added something to step-test.exp for this.
 gdb_test "break sum_array_print" \
-	".*Breakpoint ${decimal}: file .*call-ar-st.c, line.*" \
+	".*Breakpoint ${decimal}: file .*$srcfile, line.*" \
 	"set breakpoint in sum_array_print"
 gdb_test_no_output "set print frame-arguments all"
 gdb_test "continue" \
-	".*Breakpoint ${decimal}, sum_array_print \\(seed=10, linked_list1=.next_index = .1, 2, 3, 4, 5, 6, 7, 8, 9, 10., values = .4, 6, 8, 10, 12, 14, 16, 18, 20, 22., head = 0., linked_list2=.next_index = .1, 2, 3, 4, 5, 6, 7, 8, 9, 10., values = .8, 10, 12, 14, 16, 18, 20, 22, 24, 26., head = 0., linked_list3=.next_index = .1, 2, 3, 4, 5, 6, 7, 8, 9, 10., values = .10, 12, 14, 16, 18, 20, 22, 24, 26, 28., head = 0., linked_list4=.next_index = .1, 2, 3, 4, 5, 6, 7, 8, 9, 10., values = .20, 22, 24, 26, 28, 30, 32, 34, 36, 38., head = 0.\\) at .*call-ar-st.c:1105\[ \t\n\r\]+1105.*printf\\(.Sum of 4 arrays, by element \\(add in seed as well\\).*\\);.*" \
+    ".*Breakpoint ${decimal}, sum_array_print \\(seed=10, linked_list1=.next_index = .1, 2, 3, 4, 5, 6, 7, 8, 9, 10., values = .4, 6, 8, 10, 12, 14, 16, 18, 20, 22., head = 0., linked_list2=.next_index = .1, 2, 3, 4, 5, 6, 7, 8, 9, 10., values = .8, 10, 12, 14, 16, 18, 20, 22, 24, 26., head = 0., linked_list3=.next_index = .1, 2, 3, 4, 5, 6, 7, 8, 9, 10., values = .10, 12, 14, 16, 18, 20, 22, 24, 26, 28., head = 0., linked_list4=.next_index = .1, 2, 3, 4, 5, 6, 7, 8, 9, 10., values = .20, 22, 24, 26, 28, 30, 32, 34, 36, 38., head = 0.\\) at .*$srcfile:${decimal}\[ \t\n\r\]+${decimal}.*printf\\(.Sum of 4 arrays, by element \\(add in seed as well\\).*\\);.*" \
 	"check args of sum_array_print"
 
 #call print_array_rep(linked_list1, linked_list2, linked_list3)
@@ -263,15 +266,15 @@ gdb_test "continue" \
 #}
 
 
-#go -until 1281
-gdb_test "tbreak 1281" \
-    "Temporary breakpoint.* file .*call-ar-st.c, line 1281.*" \
-    "tbreakpoint line 1281"
+set stop_line [gdb_get_line_number "-tbreak6-"]
+gdb_test "tbreak $stop_line" \
+    "Temporary breakpoint.* file .*$srcfile, line $stop_line.*" \
+    "tbreakpoint at tbreak6"
 
-if ![gdb_skip_stdio_test "continuing to 1281"] {
+if ![gdb_skip_stdio_test "continuing to tbreak6"] {
     gdb_test "continue" \
-	"Continuing\\..*Sum of 4 arrays.*Contents of linked list1.*Contents of two_floats_t.*main \\(\\) at .*call-ar-st.c:1281.*c = 0.*" \
-	"continue to 1281"
+	"Continuing\\..*Sum of 4 arrays.*Contents of linked list1.*Contents of two_floats_t.*main \\(\\) at .*$srcfile:$stop_line.*c = 0.*" \
+	"continue to tbreak6"
 } else {
     gdb_test "continue" ".*" ""
 }
@@ -339,13 +342,14 @@ if {![gdb_skip_float_test "print print_t
     }
 }
 
-#go -until 1286
-gdb_test "tbreak 1286" \
-    "Temporary breakpoint .* file .*call-ar-st.c, line 1286.*" \
-    "tbreakpoint line 1286"
+set stop_line [gdb_get_line_number "-tbreak7-"]
+gdb_test "tbreak $stop_line" \
+    "Temporary breakpoint .* file .*$srcfile, line $stop_line.*" \
+    "tbreakpoint at tbreak7"
 
-gdb_test continue "Continuing\\..*main \\(.*\\) at.*call-ar-st.c:1286\[\t\r\n \]+1286.*print_long_arg_list \\( a, b, c, d, e, f, .struct1, .struct2, .struct3, .struct4,.*" "continue to 1286"
+gdb_test continue "Continuing\\..*main \\(.*\\) at.*$srcfile:$stop_line\[\t\r\n \]+$stop_line.*print_long_arg_list \\( a, b, c, d, e, f, .struct1, .struct2, .struct3, .struct4,.*" "continue to tbreak7"
 
+set stop_line [gdb_get_line_number "-step2-"]
 if { [istarget "hppa*-*-hpux*"] } {
     #
     # NOTE:(FIXME)
@@ -359,24 +363,24 @@ if { [istarget "hppa*-*-hpux*"] } {
     # guo 990621
     #
     gdb_test "step" \
-	"print_long_arg_list.*\\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}, five_char=\{ch1 = 108 \'l\', ch2 = 109 \'m\', ch3 = 110 \'n\', ch4 = 111 \'o\', ch5 = 112 \'p\'\}, int_char_combo=\{int1 = 123, ch1 = 122 \'z\'\}, d1=\{double1 = 10.5\}, d2=\{double1 = -3.375\}, d3=\{double1 = 675.09375\}, f1=\{float1 = 45.2340012, float2 = 43.5999985\}, f2=\{float1 = 78.0100021, float2 = 122.099998\}, f3=\{float1 = -1232.34497, float2 = -199.210007\}\\) at .*${srcfile}:992\[\r\n\]+992\[ \t\]+printf\\(\"double :.*\", a\\);" \
+	"print_long_arg_list.*\\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}, five_char=\{ch1 = 108 \'l\', ch2 = 109 \'m\', ch3 = 110 \'n\', ch4 = 111 \'o\', ch5 = 112 \'p\'\}, int_char_combo=\{int1 = 123, ch1 = 122 \'z\'\}, d1=\{double1 = 10.5\}, d2=\{double1 = -3.375\}, d3=\{double1 = 675.09375\}, f1=\{float1 = 45.2340012, float2 = 43.5999985\}, f2=\{float1 = 78.0100021, float2 = 122.099998\}, f3=\{float1 = -1232.34497, float2 = -199.210007\}\\) at .*${srcfile}:$stop_line\[\r\n\]+$stop_line\[ \t\]+printf\\(\"double :.*\", a\\);" \
 	"step into print_long_arg_list"
 } else {
 
     # We can't just assume that a "step" will get us into
     # print_long_arg_list here,either.
     gdb_test "tbreak print_long_arg_list" \
-	"Temporary breakpoint .* file .*call-ar-st.c, line .*" \
+	"Temporary breakpoint .* file .*$srcfile, line .*" \
 	"tbreak in print_long_arg_list after stepping into memcpy"
     # The short match case below handles cases where a buffer
     # overflows or something, and expect can't deal with the full
     # line.  Perhaps a more elegant solution exists... -sts 1999-08-17
     if {![gdb_skip_float_test "step into print_long_arg_list"]} {
 	gdb_test_multiple "continue" "step into print_long_arg_list" {
-	    -re ".*print_long_arg_list \\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}, five_char=\{ch1 = 108 \'l\', ch2 = 109 \'m\', ch3 = 110 \'n\', ch4 = 111 \'o\', ch5 = 112 \'p\'\}, int_char_combo=\{int1 = 123, ch1 = 122 \'z\'\}, d1=\{double1 = 10.5\}, d2=\{double1 = -3.375\}, d3=\{double1 = 675.09375\}, f1=\{float1 = 45.2340012, float2 = 43.5999985\}, f2=\{float1 = 78.0100021, float2 = 122.099998\}, f3=\{float1 = -1232.34497, float2 = -199.210007\}\\) at .*${srcfile}:992\[\r\n\]+992\[ \t\]+printf\\(\"double :.*\", a\\);.*$gdb_prompt $" {
+	    -re ".*print_long_arg_list \\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}, five_char=\{ch1 = 108 \'l\', ch2 = 109 \'m\', ch3 = 110 \'n\', ch4 = 111 \'o\', ch5 = 112 \'p\'\}, int_char_combo=\{int1 = 123, ch1 = 122 \'z\'\}, d1=\{double1 = 10.5\}, d2=\{double1 = -3.375\}, d3=\{double1 = 675.09375\}, f1=\{float1 = 45.2340012, float2 = 43.5999985\}, f2=\{float1 = 78.0100021, float2 = 122.099998\}, f3=\{float1 = -1232.34497, float2 = -199.210007\}\\) at .*${srcfile}:$stop_line\[\r\n\]+$stop_line\[ \t\]+printf\\(\"double :.*\", a\\);.*$gdb_prompt $" {
 		pass "step into print_long_arg_list"
 	    }
-	    -re ".*print_long_arg_list.*\\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}.*\\) at .*${srcfile}:992\[\r\n\]+992\[ \t\]+printf\\(\"double :.*\", a\\);.*$gdb_prompt $" {
+	    -re ".*print_long_arg_list.*\\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}.*\\) at .*${srcfile}:$stop_line\[\r\n\]+$stop_line\[ \t\]+printf\\(\"double :.*\", a\\);.*$gdb_prompt $" {
 		pass "step into print_long_arg_list (short match)"
 	    }
 	}
@@ -442,38 +446,39 @@ if {![gdb_skip_float_test "print_small_s
 }
 
 
-#go -until 1300
-gdb_test "tbreak 1300" \
-    "Temporary breakpoint.* file .*call-ar-st.c, line 1300.*" \
-    "tbreakpoint line 1300"
-
-if ![gdb_skip_stdio_test "continuing to 1300"] {
-    gdb_test "continue" "Continuing\\..*Contents of two_floats_t:.*main \\(\\) at.*call-ar-st.c:1300.*1300.*init_bit_flags_combo\\(flags_combo, \\(unsigned\\)1, \\(unsigned\\)0, .y.,.*" \
-	    "continue to 1300"
+set stop_line [gdb_get_line_number "-tbreak8-"]
+gdb_test "tbreak $stop_line" \
+    "Temporary breakpoint.* file .*$srcfile, line $stop_line.*" \
+    "tbreakpoint at tbreak8"
+
+if ![gdb_skip_stdio_test "continuing to tbreak8"] {
+    gdb_test "continue" "Continuing\\..*Contents of two_floats_t:.*main \\(\\) at.*$srcfile:$stop_line.*$stop_line.*init_bit_flags_combo\\(flags_combo, \\(unsigned\\)1, \\(unsigned\\)0, .y.,.*" \
+	    "continue to tbreak8"
 } else {
     gdb_test "continue" ".*" ""
 }
 
 #step
+set stop_line [gdb_get_line_number "-step3-"]
 gdb_test "step" \
-    "init_bit_flags_combo \\(bit_flags_combo=, a=1, b=0, ch1=121 .y., g=1, d=0, ch2=110 .n., e=1, o=0\\) at .*call-ar-st.c:416\[ \t\n\r\]+416.*bit_flags_combo->alpha = a;" \
+    "init_bit_flags_combo \\(bit_flags_combo=, a=1, b=0, ch1=121 .y., g=1, d=0, ch2=110 .n., e=1, o=0\\) at .*$srcfile:$stop_line\[ \t\n\r\]+$stop_line.*bit_flags_combo->alpha = a;.*" \
     "step into init_bit_flags_combo"
 
 #call print_bit_flags_combo(*bit_flags_combo)
-if ![gdb_skip_stdio_test "continuing to 1300"] {
+if ![gdb_skip_stdio_test "continuing at step3"] {
     gdb_test "print print_bit_flags_combo(*bit_flags_combo)" \
 	"alpha.*gamma.*epsilon.*ch1: y.*ch2: n.*" \
 	"print print_bit_flags_combo from init_bit_flags_combo"
 }
 
 
-#go -until 1305
-gdb_test "tbreak 1305" \
-    "Temporary breakpoint.* file .*call-ar-st.c, line 1305.*" \
-    "tbreakpoint line 1305"
+set stop_line [gdb_get_line_number "-tbreak9-"]
+gdb_test "tbreak $stop_line" \
+    "Temporary breakpoint.* file .*$srcfile, line $stop_line.*" \
+    "tbreakpoint at tbreak9"
 
-gdb_test continue "Continuing\\..*main \\(\\) at .*call-ar-st.c:1305\[\r\n\t \]+1305.*init_int_char_combo\\(int_char_combo, 13, .!.\\);" \
-"continue to 1305"
+gdb_test continue "Continuing\\..*main \\(\\) at .*$srcfile:$stop_line\[\r\n\t \]+$stop_line.*init_int_char_combo\\(int_char_combo, 13, .!.\\);.*" \
+"continue to tbreak9"
 
 #call print_long_arg_list(a, b, c, d, e, f, *struct1, *struct2, *struct3, *struct4, *flags, *flags_combo, *three_char, *five_char, *int_char_combo, *d1, *d2, *d3, *f1, *f2, *f3)
 
@@ -526,13 +531,13 @@ if {![gdb_skip_float_test "print print_l
 }
 
 
-#go -until 1311
-gdb_test "tbreak 1311" \
-    "Temporary breakpoint.* file .*call-ar-st.c, line 1311.*" \
-    "tbreakpoint line 1311"
+set stop_line [gdb_get_line_number "-tbreak10-"]
+gdb_test "tbreak $stop_line" \
+    "Temporary breakpoint.* file .*$srcfile, line $stop_line.*" \
+    "tbreakpoint at tbreak10"
 
-gdb_test continue "Continuing\\..*main \\(\\) at .*call-ar-st.c:1311\[ \t\n\r\]+1311.*compute_with_small_structs\\(35\\);" \
-"continue to 1311"
+gdb_test continue "Continuing\\..*main \\(\\) at .*$srcfile:$stop_line\[ \t\n\r\]+$stop_line.*compute_with_small_structs\\(35\\);.*" \
+"continue to tbreak10"
 
 
 #call sum_struct_print(10, *struct1, *struct2, *struct3, *struct4)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/callexit.c ./gdb/testsuite/gdb.base/callexit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/callexit.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/callexit.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/callexit.exp ./gdb/testsuite/gdb.base/callexit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/callexit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/callexit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/callfuncs.c ./gdb/testsuite/gdb.base/callfuncs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/callfuncs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/callfuncs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1993-2014 Free Software Foundation, Inc.
+   Copyright 1993-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -216,7 +216,7 @@ char  *t_structs_a (struct struct1 tstru
 #ifdef TEST_COMPLEX
 float _Complex t_structs_fc (struct struct1 tstruct) { return tstruct.fc;}
 double _Complex t_structs_dc (struct struct1 tstruct) { return tstruct.dc;}
-long double _Complex t_structs_fc (struct struct1 tstruct) { return tstruct.ldc;}
+long double _Complex t_structs_ldc (struct struct1 tstruct) { return tstruct.ldc;}
 #endif
 #else
 char   t_structs_c (tstruct) struct struct1 tstruct; { return (tstruct.c); }
@@ -371,9 +371,7 @@ float
 #ifdef NO_PROTOTYPES
 t_float_many_args (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13,
 		   f14, f15)
-     float f1, float f2, float f3, float f4, float f5, float f6, float f7,
-     float f8, float f9, float f10, float f11, float f12, float f13, float f14,
-     float f15;
+     float f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15;
 #else
 t_float_many_args (float f1, float f2, float f3, float f4, float f5, float f6,
 		   float f7, float f8, float f9, float f10, float f11,
@@ -417,9 +415,7 @@ double
 #ifdef NO_PROTOTYPES
 t_double_many_args (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13,
 		   f14, f15)
-     double f1, double f2, double f3, double f4, double f5, double f6,
-     double f7, double f8, double f9, double f10, double f11, double f12,
-     double f13, double f14, double f15;
+     double f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15;
 #else
 t_double_many_args (double f1, double f2, double f3, double f4, double f5,
 		    double f6, double f7, double f8, double f9, double f10,
@@ -450,12 +446,8 @@ t_double_many_args (double f1, double f2
 #define DEF_FUNC_MANY_ARGS_1(TYPE, NAME)			\
 t_##NAME##_complex_many_args (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, \
 			      f12, f13, f14, f15, f16)			\
-     TYPE _Complex f1, TYPE _Complex f2, TYPE _Complex f3, \
-     TYPE _Complex f4, TYPE _Complex f5, TYPE _Complex f6, \
-     TYPE _Complex f7, TYPE _Complex f8, TYPE _Complex f9, \
-     TYPE _Complex f10, TYPE _Complex f11, TYPE _Complex f12, \
-     TYPE _Complex f13, TYPE _Complex f14, TYPE _Complex f15, \
-     TYPE _Complex f16;
+     TYPE _Complex f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, \
+     f13, f14, f15, f16;
 
 #define DEF_FUNC_MANY_ARGS_2(TYPE, NAME)		  \
 t_##NAME##_complex_many_args (TYPE _Complex f1, TYPE _Complex f2, \
@@ -504,7 +496,7 @@ DEF_FUNC_MANY_ARGS_2(long double, long_d
 DEF_FUNC_MANY_ARGS_3(long double, creall, cimagl)
 
 #define DEF_FUNC_VALUES_1(TYPE, NAME)			\
-  t_##NAME##_complex_values (f1, f2) TYPE _Complex f1, TYPE _Complex f2;
+  t_##NAME##_complex_values (f1, f2) TYPE _Complex f1, f2;
 
 #define DEF_FUNC_VALUES_2(TYPE, NAME) \
   t_##NAME##_complex_values (TYPE _Complex f1, TYPE _Complex f2)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/callfuncs.exp ./gdb/testsuite/gdb.base/callfuncs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/callfuncs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/callfuncs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -23,24 +23,6 @@ if [support_complex_tests] {
     lappend compile_flags "additional_flags=-DTEST_COMPLEX"
 }
 
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $compile_flags] != "" } {
-     untested callfuncs.exp
-     return -1
-}
-
-# Create and source the file that provides information about the compiler
-# used to compile the test case.
-
-if [get_compiler_info] {
-    return -1
-}
-
-if {$hp_aCC_compiler} {
-    set prototypes 1
-} else {
-    set prototypes 0
-}
-
 # Some targets can't do function calls, so don't even bother with this
 # test.
 if [target_info exists gdb,cannot_call_functions] {
@@ -57,7 +39,6 @@ if [target_info exists gdb,cannot_call_f
 # (computed in the inferior) is 1 for true and 0 for false.
 
 proc do_function_calls {} {
-    global prototypes
     global gdb_prompt
 
     # We need to up this because this can be really slow on some boards.
@@ -117,15 +98,6 @@ proc do_function_calls {} {
 	# Test passing of arguments which might not be widened.
 	gdb_test "p t_float_values2(0.0,0.0)" " = 0"
 
-	# Although PR 5318 mentions SunOS specifically, this seems
-	# to be a generic problem on quite a few platforms.
-	if $prototypes then {
-	    setup_xfail "sparc-*-*" "mips*-*-*" 5318
-	    if { ! [test_compiler_info gcc-*-*] } then {
-		setup_xfail "alpha-dec-osf2*" "i*86-*-sysv4*" 5318
-	    }
-	}
-        
 	gdb_test "p t_float_values2(3.14159,float_val2)" " = 1"
 
 	gdb_test "p t_float_many_args (float_val1, float_val2, float_val3, float_val4, float_val5, float_val6, float_val7, float_val8, float_val9, float_val10, float_val11, float_val12, float_val13, float_val14, float_val15)" " = 1" "Call function with many float arguments."
@@ -321,23 +293,18 @@ proc fetch_all_registers {test} {
 proc rerun_and_prepare {} {
     global hp_aCC_compiler
 
+    if { ![runto_main] } {
+	gdb_suppress_tests
+    }
     if { $hp_aCC_compiler } {
 	# Do not set language explicitly to 'C'.  This will cause aCC
 	# tests to fail because promotion rules are different.  Just let
 	# the language be set to the default.
-
-	if { ![runto_main] } {
-	    gdb_suppress_tests
-	}
-
 	# However, turn off overload-resolution for aCC.  Having it on causes
 	# a lot of failures.
 
 	gdb_test_no_output "set overload-resolution 0"
     } else {
-	if { ![runto_main] } {
-	    gdb_suppress_tests
-	}
 	gdb_test_no_output "set language c"
     }
 
@@ -351,190 +318,194 @@ proc rerun_and_prepare {} {
 	"next to t_structs_c"
 }
 
+proc perform_all_tests {} {
+    gdb_test_no_output "set print sevenbit-strings"
+    gdb_test_no_output "set print address off"
+    gdb_test_no_output "set width 0"
 
-# Start with a fresh gdb.
+    rerun_and_prepare
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-gdb_test_no_output "set print sevenbit-strings"
-gdb_test_no_output "set print address off"
-gdb_test_no_output "set width 0"
-
-rerun_and_prepare
-
-# Save all register contents.
-set old_reg_content [fetch_all_registers "retrieve original register contents"]
-
-# Perform function calls.
-do_function_calls
-
-# Check if all registers still have the same value.
-set new_reg_content [fetch_all_registers \
-		     "register contents after gdb function calls"]
-if {$old_reg_content == $new_reg_content} then {
-    pass "gdb function calls preserve register contents"
-} else {
-    set old_reg_content $new_reg_content
-    fail "gdb function calls preserve register contents"
-}
+    # Save all register contents.
+    set old_reg_content [fetch_all_registers "retrieve original register contents"]
 
-rerun_and_prepare
-# Save all register contents.
-set old_reg_content [fetch_all_registers "retrieve original register contents"]
-
-# Set breakpoint at a function we will call from gdb.
-gdb_breakpoint add
-
-# Call function (causing a breakpoint hit in the call dummy) and do a continue,
-# make sure we are back at main and still have the same register contents.
-gdb_test "print add(4,5)" \
-	"The program being debugged stopped while.*" \
-	"stop at breakpoint in call dummy function"
-gdb_test "continue" "Continuing.*" "continue from call dummy breakpoint"
-if ![gdb_test "bt 2" \
-	      "#0  main.*" \
-	      "bt after continuing from call dummy breakpoint"] then {
-    set new_reg_content [fetch_all_registers \
-			 "register contents after stop in call dummy"]
-    if {$old_reg_content == $new_reg_content} then {
-	pass "continue after stop in call dummy preserves register contents"
-    } else {
-	fail "continue after stop in call dummy preserves register contents"
-    }
-}
+    # Perform function calls.
+    do_function_calls
 
-rerun_and_prepare
-# Set breakpoint at a function we will call from gdb.
-gdb_breakpoint add
-# Save all register contents.
-set old_reg_content [fetch_all_registers "retrieve original register contents"]
-
-# Call function (causing a breakpoint hit in the call dummy) and do a finish,
-# make sure we are back at main and still have the same register contents.
-gdb_test "print add(4,5)" "The program being debugged stopped while.*" \
-	"call function causing a breakpoint then do a finish"
-gdb_test "finish" \
-	 "Value returned is .* = 9" \
-	 "finish from call dummy breakpoint returns correct value"
-if ![gdb_test "bt 2" \
-	      "#0  main.*" \
-	      "bt after finishing from call dummy breakpoint"] then {
+    # Check if all registers still have the same value.
     set new_reg_content [fetch_all_registers \
-			 "register contents after finish in call dummy"]
+			     "register contents after gdb function calls"]
     if {$old_reg_content == $new_reg_content} then {
-	pass "finish after stop in call dummy preserves register contents"
+	pass "gdb function calls preserve register contents"
     } else {
-	fail "finish after stop in call dummy preserves register contents"
+	set old_reg_content $new_reg_content
+	fail "gdb function calls preserve register contents"
     }
-}
 
-rerun_and_prepare
-# Set breakpoint at a function we will call from gdb.
-gdb_breakpoint add
-# Save all register contents.
-set old_reg_content [fetch_all_registers "retrieve original register contents"]
-
-# Call function (causing a breakpoint hit in the call dummy) and do a return
-# with a value, make sure we are back at main with the same register contents.
-gdb_test "print add(4,5)" "The program being debugged stopped while.*" \
+    rerun_and_prepare
+    # Save all register contents.
+    set old_reg_content [fetch_all_registers "retrieve original register contents"]
+
+    # Set breakpoint at a function we will call from gdb.
+    gdb_breakpoint add
+
+    # Call function (causing a breakpoint hit in the call dummy) and do a continue,
+    # make sure we are back at main and still have the same register contents.
+    gdb_test "print add(4,5)" \
+	"The program being debugged stopped while.*" \
+	"stop at breakpoint in call dummy function"
+    gdb_test "continue" "Continuing.*" "continue from call dummy breakpoint"
+    if ![gdb_test "bt 2" \
+	     "#0  main.*" \
+	     "bt after continuing from call dummy breakpoint"] then {
+		 set new_reg_content [fetch_all_registers \
+					  "register contents after stop in call dummy"]
+		 if {$old_reg_content == $new_reg_content} then {
+		     pass "continue after stop in call dummy preserves register contents"
+		 } else {
+		     fail "continue after stop in call dummy preserves register contents"
+		 }
+	     }
+
+    rerun_and_prepare
+    # Set breakpoint at a function we will call from gdb.
+    gdb_breakpoint add
+    # Save all register contents.
+    set old_reg_content [fetch_all_registers "retrieve original register contents"]
+
+    # Call function (causing a breakpoint hit in the call dummy) and do a finish,
+    # make sure we are back at main and still have the same register contents.
+    gdb_test "print add(4,5)" "The program being debugged stopped while.*" \
+	"call function causing a breakpoint then do a finish"
+    gdb_test "finish" \
+	"Value returned is .* = 9" \
+	"finish from call dummy breakpoint returns correct value"
+    if ![gdb_test "bt 2" \
+	     "#0  main.*" \
+	     "bt after finishing from call dummy breakpoint"] then {
+		 set new_reg_content [fetch_all_registers \
+					  "register contents after finish in call dummy"]
+		 if {$old_reg_content == $new_reg_content} then {
+		     pass "finish after stop in call dummy preserves register contents"
+		 } else {
+		     fail "finish after stop in call dummy preserves register contents"
+		 }
+	     }
+
+    rerun_and_prepare
+    # Set breakpoint at a function we will call from gdb.
+    gdb_breakpoint add
+    # Save all register contents.
+    set old_reg_content [fetch_all_registers "retrieve original register contents"]
+
+    # Call function (causing a breakpoint hit in the call dummy) and do a return
+    # with a value, make sure we are back at main with the same register contents.
+    gdb_test "print add(4,5)" "The program being debugged stopped while.*" \
 	"call function causing a breakpoint and then do a return"
-if ![gdb_test "return 7" \
-	      "#0  main.*" \
-	      "back at main after return from call dummy breakpoint" \
-	      "Make add return now. .y or n.*" \
-	      "y"] then {
-    set new_reg_content [fetch_all_registers \
-                         "register contents after return in call dummy"]
-    if {$old_reg_content == $new_reg_content} then {
-	pass "return after stop in call dummy preserves register contents"
-    } else {
-	fail "return after stop in call dummy preserves register contents"
-    }
-}
-
-rerun_and_prepare
-# Set breakpoint at a function we will call from gdb.
-gdb_breakpoint add
-set old_reg_content [fetch_all_registers "retrieve original register contents"]
-
-# Call function (causing a breakpoint hit in the call dummy), and
-# call another function from the call dummy frame (thereby setting up
-# several nested call dummy frames).  Test that backtrace and finish
-# work when several call dummies are nested.
-gdb_breakpoint sum10
-gdb_breakpoint t_small_values
-gdb_test "print add(2,3)" "The program being debugged stopped while.*" \
+    if ![gdb_test "return 7" \
+	     "#0  main.*" \
+	     "back at main after return from call dummy breakpoint" \
+	     "Make add return now. .y or n.*" \
+	     "y"] then {
+		 set new_reg_content [fetch_all_registers \
+					  "register contents after return in call dummy"]
+		 if {$old_reg_content == $new_reg_content} then {
+		     pass "return after stop in call dummy preserves register contents"
+		 } else {
+		     fail "return after stop in call dummy preserves register contents"
+		 }
+	     }
+
+    rerun_and_prepare
+    # Set breakpoint at a function we will call from gdb.
+    gdb_breakpoint add
+    set old_reg_content [fetch_all_registers "retrieve original register contents"]
+
+    # Call function (causing a breakpoint hit in the call dummy), and
+    # call another function from the call dummy frame (thereby setting up
+    # several nested call dummy frames).  Test that backtrace and finish
+    # work when several call dummies are nested.
+    gdb_breakpoint sum10
+    gdb_breakpoint t_small_values
+    gdb_test "print add(2,3)" "The program being debugged stopped while.*" \
 	"stop at nested call level 1"
-gdb_test "backtrace" \
+    gdb_test "backtrace" \
 	"\#0  add \\(a=2, b=3\\).*\#1  <function called from gdb>.*\#2  main.*" \
 	"backtrace at nested call level 1"
-gdb_test "print add(4,5)" "The program being debugged stopped while.*" \
+    gdb_test "print add(4,5)" "The program being debugged stopped while.*" \
 	"stop at nested call level 2"
-gdb_test "backtrace" \
+    gdb_test "backtrace" \
 	"\#0  add \\(a=4, b=5\\).*\#1  <function called from gdb>.*\#2  add \\(a=2, b=3\\).*\#3  <function called from gdb>.*\#4  main.*" \
 	"backtrace at nested call level 2"
-gdb_test "print sum10(2,4,6,8,10,12,14,16,18,20)" \
+    gdb_test "print sum10(2,4,6,8,10,12,14,16,18,20)" \
 	"The program being debugged stopped while.*" \
 	"stop at nested call level 3"
-gdb_test "backtrace" \
+    gdb_test "backtrace" \
 	"\#0  sum10 \\(i0=2, i1=4, i2=6, i3=8, i4=10, i5=12, i6=14, i7=16, i8=18, i9=20\\).*\#1  <function called from gdb>.*\#2  add \\(a=4, b=5\\).*\#3  <function called from gdb>.*\#4  add \\(a=2, b=3\\).*\#5  <function called from gdb>.*\#6  main.*" \
 	"backtrace at nested call level 3"
-gdb_test "print t_small_values(1,3,5,7,9,11,13,15,17,19)" \
+    gdb_test "print t_small_values(1,3,5,7,9,11,13,15,17,19)" \
 	"The program being debugged stopped while.*" \
 	"stop at nested call level 4"
-gdb_test "backtrace" \
+    gdb_test "backtrace" \
 	"\#0  t_small_values \\(arg1=1 '.001', arg2=3, arg3=5, arg4=7 '.a', arg5=9, arg6=11 '.v', arg7=13, arg8=15, arg9=17, arg10=19\\).*\#2  sum10 \\(i0=2, i1=4, i2=6, i3=8, i4=10, i5=12, i6=14, i7=16, i8=18, i9=20\\).*\#3  <function called from gdb>.*\#4  add \\(a=4, b=5\\).*\#5  <function called from gdb>.*\#6  add \\(a=2, b=3\\).*\#7  <function called from gdb>.*\#8  main.*" \
 	"backtrace at nested call level 4"
-gdb_test "finish" "Value returned is .* = 100" \
+    gdb_test "finish" "Value returned is .* = 100" \
 	"Finish from nested call level 4"
-gdb_test "backtrace" \
+    gdb_test "backtrace" \
 	"\#0  sum10 \\(i0=2, i1=4, i2=6, i3=8, i4=10, i5=12, i6=14, i7=16, i8=18, i9=20\\).*\#1  <function called from gdb>.*\#2  add \\(a=4, b=5\\).*\#3  <function called from gdb>.*\#4  add \\(a=2, b=3\\).*\#5  <function called from gdb>.*\#6  main.*" \
 	"backtrace after finish from nested call level 4"
-gdb_test "finish" "Value returned is .* = 110" \
+    gdb_test "finish" "Value returned is .* = 110" \
 	"Finish from nested call level 3"
-gdb_test "backtrace" \
+    gdb_test "backtrace" \
 	"\#0  add \\(a=4, b=5\\).*\#1  <function called from gdb>.*\#2  add \\(a=2, b=3\\).*\#3  <function called from gdb>.*\#4  main.*" \
 	"backtrace after finish from nested call level 3"
-gdb_test "finish" "Value returned is .* = 9" \
+    gdb_test "finish" "Value returned is .* = 9" \
 	"Finish from nested call level 2"
-gdb_test "backtrace" \
+    gdb_test "backtrace" \
 	"\#0  add \\(a=2, b=3\\).*\#1  <function called from gdb>.*\#2  main.*" \
 	"backtrace after finish from nested call level 2"
-gdb_test "finish" "Value returned is .* = 5" \
+    gdb_test "finish" "Value returned is .* = 5" \
 	"Finish from nested call level 1"
-gdb_test "backtrace" "\#0  main .*" \
+    gdb_test "backtrace" "\#0  main .*" \
 	"backtrace after finish from nested call level 1"
 
-set new_reg_content [fetch_all_registers \
-		     "register contents after nested call dummies"]
-if {$old_reg_content == $new_reg_content} then {
-    pass "nested call dummies preserve register contents"
-} else {
-    fail "nested call dummies preserve register contents"
-}
+    set new_reg_content [fetch_all_registers \
+			     "register contents after nested call dummies"]
+    if {$old_reg_content == $new_reg_content} then {
+	pass "nested call dummies preserve register contents"
+    } else {
+	fail "nested call dummies preserve register contents"
+    }
 
-# GDB should not crash by internal error on $sp underflow during the inferior
-# call.  It is OK it will stop on some: Cannot access memory at address 0x$hex.
+    # GDB should not crash by internal error on $sp underflow during the inferior
+    # call.  It is OK it will stop on some: Cannot access memory at address 0x$hex.
 
-if {![target_info exists gdb,nosignals] && ![istarget "*-*-uclinux*"]} {
-    gdb_test {set $old_sp = $sp}
+    if {![target_info exists gdb,nosignals] && ![istarget "*-*-uclinux*"]} {
+	gdb_test {set $old_sp = $sp}
 
-    gdb_test {set $sp = 0}
-    gdb_test "call doubleit (1)" ".*" "sp == 0: call doubleit (1)"
+	gdb_test {set $sp = 0}
+	gdb_test "call doubleit (1)" ".*" "sp == 0: call doubleit (1)"
 
-    gdb_test {set $sp = -1}
-    gdb_test "call doubleit (1)" ".*" "sp == -1: call doubleit (1)"
+	gdb_test {set $sp = -1}
+	gdb_test "call doubleit (1)" ".*" "sp == -1: call doubleit (1)"
 
-    gdb_test {set $sp = $old_sp}
+	gdb_test {set $sp = $old_sp}
+    }
+
+    # Test function descriptor resolution - the separate debug info .opd section
+    # handling vs. local labels `.L'... as `Lcallfunc' starts with `L'.
+
+    gdb_test "print callfunc (Lcallfunc, 5)" " = 12"
+
+    # Regression test for function pointer cast.
+    gdb_test "print *((int *(*) (void)) voidfunc)()" " = 23"
 }
 
-# Test function descriptor resolution - the separate debug info .opd section
-# handling vs. local labels `.L'... as `Lcallfunc' starts with `L'.
+# Perform all tests with and without function prototypes.
 
-gdb_test "print callfunc (Lcallfunc, 5)" " = 12"
+if { ![prepare_for_testing ${testfile}.exp $testfile $srcfile "$compile_flags additional_flags=-DPROTOTYPES"] } {
+    perform_all_tests
+}
 
-# Regression test for function pointer cast.
-gdb_test "print *((int *(*) (void)) voidfunc)()" " = 23"
+if { ![prepare_for_testing ${testfile}.exp $testfile $srcfile "$compile_flags additional_flags=-DNO_PROTOTYPES"] } {
+    with_test_prefix "noproto" perform_all_tests
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-rt-st.c ./gdb/testsuite/gdb.base/call-rt-st.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-rt-st.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-rt-st.c	2015-01-20 02:05:39.000000000 +0000
@@ -125,7 +125,7 @@ void loop_count () {
 
      int index;
 
-     for (index=0; index<4; index++);
+     for (index=0; index<4; index++); /* -break1- */
 }
 
 /*****************************************************************
@@ -141,7 +141,6 @@ void loop_count () {
  * IN  unsigned e  -- 0 or 1 
  * IN  unsigned o  -- 0 or 1 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_bit_flags_char (
 struct bit_flags_char_t *bit_flags,
 unsigned a,
@@ -150,16 +149,6 @@ unsigned g,
 unsigned d,
 unsigned e,
 unsigned o)
-#else
-void init_bit_flags_char (bit_flags,a,b,g,d,e,o) 
-struct bit_flags_char_t *bit_flags;
-unsigned a;
-unsigned b;
-unsigned g;
-unsigned d;
-unsigned e;
-unsigned o; 
-#endif
 {
 
    bit_flags->alpha = a;
@@ -183,7 +172,6 @@ unsigned o; 
  * IN  unsigned e  -- 0 or 1 
  * IN  unsigned o  -- 0 or 1 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_bit_flags_short (
 struct bit_flags_short_t *bit_flags,
 unsigned a,
@@ -192,16 +180,6 @@ unsigned g,
 unsigned d,
 unsigned e,
 unsigned o)
-#else
-void init_bit_flags_short (bit_flags,a,b,g,d,e,o) 
-struct bit_flags_short_t *bit_flags;
-unsigned a;
-unsigned b;
-unsigned g;
-unsigned d;
-unsigned e;
-unsigned o; 
-#endif
 {
 
    bit_flags->alpha = a;
@@ -225,7 +203,6 @@ unsigned o; 
  * IN  unsigned e  -- 0 or 1 
  * IN  unsigned o  -- 0 or 1 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_bit_flags (
 struct bit_flags_t *bit_flags,
 unsigned a,
@@ -234,16 +211,6 @@ unsigned g,
 unsigned d,
 unsigned e,
 unsigned o)
-#else
-void init_bit_flags (bit_flags,a,b,g,d,e,o) 
-struct bit_flags_t *bit_flags;
-unsigned a;
-unsigned b;
-unsigned g;
-unsigned d;
-unsigned e;
-unsigned o; 
-#endif
 {
 
    bit_flags->alpha = a;
@@ -269,7 +236,6 @@ unsigned o; 
  * IN  unsigned e  -- 0 or 1 
  * IN  unsigned o  -- 0 or 1 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_bit_flags_combo (
 struct bit_flags_combo_t *bit_flags_combo,
 unsigned a,
@@ -280,18 +246,6 @@ unsigned d,
 char ch2,
 unsigned e,
 unsigned o)
-#else
-void init_bit_flags_combo (bit_flags_combo, a, b, ch1, g, d, ch2, e, o)
-struct bit_flags_combo_t *bit_flags_combo;
-unsigned a;
-unsigned b;
-char ch1;
-unsigned g;
-unsigned d;
-char ch2;
-unsigned e;
-unsigned o;
-#endif
 {
 
    bit_flags_combo->alpha = a;
@@ -310,13 +264,7 @@ unsigned o;
  * OUT  struct one_double_t *one_double  -- structure to fill 
  * IN   double init_val
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_one_double ( struct one_double_t *one_double, double init_val)
-#else
-void init_one_double (one_double, init_val)
-struct one_double_t *one_double; 
-double init_val;
-#endif
 {
 
      one_double->double1  = init_val;
@@ -328,17 +276,10 @@ double init_val;
  * IN  float init_val1 
  * IN  float init_val2 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_two_floats (
      struct two_floats_t *two_floats,
      float init_val1,
      float init_val2)
-#else
-void init_two_floats (two_floats, init_val1, init_val2)
-struct two_floats_t *two_floats;
-float init_val1;
-float init_val2;
-#endif
 {
 
      two_floats->float1 = init_val1;
@@ -352,19 +293,11 @@ float init_val2;
  * IN  char init_val2 
  * IN  char init_val3 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_three_chars (
 struct three_char_t *three_char,
 char init_val1,
 char init_val2,
 char init_val3)
-#else
-void init_three_chars ( three_char, init_val1, init_val2, init_val3)
-struct three_char_t *three_char;
-char init_val1;
-char init_val2;
-char init_val3;
-#endif
 {
 
      three_char->ch1 = init_val1;
@@ -381,7 +314,6 @@ char init_val3;
  * IN  char init_val4 
  * IN  char init_val5 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_five_chars (
 struct five_char_t *five_char,
 char init_val1,
@@ -389,15 +321,6 @@ char init_val2,
 char init_val3,
 char init_val4,
 char init_val5)
-#else
-void init_five_chars ( five_char, init_val1, init_val2, init_val3, init_val4, init_val5)
-struct five_char_t *five_char;
-char init_val1;
-char init_val2;
-char init_val3;
-char init_val4;
-char init_val5;
-#endif
 {
 
      five_char->ch1 = init_val1;
@@ -413,17 +336,10 @@ char init_val5;
  * IN  int  init_val1 
  * IN  char init_val2 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_int_char_combo (
 struct int_char_combo_t *combo,
 int init_val1,
 char init_val2)
-#else
-void init_int_char_combo ( combo, init_val1, init_val2)
-struct int_char_combo_t *combo;
-int init_val1;
-char init_val2;
-#endif
 {
 
      combo->int1 = init_val1;
@@ -435,15 +351,9 @@ char init_val2;
  * OUT struct small_rep_into_t *small_struct -- structure to be filled
  * IN  int  seed 
  *****************************************************************/
-#ifdef PROTOTYPES
 void init_struct_rep(
      struct small_rep_info_t *small_struct,
      int seed)
-#else
-void init_struct_rep( small_struct, seed)
-struct small_rep_info_t *small_struct;
-int    seed;
-#endif
 {
 
       small_struct->value = 2 + (seed*2); 
@@ -454,12 +364,7 @@ int    seed;
  * PRINT_BIT_FLAGS_CHAR : 
  * IN struct bit_flags_char_t bit_flags 
  ****************************************************************/
-#ifdef PROTOTYPES
 struct bit_flags_char_t print_bit_flags_char (struct bit_flags_char_t bit_flags)
-#else
-struct bit_flags_char_t print_bit_flags_char ( bit_flags)
-struct bit_flags_char_t bit_flags;
-#endif
 {
 
      if (bit_flags.alpha) printf("alpha\n");
@@ -476,12 +381,7 @@ struct bit_flags_char_t bit_flags;
  * PRINT_BIT_FLAGS_SHORT : 
  * IN struct bit_flags_short_t bit_flags 
  ****************************************************************/
-#ifdef PROTOTYPES
 struct bit_flags_short_t print_bit_flags_short (struct bit_flags_short_t bit_flags)
-#else
-struct bit_flags_short_t print_bit_flags_short ( bit_flags)
-struct bit_flags_short_t bit_flags;
-#endif
 {
 
      if (bit_flags.alpha) printf("alpha\n");
@@ -498,12 +398,7 @@ struct bit_flags_short_t bit_flags;
  * PRINT_BIT_FLAGS : 
  * IN struct bit_flags_t bit_flags 
  ****************************************************************/
-#ifdef PROTOTYPES
 struct bit_flags_t print_bit_flags (struct bit_flags_t bit_flags)
-#else
-struct bit_flags_t print_bit_flags ( bit_flags)
-struct bit_flags_t bit_flags;
-#endif
 {
 
      if (bit_flags.alpha) printf("alpha\n");
@@ -520,12 +415,7 @@ struct bit_flags_t bit_flags;
  * PRINT_BIT_FLAGS_COMBO : 
  * IN struct bit_flags_combo_t bit_flags_combo 
  ****************************************************************/
-#ifdef PROTOTYPES
 struct bit_flags_combo_t print_bit_flags_combo (struct bit_flags_combo_t bit_flags_combo)
-#else
-struct bit_flags_combo_t print_bit_flags_combo ( bit_flags_combo )
-struct bit_flags_combo_t bit_flags_combo;
-#endif
 {
 
      if (bit_flags_combo.alpha) printf("alpha\n");
@@ -543,12 +433,7 @@ struct bit_flags_combo_t bit_flags_combo
  * PRINT_ONE_DOUBLE : 
  * IN struct one_double_t one_double 
  ****************************************************************/
-#ifdef PROTOTYPES
 struct one_double_t print_one_double (struct one_double_t one_double)
-#else
-struct one_double_t print_one_double ( one_double )
-struct one_double_t one_double;
-#endif
 {
 
      printf("Contents of one_double_t: \n\n");
@@ -561,12 +446,7 @@ struct one_double_t one_double;
  * PRINT_TWO_FLOATS : 
  * IN struct two_floats_t two_floats 
  ****************************************************************/
-#ifdef PROTOTYPES
 struct two_floats_t print_two_floats (struct two_floats_t two_floats)
-#else
-struct two_floats_t print_two_floats ( two_floats ) 
-struct two_floats_t two_floats;
-#endif
 {
 
      printf("Contents of two_floats_t: \n\n");
@@ -579,12 +459,7 @@ struct two_floats_t two_floats;
  * PRINT_THREE_CHARS : 
  * IN struct three_char_t three_char
  ****************************************************************/
-#ifdef PROTOTYPES
 struct three_char_t print_three_chars (struct three_char_t three_char)
-#else
-struct three_char_t print_three_chars ( three_char ) 
-struct three_char_t three_char;
-#endif
 {
 
      printf("Contents of three_char_t: \n\n");
@@ -597,12 +472,7 @@ struct three_char_t three_char;
  * PRINT_FIVE_CHARS : 
  * IN struct five_char_t five_char
  ****************************************************************/
-#ifdef PROTOTYPES
 struct five_char_t print_five_chars (struct five_char_t five_char)
-#else
-struct five_char_t print_five_chars ( five_char )
-struct five_char_t five_char;
-#endif
 {
 
      printf("Contents of five_char_t: \n\n");
@@ -617,12 +487,7 @@ struct five_char_t five_char;
  * PRINT_INT_CHAR_COMBO : 
  * IN struct int_char_combo_t int_char_combo
  ****************************************************************/
-#ifdef PROTOTYPES
 struct int_char_combo_t print_int_char_combo (struct int_char_combo_t int_char_combo)
-#else
-struct int_char_combo_t print_int_char_combo ( int_char_combo )
-struct int_char_combo_t int_char_combo;
-#endif
 {
 
      printf("Contents of int_char_combo_t: \n\n");
@@ -634,12 +499,7 @@ struct int_char_combo_t int_char_combo;
 /*****************************************************************
  * PRINT_STRUCT_REP : 
  ****************************************************************/
-#ifdef PROTOTYPES
 struct small_rep_info_t print_struct_rep(struct small_rep_info_t struct1)
-#else
-struct small_rep_info_t print_struct_rep( struct1 )
-struct small_rep_info_t struct1;
-#endif
 {
 
   printf("Contents of struct1: \n\n");
@@ -652,12 +512,7 @@ struct small_rep_info_t struct1;
 }
 
 
-#ifdef PROTOTYPES
 struct array_rep_info_t print_one_large_struct(struct array_rep_info_t linked_list1)
-#else
-struct array_rep_info_t print_one_large_struct( linked_list1 )
-struct array_rep_info_t linked_list1;
-#endif
 {
 
 
@@ -673,13 +528,7 @@ struct array_rep_info_t linked_list1;
  * IN struct array_rep_info_t *linked_list
  * IN int    seed
  ****************************************************************/
-#ifdef PROTOTYPES
 void init_array_rep(struct array_rep_info_t *linked_list, int seed)
-#else
-void init_array_rep( linked_list, seed )
-struct array_rep_info_t *linked_list;
-int    seed;
-#endif
 {
 
   int index;
@@ -772,9 +621,9 @@ int main ()  {
   print_int_char_combo(*int_char_combo);
   print_struct_rep(*struct1);
 
-  loop_count();
+  loop_count();			/* -finish2- */
 
-  return 0;
+  return 0;			/* -finish1- */
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-rt-st.exp ./gdb/testsuite/gdb.base/call-rt-st.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-rt-st.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-rt-st.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -64,19 +64,20 @@ if ![runto_main] then {
 }
 
 
+set stop_line [gdb_get_line_number "-break1-"]
 gdb_test "break loop_count" \
-    "Breakpoint.* file .*call-rt-st.c, line 128\\." \
+    "Breakpoint.* file .*call-rt-st.c, line $stop_line\\." \
     "breakpoint loop_count"
 
 gdb_test "continue" \
-    "Continuing\\..*Breakpoint.*loop_count \\(\\) at.*call-rt-st.c:128\[ \t\r\n\]+128\[\t \]+for \\(index=0; index.4; index..\\);\[\r\n \]+" \
+    "Continuing\\..*Breakpoint.*loop_count \\(\\) at.*call-rt-st.c:$stop_line\[ \t\r\n\]+$stop_line\[\t \]+for \\(index=0; index.4; index..\\);.*\[\r\n \]+" \
     "continue to loop_count"
 
 gdb_test_multiple "finish" "finish out from loop count" {
-    -re "Run till exit from .0  loop_count \\(\\) at.*call-rt-st.c:128\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:777\[ \t\r\n\]+777\[\t \]+return 0;.*$gdb_prompt $" {
-	pass "finish out from loop_count (line 777)"
+    -re "Run till exit from .0  loop_count \\(\\) at.*call-rt-st.c:$stop_line\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:${decimal}\[ \t\r\n\]+${decimal}\[\t \]+return 0;.*-finish1-.*$gdb_prompt $" {
+	pass "finish out from loop_count (finish1)"
     }
-    -re  "Run till exit from .0  loop_count \\(\\) at.*call-rt-st.c:128\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:775\[ \t\r\n\]+775\[\t \]+loop_count.*$gdb_prompt $" {
+    -re  "Run till exit from .0  loop_count \\(\\) at.*call-rt-st.c:$stop_line\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:${decimal}\[ \t\r\n\]+${decimal}\[\t \]+loop_count.*-finish2-.*$gdb_prompt $" {
 	pass "finish out from loop_count (line 775)"
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-sc.c ./gdb/testsuite/gdb.base/call-sc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-sc.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-sc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -41,17 +41,12 @@ T fun()
   return foo;  
 }
 
-#ifdef PROTOTYPES
 void Fun(T foo)
-#else
-void Fun(foo)
-     T foo;
-#endif
 {
   L = foo;
 }
 
-zed ()
+void zed ()
 {
   L = 'Z';
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-sc.exp ./gdb/testsuite/gdb.base/call-sc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-sc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-sc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-signal-resume.exp ./gdb/testsuite/gdb.base/call-signal-resume.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-signal-resume.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-signal-resume.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-signals.c ./gdb/testsuite/gdb.base/call-signals.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-signals.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-signals.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-strs.c ./gdb/testsuite/gdb.base/call-strs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-strs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-strs.c	2015-01-20 02:05:39.000000000 +0000
@@ -6,19 +6,13 @@ char buf[100];
 char bigbuf[1000];
 char * s;
 
-#ifdef PROTOTYPES
 char * str_func1(char *s1)
-#else
-char * str_func1(s1)
-char *s1;
-#endif
 {
   printf("first string arg is: %s\n", s1);
   strcpy(bigbuf, s1);
   return bigbuf;
 }
 
-#ifdef PROTOTYPES
 char * str_func(
 char * s1, 
 char * s2,
@@ -27,22 +21,6 @@ char * s4,
 char * s5,
 char * s6,
 char * s7)
-#else
-char * str_func(s1, 
-                s2,
-               s3,
-               s4,
-               s5,
-               s6,
-               s7)
-char * s1; 
-char * s2;
-char * s3;
-char * s4;
-char * s5;
-char * s6;
-char * s7;
-#endif
 {
   printf("first string arg is: %s\n", s1);
   printf("second string arg is: %s\n", s2);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-strs.exp ./gdb/testsuite/gdb.base/call-strs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/call-strs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-strs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-load.c ./gdb/testsuite/gdb.base/catch-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-load.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/catch-load.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-load.exp ./gdb/testsuite/gdb.base/catch-load.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-load.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/catch-load.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-load-so.c ./gdb/testsuite/gdb.base/catch-load-so.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-load-so.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/catch-load-so.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-signal.c ./gdb/testsuite/gdb.base/catch-signal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-signal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/catch-signal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-signal.exp ./gdb/testsuite/gdb.base/catch-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-signal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/catch-signal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -117,6 +117,7 @@ foreach {arg desc} {"" "standard signals
 	"set catchpoint '$arg' for printing"
     gdb_test "info break" "$decimal.*catchpoint.*signal.*$desc.*" \
 	"info break for '$arg'"
+    gdb_breakpoint "main"
     gdb_test "save breakpoints [standard_output_file bps.$i]" \
 	"Saved to file .*bps.$i.*" \
 	"save breakpoints for '$arg'"
@@ -124,7 +125,8 @@ foreach {arg desc} {"" "standard signals
     set filename [remote_upload host [standard_output_file bps.$i] \
 		      [standard_output_file bps-local.$i]]
     set fd [open $filename]
-    set contents [read -nonewline $fd]
+    set file_data [read $fd]
+    set data [split $file_data "\n"]
     close $fd
 
     if {$arg == ""} {
@@ -132,11 +134,17 @@ foreach {arg desc} {"" "standard signals
     } else {
 	set pattern "catch signal $arg"
     }
-    if {[string match $pattern $contents]} {
-	pass "results of save breakpoints for '$arg'"
-    } else {
-	fail "results of save breakpoints for '$arg'"
-    }
+    gdb_assert {[expr [llength $data] == 3]} \
+	"Number of lines of save breakpoints for '$arg'"
+    # Check the first line.
+    gdb_assert {[string match $pattern [lindex $data 0]]} \
+	"1st line of save breakpoints for '$arg'"
+    # Check the second line.
+    gdb_assert {[string match "break main" [lindex $data 1]]} \
+        "2nd line of save breakpoints for '$arg'"
+    # Check the trailing newline.
+    gdb_assert {[string match "" [lindex $data 2]]} \
+        "Trailing newline of save breakpoints for '$arg'"
 
     incr i
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-signal-fork.c ./gdb/testsuite/gdb.base/catch-signal-fork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-signal-fork.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/catch-signal-fork.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +14,10 @@
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+#include <stdio.h>
 #include <stdlib.h>
 #include <signal.h>
+#include <sys/wait.h>
 #include <unistd.h>
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-signal-fork.exp ./gdb/testsuite/gdb.base/catch-signal-fork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-signal-fork.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/catch-signal-fork.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-syscall.exp ./gdb/testsuite/gdb.base/catch-syscall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/catch-syscall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/catch-syscall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -311,6 +311,10 @@ proc do_syscall_tests {} {
     # Testing the 'catch' syscall command during a restart of
     # the inferior.
     if [runto_main] then { test_catch_syscall_restarting_inferior }
+
+    # Testing if the 'catch syscall' command works when switching to
+    # different architectures on-the-fly (PR gdb/10737).
+    if [runto_main] then { test_catch_syscall_multi_arch }
 }
 
 proc test_catch_syscall_without_args_noxml {} {
@@ -372,6 +376,73 @@ proc test_catch_syscall_with_wrong_args_
     }
 }
 
+proc test_catch_syscall_multi_arch {} {
+    global decimal binfile
+
+    if { [istarget "i*86-*-*"] || [istarget "x86_64-*-*"] } {
+	set arch1 "i386"
+	set arch2 "i386:x86-64"
+	set syscall1_name "exit"
+	set syscall2_name "write"
+	set syscall_number 1
+    } elseif { [istarget "powerpc-*-linux*"] \
+		   || [istarget "powerpc64-*-linux*"] } {
+	set arch1 "powerpc:common"
+	set arch2 "powerpc:common64"
+	set syscall1_name "openat"
+	set syscall2_name "unlinkat"
+	set syscall_number 286
+    } elseif { [istarget "sparc-*-linux*"] \
+		   || [istarget "sparc64-*-linux*"] } {
+	set arch1 "sparc"
+	set arch2 "sparc:v9"
+	set syscall1_name "setresuid32"
+	set syscall2_name "setresuid"
+	set syscall_number 108
+    } elseif { [istarget "mips*-linux*"] } {
+	# MIPS does not use the same numbers for syscalls on 32 and 64
+	# bits.
+	verbose "Not testing MIPS for multi-arch syscall support"
+	return
+    } elseif { [istarget "arm*-linux*"] } {
+	# catch syscall supports only 32-bit ARM for now.
+	verbose "Not testing ARM for multi-arch syscall support"
+	return
+    } elseif { [istarget "s390*-linux*"] } {
+	set arch1 ""
+	set arch2 "s390:64-bit"
+	set syscall1_name "_newselect"
+	set syscall2_name "select"
+	set syscall_number 142
+    }
+
+    with_test_prefix "multiple targets" {
+	# We are not interested in loading any binary here, and in
+	# some systems (PowerPC, for example), if we load a binary
+	# there is no way to set other architecture.
+	gdb_exit
+	gdb_start
+
+	gdb_test "set architecture $arch1" \
+	    "The target architecture is assumed to be $arch1" \
+	    "set arch to $arch1"
+
+	gdb_test "catch syscall $syscall_number" \
+	    "Catchpoint $decimal \\(syscall .${syscall1_name}. \\\[${syscall_number}\\\]\\)" \
+	    "insert catch syscall on syscall $syscall_number -- $syscall1_name on $arch1"
+
+	gdb_test "set architecture $arch2" \
+	    "The target architecture is assumed to be $arch2" \
+	    "set arch to $arch2"
+
+	gdb_test "catch syscall $syscall_number" \
+	    "Catchpoint $decimal \\(syscall .${syscall2_name}. \\\[${syscall_number}\\\]\\)" \
+	    "insert catch syscall on syscall $syscall_number -- $syscall2_name on $arch2"
+
+	clean_restart $binfile
+    }
+}
+
 proc do_syscall_tests_without_xml {} {
     # Make sure GDB doesn't load the syscalls xml from the system data
     # directory.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/charset.c ./gdb/testsuite/gdb.base/charset.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/charset.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/charset.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2001-2014 Free Software Foundation, Inc.
+   Copyright 2001-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat, originally written by Jim Blandy.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/charset.exp ./gdb/testsuite/gdb.base/charset.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/charset.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/charset.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2001-2014 Free Software Foundation, Inc.
+# Copyright 2001-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -324,18 +324,7 @@ gdb_test "break ${srcfile}:[gdb_get_line
          ".*Breakpoint.* at .*" \
          "set breakpoint after all strings have been initialized"
 gdb_run_cmd
-gdb_expect {
-    -re "Breakpoint.*all strings initialized.*$gdb_prompt $" {
-        pass "run until all strings have been initialized"
-    }
-    -re "$gdb_prompt $" {
-        fail "run until all strings have been initialized"
-    }
-    timeout {
-        fail "run until all strings have been initialized (timeout)"
-    }
-}
-
+gdb_test "" "Breakpoint.*all strings initialized.*" "run until all strings have been initialized"
 
 # We only try the wide character tests on machines where the wchar_t
 # typedef in the test case has the right size.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/charset-malloc.c ./gdb/testsuite/gdb.base/charset-malloc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/charset-malloc.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/charset-malloc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat, originally written by Jim Blandy.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/checkpoint.c ./gdb/testsuite/gdb.base/checkpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/checkpoint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/checkpoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,10 +17,11 @@
 
 #include <stdlib.h>
 #include <stdio.h>
+#include <unistd.h>
 
 long lines = 0;
 
-main()
+int main()
 {
   char linebuf[128];
   FILE *in, *out;
@@ -34,7 +35,7 @@ main()
   if (!in || !out)
     {
       fprintf (stderr, "File open failed\n");
-      exit (1);
+      return 1;
     }
 
   for (i = 0; ; i++)
@@ -55,5 +56,5 @@ main()
   fclose (out);
   printf ("Deleting copy.\n");	/* breakpoint 3 */
   unlink (COPY1_TXT);
-  exit (0);			/* breakpoint 4 */
+  return 0;			/* breakpoint 4 */
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/checkpoint.exp ./gdb/testsuite/gdb.base/checkpoint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/checkpoint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/checkpoint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2005-2014 Free Software Foundation, Inc.
+#   Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -371,5 +371,3 @@ verbose "Timeout now $timeout sec."
 #
 # Finished: cleanup
 #
-
-remote_exec host "rm -f $pi_txt"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/chng-syms.exp ./gdb/testsuite/gdb.base/chng-syms.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/chng-syms.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/chng-syms.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -30,25 +30,10 @@ set timeout 10
 verbose "Timeout is now 10 seconds" 2
 
 proc expect_to_stop_here { ident } {
-    global gdb_prompt
-    global decimal
-
     # the "at foo.c:36" output we get with -g.
     # the "in func" output we get without -g.
-    gdb_expect {
-	-re "Breakpoint \[0-9\]*, stop_here .*$gdb_prompt $" { 
-	    return 1
-	}
-	-re "$gdb_prompt $" { 
-	    fail "running to stop_here $ident"
-	    return 0
-	}
-	timeout { 
-	    fail "running to stop_here $ident (timeout)"
-	    return 0
-	}
-    }
-    return 1
+
+    gdb_test "" "Breakpoint \[0-9\]*, stop_here .*" "running to stop_here $ident"
 }
 
 clean_restart ${binfile}
@@ -83,18 +68,14 @@ if  { [gdb_compile "${srcdir}/${subdir}/
 } else {
 
     gdb_run_cmd
-    gdb_expect {
+
+    set test "running with invalidated bpt condition after executable changes"
+    gdb_test_multiple "" $test {
 	-re ".*$inferior_exited_re normally.*$gdb_prompt $" {
-	    pass "running with invalidated bpt condition after executable changes" 
+	    pass $test
 	}
 	-re ".*Breakpoint .*,( 0x.* in)? (\[^ \]*)exit .*$gdb_prompt $" {
-	    pass "running with invalidated bpt condition after executable changes" 
-	}
-	-re "$gdb_prompt $" { 
-	    fail "running with invalidated bpt condition after executable changes" 
-	}
-	timeout {
-	    fail "(timeout) running with invalidated bpt condition after executable changes" 
+	    pass $test
 	}
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/code_elim1.c ./gdb/testsuite/gdb.base/code_elim1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/code_elim1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/code_elim1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/code_elim2.c ./gdb/testsuite/gdb.base/code_elim2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/code_elim2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/code_elim2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,15 +20,15 @@ int my_global_symbol = 42;
 static int my_static_symbol;
 
 int
-main ()
-{
-  return my_global_func ();
-}
-
-int
 my_global_func ()
 {
   my_static_symbol = my_global_symbol;
   my_global_symbol = my_static_symbol + my_global_symbol;
   return my_global_symbol;
 }
+
+int
+main ()
+{
+  return my_global_func ();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/code_elim.exp ./gdb/testsuite/gdb.base/code_elim.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/code_elim.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/code_elim.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/code-expr.exp ./gdb/testsuite/gdb.base/code-expr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/code-expr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/code-expr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/commands.exp ./gdb/testsuite/gdb.base/commands.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/commands.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/commands.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
+#   Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -59,11 +59,6 @@ proc gdbvar_complex_if_while_test {} {
 proc progvar_simple_if_test {} {
     global gdb_prompt
 
-    if [target_info exists noargs] { 
-        verbose "Skipping progvar_simple_if_test because of noargs."
-        return
-    }
-
     if { ![runto factorial] } then { gdb_suppress_tests; }
     # Don't depend upon argument passing, since most simulators don't
     # currently support it.  Bash value variable to be what we want.
@@ -82,12 +77,6 @@ proc progvar_simple_if_test {} {
 proc progvar_simple_while_test {} {
     global gdb_prompt
 
-    if [target_info exists noargs] { 
-        verbose "Skipping progvar_simple_while_test because of noargs."
-        return
-    }
-
-    gdb_test_no_output "set args 5" "set args in progvar_simple_while_test"
     if { ![runto factorial] } then { gdb_suppress_tests }
     # Don't depend upon argument passing, since most simulators don't
     # currently support it.  Bash value variable to be what we want.
@@ -102,13 +91,6 @@ proc progvar_simple_while_test {} {
 proc progvar_complex_if_while_test {} {
     global gdb_prompt
 
-    if [target_info exists noargs] { 
-        verbose "Skipping progvar_simple_if_while_test because of noargs."
-        return
-    }
-
-    gdb_test_no_output "set args 4" \
-	"set args in progvar_complex_if_while_test"
     if { ![runto factorial] } then { gdb_suppress_tests }
     # Don't depend upon argument passing, since most simulators don't
     # currently support it.  Bash value variable to be what we want.
@@ -121,13 +103,7 @@ proc progvar_complex_if_while_test {} {
 }
 
 proc if_while_breakpoint_command_test {} {
-    if [target_info exists noargs] { 
-        verbose "Skipping if_while_breakpoint_command_test because of noargs."
-        return
-    }
 
-    gdb_test_no_output "set args 5" \
-	"set args in if_while_breakpoint_command_test"
     if { ![runto factorial] } then { gdb_suppress_tests }
     # Don't depend upon argument passing, since most simulators don't
     # currently support it.  Bash value variable to be what we want.
@@ -162,13 +138,7 @@ proc if_while_breakpoint_command_test {}
 # subsection "Breakpoint command lists".
 
 proc infrun_breakpoint_command_test {} {
-    if [target_info exists noargs] { 
-        verbose "Skipping infrun_breakpoint_command_test because of noargs."
-        return
-    }
 
-    gdb_test_no_output "set args 6" \
-	"set args in infrun_breakpoint_command_test"
     if { ![runto factorial] } then { gdb_suppress_tests }
     # Don't depend upon argument passing, since most simulators don't
     # currently support it.  Bash value variable to be what we want.
@@ -197,12 +167,7 @@ proc infrun_breakpoint_command_test {} {
 }
 
 proc breakpoint_command_test {} {
-    if [target_info exists noargs] { 
-        verbose "Skipping breakpoint_command_test because of noargs."
-        return
-    }
 
-    gdb_test_no_output "set args 6" "set args in breakpoint_command_test"
     if { ![runto factorial] } then { gdb_suppress_tests; }
     # Don't depend upon argument passing, since most simulators don't
     # currently support it.  Bash value variable to be what we want.
@@ -243,23 +208,38 @@ proc user_defined_command_test {} {
    gdb_test "show user mycommand" \
 	"  while \\\$arg0.*set.*    if \\\(\\\$arg0.*p/x.*    else\[^\n\].*p/x.*    end\[^\n\].*  end\[^\n\].*" \
 	   "display user command in user_defined_command_test"
+
+    # Create and test a user-defined command with an empty body.
+    gdb_test_multiple "define myemptycommand" \
+	"define myemptycommand in user_defined_command_test" {
+	    -re "End with"  {
+		pass "define myemptycommand in user_defined_command_test"
+	    }
+	}
+    gdb_test "end" \
+	"" \
+	"end definition of user-defined command with empty body"
+
+    gdb_test_no_output "myemptycommand" \
+	"execute user-defined empty command in user_defined_command_test"
+
+    gdb_test "show user" \
+	"User command \"myemptycommand.*" \
+	"display empty command in command list in user_defined_command_test"
+
+    gdb_test "show user myemptycommand" \
+	"User command \"myemptycommand.*" \
+	"display user-defined empty command in user_defined_command_test"
 }
 
 proc watchpoint_command_test {} {
-    global noargs
     global gdb_prompt
 
-    if [target_info exists noargs] { 
-        verbose "Skipping watchpoint_command_test because of noargs."
-        return
-    }
-
     # Disable hardware watchpoints if necessary.
     if [target_info exists gdb,no_hardware_watchpoints] {
 	gdb_test_no_output "set can-use-hw-watchpoints 0" ""
     }
 
-    gdb_test_no_output "set args 6" "set args in watchpoint_command_test"
     if { ![runto factorial] } then { return }
     delete_breakpoints
 
@@ -326,11 +306,6 @@ proc watchpoint_command_test {} {
 proc test_command_prompt_position {} {
     global gdb_prompt
 
-    if [target_info exists noargs] { 
-        verbose "Skipping test_command_prompt_position because of noargs."
-        return
-    }
-
     if { ![runto factorial] } then { gdb_suppress_tests; }
     # Don't depend upon argument passing, since most simulators don't
     # currently support it.  Bash value variable to be what we want.
@@ -424,14 +399,7 @@ proc deprecated_command_test {} {
 
 proc bp_deleted_in_command_test {} {
     global gdb_prompt
-    
-    if [target_info exists noargs] { 
-        verbose "Skipping bp_deleted_in_command_test because of noargs."
-        return
-    }
 
-    gdb_test_no_output "set args 1" \
-	"set args in bp_deleted_in_command_test"
     delete_breakpoints
 
     # Create a breakpoint, and associate a command-list to it, with
@@ -471,28 +439,12 @@ proc bp_deleted_in_command_test {} {
 	"end commands"
 
     gdb_run_cmd
-    gdb_expect {
-        -re ".*factorial command-list executed.*$gdb_prompt $" {
-	    pass "run factorial until breakpoint"
-        }
-	-re ".*$gdb_prompt $" {
-	    fail "run factorial until breakpoint"
-	}
-	default { fail "(timeout) run factorial until breakpoint" }
-	timeout { fail "(timeout) run factorial until breakpoint" }
-    }
+    gdb_test "" "factorial command-list executed.*" "run factorial until breakpoint"
 }
 
 proc temporary_breakpoint_commands {} {
     global gdb_prompt
-    
-    if [target_info exists noargs] { 
-        verbose "Skipping temporary_breakpoint_commands because of noargs."
-        return
-    }
 
-    gdb_test_no_output "set args 1" \
-	"set args in temporary_breakpoint_commands"
     delete_breakpoints
 
     # Create a temporary breakpoint, and associate a commands list to it.
@@ -529,12 +481,8 @@ proc temporary_breakpoint_commands {} {
 	"end tbreak commands"
 
     gdb_run_cmd
-    gdb_expect {
-	-re ".*factorial tbreak commands executed.*$gdb_prompt $" {
-	    pass "run factorial until temporary breakpoint"
-	}
-	timeout { fail "(timeout) run factorial until temporary breakpoint" }
-    }
+    gdb_test "" "factorial tbreak commands executed.*" \
+	"run factorial until temporary breakpoint"
 }
 
 # Test that GDB can handle $arg0 outside of user functions without
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/compare-sections.c ./gdb/testsuite/gdb.base/compare-sections.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/compare-sections.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/compare-sections.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/compare-sections.exp ./gdb/testsuite/gdb.base/compare-sections.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/compare-sections.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/compare-sections.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/completion.exp ./gdb/testsuite/gdb.base/completion.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/completion.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/completion.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -114,7 +114,8 @@ foreach dir1 [ list "./gdb.base" "./outp
 	 && [remote_file host exists ${dir1}/completion1.o] } {
 	foreach target_name ${targets} {
 	    gdb_test "complete target ${target_name} ${dir1}/completion" \
-		"target ${target_name} ${dir1}/completion.*${dir1}/completion0\\.o.*${dir1}/completion1\\.o.*"
+		"target ${target_name} ${dir1}/completion.*${dir1}/completion0\\.o.*${dir1}/completion1\\.o.*" \
+		"complete target ${target_name}"
 	}
 	break
     }
@@ -136,6 +137,34 @@ gdb_test "complete set listsize unl" "se
 gdb_test "complete set trace-buffer-size " "set trace-buffer-size unlimited"
 gdb_test "complete set trace-buffer-size unl" "set trace-buffer-size unlimited"
 
+# Test "info registers" completion: First determine this
+# architecture's registers and reggroups...
+
+set regs_output [capture_command_output "mt print registers" \
+		     ".*Name.*Nr.*Rel.*Offset.*Size.*Type.\[^\n\]*\n"]
+append regs_output "\n"
+append regs_output [capture_command_output "mt print reggroups" \
+			".*Group.*Type\[^\n]*\n"]
+append regs_output "\n"
+append regs_output [capture_command_output "mt print user-registers" \
+		     ".*Name.*Nr\[^\n]*\n"]
+set all_regs {}
+foreach {- reg} [regexp -all -inline -line {^\s+(\w+)} $regs_output] {
+    lappend all_regs $reg
+}
+
+set all_regs [join [lsort -unique $all_regs]]
+
+# ... and then compare them to the completion of "info registers".
+
+set regs_output [capture_command_output "complete info registers " ""]
+set completed_regs {}
+foreach {-> reg} [regexp -all -inline -line {^info registers (\w+\S*)} $regs_output] {
+    lappend completed_regs $reg
+}
+set completed_regs [join [lsort $completed_regs]]
+gdb_assert {{$all_regs eq $completed_regs}} "complete 'info registers '"
+
 # Tests below are about tab-completion, which doesn't work if readline
 # library isn't used.  Check it first.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/complex.c ./gdb/testsuite/gdb.base/complex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/complex.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/complex.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2002-2014 Free Software Foundation, Inc.
+/* Copyright 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/complex.exp ./gdb/testsuite/gdb.base/complex.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/complex.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/complex.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/comprdebug.exp ./gdb/testsuite/gdb.base/comprdebug.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/comprdebug.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/comprdebug.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/condbreak-call-false.c ./gdb/testsuite/gdb.base/condbreak-call-false.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/condbreak-call-false.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/condbreak-call-false.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/condbreak-call-false.exp ./gdb/testsuite/gdb.base/condbreak-call-false.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/condbreak-call-false.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/condbreak-call-false.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/condbreak.exp ./gdb/testsuite/gdb.base/condbreak.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/condbreak.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/condbreak.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,13 +38,9 @@ clean_restart ${binfile}
 set bp_location1  [gdb_get_line_number "set breakpoint 1 here"]
 set bp_location6  [gdb_get_line_number "set breakpoint 6 here"]
 set bp_location8  [gdb_get_line_number "set breakpoint 8 here" $srcfile2]
-set bp_location9  [gdb_get_line_number "set breakpoint 9 here" $srcfile2]
-set bp_location13 [gdb_get_line_number "set breakpoint 13 here" $srcfile2]
 set bp_location14 [gdb_get_line_number "set breakpoint 14 here" $srcfile2]
 set bp_location15 [gdb_get_line_number "set breakpoint 15 here" $srcfile2]
-set bp_location16 [gdb_get_line_number "set breakpoint 16 here" $srcfile2]
 set bp_location17 [gdb_get_line_number "set breakpoint 17 here" $srcfile2]
-set bp_location18 [gdb_get_line_number "set breakpoint 18 here" $srcfile2]
 
 #
 # test break at function
@@ -113,15 +109,15 @@ if {$hp_aCC_compiler} {
 gdb_test "info break" \
     "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$bp_location6.*
-\[0-9\]+\[\t \]+breakpoint     keep y.* in marker1$marker1_proto at .*$srcfile2:($bp_location15|$bp_location16).*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in marker1$marker1_proto at .*$srcfile2:$bp_location15.*
 \[\t \]+stop only if \\(1==1\\).*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$bp_location1.*
 \[\t \]+stop only if \\(1==1\\).*
-\[0-9\]+\[\t \]+breakpoint     keep y.* in marker2$marker2_proto at .*$srcfile2:($bp_location8|$bp_location9).*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in marker2$marker2_proto at .*$srcfile2:$bp_location8.*
 \[\t \]+stop only if \\(a==43\\).*
-\[0-9\]+\[\t \]+breakpoint     keep y.* in marker3$marker3_proto at .*$srcfile2:($bp_location17|$bp_location18).*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in marker3$marker3_proto at .*$srcfile2:$bp_location17.*
 \[\t \]+stop only if \\(multi_line_if_conditional\\(1,1,1\\)==0\\).*
-\[0-9\]+\[\t \]+breakpoint     keep y.* in marker4$marker4_proto at .*$srcfile2:($bp_location13|$bp_location14).*" \
+\[0-9\]+\[\t \]+breakpoint     keep y.* in marker4$marker4_proto at .*$srcfile2:$bp_location14.*" \
     "breakpoint info"
 
 
@@ -179,10 +175,10 @@ gdb_test "continue" "Continuing\\..*Brea
 #
 # Until the Dwarf2 writer gets fixed, I'm going to XFAIL its behavior.
 gdb_test_multiple "continue" "run until breakpoint at marker1" {
-    -re  "Continuing\\..*Breakpoint \[0-9\]+, marker1 \\(\\) at .*$srcfile2:($bp_location15|$bp_location16).*($bp_location15|$bp_location16)\[\t \]+.*$gdb_prompt $" {
+    -re  "Continuing\\..*Breakpoint \[0-9\]+, marker1 \\(\\) at .*$srcfile2:$bp_location15.*$bp_location15\[\t \]+.*$gdb_prompt $" {
 	pass "run until breakpoint at marker1"
     }
-    -re  "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker1 \\(\\) at .*$srcfile2:($bp_location15|$bp_location16).*($bp_location15|$bp_location16)\[\t \]+.*$gdb_prompt $" {
+    -re  "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker1 \\(\\) at .*$srcfile2:$bp_location15.*$bp_location15\[\t \]+.*$gdb_prompt $" {
 	xfail "run until breakpoint at marker1"
     }
 }
@@ -191,10 +187,10 @@ gdb_test_multiple "continue" "run until 
 # Same issues here as above.
 setup_xfail hppa2.0w-*-* 11512CLLbs
 gdb_test_multiple "continue" "run until breakpoint at marker2" {
-    -re "Continuing\\..*Breakpoint \[0-9\]+, marker2 \\(a=43\\) at .*$srcfile2:($bp_location8|$bp_location9).*($bp_location8|$bp_location9)\[\t \]+.*$gdb_prompt $" {
+    -re "Continuing\\..*Breakpoint \[0-9\]+, marker2 \\(a=43\\) at .*$srcfile2:$bp_location8.*$bp_location8\[\t \]+.*$gdb_prompt $" {
 	pass "run until breakpoint at marker2"
     }
-    -re "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker2 \\(a=43\\) at .*$srcfile2:($bp_location8|$bp_location9).*($bp_location8|$bp_location9)\[\t \]+.*$gdb_prompt $" {
+    -re "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker2 \\(a=43\\) at .*$srcfile2:$bp_location8.*$bp_location8\[\t \]+.*$gdb_prompt $" {
 	xfail "run until breakpoint at marker2"
     }
 }
@@ -228,20 +224,20 @@ gdb_test "break *main if (1==1) ta 999" 
 
 set test "run until breakpoint at marker3"
 gdb_test_multiple "continue" $test {
-    -re "Continuing\\..*Breakpoint \[0-9\]+, marker3 \\(a=$hex \"stack\", b=$hex \"trace\"\\) at .*$srcfile2:($bp_location17|$bp_location18).*($bp_location17|$bp_location18)\[\t \]+.*$gdb_prompt $" {
+    -re "Continuing\\..*Breakpoint \[0-9\]+, marker3 \\(a=$hex \"stack\", b=$hex \"trace\"\\) at .*$srcfile2:$bp_location17.*$bp_location17\[\t \]+.*$gdb_prompt $" {
 	pass $test
     }
-    -re "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker3 \\(a=$hex \"stack\", b=$hex \"trace\"\\) at .*$srcfile2:($bp_location17|$bp_location18).*($bp_location17|$bp_location18)\[\t \]+.*$gdb_prompt $" {
+    -re "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker3 \\(a=$hex \"stack\", b=$hex \"trace\"\\) at .*$srcfile2:$bp_location17.*$bp_location17\[\t \]+.*$gdb_prompt $" {
 	xfail $test
     }
 }
 
 set test "run until breakpoint at marker4"
 gdb_test_multiple "continue" $test {
-    -re "Continuing\\..*Breakpoint \[0-9\]+, marker4 \\(d=177601976\\) at .*$srcfile2:($bp_location13|$bp_location14).*($bp_location13|$bp_location14)\[\t \]+.*$gdb_prompt $" {
+    -re "Continuing\\..*Breakpoint \[0-9\]+, marker4 \\(d=177601976\\) at .*$srcfile2:$bp_location14.*$bp_location14\[\t \]+.*$gdb_prompt $" {
 	pass $test
     }
-    -re "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker4 \\(d=177601976\\) at .*$srcfile2:($bp_location13|$bp_location14).*($bp_location13|$bp_location14)\[\t \]+.*$gdb_prompt $" {
+    -re "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker4 \\(d=177601976\\) at .*$srcfile2:$bp_location14.*$bp_location14\[\t \]+.*$gdb_prompt $" {
 	xfail $test
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cond-eval-mode.c ./gdb/testsuite/gdb.base/cond-eval-mode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cond-eval-mode.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/cond-eval-mode.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cond-eval-mode.exp ./gdb/testsuite/gdb.base/cond-eval-mode.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cond-eval-mode.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/cond-eval-mode.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2012-2014 Free Software Foundation, Inc.
+#   Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cond-expr.exp ./gdb/testsuite/gdb.base/cond-expr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cond-expr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/cond-expr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/consecutive.exp ./gdb/testsuite/gdb.base/consecutive.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/consecutive.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/consecutive.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2001-2014 Free Software Foundation, Inc.
+#   Copyright 2001-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/consecutive-step-over.c ./gdb/testsuite/gdb.base/consecutive-step-over.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/consecutive-step-over.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/consecutive-step-over.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2014 Free Software Foundation, Inc.
+/* Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/consecutive-step-over.exp ./gdb/testsuite/gdb.base/consecutive-step-over.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/consecutive-step-over.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/consecutive-step-over.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/constvars.c ./gdb/testsuite/gdb.base/constvars.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/constvars.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/constvars.c	2015-01-20 02:05:39.000000000 +0000
@@ -127,6 +127,16 @@ main (void)
   volatile float          * volatile vitality = &vacuity;
   volatile double         * volatile voracity = &vertigo;
 
+  /* volatile arrays */
+  volatile char violent[2] = {vox, vox};
+  volatile unsigned char violet[2] = {victuals, victuals};
+  volatile short vips[2] = {vixen, vixen};
+  volatile unsigned short virgen[2] = {vitriol, vitriol};
+  volatile long vulgar[2] = {vellum, vellum};
+  volatile unsigned long vulture[2] = {valve, valve};
+  volatile float vilify[2] = {vacuity, vacuity};
+  volatile double villar[2] = {vertigo, vertigo};
+
   /* const volatile vars */
 
   const volatile char           victor = 'Y';
@@ -177,6 +187,10 @@ main (void)
   const volatile char              * const volatile vagary = &victor;
   const volatile unsigned char     * const volatile vendor = &vicar;
   
+  /* const volatile arrays */
+  const volatile char vindictive[2] = {victor, victor};
+  const volatile unsigned char vegetation[2] = {vicar, vicar};
+
   /* various structs with const members */
 
   struct crass { char * const ptr; } crass = { lamprey };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/constvars.exp ./gdb/testsuite/gdb.base/constvars.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/constvars.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/constvars.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/continue-all-already-running.c ./gdb/testsuite/gdb.base/continue-all-already-running.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/continue-all-already-running.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/continue-all-already-running.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/continue-all-already-running.exp ./gdb/testsuite/gdb.base/continue-all-already-running.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/continue-all-already-running.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/continue-all-already-running.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/corefile.exp ./gdb/testsuite/gdb.base/corefile.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/corefile.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/corefile.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -161,7 +161,7 @@ gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]*
 # Test ability to read mmap'd data
 
 gdb_test "x/8bd buf1" ".*:.*0.*1.*2.*3.*4.*5.*6.*7" "accessing original mmap data in core file"
-setup_xfail "*-*-sunos*" "*-*-ultrix*" "*-*-aix*"
+setup_xfail "*-*-sunos*" "*-*-aix*"
 set test "accessing mmapped data in core file"
 gdb_test_multiple "x/8bd buf2" "$test" {
     -re ".*:.*0.*1.*2.*3.*4.*5.*6.*7.*$gdb_prompt $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/coremaker2.c ./gdb/testsuite/gdb.base/coremaker2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/coremaker2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/coremaker2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 1992-2014 Free Software Foundation, Inc.
+/* Copyright 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/coremaker.c ./gdb/testsuite/gdb.base/coremaker.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/coremaker.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/coremaker.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 1992-2014 Free Software Foundation, Inc.
+/* Copyright 1992-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,6 +25,7 @@
 #include <signal.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include <string.h>
 
 #ifndef __STDC__
 #define	const	/**/
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ctxobj.exp ./gdb/testsuite/gdb.base/ctxobj.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ctxobj.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ctxobj.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ctxobj-f.c ./gdb/testsuite/gdb.base/ctxobj-f.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ctxobj-f.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ctxobj-f.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This testcase is part of GDB, the GNU debugger.
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ctxobj-m.c ./gdb/testsuite/gdb.base/ctxobj-m.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ctxobj-m.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ctxobj-m.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This testcase is part of GDB, the GNU debugger.
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ctxobj-v.c ./gdb/testsuite/gdb.base/ctxobj-v.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ctxobj-v.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ctxobj-v.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This testcase is part of GDB, the GNU debugger.
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cursal.c ./gdb/testsuite/gdb.base/cursal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cursal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/cursal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2004-2014 Free Software Foundation, Inc.
+/* Copyright 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cursal.exp ./gdb/testsuite/gdb.base/cursal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cursal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/cursal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cvexpr.c ./gdb/testsuite/gdb.base/cvexpr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cvexpr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/cvexpr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cvexpr.exp ./gdb/testsuite/gdb.base/cvexpr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/cvexpr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/cvexpr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dbx.exp ./gdb/testsuite/gdb.base/dbx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dbx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dbx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -243,10 +243,12 @@ proc gdb_file_cmd {arg} {
 #test_breakpoints
 #
 proc test_breakpoints { } {
-    gdb_test "stop in main" "Breakpoint.*at.*: file.*average\.c, line 38\."
-    gdb_test "status" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep y.*in main at.*average\.c:38.*"
-    gdb_test "stop at average.c:43" "Breakpoint.*at.*: file.*average\.c, line 43.*"
-    gdb_test "stop in average.c:43" "Usage: stop in <function . address>"
+    set stop_line [gdb_get_line_number "stop-in-main"]
+    gdb_test "stop in main" "Breakpoint.*at.*: file.*average\.c, line $stop_line\."
+    gdb_test "status" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep y.*in main at.*average\.c:$stop_line.*"
+    set stop_line [gdb_get_line_number "stop-at-call"]
+    gdb_test "stop at average.c:$stop_line" "Breakpoint.*at.*: file.*average\.c, line $stop_line.*"
+    gdb_test "stop in average.c:$stop_line" "Usage: stop in <function . address>"
     gdb_test "stop at main" "Usage: stop at <line>"
 }
 
@@ -258,11 +260,14 @@ proc test_assign { } {
     global gdb_prompt
 
     gdb_run_cmd
-    gdb_expect 30 {
-        -re "Break.* at .*:$decimal.*$gdb_prompt $" { pass "running to main" }
-        -re "Breakpoint \[0-9\]*, \[0-9xa-f\]* in .*$gdb_prompt $" { pass "running to main"  }
-        -re "$gdb_prompt $" { fail "running to main" }
-        timeout { fail "running to main (timeout)" }
+    set test "running to main"
+    gdb_test_multiple "" $test {
+        -re "Break.* at .*:$decimal.*$gdb_prompt $" {
+	    pass $test
+	}
+        -re "Breakpoint \[0-9\]*, \[0-9xa-f\]* in .*$gdb_prompt $" {
+	    pass $test
+	}
     }
     send_gdb "assign first=1\n"
     gdb_expect {
@@ -284,16 +289,19 @@ proc test_whereis { } {
 #test_func
 #
 proc test_func { } {
+    global decimal
+    global srcfile2
     gdb_test "cont" ".*" "cont 1"
     gdb_test "step" ".*"
     # This always fails, but it's not clear why. -sts 1999-08-17
     setup_xfail "*-*-*"
     gdb_test "func sum" "'sum' not within current stack frame\."
-    gdb_test "stop in sum" "Breakpoint.*at.*: file.*sum\.c, line 11\."
+    set stop_line [gdb_get_line_number "stop-in-sum" $srcfile2]
+    gdb_test "stop in sum" "Breakpoint.*at.*: file.*sum\.c, line $stop_line\."
     gdb_test "cont" ".*" "cont 2"
     # This always fails, but it's not clear why. -sts 1999-08-17
     setup_xfail "*-*-*"
-    gdb_test "func print_average" ".*in print_average.*\\(list=.*, low=0, high=6\\).*at.*average\.c:24\r\n24\[ \t\]+total = sum\\(list, low, high\\);"
+    gdb_test "func print_average" ".*in print_average.*\\(list=.*, low=0, high=6\\).*at.*average\.c:${decimal}\r\n\${decimal}\[ \t\]+total = sum\\(list, low, high\\);"
 }
 
 # Start with a fresh gdb.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dcache-line-read-error.c ./gdb/testsuite/gdb.base/dcache-line-read-error.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dcache-line-read-error.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dcache-line-read-error.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dcache-line-read-error.exp ./gdb/testsuite/gdb.base/dcache-line-read-error.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dcache-line-read-error.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dcache-line-read-error.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/debug-expr.exp ./gdb/testsuite/gdb.base/debug-expr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/debug-expr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/debug-expr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,3 +50,8 @@ gdb_test_no_output "set debug expression
 # This caused gdb to segfault.
 test_debug_expr "print /x {char\[4\]} array" \
     "\[$\]$decimal = \\{0x0, 0x1, 0x2, 0x3\\}"
+
+# This caused gdb to output garbage and possibly segfault
+gdb_test "print \"hello\"" \
+    ".*OP_STRING\[^\r\n\]*Language-specific string type: 0.*\[\r\n\]\\$$decimal = \"hello\"\[\r\n\].*" \
+    "String evaluation with debug expr"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/default.exp ./gdb/testsuite/gdb.base/default.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/default.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/default.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
+#   Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -412,14 +412,6 @@ gdb_test "pwd" "Working directory .*" "p
 #test run "r" abbreviation
 if $use_gdb_stub {
     # Only extended-remote supports "run".
-} elseif [istarget "*-*-vxworks*"] then {
-    gdb_test "set args" ".*" "" 
-
-    gdb_test "r" "Starting program: .*
-You must specify a function name to run, and arguments if any"\
-		"run \"r\" abbreviation"
-    gdb_test "set args main" ".*" "" 
-
 } else {
     gdb_test_multiple "r" "run \"r\" abbreviation" {
 	-re "Starting program:  .*You can't do that when your target is `None'.*$gdb_prompt $"\
@@ -442,13 +434,6 @@ You must specify a function name to run,
 #test run
 if $use_gdb_stub {
     # Only extended-remote supports "run".
-} elseif [istarget "*-*-vxworks*"] then {
-    gdb_test "set args" ".*" "" 
-
-    gdb_test "run" "Starting program: .*
-You must specify a function name to run, and arguments if any"
-    gdb_test "set args main" ".*" "" 
-
 } else {
     gdb_test_multiple "run" "run" {
 	-re "Starting program:.*You can't do that when your target is `None'.*$gdb_prompt $"\
@@ -630,6 +615,10 @@ if ![skip_python_tests] {
 	    {$_regex = <internal function _regex>} \
 	    {$_streq = <internal function _streq>} \
 	    {$_strlen = <internal function _strlen>} \
+	    {$_caller_is = <internal function _caller_is>} \
+	    {$_caller_matches = <internal function _caller_matches>} \
+	    {$_any_caller_is = <internal function _any_caller_is>} \
+	    {$_any_caller_matches = <internal function _any_caller_matches>} \
 	}
 }
 gdb_test_list_exact "show convenience" "show convenience" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/define.exp ./gdb/testsuite/gdb.base/define.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/define.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/define.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/del.c ./gdb/testsuite/gdb.base/del.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/del.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/del.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/del.exp ./gdb/testsuite/gdb.base/del.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/del.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/del.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/detach.exp ./gdb/testsuite/gdb.base/detach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/detach.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/detach.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2003-2014 Free Software Foundation, Inc.
+#   Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dfp-exprs.exp ./gdb/testsuite/gdb.base/dfp-exprs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dfp-exprs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dfp-exprs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dfp-test.c ./gdb/testsuite/gdb.base/dfp-test.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dfp-test.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dfp-test.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dfp-test.exp ./gdb/testsuite/gdb.base/dfp-test.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dfp-test.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dfp-test.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disabled-location.c ./gdb/testsuite/gdb.base/disabled-location.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disabled-location.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/disabled-location.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disabled-location.exp ./gdb/testsuite/gdb.base/disabled-location.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disabled-location.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/disabled-location.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disasm-end-cu-1.c ./gdb/testsuite/gdb.base/disasm-end-cu-1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disasm-end-cu-1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/disasm-end-cu-1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disasm-end-cu-2.c ./gdb/testsuite/gdb.base/disasm-end-cu-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disasm-end-cu-2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/disasm-end-cu-2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disasm-end-cu.exp ./gdb/testsuite/gdb.base/disasm-end-cu.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disasm-end-cu.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/disasm-end-cu.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/display.exp ./gdb/testsuite/gdb.base/display.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/display.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/display.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -106,14 +106,7 @@ gdb_test "undisp" \
 # Test displaying a variable that is temporarily at a bad address.
 # But if we can examine what's at memory address 0, then we'll also be
 # able to display it without error.  Don't run the test in that case.
-set can_read_0 0
-gdb_test_multiple "x 0" "memory at address 0" {
-    -re "0x0:.*Cannot access memory at address 0x0.*$gdb_prompt $" { }
-    -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { }
-    -re ".*$gdb_prompt $" {
-	set can_read_0 1
-    }
-}
+set can_read_0 [is_address_zero_readable]
 
 if { !$can_read_0 } {
     gdb_test "disp *p_i" ".*: \\*p_i = 0"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disp-step-fork.c ./gdb/testsuite/gdb.base/disp-step-fork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disp-step-fork.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/disp-step-fork.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disp-step-syscall.exp ./gdb/testsuite/gdb.base/disp-step-syscall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disp-step-syscall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/disp-step-syscall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disp-step-vfork.c ./gdb/testsuite/gdb.base/disp-step-vfork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/disp-step-vfork.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/disp-step-vfork.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dmsym.c ./gdb/testsuite/gdb.base/dmsym.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dmsym.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dmsym.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dmsym.exp ./gdb/testsuite/gdb.base/dmsym.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dmsym.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dmsym.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dmsym_main.c ./gdb/testsuite/gdb.base/dmsym_main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dmsym_main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dmsym_main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/double-prompt-target-event-error.c ./gdb/testsuite/gdb.base/double-prompt-target-event-error.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/double-prompt-target-event-error.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/double-prompt-target-event-error.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/double-prompt-target-event-error.exp ./gdb/testsuite/gdb.base/double-prompt-target-event-error.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/double-prompt-target-event-error.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/double-prompt-target-event-error.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-bp-same-addr.c ./gdb/testsuite/gdb.base/dprintf-bp-same-addr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-bp-same-addr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-bp-same-addr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp ./gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf.c ./gdb/testsuite/gdb.base/dprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-detach.c ./gdb/testsuite/gdb.base/dprintf-detach.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-detach.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-detach.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,33 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+
+static void
+function (void)
+{
+  sleep (1);
+}
+
+int
+main (void)
+{
+  int i;
+
+  for (i = 0; i < 30; i++)
+    function ();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-detach.exp ./gdb/testsuite/gdb.base/dprintf-detach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-detach.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-detach.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,95 @@
+#   Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+# This test checks that inserting a dprintf and detaching does not crash
+# the program.
+#
+# Related bug: https://sourceware.org/bugzilla/show_bug.cgi?id=17012
+
+load_lib gdbserver-support.exp
+
+# The test relies on "detach/attach".
+if { [target_info exists use_gdb_stub] } then {
+    return 0
+}
+
+standard_testfile
+set escapedbinfile [string_to_regexp ${binfile}]
+
+if [prepare_for_testing "failed to prepare for dprintf-detach" \
+    ${testfile} ${srcfile} {debug}] {
+    return -1
+}
+
+proc dprintf_detach_test { breakpoint_always_inserted dprintf_style disconnected_dprintf } {
+    set test_prefix "bai=${breakpoint_always_inserted} ds=${dprintf_style} dd=${disconnected_dprintf}"
+    global binfile decimal gdb_prompt escapedbinfile
+
+    with_test_prefix "$test_prefix" {
+	# Start with a clean gdb
+	clean_restart ${binfile}
+
+	gdb_test_no_output "set breakpoint always-inserted ${breakpoint_always_inserted}"
+	gdb_test_no_output "set dprintf-style ${dprintf_style}"
+	gdb_test_no_output "set disconnected-dprintf ${disconnected_dprintf}"
+
+	if ![runto_main] {
+	    fail "Can't run to main"
+	    return -1
+	}
+
+	# Get PID of test program.
+	set inferior_pid -1
+	set test "get inferior process ID"
+	gdb_test_multiple "call getpid ()" $test {
+	    -re ".* = ($decimal).*$gdb_prompt $" {
+		set inferior_pid $expect_out(1,string)
+		pass $test
+	    }
+	}
+
+	if {$inferior_pid == -1} {
+	    return
+	}
+
+	# Add a dprintf and detach.
+	gdb_test "dprintf function, \"hello\"" "Dprintf .*" "dprintf insertion"
+	gdb_test "detach" "Detaching from program: .*$escapedbinfile, .*" "detach program"
+
+	gdb_exit
+
+	# Check that the process still exists by attaching a new gdb to it.
+	clean_restart ${binfile}
+	set test "re-attach to inferior"
+	set is_gdbserver [target_is_gdbserver]
+
+	if { $is_gdbserver == 1 } {
+		setup_kfail "*-*-*" "server/17302"
+	} else {
+		# Give some time for the ex-inferior to run and hopefully not crash.
+		sleep 1
+	}
+
+	gdb_test "attach $inferior_pid" "Attaching to program: $escapedbinfile, process $inferior_pid.*Reading symbols from.*" "$test"
+    }
+}
+
+foreach breakpoint_always_inserted { "on" "off" } {
+    foreach dprintf_style { "gdb" "call" "agent" } {
+	foreach disconnected_dprintf { "on" "off" } {
+	    dprintf_detach_test $breakpoint_always_inserted $dprintf_style $disconnected_dprintf
+	}
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf.exp ./gdb/testsuite/gdb.base/dprintf.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-next.c ./gdb/testsuite/gdb.base/dprintf-next.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-next.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-next.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-next.exp ./gdb/testsuite/gdb.base/dprintf-next.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-next.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-next.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-non-stop.c ./gdb/testsuite/gdb.base/dprintf-non-stop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-non-stop.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-non-stop.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include <unistd.h>
+
 void
 foo ()
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-non-stop.exp ./gdb/testsuite/gdb.base/dprintf-non-stop.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-non-stop.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-non-stop.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-pending.c ./gdb/testsuite/gdb.base/dprintf-pending.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-pending.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-pending.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-pending.exp ./gdb/testsuite/gdb.base/dprintf-pending.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-pending.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-pending.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2013-2014 Free Software Foundation, Inc.
+#   Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-pendshr.c ./gdb/testsuite/gdb.base/dprintf-pendshr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dprintf-pendshr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dprintf-pendshr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dump.c ./gdb/testsuite/gdb.base/dump.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dump.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dump.c	2015-01-20 02:05:39.000000000 +0000
@@ -27,6 +27,7 @@ zero_all ()
   memset ((char *) &intstruct2, 0, sizeof (intstruct2));
 }
 
+int
 main()
 {
   int i;
@@ -43,4 +44,5 @@ main()
   intstruct.g = 12 * 7;
 
   checkpoint1 ();
+  return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dump.exp ./gdb/testsuite/gdb.base/dump.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dump.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dump.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/duplicate-bp.c ./gdb/testsuite/gdb.base/duplicate-bp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/duplicate-bp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/duplicate-bp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/duplicate-bp.exp ./gdb/testsuite/gdb.base/duplicate-bp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/duplicate-bp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/duplicate-bp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dup-sect.exp ./gdb/testsuite/gdb.base/dup-sect.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dup-sect.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dup-sect.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dup-sect.S ./gdb/testsuite/gdb.base/dup-sect.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/dup-sect.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dup-sect.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/echo.exp ./gdb/testsuite/gdb.base/echo.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/echo.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/echo.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/empty_exe.exp ./gdb/testsuite/gdb.base/empty_exe.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/empty_exe.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/empty_exe.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ena-dis-br.exp ./gdb/testsuite/gdb.base/ena-dis-br.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ena-dis-br.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ena-dis-br.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,14 +29,10 @@ if {[prepare_for_testing ${testfile}.exp
 set bp_location1 [gdb_get_line_number "set breakpoint 1 here"]
 set bp_location7 [gdb_get_line_number "set breakpoint 7 here"]
 set bp_location8 [gdb_get_line_number "set breakpoint 8 here" $srcfile2]
-set bp_location9 [gdb_get_line_number "set breakpoint 9 here" $srcfile2]
 set bp_location11 [gdb_get_line_number "set breakpoint 11 here"]
-set bp_location13 [gdb_get_line_number "set breakpoint 13 here" $srcfile2]
 set bp_location14 [gdb_get_line_number "set breakpoint 14 here" $srcfile2]
 set bp_location15 [gdb_get_line_number "set breakpoint 15 here" $srcfile2]
-set bp_location16 [gdb_get_line_number "set breakpoint 16 here" $srcfile2]
 set bp_location17 [gdb_get_line_number "set breakpoint 17 here" $srcfile2]
-set bp_location18 [gdb_get_line_number "set breakpoint 18 here" $srcfile2]
 
 if ![runto_main] then { fail "enable/disable break tests suppressed" }
 
@@ -58,7 +54,7 @@ proc break_at { breakpoint where } {
     return $bp
 }
 
-set bp [break_at "marker1" " line ($bp_location15|$bp_location16)"]
+set bp [break_at "marker1" " line $bp_location15"]
 
 gdb_test_no_output "enable $bp" "enable break marker1"
 
@@ -82,7 +78,7 @@ gdb_test_no_output "delete $bp" "delete 
 
 # Verify that we can set a breakpoint to be self-disabling after the
 # first time it triggers.
-set bp [break_at "marker2" " line ($bp_location8|$bp_location9)"]
+set bp [break_at "marker2" " line $bp_location8"]
 
 gdb_test_no_output "enable once $bp" "enable once break marker2"
 
@@ -117,7 +113,7 @@ if ![runto_main] then {
     fail "enable/disable break tests suppressed"
 }
 
-set bp [break_at "marker3" " line ($bp_location17|$bp_location18)"]
+set bp [break_at "marker3" " line $bp_location17"]
 
 gdb_test_no_output "enable del $bp" "enable del break marker3"
 
@@ -126,7 +122,7 @@ gdb_test "info break $bp" \
     "info auto-deleted break marker2"
 
 gdb_test "continue" \
-    ".*marker3 .*:($bp_location17|$bp_location18).*" \
+    ".*marker3 .*:$bp_location17.*" \
     "continue to auto-deleted break marker3"
 
 gdb_test "info break $bp" \
@@ -136,7 +132,7 @@ gdb_test "info break $bp" \
 # Verify that we can set a breakpoint and manually disable it (we've
 # already proven that disabled bp's don't trigger).
 
-set bp [break_at "marker4" " line ($bp_location14|$bp_location13).*"]
+set bp [break_at "marker4" " line $bp_location14.*"]
 
 gdb_test_no_output "disable $bp" "disable break marker4"
 
@@ -153,7 +149,7 @@ if ![runto_main] then {
 
 set bp [break_at $bp_location7 "line $bp_location7"]
 
-set bp2 [break_at marker1 " line ($bp_location15|$bp_location16)"]
+set bp2 [break_at marker1 " line $bp_location15"]
 
 gdb_test_no_output "enable count 2 $bp" "disable break with count"
 
@@ -166,7 +162,7 @@ gdb_test "continue" \
     "continue from enable count, second time"
 
 gdb_test "continue" \
-    ".*marker1 .*:($bp_location15|$bp_location16).*" \
+    ".*marker1 .*:$bp_location15.*" \
     "continue through enable count, now disabled"
 
 # Verify that we can set a breakpoint with an ignore count N, which
@@ -177,7 +173,7 @@ if ![runto_main] then {
     fail "enable/disable break tests suppressed"
 }
 
-set bp [break_at "marker1" " line ($bp_location15|$bp_location16).*"]
+set bp [break_at "marker1" " line $bp_location15.*"]
 
 # Verify that an ignore of a non-existent breakpoint is gracefully
 # handled.
@@ -232,7 +228,7 @@ if ![runto_main] then {
     fail "enable/disable break tests suppressed"
 }
 
-set bp [break_at marker1 " line ($bp_location15|$bp_location16).*"]
+set bp [break_at marker1 " line $bp_location15.*"]
 
 gdb_test "ignore $bp 1" \
     "Will ignore next crossing of breakpoint \[0-9\]*.*" \
@@ -248,7 +244,7 @@ gdb_continue_to_end "no stop at ignored 
 rerun_to_main
 
 gdb_test "continue" \
-    ".*marker1 .*:($bp_location15|$bp_location16).*" \
+    ".*marker1 .*:$bp_location15.*" \
     "continue to ignored & auto-deleted break marker1"
 
 # Verify that a disabled breakpoint's ignore count isn't updated when
@@ -258,7 +254,7 @@ if ![runto_main] then {
     fail "enable/disable break tests suppressed"
 }
 
-set bp [break_at marker1 " line ($bp_location15|$bp_location16)"]
+set bp [break_at marker1 " line $bp_location15"]
 
 gdb_test "ignore $bp 10" \
     "Will ignore next 10 crossings of breakpoint \[0-9\]*.*" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ending-run.c ./gdb/testsuite/gdb.base/ending-run.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ending-run.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ending-run.c	2015-01-20 02:05:39.000000000 +0000
@@ -4,14 +4,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#ifdef PROTOTYPES
 int callee (int x)
-#else
-int callee( x )
-int x;
-#endif
 {
-    int y = x * x;
+    int y = x * x;		/* -break1- */
     return (y - 2);
 }
 
@@ -28,6 +23,6 @@ int main()
             printf( "%d ", callee( i ));
             fflush (stdout);
         }
-    printf( " Goodbye!\n" ); fflush (stdout);
+    printf( " Goodbye!\n" ); fflush (stdout); /* -break2- */
     return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ending-run.exp ./gdb/testsuite/gdb.base/ending-run.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ending-run.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ending-run.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,7 +21,9 @@
 
 # ending-run.exp -- Expect script to test ending a test run in gdb
 
-if { [prepare_for_testing ending-run.exp ending-run] } {
+standard_testfile
+
+if { [prepare_for_testing ${testfile}.exp $testfile] } {
     return -1
 }
 remote_exec build "rm -f core"
@@ -35,26 +37,28 @@ remote_exec build "rm -f core"
 gdb_test "b ending-run.c:1" ".*Breakpoint.*ending-run.c, line 1.*" \
 	"bpt at line before routine"
 
-gdb_test "b ending-run.c:14" \
-	".*Note.*also.*Breakpoint 2.*ending-run.c, line 14.*" \
-	"b ending-run.c:14, one"
+set break1_line [gdb_get_line_number "-break1-"]
+gdb_test "b ending-run.c:$break1_line" \
+	".*Note.*also.*Breakpoint 2.*ending-run.c, line $break1_line.*" \
+	"b ending-run.c:$break1_line, one"
 
 # Set up to go to the next-to-last line of the program
 #
-gdb_test "b ending-run.c:31" ".*Breakpoint 3.*ending-run.c, line 31.*"
+set break2_line [gdb_get_line_number "-break2-"]
+gdb_test "b ending-run.c:$break2_line" ".*Breakpoint 3.*ending-run.c, line $break2_line.*"
 
 # Expect to hit the bp at line "1", but symbolize this
 # as line "13".  Then try to clear it--this should work.
 #
 gdb_run_cmd
-gdb_test "" ".*Breakpoint.*1.*callee.*14.*" "run"
+gdb_test "" ".*Breakpoint.*1.*callee.*$break1_line.*" "run"
 
 gdb_test "cle" ".*Deleted breakpoints 1 2.*" "clear worked"
 gdb_test_multiple "i b" "cleared bp at line before routine" {
     -re ".* breakpoint .* breakpoint .*$gdb_prompt $" { 
 	fail "cleared bp at line before routine" 
     }
-    -re ".*3.*main.*31.*$gdb_prompt $" { 
+    -re ".*3.*main.*$break2_line.*$gdb_prompt $" {
 	pass "cleared bp at line before routine" 
     }
 }
@@ -62,15 +66,15 @@ gdb_test_multiple "i b" "cleared bp at l
 # Test some other "clear" combinations
 #
 gdb_test "b ending-run.c:1" ".*Breakpoint.*4.*"
-gdb_test "b ending-run.c:14" ".*Note.*also.*Breakpoint.*5.*" "b ending-run.c:14, two"
-gdb_test "cle ending-run.c:14" \
+gdb_test "b ending-run.c:$break1_line" ".*Note.*also.*Breakpoint.*5.*" "b ending-run.c:$break1_line, two"
+gdb_test "cle ending-run.c:$break1_line" \
 	".*Deleted breakpoint 5.*" "Cleared 2 by line"
 
-gdb_test_multiple "info line ending-run.c:14" "" {
+gdb_test_multiple "info line ending-run.c:$break1_line" "" {
     -re ".*address (0x\[0-9a-fA-F]*).*$gdb_prompt $" {
         set line_nine $expect_out(1,string)
-        gdb_test "b ending-run.c:14" ".*Breakpoint 6.*ending-run.c, line 14.*"
-        gdb_test "b *$line_nine" ".*Note.*also.*Breakpoint 7.*" "Breakpoint 7 at *ending-run.c:14"
+        gdb_test "b ending-run.c:$break1_line" ".*Breakpoint 6.*ending-run.c, line $break1_line.*"
+        gdb_test "b *$line_nine" ".*Note.*also.*Breakpoint 7.*" "Breakpoint 7 at *ending-run.c:$break1_line"
         gdb_test "cle" ".*Deleted breakpoints 4 6 7.*" "Clear 2 by default"
     }
     -re ".*$gdb_prompt $" {
@@ -82,7 +86,7 @@ gdb_test_multiple "i b" "all set to cont
     -re ".* breakpoint .* breakpoint .*$gdb_prompt $" {
         fail "all set to continue (didn't clear bps)" 
     }
-    -re ".*3.*main.*31.*$gdb_prompt $" {
+    -re ".*3.*main.*$break2_line.*$gdb_prompt $" {
         pass "all set to continue"
     }
     -re ".*$gdb_prompt $" {
@@ -95,13 +99,13 @@ gdb_test_multiple "i b" "all set to cont
 # is output from the program.
 #
 if ![gdb_skip_stdio_test "cont"] {
-    gdb_test "cont" ".*1 2 7 14 23 34 47 62 79.*Breakpoint.*31.*"
+    gdb_test "cont" ".*1 2 7 14 23 34 47 62 79.*Breakpoint.*$break2_line.*"
 } else {
-    gdb_test "cont" ".*Breakpoint.*31.*"
+    gdb_test "cont" ".*Breakpoint.*$break2_line.*"
 }
 
 if ![gdb_skip_stdio_test "Step to return"] {
-    gdb_test "next" ".*Goodbye!.*32.*" \
+    gdb_test "next" ".*Goodbye!.*[expr {$break2_line + 1}].*" \
 	    "Step to return"
 } else {
     gdb_test "next" ".*" ""
@@ -113,7 +117,7 @@ set program_exited 0
 set nexted 0
 
 gdb_test_multiple "next" "step out of main" {
-    -re "33\[ \t\]+\}.*$gdb_prompt $" {
+    -re "[expr {$break2_line + 2}]\[ \t\]+\}.*$gdb_prompt $" {
 	# sometimes we stop at the closing brace, if so, do another next
 	if { $nexted } {
 	    fail "step out of main"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/enum_cond.c ./gdb/testsuite/gdb.base/enum_cond.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/enum_cond.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/enum_cond.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This testcase is part of GDB, the GNU debugger.
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/enum_cond.exp ./gdb/testsuite/gdb.base/enum_cond.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/enum_cond.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/enum_cond.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/enumval.c ./gdb/testsuite/gdb.base/enumval.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/enumval.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/enumval.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/enumval.exp ./gdb/testsuite/gdb.base/enumval.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/enumval.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/enumval.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/environ.exp ./gdb/testsuite/gdb.base/environ.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/environ.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/environ.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eu-strip-infcall.c ./gdb/testsuite/gdb.base/eu-strip-infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eu-strip-infcall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/eu-strip-infcall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eu-strip-infcall.exp ./gdb/testsuite/gdb.base/eu-strip-infcall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eu-strip-infcall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/eu-strip-infcall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eval-avoid-side-effects.exp ./gdb/testsuite/gdb.base/eval-avoid-side-effects.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eval-avoid-side-effects.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/eval-avoid-side-effects.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eval.exp ./gdb/testsuite/gdb.base/eval.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eval.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/eval.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eval-skip.exp ./gdb/testsuite/gdb.base/eval-skip.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/eval-skip.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/eval-skip.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execd-prog.c ./gdb/testsuite/gdb.base/execd-prog.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execd-prog.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/execd-prog.c	2015-01-20 02:05:39.000000000 +0000
@@ -8,19 +8,13 @@
    */
 int  global_i = 0;
 
-#ifdef PROTOTYPES
 int main (int argc, char **argv)
-#else
-main (argc, argv)
-  int  argc;
-  char *  argv[];
-#endif
 {
   /* There is a local_j in foll-exec, which exec's us.  We
      should not be able to see that other definition of local_j
      after we are exec'd.
      */
-  int  local_j = argc;
+  int  local_j = argc;		/* after-exec */
   char *  s;
 
   printf ("Hello from execd-prog...\n");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execl-update-breakpoints.c ./gdb/testsuite/gdb.base/execl-update-breakpoints.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execl-update-breakpoints.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/execl-update-breakpoints.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,38 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int
+main (int argc, char **argv)
+{
+  size_t len;
+  char *bin;
+
+  len = strlen (argv[0]);
+  bin = malloc (len + 1);
+  memcpy (bin, argv[0], len + 1);
+  if (bin[len - 1] == '1')
+    bin[len - 1] = '2';
+
+  execl (bin, bin, (char *) NULL);
+  perror ("execl failed");
+  exit (1);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execl-update-breakpoints.exp ./gdb/testsuite/gdb.base/execl-update-breakpoints.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execl-update-breakpoints.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/execl-update-breakpoints.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,128 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test that when following an exec, we don't try to insert breakpoints
+# in the new image at the addresses the symbols had before the exec.
+
+# Remote protocol does not support follow-exec notifications.
+
+if [is_remote target] {
+    continue
+}
+
+standard_testfile
+
+# Build two copies of the program, each linked at a different address.
+# The address of "main" in the first binary should end up being an
+# unmapped address in the second binary.
+
+set objfile ${binfile}.o
+set exec1 ${binfile}1
+set exec2 ${binfile}2
+
+if { [gdb_compile [file join $srcdir $subdir $srcfile] $objfile \
+	  object [list debug]] != "" } {
+    untested "compile failed"
+    return -1
+}
+
+set opts1_ld [list debug ldflags=-Wl,-Ttext-segment=0x1000000]
+set opts1_gold [list debug ldflags=-Wl,-Ttext=0x1000000]
+set opts2_ld [list debug ldflags=-Wl,-Ttext-segment=0x2000000]
+set opts2_gold [list debug ldflags=-Wl,-Ttext=0x2000000]
+
+if { [gdb_compile $objfile $exec1 executable $opts1_ld] != "" } {
+    # Old gold linker versions don't support -Ttext-segment.  Fall
+    # back to -Ttext.
+    if { [gdb_compile $objfile $exec1 executable $opts1_gold] != ""
+	 || [gdb_compile $objfile $exec2 executable $opts2_gold] != ""} {
+	untested "link failed"
+	return -1
+    }
+} elseif { [gdb_compile $objfile $exec2 executable $opts2_ld] != "" } {
+    untested "link failed"
+    return -1
+}
+
+# First check whether the address of "main" in exec1 is readable in
+# exec2.  If it is, then skip the test as unsupported.
+
+clean_restart ${exec1}
+if ![runto_main] then {
+    fail "Couldn't run to main"
+    return -1
+}
+
+set addr ""
+set test "main address first"
+gdb_test_multiple "p/x &main" $test {
+    -re " = (0x\[0-9a-f\]+)\r\n$gdb_prompt $" {
+	set addr $expect_out(1,string)
+	pass $test
+    }
+}
+
+clean_restart ${exec2}
+if ![runto_main] then {
+    fail "Couldn't run to main"
+    return -1
+}
+
+set cannot_access 0
+set test "probe memory access"
+gdb_test_multiple "x $addr" $test {
+    -re "Cannot access memory at address .*$gdb_prompt $" {
+	set cannot_access 1
+	pass $test
+    }
+    -re ".*$gdb_prompt $" {
+	pass $test
+    }
+}
+
+if {!$cannot_access} {
+    unsupported "main address is readable in second binary"
+    return
+}
+
+# The test proper.  ALWAYS_INSERTED indicates whether testing in
+# "breakpoint always-inserted" mode.
+
+proc test { always_inserted } {
+    global exec1
+
+    clean_restart ${exec1}
+
+    gdb_test_no_output "set breakpoint always-inserted $always_inserted"
+
+    if ![runto_main] then {
+	fail "Couldn't run to main"
+	return -1
+    }
+
+    # On a buggy GDB, with always-inserted on, we'd see:
+    #  (gdb) continue
+    #  Continuing.
+    #  Warning:
+    #  Cannot insert breakpoint 1.
+    #  Cannot access memory at address 0x10000ff
+    gdb_test "continue" "Breakpoint 1, main.*" "continue across exec"
+}
+
+foreach always_inserted { "off" "on" } {
+    with_test_prefix "always-inserted $always_inserted" {
+	test $always_inserted
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execution-termios.c ./gdb/testsuite/gdb.base/execution-termios.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execution-termios.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/execution-termios.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execution-termios.exp ./gdb/testsuite/gdb.base/execution-termios.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/execution-termios.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/execution-termios.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/exe-lock.exp ./gdb/testsuite/gdb.base/exe-lock.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/exe-lock.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/exe-lock.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/exitsignal.exp ./gdb/testsuite/gdb.base/exitsignal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/exitsignal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/exitsignal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/expand-psymtabs.c ./gdb/testsuite/gdb.base/expand-psymtabs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/expand-psymtabs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/expand-psymtabs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/expand-psymtabs.exp ./gdb/testsuite/gdb.base/expand-psymtabs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/expand-psymtabs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/expand-psymtabs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/exprs.c ./gdb/testsuite/gdb.base/exprs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/exprs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/exprs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,11 +1,4 @@
-#ifdef PROTOTYPES
 int main (int argc, char **argv, char **envp)
-#else
-main (argc, argv, envp)
-     int argc;
-     char **argv;
-     char **envp;
-#endif
 {
     extern void dummy();
     dummy();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/exprs.exp ./gdb/testsuite/gdb.base/exprs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/exprs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/exprs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
+#   Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -200,7 +200,9 @@ test_expr "set variable v_unsigned_long=
 # Test expressions with casts to a pointer.
 # NB: Some architectures convert a ``NULL'' pointer into
 #     something else. Don't simply test for 0.
-#
+# Prevent symbol on address 0x0 being printed.
+gdb_test_no_output "set print symbol off"
+
 test_expr "set variable v_signed_char = 0" "print (void*)v_signed_char" "\\$\[0-9\]* = .void \\*. $hex" "print (void*)v_signed_char"
 test_expr "set variable v_signed_short = 0" "print (void*)v_signed_short" "\\$\[0-9\]* = .void \\*. $hex" "print (void*)v_signed_short"
 test_expr "set variable v_signed_int = 0" "print (void*)v_signed_int" "\\$\[0-9\]* = .void \\*. $hex" "print (void*)v_signed_int"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fileio.c ./gdb/testsuite/gdb.base/fileio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fileio.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fileio.c	2015-01-20 02:05:39.000000000 +0000
@@ -9,6 +9,7 @@
 #include <errno.h>
 #include <sys/wait.h>
 #include <unistd.h>
+#include <time.h>
 /* TESTS :
  * - open(const char *pathname, int flags, mode_t mode);
 1) Attempt to create file that already exists - EEXIST
@@ -169,6 +170,7 @@ test_write ()
       ret = write (fd, STRING, strlen (STRING));
       printf ("write 3: ret = %d, errno = %d %s\n", ret, errno,
 	      strerrno (errno));
+      close (fd);
     }
   else
     printf ("write 3: ret = %d, errno = %d\n", ret, errno);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fileio.exp ./gdb/testsuite/gdb.base/fileio.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fileio.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fileio.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2002-2014 Free Software Foundation, Inc.
+#   Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -210,6 +210,13 @@ gdb_test continue \
 "Continuing\\..*system 4:.*OK$stop_msg" \
 "System with invalid command returns 127"
 
+# Prepare the directory for rename tests in case that test_system
+# failed to create.
+set dir1 [file join $outdir "dir1.fileio.test" "subdir.fileio.test"]
+remote_exec host "mkdir -p $dir1"
+set dir1 [file join $outdir "dir2.fileio.test"]
+remote_exec host "mkdir $dir1"
+
 gdb_test continue \
 "Continuing\\..*rename 1:.*OK$stop_msg" \
 "Rename a file"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/filesym.c ./gdb/testsuite/gdb.base/filesym.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/filesym.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/filesym.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/filesym.exp ./gdb/testsuite/gdb.base/filesym.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/filesym.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/filesym.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/find.c ./gdb/testsuite/gdb.base/find.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/find.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/find.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Testcase for the find command.
    This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/find.exp ./gdb/testsuite/gdb.base/find.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/find.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/find.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,17 +29,7 @@ gdb_test "break $srcfile:stop_here" \
     "breakpoint function in file"
 
 gdb_run_cmd
-gdb_expect {
-    -re "Breakpoint \[0-9\]+,.*stop_here.* at .*$srcfile:.*$gdb_prompt $" {
-	pass "run until function breakpoint"
-    }
-    -re "$gdb_prompt $" {
-	fail "run until function breakpoint"
-    }
-    timeout {
-	fail "run until function breakpoint (timeout)"
-    }
-}
+gdb_test "" "Breakpoint \[0-9\]+,.*stop_here.* at .*$srcfile:.*" "run until function breakpoint"
 
 # We've now got the target program in a state where we can test "find".
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/find-unmapped.c ./gdb/testsuite/gdb.base/find-unmapped.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/find-unmapped.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/find-unmapped.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/find-unmapped.exp ./gdb/testsuite/gdb.base/find-unmapped.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/find-unmapped.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/find-unmapped.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/finish.exp ./gdb/testsuite/gdb.base/finish.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/finish.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/finish.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fixsection.c ./gdb/testsuite/gdb.base/fixsection.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fixsection.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fixsection.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fixsection.exp ./gdb/testsuite/gdb.base/fixsection.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fixsection.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fixsection.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/float.c ./gdb/testsuite/gdb.base/float.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/float.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/float.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/float.exp ./gdb/testsuite/gdb.base/float.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/float.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/float.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -68,7 +68,14 @@ if { [istarget "aarch64*-*-*"] } then {
 	}
     }
 } elseif [istarget "mips*-*-*"] then {
-    gdb_test "info float" "f0:.*flt:.*dbl:.*" "info float"
+    gdb_test_multiple "info float" "info float" {
+	-re "fpu type: none / unused\r\n$gdb_prompt $" {
+	      pass "info float (without FPU)"
+	  }
+	-re "fpu type:.*cause.*mask.*flags.*round.*flush.*f0:.*flt:.*dbl:.*$gdb_prompt $" {
+	      pass "info float (with FPU)"
+	  }
+    }
 } elseif [istarget "powerpc*-*-*"] then {
     gdb_test_multiple "info float" "info_float" {
         -re "f0.*f1.*f31.*fpscr.*$gdb_prompt $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-exec.c ./gdb/testsuite/gdb.base/foll-exec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-exec.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/foll-exec.c	2015-01-20 02:05:39.000000000 +0000
@@ -6,11 +6,7 @@
 
 int  global_i = 100;
 
-#ifdef PROTOTYPES
 int main (void)
-#else
-main ()
-#endif
 {
   int  local_j = global_i+1;
   int  local_k = local_j+1;
@@ -24,7 +20,7 @@ main ()
 
   printf ("foll-exec is about to execl(execd-prog)...\n");
 
-  execl (BASEDIR "/execd-prog",
+  execl (BASEDIR "/execd-prog",	/* tbreak-execl */
          BASEDIR "/execd-prog",
          "execl arg1 from foll-exec",
          "execl arg2 from foll-exec",
@@ -38,6 +34,6 @@ main ()
 
     printf ("foll-exec is about to execv(execd-prog)...\n");
 
-    execv (BASEDIR "/execd-prog", argv);
+    execv (BASEDIR "/execd-prog", argv); /* tbreak-execv */
   }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-exec.exp ./gdb/testsuite/gdb.base/foll-exec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-exec.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/foll-exec.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -119,7 +119,7 @@ proc do_exec_tests {} {
    #
    send_gdb "next 3\n"
    gdb_expect {
-     -re "20.*execlp.*$gdb_prompt $"\
+     -re "execlp \\(.*$gdb_prompt $"\
                      {pass "step to exec call"}
      -re "$gdb_prompt $" {fail "step to exec call"}
      timeout         {fail "(timeout) step to exec call"}
@@ -149,9 +149,10 @@ proc do_exec_tests {} {
    # Try stepping through an execlp call, without catching it.
    # We should stop in execd-program, at its first statement.
    #
+   set execd_line [gdb_get_line_number "after-exec" $srcfile2]
    send_gdb "next\n"
    gdb_expect {
-     -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:23.*int  local_j = argc;.*$gdb_prompt $"\
+     -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int  local_j = argc;.*$gdb_prompt $"\
                      {pass "step through execlp call"}
      -re "$gdb_prompt $" {fail "step through execlp call"}
      timeout         {fail "(timeout) step through execlp call"}
@@ -162,7 +163,7 @@ proc do_exec_tests {} {
    #
    send_gdb "next\n"
    gdb_expect {
-     -re "26.*printf.*$gdb_prompt $"\
+     -re "printf \\(.Hello .*$gdb_prompt $"\
                      {pass "step after execlp call"}
      -re "$gdb_prompt $" {fail "step after execlp call"}
      timeout         {fail "(timeout) step after execlp call"}
@@ -256,7 +257,7 @@ proc do_exec_tests {} {
    #
    send_gdb "continue\n"
    gdb_expect {
-     -re ".*${srcfile2}:23.*$gdb_prompt $"\
+     -re ".*${srcfile2}:${execd_line}.*$gdb_prompt $"\
                      {pass "continue after hit catch exec"}
      -re "$gdb_prompt $" {fail "continue after hit catch exec"}
      timeout         {fail "(timeout) continue after hit catch exec"}
@@ -276,16 +277,17 @@ proc do_exec_tests {} {
    # Verify that we can follow through follow an execl()
    # call.  (We must jump around earlier exec* calls.)
    #
-   send_gdb "tbreak 27\n"
+   set tbreak_line [gdb_get_line_number "tbreak-execl" $srcfile]
+   send_gdb "tbreak ${tbreak_line}\n"
    gdb_expect {
-     -re "Temporary breakpoint .*file .*${srcfile}, line 27.*$gdb_prompt $"\
+     -re "Temporary breakpoint .*file .*${srcfile}, line ${tbreak_line}.*$gdb_prompt $"\
                      {pass "prepare to jump to execl call"}
      -re "$gdb_prompt $" {fail "prepare to jump to execl call"}
      timeout         {fail "(timeout) prepare to jump to execl call"}
    }
-   send_gdb "jump 27\n"
+   send_gdb "jump ${tbreak_line}\n"
    gdb_expect {
-     -re "main.* at .*${srcfile}:27.*$gdb_prompt $"\
+     -re "main.* at .*${srcfile}:${tbreak_line}.*$gdb_prompt $"\
                      {pass "jump to execl call"}
      -re "$gdb_prompt $" {fail "jump to execl call"}
      timeout         {fail "(timeout) jump to execl call"}
@@ -298,14 +300,14 @@ proc do_exec_tests {} {
    #
    send_gdb "next 2\n"
    gdb_expect {
-     -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:23.*int  local_j = argc;.*$gdb_prompt $"\
+     -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int  local_j = argc;.*$gdb_prompt $"\
                      {pass "step through execl call"}
      -re "$gdb_prompt $" {fail "step through execl call"}
      timeout         {fail "(timeout) step through execl call"}
    }
    send_gdb "next\n"
    gdb_expect {
-     -re "26.*printf.*$gdb_prompt $"\
+     -re "printf \\(.Hello .*$gdb_prompt $"\
                      {pass "step after execl call"}
      -re "$gdb_prompt $" {fail "step after execl call"}
      timeout         {fail "(timeout) step after execl call"}
@@ -336,30 +338,31 @@ proc do_exec_tests {} {
    # Verify that we can follow through follow an execv()
    # call.  (We must jump around earlier exec* calls.)
    #
-   send_gdb "tbreak 41\n"
+   set tbreak_line [gdb_get_line_number "tbreak-execv"]
+   send_gdb "tbreak ${tbreak_line}\n"
    gdb_expect {
-     -re "Temporary breakpoint .*file .*${srcfile}, line 41.*$gdb_prompt $"\
+     -re "Temporary breakpoint .*file .*${srcfile}, line ${tbreak_line}.*$gdb_prompt $"\
                      {pass "prepare to jump to execv call"}
      -re "$gdb_prompt $" {fail "prepare to jump to execv call"}
      timeout         {fail "(timeout) prepare to jump to execv call"}
    }
-   send_gdb "jump 41\n"
+   send_gdb "jump ${tbreak_line}\n"
    gdb_expect {
-     -re "main.* at .*${srcfile}:41.*$gdb_prompt $"\
+     -re "main.* at .*${srcfile}:${tbreak_line}.*$gdb_prompt $"\
                      {pass "jump to execv call"}
      -re "$gdb_prompt $" {fail "jump to execv call"}
      timeout         {fail "(timeout) jump to execv call"}
    }
    send_gdb "next\n"
    gdb_expect {
-     -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:23.*int  local_j = argc;.*$gdb_prompt $"\
+     -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int  local_j = argc;.*$gdb_prompt $"\
                      {pass "step through execv call"}
      -re "$gdb_prompt $" {fail "step through execv call"}
      timeout         {fail "(timeout) step through execv call"}
    }
    send_gdb "next\n"
    gdb_expect {
-     -re "26.*printf.*$gdb_prompt $"\
+     -re "printf \\(.Hello .*$gdb_prompt $"\
                      {pass "step after execv call"}
      -re "$gdb_prompt $" {fail "step after execv call"}
      timeout         {fail "(timeout) step after execv call"}
@@ -393,7 +396,7 @@ proc do_exec_tests {} {
    #
    send_gdb "continue\n"
    gdb_expect {
-     -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:23.*int  local_j = argc;.*$gdb_prompt $"\
+     -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int  local_j = argc;.*$gdb_prompt $"\
                      {pass "continue through exec"}
      -re "$gdb_prompt $" {fail "continue through exec"}
      timeout         {fail "(timeout) continue through exec"}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-fork.c ./gdb/testsuite/gdb.base/foll-fork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-fork.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/foll-fork.c	2015-01-20 02:05:39.000000000 +0000
@@ -2,22 +2,13 @@
 #include <unistd.h>
 #include <stdlib.h>
 
-#ifdef PROTOTYPES
 void callee (int i)
-#else
-void callee (i)
-  int  i;
-#endif
 {
   /* Any output corrupts GDB CLI expect strings.
      printf("callee: %d\n", i);  */
 }
 
-#ifdef PROTOTYPES
 int main (void)
-#else
-main ()
-#endif
 {
   int  pid;
   int  v = 5;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-fork.exp ./gdb/testsuite/gdb.base/foll-fork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-fork.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/foll-fork.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -53,60 +53,134 @@ proc check_fork_catchpoints {} {
   }
 }
 
-proc default_fork_parent_follow {} {
+# Test follow-fork to ensure that the correct process is followed, that
+# the followed process stops where it is expected to stop, that processes
+# are detached (or not) as expected, and that the inferior list has the
+# expected contents after following the fork.  WHO is the argument to
+# the 'set follow-fork-mode' command, DETACH is the argument to the 
+# 'set detach-on-fork' command, and CMD is the GDB command used to 
+# execute the program past the fork.  If the value of WHO or DETACH is
+# 'default', the corresponding GDB command is skipped for that test.
+# The value of CMD must be either 'next 2' or 'continue'.
+proc test_follow_fork { who detach cmd } {
     global gdb_prompt
+    global srcfile
+    global testfile
 
-    gdb_test "show follow-fork" \
-	"Debugger response to a program call of fork or vfork is \"parent\".*" \
-	"default show parent follow, no catchpoints"
+    with_test_prefix "follow $who, detach $detach, command \"$cmd\"" {
 
-    gdb_test "next 2" \
-	"Detaching after fork from.*" \
-	"default parent follow, no catchpoints"
+	# Start a new debugger session each time so defaults are legitimate.
+	clean_restart $testfile
 
-    # The child has been detached; allow time for any output it might
-    # generate to arrive, so that output doesn't get confused with
-    # any expected debugger output from a subsequent testpoint.
-    #
-    exec sleep 1
-}
+	if ![runto_main] {
+	    untested "could not run to main"
+	    return -1
+	}
 
-proc explicit_fork_parent_follow {} {
-    global gdb_prompt
+	# The "Detaching..." and "Attaching..." messages may be hidden by
+	# default.
+	gdb_test_no_output "set verbose"
+
+	# Set follow-fork-mode if we aren't using the default.
+	if {$who == "default"} {
+	    set who "parent"
+	} else {
+	    gdb_test_no_output "set follow-fork $who"
+	}
 
-    gdb_test_no_output "set follow-fork parent"
+	gdb_test "show follow-fork" \
+	"Debugger response to a program call of fork or vfork is \"$who\"." \
+	"show follow-fork"
+
+	# Set detach-on-fork mode if we aren't using the default.
+	if {$detach == "default"} {
+	    set detach "on"
+	} else {
+	    gdb_test_no_output "set detach-on-fork $detach"
+	}
 
-    gdb_test "show follow-fork" \
-	"Debugger response to a program call of fork or vfork is \"parent\"." \
-	"explicit show parent follow, no catchpoints"
+	gdb_test "show detach-on-fork" \
+		 "Whether gdb will detach.* fork is $detach." \
+		 "show detach-on-fork"
+
+	# Set a breakpoint after the fork if we aren't single-stepping
+	# past the fork.
+	if {$cmd == "continue"} {
+	    set bp_after_fork [gdb_get_line_number "set breakpoint here"]
+	    gdb_test "break ${srcfile}:$bp_after_fork" \
+		     "Breakpoint.*, line $bp_after_fork.*" \
+		     "set breakpoint after fork"
+	}
 
-    gdb_test "next 2" "Detaching after fork from.*" \
-	"explicit parent follow, no catchpoints"
+	# Set up the output we expect to see after we run.
+	set expected_re ""
+	if {$who == "child"} {
+	    set expected_re "Attaching after.* fork to.*"
+	    if {$detach == "on"} {
+		append expected_re "Detaching after fork from .*"
+	    }
+	    append expected_re "set breakpoint here.*"
+	} elseif {$who == "parent" && $detach == "on"} {
+	    set expected_re "Detaching after fork from .*set breakpoint here.*"
+	} else {
+	    set expected_re ".*set breakpoint here.*"
+	}
 
-    # The child has been detached; allow time for any output it might
-    # generate to arrive, so that output doesn't get confused with
-    # any expected debugger output from a subsequent testpoint.
-    #
-    exec sleep 1
-}
+	# Test running past and following the fork, using the parameters
+	# set above.
+	gdb_test $cmd $expected_re "$cmd past fork"
+
+	# Check that we have the inferiors arranged correctly after 
+	# following the fork.
+	set resume_unfollowed 0
+	if {$who == "parent" && $detach == "on"} {
+
+	    # Follow parent / detach child: the only inferior is the parent.
+	    gdb_test "info inferiors" "\\* 1 .* process.*" \
+		     "info inferiors"
+
+	} elseif {$who == "parent" && $detach == "off"} {
+
+	    # Follow parent / keep child: two inferiors under debug, the
+	    # parent is the current inferior.
+	    gdb_test "info inferiors" " 2 .*process.*\\* 1 .*process.*" \
+		     "info inferiors"
+
+	    gdb_test "inferior 2" "Switching to inferior 2 .*"
+	    set resume_unfollowed 1
+
+	} elseif {$who == "child" && $detach == "on"} {
+
+	    # Follow child / detach parent: the child is under debug and is
+	    # the current inferior.  The parent is listed but is not under
+	    # debug.
+	    gdb_test "info inferiors" "\\* 2 .*process.* 1 .*<null>.*" \
+		     "info inferiors"
+
+	} elseif {$who == "child" && $detach == "off"} {
+
+	    # Follow child / keep parent: two inferiors under debug, the
+	    # child is the current inferior.
+	    gdb_test "info inferiors" "\\* 2 .*process.* 1 .*process.*" \
+		     "info inferiors"
 
-proc explicit_fork_child_follow {} {
-    global gdb_prompt
+	    gdb_test "inferior 1" "Switching to inferior 1 .*"
+	    set resume_unfollowed 1
+	}
 
-    gdb_test_no_output "set follow-fork child"
+	if {$resume_unfollowed == 1} {
+	    if {$cmd == "next 2"} {
 
-    gdb_test "show follow-fork" \
-	"Debugger response to a program call of fork or vfork is \"child\"." \
-	"explicit show child follow, no catchpoints"
+		gdb_continue_to_end "continue unfollowed inferior to end"
 
-    gdb_test "next 2" "Attaching after.* fork to.*" \
-	"explicit child follow, no catchpoints"
+	    } elseif {$cmd == "continue"} {
 
-    # The child has been detached; allow time for any output it might
-    # generate to arrive, so that output doesn't get confused with
-    # any gdb_expected debugger output from a subsequent testpoint.
-    #
-    exec sleep 1
+		gdb_continue_to_breakpoint \
+		    "continue unfollowed inferior to bp" \
+		    ".* set breakpoint here.*"
+	    }
+	}
+    }
 }
 
 proc catch_fork_child_follow {} {
@@ -148,9 +222,9 @@ proc catch_fork_child_follow {} {
 	"Temporary breakpoint.*, line $bp_after_fork.*" \
 	"set follow-fork child, tbreak"
 
-    gdb_test "continue" \
-	"Attaching after.* fork to.* at .*$bp_after_fork.*" \
-	"set follow-fork child, hit tbreak"
+    set expected_re "Attaching after.* fork to.*Detaching after fork from"
+    append expected_re ".* at .*$bp_after_fork.*"
+    gdb_test "continue" $expected_re "set follow-fork child, hit tbreak"
 
     # The parent has been detached; allow time for any output it might
     # generate to arrive, so that output doesn't get confused with
@@ -254,6 +328,7 @@ proc tcatch_fork_parent_follow {} {
 
 proc do_fork_tests {} {
     global gdb_prompt
+    global testfile
 
     # Verify that help is available for "set follow-fork-mode".
     #
@@ -286,31 +361,31 @@ By default, the debugger will follow the
     # fork-following is supported.
     if [runto_main] then { check_fork_catchpoints }
 
-    # Test the default behaviour, which is to follow the parent of a
-    # fork, and detach from the child.  Do this without catchpoints.
-    #
-    if [runto_main] then { default_fork_parent_follow }
-
-    # Test the ability to explicitly follow the parent of a fork, and
-    # detach from the child.  Do this without catchpoints.
-    #
-    if [runto_main] then { explicit_fork_parent_follow }
+    # Test the basic follow-fork functionality using all combinations of
+    # values for follow-fork-mode and detach-on-fork, using either a
+    # breakpoint or single-step to execute past the fork.
+    #
+    # The first loop should be sufficient to test the defaults.  There
+    # is no need to test using the defaults in other permutations (e.g.
+    # "default" "on", "parent" "default", etc.).
+    foreach cmd {"next 2" "continue"} {
+        test_follow_fork "default" "default" $cmd
+    }
 
-    # Test the ability to follow the child of a fork, and detach from
-    # the parent.  Do this without catchpoints.
-    #
-    if [runto_main] then { explicit_fork_child_follow }
+    # Now test all explicit permutations.
+    foreach who {"parent" "child"} {
+	foreach detach {"on" "off"} {
+	    foreach cmd {"next 2" "continue"} {
+		test_follow_fork $who $detach $cmd
+	    }
+	}
+    }
 
-    # Test the ability to follow both child and parent of a fork.  Do
-    # this without catchpoints.
-    # ??rehrauer: NYI.  Will add testpoints here when implemented.
-    #
+    # Catchpoint tests.
 
-    # Test the ability to have the debugger ask the user at fork-time
-    # whether to follow the parent, child or both.  Do this without
-    # catchpoints.
-    # ??rehrauer: NYI.  Will add testpoints here when implemented.
-    #
+    # Restart to eliminate any effects of the follow-fork tests.
+    clean_restart $testfile
+    gdb_test_no_output "set verbose"
 
     # Test the ability to catch a fork, specify that the child be
     # followed, and continue.  Make the catchpoint permanent.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-vfork.c ./gdb/testsuite/gdb.base/foll-vfork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-vfork.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/foll-vfork.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1997-2014 Free Software Foundation, Inc.
+   Copyright 1997-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -18,11 +18,7 @@
 #include <stdio.h>
 #include <unistd.h>
 
-#ifdef PROTOTYPES
 int main (void)
-#else
-main ()
-#endif
 {
   int  pid;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-vfork-exit.c ./gdb/testsuite/gdb.base/foll-vfork-exit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-vfork-exit.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/foll-vfork-exit.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1997-2014 Free Software Foundation, Inc.
+   Copyright 1997-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-vfork.exp ./gdb/testsuite/gdb.base/foll-vfork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/foll-vfork.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/foll-vfork.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -121,7 +121,7 @@ proc vfork_parent_follow_through_step {}
 
    set test "step"
    gdb_test_multiple "next" $test {
-       -re "Detaching after fork from.*if \\(pid == 0\\).*$gdb_prompt " {
+       -re "Detaching after vfork from.*if \\(pid == 0\\).*$gdb_prompt " {
 	   pass $test
        }
    }
@@ -146,7 +146,7 @@ proc vfork_parent_follow_to_bp {} {
 
    set test "continue to bp"
    gdb_test_multiple "continue" $test {
-       -re ".*Detaching after fork from child process.*Breakpoint.*${bp_location}.*$gdb_prompt " {
+       -re ".*Detaching after vfork from child process.*Breakpoint.*${bp_location}.*$gdb_prompt " {
 	   pass $test
        }
    }
@@ -195,7 +195,7 @@ proc vfork_and_exec_child_follow_to_main
 
    set test "continue to bp"
    gdb_test_multiple "continue" $test {
-      -re "Attaching after.* vfork to.*xecuting new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " {
+      -re "Attaching after.* vfork to.*Detaching vfork parent.*xecuting new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " {
 	  pass $test
       }
    }
@@ -239,7 +239,7 @@ proc vfork_and_exec_child_follow_through
        #
        set linenum [gdb_get_line_number "printf(\"Hello from vforked-prog" ${srcfile2}]
        gdb_test_multiple "next" $test {
-	   -re "Attaching after fork to.*Executing new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " {
+	   -re "Attaching after vfork to.*Executing new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " {
 	       pass "$test"
 	   }
        }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fortran-sym-case.c ./gdb/testsuite/gdb.base/fortran-sym-case.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fortran-sym-case.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fortran-sym-case.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fortran-sym-case.exp ./gdb/testsuite/gdb.base/fortran-sym-case.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fortran-sym-case.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fortran-sym-case.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/frame-args.c ./gdb/testsuite/gdb.base/frame-args.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/frame-args.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/frame-args.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/frame-args.exp ./gdb/testsuite/gdb.base/frame-args.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/frame-args.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/frame-args.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/freebpcmd.c ./gdb/testsuite/gdb.base/freebpcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/freebpcmd.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/freebpcmd.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Test program for GDB crashes while doing bp commands that continue inferior.
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    This file is part of the gdb testsuite.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/freebpcmd.exp ./gdb/testsuite/gdb.base/freebpcmd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/freebpcmd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/freebpcmd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2003-2014 Free Software Foundation, Inc.
+#   Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullname.c ./gdb/testsuite/gdb.base/fullname.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullname.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fullname.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullname.exp ./gdb/testsuite/gdb.base/fullname.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullname.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fullname.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullpath-expand.c ./gdb/testsuite/gdb.base/fullpath-expand.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullpath-expand.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fullpath-expand.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullpath-expand.exp ./gdb/testsuite/gdb.base/fullpath-expand.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullpath-expand.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fullpath-expand.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,6 +15,11 @@
 
 standard_testfile .c fullpath-expand-func.c
 
+if [is_remote host] {
+    unsupported "Compiling on a remote host does not support a filename with directory."
+    return 0
+}
+
 if { [file pathtype $objdir] != "absolute" } {
     untested "objdir $objdir is not absolute"
     return -1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullpath-expand-func.c ./gdb/testsuite/gdb.base/fullpath-expand-func.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/fullpath-expand-func.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/fullpath-expand-func.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/funcargs.c ./gdb/testsuite/gdb.base/funcargs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/funcargs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/funcargs.c	2015-01-20 02:05:39.000000000 +0000
@@ -77,12 +77,7 @@ char carray[] = {'a', 'n', ' ', 'a', 'r'
 /* Test various permutations and interleaving of integral arguments */
 
 
-#ifdef PROTOTYPES
 void call0a (char c, short s, int i, long l)
-#else
-call0a (c, s, i, l)
-char c; short s; int i; long l;
-#endif
 {
   c = 'a';
   s = 5;
@@ -90,42 +85,22 @@ char c; short s; int i; long l;
   l = 7;
 }
 
-#ifdef PROTOTYPES
 void call0b (short s, int i, long l, char c)
-#else
-call0b (s, i, l, c)
-short s; int i; long l; char c;
-#endif
 {
   s = 6; i = 7; l = 8; c = 'j';
 }
 
-#ifdef PROTOTYPES
 void call0c (int i, long l, char c, short s)
-#else
-call0c (i, l, c, s)
-int i; long l; char c; short s;
-#endif
 {
   i = 3; l = 4; c = 'k'; s = 5;
 }
 
-#ifdef PROTOTYPES
 void call0d (long l, char c, short s, int i)
-#else
-call0d (l, c, s, i)
-long l; char c; short s; int i;
-#endif
 {
   l = 7; c = 'z'; s = 8; i = 9;
 }
 
-#ifdef PROTOTYPES
 void call0e (char c1, long l, char c2, int i, char c3, short s, char c4, char c5)
-#else
-call0e (c1, l, c2, i, c3, s, c4, c5)
-char c1; long l; char c2; int i; char c3; short s; char c4; char c5;
-#endif
 {
   c1 = 'a'; l = 5; c2 = 'b'; i = 7; c3 = 'c'; s = 7; c4 = 'f'; c5 = 'g';
 }
@@ -134,53 +109,27 @@ char c1; long l; char c2; int i; char c3
 /* Test various permutations and interleaving of unsigned integral arguments */
 
 
-#ifdef PROTOTYPES
 void call1a (unsigned char uc, unsigned short us, unsigned int ui, unsigned long ul)
-#else
-call1a (uc, us, ui, ul)
-unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul;
-#endif
 {
   uc = 5; us = 6; ui = 7; ul = 8;
 }
 
-#ifdef PROTOTYPES
 void call1b (unsigned short us, unsigned int ui, unsigned long ul, unsigned char uc)
-#else
-call1b (us, ui, ul, uc)
-unsigned short us; unsigned int ui; unsigned long ul; unsigned char uc;
-#endif
 {
   uc = 5; us = 6; ui = 7; ul = 8;
 }
 
-#ifdef PROTOTYPES
 void call1c (unsigned int ui, unsigned long ul, unsigned char uc, unsigned short us)
-#else
-call1c (ui, ul, uc, us)
-unsigned int ui; unsigned long ul; unsigned char uc; unsigned short us;
-#endif
 {
   uc = 5; us = 6; ui = 7; ul = 8;
 }
 
-#ifdef PROTOTYPES
 void call1d (unsigned long ul, unsigned char uc, unsigned short us, unsigned int ui)
-#else
-call1d (ul, uc, us, ui)
-unsigned long ul; unsigned char uc; unsigned short us; unsigned int ui;
-#endif
 {
   uc = 5; us = 6; ui = 7; ul = 8;
 }
 
-#ifdef PROTOTYPES
 void call1e (unsigned char uc1, unsigned long ul, unsigned char uc2, unsigned int ui, unsigned char uc3, unsigned short us, unsigned char uc4, unsigned char uc5)
-#else
-call1e (uc1, ul, uc2, ui, uc3, us, uc4, uc5)
-unsigned char uc1; unsigned long ul; unsigned char uc2; unsigned int ui;
-unsigned char uc3; unsigned short us; unsigned char uc4; unsigned char uc5;
-#endif
 {
   uc1 = 5; ul = 7; uc2 = 8; ui = 9; uc3 = 10; us = 11; uc4 = 12; uc5 = 55;
 }
@@ -189,93 +138,47 @@ unsigned char uc3; unsigned short us; un
    floating point arguments. */
 
 
-#ifdef PROTOTYPES
 void call2a (char c, float f1, short s, double d1, int i, float f2, long l, double d2)
-#else
-call2a (c, f1, s, d1, i, f2, l, d2)
-char c; float f1; short s; double d1; int i; float f2; long l; double d2;
-#endif
 {
   c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2;
 }
 
-#ifdef PROTOTYPES
 void call2b (float f1, short s, double d1, int i, float f2, long l, double d2, char c)
-#else
-call2b (f1, s, d1, i, f2, l, d2, c)
-float f1; short s; double d1; int i; float f2; long l; double d2; char c;
-#endif
 {
   c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2;
 }
 
-#ifdef PROTOTYPES
 void call2c (short s, double d1, int i, float f2, long l, double d2, char c, float f1)
-#else
-call2c (s, d1, i, f2, l, d2, c, f1)
-short s; double d1; int i; float f2; long l; double d2; char c; float f1;
-#endif
 {
   c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2;
 }
 
-#ifdef PROTOTYPES
 void call2d (double d1, int i, float f2, long l, double d2, char c, float f1, short s)
-#else
-call2d (d1, i, f2, l, d2, c, f1, s)
-double d1; int i; float f2; long l; double d2; char c; float f1; short s;
-#endif
 {
   c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2;
 }
 
-#ifdef PROTOTYPES
 void call2e (int i, float f2, long l, double d2, char c, float f1, short s, double d1)
-#else
-call2e (i, f2, l, d2, c, f1, s, d1)
-int i; float f2; long l; double d2; char c; float f1; short s; double d1;
-#endif
 {
   c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2;
 }
 
-#ifdef PROTOTYPES
 void call2f (float f2, long l, double d2, char c, float f1, short s, double d1, int i)
-#else
-call2f (f2, l, d2, c, f1, s, d1, i)
-float f2; long l; double d2; char c; float f1; short s; double d1; int i;
-#endif
 {
   c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2;
 }
 
-#ifdef PROTOTYPES
 void call2g (long l, double d2, char c, float f1, short s, double d1, int i, float f2)
-#else
-call2g (l, d2, c, f1, s, d1, i, f2)
-long l; double d2; char c; float f1; short s; double d1; int i; float f2;
-#endif
 {
   c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2;
 }
 
-#ifdef PROTOTYPES
 void call2h (double d2, char c, float f1, short s, double d1, int i, float f2, long l)
-#else
-call2h (d2, c, f1, s, d1, i, f2, l)
-double d2; char c; float f1; short s; double d1; int i; float f2; long l;
-#endif
 {
   c = 'a'; f1 = 0.0; s = 5; d1 = 0.0; i = 6; f2 = 0.1; l = 7; d2 = 0.2;
 }
 
-#ifdef PROTOTYPES
 void call2i (char c1, float f1, char c2, char c3, double d1, char c4, char c5, char c6, float f2, short s, char c7, double d2)
-#else
-call2i (c1, f1, c2, c3, d1, c4, c5, c6, f2, s, c7, d2)
-char c1; float f1; char c2; char c3; double d1; char c4; char c5; char c6;
-float f2; short s; char c7; double d2;
-#endif
 {
   c1 = 'a'; f1 = 0.0; c2 = 5; d1 = 0.0; c3 = 6; f2 = 0.1; c4 = 7; d2 = 0.2;
   c5 = 's'; c6 = 'f'; c7 = 'z'; s = 77;
@@ -285,33 +188,17 @@ float f2; short s; char c7; double d2;
 /* Test pointers to various integral and floating types. */
 
 
-#ifdef PROTOTYPES
 void call3a (char *cp, short *sp, int *ip, long *lp)
-#else
-call3a (cp, sp, ip, lp)
-char *cp; short *sp; int *ip; long *lp;
-#endif
 {
   cp = 0; sp = 0; ip = 0; lp = 0;
 }
 
-#ifdef PROTOTYPES
 void call3b (unsigned char *ucp, unsigned short *usp, unsigned int *uip, unsigned long *ulp)
-#else
-call3b (ucp, usp, uip, ulp)
-unsigned char *ucp; unsigned short *usp; unsigned int *uip;
-unsigned long *ulp;
-#endif
 {
   ucp = 0; usp = 0; uip = 0; ulp = 0;
 }
 
-#ifdef PROTOTYPES
 void call3c (float *fp, double *dp)
-#else
-call3c (fp, dp)
-float *fp; double *dp;
-#endif
 {
   fp = 0; dp = 0;
 }
@@ -322,107 +209,53 @@ float *fp; double *dp;
 
 /* Test various _Complex type args.  */
 
-#ifdef PROTOTYPES
 void callca (float _Complex f1, float _Complex f2, float _Complex f3)
-#else
-callca (f1, f2, f3)
-float _Complex f1; float _Complex f2; float _Complex f3;
-#endif
 {
 
 }
 
-#ifdef PROTOTYPES
 void callcb (double _Complex d1, double _Complex d2, double _Complex d3)
-#else
-callcb (d1, d2, d3)
-double _Complex d1; double _Complex d2; double _Complex d3;
-#endif
 {
 
 }
 
-#ifdef PROTOTYPES
 void callcc (long double _Complex ld1, long double _Complex ld2, long double _Complex ld3)
-#else
-callcc (ld1, ld2, ld3)
-long double _Complex ld1; long double _Complex ld2; long double _Complex ld3;
-#endif
 {
 
 }
 
-#ifdef PROTOTYPES
 void callcd (float _Complex fc1, double _Complex dc1, long double _Complex ldc1)
-#else
-callcd (fc1, dc1, ldc1)
-float _Complex fc1; double _Complex dc1; long double _Complex ldc1;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void callce (double _Complex dc1, long double _Complex ldc1, float _Complex fc1)
-#else
-callce (dc1, ldc1, fc1)
-double _Complex dc1; long double _Complex ldc1; float _Complex fc1;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void callcf (long double _Complex ldc1, float _Complex fc1, double _Complex dc1)
-#else
-callcf (ldc1, fc1, dc1)
-long double _Complex ldc1; float _Complex fc1; double _Complex dc1;
-#endif
 {
 }
 
 
 /* Test passing _Complex type and integral.  */
-#ifdef PROTOTYPES
 void callc1a (char c, short s, int i, unsigned int ui, long l,
 	      float _Complex fc1, double _Complex dc1,
 	      long double _Complex ldc1)
-#else
-callc1a (c, s, i, ui, l, fc1, dc1, ldc1)
-char c; short s; int i; unsigned int ui; long l; float _Complex fc1; double _Complex dc1; long double _Complex ldc1;
-#endif
 {}
 
-#ifdef PROTOTYPES
 void callc1b (long double _Complex ldc1, char c, short s, int i,
 	      float _Complex fc1, unsigned int ui, long l,  double _Complex dc1)
-#else
-callc1b (ldc1, c, s, i, fc1, ui, l, dc1)
-char c; short s; int i; unsigned int ui; long l; float _Complex fc1; double _Complex dc1; long double _Complex ldc1;
-#endif
 {}
 
 
-#ifdef PROTOTYPES
 void callc2a (char c, short s, int i, unsigned int ui, long l, float f,
 	      double d, float _Complex fc1, double _Complex dc1,
 	      long double _Complex ldc1)
-#else
-callc2a (c, s, i, ui, l, f, d, fc1, dc1, ldc1)
-     char c; short s; int i; unsigned int ui; long l; float f; double d;
-     float _Complex fc1; double _Complex dc1;
-     long double _Complex ldc1;
-#endif
 {}
 
-#ifdef PROTOTYPES
 void callc2b (float _Complex fc1, char c, short s, int i, unsigned int ui,
 	      long double _Complex ldc1, long l, float f, double d,
 	      double _Complex dc1)
-#else
-callc2b (fc1, c, s, i, ui, ldc1, l, f, d, dc1)
-     char c; short s; int i; unsigned int ui; long l; float f; double d;
-     float _Complex fc1; double _Complex dc1;
-     long double _Complex ldc1;
-#endif
 {}
 
 
@@ -431,20 +264,10 @@ callc2b (fc1, c, s, i, ui, ldc1, l, f, d
 /* Test passing structures and unions by reference. */
 
 
-#ifdef PROTOTYPES
 void call4a (struct stag *stp)
-#else
-call4a (stp)
-struct stag *stp;
-#endif
 {stp = 0;}
 
-#ifdef PROTOTYPES
 void call4b (union utag *unp)
-#else
-call4b (unp)
-union utag *unp;
-#endif
 {
   unp = 0;
 }
@@ -453,20 +276,10 @@ union utag *unp;
 /* Test passing structures and unions by value. */
 
 
-#ifdef PROTOTYPES
 void call5a (struct stag st)
-#else
-call5a (st)
-struct stag st;
-#endif
 {st.s1 = 5;}
 
-#ifdef PROTOTYPES
 void call5b (union utag un)
-#else
-call5b (un)
-union utag un;
-#endif
 {un.u1 = 7;}
 
 
@@ -477,117 +290,61 @@ void call6k ()
 {
 }
 
-#ifdef PROTOTYPES
 void call6j (unsigned long ul)
-#else
-call6j (ul)
-unsigned long ul;
-#endif
 {
   ul = ul;
     call6k ();
 }
 
-#ifdef PROTOTYPES
 void call6i (unsigned int ui, unsigned long ul)
-#else
-call6i (ui, ul)
-unsigned int ui; unsigned long ul;
-#endif
 {
   ui = ui;
     call6j (ul);
 }
 
-#ifdef PROTOTYPES
 void call6h (unsigned short us, unsigned int ui, unsigned long ul)
-#else
-call6h (us, ui, ul)
-unsigned short us; unsigned int ui; unsigned long ul;
-#endif
 {
   us = us;
     call6i (ui, ul);
 }
 
-#ifdef PROTOTYPES
 void call6g (unsigned char uc, unsigned short us, unsigned int ui, unsigned long ul)
-#else
-call6g (uc, us, ui, ul)
-unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul;
-#endif
 {
   uc = uc;
     call6h (us, ui, ul);
 }
 
-#ifdef PROTOTYPES
 void call6f (double d, unsigned char uc, unsigned short us, unsigned int ui, unsigned long ul)
-#else
-call6f (d, uc, us, ui, ul)
-double d;
-unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul;
-#endif
 {
   d = d;
     call6g (uc, us, ui, ul);
 }
 
-#ifdef PROTOTYPES
 void call6e (float f, double d, unsigned char uc, unsigned short us, unsigned int ui, unsigned long ul)
-#else
-call6e (f, d, uc, us, ui, ul)
-float f; double d;
-unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul;
-#endif
 {
   f = f;
     call6f (d, uc, us, ui, ul);
 }
 
-#ifdef PROTOTYPES
 void call6d (long l, float f, double d, unsigned char uc, unsigned short us, unsigned int ui, unsigned long ul)
-#else
-call6d (l, f, d, uc, us, ui, ul)
-long l; float f; double d;
-unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul;
-#endif
 {
   l = l;
     call6e (f, d, uc, us, ui, ul);
 }
 
-#ifdef PROTOTYPES
 void call6c (int i, long l, float f, double d, unsigned char uc, unsigned short us, unsigned int ui, unsigned long ul)
-#else
-call6c (i, l, f, d, uc, us, ui, ul)
-int i; long l; float f; double d;
-unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul;
-#endif
 {
   i = i;
     call6d (l, f, d, uc, us, ui, ul);
 }
 
-#ifdef PROTOTYPES
 void call6b (short s, int i, long l, float f, double d, unsigned char uc, unsigned short us, unsigned int ui, unsigned long ul)
-#else
-call6b (s, i, l, f, d, uc, us, ui, ul)
-short s; int i; long l; float f; double d;
-unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul;
-#endif
 {
   s = s;
     call6c (i, l, f, d, uc, us, ui, ul);
 }
 
-#ifdef PROTOTYPES
 void call6a (char c, short s, int i, long l, float f, double d, unsigned char uc, unsigned short us, unsigned int ui, unsigned long ul)
-#else
-call6a (c, s, i, l, f, d, uc, us, ui, ul)
-char c; short s; int i; long l; float f; double d;
-unsigned char uc; unsigned short us; unsigned int ui; unsigned long ul;
-#endif
 {
   c = c;
     call6b (s, i, l, f, d, uc, us, ui, ul);
@@ -596,113 +353,58 @@ unsigned char uc; unsigned short us; uns
 /*  Test shuffling of args, round robin */
 
 
-#ifdef PROTOTYPES
 void call7k (char c, int i, short s, long l, float f, unsigned char uc, double d, unsigned short us, unsigned long ul, unsigned int ui)
-#else
-call7k (c, i, s, l, f, uc, d, us, ul, ui)
-char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui;
-#endif
 {
   c = 'a'; i = 7; s = 8; l = 7; f = 0.3; uc = 44; d = 0.44; us = 77;
   ul = 43; ui = 33;
 }
 
-#ifdef PROTOTYPES
 void call7j (unsigned int ui, char c, int i, short s, long l, float f, unsigned char uc, double d, unsigned short us, unsigned long ul)
-#else
-call7j (ui, c, i, s, l, f, uc, d, us, ul)
-unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul;
-#endif
 {
     call7k (c, i, s, l, f, uc, d, us, ul, ui);
 }
 
-#ifdef PROTOTYPES
 void call7i (unsigned long ul, unsigned int ui, char c, int i, short s, long l, float f, unsigned char uc, double d, unsigned short us)
-#else
-call7i (ul, ui, c, i, s, l, f, uc, d, us)
-unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us;
-#endif
 {
     call7j (ui, c, i, s, l, f, uc, d, us, ul);
 }
 
-#ifdef PROTOTYPES
 void call7h (unsigned short us, unsigned long ul, unsigned int ui, char c, int i, short s, long l, float f, unsigned char uc, double d)
-#else
-call7h (us, ul, ui, c, i, s, l, f, uc, d)
-unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc; double d;
-#endif
 {
     call7i (ul, ui, c, i, s, l, f, uc, d, us);
 }
 
-#ifdef PROTOTYPES
 void call7g (double d, unsigned short us, unsigned long ul, unsigned int ui, char c, int i, short s, long l, float f, unsigned char uc)
-#else
-call7g (d, us, ul, ui, c, i, s, l, f, uc)
-double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f; unsigned char uc;
-#endif
 {
     call7h (us, ul, ui, c, i, s, l, f, uc, d);
 }
 
-#ifdef PROTOTYPES
 void call7f (unsigned char uc, double d, unsigned short us, unsigned long ul, unsigned int ui, char c, int i, short s, long l, float f)
-#else
-call7f (uc, d, us, ul, ui, c, i, s, l, f)
-unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l; float f;
-#endif
 {
     call7g (d, us, ul, ui, c, i, s, l, f, uc);
 }
 
-#ifdef PROTOTYPES
 void call7e (float f, unsigned char uc, double d, unsigned short us, unsigned long ul, unsigned int ui, char c, int i, short s, long l)
-#else
-call7e (f, uc, d, us, ul, ui, c, i, s, l)
-float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s; long l;
-#endif
 {
     call7f (uc, d, us, ul, ui, c, i, s, l, f);
 }
 
-#ifdef PROTOTYPES
 void call7d (long l, float f, unsigned char uc, double d, unsigned short us, unsigned long ul, unsigned int ui, char c, int i, short s)
-#else
-call7d (l, f, uc, d, us, ul, ui, c, i, s)
-long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i; short s;
-#endif
 {
     call7e (f, uc, d, us, ul, ui, c, i, s, l);
 }
 
-#ifdef PROTOTYPES
 void call7c (short s, long l, float f, unsigned char uc, double d, unsigned short us, unsigned long ul, unsigned int ui, char c, int i)
-#else
-call7c (s, l, f, uc, d, us, ul, ui, c, i)
-short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c; int i;
-#endif
 {
     call7d (l, f, uc, d, us, ul, ui, c, i, s);
 }
 
-#ifdef PROTOTYPES
 void call7b (int i, short s, long l, float f, unsigned char uc, double d, unsigned short us, unsigned long ul, unsigned int ui, char c)
-#else
-call7b (i, s, l, f, uc, d, us, ul, ui, c)
-int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui; char c;
-#endif
 {
     call7c (s, l, f, uc, d, us, ul, ui, c, i);
 }
 
-#ifdef PROTOTYPES
 void call7a (char c, int i, short s, long l, float f, unsigned char uc, double d, unsigned short us, unsigned long ul, unsigned int ui)
-#else
-call7a (c, i, s, l, f, uc, d, us, ul, ui)
-char c; int i; short s; long l; float f; unsigned char uc; double d; unsigned short us; unsigned long ul; unsigned int ui;
-#endif
 {
     call7b (i, s, l, f, uc, d, us, ul, ui, c);
 }
@@ -722,13 +424,7 @@ void hitbottom ()
 {
 }
 
-#ifdef PROTOTYPES
 void recurse (SVAL a, int depth)
-#else
-void recurse (a, depth)
-SVAL a;
-int depth;
-#endif
 {
   a.s = a.i = a.l = --depth;
   if (depth == 0)
@@ -748,16 +444,7 @@ void test_struct_args ()
    calls alloca may do things differently with respect to frames.  So give
    it a try.  */
 
-#ifdef PROTOTYPES
 void localvars_after_alloca (char c, short s, int i, long l)
-#else
-void
-localvars_after_alloca (c, s, i, l)
-     char c;
-     short s;
-     int i;
-     long l;
-#endif
 {
 #ifdef HAVE_STACK_ALLOCA
   /* No need to use the alloca.c alloca-on-top-of-malloc; it doesn't
@@ -772,29 +459,14 @@ localvars_after_alloca (c, s, i, l)
   l = 7;
 }
 
-#ifdef PROTOTYPES
 void call_after_alloca_subr (char c, short s, int i, long l, unsigned char uc, unsigned short us, unsigned int ui, unsigned long ul)
-#else
-void
-call_after_alloca_subr (c, s, i, l, uc, us, ui, ul)
-char c; int i; short s; long l; unsigned char uc; unsigned short us; unsigned long ul; unsigned int ui;
-#endif
 {
   c = 'a';
   i = 7; s = 8; l = 7; uc = 44; us = 77;
   ul = 43; ui = 33;
 }
 
-#ifdef PROTOTYPES
 void call_after_alloca (char c, short s, int i, long l)
-#else
-void
-call_after_alloca (c, s, i, l)
-     char c;
-     short s;
-     int i;
-     long l;
-#endif
 {
 #ifdef HAVE_STACK_ALLOCA
   /* No need to use the alloca.c alloca-on-top-of-malloc; it doesn't
@@ -813,13 +485,7 @@ call_after_alloca (c, s, i, l)
    will require a trampoline between dyncall and this function on the
    call path, then another trampoline on between this function and main
    on the return path.  */
-#ifdef PROTOTYPES
 double call_with_trampolines (double d1)
-#else
-double
-call_with_trampolines (d1)
-double d1;
-#endif
 {
   return d1;
 } /* End of call_with_trampolines, this comment is needed by funcargs.exp */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/funcargs.exp ./gdb/testsuite/gdb.base/funcargs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/funcargs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/funcargs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -54,13 +54,7 @@ proc integral_args {} {
     # Run; should stop at call0a and print actual arguments.
     if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" }
     gdb_run_cmd
-    gdb_expect {
-	 -re ".* call0a \\(c=97 'a', s=1, i=2, l=3\\) .*$gdb_prompt $" {
-	    pass "run to call0a"
-	}
-	 -re "$gdb_prompt $"  { fail "run to call0a" ; gdb_suppress_tests }
-	 timeout { fail "(timeout) run to call0a" ; gdb_suppress_tests }
-    }
+    gdb_test "" " call0a \\(c=97 'a', s=1, i=2, l=3\\) .*" "run to call0a"
 
     # Print each arg as a double check to see if we can print
     # them here as well as with backtrace.
@@ -111,13 +105,7 @@ proc unsigned_integral_args {} {
     # Run; should stop at call1a and print actual arguments.
     if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" }
     gdb_run_cmd
-    gdb_expect {
-	 -re ".* call1a \\(uc=98 'b', us=6, ui=7, ul=8\\) .*$gdb_prompt $" {
-	    pass "run to call1a"
-	}
-	 -re "$gdb_prompt $" { fail "run to call1a" ; gdb_suppress_tests; }
-	 timeout { fail "(timeout) run to call1a" ; gdb_suppress_tests; }
-    }
+    gdb_test "" " call1a \\(uc=98 'b', us=6, ui=7, ul=8\\) .*" "run to call1a"
 
     # Print each arg as a double check to see if we can print
     # them here as well as with backtrace.
@@ -170,13 +158,16 @@ proc float_and_integral_args {} {
 
     # Run; should stop at call2a and print actual arguments.
 
-    if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "mips-sgi-irix5*" }
+    if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" }
     gdb_run_cmd
-    gdb_expect {
-	 -re ".* call2a \\(c=97 'a', f1=4, s=1, d1=5, i=2, f2=4, l=3, d2=5\\) .*$gdb_prompt $" { pass "run to call2a" }
-	 -re ".* call2a \\(c=97 'a', f1=.*, s=1, d1=5, i=2, f2=4, l=3, d2=5\\) .*$gdb_prompt $" { xfail "run to call2a" }
-	 -re "$gdb_prompt $" { fail "run to call2a" ; gdb_suppress_tests; }
-	 timeout { fail "(timeout) run to call2a" ; gdb_suppress_tests; }
+    set test "run to call2a"
+    gdb_test_multiple "" $test {
+	 -re ".* call2a \\(c=97 'a', f1=4, s=1, d1=5, i=2, f2=4, l=3, d2=5\\) .*$gdb_prompt $" {
+	     pass $test
+	 }
+	 -re ".* call2a \\(c=97 'a', f1=.*, s=1, d1=5, i=2, f2=4, l=3, d2=5\\) .*$gdb_prompt $" {
+	     xfail $test
+	 }
     }
 
     # Print each arg as a double check to see if we can print
@@ -190,7 +181,6 @@ proc float_and_integral_args {} {
     gdb_test "print d2" ".* = 5" "print d2 after run to call2a"
 
     setup_xfail "rs6000-*-*"
-    if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" }
     # Continue; should stop at call2b and print actual arguments.
     if [gdb_test "cont" ".* call2b \\(f1=4, s=1, d1=5, i=2, f2=4, l=3, d2=5, c=97 'a'\\) .*" "continue to call2b"] {
 	gdb_suppress_tests
@@ -257,10 +247,8 @@ proc complex_args {} {
 
     # Run; should stop at call1a and print actual arguments.
     gdb_run_cmd
-    gdb_expect {
-	-re ".* callca \\(f1=1 \\+ 2 \\* I, f2=1 \\+ 2 \\* I, f3=1 \\+ 2 \\* I\\) .*$gdb_prompt $" { pass "run to call2a" }
-	timeout { fail "(timeout) run to callca" ; gdb_suppress_tests; }
-    }
+    gdb_test "" " callca \\(f1=1 \\+ 2 \\* I, f2=1 \\+ 2 \\* I, f3=1 \\+ 2 \\* I\\) .*" "run to call2a"
+
     gdb_test "cont" ".* callcb \\(d1=3 \\+ 4 \\* I, d2=3 \\+ 4 \\* I, d3=3 \\+ 4 \\* I\\) .*" "continue to callcb"
     gdb_test "cont" ".* callcc \\(ld1=5 \\+ 6 \\* I, ld2=5 \\+ 6 \\* I, ld3=5 \\+ 6 \\* I\\) .*" "continue to callcc"
     gdb_test "cont" ".* callcd \\(fc1=1 \\+ 2 \\* I, dc1=3 \\+ 4 \\* I, ldc1=5 \\+ 6 \\* I\\) .*" "continue to callcd"
@@ -282,10 +270,8 @@ proc complex_integral_args {} {
 
     # Run; should stop at call1a and print actual arguments.
     gdb_run_cmd
-    gdb_expect {
-	-re ".* callc1a \\(c=97 'a', s=1, i=2, ui=7, l=3, fc1=1 \\+ 2 \\* I, dc1=3 \\+ 4 \\* I, ldc1=5 \\+ 6 \\* I\\) .*$gdb_prompt $" { pass "run to callc1a" }
-	timeout { fail "(timeout) run to callc1a" ; gdb_suppress_tests; }
-    }
+    gdb_test "" " callc1a \\(c=97 'a', s=1, i=2, ui=7, l=3, fc1=1 \\+ 2 \\* I, dc1=3 \\+ 4 \\* I, ldc1=5 \\+ 6 \\* I\\) .*" "run to callc1a"
+
     gdb_test "cont" ".* callc1b \\(ldc1=5 \\+ 6 \\* I\\, c=97 'a', s=1, i=2, fc1=1 \\+ 2 \\* I, ui=7, l=3, dc1=3 \\+ 4 \\* I\\) .*" "continue to callc1b"
 }
 
@@ -302,10 +288,8 @@ proc complex_float_integral_args {} {
 
     # Run; should stop at call1a and print actual arguments.
     gdb_run_cmd
-    gdb_expect {
-	-re ".* callc2a \\(c=97 'a', s=1, i=2, ui=7, l=3, f=4, d=5, fc1=1 \\+ 2 \\* I, dc1=3 \\+ 4 \\* I, ldc1=5 \\+ 6 \\* I\\) .*$gdb_prompt $" { pass "run to callc2a" }
-	timeout { fail "(timeout) run to callc1a" ; gdb_suppress_tests; }
-    }
+    gdb_test "" " callc2a \\(c=97 'a', s=1, i=2, ui=7, l=3, f=4, d=5, fc1=1 \\+ 2 \\* I, dc1=3 \\+ 4 \\* I, ldc1=5 \\+ 6 \\* I\\) .*" "run to callc2a"
+
     gdb_test "cont" ".* callc2b \\(fc1=1 \\+ 2 \\* I, c=97 'a', s=1, i=2, ui=7, ldc1=5 \\+ 6 \\* I\\, l=3, f=4, d=5, dc1=3 \\+ 4 \\* I\\) .*" "continue to callc2b"
 }
 
@@ -328,11 +312,7 @@ proc pointer_args {} {
     # Try dereferencing the arguments.
 
     gdb_run_cmd
-    gdb_expect {
-	 -re ".* call3a \\(cp=$hex <c> \"a.*\", sp=$hex <s>, ip=$hex <i>, lp=$hex <l>\\) .*$gdb_prompt $" { pass "run to call3a" }
-	 -re "$gdb_prompt $" { fail "run to call3a" ; gdb_suppress_tests; }
-	 timeout { fail "(timeout) run to call3a" ; gdb_suppress_tests; }
-    }
+    gdb_test "" " call3a \\(cp=$hex <c> \"a.*\", sp=$hex <s>, ip=$hex <i>, lp=$hex <l>\\) .*" "run to call3a"
 
     gdb_test "print *cp" ".* = 97 'a'"
     gdb_test "print *sp" ".* = 1"
@@ -384,13 +364,7 @@ proc structs_by_reference {} {
     # Try dereferencing the arguments.
 
     gdb_run_cmd
-    gdb_expect {
-	 -re ".* call4a \\(stp=$hex <st>\\) .*$gdb_prompt $" {
-	    pass "run to call4a"
-	}
-	 -re "$gdb_prompt $" { fail "run to call4a" ; gdb_suppress_tests; }
-	 timeout { fail "(timeout) run to call4a" ; gdb_suppress_tests; }
-    }
+    gdb_test "" " call4a \\(stp=$hex <st>\\) .*" "run to call4a"
 
     gdb_test "print *stp" ".* = \{s1 = 101, s2 = 102\}"
 
@@ -440,13 +414,7 @@ proc structs_by_value {} {
     # Try dereferencing the arguments.
 
     gdb_run_cmd
-    gdb_expect {
-	 -re ".* call5a \\(st=\{s1 = 101, s2 = 102\}\\) .*$gdb_prompt $" {
-	    pass "run to call5a"
-	}
-	 -re "$gdb_prompt $" { fail "run to call5a" ; gdb_suppress_tests; }
-	 timeout { fail "(timeout) run to call5a" ; gdb_suppress_tests; }
-    }
+    gdb_test "" " call5a \\(st=\{s1 = 101, s2 = 102\}\\) .*" "run to call5a"
 
     gdb_test "print st" ".* = \{s1 = 101, s2 = 102\}"
 
@@ -513,18 +481,10 @@ proc discard_and_shuffle {} {
     # Print backtrace.
 
     gdb_run_cmd
-    gdb_expect {
-	 -re ".*Breakpoint $decimal, call6a .*$gdb_prompt $" { pass "run to call6a" }
-	 -re "$gdb_prompt $" { fail "run to call6a" ; gdb_suppress_tests; }
-	 timeout { fail "(timeout) run to call6a" ; gdb_suppress_tests; }
-    }
+    gdb_test "" "Breakpoint $decimal, call6a .*" "run to call6a"
 
     setup_xfail "rs6000-*-*"
 
-    if {!$gcc_compiled} {
-	setup_xfail "mips-sgi-irix5*"
-    }
-
     gdb_test_multiple "backtrace 100" "backtrace from call6a" {
 	-re " call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) .* main \\(.*\\) .*$gdb_prompt $" {
 	    pass "backtrace from call6a"
@@ -743,15 +703,9 @@ proc shuffle_round_robin {} {
     # Print backtrace.
 
     gdb_run_cmd
-    gdb_expect {
-	 -re ".*Breakpoint $decimal, call7a .*$gdb_prompt $" {
-	    pass "run to call7a"
-	}
-	 -re "$gdb_prompt $" { fail "run to call7a" ; gdb_suppress_tests; }
-	 timeout { fail "(timeout) run to call7a" ; gdb_suppress_tests; }
-    }
+    gdb_test "" "Breakpoint $decimal, call7a .*" "run to call7a"
 
-    if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" "mips-sgi-irix5*" }
+    if {!$gcc_compiled} then { setup_xfail "rs6000-*-*" }
     gdb_test_multiple "backtrace 100" "backtrace from call7a" {
 	-re " call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) .* main \\(.*\\) .*$gdb_prompt $" {
 	    pass "backtrace from call7a"
@@ -904,7 +858,6 @@ proc shuffle_round_robin {} {
 
     gdb_continue call7k
 
-    if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" }
     gdb_test_sequence "backtrace 100" "backtrace from call7k" {
 	"\[\r\n\]#0 .* call7k \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
 	"\[\r\n\]#1 .* call7j \\(ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8\\) "
@@ -939,11 +892,7 @@ proc recursive_structs_by_value {} {
     # Run; should stop at hitbottom and print actual arguments.
     # Print backtrace.
     gdb_run_cmd
-    gdb_expect {
-	 -re ".*Breakpoint $decimal, hitbottom .*$gdb_prompt $" { pass "run to hitbottom" }
-	 -re "$gdb_prompt $" { fail "run to hitbottom" ; gdb_suppress_tests; }
-	 timeout { fail "(timeout) run to hitbottom" ; gdb_suppress_tests; }
-    }
+    gdb_test "" "Breakpoint $decimal, hitbottom .*" "run to hitbottom"
 
     if ![istarget sparclet-*-*] {
 	gdb_test_sequence "backtrace 100" "recursive passing of structs by value" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/func-ptr.c ./gdb/testsuite/gdb.base/func-ptr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/func-ptr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/func-ptr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/func-ptr.exp ./gdb/testsuite/gdb.base/func-ptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/func-ptr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/func-ptr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/func-ptrs.c ./gdb/testsuite/gdb.base/func-ptrs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/func-ptrs.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/func-ptrs.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,50 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+void
+sentinel (void)
+{
+  return;
+}
+
+int
+incr (int i)
+{
+  sentinel ();
+  return i + 1;
+}
+
+int
+decr (int i)
+{
+  sentinel ();
+  return i - 1;
+}
+
+int (*calc) (int) = incr;
+
+int
+main (void)
+{
+  int i = -1;
+
+  i = calc (i);
+  i = calc (i);
+  i = calc (i);
+
+  return i;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/func-ptrs.exp ./gdb/testsuite/gdb.base/func-ptrs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/func-ptrs.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/func-ptrs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,95 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+set testname func-ptrs
+set srcfile ${testname}.c
+if { [prepare_for_testing ${testname}.exp ${testname} ${srcfile}] } {
+    return -1
+}
+
+if { ![runto_main] } {
+    untested ${testname}.exp
+    return -1
+}
+
+
+# First set our breakpoints.
+
+set fp_breakpoint_re \
+    "Breakpoint $decimal at $hex: file .*${srcfile}, line $decimal\\."
+gdb_test "break sentinel if calc == decr" \
+    "${fp_breakpoint_re}" \
+    "breakpoint at sentinel"
+gdb_test "break incr" \
+    "${fp_breakpoint_re}" \
+    "breakpoint at incr"
+gdb_test "break decr" \
+    "${fp_breakpoint_re}" \
+    "breakpoint at decr"
+
+
+# Check if we run through to the breakpoint in incr.
+
+gdb_test "continue" \
+    "Breakpoint $decimal, incr \\(i=-1\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+.*" \
+    "continue to incr, first time"
+
+
+# Go back up, make sure the return value is 0.
+
+gdb_test "finish" \
+    "Run till exit from #0 +incr \\(i=-1\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+($hex in )?main \\(\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+.*Value returned is \\$$decimal = 0" \
+    "go back to main from incr, first time"
+
+
+# Redirect calc and see if we run to the breakpoint in decr instead.
+
+gdb_test_no_output "set calc = decr" "set calc to decr"
+gdb_test "continue" \
+    "Breakpoint $decimal, decr \\(i=0\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+.*" \
+    "continue to decr"
+
+
+# Go back up, check if we stop in sentinel instead.
+
+gdb_test "finish" \
+    "Run till exit from #0 +decr \\(i=0\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+Breakpoint $decimal, sentinel \\(\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+.*" \
+    "stop in sentinel"
+
+
+# Go back all the way up to main, make sure the return value is -1.
+
+gdb_test_no_output "up-silently" "move up to decr"
+gdb_test "finish" \
+    "Run till exit from #1 +($hex in )?decr \\(i=0\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+($hex in )?main \\(\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+.*Value returned is \\$$decimal = -1" \
+    "go back to main from decr"
+
+
+# Reset calc and see if we run to the breakpoint in incr again.
+
+gdb_test_no_output "set calc = incr" "set calc to incr"
+gdb_test "continue" \
+    "Breakpoint $decimal, incr \\(i=-1\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+.*" \
+    "continue to incr, second time"
+
+
+# Go back up again, make sure the return value is 0.
+
+gdb_test "finish" \
+    "Run till exit from #0 +incr \\(i=-1\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+($hex in )?main \\(\\)\[ \r\n\]+at .*${srcfile}:$decimal\[\r\n\]+.*Value returned is \\$$decimal = 0" \
+    "go back to main from incr, second time"
+
+
+# All done!
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-buffer-overflow.c ./gdb/testsuite/gdb.base/gcore-buffer-overflow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-buffer-overflow.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gcore-buffer-overflow.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2007-2014 Free Software Foundation, Inc.
+/* Copyright 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-buffer-overflow.exp ./gdb/testsuite/gdb.base/gcore-buffer-overflow.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-buffer-overflow.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gcore-buffer-overflow.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -31,18 +31,6 @@ if  { [gdb_compile "${srcdir}/${subdir}/
 
 clean_restart ${binfile}
 
-# Does this gdb support gcore?
-gdb_test_multiple "help gcore" "help gcore" {
-    -re "Undefined command: .gcore.*$gdb_prompt $" {
-	# gcore command not supported -- nothing to test here.
-	unsupported "gdb does not support gcore on this target"
-	return -1
-    }
-    -re "Save a core file .*$gdb_prompt $" {
-	pass "help gcore"
-    }
-}
-
 gdb_test_no_output "set args ${pattern}"	\
     "Set buffer exceeding arguments"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore.c ./gdb/testsuite/gdb.base/gcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gcore.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2002-2014 Free Software Foundation, Inc.
+/* Copyright 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -49,12 +49,7 @@ array_func ()
   terminal_func ();
 }
 
-#ifdef PROTOTYPES
 int factorial_func (int value)
-#else
-int factorial_func (value)
-     int value;
-#endif
 {
   if (value > 1) {
     value *= factorial_func (value - 1);
@@ -63,6 +58,7 @@ int factorial_func (value)
   return (value);
 }
 
+int
 main()
 {
   factorial_func (6);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore.exp ./gdb/testsuite/gdb.base/gcore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gcore.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -24,18 +24,6 @@ if {[prepare_for_testing $testfile.exp $
     return -1
 }
 
-# Does this gdb support gcore?
-gdb_test_multiple "help gcore" "help gcore" {
-    -re "Undefined command: .gcore.*$gdb_prompt $" {
-	# gcore command not supported -- nothing to test here.
-	unsupported "gdb does not support gcore on this target"
-	return -1
-    }
-    -re "Save a core file .*$gdb_prompt $" {
-	pass "help gcore"
-    }
-}
-
 if { ! [ runto_main ] } then {
     untested gcore.exp
     return -1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro.exp ./gdb/testsuite/gdb.base/gcore-relro.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gcore-relro.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,19 +38,6 @@ set objfile [standard_output_file ${test
 clean_restart ${binfile}
 gdb_load_shlibs ${binfile_lib}
 
-# Does this gdb support gcore?
-set test "help gcore"
-gdb_test_multiple $test $test {
-    -re "Undefined command: .gcore.*\r\n$gdb_prompt $" {
-	# gcore command not supported -- nothing to test here.
-	unsupported "gdb does not support gcore on this target"
-	return -1
-    }
-    -re "Save a core file .*\r\n$gdb_prompt $" {
-	pass $test
-    }
-}
-
 if ![runto lib] {
     return -1
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro-lib.c ./gdb/testsuite/gdb.base/gcore-relro-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gcore-relro-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro-main.c ./gdb/testsuite/gdb.base/gcore-relro-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gcore-relro-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro-pie.c ./gdb/testsuite/gdb.base/gcore-relro-pie.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro-pie.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gcore-relro-pie.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro-pie.exp ./gdb/testsuite/gdb.base/gcore-relro-pie.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gcore-relro-pie.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gcore-relro-pie.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -39,19 +39,6 @@ file attributes ${stripped_binfile} -per
 
 clean_restart ${stripped_binfile}
 
-# Does this gdb support gcore?
-set test "help gcore"
-gdb_test_multiple $test $test {
-    -re "Undefined command: .gcore.*\r\n$gdb_prompt $" {
-	# gcore command not supported -- nothing to test here.
-	unsupported "gdb does not support gcore on this target"
-	return -1
-    }
-    -re "Save a core file .*\r\n$gdb_prompt $" {
-	pass $test
-    }
-}
-
 # The binary is stripped of debug info, but not minsyms.
 if ![runto break_here] {
     fail "Can't run to break_here"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1056.exp ./gdb/testsuite/gdb.base/gdb1056.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1056.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1056.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1090.c ./gdb/testsuite/gdb.base/gdb1090.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1090.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1090.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Test program for multi-register variable.
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    This file is part of the gdb testsuite.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1090.exp ./gdb/testsuite/gdb.base/gdb1090.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1090.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1090.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb11530.c ./gdb/testsuite/gdb.base/gdb11530.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb11530.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb11530.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    Contributed by Pierre Muller.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb11530.exp ./gdb/testsuite/gdb.base/gdb11530.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb11530.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb11530.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb11531.c ./gdb/testsuite/gdb.base/gdb11531.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb11531.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb11531.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    Contributed by Pierre Muller.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb11531.exp ./gdb/testsuite/gdb.base/gdb11531.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb11531.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb11531.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1250.c ./gdb/testsuite/gdb.base/gdb1250.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1250.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1250.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test program for stack trace through noreturn function.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    This file is part of the gdb testsuite.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1250.exp ./gdb/testsuite/gdb.base/gdb1250.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1250.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1250.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1555.c ./gdb/testsuite/gdb.base/gdb1555.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1555.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1555.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test step/next in a shared library
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1555.exp ./gdb/testsuite/gdb.base/gdb1555.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1555.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1555.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1555-main.c ./gdb/testsuite/gdb.base/gdb1555-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1555-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1555-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test step/next in a shared library
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1821.c ./gdb/testsuite/gdb.base/gdb1821.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1821.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1821.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test printing of structure member names in gdb. PR exp/1821
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1821.exp ./gdb/testsuite/gdb.base/gdb1821.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb1821.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb1821.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdbindex-stabs.c ./gdb/testsuite/gdb.base/gdbindex-stabs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdbindex-stabs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdbindex-stabs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdbindex-stabs-dwarf.c ./gdb/testsuite/gdb.base/gdbindex-stabs-dwarf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdbindex-stabs-dwarf.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdbindex-stabs-dwarf.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdbindex-stabs.exp ./gdb/testsuite/gdb.base/gdbindex-stabs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdbindex-stabs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdbindex-stabs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb-sigterm.c ./gdb/testsuite/gdb.base/gdb-sigterm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb-sigterm.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb-sigterm.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb-sigterm.exp ./gdb/testsuite/gdb.base/gdb-sigterm.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdb-sigterm.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdb-sigterm.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdbvars.exp ./gdb/testsuite/gdb.base/gdbvars.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gdbvars.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gdbvars.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/global-var-nested-by-dso.c ./gdb/testsuite/gdb.base/global-var-nested-by-dso.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/global-var-nested-by-dso.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/global-var-nested-by-dso.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,27 @@
+/* Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+extern void b_main (void);
+extern void c_main (void);
+
+int
+main (int argc, char *argv[])
+{
+  c_main ();
+  b_main ();
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp ./gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/global-var-nested-by-dso.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,55 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+if { [skip_shlib_tests] } {
+    return 0
+}
+
+standard_testfile
+
+set lib1name $testfile-solib1
+set srcfile_lib1 $srcdir/$subdir/$lib1name.c
+set binfile_lib1 [standard_output_file $lib1name.so]
+
+set lib2name $testfile-solib2
+set srcfile_lib2 $srcdir/$subdir/$lib2name.c
+set binfile_lib2 [standard_output_file $lib2name.so]
+
+if { [gdb_compile_shlib $srcfile_lib1 $binfile_lib1 \
+	[list debug additional_flags=-fPIC]] != "" } {
+  untested "Could not compile $binfile_lib1."
+  return -1
+}
+
+if { [gdb_compile_shlib $srcfile_lib2 $binfile_lib2 \
+	[list debug additional_flags=-fPIC]] != "" } {
+  untested "Could not compile $binfile_lib2."
+  return -1
+}
+
+if { [gdb_compile $srcdir/$subdir/$srcfile $binfile executable \
+	[list debug shlib=$binfile_lib1 shlib=$binfile_lib2]] != "" } {
+  return -1
+}
+
+clean_restart $binfile
+
+if { ![runto_main] } {
+  return -1
+}
+
+gdb_test "next" "$decimal.*b_main \\(\\);"
+gdb_test "next" "$decimal.*return 0;"
+gdb_test "print test" " = 42"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/global-var-nested-by-dso-solib1.c ./gdb/testsuite/gdb.base/global-var-nested-by-dso-solib1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/global-var-nested-by-dso-solib1.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/global-var-nested-by-dso-solib1.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,24 @@
+/* Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int test;
+
+void
+c_main (void)
+{
+  test = 42;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/global-var-nested-by-dso-solib2.c ./gdb/testsuite/gdb.base/global-var-nested-by-dso-solib2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/global-var-nested-by-dso-solib2.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/global-var-nested-by-dso-solib2.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,24 @@
+/* Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int test;
+
+void
+b_main (void)
+{
+  test = 42;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-debugdata.c ./gdb/testsuite/gdb.base/gnu-debugdata.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-debugdata.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu-debugdata.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-debugdata.exp ./gdb/testsuite/gdb.base/gnu-debugdata.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-debugdata.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu-debugdata.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-ifunc.c ./gdb/testsuite/gdb.base/gnu-ifunc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-ifunc.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu-ifunc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-ifunc.exp ./gdb/testsuite/gdb.base/gnu-ifunc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-ifunc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu-ifunc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-ifunc-lib.c ./gdb/testsuite/gdb.base/gnu-ifunc-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu-ifunc-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu-ifunc-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu_vector.c ./gdb/testsuite/gdb.base/gnu_vector.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu_vector.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu_vector.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu_vector.exp ./gdb/testsuite/gdb.base/gnu_vector.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/gnu_vector.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/gnu_vector.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hashline1.exp ./gdb/testsuite/gdb.base/hashline1.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hashline1.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hashline1.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hashline2.exp ./gdb/testsuite/gdb.base/hashline2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hashline2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hashline2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hashline3.exp ./gdb/testsuite/gdb.base/hashline3.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hashline3.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hashline3.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak2.exp ./gdb/testsuite/gdb.base/hbreak2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hbreak2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
+#   Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -96,7 +96,7 @@ set bp_location1 [gdb_get_line_number "s
 # board.  So, to be sure, we do a list command.
 #
 gdb_test "list main" \
-    ".*main \\(argc, argv, envp\\).*" \
+    ".*main \\(int argc, char ..argv, char ..envp\\).*" \
     "use `list' to establish default source file"
 gdb_test "hbreak $bp_location1" \
     "Hardware assisted breakpoint.*at.* file .*$srcfile, line $bp_location1\\." \
@@ -141,7 +141,6 @@ if {$hp_aCC_compiler} {
 
 set bp_location7 [gdb_get_line_number "set breakpoint 7 here"]
 set bp_location8 [gdb_get_line_number "set breakpoint 8 here" $srcfile1]
-set bp_location9 [gdb_get_line_number "set breakpoint 9 here" $srcfile1]
 
 gdb_test "info break" \
     "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
@@ -192,7 +191,7 @@ gdb_test "hbreak \"marker2\"" \
     "Hardware assisted breakpoint.*at.* file .*$srcfile1, line.*" \
     "hardware breakpoint quoted function (2)"
 gdb_test "continue" \
-    "Continuing\\..*Breakpoint \[0-9\]+, (0x\[0-9a-f\]+ in )?marker2 \\(a=43\\) at .*$srcfile1:($bp_location8|$bp_location9).*" \
+    "Continuing\\..*Breakpoint \[0-9\]+, (0x\[0-9a-f\]+ in )?marker2 \\(a=43\\) at .*$srcfile1:$bp_location8.*" \
     "run until quoted breakpoint"
 delete_breakpoints
 #
@@ -394,7 +393,7 @@ gdb_test "hbreak \$foo" \
 # Verify that we can set and trigger a breakpoint in a user-called function.
 #
 gdb_test "hbreak marker2" \
-    "Hardware assisted breakpoint (\[0-9\]*) at .*, line ($bp_location8|$bp_location9).*" \
+    "Hardware assisted breakpoint (\[0-9\]*) at .*, line $bp_location8.*" \
     "set hardware breakpoint on to-be-called function"
 
 gdb_test "print marker2(99)" \
@@ -408,10 +407,10 @@ gdb_test "print marker2(99)" \
 # for hppa*-*-hpux.
 #
 gdb_test_multiple "bt" "backtrace while in called function" {
-    -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*_sr4export.*$gdb_prompt $" {
+    -re "#0\[ \t\]*($hex in )?marker2.*:$bp_location8\r\n#1.*_sr4export.*$gdb_prompt $" {
 	pass "backtrace while in called function"
     }
-    -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*function called from gdb.*$gdb_prompt $" {
+    -re "#0\[ \t\]*($hex in )?marker2.*:$bp_location8\r\n#1.*function called from gdb.*$gdb_prompt $" {
 	pass "backtrace while in called function"
     }
 }
@@ -421,13 +420,13 @@ gdb_test_multiple "bt" "backtrace while 
 # breakpoint inserted by GDB at the program's entry point.
 #
 gdb_test_multiple "finish" "finish from called function" {
-    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.* in _sr4export.*$gdb_prompt $" {
+    -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.* in _sr4export.*$gdb_prompt $" {
 	pass "finish from called function"
     }
-    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*function called from gdb.*$gdb_prompt $" {
+    -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.*function called from gdb.*$gdb_prompt $" {
 	pass "finish from called function"
     }
-    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*Value returned.*$gdb_prompt $" {
+    -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.*Value returned.*$gdb_prompt $" {
 	pass "finish from called function"
     }
 }
@@ -577,19 +576,11 @@ gdb_test "hbreak marker4" \
 # has no exactly matching line symbol, and GDB reports the breakpoint
 # as if it were in the middle of a line rather than at the beginning.
 
-set bp_location13 [gdb_get_line_number "set breakpoint 13 here" $srcfile1]
 set bp_location14 [gdb_get_line_number "set breakpoint 14 here" $srcfile1]
 
 gdb_test_multiple "continue" \
     "run until hardware breakpoint set at small function, optimized file" {
-	-re "Breakpoint $decimal, marker4 \\(d=(d@entry=)?177601976\\) at .*$srcfile1:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
-	    pass "run until hardware breakpoint set at small function, optimized file"
-	}
-	-re "Breakpoint $decimal, $hex in marker4 \\(d=(d@entry=)?177601976\\) at .*$srcfile1:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
-	    pass "run until hardware breakpoint set at small function, optimized file"
-	}
 	-re "Breakpoint $decimal, marker4 \\(d=(d@entry=)?177601976\\) at .*$srcfile1:$bp_location14\[\r\n\]+$bp_location14\[\t \]+void marker4.*" {
-	    # marker4() is defined at line 46 when compiled with -DPROTOTYPES
 	    pass "run until hardware breakpoint set at small function, optimized file (line bp_location14)"
 	}
 	-re "Breakpoint $decimal, factorial \\(.*\\) .*\{\r\n$gdb_prompt" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak.c ./gdb/testsuite/gdb.base/hbreak.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hbreak.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak.exp ./gdb/testsuite/gdb.base/hbreak.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hbreak.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c ./gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp ./gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c ./gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-unmapped.c ./gdb/testsuite/gdb.base/hbreak-unmapped.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-unmapped.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hbreak-unmapped.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-unmapped.exp ./gdb/testsuite/gdb.base/hbreak-unmapped.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hbreak-unmapped.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hbreak-unmapped.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,13 +29,9 @@ if ![runto_main] {
 }
 
 # If we can read the memory at address 0, skip the test.
-gdb_test_multiple "x 0" "memory at address 0" {
-    -re "0x0:.*Cannot access memory at address 0x0.*$gdb_prompt $" { }
-    -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { }
-    -re ".*$gdb_prompt $" {
-	untested "Memory at address 0 is readable"
-	return
-    }
+if { [is_address_zero_readable] } {
+    untested "Memory at address 0 is readable"
+    return
 }
 
 delete_breakpoints
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/help.exp ./gdb/testsuite/gdb.base/help.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/help.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/help.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
+#   Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hook-stop-continue.c ./gdb/testsuite/gdb.base/hook-stop-continue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hook-stop-continue.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hook-stop-continue.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hook-stop-continue.exp ./gdb/testsuite/gdb.base/hook-stop-continue.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hook-stop-continue.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hook-stop-continue.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hook-stop-frame.c ./gdb/testsuite/gdb.base/hook-stop-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hook-stop-frame.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hook-stop-frame.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hook-stop-frame.exp ./gdb/testsuite/gdb.base/hook-stop-frame.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/hook-stop-frame.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/hook-stop-frame.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/huge.c ./gdb/testsuite/gdb.base/huge.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/huge.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/huge.c	2015-01-20 02:05:39.000000000 +0000
@@ -12,6 +12,7 @@
 #endif
 static int a[CRASH_GDB], b[CRASH_GDB];
 
+int
 main()
 {
   memcpy (a, b, sizeof (a));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/huge.exp ./gdb/testsuite/gdb.base/huge.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/huge.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/huge.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2001-2014 Free Software Foundation, Inc.
+# Copyright 2001-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ifelse.exp ./gdb/testsuite/gdb.base/ifelse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ifelse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ifelse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/included.c ./gdb/testsuite/gdb.base/included.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/included.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/included.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/included.exp ./gdb/testsuite/gdb.base/included.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/included.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/included.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/included.h ./gdb/testsuite/gdb.base/included.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/included.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/included.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/inferior-died.c ./gdb/testsuite/gdb.base/inferior-died.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/inferior-died.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/inferior-died.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test for fork-related gdb bug
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,6 +17,7 @@
 
 #include <stdlib.h>
 #include <sys/types.h>
+#include <sys/wait.h>
 #include <unistd.h>
 
 void function(void)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/inferior-died.exp ./gdb/testsuite/gdb.base/inferior-died.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/inferior-died.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/inferior-died.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/infnan.c ./gdb/testsuite/gdb.base/infnan.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/infnan.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/infnan.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test file is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/infnan.exp ./gdb/testsuite/gdb.base/infnan.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/infnan.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/infnan.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-fun.c ./gdb/testsuite/gdb.base/info-fun.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-fun.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-fun.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-fun.exp ./gdb/testsuite/gdb.base/info-fun.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-fun.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-fun.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-fun-solib.c ./gdb/testsuite/gdb.base/info-fun-solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-fun-solib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-fun-solib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/infoline.c ./gdb/testsuite/gdb.base/infoline.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/infoline.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/infoline.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/infoline.exp ./gdb/testsuite/gdb.base/infoline.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/infoline.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/infoline.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-macros.exp ./gdb/testsuite/gdb.base/info-macros.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-macros.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-macros.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-os.c ./gdb/testsuite/gdb.base/info-os.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-os.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-os.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,6 +22,7 @@
 #include <pthread.h>
 #include <arpa/inet.h>
 #include <sys/socket.h>
+#include <unistd.h>
 
 static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-os.exp ./gdb/testsuite/gdb.base/info-os.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-os.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-os.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-proc.exp ./gdb/testsuite/gdb.base/info-proc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-proc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-proc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-shared.c ./gdb/testsuite/gdb.base/info-shared.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-shared.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-shared.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-shared.exp ./gdb/testsuite/gdb.base/info-shared.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-shared.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-shared.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-shared-solib1.c ./gdb/testsuite/gdb.base/info-shared-solib1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-shared-solib1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-shared-solib1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-shared-solib2.c ./gdb/testsuite/gdb.base/info-shared-solib2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-shared-solib2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-shared-solib2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-target.exp ./gdb/testsuite/gdb.base/info-target.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/info-target.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-target.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interact.exp ./gdb/testsuite/gdb.base/interact.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interact.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/interact.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interp.c ./gdb/testsuite/gdb.base/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/interp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interp.exp ./gdb/testsuite/gdb.base/interp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/interp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interrupt.exp ./gdb/testsuite/gdb.base/interrupt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interrupt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/interrupt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1994-2014 Free Software Foundation, Inc.
+# Copyright 1994-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -113,13 +113,11 @@ if ![file exists $binfile] then {
 		# other machines as well.
 
 		setup_xfail "sparc*-*-solaris2*"
-		setup_xfail "mips-*-ultrix*"
 		setup_xfail "i*86-*-solaris2*"
 		setup_xfail "*-*-sysv4*"
 		setup_xfail "vax-*-*"
 		setup_xfail "alpha-*-*"
 		setup_xfail "*-*-*bsd*"
-		setup_xfail "*-*-irix*"
 		setup_xfail "*-*-hpux*"
 		setup_xfail "*-*-*lynx*"
 		fail "call function when asleep (stays asleep)"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interrupt-noterm.c ./gdb/testsuite/gdb.base/interrupt-noterm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interrupt-noterm.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/interrupt-noterm.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interrupt-noterm.exp ./gdb/testsuite/gdb.base/interrupt-noterm.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/interrupt-noterm.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/interrupt-noterm.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit.exp ./gdb/testsuite/gdb.base/jit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/jit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit-main.c ./gdb/testsuite/gdb.base/jit-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/jit-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit-simple.exp ./gdb/testsuite/gdb.base/jit-simple.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit-simple.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/jit-simple.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -40,14 +40,7 @@ proc jit_run {msg} {
     global decimal gdb_prompt
 
     gdb_run_cmd
-    gdb_expect {
-	-re "Inferior .* exited.*$gdb_prompt $" {
-	    pass $msg
-	}
-	-re ".*$gdb_prompt $" {
-	    fail $msg
-	}
-    }
+    gdb_test "" "Inferior .* exited.*" $msg
 }
 
 # Test re-running an inferior with a JIT descriptor, where the JIT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit-so.exp ./gdb/testsuite/gdb.base/jit-so.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit-so.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/jit-so.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit-solib.c ./gdb/testsuite/gdb.base/jit-solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jit-solib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/jit-solib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jump.c ./gdb/testsuite/gdb.base/jump.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jump.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/jump.c	2015-01-20 02:05:39.000000000 +0000
@@ -2,14 +2,9 @@
    particularly deep about the functionality nor names in here.
    */
 
-#ifdef PROTOTYPES
 static int square (int x)
-#else
-static int square (x)
-  int  x;
-#endif
 {
-  return x*x;
+  return x*x;			/* out-of-func */
 }
 
 
@@ -18,7 +13,7 @@ int main ()
   int i = 99;
 
   i++;
-  i = square (i);
-  i--;
+  i = square (i);		/* bp-on-call */
+  i--;				/* bp-on-non-call */
   return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jump.exp ./gdb/testsuite/gdb.base/jump.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/jump.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/jump.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,8 +38,9 @@ if ![runto_main] then {
 # The statement doesn't contain a function call.
 #
 set bp_on_non_call 0
-gdb_test_multiple "break 22" "break before jump to non-call" {
-    -re "\[Bb\]reakpoint (\[0-9\]*) at 0x\[0-9a-fA-F\]*: file .*${srcfile}, line 22.*$gdb_prompt $" {
+set non_call_line [gdb_get_line_number "bp-on-non-call"]
+gdb_test_multiple "break $non_call_line" "break before jump to non-call" {
+    -re "\[Bb\]reakpoint (${decimal}) at ${hex}: file .*${srcfile}, line $non_call_line.*$gdb_prompt $" {
 	set bp_on_non_call $expect_out(1,string)
 	pass "break before jump to non-call"
     }
@@ -47,15 +48,16 @@ gdb_test_multiple "break 22" "break befo
 
 # Can we jump to the statement?  Do we stop there?
 #
-gdb_test "jump 22" "Breakpoint \[0-9\]*, .*${srcfile}:22.*" \
+gdb_test "jump $non_call_line" "Breakpoint ${decimal}, .*${srcfile}:$non_call_line.*" \
     "jump to non-call"
 
 # Set a breakpoint on the statement that we're about to jump to.
 # The statement does contain a function call.
 #
 set bp_on_call 0
-gdb_test_multiple "break 21" "break before jump to call" {
-    -re "\[Bb\]reakpoint (\[0-9\]*) at 0x\[0-9a-fA-F\]*: file .*${srcfile}, line 21.*$gdb_prompt $" {
+set call_line [gdb_get_line_number "bp-on-call"]
+gdb_test_multiple "break $call_line" "break before jump to call" {
+    -re "\[Bb\]reakpoint (${decimal}) at ${hex}: file .*${srcfile}, line $call_line.*$gdb_prompt $" {
 	set bp_on_call $expect_out(1,string)
 	pass "break before jump to call"
     }
@@ -63,8 +65,8 @@ gdb_test_multiple "break 21" "break befo
 
 # Can we jump to the statement?  Do we stop there?
 #
-gdb_test "jump 21" \
-    "Breakpoint \[0-9\]*, .*${srcfile}:21.*" \
+gdb_test "jump $call_line" \
+    "Breakpoint ${decimal}, .*${srcfile}:$call_line.*" \
     "jump to call"
 
 # If we disable the breakpoint at the function call, and then
@@ -73,7 +75,7 @@ gdb_test "jump 21" \
 #
 gdb_test_no_output "disable $bp_on_call" "disable breakpoint on call"
 
-gdb_test "jump 21" "Breakpoint \[0-9\]*, .*${srcfile}:22.*" \
+gdb_test "jump $call_line" "Breakpoint ${decimal}, .*${srcfile}:$non_call_line.*" \
     "jump to call with disabled breakpoint"
 
 # Verify that GDB responds gracefully to the "jump" command without
@@ -86,7 +88,7 @@ gdb_test "jump" "Argument required .star
 # Verify that GDB responds gracefully to the "jump" command with
 # trailing junk.
 #
-gdb_test "jump 21 100" \
+gdb_test "jump $call_line 100" \
     "malformed linespec error: unexpected number, \"100\"" \
     "jump with trailing argument junk"
 
@@ -99,16 +101,17 @@ gdb_test "jump 21 100" \
 # Try it both ways: confirming and not confirming the jump.
 #
 
-gdb_test "jump 12" \
+set out_line [gdb_get_line_number "out-of-func"]
+gdb_test "jump $out_line" \
     "Not confirmed.*" \
     "aborted jump out of current function" \
-    "Line 12 is not in `main'.  Jump anyway.*y or n. $" \
+    "Line $out_line is not in `main'.  Jump anyway.*y or n. $" \
     "n"
 
-gdb_test "jump 12" \
+gdb_test "jump $out_line" \
     "Continuing at.*" \
     "jump out of current function" \
-    "Line 12 is not in `main'.  Jump anyway.*y or n. $" \
+    "Line $out_line is not in `main'.  Jump anyway.*y or n. $" \
     "y"
 
 gdb_exit
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/kill-after-signal.c ./gdb/testsuite/gdb.base/kill-after-signal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/kill-after-signal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/kill-after-signal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/kill-after-signal.exp ./gdb/testsuite/gdb.base/kill-after-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/kill-after-signal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/kill-after-signal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/label.exp ./gdb/testsuite/gdb.base/label.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/label.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/label.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs0.c ./gdb/testsuite/gdb.base/langs0.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs0.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/langs0.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,14 +1,8 @@
 /* This file is actually in C, it is not supposed to simulate something
    translated from another language or anything like that.  */
-#ifdef PROTOTYPES
 extern  int fsub_();
 
 int csub (int x)
-#else
-int
-csub (x)
-     int x;
-#endif
 {
   return x + 1;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs1.c ./gdb/testsuite/gdb.base/langs1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/langs1.c	2015-01-20 02:05:39.000000000 +0000
@@ -16,22 +16,14 @@ static integer c__10000 = 10000;
 
 /* I am not sure whether there is a way to have a fortran program without */
 /* a MAIN, but it does not really harm us to have one. */
-#ifdef PROTOTYPES
 /* Main program */ void MAIN__()
-#else
-/* Main program */ MAIN__()
-#endif
 {
 } /* MAIN__ */
 
 #line 4 "langs1.f"
 /* Subroutine */ int fsub_()
 {
-#ifdef PROTOTYPES
     extern integer cppsub_(int*);
-#else
-    extern integer cppsub_();
-#endif
 
 #line 5 "langs1.f"
 #line 6 "langs1.f"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs1.f ./gdb/testsuite/gdb.base/langs1.f
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs1.f	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/langs1.f	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-c Copyright (C) 1999-2014 Free Software Foundation, Inc.
+c Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
 c This program is free software; you can redistribute it and/or modify
 c it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs2.c ./gdb/testsuite/gdb.base/langs2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/langs2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,4 @@
 /* This is intended to be a vague simulation of cfront output.  */
-#ifdef PROTOTYPES
 #line 1 "langs2.cxx"
 extern int csub (int);
 int
@@ -14,19 +13,3 @@ cppsub_ (int * y)
 {
   return foo__Fi (*y);
 }
-#else 
-#line 1 "langs2.cxx"
-extern int csub ();
-int
-foo__Fi (x) int x;
-{
-  return csub (x / 2);
-}
-
-extern int cppsub_ ();
-int
-cppsub_ (y) int *y;
-{
-  return foo__Fi (*y);
-}
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs.exp ./gdb/testsuite/gdb.base/langs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/langs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/langs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ldbl_e308.c ./gdb/testsuite/gdb.base/ldbl_e308.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ldbl_e308.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ldbl_e308.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ldbl_e308.exp ./gdb/testsuite/gdb.base/ldbl_e308.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ldbl_e308.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ldbl_e308.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/lineinc.exp ./gdb/testsuite/gdb.base/lineinc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/lineinc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/lineinc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Test macro handling of #included files.
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/linespecs.exp ./gdb/testsuite/gdb.base/linespecs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/linespecs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/linespecs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/line-symtabs.c ./gdb/testsuite/gdb.base/line-symtabs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/line-symtabs.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/line-symtabs.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,25 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "line-symtabs.h"
+
+int
+main ()
+{
+  header_function ();
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/line-symtabs.exp ./gdb/testsuite/gdb.base/line-symtabs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/line-symtabs.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/line-symtabs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,33 @@
+# Test handling of line symbol tables (non-primary symtabs).
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+standard_testfile .c line-symtabs.h
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+    return -1
+}
+
+if ![runto_main] {
+    fail "Can't run to main"
+    return -1
+}
+
+# PR 17559: gdb_disassembly was using the wrong symtab lookup function.
+# It was expecting the symtab of the source file containing $pc,
+# instead it was getting the primary symtab of that compilation unit.
+gdb_breakpoint "$srcfile2:[gdb_get_line_number {break here} $srcfile2]"
+gdb_continue_to_breakpoint "continue to breakpoint in header"
+gdb_test "disas /m" "break here.*End of assembler dump\\."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/line-symtabs.h ./gdb/testsuite/gdb.base/line-symtabs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/line-symtabs.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/line-symtabs.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int x;
+
+void
+header_function (void)
+{
+  x = 42; /* break here */
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/list0.h ./gdb/testsuite/gdb.base/list0.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/list0.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/list0.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,10 +1,10 @@
 /* An include file that actually causes code to be generated in the including file.  This is known to cause problems on some systems. */
-#ifdef PROTOTYPES
+
 extern void bar(int);
 static void foo (int x)
-#else
-static void foo (x) int x;
-#endif
+/* !
+   !
+   ! */
 {
     bar (x++);
     bar (x++);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/list1.c ./gdb/testsuite/gdb.base/list1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/list1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/list1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,11 +1,11 @@
 #include <stdio.h>
 
-#ifdef PROTOTYPES
+
 void long_line (); int oof (int);
 void bar (int x)
-#else
-void bar (x) int x;
-#endif
+/* -
+   -
+   - */
 {
     printf ("%d\n", x);
 
@@ -18,9 +18,9 @@ unused ()
     /* Not used for anything */
 }
 /* This routine has a very long line that will break searching in older versions of GDB.  */
-#ifdef PROTOTYPES
+
 void
-#endif
+
 long_line ()
 {
   oof (67);
@@ -29,11 +29,11 @@ long_line ()
 
   oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*  5 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 10 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 15 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 20 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 25 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 30 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 35 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 40 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 45 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 50 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 55 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 60 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /* 65 */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (12); /*    */      oof (12);  oof (12);  oof (12);  oof (12);  oof (12);  oof (1234); /* 70 */
 }
-#ifdef PROTOTYPES
+
 int oof (int n)
-#else
-oof (n) int n;
-#endif
+/* o
+   o
+   o */
 {
   return n + 1;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/list.exp ./gdb/testsuite/gdb.base/list.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/list.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/list.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/logical.exp ./gdb/testsuite/gdb.base/logical.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/logical.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/logical.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/longest-types.c ./gdb/testsuite/gdb.base/longest-types.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/longest-types.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/longest-types.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/longest-types.exp ./gdb/testsuite/gdb.base/longest-types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/longest-types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/longest-types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/longjmp.c ./gdb/testsuite/gdb.base/longjmp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/longjmp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/longjmp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/longjmp.exp ./gdb/testsuite/gdb.base/longjmp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/longjmp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/longjmp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/long_long.c ./gdb/testsuite/gdb.base/long_long.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/long_long.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/long_long.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 1999-2014 Free Software Foundation, Inc.
+   Copyright 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/long_long.exp ./gdb/testsuite/gdb.base/long_long.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/long_long.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/long_long.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/macscp.exp ./gdb/testsuite/gdb.base/macscp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/macscp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/macscp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Test macro scoping.
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/maint.exp ./gdb/testsuite/gdb.base/maint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/maint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/maint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -25,7 +25,6 @@
 #maintenance expand-symtabs -- Expand symtabs matching a file regexp
 #maintenance set -- Set GDB internal variables used by the GDB maintainer
 #maintenance show -- Show GDB internal variables used by the GDB maintainer
-#maintenance demangle -- Demangle a C++ mangled name
 #maintenance dump-me -- Get fatal error; make debugger dump its core
 #maintenance print -- Maintenance command for printing GDB internal state
 #maintenance info -- Commands for showing internal info about the program being debugged
@@ -72,7 +71,7 @@ gdb_test "maint print registers" "Name.*
 gdb_test_no_output "mt set per on" "mt set per on for expand-symtabs"
 gdb_test_multiple "mt expand-symtabs $subdir/break\[.\]c$" \
     "mt expand-symtabs" {
-	-re "#primary symtabs: (1|2) \\(\[+\](0|1|2)\\),.*$gdb_prompt $" {
+	-re "#compunits: (1|2) \\(\[+\](0|1|2)\\),.*$gdb_prompt $" {
 	    # This should expand at most two primary symtabs.
 	    # "Normally" it will not expand any, because the symtab
 	    # holding "main" will already have been expanded, but if the
@@ -133,16 +132,9 @@ gdb_test_no_output "maint check-symtabs"
 # Test per-command stats.
 gdb_test_no_output "maint set per-command on"
 gdb_test "pwd" \
-    "Command execution time: \[0-9.\]+ \\(cpu\\), \[0-9.\]+ \\(wall\\)\[\r\n\]+Space used: $decimal \\(\\+$decimal for this command\\)\[\r\n\]+#symtabs: $decimal \\(\\+$decimal\\), #primary symtabs: $decimal \\(\\+$decimal\\), #blocks: $decimal \\(\\+$decimal\\)"
+    "Command execution time: \[0-9.\]+ \\(cpu\\), \[0-9.\]+ \\(wall\\)\[\r\n\]+Space used: $decimal \\(\\+$decimal for this command\\)\[\r\n\]+#symtabs: $decimal \\(\\+$decimal\\), #compunits: $decimal \\(\\+$decimal\\), #blocks: $decimal \\(\\+$decimal\\)"
 gdb_test_no_output "maint set per-command off"
 
-gdb_test "maint demangle" \
-    "\"maintenance demangle\" takes an argument to demangle\\."
-
-gdb_test "maint demangle main" "Can't demangle \"main\""
-
-
-
 # The timeout value is raised, because printing all the symbols and
 # statistical information about Cygwin and Windows libraries takes a lot
 # of time.
@@ -484,7 +476,7 @@ set timeout $oldtimeout
 #============test help on maint commands
 
 gdb_test "help maint" \
-    "Commands for use by GDB maintainers\\..*Includes commands to dump specific internal GDB structures in.*a human readable form, to cause GDB to deliberately dump core,.*to test internal functions such as the C../ObjC demangler, etc\\..*List of maintenance subcommands:.*maintenance info.*maintenance internal-error.*maintenance print.*maintenance set.*maintenance show.*Type.*help maintenance.*followed by maintenance subcommand name for full documentation\\..*Command name abbreviations are allowed if unambiguous\\..*" 
+    "Commands for use by GDB maintainers\\..*Includes commands to dump specific internal GDB structures in.*a human readable form, to cause GDB to deliberately dump core, etc\\..*List of maintenance subcommands:.*maintenance info.*maintenance internal-error.*maintenance print.*maintenance set.*maintenance show.*Type.*help maintenance.*followed by maintenance subcommand name for full documentation\\..*Command name abbreviations are allowed if unambiguous\\..*" 
 
 gdb_test "help maint info" \
     "Commands for showing internal info about the program being debugged.*unambiguous\\..*"
@@ -496,8 +488,7 @@ test_prefix_command_help {"maint print" 
 test_prefix_command_help {"maint" "maintenance"} {
     "Commands for use by GDB maintainers\\.\[\r\n\]+"
     "Includes commands to dump specific internal GDB structures in\[\r\n\]+"
-    "a human readable form, to cause GDB to deliberately dump core,\[\r\n\]+"
-    "to test internal functions such as the C\\+\\+/ObjC demangler, etc\\.\[\r\n\]+"
+    "a human readable form, to cause GDB to deliberately dump core, etc\\.\[\r\n\]+"
 }
 
 #set oldtimeout $timeout
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/memattr.c ./gdb/testsuite/gdb.base/memattr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/memattr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/memattr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/memattr.exp ./gdb/testsuite/gdb.base/memattr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/memattr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/memattr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/mips_pro.c ./gdb/testsuite/gdb.base/mips_pro.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/mips_pro.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/mips_pro.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,25 +1,13 @@
 /* Tests regarding examination of prologues.  */
 
-#ifdef PROTOTYPES
 int
 inner (int z)
-#else
-int
-inner (z)
-     int z;
-#endif
 {
   return 2 * z;
 }
 
-#ifdef PROTOTYPES
 int
 middle (int x)
-#else
-int
-middle (x)
-     int x;
-#endif
 {
   if (x == 0)
     return inner (5);
@@ -27,27 +15,14 @@ middle (x)
     return inner (6);
 }
 
-#ifdef PROTOTYPES
 int
 top (int y)
-#else
-int
-top (y)
-     int y;
-#endif
 {
   return middle (y + 1);
 }
 
-#ifdef PROTOTYPES
 int
 main (int argc, char **argv)
-#else
-int
-main (argc, argv)
-     int argc;
-     char **argv;
-#endif
 {
   return top (-1) + top (1);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/mips_pro.exp ./gdb/testsuite/gdb.base/mips_pro.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/mips_pro.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/mips_pro.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -40,7 +40,7 @@ if [runto middle] then {
     #   warning: Hit heuristic-fence-post without finding
     #   warning: enclosing function for pc 0x1006ead0
     if { [test_compiler_info gcc-*-*] } then {
-	setup_xfail "mips*-sgi-irix4*" "mips64*-*-elf"
+	setup_xfail "mips64*-*-elf"
     }
     # The call chain is main -> top -> middle.  But gcc can optimize a tail
     # call to a jump, so the stack may contain either main -> top -> middle
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/miscexprs.exp ./gdb/testsuite/gdb.base/miscexprs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/miscexprs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/miscexprs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/morestack.c ./gdb/testsuite/gdb.base/morestack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/morestack.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/morestack.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/morestack.exp ./gdb/testsuite/gdb.base/morestack.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/morestack.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/morestack.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/moribund-step.exp ./gdb/testsuite/gdb.base/moribund-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/moribund-step.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/moribund-step.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/multi-forks.c ./gdb/testsuite/gdb.base/multi-forks.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/multi-forks.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/multi-forks.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,6 +22,7 @@
 
 pid_t pids[4];
 
+int
 main()
 {
   int i;
@@ -32,5 +33,5 @@ main()
   printf ("%d ready\n", getpid ());
   sleep (2);
   printf ("%d done\n", getpid ());
-  exit (0);	/* Set exit breakpoint here.  */
+  return 0;	/* Set exit breakpoint here.  */
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/multi-forks.exp ./gdb/testsuite/gdb.base/multi-forks.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/multi-forks.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/multi-forks.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2005-2014 Free Software Foundation, Inc.
+#   Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/multi-line-starts-subshell.exp ./gdb/testsuite/gdb.base/multi-line-starts-subshell.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/multi-line-starts-subshell.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/multi-line-starts-subshell.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nextoverexit.c ./gdb/testsuite/gdb.base/nextoverexit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nextoverexit.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/nextoverexit.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nextoverexit.exp ./gdb/testsuite/gdb.base/nextoverexit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nextoverexit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/nextoverexit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nodebug.c ./gdb/testsuite/gdb.base/nodebug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nodebug.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/nodebug.c	2015-01-20 02:05:39.000000000 +0000
@@ -6,65 +6,33 @@ static int datalocal = 4;		/* Should go 
 int bssglobal;				/* Should go in global bss */
 static int bsslocal;			/* Should go in local bss */
 
-#ifdef PROTOTYPES
 int
 inner (int x)
-#else
-int
-inner (x)
-     int x;
-#endif
 {
   return x + dataglobal + datalocal + bssglobal + bsslocal;
 }
 
-#ifdef PROTOTYPES
 static short
 middle (int x)
-#else
-static short
-middle (x)
-     int x;
-#endif
 {
   return 2 * inner (x);
 }
 
-#ifdef PROTOTYPES
 short
 top (int x)
-#else
-short
-top (x)
-     int x;
-#endif
 {
   return 2 * middle (x);
 }
 
-#ifdef PROTOTYPES
 int
 main (int argc, char **argv)
-#else
-int 
-main (argc, argv)
-     int argc;
-     char **argv;
-#endif
 {
   return top (argc);
 }
 
 int *x;
 
-#ifdef PROTOTYPES
 int array_index (char *arr, int i)
-#else
-int
-array_index (arr, i)
-     char *arr;
-     int i;
-#endif
 {
   /* The basic concept is just "return arr[i];".  But call malloc so that gdb
      will be able to call functions.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nodebug.exp ./gdb/testsuite/gdb.base/nodebug.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nodebug.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/nodebug.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -58,29 +58,17 @@ if [runto inner] then {
     # On alpha (and other ecoff systems) the native compilers put
     # out debugging info for non-aggregate return values of functions
     # even without -g, which should be accepted.
-    # Irix5, even though it is ELF, counts as "ecoff" because it
-    # encapsulates ecoff debugging info in a .mdebug section.
-    # Irix6 gcc emits no debug info at all for static functions and
-    # variables, so all tests involving statics fail.
-    
-    if {![test_compiler_info "gcc-*"]} then { setup_xfail "mips-sgi-irix5*" "mips-sgi-irix6*" }
+
     gdb_test "p top" \
 	"\{(<(text variable|function), no debug info>|short \\(int\\)|short \\(\\))\} \[0-9a-fx]* <\\.?top(\\(int\\)|)>"
-    if {![test_compiler_info "gcc-*"]} then { setup_xfail "mips-sgi-irix5*" "mips-sgi-irix6*" }
     gdb_test "whatis top" \
 	"(<(text variable|function), no debug info>|short \\(int\\)|short \\(\\))"
-    if {![test_compiler_info "gcc-*"]} then { setup_xfail "mips-sgi-irix6*" }
     gdb_test "ptype top" "(short|int) \\((|void|int|<non-float parameter>|<non-float parameter>, <non-float parameter>)\\)"
     
-    if {![test_compiler_info "gcc-*"]} then { setup_xfail "mips-sgi-irix5*" }
-    setup_xfail "mips-sgi-irix6*"
     gdb_test "p middle" \
 	"\{(<(text variable|function), no debug info>|short \\(int\\)|short \\(\\))\} \[0-9a-fx]* <\\.?middle(\\(int\\)|)>"
-    if {![test_compiler_info "gcc-*"]} then { setup_xfail "mips-sgi-irix5*" }
-    setup_xfail "mips-sgi-irix6*"
     gdb_test "whatis middle" \
 	"(<(text variable|function), no debug info>|short \\(int\\)|short \\(\\))"
-    setup_xfail "mips-sgi-irix6*"
     gdb_test "ptype middle" "(short|int) \\((|void|int|<non-float parameter>|<non-float parameter>, <non-float parameter>)\\)"
     
     gdb_test "p dataglobal" "= 3"
@@ -93,9 +81,7 @@ if [runto inner] then {
     # doesn't know the variables exist at all.
     setup_xfail "rs6000*-*-aix*"
     setup_xfail "powerpc*-*-aix*"
-    if [test_compiler_info "gcc-*"] {
-        setup_xfail "mips-sgi-irix6*"
-    } else {
+    if ![test_compiler_info "gcc-*"] {
         setup_xfail "hppa*-*-hpux*"
     }
 
@@ -103,9 +89,7 @@ if [runto inner] then {
 
     setup_xfail "rs6000*-*-aix*"
     setup_xfail "powerpc*-*-aix*"
-    if [test_compiler_info "gcc-*"] {
-        setup_xfail "mips-sgi-irix6*"
-    } else {
+    if ![test_compiler_info "gcc-*"] {
         setup_xfail "hppa*-*-hpux*"
     }
 
@@ -113,9 +97,7 @@ if [runto inner] then {
 
     setup_xfail "rs6000*-*-aix*"
     setup_xfail "powerpc*-*-aix*"
-    if [test_compiler_info "gcc-*"] {
-        setup_xfail "mips-sgi-irix6*"
-    } else {
+    if ![test_compiler_info "gcc-*"] {
         setup_xfail "hppa*-*-hpux*"
     }
 
@@ -126,9 +108,7 @@ if [runto inner] then {
     
     setup_xfail "rs6000*-*-aix*"
     setup_xfail "powerpc*-*-aix*"
-    if [test_compiler_info "gcc-*"] {
-        setup_xfail "mips-sgi-irix6*"
-    } else {
+    if ![test_compiler_info "gcc-*"] {
         setup_xfail "hppa*-*-hpux*"
     }
 
@@ -136,9 +116,7 @@ if [runto inner] then {
 
     setup_xfail "rs6000*-*-aix*"
     setup_xfail "powerpc*-*-aix*"
-    if [test_compiler_info "gcc-*"] {
-        setup_xfail "mips-sgi-irix6*"
-    } else {
+    if ![test_compiler_info "gcc-*"] {
         setup_xfail "hppa*-*-hpux*"
     }
 
@@ -146,17 +124,11 @@ if [runto inner] then {
 
     setup_xfail "rs6000*-*-aix*"
     setup_xfail "powerpc*-*-aix*"
-    if [test_compiler_info "gcc-*"] {
-        setup_xfail "mips-sgi-irix6*"
-    } else {
+    if ![test_compiler_info "gcc-*"] {
         setup_xfail "hppa*-*-hpux*"
     }
     gdb_test "ptype bsslocal" "<(data variable|variable), no debug info>"
     
-    if [test_compiler_info "gcc-*"] {
-        setup_xfail "mips-sgi-irix6*" 
-    }
-
     gdb_test "backtrace 10" "#0.*inner.*#1.*middle.*#2.*top.*#3.*main.*" \
 	"backtrace from inner in nodebug.exp"
     # Or if that doesn't work, at least hope for the external symbols
@@ -167,9 +139,6 @@ if [runto inner] then {
     
     # This test is not as obscure as it might look.  `p getenv ("TERM")'
     # is a real-world example, at least on many systems.
-    if { ! [test_compiler_info "gcc-*"]} {
-        setup_xfail "mips-sgi-irix6*" 
-    }
     if [target_info exists gdb,cannot_call_functions] {
 	setup_xfail "*-*-*" 2416
 	fail "p/c array_index(\"abcdef\",2)"
@@ -204,9 +173,6 @@ if [runto inner] then {
     
     # Now, try that we can give names of file-local symbols which happen
     # to be unique, and have it still work
-    if [test_compiler_info "gcc-*"] {
-        setup_xfail "mips-sgi-irix6*"
-    }
     if [runto middle] then {
 	gdb_test "backtrace 10" "#0.*middle.*#1.*top.*#2.*main.*" \
 	    "backtrace from middle in nodebug.exp"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nofield.c ./gdb/testsuite/gdb.base/nofield.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nofield.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/nofield.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nofield.exp ./gdb/testsuite/gdb.base/nofield.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nofield.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/nofield.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/normal.c ./gdb/testsuite/gdb.base/normal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/normal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/normal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nostdlib.c ./gdb/testsuite/gdb.base/nostdlib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nostdlib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/nostdlib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nostdlib.exp ./gdb/testsuite/gdb.base/nostdlib.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/nostdlib.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/nostdlib.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/opaque0.c ./gdb/testsuite/gdb.base/opaque0.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/opaque0.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/opaque0.c	2015-01-20 02:05:39.000000000 +0000
@@ -7,9 +7,7 @@
 
 struct foo *foop;
 extern struct foo *getfoo ();
-#ifdef PROTOTYPES
 extern void putfoo (struct foo *foop);
-#endif
 
 int main ()
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/opaque1.c ./gdb/testsuite/gdb.base/opaque1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/opaque1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/opaque1.c	2015-01-20 02:05:39.000000000 +0000
@@ -8,11 +8,6 @@ struct foo *getfoo ()
     return (&afoo);
 }
 
-#ifdef PROTOTYPES
 void putfoo (struct foo *foop)
-#else
-void putfoo (foop)
-     struct foo *foop;
-#endif
 {
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/opaque.exp ./gdb/testsuite/gdb.base/opaque.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/opaque.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/opaque.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -56,9 +56,9 @@ proc setup_xfail_on_opaque_pointer {} {
 	global gcc_compiled
 
 	setup_xfail "vax-*-*" "i*86-sequent-bsd*"
-	if {!$gcc_compiled} then {
-		setup_xfail "alpha-*-*" "mips-sgi-irix5*"
-	}
+       if {!$gcc_compiled} then {
+               setup_xfail "alpha-*-*"
+       }
 }
 
 # This seems easier than trying to track different versions of xlc; I'm
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/overlays.exp ./gdb/testsuite/gdb.base/overlays.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/overlays.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/overlays.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/page.exp ./gdb/testsuite/gdb.base/page.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/page.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/page.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.c ./gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.exp ./gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-bg-execution.c ./gdb/testsuite/gdb.base/paginate-bg-execution.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-bg-execution.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/paginate-bg-execution.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-bg-execution.exp ./gdb/testsuite/gdb.base/paginate-bg-execution.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-bg-execution.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/paginate-bg-execution.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-execution-startup.c ./gdb/testsuite/gdb.base/paginate-execution-startup.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-execution-startup.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/paginate-execution-startup.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-execution-startup.exp ./gdb/testsuite/gdb.base/paginate-execution-startup.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-execution-startup.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/paginate-execution-startup.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-inferior-exit.c ./gdb/testsuite/gdb.base/paginate-inferior-exit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-inferior-exit.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/paginate-inferior-exit.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-inferior-exit.exp ./gdb/testsuite/gdb.base/paginate-inferior-exit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/paginate-inferior-exit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/paginate-inferior-exit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pc-fp.exp ./gdb/testsuite/gdb.base/pc-fp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pc-fp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pc-fp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2002-2014 Free Software Foundation, Inc.
+#   Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pending.c ./gdb/testsuite/gdb.base/pending.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pending.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pending.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pending.exp ./gdb/testsuite/gdb.base/pending.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pending.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pending.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2003-2014 Free Software Foundation, Inc.
+#   Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pendshr.c ./gdb/testsuite/gdb.base/pendshr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pendshr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pendshr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/permissions.exp ./gdb/testsuite/gdb.base/permissions.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/permissions.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/permissions.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pie-execl.c ./gdb/testsuite/gdb.base/pie-execl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pie-execl.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pie-execl.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pie-execl.exp ./gdb/testsuite/gdb.base/pie-execl.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pie-execl.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pie-execl.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pointers.exp ./gdb/testsuite/gdb.base/pointers.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pointers.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pointers.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pr10179-a.c ./gdb/testsuite/gdb.base/pr10179-a.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pr10179-a.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pr10179-a.c	2015-01-20 02:05:39.000000000 +0000
@@ -12,6 +12,7 @@ bar1()
 {
 }
 
+int
 main()
 {
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pr10179.exp ./gdb/testsuite/gdb.base/pr10179.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pr10179.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pr10179.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pr11022.c ./gdb/testsuite/gdb.base/pr11022.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pr11022.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pr11022.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pr11022.exp ./gdb/testsuite/gdb.base/pr11022.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/pr11022.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/pr11022.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prelink.c ./gdb/testsuite/gdb.base/prelink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prelink.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/prelink.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prelink.exp ./gdb/testsuite/gdb.base/prelink.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prelink.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/prelink.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prelink-lib.c ./gdb/testsuite/gdb.base/prelink-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prelink-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/prelink-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/printcmds.exp ./gdb/testsuite/gdb.base/printcmds.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/printcmds.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/printcmds.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-file-var.exp ./gdb/testsuite/gdb.base/print-file-var.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-file-var.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/print-file-var.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-file-var-lib1.c ./gdb/testsuite/gdb.base/print-file-var-lib1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-file-var-lib1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/print-file-var-lib1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This testcase is part of GDB, the GNU debugger.
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-file-var-lib2.c ./gdb/testsuite/gdb.base/print-file-var-lib2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-file-var-lib2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/print-file-var-lib2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This testcase is part of GDB, the GNU debugger.
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-file-var-main.c ./gdb/testsuite/gdb.base/print-file-var-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-file-var-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/print-file-var-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This testcase is part of GDB, the GNU debugger.
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-symbol-loading.exp ./gdb/testsuite/gdb.base/print-symbol-loading.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-symbol-loading.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/print-symbol-loading.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -40,19 +40,6 @@ if { [gdb_compile ${objfile} ${binfile} 
 clean_restart ${binfile}
 gdb_load_shlibs ${binfile_lib}
 
-# Does this gdb support gcore?
-set test "help gcore"
-gdb_test_multiple $test $test {
-    -re "Undefined command: .gcore.*\r\n$gdb_prompt $" {
-	# gcore command not supported -- nothing to test here.
-	unsupported "gdb does not support gcore on this target"
-	return -1
-    }
-    -re "Save a core file .*\r\n$gdb_prompt $" {
-	pass $test
-    }
-}
-
 if ![runto lib] {
     return -1
 }
@@ -93,7 +80,7 @@ proc test_load_core { print_symbol_loadi
 	    }
 	    "full" {
 		gdb_test "set solib-search-path [file dirname ${binfile_lib}]" \
-		    "Reading symbols from.*Loaded symbols for.*" \
+		    "Reading symbols from.*" \
 		    ${test_name}
 	    }
 	}
@@ -129,7 +116,7 @@ proc test_load_shlib { print_symbol_load
 	    }
 	    "full" {
 		gdb_test "sharedlibrary .*" \
-		    "Reading symbols from.*Loaded symbols for.*" \
+		    "Reading symbols from.*" \
 		    ${test_name}
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-symbol-loading-lib.c ./gdb/testsuite/gdb.base/print-symbol-loading-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-symbol-loading-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/print-symbol-loading-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-symbol-loading-main.c ./gdb/testsuite/gdb.base/print-symbol-loading-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/print-symbol-loading-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/print-symbol-loading-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue.c ./gdb/testsuite/gdb.base/prologue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/prologue.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue.exp ./gdb/testsuite/gdb.base/prologue.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/prologue.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Test for prologue skipping in minimal symbols with line info.
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue-include.c ./gdb/testsuite/gdb.base/prologue-include.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue-include.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/prologue-include.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue-include.exp ./gdb/testsuite/gdb.base/prologue-include.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue-include.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/prologue-include.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue-include.h ./gdb/testsuite/gdb.base/prologue-include.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/prologue-include.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/prologue-include.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/psymtab.exp ./gdb/testsuite/gdb.base/psymtab.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/psymtab.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/psymtab.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ptr-typedef.c ./gdb/testsuite/gdb.base/ptr-typedef.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ptr-typedef.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ptr-typedef.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ptr-typedef.exp ./gdb/testsuite/gdb.base/ptr-typedef.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ptr-typedef.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ptr-typedef.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ptype.exp ./gdb/testsuite/gdb.base/ptype.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ptype.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ptype.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1988-2014 Free Software Foundation, Inc.
+# Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/radix.exp ./gdb/testsuite/gdb.base/radix.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/radix.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/radix.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # This testcase is part of GDB, the GNU debugger.
-# Copyright 1993-2014 Free Software Foundation, Inc.
+# Copyright 1993-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/randomize.c ./gdb/testsuite/gdb.base/randomize.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/randomize.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/randomize.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/randomize.exp ./gdb/testsuite/gdb.base/randomize.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/randomize.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/randomize.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/random-signal.c ./gdb/testsuite/gdb.base/random-signal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/random-signal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/random-signal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/random-signal.exp ./gdb/testsuite/gdb.base/random-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/random-signal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/random-signal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/range-stepping.c ./gdb/testsuite/gdb.base/range-stepping.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/range-stepping.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/range-stepping.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/range-stepping.exp ./gdb/testsuite/gdb.base/range-stepping.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/range-stepping.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/range-stepping.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/readline-ask.c ./gdb/testsuite/gdb.base/readline-ask.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/readline-ask.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/readline-ask.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/readline-ask.exp ./gdb/testsuite/gdb.base/readline-ask.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/readline-ask.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/readline-ask.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/readline-ask.inputrc ./gdb/testsuite/gdb.base/readline-ask.inputrc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/readline-ask.inputrc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/readline-ask.inputrc	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/readline.exp ./gdb/testsuite/gdb.base/readline.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/readline.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/readline.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/realname-expand.c ./gdb/testsuite/gdb.base/realname-expand.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/realname-expand.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/realname-expand.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/realname-expand.exp ./gdb/testsuite/gdb.base/realname-expand.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/realname-expand.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/realname-expand.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,6 +15,11 @@
 
 standard_testfile .c realname-expand-real.c
 
+if [is_remote host] {
+    unsupported "Compiling on a remote host does not support a filename with directory."
+    return 0
+}
+
 set srcdirabs [file join [pwd] $srcdir]
 set srcfilelink [standard_output_file realname-expand-link.c]
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/realname-expand-real.c ./gdb/testsuite/gdb.base/realname-expand-real.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/realname-expand-real.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/realname-expand-real.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/recpar.c ./gdb/testsuite/gdb.base/recpar.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/recpar.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/recpar.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/recpar.exp ./gdb/testsuite/gdb.base/recpar.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/recpar.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/recpar.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/recurse.c ./gdb/testsuite/gdb.base/recurse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/recurse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/recurse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,14 +1,8 @@
 /* Trivial code used to test watchpoints in recursive code and 
    auto-deletion of watchpoints as they go out of scope.  */
 
-#ifdef PROTOTYPES
 static int
 recurse (int a)
-#else
-static int 
-recurse (a)
-     int a;
-#endif
 {
   int b = 0;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/recurse.exp ./gdb/testsuite/gdb.base/recurse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/recurse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/recurse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relational.exp ./gdb/testsuite/gdb.base/relational.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relational.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/relational.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relativedebug.c ./gdb/testsuite/gdb.base/relativedebug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relativedebug.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/relativedebug.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relativedebug.exp ./gdb/testsuite/gdb.base/relativedebug.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relativedebug.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/relativedebug.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relocate.c ./gdb/testsuite/gdb.base/relocate.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relocate.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/relocate.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relocate.exp ./gdb/testsuite/gdb.base/relocate.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/relocate.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/relocate.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/remote.exp ./gdb/testsuite/gdb.base/remote.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/remote.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/remote.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/remotetimeout.exp ./gdb/testsuite/gdb.base/remotetimeout.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/remotetimeout.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/remotetimeout.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,11 +21,6 @@
 
 global GDBFLAGS
 
-# Skip test if target does not support argument passing.
-if [target_info exists noargs] {
-    return
-}
-
 #
 # Test that -l is processed correctly.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/reread.exp ./gdb/testsuite/gdb.base/reread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/reread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/reread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -62,17 +62,7 @@ gdb_test "break foo" \
 # Run, should see "Breakpoint 1, foo () at hello1.c:14"
 
 gdb_run_cmd
-
-gdb_expect {
-    -re ".*Breakpoint.* foo .* at .*$srcfile1:14.*$gdb_prompt $"  {
-	pass "run to foo()"
-    }
-    -re ".*$gdb_prompt $" {
-	fail "run to foo()"
-	gdb_suppress_tests
-    }
-    timeout { fail "run to foo() (timeout)" ; gdb_suppress_tests }
-}
+gdb_test "" "Breakpoint.* foo .* at .*$srcfile1:14.*" "run to foo()"
 
 # Restore first executable to its original name, and move
 # second executable into its place.  Ensure that the new
@@ -87,24 +77,12 @@ gdb_touch_execfile ${binfile}
 # and reset the breakpoints correctly.
 # Should see "Breakpoint 1, foo () at reread2.c:9"
 
+set test "run to foo() second time"
 if [is_remote target] {
-    unsupported "run to foo() second time "
+    unsupported $test
 } else {
     gdb_run_cmd
-    gdb_expect {
-	#    -re ".*re-reading symbols.*Breakpoint.* foo .* at .*$srcfile2:9.*$gdb_prompt $" {}
-	-re ".*Breakpoint.* foo .* at .*:9.*$gdb_prompt $" {
-	    pass "run to foo() second time "
-	}
-	-re ".*$gdb_prompt $" {
-	    fail "run to foo() second time"
-	    gdb_suppress_tests
-	}
-	timeout { 
-	    fail "run to foo() second time (timeout)"
-	    gdb_suppress_tests 
-	}
-    }
+    gdb_test "" "Breakpoint.* foo .* at .*:9.*" $test
 }
 
 
@@ -120,28 +98,14 @@ if [is_remote target] {
     gdb_rename_execfile ${binfile1} ${binfile}
 
     # Restart GDB entirely.
-    gdb_start
-    gdb_reinitialize_dir $srcdir/$subdir
-    gdb_load ${binfile}
+    clean_restart ${binfile}
 
     # Set a breakpoint on foo and run to it.
     gdb_test "break foo" \
             "Breakpoint.*at.* file .*$srcfile1, line 14.*" \
             "second pass: breakpoint foo in first file"
     gdb_run_cmd
-    gdb_expect {
-        -re ".*Breakpoint.* foo .* at .*$srcfile1:14.*$gdb_prompt $"  {
-            pass "second pass: run to foo()"
-        }
-        -re ".*$gdb_prompt $" {
-            fail "second pass: run to foo()"
-            gdb_suppress_tests
-        }
-        timeout {
-            fail "second pass: run to foo() (timeout)"
-            gdb_suppress_tests
-        }
-    }
+    gdb_test "" "Breakpoint.* foo .* at .*$srcfile1:14.*" "second pass: run to foo()"
 
     # This time, let the program run to completion.  If GDB checks the
     # executable file's timestamp now, it won't notice any change.
@@ -153,23 +117,9 @@ if [is_remote target] {
     gdb_rename_execfile ${binfile} ${binfile1}
     gdb_rename_execfile ${binfile2} ${binfile}
     gdb_run_cmd
-    gdb_expect {
-	-re ".*Breakpoint.* foo .* at .*:9.*$gdb_prompt $" {
-	    pass "second pass: run to foo() second time "
-	}
-	-re ".*$gdb_prompt $" {
-	    fail "second pass: run to foo() second time"
-	    gdb_suppress_tests
-	}
-	timeout { 
-	    fail "second pass: run to foo() second time (timeout)"
-	    gdb_suppress_tests 
-	}
-    }
+    gdb_test "" "Breakpoint.* foo .* at .*:9.*" "second pass: run to foo() second time"
 }
 
 # End of tests.
 
-gdb_stop_suppressing_tests
-
 return 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/restore.c ./gdb/testsuite/gdb.base/restore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/restore.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/restore.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1998-2014 Free Software Foundation, Inc.
+   Copyright 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/restore.exp ./gdb/testsuite/gdb.base/restore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/restore.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/restore.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return2.exp ./gdb/testsuite/gdb.base/return2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/return2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return.exp ./gdb/testsuite/gdb.base/return.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/return.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return-nodebug1.c ./gdb/testsuite/gdb.base/return-nodebug1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return-nodebug1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/return-nodebug1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return-nodebug.c ./gdb/testsuite/gdb.base/return-nodebug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return-nodebug.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/return-nodebug.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return-nodebug.exp ./gdb/testsuite/gdb.base/return-nodebug.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/return-nodebug.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/return-nodebug.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/run.c ./gdb/testsuite/gdb.base/run.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/run.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/run.c	2015-01-20 02:05:39.000000000 +0000
@@ -3,51 +3,13 @@
  *	testing stack backtraces and such.
  */
 
-#ifdef vxworks
+#include <stdio.h>
+#include <stdlib.h>
 
-#  include <stdio.h>
-
-/* VxWorks does not supply atoi.  */
-static int
-atoi (z)
-     char *z;
-{
-  int i = 0;
-
-  while (*z >= '0' && *z <= '9')
-    i = i * 10 + (*z++ - '0');
-  return i;
-}
-
-/* I don't know of any way to pass an array to VxWorks.  This function
-   can be called directly from gdb.  */
-
-vxmain (arg)
-char *arg;
-{
-  char *argv[2];
-
-  argv[0] = "";
-  argv[1] = arg;
-  main (2, argv, (char **) 0);
-}
-
-#else /* ! vxworks */
-#  include <stdio.h>
-#  include <stdlib.h>
-#endif /* ! vxworks */
-
-#ifdef PROTOTYPES
 int factorial (int);
 
 int
 main (int argc, char **argv, char **envp)
-#else
-int
-main (argc, argv, envp)
-int argc;
-char *argv[], **envp;
-#endif
 {
 #ifdef FAKEARGV
     printf ("%d\n", factorial (1)); /* commands.exp: hw local_var out of scope */
@@ -62,11 +24,7 @@ char *argv[], **envp;
     return 0;
 }
 
-#ifdef PROTOTYPES
 int factorial (int value)
-#else
-int factorial (value) int value;
-#endif
 {
     int  local_var;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/save-bp.c ./gdb/testsuite/gdb.base/save-bp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/save-bp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/save-bp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,6 +31,6 @@ main (void)
     break_me (); /* Try a condition-specific breakpoint.  */
 
   break_me (); /* Finally, try a breakpoint with commands.  */
-  return 0;
+  return 0; /* Return line. */
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/save-bp.exp ./gdb/testsuite/gdb.base/save-bp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/save-bp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/save-bp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -47,6 +47,10 @@ gdb_test "commands\nsilent\nend" "End wi
 
 gdb_test "dprintf ${srcfile}:${loc_bp5},\"At foo entry\\n\"" "Dprintf .*"
 
+set loc_bp8 [gdb_get_line_number "Return line"]
+gdb_breakpoint "${srcfile}:${loc_bp8}"
+gdb_test_no_output {disable $bpnum}
+
 # Now, save the breakpoints into a file...
 if {[is_remote host]} {
     set bps bps
@@ -71,6 +75,19 @@ gdb_test "source $bps" "" "source bps"
 
 # Now, verify that all breakpoints have been created correctly...
 set bp_row_start "\[0-9\]+ +breakpoint +keep +y +0x\[0-9a-f\]+ +in"
+set disabled_row_start "\[0-9\]+ +breakpoint +keep +n +0x\[0-9a-f\]+ +in"
 set dprintf_row_start "\[0-9\]+ +dprintf +keep +y +0x\[0-9a-f\]+ +in"
-gdb_test "info break" \
-  " *Num +Type +Disp +Enb +Address +What\r\n$bp_row_start break_me at .*$srcfile:\[0-9\]+\r\n$bp_row_start main at .*$srcfile:$loc_bp2\r\n$bp_row_start main at .*$srcfile:$loc_bp3 +thread 1\r\n\[ \t]+stop only in thread 1\r\n$bp_row_start main at .*$srcfile:$loc_bp4\r\n\[ \t\]+stop only if i == 1( \\((host|target) evals\\))?\r\n$bp_row_start main at .*$srcfile:$loc_bp5\r\n\[ \t\]+silent\r\n$dprintf_row_start main at .*$srcfile:$loc_bp5\r\n\[ \t\]+printf.*"
+gdb_test_sequence "info break" "info break" [list				\
+  "\[\r\n\]+Num +Type +Disp +Enb +Address +What"				\
+  "\[\r\n\]+$bp_row_start break_me at \[^\r\n\]*$srcfile:\[0-9\]+"		\
+  "\[\r\n\]+$bp_row_start main at \[^\r\n\]*$srcfile:$loc_bp2"			\
+  "\[\r\n\]+$bp_row_start main at \[^\r\n\]*$srcfile:$loc_bp3 +thread 1"	\
+  "\[\r\n\]+\[ \t]+stop only in thread 1"					\
+  "\[\r\n\]+$bp_row_start main at \[^\r\n\]*$srcfile:$loc_bp4"			\
+  "\[\r\n\]+\[ \t\]+stop only if i == 1( \\((host|target) evals\\))?"		\
+  "\[\r\n\]+$bp_row_start main at \[^\r\n\]*$srcfile:$loc_bp5"			\
+  "\[\r\n\]+\[ \t\]+silent"							\
+  "\[\r\n\]+$dprintf_row_start main at \[^\r\n\]*$srcfile:$loc_bp5"		\
+  "\[\r\n\]+\[ \t\]+printf"							\
+  "\[\r\n\]+$disabled_row_start main at \[^\r\n\]*$srcfile:$loc_bp8"		\
+]
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/savedregs.c ./gdb/testsuite/gdb.base/savedregs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/savedregs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/savedregs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -61,9 +61,11 @@ thrower (void)
 
 }
 
+int
 main ()
 {
   signal (SIGILL, catcher);
   signal (SIGSEGV, catcher);
   thrower ();
+  return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/savedregs.exp ./gdb/testsuite/gdb.base/savedregs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/savedregs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/savedregs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/scope0.c ./gdb/testsuite/gdb.base/scope0.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/scope0.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/scope0.c	2015-01-20 02:05:39.000000000 +0000
@@ -44,14 +44,8 @@ void init0 ()
 
 /* This is to derail optimizer in localscopes.
    Return 1 + 2 + . . . + N.  */
-#ifdef PROTOTYPES
 int
 sum_upto (int n)
-#else
-int
-sum_upto (n)
-     int n;
-#endif
 {
   int i;
   int retval = 0;
@@ -61,13 +55,8 @@ sum_upto (n)
   return retval;
 }
 
-#ifdef PROTOTYPES
 int
 useit (int val)
-#else
-int
-useit (val) int val;
-#endif
 {
     static int usedval;
 
@@ -75,13 +64,8 @@ useit (val) int val;
     return val + sum_upto (0);
 }
 
-#ifdef PROTOTYPES
 int
 useitp (const int *val)
-#else
-int
-useitp (val) const int *val;
-#endif
 {
     static int usedval;
 
@@ -89,15 +73,8 @@ useitp (val) const int *val;
     return *val + sum_upto (0);
 }
 
-#ifdef PROTOTYPES
 int
 autovars (int bcd, int abc)
-#else
-int
-autovars (bcd, abc)
-     int bcd;
-     int abc;
-#endif
 {
     int  i0 =  useit (0),  i1 =  useit (1),  i2 =  useit (2);
     int  i3 =  useit (3),  i4 =  useit (4),  i5 =  useit (5);
@@ -172,14 +149,8 @@ autovars (bcd, abc)
       + i91 + i92 + i93 + i94 + i95 + i96 + i97 + i98 + i99 + abc + bcd;
 }
 
-#ifdef PROTOTYPES
 int
 localscopes (int x)
-#else
-int
-localscopes (x)
-     int x;
-#endif
 {
     int localval;
     int retval;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/scope1.c ./gdb/testsuite/gdb.base/scope1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/scope1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/scope1.c	2015-01-20 02:05:39.000000000 +0000
@@ -43,11 +43,7 @@ void usestatics1 ()
   useit1 (&filelocal_ro);
 }
 
-#ifdef PROTOTYPES
 void useit1 (const int *val)
-#else
-void useit1 (val) const int *val;
-#endif
 {
     static int usedval;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/scope.exp ./gdb/testsuite/gdb.base/scope.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/scope.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/scope.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -499,11 +499,6 @@ proc test_at_localscopes {} {
     gdb_stop_suppressing_tests
 }
 
-if [istarget "*-*-vxworks*"] {
-    set timeout 120
-    verbose "Timeout is now $timeout seconds" 2
-}
-
 # Test that variables in various segments print out correctly before
 # the program is run.  
 
@@ -536,8 +531,3 @@ if [runto foo] then { test_at_foo }
 if [runto bar] then { test_at_bar }
 if [runto localscopes] then { test_at_localscopes }
 if [runto autovars] then { test_at_autovars }
-
-if [istarget "*-*-vxworks*"] {
-    set timeout 120
-    verbose "Timeout is now $timeout seconds" 2
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sect-cmd.exp ./gdb/testsuite/gdb.base/sect-cmd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sect-cmd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sect-cmd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/segv.c ./gdb/testsuite/gdb.base/segv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/segv.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/segv.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sep.c ./gdb/testsuite/gdb.base/sep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepdebug2.c ./gdb/testsuite/gdb.base/sepdebug2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepdebug2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sepdebug2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepdebug.c ./gdb/testsuite/gdb.base/sepdebug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepdebug.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sepdebug.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 1994-2014 Free Software Foundation, Inc.
+/* Copyright 1994-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -13,39 +13,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef vxworks
-
-#  include <stdio.h>
-
-/* VxWorks does not supply atoi.  */
-static int
-atoi (z)
-     char *z;
-{
-  int i = 0;
-
-  while (*z >= '0' && *z <= '9')
-    i = i * 10 + (*z++ - '0');
-  return i;
-}
-
-/* I don't know of any way to pass an array to VxWorks.  This function
-   can be called directly from gdb.  */
-
-vxmain (arg)
-char *arg;
-{
-  char *argv[2];
-
-  argv[0] = "";
-  argv[1] = arg;
-  main (2, argv, (char **) 0);
-}
-
-#else /* ! vxworks */
-#  include <stdio.h>
-#  include <stdlib.h>
-#endif /* ! vxworks */
+#include <stdio.h>
+#include <stdlib.h>
 
 /*
  * The following functions do nothing useful.  They are included simply
@@ -54,34 +23,20 @@ char *arg;
  * of gcc have or have had problems with this).
  */
 
-#ifdef PROTOTYPES
 int marker1 (void) { return (0); }
 int marker2 (int a) { return (1); } /* set breakpoint 8 here */
 void marker3 (char *a, char *b) {}
 void marker4 (long d) {} /* set breakpoint 14 here */
-#else
-int marker1 () { return (0); }
-int marker2 (a) int a; { return (1); } /* set breakpoint 9 here */
-void marker3 (a, b) char *a, *b; {}
-void marker4 (d) long d; {}  /* set breakpoint 13 here */
-#endif
 
 /*
  *	This simple classical example of recursion is useful for
  *	testing stack backtraces and such.
  */
 
-#ifdef PROTOTYPES
 int factorial(int);
 
 int
 main (int argc, char **argv, char **envp)
-#else
-int
-main (argc, argv, envp)
-int argc;
-char *argv[], **envp;
-#endif
 {
     if (argc == 12345) {  /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
 	fprintf (stderr, "usage:  factorial <number>\n");
@@ -97,12 +52,7 @@ char *argv[], **envp;
     return argc;  /* set breakpoint 10 here */
 }
 
-#ifdef PROTOTYPES
 int factorial (int value)
-#else
-int factorial (value)
-int value;
-#endif
 {
   if (value > 1) {  /* set breakpoint 7 here */
 	value *= factorial (value - 1);
@@ -110,12 +60,7 @@ int value;
     return (value);
 }
 
-#ifdef PROTOTYPES
 int multi_line_if_conditional (int a, int b, int c)
-#else
-int multi_line_if_conditional (a, b, c)
-  int a, b, c;
-#endif
 {
   if (a    /* set breakpoint 3 here */
       && b
@@ -125,12 +70,7 @@ int multi_line_if_conditional (a, b, c)
     return 1;
 }
 
-#ifdef PROTOTYPES
 int multi_line_while_conditional (int a, int b, int c)
-#else
-int multi_line_while_conditional (a, b, c)
-  int a, b, c;
-#endif
 {
   while (a /* set breakpoint 4 here */
       && b
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepdebug.exp ./gdb/testsuite/gdb.base/sepdebug.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepdebug.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sepdebug.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
+#   Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -111,7 +111,7 @@ set bp_location1 [gdb_get_line_number "s
 # board.  So, to be sure, we do a list command.
 #
 gdb_test "list main" \
-    ".*main \\(argc, argv, envp\\).*" \
+    ".*main \\(int argc, char \\*\\*argv, char \\*\\*envp\\).*" \
     "use `list' to establish default source file"
 gdb_test "break $bp_location1" \
     "Breakpoint.*at.* file .*$srcfile, line $bp_location1\\." \
@@ -154,12 +154,11 @@ set main_line $bp_location6
 
 set bp_location7 [gdb_get_line_number "set breakpoint 7 here"]
 set bp_location8 [gdb_get_line_number "set breakpoint 8 here"]
-set bp_location9 [gdb_get_line_number "set breakpoint 9 here"]
 
 gdb_test "info break" \
     "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$main_line.*
-\[0-9\]+\[\t \]+breakpoint     keep y.* in marker2 at .*$srcfile:($bp_location8|$bp_location9).*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in marker2 at .*$srcfile:$bp_location8.*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in factorial at .*$srcfile:$bp_location7.*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$bp_location1.*
 \[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$bp_location1.*
@@ -177,17 +176,9 @@ gdb_test "info break" \
 # run until the breakpoint at main is hit. For non-stubs-using targets.
 #
 gdb_run_cmd
-gdb_expect {
-    -re "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $" {
-	pass "run until function breakpoint"
-    }
-    -re "$gdb_prompt $" {
-	fail "run until function breakpoint"
-    }
-    timeout {
-	fail "run until function breakpoint (timeout)"
-    }
-}
+gdb_test "" \
+    "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*" \
+    "run until function breakpoint"
 
 #
 # run until the breakpoint at a line number
@@ -206,7 +197,7 @@ for {set i 6} {$i >= 1} {incr i -1} {
 #
 # Run until the breakpoint set at a quoted function
 #
-gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, (0x\[0-9a-f\]+ in )?marker2 \\(a=43\\) at .*$srcfile:($bp_location8|$bp_location9).*" \
+gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, (0x\[0-9a-f\]+ in )?marker2 \\(a=43\\) at .*$srcfile:$bp_location8.*" \
 		"run until quoted breakpoint"
 #
 # run until the file:function breakpoint at a line number in a file
@@ -456,7 +447,7 @@ gdb_test "break \$foo" \
 #
 
 gdb_test "break marker2" \
-    "Breakpoint (\[0-9\]*) at .*, line ($bp_location8|$bp_location9).*" \
+    "Breakpoint (\[0-9\]*) at .*, line $bp_location8.*" \
     "set breakpoint on to-be-called function"
 
 gdb_test "print marker2(99)" \
@@ -471,10 +462,10 @@ gdb_test "print marker2(99)" \
 #
 
 gdb_test_multiple "bt" "backtrace while in called function" {
-    -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*_sr4export.*$gdb_prompt $" {
+    -re "#0\[ \t\]*($hex in )?marker2.*:$bp_location8\r\n#1.*_sr4export.*$gdb_prompt $" {
 	pass "backtrace while in called function"
     }
-    -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*function called from gdb.*$gdb_prompt $" {
+    -re "#0\[ \t\]*($hex in )?marker2.*:$bp_location8\r\n#1.*function called from gdb.*$gdb_prompt $" {
 	pass "backtrace while in called function"
     }
 }
@@ -485,13 +476,13 @@ gdb_test_multiple "bt" "backtrace while 
 #
 
 gdb_test_multiple "finish" "finish from called function" {
-    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.* in _sr4export.*$gdb_prompt $" {
+    -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.* in _sr4export.*$gdb_prompt $" {
 	pass "finish from called function"
     }
-    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*function called from gdb.*$gdb_prompt $" {
+    -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.*function called from gdb.*$gdb_prompt $" {
 	pass "finish from called function"
     }
-    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*Value returned.*$gdb_prompt $" {
+    -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.*Value returned.*$gdb_prompt $" {
 	pass "finish from called function"
     }
 }
@@ -574,14 +565,7 @@ proc test_next_with_recursion {} { 
     # Run until we call factorial with 6
 
     gdb_run_cmd
-    gdb_expect {
-	-re "Break.* factorial .value=6. .*$gdb_prompt $" {}
-	-re ".*$gdb_prompt $" {
-	    fail "run to factorial(6)"
-	    gdb_suppress_tests
-	}
-	timeout { fail "run to factorial(6) (timeout)" ; gdb_suppress_tests }
-    }
+    gdb_test "" "Break.* factorial .value=6. .*" "run to factorial(6)"
 
     # Continue until we call factorial recursively with 5.
 
@@ -686,18 +670,13 @@ proc test_different_dir {type test_diffe
 	if {$xfail} {
 	    setup_xfail "*-*-*"
 	}
-	gdb_expect {
+	set test "run until function breakpoint, optimized file"
+	gdb_test_multiple "" $test {
 	    -re "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $" {
-		pass "run until function breakpoint, optimized file"
+		pass $test
 	    }
 	    -re "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$gdb_prompt $" {
-		pass "run until function breakpoint, optimized file (code motion)"
-	    }
-	    -re "$gdb_prompt $" {
-		fail "run until function breakpoint, optimized file"
-	    }
-	    timeout {
-		fail "run until function breakpoint, optimized file (timeout)"
+		pass "$test (code motion)"
 	    }
 	}
 
@@ -714,31 +693,18 @@ proc test_different_dir {type test_diffe
 	# has no exactly matching line symbol, and GDB reports the breakpoint
 	# as if it were in the middle of a line rather than at the beginning.
 
-	set bp_location13 [gdb_get_line_number "set breakpoint 13 here"]
 	set bp_location14 [gdb_get_line_number "set breakpoint 14 here"]
 	if {$xfail} {
 	    setup_xfail "*-*-*"
 	}
 
 	gdb_test_multiple "continue" "run until breakpoint set at small function, optimized file" {
-	    -re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*$gdb_prompt $" {
-		pass "run until breakpoint set at small function, optimized file"
-	    }
-	    -re "Breakpoint $decimal, $hex in marker4 \\(d=177601976\\) at .*$srcfile:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*$gdb_prompt $" {
-		pass "run until breakpoint set at small function, optimized file"
-	    }
 	    -re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile:$bp_location14\[\r\n\]+$bp_location14\[\t \]+void marker4.*$gdb_prompt $" {
-		# marker4() is defined at line 46 when compiled with -DPROTOTYPES
 		pass "run until breakpoint set at small function, optimized file (line bp_location14)"
 	    }
-	}
-
-
-	# Reset the default arguments for VxWorks
-	if [istarget "*-*-vxworks*"] {
-	    set timeout 10
-	    verbose "Timeout is now $timeout seconds" 2
-	    gdb_test_no_output "set args main"
+	    -re "Breakpoint $decimal, $hex in marker4 \\(d=177601976\\) at .*$srcfile:$bp_location14\[\r\n\]+$bp_location14\[\t \]+void marker4.*$gdb_prompt $" {
+		pass "run until breakpoint set at small function, optimized file (line bp_location14)"
+	    }
 	}
 
 	# proc test_different_dir
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sep.exp ./gdb/testsuite/gdb.base/sep.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sep.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sep.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sep-proc.c ./gdb/testsuite/gdb.base/sep-proc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sep-proc.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sep-proc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepsymtab.c ./gdb/testsuite/gdb.base/sepsymtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepsymtab.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sepsymtab.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2006-2014 Free Software Foundation, Inc.
+/* Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepsymtab.exp ./gdb/testsuite/gdb.base/sepsymtab.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sepsymtab.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sepsymtab.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/set-lang-auto.exp ./gdb/testsuite/gdb.base/set-lang-auto.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/set-lang-auto.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/set-lang-auto.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/set-noassign.exp ./gdb/testsuite/gdb.base/set-noassign.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/set-noassign.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/set-noassign.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/setshow.c ./gdb/testsuite/gdb.base/setshow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/setshow.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/setshow.c	2015-01-20 02:05:39.000000000 +0000
@@ -3,15 +3,8 @@
 
 #include <stdio.h>
 
-#ifdef PROTOTYPES
 int
 main(int argc, char **argv)
-#else
-int 
-main(argc, argv)
-     int argc;
-     char **argv;
-#endif
 {
   int i = 1;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/setshow.exp ./gdb/testsuite/gdb.base/setshow.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/setshow.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/setshow.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/setvar.c ./gdb/testsuite/gdb.base/setvar.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/setvar.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/setvar.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,13 +1,6 @@
 #include <stdlib.h>
 
-#ifdef PROTOTYPES
 int main (int argc, char **argv, char **envp)
-#else
-main (argc, argv, envp)
-     int argc;
-     char **argv;
-     char **envp;
-#endif
 {
     extern void dummy();
     dummy();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/setvar.exp ./gdb/testsuite/gdb.base/setvar.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/setvar.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/setvar.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1988-2014 Free Software Foundation, Inc.
+# Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -123,7 +123,6 @@ test_set "set variable v_signed_char=97"
 test_set "set variable v_signed_char=126" "print v_signed_char" ".\[0-9\]* = 126 \'~\'"        "set variable signed char=126 ('~')" 
 test_set "set variable v_signed_char=127" "print v_signed_char" ".\[0-9\]* = 127 \'.177\'"        "set variable signed char=127 (8-bit)" 
 gdb_test_no_output "set variable v_signed_char=-1"
-if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" }
 
 with_target_charset "ASCII" {
     gdb_test "print v_signed_char" ".\[0-9\]* = -1 \'.377\'" \
@@ -131,7 +130,6 @@ with_target_charset "ASCII" {
 }
 
 gdb_test_no_output "set variable v_signed_char=0xFF"
-if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" }
 
 with_target_charset "ASCII" {
     gdb_test "print v_signed_char" ".\[0-9\]* = -1 \'.377\'" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shell.exp ./gdb/testsuite/gdb.base/shell.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shell.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/shell.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shlib-call.exp ./gdb/testsuite/gdb.base/shlib-call.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shlib-call.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/shlib-call.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -111,7 +111,7 @@ gdb_test "break shr2" \
     "breakpoint function shr2"
 
 gdb_test "continue" \
-	"Continuing\\..*Breakpoint \[0-9\]+, shr2 \\(.*\\) at.*shr2\\.c:7.*7.*return 2.x;" \
+	"Continuing\\..*Breakpoint ${decimal}, shr2 \\(.*\\) at.*shr2\\.c:${decimal}.*shr2-return \\*\\/" \
 	"run until breakpoint set at a function"
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shmain.c ./gdb/testsuite/gdb.base/shmain.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shmain.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/shmain.c	2015-01-20 02:05:39.000000000 +0000
@@ -18,22 +18,12 @@ struct {
 
 int g;
 
-#ifdef PROTOTYPES
 int local_structarg(struct s x)
-#else
-int local_structarg(x)
-struct s x;
-#endif
 {
   return x.b;
 }
 
-#ifdef PROTOTYPES
 int mainshr1(int g)
-#else
-int mainshr1(g)
-int g;
-#endif
 {
   return 2*g;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shr1.c ./gdb/testsuite/gdb.base/shr1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shr1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/shr1.c	2015-01-20 02:05:39.000000000 +0000
@@ -7,12 +7,7 @@ float sg = 5.5;
 int sgi = 2;
 static int sgs = 7;
 
-#ifdef PROTOTYPES
 int shr1(int x)
-#else
-int shr1(x)
-int x;
-#endif
 {
   f mumble;
   int l;
@@ -29,32 +24,17 @@ int x;
   return 2*x;
 }
 
-#ifdef PROTOTYPES
 static int shr1_local(int x)
-#else
-static int shr1_local(x)
-int x;
-#endif
 {
   return 2*x;
 }
 
-#ifdef PROTOTYPES
 int structarg(struct s x)
-#else
-int structarg(x)
-struct s x;
-#endif
 {
   return x.a;
 }
 
-#ifdef PROTOTYPES
 int pstructarg(struct s *x)
-#else
-int pstructarg(x)
-struct s *x;
-#endif
 {
   return x->a;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shr2.c ./gdb/testsuite/gdb.base/shr2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shr2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/shr2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,17 +1,9 @@
-#ifdef PROTOTYPES
 int shr2(int x)
-#else
-int shr2(x) int x;
-#endif
 {
-  return 2*x;
+  return 2*x;			/* shr2-return */
 }
 
-#ifdef PROTOTYPES
 int shr2_local(int x)
-#else
-int shr2_local(x) int x;
-#endif
 {
   return 2*x;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shreloc.exp ./gdb/testsuite/gdb.base/shreloc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/shreloc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/shreloc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigall.c ./gdb/testsuite/gdb.base/sigall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigall.c	2015-01-20 02:05:39.000000000 +0000
@@ -5,784 +5,358 @@
 /* Signal handlers, we set breakpoints in them to make sure that the
    signals really get delivered.  */
 
-#ifdef PROTOTYPES
 void
 handle_ABRT (int sig)
-#else
-void
-handle_ABRT (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_HUP (int sig)
-#else
-void
-handle_HUP (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_QUIT (int sig)
-#else
-void
-handle_QUIT (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_ILL (int sig)
-#else
-void
-handle_ILL (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_EMT (int sig)
-#else
-void
-handle_EMT (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_FPE (int sig)
-#else
-void
-handle_FPE (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_BUS (int sig)
-#else
-void
-handle_BUS (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_SEGV (int sig)
-#else
-void
-handle_SEGV (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_SYS (int sig)
-#else
-void
-handle_SYS (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_PIPE (int sig)
-#else
-void
-handle_PIPE (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_ALRM (int sig)
-#else
-void
-handle_ALRM (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_URG (int sig)
-#else
-void
-handle_URG (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_TSTP (int sig)
-#else
-void
-handle_TSTP (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_CONT (int sig)
-#else
-void
-handle_CONT (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_CHLD (int sig)
-#else
-void
-handle_CHLD (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_TTIN (int sig)
-#else
-void
-handle_TTIN (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_TTOU (int sig)
-#else
-void
-handle_TTOU (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_IO (int sig)
-#else
-void
-handle_IO (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_XCPU (int sig)
-#else
-void
-handle_XCPU (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_XFSZ (int sig)
-#else
-void
-handle_XFSZ (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_VTALRM (int sig)
-#else
-void
-handle_VTALRM (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_PROF (int sig)
-#else
-void
-handle_PROF (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_WINCH (int sig)
-#else
-void
-handle_WINCH (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_LOST (int sig)
-#else
-void
-handle_LOST (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_USR1 (int sig)
-#else
-void
-handle_USR1 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_USR2 (int sig)
-#else
-void
-handle_USR2 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_PWR (int sig)
-#else
-void
-handle_PWR (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_POLL (int sig)
-#else
-void
-handle_POLL (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_WIND (int sig)
-#else
-void
-handle_WIND (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_PHONE (int sig)
-#else
-void
-handle_PHONE (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_WAITING (int sig)
-#else
-void
-handle_WAITING (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_LWP (int sig)
-#else
-void
-handle_LWP (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_DANGER (int sig)
-#else
-void
-handle_DANGER (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_GRANT (int sig)
-#else
-void
-handle_GRANT (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_RETRACT (int sig)
-#else
-void
-handle_RETRACT (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_MSG (int sig)
-#else
-void
-handle_MSG (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_SOUND (int sig)
-#else
-void
-handle_SOUND (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_SAK (int sig)
-#else
-void
-handle_SAK (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_PRIO (int sig)
-#else
-void
-handle_PRIO (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_33 (int sig)
-#else
-void
-handle_33 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_34 (int sig)
-#else
-void
-handle_34 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_35 (int sig)
-#else
-void
-handle_35 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_36 (int sig)
-#else
-void
-handle_36 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_37 (int sig)
-#else
-void
-handle_37 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_38 (int sig)
-#else
-void
-handle_38 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_39 (int sig)
-#else
-void
-handle_39 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_40 (int sig)
-#else
-void
-handle_40 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_41 (int sig)
-#else
-void
-handle_41 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_42 (int sig)
-#else
-void
-handle_42 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_43 (int sig)
-#else
-void
-handle_43 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_44 (int sig)
-#else
-void
-handle_44 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_45 (int sig)
-#else
-void
-handle_45 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_46 (int sig)
-#else
-void
-handle_46 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_47 (int sig)
-#else
-void
-handle_47 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_48 (int sig)
-#else
-void
-handle_48 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_49 (int sig)
-#else
-void
-handle_49 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_50 (int sig)
-#else
-void
-handle_50 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_51 (int sig)
-#else
-void
-handle_51 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_52 (int sig)
-#else
-void
-handle_52 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_53 (int sig)
-#else
-void
-handle_53 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_54 (int sig)
-#else
-void
-handle_54 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_55 (int sig)
-#else
-void
-handle_55 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_56 (int sig)
-#else
-void
-handle_56 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_57 (int sig)
-#else
-void
-handle_57 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_58 (int sig)
-#else
-void
-handle_58 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_59 (int sig)
-#else
-void
-handle_59 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_60 (int sig)
-#else
-void
-handle_60 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_61 (int sig)
-#else
-void
-handle_61 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_62 (int sig)
-#else
-void
-handle_62 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_63 (int sig)
-#else
-void
-handle_63 (sig)
-     int sig;
-#endif
 {
 }
 
-#ifdef PROTOTYPES
 void
 handle_TERM (int sig)
-#else
-void
-handle_TERM (sig)
-     int sig;
-#endif
 {
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigall.exp ./gdb/testsuite/gdb.base/sigall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1995-2014 Free Software Foundation, Inc.
+#   Copyright 1995-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -54,17 +54,6 @@ proc test_one_sig {nextsig} {
 	    "Continuing.*Program received signal SIG$esig.*" \
 		"get signal $esig"
     }
-    if [ istarget "alpha-dec-osf3*" ] then {
-	# OSF/1-3.x is unable to continue with a job control stop signal.
-	# The inferior remains stopped without an event of interest
-	# and GDB waits forever for the inferior to stop on an event
-	# of interest. Work around the kernel bug.
-	if { $thissig == "TSTP" || $thissig == "TTIN" || $thissig == "TTOU" } {
-	    setup_xfail "alpha-dec-osf3*"
-	    fail "cannot continue from signal $thissig"
-	    set need_another_continue 0
-	}
-    }
 
     if $need_another_continue then {
 	if { $thissig == "URG" } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigaltstack.c ./gdb/testsuite/gdb.base/sigaltstack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigaltstack.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigaltstack.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -72,6 +72,7 @@ catcher (int signal)
 }
 
 
+int
 main ()
 {
   /* Set up the altstack.  */
@@ -90,4 +91,5 @@ main ()
   }
   level = MAIN;
   catcher (0);
+  return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigaltstack.exp ./gdb/testsuite/gdb.base/sigaltstack.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigaltstack.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigaltstack.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -74,8 +74,8 @@ proc finish_test { pattern msg } {
 	    # Some platforms use a special read-only page for signal
 	    # trampolines.  We can't set a breakpoint there, and we
 	    # don't gracefully fall back to single-stepping.
-	    setup_kfail gdb/1736 "i?86-*-linux*"
-	    setup_kfail gdb/1736 "*-*-openbsd*"
+	    setup_kfail gdb/8841 "i?86-*-linux*"
+	    setup_kfail gdb/8841 "*-*-openbsd*"
 	    fail "$msg (could not set breakpoint)"
 	}
 	-re "$pattern.*${gdb_prompt} $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigbpt.c ./gdb/testsuite/gdb.base/sigbpt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigbpt.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigbpt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigbpt.exp ./gdb/testsuite/gdb.base/sigbpt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigbpt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigbpt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -55,13 +55,9 @@ if ![runto_main] then {
 # especially on targets without an MMU.  Don't run the tests in that
 # case.
 
-gdb_test_multiple "x 0" "memory at address 0" {
-    -re "0x0:.*Cannot access memory at address 0x0.*$gdb_prompt $" { }
-    -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { }
-    -re ".*$gdb_prompt $" {
-	untested "Memory at address 0 is possibly executable"
-	return
-    }
+if { [is_address_zero_readable] } {
+    untested "Memory at address 0 is possibly executable"
+    return
 }
 
 gdb_test "break keeper"
@@ -160,7 +156,7 @@ proc stepi_out { name args } {
     set test "${name}; stepi out of handler"
     gdb_test_multiple "stepi" "$test" {
 	-re "Could not insert single-step breakpoint.*$gdb_prompt $" {
-	    setup_kfail gdb/1736 "sparc*-*-openbsd*"
+	    setup_kfail gdb/8841 "sparc*-*-openbsd*"
 	    fail "$test (could not insert single-step breakpoint)"
 	}
 	-re "keeper.*$gdb_prompt $" {
@@ -172,22 +168,22 @@ proc stepi_out { name args } {
 	    exp_continue
 	}
 	-re "Program received signal SIGSEGV.*$gdb_prompt $" {
-	    kfail gdb/1702 "$test (executed fault insn)"
+	    kfail gdb/8807 "$test (executed fault insn)"
 	}
 	-re "Breakpoint.*pc(\r\n| *)[at_segv] .*bowler.*$gdb_prompt $" {
 	    pass "$test (at breakpoint)"
 	}
 	-re "Breakpoint.*pc(\r\n| *)[after_segv] .*bowler.*$gdb_prompt $" {
-	    kfail gdb/1702 "$test (executed breakpoint)"
+	    kfail gdb/8807 "$test (executed breakpoint)"
 	}
 	-re "pc(\r\n| *)[at_segv] .*bowler.*$gdb_prompt $" {
 	    pass "$test"
 	}
 	-re "pc(\r\n| *)[after_segv] .*bowler.*$gdb_prompt $" {
-	    kfail gdb/1702 "$test (skipped fault insn)"
+	    kfail gdb/8807 "$test (skipped fault insn)"
 	}
 	-re "pc(\r\n| *)=> 0x\[a-z0-9\]* .*bowler.*$gdb_prompt $" {
-	    kfail gdb/1702 "$test (corrupt pc)"
+	    kfail gdb/8807 "$test (corrupt pc)"
 	}
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigchld.c ./gdb/testsuite/gdb.base/sigchld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigchld.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigchld.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigchld.exp ./gdb/testsuite/gdb.base/sigchld.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigchld.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigchld.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-addr.c ./gdb/testsuite/gdb.base/siginfo-addr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-addr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-addr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-addr.exp ./gdb/testsuite/gdb.base/siginfo-addr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-addr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-addr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo.c ./gdb/testsuite/gdb.base/siginfo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -38,6 +38,7 @@ handler (int sig)
 } /* handler */
 #endif
 
+int
 main ()
 {
   /* Set up the signal handler.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo.exp ./gdb/testsuite/gdb.base/siginfo.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -61,7 +61,7 @@ gdb_test_sequence "bt" "backtrace for ne
 set test "step out of handler"
 gdb_test_multiple "step" "${test}" {
     -re "Could not insert single-step breakpoint.*$gdb_prompt $" {
-	setup_kfail gdb/1736 sparc*-*-openbsd*
+	setup_kfail gdb/8841 sparc*-*-openbsd*
 	fail "$test (could not insert single-step breakpoint)"
     }
     -re "done = 1;.*${gdb_prompt} $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-infcall.c ./gdb/testsuite/gdb.base/siginfo-infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-infcall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-infcall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-infcall.exp ./gdb/testsuite/gdb.base/siginfo-infcall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-infcall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-infcall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-obj.c ./gdb/testsuite/gdb.base/siginfo-obj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-obj.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-obj.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-obj.exp ./gdb/testsuite/gdb.base/siginfo-obj.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-obj.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-obj.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-thread.c ./gdb/testsuite/gdb.base/siginfo-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-thread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-thread.exp ./gdb/testsuite/gdb.base/siginfo-thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/siginfo-thread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-thread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signals.c ./gdb/testsuite/gdb.base/signals.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signals.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/signals.c	2015-01-20 02:05:39.000000000 +0000
@@ -6,14 +6,8 @@
 
 static int count = 0;
 
-#ifdef PROTOTYPES
 static void
 handler (int sig)
-#else
-static void
-handler (sig)
-     int sig;
-#endif
 {
   signal (sig, handler);
   ++count;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signals.exp ./gdb/testsuite/gdb.base/signals.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signals.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/signals.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signest.c ./gdb/testsuite/gdb.base/signest.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signest.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/signest.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signest.exp ./gdb/testsuite/gdb.base/signest.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signest.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/signest.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,13 +38,9 @@ if ![runto_main] then {
 # especially on targets without an MMU.  Don't run the tests in that
 # case.
 
-gdb_test_multiple "x 0" "memory at address 0" {
-    -re "0x0:.*Cannot access memory at address 0x0.*$gdb_prompt $" { }
-    -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { }
-    -re ".*$gdb_prompt $" {
-	untested "Memory at address 0 is possibly executable"
-	return -1
-    }
+if { [is_address_zero_readable] } {
+    untested "Memory at address 0 is possibly executable"
+    return -1
 }
 
 # Run until we hit the SIGSEGV (or SIGBUS on some platforms).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signull.c ./gdb/testsuite/gdb.base/signull.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signull.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/signull.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1996-2014 Free Software Foundation, Inc.
+   Copyright 1996-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signull.exp ./gdb/testsuite/gdb.base/signull.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/signull.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/signull.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -56,13 +56,9 @@ if ![runto_main] then {
 # especially on targets without an MMU.  Don't run the tests in that
 # case.
 
-gdb_test_multiple "x 0" "memory at address 0" {
-    -re "0x0:.*Cannot access memory at address 0x0.*$gdb_prompt $" { }
-    -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { }
-    -re ".*$gdb_prompt $" {
-	untested "Memory at address 0 is possibly executable"
-	return
-    }
+if { [is_address_zero_readable] } {
+    untested "Memory at address 0 is possibly executable"
+    return
 }
 
 # If an attempt to call a NULL pointer leaves the inferior in main,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigrepeat.c ./gdb/testsuite/gdb.base/sigrepeat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigrepeat.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigrepeat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigrepeat.exp ./gdb/testsuite/gdb.base/sigrepeat.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigrepeat.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigrepeat.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigstep.c ./gdb/testsuite/gdb.base/sigstep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigstep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigstep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -24,11 +24,18 @@
 #include <errno.h>
 
 static volatile int done;
+static volatile int dummy;
+static volatile int no_handler;
 
 static void
 handler (int sig)
 {
+  /* This is more than one write so that the breakpoint location below
+     is more than one instruction away.  */
   done = 1;
+  done = 1;
+  done = 1;
+  done = 1; /* other handler location */
 } /* handler */
 
 struct itimerval itime;
@@ -43,11 +50,11 @@ enum {
 int
 main ()
 {
-
   int res;
+
   /* Set up the signal handler.  */
   memset (&action, 0, sizeof (action));
-  action.sa_handler = handler;
+  action.sa_handler = no_handler ? SIG_IGN : handler;
   sigaction (SIGVTALRM, &action, NULL);
   sigaction (SIGALRM, &action, NULL);
 
@@ -74,8 +81,10 @@ main ()
 	      return 1;
 	    }
 	}
-      /* Wait.  */
-      while (!done);
+      /* Wait.  Issue a couple writes to a dummy volatile var to be
+	 reasonably sure our simple "get-next-pc" logic doesn't
+	 stumble on branches.  */
+      dummy = 0; dummy = 0; while (!done);
       done = 0;
     }
   return 0;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigstep.exp ./gdb/testsuite/gdb.base/sigstep.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sigstep.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sigstep.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,16 +29,25 @@ if [target_info exists gdb,nosignals] {
 
 standard_testfile
 
-if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+if {[build_executable $testfile.exp $testfile $srcfile debug]} {
     untested $testfile.exp
     return -1
 }
 
-gdb_test "display/i \$pc"
+set clear_done [gdb_get_line_number {done = 0}]
+set infinite_loop [gdb_get_line_number {while (!done)}]
+set other_handler_location [gdb_get_line_number "other handler location"]
+
+# Restart GDB, set a display showing $PC, and run to main.
+
+proc restart {} {
+    global binfile
+
+    clean_restart $binfile
+
+    gdb_test "display/i \$pc"
 
-# Advance to main
-if { ![runto_main] } then {
-    gdb_suppress_tests
+    runto_main
 }
 
 # Pass all the alarms straight through (but verbosely)
@@ -47,190 +56,262 @@ if { ![runto_main] } then {
 # gdb_test "handle SIGPROF print pass nostop"
 
 # Run to the signal handler, validate the backtrace.
-gdb_test "break handler"
-gdb_test "continue" ".* handler .*" "continue to stepi handler"
-gdb_test_sequence "bt" "backtrace for nexti" {
-    "\[\r\n\]+.0 \[^\r\n\]* handler "
-    "\[\r\n\]+.1  .signal handler called."
-    "\[\r\n\]+.2 \[^\r\n\]* main "
+
+proc validate_backtrace {} {
+    with_test_prefix "validate backtrace" {
+	restart
+
+	gdb_test "break handler"
+	gdb_test "continue" ".* handler .*" "continue to stepi handler"
+	gdb_test_sequence "bt" "backtrace for nexti" {
+	    "\[\r\n\]+.0 \[^\r\n\]* handler "
+	    "\[\r\n\]+.1  .signal handler called."
+	    "\[\r\n\]+.2 \[^\r\n\]* main "
+	}
+    }
 }
 
-proc advance { i } {
+validate_backtrace
+
+# Goes to handler using ENTER_CMD, runs IN_HANDLER while in the signal
+# hander, and then steps out of the signal handler using EXIT_CMD.
+
+proc advance { enter_cmd in_handler_prefix in_handler exit_cmd } {
     global gdb_prompt inferior_exited_re
-    set prefix "$i from handler"
+    global clear_done other_handler_location
+
+    set prefix "$enter_cmd to handler, $in_handler_prefix in handler, $exit_cmd from handler"
 
-    # Get us back into the handler
-    gdb_test "continue" ".* handler .*" "$prefix; continue to handler"
+    with_test_prefix $prefix {
+	restart
 
-    set test "$prefix; leave handler"
-    gdb_test_multiple "$i" "${test}" {
-	-re "Could not insert single-step breakpoint.*$gdb_prompt $" {
-	    setup_kfail gdb/1736 "sparc*-*-openbsd*"
-	    fail "$test (could not insert single-step breakpoint)"
+	# Get us into the handler
+	if { $enter_cmd == "continue" } {
+	    gdb_test "break handler"
+	} else {
+	    gdb_test "handle SIGALRM print pass stop"
+	    gdb_test "handle SIGVTALRM print pass stop"
+	    gdb_test "continue" "Program received signal.*" "continue to signal"
 	}
-	-re "done = 1;.*${gdb_prompt} $" {
-	    send_gdb "$i\n"
-	    exp_continue -continue_timer
+	gdb_test "$enter_cmd" ".*handler .*" "$enter_cmd to handler"
+
+	delete_breakpoints
+
+	uplevel 1 $in_handler
+
+	if { $exit_cmd == "continue" } {
+	    gdb_test "break $clear_done" ".*" "break clear done"
 	}
-	-re "\} .. handler .*${gdb_prompt} $" {
-	    send_gdb "$i\n"
-	    exp_continue -continue_timer
+
+	set test "leave handler"
+	gdb_test_multiple "$exit_cmd" "${test}" {
+	    -re "Could not insert single-step breakpoint.*$gdb_prompt $" {
+		setup_kfail gdb/8841 "sparc*-*-openbsd*"
+		fail "$test (could not insert single-step breakpoint)"
+	    }
+	    -re "done = 1;.*${gdb_prompt} $" {
+		send_gdb "$exit_cmd\n"
+		exp_continue -continue_timer
+	    }
+	    -re "\} .. handler .*${gdb_prompt} $" {
+		send_gdb "$exit_cmd\n"
+		exp_continue -continue_timer
+	    }
+	    -re "$inferior_exited_re normally.*${gdb_prompt} $" {
+		setup_kfail gdb/8744 powerpc-*-*bsd*
+		fail "$test (program exited)"
+	    }
+	    -re "(while ..done|done = 0).*${gdb_prompt} $" {
+		# After stepping out of a function /r signal-handler, GDB will
+		# advance the inferior until it is at the first instruction of
+		# a code-line.  While typically things return to the middle of
+		# the "while..." (and hence GDB advances the inferior to the
+		# "return..." line) it is also possible for the return to land
+		# on the first instruction of "while...".  Accept both cases.
+		pass "$test"
+	    }
 	}
-	-re "$inferior_exited_re normally.*${gdb_prompt} $" {
-	    setup_kfail gdb/1639 powerpc-*-*bsd*
-	    fail "$test (program exited)"
+    }
+}
+
+# Map of PREFIX => "things to do within the signal handler", for the
+# advance tests.
+
+set in_handler_map {
+    "nothing" {
+    }
+    "si+advance" {
+	# Advance to the second location in handler.
+	gdb_test "si" "handler.*" "si in handler"
+
+	set test "advance in handler"
+	gdb_test_multiple "advance $other_handler_location" $test {
+	    -re "Program received signal SIGTRAP.*$gdb_prompt $" {
+		# On some versions of Linux (observed on
+		# 3.16.4-200.fc20.x86_64), using PTRACE_SINGLESTEP+sig
+		# to step into a signal handler, and then issuing
+		# another PTRACE_SINGLESTEP within the handler ends up
+		# with $eflags.TF mistakenly set, which results in
+		# subsequent PTRACE_CONTINUEs trapping after each
+		# insn.
+		if {$enter_cmd != "continue"} {
+		    setup_xfail "i?86-*-linux*" gdb/17511
+		    setup_xfail "x86_64-*-linux*" gdb/17511
+		}
+		fail "$test (spurious SIGTRAP)"
+		return
+	    }
+	    -re "other handler location.*$gdb_prompt $" {
+		pass $test
+	    }
 	}
-	-re "(while ..done|done = 0).*${gdb_prompt} $" {
-	    # After stepping out of a function /r signal-handler, GDB will
-	    # advance the inferior until it is at the first instruction of
-	    # a code-line.  While typically things return to the middle of
-	    # the "while..." (and hence GDB advances the inferior to the
-	    # "return..." line) it is also possible for the return to land
-	    # on the first instruction of "while...".  Accept both cases.
-	    pass "$test"
+    }
+}
+
+# Check that we can step/next/continue, etc. our way in and out of a
+# signal handler.  Also test that we can step, and run to a breakpoint
+# within the handler.
+
+foreach enter_cmd { "stepi" "nexti" "step" "next" "continue" } {
+    if { $enter_cmd != "continue" && ![can_single_step_to_signal_handler] } {
+	continue
+    }
+
+    foreach exit_cmd { "step" "next" "continue" } {
+	foreach {in_handler_prefix in_handler} $in_handler_map {
+	    advance $enter_cmd $in_handler_prefix $in_handler $exit_cmd
 	}
     }
 }
 
-proc advancei { i } {
+proc advancei { cmd } {
     global gdb_prompt inferior_exited_re
-    set prefix "$i from handleri"
-    set program_exited 0
 
-    # Get us back into the handler
-    gdb_test "continue" ".* handler .*" "$prefix; continue to handler"
+    with_test_prefix "$cmd from handleri" {
+	restart
 
-    set test "$prefix; leave handler"
-    gdb_test_multiple "$i" "${test}" {
-        -re "Cannot insert breakpoint 0.*${gdb_prompt} $" {
-            # Some platforms use a special read-only page for signal
-            # trampolines.  We can't set a breakpoint there, and we
-            # don't gracefully fall back to single-stepping.
-            setup_kfail gdb/1736 "i?86-*-linux*"
-	    setup_kfail gdb/1736 "*-*-openbsd*"
-            fail "$test (could not set breakpoint)"
-	    return
-        }
-	-re "Could not insert single-step breakpoint.*$gdb_prompt $" {
-	    setup_kfail gdb/1736 "sparc*-*-openbsd*"
-	    fail "$test (could not insert single-step breakpoint)"
-	}
-	-re "Breakpoint \[0-9\]*, handler .*${gdb_prompt} $" {
-	    fail "$test (hit breakpoint again)"
-	}
-	-re "done = 1;.*${gdb_prompt} $" {
-	    send_gdb "$i\n"
-	    exp_continue -continue_timer
-	}
-	-re "\} .. handler .*${gdb_prompt} $" {
-	    send_gdb "$i\n"
-	    exp_continue -continue_timer
-	}
-	-re "signal handler called.*${gdb_prompt} $" {
-	    pass "$test"
-	}
-	-re "main .*${gdb_prompt} $" {
-	    fail "$test (in main)"
-	}
-	-re "$inferior_exited_re normally.*${gdb_prompt} $" {
-	    fail "$test (program exited)"
-	    set program_exited 1
-	}
-	-re "Make handler return now.*y or n. $" {
-	    send_gdb "y\n"
-	    exp_continue -continue_timer
+	# Get us into the handler.
+	gdb_test "break handler"
+	gdb_test "continue" ".* handler .*" "continue to handler"
+
+	set program_exited 0
+	set test "leave handler"
+	gdb_test_multiple "$cmd" "${test}" {
+	    -re "Cannot insert breakpoint 0.*${gdb_prompt} $" {
+		# Some platforms use a special read-only page for signal
+		# trampolines.  We can't set a breakpoint there, and we
+		# don't gracefully fall back to single-stepping.
+		setup_kfail gdb/8841 "i?86-*-linux*"
+		setup_kfail gdb/8841 "*-*-openbsd*"
+		fail "$test (could not set breakpoint)"
+		return
+	    }
+	    -re "Could not insert single-step breakpoint.*$gdb_prompt $" {
+		setup_kfail gdb/8841 "sparc*-*-openbsd*"
+		fail "$test (could not insert single-step breakpoint)"
+	    }
+	    -re "Breakpoint \[0-9\]*, handler .*${gdb_prompt} $" {
+		fail "$test (hit breakpoint again)"
+	    }
+	    -re "done = 1;.*${gdb_prompt} $" {
+		send_gdb "$cmd\n"
+		exp_continue -continue_timer
+	    }
+	    -re "\} .. handler .*${gdb_prompt} $" {
+		send_gdb "$cmd\n"
+		exp_continue -continue_timer
+	    }
+	    -re "signal handler called.*${gdb_prompt} $" {
+		pass "$test"
+	    }
+	    -re "main .*${gdb_prompt} $" {
+		fail "$test (in main)"
+	    }
+	    -re "$inferior_exited_re normally.*${gdb_prompt} $" {
+		fail "$test (program exited)"
+		set program_exited 1
+	    }
+	    -re "Make handler return now.*y or n. $" {
+		send_gdb "y\n"
+		exp_continue -continue_timer
+	    }
 	}
-    }
 
-    set test "$prefix; leave signal trampoline"
-    gdb_test_multiple "$i" "${test}" {
-	-re "while .*${gdb_prompt} $" {
-	    pass "$test (in main)"
-	}
-	-re "signal handler called.*${gdb_prompt} $" {
-	    send_gdb "$i\n"
-	    exp_continue -continue_timer
-	}
-	-re "return .*${gdb_prompt} $" {
-	    fail "$test (stepped)"
-	}
-	-re "Make .*frame return now.*y or n. $" {
-	    send_gdb "y\n"
-	    exp_continue -continue_timer
-	}
-	-re "$inferior_exited_re normally.*${gdb_prompt} $" {
-	    kfail gdb/1639 "$test (program exited)"
-	    set program_exited 1
-	}
-	-re "The program is not being run.*${gdb_prompt} $" {
-	    if { $program_exited } {
-		# Previously kfailed with an exit
-		pass "$test (the program is not being run)"
-	    } else {
-		fail "$test (the program is not being run)"
+	set test "leave signal trampoline"
+	gdb_test_multiple "$cmd" "${test}" {
+	    -re "while .*${gdb_prompt} $" {
+		pass "$test (in main)"
+	    }
+	    -re "signal handler called.*${gdb_prompt} $" {
+		send_gdb "$cmd\n"
+		exp_continue -continue_timer
+	    }
+	    -re "return .*${gdb_prompt} $" {
+		fail "$test (stepped)"
+	    }
+	    -re "Make .*frame return now.*y or n. $" {
+		send_gdb "y\n"
+		exp_continue -continue_timer
+	    }
+	    -re "$inferior_exited_re normally.*${gdb_prompt} $" {
+		kfail gdb/8744 "$test (program exited)"
+		set program_exited 1
+	    }
+	    -re "The program is not being run.*${gdb_prompt} $" {
+		if { $program_exited } {
+		    # Previously kfailed with an exit
+		    pass "$test (the program is not being run)"
+		} else {
+		    fail "$test (the program is not being run)"
+		}
 	    }
 	}
     }
 }
 
-# Check that we can step/next our way out of a signal handler.
-
-advance step
-advancei stepi
-
-advance next
-advancei nexti
-
-advancei finish
-advancei return
-gdb_test_no_output "set done = 1" "Set done as return will have skipped it"
+# Check that we can step our way out of a signal handler, using
+# commands that first step out to the signal trampoline, and then out
+# to the mainline code.
 
+foreach cmd {"stepi" "nexti" "finish" "return"} {
+    advancei $cmd
+}
 
 # Check that we can step/next our way into / over a signal handler.
 
 # There are at least the following cases: breakpoint @pc VS breakpoint
 # in handler VS step / next / continue.
 
-# Use the real-time itimer, as otherwize the process never gets enough
-# time to expire the timer.
-
-delete_breakpoints
-set infinite_loop [gdb_get_line_number {while (!done)}]
-gdb_test_no_output "set itimer = itimer_real"
-gdb_test "break [gdb_get_line_number {done = 0}]"
 
 # Try stepping when there's a signal pending, and a breakpoint at the
 # handler.  Should step into the signal handler.
 
-proc skip_to_handler { i } {
-    global gdb_prompt
+proc skip_to_handler { cmd } {
     global infinite_loop
-    set prefix "$i to handler"
-    
-    # Run around to the done
-    # You can add more patterns to this if you need them.
-    set test "$prefix; resync"
-    gdb_test_multiple "continue" "$test" {
-	-re "done = 0.*$gdb_prompt " {
-	    pass "$test"
-	}
-    }
-    
-    # Advance to the infinite loop
-    gdb_test "advance $infinite_loop" ".*" "$prefix; advance to infinite loop"
-
-    # Make the signal pending
-    sleep 1
-    
-    # Insert / remove the handler breakpoint.
-    gdb_test "break handler" ".*" "$prefix; break handler"
-    gdb_test "$i" " handler .*" "$prefix; performing $i"
-    gdb_test "clear handler" ".*" "$prefix; clear handler"
-}
-
-skip_to_handler step
-skip_to_handler next
-skip_to_handler continue
+
+    with_test_prefix "$cmd to handler" {
+	restart
+	# Use the real-time itimer, as otherwize the process never gets
+	# enough time to expire the timer.
+	gdb_test_no_output "set itimer = itimer_real"
+
+	# Advance to the infinite loop.
+	gdb_test "advance $infinite_loop" ".*" "advance to infinite loop"
+
+	# Make the signal pending.
+	sleep 1
+
+	# Insert the handler breakpoint.
+	gdb_test "break handler" ".*" "break handler"
+
+	# Step into the handler.
+	gdb_test "$cmd" " handler .*" "performing $cmd"
+    }
+}
+
+foreach cmd {"step" "next" "continue"} {
+    skip_to_handler $cmd
+}
 
 # Try stepping when there's a signal pending, and a breakpoint at the
 # handler's entry-point.  Should step into the signal handler stopping
@@ -243,101 +324,118 @@ skip_to_handler continue
 # have been called by the trampoline code.  This test checks that it
 # is possible to stop the inferior, even at that first instruction.
 
-proc skip_to_handler_entry { i } {
-    global gdb_prompt
+proc skip_to_handler_entry { cmd } {
     global infinite_loop
-    set prefix "$i to handler entry"
-    
-    # Run around to the done
-    # You can add more patterns to this if you need them.
-    set test "$prefix; resync"
-    gdb_test_multiple "continue" "$test" {
-	-re "done = 0.*$gdb_prompt " {
-	    pass "$test"
-	}
-    }
-    
-    # Advance to the infinite loop
-    gdb_test "advance $infinite_loop" ".*" "$prefix; advance to infinite loop"
-
-    # Make the signal pending
-    sleep 1
-    
-    # Insert / remove the handler breakpoint.
-    gdb_test "break *handler" ".*" "$prefix; break handler"
-    gdb_test "$i" " handler .*" "$prefix; performing $i"
-    gdb_test "clear *handler" ".*" "$prefix; clear handler"
-}
-
-skip_to_handler_entry step
-skip_to_handler_entry next
-skip_to_handler_entry continue
+
+    with_test_prefix "$cmd to handler entry" {
+	restart
+	# Use the real-time itimer, as otherwize the process never gets
+	# enough time to expire the timer.
+	gdb_test_no_output "set itimer = itimer_real"
+
+	# Advance to the infinite loop.
+	gdb_test "advance $infinite_loop" ".*" "advance to infinite loop"
+
+	# Make the signal pending.
+	sleep 1
+
+	# Insert / remove the handler breakpoint.
+	gdb_test "break *handler" ".*" "break handler"
+	gdb_test "$cmd" " handler .*" "performing $cmd"
+    }
+}
+
+foreach cmd {"stepi" "nexti" "step" "next" "continue"} {
+    skip_to_handler_entry $cmd
+}
+
+# Get the address of where a single-step should land.
+
+proc get_next_pc {test} {
+    global gdb_prompt
+    global hex
+
+    set next ""
+    gdb_test_multiple "x/2i \$pc" $test {
+	-re "$hex .*:\[^\r\n\]+\r\n\[ \]+($hex).*\.\r\n$gdb_prompt $" {
+	    set next $expect_out(1,string)
+	    pass $test
+	}
+    }
+
+    return $next
+}
+
+# Test that the command skipped over the handler.
+
+proc test_skip_handler {cmd} {
+    if {$cmd == "stepi" || $cmd == "nexti"} {
+	set next_pc [get_next_pc "get next PC"]
+	gdb_test "$cmd" "dummy = 0.*" "performing $cmd"
+	gdb_test "p /x \$pc" " = $next_pc" "advanced"
+    } else {
+	gdb_test "$cmd" "done = 0.*" "performing $cmd"
+    }
+}
 
 # Try stepping when there's a signal pending but no breakpoints.
 # Should skip the handler advancing to the next line.
 
-proc skip_over_handler { i } {
-    global gdb_prompt
+proc skip_over_handler { cmd } {
     global infinite_loop
-    set prefix "$i over handler"
-    
-    # Run around to the done
-    # You can add more patterns to this if you need them.
-    set test "$prefix; resync"
-    gdb_test_multiple "continue" "$test" {
-	-re "done = 0.*$gdb_prompt " {
-	    pass "$test"
-	}
-    }
-    
-    # Advance to the infinite loop
-    gdb_test "advance $infinite_loop" ".*" "$prefix; advance to infinite loop"
-
-    # Make the signal pending
-    sleep 1
-    
-    gdb_test "$i" "done = 0.*" "$prefix; performing $i"
-}
-
-skip_over_handler step
-skip_over_handler next
-skip_over_handler continue
+    global clear_done
+
+    with_test_prefix "$cmd over handler" {
+	restart
+	# Use the real-time itimer, as otherwize the process never gets
+	# enough time to expire the timer.
+	gdb_test_no_output "set itimer = itimer_real"
+
+	gdb_test "break $clear_done" ".*" "break clear done"
+
+	# Advance to the infinite loop.
+	gdb_test "advance $infinite_loop" ".*" "advance to infinite loop"
+
+	# Make the signal pending.
+	sleep 1
+
+	test_skip_handler $cmd
+    }
+}
+
+foreach cmd {"stepi" "nexti" "step" "next" "continue"} {
+    skip_over_handler $cmd
+}
 
 # Try stepping when there's a signal pending, a pre-existing
 # breakpoint at the current instruction, and a breakpoint in the
 # handler.  Should advance to the signal handler.
 
-proc breakpoint_to_handler { i } {
-    global gdb_prompt
+proc breakpoint_to_handler { cmd } {
     global infinite_loop
-    set prefix "$i on breakpoint, to handler"
-    
-    # Run around to the done
-    # You can add more patterns to this if you need them.
-    set test "$prefix; resync"
-    gdb_test_multiple "continue" "$test" {
-	-re "done = 0.*$gdb_prompt " {
-	    pass "$test"
-	}
-    }
-    
-    gdb_test "break $infinite_loop" ".*" "$prefix; break infinite loop"
-    gdb_test "break handler" ".*" "$prefix; break handler"
-
-    # Continue to the infinite loop
-    gdb_test "continue" "while ..done.*" "$prefix; continue to infinite loop"
-
-    # Make the signal pending
-    sleep 1
-    
-    gdb_test "$i" " handler .*" "$prefix; performing $i"
-    gdb_test "clear $infinite_loop" ".*" "$prefix; clear infinite loop"
-    gdb_test "clear handler" ".*" "$prefix; clear handler"
-}
-
-breakpoint_to_handler step
-breakpoint_to_handler next
-breakpoint_to_handler continue
+
+    with_test_prefix "$cmd on breakpoint, to handler" {
+	restart
+	# Use the real-time itimer, as otherwize the process never gets
+	# enough time to expire the timer.
+	gdb_test_no_output "set itimer = itimer_real"
+
+	gdb_test "break $infinite_loop" ".*" "break infinite loop"
+	gdb_test "break handler" ".*" "break handler"
+
+	# Continue to the infinite loop.
+	gdb_test "continue" "while ..done.*" "continue to infinite loop"
+
+	# Make the signal pending.
+	sleep 1
+
+	gdb_test "$cmd" " handler .*" "performing $cmd"
+    }
+}
+
+foreach cmd {"step" "next" "continue"} {
+    breakpoint_to_handler $cmd
+}
 
 # Try stepping when there's a signal pending, and a breakpoint at the
 # handler's entry instruction and a breakpoint at the current
@@ -351,68 +449,95 @@ breakpoint_to_handler continue
 # have been called by the trampoline code.  This test checks that it
 # is possible to stop the inferior, even at that first instruction.
 
-proc breakpoint_to_handler_entry { i } {
-    global gdb_prompt
+proc breakpoint_to_handler_entry { cmd } {
     global infinite_loop
-    set prefix "$i on breakpoint, to handler entry"
-    
-    # Run around to the done
-    # You can add more patterns to this if you need them.
-    set test "$prefix; resync"
-    gdb_test_multiple "continue" "$test" {
-	-re "done = 0.*$gdb_prompt " {
-	    pass "$test"
-	}
-    }
-    
-    gdb_test "break $infinite_loop" ".*" "$prefix; break infinite loop"
-    gdb_test "break *handler" ".*" "$prefix; break handler"
-
-    # Continue to the infinite loop
-    gdb_test "continue" "while ..done.*" "$prefix; continue to infinite loop"
-
-    # Make the signal pending
-    sleep 1
-    
-    gdb_test "$i" " handler .*" "$prefix; performing $i"
-    gdb_test "clear $infinite_loop" ".*" "$prefix; clear infinite loop"
-    gdb_test "clear *handler" ".*" "$prefix; clear handler"
-}
-
-breakpoint_to_handler_entry step
-breakpoint_to_handler_entry next
-breakpoint_to_handler_entry continue
+
+    with_test_prefix "$cmd on breakpoint, to handler entry" {
+	restart
+	# Use the real-time itimer, as otherwize the process never gets
+	# enough time to expire the timer.
+	gdb_test_no_output "set itimer = itimer_real"
+
+	gdb_test "break $infinite_loop" ".*" "break infinite loop"
+	gdb_test "break *handler" ".*" "break handler"
+
+	# Continue to the infinite loop.
+	gdb_test "continue" "while ..done.*" "continue to infinite loop"
+
+	# Make the signal pending.
+	sleep 1
+
+	gdb_test "$cmd" " handler .*" "performing $cmd"
+    }
+}
+
+foreach cmd {"step" "next" "continue"} {
+    breakpoint_to_handler_entry $cmd
+}
 
 # Try stepping when there's a signal pending, and a pre-existing
 # breakpoint at the current instruction, and no breakpoint in the
-# handler.  Should advance to the next line.
+# handler.  Should advance to the next line/instruction.  If SW_WATCH
+# is true, set a software watchpoint, which exercises stepping the
+# breakpoint instruction while delivering a signal at the same time.
+# If NO_HANDLER, arrange for the signal's handler be SIG_IGN, thus
+# when the software watchpoint is also set, testing stepping a
+# breakpoint instruction and immediately triggering the breakpoint
+# (exercises adjust_pc_after_break logic).
 
-proc breakpoint_over_handler { i } {
-    global gdb_prompt
+proc breakpoint_over_handler { cmd with_sw_watch no_handler } {
     global infinite_loop
-    set prefix "$i on breakpoint, skip handler"
-    
-    # Run around to the done
-    # You can add more patterns to this if you need them.
-    set test "$prefix; resync"
-    gdb_test_multiple "continue" "$test" {
-	-re "done = 0.*$gdb_prompt " {
-	    pass "$test"
-	}
-    }
-    
-    gdb_test "break $infinite_loop" ".*" "$prefix; break infinite loop"
-
-    # Continue to the infinite loop
-    gdb_test "continue" "while ..done.*" "$prefix; continue to infinite loop"
-
-    # Make the signal pending
-    sleep 1
-    
-    gdb_test "$i" "done = 0.*" "$prefix; performing $i"
-    gdb_test "clear $infinite_loop" ".*" "$prefix; clear infinite loop"
-}
-
-breakpoint_over_handler step
-breakpoint_over_handler next
-breakpoint_over_handler continue
+    global clear_done
+
+    set prefix "$cmd on breakpoint, skip handler"
+    if { $with_sw_watch } {
+	append prefix ", with sw-watchpoint"
+    }
+    if { $no_handler } {
+	append prefix ", no handler"
+    }
+
+    with_test_prefix "$prefix" {
+	restart
+	# Use the real-time itimer, as otherwize the process never gets
+	# enough time to expire the timer.
+	gdb_test_no_output "set itimer = itimer_real"
+
+	if {$no_handler} {
+	    gdb_test "print no_handler = 1" " = 1" \
+		"set no_handler"
+	}
+
+	gdb_test "break $infinite_loop" ".*" "break infinite loop"
+
+	gdb_test "break $clear_done" ".*" "break clear done"
+
+	# Continue to the infinite loop
+	gdb_test "continue" "while ..done.*" "continue to infinite loop"
+
+	# Make the signal pending
+	sleep 1
+
+	if { $with_sw_watch } {
+	    # A watchpoint on a convenience variable is always a
+	    # software watchpoint.
+	    gdb_test "watch \$convenience" "Watchpoint .*: \\\$convenience"
+	}
+
+	if {$no_handler} {
+	    # With no handler, we need to set the global ourselves
+	    # manually.
+	    gdb_test "print done = 1" " = 1" "set done"
+	}
+
+	test_skip_handler $cmd
+    }
+}
+
+foreach cmd {"stepi" "nexti" "step" "next" "continue"} {
+    foreach with_sw_watch {0 1} {
+	foreach no_handler {0 1} {
+	    breakpoint_over_handler $cmd $with_sw_watch $no_handler
+	}
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sizeof.exp ./gdb/testsuite/gdb.base/sizeof.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sizeof.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sizeof.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/skip.exp ./gdb/testsuite/gdb.base/skip.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/skip.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/skip.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2011-2014 Free Software Foundation, Inc.
+#   Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/skip-solib.exp ./gdb/testsuite/gdb.base/skip-solib.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/skip-solib.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/skip-solib.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2011-2014 Free Software Foundation, Inc.
+#   Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/skip-solib-lib.c ./gdb/testsuite/gdb.base/skip-solib-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/skip-solib-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/skip-solib-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,11 +1,11 @@
 /* Simple shared library */
 
-int square(int num)
+int multiply(int a, int b)
 {
-  return multiply(num, num);
+  return a * b;
 }
 
-int multiply(int a, int b)
+int square(int num)
 {
-  return a * b;
+  return multiply(num, num);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/so-disc-shr.c ./gdb/testsuite/gdb.base/so-disc-shr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/so-disc-shr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/so-disc-shr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/so-impl-ld.exp ./gdb/testsuite/gdb.base/so-impl-ld.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/so-impl-ld.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/so-impl-ld.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -61,12 +61,12 @@ gdb_test "next" "21\[ \t\]*result = soli
 
 # Verify that we can step into the second shlib call.
 #
-gdb_test "step" "solib_main .arg=10000. at.*${libfile}.c:17.*" \
+gdb_test "step" "solib_main .arg=10000. at.*${libfile}.c:${decimal}.* HERE .*" \
     "step into solib call"
 
 # Verify that we can step within the shlib call.
 #
-gdb_test "next" "18\[ \t\]*\}" "step in solib call"
+gdb_test "next" "${decimal}\[ \t\]*\}.* STEP .*" "step in solib call"
 
 # Verify that we can step out of the shlib call, and back out into
 # the caller.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/so-indr-cl.c ./gdb/testsuite/gdb.base/so-indr-cl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/so-indr-cl.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/so-indr-cl.c	2015-01-20 02:05:39.000000000 +0000
@@ -3,18 +3,10 @@
    */
 
 #include <stdio.h>
-#ifdef PROTOTYPES
 extern "C" int solib_main (int);
 
 static int
 solib_wrapper (int (*function)(int))
-#else
-extern int solib_main (int);
-
-static int
-solib_wrapper (function)
-  int (*function)(int);
-#endif
 {
   return (*function)(100);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/so-indr-cl.exp ./gdb/testsuite/gdb.base/so-indr-cl.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/so-indr-cl.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/so-indr-cl.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib1.c ./gdb/testsuite/gdb.base/solib1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib1.c	2015-01-20 02:05:39.000000000 +0000
@@ -3,16 +3,10 @@
    the square of its integer argument.
    */
 #if defined(__cplusplus) || defined(__STDCPP__)
-extern "C" int
-solib_main (int arg)
-#else
-#ifdef PROTOTYPES
-int  solib_main (int arg)
-#else
-int  solib_main (arg)
-  int  arg;
-#endif
+extern "C"
 #endif
+int
+solib_main (int arg)
 {
-  return arg*arg;
-}
+  return arg*arg;		/* HERE */
+}				/* STEP */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib2.c ./gdb/testsuite/gdb.base/solib2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib2.c	2015-01-20 02:05:39.000000000 +0000
@@ -5,12 +5,7 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-#ifdef PROTOTYPES
 int  solib_main (int  arg)
-#else
-int  solib_main (arg)
-  int  arg;
-#endif
 {
   return arg*arg*arg;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-corrupted.exp ./gdb/testsuite/gdb.base/solib-corrupted.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-corrupted.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-corrupted.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-disc.c ./gdb/testsuite/gdb.base/solib-disc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-disc.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-disc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-disc.exp ./gdb/testsuite/gdb.base/solib-disc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-disc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-disc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-display.exp ./gdb/testsuite/gdb.base/solib-display.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-display.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-display.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-display-lib.c ./gdb/testsuite/gdb.base/solib-display-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-display-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-display-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-display-main.c ./gdb/testsuite/gdb.base/solib-display-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-display-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-display-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib.exp ./gdb/testsuite/gdb.base/solib.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-nodir.exp ./gdb/testsuite/gdb.base/solib-nodir.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-nodir.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-nodir.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-overlap.exp ./gdb/testsuite/gdb.base/solib-overlap.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-overlap.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-overlap.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
@@ -31,8 +31,7 @@ if [skip_shlib_tests] {
     return 0
 }
 
-# Are we on a target board?  It is required for attaching to a process.
-if [is_remote target] {
+if {![can_spawn_for_attach]} {
     return 0
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-overlap-lib.c ./gdb/testsuite/gdb.base/solib-overlap-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-overlap-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-overlap-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-overlap-main.c ./gdb/testsuite/gdb.base/solib-overlap-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-overlap-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-overlap-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search.c ./gdb/testsuite/gdb.base/solib-search.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-search.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search.exp ./gdb/testsuite/gdb.base/solib-search.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-search.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search.h ./gdb/testsuite/gdb.base/solib-search.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-search.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search-lib1.c ./gdb/testsuite/gdb.base/solib-search-lib1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search-lib1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-search-lib1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search-lib2.c ./gdb/testsuite/gdb.base/solib-search-lib2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-search-lib2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-search-lib2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-symbol.exp ./gdb/testsuite/gdb.base/solib-symbol.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-symbol.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-symbol.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-symbol-lib.c ./gdb/testsuite/gdb.base/solib-symbol-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-symbol-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-symbol-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2007-2014 Free Software Foundation, Inc.
+/* Copyright 2007-2015 Free Software Foundation, Inc.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-symbol-main.c ./gdb/testsuite/gdb.base/solib-symbol-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-symbol-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-symbol-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2007-2014 Free Software Foundation, Inc.
+/* Copyright 2007-2015 Free Software Foundation, Inc.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-weak.c ./gdb/testsuite/gdb.base/solib-weak.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-weak.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-weak.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+extern void foo (void);
+
 int
 main()
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-weak.exp ./gdb/testsuite/gdb.base/solib-weak.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/solib-weak.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/solib-weak.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2006-2014 Free Software Foundation, Inc.
+#   Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-dir.exp ./gdb/testsuite/gdb.base/source-dir.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-dir.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source-dir.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-error.gdb ./gdb/testsuite/gdb.base/source-error.gdb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-error.gdb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source-error.gdb	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-execution.c ./gdb/testsuite/gdb.base/source-execution.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-execution.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source-execution.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-execution.exp ./gdb/testsuite/gdb.base/source-execution.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-execution.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source-execution.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-execution.gdb ./gdb/testsuite/gdb.base/source-execution.gdb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-execution.gdb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source-execution.gdb	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source.exp ./gdb/testsuite/gdb.base/source.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-nofile.gdb ./gdb/testsuite/gdb.base/source-nofile.gdb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-nofile.gdb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source-nofile.gdb	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-test.gdb ./gdb/testsuite/gdb.base/source-test.gdb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/source-test.gdb	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source-test.gdb	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c ./gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp ./gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -53,7 +53,7 @@ delete_breakpoints
 # traffic.  Hardware-step targets that can't access memory while the
 # target is running, either remote or native, are likewise affected.
 # So we just skip the test if not using software single-stepping.  We
-# detect that by looking for 'target_resume (..., step)' in "debug
+# detect that by looking for 'to_resume (..., step)' in "debug
 # target" output.
 
 # Probe for software single-step breakpoint use.
@@ -62,7 +62,7 @@ gdb_test_no_output "set debug target 1"
 set hardware_step 0
 set test "probe target hardware step"
 gdb_test_multiple "si" $test {
-    -re "target_resume \\(\[^\r\n\]+, step, .*$gdb_prompt $" {
+    -re "to_resume \\(\[^\r\n\]+, step, .*$gdb_prompt $" {
 	set hardware_step 1
 	pass $test
     }
@@ -76,7 +76,7 @@ if { $hardware_step } {
     return
 }
 
-gdb_test_no_output "set debug target 0"
+gdb_test "set debug target 0" "->to_log_command.*\\)"
 
 set line_re "\[^\r\n\]*"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sss-bp-on-user-bp.c ./gdb/testsuite/gdb.base/sss-bp-on-user-bp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sss-bp-on-user-bp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sss-bp-on-user-bp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp ./gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stack-checking.c ./gdb/testsuite/gdb.base/stack-checking.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stack-checking.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/stack-checking.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stack-checking.exp ./gdb/testsuite/gdb.base/stack-checking.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stack-checking.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/stack-checking.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stale-infcall.c ./gdb/testsuite/gdb.base/stale-infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stale-infcall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/stale-infcall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stale-infcall.exp ./gdb/testsuite/gdb.base/stale-infcall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stale-infcall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/stale-infcall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stap-probe.c ./gdb/testsuite/gdb.base/stap-probe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stap-probe.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/stap-probe.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stap-probe.exp ./gdb/testsuite/gdb.base/stap-probe.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/stap-probe.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/stap-probe.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/start.c ./gdb/testsuite/gdb.base/start.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/start.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/start.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/start.exp ./gdb/testsuite/gdb.base/start.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/start.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/start.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/statistics.exp ./gdb/testsuite/gdb.base/statistics.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/statistics.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/statistics.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-break.c ./gdb/testsuite/gdb.base/step-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-break.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-break.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-break.exp ./gdb/testsuite/gdb.base/step-break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-break.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-break.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-bt.c ./gdb/testsuite/gdb.base/step-bt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-bt.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-bt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-bt.exp ./gdb/testsuite/gdb.base/step-bt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-bt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-bt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,19 +29,7 @@ gdb_test "break *hello" \
          "breakpoint at first instruction of hello()"
 
 gdb_run_cmd
-gdb_expect {
-    -re ".*Breakpoint.* hello .* at .*$srcfile:.*$gdb_prompt $"  {
-	pass "run to hello()"
-    }
-    -re ".*$gdb_prompt $" {
-	fail "run to hello()"
-	return -1
-    }
-    timeout {
-        fail "run to hello() (timeout)"
-        return -1
-    }
-}
+gdb_test "" "Breakpoint.* hello .* at .*$srcfile:.*" "run to hello()"
 
 gdb_test "stepi" \
          ".*" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-line.c ./gdb/testsuite/gdb.base/step-line.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-line.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-line.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Test step/next in presence of #line directives.
-   Copyright (C) 2001-2014
+   Copyright (C) 2001-2015
    Free Software Foundation, Inc.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-line.exp ./gdb/testsuite/gdb.base/step-line.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-line.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-line.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2001-2014 Free Software Foundation, Inc.
+# Copyright 2001-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -82,6 +82,4 @@ gdb_test "next" \
          ".*RETURN \\(j\\);.*" \
 	 "next over dummy 10"
 
-remote_file host delete ${remote_linefile}
-
 return 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-line.inp ./gdb/testsuite/gdb.base/step-line.inp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-line.inp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-line.inp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Test step/next in presence of #line directives
-# Copyright (C) 2001-2014
+# Copyright (C) 2001-2015
 # Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-resume-infcall.c ./gdb/testsuite/gdb.base/step-resume-infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-resume-infcall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-resume-infcall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-resume-infcall.exp ./gdb/testsuite/gdb.base/step-resume-infcall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-resume-infcall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-resume-infcall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.c ./gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,50 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* An instruction with the same length as decr_pc_after_break.  This
+   is 1-byte on x86.  */
+#define INSN asm ("nop")
+
+void
+test_user_bp (void)
+{
+  INSN; /* break for user-bp test here */
+  INSN; /* insn1 */
+  INSN; /* insn2 */
+  INSN; /* insn3 */
+}
+
+void
+foo (void)
+{
+}
+
+void
+test_step_resume (void)
+{
+  foo (); /* break for step-resume test here */
+  INSN; /* insn1 */
+  INSN; /* insn2 */
+}
+
+int
+main (void)
+{
+  test_user_bp ();
+  test_step_resume ();
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp ./gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,94 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test tstepping an instruction just as long as decr_pc_after_break
+# after removing a breakpoint at PC.  GDB used to get confused with
+# this in non-stop mode, and adjust the PC incorrectly.  PR gdb/12623.
+
+standard_testfile
+
+if [build_executable "failed to build" ${testfile} ${srcfile} {debug}] {
+    return -1
+}
+
+set linenum_for_user_bp [gdb_get_line_number "break for user-bp test here"]
+set linenum_for_step_resume [gdb_get_line_number "break for step-resume test here"]
+
+proc test {non_stop displaced always_inserted} {
+    global binfile
+    global linenum_for_user_bp
+    global linenum_for_step_resume
+
+    clean_restart $binfile
+
+    gdb_test_no_output "set non-stop $non_stop"
+    gdb_test_no_output "set displaced-stepping $displaced"
+    gdb_test_no_output "set breakpoint always-inserted $always_inserted"
+
+    if ![runto_main] {
+	return -1
+    }
+
+    with_test_prefix "user bp" {
+	delete_breakpoints
+
+	gdb_breakpoint $linenum_for_user_bp
+	gdb_continue_to_breakpoint "continue to breakpoint"
+
+	# If breakpoint always-inserted is on, this makes the location
+	# moribund.
+	delete_breakpoints
+
+	gdb_test "si" "INSN.*insn1.*" "si advances"
+    }
+
+    with_test_prefix "step-resume" {
+	delete_breakpoints
+
+	gdb_breakpoint $linenum_for_step_resume
+	gdb_continue_to_breakpoint "continue to breakpoint"
+
+	gdb_test "next" "insn1.*"
+
+	# We're now stopped where the step-resume breakpoint for the
+	# previous "next" was.  That breakpoint was removed and is now
+	# on the moribund locations list.
+	gdb_test "si" "INSN.*insn2.*" "si advances"
+
+	delete_breakpoints
+    }
+}
+
+# Wrapper for foreach that calls with_test_prefix on each iteration,
+# including the iterator's current value in the prefix.
+
+proc foreach_with_prefix {var list body} {
+    upvar 1 $var myvar
+    foreach myvar $list {
+	with_test_prefix "$var=$myvar" {
+	    uplevel 1 $body
+	}
+    }
+}
+
+foreach_with_prefix non_stop { "off" "on" } {
+    foreach_with_prefix displaced_step { "off" "on" } {
+	foreach_with_prefix always_inserted { "off" "on" } {
+	    test $non_stop $displaced_step $always_inserted
+	}
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-symless.c ./gdb/testsuite/gdb.base/step-symless.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-symless.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-symless.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-symless.exp ./gdb/testsuite/gdb.base/step-symless.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-symless.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-symless.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-test.exp ./gdb/testsuite/gdb.base/step-test.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/step-test.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-test.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/store.exp ./gdb/testsuite/gdb.base/store.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/store.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/store.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs2.exp ./gdb/testsuite/gdb.base/structs2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/structs2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs3.c ./gdb/testsuite/gdb.base/structs3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs3.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/structs3.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs3.exp ./gdb/testsuite/gdb.base/structs3.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs3.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/structs3.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs.c ./gdb/testsuite/gdb.base/structs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/structs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1996-2014 Free Software Foundation, Inc.
+   Copyright 1996-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -193,169 +193,80 @@ struct struct18 fun18()
   return foo18; 
 }
 
-#ifdef PROTOTYPES
 void Fun1(struct struct1 foo1)
-#else
-void Fun1(foo1)
-     struct struct1 foo1;
-#endif
 {
   L1 = foo1;
 }
-#ifdef PROTOTYPES
 void Fun2(struct struct2 foo2)
-#else
-void Fun2(foo2)
-     struct struct2 foo2;
-#endif
 {
   L2 = foo2;
 }
-#ifdef PROTOTYPES
 void Fun3(struct struct3 foo3)
-#else
-void Fun3(foo3)
-     struct struct3 foo3;
-#endif
 {
   L3 = foo3;
 }
-#ifdef PROTOTYPES
 void Fun4(struct struct4 foo4)
-#else
-void Fun4(foo4)
-     struct struct4 foo4;
-#endif
 {
   L4 = foo4;
 }
-#ifdef PROTOTYPES
 void Fun5(struct struct5 foo5)
-#else
-void Fun5(foo5)
-     struct struct5 foo5;
-#endif
 {
   L5 = foo5;
 }
-#ifdef PROTOTYPES
 void Fun6(struct struct6 foo6)
-#else
-void Fun6(foo6)
-     struct struct6 foo6;
-#endif
 {
   L6 = foo6;
 }
-#ifdef PROTOTYPES
 void Fun7(struct struct7 foo7)
-#else
-void Fun7(foo7)
-     struct struct7 foo7;
-#endif
 {
   L7 = foo7;
 }
-#ifdef PROTOTYPES
 void Fun8(struct struct8 foo8)
-#else
-void Fun8(foo8)
-     struct struct8 foo8;
-#endif
 {
   L8 = foo8;
 }
-#ifdef PROTOTYPES
 void Fun9(struct struct9 foo9)
-#else
-void Fun9(foo9)
-     struct struct9 foo9;
-#endif
 {
   L9 = foo9;
 }
-#ifdef PROTOTYPES
 void Fun10(struct struct10 foo10)
-#else
-void Fun10(foo10)
-     struct struct10 foo10;
-#endif
 {
   L10 = foo10; 
 }
-#ifdef PROTOTYPES
 void Fun11(struct struct11 foo11)
-#else
-void Fun11(foo11)
-     struct struct11 foo11;
-#endif
 {
   L11 = foo11; 
 }
-#ifdef PROTOTYPES
 void Fun12(struct struct12 foo12)
-#else
-void Fun12(foo12)
-     struct struct12 foo12;
-#endif
 {
   L12 = foo12; 
 }
-#ifdef PROTOTYPES
 void Fun13(struct struct13 foo13)
-#else
-void Fun13(foo13)
-     struct struct13 foo13;
-#endif
 {
   L13 = foo13; 
 }
-#ifdef PROTOTYPES
 void Fun14(struct struct14 foo14)
-#else
-void Fun14(foo14)
-     struct struct14 foo14;
-#endif
 {
   L14 = foo14; 
 }
-#ifdef PROTOTYPES
 void Fun15(struct struct15 foo15)
-#else
-void Fun15(foo15)
-     struct struct15 foo15;
-#endif
 {
   L15 = foo15; 
 }
-#ifdef PROTOTYPES
 void Fun16(struct struct16 foo16)
-#else
-void Fun16(foo16)
-     struct struct16 foo16;
-#endif
 {
   L16 = foo16; 
 }
-#ifdef PROTOTYPES
 void Fun17(struct struct17 foo17)
-#else
-void Fun17(foo17)
-     struct struct17 foo17;
-#endif
 {
   L17 = foo17; 
 }
-#ifdef PROTOTYPES
 void Fun18(struct struct18 foo18)
-#else
-void Fun18(foo18)
-     struct struct18 foo18;
-#endif
 {
   L18 = foo18; 
 }
 
+void
 zed ()
 {
 
@@ -425,12 +336,14 @@ int main()
   Fun17(foo17);
   Fun18(foo18);
 
-  /* An infinite loop that first clears all the variables and then
+  /* An (almost-)infinite loop that first clears all the variables and then
      calls each function.  This "hack" is to make testing random
      functions easier - "advance funN" is guaranteed to have always
-     been preceded by a global variable clearing zed call.  */
+     been preceded by a global variable clearing zed call.
+     We don't let this run forever in case gdb crashes while testing,
+     we don't want to be left eating all cpu on the user's system.  */
 
-  while (1)
+  for (i = 0; i < 1000000; ++i)
     {
       zed ();
       L1  = fun1();	
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs.exp ./gdb/testsuite/gdb.base/structs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/structs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/structs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1996-2014 Free Software Foundation, Inc.
+# Copyright 1996-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/subst.exp ./gdb/testsuite/gdb.base/subst.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/subst.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/subst.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sum.c ./gdb/testsuite/gdb.base/sum.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sum.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sum.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,14 +1,9 @@
 /* This is a sample program for the HP/DDE debugger. */
 #include <stdio.h>
 
-#ifdef PROTOTYPES
 int sum(int *list, int low, int high)
-#else
-int sum(list, low, high)
-int *list, low, high;
-#endif
     {
-        int i = 0, s = 0;
+        int i = 0, s = 0;	/* stop-in-sum */
         for (i = low; i <= high; i++)
             s += list[i];
         return(s);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symbol-without-target_section.c ./gdb/testsuite/gdb.base/symbol-without-target_section.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symbol-without-target_section.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/symbol-without-target_section.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symbol-without-target_section.exp ./gdb/testsuite/gdb.base/symbol-without-target_section.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symbol-without-target_section.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/symbol-without-target_section.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file.exp ./gdb/testsuite/gdb.base/sym-file.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sym-file.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file-lib.c ./gdb/testsuite/gdb.base/sym-file-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sym-file-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file-loader.c ./gdb/testsuite/gdb.base/sym-file-loader.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file-loader.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sym-file-loader.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file-loader.h ./gdb/testsuite/gdb.base/sym-file-loader.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file-loader.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sym-file-loader.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file-main.c ./gdb/testsuite/gdb.base/sym-file-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/sym-file-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/sym-file-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symtab-search-order-1.c ./gdb/testsuite/gdb.base/symtab-search-order-1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symtab-search-order-1.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/symtab-search-order-1.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,18 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+static int static_global = 23;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symtab-search-order.c ./gdb/testsuite/gdb.base/symtab-search-order.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symtab-search-order.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/symtab-search-order.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+extern int shlib_1_func (void);
+
+int
+main ()
+{
+  /* We need a reference to shlib_1_func to make sure its shlib is
+     not discarded from the link.  This happens on windows.  */
+  int x = shlib_1_func ();
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symtab-search-order.exp ./gdb/testsuite/gdb.base/symtab-search-order.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symtab-search-order.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/symtab-search-order.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,59 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+if {[skip_shlib_tests]} {
+    return 0
+}
+
+standard_testfile .c symtab-search-order-1.c symtab-search-order-shlib-1.c
+set srcfile  $srcdir/$subdir/$srcfile
+set srcfile2 $srcdir/$subdir/$srcfile2
+set lib1src  $srcdir/$subdir/$srcfile3
+set lib1     [standard_output_file symtab-search-order-1.sl]
+
+set lib_opts "debug"
+set exec_opts [list debug shlib=$lib1]
+
+if [get_compiler_info] {
+    return -1
+}
+
+if { [gdb_compile_shlib $lib1src $lib1 $lib_opts] != ""
+     || [gdb_compile [list $srcfile $srcfile2] $binfile executable \
+	     $exec_opts] != ""} {
+    untested "Could not compile $lib1, or $srcfile."
+    return -1
+}
+
+# Start with a fresh gdb.
+
+clean_restart $binfile
+gdb_load_shlibs $lib1
+
+if ![runto_main] {
+    fail "Can't run to main"
+    return -1
+}
+
+# PR 17564
+# Expand something in the shared library,
+# and then try to print static_global in the binary.
+# We should get the static_global in the binary.
+# Note: static_global in the binary needs to be in a file
+# other than the one with "main" because gdb will expand
+# the symtab with main when starting.
+
+gdb_test "p shlib_1_func" "= .*<shlib_1_func>"
+gdb_test "p static_global" " = 23"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symtab-search-order-shlib-1.c ./gdb/testsuite/gdb.base/symtab-search-order-shlib-1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/symtab-search-order-shlib-1.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/symtab-search-order-shlib-1.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+static int static_global = 42;
+
+int
+shlib_1_func (void)
+{
+  return static_global;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/term.c ./gdb/testsuite/gdb.base/term.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/term.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/term.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/term.exp ./gdb/testsuite/gdb.base/term.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/term.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/term.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1988-2014 Free Software Foundation, Inc.
+#   Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/testenv.c ./gdb/testsuite/gdb.base/testenv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/testenv.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/testenv.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,6 +22,7 @@
     inferior environment list.  */
 
 #include <stdio.h>
+#include <string.h>
 
 int main (int argc, char **argv, char **envp)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/testenv.exp ./gdb/testsuite/gdb.base/testenv.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/testenv.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/testenv.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/trace-commands.exp ./gdb/testsuite/gdb.base/trace-commands.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/trace-commands.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/trace-commands.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/tui-layout.exp ./gdb/testsuite/gdb.base/tui-layout.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/tui-layout.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/tui-layout.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/twice.exp ./gdb/testsuite/gdb.base/twice.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/twice.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/twice.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1997-2014 Free Software Foundation, Inc.
+#   Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/type-opaque.exp ./gdb/testsuite/gdb.base/type-opaque.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/type-opaque.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/type-opaque.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/type-opaque-lib.c ./gdb/testsuite/gdb.base/type-opaque-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/type-opaque-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/type-opaque-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test resolving of an opaque type from the loaded shared library.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/type-opaque-main.c ./gdb/testsuite/gdb.base/type-opaque-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/type-opaque-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/type-opaque-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test resolving of an opaque type from the loaded shared library.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ui-redirect.exp ./gdb/testsuite/gdb.base/ui-redirect.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/ui-redirect.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ui-redirect.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unload.c ./gdb/testsuite/gdb.base/unload.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unload.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/unload.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unload.exp ./gdb/testsuite/gdb.base/unload.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unload.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/unload.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2003-2014 Free Software Foundation, Inc.
+#   Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unloadshr2.c ./gdb/testsuite/gdb.base/unloadshr2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unloadshr2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/unloadshr2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unloadshr.c ./gdb/testsuite/gdb.base/unloadshr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unloadshr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/unloadshr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/until.exp ./gdb/testsuite/gdb.base/until.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/until.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/until.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/until-nodebug.exp ./gdb/testsuite/gdb.base/until-nodebug.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/until-nodebug.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/until-nodebug.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unwindonsignal.c ./gdb/testsuite/gdb.base/unwindonsignal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unwindonsignal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/unwindonsignal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unwindonsignal.exp ./gdb/testsuite/gdb.base/unwindonsignal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/unwindonsignal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/unwindonsignal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/valgrind-db-attach.c ./gdb/testsuite/gdb.base/valgrind-db-attach.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/valgrind-db-attach.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/valgrind-db-attach.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/valgrind-db-attach.exp ./gdb/testsuite/gdb.base/valgrind-db-attach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/valgrind-db-attach.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/valgrind-db-attach.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/valgrind-infcall.c ./gdb/testsuite/gdb.base/valgrind-infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/valgrind-infcall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/valgrind-infcall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/valgrind-infcall.exp ./gdb/testsuite/gdb.base/valgrind-infcall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/valgrind-infcall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/valgrind-infcall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/value-double-free.c ./gdb/testsuite/gdb.base/value-double-free.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/value-double-free.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/value-double-free.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/value-double-free.exp ./gdb/testsuite/gdb.base/value-double-free.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/value-double-free.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/value-double-free.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/varargs.exp ./gdb/testsuite/gdb.base/varargs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/varargs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/varargs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -112,15 +112,12 @@ if [support_complex_tests] {
     global gdb_prompt
 
     set test "print find_max_float_real(4, fc1, fc2, fc3, fc4)"
-    setup_kfail gdb/12791 "arm*-*-*"
     gdb_test $test ".*= 4 \\+ 4 \\* I" $test
 
     set test "print find_max_double_real(4, dc1, dc2, dc3, dc4)"
-    setup_kfail gdb/12791 "arm*-*-*"
     gdb_test $test ".*= 4 \\+ 4 \\* I" $test
 
     set test "print find_max_long_double_real(4, ldc1, ldc2, ldc3, ldc4)"
-    setup_kfail gdb/12791 "arm*-*-*"
     gdb_test $test ".*= 4 \\+ 4 \\* I" $test
 
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vdso-warning.c ./gdb/testsuite/gdb.base/vdso-warning.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vdso-warning.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vdso-warning.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int
+main (void)
+{
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vdso-warning.exp ./gdb/testsuite/gdb.base/vdso-warning.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vdso-warning.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vdso-warning.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,54 @@
+# Copyright 2012-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+standard_testfile
+
+if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile] } {
+    return -1
+}
+
+gdb_breakpoint "main"
+
+# At least some versions of Fedora/RHEL glibc have local patches that
+# hide the vDSO.  This lines re-exposes it.  See PR libc/13097,
+# comment 2.  There's no support for passing environment variables in
+# the remote protocol, but that's OK -- if we're testing against a
+# glibc that doesn't list the vDSO without this, the test should still
+# pass.
+gdb_test_no_output "set environment LD_DEBUG=unused"
+
+gdb_run_cmd
+
+set test "stop without warning"
+gdb_test_multiple "" $test {
+    -re "Could not load shared library symbols .*\r\n$gdb_prompt $" {
+	fail $test
+    }
+    -re "\r\nBreakpoint \[0-9\]+, main .*\r\n$gdb_prompt $" {
+	pass $test
+    }
+}
+
+# Extra testing in case the warning changes and we miss updating the
+# above.
+set test "no vdso without symbols is listed"
+gdb_test_multiple "info shared" $test {
+    -re "No\[^\r\n\]+linux-(vdso|gate).*$gdb_prompt $" {
+	fail $test
+    }
+    -re "$gdb_prompt $" {
+	pass $test
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vforked-prog.c ./gdb/testsuite/gdb.base/vforked-prog.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vforked-prog.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vforked-prog.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1997-2014 Free Software Foundation, Inc.
+   Copyright 1997-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,11 +17,7 @@
 
 #include <stdio.h>
 
-#ifdef PROTOTYPES
 int main (void)
-#else
-main()
-#endif
 {
   printf("Hello from vforked-prog...\n");
   return 0;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-datatypes.c ./gdb/testsuite/gdb.base/vla-datatypes.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-datatypes.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vla-datatypes.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -100,6 +100,7 @@ vla_factory (int n)
   size_t bar_size        = sizeof(bar_vla);
   size_t vla_struct_object_size = sizeof(vla_struct_object);
   size_t vla_union_object_size = sizeof(vla_union_object);
+  size_t inner_vla_struct_object_size = sizeof(inner_vla_struct_object);
 
   return;                                 /* break_end_of_vla_factory */
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-datatypes.exp ./gdb/testsuite/gdb.base/vla-datatypes.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-datatypes.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vla-datatypes.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -152,6 +152,8 @@ gdb_test "whatis ++int_vla\[0\]" "type =
 gdb_test "print int_vla\[0\]" " = 42" \
          "print int_vla\[0\] - whatis no side effects"
 
-# This gives an error for now.
-gdb_test "print sizeof(inner_vla_struct_object)" \
-    "appears in the interior of a structure type"
+# Fails due to incorrect debugging information generated by GCC.
+setup_xfail "*-*-*"
+gdb_test \
+    "print inner_vla_struct_object_size == sizeof(inner_vla_struct_object)" \
+    " = 1" "size of inner_vla_struct_object"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-ptr.c ./gdb/testsuite/gdb.base/vla-ptr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-ptr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vla-ptr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-ptr.exp ./gdb/testsuite/gdb.base/vla-ptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-ptr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vla-ptr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-sideeffect.c ./gdb/testsuite/gdb.base/vla-sideeffect.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-sideeffect.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vla-sideeffect.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-sideeffect.exp ./gdb/testsuite/gdb.base/vla-sideeffect.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-sideeffect.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vla-sideeffect.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-stub.c ./gdb/testsuite/gdb.base/vla-stub.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-stub.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vla-stub.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-stub-define.c ./gdb/testsuite/gdb.base/vla-stub-define.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-stub-define.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vla-stub-define.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-stub.exp ./gdb/testsuite/gdb.base/vla-stub.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/vla-stub.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/vla-stub.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/volatile.exp ./gdb/testsuite/gdb.base/volatile.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/volatile.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/volatile.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -229,6 +229,30 @@ gdb_test "ptype vagary" "type = const vo
 local_compiler_xfail_check
 gdb_test "ptype vendor" "type = const volatile unsigned char \\* const volatile.*"
 
+# volatile arrays
+local_compiler_xfail_check
+gdb_test "ptype violent" "type = volatile char \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype violet" "type = volatile unsigned char \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vips" "type = volatile short( int)? \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype virgen" "type = volatile (unsigned short|short unsigned)( int)? \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vulgar" "type = volatile long( int)? \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vulture" "type = volatile (unsigned long|long unsigned)( int)? \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vilify" "type = volatile float \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype villar" "type = volatile double \\\[2\\\]"
+
+# const volatile arrays
+local_compiler_xfail_check
+gdb_test "ptype vindictive" "type = const volatile char \\\[2\\\]"
+local_compiler_xfail_check
+gdb_test "ptype vegetation" "type = const volatile unsigned char \\\[2\\\]"
+
 # test function parameters
 local_compiler_xfail_check
 local_compiler_xfail_check_2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-bitfields.c ./gdb/testsuite/gdb.base/watch-bitfields.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-bitfields.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-bitfields.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,54 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+struct foo
+{
+  unsigned long a:1;
+  unsigned char b:2;
+  unsigned long c:3;
+  char d:4;
+  int e:5;
+  char f:6;
+  int g:7;
+  long h:8;
+} q = { 0 };
+
+int
+main (void)
+{
+  q.a = 1;
+  q.b = 2;
+  q.c = 3;
+  q.d = 4;
+  q.e = 5;
+  q.f = 6;
+  q.g = -7;
+  q.h = -8;
+  q.a--;
+  q.h--;
+  q.c--;
+  q.b--;
+  q.e--;
+  q.d--;
+  q.c--;
+  q.f--;
+  q.g--;
+  q.h--;
+
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-bitfields.exp ./gdb/testsuite/gdb.base/watch-bitfields.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-bitfields.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-bitfields.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,81 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite
+
+standard_testfile
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
+    return -1
+}
+
+# Set a watchpoint watching EXPR.
+proc watch { expr } {
+    global decimal
+
+    set expr_re [string_to_regexp $expr]
+    gdb_test "watch $expr" \
+	"\(Hardware \)?\[Ww\]atchpoint $decimal: $expr_re"
+}
+
+# Continue inferior execution, expecting the watchpoint EXPR to be triggered
+# having old value OLD and new value NEW.
+proc expect_watchpoint { expr old new } {
+    with_test_prefix "$expr: $old->$new" {
+	set expr_re [string_to_regexp $expr]
+	gdb_test "print $expr" "\\$\\d+ = $old\\s" "print expression before"
+	gdb_test "continue" "$expr_re\\s.*Old value = $old\\s+New value = $new\\s.*"
+	gdb_test "print $expr" "\\$\\d+ = $new\\s" "print expression after"
+    }
+}
+
+# Check that -location watchpoints against bitfields trigger properly.
+proc test_watch_location {} {
+    with_test_prefix "-location watch against bitfields" {
+	if {![runto_main]} {
+	    return -1
+	}
+
+	watch "-location q.a"
+	watch "-location q.e"
+	expect_watchpoint "q.a" 0 1
+	expect_watchpoint "q.e" 0 5
+	expect_watchpoint "q.a" 1 0
+	expect_watchpoint "q.e" 5 4
+	gdb_continue_to_end
+    }
+}
+
+# Check that regular watchpoints against expressions involving
+# bitfields trigger properly.
+proc test_regular_watch {} {
+    with_test_prefix "regular watch against bitfields" {
+	if {![runto_main]} {
+	    return -1
+	}
+
+	watch "q.d + q.f + q.g"
+	expect_watchpoint "q.d + q.f + q.g" 0 4
+	expect_watchpoint "q.d + q.f + q.g" 4 10
+	expect_watchpoint "q.d + q.f + q.g" 10 3
+	expect_watchpoint "q.d + q.f + q.g" 3 2
+	expect_watchpoint "q.d + q.f + q.g" 2 1
+	expect_watchpoint "q.d + q.f + q.g" 1 0
+	gdb_continue_to_end
+    }
+}
+
+test_watch_location
+test_regular_watch
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-cond.c ./gdb/testsuite/gdb.base/watch-cond.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-cond.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-cond.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-cond.exp ./gdb/testsuite/gdb.base/watch-cond.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-cond.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-cond.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-cond-infcall.c ./gdb/testsuite/gdb.base/watch-cond-infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-cond-infcall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-cond-infcall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-cond-infcall.exp ./gdb/testsuite/gdb.base/watch-cond-infcall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-cond-infcall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-cond-infcall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-non-mem.c ./gdb/testsuite/gdb.base/watch-non-mem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-non-mem.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-non-mem.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-non-mem.exp ./gdb/testsuite/gdb.base/watch-non-mem.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-non-mem.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-non-mem.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint.c ./gdb/testsuite/gdb.base/watchpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -81,11 +81,7 @@ void marker6 ()
 {
 }
 
-#ifdef PROTOTYPES
 void recurser (int  x)
-#else
-void recurser (x) int  x;
-#endif
 {
   int  local_x = 0;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-cond-gone.c ./gdb/testsuite/gdb.base/watchpoint-cond-gone.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-cond-gone.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-cond-gone.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-cond-gone.exp ./gdb/testsuite/gdb.base/watchpoint-cond-gone.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-cond-gone.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-cond-gone.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-cond-gone-stripped.c ./gdb/testsuite/gdb.base/watchpoint-cond-gone-stripped.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-cond-gone-stripped.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-cond-gone-stripped.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-delete.c ./gdb/testsuite/gdb.base/watchpoint-delete.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-delete.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-delete.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-delete.exp ./gdb/testsuite/gdb.base/watchpoint-delete.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-delete.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-delete.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint.exp ./gdb/testsuite/gdb.base/watchpoint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-hw.c ./gdb/testsuite/gdb.base/watchpoint-hw.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-hw.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-hw.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-hw.exp ./gdb/testsuite/gdb.base/watchpoint-hw.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-hw.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-hw.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c ./gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@ main (void)
 {
   volatile int dummy;
 
-  /* Stub lines are present as no breakpoints/watchpoint gets hit if current PC
+  /* Stub lines are present as no breakpoint gets hit if current PC
      already stays on the line PC while entering "step"/"continue".  */
 
   dummy = 0;	/* Stub to catch WATCHEE access after runto_main.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp ./gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,7 +29,7 @@ if ![runto_main] {
 
 gdb_test "rwatch watchee"
 
-gdb_breakpoint [gdb_get_line_number "break-at-exit"]
+gdb_breakpoint [gdb_get_line_number "dummy = 2"]
 
 gdb_test "continue" "Continuing.\r\nHardware read watchpoint \[0-9\]+: watchee\r\n\r\nValue = 0\r\n.*"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-reuse-slot.c ./gdb/testsuite/gdb.base/watchpoint-reuse-slot.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-reuse-slot.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-reuse-slot.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp ./gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoints.c ./gdb/testsuite/gdb.base/watchpoints.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoints.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoints.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoints.exp ./gdb/testsuite/gdb.base/watchpoints.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoints.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoints.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-solib.c ./gdb/testsuite/gdb.base/watchpoint-solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-solib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-solib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-solib.exp ./gdb/testsuite/gdb.base/watchpoint-solib.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-solib.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-solib.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2007-2014 Free Software Foundation, Inc.
+#   Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -70,14 +70,22 @@ gdb_test_multiple "break foo" "set pendi
      }
 }
 
-set prev_timeout $timeout
-set timeout 120
-
 gdb_test "continue" ".*Breakpoint 2.*foo.*" "continue to foo"
 gdb_test "watch g" "atchpoint 3: g" "set watchpoint on g"
 gdb_test "continue" ".*New value = 1.*" "continue to watchpoint hit"
 rerun_to_main
+
+set savedtimeout $timeout
+if { [target_info exists gdb,timeout]
+     && $timeout < [target_info gdb,timeout] } {
+    set oldtimeout [target_info gdb,timeout]
+} else {
+    set oldtimeout $timeout
+}
+set timeout [expr $oldtimeout * 30]
+
 gdb_test "continue" ".*Breakpoint 2.*foo.*" "continue to foo again"
-gdb_test "continue" ".*New value = 1.*" "continue to watchpoint hit again"
 
-set timeout $prev_timeout
+set timeout $savedtimeout
+
+gdb_test "continue" ".*New value = 1.*" "continue to watchpoint hit again"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-solib-shr.c ./gdb/testsuite/gdb.base/watchpoint-solib-shr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-solib-shr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-solib-shr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.c ./gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,33 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+volatile int global;
+
+void
+set_global (int val)
+{
+  global = val;
+}
+
+int
+main (void)
+{
+  set_global (1);
+  set_global (2);
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.exp ./gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,177 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite.
+
+# Test that GDB presents a hardware watchpoint stop at the first
+# instruction right after the instruction that changes memory.
+#
+# Some targets trigger a hardware watchpoint after the instruction
+# that wrote memory executes, thus with the memory already changed and
+# the PC pointing to the instruction after the instruction that wrote
+# to memory.  These targets are said to have "continuable"
+# watchpoints, referring to the fact that to make progress after the
+# watchpoint triggers, GDB just needs to continue the target.
+#
+# Other targets trigger a hardware watchpoint at the instruction which
+# has attempted to write to the piece of memory under control of the
+# watchpoint, with the instruction actually not executed yet.  To be
+# able to check whether the watched value changed, GDB needs to
+# complete the memory write, single-stepping the target once.  These
+# targets are said to have "non-continuable" watchpoints.
+#
+# This test makes sure that GDB knows which kind of watchpoint the
+# target has, using this sequence of steps:
+#
+# 1 - run to main
+#
+# 2 - set a software watchpoint
+#
+# 3 - continue until watchpoint triggers
+#
+# 4 - the PC now points to the instruction right after the instruction
+#     that actually caused the memory write.  So this is the address a
+#     hardware watchpoint should present the stop to the user too.
+#     Store the PC address.
+#
+# 5 - replace the software watchpoint by a hardware watchpoint
+#
+# 6 - continue until hardware watchpoint triggers
+#
+# 7 - the PC must point to the same address the software watchpoint
+#     triggered at.
+#
+# If the target has continuable watchpoints, but GDB thinks it has
+# non-continuable watchpoints, GDB will stop the inferior two
+# instructions after the watched value change, rather than at the next
+# instruction.
+#
+# If the target has non-continuable watchpoints, while GDB thinks it
+# has continuable watchpoints, GDB will see a watchpoint trigger,
+# notice no value changed, and immediatly continue the target.  Now,
+# either the target manages to step-over the watchpoint transparently,
+# and GDB thus fails to present to value change to the user, or, the
+# watchpoint will keep re-triggering, with the program never making
+# any progress.
+
+standard_testfile
+
+# No use testing this if we can't use hardware watchpoints.
+if {[target_info exists gdb,no_hardware_watchpoints]} {
+    return -1
+}
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+    untested ${testfile}.exp
+    return -1
+}
+
+if { ![runto main] } then {
+    fail "run to main"
+    return
+}
+
+# Get the current PC.  TEST is used as test prefix.
+
+proc get_pc {test} {
+    global hex gdb_prompt
+
+    set addr ""
+    gdb_test_multiple "p /x \$pc" "$test" {
+	-re " = ($hex).*$gdb_prompt $" {
+	    set addr $expect_out(1,string)
+	    pass "$test"
+	}
+    }
+
+    return $addr
+}
+
+# So we get an immediate warning/error if the target doesn't support a
+# given watchpoint type.
+gdb_test_no_output "set breakpoint always-inserted on"
+
+set hw_watchpoints_supported 0
+
+set test "set probe hw watchpoint"
+gdb_test_multiple "watch global" $test {
+    -re "You may have requested too many.*$gdb_prompt $" {
+	pass $test
+    }
+    -re "Target does not support.*$gdb_prompt $" {
+	pass $test
+    }
+    -re "$gdb_prompt $" {
+	pass $test
+	set hw_watchpoints_supported 1
+    }
+}
+
+if {!$hw_watchpoints_supported} {
+    unsupported "no hw watchpoints support"
+    return
+}
+
+delete_breakpoints
+
+proc test {always_inserted} {
+    global srcfile binfile
+
+    with_test_prefix "always-inserted $always_inserted" {
+
+	clean_restart $binfile
+
+	if { ![runto main] } then {
+	    fail "run to main"
+	    return
+	}
+
+	# Force use of software watchpoints.
+	gdb_test_no_output "set can-use-hw-watchpoints 0"
+
+	gdb_test "watch global" \
+	    "Watchpoint .*: global" \
+	    "set software watchpoint on global variable"
+
+	gdb_test "continue" \
+	    "Watchpoint .*: global.*Old value = 0.*New value = 1.*set_global \\(val=1\\).*$srcfile.*" \
+	    "software watchpoint triggers"
+
+	set sw_watch_pc [get_pc "get sw watchpoint PC"]
+
+	delete_breakpoints
+
+	# Allow hardware watchpoints again.
+	gdb_test_no_output "set can-use-hw-watchpoints 1"
+
+	gdb_test "watch global" \
+	    "Hardware watchpoint .*: global" \
+	    "set hardware watchpoint on global variable"
+
+	gdb_test "continue" \
+	    "Hardware watchpoint .*: global.*Old value = 1.*New value = 2.*set_global \\(val=2\\).*$srcfile.*" \
+	    "hardware watchpoint triggers"
+
+	set hw_watch_pc [get_pc "get hw watchpoint PC"]
+
+	gdb_assert {$sw_watch_pc == $hw_watch_pc} "hw watchpoint stops at right instruction"
+    }
+}
+
+foreach always_inserted {"off" "on" } {
+    test $always_inserted
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-read.c ./gdb/testsuite/gdb.base/watch-read.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-read.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-read.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-read.exp ./gdb/testsuite/gdb.base/watch-read.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-read.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-read.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch_thread_num.c ./gdb/testsuite/gdb.base/watch_thread_num.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch_thread_num.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch_thread_num.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Copyright 1992, 1993, 1994, 1995, 1999, 2002, 2003, 2007, 2008, 2009
    Free Software Foundation, Inc.
@@ -27,7 +27,11 @@
 
 void *thread_function (void *arg); /* Pointer to function executed by each thread */
 
-#define NUM 5
+static pthread_barrier_t threads_started_barrier;
+
+#define NUM 15
+
+static int num_threads = NUM;
 
 static unsigned int shared_var = 1;
 
@@ -37,6 +41,8 @@ int main () {
     void *thread_result;
     long i;
 
+    pthread_barrier_init (&threads_started_barrier, NULL, NUM + 1);
+
     for (i = 0; i < NUM; i++)
       {
         res = pthread_create (&threads[i],
@@ -45,18 +51,29 @@ int main () {
 			     (void *) i);
       }
 
-    thread_result = thread_function ((void *) i);
+    pthread_barrier_wait (&threads_started_barrier);
+
+    sleep (180); /* all threads started */
 
     exit (EXIT_SUCCESS);
 }
 
+void
+loop (void)
+{
+}
+
 void *thread_function (void *arg) {
     int my_number = (long) arg;
+
+    pthread_barrier_wait (&threads_started_barrier);
+
     /* Don't run forever.  Run just short of it :)  */
     while (shared_var > 0)
       {
         shared_var++;
 	usleep (1); /* Loop increment.  */
+	loop ();
       }
 
     pthread_exit (NULL);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch_thread_num.exp ./gdb/testsuite/gdb.base/watch_thread_num.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch_thread_num.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch_thread_num.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -47,12 +47,14 @@ if { ![runto main] } then {
 gdb_test "watch shared_var thread 0" "Unknown thread 0\." "Watchpoint on invalid thread"
 gdb_test "watch shared_var thread" "A syntax error in expression, near `thread'\." "Invalid watch syntax"
 
-gdb_test "Next 5" ".*"
+set bpexitline [gdb_get_line_number "all threads started"]
+gdb_breakpoint "$bpexitline"
+gdb_continue_to_breakpoint "all threads started"
 
-gdb_test "break thread_function" "Breakpoint \[0-9\].*" \
-  "Set breakpoint at thread_function"
+gdb_test "break loop" "Breakpoint \[0-9\].*" \
+  "Set breakpoint at loop"
 
-gdb_test "continue" ".*Breakpoint 2.*" "Stopped in thread_function"
+gdb_test "continue" ".*Breakpoint .*loop.*" "Stopped in loop"
 
 gdb_test_multiple "thread" "Thread command" {
     -re ".*Current thread is (\[0-9\]*).*$gdb_prompt $" {
@@ -62,15 +64,35 @@ gdb_test_multiple "thread" "Thread comma
 
 set thread_num "$expect_out(1,string)"
 
-gdb_test_no_output "disable 2" "Disable breakpoint 2"
-gdb_test "watch shared_var thread $thread_num" "Hardware watchpoint 3: shared_var" "Watchpoint on shared variable"
-gdb_test "info breakpoint 3" "stop only in thread $thread_num"
+delete_breakpoints
 
-for {set i 1} {$i <= 10} {incr i 1} {
+# We use an access watchpoint rather than a write watchpoint, because
+# GDB can drop the latter when multiple threads trigger events
+# simultaneously, on targets with continuable watchpoints, such as
+# x86.  See PR breakpoints/10116.
+
+gdb_test "awatch shared_var thread $thread_num" \
+    "Hardware access \\(read/write\\) watchpoint .*: shared_var.*" \
+    "Watchpoint on shared variable"
+
+gdb_test "info breakpoint \$bpnum" \
+    "stop only in thread $thread_num" \
+    "info breakpoint shows watchpoint is thread-specific"
+
+for {set i 1} {$i <= 5} {incr i} {
     set watchpoint "Watchpoint triggered iteration $i"
     set check "Check thread that triggered iteration $i"
 
-    gdb_test "continue" "Hardware watchpoint 3: shared_var.*" $watchpoint
+    set test $watchpoint
+    gdb_test_multiple "continue" $test {
+	-re "infrun:" {
+	    # Avoid timeouts when debugging GDB.
+	    exp_continue
+	}
+	-re "Hardware access \\(read/write\\) watchpoint .*: shared_var.*$gdb_prompt $" {
+	    pass $test
+	}
+    }
     gdb_test "thread" ".*Current thread is $thread_num .*" $check
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-vfork.c ./gdb/testsuite/gdb.base/watch-vfork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-vfork.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-vfork.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-vfork.exp ./gdb/testsuite/gdb.base/watch-vfork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/watch-vfork.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/watch-vfork.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/wchar.c ./gdb/testsuite/gdb.base/wchar.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/wchar.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/wchar.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/wchar.exp ./gdb/testsuite/gdb.base/wchar.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/wchar.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/wchar.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -37,6 +37,20 @@ gdb_test "print simple\[2\]" "= 99 L'c'"
 gdb_test "print difficile\[2\]" "= 65261 L'\\\\xfeed'"
 
 set cent "\\\\242"
+
+set test "show host-charset"
+gdb_test_multiple $test $test {
+   -re "CP1252\".*\r\n$gdb_prompt $" {
+       # With Windows code page 1252 (Latin 1), the cent
+       # is printable.
+	set cent "\u00A2"
+	pass $test
+   }
+   -re "$gdb_prompt $" {
+	pass $test
+   }
+}
+
 gdb_test "print repeat" "= L\"A\", '$cent' <repeats 21 times>, \"B.*"
 
 global hex
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/weaklib1.c ./gdb/testsuite/gdb.base/weaklib1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/weaklib1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/weaklib1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include <stdio.h>
+
 void __attribute__((weak))
 bar (void)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/weaklib2.c ./gdb/testsuite/gdb.base/weaklib2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/weaklib2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/weaklib2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include <stdio.h>
+
 void bar (void);
 void
 foo (void)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/whatis.c ./gdb/testsuite/gdb.base/whatis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/whatis.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/whatis.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, the GNU debugger.
 
-   Copyright 1992-2014 Free Software Foundation, Inc.
+   Copyright 1992-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/whatis.exp ./gdb/testsuite/gdb.base/whatis.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/whatis.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/whatis.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1988-2014 Free Software Foundation, Inc.
+# Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -44,14 +44,14 @@ clean_restart $binfile
 
 # Define a procedure to set up an xfail for all targets that put out a
 # `long' type as an `int' type.
-# Sun/Ultrix cc have this problem.
+# Sun cc has this problem.
 # It was said that COFF targets can not distinguish int from long either.
 
 proc setup_xfail_on_long_vs_int {} {
     global gcc_compiled
 
     if {!$gcc_compiled} {
-	setup_xfail "*-sun-sunos4*" "*-*-ultrix*" "i*86-sequent-bsd*"
+	setup_xfail "*-sun-sunos4*" "i*86-sequent-bsd*"
     }
 }
 
@@ -67,7 +67,6 @@ gdb_test "whatis v_char" \
     "type = (unsigned char|char)" \
     "whatis char"
 
-if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" }
 gdb_test "whatis v_signed_char" \
     "type = (signed char|char)" \
     "whatis signed char"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/whatis-exp.exp ./gdb/testsuite/gdb.base/whatis-exp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.base/whatis-exp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/whatis-exp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/data.c ./gdb/testsuite/gdb.btrace/data.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/data.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/data.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/data.exp ./gdb/testsuite/gdb.btrace/data.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/data.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/data.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/delta.exp ./gdb/testsuite/gdb.btrace/delta.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/delta.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/delta.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/enable.c ./gdb/testsuite/gdb.btrace/enable.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/enable.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/enable.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <christian.himpel@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/enable.exp ./gdb/testsuite/gdb.btrace/enable.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/enable.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/enable.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <christian.himpel@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/exception.cc ./gdb/testsuite/gdb.btrace/exception.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/exception.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/exception.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/exception.exp ./gdb/testsuite/gdb.btrace/exception.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/exception.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/exception.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/finish.exp ./gdb/testsuite/gdb.btrace/finish.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/finish.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/finish.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/function_call_history.c ./gdb/testsuite/gdb.btrace/function_call_history.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/function_call_history.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/function_call_history.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <christian.himpel@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/function_call_history.exp ./gdb/testsuite/gdb.btrace/function_call_history.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/function_call_history.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/function_call_history.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <christian.himpel@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/gcore.exp ./gdb/testsuite/gdb.btrace/gcore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/gcore.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/gcore.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,41 @@
+# This testcase is part of GDB, the GNU debugger.
+#
+# Copyright 2014-2015 Free Software Foundation, Inc.
+#
+# Contributed by Intel Corp. <markus.t.metzger@intel.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# check for btrace support
+if { [skip_btrace_tests] } { return -1 }
+
+# start inferior
+standard_testfile x86-record_goto.S
+if [prepare_for_testing gcore.exp $testfile $srcfile] {
+    return -1
+}
+
+if ![runto_main] {
+    return -1
+}
+
+# trace the call to the test function
+gdb_test_no_output "record btrace"
+gdb_test "next" ".*main\.3.*"
+
+# start replaying
+gdb_test "record goto begin" ".*main\.2.*"
+
+# generate a core file - this used to assert
+gdb_test "generate-core-file core" "Saved corefile core"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/instruction_history.c ./gdb/testsuite/gdb.btrace/instruction_history.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/instruction_history.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/instruction_history.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <christian.himpel@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/instruction_history.exp ./gdb/testsuite/gdb.btrace/instruction_history.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/instruction_history.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/instruction_history.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <christian.himpel@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/instruction_history.S ./gdb/testsuite/gdb.btrace/instruction_history.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/instruction_history.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/instruction_history.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <christian.himpel@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/multi-thread-step.c ./gdb/testsuite/gdb.btrace/multi-thread-step.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/multi-thread-step.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/multi-thread-step.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/multi-thread-step.exp ./gdb/testsuite/gdb.btrace/multi-thread-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/multi-thread-step.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/multi-thread-step.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/next.exp ./gdb/testsuite/gdb.btrace/next.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/next.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/next.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/nexti.exp ./gdb/testsuite/gdb.btrace/nexti.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/nexti.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/nexti.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/nohist.exp ./gdb/testsuite/gdb.btrace/nohist.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/nohist.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/nohist.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/record_goto.c ./gdb/testsuite/gdb.btrace/record_goto.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/record_goto.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/record_goto.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/record_goto.exp ./gdb/testsuite/gdb.btrace/record_goto.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/record_goto.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/record_goto.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/rn-dl-bind.c ./gdb/testsuite/gdb.btrace/rn-dl-bind.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/rn-dl-bind.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/rn-dl-bind.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/rn-dl-bind.exp ./gdb/testsuite/gdb.btrace/rn-dl-bind.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/rn-dl-bind.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/rn-dl-bind.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/segv.c ./gdb/testsuite/gdb.btrace/segv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/segv.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/segv.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,32 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   Contributed by Intel Corp. <markus.t.metzger@intel.com>
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+static int (*fun)(int);
+
+int
+test (void)
+{
+  return fun (42); /* test.call */
+}
+
+int
+main (void)
+{
+  return test ();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/segv.exp ./gdb/testsuite/gdb.btrace/segv.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/segv.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/segv.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,45 @@
+# This testcase is part of GDB, the GNU debugger.
+#
+# Copyright 2014-2015 Free Software Foundation, Inc.
+#
+# Contributed by Intel Corp. <markus.t.metzger@intel.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# check for btrace support
+if { [skip_btrace_tests] } { return -1 }
+
+# start inferior
+standard_testfile
+if [prepare_for_testing $testfile.exp $testfile $srcfile] {
+    return -1
+}
+if ![runto_main] {
+    return -1
+}
+
+# trace the test code
+gdb_test_no_output "record btrace"
+gdb_test "continue" [join [list \
+  "Program received signal SIGSEGV, Segmentation fault\." \
+  "0x0* in \\\?\\\? \\\(\\\)" \
+  ] "\r\n"] "cont to segv"
+
+# we cannot do any high-level stepping
+gdb_test "reverse-finish" "Cannot find bounds of current function"
+gdb_test "reverse-next" "Cannot find bounds of current function"
+gdb_test "reverse-step" "Cannot find bounds of current function"
+
+# but we can do instruction stepping
+gdb_test "reverse-stepi" "test\.call\[^\\\r\\\n\]*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/step.exp ./gdb/testsuite/gdb.btrace/step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/step.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/step.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/stepi.exp ./gdb/testsuite/gdb.btrace/stepi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/stepi.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/stepi.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/tailcall.exp ./gdb/testsuite/gdb.btrace/tailcall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/tailcall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/tailcall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/unknown_functions.c ./gdb/testsuite/gdb.btrace/unknown_functions.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/unknown_functions.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/unknown_functions.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/unknown_functions.exp ./gdb/testsuite/gdb.btrace/unknown_functions.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/unknown_functions.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/unknown_functions.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/vdso.c ./gdb/testsuite/gdb.btrace/vdso.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/vdso.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/vdso.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/vdso.exp ./gdb/testsuite/gdb.btrace/vdso.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/vdso.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/vdso.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <markus.t.metzger@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/x86-record_goto.S ./gdb/testsuite/gdb.btrace/x86-record_goto.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/x86-record_goto.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/x86-record_goto.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/x86-tailcall.c ./gdb/testsuite/gdb.btrace/x86-tailcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/x86-tailcall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/x86-tailcall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/x86-tailcall.S ./gdb/testsuite/gdb.btrace/x86-tailcall.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.btrace/x86-tailcall.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.btrace/x86-tailcall.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corp. <markus.t.metzger@intel.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/arch.exp ./gdb/testsuite/gdb.cell/arch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/arch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/arch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/break.c ./gdb/testsuite/gdb.cell/break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/break.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/break.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/break.exp ./gdb/testsuite/gdb.cell/break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/break.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/break.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/break-spu.c ./gdb/testsuite/gdb.cell/break-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/break-spu.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/break-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/bt2-spu.c ./gdb/testsuite/gdb.cell/bt2-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/bt2-spu.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/bt2-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/bt.c ./gdb/testsuite/gdb.cell/bt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/bt.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/bt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/bt.exp ./gdb/testsuite/gdb.cell/bt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/bt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/bt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/bt-spu.c ./gdb/testsuite/gdb.cell/bt-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/bt-spu.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/bt-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/core.exp ./gdb/testsuite/gdb.cell/core.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/core.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/core.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/coremaker.c ./gdb/testsuite/gdb.cell/coremaker.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/coremaker.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/coremaker.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/coremaker-spu.c ./gdb/testsuite/gdb.cell/coremaker-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/coremaker-spu.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/coremaker-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/data.c ./gdb/testsuite/gdb.cell/data.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/data.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/data.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/data.exp ./gdb/testsuite/gdb.cell/data.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/data.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/data.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/data-spu.c ./gdb/testsuite/gdb.cell/data-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/data-spu.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/data-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/dwarfaddr.exp ./gdb/testsuite/gdb.cell/dwarfaddr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/dwarfaddr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/dwarfaddr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/dwarfaddr.S ./gdb/testsuite/gdb.cell/dwarfaddr.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/dwarfaddr.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/dwarfaddr.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-cache.c ./gdb/testsuite/gdb.cell/ea-cache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-cache.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-cache.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-cache.exp ./gdb/testsuite/gdb.cell/ea-cache.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-cache.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-cache.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-cache-spu.c ./gdb/testsuite/gdb.cell/ea-cache-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-cache-spu.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-cache-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-standalone.c ./gdb/testsuite/gdb.cell/ea-standalone.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-standalone.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-standalone.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-standalone.exp ./gdb/testsuite/gdb.cell/ea-standalone.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-standalone.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-standalone.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-test.c ./gdb/testsuite/gdb.cell/ea-test.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-test.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-test.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-test.exp ./gdb/testsuite/gdb.cell/ea-test.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ea-test.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-test.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/fork.c ./gdb/testsuite/gdb.cell/fork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/fork.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/fork.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/fork.exp ./gdb/testsuite/gdb.cell/fork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/fork.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/fork.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/fork-spu.c ./gdb/testsuite/gdb.cell/fork-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/fork-spu.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/fork-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/f-regs.exp ./gdb/testsuite/gdb.cell/f-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/f-regs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/f-regs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/gcore.exp ./gdb/testsuite/gdb.cell/gcore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/gcore.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/gcore.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/mem-access.c ./gdb/testsuite/gdb.cell/mem-access.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/mem-access.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/mem-access.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/mem-access.exp ./gdb/testsuite/gdb.cell/mem-access.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/mem-access.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/mem-access.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/mem-access-spu.c ./gdb/testsuite/gdb.cell/mem-access-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/mem-access-spu.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/mem-access-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ptype.exp ./gdb/testsuite/gdb.cell/ptype.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/ptype.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ptype.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/registers.exp ./gdb/testsuite/gdb.cell/registers.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/registers.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/registers.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/size.c ./gdb/testsuite/gdb.cell/size.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/size.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/size.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/sizeof.exp ./gdb/testsuite/gdb.cell/sizeof.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/sizeof.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/sizeof.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/size-spu.c ./gdb/testsuite/gdb.cell/size-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/size-spu.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/size-spu.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/solib.exp ./gdb/testsuite/gdb.cell/solib.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/solib.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/solib.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/solib-symbol.exp ./gdb/testsuite/gdb.cell/solib-symbol.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cell/solib-symbol.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/solib-symbol.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile.c ./gdb/testsuite/gdb.compile/compile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,130 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#define SOME_MACRO 23
+#define ARG_MACRO(X, Y) ((X) + (Y) - 1)
+
+
+enum enum_type {
+  ONE = 1,
+  TWO = 2
+};
+
+typedef int v4 __attribute__ ((vector_size (16)));
+
+union union_type;
+
+struct struct_type {
+  char charfield;
+  unsigned char ucharfield;
+  short shortfield;
+  unsigned short ushortfield;
+  int intfield;
+  unsigned int uintfield;
+  unsigned int bitfield : 3;
+  long longfield;
+  unsigned long ulongfield;
+  enum enum_type enumfield;
+  float floatfield;
+  double doublefield;
+  const union union_type *ptrfield;
+  struct struct_type *selffield;
+  int arrayfield[5];
+  _Complex double complexfield;
+  _Bool boolfield;
+  v4 vectorfield;
+};
+
+typedef int inttypedef;
+
+union union_type {
+  int intfield;
+  inttypedef typedeffield;
+};
+
+/* volatile provides some coverage of the conversion code.  */
+volatile struct struct_type struct_object;
+
+union union_type union_object;
+
+
+enum ulonger_enum_type {
+  REALLY_MINUS_1 = -1UL,
+};
+
+enum ulonger_enum_type ulonger;
+
+enum longer_enum_type {
+  MINUS_1 = -1,
+  FORCE_TO_LONG = 1L << ((8 * sizeof (long)) - 2)
+};
+
+enum longer_enum_type longer;
+
+int globalvar = 10;
+
+static void
+func_static (int addend)
+{
+  globalvar += addend;
+}
+
+void
+func_global (int subtrahend)
+{
+  globalvar -= subtrahend;
+}
+
+void
+no_args_or_locals (void)
+{
+  /* no_args_or_locals breakpoint */
+}
+
+int *intptr;
+int globalshadow = 10;
+static int staticshadow = 20;
+int externed = 7;
+
+int
+main (void)
+{
+  int localvar = 50;
+  int shadowed = 51;
+  int bound = 3;
+  int unresolved = 10;
+  int globalshadow = 100;
+  int staticshadow = 200;
+  int externed = 9;
+  int f = 0;
+
+  static int static_local = 77000;
+
+  {
+    int another_local = 7;
+    int shadowed = 52;
+    extern int unresolved;
+    extern int externed;
+
+    int vla[bound];
+
+    func_static (0); /* break-here */
+    no_args_or_locals ();
+  }
+
+ return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-constvar.c ./gdb/testsuite/gdb.compile/compile-constvar.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-constvar.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-constvar.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,18 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int constvar = 5;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-constvar.S ./gdb/testsuite/gdb.compile/compile-constvar.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-constvar.S	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-constvar.S	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,95 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+// gcc -o gdb.base/compile-constvar.S -dA -S -g gdb.base/compile-constvar.c
+
+	.file	"compile-constvar.c"
+	.file 1 "gdb.base/compile-constvar.c"
+	.section	.debug_info,"",@progbits
+.Ldebug_info0:
+	.long	.Lend-.Lstart	# Length of Compilation Unit Info
+.Lstart:
+	.value	0x4	# DWARF version number
+	.long	.Ldebug_abbrev0	# Offset Into Abbrev. Section
+	.byte	0x8	# Pointer Size (in bytes)
+	.uleb128 0x1	# (DIE (0xb) DW_TAG_compile_unit)
+	.long	.LASF0	# DW_AT_producer: "GNU C 4.8.2 20131212 (Red Hat 4.8.2-7) -mtune=generic -march=x86-64 -g"
+	.byte	0x1	# DW_AT_language
+	.long	.LASF1	# DW_AT_name: "gdb.base/compile-constvar.c"
+	.long	.LASF2	# DW_AT_comp_dir: "/home/jkratoch/redhat/gdb-gdbjit/gdb/testsuite"
+	.uleb128 0x2	# (DIE (0x1d) DW_TAG_variable)
+	.long	.LASF3	# DW_AT_name: "constvar"
+	.long	.Linttype-.Ldebug_info0	# DW_AT_type
+			# DW_AT_external
+	.byte	0x3	# DW_AT_const_value
+.Linttype:
+	.uleb128 0x3	# (DIE (0x32) DW_TAG_base_type)
+	.byte	0x4	# DW_AT_byte_size
+	.byte	0x5	# DW_AT_encoding
+	.ascii "int\0"	# DW_AT_name
+	.byte	0	# end of children of DIE 0xb
+.Lend:
+	.section	.debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+	.uleb128 0x1	# (abbrev code)
+	.uleb128 0x11	# (TAG: DW_TAG_compile_unit)
+	.byte	0x1	# DW_children_yes
+	.uleb128 0x25	# (DW_AT_producer)
+	.uleb128 0xe	# (DW_FORM_strp)
+	.uleb128 0x13	# (DW_AT_language)
+	.uleb128 0xb	# (DW_FORM_data1)
+	.uleb128 0x3	# (DW_AT_name)
+	.uleb128 0xe	# (DW_FORM_strp)
+	.uleb128 0x1b	# (DW_AT_comp_dir)
+	.uleb128 0xe	# (DW_FORM_strp)
+	.byte	0
+	.byte	0
+	.uleb128 0x2	# (abbrev code)
+	.uleb128 0x34	# (TAG: DW_TAG_variable)
+	.byte	0	# DW_children_no
+	.uleb128 0x3	# (DW_AT_name)
+	.uleb128 0xe	# (DW_FORM_strp)
+	.uleb128 0x49	# (DW_AT_type)
+	.uleb128 0x13	# (DW_FORM_ref4)
+	.uleb128 0x3f	# (DW_AT_external)
+	.uleb128 0x19	# (DW_FORM_flag_present)
+	.uleb128 0x1c	# (DW_AT_const_value)
+	.uleb128 0xb	# (DW_FORM_data1)
+	.byte	0
+	.byte	0
+	.uleb128 0x3	# (abbrev code)
+	.uleb128 0x24	# (TAG: DW_TAG_base_type)
+	.byte	0	# DW_children_no
+	.uleb128 0xb	# (DW_AT_byte_size)
+	.uleb128 0xb	# (DW_FORM_data1)
+	.uleb128 0x3e	# (DW_AT_encoding)
+	.uleb128 0xb	# (DW_FORM_data1)
+	.uleb128 0x3	# (DW_AT_name)
+	.uleb128 0x8	# (DW_FORM_string)
+	.byte	0
+	.byte	0
+	.byte	0
+	.section	.debug_str,"MS",@progbits,1
+.LASF1:
+	.string	"gdb.base/compile-constvar.c"
+.LASF3:
+	.string	"constvar"
+.LASF2:
+	.string	""
+.LASF0:
+	.string	"GNU C 4.8.2 20131212 (Red Hat 4.8.2-7) -mtune=generic -march=x86-64 -g"
+	.ident	"GCC: (GNU) 4.8.2 20131212 (Red Hat 4.8.2-7)"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile.exp ./gdb/testsuite/gdb.compile/compile.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,357 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+standard_testfile .c compile-shlib.c compile-constvar.S compile-nodebug.c
+
+get_compiler_info
+set options {}
+if [test_compiler_info gcc*] {
+    lappend options additional_flags=-g3
+}
+
+if { ![istarget x86_64-*-* ] || ![is_lp64_target] } {
+    verbose "Skipping x86_64 LOC_CONST test."
+    set srcfile3 ""
+}
+
+set srcfilesoptions [list ${srcfile} ${options}]
+if { $srcfile3 != "" } {
+    lappend srcfilesoptions $srcfile3 ${options}
+}
+lappend srcfilesoptions $srcfile4 "nodebug"
+if { [eval build_executable_from_specs ${testfile}.exp $testfile {$options} ${srcfilesoptions}] } {
+    return -1
+}
+
+clean_restart ${testfile}
+
+#
+# Test command without an running inferior.
+#
+gdb_test "compile code int i=2;" \
+    "The program must be running for the compile command to work.*" \
+    "Test compile code command without running inferior"
+
+gdb_test "compile int i=2;" \
+    "The program must be running for the compile command to work.*" \
+    "Test compile command without running inferior"
+
+gdb_test "compile file -r ${srcdir}/${subdir}/${testfile}-mod.c" \
+    "The program must be running for the compile command to work.*" \
+    "Test compile file command without running inferior"
+
+if ![runto_main] {
+    return -1
+}
+
+if {[skip_compile_feature_tests]} {
+    untested "compile command not supported (could not find libcc1 shared library?)"
+    return -1
+}
+
+#
+# Test delimiter for code, and arguments.
+#
+
+gdb_test_no_output "compile -- f = 10" \
+    "Test abbreviations and code delimiter"
+
+gdb_test "compile f = 10;" ".*= 10;: No such file.*" \
+    "Test abbreviations and code collision"
+
+gdb_test_no_output "compile -r -- _gdb_expr(){int i = 5;}" \
+    "Test delimiter with -r"
+
+gdb_test_no_output "compile -raw -- _gdb_expr(){int i = 5;}" \
+    "Test delimiter with -raw"
+
+gdb_test "compile -- -r  _gdb_expr(){int i = 5;}" \
+    ".* error: 'r' undeclared \\(first use in this function\\).*" \
+    "Test delimiter with -r after it"
+
+gdb_test "p globalvar" " = 10" "expect 10"
+
+gdb_test_no_output "compile code globalvar = 11" \
+    "set variable without trailing semicolon"
+gdb_test "p globalvar" " = 11" "check variable without trailing semicolon"
+
+gdb_test_no_output "compile code globalvar = SOME_MACRO;" \
+    "set variable from macro"
+gdb_test "p globalvar" " = 23" "expect 23"
+
+gdb_test_no_output "compile code globalvar = ARG_MACRO(0, 0);" \
+    "set variable from function-like macro"
+gdb_test "p globalvar" " = -1" "expect -1"
+
+gdb_test_no_output "compile code globalvar = 42;" "set variable"
+gdb_test "p globalvar" " = 42" "expect 42"
+
+gdb_test_no_output "compile code globalvar *= 2;" "modify variable"
+gdb_test "p globalvar" " = 84" "expect 84"
+
+gdb_test_multiple "compile code" "compile code multiline 1" { -re "\r\n>$" {} }
+gdb_test_multiple "globalvar = 10;" "compile code multiline 2" { -re "\r\n>$" {} }
+gdb_test_multiple "globalvar *= 2;" "compile code multiline 3" { -re "\r\n>$" {} }
+gdb_test_no_output "end" "compile code multiline 4"
+gdb_test "p globalvar" " = 20" "expect 20"
+
+gdb_test_no_output "compile file -r ${srcdir}/${subdir}/${testfile}-mod.c" \
+    "use external source file"
+gdb_test "p globalvar" " = 7" "expect 7"
+
+gdb_test_no_output "compile code func_static (2);" "call static function"
+gdb_test "p globalvar" " = 9" "expect 9"
+gdb_test_no_output "compile code func_global (1);" "call global function"
+gdb_test "p globalvar" " = 8" "expect 8"
+
+gdb_test_no_output \
+    "compile code globalvar = (sizeof (ulonger) == sizeof (long))" \
+    "compute size of ulonger"
+gdb_test "p globalvar" " = 1" "check size of ulonger"
+gdb_test_no_output \
+    "compile code globalvar = (sizeof (longer) == sizeof (long))" \
+    "compute size of longer"
+gdb_test "p globalvar" " = 1" "check size of longer"
+gdb_test_no_output "compile code globalvar = MINUS_1"
+gdb_test "p globalvar" " = -1" "check MINUS_1"
+
+gdb_test_no_output "compile code globalvar = static_local"
+gdb_test "p globalvar" " = 77000" "check static_local"
+
+gdb_test_no_output "compile code static int staticvar = 5; intptr = &staticvar" \
+    "keep jit in memory"
+gdb_test "p *intptr" " = 5" "expect 5"
+
+gdb_test "compile code func_doesnotexist ();" "warning: Could not find symbol \"func_doesnotexist\" for .*"
+
+gdb_test "compile code *(volatile int *) 0 = 0;" \
+    "The program being debugged was signaled while in a function called from GDB\\.\r\nGDB remains in the frame where the signal was received\\.\r\n.*" \
+    "compile code segfault first"
+gdb_test "bt" \
+    "\r\n#0  \[^\r\n\]* in _gdb_expr \[^\r\n\]*\r\n#1  <function called from gdb>\r\n.*"
+
+set test "p/x \$pc"
+set infcall_pc 0
+gdb_test_multiple $test $test {
+    -re " = (0x\[0-9a-f\]+)\r\n$gdb_prompt $" {
+	set infcall_pc $expect_out(1,string)
+	pass $test
+    }
+}
+
+gdb_test "info sym $infcall_pc" "\r\n_gdb_expr .*" "info sym found"
+gdb_test "return" "\r\n#0  main .*" "return" \
+	 "Make _gdb_expr return now\\? \\(y or n\\) " "y"
+gdb_test "info sym $infcall_pc" "\r\nNo symbol matches .*" "info sym not found"
+
+gdb_test_no_output "set unwindonsignal on"
+gdb_test "compile code *(volatile int *) 0 = 0;" \
+    "The program being debugged was signaled while in a function called from GDB\\.\r\nGDB has restored the context to what it was before the call\\.\r\n.*" \
+    "compile code segfault second"
+
+gdb_breakpoint [gdb_get_line_number "break-here"]
+gdb_continue_to_breakpoint "break-here" ".* break-here .*"
+
+gdb_test "p localvar" " = 50" "expect localvar 50"
+
+gdb_test_no_output "compile code localvar = 12;" "set localvar"
+gdb_test "p localvar" " = 12" "expect 12"
+
+gdb_test_no_output "compile code localvar *= 2;" "modify localvar"
+gdb_test "p localvar" " = 24" "expect 24"
+
+gdb_test_no_output "compile code localvar = shadowed" \
+    "test shadowing"
+gdb_test "p localvar" " = 52" "expect 52"
+
+gdb_test_no_output "compile code localvar = externed"
+gdb_test "p localvar" " = 7" "test extern in inner scope"
+
+gdb_test_no_output "compile code vla\[2\] = 7"
+gdb_test "p vla\[2\]" " = 7"
+gdb_test_no_output \
+    "compile code localvar = (sizeof (vla) == bound * sizeof (vla\[0\]))"
+gdb_test "p localvar" " = 1"
+
+#
+# Test setting fields and also many different types.
+#
+
+gdb_test_no_output "compile code struct_object.selffield = &struct_object"
+gdb_test "print struct_object.selffield == &struct_object" " = 1"
+
+gdb_test_no_output "compile code struct_object.charfield = 1"
+gdb_test "print struct_object.charfield" " = 1 '\\\\001'"
+gdb_test_no_output "compile code struct_object.ucharfield = 1"
+gdb_test "print struct_object.ucharfield" " = 1 '\\\\001'"
+
+foreach {field value} {
+    shortfield -5
+    ushortfield 5
+    intfield -7
+    uintfield 7
+    bitfield 2
+    longfield -9
+    ulongfield 9
+    enumfield ONE
+    floatfield 1
+    doublefield 2
+} {
+    gdb_test_no_output "compile code struct_object.$field = $value"
+    gdb_test "print struct_object.$field" " = $value"
+}
+
+gdb_test_no_output "compile code struct_object.arrayfield\[2\] = 7"
+gdb_test "print struct_object.arrayfield" \
+    " = \\{0, 0, 7, 0, 0\\}"
+
+gdb_test_no_output "compile code struct_object.complexfield = 7 + 5i"
+gdb_test "print struct_object.complexfield" " = 7 \\+ 5 \\* I"
+
+gdb_test_no_output "compile code struct_object.boolfield = 1"
+gdb_test "print struct_object.boolfield" " = true"
+
+gdb_test_no_output "compile code struct_object.vectorfield\[2\] = 7"
+gdb_test "print struct_object.vectorfield" \
+    " = \\{0, 0, 7, 0\\}"
+
+gdb_test_no_output "compile code union_object.typedeffield = 7"
+gdb_test "print union_object.typedeffield" " = 7"
+gdb_test "print union_object.intfield" " = 7"
+
+
+# LOC_UNRESOLVED tests.
+
+gdb_test "print unresolved" " = 20"
+gdb_test "compile code globalvar = unresolved;"
+gdb_test "print globalvar" " = 20" "print unresolved value"
+
+# Test shadowing with global and static variables.
+
+gdb_test_no_output "compile code globalshadow += 1;"
+gdb_test "print globalshadow" " = 101"
+gdb_test_no_output "compile code extern int globalshadow; globalshadow += 5;"
+gdb_test "print 'compile.c'::globalshadow" " = 15"
+gdb_test "print globalshadow" " = 101" "print globalshadow second time"
+gdb_test_no_output "compile code staticshadow += 2;"
+gdb_test "print staticshadow" " = 202"
+# "extern int staticshadow;" cannot access static variable.
+
+# Raw code cannot refer to locals.
+# As it references global variable we need the #pragma.
+# For #pragma we need multiline input.
+gdb_test_multiple "compile code -r" "compile code -r multiline 1" { -re "\r\n>$" {} }
+gdb_test_multiple "#pragma GCC user_expression" "compile code -r multiline 2" { -re "\r\n>$" {} }
+gdb_test_multiple "void _gdb_expr(void) { globalshadow = 77000; }" "compile code -r multiline 3" { -re "\r\n>$" {} }
+gdb_test_no_output "end" "compile code -r multiline 4"
+gdb_test "print 'compile.c'::globalshadow" " = 77000" \
+    "check globalshadow with -r"
+
+#
+# Test the case where the registers structure would not normally have
+# any fields.
+#
+
+gdb_breakpoint [gdb_get_line_number "no_args_or_locals breakpoint"]
+gdb_continue_to_breakpoint "no_args_or_locals"
+
+gdb_test_no_output "compile code globalvar = 77;" "set variable to 77"
+gdb_test "p globalvar" " = 77" "expect 77"
+
+
+# Test reference to minimal_symbol, not (full) symbol.
+
+gdb_test_no_output "compile code globalvar = func_nodebug (75);" \
+    "call func_nodebug"
+gdb_test "p globalvar" " = -75" "expect -75"
+gdb_test_no_output \
+  "compile code int (*funcp) (int) = func_nodebug; globalvar = funcp (76);" \
+  "call func_nodebug indirectly"
+gdb_test "p globalvar" " = -76" "expect -76"
+
+
+# Test compiled module memory protection.
+
+gdb_test_no_output "set debug compile on"
+gdb_test "compile code static const int readonly = 1; *(int *) &readonly = 2;" \
+    "The program being debugged was signaled while in a function called from GDB\\.\r\nGDB has restored the context to what it was before the call\\.\r\n.*"
+gdb_test_no_output "set debug compile off"
+
+
+#
+# Some simple coverage tests.
+#
+
+gdb_test "show debug compile" "Compile debugging is .*"
+gdb_test "show compile-args" \
+    "Compile command command-line arguments are .*"
+gdb_test "compile code -z" "Unknown argument.*"
+
+gdb_test "set lang java" \
+    "Warning: the current language does not match this frame."
+gdb_test "compile code globalvar" "No compiler support for this language\."
+gdb_test_no_output "set lang auto"
+
+gdb_test_no_output "compile code union union_type newdecl_u"
+gdb_test_no_output "compile code struct struct_type newdecl_s"
+gdb_test_no_output "compile code inttypedef newdecl_i"
+
+gdb_test "compile file" \
+    "You must provide a filename for this command.*" \
+    "Test compile file without a filename"
+gdb_test "compile file -r" \
+    "You must provide a filename with the raw option set.*" \
+    "Test compile file and raw option without a filename"
+gdb_test "compile file -z" \
+    "Unknown argument.*" \
+    "Test compile file with unknown argument"
+
+
+# LOC_CONST tests.
+
+if { $srcfile3 != "" } {
+    gdb_test "p constvar" " = 3"
+    gdb_test "info addr constvar" {Symbol "constvar" is constant\.}
+
+    gdb_test "compile code globalvar = constvar;"
+    gdb_test "print globalvar" " = 3" "print constvar value"
+} else {
+    untested "print constvar value"
+}
+
+# Shared library tests.
+
+if {[skip_shlib_tests]} {
+    untested "skipping shlib tests"
+    return;
+}
+
+set libbin [standard_output_file ${testfile}-shlib.so]
+if { [gdb_compile_shlib ${srcdir}/${subdir}/${srcfile2} $libbin {debug}] != ""
+     || [build_executable $testfile ${testfile}-shlib $srcfile \
+	     [list debug ldflags=$libbin]] == -1 } {
+    return -1
+}
+
+clean_restart ${testfile}-shlib
+if ![runto_main] {
+    return -1
+}
+
+gdb_test_no_output "compile code shlib_func ();" "call shared library function"
+gdb_test "p globalvar" " = 1" "expect 1"
+
+gdb_test_no_output "compile code shlibvar += 5;" "modify shared library variable"
+gdb_test "p shlibvar" " = 15" "expect 15"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-mod.c ./gdb/testsuite/gdb.compile/compile-mod.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-mod.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-mod.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,26 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+// Make 'globalvar' lookup working.
+#pragma GCC user_expression
+
+void
+_gdb_expr (void)
+{
+  globalvar = 3;
+  globalvar += 4;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-nodebug.c ./gdb/testsuite/gdb.compile/compile-nodebug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-nodebug.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-nodebug.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int
+func_nodebug (int neg)
+{
+  return -neg;
+}
+
+int unresolved = 20;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-ops.c ./gdb/testsuite/gdb.compile/compile-ops.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-ops.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-ops.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,37 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2011-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int value = 0xdeadf00d;
+int *ptr = &value;
+
+asm (".section	\".text\"");
+asm (".balign 8");
+asm ("func_start: .globl func_start");
+
+static void
+func (void)
+{
+}
+
+asm ("func_end: .globl func_end");
+
+int
+main (void)
+{
+  func ();
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-ops.exp ./gdb/testsuite/gdb.compile/compile-ops.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-ops.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-ops.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,424 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Some coverage testing of DWARF operators for the compiler
+# integration.
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if {![dwarf2_support]} {
+    return 0
+}
+
+standard_testfile .c gdbjit-ops.S
+
+#
+# A port of the pr10770.c test code to the DWARF assembler format.
+#
+
+set assert_tos_non0 {
+    bra 3
+    skip -3
+}
+
+set assert_tos_0 [subst {
+    lit0
+    eq
+    $assert_tos_non0
+}]
+
+set program [subst {
+    lit0
+    nop
+    $assert_tos_0
+    lit1
+    const1u 1
+    eq
+    $assert_tos_non0
+    lit16
+    const2u 16
+    eq
+    $assert_tos_non0
+    lit31
+    const4u 31
+    ne
+    $assert_tos_0
+    lit1
+    neg
+    const1s -1
+    eq
+    $assert_tos_non0
+    lit16
+    neg
+    const2s -16
+    ne
+    $assert_tos_0
+    lit31
+    const4s -31
+    neg
+    ne
+    $assert_tos_0
+    lit7
+    dup
+    plus_uconst 2
+    lit9
+    eq
+    $assert_tos_non0
+    lit7
+    eq
+    $assert_tos_non0
+    lit20
+    lit1
+    drop
+    lit20
+    eq
+    $assert_tos_non0
+    lit17
+    lit19
+    over
+    lit17
+    eq
+    $assert_tos_non0
+    lit19
+    eq
+    $assert_tos_non0
+    lit17
+    eq
+    $assert_tos_non0
+    lit1
+    lit2
+    lit3
+    lit4
+    pick 2
+    lit2
+    eq
+    $assert_tos_non0
+    lit4
+    eq
+    $assert_tos_non0
+    lit3
+    eq
+    $assert_tos_non0
+    pick 0
+    lit2
+    eq
+    $assert_tos_non0
+    lit2
+    eq
+    $assert_tos_non0
+    lit1
+    eq
+    $assert_tos_non0
+    lit6
+    lit12
+    swap
+    lit6
+    eq
+    $assert_tos_non0
+    lit12
+    eq
+    $assert_tos_non0
+    lit7
+    lit8
+    lit9
+    rot
+    lit8
+    eq
+    $assert_tos_non0
+    lit7
+    eq
+    $assert_tos_non0
+    lit9
+    eq
+    $assert_tos_non0
+    lit7
+    abs
+    lit7
+    eq
+    $assert_tos_non0
+    const1s -123
+    abs
+    const1u 123
+    eq
+    $assert_tos_non0
+    lit3
+    lit6
+    and
+    lit2
+    eq
+    $assert_tos_non0
+    lit3
+    lit6
+    or
+    lit7
+    eq
+    $assert_tos_non0
+    lit17
+    lit2
+    minus
+    lit15
+    eq
+    $assert_tos_non0
+    # Divide is signed truncating toward zero.
+    const1s -6
+    const1s -2
+    div
+    lit3
+    eq
+    $assert_tos_non0
+    const1s -7
+    const1s 3
+    div
+    const1s -2
+    eq
+    $assert_tos_non0
+    # Modulo is unsigned.
+    const1s -6
+    const1s -4
+    mod
+    const1s -6
+    eq
+    $assert_tos_non0
+    const1s -6
+    lit4
+    mod
+    lit2
+    eq
+    $assert_tos_non0
+    lit6
+    const1s -4
+    mod
+    lit6
+    eq
+    $assert_tos_non0
+    # Signed modulo can be implemented using 'over over div mul minus'.
+    const1s -6
+    const1s -4
+    over
+    over
+    div
+    mul
+    minus
+    const1s -2
+    eq
+    $assert_tos_non0
+    const1s -7
+    lit3
+    over
+    over
+    div
+    mul
+    minus
+    const1s -1
+    eq
+    $assert_tos_non0
+    lit7
+    const1s -3
+    over
+    over
+    div
+    mul
+    minus
+    lit1
+    eq
+    $assert_tos_non0
+    lit16
+    lit31
+    plus_uconst 1
+    mul
+    const2u 512
+    eq
+    $assert_tos_non0
+    lit5
+    not
+    lit31
+    and
+    lit26
+    eq
+    $assert_tos_non0
+    lit12
+    lit31
+    plus
+    const1u 43
+    eq
+    $assert_tos_non0
+    const1s -6
+    lit2
+    plus
+    const1s -4
+    eq
+    $assert_tos_non0
+    const1s -6
+    plus_uconst 3
+    const1s -3
+    eq
+    $assert_tos_non0
+    lit16
+    lit4
+    shl
+    const2u 256
+    eq
+    $assert_tos_non0
+    lit16
+    lit3
+    shr
+    lit2
+    eq
+    $assert_tos_non0
+    const1s -16
+    lit3
+    shra
+    const1s -2
+    eq
+    $assert_tos_non0
+    lit3
+    lit6
+    xor
+    lit5
+    eq
+    $assert_tos_non0
+    lit3
+    lit6
+    le
+    $assert_tos_non0
+    lit3
+    lit3
+    le
+    $assert_tos_non0
+    lit6
+    lit3
+    le
+    $assert_tos_0
+    lit3
+    lit6
+    lt
+    $assert_tos_non0
+    lit3
+    lit3
+    lt
+    $assert_tos_0
+    lit6
+    lit3
+    lt
+    $assert_tos_0
+    lit3
+    lit6
+    ge
+    $assert_tos_0
+    lit3
+    lit3
+    ge
+    $assert_tos_non0
+    lit6
+    lit3
+    ge
+    $assert_tos_non0
+    lit3
+    lit6
+    gt
+    $assert_tos_0
+    lit3
+    lit3
+    gt
+    $assert_tos_0
+    lit6
+    lit3
+    gt
+    $assert_tos_non0
+    const1s -6
+    lit1
+    shr
+    lit0
+    gt
+    $assert_tos_non0
+    const1s -6
+    lit1
+    shra
+    lit0
+    lt
+    $assert_tos_non0
+    # Finally some result.
+    addr ptr
+}]
+
+# Make some DWARF for the test.
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+    # Creating a CU with 4-byte addresses lets this test link on both
+    # 32- and 64-bit machines.
+    cu { addr_size 4 } {
+
+	declare_labels int_label
+	extern func_start func_end ptr
+
+	compile_unit {
+	    {name file1.txt}
+	    {language @DW_LANG_C}
+	    {low_pc func_start addr}
+	    {high_pc func_end addr}
+	} {
+	    global program
+
+	    int_label: base_type {
+		{name int}
+		{byte_size 4 sdata}
+		{encoding @DW_ATE_signed}
+	    }
+
+	    subprogram {
+		{external 1 flag}
+		{name func}
+		{low_pc func_start addr}
+		{high_pc func_end addr}
+	    } {
+		formal_parameter {
+		    {name param}
+		    {variable_parameter 1 flag}
+		    {type :$int_label}
+		    {location $program SPECIAL_expr}
+		}
+
+		formal_parameter {
+		    {name optimized_out}
+		    {variable_parameter 1 flag}
+		    {type :$int_label}
+		}
+	    }
+	}
+    }
+}
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} \
+	  [list $srcfile $asm_file] {nodebug}] } {
+    return -1
+}
+
+if ![runto func] {
+    return -1
+}
+
+if {[skip_compile_feature_tests]} {
+    untested "compile command not supported (could not find libcc1 shared library?)"
+    return -1
+}
+
+# If we have a bug, this will hang.
+gdb_test_no_output "compile code param"
+
+# We can't access optimized-out variables, but their presence should
+# not affect compilations that don't refer to them.
+gdb_test "compile code optimized_out" \
+    ".*optimized out.*Compilation failed."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-setjmp.c ./gdb/testsuite/gdb.compile/compile-setjmp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-setjmp.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-setjmp.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+static int done;
+
+int
+main (void)
+{
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-setjmp.exp ./gdb/testsuite/gdb.compile/compile-setjmp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-setjmp.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-setjmp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,34 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+standard_testfile .c compile-setjmp-mod.c
+
+if { [prepare_for_testing ${testfile}.exp $testfile] } {
+    return -1
+}
+
+if ![runto_main] {
+    return -1
+}
+
+if {[skip_compile_feature_tests]} {
+    untested "compile command not supported (could not find libcc1 shared library?)"
+    return -1
+}
+
+gdb_test_no_output "compile file -r ${srcdir}/${subdir}/$srcfile2" \
+    "compile file -r"
+
+gdb_test "p done" " = 1"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-setjmp-mod.c ./gdb/testsuite/gdb.compile/compile-setjmp-mod.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-setjmp-mod.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-setjmp-mod.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,46 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <setjmp.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+// Make 'done' lookup working.
+#pragma GCC user_expression
+
+static void
+foo ()
+{
+  jmp_buf env;
+
+  switch (setjmp (env))
+    {
+    case 2:
+      done = 1;
+      return;
+    case 0:
+      longjmp (env, 2);
+      break;
+    }
+  abort ();
+}
+
+void
+_gdb_expr (void)
+{
+  foo ();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-shlib.c ./gdb/testsuite/gdb.compile/compile-shlib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-shlib.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-shlib.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,26 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+extern int globalvar;
+
+int shlibvar = 10;
+
+void
+shlib_func (void)
+{
+  globalvar = 1;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-tls.c ./gdb/testsuite/gdb.compile/compile-tls.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-tls.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-tls.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,40 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+
+__thread int global_scope;
+
+static __thread int static_scope;
+
+int foo ()
+{
+  /* Ensure we link against pthreads even with --as-needed.  */
+  pthread_testcancel();
+  return 27;
+}
+
+int
+main (void)
+{
+  static __thread int local_scope;
+
+  /* break-here */
+  foo ();
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-tls.exp ./gdb/testsuite/gdb.compile/compile-tls.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/compile-tls.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/compile-tls.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,42 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+standard_testfile .c
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+	 executable {debug}] != "" } {
+    return -1
+}
+
+clean_restart ${binfile}
+if ![runto_main] then {
+   fail "Can't run to main"
+   return 0
+}
+
+if {[skip_compile_feature_tests]} {
+    untested "compile command not supported (could not find libcc1 shared library?)"
+    return -1
+}
+
+gdb_test "compile code local_scope = 1" \
+    "warning: .* compiled code."
+gdb_test "print local_scope" " = 1"
+gdb_test "compile code static_scope = 2" \
+    "warning: .* compiled code."
+gdb_test "print static_scope" " = 2"
+gdb_test "compile code global_scope = 3" \
+    "warning: .* compiled code."
+gdb_test "print global_scope" " = 3"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/Makefile ./gdb/testsuite/gdb.compile/Makefile
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/Makefile	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/Makefile	2015-01-20 02:09:29.000000000 +0000
@@ -0,0 +1,21 @@
+
+srcdir = .
+
+EXECUTABLES = \
+	chan handcall hello integers methods package \
+	strings types unsafe
+
+all info install-info dvi install uninstall installcheck check:
+	@echo "Nothing to be done for $@..."
+
+clean mostlyclean:
+	-find . -name '*.o' -print | xargs rm -f
+	-find . -name '*.ali' -print | xargs rm -f
+	-rm -f *~ a.out
+	-rm -f *.dwo *.dwp
+	-rm -f core core.coremaker coremaker.core corefile $(EXECUTABLES)
+
+distclean maintainer-clean realclean: clean
+	-rm -f Makefile config.status config.log
+	-rm -f *-init.exp gdb.log gdb.sum
+	-rm -fr *.log summary detail *.plog *.sum *.psum site.*
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/Makefile.in ./gdb/testsuite/gdb.compile/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.compile/Makefile.in	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.compile/Makefile.in	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,21 @@
+VPATH = @srcdir@
+srcdir = @srcdir@
+
+EXECUTABLES = \
+	chan handcall hello integers methods package \
+	strings types unsafe
+
+all info install-info dvi install uninstall installcheck check:
+	@echo "Nothing to be done for $@..."
+
+clean mostlyclean:
+	-find . -name '*.o' -print | xargs rm -f
+	-find . -name '*.ali' -print | xargs rm -f
+	-rm -f *~ a.out
+	-rm -f *.dwo *.dwp
+	-rm -f core core.coremaker coremaker.core corefile $(EXECUTABLES)
+
+distclean maintainer-clean realclean: clean
+	-rm -f Makefile config.status config.log
+	-rm -f *-init.exp gdb.log gdb.sum
+	-rm -fr *.log summary detail *.plog *.sum *.psum site.*
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/abstract-origin.cc ./gdb/testsuite/gdb.cp/abstract-origin.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/abstract-origin.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/abstract-origin.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/abstract-origin.exp ./gdb/testsuite/gdb.cp/abstract-origin.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/abstract-origin.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/abstract-origin.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ambiguous.exp ./gdb/testsuite/gdb.cp/ambiguous.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ambiguous.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ambiguous.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/annota2.exp ./gdb/testsuite/gdb.cp/annota2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/annota2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/annota2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1999-2014 Free Software Foundation, Inc.
+#   Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/annota3.exp ./gdb/testsuite/gdb.cp/annota3.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/annota3.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/annota3.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-ns2.cc ./gdb/testsuite/gdb.cp/anon-ns2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-ns2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/anon-ns2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,91 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2011-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Contributed by Red Hat, originally written by Keith Seitz.  */
+
+#include <stdlib.h>
+
+namespace
+{
+  void doit1 (void) { } // doit1(void)
+  void doit1 (int a) { } // doit1(int)
+  void doit1 (char *a) { } // doit1(char *)
+
+  class one
+  {
+  public:
+    one (void) { } // one::one(void)
+    one (int a) { } // one::one(int)
+    one (char *a) { } // one::one(char *)
+    static void doit (void) { } // one::doit(void)
+  };
+
+  namespace A
+  {
+    void doit2 (void) { } // A::doit2(void)
+    void doit2 (int a) { } // A::doit2(int)
+    void doit2 (char *a) { } // A::doit2(char *)
+
+    class two
+    {
+    public:
+      two (void) { } // A::two::two(void)
+      two (int a) { } // A::two::two(int)
+      two (char *a) { } // A::two::two(char *)
+      static void doit (void) { } // A::two::doit(void)
+    };
+
+    namespace
+    {
+      namespace
+      {
+	void doit3 (void) { } // A::doit3(void)
+	void doit3 (int a) { } // A::doit3(int)
+	void doit3 (char *a) { } // A::doit3(char *)
+
+	class three
+	{
+	public:
+	  three (void) { } // A::three::three(void)
+	  three (int a) { } // A::three::three(int)
+	  three (char *a) { } // A::three::three(char *)
+	  static void doit (void) { } // A::three::doit(void)
+	};
+      }
+    }
+  }
+}
+
+void
+doit (void)
+{
+  one a, b (3), c (static_cast<char *> (NULL));
+  one::doit ();
+  A::two d, e (3), f (static_cast<char *> (NULL));
+  A::two::doit ();
+  A::three g, h (3), i (static_cast<char *> (NULL));
+  A::three::doit ();
+  doit1 ();
+  doit1 (3);
+  doit1 (static_cast<char *> (NULL));
+  A::doit2 ();
+  A::doit2 (3);
+  A::doit2 (static_cast<char *> (NULL));
+  A::doit3 ();
+  A::doit3 (3);
+  A::doit3 (static_cast<char *> (NULL));
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-ns.cc ./gdb/testsuite/gdb.cp/anon-ns.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-ns.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/anon-ns.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,76 +17,11 @@
 
    Contributed by Red Hat, originally written by Keith Seitz.  */
 
-#include <stdlib.h>
-
-namespace
-{
-  void doit1 (void) { } // doit1(void)
-  void doit1 (int a) { } // doit1(int)
-  void doit1 (char *a) { } // doit1(char *)
-
-  class one
-  {
-  public:
-    one (void) { } // one::one(void)
-    one (int a) { } // one::one(int)
-    one (char *a) { } // one::one(char *)
-    static void doit (void) { } // one::doit(void)
-  };
-
-  namespace A
-  {
-    void doit2 (void) { } // A::doit2(void)
-    void doit2 (int a) { } // A::doit2(int)
-    void doit2 (char *a) { } // A::doit2(char *)
-
-    class two
-    {
-    public:
-      two (void) { } // A::two::two(void)
-      two (int a) { } // A::two::two(int)
-      two (char *a) { } // A::two::two(char *)
-      static void doit (void) { } // A::two::doit(void)
-    };
-
-    namespace
-    {
-      namespace
-      {
-	void doit3 (void) { } // A::doit3(void)
-	void doit3 (int a) { } // A::doit3(int)
-	void doit3 (char *a) { } // A::doit3(char *)
-
-	class three
-	{
-	public:
-	  three (void) { } // A::three::three(void)
-	  three (int a) { } // A::three::three(int)
-	  three (char *a) { } // A::three::three(char *)
-	  static void doit (void) { } // A::three::doit(void)
-	};
-      }
-    }
-  }
-}
+extern void doit (void);
 
 int
 main (void)
 {
-  one a, b (3), c (static_cast<char *> (NULL));
-  one::doit ();
-  A::two d, e (3), f (static_cast<char *> (NULL));
-  A::two::doit ();
-  A::three g, h (3), i (static_cast<char *> (NULL));
-  A::three::doit ();
-  doit1 ();
-  doit1 (3);
-  doit1 (static_cast<char *> (NULL));
-  A::doit2 ();
-  A::doit2 (3);
-  A::doit2 (static_cast<char *> (NULL));
-  A::doit3 ();
-  A::doit3 (3);
-  A::doit3 (static_cast<char *> (NULL));
+  doit ();
   return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-ns.exp ./gdb/testsuite/gdb.cp/anon-ns.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-ns.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/anon-ns.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # Contributed by Red Hat, originally written by Keith Seitz.
 #
@@ -19,9 +19,9 @@
 
 if {[skip_cplus_tests]} { continue }
 
-standard_testfile .cc
+standard_testfile .cc anon-ns2.cc
 
-if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
+if {[prepare_for_testing $testfile $testfile "$srcfile $srcfile2" {c++ debug}]} {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-struct.cc ./gdb/testsuite/gdb.cp/anon-struct.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-struct.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/anon-struct.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-struct.exp ./gdb/testsuite/gdb.cp/anon-struct.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-struct.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/anon-struct.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Tests for anonymous union support.
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-union.exp ./gdb/testsuite/gdb.cp/anon-union.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/anon-union.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/anon-union.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Tests for anonymous union support.
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/arg-reference.cc ./gdb/testsuite/gdb.cp/arg-reference.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/arg-reference.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/arg-reference.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/arg-reference.exp ./gdb/testsuite/gdb.cp/arg-reference.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/arg-reference.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/arg-reference.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/baseenum.cc ./gdb/testsuite/gdb.cp/baseenum.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/baseenum.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/baseenum.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/baseenum.exp ./gdb/testsuite/gdb.cp/baseenum.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/baseenum.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/baseenum.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/bool.cc ./gdb/testsuite/gdb.cp/bool.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/bool.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/bool.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/bool.exp ./gdb/testsuite/gdb.cp/bool.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/bool.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/bool.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/breakpoint.cc ./gdb/testsuite/gdb.cp/breakpoint.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/breakpoint.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/breakpoint.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code to go along with tests in breakpoint.exp.
    
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/breakpoint.exp ./gdb/testsuite/gdb.cp/breakpoint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/breakpoint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/breakpoint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/bs15503.cc ./gdb/testsuite/gdb.cp/bs15503.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/bs15503.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/bs15503.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1992-2014 Free Software Foundation, Inc.
+   Copyright 1992-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/bs15503.exp ./gdb/testsuite/gdb.cp/bs15503.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/bs15503.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/bs15503.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/call-c-1.c ./gdb/testsuite/gdb.cp/call-c-1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/call-c-1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/call-c-1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/call-c.cc ./gdb/testsuite/gdb.cp/call-c.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/call-c.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/call-c.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/call-c.exp ./gdb/testsuite/gdb.cp/call-c.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/call-c.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/call-c.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/casts.exp ./gdb/testsuite/gdb.cp/casts.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/casts.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/casts.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -42,6 +42,9 @@ if ![runto_main] then {
     continue
 }
 
+# Prevent symbol on address 0x0 being printed.
+gdb_test_no_output "set print symbol off"
+
 gdb_test "break [gdb_get_line_number "casts.exp: 1"]" \
     "Breakpoint.*at.* file .*" \
     ""
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/chained-calls.cc ./gdb/testsuite/gdb.cp/chained-calls.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/chained-calls.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/chained-calls.cc	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,203 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+class S
+{
+public:
+  S () { }
+  S (S &obj);
+
+  S operator+ (const S &s);
+
+  int a;
+};
+
+S::S (S &obj)
+{
+  a = obj.a;
+}
+
+S
+S::operator+ (const S &s)
+{
+  S res;
+
+  res.a = a + s.a;
+
+  return res;
+}
+
+S
+f (int i)
+{
+  S s;
+
+  s.a = i;
+
+  return s;
+}
+
+int
+g (const S &s)
+{
+  return s.a;
+}
+
+class A
+{
+public:
+  A operator+ (const A &);
+  int a;
+};
+
+A
+A::operator+ (const A &obj)
+{
+  A n;
+
+  n.a = a + obj.a;
+
+  return n;
+}
+
+A
+p ()
+{
+  A a;
+  a.a = 12345678;
+  return a;
+}
+
+A
+r ()
+{
+  A a;
+  a.a = 10000000;
+  return a;
+}
+
+A
+q (const A &a)
+{
+  return a;
+}
+
+class B
+{
+public:
+  int b[1024];
+};
+
+B
+makeb ()
+{
+  B b;
+  int i;
+
+  for (i = 0; i < 1024; i++)
+    b.b[i] = i;
+
+  return b;
+}
+
+int
+getb (const B &b, int i)
+{
+  return b.b[i];
+}
+
+class C
+{
+public:
+  C ();
+  ~C ();
+
+  A operator* ();
+
+  A *a_ptr;
+};
+
+C::C ()
+{
+  a_ptr = new A;
+  a_ptr->a = 5678;
+}
+
+C::~C ()
+{
+  delete a_ptr;
+}
+
+A
+C::operator* ()
+{
+  return *a_ptr;
+}
+
+#define TYPE_INDEX 1
+
+enum type
+{
+  INT,
+  CHAR
+};
+
+union U
+{
+public:
+  U (type t);
+  type get_type ();
+
+  int a;
+  char c;
+  type tp[2];
+};
+
+U::U (type t)
+{
+  tp[TYPE_INDEX] = t;
+}
+
+U
+make_int ()
+{
+  return U (INT);
+}
+
+U
+make_char ()
+{
+  return U (CHAR);
+}
+
+type
+U::get_type ()
+{
+  return tp[TYPE_INDEX];
+}
+
+int
+main ()
+{
+  int i = g(f(0));
+  A a = q(p() + r());
+
+  B b = makeb ();
+  C c;
+
+  return i + getb(b, 0);  /* Break here  */
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/chained-calls.exp ./gdb/testsuite/gdb.cp/chained-calls.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/chained-calls.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/chained-calls.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,44 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite
+
+if {[skip_cplus_tests]} { continue }
+
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+    return -1
+}
+
+if {![runto_main]} {
+    return -1
+}
+
+gdb_breakpoint [gdb_get_line_number "Break here"]
+gdb_continue_to_breakpoint "Break here"
+
+gdb_test "p g(f(12345))" ".* = 12345" "g(f())"
+gdb_test "p q(p())" ".* = {a = 12345678}" "q(p())"
+gdb_test "p p() + r()" ".* = {a = 22345678}" "p() + r()"
+gdb_test "p q(p() + r())" ".* = {a = 22345678}" "q(p() + r())"
+gdb_test "p g(f(6700) + f(89))" ".* = 6789" "g(f() + f())"
+gdb_test "p g(f(g(f(300) + f(40))) + f(5))" ".* = 345" \
+    "g(f(g(f() + f())) + f())"
+gdb_test "p getb(makeb(), 789)" ".* = 789" "getb(makeb(), ...)"
+gdb_test "p *c" ".* = {a = 5678}" "*c"
+gdb_test "p *c + *c" ".* = {a = 11356}" "*c + *c"
+gdb_test "P q(*c + *c)" ".* = {a = 11356}" "q(*c + *c)"
+gdb_test "p make_int().get_type ()" ".* = INT" "make_int().get_type ()"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/class2.cc ./gdb/testsuite/gdb.cp/class2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/class2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/class2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/class2.exp ./gdb/testsuite/gdb.cp/class2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/class2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/class2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,9 +28,10 @@ if {[prepare_for_testing $testfile.exp $
     return -1
 }
 
-# Start with "set print object off".
+# Start with "set print object off" and "set print symbol off".
 
 gdb_test_no_output "set print object off"
+gdb_test_no_output "set print symbol off"
 
 if ![runto_main] then {
     perror "couldn't run to main"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/classes.cc ./gdb/testsuite/gdb.cp/classes.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/classes.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/classes.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1993-2014 Free Software Foundation, Inc.
+   Copyright 1993-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/classes.exp ./gdb/testsuite/gdb.cp/classes.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/classes.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/classes.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cmpd-minsyms.cc ./gdb/testsuite/gdb.cp/cmpd-minsyms.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cmpd-minsyms.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cmpd-minsyms.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test case is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cmpd-minsyms.exp ./gdb/testsuite/gdb.cp/cmpd-minsyms.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cmpd-minsyms.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cmpd-minsyms.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # Contributed by Red Hat, originally written by Keith Seitz.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/converts.exp ./gdb/testsuite/gdb.cp/converts.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/converts.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/converts.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpcompletion.exp ./gdb/testsuite/gdb.cp/cpcompletion.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpcompletion.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cpcompletion.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpexprs.cc ./gdb/testsuite/gdb.cp/cpexprs.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpexprs.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cpexprs.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat, originally written by Keith Seitz.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpexprs.exp ./gdb/testsuite/gdb.cp/cpexprs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpexprs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cpexprs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # cpexprs.exp - C++ expressions tests
 #
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # Contributed by Red Hat, originally written by Keith Seitz.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cplabel.cc ./gdb/testsuite/gdb.cp/cplabel.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cplabel.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cplabel.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cplabel.exp ./gdb/testsuite/gdb.cp/cplabel.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cplabel.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cplabel.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cplusfuncs.exp ./gdb/testsuite/gdb.cp/cplusfuncs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cplusfuncs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cplusfuncs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cp-relocate.cc ./gdb/testsuite/gdb.cp/cp-relocate.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cp-relocate.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cp-relocate.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test file is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cp-relocate.exp ./gdb/testsuite/gdb.cp/cp-relocate.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cp-relocate.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cp-relocate.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpsizeof.cc ./gdb/testsuite/gdb.cp/cpsizeof.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpsizeof.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cpsizeof.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpsizeof.exp ./gdb/testsuite/gdb.cp/cpsizeof.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cpsizeof.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cpsizeof.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # sizeof() tests [c++/16675]
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cttiadd1.cc ./gdb/testsuite/gdb.cp/cttiadd1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cttiadd1.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cttiadd1.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1998-2014 Free Software Foundation, Inc.
+   Copyright 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cttiadd2.cc ./gdb/testsuite/gdb.cp/cttiadd2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cttiadd2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cttiadd2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1998-2014 Free Software Foundation, Inc.
+   Copyright 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cttiadd3.cc ./gdb/testsuite/gdb.cp/cttiadd3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cttiadd3.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cttiadd3.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1998-2014 Free Software Foundation, Inc.
+   Copyright 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cttiadd.cc ./gdb/testsuite/gdb.cp/cttiadd.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/cttiadd.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cttiadd.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1998-2014 Free Software Foundation, Inc.
+   Copyright 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ctti.exp ./gdb/testsuite/gdb.cp/ctti.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ctti.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ctti.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/debug-expr.exp ./gdb/testsuite/gdb.cp/debug-expr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/debug-expr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/debug-expr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/demangle.exp ./gdb/testsuite/gdb.cp/demangle.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/demangle.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/demangle.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -73,7 +73,7 @@ proc test_demangling_core {tester test r
 	set_demangling_style $style
     }
 
-    $tester "maintenance demangle $name" $result $test
+    $tester "demangle $name" $result $test
 }
 
 ### Demangle an identifier, and check that the result matches a pattern.
@@ -527,7 +527,7 @@ proc test_gnu_style_demangling {} {
     ## 1999-04-19: "Fix from Dale Hawkins".  Shouldn't segfault.
     # Accept even a dubious demangling; the string is ambiguous.
 
-    gdb_test_multiple "maintenance demangle __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator" "gnu: __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator" {
+    gdb_test_multiple "demangle __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator" "gnu: __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator" {
 	-re "virtual function thunk \\(delta:-64\\) for CosNaming::_proxy_NamingContext::_0RL__list\\(unsigned long, _CORBA_Unbounded_Sequence<CosNaming::Binding> \\*\\&, CosNaming::BindingIterator \\*\\&\\)\r\n$gdb_prompt $" {
 	    pass "gnu: __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator"
 	}
@@ -1557,6 +1557,14 @@ proc do_tests {} {
     catch_demangling_errors test_gnu_style_demangling
     catch_demangling_errors test_arm_style_demangling
     catch_demangling_errors test_hp_style_demangling
+
+    # Verify specifying demangle language.
+    gdb_test_no_output "set language unknown"
+    set_demangling_style "auto"
+    gdb_test_exact "demangle -l c++ -- _ZSt4cout" "std::cout"
+    gdb_test_exact "demangle -l c++ _ZSt4cout" "std::cout"
+    gdb_test_exact "demangle -l c -- _ZSt4cout" "Can't demangle \"_ZSt4cout\""
+    gdb_test_exact "demangle -l garbage xyzdje" "Unknown language \"garbage\""
 }
 
 do_tests
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/derivation2.cc ./gdb/testsuite/gdb.cp/derivation2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/derivation2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/derivation2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/derivation.cc ./gdb/testsuite/gdb.cp/derivation.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/derivation.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/derivation.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/derivation.exp ./gdb/testsuite/gdb.cp/derivation.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/derivation.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/derivation.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/destrprint.exp ./gdb/testsuite/gdb.cp/destrprint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/destrprint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/destrprint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/dispcxx.cc ./gdb/testsuite/gdb.cp/dispcxx.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/dispcxx.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/dispcxx.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test for displays in C++.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/dispcxx.exp ./gdb/testsuite/gdb.cp/dispcxx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/dispcxx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/dispcxx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/enum-class.cc ./gdb/testsuite/gdb.cp/enum-class.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/enum-class.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/enum-class.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/enum-class.exp ./gdb/testsuite/gdb.cp/enum-class.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/enum-class.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/enum-class.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/exception.cc ./gdb/testsuite/gdb.cp/exception.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/exception.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/exception.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1997-2014 Free Software Foundation, Inc.
+   Copyright 1997-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/exception.exp ./gdb/testsuite/gdb.cp/exception.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/exception.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/exception.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/exceptprint.cc ./gdb/testsuite/gdb.cp/exceptprint.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/exceptprint.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/exceptprint.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/exceptprint.exp ./gdb/testsuite/gdb.cp/exceptprint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/exceptprint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/exceptprint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/expand-psymtabs-cxx.cc ./gdb/testsuite/gdb.cp/expand-psymtabs-cxx.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/expand-psymtabs-cxx.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/expand-psymtabs-cxx.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp ./gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -30,9 +30,9 @@ gdb_test_no_output "set language c++"
 
 # FAIL was:
 # $1 = {<text variable, no debug info>} 0
-gdb_test "p 'method(long)'" { = {void \(long\)} 0x0 <method.long.>} \
+gdb_test "p 'method(long)'" " = {void \\(long\\)} $hex <method.long.>" \
     "before expand"
-gdb_test "p method" { = {void \(long\)} 0x0 <method.long.>} \
+gdb_test "p method" " = {void \\(long\\)} $hex <method.long.>" \
     "force expand"
-gdb_test "p 'method(long)'" { = {void \(long\)} 0x0 <method.long.>} \
+gdb_test "p 'method(long)'" " = {void \\(long\\)} $hex <method.long.>" \
     "after expand"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/expand-sals.cc ./gdb/testsuite/gdb.cp/expand-sals.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/expand-sals.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/expand-sals.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/expand-sals.exp ./gdb/testsuite/gdb.cp/expand-sals.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/expand-sals.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/expand-sals.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/extern-c.cc ./gdb/testsuite/gdb.cp/extern-c.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/extern-c.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/extern-c.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/extern-c.exp ./gdb/testsuite/gdb.cp/extern-c.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/extern-c.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/extern-c.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/filename.cc ./gdb/testsuite/gdb.cp/filename.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/filename.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/filename.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/filename.exp ./gdb/testsuite/gdb.cp/filename.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/filename.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/filename.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/formatted-ref.cc ./gdb/testsuite/gdb.cp/formatted-ref.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/formatted-ref.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/formatted-ref.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2007-2014 Free Software Foundation, Inc.
+/* Copyright 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/formatted-ref.exp ./gdb/testsuite/gdb.cp/formatted-ref.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/formatted-ref.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/formatted-ref.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/fpointer.exp ./gdb/testsuite/gdb.cp/fpointer.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/fpointer.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/fpointer.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb1355.exp ./gdb/testsuite/gdb.cp/gdb1355.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb1355.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/gdb1355.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2384-base.cc ./gdb/testsuite/gdb.cp/gdb2384-base.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2384-base.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/gdb2384-base.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2384-base.h ./gdb/testsuite/gdb.cp/gdb2384-base.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2384-base.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/gdb2384-base.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2384.cc ./gdb/testsuite/gdb.cp/gdb2384.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2384.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/gdb2384.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2384.exp ./gdb/testsuite/gdb.cp/gdb2384.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2384.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/gdb2384.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2495.cc ./gdb/testsuite/gdb.cp/gdb2495.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2495.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/gdb2495.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2495.exp ./gdb/testsuite/gdb.cp/gdb2495.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/gdb2495.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/gdb2495.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/hang.exp ./gdb/testsuite/gdb.cp/hang.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/hang.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/hang.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2002-2014 Free Software Foundation, Inc.
+#   Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/impl-this.cc ./gdb/testsuite/gdb.cp/impl-this.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/impl-this.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/impl-this.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/impl-this.exp ./gdb/testsuite/gdb.cp/impl-this.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/impl-this.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/impl-this.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/includefile ./gdb/testsuite/gdb.cp/includefile
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/includefile	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/includefile	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/infcall-dlopen.cc ./gdb/testsuite/gdb.cp/infcall-dlopen.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/infcall-dlopen.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/infcall-dlopen.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/infcall-dlopen.exp ./gdb/testsuite/gdb.cp/infcall-dlopen.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/infcall-dlopen.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/infcall-dlopen.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/infcall-dlopen-lib.cc ./gdb/testsuite/gdb.cp/infcall-dlopen-lib.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/infcall-dlopen-lib.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/infcall-dlopen-lib.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/inherit.exp ./gdb/testsuite/gdb.cp/inherit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/inherit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/inherit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/koenig.exp ./gdb/testsuite/gdb.cp/koenig.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/koenig.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/koenig.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/local.exp ./gdb/testsuite/gdb.cp/local.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/local.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/local.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/maint.exp ./gdb/testsuite/gdb.cp/maint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/maint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/maint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-ctor.exp ./gdb/testsuite/gdb.cp/mb-ctor.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-ctor.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/mb-ctor.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-inline1.cc ./gdb/testsuite/gdb.cp/mb-inline1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-inline1.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/mb-inline1.cc	2015-01-20 02:05:39.000000000 +0000
@@ -2,7 +2,7 @@
 
    This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-inline2.cc ./gdb/testsuite/gdb.cp/mb-inline2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-inline2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/mb-inline2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-inline.exp ./gdb/testsuite/gdb.cp/mb-inline.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-inline.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/mb-inline.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -46,17 +46,7 @@ gdb_test "info break" \
     "\[\r\n\]1\.1.* y .* at .*$hdrfile:$bp_location.*\[\r\n\]1\.2.* y .* at .*$hdrfile:$bp_location.*"
 
 gdb_run_cmd
-gdb_expect {
-    -re "Breakpoint \[0-9\]+,.*foo \\(i=0\\).*$gdb_prompt $" {
-	pass "run to breakpoint"
-    }
-    -re "$gdb_prompt $" {
-	fail "run to breakpoint"
-    }
-    timeout {
-	fail "run to breakpoint (timeout)"
-    }
-}
+gdb_test "" "Breakpoint \[0-9\]+,.*foo \\(i=0\\).*" "run to breakpoint"
 
 gdb_test "continue" \
     ".*Breakpoint.*foo \\(i=1\\).*" \
@@ -69,17 +59,7 @@ gdb_test "continue" \
 gdb_test_no_output "disable 1.2" "disabling location: disable"
 
 gdb_run_cmd
-gdb_expect {
-    -re "Breakpoint \[0-9\]+,.*foo \\(i=0\\).*$gdb_prompt $" {
-	pass "disabling location: run to breakpoint"
-    }
-    -re "$gdb_prompt $" {
-	fail "disabling location: run to breakpoint"
-    }
-    timeout {
-	fail "disabling location: run to breakpoint (timeout)"
-    }
-}
+gdb_test "" "Breakpoint \[0-9\]+,.*foo \\(i=0\\).*" "disabling location: run to breakpoint"
 
 gdb_test_multiple "info break" "disabled breakpoint 1.2" {
     -re "1\.2.* n .* at .*$hdrfile:$bp_location.*$gdb_prompt $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-inline.h ./gdb/testsuite/gdb.cp/mb-inline.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-inline.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/mb-inline.h	2015-01-20 02:05:39.000000000 +0000
@@ -4,7 +4,7 @@
 
    This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-templates.exp ./gdb/testsuite/gdb.cp/mb-templates.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/mb-templates.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/mb-templates.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -72,17 +72,7 @@ gdb_test_no_output {condition $bpnum i==
     "separate condition: set condition"
     
 gdb_run_cmd
-gdb_expect {
-    -re "Breakpoint \[0-9\]+,.*foo<int> \\(i=1\\).*$gdb_prompt $" {
-	pass "separate condition: run to breakpoint"
-    }
-    -re "$gdb_prompt $" {
-	fail "separate condition: run to breakpoint"
-    }
-    timeout {
-	fail "separate condition: run to breakpoint (timeout)"
-    }
-}
+gdb_test "" "Breakpoint \[0-9\]+,.*foo<int> \\(i=1\\).*" "separate condition: run to breakpoint"
 
 gdb_test "continue" \
     ".*Breakpoint.*foo<double> \\(i=1\\).*" \
@@ -94,17 +84,7 @@ gdb_test "continue" \
 gdb_test_no_output {disable $bpnum.1} "disabling location: disable"
 
 gdb_run_cmd
-gdb_expect {
-    -re "Breakpoint \[0-9\]+,.*foo<double> \\(i=1\\).*$gdb_prompt $" {
-	pass "disabling location: run to breakpoint"
-    }
-    -re "$gdb_prompt $" {
-	fail "disabling location: run to breakpoint"
-    }
-    timeout {
-	fail "disabling location: run to breakpoint (timeout)"
-    }
-}
+gdb_test "" "Breakpoint \[0-9\]+,.*foo<double> \\(i=1\\).*" "disabling location: run to breakpoint"
 
 # Try disabling entire breakpoint
 gdb_test_no_output {enable $bpnum.1} "disabling location: enable"
@@ -113,17 +93,7 @@ gdb_test_no_output {enable $bpnum.1} "di
 gdb_test_no_output {disable $bpnum} "disable breakpoint: disable"
 
 gdb_run_cmd
-gdb_expect {
-    -re "$inferior_exited_re normally.*$gdb_prompt $" {
-	pass "disable breakpoint: run to breakpoint"
-    }
-    -re "$gdb_prompt $" {
-	fail "disable breakpoint: run to breakpoint"
-    }
-    timeout {
-	fail "disable breakpoint: run to breakpoint (timeout)"
-    }
-}
+gdb_test "" "$inferior_exited_re normally.*" "disable breakpoint: run to breakpoint"
 
 # Make sure breakpoint can be set on a specific instantion.
 delete_breakpoints
@@ -132,17 +102,7 @@ gdb_test "break 'void foo<int>(int)'" ".
 
 
 gdb_run_cmd
-gdb_expect {
-    -re ".*Breakpoint \[0-9\]+,.*foo<int> \\(i=0\\).*$gdb_prompt $" {
-	pass "instantiation: run to breakpoint"
-    }
-    -re "$gdb_prompt $" {
-	fail "instantiation: run to breakpoint"
-    }
-    timeout {
-	fail "instantiation: run to breakpoint (timeout)"
-    }
-}
+gdb_test "" "Breakpoint \[0-9\]+,.*foo<int> \\(i=0\\).*" "instantiation: run to breakpoint"
 
 gdb_test "continue" \
     ".*Breakpoint.*foo<int> \\(i=1\\).*" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/m-data.exp ./gdb/testsuite/gdb.cp/m-data.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/m-data.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/m-data.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/member-name.cc ./gdb/testsuite/gdb.cp/member-name.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/member-name.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/member-name.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/member-name.exp ./gdb/testsuite/gdb.cp/member-name.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/member-name.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/member-name.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/member-ptr.cc ./gdb/testsuite/gdb.cp/member-ptr.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/member-ptr.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/member-ptr.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1998-2014 Free Software Foundation, Inc.
+   Copyright 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/member-ptr.exp ./gdb/testsuite/gdb.cp/member-ptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/member-ptr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/member-ptr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This file is part of the gdb testsuite
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/method2.exp ./gdb/testsuite/gdb.cp/method2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/method2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/method2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/method.exp ./gdb/testsuite/gdb.cp/method.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/method.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/method.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/meth-typedefs.cc ./gdb/testsuite/gdb.cp/meth-typedefs.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/meth-typedefs.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/meth-typedefs.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/meth-typedefs.exp ./gdb/testsuite/gdb.cp/meth-typedefs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/meth-typedefs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/meth-typedefs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # Contributed by Red Hat, originally written by Keith Seitz.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/minsym-fallback.cc ./gdb/testsuite/gdb.cp/minsym-fallback.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/minsym-fallback.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/minsym-fallback.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/minsym-fallback.exp ./gdb/testsuite/gdb.cp/minsym-fallback.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/minsym-fallback.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/minsym-fallback.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/minsym-fallback.h ./gdb/testsuite/gdb.cp/minsym-fallback.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/minsym-fallback.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/minsym-fallback.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/minsym-fallback-main.cc ./gdb/testsuite/gdb.cp/minsym-fallback-main.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/minsym-fallback-main.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/minsym-fallback-main.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/misc.cc ./gdb/testsuite/gdb.cp/misc.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/misc.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/misc.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1993-2014 Free Software Foundation, Inc.
+   Copyright 1993-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/misc.exp ./gdb/testsuite/gdb.cp/misc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/misc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/misc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/m-static.exp ./gdb/testsuite/gdb.cp/m-static.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/m-static.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/m-static.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namelessclass.cc ./gdb/testsuite/gdb.cp/namelessclass.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namelessclass.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/namelessclass.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namelessclass.exp ./gdb/testsuite/gdb.cp/namelessclass.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namelessclass.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/namelessclass.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namelessclass.S ./gdb/testsuite/gdb.cp/namelessclass.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namelessclass.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/namelessclass.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namespace1.cc ./gdb/testsuite/gdb.cp/namespace1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namespace1.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/namespace1.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2003-2014 Free Software Foundation, Inc.
+/* Copyright 2003-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namespace-enum.exp ./gdb/testsuite/gdb.cp/namespace-enum.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namespace-enum.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/namespace-enum.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namespace.exp ./gdb/testsuite/gdb.cp/namespace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namespace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/namespace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namespace-nested-import.exp ./gdb/testsuite/gdb.cp/namespace-nested-import.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/namespace-nested-import.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/namespace-nested-import.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nextoverthrow.cc ./gdb/testsuite/gdb.cp/nextoverthrow.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nextoverthrow.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nextoverthrow.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nextoverthrow.exp ./gdb/testsuite/gdb.cp/nextoverthrow.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nextoverthrow.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nextoverthrow.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/no-dmgl-verbose.cc ./gdb/testsuite/gdb.cp/no-dmgl-verbose.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/no-dmgl-verbose.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/no-dmgl-verbose.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test file is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/no-dmgl-verbose.exp ./gdb/testsuite/gdb.cp/no-dmgl-verbose.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/no-dmgl-verbose.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/no-dmgl-verbose.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/non-trivial-retval.cc ./gdb/testsuite/gdb.cp/non-trivial-retval.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/non-trivial-retval.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/non-trivial-retval.cc	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,152 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+class A
+{
+public:
+  A () {}
+  A (A &obj);
+
+  int a;
+};
+
+A::A(A &obj)
+{
+  a = obj.a;
+}
+
+A
+f1 (int i1, int i2)
+{
+  A a;
+
+  a.a = i1 + i2;
+
+  return a;
+}
+
+class B
+{
+public:
+  B () {}
+  B (const B &obj);
+
+  int b;
+};
+
+B::B(const B &obj)
+{
+  b = obj.b;
+}
+
+B
+f2 (int i1, int i2)
+{
+  B b;
+
+  b.b = i1 + i2;
+
+  return b;
+}
+
+class B1
+{
+public:
+  B1 () {}
+  /* This class exists to test that GDB does not trip on other
+     constructors (not copy constructors) which take one
+     argument.  Hence, put this decl before the copy-ctor decl.
+     If it is put after copy-ctor decl, then the decision to mark
+     this class as non-trivial will already be made and GDB will
+     not look at this constructor.  */
+  B1 (int i);
+  B1 (const B1 &obj);
+
+  int b1;
+};
+
+B1::B1 (const B1 &obj)
+{
+  b1 = obj.b1;
+}
+
+B1::B1 (int i) : b1 (i) { }
+
+B1
+f22 (int i1, int i2)
+{
+  B1 b1;
+
+  b1.b1 = i1 + i2;
+
+  return b1;
+}
+
+class C
+{
+public:
+  virtual int method ();
+
+  int c;
+};
+
+int
+C::method ()
+{
+  return c;
+}
+
+C
+f3 (int i1, int i2)
+{
+  C c;
+
+  c.c = i1 + i2;
+
+  return c;
+}
+
+class D
+{
+public:
+  int d;
+};
+
+class E : public virtual D
+{
+public:
+  int e;
+};
+
+E
+f4 (int i1, int i2)
+{
+  E e;
+
+  e.e = i1 + i2;
+
+  return e;
+}
+
+int
+main (void)
+{
+  int i1 = 23;
+  int i2 = 100;
+
+  return 0;  /* Break here  */
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/non-trivial-retval.exp ./gdb/testsuite/gdb.cp/non-trivial-retval.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/non-trivial-retval.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/non-trivial-retval.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,37 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite
+
+if {[skip_cplus_tests]} { continue }
+
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+    return -1
+}
+
+if {![runto_main]} {
+    return -1
+}
+
+gdb_breakpoint [gdb_get_line_number "Break here"]
+gdb_continue_to_breakpoint "Break here"
+
+gdb_test "p f1 (i1, i2)" ".* = {a = 123}" "p f1 (i1, i2)"
+gdb_test "p f2 (i1, i2)" ".* = {b = 123}" "p f2 (i1, i2)"
+gdb_test "p f22 (i1, i2)" ".* = {b1 = 123}" "p f22 (i1, i2)"
+gdb_test "p f3 (i1, i2)" ".* = {.* c = 123}" "p f3 (i1, i2)"
+gdb_test "p f4 (i1, i2)" ".* = {.* e = 123}" "p f4 (i1, i2)"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/noparam.cc ./gdb/testsuite/gdb.cp/noparam.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/noparam.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/noparam.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/noparam.exp ./gdb/testsuite/gdb.cp/noparam.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/noparam.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/noparam.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsalias.cc ./gdb/testsuite/gdb.cp/nsalias.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsalias.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nsalias.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsalias.exp ./gdb/testsuite/gdb.cp/nsalias.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsalias.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nsalias.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -90,8 +90,8 @@ Dwarf::assemble $asm_file {
 
 			im_foo_label: DW_TAG_subprogram {
 			    {name foo}
-			    {external 1}
-			    {declaration 1}
+			    {external 1 flag_present}
+			    {declaration 1 flag_present}
 			}
 		    }
 
@@ -108,8 +108,8 @@ Dwarf::assemble $asm_file {
 
 		    i_foo_label: subprogram {
 			{name foo}
-			{external 1}
-			{declaration 1}
+			{external 1 flag_present}
+			{declaration 1 flag_present}
 		    }
 		}
 
@@ -126,8 +126,8 @@ Dwarf::assemble $asm_file {
 
 		o_foo_label: subprogram {
 		    {name foo}
-		    {external 1}
-		    {declaration 1}
+		    {external 1 flag_present}
+		    {declaration 1 flag_present}
 		}
 	    }
 
@@ -153,20 +153,20 @@ Dwarf::assemble $asm_file {
 
 	    subprogram {
 		{specification :$im_foo_label}
-		{low_pc 0x0}
-		{high_pc 0x1}
+		{low_pc 0x4 DW_FORM_addr}
+		{high_pc 0x7 DW_FORM_addr}
 	    }
 
 	    subprogram {
 		{specification :$i_foo_label}
-		{low_pc 0x2}
-		{high_pc 0x3}
+		{low_pc 0x8 DW_FORM_addr}
+		{high_pc 0xb DW_FORM_addr}
 	    }
 
 	    subprogram {
 		{specification :$o_foo_label}
-		{low_pc 0x4}
-		{high_pc 0x5}
+		{low_pc 0xc DW_FORM_addr}
+		{high_pc 0xf DW_FORM_addr}
 	    }
 	}
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsdecl.exp ./gdb/testsuite/gdb.cp/nsdecl.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsdecl.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nsdecl.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsimport.exp ./gdb/testsuite/gdb.cp/nsimport.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsimport.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nsimport.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsnested.exp ./gdb/testsuite/gdb.cp/nsnested.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsnested.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nsnested.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsnoimports.exp ./gdb/testsuite/gdb.cp/nsnoimports.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsnoimports.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nsnoimports.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsrecurs.exp ./gdb/testsuite/gdb.cp/nsrecurs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsrecurs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nsrecurs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsstress.exp ./gdb/testsuite/gdb.cp/nsstress.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsstress.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nsstress.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsusing.exp ./gdb/testsuite/gdb.cp/nsusing.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/nsusing.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/nsusing.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/operator.exp ./gdb/testsuite/gdb.cp/operator.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/operator.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/operator.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/oranking.exp ./gdb/testsuite/gdb.cp/oranking.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/oranking.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/oranking.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/overload-const.cc ./gdb/testsuite/gdb.cp/overload-const.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/overload-const.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/overload-const.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test case is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/overload-const.exp ./gdb/testsuite/gdb.cp/overload-const.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/overload-const.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/overload-const.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/overload.exp ./gdb/testsuite/gdb.cp/overload.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/overload.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/overload.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -39,6 +39,9 @@ if ![runto 'marker1'] then {
     continue
 }
 
+# Prevent symbol on address 0x0 being printed.
+gdb_test_no_output "set print symbol off"
+
 gdb_test "up" ".*main.*" "up from marker1"
 
 # Print the monster class type.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovldbreak.exp ./gdb/testsuite/gdb.cp/ovldbreak.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovldbreak.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ovldbreak.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch1.cc ./gdb/testsuite/gdb.cp/ovsrch1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch1.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ovsrch1.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch2.cc ./gdb/testsuite/gdb.cp/ovsrch2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ovsrch2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch3.cc ./gdb/testsuite/gdb.cp/ovsrch3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch3.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ovsrch3.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch4.cc ./gdb/testsuite/gdb.cp/ovsrch4.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch4.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ovsrch4.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch.exp ./gdb/testsuite/gdb.cp/ovsrch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ovsrch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # Contributed by Red Hat, originally written by Keith Seitz.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch.h ./gdb/testsuite/gdb.cp/ovsrch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ovsrch.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ovsrch.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/paren-type.cc ./gdb/testsuite/gdb.cp/paren-type.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/paren-type.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/paren-type.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/paren-type.exp ./gdb/testsuite/gdb.cp/paren-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/paren-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/paren-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/parse-lang.cc ./gdb/testsuite/gdb.cp/parse-lang.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/parse-lang.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/parse-lang.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/parse-lang.exp ./gdb/testsuite/gdb.cp/parse-lang.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/parse-lang.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/parse-lang.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pass-by-ref.cc ./gdb/testsuite/gdb.cp/pass-by-ref.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pass-by-ref.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pass-by-ref.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pass-by-ref.exp ./gdb/testsuite/gdb.cp/pass-by-ref.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pass-by-ref.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pass-by-ref.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr-1023.exp ./gdb/testsuite/gdb.cp/pr-1023.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr-1023.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr-1023.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr10687.exp ./gdb/testsuite/gdb.cp/pr10687.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr10687.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr10687.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#Copyright 2010-2014 Free Software Foundation, Inc.
+#Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr10728.exp ./gdb/testsuite/gdb.cp/pr10728.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr10728.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr10728.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr12028.exp ./gdb/testsuite/gdb.cp/pr12028.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr12028.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr12028.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr-1210.exp ./gdb/testsuite/gdb.cp/pr-1210.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr-1210.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr-1210.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr17132.cc ./gdb/testsuite/gdb.cp/pr17132.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr17132.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr17132.cc	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,61 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+
+/* One could use unique_ptr instead, but that requires a GCC which can
+   support "-std=c++11".  */
+
+template <typename T>
+class smart_ptr
+{
+public:
+  smart_ptr (T *obj) : _obj (obj) { }
+  ~smart_ptr () { delete _obj; }
+
+  T *operator-> ();
+
+private:
+  T *_obj;
+};
+
+template <typename T>
+T *
+smart_ptr<T>::operator-> ()
+{
+  return _obj;
+}
+
+class A
+{
+public:
+  virtual int func ();
+};
+
+int
+A::func ()
+{
+  return 3;
+}
+
+int
+main ()
+{
+  A *a_ptr = 0;
+  smart_ptr<A> a (new A);
+
+  return a->func();  /* Break here  */
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr17132.exp ./gdb/testsuite/gdb.cp/pr17132.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr17132.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr17132.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,40 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite
+
+if {[skip_cplus_tests]} { continue }
+
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+    return -1
+}
+
+if {![runto_main]} {
+    return -1
+}
+
+gdb_breakpoint [gdb_get_line_number "Break here"]
+gdb_continue_to_breakpoint "Break here"
+
+gdb_test "ptype a_ptr->func ()" ".* = int" "ptype a_ptr->func ()"
+gdb_test "ptype a->func ()" ".* = int" "ptype a->func ()"
+gdb_test "p sizeof (a_ptr->func()) == sizeof (int)" ".* = true" \
+  "p sizeof (a_ptr->func())"
+gdb_test "p sizeof (a->func()) == sizeof (int)" ".* = true" \
+  "p sizeof (a->func())"
+gdb_test "p 1 && a->func()" ".* = true" "p 1 && a->func()"
+gdb_test "p 0 || a->func()" ".* = true" "p 0 || a->func()"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr17494.cc ./gdb/testsuite/gdb.cp/pr17494.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr17494.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr17494.cc	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,63 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+
+/* One could use unique_ptr instead, but that requires a GCC which can
+   support "-std=c++11".  */
+
+int
+func (int i, int j)
+{
+  return i + j;
+}
+
+class A
+{
+public:
+  A () { a = 12345; f = &func; }
+  int geta ();
+  int adda (int i);
+
+  int a;
+  int (*f) (int, int);
+};
+
+int
+A::geta ()
+{
+  return a;
+}
+
+int
+A::adda (int i)
+{
+  return a + i;
+}
+
+int
+main ()
+{
+  A a;
+  A *a_ptr = &a;
+  int (A::*m1) ();
+  int (A::*m2) (int);
+
+  m1 = &A::geta;
+  m2 = &A::adda;
+
+  return (a.*m1) () + (a.*m2) (12) + (a.*(&A::f)) (1, 2);  /* Break here  */
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr17494.exp ./gdb/testsuite/gdb.cp/pr17494.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr17494.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr17494.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,57 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite
+
+if {[skip_cplus_tests]} { continue }
+
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+    return -1
+}
+
+if {![runto_main]} {
+    return -1
+}
+
+gdb_breakpoint [gdb_get_line_number "Break here"]
+gdb_continue_to_breakpoint "Break here"
+
+gdb_test "p a.geta()" ".* = 12345" "a.geta()"
+gdb_test "p a_ptr->geta()" ".* = 12345" "a.geta()"
+
+gdb_test "p false ? a.geta() : 123" ".* = 123" "ternop 1"
+gdb_test "p false ? a_ptr->geta() : 123" ".* = 123" "ternop 2"
+gdb_test "p (true ? 123 : a.geta()) + 123" ".* = 246" "ternop 3"
+gdb_test "p (true ? 123 : a_ptr->geta()) + 123" ".* = 246" "ternop 4"
+gdb_test "p false ? (a.*m1)() : 123" ".* = 123" "ternop 5"
+gdb_test "p false ? (a_ptr->*m1)() : 123" ".* = 123" "ternop 6"
+gdb_test "p (true ? 123 : (a.*m1)()) + 123" ".* = 246" "ternop 7"
+gdb_test "p (true ? 123 : (a_ptr->*m1)()) + 123" ".* = 246" "ternop 8"
+
+gdb_test "p false ? a.adda(456) : 123" ".* = 123" "ternop 9"
+gdb_test "p false ? a_ptr->adda(456) : 123" ".* = 123" "ternop 10"
+gdb_test "p (true ? 123 : a.adda(456)) + 123" ".* = 246" "ternop 11"
+gdb_test "p (true ? 123 : a_ptr->adda(456)) + 123" ".* = 246" "ternop 12"
+gdb_test "p false ? (a.*m2)(123) : 123" ".* = 123" "ternop 13"
+gdb_test "p false ? (a_ptr->*m2)(123) : 123" ".* = 123" "ternop 14"
+gdb_test "p (true ? 123 : (a.*m2)(123)) + 123" ".* = 246" "ternop 15"
+gdb_test "p (true ? 123 : (a_ptr->*m2)(123)) + 123" ".* = 246" "ternop 16"
+
+gdb_test "p false ? (a.*(&A::f))(1, 2) : 123" ".* = 123" "ternop 17"
+gdb_test "p false ? (a_ptr->*(&A::f))(1, 2) : 123" ".* = 123" "ternop 18"
+gdb_test "p (true ? 123 : (a.*(&A::f))(1, 2)) + 123" ".* = 246" "ternop 19"
+gdb_test "p (true ? 123 : (a_ptr->*(&A::f))(1, 2)) + 123" ".* = 246" "ternop 20"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr-574.cc ./gdb/testsuite/gdb.cp/pr-574.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr-574.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr-574.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr-574.exp ./gdb/testsuite/gdb.cp/pr-574.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr-574.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr-574.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr9067.exp ./gdb/testsuite/gdb.cp/pr9067.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr9067.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr9067.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr9167.exp ./gdb/testsuite/gdb.cp/pr9167.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr9167.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr9167.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#Copyright 2010-2014 Free Software Foundation, Inc.
+#Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr9631.cc ./gdb/testsuite/gdb.cp/pr9631.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr9631.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr9631.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr9631.exp ./gdb/testsuite/gdb.cp/pr9631.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/pr9631.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr9631.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/printmethod.cc ./gdb/testsuite/gdb.cp/printmethod.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/printmethod.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/printmethod.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/printmethod.exp ./gdb/testsuite/gdb.cp/printmethod.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/printmethod.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/printmethod.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psmang1.cc ./gdb/testsuite/gdb.cp/psmang1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psmang1.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/psmang1.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psmang2.cc ./gdb/testsuite/gdb.cp/psmang2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psmang2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/psmang2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psmang.exp ./gdb/testsuite/gdb.cp/psmang.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psmang.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/psmang.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psymtab-parameter.cc ./gdb/testsuite/gdb.cp/psymtab-parameter.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psymtab-parameter.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/psymtab-parameter.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psymtab-parameter.exp ./gdb/testsuite/gdb.cp/psymtab-parameter.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/psymtab-parameter.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/psymtab-parameter.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ptype-cv-cp.cc ./gdb/testsuite/gdb.cp/ptype-cv-cp.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ptype-cv-cp.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ptype-cv-cp.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ptype-cv-cp.exp ./gdb/testsuite/gdb.cp/ptype-cv-cp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ptype-cv-cp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ptype-cv-cp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ptype-flags.cc ./gdb/testsuite/gdb.cp/ptype-flags.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ptype-flags.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ptype-flags.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ptype-flags.exp ./gdb/testsuite/gdb.cp/ptype-flags.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ptype-flags.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ptype-flags.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/punctuator.exp ./gdb/testsuite/gdb.cp/punctuator.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/punctuator.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/punctuator.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/readnow-language.cc ./gdb/testsuite/gdb.cp/readnow-language.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/readnow-language.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/readnow-language.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/readnow-language.exp ./gdb/testsuite/gdb.cp/readnow-language.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/readnow-language.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/readnow-language.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ref-params.cc ./gdb/testsuite/gdb.cp/ref-params.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ref-params.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ref-params.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ref-params.exp ./gdb/testsuite/gdb.cp/ref-params.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ref-params.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ref-params.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Tests for reference parameters of types and their subtypes in GDB.
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ref-types.cc ./gdb/testsuite/gdb.cp/ref-types.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ref-types.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ref-types.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 1999-2014 Free Software Foundation, Inc.
+   Copyright 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ref-types.exp ./gdb/testsuite/gdb.cp/ref-types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/ref-types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/ref-types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Tests for reference types with short type variables in GDB.
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/re-set-overloaded.cc ./gdb/testsuite/gdb.cp/re-set-overloaded.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/re-set-overloaded.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/re-set-overloaded.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/re-set-overloaded.exp ./gdb/testsuite/gdb.cp/re-set-overloaded.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/re-set-overloaded.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/re-set-overloaded.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/rtti1.cc ./gdb/testsuite/gdb.cp/rtti1.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/rtti1.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/rtti1.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code to go along with tests in rtti.exp.
    
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    Contributed by David Carlton <carlton@bactrian.org> and by Kealia,
    Inc.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/rtti2.cc ./gdb/testsuite/gdb.cp/rtti2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/rtti2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/rtti2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code to go along with tests in rtti.exp.
    
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    Contributed by David Carlton <carlton@bactrian.org> and by Kealia,
    Inc.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/rtti.exp ./gdb/testsuite/gdb.cp/rtti.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/rtti.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/rtti.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/rtti.h ./gdb/testsuite/gdb.cp/rtti.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/rtti.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/rtti.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Code to go along with tests in rtti.exp.
    
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    Contributed by David Carlton <carlton@bactrian.org> and by Kealia,
    Inc.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/shadow.exp ./gdb/testsuite/gdb.cp/shadow.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/shadow.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/shadow.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/smartp.cc ./gdb/testsuite/gdb.cp/smartp.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/smartp.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/smartp.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 1999-2014 Free Software Foundation, Inc.
+   Copyright 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/smartp.exp ./gdb/testsuite/gdb.cp/smartp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/smartp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/smartp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -72,6 +72,5 @@ gdb_test "p b->foo()"         "= 66"
 gdb_test "p c->foo()"         "= 66"
 gdb_test "p c->inta"          "= 77"
 
-setup_kfail "gdb/11606" "*-*-*"
 gdb_test "p c2->inta"          "= 77"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/static-method.cc ./gdb/testsuite/gdb.cp/static-method.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/static-method.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/static-method.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/static-method.exp ./gdb/testsuite/gdb.cp/static-method.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/static-method.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/static-method.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # Contributed by Red Hat, originally written by Keith Seitz.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/static-print-quit.cc ./gdb/testsuite/gdb.cp/static-print-quit.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/static-print-quit.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/static-print-quit.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/static-print-quit.exp ./gdb/testsuite/gdb.cp/static-print-quit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/static-print-quit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/static-print-quit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/temargs.cc ./gdb/testsuite/gdb.cp/temargs.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/temargs.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/temargs.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Template argument tests.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/temargs.exp ./gdb/testsuite/gdb.cp/temargs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/temargs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/temargs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # temargs.exp - Template argument tests
 #
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/templates.exp ./gdb/testsuite/gdb.cp/templates.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/templates.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/templates.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -293,6 +293,8 @@ gdb_test "c" \
 gdb_test "print fint" \
    "\\$\[0-9\]* = \\{x = 0, t = 0\\}"
 
+# Prevent symbol on address 0x0 being printed.
+gdb_test_no_output "set print symbol off"
 gdb_test "print fvpchar" \
     "\\$\[0-9\]* = \\{x = 0, t = 0x0\\}"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/try_catch.cc ./gdb/testsuite/gdb.cp/try_catch.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/try_catch.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/try_catch.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/try_catch.exp ./gdb/testsuite/gdb.cp/try_catch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/try_catch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/try_catch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/typedef-operator.cc ./gdb/testsuite/gdb.cp/typedef-operator.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/typedef-operator.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/typedef-operator.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test case is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/typedef-operator.exp ./gdb/testsuite/gdb.cp/typedef-operator.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/typedef-operator.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/typedef-operator.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/typeid.cc ./gdb/testsuite/gdb.cp/typeid.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/typeid.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/typeid.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/typeid.exp ./gdb/testsuite/gdb.cp/typeid.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/typeid.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/typeid.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/userdef.cc ./gdb/testsuite/gdb.cp/userdef.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/userdef.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/userdef.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 1999-2014 Free Software Foundation, Inc.
+   Copyright 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/userdef.exp ./gdb/testsuite/gdb.cp/userdef.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/userdef.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/userdef.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Tests of overloaded operators resolution.
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/using-crash.cc ./gdb/testsuite/gdb.cp/using-crash.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/using-crash.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/using-crash.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/using-crash.exp ./gdb/testsuite/gdb.cp/using-crash.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/using-crash.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/using-crash.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtbase.exp ./gdb/testsuite/gdb.cp/virtbase.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtbase.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/virtbase.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtfunc2.cc ./gdb/testsuite/gdb.cp/virtfunc2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtfunc2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/virtfunc2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
  /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtfunc2.exp ./gdb/testsuite/gdb.cp/virtfunc2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtfunc2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/virtfunc2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtfunc.cc ./gdb/testsuite/gdb.cp/virtfunc.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtfunc.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/virtfunc.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 1993-2014 Free Software Foundation, Inc.
+   Copyright 1993-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtfunc.exp ./gdb/testsuite/gdb.cp/virtfunc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/virtfunc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/virtfunc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/vla-cxx.cc ./gdb/testsuite/gdb.cp/vla-cxx.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/vla-cxx.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/vla-cxx.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/vla-cxx.exp ./gdb/testsuite/gdb.cp/vla-cxx.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.cp/vla-cxx.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/vla-cxx.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/am33.exp ./gdb/testsuite/gdb.disasm/am33.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/am33.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/am33.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/h8300s.exp ./gdb/testsuite/gdb.disasm/h8300s.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/h8300s.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/h8300s.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/hppa.exp ./gdb/testsuite/gdb.disasm/hppa.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/hppa.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/hppa.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/mn10300.exp ./gdb/testsuite/gdb.disasm/mn10300.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/mn10300.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/mn10300.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/sh3.exp ./gdb/testsuite/gdb.disasm/sh3.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/sh3.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/sh3.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t01_mov.exp ./gdb/testsuite/gdb.disasm/t01_mov.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t01_mov.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t01_mov.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t02_mova.exp ./gdb/testsuite/gdb.disasm/t02_mova.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t02_mova.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t02_mova.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t03_add.exp ./gdb/testsuite/gdb.disasm/t03_add.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t03_add.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t03_add.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t04_sub.exp ./gdb/testsuite/gdb.disasm/t04_sub.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t04_sub.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t04_sub.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t05_cmp.exp ./gdb/testsuite/gdb.disasm/t05_cmp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t05_cmp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t05_cmp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t06_ari2.exp ./gdb/testsuite/gdb.disasm/t06_ari2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t06_ari2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t06_ari2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t07_ari3.exp ./gdb/testsuite/gdb.disasm/t07_ari3.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t07_ari3.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t07_ari3.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t08_or.exp ./gdb/testsuite/gdb.disasm/t08_or.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t08_or.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t08_or.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t09_xor.exp ./gdb/testsuite/gdb.disasm/t09_xor.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t09_xor.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t09_xor.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t10_and.exp ./gdb/testsuite/gdb.disasm/t10_and.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t10_and.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t10_and.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t11_logs.exp ./gdb/testsuite/gdb.disasm/t11_logs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t11_logs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t11_logs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t12_bit.exp ./gdb/testsuite/gdb.disasm/t12_bit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t12_bit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t12_bit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t13_otr.exp ./gdb/testsuite/gdb.disasm/t13_otr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.disasm/t13_otr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.disasm/t13_otr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dlang/demangle.exp ./gdb/testsuite/gdb.dlang/demangle.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dlang/demangle.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dlang/demangle.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -23,7 +23,7 @@ if { [skip_d_tests] } { continue }
 
 ### Utility function for test_demangling and test_demangling_exact.
 proc test_demangling {test result} {
-    gdb_test_exact "maintenance demangle $test" $result $test
+    gdb_test_exact "demangle $test" $result $test
 }
 
 proc test_d_demangling {} {
@@ -142,11 +142,11 @@ proc test_d_demangling {} {
     test_demangling "_D8demangle4testFFNbNaZaZv" "demangle.test(char() nothrow pure function)"
     test_demangling "_D8demangle4testFFNdNfNaZaZv" "demangle.test(char() @property @safe pure function)"
 
-    test_demangling "_D8demangle4test6__vtblZ" "demangle.test.vtbl$"
+    test_demangling "_D8demangle4test6__vtblZ" "vtable for demangle.test"
     test_demangling "_D8demangle4test6__initZ" "demangle.test.init$"
-    test_demangling "_D8demangle4test12__ModuleInfoZ" "demangle.test.moduleinfo$"
-    test_demangling "_D8demangle4test7__ClassZ" "demangle.test.classinfo$"
-    test_demangling "_D8demangle4test11__InterfaceZ" "demangle.test.interface$"
+    test_demangling "_D8demangle4test12__ModuleInfoZ" "ModuleInfo for demangle.test"
+    test_demangling "_D8demangle4test7__ClassZ" "ClassInfo for demangle.test"
+    test_demangling "_D8demangle4test11__InterfaceZ" "Interface for demangle.test"
 
     test_demangling "_D8demangle4test6__ctorMFZv" "demangle.test.this()"
     test_demangling "_D8demangle4test6__dtorMFZv" "demangle.test.~this()"
@@ -201,6 +201,9 @@ if [set_lang_d] {
     gdb_test_no_output "set width 0"
 
     test_d_demangling
+
+    # Verify we can specify the d language to demangle.
+    gdb_test_exact "demangle -l d -- _Dmain" "D main"
 } else {
     warning "D demangling tests suppressed."
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dlang/expression.exp ./gdb/testsuite/gdb.dlang/expression.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dlang/expression.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dlang/expression.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,137 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test basic builtin types.
+# NOTE: The tests here intentionally do not require a D compiler.
+
+load_lib "d-support.exp"
+
+if { [skip_d_tests] } { continue }
+
+proc test_d_integer_literals {} {
+    # Test valid D integer literals are accepted.
+
+    gdb_test "print 123456" " = 123456"
+    gdb_test "print 123_456" " = 123456"
+    gdb_test "print 1_2_3_4_5_6_" " = 123456"
+
+    gdb_test "print 0x123456" " = 1193046"
+    gdb_test "print 0x123_456" " = 1193046"
+    gdb_test "print 0x1_2_3_4_5_6_" " = 1193046"
+
+    gdb_test "print 0123456" " = 42798"
+    gdb_test "print 0123_456" " = 42798"
+    gdb_test "print 01_2_3_4_5_6_" " = 42798"
+
+    gdb_test "print 0b101010" " = 42"
+    gdb_test "print 0b101_010" " = 42"
+    gdb_test "print 0b1_0_1_0_1_0_" " = 42"
+
+    # Usual decimal notation
+    gdb_test "ptype 0" "type = int"
+    gdb_test "ptype 2_147_483_647" "type = int"
+    gdb_test "ptype 2_147_483_648" "type = long"
+    gdb_test "ptype 4_294_967_296" "type = long"
+
+    # Explicit suffixes
+    gdb_test "ptype 0L" "type = long"
+    gdb_test "ptype 2_147_483_648U" "type = uint"
+    gdb_test "ptype 4_294_967_296U" "type = ulong"
+    gdb_test "ptype 0UL" "type = ulong"
+    gdb_test "ptype 0LU" "type = ulong"
+
+    # Hexadecimal notation
+    gdb_test "ptype 0x0" "type = int"
+    gdb_test "ptype 0x7FFF_FFFF" "type = int"
+    gdb_test "ptype 0x8000_0000" "type = uint"
+    gdb_test "ptype 0x1_0000_0000" "type = long"
+
+    # Hexadecimal notation with explicit suffixes
+    gdb_test "ptype 0x0L" "type = long"
+    gdb_test "ptype 0x7FFF_FFFFU" "type = uint"
+    gdb_test "ptype 0x1_0000_0000U" "type = ulong"
+    gdb_test "ptype 0x0UL" "type = ulong"
+    gdb_test "ptype 0x0LU" "type = ulong"
+
+    # Octal notation
+    gdb_test "ptype 00" "type = int"
+    gdb_test "ptype 017_777_777_777" "type = int"
+    gdb_test "ptype 020_000_000_000" "type = uint"
+    gdb_test "ptype 040_000_000_000" "type = long"
+
+    # Octal notation with explicit suffixes
+    gdb_test "ptype 00L" "type = long"
+    gdb_test "ptype 017_777_777_777U" "type = uint"
+    gdb_test "ptype 040_000_000_000U" "type = ulong"
+    gdb_test "ptype 00UL" "type = ulong"
+    gdb_test "ptype 00LU" "type = ulong"
+
+    # Binary notation
+    gdb_test "ptype 0b0" "type = int"
+    gdb_test "ptype 0b1111111111111111111111111111111" "type = int"
+    gdb_test "ptype 0b10000000000000000000000000000000" "type = uint"
+    gdb_test "ptype 0b100000000000000000000000000000000" "type = long"
+
+    # Binary notation with explicit suffixes
+    gdb_test "ptype 0b0L" "type = long"
+    gdb_test "ptype 0b1111111111111111111111111111111U" "type = uint"
+    gdb_test "ptype 0b100000000000000000000000000000000U" "type = ulong"
+    gdb_test "ptype 0b0UL" "type = ulong"
+    gdb_test "ptype 0b0LU" "type = ulong"
+}
+
+proc test_d_float_literals {} {
+    # Test valid D float literals are accepted.
+
+    gdb_test "ptype 123_456.567_8" "type = double"
+    gdb_test "ptype 1_2_3_4_5_6_._5_6_7_8" "type = double"
+    gdb_test "ptype 1_2_3_4_5_6_._5e-6_" "type = double"
+    gdb_test "ptype 0x1.FFFFFFFFFFFFFp1023" "type = double"
+    gdb_test "ptype 0x1p-52L" "type = real"
+    gdb_test "ptype 1.175494351e-38F" "type = float"
+    gdb_test "ptype 6.3i" "type = idouble"
+    gdb_test "ptype 6.3fi" "type = ifloat"
+    gdb_test "ptype 6.4Li" "type = ireal"
+}
+
+proc test_d_expressions {} {
+    # Test expression behaviour specific to D.
+
+    # Comparison and order expressions have same precedence.
+    gdb_test "print 1 == 2 > 0" "A syntax error in expression, near `> 0'\."
+    gdb_test "print (1 == 2) > 0" " = false"
+
+    # Exponent expressions
+    gdb_test "print 5 ^^ 5" "3125"
+    gdb_test "print 144 ^^ 0.5" "12"
+    gdb_test "print (-10 ^^ 2)" "-100"
+    gdb_test "print (-10) ^^ 2" "100"
+
+    gdb_test_no_output "set \$var = 144 ^^ 0.5" ""
+    gdb_test "print \$var ^^= 2" "144"
+}
+
+# Start with a fresh gdb.
+
+gdb_exit
+gdb_start
+
+if [set_lang_d] {
+    test_d_integer_literals
+    test_d_float_literals
+    test_d_expressions
+} else {
+    warning "D type tests suppressed."
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dlang/primitive-types.exp ./gdb/testsuite/gdb.dlang/primitive-types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dlang/primitive-types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dlang/primitive-types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/arr-stride.c ./gdb/testsuite/gdb.dwarf2/arr-stride.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/arr-stride.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/arr-stride.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2014 Free Software Foundation, Inc.
+/* Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/arr-stride.exp ./gdb/testsuite/gdb.dwarf2/arr-stride.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/arr-stride.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/arr-stride.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/arr-subrange.c ./gdb/testsuite/gdb.dwarf2/arr-subrange.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/arr-subrange.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/arr-subrange.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2014 Free Software Foundation, Inc.
+/* Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/arr-subrange.exp ./gdb/testsuite/gdb.dwarf2/arr-subrange.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/arr-subrange.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/arr-subrange.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,8 +29,8 @@ Dwarf::assemble $asm_file {
                 {DW_AT_language @DW_LANG_Ada95}
                 {DW_AT_name     foo.adb}
                 {DW_AT_comp_dir /tmp}
-                {DW_AT_low_pc   0x1000}
-                {DW_AT_high_pc  0x2000}
+                {DW_AT_low_pc   0x1000 addr}
+                {DW_AT_high_pc  0x2000 addr}
             } {
 	    declare_labels boolean_label typedef_label array_label enum_label
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/callframecfa.exp ./gdb/testsuite/gdb.dwarf2/callframecfa.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/callframecfa.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/callframecfa.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/callframecfa.S ./gdb/testsuite/gdb.dwarf2/callframecfa.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/callframecfa.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/callframecfa.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/clztest.exp ./gdb/testsuite/gdb.dwarf2/clztest.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/clztest.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/clztest.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/clztest.S ./gdb/testsuite/gdb.dwarf2/clztest.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/clztest.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/clztest.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/corrupt.c ./gdb/testsuite/gdb.dwarf2/corrupt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/corrupt.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/corrupt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/corrupt.exp ./gdb/testsuite/gdb.dwarf2/corrupt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/corrupt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/corrupt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,25 +38,25 @@ Dwarf::assemble $asm_file {
 	    declare_labels int_label
 
 	    int_label: base_type {
-		{byte_size 4}
+		{byte_size 4 sdata}
 		{name "int"}
 	    }
 
 	    enumeration_type {
 		{name "ENUM"}
-		{byte_size 4}
+		{byte_size 4 sdata}
 	    } {
 		enumerator {
 		    {name "A"}
-		    {const_value 0}
+		    {const_value 0 sdata}
 		}
 		enumerator {
 		    {name "B"}
-		    {const_value 1}
+		    {const_value 1 sdata}
 		    {sibling 12345678 DW_FORM_ref4}
 		} {
 		    base_type {
-			{byte_size 1}
+			{byte_size 1 sdata}
 			{name "char"}
 		    }
 		}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/count.exp ./gdb/testsuite/gdb.dwarf2/count.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/count.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/count.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/data-loc.c ./gdb/testsuite/gdb.dwarf2/data-loc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/data-loc.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/data-loc.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,46 @@
+/* Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This C file provides some global variables laid out in a way
+   that mimicks what the GNAT Ada compiler calls "fat pointers".
+   These fat pointers are the memory representation used by
+   the compiler to handle dynamic arrays.
+
+   Debugging information on how to decode that data into an array
+   will be generated separately by the testcase using that file.  */
+
+struct fat_pointer
+{
+  int *data;
+  int *bounds;
+};
+
+int table_1_data[] = {1, 2, 3};
+int table_1_bounds[] = {1, 3};
+struct fat_pointer table_1 = {table_1_data, table_1_bounds};
+
+int table_2_data[] = {5, 8, 13, 21, 34};
+int table_2_bounds[] = {2, 6};
+struct fat_pointer table_2 = {table_2_data, table_2_bounds};
+
+int
+main (void)
+{
+  table_1.bounds[1] = 2;
+  table_2.bounds[1] = 3;
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/data-loc.exp ./gdb/testsuite/gdb.dwarf2/data-loc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/data-loc.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/data-loc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,291 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if {![dwarf2_support]} {
+    return 0
+}
+
+standard_testfile data-loc.c data-loc-dw.S
+
+# We need to know the size of integer and address types in order
+# to write some of the debugging info we'd like to generate.
+#
+# For that, we ask GDB by debugging our data-loc.c program.
+# Any program would do, but since we already have data-loc.c
+# specifically for this testcase, might as well use that.
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+    untested ${testfile}.exp
+    return -1
+}
+
+# Make some DWARF for the test.
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+    cu {} {
+ 	DW_TAG_compile_unit {
+                {DW_AT_language @DW_LANG_Ada95}
+                {DW_AT_name     foo.adb}
+                {DW_AT_comp_dir /tmp}
+        } {
+            declare_labels integer_label array_label array_ptr_label
+
+            integer_label: DW_TAG_base_type {
+                {DW_AT_byte_size 4 DW_FORM_sdata}
+                {DW_AT_encoding  @DW_ATE_signed}
+                {DW_AT_name      integer}
+            }
+
+	    array_label: DW_TAG_array_type {
+		{DW_AT_name foo__array_type}
+		{DW_AT_type :$integer_label}
+                {DW_AT_data_location {
+                    DW_OP_push_object_address
+                    DW_OP_deref
+                } SPECIAL_expr}
+                {external 1 flag}
+	    } {
+		DW_TAG_subrange_type {
+		    {DW_AT_type        :$integer_label}
+                    {DW_AT_lower_bound {
+                        DW_OP_push_object_address
+                        DW_OP_plus_uconst [get_sizeof "void *" 96]
+                        DW_OP_deref
+                        DW_OP_deref_size [get_sizeof "int" 4]
+                    } SPECIAL_expr}
+                    {DW_AT_upper_bound {
+                        DW_OP_push_object_address
+                        DW_OP_plus_uconst [get_sizeof "void *" 96]
+                        DW_OP_deref
+                        DW_OP_plus_uconst [get_sizeof "int" 4]
+                        DW_OP_deref_size [get_sizeof "int" 4]
+                    } SPECIAL_expr}
+		}
+	    }
+            array_ptr_label: DW_TAG_typedef {
+                {DW_AT_name foo__array_type}
+                {DW_AT_type :$array_label}
+            }
+            DW_TAG_variable {
+                {DW_AT_name foo__three}
+                {DW_AT_type :$array_label}
+                {DW_AT_location {
+                    DW_OP_addr table_1
+                } SPECIAL_expr}
+                {external 1 flag}
+            }
+            DW_TAG_variable {
+                {DW_AT_name foo__three_tdef}
+                {DW_AT_type :$array_ptr_label}
+                {DW_AT_location {
+                    DW_OP_addr table_1
+                } SPECIAL_expr}
+                {external 1 flag}
+            }
+            DW_TAG_variable {
+                {DW_AT_name foo__five}
+                {DW_AT_type :$array_label}
+                {DW_AT_location {
+                    DW_OP_addr table_2
+                } SPECIAL_expr}
+                {external 1 flag}
+            }
+            DW_TAG_variable {
+                {DW_AT_name foo__five_tdef}
+                {DW_AT_type :$array_ptr_label}
+                {DW_AT_location {
+                    DW_OP_addr table_2
+                } SPECIAL_expr}
+                {external 1 flag}
+            }
+	}
+    }
+}
+
+# Now that we've generated the DWARF debugging info, rebuild our
+# program using our debug info instead of the info generated by
+# the compiler.
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} \
+	  [list $srcfile $asm_file] {nodebug}] } {
+    return -1
+}
+
+if ![runto_main] {
+    return -1
+}
+
+gdb_test_no_output "set language ada"
+
+# foo.three
+
+gdb_test "print foo.three" \
+         " = \\(1, 2, 3\\)"
+
+gdb_test "ptype foo.three" \
+         "type = array \\(1 .. 3\\) of integer"
+
+gdb_test "print foo.three(1)" \
+         " = 1"
+
+gdb_test "print foo.three(2)" \
+         " = 2"
+
+gdb_test "print foo.three(3)" \
+         " = 3"
+
+gdb_test "print foo.three'first" \
+         " = 1"
+
+gdb_test "print foo.three'last" \
+         " = 3"
+
+gdb_test "print foo.three'length" \
+         " = 3"
+
+# foo.three_tdef
+
+gdb_test "print foo.three_tdef" \
+         " = \\(1, 2, 3\\)"
+
+gdb_test "ptype foo.three_tdef" \
+         "type = array \\(1 .. 3\\) of integer"
+
+gdb_test "print foo.three_tdef(1)" \
+         " = 1"
+
+gdb_test "print foo.three_tdef(2)" \
+         " = 2"
+
+gdb_test "print foo.three_tdef(3)" \
+         " = 3"
+
+gdb_test "print foo.three_tdef'first" \
+         " = 1"
+
+gdb_test "print foo.three_tdef'last" \
+         " = 3"
+
+gdb_test "print foo.three_tdef'length" \
+         " = 3"
+
+gdb_test "print foo.five" \
+         " = \\(2 => 5, 8, 13, 21, 34\\)"
+
+gdb_test "ptype foo.five" \
+         "type = array \\(2 .. 6\\) of integer"
+
+gdb_test "ptype foo.array_type" \
+         "type = array \\(<>\\) of integer"
+
+# foo.five
+
+gdb_test "print foo.five(2)" \
+         " = 5"
+
+gdb_test "print foo.five(3)" \
+         " = 8"
+
+gdb_test "print foo.five(4)" \
+         " = 13"
+
+gdb_test "print foo.five(5)" \
+         " = 21"
+
+gdb_test "print foo.five(6)" \
+         " = 34"
+
+gdb_test "print foo.five'first" \
+         " = 2"
+
+gdb_test "print foo.five'last" \
+         " = 6"
+
+gdb_test "print foo.five'length" \
+         " = 5"
+
+# foo.five_tdef
+
+gdb_test "print foo.five_tdef" \
+         " = \\(2 => 5, 8, 13, 21, 34\\)"
+
+gdb_test "ptype foo.five_tdef" \
+         "type = array \\(2 .. 6\\) of integer"
+
+gdb_test "ptype foo.array_type" \
+         "type = array \\(<>\\) of integer"
+
+gdb_test "print foo.five_tdef(2)" \
+         " = 5"
+
+gdb_test "print foo.five_tdef(3)" \
+         " = 8"
+
+gdb_test "print foo.five_tdef(4)" \
+         " = 13"
+
+gdb_test "print foo.five_tdef(5)" \
+         " = 21"
+
+gdb_test "print foo.five_tdef(6)" \
+         " = 34"
+
+gdb_test "print foo.five_tdef'first" \
+         " = 2"
+
+gdb_test "print foo.five_tdef'last" \
+         " = 6"
+
+gdb_test "print foo.five_tdef'length" \
+         " = 5"
+
+gdb_test_no_output "set lang c"
+
+# foo__three
+
+gdb_test "print foo__three" \
+         " = \\{1, 2, 3\\}"
+
+gdb_test "ptype foo__three" \
+         "type = integer \\\[3\\\]"
+
+# foo__three_tdef
+
+gdb_test "print foo__three_tdef" \
+         " = \\{1, 2, 3\\}"
+
+gdb_test "ptype foo__three_tdef" \
+         "type = integer \\\[3\\\]"
+
+# foo__five
+
+gdb_test "print foo__five" \
+         " = \\{5, 8, 13, 21, 34\\}"
+
+gdb_test "ptype foo__five" \
+         "type = integer \\\[5\\\]"
+
+# foo__five_tdef
+
+gdb_test "print foo__five_tdef" \
+         " = \\{5, 8, 13, 21, 34\\}"
+
+gdb_test "ptype foo__five_tdef" \
+         "type = integer \\\[5\\\]"
+
+gdb_test "ptype foo__array_type" \
+         "type = integer \\\[variable length\\\]"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dup-psym.exp ./gdb/testsuite/gdb.dwarf2/dup-psym.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dup-psym.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dup-psym.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2005-2014 Free Software Foundation, Inc.
+#   Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dup-psym.S ./gdb/testsuite/gdb.dwarf2/dup-psym.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dup-psym.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dup-psym.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2014 Free Software Foundation, Inc.
+/* Copyright 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2014 Free Software Foundation, Inc.
+/* Copyright 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2014 Free Software Foundation, Inc.
+/* Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2014 Free Software Foundation, Inc.
+/* Copyright 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2014 Free Software Foundation, Inc.
+/* Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp ./gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.S ./gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp ./gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S ./gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp ./gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,11 +29,8 @@ if {[prepare_for_testing_full $testfile.
     return -1
 }
 
-set remote_dwarf_srcfile [gdb_remote_download host \
-			      ${srcdir}/${subdir}/${dwarf_srcfile}]
+gdb_remote_download host ${srcdir}/${subdir}/${dwarf_srcfile}
 
 # Force the debugger to create the file1.txt symtab, to make sure that
 # the debugger does not crash doing so.
 gdb_test "list file1.txt:1" "File 1 Line 1.*File 1 Line 8" "list file1.txt"
-
-remote_file host delete ${remote_dwarf_srcfile}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.S ./gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp ./gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.S ./gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-basic.exp ./gdb/testsuite/gdb.dwarf2/dw2-basic.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-basic.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-basic.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,11 +29,8 @@ if {[prepare_for_testing_full $testfile.
     return -1
 }
 
-set remote_dwarf_srcfile [gdb_remote_download host \
-			      ${srcdir}/${subdir}/${dwarf_srcfile}]
+gdb_remote_download host ${srcdir}/${subdir}/${dwarf_srcfile}
 
 gdb_test_no_output "set listsize 1"
 gdb_test "list func_cu1" "4\[ \t\]+File 1 Line 4"
 gdb_test "ptype func_cu1" "type = int \\(\\)"
-
-remote_file host delete ${remote_dwarf_srcfile}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-basic.S ./gdb/testsuite/gdb.dwarf2/dw2-basic.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-basic.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-basic.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.exp ./gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S ./gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,7 +15,8 @@
 
 	.text
 	.globl main
-main:	.byte 0
+main:
+	.4byte	0
 .Lmain_end:
 	.section	.debug_info
 debug_start:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c ./gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,13 +15,22 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+/* Target-specific way of forcing an instruction label.  */
+#ifdef __mips__
+#define START_INSNS asm (".insn");
+#else
+#define START_INSNS
+#endif
+
 /* Use DW_LANG_Fortran90 for case insensitive DWARF.  */
 asm (".globl cu_text_start");
 asm ("cu_text_start:");
+START_INSNS
 
 asm (".globl FUNC_lang_start");
 asm (".p2align 4");
 asm ("FUNC_lang_start:");
+START_INSNS
 
 void
 FUNC_lang (void)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S ./gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,14 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#if PTRBITS == 64
+# define PTRBYTE .8byte
+#elif PTRBITS == 32
+# define PTRBYTE .4byte
+#else
+# error "Unsupported pointer size"
+#endif
+
 	.section .debug_info
 .Lcu1_begin:
 	/* CU header */
@@ -22,21 +30,21 @@
 .Lcu1_start:
 	.2byte	2				/* DWARF Version */
 	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
-	.byte	4				/* Pointer size */
+	.byte	PTRBITS / 8			/* Pointer size */
 
 	/* CU die */
 	.uleb128 1				/* Abbrev: DW_TAG_compile_unit */
 	.ascii	"file1.txt\0"			/* DW_AT_name */
 	.ascii	"GNU C 3.3.3\0"			/* DW_AT_producer */
 	.byte	8				/* DW_AT_language (DW_LANG_Fortran90) */
-	.4byte		cu_text_start		/* DW_AT_low_pc */
-	.4byte		cu_text_end		/* DW_AT_high_pc */
+	PTRBYTE		cu_text_start		/* DW_AT_low_pc */
+	PTRBYTE		cu_text_end		/* DW_AT_high_pc */
 
 	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
 	.byte		1			/* DW_AT_external */
 	.ascii		"FUNC_lang\0"		/* DW_AT_name */
-	.4byte		FUNC_lang_start		/* DW_AT_low_pc */
-	.4byte		FUNC_lang_end		/* DW_AT_high_pc */
+	PTRBYTE		FUNC_lang_start		/* DW_AT_low_pc */
+	PTRBYTE		FUNC_lang_end		/* DW_AT_high_pc */
 	.byte		1			/* DW_AT_prototyped */
 	.4byte		.Ltype - .Lcu1_begin	/* DW_AT_type */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp ./gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,8 +21,15 @@ if {![dwarf2_support]} {
 
 standard_testfile .c dw2-case-insensitive-debug.S
 
+if [is_ilp32_target] {
+    set ptrbits 32
+} else {
+    set ptrbits 64
+}
+
 if { [prepare_for_testing ${testfile}.exp ${testfile} \
-	  [list $srcfile $srcfile2] {nodebug}] } {
+	  [list $srcfile $srcfile2] \
+	  [list nodebug additional_flags=-DPTRBITS=$ptrbits]] } {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-common-block.exp ./gdb/testsuite/gdb.dwarf2/dw2-common-block.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-common-block.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-common-block.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-common-block.S ./gdb/testsuite/gdb.dwarf2/dw2-common-block.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-common-block.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-common-block.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp ./gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S ./gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,12 +19,14 @@
 main:	.globl main
 
 gcc42:	.globl gcc42
+.Lgcc42_procstart:
 	.int 0
 	.type gcc42, %function
 	.size gcc42, . - gcc42
 .Lgcc42_procend:
 
 gcc43:	.globl gcc43
+.Lgcc43_procstart:
 	.int 0
 	.type gcc43, %function
 	.size gcc43, . - gcc43
@@ -43,7 +45,7 @@ gcc43:	.globl gcc43
 
 	.uleb128 1				/* Abbrev: DW_TAG_compile_unit */
 	.4byte	.Lgcc42_begin			/* DW_AT_stmt_list */
-	.4byte	gcc42				/* DW_AT_low_pc */
+	.4byte	.Lgcc42_procstart		/* DW_AT_low_pc */
 	.4byte	.Lgcc42_procend			/* DW_AT_high_pc */
 	.ascii	"/dir/d/dw2-compdir-oldgcc42.S\0"	/* DW_AT_name */
 	.ascii	"GNU C 4.2.0\0"			/* DW_AT_producer */
@@ -54,7 +56,7 @@ gcc43:	.globl gcc43
 	.byte		1			/* DW_AT_decl_file */
 	.byte		1			/* DW_AT_decl_line */
 	.ascii		"gcc42\0"		/* DW_AT_name */
-	.4byte		gcc42			/* DW_AT_low_pc */
+	.4byte		.Lgcc42_procstart	/* DW_AT_low_pc */
 	.4byte		.Lgcc42_procend		/* DW_AT_high_pc */
 
 	.byte		0			/* End of children of CU */
@@ -70,7 +72,7 @@ gcc43:	.globl gcc43
 
 	.uleb128 1				/* Abbrev: DW_TAG_compile_unit */
 	.4byte	.Lgcc43_begin			/* DW_AT_stmt_list */
-	.4byte	gcc43				/* DW_AT_low_pc */
+	.4byte	.Lgcc43_procstart		/* DW_AT_low_pc */
 	.4byte	.Lgcc43_procend			/* DW_AT_high_pc */
 	.ascii	"/dir/d/dw2-compdir-oldgcc43.S\0"	/* DW_AT_name */
 	.ascii	"GNU C 4.3.0\0"			/* DW_AT_producer */
@@ -81,7 +83,7 @@ gcc43:	.globl gcc43
 	.byte		1			/* DW_AT_decl_file */
 	.byte		1			/* DW_AT_decl_line */
 	.ascii		"gcc43\0"		/* DW_AT_name */
-	.4byte		gcc43			/* DW_AT_low_pc */
+	.4byte		.Lgcc43_procstart	/* DW_AT_low_pc */
 	.4byte		.Lgcc43_procend		/* DW_AT_high_pc */
 
 	.byte		0			/* End of children of CU */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-compressed.exp ./gdb/testsuite/gdb.dwarf2/dw2-compressed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-compressed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-compressed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -31,11 +31,8 @@ if {[prepare_for_testing_full $testfile.
     return -1
 }
 
-set remote_dwarf_srcfile [gdb_remote_download host \
-			      ${srcdir}/${subdir}/${dwarf_srcfile}]
+gdb_remote_download host ${srcdir}/${subdir}/${dwarf_srcfile}
 
 gdb_test_no_output "set listsize 1"
 gdb_test "list func_cu1" "4\[ \t\]+File 1 Line 4"
 gdb_test "ptype func_cu1" "type = int \\(\\)"
-
-remote_file host delete ${remote_dwarf_srcfile}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-compressed.S ./gdb/testsuite/gdb.dwarf2/dw2-compressed.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-compressed.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-compressed.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-const.exp ./gdb/testsuite/gdb.dwarf2/dw2-const.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-const.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-const.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-const.S ./gdb/testsuite/gdb.dwarf2/dw2-const.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-const.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-const.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp ./gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static-main.c ./gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.S ./gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp ./gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cu-size.S ./gdb/testsuite/gdb.dwarf2/dw2-cu-size.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-cu-size.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-cu-size.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c ./gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -63,6 +63,12 @@ FUNC (compdir_absolute_ldir_absolute_fil
 FUNC (compdir_absolute_ldir_absolute_file_absolute_same)	\
 FUNC (compdir_absolute_ldir_absolute_file_absolute_different)
 
+#ifdef __mips__
+#define START_INSNS asm (".insn\n");
+#else
+#define START_INSNS
+#endif
+
 /* Notes: (1) The '*_start' label below is needed because 'name' may
    point to a function descriptor instead of to the actual code.  (2)
    The '.balign' should specify the highest possible function
@@ -72,6 +78,7 @@ FUNC (compdir_absolute_ldir_absolute_fil
 #define FUNC(name)					\
   asm (".balign 8");					\
   asm (#name "_start: .globl " #name "_start\n");	\
+  START_INSNS						\
   static void						\
   name (void)						\
   {							\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp ./gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -19,6 +19,13 @@ if {![dwarf2_support]} {
     return 0  
 }
 
+# Find length of addresses in bytes.
+if {[is_64_target]} {
+    set addr_len 8
+} else {
+    set addr_len 4
+}
+
 standard_testfile
 set asmsrcfile [standard_output_file ${testfile}asm.S]
 set asmobjfile [standard_output_file ${testfile}asm.o]
@@ -36,6 +43,7 @@ puts $f "/* DO NOT EDIT! GENERATED AUTOM
 
 proc out_cu { name cu_dir cu_name line_dir line_name } {
     global f
+    global addr_len
 
     puts -nonewline $f "\
 .L${name}_begin:
@@ -43,7 +51,7 @@ proc out_cu { name cu_dir cu_name line_d
 .L${name}_start:
 	.2byte	2				/* DWARF Version */
 	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
-	.byte	4				/* Pointer size */
+	.byte	${addr_len}			/* Pointer size */
 "
     if { $cu_dir != "" } {
 	puts $f "  .uleb128 ABBREV_COMP_DIR_NAME /* Abbrev: DW_TAG_compile_unit */"
@@ -54,8 +62,8 @@ proc out_cu { name cu_dir cu_name line_d
 	.ascii	\"GNU C\\0\"			/* DW_AT_producer */
 	.byte	2				/* DW_AT_language (DW_LANG_C) */
 	.4byte	.Lline_${name}_begin		/* DW_AT_stmt_list */
-	.4byte	${name}_start			/* DW_AT_low_pc */
-	.4byte	${name}_end			/* DW_AT_high_pc */
+	.${addr_len}byte ${name}_start		/* DW_AT_low_pc */
+	.${addr_len}byte ${name}_end		/* DW_AT_high_pc */
 "
     if { $cu_dir != "" } {
 	puts $f "  .ascii $cu_dir /* DW_AT_comp_dir */"
@@ -65,8 +73,8 @@ proc out_cu { name cu_dir cu_name line_d
 
 	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
 	.asciz		\"${name}\"		/* DW_AT_name */
-	.4byte		${name}_start		/* DW_AT_low_pc */
-	.4byte		${name}_end		/* DW_AT_high_pc */
+	.${addr_len}byte ${name}_start		/* DW_AT_low_pc */
+	.${addr_len}byte ${name}_end		/* DW_AT_high_pc */
 
 	.byte		0			/* End of children of CU */
 .L${name}_end:
@@ -75,6 +83,7 @@ proc out_cu { name cu_dir cu_name line_d
 
 proc out_line { name cu_dir cu_name line_dir line_name } {
     global f
+    global addr_len
 
     puts -nonewline $f "\
 .Lline_${name}_begin:
@@ -120,16 +129,16 @@ proc out_line { name cu_dir cu_name line
 	.byte		3	/* DW_LNS_advance_line */
 	.sleb128	998	/* ... to 999 */
 	.byte		0	/* DW_LNE_set_address */
-	.uleb128	5
+	.uleb128	${addr_len}+1
 	.byte		2
-	.4byte		${name}_start
+	.${addr_len}byte ${name}_start
 	.byte		1	/* DW_LNS_copy */
 	.byte		3	/* DW_LNS_advance_line */
 	.sleb128	1	/* ... to 1000 */
 	.byte		0	/* DW_LNE_set_address */
-	.uleb128	5
+	.uleb128	${addr_len}+1
 	.byte		2
-	.4byte		${name}_end
+	.${addr_len}byte ${name}_end
 	.byte		1	/* DW_LNS_copy */
 	.byte		0	/* DW_LNE_end_of_sequence */
 	.uleb128	1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp ./gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S ./gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.exp ./gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.S ./gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dup-frame.c ./gdb/testsuite/gdb.dwarf2/dw2-dup-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dup-frame.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-dup-frame.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dup-frame.exp ./gdb/testsuite/gdb.dwarf2/dw2-dup-frame.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dup-frame.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-dup-frame.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S ./gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp ./gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S ./gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp ./gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S ./gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
 
 	.text
 pc_start:
-	.byte	0
+	.4byte	0
 pc_end:
 
 	.section	.debug_info
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-entry-value.exp ./gdb/testsuite/gdb.dwarf2/dw2-entry-value.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-entry-value.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-entry-value.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-entry-value-main.c ./gdb/testsuite/gdb.dwarf2/dw2-entry-value-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-entry-value-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-entry-value-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-entry-value.S ./gdb/testsuite/gdb.dwarf2/dw2-entry-value.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-entry-value.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-entry-value.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-error.c ./gdb/testsuite/gdb.dwarf2/dw2-error.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-error.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-error.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-error.exp ./gdb/testsuite/gdb.dwarf2/dw2-error.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-error.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-error.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-error.S ./gdb/testsuite/gdb.dwarf2/dw2-error.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-error.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-error.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-filename.exp ./gdb/testsuite/gdb.dwarf2/dw2-filename.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-filename.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-filename.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,8 +28,7 @@ if  { [gdb_compile "${srcdir}/${subdir}/
     return -1
 }
 
-set remote_dwarf_srcfile [gdb_remote_download host \
-			      ${srcdir}/${subdir}/${dwarf_srcfile}]
+gdb_remote_download host ${srcdir}/${subdir}/${dwarf_srcfile}
 
 clean_restart ${testfile}
 
@@ -42,5 +41,3 @@ gdb_test "interpreter-exec mi -file-list
 
 # And `info sources' should return the fullname incl. the directories.
 gdb_test "info sources" {[/\\]file1\.txt}
-
-remote_file host delete ${remote_dwarf_srcfile}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-filename.S ./gdb/testsuite/gdb.dwarf2/dw2-filename.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-filename.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-filename.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.exp ./gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.S ./gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icycle.c ./gdb/testsuite/gdb.dwarf2/dw2-icycle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icycle.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-icycle.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp ./gdb/testsuite/gdb.dwarf2/dw2-icycle.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-icycle.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icycle.S ./gdb/testsuite/gdb.dwarf2/dw2-icycle.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-icycle.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-icycle.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c ./gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -18,17 +18,12 @@
 int value = 0xdeadf00d;
 int *ptr = &value;
 
-asm (".section	\".text\"");
-asm (".balign 8");
-asm ("func_start: .globl func_start");
-
 static void
 func (void)
 {
+  asm ("func_label: .globl func_label");
 }
 
-asm ("func_end: .globl func_end");
-
 int
 main (void)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp ./gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -30,13 +30,13 @@ Dwarf::assemble $asm_file {
     declare_labels int_label
 
     extern func_start func_end ptr
+    global srcdir subdir srcfile
 
     cu {} {
 	compile_unit {
 	    {name file1.txt}
 	    {language @DW_LANG_C}
-	    {low_pc func_start addr}
-	    {high_pc func_end addr}
+	    {MACRO_AT_range { func ${srcdir}/${subdir}/${srcfile} }}
 	} {
 	    int_label: base_type {
 		{name int}
@@ -46,9 +46,7 @@ Dwarf::assemble $asm_file {
 
 	    subprogram {
 		{external 1 flag}
-		{name func}
-		{low_pc func_start addr}
-		{high_pc func_end addr}
+		{MACRO_AT_func { func ${srcdir}/${subdir}/${srcfile} }}
 	    } {
 		formal_parameter {
 		    {name param}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp ./gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inheritance.S ./gdb/testsuite/gdb.dwarf2/dw2-inheritance.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inheritance.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-inheritance.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-break.exp ./gdb/testsuite/gdb.dwarf2/dw2-inline-break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-break.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-inline-break.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-break.S ./gdb/testsuite/gdb.dwarf2/dw2-inline-break.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-break.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-inline-break.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp ./gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-param-main.c ./gdb/testsuite/gdb.dwarf2/dw2-inline-param-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-param-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-inline-param-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-param.S ./gdb/testsuite/gdb.dwarf2/dw2-inline-param.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-inline-param.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-inline-param.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-intercu.exp ./gdb/testsuite/gdb.dwarf2/dw2-intercu.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-intercu.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-intercu.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -42,5 +42,3 @@ gdb_test_no_output "set listsize 1"
 gdb_test "list func_cu1" "4\[ \t\]+File 1 Line 4"
 
 gdb_test "ptype func_cu1" "type = int2 \\(\\)"
-
-remote_file host delete ${remote_dwarf_srcfile}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-intercu.S ./gdb/testsuite/gdb.dwarf2/dw2-intercu.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-intercu.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-intercu.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-intermix.exp ./gdb/testsuite/gdb.dwarf2/dw2-intermix.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-intermix.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-intermix.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,11 +29,9 @@ if {[prepare_for_testing_full $testfile.
     return -1
 }
 
-set remote_dwarf_srcfile [gdb_remote_download host \
-			      ${srcdir}/${subdir}/${dwarf_srcfile}]
+gdb_remote_download host \
+    ${srcdir}/${subdir}/${dwarf_srcfile}
 
 gdb_test_no_output "set listsize 1"
 gdb_test "list func_cu1" "4\[ \t\]+File 1 Line 4"
 gdb_test "ptype func_cu1" "type = int \\(\\)"
-
-remote_file host delete ${remote_dwarf_srcfile}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-intermix.S ./gdb/testsuite/gdb.dwarf2/dw2-intermix.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-intermix.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-intermix.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp ./gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust-main.cc ./gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust-main.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust-main.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust-main.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.S ./gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.exp ./gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S ./gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp ./gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S ./gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.exp ./gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.S ./gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-noloc.exp ./gdb/testsuite/gdb.dwarf2/dw2-noloc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-noloc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-noloc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-noloc-main.c ./gdb/testsuite/gdb.dwarf2/dw2-noloc-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-noloc-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-noloc-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-noloc.S ./gdb/testsuite/gdb.dwarf2/dw2-noloc.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-noloc.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-noloc.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp ./gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-inner.S ./gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-inner.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-inner.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-inner.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-outer.S ./gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-outer.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-outer.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-outer.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-call.exp ./gdb/testsuite/gdb.dwarf2/dw2-op-call.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-call.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-op-call.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-call.S ./gdb/testsuite/gdb.dwarf2/dw2-op-call.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-call.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-op-call.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp ./gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,36 +50,12 @@ gdb_test "bt" "#0  ($hex in )?breakpt \\
 
 # (2) struct_param_single_reg_loc
 gdb_continue_to_breakpoint "Stop in breakpt for struct_param_single_reg_loc"
-set test "Backtrace for test struct_param_single_reg_loc"
-gdb_test_multiple "bt" "$test" {
-    -re "#0  ($hex in )?breakpt \\(\\)\r\n#1  ($hex in )?struct_param_single_reg_loc \\(operand0={a = 0xdeadbe00deadbe01, b = <optimized out>}, operand1={a = <optimized out>, b = 0xdeadbe04deadbe05}, operand2=<optimized out>\\)\r\n#2  ($hex in )?main \\(\\)\r\n$gdb_prompt $" {
-	xpass $test
-    }
-    -re "#0  ($hex in )?breakpt \\(\\)\r\n#1  ($hex in )?struct_param_single_reg_loc \\(operand0=<optimized out>, operand1=<optimized out>, operand2=<optimized out>\\)\r\n#2  ($hex in )?main \\(\\)\r\n$gdb_prompt $" {
-	kfail "symtab/14604" $test
-    }
-}
+gdb_test "bt" "#0  ($hex in )?breakpt \\(\\)\r\n#1  ($hex in )?struct_param_single_reg_loc \\(operand0={a = 0xdeadbe00deadbe01, b = <optimized out>}, operand1={a = <optimized out>, b = 0xdeadbe04deadbe05}, operand2=<optimized out>\\)\r\n#2  ($hex in )?main \\(\\)" "Backtrace for test struct_param_single_reg_loc"
 
 # (3) struct_param_two_reg_pieces
 gdb_continue_to_breakpoint "Stop in breakpt for struct_param_two_reg_pieces"
-set test "Backtrace for test struct_param_two_reg_pieces"
-gdb_test_multiple "bt" "$test" {
-    -re "#0  ($hex in )?breakpt \\(\\)\r\n#1  ($hex in )?struct_param_two_reg_pieces \\(operand0={a = 0xdeadbe04deadbe05, b = <optimized out>}, operand1={a = <optimized out>, b = 0xdeadbe00deadbe01}, operand2=<optimized out>\\)\r\n#2  ($hex in )?main \\(\\)\r\n$gdb_prompt $" {
-	xpass $test
-    }
-    -re "#0  ($hex in )?breakpt \\(\\)\r\n#1  ($hex in )?struct_param_two_reg_pieces \\(operand0=.*, operand1=.*, operand2=.*\\)\r\n#2  ($hex in )?main \\(\\)\r\n$gdb_prompt $" {
-	kfail "symtab/14605" $test
-    }
-}
+gdb_test "bt" "#0  ($hex in )?breakpt \\(\\)\r\n#1  ($hex in )?struct_param_two_reg_pieces \\(operand0={a = 0xdeadbe04deadbe05, b = <optimized out>}, operand1={a = <optimized out>, b = 0xdeadbe00deadbe01}, operand2=<optimized out>\\)\r\n#2  ($hex in )?main \\(\\)" "Backtrace for test struct_param_two_reg_pieces"
 
 # (4) int_param_two_reg_pieces
 gdb_continue_to_breakpoint "Stop in breakpt for int_param_two_reg_pieces"
-set test "Backtrace for test int_param_two_reg_pieces"
-gdb_test_multiple "bt" "$test" {
-    -re "#0  ($hex in )?breakpt \\(\\)\r\n#1  ($hex in )?int_param_two_reg_pieces \\(operand0=<optimized out>, operand1=<optimized out>, operand2=<optimized out>\\)\r\n#2  ($hex in )?main \\(\\)\r\n$gdb_prompt $" {
-	xpass $test
-    }
-    -re "#0  ($hex in )?breakpt \\(\\)\r\n#1  ($hex in )?int_param_two_reg_pieces \\(operand0=.*, operand1=.*, operand2=.*\\)\r\n#2  ($hex in )?main \\(\\)\r\n$gdb_prompt $" {
-	kfail "symtab/14605" $test
-    }
-}
+gdb_test "bt" "#0  ($hex in )?breakpt \\(\\)\r\n#1  ($hex in )?int_param_two_reg_pieces \\(operand0=<optimized out>, operand1=<optimized out>, operand2=<optimized out>\\)\r\n#2  ($hex in )?main \\(\\)" "Backtrace for test int_param_two_reg_pieces"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S ./gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -369,20 +369,20 @@ int_param_two_reg_pieces:
         .uleb128 0x7                    /* DW_TAG_structure_type */
         .string "big"                   /* DW_AT_name */
         .byte   0x10                    /* DW_AT_byte_size */
-        .long   .LDI6                   /* DW_AT_sibling */
+        .long   .LDI6 - .Ldebug_info0   /* DW_AT_sibling */
 
 .LDI4:
         .uleb128 0x8                    /* DW_TAG_member */
         .string "a"                     /* DW_AT_name */
-        .long   .LDI2                   /* DW_AT_type */
+        .long   .LDI2 - .Ldebug_info0   /* DW_AT_type */
         .byte   0x2                     /* DW_AT_data_member_location : length */
         .byte   0x23                    /* DW_OP_plus_uconst */
         .uleb128 0x0                    /*   + 0 */
 
 .LDI5:
-        .uleb128 0x8                    /* DW_TAG_structure_type */
+        .uleb128 0x8                    /* DW_TAG_member */
         .string "b"                     /* DW_AT_name */
-        .long   .LDI2                   /* DW_AT_type */
+        .long   .LDI2 - .Ldebug_info0   /* DW_AT_type */
         .byte   0x2                     /* DW_AT_data_member_location : length */
         .byte   0x23                    /* DW_OP_plus_uconst */
         .uleb128 0x8                    /*   + 8 */
@@ -392,7 +392,7 @@ int_param_two_reg_pieces:
 	.uleb128 0x6                    /* DW_TAG_subprogram */
 	.byte	0x1                     /* DW_AT_external */
 	.string	"main"                  /* DW_AT_name */
-	.long	.LDI2                   /* DW_AT_type */
+	.long	.LDI2 - .Ldebug_info0   /* DW_AT_type */
 	.quad	.Ltext1                 /* DW_AT_low_pc */
 	.quad	.Ltext3                 /* DW_AT_high_pc */
 
@@ -403,26 +403,26 @@ int_param_two_reg_pieces:
 	.byte	0x1                     /* DW_AT_prototyped */
 	.quad	.Ltext5                 /* DW_AT_low_pc */
 	.quad	.Ltext7                 /* DW_AT_high_pc */
-	.long	.LDI11                  /* DW_AT_sibling */
+	.long	.LDI11 - .Ldebug_info0  /* DW_AT_sibling */
 
 .LDI8:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand0"              /* DW_AT_name */
-	.long	.LDI2                   /* DW_AT_type */
+	.long	.LDI2 - .Ldebug_info0   /* DW_AT_type */
 	.byte	1                       /* DW_AT_location : length */
 	.byte	0x52                    /* DW_OP_reg2 */
 
 .LDI9:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand1"              /* DW_AT_name */
-	.long	.LDI2                   /* DW_AT_type */
+	.long	.LDI2 - .Ldebug_info0   /* DW_AT_type */
 	.byte	1                       /* DW_AT_location : length */
 	.byte	0x53                    /* DW_OP_reg3 */
 
 .LDI10:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand2"              /* DW_AT_name */
-	.long	.LDI2                   /* DW_AT_type */
+	.long	.LDI2 - .Ldebug_info0   /* DW_AT_type */
 	.byte	1                       /* DW_AT_location : length */
 	.byte	0x54                    /* DW_OP_reg4 */
 
@@ -435,26 +435,26 @@ int_param_two_reg_pieces:
 	.byte	0x1                     /* DW_AT_prototyped */
 	.quad	.Ltext8                 /* DW_AT_low_pc */
 	.quad	.Ltext10                /* DW_AT_high_pc */
-	.long	.LDI15                   /* DW_AT_sibling */
+	.long	.LDI15 - .Ldebug_info0  /* DW_AT_sibling */
 
 .LDI12:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand0"              /* DW_AT_name */
-	.long	.LDI3                   /* DW_AT_type */
+	.long	.LDI3 - .Ldebug_info0   /* DW_AT_type */
 	.byte	1                       /* DW_AT_location : length */
 	.byte	0x53                    /* DW_OP_reg3 */
 
 .LDI13:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand1"              /* DW_AT_name */
-	.long	.LDI3                   /* DW_AT_type */
+	.long	.LDI3 - .Ldebug_info0   /* DW_AT_type */
 	.byte	1                       /* DW_AT_location : length */
 	.byte	0x52                    /* DW_OP_reg2 */
 
 .LDI14:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand2"              /* DW_AT_name */
-	.long	.LDI3                   /* DW_AT_type */
+	.long	.LDI3 - .Ldebug_info0   /* DW_AT_type */
 	.byte	1                       /* DW_AT_location : length */
 	.byte	0x54                    /* DW_OP_reg4 */
 
@@ -467,12 +467,12 @@ int_param_two_reg_pieces:
 	.byte	0x1                     /* DW_AT_prototyped */
 	.quad	.Ltext11                /* DW_AT_low_pc */
 	.quad	.Ltext13                /* DW_AT_high_pc */
-	.long	.LDI19                  /* DW_AT_sibling */
+	.long	.LDI19 - .Ldebug_info0  /* DW_AT_sibling */
 
 .LDI16:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand0"              /* DW_AT_name */
-	.long	.LDI3                   /* DW_AT_type */
+	.long	.LDI3 - .Ldebug_info0   /* DW_AT_type */
 	.byte	6                       /* DW_AT_location : length */
 	.byte	0x51                    /* DW_OP_reg1 */
         .byte   0x93                    /* DW_OP_piece */
@@ -484,7 +484,7 @@ int_param_two_reg_pieces:
 .LDI17:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand1"              /* DW_AT_name */
-	.long	.LDI3                   /* DW_AT_type */
+	.long	.LDI3 - .Ldebug_info0   /* DW_AT_type */
 	.byte	6                       /* DW_AT_location : length */
 	.byte	0x52                    /* DW_OP_reg2 */
         .byte   0x93                    /* DW_OP_piece */
@@ -496,7 +496,7 @@ int_param_two_reg_pieces:
 .LDI18:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand2"              /* DW_AT_name */
-	.long	.LDI3                   /* DW_AT_type */
+	.long	.LDI3 - .Ldebug_info0   /* DW_AT_type */
 	.byte	6                       /* DW_AT_location : length */
 	.byte	0x54                    /* DW_OP_reg4 */
         .byte   0x93                    /* DW_OP_piece */
@@ -514,12 +514,12 @@ int_param_two_reg_pieces:
 	.byte	0x1                     /* DW_AT_prototyped */
 	.quad	.Ltext14                /* DW_AT_low_pc */
 	.quad	.Ltext16                /* DW_AT_high_pc */
-	.long	.LDIE0                  /* DW_AT_sibling */
+	.long	.LDIE0 - .Ldebug_info0  /* DW_AT_sibling */
 
 .LDI20:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand0"              /* DW_AT_name */
-	.long	.LDI2                   /* DW_AT_type */
+	.long	.LDI2 - .Ldebug_info0   /* DW_AT_type */
 	.byte	6                       /* DW_AT_location : length */
 	.byte	0x51                    /* DW_OP_reg1 */
         .byte   0x93                    /* DW_OP_piece */
@@ -531,7 +531,7 @@ int_param_two_reg_pieces:
 .LDI21:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand1"              /* DW_AT_name */
-	.long	.LDI2                   /* DW_AT_type */
+	.long	.LDI2 - .Ldebug_info0   /* DW_AT_type */
 	.byte	6                       /* DW_AT_location : length */
 	.byte	0x52                    /* DW_OP_reg2 */
         .byte   0x93                    /* DW_OP_piece */
@@ -543,7 +543,7 @@ int_param_two_reg_pieces:
 .LDI22:
 	.uleb128 0x4                    /* DW_TAG_formal_parameter */
 	.string	"operand2"              /* DW_AT_name */
-	.long	.LDI2                   /* DW_AT_type */
+	.long	.LDI2 - .Ldebug_info0   /* DW_AT_type */
 	.byte	6                       /* DW_AT_location : length */
 	.byte	0x54                    /* DW_OP_reg4 */
         .byte   0x93                    /* DW_OP_piece */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.exp ./gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.S ./gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-param-error.exp ./gdb/testsuite/gdb.dwarf2/dw2-param-error.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-param-error.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-param-error.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c ./gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-param-error.S ./gdb/testsuite/gdb.dwarf2/dw2-param-error.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-param-error.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-param-error.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-producer.exp ./gdb/testsuite/gdb.dwarf2/dw2-producer.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-producer.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-producer.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,11 +27,8 @@ if {[prepare_for_testing_full $testfile.
     return -1
 }
 
-set remote_dwarf_srcfile [gdb_remote_download host \
-			      ${srcdir}/${subdir}/${dwarf_srcfile}]
+gdb_remote_download host ${srcdir}/${subdir}/${dwarf_srcfile}
 
 gdb_test_no_output "set listsize 1"
 gdb_test "list func_cu1" "4\[ \t\]+File 1 Line 4"
 gdb_test "ptype func_cu1" "type = int \\(\\)"
-
-remote_file host delete ${remote_dwarf_srcfile}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-producer.S ./gdb/testsuite/gdb.dwarf2/dw2-producer.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-producer.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-producer.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ranges2.c ./gdb/testsuite/gdb.dwarf2/dw2-ranges2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ranges2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ranges2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ranges3.c ./gdb/testsuite/gdb.dwarf2/dw2-ranges3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ranges3.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ranges3.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ranges.c ./gdb/testsuite/gdb.dwarf2/dw2-ranges.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ranges.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ranges.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ranges.exp ./gdb/testsuite/gdb.dwarf2/dw2-ranges.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ranges.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ranges.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp ./gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c ./gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-main.c ./gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.S ./gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.c ./gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp ./gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S ./gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restore.exp ./gdb/testsuite/gdb.dwarf2/dw2-restore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restore.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-restore.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restore.S ./gdb/testsuite/gdb.dwarf2/dw2-restore.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restore.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-restore.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restrict.c ./gdb/testsuite/gdb.dwarf2/dw2-restrict.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restrict.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-restrict.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restrict.exp ./gdb/testsuite/gdb.dwarf2/dw2-restrict.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restrict.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-restrict.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restrict.S ./gdb/testsuite/gdb.dwarf2/dw2-restrict.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-restrict.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-restrict.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp ./gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S ./gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.c ./gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,31 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int x;
+
+int
+main ()
+{
+  int i;
+
+  /* Ensure runto_main stops before the for loop.  */
+  x = 0;
+
+  for (i = 0; i < 10; ++i) continue; /* stepi line */
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.exp ./gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,49 @@
+# Copyright 2012-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test gdb's coalescing of multiple line number entries for the same line
+# but with different discriminators.  PR 17276.
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if ![dwarf2_support] {
+    return 0  
+}
+
+# This test can only be run on x86-64 targets.
+if {![istarget x86_64-*] || ![is_lp64_target]} {
+    return 0
+}
+
+standard_testfile .S
+set csrcfile ${testfile}.c
+
+if { [prepare_for_testing "${testfile}.exp" "${testfile}" $srcfile {nodebug}] } {
+    return -1
+}
+
+if ![runto_main] then {
+    fail "Cannot run to main."
+    continue
+}
+
+set srcline [gdb_get_line_number "stepi line" $csrcfile]
+gdb_breakpoint $srcline
+gdb_continue_to_breakpoint "stepi line"
+
+# A stepi will land us in the middle of the line, and thus
+# gdb should print the pc value.
+gdb_test "stepi" "$hex\[ \t\]+$srcline\[ \t\]+\[^\r\n\]+"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.S ./gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.S	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.S	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,281 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This was made from dw2-single-line-discriminators.c using
+	clang -dA -S -g
+   and then hand-editing the assembly a bit (simplify paths,
+   tweak so gas accepts it).  */
+
+	.text
+	.file	"dw2-single-line-discriminators.c"
+	.section	.debug_info,"",@progbits
+.Lsection_info:
+	.section	.debug_abbrev,"",@progbits
+.Lsection_abbrev:
+	.section	.debug_line,"",@progbits
+.Lsection_line:
+	.section	.debug_pubnames,"",@progbits
+	.section	.debug_pubtypes,"",@progbits
+	.section	.debug_str,"MS",@progbits,1
+.Linfo_string:
+	.section	.debug_loc,"",@progbits
+.Lsection_debug_loc:
+	.section	.debug_ranges,"",@progbits
+.Ldebug_range:
+	.file	1 "gdb.dwarf2/dw2-single-line-discriminators.c"
+	.text
+	.globl	main
+	.align	16, 0x90
+	.type	main,@function
+main:                                   # @main
+.Lfunc_begin0:
+	.loc	1 22 0                  # dw2-single-line-discriminators.c:22:0
+	.cfi_startproc
+# BB#0:
+	pushq	%rbp
+.Ltmp0:
+	.cfi_def_cfa_offset 16
+.Ltmp1:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp2:
+	.cfi_def_cfa_register %rbp
+	movl	$0, -4(%rbp)
+	.loc	1 26 3 prologue_end     # dw2-single-line-discriminators.c:26:3
+.Ltmp3:
+	movl	$0, x
+	.loc	1 28 8                  # dw2-single-line-discriminators.c:28:8
+.Ltmp4:
+	movl	$0, -8(%rbp)
+.LBB0_1:                                # =>This Inner Loop Header: Depth=1
+	.loc	1 28 8 discriminator 4  # dw2-single-line-discriminators.c:28:8
+.Ltmp5:
+	cmpl	$10, -8(%rbp)
+	jge	.LBB0_4
+.Ltmp6:
+# BB#2:                                 #   in Loop: Header=BB0_1 Depth=1
+	.loc	1 28 28 discriminator 2 # dw2-single-line-discriminators.c:28:28
+	jmp	.LBB0_3
+.Ltmp7:
+.LBB0_3:                                #   in Loop: Header=BB0_1 Depth=1
+	.loc	1 28 23 discriminator 3 # dw2-single-line-discriminators.c:28:23
+	movl	-8(%rbp), %eax
+	addl	$1, %eax
+	movl	%eax, -8(%rbp)
+	jmp	.LBB0_1
+.Ltmp8:
+.LBB0_4:
+	movl	$0, %eax
+	.loc	1 30 3                  # dw2-single-line-discriminators.c:30:3
+	popq	%rbp
+	retq
+.Ltmp9:
+.Ltmp10:
+	.size	main, .Ltmp10-main
+.Lfunc_end0:
+	.cfi_endproc
+
+	.type	x,@object               # @x
+	.comm	x,4,4
+.Ldebug_end1:
+	.section	.debug_str,"MS",@progbits,1
+.Linfo_string0:
+	.asciz	"clang version (trunk r215195)"
+.Linfo_string1:
+	.asciz	"dw2-single-line-discriminators.c"
+.Linfo_string2:
+	.asciz	"/tmp/obj/gdb/testsuite"
+.Linfo_string3:
+	.asciz	"x"
+.Linfo_string4:
+	.asciz	"int"
+.Linfo_string5:
+	.asciz	"main"
+.Linfo_string6:
+	.asciz	"i"
+	.section	.debug_info,"",@progbits
+.L.debug_info_begin0:
+	.long	108                     # Length of Unit
+	.short	4                       # DWARF version number
+	.long	.Lsection_abbrev        # Offset Into Abbrev. Section
+	.byte	8                       # Address Size (in bytes)
+	.byte	1                       # Abbrev [1] 0xb:0x65 DW_TAG_compile_unit
+	.long	.Linfo_string0          # DW_AT_producer
+	.short	12                      # DW_AT_language
+	.long	.Linfo_string1          # DW_AT_name
+	.long	.Lline_table_start0     # DW_AT_stmt_list
+	.long	.Linfo_string2          # DW_AT_comp_dir
+	.quad	.Lfunc_begin0           # DW_AT_low_pc
+.Lset0 = .Lfunc_end0-.Lfunc_begin0      # DW_AT_high_pc
+	.long	.Lset0
+	.byte	2                       # Abbrev [2] 0x2a:0x15 DW_TAG_variable
+	.long	.Linfo_string3          # DW_AT_name
+	.long	63                      # DW_AT_type
+                                        # DW_AT_external
+	.byte	1                       # DW_AT_decl_file
+	.byte	18                      # DW_AT_decl_line
+	.byte	9                       # DW_AT_location
+	.byte	3
+	.quad	x
+	.byte	3                       # Abbrev [3] 0x3f:0x7 DW_TAG_base_type
+	.long	.Linfo_string4          # DW_AT_name
+	.byte	5                       # DW_AT_encoding
+	.byte	4                       # DW_AT_byte_size
+	.byte	4                       # Abbrev [4] 0x46:0x29 DW_TAG_subprogram
+	.quad	.Lfunc_begin0           # DW_AT_low_pc
+.Lset1 = .Lfunc_end0-.Lfunc_begin0      # DW_AT_high_pc
+	.long	.Lset1
+	.byte	1                       # DW_AT_frame_base
+	.byte	86
+	.long	.Linfo_string5          # DW_AT_name
+	.byte	1                       # DW_AT_decl_file
+	.byte	21                      # DW_AT_decl_line
+	.long	63                      # DW_AT_type
+                                        # DW_AT_external
+	.byte	1                       # DW_AT_accessibility
+                                        # DW_ACCESS_public
+	.byte	5                       # Abbrev [5] 0x60:0xe DW_TAG_variable
+	.byte	2                       # DW_AT_location
+	.byte	145
+	.byte	120
+	.long	.Linfo_string6          # DW_AT_name
+	.byte	1                       # DW_AT_decl_file
+	.byte	23                      # DW_AT_decl_line
+	.long	63                      # DW_AT_type
+	.byte	0                       # End Of Children Mark
+	.byte	0                       # End Of Children Mark
+.L.debug_info_end0:
+	.section	.debug_abbrev,"",@progbits
+	.byte	1                       # Abbreviation Code
+	.byte	17                      # DW_TAG_compile_unit
+	.byte	1                       # DW_CHILDREN_yes
+	.byte	37                      # DW_AT_producer
+	.byte	14                      # DW_FORM_strp
+	.byte	19                      # DW_AT_language
+	.byte	5                       # DW_FORM_data2
+	.byte	3                       # DW_AT_name
+	.byte	14                      # DW_FORM_strp
+	.byte	16                      # DW_AT_stmt_list
+	.byte	23                      # DW_FORM_sec_offset
+	.byte	27                      # DW_AT_comp_dir
+	.byte	14                      # DW_FORM_strp
+	.byte	17                      # DW_AT_low_pc
+	.byte	1                       # DW_FORM_addr
+	.byte	18                      # DW_AT_high_pc
+	.byte	6                       # DW_FORM_data4
+	.byte	0                       # EOM(1)
+	.byte	0                       # EOM(2)
+	.byte	2                       # Abbreviation Code
+	.byte	52                      # DW_TAG_variable
+	.byte	0                       # DW_CHILDREN_no
+	.byte	3                       # DW_AT_name
+	.byte	14                      # DW_FORM_strp
+	.byte	73                      # DW_AT_type
+	.byte	19                      # DW_FORM_ref4
+	.byte	63                      # DW_AT_external
+	.byte	25                      # DW_FORM_flag_present
+	.byte	58                      # DW_AT_decl_file
+	.byte	11                      # DW_FORM_data1
+	.byte	59                      # DW_AT_decl_line
+	.byte	11                      # DW_FORM_data1
+	.byte	2                       # DW_AT_location
+	.byte	24                      # DW_FORM_exprloc
+	.byte	0                       # EOM(1)
+	.byte	0                       # EOM(2)
+	.byte	3                       # Abbreviation Code
+	.byte	36                      # DW_TAG_base_type
+	.byte	0                       # DW_CHILDREN_no
+	.byte	3                       # DW_AT_name
+	.byte	14                      # DW_FORM_strp
+	.byte	62                      # DW_AT_encoding
+	.byte	11                      # DW_FORM_data1
+	.byte	11                      # DW_AT_byte_size
+	.byte	11                      # DW_FORM_data1
+	.byte	0                       # EOM(1)
+	.byte	0                       # EOM(2)
+	.byte	4                       # Abbreviation Code
+	.byte	46                      # DW_TAG_subprogram
+	.byte	1                       # DW_CHILDREN_yes
+	.byte	17                      # DW_AT_low_pc
+	.byte	1                       # DW_FORM_addr
+	.byte	18                      # DW_AT_high_pc
+	.byte	6                       # DW_FORM_data4
+	.byte	64                      # DW_AT_frame_base
+	.byte	24                      # DW_FORM_exprloc
+	.byte	3                       # DW_AT_name
+	.byte	14                      # DW_FORM_strp
+	.byte	58                      # DW_AT_decl_file
+	.byte	11                      # DW_FORM_data1
+	.byte	59                      # DW_AT_decl_line
+	.byte	11                      # DW_FORM_data1
+	.byte	73                      # DW_AT_type
+	.byte	19                      # DW_FORM_ref4
+	.byte	63                      # DW_AT_external
+	.byte	25                      # DW_FORM_flag_present
+	.byte	50                      # DW_AT_accessibility
+	.byte	11                      # DW_FORM_data1
+	.byte	0                       # EOM(1)
+	.byte	0                       # EOM(2)
+	.byte	5                       # Abbreviation Code
+	.byte	52                      # DW_TAG_variable
+	.byte	0                       # DW_CHILDREN_no
+	.byte	2                       # DW_AT_location
+	.byte	24                      # DW_FORM_exprloc
+	.byte	3                       # DW_AT_name
+	.byte	14                      # DW_FORM_strp
+	.byte	58                      # DW_AT_decl_file
+	.byte	11                      # DW_FORM_data1
+	.byte	59                      # DW_AT_decl_line
+	.byte	11                      # DW_FORM_data1
+	.byte	73                      # DW_AT_type
+	.byte	19                      # DW_FORM_ref4
+	.byte	0                       # EOM(1)
+	.byte	0                       # EOM(2)
+	.byte	0                       # EOM(3)
+	.section	.debug_ranges,"",@progbits
+	.section	.debug_loc,"",@progbits
+	.section	.debug_pubnames,"",@progbits
+.Lset2 = .LpubNames_end0-.LpubNames_begin0 # Length of Public Names Info
+	.long	.Lset2
+.LpubNames_begin0:
+	.short	2                       # DWARF Version
+	.long	.L.debug_info_begin0    # Offset of Compilation Unit Info
+.Lset3 = .L.debug_info_end0-.L.debug_info_begin0 # Compilation Unit Length
+	.long	.Lset3
+	.long	70                      # DIE offset
+	.asciz	"main"                  # External Name
+	.long	42                      # DIE offset
+	.asciz	"x"                     # External Name
+	.long	0                       # End Mark
+.LpubNames_end0:
+	.section	.debug_pubtypes,"",@progbits
+.Lset4 = .LpubTypes_end0-.LpubTypes_begin0 # Length of Public Types Info
+	.long	.Lset4
+.LpubTypes_begin0:
+	.short	2                       # DWARF Version
+	.long	.L.debug_info_begin0    # Offset of Compilation Unit Info
+.Lset5 = .L.debug_info_end0-.L.debug_info_begin0 # Compilation Unit Length
+	.long	.Lset5
+	.long	63                      # DIE offset
+	.asciz	"int"                   # External Name
+	.long	0                       # End Mark
+.LpubTypes_end0:
+
+	.ident	"clang version (trunk r215195)"
+	.section	".note.GNU-stack","",@progbits
+	.section	.debug_line,"",@progbits
+.Lline_table_start0:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c ./gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp ./gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -39,7 +39,16 @@ if {![dwarf2_support]} {
 standard_testfile
 set executable ${testfile}
 
-if {[build_executable ${testfile}.exp ${executable} "${testfile}.c ${testfile}.S" {additional_flags=-DINLINED}] == -1} {
+if [is_ilp32_target] {
+    set ptrbits 32
+} else {
+    set ptrbits 64
+}
+
+if { [build_executable ${testfile}.exp ${executable} \
+	  "${testfile}.c ${testfile}.S" \
+	  [list additional_flags=-DINLINED \
+		additional_flags=-DPTRBITS=$ptrbits]] == -1 } {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S ./gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,14 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#if PTRBITS == 64
+# define PTRBYTE .8byte
+#elif PTRBITS == 32
+# define PTRBYTE .4byte
+#else
+# error "Unsupported pointer size"
+#endif
+
 	.section .debug_info
 .Lcu1_begin:
 	/* CU header */
@@ -22,13 +30,13 @@
 .Lcu1_start:
 	.2byte	2				/* DWARF Version */
 	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
-	.byte	4				/* Pointer size */
+	.byte	PTRBITS / 8			/* Pointer size */
 
 	/* CU die */
 	.uleb128 1				/* Abbrev: DW_TAG_compile_unit */
 	.4byte	.Lline1_begin			/* DW_AT_stmt_list */
-	.4byte	func_start			/* DW_AT_low_pc */
-	.4byte	func_end			/* DW_AT_high_pc */
+	PTRBYTE	func_start			/* DW_AT_low_pc */
+	PTRBYTE	func_end			/* DW_AT_high_pc */
 	.ascii	"main.c\0"			/* DW_AT_name */
 	.ascii	"GNU C 4.5.0\0"			/* DW_AT_producer must be >= 4.5  */
 	.byte	2				/* DW_AT_language (DW_LANG_C) */
@@ -37,8 +45,8 @@
 	.byte		1			/* DW_AT_external */
 	.ascii		"func\0"		/* DW_AT_name */
 	.4byte		.Ltype_int-.Lcu1_begin	/* DW_AT_type */
-	.4byte		func_start		/* DW_AT_low_pc */
-	.4byte		func_end		/* DW_AT_high_pc */
+	PTRBYTE		func_start		/* DW_AT_low_pc */
+	PTRBYTE		func_end		/* DW_AT_high_pc */
 
 /* GDB `has_loclist' detection of -O2 -g code needs to see a DW_AT_location
    location list.  There may exist -O2 -g CUs still not needing/using any such
@@ -51,16 +59,16 @@
 
 	.uleb128	4			/* Abbrev: DW_TAG_inlined_subroutine */
 	.ascii		"inlined\0"		/* DW_AT_name */
-	.4byte		func0			/* DW_AT_low_pc */
-	.4byte		func1			/* DW_AT_high_pc */
+	PTRBYTE		func0			/* DW_AT_low_pc */
+	PTRBYTE		func1			/* DW_AT_high_pc */
 	.byte		3			/* DW_AT_inline (DW_INL_declared_inlined) */
 	.byte		1			/* DW_AT_call_file */
 	.byte		8			/* DW_AT_call_line */
 
 	.uleb128	4			/* Abbrev: DW_TAG_inlined_subroutine */
 	.ascii		"inlined2\0"		/* DW_AT_name */
-	.4byte		func2			/* DW_AT_low_pc */
-	.4byte		func3			/* DW_AT_high_pc */
+	PTRBYTE		func2			/* DW_AT_low_pc */
+	PTRBYTE		func3			/* DW_AT_high_pc */
 	.byte		3			/* DW_AT_inline (DW_INL_declared_inlined) */
 	.byte		1			/* DW_AT_call_file */
 	.byte		11			/* DW_AT_call_line */
@@ -68,8 +76,8 @@
 #ifdef INLINED
 	.uleb128	4			/* Abbrev: DW_TAG_inlined_subroutine */
 	.ascii		"otherinline\0"		/* DW_AT_name */
-	.4byte		func3			/* DW_AT_low_pc */
-	.4byte		func_end		/* DW_AT_high_pc */
+	PTRBYTE		func3			/* DW_AT_low_pc */
+	PTRBYTE		func_end		/* DW_AT_high_pc */
 	.byte		3			/* DW_AT_inline (DW_INL_declared_inlined) */
 	.byte		1			/* DW_AT_call_file */
 	.byte		9			/* DW_AT_call_line */
@@ -77,8 +85,8 @@
 
 #ifdef LEXICAL
 	.uleb128	5			/* Abbrev: DW_TAG_lexical_block */
-	.4byte		func3			/* DW_AT_low_pc */
-	.4byte		func_end		/* DW_AT_high_pc */
+	PTRBYTE		func3			/* DW_AT_low_pc */
+	PTRBYTE		func_end		/* DW_AT_high_pc */
 
 	/* GDB would otherwise ignore the DW_TAG_lexical_block.  */
 	.uleb128	6			/* Abbrev: DW_TAG_variable */
@@ -97,8 +105,8 @@
 	.byte		1			/* DW_AT_external */
 	.ascii		"func\0"		/* DW_AT_name */
 	.4byte		.Ltype_int-.Lcu1_begin	/* DW_AT_type */
-	.4byte		fund_start		/* DW_AT_low_pc */
-	.4byte		fund_end		/* DW_AT_high_pc */
+	PTRBYTE		fund_start		/* DW_AT_low_pc */
+	PTRBYTE		fund_end		/* DW_AT_high_pc */
 
 	.byte		0			/* End of children of DW_TAG_subprogram */
 
@@ -117,7 +125,7 @@ loclist:
 	/* Reset the location list base address first.  */
 	.4byte		-1, 0
 
-	.4byte		func_start, func_end
+	PTRBYTE		func_start, func_end
 	.2byte		2f-1f
 1:	.byte		0x50	/* DW_OP_reg0 */
 2:
@@ -277,7 +285,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		func_start
+	PTRBYTE		func_start
 	.byte		3	/* DW_LNS_advance_line */
 	.sleb128	4	/* ... to 5 */
 	.byte		1	/* DW_LNS_copy */
@@ -285,7 +293,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		func0
+	PTRBYTE		func0
 	.byte		4	/* DW_LNS_set_file */
 	.uleb128	2
 	.byte		3	/* DW_LNS_advance_line */
@@ -295,7 +303,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		func1
+	PTRBYTE		func1
 	.byte		4	/* DW_LNS_set_file */
 	.uleb128	1
 	.byte		3	/* DW_LNS_advance_line */
@@ -305,7 +313,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		func2
+	PTRBYTE		func2
 	.byte		4	/* DW_LNS_set_file */
 	.uleb128	2
 	.byte		3	/* DW_LNS_advance_line */
@@ -315,7 +323,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		func3
+	PTRBYTE		func3
 	.byte		4	/* DW_LNS_set_file */
 	.uleb128	1
 	.byte		3	/* DW_LNS_advance_line */
@@ -325,14 +333,14 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		func_end
+	PTRBYTE		func_end
 
 /* Equivalent copy but renamed s/func/fund/.  */
 
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		fund_start
+	PTRBYTE		fund_start
 	.byte		3	/* DW_LNS_advance_line */
 	.sleb128	-4	/* ... to 5 */
 	.byte		1	/* DW_LNS_copy */
@@ -340,7 +348,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		fund0
+	PTRBYTE		fund0
 	.byte		4	/* DW_LNS_set_file */
 	.uleb128	2
 	.byte		3	/* DW_LNS_advance_line */
@@ -350,7 +358,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		fund1
+	PTRBYTE		fund1
 	.byte		4	/* DW_LNS_set_file */
 	.uleb128	1
 	.byte		3	/* DW_LNS_advance_line */
@@ -360,7 +368,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		fund2
+	PTRBYTE		fund2
 	.byte		4	/* DW_LNS_set_file */
 	.uleb128	2
 	.byte		3	/* DW_LNS_advance_line */
@@ -370,7 +378,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		fund3
+	PTRBYTE		fund3
 	.byte		4	/* DW_LNS_set_file */
 	.uleb128	1
 	.byte		3	/* DW_LNS_advance_line */
@@ -380,7 +388,7 @@ loclist:
 	.byte		0	/* DW_LNE_set_address */
 	.uleb128	5
 	.byte		2
-	.4byte		fund_end
+	PTRBYTE		fund_end
 
 /* Line numbering end.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp ./gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@ if [is_remote host] {
     }
 }
 gdb_test_no_output "set complaints 100"
-gdb_test "file $binfile" {Reading symbols from .*\.\.\.location description stack underflow\.\.\.location description stack overflow\.\.\.done\.} "check partial symtab errors"
+gdb_test "file $binfile" {Reading symbols from .*\.\.\.location description stack underflow\.\.\.location description stack overflow\.\.\..*done\.} "check partial symtab errors"
 
 gdb_test "p underflow" {Asked for position 0 of stack, stack only has 0 elements on it\.}
 gdb_test "p overflow" " = 2"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.S ./gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-strp.exp ./gdb/testsuite/gdb.dwarf2/dw2-strp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-strp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-strp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-strp.S ./gdb/testsuite/gdb.dwarf2/dw2-strp.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-strp.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-strp.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.c ./gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp ./gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.S ./gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-unresolved.exp ./gdb/testsuite/gdb.dwarf2/dw2-unresolved.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-unresolved.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-unresolved.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-unresolved-main.c ./gdb/testsuite/gdb.dwarf2/dw2-unresolved-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-unresolved-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-unresolved-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-unresolved.S ./gdb/testsuite/gdb.dwarf2/dw2-unresolved.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-unresolved.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-unresolved.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp ./gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -26,6 +26,19 @@ if [prepare_for_testing ${testfile}.exp 
     return -1
 }
 
-# FAIL was: = (int *) 0x0
-# Such DIE record can be produced using: gcc -fdata-sections -Wl,-gc-sections
-gdb_test "print &var" {No symbol "var" in current context\.}
+proc test { } {
+    # FAIL was: = (int *) 0x0
+    # Such DIE record can be produced using: gcc -fdata-sections -Wl,-gc-sections
+    gdb_test "print &var" {No symbol "var" in current context\.}
+}
+
+test
+
+set saved_gdbflags $GDBFLAGS
+set GDBFLAGS "$GDBFLAGS --readnow"
+clean_restart ${binfile}
+set GDBFLAGS $saved_gdbflags
+
+with_test_prefix "readnow" {
+    test
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S ./gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp ./gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,17 +13,17 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Test dwarf4 signatured types.
+# Test dwarf4 signatured types (DW_TAG_type_unit).
 
 standard_testfile .cc dw4-sig-types-b.cc
 
 # This test is intended for targets which support DWARF-4.
-# Since we pass an explicit -gdwarf-4 to the compiler, we let
-# that be the test of whether the target supports it.
+# Since we pass an explicit -gdwarf-4 -fdebug-types-section to the compiler,
+# we let that be the test of whether the target supports it.
 
 if { [prepare_for_testing "${testfile}.exp" "${testfile}" \
 	  [list $srcfile $srcfile2] \
-	  {debug c++ additional_flags=-gdwarf-4}] } {
+	  {debug c++ additional_flags=-gdwarf-4 additional_flags=-fdebug-types-section}] } {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp ./gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.S ./gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dwp-symlink.c ./gdb/testsuite/gdb.dwarf2/dwp-symlink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dwp-symlink.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dwp-symlink.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dwp-symlink.exp ./gdb/testsuite/gdb.dwarf2/dwp-symlink.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dwp-symlink.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dwp-symlink.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dwzbuildid.exp ./gdb/testsuite/gdb.dwarf2/dwzbuildid.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dwzbuildid.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dwzbuildid.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dwz.exp ./gdb/testsuite/gdb.dwarf2/dwz.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dwz.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dwz.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -22,65 +22,18 @@ if {![dwarf2_support]} {
 
 standard_testfile main.c dwz.S
 
-if  {[gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile}1.o \
-	  object {nodebug}] != ""} {
-    return -1
-}
-
-# Start GDB and load object file, compute the function length which is
-# needed in the Dwarf Assembler below.
-clean_restart ${testfile}1.o
-
-set main_length ""
-set test "disassemble main"
-gdb_test_multiple $test $test {
-    -re ".*$hex <\\+($decimal)>:\[^\r\n\]+\r\nEnd of assembler dump\.\r\n$gdb_prompt $" {
-	set main_length $expect_out(1,string)
-	pass $test
-    }
-}
-
-if { $main_length == "" } {
-    # Bail out here, because we can't do the following tests if
-    # $main_length is unknown.
-    return -1
-}
-
-# Compute the size of the last instruction.
-
-set test "x/2i main+$main_length"
-gdb_test_multiple $test $test {
-    -re ".*($hex) <main\\+$main_length>:\[^\r\n\]+\r\n\[ \]+($hex).*\.\r\n$gdb_prompt $" {
-	set start $expect_out(1,string)
-	set end $expect_out(2,string)
-
-	set main_length [expr $main_length + $end - $start]
-	pass $test
-    }
-}
-
-if { $main_length == "" } {
-    # Bail out here, because we can't do the following tests if
-    # $main_length is unknown.
-    return -1
-}
-
-gdb_exit
-
 # Create the DWARF.
 set asm_file [standard_output_file $srcfile2]
 Dwarf::assemble $asm_file {
     declare_labels partial_label int_label int_label2
-    global main_length
+    global srcdir subdir srcfile
 
     extern main
 
     cu {} {
 	partial_label: partial_unit {} {
 	    subprogram {
-		{name main}
-		{low_pc main addr}
-		{high_pc "main + $main_length" addr}
+ 		{MACRO_AT_func { main ${srcdir}/${subdir}/${srcfile} }}
 	    }
 	}
     }
@@ -128,17 +81,10 @@ Dwarf::assemble $asm_file {
     }
 }
 
-if  {[gdb_compile $asm_file ${binfile}2.o object {nodebug}] != ""} {
+if [prepare_for_testing ${testfile}.exp $testfile "${asm_file} ${srcfile}" {}] {
     return -1
 }
 
-if  {[gdb_compile [list ${binfile}1.o ${binfile}2.o] \
-	  "${binfile}" executable {}] != ""} {
-    return -1
-}
-
-clean_restart ${testfile}
-
 if ![runto_main] {
     return -1
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dynarr-ptr.c ./gdb/testsuite/gdb.dwarf2/dynarr-ptr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dynarr-ptr.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dynarr-ptr.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,30 @@
+/* Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int table_1_data[] = {1, 3, 1, 2, 3};
+int *table_1_ptr = &table_1_data[2];
+
+int table_2_data[] = {2, 6, 5, 8, 13, 21, 34};
+int *table_2_ptr = &table_2_data[2];
+
+int
+main (void)
+{
+  *table_1_ptr = 2;
+  *table_2_ptr = 3;
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp ./gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,353 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if {![dwarf2_support]} {
+    return 0
+}
+
+standard_testfile dynarr-ptr.c dynarr-ptr-dw.S
+
+# We need to know the size of integer and address types in order
+# to write some of the debugging info we'd like to generate.
+#
+# For that, we ask GDB by debugging our dynarr-ptr.c program.
+# Any program would do, but since we already have dynarr-ptr.c
+# specifically for this testcase, might as well use that.
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+    untested ${testfile}.exp
+    return -1
+}
+
+# Make some DWARF for the test.
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+    cu {} {
+ 	DW_TAG_compile_unit {
+                {DW_AT_language @DW_LANG_Ada95}
+                {DW_AT_name     foo.adb}
+                {DW_AT_comp_dir /tmp}
+        } {
+            declare_labels integer_label array_label array_ptr_label \
+                array_typedef_label
+            set ptr_size [get_sizeof "void *" 96]
+
+            integer_label: DW_TAG_base_type {
+                {DW_AT_byte_size 4 DW_FORM_sdata}
+                {DW_AT_encoding  @DW_ATE_signed}
+                {DW_AT_name      integer}
+            }
+
+	    array_label: DW_TAG_array_type {
+		{DW_AT_name foo__array_type}
+		{DW_AT_type :$integer_label}
+                {external 1 flag}
+	    } {
+		DW_TAG_subrange_type {
+		    {DW_AT_type        :$integer_label}
+                    {DW_AT_lower_bound {
+                        DW_OP_push_object_address
+                        DW_OP_lit8
+                        DW_OP_minus
+                        DW_OP_deref_size 4
+                    } SPECIAL_expr}
+                    {DW_AT_upper_bound {
+                        DW_OP_push_object_address
+                        DW_OP_lit4
+                        DW_OP_minus
+                        DW_OP_deref_size 4
+                    } SPECIAL_expr}
+		}
+	    }
+            array_ptr_label: DW_TAG_pointer_type {
+                {DW_AT_byte_size :$ptr_size }
+                {DW_AT_type :$array_label}
+            }
+            array_typedef_label: DW_TAG_typedef {
+                {DW_AT_name "foo__array_ptr"}
+                {DW_AT_type :$array_ptr_label}
+            }
+            DW_TAG_variable {
+                {DW_AT_name foo__three_ptr}
+                {DW_AT_type :$array_ptr_label}
+                {DW_AT_location {
+                    DW_OP_addr table_1_ptr
+                } SPECIAL_expr}
+                {external 1 flag}
+            }
+            DW_TAG_variable {
+                {DW_AT_name foo__three_ptr_tdef}
+                {DW_AT_type :$array_typedef_label}
+                {DW_AT_location {
+                    DW_OP_addr table_1_ptr
+                } SPECIAL_expr}
+                {external 1 flag}
+            }
+            DW_TAG_variable {
+                {DW_AT_name foo__five_ptr}
+                {DW_AT_type :$array_ptr_label}
+                {DW_AT_location {
+                    DW_OP_addr table_2_ptr
+                } SPECIAL_expr}
+                {external 1 flag}
+            }
+            DW_TAG_variable {
+                {DW_AT_name foo__five_ptr_tdef}
+                {DW_AT_type :$array_typedef_label}
+                {DW_AT_location {
+                    DW_OP_addr table_2_ptr
+                } SPECIAL_expr}
+                {external 1 flag}
+            }
+	}
+    }
+}
+
+# Now that we've generated the DWARF debugging info, rebuild our
+# program using our debug info instead of the info generated by
+# the compiler.
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} \
+	  [list $srcfile $asm_file] {nodebug}] } {
+    return -1
+}
+
+if ![runto_main] {
+    return -1
+}
+
+gdb_test_no_output "set language ada"
+
+# foo.three_ptr.all
+
+gdb_test "print foo.three_ptr.all" \
+         " = \\(1, 2, 3\\)"
+
+gdb_test "print foo.three_ptr.all(1)" \
+         " = 1"
+
+gdb_test "print foo.three_ptr.all(2)" \
+         " = 2"
+
+gdb_test "print foo.three_ptr.all(3)" \
+         " = 3"
+
+gdb_test "print foo.three_ptr.all'first" \
+         " = 1"
+
+gdb_test "print foo.three_ptr.all'last" \
+         " = 3"
+
+gdb_test "print foo.three_ptr.all'length" \
+         " = 3"
+
+gdb_test "ptype foo.three_ptr.all" \
+         " = array \\(<>\\) of integer"
+
+# foo.three_ptr
+
+gdb_test "print foo.three_ptr(1)" \
+         " = 1"
+
+gdb_test "print foo.three_ptr(2)" \
+         " = 2"
+
+gdb_test "print foo.three_ptr(3)" \
+         " = 3"
+
+gdb_test "print foo.three_ptr'first" \
+         " = 1"
+
+gdb_test "print foo.three_ptr'last" \
+         " = 3"
+
+gdb_test "print foo.three_ptr'length" \
+         " = 3"
+
+gdb_test "ptype foo.three_ptr" \
+         " = access array \\(<>\\) of integer"
+
+# foo.three_ptr_tdef.all
+
+gdb_test "print foo.three_ptr_tdef.all" \
+         " = \\(1, 2, 3\\)"
+
+gdb_test "print foo.three_ptr_tdef.all(1)" \
+         " = 1"
+
+gdb_test "print foo.three_ptr_tdef.all(2)" \
+         " = 2"
+
+gdb_test "print foo.three_ptr_tdef.all(3)" \
+         " = 3"
+
+gdb_test "print foo.three_ptr_tdef.all'first" \
+         " = 1"
+
+gdb_test "print foo.three_ptr_tdef.all'last" \
+         " = 3"
+
+gdb_test "print foo.three_ptr_tdef.all'length" \
+         " = 3"
+
+gdb_test "ptype foo.three_ptr_tdef.all" \
+         " = array \\(<>\\) of integer"
+
+# foo.three_ptr_tdef
+
+gdb_test "print foo.three_ptr_tdef(1)" \
+         " = 1"
+
+gdb_test "print foo.three_ptr_tdef(2)" \
+         " = 2"
+
+gdb_test "print foo.three_ptr_tdef(3)" \
+         " = 3"
+
+gdb_test "print foo.three_ptr_tdef'first" \
+         " = 1"
+
+gdb_test "print foo.three_ptr_tdef'last" \
+         " = 3"
+
+gdb_test "print foo.three_ptr_tdef'length" \
+         " = 3"
+
+gdb_test "ptype foo.three_ptr_tdef" \
+         " = access array \\(<>\\) of integer"
+
+# foo.five_ptr.all
+
+gdb_test "print foo.five_ptr.all" \
+         " = \\(2 => 5, 8, 13, 21, 34\\)"
+
+gdb_test "print foo.five_ptr.all(2)" \
+         " = 5"
+
+gdb_test "print foo.five_ptr.all(3)" \
+         " = 8"
+
+gdb_test "print foo.five_ptr.all(4)" \
+         " = 13"
+
+gdb_test "print foo.five_ptr.all(5)" \
+         " = 21"
+
+gdb_test "print foo.five_ptr.all(6)" \
+         " = 34"
+
+gdb_test "print foo.five_ptr.all'first" \
+         " = 2"
+
+gdb_test "print foo.five_ptr.all'last" \
+         " = 6"
+
+gdb_test "print foo.five_ptr.all'length" \
+         " = 5"
+
+gdb_test "ptype foo.five_ptr.all" \
+         " = array \\(<>\\) of integer"
+
+# foo.five_ptr
+
+gdb_test "print foo.five_ptr(2)" \
+         " = 5"
+
+gdb_test "print foo.five_ptr(3)" \
+         " = 8"
+
+gdb_test "print foo.five_ptr(4)" \
+         " = 13"
+
+gdb_test "print foo.five_ptr(5)" \
+         " = 21"
+
+gdb_test "print foo.five_ptr(6)" \
+         " = 34"
+
+gdb_test "print foo.five_ptr'first" \
+         " = 2"
+
+gdb_test "print foo.five_ptr'last" \
+         " = 6"
+
+gdb_test "print foo.five_ptr'length" \
+         " = 5"
+
+gdb_test "ptype foo.five_ptr" \
+         " = access array \\(<>\\) of integer"
+
+# foo.five_ptr_tdef.all
+
+gdb_test "print foo.five_ptr_tdef.all" \
+         " = \\(2 => 5, 8, 13, 21, 34\\)"
+
+gdb_test "print foo.five_ptr_tdef.all(2)" \
+         " = 5"
+
+gdb_test "print foo.five_ptr_tdef.all(3)" \
+         " = 8"
+
+gdb_test "print foo.five_ptr_tdef.all(4)" \
+         " = 13"
+
+gdb_test "print foo.five_ptr_tdef.all(5)" \
+         " = 21"
+
+gdb_test "print foo.five_ptr_tdef.all(6)" \
+         " = 34"
+
+gdb_test "print foo.five_ptr_tdef.all'first" \
+         " = 2"
+
+gdb_test "print foo.five_ptr_tdef.all'last" \
+         " = 6"
+
+gdb_test "print foo.five_ptr_tdef.all'length" \
+         " = 5"
+
+gdb_test "ptype foo.five_ptr_tdef.all" \
+         " = array \\(<>\\) of integer"
+
+# foo.five_ptr_tdef
+
+gdb_test "print foo.five_ptr_tdef(2)" \
+         " = 5"
+
+gdb_test "print foo.five_ptr_tdef(3)" \
+         " = 8"
+
+gdb_test "print foo.five_ptr_tdef(4)" \
+         " = 13"
+
+gdb_test "print foo.five_ptr_tdef(5)" \
+         " = 21"
+
+gdb_test "print foo.five_ptr_tdef(6)" \
+         " = 34"
+
+gdb_test "print foo.five_ptr_tdef'first" \
+         " = 2"
+
+gdb_test "print foo.five_ptr_tdef'last" \
+         " = 6"
+
+gdb_test "print foo.five_ptr_tdef'length" \
+         " = 5"
+
+gdb_test "ptype foo.five_ptr_tdef" \
+         " = access array \\(<>\\) of integer"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/enum-type.exp ./gdb/testsuite/gdb.dwarf2/enum-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/enum-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/enum-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ Dwarf::assemble $asm_file {
 	    } {
 		DW_TAG_enumerator {
 		    {DW_AT_name ONE}
-		    {DW_AT_const_value 1}
+		    {DW_AT_const_value 1 DW_FORM_sdata}
 		}
 	    }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-base.c ./gdb/testsuite/gdb.dwarf2/fission-base.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-base.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-base.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-base.exp ./gdb/testsuite/gdb.dwarf2/fission-base.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-base.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-base.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-base.S ./gdb/testsuite/gdb.dwarf2/fission-base.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-base.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-base.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-loclists.exp ./gdb/testsuite/gdb.dwarf2/fission-loclists.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-loclists.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-loclists.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-loclists.S ./gdb/testsuite/gdb.dwarf2/fission-loclists.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-loclists.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-loclists.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-mix2.c ./gdb/testsuite/gdb.dwarf2/fission-mix2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-mix2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-mix2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-mix.c ./gdb/testsuite/gdb.dwarf2/fission-mix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-mix.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-mix.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-mix.exp ./gdb/testsuite/gdb.dwarf2/fission-mix.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-mix.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-mix.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-mix.h ./gdb/testsuite/gdb.dwarf2/fission-mix.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-mix.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-mix.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-reread.exp ./gdb/testsuite/gdb.dwarf2/fission-reread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-reread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-reread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-reread.S ./gdb/testsuite/gdb.dwarf2/fission-reread.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/fission-reread.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/fission-reread.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/gdb-index.exp ./gdb/testsuite/gdb.dwarf2/gdb-index.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/gdb-index.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/gdb-index.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp ./gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptr-64bit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr-64bit.S ./gdb/testsuite/gdb.dwarf2/implptr-64bit.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr-64bit.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptr-64bit.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr.c ./gdb/testsuite/gdb.dwarf2/implptr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptrconst.c ./gdb/testsuite/gdb.dwarf2/implptrconst.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptrconst.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptrconst.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptrconst.exp ./gdb/testsuite/gdb.dwarf2/implptrconst.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptrconst.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptrconst.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr.exp ./gdb/testsuite/gdb.dwarf2/implptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp ./gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -19,11 +19,68 @@ if {![dwarf2_support]} {
     return 0  
 }
 
-standard_testfile .S
-set mainfile main.c
+standard_testfile main.c .S
 set executable ${testfile}
 
-if [prepare_for_testing ${testfile}.exp $executable "${srcfile} ${mainfile}" {}] {
+# Create the DWARF.
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+    global srcdir subdir srcfile
+
+    cu { version 3 addr_size 4 } {
+	compile_unit {
+	    {producer "GNU C 4.4.3"}
+	    {language @DW_LANG_C89}
+	    {name 1.c}
+	} {
+	    declare_labels int_label struct_label pointer_label variable_label
+
+	    int_label: base_type {
+		{byte_size 4 sdata}
+		{encoding @DW_ATE_signed}
+		{name int}
+	    }
+
+	    struct_label: structure_type {
+		{name s}
+		{byte_size 4 sdata}
+	    } {
+		member {
+		    {name f}
+		    {type :$int_label}
+		    {data_member_location 0 data1}
+		}
+	    }
+
+	    subprogram {
+		{MACRO_AT_func { main ${srcdir}/${subdir}/${srcfile} }}
+		{type :$int_label}
+		{external 1 flag}
+	    } {
+		pointer_label: pointer_type {
+		    {byte_size 4 sdata}
+		    {type :$struct_label}
+		}
+
+		variable_label: DW_TAG_variable {
+		    {name v}
+		    {location {} DW_FORM_block1}
+		    {type :$struct_label}
+		}
+
+		DW_TAG_variable {
+		    {name p}
+		    {location {
+			GNU_implicit_pointer $variable_label 0
+		    } SPECIAL_expr}
+		    {type :$pointer_label}
+		}
+	    }
+	}
+    }
+}
+
+if [prepare_for_testing ${testfile}.exp $executable "${asm_file} ${srcfile}" {}] {
     return -1
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S ./gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S	1970-01-01 00:00:00.000000000 +0000
@@ -1,166 +0,0 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-	.section	.debug_info
-d:
-	.4byte	debug_end - 1f	/* Length of Compilation Unit Info */
-1:
-	.2byte	0x3	/* DWARF version number */
-	.4byte	.Ldebug_abbrev0	/* Offset Into Abbrev. Section */
-	.byte	0x4	/* Pointer Size (in bytes) */
-	.uleb128 0x1	/* (DIE (0xb) DW_TAG_compile_unit) */
-	.ascii "GNU C 4.4.3\0"	/* DW_AT_producer */
-	.byte	0x1	/* DW_AT_language */
-	.ascii "1.c\0"	/* DW_AT_name */
-
-.Ltype_int:
-	.uleb128 0x7	/* DW_TAG_base_type */
-	.byte	0x4	/* DW_AT_byte_size */
-	.byte	0x5	/* DW_AT_encoding */
-	.ascii "int\0"	/* DW_AT_name */
-
-.Ltype_struct:
-	.uleb128 0x2	/* DW_TAG_structure_type */
-	.ascii "s\0"	/* DW_AT_name */
-	.byte	4	/* DW_AT_byte_size */
-
-	.uleb128 0x3	/* DW_TAG_member */
-	.ascii "f\0"	/* DW_AT_name */
-	.4byte	.Ltype_int - d	/* DW_AT_type */
-	.byte	0	/* DW_AT_data_member_location */
-
-	.byte	0x0	/* end of children of DW_TAG_structure_type */
-
-	.uleb128	6			/* Abbrev: DW_TAG_subprogram */
-	.ascii		"main\0"		/* DW_AT_name */
-	.4byte		main			/* DW_AT_low_pc */
-	.4byte		main + 0x100		/* DW_AT_high_pc */
-	.4byte		.Ltype_int - d		/* DW_AT_type */
-	.byte		1			/* DW_AT_external */
-
-.Ltype_structptr:
-	.uleb128 0x5	/* DW_TAG_pointer_type */
-	.byte	0x4	/* DW_AT_byte_size */
-	.4byte	.Ltype_struct - d	/* DW_AT_type */
-
-.Lvar_out:
-	.uleb128 0x4	/* (DW_TAG_variable) */
-	.ascii "v\0"	/* DW_AT_name */
-	.byte	0	/* DW_AT_location: DW_FORM_block1 */
-	.4byte	.Ltype_struct - d	/* DW_AT_type */
-
-	.uleb128 0x4	/* (DW_TAG_variable) */
-	.ascii "p\0"	/* DW_AT_name */
-	.byte	2f - 1f	/* DW_AT_location: DW_FORM_block1 */
-1:
-	.byte	0xf2	/* DW_OP_GNU_implicit_pointer */
-	.4byte	.Lvar_out	/* referenced DIE, section-relative! */
-	.sleb128	0	/* offset */
-2:
-	.4byte	.Ltype_structptr - d	/* DW_AT_type */
-
-	.byte	0x0	/* end of children of main */
-
-	.byte	0x0	/* end of children of CU */
-debug_end:
-
-	.section	.debug_abbrev
-.Ldebug_abbrev0:
-
-	.uleb128 0x1	/* (abbrev code) */
-	.uleb128 0x11	/* (TAG: DW_TAG_compile_unit) */
-	.byte	0x1	/* DW_children_yes */
-	.uleb128 0x25	/* (DW_AT_producer) */
-	.uleb128 0x8	/* (DW_FORM_string) */
-	.uleb128 0x13	/* (DW_AT_language) */
-	.uleb128 0xb	/* (DW_FORM_data1) */
-	.uleb128 0x3	/* (DW_AT_name) */
-	.uleb128 0x8	/* (DW_FORM_string) */
-	.byte	0x0
-	.byte	0x0
-
-	.uleb128 0x2	/* (abbrev code) */
-	.uleb128 0x13	/* (TAG: DW_TAG_structure_type) */
-	.byte	0x1	/* DW_children_yes */
-	.uleb128 0x3	/* (DW_AT_name) */
-	.uleb128 0x8	/* (DW_FORM_string) */
-	.uleb128 0xb	/* (DW_AT_byte_size) */
-	.uleb128 0xb	/* (DW_FORM_data1) */
-	.byte	0
-	.byte	0
-
-	.uleb128 0x3	/* (abbrev code) */
-	.uleb128 0xd	/* (TAG: DW_TAG_member) */
-	.byte	0	/* DW_children_no */
-	.uleb128 0x3	/* (DW_AT_name) */
-	.uleb128 0x8	/* (DW_FORM_string) */
-	.uleb128 0x49	/* (DW_AT_type) */
-	.uleb128 0x13	/* (DW_FORM_ref4) */
-	.uleb128 0x38	/* (DW_AT_data_member_location) */
-	.uleb128 0xb	/* (DW_FORM_data1) */
-	.byte	0
-	.byte	0
-
-	.uleb128 0x4	/* (abbrev code) */
-	.uleb128 0x34	/* (TAG: DW_TAG_variable) */
-	.byte	0x0	/* DW_children_yes */
-	.uleb128 0x3	/* (DW_AT_name) */
-	.uleb128 0x8	/* (DW_FORM_string) */
-	.uleb128 0x02	/* (DW_AT_location) */
-	.uleb128 0xa	/* (DW_FORM_block1) */
-	.uleb128 0x49	/* (DW_AT_type) */
-	.uleb128 0x13	/* (DW_FORM_ref4) */
-	.byte	0x0
-	.byte	0x0
-
-	.uleb128 0x5	/* (abbrev code) */
-	.uleb128 0xf	/* (TAG: DW_TAG_pointer_type) */
-	.byte	0x0	/* DW_children_no */
-	.uleb128 0xb	/* (DW_AT_byte_size) */
-	.uleb128 0xb	/* (DW_FORM_data1) */
-	.uleb128 0x49	/* (DW_AT_type) */
-	.uleb128 0x13	/* (DW_FORM_ref4) */
-	.byte	0x0
-	.byte	0x0
-
-	.uleb128	6			/* Abbrev code */
-	.uleb128	0x2e			/* DW_TAG_subprogram */
-	.byte		1			/* has_children */
-	.uleb128	0x3			/* DW_AT_name */
-	.uleb128	0x8			/* DW_FORM_string */
-	.uleb128	0x11			/* DW_AT_low_pc */
-	.uleb128	0x1			/* DW_FORM_addr */
-	.uleb128	0x12			/* DW_AT_high_pc */
-	.uleb128	0x1			/* DW_FORM_addr */
-	.uleb128	0x49			/* DW_AT_type */
-	.uleb128	0x13			/* DW_FORM_ref4 */
-	.uleb128	0x3f			/* DW_AT_external */
-	.uleb128	0xc			/* DW_FORM_flag */
-	.byte		0x0			/* Terminator */
-	.byte		0x0			/* Terminator */
-
-	.uleb128 0x7	/* (abbrev code) */
-	.uleb128 0x24	/* (TAG: DW_TAG_base_type) */
-	.byte	0	/* DW_children_no */
-	.uleb128 0xb	/* (DW_AT_byte_size) */
-	.uleb128 0xb	/* (DW_FORM_data1) */
-	.uleb128 0x3e	/* (DW_AT_encoding) */
-	.uleb128 0xb	/* (DW_FORM_data1) */
-	.uleb128 0x3	/* (DW_AT_name) */
-	.uleb128 0x8	/* (DW_FORM_string) */
-	.byte	0
-	.byte	0
-
-	.byte	0x0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptrpiece.exp ./gdb/testsuite/gdb.dwarf2/implptrpiece.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/implptrpiece.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/implptrpiece.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/mac-fileno.exp ./gdb/testsuite/gdb.dwarf2/mac-fileno.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/mac-fileno.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/mac-fileno.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -30,11 +30,8 @@ if {[prepare_for_testing_full $testfile.
     return -1
 }
 
-set remote_dwarf_srcfile [gdb_remote_download host \
-			      ${srcdir}/${subdir}/${dwarf_srcfile}]
+gdb_remote_download host ${srcdir}/${subdir}/${dwarf_srcfile}
 
 gdb_test_no_output "set listsize 1"
 gdb_test "list func_cu1" "4\[ \t\]+File 1 Line 4"
 gdb_test "ptype func_cu1" "type = int \\(\\)"
-
-remote_file host delete ${remote_dwarf_srcfile}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/mac-fileno.S ./gdb/testsuite/gdb.dwarf2/mac-fileno.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/mac-fileno.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/mac-fileno.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/main.c ./gdb/testsuite/gdb.dwarf2/main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,5 +20,6 @@
 int
 main()
 {
+  asm ("main_label: .globl main_label");
   return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/Makefile.in ./gdb/testsuite/gdb.dwarf2/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/Makefile.in	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/Makefile.in	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile for regression testing the GNU debugger.
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp ./gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S ./gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/method-ptr.cc ./gdb/testsuite/gdb.dwarf2/method-ptr.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/method-ptr.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/method-ptr.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/method-ptr.exp ./gdb/testsuite/gdb.dwarf2/method-ptr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/method-ptr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/method-ptr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/missing-sig-type.exp ./gdb/testsuite/gdb.dwarf2/missing-sig-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/missing-sig-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/missing-sig-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/nostaticblock.exp ./gdb/testsuite/gdb.dwarf2/nostaticblock.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/nostaticblock.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/nostaticblock.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces.c ./gdb/testsuite/gdb.dwarf2/pieces.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pieces.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces.exp ./gdb/testsuite/gdb.dwarf2/pieces.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pieces.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces-optimized-out.c ./gdb/testsuite/gdb.dwarf2/pieces-optimized-out.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces-optimized-out.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pieces-optimized-out.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces-optimized-out.exp ./gdb/testsuite/gdb.dwarf2/pieces-optimized-out.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces-optimized-out.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pieces-optimized-out.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces-optimized-out.S ./gdb/testsuite/gdb.dwarf2/pieces-optimized-out.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces-optimized-out.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pieces-optimized-out.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces.S ./gdb/testsuite/gdb.dwarf2/pieces.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pieces.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pieces.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr10770.exp ./gdb/testsuite/gdb.dwarf2/pr10770.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr10770.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pr10770.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr11465.exp ./gdb/testsuite/gdb.dwarf2/pr11465.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr11465.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pr11465.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr11465.S ./gdb/testsuite/gdb.dwarf2/pr11465.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr11465.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pr11465.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2010-2014 Free Software Foundation, Inc.
+/* Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -39,7 +39,7 @@
 text_start:
 _ZN1N1cE:
 	/* Valid function must have non-empty PC range.  */
-	.byte 0
+	.4byte	0
 text_end:
 
 	.section	.debug_info
@@ -117,7 +117,8 @@ dieaf:	.uleb128 0xe		/* DW_TAG_const_typ
 dieb4:	.uleb128 0xf		/* DW_TAG_subprogram */
 	.4byte	die95-d		/* DW_AT_abstract_origin */
 	.4byte	_ZN1N1cE	/* DW_AT_low_pc */
-	.4byte	_ZN1N1cE + 1	/* DW_AT_high_pc */
+	.4byte	_ZN1N1cE + (text_end - text_start)
+				/* DW_AT_high_pc */
 diec9:	.uleb128 0x10		/* DW_TAG_subprogram */
 	.4byte	die9f-d		/* DW_AT_abstract_origin */
 	.byte	2f-1f		/* DW_AT_location */
@@ -136,7 +137,8 @@ dieda:	.uleb128 0x11		/* DW_TAG_subprogr
 	.4byte	.LASF8		/* DW_AT_name */
 	.4byte	dief2-d		/* DW_AT_type */
 	.4byte	_ZN1N1cE	/* DW_AT_low_pc */
-	.4byte	_ZN1N1cE + 1	/* DW_AT_high_pc */
+	.4byte	_ZN1N1cE + (text_end - text_start)
+				/* DW_AT_high_pc */
 dief2:	.uleb128 0x12		/* DW_TAG_base_type */
 	.byte	0x4		/* DW_AT_byte_size */
 	.byte	0x5		/* DW_AT_encoding */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr13961.exp ./gdb/testsuite/gdb.dwarf2/pr13961.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr13961.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pr13961.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr13961.S ./gdb/testsuite/gdb.dwarf2/pr13961.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/pr13961.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/pr13961.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/subrange.exp ./gdb/testsuite/gdb.dwarf2/subrange.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/subrange.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/subrange.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/symtab-producer.exp ./gdb/testsuite/gdb.dwarf2/symtab-producer.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/symtab-producer.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/symtab-producer.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,103 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+load_lib dwarf.exp
+load_lib gdb-python.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if {![dwarf2_support]} {
+    return 0
+}
+
+# This test can also only be run when we have python support in gdb,
+# but that test can only be done after gdb has started, below.
+
+standard_testfile main.c symtab-producer-dw.S
+
+# Make some DWARF for the test.
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+    cu {} {
+	DW_TAG_compile_unit {
+	    {DW_AT_producer "ACME Compiler Company"}
+	    {DW_AT_language @DW_LANG_C}
+	    {DW_AT_name symtab-producer-dw.c}
+	    {DW_AT_comp_dir /tmp}
+        } {
+	    declare_labels integer_label
+
+	    integer_label: DW_TAG_base_type {
+		{DW_AT_byte_size 4 DW_FORM_sdata}
+		{DW_AT_encoding @DW_ATE_signed}
+		{DW_AT_name integer}
+	    }
+
+	    DW_TAG_variable {
+		{DW_AT_name with_producer}
+		{DW_AT_type :$integer_label}
+		{DW_AT_external 1 flag}
+		{DW_AT_const_value 42 DW_FORM_sdata}
+	    }
+	}
+    }
+    cu {} {
+	DW_TAG_compile_unit {
+	    {DW_AT_language @DW_LANG_C}
+	    {DW_AT_name symtab-producer2-dw.c}
+	    {DW_AT_comp_dir /tmp}
+        } {
+	    declare_labels integer_label
+
+	    integer_label: DW_TAG_base_type {
+		{DW_AT_byte_size 4 DW_FORM_sdata}
+		{DW_AT_encoding @DW_ATE_signed}
+		{DW_AT_name integer}
+	    }
+
+	    DW_TAG_variable {
+		{DW_AT_name without_producer}
+		{DW_AT_type :$integer_label}
+		{DW_AT_external 1 flag}
+		{DW_AT_const_value 43 DW_FORM_sdata}
+	    }
+	}
+    }
+}
+
+# We need --readnow because otherwise we never read in the CUs we
+# created above.
+set saved_gdbflags $GDBFLAGS
+set GDBFLAGS "$GDBFLAGS -readnow"
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} \
+	  [list $srcfile $asm_file] {nodebug}] } {
+    set GDBFLAGS $saved_gdbflags
+    return -1
+}
+
+set GDBFLAGS $saved_gdbflags
+
+# Skip all tests if Python scripting is not enabled.
+if { [skip_python_tests] } { continue }
+
+gdb_py_test_silent_cmd "python with_producer = gdb.lookup_global_symbol(\"with_producer\")" \
+    "get with_producer symbol" 0
+
+gdb_test "python print(with_producer.symtab.producer)" "ACME Compiler Company"
+
+gdb_py_test_silent_cmd "python without_producer = gdb.lookup_global_symbol(\"without_producer\")" \
+    "get without_producer symbol" 0
+
+gdb_test "python print(without_producer.symtab.producer)" "None"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/trace-crash.exp ./gdb/testsuite/gdb.dwarf2/trace-crash.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/trace-crash.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/trace-crash.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S ./gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/typeddwarf.exp ./gdb/testsuite/gdb.dwarf2/typeddwarf.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/typeddwarf.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/typeddwarf.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/typeddwarf.S ./gdb/testsuite/gdb.dwarf2/typeddwarf.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/typeddwarf.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/typeddwarf.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/valop.exp ./gdb/testsuite/gdb.dwarf2/valop.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/valop.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/valop.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/valop.S ./gdb/testsuite/gdb.dwarf2/valop.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/valop.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/valop.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/watch-notconst2.c ./gdb/testsuite/gdb.dwarf2/watch-notconst2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/watch-notconst2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/watch-notconst2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/watch-notconst2.S ./gdb/testsuite/gdb.dwarf2/watch-notconst2.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/watch-notconst2.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/watch-notconst2.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/watch-notconst.c ./gdb/testsuite/gdb.dwarf2/watch-notconst.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/watch-notconst.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/watch-notconst.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/watch-notconst.exp ./gdb/testsuite/gdb.dwarf2/watch-notconst.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.dwarf2/watch-notconst.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/watch-notconst.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/array-element.exp ./gdb/testsuite/gdb.fortran/array-element.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/array-element.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/array-element.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -31,18 +31,9 @@ if ![runto sub_] then {
     continue
 }
 
-set bp_location [gdb_get_line_number "continue"]
-gdb_test "break $bp_location" \
-    "Breakpoint.*at.* file .*$srcfile, line $bp_location\\." \
-    "breakpoint at continue"
-
-gdb_test "continue" \
-    "Continuing\\..*Breakpoint.*" \
-    "continue to breakpoint"
-gdb_test "print a(1)" ".*1 = 1.*" "print the first element of array a"
+gdb_breakpoint [gdb_get_line_number "continue"]
+gdb_continue_to_breakpoint "continue"
 
-gdb_test "continue" \
-    "Continuing\\..*Breakpoint.*" \
-    "continue to breakpoint once again"
+gdb_test "print a(1)" ".*1 = 1.*" "print the first element of array a"
 gdb_test "print a(2)" ".*2 = 2.*" "print the second element of array a"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/array-element.f ./gdb/testsuite/gdb.fortran/array-element.f
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/array-element.f	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/array-element.f	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-c Copyright 2005-2014 Free Software Foundation, Inc.
+c Copyright 2005-2015 Free Software Foundation, Inc.
 
 c This program is free software; you can redistribute it and/or modify
 c it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/charset.exp ./gdb/testsuite/gdb.fortran/charset.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/charset.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/charset.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/common-block.exp ./gdb/testsuite/gdb.fortran/common-block.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/common-block.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/common-block.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/common-block.f90 ./gdb/testsuite/gdb.fortran/common-block.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/common-block.f90	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/common-block.f90	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2008-2014 Free Software Foundation, Inc.
+! Copyright 2008-2015 Free Software Foundation, Inc.
 !
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/complex.exp ./gdb/testsuite/gdb.fortran/complex.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/complex.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/complex.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/complex.f ./gdb/testsuite/gdb.fortran/complex.f
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/complex.f	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/complex.f	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-c Copyright 2007-2014 Free Software Foundation, Inc.
+c Copyright 2007-2015 Free Software Foundation, Inc.
 
 c This program is free software; you can redistribute it and/or modify
 c it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/derived-type.exp ./gdb/testsuite/gdb.fortran/derived-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/derived-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/derived-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/derived-type.f90 ./gdb/testsuite/gdb.fortran/derived-type.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/derived-type.f90	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/derived-type.f90	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2006-2014 Free Software Foundation, Inc.
+! Copyright 2006-2015 Free Software Foundation, Inc.
 !
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/exprs.exp ./gdb/testsuite/gdb.fortran/exprs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/exprs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/exprs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/library-module.exp ./gdb/testsuite/gdb.fortran/library-module.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/library-module.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/library-module.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/library-module-lib.f90 ./gdb/testsuite/gdb.fortran/library-module-lib.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/library-module-lib.f90	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/library-module-lib.f90	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2010-2014 Free Software Foundation, Inc.
+! Copyright 2010-2015 Free Software Foundation, Inc.
 ! 
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/library-module-main.f90 ./gdb/testsuite/gdb.fortran/library-module-main.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/library-module-main.f90	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/library-module-main.f90	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2010-2014 Free Software Foundation, Inc.
+! Copyright 2010-2015 Free Software Foundation, Inc.
 ! 
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/logical.exp ./gdb/testsuite/gdb.fortran/logical.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/logical.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/logical.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/logical.f90 ./gdb/testsuite/gdb.fortran/logical.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/logical.f90	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/logical.f90	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2010-2014 Free Software Foundation, Inc.
+! Copyright 2010-2015 Free Software Foundation, Inc.
 !
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/Makefile.in ./gdb/testsuite/gdb.fortran/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/Makefile.in	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/Makefile.in	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile for regression testing the GNU debugger.
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/module.exp ./gdb/testsuite/gdb.fortran/module.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/module.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/module.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/module.f90 ./gdb/testsuite/gdb.fortran/module.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/module.f90	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/module.f90	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2009-2014 Free Software Foundation, Inc.
+! Copyright 2009-2015 Free Software Foundation, Inc.
 ! 
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/multi-dim.exp ./gdb/testsuite/gdb.fortran/multi-dim.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/multi-dim.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/multi-dim.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/multi-dim.f90 ./gdb/testsuite/gdb.fortran/multi-dim.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/multi-dim.f90	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/multi-dim.f90	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2011-2014 Free Software Foundation, Inc.
+! Copyright 2011-2015 Free Software Foundation, Inc.
 !
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/print-formatted.exp ./gdb/testsuite/gdb.fortran/print-formatted.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/print-formatted.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/print-formatted.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,39 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+load_lib "fortran.exp"
+
+if { [skip_fortran_tests] } {
+    continue
+}
+
+standard_testfile .f90
+
+if { [prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}] } {
+    return -1
+}
+
+if { ![runto MAIN__] } {
+    fail "runto MAIN__"
+    return -1
+}
+
+gdb_test "next" ".*" "go to the end of the program"
+
+gdb_test "set output-radix 16" \
+    "Output radix now set to decimal 16, hex 10, octal 20." \
+    "setting the output-radix to 16"
+
+gdb_test "print ii" " = 0xa" "print ii in hex"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/print-formatted.f90 ./gdb/testsuite/gdb.fortran/print-formatted.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/print-formatted.f90	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/print-formatted.f90	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,20 @@
+! Copyright 2014-2015 Free Software Foundation, Inc.
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 3 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License
+! along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+program printformatted
+  integer :: ii
+
+  ii = 10
+end program printformatted
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/subarray.exp ./gdb/testsuite/gdb.fortran/subarray.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/subarray.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/subarray.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/subarray.f ./gdb/testsuite/gdb.fortran/subarray.f
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/subarray.f	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/subarray.f	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-c Copyright 2005-2014 Free Software Foundation, Inc.
+c Copyright 2005-2015 Free Software Foundation, Inc.
 
 c This program is free software; you can redistribute it and/or modify
 c it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/type.f90 ./gdb/testsuite/gdb.fortran/type.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/type.f90	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/type.f90	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-! Copyright 2013-2014 Free Software Foundation, Inc.
+! Copyright 2013-2015 Free Software Foundation, Inc.
 !
 ! This program is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/types.exp ./gdb/testsuite/gdb.fortran/types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1994-2014 Free Software Foundation, Inc.
+# Copyright 1994-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/whatis_type.exp ./gdb/testsuite/gdb.fortran/whatis_type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.fortran/whatis_type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/whatis_type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/complaints.exp ./gdb/testsuite/gdb.gdb/complaints.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/complaints.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.gdb/complaints.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/observer.exp ./gdb/testsuite/gdb.gdb/observer.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/observer.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.gdb/observer.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/python-interrupts.exp ./gdb/testsuite/gdb.gdb/python-interrupts.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/python-interrupts.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.gdb/python-interrupts.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@ proc test_python_interrupts {} {
     }
 
     gdb_breakpoint set_active_ext_lang temporary
-    gdb_test "call catch_command_errors(execute_command, \"python print 5\", 0, RETURN_MASK_ALL)" \
+    gdb_test "call catch_command_errors(execute_command, \"python print(5)\", 0, RETURN_MASK_ALL)" \
 	"Temporary breakpoint.*silently stop."
     gdb_test "signal SIGINT" \
 	"KeyboardInterrupt.*Error while executing Python code."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/python-selftest.exp ./gdb/testsuite/gdb.gdb/python-selftest.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/python-selftest.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.gdb/python-selftest.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@ proc selftest_python {} {
     }
 
     gdb_test_no_output "set variable gdb_python_initialized = 0"
-    gdb_test "call catch_command_errors(execute_command, \"python print 5\", 0, RETURN_MASK_ALL)" \
+    gdb_test "call catch_command_errors(execute_command, \"python print(5)\", 0, RETURN_MASK_ALL)" \
 	"Python not initialized.* = 0"
     return 0
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/selftest.exp ./gdb/testsuite/gdb.gdb/selftest.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/selftest.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.gdb/selftest.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1988-2014 Free Software Foundation, Inc.
+# Copyright 1988-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -300,12 +300,8 @@ proc test_with_self { executable } {
 
     # We'll need this when we send a ^C to GDB.  Need to do it before we
     # run the program and gdb starts saving and restoring tty states.
-    # On Ultrix, we don't need it and it is really slow (because shell_escape
-    # doesn't use vfork).
-    if ![istarget "*-*-ultrix*"] then {
-	gdb_test "shell stty intr '^C'" ".*" \
-	    "set interrupt character in test_with_self"
-    }
+    gdb_test "shell stty intr '^C'" ".*" \
+	"set interrupt character in test_with_self"
 
     # FIXME: If we put this after the run to main, the first list
     # command doesn't print the same line as the current line where
@@ -459,15 +455,6 @@ proc test_with_self { executable } {
 	-re "#0.*(read|poll).*in main \\(.*\\) at .*gdb\\.c.*$gdb_prompt $" {
 	    pass "$description"
 	}
-	-re ".*$gdb_prompt $" {
-	    # On the alpha, we hit the infamous problem about gdb
-	    # being unable to get the frame pointer (mentioned in
-	    # gdb/README).  As it is intermittent, there is no way to
-	    # XFAIL it which will give us an XPASS if the problem goes
-	    # away.
-	    setup_xfail "alpha*-*-osf*"
-	    fail "$description"
-	}
     }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/xfullpath.exp ./gdb/testsuite/gdb.gdb/xfullpath.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.gdb/xfullpath.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.gdb/xfullpath.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/basic-types.exp ./gdb/testsuite/gdb.go/basic-types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/basic-types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/basic-types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/chan.exp ./gdb/testsuite/gdb.go/chan.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/chan.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/chan.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/handcall.exp ./gdb/testsuite/gdb.go/handcall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/handcall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/handcall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/hello.exp ./gdb/testsuite/gdb.go/hello.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/hello.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/hello.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/integers.exp ./gdb/testsuite/gdb.go/integers.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/integers.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/integers.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/methods.exp ./gdb/testsuite/gdb.go/methods.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/methods.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/methods.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/package.exp ./gdb/testsuite/gdb.go/package.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/package.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/package.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/print.exp ./gdb/testsuite/gdb.go/print.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/print.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/print.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/strings.exp ./gdb/testsuite/gdb.go/strings.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/strings.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/strings.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/types.exp ./gdb/testsuite/gdb.go/types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/unsafe.exp ./gdb/testsuite/gdb.go/unsafe.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.go/unsafe.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.go/unsafe.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/guile.exp ./gdb/testsuite/gdb.guile/guile.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/guile.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/guile.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-arch.c ./gdb/testsuite/gdb.guile/scm-arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-arch.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-arch.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-arch.exp ./gdb/testsuite/gdb.guile/scm-arch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-arch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-arch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-block.c ./gdb/testsuite/gdb.guile/scm-block.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-block.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-block.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-block.exp ./gdb/testsuite/gdb.guile/scm-block.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-block.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-block.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-breakpoint.c ./gdb/testsuite/gdb.guile/scm-breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-breakpoint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-breakpoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-breakpoint.exp ./gdb/testsuite/gdb.guile/scm-breakpoint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-breakpoint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-breakpoint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -126,7 +126,7 @@ proc test_bkpt_deletion { } {
 	gdb_test "guile (print (length del-list))" \
 	    "= 3" "number of breakpoints before delete"
 	gdb_continue_to_breakpoint "Break at multiply." \
-	    ".*/$srcfile:$deltst_location.*"
+	    ".*$srcfile:$deltst_location.*"
 	gdb_scm_test_silent_cmd  "guile (delete-breakpoint! dp1)" \
 	    "delete breakpoint"
 	gdb_test "guile (print (breakpoint-number dp1))" \
@@ -136,7 +136,7 @@ proc test_bkpt_deletion { } {
 	    "get breakpoint list 5"
 	gdb_test "guile (print (length del-list))" \
 	    "= 2" "number of breakpoints after delete"
-	gdb_continue_to_breakpoint "Break at end." ".*/$srcfile:$end_location.*"
+	gdb_continue_to_breakpoint "Break at end." ".*$srcfile:$end_location.*"
     }
 }
 
@@ -372,7 +372,7 @@ proc test_bkpt_eval_funcs { } {
 	    "create also-eval-bp1 breakpoint"
 	gdb_scm_test_silent_cmd  "guile (define never-eval-bp1 (make-bp-also-eval \"$end_location\"))" \
 	    "create never-eval-bp1 breakpoint"
-	gdb_continue_to_breakpoint "Break at multiply." ".*/$srcfile:$bp_location2.*"
+	gdb_continue_to_breakpoint "Break at multiply." ".*$srcfile:$bp_location2.*"
 	gdb_test "print i" "3" "check inferior value matches guile accounting"
 	gdb_test "guile (print (bp-eval-inf-i eval-bp1))" \
 	    "= 3" "check guile accounting matches inferior"
@@ -414,7 +414,7 @@ proc test_bkpt_eval_funcs { } {
 	gdb_test "guile (print (bp-eval-count check-eval))" \
 	    "= 0" \
 	    "test that evaluate function has not been yet executed (ie count = 0)"
-	gdb_continue_to_breakpoint "Break at multiply." ".*/$srcfile:$bp_location2.*"
+	gdb_continue_to_breakpoint "Break at multiply." ".*$srcfile:$bp_location2.*"
 	gdb_test "guile (print (bp-eval-count check-eval))" \
 	    "= 1" \
 	    "test that evaluate function is run when location also has normal bp"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-cmd.c ./gdb/testsuite/gdb.guile/scm-cmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-cmd.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-cmd.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-cmd.exp ./gdb/testsuite/gdb.guile/scm-cmd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-cmd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-cmd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -134,6 +134,10 @@ gdb_test "help user-defined" \
     "User-defined commands.\[\r\n\]+The commands in this class are those defined by the user.\[\r\n\]+Use the \"define\" command to define a command.\[\r\n\]+List of commands:\[\r\n\]+test-help -- Docstring\[\r\n\]+Type \"help\" followed by command name for full documentation.\[\r\n\]+Type \"apropos word\" to search for commands related to \"word\".\[\r\n\]+Command name abbreviations are allowed if unambiguous.\[\r\n\]+" \
     "see user-defined command in `help user-defined`"
 
+# Make sure the command does not show up in `show user`.
+gdb_test "show user test-help" "Not a user command\." \
+    "don't show user-defined scheme command in `show user command`"
+
 # Test expression completion on fields.
 
 gdb_test_multiline "expression completion command" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-disasm.c ./gdb/testsuite/gdb.guile/scm-disasm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-disasm.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-disasm.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-disasm.exp ./gdb/testsuite/gdb.guile/scm-disasm.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-disasm.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-disasm.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -83,9 +83,11 @@ gdb_test "guile (print (length insn-list
 
 test_disassemble_1 "basic" "pc" ""
 
-# Negative test
-gdb_test "guile (arch-disassemble arch 0 #:size 1)" \
-    "ERROR: Cannot access memory at address 0x.*" "test bad memory access"
+if { ![is_address_zero_readable] } {
+    # Negative test
+    gdb_test "guile (arch-disassemble arch 0 #:size 1)" \
+	"ERROR: Cannot access memory at address 0x.*" "test bad memory access"
+}
 
 # Test disassembly through a port.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-equal.c ./gdb/testsuite/gdb.guile/scm-equal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-equal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-equal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-equal.exp ./gdb/testsuite/gdb.guile/scm-equal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-equal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-equal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-error-1.scm ./gdb/testsuite/gdb.guile/scm-error-1.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-error-1.scm	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-error-1.scm	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-error-2.scm ./gdb/testsuite/gdb.guile/scm-error-2.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-error-2.scm	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-error-2.scm	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-error.exp ./gdb/testsuite/gdb.guile/scm-error.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-error.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-error.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,14 +28,10 @@ if { [skip_guile_tests] } { continue }
 
 # Test error while loading .scm.
 
-# Give the files a new name so we don't clobber the real one if
-# objfile == srcdir.
 set remote_guile_file_1 [gdb_remote_download host \
-			     ${srcdir}/${subdir}/${testfile}-1.scm \
-			     ${subdir}/t-${testfile}-1.scm]
+			     ${srcdir}/${subdir}/${testfile}-1.scm]
 set remote_guile_file_2 [gdb_remote_download host \
-			     ${srcdir}/${subdir}/${testfile}-2.scm \
-			     ${subdir}/t-${testfile}-2.scm]
+			     ${srcdir}/${subdir}/${testfile}-2.scm]
 
 gdb_test "source $remote_guile_file_1" \
     "(ERROR: )?In procedure \[+\]: Wrong type: #f.*" \
@@ -95,7 +91,7 @@ gdb_test_no_output "set guile print-stac
     "set print-stack to full, for backtrace test"
 
 gdb_test "guile (define x (top-func 42))" \
-    "Guile Backtrace:.*top-func 42.*middle-func 42.*bottom-func 42.*" \
+    "Guile Backtrace:.*top-func (42|_).*middle-func (42|_).*bottom-func (42|_).*" \
     "backtrace printed"
 
 # Verify gdb-specific errors are printed properly.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-args.c ./gdb/testsuite/gdb.guile/scm-frame-args.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-args.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-frame-args.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-args.exp ./gdb/testsuite/gdb.guile/scm-frame-args.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-args.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-frame-args.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,11 +28,8 @@ if ![gdb_guile_runto_main] {
     return
 }
 
-# Give the file a new name so we don't clobber the real one if
-# objfile == srcdir.
 set remote_guile_file [gdb_remote_download host \
-			   ${srcdir}/${subdir}/${testfile}.scm \
-			   ${subdir}/t-${testfile}.scm]
+			   ${srcdir}/${subdir}/${testfile}.scm]
 
 gdb_scm_load_file "$remote_guile_file" "load script"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-args.scm ./gdb/testsuite/gdb.guile/scm-frame-args.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-args.scm	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-frame-args.scm	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
 ;;
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame.exp ./gdb/testsuite/gdb.guile/scm-frame.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-frame.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-inline.c ./gdb/testsuite/gdb.guile/scm-frame-inline.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-inline.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-frame-inline.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-inline.exp ./gdb/testsuite/gdb.guile/scm-frame-inline.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-frame-inline.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-frame-inline.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-gsmob.exp ./gdb/testsuite/gdb.guile/scm-gsmob.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-gsmob.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-gsmob.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-iterator.c ./gdb/testsuite/gdb.guile/scm-iterator.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-iterator.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-iterator.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-iterator.exp ./gdb/testsuite/gdb.guile/scm-iterator.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-iterator.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-iterator.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-math.c ./gdb/testsuite/gdb.guile/scm-math.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-math.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-math.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-math.exp ./gdb/testsuite/gdb.guile/scm-math.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-math.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-math.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile.c ./gdb/testsuite/gdb.guile/scm-objfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-objfile.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile.exp ./gdb/testsuite/gdb.guile/scm-objfile.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-objfile.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile-script.c ./gdb/testsuite/gdb.guile/scm-objfile-script.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile-script.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-objfile-script.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile-script.exp ./gdb/testsuite/gdb.guile/scm-objfile-script.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile-script.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-objfile-script.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in ./gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
 ;;
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-parameter.exp ./gdb/testsuite/gdb.guile/scm-parameter.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-parameter.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-parameter.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-ports.exp ./gdb/testsuite/gdb.guile/scm-ports.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-ports.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-ports.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-pretty-print.c ./gdb/testsuite/gdb.guile/scm-pretty-print.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-pretty-print.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-pretty-print.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-pretty-print.exp ./gdb/testsuite/gdb.guile/scm-pretty-print.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-pretty-print.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-pretty-print.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -81,7 +81,9 @@ proc run_lang_tests {exefile lang} {
 	gdb_scm_test_silent_cmd "set print elements 200" "" 1
     }
 
-    gdb_test "print ns2" "<error reading variable: ERROR: Cannot access memory at address 0x0>"
+    if { ![is_address_zero_readable] } {
+	gdb_test "print ns2" "<error reading variable: ERROR: Cannot access memory at address 0x0>"
+    }
 
     gdb_test "print x" " = \"this is x\""
     gdb_test "print cstring" " = \"const string\""
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-pretty-print.scm ./gdb/testsuite/gdb.guile/scm-pretty-print.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-pretty-print.scm	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-pretty-print.scm	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
 ;;
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-progspace.c ./gdb/testsuite/gdb.guile/scm-progspace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-progspace.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-progspace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-progspace.exp ./gdb/testsuite/gdb.guile/scm-progspace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-progspace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-progspace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-section-script.c ./gdb/testsuite/gdb.guile/scm-section-script.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-section-script.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-section-script.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-section-script.exp ./gdb/testsuite/gdb.guile/scm-section-script.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-section-script.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-section-script.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -35,14 +35,10 @@ standard_testfile
 
 # Make this available to gdb before the program starts, it is
 # automagically loaded by gdb.
-# Give the file a new name so we don't clobber the real one if
-# objfile == srcdir.
 # We also need to do this before compiling the program because the name
 # of the script file is encoded in the binary.
-# FIXME: Can we get gdb_remote_download to call standard_output_file for us?
 set remote_guile_file [gdb_remote_download host \
-			   ${srcdir}/${subdir}/${testfile}.scm \
-			   ${subdir}/t-${testfile}.scm]
+			   ${srcdir}/${subdir}/${testfile}.scm]
 
 if {[build_executable $testfile.exp $testfile $srcfile \
 	[list debug "additional_flags=-I${srcdir}/../../include -DSCRIPT_FILE=\"$remote_guile_file\""]] == -1} {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-section-script.scm ./gdb/testsuite/gdb.guile/scm-section-script.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-section-script.scm	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-section-script.scm	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
 ;;
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symbol.c ./gdb/testsuite/gdb.guile/scm-symbol.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symbol.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-symbol.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symbol.exp ./gdb/testsuite/gdb.guile/scm-symbol.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symbol.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-symbol.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symtab-2.c ./gdb/testsuite/gdb.guile/scm-symtab-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symtab-2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-symtab-2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symtab.c ./gdb/testsuite/gdb.guile/scm-symtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symtab.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-symtab.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symtab.exp ./gdb/testsuite/gdb.guile/scm-symtab.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-symtab.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-symtab.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-type.c ./gdb/testsuite/gdb.guile/scm-type.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-type.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-type.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-type.exp ./gdb/testsuite/gdb.guile/scm-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-value.c ./gdb/testsuite/gdb.guile/scm-value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-value.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-value.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-value-cc.cc ./gdb/testsuite/gdb.guile/scm-value-cc.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-value-cc.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-value-cc.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-value-cc.exp ./gdb/testsuite/gdb.guile/scm-value-cc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-value-cc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-value-cc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-value.exp ./gdb/testsuite/gdb.guile/scm-value.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/scm-value.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/scm-value.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,6 +20,8 @@ load_lib gdb-guile.exp
 
 standard_testfile
 
+set has_argv0 [gdb_has_argv0]
+
 # Build inferior to language specification.
 # LANG is one of "c" or "c++".
 proc build_inferior {exefile lang} {
@@ -86,9 +88,12 @@ proc test_value_in_inferior {} {
 	"set arg0"
 
     # Check that the dereferenced value is sane.
-    if { ! [target_info exists noargs] } {
-	gdb_test "gu (print arg0)" \
-	    "0x.*$testfile\"" "verify dereferenced value"
+    global has_argv0
+    set test "verify dereferenced value"
+    if { $has_argv0 } {
+	gdb_test "gu (print arg0)" "0x.*$testfile\"" $test
+    } else {
+	unsupported $test
     }
 
     # Smoke-test value-optimized-out?.
@@ -105,14 +110,7 @@ proc test_value_in_inferior {} {
     # Test displaying a variable that is temporarily at a bad address.
     # But if we can examine what's at memory address 0, then we'll also be
     # able to display it without error.  Don't run the test in that case.
-    set can_read_0 0
-    gdb_test_multiple "x 0" "memory at address 0" {
-	-re "0x0:\[ \t\]*Cannot access memory at address 0x0\r\n$gdb_prompt $" { }
-	-re "0x0:\[ \t\]*Error accessing memory address 0x0\r\n$gdb_prompt $" { }
-	-re "\r\n$gdb_prompt $" {
-	    set can_read_0 1
-	}
-    }
+    set can_read_0 [is_address_zero_readable]
 
     # Test memory error.
     set test "parse_and_eval with memory error"
@@ -226,7 +224,11 @@ proc test_lazy_strings {} {
 	"= const char \*." "Test lazy-string type name equality"
     gdb_test "gu (print (value-type sptr))" \
 	"= const char \*." "Test string type name equality"
+
+    # Prevent symbol on address 0x0 being printed.
+    gdb_test_no_output "set print symbol off"
     gdb_test "print sn" "0x0"
+
     gdb_scm_test_silent_cmd "gu (define snptr (history-ref 0))" \
 	"lazy strings: get snptr value from history"
     gdb_test "gu (define snstr (value->lazy-string snptr #:length 5))" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/source2.scm ./gdb/testsuite/gdb.guile/source2.scm
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/source2.scm	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/source2.scm	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 ;; This testcase is part of GDB, the GNU debugger.
 ;;
-;; Copyright 2008-2014 Free Software Foundation, Inc.
+;; Copyright 2008-2015 Free Software Foundation, Inc.
 ;;
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/types-module.cc ./gdb/testsuite/gdb.guile/types-module.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/types-module.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/types-module.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/types-module.exp ./gdb/testsuite/gdb.guile/types-module.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.guile/types-module.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.guile/types-module.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp ./gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.aCC/run.c ./gdb/testsuite/gdb.hp/gdb.aCC/run.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.aCC/run.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.aCC/run.c	2015-01-20 02:05:39.000000000 +0000
@@ -3,39 +3,8 @@
  *	testing stack backtraces and such.
  */
 
-#ifdef vxworks
-
-#  include <stdio.h>
-
-/* VxWorks does not supply atoi.  */
-static int
-atoi (char *z)
-    /*  char *z;*/
-{
-  int i = 0;
-
-  while (*z >= '0' && *z <= '9')
-    i = i * 10 + (*z++ - '0');
-  return i;
-}
-
-/* I don't know of any way to pass an array to VxWorks.  This function
-   can be called directly from gdb.  */
-
-void vxmain (char *arg)
-/*char *arg;*/
-{
-  char *argv[2];
-
-  argv[0] = "";
-  argv[1] = arg;
-  main (2, argv, (char **) 0);
-}
-
-#else /* ! vxworks */
-#  include <stdio.h>
-#  include <stdlib.h>
-#endif /* ! vxworks */
+#include <stdio.h>
+#include <stdlib.h>
 
 int main (int argc, char *argv[], char **envp)
 /*int argc;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp ./gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp ./gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -208,7 +208,7 @@ proc do_function_calls {} {
 	if $prototypes then {
 	    setup_xfail "sparc-*-*" "mips*-*-*" 5318
 	    if {!$gcc_compiled} then {
-		setup_xfail "alpha-dec-osf2*" "i*86-*-sysv4*" 5318
+		setup_xfail "i*86-*-sysv4*" 5318
 	    }
 	}
 	gdb_test "p t_float_values2(3.14159,float_val2)" " = 1"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp ./gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp ./gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp ./gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp ./gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This test script is part of GDB, the GNU debugger.
 
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp ./gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Tests of wide register displays for GDB on HPPA 2.0 machines
-#   Copyright 1994-2014 Free Software Foundation, Inc.
+#   Copyright 1994-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp ./gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp ./gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp ./gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp ./gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp ./gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp ./gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jmain.exp ./gdb/testsuite/gdb.java/jmain.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jmain.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.java/jmain.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jmisc.exp ./gdb/testsuite/gdb.java/jmisc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jmisc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.java/jmisc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jnpe.exp ./gdb/testsuite/gdb.java/jnpe.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jnpe.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.java/jnpe.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jnpe.java ./gdb/testsuite/gdb.java/jnpe.java
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jnpe.java	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.java/jnpe.java	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 // Test next-over-NPE.
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jprint.exp ./gdb/testsuite/gdb.java/jprint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jprint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.java/jprint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jprint.java ./gdb/testsuite/gdb.java/jprint.java
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jprint.java	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.java/jprint.java	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 // jprint.java test program.
 //
-// Copyright 2004-2014 Free Software Foundation, Inc.
+// Copyright 2004-2015 Free Software Foundation, Inc.
 //
 // Written by Jeff Johnston <jjohnstn@redhat.com> 
 // Contributed by Red Hat
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jv-exp.exp ./gdb/testsuite/gdb.java/jv-exp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jv-exp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.java/jv-exp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jv-print.exp ./gdb/testsuite/gdb.java/jv-print.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.java/jv-print.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.java/jv-print.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/base/one/header.h ./gdb/testsuite/gdb.linespec/base/one/header.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/base/one/header.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/base/one/header.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/base/two/header.h ./gdb/testsuite/gdb.linespec/base/two/header.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/base/two/header.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/base/two/header.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-ask.exp ./gdb/testsuite/gdb.linespec/break-ask.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-ask.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/break-ask.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-asm-file0.s ./gdb/testsuite/gdb.linespec/break-asm-file0.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-asm-file0.s	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/break-asm-file0.s	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,218 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2004-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+	.file "a/break-asm-file0.s"
+	.text
+.Lbegin_text1:
+	.globl _func2
+_func2:
+	.globl func2
+	.type func2, %function
+func2:
+.Lbegin_func2:
+	.int 0
+	.int 0
+.Lend_func2:
+	.size func2, .-func2
+	.globl _func
+_func:
+  .globl func
+	.type func, %function
+func:
+.Lbegin_func:
+	.file 1 "a/break-asm-file0.s"
+	.int 0
+	.int 0
+.Lend_func:
+	.size func, .-func
+.Lend_text1:
+
+/* Debug information */
+
+	.section .debug_info
+.Lcu1_begin:
+	/* CU header */
+	.4byte	.Lcu1_end - .Lcu1_start		/* Length of Compilation Unit */
+.Lcu1_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	/* CU die */
+	.uleb128 1				/* Abbrev: DW_TAG_compile_unit */
+	.4byte	.Lline1_begin			/* DW_AT_stmt_list */
+	.4byte	.Lend_text1			/* DW_AT_high_pc */
+	.4byte	.Lbegin_text1			/* DW_AT_low_pc */
+	.ascii	"a/break-asm-file0.s\0"			/* DW_AT_name */
+	.ascii	"GNU C 3.3.3\0"			/* DW_AT_producer */
+	.2byte	0x8001				/* DW_AT_language (Mips Assembler) */
+
+	.byte		0			/* End of children of CU */
+
+.Lcu1_end:
+
+/* Abbrev table */
+	.section .debug_abbrev
+.Labbrev1_begin:
+	.uleb128	1			/* Abbrev code */
+	.uleb128	0x11			/* DW_TAG_compile_unit */
+	.byte		1			/* has_children */
+	.uleb128	0x10			/* DW_AT_stmt_list */
+	.uleb128	0x6			/* DW_FORM_data4 */
+	.uleb128	0x12			/* DW_AT_high_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x11			/* DW_AT_low_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x25			/* DW_AT_producer */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x13			/* DW_AT_language */
+	.uleb128	0x5			/* DW_FORM_data2 */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.uleb128	2			/* Abbrev code */
+	.uleb128	0x2e			/* DW_TAG_subprogram */
+	.byte		0			/* has_children */
+	.uleb128	0x3f			/* DW_AT_external */
+	.uleb128	0xc			/* DW_FORM_flag */
+	.uleb128	0x3a			/* DW_AT_decl_file */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.uleb128	0x3b			/* DW_AT_decl_line */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x49			/* DW_AT_type */
+	.uleb128	0x13			/* DW_FORM_ref4 */
+	.uleb128	0x11			/* DW_AT_low_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x12			/* DW_AT_high_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x40			/* DW_AT_frame_base */
+	.uleb128	0xa			/* DW_FORM_block1 */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.uleb128	3			/* Abbrev code */
+	.uleb128	0x24			/* DW_TAG_base_type */
+	.byte		0			/* has_children */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0xb			/* DW_AT_byte_size */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.uleb128	0x3e			/* DW_AT_encoding */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+/* Line table */
+	.section .debug_line
+.Lline1_begin:
+	.4byte		.Lline1_end - .Lline1_start	/* Initial length */
+.Lline1_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline1_lines - .Lline1_hdr	/* header_length */
+.Lline1_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		0x10			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+	.byte		1
+	.byte		1
+	.byte		0
+	.byte		0
+	.byte		0
+	.byte		1
+	.byte		0
+	.byte		0
+	.byte		1
+	.byte		0
+	.byte		0
+	.byte		0
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii		"a/break-asm-file0.s\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline1_lines:
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lbegin_func2
+
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 2 */
+
+	.byte		1	/* DW_LNS_copy */
+
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lbegin_func2+1
+
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 3 */
+
+	.byte		1	/* DW_LNS_copy */
+
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lbegin_func
+
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	4	/* ... to 7 */
+
+	.byte		1	/* DW_LNS_copy */
+
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lbegin_func+2
+
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 8 */
+
+	.byte		1	/* DW_LNS_copy */
+
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lend_func
+
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+
+.Lline1_end:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-asm-file1.s ./gdb/testsuite/gdb.linespec/break-asm-file1.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-asm-file1.s	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/break-asm-file1.s	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,244 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2004-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+	.text
+.Lbegin_text1:
+	.globl _func3
+_func3:
+	.globl func3
+	.type func3, %function
+func3:
+.Lbegin_func3:
+	.int 0
+	.int 0
+.Lend_func3:
+	.size func3, .-func3
+_func:
+	.type func, %function
+func:
+.Lbegin_func:
+	.int 0
+	.int 0
+.Lend_func:
+	.size func, .-func
+.Lend_text1:
+
+/* Debug information */
+
+	.section .debug_info
+.Lcu1_begin:
+	/* CU header */
+	.4byte	.Lcu1_end - .Lcu1_start		/* Length of Compilation Unit */
+.Lcu1_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	/* CU die */
+	.uleb128 1				/* Abbrev: DW_TAG_compile_unit */
+	.4byte	.Lline1_begin			/* DW_AT_stmt_list */
+	.4byte	.Lend_text1			/* DW_AT_high_pc */
+	.4byte	.Lbegin_text1			/* DW_AT_low_pc */
+	.ascii	"b/break-asm-file0.s\0"			/* DW_AT_name */
+	.ascii	"GNU C 3.3.3\0"			/* DW_AT_producer */
+	.2byte	0x8001				/* DW_AT_language (Mips Assembler) */
+
+	/* func3 */
+	.uleb128	2			/* Abbrev: DW_TAG_subprogram */
+	.byte		1			/* DW_AT_external */
+	.byte		1			/* DW_AT_decl_file */
+	.byte		2			/* DW_AT_decl_line */
+	.ascii		"func3\0"		/* DW_AT_name */
+	.4byte		.Ltype_int-.Lcu1_begin	/* DW_AT_type */
+	.4byte		.Lbegin_func3	/* DW_AT_low_pc */
+	.4byte		.Lend_func3		/* DW_AT_high_pc */
+	.byte		1			/* DW_AT_frame_base: length */
+	.byte		0x55			/* DW_AT_frame_base: DW_OP_reg5 */
+
+	/* func */
+	.uleb128	2			/* Abbrev: DW_TAG_subprogram */
+	.byte		0			/* DW_AT_external */
+	.byte		1			/* DW_AT_decl_file */
+	.byte		4			/* DW_AT_decl_line */
+	.ascii		"func\0"		/* DW_AT_name */
+	.4byte		.Ltype_int-.Lcu1_begin	/* DW_AT_type */
+	.4byte		.Lbegin_func	/* DW_AT_low_pc */
+	.4byte		.Lend_func		/* DW_AT_high_pc */
+	.byte		1			/* DW_AT_frame_base: length */
+	.byte		0x55			/* DW_AT_frame_base: DW_OP_reg5 */
+
+.Ltype_int:
+	.uleb128	3			/* Abbrev: DW_TAG_base_type */
+	.ascii		"int\0"			/* DW_AT_name */
+	.byte		4			/* DW_AT_byte_size */
+	.byte		5			/* DW_AT_encoding */
+
+	.byte		0			/* End of children of CU */
+
+.Lcu1_end:
+
+/* Abbrev table */
+	.section .debug_abbrev
+.Labbrev1_begin:
+	.uleb128	1			/* Abbrev code */
+	.uleb128	0x11			/* DW_TAG_compile_unit */
+	.byte		1			/* has_children */
+	.uleb128	0x10			/* DW_AT_stmt_list */
+	.uleb128	0x6			/* DW_FORM_data4 */
+	.uleb128	0x12			/* DW_AT_high_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x11			/* DW_AT_low_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x25			/* DW_AT_producer */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x13			/* DW_AT_language */
+	.uleb128	0x5			/* DW_FORM_data2 */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.uleb128	2			/* Abbrev code */
+	.uleb128	0x2e			/* DW_TAG_subprogram */
+	.byte		0			/* has_children */
+	.uleb128	0x3f			/* DW_AT_external */
+	.uleb128	0xc			/* DW_FORM_flag */
+	.uleb128	0x3a			/* DW_AT_decl_file */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.uleb128	0x3b			/* DW_AT_decl_line */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x49			/* DW_AT_type */
+	.uleb128	0x13			/* DW_FORM_ref4 */
+	.uleb128	0x11			/* DW_AT_low_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x12			/* DW_AT_high_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x40			/* DW_AT_frame_base */
+	.uleb128	0xa			/* DW_FORM_block1 */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.uleb128	3			/* Abbrev code */
+	.uleb128	0x24			/* DW_TAG_base_type */
+	.byte		0			/* has_children */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0xb			/* DW_AT_byte_size */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.uleb128	0x3e			/* DW_AT_encoding */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+/* Line table */
+	.section .debug_line
+.Lline1_begin:
+	.4byte		.Lline1_end - .Lline1_start	/* Initial length */
+.Lline1_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline1_lines - .Lline1_hdr	/* header_length */
+.Lline1_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		0x10			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+	.byte		1
+	.byte		1
+	.byte		0
+	.byte		0
+	.byte		0
+	.byte		1
+	.byte		0
+	.byte		0
+	.byte		1
+	.byte		0
+	.byte		0
+	.byte		0
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii		"b/break-asm-file0.s\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline1_lines:
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lbegin_func3
+
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 2 */
+
+	.byte		1	/* DW_LNS_copy */
+
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lbegin_func3+1
+
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 3 */
+
+	.byte		1	/* DW_LNS_copy */
+
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lbegin_func
+
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	4	/* ... to 7 */
+
+	.byte		1	/* DW_LNS_copy */
+
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lbegin_func+1
+
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 8 */
+
+	.byte		1	/* DW_LNS_copy */
+
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		.Lend_func
+
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+
+.Lline1_end:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-asm-file.c ./gdb/testsuite/gdb.linespec/break-asm-file.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-asm-file.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/break-asm-file.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,35 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2004-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+void func3();
+void func2();
+
+static func()
+{
+}
+
+void func1()
+{
+  func3();
+  func2();
+  func();
+}
+
+int main()
+{
+  func1();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-asm-file.exp ./gdb/testsuite/gdb.linespec/break-asm-file.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/break-asm-file.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/break-asm-file.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,55 @@
+# Copyright 2012-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Bug 17394
+# Test for break-point at a function only for a selected ASM file.
+
+load_lib dwarf.exp
+
+standard_testfile .c
+set execfile $testfile
+set asm_file1 break-asm-file1.s
+set asm_file0 break-asm-file0.s
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if {![dwarf2_support]} {
+    return 0
+}
+
+if {[prepare_for_testing ${testfile}.exp $execfile \
+	 [list $srcfile $asm_file1 $asm_file0] \
+	 {debug nowarnings optimize=-O0}]} {
+    untested "Skipping ${testfile}."
+    return
+}
+
+clean_restart $execfile
+
+gdb_test "break a/$asm_file0:func" \
+    "Breakpoint 1 at 0x\[0-9a-fA-F\]+: file .*a/$asm_file0, line 7\\\." \
+    "set a break-point at a global function only for a selected ASM file."
+
+gdb_test "delete 1"
+
+gdb_test "break b/$asm_file0:func" \
+    "Breakpoint 2 at 0x\[0-9a-fA-F\]+: file .*b/$asm_file0, line 7\\\." \
+    "set a break-point at a function only for a selected ASM file."
+
+gdb_test "delete 2"
+
+gdb_test "break $asm_file0:func" \
+    "Breakpoint 3 at 0x\[0-9a-fA-F\]+: .*$asm_file0.*(2 locations).*" \
+    "set a break-point at function in all instances for a selected ASM file."
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/linespec.exp ./gdb/testsuite/gdb.linespec/linespec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/linespec.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/linespec.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/ls-dollar.cc ./gdb/testsuite/gdb.linespec/ls-dollar.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/ls-dollar.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/ls-dollar.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/ls-dollar.exp ./gdb/testsuite/gdb.linespec/ls-dollar.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/ls-dollar.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/ls-dollar.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/ls-errs.c ./gdb/testsuite/gdb.linespec/ls-errs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/ls-errs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/ls-errs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/ls-errs.exp ./gdb/testsuite/gdb.linespec/ls-errs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/ls-errs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/ls-errs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/macro-relative.c ./gdb/testsuite/gdb.linespec/macro-relative.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/macro-relative.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/macro-relative.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/macro-relative.exp ./gdb/testsuite/gdb.linespec/macro-relative.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/macro-relative.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/macro-relative.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,6 +21,11 @@ if [using_fission] {
     return -1
 }
 
+if [is_remote host] {
+    unsupported "Compiling on a remote host does not support a filename with directory."
+    return 0
+}
+
 set opts {debug additional_flags=-I.}
 
 get_compiler_info
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/skip-two.exp ./gdb/testsuite/gdb.linespec/skip-two.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/skip-two.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/skip-two.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/thread.c ./gdb/testsuite/gdb.linespec/thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/thread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/thread.exp ./gdb/testsuite/gdb.linespec/thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.linespec/thread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/thread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/array.f ./gdb/testsuite/gdb.mi/array.f
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/array.f	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/array.f	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-c Copyright 2006-2014 Free Software Foundation, Inc.
+c Copyright 2006-2015 Free Software Foundation, Inc.
 
 c This program is free software; you can redistribute it and/or modify
 c it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/basics.c ./gdb/testsuite/gdb.mi/basics.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/basics.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/basics.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 1999-2014 Free Software Foundation, Inc.
+/* Copyright 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,17 +29,17 @@ int callee4 (void)
   C = A + B;
   return 0;
 }
-callee3 (char *strarg)
+void callee3 (char *strarg)
 {
   callee4 ();
 }
 
-callee2 (int intarg, char *strarg)
+void callee2 (int intarg, char *strarg)
 {
   callee3 (strarg);
 }
 
-callee1 (int intarg, char *strarg, double fltarg)
+void callee1 (int intarg, char *strarg, double fltarg)
 {
   callee2 (intarg, strarg);
 }
@@ -57,7 +57,7 @@ void do_nothing (void)
 {
 }
 
-main ()
+int main ()
 {
   callee1 (2, "A string argument.", 3.5);
   callee1 (2, "A string argument.", 3.5);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb2549.exp ./gdb/testsuite/gdb.mi/gdb2549.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb2549.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/gdb2549.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb669.exp ./gdb/testsuite/gdb.mi/gdb669.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb669.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/gdb669.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb680.exp ./gdb/testsuite/gdb.mi/gdb680.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb680.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/gdb680.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb701.exp ./gdb/testsuite/gdb.mi/gdb701.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb701.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/gdb701.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb792.exp ./gdb/testsuite/gdb.mi/gdb792.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/gdb792.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/gdb792.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.c ./gdb/testsuite/gdb.mi/mi2-amd64-entry-value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi2-amd64-entry-value.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp ./gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s ./gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-prompt.exp ./gdb/testsuite/gdb.mi/mi2-prompt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-prompt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi2-prompt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-var-child.exp ./gdb/testsuite/gdb.mi/mi2-var-child.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi2-var-child.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi2-var-child.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -668,9 +668,7 @@ mi_gdb_test "-var-delete weird" \
 
 # Test: c_variable-5.1
 # Desc: check that nothing changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\\\]" \
-	"update all vars. None changed"
+mi_varobj_update * {} "update all vars. None changed"
 
 # Step over "struct_declarations.integer = 123;"
 mi_step_to do_children_tests {} {.*var-cmd.c} \
@@ -678,8 +676,7 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.2
 # Desc: check that integer changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.integer\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.integer} \
 	"update all vars struct_declarations.integer"
 
 # Step over:
@@ -691,8 +688,8 @@ mi_execute_to "exec-step 3" "end-steppin
 
 # Test: c_variable-5.3
 # Desc: check that char_ptr changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.char_ptr.\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.char_ptr
+    struct_declarations.char_ptr.\\*char_ptr} \
 	"update all vars struct_declarations.char_ptr"
 
 # Step over "struct_declarations.int_ptr_ptr = &foo;"
@@ -701,8 +698,12 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.4
 # Desc: check that int_ptr_ptr and children changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"weird->int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"weird->int_ptr_ptr.\\*weird->int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"weird->int_ptr_ptr.\\*weird->int_ptr_ptr.\\*\\*weird->int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.int_ptr_ptr.\\*int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.int_ptr_ptr.\\*int_ptr_ptr.\\*\\*int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {weird->int_ptr_ptr
+    weird->int_ptr_ptr.\\*weird->int_ptr_ptr
+    weird->int_ptr_ptr.\\*weird->int_ptr_ptr.\\*\\*weird->int_ptr_ptr
+    struct_declarations.int_ptr_ptr
+    struct_declarations.int_ptr_ptr.\\*int_ptr_ptr
+    struct_declarations.int_ptr_ptr.\\*int_ptr_ptr.\\*\\*int_ptr_ptr} \
 	"update all vars int_ptr_ptr and children changed"
 
 # Step over "weird->long_array[0] = 1234;"
@@ -711,8 +712,7 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.5
 # Desc: check that long_array[0] changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.0\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.long_array.0} \
 	"update all vars struct_declarations.long_array.0 changed"
 
 # Step over "struct_declarations.long_array[1] = 2345;"
@@ -721,8 +721,7 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.6
 # Desc: check that long_array[1] changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.1\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.long_array.1} \
 	"update all vars struct_declarations.long_array.1 changed"
 
 # Step over "weird->long_array[2] = 3456;"
@@ -731,8 +730,7 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.7
 # Desc: check that long_array[2] changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.2\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.long_array.2} \
 	"update all vars struct_declarations.long_array.2 changed"
 
 # Step over:
@@ -750,20 +748,23 @@ mi_execute_to "exec-step 7" "end-steppin
 
 # Test: c_variable-5.8
 # Desc: check that long_array[3-9] changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.3\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.4\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.5\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.6\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.7\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.8\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.9\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.long_array.3
+    struct_declarations.long_array.4
+    struct_declarations.long_array.5
+    struct_declarations.long_array.6
+    struct_declarations.long_array.7
+    struct_declarations.long_array.8
+    struct_declarations.long_array.9} \
 	"update all vars struct_declarations.long_array.3-9 changed"
 
 
 # Step over "weird->func_ptr = nothing;"
-set line_dct_a0_0 [gdb_get_line_number "a0\[0\] = '0';"]
-mi_step_to do_children_tests {} {.*var-cmd.c} \
-    $line_dct_a0_0 "step \$line_dct_a0_0"
+mi_step_to do_children_tests {} ".*${srcfile}" \
+    [expr $line_dct_nothing + 1] "step \$line_dct_nothing + 1"
 
 # Test: c_variable-5.9
 # Desc: check that func_ptr changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.func_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.func_ptr} \
 	"update all vars struct_declarations.func_ptr changed"
 
 # Delete all variables
@@ -780,7 +781,7 @@ mi_gdb_test "-var-delete weird->int_ptr_
 #   psnp = &snp0;
 
 set line_dct_snp0 [gdb_get_line_number "psnp = &snp0;"]
-mi_execute_to "exec-step 43" "end-stepping-range" do_children_tests {} {.*var-cmd.c} \
+mi_execute_to "exec-step 45" "end-stepping-range" do_children_tests {} {.*var-cmd.c} \
     [expr $line_dct_snp0 + 1] {} "step \$line_dct_snp0 + 1"
 
 # Test: c_variable-5.10
@@ -1073,8 +1074,11 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.47
 # Desc: check that psnp->char_ptr (and [0].char_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr.\\*\\*\\*\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.char_ptr
+    psnp->char_ptr
+    psnp->char_ptr.\\*psnp->char_ptr psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr
+    psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr
+    psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr.\\*\\*\\*\\*psnp->char_ptr } \
 	"update all vars psnp->char_ptr (and 0.char_ptr) changed"
 
 #  Step over "snp1.char_ptr = &c3;"
@@ -1083,8 +1087,11 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.48
 # Desc: check that psnp->next->char_ptr (and [1].char_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr.\\*\\*\\*\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.next.char_ptr
+    psnp->ptrs.0.next.char_ptr.\\*char_ptr
+    psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr
+    psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr
+    psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr.\\*\\*\\*\\*char_ptr} \
 	"update all vars psnp->next->char_ptr (and 1.char_ptr) changed"
 
 
@@ -1094,8 +1101,7 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.49
 # Desc: check that psnp->next->next->char_ptr (and [2].char_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.next.char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.next.next.char_ptr} \
 	"update all vars psnp->next->next->char_ptr (and 2.char_ptr) changed"
 
 
@@ -1105,8 +1111,11 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.50
 # Desc: check that psnp->long_ptr (and [0].long_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr.\\*\\*\\*\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.long_ptr psnp->long_ptr
+    psnp->long_ptr.\\*psnp->long_ptr
+    psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr
+    psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr
+    psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr.\\*\\*\\*\\*psnp->long_ptr} \
 	"update all vars psnp->long_ptr (and 0.long_ptr) changed"
 
 
@@ -1133,8 +1142,7 @@ mi_step_to do_children_tests {} {.*var-c
 
 # Test: c_variable-5.52
 # Desc: check that psnp->next->next->long_ptr (and [2].long_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.next.long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.next.next.long_ptr} \
 	"update all vars psnp->next->next->long_ptr (and 2.long_ptr) changed"
 
 
@@ -1163,6 +1171,13 @@ mi_create_breakpoint \
     "$srcfile:$lineno" "break in do_anonymous_type_tests" \
     -disp keep -func do_anonymous_type_tests \
     -file ".*var-cmd.c" -line $lineno
+
+set lineno [gdb_get_line_number "nested struct union tests breakpoint"]
+mi_create_breakpoint \
+    "$srcfile:$lineno" "break in do_nested_struct_union_tests" \
+    -disp keep -func do_nested_struct_union_tests \
+    -file ".*var-cmd.c" -line $lineno
+
 mi_execute_to "exec-continue" "breakpoint-hit" "do_anonymous_type_tests" ""\
     ".*" ".*" {"" "disp=\"keep\""} \
     "continue to do_anonymous_type_tests breakpoint"
@@ -1236,5 +1251,74 @@ set tree {
 
 mi_walk_varobj_tree c $tree verify_everything
 
+mi_send_resuming_command "exec-continue" \
+    "continuing execution to enter do_nested_struct_union_tests"
+mi_expect_stop "breakpoint-hit" "do_nested_struct_union_tests" ".*" ".*" ".*" \
+    {.* disp="keep"} "Run till MI stops in do_nested_struct_union_tests"
+
+set struct_ss_tree {
+    {struct s_a} a1 {
+      int a {}
+    }
+    {struct s_b} b1 {
+      int b {}
+    }
+    {union u_ab} u1 {
+      {struct s_a} a {
+        int a {}
+      }
+      {struct s_b} b {
+        int b {}
+      }
+    }
+    anonymous union {
+      {struct s_a} a2 {
+        int a {}
+      }
+      {struct s_b} b2 {
+        int b {}
+      }
+    }
+    {union {...}} u2 {
+      {struct s_a} a3 {
+        int a {}
+      }
+      {struct s_b} b3 {
+        int b {}
+      }
+    }
+  }
+
+set tree "
+  {struct ss} var {
+    $struct_ss_tree
+  }
+"
+
+mi_walk_varobj_tree c $tree verify_everything
+
+set tree {
+  {struct {...}} var2 {
+    {td_u_ab} ab {
+      {td_s_a} a {
+	int a {}
+      }
+      {td_s_b} b {
+	int b {}
+      }
+    }
+  }
+}
+
+mi_walk_varobj_tree c $tree verify_everything
+
+set tree "
+  {struct ss *} ss_ptr {
+    $struct_ss_tree
+  }
+"
+
+mi_walk_varobj_tree c $tree verify_everything
+
 mi_gdb_exit
 return 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-async.exp ./gdb/testsuite/gdb.mi/mi-async.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-async.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-async.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-basics.exp ./gdb/testsuite/gdb.mi/mi-basics.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-basics.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-basics.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-break.exp ./gdb/testsuite/gdb.mi/mi-break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-break.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-break.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp ./gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-catch-load.c ./gdb/testsuite/gdb.mi/mi-catch-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-catch-load.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-catch-load.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-catch-load.exp ./gdb/testsuite/gdb.mi/mi-catch-load.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-catch-load.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-catch-load.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-catch-load-so.c ./gdb/testsuite/gdb.mi/mi-catch-load-so.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-catch-load-so.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-catch-load-so.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-cli.exp ./gdb/testsuite/gdb.mi/mi-cli.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-cli.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-cli.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp ./gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c ./gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.exp ./gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-mt.c ./gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-mt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-mt.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-mt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,6 +19,8 @@
 
 #include <stdlib.h>
 #include <pthread.h>
+#include <stdio.h>
+#include <unistd.h>
 
 extern int test (void);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-st.c ./gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-st.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-st.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-st.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-console.c ./gdb/testsuite/gdb.mi/mi-console.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-console.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-console.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,5 @@
+#include <unistd.h>
+
 void
 hello ()
 {
@@ -11,4 +13,4 @@ int
 main ()
 {
   hello ();
-}
+} /* after-hello */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-console.exp ./gdb/testsuite/gdb.mi/mi-console.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-console.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-console.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -89,7 +89,8 @@ mi_gdb_test "220-exec-next" \
 	    "Testing console output" \
 	    $output
 
-mi_expect_stop "end-stepping-range" "main" "" ".*mi-console.c" "14" "" \
+set line [gdb_get_line_number "after-hello"]
+mi_expect_stop "end-stepping-range" "main" "" ".*mi-console.c" $line "" \
     "finished step over hello"
     
 mi_gdb_exit
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-disassemble.exp ./gdb/testsuite/gdb.mi/mi-disassemble.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-disassemble.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-disassemble.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-dprintf.c ./gdb/testsuite/gdb.mi/mi-dprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-dprintf.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-dprintf.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Hui Zhu  <hui@codesourcery.com>
 
    This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-dprintf.exp ./gdb/testsuite/gdb.mi/mi-dprintf.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-dprintf.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-dprintf.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 #   Contributed by Hui Zhu  <hui@codesourcery.com>
 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-eval.exp ./gdb/testsuite/gdb.mi/mi-eval.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-eval.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-eval.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-exit-code.c ./gdb/testsuite/gdb.mi/mi-exit-code.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-exit-code.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-exit-code.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,29 @@
+/* Copyright 1999-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see http://www.gnu.org/licenses/>.  */
+
+#include <stdlib.h>
+
+int exit_code = 0;
+
+int
+main (int argc, char **argv)
+{
+  if (argc > 1)
+    exit_code = atoi (argv[1]);
+
+  return exit_code;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-exit-code.exp ./gdb/testsuite/gdb.mi/mi-exit-code.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-exit-code.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-exit-code.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+load_lib mi-support.exp
+set MIFLAGS "-i=mi"
+
+gdb_exit
+if [mi_gdb_start] {
+    continue
+}
+
+standard_testfile
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+    untested "failed to compile $testfile"
+    return -1
+}
+
+proc test_list_thread_groups { } {
+    global hex
+    global decimal
+
+    # Before any run, exit-code should not be present.
+    mi_gdb_test \
+	"122-list-thread-groups" \
+	"122\\^done,groups=\\\[\{id=\"i1\",type=\"process\"\}\]" \
+	"-list-thread-groups before run shows no exit-code"
+
+    with_test_prefix "first run" {
+	mi_run_to_main
+
+	# During the run, exit-code should not be present.
+	mi_gdb_test \
+	    "123-list-thread-groups" \
+	    "123\\^done,groups=\\\[\{id=\"i1\",type=\"process\",pid=\"$decimal\",executable=\".*\".*" \
+	    "-list-thread-groups during run shows no exit-code"
+
+	# Exit the inferior.
+	mi_send_resuming_command "exec-continue" "continuing to inferior exit"
+	mi_expect_stop "exited-normally" "" "" "" "" "" "exit normally"
+
+	# After the run, exit-code should be present.
+	mi_gdb_test \
+	    "124-list-thread-groups" \
+	    "124\\^done,groups=\\\[\{id=\"i1\",type=\"process\",exit-code=\"0\",executable=\".*\"\}\]" \
+	    "-list-thread-groups after exit shows exit-code"
+    }
+
+    with_test_prefix "second run" {
+	mi_run_to_main
+
+	# Write the exit code we want in the global var
+	mi_gdb_test "set var exit_code = 8" ".*\\^done" "write exit code"
+
+	# During the second run, exit-code should not be present.
+	mi_gdb_test \
+	    "125-list-thread-groups" \
+	    "125\\^done,groups=\\\[\{id=\"i1\",type=\"process\",pid=\"$decimal\",executable=\".*\".*" \
+	    "-list-thread-groups during run shows no exit-code"
+
+	# Exit the inferior.
+	mi_send_resuming_command "exec-continue" "continuing to inferior exit"
+	mi_expect_stop "exited" "" "" "" "" "" "exit with code"
+
+	# After the second run, exit-code should be present.
+	mi_gdb_test \
+	    "126-list-thread-groups" \
+	    "126\\^done,groups=\\\[\{id=\"i1\",type=\"process\",exit-code=\"010\",executable=\".*\"\}\]" \
+	    "-list-thread-groups after exit shows exit-code"
+    }
+}
+
+test_list_thread_groups
+
+mi_gdb_exit
+return 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-file.exp ./gdb/testsuite/gdb.mi/mi-file.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-file.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-file.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-file-transfer.exp ./gdb/testsuite/gdb.mi/mi-file-transfer.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-file-transfer.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-file-transfer.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # This testcase is part of GDB, the GNU debugger.
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-fill-memory.exp ./gdb/testsuite/gdb.mi/mi-fill-memory.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-fill-memory.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-fill-memory.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-fullname-deleted.exp ./gdb/testsuite/gdb.mi/mi-fullname-deleted.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-fullname-deleted.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-fullname-deleted.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-hack-cli.exp ./gdb/testsuite/gdb.mi/mi-hack-cli.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-hack-cli.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-hack-cli.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-i-cmd.exp ./gdb/testsuite/gdb.mi/mi-i-cmd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-i-cmd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-i-cmd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-info-os.exp ./gdb/testsuite/gdb.mi/mi-info-os.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-info-os.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-info-os.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-inheritance-syntax-error.exp ./gdb/testsuite/gdb.mi/mi-inheritance-syntax-error.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-inheritance-syntax-error.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-inheritance-syntax-error.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-language.exp ./gdb/testsuite/gdb.mi/mi-language.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-language.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-language.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-logging.exp ./gdb/testsuite/gdb.mi/mi-logging.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-logging.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-logging.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-memory-changed.exp ./gdb/testsuite/gdb.mi/mi-memory-changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-memory-changed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-memory-changed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nonstop-exit.exp ./gdb/testsuite/gdb.mi/mi-nonstop-exit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nonstop-exit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-nonstop-exit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nonstop.exp ./gdb/testsuite/gdb.mi/mi-nonstop.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nonstop.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-nonstop.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nsintrall.exp ./gdb/testsuite/gdb.mi/mi-nsintrall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nsintrall.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-nsintrall.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nsmoribund.exp ./gdb/testsuite/gdb.mi/mi-nsmoribund.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nsmoribund.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-nsmoribund.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp ./gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nsthrexec.exp ./gdb/testsuite/gdb.mi/mi-nsthrexec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-nsthrexec.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-nsthrexec.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-pending.c ./gdb/testsuite/gdb.mi/mi-pending.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-pending.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-pending.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-pending.exp ./gdb/testsuite/gdb.mi/mi-pending.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-pending.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-pending.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-pendshr.c ./gdb/testsuite/gdb.mi/mi-pendshr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-pendshr.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-pendshr.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-pthreads.exp ./gdb/testsuite/gdb.mi/mi-pthreads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-pthreads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-pthreads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-read-memory.exp ./gdb/testsuite/gdb.mi/mi-read-memory.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-read-memory.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-read-memory.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-record-changed.exp ./gdb/testsuite/gdb.mi/mi-record-changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-record-changed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-record-changed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-regs.exp ./gdb/testsuite/gdb.mi/mi-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-regs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-regs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-reg-undefined.c ./gdb/testsuite/gdb.mi/mi-reg-undefined.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-reg-undefined.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-reg-undefined.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-reg-undefined.exp ./gdb/testsuite/gdb.mi/mi-reg-undefined.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-reg-undefined.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-reg-undefined.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-reg-undefined.S ./gdb/testsuite/gdb.mi/mi-reg-undefined.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-reg-undefined.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-reg-undefined.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-return.exp ./gdb/testsuite/gdb.mi/mi-return.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-return.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-return.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-reverse.exp ./gdb/testsuite/gdb.mi/mi-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-simplerun.exp ./gdb/testsuite/gdb.mi/mi-simplerun.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-simplerun.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-simplerun.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-solib.exp ./gdb/testsuite/gdb.mi/mi-solib.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-solib.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-solib.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stack.c ./gdb/testsuite/gdb.mi/mi-stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stack.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-stack.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 1999-2014 Free Software Foundation, Inc.
+/* Copyright 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,22 +32,23 @@ int callee4 (void)
   C = A + B;
   return 0;
 }
-callee3 (char *strarg)
+
+void callee3 (char *strarg)
 {
   callee4 ();
 }
 
-callee2 (int intarg, char *strarg)
+void callee2 (int intarg, char *strarg)
 {
   callee3 (strarg);
 }
 
-callee1 (int intarg, char *strarg, double fltarg)
+void callee1 (int intarg, char *strarg, double fltarg)
 {
   callee2 (intarg, strarg);
 }
 
-main ()
+int main ()
 {
   callee1 (2, "A string argument.", 3.5);
   callee1 (2, "A string argument.", 3.5);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stack.exp ./gdb/testsuite/gdb.mi/mi-stack.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stack.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-stack.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-start.c ./gdb/testsuite/gdb.mi/mi-start.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-start.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-start.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-start.exp ./gdb/testsuite/gdb.mi/mi-start.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-start.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-start.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stepi.exp ./gdb/testsuite/gdb.mi/mi-stepi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stepi.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-stepi.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stepn.c ./gdb/testsuite/gdb.mi/mi-stepn.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stepn.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-stepn.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stepn.exp ./gdb/testsuite/gdb.mi/mi-stepn.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-stepn.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-stepn.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-syn-frame.c ./gdb/testsuite/gdb.mi/mi-syn-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-syn-frame.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-syn-frame.c	2015-01-20 02:05:39.000000000 +0000
@@ -9,12 +9,14 @@ void subroutine (int);
 void handler (int);
 void have_a_very_merry_interrupt (void);
 
+int
 main ()
 {
   foo ();   /* Put a breakpoint on foo() and call it to see a dummy frame */
 
 
   have_a_very_merry_interrupt ();
+  return 0;
 }
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-syn-frame.exp ./gdb/testsuite/gdb.mi/mi-syn-frame.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-syn-frame.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-syn-frame.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-undefined-cmd.exp ./gdb/testsuite/gdb.mi/mi-undefined-cmd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-undefined-cmd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-undefined-cmd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-until.exp ./gdb/testsuite/gdb.mi/mi-until.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-until.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-until.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -42,12 +42,13 @@ mi_gdb_reinitialize_dir $srcdir/$subdir
 mi_gdb_load ${binfile}
 
 proc test_running_to_foo {} {
-    mi_create_breakpoint "10" \
+    set line [gdb_get_line_number "in-loop"]
+    mi_create_breakpoint $line \
 	"break-insert operation" \
-	-number 1 -func foo -file ".*until.c" -line 10
+	-number 1 -func foo -file ".*until.c" -line $line
 
     mi_run_cmd
-    mi_expect_stop "breakpoint-hit" "foo" "" ".*until.c" 10 \
+    mi_expect_stop "breakpoint-hit" "foo" "" ".*until.c" $line \
       { "" "disp=\"keep\"" } "run to main"
 
     mi_gdb_test "100-break-delete 1" "100\\^done" "break-delete 1"
@@ -56,17 +57,23 @@ proc test_running_to_foo {} {
 
 proc test_until {} {
     setup_kfail gdb/2104 "*-*-*"
-    mi_execute_to "exec-until" "end-stepping-range" "foo" "" ".*until.c" "12" "" \
+    set line [gdb_get_line_number "after-loop"]
+    mi_execute_to "exec-until" "end-stepping-range" "foo" "" ".*until.c" $line "" \
         "until after while loop"
 
-    mi_execute_to "exec-until 15" "location-reached" "foo" "" ".*until.c" "15" ""\
+    set line [gdb_get_line_number "until-here"]
+    mi_execute_to "exec-until $line" "location-reached" "foo" "" ".*until.c" $line ""\
         "until line number"
 
-    mi_execute_to "exec-until until.c:17" "location-reached" "foo" "" ".*until.c" "17" ""\
+    set line [gdb_get_line_number "until-there"]
+    mi_execute_to "exec-until until.c:$line" "location-reached" "foo" "" ".*until.c" $line ""\
         "until line number:file"
 
-    # This is supposed to NOT stop at line 25. It stops right after foo is over.
-    mi_execute_to "exec-until until.c:25" "location-reached" "main" "" ".*until.c" "(23|24)" ""\
+    # This is supposed to NOT stop at the return statement, but right
+    # after foo is over.
+    set line [gdb_get_line_number "at-return"]
+    mi_execute_to "exec-until until.c:$line" "location-reached" "main" ""\
+	".*until.c" "([expr $line-2]|[expr $line-1])" ""\
         "until after current function"
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-block.exp ./gdb/testsuite/gdb.mi/mi-var-block.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-block.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-block.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-child.c ./gdb/testsuite/gdb.mi/mi-var-child.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-child.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-child.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 1999-2014 Free Software Foundation, Inc.
+/* Copyright 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -160,6 +160,20 @@ nothing ()
 {
 }
 
+struct _struct_decl
+nothing1 (int a, char *b, long c)
+{
+  struct _struct_decl foo;
+
+  return foo;
+}
+
+struct _struct_decl *
+nothing2 (int a, char *b, long c)
+{
+  return (struct _struct_decl *) 0;
+}
+
 void
 subroutine1 (int i, long *l)
 {
@@ -231,6 +245,8 @@ do_children_tests (void)
   struct_declarations.long_array[9] = 1234;
 
   weird->func_ptr = nothing;
+  weird->func_ptr_struct = nothing1;
+  weird->func_ptr_ptr = nothing2;
   struct_declarations.long_array[10] = 3456;
   struct_declarations.long_array[11] = 5678;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-child.exp ./gdb/testsuite/gdb.mi/mi-var-child.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-child.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-child.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -668,9 +668,7 @@ mi_gdb_test "-var-delete weird" \
 
 # Test: c_variable-5.1
 # Desc: check that nothing changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\\\]" \
-	"update all vars. None changed"
+mi_varobj_update * {} "update all vars. None changed"
 
 # Step over "struct_declarations.integer = 123;"
 mi_step_to do_children_tests {} ".*${srcfile}" \
@@ -678,8 +676,7 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.2
 # Desc: check that integer changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.integer\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.integer} \
 	"update all vars struct_declarations.integer"
 
 # Step over:
@@ -691,8 +688,7 @@ mi_execute_to "exec-step 3" "end-steppin
 
 # Test: c_variable-5.3
 # Desc: check that char_ptr changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.char_ptr.\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.char_ptr struct_declarations.char_ptr.\\*char_ptr} \
 	"update all vars struct_declarations.char_ptr"
 
 # Step over "struct_declarations.int_ptr_ptr = &foo;"
@@ -701,8 +697,12 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.4
 # Desc: check that int_ptr_ptr and children changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"weird->int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"weird->int_ptr_ptr.\\*weird->int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"weird->int_ptr_ptr.\\*weird->int_ptr_ptr.\\*\\*weird->int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.int_ptr_ptr.\\*int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.int_ptr_ptr.\\*int_ptr_ptr.\\*\\*int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {weird->int_ptr_ptr
+    weird->int_ptr_ptr.\\*weird->int_ptr_ptr
+    weird->int_ptr_ptr.\\*weird->int_ptr_ptr.\\*\\*weird->int_ptr_ptr
+    struct_declarations.int_ptr_ptr
+    struct_declarations.int_ptr_ptr.\\*int_ptr_ptr
+    struct_declarations.int_ptr_ptr.\\*int_ptr_ptr.\\*\\*int_ptr_ptr} \
 	"update all vars int_ptr_ptr and children changed"
 
 # Step over "weird->long_array[0] = 1234;"
@@ -711,8 +711,7 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.5
 # Desc: check that long_array[0] changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.0\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.long_array.0} \
 	"update all vars struct_declarations.long_array.0 changed"
 
 # Step over "struct_declarations.long_array[1] = 2345;"
@@ -721,8 +720,7 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.6
 # Desc: check that long_array[1] changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.1\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.long_array.1} \
 	"update all vars struct_declarations.long_array.1 changed"
 
 # Step over "weird->long_array[2] = 3456;"
@@ -731,8 +729,7 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.7
 # Desc: check that long_array[2] changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.2\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {struct_declarations.long_array.2} \
 	"update all vars struct_declarations.long_array.2 changed"
 
 # Step over:
@@ -750,9 +747,14 @@ mi_execute_to "exec-step 7" "end-steppin
 
 # Test: c_variable-5.8
 # Desc: check that long_array[3-9] changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.3\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.4\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.5\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.6\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.7\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.8\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"struct_declarations.long_array.9\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
-	"update all vars struct_declarations.long_array.3-9 changed"
+mi_varobj_update * {struct_declarations.long_array.3
+    struct_declarations.long_array.4
+    struct_declarations.long_array.5
+    struct_declarations.long_array.6
+    struct_declarations.long_array.7
+    struct_declarations.long_array.8
+    struct_declarations.long_array.9} \
+    "update all vars struct_declarations.long_array.3-9 changed"
 
 
 # Step over "weird->func_ptr = nothing";
@@ -761,13 +763,24 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.9
 # Desc: check that func_ptr changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"struct_declarations.func_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
-	"update all vars struct_declarations.func_ptr changed"
+mi_varobj_update * {struct_declarations.func_ptr} \
+    "update all vars struct_declarations.func_ptr changed"
 
-# Step over "struct_declarations.long_array[10] = 3456";
+# Step over "weird->func_ptr_struct = nothing1"
 mi_step_to do_children_tests {} ".*${srcfile}" \
     [expr $line_dct_nothing + 2] "step \$line_dct_nothing + 2"
+mi_varobj_update * {struct_declarations.func_ptr_struct} \
+    "update all vars struct_declarations.func_ptr_struct changed"
+
+# Step over "weird->func_ptr_ptr = nothing2"
+mi_step_to do_children_tests {} ".*${srcfile}" \
+    [expr $line_dct_nothing + 3] "step \$line_dct_nothing + 3"
+mi_varobj_update * {struct_declarations.func_ptr_ptr} \
+    "update all vars struct_declarations.func_ptr_ptr changed"
+
+# Step over "struct_declarations.long_array[10] = 3456";
+mi_step_to do_children_tests {} ".*${srcfile}" \
+    [expr $line_dct_nothing + 4] "step \$line_dct_nothing + 4"
 
 mi_gdb_test "-var-update --no-values *" \
 	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.10\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
@@ -806,10 +819,10 @@ mi_list_varobj_children {struct_declarat
          [list struct_declarations.int_ptr_ptr int_ptr_ptr 1 "int \\*\\*" "$hex"] \
          {struct_declarations.long_array long_array 12 "long \\[12\\]"} \
          [list struct_declarations.func_ptr func_ptr 0 "void \\(\\*\\)\\((void)?\\)" "(@$hex: |)$hex <nothing>"] \
-         {struct_declarations.func_ptr_struct func_ptr_struct 0 \
-              "struct _struct_decl \\(\\*\\)(\\(int, char \\*, long\\))?" 0x0} \
-         {struct_declarations.func_ptr_ptr func_ptr_ptr 0 \
-              "struct _struct_decl \\*\\(\\*\\)\\((int, char \\*, long)?\\)" 0x0} \
+         [list struct_declarations.func_ptr_struct func_ptr_struct 0 \
+              "struct _struct_decl \\(\\*\\)(\\(int, char \\*, long\\))?" "$hex <nothing1>"] \
+         [list struct_declarations.func_ptr_ptr func_ptr_ptr 0 \
+              "struct _struct_decl \\*\\(\\*\\)\\((int, char \\*, long)?\\)" "$hex <nothing2>"] \
          {struct_declarations.u1 u1 4 "union \\{\\.\\.\\.\\}"} \
          {struct_declarations.s2 s2 4 "struct \\{\\.\\.\\.\\}"} \
 ] "listing of children, simple types: names, type and values, complex types: names and types"
@@ -1119,8 +1132,11 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.47
 # Desc: check that psnp->char_ptr (and [0].char_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr.\\*\\*\\*\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.char_ptr
+    psnp->char_ptr
+    psnp->char_ptr.\\*psnp->char_ptr psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr
+    psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr
+    psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr.\\*\\*\\*\\*psnp->char_ptr } \
 	"update all vars psnp->char_ptr (and 0.char_ptr) changed"
 
 #  Step over "snp1.char_ptr = &c3;"
@@ -1129,8 +1145,11 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.48
 # Desc: check that psnp->next->char_ptr (and [1].char_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr.\\*\\*\\*\\*char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.next.char_ptr
+    psnp->ptrs.0.next.char_ptr.\\*char_ptr
+    psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr
+    psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr
+    psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr.\\*\\*\\*\\*char_ptr} \
 	"update all vars psnp->next->char_ptr (and 1.char_ptr) changed"
 
 
@@ -1140,8 +1159,7 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.49
 # Desc: check that psnp->next->next->char_ptr (and [2].char_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.next.char_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.next.next.char_ptr} \
 	"update all vars psnp->next->next->char_ptr (and 2.char_ptr) changed"
 
 
@@ -1151,8 +1169,11 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.50
 # Desc: check that psnp->long_ptr (and [0].long_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr.\\*\\*\\*\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.long_ptr psnp->long_ptr
+    psnp->long_ptr.\\*psnp->long_ptr
+    psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr
+    psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr
+    psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr.\\*\\*\\*\\*psnp->long_ptr} \
 	"update all vars psnp->long_ptr (and 0.long_ptr) changed"
 
 
@@ -1179,8 +1200,7 @@ mi_step_to do_children_tests {} ".*${src
 
 # Test: c_variable-5.52
 # Desc: check that psnp->next->next->long_ptr (and [2].long_ptr) changed
-mi_gdb_test "-var-update *" \
-	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.next.long_ptr\",in_scope=\"true\",type_changed=\"false\",has_more=\"0\"\}\\\]" \
+mi_varobj_update * {psnp->ptrs.0.next.next.long_ptr} \
 	"update all vars psnp->next->next->long_ptr (and 2.long_ptr) changed"
 
 mi_prepare_inline_tests $srcfile
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-child-f.exp ./gdb/testsuite/gdb.mi/mi-var-child-f.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-child-f.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-child-f.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-cmd.exp ./gdb/testsuite/gdb.mi/mi-var-cmd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-cmd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-cmd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,6 +50,12 @@ mi_gdb_load ${binfile}
 
 mi_create_varobj "global_simple" "global_simple" "create global variable"
 
+# PR mi/15863
+# Attempt to update the varobj before running the inferior.
+mi_gdb_test "-var-update *" \
+	"\\^done,changelist=\\\[\\\]" \
+	"update varobj before running inferior"
+
 # Test: c_variable-1.2
 # Desc: Create non-existent variable
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-cp.cc ./gdb/testsuite/gdb.mi/mi-var-cp.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-cp.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-cp.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2006-2014 Free Software Foundation, Inc.
+/* Copyright 2006-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-cp.exp ./gdb/testsuite/gdb.mi/mi-var-cp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-cp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-cp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2006-2014 Free Software Foundation, Inc.
+# Copyright 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-create-rtti.c ./gdb/testsuite/gdb.mi/mi-var-create-rtti.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-create-rtti.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-create-rtti.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp ./gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-create-rtti.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-display.exp ./gdb/testsuite/gdb.mi/mi-var-display.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-display.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-display.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -49,6 +49,9 @@ mi_run_cmd
 mi_expect_stop "breakpoint-hit" "do_children_tests" "" ".*var-cmd.c" \
 	$line_dct_end { "" "disp=\"keep\"" } "run to main"
 
+# Prevent symbol on the address being printed.
+mi_gdb_test "-gdb-set print symbol off"
+
 #####       #####
 #               #
 # Display tests #
@@ -81,7 +84,7 @@ mi_gdb_test "-var-evaluate-expression ba
 # Desc: change format of bar to hex
 mi_gdb_test "-var-set-format bar hexadecimal" \
 	"\\^done,format=\"hexadecimal\",value=\"0x849\"" \
-	"set format variable bar"
+	"set format variable bar in hex"
 
 # Test: c_variable-6.6
 # Desc: value of bar with new format
@@ -97,7 +100,7 @@ mi_gdb_test "-var-assign bar 3" \
 
 mi_gdb_test "-var-set-format bar decimal" \
 	"\\^done,format=\"decimal\",value=\"3\"" \
-	"set format variable bar"
+	"set format variable bar in decimal"
 
 mi_gdb_test "-var-evaluate-expression bar" \
 	"\\^done,value=\"3\"" \
@@ -121,29 +124,29 @@ mi_gdb_test "-var-info-type foo" \
 # Desc: format of variable foo
 mi_gdb_test "-var-show-format foo" \
 	"\\^done,format=\"natural\"" \
-	"show format variable foo"
+	"show format variable foo in natural"
 
 # Test: c_variable-6.14
 # Desc: value of variable foo
 mi_gdb_test "-var-evaluate-expression foo" \
 	"\\^done,value=\"$hex\"" \
-	"eval variable foo"
+	"eval variable foo in natural"
 
 # Test: c_variable-6.15
 # Desc: change format of var to octal
 mi_gdb_test "-var-set-format foo octal" \
 	"\\^done,format=\"octal\",value=\"$octal\"" \
-	"set format variable foo"
+	"set format variable foo in octal"
 
 mi_gdb_test "-var-show-format foo" \
 	"\\^done,format=\"octal\"" \
-	"show format variable foo"
+	"show format variable foo in octal"
 
 # Test: c_variable-6.16
 # Desc: value of foo with new format
 mi_gdb_test "-var-evaluate-expression foo" \
 	"\\^done,value=\"\[0-7\]+\"" \
-	"eval variable foo"
+	"eval variable foo in octal"
 
 # Test: c_variable-6.17
 # Desc: change value of foo
@@ -153,13 +156,13 @@ mi_gdb_test "-var-assign foo 3" \
 
 mi_gdb_test "-var-set-format foo decimal" \
 	"\\^done,format=\"decimal\",value=\"3\"" \
-	"set format variable foo"
+	"set format variable foo decimal"
 
 # Test: c_variable-6.18
 # Desc: check new value of foo
 mi_gdb_test "-var-evaluate-expression foo" \
 	"\\^done,value=\"3\"" \
-	"eval variable foo"
+	"eval variable foo in decimal"
 
 
 # Test: c_variable-6.19
@@ -175,7 +178,7 @@ mi_gdb_test "-var-show-format foo" \
 
 mi_gdb_test "-var-evaluate-expression -f octal foo" \
 	"\\^done,value=\"03\"" \
-	"eval variable foo in octal"
+	"eval variable -f octal foo"
 
 mi_gdb_test "-var-show-format foo" \
 	"\\^done,format=\"decimal\"" \
@@ -183,7 +186,7 @@ mi_gdb_test "-var-show-format foo" \
 
 mi_gdb_test "-var-evaluate-expression -f decimal foo" \
 	"\\^done,value=\"3\"" \
-	"eval variable foo in decimal"
+	"eval variable -f decimal foo"
 
 mi_gdb_test "-var-show-format foo" \
 	"\\^done,format=\"decimal\"" \
@@ -191,7 +194,7 @@ mi_gdb_test "-var-show-format foo" \
 
 mi_gdb_test "-var-evaluate-expression -f nat foo" \
 	"\\^done,value=\"0x3\"" \
-	"eval variable foo in natural"
+	"eval variable -f nat foo"
 
 mi_gdb_test "-var-show-format foo" \
 	"\\^done,format=\"decimal\"" \
@@ -234,7 +237,7 @@ mi_list_varobj_children weird {
 # Desc: change format of weird.func_ptr and weird.func_ptr_ptr
 mi_gdb_test "-var-set-format weird.func_ptr hexadecimal" \
 	"\\^done,format=\"hexadecimal\",value=\"$hex\"" \
-	"set format variable weird.func_ptr"
+	"set format variable weird.func_ptr in hex (1)"
 
 mi_gdb_test "-var-show-format weird.func_ptr" \
 	"\\^done,format=\"hexadecimal\"" \
@@ -242,7 +245,7 @@ mi_gdb_test "-var-show-format weird.func
 
 mi_gdb_test "-var-set-format weird.func_ptr_ptr hexadecimal" \
 	"\\^done,format=\"hexadecimal\",value=\"$hex\"" \
-	"set format variable weird.func_ptr_ptr"
+	"set format variable weird.func_ptr_ptr in hex"
 
 mi_gdb_test "-var-show-format weird.func_ptr_ptr" \
 	"\\^done,format=\"hexadecimal\"" \
@@ -280,15 +283,15 @@ mi_gdb_test "-var-set-format weird.long_
 
 mi_gdb_test "-var-set-format weird.func_ptr hexadecimal" \
 	"\\^done,format=\"hexadecimal\",value=\"$hex\"" \
-	"set format variable weird.func_ptr"
+	"set format variable weird.func_ptr in hex (2)"
 
 mi_gdb_test "-var-set-format weird.func_ptr_struct hexadecimal" \
 	"\\^done,format=\"hexadecimal\",value=\"$hex\"" \
 	"set format variable weird.func_ptr_struct"
 
 mi_gdb_test "-var-set-format weird.func_ptr_ptr natural" \
-	"\\^done,format=\"natural\",value=\"0x0\"" \
-	"set format variable weird.func_ptr_ptr"
+	"\\^done,format=\"natural\",value=\"$hex <nothing2>\"" \
+	"set format variable weird.func_ptr_ptr in natural"
 
 mi_gdb_test "-var-set-format weird.u1 natural" \
 	"\\^done,format=\"natural\",value=\"\{...\}\"" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-invalidate.exp ./gdb/testsuite/gdb.mi/mi-var-invalidate.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-invalidate.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-invalidate.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-rtti.cc ./gdb/testsuite/gdb.mi/mi-var-rtti.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-rtti.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-rtti.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2012-2014 Free Software Foundation, Inc.
+/* Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -241,6 +241,12 @@ void use_rtti_with_multiple_inheritence_
 void type_update_when_use_rtti_test ()
 {
   /*: BEGIN: type_update_when_use_rtti :*/
+	Base *ptr = 0;
+	struct S {
+		Base* ptr;
+		S ( Base* v ) :
+			ptr ( v ) {}
+	} s ( ptr );
 	Derived d;
   /*: 
 	set testname type_update_when_use_rtti
@@ -260,12 +266,8 @@ void type_update_when_use_rtti_test ()
 	check_derived_children_without_rtti S.public.ptr s.ptr $testname
   :*/
 
-	Base* ptr = &d;
-	struct S {
-		Base* ptr;
-		S ( Base* v ) :
-			ptr ( v ) {}
-	} s ( &d );
+	ptr = &d;
+	s.ptr = &d;
   /*:
 	mi_varobj_update_with_type_change PTR {Derived \*} 2 \
 		"update ptr to derived in $testname"
@@ -295,6 +297,12 @@ void type_update_when_use_rtti_test ()
 void skip_type_update_when_not_use_rtti_test ()
 {
   /*: BEGIN: skip_type_update_when_not_use_rtti :*/
+	Base *ptr = 0;
+	struct S {
+		Base* ptr;
+		S ( Base* v ) :
+			ptr ( v ) {}
+	} s ( ptr );
 	Derived d;
   /*: 
 	set testname skip_type_update_when_not_use_rtti
@@ -314,12 +322,8 @@ void skip_type_update_when_not_use_rtti_
 	check_derived_children_without_rtti S.public.ptr s.ptr $testname
   :*/
 
-	Base* ptr = &d;
-	struct S {
-		Base* ptr;
-		S ( Base* v ) :
-			ptr ( v ) {}
-	} s ( &d );
+	ptr = &d;
+	s.ptr = &d;
   /*: 
 	mi_varobj_update PTR {PTR PTR.public.A} \
 		"update ptr to derived type in $testname"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-rtti.exp ./gdb/testsuite/gdb.mi/mi-var-rtti.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-var-rtti.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-var-rtti.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-vla-c99.exp ./gdb/testsuite/gdb.mi/mi-vla-c99.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-vla-c99.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-vla-c99.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # Contributed by Intel Corp. <keven.boell@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-watch.exp ./gdb/testsuite/gdb.mi/mi-watch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-watch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-watch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-watch-nonstop.exp ./gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/mi-watch-nonstop.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/mi-watch-nonstop.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2011-2014 Free Software Foundation, Inc.
+#   Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/non-stop.c ./gdb/testsuite/gdb.mi/non-stop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/non-stop.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/non-stop.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Test program for non-stop debugging.
-   Copyright 1996-2014 Free Software Foundation, Inc.
+   Copyright 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,11 +20,11 @@
 #include <stdlib.h>
 #include <pthread.h>
 
-/* Under OSF 2.0 & 3.0 and HPUX 10, the second arg of pthread_create
+/* Under HPUX 10, the second arg of pthread_create
    is prototyped to be just a "pthread_attr_t", while under Solaris it
    is a "pthread_attr_t *".  Arg! */
 
-#if defined (__osf__) || defined (__hpux__)
+#if defined (__hpux__)
 #define PTHREAD_CREATE_ARG2(arg) arg
 #define PTHREAD_CREATE_NULL_ARG2 null_attr
 static pthread_attr_t null_attr;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/non-stop-exit.c ./gdb/testsuite/gdb.mi/non-stop-exit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/non-stop-exit.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/non-stop-exit.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Test program exit in non-stop mode.
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/nsintrall.c ./gdb/testsuite/gdb.mi/nsintrall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/nsintrall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/nsintrall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/nsmoribund.c ./gdb/testsuite/gdb.mi/nsmoribund.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/nsmoribund.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/nsmoribund.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/ns-stale-regcache.c ./gdb/testsuite/gdb.mi/ns-stale-regcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/ns-stale-regcache.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/ns-stale-regcache.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/nsthrexec.c ./gdb/testsuite/gdb.mi/nsthrexec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/nsthrexec.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/nsthrexec.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pending.c ./gdb/testsuite/gdb.mi/pending.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pending.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/pending.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pendshr1.c ./gdb/testsuite/gdb.mi/pendshr1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pendshr1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/pendshr1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pendshr2.c ./gdb/testsuite/gdb.mi/pendshr2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pendshr2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/pendshr2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pr11022.c ./gdb/testsuite/gdb.mi/pr11022.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pr11022.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/pr11022.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pr11022.exp ./gdb/testsuite/gdb.mi/pr11022.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pr11022.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/pr11022.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pthreads.c ./gdb/testsuite/gdb.mi/pthreads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/pthreads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/pthreads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Pthreads test program.
-   Copyright 1996-2014 Free Software Foundation, Inc.
+   Copyright 1996-2015 Free Software Foundation, Inc.
 
    Written by Keith Seitz of Red Hat.
    Copied from gdb.threads/pthreads.c.
@@ -24,11 +24,11 @@
 #include <stdlib.h>
 #include <pthread.h>
 
-/* Under OSF 2.0 & 3.0 and HPUX 10, the second arg of pthread_create
+/* Under HPUX 10, the second arg of pthread_create
    is prototyped to be just a "pthread_attr_t", while under Solaris it
    is a "pthread_attr_t *".  Arg! */
 
-#if defined (__osf__) || defined (__hpux__)
+#if defined (__hpux__)
 #define PTHREAD_CREATE_ARG2(arg) arg
 #define PTHREAD_CREATE_NULL_ARG2 null_attr
 static pthread_attr_t null_attr;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/solib-lib.c ./gdb/testsuite/gdb.mi/solib-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/solib-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/solib-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/solib-main.c ./gdb/testsuite/gdb.mi/solib-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/solib-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/solib-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/until.c ./gdb/testsuite/gdb.mi/until.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/until.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/until.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,4 @@
+void
 foo (void)
 {
  int i, x, y, z;
@@ -7,20 +8,21 @@ foo (void)
  i = 0;
 
  while (i < 2)
-   i++;
+   i++;				/* in-loop */
 
- x = i;
+ x = i;				/* after-loop */
  y = 2 * x;
  z = x + y;
- y = x + z;
+ y = x + z;			/* until-here */
  x = 9;
- y = 10;
+ y = 10;			/* until-there */
 }
 
+int
 main ()
 {
   int a = 1;
   foo ();
   a += 2;
-  return 0;
+  return 0;			/* at-return */
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/var-cmd.c ./gdb/testsuite/gdb.mi/var-cmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/var-cmd.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/var-cmd.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 1999-2014 Free Software Foundation, Inc.
+/* Copyright 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -182,6 +182,20 @@ nothing ()
 {
 }
 
+struct _struct_decl
+nothing1 (int a, char *b, long c)
+{
+  struct _struct_decl foo;
+
+  return foo;
+}
+
+struct _struct_decl *
+nothing2 (int a, char *b, long c)
+{
+  return (struct _struct_decl *) 0;
+}
+
 void
 subroutine1 (int i, long *l)
 {
@@ -253,6 +267,8 @@ do_children_tests (void)
   struct_declarations.long_array[9] = 1234;
 
   weird->func_ptr = nothing;
+  weird->func_ptr_struct = nothing1;
+  weird->func_ptr_ptr = nothing2;
 
   /* Struct/pointer/array tests */
   a0[0] = '0';
@@ -552,6 +568,73 @@ do_anonymous_type_tests (void)
   return; /* anonymous type tests breakpoint */
 }
 
+void
+do_nested_struct_union_tests (void)
+{
+  struct s_a
+  {
+    int a;
+  };
+  struct s_b
+  {
+    int b;
+  };
+  union u_ab
+  {
+    struct s_a a;
+    struct s_b b;
+  };
+  struct ss
+  {
+    struct s_a a1;
+    struct s_b b1;
+    union u_ab u1;
+
+    /* Anonymous union.  */
+    union
+    {
+      struct s_a a2;
+      struct s_b b2;
+    };
+
+    union
+    {
+      struct s_a a3;
+      struct s_b b3;
+    } u2;
+  };
+
+  typedef struct
+  {
+    int a;
+  } td_s_a;
+
+  typedef struct
+  {
+    int b;
+  } td_s_b;
+
+  typedef union
+  {
+    td_s_a a;
+    td_s_b b;
+  } td_u_ab;
+
+  struct ss var;
+  struct
+  {
+    td_u_ab ab;
+  } var2;
+
+  struct ss *ss_ptr;
+
+  memset (&var, 0, sizeof (var));
+  memset (&var2, 0, sizeof (var2));
+  ss_ptr = &var;
+
+  return; /* nested struct union tests breakpoint */
+}
+
 int
 main (int argc, char *argv [])
 {
@@ -563,6 +646,7 @@ main (int argc, char *argv [])
   do_at_tests ();
   do_bitfield_tests ();
   do_anonymous_type_tests ();
+  do_nested_struct_union_tests ();
   exit (0);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/vla.c ./gdb/testsuite/gdb.mi/vla.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/vla.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/vla.c	2015-01-20 02:05:39.000000000 +0000
@@ -2,7 +2,7 @@
 
    Contributed by Intel Corp. <keven.boell@intel.com>
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/watch-nonstop.c ./gdb/testsuite/gdb.mi/watch-nonstop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.mi/watch-nonstop.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.mi/watch-nonstop.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include <unistd.h>
+
 int global;
 
 int main ()
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.modula2/Makefile.in ./gdb/testsuite/gdb.modula2/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.modula2/Makefile.in	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.modula2/Makefile.in	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile for regression testing the GNU debugger.
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.modula2/unbounded1.c ./gdb/testsuite/gdb.modula2/unbounded1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.modula2/unbounded1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.modula2/unbounded1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test script is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.modula2/unbounded-array.exp ./gdb/testsuite/gdb.modula2/unbounded-array.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.modula2/unbounded-array.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.modula2/unbounded-array.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/base.exp ./gdb/testsuite/gdb.multi/base.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/base.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/base.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/bkpt-multi-exec.exp ./gdb/testsuite/gdb.multi/bkpt-multi-exec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/bkpt-multi-exec.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/bkpt-multi-exec.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/dummy-frame-restore.c ./gdb/testsuite/gdb.multi/dummy-frame-restore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/dummy-frame-restore.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/dummy-frame-restore.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,36 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+static void
+f1 (void)
+{}
+
+static void
+f2 (void)
+{}
+
+void
+commonfun (void)
+{}
+
+int
+main (void)
+{
+  f1 ();
+  f2 ();
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/dummy-frame-restore.exp ./gdb/testsuite/gdb.multi/dummy-frame-restore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/dummy-frame-restore.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/dummy-frame-restore.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,97 @@
+# Copyright 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+standard_testfile .c
+set executable ${testfile}
+
+# The plain remote target can't do multiple inferiors.
+if [target_info exists use_gdb_stub] {
+    return
+}
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug}]} {
+    return -1
+}
+
+# Inferior 1 stops at f1.
+
+if ![runto f1] then {
+    fail "Can't run to f1"
+    return 0
+}
+
+gdb_test "add-inferior -exec ${binfile}" \
+    "Added inferior 2.*" \
+    "add inferior 2 with -exec ${executable}"
+gdb_test "inferior 2" "witching to inferior 2 .*" "switch to inferior 2"
+
+delete_breakpoints
+
+# Inferior 2 stops at f2.
+
+if ![runto f2] then {
+    fail "Can't run to f2"
+    return 0
+}
+
+gdb_breakpoint commonfun
+
+# Check the stack bactrace in inferior INF.  PREFIX is the test
+# message prefix.
+
+proc check_bt { inf prefix } {
+    with_test_prefix "$prefix" {
+	gdb_test "bt 1" "#0  f$inf .*" "bt in inferior $inf"
+    }
+}
+
+# Do inferior call commonfun () in inferior 2 and inferior 1, but
+# finish it in inferior INF1 first and then inferior INF2.  Check
+# the stack backtrace in each inferior is still correct after
+# inferior call.
+
+proc test { inf1 inf2 } {
+
+    with_test_prefix "inf $inf1 first" {
+	gdb_test "inferior 2" "witching to inferior 2 .*" \
+	    "switch to inferior 2 (1)"
+	check_bt 2 "before infcall"
+	gdb_test "p commonfun()" "Breakpoint .*The program being debugged stopped while in a function called from GDB.*" "infcall in inferior 2"
+
+	gdb_test "inferior 1" "witching to inferior 1 .*" \
+	    "switch to inferior 1 (1)"
+	check_bt 1 "before infcall"
+	gdb_test "p commonfun()" "Breakpoint .*The program being debugged stopped while in a function called from GDB.*" "infcall in inferior 1"
+
+	gdb_test "maintenance print dummy-frames" ": id={stack=.*}.*: id=.*" \
+	    "two dummy frames"
+
+	gdb_test "inferior $inf1" "witching to inferior $inf1 .*" \
+	    "switch to inferior $inf1 (2)"
+	gdb_test "finish" "Run till exit from #0  commonfun .*" \
+	    "finish in inferior $inf1"
+	check_bt $inf1 "after infcall"
+
+	gdb_test "inferior $inf2" "witching to inferior $inf2 .*" \
+	    "switch to inferior $inf2 (2)"
+	gdb_test "finish" "Run till exit from #0  commonfun .*" \
+	    "finish in inferior $inf2"
+	check_bt $inf2 "after infcall"
+    }
+}
+
+# Do the test in different orders.
+test 1 2
+test 2 1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/goodbye.c ./gdb/testsuite/gdb.multi/goodbye.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/goodbye.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/goodbye.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/hangout.c ./gdb/testsuite/gdb.multi/hangout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/hangout.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/hangout.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/hello.c ./gdb/testsuite/gdb.multi/hello.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/hello.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/hello.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-arch-exec.c ./gdb/testsuite/gdb.multi/multi-arch-exec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-arch-exec.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/multi-arch-exec.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-arch-exec.exp ./gdb/testsuite/gdb.multi/multi-arch-exec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-arch-exec.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/multi-arch-exec.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-arch.exp ./gdb/testsuite/gdb.multi/multi-arch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-arch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/multi-arch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-attach.c ./gdb/testsuite/gdb.multi/multi-attach.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-attach.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/multi-attach.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-attach.exp ./gdb/testsuite/gdb.multi/multi-attach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/multi-attach.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/multi-attach.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -19,8 +19,7 @@
 
 standard_testfile
 
-# We need to use TCL's exec to get the pid.
-if [is_remote target] then {
+if {![can_spawn_for_attach]} {
     return 0
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/watchpoint-multi.c ./gdb/testsuite/gdb.multi/watchpoint-multi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/watchpoint-multi.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/watchpoint-multi.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/watchpoint-multi.exp ./gdb/testsuite/gdb.multi/watchpoint-multi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.multi/watchpoint-multi.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.multi/watchpoint-multi.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.objc/basicclass.exp ./gdb/testsuite/gdb.objc/basicclass.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.objc/basicclass.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.objc/basicclass.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -119,12 +119,7 @@ gdb_test continue \
 # Test resetting breakpoints when re-running program
 #
 gdb_run_cmd
-gdb_expect {
-    -re "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:.*$gdb_prompt $"\
-                            { pass "resetting breakpoints when rerunning" }
-    -re ".*$gdb_prompt $"       { fail "resetting breakpoints when rerunning" }
-    timeout                 { fail "resetting breakpoints when rerunning" }
-}
+gdb_test "" "Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:.*" "resetting breakpoints when r
 
 #
 # Continue until breakpoint (test re-setting breakpoint)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.objc/nondebug.exp ./gdb/testsuite/gdb.objc/nondebug.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.objc/nondebug.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.objc/nondebug.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.objc/objcdecode.exp ./gdb/testsuite/gdb.objc/objcdecode.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.objc/objcdecode.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.objc/objcdecode.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.objc/print.exp ./gdb/testsuite/gdb.objc/print.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.objc/print.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.objc/print.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/callfuncs.cl ./gdb/testsuite/gdb.opencl/callfuncs.cl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/callfuncs.cl	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/callfuncs.cl	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/callfuncs.exp ./gdb/testsuite/gdb.opencl/callfuncs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/callfuncs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/callfuncs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/convs_casts.cl ./gdb/testsuite/gdb.opencl/convs_casts.cl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/convs_casts.cl	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/convs_casts.cl	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/convs_casts.exp ./gdb/testsuite/gdb.opencl/convs_casts.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/convs_casts.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/convs_casts.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/datatypes.cl ./gdb/testsuite/gdb.opencl/datatypes.cl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/datatypes.cl	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/datatypes.cl	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/datatypes.exp ./gdb/testsuite/gdb.opencl/datatypes.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/datatypes.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/datatypes.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/operators.cl ./gdb/testsuite/gdb.opencl/operators.cl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/operators.cl	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/operators.cl	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/operators.exp ./gdb/testsuite/gdb.opencl/operators.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/operators.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/operators.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/vec_comps.cl ./gdb/testsuite/gdb.opencl/vec_comps.cl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/vec_comps.cl	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/vec_comps.cl	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/vec_comps.exp ./gdb/testsuite/gdb.opencl/vec_comps.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opencl/vec_comps.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opencl/vec_comps.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/clobbered-registers-O2.c ./gdb/testsuite/gdb.opt/clobbered-registers-O2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/clobbered-registers-O2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/clobbered-registers-O2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/clobbered-registers-O2.exp ./gdb/testsuite/gdb.opt/clobbered-registers-O2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/clobbered-registers-O2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/clobbered-registers-O2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-break.c ./gdb/testsuite/gdb.opt/inline-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-break.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-break.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-break.exp ./gdb/testsuite/gdb.opt/inline-break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-break.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-break.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-bt.c ./gdb/testsuite/gdb.opt/inline-bt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-bt.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-bt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-bt.exp ./gdb/testsuite/gdb.opt/inline-bt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-bt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-bt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-cmds.c ./gdb/testsuite/gdb.opt/inline-cmds.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-cmds.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-cmds.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-cmds.exp ./gdb/testsuite/gdb.opt/inline-cmds.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-cmds.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-cmds.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-locals.c ./gdb/testsuite/gdb.opt/inline-locals.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-locals.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-locals.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-locals.exp ./gdb/testsuite/gdb.opt/inline-locals.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-locals.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-locals.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-markers.c ./gdb/testsuite/gdb.opt/inline-markers.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.opt/inline-markers.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.opt/inline-markers.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/floats.exp ./gdb/testsuite/gdb.pascal/floats.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/floats.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.pascal/floats.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/floats.pas ./gdb/testsuite/gdb.pascal/floats.pas
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/floats.pas	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.pascal/floats.pas	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 {
- Copyright 2008-2014 Free Software Foundation, Inc.
+ Copyright 2008-2015 Free Software Foundation, Inc.
 
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/gdb11492.exp ./gdb/testsuite/gdb.pascal/gdb11492.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/gdb11492.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.pascal/gdb11492.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/gdb11492.pas ./gdb/testsuite/gdb.pascal/gdb11492.pas
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/gdb11492.pas	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.pascal/gdb11492.pas	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 {
- Copyright 2010-2014 Free Software Foundation, Inc.
+ Copyright 2010-2015 Free Software Foundation, Inc.
 
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/hello.exp ./gdb/testsuite/gdb.pascal/hello.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/hello.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.pascal/hello.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/integers.exp ./gdb/testsuite/gdb.pascal/integers.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/integers.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.pascal/integers.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/integers.pas ./gdb/testsuite/gdb.pascal/integers.pas
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/integers.pas	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.pascal/integers.pas	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 {
- Copyright 2008-2014 Free Software Foundation, Inc.
+ Copyright 2008-2015 Free Software Foundation, Inc.
 
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/print.exp ./gdb/testsuite/gdb.pascal/print.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/print.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.pascal/print.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/types.exp ./gdb/testsuite/gdb.pascal/types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.pascal/types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.pascal/types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1994-2014 Free Software Foundation, Inc.
+# Copyright 1994-2015 Free Software Foundation, Inc.
 # Copyright 2007 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/backtrace.c ./gdb/testsuite/gdb.perf/backtrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/backtrace.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/backtrace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/backtrace.exp ./gdb/testsuite/gdb.perf/backtrace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/backtrace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/backtrace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/backtrace.py ./gdb/testsuite/gdb.perf/backtrace.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/backtrace.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/backtrace.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/disassemble.exp ./gdb/testsuite/gdb.perf/disassemble.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/disassemble.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/disassemble.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -41,7 +41,7 @@ PerfTest::assemble {
     # When GDB is debugging GDB, the prompt is changed to "(top-gdb) ".
     # In order to avoid the confusion of pattern matching, set the
     # gdb_prompt to '(top-gdb)' temporarily.
-    with_gdb_prompt "\\(top-gdb\\)" {
+    with_gdb_prompt "(top-gdb)" {
 	gdb_load ${binfile}
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/disassemble.py ./gdb/testsuite/gdb.perf/disassemble.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/disassemble.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/disassemble.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/__init__.py ./gdb/testsuite/gdb.perf/lib/perftest/__init__.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/__init__.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/lib/perftest/__init__.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/measure.py ./gdb/testsuite/gdb.perf/lib/perftest/measure.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/measure.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/lib/perftest/measure.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/perftest.py ./gdb/testsuite/gdb.perf/lib/perftest/perftest.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/perftest.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/lib/perftest/perftest.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/reporter.py ./gdb/testsuite/gdb.perf/lib/perftest/reporter.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/reporter.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/lib/perftest/reporter.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/testresult.py ./gdb/testsuite/gdb.perf/lib/perftest/testresult.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/lib/perftest/testresult.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/lib/perftest/testresult.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/single-step.c ./gdb/testsuite/gdb.perf/single-step.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/single-step.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/single-step.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/single-step.exp ./gdb/testsuite/gdb.perf/single-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/single-step.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/single-step.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/single-step.py ./gdb/testsuite/gdb.perf/single-step.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/single-step.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/single-step.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/skip-prologue.c ./gdb/testsuite/gdb.perf/skip-prologue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/skip-prologue.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/skip-prologue.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/skip-prologue.exp ./gdb/testsuite/gdb.perf/skip-prologue.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/skip-prologue.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/skip-prologue.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/skip-prologue.py ./gdb/testsuite/gdb.perf/skip-prologue.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/skip-prologue.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/skip-prologue.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/solib.c ./gdb/testsuite/gdb.perf/solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/solib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/solib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/solib.exp ./gdb/testsuite/gdb.perf/solib.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/solib.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/solib.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/solib.py ./gdb/testsuite/gdb.perf/solib.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.perf/solib.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.perf/solib.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/amd64-py-framefilter-invalidarg.S ./gdb/testsuite/gdb.python/amd64-py-framefilter-invalidarg.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/amd64-py-framefilter-invalidarg.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/amd64-py-framefilter-invalidarg.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/lib-types.cc ./gdb/testsuite/gdb.python/lib-types.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/lib-types.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/lib-types.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/lib-types.exp ./gdb/testsuite/gdb.python/lib-types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/lib-types.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/lib-types.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-arch.c ./gdb/testsuite/gdb.python/py-arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-arch.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-arch.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-arch.exp ./gdb/testsuite/gdb.python/py-arch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-arch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-arch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -57,6 +57,8 @@ gdb_test "python print (\"addr\" in insn
 gdb_test "python print (\"asm\" in insn)" "True" "test key asm"
 gdb_test "python print (\"length\" in insn)" "True" "test key length"
 
-# Negative test
-gdb_test "python arch.disassemble(0, 0)" ".*gdb\.MemoryError.*" \
-  "test bad memory access"
+if { ![is_address_zero_readable] } {
+    # Negative test
+    gdb_test "python arch.disassemble(0, 0)" ".*gdb\.MemoryError.*" \
+	"test bad memory access"
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-block.c ./gdb/testsuite/gdb.python/py-block.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-block.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-block.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-block.exp ./gdb/testsuite/gdb.python/py-block.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-block.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-block.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-breakpoint.c ./gdb/testsuite/gdb.python/py-breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-breakpoint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-breakpoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-breakpoint.exp ./gdb/testsuite/gdb.python/py-breakpoint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-breakpoint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-breakpoint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -133,7 +133,7 @@ proc test_bkpt_deletion { } {
 	gdb_test "python print (len(del_list))" \
 	    "3" "Number of breakpoints before delete"
 	gdb_continue_to_breakpoint "Break at multiply." \
-	    ".*/$srcfile:$deltst_location.*"
+	    ".*$srcfile:$deltst_location.*"
 	gdb_py_test_silent_cmd  "python dp1.delete()" \
 	    "Delete Breakpoint" 0
 	gdb_test "python print (dp1.number)" \
@@ -144,7 +144,7 @@ proc test_bkpt_deletion { } {
 	gdb_test "python print (len(del_list))" \
 	    "2" "Number of breakpoints after delete"
 	gdb_continue_to_breakpoint "Break at end." \
-	    ".*/$srcfile:$end_location.*"
+	    ".*$srcfile:$end_location.*"
     }
 }
 
@@ -356,7 +356,7 @@ proc test_bkpt_eval_funcs { } {
 	gdb_py_test_silent_cmd "python never_eval_bp1 = bp_also_eval(\"$end_location\")" \
 	    "Set breakpoint" 0
 	gdb_continue_to_breakpoint "Break at multiply, i==3" \
-	    ".*/$srcfile:$bp_location2.*"
+	    ".*$srcfile:$bp_location2.*"
 	gdb_test "print i" \
 	    "3" "Check inferior value matches python accounting"
 	gdb_test "python print (eval_bp1.inf_i)" \
@@ -395,7 +395,7 @@ proc test_bkpt_eval_funcs { } {
 	gdb_test "python print (check_eval.count)" "0" \
 	    "Test that evaluate function has not been yet executed (ie count = 0)"
 	gdb_continue_to_breakpoint "Break at multiply, count==1" \
-	    ".*/$srcfile:$bp_location2.*"
+	    ".*$srcfile:$bp_location2.*"
 	gdb_test "python print (check_eval.count)" "1" \
 	    "Test that evaluate function is run when location also has normal bp"
 
@@ -452,7 +452,7 @@ proc test_bkpt_temporary { } {
 	gdb_test "python print (ibp.temporary)" "True" \
 	    "Check breakpoint temporary status"
 	gdb_continue_to_breakpoint "Break at multiply." \
-	    ".*/$srcfile:$ibp_location.*"
+	    ".*$srcfile:$ibp_location.*"
 	gdb_test "python print (ibp.count)" "1" \
 	    "Check temporary stop callback executed before deletion."
 	gdb_test "python print (ibp.temporary)" "RuntimeError: Breakpoint 2 is invalid.*" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-caller-is.c ./gdb/testsuite/gdb.python/py-caller-is.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-caller-is.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-caller-is.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,41 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+static void
+bottom_func (void)
+{
+  return; /* Break bottom_func here.  */
+}
+
+static void
+middle_func (void)
+{
+  bottom_func ();
+}
+
+static void
+top_func (void)
+{
+  middle_func ();
+}
+
+int
+main ()
+{
+  top_func ();
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-caller-is.exp ./gdb/testsuite/gdb.python/py-caller-is.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-caller-is.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-caller-is.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,73 @@
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the GDB testsuite.  It tests the convenience
+# functions in caller_is.py.
+
+load_lib gdb-python.exp
+
+standard_testfile
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+    return -1
+}
+
+if ![runto_main] {
+    return 0
+}
+
+# Skip all tests if Python scripting is not enabled.
+if { [skip_python_tests] } { continue }
+
+gdb_breakpoint "bottom_func"
+gdb_continue_to_breakpoint "bottom_func"
+
+proc test_all_caller_is_fns { } {
+    gdb_test "p \$_caller_is (\"bottom_func\", 0)" " = 1"
+    gdb_test "p \$_caller_is (\"middle_func\")" " = 1"
+    gdb_test "p \$_caller_is (\"top_func\")" " = 0"
+    gdb_test "p \$_caller_is (\"middle_func\", 2)" " = 0"
+    gdb_test "p \$_caller_is (\"top_func\", 2)" " = 1"
+    gdb_test "p \$_caller_is (\"foo\", 100)" " = 0"
+    gdb_test "p \$_caller_is (\"foo\", -1)" "nframes must be >= 0"
+
+    gdb_test "p \$_caller_matches (\"^bottom\", 0)" " = 1"
+    gdb_test "p \$_caller_matches (\"^middle_\")" " = 1"
+    gdb_test "p \$_caller_matches (\"^top_\")" " = 0"
+    gdb_test "p \$_caller_matches (\"^middle_\", 2)" " = 0"
+    gdb_test "p \$_caller_matches (\"^top_f\", 2)" " = 1"
+    gdb_test "p \$_caller_matches (\"foo\", 100)" " = 0"
+    gdb_test "p \$_caller_matches (\"foo\", -1)" "nframes must be >= 0"
+
+    gdb_test "p \$_any_caller_is (\"bottom_func\", 0)" " = 1"
+    gdb_test "p \$_any_caller_is (\"middle_func\")" " = 1"
+    gdb_test "p \$_any_caller_is (\"top_func\")" " = 0"
+    gdb_test "p \$_any_caller_is (\"middle_func\", 2)" " = 1"
+    gdb_test "p \$_any_caller_is (\"top_func\", 2)" " = 1"
+    gdb_test "p \$_any_caller_is (\"main\", 100)" " = 1"
+    gdb_test "p \$_any_caller_is (\"foo\", 100)" " = 0"
+    gdb_test "p \$_any_caller_is (\"foo\", -1)" "nframes must be >= 0"
+
+    gdb_test "p \$_any_caller_matches (\"^bottom\", 0)" " = 1"
+    gdb_test "p \$_any_caller_matches (\"^middle_\")" " = 1"
+    gdb_test "p \$_any_caller_matches (\"^top_\")" " = 0"
+    gdb_test "p \$_any_caller_matches (\"^middle_\", 2)" " = 1"
+    gdb_test "p \$_any_caller_matches (\"^top_f\", 2)" " = 1"
+    gdb_test "p \$_any_caller_matches (\"^main\", 100)" " = 1"
+    gdb_test "p \$_any_caller_matches (\"foo\", 100)" " = 0"
+    gdb_test "p \$_any_caller_matches (\"foo\", -1)" "nframes must be >= 0"
+}
+
+test_all_caller_is_fns
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-cmd.c ./gdb/testsuite/gdb.python/py-cmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-cmd.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-cmd.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-cmd.exp ./gdb/testsuite/gdb.python/py-cmd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-cmd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-cmd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -161,6 +161,10 @@ gdb_test "test_help ugh" "test_cmd outpu
 # Make sure the command shows up in `help user-defined`.
 gdb_test "help user-defined" "User-defined commands.\[\r\n\]+The commands in this class are those defined by the user.\[\r\n\]+Use the \"define\" command to define a command.\[\r\n\]+\[\r\n\]+List of commands:\[\r\n\]+\[\r\n\]+test_help -- Docstring\[\r\n\]+\[\r\n\]+Type \"help\" followed by command name for full documentation.\[\r\n\]+Type \"apropos word\" to search for commands related to \"word\".\[\r\n\]+Command name abbreviations are allowed if unambiguous.\[\r\n\]+" "see user-defined command in `help user-defined`"
 
+# Make sure the command does not show up in `show user`.
+gdb_test "show user test_help" "Not a user command\." \
+    "don't show user-defined python command in `show user command`"
+
 # Test expression completion on fields
 gdb_py_test_multiple "expression completion command" \
   "python" "" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-completion.exp ./gdb/testsuite/gdb.python/py-completion.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-completion.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-completion.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,69 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+set testfile "py-completion"
+
+load_lib gdb-python.exp
+
+gdb_exit
+gdb_start
+
+# Skip all tests if Python scripting is not enabled.
+if { [skip_python_tests] } { continue }
+
+gdb_test_no_output "source ${srcdir}/${subdir}/${testfile}.py"
+
+# Create a temporary directory
+set testdir "[standard_output_file "py-completion-testdir"]/"
+set testdir_regex [string_to_regexp $testdir]
+set testdir_complete [standard_output_file "py-completion-test"]
+file mkdir $testdir
+
+# This one should always pass.
+send_gdb "completefileinit ${testdir_complete}\t"
+gdb_test_multiple "" "completefileinit completion" {
+    -re "^completefileinit ${testdir_regex}$" {
+        pass "completefileinit completion"
+    }
+}
+
+# Just discarding whatever we typed.
+gdb_test " " ".*" "discard #1"
+
+# This is the problematic one.
+send_gdb "completefilemethod ${testdir_complete}\t"
+gdb_test_multiple "" "completefilemethod completion" {
+    -re "^completefilemethod ${testdir_regex} $" {
+        fail "completefilemethod completion (completed filename as wrong command arg)"
+    }
+    -re "^completefilemethod ${testdir_regex}$" {
+        pass "completefilemethod completion"
+    }
+}
+
+# Discarding again
+gdb_test " " ".*" "discard #2"
+
+# Another problematic
+set completion_regex "[string_to_regexp [standard_output_file "py-completion-t"]]"
+send_gdb "completefilecommandcond [standard_output_file "py-completion-t\t"]"
+gdb_test_multiple "" "completefilecommandcond completion" {
+    -re "^completefilecommandcond ${testdir}$" {
+	fail "completefilecommandcond completion (completed filename instead of command)"
+    }
+    -re "^completefilecommandcond ${completion_regex}\007$" {
+	pass "completefilecommandcond completion"
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-completion.py ./gdb/testsuite/gdb.python/py-completion.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-completion.py	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-completion.py	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,58 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This testcase tests PR python/16699
+
+import gdb
+
+class CompleteFileInit(gdb.Command):
+	def __init__(self):
+		gdb.Command.__init__(self,'completefileinit',gdb.COMMAND_USER,gdb.COMPLETE_FILENAME)
+
+	def invoke(self,argument,from_tty):
+		raise gdb.GdbError('not implemented')
+
+class CompleteFileMethod(gdb.Command):
+	def __init__(self):
+		gdb.Command.__init__(self,'completefilemethod',gdb.COMMAND_USER)
+
+	def invoke(self,argument,from_tty):
+		raise gdb.GdbError('not implemented')
+
+	def complete(self,text,word):
+		return gdb.COMPLETE_FILENAME
+
+class CompleteFileCommandCond(gdb.Command):
+	def __init__(self):
+		gdb.Command.__init__(self,'completefilecommandcond',gdb.COMMAND_USER)
+
+	def invoke(self,argument,from_tty):
+		raise gdb.GdbError('not implemented')
+
+	def complete(self,text,word):
+		# This is a test made to know if the command
+		# completion still works fine.  When the user asks to
+		# complete something like "completefilecommandcond
+		# /path/to/py-completion-t", it should not complete to
+		# "/path/to/py-completion-test/", but instead just
+		# wait for input.
+		if "py-completion-t" in text:
+			return gdb.COMPLETE_COMMAND
+		else:
+			return gdb.COMPLETE_FILENAME
+
+CompleteFileInit()
+CompleteFileMethod()
+CompleteFileCommandCond()
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-error.exp ./gdb/testsuite/gdb.python/py-error.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-error.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-error.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-error.py ./gdb/testsuite/gdb.python/py-error.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-error.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-error.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-events.c ./gdb/testsuite/gdb.python/py-events.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-events.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-events.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,6 +15,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
+#include <unistd.h>
+
 extern void do_nothing (void);
 
 int second(){
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-events.exp ./gdb/testsuite/gdb.python/py-events.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-events.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-events.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -79,8 +79,126 @@ all threads stopped"
 
 delete_breakpoints
 
+# Test inferior call events
+
+gdb_test_multiple "info threads" "get current thread" {
+    -re "\[^\n\r\]*process (\[0-9\]+)\[^\n\r\]*do_nothing.*$gdb_prompt $" {
+	set process_id $expect_out(1,string)
+	pass "get current thread"
+    }
+}
+
+gdb_test_multiple "print do_nothing" "get address of do_nothing" {
+    -re "\[^\n\r\]*(0x\[0-9a-f\]+) \<do_nothing\>.*$gdb_prompt $" {
+	set addr $expect_out(1,string)
+	pass "get address of do_nothing"
+    }
+}
+
+set expected [list "event type: pre-call"]
+lappend expected "ptid: \\($process_id, $process_id, 0\\)" "address: $addr"
+lappend expected "event type: post-call"
+lappend expected "ptid: \\($process_id, $process_id, 0\\)" "address: $addr"
+gdb_test_sequence "call do_nothing()" "" $expected
+
+# Test register changed event
+gdb_test_no_output {set $old_sp = $sp}
+gdb_test_sequence {set $sp = 0} "" {
+    "event type: register-changed"
+    "frame: "
+    "num: "
+}
+gdb_test_sequence {set $sp = 1} "" {
+    "event type: register-changed"
+    "frame: "
+    "num: "
+}
+gdb_test_sequence {set $sp = $old_sp} "" {
+    "event type: register-changed"
+    "frame: "
+    "num: "
+}
+
+# Test that no register_changed event is generated on "non-user"
+# modifications
+set test "up"
+gdb_test_multiple {up} $test {
+    -re "event type: register-changed.*\r\n$gdb_prompt $" {
+	fail $test
+    }
+    -re "#1.*in first.*\r\n.*do_nothing.*\r\n$gdb_prompt $" {
+	pass $test
+    }
+}
+
+set test "down"
+gdb_test_multiple {down} $test {
+    -re "event type: register-changed.*\r\n$gdb_prompt $" {
+	fail $test
+    }
+    -re "#0.*do_nothing.* at .*\r\n.*void do_nothing.*\r\n$gdb_prompt $" {
+	pass $test
+    }
+}
+
+set test "step"
+# Note: This will step the inferior out of do_nothing and back into first.
+gdb_test_multiple {step} $test {
+    -re "event type: register-changed.*\r\n$gdb_prompt $" {
+	fail $test
+    }
+    -re "first.* at .*\r\n$gdb_prompt $" {
+	pass $test
+    }
+}
+
+# Test memory changed event
+gdb_test_no_output {set $saved = *(int*) $sp}
+gdb_test_sequence {set *(int*) $sp = 0} "" {
+    "event type: memory-changed"
+    "address: "
+    "length: "
+}
+gdb_test_sequence {set *(int*) $sp = $saved} "" {
+    "event type: memory-changed"
+    "address: "
+    "length: "
+}
+
+# Test that no memory_changed event is generated on breakpoint
+# activity
+set test "break second"
+gdb_test_multiple "break second" $test {
+    -re "event type: memory-changed" {
+	fail $test
+    }
+    -re "Breakpoint (\[0-9\]+) at .*\r\n$gdb_prompt $" {
+	set second_breakpoint $expect_out(1,string)
+	pass $test
+    }
+
+}
+
+set test "continue to breakpoint $second_breakpoint"
+set expected ".*event type: continue.*\r\n"
+append expected ".*event type: stop.*\r\n"
+append expected ".*stop reason: breakpoint.*\r\n"
+append expected ".*all threads stopped.*\r\n$gdb_prompt $"
+
+gdb_test_multiple "continue" $test {
+    -re "event type: memory-changed.*\r\n$gdb_prompt $" {
+	fail $test
+    }
+    -re $expected {
+	pass $test
+    }
+}
+
+gdb_test_no_output "delete $second_breakpoint"
+
 #test exited event.
 gdb_test "continue" ".*event type: continue.*
+.*clear_objfiles\[\r\n\]*progspace: .*py-events.*
 .*event type: exit.*
 .*exit code: 12.*
 .*exit inf: 1.*
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-events.py ./gdb/testsuite/gdb.python/py-events.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-events.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-events.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -57,6 +57,35 @@ def new_objfile_handler (event):
     print ("event type: new_objfile")
     print ("new objfile name: %s" % (event.new_objfile.filename))
 
+def clear_objfiles_handler (event):
+    assert (isinstance (event, gdb.ClearObjFilesEvent))
+    print ("event type: clear_objfiles")
+    print ("progspace: %s" % (event.progspace.filename))
+
+def inferior_call_handler (event):
+    if (isinstance (event, gdb.InferiorCallPreEvent)):
+        print ("event type: pre-call")
+    elif (isinstance (event, gdb.InferiorCallPostEvent)):
+        print ("event type: post-call")
+    else:
+        assert False
+    print ("ptid: %s" % (event.ptid,))
+    print ("address: 0x%x" % (event.address))
+
+def register_changed_handler (event):
+    assert (isinstance (event, gdb.RegisterChangedEvent))
+    print ("event type: register-changed")
+    assert (isinstance (event.frame, gdb.Frame))
+    print ("frame: %s" % (event.frame))
+    print ("num: %s" % (event.regnum))
+
+def memory_changed_handler (event):
+    assert (isinstance (event, gdb.MemoryChangedEvent))
+    print ("event type: memory-changed")
+    print ("address: %s" % (event.address))
+    print ("length: %s" % (event.length))
+
+
 class test_events (gdb.Command):
     """Test events."""
 
@@ -68,6 +97,9 @@ class test_events (gdb.Command):
         gdb.events.stop.connect (breakpoint_stop_handler)
         gdb.events.exited.connect (exit_handler)
         gdb.events.cont.connect (continue_handler)
+        gdb.events.inferior_call.connect (inferior_call_handler)
+        gdb.events.memory_changed.connect (memory_changed_handler)
+        gdb.events.register_changed.connect (register_changed_handler)
         print ("Event testers registered.")
 
 test_events ()
@@ -80,6 +112,7 @@ class test_newobj_events (gdb.Command):
 
     def invoke (self, arg, from_tty):
         gdb.events.new_objfile.connect (new_objfile_handler)
+        gdb.events.clear_objfiles.connect (clear_objfiles_handler)
         print ("Object file events registered.")
 
 test_newobj_events ()
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-events-shlib.c ./gdb/testsuite/gdb.python/py-events-shlib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-events-shlib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-events-shlib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-evsignal.exp ./gdb/testsuite/gdb.python/py-evsignal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-evsignal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-evsignal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-evthreads.c ./gdb/testsuite/gdb.python/py-evthreads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-evthreads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-evthreads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-evthreads.exp ./gdb/testsuite/gdb.python/py-evthreads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-evthreads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-evthreads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-explore.c ./gdb/testsuite/gdb.python/py-explore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-explore.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-explore.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-explore.cc ./gdb/testsuite/gdb.python/py-explore.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-explore.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-explore.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-explore-cc.exp ./gdb/testsuite/gdb.python/py-explore-cc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-explore-cc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-explore-cc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-explore.exp ./gdb/testsuite/gdb.python/py-explore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-explore.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-explore.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint2.cc ./gdb/testsuite/gdb.python/py-finish-breakpoint2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint2.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-finish-breakpoint2.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint2.exp ./gdb/testsuite/gdb.python/py-finish-breakpoint2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-finish-breakpoint2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -19,7 +19,6 @@
 load_lib gdb-python.exp
 
 standard_testfile .cc
-set pyfile  ${srcdir}/${subdir}/${testfile}.py
 
 if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
     return -1
@@ -33,6 +32,9 @@ if ![runto_main] then {
     return 0
 }
 
+set pyfile [gdb_remote_download host \
+		${srcdir}/${subdir}/${testfile}.py]
+
 #
 # Check FinishBreakpoints against C++ exceptions
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint2.py ./gdb/testsuite/gdb.python/py-finish-breakpoint2.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint2.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-finish-breakpoint2.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint.c ./gdb/testsuite/gdb.python/py-finish-breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-finish-breakpoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,6 +17,7 @@
 
 #include <setjmp.h>
 #include <stdlib.h>
+#include <string.h>
 #include <unistd.h>
 
 /* Defined in py-events-shlib.h.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint.exp ./gdb/testsuite/gdb.python/py-finish-breakpoint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-finish-breakpoint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -53,9 +53,6 @@ if { $gdb_py_is_py24 == 1 } {
     return 0
 }
 
-set python_file ${srcdir}/${subdir}/${testfile}.py
-
-
 # Skip all tests if Python scripting is not enabled.
 if { [skip_python_tests] } { continue }
 
@@ -71,6 +68,9 @@ if ![runto_main] then {
     return 0
 }
 
+set python_file [gdb_remote_download host \
+		     ${srcdir}/${subdir}/${testfile}.py]
+
 gdb_test_no_output "set confirm off" "disable confirmation"
 gdb_test "source $python_file" "Python script imported.*" \
          "import python scripts"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint.py ./gdb/testsuite/gdb.python/py-finish-breakpoint.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-finish-breakpoint.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-finish-breakpoint.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-args.c ./gdb/testsuite/gdb.python/py-frame-args.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-args.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-frame-args.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-args.exp ./gdb/testsuite/gdb.python/py-frame-args.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-args.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-frame-args.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -68,5 +68,3 @@ gdb_test_no_output "set print frame-argu
 gdb_test "frame" \
     ".*foo \\(x=42, ss={a = {m = 1}, b = {m = 2}}\\).*" \
     "frame raw,all"
-
-remote_file host delete ${remote_python_file}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-args.py ./gdb/testsuite/gdb.python/py-frame-args.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-args.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-frame-args.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame.exp ./gdb/testsuite/gdb.python/py-frame.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-frame.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -94,3 +94,26 @@ gdb_test "python print ('result = %s' % 
 gdb_test "python print ('result = %s' % f0.read_var ('a'))" " = 1" "test Frame.read_var - success"
 
 gdb_test "python print ('result = %s' % (gdb.selected_frame () == f1))" " = True" "test gdb.selected_frame"
+
+# Can read SP register.
+gdb_test "python print ('result = %s' % (gdb.selected_frame ().read_register ('sp') == gdb.parse_and_eval ('\$sp')))" \
+  " = True" \
+  "test Frame.read_register(sp)"
+
+# PC value obtained via read_register is as expected.
+gdb_test "python print ('result = %s' % (f0.read_register('pc') == f0.pc()))" \
+  " = True" \
+  "test Frame.read_register(pc)"
+
+# Test arch-specific register name.
+set pc ""
+if {[is_amd64_regs_target]} {
+    set pc "rip"
+} elseif {[is_x86_like_target]} {
+    set pc "eip"
+}
+if { $pc != "" } {
+    gdb_test "python print ('result = %s' % (f0.read_register('pc') == f0.read_register('$pc')))" \
+	" = True" \
+	"test Frame.read_register($pc)"
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter.c ./gdb/testsuite/gdb.python/py-framefilter.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -146,10 +146,12 @@ int func5(int f, int d)
   return i;
 }
 
+int
 main()
 {
   int z = 32;
   int y = 44;
   const char *foo1 = "Test";
   func5(3,5);
+  return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter.exp ./gdb/testsuite/gdb.python/py-framefilter.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -188,8 +188,6 @@ gdb_test_multiple "bt 1" $test {
     }
 }
 
-remote_file host delete ${remote_python_file}
-
 # Test with no debuginfo
 
 # We cannot use prepare_for_testing as we have to set the safe-patch
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-gdb.py.in ./gdb/testsuite/gdb.python/py-framefilter-gdb.py.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-gdb.py.in	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter-gdb.py.in	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp ./gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py.in ./gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py.in	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py.in	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-invalidarg.py ./gdb/testsuite/gdb.python/py-framefilter-invalidarg.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-invalidarg.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter-invalidarg.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-mi.c ./gdb/testsuite/gdb.python/py-framefilter-mi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-mi.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter-mi.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -132,7 +132,9 @@ int func5(int f, int d)
   return i;
 }
 
+int
 main()
 {
   func5(3,5);
+  return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-mi.exp ./gdb/testsuite/gdb.python/py-framefilter-mi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter-mi.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter-mi.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter.py ./gdb/testsuite/gdb.python/py-framefilter.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-framefilter.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-framefilter.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-inline.c ./gdb/testsuite/gdb.python/py-frame-inline.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-inline.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-frame-inline.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-inline.exp ./gdb/testsuite/gdb.python/py-frame-inline.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-frame-inline.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-frame-inline.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-function.exp ./gdb/testsuite/gdb.python/py-function.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-function.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-function.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-inferior.exp ./gdb/testsuite/gdb.python/py-inferior.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-inferior.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-inferior.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-infthread.exp ./gdb/testsuite/gdb.python/py-infthread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-infthread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-infthread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-linetable.c ./gdb/testsuite/gdb.python/py-linetable.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-linetable.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-linetable.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-linetable.exp ./gdb/testsuite/gdb.python/py-linetable.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-linetable.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-linetable.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -44,33 +44,33 @@ gdb_py_test_multiple "input simple comma
   "python" "" \
   "def list_lines():" "" \
   "   for l in lt:" "" \
-  "     print 'L' +str(l.line)+' A '+hex(l.pc)" "" \
+  "     print ('L' + str(l.line) + ' A ' + hex(l.pc))" "" \
   "end" ""
 
 gdb_test "python list_lines()" \
     "L20 A $hex.*L21 A $hex.*L22 A $hex.*L24 A $hex.*L25 A $hex.*L40 A $hex.*L42 A $hex.*L44 A $hex.*L42 A $hex.*L46 A $hex.*" \
     "test linetable iterator addr"
-gdb_test "python print len(lt.line(42))" "2" \
+gdb_test "python print(len(lt.line(42)))" "2" \
     "Test length of a multiple pc line"
-gdb_test "python print len(lt.line(20))" "1" \
+gdb_test "python print(len(lt.line(20)))" "1" \
     "Test length of a single pc line"
-gdb_test "python print lt.line(1)" "None" \
+gdb_test "python print(lt.line(1))" "None" \
     "Test None returned for line with no pc"
 
 # Test gdb.Linetable.sourcelines ()
 gdb_py_test_silent_cmd "python fset = lt.source_lines()" \
     "Get all source lines into a frozen set" 0
-gdb_test "python print sorted(fset)" \
-    "\[20L, 21L, 22L, 24L, 25L, 28L, 29L, 30L, 32L, 33L, 37L, 39L, 40L, 42L, 44L, 45L, 46L\].*" \
+gdb_test "python print (sorted(fset))" \
+    "\\\[20, 21, 22, 24, 25, 28, 29, 30, 32, 33, 37, 39, 40, 42, 44, 45, 46\\\].*" \
     "Test frozen set contains line numbers"
 
 # Test gdb.Linetable.has_line ()
-gdb_test "python print lt.has_line(20)" \
+gdb_test "python print(lt.has_line(20))" \
     "True.*" \
     "Test has_pcs at line 20"
-gdb_test "python print lt.has_line(44)" \
+gdb_test "python print(lt.has_line(44))" \
     "True.*" \
     "Test has_pcs at line 40"
-gdb_test "python print lt.has_line(10)" \
+gdb_test "python print(lt.has_line(10))" \
     "False.*" \
     "Test has_pcs at line 10"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-linetable.S ./gdb/testsuite/gdb.python/py-linetable.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-linetable.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-linetable.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-lookup-type.exp ./gdb/testsuite/gdb.python/py-lookup-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-lookup-type.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-lookup-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,59 @@
+# Copyright (C) 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the GDB testsuite.  It tests the mechanism
+# of exposing types to Python.
+
+load_lib gdb-python.exp
+
+# Note that the purpose of this testcase is to test the behavior
+# of gdb.lookup_type searching for the primitive types internally
+# created by each language since GDB.  So, we must start GDB without
+# loading any symbol in.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+
+# Skip all tests if Python scripting is not enabled.
+if { [skip_python_tests] } { continue }
+
+proc test_lookup_type { lang type_name } {
+    gdb_test_no_output "set language ${lang}"
+    gdb_test_no_output "python gdb.lookup_type('${type_name}')" \
+        "lookup type ${type_name} using language ${lang}"
+}
+
+test_lookup_type "ada" "character"
+
+test_lookup_type "c" "char"
+
+test_lookup_type "d" "ucent"
+
+test_lookup_type "fortran" "character"
+
+test_lookup_type "go" "int32"
+
+test_lookup_type "java" "byte"
+
+test_lookup_type "modula-2" "CARDINAL"
+
+test_lookup_type "opencl" "ushort"
+
+test_lookup_type "objective-c" "char"
+
+test_lookup_type "opencl" "ushort"
+
+test_lookup_type "pascal" "char"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-mi.exp ./gdb/testsuite/gdb.python/py-mi.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-mi.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-mi.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -356,5 +356,3 @@ mi_list_varobj_children fake.private {
 
 mi_gdb_test "-var-set-visualizer fake.private gdb.default_visualizer" \
     "\\^done" "Install visualizer on a cplus_fake_child"
-
-remote_file host delete ${remote_python_file}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile.c ./gdb/testsuite/gdb.python/py-objfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-objfile.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile.exp ./gdb/testsuite/gdb.python/py-objfile.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-objfile.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -32,15 +32,86 @@ if ![runto_main] then {
     return 0
 }
 
+set python_error_text "Error while executing Python code\\."
+
 gdb_py_test_silent_cmd "python sym = gdb.lookup_symbol(\"some_var\")" \
     "Find a symbol in objfile" 1
 gdb_py_test_silent_cmd "python objfile = sym\[0\].symtab.objfile" \
     "Get backing object file" 1
 
-gdb_test "python print (objfile.filename)" ".*py-objfile.*" \
-  "Get objfile validity"
+gdb_test "python print (objfile.filename)" "${testfile}" \
+  "Get objfile file name"
+
+gdb_test "python print (gdb.lookup_objfile (\"${testfile}\").filename)" \
+    "${testfile}"
+gdb_test "python print (gdb.lookup_objfile (\"junk\"))" \
+    "Objfile not found\\.\r\n${python_error_text}"
+
+set binfile_build_id [get_build_id $binfile]
+if [string compare $binfile_build_id ""] {
+    verbose -log "binfile_build_id = $binfile_build_id"
+    gdb_test "python print (objfile.build_id)" "$binfile_build_id" \
+    "Get objfile build id"
+    gdb_test "python print (gdb.lookup_objfile (\"$binfile_build_id\", by_build_id=True).filename)" \
+	"${testfile}"
+} else {
+    unsupported "build-id is not supported by the compiler"
+}
+
+# Other lookup_objfile_by_build_id tests we can do, even if compiler doesn't
+# support them.
+gdb_test "python print (gdb.lookup_objfile (\"foo\", by_build_id=True))" \
+    "Not a valid build id\\.\r\n${python_error_text}"
+gdb_test "python print (gdb.lookup_objfile (\"1234abcdef\", by_build_id=True))" \
+    "Objfile not found\\.\r\n${python_error_text}"
+
+gdb_test "python print (objfile.progspace)" "<gdb\.Progspace object at .*>" \
+  "Get objfile program space"
 gdb_test "python print (objfile.is_valid())" "True" \
   "Get objfile validity"
 gdb_unload
 gdb_test "python print (objfile.is_valid())" "False" \
   "Get objfile validity after unload"
+
+gdb_py_test_silent_cmd "python objfile.random_attribute = 42" \
+    "Set random attribute in objfile" 1
+gdb_test "python print (objfile.random_attribute)" "42" \
+    "Verify set of random attribute in objfile"
+
+# Now build another copy of the testcase, this time without debug info.
+
+if { [prepare_for_testing ${testfile}.exp ${testfile}2 ${srcfile} {nodebug ldflags=-Wl,--strip-debug}] } {
+    return -1
+}
+
+if ![runto_main] {
+    fail "Can't run to main"
+    return 0
+}
+
+gdb_py_test_silent_cmd "python objfile = gdb.objfiles()\[0\]" \
+    "Get no-debug objfile file" 1
+
+gdb_test "python print (objfile.owner)" "None" \
+    "Test owner of real objfile."
+
+gdb_test "p main" "= {<text variable, no debug info>} $hex <main>" \
+    "print main without debug info"
+
+gdb_py_test_silent_cmd "python objfile.add_separate_debug_file(\"${binfile}\")" \
+    "Add separate debug file file" 1
+
+gdb_py_test_silent_cmd "python sep_objfile = gdb.objfiles()\[0\]" \
+    "Get separate debug info objfile" 1
+
+gdb_test "python print (sep_objfile.owner.filename)" "${testfile}2" \
+    "Test owner of separate debug file"
+
+gdb_test "p main" "= {int \\(\\)} $hex <main>" \
+    "print main with debug info"
+
+# Separate debug files are not findable.
+if { [get_python_valueof "sep_objfile.build_id" "None"] != "None" } {
+    gdb_test "python print (gdb.lookup_objfile (sep_objfile.build_id, by_build_id=True))" \
+	"Objfile not found\\.\r\n${python_error_text}"
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile-script.c ./gdb/testsuite/gdb.python/py-objfile-script.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile-script.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-objfile-script.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile-script.exp ./gdb/testsuite/gdb.python/py-objfile-script.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile-script.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-objfile-script.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -32,9 +32,8 @@ if { [skip_python_tests] } { continue }
 # Make the -gdb.py script available to gdb, it is automagically loaded by gdb.
 # Care is taken to put it in the same directory as the binary so that
 # gdb will find it.
-set remote_python_file [remote_download host \
-			    ${srcdir}/${subdir}/${testfile}-gdb.py.in \
-			    [standard_output_file ${testfile}-gdb.py]]
+set remote_python_file [gdb_remote_download host \
+			    ${srcdir}/${subdir}/${testfile}-gdb.py]
 
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_test_no_output "set auto-load safe-path ${remote_python_file}" "set auto-load safe-path"
@@ -53,5 +52,3 @@ gdb_test "b [gdb_get_line_number {break 
 gdb_test "continue" ".*Breakpoint.*"
 
 gdb_test "print ss" " = a=<1> b=<2>"
-
-remote_file host delete ${remote_python_file}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile-script-gdb.py ./gdb/testsuite/gdb.python/py-objfile-script-gdb.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile-script-gdb.py	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-objfile-script-gdb.py	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,63 @@
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the GDB testsuite.
+
+import re
+
+class pp_ss:
+    def __init__(self, val):
+        self.val = val
+
+    def to_string(self):
+        return "a=<" + str(self.val["a"]) + "> b=<" + str(self.val["b"]) + ">"
+
+def lookup_function (val):
+    "Look-up and return a pretty-printer that can print val."
+
+    # Get the type.
+    type = val.type
+
+    # If it points to a reference, get the reference.
+    if type.code == gdb.TYPE_CODE_REF:
+        type = type.target ()
+
+    # Get the unqualified type, stripped of typedefs.
+    type = type.unqualified ().strip_typedefs ()
+
+    # Get the type name.    
+    typename = type.tag
+
+    if typename == None:
+        return None
+
+    # Iterate over local dictionary of types to determine
+    # if a printer is registered for that type.  Return an
+    # instantiation of the printer if found.
+    for function in pretty_printers_dict:
+        if function.match (typename):
+            return pretty_printers_dict[function] (val)
+        
+    # Cannot find a pretty printer.  Return None.
+
+    return None
+
+def register_pretty_printers ():
+    pretty_printers_dict[re.compile ('^ss$')]  = pp_ss
+
+pretty_printers_dict = {}
+
+register_pretty_printers ()
+gdb.current_progspace().pretty_printers.append (lookup_function)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in ./gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in	1970-01-01 00:00:00.000000000 +0000
@@ -1,63 +0,0 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# This file is part of the GDB testsuite.
-
-import re
-
-class pp_ss:
-    def __init__(self, val):
-        self.val = val
-
-    def to_string(self):
-        return "a=<" + str(self.val["a"]) + "> b=<" + str(self.val["b"]) + ">"
-
-def lookup_function (val):
-    "Look-up and return a pretty-printer that can print val."
-
-    # Get the type.
-    type = val.type
-
-    # If it points to a reference, get the reference.
-    if type.code == gdb.TYPE_CODE_REF:
-        type = type.target ()
-
-    # Get the unqualified type, stripped of typedefs.
-    type = type.unqualified ().strip_typedefs ()
-
-    # Get the type name.    
-    typename = type.tag
-
-    if typename == None:
-        return None
-
-    # Iterate over local dictionary of types to determine
-    # if a printer is registered for that type.  Return an
-    # instantiation of the printer if found.
-    for function in pretty_printers_dict:
-        if function.match (typename):
-            return pretty_printers_dict[function] (val)
-        
-    # Cannot find a pretty printer.  Return None.
-
-    return None
-
-def register_pretty_printers ():
-    pretty_printers_dict[re.compile ('^ss$')]  = pp_ss
-
-pretty_printers_dict = {}
-
-register_pretty_printers ()
-gdb.current_progspace().pretty_printers.append (lookup_function)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-parameter.exp ./gdb/testsuite/gdb.python/py-parameter.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-parameter.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-parameter.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,7 +27,14 @@ gdb_reinitialize_dir $srcdir/$subdir
 if { [skip_python_tests] } { continue }
 
 # We use "." here instead of ":" so that this works on win32 too.
-gdb_test "python print (gdb.parameter ('directories'))" "$srcdir/$subdir.\\\$cdir.\\\$cwd"
+if { [is_remote host] } {
+    # Don't match $srcdir/$subdir because proc gdb_reinitialize_dir
+    # doesn't set search directories on remote host.
+    set directories ".*\\\$cdir.\\\$cwd"
+} else {
+    set directories "$srcdir/$subdir.\\\$cdir.\\\$cwd"
+}
+gdb_test "python print (gdb.parameter ('directories'))" $directories
 
 # Test a simple boolean parameter.
 gdb_py_test_multiple "Simple gdb booleanparameter" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-integral.c ./gdb/testsuite/gdb.python/py-pp-integral.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-integral.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-pp-integral.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-integral.exp ./gdb/testsuite/gdb.python/py-pp-integral.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-integral.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-pp-integral.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -35,5 +35,3 @@ gdb_test_no_output "source ${remote_pyth
 gdb_test "print *t" " = Thu Nov 14 02:22:23 2013 \\(1384395743\\)"
 
 gdb_test "print /r *t" "= 1384395743"
-
-remote_file host delete ${remote_python_file}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-integral.py ./gdb/testsuite/gdb.python/py-pp-integral.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-integral.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-pp-integral.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-maint.c ./gdb/testsuite/gdb.python/py-pp-maint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-maint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-pp-maint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-maint.exp ./gdb/testsuite/gdb.python/py-pp-maint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-maint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-pp-maint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-maint.py ./gdb/testsuite/gdb.python/py-pp-maint.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-maint.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-pp-maint.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-re-notag.c ./gdb/testsuite/gdb.python/py-pp-re-notag.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-re-notag.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-pp-re-notag.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-re-notag.exp ./gdb/testsuite/gdb.python/py-pp-re-notag.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-re-notag.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-pp-re-notag.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -35,5 +35,3 @@ gdb_test_no_output "source ${remote_pyth
 gdb_test "print *t" " = Thu Nov 14 02:22:23 2013 \\(1384395743\\)"
 
 gdb_test "print /r *t" "= 1384395743"
-
-remote_file host delete ${remote_python_file}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-re-notag.py ./gdb/testsuite/gdb.python/py-pp-re-notag.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-pp-re-notag.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-pp-re-notag.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prettyprint.c ./gdb/testsuite/gdb.python/py-prettyprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prettyprint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prettyprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prettyprint.exp ./gdb/testsuite/gdb.python/py-prettyprint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prettyprint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prettyprint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -83,7 +83,10 @@ proc run_lang_tests {exefile lang} {
 	gdb_py_test_silent_cmd "set print elements 200" "" 1
     }
 
-    gdb_test "print ns2" ".error reading variable: Cannot access memory at address 0x0."
+    if { ![is_address_zero_readable] } {
+	gdb_test "print ns2" \
+	    ".error reading variable: Cannot access memory at address 0x0."
+    }
 
     gdb_test "print x" " = \"this is x\""
     gdb_test "print cstring" " = \"const string\""
@@ -105,8 +108,6 @@ proc run_lang_tests {exefile lang} {
 	"print nstype on one line"
 
     gdb_continue_to_end
-
-    remote_file host delete ${remote_python_file}
 }
 
 run_lang_tests "${binfile}" "c"
@@ -152,5 +153,3 @@ gdb_test_no_output "python enable_lookup
 
 gdb_test "print ss" " = a=< a=<1> b=<$hex>> b=< a=<2> b=<$hex>>" \
     "print ss enabled #2"
-
-remote_file host delete ${remote_python_file}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prettyprint.py ./gdb/testsuite/gdb.python/py-prettyprint.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prettyprint.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prettyprint.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-progspace.c ./gdb/testsuite/gdb.python/py-progspace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-progspace.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-progspace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-progspace.exp ./gdb/testsuite/gdb.python/py-progspace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-progspace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-progspace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -16,6 +16,8 @@
 # This file is part of the GDB testsuite.  It tests the program space
 # support in Python.
 
+load_lib gdb-python.exp
+
 standard_testfile
 
 if {[build_executable $testfile.exp $testfile $srcfile debug] == -1} {
@@ -37,5 +39,13 @@ gdb_test "python print (gdb.progspaces()
 
 gdb_load ${binfile}
 
-gdb_test "python print (gdb.current_progspace().filename)" "py-progspace" \
+gdb_py_test_silent_cmd "python progspace = gdb.current_progspace()" \
+    "Get current progspace" 1
+
+gdb_test "python print (progspace.filename)" "py-progspace" \
   "current progspace filename (py-progspace)"
+
+gdb_py_test_silent_cmd "python progspace.random_attribute = 42" \
+    "Set random attribute in progspace" 1
+gdb_test "python print (progspace.random_attribute)" "42" \
+    "Verify set of random attribute in progspace"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prompt.c ./gdb/testsuite/gdb.python/py-prompt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prompt.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prompt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prompt.exp ./gdb/testsuite/gdb.python/py-prompt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-prompt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prompt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -18,11 +18,6 @@
 
 standard_testfile
 
-# We need to use TCL's exec to get the pid.
-if [is_remote target] then {
-    return 0
-}
-
 load_lib gdb-python.exp
 load_lib prompt.exp
 
@@ -80,6 +75,11 @@ gdb_test "python print (\"'\" + str(p\[0
 	 "prompt_hook argument is default prompt. 2"
 gdb_exit
 
+if {![can_spawn_for_attach]} {
+    set GDBFLAGS $saved_gdbflags
+    return 0
+}
+
 set testpid [spawn_wait_for_attach $binfile]
 
 set GDBFLAGS [concat $tmp_gdbflags " -ex \"set pagination off\""]
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-section-script.c ./gdb/testsuite/gdb.python/py-section-script.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-section-script.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-section-script.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-section-script.exp ./gdb/testsuite/gdb.python/py-section-script.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-section-script.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-section-script.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -72,5 +72,3 @@ gdb_test "b [gdb_get_line_number {break 
 gdb_test "continue" ".*Breakpoint.*"
 
 gdb_test "print ss" " = a=<1> b=<2>"
-
-remote_file host delete ${remote_python_file}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-section-script.py ./gdb/testsuite/gdb.python/py-section-script.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-section-script.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-section-script.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-shared.c ./gdb/testsuite/gdb.python/py-shared.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-shared.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-shared.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-shared.exp ./gdb/testsuite/gdb.python/py-shared.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-shared.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-shared.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-shared-sl.c ./gdb/testsuite/gdb.python/py-shared-sl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-shared-sl.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-shared-sl.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-strfns.c ./gdb/testsuite/gdb.python/py-strfns.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-strfns.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-strfns.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-strfns.exp ./gdb/testsuite/gdb.python/py-strfns.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-strfns.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-strfns.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-symbol.c ./gdb/testsuite/gdb.python/py-symbol.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-symbol.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-symbol.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-symbol.exp ./gdb/testsuite/gdb.python/py-symbol.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-symbol.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-symbol.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -117,7 +117,12 @@ gdb_test "python print (t\[0\].addr_clas
 gdb_test "python print (t\[0\].type)" "enum tag" "Get type"
 
 # Test symtab attribute.
-gdb_test "python print (t\[0\].symtab)" "gdb.python/py-symbol.c.*" "Get symtab"
+if { [is_remote host] } {
+    set py_symbol_c [string_to_regexp $srcfile]
+} else {
+    set py_symbol_c [string_to_regexp ${srcdir}/${subdir}/${srcfile}]
+}
+gdb_test "python print (t\[0\].symtab)" "${py_symbol_c}" "Get symtab"
 
 # C++ tests
 # Recompile binary.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-symtab.exp ./gdb/testsuite/gdb.python/py-symtab.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-symtab.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-symtab.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,16 +50,24 @@ gdb_py_test_silent_cmd "step" "Step to t
 gdb_py_test_silent_cmd "python new_pc = gdb.selected_frame().find_sal().pc" "Get new PC" 0
 
 # Test sal.
-gdb_test "python print (sal.symtab)" ".*gdb.python/py-symbol.c.*" "Test symtab"
+if { [is_remote host] } {
+    set py_symbol_c [string_to_regexp $srcfile]
+    set full_py_symbol_c $py_symbol_c
+} else {
+    set py_symbol_c [string_to_regexp ${srcdir}/${subdir}/${srcfile}]
+    set full_py_symbol_c [string_to_regexp testsuite/${subdir}/${srcfile}]
+}
+
+gdb_test "python print (sal.symtab)" ".*${py_symbol_c}" "Test symtab"
 gdb_test "python print (sal.pc)" "${decimal}" "Test sal.pc"
 gdb_test "python print (sal.last == (new_pc - 1))" "True" "Test sal.last"
 gdb_test "python print (sal.line)" "$line_no" "Test sal.line"
 gdb_test "python print (sal.is_valid())" "True" "Test sal.is_valid"
 
 # Test symbol table.
-gdb_test "python print (symtab.filename)" ".*gdb.python/py-symbol.c.*" "Test symtab.filename"
+gdb_test "python print (symtab.filename)" ".*${py_symbol_c}" "Test symtab.filename"
 gdb_test "python print (symtab.objfile)" "<gdb.Objfile object at ${hex}>" "Test symtab.objfile"
-gdb_test "python print (symtab.fullname())" "testsuite/gdb.python/py-symbol.c.*" "Test symtab.fullname"
+gdb_test "python print (symtab.fullname())" ".*${full_py_symbol_c}" "Test symtab.fullname"
 gdb_test "python print (symtab.is_valid())" "True" "Test symtab.is_valid()"
 gdb_test "python print (\"qq\" in global_symbols)" "True" "Test qq in global symbols"
 gdb_test "python print (\"func\" in global_symbols)" "True" "Test func in global symbols"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-sync-interp.c ./gdb/testsuite/gdb.python/py-sync-interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-sync-interp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-sync-interp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-sync-interp.exp ./gdb/testsuite/gdb.python/py-sync-interp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-sync-interp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-sync-interp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,8 +20,7 @@
 
 standard_testfile
 
-# We need to use TCL's exec to get the pid.
-if [is_remote target] then {
+if {![can_spawn_for_attach]} {
     return 0
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-template.cc ./gdb/testsuite/gdb.python/py-template.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-template.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-template.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-template.exp ./gdb/testsuite/gdb.python/py-template.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-template.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-template.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/python-1.c ./gdb/testsuite/gdb.python/python-1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/python-1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/python-1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/python.c ./gdb/testsuite/gdb.python/python.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/python.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/python.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/python.exp ./gdb/testsuite/gdb.python/python.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/python.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/python.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -30,6 +30,9 @@ gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 
+set remote_source2_py [gdb_remote_download host \
+			   ${srcdir}/${subdir}/source2.py]
+
 # Do this instead of the skip_python_check.
 # We want to do some tests when Python is not present.
 gdb_test_multiple "python print (23)" "verify python support" {
@@ -38,7 +41,7 @@ gdb_test_multiple "python print (23)" "v
 
       # If Python is not supported, verify that sourcing a python script
       # causes an error.
-      gdb_test "source $srcdir/$subdir/source2.py" \
+      gdb_test "source $remote_source2_py" \
 	  "Error in sourced command file:.*" \
 	  "source source2.py when python disabled"
 
@@ -64,7 +67,7 @@ gdb_py_test_multiple "multi-line python 
 with_test_prefix "python interactive help" {
     set test "python; help(); end"
     gdb_test_multiple "python\nhelp()\nend" $test {
-	-re "online help utility.*help> $" {
+	-re ".*help utility.*help> $" {
 	    pass $test
 
 	    # The "quit" must be seen on the output.  A buggy GDB
@@ -89,7 +92,7 @@ gdb_py_test_multiple "indented multi-lin
   "foo ()" "" \
   "end" "hello, world!"
 
-gdb_test "source $srcdir/$subdir/source2.py" "yes" "source source2.py"
+gdb_test "source $remote_source2_py" "yes" "source source2.py"
 
 gdb_test "source -s source2.py" "yes" "source -s source2.py"
 
@@ -202,14 +205,20 @@ gdb_py_test_silent_cmd "python symtab = 
 gdb_test "python print (len(symtab))" "2" "Test decode_line current location"
 gdb_test "python print (symtab\[0\])" "None" "Test decode_line expression parse"
 gdb_test "python print (len(symtab\[1\]))" "1" "Test decode_line current location"
-gdb_test "python print (symtab\[1\]\[0\].symtab)" ".*gdb.python/python.c.*" "Test decode_line current locationn filename"
+
+if { [is_remote host] } {
+    set python_c [string_to_regexp "python.c"]
+} else {
+    set python_c [string_to_regexp "gdb.python/python.c"]
+}
+gdb_test "python print (symtab\[1\]\[0\].symtab)" ".*${python_c}" "Test decode_line current location filename"
 gdb_test "python print (symtab\[1\]\[0\].line)" "$lineno" "Test decode_line current location line number"
 
 gdb_py_test_silent_cmd "python symtab = gdb.decode_line(\"python.c:26 if foo\")" "test decode_line python.c:26" 1
 gdb_test "python print (len(symtab))" "2" "Test decode_line python.c:26 length"
 gdb_test "python print (symtab\[0\])" "if foo" "Test decode_line expression parse"
 gdb_test "python print (len(symtab\[1\]))" "1" "Test decode_line python.c:26 length"
-gdb_test "python print (symtab\[1\]\[0\].symtab)" ".*gdb.python/python.c.*" "Test decode_line python.c:26 filename"
+gdb_test "python print (symtab\[1\]\[0\].symtab)" ".*${python_c}" "Test decode_line python.c:26 filename"
 gdb_test "python print (symtab\[1\]\[0\].line)" "26" "Test decode_line python.c:26 line number"
 
 gdb_test "python gdb.decode_line(\"randomfunc\")" \
@@ -217,7 +226,13 @@ gdb_test "python gdb.decode_line(\"rando
 gdb_py_test_silent_cmd "python symtab = gdb.decode_line(\"func1\")" "test decode_line func1()" 1
 gdb_test "python print (len(symtab))" "2" "Test decode_line func1 length"
 gdb_test "python print (len(symtab\[1\]))" "1" "Test decode_line func1 length"
-gdb_test "python print (symtab\[1\]\[0\].symtab)" ".*gdb.python/python-1.c.*" "Test decode_line func1 filename"
+
+if { [is_remote host] } {
+    set python_1_c [string_to_regexp "python-1.c"]
+} else {
+    set python_1_c [string_to_regexp "gdb.python/python-1.c"]
+}
+gdb_test "python print (symtab\[1\]\[0\].symtab)" ".*${python_1_c}" "Test decode_line func1 filename"
 gdb_test "python print (symtab\[1\]\[0\].line)" "19" "Test decode_line func1 line number"
 gdb_py_test_silent_cmd {python symtab = gdb.decode_line ("func1,func2")} \
     "test decode_line func1,func2" 1
@@ -299,6 +314,13 @@ gdb_test_multiple "set prompt $gdb_promp
     }
 }
 
+set working_dir ""
+gdb_test_multiple "pwd" "pwd" {
+    -re "Working directory (.*)\\.\[\r\n\]+$gdb_prompt $" {
+	set working_dir $expect_out(1,string)
+    }
+}
+
 gdb_test_multiple "python gdb.prompt_hook = program_prompt" "set the hook" {
     -re "\[\r\n\]$gdb_prompt $" {
 	pass "set programming hook"
@@ -331,7 +353,7 @@ gdb_test_multiple "set extended-prompt o
 
 gdb_test_multiple "set extended-prompt \\w " \
     "set extended prompt working directory" {
-    -re "\[\r\n\].*gdb.*testsuite.* $" {
+    -re "\[\r\n\][string_to_regexp $working_dir] $" {
 	pass "set extended prompt working directory"
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-type.c ./gdb/testsuite/gdb.python/py-type.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-type.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-type.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-type.exp ./gdb/testsuite/gdb.python/py-type.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-type.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-type.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -89,10 +89,10 @@ proc test_fields {lang} {
     gdb_py_test_silent_cmd "python ss = gdb.parse_and_eval('ss')" "init ss" 1
     gdb_py_test_silent_cmd "python ss_fields = ss.type.fields()" \
       "get fields from ss.type" 1
-    gdb_test "python print len(ss_fields)" "2" "Check length of ss_fields"
-    gdb_test "python print ss_fields\[0\].name is None" "True" \
+    gdb_test "python print(len(ss_fields))" "2" "Check length of ss_fields"
+    gdb_test "python print(ss_fields\[0\].name is None)" "True" \
       "Check ss_fields\[0\].name"
-    gdb_test "python print ss_fields\[1\].name is None" "True" \
+    gdb_test "python print(ss_fields\[1\].name is None)" "True" \
       "Check ss_fields\[1\].name"
     # Regression test for
     # http://sourceware.org/bugzilla/show_bug.cgi?id=12070.
@@ -247,6 +247,12 @@ restart_gdb "${binfile}"
 # Skip all tests if Python scripting is not enabled.
 if { [skip_python_tests] } { continue }
 
+gdb_test "python print gdb.lookup_type('char').array(1, 0)" \
+    "char \\\[0\\\]"
+
+gdb_test "python print gdb.lookup_type('char').array(1, -1)" \
+    "Array length must not be negative.*"
+
 with_test_prefix "lang_c" {
     runto_bp "break to inspect struct and array."
     test_fields "c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-typeprint.cc ./gdb/testsuite/gdb.python/py-typeprint.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-typeprint.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-typeprint.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-typeprint.exp ./gdb/testsuite/gdb.python/py-typeprint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-typeprint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-typeprint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -51,5 +51,3 @@ gdb_test_no_output "enable type-printer 
 gdb_test "whatis bs" "string" "whatis with enabled printer"
 
 gdb_test "whatis s" "templ<string>"
-
-remote_file host delete ${remote_python_file}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-typeprint.py ./gdb/testsuite/gdb.python/py-typeprint.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-typeprint.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-typeprint.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-value.c ./gdb/testsuite/gdb.python/py-value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-value.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-value.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-value-cc.cc ./gdb/testsuite/gdb.python/py-value-cc.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-value-cc.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-value-cc.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-value-cc.exp ./gdb/testsuite/gdb.python/py-value-cc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-value-cc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-value-cc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -88,18 +88,18 @@ gdb_test "python print(b_td\[b_fields\[0
 gdb_test "python print(u\[u_fields\[0\]\])" "99.*" "u's first field via field"
 gdb_test "python print(u\[u_fields\[1\]\])" "99.*" "u's second field via field"
 
-gdb_test "python print len(x_fields)" "2" "number for fields in u"
-gdb_test "python print x\[x_fields\[0\]\]\['x'\]" "101" "x.x via field"
-gdb_test "python print x\[x_fields\[1\]\]\['a'\]" "102" "x.a via field"
-gdb_test "python print x_ptr\[x_fields\[0\]\]\['x'\]" "101" "x_ptr->x via field"
-gdb_test "python print x_ptr\[x_fields\[1\]\]\['a'\]" "102" "x_ptr->a via field"
-gdb_test "python print xtd\[x_fields\[0\]\]\['x'\]" "101" "xtd->x via field"
-gdb_test "python print xtd\[x_fields\[1\]\]\['a'\]" "102" "xtd->a via field"
-
-gdb_test "python print len(uu_fields)" "2" "number of fields in uu"
-gdb_test "python print uu\[uu_fields\[0\]\]\['x'\]" "1000" "uu.x via field"
-gdb_test "python print uu\[uu_fields\[1\]\]\['a'\]" "1000" "uu.a via field"
+gdb_test "python print(len(x_fields))" "2" "number for fields in u"
+gdb_test "python print(x\[x_fields\[0\]\]\['x'\])" "101" "x.x via field"
+gdb_test "python print(x\[x_fields\[1\]\]\['a'\])" "102" "x.a via field"
+gdb_test "python print(x_ptr\[x_fields\[0\]\]\['x'\])" "101" "x_ptr->x via field"
+gdb_test "python print(x_ptr\[x_fields\[1\]\]\['a'\])" "102" "x_ptr->a via field"
+gdb_test "python print(xtd\[x_fields\[0\]\]\['x'\])" "101" "xtd->x via field"
+gdb_test "python print(xtd\[x_fields\[1\]\]\['a'\])" "102" "xtd->a via field"
+
+gdb_test "python print(len(uu_fields))" "2" "number of fields in uu"
+gdb_test "python print(uu\[uu_fields\[0\]\]\['x'\])" "1000" "uu.x via field"
+gdb_test "python print(uu\[uu_fields\[1\]\]\['a'\])" "1000" "uu.a via field"
 
 # Test overloaded operators.
 gdb_test_no_output "python a = gdb.parse_and_eval('a')" "init a"
-gdb_test "python print a + 5" "10" "a + 5"
+gdb_test "python print(a + 5)" "10" "a + 5"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-value.exp ./gdb/testsuite/gdb.python/py-value.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-value.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-value.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,6 +20,8 @@ load_lib gdb-python.exp
 
 standard_testfile
 
+set has_argv0 [gdb_has_argv0]
+
 # Build inferior to language specification.
 # LANG is one of "c" or "c++".
 proc build_inferior {exefile lang} {
@@ -221,8 +223,12 @@ proc test_value_in_inferior {} {
   gdb_py_test_silent_cmd "python arg0 = argv.dereference ()" "dereference value" 1
 
   # Check that the dereferenced value is sane
-  if { ! [target_info exists noargs] } {
-    gdb_test "python print (arg0)" "0x.*$testfile\"" "verify dereferenced value"
+  global has_argv0
+  set test "verify dereferenced value"
+  if { $has_argv0 } {
+    gdb_test "python print (arg0)" "0x.*$testfile\"" $test
+  } else {
+    unsupported $test
   }
 
   # Smoke-test is_optimized_out attribute
@@ -234,14 +240,7 @@ proc test_value_in_inferior {} {
   # Test displaying a variable that is temporarily at a bad address.
   # But if we can examine what's at memory address 0, then we'll also be
   # able to display it without error.  Don't run the test in that case.
-  set can_read_0 0
-  gdb_test_multiple "x 0" "memory at address 0" {
-      -re "0x0:\[ \t\]*Cannot access memory at address 0x0\r\n$gdb_prompt $" { }
-      -re "0x0:\[ \t\]*Error accessing memory address 0x0\r\n$gdb_prompt $" { }
-      -re "\r\n$gdb_prompt $" {
-	  set can_read_0 1
-      }
-  }
+  set can_read_0 [is_address_zero_readable]
 
   # Test memory error.
   set test "parse_and_eval with memory error"
@@ -295,7 +294,7 @@ proc test_value_in_inferior {} {
   # Test fetching a string longer than its declared (in C) size.
   # PR 16286
   gdb_py_test_silent_cmd "python xstr = gdb.parse_and_eval('xstr')" "get xstr" 1
-  gdb_test "python print xstr\['text'\].string (length = xstr\['length'\])" "x{100}" \
+  gdb_test "python print(xstr\['text'\].string (length = xstr\['length'\]))" "x{100}" \
     "read string beyond declared size"
 }
 
@@ -309,7 +308,11 @@ proc test_lazy_strings {} {
   gdb_py_test_silent_cmd "python lstr = sptr.lazy_string()" "Aquire lazy string" 1
   gdb_test "python print (lstr.type)" "const char \*." "Test lazy-string type name equality"
   gdb_test "python print (sptr.type)" "const char \*." "Test string type name equality"
+
+  # Prevent symbol on address 0x0 being printed.
+  gdb_test_no_output "set print symbol off"
   gdb_test "print sn" "0x0"
+
   gdb_py_test_silent_cmd "python snptr = gdb.history (0)" "Get value from history" 1
   gdb_test "python snstr = snptr.lazy_string(length=5)" ".*Cannot create a lazy string with address.*" "Test lazy string"
   gdb_py_test_silent_cmd "python snstr = snptr.lazy_string(length=0)" "Succesfully create a lazy string" 1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-xmethods.cc ./gdb/testsuite/gdb.python/py-xmethods.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-xmethods.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-xmethods.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,10 +15,6 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
-#include <iostream>
-
-using namespace std;
-
 namespace dop
 {
 
@@ -35,24 +31,30 @@ public:
 
 A::~A () { }
 
+int a_plus_a = 0;
+
 int
 A::operator+ (const A &obj)
 {
-  cout << "From CC <A_plus_A>:" << endl;
+  a_plus_a++;
   return a + obj.a;
 }
 
+int a_minus_a = 0;
+
 int
 A::operator- (const A &obj)
 {
-  cout << "From CC <A_minus_A>:" << endl;
+  a_minus_a++;
   return a - obj.a;
 }
 
+int a_geta = 0;
+
 int
 A::geta (void)
 {
-  cout << "From CC A::geta:" << endl;
+  a_geta++;
   return a;
 }
 
@@ -62,10 +64,12 @@ public:
   virtual int geta (void);
 };
 
+int b_geta = 0;
+
 int
 B::geta (void)
 {
-  cout << "From CC B::geta:" << endl;
+  b_geta++;
   return 2 * a;
 }
 
@@ -100,30 +104,36 @@ class G
   T t;
 };
 
+int g_size_diff = 0;
+
 template <typename T>
 template <typename T1>
 int
 G<T>::size_diff ()
 {
-  cout << "From CC G<>::size_diff:" << endl;
+  g_size_diff++;
   return sizeof (T1) - sizeof (T);
 }
 
+int g_size_mul = 0;
+
 template <typename T>
 template <int M>
 int
 G<T>::size_mul ()
 {
-  cout << "From CC G<>::size_mul:" << endl;
+  g_size_mul++;
   return M * sizeof (T);
 }
 
+int g_mul = 0;
+
 template <typename T>
 template <typename T1>
 T
 G<T>::mul (const T1 t1)
 {
-  cout << "From CC G<>::mul:" << endl;
+  g_mul++;
   return t1 * t;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-xmethods.exp ./gdb/testsuite/gdb.python/py-xmethods.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-xmethods.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-xmethods.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -40,25 +40,45 @@ gdb_breakpoint [gdb_get_line_number "Bre
 gdb_continue_to_breakpoint "Break here" ".*Break here.*"
 
 # Tests before loading the debug methods.
-gdb_test "p a1 + a2" "From CC <A_plus_A>.*15" "Before: a1 + a2"
-gdb_test "p a2 - a1" "From CC <A_minus_A>.*5" "Before: a1 - a2"
-gdb_test "p b1 - a1" "From CC <A_minus_A>.*25" "Before: b1 - a1"
-gdb_test "p a1.geta()" "From CC A::geta.*5" "Before: a1.geta()"
+gdb_test "p a1 + a2" ".* = 15" "Before: a1 + a2"
+gdb_test "p a_plus_a" ".* = 1" "Before: a_plus_a 1"
+
+gdb_test "p a2 - a1" ".* = 5" "Before: a2 - a1"
+gdb_test "p a_minus_a" ".* = 1" "Before: a_minus_a 1"
+
+gdb_test "p b1 - a1" ".* = 25" "Before: b1 - a1"
+gdb_test "p a_minus_a" ".* = 2" "Before: a_minus_a 2"
+
+gdb_test "p a1.geta()" ".* = 5" "Before: a1.geta()"
+gdb_test "p a_geta" ".* = 1" "Before: a_geta 1"
+
 gdb_test "p ++a1" "No symbol.*" "Before: ++a1"
 gdb_test "p a1.getarrayind(5)" "Couldn't find method.*" \
   "Before: a1.getarrayind(5)"
-gdb_test "p a_ptr->geta()" "From CC B::geta.*60" "Before: a_ptr->geta()"
-gdb_test "p e.geta()" "From CC A::geta.*100" "Before: e.geta()"
-gdb_test "p g.size_diff<float>()" "From CC G<>::size_diff.*" \
-  "Before: g.size_diff<float>()"
+
+gdb_test "p a_ptr->geta()" ".* = 60" "Before: a_ptr->geta()"
+gdb_test "p b_geta" ".* = 1" "Before: b_geta 1"
+
+gdb_test "p e.geta()" ".* = 100" "Before: e.geta()"
+gdb_test "p a_geta" ".* = 2" "Before: a_geta 2"
+
+# Since g.size_diff operates of sizes of int and float, do not check for
+# actual result value as it could be different on different platforms.
+gdb_test "p g.size_diff<float>()" ".*" "Before: call g.size_diff<float>()"
+gdb_test "p g_size_diff" ".* = 2" "Before: g_size_diff 2"
+
 gdb_test "p g.size_diff<unsigned long>()" "Couldn't find method.*" \
   "Before: g.size_diff<unsigned long>()"
-gdb_test "p g.size_mul<2>()" "From CC G<>::size_mul.*" \
-  "Before: g.size_mul<2>()"
+
+gdb_test "p g.size_mul<2>()" ".*" "Before: g.size_mul<2>()"
+gdb_test "p g_size_mul" ".* = 2" "Before: g_size_mul 2"
+
 gdb_test "p g.size_mul<5>()" "Couldn't find method.*" \
   "Before: g.size_mul<5>()"
-gdb_test "p g.mul<double>(2.0)" "From CC G<>::mul.*" \
-  "Before: g.mul<double>(2.0)"
+
+gdb_test "p g.mul<double>(2.0)" ".* = 10" "Before: g.mul<double>(2.0)"
+gdb_test "p g_mul" ".* = 2" "Before: g_mul 2"
+
 gdb_test "p g.mul<char>('a')" "Couldn't find method.*" \
   "Before: g.mul<char>('a')"
 
@@ -67,9 +87,15 @@ gdb_test_no_output "source ${xmethods_sc
 
 # Tests after loading debug methods.
 gdb_test "p a1 + a2" "From Python <A_plus_A>.*15" "After: a1 + a2"
-gdb_test "p a2 - a1" "From CC <A_minus_A>.*5" "After: a1 - a2"
+
+gdb_test "p a2 - a1" ".* = 5" "After: a2 - a1"
+gdb_test "p a_minus_a" ".* = 3" "After: a_minus_a 3"
+
 gdb_test "p b1 + a1" "From Python <A_plus_A>.*35" "After: b1 + a1"
-gdb_test "p b1 - a1" "From CC <A_minus_A>.*25" "After: b1 - a1"
+
+gdb_test "p b1 - a1" ".* = 25" "After: b1 - a1"
+gdb_test "p a_minus_a" ".* = 4" "After: a_minus_a 4"
+
 gdb_test "p a1.geta()" "From Python <A_geta>.*5" "After: a1.geta()"
 gdb_test "p ++a1" "From Python <plus_plus_A>.*6" "After: ++a1"
 gdb_test "p a1.getarrayind(5)" "From Python <A_getarrayind>.*5" \
@@ -123,5 +149,3 @@ gdb_test_no_output "disable xmethod prog
   "disable xmethod progspace E_methods;method_int"
 gdb_test "info xmethod progspace E_methods;method_int" ".* \\\[disabled\\\]" \
   "info xmethod xmethods E_methods;method_int"
-
-remote_file host delete ${xmethods_script}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-xmethods.py ./gdb/testsuite/gdb.python/py-xmethods.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/py-xmethods.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-xmethods.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/source1 ./gdb/testsuite/gdb.python/source1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/source1	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/source1	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 #  This testcase is part of GDB, the GNU debugger.
 
-#  Copyright 2008-2014 Free Software Foundation, Inc.
+#  Copyright 2008-2015 Free Software Foundation, Inc.
 
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/source2.py ./gdb/testsuite/gdb.python/source2.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.python/source2.py	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/source2.py	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 #  This testcase is part of GDB, the GNU debugger.
 
-#  Copyright 2008-2014 Free Software Foundation, Inc.
+#  Copyright 2008-2015 Free Software Foundation, Inc.
 
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c ./gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp ./gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S ./gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/break-precsave.exp ./gdb/testsuite/gdb.reverse/break-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/break-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/break-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2008-2014 Free Software Foundation, Inc.
+#   Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -45,7 +45,7 @@ proc precsave_tests {} {
     }
 
     gdb_test "break $end_location" \
-	"Breakpoint $decimal at .*/$srcfile, line $end_location\." \
+	"Breakpoint $decimal at .*$srcfile, line $end_location\." \
 	"BP at end of main"
 
     gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
@@ -58,7 +58,7 @@ proc precsave_tests {} {
 	"Kill the program being debugged\\? \\(y or n\\) " "y"
 
     gdb_test "record restore $precsave" \
-	"Program terminated with signal .*" \
+	"Restored records from core file .*" \
 	"reload precord save file"
 
     gdb_test "break foo" \
@@ -69,10 +69,10 @@ proc precsave_tests {} {
 	"Breakpoint $decimal at .* line $bar_location\." \
 	"set breakpoint on bar"
 
-    gdb_continue_to_breakpoint "foo" ".*/$srcfile:$foo_location.*"
-    gdb_continue_to_breakpoint "bar" ".*/$srcfile:$bar_location.*"
+    gdb_continue_to_breakpoint "foo" ".*$srcfile:$foo_location.*"
+    gdb_continue_to_breakpoint "bar" ".*$srcfile:$bar_location.*"
     gdb_test_multiple "continue" "go to end of main forward" {
-	-re ".*Breakpoint $decimal,.*/$srcfile:$end_location.*$gdb_prompt $"  {
+	-re ".*Breakpoint $decimal,.*$srcfile:$end_location.*$gdb_prompt $"  {
 	    pass "go to end of main forward"
 	}
 	-re "No more reverse-execution history.* end of main .*$gdb_prompt $" {
@@ -82,11 +82,11 @@ proc precsave_tests {} {
 
     gdb_test_no_output "set exec-direction reverse" "set reverse"
 
-    gdb_continue_to_breakpoint "bar backward"  ".*/$srcfile:$bar_location.*"
-    gdb_continue_to_breakpoint "foo backward"  ".*/$srcfile:$foo_location.*"
+    gdb_continue_to_breakpoint "bar backward"  ".*$srcfile:$bar_location.*"
+    gdb_continue_to_breakpoint "foo backward"  ".*$srcfile:$foo_location.*"
 
     gdb_test_multiple "continue" "main backward" {
-	-re ".*Breakpoint $decimal,.*/$srcfile:$main_location.*$gdb_prompt $" {
+	-re ".*Breakpoint $decimal,.*$srcfile:$main_location.*$gdb_prompt $" {
 	    pass "main backward"
 	}
 	-re "No more reverse-execution history.* break in main .*$gdb_prompt $" {
@@ -96,11 +96,11 @@ proc precsave_tests {} {
 
     gdb_test_no_output "set exec-direction forward" "set forward"
 
-    gdb_continue_to_breakpoint "foo" ".*/$srcfile:$foo_location.*"
-    gdb_continue_to_breakpoint "bar" ".*/$srcfile:$bar_location.*"
+    gdb_continue_to_breakpoint "foo" ".*$srcfile:$foo_location.*"
+    gdb_continue_to_breakpoint "bar" ".*$srcfile:$bar_location.*"
 
     gdb_test_multiple "continue" "end of record log" {
-	-re ".*Breakpoint $decimal,.*/$srcfile:$end_location.*$gdb_prompt $" {
+	-re ".*Breakpoint $decimal,.*$srcfile:$end_location.*$gdb_prompt $" {
 	    pass "end of record log"
 	}
 	-re "No more reverse-execution history.* end of main .*$gdb_prompt $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/break-reverse.c ./gdb/testsuite/gdb.reverse/break-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/break-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/break-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/break-reverse.exp ./gdb/testsuite/gdb.reverse/break-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/break-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/break-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2008-2014 Free Software Foundation, Inc.
+#   Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,17 +50,17 @@ gdb_test "break $end_location" \
     "Breakpoint $decimal at .* line $end_location\." \
     set breakpoint at end of main"
 
-gdb_continue_to_breakpoint "foo" ".*/$srcfile:$foo_location.*"
-gdb_continue_to_breakpoint "bar" ".*/$srcfile:$bar_location.*"
-gdb_continue_to_breakpoint "end" ".*/$srcfile:$end_location.*"
+gdb_continue_to_breakpoint "foo" ".*$srcfile:$foo_location.*"
+gdb_continue_to_breakpoint "bar" ".*$srcfile:$bar_location.*"
+gdb_continue_to_breakpoint "end" ".*$srcfile:$end_location.*"
 
 gdb_test_no_output "set exec-direction reverse" "set reverse"
 
-gdb_continue_to_breakpoint "bar backward"  ".*/$srcfile:$bar_location.*"
-gdb_continue_to_breakpoint "foo backward"  ".*/$srcfile:$foo_location.*"
+gdb_continue_to_breakpoint "bar backward"  ".*$srcfile:$bar_location.*"
+gdb_continue_to_breakpoint "foo backward"  ".*$srcfile:$foo_location.*"
 
 gdb_test_multiple "continue" "main backward" {
-    -re ".*Breakpoint $decimal,.*/$srcfile:$main_location.*$gdb_prompt $" {
+    -re ".*Breakpoint $decimal,.*$srcfile:$main_location.*$gdb_prompt $" {
 	pass "main backward"
     }
     -re "No more reverse-execution history.* break in main .*$gdb_prompt $" {
@@ -70,11 +70,11 @@ gdb_test_multiple "continue" "main backw
 
 gdb_test_no_output "set exec-direction forward" "set forward"
 
-gdb_continue_to_breakpoint "foo" ".*/$srcfile:$foo_location.*"
-gdb_continue_to_breakpoint "bar" ".*/$srcfile:$bar_location.*"
+gdb_continue_to_breakpoint "foo" ".*$srcfile:$foo_location.*"
+gdb_continue_to_breakpoint "bar" ".*$srcfile:$bar_location.*"
 
 gdb_test_multiple "continue" "end of record log" {
-    -re ".*Breakpoint $decimal,.*/$srcfile:$end_location.*$gdb_prompt $" {
+    -re ".*Breakpoint $decimal,.*$srcfile:$end_location.*$gdb_prompt $" {
 	pass "end of record log"
     }
     -re "No more reverse-execution history.* end of main .*$gdb_prompt $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/consecutive-precsave.exp ./gdb/testsuite/gdb.reverse/consecutive-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/consecutive-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/consecutive-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2008-2014 Free Software Foundation, Inc.
+#   Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -37,7 +37,7 @@ if [supports_process_record] {
 
 set end_location  [gdb_get_line_number "end of main"  ]
 gdb_test "break $end_location" \
-    "Breakpoint $decimal at .*/$srcfile, line $end_location\." \
+    "Breakpoint $decimal at .*$srcfile, line $end_location\." \
     "BP at end of main"
 
 gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
@@ -50,7 +50,7 @@ gdb_test "kill" "" "Kill process, prepar
     "Kill the program being debugged\\? \\(y or n\\) " "y"
 
 gdb_test "record restore $precsave" \
-    "Program terminated with signal .*" \
+    "Restored records from core file .*" \
     "reload precord save file"
 
 gdb_breakpoint foo
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/consecutive-reverse.c ./gdb/testsuite/gdb.reverse/consecutive-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/consecutive-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/consecutive-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/consecutive-reverse.exp ./gdb/testsuite/gdb.reverse/consecutive-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/consecutive-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/consecutive-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2008-2014 Free Software Foundation, Inc.
+#   Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/finish-precsave.exp ./gdb/testsuite/gdb.reverse/finish-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/finish-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/finish-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@ if [supports_process_record] {
 
 set breakloc [gdb_get_line_number "end of main" "$srcfile"]
 gdb_test "break $breakloc" \
-    "Breakpoint $decimal at .*/$srcfile, line $breakloc\." \
+    "Breakpoint $decimal at .*$srcfile, line $breakloc\." \
     "BP at end of main"
 
 gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
@@ -51,16 +51,16 @@ gdb_test "kill" "" "Kill process, prepar
     "Kill the program being debugged\\? \\(y or n\\) " "y"
 
 gdb_test "record restore $precsave" \
-    "Program terminated with signal .*" \
+    "Restored records from core file .*" \
     "reload precord save file"
 
 # Test finish from void func
 
 set breakloc [gdb_get_line_number "VOID FUNC" "$srcfile"]
 gdb_test "break void_func" \
-    "Breakpoint $decimal at .*/$srcfile, line $breakloc\." \
+    "Breakpoint $decimal at .*$srcfile, line $breakloc\." \
     "set breakpoint on void_func"
-gdb_continue_to_breakpoint "void_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "void_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from void_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -77,9 +77,9 @@ gdb_test_multiple "finish" "$test_msg" {
 
 set breakloc [gdb_get_line_number "CHAR FUNC" "$srcfile"]
 gdb_test "break char_func" \
-    "Breakpoint $decimal at .*/$srcfile, line $breakloc\." \
+    "Breakpoint $decimal at .*$srcfile, line $breakloc\." \
     "set breakpoint on char_func"
-gdb_continue_to_breakpoint "char_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "char_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from char_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -98,7 +98,7 @@ set breakloc [gdb_get_line_number "SHORT
 gdb_test "break short_func" \
     "Breakpoint $decimal at .* line $breakloc\." \
     "set breakpoint on short_func"
-gdb_continue_to_breakpoint "short_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "short_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from short_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -117,7 +117,7 @@ set breakloc [gdb_get_line_number "INT F
 gdb_test "break int_func" \
     "Breakpoint $decimal at .* line $breakloc\." \
     "set breakpoint on int_func"
-gdb_continue_to_breakpoint "int_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "int_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from int_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -136,7 +136,7 @@ set breakloc [gdb_get_line_number "LONG 
 gdb_test "break long_func" \
     "Breakpoint $decimal at .* line $breakloc\." \
     "set breakpoint on long_func"
-gdb_continue_to_breakpoint "long_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -155,7 +155,7 @@ set breakloc [gdb_get_line_number "LONG 
 gdb_test "break long_long_func" \
     "Breakpoint $decimal at .* line $breakloc\." \
     "set breakpoint on long_long_func"
-gdb_continue_to_breakpoint "long_long_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_long_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from long_long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -179,7 +179,7 @@ gdb_test_no_output "set exec-dir reverse
 # Test reverse finish from long long func
 
 set breakloc [gdb_get_line_number "LONG LONG FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "long_long_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_long_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from long_long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -191,7 +191,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from long func
 
 set breakloc [gdb_get_line_number "LONG FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "long_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -203,7 +203,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from int func
 
 set breakloc [gdb_get_line_number "INT FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "int_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "int_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from int_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -215,7 +215,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from short func
 
 set breakloc [gdb_get_line_number "SHORT FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "short_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "short_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from short_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -227,7 +227,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from char func
 
 set breakloc [gdb_get_line_number "CHAR FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "char_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "char_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from char_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -239,7 +239,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from void func
 
 set breakloc [gdb_get_line_number "VOID FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "void_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "void_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from void_func"
 gdb_test_multiple "finish" "$test_msg" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp ./gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -41,9 +41,9 @@ if [supports_process_record] {
 
 set breakloc [gdb_get_line_number "VOID FUNC" "$srcfile"]
 gdb_test "break void_func" \
-    "Breakpoint $decimal at .*/$srcfile, line $breakloc\." \
+    "Breakpoint $decimal at .*$srcfile, line $breakloc\." \
     "set breakpoint on void_func"
-gdb_continue_to_breakpoint "void_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "void_func" ".*$srcfile:$breakloc.*"
 
 gdb_test "break \*void_func" \
     "Breakpoint $decimal at .*" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/finish-reverse.c ./gdb/testsuite/gdb.reverse/finish-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/finish-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/finish-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/finish-reverse.exp ./gdb/testsuite/gdb.reverse/finish-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/finish-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/finish-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -37,9 +37,9 @@ if [supports_process_record] {
 
 set breakloc [gdb_get_line_number "VOID FUNC" "$srcfile"]
 gdb_test "break void_func" \
-    "Breakpoint $decimal at .*/$srcfile, line $breakloc\." \
+    "Breakpoint $decimal at .*$srcfile, line $breakloc\." \
     "set breakpoint on void_func"
-gdb_continue_to_breakpoint "void_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "void_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from void_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -56,9 +56,9 @@ gdb_test_multiple "finish" "$test_msg" {
 
 set breakloc [gdb_get_line_number "CHAR FUNC" "$srcfile"]
 gdb_test "break char_func" \
-    "Breakpoint $decimal at .*/$srcfile, line $breakloc\." \
+    "Breakpoint $decimal at .*$srcfile, line $breakloc\." \
     "set breakpoint on char_func"
-gdb_continue_to_breakpoint "char_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "char_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from char_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -77,7 +77,7 @@ set breakloc [gdb_get_line_number "SHORT
 gdb_test "break short_func" \
     "Breakpoint $decimal at .* line $breakloc\." \
     "set breakpoint on short_func"
-gdb_continue_to_breakpoint "short_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "short_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from short_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -96,7 +96,7 @@ set breakloc [gdb_get_line_number "INT F
 gdb_test "break int_func" \
     "Breakpoint $decimal at .* line $breakloc\." \
     "set breakpoint on int_func"
-gdb_continue_to_breakpoint "int_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "int_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from int_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -115,7 +115,7 @@ set breakloc [gdb_get_line_number "LONG 
 gdb_test "break long_func" \
     "Breakpoint $decimal at .* line $breakloc\." \
     "set breakpoint on long_func"
-gdb_continue_to_breakpoint "long_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -134,7 +134,7 @@ set breakloc [gdb_get_line_number "LONG 
 gdb_test "break long_long_func" \
     "Breakpoint $decimal at .* line $breakloc\." \
     "set breakpoint on long_long_func"
-gdb_continue_to_breakpoint "long_long_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_long_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "finish from long_long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -158,7 +158,7 @@ gdb_test_no_output "set exec-dir reverse
 # Test reverse finish from long long func
 
 set breakloc [gdb_get_line_number "LONG LONG FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "long_long_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_long_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from long_long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -170,7 +170,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from long func
 
 set breakloc [gdb_get_line_number "LONG FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "long_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -182,7 +182,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from int func
 
 set breakloc [gdb_get_line_number "INT FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "int_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "int_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from int_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -194,7 +194,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from short func
 
 set breakloc [gdb_get_line_number "SHORT FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "short_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "short_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from short_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -206,7 +206,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from char func
 
 set breakloc [gdb_get_line_number "CHAR FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "char_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "char_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from char_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -218,7 +218,7 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from void func
 
 set breakloc [gdb_get_line_number "VOID FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "void_func" ".*/$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "void_func" ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from void_func"
 gdb_test_multiple "finish" "$test_msg" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-precsave.exp ./gdb/testsuite/gdb.reverse/i386-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i386-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -55,7 +55,7 @@ global hex
 global decimal
 
 gdb_test "break $end_of_main" \
-    "Breakpoint $decimal at .*/$srcfile, line $end_of_main\." \
+    "Breakpoint $decimal at .*$srcfile, line $end_of_main\." \
     "BP at end of main"
 
 gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
@@ -68,7 +68,7 @@ gdb_test "kill" "" "Kill process, prepar
     "Kill the program being debugged\\? \\(y or n\\) " "y"
 
 gdb_test "record restore $precsave" \
-    "Program terminated with signal .*" \
+    "Restored records from core file .*" \
     "reload precord save file"
 
 gdb_test "step" "inc .eax.*" "step to inc eax 1st time"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-reverse.c ./gdb/testsuite/gdb.reverse/i386-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i386-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-reverse.exp ./gdb/testsuite/gdb.reverse/i386-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i386-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-sse-reverse.c ./gdb/testsuite/gdb.reverse/i386-sse-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-sse-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i386-sse-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp ./gdb/testsuite/gdb.reverse/i386-sse-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i386-sse-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i387-env-reverse.exp ./gdb/testsuite/gdb.reverse/i387-env-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i387-env-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i387-env-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -40,7 +40,7 @@ gdb_test_no_output "record"  "Turn on pr
 # This can take awhile.
 set oldtimeout $timeout
 set timeout [expr $oldtimeout + 120]
-gdb_test "until $location" ".*/$srcfile:$location.*" \
+gdb_test "until $location" ".*$srcfile:$location.*" \
     "record to end of main"
 set timeout $oldtimeout
 
@@ -48,14 +48,14 @@ set timeout $oldtimeout
 
 set location [gdb_get_line_number "BEGIN I387-FLOAT-REVERSE"]
 gdb_test_no_output "set exec-dir reverse" "set reverse direction"
-gdb_test "until $location" ".*/$srcfile:$location.*" \
+gdb_test "until $location" ".*$srcfile:$location.*" \
     "rewind to beginning of main"
 gdb_test_no_output "set exec-dir forward" "set forward direction"
 
 # Test FPU env particularly ftag and fstatus reigters.
 
 set location [gdb_get_line_number "TEST ENV"]
-gdb_test "until $location" ".*/$srcfile:$location.*asm.*nop.*" \
+gdb_test "until $location" ".*$srcfile:$location.*asm.*nop.*" \
     "begin testing fpu env"       
 
 gdb_test "n" "asm.*fsave.*"               "save FPU env in memory"    
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i387-stack-reverse.exp ./gdb/testsuite/gdb.reverse/i387-stack-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/i387-stack-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/i387-stack-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -37,14 +37,14 @@ runto main
 
 set location [gdb_get_line_number "END I387-FLOAT-REVERSE"]
 gdb_test_no_output "record" "Turn on process record"
-gdb_test "until $location" ".*/$srcfile:$location.*" \
+gdb_test "until $location" ".*$srcfile:$location.*" \
     "record to end of main"
 
 # Now rewind to beginning so we can begin testing.
 
 set location [gdb_get_line_number "BEGIN I387-FLOAT-REVERSE"]
 gdb_test_no_output "set exec-dir reverse" "set reverse direction"
-gdb_test "until $location" ".*/$srcfile:$location.*" \
+gdb_test "until $location" ".*$srcfile:$location.*" \
     "rewind to beginning of main"
 gdb_test_no_output "set exec-dir forward" "set forward direction"
 
@@ -53,7 +53,7 @@ gdb_test_no_output "set exec-dir forward
 # and see whether all are getting recorded.
 
 set location [gdb_get_line_number "test st0 register"]
-gdb_test "until $location" ".*/$srcfile:$location.*asm.*fld1.*" \
+gdb_test "until $location" ".*$srcfile:$location.*asm.*fld1.*" \
     "begin test st0"
 gdb_test "stepi" "asm.*fldl2t.*"              "push st0 == 1"
 gdb_test "info register st0" "st0 *1\t.*"     "verify st0 == 1"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/machinestate.c ./gdb/testsuite/gdb.reverse/machinestate.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/machinestate.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/machinestate.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/machinestate.exp ./gdb/testsuite/gdb.reverse/machinestate.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/machinestate.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/machinestate.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -63,8 +63,8 @@ if [supports_process_record] {
 # Proceed to end of main
 
 gdb_test "break $endmain" \
-    "Breakpoint.* file .*/$srcfile, line $endmain.*" ""
-gdb_continue_to_breakpoint "end of main" ".*/$srcfile:$endmain.*"
+    "Breakpoint.* file .*$srcfile, line $endmain.*" ""
+gdb_continue_to_breakpoint "end of main" ".*$srcfile:$endmain.*"
 
 ###
 ###
@@ -78,8 +78,8 @@ gdb_continue_to_breakpoint "end of main"
 set breakloc [gdb_get_line_number \
 		  "module_global_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print aglobal" ".* = 0$newline"  "module global reverse-breakpoint"
 gdb_test "step"          ".* module global post-change .*" ""
@@ -93,8 +93,8 @@ gdb_test "print aglobal" ".* = 0$newline
 set breakloc [gdb_get_line_number \
 		  "module_static_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print astatic" ".* = 0$newline"  "module static reverse-breakpoint"
 gdb_test "step"          ".* module static post-change .*" ""
@@ -107,8 +107,8 @@ gdb_test "print astatic" ".* = 0$newline
 set breakloc [gdb_get_line_number \
 		  "function_static_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "function static reverse-breakpoint"
 gdb_test "step"         ".* function static post-change .*" ""
@@ -121,8 +121,8 @@ gdb_test "print a"      ".* = 0$newline"
 set breakloc [gdb_get_line_number \
 		  "auto_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "auto var reverse-breakpoint"
 gdb_test "step"         ".* auto post-change .*" ""
@@ -135,8 +135,8 @@ gdb_test "print a"      ".* = 0$newline"
 set breakloc [gdb_get_line_number \
 		  "register_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "register var reverse-breakpoint"
 gdb_test "step"         ".* register post-change .*" ""
@@ -146,8 +146,8 @@ gdb_test "print a"      ".* = 0$newline"
 
 # Proceed to beginning of main
 
-gdb_test "tbreak $beginmain" ".*/$srcfile, line $beginmain.*" ""
-gdb_test "reverse-continue"  ".*/$srcfile:$beginmain.*" "reverse to main"
+gdb_test "tbreak $beginmain" ".*$srcfile, line $beginmain.*" ""
+gdb_test "reverse-continue"  ".*$srcfile:$beginmain.*" "reverse to main"
 
 # Now repeat tests while replaying forward.
 
@@ -156,8 +156,8 @@ gdb_test "reverse-continue"  ".*/$srcfil
 set breakloc [gdb_get_line_number \
 		  "register_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "register var forward-breakpoint"
 gdb_test "reverse-step" ".*hide.*" ""
@@ -171,8 +171,8 @@ gdb_test "print a"      ".* = 1$newline"
 set breakloc [gdb_get_line_number \
 		  "auto_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "auto var forward-breakpoint"
 gdb_test "reverse-step" ".*hide.*" ""
@@ -186,8 +186,8 @@ gdb_test "print a"      ".* = 1$newline"
 set breakloc [gdb_get_line_number \
 		  "function_static_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "function static forward-breakpoint"
 gdb_test "reverse-step" ".*hide.*" ""
@@ -201,8 +201,8 @@ gdb_test "print a"      ".* = 1$newline"
 set breakloc [gdb_get_line_number \
 		  "module_static_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print astatic" ".* = 0$newline"  "module static forward-breakpoint"
 gdb_test "reverse-step"  ".*hide.*" ""
@@ -216,8 +216,8 @@ gdb_test "print astatic" ".* = 1$newline
 set breakloc [gdb_get_line_number \
 		  "module_global_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print aglobal" ".* = 0$newline"  "module global forward-breakpoint"
 gdb_test "reverse-step"  ".*hide.*" ""
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/machinestate-precsave.exp ./gdb/testsuite/gdb.reverse/machinestate-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/machinestate-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/machinestate-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -63,7 +63,7 @@ if [supports_process_record] {
 }
 
 gdb_test "break $endmain" \
-    "Breakpoint $decimal at .*/$srcfile, line $endmain\." \
+    "Breakpoint $decimal at .*$srcfile, line $endmain\." \
     "BP at end of main"
 
 gdb_test "continue" "Breakpoint .* end main .*" "run to end of main"
@@ -76,16 +76,16 @@ gdb_test "kill" "" "Kill process, prepar
     "Kill the program being debugged\\? \\(y or n\\) " "y"
 
 gdb_test "record restore $precsave" \
-    "Program terminated with signal .*" \
+    "Restored records from core file .*" \
     "reload prec save file"
 
 # Proceed to end of main
 
 gdb_test "break $endmain" \
-    "Breakpoint.* file .*/$srcfile, line $endmain.*" ""
+    "Breakpoint.* file .*$srcfile, line $endmain.*" ""
 
 gdb_test_multiple "continue" "go to end of main forward" {
-    -re ".*Breakpoint $decimal,.*/$srcfile:$endmain.*$gdb_prompt $"  {
+    -re ".*Breakpoint $decimal,.*$srcfile:$endmain.*$gdb_prompt $"  {
 	pass "go to end of main forward"
     }
     -re "No more reverse-execution history.* end main .*$gdb_prompt $" {
@@ -105,8 +105,8 @@ gdb_test_multiple "continue" "go to end 
 set breakloc [gdb_get_line_number \
 		  "module_global_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print aglobal" ".* = 0$newline"  "module global reverse-breakpoint"
 gdb_test "step"          ".* module global post-change .*" ""
@@ -120,8 +120,8 @@ gdb_test "print aglobal" ".* = 0$newline
 set breakloc [gdb_get_line_number \
 		  "module_static_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print astatic" ".* = 0$newline"  "module static reverse-breakpoint"
 gdb_test "step"          ".* module static post-change .*" ""
@@ -134,8 +134,8 @@ gdb_test "print astatic" ".* = 0$newline
 set breakloc [gdb_get_line_number \
 		  "function_static_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "function static reverse-breakpoint"
 gdb_test "step"         ".* function static post-change .*" ""
@@ -148,8 +148,8 @@ gdb_test "print a"      ".* = 0$newline"
 set breakloc [gdb_get_line_number \
 		  "auto_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "auto var reverse-breakpoint"
 gdb_test "step"         ".* auto post-change .*" ""
@@ -162,8 +162,8 @@ gdb_test "print a"      ".* = 0$newline"
 set breakloc [gdb_get_line_number \
 		  "register_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "reverse-continue" ".*/$srcfile:$breakloc.*" "reverse to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "reverse-continue" ".*$srcfile:$breakloc.*" "reverse to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "register var reverse-breakpoint"
 gdb_test "step"         ".* register post-change .*" ""
@@ -173,8 +173,8 @@ gdb_test "print a"      ".* = 0$newline"
 
 # Proceed to beginning of main
 
-gdb_test "tbreak $beginmain" ".*/$srcfile, line $beginmain.*" ""
-gdb_test "reverse-continue"  ".*/$srcfile:$beginmain.*" "reverse to main"
+gdb_test "tbreak $beginmain" ".*$srcfile, line $beginmain.*" ""
+gdb_test "reverse-continue"  ".*$srcfile:$beginmain.*" "reverse to main"
 
 # Now repeat tests while replaying forward.
 
@@ -183,8 +183,8 @@ gdb_test "reverse-continue"  ".*/$srcfil
 set breakloc [gdb_get_line_number \
 		  "register_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "register var forward-breakpoint"
 gdb_test "reverse-step" ".*hide.*" ""
@@ -198,8 +198,8 @@ gdb_test "print a"      ".* = 1$newline"
 set breakloc [gdb_get_line_number \
 		  "auto_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "auto var forward-breakpoint"
 gdb_test "reverse-step" ".*hide.*" ""
@@ -213,8 +213,8 @@ gdb_test "print a"      ".* = 1$newline"
 set breakloc [gdb_get_line_number \
 		  "function_static_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print a"      ".* = 0$newline"  "function static forward-breakpoint"
 gdb_test "reverse-step" ".*hide.*" ""
@@ -228,8 +228,8 @@ gdb_test "print a"      ".* = 1$newline"
 set breakloc [gdb_get_line_number \
 		  "module_static_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print astatic" ".* = 0$newline"  "module static forward-breakpoint"
 gdb_test "reverse-step"  ".*hide.*" ""
@@ -243,8 +243,8 @@ gdb_test "print astatic" ".* = 1$newline
 set breakloc [gdb_get_line_number \
 		  "module_global_state: set breakpoint here" $srcfile]
 
-gdb_test "tbreak $breakloc" ".*/$srcfile, line $breakloc.*" ""
-gdb_test "continue"         ".*/$srcfile:$breakloc.*" "forward to $breakloc"
+gdb_test "tbreak $breakloc" ".*$srcfile, line $breakloc.*" ""
+gdb_test "continue"         ".*$srcfile:$breakloc.*" "forward to $breakloc"
 
 gdb_test "print aglobal" ".* = 0$newline"  "module global forward-breakpoint"
 gdb_test "reverse-step"  ".*hide.*" ""
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/ms1.c ./gdb/testsuite/gdb.reverse/ms1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/ms1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/ms1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp ./gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/rerun-prec.c ./gdb/testsuite/gdb.reverse/rerun-prec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/rerun-prec.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/rerun-prec.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/rerun-prec.exp ./gdb/testsuite/gdb.reverse/rerun-prec.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/rerun-prec.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/rerun-prec.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/shr1.c ./gdb/testsuite/gdb.reverse/shr1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/shr1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/shr1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/shr2.c ./gdb/testsuite/gdb.reverse/shr2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/shr2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/shr2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,20 +17,12 @@
 
 #include "shr.h"
 
-#ifdef PROTOTYPES
 int shr2(int x)
-#else
-int shr2(x) int x;
-#endif
 {
   return 2*x;
 }
 
-#ifdef PROTOTYPES
 int shr2_local(int x)
-#else
-int shr2_local(x) int x;
-#endif
 {
   return 2*x;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/shr.h ./gdb/testsuite/gdb.reverse/shr.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/shr.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/shr.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/sigall-precsave.exp ./gdb/testsuite/gdb.reverse/sigall-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/sigall-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/sigall-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2009-2014 Free Software Foundation, Inc.
+#   Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -65,17 +65,6 @@ proc test_one_sig {nextsig} {
 	    }
 	}
     }
-    if [ istarget "alpha-dec-osf3*" ] then {
-	# OSF/1-3.x is unable to continue with a job control stop signal.
-	# The inferior remains stopped without an event of interest
-	# and GDB waits forever for the inferior to stop on an event
-	# of interest. Work around the kernel bug.
-	if { $thissig == "TSTP" || $thissig == "TTIN" || $thissig == "TTOU" } {
-	    setup_xfail "alpha-dec-osf3*"
-	    fail "cannot continue from signal $thissig"
-	    set need_another_continue 0
-	}
-    }
 
     if $need_another_continue then {
 	if { $thissig == "URG" } {
@@ -172,7 +161,7 @@ if [supports_process_record] {
 
 set breakloc [gdb_get_line_number "end of main" "$srcfile"]
 gdb_test "break $breakloc" \
-    "Breakpoint $decimal at .*/$srcfile, line $breakloc\." \
+    "Breakpoint $decimal at .*$srcfile, line $breakloc\." \
     "BP at end of main"
 
 # Signal handlers must be disabled
@@ -289,7 +278,7 @@ gdb_test "kill" "" "Kill process, prepar
     "Kill the program being debugged\\? \\(y or n\\) " "y"
 
 gdb_test "record restore $precsave" \
-    "Program terminated with signal .*" \
+    "Restored records from core file .*" \
     "reload precord save file"
 
 # Signal handlers must be re-enabled
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/sigall-reverse.c ./gdb/testsuite/gdb.reverse/sigall-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/sigall-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/sigall-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/sigall-reverse.exp ./gdb/testsuite/gdb.reverse/sigall-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/sigall-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/sigall-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2009-2014 Free Software Foundation, Inc.
+#   Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -64,17 +64,6 @@ proc test_one_sig {nextsig} {
 	    }
 	}
     }
-    if [ istarget "alpha-dec-osf3*" ] then {
-	# OSF/1-3.x is unable to continue with a job control stop signal.
-	# The inferior remains stopped without an event of interest
-	# and GDB waits forever for the inferior to stop on an event
-	# of interest. Work around the kernel bug.
-	if { $thissig == "TSTP" || $thissig == "TTIN" || $thissig == "TTOU" } {
-	    setup_xfail "alpha-dec-osf3*"
-	    fail "cannot continue from signal $thissig"
-	    set need_another_continue 0
-	}
-    }
 
     if $need_another_continue then {
 	if { $thissig == "URG" } {
@@ -262,9 +251,18 @@ gdb_test "continue" \
     "get signal TERM"
 gdb_test "continue" "Breakpoint.*handle_TERM.*" "send signal TERM"
 
+set savedtimeout $timeout
+if { [target_info exists gdb,timeout]
+     && $timeout < [target_info gdb,timeout] } {
+    set oldtimeout [target_info gdb,timeout]
+} else {
+    set oldtimeout $timeout
+}
+set timeout [expr $oldtimeout * 2]
 gdb_test "continue" "\[process \[0-9\]+ .*" "continue to signal exit" \
     "The next instruction is syscall exit_group.* program...y. or n. " \
     "yes"
+set timeout $savedtimeout
 
 foreach sig [lreverse $signals] {
     test_one_sig_reverse $sig
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse.c ./gdb/testsuite/gdb.reverse/singlejmp-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/singlejmp-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp ./gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/singlejmp-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c ./gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S ./gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse.S ./gdb/testsuite/gdb.reverse/singlejmp-reverse.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/singlejmp-reverse.S	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/singlejmp-reverse.S	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/solib-precsave.exp ./gdb/testsuite/gdb.reverse/solib-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/solib-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/solib-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -88,7 +88,7 @@ if [supports_process_record] {
 
 set end_of_main [gdb_get_line_number "end of main" ]
 gdb_test "break $end_of_main" \
-    "Breakpoint $decimal at .*/$srcfile, line $end_of_main\." \
+    "Breakpoint $decimal at .*$srcfile, line $end_of_main\." \
     "BP at end of main"
 
 gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
@@ -101,7 +101,7 @@ gdb_test "kill" "" "Kill process, prepar
     "Kill the program being debugged\\? \\(y or n\\) " "y"
 
 gdb_test "record restore $precsave" \
-    "Program terminated with signal .*" \
+    "Restored records from core file .*" \
     "reload core file"
 
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/solib-reverse.c ./gdb/testsuite/gdb.reverse/solib-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/solib-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/solib-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/solib-reverse.exp ./gdb/testsuite/gdb.reverse/solib-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/solib-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/solib-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/step-precsave.exp ./gdb/testsuite/gdb.reverse/step-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/step-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/step-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -41,7 +41,7 @@ if [supports_process_record] {
 
 set end_of_main [gdb_get_line_number "end of main" ]
 gdb_test "break $end_of_main" \
-    "Breakpoint $decimal at .*/$srcfile, line $end_of_main\." \
+    "Breakpoint $decimal at .*$srcfile, line $end_of_main\." \
     "BP at end of main"
 
 gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
@@ -54,7 +54,7 @@ gdb_test "kill" "" "Kill process, prepar
     "Kill the program being debugged\\? \\(y or n\\) " "y"
 
 gdb_test "record restore $precsave" \
-    "Program terminated with signal .*" \
+    "Restored records from core file .*" \
     "reload core file"
 
 # plain vanilla step/next (no count)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/step-reverse.c ./gdb/testsuite/gdb.reverse/step-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/step-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/step-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/step-reverse.exp ./gdb/testsuite/gdb.reverse/step-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/step-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/step-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/until-precsave.exp ./gdb/testsuite/gdb.reverse/until-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/until-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/until-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ if { [prepare_for_testing $testfile.exp 
 
 set bp_location1  [gdb_get_line_number "set breakpoint 1 here"]
 set bp_location7  [gdb_get_line_number "set breakpoint 7 here"]
-set bp_location9  [gdb_get_line_number "set breakpoint 9 here" "$srcfile2"]
+set bp_location8  [gdb_get_line_number "set breakpoint 8 here" "$srcfile2"]
 set bp_location19 [gdb_get_line_number "set breakpoint 19 here"]
 set bp_location20 [gdb_get_line_number "set breakpoint 20 here"]
 set bp_location21 [gdb_get_line_number "set breakpoint 21 here"]
@@ -45,25 +45,32 @@ if [supports_process_record] {
 
 set end_of_main [gdb_get_line_number "set breakpoint 10a here" ]
 gdb_test "break $end_of_main" \
-    "Breakpoint $decimal at .*/$srcfile, line $end_of_main\." \
+    "Breakpoint $decimal at .*$srcfile, line $end_of_main\." \
     "BP at end of main"
 
 # This can take awhile.
-set oldtimeout $timeout
-set timeout [expr $oldtimeout + 120]
+set savedtimeout $timeout
+if { [target_info exists gdb,timeout]
+     && $timeout < [target_info gdb,timeout] } {
+    set oldtimeout [target_info gdb,timeout]
+} else {
+    set oldtimeout $timeout
+}
+set timeout [expr $oldtimeout * 15]
 gdb_test "continue" "Breakpoint .* set breakpoint 10a here .*" "run to end of main"
 
 # So can this, against gdbserver, for example.
+set timeout [expr $oldtimeout * 3]
 gdb_test "record save $precsave" \
     "Saved core file $precsave with execution log\."  \
     "save process recfile"
-set timeout $oldtimeout
+set timeout $savedtimeout
 
 gdb_test "kill" "" "Kill process, prepare to debug log file" \
     "Kill the program being debugged\\? \\(y or n\\) " "y"
 
 gdb_test "record restore $precsave" \
-    "Program terminated with signal .*" \
+    "Restored records from core file .*" \
     "reload core file"
 
 # Verify that plain vanilla "until <location>" works.
@@ -95,7 +102,7 @@ gdb_test "finish" \
 # Advance to a function called by main (marker2)
 #
 gdb_test "advance marker2" \
-    "marker2 .a=43.*$srcfile2:$bp_location9.*" \
+    "marker2 .a=43.*$srcfile2:$bp_location8.*" \
     "advance to marker2"
 
 # Now issue an until with another function, not called by the current
@@ -126,7 +133,7 @@ gdb_test_no_output "set exec-dir reverse
 #
 
 gdb_test "advance marker2" \
-    "marker2 .a=43.*$srcfile2:$bp_location9.*" \
+    "marker2 .a=43.*$srcfile2:$bp_location8.*" \
     "reverse-advance to marker2"
 
 # Finish out to main scope (backward)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/until-reverse.c ./gdb/testsuite/gdb.reverse/until-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/until-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/until-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,68 +15,23 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef vxworks
+#include <stdio.h>
+#include <stdlib.h>
 
-#  include <stdio.h>
-
-/* VxWorks does not supply atoi.  */
-static int
-atoi (z)
-     char *z;
-{
-  int i = 0;
-
-  while (*z >= '0' && *z <= '9')
-    i = i * 10 + (*z++ - '0');
-  return i;
-}
-
-/* I don't know of any way to pass an array to VxWorks.  This function
-   can be called directly from gdb.  */
-
-vxmain (arg)
-char *arg;
-{
-  char *argv[2];
-
-  argv[0] = "";
-  argv[1] = arg;
-  main (2, argv, (char **) 0);
-}
-
-#else /* ! vxworks */
-#  include <stdio.h>
-#  include <stdlib.h>
-#endif /* ! vxworks */
-
-#ifdef PROTOTYPES
 extern int marker1 (void);
 extern int marker2 (int a);
 extern void marker3 (char *a, char *b);
 extern void marker4 (long d);
-#else
-extern int marker1 ();
-extern int marker2 ();
-extern void marker3 ();
-extern void marker4 ();
-#endif
 
 /*
  *	This simple classical example of recursion is useful for
  *	testing stack backtraces and such.
  */
 
-#ifdef PROTOTYPES
 int factorial(int);
 
 int
 main (int argc, char **argv, char **envp)
-#else
-int
-main (argc, argv, envp)
-int argc;
-char *argv[], **envp;
-#endif
 {
     if (argc == 12345) {  /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
 	fprintf (stderr, "usage:  factorial <number>\n");
@@ -96,12 +51,7 @@ char *argv[], **envp;
     return argc;  /* set breakpoint 10 here */
 } /* set breakpoint 10a here */
 
-#ifdef PROTOTYPES
 int factorial (int value)
-#else
-int factorial (value)
-int value;
-#endif
 {
   if (value > 1) {  /* set breakpoint 7 here */
 	value *= factorial (value - 1);
@@ -109,12 +59,7 @@ int value;
     return (value); /* set breakpoint 19 here */
 }
 
-#ifdef PROTOTYPES
 int multi_line_if_conditional (int a, int b, int c)
-#else
-int multi_line_if_conditional (a, b, c)
-  int a, b, c;
-#endif
 {
   if (a    /* set breakpoint 3 here */
       && b
@@ -124,12 +69,7 @@ int multi_line_if_conditional (a, b, c)
     return 1;
 }
 
-#ifdef PROTOTYPES
 int multi_line_while_conditional (int a, int b, int c)
-#else
-int multi_line_while_conditional (a, b, c)
-  int a, b, c;
-#endif
 {
   while (a /* set breakpoint 4 here */
       && b
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/until-reverse.exp ./gdb/testsuite/gdb.reverse/until-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/until-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/until-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,7 +29,7 @@ if { [prepare_for_testing $testfile.exp 
 
 set bp_location1  [gdb_get_line_number "set breakpoint 1 here"]
 set bp_location7  [gdb_get_line_number "set breakpoint 7 here"]
-set bp_location9  [gdb_get_line_number "set breakpoint 9 here" "$srcfile2"]
+set bp_location8  [gdb_get_line_number "set breakpoint 8 here" "$srcfile2"]
 set bp_location19 [gdb_get_line_number "set breakpoint 19 here"]
 set bp_location20 [gdb_get_line_number "set breakpoint 20 here"]
 set bp_location21 [gdb_get_line_number "set breakpoint 21 here"]
@@ -70,7 +70,7 @@ gdb_test "finish" \
 # Advance to a function called by main (marker2)
 #
 gdb_test "advance marker2" \
-    "marker2 .a=43.*$srcfile2:$bp_location9.*" \
+    "marker2 .a=43.*$srcfile2:$bp_location8.*" \
     "advance to marker2"
 
 # Now issue an until with another function, not called by the current
@@ -101,7 +101,7 @@ gdb_test_no_output "set exec-dir reverse
 #
 
 gdb_test "advance marker2" \
-    "marker2 .a=43.*$srcfile2:$bp_location9.*" \
+    "marker2 .a=43.*$srcfile2:$bp_location8.*" \
     "reverse-advance to marker2"
 
 # Finish out to main scope (backward)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/ur1.c ./gdb/testsuite/gdb.reverse/ur1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/ur1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/ur1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1992-2014 Free Software Foundation, Inc.
+   Copyright 1992-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -26,17 +26,10 @@
    These functions are in a separate source file to prevent an
    optimizing compiler from inlining them and optimizing them away. */
 
-#ifdef PROTOTYPES
 int marker1 (void) { return (0); }	/* set breakpoint 15 here */
 int marker2 (int a) { return (1); }	/* set breakpoint 8 here */
 void marker3 (char *a, char *b) {}	/* set breakpoint 17 here */
 void marker4 (long d) {}		/* set breakpoint 14 here */
-#else
-int marker1 () { return (0); }		/* set breakpoint 16 here */
-int marker2 (a) int a; { return (1); }	/* set breakpoint 9 here */
-void marker3 (a, b) char *a, *b; {}	/* set breakpoint 18 here */
-void marker4 (d) long d; {}		/* set breakpoint 13 here */
-#endif
 
 /* A structure we use for field name completion tests.  */
 struct some_struct
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/watch-precsave.exp ./gdb/testsuite/gdb.reverse/watch-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/watch-precsave.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/watch-precsave.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@ if [supports_process_record] {
 
 set end_location  [gdb_get_line_number "end of main"  ]
 gdb_test "break $end_location" \
-    "Breakpoint $decimal at .*/$srcfile, line $end_location\." \
+    "Breakpoint $decimal at .*$srcfile, line $end_location\." \
     "BP at end of main"
 
 gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
@@ -51,7 +51,7 @@ gdb_test "kill" "" "Kill process, prepar
     "Kill the program being debugged\\? \\(y or n\\) " "y"
 
 gdb_test "record restore $precsave" \
-    "Program terminated with signal .*" \
+    "Restored records from core file .*" \
     "reload core file"
 
 # Only software watchpoints can be used in reverse
@@ -65,7 +65,7 @@ gdb_test "break marker2" \
     "Breakpoint $decimal at $hex: file .*$srcfile, line $decimal.*" \
     "set breakpoint at marker2"
 
-gdb_continue_to_breakpoint "marker1" ".*/$srcfile:.*"
+gdb_continue_to_breakpoint "marker1" ".*$srcfile:.*"
 
 gdb_test "watch ival3" \
     ".*\[Ww\]atchpoint $decimal: ival3.*" \
@@ -102,7 +102,7 @@ gdb_test "continue" \
 # Continue until we hit the finishing marker function.
 # Make sure we hit no more watchpoints.
 
-gdb_continue_to_breakpoint "marker2" ".*/$srcfile:.*"
+gdb_continue_to_breakpoint "marker2" ".*$srcfile:.*"
 
 ###
 ###
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/watch-reverse.c ./gdb/testsuite/gdb.reverse/watch-reverse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/watch-reverse.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/watch-reverse.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -78,11 +78,7 @@ void marker6 ()
 {
 }
 
-#ifdef PROTOTYPES
 void recurser (int  x)
-#else
-void recurser (x) int  x;
-#endif
 {
   int  local_x;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/watch-reverse.exp ./gdb/testsuite/gdb.reverse/watch-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.reverse/watch-reverse.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/watch-reverse.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -46,7 +46,7 @@ gdb_test "break marker2" \
     "Breakpoint $decimal at $hex: file .*$srcfile, line $decimal.*" \
     "set breakpoint at marker2"
 
-gdb_continue_to_breakpoint "marker1" ".*/$srcfile:.*"
+gdb_continue_to_breakpoint "marker1" ".*$srcfile:.*"
 
 gdb_test "watch ival3" \
     ".*\[Ww\]atchpoint $decimal: ival3.*" \
@@ -83,7 +83,7 @@ gdb_test "continue" \
 # Continue until we hit the finishing marker function.
 # Make sure we hit no more watchpoints.
 
-gdb_continue_to_breakpoint "marker2" ".*/$srcfile:.*"
+gdb_continue_to_breakpoint "marker2" ".*$srcfile:.*"
 
 ###
 ###
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/ext-attach.c ./gdb/testsuite/gdb.server/ext-attach.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/ext-attach.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/ext-attach.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/ext-attach.exp ./gdb/testsuite/gdb.server/ext-attach.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/ext-attach.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/ext-attach.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -26,8 +26,7 @@ if { [skip_gdbserver_tests] } {
     return 0
 }
 
-# We need to use TCL's exec to get the pid.
-if [is_remote target] then {
+if {![can_spawn_for_attach]} {
     return 0
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/ext-run.exp ./gdb/testsuite/gdb.server/ext-run.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/ext-run.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/ext-run.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/file-transfer.exp ./gdb/testsuite/gdb.server/file-transfer.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/file-transfer.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/file-transfer.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # This testcase is part of GDB, the GNU debugger.
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/no-thread-db.c ./gdb/testsuite/gdb.server/no-thread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/no-thread-db.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/no-thread-db.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    Contributed by Intel Corporation.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/no-thread-db.exp ./gdb/testsuite/gdb.server/no-thread-db.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/no-thread-db.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/no-thread-db.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corporation.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server.c ./gdb/testsuite/gdb.server/server.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/server.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2005-2014 Free Software Foundation, Inc.
+   Copyright 2005-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-exec-info.exp ./gdb/testsuite/gdb.server/server-exec-info.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-exec-info.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/server-exec-info.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-kill.c ./gdb/testsuite/gdb.server/server-kill.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-kill.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/server-kill.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,10 +15,18 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include <sys/types.h>
+#include <unistd.h>
+
+int server_pid;
+
 int
 main (void)
 {
-  int i = 0;
+  int i;
+
+  server_pid = getppid ();
+  i = 0;
 
   return i;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-kill.exp ./gdb/testsuite/gdb.server/server-kill.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-kill.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/server-kill.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -33,13 +33,30 @@ gdb_test "disconnect" ".*"
 
 gdbserver_run ""
 
-# Otherwise the breakpoint at 'main' would not cause insert
-# breakpoints during first step.
-delete_breakpoints
+# Continue past server_pid assignment.
+gdb_breakpoint ${srcfile}:[gdb_get_line_number "i = 0;"]
+gdb_continue_to_breakpoint "after server_pid assignment"
+
+# Get the pid of GDBServer.
+set test "p server_pid"
+gdb_test_multiple $test $test {
+    -re " = ($decimal)\r\n$gdb_prompt $" {
+	set server_pid $expect_out(1,string)
+	pass $test
+    }
+}
+
+if {$server_pid == "" } {
+    return -1
+}
 
-set server_pid [exp_pid -i [board_info target fileid]]
 remote_exec target "kill -9 $server_pid"
 
+# Enable trace status packet which is disabled after the connection
+# if the remote target doesn't support tracepoint at all.  Otherwise,
+# no RSP packet is sent out.
+gdb_test_no_output "set remote trace-status-packet on"
+
 # Force GDB to talk with GDBserver, so that we can get the
 # "connection closed" error.
 gdb_test "tstatus" {Remote connection closed|Remote communication error\.  Target disconnected\.: Connection reset by peer\.}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-mon.exp ./gdb/testsuite/gdb.server/server-mon.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-mon.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/server-mon.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-run.exp ./gdb/testsuite/gdb.server/server-run.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/server-run.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/server-run.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2005-2014 Free Software Foundation, Inc.
+# Copyright 2005-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/solib-list.exp ./gdb/testsuite/gdb.server/solib-list.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/solib-list.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/solib-list.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/solib-list-lib.c ./gdb/testsuite/gdb.server/solib-list-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/solib-list-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/solib-list-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/solib-list-main.c ./gdb/testsuite/gdb.server/solib-list-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/solib-list-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/solib-list-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/wrapper.c ./gdb/testsuite/gdb.server/wrapper.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/wrapper.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/wrapper.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/wrapper.exp ./gdb/testsuite/gdb.server/wrapper.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.server/wrapper.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.server/wrapper.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/exclfwd1.c ./gdb/testsuite/gdb.stabs/exclfwd1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/exclfwd1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.stabs/exclfwd1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/exclfwd2.c ./gdb/testsuite/gdb.stabs/exclfwd2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/exclfwd2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.stabs/exclfwd2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/exclfwd.exp ./gdb/testsuite/gdb.stabs/exclfwd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/exclfwd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.stabs/exclfwd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2004-2014 Free Software Foundation, Inc.
+#   Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/exclfwd.h ./gdb/testsuite/gdb.stabs/exclfwd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/exclfwd.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.stabs/exclfwd.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/gdb11479.c ./gdb/testsuite/gdb.stabs/gdb11479.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/gdb11479.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.stabs/gdb11479.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    Contributed by Pierre Muller.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/gdb11479.exp ./gdb/testsuite/gdb.stabs/gdb11479.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/gdb11479.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.stabs/gdb11479.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/weird.exp ./gdb/testsuite/gdb.stabs/weird.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.stabs/weird.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.stabs/weird.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -325,6 +325,4 @@ gdb_expect 60 {
 
 do_tests
 
-remote_file host delete ${binfile}
-
 return 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-into-signal.c ./gdb/testsuite/gdb.threads/attach-into-signal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-into-signal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-into-signal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-into-signal.exp ./gdb/testsuite/gdb.threads/attach-into-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-into-signal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-into-signal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -102,15 +102,6 @@ proc corefunc { threadtype executable } 
 			# that by peeking at the thread's siginfo.
 			# SIGALRM is 14, SIGSTOP is 19.
 
-			# With remote targets, we need to pull the
-			# thread list explicitly before GDB even knows
-			# about thread 2.
-			set test2 "pull thread list"
-			gdb_test_multiple "info threads" $test2 {
-			    -re "\r\n$gdb_prompt $" {
-			    }
-			}
-
 			set test2 "thread apply 2 print \$_siginfo.si_signo"
 			gdb_test_multiple $test2 $test2 {
 			    -re " = 14\r\n$gdb_prompt $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-many-short-lived-threads.c ./gdb/testsuite/gdb.threads/attach-many-short-lived-threads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-many-short-lived-threads.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-many-short-lived-threads.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,151 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#define _GNU_SOURCE
+#include <assert.h>
+#include <pthread.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+
+pthread_t main_thread;
+pthread_attr_t detached_attr;
+pthread_attr_t joinable_attr;
+
+/* Number of threads we'll create of each variant
+   (joinable/detached).  */
+int n_threads = 50;
+
+/* Mutex used to hold creating detached threads.  */
+pthread_mutex_t dthrds_create_mutex;
+
+/* Wrapper for pthread_create.   */
+
+void
+create_thread (pthread_attr_t *attr,
+	       void *(*start_routine) (void *), void *arg)
+{
+  pthread_t child;
+  int rc;
+
+  while ((rc = pthread_create (&child, attr, start_routine, arg)) != 0)
+    {
+      fprintf (stderr, "unexpected error from pthread_create: %s (%d)\n",
+	       strerror (rc), rc);
+      sleep (1);
+    }
+}
+
+void
+break_fn (void)
+{
+}
+
+/* Data passed to joinable threads on creation.  This is allocated on
+   the heap and ownership transferred from parent to child.  (We do
+   this because it's not portable to cast pthread_t to pointer.)  */
+
+struct thread_arg
+{
+  pthread_t parent;
+};
+
+/* Entry point for joinable threads.  These threads first join their
+   parent before spawning a new child (and exiting).  The parent's tid
+   is passed as pthread_create argument, encapsulated in a struct
+   thread_arg object.  */
+
+void *
+joinable_fn (void *arg)
+{
+  struct thread_arg *p = arg;
+
+  pthread_setname_np (pthread_self (), "joinable");
+
+  if (p->parent != main_thread)
+    assert (pthread_join (p->parent, NULL) == 0);
+
+  p->parent = pthread_self ();
+
+  create_thread (&joinable_attr, joinable_fn, p);
+
+  break_fn ();
+
+  return NULL;
+}
+
+/* Entry point for detached threads.  */
+
+void *
+detached_fn (void *arg)
+{
+  pthread_setname_np (pthread_self (), "detached");
+
+  /* This should throttle threads a bit in case we manage to spawn
+     threads faster than they exit.  */
+  pthread_mutex_lock (&dthrds_create_mutex);
+
+  create_thread (&detached_attr, detached_fn, NULL);
+
+  /* Note this is called before the mutex is unlocked otherwise in
+     non-stop mode, when the breakpoint is hit we'd keep spawning more
+     threads forever while the old threads stay alive (stopped in the
+     breakpoint).  */
+  break_fn ();
+
+  pthread_mutex_unlock (&dthrds_create_mutex);
+
+  return NULL;
+}
+
+int
+main (int argc, char *argv[])
+{
+  int i;
+
+  if (argc > 1)
+    n_threads = atoi (argv[1]);
+
+  pthread_mutex_init (&dthrds_create_mutex, NULL);
+
+  pthread_attr_init (&detached_attr);
+  pthread_attr_setdetachstate (&detached_attr, PTHREAD_CREATE_DETACHED);
+  pthread_attr_init (&joinable_attr);
+  pthread_attr_setdetachstate (&joinable_attr, PTHREAD_CREATE_JOINABLE);
+
+  main_thread = pthread_self ();
+
+  /* Spawn the initial set of test threads.  Some threads are
+     joinable, others are detached.  This exercises different code
+     paths in the runtime.  */
+  for (i = 0; i < n_threads; ++i)
+    {
+      struct thread_arg *p;
+
+      p = malloc (sizeof *p);
+      p->parent = main_thread;
+      create_thread (&joinable_attr, joinable_fn, p);
+
+      create_thread (&detached_attr, detached_fn, NULL);
+    }
+
+  /* Long enough for all the attach/detach sequences done by the .exp
+     file.  */
+  sleep (180);
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp ./gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,132 @@
+# Copyright 2008-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test attaching to a program that is constantly spawning short-lived
+# threads.  The stresses the edge cases of attaching to threads that
+# have just been created or are in process of dying.  In addition, the
+# test attaches, debugs, detaches, reattaches in a loop a few times,
+# to stress the behavior of the debug API around detach (some systems
+# end up leaving stale state behind that confuse the following
+# attach).
+
+if {![can_spawn_for_attach]} {
+    return 0
+}
+
+standard_testfile
+
+# The test proper.  See description above.
+
+proc test {} {
+    global binfile
+    global gdb_prompt
+    global decimal
+
+    clean_restart ${binfile}
+
+    set testpid [spawn_wait_for_attach $binfile]
+
+    set attempts 10
+    for {set attempt 1} { $attempt <= $attempts } { incr attempt } {
+	with_test_prefix "iter $attempt" {
+	    set attached 0
+	    set eperm 0
+	    set test "attach"
+	    gdb_test_multiple "attach $testpid" $test {
+		-re "new threads in iteration" {
+		    # Seen when "set debug libthread_db" is on.
+		    exp_continue
+		}
+		-re "warning: Cannot attach to lwp $decimal: Operation not permitted" {
+		    # On Linux, PTRACE_ATTACH sometimes fails with
+		    # EPERM, even though /proc/PID/status indicates
+		    # the thread is running.
+		    set eperm 1
+		    exp_continue
+		}
+		-re "debugger service failed.*$gdb_prompt $" {
+		    fail $test
+		}
+		-re "$gdb_prompt $" {
+		    if {$eperm} {
+			xfail "$test (EPERM)"
+		    } else {
+			pass $test
+		    }
+		}
+		-re "Attaching to program.*process $testpid.*$gdb_prompt $" {
+		    pass $test
+		}
+	    }
+
+	    # Sleep a bit and try updating the thread list.  We should
+	    # know about all threads already at this point.  If we see
+	    # "New Thread" or similar being output, then "attach" is
+	    # failing to actually attach to all threads in the process,
+	    # which would be a bug.
+	    sleep 1
+
+	    set test "no new threads"
+	    gdb_test_multiple "info threads" $test {
+		-re "New .*$gdb_prompt $" {
+		    fail $test
+		}
+		-re "$gdb_prompt $" {
+		    pass $test
+		}
+	    }
+
+	    # Force breakpoints always inserted, so that threads we might
+	    # have failed to attach to hit them even when threads we do
+	    # know about are stopped.
+	    gdb_test_no_output "set breakpoint always-inserted on"
+
+	    # Run to a breakpoint a few times.  A few threads should spawn
+	    # and die meanwhile.  This checks that thread creation/death
+	    # events carry on correctly after attaching.  Also, be
+	    # detaching from the program and reattaching, we check that
+	    # the program doesn't die due to gdb leaving a pending
+	    # breakpoint hit on a new thread unprocessed.
+	    gdb_test "break break_fn" "Breakpoint.*" "break break_fn"
+
+	    # Wait a bit, to give time for most threads to hit the
+	    # breakpoint, including threads we might have failed to
+	    # attach.
+	    sleep 2
+
+	    set bps 3
+	    for {set bp 1} { $bp <= $bps } { incr bp } {
+		gdb_test "continue" "Breakpoint.*" "break at break_fn: $bp"
+	    }
+
+	    if {$attempt < $attempts} {
+		gdb_test "detach" "Detaching from.*"
+	    } else {
+		gdb_test "kill" "" "kill process" "Kill the program being debugged.*y or n. $" "y"
+	    }
+
+	    gdb_test_no_output "set breakpoint always-inserted off"
+	    delete_breakpoints
+	}
+    }
+
+    remote_exec target "kill -9 ${testpid}"
+}
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug pthreads}] == -1} {
+    return -1
+}
+
+test
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-stopped.c ./gdb/testsuite/gdb.threads/attach-stopped.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-stopped.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-stopped.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-stopped.exp ./gdb/testsuite/gdb.threads/attach-stopped.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/attach-stopped.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/attach-stopped.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2008-2014 Free Software Foundation, Inc.
+# Copyright 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/bp_in_thread.c ./gdb/testsuite/gdb.threads/bp_in_thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/bp_in_thread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/bp_in_thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* A small multi-threaded test case.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/bp_in_thread.exp ./gdb/testsuite/gdb.threads/bp_in_thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/bp_in_thread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/bp_in_thread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/break-while-running.c ./gdb/testsuite/gdb.threads/break-while-running.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/break-while-running.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/break-while-running.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,101 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+#include <assert.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+pthread_barrier_t barrier;
+
+volatile int second_child;
+
+void
+breakpoint_function (void)
+{
+  /* GDB sets a breakpoint in this function.  */
+}
+
+void *
+child_function_0 (void *arg)
+{
+  volatile unsigned int counter = 1;
+
+  pthread_barrier_wait (&barrier);
+
+  while (counter > 0)
+    {
+      counter++;
+      usleep (1);
+
+      if (second_child)
+	continue;
+
+      breakpoint_function ();
+    }
+
+  pthread_exit (NULL);
+}
+
+void *
+child_function_1 (void *arg)
+{
+  volatile unsigned int counter = 1;
+
+  pthread_barrier_wait (&barrier);
+
+  while (counter > 0)
+    {
+      counter++;
+      usleep (1);
+
+      if (!second_child)
+	continue;
+
+      breakpoint_function ();
+    }
+
+  pthread_exit (NULL);
+}
+
+static int
+wait_threads (void)
+{
+  return 1; /* in wait_threads */
+}
+
+int
+main (void)
+{
+  pthread_t child_thread[2];
+  int res;
+
+  pthread_barrier_init (&barrier, NULL, 3);
+
+  res = pthread_create (&child_thread[0], NULL, child_function_0, NULL);
+  assert (res == 0);
+  res = pthread_create (&child_thread[1], NULL, child_function_1, NULL);
+  assert (res == 0);
+
+  pthread_barrier_wait (&barrier);
+  wait_threads (); /* set wait-thread breakpoint here */
+
+  pthread_join (child_thread[0], NULL);
+  pthread_join (child_thread[1], NULL);
+
+  exit (EXIT_SUCCESS);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/break-while-running.exp ./gdb/testsuite/gdb.threads/break-while-running.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/break-while-running.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/break-while-running.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,162 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test that:
+#
+# - setting a breakpoint while a thread is running results in the
+#   breakpoint being inserted immediately.
+#
+# - if breakpoint always-inserted mode is off, GDB doesn't remove
+#   breakpoints from the target when a thread stops, if there are
+#   still threads running.
+
+standard_testfile
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug pthreads}] == -1} {
+    return -1
+}
+
+# The test proper.  UPDATE_THREAD_LIST indicates whether we should do
+# an "info threads" to sync the thread list after the first stop.
+# ALWAYS_INSERTED indicates whether testing in "breakpoint
+# always-inserted" mode.  NON_STOP indicates whether we're testing in
+# non-stop, or all-stop mode.
+
+proc test { update_thread_list always_inserted non_stop } {
+    global srcfile binfile
+    global gdb_prompt
+    global decimal
+
+    clean_restart $binfile
+
+    gdb_test_no_output "set non-stop $non_stop"
+    gdb_test_no_output "set breakpoint always-inserted $always_inserted"
+
+    if ![runto_main] {
+	return -1
+    }
+
+    # In all-stop, check whether we're testing with the remote or
+    # extended-remote targets.  If so, skip the tests, as with the
+    # RSP, we can't issue commands until the target replies to vCont.
+    # Not an issue with the non-stop RSP variant, which has a
+    # non-blocking vCont.
+    if {$non_stop=="off" && [gdb_is_target_remote]} {
+	return -1
+    }
+
+    gdb_breakpoint [gdb_get_line_number "set wait-thread breakpoint here"]
+    gdb_continue_to_breakpoint "run to wait-thread breakpoint"
+
+    delete_breakpoints
+
+    # Leave the main thread stopped, so GDB can poke at memory freely.
+    if {$non_stop == "off"} {
+	gdb_test_no_output "set scheduler-locking on"
+	gdb_test "thread 2" "Switching to .*"
+	gdb_test "continue &" "Continuing\." "continuing thread 2"
+	gdb_test "thread 3" "Switching to .*"
+	gdb_test "continue &" "Continuing\." "continuing thread 3"
+	gdb_test "thread 1" "Switching to .*" "switch back to main thread"
+    }
+
+    # Test with and without pulling the thread list explicitly with
+    # "info threads".  GDB should be able to figure out itself whether
+    # the target is running and thus breakpoints should be inserted,
+    # without the user explicitly fetching the thread list.
+    if {$update_thread_list} {
+	gdb_test "info threads" \
+	    "\\\(running\\\).*\\\(running\\\).* main .*" \
+	    "only main stopped"
+    }
+
+    # Don't use gdb_test as it's racy in this case -- gdb_test matches
+    # the prompt with an end anchor.  Sometimes expect will manage to
+    # read the breakpoint hit output while still processing this test,
+    # defeating the anchor.
+    set test "set breakpoint while a thread is running"
+    gdb_test_multiple "break breakpoint_function" $test {
+	-re "Breakpoint $decimal at .*: file .*$srcfile.*\r\n$gdb_prompt " {
+	    pass $test
+	}
+	-re "$gdb_prompt " {
+	    fail $test
+	}
+    }
+
+    # Check that the breakpoint is hit.  Can't use gdb_test here, as
+    # no prompt is expected to come out.
+    set test "breakpoint is hit"
+    gdb_test_multiple "" $test {
+	-re "Breakpoint .*, breakpoint_function \[^\r\n\]+" {
+	    pass $test
+	}
+    }
+
+    if {$non_stop == "on"} {
+	gdb_test "info threads" \
+	    "\\\(running\\\).* breakpoint_function .* main .*" \
+	    "one thread running"
+
+	# Unblock the other thread, which should then trip on the same
+	# breakpoint, unless GDB removed it by mistake.  Can't use
+	# gdb_test here for the same reasons as above.
+	set test "unblock second thread"
+	gdb_test_multiple "print second_child = 1" $test {
+	    -re " = 1\r\n$gdb_prompt " {
+		pass $test
+	    }
+	    -re "$gdb_prompt " {
+		fail $test
+	    }
+	}
+
+	set test "breakpoint on second child is hit"
+	gdb_test_multiple "" $test {
+	    -re "Breakpoint .*, breakpoint_function \[^\r\n\]+" {
+		pass $test
+	    }
+	}
+
+	gdb_test "info threads" \
+	    " breakpoint_function .* breakpoint_function .* main .*" \
+	    "all threads stopped"
+    } else {
+	# This test is not merged with the non-stop one because in
+	# all-stop we don't know where the other thread stops (inside
+	# usleep, for example).
+	set test "all threads stopped"
+	gdb_test_multiple "info threads" "$test" {
+	    -re "\\\(running\\\).*$gdb_prompt $" {
+		fail $test
+	    }
+	    -re "breakpoint_function .* main .*$gdb_prompt $" {
+		pass $test
+	    }
+	}
+    }
+}
+
+foreach update_thread_list { true false } {
+    foreach always_inserted { "off" "on" } {
+	foreach non_stop { "off" "on" } {
+	    set stop_mode [expr ($non_stop=="off")?"all-stop":"non-stop"]
+	    set update_list_mode [expr ($update_thread_list)?"w/ithr":"wo/ithr"]
+	    with_test_prefix "$update_list_mode: always-inserted $always_inserted: $stop_mode" {
+		test $update_thread_list $always_inserted $non_stop
+	    }
+	}
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/clone-new-thread-event.c ./gdb/testsuite/gdb.threads/clone-new-thread-event.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/clone-new-thread-event.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/clone-new-thread-event.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/clone-new-thread-event.exp ./gdb/testsuite/gdb.threads/clone-new-thread-event.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/clone-new-thread-event.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/clone-new-thread-event.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/corethreads.c ./gdb/testsuite/gdb.threads/corethreads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/corethreads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/corethreads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2011-2014 Free Software Foundation, Inc.
+/* Copyright 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/corethreads.exp ./gdb/testsuite/gdb.threads/corethreads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/corethreads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/corethreads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/create-fail.c ./gdb/testsuite/gdb.threads/create-fail.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/create-fail.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/create-fail.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/create-fail.exp ./gdb/testsuite/gdb.threads/create-fail.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/create-fail.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/create-fail.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/current-lwp-dead.c ./gdb/testsuite/gdb.threads/current-lwp-dead.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/current-lwp-dead.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/current-lwp-dead.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/current-lwp-dead.exp ./gdb/testsuite/gdb.threads/current-lwp-dead.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/current-lwp-dead.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/current-lwp-dead.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/dlopen-libpthread.c ./gdb/testsuite/gdb.threads/dlopen-libpthread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/dlopen-libpthread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/dlopen-libpthread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/dlopen-libpthread.exp ./gdb/testsuite/gdb.threads/dlopen-libpthread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/dlopen-libpthread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/dlopen-libpthread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +13,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if {![istarget *-linux*] || [skip_shlib_tests]} {
+if {![isnative] || ![istarget *-linux*] || [skip_shlib_tests]} {
     return 0
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c ./gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/execl1.c ./gdb/testsuite/gdb.threads/execl1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/execl1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/execl1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/execl.c ./gdb/testsuite/gdb.threads/execl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/execl.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/execl.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/execl.exp ./gdb/testsuite/gdb.threads/execl.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/execl.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/execl.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/fork-child-threads.c ./gdb/testsuite/gdb.threads/fork-child-threads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/fork-child-threads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/fork-child-threads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/fork-child-threads.exp ./gdb/testsuite/gdb.threads/fork-child-threads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/fork-child-threads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/fork-child-threads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/fork-thread-pending.c ./gdb/testsuite/gdb.threads/fork-thread-pending.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/fork-thread-pending.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/fork-thread-pending.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/fork-thread-pending.exp ./gdb/testsuite/gdb.threads/fork-thread-pending.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/fork-thread-pending.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/fork-thread-pending.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -46,7 +46,7 @@ gdb_test "continue" "Catchpoint.*" "1, g
 
 gdb_test "info threads" " Thread .* Thread .* Thread .* Thread .*" "1, multiple threads found"
 
-gdb_test "thread 2" ".*" "1, switched away from event thread"
+gdb_test "thread 1" ".*" "1, switched away from event thread"
 
 gdb_test "continue" "Not resuming.*" "1, refused to resume"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/gcore-stale-thread.c ./gdb/testsuite/gdb.threads/gcore-stale-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/gcore-stale-thread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/gcore-stale-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/gcore-stale-thread.exp ./gdb/testsuite/gdb.threads/gcore-stale-thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/gcore-stale-thread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/gcore-stale-thread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/gcore-thread.exp ./gdb/testsuite/gdb.threads/gcore-thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/gcore-thread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/gcore-thread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -55,17 +55,6 @@ set nl "\[\r\n\]+"
 
 set timeout 30
 
-gdb_test_multiple "help gcore" "help gcore" {
-    -re "Undefined command: .gcore.*$gdb_prompt $" {
-	# gcore command not supported -- nothing to test here.
-	unsupported "gdb does not support gcore on this target"
-	return -1
-    }
-    -re "Save a core file .*$gdb_prompt $" {
-	pass "help gcore"
-    }
-}
-
 if { ! [ runto_main ] } then {
     untested gcore-thread.exp
     return -1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/hand-call-in-threads.c ./gdb/testsuite/gdb.threads/hand-call-in-threads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/hand-call-in-threads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/hand-call-in-threads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test case for hand function calls in multi-threaded program.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/hand-call-in-threads.exp ./gdb/testsuite/gdb.threads/hand-call-in-threads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/hand-call-in-threads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/hand-call-in-threads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/ia64-sigill.c ./gdb/testsuite/gdb.threads/ia64-sigill.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/ia64-sigill.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/ia64-sigill.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -44,6 +44,8 @@ static pthread_mutex_t thread2_tid_mutex
 
 static pthread_mutex_t terminate_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
 
+static pthread_barrier_t threads_started_barrier;
+
 /* Do not use alarm as it would create a ptrace event which would hang up us if
    we are being traced by GDB which we stopped ourselves.  */
 
@@ -78,6 +80,8 @@ thread_func (void *threadno_voidp)
   int threadno = (intptr_t) threadno_voidp;
   int i;
 
+  pthread_barrier_wait (&threads_started_barrier);
+
   switch (threadno)
   {
     case 1:
@@ -272,6 +276,8 @@ main (int argc, char **argv)
 
   timed_mutex_lock (&terminate_mutex);
 
+  pthread_barrier_init (&threads_started_barrier, NULL, 3);
+
   i = pthread_create (&thread1, NULL, thread_func, (void *) (intptr_t) 1);
   assert (i == 0);
 
@@ -298,6 +304,11 @@ main (int argc, char **argv)
 
   atexit (cleanup);
 
+  /* Wait until all threads are seen running.  On Linux (at least),
+     new threads start stopped, and the debugger must resume them.
+     Need to wait for that before stopping GDB.  */
+  pthread_barrier_wait (&threads_started_barrier);
+
   printf ("Stopping GDB PID %lu.\n", (unsigned long) tracer);
 
   if (tracer)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/ia64-sigill.exp ./gdb/testsuite/gdb.threads/ia64-sigill.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/ia64-sigill.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/ia64-sigill.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/info-threads-cur-sal-2.c ./gdb/testsuite/gdb.threads/info-threads-cur-sal-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/info-threads-cur-sal-2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/info-threads-cur-sal-2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 Free Software Foundation, Inc.
+/* Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/info-threads-cur-sal.c ./gdb/testsuite/gdb.threads/info-threads-cur-sal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/info-threads-cur-sal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/info-threads-cur-sal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2007-2014 Free Software Foundation, Inc.
+/* Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/info-threads-cur-sal.exp ./gdb/testsuite/gdb.threads/info-threads-cur-sal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/info-threads-cur-sal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/info-threads-cur-sal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/interrupted-hand-call.c ./gdb/testsuite/gdb.threads/interrupted-hand-call.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/interrupted-hand-call.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/interrupted-hand-call.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test case for hand function calls interrupted by a signal in another thread.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/interrupted-hand-call.exp ./gdb/testsuite/gdb.threads/interrupted-hand-call.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/interrupted-hand-call.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/interrupted-hand-call.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/kill.c ./gdb/testsuite/gdb.threads/kill.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/kill.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/kill.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/killed.c ./gdb/testsuite/gdb.threads/killed.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/killed.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/killed.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/killed.exp ./gdb/testsuite/gdb.threads/killed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/killed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/killed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -65,14 +65,7 @@ if {[gdb_compile_pthreads "${srcdir}/${s
 clean_restart ${binfile}
 
 gdb_run_cmd
-gdb_expect {
-  -re "$gdb_prompt $" {
-    pass "run program to completion"
-  }
-  timeout {
-    fail "run program to completion (timeout)"
-  }
-}
+gdb_test "" "" "run program to completion"
 
 # Try to quit.
 send_gdb "quit\n"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/kill.exp ./gdb/testsuite/gdb.threads/kill.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/kill.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/kill.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/leader-exit.c ./gdb/testsuite/gdb.threads/leader-exit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/leader-exit.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/leader-exit.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Clean exit of the thread group leader should not break GDB.
 
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,7 +29,8 @@ start (void *arg)
   i = pthread_join (main_thread, NULL);
   assert (i == 0);
 
-  return arg;	/* break-here */
+  sleep (10);  /* break-here */
+  return arg;
 }
 
 int
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/leader-exit.exp ./gdb/testsuite/gdb.threads/leader-exit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/leader-exit.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/leader-exit.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -34,3 +34,23 @@ gdb_continue_to_breakpoint "break-here" 
 gdb_test "info threads" \
 	 "\r\n\[ \t\]*Id\[ \t\]+Target\[ \t\]+Id\[ \t\]+Frame\[ \t\]*\r\n\\* 2 *Thread \[^\r\n\]* at \[^\r\n\]*" \
 	 "Single thread has been left"
+
+# Test that ctrl-c works even if the leader has exited.
+
+set test "continue for ctrl-c"
+gdb_test_multiple "continue" $test {
+    -re "Continuing" {
+	pass $test
+    }
+}
+
+sleep 1
+
+send_gdb "\003"
+
+set test "caught interrupt"
+gdb_test_multiple "" $test {
+    -re "Program received signal SIGINT.*$gdb_prompt $" {
+	pass $test
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/linux-dp.exp ./gdb/testsuite/gdb.threads/linux-dp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/linux-dp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/linux-dp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -104,14 +104,7 @@ for {set i 0} {$i < 5} {incr i} {
 	-re "$gdb_prompt $" {
 	}
     }
-    if { $threads_created == 0 } {
-	# Not all targets announce new threads as they are created.
-	# For example, the GDB
-	# remote protocol target only finds out about threads when
-	# they actually report some event like a breakpoint hit,
-	# or when the user types 'info threads'.
-	unsupported "create philosopher: $i"
-    } elseif { $threads_created == 1 } {
+    if { $threads_created == 1 } {
 	if { $expect_manager < 0 } {
 	    set expect_manager 0
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/local-watch-wrong-thread.c ./gdb/testsuite/gdb.threads/local-watch-wrong-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/local-watch-wrong-thread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/local-watch-wrong-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/local-watch-wrong-thread.exp ./gdb/testsuite/gdb.threads/local-watch-wrong-thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/local-watch-wrong-thread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/local-watch-wrong-thread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/manythreads.c ./gdb/testsuite/gdb.threads/manythreads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/manythreads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/manythreads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Manythreads test program.
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    Written by Jeff Johnston <jjohnstn@redhat.com> 
    Contributed by Red Hat
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/manythreads.exp ./gdb/testsuite/gdb.threads/manythreads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/manythreads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/manythreads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # manythreads.exp -- Expect script to test stopping many threads
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -35,11 +35,7 @@ runto_main
 
 # We'll need this when we send_gdb a ^C to GDB.  Need to do it before we
 # run the program and gdb starts saving and restoring tty states.
-# On Ultrix, we don't need it and it is really slow (because shell_escape
-# doesn't use vfork).
-if ![istarget "*-*-ultrix*"] then {
-    gdb_test "shell stty intr '^C'" ".*"
-}
+gdb_test "shell stty intr '^C'" ".*"
 
 set message "first continue"
 gdb_test_multiple "continue" "first continue" {
@@ -55,24 +51,58 @@ gdb_test_multiple "continue" "first cont
 # we don't lose GDB's output while we do it.
 remote_expect host 1 { timeout { } }
 
-# Send a Ctrl-C and verify that we can do info threads and continue
-send_gdb "\003"
-set message "stop threads 1"
-gdb_test_multiple "" "stop threads 1" {
-  -re "\\\[New \[^\]\]*\\\]\r\n" {
-    exp_continue
-  }
-  -re "\\\[\[^\]\]* exited\\\]\r\n" {
-    exp_continue
-  }
-  -re "Program received signal SIGINT.*$gdb_prompt $" {
-    pass "$message"
-  }
-  timeout {
-    fail "$message (timeout)"
-  }
+# Send a Ctrl-C and wait for the SIGINT.
+
+proc interrupt_and_wait { message } {
+    global gdb_prompt
+
+    send_gdb "\003"
+
+    gdb_test_multiple "" $message {
+	-re "\\\[New \[^\]\]*\\\]\r\n" {
+	    exp_continue
+	}
+	-re "\\\[\[^\]\]* exited\\\]\r\n" {
+	    exp_continue
+	}
+	-re "Program received signal SIGINT.*$gdb_prompt $" {
+	    pass "$message"
+	}
+	-re "$gdb_prompt $" {
+	    # Note that with this regex order, if GDB emits [New
+	    # Thread ...] output between "Program received signal" and
+	    # the prompt, the "Program received signal" regex won't
+	    # match.  That's good, as if we see that happening, it's a
+	    # regression.
+	    #
+	    # GDB makes sure to notify about signal stops, end of
+	    # stepping ranges, etc., only after updating the thread
+	    # list, otherwise that stop info would be easy to miss.
+	    #
+	    # A BROKEN example would be:
+	    #
+	    #  ... pages of new threads output ...
+	    #  [New Thread NNN]
+	    #  ^C
+	    #  ... more new threads output ...
+	    #  [New Thread NNN]
+	    #  [New Thread NNN]
+	    #  Program received signal SIGINT, Interrupt.
+	    #  [New Thread NNN]
+	    #  [New Thread NNN]
+	    #  ... pages of new threads output ...
+	    #  [Switching to Thread NNN]
+	    #  foo () at foo.c:31
+	    #  31      bar ();
+	    #
+	    fail $test
+	}
+    }
 }
 
+# Send a Ctrl-C and verify that we can do info threads and continue
+interrupt_and_wait "stop threads 1"
+
 set cmd "info threads"
 set ok 0
 gdb_test_multiple $cmd $cmd {
@@ -132,22 +162,7 @@ remote_expect host 1 {
 }
 
 # Send another Ctrl-C and verify that we can do info threads and quit
-send_gdb "\003"
-set message "stop threads 2"
-gdb_test_multiple "" "stop threads 2" {
-  -re "\\\[New \[^\]\]*\\\]\r\n" {
-    exp_continue
-  }
-  -re "\\\[\[^\]\]* exited\\\]\r\n" {
-    exp_continue
-  }
-  -re "Program received signal SIGINT.*$gdb_prompt $" {
-    pass "$message"
-  }
-  timeout {
-    fail "$message (timeout)"
-  }
-} 
+interrupt_and_wait "stop threads 2"
 
 gdb_test_multiple "quit" "GDB exits after stopping multithreaded program" {
     -re "Quit anyway\\? \\(y or n\\) $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/multi-create.c ./gdb/testsuite/gdb.threads/multi-create.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/multi-create.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/multi-create.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Create threads from multiple threads in parallel.
-   Copyright 2007-2014 Free Software Foundation, Inc.
+   Copyright 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/multi-create.exp ./gdb/testsuite/gdb.threads/multi-create.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/multi-create.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/multi-create.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # multi-create.exp -- Test creating many threads in parallel
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/multiple-step-overs.c ./gdb/testsuite/gdb.threads/multiple-step-overs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/multiple-step-overs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/multiple-step-overs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/multiple-step-overs.exp ./gdb/testsuite/gdb.threads/multiple-step-overs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/multiple-step-overs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/multiple-step-overs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/next-bp-other-thread.c ./gdb/testsuite/gdb.threads/next-bp-other-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/next-bp-other-thread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/next-bp-other-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/next-bp-other-thread.exp ./gdb/testsuite/gdb.threads/next-bp-other-thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/next-bp-other-thread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/next-bp-other-thread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-1.c ./gdb/testsuite/gdb.threads/non-ldr-exc-1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-ldr-exc-1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-1.exp ./gdb/testsuite/gdb.threads/non-ldr-exc-1.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-1.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-ldr-exc-1.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-2.c ./gdb/testsuite/gdb.threads/non-ldr-exc-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-ldr-exc-2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-2.exp ./gdb/testsuite/gdb.threads/non-ldr-exc-2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-ldr-exc-2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-3.c ./gdb/testsuite/gdb.threads/non-ldr-exc-3.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-3.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-ldr-exc-3.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-3.exp ./gdb/testsuite/gdb.threads/non-ldr-exc-3.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-3.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-ldr-exc-3.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-4.c ./gdb/testsuite/gdb.threads/non-ldr-exc-4.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-4.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-ldr-exc-4.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-4.exp ./gdb/testsuite/gdb.threads/non-ldr-exc-4.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-ldr-exc-4.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-ldr-exc-4.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-stop-fair-events.c ./gdb/testsuite/gdb.threads/non-stop-fair-events.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-stop-fair-events.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-stop-fair-events.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,84 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <signal.h>
+
+#define NUM_THREADS 10
+const int num_threads = NUM_THREADS;
+
+pthread_t child_thread[NUM_THREADS];
+volatile pthread_t signal_thread;
+volatile int got_sig;
+
+void
+handler (int signo)
+{
+  got_sig = 1;
+}
+
+void
+loop_broke (void)
+{
+}
+
+#define INF_LOOP				\
+  do						\
+    {						\
+      while (!got_sig)				\
+	;					\
+    }						\
+  while (0)
+
+void *
+child_function (void *arg)
+{
+  pthread_t self = pthread_self ();
+
+  while (1)
+    {
+      INF_LOOP; /* set thread breakpoint here */
+      loop_broke ();
+    }
+}
+
+int
+main (void)
+{
+  int res;
+  int i;
+
+  alarm (60);
+
+  signal (SIGUSR1, handler);
+
+  for (i = 0; i < NUM_THREADS; i++)
+    {
+      res = pthread_create (&child_thread[i], NULL, child_function, NULL);
+    }
+
+  while (1)
+    {
+      pthread_kill (signal_thread, SIGUSR1); /* set kill breakpoint here */
+      INF_LOOP;
+      loop_broke ();
+    }
+
+  exit(EXIT_SUCCESS);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-stop-fair-events.exp ./gdb/testsuite/gdb.threads/non-stop-fair-events.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/non-stop-fair-events.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/non-stop-fair-events.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,161 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test that GDB in non-stop mode gives roughly equal priority to
+# events of all threads.
+
+standard_testfile
+set executable ${testfile}
+
+if [target_info exists gdb,nosignals] {
+    verbose "Skipping ${testfile}.exp because of nosignals."
+    return -1
+}
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug pthreads}] == -1} {
+    return -1
+}
+
+gdb_test_no_output "set non-stop on"
+
+if ![runto_main] {
+    return -1
+}
+
+# We want "handle print", to make sure the target backend reports the
+# signal to the run control core.
+gdb_test "handle SIGUSR1 print nostop pass" ""
+
+# Get current value of VAR from the inferior.  TEST is used as test
+# message.
+
+proc get_value {var test} {
+    global expect_out
+    global gdb_prompt
+    global decimal
+
+    set value -1
+    gdb_test_multiple "print $var" "$test" {
+	-re ".*= ($decimal).*\r\n$gdb_prompt $" {
+	    set value $expect_out(1,string)
+	    pass "$test"
+        }
+    }
+    return ${value}
+}
+
+set NUM_THREADS [get_value "num_threads" "get num_threads"]
+
+# Account for the main thread.
+incr NUM_THREADS
+
+# Run threads to their start positions.  This prepares for a new test
+# sequence.
+
+proc restart {} {
+    global gdb_prompt
+    global NUM_THREADS
+
+    delete_breakpoints
+
+    gdb_test "print got_sig = 0" " = 0"
+
+    gdb_breakpoint [gdb_get_line_number "set thread breakpoint here"]
+    gdb_breakpoint [gdb_get_line_number "set kill breakpoint here"]
+
+    set test "continue -a&"
+    gdb_test_multiple $test $test {
+	-re "Continuing.\r\n$gdb_prompt " {
+	    pass $test
+	}
+    }
+
+    for {set i 1} { $i <= $NUM_THREADS } { incr i } {
+	set test "thread $i restarted"
+	gdb_test_multiple "" $test {
+	    -re "breakpoint here" {
+		# The prompt was already matched in the "continue &"
+		# test above.  We're now consuming asynchronous output
+		# that comes after the prompt.
+		pass $test
+	    }
+	}
+    }
+
+    delete_breakpoints
+}
+
+# The test proper.  SIGNAL_THREAD is the thread that has been elected
+# to receive the SIGUSR1 signal.
+
+proc test {signal_thread} {
+    global gdb_prompt
+    global NUM_THREADS
+
+    with_test_prefix "signal_thread=$signal_thread" {
+	restart
+
+	# Set all threads stepping the infinite loop line in parallel.
+	for {set i 2} { $i <= $NUM_THREADS } { incr i } {
+	    gdb_test "thread $i" \
+		"child_function.*set thread breakpoint here.*" \
+		"switch to thread $i to step it"
+
+	    if {$i == $signal_thread} {
+		gdb_test "print signal_thread = self" " = .*"
+	    }
+
+	    gdb_test "step&" "" "set $i thread stepping"
+	}
+
+	gdb_test "thread 1" "Switching to .*" \
+	    "switch to the main thread to queue signal"
+
+	# Let the main thread queue the signal.
+	gdb_breakpoint "loop_broke"
+	set test "continue &"
+	gdb_test_multiple $test $test {
+	    -re "Continuing.\r\n$gdb_prompt " {
+		pass $test
+	    }
+	}
+
+	# Wait for all threads to finish their steps, and for the main
+	# thread to hit the breakpoint.
+	for {set i 1} { $i <= $NUM_THREADS } { incr i } {
+	    set test "thread $i broke out of loop"
+	    gdb_test_multiple "" $test {
+		-re "loop_broke" {
+		    # The prompt was already matched in the "continue
+		    # &" test above.  We're now consuming asynchronous
+		    # output that comes after the prompt.
+		    pass $test
+		}
+	    }
+	}
+
+	# It's helpful to have this in the log if the test ever
+	# happens to fail.
+	gdb_test "info threads"
+    }
+}
+
+# The kernel/debug API may always walk its thread list looking for the
+# first with an event, resulting in giving priority to e.g. the thread
+# with lowest kernel thread ID.  So test once with the signal pending
+# in each thread, except the main thread.
+for {set i 2} { $i <= $NUM_THREADS } { incr i } {
+    test $i
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/no-unwaited-for-left.c ./gdb/testsuite/gdb.threads/no-unwaited-for-left.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/no-unwaited-for-left.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/no-unwaited-for-left.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2007-2014 Free Software Foundation, Inc.
+/* Copyright 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/no-unwaited-for-left.exp ./gdb/testsuite/gdb.threads/no-unwaited-for-left.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/no-unwaited-for-left.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/no-unwaited-for-left.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pending-step.c ./gdb/testsuite/gdb.threads/pending-step.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pending-step.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/pending-step.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pending-step.exp ./gdb/testsuite/gdb.threads/pending-step.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pending-step.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/pending-step.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/print-threads.exp ./gdb/testsuite/gdb.threads/print-threads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/print-threads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/print-threads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -40,11 +40,7 @@ gdb_test_no_output "set width 0"
 
 # We'll need this when we send_gdb a ^C to GDB.  Need to do it before we
 # run the program and gdb starts saving and restoring tty states.
-# On Ultrix, we don't need it and it is really slow (because shell_escape
-# doesn't use vfork).
-if ![istarget "*-*-ultrix*"] then {
-    gdb_test "shell stty intr '^C'" ".*"
-}
+gdb_test "shell stty intr '^C'" ".*"
 
 proc test_all_threads { name kill } {
     global gdb_prompt inferior_exited_re
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pthread_cond_wait.c ./gdb/testsuite/gdb.threads/pthread_cond_wait.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pthread_cond_wait.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/pthread_cond_wait.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* A small multi-threaded test case.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pthread_cond_wait.exp ./gdb/testsuite/gdb.threads/pthread_cond_wait.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pthread_cond_wait.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/pthread_cond_wait.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pthreads.c ./gdb/testsuite/gdb.threads/pthreads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pthreads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/pthreads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Pthreads test program.
-   Copyright 1996-2014 Free Software Foundation, Inc.
+   Copyright 1996-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish of Cygnus Support
    Contributed by Cygnus Support
@@ -23,11 +23,11 @@
 #include <stdlib.h>
 #include <pthread.h>
 
-/* Under OSF 2.0 & 3.0 and HPUX 10, the second arg of pthread_create
+/* Under HPUX 10, the second arg of pthread_create
    is prototyped to be just a "pthread_attr_t", while under Solaris it
    is a "pthread_attr_t *".  Arg! */
 
-#if defined (__osf__) || defined (__hpux__)
+#if defined (__hpux__)
 #define PTHREAD_CREATE_ARG2(arg) arg
 #define PTHREAD_CREATE_NULL_ARG2 null_attr
 static pthread_attr_t null_attr;
@@ -124,13 +124,11 @@ main(argc, argv)
 
   foo (1, 2, 3);
 
-#ifndef __osf__
   if (pthread_attr_init (&attr))
     {
       perror ("pthread_attr_init 1");
       exit (1);
     }
-#endif
 
 #ifdef PTHREAD_SCOPE_SYSTEM
   if (pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pthreads.exp ./gdb/testsuite/gdb.threads/pthreads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/pthreads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/pthreads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -40,11 +40,7 @@ gdb_test_no_output "set width 0"
 
 # We'll need this when we send_gdb a ^C to GDB.  Need to do it before we
 # run the program and gdb starts saving and restoring tty states.
-# On Ultrix, we don't need it and it is really slow (because shell_escape
-# doesn't use vfork).
-if ![istarget "*-*-ultrix*"] then {
-    gdb_test "shell stty intr '^C'" ".*"
-}
+gdb_test "shell stty intr '^C'" ".*"
 
 proc all_threads_running {} {
     global gdb_prompt
@@ -266,9 +262,7 @@ proc check_backtraces {} {
     }
 }
 
-setup_xfail "alpha-*-osf*"
 if [runto_main] then {
-    clear_xfail "alpha-*-osf*"
     if [test_startup] then {
 	if [check_control_c] then {
 	    warning "Could not stop child with ^C; skipping rest of tests.\n"
@@ -277,4 +271,3 @@ if [runto_main] then {
 	check_backtraces
     }
 }
-clear_xfail "alpha-*-osf*"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/queue-signal.c ./gdb/testsuite/gdb.threads/queue-signal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/queue-signal.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/queue-signal.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,142 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <pthread.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/* Used to individually advance each thread to the desired stopping point.  */
+int ready;
+
+sig_atomic_t sigusr1_received;
+sig_atomic_t sigusr2_received;
+sig_atomic_t sigabrt_received;
+
+/* Number of threads currently running.  */
+int thread_count;
+pthread_mutex_t thread_count_mutex;
+pthread_cond_t thread_count_condvar;
+
+static void
+incr_thread_count (void)
+{
+  pthread_mutex_lock (&thread_count_mutex);
+  ++thread_count;
+  pthread_cond_signal (&thread_count_condvar);
+  pthread_mutex_unlock (&thread_count_mutex);
+}
+
+static void
+sigusr1_handler (int sig)
+{
+  sigusr1_received = 1;
+}
+
+static void
+sigusr2_handler (int sig)
+{
+  sigusr2_received = 1;
+}
+
+static void
+sigabrt_handler (int sig)
+{
+  sigabrt_received = 1;
+}
+
+static void *
+sigusr1_thread_function (void *unused)
+{
+  incr_thread_count ();
+  while (!ready)
+    usleep (100);
+  pthread_kill (pthread_self (), SIGUSR1);
+}
+
+static void *
+sigusr2_thread_function (void *unused)
+{
+  incr_thread_count ();
+  while (!ready)
+    usleep (100);
+  /* pthread_kill (pthread_self (), SIGUSR2); - manually injected by gdb */
+}
+
+/* Wait until all threads are at a point where a backtrace will
+   show the thread entry point function.  */
+
+static void
+wait_all_threads_running (int nr_threads)
+{
+  pthread_mutex_lock (&thread_count_mutex);
+
+  while (1)
+    {
+      if (thread_count == nr_threads)
+	{
+	  pthread_mutex_unlock (&thread_count_mutex);
+	  return;
+	}
+      pthread_cond_wait (&thread_count_condvar, &thread_count_mutex);
+    }
+}
+
+static void
+all_threads_running (void)
+{
+  while (!ready)
+    usleep (100);
+}
+
+static void
+all_threads_done (void)
+{
+}
+
+int
+main ()
+{
+  pthread_t sigusr1_thread, sigusr2_thread;
+
+  /* Protect against running forever.  */
+  alarm (60);
+
+  signal (SIGUSR1, sigusr1_handler);
+  signal (SIGUSR2, sigusr2_handler);
+  signal (SIGABRT, sigabrt_handler);
+
+  /* Don't let any thread advance past initialization.  */
+  ready = 0;
+
+  pthread_mutex_init (&thread_count_mutex, NULL);
+  pthread_cond_init (&thread_count_condvar, NULL);
+
+#define NR_THREADS 2
+  pthread_create (&sigusr1_thread, NULL, sigusr1_thread_function, NULL);
+  pthread_create (&sigusr2_thread, NULL, sigusr2_thread_function, NULL);
+  wait_all_threads_running (NR_THREADS);
+  all_threads_running ();
+
+  pthread_kill (pthread_self (), SIGABRT);
+
+  pthread_join (sigusr1_thread, NULL);
+  pthread_join (sigusr2_thread, NULL);
+  all_threads_done ();
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/queue-signal.exp ./gdb/testsuite/gdb.threads/queue-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/queue-signal.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/queue-signal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,91 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+standard_testfile
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+	 executable { debug }] != "" } {
+    return -1
+}
+
+clean_restart ${binfile}
+
+if ![runto_main] {
+   fail "Can't run to main"
+   return 0
+}
+
+gdb_test "handle SIGUSR1 stop print pass"
+gdb_test "handle SIGUSR2 stop print pass"
+gdb_test "handle SIGABRT stop print pass"
+
+gdb_breakpoint "all_threads_running"
+gdb_continue_to_breakpoint "all_threads_running"
+
+# Find out which of threads 2,3 are for sigusr1,2.
+set sigusr1_thread 0
+set sigusr2_thread 0
+gdb_test "thread 2"
+gdb_test_multiple "bt" "determine thread functions" {
+    -re "sigusr1.*$gdb_prompt $" {
+	set sigusr1_thread 2
+	set sigusr2_thread 3
+    }
+    -re "sigusr2.*$gdb_prompt $" {
+	set sigusr1_thread 3
+	set sigusr2_thread 2
+    }
+}
+
+# No point in continuing if we couldn't figure out which thread is which.
+if { $sigusr1_thread == 0 } {
+    # FAIL already recorded.
+    return 0
+}
+
+# Advance each thread to where we want them one at a time.
+gdb_test_no_output "set scheduler-locking on"
+gdb_test_no_output "set var ready = 1"
+
+# Thread sigusr1_thread gets a SIGUSR1 which we leave alone.
+gdb_test "thread $sigusr1_thread" ""
+gdb_test "continue" "SIGUSR1.*"
+
+# Inject SIGUSR2 into thread sigusr2_thread.
+gdb_test "thread $sigusr2_thread" ""
+gdb_test_no_output "queue-signal SIGUSR2"
+
+# The main thread gets SIGABRT which we then throw away.
+gdb_test "thread 1" ""
+gdb_test "continue" "SIGABRT.*"
+gdb_test_no_output "queue-signal 0"
+
+# Now let every thread run.
+gdb_test_no_output "set scheduler-locking off"
+
+gdb_breakpoint "all_threads_done"
+gdb_continue_to_breakpoint "all_threads_done"
+
+# Verify SIGUSR1, SIGUSR2 were received, and SIGABRT was discarded.
+gdb_test "p sigusr1_received" "= 1"
+gdb_test "p sigusr2_received" "= 1"
+gdb_test "p sigabrt_received" "= 0"
+
+# Before we finish up verify the queueing of nopass signals flags an error.
+gdb_test "queue-signal SIGINT" \
+  "Signal handling set to not pass this signal to the program."
+
+# Verify program is able to finish.
+gdb_continue_to_end
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/reconnect-signal.c ./gdb/testsuite/gdb.threads/reconnect-signal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/reconnect-signal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/reconnect-signal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/reconnect-signal.exp ./gdb/testsuite/gdb.threads/reconnect-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/reconnect-signal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/reconnect-signal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/schedlock.c ./gdb/testsuite/gdb.threads/schedlock.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/schedlock.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/schedlock.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/schedlock.exp ./gdb/testsuite/gdb.threads/schedlock.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/schedlock.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/schedlock.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -148,11 +148,7 @@ gdb_reinitialize_dir $srcdir/$subdir
 
 # We'll need this when we send_gdb a ^C to GDB.  Need to do it before we
 # run the program and gdb starts saving and restoring tty states.
-# On Ultrix, we don't need it and it is really slow (because shell_escape
-# doesn't use vfork).
-if ![istarget "*-*-ultrix*"] then {
-    gdb_test "shell stty intr '^C'" ".*"
-}
+gdb_test "shell stty intr '^C'" ".*"
 
 gdb_load ${binfile}
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/siginfo-threads.c ./gdb/testsuite/gdb.threads/siginfo-threads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/siginfo-threads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/siginfo-threads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -54,6 +54,8 @@ static int thread2_sigusr2_hit;
 static pthread_mutex_t terminate_mutex
   = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
 
+static pthread_barrier_t threads_started_barrier;
+
 /* Do not use alarm as it would create a ptrace event which would hang
    us up if we are being traced by GDB, which we stopped
    ourselves.  */
@@ -128,6 +130,8 @@ thread1_func (void *unused)
 {
   int i;
 
+  pthread_barrier_wait (&threads_started_barrier);
+
   timed_mutex_lock (&thread1_tid_mutex);
 
   /* THREAD1_TID_MUTEX must be already locked to avoid a race.  */
@@ -163,6 +167,8 @@ thread2_func (void *unused)
 {
   int i;
 
+  pthread_barrier_wait (&threads_started_barrier);
+
   timed_mutex_lock (&thread2_tid_mutex);
 
   /* THREAD2_TID_MUTEX must be already locked to avoid a race.  */
@@ -354,6 +360,8 @@ main (int argc, char **argv)
   assert_perror (errno);
   assert (i == 0);
 
+  pthread_barrier_init (&threads_started_barrier, NULL, 3);
+
   i = pthread_create (&thread1, NULL, thread1_func, NULL);
   assert (i == 0);
 
@@ -380,6 +388,11 @@ main (int argc, char **argv)
 
   atexit (cleanup);
 
+  /* Wait until all threads are seen running.  On Linux (at least),
+     new threads start stopped, and the debugger must resume them.
+     Need to wait for that before stopping GDB.  */
+  pthread_barrier_wait (&threads_started_barrier);
+
   printf ("Stopping GDB PID %lu.\n", (unsigned long) tracer);
 
   if (tracer)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/siginfo-threads.exp ./gdb/testsuite/gdb.threads/siginfo-threads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/siginfo-threads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/siginfo-threads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-command-handle-nopass.c ./gdb/testsuite/gdb.threads/signal-command-handle-nopass.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-command-handle-nopass.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/signal-command-handle-nopass.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,49 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <signal.h>
+
+void
+handler (int sig)
+{
+}
+
+void *
+thread_function (void *arg)
+{
+  volatile unsigned int i = 1;
+
+  while (i != 0)
+    usleep (1);
+}
+
+int
+main (void)
+{
+  pthread_t child_thread;
+  int i;
+
+  signal (SIGUSR1, handler);
+  pthread_create (&child_thread, NULL, thread_function, NULL);
+  pthread_join (child_thread, NULL);
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-command-handle-nopass.exp ./gdb/testsuite/gdb.threads/signal-command-handle-nopass.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-command-handle-nopass.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/signal-command-handle-nopass.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,82 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+# Test that an explicit "signal FOO" delivers FOO even if "handle" for
+# that same signal is set to "nopass".  Also make sure the signal is
+# delivered to the right thread, even if GDB has to step over a
+# breakpoint in some other thread first.
+
+if [target_info exists gdb,nosignals] {
+    verbose "Skipping ${testfile}.exp because of nosignals."
+    return -1
+}
+
+standard_testfile
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+	 executable { debug }] != "" } {
+    return -1
+}
+
+# Run the test proper.  STEP_OVER indicates whether we leave in place
+# a breakpoint that needs to be stepped over when we explicitly
+# request a signal be delivered with the "signal" command.
+
+proc test { step_over } {
+    global srcfile binfile
+
+    with_test_prefix "step-over $step_over" {
+	clean_restart ${binfile}
+
+	if ![runto_main] then {
+	    fail "Can't run to main"
+	    return 0
+	}
+
+	gdb_test "handle SIGUSR1 stop print nopass"
+
+	gdb_test "b thread_function" "Breakpoint .* at .*$srcfile.*"
+	gdb_test "continue" "thread_function.*" "stopped in thread"
+
+	# Thread 2 is stopped at a breakpoint.  If we leave the
+	# breakpoint in place, GDB needs to move thread 2 past the
+	# breakpoint before delivering the signal to thread 1.  We
+	# want to be sure that GDB doesn't mistakenly deliver the
+	# signal to thread 1 while doing that.
+	if { $step_over == "no" } {
+	    delete_breakpoints
+	}
+
+	gdb_test "break handler" "Breakpoint .* at .*$srcfile.*"
+
+	gdb_test "thread 1" "Switching to thread 1.*"
+
+	set pattern "\\\* 1\[ \t\]+Thread.*"
+
+	gdb_test "info threads" $pattern "thread 1 selected"
+
+	gdb_test "signal SIGUSR1" "handler .*"
+
+	# Make sure it was thread 1 that got the signal.  Note we list
+	# all threads instead of just thread 1, so that if something
+	# goes wrong and another thread ends up selected, we can
+	# easily see which in the logs.
+	gdb_test "info threads" $pattern "thread 1 got the signal"
+    }
+}
+
+foreach stepover {"yes" "no"} {
+    test $stepover
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.c ./gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,99 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <signal.h>
+
+pthread_barrier_t barrier;
+sig_atomic_t got_sigusr1;
+sig_atomic_t got_sigusr2;
+
+void
+handler_sigusr1 (int sig)
+{
+  got_sigusr1 = 1;
+}
+
+void
+handler_sigusr2 (int sig)
+{
+  got_sigusr2 = 1;
+}
+
+void *
+thread_function (void *arg)
+{
+  volatile unsigned int count = 1;
+
+  pthread_barrier_wait (&barrier);
+
+  while (count++ != 0)
+    {
+      if (got_sigusr1 && got_sigusr2)
+	break;
+      usleep (1);
+    }
+}
+
+void
+all_threads_started (void)
+{
+}
+
+void
+all_threads_signalled (void)
+{
+}
+
+void
+end (void)
+{
+}
+
+int
+main (void)
+{
+  pthread_t child_thread[2];
+  int i;
+
+  signal (SIGUSR1, handler_sigusr1);
+  signal (SIGUSR2, handler_sigusr2);
+
+  for (i = 0; i < 2; i++)
+    {
+      pthread_barrier_init (&barrier, NULL, 2);
+      pthread_create (&child_thread[i], NULL, thread_function, NULL);
+      pthread_barrier_wait (&barrier);
+      pthread_barrier_destroy (&barrier);
+    }
+
+  all_threads_started ();
+
+  pthread_kill (child_thread[0], SIGUSR1);
+  pthread_kill (child_thread[1], SIGUSR2);
+
+  all_threads_signalled ();
+
+  for (i = 0; i < 2; i++)
+    pthread_join (child_thread[i], NULL);
+
+  end ();
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.exp ./gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,173 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+# Test that "signal FOO" behaves correctly when we have multiple
+# threads that have stopped for a signal.
+
+if [target_info exists gdb,nosignals] {
+    verbose "Skipping ${testfile}.exp because of nosignals."
+    return -1
+}
+
+standard_testfile
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+	 executable { debug }] != "" } {
+    return -1
+}
+
+# Run the test proper.  SCHEDLOCK indicates which variant (around
+# scheduler-locking) of the test to perform.
+
+proc test { schedlock } {
+    global srcfile binfile
+
+    with_test_prefix "schedlock $schedlock" {
+	clean_restart ${binfile}
+
+	if ![runto_main] then {
+	    fail "Can't run to main"
+	    return 0
+	}
+
+	gdb_test "handle SIGUSR1 stop print pass"
+	gdb_test "handle SIGUSR2 stop print pass"
+
+	gdb_test "break all_threads_started" "Breakpoint .* at .*$srcfile.*"
+
+	# Create threads one at a time, to insure stable thread
+	# numbers between runs and targets.
+	gdb_test "break thread_function" "Breakpoint .* at .*$srcfile.*"
+	gdb_test "continue" "thread_function.*" "thread 2 created"
+	gdb_test "continue" "thread_function.*" "thread 3 created"
+
+	gdb_test "continue" "all_threads_started.*"
+
+	# Using schedlock, let the main thread queue a signal for each
+	# non-main thread.
+	gdb_test_no_output "set scheduler-locking on"
+
+	gdb_test "break all_threads_signalled" "Breakpoint .* at .*$srcfile.*"
+	gdb_test "continue" "all_threads_signalled.*"
+
+	gdb_test "info threads" "\\\* 1\[ \t\]+Thread.*" "thread 1 selected"
+
+	# With schedlock still enabled, let each thread report its
+	# signal.
+
+	gdb_test "thread 3" "Switching to thread 3.*"
+	gdb_test "continue" "Program received signal SIGUSR2.*" "stop with SIGUSR2"
+	gdb_test "thread 2" "Switching to thread 2.*"
+	gdb_test "continue" "Program received signal SIGUSR1.*" "stop with SIGUSR1"
+
+	gdb_test "break handler_sigusr1" "Breakpoint .* at .*$srcfile.*"
+	gdb_test "break handler_sigusr2" "Breakpoint .* at .*$srcfile.*"
+
+	set handler_re "Breakpoint .*, handler_sigusr. \\(sig=.*\\) at .*"
+
+	# Now test the "signal" command with either scheduler locking
+	# enabled or disabled.
+
+	if { $schedlock == "off" } {
+	    # With scheduler locking off, switch to the main thread
+	    # and issue "signal 0".  "signal 0" should then warn that
+	    # two threads have signals that will be delivered.  When
+	    # we let the command proceed, a signal should be
+	    # delivered, and thus the corresponding breakpoint in the
+	    # signal handler should trigger.
+
+	    gdb_test_no_output "set scheduler-locking off"
+	    gdb_test "thread 1" "Switching to thread 1.*"
+
+	    set queried 0
+	    set test "signal command queries"
+	    gdb_test_multiple "signal 0" $test {
+		-re "stopped with.*stopped with.*stopped with.*Continue anyway.*y or n. $" {
+		    fail "$test (too many threads noted)"
+		    set queried 1
+		}
+		-re "stopped with signal SIGUSR.*\r\nContinuing .*still deliver .*Continue anyway.*y or n. $" {
+		    pass $test
+		    set queried 1
+		}
+		-re "Continue anyway.*y or n. $" {
+		    fail "$test (no threads noted)"
+		    set queried 1
+		}
+	    }
+
+	    # Continuing should stop in one of the signal handlers.
+	    # Which thread runs first is not determinate.
+	    if {$queried} {
+		gdb_test "y" "$handler_re" "one signal delivered"
+	    }
+
+	    # Continuing a second time should stop in the other
+	    # handler.
+	    with_test_prefix "second signal" {
+		gdb_test "continue" "$handler_re" "signal delivered"
+	    }
+	} else {
+	    # With scheduler locking on, stay with thread 2 selected,
+	    # and try to deliver its signal explicitly.  The "signal"
+	    # command should then warn that one other thread has a
+	    # signal that will be delivered.  When we let the command
+	    # proceed, the current thread's signal should be
+	    # delivered, and thus the corresponding breakpoint in the
+	    # signal handler should trigger.
+	    gdb_test "signal SIGUSR1" \
+		"Breakpoint .*, handler_sigusr1 \\(sig=.*\\) at .*" \
+		"signal command does not query, signal delivered"
+
+	    with_test_prefix "second signal" {
+		# The other thread had stopped for a signal too, and
+		# it wasn't resumed yet.  Disabling schedlock and
+		# trying "signal 0" from the main thread should warn
+		# again.
+		gdb_test_no_output "set scheduler-locking off"
+
+		set queried 0
+		set test "signal command queries"
+		gdb_test_multiple "signal 0" $test {
+		    -re "stopped with.*stopped with.*Continue anyway.*y or n. $" {
+			fail "$test (too many threads noted)"
+			set queried 1
+		    }
+		    -re "stopped with signal SIGUSR.*\r\nContinuing .*still deliver .*Continue anyway.*y or n. $" {
+			pass $test
+			set queried 1
+		    }
+		    -re "Continue anyway.*y or n. $" {
+			fail "$test (no threads noted)"
+			set queried 1
+		    }
+		}
+
+		if {$queried} {
+		    gdb_test "y" "Breakpoint .*, handler_sigusr2 \\(sig=.*\\) at .*" "signal delivered"
+		}
+	    }
+	}
+
+	# Both threads got their signal.  Continuing again should
+	# neither intercept nor deliver any other signal.
+	gdb_test "b end" "Breakpoint .* at .*$srcfile.*"
+	gdb_test "continue" "end .*" "no more signals"
+    }
+}
+
+foreach schedlock {"off" "on"} {
+    test $schedlock
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-delivered-right-thread.c ./gdb/testsuite/gdb.threads/signal-delivered-right-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-delivered-right-thread.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/signal-delivered-right-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,61 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <signal.h>
+
+pthread_barrier_t barrier;
+
+void
+handler (int sig)
+{
+}
+
+void *
+thread_function (void *arg)
+{
+  pthread_barrier_wait (&barrier);
+
+  while (1)
+    usleep (1);
+}
+
+int
+main (void)
+{
+  pthread_t child_thread[2];
+  int i;
+
+  signal (SIGUSR1, handler);
+
+  pthread_barrier_init (&barrier, NULL, 3);
+
+  for (i = 0; i < 2; i++)
+    pthread_create (&child_thread[i], NULL, thread_function, NULL);
+
+  pthread_barrier_wait (&barrier);
+
+  pthread_kill (child_thread[0], SIGUSR1);
+
+  for (i = 0; i < 2; i++)
+    pthread_join (child_thread[i], NULL);
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-delivered-right-thread.exp ./gdb/testsuite/gdb.threads/signal-delivered-right-thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-delivered-right-thread.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/signal-delivered-right-thread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,85 @@
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+if [target_info exists gdb,nosignals] {
+    verbose "Skipping ${testfile}.exp because of nosignals."
+    return -1
+}
+
+standard_testfile
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+	 executable { debug }] != "" } {
+    return -1
+}
+
+# Run test proper.  COMMAND indicates whether to resume the inferior
+# with "signal 0" or "continue".
+
+proc test { command } {
+    global srcfile binfile
+
+    with_test_prefix "$command" {
+	clean_restart ${binfile}
+
+	if ![runto_main] then {
+	    fail "Can't run to main"
+	    return 0
+	}
+
+	gdb_test "handle SIGUSR1 stop print pass"
+
+	gdb_test "continue" "Program received signal SIGUSR1.*" "stop with SIGUSR1"
+
+	set pattern "\\\* 2\[ \t\]+Thread.*"
+
+	gdb_test "info threads" $pattern "thread 2 intercepted signal"
+
+	gdb_test "break handler" "Breakpoint .* at .*$srcfile.*"
+
+	gdb_test "thread 1" "Switching to thread 1.*"
+
+	if { $command == "continue" } {
+	    gdb_test "continue" "handler .*"
+	} elseif { $command == "signal 0" } {
+	    set queried 0
+	    set test "signal 0 queries"
+	    gdb_test_multiple "signal 0" $test {
+		-re "stopped with.*stopped with.*Continue anyway.*y or n. $" {
+		    fail "$test (multiple threads noted)"
+		    set queried 1
+		}
+		-re "stopped with signal SIGUSR1.*\r\nContinuing .*still deliver .*Continue anyway.*y or n. $" {
+		    pass $test
+		    set queried 1
+		}
+		-re "Continue anyway.*y or n. $" {
+		    fail "$test (no threads noted)"
+		    set queried 1
+		}
+	    }
+
+	    if {$queried} {
+		gdb_test "y" "handler .*" "signal is delivered"
+	    }
+	}
+
+	gdb_test "info threads" $pattern "thread 2 got the signal"
+    }
+}
+
+foreach command {"continue" "signal 0"} {
+    test $command
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.c ./gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp ./gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/sigstep-threads.c ./gdb/testsuite/gdb.threads/sigstep-threads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/sigstep-threads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/sigstep-threads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/sigstep-threads.exp ./gdb/testsuite/gdb.threads/sigstep-threads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/sigstep-threads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/sigstep-threads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/sigthread.exp ./gdb/testsuite/gdb.threads/sigthread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/sigthread.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/sigthread.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # sigthread.exp -- Expect script to test thread and signal interaction
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/staticthreads.c ./gdb/testsuite/gdb.threads/staticthreads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/staticthreads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/staticthreads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test program is part of GDB, The GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    Originally written by Jeff Johnston <jjohnstn@redhat.com>,
    contributed by Red Hat
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/staticthreads.exp ./gdb/testsuite/gdb.threads/staticthreads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/staticthreads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/staticthreads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # static.exp -- test script, for GDB, the GNU debugger.
 
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/stepi-random-signal.c ./gdb/testsuite/gdb.threads/stepi-random-signal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/stepi-random-signal.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/stepi-random-signal.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/stepi-random-signal.exp ./gdb/testsuite/gdb.threads/stepi-random-signal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/stepi-random-signal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/stepi-random-signal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.c ./gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp ./gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.c ./gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp ./gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/switch-threads.c ./gdb/testsuite/gdb.threads/switch-threads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/switch-threads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/switch-threads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* A minimal multi-threaded test case.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/switch-threads.exp ./gdb/testsuite/gdb.threads/switch-threads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/switch-threads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/switch-threads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/threadapply.c ./gdb/testsuite/gdb.threads/threadapply.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/threadapply.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/threadapply.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/threadapply.exp ./gdb/testsuite/gdb.threads/threadapply.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/threadapply.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/threadapply.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread_check.c ./gdb/testsuite/gdb.threads/thread_check.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread_check.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread_check.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread_check.exp ./gdb/testsuite/gdb.threads/thread_check.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread_check.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread_check.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread_events.c ./gdb/testsuite/gdb.threads/thread_events.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread_events.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread_events.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread_events.exp ./gdb/testsuite/gdb.threads/thread_events.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread_events.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread_events.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-execl.c ./gdb/testsuite/gdb.threads/thread-execl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-execl.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread-execl.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
 #include <pthread.h>
 #include <unistd.h>
 #include <stdlib.h>
+#include <stdio.h>
 
 static const char *image;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-execl.exp ./gdb/testsuite/gdb.threads/thread-execl.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-execl.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread-execl.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-find.exp ./gdb/testsuite/gdb.threads/thread-find.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-find.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread-find.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,10 +29,6 @@ runto_main
 gdb_breakpoint [gdb_get_line_number "linuxthreads.exp: info threads 2"]
 gdb_continue_to_breakpoint "main thread's sleep"
 
-# Make sure thread list is up-to-date (in case remote targets have not yet
-# reported thread creation events)
-gdb_test "info threads"
-
 # Create thread names.
 gdb_test "thread apply 1 thread name threadname_1" \
     "Thread 1 .*" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-specific-bp.c ./gdb/testsuite/gdb.threads/thread-specific-bp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-specific-bp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread-specific-bp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-specific-bp.exp ./gdb/testsuite/gdb.threads/thread-specific-bp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-specific-bp.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread-specific-bp.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-specific.c ./gdb/testsuite/gdb.threads/thread-specific.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-specific.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread-specific.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2004-2014 Free Software Foundation, Inc.
+   Copyright 2004-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-specific.exp ./gdb/testsuite/gdb.threads/thread-specific.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-specific.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread-specific.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-unwindonsignal.exp ./gdb/testsuite/gdb.threads/thread-unwindonsignal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/thread-unwindonsignal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/thread-unwindonsignal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/threxit-hop-specific.c ./gdb/testsuite/gdb.threads/threxit-hop-specific.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/threxit-hop-specific.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/threxit-hop-specific.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/threxit-hop-specific.exp ./gdb/testsuite/gdb.threads/threxit-hop-specific.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/threxit-hop-specific.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/threxit-hop-specific.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls2.c ./gdb/testsuite/gdb.threads/tls2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/tls2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008-2014 Free Software Foundation, Inc.
+   Copyright 2008-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls.exp ./gdb/testsuite/gdb.threads/tls.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/tls.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # tls.exp -- Expect script to test thread-local storage
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-nodebug.exp ./gdb/testsuite/gdb.threads/tls-nodebug.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-nodebug.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/tls-nodebug.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # tls.exp -- Expect script to test thread-local storage without debuginfo
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-shared.exp ./gdb/testsuite/gdb.threads/tls-shared.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-shared.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/tls-shared.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-var.c ./gdb/testsuite/gdb.threads/tls-var.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-var.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/tls-var.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-var.exp ./gdb/testsuite/gdb.threads/tls-var.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-var.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/tls-var.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-var-main.c ./gdb/testsuite/gdb.threads/tls-var-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/tls-var-main.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/tls-var-main.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork-child.c ./gdb/testsuite/gdb.threads/watchpoint-fork-child.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork-child.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchpoint-fork-child.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test case for forgotten hw-watchpoints after fork()-off of a process.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork.exp ./gdb/testsuite/gdb.threads/watchpoint-fork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchpoint-fork.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork.h ./gdb/testsuite/gdb.threads/watchpoint-fork.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchpoint-fork.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test case for forgotten hw-watchpoints after fork()-off of a process.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c ./gdb/testsuite/gdb.threads/watchpoint-fork-mt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork-mt.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchpoint-fork-mt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test case for forgotten hw-watchpoints after fork()-off of a process.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c ./gdb/testsuite/gdb.threads/watchpoint-fork-parent.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork-parent.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchpoint-fork-parent.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test case for forgotten hw-watchpoints after fork()-off of a process.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork-st.c ./gdb/testsuite/gdb.threads/watchpoint-fork-st.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchpoint-fork-st.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchpoint-fork-st.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Test case for forgotten hw-watchpoints after fork()-off of a process.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads2.c ./gdb/testsuite/gdb.threads/watchthreads2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchthreads2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads2.exp ./gdb/testsuite/gdb.threads/watchthreads2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads2.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchthreads2.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads.c ./gdb/testsuite/gdb.threads/watchthreads.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchthreads.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads.exp ./gdb/testsuite/gdb.threads/watchthreads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchthreads.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads-reorder.c ./gdb/testsuite/gdb.threads/watchthreads-reorder.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads-reorder.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchthreads-reorder.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -44,6 +44,8 @@ static pthread_mutex_t thread2_tid_mutex
 
 static pthread_mutex_t terminate_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
 
+static pthread_barrier_t threads_started_barrier;
+
 /* These variables must have lower in-memory addresses than thread1_rwatch and
    thread2_rwatch so that they take their watchpoint slots.  */
 
@@ -87,6 +89,8 @@ thread1_func (void *unused)
   int i;
   volatile int rwatch_store;
 
+  pthread_barrier_wait (&threads_started_barrier);
+
   timed_mutex_lock (&thread1_tid_mutex);
 
   /* THREAD1_TID_MUTEX must be already locked to avoid race.  */
@@ -113,6 +117,8 @@ thread2_func (void *unused)
   int i;
   volatile int rwatch_store;
 
+  pthread_barrier_wait (&threads_started_barrier);
+
   timed_mutex_lock (&thread2_tid_mutex);
 
   /* THREAD2_TID_MUTEX must be already locked to avoid race.  */
@@ -279,6 +285,8 @@ main (int argc, char **argv)
 
   timed_mutex_lock (&terminate_mutex);
 
+  pthread_barrier_init (&threads_started_barrier, NULL, 3);
+
   i = pthread_create (&thread1, NULL, thread1_func, NULL);
   assert (i == 0);
 
@@ -305,6 +313,11 @@ main (int argc, char **argv)
 
   atexit (cleanup);
 
+  /* Wait until all threads are seen running.  On Linux (at least),
+     new threads start stopped, and the debugger must resume them.
+     Need to wait for that before stopping GDB.  */
+  pthread_barrier_wait (&threads_started_barrier);
+
   printf ("Stopping GDB PID %lu.\n", (unsigned long) tracer);
 
   if (tracer)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads-reorder.exp ./gdb/testsuite/gdb.threads/watchthreads-reorder.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/watchthreads-reorder.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/watchthreads-reorder.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/wp-replication.c ./gdb/testsuite/gdb.threads/wp-replication.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/wp-replication.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/wp-replication.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/wp-replication.exp ./gdb/testsuite/gdb.threads/wp-replication.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.threads/wp-replication.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/wp-replication.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/actions.c ./gdb/testsuite/gdb.trace/actions.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/actions.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/actions.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1998-2014 Free Software Foundation, Inc.
+   Copyright 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/actions-changed.c ./gdb/testsuite/gdb.trace/actions-changed.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/actions-changed.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/actions-changed.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -42,6 +42,7 @@ subr (int parm)
   return busy;
 }
 
+int
 main()
 {
   subr (1);
@@ -63,4 +64,6 @@ main()
   subr (6);
   subr2 (6);
   end (6);
+
+  return 0;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/actions-changed.exp ./gdb/testsuite/gdb.trace/actions-changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/actions-changed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/actions-changed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/actions.exp ./gdb/testsuite/gdb.trace/actions.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/actions.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/actions.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/ax.exp ./gdb/testsuite/gdb.trace/ax.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/ax.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/ax.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2010-2014 Free Software Foundation, Inc.
+#   Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/backtrace.exp ./gdb/testsuite/gdb.trace/backtrace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/backtrace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/backtrace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc-1.c ./gdb/testsuite/gdb.trace/change-loc-1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc-1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/change-loc-1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc-2.c ./gdb/testsuite/gdb.trace/change-loc-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc-2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/change-loc-2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc.c ./gdb/testsuite/gdb.trace/change-loc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/change-loc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc.exp ./gdb/testsuite/gdb.trace/change-loc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/change-loc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc.h ./gdb/testsuite/gdb.trace/change-loc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/change-loc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/change-loc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/circ.c ./gdb/testsuite/gdb.trace/circ.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/circ.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/circ.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1998-2014 Free Software Foundation, Inc.
+   Copyright 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/circ.exp ./gdb/testsuite/gdb.trace/circ.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/circ.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/circ.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/collection.c ./gdb/testsuite/gdb.trace/collection.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/collection.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/collection.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 1998-2014 Free Software Foundation, Inc.
+   Copyright 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/collection.exp ./gdb/testsuite/gdb.trace/collection.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/collection.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/collection.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/deltrace.exp ./gdb/testsuite/gdb.trace/deltrace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/deltrace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/deltrace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/disconnected-tracing.c ./gdb/testsuite/gdb.trace/disconnected-tracing.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/disconnected-tracing.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/disconnected-tracing.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/disconnected-tracing.exp ./gdb/testsuite/gdb.trace/disconnected-tracing.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/disconnected-tracing.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/disconnected-tracing.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2012-2014 Free Software Foundation, Inc.
+#   Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/entry-values.c ./gdb/testsuite/gdb.trace/entry-values.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/entry-values.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/entry-values.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
 int
 foo (int i, int j)
 {
+  asm ("foo_label: .globl foo_label");
   return 0;
 }
 
@@ -26,6 +27,7 @@ bar (int i)
 {
   int j = 2;
 
+  asm ("bar_label: .globl bar_label");
   return foo (i, j);
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/entry-values.exp ./gdb/testsuite/gdb.trace/entry-values.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/entry-values.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/entry-values.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -26,80 +26,53 @@ if  {[gdb_compile ${srcdir}/${subdir}/${
     return -1
 }
 
-# Start GDB and load object file, compute the function length and
-# the offset of branch instruction in function.  They are needed
-# in the Dwarf Assembler below.
+# Start GDB and load object file, compute the offset of the
+# instruction in bar returned from foo.  It is needed in the Dwarf
+# Assembler.
 
 gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}1.o
 
-set foo_length ""
-
-# Calculate the offset of the last instruction from the beginning.
-set test "disassemble foo"
-gdb_test_multiple $test $test {
-    -re ".*$hex <\\+($decimal)>:\[^\r\n\]+\r\nEnd of assembler dump\.\r\n$gdb_prompt $" {
-	set foo_length $expect_out(1,string)
-	pass $test
-    }
-    -re ".*$gdb_prompt $" {
-	fail $test
-	# Bail out here, because we can't do the following tests if
-	# $foo_length is unknown.
-	return -1
-    }
-}
-
-# Calculate the size of the last instruction.  Single instruction
-# shouldn't be longer than 10 bytes.
-
-set test "disassemble foo+$foo_length,+10"
-gdb_test_multiple $test $test {
-    -re ".*($hex) <foo\\+$foo_length>:\[^\r\n\]+\r\n\[ \]+($hex).*\.\r\n$gdb_prompt $" {
-	set start $expect_out(1,string)
-	set end $expect_out(2,string)
-
-	set foo_length [expr $foo_length + $end - $start]
-	pass $test
-    }
-    -re ".*$gdb_prompt $" {
-	fail $test
-	# Bail out here, because we can't do the following tests if
-	# $foo_length is unknown.
-	return -1
-    }
-}
-
-set bar_length ""
-set bar_call_foo ""
+set returned_from_foo ""
 
 if { [istarget "arm*-*-*"] || [istarget "aarch64*-*-*"] } {
     set call_insn "bl"
 } elseif { [istarget "s390*-*-*"] } {
     set call_insn "brasl"
+} elseif { [istarget "powerpc*-*-*"] } {
+    set call_insn "bl"
+} elseif { [istarget "mips*-*-*"] } {
+    # Skip the delay slot after the instruction used to make a call
+    # (which can be a jump or a branch) if it has one.
+    #
+    #  JUMP (or BRANCH) foo
+    #  insn1
+    #  insn2
+    #
+    # Most MIPS instructions used to make calls have a delay slot.
+    # These include JAL, JALS, JALX, JALR, JALRS, BAL and BALS.
+    # In this case the program continues from `insn2' when `foo'
+    # returns.  The only exception is JALRC, in which case execution
+    # resumes from `insn1' instead.
+    set call_insn {jalrc|[jb]al[sxr]*[ \t][^\r\n]+\r\n}
 } else {
     set call_insn "call"
 }
 
-# Calculate the offset of the last instruction from the beginning.
+# Calculate the offset of the instruction in bar returned from foo.
 set test "disassemble bar"
 gdb_test_multiple $test $test {
-    -re ".*$hex <\\+$decimal>:\[ \t\]+$call_insn\[^\r\n\]+\r\n\[ \]+$hex <\\+($decimal)>:" {
-	set bar_call_foo $expect_out(1,string)
-	exp_continue
-    }
-    -re ".*$hex <\\+($decimal)>:\[^\r\n\]+\r\nEnd of assembler dump\.\r\n$gdb_prompt $" {
-	set bar_length $expect_out(1,string)
-	pass $test
+    -re ".*$hex <\\+$decimal>:\[ \t\]+$call_insn\[^\r\n\]+\r\n\[ \]+$hex <\\+($decimal)>:.*$gdb_prompt $" {
+	set returned_from_foo $expect_out(1,string)
     }
     -re ".*$gdb_prompt $" {
 	fail $test
     }
 }
 
-if { [string equal $bar_call_foo ""] || [string equal $bar_length ""] } {
+if { [string equal $returned_from_foo ""] } {
     fail "Find the call or branch instruction offset in bar"
     # The following test makes no sense if the offset is unknown.  We need
     # to update the pattern above to match call or branch instruction for
@@ -107,32 +80,18 @@ if { [string equal $bar_call_foo ""] || 
     return -1
 }
 
-# Calculate the size of the last instruction.
-
-set test "disassemble bar+$bar_length,+10"
-gdb_test_multiple $test $test {
-    -re ".*($hex) <bar\\+$bar_length>:\[^\r\n\]+\r\n\[ \]+($hex).*\.\r\n$gdb_prompt $" {
-	set start $expect_out(1,string)
-	set end $expect_out(2,string)
-
-	set bar_length [expr $bar_length + $end - $start]
-	pass $test
-    }
-    -re ".*$gdb_prompt $" {
-	fail $test
-	# Bail out here, because we can't do the following tests if
-	# $bar_length is unknown.
-	return -1
-    }
-}
-
 gdb_exit
 
 # Make some DWARF for the test.
 set asm_file [standard_output_file $srcfile2]
 Dwarf::assemble $asm_file {
     declare_labels int_label foo_label
-    global foo_length bar_length bar_call_foo
+    global returned_from_foo
+    global srcdir subdir srcfile
+
+    set bar_result [function_range bar ${srcdir}/${subdir}/${srcfile}]
+    set bar_start [lindex $bar_result 0]
+    set bar_length [lindex $bar_result 1]
 
     cu {} {
 	compile_unit {{language @DW_LANG_C}} {
@@ -143,10 +102,8 @@ Dwarf::assemble $asm_file {
 	    }
 
 	    foo_label: subprogram {
-		{name foo}
-		{decl_file 1}
-		{low_pc foo addr}
-		{high_pc "foo + $foo_length" addr}
+		{decl_file 1 sdata}
+		{MACRO_AT_func { foo ${srcdir}/${subdir}/${srcfile} }}
 	    } {
 		formal_parameter {
 		    {type :$int_label}
@@ -162,10 +119,10 @@ Dwarf::assemble $asm_file {
 
 	    subprogram {
 		{name bar}
-		{decl_file 1}
-		{low_pc bar addr}
-		{high_pc "bar + $bar_length" addr}
-		{GNU_all_call_sites 1}
+		{decl_file 1 sdata}
+		{low_pc $bar_start addr}
+		{high_pc "$bar_start + $bar_length" addr}
+		{GNU_all_call_sites 1 sdata}
 	    } {
 		formal_parameter {
 		    {type :$int_label}
@@ -173,7 +130,7 @@ Dwarf::assemble $asm_file {
 		}
 
 		GNU_call_site {
-		    {low_pc "bar + $bar_call_foo" addr}
+		    {low_pc "$bar_start + $returned_from_foo" addr}
 		    {abstract_origin :$foo_label}
 		} {
 		    # Faked entry values are reference to variables 'global1'
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/ftrace.c ./gdb/testsuite/gdb.trace/ftrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/ftrace.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/ftrace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/ftrace.exp ./gdb/testsuite/gdb.trace/ftrace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/ftrace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/ftrace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/infotrace.exp ./gdb/testsuite/gdb.trace/infotrace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/infotrace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/infotrace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-traceframe-changed.exp ./gdb/testsuite/gdb.trace/mi-traceframe-changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-traceframe-changed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/mi-traceframe-changed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp ./gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp ./gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-trace-unavailable.exp ./gdb/testsuite/gdb.trace/mi-trace-unavailable.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-trace-unavailable.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/mi-trace-unavailable.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-tsv-changed.exp ./gdb/testsuite/gdb.trace/mi-tsv-changed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/mi-tsv-changed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/mi-tsv-changed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/packetlen.exp ./gdb/testsuite/gdb.trace/packetlen.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/packetlen.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/packetlen.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/passc-dyn.exp ./gdb/testsuite/gdb.trace/passc-dyn.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/passc-dyn.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/passc-dyn.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/passcount.exp ./gdb/testsuite/gdb.trace/passcount.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/passcount.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/passcount.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pending.c ./gdb/testsuite/gdb.trace/pending.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pending.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/pending.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pending.exp ./gdb/testsuite/gdb.trace/pending.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pending.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/pending.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pendshr1.c ./gdb/testsuite/gdb.trace/pendshr1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pendshr1.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/pendshr1.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pendshr2.c ./gdb/testsuite/gdb.trace/pendshr2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pendshr2.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/pendshr2.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pr16508.exp ./gdb/testsuite/gdb.trace/pr16508.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/pr16508.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/pr16508.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/qtro.c ./gdb/testsuite/gdb.trace/qtro.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/qtro.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/qtro.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/qtro.exp ./gdb/testsuite/gdb.trace/qtro.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/qtro.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/qtro.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -98,18 +98,7 @@ if { $traceframe_info_supported == -1 } 
 }
 
 # Check whether we're testing with our own GDBserver.
-set is_gdbserver -1
-set test "probe for GDBserver"
-gdb_test_multiple "monitor help" $test {
-    -re "The following monitor commands are supported.*debug-hw-points.*remote-debug.*GDBserver.*$gdb_prompt $" {
-	set is_gdbserver 1
-	pass $test
-    }
-    -re "$gdb_prompt $" {
-	set is_gdbserver 0
-	pass $test
-    }
-}
+set is_gdbserver [target_is_gdbserver]
 if { $is_gdbserver == -1 } {
     return -1
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/range-stepping.c ./gdb/testsuite/gdb.trace/range-stepping.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/range-stepping.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/range-stepping.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/range-stepping.exp ./gdb/testsuite/gdb.trace/range-stepping.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/range-stepping.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/range-stepping.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/read-memory.c ./gdb/testsuite/gdb.trace/read-memory.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/read-memory.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/read-memory.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/read-memory.exp ./gdb/testsuite/gdb.trace/read-memory.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/read-memory.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/read-memory.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2013-2014 Free Software Foundation, Inc.
+#   Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/report.exp ./gdb/testsuite/gdb.trace/report.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/report.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/report.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/save-trace.exp ./gdb/testsuite/gdb.trace/save-trace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/save-trace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/save-trace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/stap-trace.c ./gdb/testsuite/gdb.trace/stap-trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/stap-trace.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/stap-trace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/stap-trace.exp ./gdb/testsuite/gdb.trace/stap-trace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/stap-trace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/stap-trace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/status-stop.c ./gdb/testsuite/gdb.trace/status-stop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/status-stop.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/status-stop.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/status-stop.exp ./gdb/testsuite/gdb.trace/status-stop.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/status-stop.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/status-stop.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/strace.c ./gdb/testsuite/gdb.trace/strace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/strace.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/strace.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/strace.exp ./gdb/testsuite/gdb.trace/strace.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/strace.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/strace.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tfile.c ./gdb/testsuite/gdb.trace/tfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tfile.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tfile.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,9 +20,11 @@
    GDB.  */
 
 #include <stdio.h>
+#include <unistd.h>
 #include <string.h>
 #include <fcntl.h>
 #include <sys/stat.h>
+#include <stdint.h>
 
 char spbuf[200];
 
@@ -46,9 +48,17 @@ int
 start_trace_file (char *filename)
 {
   int fd;
+  mode_t mode = S_IRUSR | S_IWUSR;
 
-  fd = open (filename, O_WRONLY|O_CREAT|O_APPEND,
-	     S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
+#ifdef S_IRGRP
+  mode |= S_IRGRP;
+#endif
+
+#ifdef S_IROTH
+  mode |= S_IROTH;
+#endif
+
+  fd = open (filename, O_WRONLY|O_CREAT|O_APPEND, mode);
 
   if (fd < 0)
     return fd;
@@ -67,30 +77,76 @@ finish_trace_file (int fd)
   close (fd);
 }
 
+static void
+tfile_write_64 (uint64_t value)
+{
+  memcpy (trptr, &value, sizeof (uint64_t));
+  trptr += sizeof (uint64_t);
+}
 
-void
-add_memory_block (char *addr, int size)
+static void
+tfile_write_16 (uint16_t value)
+{
+  memcpy (trptr, &value, sizeof (uint16_t));
+  trptr += sizeof (uint16_t);
+}
+
+static void
+tfile_write_8 (uint8_t value)
 {
-  short short_x;
-  unsigned long long ll_x;
+  memcpy (trptr, &value, sizeof (uint8_t));
+  trptr += sizeof (uint8_t);
+}
 
-  *((char *) trptr) = 'M';
-  trptr += 1;
-  ll_x = (unsigned long) addr;
-  memcpy (trptr, &ll_x, sizeof (unsigned long long));
-  trptr += sizeof (unsigned long long);
-  short_x = size;
-  memcpy (trptr, &short_x, 2);
-  trptr += 2;
+static void
+tfile_write_addr (char *addr)
+{
+  tfile_write_64 ((uint64_t) (uintptr_t) addr);
+}
+
+static void
+tfile_write_buf (const void *addr, size_t size)
+{
   memcpy (trptr, addr, size);
   trptr += size;
 }
 
 void
+add_memory_block (char *addr, int size)
+{
+  tfile_write_8 ('M');
+  tfile_write_addr (addr);
+  tfile_write_16 (size);
+  tfile_write_buf (addr, size);
+}
+
+/* Adjust a function's address to account for architectural
+   particularities.  */
+
+static uintptr_t
+adjust_function_address (uintptr_t func_addr)
+{
+#if defined(__thumb__) || defined(__thumb2__)
+  /* Although Thumb functions are two-byte aligned, function
+     pointers have the Thumb bit set.  Clear it.  */
+  return func_addr & ~1;
+#elif defined __powerpc64__ && _CALL_ELF != 2
+  /* Get function address from function descriptor.  */
+  return *(uintptr_t *) func_addr;
+#else
+  return func_addr;
+#endif
+}
+
+/* Get a function's address as an integer.  */
+
+#define FUNCTION_ADDRESS(FUN) adjust_function_address ((uintptr_t) &FUN)
+
+void
 write_basic_trace_file (void)
 {
   int fd, int_x;
-  short short_x;
+  unsigned long long func_addr;
 
   fd = start_trace_file (TFILE_DIR "tfile-basic.tf");
 
@@ -108,9 +164,9 @@ write_basic_trace_file (void)
 
   /* Dump tracepoint definitions, in syntax similar to that used
      for reconnection uploads.  */
-  /* FIXME need a portable way to print function address in hex */
-  snprintf (spbuf, sizeof spbuf, "tp T1:%lx:E:0:0\n",
-	    (long) &write_basic_trace_file);
+  func_addr = FUNCTION_ADDRESS (write_basic_trace_file);
+
+  snprintf (spbuf, sizeof spbuf, "tp T1:%llx:E:0:0\n", func_addr);
   write (fd, spbuf, strlen (spbuf));
   /* (Note that we would only need actions defined if we wanted to
      test tdump.) */
@@ -122,14 +178,13 @@ write_basic_trace_file (void)
   /* (Encapsulate better if we're going to do lots of this; note that
      buffer endianness is the target program's enddianness.) */
   trptr = trbuf;
-  short_x = 1;
-  memcpy (trptr, &short_x, 2);
-  trptr += 2;
+  tfile_write_16 (1);
+
   tfsizeptr = trptr;
   trptr += 4;
-  add_memory_block (&testglob, sizeof (testglob));
+  add_memory_block ((char *) &testglob, sizeof (testglob));
   /* Divide a variable between two separate memory blocks.  */
-  add_memory_block (&testglob2, 1);
+  add_memory_block ((char *) &testglob2, 1);
   add_memory_block (((char*) &testglob2) + 1, sizeof (testglob2) - 1);
   /* Go back and patch in the frame size.  */
   int_x = trptr - tfsizeptr - sizeof (int);
@@ -174,8 +229,8 @@ write_error_trace_file (void)
 {
   int fd;
   const char made_up[] = "made-up error";
+  char hex[(sizeof (made_up) - 1) * 2 + 1];
   int len = sizeof (made_up) - 1;
-  char *hex = alloca (len * 2 + 1);
 
   fd = start_trace_file (TFILE_DIR "tfile-error.tf");
 
@@ -199,9 +254,8 @@ write_error_trace_file (void)
 
   /* Dump tracepoint definitions, in syntax similar to that used
      for reconnection uploads.  */
-  /* FIXME need a portable way to print function address in hex */
-  snprintf (spbuf, sizeof spbuf, "tp T1:%lx:E:0:0\n",
-	    (long) &write_basic_trace_file);
+  snprintf (spbuf, sizeof spbuf, "tp T1:%llx:E:0:0\n",
+	    (unsigned long long) FUNCTION_ADDRESS (write_basic_trace_file));
   write (fd, spbuf, strlen (spbuf));
   /* (Note that we would only need actions defined if we wanted to
      test tdump.) */
@@ -226,7 +280,7 @@ done_making_trace_files (void)
 }
 
 int
-main (int argc, char **argv, char **envp)
+main (void)
 {
   write_basic_trace_file ();
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tfile.exp ./gdb/testsuite/gdb.trace/tfile.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tfile.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tfile.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2010-2014 Free Software Foundation, Inc.
+#   Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -37,7 +37,7 @@ if {![is_remote host] && ![is_remote tar
 standard_testfile
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable \
-	  [list debug nowarnings \
+	  [list debug \
 	       "additional_flags=-DTFILE_DIR=\"$tfile_dir\""]] \
 	 != "" } {
     untested ${testfile}.exp
@@ -52,6 +52,7 @@ remote_file target delete $tfile_error
 
 if { ![generate_tracefile $binfile] } {
     unsupported "Unable to generate trace file"
+    return -1
 }
 
 if {!$purely_local} {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tfind.exp ./gdb/testsuite/gdb.trace/tfind.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tfind.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tfind.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-break.c ./gdb/testsuite/gdb.trace/trace-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-break.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-break.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-break.exp ./gdb/testsuite/gdb.trace/trace-break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-break.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-break.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-buffer-size.c ./gdb/testsuite/gdb.trace/trace-buffer-size.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-buffer-size.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-buffer-size.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2011-2014 Free Software Foundation, Inc.
+   Copyright 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-buffer-size.exp ./gdb/testsuite/gdb.trace/trace-buffer-size.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-buffer-size.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-buffer-size.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tracecmd.exp ./gdb/testsuite/gdb.trace/tracecmd.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tracecmd.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tracecmd.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-mt.c ./gdb/testsuite/gdb.trace/trace-mt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-mt.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-mt.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2012-2014 Free Software Foundation, Inc.
+   Copyright 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-mt.exp ./gdb/testsuite/gdb.trace/trace-mt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-mt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-mt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-unavailable.c ./gdb/testsuite/gdb.trace/trace-unavailable.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/trace-unavailable.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/trace-unavailable.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tspeed.c ./gdb/testsuite/gdb.trace/tspeed.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tspeed.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tspeed.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tspeed.exp ./gdb/testsuite/gdb.trace/tspeed.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tspeed.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tspeed.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tstatus.exp ./gdb/testsuite/gdb.trace/tstatus.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tstatus.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tstatus.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2011-2014 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tsv.exp ./gdb/testsuite/gdb.trace/tsv.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/tsv.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/tsv.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 2009-2014 Free Software Foundation, Inc.
+#   Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/unavailable.cc ./gdb/testsuite/gdb.trace/unavailable.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/unavailable.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/unavailable.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c ./gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2013-2014 Free Software Foundation, Inc.
+   Copyright 2013-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp ./gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -44,8 +44,8 @@ Dwarf::assemble $asm_file {
 	    struct_s_label: DW_TAG_structure_type {
 		{name s}
 		{byte_size 3 DW_FORM_sdata}
-		{decl_file 1}
-		{decl_line 1}
+		{decl_file 1 DW_FORM_sdata}
+		{decl_line 1 DW_FORM_sdata}
 	    } {
 		DW_TAG_member {
 		    {name a}
@@ -73,8 +73,8 @@ Dwarf::assemble $asm_file {
 	    struct_t_label: DW_TAG_structure_type {
 		{name t}
 		{byte_size 3 DW_FORM_sdata}
-		{decl_file 1}
-		{decl_line 1}
+		{decl_file 1 DW_FORM_sdata}
+		{decl_line 1 DW_FORM_sdata}
 	    } {
 		DW_TAG_member {
 		    {name a}
@@ -174,7 +174,7 @@ Dwarf::assemble $asm_file {
 
 	    DW_TAG_subprogram {
 		{name foo}
-		{decl_file 1}
+		{decl_file 1 sdata}
 		{low_pc foo addr}
 		{high_pc foo_end_lbl addr}
 	    } {
@@ -219,7 +219,7 @@ Dwarf::assemble $asm_file {
 
 	    DW_TAG_subprogram {
 		{name bar}
-		{decl_file 1}
+		{decl_file 1 sdata}
 		{low_pc bar addr}
 		{high_pc bar_end_lbl addr}
 	    } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/unavailable.exp ./gdb/testsuite/gdb.trace/unavailable.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/unavailable.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/unavailable.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/while-dyn.exp ./gdb/testsuite/gdb.trace/while-dyn.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/while-dyn.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/while-dyn.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/while-stepping.exp ./gdb/testsuite/gdb.trace/while-stepping.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.trace/while-stepping.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.trace/while-stepping.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-#   Copyright 1998-2014 Free Software Foundation, Inc.
+#   Copyright 1998-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/maint_print_struct.exp ./gdb/testsuite/gdb.xml/maint_print_struct.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/maint_print_struct.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/maint_print_struct.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This testcase is part of GDB, the GNU debugger.
 #
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 #
 # Contributed by Intel Corp. <walfred.tedeschi@intel.com>
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/maint_print_struct.xml ./gdb/testsuite/gdb.xml/maint_print_struct.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/maint_print_struct.xml	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/maint_print_struct.xml	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
      Copying and distribution of this file, with or without modification,
      are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/tdesc-arch.exp ./gdb/testsuite/gdb.xml/tdesc-arch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/tdesc-arch.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/tdesc-arch.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/tdesc-errors.exp ./gdb/testsuite/gdb.xml/tdesc-errors.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/tdesc-errors.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/tdesc-errors.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/tdesc-regs.exp ./gdb/testsuite/gdb.xml/tdesc-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/tdesc-regs.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/tdesc-regs.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -75,8 +75,12 @@ switch -glob -- [istarget] {
 # support target-defined registers.  Verify that we get a warning if
 # we try to use them.  This not only tests the warning, but also
 # reminds maintainers to add test support when they add the feature.
+
+set single_reg_xml [gdb_remote_download host  \
+			"$srcdir/$subdir/single-reg.xml"]
+
 if {[string equal ${core-regs} ""]} {
-    gdb_test "set tdesc file $srcdir/$subdir/single-reg.xml" \
+    gdb_test "set tdesc file $single_reg_xml" \
 	"warning: Target-supplied registers are not supported.*" \
 	"set tdesc file single-reg.xml"
     unsupported "register tests"
@@ -87,7 +91,7 @@ if {[string equal ${core-regs} ""]} {
 
 # Make sure we reject a description missing standard registers,
 # like the PC.
-gdb_test "set tdesc file $srcdir/$subdir/single-reg.xml" \
+gdb_test "set tdesc file $single_reg_xml" \
     "warning: Architecture rejected target-supplied description" \
     "set tdesc file single-reg.xml"
 
@@ -167,7 +171,3 @@ gdb_test "ptype \$bitfields" \
 load_description "core-only.xml" ""
 # The extra register from the previous description should be gone.
 gdb_test "ptype \$extrareg" "type = void"
-
-foreach src ${core-regs} {
-    remote_file host delete $remote_filename($src)
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/tdesc-xinclude.exp ./gdb/testsuite/gdb.xml/tdesc-xinclude.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/gdb.xml/tdesc-xinclude.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/tdesc-xinclude.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/ada.exp ./gdb/testsuite/lib/ada.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/ada.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/ada.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/append_gdb_boards_dir.exp ./gdb/testsuite/lib/append_gdb_boards_dir.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/append_gdb_boards_dir.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/append_gdb_boards_dir.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cache.exp ./gdb/testsuite/lib/cache.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cache.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/cache.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cell.exp ./gdb/testsuite/lib/cell.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cell.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/cell.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cl_util.c ./gdb/testsuite/lib/cl_util.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cl_util.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/cl_util.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cl_util.h ./gdb/testsuite/lib/cl_util.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cl_util.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/cl_util.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/compiler.c ./gdb/testsuite/lib/compiler.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/compiler.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/compiler.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test file is part of GDB, the GNU debugger.
 
-   Copyright 1995-2014 Free Software Foundation, Inc.
+   Copyright 1995-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/compiler.cc ./gdb/testsuite/lib/compiler.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/compiler.cc	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/compiler.cc	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This test file is part of GDB, the GNU debugger.
 
-   Copyright 1995-2014 Free Software Foundation, Inc.
+   Copyright 1995-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cp-support.exp ./gdb/testsuite/lib/cp-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/cp-support.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/cp-support.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This test code is part of GDB, the GNU debugger.
 
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/d-support.exp ./gdb/testsuite/lib/d-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/d-support.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/d-support.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/dwarf.exp ./gdb/testsuite/lib/dwarf.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/dwarf.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/dwarf.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -86,6 +86,79 @@ proc build_executable_from_fission_assem
     return 0
 }
 
+# Return a list of expressions about function FUNC's address and length.
+# The first expression is the address of function FUNC, and the second
+# one is FUNC's length.  SRC is the source file having function FUNC.
+# An internal label ${func}_label must be defined inside FUNC:
+#
+#  int main (void)
+#  {
+#    asm ("main_label: .globl main_label");
+#    return 0;
+#  }
+#
+# This label is needed to compute the start address of function FUNC.
+# If the compiler is gcc, we can do the following to get function start
+# and end address too:
+#
+# asm ("func_start: .globl func_start");
+# static void func (void) {}
+# asm ("func_end: .globl func_end");
+#
+# however, this isn't portable, because other compilers, such as clang,
+# may not guarantee the order of global asms and function.  The code
+# becomes:
+#
+# asm ("func_start: .globl func_start");
+# asm ("func_end: .globl func_end");
+# static void func (void) {}
+#
+
+proc function_range { func src } {
+    global decimal gdb_prompt
+
+    set exe [standard_temp_file func_addr[pid].x]
+
+    gdb_compile $src $exe executable {debug}
+
+    gdb_exit
+    gdb_start
+    gdb_load "$exe"
+
+    # Compute the label offset, and we can get the function start address
+    # by "${func}_label - $func_label_offset".
+    set func_label_offset ""
+    set test "p ${func}_label - ${func}"
+    gdb_test_multiple $test $test {
+	-re ".* = ($decimal)\r\n$gdb_prompt $" {
+	    set func_label_offset $expect_out(1,string)
+	}
+    }
+
+    # Compute the function length.
+    global hex
+    set func_length ""
+    set test "disassemble $func"
+    gdb_test_multiple $test $test {
+	-re ".*$hex <\\+($decimal)>:\[^\r\n\]+\r\nEnd of assembler dump\.\r\n$gdb_prompt $" {
+	    set func_length $expect_out(1,string)
+	}
+    }
+
+    # Compute the size of the last instruction.
+    set test "x/2i $func+$func_length"
+    gdb_test_multiple $test $test {
+	-re ".*($hex) <$func\\+$func_length>:\[^\r\n\]+\r\n\[ \]+($hex).*\.\r\n$gdb_prompt $" {
+	    set start $expect_out(1,string)
+	    set end $expect_out(2,string)
+
+	    set func_length [expr $func_length + $end - $start]
+	}
+    }
+
+    return [list "${func}_label - $func_label_offset" $func_length]
+}
+
 # A DWARF assembler.
 #
 # All the variables in this namespace are private to the
@@ -121,6 +194,17 @@ proc build_executable_from_fission_assem
 # This can either be the full name, like 'DW_AT_name', or a shortened
 # name, like 'name'.  These are fully equivalent.
 #
+# Besides DWARF standard attributes, assembler supports 'macro' attribute
+# which will be substituted by one or more standard or macro attributes.
+# supported macro attributes are:
+#
+#  - MACRO_AT_range { FUNC FILE }
+#  It is substituted by DW_AT_low_pc and DW_AT_high_pc with the start and
+#  end address of function FUNC in file FILE.
+#
+#  - MACRO_AT_func { FUNC FILE }
+#  It is substituted by DW_AT_name with FUNC and MACRO_AT_range.
+#
 # If FORM is given, it should name a DW_FORM_ constant.
 # This can either be the short form, like 'DW_FORM_addr', or a
 # shortened version, like 'addr'.  If the form is given, VALUE
@@ -141,7 +225,9 @@ proc build_executable_from_fission_assem
 #   reference.  The rest of VALUE is taken to be the name of a label,
 #   and DW_FORM_ref4 is used.  See 'new_label' and 'define_label'.
 # * Otherwise, VALUE is taken to be a string and DW_FORM_string is
-#   used.
+#   used.  In order to prevent bugs where a numeric value is given but
+#   no form is specified, it is an error if the value looks like a number
+#   (using Tcl's "string is integer") and no form is provided.
 # More form-guessing functionality may be added.
 #
 # CHILDREN is just Tcl code that can be used to define child DIEs.  It
@@ -461,6 +547,45 @@ namespace eval Dwarf {
 	return $name
     }
 
+    proc _handle_attribute { attr_name attr_value attr_form } {
+	variable _abbrev_section
+	variable _constants
+
+	_handle_DW_FORM $attr_form $attr_value
+
+	_defer_output $_abbrev_section {
+	    _op .uleb128 $_constants($attr_name) $attr_name
+	    _op .uleb128 $_constants($attr_form) $attr_form
+	}
+    }
+
+    # Handle macro attribute MACRO_AT_range.
+
+    proc _handle_macro_at_range { attr_value } {
+	if {[llength $attr_value] != 2} {
+	    error "usage: MACRO_AT_range { func file }"
+	}
+
+	set func [lindex $attr_value 0]
+	set src [lindex $attr_value 1]
+	set result [function_range $func $src]
+
+	_handle_attribute DW_AT_low_pc [lindex $result 0] \
+	    DW_FORM_addr
+	_handle_attribute DW_AT_high_pc \
+	    "[lindex $result 0] + [lindex $result 1]" DW_FORM_addr
+    }
+
+    # Handle macro attribute MACRO_AT_func.
+
+    proc _handle_macro_at_func { attr_value } {
+	if {[llength $attr_value] != 2} {
+	    error "usage: MACRO_AT_func { func file }"
+	}
+	_handle_attribute DW_AT_name [lindex $attr_value 0] DW_FORM_string
+	_handle_macro_at_range $attr_value
+    }
+
     proc _handle_DW_TAG {tag_name {attrs {}} {children {}}} {
 	variable _abbrev_section
 	variable _abbrev_num
@@ -482,18 +607,24 @@ namespace eval Dwarf {
 	foreach attr $attrs {
 	    set attr_name [_map_name [lindex $attr 0] _AT]
 	    set attr_value [uplevel 2 [list subst [lindex $attr 1]]]
-	    if {[llength $attr] > 2} {
-		set attr_form [lindex $attr 2]
-	    } else {
-		set attr_form [_guess_form $attr_value attr_value]
-	    }
-	    set attr_form [_map_name $attr_form _FORM]
 
-	    _handle_DW_FORM $attr_form $attr_value
+	    if { [string equal "MACRO_AT_func" $attr_name] } {
+		_handle_macro_at_func $attr_value
+	    } elseif { [string equal "MACRO_AT_range" $attr_name] } {
+		_handle_macro_at_range $attr_value
+	    } else {
+		if {[llength $attr] > 2} {
+		    set attr_form [lindex $attr 2]
+		} else {
+		    # If the value looks like an integer, a form is required.
+		    if [string is integer $attr_value] {
+			error "Integer value requires a form"
+		    }
+		    set attr_form [_guess_form $attr_value attr_value]
+		}
+		set attr_form [_map_name $attr_form _FORM]
 
-	    _defer_output $_abbrev_section {
-		_op .uleb128 $_constants($attr_name) $attr_name
-		_op .uleb128 $_constants($attr_form) $attr_form
+		_handle_attribute $attr_name $attr_value $attr_form
 	    }
 	}
 
@@ -678,7 +809,8 @@ namespace eval Dwarf {
 	variable _cu_offset_size
 
 	foreach line [split $body \n] {
-	    if {[lindex $line 0] == ""} {
+	    # Ignore blank lines, and allow embedded comments.
+	    if {[lindex $line 0] == "" || [regexp -- {^[ \t]*#} $line]} {
 		continue
 	    }
 	    set opcode [_map_name [lindex $line 0] _OP]
@@ -689,6 +821,7 @@ namespace eval Dwarf {
 		    _op .${_cu_addr_size}byte [lindex $line 1]
 		}
 
+		DW_OP_pick -
 		DW_OP_const1u -
 		DW_OP_const1s {
 		    _op .byte [lindex $line 1]
@@ -729,6 +862,11 @@ namespace eval Dwarf {
 		    _op .uleb128 [lindex $line 2]
 		}
 
+		DW_OP_skip -
+		DW_OP_bra {
+		    _op .2byte [lindex $line 1]
+		}
+
 		DW_OP_GNU_implicit_pointer {
 		    if {[llength $line] != 3} {
 			error "usage: DW_OP_GNU_implicit_pointer LABEL OFFSET"
@@ -829,7 +967,7 @@ namespace eval Dwarf {
 	}
 	define_label $start_label
 	_op .2byte $_cu_version Version
-	_op .4byte $my_abbrevs Abbrevs
+	_op .${_cu_offset_size}byte $my_abbrevs Abbrevs
 	_op .byte $_cu_addr_size "Pointer size"
 
 	_defer_output $_abbrev_section {
@@ -922,7 +1060,7 @@ namespace eval Dwarf {
 	}
 	define_label $start_label
 	_op .2byte $_cu_version Version
-	_op .4byte $my_abbrevs Abbrevs
+	_op .${_cu_offset_size}byte $my_abbrevs Abbrevs
 	_op .byte $_cu_addr_size "Pointer size"
 	_op .8byte $signature Signature
 	if { $type_label != "" } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/fortran.exp ./gdb/testsuite/lib/fortran.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/fortran.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/fortran.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This test code is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/future.exp ./gdb/testsuite/lib/future.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/future.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/future.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2004-2014 Free Software Foundation, Inc.
+# Copyright 2004-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdb.exp ./gdb/testsuite/lib/gdb.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdb.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/gdb.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -64,10 +64,12 @@ if ![info exists INTERNAL_GDBFLAGS] {
 }
 
 # The variable gdb_prompt is a regexp which matches the gdb prompt.
-# Set it if it is not already set.
+# Set it if it is not already set.  This is also set by default_gdb_init
+# but it's not clear what removing one of them will break.
+# See with_gdb_prompt for more details on prompt handling.
 global gdb_prompt
 if ![info exists gdb_prompt] then {
-    set gdb_prompt "\[(\]gdb\[)\]"
+    set gdb_prompt "\\(gdb\\)"
 }
 
 # A regexp that matches the pagination prompt.
@@ -213,8 +215,8 @@ proc delete_breakpoints {} {
 proc gdb_run_cmd {args} {
     global gdb_prompt use_gdb_stub
 
-    if [target_info exists gdb_init_command] {
-	send_gdb "[target_info gdb_init_command]\n"
+    foreach command [gdb_init_commands] {
+	send_gdb "$command\n"
 	gdb_expect 30 {
 	    -re "$gdb_prompt $" { }
 	    default {
@@ -315,8 +317,8 @@ proc gdb_run_cmd {args} {
 proc gdb_start_cmd {args} {
     global gdb_prompt use_gdb_stub
 
-    if [target_info exists gdb_init_command] {
-	send_gdb "[target_info gdb_init_command]\n"
+    foreach command [gdb_init_commands] {
+	send_gdb "$command\n"
 	gdb_expect 30 {
 	    -re "$gdb_prompt $" { }
 	    default {
@@ -792,21 +794,6 @@ proc gdb_test_multiple { command message
 	}
     }
 
-    if [target_info exists gdb,timeout] {
-	set tmt [target_info gdb,timeout]
-    } else {
-	if [info exists timeout] {
-	    set tmt $timeout
-	} else {
-	    global timeout
-	    if [info exists timeout] {
-		set tmt $timeout
-	    } else {
-		set tmt 60
-	    }
-	}
-    }
-
     set code {
 	-re ".*A problem internal to GDB has been detected" {
 	    fail "$message (GDB internal error)"
@@ -912,7 +899,7 @@ proc gdb_test_multiple { command message
     }
 
     set result 0
-    set code [catch {gdb_expect $tmt $code} string]
+    set code [catch {gdb_expect $code} string]
     if {$code == 1} {
 	global errorInfo errorCode
 	return -code error -errorinfo $errorInfo -errorcode $errorCode $string
@@ -1464,7 +1451,7 @@ proc default_gdb_spawn { } {
 # Default gdb_start procedure.
 
 proc default_gdb_start { } {
-    global gdb_prompt
+    global gdb_prompt pagination_prompt
     global gdb_spawn_id
 
     if [info exists gdb_spawn_id] {
@@ -1479,20 +1466,29 @@ proc default_gdb_start { } {
     # When running over NFS, particularly if running many simultaneous
     # tests on different hosts all using the same server, things can
     # get really slow.  Give gdb at least 3 minutes to start up.
-    gdb_expect 360 {
-	-re "\[\r\n\]$gdb_prompt $" {
-	    verbose "GDB initialized."
-	}
-	-re "$gdb_prompt $"	{
-	    perror "GDB never initialized."
-	    unset gdb_spawn_id
-	    return -1
-	}
-	timeout	{
-	    perror "(timeout) GDB never initialized after 10 seconds."
-	    remote_close host
-	    unset gdb_spawn_id
-	    return -1
+    set loop_again 1
+    while { $loop_again } {
+	set loop_again 0
+	gdb_expect 360 {
+	    -re "$pagination_prompt" {
+		verbose "Hit pagination during startup. Pressing enter to continue."
+		send_gdb "\n"
+		set loop_again 1
+	    }
+	    -re "\[\r\n\]$gdb_prompt $" {
+		verbose "GDB initialized."
+	    }
+	    -re "$gdb_prompt $"	{
+		perror "GDB never initialized."
+		unset gdb_spawn_id
+		return -1
+	    }
+	    timeout	{
+		perror "(timeout) GDB never initialized after 10 seconds."
+		remote_close host
+		unset gdb_spawn_id
+		return -1
+	    }
 	}
     }
 
@@ -1753,17 +1749,42 @@ proc with_test_prefix { prefix body } {
 # PROMPT.  When BODY is finished, restore GDB prompt and variable
 # $gdb_prompt.
 # Returns the result of BODY.
+#
+# Notes:
+#
+# 1) If you want to use, for example, "(foo)" as the prompt you must pass it
+# as "(foo)", and not the regexp form "\(foo\)" (expressed as "\\(foo\\)" in
+# TCL).  PROMPT is internally converted to a suitable regexp for matching.
+# We do the conversion from "(foo)" to "\(foo\)" here for a few reasons:
+#   a) It's more intuitive for callers to pass the plain text form.
+#   b) We need two forms of the prompt:
+#      - a regexp to use in output matching,
+#      - a value to pass to the "set prompt" command.
+#   c) It's easier to convert the plain text form to its regexp form.
+#
+# 2) Don't add a trailing space, we do that here.
 
 proc with_gdb_prompt { prompt body } {
     global gdb_prompt
 
+    # Convert "(foo)" to "\(foo\)".
+    # We don't use string_to_regexp because while it works today it's not
+    # clear it will work tomorrow: the value we need must work as both a
+    # regexp *and* as the argument to the "set prompt" command, at least until
+    # we start recording both forms separately instead of just $gdb_prompt.
+    # The testsuite is pretty-much hardwired to interpret $gdb_prompt as the
+    # regexp form.
+    regsub -all {[]*+.|()^$\[\\]} $prompt {\\&} prompt
+
     set saved $gdb_prompt
 
+    verbose -log "Setting gdb prompt to \"$prompt \"."
     set gdb_prompt $prompt
     gdb_test_no_output "set prompt $prompt " ""
 
     set code [catch {uplevel 1 $body} result]
 
+    verbose -log "Restoring gdb prompt to \"$saved \"."
     set gdb_prompt $saved
     gdb_test_no_output "set prompt $saved " ""
 
@@ -1946,6 +1967,24 @@ gdb_caching_proc is_elf_target {
     return 1
 }
 
+# Return 1 if the memory at address zero is readable.
+
+gdb_caching_proc is_address_zero_readable {
+    global gdb_prompt
+
+    set ret 0
+    gdb_test_multiple "x 0" "" {
+	-re "Cannot access memory at address 0x0.*$gdb_prompt $" {
+	    set ret 0
+	}
+	-re ".*$gdb_prompt $" {
+	    set ret 1
+	}
+    }
+
+    return $ret
+}
+
 # Produce source file NAME and write SOURCES into it.
 
 proc gdb_produce_source { name sources } {
@@ -2488,6 +2527,26 @@ proc skip_libstdcxx_probe_tests {} {
     return $ok
 }
 
+# Return 1 if we should skip tests of the "compile" feature.
+# This must be invoked after the inferior has been started.
+
+proc skip_compile_feature_tests {} {
+    global gdb_prompt
+
+    set result 0
+    gdb_test_multiple "compile code -- ;" "check for working compile command" {
+	"Could not load libcc1.*\r\n$gdb_prompt $" {
+	    set result 1
+	}
+	-re "Command not supported on this host\\..*\r\n$gdb_prompt $" {
+	    set result 1
+	}
+	-re "\r\n$gdb_prompt $" {
+	}
+    }
+    return $result
+}
+
 # Check whether we're testing with the remote or extended-remote
 # targets.
 
@@ -2507,6 +2566,31 @@ proc gdb_is_target_remote {} {
     return 0
 }
 
+# Return 1 if the current remote target is an instance of our GDBserver, 0
+# otherwise.  Return -1 if there was an error and we can't tell.
+
+gdb_caching_proc target_is_gdbserver {
+    global gdb_prompt
+
+    set is_gdbserver -1
+    set test "Probing for GDBserver"
+
+    gdb_test_multiple "monitor help" $test {
+	-re "The following monitor commands are supported.*Quit GDBserver.*$gdb_prompt $" {
+	    set is_gdbserver 1
+	}
+	-re "$gdb_prompt $" {
+	    set is_gdbserver 0
+	}
+    }
+
+    if { $is_gdbserver == -1 } {
+	verbose -log "Unable to tell whether we are using GDBserver or not."
+    }
+
+    return $is_gdbserver
+}
+
 set compiler_info		"unknown"
 set gcc_compiled		0
 set hp_cc_compiler		0
@@ -2533,8 +2617,8 @@ set hp_aCC_compiler		0
 #   if the build machine is the same as the host machine, which is
 #   usually true of the targets which are not gcc.  But this code does
 #   not figure which compiler to call, and it always ends up using the C
-#   compiler.  Not good for setting hp_aCC_compiler.  Targets
-#   hppa*-*-hpux* and mips*-*-irix* used to do this.
+#   compiler.  Not good for setting hp_aCC_compiler.  Target
+#   hppa*-*-hpux* used to do this.
 #
 # [ gdb_compile -E $ifile > $binfile.ci ]
 # source $binfile.ci
@@ -2779,10 +2863,6 @@ proc gdb_compile {source dest type optio
     }
     set options $new_options
 
-    if [target_info exists is_vxworks] {
-	set options2 { "additional_flags=-Dvxworks" }
-	set options [concat $options2 $options]
-    }
     if [info exists GDB_TESTCASE_OPTIONS] {
 	lappend options "additional_flags=$GDB_TESTCASE_OPTIONS"
     }
@@ -2929,6 +3009,12 @@ proc gdb_compile_shlib {sources dest opt
         "xlc-*" {
             lappend obj_options "additional_flags=-qpic"
         }
+	"clang-*" {
+	    if { !([istarget "*-*-cygwin*"]
+		   || [istarget "*-*-mingw*"]) } {
+		lappend obj_options "additional_flags=-fpic"
+	    }
+	}
         "gcc-*" {
             if { !([istarget "powerpc*-*-aix*"]
                    || [istarget "rs6000*-*-aix*"]
@@ -2943,10 +3029,6 @@ proc gdb_compile_shlib {sources dest opt
                 "hppa*-hp-hpux*" {
                     lappend obj_options "additional_flags=+z"
                 }
-                "mips-sgi-irix*" {
-                    # Disable SGI compiler's implicit -Dsgi
-                    lappend obj_options "additional_flags=-Usgi"
-                } 
                 default {
                     # don't know what the compiler is...
                 }
@@ -3103,35 +3185,27 @@ proc gdb_expect { args } {
 	set expcode $args
     }
 
+    # A timeout argument takes precedence, otherwise of all the timeouts
+    # select the largest.
+    upvar #0 timeout gtimeout
     upvar timeout timeout
-
-    if [target_info exists gdb,timeout] {
+    if [info exists atimeout] {
+	set tmt $atimeout
+    } else {
+	set tmt 0
 	if [info exists timeout] {
-	    if { $timeout < [target_info gdb,timeout] } {
-		set gtimeout [target_info gdb,timeout]
-	    } else {
-		set gtimeout $timeout
-	    }
-	} else {
-	    set gtimeout [target_info gdb,timeout]
+	    set tmt $timeout
 	}
-    }
-
-    if ![info exists gtimeout] {
-	global timeout
-	if [info exists timeout] {
-	    set gtimeout $timeout
+	if { [info exists gtimeout] && $gtimeout > $tmt } {
+	    set tmt $gtimeout
 	}
-    }
-
-    if [info exists atimeout] {
-	if { ![info exists gtimeout] || $gtimeout < $atimeout } {
-	    set gtimeout $atimeout
+	if { [target_info exists gdb,timeout]
+	     && [target_info gdb,timeout] > $tmt } {
+	    set tmt [target_info gdb,timeout]
 	}
-    } else {
-	if ![info exists gtimeout] {
+	if { $tmt == 0 } {
 	    # Eeeeew.
-	    set gtimeout 60
+	    set tmt 60
 	}
     }
 
@@ -3146,7 +3220,7 @@ proc gdb_expect { args } {
 	}
     }
     set code [catch \
-	{uplevel remote_expect host $gtimeout $expcode} string]
+	{uplevel remote_expect host $tmt $expcode} string]
     if [info exists old_val] {
 	set remote_suppress_flag $old_val
     } else {
@@ -3339,12 +3413,39 @@ proc gdb_exit { } {
     catch default_gdb_exit
 }
 
+# Return true if we can spawn a program on the target and attach to
+# it.
+
+proc can_spawn_for_attach { } {
+    # We use TCL's exec to get the inferior's pid.
+    if [is_remote target] then {
+	return 0
+    }
+
+    # The "attach" command doesn't make sense when the target is
+    # stub-like, where GDB finds the program already started on
+    # initial connection.
+    if {[target_info exists use_gdb_stub]} {
+	return 0
+    }
+
+    # Assume yes.
+    return 1
+}
+
 # Start a set of programs running and then wait for a bit, to be sure
 # that they can be attached to.  Return a list of the processes' PIDs.
+# It's a test error to call this when [can_spawn_for_attach] is false.
 
 proc spawn_wait_for_attach { executable_list } {
     set pid_list {}
 
+    if ![can_spawn_for_attach] {
+	# The caller should have checked can_spawn_for_attach itself
+	# before getting here.
+	error "can't spawn for attach with this target/board"
+    }
+
     foreach {executable} $executable_list {
 	lappend pid_list [eval exec $executable &]
     }
@@ -3424,12 +3525,6 @@ proc gdb_gcore_cmd {core test} {
 	    pass $test
 	    set result 1
 	}
-
-	-re "Undefined command.*$gdb_prompt $" {
-	    unsupported $test
-	    verbose -log "'gcore' command undefined in gdb_gcore_cmd"
-	}
-
 	-re "(?:Can't create a corefile|Target does not support core file generation\\.)\[\r\n\]+$gdb_prompt $" {
 	    unsupported $test
 	}
@@ -4188,9 +4283,11 @@ gdb_caching_proc gdb_skip_xml_test {
     global gdb_prompt
     global srcdir
 
+    set xml_file [gdb_remote_download host "${srcdir}/gdb.xml/trivial.xml"]
+
     gdb_start
     set xml_missing 0
-    gdb_test_multiple "set tdesc filename ${srcdir}/gdb.xml/trivial.xml" "" {
+    gdb_test_multiple "set tdesc filename $xml_file" "" {
 	-re ".*XML support was disabled at compile time.*$gdb_prompt $" {
 	    set xml_missing 1
 	}
@@ -4200,6 +4297,104 @@ gdb_caching_proc gdb_skip_xml_test {
     return $xml_missing
 }
 
+# Return true if argv[0] is available.
+
+gdb_caching_proc gdb_has_argv0 {
+    set result 0
+
+    # Set up, compile, and execute a test program to check whether
+    # argv[0] is available.
+    set src [standard_temp_file has_argv0[pid].c]
+    set exe [standard_temp_file has_argv0[pid].x]
+
+    gdb_produce_source $src {
+	int main (int argc, char **argv) {
+	    return 0;
+	}
+    }
+
+    gdb_compile $src $exe executable {debug}
+
+    # Helper proc.
+    proc gdb_has_argv0_1 { exe } {
+	global srcdir subdir
+	global gdb_prompt hex
+
+	gdb_exit
+	gdb_start
+	gdb_reinitialize_dir $srcdir/$subdir
+	gdb_load "$exe"
+
+	# Set breakpoint on main.
+	gdb_test_multiple "break main" "break main" {
+	    -re "Breakpoint.*${gdb_prompt} $" {
+	    }
+	    -re "${gdb_prompt} $" {
+		return 0
+	    }
+	}
+
+	# Run to main.
+	gdb_run_cmd
+	gdb_test_multiple "" "run to main" {
+	    -re "Breakpoint.*${gdb_prompt} $" {
+	    }
+	    -re "${gdb_prompt} $" {
+		return 0
+	    }
+	}
+
+	# Check whether argc is 1.
+	gdb_test_multiple "p argc" "p argc" {
+	    -re " = 1\r\n${gdb_prompt} $" {
+
+		gdb_test_multiple "p argv\[0\]" "p argv\[0\]" {
+		    -re " = $hex \".*[file tail $exe]\"\r\n${gdb_prompt} $" {
+			return 1
+		    }
+		    -re "${gdb_prompt} $" {
+			return 0
+		    }
+		}
+	    }
+	    -re "${gdb_prompt} $" {
+		return 0
+	    }
+	}
+	return 0
+    }
+
+    set result [gdb_has_argv0_1 $exe]
+
+    gdb_exit
+    file delete $src
+    file delete $exe
+
+    if { !$result
+      && ([istarget *-*-linux*]
+	  || [istarget *-*-freebsd*] || [istarget *-*-kfreebsd*]
+	  || [istarget *-*-netbsd*] || [istarget *-*-knetbsd*]
+	  || [istarget *-*-openbsd*]
+	  || [istarget *-*-darwin*]
+	  || [istarget *-*-solaris*]
+	  || [istarget *-*-aix*]
+	  || [istarget *-*-gnu*]
+	  || [istarget *-*-cygwin*] || [istarget *-*-mingw32*]
+	  || [istarget *-*-*djgpp*] || [istarget *-*-go32*]
+	  || [istarget *-wince-pe] || [istarget *-*-mingw32ce*]
+	  || [istarget *-*-symbianelf*]
+	  || [istarget *-*-osf*]
+	  || [istarget *-*-hpux*]
+	  || [istarget *-*-dicos*]
+	  || [istarget *-*-nto*]
+	  || [istarget *-*-*vms*]
+	  || [istarget *-*-lynx*178]) } {
+	fail "argv\[0\] should be available on this target"
+    }
+
+    return $result
+}
+
 # Note: the procedure gdb_gnu_strip_debug will produce an executable called
 # ${binfile}.dbglnk, which is just like the executable ($binfile) but without
 # the debuginfo. Instead $binfile has a .gnu_debuglink section which contains
@@ -4216,14 +4411,14 @@ gdb_caching_proc gdb_skip_xml_test {
 # foo.debug --> foo's debug info
 # foo --> like foo, but with a new .gnu_debuglink section pointing to foo.debug.
 
-# Return the build-id hex string (usually 160 bits as 40 hex characters)
-# converted to the form: .build-id/ab/cdef1234...89.debug
-# Return "" if no build-id found.
-proc build_id_debug_filename_get { exec } {
-    set tmp [standard_output_file "${exec}-tmp"]
+# Fetch the build id from the file.
+# Returns "" if there is none.
+
+proc get_build_id { filename } {
+    set tmp [standard_output_file "${filename}-tmp"]
     set objcopy_program [gdb_find_objcopy]
 
-    set result [catch "exec $objcopy_program -j .note.gnu.build-id -O binary $exec $tmp" output]
+    set result [catch "exec $objcopy_program -j .note.gnu.build-id -O binary $filename $tmp" output]
     verbose "result is $result"
     verbose "output is $output"
     if {$result == 1} {
@@ -4241,6 +4436,17 @@ proc build_id_debug_filename_get { exec 
     }
     # Convert it to hex.
     binary scan $data H* data
+    return $data
+}
+
+# Return the build-id hex string (usually 160 bits as 40 hex characters)
+# converted to the form: .build-id/ab/cdef1234...89.debug
+# Return "" if no build-id found.
+proc build_id_debug_filename_get { filename } {
+    set data [get_build_id $filename]
+    if { $data == "" } {
+	return ""
+    }
     regsub {^..} $data {\0/} data
     return ".build-id/${data}.debug"
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdb-guile.exp ./gdb/testsuite/lib/gdb-guile.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdb-guile.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/gdb-guile.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdb-python.exp ./gdb/testsuite/lib/gdb-python.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdb-python.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/gdb-python.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -45,3 +45,24 @@ proc gdb_py_test_multiple { name args } 
     }
     return 0
 }
+
+# Return the result of python expression EXPR.
+# DEFAULT is returned if there's an error.
+# This is modelled after get_integer_valueof.
+
+proc get_python_valueof { exp default } {
+    global gdb_prompt
+
+    set test "get python valueof \"${exp}\""
+    set val ${default}
+    gdb_test_multiple "python print (\"valueof: %s\" % (${exp}))" "$test" {
+	-re "valueof: (\[^\r\n\]*)\[\r\n\]*$gdb_prompt $" {
+	    set val $expect_out(1,string)
+	    pass "$test ($val)"
+	}
+	timeout {
+	    fail "$test (timeout)"
+	}
+    }
+    return ${val}
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdbserver-support.exp ./gdb/testsuite/lib/gdbserver-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdbserver-support.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/gdbserver-support.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2000-2014 Free Software Foundation, Inc.
+# Copyright 2000-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -275,6 +275,7 @@ proc gdbserver_start { options arguments
 	# Wait for the server to open its TCP socket, so that GDB can connect.
 	expect {
 	    -i $server_spawn_id
+	    -timeout 120
 	    -notransfer
 	    -re "Listening on" { }
 	    -re "Can't bind address: Address already in use\\.\r\n" {
@@ -286,6 +287,9 @@ proc gdbserver_start { options arguments
 		    continue
 		}
 	    }
+	    timeout {
+		error "Timeout waiting for gdbserver response."
+	    }
 	}
 	break
     }
@@ -325,7 +329,8 @@ proc gdbserver_spawn { child_args } {
 }
 
 # Start a gdbserver process running HOST_EXEC and pass CHILD_ARGS
-# to it.  Return 0 on success, or non-zero on failure.
+# to it.  Return 0 on success, or non-zero on failure: 2 if gdbserver
+# failed to start or 1 if we couldn't connect to it.
 
 proc gdbserver_run { child_args } {
     global gdbserver_protocol
@@ -346,7 +351,10 @@ proc gdbserver_run { child_args } {
 	}
     }
 
-    set res [gdbserver_spawn $child_args]
+    if { [catch { gdbserver_spawn $child_args } res] == 1 } {
+	perror $res
+	return 2
+    }
     set gdbserver_protocol [lindex $res 0]
     set gdbserver_gdbport [lindex $res 1]
 
@@ -376,7 +384,10 @@ proc gdbserver_start_extended { } {
     global gdbserver_gdbport
     global use_gdb_stub
 
-    set res [gdbserver_start "--multi" ""]
+    if { [catch { gdbserver_start "--multi" "" } res] == 1 } {
+	perror $res
+	return 2
+    }
     set gdbserver_protocol [lindex $res 0]
     if { [string first "extended-" $gdbserver_protocol] != 0} {
 	set gdbserver_protocol "extended-$gdbserver_protocol"
@@ -398,7 +409,10 @@ proc gdbserver_start_multi { } {
     global gdbserver_protocol
     global gdbserver_gdbport
 
-    set res [gdbserver_start "--multi" ""]
+    if { [catch { gdbserver_start "--multi" "" } res] == 1 } {
+	perror $res
+	return 2
+    }
     set gdbserver_protocol [lindex $res 0]
     set gdbserver_gdbport [lindex $res 1]
 
@@ -413,7 +427,10 @@ proc mi_gdbserver_start_multi { } {
     global gdbserver_protocol
     global gdbserver_gdbport
 
-    set res [gdbserver_start "--multi" ""]
+    if { [catch { gdbserver_start "--multi" "" } res] == 1 } {
+	perror $res
+	return 2
+    }
     set gdbserver_protocol [lindex $res 0]
     set gdbserver_gdbport [lindex $res 1]
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdb-utils.exp ./gdb/testsuite/lib/gdb-utils.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/gdb-utils.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/gdb-utils.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,6 +15,20 @@
 
 # Utility procedures, shared between test suite domains.
 
+# A helper procedure to retrieve commands to send to GDB before a program
+# is started.
+
+proc gdb_init_commands {} {
+    set commands ""
+    if [target_info exists gdb_init_command] {
+	lappend commands [target_info gdb_init_command]
+    }
+    if [target_info exists gdb_init_commands] {
+	set commands [concat $commands [target_info gdb_init_commands]]
+    }
+    return $commands
+}
+
 # Given an input string, adds backslashes as needed to create a
 # regexp that will match the string.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/go.exp ./gdb/testsuite/lib/go.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/go.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/go.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/java.exp ./gdb/testsuite/lib/java.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/java.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/java.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This test code is part of GDB, the GNU debugger.
 
-# Copyright 1998-2014 Free Software Foundation, Inc.
+# Copyright 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/mi-support.exp ./gdb/testsuite/lib/mi-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/mi-support.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/mi-support.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Free Software Foundation, Inc.
+# Copyright 1999-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -17,6 +17,8 @@
 
 # Test setup routines that work with the MI interpreter.
 
+load_lib gdb-utils.exp
+
 # The variable mi_gdb_prompt is a regexp which matches the gdb mi prompt.
 # Set it if it is not already set.
 global mi_gdb_prompt
@@ -475,7 +477,10 @@ proc mi_gdb_target_load { } {
 
     if { [info procs gdbserver_gdb_load] != "" } {
 	mi_gdb_test "kill" ".*" ""
-	set res [gdbserver_gdb_load]
+	if { [catch gdbserver_gdb_load res] == 1 } {
+	    perror $res
+	    return -1
+	}
 	set protocol [lindex $res 0]
 	set gdbport [lindex $res 1]
 
@@ -859,8 +864,8 @@ proc mi_run_cmd_full {use_mi_command arg
 	set run_match ""
     }
 
-    if [target_info exists gdb_init_command] {
-	send_gdb "[target_info gdb_init_command]\n"
+    foreach command [gdb_init_commands] {
+	send_gdb "$command\n"
 	gdb_expect 30 {
 	    -re "$mi_gdb_prompt$" { }
 	    default {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/objc.exp ./gdb/testsuite/lib/objc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/objc.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/objc.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 # This test code is part of GDB, the GNU debugger.
 
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/opencl.exp ./gdb/testsuite/lib/opencl.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/opencl.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/opencl.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2010-2014 Free Software Foundation, Inc.
+# Copyright 2010-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/opencl_hostapp.c ./gdb/testsuite/lib/opencl_hostapp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/opencl_hostapp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/opencl_hostapp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010-2014 Free Software Foundation, Inc.
+   Copyright 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/pascal.exp ./gdb/testsuite/lib/pascal.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/pascal.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/pascal.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2007-2014 Free Software Foundation, Inc.
+# Copyright 2007-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/perftest.exp ./gdb/testsuite/lib/perftest.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/perftest.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/perftest.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/prelink-support.exp ./gdb/testsuite/lib/prelink-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/prelink-support.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/prelink-support.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -118,6 +118,10 @@ proc file_copy {src dest} {
 proc build_executable_own_libs {testname executable sources options {interp ""} {dir ""}} {
     global subdir
 
+    if { ![isnative] } {
+	error "This proc can be only used for native target."
+    }
+
     if {[build_executable $testname $executable $sources $options] == -1} {
 	return ""
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/prompt.exp ./gdb/testsuite/lib/prompt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/prompt.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/prompt.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/range-stepping-support.exp ./gdb/testsuite/lib/range-stepping-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/range-stepping-support.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/range-stepping-support.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/read1.c ./gdb/testsuite/lib/read1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/read1.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/lib/read1.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,40 @@
+/* This is part of GDB, the GNU debugger.
+
+   Copyright 2011-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#define _GNU_SOURCE 1
+#include <dlfcn.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdlib.h>
+
+/* Wrap 'read', forcing it to return only one byte at a time, if
+   reading from the terminal.  */
+
+ssize_t
+read (int fd, void *buf, size_t count)
+{
+  static ssize_t (*read2) (int fd, void *buf, size_t count) = NULL;
+  if (read2 == NULL)
+    {
+      unsetenv ("LD_PRELOAD");
+      read2 = dlsym (RTLD_NEXT, "read");
+    }
+  if (count > 1 && isatty (fd) >= 1)
+    count = 1;
+  return read2 (fd, buf, count);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/selftest-support.exp ./gdb/testsuite/lib/selftest-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/selftest-support.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/selftest-support.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/set_unbuffered_mode.c ./gdb/testsuite/lib/set_unbuffered_mode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/set_unbuffered_mode.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/set_unbuffered_mode.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/trace-support.exp ./gdb/testsuite/lib/trace-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/lib/trace-support.exp	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/lib/trace-support.exp	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/Makefile.in ./gdb/testsuite/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/Makefile.in	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/Makefile.in	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile for regression testing the GNU debugger.
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
@@ -39,9 +39,17 @@ ALL_SUBDIRS = gdb.ada gdb.arch gdb.asm g
 	gdb.stabs gdb.reverse gdb.threads gdb.trace gdb.xml \
 	$(SUBDIRS)
 
-EXPECT = `if [ -f $${rootme}/../../expect/expect ] ; then \
-          echo $${rootme}/../../expect/expect ; \
-          else echo expect ; fi`
+EXTRA_RULES = @EXTRA_RULES@
+
+CC=@CC@
+
+EXPECT = `if [ "$${READ1}" != "" ] ; then \
+            echo $${rootme}/expect-read1; \
+          elif [ -f $${rootme}/../../expect/expect ] ; then \
+            echo $${rootme}/../../expect/expect ; \
+          else \
+            echo expect ; \
+          fi`
 
 RUNTEST = $(RUNTEST_FOR_TARGET)
 
@@ -84,7 +92,7 @@ TARGET_FLAGS_TO_PASS = \
         "RUNTEST=$(RUNTEST)" \
         "RUNTESTFLAGS=$(RUNTESTFLAGS)"
 
-all:
+all: $(EXTRA_RULES)
 	@echo "Nothing to be done for all..."
 
 .NOEXPORT:
@@ -146,6 +154,9 @@ installcheck:
 check: all $(abs_builddir)/site.exp
 	$(MAKE) $(CHECK_TARGET)
 
+check-read1:
+	$(MAKE) READ1="1" check
+
 # All the hair to invoke dejagnu.  A given invocation can just append
 # $(RUNTESTFLAGS)
 DO_RUNTEST = \
@@ -177,6 +188,10 @@ DO_RUNTEST = \
 @GMAKE_TRUE@endif
 @GMAKE_FALSE@expanded_tests_or_none = $(TESTS)
 
+# Shorthand for running all the tests in a single directory.
+@GMAKE_TRUE@check-gdb.%:
+@GMAKE_TRUE@	$(MAKE) check TESTS="gdb.$*/*.exp"
+
 check-single:
 	$(DO_RUNTEST) $(RUNTESTFLAGS) $(expanded_tests_or_none)
 
@@ -227,9 +242,10 @@ force:;
 
 clean mostlyclean:
 	-rm -f *~ core *.o a.out xgdb *.x *.grt bigcore.corefile .gdb_history
-	-rm -f core.* *.tf *.cl *.py tracecommandsscript copy1.txt zzz-gdbscript
+	-rm -f core.* *.tf *.cl tracecommandsscript copy1.txt zzz-gdbscript
 	-rm -f *.dwo *.dwp
 	-rm -rf outputs temp cache
+	-rm -f read1.so expect-read1
 	if [ x"${ALL_SUBDIRS}" != x ] ; then \
 	    for dir in ${ALL_SUBDIRS}; \
 	    do \
@@ -263,3 +279,27 @@ config.status: configure
 TAGS: force
 	find $(srcdir) -name '*.exp' -print | \
 	    etags --regex='/proc[ \t]+\([^ \t]+\)/\1/' -
+
+# Build the expect wrapper script that preloads the read1.so library.
+expect-read1:
+	@echo Making expect-read1
+	@rm -f expect-read1-tmp
+	@touch expect-read1-tmp
+	@echo "# THIS FILE IS GENERATED -*- buffer-read-only: t -*- \n" >>expect-read1-tmp
+	@echo "# vi:set ro: */\n\n" >>expect-read1-tmp
+	@echo "# To regenerate this file, run:\n" >>expect-read1-tmp
+	@echo "#      make clean; make/\n" >>expect-read1-tmp
+	@echo "export LD_PRELOAD=`pwd`/read1.so" >>expect-read1-tmp
+	@echo 'exec expect "$$@"' >>expect-read1-tmp
+	@chmod +x expect-read1-tmp
+	@mv expect-read1-tmp expect-read1
+
+# Build the read1.so preload library.  This overrides the `read'
+# function, making it read one byte at a time.  Running the testsuite
+# with this catches racy tests.
+read1.so: lib/read1.c
+	$(CC) -o $@ ${srcdir}/lib/read1.c -Wall -g -shared -fPIC $(CFLAGS)
+
+# Build the read1 machinery.
+.PHONY: read1
+read1: read1.so expect-read1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/README ./gdb/testsuite/README
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/testsuite/README	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/testsuite/README	2015-01-20 02:05:39.000000000 +0000
@@ -160,7 +160,9 @@ list of tests to run.
 If using GNU make then the contents are wildcard-expanded using
 GNU make's $(wildcard) function.  Test paths must be fully specified,
 relative to the "testsuite" subdirectory.  This allows one to run all
-tests in a subdirectory by passing "gdb.subdir/*.exp".
+tests in a subdirectory by passing "gdb.subdir/*.exp", or more simply
+by using the check-gdb.subdir target in the Makefile.
+
 If for some strange reason one wanted to run all tests that begin with
 the letter "d" that is also possible: TESTS="*/d*.exp".
 
@@ -176,6 +178,47 @@ Example:
 If not using GNU make then the value is passed directly to runtest.
 If not specified, all tests are run.
 
+READ1
+
+This make (not runtest) variable is used to specify whether the
+testsuite preloads the read1.so library into expect.  Any non-empty
+value means true.  See "Race detection" below.
+
+Race detection
+**************
+
+The testsuite includes a mechanism that helps detect test races.
+
+For example, say the program running under expect outputs "abcd", and
+a test does something like this:
+
+  expect {
+    "a.*c" {
+    }
+    "b" {
+    }
+    "a" {
+    }
+  }
+
+Which case happens to match depends on what expect manages to read
+into its internal buffer in one go.  If it manages to read three bytes
+or more, then the first case matches.  If it manages to read two
+bytes, then the second case matches.  If it manages to read only one
+byte, then the third case matches.
+
+To help detect these cases, the race detection mechanism preloads a
+library into expect that forces the `read' system call to always
+return at most 1 byte.
+
+To enable this, either pass a non-empty value in the READ1 make
+variable, or use the check-read1 make target instead of check.
+
+Examples:
+
+	make -j10 check-read1 TESTS="*/paginate-*.exp"
+	make -j10 check READ1="1"
+
 Testsuite Configuration
 ***********************
 
@@ -271,6 +314,16 @@ gdb,use_precord
 
   The board supports process record.
 
+gdb_init_command
+gdb_init_commands
+
+  Commands to send to GDB every time a program is about to be run.  The
+  first of these settings defines a single command as a string.  The
+  second defines a TCL list of commands being a string each.  The commands
+  are sent one by one in a sequence, first from `gdb_init_command', if any,
+  followed by individual commands from `gdb_init_command', if any, in this
+  list's order.
+
 gdb_server_prog
 
   The location of GDBserver.  If GDBserver somewhere other than its
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/thread.c ./gdb/thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/thread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/thread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Multi-process/thread control for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    Contributed by Lynx Real-Time Systems, Inc.  Los Gatos, CA.
 
@@ -27,12 +27,10 @@
 #include "value.h"
 #include "target.h"
 #include "gdbthread.h"
-#include "exceptions.h"
 #include "command.h"
 #include "gdbcmd.h"
 #include "regcache.h"
 #include "gdb.h"
-#include <string.h>
 #include "btrace.h"
 
 #include <ctype.h>
@@ -57,13 +55,19 @@ void _initialize_thread (void);
 struct thread_info *thread_list = NULL;
 static int highest_thread_num;
 
+/* True if any thread is, or may be executing.  We need to track this
+   separately because until we fully sync the thread list, we won't
+   know whether the target is fully stopped, even if we see stop
+   events for all known threads, because any of those threads may have
+   spawned new threads we haven't heard of yet.  */
+static int threads_executing;
+
 static void thread_command (char *tidstr, int from_tty);
 static void thread_apply_all_command (char *, int);
 static int thread_alive (struct thread_info *);
 static void info_threads_command (char *, int);
 static void thread_apply_command (char *, int);
 static void restore_current_thread (ptid_t);
-static void prune_threads (void);
 
 /* Data to cleanup thread array.  */
 
@@ -86,26 +90,75 @@ inferior_thread (void)
   return tp;
 }
 
-void
-delete_step_resume_breakpoint (struct thread_info *tp)
+/* Delete the breakpoint pointed at by BP_P, if there's one.  */
+
+static void
+delete_thread_breakpoint (struct breakpoint **bp_p)
 {
-  if (tp && tp->control.step_resume_breakpoint)
+  if (*bp_p != NULL)
     {
-      delete_breakpoint (tp->control.step_resume_breakpoint);
-      tp->control.step_resume_breakpoint = NULL;
+      delete_breakpoint (*bp_p);
+      *bp_p = NULL;
     }
 }
 
 void
+delete_step_resume_breakpoint (struct thread_info *tp)
+{
+  if (tp != NULL)
+    delete_thread_breakpoint (&tp->control.step_resume_breakpoint);
+}
+
+void
 delete_exception_resume_breakpoint (struct thread_info *tp)
 {
-  if (tp && tp->control.exception_resume_breakpoint)
+  if (tp != NULL)
+    delete_thread_breakpoint (&tp->control.exception_resume_breakpoint);
+}
+
+/* See gdbthread.h.  */
+
+void
+delete_single_step_breakpoints (struct thread_info *tp)
+{
+  if (tp != NULL)
+    delete_thread_breakpoint (&tp->control.single_step_breakpoints);
+}
+
+/* Delete the breakpoint pointed at by BP_P at the next stop, if
+   there's one.  */
+
+static void
+delete_at_next_stop (struct breakpoint **bp)
+{
+  if (*bp != NULL)
     {
-      delete_breakpoint (tp->control.exception_resume_breakpoint);
-      tp->control.exception_resume_breakpoint = NULL;
+      (*bp)->disposition = disp_del_at_next_stop;
+      *bp = NULL;
     }
 }
 
+/* See gdbthread.h.  */
+
+int
+thread_has_single_step_breakpoints_set (struct thread_info *tp)
+{
+  return tp->control.single_step_breakpoints != NULL;
+}
+
+/* See gdbthread.h.  */
+
+int
+thread_has_single_step_breakpoint_here (struct thread_info *tp,
+					struct address_space *aspace,
+					CORE_ADDR addr)
+{
+  struct breakpoint *ss_bps = tp->control.single_step_breakpoints;
+
+  return (ss_bps != NULL
+	  && breakpoint_has_location_inserted_here (ss_bps, aspace, addr));
+}
+
 static void
 clear_thread_inferior_resources (struct thread_info *tp)
 {
@@ -113,18 +166,9 @@ clear_thread_inferior_resources (struct 
      but not any user-specified thread-specific breakpoints.  We can not
      delete the breakpoint straight-off, because the inferior might not
      be stopped at the moment.  */
-  if (tp->control.step_resume_breakpoint)
-    {
-      tp->control.step_resume_breakpoint->disposition = disp_del_at_next_stop;
-      tp->control.step_resume_breakpoint = NULL;
-    }
-
-  if (tp->control.exception_resume_breakpoint)
-    {
-      tp->control.exception_resume_breakpoint->disposition
-	= disp_del_at_next_stop;
-      tp->control.exception_resume_breakpoint = NULL;
-    }
+  delete_at_next_stop (&tp->control.step_resume_breakpoint);
+  delete_at_next_stop (&tp->control.exception_resume_breakpoint);
+  delete_at_next_stop (&tp->control.single_step_breakpoints);
 
   delete_longjmp_breakpoint_at_next_stop (tp->num);
 
@@ -168,6 +212,7 @@ init_thread_list (void)
     }
 
   thread_list = NULL;
+  threads_executing = 0;
 }
 
 /* Allocate a new thread with target id PTID and add it to the thread
@@ -467,7 +512,13 @@ any_thread_of_process (int pid)
 {
   struct thread_info *tp;
 
-  for (tp = thread_list; tp; tp = tp->next)
+  gdb_assert (pid != 0);
+
+  /* Prefer the current thread.  */
+  if (ptid_get_pid (inferior_ptid) == pid)
+    return inferior_thread ();
+
+  ALL_NON_EXITED_THREADS (tp)
     if (ptid_get_pid (tp->ptid) == pid)
       return tp;
 
@@ -477,18 +528,40 @@ any_thread_of_process (int pid)
 struct thread_info *
 any_live_thread_of_process (int pid)
 {
+  struct thread_info *curr_tp = NULL;
   struct thread_info *tp;
   struct thread_info *tp_executing = NULL;
 
-  for (tp = thread_list; tp; tp = tp->next)
-    if (tp->state != THREAD_EXITED && ptid_get_pid (tp->ptid) == pid)
+  gdb_assert (pid != 0);
+
+  /* Prefer the current thread if it's not executing.  */
+  if (ptid_get_pid (inferior_ptid) == pid)
+    {
+      /* If the current thread is dead, forget it.  If it's not
+	 executing, use it.  Otherwise, still choose it (below), but
+	 only if no other non-executing thread is found.  */
+      curr_tp = inferior_thread ();
+      if (curr_tp->state == THREAD_EXITED)
+	curr_tp = NULL;
+      else if (!curr_tp->executing)
+	return curr_tp;
+    }
+
+  ALL_NON_EXITED_THREADS (tp)
+    if (ptid_get_pid (tp->ptid) == pid)
       {
-	if (tp->executing)
-	  tp_executing = tp;
-	else
+	if (!tp->executing)
 	  return tp;
+
+	tp_executing = tp;
       }
 
+  /* If both the current thread and all live threads are executing,
+     prefer the current thread.  */
+  if (curr_tp != NULL)
+    return curr_tp;
+
+  /* Otherwise, just return an executing thread, if any.  */
   return tp_executing;
 }
 
@@ -548,7 +621,9 @@ thread_alive (struct thread_info *tp)
   return 1;
 }
 
-static void
+/* See gdbthreads.h.  */
+
+void
 prune_threads (void)
 {
   struct thread_info *tp, *next;
@@ -561,6 +636,108 @@ prune_threads (void)
     }
 }
 
+/* Disable storing stack temporaries for the thread whose id is
+   stored in DATA.  */
+
+static void
+disable_thread_stack_temporaries (void *data)
+{
+  ptid_t *pd = data;
+  struct thread_info *tp = find_thread_ptid (*pd);
+
+  if (tp != NULL)
+    {
+      tp->stack_temporaries_enabled = 0;
+      VEC_free (value_ptr, tp->stack_temporaries);
+    }
+
+  xfree (pd);
+}
+
+/* Enable storing stack temporaries for thread with id PTID and return a
+   cleanup which can disable and clear the stack temporaries.  */
+
+struct cleanup *
+enable_thread_stack_temporaries (ptid_t ptid)
+{
+  struct thread_info *tp = find_thread_ptid (ptid);
+  ptid_t  *data;
+  struct cleanup *c;
+
+  gdb_assert (tp != NULL);
+
+  tp->stack_temporaries_enabled = 1;
+  tp->stack_temporaries = NULL;
+  data = (ptid_t *) xmalloc (sizeof (ptid_t));
+  *data = ptid;
+  c = make_cleanup (disable_thread_stack_temporaries, data);
+
+  return c;
+}
+
+/* Return non-zero value if stack temporaies are enabled for the thread
+   with id PTID.  */
+
+int
+thread_stack_temporaries_enabled_p (ptid_t ptid)
+{
+  struct thread_info *tp = find_thread_ptid (ptid);
+
+  if (tp == NULL)
+    return 0;
+  else
+    return tp->stack_temporaries_enabled;
+}
+
+/* Push V on to the stack temporaries of the thread with id PTID.  */
+
+void
+push_thread_stack_temporary (ptid_t ptid, struct value *v)
+{
+  struct thread_info *tp = find_thread_ptid (ptid);
+
+  gdb_assert (tp != NULL && tp->stack_temporaries_enabled);
+  VEC_safe_push (value_ptr, tp->stack_temporaries, v);
+}
+
+/* Return 1 if VAL is among the stack temporaries of the thread
+   with id PTID.  Return 0 otherwise.  */
+
+int
+value_in_thread_stack_temporaries (struct value *val, ptid_t ptid)
+{
+  struct thread_info *tp = find_thread_ptid (ptid);
+
+  gdb_assert (tp != NULL && tp->stack_temporaries_enabled);
+  if (!VEC_empty (value_ptr, tp->stack_temporaries))
+    {
+      struct value *v;
+      int i;
+
+      for (i = 0; VEC_iterate (value_ptr, tp->stack_temporaries, i, v); i++)
+	if (v == val)
+	  return 1;
+    }
+
+  return 0;
+}
+
+/* Return the last of the stack temporaries for thread with id PTID.
+   Return NULL if there are no stack temporaries for the thread.  */
+
+struct value *
+get_last_thread_stack_temporary (ptid_t ptid)
+{
+  struct value *lastval = NULL;
+  struct thread_info *tp = find_thread_ptid (ptid);
+
+  gdb_assert (tp != NULL);
+  if (!VEC_empty (value_ptr, tp->stack_temporaries))
+    lastval = VEC_last (value_ptr, tp->stack_temporaries);
+
+  return lastval;
+}
+
 void
 thread_change_ptid (ptid_t old_ptid, ptid_t new_ptid)
 {
@@ -570,7 +747,7 @@ thread_change_ptid (ptid_t old_ptid, pti
   /* It can happen that what we knew as the target inferior id
      changes.  E.g, target remote may only discover the remote process
      pid after adding the inferior to GDB's list.  */
-  inf = find_inferior_pid (ptid_get_pid (old_ptid));
+  inf = find_inferior_ptid (old_ptid);
   inf->pid = ptid_get_pid (new_ptid);
 
   tp = find_thread_ptid (old_ptid);
@@ -648,18 +825,6 @@ is_running (ptid_t ptid)
 }
 
 int
-any_running (void)
-{
-  struct thread_info *tp;
-
-  for (tp = thread_list; tp; tp = tp->next)
-    if (tp->state == THREAD_RUNNING)
-      return 1;
-
-  return 0;
-}
-
-int
 is_executing (ptid_t ptid)
 {
   struct thread_info *tp;
@@ -687,6 +852,22 @@ set_executing (ptid_t ptid, int executin
       gdb_assert (tp);
       tp->executing = executing;
     }
+
+  /* It only takes one running thread to spawn more threads.*/
+  if (executing)
+    threads_executing = 1;
+  /* Only clear the flag if the caller is telling us everything is
+     stopped.  */
+  else if (ptid_equal (minus_one_ptid, ptid))
+    threads_executing = 0;
+}
+
+/* See gdbthread.h.  */
+
+int
+threads_are_executing (void)
+{
+  return threads_executing;
 }
 
 void
@@ -998,7 +1179,7 @@ switch_to_thread (ptid_t ptid)
     {
       struct inferior *inf;
 
-      inf = find_inferior_pid (ptid_get_pid (ptid));
+      inf = find_inferior_ptid (ptid);
       gdb_assert (inf != NULL);
       set_current_program_space (inf->pspace);
       set_current_inferior (inf);
@@ -1109,7 +1290,7 @@ do_restore_current_thread_cleanup (void 
      then don't revert back to it, but instead simply drop back to no
      thread selected.  */
   if (tp
-      && find_inferior_pid (ptid_get_pid (tp->ptid)) != NULL)
+      && find_inferior_ptid (tp->ptid) != NULL)
     restore_current_thread (old->inferior_ptid);
   else
     {
@@ -1486,11 +1667,30 @@ gdb_thread_select (struct ui_out *uiout,
   return GDB_RC_OK;
 }
 
+/* Update the 'threads_executing' global based on the threads we know
+   about right now.  */
+
+static void
+update_threads_executing (void)
+{
+  struct thread_info *tp;
+
+  threads_executing = 0;
+  ALL_NON_EXITED_THREADS (tp)
+    {
+      if (tp->executing)
+	{
+	  threads_executing = 1;
+	  break;
+	}
+    }
+}
+
 void
 update_thread_list (void)
 {
-  prune_threads ();
-  target_find_new_threads ();
+  target_update_thread_list ();
+  update_threads_executing ();
 }
 
 /* Return a new value for the selected thread's id.  Return a value of 0 if
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tic6x-linux-tdep.c ./gdb/tic6x-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tic6x-linux-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tic6x-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux on  TI C6x target support.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Contributed by Yao Qi <yao@codesourcery.com>
 
    This file is part of GDB.
@@ -24,7 +24,6 @@
 #include "tic6x-tdep.h"
 #include "trad-frame.h"
 #include "tramp-frame.h"
-#include "gdb_assert.h"
 #include "elf-bfd.h"
 #include "elf/tic6x.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tic6x-tdep.c ./gdb/tic6x-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tic6x-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tic6x-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target dependent code for GDB on TI C6x systems.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Andrew Jenner <andrew@codesourcery.com>
    Contributed by Yao Qi <yao@codesourcery.com>
 
@@ -44,7 +44,6 @@
 #include "linux-tdep.h"
 #include "solib.h"
 #include "objfiles.h"
-#include "gdb_assert.h"
 #include "osabi.h"
 #include "tic6x-tdep.h"
 #include "language.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tic6x-tdep.h ./gdb/tic6x-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tic6x-tdep.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tic6x-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* GNU/Linux on  TI C6x target support.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Contributed by Yao Qi <yao@codesourcery.com>
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tilegx-linux-nat.c ./gdb/tilegx-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tilegx-linux-nat.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tilegx-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for GNU/Linux TILE-Gx.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,9 +25,6 @@
 
 #include <sys/ptrace.h>
 
-#include "gdb_assert.h"
-#include <string.h>
-
 #include <sys/procfs.h>
 
 /* Defines ps_err_e, struct ps_prochandle.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tilegx-linux-tdep.c ./gdb/tilegx-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tilegx-linux-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tilegx-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux on Tilera TILE-Gx processors.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -73,45 +73,35 @@ static const struct tramp_frame tilegx_l
   tilegx_linux_sigframe_init
 };
 
-/* Supply raw registers from REGCACHE to REGS.  */
+/* Register map; must match struct pt_regs in "ptrace.h".  */
 
-static void
-tilegx_linux_supply_regset (const struct regset *regset,
-			    struct regcache *regcache,
-			    int regnum, const void *regs, size_t len)
-{
-  struct gdbarch *arch = get_regcache_arch (regcache);
-  const char *ptr = regs;
-  int i;
+static const struct regcache_map_entry tilegx_linux_regmap[] =
+  {
+    { TILEGX_NUM_EASY_REGS, TILEGX_FIRST_EASY_REGNUM, 8 },
+    { 1, TILEGX_PC_REGNUM, 8 },
+    { 1, TILEGX_FAULTNUM_REGNUM, 8 },
+    { 0 }
+  };
 
-  /* This logic must match that of struct pt_regs in "ptrace.h".  */
-  for (i = 0; i < TILEGX_NUM_EASY_REGS + 2; i++, ptr += tilegx_reg_size)
-    {
-      int gri = (i < TILEGX_NUM_EASY_REGS)
-                 ? i : (i == TILEGX_NUM_EASY_REGS)
-                        ? TILEGX_PC_REGNUM : TILEGX_FAULTNUM_REGNUM;
-
-      if (regnum == gri || regnum == -1)
-	regcache_raw_supply (regcache, gri, ptr);
-    }
-}
+#define TILEGX_LINUX_SIZEOF_GREGSET (64 * 8)
 
 /* TILE-Gx Linux kernel register set.  */
+
 static const struct regset tilegx_linux_regset =
 {
-  NULL,
-  tilegx_linux_supply_regset
+  tilegx_linux_regmap,
+  regcache_supply_regset, regcache_collect_regset
 };
 
-static const struct regset *
-tilegx_regset_from_core_section (struct gdbarch *gdbarch,
-				 const char *sect_name,
-				 size_t sect_size)
-{
-  if (strcmp (sect_name, ".reg") == 0)
-    return &tilegx_linux_regset;
 
-  return NULL;
+static void
+tilegx_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				     iterate_over_regset_sections_cb *cb,
+				     void *cb_data,
+				     const struct regcache *regcache)
+{
+  cb (".reg", TILEGX_LINUX_SIZEOF_GREGSET, &tilegx_linux_regset,
+      NULL, cb_data);
 }
 
 /* OS specific initialization of gdbarch.  */
@@ -125,8 +115,8 @@ tilegx_linux_init_abi (struct gdbarch_in
 
   tramp_frame_prepend_unwinder (gdbarch, &tilegx_linux_rt_sigframe);
 
-  set_gdbarch_regset_from_core_section (gdbarch,
-					tilegx_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, tilegx_iterate_over_regset_sections);
 
   /* GNU/Linux uses SVR4-style shared libraries.  */
   if (arch_size == 32)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tilegx-tdep.c ./gdb/tilegx-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tilegx-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tilegx-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Tilera TILE-Gx processor.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,8 +30,6 @@
 #include "value.h"
 #include "dis-asm.h"
 #include "inferior.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "arch-utils.h"
 #include "floatformat.h"
 #include "regcache.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tilegx-tdep.h ./gdb/tilegx-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tilegx-tdep.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tilegx-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Tilera TILE-Gx processor.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,6 +31,7 @@
 enum tilegx_regnum
   {
     TILEGX_R0_REGNUM,
+    TILEGX_FIRST_EASY_REGNUM = TILEGX_R0_REGNUM,
     TILEGX_R1_REGNUM,
     TILEGX_R2_REGNUM,
     TILEGX_R3_REGNUM,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/top.c ./gdb/top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/top.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/top.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Top level stuff for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,7 +26,6 @@
 #include "symtab.h"
 #include "inferior.h"
 #include "infrun.h"
-#include "exceptions.h"
 #include <signal.h>
 #include "target.h"
 #include "target-dcache.h"
@@ -42,7 +41,6 @@
 #include "version.h"
 #include "serial.h"
 #include "doublest.h"
-#include "gdb_assert.h"
 #include "main.h"
 #include "event-loop.h"
 #include "gdbthread.h"
@@ -62,7 +60,6 @@
 #include <sys/types.h>
 
 #include "event-top.h"
-#include <string.h>
 #include <sys/stat.h>
 #include <ctype.h>
 #include "ui-out.h"
@@ -218,7 +215,7 @@ void (*deprecated_warning_hook) (const c
    window and it can close it.  */
 
 void (*deprecated_readline_begin_hook) (char *, ...);
-char *(*deprecated_readline_hook) (char *);
+char *(*deprecated_readline_hook) (const char *);
 void (*deprecated_readline_end_hook) (void);
 
 /* Called as appropriate to notify the interface that we have attached
@@ -623,7 +620,7 @@ prevent_dont_repeat (void)
 
    A NULL return means end of file.  */
 char *
-gdb_readline (char *prompt_arg)
+gdb_readline (const char *prompt_arg)
 {
   int c;
   char *result;
@@ -815,7 +812,7 @@ gdb_readline_wrapper_cleanup (void *arg)
 }
 
 char *
-gdb_readline_wrapper (char *prompt)
+gdb_readline_wrapper (const char *prompt)
 {
   struct cleanup *back_to;
   struct gdb_readline_wrapper_cleanup *cleanup;
@@ -898,7 +895,74 @@ gdb_rl_operate_and_get_next (int count, 
 
   return rl_newline (1, key);
 }
-
+
+/* Number of user commands executed during this session.  */
+
+static int command_count = 0;
+
+/* Add the user command COMMAND to the input history list.  */
+
+void
+gdb_add_history (const char *command)
+{
+  add_history (command);
+  command_count++;
+}
+
+/* Safely append new history entries to the history file in a corruption-free
+   way using an intermediate local history file.  */
+
+static void
+gdb_safe_append_history (void)
+{
+  int ret, saved_errno;
+  char *local_history_filename;
+  struct cleanup *old_chain;
+
+  local_history_filename
+    = xstrprintf ("%s-gdb%d~", history_filename, getpid ());
+  old_chain = make_cleanup (xfree, local_history_filename);
+
+  ret = rename (history_filename, local_history_filename);
+  saved_errno = errno;
+  if (ret < 0 && saved_errno != ENOENT)
+    {
+      warning (_("Could not rename %s to %s: %s"),
+	       history_filename, local_history_filename,
+	       safe_strerror (saved_errno));
+    }
+  else
+    {
+      if (ret < 0)
+	{
+	  /* If the rename failed with ENOENT then either the global history
+	     file never existed in the first place or another GDB process is
+	     currently appending to it (and has thus temporarily renamed it).
+	     Since we can't distinguish between these two cases, we have to
+	     conservatively assume the first case and therefore must write out
+	     (not append) our known history to our local history file and try
+	     to move it back anyway.  Otherwise a global history file would
+	     never get created!  */
+	   gdb_assert (saved_errno == ENOENT);
+	   write_history (local_history_filename);
+	}
+      else
+	{
+	  append_history (command_count, local_history_filename);
+	  history_truncate_file (local_history_filename, history_max_entries);
+	}
+
+      ret = rename (local_history_filename, history_filename);
+      saved_errno = errno;
+      if (ret < 0 && saved_errno != EEXIST)
+        warning (_("Could not rename %s to %s: %s"),
+		 local_history_filename, history_filename,
+		 safe_strerror (saved_errno));
+    }
+
+  do_cleanups (old_chain);
+}
+
 /* Read one line from the command input stream `instream'
    into the local static buffer `linebuffer' (whose current length
    is `linelength').
@@ -915,14 +979,14 @@ gdb_rl_operate_and_get_next (int count, 
    simple input as the user has requested.  */
 
 char *
-command_line_input (char *prompt_arg, int repeat, char *annotation_suffix)
+command_line_input (const char *prompt_arg, int repeat, char *annotation_suffix)
 {
   static char *linebuffer = 0;
   static unsigned linelength = 0;
+  const char *prompt = prompt_arg;
   char *p;
   char *p1;
   char *rl;
-  char *local_prompt = prompt_arg;
   char *nline;
   char got_eof = 0;
 
@@ -932,15 +996,19 @@ command_line_input (char *prompt_arg, in
 
   if (annotation_level > 1 && instream == stdin)
     {
-      local_prompt = alloca ((prompt_arg == NULL ? 0 : strlen (prompt_arg))
+      char *local_prompt;
+
+      local_prompt = alloca ((prompt == NULL ? 0 : strlen (prompt))
 			     + strlen (annotation_suffix) + 40);
-      if (prompt_arg == NULL)
+      if (prompt == NULL)
 	local_prompt[0] = '\0';
       else
-	strcpy (local_prompt, prompt_arg);
+	strcpy (local_prompt, prompt);
       strcat (local_prompt, "\n\032\032");
       strcat (local_prompt, annotation_suffix);
       strcat (local_prompt, "\n");
+
+      prompt = local_prompt;
     }
 
   if (linebuffer == 0)
@@ -982,15 +1050,15 @@ command_line_input (char *prompt_arg, in
       /* Don't use fancy stuff if not talking to stdin.  */
       if (deprecated_readline_hook && input_from_terminal_p ())
 	{
-	  rl = (*deprecated_readline_hook) (local_prompt);
+	  rl = (*deprecated_readline_hook) (prompt);
 	}
       else if (command_editing_p && input_from_terminal_p ())
 	{
-	  rl = gdb_readline_wrapper (local_prompt);
+	  rl = gdb_readline_wrapper (prompt);
 	}
       else
 	{
-	  rl = gdb_readline (local_prompt);
+	  rl = gdb_readline (prompt);
 	}
 
       if (annotation_level > 1 && instream == stdin)
@@ -1024,7 +1092,7 @@ command_line_input (char *prompt_arg, in
 	break;
 
       p--;			/* Put on top of '\'.  */
-      local_prompt = (char *) 0;
+      prompt = NULL;
     }
 
 #ifdef STOP_SIGNAL
@@ -1067,7 +1135,7 @@ command_line_input (char *prompt_arg, in
 	  if (expanded < 0)
 	    {
 	      xfree (history_value);
-	      return command_line_input (prompt_arg, repeat,
+	      return command_line_input (prompt, repeat,
 					 annotation_suffix);
 	    }
 	  if (strlen (history_value) > linelength)
@@ -1093,7 +1161,7 @@ command_line_input (char *prompt_arg, in
 
   /* Add line to history if appropriate.  */
   if (*linebuffer && input_from_terminal_p ())
-    add_history (linebuffer);
+    gdb_add_history (linebuffer);
 
   /* Save into global buffer if appropriate.  */
   if (repeat)
@@ -1123,7 +1191,7 @@ print_gdb_version (struct ui_file *strea
   /* Second line is a copyright notice.  */
 
   fprintf_filtered (stream,
-		    "Copyright (C) 2014 Free Software Foundation, Inc.\n");
+		    "Copyright (C) 2015 Free Software Foundation, Inc.\n");
 
   /* Following the copyright is a brief statement that the program is
      free software, that users are free to copy and change it on
@@ -1444,7 +1512,7 @@ quit_force (char *args, int from_tty)
     {
       if (write_history_p && history_filename
 	  && input_from_terminal_p ())
-	write_history (history_filename);
+	gdb_safe_append_history ();
     }
   DO_PRINT_EX;
 
@@ -1587,7 +1655,7 @@ set_history (char *args, int from_tty)
 {
   printf_unfiltered (_("\"set history\" must be followed "
 		       "by the name of a history subcommand.\n"));
-  help_list (sethistlist, "set history ", -1, gdb_stdout);
+  help_list (sethistlist, "set history ", all_commands, gdb_stdout);
 }
 
 void
@@ -1889,6 +1957,10 @@ gdb_init (char *argv0)
 
   initialize_stdin_serial ();
 
+  /* Take a snapshot of our tty state before readline/ncurses have had a chance
+     to alter it.  */
+  set_initial_gdb_ttystate ();
+
   async_init_signals ();
 
   /* We need a default language for parsing expressions, so simple
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/top.h ./gdb/top.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/top.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/top.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Top level stuff for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -79,6 +79,8 @@ extern int history_expansion_p;
 extern int server_command;
 extern char *lim_at_start;
 
+extern void gdb_add_history (const char *);
+
 extern void show_commands (char *args, int from_tty);
 
 extern void set_history (char *, int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracefile.c ./gdb/tracefile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracefile.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tracefile.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Trace file support in GDB.
 
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracefile.h ./gdb/tracefile.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracefile.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tracefile.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,6 @@
 #ifndef TRACEFILE_H
 #define TRACEFILE_H 1
 
-#include "defs.h"
 #include "tracepoint.h"
 
 struct trace_file_writer;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracefile-tfile.c ./gdb/tracefile-tfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracefile-tfile.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tracefile-tfile.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Trace file TFILE format support in GDB.
 
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -376,7 +376,7 @@ tfile_read (gdb_byte *readbuf, int size)
 }
 
 static void
-tfile_open (char *filename, int from_tty)
+tfile_open (const char *arg, int from_tty)
 {
   volatile struct gdb_exception ex;
   char *temp;
@@ -390,12 +390,13 @@ tfile_open (char *filename, int from_tty
   struct trace_status *ts;
   struct uploaded_tp *uploaded_tps = NULL;
   struct uploaded_tsv *uploaded_tsvs = NULL;
+  char *filename;
 
   target_preopen (from_tty);
-  if (!filename)
+  if (!arg)
     error (_("No trace file specified."));
 
-  filename = tilde_expand (filename);
+  filename = tilde_expand (arg);
   if (!IS_ABSOLUTE_PATH(filename))
     {
       temp = concat (current_directory, "/", filename, (char *) NULL);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracepoint.c ./gdb/tracepoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracepoint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tracepoint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Tracing functionality for remote targets in custom GDB protocol
 
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,7 +28,6 @@
 #include "target.h"
 #include "target-dcache.h"
 #include "language.h"
-#include <string.h>
 #include "inferior.h"
 #include "breakpoint.h"
 #include "tracepoint.h"
@@ -50,7 +49,6 @@
 #include "ax.h"
 #include "ax-gdb.h"
 #include "memrange.h"
-#include "exceptions.h"
 #include "cli/cli-utils.h"
 #include "probe.h"
 #include "ctf.h"
@@ -1155,7 +1153,7 @@ add_local_symbols (struct collection_lis
 		   long frame_regno, long frame_offset, int type,
 		   int trace_string)
 {
-  struct block *block;
+  const struct block *block;
   struct add_local_symbols_data cb_data;
 
   cb_data.collect = collect;
@@ -1860,7 +1858,8 @@ start_tracing (char *notes)
       t->number_on_target = b->number;
 
       for (loc = b->loc; loc; loc = loc->next)
-	if (loc->probe.probe != NULL)
+	if (loc->probe.probe != NULL
+	    && loc->probe.probe->pops->set_semaphore != NULL)
 	  loc->probe.probe->pops->set_semaphore (loc->probe.probe,
 						 loc->probe.objfile,
 						 loc->gdbarch);
@@ -1959,7 +1958,8 @@ stop_tracing (char *note)
 	     but we don't really care if this semaphore goes out of sync.
 	     That's why we are decrementing it here, but not taking care
 	     in other places.  */
-	  if (loc->probe.probe != NULL)
+	  if (loc->probe.probe != NULL
+	      && loc->probe.probe->pops->clear_semaphore != NULL)
 	    loc->probe.probe->pops->clear_semaphore (loc->probe.probe,
 						     loc->probe.objfile,
 						     loc->gdbarch);
@@ -2705,7 +2705,7 @@ scope_info (char *args, int from_tty)
   struct symtabs_and_lines sals;
   struct symbol *sym;
   struct bound_minimal_symbol msym;
-  struct block *block;
+  const struct block *block;
   const char *symname;
   char *save_args = args;
   struct block_iterator iter;
@@ -2739,7 +2739,7 @@ scope_info (char *args, int from_tty)
 	  if (symname == NULL || *symname == '\0')
 	    continue;		/* Probably botched, certainly useless.  */
 
-	  gdbarch = get_objfile_arch (SYMBOL_SYMTAB (sym)->objfile);
+	  gdbarch = symbol_arch (sym);
 
 	  printf_filtered ("Symbol %s is ", symname);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracepoint.h ./gdb/tracepoint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tracepoint.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tracepoint.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Data structures associated with tracepoints in GDB.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/trad-frame.c ./gdb/trad-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/trad-frame.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/trad-frame.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Traditional frame unwind support, for GDB the GNU Debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/trad-frame.h ./gdb/trad-frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/trad-frame.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/trad-frame.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Traditional frame unwind support, for GDB the GNU Debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -43,8 +43,6 @@ CORE_ADDR trad_frame_get_this_base (stru
 
 void trad_frame_set_reg_realreg (struct trad_frame_cache *this_trad_cache,
 				 int regnum, int realreg);
-void trad_frame_set_reg_unknown (struct trad_frame_cache *this_trad_cache,
-				 int regnum, CORE_ADDR addr);
 void trad_frame_set_reg_addr (struct trad_frame_cache *this_trad_cache,
 			      int regnum, CORE_ADDR addr);
 void trad_frame_set_reg_value (struct trad_frame_cache *this_cache,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tramp-frame.c ./gdb/tramp-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tramp-frame.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tramp-frame.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Signal trampoline unwinder, for GDB the GNU Debugger.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -26,7 +26,6 @@
 #include "target.h"
 #include "trad-frame.h"
 #include "frame-base.h"
-#include "gdb_assert.h"
 
 struct frame_data
 {
@@ -87,6 +86,10 @@ tramp_frame_start (const struct tramp_fr
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   int ti;
 
+  /* Check if we can use this trampoline.  */
+  if (tramp->validate && !tramp->validate (tramp, this_frame, &pc))
+    return 0;
+
   /* Search through the trampoline for one that matches the
      instruction sequence around PC.  */
   for (ti = 0; tramp->insn[ti].bytes != TRAMP_SENTINEL_INSN; ti++)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tramp-frame.h ./gdb/tramp-frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tramp-frame.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tramp-frame.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Signal trampoline unwinder.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -69,6 +69,13 @@ struct tramp_frame
 		struct frame_info *this_frame,
 		struct trad_frame_cache *this_cache,
 		CORE_ADDR func);
+  /* Return non-zero if the tramp-frame is valid for the PC requested.
+     Adjust the PC to point to the address to check the instruction
+     sequence against if required.  If this is NULL, then the tramp-frame
+     is valid for any PC.  */
+  int (*validate) (const struct tramp_frame *self,
+		   struct frame_info *this_frame,
+		   CORE_ADDR *pc);
 };
 
 void tramp_frame_prepend_unwinder (struct gdbarch *gdbarch,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui.c ./gdb/tui/tui.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* General functions for the WDB TUI.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -37,9 +37,8 @@
 #include "inferior.h"
 #include "symtab.h"
 #include "source.h"
+#include "terminal.h"
 
-#include <stdio.h>
-#include <stdlib.h>
 #include <ctype.h>
 #include <signal.h>
 #include <fcntl.h>
@@ -49,6 +48,7 @@
 #include <setjmp.h>
 
 #include "gdb_curses.h"
+#include "interps.h"
 
 /* This redefines CTRL if it is not already defined, so it must come
    after terminal state releated include files like <term.h> and
@@ -90,15 +90,30 @@ static Keymap tui_readline_standard_keym
 static int
 tui_rl_switch_mode (int notused1, int notused2)
 {
-  if (tui_active)
+  volatile struct gdb_exception ex;
+
+  /* Don't let exceptions escape.  We're in the middle of a readline
+     callback that isn't prepared for that.  */
+  TRY_CATCH (ex, RETURN_MASK_ALL)
     {
-      tui_disable ();
-      rl_prep_terminal (0);
+      if (tui_active)
+	{
+	  tui_disable ();
+	  rl_prep_terminal (0);
+	}
+      else
+	{
+	  /* If tui_enable throws, we'll re-prep below.  */
+	  rl_deprep_terminal ();
+	  tui_enable ();
+	}
     }
-  else
+  if (ex.reason < 0)
     {
-      rl_deprep_terminal ();
-      tui_enable ();
+      exception_print (gdb_stderr, ex);
+
+      if (!tui_active)
+	rl_prep_terminal (0);
     }
 
   /* Clear the readline in case switching occurred in middle of
@@ -362,6 +377,20 @@ tui_initialize_readline (void)
   rl_bind_key_in_map ('s', tui_rl_next_keymap, tui_ctlx_keymap);
 }
 
+/* Return the TERM variable from the environment, or "<unset>"
+   if not set.  */
+
+static const char *
+gdb_getenv_term (void)
+{
+  const char *term;
+
+  term = getenv ("TERM");
+  if (term != NULL)
+    return term;
+  return "<unset>";
+}
+
 /* Enter in the tui mode (curses).
    When in normal mode, it installs the tui hooks in gdb, redirects
    the gdb output, configures the readline to work in tui mode.
@@ -369,8 +398,7 @@ tui_initialize_readline (void)
 void
 tui_enable (void)
 {
-  if (!tui_allowed_p ())
-    error (_("TUI mode not allowed"));
+  struct interp *interp;
 
   if (tui_active)
     return;
@@ -381,9 +409,40 @@ tui_enable (void)
   if (tui_finish_init)
     {
       WINDOW *w;
+      SCREEN *s;
+      const char *cap;
+      const char *interp;
+
+      /* If the top level interpreter is not the console/tui (e.g.,
+	 MI), enabling curses will certainly lose.  */
+      interp = interp_name (top_level_interpreter ());
+      if (strcmp (interp, INTERP_TUI) != 0)
+	error (_("Cannot enable the TUI when the interpreter is '%s'"), interp);
+
+      /* Don't try to setup curses (and print funny control
+	 characters) if we're not outputting to a terminal.  */
+      if (!ui_file_isatty (gdb_stdout))
+	error (_("Cannot enable the TUI when output is not a terminal"));
+
+      s = newterm (NULL, stdout, stdin);
+      if (s == NULL)
+	{
+	  error (_("Cannot enable the TUI: error opening terminal [TERM=%s]"),
+		 gdb_getenv_term ());
+	}
+      w = stdscr;
+
+      /* Check required terminal capabilities.  */
+      cap = tigetstr ("cup");
+      if (cap == NULL || cap == (char *) -1 || *cap == '\0')
+	{
+	  endwin ();
+	  delscreen (s);
+	  error (_("Cannot enable the TUI: "
+		   "terminal doesn't support cursor addressing [TERM=%s]"),
+		 gdb_getenv_term ());
+	}
 
-      w = initscr ();
-  
       cbreak ();
       noecho ();
       /* timeout (1); */
@@ -427,7 +486,7 @@ tui_enable (void)
   tui_refresh_all_win ();
 
   /* Update gdb's knowledge of its terminal.  */
-  target_terminal_save_ours ();
+  gdb_save_tty_state ();
   tui_update_gdb_sizes ();
 }
 
@@ -457,7 +516,7 @@ tui_disable (void)
   tui_setup_io (0);
 
   /* Update gdb's knowledge of its terminal.  */
-  target_terminal_save_ours ();
+  gdb_save_tty_state ();
 
   tui_active = 0;
   tui_update_gdb_sizes ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-command.c ./gdb/tui/tui-command.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-command.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-command.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Specific command window processing.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -28,9 +28,6 @@
 #include "tui/tui-command.h"
 
 #include "gdb_curses.h"
-#include <string.h>
-
-
 /*****************************************
 ** STATIC LOCAL FUNCTIONS FORWARD DECLS    **
 ******************************************/
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-command.h ./gdb/tui/tui-command.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-command.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-command.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Specific command window processing.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-data.c ./gdb/tui/tui-data.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-data.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-data.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI data manipulation routines.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -24,8 +24,6 @@
 #include "tui/tui.h"
 #include "tui/tui-data.h"
 #include "tui/tui-wingeneral.h"
-
-#include <string.h>
 #include "gdb_curses.h"
 
 /****************************
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-data.h ./gdb/tui/tui-data.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-data.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-data.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI data manipulation routines.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -75,7 +75,7 @@ struct tui_gen_win_info
 
 /* Strings to display in the TUI status line.  */
 #define PROC_PREFIX             "In: "
-#define LINE_PREFIX             "Line: "
+#define LINE_PREFIX             "L"
 #define PC_PREFIX               "PC: "
 #define SINGLE_KEY              "(SingleKey)"
 
@@ -85,7 +85,7 @@ struct tui_gen_win_info
 				   numbers.  */
 #define MIN_PROC_WIDTH    12
 #define MAX_TARGET_WIDTH  10
-#define MAX_PID_WIDTH     14
+#define MAX_PID_WIDTH     19
 
 #define TUI_FLOAT_REGS_NAME                  "$FREGS"
 #define TUI_FLOAT_REGS_NAME_LOWER            "$fregs"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-disasm.c ./gdb/tui/tui-disasm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-disasm.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-disasm.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Disassembly display.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -27,7 +27,6 @@
 #include "value.h"
 #include "source.h"
 #include "disasm.h"
-#include <string.h>
 #include "tui/tui.h"
 #include "tui/tui-data.h"
 #include "tui/tui-win.h"
@@ -276,7 +275,7 @@ tui_set_disassem_content (struct gdbarch
 void
 tui_show_disassem (struct gdbarch *gdbarch, CORE_ADDR start_addr)
 {
-  struct symtab *s = find_pc_symtab (start_addr);
+  struct symtab *s = find_pc_line_symtab (start_addr);
   struct tui_win_info *win_with_focus = tui_win_with_focus ();
   struct tui_line_or_address val;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-disasm.h ./gdb/tui/tui-disasm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-disasm.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-disasm.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Disassembly display.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-file.c ./gdb/tui/tui-file.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-file.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-file.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* UI_FILE - a generic STDIO like output stream.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,8 +23,6 @@
 
 #include "tui.h"
 
-#include <string.h>
-
 /* A ``struct ui_file'' that is compatible with all the legacy
    code.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-file.h ./gdb/tui/tui-file.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-file.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-file.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* UI_FILE - a generic STDIO like output stream.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui.h ./gdb/tui/tui.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* External/Public TUI Header File.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -64,10 +64,6 @@ extern int tui_get_command_dimension (un
    key shortcut.  */
 extern void tui_initialize_readline (void);
 
-/* True if enabling the TUI is allowed.  Example, if the top level
-   interpreter is MI, enabling curses will certainly lose.  */
-extern int tui_allowed_p (void);
-
 /* Enter in the tui mode (curses).  */
 extern void tui_enable (void);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-hooks.c ./gdb/tui/tui-hooks.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-hooks.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-hooks.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* GDB hooks for TUI.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -63,68 +63,6 @@ tui_new_objfile_hook (struct objfile* ob
     tui_display_main ();
 }
 
-static int ATTRIBUTE_PRINTF (1, 0)
-tui_query_hook (const char *msg, va_list argp)
-{
-  int retval;
-  int ans2;
-  int answer;
-  char *question;
-  struct cleanup *old_chain;
-
-  /* Format the question outside of the loop, to avoid reusing
-     ARGP.  */
-  question = xstrvprintf (msg, argp);
-  old_chain = make_cleanup (xfree, question);
-
-  echo ();
-  while (1)
-    {
-      wrap_here ("");		/* Flush any buffered output.  */
-      gdb_flush (gdb_stdout);
-
-      fputs_filtered (question, gdb_stdout);
-      printf_filtered (_("(y or n) "));
-
-      wrap_here ("");
-      gdb_flush (gdb_stdout);
-
-      answer = tui_getc (stdin);
-      clearerr (stdin);		/* in case of C-d */
-      if (answer == EOF)	/* C-d */
-	{
-	  retval = 1;
-	  break;
-	}
-      /* Eat rest of input line, to EOF or newline.  */
-      if (answer != '\n')
-	do
-	  {
-            ans2 = tui_getc (stdin);
-	    clearerr (stdin);
-	  }
-	while (ans2 != EOF && ans2 != '\n' && ans2 != '\r');
-
-      if (answer >= 'a')
-	answer -= 040;
-      if (answer == 'Y')
-	{
-	  retval = 1;
-	  break;
-	}
-      if (answer == 'N')
-	{
-	  retval = 0;
-	  break;
-	}
-      printf_filtered (_("Please answer y or n.\n"));
-    }
-  noecho ();
-
-  do_cleanups (old_chain);
-  return retval;
-}
-
 /* Prevent recursion of deprecated_register_changed_hook().  */
 static int tui_refreshing_registers = 0;
 
@@ -202,7 +140,7 @@ tui_selected_frame_level_changed_hook (i
     {
       struct symtab *s;
 
-      s = find_pc_symtab (pc);
+      s = find_pc_line_symtab (pc);
       /* elz: This if here fixes the problem with the pc not being
 	 displayed in the tui asm layout, with no debug symbols.  The
 	 value of s would be 0 here, and select_source_symtab would
@@ -263,8 +201,6 @@ tui_install_hooks (void)
   deprecated_print_frame_info_listing_hook
     = tui_print_frame_info_listing_hook;
 
-  deprecated_query_hook = tui_query_hook;
-
   /* Install the event hooks.  */
   tui_bp_created_observer
     = observer_attach_breakpoint_created (tui_event_create_breakpoint);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-hooks.h ./gdb/tui/tui-hooks.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-hooks.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-hooks.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* External/Public TUI hools header file, for GDB the GNU debugger.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-interp.c ./gdb/tui/tui-interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-interp.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-interp.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI Interpreter definitions for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,7 +29,6 @@
 #include "tui/tui-win.h"
 #include "tui/tui.h"
 #include "tui/tui-io.h"
-#include "exceptions.h"
 #include "infrun.h"
 #include "observer.h"
 
@@ -52,9 +51,6 @@ tui_exit (void)
   tui_disable ();
 }
 
-/* True if TUI is the top-level interpreter.  */
-static int tui_is_toplevel = 0;
-
 /* Observers for several run control events.  If the interpreter is
    quiet (i.e., another interpreter is being run with
    interpreter-exec), print nothing.  */
@@ -127,8 +123,6 @@ tui_on_command_error (void)
 static void *
 tui_init (struct interp *self, int top_level)
 {
-  tui_is_toplevel = top_level;
-
   /* Install exit handler to leave the screen in a good shape.  */
   atexit (tui_exit);
 
@@ -151,18 +145,6 @@ tui_init (struct interp *self, int top_l
   return NULL;
 }
 
-/* True if enabling the TUI is allowed.  Example, if the top level
-   interpreter is MI, enabling curses will certainly lose.  */
-
-int
-tui_allowed_p (void)
-{
-  /* Only if TUI is the top level interpreter.  Also don't try to
-     setup curses (and print funny control characters) if we're not
-     outputting to a terminal.  */
-  return tui_is_toplevel && ui_file_isatty (gdb_stdout);
-}
-
 static int
 tui_resume (void *data)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-io.c ./gdb/tui/tui-io.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-io.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-io.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI support I/O functions.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -36,7 +36,6 @@
 #include "cli-out.h"
 #include <fcntl.h>
 #include <signal.h>
-#include <stdio.h>
 #include "filestuff.h"
 
 #include "gdb_curses.h"
@@ -129,10 +128,10 @@ static struct ui_file *tui_old_stderr;
 struct ui_out *tui_old_uiout;
 
 /* Readline previous hooks.  */
-static Function *tui_old_rl_getc_function;
-static VFunction *tui_old_rl_redisplay_function;
-static VFunction *tui_old_rl_prep_terminal;
-static VFunction *tui_old_rl_deprep_terminal;
+static rl_getc_func_t *tui_old_rl_getc_function;
+static rl_voidfunc_t *tui_old_rl_redisplay_function;
+static rl_vintfunc_t *tui_old_rl_prep_terminal;
+static rl_voidfunc_t *tui_old_rl_deprep_terminal;
 static int tui_old_rl_echoing_p;
 
 /* Readline output stream.
@@ -235,20 +234,23 @@ tui_redisplay_readline (void)
     {
       waddch (w, prompt[in]);
       getyx (w, line, col);
-      if (col < prev_col)
+      if (col <= prev_col)
         height++;
       prev_col = col;
     }
-  for (in = 0; in < rl_end; in++)
+  for (in = 0; in <= rl_end; in++)
     {
       unsigned char c;
       
-      c = (unsigned char) rl_line_buffer[in];
       if (in == rl_point)
 	{
           getyx (w, c_line, c_pos);
 	}
 
+      if (in == rl_end)
+        break;
+
+      c = (unsigned char) rl_line_buffer[in];
       if (CTRL_CHAR (c) || c == RUBOUT)
 	{
           waddch (w, '^');
@@ -617,16 +619,12 @@ tui_initialize_io (void)
      readline output in a pipe, read that pipe and output the content
      in the curses command window.  */
   if (gdb_pipe_cloexec (tui_readline_pipe) != 0)
-    {
-      fprintf_unfiltered (gdb_stderr, "Cannot create pipe for readline");
-      exit (1);
-    }
+    error (_("Cannot create pipe for readline"));
+
   tui_rl_outstream = fdopen (tui_readline_pipe[1], "w");
   if (tui_rl_outstream == 0)
-    {
-      fprintf_unfiltered (gdb_stderr, "Cannot redirect readline output");
-      exit (1);
-    }
+    error (_("Cannot redirect readline output"));
+
   setvbuf (tui_rl_outstream, (char*) NULL, _IOLBF, 0);
 
 #ifdef O_NONBLOCK
@@ -696,7 +694,33 @@ tui_getc (FILE *fp)
     TUI_CMD_WIN->detail.command_info.curch = 0;
   if (ch == KEY_BACKSPACE)
     return '\b';
-  
+
+  if (async_command_editing_p && key_is_start_sequence (ch))
+    {
+      int ch_pending;
+
+      nodelay (w, TRUE);
+      ch_pending = wgetch (w);
+      nodelay (w, FALSE);
+
+      /* If we have pending input following a start sequence, call the stdin
+	 event handler again because ncurses may have already read and stored
+	 the input into its internal buffer, meaning that we won't get an stdin
+	 event for it.  If we don't compensate for this missed stdin event, key
+	 sequences as Alt_F (^[f) will not behave promptly.
+
+	 (We only compensates for the missed 2nd byte of a key sequence because
+	 2-byte sequences are by far the most commonly used. ncurses may have
+	 buffered a larger, 3+-byte key sequence though it remains to be seen
+	 whether it is useful to compensate for all the bytes of such
+	 sequences.)  */
+      if (ch_pending != ERR)
+	{
+	  ungetch (ch_pending);
+	  call_stdin_event_handler_again_p = 1;
+	}
+    }
+
   return ch;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-io.h ./gdb/tui/tui-io.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-io.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-io.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI support I/O functions.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-layout.c ./gdb/tui/tui-layout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-layout.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-layout.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI layout window management.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -37,8 +37,6 @@
 #include "tui/tui-winsource.h"
 #include "tui/tui-disasm.h"
 #include "tui/tui-layout.h"
-
-#include <string.h>
 #include "gdb_curses.h"
 
 /*******************************
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-layout.h ./gdb/tui/tui-layout.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-layout.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-layout.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI layout window management.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-out.c ./gdb/tui/tui-out.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-out.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-out.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Output generating routines for GDB CLI.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions.
    Written by Fernando Nasser for Cygnus.
@@ -24,9 +24,6 @@
 #include "ui-out.h"
 #include "cli-out.h"
 #include "tui.h"
-#include <string.h>
-#include "gdb_assert.h"
-
 struct tui_ui_out_data
   {
     struct cli_ui_out_data base;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-regs.c ./gdb/tui/tui-regs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-regs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-regs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI display registers in window.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -30,7 +30,6 @@
 #include "regcache.h"
 #include "inferior.h"
 #include "target.h"
-#include <string.h>
 #include "tui/tui-layout.h"
 #include "tui/tui-win.h"
 #include "tui/tui-windata.h"
@@ -607,7 +606,7 @@ tui_reg_command (char *args, int from_tt
 {
   printf_unfiltered (_("\"tui reg\" must be followed by the name of a "
                      "tui reg command.\n"));
-  help_list (tuireglist, "tui reg ", -1, gdb_stdout);
+  help_list (tuireglist, "tui reg ", all_commands, gdb_stdout);
 }
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-regs.h ./gdb/tui/tui-regs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-regs.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-regs.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI display registers in window.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-source.c ./gdb/tui/tui-source.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-source.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-source.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI display source window.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -34,8 +34,6 @@
 #include "tui/tui-stack.h"
 #include "tui/tui-winsource.h"
 #include "tui/tui-source.h"
-
-#include <string.h>
 #include "gdb_curses.h"
 
 /* Function to display source in the source window.  */
@@ -113,7 +111,7 @@ tui_set_source_content (struct symtab *s
 		  stream = fdopen (desc, FOPEN_RT);
 		  clearerr (stream);
 		  cur_line = 0;
-		  src->gdbarch = get_objfile_arch (s->objfile);
+		  src->gdbarch = get_objfile_arch (SYMTAB_OBJFILE (s));
 		  src->start_line_or_addr.loa = LOA_LINE;
 		  cur_line_no = src->start_line_or_addr.u.line_no = line_no;
 		  if (offset > 0)
@@ -359,7 +357,7 @@ tui_vertical_source_scroll (enum tui_scr
       struct symtab_and_line cursal = get_current_source_symtab_and_line ();
 
       if (cursal.symtab == (struct symtab *) NULL)
-	s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL)));
+	s = find_pc_line_symtab (get_frame_pc (get_selected_frame (NULL)));
       else
 	s = cursal.symtab;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-source.h ./gdb/tui/tui-source.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-source.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-source.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI display source window.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-stack.c ./gdb/tui/tui-stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-stack.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-stack.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI display locator.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -28,7 +28,6 @@
 #include "target.h"
 #include "top.h"
 #include "gdb-demangle.h"
-#include <string.h>
 #include "source.h"
 #include "tui/tui.h"
 #include "tui/tui-data.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-stack.h ./gdb/tui/tui-stack.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-stack.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-stack.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI display locator.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-win.c ./gdb/tui/tui-win.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-win.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-win.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI window generic functions.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -45,8 +45,6 @@
 #include "tui/tui-win.h"
 
 #include "gdb_curses.h"
-
-#include <string.h>
 #include <ctype.h>
 #include "readline/readline.h"
 
@@ -333,7 +331,7 @@ tui_command (char *args, int from_tty)
 {
   printf_unfiltered (_("\"tui\" must be followed by the name of a "
                      "tui command.\n"));
-  help_list (tuilist, "tui ", -1, gdb_stdout);
+  help_list (tuilist, "tui ", all_commands, gdb_stdout);
 }
 
 struct cmd_list_element **
@@ -346,6 +344,15 @@ tui_get_cmd_list (void)
   return &tuilist;
 }
 
+/* The set_func hook of "set tui ..." commands that affect the window
+   borders on the TUI display.  */
+void
+tui_set_var_cmd (char *null_args, int from_tty, struct cmd_list_element *c)
+{
+  if (tui_update_variables () && tui_active)
+    tui_rehighlight_all ();
+}
+
 /* Function to initialize gdb commands, for tui window
    manipulation.  */
 
@@ -403,10 +410,10 @@ Usage: + [win] [n]\n"));
 Scroll window backward.\n\
 Usage: - [win] [n]\n"));
   add_com ("<", class_tui, tui_scroll_left_command, _("\
-Scroll window forward.\n\
+Scroll window text to the left.\n\
 Usage: < [win] [n]\n"));
   add_com (">", class_tui, tui_scroll_right_command, _("\
-Scroll window backward.\n\
+Scroll window text to the right.\n\
 Usage: > [win] [n]\n"));
   if (xdb_commands)
     add_com ("w", class_xdb, tui_xdb_set_win_height_command, _("\
@@ -422,7 +429,7 @@ This variable controls the border of TUI
 space           use a white space\n\
 ascii           use ascii characters + - | for the border\n\
 acs             use the Alternate Character Set"),
-			NULL,
+			tui_set_var_cmd,
 			show_tui_border_kind,
 			&tui_setlist, &tui_showlist);
 
@@ -438,7 +445,7 @@ half            use half bright\n\
 half-standout   use half bright and standout mode\n\
 bold            use extra bright or bold\n\
 bold-standout   use extra bright or bold with standout mode"),
-			NULL,
+			tui_set_var_cmd,
 			show_tui_border_mode,
 			&tui_setlist, &tui_showlist);
 
@@ -454,7 +461,7 @@ half            use half bright\n\
 half-standout   use half bright and standout mode\n\
 bold            use extra bright or bold\n\
 bold-standout   use extra bright or bold with standout mode"),
-			NULL,
+			tui_set_var_cmd,
 			show_tui_active_border_mode,
 			&tui_setlist, &tui_showlist);
 }
@@ -648,6 +655,14 @@ tui_refresh_all_win (void)
   tui_show_locator_content ();
 }
 
+void
+tui_rehighlight_all (void)
+{
+  enum tui_win_type type;
+
+  for (type = SRC_WIN; type < MAX_MAJOR_WINDOWS; type++)
+    tui_check_and_display_highlight_if_needed (tui_win_list[type]);
+}
 
 /* Resize all the windows based on the terminal size.  This function
    gets called from within the readline sinwinch handler.  */
@@ -836,6 +851,9 @@ tui_initialize_win (void)
 
   memset (&old_winch, 0, sizeof (old_winch));
   old_winch.sa_handler = &tui_sigwinch_handler;
+#ifdef SA_RESTART
+  old_winch.sa_flags = SA_RESTART;
+#endif
   sigaction (SIGWINCH, &old_winch, NULL);
 #else
   signal (SIGWINCH, &tui_sigwinch_handler);
@@ -1001,7 +1019,27 @@ tui_set_tab_width_command (char *arg, in
 
       ts = atoi (arg);
       if (ts > 0)
-	tui_set_default_tab_len (ts);
+	{
+	  tui_set_default_tab_len (ts);
+	  /* We don't really change the height of any windows, but
+	     calling these 2 functions causes a complete regeneration
+	     and redisplay of the window's contents, which will take
+	     the new tab width into account.  */
+	  if (tui_win_list[SRC_WIN]
+	      && tui_win_list[SRC_WIN]->generic.is_visible)
+	    {
+	      make_invisible_and_set_new_height (TUI_SRC_WIN,
+						 TUI_SRC_WIN->generic.height);
+	      make_visible_with_new_height (TUI_SRC_WIN);
+	    }
+	  if (tui_win_list[DISASSEM_WIN]
+	      && tui_win_list[DISASSEM_WIN]->generic.is_visible)
+	    {
+	      make_invisible_and_set_new_height (TUI_DISASM_WIN,
+						 TUI_DISASM_WIN->generic.height);
+	      make_visible_with_new_height (TUI_DISASM_WIN);
+	    }
+	}
       else
 	warning (_("Tab widths greater than 0 must be specified."));
     }
@@ -1388,7 +1426,7 @@ make_visible_with_new_height (struct tui
 	  struct frame_info *frame = deprecated_safe_get_selected_frame ();
 	  struct gdbarch *gdbarch = get_frame_arch (frame);
 
-	  s = find_pc_symtab (get_frame_pc (frame));
+	  s = find_pc_line_symtab (get_frame_pc (frame));
 	  if (win_info->generic.type == SRC_WIN)
 	    {
 	      line.loa = LOA_LINE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-windata.c ./gdb/tui/tui-windata.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-windata.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-windata.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Data/register window display.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -25,8 +25,6 @@
 #include "tui/tui-wingeneral.h"
 #include "tui/tui-regs.h"
 #include "tui/tui-windata.h"
-
-#include <string.h>
 #include "gdb_curses.h"
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-windata.h ./gdb/tui/tui-windata.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-windata.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-windata.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Data/register window display.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-wingeneral.c ./gdb/tui/tui-wingeneral.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-wingeneral.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-wingeneral.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* General window behavior.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-wingeneral.h ./gdb/tui/tui-wingeneral.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-wingeneral.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-wingeneral.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* General window behavior.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-win.h ./gdb/tui/tui-win.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-win.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-win.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI window generic functions.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -35,6 +35,7 @@ extern void tui_scroll (enum tui_scroll_
 extern void tui_set_win_focus_to (struct tui_win_info *);
 extern void tui_resize_all (void);
 extern void tui_refresh_all_win (void);
+extern void tui_rehighlight_all (void);
 
 extern chtype tui_border_ulcorner;
 extern chtype tui_border_urcorner;
@@ -55,4 +56,7 @@ extern void tui_update_gdb_sizes (void);
 /* Create or get the TUI command list.  */
 struct cmd_list_element **tui_get_cmd_list (void);
 
+/* Set a TUI variable.  */
+void tui_set_var_cmd (char *, int, struct cmd_list_element *);
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-winsource.c ./gdb/tui/tui-winsource.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-winsource.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-winsource.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI display source/assembly window.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -37,10 +37,7 @@
 #include "tui/tui-winsource.h"
 #include "tui/tui-source.h"
 #include "tui/tui-disasm.h"
-
-#include <string.h>
 #include "gdb_curses.h"
-#include "gdb_assert.h"
 
 /* Function to display the "main" routine.  */
 void
@@ -54,12 +51,12 @@ tui_display_main (void)
       tui_get_begin_asm_address (&gdbarch, &addr);
       if (addr != (CORE_ADDR) 0)
 	{
-	  struct symtab_and_line sal;
+	  struct symtab *s;
 
 	  tui_update_source_windows_with_addr (gdbarch, addr);
-	  sal = find_pc_line (addr, 0);
-          if (sal.symtab)
-             tui_update_locator_fullname (symtab_to_fullname (sal.symtab));
+	  s = find_pc_line_symtab (addr);
+          if (s != NULL)
+             tui_update_locator_fullname (symtab_to_fullname (s));
           else
              tui_update_locator_fullname ("??");
 	}
@@ -118,7 +115,7 @@ tui_update_source_window_as_is (struct t
 	  sal.line = line_or_addr.u.line_no +
 	    (win_info->generic.content_size - 2);
 	  sal.symtab = s;
-	  sal.pspace = s->objfile->pspace;
+	  sal.pspace = SYMTAB_PSPACE (s);
 	  set_current_source_symtab_and_line (&sal);
 	  /* If the focus was in the asm win, put it in the src win if
 	     we don't have a split layout.  */
@@ -186,7 +183,7 @@ tui_update_source_windows_with_line (str
   if (!s)
     return;
 
-  gdbarch = get_objfile_arch (s->objfile);
+  gdbarch = get_objfile_arch (SYMTAB_OBJFILE (s));
 
   switch (tui_current_layout ())
     {
@@ -334,7 +331,7 @@ tui_horizontal_source_scroll (struct tui
 	    = get_current_source_symtab_and_line ();
 
 	  if (cursal.symtab == NULL)
-	    s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL)));
+	    s = find_pc_line_symtab (get_frame_pc (get_selected_frame (NULL)));
 	  else
 	    s = cursal.symtab;
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-winsource.h ./gdb/tui/tui-winsource.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/tui/tui-winsource.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/tui/tui-winsource.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TUI display source/assembly window.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/typeprint.c ./gdb/typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/typeprint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/typeprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Language independent support for printing types for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,10 +31,7 @@
 #include "language.h"
 #include "cp-abi.h"
 #include "typeprint.h"
-#include <string.h>
-#include "exceptions.h"
 #include "valprint.h"
-#include <errno.h>
 #include <ctype.h>
 #include "cli/cli-utils.h"
 #include "extension.h"
@@ -288,8 +285,8 @@ find_global_typedef (const struct type_p
       return new_tf->name;
     }
 
-  /* Put an entry into the hash table now, in case apply_script_type_printers
-     recurses.  */
+  /* Put an entry into the hash table now, in case
+     apply_ext_lang_type_printers recurses.  */
   new_tf = XOBNEW (&flags->global_typedefs->storage, struct typedef_field);
   new_tf->name = NULL;
   new_tf->type = t;
@@ -464,9 +461,9 @@ whatis_exp (char *exp, int show)
     {
       if (((TYPE_CODE (type) == TYPE_CODE_PTR)
 	   || (TYPE_CODE (type) == TYPE_CODE_REF))
-	  && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_CLASS))
+	  && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_STRUCT))
         real_type = value_rtti_indirect_type (val, &full, &top, &using_enc);
-      else if (TYPE_CODE (type) == TYPE_CODE_CLASS)
+      else if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
 	real_type = value_rtti_type (val, &full, &top, &using_enc);
     }
 
@@ -636,7 +633,7 @@ set_print_type (char *arg, int from_tty)
 {
   printf_unfiltered (
      "\"set print type\" must be followed by the name of a subcommand.\n");
-  help_list (setprintlist, "set print type ", -1, gdb_stdout);
+  help_list (setprintlist, "set print type ", all_commands, gdb_stdout);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/typeprint.h ./gdb/typeprint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/typeprint.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/typeprint.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Language independent support for printing types for GDB, the GNU debugger.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ui-file.c ./gdb/ui-file.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ui-file.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/ui-file.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* UI_FILE - a generic STDIO like output stream.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,12 +22,9 @@
 #include "defs.h"
 #include "ui-file.h"
 #include "gdb_obstack.h"
-#include <string.h>
 #include "gdb_select.h"
 #include "filestuff.h"
 
-#include <errno.h>
-
 static ui_file_isatty_ftype null_file_isatty;
 static ui_file_write_ftype null_file_write;
 static ui_file_write_ftype null_file_write_async_safe;
@@ -226,6 +223,12 @@ ui_file_write (struct ui_file *file,
 }
 
 void
+ui_file_write_for_put (void *data, const char *buffer, long length_buffer)
+{
+  ui_file_write (data, buffer, length_buffer);
+}
+
+void
 ui_file_write_async_safe (struct ui_file *file,
 			  const char *buf,
 			  long length_buf)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ui-file.h ./gdb/ui-file.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ui-file.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/ui-file.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* UI_FILE - a generic STDIO like output stream.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -98,6 +98,12 @@ extern int ui_file_isatty (struct ui_fil
 extern void ui_file_write (struct ui_file *file, const char *buf,
 			   long length_buf);
 
+/* A wrapper for ui_file_write that is suitable for use by
+   ui_file_put.  */
+
+extern void ui_file_write_for_put (void *data, const char *buffer,
+				   long length_buffer);
+
 extern void ui_file_write_async_safe (struct ui_file *file, const char *buf,
 				      long length_buf);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ui-out.c ./gdb/ui-out.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ui-out.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/ui-out.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Output generating routines for GDB.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions.
    Written by Fernando Nasser for Cygnus.
@@ -21,11 +21,9 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "expression.h"		/* For language.h */
 #include "language.h"
 #include "ui-out.h"
-#include "gdb_assert.h"
 
 /* table header structures */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ui-out.h ./gdb/ui-out.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/ui-out.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/ui-out.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Output generating routines for GDB.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions.
    Written by Fernando Nasser for Cygnus.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/unwind_stop_reasons.def ./gdb/unwind_stop_reasons.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/unwind_stop_reasons.def	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/unwind_stop_reasons.def	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/user-regs.c ./gdb/user-regs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/user-regs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/user-regs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* User visible, per-frame registers, for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
@@ -22,9 +22,10 @@
 #include "defs.h"
 #include "user-regs.h"
 #include "gdbtypes.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "frame.h"
+#include "arch-utils.h"
+#include "command.h"
+#include "cli/cli-cmds.h"
 
 /* A table of user registers.
 
@@ -217,10 +218,31 @@ value_of_user_reg (int regnum, struct fr
   return reg->read (frame, reg->baton);
 }
 
+static void
+maintenance_print_user_registers (char *args, int from_tty)
+{
+  struct gdbarch *gdbarch = get_current_arch ();
+  struct gdb_user_regs *regs;
+  struct user_reg *reg;
+  int regnum;
+
+  regs = gdbarch_data (gdbarch, user_regs_data);
+  regnum = gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch);
+
+  fprintf_unfiltered (gdb_stdout, " %-11s %3s\n", "Name", "Nr");
+  for (reg = regs->first; reg != NULL; reg = reg->next, ++regnum)
+    fprintf_unfiltered (gdb_stdout, " %-11s %3d\n", reg->name, regnum);
+}
+
 extern initialize_file_ftype _initialize_user_regs; /* -Wmissing-prototypes */
 
 void
 _initialize_user_regs (void)
 {
   user_regs_data = gdbarch_data_register_post_init (user_regs_init);
+
+  add_cmd ("user-registers", class_maintenance,
+	   maintenance_print_user_registers,
+	   _("List the names of the current user registers.\n"),
+	   &maintenanceprintlist);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/user-regs.h ./gdb/user-regs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/user-regs.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/user-regs.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Per-frame user registers, for GDB, the GNU debugger.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/utils.c ./gdb/utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/utils.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/utils.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* General utility routines for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,12 +19,9 @@
 
 #include "defs.h"
 #include "dyn-string.h"
-#include "gdb_assert.h"
 #include <ctype.h>
-#include <string.h>
 #include "gdb_wait.h"
 #include "event-top.h"
-#include "exceptions.h"
 #include "gdbthread.h"
 #include "fnmatch.h"
 #include "gdb_bfd.h"
@@ -522,33 +519,18 @@ vwarning (const char *string, va_list ar
     (*deprecated_warning_hook) (string, args);
   else
     {
-      target_terminal_ours ();
-      wrap_here ("");		/* Force out any buffered output.  */
+      if (target_supports_terminal_ours ())
+	target_terminal_ours ();
+      if (filtered_printing_initialized ())
+	wrap_here ("");		/* Force out any buffered output.  */
       gdb_flush (gdb_stdout);
       if (warning_pre_print)
 	fputs_unfiltered (warning_pre_print, gdb_stderr);
       vfprintf_unfiltered (gdb_stderr, string, args);
       fprintf_unfiltered (gdb_stderr, "\n");
-      va_end (args);
     }
 }
 
-/* Print a warning message.
-   The first argument STRING is the warning message, used as a fprintf string,
-   and the remaining args are passed as arguments to it.
-   The primary difference between warnings and errors is that a warning
-   does not force the return to command level.  */
-
-void
-warning (const char *string, ...)
-{
-  va_list args;
-
-  va_start (args, string);
-  vwarning (string, args);
-  va_end (args);
-}
-
 /* Print an error message and return to command level.
    The first argument STRING is the error message, used as a fprintf string,
    and the remaining args are passed as arguments to it.  */
@@ -560,47 +542,30 @@ verror (const char *string, va_list args
 }
 
 void
-error (const char *string, ...)
+error_stream (struct ui_file *stream)
 {
-  va_list args;
-
-  va_start (args, string);
-  throw_verror (GENERIC_ERROR, string, args);
-  va_end (args);
-}
-
-/* Print an error message and quit.
-   The first argument STRING is the error message, used as a fprintf string,
-   and the remaining args are passed as arguments to it.  */
+  char *message = ui_file_xstrdup (stream, NULL);
 
-void
-vfatal (const char *string, va_list args)
-{
-  throw_vfatal (string, args);
+  make_cleanup (xfree, message);
+  error (("%s"), message);
 }
 
-void
-fatal (const char *string, ...)
-{
-  va_list args;
-
-  va_start (args, string);
-  throw_vfatal (string, args);
-  va_end (args);
-}
+/* Emit a message and abort.  */
 
-void
-error_stream (struct ui_file *stream)
+static void ATTRIBUTE_NORETURN
+abort_with_message (const char *msg)
 {
-  char *message = ui_file_xstrdup (stream, NULL);
+  if (gdb_stderr == NULL)
+    fputs (msg, stderr);
+  else
+    fputs_unfiltered (msg, gdb_stderr);
 
-  make_cleanup (xfree, message);
-  error (("%s"), message);
+  abort ();		/* NOTE: GDB has only three calls to abort().  */
 }
 
 /* Dump core trying to increase the core soft limit to hard limit first.  */
 
-static void
+void
 dump_core (void)
 {
 #ifdef HAVE_SETRLIMIT
@@ -613,10 +578,12 @@ dump_core (void)
 }
 
 /* Check whether GDB will be able to dump core using the dump_core
-   function.  */
+   function.  Returns zero if GDB cannot or should not dump core.
+   If LIMIT_KIND is LIMIT_CUR the user's soft limit will be respected.
+   If LIMIT_KIND is LIMIT_MAX only the hard limit will be respected.  */
 
-static int
-can_dump_core (const char *reason)
+int
+can_dump_core (enum resource_limit_kind limit_kind)
 {
 #ifdef HAVE_GETRLIMIT
   struct rlimit rlim;
@@ -625,19 +592,47 @@ can_dump_core (const char *reason)
   if (getrlimit (RLIMIT_CORE, &rlim) != 0)
     return 1;
 
-  if (rlim.rlim_max == 0)
+  switch (limit_kind)
     {
-      fprintf_unfiltered (gdb_stderr,
-			  _("%s\nUnable to dump core, use `ulimit -c"
-			    " unlimited' before executing GDB next time.\n"),
-			  reason);
-      return 0;
+    case LIMIT_CUR:
+      if (rlim.rlim_cur == 0)
+	return 0;
+
+    case LIMIT_MAX:
+      if (rlim.rlim_max == 0)
+	return 0;
     }
 #endif /* HAVE_GETRLIMIT */
 
   return 1;
 }
 
+/* Print a warning that we cannot dump core.  */
+
+void
+warn_cant_dump_core (const char *reason)
+{
+  fprintf_unfiltered (gdb_stderr,
+		      _("%s\nUnable to dump core, use `ulimit -c"
+			" unlimited' before executing GDB next time.\n"),
+		      reason);
+}
+
+/* Check whether GDB will be able to dump core using the dump_core
+   function, and print a warning if we cannot.  */
+
+static int
+can_dump_core_warn (enum resource_limit_kind limit_kind,
+		    const char *reason)
+{
+  int core_dump_allowed = can_dump_core (limit_kind);
+
+  if (!core_dump_allowed)
+    warn_cant_dump_core (reason);
+
+  return core_dump_allowed;
+}
+
 /* Allow the user to configure the debugger behavior with respect to
    what to do when an internal problem is detected.  */
 
@@ -659,7 +654,9 @@ static const char *const internal_proble
 struct internal_problem
 {
   const char *name;
+  int user_settable_should_quit;
   const char *should_quit;
+  int user_settable_should_dump_core;
   const char *should_dump_core;
 };
 
@@ -688,8 +685,7 @@ internal_vproblem (struct internal_probl
 	break;
       case 1:
 	dejavu = 2;
-	fputs_unfiltered (msg, gdb_stderr);
-	abort ();	/* NOTE: GDB has only three calls to abort().  */
+	abort_with_message (msg);
       default:
 	dejavu = 3;
         /* Newer GLIBC versions put the warn_unused_result attribute
@@ -703,10 +699,6 @@ internal_vproblem (struct internal_probl
       }
   }
 
-  /* Try to get the message out and at the start of a new line.  */
-  target_terminal_ours ();
-  begin_line ();
-
   /* Create a string containing the full error/warning message.  Need
      to call query with this full string, as otherwize the reason
      (error/warning) and question become separated.  Format using a
@@ -724,18 +716,32 @@ internal_vproblem (struct internal_probl
     make_cleanup (xfree, reason);
   }
 
+  /* Fall back to abort_with_message if gdb_stderr is not set up.  */
+  if (gdb_stderr == NULL)
+    {
+      fputs (reason, stderr);
+      abort_with_message ("\n");
+    }
+
+  /* Try to get the message out and at the start of a new line.  */
+  if (target_supports_terminal_ours ())
+    target_terminal_ours ();
+  if (filtered_printing_initialized ())
+    begin_line ();
+
+  /* Emit the message unless query will emit it below.  */
+  if (problem->should_quit != internal_problem_ask
+      || !confirm
+      || !filtered_printing_initialized ())
+    fprintf_unfiltered (gdb_stderr, "%s\n", reason);
+
   if (problem->should_quit == internal_problem_ask)
     {
       /* Default (yes/batch case) is to quit GDB.  When in batch mode
 	 this lessens the likelihood of GDB going into an infinite
 	 loop.  */
-      if (!confirm)
-        {
-          /* Emit the message and quit.  */
-          fputs_unfiltered (reason, gdb_stderr);
-          fputs_unfiltered ("\n", gdb_stderr);
-          quit_p = 1;
-        }
+      if (!confirm || !filtered_printing_initialized ())
+	quit_p = 1;
       else
         quit_p = query (_("%s\nQuit this debugging session? "), reason);
     }
@@ -754,8 +760,10 @@ internal_vproblem (struct internal_probl
 
   if (problem->should_dump_core == internal_problem_ask)
     {
-      if (!can_dump_core (reason))
+      if (!can_dump_core_warn (LIMIT_MAX, reason))
 	dump_core_p = 0;
+      else if (!filtered_printing_initialized ())
+	dump_core_p = 1;
       else
 	{
 	  /* Default (yes/batch case) is to dump core.  This leaves a GDB
@@ -765,7 +773,7 @@ internal_vproblem (struct internal_probl
 	}
     }
   else if (problem->should_dump_core == internal_problem_yes)
-    dump_core_p = can_dump_core (reason);
+    dump_core_p = can_dump_core_warn (LIMIT_MAX, reason);
   else if (problem->should_dump_core == internal_problem_no)
     dump_core_p = 0;
   else
@@ -794,43 +802,43 @@ internal_vproblem (struct internal_probl
 }
 
 static struct internal_problem internal_error_problem = {
-  "internal-error", internal_problem_ask, internal_problem_ask
+  "internal-error", 1, internal_problem_ask, 1, internal_problem_ask
 };
 
 void
 internal_verror (const char *file, int line, const char *fmt, va_list ap)
 {
   internal_vproblem (&internal_error_problem, file, line, fmt, ap);
-  fatal (_("Command aborted."));
+  throw_quit (_("Command aborted."));
 }
 
+static struct internal_problem internal_warning_problem = {
+  "internal-warning", 1, internal_problem_ask, 1, internal_problem_ask
+};
+
 void
-internal_error (const char *file, int line, const char *string, ...)
+internal_vwarning (const char *file, int line, const char *fmt, va_list ap)
 {
-  va_list ap;
-
-  va_start (ap, string);
-  internal_verror (file, line, string, ap);
-  va_end (ap);
+  internal_vproblem (&internal_warning_problem, file, line, fmt, ap);
 }
 
-static struct internal_problem internal_warning_problem = {
-  "internal-warning", internal_problem_ask, internal_problem_ask
+static struct internal_problem demangler_warning_problem = {
+  "demangler-warning", 1, internal_problem_ask, 0, internal_problem_no
 };
 
 void
-internal_vwarning (const char *file, int line, const char *fmt, va_list ap)
+demangler_vwarning (const char *file, int line, const char *fmt, va_list ap)
 {
-  internal_vproblem (&internal_warning_problem, file, line, fmt, ap);
+  internal_vproblem (&demangler_warning_problem, file, line, fmt, ap);
 }
 
 void
-internal_warning (const char *file, int line, const char *string, ...)
+demangler_warning (const char *file, int line, const char *string, ...)
 {
   va_list ap;
 
   va_start (ap, string);
-  internal_vwarning (file, line, string, ap);
+  demangler_vwarning (file, line, string, ap);
   va_end (ap);
 }
 
@@ -894,45 +902,51 @@ add_internal_problem_command (struct int
 			  (char *) NULL),
 		  0/*allow-unknown*/, &maintenance_show_cmdlist);
 
-  set_doc = xstrprintf (_("Set whether GDB should quit "
-			  "when an %s is detected"),
-			problem->name);
-  show_doc = xstrprintf (_("Show whether GDB will quit "
-			   "when an %s is detected"),
-			 problem->name);
-  add_setshow_enum_cmd ("quit", class_maintenance,
-			internal_problem_modes,
-			&problem->should_quit,
-			set_doc,
-			show_doc,
-			NULL, /* help_doc */
-			NULL, /* setfunc */
-			NULL, /* showfunc */
-			set_cmd_list,
-			show_cmd_list);
-
-  xfree (set_doc);
-  xfree (show_doc);
-
-  set_doc = xstrprintf (_("Set whether GDB should create a core "
-			  "file of GDB when %s is detected"),
-			problem->name);
-  show_doc = xstrprintf (_("Show whether GDB will create a core "
-			   "file of GDB when %s is detected"),
-			 problem->name);
-  add_setshow_enum_cmd ("corefile", class_maintenance,
-			internal_problem_modes,
-			&problem->should_dump_core,
-			set_doc,
-			show_doc,
-			NULL, /* help_doc */
-			NULL, /* setfunc */
-			NULL, /* showfunc */
-			set_cmd_list,
-			show_cmd_list);
+  if (problem->user_settable_should_quit)
+    {
+      set_doc = xstrprintf (_("Set whether GDB should quit "
+			      "when an %s is detected"),
+			    problem->name);
+      show_doc = xstrprintf (_("Show whether GDB will quit "
+			       "when an %s is detected"),
+			     problem->name);
+      add_setshow_enum_cmd ("quit", class_maintenance,
+			    internal_problem_modes,
+			    &problem->should_quit,
+			    set_doc,
+			    show_doc,
+			    NULL, /* help_doc */
+			    NULL, /* setfunc */
+			    NULL, /* showfunc */
+			    set_cmd_list,
+			    show_cmd_list);
+
+      xfree (set_doc);
+      xfree (show_doc);
+    }
+
+  if (problem->user_settable_should_dump_core)
+    {
+      set_doc = xstrprintf (_("Set whether GDB should create a core "
+			      "file of GDB when %s is detected"),
+			    problem->name);
+      show_doc = xstrprintf (_("Show whether GDB will create a core "
+			       "file of GDB when %s is detected"),
+			     problem->name);
+      add_setshow_enum_cmd ("corefile", class_maintenance,
+			    internal_problem_modes,
+			    &problem->should_dump_core,
+			    set_doc,
+			    show_doc,
+			    NULL, /* help_doc */
+			    NULL, /* setfunc */
+			    NULL, /* showfunc */
+			    set_cmd_list,
+			    show_cmd_list);
 
-  xfree (set_doc);
-  xfree (show_doc);
+      xfree (set_doc);
+      xfree (show_doc);
+    }
 }
 
 /* Return a newly allocated string, containing the PREFIX followed
@@ -1032,15 +1046,15 @@ quit (void)
 #ifdef __MSDOS__
   /* No steenking SIGINT will ever be coming our way when the
      program is resumed.  Don't lie.  */
-  fatal ("Quit");
+  throw_quit ("Quit");
 #else
   if (job_control
       /* If there is no terminal switching for this target, then we can't
          possibly get screwed by the lack of job control.  */
-      || current_target.to_terminal_ours == NULL)
-    fatal ("Quit");
+      || !target_supports_terminal_ours ())
+    throw_quit ("Quit");
   else
-    fatal ("Quit (expect signal SIGINT when the program is resumed)");
+    throw_quit ("Quit (expect signal SIGINT when the program is resumed)");
 #endif
 }
 
@@ -1098,6 +1112,23 @@ gdb_print_host_address (const void *addr
 {
   fprintf_filtered (stream, "%s", host_address_to_string (addr));
 }
+
+/* See utils.h.  */
+
+char *
+make_hex_string (const gdb_byte *data, size_t length)
+{
+  char *result = xmalloc (length * 2 + 1);
+  char *p;
+  size_t i;
+
+  p = result;
+  for (i = 0; i < length; ++i)
+    p += xsnprintf (p, 3, "%02x", data[i]);
+  *p = '\0';
+  return result;
+}
+
 
 
 /* A cleanup function that calls regfree.  */
@@ -1167,12 +1198,11 @@ compile_rx_or_error (regex_t *pattern, c
 static int ATTRIBUTE_PRINTF (1, 0)
 defaulted_query (const char *ctlstr, const char defchar, va_list args)
 {
-  int answer;
   int ans2;
   int retval;
   int def_value;
   char def_answer, not_def_answer;
-  char *y_string, *n_string, *question;
+  char *y_string, *n_string, *question, *prompt;
   /* Used to add duration we waited for user to respond to
      prompt_for_continue_wait_time.  */
   struct timeval prompt_started, prompt_ended, prompt_delta;
@@ -1232,62 +1262,31 @@ defaulted_query (const char *ctlstr, con
 
   /* Format the question outside of the loop, to avoid reusing args.  */
   question = xstrvprintf (ctlstr, args);
+  prompt = xstrprintf (_("%s%s(%s or %s) %s"),
+		      annotation_level > 1 ? "\n\032\032pre-query\n" : "",
+		      question, y_string, n_string,
+		      annotation_level > 1 ? "\n\032\032query\n" : "");
+  xfree (question);
 
   /* Used for calculating time spend waiting for user.  */
   gettimeofday (&prompt_started, NULL);
 
   while (1)
     {
-      wrap_here ("");		/* Flush any buffered output.  */
-      gdb_flush (gdb_stdout);
+      char *response, answer;
 
-      if (annotation_level > 1)
-	printf_filtered (("\n\032\032pre-query\n"));
-
-      fputs_filtered (question, gdb_stdout);
-      printf_filtered (_("(%s or %s) "), y_string, n_string);
-
-      if (annotation_level > 1)
-	printf_filtered (("\n\032\032query\n"));
-
-      wrap_here ("");
       gdb_flush (gdb_stdout);
+      response = gdb_readline_wrapper (prompt);
 
-      answer = fgetc (stdin);
-
-      /* We expect fgetc to block until a character is read.  But
-         this may not be the case if the terminal was opened with
-         the NONBLOCK flag.  In that case, if there is nothing to
-         read on stdin, fgetc returns EOF, but also sets the error
-         condition flag on stdin and errno to EAGAIN.  With a true
-         EOF, stdin's error condition flag is not set.
-
-         A situation where this behavior was observed is a pseudo
-         terminal on AIX.  */
-      while (answer == EOF && ferror (stdin) && errno == EAGAIN)
-        {
-          /* Not a real EOF.  Wait a little while and try again until
-             we read something.  */
-          clearerr (stdin);
-          gdb_usleep (10000);
-          answer = fgetc (stdin);
-        }
-
-      clearerr (stdin);		/* in case of C-d */
-      if (answer == EOF)	/* C-d */
+      if (response == NULL)	/* C-d  */
 	{
 	  printf_filtered ("EOF [assumed %c]\n", def_answer);
 	  retval = def_value;
 	  break;
 	}
-      /* Eat rest of input line, to EOF or newline.  */
-      if (answer != '\n')
-	do
-	  {
-	    ans2 = fgetc (stdin);
-	    clearerr (stdin);
-	  }
-	while (ans2 != EOF && ans2 != '\n' && ans2 != '\r');
+
+      answer = response[0];
+      xfree (response);
 
       if (answer >= 'a')
 	answer -= 040;
@@ -1302,8 +1301,7 @@ defaulted_query (const char *ctlstr, con
          specify the required input or have it default by entering
          nothing.  */
       if (answer == def_answer
-	  || (defchar != '\0' &&
-	      (answer == '\n' || answer == '\r' || answer == EOF)))
+	  || (defchar != '\0' && answer == '\0'))
 	{
 	  retval = def_value;
 	  break;
@@ -1319,7 +1317,7 @@ defaulted_query (const char *ctlstr, con
   timeval_add (&prompt_for_continue_wait_time,
                &prompt_for_continue_wait_time, &prompt_delta);
 
-  xfree (question);
+  xfree (prompt);
   if (annotation_level > 1)
     printf_filtered (("\n\032\032post-query\n"));
   return retval;
@@ -1702,6 +1700,13 @@ init_page_info (void)
   set_width ();
 }
 
+/* Return nonzero if filtered printing is initialized.  */
+int
+filtered_printing_initialized (void)
+{
+  return wrap_buffer != NULL;
+}
+
 /* Helper for make_cleanup_restore_page_info.  */
 
 static void
@@ -2847,84 +2852,48 @@ string_to_core_addr (const char *my_stri
 char *
 gdb_realpath (const char *filename)
 {
-  /* Method 1: The system has a compile time upper bound on a filename
-     path.  Use that and realpath() to canonicalize the name.  This is
-     the most common case.  Note that, if there isn't a compile time
-     upper bound, you want to avoid realpath() at all costs.  */
-#if defined (HAVE_REALPATH) && defined (PATH_MAX)
-  {
-    char buf[PATH_MAX];
-    const char *rp = realpath (filename, buf);
-
-    if (rp == NULL)
-      rp = filename;
-    return xstrdup (rp);
-  }
-#endif /* HAVE_REALPATH */
-
-  /* Method 2: The host system (i.e., GNU) has the function
-     canonicalize_file_name() which malloc's a chunk of memory and
-     returns that, use that.  */
-#if defined(HAVE_CANONICALIZE_FILE_NAME)
-  {
-    char *rp = canonicalize_file_name (filename);
-
-    if (rp == NULL)
-      return xstrdup (filename);
-    else
-      return rp;
-  }
-#endif
+/* On most hosts, we rely on canonicalize_file_name to compute
+   the FILENAME's realpath.
 
-  /* FIXME: cagney/2002-11-13:
+   But the situation is slightly more complex on Windows, due to some
+   versions of GCC which were reported to generate paths where
+   backlashes (the directory separator) were doubled.  For instance:
+      c:\\some\\double\\slashes\\dir
+   ... instead of ...
+      c:\some\double\slashes\dir
+   Those double-slashes were getting in the way when comparing paths,
+   for instance when trying to insert a breakpoint as follow:
+      (gdb) b c:/some/double/slashes/dir/foo.c:4
+      No source file named c:/some/double/slashes/dir/foo.c:4.
+      (gdb) b c:\some\double\slashes\dir\foo.c:4
+      No source file named c:\some\double\slashes\dir\foo.c:4.
+   To prevent this from happening, we need this function to always
+   strip those extra backslashes.  While canonicalize_file_name does
+   perform this simplification, it only works when the path is valid.
+   Since the simplification would be useful even if the path is not
+   valid (one can always set a breakpoint on a file, even if the file
+   does not exist locally), we rely instead on GetFullPathName to
+   perform the canonicalization.  */
 
-     Method 2a: Use realpath() with a NULL buffer.  Some systems, due
-     to the problems described in method 3, have modified their
-     realpath() implementation so that it will allocate a buffer when
-     NULL is passed in.  Before this can be used, though, some sort of
-     configure time test would need to be added.  Otherwize the code
-     will likely core dump.  */
-
-  /* Method 3: Now we're getting desperate!  The system doesn't have a
-     compile time buffer size and no alternative function.  Query the
-     OS, using pathconf(), for the buffer limit.  Care is needed
-     though, some systems do not limit PATH_MAX (return -1 for
-     pathconf()) making it impossible to pass a correctly sized buffer
-     to realpath() (it could always overflow).  On those systems, we
-     skip this.  */
-#if defined (HAVE_REALPATH) && defined (_PC_PATH_MAX) && defined(HAVE_ALLOCA)
-  {
-    /* Find out the max path size.  */
-    long path_max = pathconf ("/", _PC_PATH_MAX);
-
-    if (path_max > 0)
-      {
-	/* PATH_MAX is bounded.  */
-	char *buf = alloca (path_max);
-	char *rp = realpath (filename, buf);
-
-	return xstrdup (rp ? rp : filename);
-      }
-  }
-#endif
-
-  /* The MS Windows method.  If we don't have realpath, we assume we
-     don't have symlinks and just canonicalize to a Windows absolute
-     path.  GetFullPath converts ../ and ./ in relative paths to
-     absolute paths, filling in current drive if one is not given
-     or using the current directory of a specified drive (eg, "E:foo").
-     It also converts all forward slashes to back slashes.  */
-  /* The file system is case-insensitive but case-preserving.
-     So we do not lowercase the path.  Otherwise, we might not
-     be able to display the original casing in a given path.  */
 #if defined (_WIN32)
   {
     char buf[MAX_PATH];
     DWORD len = GetFullPathName (filename, MAX_PATH, buf, NULL);
 
+    /* The file system is case-insensitive but case-preserving.
+       So it is important we do not lowercase the path.  Otherwise,
+       we might not be able to display the original casing in a given
+       path.  */
     if (len > 0 && len < MAX_PATH)
       return xstrdup (buf);
   }
+#else
+  {
+    char *rp = canonicalize_file_name (filename);
+
+    if (rp != NULL)
+      return rp;
+  }
 #endif
 
   /* This system is a lost cause, just dup the buffer.  */
@@ -3019,30 +2988,13 @@ align_down (ULONGEST v, int n)
   return (v & -n);
 }
 
-/* See utils.h.  */
-
-LONGEST
-gdb_sign_extend (LONGEST value, int bit)
-{
-  gdb_assert (bit >= 1 && bit <= 8 * sizeof (LONGEST));
-
-  if (((value >> (bit - 1)) & 1) != 0)
-    {
-      LONGEST signbit = ((LONGEST) 1) << (bit - 1);
-
-      value = (value ^ signbit) - signbit;
-    }
-
-  return value;
-}
-
 /* Allocation function for the libiberty hash table which uses an
    obstack.  The obstack is passed as DATA.  */
 
 void *
 hashtab_obstack_allocate (void *data, size_t size, size_t count)
 {
-  unsigned int total = size * count;
+  size_t total = size * count;
   void *ptr = obstack_alloc ((struct obstack *) data, total);
 
   memset (ptr, 0, total);
@@ -3533,4 +3485,5 @@ _initialize_utils (void)
 {
   add_internal_problem_command (&internal_error_problem);
   add_internal_problem_command (&internal_warning_problem);
+  add_internal_problem_command (&demangler_warning_problem);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/utils.h ./gdb/utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/utils.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/utils.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* *INDENT-OFF* */ /* ATTRIBUTE_PRINTF confuses indent, avoid running it
 		      for now.  */
 /* I/O, string, cleanup, and other random utilities for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,9 +21,7 @@
 #ifndef UTILS_H
 #define UTILS_H
 
-#include "cleanups.h"
 #include "exceptions.h"
-#include "print-utils.h"
 
 extern void initialize_utils (void);
 
@@ -31,8 +29,6 @@ extern void initialize_utils (void);
 
 extern int sevenbit_strings;
 
-extern char *savestring (const char *, size_t);
-
 extern int strcmp_iw (const char *, const char *);
 
 extern int strcmp_iw_ordered (const char *, const char *);
@@ -247,6 +243,9 @@ extern void fputstrn_filtered (const cha
 extern void fputstrn_unfiltered (const char *str, int n, int quotr,
 				 struct ui_file * stream);
 
+/* Return nonzero if filtered printing is initialized.  */
+extern int filtered_printing_initialized (void);
+
 /* Display the host ADDR on STREAM formatted as ``0x%x''.  */
 extern void gdb_print_host_address (const void *addr, struct ui_file *stream);
 
@@ -271,7 +270,6 @@ extern void fprintf_symbol_filtered (str
 
 extern void throw_perror_with_name (enum errors errcode, const char *string)
   ATTRIBUTE_NORETURN;
-extern void perror_with_name (const char *) ATTRIBUTE_NORETURN;
 
 extern void perror_warning_with_name (const char *string);
 
@@ -285,34 +283,15 @@ extern void (*deprecated_error_begin_hoo
 
 extern char *warning_pre_print;
 
-extern void verror (const char *fmt, va_list ap)
-     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
-
-extern void error (const char *fmt, ...)
-     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
-
 extern void error_stream (struct ui_file *) ATTRIBUTE_NORETURN;
 
-extern void vfatal (const char *fmt, va_list ap)
-     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
-
-extern void fatal (const char *fmt, ...)
-     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
-
-extern void internal_verror (const char *file, int line, const char *,
-			     va_list ap)
-     ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0);
-
-extern void internal_vwarning (const char *file, int line,
+extern void demangler_vwarning (const char *file, int line,
 			       const char *, va_list ap)
      ATTRIBUTE_PRINTF (3, 0);
 
-extern void internal_warning (const char *file, int line,
+extern void demangler_warning (const char *file, int line,
 			      const char *, ...) ATTRIBUTE_PRINTF (3, 4);
 
-extern void warning (const char *, ...) ATTRIBUTE_PRINTF (1, 2);
-
-extern void vwarning (const char *, va_list args) ATTRIBUTE_PRINTF (1, 0);
 
 /* Misc. utilities.  */
 
@@ -361,9 +340,33 @@ extern int myread (int, char *, int);
 extern ULONGEST align_up (ULONGEST v, int n);
 extern ULONGEST align_down (ULONGEST v, int n);
 
-/* Sign extend VALUE.  BIT is the (1-based) index of the bit in VALUE
-   to sign-extend.  */
+/* Resource limits used by getrlimit and setrlimit.  */
+
+enum resource_limit_kind
+  {
+    LIMIT_CUR,
+    LIMIT_MAX
+  };
+
+/* Check whether GDB will be able to dump core using the dump_core
+   function.  Returns zero if GDB cannot or should not dump core.
+   If LIMIT_KIND is LIMIT_CUR the user's soft limit will be respected.
+   If LIMIT_KIND is LIMIT_MAX only the hard limit will be respected.  */
+
+extern int can_dump_core (enum resource_limit_kind limit_kind);
+
+/* Print a warning that we cannot dump core.  */
+
+extern void warn_cant_dump_core (const char *reason);
+
+/* Dump core trying to increase the core soft limit to hard limit
+   first.  */
+
+extern void dump_core (void);
+
+/* Return the hex string form of LENGTH bytes of DATA.
+   Space for the result is malloc'd, caller must free.  */
 
-extern LONGEST gdb_sign_extend (LONGEST value, int bit);
+extern char *make_hex_string (const gdb_byte *data, size_t length);
 
 #endif /* UTILS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/v850-tdep.c ./gdb/v850-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/v850-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/v850-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the NEC V850 for GDB, the GNU debugger.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,8 +25,6 @@
 #include "dwarf2-frame.h"
 #include "gdbtypes.h"
 #include "inferior.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "gdbcore.h"
 #include "arch-utils.h"
 #include "regcache.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/valarith.c ./gdb/valarith.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/valarith.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/valarith.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Perform arithmetic and other operations on values, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,12 +24,10 @@
 #include "expression.h"
 #include "target.h"
 #include "language.h"
-#include <string.h>
 #include "doublest.h"
 #include "dfp.h"
 #include <math.h>
 #include "infcall.h"
-#include "exceptions.h"
 
 /* Define whether or not the C operator '/' truncates towards zero for
    differently signed operands (truncation direction is undefined in C).  */
@@ -287,7 +285,7 @@ unop_user_defined_p (enum exp_opcode op,
 
 static struct value *
 value_user_defined_cpp_op (struct value **args, int nargs, char *operator,
-                           int *static_memfuncp)
+                           int *static_memfuncp, enum noside noside)
 {
 
   struct symbol *symp = NULL;
@@ -296,7 +294,7 @@ value_user_defined_cpp_op (struct value 
   find_overload_match (args, nargs, operator, BOTH /* could be method */,
                        &args[0] /* objp */,
                        NULL /* pass NULL symbol since symbol is unknown */,
-                       &valp, &symp, static_memfuncp, 0);
+                       &valp, &symp, static_memfuncp, 0, noside);
 
   if (valp)
     return valp;
@@ -318,12 +316,15 @@ value_user_defined_cpp_op (struct value 
 
 static struct value *
 value_user_defined_op (struct value **argp, struct value **args, char *name,
-                       int *static_memfuncp, int nargs)
+                       int *static_memfuncp, int nargs, enum noside noside)
 {
   struct value *result = NULL;
 
   if (current_language->la_language == language_cplus)
-    result = value_user_defined_cpp_op (args, nargs, name, static_memfuncp);
+    {
+      result = value_user_defined_cpp_op (args, nargs, name, static_memfuncp,
+					  noside);
+    }
   else
     result = value_struct_elt (argp, args, name, static_memfuncp,
                                "structure");
@@ -472,7 +473,7 @@ value_x_binop (struct value *arg1, struc
     }
 
   argvec[0] = value_user_defined_op (&arg1, argvec + 1, tstr,
-                                     &static_memfuncp, 2);
+                                     &static_memfuncp, 2, noside);
 
   if (argvec[0])
     {
@@ -583,7 +584,7 @@ value_x_unop (struct value *arg1, enum e
     }
 
   argvec[0] = value_user_defined_op (&arg1, argvec + 1, tstr,
-                                     &static_memfuncp, nargs);
+                                     &static_memfuncp, nargs, noside);
 
   if (argvec[0])
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/valops.c ./gdb/valops.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/valops.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/valops.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Perform non-arithmetic operations on values, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -36,12 +36,8 @@
 #include "cp-support.h"
 #include "dfp.h"
 #include "tracepoint.h"
-#include <errno.h>
-#include <string.h>
-#include "gdb_assert.h"
 #include "observer.h"
 #include "objfiles.h"
-#include "exceptions.h"
 #include "extension.h"
 
 extern unsigned int overload_debug;
@@ -143,7 +139,7 @@ find_function_in_inferior (const char *n
 	}
 
       if (objf_p)
-	*objf_p = SYMBOL_SYMTAB (sym)->objfile;
+	*objf_p = symbol_objfile (sym);
 
       return value_of_variable (sym, NULL);
     }
@@ -336,7 +332,7 @@ value_cast_pointers (struct type *type, 
 	  deprecated_set_value_type (v, type);
 	  return v;
 	}
-   }
+    }
 
   /* No superclass found, just change the pointer type.  */
   arg2 = value_copy (arg2);
@@ -739,7 +735,7 @@ value_dynamic_cast (struct type *type, s
       && TYPE_CODE (resolved_type) != TYPE_CODE_REF)
     error (_("Argument to dynamic_cast must be a pointer or reference type"));
   if (TYPE_CODE (TYPE_TARGET_TYPE (resolved_type)) != TYPE_CODE_VOID
-      && TYPE_CODE (TYPE_TARGET_TYPE (resolved_type)) != TYPE_CODE_CLASS)
+      && TYPE_CODE (TYPE_TARGET_TYPE (resolved_type)) != TYPE_CODE_STRUCT)
     error (_("Argument to dynamic_cast must be pointer to class or `void *'"));
 
   class_type = check_typedef (TYPE_TARGET_TYPE (resolved_type));
@@ -752,7 +748,7 @@ value_dynamic_cast (struct type *type, s
       if (TYPE_CODE (arg_type) == TYPE_CODE_PTR)
 	{
 	  arg_type = check_typedef (TYPE_TARGET_TYPE (arg_type));
-	  if (TYPE_CODE (arg_type) != TYPE_CODE_CLASS)
+	  if (TYPE_CODE (arg_type) != TYPE_CODE_STRUCT)
 	    error (_("Argument to dynamic_cast does "
 		     "not have pointer to class type"));
 	}
@@ -765,7 +761,7 @@ value_dynamic_cast (struct type *type, s
     }
   else
     {
-      if (TYPE_CODE (arg_type) != TYPE_CODE_CLASS)
+      if (TYPE_CODE (arg_type) != TYPE_CODE_STRUCT)
 	error (_("Argument to dynamic_cast does not have class type"));
     }
 
@@ -1115,52 +1111,54 @@ value_assign (struct value *toval, struc
 	  error (_("Value being assigned to is no longer active."));
 
 	gdbarch = get_frame_arch (frame);
-	if (gdbarch_convert_register_p (gdbarch, VALUE_REGNUM (toval), type))
+
+	if (value_bitsize (toval))
 	  {
-	    /* If TOVAL is a special machine register requiring
-	       conversion of program values to a special raw
-	       format.  */
-	    gdbarch_value_to_register (gdbarch, frame,
-				       VALUE_REGNUM (toval), type,
-				       value_contents (fromval));
+	    struct value *parent = value_parent (toval);
+	    int offset = value_offset (parent) + value_offset (toval);
+	    int changed_len;
+	    gdb_byte buffer[sizeof (LONGEST)];
+	    int optim, unavail;
+
+	    changed_len = (value_bitpos (toval)
+			   + value_bitsize (toval)
+			   + HOST_CHAR_BIT - 1)
+			  / HOST_CHAR_BIT;
+
+	    if (changed_len > (int) sizeof (LONGEST))
+	      error (_("Can't handle bitfields which "
+		       "don't fit in a %d bit word."),
+		     (int) sizeof (LONGEST) * HOST_CHAR_BIT);
+
+	    if (!get_frame_register_bytes (frame, value_reg, offset,
+					   changed_len, buffer,
+					   &optim, &unavail))
+	      {
+		if (optim)
+		  throw_error (OPTIMIZED_OUT_ERROR,
+			       _("value has been optimized out"));
+		if (unavail)
+		  throw_error (NOT_AVAILABLE_ERROR,
+			       _("value is not available"));
+	      }
+
+	    modify_field (type, buffer, value_as_long (fromval),
+			  value_bitpos (toval), value_bitsize (toval));
+
+	    put_frame_register_bytes (frame, value_reg, offset,
+				      changed_len, buffer);
 	  }
 	else
 	  {
-	    if (value_bitsize (toval))
+	    if (gdbarch_convert_register_p (gdbarch, VALUE_REGNUM (toval),
+					    type))
 	      {
-		struct value *parent = value_parent (toval);
-		int offset = value_offset (parent) + value_offset (toval);
-		int changed_len;
-		gdb_byte buffer[sizeof (LONGEST)];
-		int optim, unavail;
-
-		changed_len = (value_bitpos (toval)
-			       + value_bitsize (toval)
-			       + HOST_CHAR_BIT - 1)
-		  / HOST_CHAR_BIT;
-
-		if (changed_len > (int) sizeof (LONGEST))
-		  error (_("Can't handle bitfields which "
-			   "don't fit in a %d bit word."),
-			 (int) sizeof (LONGEST) * HOST_CHAR_BIT);
-
-		if (!get_frame_register_bytes (frame, value_reg, offset,
-					       changed_len, buffer,
-					       &optim, &unavail))
-		  {
-		    if (optim)
-		      throw_error (OPTIMIZED_OUT_ERROR,
-				   _("value has been optimized out"));
-		    if (unavail)
-		      throw_error (NOT_AVAILABLE_ERROR,
-				   _("value is not available"));
-		  }
-
-		modify_field (type, buffer, value_as_long (fromval),
-			      value_bitpos (toval), value_bitsize (toval));
-
-		put_frame_register_bytes (frame, value_reg, offset,
-					  changed_len, buffer);
+		/* If TOVAL is a special machine register requiring
+		   conversion of program values to a special raw
+		   format.  */
+		gdbarch_value_to_register (gdbarch, frame,
+					   VALUE_REGNUM (toval), type,
+					   value_contents (fromval));
 	      }
 	    else
 	      {
@@ -1171,6 +1169,7 @@ value_assign (struct value *toval, struc
 	      }
 	  }
 
+	observer_notify_register_changed (frame, value_reg);
 	if (deprecated_register_changed_hook)
 	  deprecated_register_changed_hook (-1);
 	break;
@@ -1722,7 +1721,7 @@ typecmp (int staticp, int varargs, int n
       tt2 = check_typedef (value_type (t2[i]));
 
       if (TYPE_CODE (tt1) == TYPE_CODE_REF
-      /* We should be doing hairy argument matching, as below.  */
+	  /* We should be doing hairy argument matching, as below.  */
 	  && (TYPE_CODE (check_typedef (TYPE_TARGET_TYPE (tt1)))
 	      == TYPE_CODE (tt2)))
 	{
@@ -1826,9 +1825,7 @@ do_search_struct_field (const char *name
 	  }
 
 	if (t_field_name
-	    && (t_field_name[0] == '\0'
-		|| (TYPE_CODE (type) == TYPE_CODE_UNION
-		    && (strcmp_iw (t_field_name, "else") == 0))))
+	    && t_field_name[0] == '\0')
 	  {
 	    struct type *field_type = TYPE_FIELD_TYPE (type, i);
 
@@ -2056,7 +2053,7 @@ search_struct_method (const char *name, 
 
 	  /* The virtual base class pointer might have been
 	     clobbered by the user program.  Make sure that it
-	    still points to a valid memory location.  */
+	     still points to a valid memory location.  */
 
 	  if (offset < 0 || offset >= TYPE_LENGTH (type))
 	    {
@@ -2186,8 +2183,8 @@ value_struct_elt (struct value **argp, s
       return v;
     }
 
-    v = search_struct_method (name, argp, args, 0, 
-			      static_memfuncp, t);
+  v = search_struct_method (name, argp, args, 0, 
+			    static_memfuncp, t);
   
   if (v == (struct value *) - 1)
     {
@@ -2452,6 +2449,12 @@ value_find_oload_method_list (struct val
    ADL overload candidates when performing overload resolution for a fully
    qualified name.
 
+   If NOSIDE is EVAL_AVOID_SIDE_EFFECTS, then OBJP's memory cannot be
+   read while picking the best overload match (it may be all zeroes and thus
+   not have a vtable pointer), in which case skip virtual function lookup.
+   This is ok as typically EVAL_AVOID_SIDE_EFFECTS is only used to determine
+   the result type.
+
    Note: This function does *not* check the value of
    overload_resolution.  Caller must check it to see whether overload
    resolution is permitted.  */
@@ -2461,7 +2464,8 @@ find_overload_match (struct value **args
 		     const char *name, enum oload_search_type method,
 		     struct value **objp, struct symbol *fsym,
 		     struct value **valp, struct symbol **symp, 
-		     int *staticp, const int no_adl)
+		     int *staticp, const int no_adl,
+		     const enum noside noside)
 {
   struct value *obj = (objp ? *objp : NULL);
   struct type *obj_type = obj ? value_type (obj) : NULL;
@@ -2767,9 +2771,13 @@ find_overload_match (struct value **args
     {
       if (src_method_oload_champ >= 0)
 	{
-	  if (TYPE_FN_FIELD_VIRTUAL_P (fns_ptr, method_oload_champ))
-	    *valp = value_virtual_fn_field (&temp, fns_ptr, method_oload_champ,
-					    basetype, boffset);
+	  if (TYPE_FN_FIELD_VIRTUAL_P (fns_ptr, method_oload_champ)
+	      && noside != EVAL_AVOID_SIDE_EFFECTS)
+	    {
+	      *valp = value_virtual_fn_field (&temp, fns_ptr,
+					      method_oload_champ, basetype,
+					      boffset);
+	    }
 	  else
 	    *valp = value_fn_field (&temp, fns_ptr, method_oload_champ,
 				    basetype, boffset);
@@ -3040,7 +3048,7 @@ find_oload_champ (struct value **args, i
 	    parm_types[jj] = (fns_ptr != NULL
 			      ? (TYPE_FN_FIELD_ARGS (fns_ptr, ix)[jj].type)
 			      : TYPE_FIELD_TYPE (SYMBOL_TYPE (oload_syms[ix]),
-			      jj));
+						 jj));
 	}
 
       /* Compare parameter types to supplied argument types.  Skip
@@ -3562,15 +3570,6 @@ value_maybe_namespace_elt (const struct 
 				    get_selected_block (0), VAR_DOMAIN);
 
   if (sym == NULL)
-    {
-      char *concatenated_name = alloca (strlen (namespace_name) + 2
-					+ strlen (name) + 1);
-
-      sprintf (concatenated_name, "%s::%s", namespace_name, name);
-      sym = lookup_static_symbol_aux (concatenated_name, VAR_DOMAIN);
-    }
-
-  if (sym == NULL)
     return NULL;
   else if ((noside == EVAL_AVOID_SIDE_EFFECTS)
 	   && (SYMBOL_CLASS (sym) == LOC_TYPEDEF))
@@ -3578,7 +3577,7 @@ value_maybe_namespace_elt (const struct 
   else
     result = value_of_variable (sym, get_selected_block (0));
 
-  if (result && want_address)
+  if (want_address)
     result = value_addr (result);
 
   return result;
@@ -3712,7 +3711,7 @@ struct value *
 value_of_this (const struct language_defn *lang)
 {
   struct symbol *sym;
-  struct block *b;
+  const struct block *b;
   struct frame_info *frame;
 
   if (!lang->la_name_of_this)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/valprint.c ./gdb/valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/valprint.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/valprint.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Print values for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "value.h"
@@ -30,7 +29,6 @@
 #include "valprint.h"
 #include "floatformat.h"
 #include "doublest.h"
-#include "exceptions.h"
 #include "dfp.h"
 #include "extension.h"
 #include "ada-lang.h"
@@ -38,8 +36,6 @@
 #include "charset.h"
 #include <ctype.h>
 
-#include <errno.h>
-
 /* Maximum number of wchars returned from wchar_iterate.  */
 #define MAX_WCHARS 4
 
@@ -311,8 +307,9 @@ valprint_check_validity (struct ui_file 
       && TYPE_CODE (type) != TYPE_CODE_STRUCT
       && TYPE_CODE (type) != TYPE_CODE_ARRAY)
     {
-      if (!value_bits_valid (val, TARGET_CHAR_BIT * embedded_offset,
-			     TARGET_CHAR_BIT * TYPE_LENGTH (type)))
+      if (value_bits_any_optimized_out (val,
+					TARGET_CHAR_BIT * embedded_offset,
+					TARGET_CHAR_BIT * TYPE_LENGTH (type)))
 	{
 	  val_print_optimized_out (val, stream);
 	  return 0;
@@ -983,8 +980,9 @@ val_print_scalar_formatted (struct type 
 
   /* A scalar object that does not have all bits available can't be
      printed, because all bits contribute to its representation.  */
-  if (!value_bits_valid (val, TARGET_CHAR_BIT * embedded_offset,
-			      TARGET_CHAR_BIT * TYPE_LENGTH (type)))
+  if (value_bits_any_optimized_out (val,
+				    TARGET_CHAR_BIT * embedded_offset,
+				    TARGET_CHAR_BIT * TYPE_LENGTH (type)))
     val_print_optimized_out (val, stream);
   else if (!value_bytes_available (val, embedded_offset, TYPE_LENGTH (type)))
     val_print_unavailable (stream);
@@ -1685,12 +1683,12 @@ val_print_array_elements (struct type *t
       if (options->repeat_count_threshold < UINT_MAX)
 	{
 	  while (rep1 < len
-		 && value_available_contents_eq (val,
-						 embedded_offset + i * eltlen,
-						 val,
-						 (embedded_offset
-						  + rep1 * eltlen),
-						 eltlen))
+		 && value_contents_eq (val,
+				       embedded_offset + i * eltlen,
+				       val,
+				       (embedded_offset
+					+ rep1 * eltlen),
+				       eltlen))
 	    {
 	      ++reps;
 	      ++rep1;
@@ -1795,36 +1793,23 @@ int
 read_string (CORE_ADDR addr, int len, int width, unsigned int fetchlimit,
 	     enum bfd_endian byte_order, gdb_byte **buffer, int *bytes_read)
 {
-  int found_nul;		/* Non-zero if we found the nul char.  */
   int errcode;			/* Errno returned from bad reads.  */
   unsigned int nfetch;		/* Chars to fetch / chars fetched.  */
-  unsigned int chunksize;	/* Size of each fetch, in chars.  */
   gdb_byte *bufptr;		/* Pointer to next available byte in
 				   buffer.  */
-  gdb_byte *limit;		/* First location past end of fetch buffer.  */
   struct cleanup *old_chain = NULL;	/* Top of the old cleanup chain.  */
 
-  /* Decide how large of chunks to try to read in one operation.  This
-     is also pretty simple.  If LEN >= zero, then we want fetchlimit chars,
-     so we might as well read them all in one operation.  If LEN is -1, we
-     are looking for a NUL terminator to end the fetching, so we might as
-     well read in blocks that are large enough to be efficient, but not so
-     large as to be slow if fetchlimit happens to be large.  So we choose the
-     minimum of 8 and fetchlimit.  We used to use 200 instead of 8 but
-     200 is way too big for remote debugging over a serial line.  */
-
-  chunksize = (len == -1 ? min (8, fetchlimit) : fetchlimit);
-
   /* Loop until we either have all the characters, or we encounter
      some error, such as bumping into the end of the address space.  */
 
-  found_nul = 0;
   *buffer = NULL;
 
   old_chain = make_cleanup (free_current_contents, buffer);
 
   if (len > 0)
     {
+      /* We want fetchlimit chars, so we might as well read them all in
+	 one operation.  */
       unsigned int fetchlen = min (len, fetchlimit);
 
       *buffer = (gdb_byte *) xmalloc (fetchlen * width);
@@ -1838,6 +1823,18 @@ read_string (CORE_ADDR addr, int len, in
   else if (len == -1)
     {
       unsigned long bufsize = 0;
+      unsigned int chunksize;	/* Size of each fetch, in chars.  */
+      int found_nul;		/* Non-zero if we found the nul char.  */
+      gdb_byte *limit;		/* First location past end of fetch buffer.  */
+
+      found_nul = 0;
+      /* We are looking for a NUL terminator to end the fetching, so we
+	 might as well read in blocks that are large enough to be efficient,
+	 but not so large as to be slow if fetchlimit happens to be large.
+	 So we choose the minimum of 8 and fetchlimit.  We used to use 200
+	 instead of 8 but 200 is way too big for remote debugging over a
+	  serial line.  */
+      chunksize = min (8, fetchlimit);
 
       do
 	{
@@ -2513,8 +2510,10 @@ val_print_string (struct type *elttype, 
      LEN is -1.  */
 
   /* Determine found_nul by looking at the last character read.  */
-  found_nul = extract_unsigned_integer (buffer + bytes_read - width, width,
-					byte_order) == 0;
+  found_nul = 0;
+  if (bytes_read >= width)
+    found_nul = extract_unsigned_integer (buffer + bytes_read - width, width,
+					  byte_order) == 0;
   if (len == -1 && !found_nul)
     {
       gdb_byte *peekbuf;
@@ -2704,7 +2703,7 @@ set_print (char *arg, int from_tty)
 {
   printf_unfiltered (
      "\"set print\" must be followed by the name of a print subcommand.\n");
-  help_list (setprintlist, "set print ", -1, gdb_stdout);
+  help_list (setprintlist, "set print ", all_commands, gdb_stdout);
 }
 
 static void
@@ -2718,7 +2717,7 @@ set_print_raw (char *arg, int from_tty)
 {
   printf_unfiltered (
      "\"set print raw\" must be followed by the name of a \"print raw\" subcommand.\n");
-  help_list (setprintrawlist, "set print raw ", -1, gdb_stdout);
+  help_list (setprintrawlist, "set print raw ", all_commands, gdb_stdout);
 }
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/valprint.h ./gdb/valprint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/valprint.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/valprint.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Declarations for value printing routines for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/value.c ./gdb/value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/value.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/value.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Low level packing and unpacking of values for GDB, the GNU Debugger.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "arch-utils.h"
-#include <string.h>
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "value.h"
@@ -30,14 +29,12 @@
 #include "language.h"
 #include "demangle.h"
 #include "doublest.h"
-#include "gdb_assert.h"
 #include "regcache.h"
 #include "block.h"
 #include "dfp.h"
 #include "objfiles.h"
 #include "valprint.h"
 #include "cli/cli-decode.h"
-#include "exceptions.h"
 #include "extension.h"
 #include <ctype.h>
 #include "tracepoint.h"
@@ -197,15 +194,6 @@ struct value
      reset, be sure to consider this use as well!  */
   unsigned int lazy : 1;
 
-  /* If nonzero, this is the value of a variable that does not
-     actually exist in the program.  If nonzero, and LVAL is
-     lval_register, this is a register ($pc, $sp, etc., never a
-     program variable) that has not been saved in the frame.  All
-     optimized-out values are treated pretty much the same, except
-     registers have a different string representation and related
-     error strings.  */
-  unsigned int optimized_out : 1;
-
   /* If value is a variable, is it initialized or not.  */
   unsigned int initialized : 1;
 
@@ -336,9 +324,20 @@ struct value
 
   /* Unavailable ranges in CONTENTS.  We mark unavailable ranges,
      rather than available, since the common and default case is for a
-     value to be available.  This is filled in at value read time.  The
-     unavailable ranges are tracked in bits.  */
+     value to be available.  This is filled in at value read time.
+     The unavailable ranges are tracked in bits.  Note that a contents
+     bit that has been optimized out doesn't really exist in the
+     program, so it can't be marked unavailable either.  */
   VEC(range_s) *unavailable;
+
+  /* Likewise, but for optimized out contents (a chunk of the value of
+     a variable that does not actually exist in the program).  If LVAL
+     is lval_register, this is a register ($pc, $sp, etc., never a
+     program variable) that has not been saved in the frame.  Not
+     saved registers and optimized-out program variables values are
+     treated pretty much the same, except not-saved registers have a
+     different string representation and related error strings.  */
+  VEC(range_s) *optimized_out;
 };
 
 int
@@ -358,6 +357,14 @@ value_bytes_available (const struct valu
 }
 
 int
+value_bits_any_optimized_out (const struct value *value, int bit_offset, int bit_length)
+{
+  gdb_assert (!value->lazy);
+
+  return ranges_contain (value->optimized_out, bit_offset, bit_length);
+}
+
+int
 value_entirely_available (struct value *value)
 {
   /* We can only tell whether the whole value is available when we try
@@ -370,17 +377,22 @@ value_entirely_available (struct value *
   return 0;
 }
 
-int
-value_entirely_unavailable (struct value *value)
+/* Returns true if VALUE is entirely covered by RANGES.  If the value
+   is lazy, it'll be read now.  Note that RANGE is a pointer to
+   pointer because reading the value might change *RANGE.  */
+
+static int
+value_entirely_covered_by_range_vector (struct value *value,
+					VEC(range_s) **ranges)
 {
-  /* We can only tell whether the whole value is available when we try
-     to read it.  */
+  /* We can only tell whether the whole value is optimized out /
+     unavailable when we try to read it.  */
   if (value->lazy)
     value_fetch_lazy (value);
 
-  if (VEC_length (range_s, value->unavailable) == 1)
+  if (VEC_length (range_s, *ranges) == 1)
     {
-      struct range *t = VEC_index (range_s, value->unavailable, 0);
+      struct range *t = VEC_index (range_s, *ranges, 0);
 
       if (t->offset == 0
 	  && t->length == (TARGET_CHAR_BIT
@@ -391,8 +403,23 @@ value_entirely_unavailable (struct value
   return 0;
 }
 
-void
-mark_value_bits_unavailable (struct value *value, int offset, int length)
+int
+value_entirely_unavailable (struct value *value)
+{
+  return value_entirely_covered_by_range_vector (value, &value->unavailable);
+}
+
+int
+value_entirely_optimized_out (struct value *value)
+{
+  return value_entirely_covered_by_range_vector (value, &value->optimized_out);
+}
+
+/* Insert into the vector pointed to by VECTORP the bit range starting of
+   OFFSET bits, and extending for the next LENGTH bits.  */
+
+static void
+insert_into_bit_range_vector (VEC(range_s) **vectorp, int offset, int length)
 {
   range_s newr;
   int i;
@@ -483,10 +510,10 @@ mark_value_bits_unavailable (struct valu
 
   */
 
-  i = VEC_lower_bound (range_s, value->unavailable, &newr, range_lessthan);
+  i = VEC_lower_bound (range_s, *vectorp, &newr, range_lessthan);
   if (i > 0)
     {
-      struct range *bef = VEC_index (range_s, value->unavailable, i - 1);
+      struct range *bef = VEC_index (range_s, *vectorp, i - 1);
 
       if (ranges_overlap (bef->offset, bef->length, offset, length))
 	{
@@ -507,18 +534,18 @@ mark_value_bits_unavailable (struct valu
       else
 	{
 	  /* #3 */
-	  VEC_safe_insert (range_s, value->unavailable, i, &newr);
+	  VEC_safe_insert (range_s, *vectorp, i, &newr);
 	}
     }
   else
     {
       /* #4 */
-      VEC_safe_insert (range_s, value->unavailable, i, &newr);
+      VEC_safe_insert (range_s, *vectorp, i, &newr);
     }
 
   /* Check whether the ranges following the one we've just added or
      touched can be folded in (#5 above).  */
-  if (i + 1 < VEC_length (range_s, value->unavailable))
+  if (i + 1 < VEC_length (range_s, *vectorp))
     {
       struct range *t;
       struct range *r;
@@ -526,11 +553,11 @@ mark_value_bits_unavailable (struct valu
       int next = i + 1;
 
       /* Get the range we just touched.  */
-      t = VEC_index (range_s, value->unavailable, i);
+      t = VEC_index (range_s, *vectorp, i);
       removed = 0;
 
       i = next;
-      for (; VEC_iterate (range_s, value->unavailable, i, r); i++)
+      for (; VEC_iterate (range_s, *vectorp, i, r); i++)
 	if (r->offset <= t->offset + t->length)
 	  {
 	    ULONGEST l, h;
@@ -552,11 +579,17 @@ mark_value_bits_unavailable (struct valu
 	  }
 
       if (removed != 0)
-	VEC_block_remove (range_s, value->unavailable, next, removed);
+	VEC_block_remove (range_s, *vectorp, next, removed);
     }
 }
 
 void
+mark_value_bits_unavailable (struct value *value, int offset, int length)
+{
+  insert_into_bit_range_vector (&value->unavailable, offset, length);
+}
+
+void
 mark_value_bytes_unavailable (struct value *value, int offset, int length)
 {
   mark_value_bits_unavailable (value,
@@ -684,48 +717,53 @@ memcmp_with_bit_offsets (const gdb_byte 
   return 0;
 }
 
-/* Helper function for value_available_contents_eq. The only difference is
-   that this function is bit rather than byte based.
+/* Helper struct for find_first_range_overlap_and_match and
+   value_contents_bits_eq.  Keep track of which slot of a given ranges
+   vector have we last looked at.  */
+
+struct ranges_and_idx
+{
+  /* The ranges.  */
+  VEC(range_s) *ranges;
+
+  /* The range we've last found in RANGES.  Given ranges are sorted,
+     we can start the next lookup here.  */
+  int idx;
+};
 
-   Compare LENGTH bits of VAL1's contents starting at OFFSET1 bits with
-   LENGTH bits of VAL2's contents starting at OFFSET2 bits.  Return true
-   if the available bits match.  */
+/* Helper function for value_contents_bits_eq.  Compare LENGTH bits of
+   RP1's ranges starting at OFFSET1 bits with LENGTH bits of RP2's
+   ranges starting at OFFSET2 bits.  Return true if the ranges match
+   and fill in *L and *H with the overlapping window relative to
+   (both) OFFSET1 or OFFSET2.  */
 
 static int
-value_available_contents_bits_eq (const struct value *val1, int offset1,
-				  const struct value *val2, int offset2,
-				  int length)
+find_first_range_overlap_and_match (struct ranges_and_idx *rp1,
+				    struct ranges_and_idx *rp2,
+				    int offset1, int offset2,
+				    int length, ULONGEST *l, ULONGEST *h)
 {
-  int idx1 = 0, idx2 = 0;
-
-  /* See function description in value.h.  */
-  gdb_assert (!val1->lazy && !val2->lazy);
+  rp1->idx = find_first_range_overlap (rp1->ranges, rp1->idx,
+				       offset1, length);
+  rp2->idx = find_first_range_overlap (rp2->ranges, rp2->idx,
+				       offset2, length);
 
-  while (length > 0)
+  if (rp1->idx == -1 && rp2->idx == -1)
+    {
+      *l = length;
+      *h = length;
+      return 1;
+    }
+  else if (rp1->idx == -1 || rp2->idx == -1)
+    return 0;
+  else
     {
       range_s *r1, *r2;
       ULONGEST l1, h1;
       ULONGEST l2, h2;
 
-      idx1 = find_first_range_overlap (val1->unavailable, idx1,
-				       offset1, length);
-      idx2 = find_first_range_overlap (val2->unavailable, idx2,
-				       offset2, length);
-
-      /* The usual case is for both values to be completely available.  */
-      if (idx1 == -1 && idx2 == -1)
-	return (memcmp_with_bit_offsets (val1->contents, offset1,
-					 val2->contents, offset2,
-					 length) == 0);
-      /* The contents only match equal if the available set matches as
-	 well.  */
-      else if (idx1 == -1 || idx2 == -1)
-	return 0;
-
-      gdb_assert (idx1 != -1 && idx2 != -1);
-
-      r1 = VEC_index (range_s, val1->unavailable, idx1);
-      r2 = VEC_index (range_s, val2->unavailable, idx2);
+      r1 = VEC_index (range_s, rp1->ranges, rp1->idx);
+      r2 = VEC_index (range_s, rp2->ranges, rp2->idx);
 
       /* Get the unavailable windows intersected by the incoming
 	 ranges.  The first and last ranges that overlap the argument
@@ -734,7 +772,7 @@ value_available_contents_bits_eq (const 
       h1 = min (offset1 + length, r1->offset + r1->length);
 
       l2 = max (offset2, r2->offset);
-      h2 = min (offset2 + length, r2->offset + r2->length);
+      h2 = min (offset2 + length, offset2 + r2->length);
 
       /* Make them relative to the respective start offsets, so we can
 	 compare them for equality.  */
@@ -744,31 +782,93 @@ value_available_contents_bits_eq (const 
       l2 -= offset2;
       h2 -= offset2;
 
-      /* Different availability, no match.  */
+      /* Different ranges, no match.  */
       if (l1 != l2 || h1 != h2)
 	return 0;
 
-      /* Compare the _available_ contents.  */
+      *h = h1;
+      *l = l1;
+      return 1;
+    }
+}
+
+/* Helper function for value_contents_eq.  The only difference is that
+   this function is bit rather than byte based.
+
+   Compare LENGTH bits of VAL1's contents starting at OFFSET1 bits
+   with LENGTH bits of VAL2's contents starting at OFFSET2 bits.
+   Return true if the available bits match.  */
+
+static int
+value_contents_bits_eq (const struct value *val1, int offset1,
+			const struct value *val2, int offset2,
+			int length)
+{
+  /* Each array element corresponds to a ranges source (unavailable,
+     optimized out).  '1' is for VAL1, '2' for VAL2.  */
+  struct ranges_and_idx rp1[2], rp2[2];
+
+  /* See function description in value.h.  */
+  gdb_assert (!val1->lazy && !val2->lazy);
+
+  /* We shouldn't be trying to compare past the end of the values.  */
+  gdb_assert (offset1 + length
+	      <= TYPE_LENGTH (val1->enclosing_type) * TARGET_CHAR_BIT);
+  gdb_assert (offset2 + length
+	      <= TYPE_LENGTH (val2->enclosing_type) * TARGET_CHAR_BIT);
+
+  memset (&rp1, 0, sizeof (rp1));
+  memset (&rp2, 0, sizeof (rp2));
+  rp1[0].ranges = val1->unavailable;
+  rp2[0].ranges = val2->unavailable;
+  rp1[1].ranges = val1->optimized_out;
+  rp2[1].ranges = val2->optimized_out;
+
+  while (length > 0)
+    {
+      ULONGEST l = 0, h = 0; /* init for gcc -Wall */
+      int i;
+
+      for (i = 0; i < 2; i++)
+	{
+	  ULONGEST l_tmp, h_tmp;
+
+	  /* The contents only match equal if the invalid/unavailable
+	     contents ranges match as well.  */
+	  if (!find_first_range_overlap_and_match (&rp1[i], &rp2[i],
+						   offset1, offset2, length,
+						   &l_tmp, &h_tmp))
+	    return 0;
+
+	  /* We're interested in the lowest/first range found.  */
+	  if (i == 0 || l_tmp < l)
+	    {
+	      l = l_tmp;
+	      h = h_tmp;
+	    }
+	}
+
+      /* Compare the available/valid contents.  */
       if (memcmp_with_bit_offsets (val1->contents, offset1,
-				   val2->contents, offset2, l1) != 0)
+				   val2->contents, offset2, l) != 0)
 	return 0;
 
-      length -= h1;
-      offset1 += h1;
-      offset2 += h1;
+      length -= h;
+      offset1 += h;
+      offset2 += h;
     }
 
   return 1;
 }
 
 int
-value_available_contents_eq (const struct value *val1, int offset1,
-			     const struct value *val2, int offset2,
-			     int length)
-{
-  return value_available_contents_bits_eq (val1, offset1 * TARGET_CHAR_BIT,
-					   val2, offset2 * TARGET_CHAR_BIT,
-					   length * TARGET_CHAR_BIT);
+value_contents_eq (const struct value *val1, int offset1,
+		   const struct value *val2, int offset2,
+		   int length)
+{
+  return value_contents_bits_eq (val1, offset1 * TARGET_CHAR_BIT,
+				 val2, offset2 * TARGET_CHAR_BIT,
+				 length * TARGET_CHAR_BIT);
 }
 
 /* Prototypes for local functions.  */
@@ -836,7 +936,6 @@ allocate_value_lazy (struct type *type)
   val->bitsize = 0;
   VALUE_REGNUM (val) = -1;
   val->lazy = 1;
-  val->optimized_out = 0;
   val->embedded_offset = 0;
   val->pointed_to_offset = 0;
   val->modifiable = 1;
@@ -905,11 +1004,8 @@ allocate_optimized_out_value (struct typ
 {
   struct value *retval = allocate_value_lazy (type);
 
-  set_value_optimized_out (retval, 1);
-  /* FIXME: we should be able to avoid allocating the value's contents
-     buffer, but value_available_contents_bits_eq can't handle
-     that.  */
-  /* set_value_lazy (retval, 0); */
+  mark_value_bytes_optimized_out (retval, 0, TYPE_LENGTH (type));
+  set_value_lazy (retval, 0);
   return retval;
 }
 
@@ -1057,7 +1153,7 @@ error_value_optimized_out (void)
 static void
 require_not_optimized_out (const struct value *value)
 {
-  if (value->optimized_out)
+  if (!VEC_empty (range_s, value->optimized_out))
     {
       if (value->lval == lval_register)
 	error (_("register has not been saved in frame"));
@@ -1097,6 +1193,47 @@ value_contents_all (struct value *value)
   return result;
 }
 
+/* Copy ranges in SRC_RANGE that overlap [SRC_BIT_OFFSET,
+   SRC_BIT_OFFSET+BIT_LENGTH) ranges into *DST_RANGE, adjusted.  */
+
+static void
+ranges_copy_adjusted (VEC (range_s) **dst_range, int dst_bit_offset,
+		      VEC (range_s) *src_range, int src_bit_offset,
+		      int bit_length)
+{
+  range_s *r;
+  int i;
+
+  for (i = 0; VEC_iterate (range_s, src_range, i, r); i++)
+    {
+      ULONGEST h, l;
+
+      l = max (r->offset, src_bit_offset);
+      h = min (r->offset + r->length, src_bit_offset + bit_length);
+
+      if (l < h)
+	insert_into_bit_range_vector (dst_range,
+				      dst_bit_offset + (l - src_bit_offset),
+				      h - l);
+    }
+}
+
+/* Copy the ranges metadata in SRC that overlaps [SRC_BIT_OFFSET,
+   SRC_BIT_OFFSET+BIT_LENGTH) into DST, adjusted.  */
+
+static void
+value_ranges_copy_adjusted (struct value *dst, int dst_bit_offset,
+			    const struct value *src, int src_bit_offset,
+			    int bit_length)
+{
+  ranges_copy_adjusted (&dst->unavailable, dst_bit_offset,
+			src->unavailable, src_bit_offset,
+			bit_length);
+  ranges_copy_adjusted (&dst->optimized_out, dst_bit_offset,
+			src->optimized_out, src_bit_offset,
+			bit_length);
+}
+
 /* Copy LENGTH bytes of SRC value's (all) contents
    (value_contents_all) starting at SRC_OFFSET, into DST value's (all)
    contents, starting at DST_OFFSET.  If unavailable contents are
@@ -1125,6 +1262,9 @@ value_contents_copy_raw (struct value *d
      replaced.  Make sure to remember to implement replacing if it
      turns out actually necessary.  */
   gdb_assert (value_bytes_available (dst, dst_offset, length));
+  gdb_assert (!value_bits_any_optimized_out (dst,
+					     TARGET_CHAR_BIT * dst_offset,
+					     TARGET_CHAR_BIT * length));
 
   /* Copy the data.  */
   memcpy (value_contents_all_raw (dst) + dst_offset,
@@ -1135,18 +1275,10 @@ value_contents_copy_raw (struct value *d
   src_bit_offset = src_offset * TARGET_CHAR_BIT;
   dst_bit_offset = dst_offset * TARGET_CHAR_BIT;
   bit_length = length * TARGET_CHAR_BIT;
-  for (i = 0; VEC_iterate (range_s, src->unavailable, i, r); i++)
-    {
-      ULONGEST h, l;
 
-      l = max (r->offset, src_bit_offset);
-      h = min (r->offset + r->length, src_bit_offset + bit_length);
-
-      if (l < h)
-	mark_value_bits_unavailable (dst,
-				     dst_bit_offset + (l - src_bit_offset),
-				     h - l);
-    }
+  value_ranges_copy_adjusted (dst, dst_bit_offset,
+			      src, src_bit_offset,
+			      bit_length);
 }
 
 /* Copy LENGTH bytes of SRC value's (all) contents
@@ -1154,8 +1286,7 @@ value_contents_copy_raw (struct value *d
    (all) contents, starting at DST_OFFSET.  If unavailable contents
    are being copied from SRC, the corresponding DST contents are
    marked unavailable accordingly.  DST must not be lazy.  If SRC is
-   lazy, it will be fetched now.  If SRC is not valid (is optimized
-   out), an error is thrown.
+   lazy, it will be fetched now.
 
    It is assumed the contents of DST in the [DST_OFFSET,
    DST_OFFSET+LENGTH) range are wholly available.  */
@@ -1164,8 +1295,6 @@ void
 value_contents_copy (struct value *dst, int dst_offset,
 		     struct value *src, int src_offset, int length)
 {
-  require_not_optimized_out (src);
-
   if (src->lazy)
     value_fetch_lazy (src);
 
@@ -1213,69 +1342,34 @@ value_contents_writeable (struct value *
   return value_contents_raw (value);
 }
 
-/* Return non-zero if VAL1 and VAL2 have the same contents.  Note that
-   this function is different from value_equal; in C the operator ==
-   can return 0 even if the two values being compared are equal.  */
-
-int
-value_contents_equal (struct value *val1, struct value *val2)
-{
-  struct type *type1;
-  struct type *type2;
-
-  type1 = check_typedef (value_type (val1));
-  type2 = check_typedef (value_type (val2));
-  if (TYPE_LENGTH (type1) != TYPE_LENGTH (type2))
-    return 0;
-
-  return (memcmp (value_contents (val1), value_contents (val2),
-		  TYPE_LENGTH (type1)) == 0);
-}
-
 int
 value_optimized_out (struct value *value)
 {
   /* We can only know if a value is optimized out once we have tried to
      fetch it.  */
-  if (!value->optimized_out && value->lazy)
+  if (VEC_empty (range_s, value->optimized_out) && value->lazy)
     value_fetch_lazy (value);
 
-  return value->optimized_out;
+  return !VEC_empty (range_s, value->optimized_out);
 }
 
-int
-value_optimized_out_const (const struct value *value)
-{
-  return value->optimized_out;
-}
+/* Mark contents of VALUE as optimized out, starting at OFFSET bytes, and
+   the following LENGTH bytes.  */
 
 void
-set_value_optimized_out (struct value *value, int val)
+mark_value_bytes_optimized_out (struct value *value, int offset, int length)
 {
-  value->optimized_out = val;
+  mark_value_bits_optimized_out (value,
+				 offset * TARGET_CHAR_BIT,
+				 length * TARGET_CHAR_BIT);
 }
 
-int
-value_entirely_optimized_out (const struct value *value)
-{
-  if (!value->optimized_out)
-    return 0;
-  if (value->lval != lval_computed
-      || !value->location.computed.funcs->check_any_valid)
-    return 1;
-  return !value->location.computed.funcs->check_any_valid (value);
-}
+/* See value.h.  */
 
-int
-value_bits_valid (const struct value *value, int offset, int length)
+void
+mark_value_bits_optimized_out (struct value *value, int offset, int length)
 {
-  if (!value->optimized_out)
-    return 1;
-  if (value->lval != lval_computed
-      || !value->location.computed.funcs->check_validity)
-    return 0;
-  return value->location.computed.funcs->check_validity (value, offset,
-							 length);
+  insert_into_bit_range_vector (&value->optimized_out, offset, length);
 }
 
 int
@@ -1588,7 +1682,6 @@ value_copy (struct value *arg)
   VALUE_FRAME_ID (val) = VALUE_FRAME_ID (arg);
   VALUE_REGNUM (val) = VALUE_REGNUM (arg);
   val->lazy = arg->lazy;
-  val->optimized_out = arg->optimized_out;
   val->embedded_offset = value_embedded_offset (arg);
   val->pointed_to_offset = arg->pointed_to_offset;
   val->modifiable = arg->modifiable;
@@ -1599,6 +1692,7 @@ value_copy (struct value *arg)
 
     }
   val->unavailable = VEC_copy (range_s, arg->unavailable);
+  val->optimized_out = VEC_copy (range_s, arg->optimized_out);
   set_value_parent (val, arg->parent);
   if (VALUE_LVAL (val) == lval_computed)
     {
@@ -1630,6 +1724,18 @@ value_non_lval (struct value *arg)
    return arg;
 }
 
+/* Write contents of V at ADDR and set its lval type to be LVAL_MEMORY.  */
+
+void
+value_force_lval (struct value *v, CORE_ADDR addr)
+{
+  gdb_assert (VALUE_LVAL (v) == not_lval);
+
+  write_memory (addr, value_contents_raw (v), TYPE_LENGTH (value_type (v)));
+  v->lval = lval_memory;
+  v->location.address = addr;
+}
+
 void
 set_value_component_location (struct value *component,
 			      const struct value *whole)
@@ -2334,7 +2440,7 @@ static void
 function_destroyer (struct cmd_list_element *self, void *ignore)
 {
   xfree ((char *) self->name);
-  xfree (self->doc);
+  xfree ((char *) self->doc);
 }
 
 /* Add a new internal function.  NAME is the name of the function; DOC
@@ -2873,24 +2979,19 @@ value_primitive_field (struct value *arg
       int bitpos = TYPE_FIELD_BITPOS (arg_type, fieldno);
       int container_bitsize = TYPE_LENGTH (type) * 8;
 
-      if (arg1->optimized_out)
-	v = allocate_optimized_out_value (type);
+      v = allocate_value_lazy (type);
+      v->bitsize = TYPE_FIELD_BITSIZE (arg_type, fieldno);
+      if ((bitpos % container_bitsize) + v->bitsize <= container_bitsize
+	  && TYPE_LENGTH (type) <= (int) sizeof (LONGEST))
+	v->bitpos = bitpos % container_bitsize;
       else
-	{
-	  v = allocate_value_lazy (type);
-	  v->bitsize = TYPE_FIELD_BITSIZE (arg_type, fieldno);
-	  if ((bitpos % container_bitsize) + v->bitsize <= container_bitsize
-	      && TYPE_LENGTH (type) <= (int) sizeof (LONGEST))
-	    v->bitpos = bitpos % container_bitsize;
-	  else
-	    v->bitpos = bitpos % 8;
-	  v->offset = (value_embedded_offset (arg1)
-		       + offset
-		       + (bitpos - v->bitpos) / 8);
-	  set_value_parent (v, arg1);
-	  if (!value_lazy (arg1))
-	    value_fetch_lazy (v);
-	}
+	v->bitpos = bitpos % 8;
+      v->offset = (value_embedded_offset (arg1)
+		   + offset
+		   + (bitpos - v->bitpos) / 8);
+      set_value_parent (v, arg1);
+      if (!value_lazy (arg1))
+	value_fetch_lazy (v);
     }
   else if (fieldno < TYPE_N_BASECLASSES (arg_type))
     {
@@ -2903,37 +3004,29 @@ value_primitive_field (struct value *arg
       if (VALUE_LVAL (arg1) == lval_register && value_lazy (arg1))
 	value_fetch_lazy (arg1);
 
-      /* The optimized_out flag is only set correctly once a lazy value is
-         loaded, having just loaded some lazy values we should check the
-         optimized out case now.  */
-      if (arg1->optimized_out)
-	v = allocate_optimized_out_value (type);
+      /* We special case virtual inheritance here because this
+	 requires access to the contents, which we would rather avoid
+	 for references to ordinary fields of unavailable values.  */
+      if (BASETYPE_VIA_VIRTUAL (arg_type, fieldno))
+	boffset = baseclass_offset (arg_type, fieldno,
+				    value_contents (arg1),
+				    value_embedded_offset (arg1),
+				    value_address (arg1),
+				    arg1);
       else
-	{
-	  /* We special case virtual inheritance here because this
-	     requires access to the contents, which we would rather avoid
-	     for references to ordinary fields of unavailable values.  */
-	  if (BASETYPE_VIA_VIRTUAL (arg_type, fieldno))
-	    boffset = baseclass_offset (arg_type, fieldno,
-					value_contents (arg1),
-					value_embedded_offset (arg1),
-					value_address (arg1),
-					arg1);
-	  else
-	    boffset = TYPE_FIELD_BITPOS (arg_type, fieldno) / 8;
+	boffset = TYPE_FIELD_BITPOS (arg_type, fieldno) / 8;
 
-	  if (value_lazy (arg1))
-	    v = allocate_value_lazy (value_enclosing_type (arg1));
-	  else
-	    {
-	      v = allocate_value (value_enclosing_type (arg1));
-	      value_contents_copy_raw (v, 0, arg1, 0,
-				       TYPE_LENGTH (value_enclosing_type (arg1)));
-	    }
-	  v->type = type;
-	  v->offset = value_offset (arg1);
-	  v->embedded_offset = offset + value_embedded_offset (arg1) + boffset;
-	}
+      if (value_lazy (arg1))
+	v = allocate_value_lazy (value_enclosing_type (arg1));
+      else
+	{
+	  v = allocate_value (value_enclosing_type (arg1));
+	  value_contents_copy_raw (v, 0, arg1, 0,
+				   TYPE_LENGTH (value_enclosing_type (arg1)));
+	}
+      v->type = type;
+      v->offset = value_offset (arg1);
+      v->embedded_offset = offset + value_embedded_offset (arg1) + boffset;
     }
   else
     {
@@ -2944,12 +3037,7 @@ value_primitive_field (struct value *arg
       if (VALUE_LVAL (arg1) == lval_register && value_lazy (arg1))
 	value_fetch_lazy (arg1);
 
-      /* The optimized_out flag is only set correctly once a lazy value is
-         loaded, having just loaded some lazy values we should check for
-         the optimized out case now.  */
-      if (arg1->optimized_out)
-	v = allocate_optimized_out_value (type);
-      else if (value_lazy (arg1))
+      if (value_lazy (arg1))
 	v = allocate_value_lazy (type);
       else
 	{
@@ -3040,16 +3128,24 @@ value_fn_field (struct value **arg1p, st
 
 
 
-/* Helper function for both unpack_value_bits_as_long and
-   unpack_bits_as_long.  See those functions for more details on the
-   interface; the only difference is that this function accepts either
-   a NULL or a non-NULL ORIGINAL_VALUE.  */
+/* Unpack a bitfield of the specified FIELD_TYPE, from the object at
+   VALADDR, and store the result in *RESULT.
+   The bitfield starts at BITPOS bits and contains BITSIZE bits.
 
-static int
-unpack_value_bits_as_long_1 (struct type *field_type, const gdb_byte *valaddr,
-			     int embedded_offset, int bitpos, int bitsize,
-			     const struct value *original_value,
-			     LONGEST *result)
+   Extracting bits depends on endianness of the machine.  Compute the
+   number of least significant bits to discard.  For big endian machines,
+   we compute the total number of bits in the anonymous object, subtract
+   off the bit count from the MSB of the object to the MSB of the
+   bitfield, then the size of the bitfield, which leaves the LSB discard
+   count.  For little endian machines, the discard count is simply the
+   number of bits from the LSB of the anonymous object to the LSB of the
+   bitfield.
+
+   If the field is signed, we also do sign extension.  */
+
+static LONGEST
+unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
+		     int bitpos, int bitsize)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (field_type));
   ULONGEST val;
@@ -3068,12 +3164,7 @@ unpack_value_bits_as_long_1 (struct type
 
   read_offset = bitpos / 8;
 
-  if (original_value != NULL
-      && !value_bits_available (original_value, embedded_offset + bitpos,
-				bitsize))
-    return 0;
-
-  val = extract_unsigned_integer (valaddr + embedded_offset + read_offset,
+  val = extract_unsigned_integer (valaddr + read_offset,
 				  bytes_read, byte_order);
 
   /* Extract bits.  See comment above.  */
@@ -3100,60 +3191,7 @@ unpack_value_bits_as_long_1 (struct type
 	}
     }
 
-  *result = val;
-  return 1;
-}
-
-/* Unpack a bitfield of the specified FIELD_TYPE, from the object at
-   VALADDR + EMBEDDED_OFFSET, and store the result in *RESULT.
-   VALADDR points to the contents of ORIGINAL_VALUE, which must not be
-   NULL.  The bitfield starts at BITPOS bits and contains BITSIZE
-   bits.
-
-   Returns false if the value contents are unavailable, otherwise
-   returns true, indicating a valid value has been stored in *RESULT.
-
-   Extracting bits depends on endianness of the machine.  Compute the
-   number of least significant bits to discard.  For big endian machines,
-   we compute the total number of bits in the anonymous object, subtract
-   off the bit count from the MSB of the object to the MSB of the
-   bitfield, then the size of the bitfield, which leaves the LSB discard
-   count.  For little endian machines, the discard count is simply the
-   number of bits from the LSB of the anonymous object to the LSB of the
-   bitfield.
-
-   If the field is signed, we also do sign extension.  */
-
-int
-unpack_value_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
-			   int embedded_offset, int bitpos, int bitsize,
-			   const struct value *original_value,
-			   LONGEST *result)
-{
-  gdb_assert (original_value != NULL);
-
-  return unpack_value_bits_as_long_1 (field_type, valaddr, embedded_offset,
-				      bitpos, bitsize, original_value, result);
-
-}
-
-/* Unpack a field FIELDNO of the specified TYPE, from the object at
-   VALADDR + EMBEDDED_OFFSET.  VALADDR points to the contents of
-   ORIGINAL_VALUE.  See unpack_value_bits_as_long for more
-   details.  */
-
-static int
-unpack_value_field_as_long_1 (struct type *type, const gdb_byte *valaddr,
-			      int embedded_offset, int fieldno,
-			      const struct value *val, LONGEST *result)
-{
-  int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
-  int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
-  struct type *field_type = TYPE_FIELD_TYPE (type, fieldno);
-
-  return unpack_value_bits_as_long_1 (field_type, valaddr, embedded_offset,
-				      bitpos, bitsize, val,
-				      result);
+  return val;
 }
 
 /* Unpack a field FIELDNO of the specified TYPE, from the object at
@@ -3166,51 +3204,95 @@ unpack_value_field_as_long (struct type 
 			    int embedded_offset, int fieldno,
 			    const struct value *val, LONGEST *result)
 {
+  int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
+  int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
+  struct type *field_type = TYPE_FIELD_TYPE (type, fieldno);
+  int bit_offset;
+
   gdb_assert (val != NULL);
 
-  return unpack_value_field_as_long_1 (type, valaddr, embedded_offset,
-				       fieldno, val, result);
+  bit_offset = embedded_offset * TARGET_CHAR_BIT + bitpos;
+  if (value_bits_any_optimized_out (val, bit_offset, bitsize)
+      || !value_bits_available (val, bit_offset, bitsize))
+    return 0;
+
+  *result = unpack_bits_as_long (field_type, valaddr + embedded_offset,
+				 bitpos, bitsize);
+  return 1;
 }
 
 /* Unpack a field FIELDNO of the specified TYPE, from the anonymous
-   object at VALADDR.  See unpack_value_bits_as_long for more details.
-   This function differs from unpack_value_field_as_long in that it
-   operates without a struct value object.  */
+   object at VALADDR.  See unpack_bits_as_long for more details.  */
 
 LONGEST
 unpack_field_as_long (struct type *type, const gdb_byte *valaddr, int fieldno)
 {
-  LONGEST result;
+  int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
+  int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
+  struct type *field_type = TYPE_FIELD_TYPE (type, fieldno);
 
-  unpack_value_field_as_long_1 (type, valaddr, 0, fieldno, NULL, &result);
-  return result;
+  return unpack_bits_as_long (field_type, valaddr, bitpos, bitsize);
+}
+
+/* Unpack a bitfield of BITSIZE bits found at BITPOS in the object at
+   VALADDR + EMBEDDEDOFFSET that has the type of DEST_VAL and store
+   the contents in DEST_VAL, zero or sign extending if the type of
+   DEST_VAL is wider than BITSIZE.  VALADDR points to the contents of
+   VAL.  If the VAL's contents required to extract the bitfield from
+   are unavailable/optimized out, DEST_VAL is correspondingly
+   marked unavailable/optimized out.  */
+
+void
+unpack_value_bitfield (struct value *dest_val,
+		       int bitpos, int bitsize,
+		       const gdb_byte *valaddr, int embedded_offset,
+		       const struct value *val)
+{
+  enum bfd_endian byte_order;
+  int src_bit_offset;
+  int dst_bit_offset;
+  LONGEST num;
+  struct type *field_type = value_type (dest_val);
+
+  /* First, unpack and sign extend the bitfield as if it was wholly
+     available.  Invalid/unavailable bits are read as zero, but that's
+     OK, as they'll end up marked below.  */
+  byte_order = gdbarch_byte_order (get_type_arch (field_type));
+  num = unpack_bits_as_long (field_type, valaddr + embedded_offset,
+			     bitpos, bitsize);
+  store_signed_integer (value_contents_raw (dest_val),
+			TYPE_LENGTH (field_type), byte_order, num);
+
+  /* Now copy the optimized out / unavailability ranges to the right
+     bits.  */
+  src_bit_offset = embedded_offset * TARGET_CHAR_BIT + bitpos;
+  if (byte_order == BFD_ENDIAN_BIG)
+    dst_bit_offset = TYPE_LENGTH (field_type) * TARGET_CHAR_BIT - bitsize;
+  else
+    dst_bit_offset = 0;
+  value_ranges_copy_adjusted (dest_val, dst_bit_offset,
+			      val, src_bit_offset, bitsize);
 }
 
 /* Return a new value with type TYPE, which is FIELDNO field of the
    object at VALADDR + EMBEDDEDOFFSET.  VALADDR points to the contents
    of VAL.  If the VAL's contents required to extract the bitfield
-   from are unavailable, the new value is correspondingly marked as
-   unavailable.  */
+   from are unavailable/optimized out, the new value is
+   correspondingly marked unavailable/optimized out.  */
 
 struct value *
 value_field_bitfield (struct type *type, int fieldno,
 		      const gdb_byte *valaddr,
 		      int embedded_offset, const struct value *val)
 {
-  LONGEST l;
+  int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
+  int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
+  struct value *res_val = allocate_value (TYPE_FIELD_TYPE (type, fieldno));
 
-  if (!unpack_value_field_as_long (type, valaddr, embedded_offset, fieldno,
-				   val, &l))
-    {
-      struct type *field_type = TYPE_FIELD_TYPE (type, fieldno);
-      struct value *retval = allocate_value (field_type);
-      mark_value_bytes_unavailable (retval, 0, TYPE_LENGTH (field_type));
-      return retval;
-    }
-  else
-    {
-      return value_from_longest (TYPE_FIELD_TYPE (type, fieldno), l);
-    }
+  unpack_value_bitfield (res_val, bitpos, bitsize,
+			 valaddr, embedded_offset, val);
+
+  return res_val;
 }
 
 /* Modify the value of a bitfield.  ADDR points to a block of memory in
@@ -3363,18 +3445,15 @@ value_from_ulongest (struct type *type, 
 
 
 /* Create a value representing a pointer of type TYPE to the address
-   ADDR.  The type of the created value may differ from the passed
-   type TYPE. Make sure to retrieve the returned values's new type
-   after this call e.g. in case of an variable length array.  */
+   ADDR.  */
 
 struct value *
 value_from_pointer (struct type *type, CORE_ADDR addr)
 {
-  struct type *resolved_type = resolve_dynamic_type (type, addr);
-  struct value *val = allocate_value (resolved_type);
+  struct value *val = allocate_value (type);
 
   store_typed_address (value_contents_raw (val),
-		       check_typedef (resolved_type), addr);
+		       check_typedef (type), addr);
   return val;
 }
 
@@ -3413,12 +3492,16 @@ value_from_contents_and_address (struct 
 				 CORE_ADDR address)
 {
   struct type *resolved_type = resolve_dynamic_type (type, address);
+  struct type *resolved_type_no_typedef = check_typedef (resolved_type);
   struct value *v;
 
   if (valaddr == NULL)
     v = allocate_value_lazy (resolved_type);
   else
     v = value_from_contents (resolved_type, valaddr);
+  if (TYPE_DATA_LOCATION (resolved_type_no_typedef) != NULL
+      && TYPE_DATA_LOCATION_KIND (resolved_type_no_typedef) == PROP_CONST)
+    address = TYPE_DATA_LOCATION_ADDR (resolved_type_no_typedef);
   set_value_address (v, address);
   VALUE_LVAL (v) = lval_memory;
   return v;
@@ -3468,7 +3551,7 @@ value_from_decfloat (struct type *type, 
    for details.  */
 
 struct value *
-value_from_history_ref (char *h, char **endp)
+value_from_history_ref (const char *h, const char **endp)
 {
   int index, len;
 
@@ -3499,7 +3582,12 @@ value_from_history_ref (char *h, char **
 	  *endp += len;
 	}
       else
-	index = -strtol (&h[2], endp, 10);
+	{
+	  char *local_end;
+
+	  index = -strtol (&h[2], &local_end, 10);
+	  *endp = local_end;
+	}
     }
   else
     {
@@ -3510,7 +3598,12 @@ value_from_history_ref (char *h, char **
 	  *endp += len;
 	}
       else
-	index = strtol (&h[1], endp, 10);
+	{
+	  char *local_end;
+
+	  index = strtol (&h[1], &local_end, 10);
+	  *endp = local_end;
+	}
     }
 
   return access_value_history (index);
@@ -3668,6 +3761,11 @@ value_fetch_lazy (struct value *val)
 {
   gdb_assert (value_lazy (val));
   allocate_value_contents (val);
+  /* A value is either lazy, or fully fetched.  The
+     availability/validity is only established as we try to fetch a
+     value.  */
+  gdb_assert (VEC_empty (range_s, val->optimized_out));
+  gdb_assert (VEC_empty (range_s, val->unavailable));
   if (value_bitsize (val))
     {
       /* To read a lazy bitfield, read the entire enclosing value.  This
@@ -3676,29 +3774,15 @@ value_fetch_lazy (struct value *val)
          word, but we have no way to record that just specific bits of a
          value have been fetched.  */
       struct type *type = check_typedef (value_type (val));
-      enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
       struct value *parent = value_parent (val);
-      LONGEST offset = value_offset (val);
-      LONGEST num;
 
       if (value_lazy (parent))
 	value_fetch_lazy (parent);
 
-      if (!value_bits_valid (parent,
-			     TARGET_CHAR_BIT * offset + value_bitpos (val),
-			     value_bitsize (val)))
-	set_value_optimized_out (val, 1);
-      else if (!unpack_value_bits_as_long (value_type (val),
-				      value_contents_for_printing (parent),
-				      offset,
-				      value_bitpos (val),
-				      value_bitsize (val), parent, &num))
-	mark_value_bytes_unavailable (val,
-				      value_embedded_offset (val),
-				      TYPE_LENGTH (type));
-      else
-	store_signed_integer (value_contents_raw (val), TYPE_LENGTH (type),
-			      byte_order, num);
+      unpack_value_bitfield (val,
+			     value_bitpos (val), value_bitsize (val),
+			     value_contents_for_printing (parent),
+			     value_offset (val), parent);
     }
   else if (VALUE_LVAL (val) == lval_memory)
     {
@@ -3762,16 +3846,12 @@ value_fetch_lazy (struct value *val)
       if (value_lazy (new_val))
 	value_fetch_lazy (new_val);
 
-      /* If the register was not saved, mark it optimized out.  */
-      if (value_optimized_out (new_val))
-	set_value_optimized_out (val, 1);
-      else
-	{
-	  set_value_lazy (val, 0);
-	  value_contents_copy (val, value_embedded_offset (val),
-			       new_val, value_embedded_offset (new_val),
-			       TYPE_LENGTH (type));
-	}
+      /* Copy the contents and the unavailability/optimized-out
+	 meta-data from NEW_VAL to VAL.  */
+      set_value_lazy (val, 0);
+      value_contents_copy (val, value_embedded_offset (val),
+			   new_val, value_embedded_offset (new_val),
+			   TYPE_LENGTH (type));
 
       if (frame_debug)
 	{
@@ -3824,11 +3904,6 @@ value_fetch_lazy (struct value *val)
   else if (VALUE_LVAL (val) == lval_computed
 	   && value_computed_funcs (val)->read != NULL)
     value_computed_funcs (val)->read (val);
-  /* Don't call value_optimized_out on val, doing so would result in a
-     recursive call back to value_fetch_lazy, instead check the
-     optimized_out flag directly.  */
-  else if (val->optimized_out)
-    /* Keep it optimized out.  */;
   else
     internal_error (__FILE__, __LINE__, _("Unexpected lazy value type."));
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/value.h ./gdb/value.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/value.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/value.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definitions for values of C expressions, for GDB.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -33,6 +33,54 @@ struct language_defn;
 struct value_print_options;
 struct xmethod_worker;
 
+/* Values can be partially 'optimized out' and/or 'unavailable'.
+   These are distinct states and have different string representations
+   and related error strings.
+
+   'unavailable' has a specific meaning in this context.  It means the
+   value exists in the program (at the machine level), but GDB has no
+   means to get to it.  Such a value is normally printed as
+   <unavailable>.  Examples of how to end up with an unavailable value
+   would be:
+
+    - We're inspecting a traceframe, and the memory or registers the
+      debug information says the value lives on haven't been collected.
+
+    - We're inspecting a core dump, the memory or registers the debug
+      information says the value lives aren't present in the dump
+      (that is, we have a partial/trimmed core dump, or we don't fully
+      understand/handle the core dump's format).
+
+    - We're doing live debugging, but the debug API has no means to
+      get at where the value lives in the machine, like e.g., ptrace
+      not having access to some register or register set.
+
+    - Any other similar scenario.
+
+  OTOH, "optimized out" is about what the compiler decided to generate
+  (or not generate).  A chunk of a value that was optimized out does
+  not actually exist in the program.  There's no way to get at it
+  short of compiling the program differently.
+
+  A register that has not been saved in a frame is likewise considered
+  optimized out, except not-saved registers have a different string
+  representation and related error strings.  E.g., we'll print them as
+  <not-saved> instead of <optimized out>, as in:
+
+    (gdb) p/x $rax
+    $1 = <not saved>
+    (gdb) info registers rax
+    rax            <not saved>
+
+  If the debug info describes a variable as being in such a register,
+  we'll still print the variable as <optimized out>.  IOW, <not saved>
+  is reserved for inspecting registers at the machine level.
+
+  When comparing value contents, optimized out chunks, unavailable
+  chunks, and valid contents data are all considered different.  See
+  value_contents_eq for more info.
+*/
+
 /* The structure which defines the type of a value.  It should never
    be possible for a program lval value to survive over a call to the
    inferior (i.e. to be put into the history list or an internal
@@ -181,14 +229,6 @@ struct lval_funcs
      TOVAL is not considered as an lvalue.  */
   void (*write) (struct value *toval, struct value *fromval);
 
-  /* Check the validity of some bits in VALUE.  This should return 1
-     if all the bits starting at OFFSET and extending for LENGTH bits
-     are valid, or 0 if any bit is invalid.  */
-  int (*check_validity) (const struct value *value, int offset, int length);
-
-  /* Return 1 if any bit in VALUE is valid, 0 if they are all invalid.  */
-  int (*check_any_valid) (const struct value *value);
-
   /* If non-NULL, this is used to implement pointer indirection for
      this value.  This method may return NULL, in which case value_ind
      will fall back to ordinary indirection.  */
@@ -322,22 +362,34 @@ extern const gdb_byte *
   value_contents_for_printing_const (const struct value *value);
 
 extern int value_fetch_lazy (struct value *val);
-extern int value_contents_equal (struct value *val1, struct value *val2);
 
 /* If nonzero, this is the value of a variable which does not actually
    exist in the program, at least partially.  If the value is lazy,
    this may fetch it now.  */
 extern int value_optimized_out (struct value *value);
-extern void set_value_optimized_out (struct value *value, int val);
 
-/* Like value_optimized_out, but don't fetch the value even if it is
-   lazy.  Mainly useful for constructing other values using VALUE as
-   template.  */
-extern int value_optimized_out_const (const struct value *value);
-
-/* Like value_optimized_out, but return false if any bit in the object
-   is valid.  */
-extern int value_entirely_optimized_out (const struct value *value);
+/* Given a value, return true if any of the contents bits starting at
+   OFFSET and extending for LENGTH bits is optimized out, false
+   otherwise.  */
+
+extern int value_bits_any_optimized_out (const struct value *value,
+					 int bit_offset, int bit_length);
+
+/* Like value_optimized_out, but return true iff the whole value is
+   optimized out.  */
+extern int value_entirely_optimized_out (struct value *value);
+
+/* Mark VALUE's content bytes starting at OFFSET and extending for
+   LENGTH bytes as optimized out.  */
+
+extern void mark_value_bytes_optimized_out (struct value *value,
+					    int offset, int length);
+
+/* Mark VALUE's content bits starting at OFFSET and extending for
+   LENGTH bits as optimized out.  */
+
+extern void mark_value_bits_optimized_out (struct value *value,
+					   int offset, int length);
 
 /* Set or return field indicating whether a variable is initialized or
    not, based on debugging information supplied by the compiler.
@@ -417,13 +469,6 @@ extern struct value *coerce_ref (struct 
 extern struct value *coerce_array (struct value *value);
 
 /* Given a value, determine whether the bits starting at OFFSET and
-   extending for LENGTH bits are valid.  This returns nonzero if all
-   bits in the given range are valid, zero if any bit is invalid.  */
-
-extern int value_bits_valid (const struct value *value,
-			     int offset, int length);
-
-/* Given a value, determine whether the bits starting at OFFSET and
    extending for LENGTH bits are a synthetic pointer.  */
 
 extern int value_bits_synthetic_pointer (const struct value *value,
@@ -474,35 +519,53 @@ extern void mark_value_bits_unavailable 
    its enclosing type chunk, you'd do:
 
      int len = TYPE_LENGTH (check_typedef (value_enclosing_type (val)));
-     value_available_contents (val, 0, val, 0, len);
+     value_contents_eq (val, 0, val, 0, len);
 
-   Returns true iff the set of available contents match.  Unavailable
-   contents compare equal with unavailable contents, and different
-   with any available byte.  For example, if 'x's represent an
-   unavailable byte, and 'V' and 'Z' represent different available
-   bytes, in a value with length 16:
+   Returns true iff the set of available/valid contents match.
 
-   offset:   0   4   8   12  16
-   contents: xxxxVVVVxxxxVVZZ
+   Optimized-out contents are equal to optimized-out contents, and are
+   not equal to non-optimized-out contents.
+
+   Unavailable contente are equal to unavailable contents, and are not
+   equal to non-unavailable contents.
+
+   For example, if 'x's represent an unavailable byte, and 'V' and 'Z'
+   represent different available/valid bytes, in a value with length
+   16:
+
+     offset:   0   4   8   12  16
+     contents: xxxxVVVVxxxxVVZZ
 
    then:
 
-   value_available_contents_eq(val, 0, val, 8, 6) => 1
-   value_available_contents_eq(val, 0, val, 4, 4) => 1
-   value_available_contents_eq(val, 0, val, 8, 8) => 0
-   value_available_contents_eq(val, 4, val, 12, 2) => 1
-   value_available_contents_eq(val, 4, val, 12, 4) => 0
-   value_available_contents_eq(val, 3, val, 4, 4) => 0
-
-   We only know whether a value chunk is available if we've tried to
-   read it.  As this routine is used by printing routines, which may
-   be printing values in the value history, long after the inferior is
-   gone, it works with const values.  Therefore, this routine must not
-   be called with lazy values.  */
-
-extern int value_available_contents_eq (const struct value *val1, int offset1,
-					const struct value *val2, int offset2,
-					int length);
+     value_contents_eq(val, 0, val, 8, 6) => 1
+     value_contents_eq(val, 0, val, 4, 4) => 0
+     value_contents_eq(val, 0, val, 8, 8) => 0
+     value_contents_eq(val, 4, val, 12, 2) => 1
+     value_contents_eq(val, 4, val, 12, 4) => 0
+     value_contents_eq(val, 3, val, 4, 4) => 0
+
+   If 'x's represent an unavailable byte, 'o' represents an optimized
+   out byte, in a value with length 8:
+
+     offset:   0   4   8
+     contents: xxxxoooo
+
+   then:
+
+     value_contents_eq(val, 0, val, 2, 2) => 1
+     value_contents_eq(val, 4, val, 6, 2) => 1
+     value_contents_eq(val, 0, val, 4, 4) => 0
+
+   We only know whether a value chunk is unavailable or optimized out
+   if we've tried to read it.  As this routine is used by printing
+   routines, which may be printing values in the value history, long
+   after the inferior is gone, it works with const values.  Therefore,
+   this routine must not be called with lazy values.  */
+
+extern int value_contents_eq (const struct value *val1, int offset1,
+			      const struct value *val2, int offset2,
+			      int length);
 
 /* Read LENGTH bytes of memory starting at MEMADDR into BUFFER, which
    is (or will be copied to) VAL's contents buffer offset by
@@ -543,13 +606,6 @@ extern DOUBLEST unpack_double (struct ty
 			       int *invp);
 extern CORE_ADDR unpack_pointer (struct type *type, const gdb_byte *valaddr);
 
-extern int unpack_value_bits_as_long (struct type *field_type,
-				      const gdb_byte *valaddr,
-				      int embedded_offset, int bitpos,
-				      int bitsize,
-				      const struct value *original_value,
-				      LONGEST *result);
-
 extern LONGEST unpack_field_as_long (struct type *type,
 				     const gdb_byte *valaddr,
 				     int fieldno);
@@ -557,6 +613,11 @@ extern int unpack_value_field_as_long (s
 				int embedded_offset, int fieldno,
 				const struct value *val, LONGEST *result);
 
+extern void unpack_value_bitfield (struct value *dest_val,
+				   int bitpos, int bitsize,
+				   const gdb_byte *valaddr, int embedded_offset,
+				   const struct value *val);
+
 extern struct value *value_field_bitfield (struct type *type, int fieldno,
 					   const gdb_byte *valaddr,
 					   int embedded_offset,
@@ -570,7 +631,7 @@ extern struct value *value_from_pointer 
 extern struct value *value_from_double (struct type *type, DOUBLEST num);
 extern struct value *value_from_decfloat (struct type *type,
 					  const gdb_byte *decbytes);
-extern struct value *value_from_history_ref (char *, char **);
+extern struct value *value_from_history_ref (const char *, const char **);
 
 extern struct value *value_at (struct type *type, CORE_ADDR addr);
 extern struct value *value_at_lazy (struct type *type, CORE_ADDR addr);
@@ -694,7 +755,8 @@ extern int find_overload_match (struct v
 				enum oload_search_type method,
 				struct value **objp, struct symbol *fsym,
 				struct value **valp, struct symbol **symp,
-				int *staticp, const int no_adl);
+				int *staticp, const int no_adl,
+				enum noside noside);
 
 extern struct value *value_field (struct value *arg1, int fieldno);
 
@@ -976,6 +1038,8 @@ extern struct value *value_copy (struct 
 
 extern struct value *value_non_lval (struct value *);
 
+extern void value_force_lval (struct value *, CORE_ADDR);
+
 extern void preserve_one_value (struct value *, struct objfile *, htab_t);
 
 /* From valops.c */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/varobj.c ./gdb/varobj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/varobj.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/varobj.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Implementation of the GDB variable objects API.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -16,7 +16,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include "exceptions.h"
 #include "value.h"
 #include "expression.h"
 #include "frame.h"
@@ -24,15 +23,13 @@
 #include "gdbcmd.h"
 #include "block.h"
 #include "valprint.h"
-
-#include "gdb_assert.h"
-#include <string.h>
 #include "gdb_regex.h"
 
 #include "varobj.h"
 #include "vec.h"
 #include "gdbthread.h"
 #include "inferior.h"
+#include "varobj-iter.h"
 
 #if HAVE_PYTHON
 #include "python/python.h"
@@ -129,14 +126,14 @@ struct varobj_dynamic
 
   /* The iterator returned by the printer's 'children' method, or NULL
      if not available.  */
-  PyObject *child_iter;
+  struct varobj_iter *child_iter;
 
   /* We request one extra item from the iterator, so that we can
      report to the caller whether there are more items than we have
      already reported.  However, we don't want to install this value
      when we read it, because that will mess up future updates.  So,
      we stash it here instead.  */
-  PyObject *saved_item;
+  varobj_item *saved_item;
 };
 
 struct cpstack
@@ -169,8 +166,8 @@ static void uninstall_variable (struct v
 static struct varobj *create_child (struct varobj *, int, char *);
 
 static struct varobj *
-create_child_with_value (struct varobj *parent, int index, char *name,
-			 struct value *value);
+create_child_with_value (struct varobj *parent, int index,
+			 struct varobj_item *item);
 
 /* Utility routines */
 
@@ -211,13 +208,8 @@ static char *my_value_of_variable (struc
 
 static int is_root_p (struct varobj *var);
 
-#if HAVE_PYTHON
-
 static struct varobj *varobj_add_child (struct varobj *var,
-					char *name,
-					struct value *value);
-
-#endif /* HAVE_PYTHON */
+					struct varobj_item *item);
 
 /* Private data */
 
@@ -246,7 +238,7 @@ is_root_p (struct varobj *var)
 #ifdef HAVE_PYTHON
 /* Helper function to install a Python environment suitable for
    use during operations on VAR.  */
-static struct cleanup *
+struct cleanup *
 varobj_ensure_python_env (struct varobj *var)
 {
   return ensure_python_env (var->root->exp->gdbarch,
@@ -303,7 +295,7 @@ varobj_create (char *objname,
     {
       struct frame_info *fi;
       struct frame_id old_id = null_frame_id;
-      struct block *block;
+      const struct block *block;
       const char *p;
       struct value *value = NULL;
       volatile struct gdb_exception except;
@@ -701,8 +693,6 @@ varobj_restrict_range (VEC (varobj_p) *c
     }
 }
 
-#if HAVE_PYTHON
-
 /* A helper for update_dynamic_varobj_children that installs a new
    child when needed.  */
 
@@ -714,13 +704,12 @@ install_dynamic_child (struct varobj *va
 		       VEC (varobj_p) **unchanged,
 		       int *cchanged,
 		       int index,
-		       char *name,
-		       struct value *value)
+		       struct varobj_item *item)
 {
   if (VEC_length (varobj_p, var->children) < index + 1)
     {
       /* There's no child yet.  */
-      struct varobj *child = varobj_add_child (var, name, value);
+      struct varobj *child = varobj_add_child (var, item);
 
       if (new)
 	{
@@ -731,14 +720,14 @@ install_dynamic_child (struct varobj *va
   else
     {
       varobj_p existing = VEC_index (varobj_p, var->children, index);
-      int type_updated = update_type_if_necessary (existing, value);
+      int type_updated = update_type_if_necessary (existing, item->value);
 
       if (type_updated)
 	{
 	  if (type_changed)
 	    VEC_safe_push (varobj_p, *type_changed, existing);
 	}
-      if (install_new_value (existing, value, 0))
+      if (install_new_value (existing, item->value, 0))
 	{
 	  if (!type_updated && changed)
 	    VEC_safe_push (varobj_p, *changed, existing);
@@ -748,6 +737,8 @@ install_dynamic_child (struct varobj *va
     }
 }
 
+#if HAVE_PYTHON
+
 static int
 dynamic_varobj_has_child_method (struct varobj *var)
 {
@@ -763,9 +754,36 @@ dynamic_varobj_has_child_method (struct 
   do_cleanups (back_to);
   return result;
 }
+#endif
+
+/* A factory for creating dynamic varobj's iterators.  Returns an
+   iterator object suitable for iterating over VAR's children.  */
 
+static struct varobj_iter *
+varobj_get_iterator (struct varobj *var)
+{
+#if HAVE_PYTHON
+  if (var->dynamic->pretty_printer)
+    return py_varobj_get_iterator (var, var->dynamic->pretty_printer);
 #endif
 
+  gdb_assert_not_reached (_("\
+requested an iterator from a non-dynamic varobj"));
+}
+
+/* Release and clear VAR's saved item, if any.  */
+
+static void
+varobj_clear_saved_item (struct varobj_dynamic *var)
+{
+  if (var->saved_item != NULL)
+    {
+      value_free (var->saved_item->value);
+      xfree (var->saved_item);
+      var->saved_item = NULL;
+    }
+}
+
 static int
 update_dynamic_varobj_children (struct varobj *var,
 				VEC (varobj_p) **changed,
@@ -777,49 +795,21 @@ update_dynamic_varobj_children (struct v
 				int from,
 				int to)
 {
-#if HAVE_PYTHON
-  struct cleanup *back_to;
-  PyObject *children;
   int i;
-  PyObject *printer = var->dynamic->pretty_printer;
-
-  if (!gdb_python_initialized)
-    return 0;
-
-  back_to = varobj_ensure_python_env (var);
 
   *cchanged = 0;
-  if (!PyObject_HasAttr (printer, gdbpy_children_cst))
-    {
-      do_cleanups (back_to);
-      return 0;
-    }
 
   if (update_children || var->dynamic->child_iter == NULL)
     {
-      children = PyObject_CallMethodObjArgs (printer, gdbpy_children_cst,
-					     NULL);
+      varobj_iter_delete (var->dynamic->child_iter);
+      var->dynamic->child_iter = varobj_get_iterator (var);
 
-      if (!children)
-	{
-	  gdbpy_print_stack ();
-	  error (_("Null value returned for children"));
-	}
+      varobj_clear_saved_item (var->dynamic);
 
-      make_cleanup_py_decref (children);
+      i = 0;
 
-      Py_XDECREF (var->dynamic->child_iter);
-      var->dynamic->child_iter = PyObject_GetIter (children);
       if (var->dynamic->child_iter == NULL)
-	{
-	  gdbpy_print_stack ();
-	  error (_("Could not get children iterator"));
-	}
-
-      Py_XDECREF (var->dynamic->saved_item);
-      var->dynamic->saved_item = NULL;
-
-      i = 0;
+	return 0;
     }
   else
     i = VEC_length (varobj_p, var->children);
@@ -828,102 +818,52 @@ update_dynamic_varobj_children (struct v
      are more children.  */
   for (; to < 0 || i < to + 1; ++i)
     {
-      PyObject *item;
-      int force_done = 0;
+      varobj_item *item;
 
       /* See if there was a leftover from last time.  */
-      if (var->dynamic->saved_item)
+      if (var->dynamic->saved_item != NULL)
 	{
 	  item = var->dynamic->saved_item;
 	  var->dynamic->saved_item = NULL;
 	}
       else
-	item = PyIter_Next (var->dynamic->child_iter);
-
-      if (!item)
 	{
-	  /* Normal end of iteration.  */
-	  if (!PyErr_Occurred ())
-	    break;
-
-	  /* If we got a memory error, just use the text as the
-	     item.  */
-	  if (PyErr_ExceptionMatches (gdbpy_gdb_memory_error))
-	    {
-	      PyObject *type, *value, *trace;
-	      char *name_str, *value_str;
-
-	      PyErr_Fetch (&type, &value, &trace);
-	      value_str = gdbpy_exception_to_string (type, value);
-	      Py_XDECREF (type);
-	      Py_XDECREF (value);
-	      Py_XDECREF (trace);
-	      if (!value_str)
-		{
-		  gdbpy_print_stack ();
-		  break;
-		}
-
-	      name_str = xstrprintf ("<error at %d>", i);
-	      item = Py_BuildValue ("(ss)", name_str, value_str);
-	      xfree (name_str);
-	      xfree (value_str);
-	      if (!item)
-		{
-		  gdbpy_print_stack ();
-		  break;
-		}
-
-	      force_done = 1;
-	    }
-	  else
-	    {
-	      /* Any other kind of error.  */
-	      gdbpy_print_stack ();
-	      break;
-	    }
+	  item = varobj_iter_next (var->dynamic->child_iter);
+	  /* Release vitem->value so its lifetime is not bound to the
+	     execution of a command.  */
+	  if (item != NULL && item->value != NULL)
+	    release_value_or_incref (item->value);
 	}
 
+      if (item == NULL)
+	{
+	  /* Iteration is done.  Remove iterator from VAR.  */
+	  varobj_iter_delete (var->dynamic->child_iter);
+	  var->dynamic->child_iter = NULL;
+	  break;
+	}
       /* We don't want to push the extra child on any report list.  */
       if (to < 0 || i < to)
 	{
-	  PyObject *py_v;
-	  const char *name;
-	  struct value *v;
-	  struct cleanup *inner;
 	  int can_mention = from < 0 || i >= from;
 
-	  inner = make_cleanup_py_decref (item);
-
-	  if (!PyArg_ParseTuple (item, "sO", &name, &py_v))
-	    {
-	      gdbpy_print_stack ();
-	      error (_("Invalid item from the child list"));
-	    }
-
-	  v = convert_value_from_python (py_v);
-	  if (v == NULL)
-	    gdbpy_print_stack ();
 	  install_dynamic_child (var, can_mention ? changed : NULL,
 				 can_mention ? type_changed : NULL,
 				 can_mention ? new : NULL,
 				 can_mention ? unchanged : NULL,
 				 can_mention ? cchanged : NULL, i,
-				 xstrdup (name), v);
-	  do_cleanups (inner);
+				 item);
+
+	  xfree (item);
 	}
       else
 	{
-	  Py_XDECREF (var->dynamic->saved_item);
 	  var->dynamic->saved_item = item;
 
 	  /* We want to truncate the child list just before this
 	     element.  */
 	  break;
 	}
-
-      if (force_done)
-	break;
     }
 
   if (i < VEC_length (varobj_p, var->children))
@@ -942,13 +882,8 @@ update_dynamic_varobj_children (struct v
     *cchanged = 1;
 
   var->num_children = VEC_length (varobj_p, var->children);
- 
-  do_cleanups (back_to);
 
   return 1;
-#else
-  gdb_assert_not_reached ("should never be called if Python is not enabled");
-#endif
 }
 
 int
@@ -956,7 +891,7 @@ varobj_get_num_children (struct varobj *
 {
   if (var->num_children == -1)
     {
-      if (var->dynamic->pretty_printer != NULL)
+      if (varobj_is_dynamic_p (var))
 	{
 	  int dummy;
 
@@ -983,7 +918,7 @@ varobj_list_children (struct varobj *var
 
   var->dynamic->children_requested = 1;
 
-  if (var->dynamic->pretty_printer != NULL)
+  if (varobj_is_dynamic_p (var))
     {
       /* This, in theory, can result in the number of children changing without
 	 frontend noticing.  But well, calling -var-list-children on the same
@@ -1025,21 +960,17 @@ varobj_list_children (struct varobj *var
   return var->children;
 }
 
-#if HAVE_PYTHON
-
 static struct varobj *
-varobj_add_child (struct varobj *var, char *name, struct value *value)
+varobj_add_child (struct varobj *var, struct varobj_item *item)
 {
-  varobj_p v = create_child_with_value (var, 
+  varobj_p v = create_child_with_value (var,
 					VEC_length (varobj_p, var->children), 
-					name, value);
+					item);
 
   VEC_safe_push (varobj_p, var->children, v);
   return v;
 }
 
-#endif /* HAVE_PYTHON */
-
 /* Obtain the type of an object Variable as a string similar to the one gdb
    prints on the console.  */
 
@@ -1069,18 +1000,18 @@ varobj_get_gdb_type (struct varobj *var)
 static int
 is_path_expr_parent (struct varobj *var)
 {
-  struct type *type;
-
-  /* "Fake" children are not path_expr parents.  */
-  if (CPLUS_FAKE_CHILD (var))
-    return 0;
+  gdb_assert (var->root->lang_ops->is_path_expr_parent != NULL);
+  return var->root->lang_ops->is_path_expr_parent (var);
+}
 
-  type = varobj_get_value_type (var);
+/* Is VAR a path expression parent, i.e., can it be used to construct
+   a valid path expression?  By default we assume any VAR can be a path
+   parent.  */
 
-  /* Anonymous unions and structs are also not path_expr parents.  */
-  return !((TYPE_CODE (type) == TYPE_CODE_STRUCT
-	    || TYPE_CODE (type) == TYPE_CODE_UNION)
-	   && TYPE_NAME (type) == NULL);
+int
+varobj_default_is_path_expr_parent (struct varobj *var)
+{
+  return 1;
 }
 
 /* Return the path expression parent for VAR.  */
@@ -1131,8 +1062,10 @@ varobj_get_attributes (struct varobj *va
   return attributes;
 }
 
+/* Return true if VAR is a dynamic varobj.  */
+
 int
-varobj_pretty_printed_p (struct varobj *var)
+varobj_is_dynamic_p (struct varobj *var)
 {
   return var->dynamic->pretty_printer != NULL;
 }
@@ -1234,7 +1167,7 @@ install_visualizer (struct varobj_dynami
   Py_XDECREF (var->pretty_printer);
   var->pretty_printer = visualizer;
 
-  Py_XDECREF (var->child_iter);
+  varobj_iter_delete (var->child_iter);
   var->child_iter = NULL;
 }
 
@@ -1787,10 +1720,9 @@ varobj_update (struct varobj **varp, int
 	    }
 	}
 
-      /* We probably should not get children of a varobj that has a
-	 pretty-printer, but for which -var-list-children was never
-	 invoked.  */
-      if (v->dynamic->pretty_printer != NULL)
+      /* We probably should not get children of a dynamic varobj, but
+	 for which -var-list-children was never invoked.  */
+      if (varobj_is_dynamic_p (v))
 	{
 	  VEC (varobj_p) *changed = 0, *type_changed = 0, *unchanged = 0;
 	  VEC (varobj_p) *new = 0;
@@ -2107,13 +2039,17 @@ uninstall_variable (struct varobj *var)
 static struct varobj *
 create_child (struct varobj *parent, int index, char *name)
 {
-  return create_child_with_value (parent, index, name, 
-				  value_of_child (parent, index));
+  struct varobj_item item;
+
+  item.name = name;
+  item.value = value_of_child (parent, index);
+
+  return create_child_with_value (parent, index, &item);
 }
 
 static struct varobj *
-create_child_with_value (struct varobj *parent, int index, char *name,
-			 struct value *value)
+create_child_with_value (struct varobj *parent, int index,
+			 struct varobj_item *item)
 {
   struct varobj *child;
   char *childs_name;
@@ -2121,7 +2057,7 @@ create_child_with_value (struct varobj *
   child = new_variable ();
 
   /* NAME is allocated by caller.  */
-  child->name = name;
+  child->name = item->name;
   child->index = index;
   child->parent = parent;
   child->root = parent->root;
@@ -2129,22 +2065,22 @@ create_child_with_value (struct varobj *
   if (varobj_is_anonymous_child (child))
     childs_name = xstrprintf ("%s.%d_anonymous", parent->obj_name, index);
   else
-    childs_name = xstrprintf ("%s.%s", parent->obj_name, name);
+    childs_name = xstrprintf ("%s.%s", parent->obj_name, item->name);
   child->obj_name = childs_name;
 
   install_variable (child);
 
   /* Compute the type of the child.  Must do this before
      calling install_new_value.  */
-  if (value != NULL)
+  if (item->value != NULL)
     /* If the child had no evaluation errors, var->value
        will be non-NULL and contain a valid type.  */
-    child->type = value_actual_type (value, 0, NULL);
+    child->type = value_actual_type (item->value, 0, NULL);
   else
     /* Otherwise, we must compute the type.  */
     child->type = (*child->root->lang_ops->type_of_child) (child->parent,
 							   child->index);
-  install_new_value (child, value, 1);
+  install_new_value (child, item->value, 1);
 
   return child;
 }
@@ -2218,12 +2154,12 @@ free_variable (struct varobj *var)
 
       Py_XDECREF (var->dynamic->constructor);
       Py_XDECREF (var->dynamic->pretty_printer);
-      Py_XDECREF (var->dynamic->child_iter);
-      Py_XDECREF (var->dynamic->saved_item);
       do_cleanups (cleanup);
     }
 #endif
 
+  varobj_iter_delete (var->dynamic->child_iter);
+  varobj_clear_saved_item (var->dynamic);
   value_free (var->value);
 
   /* Free the expression if this is a root variable.  */
@@ -2789,24 +2725,6 @@ all_root_varobjs (void (*func) (struct v
       (*func) (var_root->rootvar, data);
     }
 }
-
-extern void _initialize_varobj (void);
-void
-_initialize_varobj (void)
-{
-  int sizeof_table = sizeof (struct vlist *) * VAROBJ_TABLE_SIZE;
-
-  varobj_table = xmalloc (sizeof_table);
-  memset (varobj_table, 0, sizeof_table);
-
-  add_setshow_zuinteger_cmd ("varobj", class_maintenance,
-			     &varobjdebug,
-			     _("Set varobj debugging."),
-			     _("Show varobj debugging."),
-			     _("When non-zero, varobj debugging is enabled."),
-			     NULL, show_varobjdebug,
-			     &setdebuglist, &showdebuglist);
-}
 
 /* Invalidate varobj VAR if it is tied to locals and re-create it if it is
    defined on globals.  It is a helper for varobj_invalidate.
@@ -2849,3 +2767,21 @@ varobj_invalidate (void)
 {
   all_root_varobjs (varobj_invalidate_iter, NULL);
 }
+
+extern void _initialize_varobj (void);
+void
+_initialize_varobj (void)
+{
+  int sizeof_table = sizeof (struct vlist *) * VAROBJ_TABLE_SIZE;
+
+  varobj_table = xmalloc (sizeof_table);
+  memset (varobj_table, 0, sizeof_table);
+
+  add_setshow_zuinteger_cmd ("varobj", class_maintenance,
+			     &varobjdebug,
+			     _("Set varobj debugging."),
+			     _("Show varobj debugging."),
+			     _("When non-zero, varobj debugging is enabled."),
+			     NULL, show_varobjdebug,
+			     &setdebuglist, &showdebuglist);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/varobj.h ./gdb/varobj.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/varobj.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/varobj.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* GDB variable objects API.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -213,6 +213,12 @@ struct lang_varobj_ops
      Languages where types do not mutate can set this to NULL.  */
   int (*value_has_mutated) (struct varobj *var, struct value *new_value,
 			    struct type *new_type);
+
+  /* Return nonzero if VAR is a suitable path expression parent.
+
+     For C like languages with anonymous structures and unions an anonymous
+     structure or union is not a suitable parent.  */
+  int (*is_path_expr_parent) (struct varobj *var);
 };
 
 extern const struct lang_varobj_ops c_varobj_ops;
@@ -306,7 +312,9 @@ extern void varobj_enable_pretty_printin
 
 extern int varobj_has_more (struct varobj *var, int to);
 
-extern int varobj_pretty_printed_p (struct varobj *var);
+extern int varobj_is_dynamic_p (struct varobj *var);
+
+extern struct cleanup *varobj_ensure_python_env (struct varobj *var);
 
 extern int varobj_default_value_is_changeable_p (struct varobj *var);
 extern int varobj_value_is_changeable_p (struct varobj *var);
@@ -326,4 +334,7 @@ extern void varobj_formatted_print_optio
 
 extern void varobj_restrict_range (VEC (varobj_p) *children, int *from,
 				   int *to);
+
+extern int varobj_default_is_path_expr_parent (struct varobj *var);
+
 #endif /* VAROBJ_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/varobj-iter.h ./gdb/varobj-iter.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/varobj-iter.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/varobj-iter.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,72 @@
+/* Iterator of varobj.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* A node or item of varobj, composed of the name and the value.  */
+
+typedef struct varobj_item
+{
+  /* Name of this item.  */
+  char *name;
+
+  /* Value of this item.  */
+  struct value *value;
+} varobj_item;
+
+struct varobj_iter_ops;
+
+/* A dynamic varobj iterator "class".  */
+
+struct varobj_iter
+{
+  /* The 'vtable'.  */
+  const struct varobj_iter_ops *ops;
+
+  /* The varobj this iterator is listing children for.  */
+  struct varobj *var;
+
+  /* The next raw index we will try to check is available.  If it is
+     equal to number_of_children, then we've already iterated the
+     whole set.  */
+  int next_raw_index;
+};
+
+/* The vtable of the varobj iterator class.  */
+
+struct varobj_iter_ops
+{
+  /* Destructor.  Releases everything from SELF (but not SELF
+     itself).  */
+  void (*dtor) (struct varobj_iter *self);
+
+  /* Returns the next object or NULL if it has reached the end.  */
+  varobj_item *(*next) (struct varobj_iter *self);
+};
+
+/* Returns the next varobj or NULL if it has reached the end.  */
+
+#define varobj_iter_next(ITER)	(ITER)->ops->next (ITER)
+
+/* Delete a varobj_iter object.  */
+
+#define varobj_iter_delete(ITER)	       \
+  do					       \
+    {					       \
+      if ((ITER) != NULL)		       \
+	{				       \
+	  (ITER)->ops->dtor (ITER);	       \
+	  xfree (ITER);		       \
+	}				       \
+    } while (0)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vaxbsd-nat.c ./gdb/vaxbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vaxbsd-nat.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/vaxbsd-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Native-dependent code for modern VAX BSD's.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vax-nat.c ./gdb/vax-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vax-nat.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/vax-nat.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,106 +0,0 @@
-/* Native-dependent code for VAX UNIXen (including older BSD's).
-
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include "defs.h"
-#include "inferior.h"
-
-#include "gdb_assert.h"
-#include <sys/types.h>
-#include <sys/dir.h>
-#include <sys/user.h>
-
-#ifdef HAVE_SYS_PTRACE_H
-#include <sys/ptrace.h>
-#endif
-
-#ifndef PT_READ_U
-#define PT_READ_U 3
-#endif
-
-#ifdef SYS_REG_H
-/* UNIX 32V and derivatives (including 3BSD).  */
-#include <sys/reg.h>
-#else
-/* 4.2BSD and derivatives.  */
-#include <machine/reg.h>
-#endif
-
-#include "vax-tdep.h"
-#include "inf-ptrace.h"
-
-/* Address of the user structure.  This is the value for 32V; 3BSD
-   uses a different value, but hey, who's still using those systems?  */
-static CORE_ADDR vax_kernel_u_addr = 0x80020000;
-
-/* Location of the user's stored registers; usage is `u.u_ar0[XX]'.
-   For 4.2BSD and ULTRIX these are negative!  See <machine/reg.h>.  */
-static int vax_register_index[] =
-{
-  R0, R1, R2, R3, R4, R5,
-  R6, R7, R8, R9, R10, R11,
-  AP, FP, SP, PC, PS
-};
-
-static CORE_ADDR
-vax_register_u_addr (CORE_ADDR u_ar0, int regnum)
-{
-  gdb_assert (regnum >= 0 && regnum < ARRAY_SIZE (vax_register_index));
-
-  /* Type is `int *u_ar0'.  See <sys/user.h>.  */
-  return u_ar0 + vax_register_index[regnum - VAX_R0_REGNUM] * 4;
-}
-
-static CORE_ADDR
-vax_register_u_offset (struct gdbarch *gdbarch, int regnum, int store_p)
-{
-  size_t u_ar0_offset = offsetof (struct user, u_ar0);
-  CORE_ADDR u_ar0;
-  int pid;
-
-  errno = 0;
-  pid = ptid_get_pid (inferior_ptid);
-  u_ar0 = ptrace (PT_READ_U, pid, u_ar0_offset, 0);
-  if (errno)
-    perror_with_name (_("Unable to determine location of registers"));
-
-  return vax_register_u_addr (u_ar0, regnum) - vax_kernel_u_addr;
-}
-
-
-#include <nlist.h>
-
-#ifndef _PATH_UNIX
-#define _PATH_UNIX "/vmunix"
-#endif
-
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-void _initialize_vax_nat (void);
-
-void
-_initialize_vax_nat (void)
-{
-  struct nlist names[2];
-
-  names[0].n_name = "_u";
-  names[1].n_name = NULL;
-  if (nlist (_PATH_UNIX, names) == 0)
-    vax_kernel_u_addr = names[0].n_value;
-
-  add_target (inf_ptrace_trad_target (vax_register_u_offset));
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vaxnbsd-tdep.c ./gdb/vaxnbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vaxnbsd-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/vaxnbsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for NetBSD/vax.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,8 +24,6 @@
 #include "vax-tdep.h"
 #include "solib-svr4.h"
 
-#include <string.h>
-
 /* NetBSD ELF.  */
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vaxobsd-tdep.c ./gdb/vaxobsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vaxobsd-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/vaxobsd-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for OpenBSD/vax.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,8 +27,6 @@
 
 #include "vax-tdep.h"
 
-#include <string.h>
-
 /* Signal trampolines.  */
 
 /* Since OpenBSD 3.2, the sigtramp routine is mapped at a random page
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vax-tdep.c ./gdb/vax-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vax-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/vax-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the VAX.
 
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -32,8 +32,6 @@
 #include "trad-frame.h"
 #include "value.h"
 
-#include <string.h>
-
 #include "vax-tdep.h"
 
 /* Return the name of register REGNUM.  */
@@ -91,17 +89,15 @@ static const struct regset vax_gregset =
   vax_supply_gregset
 };
 
-/* Return the appropriate register set for the core section identified
-   by SECT_NAME and SECT_SIZE.  */
+/* Iterate over core file register note sections.  */
 
-static const struct regset *
-vax_regset_from_core_section (struct gdbarch *gdbarch,
-			      const char *sect_name, size_t sect_size)
+static void
+vax_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				  iterate_over_regset_sections_cb *cb,
+				  void *cb_data,
+				  const struct regcache *regcache)
 {
-  if (strcmp (sect_name, ".reg") == 0 && sect_size >= VAX_NUM_REGS * 4)
-    return &vax_gregset;
-
-  return NULL;
+  cb (".reg", VAX_NUM_REGS * 4, &vax_gregset, NULL, cb_data);
 }
 
 /* The VAX UNIX calling convention uses R1 to pass a structure return
@@ -485,8 +481,8 @@ vax_gdbarch_init (struct gdbarch_info in
   set_gdbarch_pc_regnum (gdbarch, VAX_PC_REGNUM);
   set_gdbarch_ps_regnum (gdbarch, VAX_PS_REGNUM);
 
-  set_gdbarch_regset_from_core_section
-    (gdbarch, vax_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, vax_iterate_over_regset_sections);
 
   /* Frame and stack info */
   set_gdbarch_skip_prologue (gdbarch, vax_skip_prologue);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vax-tdep.h ./gdb/vax-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/vax-tdep.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/vax-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the VAX.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/version.in ./gdb/version.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/version.in	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/version.in	2015-01-20 02:05:39.000000000 +0000
@@ -1 +1 @@
-7.8.1.DATE-cvs
+7.8.90.DATE-cvs
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-nat.c ./gdb/windows-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-nat.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/windows-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-vector operations for controlling windows child processes, for GDB.
 
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Solutions, A Red Hat Company.
 
@@ -26,7 +26,6 @@
 #include "inferior.h"
 #include "infrun.h"
 #include "target.h"
-#include "exceptions.h"
 #include "gdbcore.h"
 #include "command.h"
 #include "completer.h"
@@ -35,7 +34,6 @@
 #include <signal.h>
 #include <sys/types.h>
 #include <fcntl.h>
-#include <stdlib.h>
 #include <windows.h>
 #include <imagehlp.h>
 #include <psapi.h>
@@ -51,7 +49,6 @@
 #include "objfiles.h"
 #include "gdb_bfd.h"
 #include "gdb_obstack.h"
-#include <string.h>
 #include "gdbthread.h"
 #include "gdbcmd.h"
 #include <unistd.h>
@@ -65,7 +62,7 @@
 
 #include "windows-tdep.h"
 #include "windows-nat.h"
-#include "i386-nat.h"
+#include "x86-nat.h"
 #include "complaints.h"
 #include "inf-child.h"
 
@@ -554,61 +551,6 @@ struct lm_info
 
 static struct so_list solib_start, *solib_end;
 
-/* Call symbol_file_add with stderr redirected.  We don't care if there
-   are errors.  */
-static int
-safe_symbol_file_add_stub (void *argv)
-{
-#define p ((struct safe_symbol_file_add_args *) argv)
-  const int add_flags = ((p->from_tty ? SYMFILE_VERBOSE : 0)
-                         | (p->mainline ? SYMFILE_MAINLINE : 0));
-  p->ret = symbol_file_add (p->name, add_flags, p->addrs, p->flags);
-  return !!p->ret;
-#undef p
-}
-
-/* Restore gdb's stderr after calling symbol_file_add.  */
-static void
-safe_symbol_file_add_cleanup (void *p)
-{
-#define sp ((struct safe_symbol_file_add_args *)p)
-  gdb_flush (gdb_stderr);
-  gdb_flush (gdb_stdout);
-  ui_file_delete (gdb_stderr);
-  ui_file_delete (gdb_stdout);
-  gdb_stderr = sp->err;
-  gdb_stdout = sp->out;
-#undef sp
-}
-
-/* symbol_file_add wrapper that prevents errors from being displayed.  */
-static struct objfile *
-safe_symbol_file_add (char *name, int from_tty,
-		      struct section_addr_info *addrs,
-		      int mainline, int flags)
-{
-  struct safe_symbol_file_add_args p;
-  struct cleanup *cleanup;
-
-  cleanup = make_cleanup (safe_symbol_file_add_cleanup, &p);
-
-  p.err = gdb_stderr;
-  p.out = gdb_stdout;
-  gdb_flush (gdb_stderr);
-  gdb_flush (gdb_stdout);
-  gdb_stderr = ui_file_new ();
-  gdb_stdout = ui_file_new ();
-  p.name = name;
-  p.from_tty = from_tty;
-  p.addrs = addrs;
-  p.mainline = mainline;
-  p.flags = flags;
-  catch_errors (safe_symbol_file_add_stub, &p, "", RETURN_MASK_ERROR);
-
-  do_cleanups (cleanup);
-  return p.ret;
-}
-
 static struct so_list *
 windows_make_so (const char *name, LPVOID load_addr)
 {
@@ -857,28 +799,6 @@ windows_clear_solib (void)
   solib_end = &solib_start;
 }
 
-/* Load DLL symbol info.  */
-static void
-dll_symbol_command (char *args, int from_tty)
-{
-  int n;
-  dont_repeat ();
-
-  if (args == NULL)
-    error (_("dll-symbols requires a file name"));
-
-  n = strlen (args);
-  if (n > 4 && strcasecmp (args + n - 4, ".dll") != 0)
-    {
-      char *newargs = (char *) alloca (n + 4 + 1);
-      strcpy (newargs, args);
-      strcat (newargs, ".dll");
-      args = newargs;
-    }
-
-  safe_symbol_file_add (args, from_tty, NULL, 0, OBJF_SHARED | OBJF_USERLOADED);
-}
-
 /* Handle DEBUG_STRING output from child process.
    Cygwin prepends its messages with a "cygwin:".  Interpret this as
    a Cygwin signal.  Otherwise just print the string as a warning.  */
@@ -1731,7 +1651,7 @@ do_initial_windows_stuff (struct target_
     push_target (ops);
   disable_breakpoints_in_shlibs ();
   windows_clear_solib ();
-  clear_proceed_status ();
+  clear_proceed_status (0);
   init_wait_for_inferior ();
 
   inf = current_inferior ();
@@ -1912,7 +1832,7 @@ windows_detach (struct target_ops *ops, 
       gdb_flush (gdb_stdout);
     }
 
-  i386_cleanup_dregs ();
+  x86_cleanup_dregs ();
   inferior_ptid = null_ptid;
   detach_inferior (current_event.dwProcessId);
 
@@ -2363,7 +2283,7 @@ static void
 windows_mourn_inferior (struct target_ops *ops)
 {
   (void) windows_continue (DBG_CONTINUE, -1, 0);
-  i386_cleanup_dregs();
+  x86_cleanup_dregs();
   if (open_process_used)
     {
       CHECK (CloseHandle (current_process_handle));
@@ -2519,11 +2439,9 @@ windows_xfer_partial (struct target_ops 
 					    writebuf, offset, len, xfered_len);
 
     default:
-      if (ops->beneath != NULL)
-	return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
-					      readbuf, writebuf, offset, len,
-					      xfered_len);
-      return TARGET_XFER_E_IO;
+      return ops->beneath->to_xfer_partial (ops->beneath, object, annex,
+					    readbuf, writebuf, offset, len,
+					    xfered_len);
     }
 }
 
@@ -2592,21 +2510,20 @@ extern initialize_file_ftype _initialize
 void
 _initialize_windows_nat (void)
 {
-  struct cmd_list_element *c;
   struct target_ops *t;
 
   t = windows_target ();
 
-  i386_use_watchpoints (t);
+  x86_use_watchpoints (t);
 
-  i386_dr_low.set_control = cygwin_set_dr7;
-  i386_dr_low.set_addr = cygwin_set_dr;
-  i386_dr_low.get_addr = cygwin_get_dr;
-  i386_dr_low.get_status = cygwin_get_dr6;
-  i386_dr_low.get_control = cygwin_get_dr7;
+  x86_dr_low.set_control = cygwin_set_dr7;
+  x86_dr_low.set_addr = cygwin_set_dr;
+  x86_dr_low.get_addr = cygwin_get_dr;
+  x86_dr_low.get_status = cygwin_get_dr6;
+  x86_dr_low.get_control = cygwin_get_dr7;
 
-  /* i386_dr_low.debug_register_length field is set by
-     calling i386_set_debug_register_length function
+  /* x86_dr_low.debug_register_length field is set by
+     calling x86_set_debug_register_length function
      in processor windows specific native file.  */
 
   add_target (t);
@@ -2615,21 +2532,6 @@ _initialize_windows_nat (void)
   cygwin_internal (CW_SET_DOS_FILE_WARNING, 0);
 #endif
 
-  c = add_com ("dll-symbols", class_files, dll_symbol_command,
-	       _("Load dll library symbols from FILE."));
-  set_cmd_completer (c, filename_completer);
-  deprecate_cmd (c, "sharedlibrary");
-
-  c = add_com ("add-shared-symbol-files", class_files, dll_symbol_command,
-	       _("Load dll library symbols from FILE."));
-  set_cmd_completer (c, filename_completer);
-  deprecate_cmd (c, "sharedlibrary");
-
-  c = add_com ("assf", class_files, dll_symbol_command,
-	       _("Load dll library symbols from FILE."));
-  set_cmd_completer (c, filename_completer);
-  deprecate_cmd (c, "sharedlibrary");
-
 #ifdef __CYGWIN__
   add_setshow_boolean_cmd ("shell", class_support, &useshell, _("\
 Set use of shell to start subprocess."), _("\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-nat.h ./gdb/windows-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-nat.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/windows-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-tdep.c ./gdb/windows-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/windows-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-tdep.h ./gdb/windows-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-tdep.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/windows-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-termcap.c ./gdb/windows-termcap.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/windows-termcap.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/windows-termcap.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Win32 termcap emulation.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    Contributed by CodeSourcery, LLC.
 
@@ -19,6 +19,11 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+
+#include "defs.h"
+
+#if !defined HAVE_CURSES_H && !defined HAVE_NCURSES_H && !defined HAVE_NCURSES_NCURSES_H
+
 #include <stdlib.h>
 
 /* -Wmissing-prototypes */
@@ -71,3 +76,5 @@ tgoto (const char *cap, int col, int row
 {
   return NULL;
 }
+
+#endif	/* !HAVE_CURSES_H && !HAVE_NCURSES_H && !HAVE_NCURSES_NCURSES_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/x86-linux-nat.c ./gdb/x86-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/x86-linux-nat.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/x86-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,567 @@
+/* Native-dependent code for GNU/Linux x86 (i386 and x86-64).
+
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "inferior.h"
+#include "elf/common.h"
+#include "gdb_proc_service.h"
+#include <sys/ptrace.h>
+#include <sys/user.h>
+#include <sys/procfs.h>
+#include <sys/uio.h>
+
+#include "x86-nat.h"
+#include "linux-nat.h"
+#ifndef __x86_64__
+#include "i386-linux-nat.h"
+#endif
+#include "x86-linux-nat.h"
+#include "i386-linux-tdep.h"
+#ifdef __x86_64__
+#include "amd64-linux-tdep.h"
+#endif
+#include "x86-xstate.h"
+#include "nat/linux-btrace.h"
+
+/* Per-thread arch-specific data we want to keep.  */
+
+struct arch_lwp_info
+{
+  /* Non-zero if our copy differs from what's recorded in the thread.  */
+  int debug_registers_changed;
+};
+
+/* Does the current host support PTRACE_GETREGSET?  */
+int have_ptrace_getregset = -1;
+
+
+/* Support for debug registers.  */
+
+/* Get debug register REGNUM value from only the one LWP of PTID.  */
+
+static unsigned long
+x86_linux_dr_get (ptid_t ptid, int regnum)
+{
+  int tid;
+  unsigned long value;
+
+  gdb_assert (ptid_lwp_p (ptid));
+  tid = ptid_get_lwp (ptid);
+
+  errno = 0;
+  value = ptrace (PTRACE_PEEKUSER, tid,
+		  offsetof (struct user, u_debugreg[regnum]), 0);
+  if (errno != 0)
+    perror_with_name (_("Couldn't read debug register"));
+
+  return value;
+}
+
+/* Set debug register REGNUM to VALUE in only the one LWP of PTID.  */
+
+static void
+x86_linux_dr_set (ptid_t ptid, int regnum, unsigned long value)
+{
+  int tid;
+
+  gdb_assert (ptid_lwp_p (ptid));
+  tid = ptid_get_lwp (ptid);
+
+  errno = 0;
+  ptrace (PTRACE_POKEUSER, tid,
+	  offsetof (struct user, u_debugreg[regnum]), value);
+  if (errno != 0)
+    perror_with_name (_("Couldn't write debug register"));
+}
+
+/* Return the inferior's debug register REGNUM.  */
+
+static CORE_ADDR
+x86_linux_dr_get_addr (int regnum)
+{
+  /* DR6 and DR7 are retrieved with some other way.  */
+  gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR);
+
+  return x86_linux_dr_get (inferior_ptid, regnum);
+}
+
+/* Return the inferior's DR7 debug control register.  */
+
+static unsigned long
+x86_linux_dr_get_control (void)
+{
+  return x86_linux_dr_get (inferior_ptid, DR_CONTROL);
+}
+
+/* Get DR_STATUS from only the one LWP of INFERIOR_PTID.  */
+
+static unsigned long
+x86_linux_dr_get_status (void)
+{
+  return x86_linux_dr_get (inferior_ptid, DR_STATUS);
+}
+
+/* Callback for iterate_over_lwps.  Update the debug registers of
+   LWP.  */
+
+static int
+update_debug_registers_callback (struct lwp_info *lwp, void *arg)
+{
+  if (lwp->arch_private == NULL)
+    lwp->arch_private = XCNEW (struct arch_lwp_info);
+
+  /* The actual update is done later just before resuming the lwp, we
+     just mark that the registers need updating.  */
+  lwp->arch_private->debug_registers_changed = 1;
+
+  /* If the lwp isn't stopped, force it to momentarily pause, so we
+     can update its debug registers.  */
+  if (!lwp->stopped)
+    linux_stop_lwp (lwp);
+
+  /* Continue the iteration.  */
+  return 0;
+}
+
+/* Set DR_CONTROL to CONTROL in all LWPs of the current inferior.  */
+
+static void
+x86_linux_dr_set_control (unsigned long control)
+{
+  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
+
+  iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL);
+}
+
+/* Set address REGNUM (zero based) to ADDR in all LWPs of the current
+   inferior.  */
+
+static void
+x86_linux_dr_set_addr (int regnum, CORE_ADDR addr)
+{
+  ptid_t pid_ptid = pid_to_ptid (ptid_get_pid (inferior_ptid));
+
+  gdb_assert (regnum >= 0 && regnum <= DR_LASTADDR - DR_FIRSTADDR);
+
+  iterate_over_lwps (pid_ptid, update_debug_registers_callback, NULL);
+}
+
+/* Called when resuming a thread.
+   If the debug regs have changed, update the thread's copies.  */
+
+static void
+x86_linux_prepare_to_resume (struct lwp_info *lwp)
+{
+  int clear_status = 0;
+
+  /* NULL means this is the main thread still going through the shell,
+     or, no watchpoint has been set yet.  In that case, there's
+     nothing to do.  */
+  if (lwp->arch_private == NULL)
+    return;
+
+  if (lwp->arch_private->debug_registers_changed)
+    {
+      struct x86_debug_reg_state *state
+	= x86_debug_reg_state (ptid_get_pid (lwp->ptid));
+      int i;
+
+      /* On Linux kernel before 2.6.33 commit
+	 72f674d203cd230426437cdcf7dd6f681dad8b0d
+	 if you enable a breakpoint by the DR_CONTROL bits you need to have
+	 already written the corresponding DR_FIRSTADDR...DR_LASTADDR registers.
+
+	 Ensure DR_CONTROL gets written as the very last register here.  */
+
+      /* Clear DR_CONTROL first.  In some cases, setting DR0-3 to a
+	 value that doesn't match what is enabled in DR_CONTROL
+	 results in EINVAL.  */
+      x86_linux_dr_set (lwp->ptid, DR_CONTROL, 0);
+
+      ALL_DEBUG_ADDRESS_REGISTERS (i)
+	if (state->dr_ref_count[i] > 0)
+	  {
+	    x86_linux_dr_set (lwp->ptid, i, state->dr_mirror[i]);
+
+	    /* If we're setting a watchpoint, any change the inferior
+	       had done itself to the debug registers needs to be
+	       discarded, otherwise, x86_stopped_data_address can get
+	       confused.  */
+	    clear_status = 1;
+	  }
+
+      /* If DR_CONTROL is supposed to be zero, we've already set it
+	 above.  */
+      if (state->dr_control_mirror != 0)
+	x86_linux_dr_set (lwp->ptid, DR_CONTROL, state->dr_control_mirror);
+
+      lwp->arch_private->debug_registers_changed = 0;
+    }
+
+  if (clear_status || lwp->stop_reason == LWP_STOPPED_BY_WATCHPOINT)
+    x86_linux_dr_set (lwp->ptid, DR_STATUS, 0);
+}
+
+static void
+x86_linux_new_thread (struct lwp_info *lp)
+{
+  struct arch_lwp_info *info = XCNEW (struct arch_lwp_info);
+
+  info->debug_registers_changed = 1;
+
+  lp->arch_private = info;
+}
+
+
+/* linux_nat_new_fork hook.   */
+
+static void
+x86_linux_new_fork (struct lwp_info *parent, pid_t child_pid)
+{
+  pid_t parent_pid;
+  struct x86_debug_reg_state *parent_state;
+  struct x86_debug_reg_state *child_state;
+
+  /* NULL means no watchpoint has ever been set in the parent.  In
+     that case, there's nothing to do.  */
+  if (parent->arch_private == NULL)
+    return;
+
+  /* Linux kernel before 2.6.33 commit
+     72f674d203cd230426437cdcf7dd6f681dad8b0d
+     will inherit hardware debug registers from parent
+     on fork/vfork/clone.  Newer Linux kernels create such tasks with
+     zeroed debug registers.
+
+     GDB core assumes the child inherits the watchpoints/hw
+     breakpoints of the parent, and will remove them all from the
+     forked off process.  Copy the debug registers mirrors into the
+     new process so that all breakpoints and watchpoints can be
+     removed together.  The debug registers mirror will become zeroed
+     in the end before detaching the forked off process, thus making
+     this compatible with older Linux kernels too.  */
+
+  parent_pid = ptid_get_pid (parent->ptid);
+  parent_state = x86_debug_reg_state (parent_pid);
+  child_state = x86_debug_reg_state (child_pid);
+  *child_state = *parent_state;
+}
+
+
+static void (*super_post_startup_inferior) (struct target_ops *self,
+					    ptid_t ptid);
+
+static void
+x86_linux_child_post_startup_inferior (struct target_ops *self, ptid_t ptid)
+{
+  x86_cleanup_dregs ();
+  super_post_startup_inferior (self, ptid);
+}
+
+#ifdef __x86_64__
+/* Value of CS segment register:
+     64bit process: 0x33
+     32bit process: 0x23  */
+#define AMD64_LINUX_USER64_CS 0x33
+
+/* Value of DS segment register:
+     LP64 process: 0x0
+     X32 process: 0x2b  */
+#define AMD64_LINUX_X32_DS 0x2b
+#endif
+
+/* Get Linux/x86 target description from running target.  */
+
+static const struct target_desc *
+x86_linux_read_description (struct target_ops *ops)
+{
+  int tid;
+  int is_64bit = 0;
+#ifdef __x86_64__
+  int is_x32;
+#endif
+  static uint64_t xcr0;
+  uint64_t xcr0_features_bits;
+
+  /* GNU/Linux LWP ID's are process ID's.  */
+  tid = ptid_get_lwp (inferior_ptid);
+  if (tid == 0)
+    tid = ptid_get_pid (inferior_ptid); /* Not a threaded program.  */
+
+#ifdef __x86_64__
+  {
+    unsigned long cs;
+    unsigned long ds;
+
+    /* Get CS register.  */
+    errno = 0;
+    cs = ptrace (PTRACE_PEEKUSER, tid,
+		 offsetof (struct user_regs_struct, cs), 0);
+    if (errno != 0)
+      perror_with_name (_("Couldn't get CS register"));
+
+    is_64bit = cs == AMD64_LINUX_USER64_CS;
+
+    /* Get DS register.  */
+    errno = 0;
+    ds = ptrace (PTRACE_PEEKUSER, tid,
+		 offsetof (struct user_regs_struct, ds), 0);
+    if (errno != 0)
+      perror_with_name (_("Couldn't get DS register"));
+
+    is_x32 = ds == AMD64_LINUX_X32_DS;
+
+    if (sizeof (void *) == 4 && is_64bit && !is_x32)
+      error (_("Can't debug 64-bit process with 32-bit GDB"));
+  }
+#elif HAVE_PTRACE_GETFPXREGS
+  if (have_ptrace_getfpxregs == -1)
+    {
+      elf_fpxregset_t fpxregs;
+
+      if (ptrace (PTRACE_GETFPXREGS, tid, 0, (int) &fpxregs) < 0)
+	{
+	  have_ptrace_getfpxregs = 0;
+	  have_ptrace_getregset = 0;
+	  return tdesc_i386_mmx_linux;
+	}
+    }
+#endif
+
+  if (have_ptrace_getregset == -1)
+    {
+      uint64_t xstateregs[(X86_XSTATE_SSE_SIZE / sizeof (uint64_t))];
+      struct iovec iov;
+
+      iov.iov_base = xstateregs;
+      iov.iov_len = sizeof (xstateregs);
+
+      /* Check if PTRACE_GETREGSET works.  */
+      if (ptrace (PTRACE_GETREGSET, tid,
+		  (unsigned int) NT_X86_XSTATE, &iov) < 0)
+	have_ptrace_getregset = 0;
+      else
+	{
+	  have_ptrace_getregset = 1;
+
+	  /* Get XCR0 from XSAVE extended state.  */
+	  xcr0 = xstateregs[(I386_LINUX_XSAVE_XCR0_OFFSET
+			     / sizeof (uint64_t))];
+	}
+    }
+
+  /* Check the native XCR0 only if PTRACE_GETREGSET is available.  If
+     PTRACE_GETREGSET is not available then set xcr0_features_bits to
+     zero so that the "no-features" descriptions are returned by the
+     switches below.  */
+  if (have_ptrace_getregset)
+    xcr0_features_bits = xcr0 & X86_XSTATE_ALL_MASK;
+  else
+    xcr0_features_bits = 0;
+
+  if (is_64bit)
+    {
+#ifdef __x86_64__
+      switch (xcr0_features_bits)
+	{
+	case X86_XSTATE_MPX_AVX512_MASK:
+	case X86_XSTATE_AVX512_MASK:
+	  if (is_x32)
+	    return tdesc_x32_avx512_linux;
+	  else
+	    return tdesc_amd64_avx512_linux;
+	case X86_XSTATE_MPX_MASK:
+	  if (is_x32)
+	    return tdesc_x32_avx_linux; /* No MPX on x32 using AVX.  */
+	  else
+	    return tdesc_amd64_mpx_linux;
+	case X86_XSTATE_AVX_MASK:
+	  if (is_x32)
+	    return tdesc_x32_avx_linux;
+	  else
+	    return tdesc_amd64_avx_linux;
+	default:
+	  if (is_x32)
+	    return tdesc_x32_linux;
+	  else
+	    return tdesc_amd64_linux;
+	}
+#endif
+    }
+  else
+    {
+      switch (xcr0_features_bits)
+	{
+	case X86_XSTATE_MPX_AVX512_MASK:
+	case X86_XSTATE_AVX512_MASK:
+	  return tdesc_i386_avx512_linux;
+	case X86_XSTATE_MPX_MASK:
+	  return tdesc_i386_mpx_linux;
+	case X86_XSTATE_AVX_MASK:
+	  return tdesc_i386_avx_linux;
+	default:
+	  return tdesc_i386_linux;
+	}
+    }
+
+  gdb_assert_not_reached ("failed to return tdesc");
+}
+
+
+/* Enable branch tracing.  */
+
+static struct btrace_target_info *
+x86_linux_enable_btrace (struct target_ops *self, ptid_t ptid)
+{
+  struct btrace_target_info *tinfo;
+  struct gdbarch *gdbarch;
+
+  errno = 0;
+  tinfo = linux_enable_btrace (ptid);
+
+  if (tinfo == NULL)
+    error (_("Could not enable branch tracing for %s: %s."),
+	   target_pid_to_str (ptid), safe_strerror (errno));
+
+  /* Fill in the size of a pointer in bits.  */
+  gdbarch = target_thread_architecture (ptid);
+  tinfo->ptr_bits = gdbarch_ptr_bit (gdbarch);
+
+  return tinfo;
+}
+
+/* Disable branch tracing.  */
+
+static void
+x86_linux_disable_btrace (struct target_ops *self,
+			  struct btrace_target_info *tinfo)
+{
+  enum btrace_error errcode = linux_disable_btrace (tinfo);
+
+  if (errcode != BTRACE_ERR_NONE)
+    error (_("Could not disable branch tracing."));
+}
+
+/* Teardown branch tracing.  */
+
+static void
+x86_linux_teardown_btrace (struct target_ops *self,
+			   struct btrace_target_info *tinfo)
+{
+  /* Ignore errors.  */
+  linux_disable_btrace (tinfo);
+}
+
+static enum btrace_error
+x86_linux_read_btrace (struct target_ops *self,
+		       VEC (btrace_block_s) **data,
+		       struct btrace_target_info *btinfo,
+		       enum btrace_read_type type)
+{
+  return linux_read_btrace (data, btinfo, type);
+}
+
+
+/* Helper for ps_get_thread_area.  Sets BASE_ADDR to a pointer to
+   the thread local storage (or its descriptor) and returns PS_OK
+   on success.  Returns PS_ERR on failure.  */
+
+ps_err_e
+x86_linux_get_thread_area (pid_t pid, void *addr, unsigned int *base_addr)
+{
+  /* NOTE: cagney/2003-08-26: The definition of this buffer is found
+     in the kernel header <asm-i386/ldt.h>.  It, after padding, is 4 x
+     4 byte integers in size: `entry_number', `base_addr', `limit',
+     and a bunch of status bits.
+
+     The values returned by this ptrace call should be part of the
+     regcache buffer, and ps_get_thread_area should channel its
+     request through the regcache.  That way remote targets could
+     provide the value using the remote protocol and not this direct
+     call.
+
+     Is this function needed?  I'm guessing that the `base' is the
+     address of a descriptor that libthread_db uses to find the
+     thread local address base that GDB needs.  Perhaps that
+     descriptor is defined by the ABI.  Anyway, given that
+     libthread_db calls this function without prompting (gdb
+     requesting tls base) I guess it needs info in there anyway.  */
+  unsigned int desc[4];
+
+  /* This code assumes that "int" is 32 bits and that
+     GET_THREAD_AREA returns no more than 4 int values.  */
+  gdb_assert (sizeof (int) == 4);
+
+#ifndef PTRACE_GET_THREAD_AREA
+#define PTRACE_GET_THREAD_AREA 25
+#endif
+
+  if (ptrace (PTRACE_GET_THREAD_AREA, pid, addr, &desc) < 0)
+    return PS_ERR;
+
+  *base_addr = desc[1];
+  return PS_OK;
+}
+
+
+/* Create an x86 GNU/Linux target.  */
+
+struct target_ops *
+x86_linux_create_target (void)
+{
+  /* Fill in the generic GNU/Linux methods.  */
+  struct target_ops *t = linux_target ();
+
+  /* Initialize the debug register function vectors.  */
+  x86_use_watchpoints (t);
+  x86_dr_low.set_control = x86_linux_dr_set_control;
+  x86_dr_low.set_addr = x86_linux_dr_set_addr;
+  x86_dr_low.get_addr = x86_linux_dr_get_addr;
+  x86_dr_low.get_status = x86_linux_dr_get_status;
+  x86_dr_low.get_control = x86_linux_dr_get_control;
+  x86_set_debug_register_length (sizeof (void *));
+
+  /* Override the GNU/Linux inferior startup hook.  */
+  super_post_startup_inferior = t->to_post_startup_inferior;
+  t->to_post_startup_inferior = x86_linux_child_post_startup_inferior;
+
+  /* Add the description reader.  */
+  t->to_read_description = x86_linux_read_description;
+
+  /* Add btrace methods.  */
+  t->to_supports_btrace = linux_supports_btrace;
+  t->to_enable_btrace = x86_linux_enable_btrace;
+  t->to_disable_btrace = x86_linux_disable_btrace;
+  t->to_teardown_btrace = x86_linux_teardown_btrace;
+  t->to_read_btrace = x86_linux_read_btrace;
+
+  return t;
+}
+
+/* Add an x86 GNU/Linux target.  */
+
+void
+x86_linux_add_target (struct target_ops *t)
+{
+  linux_nat_add_target (t);
+  linux_nat_set_new_thread (t, x86_linux_new_thread);
+  linux_nat_set_new_fork (t, x86_linux_new_fork);
+  linux_nat_set_forget_process (t, x86_forget_process);
+  linux_nat_set_prepare_to_resume (t, x86_linux_prepare_to_resume);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/x86-linux-nat.h ./gdb/x86-linux-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/x86-linux-nat.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/x86-linux-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,51 @@
+/* Native-dependent code for GNU/Linux x86 (i386 and x86-64).
+
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef X86_LINUX_NAT_H
+#define X86_LINUX_NAT_H 1
+
+#ifndef PTRACE_GETREGSET
+#define PTRACE_GETREGSET	0x4204
+#endif
+
+#ifndef PTRACE_SETREGSET
+#define PTRACE_SETREGSET	0x4205
+#endif
+
+/* Does the current host support PTRACE_GETREGSET?  */
+extern int have_ptrace_getregset;
+
+
+/* Helper for ps_get_thread_area.  Sets BASE_ADDR to a pointer to
+   the thread local storage (or its descriptor) and returns PS_OK
+   on success.  Returns PS_ERR on failure.  */
+
+extern ps_err_e x86_linux_get_thread_area (pid_t pid, void *addr,
+					   unsigned int *base_addr);
+
+
+/* Create an x86 GNU/Linux target.  */
+
+extern struct target_ops *x86_linux_create_target (void);
+
+/* Add an x86 GNU/Linux target.  */
+
+extern void x86_linux_add_target (struct target_ops *t);
+
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/x86-nat.c ./gdb/x86-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/x86-nat.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/x86-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,314 @@
+/* Native-dependent code for x86 (i386 and x86-64).
+
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "defs.h"
+#include "x86-nat.h"
+#include "gdbcmd.h"
+#include "inferior.h"
+
+/* Support for hardware watchpoints and breakpoints using the x86
+   debug registers.
+
+   This provides several functions for inserting and removing
+   hardware-assisted breakpoints and watchpoints, testing if one or
+   more of the watchpoints triggered and at what address, checking
+   whether a given region can be watched, etc.
+
+   The functions below implement debug registers sharing by reference
+   counts, and allow to watch regions up to 16 bytes long.  */
+
+/* Low-level function vector.  */
+struct x86_dr_low_type x86_dr_low;
+
+/* Per-process data.  We don't bind this to a per-inferior registry
+   because of targets like x86 GNU/Linux that need to keep track of
+   processes that aren't bound to any inferior (e.g., fork children,
+   checkpoints).  */
+
+struct x86_process_info
+{
+  /* Linked list.  */
+  struct x86_process_info *next;
+
+  /* The process identifier.  */
+  pid_t pid;
+
+  /* Copy of x86 hardware debug registers.  */
+  struct x86_debug_reg_state state;
+};
+
+static struct x86_process_info *x86_process_list = NULL;
+
+/* Find process data for process PID.  */
+
+static struct x86_process_info *
+x86_find_process_pid (pid_t pid)
+{
+  struct x86_process_info *proc;
+
+  for (proc = x86_process_list; proc; proc = proc->next)
+    if (proc->pid == pid)
+      return proc;
+
+  return NULL;
+}
+
+/* Add process data for process PID.  Returns newly allocated info
+   object.  */
+
+static struct x86_process_info *
+x86_add_process (pid_t pid)
+{
+  struct x86_process_info *proc;
+
+  proc = xcalloc (1, sizeof (*proc));
+  proc->pid = pid;
+
+  proc->next = x86_process_list;
+  x86_process_list = proc;
+
+  return proc;
+}
+
+/* Get data specific info for process PID, creating it if necessary.
+   Never returns NULL.  */
+
+static struct x86_process_info *
+x86_process_info_get (pid_t pid)
+{
+  struct x86_process_info *proc;
+
+  proc = x86_find_process_pid (pid);
+  if (proc == NULL)
+    proc = x86_add_process (pid);
+
+  return proc;
+}
+
+/* Get debug registers state for process PID.  */
+
+struct x86_debug_reg_state *
+x86_debug_reg_state (pid_t pid)
+{
+  return &x86_process_info_get (pid)->state;
+}
+
+/* See declaration in i386-nat.h.  */
+
+void
+x86_forget_process (pid_t pid)
+{
+  struct x86_process_info *proc, **proc_link;
+
+  proc = x86_process_list;
+  proc_link = &x86_process_list;
+
+  while (proc != NULL)
+    {
+      if (proc->pid == pid)
+	{
+	  *proc_link = proc->next;
+
+	  xfree (proc);
+	  return;
+	}
+
+      proc_link = &proc->next;
+      proc = *proc_link;
+    }
+}
+
+/* Clear the reference counts and forget everything we knew about the
+   debug registers.  */
+
+void
+x86_cleanup_dregs (void)
+{
+  /* Starting from scratch has the same effect.  */
+  x86_forget_process (ptid_get_pid (inferior_ptid));
+}
+
+/* Insert a watchpoint to watch a memory region which starts at
+   address ADDR and whose length is LEN bytes.  Watch memory accesses
+   of the type TYPE.  Return 0 on success, -1 on failure.  */
+
+static int
+x86_insert_watchpoint (struct target_ops *self,
+		       CORE_ADDR addr, int len, int type,
+		       struct expression *cond)
+{
+  struct x86_debug_reg_state *state
+    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+
+  return x86_dr_insert_watchpoint (state, type, addr, len);
+}
+
+/* Remove a watchpoint that watched the memory region which starts at
+   address ADDR, whose length is LEN bytes, and for accesses of the
+   type TYPE.  Return 0 on success, -1 on failure.  */
+static int
+x86_remove_watchpoint (struct target_ops *self,
+		       CORE_ADDR addr, int len, int type,
+		       struct expression *cond)
+{
+  struct x86_debug_reg_state *state
+    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+
+  return x86_dr_remove_watchpoint (state, type, addr, len);
+}
+
+/* Return non-zero if we can watch a memory region that starts at
+   address ADDR and whose length is LEN bytes.  */
+
+static int
+x86_region_ok_for_watchpoint (struct target_ops *self,
+			      CORE_ADDR addr, int len)
+{
+  struct x86_debug_reg_state *state
+    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+
+  return x86_dr_region_ok_for_watchpoint (state, addr, len);
+}
+
+/* If the inferior has some break/watchpoint that triggered, set the
+   address associated with that break/watchpoint and return non-zero.
+   Otherwise, return zero.  */
+
+static int
+x86_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
+{
+  struct x86_debug_reg_state *state
+    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+
+  return x86_dr_stopped_data_address (state, addr_p);
+}
+
+/* Return non-zero if the inferior has some watchpoint that triggered.
+   Otherwise return zero.  */
+
+static int
+x86_stopped_by_watchpoint (struct target_ops *ops)
+{
+  struct x86_debug_reg_state *state
+    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+
+  return x86_dr_stopped_by_watchpoint (state);
+}
+
+/* Insert a hardware-assisted breakpoint at BP_TGT->reqstd_address.
+   Return 0 on success, EBUSY on failure.  */
+
+static int
+x86_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
+			  struct bp_target_info *bp_tgt)
+{
+  struct x86_debug_reg_state *state
+    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+
+  bp_tgt->placed_address = bp_tgt->reqstd_address;
+  return x86_dr_insert_watchpoint (state, hw_execute,
+				   bp_tgt->placed_address, 1) ? EBUSY : 0;
+}
+
+/* Remove a hardware-assisted breakpoint at BP_TGT->placed_address.
+   Return 0 on success, -1 on failure.  */
+
+static int
+x86_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch,
+			  struct bp_target_info *bp_tgt)
+{
+  struct x86_debug_reg_state *state
+    = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
+
+  return x86_dr_remove_watchpoint (state, hw_execute,
+				   bp_tgt->placed_address, 1);
+}
+
+/* Returns the number of hardware watchpoints of type TYPE that we can
+   set.  Value is positive if we can set CNT watchpoints, zero if
+   setting watchpoints of type TYPE is not supported, and negative if
+   CNT is more than the maximum number of watchpoints of type TYPE
+   that we can support.  TYPE is one of bp_hardware_watchpoint,
+   bp_read_watchpoint, bp_write_watchpoint, or bp_hardware_breakpoint.
+   CNT is the number of such watchpoints used so far (including this
+   one).  OTHERTYPE is non-zero if other types of watchpoints are
+   currently enabled.
+
+   We always return 1 here because we don't have enough information
+   about possible overlap of addresses that they want to watch.  As an
+   extreme example, consider the case where all the watchpoints watch
+   the same address and the same region length: then we can handle a
+   virtually unlimited number of watchpoints, due to debug register
+   sharing implemented via reference counts in i386-nat.c.  */
+
+static int
+x86_can_use_hw_breakpoint (struct target_ops *self,
+			   int type, int cnt, int othertype)
+{
+  return 1;
+}
+
+static void
+add_show_debug_regs_command (void)
+{
+  /* A maintenance command to enable printing the internal DRi mirror
+     variables.  */
+  add_setshow_boolean_cmd ("show-debug-regs", class_maintenance,
+			   &show_debug_regs, _("\
+Set whether to show variables that mirror the x86 debug registers."), _("\
+Show whether to show variables that mirror the x86 debug registers."), _("\
+Use \"on\" to enable, \"off\" to disable.\n\
+If enabled, the debug registers values are shown when GDB inserts\n\
+or removes a hardware breakpoint or watchpoint, and when the inferior\n\
+triggers a breakpoint or watchpoint."),
+			   NULL,
+			   NULL,
+			   &maintenance_set_cmdlist,
+			   &maintenance_show_cmdlist);
+}
+
+/* There are only two global functions left.  */
+
+void
+x86_use_watchpoints (struct target_ops *t)
+{
+  /* After a watchpoint trap, the PC points to the instruction after the
+     one that caused the trap.  Therefore we don't need to step over it.
+     But we do need to reset the status register to avoid another trap.  */
+  t->to_have_continuable_watchpoint = 1;
+
+  t->to_can_use_hw_breakpoint = x86_can_use_hw_breakpoint;
+  t->to_region_ok_for_hw_watchpoint = x86_region_ok_for_watchpoint;
+  t->to_stopped_by_watchpoint = x86_stopped_by_watchpoint;
+  t->to_stopped_data_address = x86_stopped_data_address;
+  t->to_insert_watchpoint = x86_insert_watchpoint;
+  t->to_remove_watchpoint = x86_remove_watchpoint;
+  t->to_insert_hw_breakpoint = x86_insert_hw_breakpoint;
+  t->to_remove_hw_breakpoint = x86_remove_hw_breakpoint;
+}
+
+void
+x86_set_debug_register_length (int len)
+{
+  /* This function should be called only once for each native target.  */
+  gdb_assert (x86_dr_low.debug_register_length == 0);
+  gdb_assert (len == 4 || len == 8);
+  x86_dr_low.debug_register_length = len;
+  add_show_debug_regs_command ();
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/x86-nat.h ./gdb/x86-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/x86-nat.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/x86-nat.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,57 @@
+/* Native-dependent code for x86 (i386 and x86-64).
+
+   Low level functions to implement Oeprating System specific
+   code to manipulate x86 debug registers.
+
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef X86_NAT_H
+#define X86_NAT_H 1
+
+#include "nat/x86-dregs.h"
+
+/* Hardware-assisted breakpoints and watchpoints.  */
+
+/* Add watchpoint methods to the provided target_ops.  
+   Targets using x86 family debug registers for watchpoints should call
+   this.  */
+struct target_ops;
+extern void x86_use_watchpoints (struct target_ops *);
+
+/* Use this function to set x86_dr_low debug_register_length field
+   rather than setting it directly to check that the length is only
+   set once.  It also enables the 'maint set/show show-debug-regs' 
+   command.  */
+
+extern void x86_set_debug_register_length (int len);
+
+/* Use this function to reset the x86-nat.c debug register state.  */
+
+extern void x86_cleanup_dregs (void);
+
+/* Return a pointer to the local mirror of the debug registers of
+   process PID.  */
+
+extern struct x86_debug_reg_state *x86_debug_reg_state (pid_t pid);
+
+/* Called whenever GDB is no longer debugging process PID.  It deletes
+   data structures that keep track of debug register state.  */
+
+extern void x86_forget_process (pid_t pid);
+
+#endif /* X86_NAT_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xcoffread.c ./gdb/xcoffread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xcoffread.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xcoffread.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Read AIX xcoff symbol tables and convert to internal format, for GDB.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
    Derived from coffread.c, dbxread.c, and a lot of hacking.
    Contributed by IBM Corporation.
 
@@ -24,8 +24,6 @@
 #include <sys/types.h>
 #include <fcntl.h>
 #include <ctype.h>
-#include <string.h>
-
 #ifdef HAVE_SYS_FILE_H
 #include <sys/file.h>
 #endif
@@ -771,7 +769,7 @@ process_linenos (CORE_ADDR start, CORE_A
 	     fool it.  */
 
 #if 0
-	  start_subfile (inclTable[ii].name, (char *) 0);
+	  start_subfile (inclTable[ii].name);
 #else
 	  {
 	    /* Pick a fake name that will produce the same results as this
@@ -781,7 +779,7 @@ process_linenos (CORE_ADDR start, CORE_A
 
 	    if (fakename == NULL)
 	      fakename = " ?";
-	    start_subfile (fakename, (char *) 0);
+	    start_subfile (fakename);
 	    xfree (current_subfile->name);
 	  }
 	  current_subfile->name = xstrdup (inclTable[ii].name);
@@ -803,7 +801,7 @@ process_linenos (CORE_ADDR start, CORE_A
 
 	  current_subfile->line_vector_length =
 	    current_subfile->line_vector->nitems;
-	  start_subfile (pop_subfile (), (char *) 0);
+	  start_subfile (pop_subfile ());
 	}
     }
 
@@ -811,9 +809,6 @@ return_after_cleanup:
 
   /* We don't want to keep alloc/free'ing the global include file table.  */
   inclIndx = 0;
-
-  /* Start with a fresh subfile structure for the next file.  */
-  memset (&main_subfile, '\0', sizeof (struct subfile));
 }
 
 static void
@@ -1055,7 +1050,7 @@ read_xcoff_symtab (struct objfile *objfi
   last_csect_name = 0;
 
   start_stabs ();
-  start_symtab (filestring, (char *) NULL, file_start_addr);
+  start_symtab (objfile, filestring, (char *) NULL, file_start_addr);
   record_debugformat (debugfmt);
   symnum = ((struct symloc *) pst->read_symtab_private)->first_symnum;
   max_symnum =
@@ -1141,13 +1136,13 @@ read_xcoff_symtab (struct objfile *objfi
 	{
 	  if (get_last_source_file ())
 	    {
-	      pst->symtab = end_symtab (cur_src_end_addr, objfile,
-					SECT_OFF_TEXT (objfile));
+	      pst->compunit_symtab = end_symtab (cur_src_end_addr,
+						 SECT_OFF_TEXT (objfile));
 	      end_stabs ();
 	    }
 
 	  start_stabs ();
-	  start_symtab ("_globals_", (char *) NULL, (CORE_ADDR) 0);
+	  start_symtab (objfile, "_globals_", (char *) NULL, (CORE_ADDR) 0);
 	  record_debugformat (debugfmt);
 	  cur_src_end_addr = first_object_file_end;
 	  /* Done with all files, everything from here on is globals.  */
@@ -1199,13 +1194,13 @@ read_xcoff_symtab (struct objfile *objfi
 			{
 			  complete_symtab (filestring, file_start_addr);
 			  cur_src_end_addr = file_end_addr;
-			  end_symtab (file_end_addr, objfile,
-				      SECT_OFF_TEXT (objfile));
+			  end_symtab (file_end_addr, SECT_OFF_TEXT (objfile));
 			  end_stabs ();
 			  start_stabs ();
 			  /* Give all csects for this source file the same
 			     name.  */
-			  start_symtab (filestring, NULL, (CORE_ADDR) 0);
+			  start_symtab (objfile, filestring, NULL,
+					(CORE_ADDR) 0);
 			  record_debugformat (debugfmt);
 			}
 
@@ -1321,7 +1316,7 @@ read_xcoff_symtab (struct objfile *objfi
 
 	  complete_symtab (filestring, file_start_addr);
 	  cur_src_end_addr = file_end_addr;
-	  end_symtab (file_end_addr, objfile, SECT_OFF_TEXT (objfile));
+	  end_symtab (file_end_addr, SECT_OFF_TEXT (objfile));
 	  end_stabs ();
 
 	  /* XCOFF, according to the AIX 3.2 documentation, puts the
@@ -1340,7 +1335,7 @@ read_xcoff_symtab (struct objfile *objfi
 	    filestring = cs->c_name;
 
 	  start_stabs ();
-	  start_symtab (filestring, (char *) NULL, (CORE_ADDR) 0);
+	  start_symtab (objfile, filestring, (char *) NULL, (CORE_ADDR) 0);
 	  record_debugformat (debugfmt);
 	  last_csect_name = 0;
 
@@ -1403,8 +1398,7 @@ read_xcoff_symtab (struct objfile *objfi
 			    (fcn_cs_saved.c_value
 			     + fcn_aux_saved.x_sym.x_misc.x_fsize
 			     + ANOFFSET (objfile->section_offsets,
-					 SECT_OFF_TEXT (objfile))),
-			    objfile);
+					 SECT_OFF_TEXT (objfile))));
 	      within_function = 0;
 	    }
 	  break;
@@ -1495,8 +1489,7 @@ read_xcoff_symtab (struct objfile *objfi
 				new->start_addr,
 				(cs->c_value
 				 + ANOFFSET (objfile->section_offsets,
-					     SECT_OFF_TEXT (objfile))),
-				objfile);
+					     SECT_OFF_TEXT (objfile))));
 		}
 	      local_symbols = new->locals;
 	    }
@@ -1510,17 +1503,17 @@ read_xcoff_symtab (struct objfile *objfi
 
   if (get_last_source_file ())
     {
-      struct symtab *s;
+      struct compunit_symtab *cust;
 
       complete_symtab (filestring, file_start_addr);
       cur_src_end_addr = file_end_addr;
-      s = end_symtab (file_end_addr, objfile, SECT_OFF_TEXT (objfile));
+      cust = end_symtab (file_end_addr, SECT_OFF_TEXT (objfile));
       /* When reading symbols for the last C_FILE of the objfile, try
-         to make sure that we set pst->symtab to the symtab for the
+         to make sure that we set pst->compunit_symtab to the symtab for the
          file, not to the _globals_ symtab.  I'm not sure whether this
          actually works right or when/if it comes up.  */
-      if (pst->symtab == NULL)
-	pst->symtab = s;
+      if (pst->compunit_symtab == NULL)
+	pst->compunit_symtab = cust;
       end_stabs ();
     }
 }
@@ -1566,7 +1559,7 @@ process_xcoff_symbol (struct coff_symbol
   if (name[0] == '.')
     ++name;
 
-  initialize_symbol (sym);
+  initialize_objfile_symbol (sym);
 
   /* default assumptions */
   SYMBOL_VALUE_ADDRESS (sym) = cs->c_value + off;
@@ -2113,7 +2106,7 @@ xcoff_end_psymtab (struct objfile *objfi
 	subpst->n_static_syms = 0;
 
       subpst->readin = 0;
-      subpst->symtab = 0;
+      subpst->compunit_symtab = NULL;
       subpst->read_symtab = pst->read_symtab;
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xcoffread.h ./gdb/xcoffread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xcoffread.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xcoffread.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Read AIX xcoff symbol tables and convert to internal format, for GDB.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-support.c ./gdb/xml-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-support.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xml-support.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Helper routines for parsing XML using Expat.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,11 +19,8 @@
 
 #include "defs.h"
 #include "gdbcmd.h"
-#include "exceptions.h"
 #include "xml-support.h"
 #include "filestuff.h"
-
-#include <string.h>
 #include "safe-ctype.h"
 
 /* Debugging flag.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-support.h ./gdb/xml-support.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-support.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xml-support.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Helper routines for parsing XML using Expat.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-syscall.c ./gdb/xml-syscall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-syscall.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xml-syscall.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Functions that provide the mechanism to parse a syscall XML file
    and get its values.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,14 +22,13 @@
 #include "gdbtypes.h"
 #include "xml-support.h"
 #include "xml-syscall.h"
+#include "gdbarch.h"
 
 /* For the struct syscall definition.  */
 #include "target.h"
 
 #include "filenames.h"
 
-#include "gdb_assert.h"
-
 #ifndef HAVE_LIBEXPAT
 
 /* Dummy functions to indicate that there's no support for fetching
@@ -48,14 +47,14 @@ syscall_warn_user (void)
 }
 
 void
-set_xml_syscall_file_name (const char *name)
+set_xml_syscall_file_name (struct gdbarch *gdbarch, const char *name)
 {
   return;
 }
 
 void
-get_syscall_by_number (int syscall_number,
-                       struct syscall *s)
+get_syscall_by_number (struct gdbarch *gdbarch,
+		       int syscall_number, struct syscall *s)
 {
   syscall_warn_user ();
   s->number = syscall_number;
@@ -63,8 +62,8 @@ get_syscall_by_number (int syscall_numbe
 }
 
 void
-get_syscall_by_name (const char *syscall_name,
-                     struct syscall *s)
+get_syscall_by_name (struct gdbarch *gdbarch, const char *syscall_name,
+		     struct syscall *s)
 {
   syscall_warn_user ();
   s->number = UNKNOWN_SYSCALL;
@@ -72,7 +71,7 @@ get_syscall_by_name (const char *syscall
 }
 
 const char **
-get_syscall_names (void)
+get_syscall_names (struct gdbarch *gdbarch)
 {
   syscall_warn_user ();
   return NULL;
@@ -80,10 +79,6 @@ get_syscall_names (void)
 
 #else /* ! HAVE_LIBEXPAT */
 
-/* Variable that will hold the last known data-directory.  This is useful to
-   know whether we should re-read the XML info for the target.  */
-static char *my_gdb_datadir = NULL;
-
 /* Structure which describes a syscall.  */
 typedef struct syscall_desc
 {
@@ -103,6 +98,12 @@ struct syscalls_info
   /* The syscalls.  */
 
   VEC(syscall_desc_p) *syscalls;
+
+  /* Variable that will hold the last known data-directory.  This is
+     useful to know whether we should re-read the XML info for the
+     target.  */
+
+  char *my_gdb_datadir;
 };
 
 /* Callback data for syscall information parsing.  */
@@ -110,19 +111,9 @@ struct syscall_parsing_data
 {
   /* The syscalls_info we are building.  */
 
-  struct syscalls_info *sysinfo;
+  struct syscalls_info *syscalls_info;
 };
 
-/* Structure used to store information about the available syscalls in
-   the system.  */
-static const struct syscalls_info *sysinfo = NULL;
-
-/* A flag to tell if we already initialized the structure above.  */
-static int have_initialized_sysinfo = 0;
-
-/* The filename of the syscall's XML.  */
-static const char *xml_syscall_file = NULL;
-
 static struct syscalls_info *
 allocate_syscalls_info (void)
 {
@@ -130,7 +121,7 @@ allocate_syscalls_info (void)
 }
 
 static void
-sysinfo_free_syscalls_desc (struct syscall_desc *sd)
+syscalls_info_free_syscalls_desc (struct syscall_desc *sd)
 {
   xfree (sd->name);
 }
@@ -138,27 +129,32 @@ sysinfo_free_syscalls_desc (struct sysca
 static void
 free_syscalls_info (void *arg)
 {
-  struct syscalls_info *sysinfo = arg;
+  struct syscalls_info *syscalls_info = arg;
   struct syscall_desc *sysdesc;
   int i;
 
-  for (i = 0;
-       VEC_iterate (syscall_desc_p, sysinfo->syscalls, i, sysdesc);
-       i++)
-    sysinfo_free_syscalls_desc (sysdesc);
-  VEC_free (syscall_desc_p, sysinfo->syscalls);
+  xfree (syscalls_info->my_gdb_datadir);
+
+  if (syscalls_info->syscalls != NULL)
+    {
+      for (i = 0;
+	   VEC_iterate (syscall_desc_p, syscalls_info->syscalls, i, sysdesc);
+	   i++)
+	syscalls_info_free_syscalls_desc (sysdesc);
+      VEC_free (syscall_desc_p, syscalls_info->syscalls);
+    }
 
-  xfree (sysinfo);
+  xfree (syscalls_info);
 }
 
 static struct cleanup *
-make_cleanup_free_syscalls_info (struct syscalls_info *sysinfo)
+make_cleanup_free_syscalls_info (struct syscalls_info *syscalls_info)
 {
-  return make_cleanup (free_syscalls_info, sysinfo);
+  return make_cleanup (free_syscalls_info, syscalls_info);
 }
 
 static void
-syscall_create_syscall_desc (struct syscalls_info *sysinfo,
+syscall_create_syscall_desc (struct syscalls_info *syscalls_info,
                              const char *name, int number)
 {
   struct syscall_desc *sysdesc = XCNEW (struct syscall_desc);
@@ -166,7 +162,7 @@ syscall_create_syscall_desc (struct sysc
   sysdesc->name = xstrdup (name);
   sysdesc->number = number;
 
-  VEC_safe_push (syscall_desc_p, sysinfo->syscalls, sysdesc);
+  VEC_safe_push (syscall_desc_p, syscalls_info->syscalls, sysdesc);
 }
 
 /* Handle the start of a <syscall> element.  */
@@ -196,7 +192,7 @@ syscall_start_syscall (struct gdb_xml_pa
     }
 
   gdb_assert (name);
-  syscall_create_syscall_desc (data->sysinfo, name, number);
+  syscall_create_syscall_desc (data->syscalls_info, name, number);
 }
 
 
@@ -227,15 +223,15 @@ syscall_parse_xml (const char *document,
   struct cleanup *result_cleanup;
   struct syscall_parsing_data data;
 
-  data.sysinfo = allocate_syscalls_info ();
-  result_cleanup = make_cleanup_free_syscalls_info (data.sysinfo);
+  data.syscalls_info = allocate_syscalls_info ();
+  result_cleanup = make_cleanup_free_syscalls_info (data.syscalls_info);
 
   if (gdb_xml_parse_quick (_("syscalls info"), NULL,
 			   syselements, document, &data) == 0)
     {
       /* Parsed successfully.  */
       discard_cleanups (result_cleanup);
-      return data.sysinfo;
+      return data.syscalls_info;
     }
   else
     {
@@ -250,12 +246,12 @@ syscall_parse_xml (const char *document,
    struct syscalls_info with the values.
    
    Returns the struct syscalls_info if the file is valid, NULL otherwise.  */
-static const struct syscalls_info *
+static struct syscalls_info *
 xml_init_syscalls_info (const char *filename)
 {
   char *full_file;
   char *dirname;
-  struct syscalls_info *sysinfo;
+  struct syscalls_info *syscalls_info;
   struct cleanup *back_to;
 
   full_file = xml_fetch_content_from_file (filename, gdb_datadir);
@@ -268,41 +264,47 @@ xml_init_syscalls_info (const char *file
   if (dirname != NULL)
     make_cleanup (xfree, dirname);
 
-  sysinfo = syscall_parse_xml (full_file,
-			       xml_fetch_content_from_file, dirname);
+  syscalls_info = syscall_parse_xml (full_file,
+				     xml_fetch_content_from_file, dirname);
   do_cleanups (back_to);
 
-  return sysinfo;
+  return syscalls_info;
 }
 
 /* Initializes the syscalls_info structure according to the
    architecture.  */
 static void
-init_sysinfo (void)
+init_syscalls_info (struct gdbarch *gdbarch)
 {
+  struct syscalls_info *syscalls_info = gdbarch_syscalls_info (gdbarch);
+  const char *xml_syscall_file = gdbarch_xml_syscall_file (gdbarch);
+
   /* Should we re-read the XML info for this target?  */
-  if (my_gdb_datadir && filename_cmp (my_gdb_datadir, gdb_datadir) != 0)
+  if (syscalls_info != NULL && syscalls_info->my_gdb_datadir != NULL
+      && filename_cmp (syscalls_info->my_gdb_datadir, gdb_datadir) != 0)
     {
       /* The data-directory changed from the last time we used it.
 	 It means that we have to re-read the XML info.  */
-      have_initialized_sysinfo = 0;
-      xfree (my_gdb_datadir);
-      my_gdb_datadir = NULL;
-      if (sysinfo)
-	free_syscalls_info ((void *) sysinfo);
+      free_syscalls_info (syscalls_info);
+      syscalls_info = NULL;
+      set_gdbarch_syscalls_info (gdbarch, NULL);
     }
 
-  /* Did we already try to initialize the structure?  */
-  if (have_initialized_sysinfo)
+  /* Did we succeed at initializing this?  */
+  if (syscalls_info != NULL)
     return;
 
-  sysinfo = xml_init_syscalls_info (xml_syscall_file);
+  syscalls_info = xml_init_syscalls_info (xml_syscall_file);
 
-  have_initialized_sysinfo = 1;
+  /* If there was some error reading the XML file, we initialize
+     gdbarch->syscalls_info anyway, in order to store information
+     about our attempt.  */
+  if (syscalls_info == NULL)
+    syscalls_info = allocate_syscalls_info ();
 
-  if (sysinfo == NULL)
+  if (syscalls_info->syscalls == NULL)
     {
-      if (xml_syscall_file)
+      if (xml_syscall_file != NULL)
 	warning (_("Could not load the syscall XML file `%s/%s'."),
 		 gdb_datadir, xml_syscall_file);
       else
@@ -314,22 +316,25 @@ init_sysinfo (void)
     }
 
   /* Saving the data-directory used to read this XML info.  */
-  my_gdb_datadir = xstrdup (gdb_datadir);
+  syscalls_info->my_gdb_datadir = xstrdup (gdb_datadir);
+
+  set_gdbarch_syscalls_info (gdbarch, syscalls_info);
 }
 
 static int
-xml_get_syscall_number (const struct syscalls_info *sysinfo,
+xml_get_syscall_number (struct gdbarch *gdbarch,
                         const char *syscall_name)
 {
+  struct syscalls_info *syscalls_info = gdbarch_syscalls_info (gdbarch);
   struct syscall_desc *sysdesc;
   int i;
 
-  if (sysinfo == NULL
+  if (syscalls_info == NULL
       || syscall_name == NULL)
     return UNKNOWN_SYSCALL;
 
   for (i = 0;
-       VEC_iterate(syscall_desc_p, sysinfo->syscalls, i, sysdesc);
+       VEC_iterate(syscall_desc_p, syscalls_info->syscalls, i, sysdesc);
        i++)
     if (strcmp (sysdesc->name, syscall_name) == 0)
       return sysdesc->number;
@@ -338,18 +343,19 @@ xml_get_syscall_number (const struct sys
 }
 
 static const char *
-xml_get_syscall_name (const struct syscalls_info *sysinfo,
+xml_get_syscall_name (struct gdbarch *gdbarch,
                       int syscall_number)
 {
+  struct syscalls_info *syscalls_info = gdbarch_syscalls_info (gdbarch);
   struct syscall_desc *sysdesc;
   int i;
 
-  if (sysinfo == NULL
+  if (syscalls_info == NULL
       || syscall_number < 0)
     return NULL;
 
   for (i = 0;
-       VEC_iterate(syscall_desc_p, sysinfo->syscalls, i, sysdesc);
+       VEC_iterate(syscall_desc_p, syscalls_info->syscalls, i, sysdesc);
        i++)
     if (sysdesc->number == syscall_number)
       return sysdesc->name;
@@ -358,21 +364,22 @@ xml_get_syscall_name (const struct sysca
 }
 
 static const char **
-xml_list_of_syscalls (const struct syscalls_info *sysinfo)
+xml_list_of_syscalls (struct gdbarch *gdbarch)
 {
+  struct syscalls_info *syscalls_info = gdbarch_syscalls_info (gdbarch);
   struct syscall_desc *sysdesc;
   const char **names = NULL;
   int nsyscalls;
   int i;
 
-  if (sysinfo == NULL)
+  if (syscalls_info == NULL)
     return NULL;
 
-  nsyscalls = VEC_length (syscall_desc_p, sysinfo->syscalls);
+  nsyscalls = VEC_length (syscall_desc_p, syscalls_info->syscalls);
   names = xmalloc ((nsyscalls + 1) * sizeof (char *));
 
   for (i = 0;
-       VEC_iterate (syscall_desc_p, sysinfo->syscalls, i, sysdesc);
+       VEC_iterate (syscall_desc_p, syscalls_info->syscalls, i, sysdesc);
        i++)
     names[i] = sysdesc->name;
 
@@ -382,37 +389,37 @@ xml_list_of_syscalls (const struct sysca
 }
 
 void
-set_xml_syscall_file_name (const char *name)
+set_xml_syscall_file_name (struct gdbarch *gdbarch, const char *name)
 {
-  xml_syscall_file = name;
+  set_gdbarch_xml_syscall_file (gdbarch, name);
 }
 
 void
-get_syscall_by_number (int syscall_number,
-                       struct syscall *s)
+get_syscall_by_number (struct gdbarch *gdbarch,
+		       int syscall_number, struct syscall *s)
 {
-  init_sysinfo ();
+  init_syscalls_info (gdbarch);
 
   s->number = syscall_number;
-  s->name = xml_get_syscall_name (sysinfo, syscall_number);
+  s->name = xml_get_syscall_name (gdbarch, syscall_number);
 }
 
 void
-get_syscall_by_name (const char *syscall_name,
-                     struct syscall *s)
+get_syscall_by_name (struct gdbarch *gdbarch,
+		     const char *syscall_name, struct syscall *s)
 {
-  init_sysinfo ();
+  init_syscalls_info (gdbarch);
 
-  s->number = xml_get_syscall_number (sysinfo, syscall_name);
+  s->number = xml_get_syscall_number (gdbarch, syscall_name);
   s->name = syscall_name;
 }
 
 const char **
-get_syscall_names (void)
+get_syscall_names (struct gdbarch *gdbarch)
 {
-  init_sysinfo ();
+  init_syscalls_info (gdbarch);
 
-  return xml_list_of_syscalls (sysinfo);
+  return xml_list_of_syscalls (gdbarch);
 }
 
 #endif /* ! HAVE_LIBEXPAT */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-syscall.h ./gdb/xml-syscall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-syscall.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xml-syscall.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Functions that provide the mechanism to parse a syscall XML file
    and get its values.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,22 +29,25 @@
    GDB won't be able to find the correct XML file to open and get
    the syscalls definitions.  */
 
-void set_xml_syscall_file_name (const char *name);
+void set_xml_syscall_file_name (struct gdbarch *gdbarch,
+				const char *name);
 
 /* Function that retrieves the syscall name corresponding to the given
    number.  It puts the requested information inside 'struct syscall'.  */
 
-void get_syscall_by_number (int syscall_number, struct syscall *s);
+void get_syscall_by_number (struct gdbarch *gdbarch,
+			    int syscall_number, struct syscall *s);
 
 /* Function that retrieves the syscall number corresponding to the given
    name.  It puts the requested information inside 'struct syscall'.  */
 
-void get_syscall_by_name (const char *syscall_name, struct syscall *s);
+void get_syscall_by_name (struct gdbarch *gdbarch,
+			  const char *syscall_name, struct syscall *s);
 
 /* Function used to retrieve the list of syscalls in the system.  This list
    is returned as an array of strings.  Returns the list of syscalls in the
    system, or NULL otherwise.  */
 
-const char **get_syscall_names (void);
+const char **get_syscall_names (struct gdbarch *gdbarch);
 
 #endif /* XML_SYSCALL_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-tdesc.c ./gdb/xml-tdesc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-tdesc.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xml-tdesc.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* XML target description support for GDB.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by CodeSourcery.
 
@@ -28,8 +28,6 @@
 
 #include "filenames.h"
 
-#include "gdb_assert.h"
-
 #if !defined(HAVE_LIBEXPAT)
 
 /* Parse DOCUMENT into a target description.  Or don't, since we don't have
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-tdesc.h ./gdb/xml-tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xml-tdesc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xml-tdesc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* XML target description support for GDB.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    Contributed by CodeSourcery.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xstormy16-tdep.c ./gdb/xstormy16-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xstormy16-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xstormy16-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Sanyo Xstormy16a (LC590000) processor.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -29,8 +29,6 @@
 #include "value.h"
 #include "dis-asm.h"
 #include "inferior.h"
-#include <string.h>
-#include "gdb_assert.h"
 #include "arch-utils.h"
 #include "floatformat.h"
 #include "regcache.h"
@@ -376,7 +374,7 @@ xstormy16_analyze_prologue (struct gdbar
       /* Probably only in optimized case but legal action for prologue.  */
       else if ((inst & 0xff00) == 0x4600	/* 46SD   mov rD, rS */
 	       && (inst & 0x00f0) >= 0x0020 && (inst & 0x00f0) <= 0x0070
-	       && (inst & 0x000f) >= 0x00a0 && (inst & 0x000f) <= 0x000d)
+	       && (inst & 0x000f) >= 0x000a && (inst & 0x000f) <= 0x000d)
 	;
 
       /* Optional copying of args in r2-r7 to stack.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-config.c ./gdb/xtensa-config.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-config.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xtensa-config.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Configuration for the Xtensa architecture for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-linux-nat.c ./gdb/xtensa-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-linux-nat.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xtensa-linux-nat.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Xtensa GNU/Linux native support.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -18,12 +18,10 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
-#include <string.h>
 #include "frame.h"
 #include "inferior.h"
 #include "gdbcore.h"
 #include "regcache.h"
-#include "gdb_assert.h"
 #include "target.h"
 #include "linux-nat.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-linux-tdep.c ./gdb/xtensa-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-linux-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xtensa-linux-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for GNU/Linux on Xtensa processors.
 
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-tdep.c ./gdb/xtensa-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-tdep.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xtensa-tdep.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Xtensa port of GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -47,7 +47,6 @@
 
 #include "command.h"
 #include "gdbcmd.h"
-#include "gdb_assert.h"
 
 #include "xtensa-isa.h"
 #include "xtensa-tdep.h"
@@ -911,23 +910,18 @@ xtensa_gregset =
 };
 
 
-/* Return the appropriate register set for the core
-   section identified by SECT_NAME and SECT_SIZE.  */
+/* Iterate over supported core file register note sections. */
 
-static const struct regset *
-xtensa_regset_from_core_section (struct gdbarch *core_arch,
-				 const char *sect_name,
-				 size_t sect_size)
-{
-  DEBUGTRACE ("xtensa_regset_from_core_section "
-	      "(..., sect_name==\"%s\", sect_size==%x)\n",
-	      sect_name, (unsigned int) sect_size);
-
-  if (strcmp (sect_name, ".reg") == 0
-      && sect_size >= sizeof(xtensa_elf_gregset_t))
-    return &xtensa_gregset;
+static void
+xtensa_iterate_over_regset_sections (struct gdbarch *gdbarch,
+				     iterate_over_regset_sections_cb *cb,
+				     void *cb_data,
+				     const struct regcache *regcache)
+{
+  DEBUGTRACE ("xtensa_iterate_over_regset_sections\n");
 
-  return NULL;
+  cb (".reg", sizeof (xtensa_elf_gregset_t), &xtensa_gregset,
+      NULL, cb_data);
 }
 
 
@@ -3281,8 +3275,8 @@ xtensa_gdbarch_init (struct gdbarch_info
   xtensa_add_reggroups (gdbarch);
   set_gdbarch_register_reggroup_p (gdbarch, xtensa_register_reggroup_p);
 
-  set_gdbarch_regset_from_core_section (gdbarch,
-					xtensa_regset_from_core_section);
+  set_gdbarch_iterate_over_regset_sections
+    (gdbarch, xtensa_iterate_over_regset_sections);
 
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-tdep.h ./gdb/xtensa-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-tdep.h	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xtensa-tdep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Xtensa port of GDB, the GNU debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-xtregs.c ./gdb/xtensa-xtregs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/gdb/xtensa-xtregs.c	2015-01-13 02:02:19.000000000 +0000
+++ ./gdb/xtensa-xtregs.c	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table mapping between kernel xtregset and GDB register cache.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/alloca-conf.h ./include/alloca-conf.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/alloca-conf.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/alloca-conf.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/ansidecl.h ./include/ansidecl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/ansidecl.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/ansidecl.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,5 @@
 /* ANSI and traditional C compatability macros
-   Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-   2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2013
-   Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
 This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/adobe.h ./include/aout/adobe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/adobe.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/adobe.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* `a.out.adobe' differences from standard a.out files
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/aout64.h ./include/aout/aout64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/aout64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/aout64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* `a.out' object-file definitions, including extensions to 64-bit fields
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/ar.h ./include/aout/ar.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/ar.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/ar.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* archive file definition for GNU software
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/ChangeLog ./include/aout/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,7 @@
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
 2014-03-05  Alan Modra  <amodra@gmail.com>
 
 	Update copyright years.
@@ -252,7 +256,7 @@ Mon Aug 23  Sean Fagan  (sef@cygnus.com)
 	directory.
 
 
-Copyright (C) 1991-2014 Free Software Foundation, Inc.
+Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/dynix3.h ./include/aout/dynix3.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/dynix3.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/dynix3.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* a.out specifics for Sequent Symmetry running Dynix 3.x
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/encap.h ./include/aout/encap.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/encap.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/encap.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Yet Another Try at encapsulating bfd object files in coff.
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
    Written by Pace Willisson 12/9/88
 
    This file is obsolete.  It needs to be converted to just define a bunch
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/host.h ./include/aout/host.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/host.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/host.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* host.h - Parameters about the a.out format, based on the host system
    on which the program is compiled. 
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/hp300hpux.h ./include/aout/hp300hpux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/hp300hpux.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/hp300hpux.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Special version of <a.out.h> for use under HP-UX.
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/hp.h ./include/aout/hp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/hp.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/hp.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Special version of <a.out.h> for use under HP-UX.
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/hppa.h ./include/aout/hppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/hppa.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/hppa.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/ranlib.h ./include/aout/ranlib.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/ranlib.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/ranlib.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ranlib.h -- archive library index member definition for GNU.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/reloc.h ./include/aout/reloc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/reloc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/reloc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* reloc.h -- Header file for relocation information.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/stab.def ./include/aout/stab.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/stab.def	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/stab.def	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table of DBX symbol codes for the GNU system.
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/stab_gnu.h ./include/aout/stab_gnu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/stab_gnu.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/stab_gnu.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* gnu_stab.h  Definitions for GNU extensions to STABS
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/sun4.h ./include/aout/sun4.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/aout/sun4.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/aout/sun4.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* SPARC-specific values for a.out files 
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/bfdlink.h ./include/bfdlink.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/bfdlink.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/bfdlink.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfdlink.h -- header file for BFD link routines
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -91,8 +91,14 @@ struct bfd_link_hash_entry
   /* Type of this entry.  */
   ENUM_BITFIELD (bfd_link_hash_type) type : 8;
 
+  /* Symbol is referenced in a normal object file, as distict from a LTO
+     IR object file.  */
   unsigned int non_ir_ref : 1;
 
+  /* Symbol is a built-in define.  These will be overridden by PROVIDE
+     in a linker script.  */
+  unsigned int linker_def : 1;
+
   /* A union of information depending upon the type.  */
   union
     {
@@ -167,6 +173,8 @@ struct bfd_link_hash_table
   struct bfd_link_hash_entry *undefs;
   /* Entries are added to the tail of the undefs list.  */
   struct bfd_link_hash_entry *undefs_tail;
+  /* Function to free the hash table on closing BFD.  */
+  void (*hash_table_free) (bfd *);
   /* The type of the link hash table.  */
   enum bfd_link_hash_table_type type;
 };
@@ -290,6 +298,9 @@ struct bfd_link_info
      callback.  */
   unsigned int notice_all: 1;
 
+  /* TRUE if the LTO plugin is active.  */
+  unsigned int lto_plugin_active: 1;
+
   /* TRUE if we are loading LTO outputs.  */
   unsigned int loading_lto_outputs: 1;
 
@@ -412,6 +423,9 @@ struct bfd_link_info
   /* TRUE if the linker script contained an explicit PHDRS command.  */
   unsigned int user_phdrs: 1;
 
+  /* TRUE if BND prefix in PLT entries is always generated.  */
+  unsigned int bndplt: 1;
+
   /* Char that may appear as the first char of a symbol, but should be
      skipped (like symbol_leading_char) when looking up symbols in
      wrap_hash.  Used by PowerPC Linux for 'dot' symbols.  */
@@ -469,7 +483,7 @@ struct bfd_link_info
   bfd *output_bfd;
 
   /* The list of input BFD's involved in the link.  These are chained
-     together via the link_next field.  */
+     together via the link.next field.  */
   bfd *input_bfds;
   bfd **input_bfds_tail;
 
@@ -635,15 +649,14 @@ struct bfd_link_callbacks
     (struct bfd_link_info *, const char *name,
      bfd *abfd, asection *section, bfd_vma address);
   /* A function which is called when a symbol in notice_hash is
-     defined or referenced.  H is the symbol.  ABFD, SECTION and
-     ADDRESS are the (new) value of the symbol.  If SECTION is
-     bfd_und_section, this is a reference.  FLAGS are the symbol
-     BSF_* flags.  STRING is the name of the symbol to indirect to if
-     the sym is indirect, or the warning string if a warning sym.  */
+     defined or referenced.  H is the symbol, INH the indirect symbol
+     if applicable.  ABFD, SECTION and ADDRESS are the (new) value of
+     the symbol.  If SECTION is bfd_und_section, this is a reference.
+     FLAGS are the symbol BSF_* flags.  */
   bfd_boolean (*notice)
     (struct bfd_link_info *, struct bfd_link_hash_entry *h,
-     bfd *abfd, asection *section, bfd_vma address, flagword flags,
-     const char *string);
+     struct bfd_link_hash_entry *inh,
+     bfd *abfd, asection *section, bfd_vma address, flagword flags);
   /* Error or warning link info message.  */
   void (*einfo)
     (const char *fmt, ...);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/binary-io.h ./include/binary-io.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/binary-io.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/binary-io.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Binary mode I/O.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/bout.h ./include/bout.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/bout.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/bout.h	2015-01-20 02:05:39.000000000 +0000
@@ -2,7 +2,7 @@
    GNU tools modified to support the i80960 (or tools that operate on
    object files created by such tools).
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/cgen/basic-modes.h ./include/cgen/basic-modes.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/cgen/basic-modes.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/cgen/basic-modes.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Basic CGEN modes.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/cgen/basic-ops.h ./include/cgen/basic-ops.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/cgen/basic-ops.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/cgen/basic-ops.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Basic semantics ops support for CGEN.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/cgen/bitset.h ./include/cgen/bitset.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/cgen/bitset.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/cgen/bitset.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header file the type CGEN_BITSET.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/cgen/ChangeLog ./include/cgen/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/cgen/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/cgen/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,7 @@
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
 2014-03-05  Alan Modra  <amodra@gmail.com>
 
 	Update copyright years.
@@ -26,7 +30,7 @@
 	* bitset.h: New file.  Moved here from ../opcode/cgen-bitset.h.
 	Update license to GPL v3.
 
-Copyright (C) 2009-2014 Free Software Foundation, Inc.
+Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/ChangeLog ./include/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,146 @@
+2015-01-14  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+	* libiberty.h: Merge from GCC.
+
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
+2014-12-24  Uros Bizjak  <ubizjak@gmail.com>
+	    Ben Elliston  <bje@au.ibm.com>
+	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* libiberty.h (xasprintf): Declare.
+
+2014-12-23  Alan Modra  <amodra@gmail.com>
+
+	* bfdlink.h (struct bfd_link_hash_entry): Comment non_ir_ref.  Add
+	linker_def.
+
+2014-12-12  Phil Muldoon  <pmuldoon@redhat.com>
+	    Jan Kratochvil  <jan.kratochvil@redhat.com>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* gcc-c-fe.def: New file.
+	* gcc-c-interface.h: New file.
+	* gcc-interface.h: New file.
+
+2014-12-11  Uros Bizjak  <ubizjak@gmail.com>
+            Ben Elliston  <bje@au.ibm.com>
+            Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* libiberty.h (xvasprintf): Declare.
+
+2014-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* dis-asm.h (print_insn_visium): Declare.
+
+2014-11-24  Mark Wielaard  <mjw@redhat.com>
+
+	* dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
+	DW_LANG_C_plus_plus_14.
+
+2014-11-21  Shinichiro Hamaji  <shinichiro.hamaji@gmail.com>
+
+	* dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags)
+	(DW_AT_APPLE_isa, DW_AT_APPLE_block)
+	(DW_AT_APPLE_major_runtime_vers, DW_AT_APPLE_runtime_class)
+	(DW_AT_APPLE_omit_frame_ptr, DW_AT_APPLE_property_name)
+	(DW_AT_APPLE_property_getter, DW_AT_APPLE_property_setter)
+	(DW_AT_APPLE_property_attribute, DW_AT_APPLE_objc_complete_type)
+	(DW_AT_APPLE_property): New macros.
+
+2014-11-21  Mark Wielaard  <mjw@redhat.com>
+
+	PR debug/63239
+	* dwarf2.def (DW_AT_GNU_deleted): New attribute.
+
+2014-11-21  Terry Guo  <terry.guo@arm.com>
+
+	* opcode/arm.h (FPU_VFP_EXT_ARMV8xD): New macro.
+	(FPU_VFP_V5D16): Likewise.
+	(FPU_VFP_V5_SP_D16): Likewise.
+	(FPU_ARCH_VFP_V5D16): Likewise.
+	(FPU_ARCH_VFP_V5_SP_D16): Likewise.
+
+2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>
+
+	* bfdlink.h (struct bfd_link_info): Add bndplt.
+
+2014-10-30  Andrew Pinski  <apinski@cavium.com>
+
+	* elf/mips.h (AFL_EXT_OCTEON3): Define.
+	INSN_OCTEON3, CPU_OCTEON3): Define.
+
+2014-10-28  Yury Gribov  <y.gribov@samsung.com>
+
+	* libiberty.h (strtol, strtoul, strtoll, strtoull): New prototypes.
+
+2014-10-22  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* elf/mips.h (AFL_ASE_MASK): Define.
+
+2014-10-15  David Malcolm  <dmalcolm@redhat.com>
+
+	* libiberty.h (choose_tmpdir): New prototype.
+
+2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>
+
+	* libiberty.h (PEX_STDOUT_APPEND): New flag.
+	(PEX_STDERR_APPEND): Likewise.
+
+2014-09-23  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* demangle.h (DMGL_DLANG): New macro.
+	(DMGL_STYLE_MASK): Add DMGL_DLANG.
+	(demangling_styles): Add dlang_demangling.
+	(DLANG_DEMANGLING_STYLE_STRING): New macro.
+	(DLANG_DEMANGLING): New macro.
+	(dlang_demangle): New prototype.
+
+2014-09-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+	* longlong.h: Add __udiv_w_sdiv prototype.
+
+2014-08-12  Alan Modra  <amodra@gmail.com>
+
+	* bfdlink.h (struct bfd_link_callbacks <notice>): Remove "string"
+	param, add "inh".
+
+2014-08-12  Alan Modra  <amodra@gmail.com>
+
+	* bfdlink.h (struct bfd_link_info): Add lto_plugin_active.
+
+2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* elf/mips.h (PT_MIPS_ABIFLAGS, SHT_MIPS_ABIFLAGS): Define.
+	(Val_GNU_MIPS_ABI_FP_OLD_64): Rename from Val_GNU_MIPS_ABI_FP_64.
+	(Val_GNU_MIPS_ABI_FP_64): Redefine.
+	(Val_GNU_MIPS_ABI_FP_XX): Define.
+	(Elf_External_ABIFlags_v0, Elf_Internal_ABIFlags_v0): New structures.
+	(AFL_REG_NONE, AFL_REG_32, AFL_REG_64, AFL_REG_128): Define.
+	(AFL_ASE_DSP, AFL_ASE_DSPR2, AFL_ASE_EVA, AFL_ASE_MCU): Likewise.
+	(AFL_ASE_MDMX, AFL_ASE_MIPS3D, AFL_ASE_MT, AFL_ASE_SMARTMIPS): Likewise.
+	(AFL_ASE_VIRT, AFL_ASE_MSA, AFL_ASE_MIPS16): Likewise.
+	(AFL_ASE_MICROMIPS, AFL_ASE_XPA): Likewise.
+	(AFL_EXT_XLR, AFL_EXT_OCTEON2, AFL_EXT_OCTEONP): Likewise.
+	(AFL_EXT_LOONGSON_3A, AFL_EXT_OCTEON, AFL_EXT_5900): Likewise.
+	(AFL_EXT_4650, AFL_EXT_4010, AFL_EXT_4100, AFL_EXT_3900): Likewise.
+	(AFL_EXT_10000, AFL_EXT_SB1, AFL_EXT_4111, AFL_EXT_4120): Likewise.
+	(AFL_EXT_5400, AFL_EXT_5500, AFL_EXT_LOONGSON_2E): Likewise.
+	(AFL_EXT_LOONGSON_2F): Likewise.
+	(bfd_mips_elf_swap_abiflags_v0_in): Prototype.
+	(bfd_mips_elf_swap_abiflags_v0_out): Likewise.
+	(bfd_mips_isa_ext): Likewise.
+
+2014-06-13  Alan Modra  <amodra@gmail.com>
+
+	* bfdlink.h (struct bfd_link_hash_table): Add hash_table_free field.
+
+2014-06-13  Alan Modra  <amodra@gmail.com>
+
+	* bfdlink.h: Update for bfd.link_next change.
+
 2014-06-10  Alan Modra  <amodra@gmail.com>
 
 	PR ld/16910
@@ -2032,7 +2175,7 @@
 
 For older changes see ChangeLog-9103
 
-Copyright (C) 2004-2012 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/alpha.h ./include/coff/alpha.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/alpha.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/alpha.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* ECOFF support on Alpha machines.
    coff/ecoff.h must be included before this file.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/apollo.h ./include/coff/apollo.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/apollo.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/apollo.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for Apollo M68K
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/arm.h ./include/coff/arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/arm.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/arm.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ARM COFF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/aux-coff.h ./include/coff/aux-coff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/aux-coff.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/aux-coff.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Modifications of internal.h and m68k.h needed by A/UX
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/ChangeLog ./include/coff/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,17 @@
+2015-01-06  Alan Modra  <amodra@gmail.com>
+
+	PR binutils/17754
+	* internal.h (internal_auxent): Increase size of x_fname field to
+	20 to allow for PE format's longer file names.
+
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
+2014-08-20  Daniel Micay  <danielmicay@gmail.com>
+
+	* pe.h: Add HIGH_ENTROPY_VA flag
+
 2014-04-22  Christian Svensson  <blue@cmd.nu>
 
 	* or32.h: Delete.
@@ -391,7 +405,7 @@
 
 For older changes see ChangeLog-9103
 
-Copyright (C) 2004-2014 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/ecoff.h ./include/coff/ecoff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/ecoff.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/ecoff.h	2015-01-20 02:05:39.000000000 +0000
@@ -2,7 +2,7 @@
    This does not include symbol information, found in sym.h and
    symconst.h.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/external.h ./include/coff/external.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/external.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/external.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* external.h  -- External COFF structures
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/go32exe.h ./include/coff/go32exe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/go32exe.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/go32exe.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* COFF information for PC running go32.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/h8300.h ./include/coff/h8300.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/h8300.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/h8300.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for Renesas H8/300 and H8/300-H
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/h8500.h ./include/coff/h8500.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/h8500.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/h8500.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for Renesas H8/500
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/i386.h ./include/coff/i386.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/i386.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/i386.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for Intel 386/486.
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/i860.h ./include/coff/i860.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/i860.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/i860.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* COFF information for the Intel i860.
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/i960.h ./include/coff/i960.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/i960.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/i960.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for 80960.  Origins: Intel corp, natch.
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/ia64.h ./include/coff/ia64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/ia64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/ia64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for HP/Intel IA-64.
    
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/internal.h ./include/coff/internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/internal.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/internal.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Internal format of COFF object file data structures, for GNU BFD.
    This file is part of BFD, the Binary File Descriptor library.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -588,7 +588,11 @@ union internal_auxent
 
   union
   {
-    char x_fname[FILNMLEN];
+    /* PR 17754: We use to FILNMLEN for the size of the x_fname
+       array, but that cause problems as PE targets use a larger
+       value.  We cannot use their definition of EFILNMLEN as this
+       header can be used without including any PE headers.  */
+    char x_fname[20];
     struct
     {
       long x_zeroes;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/m68k.h ./include/coff/m68k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/m68k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/m68k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for M68K
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/m88k.h ./include/coff/m88k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/m88k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/m88k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for 88k bcs
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/mcore.h ./include/coff/mcore.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/mcore.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/mcore.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Motorola MCore support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/mips.h ./include/coff/mips.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/mips.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/mips.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* ECOFF support on MIPS machines.
    coff/ecoff.h must be included before this file.
    
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/mipspe.h ./include/coff/mipspe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/mipspe.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/mipspe.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for Windows CE with MIPS VR4111
    
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/pe.h ./include/coff/pe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/pe.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/pe.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* pe.h  -  PE COFF header information
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -40,6 +40,7 @@
 
 /* DllCharacteristics flag bits.  The inconsistent naming may seem
    odd, but that is how they are defined in the PE specification.  */
+#define IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA       0x0020
 #define IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE          0x0040
 #define IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY       0x0080
 #define IMAGE_DLL_CHARACTERISTICS_NX_COMPAT             0x0100
@@ -59,16 +60,16 @@
 
 /* Section characteristics added for ppc-nt.  */
 
-#define IMAGE_SCN_TYPE_NO_PAD                0x00000008  /* Reserved. */
+#define IMAGE_SCN_TYPE_NO_PAD                0x00000008  /* Reserved.  */
 
-#define IMAGE_SCN_CNT_CODE                   0x00000020  /* Section contains code. */
-#define IMAGE_SCN_CNT_INITIALIZED_DATA       0x00000040  /* Section contains initialized data. */
-#define IMAGE_SCN_CNT_UNINITIALIZED_DATA     0x00000080  /* Section contains uninitialized data. */
-
-#define IMAGE_SCN_LNK_OTHER                  0x00000100  /* Reserved. */
-#define IMAGE_SCN_LNK_INFO                   0x00000200  /* Section contains comments or some other type of information. */
-#define IMAGE_SCN_LNK_REMOVE                 0x00000800  /* Section contents will not become part of image. */
-#define IMAGE_SCN_LNK_COMDAT                 0x00001000  /* Section contents comdat. */
+#define IMAGE_SCN_CNT_CODE                   0x00000020  /* Section contains code.  */
+#define IMAGE_SCN_CNT_INITIALIZED_DATA       0x00000040  /* Section contains initialized data.  */
+#define IMAGE_SCN_CNT_UNINITIALIZED_DATA     0x00000080  /* Section contains uninitialized data.  */
+
+#define IMAGE_SCN_LNK_OTHER                  0x00000100  /* Reserved.  */
+#define IMAGE_SCN_LNK_INFO                   0x00000200  /* Section contains comments or some other type of information.  */
+#define IMAGE_SCN_LNK_REMOVE                 0x00000800  /* Section contents will not become part of image.  */
+#define IMAGE_SCN_LNK_COMDAT                 0x00001000  /* Section contents comdat.  */
 
 #define IMAGE_SCN_MEM_FARDATA                0x00008000
 
@@ -77,7 +78,7 @@
 #define IMAGE_SCN_MEM_LOCKED                 0x00040000
 #define IMAGE_SCN_MEM_PRELOAD                0x00080000
 
-/* Bit position in the s_flags field where the alignment values start. */
+/* Bit position in the s_flags field where the alignment values start.  */
 #define IMAGE_SCN_ALIGN_POWER_BIT_POS	     20
 #define IMAGE_SCN_ALIGN_POWER_BIT_MASK	     0x00f00000
 #define IMAGE_SCN_ALIGN_POWER_NUM(val)	     \
@@ -89,7 +90,7 @@
 #define IMAGE_SCN_ALIGN_2BYTES		     IMAGE_SCN_ALIGN_POWER_CONST (1)
 #define IMAGE_SCN_ALIGN_4BYTES		     IMAGE_SCN_ALIGN_POWER_CONST (2)
 #define IMAGE_SCN_ALIGN_8BYTES		     IMAGE_SCN_ALIGN_POWER_CONST (3)
-/* Default alignment if no others are specified. */
+/* Default alignment if no others are specified.  */
 #define IMAGE_SCN_ALIGN_16BYTES		     IMAGE_SCN_ALIGN_POWER_CONST (4)
 #define IMAGE_SCN_ALIGN_32BYTES		     IMAGE_SCN_ALIGN_POWER_CONST (5)
 #define IMAGE_SCN_ALIGN_64BYTES		     IMAGE_SCN_ALIGN_POWER_CONST (6)
@@ -101,7 +102,7 @@
 #define IMAGE_SCN_ALIGN_4096BYTES	     IMAGE_SCN_ALIGN_POWER_CONST (12)
 #define IMAGE_SCN_ALIGN_8192BYTES	     IMAGE_SCN_ALIGN_POWER_CONST (13)
 
-/* Encode alignment power into IMAGE_SCN_ALIGN bits of s_flags */
+/* Encode alignment power into IMAGE_SCN_ALIGN bits of s_flags.  */
 #define COFF_ENCODE_ALIGNMENT(SECTION, ALIGNMENT_POWER) \
   ((SECTION).s_flags |= IMAGE_SCN_ALIGN_POWER_CONST ((ALIGNMENT_POWER)))
 
@@ -200,7 +201,7 @@ struct external_PEI_DOS_hdr
 
 struct external_PEI_IMAGE_hdr
 {
-  char nt_signature[4];		/* required NT signature, 0x4550.  */
+  char nt_signature[4];		/* Required NT signature, 0x4550.  */
 
   /* From standard header.  */
   char f_magic[2];		/* Magic number.		*/
@@ -239,7 +240,7 @@ struct external_PEI_filehdr
   /* Note: additional bytes may be inserted before the signature.  Use
    the e_lfanew field to find the actual location of the NT signature.  */
 
-  char nt_signature[4];		/* required NT signature, 0x4550.  */
+  char nt_signature[4];		/* Required NT signature, 0x4550.  */
 
   /* From standard header.  */
   char f_magic[2];		/* Magic number.		*/
@@ -262,7 +263,7 @@ struct external_PEI_filehdr
 
 #endif /* COFF_IMAGE_WITH_PE */
 
-/* 32-bit PE a.out header: */
+/* 32-bit PE a.out header:  */
 
 typedef struct
 {
@@ -422,14 +423,14 @@ union external_AUX_SYMBOL_EX
 
   struct
   {
-    char Length[4];	/* section length */
-    char NumberOfRelocations[2];	/* # relocation entries */
-    char NumberOfLinenumbers[2];	/* # line numbers */
-    char Checksum[4];		   /* section COMDAT checksum	      */
-    char Number[2];	   /* COMDAT associated section index */
-    char Selection[1];		   /* COMDAT selection number	      */
+    char Length[4];		/* Section length.  */
+    char NumberOfRelocations[2];/* # relocation entries.  */
+    char NumberOfLinenumbers[2];/* # line numbers.  */
+    char Checksum[4];		/* Section COMDAT checksum.  */
+    char Number[2];	   	/* COMDAT associated section index.  */
+    char Selection[1];		/* COMDAT selection number.  */
     char bReserved[1];
-    char HighNumber[2];           /* High bits of COMDAT associated sec.  */
+    char HighNumber[2];         /* High bits of COMDAT associated sec.  */
     char rgbReserved[2];
   } Section;
 } ATTRIBUTE_PACKED;
@@ -584,8 +585,9 @@ struct external_pex64_scope_entry
   (PEX64_OFFSET_TO_SCOPE_COUNT(COUNTOFUNWINDCODES) + \
    PEX64_SCOPE_ENTRY_SIZE * (IDX))
 
-/* Extra structure used in debug directory */
-struct external_IMAGE_DEBUG_DIRECTORY {
+/* Extra structure used in debug directory.  */
+struct external_IMAGE_DEBUG_DIRECTORY
+{
   char Characteristics[4];
   char TimeDateStamp[4];
   char MajorVersion[2];
@@ -596,8 +598,8 @@ struct external_IMAGE_DEBUG_DIRECTORY {
   char PointerToRawData[4];
 };
 
-/* Extra structures used in codeview debug record */
-/* This is not part of the PE specification */
+/* Extra structures used in codeview debug record.  */
+/* This is not part of the PE specification.  */
 
 #define CVINFO_PDB70_CVSIGNATURE 0x53445352 // "RSDS"
 #define CVINFO_PDB20_CVSIGNATURE 0x3031424e // "NB10"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/powerpc.h ./include/coff/powerpc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/powerpc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/powerpc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* Basic coff information for the PowerPC
    Based on coff/rs6000.h, coff/i386.h and others.
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/rs6000.h ./include/coff/rs6000.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/rs6000.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/rs6000.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* IBM RS/6000 "XCOFF" file definitions for BFD.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
    Written by Mimi Phuong-Thao Vo of IBM
    and John Gilmore of Cygnus Support.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/rs6k64.h ./include/coff/rs6k64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/rs6k64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/rs6k64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* IBM RS/6000 "XCOFF64" file definitions for BFD.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/sh.h ./include/coff/sh.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/sh.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/sh.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for Renesas SH
    
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/sparc.h ./include/coff/sparc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/sparc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/sparc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for Sparc.
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/tic30.h ./include/coff/tic30.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/tic30.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/tic30.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for Texas Instruments TMS320C3X
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/tic4x.h ./include/coff/tic4x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/tic4x.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/tic4x.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* TI COFF information for Texas Instruments TMS320C4X/C3X.
    This file customizes the settings in coff/ti.h. 
    
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/tic54x.h ./include/coff/tic54x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/tic54x.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/tic54x.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* TI COFF information for Texas Instruments TMS320C54X.
    This file customizes the settings in coff/ti.h. 
    
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/tic80.h ./include/coff/tic80.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/tic80.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/tic80.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for TI TMS320C80 (MVP)
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/ti.h ./include/coff/ti.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/ti.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/ti.h	2015-01-20 02:05:39.000000000 +0000
@@ -2,7 +2,7 @@
    customized in a target-specific file, and then this file included (see
    tic54x.h for an example).
    
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/w65.h ./include/coff/w65.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/w65.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/w65.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for WDC 65816
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/we32k.h ./include/coff/we32k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/we32k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/we32k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for we32k
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/x86_64.h ./include/coff/x86_64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/x86_64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/x86_64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* COFF information for AMD 64.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/xcoff.h ./include/coff/xcoff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/xcoff.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/xcoff.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Internal format of XCOFF object file data structures for BFD.
 
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <ian@cygnus.com>, Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/z80.h ./include/coff/z80.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/z80.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/z80.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* coff information for Zilog Z80
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Arnold Metselaar <arnold_m@operamail.com>
 
    This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/z8k.h ./include/coff/z8k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/coff/z8k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/coff/z8k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* coff information for Zilog Z800N
    
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/demangle.h ./include/demangle.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/demangle.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/demangle.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,5 @@
 /* Defs for interface to demanglers.
-   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002,
-   2003, 2004, 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License
@@ -63,9 +62,10 @@ extern "C" {
 #define DMGL_EDG	 (1 << 13)
 #define DMGL_GNU_V3	 (1 << 14)
 #define DMGL_GNAT	 (1 << 15)
+#define DMGL_DLANG	 (1 << 16)
 
 /* If none of these are set, use 'current_demangling_style' as the default. */
-#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT)
+#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT|DMGL_DLANG)
 
 /* Enumeration of possible demangling styles.
 
@@ -87,7 +87,8 @@ extern enum demangling_styles
   edg_demangling = DMGL_EDG,
   gnu_v3_demangling = DMGL_GNU_V3,
   java_demangling = DMGL_JAVA,
-  gnat_demangling = DMGL_GNAT
+  gnat_demangling = DMGL_GNAT,
+  dlang_demangling = DMGL_DLANG
 } current_demangling_style;
 
 /* Define string names for the various demangling styles. */
@@ -102,6 +103,7 @@ extern enum demangling_styles
 #define GNU_V3_DEMANGLING_STYLE_STRING        "gnu-v3"
 #define JAVA_DEMANGLING_STYLE_STRING          "java"
 #define GNAT_DEMANGLING_STYLE_STRING          "gnat"
+#define DLANG_DEMANGLING_STYLE_STRING         "dlang"
 
 /* Some macros to test what demangling style is active. */
 
@@ -115,6 +117,7 @@ extern enum demangling_styles
 #define GNU_V3_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3)
 #define JAVA_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_JAVA)
 #define GNAT_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNAT)
+#define DLANG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_DLANG)
 
 /* Provide information about the available demangle styles. This code is
    pulled from gdb into libiberty because it is useful to binutils also.  */
@@ -169,6 +172,9 @@ java_demangle_v3 (const char *mangled);
 char *
 ada_demangle (const char *mangled, int options);
 
+extern char *
+dlang_demangle (const char *mangled, int options);
+
 enum gnu_v3_ctor_kinds {
   gnu_v3_complete_object_ctor = 1,
   gnu_v3_base_object_ctor,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/dis-asm.h ./include/dis-asm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/dis-asm.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/dis-asm.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Interface between the opcode library and its callers.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -295,6 +295,7 @@ extern int print_insn_tilegx		(bfd_vma, 
 extern int print_insn_tilepro		(bfd_vma, disassemble_info *);
 extern int print_insn_v850		(bfd_vma, disassemble_info *);
 extern int print_insn_vax		(bfd_vma, disassemble_info *);
+extern int print_insn_visium		(bfd_vma, disassemble_info *);
 extern int print_insn_w65		(bfd_vma, disassemble_info *);
 extern int print_insn_xc16x		(bfd_vma, disassemble_info *);
 extern int print_insn_xgate             (bfd_vma, disassemble_info *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/dwarf2.def ./include/dwarf2.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/dwarf2.def	2015-01-13 02:02:19.000000000 +0000
+++ ./include/dwarf2.def	2015-01-20 02:05:39.000000000 +0000
@@ -1,9 +1,7 @@
 /* -*- c -*-
    Declarations and definitions of codes relating to the DWARF2 and
    DWARF3 symbolic debugging information formats.
-   Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
-   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-   Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
    Office (AJPO), Florida State University and Silicon Graphics Inc.
@@ -383,6 +381,8 @@ DW_AT (DW_AT_GNU_all_call_sites, 0x2117)
 DW_AT (DW_AT_GNU_all_source_call_sites, 0x2118)
 /* Section offset into .debug_macro section.  */
 DW_AT (DW_AT_GNU_macros, 0x2119)
+/* Attribute for C++ deleted special member functions (= delete;).  */
+DW_AT (DW_AT_GNU_deleted, 0x211a)
 /* Extensions for Fission.  See http://gcc.gnu.org/wiki/DebugFission.  */
 DW_AT (DW_AT_GNU_dwo_name, 0x2130)
 DW_AT (DW_AT_GNU_dwo_id, 0x2131)
@@ -406,6 +406,20 @@ DW_AT (DW_AT_upc_threads_scaled, 0x3210)
 DW_AT (DW_AT_PGI_lbase, 0x3a00)
 DW_AT (DW_AT_PGI_soffset, 0x3a01)
 DW_AT (DW_AT_PGI_lstride, 0x3a02)
+/* Apple extensions.  */
+DW_AT (DW_AT_APPLE_optimized, 0x3fe1)
+DW_AT (DW_AT_APPLE_flags, 0x3fe2)
+DW_AT (DW_AT_APPLE_isa, 0x3fe3)
+DW_AT (DW_AT_APPLE_block, 0x3fe4)
+DW_AT (DW_AT_APPLE_major_runtime_vers, 0x3fe5)
+DW_AT (DW_AT_APPLE_runtime_class, 0x3fe6)
+DW_AT (DW_AT_APPLE_omit_frame_ptr, 0x3fe7)
+DW_AT (DW_AT_APPLE_property_name, 0x3fe8)
+DW_AT (DW_AT_APPLE_property_getter, 0x3fe9)
+DW_AT (DW_AT_APPLE_property_setter, 0x3fea)
+DW_AT (DW_AT_APPLE_property_attribute, 0x3feb)
+DW_AT (DW_AT_APPLE_objc_complete_type, 0x3fec)
+DW_AT (DW_AT_APPLE_property, 0x3fed)
 DW_END_AT
 
 DW_FIRST_OP (DW_OP_addr, 0x03)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/dwarf2.h ./include/dwarf2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/dwarf2.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/dwarf2.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,8 +1,6 @@
 /* Declarations and definitions of codes relating to the DWARF2 and
    DWARF3 symbolic debugging information formats.
-   Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
-   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-   Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
    Office (AJPO), Florida State University and Silicon Graphics Inc.
@@ -309,6 +307,10 @@ enum dwarf_source_language
     /* DWARF 5.  */
     DW_LANG_Go = 0x0016,
 
+    DW_LANG_C_plus_plus_11 = 0x001a, /* dwarf5.20141029.pdf DRAFT */
+    DW_LANG_C11 = 0x001d,
+    DW_LANG_C_plus_plus_14 = 0x0021,
+
     DW_LANG_lo_user = 0x8000,	/* Implementation-defined range start.  */
     DW_LANG_hi_user = 0xffff,	/* Implementation-defined range start.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/dyn-string.h ./include/dyn-string.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/dyn-string.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/dyn-string.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,5 @@
 /* An abstract string datatype.
-   Copyright (C) 1998, 1999, 2000, 2002, 2004, 2005, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Mark Mitchell (mark@markmitchell.com).
 
 This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/aarch64.h ./include/elf/aarch64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/aarch64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/aarch64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* AArch64 ELF support for BFD.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GNU Binutils.
@@ -269,20 +269,87 @@ RELOC_NUMBER (R_AARCH64_LDST32_ABS_LO12_
 /* LD/ST64: (S+A) & 0xff8 */
 RELOC_NUMBER (R_AARCH64_LDST64_ABS_LO12_NC, 286)
 
+/* Group relocations to create a 16, 32, 48, or 64 bit PC-relative
+   offset inline.  */
+
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G0, 287)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G0_NC, 288)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G1, 289)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G1_NC, 290)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G2, 291)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G2_NC, 292)
+RELOC_NUMBER (R_AARCH64_MOVW_PREL_G3, 293)
+
 /* LD/ST128: (S+A) & 0xff0 */
 RELOC_NUMBER (R_AARCH64_LDST128_ABS_LO12_NC, 299)
 
+/* Group relocations to create a 16, 32, 48, or 64 bit GOT-relative
+   offset inline.  */
+
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G0, 300)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G0_NC, 301)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G1, 302)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G1_NC, 303)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G2, 304)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G2_NC, 305)
+RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G3, 306)
+
+/* GOT-relative data relocations.  */
+
+RELOC_NUMBER (R_AARCH64_GOTREL64, 307)
+RELOC_NUMBER (R_AARCH64_GOTREL32, 308)
+
+/* GOT-relative instruction relocations.  */
+
 RELOC_NUMBER (R_AARCH64_GOT_LD_PREL19, 309)
+RELOC_NUMBER (R_AARCH64_LD64_GOTOFF_LO15, 310)
 RELOC_NUMBER (R_AARCH64_ADR_GOT_PAGE, 311)
 RELOC_NUMBER (R_AARCH64_LD64_GOT_LO12_NC, 312)
+RELOC_NUMBER (R_AARCH64_LD64_GOTPAGE_LO15, 313)
+
+/* General Dynamic TLS relocations.  */
 
+RELOC_NUMBER (R_AARCH64_TLSGD_ADR_PREL21, 512)
 RELOC_NUMBER (R_AARCH64_TLSGD_ADR_PAGE21, 513)
 RELOC_NUMBER (R_AARCH64_TLSGD_ADD_LO12_NC, 514)
+RELOC_NUMBER (R_AARCH64_TLSGD_MOVW_G1, 515)
+RELOC_NUMBER (R_AARCH64_TLSGD_MOVW_G0_NC, 516)
+
+/* Local Dynamic TLS relocations.  */
+
+RELOC_NUMBER (R_AARCH64_TLSLD_ADR_PREL21, 517)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADR_PAGE21, 518)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADD_LO12_NC, 519)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_G1, 520)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_G0_NC, 521)
+RELOC_NUMBER (R_AARCH64_TLSLD_LD_PREL19, 522)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G2, 523)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G1, 524)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC, 525)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G0, 526)
+RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC, 527)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADD_DTPREL_HI12, 528)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADD_DTPREL_LO12, 529)
+RELOC_NUMBER (R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC, 530)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST8_DTPREL_LO12, 531)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC, 532)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST16_DTPREL_LO12, 533)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC, 534)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST32_DTPREL_LO12, 535)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC, 536)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST64_DTPREL_LO12, 537)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC, 538)
+
+/* Initial Exec TLS relocations.  */
+
 RELOC_NUMBER (R_AARCH64_TLSIE_MOVW_GOTTPREL_G1, 539)
 RELOC_NUMBER (R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC, 540)
 RELOC_NUMBER (R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21, 541)
 RELOC_NUMBER (R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC, 542)
 RELOC_NUMBER (R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, 543)
+
+/* Local Exec TLS relocations.  */
+
 RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G2, 544)
 RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G1, 545)
 RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G1_NC, 546)
@@ -291,6 +358,16 @@ RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL
 RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_HI12, 549)
 RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_LO12, 550)
 RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_LO12_NC, 551)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST8_TPREL_LO12, 552)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC, 553)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST16_TPREL_LO12, 554)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, 555)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST32_TPREL_LO12, 556)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, 557)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST64_TPREL_LO12, 558)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, 559)
+
+/* TLS descriptor relocations.  */
 
 RELOC_NUMBER (R_AARCH64_TLSDESC_LD_PREL19, 560)
 RELOC_NUMBER (R_AARCH64_TLSDESC_ADR_PREL21, 561)
@@ -303,6 +380,11 @@ RELOC_NUMBER (R_AARCH64_TLSDESC_LDR, 567
 RELOC_NUMBER (R_AARCH64_TLSDESC_ADD, 568)
 RELOC_NUMBER (R_AARCH64_TLSDESC_CALL, 569)
 
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST128_TPREL_LO12, 570)
+RELOC_NUMBER (R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC, 571)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST128_DTPREL_LO12, 572)
+RELOC_NUMBER (R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC, 573)
+
 /* Dynamic relocations */
 
 /* Copy symbol at runtime.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/alpha.h ./include/elf/alpha.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/alpha.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/alpha.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ALPHA ELF support for BFD.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    By Eric Youngdale, <eric@aib.com>.  No processor supplement available
    for this platform.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/arc.h ./include/elf/arc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/arc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/arc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ARC ELF support for BFD.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Contributed by Doug Evans, (dje@cygnus.com)
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/arm.h ./include/elf/arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/arm.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/arm.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ARM ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -319,6 +319,23 @@ enum
   Tag_VFP_HP_extension = Tag_FP_HP_extension
 };
 
+/* Values for Tag_ABI_FP_number_model.  */
+enum
+{
+  AEABI_FP_number_model_none = 0,
+  AEABI_FP_number_model_ieee754_number = 1,
+  AEABI_FP_number_model_rtabi = 2,
+  AEABI_FP_number_model_ieee754_all = 3
+};
+
+/* Values for Tag_ABI_VFP_args.  */
+enum
+{
+  AEABI_VFP_args_base = 0,
+  AEABI_VFP_args_vfp = 1,
+  AEABI_VFP_args_toolchain = 2,
+  AEABI_VFP_args_compatible = 3
+};
 #endif
 
 /* The name of the note section used to identify arm variants.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/avr.h ./include/elf/avr.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/avr.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/avr.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* AVR ELF support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Denis Chertykov <denisc@overta.ru>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -40,13 +40,14 @@
 #define E_AVR_MACH_AVR5     5
 #define E_AVR_MACH_AVR51   51
 #define E_AVR_MACH_AVR6     6 
-#define E_AVR_MACH_XMEGA1 101
-#define E_AVR_MACH_XMEGA2 102
-#define E_AVR_MACH_XMEGA3 103
-#define E_AVR_MACH_XMEGA4 104
-#define E_AVR_MACH_XMEGA5 105
-#define E_AVR_MACH_XMEGA6 106
-#define E_AVR_MACH_XMEGA7 107
+#define E_AVR_MACH_AVRTINY 100
+#define E_AVR_MACH_XMEGA1  101
+#define E_AVR_MACH_XMEGA2  102
+#define E_AVR_MACH_XMEGA3  103
+#define E_AVR_MACH_XMEGA4  104
+#define E_AVR_MACH_XMEGA5  105
+#define E_AVR_MACH_XMEGA6  106
+#define E_AVR_MACH_XMEGA7  107
 
 /* Relocations.  */
 START_RELOC_NUMBERS (elf_avr_reloc_type)
@@ -83,6 +84,9 @@ START_RELOC_NUMBERS (elf_avr_reloc_type)
      RELOC_NUMBER (R_AVR_DIFF8,                30)
      RELOC_NUMBER (R_AVR_DIFF16,               31)
      RELOC_NUMBER (R_AVR_DIFF32,               32)
+     RELOC_NUMBER (R_AVR_LDS_STS_16,           33)
+     RELOC_NUMBER (R_AVR_PORT6,                34)
+     RELOC_NUMBER (R_AVR_PORT5,                35)
 END_RELOC_NUMBERS (R_AVR_max)
 
 #endif /* _ELF_AVR_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/bfin.h ./include/elf/bfin.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/bfin.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/bfin.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Blackfin ELF support for BFD.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ChangeLog ./include/elf/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,82 @@
+2015-01-09  Anthony Green  <green@moxielogic.com>
+
+	* common.h (EM_MOXIE): Redefine to official number.
+	(EM_MOXIE_OLD): Define (from old number).
+
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
+2014-12-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* arm.h: New AEABI_FP_number_model_* and AEABI_VFP_args_* enum values.
+
+2014-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* common.h (EM_VISIUM): Define.
+	* visium.h: New file.
+
+2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* x86-64.h (R_X86_64_GOTPLT64): Mark it obsolete.
+
+2014-10-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* sparc.h (ELF_SPARC_HWCAP2_VIS3B): Documentation improved.
+
+2014-10-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* sparc.h (Tag_GNU_Sparc_HWCAPS2): New object attribute.
+	(ELF_SPARC_HWCAP2_FJATHPLUS): New HWCAP2 bitmask value.
+	(ELF_SPARC_HWCAP2_VIS3B): Likewise.
+	(ELF_SPARC_HWCAP2_ADP): Likewise.
+	(ELF_SPARC_HWCAP2_SPARC5): Likewise.
+	(ELF_SPARC_HWCAP2_MWAIT): Likewise.
+	(ELF_SPARC_HWCAP2_XMPMUL): Likewise.
+	(ELF_SPARC_HWCAP2_XMONT): Likewise.
+	(ELF_SPARC_HWCAP2_NSEC): Likewise.
+	(ELF_SPARC_HWCAP2_FJATHHPC): Likewise.
+	(ELF_SPARC_HWCAP2_FJDES): Likewise.
+	(ELF_SPARC_HWCAP2_FJAES): Likewise.
+
+2014-10-08  Will Newton  <will.newton@linaro.org>
+
+	* aarch64.h: Sync up relocations with ABI release 1.0.
+
+2014-09-16  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
+	* nds32.h: Declare new relocations.
+
+2014-09-15  Andrew Bennett  <andrew.bennett@imgtec.com>
+	    Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* mips.h: Add relocs: R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3,
+	R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
+	(E_MIPS_ARCH_32R6): New define.
+	(E_MIPS_ARCH_64R6): New define.
+
+2014-08-26  DJ Delorie  <dj@redhat.com>
+
+	* rl78.h (RL78_RELAXA_MASK): New.  Relax types are enums, not bits
+
+2014-07-07  Barney Stratford  <barney_stratford@fastmail.fm>
+
+	* avr.h: Add R_AVR_PORT5 and R_AVR_PORT6.
+
+2014-07-01  Barney Stratford   <barney_stratford@fastmail.fm>
+            Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+            Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+            Soundararajan  <Sounderarajan.D@atmel.com>
+
+	* avr.h (E_AVR_MACH_AVRTINY): Define avrtiny machine number.
+	(R_AVR_LDS_STS_16): Define 16 bit lds/sts reloc number.
+	* include/opcode/avr.h (AVR_ISA_TINY): Define avrtiny specific ISA.
+	(AVR_ISA_2xxxa): Define ISA without LPM.
+	(AVR_ISA_AVRTINY): Define avrtiny arch ISA.
+	Add doc for contraint used in 16 bit lds/sts.
+	Adjust ISA group for icall, ijmp, pop and push.
+	Add 16 bit lds/sts encoding and update 32 bit lds/sts constraints.
+
 2014-04-22  Christian Svensson  <blue@cmd.nu>
 
 	* common.h: Remove openrisc and or32 support.  Add support for or1k.
@@ -1955,7 +2034,7 @@
 
 For older changes see ChangeLog-9103
 
-Copyright (C) 2004-2014 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/common.h ./include/elf/common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/common.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/common.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF support for BFD.
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, from information published
    in "UNIX System V Release 4, Programmers Guide: ANSI C and
@@ -301,6 +301,8 @@
 #define EM_INTEL207	207	/* Reserved by Intel */
 #define EM_INTEL208	208	/* Reserved by Intel */
 #define EM_INTEL209	209	/* Reserved by Intel */
+#define EM_VISIUM	221	/* Controls and Data Services VISIUMcore processor */
+#define EM_MOXIE        223     /* Moxie processor family */
 
 /* If it is necessary to assign new unofficial EM_* values, please pick large
    random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
@@ -393,7 +395,8 @@
 
 #define EM_CYGNUS_MEP		0xF00D  /* Toshiba MeP */
 
-#define EM_MOXIE                0xFEED  /* Moxie */
+/* Old, unofficial value for Moxie.  */
+#define EM_MOXIE_OLD            0xFEED
 
 /* Old Sunplus S+core7 backend magic number. Written in the absence of an ABI.  */
 #define EM_SCORE_OLD            95
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/cr16c.h ./include/elf/cr16c.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/cr16c.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/cr16c.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* CR16C ELF support for BFD.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/cr16.h ./include/elf/cr16.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/cr16.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/cr16.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* CR16 ELF support for BFD.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
    Contributed by M R Swami Reddy.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/cris.h ./include/elf/cris.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/cris.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/cris.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* CRIS ELF support for BFD.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications AB, Lund, Sweden.
    Written by Hans-Peter Nilsson.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/crx.h ./include/elf/crx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/crx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/crx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* CRX ELF support for BFD.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Tomer Levi, NSC, Israel.
    Originally written for GAS 2.12 by Tomer Levi, NSC, Israel.
    Updates, BFDizing, GNUifying and ELF support by Tomer Levi.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/d10v.h ./include/elf/d10v.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/d10v.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/d10v.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* d10v ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/d30v.h ./include/elf/d30v.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/d30v.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/d30v.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* d30v ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/dlx.h ./include/elf/dlx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/dlx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/dlx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* DLX support for BFD.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/dwarf.h ./include/elf/dwarf.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/dwarf.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/dwarf.h	2015-01-20 02:05:39.000000000 +0000
@@ -3,7 +3,7 @@
 
    Written by Ron Guilmette (rfg@netcom.com)
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of both GCC and the BFD library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/epiphany.h ./include/elf/epiphany.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/epiphany.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/epiphany.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Adapteva EPIPHANY ELF support for BFD.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by Embecosm on behalf of Adapteva, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/external.h ./include/elf/external.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/external.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/external.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF support for BFD.
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, from information published
    in "UNIX System V Release 4, Programmers Guide: ANSI C and
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/fr30.h ./include/elf/fr30.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/fr30.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/fr30.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* FR30 ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/frv.h ./include/elf/frv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/frv.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/frv.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* FRV ELF support for BFD.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/h8.h ./include/elf/h8.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/h8.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/h8.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* H8300/h8500 ELF support for BFD.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/hppa.h ./include/elf/hppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/hppa.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/hppa.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* HPPA ELF support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/i370.h ./include/elf/i370.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/i370.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/i370.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* i370 ELF support for BFD.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/i386.h ./include/elf/i386.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/i386.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/i386.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ix86 ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/i860.h ./include/elf/i860.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/i860.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/i860.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* i860 ELF support for BFD.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Jason Eckhardt <jle@cygnus.com>.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/i960.h ./include/elf/i960.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/i960.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/i960.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Intel 960 ELF support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ia64.h ./include/elf/ia64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ia64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/ia64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* IA-64 ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/internal.h ./include/elf/internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/internal.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/internal.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ELF support for BFD.
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, from information published
    in "UNIX System V Release 4, Programmers Guide: ANSI C and
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ip2k.h ./include/elf/ip2k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ip2k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/ip2k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* IP2xxx ELF support for BFD.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/iq2000.h ./include/elf/iq2000.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/iq2000.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/iq2000.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* IQ2000 ELF support for BFD.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/lm32.h ./include/elf/lm32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/lm32.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/lm32.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Lattice Mico32 ELF support for BFD.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Jon Beniston <jon@beniston.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/m32c.h ./include/elf/m32c.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/m32c.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/m32c.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* M32C ELF support for BFD.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/m32r.h ./include/elf/m32r.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/m32r.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/m32r.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* M32R ELF support for BFD.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/m68hc11.h ./include/elf/m68hc11.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/m68hc11.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/m68hc11.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* m68hc11 & m68hc12 ELF support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/m68k.h ./include/elf/m68k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/m68k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/m68k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MC68k ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mcore.h ./include/elf/mcore.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mcore.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/mcore.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Motorola MCore support for BFD.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mep.h ./include/elf/mep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mep.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/mep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Toshiba MeP ELF support for BFD.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/metag.h ./include/elf/metag.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/metag.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/metag.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Meta ELF support for BFD.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Imagination Technologies Ltd.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/microblaze.h ./include/elf/microblaze.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/microblaze.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/microblaze.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Xilinx MicroBlaze support for BFD.
  
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mips.h ./include/elf/mips.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mips.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/mips.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MIPS ELF support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    By Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>, from
    information in the System V Application Binary Interface, MIPS
@@ -87,7 +87,14 @@ START_RELOC_NUMBERS (elf_mips_reloc_type
   RELOC_NUMBER (R_MIPS_TLS_TPREL_HI16, 49)
   RELOC_NUMBER (R_MIPS_TLS_TPREL_LO16, 50)
   RELOC_NUMBER (R_MIPS_GLOB_DAT, 51)
-  FAKE_RELOC (R_MIPS_max, 52)
+  /* Space to grow */
+  RELOC_NUMBER (R_MIPS_PC21_S2, 60)
+  RELOC_NUMBER (R_MIPS_PC26_S2, 61)
+  RELOC_NUMBER (R_MIPS_PC18_S3, 62)
+  RELOC_NUMBER (R_MIPS_PC19_S2, 63)
+  RELOC_NUMBER (R_MIPS_PCHI16, 64)
+  RELOC_NUMBER (R_MIPS_PCLO16, 65)
+  FAKE_RELOC (R_MIPS_max, 66)
   /* These relocs are used for the mips16.  */
   FAKE_RELOC (R_MIPS16_min, 100)
   RELOC_NUMBER (R_MIPS16_26, 100)
@@ -237,6 +244,12 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
 /* -mips64r2 code.  */
 #define E_MIPS_ARCH_64R2        0x80000000
 
+/* -mips32r6 code.  */
+#define E_MIPS_ARCH_32R6        0x90000000
+
+/* -mips64r6 code.  */
+#define E_MIPS_ARCH_64R6        0xa0000000
+
 /* The ABI of the file.  Also see EF_MIPS_ABI2 above. */
 #define EF_MIPS_ABI		0x0000F000
 
@@ -428,6 +441,8 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
 /* Runtime procedure descriptor table exception information (ucode) ??? */
 #define SHT_MIPS_PDR_EXCEPTION	0x70000029
 
+/* ABI related flags section.  */
+#define SHT_MIPS_ABIFLAGS	0x7000002a
 
 /* A section of type SHT_MIPS_LIBLIST contains an array of the
    following structure.  The sh_link field is the section index of the
@@ -593,6 +608,9 @@ extern void bfd_mips_elf32_swap_reginfo_
 
 /* .MIPS.options section.  */
 #define PT_MIPS_OPTIONS		0x70000002
+
+/* Records ABI related flags.  */
+#define PT_MIPS_ABIFLAGS	0x70000003
 
 /* Processor specific dynamic array tags.  */
 
@@ -1048,6 +1066,58 @@ typedef struct
   bfd_vma ri_gp_value;
 } Elf64_Internal_RegInfo;
 
+/* ABI Flags structure version 0.  */
+
+typedef struct
+{
+  /* Version of flags structure.  */
+  unsigned char version[2];
+  /* The level of the ISA: 1-5, 32, 64.  */
+  unsigned char isa_level[1];
+  /* The revision of ISA: 0 for MIPS V and below, 1-n otherwise.  */
+  unsigned char isa_rev[1];
+  /* The size of general purpose registers.  */
+  unsigned char gpr_size[1];
+  /* The size of co-processor 1 registers.  */
+  unsigned char cpr1_size[1];
+  /* The size of co-processor 2 registers.  */
+  unsigned char cpr2_size[1];
+  /* The floating-point ABI.  */
+  unsigned char fp_abi[1];
+  /* Processor-specific extension.  */
+  unsigned char isa_ext[4];
+  /* Mask of ASEs used.  */
+  unsigned char ases[4];
+  /* Mask of general flags.  */
+  unsigned char flags1[4];
+  unsigned char flags2[4];
+} Elf_External_ABIFlags_v0;
+
+typedef struct
+{
+  /* Version of flags structure.  */
+  unsigned short version;
+  /* The level of the ISA: 1-5, 32, 64.  */
+  unsigned char isa_level;
+  /* The revision of ISA: 0 for MIPS V and below, 1-n otherwise.  */
+  unsigned char isa_rev;
+  /* The size of general purpose registers.  */
+  unsigned char gpr_size;
+  /* The size of co-processor 1 registers.  */
+  unsigned char cpr1_size;
+  /* The size of co-processor 2 registers.  */
+  unsigned char cpr2_size;
+  /* The floating-point ABI.  */
+  unsigned char fp_abi;
+  /* Processor-specific extension.  */
+  unsigned long isa_ext;
+  /* Mask of ASEs used.  */
+  unsigned long ases;
+  /* Mask of general flags.  */
+  unsigned long flags1;
+  unsigned long flags2;
+} Elf_Internal_ABIFlags_v0;
+
 typedef struct
 {
   /* The hash value computed from the name of the corresponding
@@ -1088,6 +1158,12 @@ extern void bfd_mips_elf64_swap_reginfo_
 extern void bfd_mips_elf64_swap_reginfo_out
   (bfd *, const Elf64_Internal_RegInfo *, Elf64_External_RegInfo *);
 
+/* MIPS ELF flags swapping routines.  */
+extern void bfd_mips_elf_swap_abiflags_v0_in
+  (bfd *, const Elf_External_ABIFlags_v0 *, Elf_Internal_ABIFlags_v0 *);
+extern void bfd_mips_elf_swap_abiflags_v0_out
+  (bfd *, const Elf_Internal_ABIFlags_v0 *, Elf_External_ABIFlags_v0 *);
+
 /* Masks for the info work of an ODK_EXCEPTIONS descriptor.  */
 #define OEX_FPU_MIN	0x1f	/* FPEs which must be enabled.  */
 #define OEX_FPU_MAX	0x1f00	/* FPEs which may be enabled.  */
@@ -1125,6 +1201,57 @@ extern void bfd_mips_elf64_swap_reginfo_
 /* Masks for the info word of an ODK_HWAND/ODK_HWOR descriptor.  */
 #define OHWA0_R4KEOP_CHECKED	0x00000001
 #define OHWA0_R4KEOP_CLEAN	0x00000002
+
+/* Values for the xxx_size bytes of an ABI flags structure.  */
+
+#define AFL_REG_NONE	     0x00	/* No registers.  */
+#define AFL_REG_32	     0x01	/* 32-bit registers.  */
+#define AFL_REG_64	     0x02	/* 64-bit registers.  */
+#define AFL_REG_128	     0x03	/* 128-bit registers.  */
+
+/* Masks for the ases word of an ABI flags structure.  */
+
+#define AFL_ASE_DSP          0x00000001 /* DSP ASE.  */
+#define AFL_ASE_DSPR2        0x00000002 /* DSP R2 ASE.  */
+#define AFL_ASE_EVA          0x00000004 /* Enhanced VA Scheme.  */
+#define AFL_ASE_MCU          0x00000008 /* MCU (MicroController) ASE.  */
+#define AFL_ASE_MDMX         0x00000010 /* MDMX ASE.  */
+#define AFL_ASE_MIPS3D       0x00000020 /* MIPS-3D ASE.  */
+#define AFL_ASE_MT           0x00000040 /* MT ASE.  */
+#define AFL_ASE_SMARTMIPS    0x00000080 /* SmartMIPS ASE.  */
+#define AFL_ASE_VIRT         0x00000100 /* VZ ASE.  */
+#define AFL_ASE_MSA          0x00000200 /* MSA ASE.  */
+#define AFL_ASE_MIPS16       0x00000400 /* MIPS16 ASE.  */
+#define AFL_ASE_MICROMIPS    0x00000800 /* MICROMIPS ASE.  */
+#define AFL_ASE_XPA          0x00001000 /* XPA ASE.  */
+#define AFL_ASE_MASK         0x00001fff /* All ASEs.  */
+
+/* Values for the isa_ext word of an ABI flags structure.  */
+
+#define AFL_EXT_XLR           1  /* RMI Xlr instruction.  */
+#define AFL_EXT_OCTEON2       2  /* Cavium Networks Octeon2.  */
+#define AFL_EXT_OCTEONP       3  /* Cavium Networks OcteonP.  */
+#define AFL_EXT_LOONGSON_3A   4  /* Loongson 3A.  */
+#define AFL_EXT_OCTEON        5  /* Cavium Networks Octeon.  */
+#define AFL_EXT_5900          6  /* MIPS R5900 instruction.  */
+#define AFL_EXT_4650          7  /* MIPS R4650 instruction.  */
+#define AFL_EXT_4010          8  /* LSI R4010 instruction.  */
+#define AFL_EXT_4100          9  /* NEC VR4100 instruction.  */
+#define AFL_EXT_3900         10  /* Toshiba R3900 instruction.  */
+#define AFL_EXT_10000        11  /* MIPS R10000 instruction.  */
+#define AFL_EXT_SB1          12  /* Broadcom SB-1 instruction.  */
+#define AFL_EXT_4111         13  /* NEC VR4111/VR4181 instruction.  */
+#define AFL_EXT_4120         14  /* NEC VR4120 instruction.  */
+#define AFL_EXT_5400         15  /* NEC VR5400 instruction.  */
+#define AFL_EXT_5500         16  /* NEC VR5500 instruction.  */
+#define AFL_EXT_LOONGSON_2E  17  /* ST Microelectronics Loongson 2E.  */
+#define AFL_EXT_LOONGSON_2F  18  /* ST Microelectronics Loongson 2F.  */
+#define AFL_EXT_OCTEON3      19  /* Cavium Networks Octeon3.  */
+
+/* Masks for the flags1 word of an ABI flags structure.  */
+#define AFL_FLAGS1_ODDSPREG   1	 /* Uses odd single-precision registers.  */
+
+extern unsigned int bfd_mips_isa_ext (bfd *);
 
 
 /* Object attribute tags.  */
@@ -1157,7 +1284,16 @@ enum
   Val_GNU_MIPS_ABI_FP_SOFT = 3,
 
   /* Using -mips32r2 -mfp64.  */
-  Val_GNU_MIPS_ABI_FP_64 = 4,
+  Val_GNU_MIPS_ABI_FP_OLD_64 = 4,
+
+  /* Using -mfpxx */
+  Val_GNU_MIPS_ABI_FP_XX = 5,
+
+  /* Using -mips32r2 -mfp64.  */
+  Val_GNU_MIPS_ABI_FP_64 = 6,
+
+  /* Using -mips32r2 -mfp64 -mno-odd-spreg.  */
+  Val_GNU_MIPS_ABI_FP_64A = 7,
 
   /* Values defined for Tag_GNU_MIPS_ABI_MSA.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mmix.h ./include/elf/mmix.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mmix.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/mmix.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MMIX support for BFD.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mn10200.h ./include/elf/mn10200.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mn10200.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/mn10200.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MN10200 ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mn10300.h ./include/elf/mn10300.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mn10300.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/mn10300.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MN10300 ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/moxie.h ./include/elf/moxie.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/moxie.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/moxie.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* moxie ELF support for BFD.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/msp430.h ./include/elf/msp430.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/msp430.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/msp430.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MSP430 ELF support for BFD.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Dmitry Diky <diwil@mail.ru>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mt.h ./include/elf/mt.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/mt.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/mt.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* MS1  ELF support for BFD.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/nds32.h ./include/elf/nds32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/nds32.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/nds32.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* NDS32 ELF support for BFD.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -76,7 +76,6 @@ START_RELOC_NUMBERS (elf_nds32_reloc_typ
   RELOC_NUMBER (R_NDS32_GOTOFF, 43)
   RELOC_NUMBER (R_NDS32_GOTPC20, 44)
   RELOC_NUMBER (R_NDS32_GOT_HI20, 45)
-
   RELOC_NUMBER (R_NDS32_GOT_LO12, 46)
   RELOC_NUMBER (R_NDS32_GOTPC_HI20, 47)
   RELOC_NUMBER (R_NDS32_GOTPC_LO12, 48)
@@ -95,8 +94,8 @@ START_RELOC_NUMBERS (elf_nds32_reloc_typ
   RELOC_NUMBER (R_NDS32_15_FIXED_RELA, 61)
   RELOC_NUMBER (R_NDS32_17_FIXED_RELA, 62)
   RELOC_NUMBER (R_NDS32_25_FIXED_RELA, 63)
-  RELOC_NUMBER (R_NDS32_PLTREL_HI20, 64)
-  RELOC_NUMBER (R_NDS32_PLTREL_LO12, 65)
+  RELOC_NUMBER (R_NDS32_PLTREL_HI20, 64)	/* This is obsoleted.  */
+  RELOC_NUMBER (R_NDS32_PLTREL_LO12, 65)	/* This is obsoleted.  */
   RELOC_NUMBER (R_NDS32_PLT_GOTREL_HI20, 66)
   RELOC_NUMBER (R_NDS32_PLT_GOTREL_LO12, 67)
   RELOC_NUMBER (R_NDS32_SDA12S2_DP_RELA, 68)
@@ -123,22 +122,38 @@ START_RELOC_NUMBERS (elf_nds32_reloc_typ
   RELOC_NUMBER (R_NDS32_GOT15S2_RELA, 89)
   RELOC_NUMBER (R_NDS32_GOT17S2_RELA, 90)
   RELOC_NUMBER (R_NDS32_5_RELA, 91)
-  RELOC_NUMBER (R_NDS32_10_UPCREL_RELA, 92)
+  RELOC_NUMBER (R_NDS32_10_UPCREL_RELA, 92)	/* This is obsoleted.  */
   RELOC_NUMBER (R_NDS32_SDA_FP7U2_RELA, 93)
   RELOC_NUMBER (R_NDS32_WORD_9_PCREL_RELA, 94)
   RELOC_NUMBER (R_NDS32_25_ABS_RELA, 95)
   RELOC_NUMBER (R_NDS32_17IFC_PCREL_RELA, 96)
   RELOC_NUMBER (R_NDS32_10IFCU_PCREL_RELA, 97)
+  RELOC_NUMBER (R_NDS32_TLS_LE_HI20, 98)
+  RELOC_NUMBER (R_NDS32_TLS_LE_LO12, 99)
+  RELOC_NUMBER (R_NDS32_TLS_IE_HI20, 100)
+  RELOC_NUMBER (R_NDS32_TLS_IE_LO12S2, 101)
+  RELOC_NUMBER (R_NDS32_TLS_TPOFF, 102)
+  RELOC_NUMBER (R_NDS32_TLS_LE_20, 103)
+  RELOC_NUMBER (R_NDS32_TLS_LE_15S0, 104)
+  RELOC_NUMBER (R_NDS32_TLS_LE_15S1, 105)
+  RELOC_NUMBER (R_NDS32_TLS_LE_15S2, 106)
+  RELOC_NUMBER (R_NDS32_LONGCALL4, 107)
+  RELOC_NUMBER (R_NDS32_LONGCALL5, 108)
+  RELOC_NUMBER (R_NDS32_LONGCALL6, 109)
+  RELOC_NUMBER (R_NDS32_LONGJUMP4, 110)
+  RELOC_NUMBER (R_NDS32_LONGJUMP5, 111)
+  RELOC_NUMBER (R_NDS32_LONGJUMP6, 112)
+  RELOC_NUMBER (R_NDS32_LONGJUMP7, 113)
 
   RELOC_NUMBER (R_NDS32_RELAX_ENTRY, 192)
   RELOC_NUMBER (R_NDS32_GOT_SUFF, 193)
   RELOC_NUMBER (R_NDS32_GOTOFF_SUFF, 194)
   RELOC_NUMBER (R_NDS32_PLT_GOT_SUFF, 195)
-  RELOC_NUMBER (R_NDS32_MULCALL_SUFF, 196)
+  RELOC_NUMBER (R_NDS32_MULCALL_SUFF, 196)	/* This is obsoleted.  */
   RELOC_NUMBER (R_NDS32_PTR, 197)
   RELOC_NUMBER (R_NDS32_PTR_COUNT, 198)
   RELOC_NUMBER (R_NDS32_PTR_RESOLVED, 199)
-  RELOC_NUMBER (R_NDS32_PLTBLOCK, 200)
+  RELOC_NUMBER (R_NDS32_PLTBLOCK, 200)		/* This is obsoleted.  */
   RELOC_NUMBER (R_NDS32_RELAX_REGION_BEGIN, 201)
   RELOC_NUMBER (R_NDS32_RELAX_REGION_END, 202)
   RELOC_NUMBER (R_NDS32_MINUEND, 203)
@@ -149,7 +164,9 @@ START_RELOC_NUMBERS (elf_nds32_reloc_typ
   RELOC_NUMBER (R_NDS32_DIFF_ULEB128, 208)
   RELOC_NUMBER (R_NDS32_DATA, 209)
   RELOC_NUMBER (R_NDS32_TRAN, 210)
-  RELOC_NUMBER (R_NDS32_FPBASE, 211)
+  RELOC_NUMBER (R_NDS32_TLS_LE_ADD, 211)
+  RELOC_NUMBER (R_NDS32_TLS_LE_LS, 212)
+  RELOC_NUMBER (R_NDS32_EMPTY, 213)
 
 END_RELOC_NUMBERS (R_NDS32_max)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/nios2.h ./include/elf/nios2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/nios2.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/nios2.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Altera Nios II ELF support for BFD.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Nigel Gray (ngray@altera.com).
    Contributed by Mentor Graphics, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/or1k.h ./include/elf/or1k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/or1k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/or1k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Or1k ELF support for BFD.
-   Copyright 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/pj.h ./include/elf/pj.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/pj.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/pj.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* picoJava ELF support for BFD.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ppc64.h ./include/elf/ppc64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ppc64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/ppc64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* PPC64 ELF support for BFD.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ppc.h ./include/elf/ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/ppc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/ppc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* PPC ELF support for BFD.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    By Michael Meissner, Cygnus Support, <meissner@cygnus.com>,
    from information in the System V Application Binary Interface,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/reloc-macros.h ./include/elf/reloc-macros.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/reloc-macros.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/reloc-macros.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic relocation support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/rl78.h ./include/elf/rl78.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/rl78.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/rl78.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* RL78 ELF support for BFD.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -109,6 +109,7 @@ END_RELOC_NUMBERS (R_RL78_max)
 #define E_FLAG_RL78_G10			(1 << 2) /* CPU is missing register banks 1-3, so uses different ABI.  */
 
 /* These define the addend field of R_RL78_RH_RELAX relocations.  */
+#define RL78_RELAXA_MASK	0x000000f0	/* Mask for relax types */
 #define	RL78_RELAXA_BRA		0x00000010	/* Any type of branch (must be decoded).  */
 #define	RL78_RELAXA_ADDR16	0x00000020	/* addr16->sfr/saddr opportunity  */
 #define RL78_RELAXA_RNUM	0x0000000f	/* Number of associated relocations.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/rx.h ./include/elf/rx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/rx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/rx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* RX ELF support for BFD.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/s390.h ./include/elf/s390.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/s390.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/s390.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* 390 ELF support for BFD.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Carl B. Pedersen and Martin Schwidefsky.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/score.h ./include/elf/score.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/score.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/score.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Score ELF support for BFD.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Contributed by 
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/sh.h ./include/elf/sh.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/sh.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/sh.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SH ELF support for BFD.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/sparc.h ./include/elf/sparc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/sparc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/sparc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SPARC ELF support for BFD.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    By Doug Evans, Cygnus Support, <dje@cygnus.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -190,9 +190,19 @@ enum
 {
   /* 0-3 are generic.  */
   Tag_GNU_Sparc_HWCAPS = 4,
+  Tag_GNU_Sparc_HWCAPS2 = 8
 };
 
-/* These values match the AV_SPARC_* hwcap bits defined under Solaris.  */
+/* Generally speaking the ELF_SPARC_HWCAP_* and ELF_SPARC_HWCAP2_*
+   values match the AV_SPARC_* and AV2_SPARC_* bits respectively.
+
+   However Solaris 11 introduced a backwards-incompatible change
+   deprecating the RANDOM, TRANS and ASI_CACHE_SPARING bits in the
+   AT_SUNW_CAP_HW1 flags, reusing the bits for the unrelated hwcaps
+   FJATHHPC, FJDES and FJAES respectively.  In GNU/Linux we opted to
+   keep the old hwcaps in Tag_GNU_Sparc_HWCAPS and allocate bits for
+   FJATHHPC, FJDES and JFAES in Tag_GNU_Sparc_HWCAPS2.  */
+
 #define ELF_SPARC_HWCAP_MUL32	0x00000001 /* umul/umulcc/smul/smulcc insns */
 #define ELF_SPARC_HWCAP_DIV32	0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */
 #define ELF_SPARC_HWCAP_FSMULD	0x00000004 /* 'fsmuld' insn */
@@ -226,4 +236,17 @@ enum
 #define ELF_SPARC_HWCAP_CBCOND	0x10000000 /* Compare and Branch insns */
 #define ELF_SPARC_HWCAP_CRC32C	0x20000000 /* CRC32C insn */
 
+#define ELF_SPARC_HWCAP2_FJATHPLUS 0x00000001 /* Fujitsu Athena+ */
+#define ELF_SPARC_HWCAP2_VIS3B     0x00000002 /* Subset of VIS3 present on sparc64 X+ */
+#define ELF_SPARC_HWCAP2_ADP       0x00000004 /* Application Data Protection */
+#define ELF_SPARC_HWCAP2_SPARC5    0x00000008 /* The 29 new fp and sub instructions */
+#define ELF_SPARC_HWCAP2_MWAIT     0x00000010 /* mwait instruction and load/monitor ASIs */
+#define ELF_SPARC_HWCAP2_XMPMUL    0x00000020 /* XOR multiple precision multiply */
+#define ELF_SPARC_HWCAP2_XMONT     0x00000040 /* XOR Montgomery mult/sqr instructions */
+#define ELF_SPARC_HWCAP2_NSEC      \
+                                   0x00000080 /* pause insn with support for nsec timings */
+#define ELF_SPARC_HWCAP2_FJATHHPC  0x00001000 /* Fujitsu HPC instrs */
+#define ELF_SPARC_HWCAP2_FJDES     0x00002000 /* Fujitsu DES instrs */
+#define ELF_SPARC_HWCAP2_FJAES     0x00010000 /* Fujitsu AES instrs */
+
 #endif /* _ELF_SPARC_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/spu.h ./include/elf/spu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/spu.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/spu.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* SPU ELF support for BFD.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/tic6x-attrs.h ./include/elf/tic6x-attrs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/tic6x-attrs.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/tic6x-attrs.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* TI C6X ELF attributes.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/tic6x.h ./include/elf/tic6x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/tic6x.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/tic6x.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* TI C6X ELF support for BFD.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/tilegx.h ./include/elf/tilegx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/tilegx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/tilegx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILE-Gx ELF support for BFD.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/tilepro.h ./include/elf/tilepro.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/tilepro.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/tilepro.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* TILEPro ELF support for BFD.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/v850.h ./include/elf/v850.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/v850.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/v850.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* V850 ELF support for BFD.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Created by Michael Meissner, Cygnus Support <meissner@cygnus.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/vax.h ./include/elf/vax.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/vax.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/vax.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* VAX ELF support for BFD.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Matt Thomas <matt@3am-software.com>.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/visium.h ./include/elf/visium.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/visium.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/elf/visium.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,51 @@
+/* Visium ELF support for BFD.
+
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _ELF_VISIUM_H
+#define _ELF_VISIUM_H
+
+#include "elf/reloc-macros.h"
+
+/* Processor specific flags for the ELF header e_flags field.  */
+#define EF_VISIUM_ARCH_MCM   0x01
+#define EF_VISIUM_ARCH_MCM24 0x02
+#define EF_VISIUM_ARCH_GR6   0x04
+
+/* Relocations.  */
+START_RELOC_NUMBERS (elf_visium_reloc_type)
+  RELOC_NUMBER (R_VISIUM_NONE, 0)
+  RELOC_NUMBER (R_VISIUM_8, 1)
+  RELOC_NUMBER (R_VISIUM_16, 2)
+  RELOC_NUMBER (R_VISIUM_32, 3)
+  RELOC_NUMBER (R_VISIUM_8_PCREL, 4)
+  RELOC_NUMBER (R_VISIUM_16_PCREL, 5)
+  RELOC_NUMBER (R_VISIUM_32_PCREL, 6)
+  RELOC_NUMBER (R_VISIUM_PC16, 7)
+  RELOC_NUMBER (R_VISIUM_HI16, 8)
+  RELOC_NUMBER (R_VISIUM_LO16, 9)
+  RELOC_NUMBER (R_VISIUM_IM16, 10)
+  RELOC_NUMBER (R_VISIUM_HI16_PCREL, 11)
+  RELOC_NUMBER (R_VISIUM_LO16_PCREL, 12)
+  RELOC_NUMBER (R_VISIUM_IM16_PCREL, 13)
+  RELOC_NUMBER (R_VISIUM_GNU_VTINHERIT, 200)
+  RELOC_NUMBER (R_VISIUM_GNU_VTENTRY, 201)
+END_RELOC_NUMBERS(R_VISIUM_max)
+
+#endif /* _ELF_VISIUM_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/vxworks.h ./include/elf/vxworks.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/vxworks.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/vxworks.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* VxWorks ELF support for BFD.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    Contributed by Nathan Sidwell <nathan@codesourcery.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/x86-64.h ./include/elf/x86-64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/x86-64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/x86-64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* x86_64 ELF support for BFD.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Jan Hubicka <jh@suse.cz>
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -58,8 +58,7 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_ty
      						 offset to GOT entry */
      RELOC_NUMBER (R_X86_64_GOTPC64,  29)     /* 64 bit signed pc relative
      						 offset to GOT */
-     RELOC_NUMBER (R_X86_64_GOTPLT64, 30)     /* like GOT64, but indicates
-     						 that PLT entry is needed */
+     RELOC_NUMBER (R_X86_64_GOTPLT64, 30)     /* Obsolete. The same as GOT64. */
      RELOC_NUMBER (R_X86_64_PLTOFF64, 31)     /* 64 bit GOT relative offset
      						 to PLT entry */
      RELOC_NUMBER (R_X86_64_SIZE32,   32)     /* 32-bit symbol size */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/xc16x.h ./include/elf/xc16x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/xc16x.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/xc16x.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Infineon XC16X ELF support for BFD.
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems 
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/xgate.h ./include/elf/xgate.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/xgate.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/xgate.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* XGATE ELF support for BFD.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/xstormy16.h ./include/elf/xstormy16.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/xstormy16.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/xstormy16.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* XSTORMY16 ELF support for BFD.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/xtensa.h ./include/elf/xtensa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/elf/xtensa.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/elf/xtensa.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Xtensa ELF support for BFD.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fibheap.h ./include/fibheap.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fibheap.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/fibheap.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,5 @@
 /* A Fibonacci heap datatype.
-   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Daniel Berlin (dan@cgsoftware.com).
 
 This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/filenames.h ./include/filenames.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/filenames.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/filenames.h	2015-01-20 02:05:39.000000000 +0000
@@ -5,7 +5,7 @@
    use forward- and back-slash in path names interchangeably, and
    some of them have case-insensitive file names.
 
-   Copyright 2000, 2001, 2007, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
 This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/floatformat.h ./include/floatformat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/floatformat.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/floatformat.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,5 @@
 /* IEEE floating point support declarations, for GDB, the GNU Debugger.
-   Copyright 1991, 1994, 1995, 1997, 2000, 2003, 2005, 2010
-   Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fnmatch.h ./include/fnmatch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fnmatch.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/fnmatch.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
 NOTE: The canonical source of this file is maintained with the GNU C Library.
 Bugs can be reported to bug-glibc@prep.ai.mit.edu.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fopen-bin.h ./include/fopen-bin.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fopen-bin.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/fopen-bin.h	2015-01-20 02:05:39.000000000 +0000
@@ -7,7 +7,7 @@
    cope with a "b" in the string, indicating binary files, but some reject this
    (and thereby don't conform to ANSI C, but what else is new?).
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fopen-same.h ./include/fopen-same.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fopen-same.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/fopen-same.h	2015-01-20 02:05:39.000000000 +0000
@@ -7,7 +7,7 @@
    "b" to the string, indicating binary files, but some reject this
    (and thereby don't conform to ANSI C, but what else is new?).
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fopen-vms.h ./include/fopen-vms.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/fopen-vms.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/fopen-vms.h	2015-01-20 02:05:39.000000000 +0000
@@ -5,7 +5,7 @@
    This version is for VMS systems, where text and binary files are
    different.
    
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gcc-c-fe.def ./include/gcc-c-fe.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gcc-c-fe.def	1970-01-01 00:00:00.000000000 +0000
+++ ./include/gcc-c-fe.def	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,197 @@
+/* Interface between GCC C FE and GDB  -*- c -*-
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GCC.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+
+
+/* Create a new "decl" in GCC.  A decl is a declaration, basically a
+   kind of symbol.
+
+   NAME is the name of the new symbol.  SYM_KIND is the kind of
+   symbol being requested.  SYM_TYPE is the new symbol's C type;
+   except for labels, where this is not meaningful and should be
+   zero.  If SUBSTITUTION_NAME is not NULL, then a reference to this
+   decl in the source will later be substituted with a dereference
+   of a variable of the given name.  Otherwise, for symbols having
+   an address (e.g., functions), ADDRESS is the address.  FILENAME
+   and LINE_NUMBER refer to the symbol's source location.  If this
+   is not known, FILENAME can be NULL and LINE_NUMBER can be 0.
+   This function returns the new decl.  */
+
+GCC_METHOD7 (gcc_decl, build_decl,
+	     const char *,	      /* Argument NAME.  */
+	     enum gcc_c_symbol_kind,  /* Argument SYM_KIND.  */
+	     gcc_type,		      /* Argument SYM_TYPE.  */
+	     const char *,	      /* Argument SUBSTITUTION_NAME.  */
+	     gcc_address,	      /* Argument ADDRESS.  */
+	     const char *,	      /* Argument FILENAME.  */
+	     unsigned int)	      /* Argument LINE_NUMBER.  */
+
+/* Insert a GCC decl into the symbol table.  DECL is the decl to
+   insert.  IS_GLOBAL is true if this is an outermost binding, and
+   false if it is a possibly-shadowing binding.  */
+
+GCC_METHOD2 (int /* bool */, bind,
+	     gcc_decl,		   /* Argument DECL.  */
+	     int /* bool */)       /* Argument IS_GLOBAL.  */
+
+/* Insert a tagged type into the symbol table.  NAME is the tag name
+   of the type and TAGGED_TYPE is the type itself.  TAGGED_TYPE must
+   be either a struct, union, or enum type, as these are the only
+   types that have tags.  FILENAME and LINE_NUMBER refer to the type's
+   source location.  If this is not known, FILENAME can be NULL and
+   LINE_NUMBER can be 0.  */
+
+GCC_METHOD4 (int /* bool */, tagbind,
+	     const char *,	      /* Argument NAME.  */
+	     gcc_type,		      /* Argument TAGGED_TYPE.  */
+	     const char *,	      /* Argument FILENAME.  */
+	     unsigned int)	      /* Argument LINE_NUMBER.  */
+
+/* Return the type of a pointer to a given base type.  */
+
+GCC_METHOD1 (gcc_type, build_pointer_type,
+	     gcc_type)			/* Argument BASE_TYPE.  */
+
+/* Create a new 'struct' type.  Initially it has no fields.  */
+
+GCC_METHOD0 (gcc_type, build_record_type)
+
+/* Create a new 'union' type.  Initially it has no fields.  */
+
+GCC_METHOD0 (gcc_type, build_union_type)
+
+/* Add a field to a struct or union type.  FIELD_NAME is the field's
+   name.  FIELD_TYPE is the type of the field.  BITSIZE and BITPOS
+   indicate where in the struct the field occurs.  */
+
+GCC_METHOD5 (int /* bool */, build_add_field,
+	     gcc_type,			   /* Argument RECORD_OR_UNION_TYPE. */
+	     const char *,		   /* Argument FIELD_NAME.  */
+	     gcc_type,			   /* Argument FIELD_TYPE.  */
+	     unsigned long,		   /* Argument BITSIZE.  */
+	     unsigned long)		   /* Argument BITPOS.  */
+
+/* After all the fields have been added to a struct or union, the
+   struct or union type must be "finished".  This does some final
+   cleanups in GCC.  */
+
+GCC_METHOD2 (int /* bool */, finish_record_or_union,
+	     gcc_type,			   /* Argument RECORD_OR_UNION_TYPE. */
+	     unsigned long)		   /* Argument SIZE_IN_BYTES.  */
+
+/* Create a new 'enum' type.  The new type initially has no
+   associated constants.  */
+
+GCC_METHOD1 (gcc_type, build_enum_type,
+	     gcc_type)			    /* Argument UNDERLYING_INT_TYPE. */
+
+/* Add a new constant to an enum type.  NAME is the constant's
+   name and VALUE is its value.  */
+
+GCC_METHOD3 (int /* bool */, build_add_enum_constant,
+	     gcc_type,		       /* Argument ENUM_TYPE.  */
+	     const char *,	       /* Argument NAME.  */
+	     unsigned long)	       /* Argument VALUE.  */
+
+/* After all the constants have been added to an enum, the type must
+   be "finished".  This does some final cleanups in GCC.  */
+
+GCC_METHOD1 (int /* bool */, finish_enum_type,
+	     gcc_type)		       /* Argument ENUM_TYPE.  */
+
+/* Create a new function type.  RETURN_TYPE is the type returned by
+   the function, and ARGUMENT_TYPES is a vector, of length NARGS, of
+   the argument types.  IS_VARARGS is true if the function is
+   varargs.  */
+
+GCC_METHOD3 (gcc_type, build_function_type,
+	     gcc_type,			   /* Argument RETURN_TYPE.  */
+	     const struct gcc_type_array *, /* Argument ARGUMENT_TYPES.  */
+	     int /* bool */)               /* Argument IS_VARARGS.  */
+
+/* Return an integer type with the given properties.  */
+
+GCC_METHOD2 (gcc_type, int_type,
+	     int /* bool */,               /* Argument IS_UNSIGNED.  */
+	     unsigned long)                /* Argument SIZE_IN_BYTES.  */
+
+/* Return a floating point type with the given properties.  */
+
+GCC_METHOD1 (gcc_type, float_type,
+	     unsigned long)			/* Argument SIZE_IN_BYTES.  */
+
+/* Return the 'void' type.  */
+
+GCC_METHOD0 (gcc_type, void_type)
+
+/* Return the 'bool' type.  */
+
+GCC_METHOD0 (gcc_type, bool_type)
+
+/* Create a new array type.  If NUM_ELEMENTS is -1, then the array
+   is assumed to have an unknown length.  */
+
+GCC_METHOD2 (gcc_type, build_array_type,
+	     gcc_type,			  /* Argument ELEMENT_TYPE.  */
+	     int)			  /* Argument NUM_ELEMENTS.  */
+
+/* Create a new variably-sized array type.  UPPER_BOUND_NAME is the
+   name of a local variable that holds the upper bound of the array;
+   it is one less than the array size.  */
+
+GCC_METHOD2 (gcc_type, build_vla_array_type,
+	     gcc_type,			  /* Argument ELEMENT_TYPE.  */
+	     const char *)		  /* Argument UPPER_BOUND_NAME.  */
+
+/* Return a qualified variant of a given base type.  QUALIFIERS says
+   which qualifiers to use; it is composed of or'd together
+   constants from 'enum gcc_qualifiers'.  */
+
+GCC_METHOD2 (gcc_type, build_qualified_type,
+	     gcc_type,			      /* Argument UNQUALIFIED_TYPE.  */
+	     enum gcc_qualifiers)	      /* Argument QUALIFIERS.  */
+
+/* Build a complex type given its element type.  */
+
+GCC_METHOD1 (gcc_type, build_complex_type,
+	     gcc_type)			  /* Argument ELEMENT_TYPE.  */
+
+/* Build a vector type given its element type and number of
+   elements.  */
+
+GCC_METHOD2 (gcc_type, build_vector_type,
+	     gcc_type,			  /* Argument ELEMENT_TYPE.  */
+	     int)			  /* Argument NUM_ELEMENTS.  */
+
+/* Build a constant.  NAME is the constant's name and VALUE is its
+   value.  FILENAME and LINE_NUMBER refer to the type's source
+   location.  If this is not known, FILENAME can be NULL and
+   LINE_NUMBER can be 0.  */
+
+GCC_METHOD5 (int /* bool */, build_constant,
+	     gcc_type,		  /* Argument TYPE.  */
+	     const char *,	  /* Argument NAME.  */
+	     unsigned long,	  /* Argument VALUE.  */
+	     const char *,	  /* Argument FILENAME.  */
+	     unsigned int)	  /* Argument LINE_NUMBER.  */
+
+/* Emit an error and return an error type object.  */
+
+GCC_METHOD1 (gcc_type, error,
+	     const char *)		 /* Argument MESSAGE.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gcc-c-interface.h ./include/gcc-c-interface.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gcc-c-interface.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/gcc-c-interface.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,220 @@
+/* Interface between GCC C FE and GDB
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GCC.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef GCC_C_INTERFACE_H
+#define GCC_C_INTERFACE_H
+
+#include "gcc-interface.h"
+
+/* This header defines the interface to the GCC API.  It must be both
+   valid C and valid C++, because it is included by both programs.  */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declaration.  */
+
+struct gcc_c_context;
+
+/*
+ * Definitions and declarations for the C front end.
+ */
+
+/* Defined versions of the C front-end API.  */
+
+enum gcc_c_api_version
+{
+  GCC_C_FE_VERSION_0 = 0
+};
+
+/* Qualifiers.  */
+
+enum gcc_qualifiers
+{
+  GCC_QUALIFIER_CONST = 1,
+  GCC_QUALIFIER_VOLATILE = 2,
+  GCC_QUALIFIER_RESTRICT = 4
+};
+
+/* This enumerates the kinds of decls that GDB can create.  */
+
+enum gcc_c_symbol_kind
+{
+  /* A function.  */
+
+  GCC_C_SYMBOL_FUNCTION,
+
+  /* A variable.  */
+
+  GCC_C_SYMBOL_VARIABLE,
+
+  /* A typedef.  */
+
+  GCC_C_SYMBOL_TYPEDEF,
+
+  /* A label.  */
+
+  GCC_C_SYMBOL_LABEL
+};
+
+/* This enumerates the types of symbols that GCC might request from
+   GDB.  */
+
+enum gcc_c_oracle_request
+{
+  /* An ordinary symbol -- a variable, function, typedef, or enum
+     constant.  */
+
+  GCC_C_ORACLE_SYMBOL,
+
+  /* A struct, union, or enum tag.  */
+
+  GCC_C_ORACLE_TAG,
+
+  /* A label.  */
+
+  GCC_C_ORACLE_LABEL
+};
+
+/* The type of the function called by GCC to ask GDB for a symbol's
+   definition.  DATUM is an arbitrary value supplied when the oracle
+   function is registered.  CONTEXT is the GCC context in which the
+   request is being made.  REQUEST specifies what sort of symbol is
+   being requested, and IDENTIFIER is the name of the symbol.  */
+
+typedef void gcc_c_oracle_function (void *datum,
+				    struct gcc_c_context *context,
+				    enum gcc_c_oracle_request request,
+				    const char *identifier);
+
+/* The type of the function called by GCC to ask GDB for a symbol's
+   address.  This should return 0 if the address is not known.  */
+
+typedef gcc_address gcc_c_symbol_address_function (void *datum,
+						   struct gcc_c_context *ctxt,
+						   const char *identifier);
+
+/* An array of types used for creating a function type.  */
+
+struct gcc_type_array
+{
+  /* Number of elements.  */
+
+  int n_elements;
+
+  /* The elements.  */
+
+  gcc_type *elements;
+};
+
+/* The vtable used by the C front end.  */
+
+struct gcc_c_fe_vtable
+{
+  /* The version of the C interface.  The value is one of the
+     gcc_c_api_version constants.  */
+
+  unsigned int c_version;
+
+  /* Set the callbacks for this context.
+
+     The binding oracle is called whenever the C parser needs to look
+     up a symbol.  This gives the caller a chance to lazily
+     instantiate symbols using other parts of the gcc_c_fe_interface
+     API.
+
+     The address oracle is called whenever the C parser needs to look
+     up a symbol.  This is only called for symbols not provided by the
+     symbol oracle -- that is, just built-in functions where GCC
+     provides the declaration.
+
+     DATUM is an arbitrary piece of data that is passed back verbatim
+     to the callbakcs in requests.  */
+
+  void (*set_callbacks) (struct gcc_c_context *self,
+			 gcc_c_oracle_function *binding_oracle,
+			 gcc_c_symbol_address_function *address_oracle,
+			 void *datum);
+
+#define GCC_METHOD0(R, N) \
+  R (*N) (struct gcc_c_context *);
+#define GCC_METHOD1(R, N, A) \
+  R (*N) (struct gcc_c_context *, A);
+#define GCC_METHOD2(R, N, A, B) \
+  R (*N) (struct gcc_c_context *, A, B);
+#define GCC_METHOD3(R, N, A, B, C) \
+  R (*N) (struct gcc_c_context *, A, B, C);
+#define GCC_METHOD4(R, N, A, B, C, D) \
+  R (*N) (struct gcc_c_context *, A, B, C, D);
+#define GCC_METHOD5(R, N, A, B, C, D, E) \
+  R (*N) (struct gcc_c_context *, A, B, C, D, E);
+#define GCC_METHOD7(R, N, A, B, C, D, E, F, G) \
+  R (*N) (struct gcc_c_context *, A, B, C, D, E, F, G);
+
+#include "gcc-c-fe.def"
+
+#undef GCC_METHOD0
+#undef GCC_METHOD1
+#undef GCC_METHOD2
+#undef GCC_METHOD3
+#undef GCC_METHOD4
+#undef GCC_METHOD5
+#undef GCC_METHOD7
+
+};
+
+/* The C front end object.  */
+
+struct gcc_c_context
+{
+  /* Base class.  */
+
+  struct gcc_base_context base;
+
+  /* Our vtable.  This is a separate field because this is simpler
+     than implementing a vtable inheritance scheme in C.  */
+
+  const struct gcc_c_fe_vtable *c_ops;
+};
+
+/* The name of the .so that the compiler builds.  We dlopen this
+   later.  */
+
+#define GCC_C_FE_LIBCC libcc1.so
+
+/* The compiler exports a single initialization function.  This macro
+   holds its name as a symbol.  */
+
+#define GCC_C_FE_CONTEXT gcc_c_fe_context
+
+/* The type of the initialization function.  The caller passes in the
+   desired base version and desired C-specific version.  If the
+   request can be satisfied, a compatible gcc_context object will be
+   returned.  Otherwise, the function returns NULL.  */
+
+typedef struct gcc_c_context *gcc_c_fe_context_function
+    (enum gcc_base_api_version,
+     enum gcc_c_api_version);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* GCC_C_INTERFACE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gcc-interface.h ./include/gcc-interface.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gcc-interface.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/gcc-interface.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,127 @@
+/* Generic interface between GCC and GDB
+
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+   This file is part of GCC.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef GCC_INTERFACE_H
+#define GCC_INTERFACE_H
+
+/* This header defines the interface to the GCC API.  It must be both
+   valid C and valid C++, because it is included by both programs.  */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Opaque typedefs for objects passed through the interface.  */
+
+typedef unsigned long long gcc_type;
+typedef unsigned long long gcc_decl;
+
+/* An address in the inferior.  */
+
+typedef unsigned long long gcc_address;
+
+/* Forward declaration.  */
+
+struct gcc_base_context;
+
+/* Defined versions of the generic API.  */
+
+enum gcc_base_api_version
+{
+  GCC_FE_VERSION_0 = 0
+};
+
+/* The operations defined by the GCC base API.  This is the vtable for
+   the real context structure which is passed around.
+
+   The "base" API is concerned with basics shared by all compiler
+   front ends: setting command-line arguments, the file names, etc.
+
+   Front-end-specific interfaces inherit from this one.  */
+
+struct gcc_base_vtable
+{
+  /* The actual version implemented in this interface.  This field can
+     be relied on not to move, so users can always check it if they
+     desire.  The value is one of the gcc_base_api_version constants.
+  */
+
+  unsigned int version;
+
+  /* Set the compiler's command-line options for the next compilation.
+     TRIPLET_REGEXP is a regular expression that is used to match the
+     configury triplet prefix to the compiler.
+     The arguments are copied by GCC.  ARGV need not be
+     NULL-terminated.  The arguments must be set separately for each
+     compilation; that is, after a compile is requested, the
+     previously-set arguments cannot be reused.
+
+     This returns NULL on success.  On failure, returns a malloc()d
+     error message.  The caller is responsible for freeing it.  */
+
+  char *(*set_arguments) (struct gcc_base_context *self,
+			  const char *triplet_regexp,
+			  int argc, char **argv);
+
+  /* Set the file name of the program to compile.  The string is
+     copied by the method implementation, but the caller must
+     guarantee that the file exists through the compilation.  */
+
+  void (*set_source_file) (struct gcc_base_context *self, const char *file);
+
+  /* Set a callback to use for printing error messages.  DATUM is
+     passed through to the callback unchanged.  */
+
+  void (*set_print_callback) (struct gcc_base_context *self,
+			      void (*print_function) (void *datum,
+						      const char *message),
+			      void *datum);
+
+  /* Perform the compilation.  FILENAME is the name of the resulting
+     object file.  VERBOSE can be set to cause GCC to print some
+     information as it works.  Returns true on success, false on
+     error.  */
+
+  int /* bool */ (*compile) (struct gcc_base_context *self,
+			     const char *filename,
+			     int /* bool */ verbose);
+
+  /* Destroy this object.  */
+
+  void (*destroy) (struct gcc_base_context *self);
+};
+
+/* The GCC object.  */
+
+struct gcc_base_context
+{
+  /* The virtual table.  */
+
+  const struct gcc_base_vtable *ops;
+};
+
+/* The name of the dummy wrapper function generated by gdb.  */
+
+#define GCC_FE_WRAPPER_FUNCTION "_gdb_expr"
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* GCC_INTERFACE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/callback.h ./include/gdb/callback.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/callback.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/callback.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Remote target system call callback support.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
    This file is part of GDB.
@@ -88,9 +88,9 @@ struct host_callback_struct 
   void (*flush_stdout) (host_callback *);
   int (*write_stderr) (host_callback *, const char *, int);
   void (*flush_stderr) (host_callback *);
-  int (*stat) (host_callback *, const char *, struct stat *);
-  int (*fstat) (host_callback *, int, struct stat *);
-  int (*lstat) (host_callback *, const char *, struct stat *);
+  int (*to_stat) (host_callback *, const char *, struct stat *);
+  int (*to_fstat) (host_callback *, int, struct stat *);
+  int (*to_lstat) (host_callback *, const char *, struct stat *);
   int (*ftruncate) (host_callback *, int, long);
   int (*truncate) (host_callback *, const char *, long);
   int (*pipe) (host_callback *, int *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/ChangeLog ./include/gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,10 @@
+2014-12-03  Joel Brobecker  <brobecker@adacore.com>
+
+	* callback.h (struct host_callback_struct) <to_stat>: Renamed
+	from "stat".
+	<to_fstat>: Renamed from "fstat".
+	<to_lstat>: Renamed from "lstat".
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* remote-sim.h (sim_do_command): Add const to cmd.
@@ -274,7 +281,7 @@ Wed Jul 17 19:36:38 2002  J"orn Rennecke
 	* signals.h: New file, from gdb/defs.h.
 
 
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/fileio.h ./include/gdb/fileio.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/fileio.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/fileio.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Hosted File I/O interface definitions, for GDB, the GNU Debugger.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/gdb-index.h ./include/gdb/gdb-index.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/gdb-index.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/gdb-index.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Public attributes of the .gdb_index section.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/remote-sim.h ./include/gdb/remote-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/remote-sim.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/remote-sim.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file defines the interface between the simulator and gdb.
 
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/section-scripts.h ./include/gdb/section-scripts.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/section-scripts.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/section-scripts.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Definition of kinds of records in section .debug_gdb_scripts.
 
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/signals.def ./include/gdb/signals.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/signals.def	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/signals.def	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target signal numbers for GDB and the GDB remote protocol.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/signals.h ./include/gdb/signals.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/signals.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/signals.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Target signal numbers for GDB and the GDB remote protocol.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-arm.h ./include/gdb/sim-arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-arm.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-arm.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file defines the interface between the Arm simulator and GDB.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-bfin.h ./include/gdb/sim-bfin.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-bfin.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-bfin.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file defines the interface between the Blackfin simulator and GDB.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-cr16.h ./include/gdb/sim-cr16.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-cr16.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-cr16.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file defines the interface between the cr16 simulator and gdb.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-d10v.h ./include/gdb/sim-d10v.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-d10v.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-d10v.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file defines the interface between the d10v simulator and gdb.
 
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-frv.h ./include/gdb/sim-frv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-frv.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-frv.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* This file defines the interface between the FR-V simulator and GDB.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-h8300.h ./include/gdb/sim-h8300.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-h8300.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-h8300.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This file defines the interface between the h8300 simulator and gdb.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-lm32.h ./include/gdb/sim-lm32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-lm32.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-lm32.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 /* This file defines the interface between the LM32 simulator and GDB.
    Contributed by Jon Beniston <jon@beniston.com>
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-m32c.h ./include/gdb/sim-m32c.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-m32c.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-m32c.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This file defines the interface between the m32c simulator and gdb.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-ppc.h ./include/gdb/sim-ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-ppc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-ppc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* sim-ppc.h --- interface between PowerPC simulator and GDB.
 
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-rl78.h ./include/gdb/sim-rl78.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-rl78.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-rl78.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* sim-rx.h --- interface between rl78 simulator and GDB.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-rx.h ./include/gdb/sim-rx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-rx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-rx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* sim-rx.h --- interface between RX simulator and GDB.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-sh.h ./include/gdb/sim-sh.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/gdb/sim-sh.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/gdb/sim-sh.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* This file defines the interface between the sh simulator and gdb.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/getopt.h ./include/getopt.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/getopt.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/getopt.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,5 @@
 /* Declarations for getopt.
-   Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000,
-   2002 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C Library.
    Bugs can be reported to bug-glibc@gnu.org.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/hashtab.h ./include/hashtab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/hashtab.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/hashtab.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,5 @@
 /* An expandable hash tables datatype.  
-   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2009, 2010
-   Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Vladimir Makarov (vmakarov@cygnus.com).
 
 This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/hp-symtab.h ./include/hp-symtab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/hp-symtab.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/hp-symtab.h	2015-01-20 02:05:39.000000000 +0000
@@ -4,7 +4,7 @@
    Written by the Center for Software Science at the University of Utah
    and by Cygnus Support.
 
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/ieee.h ./include/ieee.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/ieee.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/ieee.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* IEEE Standard 695-1980 "Universal Format for Object Modules" header file
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/leb128.h ./include/leb128.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/leb128.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/leb128.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Utilities for reading leb128 values.
-   Copyright (C) 2012 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/libiberty.h ./include/libiberty.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/libiberty.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/libiberty.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,6 @@
 /* Function declarations for libiberty.
 
-   Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-   2006, 2007, 2008, 2009, 2010, 2011, 2013 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    
    Note - certain prototypes declared in this header file are for
    functions whoes implementation copyright does not belong to the
@@ -106,7 +105,10 @@ extern int countargv (char**);
    to find the declaration so provide a fully prototyped one.  If it
    is 1, we found it so don't provide any declaration at all.  */
 #if !HAVE_DECL_BASENAME
-#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) || defined (HAVE_DECL_BASENAME)
+#if defined (__GNU_LIBRARY__ ) || defined (__linux__) \
+ || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__) \
+ || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) \
+ || defined (__DragonFly__) || defined (HAVE_DECL_BASENAME) 
 extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);
 #else
 /* Do not allow basename to be used if there is no prototype seen.  We
@@ -224,6 +226,11 @@ extern char *make_relative_prefix (const
 extern char *make_relative_prefix_ignore_links (const char *, const char *,
 						const char *) ATTRIBUTE_MALLOC;
 
+/* Returns a pointer to a directory path suitable for creating temporary
+   files in.  */
+
+extern const char *choose_tmpdir (void) ATTRIBUTE_RETURNS_NONNULL;
+
 /* Choose a temporary directory to use for scratch files.  */
 
 extern char *choose_temp_base (void) ATTRIBUTE_MALLOC ATTRIBUTE_RETURNS_NONNULL;
@@ -442,6 +449,11 @@ extern struct pex_obj *pex_init (int fla
    on Unix.  */
 #define PEX_BINARY_ERROR	0x80
 
+/* Append stdout to existing file instead of truncating it.  */
+#define PEX_STDOUT_APPEND	0x100
+
+/* Thes same as PEX_STDOUT_APPEND, but for STDERR.  */
+#define PEX_STDERR_APPEND	0x200
 
 /* Execute one program.  Returns NULL on success.  On error returns an
    error string (typically just the name of a system call); the error
@@ -616,6 +628,11 @@ extern int pwait (int, int *, int);
 extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
 #endif
 
+/* Like asprintf but allocates memory without fail. This works like
+   xmalloc.  */
+
+extern char *xasprintf (const char *, ...) ATTRIBUTE_MALLOC ATTRIBUTE_PRINTF_1;
+
 #if !HAVE_DECL_VASPRINTF
 /* Like vsprintf but provides a pointer to malloc'd storage, which
    must be freed by the caller.  */
@@ -623,6 +640,11 @@ extern int asprintf (char **, const char
 extern int vasprintf (char **, const char *, va_list) ATTRIBUTE_PRINTF(2,0);
 #endif
 
+/* Like vasprintf but allocates memory without fail. This works like
+   xmalloc.  */
+
+extern char *xvasprintf (const char *, va_list) ATTRIBUTE_MALLOC ATTRIBUTE_PRINTF(1,0);
+
 #if defined(HAVE_DECL_SNPRINTF) && !HAVE_DECL_SNPRINTF
 /* Like sprintf but prints at most N characters.  */
 extern int snprintf (char *, size_t, const char *, ...) ATTRIBUTE_PRINTF_3;
@@ -633,6 +655,37 @@ extern int snprintf (char *, size_t, con
 extern int vsnprintf (char *, size_t, const char *, va_list) ATTRIBUTE_PRINTF(3,0);
 #endif
 
+#if defined (HAVE_DECL_STRNLEN) && !HAVE_DECL_STRNLEN
+extern size_t strnlen (const char *, size_t);
+#endif
+
+#if defined(HAVE_DECL_STRVERSCMP) && !HAVE_DECL_STRVERSCMP
+/* Compare version strings.  */
+extern int strverscmp (const char *, const char *);
+#endif
+
+#if defined(HAVE_DECL_STRTOL) && !HAVE_DECL_STRTOL
+extern long int strtol (const char *nptr,
+                        char **endptr, int base);
+#endif
+
+#if defined(HAVE_DECL_STRTOUL) && !HAVE_DECL_STRTOUL
+extern unsigned long int strtoul (const char *nptr,
+                                  char **endptr, int base);
+#endif
+
+#if defined(HAVE_LONG_LONG) && defined(HAVE_DECL_STRTOLL) && !HAVE_DECL_STRTOLL
+__extension__
+extern long long int strtoll (const char *nptr,
+                              char **endptr, int base);
+#endif
+
+#if defined(HAVE_LONG_LONG) && defined(HAVE_DECL_STRTOULL) && !HAVE_DECL_STRTOULL
+__extension__
+extern unsigned long long int strtoull (const char *nptr,
+                                        char **endptr, int base);
+#endif
+
 #if defined(HAVE_DECL_STRVERSCMP) && !HAVE_DECL_STRVERSCMP
 /* Compare version strings.  */
 extern int strverscmp (const char *, const char *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/longlong.h ./include/longlong.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/longlong.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/longlong.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* longlong.h -- definitions for mixed size 32/64 bit arithmetic.
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.
 
@@ -1687,7 +1687,8 @@ extern UHItype __stormy16_count_leading_
 #if !defined (udiv_qrnnd) && defined (sdiv_qrnnd)
 #define udiv_qrnnd(q, r, nh, nl, d) \
   do {									\
-    USItype __r;							\
+    extern UWtype __udiv_w_sdiv (UWtype *, UWtype, UWtype, UWtype);	\
+    UWtype __r;								\
     (q) = __udiv_w_sdiv (&__r, nh, nl, d);				\
     (r) = __r;								\
   } while (0)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/lto-symtab.h ./include/lto-symtab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/lto-symtab.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/lto-symtab.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Data types used in the IL symbol table.
-   Copyright (C) 2009 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by Rafael Espindola <espindola@google.com>
 
 This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/arm.h ./include/mach-o/arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/arm.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/mach-o/arm.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O arm declarations for BFD.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/ChangeLog ./include/mach-o/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/mach-o/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,7 @@
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
 2014-04-16  Tristan Gingold  <gingold@adacore.com>
 
 	* loader.h: Add macros for rebase, bind and export constants.
@@ -98,7 +102,7 @@
 
 	* loader.h: New file.
 
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/codesign.h ./include/mach-o/codesign.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/codesign.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/mach-o/codesign.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O support for BFD.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/external.h ./include/mach-o/external.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/external.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/mach-o/external.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O support for BFD.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/loader.h ./include/mach-o/loader.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/loader.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/mach-o/loader.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O support for BFD.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/reloc.h ./include/mach-o/reloc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/reloc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/mach-o/reloc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O support for BFD.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/unwind.h ./include/mach-o/unwind.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/unwind.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/mach-o/unwind.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O compact unwind encoding.
-   Copyright (C) 2014 Free Software Foundation, Inc.
+   Copyright (C) 2014-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/x86-64.h ./include/mach-o/x86-64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/mach-o/x86-64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/mach-o/x86-64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Mach-O support for BFD.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/MAINTAINERS ./include/MAINTAINERS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/MAINTAINERS	2015-01-13 02:02:19.000000000 +0000
+++ ./include/MAINTAINERS	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 See ../binutils/MAINTAINERS
 
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/md5.h ./include/md5.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/md5.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/md5.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* md5.h - Declaration of functions and data types used for MD5 sum
    computing library functions.
-   Copyright 1995, 1996, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    NOTE: The canonical source of this file is maintained with the GNU C
    Library.  Bugs can be reported to bug-glibc@prep.ai.mit.edu.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/alpha-ext.h ./include/nlm/alpha-ext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/alpha-ext.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/nlm/alpha-ext.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Alpha NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    By Ian Lance Taylor, Cygnus Support
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/ChangeLog ./include/nlm/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/nlm/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,7 @@
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
 2014-03-05  Alan Modra  <amodra@gmail.com>
 
 	Update copyright years.
@@ -109,7 +113,7 @@
 	support.
 
 
-Copyright (C) 1993-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/common.h ./include/nlm/common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/common.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/nlm/common.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/external.h ./include/nlm/external.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/external.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/nlm/external.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/i386-ext.h ./include/nlm/i386-ext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/i386-ext.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/nlm/i386-ext.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* i386 NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/internal.h ./include/nlm/internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/internal.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/nlm/internal.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/ppc-ext.h ./include/nlm/ppc-ext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/ppc-ext.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/nlm/ppc-ext.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* PowerPC NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/sparc32-ext.h ./include/nlm/sparc32-ext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/nlm/sparc32-ext.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/nlm/sparc32-ext.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SPARC NLM (NetWare Loadable Module) support for BFD.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/oasys.h ./include/oasys.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/oasys.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/oasys.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Oasys object format header file for BFD.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/objalloc.h ./include/objalloc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/objalloc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/objalloc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* objalloc.h -- routines to allocate memory for objects
-   Copyright 1997-2012 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Solutions.
 
 This program is free software; you can redistribute it and/or modify it
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/obstack.h ./include/obstack.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/obstack.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/obstack.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,5 @@
 /* obstack.h - object stack macros
-   Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-   Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
 
    NOTE: The canonical source of this file is maintained with the GNU C Library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/aarch64.h ./include/opcode/aarch64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/aarch64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/aarch64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* AArch64 assembler/disassembler support.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of GNU Binutils.
@@ -38,6 +38,7 @@ typedef uint32_t aarch64_insn;
 #define AARCH64_FEATURE_FP	0x00020000	/* FP instructions.  */
 #define AARCH64_FEATURE_SIMD	0x00040000	/* SIMD instructions.  */
 #define AARCH64_FEATURE_CRC	0x00080000	/* CRC instructions.  */
+#define AARCH64_FEATURE_LSE	0x00100000	/* LSE instructions.  */
 
 /* Architectures are the sum of the base and extensions.  */
 #define AARCH64_ARCH_V8		AARCH64_FEATURE (AARCH64_FEATURE_V8, \
@@ -106,6 +107,7 @@ enum aarch64_opnd
 
   AARCH64_OPND_Rd_SP,	/* Integer Rd or SP.  */
   AARCH64_OPND_Rn_SP,	/* Integer Rn or SP.  */
+  AARCH64_OPND_PAIRREG,	/* Paired register operand.  */
   AARCH64_OPND_Rm_EXT,	/* Integer Rm extended.  */
   AARCH64_OPND_Rm_SFT,	/* Integer Rm shifted.  */
 
@@ -340,6 +342,7 @@ enum aarch64_insn_class
   loadlit,
   log_imm,
   log_shift,
+  lse_atomic,
   movewide,
   pcreladdr,
   ic_system,
@@ -550,7 +553,9 @@ extern aarch64_opcode aarch64_opcode_tab
 #define F_N (1 << 23)
 /* Opcode dependent field.  */
 #define F_OD(X) (((X) & 0x7) << 24)
-/* Next bit is 27.  */
+/* Instruction has the field of 'sz'.  */
+#define F_LSE_SZ (1 << 27)
+/* Next bit is 28.  */
 
 static inline bfd_boolean
 alias_opcode_p (const aarch64_opcode *opcode)
@@ -599,7 +604,7 @@ get_opcode_dependent_value (const aarch6
 static inline bfd_boolean
 opcode_has_special_coder (const aarch64_opcode *opcode)
 {
-  return (opcode->flags & (F_SF | F_SIZEQ | F_FPTYPE | F_SSIZE | F_T
+  return (opcode->flags & (F_SF | F_LSE_SZ | F_SIZEQ | F_FPTYPE | F_SSIZE | F_T
 	  | F_GPRSIZE_IN_Q | F_LDS_SIZE | F_MISC | F_N | F_COND)) ? TRUE
     : FALSE;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/alpha.h ./include/opcode/alpha.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/alpha.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/alpha.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* alpha.h -- Header file for Alpha opcode table
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Richard Henderson <rth@tamu.edu>,
    patterned after the PPC opcode table written by Ian Lance Taylor.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/arc.h ./include/opcode/arc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/arc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/arc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode table for the ARC.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Doug Evans (dje@cygnus.com).
 
    This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/arm.h ./include/opcode/arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/arm.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/arm.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ARM assembler/disassembler support.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB and GAS.
 
@@ -78,10 +78,11 @@
 #define FPU_VFP_EXT_FP16 0x00100000	/* Half-precision extensions. */
 #define FPU_NEON_EXT_FMA 0x00080000	/* Neon fused multiply-add    */
 #define FPU_VFP_EXT_FMA	 0x00040000	/* VFP fused multiply-add     */
-#define FPU_VFP_EXT_ARMV8 0x00020000	/* FP for ARMv8.  */
+#define FPU_VFP_EXT_ARMV8 0x00020000	/* Double-precision FP for ARMv8.  */
 #define FPU_NEON_EXT_ARMV8 0x00010000	/* Neon for ARMv8.  */
 #define FPU_CRYPTO_EXT_ARMV8 0x00008000	/* Crypto for ARMv8.  */
 #define CRC_EXT_ARMV8	 0x00004000	/* CRC32 for ARMv8.  */
+#define FPU_VFP_EXT_ARMV8xD 0x00002000	/* Single-precision FP for ARMv8.  */
 
 /* Architectures are the sum of the base and extensions.  The ARM ARM (rev E)
    defines the following: ARMv3, ARMv3M, ARMv4xM, ARMv4, ARMv4TxM, ARMv4T,
@@ -153,7 +154,9 @@
 #define FPU_VFP_V4D16	(FPU_VFP_V3D16 | FPU_VFP_EXT_FP16 | FPU_VFP_EXT_FMA)
 #define FPU_VFP_V4	(FPU_VFP_V3 | FPU_VFP_EXT_FP16 | FPU_VFP_EXT_FMA)
 #define FPU_VFP_V4_SP_D16 (FPU_VFP_V3xD | FPU_VFP_EXT_FP16 | FPU_VFP_EXT_FMA)
-#define FPU_VFP_ARMV8	(FPU_VFP_V4 | FPU_VFP_EXT_ARMV8)
+#define FPU_VFP_V5D16	(FPU_VFP_V4D16 | FPU_VFP_EXT_ARMV8xD | FPU_VFP_EXT_ARMV8)
+#define FPU_VFP_V5_SP_D16 (FPU_VFP_V4_SP_D16 | FPU_VFP_EXT_ARMV8xD)
+#define FPU_VFP_ARMV8	(FPU_VFP_V4 | FPU_VFP_EXT_ARMV8 | FPU_VFP_EXT_ARMV8xD)
 #define FPU_NEON_ARMV8	(FPU_NEON_EXT_V1 | FPU_NEON_EXT_FMA | FPU_NEON_EXT_ARMV8)
 #define FPU_CRYPTO_ARMV8 (FPU_CRYPTO_EXT_ARMV8)
 #define FPU_VFP_HARD	(FPU_VFP_EXT_V1xD | FPU_VFP_EXT_V1 | FPU_VFP_EXT_V2 \
@@ -186,6 +189,8 @@
 #define FPU_ARCH_VFP_V4 ARM_FEATURE(0, FPU_VFP_V4)
 #define FPU_ARCH_VFP_V4D16 ARM_FEATURE(0, FPU_VFP_V4D16)
 #define FPU_ARCH_VFP_V4_SP_D16 ARM_FEATURE(0, FPU_VFP_V4_SP_D16)
+#define FPU_ARCH_VFP_V5D16 ARM_FEATURE(0, FPU_VFP_V5D16)
+#define FPU_ARCH_VFP_V5_SP_D16 ARM_FEATURE(0, FPU_VFP_V5_SP_D16)
 #define FPU_ARCH_NEON_VFP_V4 \
   ARM_FEATURE(0, FPU_VFP_V4 | FPU_NEON_EXT_V1 | FPU_NEON_EXT_FMA)
 #define FPU_ARCH_VFP_ARMV8 ARM_FEATURE(0, FPU_VFP_ARMV8)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/avr.h ./include/opcode/avr.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/avr.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/avr.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Opcode table for the Atmel AVR micro controllers.
 
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Denis Chertykov <denisc@overta.ru>
    
    This program is free software; you can redistribute it and/or modify
@@ -22,6 +22,7 @@
 #define AVR_ISA_LPM   0x0002 /* device has LPM */
 #define AVR_ISA_LPMX  0x0004 /* device has LPM Rd,Z[+] */
 #define AVR_ISA_SRAM  0x0008 /* device has SRAM (LD, ST, PUSH, POP, ...) */
+#define AVR_ISA_TINY  0x0010 /* device has Tiny core specific encodings */
 #define AVR_ISA_MEGA  0x0020 /* device has >8K program memory (JMP and CALL
 				supported, no 8K wrap on RJMP and RCALL) */
 #define AVR_ISA_MUL   0x0040 /* device has new core (MUL, FMUL, ...) */
@@ -37,6 +38,7 @@
 
 #define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM)
 #define AVR_ISA_2xxx  (AVR_ISA_TINY1 | AVR_ISA_SRAM)
+#define AVR_ISA_2xxxa (AVR_ISA_1200 | AVR_ISA_SRAM)
 /* For the attiny26 which is missing LPM Rd,Z+.  */
 #define AVR_ISA_2xxe  (AVR_ISA_2xxx | AVR_ISA_LPMX)
 #define AVR_ISA_RF401 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX)
@@ -72,6 +74,9 @@
                         AVR_ISA_ELPM | AVR_ISA_ELPMX | AVR_ISA_SPM | \
                         AVR_ISA_BRK | AVR_ISA_EIND | AVR_ISA_MOVW)
 
+#define AVR_ISA_AVRTINY (AVR_ISA_1200 | AVR_ISA_BRK | AVR_ISA_SRAM | \
+                         AVR_ISA_TINY)
+
 #define REGISTER_P(x) ((x) == 'r'		\
 		       || (x) == 'd'		\
 		       || (x) == 'w'		\
@@ -94,7 +99,7 @@
    `ld r,b' or `st b,r' respectively - next opcode entry)?  */
 #define AVR_DISP0_P(x) (((x) & 0xFC07) == 0x8000)
 
-/* constraint letters
+/* Constraint letters:
    r - any register
    d - `ldi' register (r16-r31)
    v - `movw' even register (r0, r2, ..., r28, r30)
@@ -110,6 +115,7 @@
    p - Port address value from 0 to 31. (cbi, sbi, sbic, sbis)
    K - immediate value from 0 to 63 (used in `adiw', `sbiw')
    i - immediate value
+   j - 7 bit immediate value from 0x40 to 0xBF (for 16-bit 'lds'/'sts')
    l - signed pc relative offset from -64 to 63
    L - signed pc relative offset from -2048 to 2047
    h - absolute code address (call, jmp)
@@ -156,12 +162,12 @@ AVR_INSN (set,  "",    "1001010001101000
 AVR_INSN (sev,  "",    "1001010000111000", 1, AVR_ISA_1200, 0x9438)
 AVR_INSN (sez,  "",    "1001010000011000", 1, AVR_ISA_1200, 0x9418)
 
-   /* Same as {cl,se}[chinstvz] above.  */
+/* Same as {cl,se}[chinstvz] above.  */
 AVR_INSN (bclr, "S",   "100101001SSS1000", 1, AVR_ISA_1200, 0x9488)
 AVR_INSN (bset, "S",   "100101000SSS1000", 1, AVR_ISA_1200, 0x9408)
 
-AVR_INSN (icall,"",    "1001010100001001", 1, AVR_ISA_2xxx, 0x9509)
-AVR_INSN (ijmp, "",    "1001010000001001", 1, AVR_ISA_2xxx, 0x9409)
+AVR_INSN (icall,"",    "1001010100001001", 1, AVR_ISA_2xxxa,0x9509)
+AVR_INSN (ijmp, "",    "1001010000001001", 1, AVR_ISA_2xxxa,0x9409)
 
 AVR_INSN (lpm,  "?",   "1001010111001000", 1, AVR_ISA_TINY1,0x95c8)
 AVR_INSN (lpm,  "r,z", "1001000ddddd010+", 1, AVR_ISA_LPMX, 0x9004)
@@ -190,7 +196,7 @@ AVR_INSN (or,   "r,r", "001010rdddddrrrr
 AVR_INSN (sbc,  "r,r", "000010rdddddrrrr", 1, AVR_ISA_1200, 0x0800)
 AVR_INSN (sub,  "r,r", "000110rdddddrrrr", 1, AVR_ISA_1200, 0x1800)
 
-   /* Shorthand for {eor,add,adc,and} r,r above.  */
+/* Shorthand for {eor,add,adc,and} r,r above.  */
 AVR_INSN (clr,  "r=r", "001001rdddddrrrr", 1, AVR_ISA_1200, 0x2400)
 AVR_INSN (lsl,  "r=r", "000011rdddddrrrr", 1, AVR_ISA_1200, 0x0c00)
 AVR_INSN (rol,  "r=r", "000111rdddddrrrr", 1, AVR_ISA_1200, 0x1c00)
@@ -245,7 +251,7 @@ AVR_INSN (brts, "l",   "111100lllllll110
 AVR_INSN (brvc, "l",   "111101lllllll011", 1, AVR_ISA_1200, 0xf403)
 AVR_INSN (brvs, "l",   "111100lllllll011", 1, AVR_ISA_1200, 0xf003)
 
-   /* Same as br?? above.  */
+/* Same as br?? above.  */
 AVR_INSN (brbc, "s,l", "111101lllllllsss", 1, AVR_ISA_1200, 0xf400)
 AVR_INSN (brbs, "s,l", "111100lllllllsss", 1, AVR_ISA_1200, 0xf000)
 
@@ -261,18 +267,18 @@ AVR_INSN (dec,  "r",   "1001010rrrrr1010
 AVR_INSN (inc,  "r",   "1001010rrrrr0011", 1, AVR_ISA_1200, 0x9403)
 AVR_INSN (lsr,  "r",   "1001010rrrrr0110", 1, AVR_ISA_1200, 0x9406)
 AVR_INSN (neg,  "r",   "1001010rrrrr0001", 1, AVR_ISA_1200, 0x9401)
-AVR_INSN (pop,  "r",   "1001000rrrrr1111", 1, AVR_ISA_2xxx, 0x900f)
-AVR_INSN (push, "r",   "1001001rrrrr1111", 1, AVR_ISA_2xxx, 0x920f)
+AVR_INSN (pop,  "r",   "1001000rrrrr1111", 1, AVR_ISA_2xxxa,0x900f)
+AVR_INSN (push, "r",   "1001001rrrrr1111", 1, AVR_ISA_2xxxa,0x920f)
 AVR_INSN (ror,  "r",   "1001010rrrrr0111", 1, AVR_ISA_1200, 0x9407)
 AVR_INSN (swap, "r",   "1001010rrrrr0010", 1, AVR_ISA_1200, 0x9402)
 
-   /* Atomic memory operations for XMEGA.  List before `sts'.  */
+/* Atomic memory operations for XMEGA.  List before `sts'.  */
 AVR_INSN (xch,  "z,r",   "1001001rrrrr0100", 1, AVR_ISA_RMW, 0x9204)
 AVR_INSN (las,  "z,r",   "1001001rrrrr0101", 1, AVR_ISA_RMW, 0x9205)
 AVR_INSN (lac,  "z,r",   "1001001rrrrr0110", 1, AVR_ISA_RMW, 0x9206)
 AVR_INSN (lat,  "z,r",   "1001001rrrrr0111", 1, AVR_ISA_RMW, 0x9207)
 
-   /* Known to be decoded as `nop' by the old core.  */
+/* Known to be decoded as `nop' by the old core.  */
 AVR_INSN (movw, "v,v", "00000001ddddrrrr", 1, AVR_ISA_MOVW, 0x0100)
 AVR_INSN (muls, "d,d", "00000010ddddrrrr", 1, AVR_ISA_MUL,  0x0200)
 AVR_INSN (mulsu,"a,a", "000000110ddd0rrr", 1, AVR_ISA_MUL,  0x0300)
@@ -280,21 +286,23 @@ AVR_INSN (fmul, "a,a", "000000110ddd1rrr
 AVR_INSN (fmuls,"a,a", "000000111ddd0rrr", 1, AVR_ISA_MUL,  0x0380)
 AVR_INSN (fmulsu,"a,a","000000111ddd1rrr", 1, AVR_ISA_MUL,  0x0388)
 
-AVR_INSN (sts,  "i,r", "1001001ddddd0000", 2, AVR_ISA_2xxx, 0x9200)
-AVR_INSN (lds,  "r,i", "1001000ddddd0000", 2, AVR_ISA_2xxx, 0x9000)
+AVR_INSN (sts, "j,d", "10101kkkddddkkkk", 1, AVR_ISA_TINY, 0xA800)
+AVR_INSN (sts, "i,r", "1001001ddddd0000", 2, AVR_ISA_2xxx, 0x9200)
+AVR_INSN (lds, "d,j", "10100kkkddddkkkk", 1, AVR_ISA_TINY, 0xA000)
+AVR_INSN (lds, "r,i", "1001000ddddd0000", 2, AVR_ISA_2xxx, 0x9000)
 
-   /* Special case for b+0, `e' must be next entry after `b',
-      b={Y=1,Z=0}, ee={X=11,Y=10,Z=00}, !=1 if -e or e+ or X.  */
+/* Special case for b+0, `e' must be next entry after `b',
+   b={Y=1,Z=0}, ee={X=11,Y=10,Z=00}, !=1 if -e or e+ or X.  */
 AVR_INSN (ldd,  "r,b", "10o0oo0dddddbooo", 1, AVR_ISA_2xxx, 0x8000)
 AVR_INSN (ld,   "r,e", "100!000dddddee-+", 1, AVR_ISA_1200, 0x8000)
 AVR_INSN (std,  "b,r", "10o0oo1rrrrrbooo", 1, AVR_ISA_2xxx, 0x8200)
 AVR_INSN (st,   "e,r", "100!001rrrrree-+", 1, AVR_ISA_1200, 0x8200)
 
-   /* These are for devices that don't exist yet
-      (>128K program memory, PC = EIND:Z).  */
+/* These are for devices that don't exist yet
+   (>128K program memory, PC = EIND:Z).  */
 AVR_INSN (eicall, "",  "1001010100011001", 1, AVR_ISA_EIND, 0x9519)
 AVR_INSN (eijmp, "",   "1001010000011001", 1, AVR_ISA_EIND, 0x9419)
 
-/* DES instruction for encryption and decryption */
+/* DES instruction for encryption and decryption.  */
 AVR_INSN (des,  "E",   "10010100EEEE1011", 1, AVR_ISA_DES,  0x940B)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/bfin.h ./include/opcode/bfin.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/bfin.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/bfin.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* bfin.h -- Header file for ADI Blackfin opcode table
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of GDB, GAS, and the GNU binutils.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/cgen.h ./include/opcode/cgen.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/cgen.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/cgen.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Header file for targets using CGEN: Cpu tools GENerator.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of GDB, the GNU debugger, and the GNU Binutils.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/ChangeLog ./include/opcode/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,157 @@
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
+2014-12-27  Anthony Green  <green@moxielogic.com>
+
+	* moxie.h (MOXIE_F1_AiB2, MOXIE_F1_ABi2): Renamed from
+	MOXIE_F1_AiB4 and MOXIE_F1_ABi2.
+
+2014-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* visium.h: New file.
+
+2014-11-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2.h (NIOS2_INSN_ADDI, NIOS2_INSN_ANDI): Delete.
+	(NIOS2_INSN_ORI, NIOS2_INSN_XORI): Delete.
+	(NIOS2_INSN_OPTARG): Renumber.
+
+2014-11-06  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2.h (nios2_find_opcode_hash): Add mach parameter to
+	declaration.  Fix obsolete comment.
+
+2014-10-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2.h (enum iw_format_type): New.
+	(struct nios2_opcode): Update comments.  Add size and format fields.
+	(NIOS2_INSN_OPTARG): New.
+	(REG_NORMAL, REG_CONTROL, REG_COPROCESSOR): New.
+	(struct nios2_reg): Add regtype field.
+	(GET_INSN_FIELD, SET_INSN_FIELD): Delete.
+	(IW_A_LSB, IW_A_MSB, IW_A_SZ, IW_A_MASK): Delete.
+	(IW_B_LSB, IW_B_MSB, IW_B_SZ, IW_B_MASK): Delete.
+	(IW_C_LSB, IW_C_MSB, IW_C_SZ, IW_C_MASK): Delete.
+	(IW_IMM16_LSB, IW_IMM16_MSB, IW_IMM16_SZ, IW_IMM16_MASK): Delete.
+	(IW_IMM26_LSB, IW_IMM26_MSB, IW_IMM26_SZ, IW_IMM26_MASK): Delete.
+	(IW_OP_LSB, IW_OP_MSB, IW_OP_SZ, IW_OP_MASK): Delete.
+	(IW_OPX_LSB, IW_OPX_MSB, IW_OPX_SZ, IW_OPX_MASK): Delete.
+	(IW_SHIFT_IMM5_LSB, IW_SHIFT_IMM5_MSB): Delete.
+	(IW_SHIFT_IMM5_SZ, IW_SHIFT_IMM5_MASK): Delete.
+	(IW_CONTROL_REGNUM_LSB, IW_CONTROL_REGNUM_MSB): Delete.
+	(IW_CONTROL_REGNUM_SZ, IW_CONTROL_REGNUM_MASK): Delete.
+	(OP_MASK_OP, OP_SH_OP): Delete.
+	(OP_MASK_IOP, OP_SH_IOP): Delete.
+	(OP_MASK_IRD, OP_SH_IRD): Delete.
+	(OP_MASK_IRT, OP_SH_IRT): Delete.
+	(OP_MASK_IRS, OP_SH_IRS): Delete.
+	(OP_MASK_ROP, OP_SH_ROP): Delete.
+	(OP_MASK_RRD, OP_SH_RRD): Delete.
+	(OP_MASK_RRT, OP_SH_RRT): Delete.
+	(OP_MASK_RRS, OP_SH_RRS): Delete.
+	(OP_MASK_JOP, OP_SH_JOP): Delete.
+	(OP_MASK_IMM26, OP_SH_IMM26): Delete.
+	(OP_MASK_RCTL, OP_SH_RCTL): Delete.
+	(OP_MASK_IMM5, OP_SH_IMM5): Delete.
+	(OP_MASK_CACHE_OPX, OP_SH_CACHE_OPX): Delete.
+	(OP_MASK_CACHE_RRS, OP_SH_CACHE_RRS): Delete.
+	(OP_MASK_CUSTOM_A, OP_SH_CUSTOM_A): Delete.
+	(OP_MASK_CUSTOM_B, OP_SH_CUSTOM_B): Delete.
+	(OP_MASK_CUSTOM_C, OP_SH_CUSTOM_C): Delete.
+	(OP_MASK_CUSTOM_N, OP_SH_CUSTOM_N): Delete.
+	(OP_<insn>, OPX_<insn>, OP_MATCH_<insn>, OPX_MATCH_<insn>): Delete.
+	(OP_MASK_<insn>, OP_MASK): Delete.
+	(GET_IW_A, GET_IW_B, GET_IW_C, GET_IW_CONTROL_REGNUM): Delete.
+	(GET_IW_IMM16, GET_IW_IMM26, GET_IW_OP, GET_IW_OPX): Delete.
+	Include nios2r1.h to define new instruction opcode constants
+	and accessors.
+	(nios2_builtin_opcodes): Rename to nios2_r1_opcodes.
+	(bfd_nios2_num_builtin_opcodes): Rename to nios2_num_r1_opcodes.
+	(bfd_nios2_num_opcodes): Rename to nios2_num_opcodes.
+	(NUMOPCODES, NUMREGISTERS): Delete.
+	* nios2r1.h: New file.
+
+2014-10-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* sparc.h (HWCAP2_VIS3B): Documentation improved.
+
+2014-10-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* sparc.h (sparc_opcode): new field `hwcaps2'.
+	(HWCAP2_FJATHPLUS): New define.
+	(HWCAP2_VIS3B): Likewise.
+	(HWCAP2_ADP): Likewise.
+	(HWCAP2_SPARC5): Likewise.
+	(HWCAP2_MWAIT): Likewise.
+	(HWCAP2_XMPMUL): Likewise.
+	(HWCAP2_XMONT): Likewise.
+	(HWCAP2_NSEC): Likewise.
+	(HWCAP2_FJATHHPC): Likewise.
+	(HWCAP2_FJDES): Likewise.
+	(HWCAP2_FJAES): Likewise.
+	Document the new operand kind `{', corresponding to the mcdper
+	ancillary state register.
+	Document the new operand kind }, which represents frsd floating
+	point registers (double precision) which must be the same than
+	frs1 in its containing instruction.
+
+2014-09-16  Kuan-Lin Chen <kuanlinchentw@gmail.com>
+
+        * nds32.h: Add new opcode declaration.
+
+2014-09-15  Andrew Bennett  <andrew.bennett@imgtec.com>
+	    Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* mips.h (mips_operand_type): Add new entries: OP_SAME_RS_RT,
+	OP_CHECK_PREV and OP_NON_ZERO_REG.  Add descriptions for the MIPS R6
+	instruction arguments: -a, -b, -d, -s, -t, -u, -v, -w, -x, -y, -A, -B,
+	 +I, +O, +R, +:, +\, +", +;
+	(mips_check_prev_operand): New struct.
+	(INSN2_FORBIDDEN_SLOT): New define.
+	(INSN_ISA32R6): New define.
+	(INSN_ISA64R6): New define.
+	(INSN_UPTO32R6): New define.
+	(INSN_UPTO64R6): New define.
+	(mips_isa_table): Add INSN_UPTO32R6 and INSN_UPTO64R6.
+	(ISA_MIPS32R6): New define.
+	(ISA_MIPS64R6): New define.
+	(CPU_MIPS32R6): New define.
+	(CPU_MIPS64R6): New define.
+	(cpu_is_member): Add cases for CPU_MIPS32R6, and CPU_MIPS64R6.
+
+2014-09-03  Jiong Wang  <jiong.wang@arm.com>
+
+	* aarch64.h (AARCH64_FEATURE_LSE): New feature added.
+	(aarch64_opnd): Add AARCH64_OPND_PAIRREG.
+	(aarch64_insn_class): Add lse_atomic.
+	(F_LSE_SZ): New field added.
+	(opcode_has_special_coder): Recognize F_LSE_SZ.
+
+2014-08-26  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* mips.h: Document the move of `MICROMIPSOP_*_CODE10' from `B'
+	over to `+J'.
+
+2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* mips.h (INSN_LOAD_COPROC_DELAY): Rename to...
+	(INSN_LOAD_COPROC): New define.
+	(INSN_COPROC_MOVE_DELAY): Rename to...
+	(INSN_COPROC_MOVE): New define.
+
+2014-07-01  Barney Stratford   <barney_stratford@fastmail.fm>
+            Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+            Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+            Soundararajan  <Sounderarajan.D@atmel.com>
+
+	* avr.h (AVR_ISA_TINY): Define avrtiny specific ISA.
+	(AVR_ISA_2xxxa): Define ISA without LPM.
+	(AVR_ISA_AVRTINY): Define avrtiny arch ISA.
+	Add doc for contraint used in 16 bit lds/sts.
+	Adjust ISA group for icall, ijmp, pop and push.
+	Add 16 bit lds/sts encoding and update 32 bit lds/sts constraints.
+
 2014-05-19  Nick Clifton  <nickc@redhat.com>
 
 	* msp430.h (struct msp430_operand_s): Add vshift field.
@@ -1992,7 +2146,7 @@
 
 For older changes see ChangeLog-9103
 
-Copyright (C) 2004-2014 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/convex.h ./include/opcode/convex.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/convex.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/convex.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Information for instruction disassembly on the Convex.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/cr16.h ./include/opcode/cr16.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/cr16.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/cr16.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* cr16.h -- Header file for CR16 opcode and register tables.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
    Contributed by M R Swami Reddy
 
    This file is part of GAS, GDB and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/cris.h ./include/opcode/cris.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/cris.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/cris.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* cris.h -- Header file for CRIS opcode and register tables.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications AB, Lund, Sweden.
    Originally written for GAS 1.38.1 by Mikael Asker.
    Updated, BFDized and GNUified by Hans-Peter Nilsson.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/crx.h ./include/opcode/crx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/crx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/crx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* crx.h -- Header file for CRX opcode and register tables.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Tomer Levi, NSC, Israel.
    Originally written for GAS 2.12 by Tomer Levi, NSC, Israel.
    Updates, BFDizing, GNUifying and ELF support by Tomer Levi.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/d10v.h ./include/opcode/d10v.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/d10v.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/d10v.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* d10v.h -- Header file for D10V opcode table
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Martin Hunt (hunt@cygnus.com), Cygnus Support
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/d30v.h ./include/opcode/d30v.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/d30v.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/d30v.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* d30v.h -- Header file for D30V opcode table
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Written by Martin Hunt (hunt@cygnus.com), Cygnus Solutions
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/dlx.h ./include/opcode/dlx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/dlx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/dlx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table of opcodes for the DLX microprocess.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB and GAS.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/h8300.h ./include/opcode/h8300.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/h8300.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/h8300.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode table for the H8/300
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2015 Free Software Foundation, Inc.
    Written by Steve Chamberlain <sac@cygnus.com>.
    
    This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/hppa.h ./include/opcode/hppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/hppa.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/hppa.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table of opcodes for the PA-RISC.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    Contributed by the Center for Software Science at the
    University of Utah (pa-gdb-bugs@cs.utah.edu).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/i370.h ./include/opcode/i370.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/i370.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/i370.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* i370.h -- Header file for S/390 opcode table
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    PowerPC version written by Ian Lance Taylor, Cygnus Support
    Rewritten for i370 ESA/390 support, Linas Vepstas <linas@linas.org>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/i386.h ./include/opcode/i386.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/i386.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/i386.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* opcode/i386.h -- Intel 80386 opcode macros
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler, and GDB, the GNU Debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/i860.h ./include/opcode/i860.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/i860.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/i860.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table of opcodes for the i860.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler, and GDB, the GNU disassembler.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/i960.h ./include/opcode/i960.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/i960.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/i960.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Basic 80960 instruction formats.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/ia64.h ./include/opcode/ia64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/ia64.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/ia64.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64.h -- Header file for ia64 opcode table
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/m68hc11.h ./include/opcode/m68hc11.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/m68hc11.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/m68hc11.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* m68hc11.h -- Header file for Motorola 68HC11 & 68HC12 opcode table
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@nerim.fr)
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/m68k.h ./include/opcode/m68k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/m68k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/m68k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode table header for m680[01234]0/m6888[12]/m68851.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GDB, GAS, and the GNU binutils.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/m88k.h ./include/opcode/m88k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/m88k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/m88k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table of opcodes for the Motorola M88k family.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GDB and GAS.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/metag.h ./include/opcode/metag.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/metag.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/metag.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Imagination Technologies Meta opcode table.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Imagination Technologies Ltd.
 
    This file is part of GDB and GAS.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/mips.h ./include/opcode/mips.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/mips.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/mips.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* mips.h.  Mips opcode list for GDB, the GNU debugger.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Contributed by Ralph Campbell and OSF
    Commented and modified by Ian Lance Taylor, Cygnus Support
 
@@ -417,7 +417,17 @@ enum mips_operand_type {
   OP_IMM_INDEX,
 
   /* An index selected by a register, e.g. [$2].  */
-  OP_REG_INDEX
+  OP_REG_INDEX,
+
+  /* The operand spans two 5-bit register fields, both of which must be set to
+     the source register.  */
+  OP_SAME_RS_RT,
+
+  /* Described by mips_prev_operand.  */
+  OP_CHECK_PREV,
+
+  /* A register operand that must not be zero.  */
+  OP_NON_ZERO_REG
 };
 
 /* Enumerates the types of MIPS register.  */
@@ -553,6 +563,18 @@ struct mips_reg_operand
   const unsigned char *reg_map;
 };
 
+/* Describes an operand that which must match a condition based on the
+   previous operand.  */
+struct mips_check_prev_operand
+{
+  struct mips_operand root;
+
+  bfd_boolean greater_than_ok;
+  bfd_boolean less_than_ok;
+  bfd_boolean equal_ok;
+  bfd_boolean zero_ok;
+};
+
 /* Describes an operand that encodes a pair of registers.  */
 struct mips_reg_pair_operand
 {
@@ -927,6 +949,28 @@ struct mips_opcode
    "+*" 5-bit register vector element index at bit 16
    "+|" 8-bit mask at bit 16
 
+   MIPS R6:
+   "+:" 11-bit mask at bit 0
+   "+'" 26 bit PC relative branch target address
+   "+"" 21 bit PC relative branch target address
+   "+;" 5 bit same register in both OP_*_RS and OP_*_RT
+   "+I" 2bit unsigned bit position at bit 6
+   "+O" 3bit unsigned bit position at bit 6
+   "+R" must be program counter
+   "-a" (-262144 .. 262143) << 2 at bit 0
+   "-b" (-131072 .. 131071) << 3 at bit 0
+   "-d" Same as destination register GP
+   "-s" 5 bit source register specifier (OP_*_RS) not $0
+   "-t" 5 bit source register specifier (OP_*_RT) not $0
+   "-u" 5 bit source register specifier (OP_*_RT) greater than OP_*_RS
+   "-v" 5 bit source register specifier (OP_*_RT) not $0 not OP_*_RS
+   "-w" 5 bit source register specifier (OP_*_RT) less than or equal to OP_*_RS
+   "-x" 5 bit source register specifier (OP_*_RT) greater than or
+        equal to OP_*_RS
+   "-y" 5 bit source register specifier (OP_*_RT) not $0 less than OP_*_RS
+   "-A" symbolic offset (-262144 .. 262143) << 2 at bit 0
+   "-B" symbolic offset (-131072 .. 131071) << 3 at bit 0
+
    Other:
    "()" parens surrounding optional value
    ","  separates operands
@@ -934,16 +978,21 @@ struct mips_opcode
 
    Characters used so far, for quick reference when adding more:
    "1234567890"
-   "%[]<>(),+:'@!#$*&\~"
+   "%[]<>(),+-:'@!#$*&\~"
    "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    "abcdefghijklopqrstuvwxz"
 
    Extension character sequences used so far ("+" followed by the
    following), for quick reference when adding more:
    "1234567890"
-   "~!@#$%^&*|"
-   "ABCEFGHJKLMNPQSTUVWXZ"
+   "~!@#$%^&*|:'";"
+   "ABCEFGHIJKLMNOPQRSTUVWXZ"
    "abcdefghijklmnopqrstuvwxyz"
+
+   Extension character sequences used so far ("-" followed by the
+   following), for quick reference when adding more:
+   "AB"
+   "abdstuvwxy"
 */
 
 /* These are the bits which may be set in the pinfo field of an
@@ -973,16 +1022,16 @@ struct mips_opcode
 #define INSN_COP                    0x00000400
 /* Instruction loads value from memory.  */
 #define INSN_LOAD_MEMORY	    0x00000800
-/* Instruction loads value from coprocessor, requiring delay.  */
-#define INSN_LOAD_COPROC_DELAY	    0x00001000
+/* Instruction loads value from coprocessor, (may require delay).  */
+#define INSN_LOAD_COPROC	    0x00001000
 /* Instruction has unconditional branch delay slot.  */
 #define INSN_UNCOND_BRANCH_DELAY    0x00002000
 /* Instruction has conditional branch delay slot.  */
 #define INSN_COND_BRANCH_DELAY      0x00004000
 /* Conditional branch likely: if branch not taken, insn nullified.  */
 #define INSN_COND_BRANCH_LIKELY	    0x00008000
-/* Moves to coprocessor register, requiring delay.  */
-#define INSN_COPROC_MOVE_DELAY      0x00010000
+/* Moves to coprocessor register, (may require delay).  */
+#define INSN_COPROC_MOVE            0x00010000
 /* Loads coprocessor register from memory, requiring delay.  */
 #define INSN_COPROC_MEMORY_DELAY    0x00020000
 /* Reads the HI register.  */
@@ -1051,6 +1100,8 @@ struct mips_opcode
 #define INSN2_READ_GPR_16           0x00002000
 /* Has an "\.x?y?z?w?" suffix based on mips_vu0_channel_mask.  */
 #define INSN2_VU0_CHANNEL_SUFFIX    0x00004000
+/* Instruction has a forbidden slot.  */
+#define INSN2_FORBIDDEN_SLOT        0x00008000
 
 /* Masks used to mark instructions to indicate which MIPS ISA level
    they were introduced in.  INSN_ISA_MASK masks an enumeration that
@@ -1070,10 +1121,12 @@ struct mips_opcode
 #define INSN_ISA32R2              7
 #define INSN_ISA32R3              8
 #define INSN_ISA32R5              9
+#define INSN_ISA32R6              10
 #define INSN_ISA64                11 
 #define INSN_ISA64R2              12
 #define INSN_ISA64R3              13
 #define INSN_ISA64R5              14
+#define INSN_ISA64R6              15
 /* Below this point the INSN_* values correspond to combinations of ISAs.
    They are only for use in the opcodes table to indicate membership of
    a combination of ISAs that cannot be expressed using the usual inclusion
@@ -1084,7 +1137,19 @@ struct mips_opcode
 #define INSN_ISA4_32R2            19
 #define INSN_ISA5_32R2            20
 
+/* The R6 definitions shown below state that they support all previous ISAs.
+   This is not actually true as some instructions are removed in R6.
+   The problem is that the removed instructions in R6 come from different
+   ISAs.  One approach to solve this would be to describe in the membership
+   field of the opcode table the different ISAs an instruction belongs to.
+   This would require us to create a large amount of different ISA
+   combinations which is hard to manage.  A cleaner approach (which is
+   implemented here) is to say that R6 is an extension of R5 and then to
+   deal with the removed instructions by adding instruction exclusions
+   for R6 in the opcode table.  */
+
 /* Bit INSN_ISA<X> - 1 of INSN_UPTO<Y> is set if ISA Y includes ISA X.  */
+
 #define ISAF(X) (1 << (INSN_ISA##X - 1))
 #define INSN_UPTO1    ISAF(1)
 #define INSN_UPTO2    INSN_UPTO1 | ISAF(2)
@@ -1096,10 +1161,12 @@ struct mips_opcode
 			| ISAF(3_32R2) | ISAF(4_32R2) | ISAF(5_32R2)
 #define INSN_UPTO32R3 INSN_UPTO32R2 | ISAF(32R3)
 #define INSN_UPTO32R5 INSN_UPTO32R3 | ISAF(32R5)
+#define INSN_UPTO32R6 INSN_UPTO32R5 | ISAF(32R6)
 #define INSN_UPTO64   INSN_UPTO5 | ISAF(64) | ISAF(32)
 #define INSN_UPTO64R2 INSN_UPTO64 | ISAF(64R2) | ISAF(32R2)
 #define INSN_UPTO64R3 INSN_UPTO64R2 | ISAF(64R3) | ISAF(32R3)
 #define INSN_UPTO64R5 INSN_UPTO64R3 | ISAF(64R5) | ISAF(32R5)
+#define INSN_UPTO64R6 INSN_UPTO64R5 | ISAF(64R6) | ISAF(32R6)
 
 /* The same information in table form: bit INSN_ISA<X> - 1 of index
    INSN_UPTO<Y> - 1 is set if ISA Y includes ISA X.  */
@@ -1113,11 +1180,12 @@ static const unsigned int mips_isa_table
   INSN_UPTO32R2,
   INSN_UPTO32R3,
   INSN_UPTO32R5,
-  0,
+  INSN_UPTO32R6,
   INSN_UPTO64,
   INSN_UPTO64R2,
   INSN_UPTO64R3,
-  INSN_UPTO64R5
+  INSN_UPTO64R5,
+  INSN_UPTO64R6
 };
 #undef ISAF
 
@@ -1128,6 +1196,7 @@ static const unsigned int mips_isa_table
 #define INSN_OCTEON		  0x00000800
 #define INSN_OCTEONP		  0x00000200
 #define INSN_OCTEON2		  0x00000100
+#define INSN_OCTEON3		  0x00000040
 
 /* MIPS R5900 instruction */
 #define INSN_5900                 0x00004000
@@ -1207,6 +1276,8 @@ static const unsigned int mips_isa_table
 #define       ISA_MIPS64R3    INSN_ISA64R3
 #define       ISA_MIPS64R5    INSN_ISA64R5
 
+#define       ISA_MIPS32R6    INSN_ISA32R6
+#define       ISA_MIPS64R6    INSN_ISA64R6
 
 /* CPU defines, use instead of hardcoding processor number. Keep this
    in sync with bfd/archures.c in order for machine selection to work.  */
@@ -1239,11 +1310,13 @@ static const unsigned int mips_isa_table
 #define CPU_MIPS32R2	33
 #define CPU_MIPS32R3	34
 #define CPU_MIPS32R5	36
+#define CPU_MIPS32R6	37
 #define CPU_MIPS5       5
 #define CPU_MIPS64      64
 #define CPU_MIPS64R2	65
 #define CPU_MIPS64R3	66
 #define CPU_MIPS64R5	68
+#define CPU_MIPS64R6	69
 #define CPU_SB1         12310201        /* octal 'SB', 01.  */
 #define CPU_LOONGSON_2E 3001
 #define CPU_LOONGSON_2F 3002
@@ -1251,6 +1324,7 @@ static const unsigned int mips_isa_table
 #define CPU_OCTEON	6501
 #define CPU_OCTEONP	6601
 #define CPU_OCTEON2	6502
+#define CPU_OCTEON3	6503
 #define CPU_XLR     	887682   	/* decimal 'XLR'   */
 
 /* Return true if the given CPU is included in INSN_* mask MASK.  */
@@ -1316,9 +1390,19 @@ cpu_is_member (int cpu, unsigned int mas
     case CPU_OCTEON2:
       return (mask & INSN_OCTEON2) != 0;
 
+    case CPU_OCTEON3:
+      return (mask & INSN_OCTEON3) != 0;
+
     case CPU_XLR:
       return (mask & INSN_XLR) != 0;
 
+    case CPU_MIPS32R6:
+      return (mask & INSN_ISA_MASK) == INSN_ISA32R6;
+
+    case CPU_MIPS64R6:
+      return ((mask & INSN_ISA_MASK) == INSN_ISA32R6)
+	     || ((mask & INSN_ISA_MASK) == INSN_ISA64R6);
+
     default:
       return FALSE;
     }
@@ -2056,7 +2140,6 @@ extern const int bfd_mips16_num_opcodes;
    "y" 5-bit source 3 register for ALNV.PS (MICROMIPSOP_*_RS3)
    "z" must be zero register
    "C" 23-bit coprocessor function code (MICROMIPSOP_*_COPZ)
-   "B" 10-bit syscall/wait function code (MICROMIPSOP_*_CODE10)
    "K" 5-bit Hardware Register (RDHWR instruction) (MICROMIPSOP_*_RS)
 
    "+A" 5-bit INS/EXT/DINS/DEXT/DINSM/DEXTM position, which becomes
@@ -2081,6 +2164,8 @@ extern const int bfd_mips16_num_opcodes;
    "+H" 5-bit DEXTU size, which becomes MSBD (MICROMIPSOP_*_EXTMSBD).
 	Requires that "+A" or "+E" occur first to set position.
 	Enforces: 32 < (pos+size) <= 64.
+   "+J" 10-bit SYSCALL/WAIT/SDBBP/HYPCALL function code
+        (MICROMIPSOP_*_CODE10)
 
    PC-relative addition (ADDIUPC) instruction:
    "mQ" 23-bit offset (-4194304 .. 4194303) << 2 (MICROMIPSOP_*_IMMQ)
@@ -2159,7 +2244,7 @@ extern const int bfd_mips16_num_opcodes;
 
    Characters used so far, for quick reference when adding more:
    "12345678 0"
-   "<>(),+.@\^|~"
+   "<>(),+-.@\^|~"
    "ABCDEFGHI KLMN   RST V    "
    "abcd f hijklmnopqrstuvw yz"
 
@@ -2167,7 +2252,7 @@ extern const int bfd_mips16_num_opcodes;
    following), for quick reference when adding more:
    ""
    "~!@#$%^&*|"
-   "ABCEFGHTUVW"
+   "ABCEFGHJTUVW"
    "dehijklnouvwx"
 
    Extension character sequences used so far ("m" followed by the
@@ -2176,6 +2261,12 @@ extern const int bfd_mips16_num_opcodes;
    ""
    " BCDEFGHIJ LMNOPQ   U WXYZ"
    " bcdefghij lmn pq st   xyz"
+
+   Extension character sequences used so far ("-" followed by the
+   following), for quick reference when adding more:
+   ""
+   ""
+   <none so far>
 */
 
 extern const struct mips_operand *decode_micromips_operand (const char *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/mmix.h ./include/opcode/mmix.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/mmix.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/mmix.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* mmix.h -- Header file for MMIX opcode table
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Written by Hans-Peter Nilsson (hp@bitrange.com)
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/mn10200.h ./include/opcode/mn10200.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/mn10200.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/mn10200.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* mn10200.h -- Header file for Matsushita 10200 opcode table
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Jeff Law, Cygnus Support
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/mn10300.h ./include/opcode/mn10300.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/mn10300.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/mn10300.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* mn10300.h -- Header file for Matsushita 10300 opcode table
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Jeff Law, Cygnus Support
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/moxie.h ./include/opcode/moxie.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/moxie.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/moxie.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions for decoding the moxie opcode table.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by Anthony Green (green@moxielogic.com).
 
    This program is free software; you can redistribute it and/or modify
@@ -28,8 +28,8 @@
     Some use B and an indirect A                    (MOXIE_F1_AiB)
     Some use A and an indirect B                    (MOXIE_F1_ABi)
     Some consume a 4 byte immediate value and use X (MOXIE_F1_4A)
-    Some use B and an indirect A plus 4 bytes       (MOXIE_F1_AiB4)
-    Some use A and an indirect B plus 4 bytes       (MOXIE_F1_ABi4)
+    Some use B and an indirect A plus 2 byte offset (MOXIE_F1_AiB2)
+    Some use A and an indirect B plus 2 byte offset (MOXIE_F1_ABi2)
 
   Form 2 instructions also come in different flavors:
 
@@ -50,8 +50,8 @@
 #define MOXIE_F1_AiB  0x106
 #define MOXIE_F1_ABi  0x107
 #define MOXIE_F1_4A   0x108
-#define MOXIE_F1_AiB4 0x109
-#define MOXIE_F1_ABi4 0x10a
+#define MOXIE_F1_AiB2 0x109
+#define MOXIE_F1_ABi2 0x10a
 #define MOXIE_F1_M    0x10b
 
 #define MOXIE_F2_NARG 0x200
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/msp430-decode.h ./include/opcode/msp430-decode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/msp430-decode.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/msp430-decode.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode decoder for the TI MSP430
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Written by DJ Delorie <dj@redhat.com>
 
    This file is part of GDB, the GNU Debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/msp430.h ./include/opcode/msp430.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/msp430.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/msp430.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Opcode table for the TI MSP430 microcontrollers
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Dmitry Diky <diwil@mail.ru>
    
    This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/nds32.h ./include/opcode/nds32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/nds32.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/nds32.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* nds32.h -- Header file for nds32 opcode table
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This program is free software; you can redistribute it and/or modify
@@ -29,6 +29,7 @@
 #define REG_R16		16
 #define REG_R20		20
 #define REG_TA		15
+#define REG_TP          27
 #define REG_FP		28
 #define REG_GP		29
 #define REG_LP		30
@@ -358,12 +359,13 @@ enum n32_opcodes
   N32_ALU2_SUB_SC,
   N32_ALU2_ADD_WC,
   N32_ALU2_SUB_WC,
-  N32_ALU2_0x14,
+  N32_ALU2_KMxy,
   N32_ALU2_0x15,
   N32_ALU2_0x16,
   N32_ALU2_FFZMISM,
-  N32_ALU2_QADD = 0x18,
-  N32_ALU2_QSUB,
+  N32_ALU2_KADD = 0x18,
+  N32_ALU2_KSUB,
+  N32_ALU2_KSLRA,
   N32_ALU2_MFUSR = 0x20,
   N32_ALU2_MTUSR,
   N32_ALU2_0x22,
@@ -459,7 +461,7 @@ enum n32_opcodes
   N32_MISC_TLBOP,
   N32_MISC_0xf,
 
-  /* bit[0;4] */
+  /* bit[0:4] */
   N32_SIMD_PBSAD = 0,
   N32_SIMD_PBSADA = 1,
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/nios2.h ./include/opcode/nios2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/nios2.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/nios2.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Nios II opcode list for GAS, the GNU assembler.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Nigel Gray (ngray@altera.com).
    Contributed by Mentor Graphics, Inc.
 
@@ -31,6 +31,15 @@
  * access various opcode fields.
  ****************************************************************************/
 
+/* Instruction encoding formats.  */
+enum iw_format_type {
+  /* R1 formats */
+  iw_i_type,
+  iw_r_type,
+  iw_j_type,
+  iw_custom_type
+};
+
 /* Identify different overflow situations for error messages.  */
 enum overflow_type
 {
@@ -56,12 +65,14 @@ enum overflow_type
      u - a 16-bit unsigned immediate
      o - a 16-bit signed program counter relative offset
      j - a 5-bit unsigned immediate
-     b - a 5-bit break instruction constant
      l - a 8-bit custom instruction constant
      m - a 26-bit unsigned immediate
    Literal ',', '(', and ')' characters may also appear in the args as
    delimiters.
 
+   Note that the args describe the semantics and assembly-language syntax
+   of the operands, not their encoding into the instruction word.
+
    The pinfo field is INSN_MACRO for a macro.  Otherwise, it is a collection
    of bits describing the instruction, notably any relevant hazard
    information.
@@ -84,6 +95,8 @@ struct nios2_opcode
 				   the expected opcode.  */
   unsigned long num_args;	/* The number of arguments the instruction 
 				   takes.  */
+  unsigned size;		/* Size in bytes of the instruction.  */
+  enum iw_format_type format;	/* Instruction format.  */
   unsigned long match;		/* The basic opcode for the instruction.  */
   unsigned long mask;		/* Mask for the opcode field of the 
 				   instruction.  */
@@ -107,403 +120,28 @@ struct nios2_opcode
 #define NIOS2_INSN_CBRANCH	0x00000020
 #define NIOS2_INSN_CALL		0x00000040
 
-#define NIOS2_INSN_ADDI		0x00000080
-#define NIOS2_INSN_ANDI		0x00000100
-#define NIOS2_INSN_ORI		0x00000200
-#define NIOS2_INSN_XORI		0x00000400
+#define NIOS2_INSN_OPTARG	0x00000080
 
+/* Register attributes.  */
+#define REG_NORMAL	(1<<0)	/* Normal registers.  */
+#define REG_CONTROL	(1<<1)  /* Control registers.  */
+#define REG_COPROCESSOR	(1<<2)  /* For custom instructions.  */
 
-/* Associates a register name ($6) with a 5-bit index (eg 6).  */
 struct nios2_reg
 {
   const char *name;
   const int index;
+  unsigned long regtype;
 };
 
+/* Pull in the instruction field accessors, opcodes, and masks.  */
+#include "nios2r1.h"
 
-/* These are bit masks and shift counts for accessing the various
-   fields of a Nios II instruction.  */
-
-/* Macros for getting and setting an instruction field.  */
-#define GET_INSN_FIELD(X, i) \
-  (((i) & OP_MASK_##X) >> OP_SH_##X)
-#define SET_INSN_FIELD(X, i, j) \
-  ((i) = (((i) & ~OP_MASK_##X) | (((j) << OP_SH_##X) & OP_MASK_##X)))
-
-/* Instruction field definitions.  */
-#define IW_A_LSB 27
-#define IW_A_MSB 31
-#define IW_A_SZ 5
-#define IW_A_MASK 0x1f
-
-#define IW_B_LSB 22
-#define IW_B_MSB 26
-#define IW_B_SZ 5
-#define IW_B_MASK 0x1f
-
-#define IW_C_LSB 17
-#define IW_C_MSB 21
-#define IW_C_SZ 5
-#define IW_C_MASK 0x1f
-
-#define IW_IMM16_LSB 6
-#define IW_IMM16_MSB 21
-#define IW_IMM16_SZ 16
-#define IW_IMM16_MASK 0xffff
-
-#define IW_IMM26_LSB 6
-#define IW_IMM26_MSB 31
-#define IW_IMM26_SZ 26
-#define IW_IMM26_MASK 0x3ffffff
-
-#define IW_OP_LSB 0
-#define IW_OP_MSB 5
-#define IW_OP_SZ 6
-#define IW_OP_MASK 0x3f
-
-#define IW_OPX_LSB 11
-#define IW_OPX_MSB 16
-#define IW_OPX_SZ 6
-#define IW_OPX_MASK 0x3f
-
-#define IW_SHIFT_IMM5_LSB 6
-#define IW_SHIFT_IMM5_MSB 10
-#define IW_SHIFT_IMM5_SZ 5
-#define IW_SHIFT_IMM5_MASK 0x1f
-
-#define IW_CONTROL_REGNUM_LSB 6
-#define IW_CONTROL_REGNUM_MSB 9
-#define IW_CONTROL_REGNUM_SZ 4
-#define IW_CONTROL_REGNUM_MASK 0xf
-
-/* Operator mask and shift.  */
-#define OP_MASK_OP		(IW_OP_MASK << IW_OP_LSB)
-#define OP_SH_OP		IW_OP_LSB
-
-/* Masks and shifts for I-type instructions.  */
-#define OP_MASK_IOP		(IW_OP_MASK << IW_OP_LSB)
-#define OP_SH_IOP		IW_OP_LSB
-
-#define OP_MASK_IMM16		(IW_IMM16_MASK << IW_IMM16_LSB)
-#define OP_SH_IMM16		IW_IMM16_LSB
-
-#define OP_MASK_IRD		(IW_B_MASK << IW_B_LSB)
-#define OP_SH_IRD		IW_B_LSB /* The same as T for I-type.  */
-
-#define OP_MASK_IRT		(IW_B_MASK << IW_B_LSB)
-#define OP_SH_IRT		IW_B_LSB
-
-#define OP_MASK_IRS		(IW_A_MASK << IW_A_LSB)
-#define OP_SH_IRS		IW_A_LSB
-
-/* Masks and shifts for R-type instructions.  */
-#define OP_MASK_ROP		(IW_OP_MASK << IW_OP_LSB)
-#define OP_SH_ROP		IW_OP_LSB
-
-#define OP_MASK_ROPX		(IW_OPX_MASK << IW_OPX_LSB)
-#define OP_SH_ROPX		IW_OPX_LSB
-
-#define OP_MASK_RRD		(IW_C_MASK << IW_C_LSB)
-#define OP_SH_RRD		IW_C_LSB
-
-#define OP_MASK_RRT		(IW_B_MASK << IW_B_LSB)
-#define OP_SH_RRT		IW_B_LSB
-
-#define OP_MASK_RRS		(IW_A_MASK << IW_A_LSB)
-#define OP_SH_RRS		IW_A_LSB
-
-/* Masks and shifts for J-type instructions.  */
-#define OP_MASK_JOP		(IW_OP_MASK << IW_OP_LSB)
-#define OP_SH_JOP		IW_OP_LSB
-
-#define OP_MASK_IMM26		(IW_IMM26_MASK << IW_IMM26_LSB)
-#define OP_SH_IMM26		IW_IMM26_LSB
-
-/* Masks and shifts for CTL instructions.  */
-#define OP_MASK_RCTL	0x000007c0
-#define OP_SH_RCTL	6
-
-/* Break instruction imm5 field.  */
-#define OP_MASK_TRAP_IMM5 0x000007c0
-#define OP_SH_TRAP_IMM5	  6
-
-/* Instruction imm5 field.  */
-#define OP_MASK_IMM5		(IW_SHIFT_IMM5_MASK << IW_SHIFT_IMM5_LSB)
-#define OP_SH_IMM5		IW_SHIFT_IMM5_LSB
-
-/* Cache operation fields (type j,i(s)).  */
-#define OP_MASK_CACHE_OPX	(IW_B_MASK << IW_B_LSB)
-#define OP_SH_CACHE_OPX		IW_B_LSB
-#define OP_MASK_CACHE_RRS	(IW_A_MASK << IW_A_LSB)
-#define OP_SH_CACHE_RRS		IW_A_LSB
-
-/* Custom instruction masks.  */
-#define OP_MASK_CUSTOM_A	0x00010000
-#define OP_SH_CUSTOM_A		16
-
-#define OP_MASK_CUSTOM_B	0x00008000
-#define OP_SH_CUSTOM_B		15
-
-#define OP_MASK_CUSTOM_C	0x00004000
-#define OP_SH_CUSTOM_C		14
-
-#define OP_MASK_CUSTOM_N	0x00003fc0
-#define OP_SH_CUSTOM_N		6
-#define OP_MAX_CUSTOM_N		255
-
-/* OP instruction values. */
-#define OP_ADDI 4
-#define OP_ANDHI 44
-#define OP_ANDI 12
-#define OP_BEQ 38
-#define OP_BGE 14
-#define OP_BGEU 46
-#define OP_BLT 22
-#define OP_BLTU 54
-#define OP_BNE 30
-#define OP_BR 6
-#define OP_CALL 0
-#define OP_CMPEQI 32
-#define OP_CMPGEI 8
-#define OP_CMPGEUI 40
-#define OP_CMPLTI 16
-#define OP_CMPLTUI 48
-#define OP_CMPNEI 24
-#define OP_CUSTOM 50
-#define OP_FLUSHD 59
-#define OP_FLUSHDA 27
-#define OP_INITD 51
-#define OP_INITDA 19
-#define OP_JMPI 1
-#define OP_LDB 7
-#define OP_LDBIO 39
-#define OP_LDBU 3
-#define OP_LDBUIO 35
-#define OP_LDH 15
-#define OP_LDHIO 47
-#define OP_LDHU 11
-#define OP_LDHUIO 43
-#define OP_LDL 31
-#define OP_LDW 23
-#define OP_LDWIO 55
-#define OP_MULI 36
-#define OP_OPX 58
-#define OP_ORHI 52
-#define OP_ORI 20
-#define OP_RDPRS 56
-#define OP_STB 5
-#define OP_STBIO 37
-#define OP_STC 29
-#define OP_STH 13
-#define OP_STHIO 45
-#define OP_STW 21
-#define OP_STWIO 53
-#define OP_XORHI 60
-#define OP_XORI 28
-
-/* OPX instruction values.  */
-#define OPX_ADD 49
-#define OPX_AND 14
-#define OPX_BREAK 52
-#define OPX_BRET 9
-#define OPX_CALLR 29
-#define OPX_CMPEQ 32
-#define OPX_CMPGE 8
-#define OPX_CMPGEU 40
-#define OPX_CMPLT 16
-#define OPX_CMPLTU 48
-#define OPX_CMPNE 24
-#define OPX_CRST 62
-#define OPX_DIV 37
-#define OPX_DIVU 36
-#define OPX_ERET 1
-#define OPX_FLUSHI 12
-#define OPX_FLUSHP 4
-#define OPX_HBREAK 53
-#define OPX_INITI 41
-#define OPX_INTR 61
-#define OPX_JMP 13
-#define OPX_MUL 39
-#define OPX_MULXSS 31
-#define OPX_MULXSU 23
-#define OPX_MULXUU 7
-#define OPX_NEXTPC 28
-#define OPX_NOR 6
-#define OPX_OR 22
-#define OPX_RDCTL 38
-#define OPX_RET 5
-#define OPX_ROL 3
-#define OPX_ROLI 2
-#define OPX_ROR 11
-#define OPX_SLL 19
-#define OPX_SLLI 18
-#define OPX_SRA 59
-#define OPX_SRAI 58
-#define OPX_SRL 27
-#define OPX_SRLI 26
-#define OPX_SUB 57
-#define OPX_SYNC 54
-#define OPX_TRAP 45
-#define OPX_WRCTL 46
-#define OPX_WRPRS 20
-#define OPX_XOR 30
-
-/* The following macros define the opcode matches for each
-   instruction code & OP_MASK_INST == OP_MATCH_INST.  */
-
-/* OP instruction matches.  */
-#define OP_MATCH_ADDI		OP_ADDI
-#define OP_MATCH_ANDHI		OP_ANDHI
-#define OP_MATCH_ANDI		OP_ANDI
-#define OP_MATCH_BEQ		OP_BEQ
-#define OP_MATCH_BGE		OP_BGE
-#define OP_MATCH_BGEU		OP_BGEU
-#define OP_MATCH_BLT		OP_BLT
-#define OP_MATCH_BLTU		OP_BLTU
-#define OP_MATCH_BNE		OP_BNE
-#define OP_MATCH_BR		OP_BR
-#define OP_MATCH_FLUSHD		OP_FLUSHD
-#define OP_MATCH_FLUSHDA	OP_FLUSHDA
-#define OP_MATCH_INITD		OP_INITD
-#define OP_MATCH_INITDA		OP_INITDA
-#define OP_MATCH_CALL		OP_CALL
-#define OP_MATCH_CMPEQI		OP_CMPEQI
-#define OP_MATCH_CMPGEI		OP_CMPGEI
-#define OP_MATCH_CMPGEUI	OP_CMPGEUI
-#define OP_MATCH_CMPLTI		OP_CMPLTI
-#define OP_MATCH_CMPLTUI	OP_CMPLTUI
-#define OP_MATCH_CMPNEI		OP_CMPNEI
-#define OP_MATCH_JMPI		OP_JMPI
-#define OP_MATCH_LDB		OP_LDB
-#define OP_MATCH_LDBIO		OP_LDBIO
-#define OP_MATCH_LDBU		OP_LDBU
-#define OP_MATCH_LDBUIO		OP_LDBUIO
-#define OP_MATCH_LDH		OP_LDH
-#define OP_MATCH_LDHIO		OP_LDHIO
-#define OP_MATCH_LDHU		OP_LDHU
-#define OP_MATCH_LDHUIO		OP_LDHUIO
-#define OP_MATCH_LDL		OP_LDL
-#define OP_MATCH_LDW		OP_LDW
-#define OP_MATCH_LDWIO		OP_LDWIO
-#define OP_MATCH_MULI		OP_MULI
-#define OP_MATCH_OPX		OP_OPX
-#define OP_MATCH_ORHI		OP_ORHI
-#define OP_MATCH_ORI		OP_ORI
-#define OP_MATCH_RDPRS		OP_RDPRS
-#define OP_MATCH_STB		OP_STB
-#define OP_MATCH_STBIO		OP_STBIO
-#define OP_MATCH_STC		OP_STC
-#define OP_MATCH_STH		OP_STH
-#define OP_MATCH_STHIO		OP_STHIO
-#define OP_MATCH_STW		OP_STW
-#define OP_MATCH_STWIO		OP_STWIO
-#define OP_MATCH_CUSTOM		OP_CUSTOM
-#define OP_MATCH_XORHI		OP_XORHI
-#define OP_MATCH_XORI		OP_XORI
-#define OP_MATCH_OPX		OP_OPX
-
-/* OPX instruction values.  */
-#define OPX_MATCH(code) ((code << IW_OPX_LSB) | OP_OPX)
-
-#define OP_MATCH_ADD		OPX_MATCH (OPX_ADD)
-#define OP_MATCH_AND		OPX_MATCH (OPX_AND)
-#define OP_MATCH_BREAK		((0x1e << 17) | OPX_MATCH (OPX_BREAK))
-#define OP_MATCH_BRET		(0xf0000000 | OPX_MATCH (OPX_BRET))
-#define OP_MATCH_CALLR		((0x1f << 17) | OPX_MATCH (OPX_CALLR))
-#define OP_MATCH_CMPEQ		OPX_MATCH (OPX_CMPEQ)
-#define OP_MATCH_CMPGE		OPX_MATCH (OPX_CMPGE)
-#define OP_MATCH_CMPGEU		OPX_MATCH (OPX_CMPGEU)
-#define OP_MATCH_CMPLT		OPX_MATCH (OPX_CMPLT)
-#define OP_MATCH_CMPLTU		OPX_MATCH (OPX_CMPLTU)
-#define OP_MATCH_CMPNE		OPX_MATCH (OPX_CMPNE)
-#define OP_MATCH_DIV		OPX_MATCH (OPX_DIV)
-#define OP_MATCH_DIVU		OPX_MATCH (OPX_DIVU)
-#define OP_MATCH_JMP		OPX_MATCH (OPX_JMP)
-#define OP_MATCH_MUL		OPX_MATCH (OPX_MUL)
-#define OP_MATCH_MULXSS		OPX_MATCH (OPX_MULXSS)
-#define OP_MATCH_MULXSU		OPX_MATCH (OPX_MULXSU)
-#define OP_MATCH_MULXUU		OPX_MATCH (OPX_MULXUU)
-#define OP_MATCH_NEXTPC		OPX_MATCH (OPX_NEXTPC)
-#define OP_MATCH_NOR		OPX_MATCH (OPX_NOR)
-#define OP_MATCH_OR		OPX_MATCH (OPX_OR)
-#define OP_MATCH_RDCTL		OPX_MATCH (OPX_RDCTL)
-#define OP_MATCH_RET		(0xf8000000 | OPX_MATCH (OPX_RET))
-#define OP_MATCH_ROL		OPX_MATCH (OPX_ROL)
-#define OP_MATCH_ROLI		OPX_MATCH (OPX_ROLI)
-#define OP_MATCH_ROR		OPX_MATCH (OPX_ROR)
-#define OP_MATCH_SLL		OPX_MATCH (OPX_SLL)
-#define OP_MATCH_SLLI		OPX_MATCH (OPX_SLLI)
-#define OP_MATCH_SRA		OPX_MATCH (OPX_SRA)
-#define OP_MATCH_SRAI		OPX_MATCH (OPX_SRAI)
-#define OP_MATCH_SRL		OPX_MATCH (OPX_SRL)
-#define OP_MATCH_SRLI		OPX_MATCH (OPX_SRLI)
-#define OP_MATCH_SUB		OPX_MATCH (OPX_SUB)
-#define OP_MATCH_SYNC		OPX_MATCH (OPX_SYNC)
-#define OP_MATCH_TRAP		((0x1d << 17) | OPX_MATCH (OPX_TRAP))
-#define OP_MATCH_ERET		(0xef800000 | OPX_MATCH (OPX_ERET))
-#define OP_MATCH_WRCTL		OPX_MATCH (OPX_WRCTL)
-#define OP_MATCH_WRPRS		OPX_MATCH (OPX_WRPRS)
-#define OP_MATCH_XOR		OPX_MATCH (OPX_XOR)
-#define OP_MATCH_FLUSHI		OPX_MATCH (OPX_FLUSHI)
-#define OP_MATCH_FLUSHP		OPX_MATCH (OPX_FLUSHP)
-#define OP_MATCH_INITI		OPX_MATCH (OPX_INITI)
-
-/* Some unusual op masks.  */
-#define OP_MASK_BREAK		((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_RRD \
-				  | OP_MASK_ROPX | OP_MASK_OP) \
-				 & 0xfffff03f)
-#define OP_MASK_CALLR		((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \
-				  | OP_MASK_OP))
-#define OP_MASK_JMP		((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \
-				  | OP_MASK_OP))
-#define OP_MASK_SYNC		((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \
-				  | OP_MASK_OP))
-#define OP_MASK_TRAP		((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_RRD \
-				  | OP_MASK_ROPX | OP_MASK_OP) \
-				 & 0xfffff83f)
-#define OP_MASK_WRCTL		((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \
-				  | OP_MASK_OP))	/*& 0xfffff83f */
-#define OP_MASK_NEXTPC		((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_ROPX \
-				  | OP_MASK_OP))
-#define OP_MASK_FLUSHI		((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \
-				  | OP_MASK_OP))
-#define OP_MASK_INITI		((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \
-				  | OP_MASK_OP))
-
-#define OP_MASK_ROLI		((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP))
-#define OP_MASK_SLLI		((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP))
-#define OP_MASK_SRAI		((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP))
-#define OP_MASK_SRLI		((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP))
-#define OP_MASK_RDCTL		((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_ROPX \
-				  | OP_MASK_OP))	/*& 0xfffff83f */
-
-#ifndef OP_MASK
-#define OP_MASK				0xffffffff
-#endif
-
-/* These convenience macros to extract instruction fields are used by GDB.  */
-#define GET_IW_A(Iw) \
-    (((Iw) >> IW_A_LSB) & IW_A_MASK)
-#define GET_IW_B(Iw) \
-    (((Iw) >> IW_B_LSB) & IW_B_MASK)
-#define GET_IW_C(Iw) \
-    (((Iw) >> IW_C_LSB) & IW_C_MASK)
-#define GET_IW_CONTROL_REGNUM(Iw) \
-    (((Iw) >> IW_CONTROL_REGNUM_LSB) & IW_CONTROL_REGNUM_MASK)
-#define GET_IW_IMM16(Iw) \
-    (((Iw) >> IW_IMM16_LSB) & IW_IMM16_MASK)
-#define GET_IW_IMM26(Iw) \
-    (((Iw) >> IW_IMM26_LSB) & IW_IMM26_MASK)
-#define GET_IW_OP(Iw) \
-    (((Iw) >> IW_OP_LSB) & IW_OP_MASK)
-#define GET_IW_OPX(Iw) \
-    (((Iw) >> IW_OPX_LSB) & IW_OPX_MASK)
-
-/* These are the data structures we use to hold the instruction information.  */
-extern const struct nios2_opcode nios2_builtin_opcodes[];
-extern const int bfd_nios2_num_builtin_opcodes;
+/* These are the data structures used to hold the instruction information.  */
+extern const struct nios2_opcode nios2_r1_opcodes[];
+extern const int nios2_num_r1_opcodes;
 extern struct nios2_opcode *nios2_opcodes;
-extern int bfd_nios2_num_opcodes;
+extern int nios2_num_opcodes;
 
 /* These are the data structures used to hold the register information.  */
 extern const struct nios2_reg nios2_builtin_regs[];
@@ -511,12 +149,8 @@ extern struct nios2_reg *nios2_regs;
 extern const int nios2_num_builtin_regs;
 extern int nios2_num_regs;
 
-/* Machine-independent macro for number of opcodes.  */
-#define NUMOPCODES bfd_nios2_num_opcodes
-#define NUMREGISTERS nios2_num_regs;
-
-/* This is made extern so that the assembler can use it to find out
-   what instruction caused an error.  */
-extern const struct nios2_opcode *nios2_find_opcode_hash (unsigned long);
+/* Return the opcode descriptor for a single instruction.  */
+extern const struct nios2_opcode *
+nios2_find_opcode_hash (unsigned long, unsigned long);
 
 #endif /* _NIOS2_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/nios2r1.h ./include/opcode/nios2r1.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/nios2r1.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/opcode/nios2r1.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,474 @@
+/* Nios II R1 opcode list for GAS, the GNU assembler.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
+   Contributed by Mentor Graphics, Inc.
+
+   This file is part of GAS, the GNU Assembler, and GDB, the GNU disassembler.
+
+   GAS/GDB is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   GAS/GDB is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with GAS or GDB; see the file COPYING3.  If not, write to
+   the Free Software Foundation, 51 Franklin Street - Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+#ifndef _NIOS2R1_H_
+#define _NIOS2R1_H_
+
+/* R1 fields.  */
+#define IW_R1_OP_LSB 0 
+#define IW_R1_OP_SIZE 6 
+#define IW_R1_OP_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R1_OP_SIZE)) 
+#define IW_R1_OP_SHIFTED_MASK (IW_R1_OP_UNSHIFTED_MASK << IW_R1_OP_LSB) 
+#define GET_IW_R1_OP(W) (((W) >> IW_R1_OP_LSB) & IW_R1_OP_UNSHIFTED_MASK) 
+#define SET_IW_R1_OP(V) (((V) & IW_R1_OP_UNSHIFTED_MASK) << IW_R1_OP_LSB) 
+
+#define IW_I_A_LSB 27 
+#define IW_I_A_SIZE 5 
+#define IW_I_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_I_A_SIZE)) 
+#define IW_I_A_SHIFTED_MASK (IW_I_A_UNSHIFTED_MASK << IW_I_A_LSB) 
+#define GET_IW_I_A(W) (((W) >> IW_I_A_LSB) & IW_I_A_UNSHIFTED_MASK) 
+#define SET_IW_I_A(V) (((V) & IW_I_A_UNSHIFTED_MASK) << IW_I_A_LSB) 
+
+#define IW_I_B_LSB 22 
+#define IW_I_B_SIZE 5 
+#define IW_I_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_I_B_SIZE)) 
+#define IW_I_B_SHIFTED_MASK (IW_I_B_UNSHIFTED_MASK << IW_I_B_LSB) 
+#define GET_IW_I_B(W) (((W) >> IW_I_B_LSB) & IW_I_B_UNSHIFTED_MASK) 
+#define SET_IW_I_B(V) (((V) & IW_I_B_UNSHIFTED_MASK) << IW_I_B_LSB) 
+
+#define IW_I_IMM16_LSB 6 
+#define IW_I_IMM16_SIZE 16 
+#define IW_I_IMM16_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_I_IMM16_SIZE)) 
+#define IW_I_IMM16_SHIFTED_MASK (IW_I_IMM16_UNSHIFTED_MASK << IW_I_IMM16_LSB) 
+#define GET_IW_I_IMM16(W) (((W) >> IW_I_IMM16_LSB) & IW_I_IMM16_UNSHIFTED_MASK) 
+#define SET_IW_I_IMM16(V) (((V) & IW_I_IMM16_UNSHIFTED_MASK) << IW_I_IMM16_LSB) 
+
+#define IW_R_A_LSB 27 
+#define IW_R_A_SIZE 5 
+#define IW_R_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_A_SIZE)) 
+#define IW_R_A_SHIFTED_MASK (IW_R_A_UNSHIFTED_MASK << IW_R_A_LSB) 
+#define GET_IW_R_A(W) (((W) >> IW_R_A_LSB) & IW_R_A_UNSHIFTED_MASK) 
+#define SET_IW_R_A(V) (((V) & IW_R_A_UNSHIFTED_MASK) << IW_R_A_LSB) 
+
+#define IW_R_B_LSB 22 
+#define IW_R_B_SIZE 5 
+#define IW_R_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_B_SIZE)) 
+#define IW_R_B_SHIFTED_MASK (IW_R_B_UNSHIFTED_MASK << IW_R_B_LSB) 
+#define GET_IW_R_B(W) (((W) >> IW_R_B_LSB) & IW_R_B_UNSHIFTED_MASK) 
+#define SET_IW_R_B(V) (((V) & IW_R_B_UNSHIFTED_MASK) << IW_R_B_LSB) 
+
+#define IW_R_C_LSB 17 
+#define IW_R_C_SIZE 5 
+#define IW_R_C_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_C_SIZE)) 
+#define IW_R_C_SHIFTED_MASK (IW_R_C_UNSHIFTED_MASK << IW_R_C_LSB) 
+#define GET_IW_R_C(W) (((W) >> IW_R_C_LSB) & IW_R_C_UNSHIFTED_MASK) 
+#define SET_IW_R_C(V) (((V) & IW_R_C_UNSHIFTED_MASK) << IW_R_C_LSB) 
+
+#define IW_R_OPX_LSB 11 
+#define IW_R_OPX_SIZE 6 
+#define IW_R_OPX_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_OPX_SIZE)) 
+#define IW_R_OPX_SHIFTED_MASK (IW_R_OPX_UNSHIFTED_MASK << IW_R_OPX_LSB) 
+#define GET_IW_R_OPX(W) (((W) >> IW_R_OPX_LSB) & IW_R_OPX_UNSHIFTED_MASK) 
+#define SET_IW_R_OPX(V) (((V) & IW_R_OPX_UNSHIFTED_MASK) << IW_R_OPX_LSB) 
+
+#define IW_R_IMM5_LSB 6 
+#define IW_R_IMM5_SIZE 5 
+#define IW_R_IMM5_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_IMM5_SIZE)) 
+#define IW_R_IMM5_SHIFTED_MASK (IW_R_IMM5_UNSHIFTED_MASK << IW_R_IMM5_LSB) 
+#define GET_IW_R_IMM5(W) (((W) >> IW_R_IMM5_LSB) & IW_R_IMM5_UNSHIFTED_MASK) 
+#define SET_IW_R_IMM5(V) (((V) & IW_R_IMM5_UNSHIFTED_MASK) << IW_R_IMM5_LSB) 
+
+#define IW_J_IMM26_LSB 6 
+#define IW_J_IMM26_SIZE 26 
+#define IW_J_IMM26_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_J_IMM26_SIZE)) 
+#define IW_J_IMM26_SHIFTED_MASK (IW_J_IMM26_UNSHIFTED_MASK << IW_J_IMM26_LSB) 
+#define GET_IW_J_IMM26(W) (((W) >> IW_J_IMM26_LSB) & IW_J_IMM26_UNSHIFTED_MASK) 
+#define SET_IW_J_IMM26(V) (((V) & IW_J_IMM26_UNSHIFTED_MASK) << IW_J_IMM26_LSB) 
+
+#define IW_CUSTOM_A_LSB 27 
+#define IW_CUSTOM_A_SIZE 5 
+#define IW_CUSTOM_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_A_SIZE)) 
+#define IW_CUSTOM_A_SHIFTED_MASK (IW_CUSTOM_A_UNSHIFTED_MASK << IW_CUSTOM_A_LSB) 
+#define GET_IW_CUSTOM_A(W) (((W) >> IW_CUSTOM_A_LSB) & IW_CUSTOM_A_UNSHIFTED_MASK) 
+#define SET_IW_CUSTOM_A(V) (((V) & IW_CUSTOM_A_UNSHIFTED_MASK) << IW_CUSTOM_A_LSB) 
+
+#define IW_CUSTOM_B_LSB 22 
+#define IW_CUSTOM_B_SIZE 5 
+#define IW_CUSTOM_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_B_SIZE)) 
+#define IW_CUSTOM_B_SHIFTED_MASK (IW_CUSTOM_B_UNSHIFTED_MASK << IW_CUSTOM_B_LSB) 
+#define GET_IW_CUSTOM_B(W) (((W) >> IW_CUSTOM_B_LSB) & IW_CUSTOM_B_UNSHIFTED_MASK) 
+#define SET_IW_CUSTOM_B(V) (((V) & IW_CUSTOM_B_UNSHIFTED_MASK) << IW_CUSTOM_B_LSB) 
+
+#define IW_CUSTOM_C_LSB 17 
+#define IW_CUSTOM_C_SIZE 5 
+#define IW_CUSTOM_C_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_C_SIZE)) 
+#define IW_CUSTOM_C_SHIFTED_MASK (IW_CUSTOM_C_UNSHIFTED_MASK << IW_CUSTOM_C_LSB) 
+#define GET_IW_CUSTOM_C(W) (((W) >> IW_CUSTOM_C_LSB) & IW_CUSTOM_C_UNSHIFTED_MASK) 
+#define SET_IW_CUSTOM_C(V) (((V) & IW_CUSTOM_C_UNSHIFTED_MASK) << IW_CUSTOM_C_LSB) 
+
+#define IW_CUSTOM_READA_LSB 16 
+#define IW_CUSTOM_READA_SIZE 1 
+#define IW_CUSTOM_READA_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_READA_SIZE)) 
+#define IW_CUSTOM_READA_SHIFTED_MASK (IW_CUSTOM_READA_UNSHIFTED_MASK << IW_CUSTOM_READA_LSB) 
+#define GET_IW_CUSTOM_READA(W) (((W) >> IW_CUSTOM_READA_LSB) & IW_CUSTOM_READA_UNSHIFTED_MASK) 
+#define SET_IW_CUSTOM_READA(V) (((V) & IW_CUSTOM_READA_UNSHIFTED_MASK) << IW_CUSTOM_READA_LSB) 
+
+#define IW_CUSTOM_READB_LSB 15 
+#define IW_CUSTOM_READB_SIZE 1 
+#define IW_CUSTOM_READB_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_READB_SIZE)) 
+#define IW_CUSTOM_READB_SHIFTED_MASK (IW_CUSTOM_READB_UNSHIFTED_MASK << IW_CUSTOM_READB_LSB) 
+#define GET_IW_CUSTOM_READB(W) (((W) >> IW_CUSTOM_READB_LSB) & IW_CUSTOM_READB_UNSHIFTED_MASK) 
+#define SET_IW_CUSTOM_READB(V) (((V) & IW_CUSTOM_READB_UNSHIFTED_MASK) << IW_CUSTOM_READB_LSB) 
+
+#define IW_CUSTOM_READC_LSB 14 
+#define IW_CUSTOM_READC_SIZE 1 
+#define IW_CUSTOM_READC_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_READC_SIZE)) 
+#define IW_CUSTOM_READC_SHIFTED_MASK (IW_CUSTOM_READC_UNSHIFTED_MASK << IW_CUSTOM_READC_LSB) 
+#define GET_IW_CUSTOM_READC(W) (((W) >> IW_CUSTOM_READC_LSB) & IW_CUSTOM_READC_UNSHIFTED_MASK) 
+#define SET_IW_CUSTOM_READC(V) (((V) & IW_CUSTOM_READC_UNSHIFTED_MASK) << IW_CUSTOM_READC_LSB) 
+
+#define IW_CUSTOM_N_LSB 6 
+#define IW_CUSTOM_N_SIZE 8 
+#define IW_CUSTOM_N_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_N_SIZE)) 
+#define IW_CUSTOM_N_SHIFTED_MASK (IW_CUSTOM_N_UNSHIFTED_MASK << IW_CUSTOM_N_LSB) 
+#define GET_IW_CUSTOM_N(W) (((W) >> IW_CUSTOM_N_LSB) & IW_CUSTOM_N_UNSHIFTED_MASK) 
+#define SET_IW_CUSTOM_N(V) (((V) & IW_CUSTOM_N_UNSHIFTED_MASK) << IW_CUSTOM_N_LSB) 
+
+/* R1 opcodes.  */
+#define R1_OP_CALL 0
+#define R1_OP_JMPI 1
+#define R1_OP_LDBU 3
+#define R1_OP_ADDI 4
+#define R1_OP_STB 5
+#define R1_OP_BR 6
+#define R1_OP_LDB 7
+#define R1_OP_CMPGEI 8
+#define R1_OP_LDHU 11
+#define R1_OP_ANDI 12
+#define R1_OP_STH 13
+#define R1_OP_BGE 14
+#define R1_OP_LDH 15
+#define R1_OP_CMPLTI 16
+#define R1_OP_INITDA 19
+#define R1_OP_ORI 20
+#define R1_OP_STW 21
+#define R1_OP_BLT 22
+#define R1_OP_LDW 23
+#define R1_OP_CMPNEI 24
+#define R1_OP_FLUSHDA 27
+#define R1_OP_XORI 28
+#define R1_OP_BNE 30
+#define R1_OP_CMPEQI 32
+#define R1_OP_LDBUIO 35
+#define R1_OP_MULI 36
+#define R1_OP_STBIO 37
+#define R1_OP_BEQ 38
+#define R1_OP_LDBIO 39
+#define R1_OP_CMPGEUI 40
+#define R1_OP_LDHUIO 43
+#define R1_OP_ANDHI 44
+#define R1_OP_STHIO 45
+#define R1_OP_BGEU 46
+#define R1_OP_LDHIO 47
+#define R1_OP_CMPLTUI 48
+#define R1_OP_CUSTOM 50
+#define R1_OP_INITD 51
+#define R1_OP_ORHI 52
+#define R1_OP_STWIO 53
+#define R1_OP_BLTU 54
+#define R1_OP_LDWIO 55
+#define R1_OP_RDPRS 56
+#define R1_OP_OPX 58
+#define R1_OP_FLUSHD 59
+#define R1_OP_XORHI 60
+
+#define R1_OPX_ERET 1
+#define R1_OPX_ROLI 2
+#define R1_OPX_ROL 3
+#define R1_OPX_FLUSHP 4
+#define R1_OPX_RET 5
+#define R1_OPX_NOR 6
+#define R1_OPX_MULXUU 7
+#define R1_OPX_CMPGE 8
+#define R1_OPX_BRET 9
+#define R1_OPX_ROR 11
+#define R1_OPX_FLUSHI 12
+#define R1_OPX_JMP 13
+#define R1_OPX_AND 14
+#define R1_OPX_CMPLT 16
+#define R1_OPX_SLLI 18
+#define R1_OPX_SLL 19
+#define R1_OPX_WRPRS 20
+#define R1_OPX_OR 22
+#define R1_OPX_MULXSU 23
+#define R1_OPX_CMPNE 24
+#define R1_OPX_SRLI 26
+#define R1_OPX_SRL 27
+#define R1_OPX_NEXTPC 28
+#define R1_OPX_CALLR 29
+#define R1_OPX_XOR 30
+#define R1_OPX_MULXSS 31
+#define R1_OPX_CMPEQ 32
+#define R1_OPX_DIVU 36
+#define R1_OPX_DIV 37
+#define R1_OPX_RDCTL 38
+#define R1_OPX_MUL 39
+#define R1_OPX_CMPGEU 40
+#define R1_OPX_INITI 41
+#define R1_OPX_TRAP 45
+#define R1_OPX_WRCTL 46
+#define R1_OPX_CMPLTU 48
+#define R1_OPX_ADD 49
+#define R1_OPX_BREAK 52
+#define R1_OPX_SYNC 54
+#define R1_OPX_SUB 57
+#define R1_OPX_SRAI 58
+#define R1_OPX_SRA 59
+
+/* Some convenience macros for R1 encodings, for use in instruction tables.
+   MATCH_R1_OPX0(NAME) and MASK_R1_OPX0 are used for R-type instructions
+   with 3 register operands and constant 0 in the immediate field.
+   The general forms are MATCH_R1_OPX(NAME, A, B, C) where the arguments specify
+   constant values and MASK_R1_OPX(A, B, C, N) where the arguments are booleans
+   that are true if the field should be included in the mask.
+ */
+#define MATCH_R1_OP(NAME) \
+  (SET_IW_R1_OP (R1_OP_##NAME))
+#define MASK_R1_OP \
+  IW_R1_OP_SHIFTED_MASK
+
+#define MATCH_R1_OPX0(NAME) \
+  (SET_IW_R1_OP (R1_OP_OPX) | SET_IW_R_OPX (R1_OPX_##NAME))
+#define MASK_R1_OPX0 \
+  (IW_R1_OP_SHIFTED_MASK | IW_R_OPX_SHIFTED_MASK | IW_R_IMM5_SHIFTED_MASK)
+
+#define MATCH_R1_OPX(NAME, A, B, C)				\
+  (MATCH_R1_OPX0 (NAME) | SET_IW_R_A (A) | SET_IW_R_B (B) | SET_IW_R_C (C))
+#define MASK_R1_OPX(A, B, C, N)				\
+  (IW_R1_OP_SHIFTED_MASK | IW_R_OPX_SHIFTED_MASK	\
+   | (A ? IW_R_A_SHIFTED_MASK : 0)			\
+   | (B ? IW_R_B_SHIFTED_MASK : 0)			\
+   | (C ? IW_R_C_SHIFTED_MASK : 0)			\
+   | (N ? IW_R_IMM5_SHIFTED_MASK : 0))
+
+/* And here's the match/mask macros for the R1 instruction set.  */
+#define MATCH_R1_ADD	MATCH_R1_OPX0 (ADD)
+#define MASK_R1_ADD	MASK_R1_OPX0
+#define MATCH_R1_ADDI	MATCH_R1_OP (ADDI)
+#define MASK_R1_ADDI	MASK_R1_OP
+#define MATCH_R1_AND	MATCH_R1_OPX0 (AND)
+#define MASK_R1_AND	MASK_R1_OPX0
+#define MATCH_R1_ANDHI	MATCH_R1_OP (ANDHI)
+#define MASK_R1_ANDHI	MASK_R1_OP
+#define MATCH_R1_ANDI	MATCH_R1_OP (ANDI)
+#define MASK_R1_ANDI	MASK_R1_OP
+#define MATCH_R1_BEQ	MATCH_R1_OP (BEQ)
+#define MASK_R1_BEQ	MASK_R1_OP
+#define MATCH_R1_BGE	MATCH_R1_OP (BGE)
+#define MASK_R1_BGE	MASK_R1_OP
+#define MATCH_R1_BGEU	MATCH_R1_OP (BGEU)
+#define MASK_R1_BGEU	MASK_R1_OP
+#define MATCH_R1_BGT	MATCH_R1_OP (BLT)
+#define MASK_R1_BGT	MASK_R1_OP
+#define MATCH_R1_BGTU	MATCH_R1_OP (BLTU)
+#define MASK_R1_BGTU	MASK_R1_OP
+#define MATCH_R1_BLE	MATCH_R1_OP (BGE)
+#define MASK_R1_BLE	MASK_R1_OP
+#define MATCH_R1_BLEU	MATCH_R1_OP (BGEU)
+#define MASK_R1_BLEU	MASK_R1_OP
+#define MATCH_R1_BLT	MATCH_R1_OP (BLT)
+#define MASK_R1_BLT	MASK_R1_OP
+#define MATCH_R1_BLTU	MATCH_R1_OP (BLTU)
+#define MASK_R1_BLTU	MASK_R1_OP
+#define MATCH_R1_BNE	MATCH_R1_OP (BNE)
+#define MASK_R1_BNE	MASK_R1_OP
+#define MATCH_R1_BR	MATCH_R1_OP (BR)
+#define MASK_R1_BR	MASK_R1_OP | IW_I_A_SHIFTED_MASK | IW_I_B_SHIFTED_MASK
+#define MATCH_R1_BREAK	MATCH_R1_OPX (BREAK, 0, 0, 0x1e)
+#define MASK_R1_BREAK	MASK_R1_OPX (1, 1, 1, 0)
+#define MATCH_R1_BRET	MATCH_R1_OPX (BRET, 0x1e, 0, 0)
+#define MASK_R1_BRET	MASK_R1_OPX (1, 1, 1, 1)
+#define MATCH_R1_CALL	MATCH_R1_OP (CALL)
+#define MASK_R1_CALL	MASK_R1_OP
+#define MATCH_R1_CALLR	MATCH_R1_OPX (CALLR, 0, 0, 0x1f)
+#define MASK_R1_CALLR	MASK_R1_OPX (0, 1, 1, 1)
+#define MATCH_R1_CMPEQ	MATCH_R1_OPX0 (CMPEQ)
+#define MASK_R1_CMPEQ	MASK_R1_OPX0
+#define MATCH_R1_CMPEQI	MATCH_R1_OP (CMPEQI)
+#define MASK_R1_CMPEQI	MASK_R1_OP
+#define MATCH_R1_CMPGE	MATCH_R1_OPX0 (CMPGE)
+#define MASK_R1_CMPGE	MASK_R1_OPX0
+#define MATCH_R1_CMPGEI	MATCH_R1_OP (CMPGEI)
+#define MASK_R1_CMPGEI	MASK_R1_OP
+#define MATCH_R1_CMPGEU	MATCH_R1_OPX0 (CMPGEU)
+#define MASK_R1_CMPGEU	MASK_R1_OPX0
+#define MATCH_R1_CMPGEUI	MATCH_R1_OP (CMPGEUI)
+#define MASK_R1_CMPGEUI	MASK_R1_OP
+#define MATCH_R1_CMPGT	MATCH_R1_OPX0 (CMPLT)
+#define MASK_R1_CMPGT	MASK_R1_OPX0
+#define MATCH_R1_CMPGTI	MATCH_R1_OP (CMPGEI)
+#define MASK_R1_CMPGTI	MASK_R1_OP
+#define MATCH_R1_CMPGTU	MATCH_R1_OPX0 (CMPLTU)
+#define MASK_R1_CMPGTU	MASK_R1_OPX0
+#define MATCH_R1_CMPGTUI	MATCH_R1_OP (CMPGEUI)
+#define MASK_R1_CMPGTUI	MASK_R1_OP
+#define MATCH_R1_CMPLE	MATCH_R1_OPX0 (CMPGE)
+#define MASK_R1_CMPLE	MASK_R1_OPX0
+#define MATCH_R1_CMPLEI	MATCH_R1_OP (CMPLTI)
+#define MASK_R1_CMPLEI	MASK_R1_OP
+#define MATCH_R1_CMPLEU	MATCH_R1_OPX0 (CMPGEU)
+#define MASK_R1_CMPLEU	MASK_R1_OPX0
+#define MATCH_R1_CMPLEUI	MATCH_R1_OP (CMPLTUI)
+#define MASK_R1_CMPLEUI	MASK_R1_OP
+#define MATCH_R1_CMPLT	MATCH_R1_OPX0 (CMPLT)
+#define MASK_R1_CMPLT	MASK_R1_OPX0
+#define MATCH_R1_CMPLTI	MATCH_R1_OP (CMPLTI)
+#define MASK_R1_CMPLTI	MASK_R1_OP
+#define MATCH_R1_CMPLTU	MATCH_R1_OPX0 (CMPLTU)
+#define MASK_R1_CMPLTU	MASK_R1_OPX0
+#define MATCH_R1_CMPLTUI	MATCH_R1_OP (CMPLTUI)
+#define MASK_R1_CMPLTUI	MASK_R1_OP
+#define MATCH_R1_CMPNE	MATCH_R1_OPX0 (CMPNE)
+#define MASK_R1_CMPNE	MASK_R1_OPX0
+#define MATCH_R1_CMPNEI	MATCH_R1_OP (CMPNEI)
+#define MASK_R1_CMPNEI	MASK_R1_OP
+#define MATCH_R1_CUSTOM	MATCH_R1_OP (CUSTOM)
+#define MASK_R1_CUSTOM	MASK_R1_OP
+#define MATCH_R1_DIV	MATCH_R1_OPX0 (DIV)
+#define MASK_R1_DIV	MASK_R1_OPX0
+#define MATCH_R1_DIVU	MATCH_R1_OPX0 (DIVU)
+#define MASK_R1_DIVU	MASK_R1_OPX0
+#define MATCH_R1_ERET	MATCH_R1_OPX (ERET, 0x1d, 0x1e, 0)
+#define MASK_R1_ERET	MASK_R1_OPX (1, 1, 1, 1)
+#define MATCH_R1_FLUSHD	MATCH_R1_OP (FLUSHD) | SET_IW_I_B (0)
+#define MASK_R1_FLUSHD	MASK_R1_OP | IW_I_B_SHIFTED_MASK
+#define MATCH_R1_FLUSHDA	MATCH_R1_OP (FLUSHDA) | SET_IW_I_B (0)
+#define MASK_R1_FLUSHDA	MASK_R1_OP | IW_I_B_SHIFTED_MASK
+#define MATCH_R1_FLUSHI	MATCH_R1_OPX (FLUSHI, 0, 0, 0)
+#define MASK_R1_FLUSHI	MASK_R1_OPX (0, 1, 1, 1)
+#define MATCH_R1_FLUSHP	MATCH_R1_OPX (FLUSHP, 0, 0, 0)
+#define MASK_R1_FLUSHP	MASK_R1_OPX (1, 1, 1, 1)
+#define MATCH_R1_INITD	MATCH_R1_OP (INITD) | SET_IW_I_B (0)
+#define MASK_R1_INITD	MASK_R1_OP | IW_I_B_SHIFTED_MASK
+#define MATCH_R1_INITDA	MATCH_R1_OP (INITDA) | SET_IW_I_B (0)
+#define MASK_R1_INITDA	MASK_R1_OP | IW_I_B_SHIFTED_MASK
+#define MATCH_R1_INITI	MATCH_R1_OPX (INITI, 0, 0, 0)
+#define MASK_R1_INITI	MASK_R1_OPX (0, 1, 1, 1)
+#define MATCH_R1_JMP	MATCH_R1_OPX (JMP, 0, 0, 0)
+#define MASK_R1_JMP	MASK_R1_OPX (0, 1, 1, 1)
+#define MATCH_R1_JMPI	MATCH_R1_OP (JMPI)
+#define MASK_R1_JMPI	MASK_R1_OP
+#define MATCH_R1_LDB	MATCH_R1_OP (LDB)
+#define MASK_R1_LDB	MASK_R1_OP
+#define MATCH_R1_LDBIO	MATCH_R1_OP (LDBIO)
+#define MASK_R1_LDBIO	MASK_R1_OP
+#define MATCH_R1_LDBU	MATCH_R1_OP (LDBU)
+#define MASK_R1_LDBU	MASK_R1_OP
+#define MATCH_R1_LDBUIO	MATCH_R1_OP (LDBUIO)
+#define MASK_R1_LDBUIO	MASK_R1_OP
+#define MATCH_R1_LDH	MATCH_R1_OP (LDH)
+#define MASK_R1_LDH	MASK_R1_OP
+#define MATCH_R1_LDHIO	MATCH_R1_OP (LDHIO)
+#define MASK_R1_LDHIO	MASK_R1_OP
+#define MATCH_R1_LDHU	MATCH_R1_OP (LDHU)
+#define MASK_R1_LDHU	MASK_R1_OP
+#define MATCH_R1_LDHUIO	MATCH_R1_OP (LDHUIO)
+#define MASK_R1_LDHUIO	MASK_R1_OP
+#define MATCH_R1_LDW	MATCH_R1_OP (LDW)
+#define MASK_R1_LDW	MASK_R1_OP
+#define MATCH_R1_LDWIO	MATCH_R1_OP (LDWIO)
+#define MASK_R1_LDWIO	MASK_R1_OP
+#define MATCH_R1_MOV	MATCH_R1_OPX (ADD, 0, 0, 0)
+#define MASK_R1_MOV	MASK_R1_OPX (0, 1, 0, 1)
+#define MATCH_R1_MOVHI	MATCH_R1_OP (ORHI) | SET_IW_I_A (0)
+#define MASK_R1_MOVHI	MASK_R1_OP | IW_I_A_SHIFTED_MASK
+#define MATCH_R1_MOVI	MATCH_R1_OP (ADDI) | SET_IW_I_A (0)
+#define MASK_R1_MOVI	MASK_R1_OP | IW_I_A_SHIFTED_MASK
+#define MATCH_R1_MOVUI	MATCH_R1_OP (ORI) | SET_IW_I_A (0)
+#define MASK_R1_MOVUI	MASK_R1_OP | IW_I_A_SHIFTED_MASK
+#define MATCH_R1_MUL	MATCH_R1_OPX0 (MUL)
+#define MASK_R1_MUL	MASK_R1_OPX0
+#define MATCH_R1_MULI	MATCH_R1_OP (MULI)
+#define MASK_R1_MULI	MASK_R1_OP
+#define MATCH_R1_MULXSS	MATCH_R1_OPX0 (MULXSS)
+#define MASK_R1_MULXSS	MASK_R1_OPX0
+#define MATCH_R1_MULXSU	MATCH_R1_OPX0 (MULXSU)
+#define MASK_R1_MULXSU	MASK_R1_OPX0
+#define MATCH_R1_MULXUU	MATCH_R1_OPX0 (MULXUU)
+#define MASK_R1_MULXUU	MASK_R1_OPX0
+#define MATCH_R1_NEXTPC	MATCH_R1_OPX (NEXTPC, 0, 0, 0)
+#define MASK_R1_NEXTPC	MASK_R1_OPX (1, 1, 0, 1)
+#define MATCH_R1_NOP	MATCH_R1_OPX (ADD, 0, 0, 0)
+#define MASK_R1_NOP	MASK_R1_OPX (1, 1, 1, 1)
+#define MATCH_R1_NOR	MATCH_R1_OPX0 (NOR)
+#define MASK_R1_NOR	MASK_R1_OPX0
+#define MATCH_R1_OR	MATCH_R1_OPX0 (OR)
+#define MASK_R1_OR	MASK_R1_OPX0
+#define MATCH_R1_ORHI	MATCH_R1_OP (ORHI)
+#define MASK_R1_ORHI	MASK_R1_OP
+#define MATCH_R1_ORI	MATCH_R1_OP (ORI)
+#define MASK_R1_ORI	MASK_R1_OP
+#define MATCH_R1_RDCTL	MATCH_R1_OPX (RDCTL, 0, 0, 0)
+#define MASK_R1_RDCTL	MASK_R1_OPX (1, 1, 0, 0)
+#define MATCH_R1_RDPRS	MATCH_R1_OP (RDPRS)
+#define MASK_R1_RDPRS	MASK_R1_OP
+#define MATCH_R1_RET	MATCH_R1_OPX (RET, 0x1f, 0, 0)
+#define MASK_R1_RET	MASK_R1_OPX (1, 1, 1, 1)
+#define MATCH_R1_ROL	MATCH_R1_OPX0 (ROL)
+#define MASK_R1_ROL	MASK_R1_OPX0
+#define MATCH_R1_ROLI	MATCH_R1_OPX (ROLI, 0, 0, 0)
+#define MASK_R1_ROLI	MASK_R1_OPX (0, 1, 0, 0)
+#define MATCH_R1_ROR	MATCH_R1_OPX0 (ROR)
+#define MASK_R1_ROR	MASK_R1_OPX0
+#define MATCH_R1_SLL	MATCH_R1_OPX0 (SLL)
+#define MASK_R1_SLL	MASK_R1_OPX0
+#define MATCH_R1_SLLI	MATCH_R1_OPX (SLLI, 0, 0, 0)
+#define MASK_R1_SLLI	MASK_R1_OPX (0, 1, 0, 0)
+#define MATCH_R1_SRA	MATCH_R1_OPX0 (SRA)
+#define MASK_R1_SRA	MASK_R1_OPX0
+#define MATCH_R1_SRAI	MATCH_R1_OPX (SRAI, 0, 0, 0)
+#define MASK_R1_SRAI	MASK_R1_OPX (0, 1, 0, 0)
+#define MATCH_R1_SRL	MATCH_R1_OPX0 (SRL)
+#define MASK_R1_SRL	MASK_R1_OPX0
+#define MATCH_R1_SRLI	MATCH_R1_OPX (SRLI, 0, 0, 0)
+#define MASK_R1_SRLI	MASK_R1_OPX (0, 1, 0, 0)
+#define MATCH_R1_STB	MATCH_R1_OP (STB)
+#define MASK_R1_STB	MASK_R1_OP
+#define MATCH_R1_STBIO	MATCH_R1_OP (STBIO)
+#define MASK_R1_STBIO	MASK_R1_OP
+#define MATCH_R1_STH	MATCH_R1_OP (STH)
+#define MASK_R1_STH	MASK_R1_OP
+#define MATCH_R1_STHIO	MATCH_R1_OP (STHIO)
+#define MASK_R1_STHIO	MASK_R1_OP
+#define MATCH_R1_STW	MATCH_R1_OP (STW)
+#define MASK_R1_STW	MASK_R1_OP
+#define MATCH_R1_STWIO	MATCH_R1_OP (STWIO)
+#define MASK_R1_STWIO	MASK_R1_OP
+#define MATCH_R1_SUB	MATCH_R1_OPX0 (SUB)
+#define MASK_R1_SUB	MASK_R1_OPX0
+#define MATCH_R1_SUBI	MATCH_R1_OP (ADDI)
+#define MASK_R1_SUBI	MASK_R1_OP
+#define MATCH_R1_SYNC	MATCH_R1_OPX (SYNC, 0, 0, 0)
+#define MASK_R1_SYNC	MASK_R1_OPX (1, 1, 1, 1)
+#define MATCH_R1_TRAP	MATCH_R1_OPX (TRAP, 0, 0, 0x1d)
+#define MASK_R1_TRAP	MASK_R1_OPX (1, 1, 1, 0)
+#define MATCH_R1_WRCTL	MATCH_R1_OPX (WRCTL, 0, 0, 0)
+#define MASK_R1_WRCTL	MASK_R1_OPX (0, 1, 1, 0)
+#define MATCH_R1_WRPRS	MATCH_R1_OPX (WRPRS, 0, 0, 0)
+#define MASK_R1_WRPRS	MASK_R1_OPX (0, 1, 0, 1)
+#define MATCH_R1_XOR	MATCH_R1_OPX0 (XOR)
+#define MASK_R1_XOR	MASK_R1_OPX0
+#define MATCH_R1_XORHI	MATCH_R1_OP (XORHI)
+#define MASK_R1_XORHI	MASK_R1_OP
+#define MATCH_R1_XORI	MATCH_R1_OP (XORI)
+#define MASK_R1_XORI	MASK_R1_OP
+
+#endif /* _NIOS2R1_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/np1.h ./include/opcode/np1.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/np1.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/np1.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print GOULD NPL instructions for GDB, the GNU debugger.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/ns32k.h ./include/opcode/ns32k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/ns32k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/ns32k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ns32k-opcode.h -- Opcode table for National Semi 32k processor
-   Copyright (C) 1987-2014 Free Software Foundation, Inc.
+   Copyright (C) 1987-2015 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/pdp11.h ./include/opcode/pdp11.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/pdp11.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/pdp11.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* PDP-11 opcde list.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of GDB and GAS.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/pj.h ./include/opcode/pj.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/pj.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/pj.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions for decoding the picoJava opcode table.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Steve Chamberlain of Transmeta (sac@pobox.com).
 
    This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/pn.h ./include/opcode/pn.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/pn.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/pn.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print GOULD PN (PowerNode) instructions for GDB, the GNU debugger.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/ppc.h ./include/opcode/ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/ppc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/ppc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* ppc.h -- Header file for PowerPC opcode table
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/pyr.h ./include/opcode/pyr.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/pyr.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/pyr.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* pyramid.opcode.h -- gdb initial attempt.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/rl78.h ./include/opcode/rl78.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/rl78.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/rl78.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode decoder for the Renesas RL78
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Written by DJ Delorie <dj@redhat.com>
 
    This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/rx.h ./include/opcode/rx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/rx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/rx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode decoder for the Renesas RX
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Written by DJ Delorie <dj@redhat.com>
 
    This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/s390.h ./include/opcode/s390.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/s390.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/s390.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* s390.h -- Header file for S390 opcode table
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/score-datadep.h ./include/opcode/score-datadep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/score-datadep.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/score-datadep.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* score-datadep.h -- Score Instructions data dependency table
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Contributed by: 
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/score-inst.h ./include/opcode/score-inst.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/score-inst.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/score-inst.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* score-inst.h -- Score Instructions Table
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Contributed by: 
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/sparc.h ./include/opcode/sparc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/sparc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/sparc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions for opcode table for the sparc.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and
    the GNU Binutils.
@@ -100,6 +100,7 @@ typedef struct sparc_opcode
   /* This was called "delayed" in versions before the flags.  */
   unsigned int flags;
   unsigned int hwcaps;
+  unsigned int hwcaps2;
   short architecture;	/* Bitmask of sparc_opcode_arch_val's.  */
 } sparc_opcode;
 
@@ -115,7 +116,8 @@ typedef struct sparc_opcode
 
 #define F_PREF_ALIAS	(F_ALIAS|F_PREFERRED)
 
-/* These must match the HWCAP_* values precisely.  */
+/* These must match the ELF_SPARC_HWCAP_* and ELF_SPARC_HWCAP2_*
+   values precisely.  See include/elf/sparc.h.  */
 #define HWCAP_MUL32	0x00000001 /* umul/umulcc/smul/smulcc insns */
 #define HWCAP_DIV32	0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */
 #define HWCAP_FSMULD	0x00000004 /* 'fsmuld' insn */
@@ -148,6 +150,20 @@ typedef struct sparc_opcode
 #define HWCAP_CBCOND	0x10000000 /* Compare and Branch insns */
 #define HWCAP_CRC32C	0x20000000 /* CRC32C insn */
 
+#define HWCAP2_FJATHPLUS 0x00000001 /* Fujitsu Athena+ */
+#define HWCAP2_VIS3B     0x00000002 /* Subset of VIS3 present on sparc64 X+.  */
+#define HWCAP2_ADP       0x00000004 /* Application Data Protection */
+#define HWCAP2_SPARC5    0x00000008 /* The 29 new fp and sub instructions */
+#define HWCAP2_MWAIT     0x00000010 /* mwait instruction and load/monitor ASIs */
+#define HWCAP2_XMPMUL    0x00000020 /* XOR multiple precision multiply */
+#define HWCAP2_XMONT     0x00000040 /* XOR Montgomery mult/sqr instructions */
+#define HWCAP2_NSEC      \
+                         0x00000080 /* pause insn with support for nsec timings */
+#define HWCAP2_FJATHHPC  0x00001000 /* Fujitsu HPC instrs */
+#define HWCAP2_FJDES     0x00002000 /* Fujitsu DES instrs */
+#define HWCAP2_FJAES     0x00010000 /* Fujitsu AES instrs */
+
+
 /* All sparc opcodes are 32 bits, except for the `set' instruction (really a
    macro), which is 64 bits. It is handled as a special case.
 
@@ -173,6 +189,7 @@ typedef struct sparc_opcode
 	g	frsd floating point register.
 	H	frsd floating point register (double/even).
 	J	frsd floating point register (quad/multiple of 4).
+	}       frsd floating point register (double/even) that is == frs2
 	b	crs1 coprocessor register
 	c	crs2 coprocessor register
 	D	crsd coprocessor register
@@ -214,6 +231,7 @@ typedef struct sparc_opcode
 	s	%fprs. (v9)
 	P	%pc.  (v9)
 	W	%tick.	(v9)
+	{	%mcdper. (v9b)
 	o	%asi. (v9)
 	6	%fcc0. (v9)
 	7	%fcc1. (v9)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/spu.h ./include/opcode/spu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/spu.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/spu.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* SPU ELF support for BFD.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB, GAS, and the GNU binutils.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/spu-insns.h ./include/opcode/spu-insns.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/spu-insns.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/spu-insns.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* SPU ELF support for BFD.
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tahoe.h ./include/opcode/tahoe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tahoe.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tahoe.h	2015-01-20 02:05:39.000000000 +0000
@@ -2,7 +2,7 @@
  * Ported by the State University of New York at Buffalo by the Distributed
  * Computer Systems Lab, Department of Computer Science, 1991.
  */
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of GDB and BINUTILS.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic30.h ./include/opcode/tic30.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic30.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tic30.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* tic30.h -- Header file for TI TMS320C30 opcode table
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic4x.h ./include/opcode/tic4x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic4x.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tic4x.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Table of opcodes for the Texas Instruments TMS320C[34]X family.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
   
    Contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz)
    
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic54x.h ./include/opcode/tic54x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic54x.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tic54x.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* tic54x.h -- Header file for TI TMS320C54X opcode table
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Timothy Wall (twall@cygnus.com)
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic6x-control-registers.h ./include/opcode/tic6x-control-registers.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic6x-control-registers.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tic6x-control-registers.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* TI C6X control register information.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic6x.h ./include/opcode/tic6x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic6x.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tic6x.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* TI C6X opcode information.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic6x-insn-formats.h ./include/opcode/tic6x-insn-formats.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic6x-insn-formats.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tic6x-insn-formats.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* TI C6X instruction format information.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic6x-opcode-table.h ./include/opcode/tic6x-opcode-table.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic6x-opcode-table.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tic6x-opcode-table.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* TI C6X opcode table.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic80.h ./include/opcode/tic80.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tic80.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tic80.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* tic80.h -- Header file for TI TMS320C80 (MV) opcode table
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Fred Fish (fnf@cygnus.com), Cygnus Support
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tilegx.h ./include/opcode/tilegx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tilegx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tilegx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TILE-Gx opcode information.
  *
- *    Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ *    Copyright (C) 2011-2015 Free Software Foundation, Inc.
  *
  *    This program is free software; you can redistribute it and/or modify
  *    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tilepro.h ./include/opcode/tilepro.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/tilepro.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/tilepro.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* TILEPro opcode information.
  *
- *    Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ *    Copyright (C) 2011-2015 Free Software Foundation, Inc.
  *
  *    This program is free software; you can redistribute it and/or modify
  *    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/v850.h ./include/opcode/v850.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/v850.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/v850.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* v850.h -- Header file for NEC V850 opcode table
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by J.T. Conklin, Cygnus Support
 
    This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/vax.h ./include/opcode/vax.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/vax.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/vax.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Vax opcde list.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of GDB and GAS.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/visium.h ./include/opcode/visium.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/visium.h	1970-01-01 00:00:00.000000000 +0000
+++ ./include/opcode/visium.h	2015-01-20 02:05:39.000000000 +0000
@@ -0,0 +1,337 @@
+/* Opcode table header for Visium.
+
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
+
+   This file is part of GDB, GAS, and GNU binutils.
+
+   GDB, GAS and the GNU binutils are free software; you can redistribute
+   them and/or modify them under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either version 3,
+   or (at your option) any later version.
+
+   GDB, GAS, and the GNU binutils are distributed in the hope that they
+   will be useful, but WITHOUT ANY WARRANTY; without even the implied
+   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
+   the GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this file; see the file COPYING3.  If not, write to the Free
+   Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+enum visium_opcode_arch_val
+{
+  VISIUM_OPCODE_ARCH_DEF = 0,
+  VISIUM_OPCODE_ARCH_GR5,
+  VISIUM_OPCODE_ARCH_GR6,
+  VISIUM_OPCODE_ARCH_BAD
+};
+
+/* The highest architecture in the table.  */
+#define VISIUM_OPCODE_ARCH_MAX (VISIUM_OPCODE_ARCH_BAD - 1)
+
+/* Given an enum visium_opcode_arch_val, return the bitmask to use in
+   insn encoding/decoding.  */
+#define VISIUM_OPCODE_ARCH_MASK(arch) (1 << (arch))
+
+/* Some defines to make life easy.  */
+#define MASK_DEF VISIUM_OPCODE_ARCH_MASK (VISIUM_OPCODE_ARCH_DEF)
+#define MASK_GR5 VISIUM_OPCODE_ARCH_MASK (VISIUM_OPCODE_ARCH_GR5)
+#define MASK_GR6 VISIUM_OPCODE_ARCH_MASK (VISIUM_OPCODE_ARCH_GR6)
+
+/* Bit masks of architectures supporting the insn.  */
+#define def (MASK_DEF | MASK_GR5 | MASK_GR6)
+#define gr5 (MASK_GR5 | MASK_GR6)
+#define gr6 (MASK_GR6)
+
+/* The condition code field is not used (zero) for most instructions.
+   BRR and BRA make normal use of it. Floating point instructions use
+   it as a sub-opcode.  */
+#define CC_MASK (0xf << 27)
+
+/* It seems a shame not to use these bits in a class 0 instruction,
+   since they could be used to extend the range of the branch.  */
+#define CLASS0_UNUSED_MASK (0x1f << 16)
+
+/* For class 1 instructions the following bit is unused.  */
+#define CLASS1_UNUSED_MASK (1 << 9)
+
+/* For class 1 instructions this field gives the index for a write
+   instruction, the specific operation for an EAM instruction, or
+   the floating point destination register for a floating point
+   instruction.  */
+#define CLASS1_INDEX_MASK (0x1f << 10)
+
+/* For class 3 instructions the following field gives the destination
+   general register.  */
+#define CLASS3_DEST_MASK (0x1f << 10)
+
+/* For class 1 and class 3 instructions the following bit selects an
+   EAM write/read rather than a memory write/read.  */
+#define EAM_SELECT_MASK (1 << 15)
+
+/* Floating point instructions are distinguished from general EAM
+   instructions by the following bit.  */
+#define FP_SELECT_MASK (1 << 3)
+
+/* For both class 1 and class 3 the following fields give, where
+   appropriate the srcA and srcB registers whether floating point
+   or general.  */
+#define SRCA_MASK (0x1f << 16)
+#define SRCB_MASK (0x1f << 4)
+
+/* The class 3 interrupt bit. It turns a BRA into a SYS1, and an
+   RFLAG into a SYS2. This bit should not be set in the user's
+   class 3 instructions. This bit is also used in class 3
+   to distinguish between floating point and other EAM operations.
+   (see FP_SELECT_MASK).  */
+#define CLASS3_INT (1 << 3)
+
+/* Class 3 shift instructions use this bit to indicate that the
+   srcB field is a 5 bit immediate shift count rather than a
+   register number.  */
+#define CLASS3_SOURCEB_IMMED (1 << 9)
+
+#define BMD 0x02630004
+#define BMI 0x82230004
+#define DSI 0x82800004
+#define ENI 0x02a00004
+#define RFI 0x82fe01d4
+
+struct reg_entry
+{
+  char *name;
+  unsigned char code;
+};
+
+const struct reg_entry gen_reg_table[] =
+{
+  {"fp", 0x16},
+  {"r0", 0x0},
+  {"r1", 0x1},
+  {"r10", 0xA},
+  {"r11", 0xB},
+  {"r12", 0xC},
+  {"r13", 0xD},
+  {"r14", 0xE},
+  {"r15", 0xF},
+  {"r16", 0x10},
+  {"r17", 0x11},
+  {"r18", 0x12},
+  {"r19", 0x13},
+  {"r2", 0x2},
+  {"r20", 0x14},
+  {"r21", 0x15},
+  {"r22", 0x16},
+  {"r23", 0x17},
+  {"r24", 0x18},
+  {"r25", 0x19},
+  {"r26", 0x1a},
+  {"r27", 0x1b},
+  {"r28", 0x1c},
+  {"r29", 0x1d},
+  {"r3", 0x3},
+  {"r30", 0x1e},
+  {"r31", 0x1f},
+  {"r4", 0x4},
+  {"r5", 0x5},
+  {"r6", 0x6},
+  {"r7", 0x7},
+  {"r8", 0x8},
+  {"r9", 0x9},
+  {"sp", 0x17},
+};
+
+const struct reg_entry fp_reg_table[] =
+{
+  {"f0", 0x0},
+  {"f1", 0x1},
+  {"f10", 0xa},
+  {"f11", 0xb},
+  {"f12", 0xc},
+  {"f13", 0xd},
+  {"f14", 0xe},
+  {"f15", 0xf},
+  {"f2", 0x2},
+  {"f3", 0x3},
+  {"f4", 0x4},
+  {"f5", 0x5},
+  {"f6", 0x6},
+  {"f7", 0x7},
+  {"f8", 0x8},
+  {"f9", 0x9},
+};
+
+const struct cc_entry
+{
+  char *name;
+  int code;
+} cc_table [] =
+{
+  {"cc", 6},
+  {"cs", 2},
+  {"eq", 1},
+  {"fa", 0},
+  {"ge", 9},
+  {"gt", 10},
+  {"hi", 11},
+  {"le", 12},
+  {"ls", 13},
+  {"lt", 14},
+  {"nc", 8},
+  {"ne", 5},
+  {"ns", 4},
+  {"oc", 7},
+  {"os", 3},
+  {"tr", 15},
+};
+
+enum addressing_mode
+{
+  mode_d,	/* register := */
+  mode_a,	/* op= register */
+  mode_da,	/* register := register */
+  mode_ab,	/* register * register */
+  mode_dab,	/* register := register * register */
+  mode_iab,	/* 5-bit immediate * register * register */
+  mode_0ab,	/* zero * register * register */
+  mode_da0,	/* register := register * zero */
+  mode_cad,	/* condition * register * register */
+  mode_das,	/* register := register * 5-bit immed/register shift count */
+  mode_di,	/* register := 5-bit immediate */
+  mode_ir,	/* 5-bit immediate * register */
+  mode_ai,	/* register 16-bit unsigned immediate */
+  mode_i,	/* 16-bit unsigned immediate */
+  mode_bax,	/* register * register * 5-bit immediate */
+  mode_dax,	/* register := register * 5-bit immediate */
+  mode_s,	/* special mode */
+  mode_sr,	/* special mode with register */
+  mode_ci,	/* condition * 16-bit signed word displacement */
+  mode_fdab,	/* float := float * float */
+  mode_ifdab,	/* fpinst: 4-bit immediate * float * float * float */
+  mode_idfab,	/* fpuread: 4-bit immediate * register * float * float */
+  mode_fda,	/* float := float */
+  mode_fdra,	/* float := register */
+  mode_rdfab,	/* register := float * float */
+  mode_rdfa,	/* register := float */
+  mode_rrr,	/* 3 register sources and destinations (block move) */
+};
+
+#define class0 (0<<25)
+#define class1 (1<<25)
+#define class2 (2<<25)
+#define class3 (3<<25)
+
+static const struct opcode_entry
+{
+  char *mnem;
+  enum addressing_mode mode;
+  unsigned code;
+  char flags;
+}
+opcode_table[] =
+{
+  { "adc.b",    mode_dab,  class3|(1<<21)|(1), def },
+  { "adc.l",    mode_dab,  class3|(1<<21)|(4), def },
+  { "adc.w",    mode_dab,  class3|(1<<21)|(2), def },
+  { "add.b",    mode_dab,  class3|(0<<21)|(1), def },
+  { "add.l",    mode_dab,  class3|(0<<21)|(4), def },
+  { "add.w",    mode_dab,  class3|(0<<21)|(2), def },
+  { "addi",     mode_ai,   class2, def },
+  { "and.b",    mode_dab,  class3|(10<<21)|(1), def},
+  { "and.l",    mode_dab,  class3|(10<<21)|(4), def },
+  { "and.w",    mode_dab,  class3|(10<<21)|(2), def },
+  { "asl.b",    mode_das,  class3|(7<<21)|(1), def },
+  { "asl.l",    mode_das,  class3|(7<<21)|(4), def },
+  { "asl.w",    mode_das,  class3|(7<<21)|(2), def },
+  { "asld",     mode_a,    class1|(15<<21)|(1<<15)|(11<<10)|(4), def },
+  { "asr.b",    mode_das,  class3|(5<<21)|(1), def },
+  { "asr.l",    mode_das,  class3|(5<<21)|(4), def },
+  { "asr.w",    mode_das,  class3|(5<<21)|(2), def },
+  { "asrd",     mode_a,    class1|(15<<21)|(1<<15)|(9<<10)|(4), def },
+  { "bmd",      mode_rrr,  class1|(3<<21)|(3<<16)|(4), gr6 },
+  { "bmi",      mode_rrr,  class1|(1<<21)|(3<<16)|(4), gr6 },
+  { "bra",      mode_cad,  class3|(12<<21)|(4), def },
+  { "brr",      mode_ci,   class0, def },
+  { "cmp.b",    mode_0ab,  class3|(2<<21)|(1), def },
+  { "cmp.l",    mode_0ab,  class3|(2<<21)|(4), def },
+  { "cmp.w",    mode_0ab,  class3|(2<<21)|(2), def },
+  { "cmpc.b",   mode_0ab,  class3|(3<<21)|(1), def },
+  { "cmpc.l",   mode_0ab,  class3|(3<<21)|(4), def },
+  { "cmpc.w",   mode_0ab,  class3|(3<<21)|(2), def },
+  { "divds",    mode_a,    class1|(15<<21)|(1<<15)|(6<<10)|(4), def },
+  { "divdu",    mode_a,    class1|(15<<21)|(1<<15)|(7<<10)|(4), def },
+  { "divs",     mode_a,    class1|(15<<21)|(1<<15)|(2<<10)|(4), def },
+  { "divu",     mode_a,    class1|(15<<21)|(1<<15)|(3<<10)|(4), def },
+  { "dsi",      mode_s,    class1|(4<<21)|(4), def },
+  { "eamread",  mode_di,   class3|(15<<21)|(1<<15)|(1<<9)|(4), def },
+  { "eamwrite", mode_iab,  class1|(15<<21)|(1<<15)|(4), def },
+  { "eni",      mode_s,    class1|(5<<21)|(4), def },
+  { "extb.b",   mode_da,   class3|(14<<21)|(1), def },
+  { "extb.l",   mode_da,   class3|(14<<21)|(4), def },
+  { "extb.w",   mode_da,   class3|(14<<21)|(2), def },
+  { "extw.l",   mode_da,   class3|(4<<21)|(4), def },
+  { "extw.w",   mode_da,   class3|(4<<21)|(2), def },
+  { "fabs",     mode_fda,  class1|(7<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "fadd",     mode_fdab, class1|(1<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "fcmp",     mode_rdfab,class3|(10<<27)|(15<<21)|(1<<15)|(1<<9)|(1<<3)|(4), gr5 },
+  { "fcmpe",    mode_rdfab,class3|(11<<27)|(15<<21)|(1<<15)|(1<<9)|(1<<3)|(4), gr5 },
+  { "fdiv",     mode_fdab, class1|(4<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "fload",    mode_fdra, class1|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "fmove",    mode_fda,  class1|(12<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5},
+  { "fmult",    mode_fdab, class1|(3<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "fneg",     mode_fda,  class1|(6<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "fpinst",   mode_ifdab,class1|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "fpuread",  mode_idfab,class3|(15<<21)|(1<<15)|(1<<9)|(1<<3)|(4), gr5 },
+  { "fsqrt",    mode_fda,  class1|(5<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "fstore",   mode_rdfa, class3|(15<<21)|(1<<15)|(1<<9)|(1<<3)|(4), gr5 },
+  { "fsub",     mode_fdab, class1|(2<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "ftoi",     mode_fda,  class1|(8<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "itof",     mode_fda,  class1|(9<<27)|(15<<21)|(1<<15)|(1<<3)|(4), gr5 },
+  { "lsr.b",    mode_das,  class3|(6<<21)|(1), def },
+  { "lsr.l",    mode_das,  class3|(6<<21)|(4), def },
+  { "lsr.w",    mode_das,  class3|(6<<21)|(2), def },
+  { "lsrd",     mode_a,    class1|(15<<21)|(1<<15)|(10<<10)|(4), def },
+  { "move.b",   mode_da0,  class3|(9<<21)|(1), def },
+  { "move.l",   mode_da0,  class3|(9<<21)|(4), def },
+  { "move.w",   mode_da0,  class3|(9<<21)|(2), def },
+  { "movil",    mode_ai,   class2|(4<<21), def },
+  { "moviq",    mode_ai,   class2|(6<<21), def },
+  { "moviu",    mode_ai,   class2|(5<<21), def },
+  { "mults",    mode_ab,   class1|(15<<21)|(1<<15)|(0<<10)|(4), def },
+  { "multu",    mode_ab,   class1|(15<<21)|(1<<15)|(1<<10)|(4), def },
+  { "nop",      mode_s,    class0, def },
+  { "not.b",    mode_da,   class3|(11<<21)|(1), def },
+  { "not.l",    mode_da,   class3|(11<<21)|(4), def },
+  { "not.w",    mode_da,   class3|(11<<21)|(2), def },
+  { "or.b",     mode_dab,  class3|(9<<21)|(1), def },
+  { "or.l",     mode_dab,  class3|(9<<21)|(4), def },
+  { "or.w",     mode_dab,  class3|(9<<21)|(2), def },
+  { "read.b",   mode_dax,  class3|(15<<21)|(1<<9)|(1), def },
+  { "read.l",   mode_dax,  class3|(15<<21)|(1<<9)|(4), def },
+  { "read.w",   mode_dax,  class3|(15<<21)|(1<<9)|(2), def },
+  { "readmda",  mode_d,    class3|(15<<21)|(1<<15)|(1<<9)|(4), def },
+  { "readmdb",  mode_d,    class3|(15<<21)|(1<<15)|(1<<9)|(1<<4)|(4), def },
+  { "readmdc",  mode_d,    class3|(15<<21)|(1<<15)|(1<<9)|(2<<4)|(4), def },
+  { "rfi",      mode_s,    class1|(7<<21)|(30<<16)|(29<<4)|(4), def },
+  { "rflag",    mode_d,    class3|(13<<21)|(4), def },
+  { "stop",     mode_ir,   class1|(0<<21)|(4), def },
+  { "sub.b",    mode_dab,  class3|(2<<21)|(1), def },
+  { "sub.l",    mode_dab,  class3|(2<<21)|(4), def },
+  { "sub.w",    mode_dab,  class3|(2<<21)|(2), def },
+  { "subc.b",   mode_dab,  class3|(3<<21)|(1), def },
+  { "subc.l",   mode_dab,  class3|(3<<21)|(4), def },
+  { "subc.w",   mode_dab,  class3|(3<<21)|(2), def },
+  { "subi",     mode_ai,   class2|(2<<21), def },
+  { "trace",    mode_ir,   class1|(13<<21), def },
+  { "write.b",  mode_bax,  class1|(15<<21)|(1), def },
+  { "write.l",  mode_bax,  class1|(15<<21)|(4), def },
+  { "write.w",  mode_bax,  class1|(15<<21)|(2), def },
+  { "writemd",  mode_ab,   class1|(15<<21)|(1<<15)|(4<<10)|(4), def },
+  { "writemdc", mode_a,    class1|(15<<21)|(1<<15)|(5<<10)|(4), def },
+  { "wrtl",     mode_i,    class2|(8<<21), gr6 },
+  { "wrtu",     mode_i,    class2|(9<<21), gr6 },
+  { "xor.b",    mode_dab,  class3|(8<<21)|(1), def },
+  { "xor.l",    mode_dab,  class3|(8<<21)|(4), def },
+  { "xor.w",    mode_dab,  class3|(8<<21)|(2), def },
+};
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/xgate.h ./include/opcode/xgate.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/opcode/xgate.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/opcode/xgate.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* xgate.h -- Freescale XGATE opcode list
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Sean Keys (skeys@ipdatasys.com)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/os9k.h ./include/os9k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/os9k.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/os9k.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* os9k.h  -  OS-9000 i386 module header definitions
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
    
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/partition.h ./include/partition.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/partition.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/partition.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* List implementation of a partition of consecutive integers.
-   Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by CodeSourcery, LLC.
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/plugin-api.h ./include/plugin-api.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/plugin-api.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/plugin-api.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* plugin-api.h -- External linker plugin API.  */
 
-/* Copyright 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Written by Cary Coutant <ccoutant@google.com>.
 
    This file is part of binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/progress.h ./include/progress.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/progress.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/progress.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Default definitions for progress macros.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/safe-ctype.h ./include/safe-ctype.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/safe-ctype.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/safe-ctype.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* <ctype.h> replacement macros.
 
-   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Zack Weinberg <zackw@stanford.edu>.
 
 This file is part of the libiberty library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/sha1.h ./include/sha1.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/sha1.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/sha1.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,6 @@
 /* Declarations of functions and data types used for SHA1 sum
    library functions.
-   Copyright (C) 2000, 2001, 2003, 2005, 2006, 2008, 2010
-   Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/simple-object.h ./include/simple-object.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/simple-object.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/simple-object.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* simple-object.h -- simple routines to read and write object files
-   Copyright 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Google.
 
 This program is free software; you can redistribute it and/or modify it
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/aout.h ./include/som/aout.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/aout.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/som/aout.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SOM a.out definitions for BFD.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/ChangeLog ./include/som/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/som/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,7 @@
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
 2014-03-05  Alan Modra  <amodra@gmail.com>
 
 	Update copyright years.
@@ -10,7 +14,7 @@
 	* reloc.h: Likewise.
 	* internal.h: Likewise.
 
-Copyright (C) 2010-2014 Free Software Foundation, Inc.
+Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/clock.h ./include/som/clock.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/clock.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/som/clock.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SOM clock definition for BFD.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/internal.h ./include/som/internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/internal.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/som/internal.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SOM internal definitions for BFD.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/lst.h ./include/som/lst.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/lst.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/som/lst.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SOM lst definitions for BFD.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/reloc.h ./include/som/reloc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/som/reloc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/som/reloc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* SOM relocation definitions for BFD.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/sort.h ./include/sort.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/sort.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/sort.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Sorting algorithms.
-   Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Mark Mitchell <mark@codesourcery.com>.
 
 This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/splay-tree.h ./include/splay-tree.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/splay-tree.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/splay-tree.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,5 @@
 /* A splay-tree datatype.  
-   Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009, 2010
-   Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Mark Mitchell (mark@markmitchell.com).
 
    This file is part of GCC.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/symcat.h ./include/symcat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/symcat.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/symcat.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Symbol concatenation utilities.
 
-   Copyright (C) 1998, 2000, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/timeval-utils.h ./include/timeval-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/timeval-utils.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/timeval-utils.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Basic struct timeval utilities.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/ChangeLog ./include/vms/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/ChangeLog	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/ChangeLog	2015-01-20 02:05:39.000000000 +0000
@@ -1,3 +1,7 @@
+2015-01-01  Alan Modra  <amodra@gmail.com>
+
+	Update year range in copyright notice of all files.
+
 2014-03-05  Alan Modra  <amodra@gmail.com>
 
 	Update copyright years.
@@ -77,7 +81,7 @@
 	* eiaf.h, eicp.h, eiha.h, eihd.h, eihi.h, eihs.h, eihvn.h: Ditto.
 	* eisd.h, emh.h, eobjrec.h, esdf.h, esrf.h, etir.h, shl.h: Ditto.
 
-Copyright (C) 2010-2014 Free Software Foundation, Inc.
+Copyright (C) 2010-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/dcx.h ./include/vms/dcx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/dcx.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/dcx.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format for DeCompression.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/dmt.h ./include/vms/dmt.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/dmt.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/dmt.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Debug Module Table.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/dsc.h ./include/vms/dsc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/dsc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/dsc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Descriptors.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/dst.h ./include/vms/dst.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/dst.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/dst.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Debug Symbol Table.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eeom.h ./include/vms/eeom.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eeom.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eeom.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended End Of Module.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/egps.h ./include/vms/egps.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/egps.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/egps.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Program Section Definition.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/egsd.h ./include/vms/egsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/egsd.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/egsd.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Global Symbol Directory.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/egst.h ./include/vms/egst.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/egst.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/egst.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Global Symbol Definition.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/egsy.h ./include/vms/egsy.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/egsy.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/egsy.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Global Symbol.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eiaf.h ./include/vms/eiaf.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eiaf.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eiaf.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Image Activator Fixup section.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eicp.h ./include/vms/eicp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eicp.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eicp.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Image section Change Protection.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eidc.h ./include/vms/eidc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eidc.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eidc.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Ident Consistency check.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eiha.h ./include/vms/eiha.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eiha.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eiha.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Image Activation.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eihd.h ./include/vms/eihd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eihd.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eihd.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Image Header.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eihi.h ./include/vms/eihi.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eihi.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eihi.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Image Identification.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eihs.h ./include/vms/eihs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eihs.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eihs.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Image Symbols and debug table.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eihvn.h ./include/vms/eihvn.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eihvn.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eihvn.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Image Header Version.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eisd.h ./include/vms/eisd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eisd.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eisd.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Image Section Descriptor.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/emh.h ./include/vms/emh.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/emh.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/emh.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Module Header.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eobjrec.h ./include/vms/eobjrec.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/eobjrec.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/eobjrec.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Object Records.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esdf.h ./include/vms/esdf.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esdf.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/esdf.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended GSD Global Symbol Definition.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esdfm.h ./include/vms/esdfm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esdfm.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/esdfm.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Symbol Definition for version Mask.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esdfv.h ./include/vms/esdfv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esdfv.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/esdfv.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Symbol Def for Vectored symbols.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esgps.h ./include/vms/esgps.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esgps.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/esgps.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Shared Program Section Definition.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esrf.h ./include/vms/esrf.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/esrf.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/esrf.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended GSD Global Symbol Reference.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/etir.h ./include/vms/etir.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/etir.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/etir.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Extended Text Information and Relocation.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/internal.h ./include/vms/internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/internal.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/internal.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS internal format.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/lbr.h ./include/vms/lbr.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/lbr.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/lbr.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Libraries.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/prt.h ./include/vms/prt.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/prt.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/prt.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Protection values.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/shl.h ./include/vms/shl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vms/shl.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vms/shl.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,6 @@
 /* Alpha VMS external format of Shareable image List.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vtv-change-permission.h ./include/vtv-change-permission.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/vtv-change-permission.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/vtv-change-permission.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,4 @@
-/* Copyright (C) 2013
-   Free Software Foundation
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
   
    This file is part of GCC.
   
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/xregex2.h ./include/xregex2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/xregex2.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/xregex2.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,8 +1,7 @@
 /* Definitions for data structures and routines for the regular
    expression library, version 0.12.
 
-   Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
-   1998, 2000, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1985-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.  Its master source is NOT part of
    the C library, however.  The master source lives in /gd/gnu/lib.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/xtensa-config.h ./include/xtensa-config.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/xtensa-config.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/xtensa-config.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,6 +1,5 @@
 /* Xtensa configuration settings.
-   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
-   Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bob.wilson@acm.org) at Tensilica.
 
    This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/xtensa-isa.h ./include/xtensa-isa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/xtensa-isa.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/xtensa-isa.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Interface definition for configurable Xtensa ISA support.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/xtensa-isa-internal.h ./include/xtensa-isa-internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/include/xtensa-isa-internal.h	2015-01-13 02:02:19.000000000 +0000
+++ ./include/xtensa-isa-internal.h	2015-01-20 02:05:39.000000000 +0000
@@ -1,5 +1,5 @@
 /* Internal definitions for configurable Xtensa ISA support.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/install-sh ./install-sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/install-sh	2015-01-13 02:02:19.000000000 +0000
+++ ./install-sh	2015-01-20 02:05:39.000000000 +0000
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2013-12-25.23; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,25 +35,21 @@ scriptversion=2009-04-28.21; # UTC
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
 # from scratch.
 
+tab='	'
 nl='
 '
-IFS=" ""	$nl"
+IFS=" $tab$nl"
 
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
 
-# Don't use :- since 4.3BSD and earlier shells don't like it.
 doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
 
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
 rmprog=${RMPROG-rm}
 stripprog=${STRIPPROG-strip}
 
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
 posix_mkdir=
 
 # Desired mode of installed file.
@@ -97,7 +82,7 @@ dir_arg=
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,42 +122,57 @@ while test $# -ne 0; do
     -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-	shift;;
+        shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
 
     -o) chowncmd="$chownprog $2"
-	shift;;
+        shift;;
 
     -s) stripcmd=$stripprog;;
 
-    -t) dst_arg=$2
-	shift;;
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
+        # Protect names problematic for 'test' and other utilities.
+        case $dst_arg in
+          -* | [=\(\)!]) dst_arg=./$dst_arg;;
+        esac
+        shift;;
 
-    -T) no_target_directory=true;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)	shift
-	break;;
+    --) shift
+        break;;
 
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
 
     *)  break;;
   esac
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
@@ -186,6 +186,10 @@ if test $# -ne 0 && test -z "$dir_arg$ds
     fi
     shift # arg
     dst_arg=$arg
+    # Protect names problematic for 'test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
   done
 fi
 
@@ -194,13 +198,26 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call `install-sh -d' without argument.
+  # It's OK to call 'install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
 
 if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
+
+if test -z "$dir_arg"; then
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
 
   # Set umask so as not to create temps with too-generous modes.
   # However, 'strip' requires both read and write access to temps.
@@ -211,16 +228,16 @@ if test -z "$dir_arg"; then
 
     *[0-7])
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw='% 200'
+        u_plus_rw='% 200'
       fi
       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
     *)
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw=,u+rw
+        u_plus_rw=,u+rw
       fi
       cp_umask=$mode$u_plus_rw;;
   esac
@@ -228,9 +245,9 @@ fi
 
 for src
 do
-  # Protect names starting with `-'.
+  # Protect names problematic for 'test' and other utilities.
   case $src in
-    -*) src=./$src;;
+    -* | [=\(\)!]) src=./$src;;
   esac
 
   if test -n "$dir_arg"; then
@@ -252,51 +269,20 @@ do
       echo "$0: no destination specified." >&2
       exit 1
     fi
-
     dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
 
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-	echo "$0: $dst_arg: Is a directory" >&2
-	exit 1
+      if test "$is_target_a_directory" = never; then
+        echo "$0: $dst_arg: Is a directory" >&2
+        exit 1
       fi
       dstdir=$dst
       dst=$dstdir/`basename "$src"`
       dstdir_status=0
     else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-	(dirname "$dst") 2>/dev/null ||
-	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	     X"$dst" : 'X\(//\)[^/]' \| \
-	     X"$dst" : 'X\(//\)$' \| \
-	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-	echo X"$dst" |
-	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)[^/].*/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\).*/{
-		   s//\1/
-		   q
-		 }
-		 s/.*/./; q'
-      `
-
+      dstdir=`dirname "$dst"`
       test -d "$dstdir"
       dstdir_status=$?
     fi
@@ -307,74 +293,74 @@ do
   if test $dstdir_status != 0; then
     case $posix_mkdir in
       '')
-	# Create intermediate dirs using mode 755 as modified by the umask.
-	# This is like FreeBSD 'install' as of 1997-10-28.
-	umask=`umask`
-	case $stripcmd.$umask in
-	  # Optimize common cases.
-	  *[2367][2367]) mkdir_umask=$umask;;
-	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-	  *[0-7])
-	    mkdir_umask=`expr $umask + 22 \
-	      - $umask % 100 % 40 + $umask % 20 \
-	      - $umask % 10 % 4 + $umask % 2
-	    `;;
-	  *) mkdir_umask=$umask,go-w;;
-	esac
-
-	# With -d, create the new directory with the user-specified mode.
-	# Otherwise, rely on $mkdir_umask.
-	if test -n "$dir_arg"; then
-	  mkdir_mode=-m$mode
-	else
-	  mkdir_mode=
-	fi
-
-	posix_mkdir=false
-	case $umask in
-	  *[123567][0-7][0-7])
-	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
-	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-	    ;;
-	  *)
-	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-	    if (umask $mkdir_umask &&
-		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-	    then
-	      if test -z "$dir_arg" || {
-		   # Check for POSIX incompatibilities with -m.
-		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writeable bit of parent directory when it shouldn't.
-		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
-		   case $ls_ld_tmpdir in
-		     d????-?r-*) different_mode=700;;
-		     d????-?--*) different_mode=755;;
-		     *) false;;
-		   esac &&
-		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-		   }
-		 }
-	      then posix_mkdir=:
-	      fi
-	      rmdir "$tmpdir/d" "$tmpdir"
-	    else
-	      # Remove any dirs left behind by ancient mkdir implementations.
-	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-	    fi
-	    trap '' 0;;
-	esac;;
+        # Create intermediate dirs using mode 755 as modified by the umask.
+        # This is like FreeBSD 'install' as of 1997-10-28.
+        umask=`umask`
+        case $stripcmd.$umask in
+          # Optimize common cases.
+          *[2367][2367]) mkdir_umask=$umask;;
+          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+          *[0-7])
+            mkdir_umask=`expr $umask + 22 \
+              - $umask % 100 % 40 + $umask % 20 \
+              - $umask % 10 % 4 + $umask % 2
+            `;;
+          *) mkdir_umask=$umask,go-w;;
+        esac
+
+        # With -d, create the new directory with the user-specified mode.
+        # Otherwise, rely on $mkdir_umask.
+        if test -n "$dir_arg"; then
+          mkdir_mode=-m$mode
+        else
+          mkdir_mode=
+        fi
+
+        posix_mkdir=false
+        case $umask in
+          *[123567][0-7][0-7])
+            # POSIX mkdir -p sets u+wx bits regardless of umask, which
+            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+            ;;
+          *)
+            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+            if (umask $mkdir_umask &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+            then
+              if test -z "$dir_arg" || {
+                   # Check for POSIX incompatibilities with -m.
+                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                   # other-writable bit of parent directory when it shouldn't.
+                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   case $ls_ld_tmpdir in
+                     d????-?r-*) different_mode=700;;
+                     d????-?--*) different_mode=755;;
+                     *) false;;
+                   esac &&
+                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                   }
+                 }
+              then posix_mkdir=:
+              fi
+              rmdir "$tmpdir/d" "$tmpdir"
+            else
+              # Remove any dirs left behind by ancient mkdir implementations.
+              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+            fi
+            trap '' 0;;
+        esac;;
     esac
 
     if
       $posix_mkdir && (
-	umask $mkdir_umask &&
-	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
       )
     then :
     else
@@ -384,53 +370,51 @@ do
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-	/*) prefix='/';;
-	-*) prefix='./';;
-	*)  prefix='';;
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
       esac
 
-      eval "$initialize_posix_glob"
-
       oIFS=$IFS
       IFS=/
-      $posix_glob set -f
+      set -f
       set fnord $dstdir
       shift
-      $posix_glob set +f
+      set +f
       IFS=$oIFS
 
       prefixes=
 
       for d
       do
-	test -z "$d" && continue
+        test X"$d" = X && continue
 
-	prefix=$prefix$d
-	if test -d "$prefix"; then
-	  prefixes=
-	else
-	  if $posix_mkdir; then
-	    (umask=$mkdir_umask &&
-	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-	    # Don't fail if two instances are running concurrently.
-	    test -d "$prefix" || exit 1
-	  else
-	    case $prefix in
-	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-	      *) qprefix=$prefix;;
-	    esac
-	    prefixes="$prefixes '$qprefix'"
-	  fi
-	fi
-	prefix=$prefix/
+        prefix=$prefix$d
+        if test -d "$prefix"; then
+          prefixes=
+        else
+          if $posix_mkdir; then
+            (umask=$mkdir_umask &&
+             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+            # Don't fail if two instances are running concurrently.
+            test -d "$prefix" || exit 1
+          else
+            case $prefix in
+              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+              *) qprefix=$prefix;;
+            esac
+            prefixes="$prefixes '$qprefix'"
+          fi
+        fi
+        prefix=$prefix/
       done
 
       if test -n "$prefixes"; then
-	# Don't fail if two instances are running concurrently.
-	(umask $mkdir_umask &&
-	 eval "\$doit_exec \$mkdirprog $prefixes") ||
-	  test -d "$dstdir" || exit 1
-	obsolete_mkdir_used=true
+        # Don't fail if two instances are running concurrently.
+        (umask $mkdir_umask &&
+         eval "\$doit_exec \$mkdirprog $prefixes") ||
+          test -d "$dstdir" || exit 1
+        obsolete_mkdir_used=true
       fi
     fi
   fi
@@ -465,15 +449,12 @@ do
 
     # If -C, don't bother to copy if it wouldn't change the file.
     if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
        set X $old && old=:$2:$4:$5:$6 &&
        set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
+       set +f &&
        test "$old" = "$new" &&
        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
     then
@@ -486,24 +467,24 @@ do
       # to itself, or perhaps because mv is so ancient that it does not
       # support -f.
       {
-	# Now remove or move aside any old file at destination location.
-	# We try this two ways since rm can't unlink itself on some
-	# systems and the destination file might be busy for other
-	# reasons.  In this case, the final cleanup might fail but the new
-	# file should still install successfully.
-	{
-	  test ! -f "$dst" ||
-	  $doit $rmcmd -f "$dst" 2>/dev/null ||
-	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-	  } ||
-	  { echo "$0: cannot unlink or rename $dst" >&2
-	    (exit 1); exit 1
-	  }
-	} &&
+        # Now remove or move aside any old file at destination location.
+        # We try this two ways since rm can't unlink itself on some
+        # systems and the destination file might be busy for other
+        # reasons.  In this case, the final cleanup might fail but the new
+        # file should still install successfully.
+        {
+          test ! -f "$dst" ||
+          $doit $rmcmd -f "$dst" 2>/dev/null ||
+          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+          } ||
+          { echo "$0: cannot unlink or rename $dst" >&2
+            (exit 1); exit 1
+          }
+        } &&
 
-	# Now rename the file to the real destination.
-	$doit $mvcmd "$dsttmp" "$dst"
+        # Now rename the file to the real destination.
+        $doit $mvcmd "$dsttmp" "$dst"
       }
     fi || exit 1
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/ChangeLog ./libiberty/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/ChangeLog	2015-01-20 02:05:40.000000000 +0000
@@ -1,3 +1,136 @@
+2015-01-19  Eli Zaretskii  <eliz@gnu.org>
+
+	* strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
+	macros.
+
+2014-12-24  Uros Bizjak  <ubizjak@gmail.com>
+	    Ben Elliston  <bje@au.ibm.com>
+	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* xasprintf.c: New file.
+	* Makefile.in (CFILES): Add xasprintf.c.
+	(REQUIRED_OFILES): Add xasprintf.$(objext).
+	(xasprintf.$(objext)): New target.
+	* functions.texi: Regenerate.
+
+2014-12-11  Uros Bizjak  <ubizjak@gmail.com>
+            Ben Elliston  <bje@au.ibm.com>
+            Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* xvasprintf.c: New file.
+	* vprintf-support.h: Likewise.
+	* vprintf-support.c: Likewise.
+	* Makefile.in (CFILES): Add vprintf-support.c, xvasprintf.c.
+	(REQUIRED_OFILES): Add vprintf-support.$(objext), xvasprintf.$(objext).
+	(vprintf-support.$(objext), xvasprintf.$(objext)): New targets.
+	(vasprintf.$(objext)): Depend on $(srcdir)/vprintf-support.h.
+	* functions.texi: Regenerate.
+	* vasprintf.c (int_vasprintf): Use libiberty_vprintf_buffer_size.
+
+2014-11-22  John David Anglin  <danglin@gcc.gnu.org>
+
+	PR other/63694
+	* configure.ac: Check for strtol, strtoul, strtoll and strtoull
+	declarations.
+	* configure: Regenerated.
+
+2014-11-12  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+	* testsuite/test-strtol.c (run_tests): Cast strtol return to
+	unsigned long.
+
+2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
+	    Manuel LÃ³pez-IbÃ¡Ã±ez  <manu@gcc.gnu.org>
+
+	PR driver/36312
+	* filename_cmp.c (canonical_filename_eq): New function to check if
+	file names are the same.
+	* functions.texi: Updated with documentation for new function.
+
+2014-11-11  David Malcolm  <dmalcolm@redhat.com>
+
+	* ChangeLog.jit: New.
+
+2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* sigsetmask.c (_POSIX_SOURCE): Remove.
+
+2014-10-28  Yury Gribov  <y.gribov@samsung.com>
+
+	* strtoll.c: New file.
+	* strtoull.c: New file.
+	* configure.ac: Add long long checks.  Add harness for strtoll and
+	strtoull.  Check decls for strtol, strtoul, strtoll, strtoull.
+	* Makefile.in (CFILES, CONFIGURED_OFILES): Add strtoll and strtoull.
+	* config.in: Regenerate.
+	* configure: Regenerate.
+	* functions.texi: Regenerate.
+	* testsuite/Makefile.in (check-strtol): New rule.
+	(test-strtol): Likewise.
+	(mostlyclean): Clean up strtol test.
+	* testsuite/test-strtol.c: New test.
+
+2014-10-15  David Malcolm  <dmalcolm@redhat.com>
+
+	* choose-temp.c (choose_tmpdir): Remove now-redundant local
+	copy of prototype.
+	* functions.texi: Regenerate.
+	* make-temp-file.c (choose_tmpdir): Convert return type from
+	char * to const char * - given that this returns a pointer to
+	a memoized allocation, the caller must not touch it.
+
+2014-10-14  Joel Brobecker  <brobecker@adacore.com>
+
+	* d-demangle.c: Replace strtold with strtod in global comment.
+	(strtold): Remove declaration.
+	(strtod): New declaration.
+	(dlang_parse_real): Declare value as double instead of long
+	double.  Replace call to strtold by call to strtod.
+	Update format in call to snprintf.
+
+2014-09-26  Jason Merrill  <jason@redhat.com>
+
+	* cp-demangle.c (d_substitution): Handle abi tags on abbreviation.
+
+2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>
+
+	* pex-common.h (struct pex_funcs): Add new parameter for open_write field.
+	* pex-unix.c (pex_unix_open_write): Add support for new parameter.
+	* pex-djgpp.c (pex_djgpp_open_write): Likewise.
+	* pex-win32.c (pex_win32_open_write): Likewise.
+	* pex-common.c (pex_run_in_environment): Likewise.
+
+2014-09-23  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* Makefile.in (CFILES): Add d-demangle.c.
+	(REQUIRED_OFILES): Add d-demangle.o.
+	* cplus-dem.c (libiberty_demanglers): Add dlang_demangling case.
+	(cplus_demangle): Likewise.
+	* d-demangle.c: New file.
+	* testsuite/Makefile.in (really-check): Add check-d-demangle.
+	* testsuite/d-demangle-expected: New file.
+
+2014-09-19  Ian Lance Taylor  <iant@google.com>
+
+	* simple-object-elf.c (simple_object_elf_write_ehdr): Correctly
+	handle objects with more than SHN_LORESERVE sections.
+	(simple_object_elf_write_shdr): Add sh_link parameter.
+	(simple_object_elf_write_to_file): Correctly handle objects with
+	more than SHN_LORESERVE sections.
+
+2014-08-29  Andrew Burgess  <aburgess@broadcom.com>
+
+	* cp-demangle.c (d_dump): Only access field from s_fixed part of
+	the union for DEMANGLE_COMPONENT_FIXED_TYPE.
+	(d_count_templates_scopes): Likewise.
+
+2014-08-13  Gary Benson  <gbenson@redhat.com>
+
+	* testsuite/demangler-fuzzer.c: New file.
+	* testsuite/Makefile.in (fuzz-demangler): New rule.
+	(demangler-fuzzer): Likewise.
+	(mostlyclean): Clean up demangler fuzzer.
+
 2014-06-11  Andrew Burgess  <aburgess@broadcom.com>
 
 	* cplus-dem.c (do_type): Call string_delete even if the call to
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/ChangeLog.jit ./libiberty/ChangeLog.jit
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/ChangeLog.jit	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/ChangeLog.jit	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,23 @@
+2014-09-25  David Malcolm  <dmalcolm@redhat.com>
+
+	* choose-temp.c (choose_tmpdir): Remove now-redundant local
+	copy of prototype.
+	* functions.texi: Regenerate.
+	* make-temp-file.c (choose_tmpdir): Convert return type from
+	char * to const char * - given that this returns a pointer to
+	a memoized allocation, the caller must not touch it.
+
+2014-09-24  David Malcolm  <dmalcolm@redhat.com>
+
+	* ChangeLog.jit: Add copyright footer.
+
+2013-10-03  David Malcolm  <dmalcolm@redhat.com>
+
+	* configure.ac: If --enable-host-shared, use -fPIC.
+	* configure: Regenerate.
+
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/choose-temp.c ./libiberty/choose-temp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/choose-temp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/choose-temp.c	2015-01-20 02:05:40.000000000 +0000
@@ -34,7 +34,6 @@ Boston, MA 02110-1301, USA.  */
 #endif
 
 #include "libiberty.h"
-extern char *choose_tmpdir (void);
 
 /* Name of temporary file.
    mktemp requires 6 trailing X's.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/config.in ./libiberty/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/config.in	2015-01-20 02:05:40.000000000 +0000
@@ -79,6 +79,22 @@
    don't. */
 #undef HAVE_DECL_SNPRINTF
 
+/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
+   */
+#undef HAVE_DECL_STRTOL
+
+/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOLL
+
+/* Define to 1 if you have the declaration of `strtoul', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOUL
+
+/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRTOULL
+
 /* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
    don't. */
 #undef HAVE_DECL_STRVERSCMP
@@ -136,6 +152,9 @@
 /* Define to 1 if you have the <limits.h> header file. */
 #undef HAVE_LIMITS_H
 
+/* Define if you have the `long long' type. */
+#undef HAVE_LONG_LONG
+
 /* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */
 #undef HAVE_MACHINE_HAL_SYSINFO_H
 
@@ -280,9 +299,15 @@
 /* Define to 1 if you have the `strtol' function. */
 #undef HAVE_STRTOL
 
+/* Define to 1 if you have the `strtoll' function. */
+#undef HAVE_STRTOLL
+
 /* Define to 1 if you have the `strtoul' function. */
 #undef HAVE_STRTOUL
 
+/* Define to 1 if you have the `strtoull' function. */
+#undef HAVE_STRTOULL
+
 /* Define to 1 if you have the `strverscmp' function. */
 #undef HAVE_STRVERSCMP
 
@@ -439,6 +464,12 @@
 /* The size of `int', as computed by sizeof. */
 #undef SIZEOF_INT
 
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `long long', as computed by sizeof. */
+#undef SIZEOF_LONG_LONG
+
 /* Define if you know the direction of stack growth for your system; otherwise
    it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows
    toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/configure ./libiberty/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/configure	2015-01-20 02:05:40.000000000 +0000
@@ -5124,7 +5124,7 @@ then
 fi
 
 
-# Determine the size of an int for struct fibnode.
+# Determine sizes of some types.
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
@@ -5159,6 +5159,82 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+$as_echo_n "checking size of long... " >&6; }
+if test "${ac_cv_sizeof_long+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_long" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ as_fn_set_status 77
+as_fn_error "cannot compute sizeof (long)
+See \`config.log' for more details." "$LINENO" 5; }; }
+   else
+     ac_cv_sizeof_long=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
+$as_echo "$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+
+
+# Check for presense of long long
+ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
+if test "x$ac_cv_type_long_long" = x""yes; then :
+
+$as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
+$as_echo_n "checking size of long long... " >&6; }
+if test "${ac_cv_sizeof_long_long+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_long_long" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ as_fn_set_status 77
+as_fn_error "cannot compute sizeof (long long)
+See \`config.log' for more details." "$LINENO" 5; }; }
+   else
+     ac_cv_sizeof_long_long=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
+$as_echo "$ac_cv_sizeof_long_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
+_ACEOF
+
+
+fi
+
 
 # Look for a 64-bit type.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a 64-bit type" >&5
@@ -5387,6 +5463,8 @@ funcs="$funcs strstr"
 funcs="$funcs strtod"
 funcs="$funcs strtol"
 funcs="$funcs strtoul"
+funcs="$funcs strtoll"
+funcs="$funcs strtoull"
 funcs="$funcs strverscmp"
 funcs="$funcs tmpnam"
 funcs="$funcs vasprintf"
@@ -5423,7 +5501,7 @@ if test "x" = "y"; then
     sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \
      stpcpy stpncpy strcasecmp strchr strdup \
      strerror strncasecmp strndup strnlen strrchr strsignal strstr strtod \
-     strtol strtoul strverscmp sysconf sysctl sysmp \
+     strtol strtoul strtoll strtoull strverscmp sysconf sysctl sysmp \
     table times tmpnam \
     vasprintf vfprintf vprintf vsprintf \
     wait3 wait4 waitpid
@@ -5499,6 +5577,46 @@ fi
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_VSNPRINTF $ac_have_decl
 _ACEOF
+ac_fn_c_check_decl "$LINENO" "strtol" "ac_cv_have_decl_strtol" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtol" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOL $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "strtoul" "ac_cv_have_decl_strtoul" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtoul" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOUL $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtoll" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOLL $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtoull" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOULL $ac_have_decl
+_ACEOF
 
 
 $as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h
@@ -6582,6 +6700,47 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_SBRK $ac_have_decl
 _ACEOF
 
+  ac_fn_c_check_decl "$LINENO" "strtol" "ac_cv_have_decl_strtol" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtol" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOL $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "strtoul" "ac_cv_have_decl_strtoul" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtoul" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOUL $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtoll" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOLL $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtoull" = x""yes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOULL $ac_have_decl
+_ACEOF
+
   ac_fn_c_check_decl "$LINENO" "strverscmp" "ac_cv_have_decl_strverscmp" "$ac_includes_default"
 if test "x$ac_cv_have_decl_strverscmp" = x""yes; then :
   ac_have_decl=1
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/configure.ac ./libiberty/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/configure.ac	2015-01-20 02:05:40.000000000 +0000
@@ -272,8 +272,14 @@ AC_HEADER_TIME
 
 libiberty_AC_DECLARE_ERRNO
 
-# Determine the size of an int for struct fibnode.
+# Determine sizes of some types.
 AC_CHECK_SIZEOF([int])
+AC_CHECK_SIZEOF([long])
+
+# Check for presense of long long
+AC_CHECK_TYPE([long long],
+  [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have the `long long' type.]) AC_CHECK_SIZEOF([long long])],
+  [])
 
 # Look for a 64-bit type.
 AC_MSG_CHECKING([for a 64-bit type])
@@ -365,6 +371,8 @@ funcs="$funcs strstr"
 funcs="$funcs strtod"
 funcs="$funcs strtol"
 funcs="$funcs strtoul"
+funcs="$funcs strtoll"
+funcs="$funcs strtoull"
 funcs="$funcs strverscmp"
 funcs="$funcs tmpnam"
 funcs="$funcs vasprintf"
@@ -401,11 +409,11 @@ if test "x" = "y"; then
     sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \
      stpcpy stpncpy strcasecmp strchr strdup \
      strerror strncasecmp strndup strnlen strrchr strsignal strstr strtod \
-     strtol strtoul strverscmp sysconf sysctl sysmp \
+     strtol strtoul strtoll strtoull strverscmp sysconf sysctl sysmp \
     table times tmpnam \
     vasprintf vfprintf vprintf vsprintf \
     wait3 wait4 waitpid)
-  AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf])
+  AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf, strtol, strtoul, strtoll, strtoull])
   AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.])
   AC_DEFINE(HAVE_SYS_NERR,    1, [Define if you have the sys_nerr variable.])
   AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.])
@@ -670,6 +678,7 @@ if test -z "${setobjs}"; then
   AC_CHECK_FUNCS($checkfuncs)
   AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf])
   AC_CHECK_DECLS([calloc, getenv, getopt, malloc, realloc, sbrk])
+  AC_CHECK_DECLS([strtol, strtoul, strtoll, strtoull])
   AC_CHECK_DECLS([strverscmp])
   libiberty_NEED_DECLARATION(canonicalize_file_name)
 fi
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/cp-demangle.c ./libiberty/cp-demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/cp-demangle.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/cp-demangle.c	2015-01-20 02:05:40.000000000 +0000
@@ -713,7 +713,9 @@ d_dump (struct demangle_component *dc, i
       printf ("pointer to member type\n");
       break;
     case DEMANGLE_COMPONENT_FIXED_TYPE:
-      printf ("fixed-point type\n");
+      printf ("fixed-point type, accum? %d, sat? %d\n",
+              dc->u.s_fixed.accum, dc->u.s_fixed.sat);
+      d_dump (dc->u.s_fixed.length, indent + 2)
       break;
     case DEMANGLE_COMPONENT_ARGLIST:
       printf ("argument list\n");
@@ -3685,6 +3687,7 @@ d_substitution (struct d_info *di, int p
 	    {
 	      const char *s;
 	      int len;
+	      struct demangle_component *c;
 
 	      if (p->set_last_name != NULL)
 		di->last_name = d_make_sub (di, p->set_last_name,
@@ -3700,7 +3703,15 @@ d_substitution (struct d_info *di, int p
 		  len = p->simple_len;
 		}
 	      di->expansion += len;
-	      return d_make_sub (di, s, len);
+	      c = d_make_sub (di, s, len);
+	      if (d_peek_char (di) == 'B')
+		{
+		  /* If there are ABI tags on the abbreviation, it becomes
+		     a substitution candidate.  */
+		  c = d_abi_tags (di, c);
+		  d_add_substitution (di, c);
+		}
+	      return c;
 	    }
 	}
 
@@ -3875,7 +3886,6 @@ d_count_templates_scopes (int *num_templ
     case DEMANGLE_COMPONENT_FUNCTION_TYPE:
     case DEMANGLE_COMPONENT_ARRAY_TYPE:
     case DEMANGLE_COMPONENT_PTRMEM_TYPE:
-    case DEMANGLE_COMPONENT_FIXED_TYPE:
     case DEMANGLE_COMPONENT_VECTOR_TYPE:
     case DEMANGLE_COMPONENT_ARGLIST:
     case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
@@ -3920,6 +3930,11 @@ d_count_templates_scopes (int *num_templ
 				dc->u.s_extended_operator.name);
       break;
 
+    case DEMANGLE_COMPONENT_FIXED_TYPE:
+      d_count_templates_scopes (num_templates, num_scopes,
+                                dc->u.s_fixed.length);
+      break;
+
     case DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS:
     case DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS:
       d_count_templates_scopes (num_templates, num_scopes,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/cplus-dem.c ./libiberty/cplus-dem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/cplus-dem.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/cplus-dem.c	2015-01-20 02:05:40.000000000 +0000
@@ -306,6 +306,12 @@ const struct demangler_engine libiberty_
   }
   ,
   {
+    DLANG_DEMANGLING_STYLE_STRING,
+    dlang_demangling,
+    "DLANG style demangling"
+  }
+  ,
+  {
     NULL, unknown_demangling, NULL
   }
 };
@@ -870,6 +876,13 @@ cplus_demangle (const char *mangled, int
   if (GNAT_DEMANGLING)
     return ada_demangle (mangled, options);
 
+  if (DLANG_DEMANGLING)
+    {
+      ret = dlang_demangle (mangled, options);
+      if (ret)
+	return ret;
+    }
+
   ret = internal_cplus_demangle (work, mangled);
   squangle_mop_up (work);
   return (ret);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/d-demangle.c ./libiberty/d-demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/d-demangle.c	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/d-demangle.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,1338 @@
+/* Demangler for the D programming language
+   Copyright 2014 Free Software Foundation, Inc.
+   Written by Iain Buclaw (ibuclaw@gdcproject.org)
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+In addition to the permissions in the GNU Library General Public
+License, the Free Software Foundation gives you unlimited permission
+to link the compiled version of this file into combinations with other
+programs, and to distribute those combinations without any restriction
+coming from the use of this file.  (The Library Public License
+restrictions do apply in other respects; for example, they cover
+modification of the file, and distribution when not linked into a
+combined executable.)
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with libiberty; see the file COPYING.LIB.
+If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This file exports one function; dlang_demangle.
+
+   This file imports strtol and strtod for decoding mangled literals.  */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "safe-ctype.h"
+
+#include <sys/types.h>
+#include <string.h>
+#include <stdio.h>
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#else
+extern long strtol (const char *nptr, char **endptr, int base);
+extern double strtod (const char *nptr, char **endptr);
+#endif
+
+#include <demangle.h>
+#include "libiberty.h"
+
+/* A mini string-handling package */
+
+typedef struct string		/* Beware: these aren't required to be */
+{				/*  '\0' terminated.  */
+  char *b;			/* pointer to start of string */
+  char *p;			/* pointer after last character */
+  char *e;			/* pointer after end of allocated space */
+} string;
+
+static void
+string_need (string *s, int n)
+{
+  int tem;
+
+  if (s->b == NULL)
+    {
+      if (n < 32)
+	{
+	  n = 32;
+	}
+      s->p = s->b = XNEWVEC (char, n);
+      s->e = s->b + n;
+    }
+  else if (s->e - s->p < n)
+    {
+      tem = s->p - s->b;
+      n += tem;
+      n *= 2;
+      s->b = XRESIZEVEC (char, s->b, n);
+      s->p = s->b + tem;
+      s->e = s->b + n;
+    }
+}
+
+static void
+string_delete (string *s)
+{
+  if (s->b != NULL)
+    {
+      XDELETEVEC (s->b);
+      s->b = s->e = s->p = NULL;
+    }
+}
+
+static void
+string_init (string *s)
+{
+  s->b = s->p = s->e = NULL;
+}
+
+static int
+string_length (string *s)
+{
+  if (s->p == s->b)
+    {
+      return 0;
+    }
+  return s->p - s->b;
+}
+
+static void
+string_setlength (string *s, int n)
+{
+  if (n - string_length (s) < 0)
+    {
+      s->p = s->b + n;
+    }
+}
+
+static void
+string_append (string *p, const char *s)
+{
+  int n = strlen (s);
+  string_need (p, n);
+  memcpy (p->p, s, n);
+  p->p += n;
+}
+
+static void
+string_appendn (string *p, const char *s, int n)
+{
+  if (n != 0)
+    {
+      string_need (p, n);
+      memcpy (p->p, s, n);
+      p->p += n;
+    }
+}
+
+static void
+string_prependn (string *p, const char *s, int n)
+{
+  char *q;
+
+  if (n != 0)
+    {
+      string_need (p, n);
+      for (q = p->p - 1; q >= p->b; q--)
+	{
+	  q[n] = q[0];
+	}
+      memcpy (p->b, s, n);
+      p->p += n;
+    }
+}
+
+static void
+string_prepend (string *p, const char *s)
+{
+  if (s != NULL && *s != '\0')
+    {
+      string_prependn (p, s, strlen (s));
+    }
+}
+
+/* Prototypes for forward referenced functions */
+static const char *dlang_function_args (string *, const char *);
+
+static const char *dlang_type (string *, const char *);
+
+static const char *dlang_value (string *, const char *, const char *, char);
+
+static const char *dlang_parse_symbol (string *, const char *);
+
+static const char *dlang_parse_tuple (string *, const char *);
+
+static const char *dlang_parse_template (string *, const char *, long);
+
+
+/* Demangle the calling convention from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_call_convention (string *decl, const char *mangled)
+{
+  if (mangled == NULL || *mangled == '\0')
+    return mangled;
+
+  switch (*mangled)
+    {
+    case 'F': /* (D) */
+      mangled++;
+      break;
+    case 'U': /* (C) */
+      mangled++;
+      string_append (decl, "extern(C) ");
+      break;
+    case 'W': /* (Windows) */
+      mangled++;
+      string_append (decl, "extern(Windows) ");
+      break;
+    case 'V': /* (Pascal) */
+      mangled++;
+      string_append (decl, "extern(Pascal) ");
+      break;
+    case 'R': /* (C++) */
+      mangled++;
+      string_append (decl, "extern(C++) ");
+      break;
+    default:
+      return NULL;
+    }
+
+  return mangled;
+}
+
+/* Demangle the D function attributes from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_attributes (string *decl, const char *mangled)
+{
+  if (mangled == NULL || *mangled == '\0')
+    return mangled;
+
+  while (*mangled == 'N')
+    {
+      mangled++;
+      switch (*mangled)
+	{
+	case 'a': /* pure */
+	  mangled++;
+	  string_append (decl, "pure ");
+	  continue;
+	case 'b': /* nothrow */
+	  mangled++;
+	  string_append (decl, "nothrow ");
+	  continue;
+	case 'c': /* ref */
+	  mangled++;
+	  string_append (decl, "ref ");
+	  continue;
+	case 'd': /* @property */
+	  mangled++;
+	  string_append (decl, "@property ");
+	  continue;
+	case 'e': /* @trusted */
+	  mangled++;
+	  string_append (decl, "@trusted ");
+	  continue;
+	case 'f': /* @safe */
+	  mangled++;
+	  string_append (decl, "@safe ");
+	  continue;
+	case 'g':
+	case 'h':
+	  /* inout parameter is represented as 'Ng'.
+	     vector parameter is represented as 'Nh'.
+	     If we see this, then we know we're really in the
+	     parameter list.  Rewind and break.  */
+	  mangled--;
+	  break;
+	case 'i': /* @nogc */
+	  mangled++;
+	  string_append (decl, "@nogc ");
+	  continue;
+	}
+      break;
+    }
+
+  return mangled;
+}
+
+/* Demangle the function type from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_function_type (string *decl, const char *mangled)
+{
+  string attr, args, type;
+  size_t szattr, szargs, sztype;
+
+  if (mangled == NULL || *mangled == '\0')
+    return mangled;
+
+  /* The order of the mangled string is:
+	CallConvention FuncAttrs Arguments ArgClose Type
+
+     The demangled string is re-ordered as:
+	CallConvention Type Arguments FuncAttrs
+   */
+  string_init (&attr);
+  string_init (&args);
+  string_init (&type);
+
+  /* Function call convention.  */
+  mangled = dlang_call_convention (decl, mangled);
+
+  /* Function attributes.  */
+  mangled = dlang_attributes (&attr, mangled);
+  szattr = string_length (&attr);
+
+  /* Function arguments.  */
+  mangled = dlang_function_args (&args, mangled);
+  szargs = string_length (&args);
+
+  /* Function return type.  */
+  mangled = dlang_type (&type, mangled);
+  sztype = string_length (&type);
+
+  /* Append to decl in order. */
+  string_appendn (decl, type.b, sztype);
+  string_append (decl, "(");
+  string_appendn (decl, args.b, szargs);
+  string_append (decl, ") ");
+  string_appendn (decl, attr.b, szattr);
+
+  string_delete (&attr);
+  string_delete (&args);
+  string_delete (&type);
+  return mangled;
+}
+
+/* Demangle the argument list from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_function_args (string *decl, const char *mangled)
+{
+  size_t n = 0;
+
+  while (mangled && *mangled != '\0')
+    {
+      switch (*mangled)
+	{
+	case 'X': /* (variadic T t...) style.  */
+	  mangled++;
+	  string_append (decl, "...");
+	  return mangled;
+	case 'Y': /* (variadic T t, ...) style.  */
+	  mangled++;
+	  string_append (decl, ", ...");
+	  return mangled;
+	case 'Z': /* Normal function.  */
+	  mangled++;
+	  return mangled;
+	}
+
+      if (n++)
+	string_append (decl, ", ");
+
+      if (*mangled == 'M') /* scope(T) */
+	{
+	  mangled++;
+	  string_append (decl, "scope ");
+	}
+
+      switch (*mangled)
+	{
+	case 'J': /* out(T) */
+	  mangled++;
+	  string_append (decl, "out ");
+	  break;
+	case 'K': /* ref(T) */
+	  mangled++;
+	  string_append (decl, "ref ");
+	  break;
+	case 'L': /* lazy(T) */
+	  mangled++;
+	  string_append (decl, "lazy ");
+	  break;
+	}
+      mangled = dlang_type (decl, mangled);
+    }
+
+  return mangled;
+}
+
+/* Demangle the type from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_type (string *decl, const char *mangled)
+{
+  if (mangled == NULL || *mangled == '\0')
+    return mangled;
+
+  switch (*mangled)
+    {
+    case 'O': /* shared(T) */
+      mangled++;
+      string_append (decl, "shared(");
+      mangled = dlang_type (decl, mangled);
+      string_append (decl, ")");
+      return mangled;
+    case 'x': /* const(T) */
+      mangled++;
+      string_append (decl, "const(");
+      mangled = dlang_type (decl, mangled);
+      string_append (decl, ")");
+      return mangled;
+    case 'y': /* immutable(T) */
+      mangled++;
+      string_append (decl, "immutable(");
+      mangled = dlang_type (decl, mangled);
+      string_append (decl, ")");
+      return mangled;
+    case 'N':
+      mangled++;
+      if (*mangled == 'g') /* wild(T) */
+	{
+	  mangled++;
+	  string_append (decl, "inout(");
+	  mangled = dlang_type (decl, mangled);
+	  string_append (decl, ")");
+	  return mangled;
+	}
+      else if (*mangled == 'h') /* vector(T) */
+	{
+	  mangled++;
+	  string_append (decl, "__vector(");
+	  mangled = dlang_type (decl, mangled);
+	  string_append (decl, ")");
+	  return mangled;
+	}
+      else
+	return NULL;
+    case 'A': /* dynamic array (T[]) */
+      mangled++;
+      mangled = dlang_type (decl, mangled);
+      string_append (decl, "[]");
+      return mangled;
+    case 'G': /* static array (T[N]) */
+    {
+      const char *numptr;
+      size_t num = 0;
+      mangled++;
+
+      numptr = mangled;
+      while (ISDIGIT (*mangled))
+	{
+	  num++;
+	  mangled++;
+	}
+      mangled = dlang_type (decl, mangled);
+      string_append (decl, "[");
+      string_appendn (decl, numptr, num);
+      string_append (decl, "]");
+      return mangled;
+    }
+    case 'H': /* associative array (T[T]) */
+    {
+      string type;
+      size_t sztype;
+      mangled++;
+
+      string_init (&type);
+      mangled = dlang_type (&type, mangled);
+      sztype = string_length (&type);
+
+      mangled = dlang_type (decl, mangled);
+      string_append (decl, "[");
+      string_appendn (decl, type.b, sztype);
+      string_append (decl, "]");
+
+      string_delete (&type);
+      return mangled;
+    }
+    case 'P': /* pointer (T*) */
+      mangled++;
+      mangled = dlang_type (decl, mangled);
+      string_append (decl, "*");
+      return mangled;
+    case 'I': /* ident T */
+    case 'C': /* class T */
+    case 'S': /* struct T */
+    case 'E': /* enum T */
+    case 'T': /* typedef T */
+      mangled++;
+      return dlang_parse_symbol (decl, mangled);
+    case 'D': /* delegate T */
+      mangled++;
+      mangled = dlang_function_type (decl, mangled);
+      string_append (decl, "delegate");
+      return mangled;
+    case 'B': /* tuple T */
+      mangled++;
+      return dlang_parse_tuple (decl, mangled);
+
+    /* Function types */
+    case 'F': case 'U': case 'W':
+    case 'V': case 'R':
+      mangled = dlang_function_type (decl, mangled);
+      string_append (decl, "function");
+      return mangled;
+
+    /* Basic types */
+    case 'n':
+      mangled++;
+      string_append (decl, "none");
+      return mangled;
+    case 'v':
+      mangled++;
+      string_append (decl, "void");
+      return mangled;
+    case 'g':
+      mangled++;
+      string_append (decl, "byte");
+      return mangled;
+    case 'h':
+      mangled++;
+      string_append (decl, "ubyte");
+      return mangled;
+    case 's':
+      mangled++;
+      string_append (decl, "short");
+      return mangled;
+    case 't':
+      mangled++;
+      string_append (decl, "ushort");
+      return mangled;
+    case 'i':
+      mangled++;
+      string_append (decl, "int");
+      return mangled;
+    case 'k':
+      mangled++;
+      string_append (decl, "uint");
+      return mangled;
+    case 'l':
+      mangled++;
+      string_append (decl, "long");
+      return mangled;
+    case 'm':
+      mangled++;
+      string_append (decl, "ulong");
+      return mangled;
+    case 'f':
+      mangled++;
+      string_append (decl, "float");
+      return mangled;
+    case 'd':
+      mangled++;
+      string_append (decl, "double");
+      return mangled;
+    case 'e':
+      mangled++;
+      string_append (decl, "real");
+      return mangled;
+
+    /* Imaginary and Complex types */
+    case 'o':
+      mangled++;
+      string_append (decl, "ifloat");
+      return mangled;
+    case 'p':
+      mangled++;
+      string_append (decl, "idouble");
+      return mangled;
+    case 'j':
+      mangled++;
+      string_append (decl, "ireal");
+      return mangled;
+    case 'q':
+      mangled++;
+      string_append (decl, "cfloat");
+      return mangled;
+    case 'r':
+      mangled++;
+      string_append (decl, "cdouble");
+      return mangled;
+    case 'c':
+      mangled++;
+      string_append (decl, "creal");
+      return mangled;
+
+    /* Other types */
+    case 'b':
+      mangled++;
+      string_append (decl, "bool");
+      return mangled;
+    case 'a':
+      mangled++;
+      string_append (decl, "char");
+      return mangled;
+    case 'u':
+      mangled++;
+      string_append (decl, "wchar");
+      return mangled;
+    case 'w':
+      mangled++;
+      string_append (decl, "dchar");
+      return mangled;
+
+    default: /* unhandled */
+      return NULL;
+    }
+}
+
+/* Extract the identifier from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_identifier (string *decl, const char *mangled)
+{
+  if (mangled == NULL || *mangled == '\0')
+    return mangled;
+
+  if (ISDIGIT (*mangled))
+    {
+      char *endptr;
+      long i = strtol (mangled, &endptr, 10);
+
+      if (endptr == NULL || i <= 0 || strlen (endptr) < (size_t) i)
+	return NULL;
+
+      mangled = endptr;
+
+      /* May be a template instance.  */
+      if (i >= 5 && strncmp (mangled, "__T", 3) == 0)
+	{
+	  /* Template symbol.  */
+	  if (ISDIGIT (mangled[3]) && mangled[3] != '0')
+	    return dlang_parse_template (decl, mangled, i);
+
+	  return NULL;
+	}
+
+      if (strncmp (mangled, "__ctor", i) == 0)
+	{
+	  /* Constructor symbol for a class/struct.  */
+	  string_append (decl, "this");
+	  mangled += i;
+	  return mangled;
+	}
+      else if (strncmp (mangled, "__dtor", i) == 0)
+	{
+	  /* Destructor symbol for a class/struct.  */
+	  string_append (decl, "~this");
+	  mangled += i;
+	  return mangled;
+	}
+      else if (strncmp (mangled, "__postblit", i) == 0)
+	{
+	  /* Postblit symbol for a struct.  */
+	  string_append (decl, "this(this)");
+	  mangled += i;
+	  return mangled;
+	}
+      else if (strncmp (mangled, "__initZ", i+1) == 0)
+	{
+	  /* The static initialiser for a given symbol.  */
+	  string_append (decl, "init$");
+	  mangled += i + 1;
+	  return mangled;
+	}
+      else if (strncmp (mangled, "__ClassZ", i+1) == 0)
+	{
+	  /* The classinfo symbol for a given class.  */
+	  string_prepend (decl, "ClassInfo for ");
+	  string_setlength (decl, string_length (decl) - 1);
+	  mangled += i + 1;
+	  return mangled;
+	}
+      else if (strncmp (mangled, "__vtblZ", i+1) == 0)
+	{
+	  /* The vtable symbol for a given class.  */
+	  string_prepend (decl, "vtable for ");
+	  string_setlength (decl, string_length (decl) - 1);
+	  mangled += i + 1;
+	  return mangled;
+	}
+      else if (strncmp (mangled, "__InterfaceZ", i+1) == 0)
+	{
+	  /* The interface symbol for a given class.  */
+	  string_prepend (decl, "Interface for ");
+	  string_setlength (decl, string_length (decl) - 1);
+	  mangled += i + 1;
+	  return mangled;
+	}
+      else if (strncmp (mangled, "__ModuleInfoZ", i+1) == 0)
+	{
+	  /* The ModuleInfo symbol for a given module.  */
+	  string_prepend (decl, "ModuleInfo for ");
+	  string_setlength (decl, string_length (decl) - 1);
+	  mangled += i + 1;
+	  return mangled;
+	}
+
+      string_appendn (decl, mangled, i);
+      mangled += i;
+    }
+  else
+    return NULL;
+
+  return mangled;
+}
+
+/* Extract the integer value from MANGLED and append it to DECL,
+   where TYPE is the type it should be represented as.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_parse_integer (string *decl, const char *mangled, char type)
+{
+  if (type == 'a' || type == 'u' || type == 'w')
+    {
+      /* Parse character value.  */
+      char value[10];
+      int pos = 10;
+      int width = 0;
+      char *endptr;
+      long val = strtol (mangled, &endptr, 10);
+
+      if (endptr == NULL || val < 0)
+	return NULL;
+
+      string_append (decl, "'");
+
+      if (type == 'a' && val >= 0x20 && val < 0x7F)
+	{
+	  /* Represent as a character literal.  */
+	  char c = (char) val;
+	  string_appendn (decl, &c, 1);
+	}
+      else
+	{
+	  /* Represent as a hexadecimal value.  */
+	  switch (type)
+	    {
+	    case 'a': /* char */
+	      string_append (decl, "\\x");
+	      width = 2;
+	      break;
+	    case 'u': /* wchar */
+	      string_append (decl, "\\u");
+	      width = 4;
+	      break;
+	    case 'w': /* dchar */
+	      string_append (decl, "\\U");
+	      width = 8;
+	      break;
+	    }
+
+	  while (val > 0)
+	    {
+	      int digit = val % 16;
+
+	      if (digit < 10)
+		value[--pos] = (char)(digit + '0');
+	      else
+		value[--pos] = (char)((digit - 10) + 'a');
+
+	      val /= 16;
+	      width--;
+	    }
+
+	  for (; width > 0; width--)
+	    value[--pos] = '0';
+
+	  string_appendn (decl, &(value[pos]), 10 - pos);
+	}
+      string_append (decl, "'");
+      mangled = endptr;
+    }
+  else if (type == 'b')
+    {
+      /* Parse boolean value.  */
+      char *endptr;
+      long val = strtol (mangled, &endptr, 10);
+
+      if (endptr == NULL || val < 0)
+	return NULL;
+
+      string_append (decl, val ? "true" : "false");
+      mangled = endptr;
+    }
+  else
+    {
+      /* Parse integer value.  */
+      const char *numptr = mangled;
+      size_t num = 0;
+
+      while (ISDIGIT (*mangled))
+	{
+	  num++;
+	  mangled++;
+	}
+      string_appendn (decl, numptr, num);
+
+      /* Append suffix.  */
+      switch (type)
+	{
+	case 'h': /* ubyte */
+	case 't': /* ushort */
+	case 'k': /* uint */
+	  string_append (decl, "u");
+	  break;
+	case 'l': /* long */
+	  string_append (decl, "L");
+	  break;
+	case 'm': /* ulong */
+	  string_append (decl, "uL");
+	  break;
+	}
+    }
+
+  return mangled;
+}
+
+/* Extract the floating-point value from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_parse_real (string *decl, const char *mangled)
+{
+  char buffer[64];
+  int len = 0;
+  double value;
+  char *endptr;
+
+  /* Handle NAN and +-INF.  */
+  if (strncmp (mangled, "NAN", 3) == 0)
+    {
+      string_append (decl, "NaN");
+      mangled += 3;
+      return mangled;
+    }
+  else if (strncmp (mangled, "INF", 3) == 0)
+    {
+      string_append (decl, "Inf");
+      mangled += 3;
+      return mangled;
+    }
+  else if (strncmp (mangled, "NINF", 4) == 0)
+    {
+      string_append (decl, "-Inf");
+      mangled += 4;
+      return mangled;
+    }
+
+  /* Hexadecimal prefix and leading bit.  */
+  if (*mangled == 'N')
+    {
+      buffer[len++] = '-';
+      mangled++;
+    }
+
+  if (!ISXDIGIT (*mangled))
+    return NULL;
+
+  buffer[len++] = '0';
+  buffer[len++] = 'x';
+  buffer[len++] = *mangled;
+  buffer[len++] = '.';
+  mangled++;
+
+  /* Significand.  */
+  while (ISXDIGIT (*mangled))
+    {
+      buffer[len++] = *mangled;
+      mangled++;
+    }
+
+  /* Exponent.  */
+  if (*mangled != 'P')
+    return NULL;
+
+  buffer[len++] = 'p';
+  mangled++;
+
+  if (*mangled == 'N')
+    {
+      buffer[len++] = '-';
+      mangled++;
+    }
+
+  while (ISDIGIT (*mangled))
+    {
+      buffer[len++] = *mangled;
+      mangled++;
+    }
+
+  /* Convert buffer from hexadecimal to floating-point.  */
+  buffer[len] = '\0';
+  value = strtod (buffer, &endptr);
+
+  if (endptr == NULL || endptr != (buffer + len))
+    return NULL;
+
+  len = snprintf (buffer, sizeof(buffer), "%#g", value);
+  string_appendn (decl, buffer, len);
+  return mangled;
+}
+
+/* Convert VAL from an ascii hexdigit to value.  */
+static char
+ascii2hex (char val)
+{
+  if (val >= 'a' && val <= 'f')
+    return (val - 'a' + 10);
+
+  if (val >= 'A' && val <= 'F')
+    return (val - 'A' + 10);
+
+  if (val >= '0' && val <= '9')
+    return (val - '0');
+
+  return 0;
+}
+
+/* Extract the string value from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_parse_string (string *decl, const char *mangled)
+{
+  char type = *mangled;
+  char *endptr;
+  long len;
+
+  mangled++;
+  len = strtol (mangled, &endptr, 10);
+
+  if (endptr == NULL || len < 0)
+    return NULL;
+
+  mangled = endptr;
+  if (*mangled != '_')
+    return NULL;
+
+  mangled++;
+  string_append (decl, "\"");
+  while (len--)
+    {
+      if (ISXDIGIT (mangled[0]) && ISXDIGIT (mangled[1]))
+	{
+	  char a = ascii2hex (mangled[0]);
+	  char b = ascii2hex (mangled[1]);
+	  char val = (a << 4) | b;
+	  string_appendn (decl, &val, 1);
+	}
+      else
+	return NULL;
+
+      mangled += 2;
+    }
+  string_append (decl, "\"");
+
+  if (type != 'a')
+    string_appendn (decl, &type, 1);
+
+  return mangled;
+}
+
+/* Extract the static array value from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_parse_arrayliteral (string *decl, const char *mangled)
+{
+  char *endptr;
+  long elements = strtol (mangled, &endptr, 10);
+
+  if (endptr == NULL || elements < 0)
+    return NULL;
+
+  mangled = endptr;
+  string_append (decl, "[");
+  while (elements--)
+    {
+      mangled = dlang_value (decl, mangled, NULL, '\0');
+      if (elements != 0)
+	string_append (decl, ", ");
+    }
+
+  string_append (decl, "]");
+  return mangled;
+}
+
+/* Extract the associative array value from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_parse_assocarray (string *decl, const char *mangled)
+{
+  char *endptr;
+  long elements = strtol (mangled, &endptr, 10);
+
+  if (endptr == NULL || elements < 0)
+    return NULL;
+
+  mangled = endptr;
+  string_append (decl, "[");
+  while (elements--)
+    {
+      mangled = dlang_value (decl, mangled, NULL, '\0');
+      string_append (decl, ":");
+      mangled = dlang_value (decl, mangled, NULL, '\0');
+
+      if (elements != 0)
+	string_append (decl, ", ");
+    }
+
+  string_append (decl, "]");
+  return mangled;
+}
+
+/* Extract the struct literal value for NAME from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_parse_structlit (string *decl, const char *mangled, const char *name)
+{
+  char *endptr;
+  long args = strtol (mangled, &endptr, 10);
+
+  if (endptr == NULL || args < 0)
+    return NULL;
+
+  mangled = endptr;
+  if (name != NULL)
+    string_append (decl, name);
+
+  string_append (decl, "(");
+  while (args--)
+    {
+      mangled = dlang_value (decl, mangled, NULL, '\0');
+      if (args != 0)
+	string_append (decl, ", ");
+    }
+
+  string_append (decl, ")");
+  return mangled;
+}
+
+/* Extract the value from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_value (string *decl, const char *mangled, const char *name, char type)
+{
+  if (mangled == NULL || *mangled == '\0')
+    return mangled;
+
+  switch (*mangled)
+    {
+      /* Null value.  */
+    case 'n':
+      mangled++;
+      string_append (decl, "null");
+      break;
+
+      /* Integral values.  */
+    case 'N':
+      mangled++;
+      string_append (decl, "-");
+      mangled = dlang_parse_integer (decl, mangled, type);
+      break;
+
+    case 'i':
+      mangled++;
+      if (*mangled < '0' || *mangled > '9')
+	return NULL;
+      /* Fall through */
+    case '0': case '1': case '2': case '3': case '4':
+    case '5': case '6': case '7': case '8': case '9':
+      mangled = dlang_parse_integer (decl, mangled, type);
+      break;
+
+      /* Real value.  */
+    case 'e':
+      mangled++;
+      mangled = dlang_parse_real (decl, mangled);
+      break;
+
+      /* Complex value.  */
+    case 'c':
+      mangled++;
+      mangled = dlang_parse_real (decl, mangled);
+      string_append (decl, "+");
+      if (mangled == NULL || *mangled != 'c')
+	return NULL;
+      mangled++;
+      mangled = dlang_parse_real (decl, mangled);
+      string_append (decl, "i");
+      break;
+
+      /* String values.  */
+    case 'a': /* UTF8 */
+    case 'w': /* UTF16 */
+    case 'd': /* UTF32 */
+      mangled = dlang_parse_string (decl, mangled);
+      break;
+
+      /* Array values.  */
+    case 'A':
+      mangled++;
+      if (type == 'H')
+	mangled = dlang_parse_assocarray (decl, mangled);
+      else
+	mangled = dlang_parse_arrayliteral (decl, mangled);
+      break;
+
+      /* Struct values.  */
+    case 'S':
+      mangled++;
+      mangled = dlang_parse_structlit (decl, mangled, name);
+      break;
+
+    default:
+      return NULL;
+    }
+
+  return mangled;
+}
+
+static int
+dlang_call_convention_p (const char *mangled)
+{
+  size_t i;
+
+  switch (*mangled)
+    {
+    case 'F': case 'U': case 'V':
+    case 'W': case 'R':
+      return 1;
+
+    case 'M': /* Prefix for functions needing 'this' */
+      i = 1;
+      if (mangled[i] == 'x')
+	i++;
+
+      switch (mangled[i])
+	{
+	case 'F': case 'U': case 'V':
+	case 'W': case 'R':
+	  return 1;
+	}
+
+    default:
+      return 0;
+    }
+}
+
+/* Extract and demangle the symbol in MANGLED and append it to DECL.
+   Returns the remaining signature on success or NULL on failure.  */
+static const char *
+dlang_parse_symbol (string *decl, const char *mangled)
+{
+  size_t n = 0;
+  do
+    {
+      if (n++)
+	string_append (decl, ".");
+
+      mangled = dlang_identifier (decl, mangled);
+
+      if (mangled && dlang_call_convention_p (mangled))
+	{
+	  int saved;
+
+	  /* Skip over 'this' parameter.  */
+	  if (*mangled == 'M')
+	    mangled += (mangled[1] == 'x') ? 2 : 1;
+
+	  /* Skip over calling convention and attributes in qualified name.  */
+	  saved = string_length (decl);
+	  mangled = dlang_call_convention (decl, mangled);
+	  mangled = dlang_attributes (decl, mangled);
+	  string_setlength (decl, saved);
+
+	  string_append (decl, "(");
+	  mangled = dlang_function_args (decl, mangled);
+	  string_append (decl, ")");
+
+	  /* Demangle the function return type as a kind of sanity test.  */
+	  if (mangled && !ISDIGIT (*mangled))
+	    {
+	      saved = string_length (decl);
+	      mangled = dlang_type (decl, mangled);
+	      string_setlength (decl, saved);
+	    }
+	}
+    }
+  while (mangled && ISDIGIT (*mangled));
+
+  return mangled;
+}
+
+/* Demangle the tuple from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_parse_tuple (string *decl, const char *mangled)
+{
+  char *endptr;
+  long elements = strtol (mangled, &endptr, 10);
+
+  if (endptr == NULL || elements < 0)
+    return NULL;
+
+  mangled = endptr;
+  string_append (decl, "Tuple!(");
+
+  while (elements--)
+    {
+      mangled = dlang_type (decl, mangled);
+      if (elements != 0)
+	string_append (decl, ", ");
+    }
+
+  string_append (decl, ")");
+  return mangled;
+}
+
+/* Demangle the argument list from MANGLED and append it to DECL.
+   Return the remaining string on success or NULL on failure.  */
+static const char *
+dlang_template_args (string *decl, const char *mangled)
+{
+  size_t n = 0;
+
+  while (mangled && *mangled != '\0')
+    {
+      switch (*mangled)
+	{
+	case 'Z': /* End of parameter list.  */
+	  mangled++;
+	  return mangled;
+	}
+
+      if (n++)
+	string_append (decl, ", ");
+
+      switch (*mangled)
+	{
+	case 'S': /* Symbol parameter.  */
+	  mangled++;
+	  mangled = dlang_parse_symbol (decl, mangled);
+	  break;
+	case 'T': /* Type parameter.  */
+	  mangled++;
+	  mangled = dlang_type (decl, mangled);
+	  break;
+	case 'V': /* Value parameter.  */
+	{
+	  string name;
+	  char type;
+
+	  /* Peek at the type.  */
+	  mangled++;
+	  type = *mangled;
+
+	  /* In the few instances where the type is actually desired in
+	     the output, it should precede the value from dlang_value.  */
+	  string_init (&name);
+	  mangled = dlang_type (&name, mangled);
+	  string_need (&name, 1);
+	  *(name.p) = '\0';
+
+	  mangled = dlang_value (decl, mangled, name.b, type);
+	  string_delete (&name);
+	  break;
+	}
+
+	default:
+	  return NULL;
+	}
+    }
+
+  return mangled;
+}
+
+/* Extract and demangle the template symbol in MANGLED, expected to
+   be made up of LEN characters, and append it to DECL.
+   Returns the remaining signature on success or NULL on failure.  */
+static const char *
+dlang_parse_template (string *decl, const char *mangled, long len)
+{
+  const char *start = mangled;
+
+  /* Template instance names have the types and values of its parameters
+     encoded into it.
+
+	TemplateInstanceName:
+	    Number __T LName TemplateArgs Z
+		   ^
+     The start pointer should be at the above location, and LEN should be
+     the value of the decoded number.
+   */
+  if (strncmp (mangled, "__T", 3) != 0)
+    return NULL;
+
+  mangled += 3;
+
+  /* Template identifier.  */
+  mangled = dlang_identifier (decl, mangled);
+
+  /* Template arguments.  */
+  string_append (decl, "!(");
+  mangled = dlang_template_args (decl, mangled);
+  string_append (decl, ")");
+
+  /* Check for template name length mismatch.  */
+  if (mangled && (mangled - start) != len)
+    return NULL;
+
+  return mangled;
+}
+
+/* Extract and demangle the symbol in MANGLED.  Returns the demangled
+   signature on success or NULL on failure.  */
+
+char *
+dlang_demangle (const char *mangled, int option ATTRIBUTE_UNUSED)
+{
+  string decl;
+  char *demangled = NULL;
+
+  if (mangled == NULL || *mangled == '\0')
+    return NULL;
+
+  if (strncmp (mangled, "_D", 2) != 0)
+    return NULL;
+
+  string_init (&decl);
+
+  if (strcmp (mangled, "_Dmain") == 0)
+    {
+      string_append (&decl, "D main");
+    }
+  else
+    {
+      mangled += 2;
+
+      if (dlang_parse_symbol (&decl, mangled) == NULL)
+	string_delete (&decl);
+    }
+
+  if (string_length (&decl) > 0)
+    {
+      string_need (&decl, 1);
+      *(decl.p) = '\0';
+      demangled = decl.b;
+    }
+
+  return demangled;
+}
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/filename_cmp.c ./libiberty/filename_cmp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/filename_cmp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/filename_cmp.c	2015-01-20 02:05:40.000000000 +0000
@@ -24,8 +24,13 @@
 #include <string.h>
 #endif
 
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
 #include "filenames.h"
 #include "safe-ctype.h"
+#include "libiberty.h"
 
 /*
 
@@ -190,3 +195,27 @@ filename_eq (const void *s1, const void 
   /* The casts are for -Wc++-compat.  */
   return filename_cmp ((const char *) s1, (const char *) s2) == 0;
 }
+
+/*
+
+@deftypefn Extension int canonical_filename_eq (const char *@var{a}, const char *@var{b})
+
+Return non-zero if file names @var{a} and @var{b} are equivalent.
+This function compares the canonical versions of the filenames as returned by
+@code{lrealpath()}, so that so that different file names pointing to the same
+underlying file are treated as being identical.
+
+@end deftypefn
+
+*/
+
+int
+canonical_filename_eq (const char * a, const char * b)
+{
+  char * ca = lrealpath(a);
+  char * cb = lrealpath(b);
+  int res = filename_eq (ca, cb);
+  free (ca);
+  free (cb);
+  return res;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/functions.texi ./libiberty/functions.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/functions.texi	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/functions.texi	2015-01-20 02:05:40.000000000 +0000
@@ -125,7 +125,17 @@ Uses @code{malloc} to allocate storage f
 
 @end deftypefn
 
-@c choose-temp.c:46
+@c filename_cmp.c:201
+@deftypefn Extension int canonical_filename_eq (const char *@var{a}, const char *@var{b})
+
+Return non-zero if file names @var{a} and @var{b} are equivalent.
+This function compares the canonical versions of the filenames as returned by
+@code{lrealpath()}, so that so that different file names pointing to the same
+underlying file are treated as being identical.
+
+@end deftypefn
+
+@c choose-temp.c:45
 @deftypefn Extension char* choose_temp_base (void)
 
 Return a prefix for temporary file names or @code{NULL} if unable to
@@ -139,7 +149,7 @@ not recommended.
 @end deftypefn
 
 @c make-temp-file.c:96
-@deftypefn Replacement char* choose_tmpdir ()
+@deftypefn Replacement const char* choose_tmpdir ()
 
 Returns a pointer to a directory path suitable for creating temporary
 files in.
@@ -160,9 +170,8 @@ number of seconds used.
   @dots{}, @code{NULL})
 
 Concatenate zero or more of strings and return the result in freshly
-@code{xmalloc}ed memory.  Returns @code{NULL} if insufficient memory is
-available.  The argument list is terminated by the first @code{NULL}
-pointer encountered.  Pointers to empty strings are ignored.
+@code{xmalloc}ed memory.  The argument list is terminated by the first
+@code{NULL} pointer encountered.  Pointers to empty strings are ignored.
 
 @end deftypefn
 
@@ -287,7 +296,7 @@ value 1).  If @var{valu} is zero, zero i
 
 @end deftypefn
 
-@c filename_cmp.c:32
+@c filename_cmp.c:37
 @deftypefn Extension int filename_cmp (const char *@var{s1}, const char *@var{s2})
 
 Return zero if the two file names @var{s1} and @var{s2} are equivalent.
@@ -304,7 +313,7 @@ and backward slashes are equal.
 
 @end deftypefn
 
-@c filename_cmp.c:178
+@c filename_cmp.c:183
 @deftypefn Extension int filename_eq (const void *@var{s1}, const void *@var{s2})
 
 Return non-zero if file names @var{s1} and @var{s2} are equivalent.
@@ -312,7 +321,7 @@ This function is for use with hashtab.c 
 
 @end deftypefn
 
-@c filename_cmp.c:147
+@c filename_cmp.c:152
 @deftypefn Extension hashval_t filename_hash (const void *@var{s})
 
 Return the hash value for file name @var{s} that will be compared
@@ -321,7 +330,7 @@ This function is for use with hashtab.c 
 
 @end deftypefn
 
-@c filename_cmp.c:89
+@c filename_cmp.c:94
 @deftypefn Extension int filename_ncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{n})
 
 Return zero if the two file names @var{s1} and @var{s2} are equivalent
@@ -528,7 +537,7 @@ nineteen EBCDIC varying characters is te
 @end ftable
 @end defvr
 
-@c hashtab.c:336
+@c hashtab.c:328
 @deftypefn Supplemental htab_t htab_create_typed_alloc (size_t @var{size}, @
 htab_hash @var{hash_f}, htab_eq @var{eq_f}, htab_del @var{del_f}, @
 htab_alloc @var{alloc_tab_f}, htab_alloc @var{alloc_f}, @
@@ -1163,7 +1172,7 @@ control over the state of the random num
 
 @end deftypefn
 
-@c concat.c:174
+@c concat.c:160
 @deftypefn Extension char* reconcat (char *@var{optr}, const char *@var{s1}, @
   @dots{}, @code{NULL})
 
@@ -1715,6 +1724,24 @@ that the converted value is unsigned.
 
 @end deftypefn
 
+@c strtoll.c:33
+@deftypefn Supplemental {long long int} strtoll (const char *@var{string}, @
+  char **@var{endptr}, int @var{base})
+@deftypefnx Supplemental {unsigned long long int} strtoul (@
+  const char *@var{string}, char **@var{endptr}, int @var{base})
+
+The @code{strtoll} function converts the string in @var{string} to a
+long long integer value according to the given @var{base}, which must be
+between 2 and 36 inclusive, or be the special value 0.  If @var{base}
+is 0, @code{strtoll} will look for the prefixes @code{0} and @code{0x}
+to indicate bases 8 and 16, respectively, else default to base 10.
+When the base is 16 (either explicitly or implicitly), a prefix of
+@code{0x} is allowed.  The handling of @var{endptr} is as that of
+@code{strtod} above.  The @code{strtoull} function is the same, except
+that the converted value is unsigned.
+
+@end deftypefn
+
 @c strsignal.c:502
 @deftypefn Extension int strtosigno (const char *@var{name})
 
@@ -1896,6 +1923,15 @@ if an error occurred while writing to FI
 
 @end deftypefn
 
+@c xasprintf.c:31
+@deftypefn Replacement char* xasprintf (const char *@var{format}, ...)
+
+Print to allocated string without fail.  If @code{xasprintf} fails,
+this will print a message to @code{stderr} (using the name set by
+@code{xmalloc_set_program_name}, if any) and then call @code{xexit}.
+
+@end deftypefn
+
 @c xatexit.c:11
 @deftypefun int xatexit (void (*@var{fn}) (void))
 
@@ -1995,4 +2031,13 @@ always NUL terminated.
 
 @end deftypefn
 
+@c xvasprintf.c:38
+@deftypefn Replacement char* xvasprintf (const char *@var{format}, va_list @var{args})
+
+Print to allocated string without fail.  If @code{xvasprintf} fails,
+this will print a message to @code{stderr} (using the name set by
+@code{xmalloc_set_program_name}, if any) and then call @code{xexit}.
+
+@end deftypefn
+
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/Makefile.in ./libiberty/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/Makefile.in	2015-01-20 02:05:40.000000000 +0000
@@ -127,7 +127,7 @@ CFILES = alloca.c argv.c asprintf.c atex
 	basename.c bcmp.c bcopy.c bsearch.c bzero.c			\
 	calloc.c choose-temp.c clock.c concat.c cp-demangle.c		\
 	 cp-demint.c cplus-dem.c crc32.c				\
-	dwarfnames.c dyn-string.c					\
+	d-demangle.c dwarfnames.c dyn-string.c				\
 	fdmatch.c ffs.c fibheap.c filename_cmp.c floatformat.c		\
 	fnmatch.c fopen_unlocked.c					\
 	getcwd.c getopt.c getopt1.c getpagesize.c getpwd.c getruntime.c	\
@@ -152,13 +152,14 @@ CFILES = alloca.c argv.c asprintf.c atex
 	 spaces.c splay-tree.c stack-limit.c stpcpy.c stpncpy.c		\
 	 strcasecmp.c strchr.c strdup.c strerror.c strncasecmp.c	\
 	 strncmp.c strrchr.c strsignal.c strstr.c strtod.c strtol.c	\
-	 strtoul.c strndup.c strnlen.c strverscmp.c			\
-	timeval-utils.c tmpnam.c					\
+	 strtoll.c strtoul.c strtoull.c strndup.c strnlen.c             \
+	 strverscmp.c timeval-utils.c tmpnam.c				\
 	unlink-if-ordinary.c						\
-	vasprintf.c vfork.c vfprintf.c vprintf.c vsnprintf.c vsprintf.c	\
+	vasprintf.c vfork.c vfprintf.c vprintf.c vprintf-support.c	\
+	 vsnprintf.c vsprintf.c						\
 	waitpid.c							\
-	xatexit.c xexit.c xmalloc.c xmemdup.c xstrdup.c xstrerror.c	\
-	 xstrndup.c
+	xasprintf.c xatexit.c xexit.c xmalloc.c xmemdup.c xstrdup.c	\
+	 xstrerror.c xstrndup.c xvasprintf.c
 
 # These are always included in the library.  The first four are listed
 # first and by compile time to optimize parallel builds.
@@ -167,7 +168,7 @@ REQUIRED_OFILES =							\
 	./md5.$(objext) ./sha1.$(objext) ./alloca.$(objext)		\
 	./argv.$(objext)						\
 	./choose-temp.$(objext) ./concat.$(objext)			\
-	./cp-demint.$(objext) ./crc32.$(objext)				\
+	./cp-demint.$(objext) ./crc32.$(objext) ./d-demangle.$(objext)	\
 	./dwarfnames.$(objext) ./dyn-string.$(objext)			\
 	./fdmatch.$(objext) ./fibheap.$(objext)				\
 	./filename_cmp.$(objext) ./floatformat.$(objext)		\
@@ -180,7 +181,7 @@ REQUIRED_OFILES =							\
 	./obstack.$(objext)						\
 	./partition.$(objext) ./pexecute.$(objext) ./physmem.$(objext)	\
 	./pex-common.$(objext) ./pex-one.$(objext)			\
-	./@pexecute@.$(objext)						\
+	./@pexecute@.$(objext) ./vprintf-support.$(objext)		\
 	./safe-ctype.$(objext)						\
 	./simple-object.$(objext) ./simple-object-coff.$(objext)	\
 	./simple-object-elf.$(objext) ./simple-object-mach-o.$(objext)	\
@@ -189,9 +190,10 @@ REQUIRED_OFILES =							\
 	./splay-tree.$(objext) ./stack-limit.$(objext)			\
 	./strerror.$(objext) ./strsignal.$(objext)			\
 	./timeval-utils.$(objext) ./unlink-if-ordinary.$(objext)	\
-	./xatexit.$(objext) ./xexit.$(objext) ./xmalloc.$(objext)	\
-	./xmemdup.$(objext) ./xstrdup.$(objext) ./xstrerror.$(objext)	\
-	./xstrndup.$(objext)
+	./xasprintf.$(objext) ./xatexit.$(objext) ./xexit.$(objext)	\
+	./xmalloc.$(objext) ./xmemdup.$(objext) ./xstrdup.$(objext)	\
+	./xstrerror.$(objext) ./xstrndup.$(objext)			\
+	./xvasprintf.$(objext)
 
 # These are all the objects that configure may add to the library via
 # $funcs or EXTRA_OFILES.  This list exists here only for "make
@@ -219,8 +221,8 @@ CONFIGURED_OFILES = ./asprintf.$(objext)
 	 ./strchr.$(objext) ./strdup.$(objext) ./strncasecmp.$(objext)	\
 	 ./strncmp.$(objext) ./strndup.$(objext) ./strnlen.$(objext)	\
 	 ./strrchr.$(objext) ./strstr.$(objext) ./strtod.$(objext)	\
-	 ./strtol.$(objext) ./strtoul.$(objext) ./strverscmp.$(objext)	\
-	./tmpnam.$(objext)						\
+	 ./strtol.$(objext) ./strtoul.$(objext) strtoll.$(objext)	\
+	./strtoull.$(objext) ./tmpnam.$(objext) ./strverscmp.$(objext)	\
 	./vasprintf.$(objext) ./vfork.$(objext) ./vfprintf.$(objext)	\
 	 ./vprintf.$(objext) ./vsnprintf.$(objext) ./vsprintf.$(objext)	\
 	./waitpid.$(objext)
@@ -694,6 +696,17 @@ maintainer-clean-subdir: config.h
 	else true; fi
 	$(COMPILE.c) $(srcdir)/crc32.c $(OUTPUT_OPTION)
 
+./d-demangle.$(objext): $(srcdir)/d-demangle.c config.h $(INCDIR)/ansidecl.h \
+	$(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
+	$(INCDIR)/safe-ctype.h
+	if [ x"$(PICFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(srcdir)/d-demangle.c -o pic/$@; \
+	else true; fi
+	if [ x"$(NOASANFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/d-demangle.c -o noasan/$@; \
+	else true; fi
+	$(COMPILE.c) $(srcdir)/d-demangle.c $(OUTPUT_OPTION)
+
 ./dwarfnames.$(objext): $(srcdir)/dwarfnames.c $(INCDIR)/dwarf2.def \
 	$(INCDIR)/dwarf2.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1463,6 +1476,15 @@ maintainer-clean-subdir: config.h
 	else true; fi
 	$(COMPILE.c) $(srcdir)/strtol.c $(OUTPUT_OPTION)
 
+./strtoll.$(objext): $(srcdir)/strtoll.c config.h $(INCDIR)/safe-ctype.h
+	if [ x"$(PICFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoll.c -o pic/$@; \
+	else true; fi
+	if [ x"$(NOASANFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoll.c -o noasan/$@; \
+	else true; fi
+	$(COMPILE.c) $(srcdir)/strtoll.c $(OUTPUT_OPTION)
+
 ./strtoul.$(objext): $(srcdir)/strtoul.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/safe-ctype.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1473,6 +1495,16 @@ maintainer-clean-subdir: config.h
 	else true; fi
 	$(COMPILE.c) $(srcdir)/strtoul.c $(OUTPUT_OPTION)
 
+./strtoull.$(objext): $(srcdir)/strtoull.c config.h $(INCDIR)/ansidecl.h \
+	$(INCDIR)/safe-ctype.h
+	if [ x"$(PICFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoull.c -o pic/$@; \
+	else true; fi
+	if [ x"$(NOASANFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoull.c -o noasan/$@; \
+	else true; fi
+	$(COMPILE.c) $(srcdir)/strtoull.c $(OUTPUT_OPTION)
+
 ./strverscmp.$(objext): $(srcdir)/strverscmp.c $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1513,7 +1545,7 @@ maintainer-clean-subdir: config.h
 	$(COMPILE.c) $(srcdir)/unlink-if-ordinary.c $(OUTPUT_OPTION)
 
 ./vasprintf.$(objext): $(srcdir)/vasprintf.c config.h $(INCDIR)/ansidecl.h \
-	$(INCDIR)/libiberty.h
+	$(INCDIR)/libiberty.h $(srcdir)/vprintf-support.h
 	if [ x"$(PICFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(srcdir)/vasprintf.c -o pic/$@; \
 	else true; fi
@@ -1540,6 +1572,16 @@ maintainer-clean-subdir: config.h
 	else true; fi
 	$(COMPILE.c) $(srcdir)/vfprintf.c $(OUTPUT_OPTION)
 
+./vprintf-support.$(objext): $(srcdir)/vprintf-support.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+	if [ x"$(PICFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(srcdir)/vprintf-support.c -o pic/$@; \
+	else true; fi
+	if [ x"$(NOASANFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vprintf-support.c -o noasan/$@; \
+	else true; fi
+	$(COMPILE.c) $(srcdir)/vprintf-support.c $(OUTPUT_OPTION)
+
 ./vprintf.$(objext): $(srcdir)/vprintf.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(srcdir)/vprintf.c -o pic/$@; \
@@ -1577,6 +1619,16 @@ maintainer-clean-subdir: config.h
 	else true; fi
 	$(COMPILE.c) $(srcdir)/waitpid.c $(OUTPUT_OPTION)
 
+./xasprintf.$(objext): $(srcdir)/xasprintf.c config.h $(INCDIR)/ansidecl.h \
+	$(INCDIR)/libiberty.h
+	if [ x"$(PICFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(srcdir)/xasprintf.c -o pic/$@; \
+	else true; fi
+	if [ x"$(NOASANFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xasprintf.c -o noasan/$@; \
+	else true; fi
+	$(COMPILE.c) $(srcdir)/xasprintf.c $(OUTPUT_OPTION)
+
 ./xatexit.$(objext): $(srcdir)/xatexit.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1647,3 +1699,12 @@ maintainer-clean-subdir: config.h
 	else true; fi
 	$(COMPILE.c) $(srcdir)/xstrndup.c $(OUTPUT_OPTION)
 
+./xvasprintf.$(objext): $(srcdir)/xvasprintf.c config.h $(INCDIR)/ansidecl.h \
+	$(INCDIR)/libiberty.h $(srcdir)/vprintf-support.h
+	if [ x"$(PICFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(srcdir)/xvasprintf.c -o pic/$@; \
+	else true; fi
+	if [ x"$(NOASANFLAG)" != x ]; then \
+	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xvasprintf.c -o noasan/$@; \
+	else true; fi
+	$(COMPILE.c) $(srcdir)/xvasprintf.c $(OUTPUT_OPTION)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/make-temp-file.c ./libiberty/make-temp-file.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/make-temp-file.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/make-temp-file.c	2015-01-20 02:05:40.000000000 +0000
@@ -93,7 +93,7 @@ static char *memoized_tmpdir;
 
 /*
 
-@deftypefn Replacement char* choose_tmpdir ()
+@deftypefn Replacement const char* choose_tmpdir ()
 
 Returns a pointer to a directory path suitable for creating temporary
 files in.
@@ -102,7 +102,7 @@ files in.
 
 */
 
-char *
+const char *
 choose_tmpdir (void)
 {
   if (!memoized_tmpdir)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-common.c ./libiberty/pex-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-common.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/pex-common.c	2015-01-20 02:05:40.000000000 +0000
@@ -267,7 +267,8 @@ pex_run_in_environment (struct pex_obj *
   if (out < 0)
     {
       out = obj->funcs->open_write (obj, outname,
-				    (flags & PEX_BINARY_OUTPUT) != 0);
+				    (flags & PEX_BINARY_OUTPUT) != 0,
+				    (flags & PEX_STDOUT_APPEND) != 0);
       if (out < 0)
 	{
 	  *err = errno;
@@ -319,8 +320,9 @@ pex_run_in_environment (struct pex_obj *
     }
   else
     {
-      errdes = obj->funcs->open_write (obj, errname, 
-				       (flags & PEX_BINARY_ERROR) != 0);
+      errdes = obj->funcs->open_write (obj, errname,
+				       (flags & PEX_BINARY_ERROR) != 0,
+				       (flags & PEX_STDERR_APPEND) != 0);
       if (errdes < 0)
 	{
 	  *err = errno;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-common.h ./libiberty/pex-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-common.h	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/pex-common.h	2015-01-20 02:05:40.000000000 +0000
@@ -104,7 +104,7 @@ struct pex_funcs
   /* Open file NAME for writing.  If BINARY is non-zero, open in
      binary mode.  Return >= 0 on success, -1 on error.  */
   int (*open_write) (struct pex_obj *, const char */* name */,
-                     int /* binary */);
+                     int /* binary */, int /* append */);
   /* Execute a child process.  FLAGS, EXECUTABLE, ARGV, ERR are from
      pex_run.  IN, OUT, ERRDES, TOCLOSE are all descriptors, from
      open_read, open_write, or pipe, or they are one of STDIN_FILE_NO,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-djgpp.c ./libiberty/pex-djgpp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-djgpp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/pex-djgpp.c	2015-01-20 02:05:40.000000000 +0000
@@ -43,7 +43,7 @@ extern int errno;
 #endif
 
 static int pex_djgpp_open_read (struct pex_obj *, const char *, int);
-static int pex_djgpp_open_write (struct pex_obj *, const char *, int);
+static int pex_djgpp_open_write (struct pex_obj *, const char *, int, int);
 static pid_t pex_djgpp_exec_child (struct pex_obj *, int, const char *,
 				  char * const *, char * const *,
 				  int, int, int, int,
@@ -90,10 +90,12 @@ pex_djgpp_open_read (struct pex_obj *obj
 
 static int
 pex_djgpp_open_write (struct pex_obj *obj ATTRIBUTE_UNUSED,
-		      const char *name, int binary)
+		      const char *name, int binary, int append)
 {
   /* Note that we can't use O_EXCL here because gcc may have already
      created the temporary file via make_temp_file.  */
+  if (append)
+    return -1;
   return open (name,
 	       (O_WRONLY | O_CREAT | O_TRUNC
 		| (binary ? O_BINARY : O_TEXT)),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-unix.c ./libiberty/pex-unix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-unix.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/pex-unix.c	2015-01-20 02:05:40.000000000 +0000
@@ -301,7 +301,7 @@ pex_wait (struct pex_obj *obj, pid_t pid
 static void pex_child_error (struct pex_obj *, const char *, const char *, int)
      ATTRIBUTE_NORETURN;
 static int pex_unix_open_read (struct pex_obj *, const char *, int);
-static int pex_unix_open_write (struct pex_obj *, const char *, int);
+static int pex_unix_open_write (struct pex_obj *, const char *, int, int);
 static pid_t pex_unix_exec_child (struct pex_obj *, int, const char *,
 				 char * const *, char * const *,
 				 int, int, int, int,
@@ -350,11 +350,12 @@ pex_unix_open_read (struct pex_obj *obj 
 
 static int
 pex_unix_open_write (struct pex_obj *obj ATTRIBUTE_UNUSED, const char *name,
-		     int binary ATTRIBUTE_UNUSED)
+		     int binary ATTRIBUTE_UNUSED, int append)
 {
   /* Note that we can't use O_EXCL here because gcc may have already
      created the temporary file via make_temp_file.  */
-  return open (name, O_WRONLY | O_CREAT | O_TRUNC, PUBLIC_MODE);
+  return open (name, O_WRONLY | O_CREAT
+		     | (append ? O_APPEND : O_TRUNC), PUBLIC_MODE);
 }
 
 /* Close a file.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-win32.c ./libiberty/pex-win32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/pex-win32.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/pex-win32.c	2015-01-20 02:05:40.000000000 +0000
@@ -78,7 +78,7 @@ backslashify (char *s)
 }
 
 static int pex_win32_open_read (struct pex_obj *, const char *, int);
-static int pex_win32_open_write (struct pex_obj *, const char *, int);
+static int pex_win32_open_write (struct pex_obj *, const char *, int, int);
 static pid_t pex_win32_exec_child (struct pex_obj *, int, const char *,
 				  char * const *, char * const *,
                                   int, int, int, int,
@@ -126,10 +126,12 @@ pex_win32_open_read (struct pex_obj *obj
 
 static int
 pex_win32_open_write (struct pex_obj *obj ATTRIBUTE_UNUSED, const char *name,
-		      int binary)
+		      int binary, int append)
 {
   /* Note that we can't use O_EXCL here because gcc may have already
      created the temporary file via make_temp_file.  */
+  if (append)
+    return -1;
   return _open (name,
 		(_O_WRONLY | _O_CREAT | _O_TRUNC
 		 | (binary ? _O_BINARY : _O_TEXT)),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/sigsetmask.c ./libiberty/sigsetmask.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/sigsetmask.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/sigsetmask.c	2015-01-20 02:05:40.000000000 +0000
@@ -15,7 +15,6 @@ be the value @code{1}).
 
 */
 
-#define _POSIX_SOURCE
 #include <ansidecl.h>
 /* Including <sys/types.h> seems to be needed by ISC. */
 #include <sys/types.h>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/simple-object-elf.c ./libiberty/simple-object-elf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/simple-object-elf.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/simple-object-elf.c	2015-01-20 02:05:40.000000000 +0000
@@ -698,6 +698,7 @@ simple_object_elf_write_ehdr (simple_obj
   unsigned char buf[sizeof (Elf64_External_Ehdr)];
   simple_object_write_section *section;
   unsigned int shnum;
+  unsigned int shstrndx;
 
   fns = attrs->type_functions;
   cl = attrs->ei_class;
@@ -743,9 +744,17 @@ simple_object_elf_write_ehdr (simple_obj
 		 (cl == ELFCLASS32
 		  ? sizeof (Elf32_External_Shdr)
 		  : sizeof (Elf64_External_Shdr)));
-  ELF_SET_FIELD (fns, cl, Ehdr, buf, e_shnum, Elf_Half, shnum);
-  ELF_SET_FIELD (fns, cl, Ehdr, buf, e_shstrndx, Elf_Half,
-		 shnum == 0 ? 0 : shnum - 1);
+  ELF_SET_FIELD (fns, cl, Ehdr, buf, e_shnum, Elf_Half,
+		 shnum >= SHN_LORESERVE ? 0 : shnum);
+  if (shnum == 0)
+    shstrndx = 0;
+  else
+    {
+      shstrndx = shnum - 1;
+      if (shstrndx >= SHN_LORESERVE)
+	shstrndx = SHN_XINDEX;
+    }
+  ELF_SET_FIELD (fns, cl, Ehdr, buf, e_shstrndx, Elf_Half, shstrndx);
 
   return simple_object_internal_write (descriptor, 0, buf, ehdr_size,
 				       errmsg, err);
@@ -758,8 +767,8 @@ simple_object_elf_write_shdr (simple_obj
 			      off_t offset, unsigned int sh_name,
 			      unsigned int sh_type, unsigned int sh_flags,
 			      unsigned int sh_offset, unsigned int sh_size,
-			      unsigned int sh_addralign, const char **errmsg,
-			      int *err)
+			      unsigned int sh_link, unsigned int sh_addralign,
+			      const char **errmsg, int *err)
 {
   struct simple_object_elf_attributes *attrs =
     (struct simple_object_elf_attributes *) sobj->data;
@@ -781,7 +790,7 @@ simple_object_elf_write_shdr (simple_obj
   ELF_SET_FIELD (fns, cl, Shdr, buf, sh_flags, Elf_Addr, sh_flags);
   ELF_SET_FIELD (fns, cl, Shdr, buf, sh_offset, Elf_Addr, sh_offset);
   ELF_SET_FIELD (fns, cl, Shdr, buf, sh_size, Elf_Addr, sh_size);
-  /* sh_link left as zero.  */
+  ELF_SET_FIELD (fns, cl, Shdr, buf, sh_link, Elf_Word, sh_link);
   /* sh_info left as zero.  */
   ELF_SET_FIELD (fns, cl, Shdr, buf, sh_addralign, Elf_Addr, sh_addralign);
   /* sh_entsize left as zero.  */
@@ -812,6 +821,8 @@ simple_object_elf_write_to_file (simple_
   unsigned int shnum;
   size_t shdr_offset;
   size_t sh_offset;
+  unsigned int first_sh_size;
+  unsigned int first_sh_link;
   size_t sh_name;
   unsigned char zero;
 
@@ -842,8 +853,17 @@ simple_object_elf_write_to_file (simple_
   shdr_offset = ehdr_size;
   sh_offset = shdr_offset + shnum * shdr_size;
 
+  if (shnum < SHN_LORESERVE)
+    first_sh_size = 0;
+  else
+    first_sh_size = shnum;
+  if (shnum - 1 < SHN_LORESERVE)
+    first_sh_link = 0;
+  else
+    first_sh_link = shnum - 1;
   if (!simple_object_elf_write_shdr (sobj, descriptor, shdr_offset,
-				     0, 0, 0, 0, 0, 0, &errmsg, err))
+				     0, 0, 0, 0, first_sh_size, first_sh_link,
+				     0, &errmsg, err))
     return errmsg;
 
   shdr_offset += shdr_size;
@@ -887,7 +907,7 @@ simple_object_elf_write_to_file (simple_
 
       if (!simple_object_elf_write_shdr (sobj, descriptor, shdr_offset,
 					 sh_name, SHT_PROGBITS, 0, sh_offset,
-					 sh_size, 1U << section->align,
+					 sh_size, 0, 1U << section->align,
 					 &errmsg, err))
 	return errmsg;
 
@@ -898,7 +918,7 @@ simple_object_elf_write_to_file (simple_
 
   if (!simple_object_elf_write_shdr (sobj, descriptor, shdr_offset,
 				     sh_name, SHT_STRTAB, 0, sh_offset,
-				     sh_name + strlen (".shstrtab") + 1,
+				     sh_name + strlen (".shstrtab") + 1, 0,
 				     1, &errmsg, err))
     return errmsg;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/strerror.c ./libiberty/strerror.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/strerror.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/strerror.c	2015-01-20 02:05:40.000000000 +0000
@@ -469,8 +469,13 @@ static const char **sys_errlist;
 
 #else
 
+
+#ifndef sys_nerr
 extern int sys_nerr;
+#endif
+#ifndef sys_errlist
 extern char *sys_errlist[];
+#endif
 
 #endif
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/strtoll.c ./libiberty/strtoll.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/strtoll.c	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/strtoll.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,175 @@
+/*-
+ * Copyright (c) 2014 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. [rescinded 22 July 1999]
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+
+@deftypefn Supplemental {long long int} strtoll (const char *@var{string}, @
+  char **@var{endptr}, int @var{base})
+@deftypefnx Supplemental {unsigned long long int} strtoul (@
+  const char *@var{string}, char **@var{endptr}, int @var{base})
+
+The @code{strtoll} function converts the string in @var{string} to a
+long long integer value according to the given @var{base}, which must be
+between 2 and 36 inclusive, or be the special value 0.  If @var{base}
+is 0, @code{strtoll} will look for the prefixes @code{0} and @code{0x}
+to indicate bases 8 and 16, respectively, else default to base 10.
+When the base is 16 (either explicitly or implicitly), a prefix of
+@code{0x} is allowed.  The handling of @var{endptr} is as that of
+@code{strtod} above.  The @code{strtoull} function is the same, except
+that the converted value is unsigned.
+
+@end deftypefn
+
+*/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+#include <errno.h>
+#ifdef NEED_DECLARATION_ERRNO
+extern int errno;
+#endif
+#include "safe-ctype.h"
+
+#ifdef HAVE_LONG_LONG
+
+__extension__
+typedef unsigned long long ullong_type;
+
+__extension__
+typedef long long llong_type;
+
+/* FIXME: It'd be nice to configure around these, but the include files are too
+   painful.  These macros should at least be more portable than hardwired hex
+   constants. */
+
+#ifndef ULLONG_MAX
+#define ULLONG_MAX (~(ullong_type)0) /* 0xFFFFFFFFFFFFFFFF */
+#endif
+
+#ifndef LLONG_MAX
+#define LLONG_MAX ((llong_type)(ULLONG_MAX >> 1)) /* 0x7FFFFFFFFFFFFFFF */
+#endif
+
+#ifndef LLONG_MIN
+#define LLONG_MIN (~LLONG_MAX) /* 0x8000000000000000 */
+#endif
+
+/*
+ * Convert a string to a long long integer.
+ *
+ * Ignores `locale' stuff.  Assumes that the upper and lower case
+ * alphabets and digits are each contiguous.
+ */
+llong_type
+strtoll(const char *nptr, char **endptr, register int base)
+{
+	register const char *s = nptr;
+	register ullong_type acc;
+	register int c;
+	register ullong_type cutoff;
+	register int neg = 0, any, cutlim;
+
+	/*
+	 * Skip white space and pick up leading +/- sign if any.
+	 * If base is 0, allow 0x for hex and 0 for octal, else
+	 * assume decimal; if base is already 16, allow 0x.
+	 */
+	do {
+		c = *s++;
+	} while (ISSPACE(c));
+	if (c == '-') {
+		neg = 1;
+		c = *s++;
+	} else if (c == '+')
+		c = *s++;
+	if ((base == 0 || base == 16) &&
+	    c == '0' && (*s == 'x' || *s == 'X')) {
+		c = s[1];
+		s += 2;
+		base = 16;
+	}
+	if (base == 0)
+		base = c == '0' ? 8 : 10;
+
+	/*
+	 * Compute the cutoff value between legal numbers and illegal
+	 * numbers.  That is the largest legal value, divided by the
+	 * base.  An input number that is greater than this value, if
+	 * followed by a legal input character, is too big.  One that
+	 * is equal to this value may be valid or not; the limit
+	 * between valid and invalid numbers is then based on the last
+	 * digit.  For instance, if the range for longs is
+	 * [-2147483648..2147483647] and the input base is 10,
+	 * cutoff will be set to 214748364 and cutlim to either
+	 * 7 (neg==0) or 8 (neg==1), meaning that if we have accumulated
+	 * a value > 214748364, or equal but the next digit is > 7 (or 8),
+	 * the number is too big, and we will return a range error.
+	 *
+	 * Set any if any `digits' consumed; make it negative to indicate
+	 * overflow.
+	 */
+	cutoff = neg ? -(ullong_type)LLONG_MIN : LLONG_MAX;
+	cutlim = cutoff % (ullong_type)base;
+	cutoff /= (ullong_type)base;
+	for (acc = 0, any = 0;; c = *s++) {
+		if (ISDIGIT(c))
+			c -= '0';
+		else if (ISALPHA(c))
+			c -= ISUPPER(c) ? 'A' - 10 : 'a' - 10;
+		else
+			break;
+		if (c >= base)
+			break;
+		if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim))
+			any = -1;
+		else {
+			any = 1;
+			acc *= base;
+			acc += c;
+		}
+	}
+	if (any < 0) {
+		acc = neg ? LLONG_MIN : LLONG_MAX;
+		errno = ERANGE;
+	} else if (neg)
+		acc = -acc;
+	if (endptr != 0)
+		*endptr = (char *) (any ? s - 1 : nptr);
+	return (acc);
+}
+
+#endif /* ifdef HAVE_LONG_LONG */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/strtoull.c ./libiberty/strtoull.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/strtoull.c	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/strtoull.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2014 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. [rescinded 22 July 1999]
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+#include <errno.h>
+#ifdef NEED_DECLARATION_ERRNO
+extern int errno;
+#endif
+#if 0
+#include <stdlib.h>
+#endif
+#include "ansidecl.h"
+#include "safe-ctype.h"
+
+#ifdef HAVE_LONG_LONG
+
+__extension__
+typedef unsigned long long ullong_type;
+
+#ifndef ULLONG_MAX
+#define ULLONG_MAX (~(ullong_type)0) /* 0xFFFFFFFFFFFFFFFF */
+#endif
+
+/*
+ * Convert a string to an unsigned long long integer.
+ *
+ * Ignores `locale' stuff.  Assumes that the upper and lower case
+ * alphabets and digits are each contiguous.
+ */
+ullong_type
+strtoull(const char *nptr, char **endptr, register int base)
+{
+	register const char *s = nptr;
+	register ullong_type acc;
+	register int c;
+	register ullong_type cutoff;
+	register int neg = 0, any, cutlim;
+
+	/*
+	 * See strtol for comments as to the logic used.
+	 */
+	do {
+		c = *s++;
+	} while (ISSPACE(c));
+	if (c == '-') {
+		neg = 1;
+		c = *s++;
+	} else if (c == '+')
+		c = *s++;
+	if ((base == 0 || base == 16) &&
+	    c == '0' && (*s == 'x' || *s == 'X')) {
+		c = s[1];
+		s += 2;
+		base = 16;
+	}
+	if (base == 0)
+		base = c == '0' ? 8 : 10;
+	cutoff = (ullong_type)ULLONG_MAX / (ullong_type)base;
+	cutlim = (ullong_type)ULLONG_MAX % (ullong_type)base;
+	for (acc = 0, any = 0;; c = *s++) {
+		if (ISDIGIT(c))
+			c -= '0';
+		else if (ISALPHA(c))
+			c -= ISUPPER(c) ? 'A' - 10 : 'a' - 10;
+		else
+			break;
+		if (c >= base)
+			break;
+		if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim))
+			any = -1;
+		else {
+			any = 1;
+			acc *= base;
+			acc += c;
+		}
+	}
+	if (any < 0) {
+		acc = ULLONG_MAX;
+		errno = ERANGE;
+	} else if (neg)
+		acc = -acc;
+	if (endptr != 0)
+		*endptr = (char *) (any ? s - 1 : nptr);
+	return (acc);
+}
+
+#endif /* ifdef HAVE_LONG_LONG */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/d-demangle-expected ./libiberty/testsuite/d-demangle-expected
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/d-demangle-expected	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/testsuite/d-demangle-expected	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,936 @@
+# This file holds test cases for the D demangler.
+# Each test case looks like this:
+#  options
+#  input to be demangled
+#  expected output
+#
+# See demangle-expected for documentation of supported options.
+#
+# A line starting with `#' is ignored.
+# However, blank lines in this file are NOT ignored.
+#
+############
+#
+# Coverage Tests
+#
+--format=dlang
+_Dmain
+D main
+#
+--format=dlang
+_D8demangle4testPFLAiYi
+demangle.test
+#
+--format=dlang
+_D8demangle4testFaZv
+demangle.test(char)
+#
+--format=dlang
+_D8demangle4testFbZv
+demangle.test(bool)
+#
+--format=dlang
+_D8demangle4testFcZv
+demangle.test(creal)
+#
+--format=dlang
+_D8demangle4testFdZv
+demangle.test(double)
+#
+--format=dlang
+_D8demangle4testFeZv
+demangle.test(real)
+#
+--format=dlang
+_D8demangle4testFfZv
+demangle.test(float)
+#
+--format=dlang
+_D8demangle4testFgZv
+demangle.test(byte)
+#
+--format=dlang
+_D8demangle4testFhZv
+demangle.test(ubyte)
+#
+--format=dlang
+_D8demangle4testFiZv
+demangle.test(int)
+#
+--format=dlang
+_D8demangle4testFjZv
+demangle.test(ireal)
+#
+--format=dlang
+_D8demangle4testFkZv
+demangle.test(uint)
+#
+--format=dlang
+_D8demangle4testFlZv
+demangle.test(long)
+#
+--format=dlang
+_D8demangle4testFmZv
+demangle.test(ulong)
+#
+--format=dlang
+_D8demangle4testFnZv
+demangle.test(none)
+#
+--format=dlang
+_D8demangle4testFoZv
+demangle.test(ifloat)
+#
+--format=dlang
+_D8demangle4testFpZv
+demangle.test(idouble)
+#
+--format=dlang
+_D8demangle4testFqZv
+demangle.test(cfloat)
+#
+--format=dlang
+_D8demangle4testFrZv
+demangle.test(cdouble)
+#
+--format=dlang
+_D8demangle4testFsZv
+demangle.test(short)
+#
+--format=dlang
+_D8demangle4testFtZv
+demangle.test(ushort)
+#
+--format=dlang
+_D8demangle4testFuZv
+demangle.test(wchar)
+#
+--format=dlang
+_D8demangle4testFvZv
+demangle.test(void)
+#
+--format=dlang
+_D8demangle4testFwZv
+demangle.test(dchar)
+#
+--format=dlang
+_D8demangle4testFOaZv
+demangle.test(shared(char))
+#
+--format=dlang
+_D8demangle4testFxaZv
+demangle.test(const(char))
+#
+--format=dlang
+_D8demangle4testFyaZv
+demangle.test(immutable(char))
+#
+--format=dlang
+_D8demangle4testFNgaZv
+demangle.test(inout(char))
+#
+--format=dlang
+_D8demangle4testFOxaZv
+demangle.test(shared(const(char)))
+#
+--format=dlang
+_D8demangle4testFONgaZv
+demangle.test(shared(inout(char)))
+#
+--format=dlang
+_D8demangle4testFAaZv
+demangle.test(char[])
+#
+--format=dlang
+_D8demangle4testFAAaZv
+demangle.test(char[][])
+#
+--format=dlang
+_D8demangle4testFAAAaZv
+demangle.test(char[][][])
+#
+--format=dlang
+_D8demangle4testFG42aZv
+demangle.test(char[42])
+#
+--format=dlang
+_D8demangle4testFG42G42aZv
+demangle.test(char[42][42])
+#
+--format=dlang
+_D8demangle4testFG42G42G42aZv
+demangle.test(char[42][42][42])
+#
+--format=dlang
+_D8demangle4testFG1234567890aZv
+demangle.test(char[1234567890])
+#
+--format=dlang
+_D8demangle4testFHaaZv
+demangle.test(char[char])
+#
+--format=dlang
+_D8demangle4testFHHaaaZv
+demangle.test(char[char[char]])
+#
+--format=dlang
+_D8demangle4testFPaZv
+demangle.test(char*)
+#
+--format=dlang
+_D8demangle4testFPPaZv
+demangle.test(char**)
+#
+--format=dlang
+_D8demangle4testFPPPaZv
+demangle.test(char***)
+#
+--format=dlang
+_D8demangle4testFNhG8gZv
+demangle.test(__vector(byte[8]))
+#
+--format=dlang
+_D8demangle4testFNhG16gZv
+demangle.test(__vector(byte[16]))
+#
+--format=dlang
+_D8demangle4testFNhG32gZv
+demangle.test(__vector(byte[32]))
+#
+--format=dlang
+_D8demangle4testFNhG4sZv
+demangle.test(__vector(short[4]))
+#
+--format=dlang
+_D8demangle4testFNhG8sZv
+demangle.test(__vector(short[8]))
+#
+--format=dlang
+_D8demangle4testFNhG16sZv
+demangle.test(__vector(short[16]))
+#
+--format=dlang
+_D8demangle4testFNhG2iZv
+demangle.test(__vector(int[2]))
+#
+--format=dlang
+_D8demangle4testFNhG4iZv
+demangle.test(__vector(int[4]))
+#
+--format=dlang
+_D8demangle4testFNhG8iZv
+demangle.test(__vector(int[8]))
+#
+--format=dlang
+_D8demangle4testFNhG1lZv
+demangle.test(__vector(long[1]))
+#
+--format=dlang
+_D8demangle4testFNhG2lZv
+demangle.test(__vector(long[2]))
+#
+--format=dlang
+_D8demangle4testFNhG4lZv
+demangle.test(__vector(long[4]))
+#
+--format=dlang
+_D8demangle4testFNhG2fZv
+demangle.test(__vector(float[2]))
+#
+--format=dlang
+_D8demangle4testFNhG4fZv
+demangle.test(__vector(float[4]))
+#
+--format=dlang
+_D8demangle4testFNhG8fZv
+demangle.test(__vector(float[8]))
+#
+--format=dlang
+_D8demangle4testFNhG1dZv
+demangle.test(__vector(double[1]))
+#
+--format=dlang
+_D8demangle4testFNhG2dZv
+demangle.test(__vector(double[2]))
+#
+--format=dlang
+_D8demangle4testFNhG4dZv
+demangle.test(__vector(double[4]))
+#
+--format=dlang
+_D8demangle4testFI5identZv
+demangle.test(ident)
+#
+--format=dlang
+_D8demangle4testFI5ident4testZv
+demangle.test(ident.test)
+#
+--format=dlang
+_D8demangle4testFC5classZv
+demangle.test(class)
+#
+--format=dlang
+_D8demangle4testFC5class4testZv
+demangle.test(class.test)
+#
+--format=dlang
+_D8demangle4testFS6structZv
+demangle.test(struct)
+#
+--format=dlang
+_D8demangle4testFS6struct4testZv
+demangle.test(struct.test)
+#
+--format=dlang
+_D8demangle4testFE4enumZv
+demangle.test(enum)
+#
+--format=dlang
+_D8demangle4testFE4enum4testZv
+demangle.test(enum.test)
+#
+--format=dlang
+_D8demangle4testFT7typedefZv
+demangle.test(typedef)
+#
+--format=dlang
+_D8demangle4testFT7typedef4testZv
+demangle.test(typedef.test)
+#
+--format=dlang
+_D8demangle4testFJaZv
+demangle.test(out char)
+#
+--format=dlang
+_D8demangle4testFKaZv
+demangle.test(ref char)
+#
+--format=dlang
+_D8demangle4testFLaZv
+demangle.test(lazy char)
+#
+--format=dlang
+_D8demangle4testFMaZv
+demangle.test(scope char)
+#
+--format=dlang
+_D8demangle4testFaXv
+demangle.test(char...)
+#
+--format=dlang
+_D8demangle4testFaYv
+demangle.test(char, ...)
+#
+--format=dlang
+_D8demangle4testFaaYv
+demangle.test(char, char, ...)
+#
+--format=dlang
+_D8demangle4testFaaZv
+demangle.test(char, char)
+#
+--format=dlang
+_D8demangle4testFB0Zv
+demangle.test(Tuple!())
+#
+--format=dlang
+_D8demangle4testFB1aZv
+demangle.test(Tuple!(char))
+#
+--format=dlang
+_D8demangle4testFB2aaZv
+demangle.test(Tuple!(char, char))
+#
+--format=dlang
+_D8demangle4testFB3aaaZv
+demangle.test(Tuple!(char, char, char))
+#
+--format=dlang
+_D8demangle4testFB2OaaZv
+demangle.test(Tuple!(shared(char), char))
+#
+--format=dlang
+_D8demangle4testFB3aDFZaaZv
+demangle.test(Tuple!(char, char() delegate, char))
+#
+--format=dlang
+_D8demangle4testFDFZaZv
+demangle.test(char() delegate)
+#
+--format=dlang
+_D8demangle4testFDUZaZv
+demangle.test(extern(C) char() delegate)
+#
+--format=dlang
+_D8demangle4testFDWZaZv
+demangle.test(extern(Windows) char() delegate)
+#
+--format=dlang
+_D8demangle4testFDVZaZv
+demangle.test(extern(Pascal) char() delegate)
+#
+--format=dlang
+_D8demangle4testFDRZaZv
+demangle.test(extern(C++) char() delegate)
+#
+--format=dlang
+_D8demangle4testFFZaZv
+demangle.test(char() function)
+#
+--format=dlang
+_D8demangle4testFUZaZv
+demangle.test(extern(C) char() function)
+#
+--format=dlang
+_D8demangle4testFWZaZv
+demangle.test(extern(Windows) char() function)
+#
+--format=dlang
+_D8demangle4testFVZaZv
+demangle.test(extern(Pascal) char() function)
+#
+--format=dlang
+_D8demangle4testFRZaZv
+demangle.test(extern(C++) char() function)
+#
+--format=dlang
+_D8demangle4testFDFNaZaZv
+demangle.test(char() pure delegate)
+#
+--format=dlang
+_D8demangle4testFDFNbZaZv
+demangle.test(char() nothrow delegate)
+#
+--format=dlang
+_D8demangle4testFDFNcZaZv
+demangle.test(char() ref delegate)
+#
+--format=dlang
+_D8demangle4testFDFNdZaZv
+demangle.test(char() @property delegate)
+#
+--format=dlang
+_D8demangle4testFDFNeZaZv
+demangle.test(char() @trusted delegate)
+#
+--format=dlang
+_D8demangle4testFDFNfZaZv
+demangle.test(char() @safe delegate)
+#
+--format=dlang
+_D8demangle4testFDFNiZaZv
+demangle.test(char() @nogc delegate)
+#
+--format=dlang
+_D8demangle4testFDFNaNbZaZv
+demangle.test(char() pure nothrow delegate)
+#
+--format=dlang
+_D8demangle4testFDFNbNaZaZv
+demangle.test(char() nothrow pure delegate)
+#
+--format=dlang
+_D8demangle4testFDFNdNfNaZaZv
+demangle.test(char() @property @safe pure delegate)
+#
+--format=dlang
+_D8demangle4testFFNaZaZv
+demangle.test(char() pure function)
+#
+--format=dlang
+_D8demangle4testFFNbZaZv
+demangle.test(char() nothrow function)
+#
+--format=dlang
+_D8demangle4testFFNcZaZv
+demangle.test(char() ref function)
+#
+--format=dlang
+_D8demangle4testFFNdZaZv
+demangle.test(char() @property function)
+#
+--format=dlang
+_D8demangle4testFFNeZaZv
+demangle.test(char() @trusted function)
+#
+--format=dlang
+_D8demangle4testFFNfZaZv
+demangle.test(char() @safe function)
+#
+--format=dlang
+_D8demangle4testFFNiZaZv
+demangle.test(char() @nogc function)
+#
+--format=dlang
+_D8demangle4testFFNaNbZaZv
+demangle.test(char() pure nothrow function)
+#
+--format=dlang
+_D8demangle4testFFNbNaZaZv
+demangle.test(char() nothrow pure function)
+#
+--format=dlang
+_D8demangle4testFFNdNfNaZaZv
+demangle.test(char() @property @safe pure function)
+#
+--format=dlang
+_D8demangle4test6__initZ
+demangle.test.init$
+#
+--format=dlang
+_D8demangle4test6__vtblZ
+vtable for demangle.test
+#
+--format=dlang
+_D8demangle4test7__ClassZ
+ClassInfo for demangle.test
+#
+--format=dlang
+_D8demangle4test11__InterfaceZ
+Interface for demangle.test
+#
+--format=dlang
+_D8demangle4test12__ModuleInfoZ
+ModuleInfo for demangle.test
+#
+--format=dlang
+_D8demangle4test6__ctorMFZv
+demangle.test.this()
+#
+--format=dlang
+_D8demangle4test6__dtorMFZv
+demangle.test.~this()
+#
+--format=dlang
+_D8demangle4test6__postblitMFZv
+demangle.test.this(this)
+#
+--format=dlang
+_D8demangle4testFHAbaZv
+demangle.test(char[bool[]])
+#
+--format=dlang
+_D8demangle4testFHG42caZv
+demangle.test(char[creal[42]])
+#
+--format=dlang
+_D8demangle4testFAiXv
+demangle.test(int[]...)
+#
+--format=dlang
+_D8demangle4testFLAiXv
+demangle.test(lazy int[]...)
+#
+--format=dlang
+_D8demangle4testFAiYv
+demangle.test(int[], ...)
+#
+--format=dlang
+_D8demangle4testFLAiYv
+demangle.test(lazy int[], ...)
+#
+--format=dlang
+_D8demangle4testFLilZv
+demangle.test(lazy int, long)
+#
+--format=dlang
+_D8demangle4testFLliZv
+demangle.test(lazy long, int)
+#
+--format=dlang
+_D8demangle4testFLC6ObjectLDFLiZiZi
+demangle.test(lazy Object, lazy int(lazy int) delegate)
+#
+--format=dlang
+_D8demangle9__T4testZv
+demangle.test!()
+#
+--format=dlang
+_D8demangle11__T4testTaZv
+demangle.test!(char)
+#
+--format=dlang
+_D8demangle13__T4testTaTaZv
+demangle.test!(char, char)
+#
+--format=dlang
+_D8demangle15__T4testTaTaTaZv
+demangle.test!(char, char, char)
+#
+--format=dlang
+_D8demangle16__T4testTaTOiTaZv
+demangle.test!(char, shared(int), char)
+#
+--format=dlang
+_D8demangle17__T4testS6symbolZv
+demangle.test!(symbol)
+#
+--format=dlang
+_D8demangle21__T4testS6symbol3fooZv
+demangle.test!(symbol.foo)
+#
+--format=dlang
+_D8demangle25__T4testS6symbol3foo3barZv
+demangle.test!(symbol.foo.bar)
+#
+--format=dlang
+_D8demangle19__T4testTaS6symbolZv
+demangle.test!(char, symbol)
+#
+--format=dlang
+_D8demangle19__T4testS6symbolTaZv
+demangle.test!(symbol, char)
+#
+--format=dlang
+_D8demangle13__T4testVPinZv
+demangle.test!(null)
+#
+--format=dlang
+_D8demangle14__T4testVg123Zv
+demangle.test!(123)
+#
+--format=dlang
+_D8demangle14__T4testVi123Zv
+demangle.test!(123)
+#
+--format=dlang
+_D8demangle14__T4testVs123Zv
+demangle.test!(123)
+#
+--format=dlang
+_D8demangle14__T4testVh123Zv
+demangle.test!(123u)
+#
+--format=dlang
+_D8demangle14__T4testVk123Zv
+demangle.test!(123u)
+#
+--format=dlang
+_D8demangle14__T4testVt123Zv
+demangle.test!(123u)
+#
+--format=dlang
+_D8demangle14__T4testVl123Zv
+demangle.test!(123L)
+#
+--format=dlang
+_D8demangle14__T4testVm123Zv
+demangle.test!(123uL)
+#
+--format=dlang
+_D8demangle15__T4testViN123Zv
+demangle.test!(-123)
+#
+--format=dlang
+_D8demangle15__T4testVkN123Zv
+demangle.test!(-123u)
+#
+--format=dlang
+_D8demangle15__T4testVlN123Zv
+demangle.test!(-123L)
+#
+--format=dlang
+_D8demangle15__T4testVmN123Zv
+demangle.test!(-123uL)
+#
+--format=dlang
+_D8demangle12__T4testVb1Zv
+demangle.test!(true)
+#
+--format=dlang
+_D8demangle12__T4testVb0Zv
+demangle.test!(false)
+#
+--format=dlang
+_D8demangle13__T4testVa10Zv
+demangle.test!('\x0a')
+#
+--format=dlang
+_D8demangle13__T4testVa32Zv
+demangle.test!(' ')
+#
+--format=dlang
+_D8demangle13__T4testVa65Zv
+demangle.test!('A')
+#
+--format=dlang
+_D8demangle14__T4testVa126Zv
+demangle.test!('~')
+#
+--format=dlang
+_D8demangle15__T4testVu1000Zv
+demangle.test!('\u03e8')
+#
+--format=dlang
+_D8demangle17__T4testVw100000Zv
+demangle.test!('\U000186a0')
+#
+--format=dlang
+_D8demangle17__T4testVde0A8P6Zv
+demangle.test!(42.0000)
+#
+--format=dlang
+_D8demangle16__T4testVdeA8P2Zv
+demangle.test!(42.0000)
+#
+--format=dlang
+_D8demangle18__T4testVdeN0A8P6Zv
+demangle.test!(-42.0000)
+#
+--format=dlang
+_D8demangle31__T4testVde0F6E978D4FDF3B646P7Zv
+demangle.test!(123.456)
+#
+--format=dlang
+_D8demangle15__T4testVdeNANZv
+demangle.test!(NaN)
+#
+--format=dlang
+_D8demangle15__T4testVdeINFZv
+demangle.test!(Inf)
+#
+--format=dlang
+_D8demangle16__T4testVdeNINFZv
+demangle.test!(-Inf)
+#
+--format=dlang
+_D8demangle23__T4testVfe0FFFFFFP128Zv
+demangle.test!(3.40282e+38)
+#
+--format=dlang
+_D8demangle32__T4testVde0FFFFFFFFFFFFF8P1024Zv
+demangle.test!(1.79769e+308)
+#
+--format=dlang
+_D8demangle19__T4testVfe08PN125Zv
+demangle.test!(1.17549e-38)
+#
+--format=dlang
+_D8demangle20__T4testVde08PN1021Zv
+demangle.test!(2.22507e-308)
+#
+--format=dlang
+_D8demangle51__T4testVrc0C4CCCCCCCCCCCCCDP4c0B666666666666666P6Zv
+demangle.test!(12.3000+45.6000i)
+#
+--format=dlang
+_D8demangle52__T4testVrcN0C4CCCCCCCCCCCCCDP4c0B666666666666666P6Zv
+demangle.test!(-12.3000+45.6000i)
+#
+--format=dlang
+_D8demangle22__T4testVG3ua3_616263Zv
+demangle.test!("abc")
+#
+--format=dlang
+_D8demangle22__T4testVG3ud3_616263Zv
+demangle.test!("abc"d)
+#
+--format=dlang
+_D8demangle22__T4testVG3uw3_616263Zv
+demangle.test!("abc"w)
+#
+--format=dlang
+_D8demangle22__T4testVAiA4i1i2i3i4Zv
+demangle.test!([1, 2, 3, 4])
+#
+--format=dlang
+_D8demangle25__T4testVAdA2e08P1eN08P1Zv
+demangle.test!([1.00000, -1.00000])
+#
+--format=dlang
+_D8demangle23__T4testVHiiA2i1i2i3i4Zv
+demangle.test!([1:2, 3:4])
+#
+--format=dlang
+_D8demangle39__T4testVHAxaiA2a3_616263i1a3_646566i2Zv
+demangle.test!(["abc":1, "def":2])
+#
+--format=dlang
+_D8demangle28__T4testVS8demangle1SS2i1i2Zv
+demangle.test!(demangle.S(1, 2))
+#
+--format=dlang
+_D8demangle35__T4testVS8demangle1SS2i1a3_616263Zv
+demangle.test!(demangle.S(1, "abc"))
+#
+# Unittests
+#
+--format=dlang
+printf
+printf
+#
+--format=dlang
+_foo
+_foo
+#
+--format=dlang
+_D88
+_D88
+#
+--format=dlang
+_D5__T1aZv
+_D5__T1aZv
+#
+--format=dlang
+_D4test3fooAa
+test.foo
+#
+--format=dlang
+_D8demangle8demangleFAaZAa
+demangle.demangle(char[])
+#
+--format=dlang
+_D6object6Object8opEqualsFC6ObjectZi
+object.Object.opEquals(Object)
+#
+--format=dlang
+_D6object6Object8opAssignFC6ObjectZi
+object.Object.opAssign(Object)
+#
+--format=dlang
+_D4test2dgDFiYd
+test.dg
+#
+--format=dlang
+_D1a1bi
+a.b
+#
+--format=dlang
+_D1a1bPFiZi
+a.b
+#
+--format=dlang
+_D4test34__T3barVG3uw3_616263VG3wd3_646566Z1xi
+test.bar!("abc"w, "def"d).x
+#
+--format=dlang
+_D6plugin8generateFiiZAya
+plugin.generate(int, int)
+#
+--format=dlang
+_D6plugin8generateFiiZAxa
+plugin.generate(int, int)
+#
+--format=dlang
+_D6plugin8generateFiiZAOa
+plugin.generate(int, int)
+#
+--format=dlang
+_D8demangle3fnAFZv3fnBMFZv
+demangle.fnA().fnB()
+#
+--format=dlang
+_D8demangle4mainFZv1S3fnCFZv
+demangle.main().S.fnC()
+#
+--format=dlang
+_D8demangle4mainFZv1S3fnDMFZv
+demangle.main().S.fnD()
+#
+--format=dlang
+_D8demangle4mainFZv5localMFZi
+demangle.main().local()
+#
+--format=dlang
+_D3std5ascii9uppercaseyAa
+std.ascii.uppercase
+#
+--format=dlang
+_D3std6stream9BOMEndianyG5E3std6system6Endian
+std.stream.BOMEndian
+#
+--format=dlang
+_D3std8internal7uni_tab10unicodeNkoyS3std8internal3uni12CodepointSet
+std.internal.uni_tab.unicodeNko
+#
+--format=dlang
+_D2gc2gc2GC6addrOfMFPvZPv
+gc.gc.GC.addrOf(void*)
+#
+--format=dlang
+_D3std7process10setCLOEXECFibZv
+std.process.setCLOEXEC(int, bool)
+#
+--format=dlang
+_D3std6digest2md3MD53putMFNaNbNeMAxhXv
+std.digest.md.MD5.put(scope const(ubyte)[]...)
+#
+--format=dlang
+_D3std6mmfile6MmFile13opIndexAssignMFhmZh
+std.mmfile.MmFile.opIndexAssign(ubyte, ulong)
+#
+--format=dlang
+_D3std7process18escapeShellCommandFxAAaXAya
+std.process.escapeShellCommand(const(char[][])...)
+#
+--format=dlang
+_D4core4sync5mutex5Mutex6__ctorMFC6ObjectZC4core4sync5mutex5Mutex
+core.sync.mutex.Mutex.this(Object)
+#
+--format=dlang
+_D6object14TypeInfo_Array8argTypesMFNbNfJC8TypeInfoJC8TypeInfoZi
+object.TypeInfo_Array.argTypes(out TypeInfo, out TypeInfo)
+#
+--format=dlang
+_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZi7tryExecMFMDFZvZv
+rt.dmain2._d_run_main(int, char**, extern(C) int(char[][]) function*).tryExec(scope void() delegate)
+#
+--format=dlang
+_D6object9Exception6__ctorMFNaNbNfAyaAyamC6object9ThrowableZC9Exception
+object.Exception.this(immutable(char)[], immutable(char)[], ulong, object.Throwable)
+#
+--format=dlang
+_D3gcc3deh17parse_lsda_headerFPS3gcc6unwind7generic15_Unwind_ContextPhPS3gcc3deh16lsda_header_infoZPh
+gcc.deh.parse_lsda_header(gcc.unwind.generic._Unwind_Context*, ubyte*, gcc.deh.lsda_header_info*)
+#
+--format=dlang
+_D3std6socket23UnknownAddressReference6__ctorMFPS4core3sys5posix3sys6socket8sockaddrkZC3std6socket23UnknownAddressReference
+std.socket.UnknownAddressReference.this(core.sys.posix.sys.socket.sockaddr*, uint)
+#
+--format=dlang
+_D8demangle20__T2fnVAiA4i1i2i3i4Z2fnFZv
+demangle.fn!([1, 2, 3, 4]).fn()
+#
+--format=dlang
+_D8demangle10__T2fnVi1Z2fnFZv
+demangle.fn!(1).fn()
+#
+--format=dlang
+_D8demangle26__T2fnVS8demangle1SS2i1i2Z2fnFZv
+demangle.fn!(demangle.S(1, 2)).fn()
+#
+--format=dlang
+_D8demangle13__T2fnVeeNANZ2fnFZv
+demangle.fn!(NaN).fn()
+#
+--format=dlang
+_D8demangle14__T2fnVeeNINFZ2fnFZv
+demangle.fn!(-Inf).fn()
+#
+--format=dlang
+_D8demangle13__T2fnVeeINFZ2fnFZv
+demangle.fn!(Inf).fn()
+#
+--format=dlang
+_D8demangle21__T2fnVHiiA2i1i2i3i4Z2fnFZv
+demangle.fn!([1:2, 3:4]).fn()
+#
+--format=dlang
+_D8demangle2fnFNgiZNgi
+demangle.fn(inout(int))
+#
+--format=dlang
+_D8demangle29__T2fnVa97Va9Va0Vu257Vw65537Z2fnFZv
+demangle.fn!('a', '\x09', '\x00', '\u0101', '\U00010001').fn()
+#
+--format=dlang
+_D2gc11gctemplates56__T8mkBitmapTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ8mkBitmapFNbNiNfPmmZv
+gc.gctemplates.mkBitmap!(std.range.iota!(int, int).iota(int, int).Result).mkBitmap(ulong*, ulong)
+#
+--format=dlang
+_D8serenity9persister6Sqlite70__T15SqlitePersisterTS8serenity9persister6Sqlite11__unittest6FZv4TestZ15SqlitePersister12__T7opIndexZ7opIndexMFmZS8serenity9persister6Sqlite11__unittest6FZv4Test
+serenity.persister.Sqlite.SqlitePersister!(serenity.persister.Sqlite.__unittest6().Test).SqlitePersister.opIndex!().opIndex(ulong)
+#
+--format=dlang
+_D4test4mainFZv5localMFZi
+test.main().local()
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/demangle-expected ./libiberty/testsuite/demangle-expected
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/demangle-expected	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/testsuite/demangle-expected	2015-01-20 02:05:40.000000000 +0000
@@ -4343,8 +4343,16 @@ cereal::detail::InputBindingMap<cereal::
 --format=gnu-v3
 _ZNSt9_Any_data9_M_accessIPZ4postISt8functionIFvvEEEvOT_EUlvE_EERS5_v
 void post<std::function<void ()> >(std::function<void ()>&&)::{lambda()#1}*& std::_Any_data::_M_access<void post<std::function<void ()> >(void post<std::function<void ()> >(std::function<void ()>&&)::{lambda()#1}*&&)::{lambda()#1}*>()
+#
+--format=auto --no-params
+_Z3xxxDFyuVb
+xxx(unsigned long long _Fract, bool volatile)
+xxx
 # https://sourceware.org/bugzilla/show_bug.cgi?id=16817
 --format=auto --no-params
 _QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
 _QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
 _QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
+--format=gnu-v3
+_Z1fSsB3fooS_
+f(std::string[abi:foo], std::string[abi:foo])
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/demangler-fuzzer.c ./libiberty/testsuite/demangler-fuzzer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/demangler-fuzzer.c	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/testsuite/demangler-fuzzer.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,108 @@
+/* Demangler fuzzer.
+
+   Copyright (C) 2014 Free Software Foundation, Inc.
+
+   This file is part of GNU libiberty.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <time.h>
+#include "demangle.h"
+
+#define MAXLEN 253
+#define ALPMIN 33
+#define ALPMAX 127
+
+static char *program_name;
+
+#define DEFAULT_MAXCOUNT 7500000
+
+static void
+print_usage (FILE *fp, int exit_value)
+{
+  fprintf (fp, "Usage: %s [OPTION]...\n", program_name);
+  fprintf (fp, "Options:\n");
+  fprintf (fp, "  -h           Display this message.\n");
+  fprintf (fp, "  -s SEED      Select the random seed to be used.\n");
+  fprintf (fp, "               The default is to base one on the");
+  fprintf (fp, " current time.\n");
+  fprintf (fp, "  -m MAXCOUNT  Exit after MAXCOUNT symbols.\n");
+  fprintf (fp, "               The default is %d.", DEFAULT_MAXCOUNT);
+  fprintf (fp, " Set to `-1' for no limit.\n");
+
+  exit (exit_value);
+}
+
+int
+main (int argc, char *argv[])
+{
+  char symbol[2 + MAXLEN + 1] = "_Z";
+  int seed = -1, seed_set = 0;
+  int count = 0, maxcount = DEFAULT_MAXCOUNT;
+  int optchr;
+
+  program_name = argv[0];
+
+  do
+    {
+      optchr = getopt (argc, argv, "hs:m:t:");
+      switch (optchr)
+	{
+	case '?':  /* Unrecognized option.  */
+	  print_usage (stderr, 1);
+	  break;
+
+	case 'h':
+	  print_usage (stdout, 0);
+	  break;
+
+	case 's':
+	  seed = atoi (optarg);
+	  seed_set = 1;
+	  break;
+
+	case 'm':
+	  maxcount = atoi (optarg);
+	  break;
+	}
+    }
+  while (optchr != -1);
+
+  if (!seed_set)
+    seed = time (NULL);
+  srand (seed);
+  printf ("%s: seed = %d\n", program_name, seed);
+
+  while (maxcount < 0 || count < maxcount)
+    {
+      char *buffer = symbol + 2;
+      int length, i;
+
+      length = rand () % MAXLEN;
+      for (i = 0; i < length; i++)
+	*buffer++ = (rand () % (ALPMAX - ALPMIN)) + ALPMIN;
+
+      *buffer++ = '\0';
+
+      cplus_demangle (symbol, DMGL_AUTO | DMGL_ANSI | DMGL_PARAMS);
+
+      count++;
+    }
+
+  printf ("%s: successfully demangled %d symbols\n", program_name, count);
+  exit (0);
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/Makefile.in ./libiberty/testsuite/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/testsuite/Makefile.in	2015-01-20 02:05:40.000000000 +0000
@@ -45,12 +45,16 @@ all:
 # CHECK is set to "really_check" or the empty string by configure.
 check: @CHECK@
 
-really-check: check-cplus-dem check-pexecute check-expandargv
+really-check: check-cplus-dem check-d-demangle check-pexecute check-expandargv \
+		check-strtol
 
 # Run some tests of the demangler.
 check-cplus-dem: test-demangle $(srcdir)/demangle-expected
 	./test-demangle < $(srcdir)/demangle-expected
 
+check-d-demangle: test-demangle $(srcdir)/d-demangle-expected
+	./test-demangle < $(srcdir)/d-demangle-expected
+
 # Check the pexecute code.
 check-pexecute: test-pexecute
 	./test-pexecute
@@ -59,6 +63,14 @@ check-pexecute: test-pexecute
 check-expandargv: test-expandargv
 	./test-expandargv
 
+# Check the strtol functionality
+check-strtol: test-strtol
+	./test-strtol
+
+# Run the demangler fuzzer
+fuzz-demangler: demangler-fuzzer
+	./demangler-fuzzer
+
 TEST_COMPILE = $(CC) @DEFS@ $(LIBCFLAGS) -I.. -I$(INCDIR) $(HDEFINES)
 test-demangle: $(srcdir)/test-demangle.c ../libiberty.a
 	$(TEST_COMPILE) -o test-demangle \
@@ -72,6 +84,14 @@ test-expandargv: $(srcdir)/test-expandar
 	$(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-expandargv \
 		$(srcdir)/test-expandargv.c ../libiberty.a
 
+test-strtol: $(srcdir)/test-strtol.c ../libiberty.a
+	$(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-strtol \
+		$(srcdir)/test-strtol.c ../libiberty.a
+
+demangler-fuzzer: $(srcdir)/demangler-fuzzer.c ../libiberty.a
+	$(TEST_COMPILE) -o demangler-fuzzer \
+		$(srcdir)/demangler-fuzzer.c ../libiberty.a
+
 # Standard (either GNU or Cygnus) rules we don't use.
 html install-html info install-info clean-info dvi pdf install-pdf \
 install etags tags installcheck:
@@ -81,6 +101,8 @@ mostlyclean:
 	rm -f test-demangle
 	rm -f test-pexecute
 	rm -f test-expandargv
+	rm -f test-strtol
+	rm -f demangler-fuzzer
 	rm -f core
 clean: mostlyclean
 distclean: clean
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/test-strtol.c ./libiberty/testsuite/test-strtol.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/testsuite/test-strtol.c	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/testsuite/test-strtol.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,185 @@
+/* Test program for strtol family of funtions,
+   Copyright (C) 2014 Free Software Foundation, Inc.
+   Written by Yury Gribov <y.gribov@samsung.com>
+
+   This file is part of the libiberty library, which is part of GCC.
+
+   This file is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   In addition to the permissions in the GNU General Public License, the
+   Free Software Foundation gives you unlimited permission to link the
+   compiled version of this file into combinations with other programs,
+   and to distribute those combinations without any restriction coming
+   from the use of this file.  (The General Public License restrictions
+   do apply in other respects; for example, they cover modification of
+   the file, and distribution when not linked into a combined
+   executable.)
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 
+*/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "libiberty.h"
+#include <stdio.h>
+#include <errno.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifndef EXIT_SUCCESS
+#define EXIT_SUCCESS 0
+#endif
+
+#ifndef EXIT_FAILURE
+#define EXIT_FAILURE 1
+#endif
+
+
+/* Test input data. */
+
+enum conversion_fun
+{
+  STRTOL,
+  STRTOLL,
+  STRTOUL,
+  STRTOULL,
+};
+
+#ifdef HAVE_LONG_LONG
+typedef unsigned long long integer_type;
+#else
+typedef unsigned long integer_type;
+#endif
+
+struct test_data_t
+{
+  enum conversion_fun fun;
+  const char *nptr;
+  int base;
+  integer_type res;
+  int errnum;
+};
+
+const struct test_data_t test_data[] = {
+  { STRTOL,  "0x123",       0, 0x123L,        0      },
+  { STRTOL,  "123",         0, 123L,          0      },
+  { STRTOL,  "0123",        0, 0123L,         0      },
+  { STRTOL,  "0x7FFFFFFF",  0, 0x7fffffffL,   0      },
+  { STRTOL,  "-0x80000000", 0, -0x80000000L,  0      },
+  { STRTOUL, "0x123",       0, 0x123UL,       0      },
+  { STRTOUL, "123",         0, 123UL,         0      },
+  { STRTOUL, "0123",        0, 0123UL,        0      },
+  { STRTOUL, "0xFFFFFFFF",  0, 0xffffffffUL,  0      },
+#if SIZEOF_LONG == 4
+  { STRTOL,  "0x80000000",  0, 0x7fffffffL,   ERANGE },
+  { STRTOL,  "-0x80000001", 0, -0x80000000L,  ERANGE },
+  { STRTOUL, "0x100000000", 0, 0xffffffffUL,  ERANGE },
+#endif
+#ifdef HAVE_LONG_LONG
+  { STRTOLL,  "0x123",               0, 0x123LL,               0      },
+  { STRTOLL,  "123",                 0, 123LL,                 0      },
+  { STRTOLL,  "0123",                0, 0123LL,                0      },
+  { STRTOLL,  "0x7FFFFFFFFFFFFFFF",  0, 0x7fffffffffffffffLL,  0      },
+  { STRTOLL,  "-0x8000000000000000", 0, -0x8000000000000000LL, 0      },
+  { STRTOULL, "0x123",               0, 0x123ULL,              0      },
+  { STRTOULL, "123",                 0, 123ULL,                0      },
+  { STRTOULL, "0123",                0, 0123ULL,               0      },
+  { STRTOULL, "0xFFFFFFFFFFFFFFFF",  0, 0xffffffffffffffffULL, 0      },
+#if SIZEOF_LONG_LONG == 8
+  { STRTOLL,  "0x8000000000000000",  0, 0x7fffffffffffffffLL,  ERANGE },
+  { STRTOLL,  "-0x8000000000000001", 0, -0x8000000000000000LL, ERANGE },
+  { STRTOULL, "0x10000000000000000", 0, 0xffffffffffffffffULL, ERANGE },
+#endif
+#endif
+};
+
+/* run_tests:
+    Run conversion function
+    Compare results
+    Return number of fails */
+
+int
+run_tests (const struct test_data_t *test_data, size_t ntests)
+{
+  int fails = 0, failed;
+  size_t i;
+
+  for (i = 0; i < ntests; ++i)
+    {
+      integer_type res;
+      int saved_errno;
+
+      errno = 0;
+
+      switch (test_data[i].fun)
+	{
+	case STRTOL:
+	  res = (unsigned long) strtol (test_data[i].nptr,
+					0, test_data[i].base);
+	  break;
+	case STRTOUL:
+	  res = strtoul (test_data[i].nptr, 0, test_data[i].base);
+	  break;
+#ifdef HAVE_LONG_LONG
+	case STRTOLL:
+	  res = strtoll (test_data[i].nptr, 0, test_data[i].base);
+	  break;
+	case STRTOULL:
+	  res = strtoull (test_data[i].nptr, 0, test_data[i].base);
+	  break;
+#endif
+	}
+
+      saved_errno = errno;
+
+      failed = 0;
+
+      /* Compare result */
+      if (res != test_data[i].res)
+        {
+          printf ("FAIL: test-strtol-%zd. Results don't match.\n", i);
+	  failed++;
+        }
+
+      /* Compare errno */
+      if (saved_errno != test_data[i].errnum)
+        {
+          printf ("FAIL: test-strtol-%zd. Errnos don't match.\n", i);
+	  failed++;
+        }
+
+      if (!failed)
+        printf ("PASS: test-strtol-%zd.\n", i);
+      else
+        fails++;
+    }
+
+  return fails;
+}
+
+int 
+main(int argc, char **argv)
+{
+  int fails;
+  fails = run_tests (test_data, sizeof (test_data) / sizeof (test_data[0]));
+  exit (fails ? EXIT_FAILURE : EXIT_SUCCESS);
+}
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/vasprintf.c ./libiberty/vasprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/vasprintf.c	2015-01-13 02:02:20.000000000 +0000
+++ ./libiberty/vasprintf.c	2015-01-20 02:05:40.000000000 +0000
@@ -14,9 +14,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICU
 Library General Public License for more details.
 
 You should have received a copy of the GNU Library General Public
-License along with libiberty; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
-Boston, MA 02110-1301, USA.  */
+License along with libiberty; see the file COPYING.LIB.  If not, write
+to the Free Software Foundation, Inc., 51 Franklin Street - Fifth
+Floor, Boston, MA 02110-1301, USA.  */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -33,10 +33,10 @@ Boston, MA 02110-1301, USA.  */
 #ifdef HAVE_STDLIB_H
 #include <stdlib.h>
 #else
-extern unsigned long strtoul ();
 extern PTR malloc ();
 #endif
 #include "libiberty.h"
+#include "vprintf-support.h"
 
 #ifdef TEST
 int global_total_width;
@@ -64,81 +64,7 @@ static int int_vasprintf (char **, const
 static int
 int_vasprintf (char **result, const char *format, va_list args)
 {
-  const char *p = format;
-  /* Add one to make sure that it is never zero, which might cause malloc
-     to return NULL.  */
-  int total_width = strlen (format) + 1;
-  va_list ap;
-
-#ifdef va_copy
-  va_copy (ap, args);
-#else
-  memcpy ((PTR) &ap, (PTR) &args, sizeof (va_list));
-#endif
-
-  while (*p != '\0')
-    {
-      if (*p++ == '%')
-	{
-	  while (strchr ("-+ #0", *p))
-	    ++p;
-	  if (*p == '*')
-	    {
-	      ++p;
-	      total_width += abs (va_arg (ap, int));
-	    }
-	  else
-	    total_width += strtoul (p, (char **) &p, 10);
-	  if (*p == '.')
-	    {
-	      ++p;
-	      if (*p == '*')
-		{
-		  ++p;
-		  total_width += abs (va_arg (ap, int));
-		}
-	      else
-	      total_width += strtoul (p, (char **) &p, 10);
-	    }
-	  while (strchr ("hlL", *p))
-	    ++p;
-	  /* Should be big enough for any format specifier except %s and floats.  */
-	  total_width += 30;
-	  switch (*p)
-	    {
-	    case 'd':
-	    case 'i':
-	    case 'o':
-	    case 'u':
-	    case 'x':
-	    case 'X':
-	    case 'c':
-	      (void) va_arg (ap, int);
-	      break;
-	    case 'f':
-	    case 'e':
-	    case 'E':
-	    case 'g':
-	    case 'G':
-	      (void) va_arg (ap, double);
-	      /* Since an ieee double can have an exponent of 307, we'll
-		 make the buffer wide enough to cover the gross case. */
-	      total_width += 307;
-	      break;
-	    case 's':
-	      total_width += strlen (va_arg (ap, char *));
-	      break;
-	    case 'p':
-	    case 'n':
-	      (void) va_arg (ap, char *);
-	      break;
-	    }
-	  p++;
-	}
-    }
-#ifdef va_copy
-  va_end (ap);
-#endif
+  int total_width = libiberty_vprintf_buffer_size (format, args);
 #ifdef TEST
   global_total_width = total_width;
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/vprintf-support.c ./libiberty/vprintf-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/vprintf-support.c	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/vprintf-support.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,119 @@
+/* Estimate the length of the string generated by a vprintf-like
+   function.  Used by vasprintf and xvasprintf.
+   Copyright (C) 1994, 2003, 2011, 2013, 2014 Free Software Foundation, Inc.
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with libiberty; see the file COPYING.LIB.  If not, write
+to the Free Software Foundation, Inc., 51 Franklin Street - Fifth
+Floor, Boston, MA 02110-1301, USA.  */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include <ansidecl.h>
+#include <stdarg.h>
+#if !defined (va_copy) && defined (__va_copy)
+# define va_copy(d,s)  __va_copy((d),(s))
+#endif
+#include <stdio.h>
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#else
+extern unsigned long strtoul ();
+#endif
+#include "libiberty.h"
+
+int
+libiberty_vprintf_buffer_size (const char *format, va_list args)
+{
+  const char *p = format;
+  /* Add one to make sure that it is never zero, which might cause malloc
+     to return NULL.  */
+  int total_width = strlen (format) + 1;
+  va_list ap;
+
+#ifdef va_copy
+  va_copy (ap, args);
+#else
+  memcpy ((PTR) &ap, (PTR) &args, sizeof (va_list));
+#endif
+
+  while (*p != '\0')
+    {
+      if (*p++ == '%')
+	{
+	  while (strchr ("-+ #0", *p))
+	    ++p;
+	  if (*p == '*')
+	    {
+	      ++p;
+	      total_width += abs (va_arg (ap, int));
+	    }
+	  else
+	    total_width += strtoul (p, (char **) &p, 10);
+	  if (*p == '.')
+	    {
+	      ++p;
+	      if (*p == '*')
+		{
+		  ++p;
+		  total_width += abs (va_arg (ap, int));
+		}
+	      else
+	      total_width += strtoul (p, (char **) &p, 10);
+	    }
+	  while (strchr ("hlL", *p))
+	    ++p;
+	  /* Should be big enough for any format specifier except %s and floats.  */
+	  total_width += 30;
+	  switch (*p)
+	    {
+	    case 'd':
+	    case 'i':
+	    case 'o':
+	    case 'u':
+	    case 'x':
+	    case 'X':
+	    case 'c':
+	      (void) va_arg (ap, int);
+	      break;
+	    case 'f':
+	    case 'e':
+	    case 'E':
+	    case 'g':
+	    case 'G':
+	      (void) va_arg (ap, double);
+	      /* Since an ieee double can have an exponent of 307, we'll
+		 make the buffer wide enough to cover the gross case. */
+	      total_width += 307;
+	      break;
+	    case 's':
+	      total_width += strlen (va_arg (ap, char *));
+	      break;
+	    case 'p':
+	    case 'n':
+	      (void) va_arg (ap, char *);
+	      break;
+	    }
+	  p++;
+	}
+    }
+#ifdef va_copy
+  va_end (ap);
+#endif
+  return total_width;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/vprintf-support.h ./libiberty/vprintf-support.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/vprintf-support.h	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/vprintf-support.h	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,22 @@
+/* Estimate the length of the string generated by a vprintf-like
+   function.  Use by vasprintf and xvasprintf.
+   Copyright (C) 1994, 2003, 2011, 2013, 2014 Free Software Foundation, Inc.
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with libiberty; see the file COPYING.LIB.  If not, write
+to the Free Software Foundation, Inc., 51 Franklin Street - Fifth
+Floor, Boston, MA 02110-1301, USA.  */
+
+
+extern int libiberty_vprintf_buffer_size (const char *, va_list);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/xasprintf.c ./libiberty/xasprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/xasprintf.c	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/xasprintf.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,50 @@
+/* Implement the xasprintf function.
+   Copyright (C) 2014 Free Software Foundation, Inc.
+   Contributed by Manuel Lopez-Ibanez.
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with libiberty; see the file COPYING.LIB.  If not, write
+to the Free Software Foundation, Inc., 51 Franklin Street - Fifth
+Floor, Boston, MA 02110-1301, USA.  */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "ansidecl.h"
+#include "libiberty.h"
+
+#include <stdarg.h>
+
+/*
+
+@deftypefn Replacement char* xasprintf (const char *@var{format}, ...)
+
+Print to allocated string without fail.  If @code{xasprintf} fails,
+this will print a message to @code{stderr} (using the name set by
+@code{xmalloc_set_program_name}, if any) and then call @code{xexit}.
+
+@end deftypefn
+
+*/
+
+char *
+xasprintf (const char *fmt, ...)
+{
+  char *buf;
+  va_list ap;
+  va_start (ap, fmt);
+  buf = xvasprintf (fmt, ap);
+  va_end (ap);
+  return buf;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/xvasprintf.c ./libiberty/xvasprintf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libiberty/xvasprintf.c	1970-01-01 00:00:00.000000000 +0000
+++ ./libiberty/xvasprintf.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,61 @@
+/* Implement the xvasprintf function.
+   Copyright (C) 2014 Free Software Foundation, Inc.
+   Contributed by Manuel Lopez-Ibanez.
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with libiberty; see the file COPYING.LIB.  If not, write
+to the Free Software Foundation, Inc., 51 Franklin Street - Fifth
+Floor, Boston, MA 02110-1301, USA.  */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include <ansidecl.h>
+#include <stdarg.h>
+#if !defined (va_copy) && defined (__va_copy)
+# define va_copy(d,s)  __va_copy((d),(s))
+#endif
+#include <stdio.h>
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#include "libiberty.h"
+#include "vprintf-support.h"
+
+/*
+
+@deftypefn Replacement char* xvasprintf (const char *@var{format}, va_list @var{args})
+
+Print to allocated string without fail.  If @code{xvasprintf} fails,
+this will print a message to @code{stderr} (using the name set by
+@code{xmalloc_set_program_name}, if any) and then call @code{xexit}.
+
+@end deftypefn
+
+*/
+
+char *
+xvasprintf (const char *format,
+#if defined (_BSD_VA_LIST_) && defined (__FreeBSD__)
+           _BSD_VA_LIST_ args)
+#else
+           va_list args)
+#endif
+{
+  char *result;
+  int total_width = libiberty_vprintf_buffer_size (format, args);
+  result = (char *) xmalloc (total_width);
+  vsprintf (result, format, args);
+  return result;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libtool.m4 ./libtool.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/libtool.m4	2015-01-13 02:02:20.000000000 +0000
+++ ./libtool.m4	2015-01-20 02:05:40.000000000 +0000
@@ -1006,7 +1006,7 @@ _LT_EOF
       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
 	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
 	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[[012]]*)
+	10.[[012]][[,.]]*)
 	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
 	10.*)
 	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
@@ -4459,7 +4459,7 @@ _LT_EOF
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
 	 && test "$tmp_diet" = no
       then
-	tmp_addflag=
+	tmp_addflag=' $pic_flag'
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
@@ -5525,8 +5525,8 @@ if test "$_lt_caught_CXX_error" != yes; 
       # Check if GNU C++ uses GNU ld as the underlying linker, since the
       # archiving commands below assume that GNU ld is being used.
       if test "$with_gnu_ld" = yes; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/MAINTAINERS ./MAINTAINERS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/MAINTAINERS	2015-01-13 02:02:16.000000000 +0000
+++ ./MAINTAINERS	2015-01-20 02:05:35.000000000 +0000
@@ -47,7 +47,10 @@ gdb/; readline/; sim/; GDB's part of inc
 	See also gdb/MAINTAINERS and sim/MAINTAINERS.
 
 include/
-	See binutils/, gdb/, sid/, gcc/, libiberty/ etc.
+	The rule is that if the file exists in the gcc tree
+	then gcc owns it.  Thus you have to look at the gcc tree
+	to know whether any particular file is owned by gcc.
+	See also binutils/, gdb/, sid/, gcc/, libiberty/ etc.
 
 intl/; config.rhost; libiberty/; libiberty's part of include/;
 compile; depcomp; install-sh; missing; ylwrap; config/
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/Makefile.def ./Makefile.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/Makefile.def	2015-01-13 02:02:16.000000000 +0000
+++ ./Makefile.def	2015-01-20 02:05:35.000000000 +0000
@@ -271,6 +271,7 @@ flags_to_pass = { flag= LIBCFLAGS_FOR_TA
 flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; };
 flags_to_pass = { flag= NM_FOR_TARGET ; };
 flags_to_pass = { flag= OBJDUMP_FOR_TARGET ; };
+flags_to_pass = { flag= OBJCOPY_FOR_TARGET ; };
 flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
 flags_to_pass = { flag= READELF_FOR_TARGET ; };
 flags_to_pass = { flag= STRIP_FOR_TARGET ; };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/Makefile.in ./Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/Makefile.in	2015-01-13 02:02:21.000000000 +0000
+++ ./Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -213,6 +213,7 @@ HOST_EXPORTS = \
 	LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
 	NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
 	OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \
+	OBJCOPY_FOR_TARGET="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY_FOR_TARGET; \
 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
@@ -285,6 +286,7 @@ BASE_TARGET_EXPORTS = \
 	LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
 	NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \
 	OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \
+	OBJCOPY="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY; \
 	RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
 	READELF="$(READELF_FOR_TARGET)"; export READELF; \
 	STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
@@ -536,6 +538,7 @@ LD_FOR_TARGET=@LD_FOR_TARGET@
 LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
 NM_FOR_TARGET=@NM_FOR_TARGET@
 OBJDUMP_FOR_TARGET=@OBJDUMP_FOR_TARGET@
+OBJCOPY_FOR_TARGET=@OBJCOPY_FOR_TARGET@
 RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
 READELF_FOR_TARGET=@READELF_FOR_TARGET@
 STRIP_FOR_TARGET=@STRIP_FOR_TARGET@
@@ -755,6 +758,7 @@ BASE_FLAGS_TO_PASS = \
 	"LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \
 	"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
 	"OBJDUMP_FOR_TARGET=$(OBJDUMP_FOR_TARGET)" \
+	"OBJCOPY_FOR_TARGET=$(OBJCOPY_FOR_TARGET)" \
 	"RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
 	"READELF_FOR_TARGET=$(READELF_FOR_TARGET)" \
 	"STRIP_FOR_TARGET=$(STRIP_FOR_TARGET)" \
@@ -851,6 +855,7 @@ EXTRA_TARGET_FLAGS = \
 	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
 	'NM=$(COMPILER_NM_FOR_TARGET)' \
 	'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
+	'OBJCOPY=$$(OBJCOPY_FOR_TARGET)' \
 	'RANLIB=$$(RANLIB_FOR_TARGET)' \
 	'READELF=$$(READELF_FOR_TARGET)' \
 	'WINDRES=$$(WINDRES_FOR_TARGET)' \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/Makefile.tpl ./Makefile.tpl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/Makefile.tpl	2015-01-13 02:02:16.000000000 +0000
+++ ./Makefile.tpl	2015-01-20 02:05:35.000000000 +0000
@@ -216,6 +216,7 @@ HOST_EXPORTS = \
 	LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
 	NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
 	OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \
+	OBJCOPY_FOR_TARGET="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY_FOR_TARGET; \
 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
 	READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
 	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
@@ -288,6 +289,7 @@ BASE_TARGET_EXPORTS = \
 	LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
 	NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \
 	OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \
+	OBJCOPY="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY; \
 	RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
 	READELF="$(READELF_FOR_TARGET)"; export READELF; \
 	STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
@@ -489,6 +491,7 @@ LD_FOR_TARGET=@LD_FOR_TARGET@
 LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
 NM_FOR_TARGET=@NM_FOR_TARGET@
 OBJDUMP_FOR_TARGET=@OBJDUMP_FOR_TARGET@
+OBJCOPY_FOR_TARGET=@OBJCOPY_FOR_TARGET@
 RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
 READELF_FOR_TARGET=@READELF_FOR_TARGET@
 STRIP_FOR_TARGET=@STRIP_FOR_TARGET@
@@ -656,6 +659,7 @@ EXTRA_TARGET_FLAGS = \
 	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
 	'NM=$(COMPILER_NM_FOR_TARGET)' \
 	'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
+	'OBJCOPY=$$(OBJCOPY_FOR_TARGET)' \
 	'RANLIB=$$(RANLIB_FOR_TARGET)' \
 	'READELF=$$(READELF_FOR_TARGET)' \
 	'WINDRES=$$(WINDRES_FOR_TARGET)' \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/md5.sum	2015-01-13 02:09:42.000000000 +0000
+++ ./md5.sum	2015-01-20 02:11:53.000000000 +0000
@@ -1,381 +1,385 @@
-43d5b21630fd03c9dc45aa6c17c43ff1  bfd/tekhex.c
-b595015e47986eec0ca0f3fbc76ebcd6  bfd/reloc.c
-5bbcedc0b14d6e456779a3fb61602fb2  bfd/dwarf2.c
-2f37446a625434bf92958013fc0b5c3f  bfd/libbfd.h
-9d320c5e8f9e22854b36b525636d157b  bfd/cpu-nds32.c
-c5af137cddbe4a9e26073928381be385  bfd/vaxnetbsd.c
-1d90e3012a11739663590d599885c877  bfd/elf64-ppc.c
-5abe92d66143151571bb69771562e2c3  bfd/elf32-mcore.c
-aa0fa7ad154bfa918a12bde7f8893793  bfd/pe-mips.c
-859f4914d7826bc225e74a5310f7cf17  bfd/archures.c
-b71fc5f9817c88dcb0c257bc745409c4  bfd/i386lynx.c
-530deb0bae811d979e5efcc0c4b8b29a  bfd/bfdwin.c
+ec0a5972f6858c7125f5748457c3d0eb  bfd/tekhex.c
+f624b63828c11f9bb09466cbc385b56c  bfd/reloc.c
+daed7fcc65e437bc77ebf152e0d7231e  bfd/dwarf2.c
+610d1cd3cbbed99e073207b0b24af114  bfd/libbfd.h
+4cbda6238eaa5464ed780d0ddf427cc5  bfd/cpu-nds32.c
+d379f86e2b08ffd6d7bceca24851adbd  bfd/vaxnetbsd.c
+58a33143256d92647c7f34b3e244b6e7  bfd/elf64-ppc.c
+c3e3eade8a6d307150f6db151a6742b5  bfd/elf32-mcore.c
+58423814cf9665d59abc7cd41555d9f4  bfd/pe-mips.c
+45ea12876c20ea5ce95e3c72b8df4d7e  bfd/archures.c
+bc1e0d5bf37619a2a294ecfd8b7489be  bfd/i386lynx.c
+b8f6eae8ac926dc604030cb3efba1039  bfd/bfdwin.c
 e41bf4306979bec62eb8430fb41df6a5  bfd/ChangeLog-2013
-c6e5287559a8060fe05ba3ffdc1d0eaf  bfd/aout32.c
-f55061b34622ce5ede20bd844ccdbe3a  bfd/elf32-xstormy16.c
-593885d0c887aab922d255be5e8e4fbd  bfd/elf32-m68hc11.c
-3cbb826714f22ca514ec6b053a8a04a5  bfd/elfxx-tilegx.c
-7d74f443197ce6fe6366713ba187ede5  bfd/epoc-pe-arm.c
-6139666ef98dd5e8d90367d60fb44e03  bfd/aout-adobe.c
+cc0b01f7614b9620d951fe88856b9342  bfd/aout32.c
+c5ce585820b3ae816c8edb8b7bdaf1f8  bfd/elf32-xstormy16.c
+cd6d86b6db57d32766b8a529bb92cbf1  bfd/elf32-m68hc11.c
+d71a0d07d6692159b44cd1c4b62e6983  bfd/elfxx-tilegx.c
+21029c7d41557b7e6b3f27278552155c  bfd/epoc-pe-arm.c
+f042c8f3da7b59243af8763e5e4fd607  bfd/aout-adobe.c
 5ddd7325e4cba21950fe2d391072cf87  bfd/ChangeLog-2011
-fc482ab06f1cd34f4cb75229d875b3fb  bfd/libcoff.h
-3342fdabc19f294e40aef0882e633b3b  bfd/elf32-cr16c.c
-941ee6abb8706ad93dea3bbc769a8763  bfd/cpu-m68hc12.c
-ff56c4e2722b1826c5bc0b9eeb133d37  bfd/xsym.h
-6adcfdfbd23d1659fc7f2bcf8b2307cb  bfd/cpu-mcore.c
-4630663952064bc529ce0e1cfd863b45  bfd/syms.c
-2ca2415dd8645b055cf48755126f7c73  bfd/cpu-crx.c
-472739e4148eff712f1aed3b6bd3c611  bfd/hp300hpux.c
-907b1960bad1e1a27b6a384d682badce  bfd/Makefile.in
-0c67c9cd0a1e5c3902c2d85acb48a05b  bfd/elf32-tilegx.c
-ad99cf56ec6c45781e2502e672db4436  bfd/cpu-hppa.c
+c78c3eeaf776ca679e1895c3733005ef  bfd/libcoff.h
+682544a7c8693586a7f51fcaa815c8d1  bfd/elf32-cr16c.c
+a0b483658fe8a417ba56a0fcfce92231  bfd/cpu-m68hc12.c
+9583b1fb1f69005f1145a6a3e86c0357  bfd/xsym.h
+b27d1d7c255437f86c3f17986f4783ec  bfd/cpu-mcore.c
+696731bf32425deb1b76f5d939948a1d  bfd/syms.c
+ac0a746e8b4834031fd4256fd2198923  bfd/cpu-crx.c
+0c3128fe1cf0976cf5856282fdc0a5e0  bfd/hp300hpux.c
+c4b69ed3cb44d5afdfe7e455ed071972  bfd/Makefile.in
+7f7385008730efaadb78adc87e42efcb  bfd/elf32-tilegx.c
+0e1885676e3db0dab1b7139dfbc2e47c  bfd/cpu-hppa.c
 dad496c68df8395b3cdb8e3187c37eb1  bfd/dep-in.sed
-03befbcfa647e5bf1e238d1d549ee379  bfd/elf32-metag.h
-d6ed5990dd489c5059473ea2c3a12fb1  bfd/cpu-cris.c
-e8c58c69f0664679cad123c93211826d  bfd/pei-x86_64.c
-69b0f157a268bdf26086a5ec9e3d6cf0  bfd/cpu-d10v.c
-3dbe3a01c7c545db5aa3beb56777f7d1  bfd/xtensa-modules.c
-bfa18f25e96f50e0c4413b181721a430  bfd/elfcore.h
-dc3fde10a22d9aa9bf53c1e4276262da  bfd/elf64-mips.c
-463bde0c89801963ce9b1f4f9156c9fe  bfd/cpu-m9s12x.c
-52ccd36ed09cd967a5e38752264196d1  bfd/version.h
-9a356599d5fa08ff431f9ce928ec0884  bfd/cpu-tilegx.c
-8ba0321c380f3f12447c8f0452bf27c8  bfd/coff-mcore.c
-60e9118b4f6ae43f6708d6b565f6edd2  bfd/cpu-avr.c
-8f43340b6170d3ad5c41638199e2824e  bfd/aout64.c
+62daecb5d78845f37cccb900ab692149  bfd/elf32-metag.h
+6745ddba96c0348e07ed5bdd15b638e9  bfd/cpu-cris.c
+f74f5720bf485dc971d7b4151b97318b  bfd/pei-x86_64.c
+3d0f0160d615a50be3fe50cdfaf96a71  bfd/cpu-d10v.c
+3a7a5fe19ebcf7f41e79fcf8cd090893  bfd/xtensa-modules.c
+d714ee957aefa81619f03058d91b23cb  bfd/elfcore.h
+c81d65148831d8cdd82361f4e75ad0c2  bfd/elf64-mips.c
+57287cb3abe2dc7f66af4ab28aafebe9  bfd/cpu-m9s12x.c
+986bb00631b0b04636f4bf1b44995a2c  bfd/version.h
+a107ac2f34a58b7629fbff59490f61f1  bfd/cpu-tilegx.c
+ceebc66a221f8f9297b660d643de9009  bfd/coff-mcore.c
+b33e0ba78cdd46c771e365ab8b48bfc1  bfd/cpu-avr.c
+90f07219c78f6fbe833f6a8d97241f12  bfd/aout64.c
 f5ad372cf681a57b9a43f6975c05e33c  bfd/ChangeLog-2012
-03fa6bdc71086a1be3f0e3922e90c280  bfd/elf.c
-e7b64b1eaecee900cf1e4b3ba0fa690e  bfd/hppabsd-core.c
-74c3797a2965241b662b6281bc49e97e  bfd/elf32-xgate.c
-b4e77e9ae3d2945ec02b72b854571a7b  bfd/elf32-nds32.h
-aadce456619f8eaae1e41fc0aaf647af  bfd/demo64.c
-cc25a49d30c52571b4008ca2c9d38bbe  bfd/ecoff.c
-e05d9ec2290dbbaa5c563c432b2a0487  bfd/cpu-moxie.c
-5ff92de7edea4442da7a08e98e1931eb  bfd/mach-o.c
-279495950e3555ac06d1d4be86bb6157  bfd/m68klinux.c
-a4fece53a095b603f7cbcc2293cd4267  bfd/elf32-vax.c
-d6b8885491f8279425a05439b441e772  bfd/pe-arm-wince.c
-68fde09e87c0b5c5f0e26eba9a3eecc5  bfd/cpu-rx.c
-59c5a2cff9d9fe47b012baf41b36e45a  bfd/cpu-ip2k.c
-24e128c6ed1ca63fa89b7ee9dd23a6e0  bfd/i386linux.c
-c4b90baf05e0810174fd67d24a3c7027  bfd/cpu-h8500.c
-2fdee0a4cafeb78e5001de80d27f267e  bfd/elf32-tilepro.h
-3671f97d0404d20e1abaf0d87cb8419e  bfd/elf32-s390.c
-38b8193e2ffa3930b3b1be1aa615d23a  bfd/libaout.h
-a3bffadf3885b2a29bbf7252a4061ead  bfd/elfxx-aarch64.h
-e55c56e3dfab4d813d034f1fc59d7587  bfd/elf-vxworks.c
-3488a998ff18339677033edb042bf753  bfd/elfxx-mips.c
-36244caa629ec11ffd08b2dc83d5d7eb  bfd/archive.c
-a1835c1aa72de85d24390ccb5b923cf8  bfd/aix5ppc-core.c
-3b61254df8714ad9b1844424982ae6a8  bfd/pei-ppc.c
-b48a63ef90223a0e4cf4ffa5b46093f1  bfd/elfxx-ia64.c
-97517f30b7c5c12c03b1d3767b67b6ac  bfd/elf32-dlx.c
-7ead2a9b7f6a05e12eb4df9909d6505c  bfd/elf64-tilegx.h
-e38b3eaaccac8e3e8e3a4b86fc7fe40b  bfd/peicode.h
-1e84139d7481abdefd4b40bb16c438fd  bfd/coff-mips.c
-59ad3a35032ee1d2f0e9f137b4cee28e  bfd/coff-h8500.c
-cc82beffc71ad1ac3a4cf313f8f8bf11  bfd/cf-i386lynx.c
-ff232ff93c75d4a0b1447a3ff71cc673  bfd/elf32-mep.c
-a209219b50594b8b06a707162c906305  bfd/elf32-v850.c
-d99743f7eda4a23bafda1226cccf6686  bfd/nlm32.c
-919a6d3080c82efe8017d20a103859e8  bfd/cpu-i860.c
-1be1bfbdd9458c8d70a28ef5c93fb71a  bfd/coff-m88k.c
-d1f6e22776799c133f389dfb21271dbc  bfd/mach-o.h
-304e7607957adb6c0d00ce0980b1f620  bfd/elfxx-mips.h
-5fa3ecbd17d5f280a1162c841dba41c0  bfd/aout-sparcle.c
-6cf638c3d2a0fe7ff0dcb03404c4f668  bfd/elfxx-target.h
-956eb4cbdb3f4c79b88da27ba32b518b  bfd/i386os9k.c
-7eebdfab1696b64203926c65bd907aab  bfd/m88kmach3.c
-d7a6ae90a11b40151f40be524c51c8a9  bfd/ecofflink.c
-2a34d7807c217c5fcc36157987e27699  bfd/ptrace-core.c
-7715775420c73b076d93ee585a4660ec  bfd/xcofflink.c
+fa3b7ff92fbc8734f9fc7b23b06fe5fb  bfd/elf.c
+b573043e5103e4c7c7e4b88bd03a253b  bfd/hppabsd-core.c
+a74ca3ed88640b8fc3e3a9c576f404e3  bfd/elf32-xgate.c
+03f80c50fe1a8e610a763ce5fc65991b  bfd/elf32-nds32.h
+f30c2f55e5c6309ab24aa96b8df86324  bfd/coff-bfd.h
+8373bde8fa77a2939a85c16983a71910  bfd/demo64.c
+56ad91a6aa7cb77c9573c4d61d5c3aa5  bfd/ecoff.c
+097eef5cef36c541234e2ff13f69547e  bfd/cpu-moxie.c
+04b3d1538d14a25b5a6bfd60940b2f8b  bfd/mach-o.c
+ebdd84dfce66bdc6b6f72f53c366f173  bfd/m68klinux.c
+40768c5bf2a20d33fd90df2ba660f51e  bfd/elf32-vax.c
+1aecdc5b55f025d1bc08db0d255e4aa6  bfd/pe-arm-wince.c
+f247d3c7c7dbf2c2bde47274fcf12d16  bfd/cpu-rx.c
+181869ba42e45b879925056707aae9f0  bfd/cpu-ip2k.c
+ab3a3da9d15b78a7e2e26490487be5cc  bfd/i386linux.c
+f15dfac0bc5f92eca85472d4eda68fc2  bfd/cpu-h8500.c
+615e1fff5358f13fa157b374aa1351f3  bfd/elf32-tilepro.h
+df459034b05c88db181d77dde3b83ede  bfd/elf32-s390.c
+2b91920292050b8e49bf1b385927b938  bfd/libaout.h
+ca8c68fe0e3059a4b03f2eae39bd6738  bfd/elfxx-aarch64.h
+e74495ef0895c24443ef071dfef0a1e4  bfd/elf-vxworks.c
+95cc355f0db28f6404dbb53d7cf0282c  bfd/elfxx-mips.c
+f765ee43ee7ec4df6f7204fabbce2bca  bfd/archive.c
+7f96b0f32007cdc39e8124a9b3dad2d9  bfd/aix5ppc-core.c
+ba9a2755d1c41b945dbc93f1eb4127ee  bfd/pei-ppc.c
+de2977553f6af7296c4a654b5e4577a1  bfd/elfxx-ia64.c
+f1a36ada9ee8a1a14700ebbee75d460f  bfd/elf32-dlx.c
+7f8dd8061ac1d17d70fe4cf34cb127eb  bfd/elf64-tilegx.h
+8c243a6f4957f88044638d01e8e63ed6  bfd/peicode.h
+d101cffe506f113fcb606f1c0223fb66  bfd/coff-mips.c
+898a644b23a64839557ed04222f5b7b5  bfd/coff-h8500.c
+149f2204ab9e082a2beb72dd6c04800d  bfd/cf-i386lynx.c
+86cd1dcbaf3151991d7dbc7217266b82  bfd/elf32-mep.c
+f0f808bfc7605c6c190bc8d5c2aad23c  bfd/elf32-v850.c
+981beccb0f207921c427ad4a84e6ebc0  bfd/nlm32.c
+a349bdd93e5ef636ab775bfc2aa60223  bfd/cpu-i860.c
+8631f30b718bb5196534a56bc88f3ab6  bfd/coff-m88k.c
+f97223ef272e0609f36680d3baacbab4  bfd/mach-o.h
+8d5d4ab275d49e14c713b9305842f9cf  bfd/elfxx-mips.h
+becb5e588a5efa442ddea086605b0b42  bfd/aout-sparcle.c
+b617f132658f672cb3bf6ea5da255873  bfd/elfxx-target.h
+554a3fb130d2151cc2bec271f0b68699  bfd/i386os9k.c
+e171a4dc1f87c39ff798cbd03bd2434f  bfd/m88kmach3.c
+3a283d62b97e2fa64e9630a3f495106c  bfd/ecofflink.c
+11b3cc64472dbe0b61fd3be72afe2ede  bfd/ptrace-core.c
+d6fa04787c5d196ce562a3f92048f08b  bfd/xcofflink.c
 53357a9b87dd158b90cf790c316fd438  bfd/targmatch.sed
-2ec48ab4d0d5933c5c49512cc04ec63c  bfd/cpu-i960.c
-1c56986f540186ce0eb17a16cedadccf  bfd/coff-ppc.c
-851a9c3c2a8729c2775436212ecb4e3c  bfd/pef-traceback.h
-65fd1f6610fa6ad442bdf874272a7c8c  bfd/cpu-m68hc11.c
-24be9e546c97d7be98b8107311f36f74  bfd/coff-go32.c
-72bd9384788fdd18a9378f181eeb31ba  bfd/config.in
-0e072fb8f42654ee26dea906fc596f13  bfd/hash.c
-0ecfc1713af97d89035c470f18ab30f5  bfd/compress.c
-a7b20d1853c9f4955db149aef19c8abd  bfd/cpu-w65.c
-25071622a4aad7b37755278aa50587e4  bfd/README
-d6b59a61a7097fc1d2d9392be4912ffa  bfd/cpu-xstormy16.c
+fa7eaf91655aef12a36593f6f90b02c7  bfd/cpu-i960.c
+e3c124c38ea4570880eea37805573a14  bfd/coff-ppc.c
+44f38f85d08fe90e795466e4290d7eed  bfd/pef-traceback.h
+55e00bd9014a3d3560c12792adfd92b0  bfd/cpu-m68hc11.c
+e8d05731a4478f362040f06713539674  bfd/coff-go32.c
+df2292e3438ad762bfca9650514c99e4  bfd/config.in
+36024c3c1dc8d56546d1d2ca9d725ff9  bfd/hash.c
+298d57467b26100313ec2384a0eadcf8  bfd/configure.ac
+b5f6d796a05670a358513f8563dc5111  bfd/compress.c
+a89455c744663c32eec524acfc6fe248  bfd/cpu-w65.c
+0c6f8c4af12bb99cbf76d6dbffaa8b3e  bfd/README
+2f687954017c8291763eefb0db5fce2b  bfd/cpu-xstormy16.c
 58a3fb1e054b540ef5c1329799b824bb  bfd/ChangeLog-2005
-654f8ef68f44faeb27cbf17a8987b75f  bfd/nlm64.c
-7e0701059d221006fc7568c4a879d986  bfd/i386netbsd.c
-f8a85fab4a4987e8c0964e11f9b87192  bfd/coff-aux.c
-cfc53fc76c4177dab1c8f578a3f46c63  bfd/development.sh
-22ab7d44bc2fff883723b497b572372d  bfd/elf32-tilepro.c
+374aa4ef7fa7ef7a62af9c4618383640  bfd/nlm64.c
+70cf04337b5bbeac009aea71e5026c49  bfd/i386netbsd.c
+39e58cf7295ab4a56d9d8068b1bf0060  bfd/coff-aux.c
+c2f83b76fba44d9b69cff84060e26868  bfd/development.sh
+32c9e4f53b2cc2504fb12e0ba1e8fe09  bfd/elf32-tilepro.c
 ce363ffcdb2993ee84530554d0fb5a78  bfd/ChangeLog-9697
-9241d7ffd9d1a546355b117f34977b8d  bfd/cpu-cr16.c
-64b92e58be2ba3926069dc998ed900b6  bfd/i386msdos.c
-c568566973d74bf48051b632f6ebe467  bfd/bfd.m4
-4c63a20bb145d3396158a0d7f02201de  bfd/libxcoff.h
-0833d40504a85b0a2cfd7817926ecbc5  bfd/i386bsd.c
-131483790aad1c9bcdac960a2df6c2cd  bfd/hpux-core.c
-9b998438b0fe89d9eaf86f1eb1835052  bfd/elf-bfd.h
-79ccd6a602131c7ce092bf7050852865  bfd/m68k4knetbsd.c
-3e6690ce23c5e9674d3342aea6db2b62  bfd/mach-o-target.c
-705a20d73bbc43b1ae99639a96a56dab  bfd/elf-strtab.c
-da2f9006c3728e13c4ac80e61949395b  bfd/peXXigen.c
-87c838cd17932bf4452846c31370504a  bfd/simple.c
-9db72f93170e2593c6c9e2336146fc6d  bfd/pe-x86_64.c
-b0b7de8f7ff1d745641df38e6cb443b3  bfd/init.c
-9e323fca2ef8bcabbf5dfd9459715788  bfd/cpu-bfin.c
-2dacb3f764ec0da07eca21ba400e3b27  bfd/elf-nacl.h
-4054a8716e8d0738fee9dc2b7b045aca  bfd/config.bfd
-d494d6a05de869e680efa84f09adfa51  bfd/elf32-bfin.c
-636b2e2bab59a880162da68a1be796ea  bfd/makefile.vms
-aa95da6d775d79da0c7685878e646c9c  bfd/cpu-mips.c
-83bc78f1448af059e24090ecb21604cd  bfd/gen-aout.c
-2e473488305a85187c75d737c44b2da9  bfd/elfnn-ia64.c
-22b1088ffe9690240366f94d24afa12b  bfd/cpu-xtensa.c
-7892ceb7f585b77b0aa24ef99e8977ac  bfd/pe-ppc.c
-4ba99a356197e915b69bb7395e966a52  bfd/opncls.c
-5cb40a9894567110874208dc2b8437f4  bfd/elf32-cris.c
-62cec282095271ffeaa18ead85ee3df5  bfd/cpu-z80.c
-579e876a33719ba6722616769dd5c140  bfd/coff-i386.c
-1be3f5385f1eb0b3781b5cae9cd14733  bfd/aout-target.h
-5b204e146f3f1fc4bb0ec78c1a671986  bfd/elf32-spu.c
-12424296e11cc79bbbd18ebce90ed9b8  bfd/elf32-gen.c
-fc71847ab5788fe3112d76f3ca301b10  bfd/cache.c
-de6868d5413e283df74c45d7e3f67532  bfd/coff-tic80.c
-87831c15ad57a944651f13fef0ade633  bfd/elf64-s390.c
-c923da197b0e4e3f7b474b004ce2c052  bfd/oasys.c
+8e59db45da7059710e7672a2b98e2ff8  bfd/cpu-cr16.c
+37a2c322f4ea0ab1ce9c1fbf8498d37a  bfd/i386msdos.c
+7e3ec634de9969560706530f59e6abd7  bfd/bfd.m4
+21c726851b34cc5fc518c8719bb9fd40  bfd/libxcoff.h
+897c2192d7787165e1e051bdfccf7e35  bfd/i386bsd.c
+b30c64de76fa5604057647d8993e0164  bfd/hpux-core.c
+6cb0da82674261abb09d362c4c4157d1  bfd/elf-bfd.h
+42878bb2397b6bf5856dce039784d23b  bfd/m68k4knetbsd.c
+d906ec4101f7b2e1edb000e25b4c5d74  bfd/mach-o-target.c
+d9125b8b9ea20be2b07955ef07f91a82  bfd/elf-strtab.c
+090b4829c6e2114bd983a5bd0408b516  bfd/peXXigen.c
+aeba86ed5d2465b6e62f96702b1a0776  bfd/simple.c
+ca01d545ef06794cc76fc453e4322379  bfd/pe-x86_64.c
+8db1a06ea798fd096aec3a598209f482  bfd/init.c
+a5b8426b56cf4b603212b78726b7580c  bfd/cpu-bfin.c
+c8eee41e3ba7a4807e87ba94d8d6517f  bfd/elf-nacl.h
+2b585970c6a18bf4f47940190f4a5005  bfd/config.bfd
+e09e00476ef19a2a46352d2803490025  bfd/elf32-bfin.c
+b0d911d714c31735b3628f0f6d12b0c5  bfd/makefile.vms
+a0027b034ca920333f6f40cbc1839194  bfd/cpu-mips.c
+2bf549920df47dde109e064b8a84be7f  bfd/gen-aout.c
+264747e8744a78e631ede53ca6b816ce  bfd/elfnn-ia64.c
+367990d0410d4613f40e896b06c69e56  bfd/cpu-xtensa.c
+97c2d4c69f0eeb546765fbda03dea99f  bfd/pe-ppc.c
+00c744d5db06c809bd5db1b628be3259  bfd/opncls.c
+71827b75ff0249a9e372fce414ef2763  bfd/elf32-cris.c
+aceb78738bda31ed5a4fbdd6c829f4ad  bfd/cpu-z80.c
+d51e2017b5d7053341d1306b89f496ee  bfd/coff-i386.c
+7985b524461484c7735b12a710b9cf44  bfd/aout-target.h
+80fe08aba6db4598bc6d6c19403ef668  bfd/elf32-spu.c
+4384a857565e33e249a6653e5bf4b31e  bfd/elf32-gen.c
+b096261204aa83b0027e9886b983e23a  bfd/cache.c
+25db76f53bee919c771b9f7e8668955a  bfd/coff-tic80.c
+433a53046eea3ff9f1fcfc6800a163fe  bfd/elf64-s390.c
+0e9ed222258484723d3ad4bb40179b81  bfd/oasys.c
 408ef1462276b75d3708877103c85eb8  bfd/.gitignore
-43bcf75ded80f1a98bf14ee9981e6967  bfd/elf32-m68hc1x.h
-7c90ae4742cc64f53603ff6ad9675f4c  bfd/cpu-spu.c
-8f0b8701c65d763ef054f3a135327854  bfd/bout.c
-355aadc30df8754609ee667f035da398  bfd/warning.m4
-a0f079662350fa556a05c3fbdc7a650f  bfd/elf32-moxie.c
-e046fc16adbae8a29223cc6ee35da389  bfd/pc532-mach.c
-34f1a59d2aad2b1af0993e7959f7575c  bfd/configure.host
-8855e8c7d6334a6a93666f6cf30187a1  bfd/cpu-aarch64.c
-3ce9ad60983bc7f1c5c89f6230c2c1e3  bfd/bfd-in2.h
-9fccc5872c157ab77dc2538531703414  bfd/cpu-k1om.c
-e9e644db2b21135d0a0b6bf49aae3d6c  bfd/nlm.c
-e81cefbe3cff7f0aac828ebfebb10759  bfd/cpu-lm32.c
-f9fe0197950b66bec456c0ba0888d40e  bfd/sco5-core.c
-f4419d860a56fd5dc3b8d486189a2ae3  bfd/nlm-target.h
-92c4670b31ddb3755f58313a0ccb95b1  bfd/elf32-sh64-com.c
-011b24e08a4fb18df20e2752c4434a4f  bfd/i386mach3.c
-333e742c92268a2804dd5ccfc49e32f9  bfd/cpu-m32c.c
-e1cc54a23bf2fe2bc2274880217a228a  bfd/cpu-pdp11.c
-ea123076ab8fa11f4acbcf64ce2de845  bfd/coff-tic4x.c
-f759b34f3ef4602e6823bc5f3d491357  bfd/cpu-m10300.c
-acbf956bf05808266e20bc25bfb89eac  bfd/elf32.c
-1eff7072e2e2a8d0f005e459d56a1490  bfd/elf-nacl.c
-0744de410defdc5c43cf35d3e21df203  bfd/libbfd.c
-7e7b090a5928427ef4e0159d3dd6a391  bfd/elf32-d10v.c
-54bf68b3aca32f721a0e216361ab8848  bfd/coff-arm.c
-7418dfa396e594a0595a508c44d8f043  bfd/elf32-score.h
-847d87a12e6193b5a73ff680f97532cc  bfd/cpu-d30v.c
+462459fae57942d863ff89792f70f1e2  bfd/elf32-m68hc1x.h
+63fe47ec508c643232e768ca5edf4f3c  bfd/cpu-spu.c
+35f7bce12dc045c5df6ed1cbccc0cf49  bfd/bout.c
+effd5b05c0a39ffb18063e98f219ed6f  bfd/warning.m4
+91d7723dbb1ac2d0d4b73e009c30860a  bfd/elf32-moxie.c
+d257d07aae981ced6ca5490db04c189e  bfd/pc532-mach.c
+f210b04663c7d0f71e6559a3f7a7e1bc  bfd/configure.host
+62003f2b3a96e1a7c53fe2e85f685db5  bfd/cpu-aarch64.c
+bf302636ec3f41290e4ca9f131d453f1  bfd/bfd-in2.h
+2deec369a17785f5c51db5c496ba451b  bfd/cpu-k1om.c
+dc8fb1714877aed44474fde33fab5ba3  bfd/nlm.c
+48d363783c777355caa818db75d5a25e  bfd/cpu-lm32.c
+44a7a500c0bf9975e8f02006b9540791  bfd/sco5-core.c
+d983a04e314fc1bdf12fd3254a8183a3  bfd/nlm-target.h
+6bb30589a71a6f5cb37c4fef2b3694de  bfd/elf32-sh64-com.c
+84e97c613d022c65c26b2b4bc54aeefa  bfd/i386mach3.c
+16c01231f4e62c8143e9b348a6e1559c  bfd/cpu-m32c.c
+7319d5fd523b4795c0e08d651c48c35f  bfd/cpu-pdp11.c
+98fb258baae51af6a7861791f0ac1d2b  bfd/coff-tic4x.c
+234c7609eba6880d71c0d912df287afb  bfd/cpu-m10300.c
+c844ec58a10bb4cc230b3f05f7657d55  bfd/elf32.c
+cc7378f7be9df4889ce909abe61e8ba0  bfd/elf-nacl.c
+e7a46838649dd641d6466cc6fa24a6a6  bfd/libbfd.c
+a87d07ff2d9bab4557b7b209252bd5c0  bfd/elf32-d10v.c
+d961679ca24f8ce7986eb21fd10cf467  bfd/coff-arm.c
+a47f45a1fe6baee6725f563a3845ca9f  bfd/elf32-score.h
+b4d684df83075a9a6ae4511b590634aa  bfd/cpu-d30v.c
 bbf88fdf4e23c9cba924526076284b78  bfd/ChangeLog-2010
-2ae798341fd5beaf78047c0ab733cd57  bfd/vaxbsd.c
-c4d5f2189aa8faf24a6aa8f6f30dcb5d  bfd/coffcode.h
-e92d3a30f679cbb58cc58a8a0740708e  bfd/vms.h
-a678bf77656e6254b09f97330a7ac052  bfd/coff-sh.c
-9fcc000efa649a87b10f3a5fa75318c7  bfd/m88kopenbsd.c
-f142e945ad9ee6a486cbc96e96d44efe  bfd/cisco-core.c
-af13f52c5fd47ccc62daf50f52427564  bfd/ppcboot.c
-2bb9f14701d8ddc5bba82239ea5b785f  bfd/cpu-i386.c
-85c97c0d62c9ff29718e5d4833f1b0a7  bfd/rs6000-core.c
-780627cdbe36e9f8df7fb1f60e53a7b6  bfd/elf-eh-frame.c
-89d42b31af66658f5a23babcf7607e8d  bfd/cpu-we32k.c
-9cb1bdedbb341ab27108540b8f65451d  bfd/sparclynx.c
-9a6253917f5598d1fb9c23f5f1608420  bfd/elf32-i860.c
-aeafa5f1309933bfc789678241d5e2eb  bfd/netbsd.h
-6479b616dc5e1fe62100ddbd1c7b23cf  bfd/elf32-hppa.h
-2b4ce2d08808520d0cfca8c7f501e376  bfd/elf32-rx.h
-b42a73d6bf4e281c773e6d586db82f73  bfd/elf32-cr16.c
-61f7c25bc6e41603172760cae43ff713  bfd/pe-arm.c
-95dd217cd836ab0341cb6b1190c6fd88  bfd/elf32-frv.c
-a3467605fb885484ac9e88375adf1bc7  bfd/pei-sh.c
-6a50bf29307db22c164498f841bdce01  bfd/elf32-arc.c
-ea9b48bbe5211ae23855466d09ea5702  bfd/elfnn-aarch64.c
-f3f743a80b2932ea4b4599e3a7bbe64e  bfd/mach-o-i386.c
-04142551d48e0d854e1d86cdf573a3d3  bfd/elf32-am33lin.c
-596b380a3e4f92901d863b7489287366  bfd/elf32-mt.c
-49bae45ea7a920304a44d511175e869a  bfd/elf-ifunc.c
-58b58f7ad7c193a57b549e62dc23b118  bfd/cpu-plugin.c
-da1235046a60a6310845aa6e3bf6d18d  bfd/som.h
-53c21107caf2b8690b5d4330297b8255  bfd/elf32-xgate.h
-0a4511be36b5bfec01d80f3b13e52839  bfd/aout-ns32k.c
-ea9f6b703b359ea613fd4502fe5a9651  bfd/host-aout.c
+78f6719e929ead174ee400e9125e2919  bfd/vaxbsd.c
+86b81681ff2719ef342259dd061c703e  bfd/coffcode.h
+8e2d22a0f8eb6e49f33e93ffbce44776  bfd/vms.h
+c66b3106a32545b76d3a65f824ec2b57  bfd/coff-sh.c
+e3e66ee706de9bab12f19c08508ae8f9  bfd/m88kopenbsd.c
+2fe0e176436ab0d02d3c7935a6d3a66f  bfd/cisco-core.c
+3e95f1a35f5a3a8f5fffcd86752164c3  bfd/ppcboot.c
+472a7a35d309b21b7bf6eb1bfd1e933f  bfd/cpu-i386.c
+d8f323b2bfc1857852867da59861295f  bfd/rs6000-core.c
+fbd278d1df85f4545e72dbe285b50ed3  bfd/elf-eh-frame.c
+5b058131e63b03ac38ccf07921b67699  bfd/cpu-we32k.c
+206a9e3d6d11b12154016667842012cf  bfd/sparclynx.c
+096d847328b90e463b8f2431cbd48fc2  bfd/elf32-i860.c
+b5a039fb4ff9da0221ea807aee4c56ee  bfd/netbsd.h
+47aaef1745bba1b121b9d9a6418264f1  bfd/elf32-hppa.h
+2d5c4bf332767480b78dc916a98a2ede  bfd/elf32-rx.h
+ede74631fb7aef6799f02d7b0c5bc502  bfd/elf32-cr16.c
+84c08446bd7e98a2ccc76dd50e8257e7  bfd/pe-arm.c
+e4c0c83735c74296642da3e924eacd23  bfd/elf32-frv.c
+06462b8f11300da9a3c4708ecda76fdb  bfd/pei-sh.c
+cd58c6c6a9e45d75305f1c6d636ac365  bfd/elf32-arc.c
+039e5e0e580549cfd8af8a93d3de4b9f  bfd/elfnn-aarch64.c
+720025115ab62195d3a751090a6ca325  bfd/mach-o-i386.c
+a06621f2e9e19b3a0c870c89d9981e40  bfd/elf32-am33lin.c
+e776b8ea400db4b316b599c9f5310ad7  bfd/elf32-mt.c
+52d89b2271d98527260dbbd8132d9d60  bfd/elf-ifunc.c
+6eeb1062882cbe1d8a43002c2abb2cef  bfd/cpu-plugin.c
+6f632bf46b47fb0427743c74e30c1590  bfd/som.h
+b20391766f63d2db4788f1feeb798acd  bfd/elf32-xgate.h
+c91cb52fb314519fb805028ef3fc795b  bfd/aout-ns32k.c
+df585392717c30d973de1a223c137975  bfd/host-aout.c
 0fc22c68d543f8dc7cc4548a3fad3557  bfd/doc/libbfd.texi
 37ba364fb34b96a1dbb55b0f6f612432  bfd/doc/init.texi
 930173859dab35d4c1c03efd5ddb18e3  bfd/doc/format.texi
-cf78791fcbd396c3283dbf3d7d5cb9b0  bfd/doc/reloc.texi
+32a838331884511de9bb58e74e244cf4  bfd/doc/reloc.texi
 072910d553f79906db69fa7c0e956bba  bfd/doc/fdl.texi
 290b494aadac1ae4d748fc49bd52f332  bfd/doc/section.texi
-21487dd5230d73f14acf09304bc3cff5  bfd/doc/Makefile.in
+323184d55ec6a5bb9d4c021b271203fd  bfd/doc/Makefile.in
 236e856bb13ee47adc5d7d253037640d  bfd/doc/bfdwin.texi
 a11231531c5c3cd6e7babf06426a657e  bfd/doc/ChangeLog-9103
 d2b923f7732c26442570c16fd1dfac5a  bfd/doc/hash.texi
 2b2af4fc0532d1286cd9293d8bda2f1d  bfd/doc/syms.texi
-8ea25c994b76537436a26bacdd6aadf9  bfd/doc/bfdver.texi
-0773376b2b430adfcbf0435b1601c015  bfd/doc/coffcode.texi
-eaec38b5c99281c9169bb99f97323524  bfd/doc/makefile.vms
-9624ff5b50c4cfb77e7f6c8c99300ce1  bfd/doc/bfd.info
-bbd5b59bb93b1f2d8588c78e2e16b455  bfd/doc/bfdt.texi
+b181f70459e781568c8483853a0c3d96  bfd/doc/bfdver.texi
+94d5f956ab010ebf90bfddbfc71d5d80  bfd/doc/coffcode.texi
+2889a82d7770c70fc338c8d7da42fce9  bfd/doc/makefile.vms
+b5585eb78baa7af639184ee8cc612918  bfd/doc/bfd.info
+077f55390067f48303d5e1ffaaf7d760  bfd/doc/bfdt.texi
 e67d8b07516154c4ddbee2e3bab3d75e  bfd/doc/doc.str
-c21a4ec3dfb39f4c344a51b2dedffb7e  bfd/doc/bfd.texinfo
+f910f218438622b07bc2760b2aca068e  bfd/doc/bfd.texinfo
 39f61ac0fb56eced56e6894e7bc47cef  bfd/doc/header.sed
 6f32bdfe0063cdb0c3aa73cceee3a1e1  bfd/doc/archive.texi
-a3d687bc21313648dbae3013c5c51583  bfd/doc/bfdint.texi
-b5964b076e9609a41d6aa8ba1982df30  bfd/doc/archures.texi
+9c29ea7f3f782cb53452b5d3d266fb9b  bfd/doc/bfdint.texi
+9afb3e98dc09050c90da3ce1973dea7c  bfd/doc/archures.texi
 51139f6af786e74446d01ec49807fc28  bfd/doc/elf.texi
-5b895f9b96e315703b490f99fdcf04fa  bfd/doc/Makefile.am
+8196495ec881df172b578acd0e5f80ef  bfd/doc/Makefile.am
 7edf511939deb638e8291f264c4249e1  bfd/doc/bfdio.texi
-68f2defc8d66d9194a90fb6f962d6d22  bfd/doc/ChangeLog
+ddf1297dbd2a66531f06e6f5cbffb0da  bfd/doc/ChangeLog
 d9f7fec3dee69a6c3084e6d4cfd88371  bfd/doc/cache.texi
 6a1a507e85b4d8cee41c3defa9d24e6a  bfd/doc/opncls.texi
-3c864c5be19a0cd2e0c0776e87a60791  bfd/doc/linker.texi
-308f282557bdf42bbb2d2209cb8646af  bfd/doc/chew.c
-67d314c0d9b3e8b1431840a134eb08a9  bfd/doc/bfdsumm.texi
+b0bc392e3b3bfff71aaa7c8636f16b91  bfd/doc/linker.texi
+d679c58e1bf764e36b1d1992f7efbeb3  bfd/doc/chew.c
+d90032324af6559f223b41aac09e847e  bfd/doc/bfdsumm.texi
 d41d8cd98f00b204e9800998ecf8427e  bfd/doc/elfcode.texi
 d7a37304ccd7b245f93df4be02797477  bfd/doc/proto.str
-130df3bdc5c0e6fd1aa5945a41d935f5  bfd/doc/aoutx.texi
+6a15b20bd56486434939c9db8e631728  bfd/doc/aoutx.texi
 84a99eb217f66a88f8897fbca35b0d10  bfd/doc/mmo.texi
 6dd9da257666139a061d6905349d9614  bfd/doc/core.texi
-87862cb3a4d559ae6f8837193037a762  bfd/doc/targets.texi
-0c81af53251105f09e3f998cce2a96c7  bfd/elf32-spu.h
-46864c40ed4eb73e33c537158b1cbd8e  bfd/elf32-microblaze.c
-a768f681660a8a8ec0545606e0c4c63d  bfd/sparclinux.c
-c7f04d335e5450ee49717b66834a23e1  bfd/cpu-sh.c
-7f1f404637f80a5f52a038704af4624a  bfd/osf-core.c
-ae2b93b7710ff0521224fefdd76a8fe6  bfd/hp300bsd.c
-6b85bf9cda77e4a707ed197414309783  bfd/cpu-ia64-opc.c
-01cda94ce360415df29c134442c56c71  bfd/cpu-m88k.c
-4d54f0c2f29926fa52e5fe0362409dbc  bfd/elf32-crx.c
+0e4ff68d57b990fa789a0442780a1b9e  bfd/doc/targets.texi
+d637eb81321fab55d7a223e62ec9ef71  bfd/elf32-spu.h
+dc86ae7a1abaff41f6e8021a304be278  bfd/elf32-microblaze.c
+7388b724a233b515a61628e339a6c9e6  bfd/sparclinux.c
+81baf972ce2e5dc9c113cf33e0726c37  bfd/cpu-sh.c
+77f1cfa5acd2dc8462f0cc7b362e4c0c  bfd/osf-core.c
+7750fc6b99e68f6f4880a2bc872f890b  bfd/hp300bsd.c
+9a38e7edca8864f1f95c7589836211c4  bfd/cpu-ia64-opc.c
+170619b7b950315d53b19396b6fa743f  bfd/cpu-m88k.c
+96dce5332df5489369e786e7d59c669a  bfd/elf32-crx.c
 92f9810a8a34c1e8680f660423898362  bfd/ChangeLog-2006
-1a979c2044829bdb687c2685f8b57aa9  bfd/pe-mcore.c
-ce39272907b54f9807618ab35b30efd7  bfd/cpu-mmix.c
-25ee351d482a399d4e17c05225061208  bfd/coff-x86_64.c
-2515056d6b9a884f5c26b851d617b693  bfd/bfdio.c
-ee9718ce6585ecad5e46d6f7a54974e5  bfd/cpu-s390.c
-583ddd3b55a2817fc98035c0b3f36c74  bfd/pef.h
-da1a900924f17b31b1b29c8aba398589  bfd/elf32-tic6x.h
-37f1611145416ba2f57eef453732bd96  bfd/elf32-sh64.c
-c4273189169e37ecd107a964c697a0b5  bfd/coff-i860.c
-2e05cdfb298a6d4b6480f725b748353f  bfd/coff-alpha.c
-6cb0f79b4d00157e1ed9e0a160a9f308  bfd/bfd-in.h
-b6406bc65f2aa5bebcc4d57a80cbfe72  bfd/elf32-nds32.c
-6d7e5fd88113d33e09133357167049ee  bfd/elf32-i386.c
-ba1a5d4e7af3a2b67ff2767fa028e640  bfd/elf32-ppc.c
+88342bc318d80ea62dd3d7a053d254ea  bfd/pe-mcore.c
+9e714d5bcbd337d6ffe1e52c26f50e4e  bfd/cpu-mmix.c
+436d477597dacc6abc92ed3843ca3e54  bfd/coff-x86_64.c
+ee6dd515e44d7279dd8633bfe5e0a1a2  bfd/bfdio.c
+a096cd3ac32af71fc5d6ae52b4a29714  bfd/cpu-s390.c
+217a68d0a5b1076454b8760b748acef7  bfd/pef.h
+651064f706aebcb3e26bfe5575a7284a  bfd/elf32-tic6x.h
+0b11bd747d1947e893855831a99c2c25  bfd/elf32-sh64.c
+aa95f9a368ab99dfc240812fca87b2db  bfd/coff-i860.c
+6741acdc1146f97f173c3b88e9e13596  bfd/coff-alpha.c
+326aa715f6c4dd56788f0f344218f718  bfd/bfd-in.h
+83226211b9f65263a36f5966158874a7  bfd/elf32-nds32.c
+a3b8c05abed62d68a97ffba15cbf2e40  bfd/elf32-i386.c
+8e477a021505b01a1e592b209f274ad4  bfd/elf32-ppc.c
 7d710529ca3fafb2bb57132df24957e3  bfd/ChangeLog-2004
-6b03ad49dbe56de503fafc709449cdb8  bfd/elfxx-sparc.c
-4d21671b86f4224ea3c39dbc4bf01ec9  bfd/cpu-powerpc.c
-6b684f66f0dfd0b5e88faeef0b38c21e  bfd/coff-sparc.c
-0692bf2e32c374f531d530fa1ef78c19  bfd/cpu-xgate.c
-d3c9233743502aa1d26d2ab723dba566  bfd/cpu-rs6000.c
-28180fef8359e6d7925c4d0d5aba2d83  bfd/nlmswap.h
-a48c2d361f54d3db7be59ce56a5169c1  bfd/PORTING
-1e566ca336130d9bd099942429d64b4d  bfd/vms-misc.c
-f584b50f5c4eb6743d8c40656e54385c  bfd/coff-z80.c
-c84eaab8764cedf54064ee42ba6f87a2  bfd/epoc-pei-arm.c
-527b3813948b26571e522d50928b17fc  bfd/cpu-epiphany.c
-cf9fccc2e0c89d744adbc8334152cf92  bfd/coff-w65.c
-a6ed577602bff0bec8df8a28c83bc24b  bfd/newsos3.c
-e480f8eae002f3e48e6c1905258d6af6  bfd/ns32knetbsd.c
-c213aa32b78024805ac21b4491e7a5fa  bfd/cofflink.c
-2ebe5a32c9f0c0ad7c3e545dd8184486  bfd/dwarf1.c
-6c519f3159048ecdf6947472a47bf5d6  bfd/coff-ia64.c
-a6f6754e465207fd9972bd46440b4e99  bfd/nlm32-sparc.c
-9c301f580ef9a7988f888bf785e674d9  bfd/elf32-pj.c
-1df87e927ad68c381c933bb7893be404  bfd/elfxx-sparc.h
-fe5576a4944835c9721653bedfa794b7  bfd/cpu-pj.c
-d7c394385c2ff10f751001a71e461c35  bfd/elf32-i370.c
-a96cf3a4758c096851bd1f39320db8c9  bfd/coff-i960.c
-8abbb386f059117970d1eadb65e6f691  bfd/irix-core.c
-b815c1964416910e7a538391bad78158  bfd/pei-arm.c
-3238f0c0367d95c211bfb685f3466805  bfd/elf-m10300.c
-254d3fd7620c6c22fd39a134f51c3cf4  bfd/configure.com
-0f234db2eea37feae7f3ee333d2335bc  bfd/elf32-nios2.h
-df210d3e6932524c0622a0ae09927c3f  bfd/elf64-sh64.c
-ea9331b0972ecb963bde5b7d87b0ad37  bfd/trad-core.c
-162592a950a201d749e36c9c71402917  bfd/elf64-hppa.c
-0ab0732028461372d5ca50705bb67f0a  bfd/pef.c
-3ff448c8aa25a9c5e3c0c1dfc27caa5d  bfd/aout-cris.c
-51b2d1b463093d9179a85adeedaf6c82  bfd/cpu-tic6x.c
+fb0bafa1c89fe516859c7315399fd5d9  bfd/elfxx-sparc.c
+12f6762685a296da42187290238207ad  bfd/cpu-powerpc.c
+f6fac2444e8c251a049944435a815d50  bfd/coff-sparc.c
+1078d9879f509dc941d9bad99b46e149  bfd/cpu-xgate.c
+4c807c0f7499ec243455c2d6f7fc58a0  bfd/cpu-rs6000.c
+5df879033aa0a2351e92554c36e98728  bfd/nlmswap.h
+8cfddc131c871d27282907647e233364  bfd/PORTING
+1428ad33a371a43e734c79a45fdc95df  bfd/vms-misc.c
+0b0869a068c766e51b4cf76d3e1e9398  bfd/coff-z80.c
+5b92b10bc89e70e915781803c76505f9  bfd/epoc-pei-arm.c
+9ede9778abf371218f4474f5ff0c72c1  bfd/cpu-epiphany.c
+57f383b317a5840bb53d06d81ada8305  bfd/coff-w65.c
+495fd1bb13aeb4666662e2259a3427e8  bfd/newsos3.c
+3b62e4c377876004981407449c360a62  bfd/ns32knetbsd.c
+c112610289db6df7dc36b4f580fdf13d  bfd/cofflink.c
+52eeceea7d6afb4956faaaed3fb61ddf  bfd/dwarf1.c
+b2840cda9b56efffa90c3b4d40c9dfed  bfd/coff-ia64.c
+5c43416ea6180e9855cbe4f67e466e5e  bfd/nlm32-sparc.c
+f76bd69775fd195b948a819574825905  bfd/elf32-pj.c
+9820953a0922e417fc56337be23284a5  bfd/elfxx-sparc.h
+6a90e62bb7927e34a6ceedb26f07abcf  bfd/cpu-pj.c
+36a19239f903909238150e0d4f4d07b8  bfd/elf32-i370.c
+8250251f266c3f54401bdb189dd87f32  bfd/coff-i960.c
+398fb698d9e7529968f11a1badca81b9  bfd/irix-core.c
+f772df93b33e411e1d65435ad9f7ba6e  bfd/pei-arm.c
+e4ebd1911dd7cd1517863f51d5f6e93b  bfd/elf-m10300.c
+2fd534ffb506f0acf65b2207d7b185fd  bfd/configure.com
+db61d9efb900990c318489ba49ad83fa  bfd/elf32-nios2.h
+2c3a416fec5b1ca3cb269b82364fe455  bfd/elf64-sh64.c
+b6e0bd05bbe0a3fe41ab0d2a1c357b17  bfd/trad-core.c
+97fa741731c4956dd7e8100d5d20048b  bfd/elf64-hppa.c
+e559beea3f4a2e79c27e64a70f6c80a2  bfd/pef.c
+3ec78685fdfb115058efaed22c9809e9  bfd/aout-cris.c
+745a3e162c6757a034df1dfb6ff22c85  bfd/cpu-tic6x.c
 1ded054093de910d9786c62bc4fe8cc6  bfd/stamp-h.in
-865db29150b17abb85db5adaa8d0987c  bfd/cpu-or1k.c
-1c4d23bb61bcb88b88fe5d91c2d5a6a1  bfd/elf32-mips.c
-f6bb987f292a709f61009434746560d1  bfd/nlm32-alpha.c
-f8b489c8c67af3de9162e086b6a5a963  bfd/stab-syms.c
-a59f2689fb5824aa5dafd459bb4ba411  bfd/cpu-rl78.c
-d1d2376bd2aefbf7a5680818fd96e794  bfd/xsym.c
-f2045cc18e3a68b56238fc09138e9700  bfd/cpu-mep.c
-153973c1a786edf1dbc4fb7461badd01  bfd/i386dynix.c
-ec0c5470b3df3ceac23db76f7c2d33e6  bfd/riscix.c
-bdf4964588c9d4b72c888590f159863b  bfd/cpu-m68k.c
-66fb0ce604dc24f66c579bcf071efa53  bfd/liboasys.h
-70c121b8dee7ff33ef3171be5935ae72  bfd/hosts/alphavms.h
-fe7006fa6ae03f25c39ecfb5defeea4c  bfd/hosts/alphalinux.h
-dffc384b126cc9f1fc60cc01c0328070  bfd/hosts/symmetry.h
-bf1852276ade7393d22a3b12b2dbb0fe  bfd/hosts/i386sco.h
-b311052192ab8e8e27b4b9e0d4200feb  bfd/hosts/m68klinux.h
-8f06e43753ece49eaedcd64394798c06  bfd/hosts/news.h
-9e6e50fd8e23f25a374621744a634d3a  bfd/hosts/pc532mach.h
-d1d96f0a35fbeff120d87a20f68f10b3  bfd/hosts/m88kmach3.h
-364911463281f663160bc2e5ee7d3ad2  bfd/hosts/mipsmach3.h
-8574c27b4b68c26a6b8e1305f44d1e0e  bfd/hosts/x86-64linux.h
-e9c5e8cac3c7d60b9aa858d9a86290dc  bfd/hosts/i386linux.h
-c91653dbffb0a26ef8775076d83bbca4  bfd/hosts/hp300bsd.h
-29446bd6300df463198878f4a91e0113  bfd/hosts/i860mach3.h
-c8b42ab015a55a1284716c408e45693e  bfd/hosts/dpx2.h
-bda2ff253754e8737fdc7f10da911357  bfd/hosts/m68kaux.h
-a024a914ea976a25000ba162f2fc1c7c  bfd/hosts/i386mach3.h
-2101405b0f0b83eacc1d883569b7b57e  bfd/hosts/vaxult2.h
-259b604e40754c1f78c9253d02e27c59  bfd/hosts/i386bsd.h
-0f2ec8110a4c6f70381492ef48f9e3fd  bfd/hosts/news-mips.h
-4aaa36c0da1e1ee8b973d08431c5c0bc  bfd/hosts/mipsbsd.h
-522044155285c7354e4ee85d494ee23f  bfd/hosts/tahoe.h
-c9314f5c7f4dfd3946b88de5d6a80d19  bfd/hosts/vaxlinux.h
-44e4a7d80abee1449047f6bf8f5ee3db  bfd/hosts/riscos.h
-33b002a3839fdc3226796a025f393d3b  bfd/hosts/vaxbsd.h
-c5158bbf5ed30ca339e60a3d46f1cc71  bfd/hosts/decstation.h
-d5c2c6374bdc0fa6a90868f1f918402e  bfd/hosts/delta68.h
-2101405b0f0b83eacc1d883569b7b57e  bfd/hosts/vaxult.h
-437f9b38033c15693d60a688e84f2c4a  bfd/mmo.c
-55247e030c856d9d7b877ab31fb16ada  bfd/coff-z8k.c
-de4cf88d0e4380da57af0705bc8a1140  bfd/cpu-alpha.c
-5b1ad019d52e582526e77256eb5ba26b  bfd/elf32-tic6x.c
-b8068d78028351ec72766ec2cb58f771  bfd/stabs.c
-f32fda123700eb80c48c77600b1aca59  bfd/elf32-m88k.c
-9733473f26d36ff6b49a5780892f8ad3  bfd/elf64.c
-153edd64e4712b3a0cb79847ab7e80f6  bfd/xtensa-isa.c
-a52fa5556d06c2ed2345c5007f29b2f0  bfd/elf32-epiphany.c
-adad8440c15e47f0b3efaefb197d4af8  bfd/elf32-m68hc12.c
-9e35c45c2db6fb3cf157a52715f35cd7  bfd/elf32-m32c.c
-b9cc6366b955f88380730c3b1a485a9d  bfd/elflink.c
-6b6d191aa33da770fde385fee4d7c4c6  bfd/elf32-iq2000.c
-0caf0d8e9c7d9dd558615dca9d35dc3d  bfd/aout0.c
-53e0ec4a5ea828101c9d1cb650bae56c  bfd/elf-hppa.h
-fb45cdbb104208a9340480bbb4682379  bfd/elf32-sh.c
-611145d329bb09cc4b0a455619272ebe  bfd/cpu-xc16x.c
-3a5c8132f6bb473a39fade0b6219c33d  bfd/elf64-hppa.h
-101732087803415acab4c9265cf8a84a  bfd/nlm32-i386.c
-7cf78cbedb30d033e2504524faa085e8  bfd/cpu-arc.c
-b2f592e4857a32129416aa750e9a86a4  bfd/acinclude.m4
-6b2c5539ffff0efb06be99dbd6716517  bfd/configure
-b4ed82120cdb5bc2337420bc06c61623  bfd/cpu-arm.c
-15baee974b7c7bb4fd9b17aec4d121fc  bfd/elf64-ppc.h
-4cf311c2c35efc793e81a3ba0002fdcf  bfd/merge.c
-7b88639a56abc1bac29e42c1782d2ff3  bfd/elf32-sparc.c
-25e74db1c724f005d8eb198e4b04415f  bfd/libcoff-in.h
-986a59519feaaaa00f504752090d904d  bfd/elf32-tilegx.h
-293a729f5b60758763efc11b901299a1  bfd/pei-mips.c
-2c7ac48746f18dde545ed117077a4650  bfd/elfxx-aarch64.c
-90a54b96e7c55e401fc05cf8ebc486fa  bfd/linker.c
+13b935e8004813740c8727dc4c78fc23  bfd/cpu-or1k.c
+63a7d4faca8bb6e43e74372d684fddc0  bfd/elf32-mips.c
+603c8594a5f0352547e7709f2c38d108  bfd/nlm32-alpha.c
+66c5ecc926288e203e7070b400f7b809  bfd/stab-syms.c
+5fbdb263bae50a3051f98946770c91f0  bfd/elf32-visium.c
+bffedefaddba3a2be23f9438e86b2a08  bfd/cpu-rl78.c
+cbe4cf23c197ed45ad68eae869b7ff31  bfd/xsym.c
+dbd8579a7395cb866bf29a8fd44241b7  bfd/cpu-mep.c
+05770c15a49383b8d67dc8ce996d7cc8  bfd/i386dynix.c
+486f0214e7c705eb20f9d16b012a3c4e  bfd/riscix.c
+bd98ecf682a641317c7a9bf0b09dd183  bfd/cpu-m68k.c
+6b536b3e3f65336a596bc73bad42f7e5  bfd/liboasys.h
+c655c4d759b601600249eb6db08b2914  bfd/hosts/alphavms.h
+3a38d6bf89fbd9af0605dc70d30ff573  bfd/hosts/alphalinux.h
+9935ea39011c0e9a9594d7428185cd39  bfd/hosts/symmetry.h
+fe7af98fff6cf0c1c6e2af41628e09b4  bfd/hosts/i386sco.h
+17d455cadbfe5957454313cce605e990  bfd/hosts/m68klinux.h
+1be1b5e614e85d4e8291a9736ecc6028  bfd/hosts/news.h
+92683ffe087a41b4d0f1e31e1741cfdc  bfd/hosts/pc532mach.h
+12f589964150ee1b2c04a2959b2333e3  bfd/hosts/m88kmach3.h
+435448cb9cc80059e2d2675a90c6415c  bfd/hosts/mipsmach3.h
+1d009cbf2eee9a8bbb40b219bd7a9d7c  bfd/hosts/x86-64linux.h
+7b05fbd8a93dd35484599bb8bb647bae  bfd/hosts/i386linux.h
+6e1b6d9339005fd8038b2c33c8ebb791  bfd/hosts/hp300bsd.h
+94b095b37d83d2f07facbf22a9965739  bfd/hosts/i860mach3.h
+18314d31d5e607c06a7080794e14fb6a  bfd/hosts/dpx2.h
+cd53ed5a4144a3eadc9baad43f134cc6  bfd/hosts/m68kaux.h
+d7eb5f5660e16810de0c9107655df030  bfd/hosts/i386mach3.h
+b1866eeb54d005f352a4653b3b198a5e  bfd/hosts/vaxult2.h
+d0c22060b86fd8a92918a9dd7db3d839  bfd/hosts/i386bsd.h
+c200b1dda843d63dfe475ab50510be05  bfd/hosts/news-mips.h
+34d4c21a2381c34618457493f3a2f303  bfd/hosts/mipsbsd.h
+8fc8b3c339625a171ff27158a9315e7f  bfd/hosts/tahoe.h
+b02839fbbadf4972a1056ade069e1c85  bfd/hosts/vaxlinux.h
+f39e57a883fdf67b0bd5d865e6395716  bfd/hosts/riscos.h
+3b923409ce738c469c4602b21d2b7eb5  bfd/hosts/vaxbsd.h
+a5dcf6a30eb8b124f7b2128d0f1b6f2d  bfd/hosts/decstation.h
+13fe24178d24236783eb7131aa39ce9d  bfd/hosts/delta68.h
+b1866eeb54d005f352a4653b3b198a5e  bfd/hosts/vaxult.h
+bde916da5c029b43c7b2ac5a22e96ff7  bfd/mmo.c
+e0a8d31280c4b392ef408b925197e980  bfd/coff-z8k.c
+da648fcf8c6fffbffc9a8e3f7ac74811  bfd/cpu-alpha.c
+654d2153f214754d02e9f27feff02b68  bfd/elf32-tic6x.c
+5ec7c5b1cf13766e8165f3d4b2c782a5  bfd/stabs.c
+554dafa0432b6ef478696051029b352c  bfd/elf32-m88k.c
+4b8318d1c5a15f1e11907bbf8028fd8f  bfd/elf64.c
+489376ce3445b7b24248f71ebc2890d6  bfd/xtensa-isa.c
+aaf75a51efde4236b5cc8cf6715d6f6a  bfd/elf32-epiphany.c
+0089dbf3a4ad169d55640677b226b650  bfd/elf32-m68hc12.c
+4d0c2686f1edcf70929603738d5d2302  bfd/elf32-m32c.c
+8f7b5397a7bb5d502a9997e19d244cea  bfd/ChangeLog-2014
+f10e052223369ebe0e9d1574db41752a  bfd/elflink.c
+2cdeb7afabf688efbc9ff6bce9baf055  bfd/elf32-iq2000.c
+d33b4e9b597e25668a8cfd80acf88d36  bfd/aout0.c
+9fd7bb9c147690eb727439c7efb0464c  bfd/elf-hppa.h
+d9adf30d28159a69e24cdf238b53ce71  bfd/elf32-sh.c
+020d26600b1360c25e914a1c7f8f2af2  bfd/cpu-xc16x.c
+e301bdd246cdf7352ee89dbf73ea052c  bfd/elf64-hppa.h
+14f93dd0b380ce57a88b262ca5f301db  bfd/nlm32-i386.c
+20cd132505e6203fdc3068e8baadf398  bfd/cpu-arc.c
+760b58c4d7c987ffad6d38d26e73b694  bfd/acinclude.m4
+f741e04a5e05eefaecaa57ee62f552bd  bfd/configure
+046755660e117f735a0540b93124a1f3  bfd/cpu-arm.c
+a2971bc128a63b2a59dfb35d3b6b62a7  bfd/elf64-ppc.h
+f184b668acadc05777fbb3d87a48a2fb  bfd/merge.c
+a918bd2e24d73becbba243c181386cfc  bfd/elf32-sparc.c
+aaa0e9c469bc6668d05572c855b8845f  bfd/libcoff-in.h
+a3413473e699e28fa4425f7c18e79b38  bfd/elf32-tilegx.h
+34bd7614bea22ba27556ae3bdf90557f  bfd/pei-mips.c
+a481915b00f7573856b5e8ef314187b4  bfd/elfxx-aarch64.c
+e83c40d06891434698996259a6fce815  bfd/linker.c
 3381b54a88e28dc216f5a2c7f4d30c32  bfd/aclocal.m4
-9e533ad041e638e9dfd3178b56716ca0  bfd/ihex.c
-4c902ee478776fd6f05d00849cf32e1c  bfd/elf-linux-psinfo.h
-770bf196cbf7aaeb5c3142b98bd2630d  bfd/srec.c
-2887b803b79c9749d8765f07ffc43f4b  bfd/elf32-score.c
-c36591182c4a1112e5cf54dc900c1185  bfd/coff-rs6000.c
-c629b9cebe2fa00c150ddd6d83b477f6  bfd/nlm32-ppc.c
+13b7132a1ebd999ab87f77591a155bd7  bfd/ihex.c
+0e847e604711efaafe983dc81282adc8  bfd/elf-linux-psinfo.h
+627b3ee76c9f3876f67fe2f1fce802cd  bfd/srec.c
+f910adb283a57529a41b0a69235cb86f  bfd/elf32-score.c
+a9eb6471e510a03f255a130a4a902d50  bfd/coff-rs6000.c
+d88c0c920baded1ca9c3802632083a0d  bfd/nlm32-ppc.c
 14c13627be0585a711708ccf1d32e22a  bfd/po/vi.po
 69e0468c41cb030f9b1885abcdb1064b  bfd/po/ja.gmo
 495dc4f4a2e82ea81d7226370e07294f  bfd/po/tr.gmo
@@ -393,173 +397,175 @@ e0337cfc0e993d7cad566892e5e76393  bfd/po
 b04862da8728ddf3c4c8a45b18ee35f7  bfd/po/sv.gmo
 1882a68e66b11c3b610bb7ab63b2f84a  bfd/po/fr.gmo
 dfe82e26118652583a47b8f4771e7e1c  bfd/po/sv.po
-3a384bb941edb8159fc003146b74ff04  bfd/po/Make-in
+9ac7dbae6ac27c744614579b42604aff  bfd/po/Make-in
 e0ac4c0bbc954826529362c28e86810f  bfd/po/zh_CN.gmo
 95bcedd50b1016d3de8c9f543c6b2bb9  bfd/po/tr.po
 adde21abfb12b19302e8f830a86a3b71  bfd/po/id.gmo
-a3bb7920644738473aa026d8e62430ed  bfd/po/fi.po
+aca0f97fc4ea7a55d74455823567d36f  bfd/po/fi.po
 a40147b5c774778d63e61e56efc9bd27  bfd/po/ru.gmo
-09546c908c19e63ae2a71cfc3294e1b7  bfd/po/SRC-POTFILES.in
+bb3892db0695e680a0d316a0c430765f  bfd/po/SRC-POTFILES.in
 f42836fa54a22c3b715c61e6df8973ef  bfd/po/da.po
 c4d865669e1bb9105341359e764bde17  bfd/po/id.po
-391ed416fc3d9e46a9fc0ce6d78afc68  bfd/po/fi.gmo
+c0b3a603dd785e51c96d1ffaaf0e282e  bfd/po/fi.gmo
 8fc4e95db5a00f800bc30c65a30f8a8a  bfd/po/ro.po
 19b4050d0051a1a11e9af8166290dd7c  bfd/po/fr.po
 af59cbed52c0a16ed933a2add351b7fd  bfd/po/da.gmo
 23451c644231e885672bc0d8b9353aa4  bfd/po/ja.po
 7248079af3c7fba100822353e9d2a4d0  bfd/po/uk.po
 563d3bc76b178073b967274e5c0672a5  bfd/ChangeLog-9495
-7900134225cd5c15ec551270ffbd937b  bfd/cpu-frv.c
-cd6dd83fe7cb46b9217ee2e94fbf6a7b  bfd/cpu-cr16c.c
-63337d2bf871bd712f1800894528b387  bfd/elf64-tilegx.c
-53ec06e8e75b4822f224f1ab414a6d72  bfd/Makefile.am
+ecb5c58046e9e36ff361912c57c67c43  bfd/cpu-frv.c
+5015e40429aacc5213ca47328e9ef325  bfd/cpu-cr16c.c
+f561858a2d9c9fa47ec6fc5da58195dd  bfd/elf64-tilegx.c
+05730e494a7adf373543b3f0592c4164  bfd/Makefile.am
 e63f6d01a376008a89e252c7b5cc1f6f  bfd/ChangeLog-9899
-a81ac4ecb8f174941e16a3e822bb82a8  bfd/elf32-score7.c
-287268e75be6f388c015756fda21eed9  bfd/binary.c
-275e1e1141afee76de394f64a4d680c3  bfd/libecoff.h
-e87589f17188f8a68471e5a8d9a2bfd6  bfd/elf32-avr.c
-c191ee10b2a77b07098dfb973de16440  bfd/elfxx-tilegx.h
-9402b4fe3a5712b57c49b658f006ba48  bfd/elf32-h8300.c
-fd6d4b301a2b92d42440e9797f8e5c99  bfd/mep-relocs.pl
-ecccd0ca7d595a03a528b96de3386cdf  bfd/coff-h8300.c
-26852badc2c1cf07f42fb27c5e92d3dc  bfd/elf32-nios2.c
-b1167b27f9c966ee9507dd7674263da9  bfd/som.c
-7e5491161116484fc74fcdf15a83acc0  bfd/elfxx-ia64.h
-c30d62dc4965cd2517f1a7138d9cbea9  bfd/elf32-or1k.c
-386382b6a7e2021325529e1f8c4c3155  bfd/targets.c
-1a97665ebebabf1f1380cac5c2749db0  bfd/ChangeLog
-d17c3765ebf30a06b8b8f1e37d0aa137  bfd/section.c
-e0bab3bd6ce996d306a7cfeb06f717d8  bfd/elf-s390-common.c
-70d7ae4f13f2e7aac2ea57231d0ce171  bfd/elf32-lm32.c
-33abaebe2c77f45b44244424897e8a49  bfd/elf32-avr.h
-c637e3ef1f62f9961ba264a5f9737738  bfd/elf64-alpha.c
-68b9dce1f7ededaad34e770532fa0986  bfd/verilog.c
-e12800f0045a4197616d0041489f9dce  bfd/libhppa.h
-fd937179247be316e453830d2dd6caf5  bfd/pei-arm-wince.c
-2f9d09fa4618747a3a2e9b4f372e53aa  bfd/coff-tic54x.c
-099a27033fa57f933321c4d6836b0406  bfd/mach-o-x86-64.c
-4f76f9dc01fb2e02777974faf5bc1611  bfd/vms-alpha.c
-ab818ba19f50bc753c108b8c58768567  bfd/aout-tic30.c
-cec18b1ccae55845b8775ae200f281f9  bfd/elf32-hppa.c
-4640d34db24b6dd2fc12d4fe49595b68  bfd/TODO
-cf6e73070b23b7b2e52f5637506b22af  bfd/vms-lib.c
-7f102052a0a501991f1a6eb3b6e39146  bfd/pei-ia64.c
+f5d33de0d0b8e82384de2a4d4f8540ab  bfd/elf32-score7.c
+80a3043c46d1ab36118f1475797058ad  bfd/binary.c
+744780429289047d02a7416e09a0d9cb  bfd/libecoff.h
+c8a2522a0ac6ce236baf84b7348b6067  bfd/elf32-avr.c
+128d592cb50fc75240a0441ca0ca27ba  bfd/elfxx-tilegx.h
+e50ff8e62b3a9a5f85146700ea0faa8c  bfd/elf32-h8300.c
+8dd9d74325aef6ded425b85583b17e90  bfd/mep-relocs.pl
+ad06b2d8cb037bf4e2929d37067e5b3d  bfd/coff-h8300.c
+fd30f5988bcb1ac96b9cce47b1ab5469  bfd/elf32-nios2.c
+09275d3351e1558137620abede3b976a  bfd/som.c
+7b89e415f08d597d888efc2c3dded43c  bfd/elfxx-ia64.h
+5d6400b5358d7e0ac9d4a67eb20c20aa  bfd/elf32-or1k.c
+cf1a0b18fa9480d842f34e55bb2749f4  bfd/targets.c
+f87438c36f5eb5e9e3f8c5f422f8caa6  bfd/ChangeLog
+f8ab1d36a2214606a4c8b223824d7e67  bfd/section.c
+03a3e8bbf7ffcbbed93d51fd38587804  bfd/elf-s390-common.c
+3b45f6190ac856f0e04c77018c6bc28b  bfd/elf32-lm32.c
+8233c666286847ae4749ffd435042fb9  bfd/elf32-avr.h
+03b47ffe7ba822ddfc46d283e8e35a69  bfd/elf64-alpha.c
+8e6361f95ed4c0100b69a4961d545b5a  bfd/verilog.c
+32a3bb71aeb679d0e39ba21676e7783c  bfd/libhppa.h
+cee7df168f299594b00e36cd7a27e2aa  bfd/pei-arm-wince.c
+c7eb2eeed4a45ce10e5c886cbcc46260  bfd/coff-tic54x.c
+dc59cc1397483baa05703c5a855f43ba  bfd/mach-o-x86-64.c
+d65fa1886756a86b837884dbfcc0b090  bfd/vms-alpha.c
+80839592576368a06815a83f1354ad8c  bfd/aout-tic30.c
+106b1c20edb8798827f20e7524b7d600  bfd/elf32-hppa.c
+b9b47dddc9d4e2c775dc33b6bb0a1d6b  bfd/TODO
+f9230e3b9c433e0ed8b5c5ef78e4f72d  bfd/vms-lib.c
+8326edf4a7f004bccb8d646fde757740  bfd/pei-ia64.c
 48097790cbee8800147ba96a6dd07fc8  bfd/ChangeLog-0203
-42d38002711deeaf2d9ba8ab6f72d99d  bfd/cpu-tic30.c
-5e39bb36dd7404b344fc4d5a302792fb  bfd/cpu-m32r.c
-0c039c7c80c29ac672b45e01bdc36cdc  bfd/elf32-sh64.h
-f18b0f725e0e2a80f5df630b2b7f34c0  bfd/armnetbsd.c
-a4963c26d9fd5303c1f91cbe6ae003be  bfd/elf32-arm.c
-6de0d16cdc1940c5948c3214c357acb6  bfd/m68knetbsd.c
-704c53da501407c8fd227149b73c4cbb  bfd/elf32-ppc.h
-d8c347852d7792ad090b6744b76a63aa  bfd/cpu-msp430.c
-ed311fd0940cb8c486efc733c9c093bc  bfd/libieee.h
-9db33fd44ebcbf415cce87d914f06d55  bfd/cpu-fr30.c
-1989824a59d540519f3edf3845588b1b  bfd/corefile.c
-fdd6505d0631cb78f0af459d5c3bdf00  bfd/cpu-vax.c
-fefc8405e43cc4136a3b745d8d12a26c  bfd/elf64-mmix.c
-0801b2c3785e80a1ebd8e3d99c829c27  bfd/elf64-gen.c
-02dd276fa2732bafa9edffab3fe9fc96  bfd/plugin.h
-9f4bdd26b82fec943a127d434ae61b4e  bfd/cpu-score.c
-caaa2987ea3a0dddec5010abf2fd4909  bfd/i386aout.c
-f82c8aed64e304968b2240f49ce46234  bfd/cpu-sparc.c
-31493fb7d11240d09a2bc247f0f2f0ea  bfd/elf32-metag.c
-34f8651dde23277ff04222c8151a2aa8  bfd/elf-vxworks.h
-a9121df7c18c567653e784f852823cbb  bfd/coff-apollo.c
-f626248e612a94f9dbabfd85faba7b88  bfd/sunos.c
+6da6c69ae21071cdbb0ccc99ad3f1fd8  bfd/cpu-tic30.c
+3eca4088e49922d27f44a52963492be9  bfd/cpu-m32r.c
+493e50698d4422aeb8694109d7bd5118  bfd/elf32-sh64.h
+e4d15b25830892d20636bfca36e9d2d3  bfd/armnetbsd.c
+0a7dca1465e0909489696823e7d823a5  bfd/elf32-arm.c
+59fbc0e33d0dc67ffdf9ac616d9b84f7  bfd/m68knetbsd.c
+7dbf0b0f614214fda3d80d8c462ada58  bfd/elf32-ppc.h
+a8cb3653c370611339e21f1999cd8fdb  bfd/cpu-msp430.c
+ed00f135e12ad2c8d896328f2192f958  bfd/libieee.h
+2e212ef54128dc013c2d28cf0d9aa1a3  bfd/cpu-fr30.c
+82ead6d3be5ce8380b40fc12ed497770  bfd/corefile.c
+ecf3c0e3ab5920c42b3d91ae472accbf  bfd/cpu-vax.c
+de2cb5fe18e1165effbb53843582baff  bfd/elf64-mmix.c
+39560502f881f15a564da0b51fff9474  bfd/elf64-gen.c
+50a7a595db4b2fa31077d73db76c5e52  bfd/plugin.h
+e0d7aee3733c5717a50e0a6056b7cd52  bfd/cpu-score.c
+c3d5920d42860e06eb10f5cb28d44eda  bfd/i386aout.c
+a6aeb501033330275ed9cca69e1edd52  bfd/cpu-sparc.c
+9c394a621498fa51786fde72f7aed662  bfd/elf32-metag.c
+ec62dd6d1596fd6907545989b64c0ae3  bfd/elf-vxworks.h
+6e0d8c53fc1e04f5345366b92ab9d804  bfd/coff-apollo.c
+0326021603188dd9936fe24e15385ebd  bfd/sunos.c
 f0081a1eb7e7392ae4ec3531bf8bb7a2  bfd/ChangeLog-9193
-fe226ef468cf632488528db2a5c2b2cf  bfd/freebsd.h
+cab82e465e667a38e5abb1a56527649f  bfd/freebsd.h
 d32239bcb673463ab874e80d47fae504  bfd/COPYING
-e47dfb2a009d58ded7e1ce23b7e62fbe  bfd/sparcnetbsd.c
-cb3d3d6e623e718538814b9e823e9d7b  bfd/configure.in
-6b0426f61872d06b138e0aa6dcd3149d  bfd/elf32-xtensa.c
-5d5b590fb44ee7f2b5089c388301965b  bfd/cpu-microblaze.c
-e648e634edc8aaa6c41b97060ca1adea  bfd/cpu-i370.c
-aa8cf0d4c6bc5f8714dddf849091c5bc  bfd/libbfd-in.h
-39c048ebc869391b7e3bf0589ea60521  bfd/cpu-m10200.c
-e50e8580c5ccd4e4daac4b1b8ba3c3eb  bfd/cpu-tilepro.c
+3d714c65797901e487a5bb371324fb78  bfd/sparcnetbsd.c
+fc296ade0a9bc430279e25358d03e6e5  bfd/elf32-xtensa.c
+2398ce3586b673d6a942be506f7aecbf  bfd/cpu-microblaze.c
+fd2f9654b84b3e4579ef175bb66c71c4  bfd/cpu-i370.c
+382917b0da6fab6f6a8cbb099b2f12ef  bfd/coff-bfd.c
+1cd0d6b284d376dbceee1bcf9b27af3b  bfd/libbfd-in.h
+13506146f275845edfd6425a7401b3a2  bfd/cpu-m10200.c
+11f671e31dc1a7094426db655ea75398  bfd/cpu-tilepro.c
 1616089974633cf0fb24b7e9152a7f47  bfd/ChangeLog-2008
-71c6402c8325842ec18f5e13b9226ab5  bfd/cpu-mt.c
-06a49ccda6dfb3f2bb8c62072a7a0704  bfd/coff-u68k.c
-a3fab567b367298ab6beded5a048f8fb  bfd/cpu-dlx.c
-2976e35f14298e7fdbe14450d8d24105  bfd/elf32-sh-symbian.c
-40854c86f38f7e206f468f0b0e45d265  bfd/elfn32-mips.c
-35b6bd41e720d340e69be5c33bdb6e68  bfd/cpu-tic4x.c
-afd204e82d7c5e2d8ace07bc725f6b75  bfd/cpu-ia64.c
+b9d49a75781ef86bd6cb0494d056061e  bfd/cpu-mt.c
+8a151b59e4fd8aa52fd76c93c4446625  bfd/coff-u68k.c
+582bfa80826da86c7f033d2ace654a37  bfd/version.m4
+5e76c1bd703ce0982bb7c2d3a0a54dbf  bfd/cpu-dlx.c
+14ec0d2998fb93fa9c67078f87cbd9ad  bfd/elf32-sh-symbian.c
+eea548da047234e62cbc8bc884b218c9  bfd/elfn32-mips.c
+43359da34c1653775470072b08d4b500  bfd/cpu-tic4x.c
+f5ef2c1ceba928938e2a3bafe3a2aabc  bfd/cpu-ia64.c
 6474afde93f8e964e3d6dddffde3c41e  bfd/ChangeLog-0001
-fa25ecf8f87392a2e6b709b28e7dbfac  bfd/elf64-ia64-vms.c
-831c5e6245d1dd8c459a7cee404d655a  bfd/cpu-metag.c
-1c76a28065515c541cae17e1c64b095b  bfd/coff64-rs6000.c
-078b4142e50126c037a0a26714386270  bfd/coffgen.c
-26c5fba0e8dc748e3662f1015a81711d  bfd/i386freebsd.c
+9c34712a354f424e0a7c5de87a62615a  bfd/elf64-ia64-vms.c
+4635c3da0411d0ed041db96c7b064666  bfd/cpu-metag.c
+6764420985b0bd8dd2d08195f81f7389  bfd/coff64-rs6000.c
+8f051436ad7bd845f8825f1569c7ae9b  bfd/coffgen.c
+651a2be75724d96e8e733c206075bd9c  bfd/i386freebsd.c
+63709cda1a0a7dc8971c09920ea4f3a0  bfd/cpu-visium.c
 15cdfd7b5500a342bb89992c1638f683  bfd/ChangeLog-2007
-1eddb2b0619d25ec886a8a946036dfc3  bfd/netbsd-core.c
-286dbac8be45fd030fac5a376b98901c  bfd/elf32-m32r.c
-876042afa97bc73405ebebcb3566b162  bfd/cpu-iq2000.c
-aa346a87e976e4d1e7b1bbf50206a4c0  bfd/coff-stgo32.c
-3a588eb0954dbe08cc9c5c3989168937  bfd/elf32-m68k.c
-bc2e06614e745fcf07223e5dbe98af54  bfd/ns32k.h
-6dccb1408b57d79fa72eb71ccac6f1cb  bfd/coffswap.h
-0497dea968d6c8dc3e4c2923ee9c7746  bfd/aoutf1.h
-9dbcee0a2eecb61819e46375d9d09290  bfd/pei-mcore.c
+0054ccae33d2bbea9a7b6b6614604955  bfd/netbsd-core.c
+4144c9dab32acc070c5f42945368d266  bfd/elf32-m32r.c
+3a81348960728feb3807e69af1e2a36c  bfd/cpu-iq2000.c
+5c603be299d6a336a5675b7a805820ec  bfd/coff-stgo32.c
+fe9782eb357972740e67205b3e4d0a90  bfd/elf32-m68k.c
+3e9d424fdbb8316bb39a10c33e4d9b2d  bfd/ns32k.h
+80a1105b21ac56843e3440af2e88e298  bfd/coffswap.h
+dfd680952f562949fa8d794e805d3a88  bfd/aoutf1.h
+af7976e47998f16b4f8c5f84b57f3030  bfd/pei-mcore.c
 86f496cd17d52d96424d40874acd6ae4  bfd/ChangeLog-2009
-7ef761ea297aa2c5f8709d25821bdd05  bfd/vax1knetbsd.c
-430306a2dd7573f63fe545c62e9d8156  bfd/lynx-core.c
-27017e0203ba4333783f4e8477dba65a  bfd/bfd.c
-95a014a6fc416a2504cfa7b26ab82263  bfd/cf-sparclynx.c
-f2e1b1519906c320fc15d2ea611bffd9  bfd/ieee.c
-021960f1a420aab1146a49333c43f294  bfd/elf32-d30v.c
-6d07faa21771e10aede140bfcbb6b37a  bfd/elf32-i960.c
-4dbb831a522a7b8445f87893c6aa7562  bfd/elf32-xc16x.c
-076a83b605aafedaacddab891e009519  bfd/elf32-msp430.c
-da82124cf68c2dd387e286e4f0dddd57  bfd/elf32-m68hc1x.c
-8d65203b68b9aeed33bb2fd328948fe6  bfd/versados.c
-06f0b7ce9d1041620d7068b47cc6f487  bfd/coff-svm68k.c
-da5216b4f8d30e1e16fdb44988b1504e  bfd/coff-we32k.c
-a63573f7c52ddff90146b446b649b704  bfd/genlink.h
-3bfbd96a97c50613b593d84534be3940  bfd/plugin.c
-8b2738f09752bec8b11c00cf1391d0ca  bfd/elf32-ip2k.c
-1254894f1a862211c761114d868f312f  bfd/elf-attrs.c
-8de939d4c53f9ac22ba63af4d9bad773  bfd/cpu-h8300.c
-e7f97564931434714c18851819ceea26  bfd/cpu-nios2.c
-24a55081e78136febaf75efe08dd5dcf  bfd/MAINTAINERS
-f150cad8fcf95ca30d0abb7c82ce4f10  bfd/format.c
-58ef38bf0dd4b19e62579ef0b603dc9c  bfd/elf32-rl78.c
-efeef242b3f5ea84781a42acd6622733  bfd/cpu-tic80.c
-b08c36d49445bfcc05760c7644a74aa1  bfd/elf64-sparc.c
-b5ae97b9928e825ade9f487d778f5aef  bfd/elf32-rx.c
-0f629e6b002f185e739d292ec213da85  bfd/archive64.c
-8a66d2de8bc37cbe87f791c71855232e  bfd/cpu-v850.c
-def50245f71d8ec65d3170313f023263  bfd/cpu-l1om.c
-8c8f1843b74619970483491da2e69eac  bfd/nlmcode.h
-a6949b9438481ab21d6bc9a78f817bfc  bfd/pe-sh.c
-9a014124df4cdd08d7f8e9b9612646c6  bfd/libpei.h
-aedc35b5119025bb627d47931763ad4d  bfd/aix386-core.c
-1646e5b0470f20bab4389e5e4f79754a  bfd/elf64-x86-64.c
-85eca1a1c9e9a5c5c810466d4dacb096  bfd/cpu-tic54x.c
-70b5922d2b786f8740c08197b03e58ca  bfd/pe-i386.c
-1559ea0eeb5cae3b07fc72a73d097155  bfd/coff-m68k.c
-bf3265f78201295a19ff32bfc683e12f  bfd/cpu-m9s12xg.c
-89caca0ad4ec8f5ec9964f60d24e9f28  bfd/sysdep.h
-b0c713d34a01ff620866b5ef7aef5e23  bfd/coff-tic30.c
+6ee1667880fc1226307b9187fcc0ecbc  bfd/vax1knetbsd.c
+c0a2de73724a12c66673f4c472544109  bfd/lynx-core.c
+40d9138055472a3259d668370535bbf4  bfd/bfd.c
+568149baff1f9da8708a8a88c339adbd  bfd/cf-sparclynx.c
+14366100f93d2907de7b7bb2c88448ea  bfd/ieee.c
+2b62289ac24c188ae2e9b1a66f1828a5  bfd/elf32-d30v.c
+a9bb03f4524914cca9c2a7cb7052acd5  bfd/elf32-i960.c
+8acd9f53cd317876da4ef3c6d882db9d  bfd/elf32-xc16x.c
+d6d4a2a4ad1b6ef5faf1b32a06309cdf  bfd/elf32-msp430.c
+36b70a1c007c325158d66e8f20ee21f1  bfd/elf32-m68hc1x.c
+edd7cdbaf60a5f03a2b9ae58fb1add25  bfd/versados.c
+088c0e693077976b3ada7603af5a749e  bfd/coff-svm68k.c
+528e1da6ec7281aaed658344427f80cb  bfd/coff-we32k.c
+408b4868fd02001178bdb34e658c77fc  bfd/genlink.h
+0e9bc9ebc6a089e39cd083048a1ad028  bfd/plugin.c
+0e1a232c45938b62752df354c944e643  bfd/elf32-ip2k.c
+21489f9dbd89eaa079c527ade7e0ae44  bfd/elf-attrs.c
+cc39076587026140e08b926dc8f01892  bfd/cpu-h8300.c
+041c0da247ec4416398d77b4d32d75f7  bfd/cpu-nios2.c
+11893085f8079863bb591f73ca77fd8a  bfd/MAINTAINERS
+2fb5035ff7965c690c782be6c2ec8d7a  bfd/format.c
+f963b25d09203fc19d1089f2d314293f  bfd/elf32-rl78.c
+386070368dee9d18b020bc8825e882e9  bfd/cpu-tic80.c
+d0c940c8f383b5a4599b94bc4e224484  bfd/elf64-sparc.c
+ee7775662efe5034bd6a2240018a1e66  bfd/elf32-rx.c
+7d7ab6c35eddfede93f6483db959cb39  bfd/archive64.c
+dbd4462baca956d3bd9d9e54f5565ace  bfd/cpu-v850.c
+b5d7351dda8c54e3df7d7c06cd3f8446  bfd/cpu-l1om.c
+e8ff6bd53bf83fcfa842cd19e26f2bd8  bfd/nlmcode.h
+a37b1349afdf69de54baf5ec9587728e  bfd/pe-sh.c
+969711ccb3617ea84ee8e2d221b45c53  bfd/libpei.h
+e5c21ba341204cf1a46726ae6387fdde  bfd/aix386-core.c
+32c0086f5176cb12e73ab371ce5034d0  bfd/elf64-x86-64.c
+e205b75bf088fd0bb4a7a4bbc4b33774  bfd/cpu-tic54x.c
+a147777c7a198284a4f45824d96109d0  bfd/pe-i386.c
+cb86d44fdc4ae832ae39b628829dd405  bfd/coff-m68k.c
+5f58f22943861c7b7d9fd9291b0bb08a  bfd/cpu-m9s12xg.c
+01d2d3661a595cbf15443b4a867ab65a  bfd/sysdep.h
+3ca39de8693b0ae0e513e8f7895db4b7  bfd/coff-tic30.c
 663a6979bd331c91d1385445edeca7b0  bfd/go32stub.h
-fbd4c4bce82b79515bf70eb58ed14d29  bfd/cpu-z8k.c
-1ec1cc8567a842a8b2c9bc1ca372feba  bfd/reloc16.c
-e888cc7bb30deb306c5efdb07d3836b0  bfd/ecoffswap.h
-8a9a21022fdd2a579a8c81cb6a7c7d05  bfd/elf32-fr30.c
-1feede2242ae9593e3699dc2c8d292df  bfd/cpu-v850_rh850.c
-758d7cd8d9759295e2adcc440dab748f  bfd/elf-m10200.c
-0e658c92cc76e4b5d4652ebe4b808f03  bfd/pdp11.c
-ef63cb1f180b1668256239b6583d193a  bfd/cpu-ns32k.c
-593bd641bfd761f2c847d6bf59caa954  bfd/pei-i386.c
-0b3482bc51441158de373feb92dc409d  bfd/elfcode.h
-47cfeee989b8e68abde32568b32d4336  bfd/aoutx.h
-db31bfb1de8d8bfe220b2f8f4783c20e  bfd/elf32-sh-relocs.h
-c2eb70f619ed724d54effffce455d8ee  bfd/aout-arm.c
-2cb8634b465bcebfd8efea76ca8a7cc0  bfd/libnlm.h
-a2baaf4cf353a1d01246d56cbeac1e35  bfd/mipsbsd.c
-7a9974007bb4a9905da6c56cd07bad3e  ChangeLog
-0d3c238b02b9d0c1c32347dea7fc490d  compile
+1c6e3e8c279bc5edbaa9d876b9dde41b  bfd/cpu-z8k.c
+29952ce92bd4ce677caa7c95f5ef150f  bfd/reloc16.c
+fb0a60df94affe77c9469deef15b0e37  bfd/ecoffswap.h
+7c4a64e99ec4f6789667dacfd65e0516  bfd/elf32-fr30.c
+f3c18d36ab64b75f8265a880be50e1ee  bfd/cpu-v850_rh850.c
+97c39fddd902f8cea1bee2cf25f28cf9  bfd/elf-m10200.c
+ac3917eb8d8043cefcc39bed5d422b73  bfd/pdp11.c
+c3532863c122692522074620827f5033  bfd/cpu-ns32k.c
+d8fbf73ef99d9d2dd69a8f61749d0f75  bfd/pei-i386.c
+9e8fb4595b9a6fdbb6ea00f3a5b0af1d  bfd/elfcode.h
+30e7894b98de9915a886a8e88c46ef2d  bfd/aoutx.h
+02fc4579955381c19f9c209f2d8ed690  bfd/elf32-sh-relocs.h
+65f475c12d6a766fc65f1c412b10a134  bfd/aout-arm.c
+94efa52d3de5a415078837cca325122f  bfd/libnlm.h
+52eaff64dd34df2d3042d9c5d4343f0c  bfd/mipsbsd.c
+c96e74b885dcb1c782f2fd60aad14f42  ChangeLog
+500b9244caa7a7ab23ece1db37efa76d  compile
 042203b305962ba9a8f8474ef80edeee  config/enable.m4
 9238d23c68259d195b332db71892d242  config/acx.m4
 babb6167c05386834412652e8b27239e  config/bootstrap-debug-lib.mk
@@ -619,7 +625,7 @@ a251aa127ad38c507c6c5d6462060dfd  config
 16956754bb073f43a4e0c8077356a5a7  config/gthr.m4
 cd7034dccd04e50150b14c597dd545a5  config/mh-pa
 3be755875df9da02eb4b0a9badd414f1  config/bootstrap-debug-big.mk
-02edc841127860d86e729fc243303618  config/ChangeLog
+7a64d48db001a327e003ca2e922d9f19  config/ChangeLog
 01e70ae9c362268b14876c621e650f3d  config/mt-nios2-elf
 9a194b56c06b616528d1e76306aa78e6  config/bootstrap-debug.mk
 77931c860806547ce9fc56097a731c6f  config/lib-ld.m4
@@ -630,7 +636,7 @@ dd28266897efa211a681c66b97d43927  config
 1282ef4331970c26224afd363968e276  config/gettext-sister.m4
 36af806073153196c545a5a43f31bbeb  config/tls.m4
 5e1e75893989d0ae3c0452451cf80280  config/uintmax_t.m4
-734b3558fccbdc3e95eca1f1374b4016  config/plugins.m4
+e545c5305bfa9d0f0f273281fd4c18bc  config/plugins.m4
 29c9c3d57667bc9e6f14d625b2cd5894  config/glibc21.m4
 d3eafe382a46e6747e3644cf4a55d5cc  config/gc++filt.m4
 dad1550a74375ab542f25728ed5ed69e  config/isl.m4
@@ -642,12 +648,12 @@ bd6855445bd58ae7e066221ade8cc55d  config
 4d3304310a9b7b17872d6f644e1dd7c8  config/bootstrap-O3.mk
 04bdbef77f5fd2e282f7dee0bde60444  config/codeset.m4
 1d7419534d43fda437ce0a4f0719ee5f  config/mt-mips-elfoabi
-0fb81517303511f05a01b14f41cec2cf  config.guess
+c53118f6682ac1db40935d5705145d5a  config.guess
 4adca919c67d00b948bf581991b79bbf  config-ml.in
 040359150cf11493f973a46d8a25b06b  config.rpath
-d2a165dceaa5ac1edba3c512f6ca7bd1  config.sub
-2f43ae26fd0577876fd160f5c9820bf7  configure
-46c299719e5f26080488478017f63eb2  configure.ac
+e768d6a5b46753aeb6800eefb4b2540e  config.sub
+0c80bbeea87808aa622a94aca7f4a547  configure
+d9488c6eb732b8f258649d6427b5851e  configure.ac
 59530bdf33659b29e73d4adb9f9f6552  COPYING
 d32239bcb673463ab874e80d47fae504  COPYING3
 6a6a8e020838b23406c81b19c1d46df6  COPYING3.LIB
@@ -671,10 +677,10 @@ d186b867bf5b1d1468f0db54b209a404  cpu/si
 2ec1c54e8542038a6e1623a6540c6d71  cpu/sh.cpu
 eb5d66dd53c09894f20eb17b35e55f15  cpu/or1korfpx.cpu
 9c2945e3977156e41da47617175ac64f  cpu/mep-default.cpu
-2b1f56f59644b768ae5cb4ce995fe25e  cpu/or1korbis.cpu
+bf6b109bc162e5f5a6c475935530644e  cpu/or1korbis.cpu
 af81aea42ecf5b05a6177025e94af7d8  cpu/iq2000m.cpu
 023d83d84f72b748513f5cb78c179bd5  cpu/mep-ext-cop.cpu
-39c1070696026cfd7c5ad4f4c49dee25  cpu/or1k.opc
+374e759769b8bd6f2bd2f343102bca47  cpu/or1k.opc
 3fe5de5552242be376bc227337bf95fc  cpu/xstormy16.cpu
 45ceeef6dd0334c1762c922e13ca5bb7  cpu/epiphany.opc
 46bc705e6b0411486ee6e5e29538173e  cpu/mep-h1.cpu
@@ -687,7 +693,7 @@ ff87656b73d5b97cf0df1ddae9e105e2  cpu/me
 9079eaecdbe5e3a0ef3e27e756845a23  cpu/m32r.cpu
 948e8928f44c21e4e46631023475d4c8  cpu/xc16x.cpu
 f8d51df27c0e4837aaaacad1c4e07f84  cpu/or1kcommon.cpu
-3693a5e3938f36cf9cceb0e1962224b9  cpu/ChangeLog
+97143de0ab7d00119c4128e24896b932  cpu/ChangeLog
 e9b8e80ddc3003dd30c422877d4bb767  cpu/sh.opc
 051b41a8f22ff0a5dc829da70867b9d6  cpu/mt.opc
 16f51fbd17b7bbe501733bc197b50717  cpu/sh64-compact.cpu
@@ -701,36 +707,19 @@ e28d4c4ced67f70f91462403eb823e08  cpu/me
 8e3b808b3f665daa3a35b5333062ea9e  cpu/xstormy16.opc
 2ec6a978ace41c4f6444cd841689b839  cpu/ip2k.opc
 d534cf9b6b4a7e68f003dcf5d9174cb8  cpu/mep.cpu
-21504de31981a67b5b93b265029d1865  depcomp
-593f3e7b18d70d0ae3b4a81cd78b9afd  etc/standards.info
-f97ac2d5e05edeb335b73f8b6beef581  etc/configbuild.jin
-8e14386548b8da4c5072aa2abea55886  etc/configdev.jin
-ab0fe311032294b952da80585b8b90e7  etc/fdl.texi
-ab62f0847c161211feecf2530c6ba60f  etc/Makefile.in
+8b59f0d0a2dcdced14765c514fbad719  depcomp
+eaac0cdd8ac2b8c31194798a65896321  etc/Makefile.in
 d5faa80d97899ae08accaff400923890  etc/texi2pod.pl
-41ad927ae6285207ad5ba60aaa68c84e  etc/configure.texi
-2b58a4439cb76a759259bc3341b2f67f  etc/standards.texi
-c1f7c41d3e596256ab5f5f933a66293f  etc/configdev.fig
-07570ba317be730a55c952a81d92dcef  etc/gnu-oids.texi
-7eed748108912c110475ffac09160f59  etc/configure.info
-a20b40a0a5d3282f6a97c627be1e38c6  etc/configbuild.ein
-16d5de91d4a0b2dd0259cbf784de927d  etc/make-stds.texi
-b2851bb6d77822adc89ffc6d323b5fea  etc/configbuild.tin
-e67b330b1ad623f1bd3850483cd4666f  etc/configdev.ein
 3730d24b1dbe4961124dc2288b6997fc  etc/configure
-d22506533b932d8c1d49445c4f9889e7  etc/ChangeLog
+8d2d7aa90ddb1f79c610849df5dfb3be  etc/ChangeLog
 04c402a3f17c2e0e5d13e424d617e88a  etc/configure.in
-570746cd93c4dae506cf2a6153a2a1b3  etc/configbuild.fig
-32fc10cbdbf679bd0ffc8857cf069b43  etc/configdev.tin
-799da91a63d815916d3e3935bd5c0ed2  gdb/xtensa-xtregs.c
+fc5add2ae5b4d8e20b81b70008807670  gdb/xtensa-xtregs.c
 68542493a958e6f0edd04069a733f6fd  gdb/config/ia64/hpux.mh
-33c7daf06125f1d4467874dd15bd664d  gdb/config/ia64/linux.mh
-7e7999b57859e4f6b92646af4f98f42f  gdb/config/aarch64/linux.mh
+de50d1b86b9840f178aaff8d3240c0ee  gdb/config/ia64/linux.mh
+cf6f7d85562b511a530d5c28d0cc3eaa  gdb/config/aarch64/linux.mh
 869f55b72d1468bff76771d7f03aa275  gdb/config/sh/nbsd.mh
 48bfa91312c1e6daebf1f587fa78df9e  gdb/config/m88k/obsd.mh
-e391135c258cc616dfe94ae2680cef55  gdb/config/mips/irix5.mh
 35cc06513a613ea3ddfbbcafd2806b8c  gdb/config/mips/nbsd.mh
-61ea4acf4ffb69f4ca7622ccb5af4917  gdb/config/mips/irix6.mh
 e01d11cccb6b509c287f297e8e054f93  gdb/config/mips/linux.mh
 65c76e27e47f3ec8ba9c25f3ead9b124  gdb/config/mips/obsd64.mh
 db43e4622ddebe95d137560123a3f852  gdb/config/s390/linux.mh
@@ -743,10 +732,10 @@ cb8718804f2c6ec76edce38ab842dd3b  gdb/co
 c8a8841e6cc8fd8534ff677f827e804f  gdb/config/pa/nbsd.mh
 85684b2f615ad25ec7707a7378de16d3  gdb/config/pa/linux.mh
 2e176e9030598b80adbc5d896cffcbe2  gdb/config/tilegx/linux.mh
-1b47258f834d904cbe9eb49f123f771e  gdb/config/nm-nto.h
+5b942d1c4d86825ddefe7ef2489e383e  gdb/config/nm-nto.h
 f332e60007104654448d9807e75349ae  gdb/config/powerpc/obsd.mh
 a7cd77b6bf01b264dbedbb0a79c828bf  gdb/config/powerpc/aix.mh
-0c59d87b660066aef6ca9c3150b1dd91  gdb/config/powerpc/fbsd.mh
+38dd1bae3ecda3e95fe9af6adbe5c3d5  gdb/config/powerpc/fbsd.mh
 997f62a3289f18293e0ed69b5c6cb17e  gdb/config/powerpc/spu-linux.mh
 8ad26d2ccfeec2da7581634421706cbf  gdb/config/powerpc/nbsd.mh
 83229ef1efba468927c733cc54661a95  gdb/config/powerpc/ppc64-linux.mh
@@ -754,2793 +743,2922 @@ a7cd77b6bf01b264dbedbb0a79c828bf  gdb/co
 5e2e342d41273e8c11c6c8b21d698690  gdb/config/sparc/fbsd.mh
 fa5c681e54a6e249012314eb54849460  gdb/config/sparc/nbsdelf.mh
 1c336614ad1c95795851d0b836ef97a0  gdb/config/sparc/nbsd64.mh
-40909e42f38312950c7bc67e6db950cc  gdb/config/sparc/linux64.mh
-c6b33a2a17206308119ffb98ed3e72e0  gdb/config/sparc/nm-sol2.h
-bf40b04fd18cb59e8c8ffff4a8e01f90  gdb/config/sparc/linux.mh
+979587fa8970c79ed03a1c88681dbce2  gdb/config/sparc/linux64.mh
+8a92fe184d274d3324658f8415032ca0  gdb/config/sparc/nm-sol2.h
+384b29ece971dd9c403537b8adfcabcd  gdb/config/sparc/linux.mh
 d8fe1d52ce790c8d797dbaae30262390  gdb/config/sparc/obsd64.mh
-30ed926a7788b3fc0511f9de908c4ca0  gdb/config/sparc/sol2.mh
+1c24044c37c365045d35d5ae402d8eb0  gdb/config/sparc/sol2.mh
 c9db60918e9063c0baf27708490ba2e0  gdb/config/m32r/linux.mh
 bde487afd956fa6e0e51bc1c36ba2daa  gdb/config/djgpp/README
-82d3d197bb7a7db2adbb33a76e008598  gdb/config/djgpp/langinfo.h
-4b88cb04db6790d1f413f1e40a16f8b5  gdb/config/djgpp/fnchange.lst
+63353f8dd933ad1e1c7886b261edfa77  gdb/config/djgpp/langinfo.h
+da0da20930e8e620700454c19ac4f873  gdb/config/djgpp/fnchange.lst
 cdc11406d9e6e5c91f7643088983ff30  gdb/config/djgpp/config.sed
-905adcd2aca26f44d12e3cd02ce88508  gdb/config/djgpp/nl_types.h
-3c1f6d6d6e307edc823abd9e8a77d55f  gdb/config/djgpp/djcheck.sh
-7b0b186379155435ae80eabfb970577a  gdb/config/djgpp/djconfig.sh
-6da4739647ea423a824e3c9dcf79a56c  gdb/config/alpha/nm-osf3.h
+0882a479a182f9afb6ab6e9087dfb4aa  gdb/config/djgpp/nl_types.h
+d3b712b49058cd872a158a22830d8595  gdb/config/djgpp/djcheck.sh
+7e8d5ef19b609b0a8c87c46b7c4a5bcd  gdb/config/djgpp/djconfig.sh
 6ad1003474d79d29d46dd1a8d3a56069  gdb/config/alpha/alpha-linux.mh
 3c04391aa783e9e4629b853321d2978f  gdb/config/alpha/fbsd.mh
 20481186c3d462f0c728913b6cc6edfe  gdb/config/alpha/nbsd.mh
-06f4bae06c9d999a6e0fb1bd3714ba32  gdb/config/alpha/alpha-osf3.mh
-223afdf85eccb6b3fb70707a30194e3c  gdb/config/nm-linux.h
+778883a03d01b70aa5710d8fb5b5c87e  gdb/config/nm-linux.h
 0cf93dd677f37b32e39c18d54981bb7d  gdb/config/arm/nbsdelf.mh
 a25878b6e5465e4c15346b336349b5c1  gdb/config/arm/linux.mh
 dc972270c570b194943d1f40cfeed282  gdb/config/i386/obsd.mh
-1e71807f6ef46c1ff908df466d7192c5  gdb/config/i386/nm-i386gnu.h
-27cec8d4003f12ff69dabcd382552608  gdb/config/i386/i386gnu.mh
+0563aaaac3b4b491622b58f4ace9fbf2  gdb/config/i386/nm-i386gnu.h
+31d842182ab24dcc13e79680df9870ba  gdb/config/i386/i386gnu.mh
 768aafd492586f1951ce658073749015  gdb/config/i386/nto.mh
-92416cf80ded37e04206be9a7fe438cf  gdb/config/i386/mingw.mh
-ee7db0bedb90b3cc19918d4c58c735b0  gdb/config/i386/fbsd.mh
+ab598c6b4b5e2d83a754782e415958d9  gdb/config/i386/mingw.mh
+4e288de7de119af3dd67caed1c8d1b20  gdb/config/i386/fbsd.mh
 9a03d523853e2737c9ad0b72551727f3  gdb/config/i386/nbsdelf.mh
-cb7fc2376ed3eec5cd06594effce3234  gdb/config/i386/cygwin64.mh
-a9ae44520e225943808a665458ebb25d  gdb/config/i386/darwin.mh
-92416cf80ded37e04206be9a7fe438cf  gdb/config/i386/cygwin.mh
-43ea2a8019e654a6f9fc87414cf6c460  gdb/config/i386/nm-fbsd.h
+00ab8e9daf66f0e750debd7c99761654  gdb/config/i386/cygwin64.mh
+85b80a897b3e092846cf928634166ca1  gdb/config/i386/darwin.mh
+ab598c6b4b5e2d83a754782e415958d9  gdb/config/i386/cygwin.mh
+6546b67f0cd13e3a7ed9f92f2d8ac586  gdb/config/i386/nm-fbsd.h
 95098b999c444da27be01ed56cf28798  gdb/config/i386/i386sol2.mh
 c02684e7d073f4f7b9a5eef41a7a649e  gdb/config/i386/sol2-64.mh
-646d7f4d9eeee92f221cace02ef22e1e  gdb/config/i386/fbsd64.mh
+be67125a435c25ef4e87c1b219960a95  gdb/config/i386/fbsd64.mh
 227ba98d865063107c08a9530ac2f8fe  gdb/config/i386/nbsd64.mh
-0ec917c418f03df875c36b91416f3536  gdb/config/i386/linux64.mh
-f58a4144463a3d44fe20f14869326317  gdb/config/i386/linux.mh
-a09f5e6711d9af7c376924bb20e0419f  gdb/config/i386/go32.mh
+c227c2fbc55c382a3bea783a776311a1  gdb/config/i386/linux64.mh
+9ebd15c11764bc4399c33c652f244407  gdb/config/i386/linux.mh
+f3d81927270e9271ff8559c22d269b2b  gdb/config/i386/go32.mh
 39eca0a56671394060727a43fb65fcfe  gdb/config/i386/obsd64.mh
-61465f305cf4d8245e696761d2f01892  gdb/config/i386/mingw64.mh
+8b54be90e421a7e7ed1aff59b0f147f9  gdb/config/i386/mingw64.mh
 51bd75312393d4a9db52f4ee825f0051  gdb/config/vax/obsd.mh
-8f4178f354fd161539d0afa0642adef1  gdb/config/vax/vax.mh
 474ecf1428fe010bbb7c2fe21b33af0a  gdb/config/vax/nbsdelf.mh
-0e41855f5328b30c8479528574c0ca2d  gdb/regset.h
-ad0e53e9e1961e3551c3f9ae34e60943  gdb/event-loop.c
-a05e4d1ad58dacd5fe9e826013fc8779  gdb/solist.h
-5113c00e50008de8088112c559119d43  gdb/ada-varobj.c
-eefc25af2aee9af775e2697aace43604  gdb/common/buffer.c
-d1c3e88e75c761e09e0489b32d0330f3  gdb/common/gdb_locale.h
-8f528f45d38f52133be38db42ec612d7  gdb/common/filestuff.h
-aa9c176f095601b97685fdcef9113340  gdb/common/linux-ptrace.h
-4d398285a0cfe77f48371df3f50e5805  gdb/common/agent.c
-78e2bc2d1b6af3fa6b68549cd20eea60  gdb/common/version.h
-c5a1837fbb603a35ea307a55a429c80c  gdb/common/gdb_wait.h
-32a9e28c69fe47303e4ab5d88a7d13f2  gdb/common/agent.h
-de87ad897b130766fb32bbed5320fea9  gdb/common/common-utils.h
-67a2630d5b600a115d554615d7440e98  gdb/common/linux-ptrace.c
-35dea2eaca77dfeb3b2512c366ed065f  gdb/common/gdb_thread_db.h
-7bef8438920cb5c33987b114af94fba9  gdb/common/i386-cpuid.h
-b1a974179dd3d0632461e4c235817d3a  gdb/common/common.m4
-f67545eb74a9bff622b6d939636f56bc  gdb/common/linux-osdata.h
-b9060e8c6b63b0b93b286cd6500aa11e  gdb/common/signals.c
-9e83645ca4902349c54798c9bea0a244  gdb/common/mips-linux-watch.c
-c46f067b787b9ddfaaacb57747ffd4c1  gdb/common/linux-osdata.c
-9018ef7a0caa08cea97edfb68267bb29  gdb/common/linux-procfs.h
-983cb4583b31b6c3418f516061b5f991  gdb/common/i386-gcc-cpuid.h
-bc0126c4fc89cd7c2e4f4be9eaba4e67  gdb/common/host-defs.h
-042a2a0b2b31a8f5d0a63c748cafa925  gdb/common/create-version.sh
-496fbc9d01c17ea34328581d980ade29  gdb/common/vec.c
-390a37bb5c4d1ad8308d67b8e5dd9682  gdb/common/linux-btrace.c
-3a4e1bff75b16be0173f4a2f8c913761  gdb/common/filestuff.c
-09c8680acf5573431dcddc3ecbfd547f  gdb/common/vec.h
-aa74ece58512b011387cd7107ad198af  gdb/common/linux-procfs.c
-ceb6287785a2848c4bfb2be85676d49a  gdb/common/rsp-low.h
-0402279dd2fed9f3ab6c6e4377bc2623  gdb/common/common-utils.c
-d572c15fac701ca4bc55a9937a37985a  gdb/common/gdb_assert.h
-1eabe93be430ad975200ec4ae33816bb  gdb/common/queue.h
-26e5c96363215d3637b5367524979b51  gdb/common/mips-linux-watch.h
-b986597a3578545cac4e993cd4f77747  gdb/common/ax.def
-adae21661830cc755ff5274534e762d4  gdb/common/glibc_thread_db.h
-b28fdca730a3776166da2731792dc393  gdb/common/ptid.c
-59bd2fc8a7251487571b3b4b46ef8666  gdb/common/btrace-common.h
-ce4cb4b6de6fb00c8827ebaf631d14f3  gdb/common/linux-btrace.h
-eb493183bab6529909c21f69f2dc531e  gdb/common/gdb_signals.h
-7fe7ddf3c83161ee384ace17b77d3f01  gdb/common/break-common.h
-4f23e8cc9c34b48dc9be7cb5525ffda9  gdb/common/rsp-low.c
-28f88bfde15179f04cf40abeffa43971  gdb/common/format.h
-54a1966d8e68e3d4a51e9b1ebb514dcc  gdb/common/xml-utils.h
-9313cbcf639dc076f9c99dc594d0626e  gdb/common/buffer.h
-644a82325ca4c299ce0779db275ae053  gdb/common/gdb_vecs.c
-9020e53ede8cab932c0bab35f6a8b880  gdb/common/i386-xstate.h
-7378d0252ceb6d16599e13f42c144f2f  gdb/common/ptid.h
-76a6c4df060a3d6f7a37553ea67ba67c  gdb/common/print-utils.c
-09f1954a1ba370de54ee68dd2ddcc7dc  gdb/common/print-utils.h
-0b6df5b9bce4fd983c0f232bdf831b96  gdb/common/xml-utils.c
-4d217f21b393726b7bd7dc753fd11c24  gdb/common/format.c
-85d5644a5ea5a1ef156ec0390b53db29  gdb/common/gdb_vecs.h
-f6a48eb38e5ca5a0769d9aaac5db1f15  gdb/ppc-linux-nat.c
-e14f66ba5ec7339a83cfbfd570d02f40  gdb/charset-list.h
-ca9992f83ad59f61e447ff61c979e2f8  gdb/m2-lang.c
-50bea1b6cafd848cae0598f4d5495639  gdb/corelow.c
-bfacd9283c6915fd7b8bdc2309237eb3  gdb/ppc-linux-tdep.h
-38d027f65615f18fed90e1189f002563  gdb/dwarf2-frame-tailcall.h
+7295bd3dda432320af4eb29f959e411a  gdb/regset.h
+0dc5bca497b9002370f8e2f2f99d0e1f  gdb/event-loop.c
+c9f114075816f8846825dbad346478c6  gdb/solist.h
+31ffc2e7e8d40a8b5085fc1098376bb3  gdb/d-exp.y
+c438a9b555ebefed2e0177bb9e6a2c57  gdb/ada-varobj.c
+cda87834b2337e870862d97aa1ffb914  gdb/common/common-debug.h
+bd4e7c8d97a05a56a4847ba940a062f1  gdb/common/common-defs.h
+f04b1cb2224856c2871fb86f497e3aba  gdb/common/buffer.c
+bb26a191e62c2ce59cd872b45a099412  gdb/common/gdb_locale.h
+9f5667d7c18b102107e64b0de5341ddb  gdb/common/filestuff.h
+08e5d26f56f099e7a8f1ed9bf1e859d2  gdb/common/agent.c
+4faac57da85325b4d38574b6bb2c8f48  gdb/common/version.h
+108c808f921fac34e08b2bd737f5d893  gdb/common/common-exceptions.c
+661a20cb5c67aa082d0e4a1366929392  gdb/common/gdb_wait.h
+cec95828b019dd5951d3852a2a99d384  gdb/common/cleanups.c
+da446dd37440c7bc582cd72ecb6ddd78  gdb/common/agent.h
+597bc4c6de275997d7104f6f8e1b5a7e  gdb/common/common-utils.h
+2faeeb38c36e5fab67ce9d3531a18bec  gdb/common/common.m4
+5692326a05c285ded29df3aa5b732ac7  gdb/common/signals.c
+8acf17224417c467215ca6fa15d0ca42  gdb/common/common-debug.c
+e3df85b1e1d36798facdb9e9dacd538f  gdb/common/gdb_setjmp.h
+68b86c8f9c5bdedcc6c7177693585c85  gdb/common/host-defs.h
+8d501b8bac1065f0483b23c4701815d2  gdb/common/create-version.sh
+7a4b448b61b152f558472a7561ee6b26  gdb/common/vec.c
+315252262597113ca300530ea79e3552  gdb/common/filestuff.c
+5c1a9adf2e8ed02d4e7d2cf939fbabbd  gdb/common/vec.h
+e330aefc9e08afe299e4bcc31254da0e  gdb/common/rsp-low.h
+ade8fe8114552f1b3353db2cf426be4f  gdb/common/common-utils.c
+da2648775a0c233ebff36ea9755b6760  gdb/common/gdb_assert.h
+e09c22d19db6de0e96699aceb2a3c2d7  gdb/common/cleanups.h
+e68bb27d69c42a39347fb7b67bc5d0cc  gdb/common/common-regcache.h
+39d9d0517ac0609dd3750b696f9a73c3  gdb/common/queue.h
+1f83721c4faac4fa8d91f0a75550ed49  gdb/common/x86-xstate.h
+e49599c327fcc500b8aea6f5b7843d87  gdb/common/ax.def
+8a1eceef4ce5e3a7e033bf380860e2c6  gdb/common/ptid.c
+a6f2766d67be878954bedd6b583c70c7  gdb/common/btrace-common.h
+d8e5468c8c12db3af389c0963352a4ab  gdb/common/gdb_signals.h
+8a9dfeb3dc3e17c485ada46e5ef7db14  gdb/common/break-common.h
+b3fae2b3410a52b23ed79bdde902732d  gdb/common/rsp-low.c
+b4261129ba599d7313fcaffcf4eacd6e  gdb/common/format.h
+2708bcced89bd1c4ef0a9450690ee2d0  gdb/common/xml-utils.h
+c04ad0d15bfccc86ccc04921332c37ed  gdb/common/buffer.h
+1ac68474f91b9e344d6ef5c6083ba8f5  gdb/common/common-types.h
+f973d63feadcf1dd3cfb037656ec0b37  gdb/common/gdb_vecs.c
+e925ff742cbafa41d847f367346b2c2b  gdb/common/ptid.h
+c1fa866c3f4bc3f7902cf01c2c0317f2  gdb/common/symbol.h
+411ae14f6e04c3fc70546abbd2499fba  gdb/common/print-utils.c
+3faa70d851d8d48a3707fe3b7098fb6d  gdb/common/common-exceptions.h
+f4619fad78d8e0b2aee74da19e4cd033  gdb/common/print-utils.h
+30b30d0cde359ef1702e834c558901a8  gdb/common/xml-utils.c
+e2113af6e4d36c964d69ad1a4a8a5093  gdb/common/errors.h
+8b8e4c538311148aaae283cd3a10df95  gdb/common/format.c
+c3515c65c1f679468eb6f337a893dfed  gdb/common/errors.c
+4c3340612ba979d355e2c5a62bb8c995  gdb/common/gdb_vecs.h
+b8b4507e5a6da06073592f8d9523b5ed  gdb/ppc-linux-nat.c
+2bb1dd4853e47423930a4fcadb854a58  gdb/charset-list.h
+9554c184a5a9ce1f9925024494382c39  gdb/m2-lang.c
+0ff0f004b107c8793ca3715112c6914b  gdb/corelow.c
+744ba8a33ed1b44a0e0e4faaac7853b3  gdb/ppc-linux-tdep.h
+0994433edfde1a5d771db28e61847759  gdb/dwarf2-frame-tailcall.h
 349b188907736d3ac349e30e509f4e37  gdb/ChangeLog-1996
-e8645786871777fb3986afc0f6495b99  gdb/dwarf2-frame-tailcall.c
-df1b6d349f1875c4e4a03c2e9587fe1a  gdb/ppc-ravenscar-thread.h
-40722faf0cce93c21283049ccbfe4109  gdb/memrange.h
-38aa2be2e4066e0f88bb4a4ae8630760  gdb/solib-svr4.c
+a212d5f4cf9b143c832099cab16d7dec  gdb/dwarf2-frame-tailcall.c
+01e6eb110265907109b5c46f2ffb692d  gdb/ppc-ravenscar-thread.h
+d9cc83c31d15886886d44397b18b9bdc  gdb/memrange.h
+3cf45795c8eef86306a278cffb78fa57  gdb/solib-svr4.c
 d5d3749be7e1d3b59549567787e51163  gdb/ChangeLog-2013
-cbf9b37187f738b1c73cca0341b75a60  gdb/sparcnbsd-nat.c
-d145e35d0ebcaa3e5407792533bb2939  gdb/f-exp.c
-a1476d51afa42096dd787236e79523a6  gdb/remote.h
-9947a6a83484989d090296ae5f96e840  gdb/gdb_regex.h
-7afb1ee565ce44c33262fe95e7513620  gdb/defs.h
+16ffccd377e58dac9711ca610609ef05  gdb/sparcnbsd-nat.c
+c5816da294f443ff3877e5d1d5cd1918  gdb/f-exp.c
+37a118b38be1b8261e23f580a6c83991  gdb/remote.h
+65f53133b6b610218c50184a013d7039  gdb/gdb_regex.h
+019d51ffed2e2e3d26292a7aff480485  gdb/defs.h
 e5e589fe4f10abb8957a8c2e4cddb7f8  gdb/ChangeLog-1995
-266b0c003a89f87ffadf2cdf8360f1cc  gdb/solib-target.h
-f9c392c6071caf29fbab956c0b074904  gdb/mn10300-tdep.c
-317972300365b3042885fa3aa98a6e64  gdb/environ.c
-ff17b36b20ae43e0a175b48b198fde33  gdb/cp-name-parser.c
-69812546d4f66e4a8b905d20dbff6be2  gdb/microblaze-tdep.h
-a541f1c93354a5a17f61b617df24272d  gdb/exec.c
-c4b423f60ba7196a1eba9164c2890663  gdb/prologue-value.c
+cd3909426ad79de9de798fc760d9f157  gdb/solib-target.h
+51098811b1303fff4ec781a6ff572094  gdb/mn10300-tdep.c
+7a379592e016d2c699c2fc0f6515a38b  gdb/environ.c
+26919dd1c8a0da25b67baeaf88e779a7  gdb/cp-name-parser.c
+7bfa11d11f5830dd426e598512bb95ca  gdb/microblaze-tdep.h
+4e2c7458c6226a04762622fed0518c9f  gdb/exec.c
+38d6cc5e32a1ec672e3739ec11105ff6  gdb/prologue-value.c
 614ebd7777b2b4b0f4aeda9f4406b1d4  gdb/ChangeLog-2011
 c923fbcaa47240f82d7ef756c59c87ba  gdb/ChangeLog-2001
-2bbc04be2960b3cd116cb8ad77f7359a  gdb/frame.c
-1fafa39ae0f40e2203665f292b13495a  gdb/i386bsd-tdep.c
+cb8274393a0cc44e23f67bc2a459ee0d  gdb/frame.c
+1a3f8baff180f32342e64672fc7ede95  gdb/i386bsd-tdep.c
 872be449ea0ede048ac193747d131870  gdb/ChangeLog-2002
-45af26248e4594592afd63a984533f02  gdb/maint.h
-bb09cdd0729df33c7689a6a38631b12b  gdb/microblaze-linux-tdep.c
-35bfc30b0ce6e267a6d85aec6b87798b  gdb/unwind_stop_reasons.def
-0bcf5bce1cc81863a4e12b537b510269  gdb/bcache.h
-92b729f28de884065c05b6712a730ae1  gdb/contrib/exsummary.py
-7348e5ad7f58807357ac417977f7cdd5  gdb/contrib/expect-read1.c
-b21517e8b68dec808cc1a30ab4f6be24  gdb/contrib/ari/gdb_ari.sh
-9a189e7e62178c314527f2bc45e5e8c7  gdb/contrib/ari/update-web-ari.sh
-1c9df774bfd6425d45ed844d70063c44  gdb/contrib/ari/gdb_find.sh
-80a49515a12ad18fb63a8ff760137a6b  gdb/contrib/ari/create-web-ari-in-src.sh
-b7c5ed08a9ecfe622a11d3c8542ab4cf  gdb/contrib/expect-read1.sh
-36b50081db18a1c803e0d1e22ca4ae12  gdb/contrib/gcc-with-excheck
-68a9fbef4f73b66deb65abd5927cbcd3  gdb/contrib/cleanup_check.py
-b37d6af955a29ee40ec9178f5e609864  gdb/contrib/cc-with-tweaks.sh
-aeff99e67f638d8abcb037338c1254cd  gdb/contrib/excheck.py
-f2d6b1f5cfc31f9ea032207c2ac76729  gdb/contrib/test_pubnames_and_indexes.py
-66c15884231204944f0547f0d636ae61  gdb/contrib/gdb-add-index.sh
-9340bdaa6ea7421bca28b7db29aa5765  gdb/tramp-frame.h
-ea9a8d93dc20fd77ea48e6a7a431d117  gdb/d-support.c
-d8ac8a530f37295c66be4e70639efcdb  gdb/gdb-demangle.h
-5d39ccb21c9e46518c3a6afafc3e53bf  gdb/ravenscar-thread.c
-101796c6d8a36bc578edbf1ae9c3e104  gdb/Makefile.in
-7c13675eba79d7c634f928f9df1fcb38  gdb/btrace.h
-ff9835f628206893b03acc7d68bac310  gdb/windows-nat.h
-723e7fe47cc944b788d5fa3428647a0c  gdb/sparc64-linux-tdep.c
-603c81655b69051be8f942cb316e0fcb  gdb/gdbtypes.h
-3ea4f0b924e0fee10d9eb8f07d1c953f  gdb/sim-regno.h
-580758f2b7740b02494840b1147cf5d7  gdb/ia64-libunwind-tdep.c
-e61fd45bd1849acf105782910c185d5e  gdb/rs6000-aix-tdep.c
-c14bd4bc95f47ad286a6600b2a4f0252  gdb/macrotab.c
-bcaca0d8e31702069f47a21410f9f923  gdb/agent.c
+6c65d83ef5edb063c00875760eec137a  gdb/maint.h
+0b9ee8d01502e0b0ac29adf053bc4c81  gdb/microblaze-linux-tdep.c
+85a321e77a48e83464eeadfe9c83bd79  gdb/unwind_stop_reasons.def
+75102680be05546de75c6c96b77b583a  gdb/bcache.h
+bedf31337b21b8353257d3303808d843  gdb/contrib/exsummary.py
+4a775e0ee85b634f62f37c31729548eb  gdb/contrib/expect-read1.c
+65c1ae234275f7a8e7fa74257591a6a4  gdb/contrib/ari/gdb_ari.sh
+80c7fd1eb6591e085d08b19f9cf746a2  gdb/contrib/ari/update-web-ari.sh
+12a3fab903464012c474bc5db100dcd3  gdb/contrib/ari/gdb_find.sh
+8f2b0012c22f882ce59571ec216dcafa  gdb/contrib/ari/create-web-ari-in-src.sh
+745389689f60d5eb610743112115a163  gdb/contrib/expect-read1.sh
+176e615461d570f327317b7c1a0c9310  gdb/contrib/gcc-with-excheck
+c651a99fec082b1d9714db58f5537ae4  gdb/contrib/cleanup_check.py
+d70c8504d45c297e30dff9f7b3302b14  gdb/contrib/cc-with-tweaks.sh
+a5ef9b0ada08efc58e9102890cfe2661  gdb/contrib/excheck.py
+a8325de9c6473c15722e1cfdb6d2ba24  gdb/contrib/test_pubnames_and_indexes.py
+77cb895f3e305c3f78d0e51f22d14f45  gdb/contrib/gdb-add-index.sh
+66e64d38d64c18c47e8605b6267e09b5  gdb/tramp-frame.h
+ddbd14b96c4b153eba02ccadf4ed9807  gdb/gdb-demangle.h
+f20f59d9e6fa60e85eb9a2d727e3e316  gdb/ravenscar-thread.c
+ac8ee0ecbd0e05bda3d513127366b748  gdb/Makefile.in
+e28da424ccb6965d0ba6955035a6b04b  gdb/btrace.h
+aaa0a2d54605b37838cf54ced8baa29e  gdb/windows-nat.h
+f64c228a59ac9322bf93cf5a805339cc  gdb/sparc64-linux-tdep.c
+5e7e72ed1dbb57de14320bc8211f94af  gdb/gdbtypes.h
+abe826cf5f5f52679cf4b663b11f09d7  gdb/sim-regno.h
+170644860a83d3d9db95245670a750b8  gdb/ia64-libunwind-tdep.c
+707c4a18ee06f9e5c3d02ad5e892c572  gdb/rs6000-aix-tdep.c
+6c22781d3051deca0ffa8e6f7df2b78f  gdb/macrotab.c
+c9caf8e5239c6138cba8a6e2d7847cd4  gdb/agent.c
 526536cf30b137dcebfaaa604fa55615  gdb/ChangeLog-1994
-295fb1d87648c0be37948449cd7e9df4  gdb/d-lang.c
-905b7f13a6cfd563b33d2b3479484c57  gdb/linux-fork.c
-fa8fe80f8b9e9e585edcd3e7e61f2b7e  gdb/m2-exp.y
-5645e18ecbe60bbbfb68383a4544ebd8  gdb/amd64obsd-nat.c
-cea734970882df5efc2e3e562fc8859f  gdb/f-lang.h
-24d637a8ccebaf45527a5ad58590ea2d  gdb/user-regs.c
-7c7a9c3fa5b669f9b5efba3a64a1510b  gdb/record-full.h
-6c8ce6d488761d95eb2fa10c35fa0d61  gdb/m68kbsd-nat.c
-3e2ced1078ac77ada1ace903257c9d15  gdb/spu-tdep.c
-7018a3386b5b148ac5ad8a38fcb72704  gdb/gdb.c
-3eab9020709f8db3159dbbd078e5c0fd  gdb/linux-record.h
-13162dcf89eb9257239cc3ae26e0ad4d  gdb/solib.c
+6bd72d1eb7750476747e74ebf627bf28  gdb/d-lang.c
+901b5890c4cafcdcbde591177a3f2bb1  gdb/linux-fork.c
+e3b78a37ec8f8a5031a1619b0ae2b07d  gdb/m2-exp.y
+c1ae1c0393ddb0cb1e4a4cc01d1fa580  gdb/amd64obsd-nat.c
+9cf691e006043362cd8407e56a98141e  gdb/f-lang.h
+45db1fba13a395817e5ac1d2837f43a8  gdb/user-regs.c
+ec1a94f64dc5d186ef397b0051405655  gdb/record-full.h
+86b667a82500ae0bbe57ef685331d06e  gdb/m68kbsd-nat.c
+755b46486c00b21ff80087b81a91841d  gdb/spu-tdep.c
+fbc16b9ff3ff269977912eb86b2c0e75  gdb/gdb.c
+8ef3fcb29eda7f21cf06a8af9f7e9376  gdb/linux-record.h
+617bdd52e4cf83df040a13f9894f534f  gdb/solib.c
 53cf114ff5719cd047da9d38dd318599  gdb/ChangeLog-2012
 42b9f7c51223e595f66c2210064be682  gdb/ChangeLog-1990
-89ba4d269569754e1377bb92ae409dda  gdb/nto-procfs.c
-543b716020e382f4cfb240cb76cfc6c0  gdb/vaxobsd-tdep.c
-bc09c59a83d9152b0f6e5d5a6bb2f15f  gdb/infcall.c
-17d4c0a01204983ba740bbcf9b9e9f5d  gdb/inf-ttrace.c
-0130a3cbd233b0191e3b25ebcf333904  gdb/remote-fileio.h
-b0bc518bf4c54efc640c93e38c38cd17  gdb/sparc64nbsd-tdep.c
-202dd91c263ba320a2acda231836fa00  gdb/c-typeprint.c
-b1accc9d5645f2f822db927a689f226b  gdb/xtensa-tdep.c
-a8e5b86347f27209a1025c84b6ddcf59  gdb/top.c
-84433193020f1d965940843d651e037b  gdb/python/py-cmd.c
-ec9997233f9a5f679518ae9fb48c3d23  gdb/python/py-infthread.c
-41dc73f87400ac722da4be9477d0eadc  gdb/python/py-continueevent.c
-dad374b90ce702154e2e5d64f3c048d3  gdb/python/python-internal.h
-3639eeb926ab025afaa2a244e828740a  gdb/python/py-xmethods.c
-27d7b8a0235119a078bbf54d7e88d911  gdb/python/py-objfile.c
-02904f4437461361a43bc4da945f82b9  gdb/python/py-event.h
-d4dcfa6916c60ef82240f2df38ad0b43  gdb/python/py-frame.c
+d39a71f49b26542164630930103b2543  gdb/nto-procfs.c
+d5a95207379eb3b8558bd3f70614b593  gdb/d-exp.c
+c5e2f2b4c2a50b902dc183726c47320b  gdb/vaxobsd-tdep.c
+1e07eb16c595e967649ccdea33e635ce  gdb/infcall.c
+6367bed57e333c42b45f3ee6bc6fb1cd  gdb/inf-ttrace.c
+1fa791efa67d37ab2c859e44ae1c1d75  gdb/remote-fileio.h
+a1d4a9f9cc0889b776920167d21ade7b  gdb/sparc64nbsd-tdep.c
+c074b817bcafa21628660800eef8348f  gdb/c-typeprint.c
+dd44cebeac33294f04a8cfbc55a589c3  gdb/xtensa-tdep.c
+7e95e312421f1eee6a0518d7285592c1  gdb/top.c
+001635cdda1a55a603854c760ae55c48  gdb/python/py-cmd.c
+afb00927983ce834b553cd4b764514bc  gdb/python/py-infthread.c
+f40fa46aee5e124221ecc85c11c0e625  gdb/python/py-continueevent.c
+fb153c0ced0a54b429192e95f106b3a5  gdb/python/python-internal.h
+a38017640c3f553d280275e044df15da  gdb/python/py-xmethods.c
+7ddf01f608cf79b423b9d9cfecc99c34  gdb/python/py-objfile.c
+053cf89ff7248e637fc5f4819d000e07  gdb/python/py-event.h
+ef430d8660bd46238222bf0e10629d8b  gdb/python/py-frame.c
 3b23d7e4542a89c8993cfdead0c72ec4  gdb/python/python-config.py
-4888a0374a1e88333a492a408637a117  gdb/python/py-value.c
-8b0879a855a2e12767afaeeafecfef0a  gdb/python/py-type.c
-96a70fa36e8d872384482ac518e18720  gdb/python/py-evtregistry.c
-99577bb6511c4fd9dece4bec79521789  gdb/python/py-utils.c
-c7cf76d517bc002c26287acec489dd9a  gdb/python/py-linetable.c
-bd299770877877bd1870630aaf307c0b  gdb/python/lib/gdb/prompt.py
-9e607e37c56ea883c7cad27423ed4921  gdb/python/lib/gdb/FrameDecorator.py
-5a04851e2253842d269def1d66d49bbf  gdb/python/lib/gdb/command/type_printers.py
-1ba79b5528a4c9f1ba5aed1cf4355e48  gdb/python/lib/gdb/command/prompt.py
-49324b50da3d22e820c0b68fc2c46ea7  gdb/python/lib/gdb/command/explore.py
-f4069242c2b42d5d57c74d525d34ca20  gdb/python/lib/gdb/command/pretty_printers.py
-f96aaf68fea792b3f47a78d3c429d67e  gdb/python/lib/gdb/command/frame_filters.py
-4d5d9e6ac66e6432c76ba040dacfe4a1  gdb/python/lib/gdb/command/xmethods.py
-d185ce6905dd968e07c9271f420f62dc  gdb/python/lib/gdb/command/__init__.py
-ba173e9549a2ce347ed385bbc67455d0  gdb/python/lib/gdb/xmethod.py
-f6630b6c7f8022030948c09f8d52629a  gdb/python/lib/gdb/FrameIterator.py
-a8d5a3aa0f47a31802a9c13ee74332f8  gdb/python/lib/gdb/frames.py
-a2d765a4bc30142b0f28d896c86e968f  gdb/python/lib/gdb/types.py
-1b9e909b4e331b4c8e28cf0adb01c1a5  gdb/python/lib/gdb/__init__.py
-4ab79f3d3cfabe265afd64c0fc579b8c  gdb/python/lib/gdb/printer/bound_registers.py
-6a562507d99b6de8b487de3b6c87740c  gdb/python/lib/gdb/printer/__init__.py
-a5b09e7abe1743bff047f80ac66a2e2b  gdb/python/lib/gdb/function/__init__.py
-7dee5d7c7aa0e9b8fb6ba7fbc62ee3f0  gdb/python/lib/gdb/function/strfns.py
-8c82d5c91112c09bb51f6ead3744ee83  gdb/python/lib/gdb/printing.py
-64523ac865e09fa70f1a97b5608af72a  gdb/python/python.c
-718a36b43700bdb4fb7fdc6dad35085d  gdb/python/py-inferior.c
-3e9ee0bd644a7a5ac70d21b749eb9a7a  gdb/python/py-symbol.c
-04fe22559849dfd08b1f7727d2b4da6b  gdb/python/py-block.c
-415fec89ddacd8441c01c8407d434ed4  gdb/python/py-events.h
-ead8e6cd55f833d428b68144ee3b11fc  gdb/python/py-function.c
-03db4d43bbe4b8e8605dfdeef267308a  gdb/python/py-framefilter.c
-81d757d566b7d38b11fa7399667ab52c  gdb/python/py-gdb-readline.c
-c8985c76ca8b6164639e05ecb0634856  gdb/python/py-stopevent.h
-86eda4157d3220f4dad14b0d3af55649  gdb/python/py-event.c
-7b47b735e518a6dab6ebf731145d7cd2  gdb/python/py-symtab.c
-b4515db38110fb5d8d74a8ad32e7d714  gdb/python/py-stopevent.c
-6b48fca415cf9b67182be0d1c2eb9d52  gdb/python/python.h
-69bdb6106112faccbec6033566326f66  gdb/python/py-signalevent.c
-87a7169a6270b79a58a2c9e71fe0b6d9  gdb/python/py-breakpoint.c
-de993b792d44aef6b5f7b7138c34e223  gdb/python/py-newobjfileevent.c
-c1726312a4146f4c00ca9846790aff03  gdb/python/py-param.c
-c731bf9a627a903c2d19e29c1c67728b  gdb/python/py-lazy-string.c
-a5db5d019fadc01e73754ed0f046e299  gdb/python/py-exitedevent.c
-6db533e4222176e3b22c36c2ab87c328  gdb/python/py-progspace.c
-4d2c356054f8368c95b9fb3c6efb7f20  gdb/python/py-bpevent.c
-60ef54e8562a1cdc3c1513bf7d830611  gdb/python/py-arch.c
-7d755eccbcfce05457ff296893b67383  gdb/python/py-auto-load.c
-5076eccbb30a3088af47ad3c15b14638  gdb/python/py-threadevent.c
-472a1ecd7064576ed64598fc22862a99  gdb/python/py-finishbreakpoint.c
-94fe1824749bd7427ee6cc53ca4815d0  gdb/python/py-prettyprint.c
-138853d1a4756e0a3edd7b8f2bd30031  gdb/python/py-evts.c
-0b3a20b6d092e2ad5e6bb6dc1b122019  gdb/target.h
-7516d6cf7fdba1ce1bfc4143af198c81  gdb/obsd-nat.h
-8486dd92f6a99dd500de810a13b46601  gdb/frame-base.c
-9dbfdcea8fb028deee1bd1ae95ffa52f  gdb/fork-child.c
-0a803ac923385fbd09c8466bf1c88bc9  gdb/spu-multiarch.c
-96531179600153291f37901551ab6dc2  gdb/observer.c
-5b353785daa3e9d6e5895685e36c46a3  gdb/ax-general.c
-48a21c0738d08da287bf93d4c2a774f3  gdb/cleanups.c
-20c426ec9cfc293ec515d0bd8dea99b0  gdb/record.c
-f1eadf38ba537ea23b3076317f7bc488  gdb/ppc64-tdep.c
-13d4c636bd2b6c3e206acb5b8f21c060  gdb/m68klinux-nat.c
-0475636b3e26bae2e1a5702a16d04ae8  gdb/iq2000-tdep.c
-6b96d9d58e11c0a9c4769096c5b11b85  gdb/ser-base.c
-83ee944bda137658ee44bb0d1a329ae6  gdb/version.in
-daf0d1cae306df7fa877cc09a87ed8d3  gdb/linux-record.c
-f6d2654d4f5949e622e7c7eaeb398833  gdb/sparc64-sol2-tdep.c
-d0510e31af94f81f06db2bb9d0cb5be2  gdb/amd64-nat.c
-cba65c71222559c0819db00985661102  gdb/ppc-ravenscar-thread.c
-c665909c43f17653b7186c217bee3cb0  gdb/symfile.c
-9b5205e80bb8f812e8cd4023106b0d50  gdb/auxv.c
-d708ae2d885a81d7ca978ff291cff325  gdb/bfin-linux-tdep.c
-797f7c2405babaaad99a548ef764ccd2  gdb/m2-lang.h
-a015dd4eb4793c96d17704322c990add  gdb/s390-linux-tdep.c
-cb27251c9978c14d43d0c1cb6c5464ee  gdb/auto-load.c
-f7368e208d952a2e304fcd48bccc733f  gdb/interps.h
-74ac577981c6d463d371d92f2d839e95  gdb/arm-linux-nat.c
-b7fe83638686142934519943569718a0  gdb/sh-tdep.c
-98c80398760caae07a468993a0fa2983  gdb/linux-tdep.c
-a87a0d4a187b299c9b104aff0c046acb  gdb/proc-flags.c
+af2f0181f2b6288a18527a2ec751ac29  gdb/python/py-value.c
+93cbfe92593641635273805115120494  gdb/python/py-type.c
+f185cafcd4d24b700a743cf45f10f002  gdb/python/py-evtregistry.c
+c77cc70f3747590e6b0528fdce0811f6  gdb/python/py-utils.c
+a5a6de0cbd223d258b3cbc990897bbb5  gdb/python/py-linetable.c
+25965e75d146f9c33e7bb45254754509  gdb/python/lib/gdb/prompt.py
+bc0b67bcddb9772178be38d7ad77ed95  gdb/python/lib/gdb/FrameDecorator.py
+76272fb7cc96c8290d754394559269fa  gdb/python/lib/gdb/command/type_printers.py
+3acb3be1d4eb66164f26beb122abb937  gdb/python/lib/gdb/command/prompt.py
+b68307c79ea7fbfd4dd39653799c7128  gdb/python/lib/gdb/command/explore.py
+03d92d847e9acebff86f93bc900d08be  gdb/python/lib/gdb/command/pretty_printers.py
+b93b1d26036000c98a392c417b22726c  gdb/python/lib/gdb/command/frame_filters.py
+0cc0e39588d2acc4677ed6b8bf61ec5c  gdb/python/lib/gdb/command/xmethods.py
+ba2cb2fee1e73d65135811046402f734  gdb/python/lib/gdb/command/__init__.py
+5c5fb904615fd73c8f982e3c38f4813b  gdb/python/lib/gdb/xmethod.py
+1501ae1965a543ef50f95d4d24b7c2b9  gdb/python/lib/gdb/FrameIterator.py
+9354c6070f7d46c5c0554408ad1cb981  gdb/python/lib/gdb/frames.py
+ce5f5c3404b577e684de2f550735260e  gdb/python/lib/gdb/types.py
+39e2a870088078381de2443bc1ed99d6  gdb/python/lib/gdb/__init__.py
+2276cf78f34c3fb48845554ec011e3ed  gdb/python/lib/gdb/printer/bound_registers.py
+4c7f88cc6f8d34f35bd76cf869b4a2fa  gdb/python/lib/gdb/printer/__init__.py
+71453cda948c762fa36fd673d70724b9  gdb/python/lib/gdb/function/caller_is.py
+48cfc29fc0f7ed269d8412f06b43af9d  gdb/python/lib/gdb/function/__init__.py
+c06b57b1bc52d4071b158cce9c4d6d84  gdb/python/lib/gdb/function/strfns.py
+67bb0fcde968652b5df57bd1f69e99d6  gdb/python/lib/gdb/printing.py
+760cf22186bb1ea5d748a27442f1daac  gdb/python/python.c
+690b61161bbe9d7678cedc6c4c83b4b9  gdb/python/py-inferior.c
+459ad8e2be3dd7311d2510811ceb5c18  gdb/python/py-symbol.c
+be45ac04057fb126de4afdf75e48eead  gdb/python/py-block.c
+5357196fb99c71ad607a8e11f59bb0e7  gdb/python/py-events.h
+274c8c8b43207f4ed1f9d3ea98e9b9a4  gdb/python/py-function.c
+b43d7033a6df70bea0827f82c7d27284  gdb/python/py-framefilter.c
+90b06fc16584906b77e71899875ae399  gdb/python/py-gdb-readline.c
+6a6184d9cc708d979459a4a20128ae0e  gdb/python/py-stopevent.h
+5dc469e51f59ed5fd3f494b45dce13b3  gdb/python/py-event.c
+de859ec16579a6841a62708f067c723f  gdb/python/py-symtab.c
+e5d6acdd18f7c3d056df892314844920  gdb/python/py-stopevent.c
+48e873eda7426ee59d5b915126b69b8d  gdb/python/python.h
+eb4469b654ce0aee7c5ca521f1cf333d  gdb/python/py-signalevent.c
+a74371cb67750394b7567c199a5aa87e  gdb/python/py-breakpoint.c
+f442e91130be300a0c02ead823052dd5  gdb/python/py-newobjfileevent.c
+5183845640bf63bb33cec5b71515a82d  gdb/python/py-param.c
+46031e10b03f21722afaa7a195c7cee8  gdb/python/py-varobj.c
+927b53fafac3b884064a04ff35b95856  gdb/python/py-lazy-string.c
+88e6522523e7a8adb243ab8e4d032dea  gdb/python/py-exitedevent.c
+f557d1af0842d81a076f5265a566f925  gdb/python/py-progspace.c
+f47bbcf0019e96b621c1e5157116c48f  gdb/python/py-bpevent.c
+18234eeeab436a1b4f75401477f3cf9b  gdb/python/py-arch.c
+8b58652e8b0100b08a9b38746c58dc6e  gdb/python/py-infevents.c
+c9122f5f8fee0d665f4e06e3995f82ff  gdb/python/py-auto-load.c
+1858399eace6cad19cbd4da1ea52fe7a  gdb/python/py-threadevent.c
+0bbd6fed59b979685ebe4cd1b040bb3b  gdb/python/py-finishbreakpoint.c
+3fd85f9e81466a4c32fd351da67d7c34  gdb/python/py-prettyprint.c
+29df85b78a9bdee6ba67d51db4c3538a  gdb/python/py-evts.c
+1d0176bedd197698b246dc9b2f436002  gdb/target.h
+97c937c0cdd4e140b3b5b8b8b239a10f  gdb/obsd-nat.h
+d6b3833f598e3f0a84aebdfbf32a2ea8  gdb/frame-base.c
+58962f1e9a83873e9f8ab0d449e1c65e  gdb/fork-child.c
+0f3ab322bfd153f4303f667323487db0  gdb/spu-multiarch.c
+47989454eddcd0470790712307d47ca8  gdb/observer.c
+3d0a40abec62c905315c610a1f53d492  gdb/ax-general.c
+cefc955e3648ed3e16e8636d18fe01ec  gdb/record.c
+927d87e3698eb5030b76dd63567a5df0  gdb/ppc64-tdep.c
+b140924f302460c58ebf7a177d15ace0  gdb/m68klinux-nat.c
+618d8e7823d485a6efa1f4af8f0a7cf2  gdb/iq2000-tdep.c
+38dee62ccc0f2b4763b9e7636861fd50  gdb/ser-base.c
+abf995203f2c3c7dede8fd2f5d254525  gdb/version.in
+a8d8854bf856b98332256bb96b38d858  gdb/linux-record.c
+cc1acd769ea7271fec38ee4788737ad9  gdb/sparc64-sol2-tdep.c
+4e5a2f9ad7d2ff12e0b1f04a9c2c188e  gdb/amd64-nat.c
+76531c5dfdc41bb233880c163fa14db5  gdb/ppc-ravenscar-thread.c
+882ce50499e889e532204264a27f4a7c  gdb/symfile.c
+6f3c6b23272f15650268798d4746125a  gdb/auxv.c
+6d80739bf7dd2f5c2bf9c60636f6b2ee  gdb/bfin-linux-tdep.c
+893f920a6857cb5291388021fb372832  gdb/m2-lang.h
+3f8f9128d0233dc18572e85883df4b43  gdb/s390-linux-tdep.c
+17c4cf5db4449a4057cc311158ebef2f  gdb/auto-load.c
+2035ea8c2da384f196e17db43c1a1ea0  gdb/interps.h
+f9fbe327bd6689afc2850a9368de34ab  gdb/arm-linux-nat.c
+c71f8b82e80dd51ca3063c99f5367a04  gdb/sh-tdep.c
+6638a0ac87e9c15c507cb4aca19e8d7e  gdb/linux-tdep.c
+39598920b654e5288aafa7bd0cce50d0  gdb/proc-flags.c
 7d27ea1c3906ad523c4b6904064e0ef8  gdb/copying.c
-7e838a6ca3f1e30da8b5233fa8b9f189  gdb/xtensa-config.c
-6cea7d3d5c14f5a8748b773a113327fa  gdb/go32-nat.c
-2de4103bc4ca453afae7927d2151595f  gdb/ppcfbsd-nat.c
-e80167d4a3018fd2e4d1974c6fc88c2f  gdb/inline-frame.h
-8fdeb80135c22deefaae2021fbcd38ff  gdb/nat/linux-waitpid.h
-be1f6818c9db6cab2015462ad5b72840  gdb/nat/linux-nat.h
-a44e64e97607bd2db1ca96d095bcdfd0  gdb/nat/linux-waitpid.c
-b2907ba4fd2c65dbc51985ce4a5e24d6  gdb/dsrec.c
-d736b69e538410d7f046342a77e67024  gdb/go-valprint.c
-504e55a3dc54bd8b5f2dd5dbdda9a32b  gdb/dwarf2loc.c
-0eb5117387eba2943ee608ecb14ec06c  gdb/tracepoint.h
-c46c7a835fd295c061769355ffe2599e  gdb/gnu-v3-abi.c
-2e6b4456329c85431c3ed671e92634db  gdb/extension.h
-ad4e77ee001293f487f889d50d1c03c4  gdb/reverse.c
-c4132007b3a5f0e4fb3db71a381a6053  gdb/i386obsd-tdep.c
-77ad5653c088254a39b91a263c4a1e3c  gdb/dictionary.h
-f95b3ab0bc6d5468f31c13e20db9b0ba  gdb/sol-thread.c
-c6c0ba11a1265d880bb50f9a5e40ae28  gdb/xtensa-linux-tdep.c
-1a1dcc6f1199ad2d6100813a8ea289f4  gdb/configure.tgt
-ed3460c657770a83837a39f914a3c38b  gdb/solib-aix.h
-aed0a6ddbf0f4da35f3f9a6f2c8e9fa5  gdb/event-loop.h
-445b784de26b81d1db3e6ae7b9b1e66c  gdb/ax.h
-01e4b5e3ca646e9cc12d376f4d1c4cba  gdb/trad-frame.c
-05636194b61ce8ed2de21692665e0dd0  gdb/remote-fileio.c
-6390b95bb235fe72153fa85cd43557b1  gdb/complaints.c
-1593302cbc5866e07fd3b9d67d04d43a  gdb/f-typeprint.c
-08eea4bc193f611cbf8dc2af62f1de53  gdb/interps.c
-6e018b3534824d770ed2b246a1e12eeb  gdb/skip.c
-ad5122467b01218724f9c3298534d235  gdb/gdb-dlfcn.h
-e6d9d892be2b5c9950ce88a416d2b191  gdb/ser-unix.h
-220e6797e6546248261bcb65fc065e1e  gdb/utils.c
-f12133843a900b12cd573efba9db8fa0  gdb/microblaze-rom.c
+44caf3739ab1e73825a64f7f07f95fad  gdb/xtensa-config.c
+dea983db4ff36484af6ddcfd3edfe228  gdb/go32-nat.c
+96db5f3d2056d4a3a6acfbe480ce5077  gdb/ppcfbsd-nat.c
+fd89864cd40e82e38159fe3ad6045b21  gdb/inline-frame.h
+87e62d8e44ed7100fe7943a91806179d  gdb/nat/linux-ptrace.h
+0936bceea98a1254eabe4428b52495fb  gdb/nat/linux-waitpid.h
+2740410d5f15ee52ae7e6e59e91c3b81  gdb/nat/linux-ptrace.c
+35dea2eaca77dfeb3b2512c366ed065f  gdb/nat/gdb_thread_db.h
+4388ea55be0c9f2b4102d22089fd9d87  gdb/nat/linux-osdata.h
+d60a54fbdfa129e9bca6a9f893d16563  gdb/nat/mips-linux-watch.c
+8fecfdb6ca2b3f42838a7ffb794dbd71  gdb/nat/x86-cpuid.h
+87e5eaf54ba07d737f883ba396a5ccf8  gdb/nat/linux-osdata.c
+8a7c49ccb6c2ad9eff13f353be0a7801  gdb/nat/linux-procfs.h
+3fe5aad707b22a94b6dd384ab77fd7b6  gdb/nat/linux-nat.h
+5fa3b003ca5aa9fe60d784e71c72e6f2  gdb/nat/linux-btrace.c
+669b39680313d2b003d1478b9f530a5e  gdb/nat/x86-dregs.h
+389c27dfddcf79e8bef9084b21213484  gdb/nat/linux-procfs.c
+7c634adb1aa24083300683122bd42808  gdb/nat/x86-gcc-cpuid.h
+4b84e5a576abd405b38fc5ef3998ee9a  gdb/nat/mips-linux-watch.h
+adae21661830cc755ff5274534e762d4  gdb/nat/glibc_thread_db.h
+fe4143f3ce547c7ca0ef5c4972db2be8  gdb/nat/x86-dregs.c
+246584efd5a64e365b15d08ec028584a  gdb/nat/linux-btrace.h
+7f96493e385a602effd492459e9d90e8  gdb/nat/linux-waitpid.c
+6d6af0cb7ab4fd37314aa8af76ae26dc  gdb/dsrec.c
+9c609b5097f68ac06f991a9dc487090e  gdb/go-valprint.c
+d85ee9981f740184585d800596071caa  gdb/dwarf2loc.c
+e336b2fe9efb3c7cb0327eeba00535ac  gdb/tracepoint.h
+43f2c7dc717f4dcf85e64827a51f443e  gdb/gnu-v3-abi.c
+c09e21356bd4f9251847da4f1ae99011  gdb/extension.h
+32eb990ce68b982a014489482656b08d  gdb/reverse.c
+9ec0feb32242c0b49837e51e11337346  gdb/i386obsd-tdep.c
+9f2c0941b62ad06168b475f94456758f  gdb/dictionary.h
+df1eafa13b10c63f78e69fc7443e0a5e  gdb/x86-linux-nat.h
+c5fa7b9b264b03e417343f27cd49eb77  gdb/sol-thread.c
+aa0ea76db0f9efc6a6884668f9500cc7  gdb/xtensa-linux-tdep.c
+3170d8681020d338e156e653d030e527  gdb/configure.tgt
+803e8c2dad315f05d967a6b8fc399e95  gdb/solib-aix.h
+93c02f27994d9b9f2c27c0d08bc21cfe  gdb/event-loop.h
+443a36e2661a6b6191e7f25d9c17d3f6  gdb/ax.h
+c664628332f6813765b34dc545abd906  gdb/trad-frame.c
+4f7ecbc012f974ec788416160f07fd84  gdb/remote-fileio.c
+a68e5bece596134843d4497b4315d1ae  gdb/complaints.c
+932b5c929950e51283466da55b89df6f  gdb/f-typeprint.c
+e34721ebe6f9aa0def67750d0648775a  gdb/interps.c
+1ff7c57794307ef850c5a9bee5560034  gdb/skip.c
+1b374a8198c2d7fd6dbfdf2f5b43d1ed  gdb/mips-sde-tdep.c
+3e2614670486b95024e13a51aeb3a62d  gdb/gdb-dlfcn.h
+158f4a37725e844c44e17951e0b4abb6  gdb/ser-unix.h
+20e2e56c92567d03563d963c658607c5  gdb/utils.c
+3e90d5e4fd589a95ee4d7d2efbc70626  gdb/microblaze-rom.c
 90e56dea65beb67443d6c83cbc5fed7f  gdb/ChangeLog-1997
-634cca11dd6291955c3db334b0c5fe4a  gdb/trad-frame.h
-45c92dc6c6887cd86af0a2692f53522a  gdb/arm-tdep.c
-a323ac9cc39592c00c85035525b006b7  gdb/cris-tdep.c
-615dc3ffdd06c9562515f45c1d9e4e8b  gdb/ppcobsd-nat.c
-fee6468aae32e089ca2ed7febdb1fe99  gdb/dictionary.c
-0100017792fa3527ca8e2ea35767c6e0  gdb/cli/cli-dump.c
-acf03cf3dc9a9f30dd40e6557bffc414  gdb/cli/cli-interp.c
-9aa4453fecf3ead4021924c3ab3e8088  gdb/cli/cli-script.h
-3963b9404d4fdb99a0f9a5369b741580  gdb/cli/cli-cmds.h
-408e4ab47e41f7251518842694025bf4  gdb/cli/cli-setshow.h
-f339e93063ce2f398cf3752d26d68b20  gdb/cli/cli-setshow.c
-6ad2059a64bf06f4ad56e18255f537f9  gdb/cli/cli-decode.c
-a8efee70763273b8ef28da77634f5160  gdb/cli/cli-cmds.c
-2e1e1271099ead99b9011fcbb623399f  gdb/cli/cli-utils.h
-3205f8021817ec22c13b60be41744e36  gdb/cli/cli-script.c
-a7ee1e5ae575ad34580b2d182d5495ac  gdb/cli/cli-logging.c
-1d576cd336c63ab0339dcea9572224b5  gdb/cli/cli-decode.h
-db7be3f923d9b28041943245e821c7f6  gdb/cli/cli-utils.c
-ba4a18574ffa9eb84334db2dd6522793  gdb/m88k-tdep.c
-40b1cdeb91c275e2bdd14bd91d92762b  gdb/copyright.py
-f9a31fb29520e5901a4d688e73d9d50b  gdb/cp-namespace.c
-50c8e5376f3821b55b67e1c5e5d966d5  gdb/ia64-hpux-nat.c
-2bec4a96d4d1c055a27f4004a53532ea  gdb/hppa-hpux-tdep.c
+6ddec7f5a989e30a032930279fe6f5fa  gdb/trad-frame.h
+d972d81ee8ea330006980ce2845596c0  gdb/arm-tdep.c
+3fb59e193531aa93034091864b5a1d37  gdb/cris-tdep.c
+730c0856f058bfe87da8c11fdf698bae  gdb/ppcobsd-nat.c
+1871ad373787ba83681a71e64e3987e9  gdb/dictionary.c
+7cc16bf05210a464bce8c355f54cdf97  gdb/cli/cli-dump.c
+9d42a3e4dffff5a1dc81e5bcedb0b14e  gdb/cli/cli-interp.c
+db83e9c4c146bb2582ef55127208eeaa  gdb/cli/cli-script.h
+178faf8ddde631acc0aa28718d088c30  gdb/cli/cli-cmds.h
+bba1991ab885cad504c10bc6134b8c4c  gdb/cli/cli-setshow.h
+5c54d7698a3f8656fe5ebcf761cb0ce6  gdb/cli/cli-setshow.c
+1da002c1e4e2a950ed1643c3e4e9c985  gdb/cli/cli-decode.c
+f26c8f8523a589b10c82cb3d498c45d0  gdb/cli/cli-cmds.c
+16b58a408026368193fb69fd8eed6fd6  gdb/cli/cli-utils.h
+45546baf519a3c004192bd811661f6b7  gdb/cli/cli-script.c
+3079ab1fdd29bbf737ad4a7f638b64aa  gdb/cli/cli-logging.c
+d3d05f1a769ef6a6bca7ce5748460462  gdb/cli/cli-decode.h
+e9510d0892cb9fbe6a0e6156627626e9  gdb/cli/cli-utils.c
+07919c78242d907b1baa0a763452c82d  gdb/m88k-tdep.c
+9ec14dfb295fa25665b02a44ffc61c8a  gdb/copyright.py
+58fa0df26948af2a97b1b5ae10038902  gdb/cp-namespace.c
+5c9fe39e08fd1b93f736fd3427a670d8  gdb/ia64-hpux-nat.c
+507a33c8c33500a222f1326e84c1851f  gdb/hppa-hpux-tdep.c
 21b85dc2ed09d1125c8ab4fbdb043c7a  gdb/notify.defs
-9356f65824b2b67a24e0af415a8de7d1  gdb/bsd-uthread.h
-b21ca32e9f472f518feb84fc559a25a8  gdb/inferior.h
-1b6d4859f3e90a508b3f8d4ac1a3ae4a  gdb/reggroups.h
-e27e2c458ab75f93330441e885986275  gdb/sparc64obsd-nat.c
+0a3d88347ad599d51e05d8b5c4bacb38  gdb/bsd-uthread.h
+3e40a6a76a3ca2d32ec01628bbe52939  gdb/inferior.h
+fed9291652ccb5d854476543a3a0efb7  gdb/reggroups.h
+68160ff29dee25c234a05a5ecc7c4233  gdb/sparc64obsd-nat.c
 1bbe8a3e1cdd9840472d5546f85e6b84  gdb/copying.awk
-91fb58e03007f95c58ec7a3f95b9befb  gdb/valprint.h
-0252ff4d68fdaae66d88ec21f5178631  gdb/ravenscar-thread.h
-34ad1d6039840e2ed14d34841620b0ff  gdb/objfiles.h
-126c34950c06ae8570cd6839e0c78676  gdb/reply_mig_hack.awk
-122dde013c3a509db300cff4a8b646f3  gdb/nto-tdep.h
+19557e853c5aad83c6a6b6de2179e05f  gdb/valprint.h
+7f1ef35081accbee4ac668a10541bf6a  gdb/ravenscar-thread.h
+e3ff53fef158429adc2c96014df353e4  gdb/objfiles.h
+7bd6a59809bf11c11dd8b7ca70c0a8b6  gdb/reply_mig_hack.awk
+55c905a01e5946f64db9d0421d09f330  gdb/nto-tdep.h
 24096aca3294cab3717506c2c69a7272  gdb/msg_reply.defs
 51d2fa6ce8618d5c87150c7c576f1f6d  gdb/ChangeLog-1992
-c8923a078f6531cbdd72d6d98a132d31  gdb/dfp.c
-c8d225744816c1af8c010846b70f5f53  gdb/inf-loop.c
-9aaf3932853da9af4a47baecbfdb2f73  gdb/ia64-tdep.c
-ce9bb42fb64ba80238b385c0810eba31  gdb/bfd-target.c
-cb1b35c0cdc5c349df2fe9c4c1aec1cd  gdb/ada-tasks.c
-2aa9fe440b64e5fbeed9ee1d4782178d  gdb/mips-irix-tdep.c
-03bb6538a6bc5a5d5cc3ce6763ec995b  gdb/ser-tcp.h
-50ec9dc60a4ba3235259b98e74902221  gdb/i386nbsd-tdep.c
-39158303c9ffa0a26e37656c5f383a5d  gdb/dec-thread.c
-f52b73ae9013d6a4ad79420cf6156821  gdb/ui-file.h
-625c860aa8543ca3b7a5eef0f43191df  gdb/user-regs.h
+36d57df142ac7e3881c08180719e61de  gdb/dfp.c
+b62c549ba6387152ba20c14307d24bda  gdb/inf-loop.c
+4f679a7139bce3c7f614839ce149da18  gdb/ia64-tdep.c
+f4e5fba2e24377744223d8a38095e9e7  gdb/bfd-target.c
+995600bffae478d603b139bfcc796f3d  gdb/ada-tasks.c
+fb7275697634f50659638ed9d450ea21  gdb/ser-tcp.h
+5f3f7f351e94ef3e98b8a69136170b13  gdb/i386nbsd-tdep.c
+0018924ecfaff1180ce7f7ae591f36bc  gdb/ui-file.h
+558deaffbd3865bb86b926fa70939ce5  gdb/user-regs.h
 f98668e6b62ba2b17a25ebb7e9961fc1  gdb/PROBLEMS
-cacac0f4df490f3d0ffbde61495ced65  gdb/config.in
-213327bb1b13beaf9bdfd482e3b8b8f8  gdb/configure.ac
-ea70d216e42f194b910eb441f3fa5b72  gdb/amd64-sol2-tdep.c
-2f09f7d5fe3a985163106b5232af8f7f  gdb/vax-tdep.c
-e28fadac14c74104e19f990e84a77ef1  gdb/sparc-sol2-nat.c
-fa4174c76fe9609eba67fa233bfee93f  gdb/linespec.h
+78f99691c1ca970a41d62972cde74860  gdb/config.in
+8edf1d769f37f4a7750779dbb91baeeb  gdb/configure.ac
+05cd9a9bab662b87d71bf65416dad203  gdb/amd64-sol2-tdep.c
+2fecfae7bfbd339afd0a57d6d7406820  gdb/vax-tdep.c
+996868fc568af118fe9bfaa52c492c52  gdb/sparc-sol2-nat.c
+54e85bbaf4bca83d9aaef2f886157986  gdb/linespec.h
 a1de39c51ce42e7aedebeace0f7e8723  gdb/README
-b89249df7f1a73b126ce8a6b7395716b  gdb/fbsd-nat.h
-31c44a18f6e4761728a73470212a6db7  gdb/inferior.c
-baef3c64463f0556c6692b93d1194ed0  gdb/mips-tdep.c
-838eab76c69a4cdebc107f0831a8e845  gdb/solib-dsbt.c
-72bc46bd28b8a6c77b16460d2d7728c6  gdb/minsyms.c
-bc19c0a99291a1cdcb0219fdf009e1d6  gdb/i386-darwin-tdep.c
+5da231683714eb55bcc4d1cbc6ce4e32  gdb/fbsd-nat.h
+25eeff0798d63b49a9cb4958767afbc5  gdb/inferior.c
+39692a73351f93636d150d358c55bbfa  gdb/mips-tdep.c
+cee0d35ecab391686a75de1f03a3a474  gdb/solib-dsbt.c
+988fc7c511dbc6afdbb950743e69f090  gdb/minsyms.c
+f3ff4ebb96f423721dfa8c47a310fe1f  gdb/i386-darwin-tdep.c
 7b8a5048cfb6f899a8199897f0864c8f  gdb/ChangeLog-2005
-70b6d12b072d286c199457ad5cc1b211  gdb/event-top.c
-24b94c533f3b1df00748d6032d756533  gdb/inf-ttrace.h
-f95feaa4b267f536624bab6c65922f45  gdb/mem-break.c
-857eeeac86462b6e1f5bfa9c7e27d16b  gdb/charset.c
-8ff2db1cdaedb62f15d9ba5d366654eb  gdb/sparc-nat.h
-8d97dd3a44505628d1bf025cb2007471  gdb/record-btrace.c
-a56508dda4713da58971cf4d515e6216  gdb/proc-api.c
-4305d8cc143b2eb0968b392a9e6caf1f  gdb/alphabsd-nat.c
-bd8640dd04668bbb178f2a2520cb9a4b  gdb/target-memory.c
-d7719c910b17ff58ef8bc5c8dcc69b78  gdb/syscalls/ppc-linux.xml
-9d6b6a7d237c464ede73d37bea816fa8  gdb/syscalls/arm-linux.py
-6645d506f7bf4bf7ab4b42873802fda2  gdb/syscalls/bfin-linux.xml
-394499bfb25113fe99b0170fc8f3d527  gdb/syscalls/sparc64-linux.xml
-7f077b8fa349404e89e924b74f725dc6  gdb/syscalls/s390x-linux.xml
-a9ac5e415baa9cb6254f8e74d7e45fdf  gdb/syscalls/mips-n64-linux.xml
-3c0771f70e85290830e793980f263f2b  gdb/syscalls/sparc-linux.xml
-22b42df9eff92e5390d0e546a3ceedde  gdb/syscalls/amd64-linux.xml
-b1f8e7389d0784b4f1c3e98008f0d3f4  gdb/syscalls/s390-linux.xml
-223fcd14a9a15002d88fdb05b4562f5b  gdb/syscalls/gdb-syscalls.dtd
-7f9b47ee8c15acd4b3bec0c70c305458  gdb/syscalls/arm-linux.xml
-06932f7c5cbb108df7516a69ecdbbc1d  gdb/syscalls/mips-n32-linux.xml
-956a7acb5a3302a58dcc18226f24ca6d  gdb/syscalls/mips-o32-linux.xml
-0f1374b3a4ebfee5c923628b46d9467a  gdb/syscalls/i386-linux.xml
-4ead04cb1d0b9d4943b3f93749967438  gdb/syscalls/ppc64-linux.xml
-93e2efbafc5bcc9a5990a6ba4cfaa3d3  gdb/probe.c
-80ab2523ea58f0f221feb0ab0bc8630b  gdb/osdata.h
-076f775ad2d40deda81f7be7da62ae76  gdb/posix-hdep.c
-4d1e66dc6970d8abf116f4164a8a7993  gdb/varobj.h
-70095fd2cbfd82ad8c8088b047689648  gdb/tracepoint.c
-0ab78634cf209b4716ca37c470feedbd  gdb/cris-tdep.h
-06152e9e4dc33371c59d7ab6acab3512  gdb/target-delegates.c
-99ed5415168e7ab4437fe7e24a0bb098  gdb/solib-frv.c
-2cf2e67ad5145d8419edb4cbafc42256  gdb/amd64-tdep.c
-08bc5225b2df11762b104fa6596231b3  gdb/nbsd-tdep.h
-0ead43d3d1bc40473287e094707b8052  gdb/p-lang.c
-f77a4bc4d1ad8bcb0a167be2d784ec8f  gdb/aix-thread.c
-278a38a841bdb7d807e0f069e90a9c4d  gdb/dummy-frame.h
-ce2b4ad55376b3f1699a17405f4d23e5  gdb/i386-darwin-tdep.h
-29cbdf7b5761ff02b8b8770c56fd838f  gdb/solib-ia64-hpux.h
-c208908b3f97efef77268335515a4435  gdb/target/wait.h
-a2a795286f66603da05f4c80910e0bc1  gdb/target/resume.h
-389f0b030f70fb9cdc6c755ad06a708e  gdb/target/waitstatus.h
-d3836b10f7383470cd402d4aceed7a3b  gdb/target/waitstatus.c
-901c217705c4cf93efabc303d200c839  gdb/memrange.c
-ae4f868a8186bb8676c31b94fd64731b  gdb/i386nbsd-nat.c
-8179fd2681069c596f4062bbc9ead97d  gdb/ppcfbsd-tdep.h
-9830deb21718a9f3f992acbd9b298684  gdb/windows-tdep.c
-c46d089774ce42476091b48d3ba326a4  gdb/coff-pe-read.h
-6fc08d8f674a26d164c67ada1517ca73  gdb/go-lang.c
-3d77e42a1805653bcafde7184ddf16f3  gdb/infrun.c
-6ee0139dea99882f303fdfd9f2458e66  gdb/jit-reader.in
-e1e4c8e1e81ad62199a081fac568d32d  gdb/darwin-nat-info.c
-d7306d51e8e2613b540cb11e5b140ad1  gdb/ada-typeprint.c
+9b585bacddc38d52168b69a1267d2756  gdb/event-top.c
+f56dccd6c1e3cdff7a9f0c6798cbada7  gdb/inf-ttrace.h
+986fbf2a341b6e1acfe0922b9ca014f8  gdb/mem-break.c
+380331ec2eb36a0ac59045f90310e589  gdb/charset.c
+5932b69578cdab409ead785ce1015746  gdb/sparc-nat.h
+a2ac2a6acc015db7c0f56eb102606ce0  gdb/record-btrace.c
+5db49a36b0fdbc838016f4bfc8cc4613  gdb/proc-api.c
+c493ff63a81af409f53d0f5f01985115  gdb/alphabsd-nat.c
+7f6c36e4ec8e125f888feac7e40f2c1a  gdb/target-memory.c
+0e4addb12fca03ff90295db2b6faff3a  gdb/syscalls/ppc-linux.xml
+c4e185402da1408f8f1dfbb1482ef64b  gdb/syscalls/arm-linux.py
+fa4d4a5e6548efc87b0ad233cdc75e33  gdb/syscalls/bfin-linux.xml
+5393b6af3d3db89fa96b71a84c3d975e  gdb/syscalls/sparc64-linux.xml
+32bca2f2056fa46e7734e99f679dca25  gdb/syscalls/s390x-linux.xml
+c776e934c2fc6e6d6bb3ead72e9b948c  gdb/syscalls/mips-n64-linux.xml
+740962163da23f8f225eba458ea8558d  gdb/syscalls/sparc-linux.xml
+7ea963dc034278afa1ccd73434b77db4  gdb/syscalls/amd64-linux.xml
+ae54b55213f3b7dcea7177a98e33472e  gdb/syscalls/s390-linux.xml
+f3384a9016f874f3019d8f6046d1effe  gdb/syscalls/gdb-syscalls.dtd
+82b5a6c1d6764e505c445c2d70d52e49  gdb/syscalls/arm-linux.xml
+fb10a1cfee0bacf5ee0ae2f8e16e5b4d  gdb/syscalls/mips-n32-linux.xml
+4613b88a5a27f1c3a19cf6e17400d7f1  gdb/syscalls/mips-o32-linux.xml
+c9a7d0ae9a34c2007499a6fb7e8215cb  gdb/syscalls/i386-linux.xml
+2d007e2209726af20a718da2fc9556d6  gdb/syscalls/ppc64-linux.xml
+c6bf222ab1ebd9888e28db80e142383b  gdb/probe.c
+3b5aee179935a8c233e2ccde17fc2baa  gdb/osdata.h
+5d5886a330252619563642f4b4407a4c  gdb/posix-hdep.c
+cc609ad8cb20c4bf7ab00ac44e50a212  gdb/varobj.h
+66233ecb73e6d9dfbd6a256e6dd89a35  gdb/tracepoint.c
+7e27645f119cb27c84aa755eda0b1689  gdb/cris-tdep.h
+28762c920248d66ccc55c601bcfcc1e1  gdb/target-delegates.c
+70bd95e23c1bb6eb73c82dbd44e59472  gdb/solib-frv.c
+c63479db668e434bbf07646a88cc3179  gdb/amd64-tdep.c
+7de9b8683c6369c5e155b9367e362014  gdb/nbsd-tdep.h
+cb029bf8ddbfd4dcce86204ba7a7948c  gdb/p-lang.c
+646783192d9ae3226cf46077243f8457  gdb/aix-thread.c
+acb0fe4c7add20f476b5ae7a2d92a6d3  gdb/dummy-frame.h
+2406c65908f065edda23816654cba746  gdb/i386-darwin-tdep.h
+7135f85034eb025c91ae1634b60a7530  gdb/solib-ia64-hpux.h
+877c1fc5dd4f8a042a96da909f2b506d  gdb/target/target.h
+ff0399f51859e14d5959c160e466ec94  gdb/target/wait.h
+ede0b930ccc313c8eedd0bd954096318  gdb/target/resume.h
+7fde3d3c52b72dec382ae7c30e961535  gdb/target/waitstatus.h
+ad28fd2388b0cdaf0936b45cc2e104c4  gdb/target/waitstatus.c
+dd63e64892b68ac56ffcac5c7600ef53  gdb/memrange.c
+bbc4d2132f27f80a5d4c268eceba04ff  gdb/i386nbsd-nat.c
+94b771d1a65ded1c2e1703a3854e1d3d  gdb/ppcfbsd-tdep.h
+a8af9c37d883b238667e9ff6299b6f73  gdb/windows-tdep.c
+c33585b70e4bf7a1bd2a87bfc21613f4  gdb/coff-pe-read.h
+2788d751ebfad04954c20ccdd1247d90  gdb/go-lang.c
+2e388de6be14dfacf6651bae0c6afca9  gdb/infrun.c
+3db1059c60168d68684df8f0cd8c61c0  gdb/jit-reader.in
+6aa329ad33ff5514735bb6033105b465  gdb/darwin-nat-info.c
+d34fbc70014a82bf4c5ba4813ccadd48  gdb/ada-typeprint.c
 f971d36e35ec0c3fce64b819d7891f15  gdb/ChangeLog-1993
-bb3271242c036d1315eab7624cadf05d  gdb/m68kbsd-tdep.c
-3d1a8570b799c45dcfd942b0c75de72b  gdb/regcache.c
-f6f483a051a584c96c61483e221eef86  gdb/thread.c
-1d9a3efc3e23c98c914cf1786c619a3a  gdb/gdb_buildall.sh
-2f1cf5f2dc7f34f9cc587174a8d130f6  gdb/target-descriptions.c
-3dd395c9bc8015d43b671ce6208a6024  gdb/target.c
-12e75696b0c454d9a143c9aeacd65aed  gdb/remote-sim.c
-925cacdce4d4350c61c129e6d2809704  gdb/rl78-tdep.c
-efb0b374a327065529a3a7fcbac548c8  gdb/i386-sol2-tdep.c
-4f85fe8907066910d66fdee489a54255  gdb/frame.h
-efa1b8401486cc3519f688ebd1c89c0d  gdb/spu-tdep.h
-407a314168a60a4c1108c35846c4488a  gdb/darwin-nat.c
-0a3a8685c24f2ce8249d42d3a137071e  gdb/symfile-debug.c
-bf9fbee3af4d059936ad4ec86292cba0  gdb/stack.c
-03b49500c82d972fdc94c6b4846f6751  gdb/ser-tcp.c
-feedbdab516c447111d621f8ad9189e4  gdb/vax-tdep.h
-b6f83c198a1c5e4fe35a072c1fcb1d06  gdb/hppanbsd-nat.c
-aa8d7d35ee08238b35a97b7947408255  gdb/mips-linux-tdep.h
-6c2d794f67c3e6550a3c1323c6e2d6b6  gdb/i386-cygwin-tdep.c
-83e0fc7da907dc0d2a2616743d92a9f8  gdb/mips-linux-nat.c
-82caf5193d29d5552e2d893bca80af1c  gdb/sparc64fbsd-nat.c
-afd520812ce095423aa9f55603b75fed  gdb/dink32-rom.c
-aae45b44813f0c87e0637d91bb2cb8fb  gdb/s390-linux-nat.c
-5db2dbedeed407edce20576b48e26488  gdb/linux-nat.h
-ff0e2b33ae0d9476af6053432232787a  gdb/sh-linux-tdep.c
-a1b6b250511f84d2d9cca6a256715f99  gdb/go-exp.y
-3adae45d9002fedd4935b9c5116da21f  gdb/i386gnu-tdep.c
-ac87f50315289bb0aee4cf65cf76a98b  gdb/dbxread.c
-078c3396b63a1b082ea7be00763a8afc  gdb/remote-notif.c
-8e8f37fe3a79d8365a14c5b3af82dfcd  gdb/aarch64-linux-tdep.h
-7fb0dbadb2ba296e805e16427543dc16  gdb/aarch64-linux-tdep.c
-43f0cdbfe2c8ba0a1abd5c5f132053ad  gdb/f-lang.c
-3d6d34660a9f1dcc3fcb584d99ead61e  gdb/break-catch-throw.c
-75cc275049c853099c5ac10d68e402e1  gdb/rs6000-aix-tdep.h
-811cb919d47cd172bb018d5341e0f7e1  gdb/gnu-v2-abi.c
-f8a7f226fe2e2db7285d79d1e7261c09  gdb/block.c
+f60acc11bd2bf74cd7e62fc986849720  gdb/m68kbsd-tdep.c
+43b6095c342e4c3baccaa1ff19b47166  gdb/regcache.c
+8aa001e6ffe4ac8f5f628c9ab706f5a5  gdb/thread.c
+cf67df429770d18aa84c9c486e375643  gdb/gdb_buildall.sh
+f571180ebe3426e9508ee431a3de6faf  gdb/target-descriptions.c
+140e56857d24d41c479425352cb12107  gdb/target.c
+54dd2b23e130cd7b71b6b7d2a9923a8d  gdb/remote-sim.c
+5d5d23e28c63ec14de15557ada44f0b8  gdb/rl78-tdep.c
+da0949217a3c7d31f623a9517920cf5a  gdb/i386-sol2-tdep.c
+0167ccd7bd73859358b714a105e106dc  gdb/frame.h
+f1e70b7629a655908002488f39cfc407  gdb/spu-tdep.h
+6dfcf5b88f7ebd2e3766cf24cdf80604  gdb/darwin-nat.c
+3f1859508cbb0c96c2a3f34e91abd372  gdb/symfile-debug.c
+3876b403848cdb175382b0651a80028b  gdb/stack.c
+84cc919f7d894be243cedc55e21ec96d  gdb/ser-tcp.c
+c11f3a0cb43146d6cb20080067b88423  gdb/vax-tdep.h
+6bf9816a018796e99d4c7a6087ee899b  gdb/hppanbsd-nat.c
+e51e65533784e4ee758c5ab84f66ac2d  gdb/mips-linux-tdep.h
+6c7fa5a8413b70b9ae7fd2e76bb4f0b1  gdb/i386-cygwin-tdep.c
+1bbae7e37efbac2708ca25eaeac371bc  gdb/mips-linux-nat.c
+04777c319ea7293bbc87f392ab975245  gdb/sparc64fbsd-nat.c
+eac48212762d2e0c56b5215e4bc7888a  gdb/dink32-rom.c
+e4e2a84967656167ffc48faf8422b441  gdb/s390-linux-nat.c
+77c2f603033342ad87a2d4ae3592cefe  gdb/linux-nat.h
+13f56b0f27cf5dc63c9778726b1e9bd1  gdb/sh-linux-tdep.c
+9bcc332d5e29d380a6791f58bedb9961  gdb/go-exp.y
+2ad145eee71eec67470ebfefd4ed1e99  gdb/i386gnu-tdep.c
+b9ddb6b0a849322e6fcc6d33f47c05bf  gdb/dbxread.c
+ec0dfa2c0ac3039a394e344db6baf6b7  gdb/remote-notif.c
+53e3f81358942f8a7752f84d4e3fc848  gdb/aarch64-linux-tdep.h
+8180b1d47adf9d2c3aa219c6ebd905ce  gdb/aarch64-linux-tdep.c
+0f3ecbe0c81348f393e2c37deaa6c5a9  gdb/f-lang.c
+c252a69bd7190c49ca3779cf24a9ebfe  gdb/break-catch-throw.c
+26c9b13a23dd2bef582f115b329b5151  gdb/rs6000-aix-tdep.h
+f108eb883c6fa34f26451dbfd268b987  gdb/gnu-v2-abi.c
+d70f1a5490d71f3216a576b6e1f4108e  gdb/block.c
 1cf121ff193c04698e99dcc22b70ca33  gdb/.gitignore
-cb04a455753a524995125699974fe4f1  gdb/aarch64-tdep.c
-7a7b0a6d875f1a5badebf85367b3fb24  gdb/sparc-ravenscar-thread.h
-4ac56e83f9218989f267a57c3f1db63d  gdb/m68k-tdep.h
-dbfc7b1bbda96be4e69bd508e373026f  gdb/typeprint.c
-6c8fc08f21b3a4c00db130a32a4707d9  gdb/solib-aix.c
-f1d2074912e637969d381d61a9a66303  gdb/ppc-tdep.h
-8127aba7b984464766ad3d4aa03822cc  gdb/configure.host
-a0cf86fb01862d3442fff4a30387c567  gdb/linux-thread-db.c
-cc71c4c9cacf6a63fb454ddf8f833db4  gdb/c-exp.c
-f4f8da13e2c9adf63942bee712500960  gdb/alpha-linux-nat.c
-5c3da60a444b9fd4c165ea514ce77346  gdb/sparcnbsd-tdep.c
-a104fc4e569f70d2de6c7cc77ec63bb7  gdb/ada-exp.c
-182aed1992c09559cc2448cdeee4354e  gdb/tilegx-linux-tdep.c
-12cbbb7ce798b9dee6b443c0d89b232e  gdb/sparcobsd-tdep.c
-922b17f231f356a772e6b6210841857a  gdb/environ.h
-fcb58c7901575ef8d1605b58aa2f826a  gdb/m32r-linux-nat.c
-2d046370adb4fc43d1f7ee9ad51a208f  gdb/gdb_bfd.c
-97a6c6e9590b06e581af46dc648b9cf2  gdb/NEWS
-ca71f195163df1b74c1abb5a52c61f76  gdb/ppcnbsd-tdep.h
-9379dcf4e20d61f21a31ba48e9f46f1d  gdb/dcache.c
-5d700e9202f35f13a714a592c067c148  gdb/ada-lex.l
-e0eaf56005381b28e172ec7b1ad88497  gdb/cp-support.h
-614b080e900d72ffdd6b8d3d6a919067  gdb/demangle.c
-78bd94d45dbbb193d71ddc66adcb919c  gdb/gdb_expat.h
-f4ef0912947a93062477a8f4dbe7a90c  gdb/aarch64-tdep.h
-dc492d8cc2845a25e959b623f014f983  gdb/probe.h
-30c3137651449eb1b9bae61f5e5998ed  gdb/expprint.c
-e77e80c6f2eaa210e496a4278d5df9da  gdb/sentinel-frame.h
-a913bea638e4167eedc456b4d9f2bdee  gdb/gdb-dlfcn.c
-e904668b5ecc32e240f4d7c4c834ab71  gdb/xtensa-tdep.h
-7d2310e8d8714484a169ffd674cf2479  gdb/amd64-darwin-tdep.h
-927210827f431051848032fe401899b3  gdb/gdb-code-style.el
-720c02992d6659b88f3725f062c337a9  gdb/hppa-linux-offsets.h
-1a998ee1a01dff7041f6fb77c5cd6a69  gdb/gdb_proc_service.h
-efd7c956b89e819fbbca4feae9051870  gdb/dfp.h
-5a726d50992349f3d878dbaaff765ffd  gdb/dwarf2loc.h
-dec467dfcb94a6739569d47e11af58a9  gdb/i386-nto-tdep.c
-78f0372421a7603e3d694b9d38b5cb5c  gdb/obsd-tdep.c
+c8897ad3d2e5e1928d0e21725a38fe72  gdb/aarch64-tdep.c
+a9b97c52780878de05f66e61e9195904  gdb/sparc-ravenscar-thread.h
+0672336892a008ef724e95c494f3d9f0  gdb/m68k-tdep.h
+a467aae7b77651d3fc0671b106e9ac48  gdb/typeprint.c
+c62396471ac0e41b5b86b9f918c070b3  gdb/solib-aix.c
+65d4d83424f90b61300aecad3a789d29  gdb/ppc-tdep.h
+08d61feeff6935f601f0174fff2f75e0  gdb/configure.host
+a3538b99c15297deda03355f4e4e7ad5  gdb/x86-nat.h
+d79f3e87bca0ee0dc08dc3c397bf2abe  gdb/linux-thread-db.c
+7fe38f8c53bba1046e5d57e3aba23aea  gdb/c-exp.c
+5eb62e34c5152327fdb1068166605cce  gdb/alpha-linux-nat.c
+bba1a8de5801c830182eaa2c3070a9e0  gdb/sparcnbsd-tdep.c
+5cd6e136c0122ef6fe103978aadd179e  gdb/ada-exp.c
+d932bf5f6bf08da98adc8f4beeaf32ab  gdb/tilegx-linux-tdep.c
+cbd451a00769a9c8c7c6cd52f55b861b  gdb/sparcobsd-tdep.c
+2bf7d0eb07c73f019c7d3e6a908c8524  gdb/environ.h
+b30a9321996160345deeb868fb99280e  gdb/m32r-linux-nat.c
+2d0cad5387bf3be80d7e445a4954af0a  gdb/gdb_bfd.c
+f212cb17fa15b7937127aa26a10a49e0  gdb/NEWS
+b4133d1e27b97096efb8d84ee2b7d3eb  gdb/ppcnbsd-tdep.h
+a9b65db6bf004e64ec3699d48e10521a  gdb/x86-nat.c
+367bb9fbe21d534fdf0bb25af4eadbe0  gdb/dcache.c
+d29f5b757e38ad4c10bb624d9e6f1c0b  gdb/ada-lex.l
+d8205e68d516616fb36ec1c38a939111  gdb/cp-support.h
+3cabc7f8d96e0c08d3d1958d2748ebae  gdb/demangle.c
+611b9ba8aed23da7ed4b31d36fc072a0  gdb/gdb_expat.h
+e53a5d016aed098b9a5c2615dc9b7dfe  gdb/aarch64-tdep.h
+aeeaff1a35507483e22cec78bd243577  gdb/probe.h
+17563b9344808eec0f71de1561255108  gdb/expprint.c
+f660083d324cb8e4e41c8f43e9675a7c  gdb/sentinel-frame.h
+1e82c6e9fbb2a0bc430a543031f1c1d0  gdb/gdb-dlfcn.c
+244fef9b90f850e92543bee8ca746287  gdb/xtensa-tdep.h
+1c20ee27fea0a085533576c107935db5  gdb/amd64-darwin-tdep.h
+d5152e12a790b67fe17fd13517c72520  gdb/gdb-code-style.el
+7ffb5aa21ab11b336e014dcfcd1f1866  gdb/hppa-linux-offsets.h
+a08407897aa8dceb99784d932fd4af14  gdb/gdb_proc_service.h
+43ff00e74db44539fd19d985f46e9072  gdb/dfp.h
+fd14da5b44dc57b971427fd0d77b58c3  gdb/dwarf2loc.h
+ccac9d1e2c728ef14c40f8cf300dda90  gdb/i386-nto-tdep.c
+118178492318b979246c281b9a48d433  gdb/obsd-tdep.c
 5052b57de2fd8b3515777bb814bcd394  gdb/ChangeLog-1999
-3376c244120d827411ef5f810b41558b  gdb/f-exp.y
-f6a58a546cf2d941a4d5b0bcfcaa1897  gdb/jit.h
-d668df6a9ac39f46bc54899a358197f4  gdb/psymtab.c
-5754baee2baef05b048df2d7a3d06e7f  gdb/stack.h
+1d341ca193d5770c87b2568846dc6bab  gdb/f-exp.y
+a48e88e78160f9496a3ae1fd628d4c41  gdb/jit.h
+8ac76c4a1389e02ab55f3fdf8db69234  gdb/psymtab.c
+968c14c295ff79448eca6ec86824ace8  gdb/stack.h
 da71c479b68a4d95a79d36640b93c9c3  gdb/ChangeLog-2000
-6a82942931ed807bd2407f24da802257  gdb/tic6x-linux-tdep.c
-6731d38a4a874a1e85ef3f03be145c05  gdb/gdbarch.c
-b6909daf75e3915957918fcb72257b3d  gdb/CONTRIBUTE
-0439894b8676befb42897f5b6450a472  gdb/mep-tdep.c
-ee16cbf8aa2e2d8a6312404785cb5cd8  gdb/ia64-hpux-tdep.c
-ae7a04fd146f5dd78bfa98db23d06d52  gdb/opencl-lang.c
-130ca986eac4e70b6fce1727c892b2ea  gdb/mn10300-tdep.h
-76cf70e7d849e1153c8580b9ffd6c653  gdb/tramp-frame.c
-046e66c4d128d1e1cbbf1dc7af613c53  gdb/arm-wince-tdep.c
-88e45158216571448ec6077948da6e1d  gdb/ia64-linux-nat.c
-f7f9bccdb5dff32d5676871bbe9d892d  gdb/cli-out.c
-7c25a9ad03d7395fd48cd7dd858933b2  gdb/main.c
-ed581e9e81aece9c8a628119260e73b6  gdb/acx_configure_dir.m4
-f108f77e5d3ba8416ffdb155185033b3  gdb/proc-service.c
-6df7169de25eb5f3718ae01eb55a3718  gdb/inflow.h
+d23dc2153599fd78915d8e9729038c9b  gdb/tic6x-linux-tdep.c
+8b8fcd1cd72eeb81ffb40ece45bffed1  gdb/gdbarch.c
+ac3684c4a3658e1fd2ef5be5f457ec12  gdb/CONTRIBUTE
+5e6ef714f5ea7a7118affe6518e01fc4  gdb/mep-tdep.c
+f64bf2eb94a392ee2ba81bea3cfe98e4  gdb/ia64-hpux-tdep.c
+dbc91a4ead8251c9c426059af3827bc5  gdb/opencl-lang.c
+2c13eac1e1f47811cf1bb45d41bc878e  gdb/mn10300-tdep.h
+1afbb45fada33913c32ce612190db575  gdb/tramp-frame.c
+5ef220fc411f839ca2dcd031798090c5  gdb/arm-wince-tdep.c
+ba5ba42f0dd9732f4f7d10b1d2b9a85d  gdb/target-debug.h
+a3d1e85221fa441238616a1a8702ba69  gdb/ia64-linux-nat.c
+bcec3826671d12533f878f11a653baf7  gdb/cli-out.c
+9adca3fe44edd0e10b432237eefdc391  gdb/main.c
+01584de647229e92a166ee881b50fb5d  gdb/acx_configure_dir.m4
+0456f4b203c215ff02c7046faf917760  gdb/proc-service.c
+a473bce613774d3598d8a63d27de97b8  gdb/inflow.h
 16676b9547f9a7ac95c648ec5962cbc5  gdb/ChangeLog-2010
-b55a399518286b888b6cce254f37e54a  gdb/glibc-tdep.c
-4d2460d14b0c61a65db1a16599afda1b  gdb/gdbcore.h
-62d0e035643da582518f9a8a5ae83205  gdb/inf-loop.h
-7c1e1746448fcf7a03497c8e9b8e6a65  gdb/ui-out.h
-d3ad82bf6f31e98aee0697424b4dc290  gdb/addrmap.c
-66268aa859758e8f21133ab9117ff55e  gdb/sentinel-frame.c
-f1c39c8d39b085d2480d78f50f42d3b0  gdb/score-tdep.h
-1e8799eaaa273dfcdc46f3ddcd973b83  gdb/gdb-gdb.py
-254ea7ded29ae8238b37f5dbcb90308d  gdb/coff-pe-read.c
-52dec20f221bf5c198dfd475e7baea71  gdb/bcache.c
+e337985a7c1d43319bfd544c8c58fec8  gdb/glibc-tdep.c
+15c60475d1f2e7b05bef0e1b8ff53fc9  gdb/gdbcore.h
+e52e22d0fe842582ce12207aecc0a3a0  gdb/inf-loop.h
+dbb1e658dadce3abe3a3f62c5a6e8f61  gdb/ui-out.h
+6c7c268001a9df36ee1d3aac5ceb75f2  gdb/addrmap.c
+b1c36b64e08ba85989d6c2562402f954  gdb/sentinel-frame.c
+9a486fb431dfc717386fadc87f57d2e1  gdb/score-tdep.h
+64ddd74bb4e0b898bae15e97fc2c988d  gdb/gdb-gdb.py
+f71edfcb20b0c3bfa8aedd0404e5b246  gdb/coff-pe-read.c
+c6ec3e09905740f7f6760d3d273dd4bf  gdb/bcache.c
 e82e1a53dbb63d792fc8645192a4b2cb  gdb/gdb-gdb.gdb.in
-ab8e4deec9a1e799802274e36ef5cc4d  gdb/i386-linux-tdep.h
-e329677df6b3ed4661b57b56fa39bec3  gdb/tui/tui-winsource.h
-e296cff1767d3524818722da2ba715fd  gdb/tui/tui-stack.h
-9b7c58e2f7dc984975a6f571fdaa82fd  gdb/tui/tui-disasm.h
-be261c7fd0e2b2eab742f1632ef32d11  gdb/tui/tui-command.c
-5e00e478f39179a66272acc4222708de  gdb/tui/tui-hooks.h
-1277767caaf711780e964d39ee01f300  gdb/tui/tui-hooks.c
-6a862ebec213fe2fb1c846ea98dee270  gdb/tui/tui.c
-6813ee182fe6b86e2accb98cd15f1cd4  gdb/tui/tui-disasm.c
-7a20bfee941d5b7e0dfb40801f8bcb63  gdb/tui/tui-io.h
-607dbd3326d4bd59098fa82f7fbbdb07  gdb/tui/tui-layout.h
-51d71faf5834c4d1e1d6aa5bc7728787  gdb/tui/tui-command.h
-8262c38f1c2e34df52361467212ae30c  gdb/tui/tui-stack.c
-fd1ff60627be69d25c046faba50e856f  gdb/tui/tui-source.c
-963e7268f3ead57903c65939d9913312  gdb/tui/tui-io.c
-2f78d07e3faa37e005b843625a06e1f9  gdb/tui/tui-layout.c
-31a7010d4cc14274135087fb81b837ae  gdb/tui/tui-wingeneral.h
-d926c8c1443597f86e593c1cdb58d1fa  gdb/tui/tui-interp.c
-7323e414a3d7b92259cdd1cbed44c180  gdb/tui/tui-windata.c
-89632d931709239e6c81f856a265f013  gdb/tui/tui-source.h
-cc76968593a1986b7ff83111c9809f87  gdb/tui/tui-winsource.c
-5fd6c93b8854407b9856539c87659609  gdb/tui/tui-windata.h
-a5d94a8e9b904f1b75e63a7606d03a7a  gdb/tui/tui-data.c
-a7bc82496215c9949649843d3fe92048  gdb/tui/tui-regs.h
-31dbcc04595159f5d52c20eac24973b5  gdb/tui/tui-regs.c
-f72c5f6b860fa8d839f5741c90975295  gdb/tui/tui-file.c
-f605309b9cedf462d34c8c746ae02401  gdb/tui/tui-file.h
+d4ec5734c80bcf759e288787ccf94e2c  gdb/i386-linux-tdep.h
+4259a480d77bef0ef4badc9942430d05  gdb/tui/tui-winsource.h
+b01d36d2ae67a4f9727a83f8f6936252  gdb/tui/tui-stack.h
+bd09c5481e9864eb233019724db56d2d  gdb/tui/tui-disasm.h
+10271d6a68a2c707a920c8c7b8286a5c  gdb/tui/tui-command.c
+4358ae61fcf053d4985cdf7d688973af  gdb/tui/tui-hooks.h
+d9d3e09551367796dce2a17fa0a83c00  gdb/tui/tui-hooks.c
+3ca18e956512fc1fc2d593eb92b16ea7  gdb/tui/tui.c
+9e2ac972187285592aa82c4fd045f840  gdb/tui/tui-disasm.c
+982017c72295a921a15aa81ff4c41c39  gdb/tui/tui-io.h
+a59256f94107464eb22244ac56488cd5  gdb/tui/tui-layout.h
+42572372e7df4a951513c1622b91b940  gdb/tui/tui-command.h
+a4b16b750f957df7f0461af20baf3d57  gdb/tui/tui-stack.c
+ed2f4d8bf00841dd3df0afa69b445ce1  gdb/tui/tui-source.c
+dab413be4329497525ecacf8d35a440b  gdb/tui/tui-io.c
+fbbdfe573b16a441c411cf79414d622c  gdb/tui/tui-layout.c
+d09de30673257a10d67adb2dc9b1824b  gdb/tui/tui-wingeneral.h
+b2ece8b901b20b1679c2d8ed4c36e58a  gdb/tui/tui-interp.c
+1eeb140be73efd95fc0ecf6ee62f1b0a  gdb/tui/tui-windata.c
+77ae0f7212d733e9b4a02578d2df82d7  gdb/tui/tui-source.h
+832306167e05595594adb9fba167e803  gdb/tui/tui-winsource.c
+4dc3aae622817a9a37c20369f72a575a  gdb/tui/tui-windata.h
+adfaa06efee4ded8a840bc5f80bb3eec  gdb/tui/tui-data.c
+b294f1de9bc63c28e18bbfb18a2a3d62  gdb/tui/tui-regs.h
+667170649ede1ee738b27910b112f866  gdb/tui/tui-regs.c
+70a191d9144703ba51933fc9057e64e8  gdb/tui/tui-file.c
+e4653b8164f49df138a7e01723576845  gdb/tui/tui-file.h
 0415f3bd7a379430b752618c1e8c7cd4  gdb/tui/ChangeLog-1998-2003
-77f05be8438ab5a937450013c45b3bd2  gdb/tui/tui-wingeneral.c
-cfb8fb43a605f6931bc25db5a9ec4273  gdb/tui/tui-out.c
-9439a283f552d68e1671e5e41d5dd385  gdb/tui/tui-win.c
-fd76e9b4a61cef61e9198758c7824cfc  gdb/tui/tui-data.h
-aed750304e70cda143d311680b73d212  gdb/tui/tui-win.h
-c3382a65940f00e9f2ca77fecfe7c326  gdb/tui/tui.h
-a5ee02326368fffb5e7f2a35fee551a8  gdb/target-dcache.h
-40fc9bffd09363b07e8f9e29e25500f8  gdb/ui-file.c
-f03add876fe775abe74cfae34f64e302  gdb/m2-exp.c
-6dddf6ab11114e3c132d7c1600d000ee  gdb/ser-base.h
-e12b41c9d40160d08d555788f1fed39b  gdb/m68klinux-tdep.c
-ce00ba73a0c3c55878b862bb1efec416  gdb/record-full.c
-74748861c60b501a80f9d5c908f20f25  gdb/amd64obsd-tdep.c
-9189b09adace9d1abb4902c13445cece  gdb/nto-tdep.c
-a6ebe1725ec66dd61a02bbe5eb013291  gdb/m68hc11-tdep.c
-553f06fc5d785552e9a935c93ea3c208  gdb/amd64bsd-nat.h
-eb731588f9bf99e44fb889576eb6028e  gdb/registry.c
-a6c7aeba09eac627d9f96b99e6776888  gdb/d-valprint.c
-5e7d5cf8d9735e1cecac7697d667085b  gdb/mips64obsd-nat.c
-4c3b484cf0ab69542112b20650fd4b24  gdb/ada-lang.h
-43b3184655b4c06a428b960a9c4441d1  gdb/mt-tdep.c
-d96e90bf4c9b1258f69cabbe11edd704  gdb/gnu-nat.c
+1d19005da7b560bbbf08c980e51c6187  gdb/tui/tui-wingeneral.c
+4a4afe46d85b71f8fa6d34132a7ceeac  gdb/tui/tui-out.c
+ba002050d53fa8fcede495e70a5a7650  gdb/tui/tui-win.c
+507558c245fbd4eaeedef4f8710aee2f  gdb/tui/tui-data.h
+a00af0b3d564766feac256be243cd13e  gdb/tui/tui-win.h
+078dd665f1197041beb32618339bdb35  gdb/tui/tui.h
+22ba10c6afb57aea83a17eaa71a26c31  gdb/target-dcache.h
+ebe83df475f29d37d71caebe88afd02a  gdb/ui-file.c
+0a3d08dbbd509031dda62edb60fa80dc  gdb/m2-exp.c
+f26480ff3d3b4d0fe83e4d506118041e  gdb/ser-base.h
+0a6ad90f043e2a363ab3f37db461177f  gdb/m68klinux-tdep.c
+f3773ee1e83953e6807e4c5a6fc2960a  gdb/record-full.c
+fb1e5537f8b9259cc1c333e796130871  gdb/amd64obsd-tdep.c
+ffbaadd45ee134d88179da684bd72d42  gdb/nto-tdep.c
+e7690a980a30289adeb0e74e4cfaa401  gdb/m68hc11-tdep.c
+44c865f4087d65bd6174600fa94abc33  gdb/amd64bsd-nat.h
+20eb87f317bee9c06fac035861ced6dc  gdb/registry.c
+edfcc0217ebe7de265d3ac521d314685  gdb/d-valprint.c
+ff8fd2bc1b041bf152a27b2d472096d2  gdb/mips64obsd-nat.c
+4007ed293dd773351cd3a7addd78e5dc  gdb/ada-lang.h
+574585e95f677c868aac91938a90901a  gdb/mt-tdep.c
+30bea4b59de0130931035a46fb8c7f08  gdb/gnu-nat.c
 31c83b4bb1c5c9c771fe8e1ec3f1e9ba  gdb/msg.defs
-edceff44466597093b87e673466ad620  gdb/arm-linux-tdep.h
-cae6f2c0164d4a37901073959c490263  gdb/bsd-uthread.c
-f050a01c9e0cedf369340ee234f6d3f8  gdb/i386fbsd-tdep.c
-bbf613cf4c07ef33996aecc60a1ccbec  gdb/ppcnbsd-tdep.c
-840d88e59cb14e367794512bd79ddba4  gdb/inf-ptrace.h
-175f61e49ac357b862e0353b13f0ce0e  gdb/findvar.c
-459d1a11c11e40f5520f2b7f993acc8b  gdb/alpha-tdep.h
-f1ffb57a09b59fb2d732ae14e29580ee  gdb/ser-pipe.c
-199f0df31f516222f0a63d350ac76403  gdb/p-valprint.c
-e04bc6fad23ece1d982cc77964dbb676  gdb/macrocmd.c
-5f4fa527d1729e46ed7c13a8a83e0004  gdb/armnbsd-nat.c
-ebdd1e84b5c270e8c1448b76ed0a5b39  gdb/arch-utils.c
-a92a9b3dcd8e89a2fdd554ddfeadf335  gdb/cp-valprint.c
-ca568d3af7d6ae508a2c0179ede9bbcf  gdb/gdb.h
-66060ebf32b75aeeccb9c06ce599d418  gdb/amd64fbsd-nat.c
-4839ff770961d60d33c11168be0e7cf3  gdb/dwarf2read.c
-051b1faf4d7f0f154e87598a95161939  gdb/cleanups.h
-4dd23bbb332ff3d6458dac9cec1f0897  gdb/amd64-windows-tdep.c
+b87fb73d09b5d822793a8e28c76430b0  gdb/arm-linux-tdep.h
+8f011fe475a332ca6f9a738fb89d66ff  gdb/bsd-uthread.c
+1fb674d00aa3cd3ba3dac04b249c2667  gdb/i386fbsd-tdep.c
+e853f4b2e88473df7e2dc85dc6ba1f6e  gdb/ppcnbsd-tdep.c
+4ed5a5a8a7bd142fcae970db1f1295f4  gdb/inf-ptrace.h
+bd5ecadf5d3a6683a836aca3b8327a36  gdb/findvar.c
+e84f95699595cfc479964f2c3786ea40  gdb/alpha-tdep.h
+71e043ffcc8e5d681a164c782e306297  gdb/ser-pipe.c
+595449ae7326cc107d137db45fcd5705  gdb/p-valprint.c
+187de8596bc56643948abdd82f150a69  gdb/macrocmd.c
+f3dd7931c957110e01b8216e37d8456c  gdb/armnbsd-nat.c
+01525eefcd2b225ded1188c886e8a3fc  gdb/arch-utils.c
+420f08b084f6fedd40909294840ea324  gdb/cp-valprint.c
+75048731d244d7e05b05a9451fdfb842  gdb/gdb.h
+c7c1f809ddeba0bc097c96cd0f5e21bb  gdb/amd64fbsd-nat.c
+79602e2435549d3d3a0e341ec9d81d7b  gdb/dwarf2read.c
+eb891b3302af5938339826cf5d63cc84  gdb/amd64-windows-tdep.c
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/cygmon.exp
-fa9ec353aaf2a8f6ebaf916205906049  gdb/testsuite/config/default.exp
-aea4c2f847db3589b4ee43508e46c8ce  gdb/testsuite/config/i960.exp
-97cef6321fed8a064ba51fba19914b9c  gdb/testsuite/config/sid.exp
-6ec517c93d8c05e22ab90b5f6f296e69  gdb/testsuite/config/m32r.exp
-885aac93aff7a195f3ba16c5463c4d4f  gdb/testsuite/config/vxworks29k.exp
-d42016162ef540ce1457b226e7f47ab8  gdb/testsuite/config/slite.exp
-aea4c2f847db3589b4ee43508e46c8ce  gdb/testsuite/config/vr4300.exp
+f9d2a2bbf2999a13c9beea756d293942  gdb/testsuite/config/default.exp
+3c29aff928e9e4af6351f46127838242  gdb/testsuite/config/i960.exp
+84ce00af3b7702a7a8f6fd8cfd1dcd0d  gdb/testsuite/config/sid.exp
+9ceb152915ec05bca989a4d07897e763  gdb/testsuite/config/m32r.exp
+abf831cbae5749de842e00bee49b2060  gdb/testsuite/config/slite.exp
+3c29aff928e9e4af6351f46127838242  gdb/testsuite/config/vr4300.exp
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/bfin.exp
-aea4c2f847db3589b4ee43508e46c8ce  gdb/testsuite/config/rom68k.exp
-4c8f12fb438846c11216faa26bbec785  gdb/testsuite/config/mips.exp
-922bad8d208af2f74d3cd3c60d44b3d4  gdb/testsuite/config/sim.exp
+3c29aff928e9e4af6351f46127838242  gdb/testsuite/config/rom68k.exp
+2c6f632239b703f8242a3c23961023f0  gdb/testsuite/config/mips.exp
+45e93dc9222d28f9e3ab4cbb70ab8672  gdb/testsuite/config/sim.exp
 50f6a13c0fd1efa871f0b7c0dc273e0d  gdb/testsuite/config/m32r-stub.exp
-cb55f2d1d9b20669a907d23c7a5b9f12  gdb/testsuite/config/vxworks.exp
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/arm-ice.exp
-557e1605ebcddc65f5221db0163ffab8  gdb/testsuite/config/extended-gdbserver.exp
+cbbfdbc932d64c9776403f98c182f078  gdb/testsuite/config/extended-gdbserver.exp
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/i386-bozo.exp
-2a0412ae52507ac06ecd799c12c0b63c  gdb/testsuite/config/mn10300-eval.exp
-5dc8e0b08117070c26940836ab6eb4f1  gdb/testsuite/config/gdbserver.exp
-aea4c2f847db3589b4ee43508e46c8ce  gdb/testsuite/config/vr5000.exp
+4b598f675d0803f8dd3221948e94db19  gdb/testsuite/config/mn10300-eval.exp
+56a241afbcc09e4eb1982d1ef032ebd6  gdb/testsuite/config/gdbserver.exp
+3c29aff928e9e4af6351f46127838242  gdb/testsuite/config/vr5000.exp
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/h8300.exp
-aea4c2f847db3589b4ee43508e46c8ce  gdb/testsuite/config/sh.exp
-ee15586673947bf884c11a70c47b4f30  gdb/testsuite/config/cfdbug.exp
-1d341d8125dec75c9b657b2424276d7e  gdb/testsuite/config/d10v.exp
-4c8f12fb438846c11216faa26bbec785  gdb/testsuite/config/mips-idt.exp
-c8dc1f415839da7e44b2fb0677f0d6fc  gdb/testsuite/config/vx.exp
-aea4c2f847db3589b4ee43508e46c8ce  gdb/testsuite/config/proelf.exp
-2a0412ae52507ac06ecd799c12c0b63c  gdb/testsuite/config/dve.exp
-15afeb7ad69108ffe0fb70c65013a226  gdb/testsuite/config/monitor.exp
-1e63d632aebde719ad143f95a1613d44  gdb/testsuite/config/unix.exp
-7b49bced37fab60637b211e80f7851cb  gdb/testsuite/Makefile.in
-2a7ca1bd536138efb9f7d19059a7744f  gdb/testsuite/gdb.cell/data.exp
-44a62d199412e663882eb7062946fdca  gdb/testsuite/gdb.cell/ea-cache.exp
-4cc68ddfd6e6bcba9088b5340065ddce  gdb/testsuite/gdb.cell/ptype.exp
+3c29aff928e9e4af6351f46127838242  gdb/testsuite/config/sh.exp
+e1b200e67310ac084150cd03ba4cdbf7  gdb/testsuite/config/cfdbug.exp
+6fccba7a231615fbb7f16ce44fde0930  gdb/testsuite/config/d10v.exp
+2c6f632239b703f8242a3c23961023f0  gdb/testsuite/config/mips-idt.exp
+3c29aff928e9e4af6351f46127838242  gdb/testsuite/config/proelf.exp
+4b598f675d0803f8dd3221948e94db19  gdb/testsuite/config/dve.exp
+e48bc7d4e4fd711fea54fbf16d57ab26  gdb/testsuite/config/monitor.exp
+21e5a36e3a4b717d2541cf9b3521de67  gdb/testsuite/config/unix.exp
+37cb8205b5909f5f085b3a69ae2eddcf  gdb/testsuite/gdb.compile/compile.exp
+47d5bb179a9aa71b0a055cda6305669e  gdb/testsuite/gdb.compile/Makefile.in
+c816639ab7b436d49062d171b9e2829d  gdb/testsuite/gdb.compile/compile-setjmp.c
+9208e8f47be2b1c20b4d37613d8232ce  gdb/testsuite/gdb.compile/compile.c
+4364d421e9cbed27b92951d9eb04b059  gdb/testsuite/gdb.compile/compile-tls.exp
+81b5197c5b8a61a1e2e8c43e0932face  gdb/testsuite/gdb.compile/compile-mod.c
+4dea41fe92df20234325fa9859e9a0d5  gdb/testsuite/gdb.compile/compile-ops.c
+27fe9104566641723cf93dc2958a08d3  gdb/testsuite/gdb.compile/compile-shlib.c
+4d9039d4205a57048418fd5770390069  gdb/testsuite/gdb.compile/compile-constvar.c
+ee2857ce9702dc8528ce9192b7a936e2  gdb/testsuite/gdb.compile/Makefile
+edb721e2ec9f07474b1796f568c29e38  gdb/testsuite/gdb.compile/compile-tls.c
+17fe4bb844c96107d6e31484774d8ec8  gdb/testsuite/gdb.compile/compile-setjmp.exp
+2b499cefba1a96e02a1e785364730e97  gdb/testsuite/gdb.compile/compile-setjmp-mod.c
+843dde6eb20afd77a42869ea1c4eed28  gdb/testsuite/gdb.compile/compile-nodebug.c
+62073238e896ea63f98038c5231f8aae  gdb/testsuite/gdb.compile/compile-constvar.S
+b9c82080d60afee3631fb03f58e59937  gdb/testsuite/gdb.compile/compile-ops.exp
+39e8cd61f1bf700eb7a98d97a648c6ea  gdb/testsuite/Makefile.in
+f3119ae35b66a4c668e6f2e2d9462cf7  gdb/testsuite/gdb.cell/data.exp
+d948d2819b08182c508c6ace48edd9eb  gdb/testsuite/gdb.cell/ea-cache.exp
+d23865e735526e7cb0168012770f88ae  gdb/testsuite/gdb.cell/ptype.exp
 304f6672e767651dd42398535fa495a9  gdb/testsuite/gdb.cell/Makefile.in
-574063e29f0773cfe16b623c2a59103d  gdb/testsuite/gdb.cell/fork-spu.c
-0a706a49c79baed2f0657f8dbd7830eb  gdb/testsuite/gdb.cell/solib.exp
-01412cf7e55d4c26f0a535854b166ed9  gdb/testsuite/gdb.cell/bt.exp
-26f7195a830d83718896d75038b8305a  gdb/testsuite/gdb.cell/arch.exp
-9f30b5ef00cfb74aa9ffcab57d824cdf  gdb/testsuite/gdb.cell/data-spu.c
-4abff9080789c54c4280c1ea8af67328  gdb/testsuite/gdb.cell/break.c
-5f613f1e73b18c5045c54b317bccf170  gdb/testsuite/gdb.cell/size-spu.c
-de336631d53037942036d1911897ba42  gdb/testsuite/gdb.cell/ea-cache-spu.c
-47b048ca70e5c16447e67791b378ed6b  gdb/testsuite/gdb.cell/ea-standalone.exp
-72b2662265f90afb0e3ced4f82cd17ac  gdb/testsuite/gdb.cell/ea-cache.c
-2ff8989869b49f53d1ccfd07036853f0  gdb/testsuite/gdb.cell/fork.c
-fd7debc0ea00f20623693ac7d7cdc214  gdb/testsuite/gdb.cell/mem-access-spu.c
-2c9633c1bdf3cc6a6fe6e322513bdc41  gdb/testsuite/gdb.cell/registers.exp
-a1fa7f6cd5f4fbfac9f85bc93c8c6481  gdb/testsuite/gdb.cell/break-spu.c
-c2bb7137d1ce9afad3f4c157131fb149  gdb/testsuite/gdb.cell/mem-access.exp
-f72b5507c995c4cbd2ea00d26332d561  gdb/testsuite/gdb.cell/dwarfaddr.exp
-821e659d0e8d968d07b0f7805220cdc0  gdb/testsuite/gdb.cell/data.c
-0a84d0ab4cad5efb5c9312b011fa57da  gdb/testsuite/gdb.cell/bt-spu.c
-b428d83ea1abb308034d9455d3c81d9f  gdb/testsuite/gdb.cell/bt2-spu.c
-aa85a9068952c43e21f3422d9faaa606  gdb/testsuite/gdb.cell/gcore.exp
-09a50a529fa259629ca43254eef3dad1  gdb/testsuite/gdb.cell/dwarfaddr.S
-0e0ecc9bad8f644249e30b9a07ebc6ad  gdb/testsuite/gdb.cell/fork.exp
-48c78f49352b7a3b54e918f44e2f986a  gdb/testsuite/gdb.cell/solib-symbol.exp
-98c0f979df8fc20f763df8436c521d30  gdb/testsuite/gdb.cell/break.exp
-b059e2689fb2c799d8e8641a6cbb772c  gdb/testsuite/gdb.cell/coremaker.c
-7d86a94f844e8739bad47ad0b541db94  gdb/testsuite/gdb.cell/mem-access.c
-6eca26879f6b9514e63cdaf6aab033f4  gdb/testsuite/gdb.cell/ea-test.exp
-452b52c9e30250cd4168863ec67acf5b  gdb/testsuite/gdb.cell/sizeof.exp
-cf19a9fa44158ab597835fce622ca7ad  gdb/testsuite/gdb.cell/ea-test.c
-4fd00a55961432f539cd5f3e9507717d  gdb/testsuite/gdb.cell/core.exp
-0d086f2ae2ad39d91e4e53183ba9b620  gdb/testsuite/gdb.cell/ea-standalone.c
-b3112a694d0cb4907d328eb08682c060  gdb/testsuite/gdb.cell/f-regs.exp
-d694a5c4e70726eadc4b5142a0bf06f7  gdb/testsuite/gdb.cell/bt.c
-09b80da368203559eb4acc2d3eb62a8a  gdb/testsuite/gdb.cell/coremaker-spu.c
-f9b9935c79c9a81c0530e3ef42d79a13  gdb/testsuite/gdb.cell/size.c
-2fede4dbcfc19483c9443ea549af9cd4  gdb/testsuite/gdb.perf/skip-prologue.c
+5add7c6ac6b510d00b575b3ca34a223e  gdb/testsuite/gdb.cell/fork-spu.c
+a79da834308515a07c5b8e09c6ffd56f  gdb/testsuite/gdb.cell/solib.exp
+4439d4107a0982cc4e9d534802797bc8  gdb/testsuite/gdb.cell/bt.exp
+acdd9cbd75941a7e7214da89621d7bbb  gdb/testsuite/gdb.cell/arch.exp
+2ebbd5ade7a812ff088aeadcec67d68b  gdb/testsuite/gdb.cell/data-spu.c
+1135e294d7699120e18485e404f47d59  gdb/testsuite/gdb.cell/break.c
+9a01623e05e36bf0514e75a3035242fa  gdb/testsuite/gdb.cell/size-spu.c
+340486f2ee21326ccc4029ba89d04d37  gdb/testsuite/gdb.cell/ea-cache-spu.c
+c98054ef7b1457aee2b5c3a1f1b1c8e1  gdb/testsuite/gdb.cell/ea-standalone.exp
+d393736e203e01a39a149fd8a58a1d2e  gdb/testsuite/gdb.cell/ea-cache.c
+b3037b82b6c54d8f62e176b70d25d836  gdb/testsuite/gdb.cell/fork.c
+5d1f53967d0d9526a6adf4af0322f3bc  gdb/testsuite/gdb.cell/mem-access-spu.c
+689fc5767e8a5942176b6587f688a624  gdb/testsuite/gdb.cell/registers.exp
+9b3a6767c452c102a518311169e0886b  gdb/testsuite/gdb.cell/break-spu.c
+256dc06921e338467893c53f1ff52dd9  gdb/testsuite/gdb.cell/mem-access.exp
+389ccc368735deac7c42b143b65da0c4  gdb/testsuite/gdb.cell/dwarfaddr.exp
+66de07057bd1165dbf52ffdcc369a616  gdb/testsuite/gdb.cell/data.c
+14e7d4fb9dc68b3d65977ae9de68aa2b  gdb/testsuite/gdb.cell/bt-spu.c
+2105de2a08291d24ea4a712bf26151a0  gdb/testsuite/gdb.cell/bt2-spu.c
+765c6942bd9ef6ae4e6b9376346df54b  gdb/testsuite/gdb.cell/gcore.exp
+fcb2c7e30d3421a9cae0108560c2ce26  gdb/testsuite/gdb.cell/dwarfaddr.S
+0847bc88bda96d356fcf0c5281c0363d  gdb/testsuite/gdb.cell/fork.exp
+8c061ae56b02fb03f3c4251379307145  gdb/testsuite/gdb.cell/solib-symbol.exp
+0689d024dda6295d6bf1b2c536a6cb94  gdb/testsuite/gdb.cell/break.exp
+9f5b9648e76b243f2be12f591def69e1  gdb/testsuite/gdb.cell/coremaker.c
+b24bc6c6340aaf33bacc30d5cef9d3c7  gdb/testsuite/gdb.cell/mem-access.c
+762094378c9086042f0d3551159e49e6  gdb/testsuite/gdb.cell/ea-test.exp
+f17a568984198c111a54f5007c353dd9  gdb/testsuite/gdb.cell/sizeof.exp
+d3ddd95d2b0372138108646b9de19ac1  gdb/testsuite/gdb.cell/ea-test.c
+2b306605ba4a005d9d461244c9c8dfdb  gdb/testsuite/gdb.cell/core.exp
+4b6ed000a65163050bb181f12d7262b7  gdb/testsuite/gdb.cell/ea-standalone.c
+71bf87f14fc8c6849151918dc9fe22a5  gdb/testsuite/gdb.cell/f-regs.exp
+3ce96f17f09585c33d3a22065dc02726  gdb/testsuite/gdb.cell/bt.c
+5399e02d45a5ccc8f932ac4475f2b105  gdb/testsuite/gdb.cell/coremaker-spu.c
+082608d33dc49db2461c7614dda1b9d7  gdb/testsuite/gdb.cell/size.c
+cf59e9f34e6c2be0391ce51f0ca7fc9b  gdb/testsuite/gdb.perf/skip-prologue.c
 c6b885496f0c53ec04d007b244625453  gdb/testsuite/gdb.perf/Makefile.in
-36757f3d7afd9759077cec37c89f7eac  gdb/testsuite/gdb.perf/single-step.c
-594694c0a955b7e46f9be32693255e8d  gdb/testsuite/gdb.perf/solib.exp
-17f006ddb2becf8c2221cc690d78e0ed  gdb/testsuite/gdb.perf/solib.c
-4b410ba7e31cb5e1ef1fc0e2562bf823  gdb/testsuite/gdb.perf/solib.py
-1343db0a84f9d4e38b9226c928233596  gdb/testsuite/gdb.perf/disassemble.py
-d024b713e741ed6e042d20ba76c27a63  gdb/testsuite/gdb.perf/disassemble.exp
+32545fdfccc6e1b5c409463cf0ac7704  gdb/testsuite/gdb.perf/single-step.c
+dff23e88129ba51207b5c83b308ba520  gdb/testsuite/gdb.perf/solib.exp
+cc21590574b79eb68d1046fec2de0d8e  gdb/testsuite/gdb.perf/solib.c
+6f370ff0cc22898183560c7a0870b3c7  gdb/testsuite/gdb.perf/solib.py
+d2232c5230dbee5478f674d3a39ff9fc  gdb/testsuite/gdb.perf/disassemble.py
+b70720cc4b2028c8dee5645c6d5ed038  gdb/testsuite/gdb.perf/disassemble.exp
 4b0a21b66e4d25ebf6f53b63de1b3670  gdb/testsuite/gdb.perf/Makefile
-3c79845c580afeeb91c121b35fd599c4  gdb/testsuite/gdb.perf/lib/perftest/reporter.py
-e3d85a73761da09545122af799a46f91  gdb/testsuite/gdb.perf/lib/perftest/testresult.py
-be568b14abe46c7b093aba23b7470222  gdb/testsuite/gdb.perf/lib/perftest/measure.py
-64169364fcd7393a32212c2965a62bd0  gdb/testsuite/gdb.perf/lib/perftest/__init__.py
-7739fd18933b5e7a37cd73daebc3edf5  gdb/testsuite/gdb.perf/lib/perftest/perftest.py
-6ef95a0c62f9efce80a018930eef7868  gdb/testsuite/gdb.perf/skip-prologue.exp
-8b2e9e13119a38fc7a3504da74745296  gdb/testsuite/gdb.perf/backtrace.c
-bef62037fba5c26a7b7f2c60e9a62cfa  gdb/testsuite/gdb.perf/single-step.exp
-b5dfb393405c8cf489d5da01ca993b00  gdb/testsuite/gdb.perf/single-step.py
-8c84a238712439e56379a2a83afcad8a  gdb/testsuite/gdb.perf/skip-prologue.py
-cc6c38ee2baccf39b058c88abe8f1ffd  gdb/testsuite/gdb.perf/backtrace.py
-a7e467473fc8d2195087ded3b96e90c9  gdb/testsuite/gdb.perf/backtrace.exp
+13e2c39b7945b1979cd278fbba35baa9  gdb/testsuite/gdb.perf/lib/perftest/reporter.py
+4715800451a72f05722f7731e89fb322  gdb/testsuite/gdb.perf/lib/perftest/testresult.py
+149bc0c8847d73ea3abd15d50711a2dd  gdb/testsuite/gdb.perf/lib/perftest/measure.py
+b2b2ae97e5f0afe0c6003a91851a860e  gdb/testsuite/gdb.perf/lib/perftest/__init__.py
+3bb03cea34c815e0fd14f09572fd865c  gdb/testsuite/gdb.perf/lib/perftest/perftest.py
+e00801b8b679d4caa6a9cf5fcb9c0bac  gdb/testsuite/gdb.perf/skip-prologue.exp
+2427a50cb3700a4410b39369f3088fa7  gdb/testsuite/gdb.perf/backtrace.c
+24ae7e2e1d006a137903c1b6a779081d  gdb/testsuite/gdb.perf/single-step.exp
+31a66ed13032102f0310311adfb6be44  gdb/testsuite/gdb.perf/single-step.py
+c197ea286521185427f0eecc3195e545  gdb/testsuite/gdb.perf/skip-prologue.py
+46ed67e1926c90beafa9f536ea651140  gdb/testsuite/gdb.perf/backtrace.py
+e729953b9dcc380f7f3429f7f86a4030  gdb/testsuite/gdb.perf/backtrace.exp
 c48b4f1a627f6ce32439bb7c3a072299  gdb/testsuite/gdb.dlang/Makefile.in
-056e2c0903924d4e7bc1e45033834c56  gdb/testsuite/gdb.dlang/demangle.exp
-eff12983db46e1cf27f8fd41ef809d37  gdb/testsuite/gdb.dlang/primitive-types.exp
-1dafbc0d34e421c05efd1a74cad23ca5  gdb/testsuite/gdb.cp/breakpoint.exp
-03306ff911b336cedc491ba4aa168214  gdb/testsuite/gdb.cp/anon-struct.cc
-d51f85e2b1a003b20bf3efa13fd65a50  gdb/testsuite/gdb.cp/pr-574.cc
-a4320ffab278c8dd6cbc28630f69947a  gdb/testsuite/gdb.cp/typeid.cc
+dc1dcdb1f690ad9bc498becf1894d73a  gdb/testsuite/gdb.dlang/demangle.exp
+a461de83968a21f392e109b744aa1123  gdb/testsuite/gdb.dlang/expression.exp
+a5de505e2283e80d0d9b80e2fc81ff70  gdb/testsuite/gdb.dlang/primitive-types.exp
+30290075c2b903b0953a02e25b84d069  gdb/testsuite/gdb.cp/breakpoint.exp
+911063523c82e67c620f462534d191f8  gdb/testsuite/gdb.cp/anon-struct.cc
+896d494536d0fc7dc006f87a32326540  gdb/testsuite/gdb.cp/pr-574.cc
+7424ab6304bd5a9b33bcf56766da933a  gdb/testsuite/gdb.cp/typeid.cc
 29f6b52a4e94c187aaf660090d99bd4f  gdb/testsuite/gdb.cp/nsnested.cc
-b61a031333ff6ac2df8778757be9886d  gdb/testsuite/gdb.cp/m-static.exp
-fba76ea8ff5954b8beb55f80f34b0c74  gdb/testsuite/gdb.cp/cttiadd1.cc
-6134bcc48f52bcbfac79f96d726fac49  gdb/testsuite/gdb.cp/overload-const.exp
-44576b9ef8c942c22671a2380a00328e  gdb/testsuite/gdb.cp/derivation.exp
-e30b5790b265764ecc472d61c74ab194  gdb/testsuite/gdb.cp/breakpoint.cc
-bcd9c940d44010cfaed3080cd011573a  gdb/testsuite/gdb.cp/ctti.exp
-63b5f491512c4887524addb7d2ec2475  gdb/testsuite/gdb.cp/bs15503.cc
-5c8488c7eb222c86fb89d730375e9d03  gdb/testsuite/gdb.cp/filename.exp
-638e452bbbb288451170688eba91b658  gdb/testsuite/gdb.cp/pr9067.exp
-715b3ef333b56a526159c03f0373a677  gdb/testsuite/gdb.cp/meth-typedefs.cc
-05ad1ae372b25d1e5b77d291818c216c  gdb/testsuite/gdb.cp/mb-inline1.cc
+c79c47f3929bdd871f0447a11313c65c  gdb/testsuite/gdb.cp/m-static.exp
+0b3cf17fb968831cabbed20084df09b6  gdb/testsuite/gdb.cp/cttiadd1.cc
+f0e5001573c96cd87fe5b984fde3e0ec  gdb/testsuite/gdb.cp/overload-const.exp
+cc759705173f5aa2683f1d5c6f49a149  gdb/testsuite/gdb.cp/derivation.exp
+b7a893bc31323638da4b0307eb37c67e  gdb/testsuite/gdb.cp/breakpoint.cc
+f9e327b152e7f5e6d49af50353b28c73  gdb/testsuite/gdb.cp/pr17132.exp
+a8f4864c9db282368673d03f29e7336d  gdb/testsuite/gdb.cp/ctti.exp
+71a08013d95dd8e3a7d61c87daaff74a  gdb/testsuite/gdb.cp/bs15503.cc
+2377315607c78dd0f6902158527e6e4f  gdb/testsuite/gdb.cp/filename.exp
+99e8e2676180af51aa9221c099846a71  gdb/testsuite/gdb.cp/pr9067.exp
+403b4811dbe56db1f6ff86fb1b31ec6d  gdb/testsuite/gdb.cp/meth-typedefs.cc
+d905b2fecd722cade987485b34c05fe4  gdb/testsuite/gdb.cp/mb-inline1.cc
 1a12a56eee1d93bdead22c3ca9edd58e  gdb/testsuite/gdb.cp/nsimport.cc
-68080fc487093f40062f918531b8bae8  gdb/testsuite/gdb.cp/pr12028.exp
+ecc1332707243aefd4deb8a0805f3684  gdb/testsuite/gdb.cp/pr12028.exp
 acf77e069c97da3215c2aefdfdbcdd1f  gdb/testsuite/gdb.cp/Makefile.in
-96dbfb50109e7f19000c5ec60c78672b  gdb/testsuite/gdb.cp/ovldbreak.exp
-433754fb1d0ec6e07141bfddbadba14a  gdb/testsuite/gdb.cp/ref-types.cc
-dd5ce5a0f4bea1ee99277df7673b5600  gdb/testsuite/gdb.cp/namespace.exp
-8cd6f9b9ebb24b7aa1d2a4d18a206f1b  gdb/testsuite/gdb.cp/nsrecurs.exp
-ac8252de75ba52346301df4343c34da7  gdb/testsuite/gdb.cp/pass-by-ref.cc
-51ce9b7ea43a555afc6c9c91d7dde755  gdb/testsuite/gdb.cp/virtbase.exp
-bac12c11983fabd23a5efe7423632b6a  gdb/testsuite/gdb.cp/psymtab-parameter.exp
-b987f38563fa6c00c5e54607db0e68df  gdb/testsuite/gdb.cp/rtti.h
-83665e3e9d132142e4a6dccf3cb0202a  gdb/testsuite/gdb.cp/annota3.exp
+9e34a758e397e1167c2965e0b110060d  gdb/testsuite/gdb.cp/ovldbreak.exp
+cad22125bd9edb6e15772c6042cf9099  gdb/testsuite/gdb.cp/chained-calls.cc
+04ecfa53c10035432cf36bb4bd4bdde1  gdb/testsuite/gdb.cp/ref-types.cc
+064857393f87a325a3089f2b4051c6ac  gdb/testsuite/gdb.cp/namespace.exp
+d50311e39142116dcd0cbbf62a972909  gdb/testsuite/gdb.cp/nsrecurs.exp
+525ec74dfc2d7b855d6ecde4efe6bf68  gdb/testsuite/gdb.cp/pass-by-ref.cc
+0809f2648fb4c58570b7f48ce2d00a04  gdb/testsuite/gdb.cp/virtbase.exp
+e39853dceeec7115ac6bcfa4b33e30b7  gdb/testsuite/gdb.cp/psymtab-parameter.exp
+8cb0fecf218e5a2b7347c572a1c1758d  gdb/testsuite/gdb.cp/rtti.h
+bf4f7c822383883a549cc18a3cb20c4e  gdb/testsuite/gdb.cp/annota3.exp
 f8a8426862d13e8ddff1c0104abd34cc  gdb/testsuite/gdb.cp/casts.cc
-b3fe3ca5c893fc8670ca7736b36d2e0c  gdb/testsuite/gdb.cp/impl-this.exp
-490383034d19ee7cdca11cb9da797a28  gdb/testsuite/gdb.cp/fpointer.exp
-495a9fe13963bdb0bad6c4f6b2d83e80  gdb/testsuite/gdb.cp/bs15503.exp
-b53a19c98ec2756fb44a78ea0a0204e6  gdb/testsuite/gdb.cp/psmang1.cc
-53054e4df2f5520a620c053533c83460  gdb/testsuite/gdb.cp/psmang.exp
-755f023d9d3257abe13bc8368b0293ae  gdb/testsuite/gdb.cp/try_catch.cc
+b5512b572468a736fff5bf69d7d18724  gdb/testsuite/gdb.cp/impl-this.exp
+a1a666d9fbbee4395c5dc73c4e1a07a8  gdb/testsuite/gdb.cp/fpointer.exp
+1e04b35b36ba1195e3b5e1ba2e892df1  gdb/testsuite/gdb.cp/bs15503.exp
+95d2044d07c38072b45d3df2244f2d3a  gdb/testsuite/gdb.cp/psmang1.cc
+8fec7db5a01ec0a3f8efe6c6fe0c1674  gdb/testsuite/gdb.cp/psmang.exp
+3bece67526827d49cf51c3ed387c0491  gdb/testsuite/gdb.cp/try_catch.cc
 3392b4be32a4c703a94740abf585b834  gdb/testsuite/gdb.cp/cplusfuncs.cc
-612d36751ad9cbbc3b19be9001fc7322  gdb/testsuite/gdb.cp/cplabel.exp
-cabe14d6ff6763b63ce0925dbf521af6  gdb/testsuite/gdb.cp/call-c-1.c
-6ac6c4cd23c42187457cc4f3e5c6bc3b  gdb/testsuite/gdb.cp/typedef-operator.exp
+5d5393b4c9967161abe27fabb17cc8b6  gdb/testsuite/gdb.cp/cplabel.exp
+66d796b0ea41b22deb6b966ee2bcce5a  gdb/testsuite/gdb.cp/call-c-1.c
+2e8d18ebcdc7bb5b4a247b5b42516bf1  gdb/testsuite/gdb.cp/typedef-operator.exp
 4195d3718293b642b8ead0ca9e2e1448  gdb/testsuite/gdb.cp/nsusing.cc
-8bc6106176a952eb789443e22c433197  gdb/testsuite/gdb.cp/demangle.exp
+3b9be7c6dc1147e6be6938fd18f47478  gdb/testsuite/gdb.cp/demangle.exp
 d6ed226431adc34de1f41f2c2bc2168a  gdb/testsuite/gdb.cp/overload.cc
-02d14cf0ce04f82913ac4abb29b4bbf6  gdb/testsuite/gdb.cp/destrprint.exp
-03936298e5a3f3172aeb3768a2e253d0  gdb/testsuite/gdb.cp/ref-params.exp
-166243a31eb55613db6a14c7799784ed  gdb/testsuite/gdb.cp/derivation2.cc
+1879e6e5a1352c4c8f9a89da8879c205  gdb/testsuite/gdb.cp/destrprint.exp
+d1b72b24db775d7c6012edb3fcd7d78e  gdb/testsuite/gdb.cp/ref-params.exp
+26637ca8d48fc43d0df52689b2afc9cb  gdb/testsuite/gdb.cp/pr17132.cc
+1851342711c5c1c589534b6a6c727c0d  gdb/testsuite/gdb.cp/derivation2.cc
 06a4a6cbdd4b8c453468647978aed84c  gdb/testsuite/gdb.cp/pr10728-y.cc
-303d7c9a7ba4ef87b488c4f9925e379e  gdb/testsuite/gdb.cp/namespace-enum.exp
-6b32b4f92151509a6d08039b1bdcedb2  gdb/testsuite/gdb.cp/using-crash.cc
-621c0c2c14d7368c0537f831be87c6d8  gdb/testsuite/gdb.cp/abstract-origin.exp
-1696d70c251f3ad54e07756850714e04  gdb/testsuite/gdb.cp/virtfunc2.cc
-e8fbe5d4442b43f06e5d669d21538525  gdb/testsuite/gdb.cp/cmpd-minsyms.cc
+1f0150db492988a2d0f3be6c8e7052b0  gdb/testsuite/gdb.cp/namespace-enum.exp
+818bf4258298cf79437591e36ef0897b  gdb/testsuite/gdb.cp/using-crash.cc
+787e15169c0fd33474d1663e4a35ba1a  gdb/testsuite/gdb.cp/abstract-origin.exp
+a4c6ec7b87a594dbe5cf8d42cf337a66  gdb/testsuite/gdb.cp/virtfunc2.cc
+86d746a13f8f29f8880e472561c92b4b  gdb/testsuite/gdb.cp/cmpd-minsyms.cc
 e8df1818d38c994b33de7dbd3283948f  gdb/testsuite/gdb.cp/oranking.cc
-0a6738fc3b993386c0f8a59f9ae890b8  gdb/testsuite/gdb.cp/bool.exp
-67eef0d08741a810b7ace3a3e4c76583  gdb/testsuite/gdb.cp/maint.exp
-f8166097b63053501bb7cdbc00c43ad5  gdb/testsuite/gdb.cp/pr-1023.exp
-30af8fb38696925e8e172cb016b37510  gdb/testsuite/gdb.cp/no-dmgl-verbose.exp
-b51bcf9548bef307f581f91dcfe7caa1  gdb/testsuite/gdb.cp/virtfunc2.exp
-2aacdeb0114dd72e6480cf7621440344  gdb/testsuite/gdb.cp/ptype-flags.cc
-51c166e731111b64c0b5d7f05ea29409  gdb/testsuite/gdb.cp/ovsrch1.cc
-9f11e8034d3501b0b00eee56f8a4fbbb  gdb/testsuite/gdb.cp/temargs.exp
-b320bce19122b9c0fa62b3027e578095  gdb/testsuite/gdb.cp/converts.exp
-1b17b7baa7dab2ff2990fc633f4c2605  gdb/testsuite/gdb.cp/expand-psymtabs-cxx.cc
-94bc08b178e303845be45c6255ab9cf2  gdb/testsuite/gdb.cp/enum-class.cc
-10c5054caa53c224251a57f43a611acc  gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp
-8614a3c899fe10cfc177fd236f134522  gdb/testsuite/gdb.cp/paren-type.cc
+dd7c36459dec93d17bcd23d0c6e88c1b  gdb/testsuite/gdb.cp/bool.exp
+530de07d2e16cc7843a82f12e8077d7e  gdb/testsuite/gdb.cp/maint.exp
+8508bcdebd4ac6d988eda50d4eb5d550  gdb/testsuite/gdb.cp/pr-1023.exp
+1c2ac5e0f27c3d7499ef7d9dc726dae2  gdb/testsuite/gdb.cp/no-dmgl-verbose.exp
+1ff27ad35cacbbbf05907c26082c1898  gdb/testsuite/gdb.cp/virtfunc2.exp
+0ce1176cac0911184ab5865bc0923db9  gdb/testsuite/gdb.cp/ptype-flags.cc
+fa01fb255d76f263d7aba5d4e9b97112  gdb/testsuite/gdb.cp/ovsrch1.cc
+d73736e98b5c9aa1785a1e43879948c3  gdb/testsuite/gdb.cp/temargs.exp
+afe7a91e1b867e2bd875b5e2aa3e6750  gdb/testsuite/gdb.cp/converts.exp
+c996bd9b8c3e189cd7d66b15a8031aff  gdb/testsuite/gdb.cp/expand-psymtabs-cxx.cc
+e370972bdcb9ebfb35f039c33d8c7a31  gdb/testsuite/gdb.cp/enum-class.cc
+a8fd14e6ca1a73dade62d4348591dcbe  gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp
+a7b92b9a82dc6ac92740bff79b3553c9  gdb/testsuite/gdb.cp/paren-type.cc
 53d65c3b49d4d39b7a1c8ff6d68c8a65  gdb/testsuite/gdb.cp/method.cc
-0ccc0b6a45a694f7fc46d0f6d09ed357  gdb/testsuite/gdb.cp/ovsrch4.cc
-4c420a14442ff889b2783974ac2f3e9e  gdb/testsuite/gdb.cp/vla-cxx.cc
-ae03e97494780489163e4692e6fa5416  gdb/testsuite/gdb.cp/cpsizeof.exp
-b8af123b52d27c2ff4e7d2da11ccc0d4  gdb/testsuite/gdb.cp/formatted-ref.exp
+319ec3a352924b2fed7e86df2b09e359  gdb/testsuite/gdb.cp/ovsrch4.cc
+f115d9562be524e515b0d0ea1a3d3c45  gdb/testsuite/gdb.cp/vla-cxx.cc
+c02799d669c268d37ebf811d99117224  gdb/testsuite/gdb.cp/cpsizeof.exp
+874f65aba1176009c0a55114de0f9fc1  gdb/testsuite/gdb.cp/formatted-ref.exp
+72e57a53afe1184ae8eb97861e9a8b10  gdb/testsuite/gdb.cp/chained-calls.exp
 2088f98bb23167ea5e0c8b394c560519  gdb/testsuite/gdb.cp/annota3.cc
-c5acea5de8f25f7f907c27c3368977a8  gdb/testsuite/gdb.cp/nsdecl.exp
-bfc0765c0c5e7636b4439b8820e905f9  gdb/testsuite/gdb.cp/cp-relocate.cc
-8ecad189245af7cafa0141bb450330b6  gdb/testsuite/gdb.cp/bool.cc
-d6a213cb0f32009b139f803c21b65f46  gdb/testsuite/gdb.cp/pr-1210.exp
-3f1f0f7dda2ff0cd359502054beeacac  gdb/testsuite/gdb.cp/typedef-operator.cc
-acf543468023d6a9fcd77bad7829afdd  gdb/testsuite/gdb.cp/typeid.exp
-3613fe4d7e7e7c85d1ae6d836341eb9b  gdb/testsuite/gdb.cp/ovsrch3.cc
-c10633b89aa9c9c724c4468d2d2f8dcd  gdb/testsuite/gdb.cp/exceptprint.cc
-dcf057a2ae989100a03908914098cc5d  gdb/testsuite/gdb.cp/classes.cc
-bfde5d9d68606fb6d5d8026ffb4d802d  gdb/testsuite/gdb.cp/pr10728.exp
-578750557dff6d6972ac44750b7bf1a4  gdb/testsuite/gdb.cp/gdb2495.exp
-1c80e730c5b9acdfe5b57c8dfe945990  gdb/testsuite/gdb.cp/gdb2384.cc
+726c60eb9e3083866f0a3967fca0adf1  gdb/testsuite/gdb.cp/nsdecl.exp
+68806ebc87d6faeface756aa47da272b  gdb/testsuite/gdb.cp/cp-relocate.cc
+e23d5eacc4e861acf1f73743172d4a70  gdb/testsuite/gdb.cp/bool.cc
+ffdfaa06248f064c83532d38ba34160b  gdb/testsuite/gdb.cp/pr-1210.exp
+be1b62ab0d629351da77d6eabe218262  gdb/testsuite/gdb.cp/non-trivial-retval.cc
+27a14d08e7e42c278110747b2674e2e9  gdb/testsuite/gdb.cp/typedef-operator.cc
+cd3f5825b55e76a38a8f3913c1a856f0  gdb/testsuite/gdb.cp/typeid.exp
+1cc7de81440ae3041f16a374cabb7e0b  gdb/testsuite/gdb.cp/ovsrch3.cc
+14315af4042a04b665d5a46f48efc6cd  gdb/testsuite/gdb.cp/exceptprint.cc
+6677e1f2d4b6e6dc1916a3a0b171ab9c  gdb/testsuite/gdb.cp/classes.cc
+8f610a1a3d47723a62151ab996c760df  gdb/testsuite/gdb.cp/pr10728.exp
+1a024568aaa52c280d804485543a47e7  gdb/testsuite/gdb.cp/gdb2495.exp
+d1ca0f82bec43586194ab717c98a83cb  gdb/testsuite/gdb.cp/gdb2384.cc
 2073f045c78990789c6ea8e19affaf33  gdb/testsuite/gdb.cp/pr10728-x.h
-01cc6808d39436f74bf39e34d300c7a3  gdb/testsuite/gdb.cp/nsusing.exp
-2a59c7d92e0cf30f9314d075ab4f28f9  gdb/testsuite/gdb.cp/gdb2384-base.cc
-edb7e62d23ae511170d6a902858c42ae  gdb/testsuite/gdb.cp/nextoverthrow.cc
-18baec94ef33e1267350b48081132ca4  gdb/testsuite/gdb.cp/ref-params.cc
-9f399330a375a6df95b7cde85c1ffaca  gdb/testsuite/gdb.cp/cmpd-minsyms.exp
-1e1712bc391ddbf217eb94b54767c738  gdb/testsuite/gdb.cp/re-set-overloaded.cc
-c63bca7a61c64f9988284a7b97599fdd  gdb/testsuite/gdb.cp/psmang2.cc
-e9eb66d02464fb3eac0131884bd5e177  gdb/testsuite/gdb.cp/misc.cc
-fe769c04e9a2da72cc4c79dd1619a4b1  gdb/testsuite/gdb.cp/namespace-nested-import.exp
-a7419beb1e6bba34d233879d6bd320d1  gdb/testsuite/gdb.cp/readnow-language.cc
+8a54d94eee3f3e641f99873d8f7f0285  gdb/testsuite/gdb.cp/nsusing.exp
+01cf1de4bb083566c9a32d5469621d40  gdb/testsuite/gdb.cp/gdb2384-base.cc
+bf69b6a78c410f4166752f7dd3f0780c  gdb/testsuite/gdb.cp/nextoverthrow.cc
+b3081a9063325bf6e197096a0a244049  gdb/testsuite/gdb.cp/ref-params.cc
+8206b73b812e4ace24a24b0ff15ec9af  gdb/testsuite/gdb.cp/cmpd-minsyms.exp
+593e924117ebca6af8cc4ed928536634  gdb/testsuite/gdb.cp/re-set-overloaded.cc
+d3b914f99344a6c685abdf7f6a83f02d  gdb/testsuite/gdb.cp/psmang2.cc
+3e4bef6f6c7789ec7f484619039f548a  gdb/testsuite/gdb.cp/misc.cc
+3414c9af6b4a09c374a7504e43f8e6ff  gdb/testsuite/gdb.cp/namespace-nested-import.exp
+62de8491d851e339b0dbf659f77ae232  gdb/testsuite/gdb.cp/readnow-language.cc
 df11cb1835074902da6a4d0ad539ef4a  gdb/testsuite/gdb.cp/namespace-enum.cc
-6e71d99d65ea4a0b0fc170ce6e2199ff  gdb/testsuite/gdb.cp/cplusfuncs.exp
+0797ae80e03d2c6ee9e6af17f12852a1  gdb/testsuite/gdb.cp/cplusfuncs.exp
 c098e6c182aeec69088189f8640b48e3  gdb/testsuite/gdb.cp/pr10728-x.cc
-2d821a8d6a9c4ba0e90184858fcfb883  gdb/testsuite/gdb.cp/printmethod.exp
-f4a7e129d8ef22887a6ec7c553476933  gdb/testsuite/gdb.cp/expand-sals.cc
-ba607d39fe573a2f7c6adcb02b1de161  gdb/testsuite/gdb.cp/extern-c.exp
-fc32d830bf9b90591704be77e9067c79  gdb/testsuite/gdb.cp/minsym-fallback.h
-e6c393fb279ff85de907f7189feb84a6  gdb/testsuite/gdb.cp/exception.cc
-144221e0755c63c025a4efb04c367713  gdb/testsuite/gdb.cp/mb-inline2.cc
+5c5678f338cb32effb236fc946b31722  gdb/testsuite/gdb.cp/printmethod.exp
+b6019c641ddfddf85bf6faf45f0b4a3e  gdb/testsuite/gdb.cp/expand-sals.cc
+9669cd9974cc19989641d6bfd846488b  gdb/testsuite/gdb.cp/extern-c.exp
+ae8a542c56865f160b1bcd9034fe390d  gdb/testsuite/gdb.cp/minsym-fallback.h
+1ccd5681aea84b9ee5cf689a1b160cf8  gdb/testsuite/gdb.cp/exception.cc
+a1013a7cf5747bb0c200b0b4daf5200d  gdb/testsuite/gdb.cp/mb-inline2.cc
 274142a2ca86ad72d954a56bd01200c2  gdb/testsuite/gdb.cp/nsrecurs.cc
-937e139bd5b6f53228cc22e97439fbb7  gdb/testsuite/gdb.cp/local.exp
+650de4bcc63915c1f1c0fce56b0fd07d  gdb/testsuite/gdb.cp/local.exp
 61e293cd39db4588035377667c7bedf6  gdb/testsuite/gdb.cp/koenig.cc
-f7a25cc91fa04e004ca2bde574c9de74  gdb/testsuite/gdb.cp/call-c.exp
-977057aa1f7b20319cc3330f8666275a  gdb/testsuite/gdb.cp/pass-by-ref.exp
-d0b506369fecc93c97a1978ad1118db5  gdb/testsuite/gdb.cp/namelessclass.cc
+2fb808b95eceb04bac31446943e18032  gdb/testsuite/gdb.cp/call-c.exp
+8ccc32865171414aa8750776980293c7  gdb/testsuite/gdb.cp/pass-by-ref.exp
+67bef6546a7b463124b8cb8ee2204875  gdb/testsuite/gdb.cp/namelessclass.cc
 a3c80a0b291239bc5f0921f3168bbe8e  gdb/testsuite/gdb.cp/namespace.cc
-bab57a44e50faf63c1ec80b82568d6db  gdb/testsuite/gdb.cp/pr9631.exp
-67d53f8719bdd63a1c750bbc5e3939f5  gdb/testsuite/gdb.cp/no-dmgl-verbose.cc
+c7cb8fd21b7076e134c5e1aad8bbef65  gdb/testsuite/gdb.cp/pr9631.exp
+362d33a789994b644a58e34f86f00f3d  gdb/testsuite/gdb.cp/no-dmgl-verbose.cc
 33e6d7afd7c318893a5bbe2335a57cd8  gdb/testsuite/gdb.cp/fpointer.cc
-6a19b89cc2bfe7086127af5e0b692f76  gdb/testsuite/gdb.cp/mb-templates.exp
-636776979cdf2ebe5c6dcb916144c8fc  gdb/testsuite/gdb.cp/anon-ns.cc
-46e1d3c8756fb3194ec8022fff0161ea  gdb/testsuite/gdb.cp/minsym-fallback-main.cc
-4e42f469f2f14811886c39edf3546d53  gdb/testsuite/gdb.cp/debug-expr.exp
-4d9ef9457b3c1bb1bb579b519ff0c665  gdb/testsuite/gdb.cp/pr9167.exp
+fdeeee76ef5e702959f7618bf90fa74a  gdb/testsuite/gdb.cp/mb-templates.exp
+870c68e8b9898ee42a63072cd8853a2c  gdb/testsuite/gdb.cp/anon-ns.cc
+ea9f072ee88ef8b5b69ece114971d536  gdb/testsuite/gdb.cp/minsym-fallback-main.cc
+a559e95825c54e4088dc37651417ae2f  gdb/testsuite/gdb.cp/debug-expr.exp
+628486f11b54448c2f34a6d846e40f65  gdb/testsuite/gdb.cp/pr9167.exp
 7356b291b65f3595630313cdf845d8dc  gdb/testsuite/gdb.cp/hang1.cc
-f67c59bfac8ff9c6edca9cf0870938c3  gdb/testsuite/gdb.cp/baseenum.exp
-a1250cbd5527c3200b014caf2400dad5  gdb/testsuite/gdb.cp/annota2.exp
+91f14a43eb391875c8816d706eae9e8d  gdb/testsuite/gdb.cp/baseenum.exp
+abc1fa5005b4331214cc0688ba13caa4  gdb/testsuite/gdb.cp/annota2.exp
 a8ba70a5deabf0b697ffaac54e0563a1  gdb/testsuite/gdb.cp/m-static.h
-56ad8c35aa67c4d3cf8bfcac224739e9  gdb/testsuite/gdb.cp/classes.exp
-85c2e45216ae88784caba3abdd5c587b  gdb/testsuite/gdb.cp/namespace1.cc
+3118d622d574b88be9be0df8dcdf2013  gdb/testsuite/gdb.cp/classes.exp
+0feaef5941fd4f4cef5d9f173ba852aa  gdb/testsuite/gdb.cp/namespace1.cc
 fa88dcd56730da0447f3d14fe40a5cd0  gdb/testsuite/gdb.cp/ambiguous.cc
-4f97dc6f100be90209610ed72fbe662c  gdb/testsuite/gdb.cp/paren-type.exp
-9a5e13692159d7b362497fb65ec8a030  gdb/testsuite/gdb.cp/printmethod.cc
-1373ad22e8517698f704095a15d11849  gdb/testsuite/gdb.cp/nsimport.exp
-d1b56f81c03e628ea2671982248e614f  gdb/testsuite/gdb.cp/using-crash.exp
-886cb6ba5512ca120d9dca9e08f4198a  gdb/testsuite/gdb.cp/overload.exp
+ef8910b08e5aeb3ea463695ade0328c3  gdb/testsuite/gdb.cp/paren-type.exp
+70cf79915290b8d11396532730ed7dae  gdb/testsuite/gdb.cp/printmethod.cc
+3249e38680ad8845ed29ca0593621a8e  gdb/testsuite/gdb.cp/nsimport.exp
+290ea8a8c4a4e5f41369dce5b98db89e  gdb/testsuite/gdb.cp/using-crash.exp
+49f66f16b3b898a61bc6e0fcb125c2d4  gdb/testsuite/gdb.cp/overload.exp
 2088f98bb23167ea5e0c8b394c560519  gdb/testsuite/gdb.cp/annota2.cc
-76f55a779ee9f79fb5794f264c096b11  gdb/testsuite/gdb.cp/method2.exp
-3ee0c9f68e98b33d9e9c5253c034ff94  gdb/testsuite/gdb.cp/dispcxx.cc
-b226a0bd6ec3092fac0de650a83d7a4a  gdb/testsuite/gdb.cp/infcall-dlopen.exp
-d3c56c158df0c7779361f6c32cb8ecf7  gdb/testsuite/gdb.cp/hang.exp
-248098c5be41ff487c64f9255a380a7b  gdb/testsuite/gdb.cp/templates.exp
+a6a2e8452e6bb1f510bc74565c44fc58  gdb/testsuite/gdb.cp/method2.exp
+aa8ca5ccd7c5cc7c8300b4f9e946584a  gdb/testsuite/gdb.cp/dispcxx.cc
+26eab14f643ef0e99faad7e20d07937b  gdb/testsuite/gdb.cp/infcall-dlopen.exp
+df8ee69c1ba7913d47e92bd7595e0c3b  gdb/testsuite/gdb.cp/hang.exp
+6aa520884e6f5ed28fb1e821ab760980  gdb/testsuite/gdb.cp/templates.exp
 77df3107df3b157b84ff642421e15048  gdb/testsuite/gdb.cp/pr10687.cc
-5dbbe891556f9d5a65aa430914e252ce  gdb/testsuite/gdb.cp/vla-cxx.exp
-4acd64640c7de4be3249c810235a8366  gdb/testsuite/gdb.cp/userdef.exp
-d94d679e4bfad783991a5c1a123bbf9c  gdb/testsuite/gdb.cp/operator.exp
-1c8700368b12d90b595683197a31631a  gdb/testsuite/gdb.cp/pr9631.cc
-214f5e3db2da7ca6f45982981c2b1a28  gdb/testsuite/gdb.cp/infcall-dlopen.cc
-b3ce573b56e77b501ac2764f0c24752e  gdb/testsuite/gdb.cp/derivation.cc
+2eb090709dfe1f530d094c548a9e6d03  gdb/testsuite/gdb.cp/vla-cxx.exp
+9692b390781002a994b49ec781bfff7b  gdb/testsuite/gdb.cp/userdef.exp
+d197d54a69204ca4edc1409e946bb3a4  gdb/testsuite/gdb.cp/operator.exp
+b218ad8566f5eb632579e215d9949f80  gdb/testsuite/gdb.cp/pr9631.cc
+d8eb2f4b229c048d6f9c14b57bb23e09  gdb/testsuite/gdb.cp/infcall-dlopen.cc
+51bbca4c4ef18282be87e00aa2703edf  gdb/testsuite/gdb.cp/derivation.cc
 12ee1b9f2c0f424177624ea104e837d1  gdb/testsuite/gdb.cp/converts.cc
-4313784442b48d3697009ea9ecbc8674  gdb/testsuite/gdb.cp/ovsrch2.cc
-afe86e1f477b5be7292696ffec9b8c8e  gdb/testsuite/gdb.cp/call-c.cc
+2fd280f7120b2b4f44f1db4c421157d0  gdb/testsuite/gdb.cp/ovsrch2.cc
+7987296abef44347e3b42aebe3652dce  gdb/testsuite/gdb.cp/call-c.cc
 965732ac3771dcc604d8c29b2a498a49  gdb/testsuite/gdb.cp/pr9594.cc
+f035d996d1a18c6646b6d1c1fc1b9de0  gdb/testsuite/gdb.cp/pr17494.cc
 f33e9ec9e70b8b99ce29c558637c907e  gdb/testsuite/gdb.cp/namespace-enum-main.cc
-306c00aabf137166df0a9d3a3366316e  gdb/testsuite/gdb.cp/baseenum.cc
-8bdaf6a3c5a7d4bbe3c94eb6fc932356  gdb/testsuite/gdb.cp/member-ptr.cc
-0c5802562aaaee8e48910c06a6a1a30d  gdb/testsuite/gdb.cp/noparam.exp
-b634de6460f3f1e12ebd4c398dae06c2  gdb/testsuite/gdb.cp/readnow-language.exp
-c3e6dc4fee5d3bb98e63a1fdc88f4645  gdb/testsuite/gdb.cp/cpsizeof.cc
-f4718caebb0ee2ac6567c034138c3e10  gdb/testsuite/gdb.cp/formatted-ref.cc
-b464f8e7631de357dc9ba53d875470ce  gdb/testsuite/gdb.cp/try_catch.exp
+7f9359480b930fc4186b94e6ee35e49c  gdb/testsuite/gdb.cp/baseenum.cc
+81de39e975fa0da291b49168b939c773  gdb/testsuite/gdb.cp/pr17494.exp
+8070ae2d79f12af6ed888a9bd6aadbbf  gdb/testsuite/gdb.cp/member-ptr.cc
+7c8a8290deae4c6b4a8f247cda502b3f  gdb/testsuite/gdb.cp/noparam.exp
+bd408331b971cde9f1ad23c5ded3dc50  gdb/testsuite/gdb.cp/readnow-language.exp
+ce3f38f35e69c64cb09bb39c7831ef09  gdb/testsuite/gdb.cp/cpsizeof.cc
+ac95c9bfbaa2973d7d11241964b31d7c  gdb/testsuite/gdb.cp/formatted-ref.cc
+23a51f1b1c1828f461fee5e42ed21884  gdb/testsuite/gdb.cp/try_catch.exp
 e748c1a7bcb32dae45925a92fb033b45  gdb/testsuite/gdb.cp/nsdecl.cc
-7d9bfccdaef2b601ecfee615cc080de7  gdb/testsuite/gdb.cp/cttiadd2.cc
-9ab4827e649c76aa5122f3e1dfe5f8d6  gdb/testsuite/gdb.cp/minsym-fallback.exp
-963212d8320dae75f819f07decc716f9  gdb/testsuite/gdb.cp/member-name.cc
-bd5b102941e908542af45898835efcc7  gdb/testsuite/gdb.cp/ref-types.exp
-0666d8455ac453b9e3faef9a27d87f2d  gdb/testsuite/gdb.cp/parse-lang.exp
-5b7a202923d300d810cccfffca57dd6c  gdb/testsuite/gdb.cp/oranking.exp
-44e119a29b375fb6bcbd7c494bcb1c5d  gdb/testsuite/gdb.cp/cpexprs.cc
-4efa40349ec5864bb6ab9bd2685df42b  gdb/testsuite/gdb.cp/inherit.exp
-a20e451195de70369d6b15fcfd1e688b  gdb/testsuite/gdb.cp/koenig.exp
-7f918b3d57a8160145d41a6a2c757c54  gdb/testsuite/gdb.cp/userdef.cc
-85e9e71e1668e8af5bc2d6e351835385  gdb/testsuite/gdb.cp/cpcompletion.exp
-f1c80a54a08c58d23650002a5111044c  gdb/testsuite/gdb.cp/exception.exp
-9a8018ac38a48c6b83a67e059fe949c5  gdb/testsuite/gdb.cp/nsnoimports.exp
-0bd55e3328e7ae8d241c217f0a4ea4b9  gdb/testsuite/gdb.cp/includefile
-a84cb9bb9f8a5a2f5a6199f2c0f6f98c  gdb/testsuite/gdb.cp/rtti1.cc
+5570ce59ee29f25a9ff60e7a430d2bc8  gdb/testsuite/gdb.cp/non-trivial-retval.exp
+b9e27db32688184ad1ff0cb8e5663357  gdb/testsuite/gdb.cp/cttiadd2.cc
+cea6db9e90b6ec00292c3ba12d916fd3  gdb/testsuite/gdb.cp/minsym-fallback.exp
+df439862061b1bf8fa7d6cc85c17c6c0  gdb/testsuite/gdb.cp/member-name.cc
+24bc668031b99774f9717c5ab5ba656d  gdb/testsuite/gdb.cp/ref-types.exp
+689c98fd9843e9afc147207a920da262  gdb/testsuite/gdb.cp/parse-lang.exp
+84f1b3e2fcbe22a30bbca718f56a2018  gdb/testsuite/gdb.cp/oranking.exp
+43fb70f0d01e9443251c31ac948ef12a  gdb/testsuite/gdb.cp/cpexprs.cc
+554169c72572cbbb7cae7c0237004af9  gdb/testsuite/gdb.cp/inherit.exp
+251532693724a5b1701ddafe4c240ef2  gdb/testsuite/gdb.cp/koenig.exp
+1fa73fdcbbaba429f5c055565c06c523  gdb/testsuite/gdb.cp/userdef.cc
+ef1a6fb2260008e53940caefaaf27186  gdb/testsuite/gdb.cp/cpcompletion.exp
+68f0292affa077cc08d6b54b1b07e161  gdb/testsuite/gdb.cp/exception.exp
+cb920e3133ed08ed0e4114b99e7cbad8  gdb/testsuite/gdb.cp/nsnoimports.exp
+b1193e432bcf41e8a2b0f637e7c20618  gdb/testsuite/gdb.cp/includefile
+aca96cf3025afbc6edd1cca341959383  gdb/testsuite/gdb.cp/rtti1.cc
 e6bbc12bae29b83d922b39735265dbfd  gdb/testsuite/gdb.cp/nsnoimports.cc
 2e902d980a259189eabccce1cf8b8fbe  gdb/testsuite/gdb.cp/hang2.cc
-b275849f25547ede6f91f5d97012a5a1  gdb/testsuite/gdb.cp/infcall-dlopen-lib.cc
-e704a1b3de5b6a653ef21af62276a61a  gdb/testsuite/gdb.cp/mb-inline.h
-7c092da67d262afff10113b8e4f30f5e  gdb/testsuite/gdb.cp/pr-574.exp
-40de52b2cc131f405e2258ff02fc2dad  gdb/testsuite/gdb.cp/nsalias.exp
-015145271736884d6014b5d0cfc35458  gdb/testsuite/gdb.cp/method.exp
+0aa4763f8924318eaee5c9f4a83bf6b6  gdb/testsuite/gdb.cp/infcall-dlopen-lib.cc
+969bcf9f52c4c8e366840220d93bdd76  gdb/testsuite/gdb.cp/mb-inline.h
+f074de1132f7df1528e3981b30ff6b09  gdb/testsuite/gdb.cp/pr-574.exp
+d29777e6dd524a772037d791eb2b3036  gdb/testsuite/gdb.cp/nsalias.exp
+3869bdc5aa95eaadf6e064f9e321f764  gdb/testsuite/gdb.cp/method.exp
 923e8df050d19e1c25a51df276ffd8ae  gdb/testsuite/gdb.cp/m-data.cc
-b5100e75a263415cf182ec4e09dd44e6  gdb/testsuite/gdb.cp/noparam.cc
-bf5dffd628e316f63272ca5502649d69  gdb/testsuite/gdb.cp/arg-reference.cc
-b18abbcf479ef550442f8218eb4240d6  gdb/testsuite/gdb.cp/static-print-quit.cc
+15f67af0e1a57cc57d97460255c6807d  gdb/testsuite/gdb.cp/noparam.cc
+74478fb56d11757ed22a25e72cc9b980  gdb/testsuite/gdb.cp/arg-reference.cc
+adf7ec7639b09814dfb1c63bc6c956a3  gdb/testsuite/gdb.cp/static-print-quit.cc
 d735c2737237aa3cdaf44118af17689e  gdb/testsuite/gdb.cp/ovldbreak.cc
-b26a51a5d756020cad6b3b88397ac8fa  gdb/testsuite/gdb.cp/nsstress.exp
-f44514aeb7eacf7ed9bd81fb69b98f69  gdb/testsuite/gdb.cp/anon-struct.exp
-c3ff95a03fb030ddb668e48198892b90  gdb/testsuite/gdb.cp/extern-c.cc
+f1b1b17e5ffeb9efc8b0dec4432485a9  gdb/testsuite/gdb.cp/nsstress.exp
+67e803cc92132082e1b71af04ab6716f  gdb/testsuite/gdb.cp/anon-struct.exp
+f107289faacf8a0b8c5a383043cb66d4  gdb/testsuite/gdb.cp/extern-c.cc
 5aa100b253777f14d000cbac2d0a5c31  gdb/testsuite/gdb.cp/namespace-nested-import.cc
 1b230ab8da1b477237f0e769d5bd1af3  gdb/testsuite/gdb.cp/operator.cc
-46a32da836a91811498cfb1e1bffd23e  gdb/testsuite/gdb.cp/minsym-fallback.cc
+7e78092638b710e41369254c02d9ea7f  gdb/testsuite/gdb.cp/minsym-fallback.cc
 b4e27711f6e1b4b16df591b4acd7bdf1  gdb/testsuite/gdb.cp/hang3.cc
 feb819b43dbe4b5c8af03a9f050c6d04  gdb/testsuite/gdb.cp/virtbase.cc
-0cba6918abf5ffafe3f6c5c4f885c162  gdb/testsuite/gdb.cp/virtfunc.cc
+ad82064f3e4af0a8c1c202573d29a8da  gdb/testsuite/gdb.cp/virtfunc.cc
 bec5831953699a0daf2274369c6f1ed1  gdb/testsuite/gdb.cp/hang.H
 2cfb40b86367c5e651147f419c05f8c7  gdb/testsuite/gdb.cp/pr9067.cc
-285f5af5e43b0ab981d9679ef430cf6b  gdb/testsuite/gdb.cp/gdb2384.exp
-b6e1dace2fd54dfca73fd4c4f81b5831  gdb/testsuite/gdb.cp/member-name.exp
-ff59687f9e8e233a39968c37381cb59e  gdb/testsuite/gdb.cp/ambiguous.exp
-6d5e7b74c5b3fa99a3dda5d4aa78186a  gdb/testsuite/gdb.cp/casts.exp
-8ef35cdcce7f9fb15335c2854d23b2a3  gdb/testsuite/gdb.cp/nsalias.cc
-7f9ebedbf6cbf1b16abb626c748f9305  gdb/testsuite/gdb.cp/static-method.cc
-bba78d055978bd3625e3d09353d3bdde  gdb/testsuite/gdb.cp/cplabel.cc
-038444663115c67271b5c3372fada6fb  gdb/testsuite/gdb.cp/nextoverthrow.exp
+47de52704913cc76d1efe826961b0af1  gdb/testsuite/gdb.cp/gdb2384.exp
+4dc5c84a870e274289274831f3dae115  gdb/testsuite/gdb.cp/member-name.exp
+af410076ab6d1df4c5b1cd993e496920  gdb/testsuite/gdb.cp/ambiguous.exp
+89080fe8ed4c2ccd64e3e1a47d9861df  gdb/testsuite/gdb.cp/casts.exp
+7f791800c49278dcd5c8cf3fdfcddc48  gdb/testsuite/gdb.cp/nsalias.cc
+5b513cd3ac50f8c0fff337a895860804  gdb/testsuite/gdb.cp/static-method.cc
+fc705a2e99df2d80afd8872ea330e395  gdb/testsuite/gdb.cp/cplabel.cc
+adf2184ac526e2178016c47f2089248e  gdb/testsuite/gdb.cp/nextoverthrow.exp
 07fa7f618722031893284e4df11fe13e  gdb/testsuite/gdb.cp/pr-1210.cc
+1ea39fcc566c7fb741adb57fd01fae4e  gdb/testsuite/gdb.cp/anon-ns2.cc
 2d5a3f3b8c870b803e657d40ceae038e  gdb/testsuite/gdb.cp/pr9167.cc
-d64aa1a51583be4a61b4045633452a5c  gdb/testsuite/gdb.cp/cp-relocate.exp
-fad92a37e2d0464eea90d2b749ffe8e6  gdb/testsuite/gdb.cp/temargs.cc
-af2d95a7930713cc52e905a20e7c5e05  gdb/testsuite/gdb.cp/anon-union.exp
-c3e9760a74460d00345583d8d7fbf560  gdb/testsuite/gdb.cp/impl-this.cc
-719afd0b8ec7b6eb5c8391ae3c7ae601  gdb/testsuite/gdb.cp/pr10687.exp
+9311acbc0b0851f328c6a063b344394d  gdb/testsuite/gdb.cp/cp-relocate.exp
+069433f23c384b079da199913ec9195e  gdb/testsuite/gdb.cp/temargs.cc
+6f11f52c0f6d49b6315d33199f75bd89  gdb/testsuite/gdb.cp/anon-union.exp
+d04248a540f9ae422100684772e2730c  gdb/testsuite/gdb.cp/impl-this.cc
+53e613b82da0cdbc18930185daf989b3  gdb/testsuite/gdb.cp/pr10687.exp
 d147f29e4035d7ebbaa76dd68918f2dc  gdb/testsuite/gdb.cp/m-static.cc
-b201eceddcf6e73b5cd39b95f6e7621d  gdb/testsuite/gdb.cp/static-print-quit.exp
-6a1a4bad259a46890d2b22cf7024361b  gdb/testsuite/gdb.cp/gdb1355.exp
-cd842ecded6a8cb9b86a824e92b22528  gdb/testsuite/gdb.cp/cttiadd.cc
-1e8f33ebed81c180c0c8d3f655e053c0  gdb/testsuite/gdb.cp/misc.exp
-90d2e89ab75cf9a3c9f83f76c62ac724  gdb/testsuite/gdb.cp/expand-sals.exp
-cd680fc4904e17e59691e88a0c75c3d8  gdb/testsuite/gdb.cp/ovsrch.h
+7047a976b5ca9dc4bf7f2d45178747d9  gdb/testsuite/gdb.cp/static-print-quit.exp
+7e7a9d3eb601b98f9b19839a21664aa9  gdb/testsuite/gdb.cp/gdb1355.exp
+1a9b65531ccd68a13bdd49c5540cc32a  gdb/testsuite/gdb.cp/cttiadd.cc
+8575a6758e81da42374e1016f5e55845  gdb/testsuite/gdb.cp/misc.exp
+167c9d015fb8e1c61e971d68aa040d87  gdb/testsuite/gdb.cp/expand-sals.exp
+daf3829463c9a2ed9411b5e43143d384  gdb/testsuite/gdb.cp/ovsrch.h
 55268c22c0ae3a64d769ce8101d70f11  gdb/testsuite/gdb.cp/pr12028.cc
-7bb3d1c8c88414876b64a097de4e9b43  gdb/testsuite/gdb.cp/smartp.exp
-380b4ac965e3658819867e7d58a497dc  gdb/testsuite/gdb.cp/m-data.exp
+880f4aa68caddb70049bd6115b3fee8c  gdb/testsuite/gdb.cp/smartp.exp
+ecd71169aa39e612e9ceed4fba443c5c  gdb/testsuite/gdb.cp/m-data.exp
 f78534d3f0d2bb593cb77af10363735c  gdb/testsuite/gdb.cp/mb-ctor.cc
-ffcd4c97e0244be14527e21fb9284a79  gdb/testsuite/gdb.cp/shadow.exp
-6e6b6354820dd87d298af23a4555cc6d  gdb/testsuite/gdb.cp/re-set-overloaded.exp
-c96f7159b5dc667e7bca26f0192dba25  gdb/testsuite/gdb.cp/overload-const.cc
-fd83fe48b3ccb71746c57d9e02a16ab6  gdb/testsuite/gdb.cp/virtfunc.exp
+6c1530a84af23df653ae21c333ef3347  gdb/testsuite/gdb.cp/shadow.exp
+adffa307c78a98d1ead3aac094460cbf  gdb/testsuite/gdb.cp/re-set-overloaded.exp
+b8c17791d6c910e1dc3a7151fc2de182  gdb/testsuite/gdb.cp/overload-const.cc
+dbf80762cdaf154bf62cecc56b268f48  gdb/testsuite/gdb.cp/virtfunc.exp
 0a15a0bc517ee0acca862308c89de14b  gdb/testsuite/gdb.cp/pr-1023.cc
-da09bc36a712552316db47c15b694d32  gdb/testsuite/gdb.cp/ptype-flags.exp
-7f97ea9007f578b121be6b447789f9dd  gdb/testsuite/gdb.cp/ovsrch.exp
-cd13ddfeedb4ea15a850f9da55e60a61  gdb/testsuite/gdb.cp/anon-ns.exp
+3ae16b2e1e7a7567eb0a903031a21da2  gdb/testsuite/gdb.cp/ptype-flags.exp
+8a70e58959b242e9ecab8e4ac41a4d7c  gdb/testsuite/gdb.cp/ovsrch.exp
+893c77204821267da38d164c2ca01c4b  gdb/testsuite/gdb.cp/anon-ns.exp
 aa3b210cfd056b6a8835065c2c6aa791  gdb/testsuite/gdb.cp/destrprint.cc
-4829b0764e2b35b3a0497dd9581a1222  gdb/testsuite/gdb.cp/class2.cc
-e802a016d854885dec2374898db49203  gdb/testsuite/gdb.cp/gdb2384-base.h
+b65220712054d1caa393aa2119ab6984  gdb/testsuite/gdb.cp/class2.cc
+005b1674a95818d833c3b27be5b73e3c  gdb/testsuite/gdb.cp/gdb2384-base.h
 5221a33cd93ea0eba10ad76e6c55a030  gdb/testsuite/gdb.cp/anon-union.cc
-23cf94083a03ebb3a447985edd79b140  gdb/testsuite/gdb.cp/mb-ctor.exp
-f96702ecbe22d4a85a7cc23b056679a1  gdb/testsuite/gdb.cp/enum-class.exp
-4d631b9f97f719b813e3d9dcdb453e37  gdb/testsuite/gdb.cp/gdb2495.cc
-435553ae5d2020a75c665a2f38c2a4fd  gdb/testsuite/gdb.cp/smartp.cc
-8f2feeb04d438df9e90c402112d58605  gdb/testsuite/gdb.cp/dispcxx.exp
-811a375334a16a7dd2de683bdedd7f3f  gdb/testsuite/gdb.cp/ptype-cv-cp.exp
-a5ad3608b29b8594a684a2cd9fa11a0f  gdb/testsuite/gdb.cp/punctuator.exp
+d9a7f5a9b37d70fefc5a90a8f0f1281c  gdb/testsuite/gdb.cp/mb-ctor.exp
+12a77329c3ec09c92e40a74c5c5708ec  gdb/testsuite/gdb.cp/enum-class.exp
+619b9b4ba58f240c28fcceaff093da41  gdb/testsuite/gdb.cp/gdb2495.cc
+14fafe499d8514b64633fab3c01b0cfa  gdb/testsuite/gdb.cp/smartp.cc
+23613e16f07e394472cd5a46f4e49876  gdb/testsuite/gdb.cp/dispcxx.exp
+5f7174bc1287f908277cef0757884c1d  gdb/testsuite/gdb.cp/ptype-cv-cp.exp
+69bb043f09de1642fe01721201c1dfef  gdb/testsuite/gdb.cp/punctuator.exp
 31b4ca24a68ac8ff4bf148d6a8c8c72c  gdb/testsuite/gdb.cp/nsstress.cc
 584a50069ae4ae90c745978c0bb994db  gdb/testsuite/gdb.cp/local.cc
-0e962f2ae8ae6a42be1b9d3693005056  gdb/testsuite/gdb.cp/class2.exp
-8c2a407da8fab55e1049fa6e1001bb80  gdb/testsuite/gdb.cp/abstract-origin.cc
-c538978769edc6f7402111bfe4bbcca3  gdb/testsuite/gdb.cp/rtti.exp
-c64c8f679eacdb45863938fea62f303f  gdb/testsuite/gdb.cp/namelessclass.exp
-255e7f56e6e83f2539844f7d8762e24e  gdb/testsuite/gdb.cp/parse-lang.cc
-b2a4c88d520911e71b8815a17870438a  gdb/testsuite/gdb.cp/ptype-cv-cp.cc
-75dfab026b83a5ef0f41236f94f737c2  gdb/testsuite/gdb.cp/rtti2.cc
-ce99a79bac9fff3eb8bf98b357c265ee  gdb/testsuite/gdb.cp/nsnested.exp
+1a0d6b47585279d54e0cdc1bf1ba2c5c  gdb/testsuite/gdb.cp/class2.exp
+7bc92ebdbd98561f4e4c7befd6d942d5  gdb/testsuite/gdb.cp/abstract-origin.cc
+b976c6b541071daa48206828801083ac  gdb/testsuite/gdb.cp/rtti.exp
+4efc6b8cecd50bc7b911911ccf0aff55  gdb/testsuite/gdb.cp/namelessclass.exp
+6dc90152f22003cdc93d5a4d7eea37ee  gdb/testsuite/gdb.cp/parse-lang.cc
+74508e303a4e1b1efd3b6cccddbf8ac6  gdb/testsuite/gdb.cp/ptype-cv-cp.cc
+9f470f0e7b51690bb7c426f51a6878ea  gdb/testsuite/gdb.cp/rtti2.cc
+53f8e87eec3ec874c5f29e4983b0d9f6  gdb/testsuite/gdb.cp/nsnested.exp
 99eedf1581c7d74b79022a81adbff1f3  gdb/testsuite/gdb.cp/shadow.cc
-6a3b4f7896ccdd724533bcd9317bba23  gdb/testsuite/gdb.cp/filename.cc
-c1fb464f55affe1e96aa52617cada7f8  gdb/testsuite/gdb.cp/psymtab-parameter.cc
-fd6ed225694353b79f66e4e31ded289a  gdb/testsuite/gdb.cp/namelessclass.S
-41eb928b6855e52709502b086f2e45e7  gdb/testsuite/gdb.cp/meth-typedefs.exp
-62daaa26bfbeab67812ffdcedaa1a1bd  gdb/testsuite/gdb.cp/exceptprint.exp
-59b0037ad5f8aafba3dccc5608ed03ae  gdb/testsuite/gdb.cp/arg-reference.exp
-ce968238a0a095c478c0ce841b9125b2  gdb/testsuite/gdb.cp/cttiadd3.cc
+018f9bc93c24f1cc9a988b5ef0288b76  gdb/testsuite/gdb.cp/filename.cc
+91ddc5b8a5b36580ea3793553a0f5c2d  gdb/testsuite/gdb.cp/psymtab-parameter.cc
+6b4319bdf7b96f3ba780f8ab0a5c535f  gdb/testsuite/gdb.cp/namelessclass.S
+672cf35c325c9f4c2117ca21336baa29  gdb/testsuite/gdb.cp/meth-typedefs.exp
+1822697fefb8fb5ebac401f9793bf30c  gdb/testsuite/gdb.cp/exceptprint.exp
+ce8ff61f95609dc40eb1a27ad51c30e7  gdb/testsuite/gdb.cp/arg-reference.exp
+c7ce227f6d6bc59552423c5c9d62f5e0  gdb/testsuite/gdb.cp/cttiadd3.cc
 7844dbfb63d5ee815db3c14cb769c796  gdb/testsuite/gdb.cp/m-static1.cc
 d35ad7023fbe864b81f9469bbee7c048  gdb/testsuite/gdb.cp/gdb1355.cc
-737792b2f7380f9ab49115f039895575  gdb/testsuite/gdb.cp/mb-inline.exp
+8ab9f7c5f6baeace1386de1b2382c492  gdb/testsuite/gdb.cp/mb-inline.exp
 4e402d8c3d4006f294952831e26242fa  gdb/testsuite/gdb.cp/method2.cc
-35c839e13a99e9beebeb2683f854e74e  gdb/testsuite/gdb.cp/static-method.exp
-a1fbafdf7dc649d18b0c50112ce077ad  gdb/testsuite/gdb.cp/cpexprs.exp
+218c49dfb50ec04ec4e075f40fae21c8  gdb/testsuite/gdb.cp/static-method.exp
+8c2049bee932337987369c0f2956b7c7  gdb/testsuite/gdb.cp/cpexprs.exp
 de28a705c2ece829611f015aa519e070  gdb/testsuite/gdb.cp/templates.cc
 4b1557ca2d2d17c8b4a96bf9fd97960a  gdb/testsuite/gdb.cp/mb-templates.cc
-f74d25a824baab6ae3b7070125e4c249  gdb/testsuite/gdb.cp/member-ptr.exp
-e806a90eaeb8af4b6c4c5d4fe8968913  gdb/testsuite/configure.ac
-10ed0e2459d368acde3b8503de05ea33  gdb/testsuite/README
-bcc4418375b08d5e7bb30e1fd3333849  gdb/testsuite/gdb.mi/mi-console.c
-77153af93f7b7d54d1de384744ffbaf8  gdb/testsuite/gdb.mi/mi-catch-load.exp
+9b978c64c2839ef494f61e035a8b6379  gdb/testsuite/gdb.cp/member-ptr.exp
+185ddfe5a7a1ce488fd9b62b4d520ee8  gdb/testsuite/configure.ac
+ee8d6b5324b7756d1f6b66cc74d30258  gdb/testsuite/README
+b6356c24ee75e2e014f04332144a1543  gdb/testsuite/gdb.mi/mi-console.c
+aa95f088d1e96f5b14752732e74c8982  gdb/testsuite/gdb.mi/mi-catch-load.exp
 bbff496566f190853c0830bf572d6d95  gdb/testsuite/gdb.mi/gdb701.c
-7198711367686199a68b5682ddc24f9f  gdb/testsuite/gdb.mi/mi-cli.exp
+f4c9e676349e0fa7b87f31e5ef7fc609  gdb/testsuite/gdb.mi/mi-cli.exp
 acb4f12b9dbb134de5efb15fb9a8fcb0  gdb/testsuite/gdb.mi/Makefile.in
-02916e6e1d0a1fdb4b29621884eedee6  gdb/testsuite/gdb.mi/mi-dprintf.exp
-7ddcd91f84541d61777b8b66a1cf848f  gdb/testsuite/gdb.mi/mi-language.exp
-009df78f7e42e4b0a286a1db118b5cc0  gdb/testsuite/gdb.mi/mi-record-changed.exp
-25de3958e03922859fa002281707127e  gdb/testsuite/gdb.mi/watch-nonstop.c
-c3c1f066fb44d03119856d0f0d254e5d  gdb/testsuite/gdb.mi/pr11022.exp
-433e4ae0c61e0935a869a9cffe523dec  gdb/testsuite/gdb.mi/mi-syn-frame.exp
-9e5c7218d07ee4a7f01947aea1bafa24  gdb/testsuite/gdb.mi/mi-var-create-rtti.c
-cb3b1ca7ec6bf75f58a4235ce6d6c4ba  gdb/testsuite/gdb.mi/mi-inheritance-syntax-error.exp
+532a543bc01d1378f632d74aeb8f1da3  gdb/testsuite/gdb.mi/mi-dprintf.exp
+847edb6bdba50ba017152ff9295d71e6  gdb/testsuite/gdb.mi/mi-language.exp
+aaf16ddf216625cfbfd292ee1ae75bea  gdb/testsuite/gdb.mi/mi-record-changed.exp
+b68eb60254ab42642fa20804a421ecc0  gdb/testsuite/gdb.mi/watch-nonstop.c
+0fd421418dea979662258d8528247348  gdb/testsuite/gdb.mi/pr11022.exp
+344b41c8daeca95e09c2176c655685c0  gdb/testsuite/gdb.mi/mi-syn-frame.exp
+450ec22b3c7f7fb90742db77e76b5bf3  gdb/testsuite/gdb.mi/mi-var-create-rtti.c
+e5a0291a44903ba35a3700bd7a7fe399  gdb/testsuite/gdb.mi/mi-inheritance-syntax-error.exp
 d842f3134dbac91b77ca50d320988178  gdb/testsuite/gdb.mi/mi-read-memory.c
-f5cef78c2dcf7b7ab3bc866dce1a363c  gdb/testsuite/gdb.mi/vla.c
-1a11151d0d301536fc10ca37df6a4e63  gdb/testsuite/gdb.mi/mi-nsintrall.exp
-9de3902b4c150a3dc45e355043910568  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-mt.c
-457f054b8dabc1c01b442ed65f4c345d  gdb/testsuite/gdb.mi/gdb669.exp
-b1190220f38dac9e5a788bfa7ebddebb  gdb/testsuite/gdb.mi/mi-var-child.c
-c5cf89d73537fa7a8851d20da81949f5  gdb/testsuite/gdb.mi/mi-return.exp
-e41e7f0353e43aacf523c3b299bd0b75  gdb/testsuite/gdb.mi/gdb2549.exp
-3299405b1ba2f6ffc06d3c26caa01daf  gdb/testsuite/gdb.mi/nsmoribund.c
-d80e23d00ba2829348269f42a8de00e7  gdb/testsuite/gdb.mi/basics.c
-c6ec63542599be6d67b9ac3e5c1e3eb1  gdb/testsuite/gdb.mi/mi-break.exp
-876dcb976979644c1577b762ed1c039e  gdb/testsuite/gdb.mi/nsintrall.c
-e69d1583b75cdf649449a0263d46822f  gdb/testsuite/gdb.mi/until.c
-c1eac4563bd8a1d810020b783b103df2  gdb/testsuite/gdb.mi/pendshr2.c
-0a92b5f5b0b2cd3de20e87110baea5c8  gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s
-5a1c516f51b89a3654e9d3cbaa784b60  gdb/testsuite/gdb.mi/mi-vla-c99.exp
-f51cdcb05522625d01225924a648eb35  gdb/testsuite/gdb.mi/mi-start.exp
-cb836e993044b34a8eebc20017f0d7f8  gdb/testsuite/gdb.mi/mi-var-child-f.exp
-4c3937e04a7305dac59019641596c010  gdb/testsuite/gdb.mi/mi-stack.exp
-fda621cd749940f24827d209714e21ec  gdb/testsuite/gdb.mi/mi2-prompt.exp
+67b0d757c16acd8c51acc9dd3753471e  gdb/testsuite/gdb.mi/vla.c
+22957b36b20bd2c48ecb6080c830eeb4  gdb/testsuite/gdb.mi/mi-nsintrall.exp
+ca769981e5c51e27769a0c06ce450739  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-mt.c
+d20f9e4f7d2cab614b0d1864e648d4c6  gdb/testsuite/gdb.mi/gdb669.exp
+431fa32828b010c2be9f6d64828a23d9  gdb/testsuite/gdb.mi/mi-var-child.c
+72412b83d179fa720976b89cc498da2a  gdb/testsuite/gdb.mi/mi-return.exp
+6e9904f47d6c33944d89a3f9cf5c605a  gdb/testsuite/gdb.mi/gdb2549.exp
+b1bf905ae9c70df92b9d1acbeef75bbe  gdb/testsuite/gdb.mi/nsmoribund.c
+e134568e4fa9cd2b20f4203f33345336  gdb/testsuite/gdb.mi/basics.c
+9d8dd49b405f535a2cfbe6e93b1bdaa3  gdb/testsuite/gdb.mi/mi-break.exp
+64a54798cd644df94c900298e11630ab  gdb/testsuite/gdb.mi/nsintrall.c
+f66cbc5e80c1115869bb9a14abdcb49a  gdb/testsuite/gdb.mi/until.c
+4fed4384a8fc115d5412946974011ed6  gdb/testsuite/gdb.mi/pendshr2.c
+60394f74d397b9a41f8e299ce62042d6  gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s
+b81b9676beb30e75ec95412f05077b37  gdb/testsuite/gdb.mi/mi-vla-c99.exp
+92f91972fe5b29f31d9d1c3c1553e59d  gdb/testsuite/gdb.mi/mi-start.exp
+a6e3ca607a3dcc93f672233c452d8a22  gdb/testsuite/gdb.mi/mi-var-child-f.exp
+1177477037a8f44108246fad194aab15  gdb/testsuite/gdb.mi/mi-stack.exp
+74ea091699f4218e227d16e6b1e66a19  gdb/testsuite/gdb.mi/mi2-prompt.exp
 966fb70be9ca0040daab6b55abf50020  gdb/testsuite/gdb.mi/mi-inheritance-syntax-error.cc
-bcdd59ca8b1c36d7530b14199656d3fe  gdb/testsuite/gdb.mi/mi-var-rtti.exp
-0841733e53afe98ba39efea61eeb98ed  gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp
-8471387b9845390e9cf6c49d0accfd3c  gdb/testsuite/gdb.mi/mi-reverse.exp
-da2194f4eef4985d6f120a329d726c5a  gdb/testsuite/gdb.mi/mi-memory-changed.exp
-53c6353da082b7aa85ae3c8c6e9bdb42  gdb/testsuite/gdb.mi/pending.c
-5a3672700d90b9669a3b9f03bfeaad23  gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
-cf83305883eda27b25b5d730b0b3665a  gdb/testsuite/gdb.mi/mi-reg-undefined.c
-eeb55adfa74d2c51efeae38e4fb1613b  gdb/testsuite/gdb.mi/mi-var-cp.cc
-bdccefec6f0b47d199c81b70eea54cfd  gdb/testsuite/gdb.mi/mi-basics.exp
-6b78f30b16596cb4cb43fa3673ce8e18  gdb/testsuite/gdb.mi/mi-nonstop-exit.exp
-f66bebe2691ebf4512e8aa300ebd12f7  gdb/testsuite/gdb.mi/pendshr1.c
-daff7306e74355e7685c0acfed1718d1  gdb/testsuite/gdb.mi/mi-fill-memory.exp
-7c6079ca469456be3eb23cd9cb2ef6e0  gdb/testsuite/gdb.mi/nsthrexec.c
-0a3bd78e3bf32c223dc38a7ad9f53bf2  gdb/testsuite/gdb.mi/mi-dprintf.c
-d266469469cc06489c369595e5d58178  gdb/testsuite/gdb.mi/mi-disassemble.exp
-3024105659da082d5de68826461e4e2d  gdb/testsuite/gdb.mi/var-cmd.c
-175e237bda233a2e617d29e26b057b84  gdb/testsuite/gdb.mi/mi-stepi.exp
-a239e3c3d1e57eccd3fa5dde1ad1bfc5  gdb/testsuite/gdb.mi/mi-nsthrexec.exp
-923384f545aa6bf4354a126b040e4c4a  gdb/testsuite/gdb.mi/mi-pending.c
-e9b1d98b25581a68d034c277bc798e25  gdb/testsuite/gdb.mi/mi-i-cmd.exp
-d6e2d0ce8799938e685a393465021488  gdb/testsuite/gdb.mi/mi-fullname-deleted.exp
-cf22d30b99f099bd9de05ba96d7d387d  gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp
-0eaa8f8c43a748471ec9dfc994c650e0  gdb/testsuite/gdb.mi/mi-reg-undefined.S
-8747634952ed82c9cf860c2ff0e9b3d8  gdb/testsuite/gdb.mi/mi-nsmoribund.exp
-19a13d3d10c33e9531a9282aaa4185d4  gdb/testsuite/gdb.mi/mi-file-transfer.exp
-861dad4d8195778e80e97895731c22b1  gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp
-5fe1741da72669503f53512b87ed57b8  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-st.c
-bb814e410660ba655a9c3888400dfc48  gdb/testsuite/gdb.mi/mi-solib.exp
+4548e5ac67ad4a122e1b4623c9b4d0cf  gdb/testsuite/gdb.mi/mi-var-rtti.exp
+fdaa29bedff1b40a1eebce032bb8a95a  gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp
+e43873e8c7949dbebf6053f57946f9d9  gdb/testsuite/gdb.mi/mi-reverse.exp
+9df33c1fef556a7f8cac4c036837863b  gdb/testsuite/gdb.mi/mi-memory-changed.exp
+f52ad8fd59905b64ef9f298be41361c5  gdb/testsuite/gdb.mi/pending.c
+a5b7ab63f6cff881f9ac10183f515cb8  gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
+05e93fd103b1e1deb42516258f4481a1  gdb/testsuite/gdb.mi/mi-reg-undefined.c
+3937235f59058146a092d2b471f512c4  gdb/testsuite/gdb.mi/mi-var-cp.cc
+f2f3e1d4f363b10c40d5acc12f5854a8  gdb/testsuite/gdb.mi/mi-basics.exp
+398b3665f4a84c105b1f0bb865ad7784  gdb/testsuite/gdb.mi/mi-nonstop-exit.exp
+14419fb7ddfb9772f98356412635e028  gdb/testsuite/gdb.mi/pendshr1.c
+e3446252f1c19e31fa5c668ba35a8194  gdb/testsuite/gdb.mi/mi-fill-memory.exp
+995a2827696f75e766b1d03bd02cc6ab  gdb/testsuite/gdb.mi/nsthrexec.c
+be055d0069bc5a138f7db82af676fc01  gdb/testsuite/gdb.mi/mi-dprintf.c
+d769b2f670c8b2805c0e9a9f35a32b8e  gdb/testsuite/gdb.mi/mi-disassemble.exp
+396b9acf972dff50764b420e41c37d5e  gdb/testsuite/gdb.mi/var-cmd.c
+27dde74e9a93714dedbcd98ff4fd7bcc  gdb/testsuite/gdb.mi/mi-stepi.exp
+72c7d2caed115dbf7c8ef8c6a26e74ec  gdb/testsuite/gdb.mi/mi-nsthrexec.exp
+1bdf7c28a26af08169db636a5e76c04e  gdb/testsuite/gdb.mi/mi-pending.c
+c7935b2bccf17006f5febb606da92e53  gdb/testsuite/gdb.mi/mi-i-cmd.exp
+cf9a59effbd41d8bb6d6d67d24a42a89  gdb/testsuite/gdb.mi/mi-fullname-deleted.exp
+cd5544da0b33b6bbf2ff26d1693a9324  gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp
+ae1025e8c0f4669e7900f40868556fb0  gdb/testsuite/gdb.mi/mi-reg-undefined.S
+442a131717c961e4b90b57633b4a2ca1  gdb/testsuite/gdb.mi/mi-nsmoribund.exp
+44bb877067d6ea5ca91fd0871626d172  gdb/testsuite/gdb.mi/mi-file-transfer.exp
+7b327d975cc133f2a87e225f90eaeaec  gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp
+f81739dd6e072e33a2cac1d26f195de9  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state-st.c
+bff973c943d945b9a1660bf09f00ce2d  gdb/testsuite/gdb.mi/mi-solib.exp
 1efe6f6402cbf322cd8aa810521f4b17  gdb/testsuite/gdb.mi/ChangeLog-1999-2003
-3f27bd4e8e611e8013b9af8931cda32f  gdb/testsuite/gdb.mi/gdb680.exp
-6bb23eca61ba7280e70b0014147deb4c  gdb/testsuite/gdb.mi/mi-nonstop.exp
-24a4d6798bc45024ea69d551a61ee24e  gdb/testsuite/gdb.mi/mi-var-child.exp
-54761da1f8ae14ca578c0aaf6eeda319  gdb/testsuite/gdb.mi/mi-var-cp.exp
-f1c556cf46d98c4192f55ac744c813c1  gdb/testsuite/gdb.mi/pr11022.c
-ad49a149adb4eb34eb0252018dbc096d  gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c
-8ba772ce06d0e9c496a76e46cf81790b  gdb/testsuite/gdb.mi/mi-until.exp
-df15514d715ab8ba48febc7eb7f8f81d  gdb/testsuite/gdb.mi/mi-console.exp
-daa45c89029f6d5551c6679af068e3ba  gdb/testsuite/gdb.mi/mi-stepn.exp
-811d06f9d909632b172f34a01a0dbe27  gdb/testsuite/gdb.mi/gdb792.exp
-3562794b15dcc6231a7b34385c4eb9ec  gdb/testsuite/gdb.mi/mi-stack.c
-4798e67334b5660e4d5d33b7e3a165aa  gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp
+53be4cddb3af19a7f39e1b021854c3b4  gdb/testsuite/gdb.mi/gdb680.exp
+7e09a908203320390536ba25d1771de1  gdb/testsuite/gdb.mi/mi-nonstop.exp
+33ad6b093d1aae881fd1c4f15eb8fc2b  gdb/testsuite/gdb.mi/mi-var-child.exp
+1c821248de5a453f7c88d310ffcbb846  gdb/testsuite/gdb.mi/mi-var-cp.exp
+4fce00427c08d8b916a752c6b75a38a7  gdb/testsuite/gdb.mi/pr11022.c
+6426957f74d725ef3671f005a1f1c335  gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c
+1d4cb77b7e904e5aceece5be7ba95591  gdb/testsuite/gdb.mi/mi-until.exp
+2ec13fa218b68b7e65a6500efdaee5b4  gdb/testsuite/gdb.mi/mi-console.exp
+208bede31f541a83cac0f376279c01ed  gdb/testsuite/gdb.mi/mi-stepn.exp
+b5bcd70466f8d8ecf07d1cf1b8324bcd  gdb/testsuite/gdb.mi/gdb792.exp
+35c5d29e1bb772256a60186b8d6b09ff  gdb/testsuite/gdb.mi/mi-stack.c
+a8882f1f692f90d77b4a524721f03e53  gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp
 6b58acbe5f1fe573c27b67f2e2a2fee1  gdb/testsuite/gdb.mi/testcmds
-ce6eab4c7431358a208b88c04d11ca04  gdb/testsuite/gdb.mi/mi-read-memory.exp
-48d1e1b696e90d58464754eb3914d291  gdb/testsuite/gdb.mi/pthreads.c
-92fab0a631f8729300f7aa37d96ea899  gdb/testsuite/gdb.mi/non-stop.c
-16181ffe3ae831f4cdf008ee46dd482b  gdb/testsuite/gdb.mi/mi-var-rtti.cc
-589b0bbb21b80f091dae7b4796ad8c44  gdb/testsuite/gdb.mi/mi-async.exp
-07a605d8febd00fd85190e1b0d643f7a  gdb/testsuite/gdb.mi/non-stop-exit.c
-8f7203aa62d97cb9b51d2c9b53aaddb3  gdb/testsuite/gdb.mi/mi-start.c
-e4d811bb1e64f4842cd576bde3b918e5  gdb/testsuite/gdb.mi/mi2-var-child.exp
-0be0542cea3a3e4fb83a771486b6cb2e  gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c
-5ba6b85e0a1e61d4fad1fe1c15a7a909  gdb/testsuite/gdb.mi/mi-pending.exp
-86e2a5cae37581cb7d2cd67306838657  gdb/testsuite/gdb.mi/mi-var-invalidate.exp
-2ba94685ae4fa86b4a6f1e62323c0e81  gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
-0861a71f5afb1c1ffcbde0faa8360599  gdb/testsuite/gdb.mi/solib-main.c
-1b545976dbd63194a8be1d2ff614f28c  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.exp
-7514d071dd9a2a3fd13039dd0b1239a9  gdb/testsuite/gdb.mi/mi-regs.exp
-90ad6191668ebe67326b62e3c26710ec  gdb/testsuite/gdb.mi/mi2-amd64-entry-value.c
-84b90b1dd0c26040a216229eb99265d8  gdb/testsuite/gdb.mi/mi-file.exp
-269505cf1531e2d266beff28bd16eb89  gdb/testsuite/gdb.mi/mi-pthreads.exp
-06a6c8e3bef770ac8342dd9eeb9b1052  gdb/testsuite/gdb.mi/mi-var-cmd.exp
-12eeb48d3c7cc6adb566a8dd7d2bc688  gdb/testsuite/gdb.mi/mi-pendshr.c
-6a0557bc340ee56bb7a478028457dbd4  gdb/testsuite/gdb.mi/mi-undefined-cmd.exp
-95ccf2f38e601fb3a49d7191a5389eff  gdb/testsuite/gdb.mi/mi-syn-frame.c
-a85feef331b19208c6f588904349d2ce  gdb/testsuite/gdb.mi/ns-stale-regcache.c
-38e67913f6177baeb654eb90e632492c  gdb/testsuite/gdb.mi/gdb701.exp
-f5783f678f9de93dab8d0334fa464083  gdb/testsuite/gdb.mi/mi-watch.exp
-2dcce9a36dfc83b1b897a6a474553d96  gdb/testsuite/gdb.mi/mi-eval.exp
-6c1cf647ae6be709835ac4cfd83d4e70  gdb/testsuite/gdb.mi/mi-logging.exp
+8d604afc1ec9a8271cb355425f662230  gdb/testsuite/gdb.mi/mi-read-memory.exp
+90fa55569dba515add99b9abe62dc9e1  gdb/testsuite/gdb.mi/pthreads.c
+7dace9c6a1af13fd70b6fd77e98b302a  gdb/testsuite/gdb.mi/non-stop.c
+31df3181164a2ef8c4f1ce2de25d09f9  gdb/testsuite/gdb.mi/mi-var-rtti.cc
+4c656bafd323b17b1c09f99f551623cc  gdb/testsuite/gdb.mi/mi-async.exp
+77947eb3c65ffe210ef136d4dc5a1611  gdb/testsuite/gdb.mi/non-stop-exit.c
+88584dcef40e360c0920130830011263  gdb/testsuite/gdb.mi/mi-start.c
+aed0c009e8a59d74fcee5733d8edeb18  gdb/testsuite/gdb.mi/mi2-var-child.exp
+af17d7fcced55e2aedc1c8acc3f8fdfd  gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c
+3500f3f74368e76692f5197fb37480dd  gdb/testsuite/gdb.mi/mi-pending.exp
+bd9dc5c587bebc48a3b4ce2f5fde3d58  gdb/testsuite/gdb.mi/mi-var-invalidate.exp
+67ae804d38178c93df95c4799d10d955  gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
+db0aa6b6bb77a5ed21da2377c9cff011  gdb/testsuite/gdb.mi/mi-exit-code.exp
+49a5f87b5437483f5000aaa0828a387f  gdb/testsuite/gdb.mi/solib-main.c
+59d250eb4a43f4a52712ebceb97a2a89  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.exp
+95f4fe88d91e60d5d1bd5854084d45a7  gdb/testsuite/gdb.mi/mi-regs.exp
+a7dfa37db2f2b3f149af8d23a854d480  gdb/testsuite/gdb.mi/mi2-amd64-entry-value.c
+ce3d5aaf0f985d34b0f1088205f614af  gdb/testsuite/gdb.mi/mi-file.exp
+c65a56b4414e9be66d0bdc0380d36ac2  gdb/testsuite/gdb.mi/mi-pthreads.exp
+10428b8428368b967a230ba29bcf1918  gdb/testsuite/gdb.mi/mi-var-cmd.exp
+17aea4f87ddf87ffb629a22345c92b2c  gdb/testsuite/gdb.mi/mi-pendshr.c
+6b00d5c6ffec0cbf98cd93ffe8673c56  gdb/testsuite/gdb.mi/mi-undefined-cmd.exp
+ea6919bf74d3a680ef08a09f43f87b44  gdb/testsuite/gdb.mi/mi-syn-frame.c
+40f785768997e3500348440dc8fe182a  gdb/testsuite/gdb.mi/ns-stale-regcache.c
+aa29fd84766674ba1b9bfa5247656c6e  gdb/testsuite/gdb.mi/gdb701.exp
+d0426a99e79aaf4bb2a3ec2e1908d19f  gdb/testsuite/gdb.mi/mi-watch.exp
+478cbc220d01412e770a342f720cf740  gdb/testsuite/gdb.mi/mi-eval.exp
+7e89620af28be8a598109a6c74dfa549  gdb/testsuite/gdb.mi/mi-logging.exp
 a57794f9629bee4dc7f3868362e8d4ff  gdb/testsuite/gdb.mi/gdb792.cc
-c9378a2a8e4837a217da2b4671fae860  gdb/testsuite/gdb.mi/mi-stepn.c
-a8fa74a9464730c7ac74d5a46e72a1e2  gdb/testsuite/gdb.mi/mi-catch-load-so.c
-f5064d570ee83edcbd46316fdcec2e30  gdb/testsuite/gdb.mi/mi-var-block.exp
-bfbe223c35c5e628ec496539f2a75c2a  gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
-c44b9e591d6256de52e0809ecbb8706c  gdb/testsuite/gdb.mi/mi-reg-undefined.exp
-545be3f780e9d19850d96efc08a29184  gdb/testsuite/gdb.mi/solib-lib.c
-990d61b9d5c06d1e2c3eccbfdf41bcd6  gdb/testsuite/gdb.mi/mi-catch-load.c
-947bb856471a896e853f0e83c9a87f9c  gdb/testsuite/gdb.mi/mi-hack-cli.exp
-c381bee88fdecf0d2617ca084875f75b  gdb/testsuite/gdb.mi/mi-info-os.exp
-a194a84eef331139387c4f3c51ffc15f  gdb/testsuite/gdb.mi/array.f
-074b080ae04980174bcb0e212b7e8e42  gdb/testsuite/gdb.mi/mi-var-display.exp
-cc97d207363118cd6b6b7f824f99c0a2  gdb/testsuite/gdb.mi/mi-simplerun.exp
-ec5e54d1353a945838ae7fd1b74479c1  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c
-b45793a744f372c5dbf18b4b246ac14b  gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S
-96b47b6ea61db52b0a49ba23b00e6fd3  gdb/testsuite/gdb.python/py-cmd.exp
-1bc02a96f981257f866540d12c3ab979  gdb/testsuite/gdb.python/py-events.c
-87c26b26243880e8d81963813b9009a8  gdb/testsuite/gdb.python/source2.py
-4394a603c304d6a44f97f6fe6a6c5198  gdb/testsuite/gdb.python/py-pp-integral.exp
-90d656ad13044ea3535ee7d237e0a1a2  gdb/testsuite/gdb.python/py-frame-args.py
-c276f7018fff03337873146035cf9344  gdb/testsuite/gdb.python/py-cmd.c
-93a9b8e199127facec02729eba30286e  gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py.in
+14dda2e5ab3e7c2f65bd1341a65069e8  gdb/testsuite/gdb.mi/mi-stepn.c
+65b81b0975d2a5d24ef0ee6d184bc6d2  gdb/testsuite/gdb.mi/mi-catch-load-so.c
+ce5fa70541167f1a1c405712a5eeed72  gdb/testsuite/gdb.mi/mi-var-block.exp
+b82639e092fb435e03074d978f0abd4f  gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
+4e01f409e77d72d577f39deae8ae9147  gdb/testsuite/gdb.mi/mi-reg-undefined.exp
+27e47b86f91849f62b3e558c28329caf  gdb/testsuite/gdb.mi/solib-lib.c
+7eee1202d32c622df5798801ee62600e  gdb/testsuite/gdb.mi/mi-catch-load.c
+67b82838e20e1ace097d5472657d3640  gdb/testsuite/gdb.mi/mi-hack-cli.exp
+28ff43c0564914d9bb5f1815feb76f9d  gdb/testsuite/gdb.mi/mi-exit-code.c
+6fa82fe0924e32bb2c7d55bd92de2f0d  gdb/testsuite/gdb.mi/mi-info-os.exp
+85e1e30a8477cdc1ea95e9f97c5d186b  gdb/testsuite/gdb.mi/array.f
+38064989ae42bfb7839b80da3429d9bb  gdb/testsuite/gdb.mi/mi-var-display.exp
+f78be7fb64653f0de8c91d42e406a85a  gdb/testsuite/gdb.mi/mi-simplerun.exp
+828abca11e6c59cc4250b3757694aa2b  gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c
+830c01c59a76a04e105f46ef4b523106  gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S
+3d57f0199efbead050ea859ce83ed3ca  gdb/testsuite/gdb.python/py-cmd.exp
+12e04bd051233d2c2c2afe7451e2a594  gdb/testsuite/gdb.python/py-events.c
+117838c3ddfc30464aae4db0198d289b  gdb/testsuite/gdb.python/source2.py
+4624139b71a43818a68d6922ad202b76  gdb/testsuite/gdb.python/py-pp-integral.exp
+06d04a74576a820674b1c4d0cf5cf6d2  gdb/testsuite/gdb.python/py-frame-args.py
+868bc75698fee4ae83db8437ffce4be9  gdb/testsuite/gdb.python/py-cmd.c
+b84514c6b4958628720d21bb3dfb6690  gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py.in
 d33da31e9602c754cd11dcc3f1da1896  gdb/testsuite/gdb.python/py-infthread.c
 f27179eb6877ad0e86fa4a913e22cd29  gdb/testsuite/gdb.python/Makefile.in
-01288ea9e162ec80702c619fe1a39aed  gdb/testsuite/gdb.python/py-explore.cc
-92b97efb98e9825bad029271a562c03b  gdb/testsuite/gdb.python/py-xmethods.exp
-da8e36bb5b2be8bacbfa967634c30619  gdb/testsuite/gdb.python/py-error.py
-b96a6fe8887cd994cce4b78276df53ad  gdb/testsuite/gdb.python/py-finish-breakpoint.exp
-dc8fbf5cdbd88f8bcd06e1ab1805af0a  gdb/testsuite/gdb.python/py-objfile-script.c
-492d58b0696e5592c92493ae80cb31de  gdb/testsuite/gdb.python/py-progspace.exp
-259c73f26b70ab1c0994077d8a36dfb0  gdb/testsuite/gdb.python/lib-types.exp
-767ee3629a925432869f6e13ccd3c896  gdb/testsuite/gdb.python/py-frame-inline.exp
-5233799dace9a499a273e32f40444e15  gdb/testsuite/gdb.python/py-block.exp
-725b481f6713f09e28cef944d71eac2d  gdb/testsuite/gdb.python/py-pp-maint.exp
-abdff12abbc14394c245720fa0f72996  gdb/testsuite/gdb.python/py-evthreads.c
-3a418a37db8879eabd2f733276c3ec1b  gdb/testsuite/gdb.python/py-finish-breakpoint2.cc
-4860ded780279c165f8993fa4848efcc  gdb/testsuite/gdb.python/py-typeprint.py
-d94b3c187b3d60b709ba7f78f4cf15f3  gdb/testsuite/gdb.python/py-evsignal.exp
-05c52c59be6013f10c8c0a7642dec63b  gdb/testsuite/gdb.python/py-symbol.exp
-7c157ffcfb2d0d9e8f27b2ed035f6707  gdb/testsuite/gdb.python/py-shared.c
-2b2c146f5b61f6e852299ce5d1ff7f57  gdb/testsuite/gdb.python/py-parameter.exp
-00619b294de15aef19d6b648767b804e  gdb/testsuite/gdb.python/py-sync-interp.c
-f55b389a31e7ec69206c3bd50933fd1c  gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp
-8e2862633532cd563f4d810bfef58c83  gdb/testsuite/gdb.python/py-objfile.c
-9302207413a5cbbec8340e305518978c  gdb/testsuite/gdb.python/py-frame.exp
-67f18866771f18f63a069fb5e1d1cfc0  gdb/testsuite/gdb.python/py-framefilter.py
-62b463d200790d10a5c7acf7a2a1cc20  gdb/testsuite/gdb.python/py-value-cc.exp
-a1f6a9af6dbba4da3fc197a519749079  gdb/testsuite/gdb.python/py-section-script.exp
-e30fcfa31411c9c834602ac00089531f  gdb/testsuite/gdb.python/py-pp-maint.c
-d20e71932aac5bb5801db70ede729454  gdb/testsuite/gdb.python/py-objfile.exp
-a042031c3229b4338acac63ed1c6a33d  gdb/testsuite/gdb.python/py-frame-args.exp
-4394a603c304d6a44f97f6fe6a6c5198  gdb/testsuite/gdb.python/py-pp-re-notag.exp
-a720d8520b295d698cfeefd35f245e76  gdb/testsuite/gdb.python/py-pp-re-notag.py
-243db30bd42444a05379d225c4cc45ca  gdb/testsuite/gdb.python/py-breakpoint.exp
-a6527ba3b526121f4d91868d8727c537  gdb/testsuite/gdb.python/py-linetable.exp
+a4418bf48b1d8c2c93922eedc8426fe6  gdb/testsuite/gdb.python/py-explore.cc
+ec964688d3fd4af00c8fcb447005dfc3  gdb/testsuite/gdb.python/py-xmethods.exp
+c9d03aac243bc8b9caea2ffb46064200  gdb/testsuite/gdb.python/py-error.py
+5c5cbca7755aa0a8ee3a9ab7314d3964  gdb/testsuite/gdb.python/py-finish-breakpoint.exp
+0d47196e435c7546054ee0f443ea68d7  gdb/testsuite/gdb.python/py-objfile-script.c
+83a0c18469032ccc3b5a2fc0f049ed0f  gdb/testsuite/gdb.python/py-progspace.exp
+49c64dd18a0c1db024e60b6e8fe21786  gdb/testsuite/gdb.python/lib-types.exp
+eba946fe257dec9e948ebc27d77d008f  gdb/testsuite/gdb.python/py-frame-inline.exp
+316b1e20a4212af0ff8c5bb7ce1dd2d0  gdb/testsuite/gdb.python/py-block.exp
+d9b65f6434f73b0949cf32f2706cc76d  gdb/testsuite/gdb.python/py-completion.exp
+aa345f76dfc1cc4d58f623ecacf4ebc0  gdb/testsuite/gdb.python/py-pp-maint.exp
+3bb681ef4e46ca437f98b90f9d13729e  gdb/testsuite/gdb.python/py-evthreads.c
+c6fc98c8324734b0b9d653338c6b9db6  gdb/testsuite/gdb.python/py-finish-breakpoint2.cc
+e4bd78663e655cacf0f8b9b2e0b62553  gdb/testsuite/gdb.python/py-typeprint.py
+1956bc8ecfe7ab9cb0fe0d65b19aaf14  gdb/testsuite/gdb.python/py-evsignal.exp
+a0a99850b216ffab1ee61e5668ab8d2a  gdb/testsuite/gdb.python/py-symbol.exp
+1cc24b3e71c8ae20d010200c91c1a8e0  gdb/testsuite/gdb.python/py-shared.c
+28ddf0aeb270bc3573d526363a169acf  gdb/testsuite/gdb.python/py-parameter.exp
+3da274b968ba93b400c459ac5293cf21  gdb/testsuite/gdb.python/py-sync-interp.c
+e17fce4d29be532be40531218764f3cb  gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp
+4d95180b9972ce262b64df385e15f18f  gdb/testsuite/gdb.python/py-objfile.c
+5c87523cf98b1ec48e8bdf3761f2b51f  gdb/testsuite/gdb.python/py-frame.exp
+ef99dbad1232f21dfd9a5bcf5b7bc8ca  gdb/testsuite/gdb.python/py-framefilter.py
+86e246acca8993959033f2e7b993e3cf  gdb/testsuite/gdb.python/py-value-cc.exp
+720d52d5a11f807ddf3fd17ff0407049  gdb/testsuite/gdb.python/py-section-script.exp
+4ed9b1d095345f729fa5c180544a79f1  gdb/testsuite/gdb.python/py-pp-maint.c
+e4e3c9741d8c4a64f9dc02a1a8bb87e1  gdb/testsuite/gdb.python/py-caller-is.c
+463ca9bfd3da6bb99fe10d5af8045930  gdb/testsuite/gdb.python/py-objfile-script-gdb.py
+afe9eb704f834af3afef5d82c4c313f1  gdb/testsuite/gdb.python/py-objfile.exp
+7ac71c6d831cc688cf31a83496d75154  gdb/testsuite/gdb.python/py-frame-args.exp
+4624139b71a43818a68d6922ad202b76  gdb/testsuite/gdb.python/py-pp-re-notag.exp
+622d933a42f288fe576526348d767613  gdb/testsuite/gdb.python/py-pp-re-notag.py
+720871aa12b9d7d76c5c499467ed77ed  gdb/testsuite/gdb.python/py-breakpoint.exp
+e3a353f9e9f3f2834a5ecd501042cd9c  gdb/testsuite/gdb.python/py-linetable.exp
 2201fe232be56f834518596b4f09f9ce  gdb/testsuite/gdb.python/py-frame.c
-af37b4651b873cf145e60d9e308524b0  gdb/testsuite/gdb.python/py-symtab.exp
-0cb2ddfb1a76f49c48ee3a0b63278f95  gdb/testsuite/gdb.python/amd64-py-framefilter-invalidarg.S
-36550d0c9c4f314025044c626eb1df1c  gdb/testsuite/gdb.python/py-xmethods.py
-7526d8a0f75b43881d479060cabaf43d  gdb/testsuite/gdb.python/py-error.exp
-6bc0123da86c2ff44997e2a1821ac720  gdb/testsuite/gdb.python/py-strfns.exp
-7b157f17dace40f31d9e553d73697b33  gdb/testsuite/gdb.python/py-xmethods.cc
-61c6c2108fbbe2f75edc4dce028987f4  gdb/testsuite/gdb.python/py-explore.c
-da2f62bec7fcb4d5df847cd298ca7050  gdb/testsuite/gdb.python/py-explore.exp
-1425b161cdfa8c9fbedf79ae941a12d4  gdb/testsuite/gdb.python/py-value.c
-98129f8bbf0d0264276a9d8a0899c25a  gdb/testsuite/gdb.python/py-prettyprint.exp
-d9add31bd4f32fe7673ebc32aad4b7a5  gdb/testsuite/gdb.python/py-type.c
-49762c66f9f31968b7ddadfa21866273  gdb/testsuite/gdb.python/py-shared.exp
-a1703208074c3c0d39f06103a599413c  gdb/testsuite/gdb.python/py-pp-maint.py
-34642298797f12738ed5b4904f247cbb  gdb/testsuite/gdb.python/py-events.py
-3966ed24f77782724c8075ce56fccd8b  gdb/testsuite/gdb.python/py-frame-args.c
-70828afef214ac80c3b5aec228cc94b5  gdb/testsuite/gdb.python/py-events-shlib.c
-7c7bed3fe28f13265506c50543eef6ee  gdb/testsuite/gdb.python/py-prompt.exp
-c370e81b5b7000400143ecd39d32ef1d  gdb/testsuite/gdb.python/source1
-38f5f5200aecaf1816baff434c5f1880  gdb/testsuite/gdb.python/py-linetable.c
-111a4dcd323d71e7701eacee1661a7fa  gdb/testsuite/gdb.python/py-finish-breakpoint2.py
-1c2c6864a14dada86843094dc4df4b2b  gdb/testsuite/gdb.python/python.c
+368512990d9d06b346f042d576dfd08f  gdb/testsuite/gdb.python/py-symtab.exp
+0969ef8cea7860173eb20f931b99a09d  gdb/testsuite/gdb.python/amd64-py-framefilter-invalidarg.S
+a7fd5f2ac012c6829f68fc8f71137fc4  gdb/testsuite/gdb.python/py-xmethods.py
+efcbbefe2a6177f1335f0a210260d4e5  gdb/testsuite/gdb.python/py-error.exp
+24561d1ee498a4ed9f4cf39e7ea57a8e  gdb/testsuite/gdb.python/py-strfns.exp
+ac1178de807dcaa06c9abf6ba5c7161b  gdb/testsuite/gdb.python/py-xmethods.cc
+8f3bcd95fc238daced97f53c3a546432  gdb/testsuite/gdb.python/py-explore.c
+9ce17590dc66b201b5d95ce521f43827  gdb/testsuite/gdb.python/py-explore.exp
+f739e39187c03fef7c68329a0e67c833  gdb/testsuite/gdb.python/py-value.c
+2453cc525c1f12995c9367e556b6ee5c  gdb/testsuite/gdb.python/py-prettyprint.exp
+0ce53d61de3bd6bc2fbf49f5b405f8a6  gdb/testsuite/gdb.python/py-type.c
+eef0f7a02e7d23d2f28ad5df04a3a496  gdb/testsuite/gdb.python/py-shared.exp
+20e24cdb3fee000dad98f911f0baa23a  gdb/testsuite/gdb.python/py-pp-maint.py
+8367467101801b6e118a3af528601691  gdb/testsuite/gdb.python/py-events.py
+425335bc085dce42b810a1b99336a996  gdb/testsuite/gdb.python/py-frame-args.c
+0408fed72b1aeddb53112fe4054b2b68  gdb/testsuite/gdb.python/py-events-shlib.c
+b3d2bcc6363456b4080cbfeb213041f7  gdb/testsuite/gdb.python/py-prompt.exp
+2db47e6d29838ffc8b96dabce27fef00  gdb/testsuite/gdb.python/source1
+cee52a94f909d092154f9fcaa9fcb764  gdb/testsuite/gdb.python/py-linetable.c
+7dde992c265a9bf984ef08f06c3b0f11  gdb/testsuite/gdb.python/py-finish-breakpoint2.py
+70bb6fc8817d764dbbc74e2a009e339c  gdb/testsuite/gdb.python/py-lookup-type.exp
+5673d62b78d471afda193e1d08d264ca  gdb/testsuite/gdb.python/python.c
 5f2a14106984ed919fa12f9d8cd9d4b8  gdb/testsuite/gdb.python/py-inferior.c
-a52ff683ec432dfff3a754492972ec8f  gdb/testsuite/gdb.python/python-1.c
-cfbaf1758e4a136bef62edd3173c9c2c  gdb/testsuite/gdb.python/lib-types.cc
-c2cb1669a0783f54124606fdea48aa91  gdb/testsuite/gdb.python/py-symbol.c
-0ca4a082be57d676107572ef2dd2c7b4  gdb/testsuite/gdb.python/py-finish-breakpoint2.exp
-443711e68092af9ec469c9a906be2e9d  gdb/testsuite/gdb.python/py-explore-cc.exp
-d41a719097014a5ced2d9be08a523ce7  gdb/testsuite/gdb.python/py-typeprint.cc
-d9db3ee70858ea31047f61732d4be2a1  gdb/testsuite/gdb.python/py-block.c
-40686b451289cb45425b1604c9ed9d65  gdb/testsuite/gdb.python/py-value-cc.cc
-ff8ceeabec15cc24f8c3abd90b0af0e3  gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in
-b28e3b7baabb399f07f5a57e0a37d89b  gdb/testsuite/gdb.python/py-prompt.c
-78c3f02dfbc35b2af10214ec125ea8a5  gdb/testsuite/gdb.python/py-framefilter.c
-d14bfca7e7e1e8abfd31c26f0358c208  gdb/testsuite/gdb.python/py-events.exp
-13ef117beef017f2b0d7d04d70b6f026  gdb/testsuite/gdb.python/py-frame-inline.c
-8619f693ac30ab58ec02b4e164fd4a6e  gdb/testsuite/gdb.python/py-linetable.S
-564456890016bc7f778d3f2b584adba5  gdb/testsuite/gdb.python/py-sync-interp.exp
-5910ab262226fc6bbc3cb9da2f99bce1  gdb/testsuite/gdb.python/py-evthreads.exp
-095d8f8d5e856a51a21c173f09afbe7c  gdb/testsuite/gdb.python/py-objfile-script.exp
-7d47afeeee5c1d59990ba74b1a58e219  gdb/testsuite/gdb.python/py-section-script.py
-44cfa43f03be967471d5edd96d71cafb  gdb/testsuite/gdb.python/py-pp-re-notag.c
-2747ed7734245e13654ac06fb824c1c3  gdb/testsuite/gdb.python/py-section-script.c
-3944dda0cb69696331566f6cdca03af3  gdb/testsuite/gdb.python/py-breakpoint.c
-90d844f0159334bbb66bc109c37a5b23  gdb/testsuite/gdb.python/py-typeprint.exp
-8ccfb8641439ad2ee3b2710a4e7324ee  gdb/testsuite/gdb.python/py-framefilter-invalidarg.py
-a52ff683ec432dfff3a754492972ec8f  gdb/testsuite/gdb.python/py-shared-sl.c
-cf9b429848cec5a6a896edb849f42ee6  gdb/testsuite/gdb.python/py-arch.exp
-8394f39336e845e3dd7f92d480fc5399  gdb/testsuite/gdb.python/py-template.cc
-da2a5caf6d02bdfa7809c8169bca81ca  gdb/testsuite/gdb.python/py-progspace.c
-abe779c5f57692fde232c0f46c3995b1  gdb/testsuite/gdb.python/py-finish-breakpoint.py
-700fb3f30633fb6b734474ed3f8eb1ab  gdb/testsuite/gdb.python/py-framefilter-mi.exp
-fb116a830868db21f93705fe3ab00e01  gdb/testsuite/gdb.python/py-arch.c
-7602f5fcf63a7679e7fb1fe7c60508da  gdb/testsuite/gdb.python/python.exp
-43148a4f0da0d0e8b8cdb6e6431c643e  gdb/testsuite/gdb.python/py-framefilter-mi.c
-aa1f8424e6578b7b65b6ebd579dd7f5b  gdb/testsuite/gdb.python/py-framefilter.exp
-a95bc7b95805aecb904b5cc131985783  gdb/testsuite/gdb.python/py-inferior.exp
-17e570390bda6b30df54a35316184aa7  gdb/testsuite/gdb.python/py-strfns.c
-2492c9eef505c63b5b65e77457be3362  gdb/testsuite/gdb.python/py-template.exp
-2e6a1ae493ef16757ed40dcb5b57c8ae  gdb/testsuite/gdb.python/py-prettyprint.c
-880c5610d0d94528ee750fd16441c321  gdb/testsuite/gdb.python/py-pp-integral.py
-44cfa43f03be967471d5edd96d71cafb  gdb/testsuite/gdb.python/py-pp-integral.c
-2e29bc61da423c0a7a2ca78ea67471f1  gdb/testsuite/gdb.python/py-framefilter-gdb.py.in
-19640bb48cbab2b3a1edbc3b40d0a65d  gdb/testsuite/gdb.python/py-mi.exp
-838c8042bf522c2370ae4b53398a9e46  gdb/testsuite/gdb.python/py-function.exp
-f0684babfc7a18e9df64fa364db55eaf  gdb/testsuite/gdb.python/py-finish-breakpoint.c
-22f4a6feaa794a233a4470da73777887  gdb/testsuite/gdb.python/py-infthread.exp
-a04c422ab487fa190a6abad9034567fc  gdb/testsuite/gdb.python/py-type.exp
-420e0230f2dc69539b47500dc57bea4b  gdb/testsuite/gdb.python/py-value.exp
-b05fa08f392786683cc597c870fc8265  gdb/testsuite/gdb.python/py-prettyprint.py
+387632b8f22792e3c276615dd4f99036  gdb/testsuite/gdb.python/python-1.c
+e4aa331da3b6ae9d6faa1aead2407952  gdb/testsuite/gdb.python/lib-types.cc
+25e3784d47e33abf7b7a26b50c1f2b32  gdb/testsuite/gdb.python/py-symbol.c
+b19b893a7170f9b03f326d12d66e0746  gdb/testsuite/gdb.python/py-finish-breakpoint2.exp
+c8c4a78ec5fdfefb7d20c1edbd3f791d  gdb/testsuite/gdb.python/py-explore-cc.exp
+4527c846126994c8e963026ef45f3b2b  gdb/testsuite/gdb.python/py-typeprint.cc
+5bad793d42bebb09005a77e4bde8bacd  gdb/testsuite/gdb.python/py-block.c
+00079309aa20eb470d131df69cb0c926  gdb/testsuite/gdb.python/py-value-cc.cc
+0199765c5ae23bcbeb8b1b92d407d262  gdb/testsuite/gdb.python/py-prompt.c
+bd2f25fb8a86f0cc961b6e45131c168b  gdb/testsuite/gdb.python/py-framefilter.c
+0b41d488cb335080eab07fcec9a9b447  gdb/testsuite/gdb.python/py-events.exp
+b3402057c9f2e46816c282c0434c10a3  gdb/testsuite/gdb.python/py-caller-is.exp
+9f5a91b3054e2af87741da27a080844a  gdb/testsuite/gdb.python/py-frame-inline.c
+e5a206de37ef8026ab797c23e2b53edc  gdb/testsuite/gdb.python/py-linetable.S
+15973ce51947517b97f39ea42dd7b110  gdb/testsuite/gdb.python/py-sync-interp.exp
+768c798fb7819daee5754680c7b1e944  gdb/testsuite/gdb.python/py-evthreads.exp
+48a65209a5086957c0f52150ad0560f0  gdb/testsuite/gdb.python/py-objfile-script.exp
+0c1c0866ec7affdd6aee5020bd1cd872  gdb/testsuite/gdb.python/py-section-script.py
+ab7d6412990c2550035df82cf9658539  gdb/testsuite/gdb.python/py-pp-re-notag.c
+3cb86723bd4c6f330857eec9572052bc  gdb/testsuite/gdb.python/py-section-script.c
+b2a1cbdf6c1eb3e7655d5d5d8e7e2df9  gdb/testsuite/gdb.python/py-breakpoint.c
+24ef9e0ea6f37d7fd0c1089bcb053d34  gdb/testsuite/gdb.python/py-typeprint.exp
+bce404ad3b3efb8f97c64c4c7ff09c26  gdb/testsuite/gdb.python/py-framefilter-invalidarg.py
+387632b8f22792e3c276615dd4f99036  gdb/testsuite/gdb.python/py-shared-sl.c
+6617486fe114f47a5af3cb662a9a1d66  gdb/testsuite/gdb.python/py-arch.exp
+eace3dbd325751086bd41ad6d0907588  gdb/testsuite/gdb.python/py-template.cc
+ac17569a406dff89574cf379fda61dc3  gdb/testsuite/gdb.python/py-progspace.c
+08a97f65f335c1d495bbe338171c7d5e  gdb/testsuite/gdb.python/py-finish-breakpoint.py
+c0965bac186c913be9a540aad6307896  gdb/testsuite/gdb.python/py-framefilter-mi.exp
+dd62e677888e132103ea63af41be7f06  gdb/testsuite/gdb.python/py-arch.c
+43ee8706c9a7d32e5e968070ed04cf01  gdb/testsuite/gdb.python/python.exp
+4e17740a43fc4bc3abbfd1a2684a6eae  gdb/testsuite/gdb.python/py-framefilter-mi.c
+c80d42858dba9e7de2dfd93d3c86f999  gdb/testsuite/gdb.python/py-framefilter.exp
+644de863d3bc962ba4bc8508d99a0d82  gdb/testsuite/gdb.python/py-inferior.exp
+373d7a430d53f676c0c26eb4cbabc518  gdb/testsuite/gdb.python/py-strfns.c
+5b5e68975905e621812a04d513fa3b31  gdb/testsuite/gdb.python/py-template.exp
+9b847b082496979d995f760e50fc68b5  gdb/testsuite/gdb.python/py-prettyprint.c
+104df18ecf00ee34171885f8708e2e5b  gdb/testsuite/gdb.python/py-pp-integral.py
+a529449a27236099c00020cd5ec559f3  gdb/testsuite/gdb.python/py-completion.py
+ab7d6412990c2550035df82cf9658539  gdb/testsuite/gdb.python/py-pp-integral.c
+bc7fc64f73f3668bcc702b2331236e4b  gdb/testsuite/gdb.python/py-framefilter-gdb.py.in
+16bd737d59efe69a0b7bc40e3efcfdbe  gdb/testsuite/gdb.python/py-mi.exp
+1ea5aad45076f4fc281ef65e969e1203  gdb/testsuite/gdb.python/py-function.exp
+b650178b6cf6d22a59f6ab3d50388f92  gdb/testsuite/gdb.python/py-finish-breakpoint.c
+cd662e462c77374d88b8b34a003b41ab  gdb/testsuite/gdb.python/py-infthread.exp
+9aede4cbf7c4fa96b7e6aa435202790b  gdb/testsuite/gdb.python/py-type.exp
+75fc1c9b283f5491031ac7b61313ed84  gdb/testsuite/gdb.python/py-value.exp
+d400e33253e9568983d3ea607152abfa  gdb/testsuite/gdb.python/py-prettyprint.py
 4bdef16f32aba1bb0f2cc3098a8004e0  gdb/testsuite/gdb.server/Makefile.in
-7fac70ba3780dc214df0339d09b45dac  gdb/testsuite/gdb.server/server-kill.exp
+89f2f14af659ab32ff1e58e9d3108986  gdb/testsuite/gdb.server/server-kill.exp
 b83c8391da68f1e641f679bf1eed5690  gdb/testsuite/gdb.server/transfer.txt
-74fb1987704dffa9dc1f07d459b4c6b3  gdb/testsuite/gdb.server/file-transfer.exp
-40f42abe1b7d446ef6b75328730cfccb  gdb/testsuite/gdb.server/solib-list-main.c
-0c43125184de166e8e530a5b26849b2a  gdb/testsuite/gdb.server/wrapper.c
-52fe1a366f75e9d5232c3d4e3de9cd3c  gdb/testsuite/gdb.server/server-run.exp
-62b3f1ad3467aec800ad8d0cd591b7cb  gdb/testsuite/gdb.server/no-thread-db.c
-f10348db85cec60bc1eb5563090e8fd9  gdb/testsuite/gdb.server/ext-attach.exp
-a8e2f631e4d57fe43434fefa7c770f13  gdb/testsuite/gdb.server/solib-list-lib.c
-225c0e04c63b8287b648dbb3b10a2f9f  gdb/testsuite/gdb.server/no-thread-db.exp
-b28e3b7baabb399f07f5a57e0a37d89b  gdb/testsuite/gdb.server/ext-attach.c
-c4cb7e2b6367fd0c31343d582d2df980  gdb/testsuite/gdb.server/ext-run.exp
-b36711b735d4630ab900b5d8b696b924  gdb/testsuite/gdb.server/server.c
-0a5db9da370bb948f122ad1e62aae06b  gdb/testsuite/gdb.server/solib-list.exp
-c6237ffe82c08718809ac77b24197d40  gdb/testsuite/gdb.server/server-exec-info.exp
-8dd6ff33361ef788c3cae58d27e2e401  gdb/testsuite/gdb.server/server-kill.c
-83875fee817f16ef54d34c29ea243bd9  gdb/testsuite/gdb.server/server-mon.exp
-e9708865aa42ed176dcee6a5ece14ebd  gdb/testsuite/gdb.server/wrapper.exp
+f8ceeaeb741e1aefc07ff9a1abee633b  gdb/testsuite/gdb.server/file-transfer.exp
+d3bddc2e95b60f704388ad86574d96aa  gdb/testsuite/gdb.server/solib-list-main.c
+b1ed7f10b28b5a992ca7d87982ec2dcd  gdb/testsuite/gdb.server/wrapper.c
+021862ee5b8e5bf10116a791cf2ed5ab  gdb/testsuite/gdb.server/server-run.exp
+76ffbd3ac9b97abfb51aba5445492df8  gdb/testsuite/gdb.server/no-thread-db.c
+bf29ba48c72724b27aa5b4dbf27d532a  gdb/testsuite/gdb.server/ext-attach.exp
+a2d3851bfec03af9050ad0266bf423bb  gdb/testsuite/gdb.server/solib-list-lib.c
+ef5fd759550d3a7fd636c536e0ddf446  gdb/testsuite/gdb.server/no-thread-db.exp
+0199765c5ae23bcbeb8b1b92d407d262  gdb/testsuite/gdb.server/ext-attach.c
+79615e9eceef1e3e09f149ec6b0615d4  gdb/testsuite/gdb.server/ext-run.exp
+c16d8bd87d78c3cd277fdb1f521dc6c5  gdb/testsuite/gdb.server/server.c
+08b9099f563d9f4f6bda7049e4f58933  gdb/testsuite/gdb.server/solib-list.exp
+c435d8a621c3cd8232888e1221b7d020  gdb/testsuite/gdb.server/server-exec-info.exp
+0d90438e9f74cdade5317a64dfbbc7c6  gdb/testsuite/gdb.server/server-kill.c
+e5afb4cd3dcb304ef708d45912fd5d38  gdb/testsuite/gdb.server/server-mon.exp
+64596d2a793826fddc6bfa549d29696f  gdb/testsuite/gdb.server/wrapper.exp
 103f30848803219a9db8fe445895dfa2  gdb/testsuite/gdb.java/Makefile.in
 030f9fc25e9acc988163f24817c83ee9  gdb/testsuite/gdb.java/jmain.java
 e3a680cfde66129ed9607ad7c20fd6a0  gdb/testsuite/gdb.java/jmisc.java
-eabb30a0ef58c6efd50bd58726a0114a  gdb/testsuite/gdb.java/jmisc.exp
-33e5e44306d5d1fc167faf1db5fab38f  gdb/testsuite/gdb.java/jmain.exp
-b07d0e06de2653d709220f2d8d5720da  gdb/testsuite/gdb.java/jnpe.exp
-9d5df860a3e3c013f97906ae5657e1f6  gdb/testsuite/gdb.java/jv-print.exp
-bbed2b63804f68ee6dd13e82912d8ea6  gdb/testsuite/gdb.java/jnpe.java
-758ecb1640697fbd2d294eb285d3b75f  gdb/testsuite/gdb.java/jprint.java
-0b0f93e94009e8fc347abae450419689  gdb/testsuite/gdb.java/jv-exp.exp
-8023ecc88e9144fab3ecb096aa1f3a33  gdb/testsuite/gdb.java/jprint.exp
-416ecd50cac44b3a2fa2ed5a2b2f0b86  gdb/testsuite/gdb.base/inferior-died.exp
-ba24922006aa549443c65f9482d9b650  gdb/testsuite/gdb.base/solib-disc.c
-0d6ef9d803f27a96e9756635d57c3939  gdb/testsuite/gdb.base/longest-types.c
-b6a05612c72c68de1030b6cb5b505d7d  gdb/testsuite/gdb.base/solib-display.exp
-a1068c7fe8664cbe7fd82e3f011239c9  gdb/testsuite/gdb.base/hbreak-unmapped.c
-803f78c7721914103384d530f59274d9  gdb/testsuite/gdb.base/continue-all-already-running.exp
-3429644b6f97aeeabf6edf167745d3b4  gdb/testsuite/gdb.base/ifelse.exp
+4299f2c735f2b7bc5920bbe39f8cfc5c  gdb/testsuite/gdb.java/jmisc.exp
+b91c604172e909bfcd0a0c4db3c2dbf8  gdb/testsuite/gdb.java/jmain.exp
+9743697fd7dbd0733171b854a66188de  gdb/testsuite/gdb.java/jnpe.exp
+16460b79c367e3e04e304015f0021ac0  gdb/testsuite/gdb.java/jv-print.exp
+fb70f3abbc92d2795788ae02c7331dca  gdb/testsuite/gdb.java/jnpe.java
+de1c8cd461a0603cf7600c7d598c62f2  gdb/testsuite/gdb.java/jprint.java
+45fab749f0f539ab2b50d136251f0829  gdb/testsuite/gdb.java/jv-exp.exp
+1548b1836c0446d9276c4fd4e89e8d45  gdb/testsuite/gdb.java/jprint.exp
+bd8ec2501d33887649705bf8fe9b584e  gdb/testsuite/gdb.base/inferior-died.exp
+24e216b041f94200d9e4a5cbac2a4a44  gdb/testsuite/gdb.base/solib-disc.c
+00b41c1696897409da3bfc80f8772ad2  gdb/testsuite/gdb.base/longest-types.c
+80772a229f1cb416ce3480a1a53ee9c9  gdb/testsuite/gdb.base/solib-display.exp
+354083607aa4ebccaf1bce1643869c2d  gdb/testsuite/gdb.base/hbreak-unmapped.c
+abcabbef85eef0fb2c3ba174fc12d6f3  gdb/testsuite/gdb.base/continue-all-already-running.exp
+031701cdfdbb9735cbd901194a47f59b  gdb/testsuite/gdb.base/ifelse.exp
 51c28755e9cd7289437025077044a922  gdb/testsuite/gdb.base/pr10179-b.c
-cbb2280276559dd7f7102b68cec817c6  gdb/testsuite/gdb.base/vla-ptr.exp
-78c45a2c94c24872dc6d4aea26859a01  gdb/testsuite/gdb.base/store.exp
-4fcfdc564d5264531196385eafc8e8a2  gdb/testsuite/gdb.base/exe-lock.exp
-f24c556c8f0dbee31d9183b522740e5b  gdb/testsuite/gdb.base/break1.c
-8d3ddf4ea359b538d909ebda31f83b8f  gdb/testsuite/gdb.base/trace-commands.exp
-1eeb9139f1f2867603df8ad835f41735  gdb/testsuite/gdb.base/realname-expand-real.c
-766a99d17dfe2304cd741a356222320c  gdb/testsuite/gdb.base/range-stepping.c
-7e7fe794ed2a444c4bf2ed34312a941e  gdb/testsuite/gdb.base/unloadshr2.c
-bdc09cb5b5718bb2b0e0f9d11330e95d  gdb/testsuite/gdb.base/default.exp
-9b5b2f0fcf279f9ee30283799303bb25  gdb/testsuite/gdb.base/mips_pro.c
-d7fbc2549024058ec9dc647cfc8467ae  gdb/testsuite/gdb.base/so-disc-shr.c
-93759491e2fd0c115d20b0e00e977c7a  gdb/testsuite/gdb.base/sigbpt.exp
+ce73e344bb7320c40097729e5336cb7d  gdb/testsuite/gdb.base/vla-ptr.exp
+f2564c628f19a0d651422241fa058984  gdb/testsuite/gdb.base/store.exp
+dc86f44d395f0d903a77c8c1e545c147  gdb/testsuite/gdb.base/exe-lock.exp
+aaa1d26e7e03a11efdaec50da959da22  gdb/testsuite/gdb.base/break1.c
+23addbd3b9bb8e419a4294d098ada246  gdb/testsuite/gdb.base/trace-commands.exp
+53de84fc750b289cef53660d397165b8  gdb/testsuite/gdb.base/realname-expand-real.c
+800c099a13cc28089bb0a8dff39953e8  gdb/testsuite/gdb.base/range-stepping.c
+bef7b087a90dab015786baaebd3b9d85  gdb/testsuite/gdb.base/unloadshr2.c
+34d2686c57ff2ddbe9341cd657de2af1  gdb/testsuite/gdb.base/default.exp
+5c59f840fd501691072c20cb47bab686  gdb/testsuite/gdb.base/mips_pro.c
+e905f990fe0cf57f1a26021c44d9404b  gdb/testsuite/gdb.base/so-disc-shr.c
+cd6bd6b3ad96323bbe7d2f7ed51a0baf  gdb/testsuite/gdb.base/sigbpt.exp
 3510a5962c44ec9aeffdf4accdf9a4cb  gdb/testsuite/gdb.base/int-type.c
-8f0cf921bfe628596289c666115d3c6e  gdb/testsuite/gdb.base/sigchld.exp
-ae6aca1643e78393b8f529474ee74d37  gdb/testsuite/gdb.base/gdb1555.c
-bcda8d4e6ca11e6bae9b1b2926e59913  gdb/testsuite/gdb.base/call-sc.exp
-754cbdacea2c3af523ac3e1eb42b3ac4  gdb/testsuite/gdb.base/gnu-ifunc.exp
+9a3ba726735df42bdd54663335e98a7a  gdb/testsuite/gdb.base/sigchld.exp
+398a281bce312ca939a43b13df182c3f  gdb/testsuite/gdb.base/gdb1555.c
+78ea23596d8f4b8a015a6d094bf64074  gdb/testsuite/gdb.base/call-sc.exp
+9ddf1da976774f8539e936d35f71650b  gdb/testsuite/gdb.base/gnu-ifunc.exp
 f356ff50643e59000ef3d9f24089698b  gdb/testsuite/gdb.base/psymtab2.c
-3a9321fae6808d330f1f064aa274d49e  gdb/testsuite/gdb.base/hbreak2.exp
-bec34eb73f202c8ed340270d90e174a9  gdb/testsuite/gdb.base/ctxobj-v.c
-91907e60647909daed2a097be0d47d27  gdb/testsuite/gdb.base/type-opaque-main.c
-f9824b8db5cc422ec134f5e1017608e9  gdb/testsuite/gdb.base/annota-input-while-running.c
-e8ba910cba411c79b3e3ce07b8c94240  gdb/testsuite/gdb.base/paginate-execution-startup.exp
-5c970c659a7c3acff71e9dfe9786028d  gdb/testsuite/gdb.base/langs.exp
-95edf68e05c395f8e0c3f922b4876ca5  gdb/testsuite/gdb.base/multi-forks.exp
-868f58eebd7bb01701bbca3912887345  gdb/testsuite/gdb.base/siginfo.c
-10dc70c6742f24a1dcc03d0b94c2be74  gdb/testsuite/gdb.base/ptype.exp
-16c1e58c8b1c5d45359fb7cb85190a1c  gdb/testsuite/gdb.base/code_elim2.c
+ca6384eb01efcde335516a9995bb27aa  gdb/testsuite/gdb.base/hbreak2.exp
+da284c83838ed73206dfb770839dd3c5  gdb/testsuite/gdb.base/ctxobj-v.c
+7cfc3fa5f92965a83fce129bac6e478f  gdb/testsuite/gdb.base/type-opaque-main.c
+1f3053f1f702d78f8970d824a5f36ada  gdb/testsuite/gdb.base/annota-input-while-running.c
+73296eb435654d08bc3bc081d77d0f05  gdb/testsuite/gdb.base/paginate-execution-startup.exp
+9cb503373c840cf80307dee82faa5181  gdb/testsuite/gdb.base/langs.exp
+90afb28db50c70da87b5ee2ca5c8b116  gdb/testsuite/gdb.base/multi-forks.exp
+0b44b3aa95abba8d0808759dfe2aa63d  gdb/testsuite/gdb.base/siginfo.c
+c5dac16a419b1e27770b37724155ec1c  gdb/testsuite/gdb.base/ptype.exp
+31caf3d989d5af97d7176e9e461f2bc2  gdb/testsuite/gdb.base/code_elim2.c
 78e5943d56b5a904e2e29e51749312ed  gdb/testsuite/gdb.base/lineinc.c
-bece708edda16f2794a94d57898b2da9  gdb/testsuite/gdb.base/commands.exp
-774f4be3d6746b74ac1c514fa44bd312  gdb/testsuite/gdb.base/bfp-test.exp
-338345a7e3704f964b5059f89c34d4a4  gdb/testsuite/gdb.base/solib-search.c
-35728f9fb69868d02faf4b4ebb4af863  gdb/testsuite/gdb.base/label.exp
-5c142c3cf7da62e7072e59e0b5b324de  gdb/testsuite/gdb.base/break-main-file-remove-fail.exp
-0d9cba23099d62f8c8dfd4ab7000c793  gdb/testsuite/gdb.base/filesym.c
-c6be4a8dc48373cf8f4a309a6b0a384d  gdb/testsuite/gdb.base/vla-sideeffect.exp
-3ed769792a770e5428d4dc301e28af5b  gdb/testsuite/gdb.base/watch_thread_num.c
-f1ef56a91f06ee15544837ee4ea40738  gdb/testsuite/gdb.base/hbreak.c
-583fec7aba228c8cc0efc0c3a3fa5869  gdb/testsuite/gdb.base/callfuncs.c
-53d32bc913e787d5be43e8ce6a34d82c  gdb/testsuite/gdb.base/consecutive-step-over.exp
-bf1cfd094cbd132aa408cce057585d73  gdb/testsuite/gdb.base/bg-execution-repeat.c
-dc32c04acf11d982bfa7bb32ecf2eeca  gdb/testsuite/gdb.base/condbreak-call-false.c
-99d081a7f7afaac0ed88f91ba2a8b1a2  gdb/testsuite/gdb.base/break-caller-line.exp
-bfb20e29caec6f80a9bb44593e2eec8c  gdb/testsuite/gdb.base/dfp-exprs.exp
-cfbccb8fd0b5543680b261ada53c45fa  gdb/testsuite/gdb.base/shmain.c
-7fcf56c612ac3258cecf8546b3322038  gdb/testsuite/gdb.base/dmsym.exp
-e6b9d5a1a4914be3f653111139dc42cd  gdb/testsuite/gdb.base/inferior-died.c
+8a4f9a9b3f3c429a8114ae73b7170980  gdb/testsuite/gdb.base/commands.exp
+d5afa0fe202b332d610307c57010db02  gdb/testsuite/gdb.base/bfp-test.exp
+68e29530dc0971e322cdf15ce7cc0515  gdb/testsuite/gdb.base/solib-search.c
+181f32529062ef89d0e20ecde86305b6  gdb/testsuite/gdb.base/label.exp
+64f863d429bf496de79f37106e2bef2e  gdb/testsuite/gdb.base/dprintf-detach.c
+bb711ce97cf00cad9c9bce68090c3007  gdb/testsuite/gdb.base/break-main-file-remove-fail.exp
+30cc0608148bbc9e20afc76fd79b94f0  gdb/testsuite/gdb.base/filesym.c
+10b4362a0ae6374332df3c03fdf050e3  gdb/testsuite/gdb.base/vla-sideeffect.exp
+e2bfb40807919cf1e40d05f583f2f1b2  gdb/testsuite/gdb.base/watch_thread_num.c
+242f950aac3d00b864f482313086acb4  gdb/testsuite/gdb.base/hbreak.c
+9d5c51006bb7e037060fcf47b0a25326  gdb/testsuite/gdb.base/callfuncs.c
+403544dac2e0023e75c1b2befd62f32d  gdb/testsuite/gdb.base/consecutive-step-over.exp
+43d4b59a5dcdb626032cc057f5fe7c6f  gdb/testsuite/gdb.base/bg-execution-repeat.c
+fa4f9bc2215528e6ed41155dac91cf60  gdb/testsuite/gdb.base/condbreak-call-false.c
+a5bafd78048cbcd05f2bb07c56fa1449  gdb/testsuite/gdb.base/break-caller-line.exp
+fc67103c6db9ed9675dac71455b1815b  gdb/testsuite/gdb.base/dfp-exprs.exp
+f540e7dafc832645e666822c6ae5dae0  gdb/testsuite/gdb.base/shmain.c
+18fdd0924c2b82fbd7c7a960b92a5233  gdb/testsuite/gdb.base/dmsym.exp
+8973c3f84f4c3c7a8c224ab2d943dd80  gdb/testsuite/gdb.base/inferior-died.c
 8f21da00debc0719c3a6fa83772447f4  gdb/testsuite/gdb.base/Makefile.in
-7eafb9e784836af453ba9fe6525704da  gdb/testsuite/gdb.base/info-proc.exp
+b01687c37d170ce3c4d789c4b78b1563  gdb/testsuite/gdb.base/info-proc.exp
 7917f3d1ef819aadd582ec98629d7563  gdb/testsuite/gdb.base/debug-expr.c
-2f50512533b6617d1c9e299f83c28778  gdb/testsuite/gdb.base/paginate-inferior-exit.c
+6c586306916eee7f8904e9c35af158dc  gdb/testsuite/gdb.base/paginate-inferior-exit.c
 fadb717d72b9f5ce2c8efd09ea299b3e  gdb/testsuite/gdb.base/skip-solib-main.c
-6847247cd10f0483659b0fbb7b70cd16  gdb/testsuite/gdb.base/watch-cond-infcall.c
-f60472d51a38563372c95f4aa4783fa1  gdb/testsuite/gdb.base/gdb1090.c
-252862af5d4c056d4d98e9c581f10a94  gdb/testsuite/gdb.base/consecutive-step-over.c
-868ad1030e24efe89e871d89e109cbb8  gdb/testsuite/gdb.base/randomize.c
-e14e848e6ac5a2eaa1b5e4d87c8f26cc  gdb/testsuite/gdb.base/savedregs.c
-399b08b1b82e417f5907a6043f53fed9  gdb/testsuite/gdb.base/solib.exp
-e009088beed434df3313c1516bc76732  gdb/testsuite/gdb.base/step-break.exp
+686eab275c06e0634612f8716e4dd4c0  gdb/testsuite/gdb.base/watch-cond-infcall.c
+76170751ad462a35bb92838f7c6def5d  gdb/testsuite/gdb.base/gdb1090.c
+ebafb4afb8181ca1e8e00ea70027cf17  gdb/testsuite/gdb.base/consecutive-step-over.c
+c2f97efe2a3e56436b06f66784b76fb3  gdb/testsuite/gdb.base/randomize.c
+443dd85fee18d809a64626fa771fb69f  gdb/testsuite/gdb.base/savedregs.c
+c4222829c35cf06418ae4596e3bcd315  gdb/testsuite/gdb.base/solib.exp
+7b9e42bc777c908bd9efc7683f39da18  gdb/testsuite/gdb.base/step-break.exp
 af6f9e427bb3d09aa6033ec64aec8775  gdb/testsuite/gdb.base/jit-dlmain.c
-4e7d01f8560add0a1624641bd6c9b42f  gdb/testsuite/gdb.base/longest-types.exp
-6eb773dc433a253f3ebe376b84505343  gdb/testsuite/gdb.base/infnan.exp
-dc69c5bb67984e72e9ef5f9e624ee82d  gdb/testsuite/gdb.base/relational.exp
-9bb628d1233b58397949f35c005c7164  gdb/testsuite/gdb.base/random-signal.exp
-06af9ba47a85b7d5d7f69a78dc00054f  gdb/testsuite/gdb.base/sepdebug2.c
+85dcfcc53377325bc1383658b803f39c  gdb/testsuite/gdb.base/longest-types.exp
+18b4d51afe0789d15256f8ce2c501b06  gdb/testsuite/gdb.base/infnan.exp
+631af7c57f581791f0d4201de53a4d04  gdb/testsuite/gdb.base/relational.exp
+726fe351cafd572c734db6a1e0d48595  gdb/testsuite/gdb.base/random-signal.exp
+fcb2ad5f45ea5ebf30b393029bdac8d4  gdb/testsuite/gdb.base/sepdebug2.c
 3764973c71d5aa701031b4e66fd276d3  gdb/testsuite/gdb.base/shreloc.c
-5c79d3ef111560065ab6facab3810e96  gdb/testsuite/gdb.base/solib-weak.exp
-49bac7650f23206f29547312ea3b399c  gdb/testsuite/gdb.base/watchpoint.c
-be4ac54cb4c5c3f3c4fa4b795ac568ff  gdb/testsuite/gdb.base/attach-wait-input.exp
-a15d68921b5c340fc6b75966463fda41  gdb/testsuite/gdb.base/gnu-debugdata.exp
-ad2807392b27734b5e53bf945783abd2  gdb/testsuite/gdb.base/cond-eval-mode.c
+523b9737a813b8509c86b18e06fbb346  gdb/testsuite/gdb.base/solib-weak.exp
+83b4147d5cfab4b94796513c48e2ce03  gdb/testsuite/gdb.base/watchpoint.c
+9c69c64c15fdd0a96ced6636cdfaa429  gdb/testsuite/gdb.base/attach-wait-input.exp
+d4d1b8cfb1b3865aa3ab95cb399a9fd5  gdb/testsuite/gdb.base/gnu-debugdata.exp
+a985be6f1aab055a81fd0a97e63e7e40  gdb/testsuite/gdb.base/cond-eval-mode.c
 e711a6cfdf17afc08fbd300867145dd6  gdb/testsuite/gdb.base/so-impl-ld.c
-0a04380c48f07a3f1240ff3968138073  gdb/testsuite/gdb.base/recurse.exp
+5f0c856c4c99339d7aa14387e5d45e39  gdb/testsuite/gdb.base/recurse.exp
 0cdb3ac52471574e63518d04e7490c77  gdb/testsuite/gdb.base/solib.c
-a96d325017ca3aa52b1910e986be0baf  gdb/testsuite/gdb.base/execution-termios.c
-92cbde08f41c77c6e260a3cf419ed6e0  gdb/testsuite/gdb.base/environ.exp
-65ffa23345f4290da114b29a1b1d02c3  gdb/testsuite/gdb.base/pr11022.exp
-2d0b8bc2c2b4eb4f8a28b7cb39ce5dca  gdb/testsuite/gdb.base/langs1.c
-18b94f17b12fe4265d21c38824f01a87  gdb/testsuite/gdb.base/attach-pie-noexec.c
-b1b49f54c969cfc9c0d1b76c7d64fc13  gdb/testsuite/gdb.base/annota3.exp
-fa938c845d16814d1d1a9fdba8dfe1e4  gdb/testsuite/gdb.base/help.exp
-9f647ea8d7c04380ba43fc488ca9500d  gdb/testsuite/gdb.base/sepdebug.exp
-25d1b6e32d04874627b7731d751f4eeb  gdb/testsuite/gdb.base/sigall.c
-1429ffbb9973f67ebe556228ae4dfc66  gdb/testsuite/gdb.base/so-indr-cl.c
-32b0d9fb084af9251c10e4349951d337  gdb/testsuite/gdb.base/condbreak.exp
-6350c67f31955e89457c512a56142c63  gdb/testsuite/gdb.base/print-file-var.exp
-02cbbe85e54b9f5acac25813a68d072b  gdb/testsuite/gdb.base/testenv.exp
-06bc33c7d8044e6beb1a318f65f5c316  gdb/testsuite/gdb.base/break-probes-solib.c
-b9638337fbfa28806436681d540a2311  gdb/testsuite/gdb.base/ending-run.c
-05f09fb05f2bd2351f8704307ce70cd4  gdb/testsuite/gdb.base/step-resume-infcall.exp
+bdf71fa14d508217796958416bdef936  gdb/testsuite/gdb.base/execution-termios.c
+c82cd5c070697ad56c067ec813fe5be3  gdb/testsuite/gdb.base/environ.exp
+8f43a5f4a719f35cc4a91ed827cafbdc  gdb/testsuite/gdb.base/pr11022.exp
+5fd85517a68f7b9882baaae8c10832b3  gdb/testsuite/gdb.base/langs1.c
+0075d20b7fdb9d0d5b8cdc72203d4eb0  gdb/testsuite/gdb.base/attach-pie-noexec.c
+d76617d5104a7f6045d533bd6827bf67  gdb/testsuite/gdb.base/annota3.exp
+94dc5d9c4b49adfcf1ff9838762f24c0  gdb/testsuite/gdb.base/help.exp
+2cd6ec5c288f13c12c5b3567d58a5579  gdb/testsuite/gdb.base/sepdebug.exp
+854f10afe4bd9f8244ceb4d4d86802fa  gdb/testsuite/gdb.base/sigall.c
+2cf6e7fcd78f9934f7c0402956953293  gdb/testsuite/gdb.base/so-indr-cl.c
+839197e61adc9ee9e7f7ac00555ed0e7  gdb/testsuite/gdb.base/condbreak.exp
+d1b08b08f05f52fc135772b811f83319  gdb/testsuite/gdb.base/print-file-var.exp
+4dab83e639422e2efeccf16b8129c7f6  gdb/testsuite/gdb.base/testenv.exp
+3b3e3a9d75e0397ca908dba7828933ad  gdb/testsuite/gdb.base/break-probes-solib.c
+8f5a00cb94285ca24f71b6737a454d11  gdb/testsuite/gdb.base/ending-run.c
+2c394ab2b46dc4f6243190f7ad9d943c  gdb/testsuite/gdb.base/step-resume-infcall.exp
 25dd3e940b7f381b4985683b64dff8cf  gdb/testsuite/gdb.base/ss.h
 bd0008fe2ef225dda91bf6794ebd8968  gdb/testsuite/gdb.base/printcmds.c
-d6b5ad680491acf171ed49d9f6dcb0b9  gdb/testsuite/gdb.base/nodebug.exp
+db645c3ef4ca4e4196143cfa41f2e4b6  gdb/testsuite/gdb.base/nodebug.exp
 35ce0d1e8a6cc6a278649ec7464d8a1c  gdb/testsuite/gdb.base/m32rovly.c
-106faf95c0b67dd9266bbc918a6eddbe  gdb/testsuite/gdb.base/bfp-test.c
-b80e6513c3beee5fafe401520ab55457  gdb/testsuite/gdb.base/value-double-free.c
-094c265884eb3364521a6ca5b93591ff  gdb/testsuite/gdb.base/breakpoint-shadow.c
+c197605fd6d98a6060c34fab4541b5a8  gdb/testsuite/gdb.base/bfp-test.c
+dc6c8bee90cf10fad0b049040f67b71a  gdb/testsuite/gdb.base/value-double-free.c
+f8a2a14ba49b791656a9ff1eaa0ee692  gdb/testsuite/gdb.base/breakpoint-shadow.c
 c6a16edc9359f0384e9bb01cc216272c  gdb/testsuite/gdb.base/foo.c
-5cfdfb75156461a51ff0ffc0b4be90a8  gdb/testsuite/gdb.base/vla-datatypes.exp
-33d296db30c0ab4fd4b8e9582b5d8e2c  gdb/testsuite/gdb.base/setvar.exp
-d073defd5116aa7b5d8aafbdcc7868ab  gdb/testsuite/gdb.base/fixsection.exp
-f4e931082ec1254dec0a547a711cb61a  gdb/testsuite/gdb.base/sep.c
-05cac39f1e27febdb413872decd00ceb  gdb/testsuite/gdb.base/auxv.c
-0e30160cbadaca829bf30f0ecb80381d  gdb/testsuite/gdb.base/watch-non-mem.c
-a5f0713ea868e92ed92640aef8316461  gdb/testsuite/gdb.base/pending.exp
-a1068c7fe8664cbe7fd82e3f011239c9  gdb/testsuite/gdb.base/auto-load.c
-a8bdf1198620fc02adf4a52f2397d550  gdb/testsuite/gdb.base/ctxobj-m.c
-29bfb3ec06efc690b8cb521360ffcee9  gdb/testsuite/gdb.base/paginate-inferior-exit.exp
-a085ede01a745f23048c6650b72566a2  gdb/testsuite/gdb.base/catch-load.exp
-6c4c829a1f92d06b5d7562241c7ce271  gdb/testsuite/gdb.base/hook-stop-continue.c
-19cf715f2a679c8559594e723d167e92  gdb/testsuite/gdb.base/prelink.c
-aab2a179165daf9e9fca876ced8b6b35  gdb/testsuite/gdb.base/break-caller-line.c
-45914e49c8326f30cb3e05a0e76f9b3d  gdb/testsuite/gdb.base/watchpoint-solib.exp
-22f32256aa610ce17f1bfc18eb4fb410  gdb/testsuite/gdb.base/async.exp
+fdd7dc2489cdabcc90e5f416b7e854d1  gdb/testsuite/gdb.base/vla-datatypes.exp
+d25ea845f2c9568e14bf42a0b068ac9c  gdb/testsuite/gdb.base/setvar.exp
+adf4ab35c098325fc26840bba1470b68  gdb/testsuite/gdb.base/fixsection.exp
+b4a485e32c278e341fcd0b243cea909d  gdb/testsuite/gdb.base/sep.c
+51352f5b6e3b267de96f78229a5f768f  gdb/testsuite/gdb.base/auxv.c
+1601472dc521f597d76f58567e1c8bb8  gdb/testsuite/gdb.base/watch-non-mem.c
+54fd641d40c025a220fba708dfcc77ae  gdb/testsuite/gdb.base/pending.exp
+354083607aa4ebccaf1bce1643869c2d  gdb/testsuite/gdb.base/auto-load.c
+9fd7f881ad6b1d9c566d8b862168f27f  gdb/testsuite/gdb.base/ctxobj-m.c
+d6fec44788efe7051379578a76194ddb  gdb/testsuite/gdb.base/paginate-inferior-exit.exp
+33cbc59a36eeb434b0d73e3214afe71f  gdb/testsuite/gdb.base/global-var-nested-by-dso.c
+cad23e827a5986347881e1b813e81659  gdb/testsuite/gdb.base/catch-load.exp
+e3b3bfb6e963b08d5c4408f34ddf2d81  gdb/testsuite/gdb.base/hook-stop-continue.c
+d2422500332db9954aebca5cf21e9557  gdb/testsuite/gdb.base/prelink.c
+c5a15a4f7bf998c7f95e9dc72b825d97  gdb/testsuite/gdb.base/break-caller-line.c
+d0516173273d46dc1aa7833fe8abe94c  gdb/testsuite/gdb.base/watchpoint-solib.exp
+71bf18ae954ad26f7dfdb6032007bb44  gdb/testsuite/gdb.base/async.exp
 a7eec13082c0bf5a6bcf3bea3e8f143c  gdb/testsuite/gdb.base/pointers.c
-ba365c7ba7cd4b86409056b876b322f3  gdb/testsuite/gdb.base/kill-after-signal.c
-cbb854d7a93b8312bbe45c702954651f  gdb/testsuite/gdb.base/scope1.c
-6fa6431f88229635038e97e5356eb32a  gdb/testsuite/gdb.base/call-sc.c
-47e6b7dd55edba6bce2914475d26b40d  gdb/testsuite/gdb.base/nodebug.c
-4aa1ec81688e401c9298ae482f9aea2b  gdb/testsuite/gdb.base/callfuncs.exp
-2bc4e39ee4f536873b41b27c0d87057d  gdb/testsuite/gdb.base/shreloc.exp
-2448cbebb8905c0b3d36a06088a96051  gdb/testsuite/gdb.base/shell.exp
-52462efd9356aa85ede7f03a4d9ba897  gdb/testsuite/gdb.base/fileio.exp
-51083c02066c1e2bc74bae055ec1fcd6  gdb/testsuite/gdb.base/eval-avoid-side-effects.exp
-557b3ab95d4b9c2862695941d1b12801  gdb/testsuite/gdb.base/longjmp.c
-a7c1323bd65872dcf7e020fb696f5c5f  gdb/testsuite/gdb.base/break.c
+694b14305c9bfa42e6bfa6d04ebd4a67  gdb/testsuite/gdb.base/kill-after-signal.c
+ac0b4b74bdc306ec71b88d83a0cd608a  gdb/testsuite/gdb.base/scope1.c
+7e2ec3cc78104ede9beb402e498bf575  gdb/testsuite/gdb.base/call-sc.c
+6a10a23cbcae8d354bca512fbac84107  gdb/testsuite/gdb.base/nodebug.c
+5acd5998641472483e7c29278d6345e7  gdb/testsuite/gdb.base/callfuncs.exp
+1bec08b5972fd8da4d2403f54afdd7ee  gdb/testsuite/gdb.base/shreloc.exp
+c32955a37fe3e49bcf731566895f12ae  gdb/testsuite/gdb.base/shell.exp
+87a3aaa5d48562b549b32ed2b938284e  gdb/testsuite/gdb.base/fileio.exp
+c354abd33d07be1b33056bd8770b6afd  gdb/testsuite/gdb.base/eval-avoid-side-effects.exp
+8459c9faac759bdfb955f814cc82c0f3  gdb/testsuite/gdb.base/longjmp.c
+8cbc1bfac9bdf91cf7e2771a74b45bc2  gdb/testsuite/gdb.base/break.c
 c8b29ef2ecb662f50ea8aa7966c163f8  gdb/testsuite/gdb.base/d10v.ld
-96a86c843b961c63f92e31a775e73f5d  gdb/testsuite/gdb.base/dprintf-bp-same-addr.c
-403e0db62ae94fb21006674472d6d460  gdb/testsuite/gdb.base/freebpcmd.exp
-5795d8067212d1ef01b8ff79466e9117  gdb/testsuite/gdb.base/solib-nodir.exp
+72f36e1925b4760deb584331183479f2  gdb/testsuite/gdb.base/dprintf-bp-same-addr.c
+469b6bf82ee18727848aa19e4e207a09  gdb/testsuite/gdb.base/freebpcmd.exp
+35358020356f5141ebbb0ccb263df814  gdb/testsuite/gdb.base/solib-nodir.exp
 18a49ceae996869f718980356f5f6b45  gdb/testsuite/gdb.base/shreloc1.c
-6d2110a802a9b614fa1a6e8de52bbe56  gdb/testsuite/gdb.base/all-bin.exp
-0887eae7fceb20cf8ac17f6ec1552536  gdb/testsuite/gdb.base/dprintf-non-stop.exp
+e3d65d711fb0874c158908a1675720b2  gdb/testsuite/gdb.base/all-bin.exp
+4d689c6c5c2ffdf864677f1630f18698  gdb/testsuite/gdb.base/dprintf-non-stop.exp
 91a9797c36773f25d2961a2478d37c89  gdb/testsuite/gdb.base/chng-syms.c
-14a537f4538a00208a6e038cdd311987  gdb/testsuite/gdb.base/arrayidx.exp
+9ac088c7fa2e5cf3210879e636f35f10  gdb/testsuite/gdb.base/arrayidx.exp
 dbc49668e06b401a1603086d401b4f4b  gdb/testsuite/gdb.base/skip.c
-e6911eeefa187eb3cfe0a8039878f110  gdb/testsuite/gdb.base/gnu-ifunc.c
-126246e5d101286cbfc342ac1c41a046  gdb/testsuite/gdb.base/step-line.c
-633270f7da1d270e4f578d44c97b61fa  gdb/testsuite/gdb.base/eu-strip-infcall.exp
-b60888971ce08c492ecb266d94d80332  gdb/testsuite/gdb.base/gdb1555.exp
-eea87e016185466f959ce4ec8874caab  gdb/testsuite/gdb.base/signals.c
-689fe762aea1f10af801d5a40688fcdd  gdb/testsuite/gdb.base/cvexpr.c
-8ff1f4e6a21fe573444833e2f43ab81e  gdb/testsuite/gdb.base/del.exp
+4beccca8820bfe33382bb9dd29b952d5  gdb/testsuite/gdb.base/gnu-ifunc.c
+aca830a941ae4697e831e5464bdac233  gdb/testsuite/gdb.base/step-line.c
+2ec763acd0127bab3b2e10b36ea612e7  gdb/testsuite/gdb.base/eu-strip-infcall.exp
+bada50acb7410cf367f5c67c9508d9ff  gdb/testsuite/gdb.base/gdb1555.exp
+be46c2ce5bb75c1410e6ddd3568603bd  gdb/testsuite/gdb.base/signals.c
+c265183c3f623ef73aa5b41ce288e9f7  gdb/testsuite/gdb.base/cvexpr.c
+166af29128a252ae02a385d1c2565a6d  gdb/testsuite/gdb.base/del.exp
 94c1f1818c9234b5e8e7669b457865c1  gdb/testsuite/gdb.base/bar.c
-918e0b0973fdd0f0101f283d36eb5ee3  gdb/testsuite/gdb.base/condbreak-call-false.exp
-c15c224d213b7cf3cf14e186a2ab574b  gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp
-049a893f4f2d35a24108130f1124ecf3  gdb/testsuite/gdb.base/info-macros.exp
-77d41eeace7e3380a4ad197cb2a3aa31  gdb/testsuite/gdb.base/source-test.gdb
-232c50b168826a9525cf13afae8b4f11  gdb/testsuite/gdb.base/jit.exp
-d30d87659b73efaeb831bb8be20c29ac  gdb/testsuite/gdb.base/attach-wait-input.c
-c5782b9b35c2684b08b4506e36e6fdf6  gdb/testsuite/gdb.base/valgrind-infcall.exp
+70caa066501705a604eb1c327693ceb3  gdb/testsuite/gdb.base/condbreak-call-false.exp
+0d46046bb2a48509fd8c7f8df55343e2  gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp
+555c85d43e9b9b6cfb79ed3def59544e  gdb/testsuite/gdb.base/info-macros.exp
+0ed15d8d34bb3533fdc4f8f220b61446  gdb/testsuite/gdb.base/source-test.gdb
+058fd896ab510b960f9544f2bcf4fb8e  gdb/testsuite/gdb.base/jit.exp
+b59995d91fb58254c9422952a4cdc097  gdb/testsuite/gdb.base/attach-wait-input.c
+3b24c08e007318b6ef255fb896a9a131  gdb/testsuite/gdb.base/valgrind-infcall.exp
 917b1c0d4a61d5f2b7f74cb6ca9e2a59  gdb/testsuite/gdb.base/reread2.c
-3423c9a9f1114037ff87b2abb70b208e  gdb/testsuite/gdb.base/float.c
+e7480ae9af57d01a5e85dfcc28f49b07  gdb/testsuite/gdb.base/float.c
 d47cf600366a984537fe500bf1b0e33e  gdb/testsuite/gdb.base/miscexprs.c
-e74fc9b3ad43ece60708e2c0672ee30a  gdb/testsuite/gdb.base/set-lang-auto.exp
-6b6610738577d387f2040d60c713523e  gdb/testsuite/gdb.base/relocate.c
-e9131a367f5a781efb9828fc7bfa213f  gdb/testsuite/gdb.base/ending-run.exp
-02a4a53f90a50bdbe116d85fab1d2548  gdb/testsuite/gdb.base/bigcore.c
+0c032fee31675506579b43eb1965f12b  gdb/testsuite/gdb.base/set-lang-auto.exp
+22b5384da87cf854cd0750039ce917f4  gdb/testsuite/gdb.base/relocate.c
+cf24f2e2577bb52e2d78f71c2490750c  gdb/testsuite/gdb.base/ending-run.exp
+f7495d12b108f2c1b81acf38e49be877  gdb/testsuite/gdb.base/bigcore.c
 f7aec7811932b17ea2e12b59c13e377e  gdb/testsuite/gdb.base/ovlymgr.c
-9dc045a175d1b2addbfd38ca990ca515  gdb/testsuite/gdb.base/maint.exp
+8259f6748e11c5fa0ce7fe1410bcf7ed  gdb/testsuite/gdb.base/maint.exp
 beb7ddd8ac440e541b4ff7458987281f  gdb/testsuite/gdb.base/ovlymgr.h
-f130e7bbed385365cf29a0d233f632ea  gdb/testsuite/gdb.base/watchpoint-hw.exp
-ef8cdf869a09d1411c0be3d73841413e  gdb/testsuite/gdb.base/setshow.c
+895e7c8264248369271e2a04fb4f7ee3  gdb/testsuite/gdb.base/symtab-search-order.c
+eac82675666c7dd6c0a0bfda0ce1e509  gdb/testsuite/gdb.base/watchpoint-hw.exp
+ba670b72741d901419e15fa374cb813c  gdb/testsuite/gdb.base/setshow.c
 46b4c46217f2fcdabd1bba7e9afaf4bd  gdb/testsuite/gdb.base/ptype1.c
-aebfe18f63aeefbe5e4dc43d16a1990a  gdb/testsuite/gdb.base/realname-expand.exp
-b2ee495137691e70d3ad7c4aae6f2f22  gdb/testsuite/gdb.base/disasm-end-cu-1.c
-79359fecbc9e1b26eb6f41f733d03558  gdb/testsuite/gdb.base/readline-ask.exp
-f86cc7abc864ea1cabd904a28bf21f36  gdb/testsuite/gdb.base/sep.exp
-f5ae7ff34eaf059afeaa30abd3163ceb  gdb/testsuite/gdb.base/pointers.exp
-fa9edb1dbd58e187e9f7898df8858f35  gdb/testsuite/gdb.base/solib-overlap-main.c
-0903784a2f2f16faef989543e584e31e  gdb/testsuite/gdb.base/call-strs.c
-d46ee9bada508780a507d8c8aec906cb  gdb/testsuite/gdb.base/ena-dis-br.exp
-a283e5581fe4162f6e0416f96aaa727f  gdb/testsuite/gdb.base/random-signal.c
-1337c36a3008a7e38864379a5f8bbd21  gdb/testsuite/gdb.base/disasm-end-cu-2.c
-ebd586904674846a05bf87ce4d988173  gdb/testsuite/gdb.base/interp.exp
-2d6993d4237701949291f3e1974f1624  gdb/testsuite/gdb.base/disp-step-fork.c
-9d8e77529f26b308d09b44d97680a901  gdb/testsuite/gdb.base/fullname.c
-9ad0dde0929a46dd3fa4b5794d786768  gdb/testsuite/gdb.base/auto-connect-native-target.c
-8cae9bb0dc5491adf125ce204f18f1e0  gdb/testsuite/gdb.base/nofield.exp
-b306156bdb4496fe32b0f6910157959e  gdb/testsuite/gdb.base/prologue.c
-7914ea8a117f1244e2c72f523b19a043  gdb/testsuite/gdb.base/return-nodebug1.c
-3c8defad0e063ee0d7729374b7b993b7  gdb/testsuite/gdb.base/gcore-buffer-overflow.c
-ab32c671de9f4f4ccc71a000edf9e955  gdb/testsuite/gdb.base/dfp-test.c
-8924ccd1279e23a7fc8169725ee5ddb6  gdb/testsuite/gdb.base/complex.exp
-c172c2e020e18dd0b237ea1c7d444610  gdb/testsuite/gdb.base/gdb1056.exp
-0cb031a7e7dc09f9db15197f07176655  gdb/testsuite/gdb.base/info-fun.exp
-94725a575ade5e3fc1c8d41581c2d507  gdb/testsuite/gdb.base/charset.c
-c0aa24bfc91f3146315458a794e44e1d  gdb/testsuite/gdb.base/list.exp
-ca9ff510856000f9ee111095ef00f913  gdb/testsuite/gdb.base/dump.c
-31c0613cb31a52e71a807faf1f2c8eee  gdb/testsuite/gdb.base/bigcore.exp
-3ddcd4b8888143145019735faaf804ca  gdb/testsuite/gdb.base/hook-stop-frame.c
-3ed557fc791da5b82f32ee1d95f4a31c  gdb/testsuite/gdb.base/dump.exp
+de23bcc363b410be8c5ddd146ae1ae86  gdb/testsuite/gdb.base/realname-expand.exp
+48d4325e8937e24a6ac361293299728a  gdb/testsuite/gdb.base/disasm-end-cu-1.c
+038e387f51ba27ae5388662b5a026d2b  gdb/testsuite/gdb.base/readline-ask.exp
+378369b776d15b199afa3be4e12dbb9a  gdb/testsuite/gdb.base/sep.exp
+9e491562a3902c53183ee5ea55206204  gdb/testsuite/gdb.base/pointers.exp
+421048e6e81baaeeb350467d1d163fe4  gdb/testsuite/gdb.base/solib-overlap-main.c
+5b69b2ce04ad036d47311aaee51217ad  gdb/testsuite/gdb.base/call-strs.c
+ef15a70ca22e5ad0d7062608508cceb0  gdb/testsuite/gdb.base/ena-dis-br.exp
+c8a9226c2d48c276c0f3229257eb25c2  gdb/testsuite/gdb.base/random-signal.c
+495a28d79d7834b3cbb165d54e0c4244  gdb/testsuite/gdb.base/disasm-end-cu-2.c
+65c3acb752c2be229546c856ab5a0586  gdb/testsuite/gdb.base/interp.exp
+b403a1add02bc3142630905711072ec9  gdb/testsuite/gdb.base/disp-step-fork.c
+9394709c7271b4cfa76dfbc889e5ae4c  gdb/testsuite/gdb.base/fullname.c
+7a939aea5dfda12b1c389a8a40a013d6  gdb/testsuite/gdb.base/auto-connect-native-target.c
+51dfc6d3d86422944adccbfc5d9b802c  gdb/testsuite/gdb.base/nofield.exp
+55bbc843a8fdd500c44b2b025c840567  gdb/testsuite/gdb.base/prologue.c
+984a61cdcda6c16cf4d5b9cd9ba4d560  gdb/testsuite/gdb.base/return-nodebug1.c
+23af90fd0b9652bbdd5d59eb87df1503  gdb/testsuite/gdb.base/gcore-buffer-overflow.c
+61a696debd4b030b3f8a7d489368ce29  gdb/testsuite/gdb.base/dfp-test.c
+86c6b6f2a51cd60e662556adc21ad34f  gdb/testsuite/gdb.base/complex.exp
+26a0fc30ed0f2f7bdd6f6aab9f941eac  gdb/testsuite/gdb.base/gdb1056.exp
+53a0a60fb0fb2cd63382144f18320ef5  gdb/testsuite/gdb.base/info-fun.exp
+6baa08be3805a020bbc239e548c38d2b  gdb/testsuite/gdb.base/charset.c
+1ec8483d0966a334467a2ed8f6fd730a  gdb/testsuite/gdb.base/list.exp
+2beca99741280af8a3855954b4e321f4  gdb/testsuite/gdb.base/dump.c
+679b83fb73ae10e4112ff18fde05a4b7  gdb/testsuite/gdb.base/watch-bitfields.exp
+270d18be75dd1177b61d8d3ff5f763ff  gdb/testsuite/gdb.base/bigcore.exp
+445fae22f4a9e9bb4c8b111adb1fe972  gdb/testsuite/gdb.base/hook-stop-frame.c
+735fbdc220fa56b8576310abef5fa694  gdb/testsuite/gdb.base/dump.exp
 e132a0bda6a789c75e20e8d4eb4ebc02  gdb/testsuite/gdb.base/consecutive.c
-f73bc4f4a9d2652a26de28a5a15cce31  gdb/testsuite/gdb.base/jit-so.exp
-047496277b97745fdf563e56e29f865e  gdb/testsuite/gdb.base/dfp-test.exp
-29e5af280a61c3d6c540ad9accab8280  gdb/testsuite/gdb.base/watchpoint-hw.c
-705bfef97167db6e55b5e9cd970642f7  gdb/testsuite/gdb.base/so-indr-cl.exp
-e68945353149bdd159057ce40ecfa390  gdb/testsuite/gdb.base/solib-corrupted.exp
-b7322a19664185b043b6b38532d03dfc  gdb/testsuite/gdb.base/arrayidx.c
-87cc97500a902f79ea1351f8bb0f7b47  gdb/testsuite/gdb.base/info-target.exp
-f286113c42f8980f3f8df62641497345  gdb/testsuite/gdb.base/funcargs.c
-54c64a9273dfc8ab8946174ccd9a134a  gdb/testsuite/gdb.base/find-unmapped.c
-6aff2f6d491bb3e9f9cb4732c9439601  gdb/testsuite/gdb.base/watchpoint-reuse-slot.c
-2f50512533b6617d1c9e299f83c28778  gdb/testsuite/gdb.base/paginate-bg-execution.c
-c395c84ce94a6b884a99c875bc7eb9e8  gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.exp
-64095fb576cbfea5ad8ae5283a1df98c  gdb/testsuite/gdb.base/print-symbol-loading.exp
+a497f6cf8d93753015786d49264edc65  gdb/testsuite/gdb.base/jit-so.exp
+e0d1c71097634260b1e7ea9cfc49e78c  gdb/testsuite/gdb.base/dfp-test.exp
+ca61c26956157dea97d945297a63ef47  gdb/testsuite/gdb.base/watchpoint-hw.c
+80b9f372ef89adebf2776b2077f80928  gdb/testsuite/gdb.base/so-indr-cl.exp
+97f63247b04399e37069c1b0384adb22  gdb/testsuite/gdb.base/solib-corrupted.exp
+6aecaffad6f273d453a4c767f66624a5  gdb/testsuite/gdb.base/arrayidx.c
+aacd18bfb4664fa6915a6d11159427d3  gdb/testsuite/gdb.base/info-target.exp
+430f9c525889baa2cca88338f57efe84  gdb/testsuite/gdb.base/funcargs.c
+89e4585b0dc786cd27b554274e212ed3  gdb/testsuite/gdb.base/find-unmapped.c
+4a874bb6fae2aa45f568d55360427d67  gdb/testsuite/gdb.base/watchpoint-reuse-slot.c
+6c586306916eee7f8904e9c35af158dc  gdb/testsuite/gdb.base/paginate-bg-execution.c
+2087b737e002cdd14576aa5d2712c3a1  gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.exp
+a1a49fe08a7558286eb98eb646b48737  gdb/testsuite/gdb.base/print-symbol-loading.exp
 dc1c7b2d0d97de5e07f0046fca14d586  gdb/testsuite/gdb.base/macscp4.h
-ff482a8bb4887b5e9cdf7557f788ae5a  gdb/testsuite/gdb.base/statistics.exp
-81035d8ec87604e567d3a2a5d2839c5d  gdb/testsuite/gdb.base/recpar.exp
-320277b2280ff574c859b3f9b49d2e20  gdb/testsuite/gdb.base/term.c
-a5cef7b9df4a7d690dc8d2e46ac45d50  gdb/testsuite/gdb.base/func-ptr.c
-525375937f21516b333e448c49aae147  gdb/testsuite/gdb.base/bang.exp
-6f446a7bf28bd99795b99949a80ec316  gdb/testsuite/gdb.base/duplicate-bp.c
-c0461476270fd5ef639c2e0115517236  gdb/testsuite/gdb.base/break-idempotent.exp
-91968baff590770c8afdfea1011abd87  gdb/testsuite/gdb.base/return-nodebug.exp
-5bcbcd3463f63dd326ec4703fa7c6d05  gdb/testsuite/gdb.base/start.exp
-9db035ed7b598af31af328e39988b3ce  gdb/testsuite/gdb.base/remotetimeout.exp
-1935313cf7fb7f4d97209bc265e403a2  gdb/testsuite/gdb.base/checkpoint.c
-6c014d2097e111b24419080d01219368  gdb/testsuite/gdb.base/cond-eval-mode.exp
-72f05dd81815f53f23c87e9f2f4ac297  gdb/testsuite/gdb.base/morestack.exp
-b6f938734790ae06e12173c014eba0f0  gdb/testsuite/gdb.base/until-nodebug.exp
-dd3be6b93dce856089e7157314c573fa  gdb/testsuite/gdb.base/filesym.exp
-162af4acec327a551b0b4f9816d06283  gdb/testsuite/gdb.base/compare-sections.c
+d0775741063228c8377e193e6422399f  gdb/testsuite/gdb.base/statistics.exp
+0dc19f0710fa6653c180965ba1881160  gdb/testsuite/gdb.base/recpar.exp
+43310d986c66ac1b683325f03cdc5ca8  gdb/testsuite/gdb.base/term.c
+a10f9070422490413227df9bf0076ffb  gdb/testsuite/gdb.base/func-ptr.c
+7228731da1c2cc3a396755e074b9179a  gdb/testsuite/gdb.base/bang.exp
+a048d00ac4e694698bb61fc6d75da8bd  gdb/testsuite/gdb.base/duplicate-bp.c
+4d9094a7dba64f1ce95d5e3aad220d1d  gdb/testsuite/gdb.base/break-idempotent.exp
+0400aa9cd8cd392e4ecea6d878b88a53  gdb/testsuite/gdb.base/return-nodebug.exp
+7f606d7bd20831072733c6c9375e1ec1  gdb/testsuite/gdb.base/start.exp
+47333104816c7e29dd6745d0d560f468  gdb/testsuite/gdb.base/remotetimeout.exp
+995c5617343d281b809641f188684153  gdb/testsuite/gdb.base/checkpoint.c
+142310c3399032110a79b18a4a893b8c  gdb/testsuite/gdb.base/cond-eval-mode.exp
+b48296aeae6d3f927d6730b10998d6e7  gdb/testsuite/gdb.base/morestack.exp
+7c4ffded715c5285b522a1da8074c502  gdb/testsuite/gdb.base/until-nodebug.exp
+db44aa0e3352538e28eefd64a3eb00b8  gdb/testsuite/gdb.base/filesym.exp
+cb2739198d6c0c6cad2423fc93969484  gdb/testsuite/gdb.base/compare-sections.c
 b4816e4b91e99aa3e905b5d44802e907  gdb/testsuite/gdb.base/spu.ld
-1201ede0aa359af10bb2b3b3768d7313  gdb/testsuite/gdb.base/async.c
-fbfcc72685e5a482a2212cdc664d710c  gdb/testsuite/gdb.base/break-idempotent.c
-e6469418cc2afdae050fa6b2b21a8eee  gdb/testsuite/gdb.base/pc-fp.exp
-dc38fa54c8936b3b37e6b1108d6aeaf5  gdb/testsuite/gdb.base/gdb1250.c
-450e56a88e804d291f4f6bfb7cbf40b7  gdb/testsuite/gdb.base/long_long.c
-599d7a74d27996ff8a1c15f50ea9bfa4  gdb/testsuite/gdb.base/prelink-lib.c
+93e084ab4c5f0d8e8f208ea6cb98cd56  gdb/testsuite/gdb.base/async.c
+b1b6d59c825a703bf431946954b45a3f  gdb/testsuite/gdb.base/break-idempotent.c
+ea394c7cd5e44a2173cc655a0076f0cf  gdb/testsuite/gdb.base/pc-fp.exp
+a63fb26e7ca88a659c5e293c139e0415  gdb/testsuite/gdb.base/gdb1250.c
+f15dd4ea4c1c61db9acd9972bd70743e  gdb/testsuite/gdb.base/long_long.c
+1edab6cef79ccec9936fc9bf68f2301b  gdb/testsuite/gdb.base/prelink-lib.c
 bbd68c316d4ba5e21f8aac02eb605fa4  gdb/testsuite/gdb.base/macscp3.h
-75bc69599cdb5ec28e082c5897db1a9c  gdb/testsuite/gdb.base/twice.exp
-c2615e9d8e4ad57addf226411d6641c2  gdb/testsuite/gdb.base/call-signals.c
-a577194c15e0d3318fc4e2e28634fa1c  gdb/testsuite/gdb.base/expand-psymtabs.c
-c1dbd817ab873b93ccc337b138f312fa  gdb/testsuite/gdb.base/vla-datatypes.c
-bea86b40f01dc133256f1d946ef7d556  gdb/testsuite/gdb.base/ptr-typedef.exp
-ef589380c7ef658fba795ed84363baad  gdb/testsuite/gdb.base/continue-all-already-running.c
-7bc7868cc5d21752d1f5d44173246529  gdb/testsuite/gdb.base/dprintf-pending.exp
-678a0482dba62d2c60c51cf67794c3b4  gdb/testsuite/gdb.base/chng-syms.exp
-16f2265f4f05e14441e306b0d858ef10  gdb/testsuite/gdb.base/sigall.exp
-2a9170f43168c26ef6f6d7feddda5964  gdb/testsuite/gdb.base/catch-load-so.c
-1a35c6065c10f7f5e7d5fdc9d0136d67  gdb/testsuite/gdb.base/huge.c
-f17ddc950a5b3e87661fb3c24a15c304  gdb/testsuite/gdb.base/solib-disc.exp
-be1aed522d2fb400c50241f6767dfc16  gdb/testsuite/gdb.base/page.exp
-15dfdbdb4b6e0031597064bc863aec90  gdb/testsuite/gdb.base/sep-proc.c
+3f26f310dd852d066d042815d787debb  gdb/testsuite/gdb.base/twice.exp
+379c0e0f36e29f58e5f2a93fc87e9845  gdb/testsuite/gdb.base/call-signals.c
+df12c3f822f0c6bf0ffaf1280f9d4456  gdb/testsuite/gdb.base/expand-psymtabs.c
+b8197e9e4af99772ef1af688c9a137f7  gdb/testsuite/gdb.base/batch-preserve-term-settings.c
+719f14e9033c0bdbbfea148fff08c7b0  gdb/testsuite/gdb.base/vla-datatypes.c
+cf0a177d340716d59f214c92e20494f5  gdb/testsuite/gdb.base/ptr-typedef.exp
+bb7f856ac173eae93156f050e555bbf7  gdb/testsuite/gdb.base/continue-all-already-running.c
+4ad695f7cc36301b753b2a6794035074  gdb/testsuite/gdb.base/dprintf-pending.exp
+cebf240c7280219f36f8a2d9ea60d0ac  gdb/testsuite/gdb.base/chng-syms.exp
+9809f275b965f961a60fbb99fe88ae10  gdb/testsuite/gdb.base/sigall.exp
+acc5a9111f7a4411629e5871520fa2e4  gdb/testsuite/gdb.base/catch-load-so.c
+32d599e06b69df2c3cbd66fa5ec8c5d9  gdb/testsuite/gdb.base/line-symtabs.h
+935668abc5388a1413e121f20c42af33  gdb/testsuite/gdb.base/huge.c
+6034975157895052ba86ad7b190cd90b  gdb/testsuite/gdb.base/solib-disc.exp
+d70264b6e7067682c75db51e2f5a3113  gdb/testsuite/gdb.base/page.exp
+ee2a21616652161aebc7de7aab0eb47d  gdb/testsuite/gdb.base/sep-proc.c
 256625bcc48a090ec4e5b85d1affa9bc  gdb/testsuite/gdb.base/macscp2.h
-d5e0ad65e05a356aaca1a0b5db48c8b4  gdb/testsuite/gdb.base/attach-pie-misread.exp
-c97b527381e74ca6c1640f99c41b19c1  gdb/testsuite/gdb.base/gdbindex-stabs.exp
-f87c9eb94dc4f302adc5a45d02b46e7f  gdb/testsuite/gdb.base/readline-ask.c
-a59a655e2365dcc4840060f7286782be  gdb/testsuite/gdb.base/sect-cmd.exp
-838cf36a8e1aa69b9ea09b47560cc995  gdb/testsuite/gdb.base/find-unmapped.exp
+75cc967726a0997ff80ace4798977b8b  gdb/testsuite/gdb.base/attach-pie-misread.exp
+0667ba3e716048d8ed439e824f64c859  gdb/testsuite/gdb.base/gdbindex-stabs.exp
+e3f7f7fe2d3ddf880af22969d90b2752  gdb/testsuite/gdb.base/readline-ask.c
+055c12319ac1ccfac585442416a59b8c  gdb/testsuite/gdb.base/sect-cmd.exp
+efe34151d3657d4cd08d1345ab9ac03b  gdb/testsuite/gdb.base/find-unmapped.exp
 450a1da41a5c13ed23211a6f1b9a30bd  gdb/testsuite/gdb.base/list0.c
 c83108d9cfeb80a29bfe2c96df40dd77  gdb/testsuite/gdb.base/catch-syscall.c
-c2e04c5ae990f7fb22437592ed2c4ff2  gdb/testsuite/gdb.base/pending.c
-12f35a07667bc764b0c90211d75d1fb6  gdb/testsuite/gdb.base/unload.exp
-8931df9b5603c0f59e8c62d1cd229cac  gdb/testsuite/gdb.base/watch-read.exp
+211a8ff14509652a16cb81b0756e662b  gdb/testsuite/gdb.base/pending.c
+cb1f3af04aa248262f005de2e9ba013f  gdb/testsuite/gdb.base/unload.exp
+d429f597b91fe7cf3d13a0f9f2c7c93b  gdb/testsuite/gdb.base/watch-read.exp
 a706fe8d6ecb51bd2a3d33a879414445  gdb/testsuite/gdb.base/display.c
-f2145d8040261a8085b8e39c264ab1b9  gdb/testsuite/gdb.base/corefile.exp
-9420ef9e560b98d03b4d5f1eb5741765  gdb/testsuite/gdb.base/coremaker2.c
-cc025d055f951bb5c6b0d92a31618833  gdb/testsuite/gdb.base/sss-bp-on-user-bp.c
+354083607aa4ebccaf1bce1643869c2d  gdb/testsuite/gdb.base/vdso-warning.c
+2e2f250b0f7537538117dae49f2e367f  gdb/testsuite/gdb.base/corefile.exp
+cca1641fd003e39e11dbbfab115e7612  gdb/testsuite/gdb.base/coremaker2.c
+1fc26423bb72ec4531d8779007f45ed5  gdb/testsuite/gdb.base/sss-bp-on-user-bp.c
 6a12cce54a177a6b40cddded00f1850d  gdb/testsuite/gdb.base/fixsectshr.c
-62dc5386242d510bc0ad51b9b2329727  gdb/testsuite/gdb.base/interrupt-noterm.exp
-248c0f14323a8b1bb3cee1b2a1041288  gdb/testsuite/gdb.base/sigaltstack.exp
-992ff2fa442a58c00ad7eeab8c0763c1  gdb/testsuite/gdb.base/ldbl_e308.c
-36a82aba22a764791ca0b54e737deea1  gdb/testsuite/gdb.base/whatis-exp.exp
-7a44a8f553260a95cca57e553b5a4b28  gdb/testsuite/gdb.base/source.exp
-541209b6042f754e42e6262ed54846d1  gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc
-c1182a545d1a749b9b692b2e79ce0d51  gdb/testsuite/gdb.base/scope0.c
-bf9413a530ccebacc5faad491aad1249  gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp
-8f4b6a016982d70c195b78b12758125f  gdb/testsuite/gdb.base/gcore-relro-pie.exp
-0bb9105db567d48f6a5ba2d36b376e5e  gdb/testsuite/gdb.base/catch-syscall.exp
-7837f3a0ac38164e1759a5a05ab663a1  gdb/testsuite/gdb.base/gdb-sigterm.exp
-a02acebb010a9aebf38dd1262c73e6fc  gdb/testsuite/gdb.base/ctxobj.exp
-7b5ffda168667ec749204a9523c88f60  gdb/testsuite/gdb.base/structs2.exp
-744e9bc6cf2e2644f737f2daebd45880  gdb/testsuite/gdb.base/frame-args.exp
-cb61fddf957f99965f1dee48bd2e3a88  gdb/testsuite/gdb.base/call-strs.exp
-1b7a9fd570a36fb3b965335b0849d7f7  gdb/testsuite/gdb.base/watch-cond-infcall.exp
+c5d13d31f47d2bb6e8361c3231ffc08f  gdb/testsuite/gdb.base/interrupt-noterm.exp
+4413d78a6a9bb769f6c81a2561a53ff0  gdb/testsuite/gdb.base/sigaltstack.exp
+893ba1ad257a2b850fe9e6a25c308e74  gdb/testsuite/gdb.base/ldbl_e308.c
+a341502319b5a9f02836be23e5e187eb  gdb/testsuite/gdb.base/whatis-exp.exp
+dde7e63af5f32be9b4729291d05bbb82  gdb/testsuite/gdb.base/source.exp
+075fec34cf76a8f44397012e9c6360fc  gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc
+dcb1fb60c149fe711460df1c7af83cb7  gdb/testsuite/gdb.base/scope0.c
+cae3da3985a315e0c8affdbf92a748fa  gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp
+f72717c52a031327368a4f83a74cc769  gdb/testsuite/gdb.base/gcore-relro-pie.exp
+5e6fb30956eeea260fc3a1979990a7d3  gdb/testsuite/gdb.base/catch-syscall.exp
+0e1d932dcc24da610783b7b8f4fe083e  gdb/testsuite/gdb.base/gdb-sigterm.exp
+1dd4a2d9a61b3de3105b3e4d6a7b4a7d  gdb/testsuite/gdb.base/ctxobj.exp
+a0164afa2437d97b6cff500bbab9e644  gdb/testsuite/gdb.base/structs2.exp
+204772567d04b8330036e6713304f185  gdb/testsuite/gdb.base/frame-args.exp
+0d0fc62e139e5db304e4a3cc9ed82642  gdb/testsuite/gdb.base/call-strs.exp
+2956136011e937510f561a455b735285  gdb/testsuite/gdb.base/watch-cond-infcall.exp
 246912b4a24edf28c2896b2b0581372b  gdb/testsuite/gdb.base/args.c
-a363f2c70036d0389f3ad1cf28e0c7a7  gdb/testsuite/gdb.base/arithmet.exp
-bed596b24d9277d2100db0fc1b17477e  gdb/testsuite/gdb.base/siginfo-addr.exp
-b8a2b425af3a71ffa1a79387a2a537ec  gdb/testsuite/gdb.base/relocate.exp
-9882fc05b8afab905b355b5257f80850  gdb/testsuite/gdb.base/execution-termios.exp
-095b8439f3cc113e084dbe59b510fa61  gdb/testsuite/gdb.base/gdb-sigterm.c
-624f1f57e25f54d90c6a33275afdd19c  gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp
-00423b6818e5837317fd66f9609d152b  gdb/testsuite/gdb.base/call-ar-st.c
+0660f9cf3c5690c019c3af7e7dd7f264  gdb/testsuite/gdb.base/arithmet.exp
+88030862ba2cdf60be45b0283b6c21f4  gdb/testsuite/gdb.base/siginfo-addr.exp
+fcd76378654f4494c4e6d3261ea1d118  gdb/testsuite/gdb.base/relocate.exp
+7c5af2f6f789be470e102a90ae0b2e39  gdb/testsuite/gdb.base/execution-termios.exp
+4a1055f348a9dbbbe4a587c4d391a49d  gdb/testsuite/gdb.base/gdb-sigterm.c
+5a4f93a7708a8fd0bcb3ceea75d84c66  gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp
+60854e7a773676ac59b289cc90fd3d25  gdb/testsuite/gdb.base/call-ar-st.c
 35ce0d1e8a6cc6a278649ec7464d8a1c  gdb/testsuite/gdb.base/d10vovly.c
 9ffc2cd8e384888785a57bd5ed8168d2  gdb/testsuite/gdb.base/step-test.c
-bc8cd3bcabbb0318407ff2fecd4923ad  gdb/testsuite/gdb.base/dprintf-non-stop.c
-a9ee392d49ff112161fd109a6c7c24f5  gdb/testsuite/gdb.base/code_elim.exp
-f11e39fe81d26b0959ed800ecbbca258  gdb/testsuite/gdb.base/interp.c
-5a72bb4a6cfc7fcb1e2822793c44cabb  gdb/testsuite/gdb.base/source-execution.c
-9ca194ff74c141593d6821c9c86abdd8  gdb/testsuite/gdb.base/watchpoint-solib.c
-7c2cd93802e71ba1de39284a75cae5fc  gdb/testsuite/gdb.base/prologue-include.h
-a3512de06f338168458a33ffa0dad877  gdb/testsuite/gdb.base/readline.exp
-30b700add193b037de6d779ef089d982  gdb/testsuite/gdb.base/step-break.c
-1c2f209d0a834272d86b00e64bf1e3aa  gdb/testsuite/gdb.base/memattr.exp
-07d360913b4a70e170db05a7ff67982a  gdb/testsuite/gdb.base/solib-overlap-lib.c
-8fbefd4e9e38e1ca76222fe208634f99  gdb/testsuite/gdb.base/cursal.c
-f0401d4a401e48ecabc7716942278cc6  gdb/testsuite/gdb.base/auto-load-script
-0e83791d10c33f5ef17c0fe78014a103  gdb/testsuite/gdb.base/stale-infcall.exp
-8cf3959d8a58b6acb1b2a7810ea02055  gdb/testsuite/gdb.base/eval.exp
-0c3de8de452dbbb99119dc212ed72fed  gdb/testsuite/gdb.base/run.c
-2e9b99532b2fec82b585915b499677bb  gdb/testsuite/gdb.base/value-double-free.exp
-132cfe5c10d59d364ce0ad8d615054fa  gdb/testsuite/gdb.base/debug-expr.exp
-af1bbbc3e68cbf2a785d586554a19b32  gdb/testsuite/gdb.base/sym-file-main.c
-3a5dcb9d0c990fa7276d9a30098cf5ab  gdb/testsuite/gdb.base/fullname.exp
-3a5c4bcb117ee068b630f462629f324b  gdb/testsuite/gdb.base/langs0.c
-51ea99258a7528f2ffed3474722c252c  gdb/testsuite/gdb.base/attach-pie-misread.c
-c3ef5f11962bea249a1c0236474a7549  gdb/testsuite/gdb.base/assign.exp
-470451d5857e18ae656c4973e36a08ef  gdb/testsuite/gdb.base/double-prompt-target-event-error.c
-715f315695fe6b7b0c07858ae3532eeb  gdb/testsuite/gdb.base/gnu-ifunc-lib.c
-44abed8723b7c71898be4ac766a65aad  gdb/testsuite/gdb.base/structs.c
-9693d34fd3862e2c072a97f397eebcde  gdb/testsuite/gdb.base/watchpoint-delete.c
-def5c59339c1925e1f9f7890bfccc058  gdb/testsuite/gdb.base/break-probes.exp
-e087f066af8cb149c331bdba63d937bb  gdb/testsuite/gdb.base/segv.c
-fbd8a4550045c2ddfb6bbd2f8c144e8c  gdb/testsuite/gdb.base/scope.exp
-b26402e9ac9c482d0be6b6c33e4b9ff2  gdb/testsuite/gdb.base/hashline3.exp
-e4a5459490946fb7a33114e06bc814bd  gdb/testsuite/gdb.base/breakpoint-shadow.exp
-86dd31bf6167f73e14dd90806a638b9d  gdb/testsuite/gdb.base/sigbpt.c
-964953aceca521dceb0fbbf9f26feb6f  gdb/testsuite/gdb.base/return2.exp
-57384000ba7834ae605ed89578b017ea  gdb/testsuite/gdb.base/jit-main.c
-9ca2b13ea7bb172f4e702c3f37e026ef  gdb/testsuite/gdb.base/included.h
-b84f712754f0b6a9854577765224e1aa  gdb/testsuite/gdb.base/dmsym_main.c
-9e37867e5e0e7539555ad7ad84b0f924  gdb/testsuite/gdb.base/interrupt.exp
-ec1751cd679a4b52946d065af73c1de0  gdb/testsuite/gdb.base/interact.exp
-0df7013300f46efcc4fc623fba2da1ad  gdb/testsuite/gdb.base/sigaltstack.c
-fd79d9b6dbb21f031408edd24fe8590a  gdb/testsuite/gdb.base/savedregs.exp
-712aadbc82a48a524ce40a193987abe7  gdb/testsuite/gdb.base/enumval.c
-50e7c6445dd4ae01053de8d076e8a037  gdb/testsuite/gdb.base/charset.exp
-7e021f25dc199bfbacf443f89c79f005  gdb/testsuite/gdb.base/printcmds.exp
+6ac53f40b178b9dd2e66fa277083a1b7  gdb/testsuite/gdb.base/vdso-warning.exp
+8157916c4683b698c399db93048ca711  gdb/testsuite/gdb.base/dprintf-non-stop.c
+e807546aeddf630e5b61a7373756e661  gdb/testsuite/gdb.base/code_elim.exp
+04e073224169f1d040760155cee80eef  gdb/testsuite/gdb.base/interp.c
+40733a419bb2de8e898b5f0f5dd63007  gdb/testsuite/gdb.base/source-execution.c
+887abfc7cd63c338ef84a0c8646df654  gdb/testsuite/gdb.base/watchpoint-solib.c
+132afc94d48269647838ae377281ccbd  gdb/testsuite/gdb.base/prologue-include.h
+eddbda7a2c03f24d6359f4f404ef6cd6  gdb/testsuite/gdb.base/readline.exp
+1a618661fb00a9487dc03cf73395b14f  gdb/testsuite/gdb.base/watch-bitfields.c
+3f202b31c875e43ba33261978deb6e8b  gdb/testsuite/gdb.base/step-break.c
+c77fa3d0ee2c2cc69aad4af0b8f038de  gdb/testsuite/gdb.base/memattr.exp
+9903f41a3544a92bc86dc21260e0818a  gdb/testsuite/gdb.base/solib-overlap-lib.c
+82880bf81cd540430f39a1d8258310d1  gdb/testsuite/gdb.base/cursal.c
+b7336a3a076fb1186c46ea7368c2892e  gdb/testsuite/gdb.base/auto-load-script
+10a323323c8c361540e21872a6c81d99  gdb/testsuite/gdb.base/stale-infcall.exp
+d9f3d67929f3a43628ab7c04f4144ff6  gdb/testsuite/gdb.base/eval.exp
+e675912d9d01b8e3dfbd2d8f31ae3bd9  gdb/testsuite/gdb.base/run.c
+a986a1cac93b2bb3c03983695e55b943  gdb/testsuite/gdb.base/bp-cmds-execution-x-script.gdb
+f710281147d0c0cbedf199cf5889849a  gdb/testsuite/gdb.base/value-double-free.exp
+09774f509e84fedbd77491b65f95bcc5  gdb/testsuite/gdb.base/debug-expr.exp
+6d0075e1140cecff27031cf711f9d08b  gdb/testsuite/gdb.base/sym-file-main.c
+cf30bc63a315ee3f4cf2d46a0ff3f97c  gdb/testsuite/gdb.base/fullname.exp
+7cd0a5257f956160c9f4aae889328cc2  gdb/testsuite/gdb.base/langs0.c
+c4c546107ef02cf5ef7e02f340631b86  gdb/testsuite/gdb.base/attach-pie-misread.c
+a98d3201b08cde82f798f06b010c68de  gdb/testsuite/gdb.base/assign.exp
+38e8e6be5189f6e47f8b0f17ea715554  gdb/testsuite/gdb.base/double-prompt-target-event-error.c
+933f8dd6bc8988382b66ec52147a6dc6  gdb/testsuite/gdb.base/gnu-ifunc-lib.c
+fb0c90929f5baa6ccea641a48de8bea7  gdb/testsuite/gdb.base/structs.c
+a4f0f0f62fb53d09804f575b4fed1781  gdb/testsuite/gdb.base/watchpoint-delete.c
+178bb71b6a87754d17b9fd7dfad2d970  gdb/testsuite/gdb.base/breakpoint-in-ro-region.c
+39374fd973603f5a982e9b6d9af79c71  gdb/testsuite/gdb.base/break-probes.exp
+7c4704bcaf5a4b802392496ffb9025fb  gdb/testsuite/gdb.base/segv.c
+4ed6cca370cae514add3691913756eb1  gdb/testsuite/gdb.base/scope.exp
+e18e71fad2740be8c9a928ca78b9e992  gdb/testsuite/gdb.base/symtab-search-order.exp
+83cf3552c6ecd30f59d981cb656d5dcc  gdb/testsuite/gdb.base/hashline3.exp
+6045b38e0e51d2ae369cd551e80f7704  gdb/testsuite/gdb.base/breakpoint-shadow.exp
+f31f27caaf565a1843f378d11abc0252  gdb/testsuite/gdb.base/sigbpt.c
+9401a0c007c3d2a02ca6298b948f4885  gdb/testsuite/gdb.base/return2.exp
+e018a7c18348f82adcb97632d298a49c  gdb/testsuite/gdb.base/jit-main.c
+d34ea6772cdac6b625a04fa13a0ed0cf  gdb/testsuite/gdb.base/included.h
+d679a581b6b3de779423301158d6c091  gdb/testsuite/gdb.base/dmsym_main.c
+35ecd01b76405e4b873c66df77ba2da4  gdb/testsuite/gdb.base/interrupt.exp
+fd26536cc2683ea7f32d893498b9cb54  gdb/testsuite/gdb.base/interact.exp
+3c5825e485c2a917aa22496ba8876f76  gdb/testsuite/gdb.base/sigaltstack.c
+632d4ebda8edf87371be7197d309ddd4  gdb/testsuite/gdb.base/savedregs.exp
+297227463bce5258b4297078633fb2f5  gdb/testsuite/gdb.base/enumval.c
+b8e540948367a09492f6c7531051ee3b  gdb/testsuite/gdb.base/charset.exp
+3506980f8848d77e35515212627984f6  gdb/testsuite/gdb.base/printcmds.exp
 33a4cf0c2d4e34941699f04f3837cd38  gdb/testsuite/gdb.base/sizeof.c
-5ab3d5d42dc308f5687c162216aaf41e  gdb/testsuite/gdb.base/hbreak.exp
-9613659d0eb5834700f5380e3d6fa9eb  gdb/testsuite/gdb.base/valgrind-db-attach.exp
-8b38bf10b14906aeede912d147c23b43  gdb/testsuite/gdb.base/list1.c
-c0a016e35ac974ed4fe732640640944f  gdb/testsuite/gdb.base/jump.exp
-b96c3d19e96aeed6a87dd12b5f81c21c  gdb/testsuite/gdb.base/sigchld.c
-c475cfbd547b873de28276935e17a1af  gdb/testsuite/gdb.base/reread.exp
-a3ff708c9b59d52713a43ff4e6ecfd8a  gdb/testsuite/gdb.base/dprintf-pendshr.c
-9cc76c611b4c126dfe4c0af110099ce4  gdb/testsuite/gdb.base/exitsignal.exp
-09b3514ecddad4ca9dd40f06f77ca5cc  gdb/testsuite/gdb.base/solib1.c
-a465fb9cef999334ae1682da2a72d4df  gdb/testsuite/gdb.base/volatile.exp
-0366e962f7877616f7a7e6b5165f646c  gdb/testsuite/gdb.base/jit-simple.exp
-cb135d6b8fe4126eebeba0ca29f4dffb  gdb/testsuite/gdb.base/watchpoint-cond-gone-stripped.c
-9a84f062029c59bfd02fb2007559460c  gdb/testsuite/gdb.base/watchpoint.exp
-6e8b1ebb505d77ac53cfaab60499a09d  gdb/testsuite/gdb.base/skip-solib-lib.c
-868c4632e7860280ad3ddd0c7713c819  gdb/testsuite/gdb.base/call-rt-st.c
-53a8f1e3581e98e0658fd04b328d6d69  gdb/testsuite/gdb.base/gdb11531.c
-5ec81943a5d444070ed2cc1cfd0e585a  gdb/testsuite/gdb.base/siginfo.exp
-474af5a935be583c0253c8c6bfbba166  gdb/testsuite/gdb.base/source-execution.gdb
-b368b1ec97e3410e0765fbb48bb35efd  gdb/testsuite/gdb.base/double-prompt-target-event-error.exp
-5e986f5a155bd12ed6f2c7dff511135d  gdb/testsuite/gdb.base/del.c
+366d44c1856e3d31b5018a420640e45e  gdb/testsuite/gdb.base/hbreak.exp
+e3a5cebb2c4094c1bb83668d08186cb5  gdb/testsuite/gdb.base/valgrind-db-attach.exp
+55054b22a6edfb0fc44272fb7f9040f3  gdb/testsuite/gdb.base/list1.c
+af618e15c55da3e70fce66603534a8e6  gdb/testsuite/gdb.base/jump.exp
+d0963b35d9eb976e31addca7eb3938c1  gdb/testsuite/gdb.base/sigchld.c
+496934ed26f5824b4290e9db146cd1f0  gdb/testsuite/gdb.base/reread.exp
+0245ab7d4ed2b547f98063ca9e9b383d  gdb/testsuite/gdb.base/dprintf-pendshr.c
+0e8434d227a0ea839e6ad11d7714024e  gdb/testsuite/gdb.base/exitsignal.exp
+348c8e643b4462469b9c5d397c81190c  gdb/testsuite/gdb.base/solib1.c
+015b4e35691d44597f60b785db2e57c3  gdb/testsuite/gdb.base/volatile.exp
+ad2c4b8ce1598cdfd4d31223408e15cf  gdb/testsuite/gdb.base/jit-simple.exp
+82e37de4212856cd54449e65b730aba1  gdb/testsuite/gdb.base/watchpoint-cond-gone-stripped.c
+ed624c7e0ae29d4590c0dd241d90f6ac  gdb/testsuite/gdb.base/watchpoint.exp
+7795f27d3493b8a545e87cd368380b65  gdb/testsuite/gdb.base/skip-solib-lib.c
+7ec0e472ff756215c0eeb9afdbbfff34  gdb/testsuite/gdb.base/call-rt-st.c
+e7943c6617aef598d16a48e53bc39a73  gdb/testsuite/gdb.base/gdb11531.c
+e5c3b048af59f2cb92c7af01e29a6e94  gdb/testsuite/gdb.base/siginfo.exp
+8214c8fb3c13ba2bcbacb1f9eed7751f  gdb/testsuite/gdb.base/source-execution.gdb
+800b6374914216d1da88cb4a299c0c63  gdb/testsuite/gdb.base/double-prompt-target-event-error.exp
+b759766e2e5a67389819a1e666f9193d  gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
+7f2e431730e62b8798676ddcadd2f4b7  gdb/testsuite/gdb.base/del.c
 96414feab41b4954360074ac656e2b8e  gdb/testsuite/gdb.base/varargs.c
-3ab3a9988fb0cbe4eba60226b856ea84  gdb/testsuite/gdb.base/realname-expand.c
+bd5ca176289756c8a8f6a3a56c2407ac  gdb/testsuite/gdb.base/realname-expand.c
 300341fe836af37adf2f3064285022aa  gdb/testsuite/gdb.base/twice.c
-a1b2721d35c9d5511489df33125645be  gdb/testsuite/gdb.base/huge.exp
-95203b24119e8ddd46acfa96c8463231  gdb/testsuite/gdb.base/vforked-prog.c
-e779fd24740088379ceee58d539acd46  gdb/testsuite/gdb.base/echo.exp
+f08fe7d838c31524e81e55bcfebcabf8  gdb/testsuite/gdb.base/huge.exp
+ed1da5871957c56944c2d5cf8b6a1905  gdb/testsuite/gdb.base/vforked-prog.c
+2e61ab6b83737bde6f1d201d92c99d2c  gdb/testsuite/gdb.base/echo.exp
 c90e022fb5ef3df8a5639df233f9c350  gdb/testsuite/gdb.base/langs2.cxx
-b6292710bb1489dac0692b8fbeefd990  gdb/testsuite/gdb.base/signest.exp
-d5a026eb45acae831b4541c85b4ccab9  gdb/testsuite/gdb.base/info-shared.exp
-b49829e64015954114dac6d22145c3c2  gdb/testsuite/gdb.base/callexit.c
-55791702e4fda4bae84eeee4c825f535  gdb/testsuite/gdb.base/step-symless.exp
-02af94a094743cd408029ab359f11523  gdb/testsuite/gdb.base/duplicate-bp.exp
+fb1f46d14ca1217aa6926fd877d7dd75  gdb/testsuite/gdb.base/signest.exp
+af24272efad86ef1947bb87379feebc4  gdb/testsuite/gdb.base/info-shared.exp
+4e6d63cda7287f2d00d9e31aebb84b5b  gdb/testsuite/gdb.base/callexit.c
+bac44c923611117facff58e213be3828  gdb/testsuite/gdb.base/global-var-nested-by-dso-solib2.c
+db2e97e0bc6fe963fa7f052c8e8a0058  gdb/testsuite/gdb.base/step-symless.exp
+c91dc02b2808e8a864fb27d91afd2790  gdb/testsuite/gdb.base/duplicate-bp.exp
 e33f3eea7d6105e0265ef823ed34ffc7  gdb/testsuite/gdb.base/all-types.c
-76ff0e07406d72d4af9ec48476daecb9  gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c
-cd5301dd5527bd1d216faa8c2ebd1a50  gdb/testsuite/gdb.base/attach-twice.exp
-810a04bc0c50752c6664032a6176ce6c  gdb/testsuite/gdb.base/info-shared-solib1.c
-0bb835fc9da5cb4514a8618563bf4d8b  gdb/testsuite/gdb.base/find.c
-77934a8449d3bc37cb89e4b404ddb337  gdb/testsuite/gdb.base/sigstep.exp
-15b94a2810ce675f9e359a347b700382  gdb/testsuite/gdb.base/argv0-symlink.exp
-b9efa8048202ce4ce72054c6443af041  gdb/testsuite/gdb.base/hashline1.exp
-a7e9a89307f215bdcda9fe499aa9d7da  gdb/testsuite/gdb.base/setshow.exp
-3fd3ffb130511e6c5d682aee094e91cd  gdb/testsuite/gdb.base/step-resume-infcall.c
-5d2ceae6953ca9e70f8dff76c11d56b7  gdb/testsuite/gdb.base/type-opaque.exp
-85d246f11fec6f6bada737e43acebf03  gdb/testsuite/gdb.base/remote.exp
-992884582caabfb347d0dd8521a4b64a  gdb/testsuite/gdb.base/weaklib1.c
-b92f090a8b8e622f0047c9538e6d4070  gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c
-9f2bb5779c54b9f9230b3ad2720cbaa1  gdb/testsuite/gdb.base/valgrind-db-attach.c
-2b4824d448e5d8b1cab056d5f12bbed3  gdb/testsuite/gdb.base/gdb11530.c
-1ac53f8d50d6d5649d5b3d4d35ce2b68  gdb/testsuite/gdb.base/break-always.c
-d17ead8342c5badafcd4f2eadc77aa5e  gdb/testsuite/gdb.base/checkpoint.exp
-bb3f71420d532f87fb2244dbaa51bb65  gdb/testsuite/gdb.base/subst.exp
-1cb174c8fd229ba244e0219cebda15e6  gdb/testsuite/gdb.base/step-test.exp
-4d41849818f363c94c583c379ea7e174  gdb/testsuite/gdb.base/relativedebug.c
-0431a4dde7ad9f10441c52e8f980ec00  gdb/testsuite/gdb.base/paginate-bg-execution.exp
-ba0aee27364b80e584e0089e2ca580d8  gdb/testsuite/gdb.base/sym-file.exp
-b7755f376dcbf471e2a9dd95ec73e262  gdb/testsuite/gdb.base/step-bt.c
-c4d789d7c6362beb9e415f0977987c7a  gdb/testsuite/gdb.base/unloadshr.c
-8a1b4758bdae767dc438851baab5c04c  gdb/testsuite/gdb.base/valgrind-infcall.c
-71f01e42cab0d02a9370a03281f7b277  gdb/testsuite/gdb.base/watchpoint-cond-gone.c
-d3f3cb640a1bf93dac9d6370c9791699  gdb/testsuite/gdb.base/watch_thread_num.exp
-d299dd9a4cbedf5a92eada97f1d944c1  gdb/testsuite/gdb.base/solib-display-main.c
-efa2fd5cc78d2ea3f11922a868e013cf  gdb/testsuite/gdb.base/fortran-sym-case.c
+3ae11c0e5354883e98afc5d6791f50c8  gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c
+4b0c1ade0ca999068632726245567e5f  gdb/testsuite/gdb.base/attach-twice.exp
+f26f6516cfff47b633b5ed2ea168be37  gdb/testsuite/gdb.base/info-shared-solib1.c
+ced1e1041189426156fe6bb35e723559  gdb/testsuite/gdb.base/find.c
+d3077c28b971fd138046d0dc006ce243  gdb/testsuite/gdb.base/func-ptrs.c
+fd51b7ba7554e872a14924d3979b0470  gdb/testsuite/gdb.base/sigstep.exp
+ebb9122daaae330a09d18b7b29386c39  gdb/testsuite/gdb.base/argv0-symlink.exp
+d2390accf8c6c238c61e82309151e3a6  gdb/testsuite/gdb.base/hashline1.exp
+f8c95bcfdede1f7ce20ecb9a377da29d  gdb/testsuite/gdb.base/setshow.exp
+330092aedaaf6e226f6ca1418db81549  gdb/testsuite/gdb.base/step-resume-infcall.c
+4695f0683cafea47f31fdea512d9a198  gdb/testsuite/gdb.base/type-opaque.exp
+5367c2c36c0d5fcaf2c26b432340382c  gdb/testsuite/gdb.base/remote.exp
+167483aacaec5ac058f46e3d25904b99  gdb/testsuite/gdb.base/weaklib1.c
+b927627315d78aafc6cedf3b95c316e2  gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c
+52a3337587e4b5260b3a849aedd188fc  gdb/testsuite/gdb.base/valgrind-db-attach.c
+be6c13211a4c389e30c56ff6897ee4fa  gdb/testsuite/gdb.base/gdb11530.c
+0a04bf5af78cabf6d5f6fbd226bda286  gdb/testsuite/gdb.base/break-always.c
+5df8c1cb2bdfabf97ae6d8b783d9ffec  gdb/testsuite/gdb.base/checkpoint.exp
+c6fcf4a0ba563eb60153e14e3ba09ebc  gdb/testsuite/gdb.base/subst.exp
+04fb361ca7fd5962eb8c662d2d7efec3  gdb/testsuite/gdb.base/dprintf-detach.exp
+d144f2fa0c95f49f3ed6d0bf55674762  gdb/testsuite/gdb.base/step-test.exp
+9fac8f45e1bb000a5a1a30098b8dcc7d  gdb/testsuite/gdb.base/relativedebug.c
+d25dbcbf9459795e5b55c4ee13b86c4c  gdb/testsuite/gdb.base/paginate-bg-execution.exp
+07f3b6dba18c4e819a30524bafc653f0  gdb/testsuite/gdb.base/sym-file.exp
+1afc3d62295b79729d87f7cc0f1d2a6b  gdb/testsuite/gdb.base/step-bt.c
+e793a168dd067288a1c92e0f5a8115e1  gdb/testsuite/gdb.base/unloadshr.c
+c7fcb4a37468c23cb2392c4d1d2f6ce7  gdb/testsuite/gdb.base/valgrind-infcall.c
+cdf539fb37aa019503f1ccbc0b4389aa  gdb/testsuite/gdb.base/watchpoint-cond-gone.c
+23a7e905282303e7af2156be3cedfceb  gdb/testsuite/gdb.base/watch_thread_num.exp
+561c27528d8cbdd1dd228d02379c14fc  gdb/testsuite/gdb.base/solib-display-main.c
+24f8dd7a0f899efaa81bf248f8eafa2e  gdb/testsuite/gdb.base/fortran-sym-case.c
 9cd4ef136dfbee149a4056477283fa41  gdb/testsuite/gdb.base/grbx.c
-993ade664a1ee674b43cd9d4eba1c915  gdb/testsuite/gdb.base/break-unload-file.exp
-5fe14a727e4d0348aef6a696b81b9107  gdb/testsuite/gdb.base/solib-search-lib2.c
-824b411f3ed3fd7b8cfd409b944b0bd9  gdb/testsuite/gdb.base/foll-exec.exp
-c3572760c55cf85d10d508f2ae5bef05  gdb/testsuite/gdb.base/dmsym.c
-259bf83d0422f56528c2185dab437b00  gdb/testsuite/gdb.base/alias.exp
-98596e5d173f29ff621064a6bd0a166d  gdb/testsuite/gdb.base/gdbvars.exp
-4b5da2c0ed66e53ce8793388f623f04b  gdb/testsuite/gdb.base/structs3.c
-8017ad39490c1eca9dcac50deb092b4d  gdb/testsuite/gdb.base/unwindonsignal.exp
-9773d66d47808b703ccd5315aa585c9e  gdb/testsuite/gdb.base/watchpoints.c
-ba830e65320a5bd1f33a3abfaca3aff2  gdb/testsuite/gdb.base/included.c
+dc961eae263ada330c1db9dc91737ee4  gdb/testsuite/gdb.base/break-unload-file.exp
+3662af4fc62fcb2376197f68d7f0986b  gdb/testsuite/gdb.base/solib-search-lib2.c
+853baa2a2248895c028c3985e6add26f  gdb/testsuite/gdb.base/foll-exec.exp
+d3aeb778c6fff69902873e009f259399  gdb/testsuite/gdb.base/dmsym.c
+f511f485328fe2887a126e09e35493d2  gdb/testsuite/gdb.base/bp-cmds-execution-x-script.c
+972cfc29eab1218ea347b6b58072acb2  gdb/testsuite/gdb.base/alias.exp
+cec0385b9869bb484321c6a1e304be82  gdb/testsuite/gdb.base/gdbvars.exp
+e9def40b8c3f9e881284d39ad06a81a3  gdb/testsuite/gdb.base/structs3.c
+67393e9ea123f3f4273c4e8c08517fe1  gdb/testsuite/gdb.base/unwindonsignal.exp
+60b48aedaad25f14bad6733a91c33775  gdb/testsuite/gdb.base/watchpoints.c
+9b49c57b2897d172d1a3c3f641c63a73  gdb/testsuite/gdb.base/included.c
 1bbd5bc32f4f8b1fd1713f542eda08f2  gdb/testsuite/gdb.base/bitfields2.c
-12267e70327d683490f599828bbb5e1a  gdb/testsuite/gdb.base/constvars.exp
-069e56cd556d3e6d801a568914d60a03  gdb/testsuite/gdb.base/langs1.f
-cd634c95c4434be49d52f6850529bb55  gdb/testsuite/gdb.base/watchpoints.exp
-2316385246e7b2fc0a7f8a6647b81147  gdb/testsuite/gdb.base/stap-probe.c
+689bcc88009fcb731be5761491122c18  gdb/testsuite/gdb.base/constvars.exp
+12c8d1273c88fde3c735fa5ee905dea1  gdb/testsuite/gdb.base/langs1.f
+e276e66e901ba6537a87d0b237219e57  gdb/testsuite/gdb.base/watchpoints.exp
+aae8e9a54d4885787e73d2a466a4ad8c  gdb/testsuite/gdb.base/stap-probe.c
 fe5009ce8b19b723e7e6deb3c0ca9a0e  gdb/testsuite/gdb.base/gdb_history
-12825e02f002bd558a59765817d36308  gdb/testsuite/gdb.base/gcore.exp
-9d5cdf2c8d05d54554d78a4a1180d59a  gdb/testsuite/gdb.base/symbol-without-target_section.c
-b6785f5cabb77ba66e3c5f35c87fbfe6  gdb/testsuite/gdb.base/bitops.exp
-6be414274d44626007237974d41c517f  gdb/testsuite/gdb.base/gdbindex-stabs-dwarf.c
-95d148f9fd1ddf7c2e9bd7d2b1793e65  gdb/testsuite/gdb.base/siginfo-infcall.exp
-45e9fa641454f41ff0fd2a345752bf74  gdb/testsuite/gdb.base/funcargs.exp
-f979f053e2cd1a61d9630b75d70607ef  gdb/testsuite/gdb.base/sum.c
-f1c556cf46d98c4192f55ac744c813c1  gdb/testsuite/gdb.base/pr11022.c
+ce38dec0c239695af47efab71267f536  gdb/testsuite/gdb.base/gcore.exp
+56f48a8e4111bbc0d4ddb3c8c17d2b99  gdb/testsuite/gdb.base/symbol-without-target_section.c
+51f5af315e0dc3cc21db56bfc3b71411  gdb/testsuite/gdb.base/bitops.exp
+25bbd941cff34d55cb9ec8ff8765bf64  gdb/testsuite/gdb.base/gdbindex-stabs-dwarf.c
+c8f85a37e8909614b29e8553350136b5  gdb/testsuite/gdb.base/siginfo-infcall.exp
+f94bc962330736519d3616492daae186  gdb/testsuite/gdb.base/execl-update-breakpoints.c
+fa7519cd37223221b27d205941302e58  gdb/testsuite/gdb.base/funcargs.exp
+9abbb202693c949e0470656ba553b178  gdb/testsuite/gdb.base/sum.c
+4fce00427c08d8b916a752c6b75a38a7  gdb/testsuite/gdb.base/pr11022.c
 612e6a39aee238b755c4ef2b41343a67  gdb/testsuite/gdb.base/comp-dir/subdir/dummy.txt
-edac1e9a9bf4f3e50e7e25abbe334471  gdb/testsuite/gdb.base/normal.c
+b1a32067bf5383f11248ff500cca6f89  gdb/testsuite/gdb.base/normal.c
 0fec50da02e7cd3be0581d9269e8b27b  gdb/testsuite/gdb.base/pc-fp.c
-3bc8387ccb7441e8f4e2783c678065c5  gdb/testsuite/gdb.base/gdb1821.c
-1cd428639a6a57ced3a60c26aa4be81d  gdb/testsuite/gdb.base/restore.c
-5b3a0afea19e66244bb6110b4bafe104  gdb/testsuite/gdb.base/sepsymtab.exp
-3ce5c27f4b08d7931f731f645e5e353d  gdb/testsuite/gdb.base/radix.exp
-20c7bd219d3417564e3cc39ac355bd43  gdb/testsuite/gdb.base/hook-stop-continue.exp
-b841ff9c0487b1dc43c5b27ac95a2976  gdb/testsuite/gdb.base/interrupt-noterm.c
-b26809371d4e43b0c7b455eaf06b97c7  gdb/testsuite/gdb.base/break-entry.exp
+f280f22bd6cbb8b1717f33372a93f0b4  gdb/testsuite/gdb.base/gdb1821.c
+289b9dbe6ddcad8a6bc16d2ed428840d  gdb/testsuite/gdb.base/restore.c
+6c1229b5cce043b19ee35cd6d2c0b14b  gdb/testsuite/gdb.base/sepsymtab.exp
+b12f492229079ac7b7acff1fcfe49833  gdb/testsuite/gdb.base/radix.exp
+9647518c16d8a213fb24b587615fa2b0  gdb/testsuite/gdb.base/hook-stop-continue.exp
+1b25f8049553d35ec5f7eb2d50966e7c  gdb/testsuite/gdb.base/interrupt-noterm.c
+1939e43d64a33b23a3054eb7740c7540  gdb/testsuite/gdb.base/break-entry.exp
 419ed3ef1cdc35f550df83f7dcc77f2f  gdb/testsuite/gdb.base/anon.c
-8eaaaa3230a947983f16b0a48e57f810  gdb/testsuite/gdb.base/foll-fork.c
-a49580e2dc8ff5a669c5a17313b71e72  gdb/testsuite/gdb.base/argv0-symlink.c
-50d5cd12a173a5fbb0c89f3e1e4581d8  gdb/testsuite/gdb.base/gcore-relro.exp
-5b0666d4bcfbf0912a7e5e76014d383e  gdb/testsuite/gdb.base/gcore-relro-lib.c
-d80d182dc61475887ba30eb12cd5b20e  gdb/testsuite/gdb.base/watch-read.c
-6d6f439f46890879a869ec7d787f9ef5  gdb/testsuite/gdb.base/sigstep.c
-2442fbb9b055bedd90d5c490f72d01b1  gdb/testsuite/gdb.base/define.exp
-f311215f44a80644fcde2a2dbf59381b  gdb/testsuite/gdb.base/ptr-typedef.c
-850a5b2b54ffab34f2ee1730c94b38c0  gdb/testsuite/gdb.base/gcore-relro-main.c
-e15bf61386e9f42d047f06b529648917  gdb/testsuite/gdb.base/start.c
-1eeb9139f1f2867603df8ad835f41735  gdb/testsuite/gdb.base/fullpath-expand-func.c
-cd55c179534172193cbb1c53cf65b2d1  gdb/testsuite/gdb.base/break-always.exp
-c91690bf4e09585eb70455bbb41a27f6  gdb/testsuite/gdb.base/cvexpr.exp
-7964ed64a590bfc657dc599a2accfc56  gdb/testsuite/gdb.base/source-nofile.gdb
-3d44d556449c9ed569b17e6f3a946792  gdb/testsuite/gdb.base/gdb1555-main.c
-2ff4ec5f2fcf32dce602fe93c9e25d6d  gdb/testsuite/gdb.base/pie-execl.exp
-c808dde6ef808fc0f57210797d41b4a8  gdb/testsuite/gdb.base/opaque.exp
-a35268fb0f538cb1c263b9de04e7f71e  gdb/testsuite/gdb.base/dup-sect.S
-9aa2f88bc5ed966dbead9b7b650e0708  gdb/testsuite/gdb.base/lineinc.exp
-eba226f5ff163b0f4c5aafc55cf844a7  gdb/testsuite/gdb.base/recurse.c
-d8f766041b8c03338b5833d6c37c5008  gdb/testsuite/gdb.base/average.c
-763c6a23a4aa1f8c335ac0d2be0a8dd0  gdb/testsuite/gdb.base/float.exp
-2458589529835c7c5e2ec5f855ade1f1  gdb/testsuite/gdb.base/dprintf.exp
-ec780d9f782e9ea760666c1615b2dd5e  gdb/testsuite/gdb.base/bitfields.exp
-6296bfc2e4cd93aac51251f19869625d  gdb/testsuite/gdb.base/pie-execl.c
-32661b86e4704b0198e312816576c4f6  gdb/testsuite/gdb.base/solib-display-lib.c
-813a0e4f35adf8b79ce79df6588ee03b  gdb/testsuite/gdb.base/wchar.exp
-681efdd2262f5d8a3ea70925a1f0ea2d  gdb/testsuite/gdb.base/sigrepeat.exp
-0fb23b0faa70b04ab6a3e3409ba00fc9  gdb/testsuite/gdb.base/relativedebug.exp
-2b5807a1cbc635ddc0a020033e3649c5  gdb/testsuite/gdb.base/bg-execution-repeat.exp
-ec5c7e0b9da3d351dc0c03efd445eb8c  gdb/testsuite/gdb.base/moribund-step.exp
-a26e72d77c39e41b2007f9f5d1a0fd1c  gdb/testsuite/gdb.base/gdb1821.exp
-45d6ef5c470266bf58cb40b01a0f5677  gdb/testsuite/gdb.base/infnan.c
-02ae45e36498e548677a788f77694707  gdb/testsuite/gdb.base/info-shared.c
-d6c8f742b6e56b112c0c241c8b5cbfb1  gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
-e10b96046b0c0a012fff2ab202a94778  gdb/testsuite/gdb.base/structs3.exp
-1fcd055db03fc9731ff2e330ca551a1f  gdb/testsuite/gdb.base/solib-symbol-main.c
-33374a67bdbd04f366fca03dda1a7a8e  gdb/testsuite/gdb.base/signals.exp
-59816ad9340755693a60a1fc3b6a2820  gdb/testsuite/gdb.base/sepdebug.c
-1b8b658d0f13cc5a861a3e44b110b394  gdb/testsuite/gdb.base/break-inline.c
-5e90501f2bead211f6d0c635dd3baeef  gdb/testsuite/gdb.base/solib-symbol.exp
-6e112cd6b599d4ad52379af90702e6d9  gdb/testsuite/gdb.base/solib-weak.c
-550a5a0f6df2c3b7b4d22e01820b0453  gdb/testsuite/gdb.base/varargs.exp
-749e795d7bb5bba1fa84b79c4183828d  gdb/testsuite/gdb.base/return-nodebug.c
-733dd39e7348d9d6a4036731485f50b3  gdb/testsuite/gdb.base/gnu-debugdata.c
-d343631a41cb46412fe8ea5ce874601a  gdb/testsuite/gdb.base/source-error.gdb
-a35b9146d494548b7fc715ffe05b6838  gdb/testsuite/gdb.base/disp-step-vfork.c
-106a786243295ea7d0e47d0038b8dc4a  gdb/testsuite/gdb.base/siginfo-obj.c
-b059f37ed1295710a2e4e6bd2a4c33df  gdb/testsuite/gdb.base/dup-sect.exp
-170423cb5ab737bfa5d28f60e7e89ecf  gdb/testsuite/gdb.base/dprintf.c
-724ddcc16972db62b1a05142ed68cf38  gdb/testsuite/gdb.base/multi-line-starts-subshell.exp
-cb13bd7c8b42dee0baff764a339d5502  gdb/testsuite/gdb.base/gcore-buffer-overflow.exp
+a77c5f8652a63f6b66afabd7485f475a  gdb/testsuite/gdb.base/foll-fork.c
+01fc3d636c8c1c00bba38bd3c1aea5c9  gdb/testsuite/gdb.base/argv0-symlink.c
+09c6f52e8d3d377b31cbea29616e8042  gdb/testsuite/gdb.base/gcore-relro.exp
+46409250b713b9113808d6bb029e484c  gdb/testsuite/gdb.base/gcore-relro-lib.c
+0e9d59b04874246f86012f9836ec0c70  gdb/testsuite/gdb.base/watch-read.c
+3166fb97834b1d633fe85ac524f790e7  gdb/testsuite/gdb.base/sigstep.c
+9616c0303e9fa3e097cd9fcaf2b4444b  gdb/testsuite/gdb.base/define.exp
+c3e0e8b193e1ee645205b587cc0e67c0  gdb/testsuite/gdb.base/ptr-typedef.c
+0f6778947b72c223d658e7c69099db51  gdb/testsuite/gdb.base/gcore-relro-main.c
+85f388a27a4cee4152615336d97fc1df  gdb/testsuite/gdb.base/start.c
+53de84fc750b289cef53660d397165b8  gdb/testsuite/gdb.base/fullpath-expand-func.c
+c36a43506967b5bf79a1fdc2ae17f4cf  gdb/testsuite/gdb.base/break-always.exp
+6ad91cc4c4382f5ef1974902651aa690  gdb/testsuite/gdb.base/cvexpr.exp
+2c07bf7b1bec2f861d0e279bb513cebb  gdb/testsuite/gdb.base/source-nofile.gdb
+379b973330cbe2ec8ff2114ed15d8451  gdb/testsuite/gdb.base/gdb1555-main.c
+1f822764edc85bbcebac977faf4a4709  gdb/testsuite/gdb.base/pie-execl.exp
+47f6bf16f9cae6efee0d0d20b702e4fa  gdb/testsuite/gdb.base/opaque.exp
+d8737443a1b4bf721a54e141307b6eae  gdb/testsuite/gdb.base/dup-sect.S
+05b2af3fb3a2c8e15eca6f0f0a6940a5  gdb/testsuite/gdb.base/lineinc.exp
+2d0d3f1b1029b3b47ec9cb438790fa98  gdb/testsuite/gdb.base/recurse.c
+95c6034d1232aa8f626b5c223ee78549  gdb/testsuite/gdb.base/average.c
+3fe1f1bf658e7bac1bea56d67fd8ec9a  gdb/testsuite/gdb.base/float.exp
+5100862ec135b82965ba8797a87031cb  gdb/testsuite/gdb.base/dprintf.exp
+a1c60f8a25916e88881c8a6f71316039  gdb/testsuite/gdb.base/bitfields.exp
+2358d3ed9ce021da19e9d0a1594b1f36  gdb/testsuite/gdb.base/pie-execl.c
+433061b98c8df106b5d24430b7b0ef7c  gdb/testsuite/gdb.base/solib-display-lib.c
+fbb83d2ec3b973976e487d30ce18e2a7  gdb/testsuite/gdb.base/func-ptrs.exp
+f5d2dc6e6f3fa65b8e690b43f9834a50  gdb/testsuite/gdb.base/wchar.exp
+d9829caebb3a21973ff4f9154b7a471e  gdb/testsuite/gdb.base/sigrepeat.exp
+c065b412af4c3035cd706c653abeecac  gdb/testsuite/gdb.base/relativedebug.exp
+0f762c011978d8c010d7224af30d390f  gdb/testsuite/gdb.base/bg-execution-repeat.exp
+6b0cf9c4b1a3a46ee5860a94bcf2e71a  gdb/testsuite/gdb.base/moribund-step.exp
+f1dd79c3c354633f701a53ff828f057e  gdb/testsuite/gdb.base/gdb1821.exp
+26cefa23fa3597985ff1b03e9216b7f5  gdb/testsuite/gdb.base/infnan.c
+3db315f674aa9758c918117d92b89554  gdb/testsuite/gdb.base/info-shared.c
+5469870bcdb5dd2c4840411e0076d32c  gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
+25a7d8e547ec2dd1ec228276d5a19d1e  gdb/testsuite/gdb.base/structs3.exp
+f06999cbe3344fd40e139ffd593db568  gdb/testsuite/gdb.base/solib-symbol-main.c
+6cde2f2c44001e14a79af2005cb45d73  gdb/testsuite/gdb.base/signals.exp
+1434211de35a216f4a6a366e9af92061  gdb/testsuite/gdb.base/sepdebug.c
+72288a05dbf7395720a0089755fc181b  gdb/testsuite/gdb.base/break-inline.c
+423c4365a14ddeb09a68ae6a1664f946  gdb/testsuite/gdb.base/solib-symbol.exp
+bd23887e5389731e6631c696fd448435  gdb/testsuite/gdb.base/solib-weak.c
+5819a1e9778c1b36ae286b9286959e85  gdb/testsuite/gdb.base/varargs.exp
+39e6a289b2ccc5ba67b80b87938d0f73  gdb/testsuite/gdb.base/return-nodebug.c
+62f41060fc470a5faee547151b09f078  gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.c
+9fe56558dd4bfc7eedc3d6293e28c243  gdb/testsuite/gdb.base/gnu-debugdata.c
+cbc2a0b3d8037157eb6f6e20c4ba78ed  gdb/testsuite/gdb.base/source-error.gdb
+ef9f4d208820a038c806472330ee9335  gdb/testsuite/gdb.base/disp-step-vfork.c
+3a84acee59f6902c55e71cba9a406d06  gdb/testsuite/gdb.base/siginfo-obj.c
+a6a35b8ffde3ba4ace0bf1293f852015  gdb/testsuite/gdb.base/dup-sect.exp
+8c51997949f77e32a971f87bfafdf3bf  gdb/testsuite/gdb.base/dprintf.c
+fece00bcd7de207b6afa7fb95f6a3a23  gdb/testsuite/gdb.base/multi-line-starts-subshell.exp
+d9100b611fde098b6a920e25d94e6723  gdb/testsuite/gdb.base/gcore-buffer-overflow.exp
 b40539d04e57affb9b806cd323cb4cfd  gdb/testsuite/gdb.base/jit-simple.c
-971ac71336f33ad01221176c2f7b3898  gdb/testsuite/gdb.base/break-interp.exp
-0d874861c3fe7b25ca492cade5dd4979  gdb/testsuite/gdb.base/signest.c
-3e8652735999f1e43e0a7e461421872e  gdb/testsuite/gdb.base/empty_exe.exp
-8e4294624fc847b093fd9e7970f58e47  gdb/testsuite/gdb.base/catch-load.c
-4c92fc2549d2d827390ccbaaeadf1031  gdb/testsuite/gdb.base/call-rt-st.exp
-a8b28046d7a613dc6a0320715195a307  gdb/testsuite/gdb.base/vla-ptr.c
-5d312fec3eff855f4f50fd6b3e00cfa4  gdb/testsuite/gdb.base/prelink.exp
-22434f48a4e6c136a0a955fa755891af  gdb/testsuite/gdb.base/skip-solib.exp
-35c9a194203d5fc888555085e9318786  gdb/testsuite/gdb.base/step-line.exp
-d43fe748f5ea4187030bc8609fb31654  gdb/testsuite/gdb.base/dprintf-next.exp
-42c22374358ae48b6f0fab3c14ce765e  gdb/testsuite/gdb.base/break-unload-file.c
-67f370c8661ab05209185c9be1b1266f  gdb/testsuite/gdb.base/attach.c
-e58688078307b50fefd0e2d5af107cf7  gdb/testsuite/gdb.base/nostdlib.c
-e960723b235671f049f6b6030f000085  gdb/testsuite/gdb.base/hashline2.exp
-cb82b37d7239b07858513fdaacc9953b  gdb/testsuite/gdb.base/solib-symbol-lib.c
-8a0a979c3a31fc3f1476c7bf2c2dfad8  gdb/testsuite/gdb.base/foll-vfork.exp
-52fab7d8b3be73354f1ba7e58d8c75d3  gdb/testsuite/gdb.base/macscp.exp
-db5a361106b652a5a1edbe431cc31675  gdb/testsuite/gdb.base/multi-forks.c
-e894aa2115855c7f477dd2af335d97a1  gdb/testsuite/gdb.base/prologue.exp
-401731c55fde00dd47649d4d4185a640  gdb/testsuite/gdb.base/watchpoint-solib-shr.c
-80de7ee8720225d7a6c2860596ef3e5a  gdb/testsuite/gdb.base/dprintf-pending.c
+1f82b583704ea714ffbfe97822330497  gdb/testsuite/gdb.base/break-interp.exp
+02ba0a9329d36cba5fccf4b94ed1eaa6  gdb/testsuite/gdb.base/signest.c
+f51adbef7a72caed8c9dc4a3ebcbd8cc  gdb/testsuite/gdb.base/empty_exe.exp
+2b38b8f007a3f52717192a02d8ef1702  gdb/testsuite/gdb.base/catch-load.c
+5308499441313fd9d7d1babea213020b  gdb/testsuite/gdb.base/call-rt-st.exp
+484a7f827b6adfa84ccc1e8de1b1ad01  gdb/testsuite/gdb.base/vla-ptr.c
+473e7a3fe10f5a9e8928499b76cab884  gdb/testsuite/gdb.base/prelink.exp
+9893c2ac22428bc0195f1942bf7bf671  gdb/testsuite/gdb.base/skip-solib.exp
+66ad46ede07f10c3a2192dc3b5234044  gdb/testsuite/gdb.base/step-line.exp
+94772659b9e071de7e7f3b3b1f9f907f  gdb/testsuite/gdb.base/dprintf-next.exp
+a16e2617b2d2b57120b3e98863128051  gdb/testsuite/gdb.base/break-unload-file.c
+a27e9c3adf85835fd5ec921e62b1df71  gdb/testsuite/gdb.base/attach.c
+c67db3154ff5922dbd46a16b0bd4780b  gdb/testsuite/gdb.base/nostdlib.c
+2e86dbfb3fe683104a54e33c7b0c0f9b  gdb/testsuite/gdb.base/hashline2.exp
+a40cf894bc45325b28124a6918a570c4  gdb/testsuite/gdb.base/solib-symbol-lib.c
+a18ec30ed1ab395bc2f568a2baf23ad4  gdb/testsuite/gdb.base/foll-vfork.exp
+c1174e2fa2d60b2bbc36506f499840d7  gdb/testsuite/gdb.base/macscp.exp
+feb123a6da59eb921336003b50f13957  gdb/testsuite/gdb.base/multi-forks.c
+ea3079616be93db23f863ace8a0f7d7b  gdb/testsuite/gdb.base/prologue.exp
+c1b524f84ef95d3ed40255abad90b469  gdb/testsuite/gdb.base/watchpoint-solib-shr.c
+ddb3066e750df3995ee4780e8ba2c4a4  gdb/testsuite/gdb.base/dprintf-pending.c
 1ea088b852b87134ad1b9038b0dd2204  gdb/testsuite/gdb.base/store.c
-6973d1522b0937872ea2ae500a69b5c1  gdb/testsuite/gdb.base/longjmp.exp
-775db74e6371f096f04a1f246caa9220  gdb/testsuite/gdb.base/call-signal-resume.exp
-aeebe7d674b49d89fb794b1628e72865  gdb/testsuite/gdb.base/solib-overlap.exp
+f83afce63a3cb2cd060a69b94990a317  gdb/testsuite/gdb.base/symtab-search-order-1.c
+a5b5c68530a573520b8b8a086855bf0d  gdb/testsuite/gdb.base/longjmp.exp
+49cded18d4b376bc7480172708e12de4  gdb/testsuite/gdb.base/call-signal-resume.exp
+6f21f303842683712a1ec3e9dd01ca7d  gdb/testsuite/gdb.base/solib-overlap.exp
 b263e085b920ccae2568157fcc33189f  gdb/testsuite/gdb.base/psymtab1.c
-3ab3a9988fb0cbe4eba60226b856ea84  gdb/testsuite/gdb.base/fullpath-expand.c
-820a7f175e6e83da237f87e2c5d74088  gdb/testsuite/gdb.base/break.exp
-4fa0d89a15a375bab3988627cfd681c1  gdb/testsuite/gdb.base/coremaker.c
-43af1220042e1f15b636f98622cef3fa  gdb/testsuite/gdb.base/fortran-sym-case.exp
-b451f517febbe7bb98cc26cb664a0240  gdb/testsuite/gdb.base/disabled-location.exp
-433655cc7b1b78d7c3fd88e5099b327d  gdb/testsuite/gdb.base/jit-solib.c
-5fbd9109e5a2b932ebfca2209dc3655c  gdb/testsuite/gdb.base/recpar.c
-a06c8332ff4e84ff4c559c521adf8cce  gdb/testsuite/gdb.base/auto-load.exp
-f9b691748adf6fd32bb5addc102a8dc8  gdb/testsuite/gdb.base/find.exp
-308947ef22ab0a81a95d692bb063ccc2  gdb/testsuite/gdb.base/watch-vfork.c
-d48a41d40a24533f5a44488a54273221  gdb/testsuite/gdb.base/display.exp
-9fbc44bc3c038851fa413fb0c26fde0c  gdb/testsuite/gdb.base/permissions.exp
-ec14f7ea8d484886d8f8417d7ac75007  gdb/testsuite/gdb.base/siginfo-thread.exp
-c77204e14b7bf1b1039a0cf0e6b18e5a  gdb/testsuite/gdb.base/mips_pro.exp
-1c270f5b68877805e42be699d02acd6e  gdb/testsuite/gdb.base/completion.exp
+eb8f3bcbfbf6780085ec1dea2fbbbb43  gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
+bd5ca176289756c8a8f6a3a56c2407ac  gdb/testsuite/gdb.base/fullpath-expand.c
+e88640998204ec533a4e922add90952b  gdb/testsuite/gdb.base/break.exp
+ba10788d8ec47d95f117c931ef2ba454  gdb/testsuite/gdb.base/coremaker.c
+ba790c4e32893f8166a83bffffbf6a3e  gdb/testsuite/gdb.base/fortran-sym-case.exp
+42aa00d9edda4db02fd50d48cabf7259  gdb/testsuite/gdb.base/symtab-search-order-shlib-1.c
+054e1a66392706f1193f287ff4767eb3  gdb/testsuite/gdb.base/disabled-location.exp
+c003a0b4c20c35b13875bc20268a9017  gdb/testsuite/gdb.base/jit-solib.c
+325a72ba8ede6567c1a7de3c2f113e3c  gdb/testsuite/gdb.base/recpar.c
+1c02979ebb06754428f3ca550c67da52  gdb/testsuite/gdb.base/execl-update-breakpoints.exp
+3cd8cbe5e9edd978ac24f51df7badf50  gdb/testsuite/gdb.base/auto-load.exp
+3dd2b5831b83de168034a54a66db99e6  gdb/testsuite/gdb.base/find.exp
+0f2028f51f12229213d2e2c8ce5a7d8b  gdb/testsuite/gdb.base/watch-vfork.c
+094e5a00578b03e522b57eea5393a1cf  gdb/testsuite/gdb.base/display.exp
+669769a70fb4526e1c54408cf148bc26  gdb/testsuite/gdb.base/permissions.exp
+149593c5fd98981252cd92fbfdf8ce25  gdb/testsuite/gdb.base/siginfo-thread.exp
+42ce7c95b90c7fa7080f984e16f3cb6d  gdb/testsuite/gdb.base/mips_pro.exp
+2d70eb4738500f885cb68e862cf88b7e  gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.exp
+7147daba20e06858b75d3522d6ddfd3e  gdb/testsuite/gdb.base/completion.exp
+59a90917be2c4fc3f76ddee248f5b09e  gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
 601f4ed2b5be1d234ba175e76d7bba62  gdb/testsuite/gdb.base/branches.c
-6ca319aed366b7e8ab0a951a7bce3910  gdb/testsuite/gdb.base/attach-pie-noexec.exp
-64161ad19a48f68677ddf6145e5e979e  gdb/testsuite/gdb.base/gdbindex-stabs.c
-a415348a95205f4379aa42580d736c32  gdb/testsuite/gdb.base/func-ptr.exp
+b56e773426d12458a2a3f8f366871cce  gdb/testsuite/gdb.base/attach-pie-noexec.exp
+735f2aee0b46c08c0ba31f576162646b  gdb/testsuite/gdb.base/gdbindex-stabs.c
+bd32d4dd2180b52e3d1a3a37f68ff0ed  gdb/testsuite/gdb.base/func-ptr.exp
 79696e315e518bcff76ca31d67e55856  gdb/testsuite/gdb.base/remote.c
-9495d2ffc7d6b6f1bd536467ce345420  gdb/testsuite/gdb.base/break-probes.c
-59fe328df174ffbd5340fb88df556e7c  gdb/testsuite/gdb.base/break-interp-lib.c
-f607bdd10a1c3d266861309c33ba3e97  gdb/testsuite/gdb.base/fileio.c
-3356ba93bdab2d6b473c3975bb70e7db  gdb/testsuite/gdb.base/attach-twice.c
-36b969f52280fa336f09637f27f650ee  gdb/testsuite/gdb.base/enum_cond.c
-7d8846b68e51d8587a1f6c33a3fd9c18  gdb/testsuite/gdb.base/unload.c
-aed711f01cad1719a190c5b5cddb5d51  gdb/testsuite/gdb.base/stale-infcall.c
+0aa5da78716646110121880f9981c232  gdb/testsuite/gdb.base/break-probes.c
+ca303089605b2413994cf3b70737967a  gdb/testsuite/gdb.base/break-interp-lib.c
+89881ee6c0d9f45ed9f6f446038600fa  gdb/testsuite/gdb.base/fileio.c
+1e6391d6eb00c30246fd09101d963edb  gdb/testsuite/gdb.base/attach-twice.c
+608ccc34b12facd5d8cd07f83cf92e8f  gdb/testsuite/gdb.base/enum_cond.c
+c07657e480cdae85f9f948c44a5887f2  gdb/testsuite/gdb.base/line-symtabs.exp
+d77d467c441654064d36c594dabe9a73  gdb/testsuite/gdb.base/unload.c
+94113f3380436f7c8732173862b529be  gdb/testsuite/gdb.base/stale-infcall.c
 49b5960728f7fb97d1d913078cf6c70b  gdb/testsuite/gdb.base/structs2.c
-d7c82a292d2ad16e4fc8bc647117768f  gdb/testsuite/gdb.base/source-execution.exp
-19291abed0181cd813f4608ef1563f8d  gdb/testsuite/gdb.base/watchpoint-delete.exp
-ff22bc4840c41c1966f6ce1db7b96ad7  gdb/testsuite/gdb.base/set-noassign.exp
+9e2ff0209c0a2a03946c6b1f656b1f70  gdb/testsuite/gdb.base/source-execution.exp
+11f6b68274e91acaf4f22db351609177  gdb/testsuite/gdb.base/watchpoint-delete.exp
+9620251aaae9b0fd32d7342918b0aaf6  gdb/testsuite/gdb.base/set-noassign.exp
 f86ec32b12ddb08ff633b5cdb7ba7054  gdb/testsuite/gdb.base/label.c
-9c47d3c6f7ac942491bf6cb31e0941fd  gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp
-24bcd12fb42b2c9f4c6cb3ae6ba013d2  gdb/testsuite/gdb.base/a2-run.exp
-ef00d4e4316ebb4e62cc91031479ec37  gdb/testsuite/gdb.base/morestack.c
-27cf76019695a15c27710a9292bfe9dc  gdb/testsuite/gdb.base/signull.c
-4e407baea52b80f8c6fb0f32b034fbb3  gdb/testsuite/gdb.base/watch-non-mem.exp
-8f54faf14177f66c46fdbae9648cd819  gdb/testsuite/gdb.base/dbx.exp
-9f46530e84624a45f6d512501f94fa50  gdb/testsuite/gdb.base/miscexprs.exp
-d7d64996aeefb0ed6a5eb6b4ee7669b8  gdb/testsuite/gdb.base/annota-input-while-running.exp
-7ca48ff165838815c03c009ab72ee97f  gdb/testsuite/gdb.base/vla-stub-define.c
-fe59f717cfaacc8916d384624d64dc55  gdb/testsuite/gdb.base/hbreak-unmapped.exp
-d6c4b32d4f1bbd7951f56872c59745e1  gdb/testsuite/gdb.base/print-file-var-lib1.c
-7ebb71783e9e7e6c49a6df72ca78a14b  gdb/testsuite/gdb.base/disabled-location.c
-9278516eefb58b0ba39d57f74d57718b  gdb/testsuite/gdb.base/pr10179.exp
-95e05d91fcc01147d8bfab8a74310c06  gdb/testsuite/gdb.base/exprs.c
-fb3799bba83c7af533107f03f99df2dc  gdb/testsuite/gdb.base/gnu_vector.exp
-a270028069654f74a24f5ba46b6a1a9c  gdb/testsuite/gdb.base/gdb11530.exp
-aeb85651e80c6863c9ab21dc885199f0  gdb/testsuite/gdb.base/kill-after-signal.exp
-06c71b901c788aa21a4bcd240caa5464  gdb/testsuite/gdb.base/pr10179-a.c
-95503f63a9ce90b96d26116b703e8f65  gdb/testsuite/gdb.base/enum_cond.exp
-9a83bced47156c845361301857d0426a  gdb/testsuite/gdb.base/pendshr.c
-7116c6d07bad47df5ee0800fed5dfe2b  gdb/testsuite/gdb.base/exprs.exp
-55143311aaa933db91b23d2b9900c9e7  gdb/testsuite/gdb.base/annota1.c
-43daa000b8d624071798be86353586ad  gdb/testsuite/gdb.base/sizeof.exp
+d3d1b4de08d5129721a13fa6f5a53105  gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp
+7a696d3d77cf797714fe059343769792  gdb/testsuite/gdb.base/a2-run.exp
+b7c111fbe987b49add09deb148f7325e  gdb/testsuite/gdb.base/morestack.c
+a8b89afb85892d0294605ffd33271587  gdb/testsuite/gdb.base/signull.c
+f131588cf92a57ffe5e55e6efcbc2d27  gdb/testsuite/gdb.base/watch-non-mem.exp
+cc9818c95cb3868bfe8677a845238677  gdb/testsuite/gdb.base/dbx.exp
+b7fd7bd795b393843776ef2fc1e65640  gdb/testsuite/gdb.base/miscexprs.exp
+37597ed6262c80e12d8363c315c26db2  gdb/testsuite/gdb.base/annota-input-while-running.exp
+c09c3e164f23819305f394f7ee878ae5  gdb/testsuite/gdb.base/vla-stub-define.c
+9b46691edbdab48c38021ce0f0943156  gdb/testsuite/gdb.base/hbreak-unmapped.exp
+df23e088771586b1d83d263115b06b77  gdb/testsuite/gdb.base/print-file-var-lib1.c
+2d3a70a9daa9e4ce4cf862c4f5eb1c81  gdb/testsuite/gdb.base/disabled-location.c
+a3ee02a5d1b3705f3ba14ef36a5fd7f9  gdb/testsuite/gdb.base/pr10179.exp
+17155b728fada832a9acb3d4d25aceec  gdb/testsuite/gdb.base/exprs.c
+c4429bfd1dc736bb315e7acca8dd6d8f  gdb/testsuite/gdb.base/gnu_vector.exp
+9485fabacdff31bb16fa1a24b6888aa1  gdb/testsuite/gdb.base/gdb11530.exp
+508a9115fc81bef83d4dff4513a2cd41  gdb/testsuite/gdb.base/kill-after-signal.exp
+2b866eb6e084c3e6e0cf002297b95d85  gdb/testsuite/gdb.base/pr10179-a.c
+08b0f3cdbd377ccf1f885824644773ad  gdb/testsuite/gdb.base/line-symtabs.c
+eaa132c0a9064d20009fb597ef13619a  gdb/testsuite/gdb.base/enum_cond.exp
+efd360fd48f4cf30bab574a1338b7905  gdb/testsuite/gdb.base/pendshr.c
+61686eabc51c3e36126d189d8bded7fa  gdb/testsuite/gdb.base/exprs.exp
+3b5ff1f729c40d9c4a98118ff08a9e6b  gdb/testsuite/gdb.base/annota1.c
+14ca9aca5c6ec757bfd24efc8a9265ef  gdb/testsuite/gdb.base/sizeof.exp
 4c664aa20a95e6ed9eac3ee8fb8c06d7  gdb/testsuite/gdb.base/gdbvars.c
-21fa42e7c08f1f9b9daa43ac001e596a  gdb/testsuite/gdb.base/shlib-call.exp
-8d8d9d245f3bff88b4e0fc91206ac528  gdb/testsuite/gdb.base/siginfo-obj.exp
+05a03d38678c1384ecd5a45be340ed92  gdb/testsuite/gdb.base/shlib-call.exp
+94e6d2a3112d50be282f75dc6514ea33  gdb/testsuite/gdb.base/siginfo-obj.exp
 fbbeec2891ea913e85e52602f661a132  gdb/testsuite/gdb.base/bitfields.c
 80fb742c6028f138e4ad580d729b403a  gdb/testsuite/gdb.base/lineinc3.h
-963a9174a4f1bfd303bc267b2c33d13a  gdb/testsuite/gdb.base/fullpath-expand.exp
-6f891169ffc301ffa0e4a1afe3d2e893  gdb/testsuite/gdb.base/foll-vfork.c
+7c8e32b470811b2af0f6a50dfae12b6d  gdb/testsuite/gdb.base/fullpath-expand.exp
+2e80b2750970da9743787fe24d197a93  gdb/testsuite/gdb.base/foll-vfork.c
 d89474265b62f35df0c23a47bf1cc11a  gdb/testsuite/gdb.base/m32r.ld
-f3219c2b2f2db54f56b1ab3ed0501c78  gdb/testsuite/gdb.base/watch-cond.c
-e6b46e801adbae2a512e812792d89d04  gdb/testsuite/gdb.base/info-fun-solib.c
-8fd75b07c692088d1929cb070384ed91  gdb/testsuite/gdb.base/info-fun.c
-9c40bd871b978fd5de8b8a69a81a84c2  gdb/testsuite/gdb.base/vla-stub.c
-6faf4b1c7fffaba1a1045e3781d76a6f  gdb/testsuite/gdb.base/nextoverexit.c
-1919411c49bc472e25b50f3fc0a63661  gdb/testsuite/gdb.base/sym-file-loader.c
-c62aebd49fcf2ece63ec68610c644c0e  gdb/testsuite/gdb.base/langs2.c
-9106e99076404b6ba3648f0260fd8634  gdb/testsuite/gdb.base/included.exp
-f076895c8c06124f018f99a8e506a1c3  gdb/testsuite/gdb.base/async-shell.c
+d5f246791501b102a01e7c5ca6378c57  gdb/testsuite/gdb.base/watch-cond.c
+1294be9f0c74309c35b9ff9616be7916  gdb/testsuite/gdb.base/info-fun-solib.c
+8c99a2ee79bbb2bba26e8803c3714a72  gdb/testsuite/gdb.base/info-fun.c
+9ba3da752c8184199db58cf585c2fb32  gdb/testsuite/gdb.base/vla-stub.c
+ee7b84fed45b340b1f4037e7b881d41b  gdb/testsuite/gdb.base/nextoverexit.c
+c4911d5c72450a32938d62646f21487f  gdb/testsuite/gdb.base/sym-file-loader.c
+5ba2f3fd778c72a7dbe113e1962b2b6c  gdb/testsuite/gdb.base/langs2.c
+dd2c4e48256ccd47d822c044e3cadea4  gdb/testsuite/gdb.base/global-var-nested-by-dso-solib1.c
+fca0600bd7d60b2500196b789b8e83a2  gdb/testsuite/gdb.base/included.exp
+1ac8f69fa2acaf829dc3359781b6521e  gdb/testsuite/gdb.base/async-shell.c
 069f759fe331dff14248a48d8ee66812  gdb/testsuite/gdb.base/ptype.c
-cdf93bd6213c776f5efcc0ac4a82cd3d  gdb/testsuite/gdb.base/constvars.c
-28980bc2d3b624dfb1f05b6e9cf647f9  gdb/testsuite/gdb.base/ui-redirect.exp
-5f2fad27e83b142668cd8f5ca268e2a1  gdb/testsuite/gdb.base/info-os.c
-4219c919ae1b3b18f7a7468fec7f5833  gdb/testsuite/gdb.base/code_elim1.c
-850a5b2b54ffab34f2ee1730c94b38c0  gdb/testsuite/gdb.base/print-symbol-loading-main.c
-595a7dc2d4274d8c0d6ac9cc4c238065  gdb/testsuite/gdb.base/disasm-end-cu.exp
-5c53217539317f767797f308fa2d2450  gdb/testsuite/gdb.base/print-file-var-lib2.c
-0e45593a9b8145e3bebdd92477999f65  gdb/testsuite/gdb.base/catch-signal.c
-018825ccc8a5b89e33013bba5d1e80cf  gdb/testsuite/gdb.base/auxv.exp
-3034c16116a253f180d47661b0fbfbd0  gdb/testsuite/gdb.base/whatis.c
-b2832a421df5d8f22fa65d6f64e7aa39  gdb/testsuite/gdb.base/watch-vfork.exp
+eb1a1ac847358514aaf9455ffd7a30ea  gdb/testsuite/gdb.base/constvars.c
+dea4ac5492460b0314201d58d795051d  gdb/testsuite/gdb.base/ui-redirect.exp
+0bea866afa997bec6bd0a1907742faf5  gdb/testsuite/gdb.base/info-os.c
+2a613de64986138a64a1a2c661fb63a5  gdb/testsuite/gdb.base/code_elim1.c
+0f6778947b72c223d658e7c69099db51  gdb/testsuite/gdb.base/print-symbol-loading-main.c
+493e2c984f0fa6bd743c7746e78586e2  gdb/testsuite/gdb.base/disasm-end-cu.exp
+a76ec0ec099e8d74e1f760e1b3d464ed  gdb/testsuite/gdb.base/print-file-var-lib2.c
+3b6b6bc716d0e88aba703cffb9e22f0a  gdb/testsuite/gdb.base/catch-signal.c
+a9d3e09ae9258998221ecb69b9476d4f  gdb/testsuite/gdb.base/auxv.exp
+b483e470781c942737aa10e795d2b0d8  gdb/testsuite/gdb.base/whatis.c
+7d3405eb3b70b899c241f32c17eb34fe  gdb/testsuite/gdb.base/watch-vfork.exp
 0b4e499f872cfeaab21e0b173c718ca9  gdb/testsuite/gdb.base/lineinc1.h
-fad6aaca3b73d8cd65332101b21c4f7f  gdb/testsuite/gdb.base/dprintf-next.c
-29ac9b65c0950d2812f5a77a0a55de5a  gdb/testsuite/gdb.base/shr1.c
-4a3941f46253a0173639a019d44df064  gdb/testsuite/gdb.base/step-symless.c
-1b55267ad36e5a40155e6b64760c0996  gdb/testsuite/gdb.base/print-file-var-main.c
+c5eb7ba334a07193fa68713ac1a55a46  gdb/testsuite/gdb.base/dprintf-next.c
+e97692b1e8aa59fb622c3636e877c35e  gdb/testsuite/gdb.base/shr1.c
+3bfcca1a63c5e6971717ee147c3b0464  gdb/testsuite/gdb.base/step-symless.c
+4ee9f2fb7f4941c508d489d50bc6cdb5  gdb/testsuite/gdb.base/print-file-var-main.c
 40ea0b637bee041d22c72ad5ce356d17  gdb/testsuite/gdb.base/attach2.c
-0f49a8a8c12f58481d76912dcc33fdfc  gdb/testsuite/gdb.base/solib-search.exp
+68f440973a5d7b71a773594cf3f6a8d9  gdb/testsuite/gdb.base/solib-search.exp
 2f2378207beb6ff133c13d33bf17c58e  gdb/testsuite/gdb.base/skip1.c
-1ec8ff8f7d5fd1c1336dcc3f4a0c0576  gdb/testsuite/gdb.base/bitfields2.exp
-5b0666d4bcfbf0912a7e5e76014d383e  gdb/testsuite/gdb.base/print-symbol-loading-lib.c
-b01d3501285ca08807a6756e5d57b4af  gdb/testsuite/gdb.base/logical.exp
-ec8d9920469bdce7a25305dc6e2cfbb2  gdb/testsuite/gdb.base/watch-cond.exp
-9a22b2b3810b78d6a55023ac7052aeeb  gdb/testsuite/gdb.base/break-interp-main.c
-70eb29ffd44be2462895915b9131b6ef  gdb/testsuite/gdb.base/randomize.exp
-c76495b1c9d49b34898aa7a56d3acc23  gdb/testsuite/gdb.base/eval-skip.exp
-459150e7ca260bec10ea3bef300308d6  gdb/testsuite/gdb.base/vla-sideeffect.c
+d846f8c545a30330f834a186a64b2bc3  gdb/testsuite/gdb.base/bitfields2.exp
+46409250b713b9113808d6bb029e484c  gdb/testsuite/gdb.base/print-symbol-loading-lib.c
+d33fc0da6a5c77bef58047ee5c0c6797  gdb/testsuite/gdb.base/logical.exp
+d48b91b158b339acd752ab60ffdf6ad1  gdb/testsuite/gdb.base/watch-cond.exp
+2f0ea154359d397ff54b14eaa1adf95e  gdb/testsuite/gdb.base/break-interp-main.c
+11d406c538f113ed4fd63bb5371c6995  gdb/testsuite/gdb.base/randomize.exp
+2f86a83383b09a8664822df3d8f6f9cc  gdb/testsuite/gdb.base/eval-skip.exp
+2b23f7eb2549af2e7d0935d4eb8c8453  gdb/testsuite/gdb.base/vla-sideeffect.c
 a083d8d4881ea947f4ec0a7af80e02e8  gdb/testsuite/gdb.base/return2.c
-1cd99bc08582778c04b17c679cb32754  gdb/testsuite/gdb.base/gcore-relro-pie.c
-dfcbcc0573b7abbf07ca947edc9c790b  gdb/testsuite/gdb.base/save-bp.exp
-e93e1a78abe77b1f69c2d65059bf4baf  gdb/testsuite/gdb.base/siginfo-infcall.c
-535d6908b73b476a2ba1a3ba1d6b5ba1  gdb/testsuite/gdb.base/anon.exp
-0dfb974a35473524ad9a4e81d1f319ad  gdb/testsuite/gdb.base/gnu_vector.c
-6acd4f5c719fcba64d37b74f00f97070  gdb/testsuite/gdb.base/nostdlib.exp
-12e8d32af86b8492b4cd1fe704e33f06  gdb/testsuite/gdb.base/detach.exp
+d725a9bdd744f2f2a8ab5fafa97d4c3f  gdb/testsuite/gdb.base/gcore-relro-pie.c
+8850e57357421c9b5a4f704c0abbcc67  gdb/testsuite/gdb.base/save-bp.exp
+0a3fe3f426599b517c45d4b52283a8e6  gdb/testsuite/gdb.base/siginfo-infcall.c
+5d607cc869d16e310f9792d8d5fb6de2  gdb/testsuite/gdb.base/anon.exp
+1fe8e568c0f6fd47c3dee0e8764bd0f3  gdb/testsuite/gdb.base/gnu_vector.c
+debd599dc6645644a988689746654788  gdb/testsuite/gdb.base/nostdlib.exp
+defdbb900459283c00e5f6bd876a9605  gdb/testsuite/gdb.base/detach.exp
 362c166ca097de527884870a798faa95  gdb/testsuite/gdb.base/return.c
-22101bcad0b0f91bbafc963dba084005  gdb/testsuite/gdb.base/compare-sections.exp
+feba14a05766d57638b22604e831d1c7  gdb/testsuite/gdb.base/compare-sections.exp
 06a92d148b60fd5c50de17ed658ab73e  gdb/testsuite/gdb.base/shreloc2.c
-7065c9df738c2465cafd35236a0daeeb  gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c
-4c85093262d0bd456bed777d6afeb4af  gdb/testsuite/gdb.base/catch-signal-fork.exp
-268f818ba792952d3e3cd3cfb06cb47f  gdb/testsuite/gdb.base/step-line.inp
-f2d61ea16e93e8c9bb722fd92aac408c  gdb/testsuite/gdb.base/ldbl_e308.exp
-83fae64f7d1b1c227c7dfd26fb237622  gdb/testsuite/gdb.base/fixsection.c
-8f6fb353bbf04460294e2dbe13c3cd2e  gdb/testsuite/gdb.base/siginfo-thread.c
-a0ce7dcc52f737c7043302ac990f881e  gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.c
-fe7a14d3485d1080491ed4625c487e89  gdb/testsuite/gdb.base/structs.exp
+9dcc228e3f94536b3a4aee0336309bce  gdb/testsuite/gdb.base/hbreak-in-shr-unsupported-shr.c
+d00e18cc289a29f1f09a8d355ae66163  gdb/testsuite/gdb.base/catch-signal-fork.exp
+42ca18869ff9e47a78d551ca4e8c1760  gdb/testsuite/gdb.base/step-line.inp
+408fb4c6bfab843defc91480838ad78e  gdb/testsuite/gdb.base/ldbl_e308.exp
+70fc162b93727bb29a92c2d568600c34  gdb/testsuite/gdb.base/fixsection.c
+a11fb5334da71772731a4c59f8010948  gdb/testsuite/gdb.base/siginfo-thread.c
+da24d5a0457993d788d3241724b11ece  gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.c
+33eac52fb7d87fb96278a8c1acdf6fb9  gdb/testsuite/gdb.base/structs.exp
 843b5e2cabe50fff9f3514fae3fac54d  gdb/testsuite/gdb.base/interrupt.c
-519c153f312d16739d8c709ffdd819b4  gdb/testsuite/gdb.base/stack-checking.exp
-7e18f8f7f4280a7b514f5195bc6503e3  gdb/testsuite/gdb.base/freebpcmd.c
-379995af548fd207c0a770fdd613441b  gdb/testsuite/gdb.base/watchpoint-cond-gone.exp
-92b1dad53f48a437b2a575fc58bcff90  gdb/testsuite/gdb.base/charset-malloc.c
-180ca4d9fa9a83c2e8454aaf30477750  gdb/testsuite/gdb.base/advance.exp
-74f46bd1631ab54525d5f5cb6d2d749d  gdb/testsuite/gdb.base/stap-probe.exp
-b4d0158459bbd3867551d50a1fd93a0b  gdb/testsuite/gdb.base/tui-layout.exp
-c08d6d5da171e08cd8bce11e6ee9ffb5  gdb/testsuite/gdb.base/solib2.c
-494ffa8ed598312ebc548d18197998a1  gdb/testsuite/gdb.base/finish.exp
-e4553114d2564106ea9734a41e6e085e  gdb/testsuite/gdb.base/consecutive.exp
-4fb9a6b8dfc7f89deba278666bbc350e  gdb/testsuite/gdb.base/symbol-without-target_section.exp
-002dd2b02d565e6f627a6166c3b142f2  gdb/testsuite/gdb.base/skip.exp
-115ff00beec3dbe2d09514cc3bbc0cea  gdb/testsuite/gdb.base/annota1.exp
-0d721a3a826290d0f78384a784f2ee0b  gdb/testsuite/gdb.base/dcache-line-read-error.c
-ac7b65b70a6e9807ea8e9662124e023a  gdb/testsuite/gdb.base/cond-expr.exp
+47310c9c46ca5ca15bd6b1434c47db59  gdb/testsuite/gdb.base/stack-checking.exp
+16272e5a57ea4349b96e0cb6d01216a0  gdb/testsuite/gdb.base/freebpcmd.c
+3f7f350185256dda601efa837a41d687  gdb/testsuite/gdb.base/watchpoint-cond-gone.exp
+8c368ffb22752d817dc3f4a1793a7efd  gdb/testsuite/gdb.base/charset-malloc.c
+b4cee4e4f1a8781860f4567101e2fa8b  gdb/testsuite/gdb.base/advance.exp
+b244a4d8b29cb7ea4b4e16d67803a1e5  gdb/testsuite/gdb.base/stap-probe.exp
+9a5d44b27383ead1a4db4968b0c5de65  gdb/testsuite/gdb.base/tui-layout.exp
+4dd17e41180868a745abcae688e3bcbb  gdb/testsuite/gdb.base/solib2.c
+2ebdb75af2753855961c032196faf64c  gdb/testsuite/gdb.base/finish.exp
+dccdc97b49250422c960e8c559ac883c  gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp
+828a7454e3f8eddd3ef9444b31477cb1  gdb/testsuite/gdb.base/consecutive.exp
+254c0d02398b856e3b59222454614b84  gdb/testsuite/gdb.base/symbol-without-target_section.exp
+536354dc2d522529e2c8cbeebdae23aa  gdb/testsuite/gdb.base/skip.exp
+c88288d70c305dcf6100643e08826ac8  gdb/testsuite/gdb.base/annota1.exp
+d7dd5de96d7762b8c08b55b9a5d660ec  gdb/testsuite/gdb.base/dcache-line-read-error.c
+4ab5e22b7ed15121561c6aa3d4988de6  gdb/testsuite/gdb.base/cond-expr.exp
 d227cd5acdb0fca7bc3bc43b226fcf96  gdb/testsuite/gdb.base/pi.txt
-4ee0bb3dcc57bd1d1d6be1db59b61b31  gdb/testsuite/gdb.base/frame-args.c
-3aef6f42331df86a1bf432f743637e1b  gdb/testsuite/gdb.base/nextoverexit.exp
+78671f2e9ec13204d49fdf702f20fff2  gdb/testsuite/gdb.base/frame-args.c
+493ca88cca5639b6be8a325c7497ee29  gdb/testsuite/gdb.base/nextoverexit.exp
 4ff3418362056aac5f2fd4ab27806fbb  gdb/testsuite/gdb.base/info-macros.c
-5fefadea13c06424265ee8e5dbf68dd6  gdb/testsuite/gdb.base/jump.c
-b0b0d00640d1c8ab99484d5214d5216d  gdb/testsuite/gdb.base/long_long.exp
-1cde1d819d6d32ed57c64dd743ca2c34  gdb/testsuite/gdb.base/readline-ask.inputrc
-2f50512533b6617d1c9e299f83c28778  gdb/testsuite/gdb.base/paginate-execution-startup.c
-4956f6f6e224eb5efd7aef311af8a7c8  gdb/testsuite/gdb.base/setvar.c
-2d08d1b6a81f6e52e498315dd8e2e20c  gdb/testsuite/gdb.base/catch-signal.exp
-fe778e4ca9af81e067b376479c5f876d  gdb/testsuite/gdb.base/execd-prog.c
-8c140eb66a74c0e7513f14303c80937a  gdb/testsuite/gdb.base/weaklib2.c
-16755584055dd558b13f0cbb575924e4  gdb/testsuite/gdb.base/overlays.exp
-29f51f48543a60a9ea0fceae71b38bae  gdb/testsuite/gdb.base/range-stepping.exp
-97d00a262a2ac36c8b4fe729d1f2d4b3  gdb/testsuite/gdb.base/complex.c
-135412e738136a39156be08a4895cd07  gdb/testsuite/gdb.base/nofield.c
-38ec97076d6aaa92f8679fec7fc7b3e2  gdb/testsuite/gdb.base/cursal.exp
-04fdd6c5e24f740076eda39d1652a75f  gdb/testsuite/gdb.base/gcore.c
-5aba1719490ddf0f4f755a7b0770980d  gdb/testsuite/gdb.base/args.exp
-eae4f15c6980dd0bc534315d24c0c265  gdb/testsuite/gdb.base/sym-file-loader.h
+fccc00c4f86df8b2422cbc90669f2984  gdb/testsuite/gdb.base/jump.c
+45118945aadb89c26cdff4f7b3c9b358  gdb/testsuite/gdb.base/long_long.exp
+596a1a9639c1b9c72dca52760612e21a  gdb/testsuite/gdb.base/readline-ask.inputrc
+6c586306916eee7f8904e9c35af158dc  gdb/testsuite/gdb.base/paginate-execution-startup.c
+f484128bf0e68c27c3fcbf758e60baa5  gdb/testsuite/gdb.base/setvar.c
+9915f59c52456591df95e007e534d2e5  gdb/testsuite/gdb.base/catch-signal.exp
+b4fa0e45cf3d0710614ca482c704bb0f  gdb/testsuite/gdb.base/execd-prog.c
+e698d0663d0449e08de472396e8cd015  gdb/testsuite/gdb.base/weaklib2.c
+a4c1c19fce25da5426833929df8df00c  gdb/testsuite/gdb.base/overlays.exp
+f7539269d124f7cc9b5ab234b2e57be3  gdb/testsuite/gdb.base/range-stepping.exp
+68a04fba689191e71bd3c3af4e243fbd  gdb/testsuite/gdb.base/complex.c
+39de0478749fe873267a38f53c0aa3af  gdb/testsuite/gdb.base/nofield.c
+e87eed091aa3b9d91ffca52d278e8caa  gdb/testsuite/gdb.base/cursal.exp
+3933b1f9cc9c6cc71dea6799c2edd797  gdb/testsuite/gdb.base/gcore.c
+a3b1bd57088ff112e87025e54fe29f0d  gdb/testsuite/gdb.base/args.exp
+9ef7e5952fce2d4dc86fc4ecac27686b  gdb/testsuite/gdb.base/sym-file-loader.h
 6f4837bae4e626ce4566cce03696ae48  gdb/testsuite/gdb.base/reread1.c
-dc020eb14b16809f0419efc483728072  gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp
-0728b7ab999f3cce4f145da052e1e242  gdb/testsuite/gdb.base/type-opaque-lib.c
-d98c219c48dd073b09144e6cdb9de268  gdb/testsuite/gdb.base/list0.h
-fa6876c2bf8da62d6b52076a43c007c0  gdb/testsuite/gdb.base/unwindonsignal.c
-d0f18f92bb919792ddc7a9889f88fbc4  gdb/testsuite/gdb.base/so-impl-ld.exp
-99c1d43f2367c316941a79b392128f2e  gdb/testsuite/gdb.base/hook-stop-frame.exp
-345ebec29534b78b62ad006f3fd22d2c  gdb/testsuite/gdb.base/break-inline.exp
-46dff132a3285832e0edffbe9b81841b  gdb/testsuite/gdb.base/dcache-line-read-error.exp
-14ef835164b7090f513b27bc74a11cca  gdb/testsuite/gdb.base/disp-step-syscall.exp
-4ce816d6d0943dfb6ebe3e68b38d0030  gdb/testsuite/gdb.base/save-bp.c
-4c06f99b8d9db6a8a11b0e5474c3b5f5  gdb/testsuite/gdb.base/shr2.c
-635a60e286eff21cbf1209985b32a6c7  gdb/testsuite/gdb.base/sigrepeat.c
-6bde9418edc99071f3037869285d1ab1  gdb/testsuite/gdb.base/auto-connect-native-target.exp
-b633b1a8a5a91896955c19f7258759b9  gdb/testsuite/gdb.base/code-expr.exp
-6b6e91f74fdb17ce2fe5825193a37b7c  gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp
-e31a2ae35caa064e59bf35726643958e  gdb/testsuite/gdb.base/foll-exec.c
-1a30dc9f7a4c70f531b39bc52afec449  gdb/testsuite/gdb.base/catch-signal-fork.c
-fcae82ce70fae182531b761fc12bd284  gdb/testsuite/gdb.base/attach.exp
-7b21e77cbde5cd739afd2a4bf76df7eb  gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c
+dc2642b590e52f8e8dae186188967d3a  gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp
+c943c3b125e1e993a42be3bd3c993add  gdb/testsuite/gdb.base/type-opaque-lib.c
+7370531a02fb52212e3639944b2d4a9d  gdb/testsuite/gdb.base/list0.h
+54b4c81eb2b8a211689c49fd87e2707d  gdb/testsuite/gdb.base/unwindonsignal.c
+0d1630179d792210091ef0188ceffbec  gdb/testsuite/gdb.base/so-impl-ld.exp
+23ae73c2006822275dc9d76c8b000d61  gdb/testsuite/gdb.base/hook-stop-frame.exp
+6cbf9a0b90b2c8f99f3a12eb718edcdd  gdb/testsuite/gdb.base/break-inline.exp
+7c8293a4d1bb090a6c6b2728d11ab9e2  gdb/testsuite/gdb.base/dcache-line-read-error.exp
+d957f233811dc0c925fe946da960917e  gdb/testsuite/gdb.base/disp-step-syscall.exp
+0dcb756483392e190f14846c2faea693  gdb/testsuite/gdb.base/save-bp.c
+67ceb27bf818d3f6da08eafc5153690d  gdb/testsuite/gdb.base/shr2.c
+b6891ca09e7713f057a130aeb9c0514b  gdb/testsuite/gdb.base/sigrepeat.c
+3aac96aa57d439e2ddf1a39ad602b580  gdb/testsuite/gdb.base/auto-connect-native-target.exp
+4511c09a6feef139371a7286058feeff  gdb/testsuite/gdb.base/code-expr.exp
+4a1dab3ee837d16ce8c64928779ae7fe  gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp
+185ab1515aff77f0745f472b81de6780  gdb/testsuite/gdb.base/foll-exec.c
+0f8de89d2d90eccf83df98f8bb09ffab  gdb/testsuite/gdb.base/catch-signal-fork.c
+e2aee72889a4bcc67d4690a4a9ef68b9  gdb/testsuite/gdb.base/attach.exp
+ccd0c6fcbb4f174f84ad76783660e6ba  gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c
 875a150f7fd4db096ea08b9acd105dae  gdb/testsuite/gdb.base/baz.c
-60ffff239f8d6d9247b42f2c6e98fc2b  gdb/testsuite/gdb.base/comprdebug.exp
-274e454679c0178594c55fab2f412f61  gdb/testsuite/gdb.base/infoline.exp
-21e41dbd8b1f8b56c07427d1b2b0b370  gdb/testsuite/gdb.base/call-ar-st.exp
-a2863beecb6a19c11e835eb63cc04d54  gdb/testsuite/gdb.base/foll-fork.exp
-0097ae65a79857791884a220a3e6fe62  gdb/testsuite/gdb.base/siginfo-addr.c
-7db66a67572e39bef0eca7d65d9af1e5  gdb/testsuite/gdb.base/info-shared-solib2.c
-c34fbb4d8035a70591e917d80647efd2  gdb/testsuite/gdb.base/async-shell.exp
-8222d79b5d3ca61e5fd9be749effedc1  gdb/testsuite/gdb.base/ctxobj-f.c
-187bf94fba4cbafbf0aaa44ce57be489  gdb/testsuite/gdb.base/gdb1250.exp
-d7696a4458c26cd51b9e9277359f87d9  gdb/testsuite/gdb.base/source-dir.exp
-b48766a5ae8cb697139407b3154792c0  gdb/testsuite/gdb.base/return.exp
+d402ea8c08866d797062e2a0006333d8  gdb/testsuite/gdb.base/comprdebug.exp
+4697b11f1eac018e16086cb67b436100  gdb/testsuite/gdb.base/infoline.exp
+eaa491a2d4ec7549b0ad30f2e87732de  gdb/testsuite/gdb.base/call-ar-st.exp
+094e36bd6c1f362d11547ac251fe7085  gdb/testsuite/gdb.base/foll-fork.exp
+93e964932ca3df9d696fb8d6ba8aba43  gdb/testsuite/gdb.base/siginfo-addr.c
+a3c4226af127a3556618bf258c5e76d7  gdb/testsuite/gdb.base/info-shared-solib2.c
+5b24729e9f0f14e700bf7313207d73a4  gdb/testsuite/gdb.base/async-shell.exp
+e2965f78646f3444f315ea67717c4117  gdb/testsuite/gdb.base/ctxobj-f.c
+5cf0f26c6912526fb65cc800d36f5d64  gdb/testsuite/gdb.base/gdb1250.exp
+9d11fd41c187deeb34f5f19e47f5b72e  gdb/testsuite/gdb.base/source-dir.exp
+fb19e1a43a58f0517320d85d9719c472  gdb/testsuite/gdb.base/return.exp
 7ea18a24d9d28cbcb1f4c5fe6442697a  gdb/testsuite/gdb.base/macscp1.c
-9881e259b824185707f42b71f99369a4  gdb/testsuite/gdb.base/solib-search-lib1.c
-e2b2bc6e0914fdb97fc29be8ea3ebc95  gdb/testsuite/gdb.base/gdb11531.exp
-e44cad5c1d221e111f3cff31510554d4  gdb/testsuite/gdb.base/sym-file-lib.c
-f0c3947797c3b483109325ebf66fabdd  gdb/testsuite/gdb.base/solib-search.h
-0ede8a52889cb290a4df96f48615e1ca  gdb/testsuite/gdb.base/opaque0.c
-d692f3be80b21a7cae6eddd701aee41b  gdb/testsuite/gdb.base/wchar.c
-4057bb1c2ff39bc78cc550ac4447c81b  gdb/testsuite/gdb.base/info-os.exp
-006e8779c9e23af3419a58591b7eab7e  gdb/testsuite/gdb.base/advance.c
-aa2ee861abb12b5f6c2fb5e3fde0b69a  gdb/testsuite/gdb.base/testenv.c
-fb1aa8019823b85392258c397458e643  gdb/testsuite/gdb.base/step-bt.exp
-4e8427d17bd190c5a0c7b995465722f2  gdb/testsuite/gdb.base/eu-strip-infcall.c
-24e8c963e2fa7abaf273261537a30141  gdb/testsuite/gdb.base/whatis.exp
-8e4cdea558e2193c421cf2fce160caf5  gdb/testsuite/gdb.base/stack-checking.c
-fef4b6e9fb375bd674e93a1e6a724d49  gdb/testsuite/gdb.base/vla-stub.exp
-1c985bd41922be3a139e69e8c0d64ed9  gdb/testsuite/gdb.base/psymtab.exp
-94ae9285948ce40022c9b563c053ea3d  gdb/testsuite/gdb.base/until.exp
-50d2816245aa6406b854397af6238a48  gdb/testsuite/gdb.base/prologue-include.exp
-089d91c8bed671357050f9a674903f82  gdb/testsuite/gdb.base/term.exp
-36e57e7f04c9855696b0adabae2612e8  gdb/testsuite/gdb.base/callexit.exp
+175d2854186fc37f7c4c46fba2f18541  gdb/testsuite/gdb.base/solib-search-lib1.c
+72d532485e4a07c60a8577ec384bef92  gdb/testsuite/gdb.base/gdb11531.exp
+59f465099f27c57fee172296ef1a85b5  gdb/testsuite/gdb.base/sym-file-lib.c
+f48cd7753e326d217142d715b3c86333  gdb/testsuite/gdb.base/solib-search.h
+1f1baf9250883f5a0b7c0c35dfc8324b  gdb/testsuite/gdb.base/opaque0.c
+c917dd49bb1396e2e887540f2a9cd099  gdb/testsuite/gdb.base/wchar.c
+1823af04eff21a1dbcd72f7ca4294f20  gdb/testsuite/gdb.base/info-os.exp
+01e1f568976f8a470e71ad687bb34762  gdb/testsuite/gdb.base/bp-permanent.c
+9f1eb24c5e6c855fe3d75d75abc46aa1  gdb/testsuite/gdb.base/advance.c
+39522dcb49c6a49dbd7b7241ed2ab69e  gdb/testsuite/gdb.base/testenv.c
+77a817b8a0be76f50222d6cbb7bdbf7d  gdb/testsuite/gdb.base/step-bt.exp
+b23f8f7a95ff7e12ce9b87066a8bbe0c  gdb/testsuite/gdb.base/eu-strip-infcall.c
+16ef57e5b1ef1dbd98c76e71269eb08a  gdb/testsuite/gdb.base/bp-permanent.exp
+0745c0fe7af468ba250d8d19c5090ce6  gdb/testsuite/gdb.base/whatis.exp
+6ad0ec3204e5ef6e0f93535559a79897  gdb/testsuite/gdb.base/stack-checking.c
+8f3e8eae987b703ce9e91f4c1190dcd2  gdb/testsuite/gdb.base/vla-stub.exp
+047481833b419437a41ca867419ac156  gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
+d20e20fdf84e3f285fd844d99a90dfa5  gdb/testsuite/gdb.base/psymtab.exp
+306469ca000801fad0af508684e05fa3  gdb/testsuite/gdb.base/until.exp
+6c609be17c91d45ddb1dcc66781f2cde  gdb/testsuite/gdb.base/prologue-include.exp
+3bb2d72329367da68d4c9a75a1bfdf23  gdb/testsuite/gdb.base/term.exp
+eefb59a8e5e6ddad2af7919b42b5d4f7  gdb/testsuite/gdb.base/callexit.exp
 cc19ee1eb79fe010ad5bab989640c407  gdb/testsuite/gdb.base/overlays.c
-7212e3c81ff556b376b1ce8223b3361d  gdb/testsuite/gdb.base/foll-vfork-exit.c
-6831f1849627ffdc8018584936f2128c  gdb/testsuite/gdb.base/memattr.c
-d6e67696e59960ec0575c9574a096126  gdb/testsuite/gdb.base/sepsymtab.c
-4487b182579288f49c9c0bd0b2a1bdc4  gdb/testsuite/gdb.base/expand-psymtabs.exp
-ff8e162ed58d025c5e290a06c9aa30ab  gdb/testsuite/gdb.base/restore.exp
-bcf837e46cbbe8270f3d0e1c26bea5e7  gdb/testsuite/gdb.base/enumval.exp
-177d0aa2dc05a0887607543ae7a63ae4  gdb/testsuite/gdb.base/opaque1.c
-46b6f679ffc290c505d06e87b3f36fc5  gdb/testsuite/gdb.base/linespecs.exp
-51eb9b89892b516752e0aa20fd2e3818  gdb/testsuite/gdb.base/signull.exp
-55143311aaa933db91b23d2b9900c9e7  gdb/testsuite/gdb.base/annota3.c
-d366aba166b4592f9d9a7d1c4f4bbaeb  gdb/testsuite/gdb.base/break-main-file-remove-fail.c
-2261693bc1bd3389f11b2481e8f8faca  gdb/testsuite/gdb.base/infoline.c
+2abac9c480a74093870a00cfe9b5d304  gdb/testsuite/gdb.base/foll-vfork-exit.c
+6dd463074be3d959a6c9c896b04fd780  gdb/testsuite/gdb.base/memattr.c
+be231d2452024d5bf61e029eb74dc80e  gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.c
+b440fa3bd099656094bbc35807f6b1fd  gdb/testsuite/gdb.base/sepsymtab.c
+130ac31a73865d93b26bd5edc481cd10  gdb/testsuite/gdb.base/expand-psymtabs.exp
+b78eb8e57cb00237191f48a498471b10  gdb/testsuite/gdb.base/restore.exp
+633cda161b4bfff5888802242cbc8630  gdb/testsuite/gdb.base/enumval.exp
+2a4aa59203d24147b833015285f9e825  gdb/testsuite/gdb.base/opaque1.c
+fffbbc44eb9e7f2158b95b004b50319a  gdb/testsuite/gdb.base/linespecs.exp
+866a2bf630c499ace35cc4fd366f0833  gdb/testsuite/gdb.base/signull.exp
+3b5ff1f729c40d9c4a98118ff08a9e6b  gdb/testsuite/gdb.base/annota3.c
+6fdb1e1ad53ea49bcfed10bb1852e5e6  gdb/testsuite/gdb.base/break-main-file-remove-fail.c
+ecbfe26f6d3f10f4bbe97b0b93a6994d  gdb/testsuite/gdb.base/infoline.c
 f6a96ae4d88de9220856194dacc8c9c8  gdb/testsuite/gdb.base/lineinc2.h
-f8caf5df8171fb8d749841abc609e904  gdb/testsuite/gdb.base/prologue-include.c
-4025b794efb5a87127582aa36fdeaa52  gdb/testsuite/gdb.base/gdb1090.exp
-7b87edd56ecbb96b1ae4d34721a7afa6  gdb/testsuite/boards/local-remote-host.exp
-d66c5be84cd3ee8f26d972e6722d127c  gdb/testsuite/boards/fission.exp
-bddbee5ebe93aa435dce21062c89741b  gdb/testsuite/boards/local-remote-host-notty.exp
-f8c979ab9ca9a7f902ed75aa88a5025e  gdb/testsuite/boards/remote-stdio-gdbserver.exp
-8f23cab678a9f1a1e32ee8c9de217d0d  gdb/testsuite/boards/native-stdio-gdbserver.exp
-950ba1c304bdc510266fc4fd4fceeeaf  gdb/testsuite/boards/native-extended-gdbserver.exp
-eb71e5d8bc0e59126b205bdf75cb9f6d  gdb/testsuite/boards/fission-dwp.exp
-66459b304a26424642f9ab9d30e2b3da  gdb/testsuite/boards/native-gdbserver.exp
-50264d121757e81a489f09903b5ac8d9  gdb/testsuite/boards/gdbserver-base.exp
-71ce2d4236550b1109a7b051bdc9bf24  gdb/testsuite/boards/dwarf4-gdb-index.exp
-343ab9df4695e73c36245216118da9e4  gdb/testsuite/boards/cc-with-tweaks.exp
-b6acdf6f3a300a9926cc2fe69459a488  gdb/testsuite/gdb.multi/hello.c
-3d1bb648dad1200e050d78b77bc74ba8  gdb/testsuite/gdb.multi/multi-arch-exec.c
+2d35216ad1ac2844f95b308537368647  gdb/testsuite/gdb.base/prologue-include.c
+0bf7aee5aa725068c5717d611725a8f8  gdb/testsuite/gdb.base/gdb1090.exp
+83bfa3e61c4b243758f3f368641ae807  gdb/testsuite/boards/local-remote-host.exp
+5d2d1465bb2ce69cf59bcf1af6763f79  gdb/testsuite/boards/fission.exp
+06157148742363b2c2acf8f2cc7b7434  gdb/testsuite/boards/local-remote-host-notty.exp
+1034f1cce57526849ff735a3106bf458  gdb/testsuite/boards/stabs.exp
+1482b5dd3b337add36467c54ccf3ae9e  gdb/testsuite/boards/local-remote-host-native.exp
+a561161304fdbb9ce75e014b9b06c2e3  gdb/testsuite/boards/remote-stdio-gdbserver.exp
+23a3cf1c4ad45bc8f0b2b432aba96105  gdb/testsuite/boards/native-stdio-gdbserver.exp
+dfc0a8e74c4da8b25639bbb1cec2d733  gdb/testsuite/boards/native-extended-gdbserver.exp
+28cd561e61212e2aa452aff90efe2a92  gdb/testsuite/boards/fission-dwp.exp
+65eb4c0155b319552609bdced95f200f  gdb/testsuite/boards/native-gdbserver.exp
+d4129ed74a600c9b21efbe6ccbefee15  gdb/testsuite/boards/gdbserver-base.exp
+cee40d5ad642aa10ef70c02fbd2117ce  gdb/testsuite/boards/dwarf4-gdb-index.exp
+b9ecfe701022234b7723c1fa19fc924b  gdb/testsuite/boards/cc-with-tweaks.exp
+6ca665d02e533ea3f60bbe6bdfc78de4  gdb/testsuite/gdb.multi/hello.c
+6a5dc3cf1f6f890c784c87b3112b6670  gdb/testsuite/gdb.multi/multi-arch-exec.c
 d0418193cfebd949630bed6d50f01cb4  gdb/testsuite/gdb.multi/Makefile.in
-71a4b6c2f5e23bec7a9caa900b8e20ee  gdb/testsuite/gdb.multi/bkpt-multi-exec.exp
-e7ff019430fd3b608283d59153ff16ba  gdb/testsuite/gdb.multi/goodbye.c
-8f044249983b1270242607c1cbf4127e  gdb/testsuite/gdb.multi/watchpoint-multi.exp
-7d501724af43530f51a2727be19f5ace  gdb/testsuite/gdb.multi/base.exp
-3f0cde984e66d7e87bc1e0691061e7b0  gdb/testsuite/gdb.multi/multi-attach.c
-a97adda3ec290af080871e37119ee09c  gdb/testsuite/gdb.multi/multi-attach.exp
+620391b01655a0b5d55d642eb43a497c  gdb/testsuite/gdb.multi/bkpt-multi-exec.exp
+d9fed877f7668556b8dea9ad3b1dd43d  gdb/testsuite/gdb.multi/goodbye.c
+3366ec3534381bd9ca56355ab6a5ad0e  gdb/testsuite/gdb.multi/watchpoint-multi.exp
+102946043661ffdd5098372b92d1f09b  gdb/testsuite/gdb.multi/base.exp
+3b323116a441bb7781f1199c7f315869  gdb/testsuite/gdb.multi/multi-attach.c
+df51ceccba157af7e5291e6cabd30cc6  gdb/testsuite/gdb.multi/multi-attach.exp
 a678541a68147b25bf4358c1946e5675  gdb/testsuite/gdb.multi/crashme.c
-13ed983c196e500282bf68cf71524cf2  gdb/testsuite/gdb.multi/hangout.c
-af5b1a9e4a9e29b57b59ae10973087ff  gdb/testsuite/gdb.multi/watchpoint-multi.c
+52d6dac89b8cdf43d237bd4bc480342b  gdb/testsuite/gdb.multi/hangout.c
+1c4ed58aff043c07e96d1f43b3688656  gdb/testsuite/gdb.multi/watchpoint-multi.c
 4e318b81564a099950533ee662a18aac  gdb/testsuite/gdb.multi/bkpt-multi-exec.c
-682edc57f496ffa5ba81f60a534337b2  gdb/testsuite/gdb.multi/multi-arch.exp
-2afe6f9445c8f1b1f08fa0dabd8343ab  gdb/testsuite/gdb.multi/multi-arch-exec.exp
+a6ece82b1ca389874cea5ec407b86c09  gdb/testsuite/gdb.multi/dummy-frame-restore.exp
+94b7ad6628eb6f59f3a5cc9dc221018b  gdb/testsuite/gdb.multi/multi-arch.exp
+6229c9a0e387c431ca227644dacf83cb  gdb/testsuite/gdb.multi/dummy-frame-restore.c
+461832c650e2ba6882cc69549cdb82a8  gdb/testsuite/gdb.multi/multi-arch-exec.exp
 2c9967eb7c172201bd76e62e47a95036  gdb/testsuite/gdb.stabs/Makefile.in
-8d885bf2c7af0ddd41036630056c4501  gdb/testsuite/gdb.stabs/exclfwd.h
+37ebfc880b3592c416cf83344611d949  gdb/testsuite/gdb.stabs/exclfwd.h
 4a87d0041963c650cbec0bdd23141931  gdb/testsuite/gdb.stabs/aout.sed
 ef0a0ca194e090e3a942606488625f47  gdb/testsuite/gdb.stabs/xcoff.sed
-131bcc65a2a653e30c620ed6816979c0  gdb/testsuite/gdb.stabs/exclfwd1.c
-dba368590be7ba7f6756e5b44b5901fb  gdb/testsuite/gdb.stabs/gdb11479.exp
-9d2be11cf2ca6e6feaf67ef8126a91b8  gdb/testsuite/gdb.stabs/exclfwd.exp
-d38a7a2b06c2914a2899dbfb6cab8d7d  gdb/testsuite/gdb.stabs/weird.exp
+d2a989d1ba70e85dcf4c8687739f1bb5  gdb/testsuite/gdb.stabs/exclfwd1.c
+92cb2bbd1fe38d4c647ffbee07fea811  gdb/testsuite/gdb.stabs/gdb11479.exp
+00c54fb35e0831e3c8d3338786c444a6  gdb/testsuite/gdb.stabs/exclfwd.exp
+d8b10b45830a22e90947da459522062f  gdb/testsuite/gdb.stabs/weird.exp
 24cd51afd4311a96fd7256d1ebd3a4b1  gdb/testsuite/gdb.stabs/weird.def
 16ebc6e814bd3628cce9049f530a0990  gdb/testsuite/gdb.stabs/hppa.sed
 6fb5c366d78fe2c47f31555c035ddcb3  gdb/testsuite/gdb.stabs/ecoff.sed
-dfe24f6fe52a759068621c90ca219fd2  gdb/testsuite/gdb.stabs/exclfwd2.c
-8bb9e7f23b9752e75e4d3b3fbb87a181  gdb/testsuite/gdb.stabs/gdb11479.c
-f109c90bf408551fdc34b4598d83019d  gdb/testsuite/gdb.fortran/Makefile.in
-c5c510327971bddd49a24fd81b77a1ba  gdb/testsuite/gdb.fortran/derived-type.exp
-4cc54e3c7a7f61e673fde71276ff8ed6  gdb/testsuite/gdb.fortran/common-block.exp
-96470dc8c54fbdf0b89302a580c4eac6  gdb/testsuite/gdb.fortran/derived-type.f90
-f51ddd033382b11225718cedd0e2d3b2  gdb/testsuite/gdb.fortran/array-element.f
-8adf6b9b0995213a5f128e8c30ec6f46  gdb/testsuite/gdb.fortran/complex.exp
-5c8800cfe6770576ee623804f50e62ba  gdb/testsuite/gdb.fortran/subarray.exp
-347dc5001f11016ab05c2aa6aa98a4a2  gdb/testsuite/gdb.fortran/subarray.f
-5f4ca34a24f51715e3df81dc7b6f7df7  gdb/testsuite/gdb.fortran/charset.exp
-a171a6472aa892b6c6e43dfc64f4abb8  gdb/testsuite/gdb.fortran/logical.f90
-a829531de526d0c1978d85d21e8831db  gdb/testsuite/gdb.fortran/multi-dim.f90
-3915807728849a9afbeec31ed3bc252b  gdb/testsuite/gdb.fortran/library-module.exp
-0c41af77b369d0dde0aa0f99f734de40  gdb/testsuite/gdb.fortran/array-element.exp
-050fec4a828a7de584ed55ea402a671c  gdb/testsuite/gdb.fortran/module.exp
-235179fe88e7b6cf007d9872f0c43bf1  gdb/testsuite/gdb.fortran/library-module-lib.f90
+9ca1a965d36455acf401b4b81db33b9a  gdb/testsuite/gdb.stabs/exclfwd2.c
+9479ca9955c3e446787fa5842e79b055  gdb/testsuite/gdb.stabs/gdb11479.c
+f68bea3f85d775a5c6f3ece036d146bf  gdb/testsuite/gdb.fortran/Makefile.in
+14164995a9d7cd13464b8ed73f120be4  gdb/testsuite/gdb.fortran/derived-type.exp
+8cb80c7f0d2a7ac4b8338cfea9432328  gdb/testsuite/gdb.fortran/common-block.exp
+8a6fe998bf0672fe1dd6a5aa1b252e8f  gdb/testsuite/gdb.fortran/derived-type.f90
+af6f450e023b64feeb67e0bd32c8510e  gdb/testsuite/gdb.fortran/array-element.f
+69ba710e0fd65bfa48154c1ffe8be6ef  gdb/testsuite/gdb.fortran/complex.exp
+2c779a87ba6fb79a687155288614f925  gdb/testsuite/gdb.fortran/subarray.exp
+5ae5f9573bd40ec78dd7e4d06d9ab1ae  gdb/testsuite/gdb.fortran/print-formatted.exp
+c5b503a18808fa945ff9e6d045e18c2a  gdb/testsuite/gdb.fortran/subarray.f
+9a8f4719f1d8239b74d8669c06302aeb  gdb/testsuite/gdb.fortran/charset.exp
+60b0e6ef7f45e47b109b01eb616b11b5  gdb/testsuite/gdb.fortran/logical.f90
+6e5670627658f5134cd9182fbac16457  gdb/testsuite/gdb.fortran/multi-dim.f90
+3019cbc89cb7758864669e1bdb5180c3  gdb/testsuite/gdb.fortran/print-formatted.f90
+c0054db945cc1f1b90edb6b02c883305  gdb/testsuite/gdb.fortran/library-module.exp
+6c8dc6227dd3c1251737727a3f467fe4  gdb/testsuite/gdb.fortran/array-element.exp
+e57ed712c9b16b940ee1e1a502d7de39  gdb/testsuite/gdb.fortran/module.exp
+81c787a44696a8e591b38d2c9f53dfbd  gdb/testsuite/gdb.fortran/library-module-lib.f90
 95708d64a7ce14d26ec039f9ec0af921  gdb/testsuite/gdb.fortran/charset.f90
-ee82073c835cde099ed28155da587d8a  gdb/testsuite/gdb.fortran/types.exp
-222a53f188c136a54f3035a13db41213  gdb/testsuite/gdb.fortran/whatis_type.exp
-ec6a83546c19a16ec9112d78beadf0f2  gdb/testsuite/gdb.fortran/common-block.f90
-b2f60b0b8adefe5e513820f83e7f0b46  gdb/testsuite/gdb.fortran/exprs.exp
-fe7d9ee5fa4bdb8ff901d06116d470db  gdb/testsuite/gdb.fortran/multi-dim.exp
-713710d5336cf2a3952f41ca0865e282  gdb/testsuite/gdb.fortran/logical.exp
-167f8a2b1d99a80bfc03ce32fc05b3a7  gdb/testsuite/gdb.fortran/type.f90
-4f03f41982dd11ddd08ef674eae2180b  gdb/testsuite/gdb.fortran/module.f90
-e41c0b0c2458e9345e93109220829a1c  gdb/testsuite/gdb.fortran/library-module-main.f90
-8de054a45fc6c7b974ac6247826cce26  gdb/testsuite/gdb.fortran/complex.f
-a478ddefc1635aecf4383c566b0dc761  gdb/testsuite/gdb.btrace/vdso.exp
-fcf943cddc0452480e101a267119ac66  gdb/testsuite/gdb.btrace/data.exp
-b0f80ffb0beafa311e3955f9a2163237  gdb/testsuite/gdb.btrace/step.exp
+498efe53e241878e805247841b7b2f05  gdb/testsuite/gdb.fortran/types.exp
+a3293630f094952be89aab58fc389de4  gdb/testsuite/gdb.fortran/whatis_type.exp
+e9554a09daec0e99dbef4a9709988c0c  gdb/testsuite/gdb.fortran/common-block.f90
+6105f999d97875b6bcb89f58093c3b05  gdb/testsuite/gdb.fortran/exprs.exp
+b0424bcd8418d1859f301a0c34e6d4e4  gdb/testsuite/gdb.fortran/multi-dim.exp
+b848604518fc953e1c7a7b15147282ec  gdb/testsuite/gdb.fortran/logical.exp
+3d8f9acc5a81d9631e416902b54f074b  gdb/testsuite/gdb.fortran/type.f90
+81643772cb0be8af48d506b2eaf80699  gdb/testsuite/gdb.fortran/module.f90
+92bc2f78e843eb926d1fad97a798576f  gdb/testsuite/gdb.fortran/library-module-main.f90
+4591ce5cf005c018e76fed266d47646e  gdb/testsuite/gdb.fortran/complex.f
+7dfe30e707fdada2d3001c47c98c44b6  gdb/testsuite/gdb.btrace/vdso.exp
+18852b26e3f3316a01445b655eff24c6  gdb/testsuite/gdb.btrace/data.exp
+62bd7197cc59d11a490c8cc879ef56bf  gdb/testsuite/gdb.btrace/segv.exp
+cba21b31722ef79b9a32c0abd4abeaea  gdb/testsuite/gdb.btrace/step.exp
 ca848ad5e9e14caa115f840d2209d062  gdb/testsuite/gdb.btrace/Makefile.in
-a90992f4380129e0e0ce032db9d86ad3  gdb/testsuite/gdb.btrace/x86-record_goto.S
-e8a5dc164f2918fe485c9772bf02e48e  gdb/testsuite/gdb.btrace/instruction_history.c
-f0d9edd1011b9f40dddb8fd5e2858387  gdb/testsuite/gdb.btrace/unknown_functions.c
-006aa0db8a6593f8da87a52928b3b5b5  gdb/testsuite/gdb.btrace/rn-dl-bind.exp
-9502fe4bb7c134d892ec5199907edc45  gdb/testsuite/gdb.btrace/x86-tailcall.S
-9bf0ffc94938d87fffd7526b3021c97c  gdb/testsuite/gdb.btrace/record_goto.c
-454a5d5651218394de2e71b68b51c13f  gdb/testsuite/gdb.btrace/unknown_functions.exp
-4c94461b1e2e97ff18be16d951e15ce9  gdb/testsuite/gdb.btrace/nexti.exp
-4bfff792f66d9a757a1da91aea7543e1  gdb/testsuite/gdb.btrace/stepi.exp
-051f9d8d3af6a71ccc3cf306b8fc1f79  gdb/testsuite/gdb.btrace/multi-thread-step.c
-f93c91a3b93c1887ba6f7df2901b06e1  gdb/testsuite/gdb.btrace/exception.cc
-ba5b587d128e23e320860dabcaca2e6e  gdb/testsuite/gdb.btrace/next.exp
-cc7b32450ccea788abafda8fb8198e34  gdb/testsuite/gdb.btrace/instruction_history.exp
-9bf521ce1bcb7ab9ab565fb0668129ba  gdb/testsuite/gdb.btrace/nohist.exp
-47f28e47cef515f859586c96197dc4c9  gdb/testsuite/gdb.btrace/data.c
-8d9e4b3c82d8112633a66373d390b51c  gdb/testsuite/gdb.btrace/enable.c
-2d90424642881cc2e32e5c371493ec1c  gdb/testsuite/gdb.btrace/enable.exp
-10e5806ea84891fb089f8a36fb8f04dd  gdb/testsuite/gdb.btrace/multi-thread-step.exp
-7a753b0006e6f95dfe1d6bdc7242183d  gdb/testsuite/gdb.btrace/exception.exp
-fd6d8a13a4f76305ffa69b678c3ce3b3  gdb/testsuite/gdb.btrace/function_call_history.c
-1ed6f80c6bd06a1741ca9e79b7bbb253  gdb/testsuite/gdb.btrace/tailcall.exp
-bf8c8266f871ef98d7bdeae7a92b1dad  gdb/testsuite/gdb.btrace/function_call_history.exp
-e3350de0f1bf16ab26b870b316407c37  gdb/testsuite/gdb.btrace/instruction_history.S
-3ac4582775020a147ccdea6f40c84405  gdb/testsuite/gdb.btrace/finish.exp
-28e34dfb1a2d11cd86253753b1450d75  gdb/testsuite/gdb.btrace/vdso.c
-6c06791f31fedecb9d0ac1674dc14927  gdb/testsuite/gdb.btrace/rn-dl-bind.c
-afaba9b9cea3b1f8398a27070ab32910  gdb/testsuite/gdb.btrace/record_goto.exp
-4e88cc723efe5b93f96ecffe0e276590  gdb/testsuite/gdb.btrace/delta.exp
-47d12383abae7145afcc8e1d32a7937f  gdb/testsuite/gdb.btrace/x86-tailcall.c
-b59be019587f66cd289e2dca85c6875d  gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp
-1418aab9ad95e4546c476a30e132e5b7  gdb/testsuite/gdb.dwarf2/trace-crash.exp
-2c94df1b7c40ec6e0e70113caa76855e  gdb/testsuite/gdb.dwarf2/dw2-ranges.exp
-2f6c439e249271bd09680989e280fa72  gdb/testsuite/gdb.dwarf2/dw2-const.S
-3cf51e3426c9cd87e1bc93e5822d8db8  gdb/testsuite/gdb.dwarf2/corrupt.exp
-bb61af699739872865580f0675b0f14b  gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp
-1a3b8d44b0094c7144d40f1baece4aea  gdb/testsuite/gdb.dwarf2/dw2-op-call.exp
-cb6a90a29e69c6d0f013981d4b29f356  gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.S
-28bdf1dbceb3ab61d78a26c2fec6b254  gdb/testsuite/gdb.dwarf2/fission-mix.exp
-e703771f12708b7a53cc2d72dc1d3851  gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.S
+a527ba60cd62dd36f978528b39d946e0  gdb/testsuite/gdb.btrace/x86-record_goto.S
+a0d8647da5e5cb35825670f3b78b0f07  gdb/testsuite/gdb.btrace/instruction_history.c
+baa9f500b8ff0ee50c5eb8ce90bcc290  gdb/testsuite/gdb.btrace/unknown_functions.c
+5aa8284b23e8a925ee7999c16f53df8c  gdb/testsuite/gdb.btrace/rn-dl-bind.exp
+1b18ef5968fee088e2383d61a5e5d456  gdb/testsuite/gdb.btrace/x86-tailcall.S
+cfcd7e9b0728257ccc45749d9d98f0d7  gdb/testsuite/gdb.btrace/record_goto.c
+555b0825fa0cdaf29831ce786e64f51a  gdb/testsuite/gdb.btrace/unknown_functions.exp
+d7ebf13d419766e0c2895848ac410274  gdb/testsuite/gdb.btrace/nexti.exp
+6ba6bcc916710b3429402ce071fe037e  gdb/testsuite/gdb.btrace/stepi.exp
+b372e846c614fe71ccef7ddc8f01d4de  gdb/testsuite/gdb.btrace/multi-thread-step.c
+2b4ef28ff65c3629773f158ac45783b3  gdb/testsuite/gdb.btrace/exception.cc
+1247b73827e3aa578ce516db87354a88  gdb/testsuite/gdb.btrace/next.exp
+c4f200221f19a8044e9fd696ddbbac0f  gdb/testsuite/gdb.btrace/instruction_history.exp
+237f7331c7b55b8d89cad4a3cc908f10  gdb/testsuite/gdb.btrace/segv.c
+df3eb6bcb577a694e7659901968b3439  gdb/testsuite/gdb.btrace/nohist.exp
+1feddb07101b51b05a25a5bb2e4905d8  gdb/testsuite/gdb.btrace/data.c
+dc5d34669ba28ea4c893e075943e177c  gdb/testsuite/gdb.btrace/enable.c
+44c361fcc4a8c83b4982dd0d3c3fc8d5  gdb/testsuite/gdb.btrace/gcore.exp
+1db4679795772c76b56b0a6260e20b5c  gdb/testsuite/gdb.btrace/enable.exp
+f01ff1bdc9a134675ee2d00c7c60f6a9  gdb/testsuite/gdb.btrace/multi-thread-step.exp
+31a6da171f80e71777588c7c726e5464  gdb/testsuite/gdb.btrace/exception.exp
+d3f7c35e313dd18506a905277e92ccb5  gdb/testsuite/gdb.btrace/function_call_history.c
+742468f9d7ad5bb714facec1106ea2a2  gdb/testsuite/gdb.btrace/tailcall.exp
+39afe6898739272e69cc1d0022d616ec  gdb/testsuite/gdb.btrace/function_call_history.exp
+ae655c5367180592e7b66a1e41e94e6d  gdb/testsuite/gdb.btrace/instruction_history.S
+da58292f313b72200e23932624b46042  gdb/testsuite/gdb.btrace/finish.exp
+dbadea0eec02944ee49b48eb0cd39477  gdb/testsuite/gdb.btrace/vdso.c
+f87c58ddcfd9e074c1d02aedd103251f  gdb/testsuite/gdb.btrace/rn-dl-bind.c
+ea020380152bf5aad1c9a2d40e26f1f1  gdb/testsuite/gdb.btrace/record_goto.exp
+4c454e239b898a6f02f6bfc79725d4b6  gdb/testsuite/gdb.btrace/delta.exp
+283df636157127e1dfc064c47913badd  gdb/testsuite/gdb.btrace/x86-tailcall.c
+dcaef9188f950fde7ea41144c11d26d6  gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp
+e05639ab29fe7deba10f02ca5e837f9a  gdb/testsuite/gdb.dwarf2/trace-crash.exp
+bbc51f9f0b87c37f9e1a5a081a1a5fc0  gdb/testsuite/gdb.dwarf2/dw2-ranges.exp
+53b35bde7e2991691ed7a0f2ea21f041  gdb/testsuite/gdb.dwarf2/dw2-const.S
+18b3ed6181326949a9fb5f1b14917b65  gdb/testsuite/gdb.dwarf2/corrupt.exp
+48c3d124a7473b30770438896d234e16  gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp
+b32896849e38e98b5b340700042be782  gdb/testsuite/gdb.dwarf2/dw2-op-call.exp
+9008db49f68b77c15d611c4344548f18  gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.S
+4ddcef522b1d971fd1e7d039d95c8d85  gdb/testsuite/gdb.dwarf2/fission-mix.exp
+82a2e264f0b5c3f06269faee038ec362  gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.S
 4029fe7d12928695058cad252eb8ff56  gdb/testsuite/gdb.dwarf2/trace-crash.S
-875eed63b97ef0dddeada36fb49223e6  gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.S
-c33741d9c082aaa6555ad01eb439a1a6  gdb/testsuite/gdb.dwarf2/Makefile.in
-3544fa65e24c6e0f5889a41ac61e13fc  gdb/testsuite/gdb.dwarf2/dw2-common-block.exp
-4f6781e64d3a88a93ecf1c437aceab5f  gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp
-98fc7ea2dcfeb957ffee320d42701671  gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp
-b5866e65f6ce3365f789197a9c017623  gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp
-2966e14cea0564f47b259f4ff2db3ff4  gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c
-26a1a920f0f19704c84b2c76e664c472  gdb/testsuite/gdb.dwarf2/subrange.exp
-5d3f37fe8ddf67fe8ee827dc2fd1c159  gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp
-bfd12ae953d347196dafbdd40a640751  gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp
-efb792c0d13934567feb1b9880b97eaf  gdb/testsuite/gdb.dwarf2/fission-base.exp
-6fdab84f97d51be129264981fac1aec0  gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.exp
-531c2c371e3aee07713a7f6d022635ad  gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp
-71c5490da0483d9cc78122021b35659c  gdb/testsuite/gdb.dwarf2/arr-stride.exp
+09a12bbe692a91612112adaba869e61d  gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.S
+2153a76b65fb5dd841707d356a0a78dc  gdb/testsuite/gdb.dwarf2/Makefile.in
+68ac9e2d7b5be313333c1f95542727fe  gdb/testsuite/gdb.dwarf2/dw2-common-block.exp
+b7df00b61b5cb2aedf039f5429a3b487  gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp
+8adf0fdce529dece5c35bfbfe2b70db2  gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp
+fed9a9e039568a6a111211a12a531cb5  gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp
+17c434f8cbc92621d938564c49272679  gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c
+b818db8abf2501b9fb0a9bb75803e149  gdb/testsuite/gdb.dwarf2/subrange.exp
+c37963187736717f4a5ac1496c54e7a1  gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp
+a4abb0b86a1f3d59b4c2fe44e3b74982  gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp
+4b48224951ccd0e8f12e483950960e31  gdb/testsuite/gdb.dwarf2/fission-base.exp
+c22d1692c714d7403da492fcced12680  gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.exp
+de984d33e10a2d0960387e5a629e6d89  gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.exp
+4ef78151085fa30580415c9080710ae1  gdb/testsuite/gdb.dwarf2/arr-stride.exp
 54b8a6b0ff52958ee33024c56b9bd2bd  gdb/testsuite/gdb.dwarf2/file1.txt
-d55c61f7b3ed279a9edfcb21a016617d  gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp
-0c638739d83aca8291f2125d1d55caab  gdb/testsuite/gdb.dwarf2/dw2-error.S
-03de64e06f41c9bd9b5a0f9dd1b9697f  gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.exp
-bdb5ca08265f76c5d84f48e90787b118  gdb/testsuite/gdb.dwarf2/dw2-inheritance.S
-029753b40224ab18e1f23e41a67978d5  gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp
-8f4b677371717cb57f45bdb0cd8ddd3f  gdb/testsuite/gdb.dwarf2/pr13961.S
-e7a2a17aedd89c554a42e6514052face  gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.S
-327784f804b34308b2cffbb40471b37f  gdb/testsuite/gdb.dwarf2/pieces-optimized-out.exp
-499eec7ffe26ead0aeff90e8474c0363  gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp
-077f6a2a78311d89a178bb32a125d420  gdb/testsuite/gdb.dwarf2/valop.S
-299b63c34f2acca824d9906132f7e9a0  gdb/testsuite/gdb.dwarf2/dw2-unresolved-main.c
-a532f0a06eb8109cb521b8200bcf13e5  gdb/testsuite/gdb.dwarf2/dw2-ranges2.c
-7ee20b752db3be400323839d9acf4cef  gdb/testsuite/gdb.dwarf2/dw2-compressed.exp
-9b7bccb95c40b5eeb0988882c523d547  gdb/testsuite/gdb.dwarf2/dup-psym.exp
-fcb7b460537cb8f88de1292aaa0d55d9  gdb/testsuite/gdb.dwarf2/callframecfa.S
-f8f09d831dc36843e2fbd07ed22acd27  gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp
-e2b348cc30f0c4859d51446d2b046ae2  gdb/testsuite/gdb.dwarf2/dw2-filename.S
-c981a6fdab752b9e3a62e8c60db028cd  gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.S
-14231f5d9e4e558e33277ce9e744df79  gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp
-bb5c4d58a8afae73f93eb88f3ad1dec1  gdb/testsuite/gdb.dwarf2/implptr.c
-38188cf14688b6a547483e5190a34c81  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp
-62b680cd87b7074f3ea102b0abad802c  gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp
-4fad0e2cb1c96b18db9b282cfaadadf6  gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S
-85413673ebf7bf59da4908168b6ec58f  gdb/testsuite/gdb.dwarf2/fission-loclists.S
-e434673d120abfc339465825abaf155d  gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp
-2071ab360d30345a06aabd5aaace5cc0  gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.exp
-435ae94882f86b7cbda2bb83bc462929  gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
-4845cf4fe7369e137bd2630a46bd6547  gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S
-2352ce181e4cfa780f8ae1622757ed9d  gdb/testsuite/gdb.dwarf2/dw2-producer.exp
-270c868147c6487f0b75f2734db2c00b  gdb/testsuite/gdb.dwarf2/clztest.S
-158880d45161d3e471e90bc1a0145b15  gdb/testsuite/gdb.dwarf2/watch-notconst2.c
-34cc1840d1aa856a885549b19e7119e8  gdb/testsuite/gdb.dwarf2/dw2-basic.exp
-553bcf5c29bb611eb73f4d6a81e7437c  gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.S
-d24c66ab55900beaf02a46037df9cff2  gdb/testsuite/gdb.dwarf2/fission-mix.c
-71d3aa3ebba1a3650be7837c2e1b10f3  gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
-77b5f2ab2f042ef157a99de038cdea6e  gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S
-179e83298974618031bb8439b7737eda  gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.c
-eac2a8db089a7e12efa7b99b22c45767  gdb/testsuite/gdb.dwarf2/dw2-icycle.exp
-bd57fb02bfd62aedee2b0b4068c4a7c7  gdb/testsuite/gdb.dwarf2/dw2-strp.exp
-e1612e0743c9388ce9389102ada4854a  gdb/testsuite/gdb.dwarf2/implptrpiece.exp
-31282c70489084088fabb44b84e923c4  gdb/testsuite/gdb.dwarf2/nostaticblock.exp
-1921032cc0bc9e1a5ba7cc66776cd7f4  gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp
-95d2bc1529cae70a6a390b772f87dbcb  gdb/testsuite/gdb.dwarf2/dw2-intercu.S
-65fd8f9642928623adf99cfba63eef5d  gdb/testsuite/gdb.dwarf2/dw2-noloc-main.c
-c7d48757733f2755e11821c349ca7799  gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S
-64714e2786e9be6e9437e21e390a4556  gdb/testsuite/gdb.dwarf2/dw2-compressed.S
-5202d868bec0c6d2e15c029a390acdcd  gdb/testsuite/gdb.dwarf2/dw2-intercu.exp
-9ab95b855943d2c920e85d3e0df0f937  gdb/testsuite/gdb.dwarf2/dw2-param-error.exp
-47a28edee34b471ba880137a3b5487e4  gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S
-21d71741842e590b23a480417a4f04d0  gdb/testsuite/gdb.dwarf2/method-ptr.exp
-1c287ed6d8ee2b4fe6c0fa5fee32f4d9  gdb/testsuite/gdb.dwarf2/dw2-icycle.c
-3b5198f527c1b5b9c4821a7b2debe3c2  gdb/testsuite/gdb.dwarf2/watch-notconst.exp
-d6d84ad7fef75de129a1178066ff13d0  gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp
-6db92cdc78fcb76a624694a39323dbaa  gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.S
+15fe5b27d522986c9ac570d716672c94  gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp
+658511815fea6cc517d9d74a3f4ec318  gdb/testsuite/gdb.dwarf2/dw2-error.S
+73a5d916471c02e6427ea8dfe84e910d  gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.exp
+80164e86882a9830799a5380fb1e8d7f  gdb/testsuite/gdb.dwarf2/dw2-inheritance.S
+ae8d27be037fe94365e2d407d47a8aab  gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.c
+90f00f1c5bc63a7a1f49ab766bf85f04  gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp
+33e670c71828174ee1c8149b73cdce1f  gdb/testsuite/gdb.dwarf2/pr13961.S
+1f80ea6fcccbdb45c5a9a96bcb0aadb9  gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.S
+8f30bf5e577a18b4b99a0b0eb857c42d  gdb/testsuite/gdb.dwarf2/pieces-optimized-out.exp
+4b551457d9876928cbeb1127a4a9f69d  gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp
+5da63855fa9dc954e2d7e57a32c8ea45  gdb/testsuite/gdb.dwarf2/valop.S
+5cd482d2121cb5a67484d64a357da5c1  gdb/testsuite/gdb.dwarf2/dw2-unresolved-main.c
+6e1c21cf11a3242e5e03b2a4b819b214  gdb/testsuite/gdb.dwarf2/dw2-ranges2.c
+29c0b82005abb457115321872f2a9b8e  gdb/testsuite/gdb.dwarf2/dw2-compressed.exp
+39e8c06acbe572ac6fcf2997b566e6d6  gdb/testsuite/gdb.dwarf2/dup-psym.exp
+90cada3d929c9425c8d3eaf4686524c9  gdb/testsuite/gdb.dwarf2/callframecfa.S
+ce63cabcca58772955b06cd5ba07fb9a  gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp
+841831852c9c2b0073e816f8281848b8  gdb/testsuite/gdb.dwarf2/dw2-filename.S
+3166204b6719eb0e071c10cc03fb7e38  gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.S
+9376926441fbdddd80f7d419fcac6f39  gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp
+366bbd7f37abe597581ffe48d7df0817  gdb/testsuite/gdb.dwarf2/implptr.c
+abf4b1f55444b8b9b97c08c4ea1eee46  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp
+edf61f006a684c89a03d7c884a6f759b  gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp
+f33cf9400364b224018f92f7f2058ad0  gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S
+2a65a4300dd6a68590b5459028e6730b  gdb/testsuite/gdb.dwarf2/fission-loclists.S
+2c7c6383b5754aad87a040a9454d5ed8  gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp
+6e9a424b81a9da529f0552b643a6f9f7  gdb/testsuite/gdb.dwarf2/symtab-producer.exp
+07abe2fbc80533150ccdb3f9bdec9def  gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.exp
+09b370852f266e9c682c03563cbf716c  gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
+88f5de1d1fe62b66000442ec1f499459  gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S
+662ffaf0403fbce9f9b60852d6653e44  gdb/testsuite/gdb.dwarf2/dw2-producer.exp
+f243106edb6902f42cfabd73e2bf6fb6  gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.exp
+2b4a3cf4dd97504b4913df9126b9bc8a  gdb/testsuite/gdb.dwarf2/clztest.S
+b136cd394a10412254dcd4160de7fb67  gdb/testsuite/gdb.dwarf2/watch-notconst2.c
+0812e1f2426dddfacc04760db353d73f  gdb/testsuite/gdb.dwarf2/dw2-basic.exp
+022e7a5a79beb3bdc8c4272d4a58c52d  gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.S
+2f2dbf1aa0784fd6ffd6a08c0404c596  gdb/testsuite/gdb.dwarf2/fission-mix.c
+bd9832437cefbb1c3236143cae5cf803  gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
+296752001eca75590bf1d3769639982a  gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S
+80a43bd6f103c4b51646996c8d815bee  gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.c
+9efec564c7801017f6cc9d77ca87257a  gdb/testsuite/gdb.dwarf2/dw2-icycle.exp
+662fc0b8ceb0fb73de7e33212088f279  gdb/testsuite/gdb.dwarf2/dw2-strp.exp
+86255db1d46a952082a998daaeff1d4e  gdb/testsuite/gdb.dwarf2/implptrpiece.exp
+dfc2dc354191ea76fb2cbee6d35fc425  gdb/testsuite/gdb.dwarf2/nostaticblock.exp
+5c778f5c11d0f48786d2dba644b7ded3  gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp
+b1729f03ad054affc2ddbb93e06edeef  gdb/testsuite/gdb.dwarf2/dw2-intercu.S
+058834c35a2b46db06c920254d17b7a4  gdb/testsuite/gdb.dwarf2/dw2-noloc-main.c
+c99e1e30cf3c1cbefa56fd825fa6f1a4  gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S
+b68afdf9d9776944a81a74bf824ab353  gdb/testsuite/gdb.dwarf2/dw2-compressed.S
+050eef6cf37f01d94dbbca3aaa6b7912  gdb/testsuite/gdb.dwarf2/dw2-intercu.exp
+9b318c9fb2bdd12695879fed5f9e091d  gdb/testsuite/gdb.dwarf2/dw2-param-error.exp
+b00439364fbb43a965faa517cf774d57  gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S
+af53a9836e0a875235d5cb3588bc473b  gdb/testsuite/gdb.dwarf2/method-ptr.exp
+0be1a4e25cdc5b331a79804114ec8078  gdb/testsuite/gdb.dwarf2/dw2-icycle.c
+9013757af73ee329542401326d1ac249  gdb/testsuite/gdb.dwarf2/watch-notconst.exp
+2c7b1bd21b79365a0f35b74b6ee82031  gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp
+a3ed80e2945bc21ce0f7444c81ac35b9  gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.S
 84dfdabac6f10bd8e20f5ddf6e5e20a4  gdb/testsuite/gdb.dwarf2/dw4-sig-types-b.cc
-2e35e98cc0940c5d1bd7fd12dcc9c9e0  gdb/testsuite/gdb.dwarf2/typeddwarf.S
-82c644a14e54e8b249401e33be387327  gdb/testsuite/gdb.dwarf2/dw2-ranges3.c
-169752dd32bac3f8f1156dff5cca5ef6  gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S
-1f9bf0a716b7549fb755df0ead081a56  gdb/testsuite/gdb.dwarf2/pr13961.exp
-83a16722e6a8bc5b6fbf23d431543906  gdb/testsuite/gdb.dwarf2/fission-reread.S
-975b93735fa63cdb995b294986c73cf6  gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S
-4d728481eadc6027b27fc7f17cea47eb  gdb/testsuite/gdb.dwarf2/dw2-common-block.S
-13c5975554de108e9b2a4b651f588c6b  gdb/testsuite/gdb.dwarf2/arr-subrange.c
-8f492f60b3532b3a3178b84a1b2ee01a  gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S
-1c287ed6d8ee2b4fe6c0fa5fee32f4d9  gdb/testsuite/gdb.dwarf2/main.c
-cf25ef53caa81452ee4977099f8bf721  gdb/testsuite/gdb.dwarf2/implptrconst.c
-f539a934234bc9648e97c520e6844878  gdb/testsuite/gdb.dwarf2/dwp-symlink.exp
-b75b48c4701350816fcd9ab0b87bae89  gdb/testsuite/gdb.dwarf2/dwp-symlink.c
-9c027592c833ae22460e76f66fef5a48  gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
-c75050e0e9a3379608596cb7fdde676d  gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
-1aa29ed404211bfddbfa2f7f14b14b2d  gdb/testsuite/gdb.dwarf2/dw2-op-call.S
-88d0309bd1cb32e59f437fcf191d7328  gdb/testsuite/gdb.dwarf2/pr11465.S
-3bfc7a8ed38bd44ddf323402a311e1a8  gdb/testsuite/gdb.dwarf2/corrupt.c
-9f92467151888c543b896ccda0c68b63  gdb/testsuite/gdb.dwarf2/pieces.S
+bd929c91f07c2a2dcc1590c9acc56ec1  gdb/testsuite/gdb.dwarf2/typeddwarf.S
+b471e5fdab1b319ce02aabab78b1fe04  gdb/testsuite/gdb.dwarf2/dw2-ranges3.c
+a083394b5c3654d51e7553d583382996  gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S
+6905a63c2e9fe5c52e4077114edb4407  gdb/testsuite/gdb.dwarf2/pr13961.exp
+6e1bc7df595e78732a24ffc80e378595  gdb/testsuite/gdb.dwarf2/fission-reread.S
+005d40e2f757d66d153d01db2ea75dc5  gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S
+9cee86841e8bd8f8a9d8e43cd43cd8db  gdb/testsuite/gdb.dwarf2/dw2-common-block.S
+01fdd28afe00d1e410f61954e541a8a3  gdb/testsuite/gdb.dwarf2/arr-subrange.c
+52136e48bbb935e981bd9dd626d29516  gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S
+bed11db7a2aac973d7ac2683d961db39  gdb/testsuite/gdb.dwarf2/main.c
+62c6432b0d4c1918a66fd12442830bb3  gdb/testsuite/gdb.dwarf2/implptrconst.c
+ae2bb2d1a5ebbaa9250b14bc36aaa4ae  gdb/testsuite/gdb.dwarf2/dwp-symlink.exp
+aacfcf87338580af13fdfdbb097943c3  gdb/testsuite/gdb.dwarf2/dwp-symlink.c
+76d98797070898f62ebf1dc05b910dc7  gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
+58eaedc2b1ccda6d6bf004431bcbe815  gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
+77040636e2cded9bfe0a949c9d556698  gdb/testsuite/gdb.dwarf2/dw2-op-call.S
+706b24603058502e0ebd9994a1abe9eb  gdb/testsuite/gdb.dwarf2/pr11465.S
+385fbee679f63b977f75d5aebe3e03d2  gdb/testsuite/gdb.dwarf2/corrupt.c
+b4da9a50932dc3e7150a3e2b658ad5ac  gdb/testsuite/gdb.dwarf2/pieces.S
 221371fc128c0ff0bd3ab15a074b243e  gdb/testsuite/gdb.dwarf2/typeddwarf.c
-03132b246c000a4ca6c753aab3f6a45d  gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp
-3d761292535f72af63260814987ac906  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S
-6af30cb96946aee3855cd9db3d2b2d14  gdb/testsuite/gdb.dwarf2/implptr.exp
-7c981b86ded6c4a3826c5f289ef6858c  gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c
-976ab706e31a360fdecd5139e2cfbd00  gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.exp
-b92714ee13ce3f8143df400e765c441c  gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.S
-6efd3cde1a3e081c0f5240b46d380dfa  gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-outer.S
-55b6ccf2e9dcc4934f22d0dda55bfd2c  gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp
-663e4f4b7a8b72f3d61e77c85d9d16d8  gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
+20936081b1caa7738ea0f74fafc4eb12  gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp
+49c9ed024f714648b9db1b9c5a11ee58  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S
+69f6582a1a0b7560d739d4ba173e003a  gdb/testsuite/gdb.dwarf2/implptr.exp
+0fe800549c74ee26baa2a5aafb644539  gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c
+83f69717814d47c6b704a0bfed8b343e  gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.exp
+cea789825f272190adb1b529b6b9fd0c  gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.S
+801df1a5f00968b6addca964951f11af  gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-outer.S
+1ed6d68ba489abd0890fae2eaaf0acd9  gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp
+04b69cf5aefd9170e4168a5cb18eefd0  gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
 a9d1814e91b1652544cf87629ae7d948  gdb/testsuite/gdb.dwarf2/clztest.c
-c41fcb2ae303cba8bcdff8515d9300d8  gdb/testsuite/gdb.dwarf2/dwzbuildid.exp
-b96a6d6f01e6a03edbe27f2c49350221  gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S
-52f139598853e7773d2e4fbbf7242c32  gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-inner.S
-55fe0eb2324786ed9cdcab8d2b7d1d56  gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp
-8ed2ff5379582c115732795b24f2e93d  gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.S
-a038e9d3606357deb19734dc5e3ab162  gdb/testsuite/gdb.dwarf2/dw2-entry-value.S
-e13243b2829dace4f6668658bbd91f4c  gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp
-d27f22068c31ddb29b192b84a807b734  gdb/testsuite/gdb.dwarf2/dw2-restrict.S
-17cd2e91ace46aa03e8252bdc6d0a9e6  gdb/testsuite/gdb.dwarf2/fission-mix.h
-ec99745871b9c39ae2e56b5766e33189  gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.S
-84dd5797dad128ebad7aed6a3fc02b31  gdb/testsuite/gdb.dwarf2/pr11465.exp
-5439cbd28fc517520a8231df32fe399b  gdb/testsuite/gdb.dwarf2/dw2-inline-param-main.c
-7c981b86ded6c4a3826c5f289ef6858c  gdb/testsuite/gdb.dwarf2/dw2-entry-value-main.c
-e9ea57547e714a2d21381fe34449559f  gdb/testsuite/gdb.dwarf2/dw2-param-error.S
-7d43005ef572de1fc24bbe3fc58e2d67  gdb/testsuite/gdb.dwarf2/pieces.c
+fa0c08bf86a775d7882c02ad555ee852  gdb/testsuite/gdb.dwarf2/dwzbuildid.exp
+0f0679513708f7e45de26c808bb71acb  gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S
+48c925932ce970a7a43013740f99715d  gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap-inner.S
+4a8b395785a657837f936d58e802909d  gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp
+ca91d69376495be73e61688a2055793b  gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.S
+89a27ded98f32a7d82c0844e3a8f9c68  gdb/testsuite/gdb.dwarf2/dw2-entry-value.S
+fd2f41b129f0f40f3affd82265b2908c  gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp
+ec7d67d642f3f62872ecfa2da2e199ef  gdb/testsuite/gdb.dwarf2/dw2-restrict.S
+ca42403f09d1ad7d2eef3c3a90031518  gdb/testsuite/gdb.dwarf2/fission-mix.h
+f8ee04647c690008a7267db45613290e  gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.S
+d0353ae7baab0a971f091325b693111a  gdb/testsuite/gdb.dwarf2/pr11465.exp
+06c8ce58b9320d6d0306bf0993d65bb8  gdb/testsuite/gdb.dwarf2/dw2-inline-param-main.c
+0fe800549c74ee26baa2a5aafb644539  gdb/testsuite/gdb.dwarf2/dw2-entry-value-main.c
+7d4c084fa11e5f7b723b8166369d2b97  gdb/testsuite/gdb.dwarf2/dw2-param-error.S
+cb36bc00f3d3932dbbbb9b0fac363cbc  gdb/testsuite/gdb.dwarf2/pieces.c
 0c1cac296d9825462dfe00fa9ed44889  gdb/testsuite/gdb.dwarf2/implptr.S
-6f1cbdffb830cfefb37e3303039eb9a2  gdb/testsuite/gdb.dwarf2/dw2-ranges.c
-2096b7f73c009e249a40bf96337eb76d  gdb/testsuite/gdb.dwarf2/pr10770.exp
-c9520903f6e9e54cbdd7692fc6da02f4  gdb/testsuite/gdb.dwarf2/dw2-strp.S
-e39c279bf9b95467e5166d58c0d2497b  gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c
-59c56bf32ab8c0d6c086b4d633a71077  gdb/testsuite/gdb.dwarf2/count.exp
-2748f0cddede25802611c018de9bc10d  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c
+6bc4dde59a783b01321a82e75a25bb20  gdb/testsuite/gdb.dwarf2/dw2-ranges.c
+c881afed13edc0c54cf106919eb9165b  gdb/testsuite/gdb.dwarf2/pr10770.exp
+4e298e5f5b7921ee7cc3869509f08e41  gdb/testsuite/gdb.dwarf2/dw2-strp.S
+1982c7b2b29f1402b813b633acd5454c  gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c
+d2ee067d477fb9505798e3ef39f48ecc  gdb/testsuite/gdb.dwarf2/count.exp
+5690421de78077f781c0e4d91491c33d  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c
 66dff7abb42a5b191f3df1fb1617237c  gdb/testsuite/gdb.dwarf2/dw4-sig-types.h
-22af7fae08c7821c9c1691d71bc8d746  gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp
-b57005bb755d8e4202d5eacf78b675de  gdb/testsuite/gdb.dwarf2/dw2-entry-value.exp
-1f7658f87bdda09c7783c0e189eba113  gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S
-e67a7bdf5cb74c814424e082517c31b3  gdb/testsuite/gdb.dwarf2/fission-mix2.c
-3f87fa22bda6ad7e6e902e0052f82518  gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.c
-bca4a331ef6e62fc3cf6bfe5f7645b0f  gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp
-1d20ca7aedaf96f75b61c8403dbd77fa  gdb/testsuite/gdb.dwarf2/clztest.exp
-76ebef7725cfca5b51bfc29376f20226  gdb/testsuite/gdb.dwarf2/dw2-basic.S
-f0dba334152c8afa778d1d165eca374b  gdb/testsuite/gdb.dwarf2/fission-base.S
-76b6db22c698357820ced73a38f83eec  gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.exp
-8ccaaa5e13cf7274c6a4114eba0feeec  gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust-main.cc
-94d9a2eff7eb37f56f8ad0b99171351f  gdb/testsuite/gdb.dwarf2/dw2-dup-frame.c
-039f8ba6ad1b688e52dd254cf6e9fd6a  gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c
-a6b22ad030e362b494bbd58204556252  gdb/testsuite/gdb.dwarf2/dw2-restore.S
-d7910f0a2a312e4ccbfc00ecc94e48e0  gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S
-123300d0b3c9fa2f65b69e048f829f65  gdb/testsuite/gdb.dwarf2/mac-fileno.exp
-9f48a51495fc03c8673d384e0b55b809  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S
-309e099d48b1b2429fc1d7d41d4eddd2  gdb/testsuite/gdb.dwarf2/dup-psym.S
-419effd744c16553171ca2a351657226  gdb/testsuite/gdb.dwarf2/dw2-restrict.exp
-4a04ed9b37c3c73e7a819fdbdf25c066  gdb/testsuite/gdb.dwarf2/dw2-error.c
-ad6f7d8a45bc3dc22d7dc5ae44b56912  gdb/testsuite/gdb.dwarf2/dw2-producer.S
-40b1b4755f82c5804b8f62d97b287293  gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp
-6e0d9154b50f396fc36dcd67f9e8f7cb  gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-main.c
-14570406c022f4c8f9b8119b65dc0050  gdb/testsuite/gdb.dwarf2/pieces.exp
-5520bd94b4ae3756784ae0b2ff57d5e3  gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S
-4678fc8b527d51436dfb358a50492e44  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c
-a6e7e433e3c79a65cd9442e4857b2b10  gdb/testsuite/gdb.dwarf2/valop.exp
+c309903c3afa93f80ef54ad69bb1c91f  gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp
+e001ee87f7e6392bbee7aecb01033562  gdb/testsuite/gdb.dwarf2/dw2-entry-value.exp
+c2729b4486cb86d837b4be56e649a944  gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S
+dbea19926132895aacb04102cff239d3  gdb/testsuite/gdb.dwarf2/fission-mix2.c
+f15e65f9c3817301552d2e3b3fa55fe8  gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.c
+224b03c8ae4ed801cb239f1b87f8e8fc  gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp
+09551cbff98acd50d131708a5f014083  gdb/testsuite/gdb.dwarf2/clztest.exp
+43d993539b420e70f5c6c61f55921661  gdb/testsuite/gdb.dwarf2/dw2-basic.S
+aed11fb1972e2d14f84770b844f11e6a  gdb/testsuite/gdb.dwarf2/fission-base.S
+b96ff68a131cff34cd897d019525f1c2  gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.exp
+09477fbab4120ef53ff094b0070d8786  gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust-main.cc
+27b51c640e54e7a4543d9f2aa4164f39  gdb/testsuite/gdb.dwarf2/dw2-dup-frame.c
+eb41b1f03d98cdde41ddfb27fe9e13db  gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c
+66f25c7dbf384174ec9fd1ca50f9a223  gdb/testsuite/gdb.dwarf2/data-loc.c
+8f267d758d050f7f75de540d1328dd36  gdb/testsuite/gdb.dwarf2/dw2-restore.S
+d6feb5a90219b3e759bf716d436ba056  gdb/testsuite/gdb.dwarf2/dw2-case-insensitive-debug.S
+17b55dda0e76cead163721073a84fcfe  gdb/testsuite/gdb.dwarf2/mac-fileno.exp
+a3018aed35c18b021bb6770a32428947  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S
+eefec6c561ed31438f1c512a5dee114a  gdb/testsuite/gdb.dwarf2/dup-psym.S
+05d9e8d8b46c35bea790596c32299c01  gdb/testsuite/gdb.dwarf2/dw2-restrict.exp
+37e9eeb55b67162f897f238b7552604b  gdb/testsuite/gdb.dwarf2/dw2-error.c
+baa416ece0bf26f642460468f7697c1e  gdb/testsuite/gdb.dwarf2/dw2-producer.S
+88b78ecf785da4acd640fe3067ae4deb  gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp
+1978ca83cba9f1b8f4ed332746a9044a  gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-main.c
+c2fd110b55ba99d2f744d54cb540b78c  gdb/testsuite/gdb.dwarf2/pieces.exp
+1f3daa08e50001b2d24813ea11abb54f  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c
+f5058fa82ef166ae3ab39689d4e4a4a5  gdb/testsuite/gdb.dwarf2/valop.exp
 075ee4da88be6ff4297e6d6b44b113a1  gdb/testsuite/gdb.dwarf2/pr10770.c
-94617c4ca3cac49cd5722ce91ab8d0f8  gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp
-4ab83c25b8299282faa4d84aa0df3605  gdb/testsuite/gdb.dwarf2/dw2-restore.exp
-b63f2ed620be0409b4e82d001b2070fa  gdb/testsuite/gdb.dwarf2/dw2-inline-break.exp
-b10e00f1fd07ca7aa418379f7106aa20  gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S
-2196140f4475775fb927d83f46382ad2  gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S
-108ec29772736f201e8177c15943db89  gdb/testsuite/gdb.dwarf2/enum-type.exp
-cd5c2285928699973d4a01e7475951b4  gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp
-7a707d7bd104f2231fb68e62d9498167  gdb/testsuite/gdb.dwarf2/fission-loclists.exp
-bcbbe19214df6252c75fbdfb90e0b872  gdb/testsuite/gdb.dwarf2/dw2-dup-frame.exp
-e257cab2c5a26baac72e8f2459a78399  gdb/testsuite/gdb.dwarf2/dw2-intermix.S
-8460c98aa06e179da120c1321cd87333  gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.exp
-44fc2e7ea78cd799ed44dddb44b7c000  gdb/testsuite/gdb.dwarf2/fission-reread.exp
-7e2902dca4420c68fe5de3c56b86e0f6  gdb/testsuite/gdb.dwarf2/implptr-64bit.S
-b2bd57a997947ab451bc91884ec7b532  gdb/testsuite/gdb.dwarf2/mac-fileno.S
-059390a766632d7a07601e3a1c2a7f12  gdb/testsuite/gdb.dwarf2/pieces-optimized-out.S
+4807227a78404bfe25ea4ed620308f4d  gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp
+5a0ca561e74fe535ca2082efd56d9ca5  gdb/testsuite/gdb.dwarf2/dw2-restore.exp
+d8f74eed84bde8b6ab217ddf6fb2dc46  gdb/testsuite/gdb.dwarf2/dw2-inline-break.exp
+96d9af8ee0b04c4a4b300247b4f265fc  gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S
+54b14c7dc645d64595148d5375d65eba  gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S
+e5de283fd15fcf1e4e544c429d44bc91  gdb/testsuite/gdb.dwarf2/enum-type.exp
+8a83affa79d44f63904ee3c4854b4227  gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp
+96f70ed255b52a01c0530c400903d039  gdb/testsuite/gdb.dwarf2/fission-loclists.exp
+4a443917dc1db4bb0cfafa88b277e0dc  gdb/testsuite/gdb.dwarf2/dw2-dup-frame.exp
+12dce8fbb0a1342337883baa0117d348  gdb/testsuite/gdb.dwarf2/dw2-intermix.S
+47420cbe5a43ccaf60cd98c110813b4e  gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.exp
+07a27a57d965704671af30f29353bf58  gdb/testsuite/gdb.dwarf2/fission-reread.exp
+e81b3d903dc340d486a95651c8be51cc  gdb/testsuite/gdb.dwarf2/implptr-64bit.S
+2d2dcd4507e1a47cdf6d7868e27575cb  gdb/testsuite/gdb.dwarf2/mac-fileno.S
+7fedeb8b77d004ac088a1dd722b392e2  gdb/testsuite/gdb.dwarf2/pieces-optimized-out.S
 daf7275b48424acdfc659414338f304f  gdb/testsuite/gdb.dwarf2/dw4-sig-types.cc
-3dd96fff7349e6ff584d5ce46341934a  gdb/testsuite/gdb.dwarf2/missing-sig-type.exp
-c8a23b0a1b30ff84f84c52a4189a3d8b  gdb/testsuite/gdb.dwarf2/watch-notconst2.S
-0415953f4164618691734a8dafa23a10  gdb/testsuite/gdb.dwarf2/dw2-error.exp
-d099f850e69393a5e8dc6f47a2facf2f  gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static-main.c
-3a6135ec256ef26e959fe0d96b8f31b7  gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S
-9e1cdfee187b00cdc9af0d72a3f98021  gdb/testsuite/gdb.dwarf2/watch-notconst.c
-532973ea478fb0091d535d3e3161b0bc  gdb/testsuite/gdb.dwarf2/dw2-noloc.exp
-225817a1ac4df0a54658a037db7d37df  gdb/testsuite/gdb.dwarf2/dw2-cu-size.S
-d6c3a2350473e012e41aa502687f254b  gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp
-83149290abc3fc7d7af28041bd267ccc  gdb/testsuite/gdb.dwarf2/method-ptr.cc
-2f139a9fa9f5ce7a4229eca9aba316e8  gdb/testsuite/gdb.dwarf2/dw2-filename.exp
-2adb06f9db63649ee20af3b1b9877eb0  gdb/testsuite/gdb.dwarf2/dw2-restrict.c
-732e1c29bd18447ab2a6a9237c63f356  gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S
-d22fbd64dd5833f7e4a24b7e2325ec1a  gdb/testsuite/gdb.dwarf2/dw2-intermix.exp
-376216654932b83aa60c1e88ea85e75b  gdb/testsuite/gdb.dwarf2/dw2-noloc.S
-32257271a1d5f71fba78a62f8a3b15f5  gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.S
-a60b3dc6be490f5a34d22f4747f98713  gdb/testsuite/gdb.dwarf2/fission-base.c
-42681ff151a1b071ecc391046eb51841  gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S
-15560556f4d34db69b3a98ae2fd8bcb9  gdb/testsuite/gdb.dwarf2/arr-subrange.exp
-cc1be8373107cbf7307c1cbb126e6437  gdb/testsuite/gdb.dwarf2/implptrconst.exp
-2a6b85638110106d40a058d0b6704647  gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp
-c9881bff3ed1b77e261a2843466af4d3  gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.S
-fa36ed015128e24cfb378af4b8bbdc94  gdb/testsuite/gdb.dwarf2/typeddwarf.exp
-bc7bbdf78315643c35d16a13c3a92f2c  gdb/testsuite/gdb.dwarf2/gdb-index.exp
-3888c95739bf37bfe6ee759f83b9b026  gdb/testsuite/gdb.dwarf2/dw2-inline-break.S
-13c5975554de108e9b2a4b651f588c6b  gdb/testsuite/gdb.dwarf2/arr-stride.c
-a07dc64af0ba51ee42b8bada6277260f  gdb/testsuite/gdb.dwarf2/dw2-icycle.S
-66a9ba2456a56616789dd9d1114fb85b  gdb/testsuite/gdb.dwarf2/pieces-optimized-out.c
-ac5a548bd3d300bc5b664cb3f28ab503  gdb/testsuite/gdb.dwarf2/dw2-unresolved.S
-eea597e5eabbc7a3ec81120a7fdc3cb8  gdb/testsuite/gdb.dwarf2/dw2-inline-param.S
-1195355566d8a80b8b045b7c6d952d47  gdb/testsuite/gdb.dwarf2/dwz.exp
-fa6e6711d827b25ca75bb176bf5283e9  gdb/testsuite/gdb.dwarf2/callframecfa.exp
-ea526837f97047cca5611cd7c25df50b  gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c
-58ea26bb7c4fab8db9b86fc6ccfe855a  gdb/testsuite/gdb.dwarf2/dw2-const.exp
-7968597d6ea1f9d76d759dd6d826a6f1  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c
-8e5de7d779df528420a68f3bf788e910  gdb/testsuite/gdb.dwarf2/dw2-unresolved.exp
-64eac5021c14b00edfca2be41d3e98e6  gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.S
-134aed4d396800261408e3c29275857d  gdb/testsuite/gdb.opencl/datatypes.exp
+82416245f787998dd05231301e1a9654  gdb/testsuite/gdb.dwarf2/missing-sig-type.exp
+eb8b3232594ef16f2c620f9cd52e8055  gdb/testsuite/gdb.dwarf2/watch-notconst2.S
+e775b315f617b2d1c18d0da84cd141b9  gdb/testsuite/gdb.dwarf2/dw2-error.exp
+1ae680d78d7d255eb2ea2294d47ce8e3  gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static-main.c
+f167a58d12a72ab23de7c0630118c1b3  gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S
+e1cd1925acc9b285993ecde6ed0f2aad  gdb/testsuite/gdb.dwarf2/watch-notconst.c
+d13d8ff12552675071b3faa33b9b94ff  gdb/testsuite/gdb.dwarf2/dw2-noloc.exp
+41af8351f23e83884eff7d33775e9f3b  gdb/testsuite/gdb.dwarf2/dw2-cu-size.S
+84c96df492b1d5213fc6028dd6006ca5  gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp
+f7cacfd0aa8345f2a97c495f5fc241dc  gdb/testsuite/gdb.dwarf2/method-ptr.cc
+84af28f460f74b797e3affc955170a58  gdb/testsuite/gdb.dwarf2/dw2-filename.exp
+de1f4b7a646bc2585dd8025987071b7d  gdb/testsuite/gdb.dwarf2/dw2-restrict.c
+cac2619fb67c5d6a05165136ab392cfb  gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S
+3f730c3fd5c7e404c1c8a1f80c13783c  gdb/testsuite/gdb.dwarf2/dw2-intermix.exp
+d25cd873f1a55cabd2f4228525dca3fa  gdb/testsuite/gdb.dwarf2/data-loc.exp
+cc0f51c6934a41604c0778d6350021fe  gdb/testsuite/gdb.dwarf2/dw2-noloc.S
+4e4acb01f7b935a56bf41bdcc43cf6f1  gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.S
+368de65d9cf6ccbbae9362b0ec1617d6  gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp
+d5251c1656f96f0abe651cac2cfbc577  gdb/testsuite/gdb.dwarf2/fission-base.c
+3cd0da454b52219349f869200cead4cf  gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S
+db30413c16ec7ec77c5ca3064619703b  gdb/testsuite/gdb.dwarf2/arr-subrange.exp
+cbb5c1d8572231bb98a477c049f9fcba  gdb/testsuite/gdb.dwarf2/implptrconst.exp
+e167f65b0f0fcf084b537cd423a7fa34  gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp
+6af352724a5cf848875fb156ae9da164  gdb/testsuite/gdb.dwarf2/dw2-single-line-discriminators.S
+8597a0db803ce843b604b5605f8e83d5  gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.S
+986cc2924dccb551ac380f3b5642e8da  gdb/testsuite/gdb.dwarf2/dynarr-ptr.c
+3c38e28992d3c9425a793143cdce9d94  gdb/testsuite/gdb.dwarf2/typeddwarf.exp
+a95c63e60ec3140f1247394d35e8a2bf  gdb/testsuite/gdb.dwarf2/gdb-index.exp
+051cb35399916ab4b417d161fd610397  gdb/testsuite/gdb.dwarf2/dw2-inline-break.S
+01fdd28afe00d1e410f61954e541a8a3  gdb/testsuite/gdb.dwarf2/arr-stride.c
+03c2c75f67caf0369dbf71e1e71a0f8e  gdb/testsuite/gdb.dwarf2/dw2-icycle.S
+ed51abdb6c04d0e7c735bf6fb53d3072  gdb/testsuite/gdb.dwarf2/pieces-optimized-out.c
+105fb37924679f8b5f9965d4b77e1665  gdb/testsuite/gdb.dwarf2/dw2-unresolved.S
+5f8a444c3d0f7af2af54cab81699c899  gdb/testsuite/gdb.dwarf2/dw2-inline-param.S
+865d21a815782637b851b5111439773e  gdb/testsuite/gdb.dwarf2/dwz.exp
+81d61a35992e63a0032460614ece5c56  gdb/testsuite/gdb.dwarf2/callframecfa.exp
+e6d11dc0cea31f8bcfbe07a0b1af0a8b  gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c
+b96ab7e4680e392e3377506f5441d72d  gdb/testsuite/gdb.dwarf2/dw2-const.exp
+74a0889dc09ee955010b697131bfa604  gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c
+fdcedd3907afa3ccea88dcbf71428bcd  gdb/testsuite/gdb.dwarf2/dw2-unresolved.exp
+045c275ad69c8984c4629b4d4a0e1adb  gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.S
+f328201cf51be98a0554caf0cd1c8b42  gdb/testsuite/gdb.opencl/datatypes.exp
 2d92fbd9a99d04eef6415ffd6a696316  gdb/testsuite/gdb.opencl/Makefile.in
-707c3eacd4b5e45e0fc0ad03ee6d9e26  gdb/testsuite/gdb.opencl/callfuncs.exp
-54a07b00eb028e9aea968d8f016467fb  gdb/testsuite/gdb.opencl/datatypes.cl
-80eb8ae9ba61c0fb97fd8726365c8fba  gdb/testsuite/gdb.opencl/vec_comps.cl
-f4aa9df0b9f13522b9000e5fcf458aba  gdb/testsuite/gdb.opencl/callfuncs.cl
-4fd49dd3aaa9f7c6a51d7c3ca3e56e1a  gdb/testsuite/gdb.opencl/convs_casts.cl
-03cecef3074fb60e017beec2deb55d1d  gdb/testsuite/gdb.opencl/operators.exp
-f1e2ddff76de4872d2468b5b2e80971b  gdb/testsuite/gdb.opencl/vec_comps.exp
-34d5299ff6ff6f20d8d761c55b984a6e  gdb/testsuite/gdb.opencl/convs_casts.exp
-343299c8a958724dbf37a37f25e3eb91  gdb/testsuite/gdb.opencl/operators.cl
-1effd0ce90c5a2d15e547f0c03aba318  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp
-eeec19780da95f42747ab08d62d74d4f  gdb/testsuite/gdb.reverse/machinestate.c
+7eadb806d28f4c59d34bf33161cfa058  gdb/testsuite/gdb.opencl/callfuncs.exp
+172854382c8a59a659636317664834b4  gdb/testsuite/gdb.opencl/datatypes.cl
+60dc289539b35b333b429170a7ed1d36  gdb/testsuite/gdb.opencl/vec_comps.cl
+58c0d89617da12a2dc831e04bc99ccac  gdb/testsuite/gdb.opencl/callfuncs.cl
+68b3c38e190b19619cdc80097c8d9098  gdb/testsuite/gdb.opencl/convs_casts.cl
+9e8e8b42e00a02a4bad44d68716c0f75  gdb/testsuite/gdb.opencl/operators.exp
+8292595a223d9ea2d948aba36ed41758  gdb/testsuite/gdb.opencl/vec_comps.exp
+322aa91019b2b009cf2bc1fdb1eb937f  gdb/testsuite/gdb.opencl/convs_casts.exp
+472b6e77e7a26d6da92ad974f702a9d6  gdb/testsuite/gdb.opencl/operators.cl
+fdb007115b341b594bf20fa155fc05ae  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp
+0dc6925cfd804e8d96bf72baf2695b20  gdb/testsuite/gdb.reverse/machinestate.c
 5d0857368c33e2992acae395c7353dee  gdb/testsuite/gdb.reverse/Makefile.in
-590c218ddab425a6427f6f4f60a5562c  gdb/testsuite/gdb.reverse/singlejmp-reverse.c
-6a6ffcc47b8ba33cd13e2ba49ec682bf  gdb/testsuite/gdb.reverse/consecutive-reverse.exp
-8146925814097d714e2fb6878944555e  gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S
-75c794ed819d9d20d7403b84f2d67c60  gdb/testsuite/gdb.reverse/rerun-prec.c
-3351a449733f53cf3bbffcd520e230b7  gdb/testsuite/gdb.reverse/sigall-reverse.c
-abbfc33474ff13f74846d4960ed98cf4  gdb/testsuite/gdb.reverse/i386-sse-reverse.exp
-9fe7c9206574793d56bba13ca6d751e9  gdb/testsuite/gdb.reverse/until-reverse.exp
-aac2de0f978a6e350c5ba387f1ac6c19  gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
-d3eca66993c3cbee796db065f2fde061  gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c
-bc3352c74f13f02cc4cb12f0fd87cf9b  gdb/testsuite/gdb.reverse/break-reverse.c
-6e26fa0d034ec6401379556c3279f76f  gdb/testsuite/gdb.reverse/sigall-precsave.exp
-516af04587d22814c1c9fd4d2b099372  gdb/testsuite/gdb.reverse/machinestate-precsave.exp
-3e253039dc0d8b30f123f9f3ca29da64  gdb/testsuite/gdb.reverse/i387-env-reverse.exp
-042c71085756c96c00930cabcbcc311e  gdb/testsuite/gdb.reverse/break-precsave.exp
-f7d92b43bcc60ff7182c29ffde8f24be  gdb/testsuite/gdb.reverse/solib-reverse.exp
-97b3c37621f86b3a9a9d38c802672166  gdb/testsuite/gdb.reverse/shr.h
-a42e280819cf29d46e5787d3e225a8e2  gdb/testsuite/gdb.reverse/solib-reverse.c
-4659331c88328da6738596d6b73654ec  gdb/testsuite/gdb.reverse/singlejmp-reverse.S
-3923e12cf1909db778b0c864f5732031  gdb/testsuite/gdb.reverse/until-reverse.c
-0494ec0205a568f77248939a73168094  gdb/testsuite/gdb.reverse/watch-reverse.c
-785070ed8988aaac4ffec07f8d383bd9  gdb/testsuite/gdb.reverse/machinestate.exp
-ad741d329fa25bc84444a6d1975607b2  gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
-4a5e81754ef25b9297cce687c39788c7  gdb/testsuite/gdb.reverse/step-reverse.exp
-273cd0d98bfde3c8cff35b8cb0faca6b  gdb/testsuite/gdb.reverse/finish-precsave.exp
-9d6b03bd3770a122777a9937ce3e2458  gdb/testsuite/gdb.reverse/i386-sse-reverse.c
-3e679e003f21cf19532477c02e64ea36  gdb/testsuite/gdb.reverse/i386-reverse.exp
-0bd2866c557366febb14927463ce9eaf  gdb/testsuite/gdb.reverse/finish-reverse.c
-7badf2b664da8f0b4863a4475b84f454  gdb/testsuite/gdb.reverse/until-precsave.exp
+9ee64246705df5ec7ec657b0cb3d8ca2  gdb/testsuite/gdb.reverse/singlejmp-reverse.c
+2354ab410db6d19ce37d883b35f16cc1  gdb/testsuite/gdb.reverse/consecutive-reverse.exp
+afaa7edba304b8f001bf8a8cb6b4e08a  gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S
+f038e79555c143a6dc72f3c98185682e  gdb/testsuite/gdb.reverse/rerun-prec.c
+83159840ef92751a8e34a05abf4fe30f  gdb/testsuite/gdb.reverse/sigall-reverse.c
+f74712ea72091c557ffa6e86bd0802ed  gdb/testsuite/gdb.reverse/i386-sse-reverse.exp
+73a40bb8ecfbb85ff9d70bfa9a72036b  gdb/testsuite/gdb.reverse/until-reverse.exp
+412c1ed5f7e6c8ee678526acbd80929b  gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
+ddf172a4caa9eb654720644bb5c0efe4  gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c
+237a59965a5d8b4fda259770ff2d84bc  gdb/testsuite/gdb.reverse/break-reverse.c
+87eafa375079156116f5be98a7c676b6  gdb/testsuite/gdb.reverse/sigall-precsave.exp
+7c187edac5e34ff032b1f9f0b3895448  gdb/testsuite/gdb.reverse/machinestate-precsave.exp
+e5b7ddf6ac175c75605087a89a36a097  gdb/testsuite/gdb.reverse/i387-env-reverse.exp
+ddf3e6fefea312376696535d7dc02e78  gdb/testsuite/gdb.reverse/break-precsave.exp
+7f753e2dfc9acb25faf677890cfb88c0  gdb/testsuite/gdb.reverse/solib-reverse.exp
+5bc31078b9bb5b988d447b274cb16f24  gdb/testsuite/gdb.reverse/shr.h
+6b2415c928cfb7809adc2a235ed39b50  gdb/testsuite/gdb.reverse/solib-reverse.c
+fcd459099cfa535c6596b114c07bf97e  gdb/testsuite/gdb.reverse/singlejmp-reverse.S
+db20adf370772899b11f07a4653f98e9  gdb/testsuite/gdb.reverse/until-reverse.c
+daaf17398a3e03a1620c55437e1c7ea7  gdb/testsuite/gdb.reverse/watch-reverse.c
+a59ec09587e4b0f2d20fb512a53701f1  gdb/testsuite/gdb.reverse/machinestate.exp
+aebb8837710a929bc3a02f99e69362ed  gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
+0497d004204558ab9eab5f120dde6c16  gdb/testsuite/gdb.reverse/step-reverse.exp
+d714a32a63e08bf6d51d92dcf693cfbd  gdb/testsuite/gdb.reverse/finish-precsave.exp
+5c1e57cd0cd758bf063b819da0e0e26b  gdb/testsuite/gdb.reverse/i386-sse-reverse.c
+5c241798071afa7e8100df10ed6cfc0d  gdb/testsuite/gdb.reverse/i386-reverse.exp
+e6a8156260c85bcc683264da9c42c62b  gdb/testsuite/gdb.reverse/finish-reverse.c
+7682f835cec98a4ae963df85785c7bda  gdb/testsuite/gdb.reverse/until-precsave.exp
 3324e2bb106a9b9279ac3127170de20b  gdb/testsuite/gdb.reverse/i387-env-reverse.c
-78db7280974ee92ed72605b59ad8cf3e  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c
-bd544c13371b852debe3d624d0436f86  gdb/testsuite/gdb.reverse/consecutive-precsave.exp
-195c09763fbc81e9f75e9f43dee831fe  gdb/testsuite/gdb.reverse/watch-precsave.exp
-44ced082aeda6829ca078e2d9d8cda9d  gdb/testsuite/gdb.reverse/ms1.c
-fd63ff41dcf861e21bf88b1eb531f740  gdb/testsuite/gdb.reverse/i386-reverse.c
-9c55b1904ae53a46476eb1c9c4a174f0  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S
-4b70bd09e4b65a1124c674bdd23d4112  gdb/testsuite/gdb.reverse/i387-stack-reverse.exp
-b4539292b1daa2fafd4fe1648808f4fb  gdb/testsuite/gdb.reverse/step-precsave.exp
-29d99d2c01f8d24c0c09176f52751c15  gdb/testsuite/gdb.reverse/break-reverse.exp
-0d691b4f759b4de590c026236383b3ea  gdb/testsuite/gdb.reverse/rerun-prec.exp
-6c3ffd35a433ae1ef1c318bffff5cd5f  gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
-7fcf7b12424fa528eeb89c1f4383a852  gdb/testsuite/gdb.reverse/consecutive-reverse.c
-8b3dbc0ad6ccc161d317fb34c1736ca7  gdb/testsuite/gdb.reverse/i386-precsave.exp
-4f2fb0f9abd48d945a79ef2218161fb7  gdb/testsuite/gdb.reverse/finish-reverse.exp
-d0b233927c5e4e2ed37d730ebb74d0c1  gdb/testsuite/gdb.reverse/shr1.c
-4100d724b8d490fcebf1fced5f781b20  gdb/testsuite/gdb.reverse/sigall-reverse.exp
-e8dfe5ba6d9e6c76423df21caa926cf0  gdb/testsuite/gdb.reverse/watch-reverse.exp
-46992bf953a99cecd4af36a5b0a723c4  gdb/testsuite/gdb.reverse/ur1.c
-cbecd62eda82643e503f622c78f6bc06  gdb/testsuite/gdb.reverse/step-reverse.c
-20e5b4844640e1eb549dfdd1c03bd415  gdb/testsuite/gdb.reverse/shr2.c
-4a64db450e50a5c8bc895256cf8bdc13  gdb/testsuite/gdb.reverse/solib-precsave.exp
+67ae986eb02f4d3e2801b757adf76253  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c
+592da662a17a4c4ac4b3f8a36fed85b4  gdb/testsuite/gdb.reverse/consecutive-precsave.exp
+1075af26e5df6fa5338a512ed1f73f3f  gdb/testsuite/gdb.reverse/watch-precsave.exp
+ef37ce19abd5d3ce9db0b4fbca1d478d  gdb/testsuite/gdb.reverse/ms1.c
+96dd84a1bf59bd1383615b6a8386e77e  gdb/testsuite/gdb.reverse/i386-reverse.c
+3ba3572c9439630e115ec8a16464cfb4  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S
+a812290de13a2fdbd4202dec2c895153  gdb/testsuite/gdb.reverse/i387-stack-reverse.exp
+fa1725ab006d8f342da60d0285673d6c  gdb/testsuite/gdb.reverse/step-precsave.exp
+6609e1526eb2e51fa5a73b154aa516c3  gdb/testsuite/gdb.reverse/break-reverse.exp
+3f9ba79b6ff84b41fa6f727bd9545ee5  gdb/testsuite/gdb.reverse/rerun-prec.exp
+742d97756c3561e77ebc9728d6733852  gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
+2f8e32fb9eb122412cf53ac02dda0e3d  gdb/testsuite/gdb.reverse/consecutive-reverse.c
+7b121ef15668fb89ef42bbda9a87cf85  gdb/testsuite/gdb.reverse/i386-precsave.exp
+2ee1d2885ccc1de9666ba8660ad2e6c5  gdb/testsuite/gdb.reverse/finish-reverse.exp
+e358e6e67ef79a4d997f341fd507d865  gdb/testsuite/gdb.reverse/shr1.c
+7417e4da21cb533826b2205c705140de  gdb/testsuite/gdb.reverse/sigall-reverse.exp
+8c0660965debb68877a92ffc003afb66  gdb/testsuite/gdb.reverse/watch-reverse.exp
+83b3d58aa3e1965b4e7a560aa7f346b6  gdb/testsuite/gdb.reverse/ur1.c
+0cf6d11ceeaf359f6d190255b791db57  gdb/testsuite/gdb.reverse/step-reverse.c
+58e0e7012f1894794bedf6952d958d82  gdb/testsuite/gdb.reverse/shr2.c
+4e3ce39920414666d6e2dcf7179f1ae5  gdb/testsuite/gdb.reverse/solib-precsave.exp
 7287898ff83b2ad3153f6f7dcdea751e  gdb/testsuite/gdb.reverse/i387-stack-reverse.c
-7382b48310100bd95567ad9f10d4a2c5  gdb/testsuite/gdb.arch/i386-dr3-watch.exp
-2fc6f661f12be7618aaaa9dea4440ba4  gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp
-14cd6261e6c863484039bf7fd943f5f8  gdb/testsuite/gdb.arch/i386-sse-stack-align.exp
-b34aca3b58bcd435ca6906fad42f722b  gdb/testsuite/gdb.arch/i386-avx512.exp
-3b004eff4372fe7d7dd334f05b1bdbc0  gdb/testsuite/gdb.arch/gdb1558.exp
-db3029147303baafa3418254c0cf2f6b  gdb/testsuite/gdb.arch/amd64-tailcall-noret.S
-98efa32bdb6949e8358c5de04fc67d84  gdb/testsuite/gdb.arch/i386-float.S
-c6b67f5ead605fca639e2d94d5cf9949  gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp
-896ea6bb4debd136cfb7aaee0ae98028  gdb/testsuite/gdb.arch/i386-permbkpt.S
-35ff17bfc341c10dcac456c56ecb47a8  gdb/testsuite/gdb.arch/i386-permbkpt.exp
-a46dc0560b12e8e65af31db76158cd85  gdb/testsuite/gdb.arch/powerpc-prologue.c
-3d25f4b4bb8a9313974d46648a9dc2d4  gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c
-1225f8fb2a3fe64bd1d9330f1898af56  gdb/testsuite/gdb.arch/arm-disp-step.S
-1b18f6e4a85165ce69772af418f7be98  gdb/testsuite/gdb.arch/powerpc-power.s
-6fe6212ddede48cf200b62dbf610a594  gdb/testsuite/gdb.arch/i386-dr3-watch.c
+4f672c41eb2f0e791e0b448261376876  gdb/testsuite/gdb.arch/i386-dr3-watch.exp
+6ebdc68c7e74e9a0d5263075f4dc82e0  gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp
+d6ba847f242a917a32a33f7da217f249  gdb/testsuite/gdb.arch/i386-sse-stack-align.exp
+5e2c205b5364e88be8418ebf0bbdae76  gdb/testsuite/gdb.arch/i386-avx512.exp
+834c43e0d9d8c88504b042b05b6574fc  gdb/testsuite/gdb.arch/gdb1558.exp
+0bd77d903823dc3fa60c7ec371144eeb  gdb/testsuite/gdb.arch/amd64-tailcall-noret.S
+5bd1a794677897dd8f859c62a4515f8f  gdb/testsuite/gdb.arch/i386-float.S
+9a536a0d73c9a63a7633cb689f06a85a  gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp
+b93c0095c24c3ccf666dccbeeb977be0  gdb/testsuite/gdb.arch/i386-permbkpt.S
+39670cf82b3c3c5f5d252d1c93953fd5  gdb/testsuite/gdb.arch/i386-permbkpt.exp
+b9b5c78d6f2147337f32c40eb38dc822  gdb/testsuite/gdb.arch/powerpc-prologue.c
+2f6099d0ec2953ef0dfea772c60cbf37  gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.c
+54820f466f639d854b3731dc887ca5eb  gdb/testsuite/gdb.arch/arm-disp-step.S
+67e070aa5a5c24ddd425c98c029fc19a  gdb/testsuite/gdb.arch/i386-bp_permanent.c
+01facdf3f3bc70c3d46f96352cb5a253  gdb/testsuite/gdb.arch/powerpc-power.s
+8e3ddbcac53b9b38df03f974e4c26882  gdb/testsuite/gdb.arch/i386-dr3-watch.c
 7e15fe36f59b8e04c5fb0265a6950c3e  gdb/testsuite/gdb.arch/pa-nullify.s
 ea859e3b0bad8c6157c57233464f6bfc  gdb/testsuite/gdb.arch/Makefile.in
-dec2fe6043a947b3eb157b80dd2d891c  gdb/testsuite/gdb.arch/i386-size-overlap.exp
-3a3e23993ef833156c08f35fd95ef109  gdb/testsuite/gdb.arch/thumb-bx-pc.exp
-ba0cf53317eb7a69ad2ed4d7699a5e56  gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S
+1ea24434477b32aa6ca7bd93f9aa49d3  gdb/testsuite/gdb.arch/i386-size-overlap.exp
+3f3acf7c123afb6c72e328d470cc1067  gdb/testsuite/gdb.arch/thumb-bx-pc.exp
+4cfd40ab3e39a908f2181c56a78daa43  gdb/testsuite/gdb.arch/amd64-entry-value-paramref.S
 a4b44663a9c9d2ac554ea371750489cf  gdb/testsuite/gdb.arch/altivec-regs.c
-ba57b7d0bbeb96f19cd43b90613874d3  gdb/testsuite/gdb.arch/mips16-thunks-inmain.c
+3b73c835f41770e9ea5652cf4d0a4395  gdb/testsuite/gdb.arch/mips16-thunks-inmain.c
 fcd0dd3432e917999e1b351b9467f52f  gdb/testsuite/gdb.arch/e500-regs.c
-c96918daa16d6cc84acb6159697f5121  gdb/testsuite/gdb.arch/amd64-tailcall-noret.c
-0075c58ff9e0947bd72f307ce931897d  gdb/testsuite/gdb.arch/gdb1291.exp
-ba26cefec1c3cf1cdf8cfd963db14bc2  gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp
-eb41efc04b6c254233e492dccdac13e7  gdb/testsuite/gdb.arch/gdb1558.c
-49e12121e943f075cd7799275030b558  gdb/testsuite/gdb.arch/i386-sse-stack-align.S
-72ff77d1824111c0c75fcb8cb5902821  gdb/testsuite/gdb.arch/i386-avx.c
-bdd1adf3aedc7d59a5a1c9deb091abf9  gdb/testsuite/gdb.arch/spu-info.c
-923af8a707344dbd2c417b8af94ff827  gdb/testsuite/gdb.arch/i386-unwind.c
-0545c384dd1d3a1f74206bdfe9453859  gdb/testsuite/gdb.arch/ppc-fp.exp
-fb493f87438cba8c0a5dbfe0bd4303d3  gdb/testsuite/gdb.arch/gdb1431.s
-83417968585e66ec237e522a4f6beafc  gdb/testsuite/gdb.arch/amd64-entry-value-param.c
-96dffa4d2059956acb1e1803d1806c67  gdb/testsuite/gdb.arch/i386-unwind.exp
-5eaa7601bf7e3ed77e3d40d0e1531631  gdb/testsuite/gdb.arch/mips16-thunks.exp
-5deab1b16726b26fa0bba3a6af3541e7  gdb/testsuite/gdb.arch/thumb-singlestep.S
-9906adcd739da2fbb25ad0655e2f8841  gdb/testsuite/gdb.arch/gdb1431.exp
-b062c656593614c39624435825b64dec  gdb/testsuite/gdb.arch/gdb1291.s
-9cc125a85096c637e309fa3f3be81842  gdb/testsuite/gdb.arch/amd64-entry-value-inline.S
-9c0cdd33bf1cd28a42796654a739f7d9  gdb/testsuite/gdb.arch/altivec-regs.exp
-007466ad934f10b6fb74bf497133a0ce  gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S
+d5c607ba5c46b0d66e9c5002c72bffd9  gdb/testsuite/gdb.arch/amd64-tailcall-noret.c
+ec5665fc33f9cb5f45f36f7206434477  gdb/testsuite/gdb.arch/gdb1291.exp
+5a662857eb553c9732f3cb96066a679e  gdb/testsuite/gdb.arch/amd64-stap-special-operands.exp
+9b5a5921bba132ee4d27ad7654c3fe15  gdb/testsuite/gdb.arch/gdb1558.c
+be6770d3ffbe93c9d2655c353d473c28  gdb/testsuite/gdb.arch/powerpc-stackless.S
+5d78f95e738b148434fa3f74d72594b6  gdb/testsuite/gdb.arch/i386-sse-stack-align.S
+2ff3742c3f86755ba62f434855c050ff  gdb/testsuite/gdb.arch/i386-avx.c
+9d8ad2584c3d54ace0635c8e163d3cce  gdb/testsuite/gdb.arch/spu-info.c
+83f2e7cf3e19a5d21806b49bc67ab760  gdb/testsuite/gdb.arch/i386-unwind.c
+d8c97737aaa6b39f3ad73594224a40d4  gdb/testsuite/gdb.arch/ppc-fp.exp
+a3c4e413cd588bdfd1a718a8cce1996e  gdb/testsuite/gdb.arch/gdb1431.s
+0b9cd546355cef45f1aa6d53d0955f41  gdb/testsuite/gdb.arch/amd64-entry-value-param.c
+185c5abf570fb38dfd748bf0c5c4f1bb  gdb/testsuite/gdb.arch/i386-unwind.exp
+7f542cbbb283778dcc6fd9d0f0931d3f  gdb/testsuite/gdb.arch/mips16-thunks.exp
+28faf64157d77553b7c506c036ecc967  gdb/testsuite/gdb.arch/avr-flash-qualifier.c
+761719849b00c4c43a3b09da7110dc58  gdb/testsuite/gdb.arch/thumb-singlestep.S
+b83238089f1d8984d10e9a14be7842ce  gdb/testsuite/gdb.arch/gdb1431.exp
+58891c6f3482836b5952a188b25bf79f  gdb/testsuite/gdb.arch/gdb1291.s
+3b5bc7229cf2d4be76e25400d1a0eb54  gdb/testsuite/gdb.arch/amd64-entry-value-inline.S
+d94fd497823927148fb66d1d3190b642  gdb/testsuite/gdb.arch/altivec-regs.exp
+c7ab6a07bf4db41e2e5227e943cf7e17  gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S
 3d59210243b5b8811b386cdba894b522  gdb/testsuite/gdb.arch/vsx-regs.c
-63187eca461ea9a764a9f6aa9348d1a6  gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp
-b985bd62f4ca74c76a8f865de75d7386  gdb/testsuite/gdb.arch/thumb2-it.exp
-fc07fea5dfac1ad864cd950047615606  gdb/testsuite/gdb.arch/mips16-thunks-sinfrob.c
-c86d7147c8900b8ab1b774bf9da4ea0d  gdb/testsuite/gdb.arch/powerpc-aix-prologue.c
-a201d6dfd2b0332bcab453b2151691fc  gdb/testsuite/gdb.arch/amd64-optimout-repeat.S
-7a7207dc9aa27f81c44cbc52e3995eba  gdb/testsuite/gdb.arch/amd64-stap-triplet.c
-83d53bbe4a58ba5fb1c6f92c1e745c2a  gdb/testsuite/gdb.arch/amd64-entry-value.exp
-5086015dd2a5171d12d2a99cde795af3  gdb/testsuite/gdb.arch/e500-prologue.exp
-ced5250270207254430583da83778418  gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c
+a7d56b980885c6ccfb27df8ce01da94f  gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp
+92a4a0f572470b8f1dbeecf46ed882d8  gdb/testsuite/gdb.arch/thumb2-it.exp
+369178d2bd69b73c51488c65832e55be  gdb/testsuite/gdb.arch/mips16-thunks-sinfrob.c
+fc612bf330a7a42cb889114dba1f4daf  gdb/testsuite/gdb.arch/powerpc-aix-prologue.c
+57b43505795d8ae1bfc9fbdc446cd477  gdb/testsuite/gdb.arch/amd64-optimout-repeat.S
+39f30817e3d83ec0c0525bf43feaacb4  gdb/testsuite/gdb.arch/amd64-stap-triplet.c
+07b730fb7e04f64d281b4b4917652004  gdb/testsuite/gdb.arch/amd64-entry-value.exp
+1a554377e3aa43f9bf6b93c205aa00a5  gdb/testsuite/gdb.arch/e500-prologue.exp
+448c6561cbe77c6b3da413380833ae5a  gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c
 bd7cf5e96e9e308cc39648c6ce20d498  gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.S
-bf99dcb6cb88b89725ac33d862ac71dd  gdb/testsuite/gdb.arch/ppc64-atomic-inst.S
-3695aff8c570dbec81c062e825cfc471  gdb/testsuite/gdb.arch/i386-size-overlap.c
-7279498569ecefd3958c8c87c2900792  gdb/testsuite/gdb.arch/i386-gnu-cfi.exp
-076407538366dfa82358b15740590792  gdb/testsuite/gdb.arch/i386-sse-stack-align.c
-978d0f46f53bbc9f0072920adbe41d81  gdb/testsuite/gdb.arch/spu-ls.exp
-2696d1a90a67504345acd5ee93ff9be2  gdb/testsuite/gdb.arch/i386-sse.exp
+4bf86195ad67993aeb9da92be12bcc85  gdb/testsuite/gdb.arch/ppc64-atomic-inst.S
+cd8a00a8e3a271674ed1a17db07eb642  gdb/testsuite/gdb.arch/i386-size-overlap.c
+5da5b1ad5ef43800b9dbcf0e785c6181  gdb/testsuite/gdb.arch/i386-gnu-cfi.exp
+fd7e9008b8c922b169ab21a9d507be36  gdb/testsuite/gdb.arch/i386-sse-stack-align.c
+692f4101549f3eadd01ca0b3e0873d6d  gdb/testsuite/gdb.arch/spu-ls.exp
+63816047437ef615f60265598f582c76  gdb/testsuite/gdb.arch/i386-sse.exp
 19d5d7507bce76e9ca88070248830a61  gdb/testsuite/gdb.arch/altivec-abi.c
-c2d867bbfaccc62c291c813463d3befc  gdb/testsuite/gdb.arch/amd64-tailcall-ret.c
-2d6f954f6908688adfe43dc485f015ff  gdb/testsuite/gdb.arch/i386-bp_permanent.exp
+10d7b1a3ad07b0e09b2eeb11dd033571  gdb/testsuite/gdb.arch/amd64-tailcall-ret.c
+6642eb5a9289603e785a433f2e1a21c9  gdb/testsuite/gdb.arch/i386-bp_permanent.exp
 11389013dfeba005022a1d910728c9d7  gdb/testsuite/gdb.arch/e500-abi.c
-82ae5bc307d283aa2c55c59126acebfd  gdb/testsuite/gdb.arch/i386-byte.exp
-26b026f66749a2398f880b102a4e0bda  gdb/testsuite/gdb.arch/i386-prologue.exp
-88fa9a524f0654ca90ce271ed7b8b7fc  gdb/testsuite/gdb.arch/i386-signal.exp
-7fe54016d814c0c5c7284edc6358fda4  gdb/testsuite/gdb.arch/i386-disp-step.S
-2390572f500b2ae4844ff3793e8900f9  gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.S
-7f7ef44f1607f6f5eccb3186f874ef70  gdb/testsuite/gdb.arch/amd64-entry-value-param.S
-120c1e24111fa84c5b52791fe10f3548  gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
-b8945c0d8a692b2ade2b68f97cd8ffa0  gdb/testsuite/gdb.arch/mips16-thunks-sinfrob16.c
-461f3f1b6059b05d9fa5d8b256c88f9b  gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp
-f5394e018317a4974b9f1985c1ab9547  gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc
-337978a1c699ce20ba8dc0ec9ac5220a  gdb/testsuite/gdb.arch/thumb-singlestep.exp
-8491ea86760b8aa617c54c113691bf25  gdb/testsuite/gdb.arch/iwmmxt-regs.exp
-c79b572e31b61396423b3bc806b22137  gdb/testsuite/gdb.arch/i386-avx512.c
-08595390b54ea73e5f62a17d5f9d7cde  gdb/testsuite/gdb.arch/spu-info.exp
-a4bd0f790010e4fbc6bb7edefdbe607f  gdb/testsuite/gdb.arch/amd64-pseudo.c
-09cea64b1ad936694cf162003d4912ff  gdb/testsuite/gdb.arch/thumb2-it.S
-847fc4e11efb7adc7c75670f103ac80d  gdb/testsuite/gdb.arch/i386-cfi-notcurrent.exp
-3e30a2611cc038e050a337d55251e09f  gdb/testsuite/gdb.arch/thumb-prologue.c
-5a034c27b797232068ee4621fddf0d0f  gdb/testsuite/gdb.arch/e500-regs.exp
-c608c6b7c3e7a6d1cb8608cd2490bf9b  gdb/testsuite/gdb.arch/ppc-dfp.exp
-6d21a80fb009b23af8805fca59f4ad5b  gdb/testsuite/gdb.arch/s390-tdbregs.c
-7900e559d91ae24c0aa23fc0df9ea1e7  gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp
-57a63f852aa94d3ab7a10035a3da0387  gdb/testsuite/gdb.arch/spu-ls.c
-5cd4f1c1619e608c0be2195c03e8ce7a  gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp
-90d272b7fbe90d7b0753bb0d5c9f8811  gdb/testsuite/gdb.arch/amd64-byte.exp
-af51f9324758137d9269251f53531ba1  gdb/testsuite/gdb.arch/i386-size.exp
-9dd6d66f850e57e3d755c23e5df6af39  gdb/testsuite/gdb.arch/powerpc-prologue.exp
-9c1e240547887211f13e12b5a333c866  gdb/testsuite/gdb.arch/amd64-dword.exp
-e4227921b2c5f22ae6f3d19092a3174d  gdb/testsuite/gdb.arch/arm-bl-branch-dest.c
-b1bbacbfcb1aaabcb6b7c968b00b2252  gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S
-f30dacf764276040bbf5abf30b654e42  gdb/testsuite/gdb.arch/i386-size.c
-8c1cca5fe967cc8ce707ee055d1797bd  gdb/testsuite/gdb.arch/ppc-dfp.c
-1f30b1cd296361548d1dfcc2a0cf7c58  gdb/testsuite/gdb.arch/s390-tdbregs.exp
-c7dd14c56720cb2d90d8926b6a583508  gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
-8869f21444cbdd52880b59431588076c  gdb/testsuite/gdb.arch/amd64-word.exp
-3b9af8fe08f37bc817006258e65203b7  gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c
+bd9121b002a9894dff40216dab0cb85b  gdb/testsuite/gdb.arch/i386-byte.exp
+9123d05165cf8fde729ef946988dba71  gdb/testsuite/gdb.arch/i386-prologue.exp
+84f932547999701836396c7d29f95da6  gdb/testsuite/gdb.arch/i386-signal.exp
+4f24880e6075f12f8f2b6ad09873e37e  gdb/testsuite/gdb.arch/i386-disp-step.S
+e4ff73056051f556bd3ff922187c33ae  gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.S
+5e37b4d1384a8c7a6f98e63905d32425  gdb/testsuite/gdb.arch/amd64-entry-value-param.S
+15659d1d75cee8edd245db7663c50b23  gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
+b76cacb4493ad4796bf6469fa5c8100c  gdb/testsuite/gdb.arch/mips16-thunks-sinfrob16.c
+a499e0062b0a9b756b1b96a2b04f1ee1  gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp
+05e0aac77c3dd0b99f2a0012cde3c6c1  gdb/testsuite/gdb.arch/amd64-entry-value-paramref.cc
+81aa8a9d1fa9a1d58f1aaf95e637439f  gdb/testsuite/gdb.arch/thumb-singlestep.exp
+af196ffd9c400e47e9353e57cec36df9  gdb/testsuite/gdb.arch/iwmmxt-regs.exp
+5f1bb78f94e35309e31f3d397b7d2a5f  gdb/testsuite/gdb.arch/i386-avx512.c
+7672325aceace0b9ec521cf43b17f329  gdb/testsuite/gdb.arch/spu-info.exp
+280ff3c21299532c38fd26cc09893fe9  gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S
+3d97624ea080899170a57f6ecd97df0a  gdb/testsuite/gdb.arch/amd64-pseudo.c
+9ae54bdc4498aff19840568b0f0da947  gdb/testsuite/gdb.arch/thumb2-it.S
+c7ea87e06fb844375f2ed097677e2eca  gdb/testsuite/gdb.arch/i386-cfi-notcurrent.exp
+fe78bcddd945a8fb11b6c7b6cda240aa  gdb/testsuite/gdb.arch/thumb-prologue.c
+de1829775715a181ac71f7cf32f5f003  gdb/testsuite/gdb.arch/e500-regs.exp
+636e906178a19eebd2699a9eefa12e3a  gdb/testsuite/gdb.arch/ppc-dfp.exp
+0ca7c638bb32cf383bc862da85e1b42d  gdb/testsuite/gdb.arch/s390-tdbregs.c
+b957ba9f4ffa33547ce1059427da8d91  gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp
+ffa142a26e18d0866b2e84f33d0f5c46  gdb/testsuite/gdb.arch/spu-ls.c
+fec6ea63d82b8c05cbd268b25b5b5434  gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp
+f4b4293c61bed63e444070a8df33020e  gdb/testsuite/gdb.arch/amd64-byte.exp
+0394c21becbaa1d0ec58273202fc887d  gdb/testsuite/gdb.arch/i386-size.exp
+4120fc6951e59c0bf8e3200e6b7331dd  gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp
+c51284ea07040afb734a3761ab26a43d  gdb/testsuite/gdb.arch/powerpc-prologue.exp
+b9becfc4184b32bf3e753a8de64f2ba7  gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S
+b41bfa0bc27f2a4d5e786808ffb985da  gdb/testsuite/gdb.arch/amd64-dword.exp
+daab34fe80eeb15746aaa0ebfa8857ba  gdb/testsuite/gdb.arch/avr-flash-qualifier.exp
+379e6e16abf0e2aa18841bf1e9c5330d  gdb/testsuite/gdb.arch/arm-bl-branch-dest.c
+0076b076756126fb33ff1d85f454c5a4  gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S
+c5a5f3dfcc3e5013e28d3fc4e511dec6  gdb/testsuite/gdb.arch/i386-size.c
+713d4d77e1a3963afa3765f5642cb08b  gdb/testsuite/gdb.arch/ppc-dfp.c
+625b3e1d84e4c3aabe1f31370a783e6d  gdb/testsuite/gdb.arch/s390-tdbregs.exp
+20884074651c8e81f2c67a7f41f74864  gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
+c108cfab3560ce952a316dd6acb183a3  gdb/testsuite/gdb.arch/amd64-word.exp
+47fee42472bf3e497c745675dca9ddb0  gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c
 5fb2eaef8fa3678d2f93e1b0c7c65be6  gdb/testsuite/gdb.arch/pa64-nullify.s
-8d3a36ff7f368c7b8968f2b92bc051e9  gdb/testsuite/gdb.arch/amd64-i386-address.S
-f104dfbdf05e691709389d5fcdfa65ca  gdb/testsuite/gdb.arch/powerpc-power.exp
-1eef0bd5430c37189a81c296b47a8802  gdb/testsuite/gdb.arch/mips16-thunks-sin.c
-fc1e93873135c442b5b36692161b227d  gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c
-d2e667285633b12bc77ae630ce470446  gdb/testsuite/gdb.arch/i386-float.exp
-42252fb2ce4f638eabab983ff5a4b093  gdb/testsuite/gdb.arch/i386-gnu-cfi.c
-4840ab39a72501bcd37e46c477aa3b21  gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.S
-81a1af0ba14f0a5f313b961124096e13  gdb/testsuite/gdb.arch/i386-mpx.c
-cf0375def61971c611c7cca5949243df  gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp
-67b25c768937ab037a8b218c84cea1dd  gdb/testsuite/gdb.arch/amd64-entry-value-inline.c
-0f917090aeb1ab2907f529338c8013b3  gdb/testsuite/gdb.arch/i386-word.exp
-010ba013200c2b36e8b36128639a9be1  gdb/testsuite/gdb.arch/pa-nullify.exp
-a73eb3fedc6486b1c4090b8ad3140b10  gdb/testsuite/gdb.arch/amd64-disp-step.exp
-ae809660aa0bdd33061ef55e294dd43d  gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp
-0d1be1fe9892055f66c5f4c97e626d74  gdb/testsuite/gdb.arch/e500-prologue.c
-b51dd5a76a1892d48b6267ffdffccd4b  gdb/testsuite/gdb.arch/i386-avx.exp
-008a29d8b6af32eb7840aae21b696a77  gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp
-84cb6004c396ac42e12406d8d58dddac  gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp
+2c1742b36ea87207b61aeff74da0ae39  gdb/testsuite/gdb.arch/amd64-i386-address.S
+e615b52638b2cdfa67d94bee2e0efba8  gdb/testsuite/gdb.arch/powerpc-power.exp
+35686428d132a5510dd19f8068e824b3  gdb/testsuite/gdb.arch/mips16-thunks-sin.c
+d8abc5290b4fdf49cb6ce3ccf44959b5  gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c
+7d59536c2a6402818bd64579b1e5e386  gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c
+40c40163daf4ae3792bcaae38e0a22d7  gdb/testsuite/gdb.arch/i386-float.exp
+874ed0e6f156c54b7cf763bcfd47f67b  gdb/testsuite/gdb.arch/aarch64-fp.c
+5f22fdfdb6ce61110881d566a186523c  gdb/testsuite/gdb.arch/i386-gnu-cfi.c
+369c2f140ec9b4d45ccb6f41badaa6dd  gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.S
+c64b66433fb44eb4c96595d2a709a774  gdb/testsuite/gdb.arch/i386-mpx.c
+822c602808060b4edfbd98ec90718d92  gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp
+15d9925236920667b8a73512243bf1b9  gdb/testsuite/gdb.arch/amd64-entry-value-inline.c
+9f52f2dff6b91b8485f30da24ccf6bd9  gdb/testsuite/gdb.arch/i386-word.exp
+50fe203747d4c1f5399c45fa49889d6a  gdb/testsuite/gdb.arch/pa-nullify.exp
+13905994f8e57fafc0fd13e433b9dce6  gdb/testsuite/gdb.arch/amd64-disp-step.exp
+feae1699c4a32d64ebfa0b0b219b84f7  gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp
+53c98d1355924aa62ad7abb9d159860c  gdb/testsuite/gdb.arch/e500-prologue.c
+f045ef640ba01fd269eb1ba3bbd029e1  gdb/testsuite/gdb.arch/i386-avx.exp
+0c3ce17e51a352eb7d7ed4b7b8395588  gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp
+804eeafc9e2e9026c9d5b4f36f8d7ebc  gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp
 278442ba4a9506eea4d650ffb7ce6b4d  gdb/testsuite/gdb.arch/mips-octeon-bbit.c
-86987add1a40fc27d38c084a5486faf8  gdb/testsuite/gdb.arch/powerpc-d128-regs.c
-ee3066a8dd455b3024170fcc4de8c78b  gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
-a446d21c11132707ad56b1b6006d1999  gdb/testsuite/gdb.arch/alpha-step.exp
-c799bd1f5fef90091119b2a21e46d92c  gdb/testsuite/gdb.arch/amd64-i386-address.exp
-b43b8aaeb09da57b06007933393a557a  gdb/testsuite/gdb.arch/ppc-fp.c
-7ff00f909515e8ebde695d85ad816df6  gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc
-cc2b310c8908edc7609cca79bc27dab4  gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.S
-7025677399bf31bf0d744c9e277306e3  gdb/testsuite/gdb.arch/amd64-prologue-xmm.s
-056de94da42a75ef49b0b5c9663f3e8a  gdb/testsuite/gdb.arch/s390-multiarch.exp
-5c4b2b257932e19e365a66d3b8f534c8  gdb/testsuite/gdb.arch/thumb-prologue.exp
-ec0a7da46130d1a75092bcf5323d22e8  gdb/testsuite/gdb.arch/i386-sse.c
-0713ad76ee2a1564facfde651d01ec4e  gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S
-c149313143c834263dc5ae171cff7704  gdb/testsuite/gdb.arch/amd64-tailcall-ret.S
-02f87a28b784a07d344fc1662c17b4bf  gdb/testsuite/gdb.arch/amd64-prologue-xmm.c
-6935855babdaf02b190c5033aea711a1  gdb/testsuite/gdb.arch/arm-disp-step.exp
-9c40991591458f44686282fa59a7b3e6  gdb/testsuite/gdb.arch/aarch64-atomic-inst.c
-523bd4230986973694c220fe719aed9f  gdb/testsuite/gdb.arch/alpha-step.c
-e5760ef8165bf0ace6718580aa501cf0  gdb/testsuite/gdb.arch/mips16-thunks-main.c
-2e36b549fc8fb680f924b9ef0e288b63  gdb/testsuite/gdb.arch/i386-prologue.c
-238a1386be5951d4ccb3c15d73b4b2c8  gdb/testsuite/gdb.arch/sparc-sysstep.exp
-8b420d21e8870b6c8ec2b77258e43e81  gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp
-73f6b859e3fb2affdc563bacb7d0fe23  gdb/testsuite/gdb.arch/s390-multiarch.c
-03d143622dd36b661aa0003ed9d92719  gdb/testsuite/gdb.arch/altivec-abi.exp
-4822682190453ce8b925717bfa53f716  gdb/testsuite/gdb.arch/mips-octeon-bbit.exp
-6f77e8d44392246ba8ce602f60361aa3  gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
-b1f077fd36bf8c44da38b131b61c6455  gdb/testsuite/gdb.arch/i386-disp-step.exp
-31aed623ba633cac4ff9516f54c238be  gdb/testsuite/gdb.arch/i386-pseudo.c
-fca448e00eb5d7dada8ea0a988f9ba8c  gdb/testsuite/gdb.arch/sparc-sysstep.c
-0d2954272bc04aa78424ffe2a4fd6cb5  gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
-dc098e12e84c07f4d5e604734f270c08  gdb/testsuite/gdb.arch/i386-mpx.exp
-41e04cc1e8f629d6ccca6295675231a3  gdb/testsuite/gdb.arch/amd64-entry-value.cc
-f3c51eca15e0d24bcb556c46f2d0e369  gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp
-bc7ceac32fa2e482c4e7c5f2511490a6  gdb/testsuite/gdb.arch/e500-abi.exp
-18c22c4bd0f27a7353780ef74f72f00e  gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.S
-2b2fc92725d4214ec5baa6754f0b1e01  gdb/testsuite/gdb.arch/i386-signal.c
-00d7c3bb996454b4976af24c51e7945c  gdb/testsuite/gdb.arch/iwmmxt-regs.c
-76fd13777cad64283a2207af527c14cf  gdb/testsuite/gdb.arch/amd64-entry-value.s
-e4a565dc7a5755f5c8eed19a1cf1e56c  gdb/testsuite/gdb.arch/amd64-stap-triplet.S
-0ec0a80d5709726695cd1e8a5e95dc49  gdb/testsuite/gdb.arch/amd64-disp-step.S
-7184e85e566bf5cfd9b53457d7edaaeb  gdb/testsuite/gdb.arch/thumb-bx-pc.S
-b8178c8608fa093aee30bb104129ea4e  gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.cc
-b6c24da9d9644171a1597e168cac4a93  gdb/testsuite/gdb.arch/amd64-optimout-repeat.c
-27fe288d7ce61f52d0088231f1d9226f  gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c
-1f0ee92db11ed83d7a6362276cf42120  gdb/testsuite/gdb.arch/vsx-regs.exp
-7928affae5f6e5b0d571b34a34dd930d  gdb/testsuite/lib/cl_util.h
-9a0bc94327500111f84973171557b1d6  gdb/testsuite/lib/fortran.exp
-a5ec91375567bf288556c610ace6bde1  gdb/testsuite/lib/objc.exp
-a2df9545498bcdd12bb2b153520861fb  gdb/testsuite/lib/java.exp
-cdb6a731d505831e8ed0a5873fd28cd4  gdb/testsuite/lib/dwarf.exp
-33b4818b4df1523ce1f7305563b6c996  gdb/testsuite/lib/gdb-guile.exp
-002493353ecd7809f6602a0bec162ead  gdb/testsuite/lib/cache.exp
-b01aa7896f14cb17f8e42d1f8c45fe2f  gdb/testsuite/lib/gdb-utils.exp
-3616777886fa11cf5219cfb35d655ef2  gdb/testsuite/lib/cp-support.exp
-3e1b510db7dbd868f89c718b1f840fa9  gdb/testsuite/lib/go.exp
-4d87c9a0ca0201d247ed8748fc176f83  gdb/testsuite/lib/cell.exp
-8cc4b489f55f692d4c6af7d5e2daec25  gdb/testsuite/lib/gdb-python.exp
-40dc73df8ce8c91305e03848e0b67366  gdb/testsuite/lib/gdbserver-support.exp
-1f230902c7c21cb2a5f451c53acd0b62  gdb/testsuite/lib/prompt.exp
-a4005f3742943f3916eac94bbc94f96f  gdb/testsuite/lib/future.exp
-95f80085cf4f3e6c5ee5575a3c2bdc58  gdb/testsuite/lib/trace-support.exp
-8ea60f033dabad78d4caf75be1fdf840  gdb/testsuite/lib/selftest-support.exp
-9820e6180f0de314ed5484f26aa97dd2  gdb/testsuite/lib/mi-support.exp
-1b7634e9954c1b3d745e71085eb85faf  gdb/testsuite/lib/ada.exp
+44f6050ab441db62aab4dc9431db04df  gdb/testsuite/gdb.arch/powerpc-d128-regs.c
+cc119be00aa541c5a9fe4b9a15a862a7  gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp
+c5bad5027b5a27ff930c1ec9885235b7  gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
+57b9b19d0d9219e088f70c36f0feae99  gdb/testsuite/gdb.arch/alpha-step.exp
+09a17beca2fd7197a2d4728ec0dc056e  gdb/testsuite/gdb.arch/amd64-i386-address.exp
+731b0205120bebfb9804c0b70ec13f0e  gdb/testsuite/gdb.arch/ppc-fp.c
+4af6def42dd8b3aca42f374b427748fc  gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc
+b401fe339355377d867521d89e4e9b30  gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.S
+d685501ccbd482ec389b77cacd1478dd  gdb/testsuite/gdb.arch/amd64-prologue-xmm.s
+68e9325c9926e497df54f4069b0670b6  gdb/testsuite/gdb.arch/s390-multiarch.exp
+796b1dbc185fb82ee58ffb54d0304a2d  gdb/testsuite/gdb.arch/thumb-prologue.exp
+06fe0c62cc48761eecc1c97bb7499094  gdb/testsuite/gdb.arch/i386-sse.c
+74a904e220f0ecabf06541814d883b60  gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S
+51471555766015ede153d1b0b883fff9  gdb/testsuite/gdb.arch/amd64-tailcall-ret.S
+d97b018b49d16960066c765c64283e55  gdb/testsuite/gdb.arch/amd64-prologue-xmm.c
+e0d89973cd40419979261f3eda15f378  gdb/testsuite/gdb.arch/arm-disp-step.exp
+ff30673cac30bee49a927ce2b56ae194  gdb/testsuite/gdb.arch/aarch64-atomic-inst.c
+31c3e542e60fbf48cf1900a827bca053  gdb/testsuite/gdb.arch/alpha-step.c
+9ba4ab1f3f655567eeef0801d404efdd  gdb/testsuite/gdb.arch/mips16-thunks-main.c
+9786e55271195109dca20217c974bef5  gdb/testsuite/gdb.arch/i386-prologue.c
+3dc415c2db5cdffd041b6d900dd6159a  gdb/testsuite/gdb.arch/sparc-sysstep.exp
+82ff991fe69c975cadd933ebdb01de02  gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp
+f0543b1467f45ac1c63bbc47dc6ce719  gdb/testsuite/gdb.arch/s390-multiarch.c
+804fc5f7a8905b649bba091bd0d255a8  gdb/testsuite/gdb.arch/altivec-abi.exp
+d429a3a36ba71139a758d9c320052cb0  gdb/testsuite/gdb.arch/mips-octeon-bbit.exp
+d5a1af11fe8158062e43aa8166efecc1  gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
+eeb5ea9fc84ea8ebe9c6296adb89518a  gdb/testsuite/gdb.arch/i386-disp-step.exp
+d2afb516fd98cbbd0b3a8a5a5e64bb2d  gdb/testsuite/gdb.arch/i386-pseudo.c
+b27dc7bb53fac7cdcd1aedb7ef45acf6  gdb/testsuite/gdb.arch/sparc-sysstep.c
+f772d0ba43d2495e451d867a21dfd39a  gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
+5fdad645e4612a8450afa674f9eaa005  gdb/testsuite/gdb.arch/i386-mpx.exp
+5e51e20973335dc6c04b0207c4a0002d  gdb/testsuite/gdb.arch/amd64-entry-value.cc
+0bf7cde6615b61fc3dcc1d932ab6ee64  gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp
+8253b72b9302010e8c9725f6e884bbb0  gdb/testsuite/gdb.arch/e500-abi.exp
+1760a4af6445a38fb24687b1318c0142  gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.S
+29ba55115de09c133e7accfd37be765e  gdb/testsuite/gdb.arch/aarch64-fp.exp
+03284c57dc6b89eb10b405aab07b6cc6  gdb/testsuite/gdb.arch/powerpc-stackless.exp
+c0c87dd7328e030613413ea86dd3cacc  gdb/testsuite/gdb.arch/i386-signal.c
+10fcd3bcce6c2de9ae3097c3ada63d5e  gdb/testsuite/gdb.arch/iwmmxt-regs.c
+f065e2d40cb8293e9b77a13e8a624c6c  gdb/testsuite/gdb.arch/amd64-entry-value.s
+9539c6e3074197b957cf4e2be229f288  gdb/testsuite/gdb.arch/amd64-stap-triplet.S
+8e36358314b4d79cdd8e5e4e45240d54  gdb/testsuite/gdb.arch/amd64-disp-step.S
+72b39c6ad65b1eb2276c7878a0b09f89  gdb/testsuite/gdb.arch/thumb-bx-pc.S
+228e2ac1db8901160b706e73aee73f31  gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.cc
+401380b04c1bf4438a01db84d16bebd3  gdb/testsuite/gdb.arch/amd64-optimout-repeat.c
+c65852c839b9da53896517ce6dc50a26  gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c
+64aa7a8143aa832b729a5b730dbfe1dd  gdb/testsuite/gdb.arch/vsx-regs.exp
+79f1d8feab0ea5fee04b57b0d32f414d  gdb/testsuite/lib/cl_util.h
+f71854fcfc1aa1781690979902f89e81  gdb/testsuite/lib/fortran.exp
+df8744826ffbabde8c11052b843200cc  gdb/testsuite/lib/objc.exp
+bc6c5f0054eedf0e57837bd9a1db72b0  gdb/testsuite/lib/java.exp
+e597839eab78dc6b88ccd27a1988f48c  gdb/testsuite/lib/dwarf.exp
+cd7d9530f559db3672b2cc2c81031c70  gdb/testsuite/lib/gdb-guile.exp
+d6f33c945aa66b3154f3fd76de6e61f7  gdb/testsuite/lib/cache.exp
+323ed7894a6c80de4e591a79349aaf80  gdb/testsuite/lib/gdb-utils.exp
+238ebee0980291548a218a08ba2c3a33  gdb/testsuite/lib/cp-support.exp
+ac62951d4184285fd3177eb850fde952  gdb/testsuite/lib/go.exp
+a98106d9c54987aaad7b87c42af8e5dd  gdb/testsuite/lib/cell.exp
+ce35b0786d652d018c807db49f4410c1  gdb/testsuite/lib/gdb-python.exp
+05bb4b638a6125bd58ddd5512c1781f4  gdb/testsuite/lib/gdbserver-support.exp
+c37524dff05c0730868ffae7bdd9874d  gdb/testsuite/lib/prompt.exp
+398e26f6822164cd35dda805e91e0f54  gdb/testsuite/lib/future.exp
+6206070735d434b62b74cbe9c3223863  gdb/testsuite/lib/trace-support.exp
+20858a6837eb034d13556fe2796e3c98  gdb/testsuite/lib/selftest-support.exp
+a47ab7290aff320925173eb5567fec16  gdb/testsuite/lib/mi-support.exp
+3fbfd38544ed325bb6586a191fbfd3d4  gdb/testsuite/lib/ada.exp
 b95dc2a351d65373861d5ccbc6f62d5c  gdb/testsuite/lib/opencl_kernel.cl
-da88fd9c15218507b72229fc7ae84cfc  gdb/testsuite/lib/compiler.c
-c4d44881adaceeb91a52a655db0263c9  gdb/testsuite/lib/pascal.exp
-7eb5014d3e78bf93bed69da1dcb08bd2  gdb/testsuite/lib/cl_util.c
-094ff9577c300bde36dd3b07a02070d8  gdb/testsuite/lib/range-stepping-support.exp
-d857466fb1acf68563e849f897e33fb1  gdb/testsuite/lib/d-support.exp
-05f15e7fe1f18c8d07cadff3dcd49976  gdb/testsuite/lib/set_unbuffered_mode.c
-d4e4c45513c188c7509c225f52e1eca8  gdb/testsuite/lib/prelink-support.exp
-53e66c7b363c3d23f4e14f2be73f96cc  gdb/testsuite/lib/opencl.exp
-1034965e72347f55f3dc2c259c358c91  gdb/testsuite/lib/perftest.exp
-86686cfd0feafc8cfcb7f1a0b4ce24ad  gdb/testsuite/lib/gdb.exp
-9315aaa2b77020c51b33beb914ca5c42  gdb/testsuite/lib/compiler.cc
-9260071c37938c2c594eadc9e2396ea6  gdb/testsuite/lib/opencl_hostapp.c
-597709bdfd005f6b5dd62c0b378b5c00  gdb/testsuite/lib/append_gdb_boards_dir.exp
-1e6cdc418cbd8743856b18ec1cd6e369  gdb/testsuite/dg-extract-results.sh
-9283d677f4d33d57541d8f5939536d7f  gdb/testsuite/gdb.linespec/break-ask.exp
+e9d158389fa466aeda6e21ec83b1eeda  gdb/testsuite/lib/compiler.c
+033b96d7f7ce1b1c6f31b234cbfa8691  gdb/testsuite/lib/pascal.exp
+b902c0f8baf3d2f5f5996e29678d255d  gdb/testsuite/lib/cl_util.c
+6c34bc53f54666a9b59b146f0eb08e84  gdb/testsuite/lib/range-stepping-support.exp
+4a324d5b56719010853593a371436b88  gdb/testsuite/lib/d-support.exp
+1a25a902434501c130576243c79ba43a  gdb/testsuite/lib/set_unbuffered_mode.c
+ba63400ae4571e7f4d0aeb59000c2fee  gdb/testsuite/lib/read1.c
+fdd1b0ea9cb454d308f3efee2756042d  gdb/testsuite/lib/prelink-support.exp
+4377817504481edf59814f0c53fc7398  gdb/testsuite/lib/opencl.exp
+8b095d6d185b258c160d765659927692  gdb/testsuite/lib/perftest.exp
+007c73505de52d4a33bfce96623ba4b5  gdb/testsuite/lib/gdb.exp
+58b04b7bc347cc9d1b4474da7a2ac1d0  gdb/testsuite/lib/compiler.cc
+c3d2b933fd6eca1da5c3707b6d13bb9b  gdb/testsuite/lib/opencl_hostapp.c
+2d73515d4ee5352309d3f8f3f5ffb2da  gdb/testsuite/lib/append_gdb_boards_dir.exp
+f76f36c4dc709fe589d0ed8e9b3fbd78  gdb/testsuite/dg-extract-results.sh
+33f293c6c3aa2f7f1d2a24f95f5e2539  gdb/testsuite/gdb.linespec/break-ask.exp
 4010635a008a516c5216be204852bf91  gdb/testsuite/gdb.linespec/Makefile.in
-df35ac54cc7919ae57fe6584401a99ef  gdb/testsuite/gdb.linespec/ls-dollar.exp
+45bcd5ca5c93625eb43a87f3290f5a02  gdb/testsuite/gdb.linespec/ls-dollar.exp
 76efa0be5b547481043ba197cad7a14e  gdb/testsuite/gdb.linespec/lspec.h
-096219e7370fc5dc7da40d7984d4d296  gdb/testsuite/gdb.linespec/ls-errs.c
-d38565bb2a7178e8303fe3b12b7106ed  gdb/testsuite/gdb.linespec/macro-relative.c
+6c06e30c2dffe3ca1993fa617c9c92cc  gdb/testsuite/gdb.linespec/ls-errs.c
+09ae39e67f621c67f1a2a66f86eec6f0  gdb/testsuite/gdb.linespec/macro-relative.c
 8ce9a284b978283fc01c139afe700294  gdb/testsuite/gdb.linespec/body.h
-d0c337360f9c92e66c6482d3d37633c0  gdb/testsuite/gdb.linespec/ls-dollar.cc
-bf73c9cd7c7080c7babe31315a86be16  gdb/testsuite/gdb.linespec/thread.c
-7c10b171f6c8ddde2c076b2d9b1ab337  gdb/testsuite/gdb.linespec/linespec.exp
-3cf4bde63a9d71818f171ff5a8f2818d  gdb/testsuite/gdb.linespec/ls-errs.exp
-3d5da74efc9f1f74d3ad64f31d88feb5  gdb/testsuite/gdb.linespec/macro-relative.exp
-5c19101175e310e4ecc93a61e389807d  gdb/testsuite/gdb.linespec/skip-two.exp
-416c7d60899526c427308857b0017c99  gdb/testsuite/gdb.linespec/base/two/header.h
+34540370aeeacc38aa906c62939670d8  gdb/testsuite/gdb.linespec/ls-dollar.cc
+0146e9e80221d4785474fc5ec21e193e  gdb/testsuite/gdb.linespec/thread.c
+7691be4e4d0fcfbee1a674e3b6b0ca03  gdb/testsuite/gdb.linespec/linespec.exp
+2a76e3249dea3453f686d4d53a4959b0  gdb/testsuite/gdb.linespec/ls-errs.exp
+1eaa67f426e5d1afc33277aa485661b8  gdb/testsuite/gdb.linespec/break-asm-file.exp
+e6cda5ca171959c0a151c8db5bdc3223  gdb/testsuite/gdb.linespec/break-asm-file1.s
+a6783fd66d1aff879ffd61b93f545179  gdb/testsuite/gdb.linespec/macro-relative.exp
+df5a2e079f0b0fe103a3f198dc88ddb6  gdb/testsuite/gdb.linespec/break-asm-file.c
+51f3af3df3755f32a25828b8584126ef  gdb/testsuite/gdb.linespec/skip-two.exp
+26440346d2332b55a3859cb7c5a03402  gdb/testsuite/gdb.linespec/base/two/header.h
 19ac3aa96cadd1d20732457e0e3053ab  gdb/testsuite/gdb.linespec/base/two/thefile.cc
-3ed66f5a0aaa218753865aced1b38ca6  gdb/testsuite/gdb.linespec/base/one/header.h
+cc80720c26b982770c5966d9d42aca9e  gdb/testsuite/gdb.linespec/base/one/header.h
 9e68815869f17594fa674700abc8928b  gdb/testsuite/gdb.linespec/base/one/thefile.cc
 e4ef70c3aaa633b4a8d4dfd5d86fe147  gdb/testsuite/gdb.linespec/lspec.cc
-6bf93a64ac6b482a40c0bffe615b5c12  gdb/testsuite/gdb.linespec/thread.exp
-2febba32a20f0896c221d250cfb11c4d  gdb/testsuite/gdb.trace/status-stop.exp
-0ea696b43a2b28fb5afe603f8b4a0804  gdb/testsuite/gdb.trace/trace-break.exp
-0a6e7fd76b260462ca794c8f21658560  gdb/testsuite/gdb.trace/range-stepping.c
-79fdd4cf6c11d2d46ac80a7d6a231ba1  gdb/testsuite/gdb.trace/ax.exp
-c0cfc5c2c05a0ef88c5ed9a757ba4851  gdb/testsuite/gdb.trace/tfind.exp
-3d919be43a2f9e233df9a28ebdad71ec  gdb/testsuite/gdb.trace/mi-tsv-changed.exp
-cbc16d05c338e129e75f86fb51926a61  gdb/testsuite/gdb.trace/tstatus.exp
-11105f40875db01cee86df0c82fdd21f  gdb/testsuite/gdb.trace/change-loc-2.c
-8f99237c6d82818f104dc46ab660e628  gdb/testsuite/gdb.trace/deltrace.exp
+b5312136b18b2dc1db499dab2280f5f4  gdb/testsuite/gdb.linespec/break-asm-file0.s
+d540609444c64c4fc2f92312fe340b4f  gdb/testsuite/gdb.linespec/thread.exp
+13a32c912867adcd26091119a2181849  gdb/testsuite/gdb.trace/status-stop.exp
+9a3fc12e3924280aa36e67f3724e871b  gdb/testsuite/gdb.trace/trace-break.exp
+9cb6733ad84213142748c6bf4042d8d4  gdb/testsuite/gdb.trace/range-stepping.c
+3c2c02d76631d51b913d197ba6670d2e  gdb/testsuite/gdb.trace/ax.exp
+93cc4cdd6319d013a34d5f12a817e19b  gdb/testsuite/gdb.trace/tfind.exp
+4d4992eea2bb8cbd2c0b1a33921f8846  gdb/testsuite/gdb.trace/mi-tsv-changed.exp
+8dcdc9a6bf0901bac25fa31d8271ce65  gdb/testsuite/gdb.trace/tstatus.exp
+09c7ff0dcd7665318e48fd503369fcd3  gdb/testsuite/gdb.trace/change-loc-2.c
+7e78a5d305502f684e7473567bc06f8d  gdb/testsuite/gdb.trace/deltrace.exp
 b86643938b239edd6675488a31fc5022  gdb/testsuite/gdb.trace/Makefile.in
-5c364abc32754cd673f14af7ce5a1028  gdb/testsuite/gdb.trace/qtro.exp
-74e43bf2b76770723d5a4fb4f0d81321  gdb/testsuite/gdb.trace/circ.c
-59545b803233bbe0073f9f0f09b31e66  gdb/testsuite/gdb.trace/packetlen.exp
-68946d1f7fe7f9ff5d1ad34c90fabf08  gdb/testsuite/gdb.trace/collection.c
-3569fe63fff04dbf7848219fc89ba051  gdb/testsuite/gdb.trace/stap-trace.exp
-f0c38d99e6a532f2d41a39e7ee5f3b13  gdb/testsuite/gdb.trace/ftrace.c
-2311fcbee13e9c60ef5597a051d9a0e9  gdb/testsuite/gdb.trace/entry-values.exp
-cf2306be6addb46b23e6455aca425137  gdb/testsuite/gdb.trace/mi-traceframe-changed.exp
-f9216f36197f749d45f1da7d6a2444ba  gdb/testsuite/gdb.trace/pending.exp
-914b9fa3bfe885fa2fa4c019f0466ad1  gdb/testsuite/gdb.trace/actions.exp
-3c54455d337e0e20d03c4f3cca2b734f  gdb/testsuite/gdb.trace/status-stop.c
-956588c621a47f661a0d7529ebb63aaa  gdb/testsuite/gdb.trace/trace-buffer-size.c
-ed82b13003ca33696a152db725e55916  gdb/testsuite/gdb.trace/collection.exp
-1ae948aab2bcc91da75f5d13ebad928b  gdb/testsuite/gdb.trace/mi-trace-unavailable.exp
-fbb00a872784b8f08aa044165ddbc77b  gdb/testsuite/gdb.trace/actions.c
-ce24668119a56077c8904662aa222d15  gdb/testsuite/gdb.trace/while-dyn.exp
-889a199d811c76ee5d7e3f854b1a1fbf  gdb/testsuite/gdb.trace/actions-changed.c
-48ffdbf2d6796818ecb4708816b508ac  gdb/testsuite/gdb.trace/save-trace.exp
-fc42fb71cecfe80228137cb5eb031a8c  gdb/testsuite/gdb.trace/trace-break.c
-cb3ed2e8dab86a0022de240c116d889a  gdb/testsuite/gdb.trace/change-loc.h
-3f4c368e52179b02195d29a55a9487ae  gdb/testsuite/gdb.trace/pendshr2.c
-af57e0c9fea817f63b153ebc79bbc6cc  gdb/testsuite/gdb.trace/strace.c
-dae7349ec0d12c0ac0ea33b1ab8d2e3c  gdb/testsuite/gdb.trace/ftrace.exp
-18b44cb656fab2ad22cdcdee68e2715f  gdb/testsuite/gdb.trace/qtro.c
-1758a204591b5ac4cdb9a430548b1593  gdb/testsuite/gdb.trace/disconnected-tracing.c
-49a7e7b63ed8762aaf233ee9d4a00206  gdb/testsuite/gdb.trace/tspeed.exp
-40f2d6ca0c46d84e80aaf875957efd7b  gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
-d30acc708f9d6b72643f4aaebe1fba5d  gdb/testsuite/gdb.trace/pending.c
-0bbb8a5d7b3a6c5982d4b16a13855ff8  gdb/testsuite/gdb.trace/pendshr1.c
-e8f0b97f75185a1687e2f0cb43e0e7c4  gdb/testsuite/gdb.trace/tsv.exp
-d4ccd74779ef5bdd365fe49d04835263  gdb/testsuite/gdb.trace/infotrace.exp
-02c573bb278eb54493df7385baf5fc05  gdb/testsuite/gdb.trace/read-memory.exp
-ce1713bac3a216d148f97fb10eb9993a  gdb/testsuite/gdb.trace/circ.exp
-f566d1205a8ee45b1fe2a6bc414136a6  gdb/testsuite/gdb.trace/unavailable.exp
-aa05956cc83cbbd16204f5cdb25c9d99  gdb/testsuite/gdb.trace/trace-buffer-size.exp
-951387aed9a4cadabb1f26260d03417d  gdb/testsuite/gdb.trace/change-loc.exp
-c66a20a8a0b528ff4ba9f2c1a8c6c2e8  gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
-73d40abc500569348e67b03b98f6c933  gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c
-45aef5890673116e62f81c073c596c7b  gdb/testsuite/gdb.trace/stap-trace.c
-b322538aa93fe9cd7f967b2fc60f3fe3  gdb/testsuite/gdb.trace/trace-unavailable.c
-9945278d779fe7aef716d51e7d64e8ce  gdb/testsuite/gdb.trace/disconnected-tracing.exp
-0ef0f761533fa04eceb23a32640cb5bb  gdb/testsuite/gdb.trace/pr16508.exp
-d275019af09b325002151f09431116db  gdb/testsuite/gdb.trace/tfile.c
-b58a49ca4435f829aa2f8a017aaf0b76  gdb/testsuite/gdb.trace/unavailable.cc
-6afbbad8f479986ff58e3365da6394e3  gdb/testsuite/gdb.trace/read-memory.c
-70a88f7dac8b0b8176f842e66df2f009  gdb/testsuite/gdb.trace/change-loc-1.c
-fa010844252a62875b05eca4b6cd3d1b  gdb/testsuite/gdb.trace/strace.exp
-5ed1ccfd59fd4eaf6cb5d1f323ed72d5  gdb/testsuite/gdb.trace/while-stepping.exp
-e02caa8352b9e78c0dba3377a3fd43ea  gdb/testsuite/gdb.trace/tfile.exp
-ef6626e4de5a7d1af6cbb8b6a0c1ec78  gdb/testsuite/gdb.trace/passcount.exp
-149fdf79bb65d389109b153b9e3d361f  gdb/testsuite/gdb.trace/trace-mt.c
-18b1c5202c9b56b5550c1efc9493b5c3  gdb/testsuite/gdb.trace/tspeed.c
-b800aefbb3769c7e43dd22a973ee37ff  gdb/testsuite/gdb.trace/entry-values.c
-4f38814bb399db5aa30c590fe2a512bb  gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp
-3a55e924496f7399f9653dbaf6efb40a  gdb/testsuite/gdb.trace/change-loc.c
-b359a361427c6205755d9994ad17694e  gdb/testsuite/gdb.trace/actions-changed.exp
-4204c732437fed06d3241b6422656197  gdb/testsuite/gdb.trace/report.exp
-e5ced0fde07cdecf6c94fed4bee258ff  gdb/testsuite/gdb.trace/range-stepping.exp
-ff7f63831b2f86592185376d71451b2a  gdb/testsuite/gdb.trace/tracecmd.exp
-28ec95d5b5813034f7164e491676b4a2  gdb/testsuite/gdb.trace/backtrace.exp
-3a0067183889b12c2a2b30a0ee6405ab  gdb/testsuite/gdb.trace/passc-dyn.exp
-51e6f4a041e265d9531227a6248c0266  gdb/testsuite/gdb.trace/trace-mt.exp
-1f777f7b2877bdda76a691861e844768  gdb/testsuite/configure
+793a4fa509d8491ed57fec51d28b5e06  gdb/testsuite/gdb.trace/qtro.exp
+429c86ee9a90bfc148c6c78e5e55358c  gdb/testsuite/gdb.trace/circ.c
+5f00b744ea50d9756c0f6670c12a678d  gdb/testsuite/gdb.trace/packetlen.exp
+6328bbcaf7daff1abd2b95bd9d4c7c97  gdb/testsuite/gdb.trace/collection.c
+1aa1c5f59261bc00ea9e151688c3e648  gdb/testsuite/gdb.trace/stap-trace.exp
+1c1eb6c95aff4bce287bccb475492026  gdb/testsuite/gdb.trace/ftrace.c
+fa80a11098baab494adda20c87e0d424  gdb/testsuite/gdb.trace/entry-values.exp
+c4ee133125ff2a683ba742f6754f7632  gdb/testsuite/gdb.trace/mi-traceframe-changed.exp
+cf8c02c60f12bf08caebe52482834fca  gdb/testsuite/gdb.trace/pending.exp
+c9f0940a89f619ab4224be904714e6da  gdb/testsuite/gdb.trace/actions.exp
+714cfb752c57e94f03dbef6f42535d6a  gdb/testsuite/gdb.trace/status-stop.c
+2e4a3d988cc33fc40f2015608e9acd96  gdb/testsuite/gdb.trace/trace-buffer-size.c
+8b39b72d710b4db9aabd0acd7f860204  gdb/testsuite/gdb.trace/collection.exp
+a2c51e1a6f0736ec5d985bc46375b1fc  gdb/testsuite/gdb.trace/mi-trace-unavailable.exp
+c138310708b4cbcc441d0c9d49a80a3f  gdb/testsuite/gdb.trace/actions.c
+c8e0f241f00f2d1e5c84efcb5af3dcaf  gdb/testsuite/gdb.trace/while-dyn.exp
+3926a7d2da2a243d4f212df46f547501  gdb/testsuite/gdb.trace/actions-changed.c
+5d2f2cf14f79f1bdb3076a53d82cae7d  gdb/testsuite/gdb.trace/save-trace.exp
+ddb5a16a32e52d8b3aabe0dcc676c4a9  gdb/testsuite/gdb.trace/trace-break.c
+c67fdef8a7893100cb2d6136c1929b09  gdb/testsuite/gdb.trace/change-loc.h
+1c03da2476842ae5f9386441714a7b7b  gdb/testsuite/gdb.trace/pendshr2.c
+943a86cbacdf36dd6c107735fa817fe1  gdb/testsuite/gdb.trace/strace.c
+a1c17b1dfc3ed66b4e9177afa232f842  gdb/testsuite/gdb.trace/ftrace.exp
+7052d1af515bd8f7de29ef6508a0ff14  gdb/testsuite/gdb.trace/qtro.c
+c790d843d1fbaa2fdecfb3d074683aa2  gdb/testsuite/gdb.trace/disconnected-tracing.c
+57c0187737df03fd56d509744c1b624a  gdb/testsuite/gdb.trace/tspeed.exp
+837f213db6f3b404910080bc7f78a8b8  gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
+bbe0307c6dd0d11cc6d5317f674bb99b  gdb/testsuite/gdb.trace/pending.c
+d41caed09e218fe0429ee0ff2e82be7b  gdb/testsuite/gdb.trace/pendshr1.c
+ed14c2d47eab580abf701541325f29f5  gdb/testsuite/gdb.trace/tsv.exp
+8ee1305c1facf6290b939bd3661d743e  gdb/testsuite/gdb.trace/infotrace.exp
+2e5c7d6dc469849b212d196832dde012  gdb/testsuite/gdb.trace/read-memory.exp
+481af4c0f64fce8d330c6b8ba325afc7  gdb/testsuite/gdb.trace/circ.exp
+b30819241509395ccbc9ba7535350a2b  gdb/testsuite/gdb.trace/unavailable.exp
+b65ca46c0ae4d4637df29b55201f7280  gdb/testsuite/gdb.trace/trace-buffer-size.exp
+2c84c310eabf56020a2c192248aff666  gdb/testsuite/gdb.trace/change-loc.exp
+48128dda7bd4a5be27c0f6dbe3ffcac5  gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
+791d3edf158fc18da5d21b3c21990967  gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c
+be939dbf9099a77bfcdfc1f4f51263f5  gdb/testsuite/gdb.trace/stap-trace.c
+95928ffe38bcb7404f4ee6390669af71  gdb/testsuite/gdb.trace/trace-unavailable.c
+c545067db1cbd5a1bc1071ccb9b67c33  gdb/testsuite/gdb.trace/disconnected-tracing.exp
+4aea1e33023956ee07eeeb470d3ca3be  gdb/testsuite/gdb.trace/pr16508.exp
+851a06de89bf4dd6ae21218603580527  gdb/testsuite/gdb.trace/tfile.c
+c30f43780a4f48cf81c540223d579b02  gdb/testsuite/gdb.trace/unavailable.cc
+d12effb24add4fcb5fbbebce460a3d0e  gdb/testsuite/gdb.trace/read-memory.c
+cfe714dcfb6ea0ae6e5827c52cdcc69b  gdb/testsuite/gdb.trace/change-loc-1.c
+558adca205c65120bae9b05d2b71d9ce  gdb/testsuite/gdb.trace/strace.exp
+007e4e94a48ffb1ecc7c6324f48196f2  gdb/testsuite/gdb.trace/while-stepping.exp
+66443797b7ee9614ff74fbeb97df20b9  gdb/testsuite/gdb.trace/tfile.exp
+7da4847ffd54766a0ab14f3eb62036fa  gdb/testsuite/gdb.trace/passcount.exp
+55858b1a5bfd5a52415d787cf2cfe8c3  gdb/testsuite/gdb.trace/trace-mt.c
+d3818c51ea25bccedc41ec2512d9d9fb  gdb/testsuite/gdb.trace/tspeed.c
+b53cabdf198c9fccf4c73a771764f555  gdb/testsuite/gdb.trace/entry-values.c
+1f13df8195e5ecce8838fb9da774be57  gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp
+db17a891b32e4f595e3d5d23b11d9499  gdb/testsuite/gdb.trace/change-loc.c
+46eefe011667de69536793642f434028  gdb/testsuite/gdb.trace/actions-changed.exp
+2241e4c3006b495530c8f4995e2f9977  gdb/testsuite/gdb.trace/report.exp
+58d6af4e9ba2b9ed2324d728ccd06e82  gdb/testsuite/gdb.trace/range-stepping.exp
+384fd4c2912ec20607bac7bfa1d23286  gdb/testsuite/gdb.trace/tracecmd.exp
+7404b276ac4c928b6322a742171c1913  gdb/testsuite/gdb.trace/backtrace.exp
+a2d113a7f444b497b4564e0ee9ddc899  gdb/testsuite/gdb.trace/passc-dyn.exp
+896138da22c68c931198ea05210aa340  gdb/testsuite/gdb.trace/trace-mt.exp
+3b2d7f0fffed60717e424c709f5a8cac  gdb/testsuite/configure
 a225f3bdf3ee20da9623fd4c54b5454b  gdb/testsuite/aclocal.m4
-4bd8ec737bcb6ac4a963a8abc22bca53  gdb/testsuite/gdb.threads/clone-new-thread-event.exp
-fd437f7029571be675906bab0f89d137  gdb/testsuite/gdb.threads/tls-var.exp
-0f0e82b65bdd6dc7ecf688c1a0cb0855  gdb/testsuite/gdb.threads/siginfo-threads.c
-674118adc30800e8f884a865f98add05  gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp
-ddaec70e7ad4add887d0ae595766e97c  gdb/testsuite/gdb.threads/watchpoint-fork-st.c
-1d36695e4f08002cc9e625ea1693a41b  gdb/testsuite/gdb.threads/threxit-hop-specific.c
+fda53dda096c181aeed6c78de55f455a  gdb/testsuite/gdb.threads/clone-new-thread-event.exp
+74fe8139d67c0c776a4a28460b473f30  gdb/testsuite/gdb.threads/tls-var.exp
+19562238a9f887dbc7bc5b534b90ced2  gdb/testsuite/gdb.threads/siginfo-threads.c
+3f9f6f799fb3bd445b3a3ba2f3621021  gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp
+8fc9d226571b25b6807ca9f0b9f46455  gdb/testsuite/gdb.threads/watchpoint-fork-st.c
+c6241caae68157d8edd17288b4b25156  gdb/testsuite/gdb.threads/threxit-hop-specific.c
 0b0761fb016e8bcdfefea3dcb870c6a4  gdb/testsuite/gdb.threads/sigthread.c
 930e3bb22ca8b8efaec8385816e05b8f  gdb/testsuite/gdb.threads/Makefile.in
 887ac67db3e53d926301bc46fe548d3e  gdb/testsuite/gdb.threads/linux-dp.c
-e329a2017fa72abbc8f55902fd215609  gdb/testsuite/gdb.threads/reconnect-signal.c
-ea7a01d2625a504a9e347caccdd68612  gdb/testsuite/gdb.threads/stepi-random-signal.exp
-efcc1156a63ae925e4763642491802e3  gdb/testsuite/gdb.threads/tls-nodebug.exp
-2ca9ebef8398895db1a9f045b1aeff8e  gdb/testsuite/gdb.threads/staticthreads.c
-a2bb3216b24530633d9967c0f8ad8b1b  gdb/testsuite/gdb.threads/thread-specific-bp.c
-dd7e048ba4d52b17979242914fa1312d  gdb/testsuite/gdb.threads/corethreads.c
-90dfd6105bcef197d91ff453820d8534  gdb/testsuite/gdb.threads/watchthreads.c
-98caa4f73fd1d95e7d6a04fcda0f5fbc  gdb/testsuite/gdb.threads/execl1.c
-5194f96d47745a31004784e33b9aee76  gdb/testsuite/gdb.threads/thread-unwindonsignal.exp
-830013ebbd22533085a13d6e7388b710  gdb/testsuite/gdb.threads/schedlock.c
-a68ecd5a059579c148624212ea6d514a  gdb/testsuite/gdb.threads/wp-replication.c
-1ff4e6274e8e4ac73725b128f7bc765b  gdb/testsuite/gdb.threads/threadapply.c
-dc1a52e7f180a0e3a269cb4bad6cb6cf  gdb/testsuite/gdb.threads/thread_events.c
-0d68be931785e1067b86796cd5e06071  gdb/testsuite/gdb.threads/non-ldr-exc-3.c
-a58389be21255b20dc2aa91107ae9520  gdb/testsuite/gdb.threads/create-fail.c
+0b69e36362132b016baaeb94696f8e1f  gdb/testsuite/gdb.threads/reconnect-signal.c
+8486b733542a73f24e8ecddcfa4a9bf8  gdb/testsuite/gdb.threads/stepi-random-signal.exp
+67a11520296f385616e94bfff3851dfa  gdb/testsuite/gdb.threads/tls-nodebug.exp
+d46991f7406f74004ef188b9caaa0113  gdb/testsuite/gdb.threads/queue-signal.exp
+3c8510aa38a22fd0fb6ff49b9ec75b02  gdb/testsuite/gdb.threads/attach-many-short-lived-threads.c
+b2eaf16c97d1360be5630e67364c8ac0  gdb/testsuite/gdb.threads/staticthreads.c
+a3a14e5e913c43611a5ed10ad8f90528  gdb/testsuite/gdb.threads/thread-specific-bp.c
+d46d60fe6d689d0ff3f1d48b7490afb1  gdb/testsuite/gdb.threads/corethreads.c
+c86c7d7e9133e42ea0d6191726e6da75  gdb/testsuite/gdb.threads/non-stop-fair-events.exp
+6f617dd7e9d0114008d484b807926b8d  gdb/testsuite/gdb.threads/watchthreads.c
+eda32e6af468f5a44b33928ca7e418fc  gdb/testsuite/gdb.threads/execl1.c
+f20781676b5b0e91bdc15071d15f529e  gdb/testsuite/gdb.threads/thread-unwindonsignal.exp
+0715bc8a6cf5d8da34847297a578b5dc  gdb/testsuite/gdb.threads/schedlock.c
+421c807ea9313e784cfda4a5d8c3b00b  gdb/testsuite/gdb.threads/wp-replication.c
+7d798df08f9acbe3957d39b8c1644b38  gdb/testsuite/gdb.threads/threadapply.c
+1f296b1b47bdb6bf01fbc86192fbaefc  gdb/testsuite/gdb.threads/thread_events.c
+82eef5de743e472f3997581d9b1ad071  gdb/testsuite/gdb.threads/non-ldr-exc-3.c
+e427e93cbdd26481df30aca83efa6aac  gdb/testsuite/gdb.threads/create-fail.c
 0bc37c048361582d53f69d0700501c98  gdb/testsuite/gdb.threads/tls-main.c
-c45f77a17131a68015511c21fece7453  gdb/testsuite/gdb.threads/reconnect-signal.exp
-1c7c3f475ff5763d3779825e29c8bcf3  gdb/testsuite/gdb.threads/manythreads.exp
+b75865a78c9102d1d2a25a42a406e32d  gdb/testsuite/gdb.threads/reconnect-signal.exp
+3df6bdfd462d95c88f68e49e593aa372  gdb/testsuite/gdb.threads/signal-delivered-right-thread.exp
+b3a83ecaf0a45aaab065e52aa8dd37a3  gdb/testsuite/gdb.threads/manythreads.exp
 ce228e201a89a5618142777bb2afe980  gdb/testsuite/gdb.threads/tls-shared.c
-36cbcd28bd270765546d800ef21d8edc  gdb/testsuite/gdb.threads/pthread_cond_wait.exp
-7f67686871a103cc24f9b51eea5a3ebf  gdb/testsuite/gdb.threads/dlopen-libpthread.c
-a527b577c6d71ad1f57500cb6ec9152f  gdb/testsuite/gdb.threads/info-threads-cur-sal.exp
-1831284ae5c8d8390b66adea962a30d3  gdb/testsuite/gdb.threads/switch-threads.exp
-30eab7bc2732b8a578170c612a176db1  gdb/testsuite/gdb.threads/attach-into-signal.exp
-ff8faf79571e067f1cbb7542b4689913  gdb/testsuite/gdb.threads/interrupted-hand-call.exp
-f15d8a948f869be5b8414a308904c4d1  gdb/testsuite/gdb.threads/pthreads.exp
-11649d61d723811ec9b7b24a1d720f47  gdb/testsuite/gdb.threads/watchpoint-fork-parent.c
-fc1e8818c8053a9a98e253cf4465982a  gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.c
-b04f1db9253d3ad268ac0d1fdcd545dc  gdb/testsuite/gdb.threads/leader-exit.c
-3b19562a0899a23eec1e6f8581ffb35d  gdb/testsuite/gdb.threads/staticthreads.exp
-654d0b49216b8553ceeeb22e500a58e1  gdb/testsuite/gdb.threads/watchpoint-fork-child.c
-fee397f33989830ad1876458b5df4789  gdb/testsuite/gdb.threads/watchpoint-fork.exp
-8d19b1dfc2ae60adde873b88619a17af  gdb/testsuite/gdb.threads/fork-child-threads.c
-b163080f176346d52ac20391655aa690  gdb/testsuite/gdb.threads/tls.exp
-8e0272e885510a7e4fa23b46d9ef3a95  gdb/testsuite/gdb.threads/ia64-sigill.c
-8ac7b72c230102a562469eef0c43c2e9  gdb/testsuite/gdb.threads/bp_in_thread.c
-96e1c2e4a14a5faf357d24e47638dc64  gdb/testsuite/gdb.threads/thread-find.exp
-60029a7159b1b08315a5d2ce7607eeb5  gdb/testsuite/gdb.threads/siginfo-threads.exp
-256db74d9e698b842b7a768647055f7e  gdb/testsuite/gdb.threads/create-fail.exp
+adb14d5782aca820a193e38f9066e98d  gdb/testsuite/gdb.threads/pthread_cond_wait.exp
+aa61e41da21e07191a4ea22e45396c02  gdb/testsuite/gdb.threads/dlopen-libpthread.c
+1a377fe717b916723bc3b8f3af1a708e  gdb/testsuite/gdb.threads/info-threads-cur-sal.exp
+cf739afbfbbf18f65edb576a412e20f8  gdb/testsuite/gdb.threads/switch-threads.exp
+233baea9789647aa0314dd83f29fc4c6  gdb/testsuite/gdb.threads/attach-into-signal.exp
+527b6819d4005ef4ac0eecce2030ce53  gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp
+ed56e55fc1218e14a8b9c9adb13d0b78  gdb/testsuite/gdb.threads/interrupted-hand-call.exp
+bae9739e5243f71d3ad8444d5a199bac  gdb/testsuite/gdb.threads/pthreads.exp
+7999a0b25dd7c6cc86cf3c1d50b8398c  gdb/testsuite/gdb.threads/watchpoint-fork-parent.c
+308927e83096aea4ab164c42b8946360  gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.c
+c444c6ea49da364a9715686980b21a06  gdb/testsuite/gdb.threads/leader-exit.c
+be913d5ceda9cb28c9c76842a52cf02c  gdb/testsuite/gdb.threads/staticthreads.exp
+34de5c4e23ff280929771bbe9566e27a  gdb/testsuite/gdb.threads/watchpoint-fork-child.c
+bda4c60182ddbab25fff0a82761972a6  gdb/testsuite/gdb.threads/watchpoint-fork.exp
+28a761d26bddc7f8d45723ac032630eb  gdb/testsuite/gdb.threads/fork-child-threads.c
+69eea83dad95e8105bf63685711612bb  gdb/testsuite/gdb.threads/tls.exp
+7d7261d44fa85315449560ee5d3a49f9  gdb/testsuite/gdb.threads/ia64-sigill.c
+99eb146d49bafde510cb7423923e7cd0  gdb/testsuite/gdb.threads/bp_in_thread.c
+fa0b11ae2e271abc145f611cd61bee4c  gdb/testsuite/gdb.threads/thread-find.exp
+81664099c0057d8f2c95009566b0c365  gdb/testsuite/gdb.threads/siginfo-threads.exp
+7f3ce4809a59b414298400f1ffbe7313  gdb/testsuite/gdb.threads/create-fail.exp
 9eaba0dd2266d7d35941eb49845e6072  gdb/testsuite/gdb.threads/tls.c
-0c0c23753a05b2cb0417f6b01acc4fc1  gdb/testsuite/gdb.threads/attach-into-signal.c
-eea9f31b2fc56196a59da1c664c78ccd  gdb/testsuite/gdb.threads/killed.exp
-e50a6105b3f992e58170b7da8c8ef2e7  gdb/testsuite/gdb.threads/pending-step.c
-129c5e465703adf98e32d2a7edeee534  gdb/testsuite/gdb.threads/multiple-step-overs.exp
-65afebe3bcb48182792b0c16b5796838  gdb/testsuite/gdb.threads/non-ldr-exc-3.exp
+00c379372859223745111a92abd9cc9e  gdb/testsuite/gdb.threads/signal-delivered-right-thread.c
+6f9202e247c50df937d0edcb88f8ab37  gdb/testsuite/gdb.threads/attach-into-signal.c
+72a2d19b5de3a51696f50b3069862dea  gdb/testsuite/gdb.threads/killed.exp
+32d625ba6c7925c5e4ab1868e8af5d0f  gdb/testsuite/gdb.threads/pending-step.c
+cf7c05391c789941133cf56b8060e979  gdb/testsuite/gdb.threads/multiple-step-overs.exp
+93095fafb199fa7ce9aa58b9d625ede4  gdb/testsuite/gdb.threads/non-ldr-exc-3.exp
 df82452f754ef15a81d71f46a0892757  gdb/testsuite/gdb.threads/print-threads.c
-7221895a3b08bd7c12babfd96615ce4a  gdb/testsuite/gdb.threads/current-lwp-dead.c
-5e7cbd4919743a80d7644ff64ec19534  gdb/testsuite/gdb.threads/non-ldr-exc-1.c
-7480524ee907b7363fcec84a6fa40397  gdb/testsuite/gdb.threads/fork-child-threads.exp
-340288df6a569e98eb17dd32d3e1d356  gdb/testsuite/gdb.threads/pthread_cond_wait.c
-4a5376659d973d8f4d63cefaed317f09  gdb/testsuite/gdb.threads/current-lwp-dead.exp
-8472795a8050aaa93957ee5356bad17d  gdb/testsuite/gdb.threads/info-threads-cur-sal-2.c
-c01d21d5ab2052aeab0aed6f297196e9  gdb/testsuite/gdb.threads/pending-step.exp
-77a280edf5a6a3df88ce81ef6168a9c8  gdb/testsuite/gdb.threads/attach-stopped.c
-e6f82a62a3b778f71fa00d51ef86657d  gdb/testsuite/gdb.threads/interrupted-hand-call.c
-fb1e20c6fd1f56228ddde33ab676e915  gdb/testsuite/gdb.threads/non-ldr-exc-4.c
+9421f295066269b030d2b173406743f3  gdb/testsuite/gdb.threads/current-lwp-dead.c
+f5dcbc6cdd83881b4cb682363306310a  gdb/testsuite/gdb.threads/non-ldr-exc-1.c
+1dfd13e46a27fba6aa9543a56bfb917d  gdb/testsuite/gdb.threads/queue-signal.c
+fdb58df3ff3b8a2a1ee05c9899b67b6e  gdb/testsuite/gdb.threads/fork-child-threads.exp
+a9a5fd23056437d34432f5463d98d27e  gdb/testsuite/gdb.threads/break-while-running.exp
+9d999a002cd39659ac56da5e88432f71  gdb/testsuite/gdb.threads/non-stop-fair-events.c
+c90abfcfc3bf23bc1fd1bdae49705979  gdb/testsuite/gdb.threads/pthread_cond_wait.c
+34668a4dd3f8f62bc9317c4c33d6a722  gdb/testsuite/gdb.threads/signal-command-handle-nopass.exp
+0346865c86acdd457644635f0456bca1  gdb/testsuite/gdb.threads/current-lwp-dead.exp
+b1792776f81b1450e823cec6b9414ae9  gdb/testsuite/gdb.threads/info-threads-cur-sal-2.c
+663662dd170704a3b90f1ce9941de4ef  gdb/testsuite/gdb.threads/pending-step.exp
+6d468bab214e78823b10710361bc9304  gdb/testsuite/gdb.threads/attach-stopped.c
+bd317c20241e55a4dc73c48b0aa6370b  gdb/testsuite/gdb.threads/interrupted-hand-call.c
+db8ed667a2618e7ee78248fb1bd059b1  gdb/testsuite/gdb.threads/non-ldr-exc-4.c
 9f1980e50d0b18ecab95050153e4733a  gdb/testsuite/gdb.threads/tls-nodebug.c
-4331ea28c701a7a94a6ead6bee2abc14  gdb/testsuite/gdb.threads/manythreads.c
-0ec6658d79151dbf4b4d5fba0315eee5  gdb/testsuite/gdb.threads/local-watch-wrong-thread.c
-0466ceca4b9455de2cfc6bd8c6cd527f  gdb/testsuite/gdb.threads/thread_events.exp
-ff3cfc7b113a6e948668ba504ede7755  gdb/testsuite/gdb.threads/watchpoint-fork-mt.c
-29c6ee2992d19c9ba483e207aecab664  gdb/testsuite/gdb.threads/hand-call-in-threads.c
-63c9a72298d67e76ddc71e8a78ab3d68  gdb/testsuite/gdb.threads/watchpoint-fork.h
-193fabfc5eeae7fe63b152dcc5511054  gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.c
-659060d95925df8e2abce94c2d47a5af  gdb/testsuite/gdb.threads/thread_check.c
-6bfca37fec396b775f4eea382dd296be  gdb/testsuite/gdb.threads/thread-specific.exp
-1c2e5a86e6d4b557921640b09056a9da  gdb/testsuite/gdb.threads/thread-specific-bp.exp
-f640286d3f3fbb43b7e9d3af2fceb2bd  gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.c
-4f5a7918d7bacf89b591e96fe85092d4  gdb/testsuite/gdb.threads/non-ldr-exc-4.exp
-48ac59238a5359866f01334cb712c09a  gdb/testsuite/gdb.threads/watchthreads-reorder.c
-ee1be048d926d01d48ce0392514c5251  gdb/testsuite/gdb.threads/tls-var.c
-13100c4fcab15f0dfa1961d23b32ca53  gdb/testsuite/gdb.threads/schedlock.exp
-20696e851b5eb83075fedb18374c180b  gdb/testsuite/gdb.threads/pthreads.c
-b1873122dc466272ab1416f015925330  gdb/testsuite/gdb.threads/killed.c
-9180d69dcfdc522d63c530b846ecf2fc  gdb/testsuite/gdb.threads/gcore-thread.exp
-952b6fd69d7e6b6a570c6e6a676b9bdc  gdb/testsuite/gdb.threads/info-threads-cur-sal.c
-edc28473646811c0b703a15549c167bd  gdb/testsuite/gdb.threads/watchthreads.exp
-10108ac8a1fa90f0e7d8dbcddf3f9457  gdb/testsuite/gdb.threads/thread_check.exp
-c5bd39c5b29f906164d3040f8e10a730  gdb/testsuite/gdb.threads/watchthreads2.exp
-4ee630fc99a4333af68516bdc3dcc793  gdb/testsuite/gdb.threads/kill.c
-63bb276e2144df2d80df40de252e198b  gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
-4271345ef135db513be3bd96ee78a333  gdb/testsuite/gdb.threads/switch-threads.c
-19906114eb3c0c0acae467c2d01a375c  gdb/testsuite/gdb.threads/sigstep-threads.exp
-8fdd249775ceffe2b2bb9d1007db01e8  gdb/testsuite/gdb.threads/execl.exp
-7c6079ca469456be3eb23cd9cb2ef6e0  gdb/testsuite/gdb.threads/thread-execl.c
-e2ba2df9fe6ff985d4a53660e9ca8f40  gdb/testsuite/gdb.threads/thread-execl.exp
-8b2472073507843a239160542e583562  gdb/testsuite/gdb.threads/non-ldr-exc-1.exp
-b256aa39d47a938681234c0aa3b23d8a  gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c
-7a2c4885bd5b64e65b71db9bf589ca1a  gdb/testsuite/gdb.threads/multi-create.exp
-ce0394f58d69f2bfb9ae487093bce8ad  gdb/testsuite/gdb.threads/no-unwaited-for-left.c
-6df714373eac78c3fdc8ffdb36f56659  gdb/testsuite/gdb.threads/non-ldr-exc-2.exp
-696588a05dd1877f175df61a1d215a82  gdb/testsuite/gdb.threads/stepi-random-signal.c
-6428eb914f064052a6241c284e9fe1aa  gdb/testsuite/gdb.threads/gcore-stale-thread.exp
-b491a9ef8129b601d8f5820fe5f10946  gdb/testsuite/gdb.threads/hand-call-in-threads.exp
-a2b1c429c971f746e9ef32a627a0447a  gdb/testsuite/gdb.threads/tls-var-main.c
-41a77711d86b92183d5d8872d0794a9f  gdb/testsuite/gdb.threads/kill.exp
-e706ebfe1b780e01050d61fb4fc654ef  gdb/testsuite/gdb.threads/print-threads.exp
-92bdb0e16674f2d9cb039d7ffe17a856  gdb/testsuite/gdb.threads/multiple-step-overs.c
-5fbfc4411b91ed56e82f3bb05d88acb3  gdb/testsuite/gdb.threads/next-bp-other-thread.exp
-d8f8b782a5bc6c1c8122861a1be9a062  gdb/testsuite/gdb.threads/corethreads.exp
-a2281a772c7dc38650840161b401b2d4  gdb/testsuite/gdb.threads/wp-replication.exp
-3d4f31202083e2764f9e3c6210f9e478  gdb/testsuite/gdb.threads/linux-dp.exp
-901262c8088a061a8716ea60c5d87ad2  gdb/testsuite/gdb.threads/watchthreads-reorder.exp
-29b373b768313aec7b9eceb749af6a09  gdb/testsuite/gdb.threads/tls2.c
-7ec8028214dbada969ddfee94e694dbf  gdb/testsuite/gdb.threads/fork-thread-pending.c
-28a02d439b3276a0d0828b249af278bf  gdb/testsuite/gdb.threads/fork-thread-pending.exp
-95e91800f6465d5d1397e79e4d3e99ce  gdb/testsuite/gdb.threads/local-watch-wrong-thread.exp
-0256354e187e64ad88e1713fa53524e1  gdb/testsuite/gdb.threads/thread-specific.c
-c845000202b82a03c1626ae3b56d6869  gdb/testsuite/gdb.threads/bp_in_thread.exp
-8e960f07801bfa598cc3aa097cf46bae  gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp
-833ca3fdb91c615714def46e4427c5d8  gdb/testsuite/gdb.threads/tls-shared.exp
-5755cdd4d7a9900e54e6e8fe15a2b1f1  gdb/testsuite/gdb.threads/leader-exit.exp
-7cbbed9c8d0148ec0b246709cf420b60  gdb/testsuite/gdb.threads/sigthread.exp
-90fde5844f11246b72554b209e5c6cb8  gdb/testsuite/gdb.threads/multi-create.c
-8b2a28ed04ab78911a51dc6af372f18a  gdb/testsuite/gdb.threads/attach-stopped.exp
-b8569191ccbc295badca0ad8a6db1b89  gdb/testsuite/gdb.threads/next-bp-other-thread.c
-9368ad32ffc463a295399b6ca1795b75  gdb/testsuite/gdb.threads/sigstep-threads.c
-946d19bccefa54d0df3b39f74aadfd1d  gdb/testsuite/gdb.threads/ia64-sigill.exp
-e177db267f6e405c01914d83f2890fb0  gdb/testsuite/gdb.threads/gcore-stale-thread.c
-daba9799c8549458c9783ed546a03051  gdb/testsuite/gdb.threads/no-unwaited-for-left.exp
-c697e4a95efdd3b5bb4ea93db28f1aef  gdb/testsuite/gdb.threads/dlopen-libpthread.exp
-9b71b7286162e768697d2a0592619da3  gdb/testsuite/gdb.threads/clone-new-thread-event.c
-76244415dbf6adcd898564e57f255b0b  gdb/testsuite/gdb.threads/non-ldr-exc-2.c
-0f8c944d1a3d7e0d02e20da59437b2b2  gdb/testsuite/gdb.threads/execl.c
-fea84a00b8c92e31f71a822ca447f15c  gdb/testsuite/gdb.threads/threxit-hop-specific.exp
-7184ee6c2a5d88b94682509b4aaaddba  gdb/testsuite/gdb.threads/threadapply.exp
-489734dd1cdd2ef8ecfcf098e2e68248  gdb/testsuite/gdb.threads/watchthreads2.c
-fd461a9524f1e42c4571ac836351f74f  gdb/testsuite/gdb.go/print.exp
+b9ecfac0a4f68d8c5ba47e83a8729128  gdb/testsuite/gdb.threads/manythreads.c
+4e1bbf34f52ee2a9b6a02afabfafb699  gdb/testsuite/gdb.threads/local-watch-wrong-thread.c
+ba5f0de7558de6209043f71f5d6e5441  gdb/testsuite/gdb.threads/thread_events.exp
+0f21e1d14b7718d42f5361205f04af84  gdb/testsuite/gdb.threads/watchpoint-fork-mt.c
+63f6fe8078ae249d10239863bffd31de  gdb/testsuite/gdb.threads/hand-call-in-threads.c
+ae8e8c926fedb53ef22fbe40963bddc2  gdb/testsuite/gdb.threads/watchpoint-fork.h
+d6519d8f42d39cfa3bf311e69c77a48e  gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.c
+e2122a01fbe4609d4c440777f53c4df1  gdb/testsuite/gdb.threads/thread_check.c
+649b289ca2fab6347f673d5059281a9f  gdb/testsuite/gdb.threads/thread-specific.exp
+0ef1bee3f201385a41bdfea712ffa5c6  gdb/testsuite/gdb.threads/thread-specific-bp.exp
+20fb89ef3d79442a74ce3c80f8b4e2a8  gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.c
+f1c529ba70eb642b2189491e452f006d  gdb/testsuite/gdb.threads/non-ldr-exc-4.exp
+ce18e8166dae762b40ba4b6f9bb7c113  gdb/testsuite/gdb.threads/watchthreads-reorder.c
+2a1e20533170ef3947039a86fafbadd6  gdb/testsuite/gdb.threads/tls-var.c
+001ff3292c9cab0d7bbd13b409fbf61d  gdb/testsuite/gdb.threads/schedlock.exp
+1e1c65f08ff2e2e7d5ba95e2788d4250  gdb/testsuite/gdb.threads/pthreads.c
+dcb628a4929aa9d6c58c06f70951b349  gdb/testsuite/gdb.threads/killed.c
+2a808cc0708fc618580a617e9d57b572  gdb/testsuite/gdb.threads/gcore-thread.exp
+492b9e235a0eaabccd0b27fdfb3c6587  gdb/testsuite/gdb.threads/info-threads-cur-sal.c
+33ee85776bb2370c1c25b2d346b5b2d9  gdb/testsuite/gdb.threads/watchthreads.exp
+9ac04cf29f19bc362dabc1ae289291cf  gdb/testsuite/gdb.threads/thread_check.exp
+bf90cd3d89504b70c51727570eabc2ae  gdb/testsuite/gdb.threads/watchthreads2.exp
+34d7357618b291ddbf72c725eb1af0c6  gdb/testsuite/gdb.threads/kill.c
+abcb223a22e788a09e29542e63f4f27a  gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.c
+6e73f8a5593a9b8d7bcfedf9148f7447  gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
+b58d0f333f8e1c21a851ec19bf5997cd  gdb/testsuite/gdb.threads/switch-threads.c
+a60d2516f9d50f6faf0a50a0a8b5ad0a  gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.exp
+d2aa0b4de628920e4d2d101e261f279d  gdb/testsuite/gdb.threads/sigstep-threads.exp
+328974bdd68396621905ad8c78050f8e  gdb/testsuite/gdb.threads/execl.exp
+ffcda95656fdd12238faf6a32570d9ca  gdb/testsuite/gdb.threads/thread-execl.c
+673a56f9c790c4b464636129852c8e27  gdb/testsuite/gdb.threads/thread-execl.exp
+89a74c8810be57706969c52505e28bcc  gdb/testsuite/gdb.threads/non-ldr-exc-1.exp
+cd24e61275a3331463e1c810ca036ee6  gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c
+94d8be2dc1bf7f1f1002478ddd22661a  gdb/testsuite/gdb.threads/multi-create.exp
+4d600e51eeefad0d860972cc9b370d98  gdb/testsuite/gdb.threads/no-unwaited-for-left.c
+a974b5a446207107ba7db8626c351d49  gdb/testsuite/gdb.threads/non-ldr-exc-2.exp
+842744f3ec4ac3c5e5f5f928905dcbec  gdb/testsuite/gdb.threads/stepi-random-signal.c
+982e44a999badc73b20be50166ff6afd  gdb/testsuite/gdb.threads/gcore-stale-thread.exp
+8230671d251dc34a02dac6da5e9f64ae  gdb/testsuite/gdb.threads/hand-call-in-threads.exp
+4ef6e0c8d3fc1b9b86523b8654fffd74  gdb/testsuite/gdb.threads/tls-var-main.c
+b675c1f8e38e4bb8bb28641c579851ed  gdb/testsuite/gdb.threads/kill.exp
+676ac2c06706842100df2c8144dd1ccb  gdb/testsuite/gdb.threads/print-threads.exp
+b19a0efa2d79f5e43bd65afb325d6030  gdb/testsuite/gdb.threads/multiple-step-overs.c
+f47660fb50e45ac82dfde96c8b208d53  gdb/testsuite/gdb.threads/signal-command-handle-nopass.c
+4713adce28ee2d4122ab3697a2b8ff28  gdb/testsuite/gdb.threads/next-bp-other-thread.exp
+123582f95a4cb73f96e0f38adb999b09  gdb/testsuite/gdb.threads/corethreads.exp
+6b64645b78f9451113a20b062f9af760  gdb/testsuite/gdb.threads/break-while-running.c
+97d170f345c153248421d9693c6c588b  gdb/testsuite/gdb.threads/wp-replication.exp
+026e6320b15bd7aeeb5f59ef3c840f09  gdb/testsuite/gdb.threads/linux-dp.exp
+bbb0aac24b06f2fb7b477d646d96b85e  gdb/testsuite/gdb.threads/watchthreads-reorder.exp
+7b036c4f18c35accb2c94363c820ed9d  gdb/testsuite/gdb.threads/tls2.c
+b93e03963bd612e4b592e67036888814  gdb/testsuite/gdb.threads/fork-thread-pending.c
+3e3f9f2e059e51e1eda9ff8364711283  gdb/testsuite/gdb.threads/fork-thread-pending.exp
+cfeb5e6bf2b563d3b141ee8e9b0f2d52  gdb/testsuite/gdb.threads/local-watch-wrong-thread.exp
+53568d503835ed659ccf1bf48399006f  gdb/testsuite/gdb.threads/thread-specific.c
+e39a7a0e944ae44c5ebfd13aab4ab79c  gdb/testsuite/gdb.threads/bp_in_thread.exp
+4e6c4ea34eb88b2461dd2cbf99e66dc6  gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp
+08e0b9adac4e382e1d125c4aab2581dc  gdb/testsuite/gdb.threads/tls-shared.exp
+bef7b02e98d886c06612e012540bbf70  gdb/testsuite/gdb.threads/leader-exit.exp
+76e39c263fcb1f72529a586d4e4199f4  gdb/testsuite/gdb.threads/sigthread.exp
+b49b3737173b4f0078fd62052d2c77ce  gdb/testsuite/gdb.threads/multi-create.c
+d52366a25995c9014f8a258baf769a0f  gdb/testsuite/gdb.threads/attach-stopped.exp
+44c9f72ce44e3338859b02894eb21f3e  gdb/testsuite/gdb.threads/next-bp-other-thread.c
+fa08207a0d828feebea518c2f3881790  gdb/testsuite/gdb.threads/sigstep-threads.c
+88c31c17973d7f5526b7a90641c7e4f9  gdb/testsuite/gdb.threads/ia64-sigill.exp
+d5fc1b19190c2938aa6c8446d86b6a8a  gdb/testsuite/gdb.threads/gcore-stale-thread.c
+47ada049352711a534da89d48621263c  gdb/testsuite/gdb.threads/no-unwaited-for-left.exp
+a7c2c6b952b068007c503da1f2aafacc  gdb/testsuite/gdb.threads/dlopen-libpthread.exp
+8e51237f2e601b09a8981af7beb8db6d  gdb/testsuite/gdb.threads/clone-new-thread-event.c
+15500fa952dd2fefc9bcfe9c5f385b7c  gdb/testsuite/gdb.threads/non-ldr-exc-2.c
+0fc498123d454fb997fb8ea6ec5bbbc0  gdb/testsuite/gdb.threads/execl.c
+2e0ac574c2c7609e12827e4036f156b2  gdb/testsuite/gdb.threads/threxit-hop-specific.exp
+675d5195f03fb0a761f04af6bfaa75b1  gdb/testsuite/gdb.threads/threadapply.exp
+45496644c8e02ca894f86fe13e800ea8  gdb/testsuite/gdb.threads/watchthreads2.c
+2f3e3cc9a442012ee1afea0da4edfcfd  gdb/testsuite/gdb.go/print.exp
 47d5bb179a9aa71b0a055cda6305669e  gdb/testsuite/gdb.go/Makefile.in
-42285908fe9cffdad5e7e8c08d189f9e  gdb/testsuite/gdb.go/methods.exp
-1f6a688359fbec21c0be488d918563a5  gdb/testsuite/gdb.go/unsafe.exp
+fbb2ac3c70957ce426a6e097a0fd53b2  gdb/testsuite/gdb.go/methods.exp
+54a6a4ab99029a04e02d2fa9da343d5c  gdb/testsuite/gdb.go/unsafe.exp
 3bf59fe4ee125fed62e361a4235f302d  gdb/testsuite/gdb.go/integers.go
-99dd1b60a964c7421c0665848d1fb128  gdb/testsuite/gdb.go/package.exp
-3abb906f24204aff0996d28711b78501  gdb/testsuite/gdb.go/chan.exp
-e8c6d153a0a256a748421790e22f53c2  gdb/testsuite/gdb.go/hello.exp
-6d66eba293f43269020ef8c83426ed1d  gdb/testsuite/gdb.go/basic-types.exp
+cbbe847f6f52f078db46cee136173ec5  gdb/testsuite/gdb.go/package.exp
+b196e52264f6a7f2070443d77815d393  gdb/testsuite/gdb.go/chan.exp
+407a082a3091e5faba51e94c9dba6941  gdb/testsuite/gdb.go/hello.exp
+17b6a70dfc15cfdbb2869c1daabbc223  gdb/testsuite/gdb.go/basic-types.exp
 5f84057605287dc236c63d56aab77a82  gdb/testsuite/gdb.go/handcall.go
 54037d4dd926eea5d4a2425fa18c0312  gdb/testsuite/gdb.go/package2.go
-6aebdf664e95e30ea5f6464ea49df271  gdb/testsuite/gdb.go/strings.exp
+313dd745d4dbfea50ee23b4dfe07d7cf  gdb/testsuite/gdb.go/strings.exp
 710eb55c40980ff44f412caea4f71ff5  gdb/testsuite/gdb.go/types.go
 113f4cb954c18df6f26abddb56a25eda  gdb/testsuite/gdb.go/chan.go
-020fbcd04a93d263e1d834ce93b64307  gdb/testsuite/gdb.go/types.exp
+e928ad8539846ca007aafb3031dfbaa3  gdb/testsuite/gdb.go/types.exp
 963c02de7da3fe31926fec771633a373  gdb/testsuite/gdb.go/package1.go
 b047847a5183b4462b5b135cfd964543  gdb/testsuite/gdb.go/unsafe.go
-3868173fae1fc3264d3e874deb5d5e20  gdb/testsuite/gdb.go/handcall.exp
+1e336ad64bff2149c2130616c9e90dc7  gdb/testsuite/gdb.go/handcall.exp
 139e82079c017f6cf42dfe490c1e06f1  gdb/testsuite/gdb.go/hello.go
-293ff2fc9b73be323ce7865edafde7bc  gdb/testsuite/gdb.go/integers.exp
+4127afeb79b2a2bff6c65f128ebd5969  gdb/testsuite/gdb.go/integers.exp
 ea5ff936bcbd68cbc91cb8771230db91  gdb/testsuite/gdb.go/strings.go
 81b7ed6cb92c627d245bd2efc4b953b9  gdb/testsuite/gdb.go/methods.go
-ae00ba3000f43b791d0098d3b9016328  gdb/testsuite/ChangeLog
+56dde501fc959881b6d6a34ecaaa21b2  gdb/testsuite/ChangeLog
 b3f11b21e5921c419a43f93720dedf85  gdb/testsuite/gdb.asm/empty.inc
-1eb07b94b265575ec23fe6a3facf2447  gdb/testsuite/gdb.asm/asm-source.exp
+37858e142701cb0c2b792e4f739ee3eb  gdb/testsuite/gdb.asm/asm-source.exp
 f1621bbbb2acbec5adef86d7d9549975  gdb/testsuite/gdb.asm/bfin.inc
 06d7f14849783aa0c642bd7c9d97b58a  gdb/testsuite/gdb.asm/Makefile.in
 583de4033345bc72fc5e10e2c913c70d  gdb/testsuite/gdb.asm/m68hc11.inc
@@ -3576,497 +3694,518 @@ b3bdc251c6b1eaf09953283df330eb9a  gdb/te
 cd196557c0510f072d40271da10c33a6  gdb/testsuite/gdb.asm/sh.inc
 e3c5be9e840a34c66a75b0204fe24a05  gdb/testsuite/gdb.asm/v850.inc
 1b9bb551736dbc95577c91620b81fb6c  gdb/testsuite/TODO
-6030815627e3216d6c2e7b116f41e2a5  gdb/testsuite/gdb.guile/scm-ports.exp
-ce95785189dc2715a364f20ee330f14f  gdb/testsuite/gdb.guile/scm-error-1.scm
-afb98d97c375374d209d2bf57367ebdf  gdb/testsuite/gdb.guile/scm-objfile.exp
+e2228d42fcb6f19f48fec2021378dbe4  gdb/testsuite/dg-extract-results.py
+16215df483ee168d69045ac66ad90441  gdb/testsuite/gdb.guile/scm-ports.exp
+a639325bd302458d019a612463ce284c  gdb/testsuite/gdb.guile/scm-error-1.scm
+b8167a8bd4b21136203abaf646dbd963  gdb/testsuite/gdb.guile/scm-objfile.exp
 98d344a53b888969805db3318bc75728  gdb/testsuite/gdb.guile/Makefile.in
-c2cb1669a0783f54124606fdea48aa91  gdb/testsuite/gdb.guile/scm-symbol.c
-09ea623e342b674607668f233d96bfea  gdb/testsuite/gdb.guile/scm-equal.c
-61717573e4d628b4f413b4b04ce9cc7d  gdb/testsuite/gdb.guile/scm-parameter.exp
-8987b795e2eff14bd2962c93836653b7  gdb/testsuite/gdb.guile/scm-disasm.exp
-64269cbdfd672046a13d7132db8aad83  gdb/testsuite/gdb.guile/scm-gsmob.exp
-fed1d03fde58b95811fd24e62417435c  gdb/testsuite/gdb.guile/scm-value-cc.exp
-669629364ec076de776aeb1a56bbbdbb  gdb/testsuite/gdb.guile/scm-objfile-script.exp
-adbac1028e2109047fbec1c517d73df1  gdb/testsuite/gdb.guile/scm-symbol.exp
-99a5f6255bf5d39ed228f87b6eb36862  gdb/testsuite/gdb.guile/scm-frame.exp
-860491f61d18d024c5375ef6fe4b6bc4  gdb/testsuite/gdb.guile/scm-arch.c
-8e2862633532cd563f4d810bfef58c83  gdb/testsuite/gdb.guile/scm-objfile.c
-ffa49d32b4c78d765d93f24994f9cc8f  gdb/testsuite/gdb.guile/scm-arch.exp
-3b69ac1e2faf5990ca5453f393b8dc5a  gdb/testsuite/gdb.guile/scm-frame-args.c
+25e3784d47e33abf7b7a26b50c1f2b32  gdb/testsuite/gdb.guile/scm-symbol.c
+f65d2eea37e2fa6b91db191aed2534ed  gdb/testsuite/gdb.guile/scm-equal.c
+2ec57d8c07daf36f0743bb321ca69c5b  gdb/testsuite/gdb.guile/scm-parameter.exp
+84235020fed32ac47fc781e5c42bd348  gdb/testsuite/gdb.guile/scm-disasm.exp
+c491b2579f840ab5c81b538b286c3075  gdb/testsuite/gdb.guile/scm-gsmob.exp
+428f5f2c12727a6f78fc0dec5b9c7eb3  gdb/testsuite/gdb.guile/scm-value-cc.exp
+b42dabb5eb8f9f0adc94fc47bd6ec772  gdb/testsuite/gdb.guile/scm-objfile-script.exp
+ad73b9253bcdd2e28ef7f51bf49eb5b2  gdb/testsuite/gdb.guile/scm-symbol.exp
+e902f52ae360f7739a23a24b3063dd6a  gdb/testsuite/gdb.guile/scm-frame.exp
+4499609c0474730fc5daa44c7c33a617  gdb/testsuite/gdb.guile/scm-arch.c
+4d95180b9972ce262b64df385e15f18f  gdb/testsuite/gdb.guile/scm-objfile.c
+bce221215f5b355c5230e48685ec3d3c  gdb/testsuite/gdb.guile/scm-arch.exp
+11fce7c0481a760b1deaffe5d4921b07  gdb/testsuite/gdb.guile/scm-frame-args.c
 2201fe232be56f834518596b4f09f9ce  gdb/testsuite/gdb.guile/scm-frame.c
-27885d98f45c95713da57f20b9b8207c  gdb/testsuite/gdb.guile/scm-type.exp
-68de77a6756261923196c304c86b5950  gdb/testsuite/gdb.guile/scm-type.c
-63af77c42e10e354b53ad43f7291c1e7  gdb/testsuite/gdb.guile/types-module.exp
-b9f6df310d3e5450d84a588c3bf59ccb  gdb/testsuite/gdb.guile/scm-section-script.exp
-afd434deef7fb6a771b739ae433b6a98  gdb/testsuite/gdb.guile/scm-breakpoint.exp
-b30755d767cf52a0a8a1eeb97b83543e  gdb/testsuite/gdb.guile/scm-equal.exp
-3047d1d011fa834a58e42ffec13258c0  gdb/testsuite/gdb.guile/scm-frame-inline.exp
-23664a0b79ed3f5e2445bba9b41dd2c6  gdb/testsuite/gdb.guile/scm-pretty-print.scm
-c15038faaf66e08be8a860b453c4e902  gdb/testsuite/gdb.guile/scm-value-cc.cc
-a5888ce5e08c04269ad03967dd0feaad  gdb/testsuite/gdb.guile/scm-frame-args.scm
-d3cb817f9073991ad38cafe064b9f2fb  gdb/testsuite/gdb.guile/scm-pretty-print.exp
-97b0cfb3996671d59688a037599f888f  gdb/testsuite/gdb.guile/scm-iterator.c
-ebf349eeb4e1d14c621b1dd015761a1f  gdb/testsuite/gdb.guile/types-module.cc
+d45918ad41f28518e8fe3918c05cb08c  gdb/testsuite/gdb.guile/scm-type.exp
+62659fdb4c413b25bb880fa330cb310b  gdb/testsuite/gdb.guile/scm-type.c
+e55414fbebbea609ffe07dce34ee4e18  gdb/testsuite/gdb.guile/types-module.exp
+962aa92bf6f861f40bcf48154cb2379d  gdb/testsuite/gdb.guile/scm-section-script.exp
+6d5bdadffca925631929cf11da79be3a  gdb/testsuite/gdb.guile/scm-breakpoint.exp
+12cce2d2cb9731808260303dd70baf5e  gdb/testsuite/gdb.guile/scm-equal.exp
+a35d51888e45fb0e3a4f20016295053b  gdb/testsuite/gdb.guile/scm-frame-inline.exp
+1317e0ccdf05809c0c06cfc32925f949  gdb/testsuite/gdb.guile/scm-pretty-print.scm
+3c294488149e357f7848c1f0296d99df  gdb/testsuite/gdb.guile/scm-value-cc.cc
+4432478e7fad8fc1a0198079bf6bb789  gdb/testsuite/gdb.guile/scm-frame-args.scm
+1899f08718535073395ad2ea7beb8854  gdb/testsuite/gdb.guile/scm-pretty-print.exp
+b645f45167a1b3639cfc53e9bdf66eee  gdb/testsuite/gdb.guile/scm-iterator.c
+3b3fe899983bea0c39557752b06b3084  gdb/testsuite/gdb.guile/types-module.cc
 19b1d054ff8325d5c188ed82d42c4e42  gdb/testsuite/gdb.guile/Makefile
-88d2270fbb62ea35199d3d16556da60f  gdb/testsuite/gdb.guile/scm-error-2.scm
-297df81ecec2cdb72ef1370715f2a502  gdb/testsuite/gdb.guile/scm-frame-inline.c
-d6a4ca15d29495b42d4cb635509c69cb  gdb/testsuite/gdb.guile/scm-progspace.exp
-b9e7e09b18c2f77ae39c31effdbfff5e  gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in
-dc8fbf5cdbd88f8bcd06e1ab1805af0a  gdb/testsuite/gdb.guile/scm-objfile-script.c
-cee3d1bd3f05896f88a4e489c8249dbe  gdb/testsuite/gdb.guile/scm-math.exp
-089bccc9555c98ce5e578e77de224691  gdb/testsuite/gdb.guile/scm-cmd.c
-aa32d9d1e89459536b0c0a32abb2cc0a  gdb/testsuite/gdb.guile/scm-symtab-2.c
-c7d47ebdb2582e358038bd0e88aeed6a  gdb/testsuite/gdb.guile/scm-section-script.scm
-ab4f41a70d6b4637df9eb15f555cf2a9  gdb/testsuite/gdb.guile/scm-block.exp
-4aa195c22da2d128a49bd59bdfa91052  gdb/testsuite/gdb.guile/scm-error.exp
-20c1b714ca34b66adefaf6c638d7d31b  gdb/testsuite/gdb.guile/scm-symtab.c
-960cdc9dd6591f4f71393f9ef2cd00c9  gdb/testsuite/gdb.guile/scm-math.c
-3944dda0cb69696331566f6cdca03af3  gdb/testsuite/gdb.guile/scm-breakpoint.c
-1ab9617f380bc7185495d9a67b26af79  gdb/testsuite/gdb.guile/scm-cmd.exp
-1df4725bb656c33c625c1823bbc64c56  gdb/testsuite/gdb.guile/scm-symtab.exp
-bbf14c2e7115ddb10e05e269ee8b127b  gdb/testsuite/gdb.guile/scm-section-script.c
-3abaf0efa7ac745ac494a22d498816f3  gdb/testsuite/gdb.guile/scm-value.c
-9f9472b8e8f02d58f90994630180b3dc  gdb/testsuite/gdb.guile/scm-frame-args.exp
-ee92e0925c41f9ac6a94f7c27daa9573  gdb/testsuite/gdb.guile/scm-iterator.exp
-21db79cce51659243de69c3c249d1723  gdb/testsuite/gdb.guile/scm-pretty-print.c
-860491f61d18d024c5375ef6fe4b6bc4  gdb/testsuite/gdb.guile/scm-disasm.c
-da2a5caf6d02bdfa7809c8169bca81ca  gdb/testsuite/gdb.guile/scm-progspace.c
-5bbd2ed8131cdd3eea2df78d20567527  gdb/testsuite/gdb.guile/scm-value.exp
-d9db3ee70858ea31047f61732d4be2a1  gdb/testsuite/gdb.guile/scm-block.c
-f067b04515902d604f4968492a55d3a7  gdb/testsuite/gdb.guile/source2.scm
-48f55c348d5d381cbdacdfd2b8455f6f  gdb/testsuite/gdb.guile/guile.exp
+55fce2cbcf6bee8fd4f6560f5971b613  gdb/testsuite/gdb.guile/scm-error-2.scm
+363d495d1e4b348f2d5cca23feb132ea  gdb/testsuite/gdb.guile/scm-frame-inline.c
+6d50a6b3c6a5d1bf4166a9688445bf45  gdb/testsuite/gdb.guile/scm-progspace.exp
+6af24483fe47615057c8a97fedc17803  gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in
+0d47196e435c7546054ee0f443ea68d7  gdb/testsuite/gdb.guile/scm-objfile-script.c
+16f685b3228221248e61415a0dd3a5f6  gdb/testsuite/gdb.guile/scm-math.exp
+868bc75698fee4ae83db8437ffce4be9  gdb/testsuite/gdb.guile/scm-cmd.c
+654bf1784739fee200255dea4cbfd354  gdb/testsuite/gdb.guile/scm-symtab-2.c
+786f4bd9f060439ad54e4246af119ff2  gdb/testsuite/gdb.guile/scm-section-script.scm
+9a0d12726404016ab5a40ef118ab32f8  gdb/testsuite/gdb.guile/scm-block.exp
+d728405259f2211d4adeebe21a0caa6e  gdb/testsuite/gdb.guile/scm-error.exp
+f6c0e2de75b1937f91850f216a4c15d6  gdb/testsuite/gdb.guile/scm-symtab.c
+48c77cf9f19baf2f2100e4a7c0c91dc4  gdb/testsuite/gdb.guile/scm-math.c
+b2a1cbdf6c1eb3e7655d5d5d8e7e2df9  gdb/testsuite/gdb.guile/scm-breakpoint.c
+0420927434e79cec5338a0aabc637b4f  gdb/testsuite/gdb.guile/scm-cmd.exp
+3a21d7fd34855317ef951d1b78ccd25f  gdb/testsuite/gdb.guile/scm-symtab.exp
+ce95f3ce030cd5968163d3fb688f2af1  gdb/testsuite/gdb.guile/scm-section-script.c
+8c0124baa25af526d5b0123aad349463  gdb/testsuite/gdb.guile/scm-value.c
+824ddb7faa0a8b6934aef24ec0ad014e  gdb/testsuite/gdb.guile/scm-frame-args.exp
+f8c3e18ef7284dffd3ec3f429c21ce38  gdb/testsuite/gdb.guile/scm-iterator.exp
+9f8d89879c26da959de6529133e36bf7  gdb/testsuite/gdb.guile/scm-pretty-print.c
+4499609c0474730fc5daa44c7c33a617  gdb/testsuite/gdb.guile/scm-disasm.c
+ac17569a406dff89574cf379fda61dc3  gdb/testsuite/gdb.guile/scm-progspace.c
+e1d02408b9ff969be6803264f36afa06  gdb/testsuite/gdb.guile/scm-value.exp
+5bad793d42bebb09005a77e4bde8bacd  gdb/testsuite/gdb.guile/scm-block.c
+2a9d0bbe777b90f9b4fe6130816347b7  gdb/testsuite/gdb.guile/source2.scm
+a33373b46be806e273eb4f2b9e6fc6ce  gdb/testsuite/gdb.guile/guile.exp
 f0f471d0b077ed32873ec23acd184ae2  gdb/testsuite/gdb.objc/basicclass.m
-8b17704d383b88646b85e758a234a6be  gdb/testsuite/gdb.objc/print.exp
+2a6482c967b31abc354ca0704ec101c9  gdb/testsuite/gdb.objc/print.exp
 cb36204b3c0981700f1fb27bba46a192  gdb/testsuite/gdb.objc/Makefile.in
 5bf9075727dbd558ccbf123d9e11859a  gdb/testsuite/gdb.objc/objcdecode.m
-5d3e19272dcd328e3dbda620de31b345  gdb/testsuite/gdb.objc/objcdecode.exp
-b1c36f8ee778ea14f67175160f63fafe  gdb/testsuite/gdb.objc/nondebug.exp
+268b44713f24441512b0e206fad75747  gdb/testsuite/gdb.objc/objcdecode.exp
+a42a9b84486cd3460f68434b61e1e5b5  gdb/testsuite/gdb.objc/nondebug.exp
 680e14fd32f14cd93c56886bcb05f177  gdb/testsuite/gdb.objc/nondebug.m
-270bc823524b77b38836385a96839a37  gdb/testsuite/gdb.objc/basicclass.exp
-af83cea24b46318f2ec33936b3353fae  gdb/testsuite/gdb.ada/dyn_arrayidx.exp
-d1f9585ce76d711c8d4e99a65515a577  gdb/testsuite/gdb.ada/rdv_wait.exp
-411f42356c1dd17a72fcba6e3b54afc4  gdb/testsuite/gdb.ada/null_array/foo.adb
-46960aa73afed8692f33fcd151d3762e  gdb/testsuite/gdb.ada/null_array/pck.ads
-a664ee90c417bcbe6f55cbb4babcc15a  gdb/testsuite/gdb.ada/null_array/pck.adb
-9b0eb2f4e17a38479a472215741520d1  gdb/testsuite/gdb.ada/widewide.exp
-6ccff5a0852df01af6e81f894221917b  gdb/testsuite/gdb.ada/operator_bp/ops.adb
-acd1413b40c456cdb4f7429417ba7573  gdb/testsuite/gdb.ada/operator_bp/ops.ads
-92760fa7c4f956109803dd1c6d0aebc3  gdb/testsuite/gdb.ada/operator_bp/ops_test.adb
-c240459b27af124cf4ff6c78106e38dc  gdb/testsuite/gdb.ada/ptype_tagged_param.exp
-2637ab77359607228040642c4f8c9059  gdb/testsuite/gdb.ada/formatted_ref/defs.adb
-d9a6f37f2101e62e13baf7fca19f8ddf  gdb/testsuite/gdb.ada/formatted_ref/defs.ads
-77fe32c752f3affb5f3cd5529057194b  gdb/testsuite/gdb.ada/formatted_ref/formatted_ref.adb
-b0e1f4391ec8873c78a44d9b5f9856f3  gdb/testsuite/gdb.ada/int_deref.exp
-172aaec1de9fc2ca2bb19b6c05f13cb0  gdb/testsuite/gdb.ada/homonym/homonym.adb
-42e9fdfae8c6977242a8c8516d87f054  gdb/testsuite/gdb.ada/homonym/pck.ads
-e82732d4ae6110c539563a4c453f5955  gdb/testsuite/gdb.ada/homonym/pck.adb
-d44f2b4bdc92d85bc2f58cdce1da7fa6  gdb/testsuite/gdb.ada/homonym/homonym.ads
-7d59485936740c10998e7739defd8f4c  gdb/testsuite/gdb.ada/homonym/homonym_main.adb
-1a605ae7930f8fa4c2bd111f1beeae7c  gdb/testsuite/gdb.ada/optim_drec.exp
-9fa689f410c0e3600056dfc73297f475  gdb/testsuite/gdb.ada/expr_delims/foo.adb
-8adadceead59ffafca87a52ee1e18029  gdb/testsuite/gdb.ada/expr_delims/pck.ads
-23c143fd85616b076ceb2a1c577681f0  gdb/testsuite/gdb.ada/expr_delims/pck.adb
-e27813c5a32cb08dc7bd70edf44a0cf0  gdb/testsuite/gdb.ada/aliased_array/foo.adb
-5d71fab08a790f87e013df7960fdc71d  gdb/testsuite/gdb.ada/aliased_array/pck.ads
-7b106a4689f34613d6f9f7a78784b883  gdb/testsuite/gdb.ada/aliased_array/pck.adb
-e021f7f611c1760d6b1b8a61ae503602  gdb/testsuite/gdb.ada/task_bp.exp
-bec1f5ce1b1c8b1068ea34c6b161ffcf  gdb/testsuite/gdb.ada/exec_changed/first.adb
-76900326eb016d78356a51741df7c044  gdb/testsuite/gdb.ada/exec_changed/second.adb
-8675a64954d5381819ae853864cedc1a  gdb/testsuite/gdb.ada/bp_on_var/foo.adb
-fa88d396efdaf44aa2baeced3034825d  gdb/testsuite/gdb.ada/bp_on_var/pck.ads
-c371b39f0fa8c137bfef3bca54d6be5c  gdb/testsuite/gdb.ada/bp_on_var/pck.adb
+a79b0bbe5d1bb81cca171c85458aa1e3  gdb/testsuite/gdb.objc/basicclass.exp
+53ddf1a29554feb10283252695707961  gdb/testsuite/gdb.ada/dyn_arrayidx.exp
+806cf09bd69adc89fbe82217a4642ce1  gdb/testsuite/gdb.ada/rdv_wait.exp
+0c4e9a50cf5d2fe6b5692f820cda36f1  gdb/testsuite/gdb.ada/null_array/foo.adb
+b0c8e3cd72e4a0527a6d1296e48e2e4c  gdb/testsuite/gdb.ada/null_array/pck.ads
+05a5bc734c649a521fe6ca52cde80458  gdb/testsuite/gdb.ada/null_array/pck.adb
+7706616794006a9f994cb18da5d77028  gdb/testsuite/gdb.ada/widewide.exp
+95ffeaf477caa88fb66826da809261ad  gdb/testsuite/gdb.ada/operator_bp/ops.adb
+6bf1c756e170d473738d619097cad5f5  gdb/testsuite/gdb.ada/operator_bp/ops.ads
+fe16ce708479d8485cfbc14c728c5b5d  gdb/testsuite/gdb.ada/operator_bp/ops_test.adb
+5c7cbce3d827b0d139cacd5d756f02a0  gdb/testsuite/gdb.ada/ptype_tagged_param.exp
+cc1a40f775e862a282699f80341a748c  gdb/testsuite/gdb.ada/formatted_ref/defs.adb
+79590500824a1f5b9ab7bc528116e95a  gdb/testsuite/gdb.ada/formatted_ref/defs.ads
+0bab16a7e95c12e3d6ab17e6283894f6  gdb/testsuite/gdb.ada/formatted_ref/formatted_ref.adb
+c59de340bd3070d3b5901461471050aa  gdb/testsuite/gdb.ada/int_deref.exp
+78c1f14783dddb13bcbca13b573e3ade  gdb/testsuite/gdb.ada/homonym/homonym.adb
+c9b1a55a36545b18d1b0f37eace347a2  gdb/testsuite/gdb.ada/homonym/pck.ads
+2a7af307d9d777e3f3c19e16b655222f  gdb/testsuite/gdb.ada/homonym/pck.adb
+0eb4371008fac3d4612bbc04525d8d3a  gdb/testsuite/gdb.ada/homonym/homonym.ads
+e2087696aaa321597af5d8186b7ee014  gdb/testsuite/gdb.ada/homonym/homonym_main.adb
+c1583e7caf0ed1f96f598a846e0dab5d  gdb/testsuite/gdb.ada/optim_drec.exp
+12ecb2d6b583f873b8fa5eefaed4f124  gdb/testsuite/gdb.ada/expr_delims/foo.adb
+adfa00e0758001a1fe805c9fef847fe7  gdb/testsuite/gdb.ada/expr_delims/pck.ads
+7249360b436af6c9be0d4babcbfb2be4  gdb/testsuite/gdb.ada/expr_delims/pck.adb
+6b25cb53039092f0f1953d04d9742363  gdb/testsuite/gdb.ada/aliased_array/foo.adb
+5b81f401f04735c7907e5b55ffd4ac0c  gdb/testsuite/gdb.ada/aliased_array/pck.ads
+8f7f78fb8694dd8f58c39e3f5381265f  gdb/testsuite/gdb.ada/aliased_array/pck.adb
+e31f8d380f6f2e37f6257b453b16bf76  gdb/testsuite/gdb.ada/task_bp.exp
+698e84fc515cd91539ad91a5e9f8b952  gdb/testsuite/gdb.ada/exec_changed/first.adb
+09a99834c0312c0c61e0bbd412981e1a  gdb/testsuite/gdb.ada/exec_changed/second.adb
+c631dc38cfcf6576039c156c51b467b2  gdb/testsuite/gdb.ada/bp_on_var/foo.adb
+108195ecbd5c60541abcdad05a893457  gdb/testsuite/gdb.ada/bp_on_var/pck.ads
+a69e30c47d6b7d360d7f49e1b6c699f7  gdb/testsuite/gdb.ada/bp_on_var/pck.adb
 5c9aac2e20ef2516f2bfea5dfeb70adb  gdb/testsuite/gdb.ada/Makefile.in
-7bca6275895cada5620c54a2a3a79e9b  gdb/testsuite/gdb.ada/bp_reset.exp
-a2b8a7e52c9e6950371cb22adced5921  gdb/testsuite/gdb.ada/frame_args/foo.adb
-afd5fc8e530e6fb50d35080c2ae0d6fe  gdb/testsuite/gdb.ada/frame_args/pck.ads
-81df8ac6f1bed5c027a024dd621f386d  gdb/testsuite/gdb.ada/frame_args/pck.adb
-3abd0a968570b0fbf71e6df2a8020cd3  gdb/testsuite/gdb.ada/array_bounds/bar.adb
-aa7c732a1be77a9833771bbc3106d321  gdb/testsuite/gdb.ada/win_fu_syms.exp
-654c172faf0496e627a0bf78d831835a  gdb/testsuite/gdb.ada/tagged_access/p.adb
-d6f5b5b463e5f505e140a88390881e76  gdb/testsuite/gdb.ada/tagged_access/pack.ads
-d090762b4e6f71a42548397a44d7db34  gdb/testsuite/gdb.ada/tagged_access/pack.adb
-a6372c3d71f6b1d280e9d7a09e0f6edc  gdb/testsuite/gdb.ada/pp-rec-component.py
-c2b801187cf9465b9ec1f1a4ca97a6ff  gdb/testsuite/gdb.ada/mod_from_name.exp
-f6414dae0e609abbeb1b9a3a2f029a62  gdb/testsuite/gdb.ada/tagged_not_init/foo.adb
-872fc1569886654021eaad58b8d748c5  gdb/testsuite/gdb.ada/tagged_not_init/pck.ads
-556bc08175bed3e94205fde8725134fc  gdb/testsuite/gdb.ada/tagged_not_init/pck.adb
-177b38bc9f0cc3a7c775bfc83aeddd1c  gdb/testsuite/gdb.ada/fun_in_declare.exp
-89f4b4c8eb7506397bc591cb1af34f98  gdb/testsuite/gdb.ada/expr_delims.exp
-864267b775702f7751521b76c7feb996  gdb/testsuite/gdb.ada/fixed_cmp/pck.ads
-bffdc5f840da7341b24d115f04f2ad5b  gdb/testsuite/gdb.ada/fixed_cmp/pck.adb
-24e2532780a162dfbd9b9e099e794a59  gdb/testsuite/gdb.ada/fixed_cmp/fixed.adb
-90258319e542d83ed0bc42f08a047022  gdb/testsuite/gdb.ada/arrayparam.exp
-a4426e390e9d17b9a3433d4cc2c391f1  gdb/testsuite/gdb.ada/float_param/foo.adb
-2ff5adc1402c793aa2d784959841a80b  gdb/testsuite/gdb.ada/float_param/pck.ads
-bd11ad59771569be2b0853302356754a  gdb/testsuite/gdb.ada/float_param/pck.adb
-852d340caf65d99e62dd055ecd617a30  gdb/testsuite/gdb.ada/arraydim/foo.adb
-ec87c21d2013cbd2cc1325269dbe89f5  gdb/testsuite/gdb.ada/arraydim/pck.ads
-6e22cdc7f79e3616151ec93b64286546  gdb/testsuite/gdb.ada/arraydim/inc.c
-39de7175757b99a3ad726a2cf13c2435  gdb/testsuite/gdb.ada/arraydim/pck.adb
-3e6c238678e65b4ed5735a4fd691ef3c  gdb/testsuite/gdb.ada/complete.exp
-4bd1a803ef7c76b40404aaeb85e42419  gdb/testsuite/gdb.ada/funcall_param.exp
-7d423cac35406345c01178407f53df46  gdb/testsuite/gdb.ada/small_reg_param.exp
-45c96542d074ff7c3a658fca89bff0ce  gdb/testsuite/gdb.ada/arrayidx.exp
-a3973cebef3bf27d76e0887026941292  gdb/testsuite/gdb.ada/rdv_wait/foo.adb
-8d856dccfd5e7ca7e10a2c60cffc6262  gdb/testsuite/gdb.ada/rdv_wait/pck.ads
-e8ce48c07a40a578d5fe86059eca805d  gdb/testsuite/gdb.ada/rdv_wait/pck.adb
-a36e8b516c87b2b662d9cd0e89e59611  gdb/testsuite/gdb.ada/optim_drec/foo.adb
-0e3b386509d52266e2fa703dd8de2bd9  gdb/testsuite/gdb.ada/dot_all.exp
-98befc12f6743d5a185366a6cabf032d  gdb/testsuite/gdb.ada/bp_range_type.exp
-4899eed52f376e1b06dde129046ad4bd  gdb/testsuite/gdb.ada/set_wstr/pck.ads
-4c9c75c2c458fe10bc452a9966bdf1e6  gdb/testsuite/gdb.ada/set_wstr/pck.adb
-241fa1af41e80e1a2e871e17382495dc  gdb/testsuite/gdb.ada/set_wstr/a.adb
-19e337620fc54cd251fa06490c82516e  gdb/testsuite/gdb.ada/arraydim.exp
-4a99abe15b9e53a2d3412c4e3354ccd0  gdb/testsuite/gdb.ada/complete/foo.adb
-548642e9da26b6a99764887a75eeed2e  gdb/testsuite/gdb.ada/complete/pck.ads
-d4b4a6e9d7437f776ee8983a99a9027b  gdb/testsuite/gdb.ada/complete/pck.adb
-63a8f8fba8ed194de772fcece9c52bdb  gdb/testsuite/gdb.ada/ptype_field.exp
-cb9ba78ee8e3cf66736fa30dec419135  gdb/testsuite/gdb.ada/call_pn/foo.adb
-9d6658d6a735cc58efb3076f1c465ca4  gdb/testsuite/gdb.ada/call_pn/pck.ads
-3a1de7f838e1487c97ba9af7952cbaea  gdb/testsuite/gdb.ada/call_pn/pck.adb
-be86cf0a734833db8bcdb7dbb4c329f1  gdb/testsuite/gdb.ada/mi_catch_ex.exp
-04924aad3bcd028a0abc4806321392fa  gdb/testsuite/gdb.ada/tagged/foo.adb
-c3499bb4b5b63b007715e375efba24f3  gdb/testsuite/gdb.ada/tagged/pck.ads
-06ae608626a0678b1f7fee5d131c2274  gdb/testsuite/gdb.ada/tagged/pck.adb
-c3367cd7dfa6799a52b14e55322f1fdf  gdb/testsuite/gdb.ada/array_subscript_addr.exp
-f25e7e28161d13c81907036a3ab04844  gdb/testsuite/gdb.ada/exprs/p.adb
-7ef97f6d29b3de751f595a06ba33ad02  gdb/testsuite/gdb.ada/cond_lang/foo.c
-49d919d98b4ec1bcc44ed9a43fbcd0f1  gdb/testsuite/gdb.ada/cond_lang/mixed.adb
-e619d4da0336dd75cf2f5153e4f17f89  gdb/testsuite/gdb.ada/cond_lang/pck.ads
-b2df85733bc84421c2902d34e0655b1d  gdb/testsuite/gdb.ada/cond_lang/mixed.ads
-bbd3b171d54e5b2959acf6f63b7ad19d  gdb/testsuite/gdb.ada/cond_lang/pck.adb
-45c20cdcfe2798079940004670e7db4e  gdb/testsuite/gdb.ada/cond_lang/a.adb
-ec8f17df150dc1b90b122662d66bf7a2  gdb/testsuite/gdb.ada/lang_switch.exp
-6bfbfe6a2161f1cb5c258703fcf75a4d  gdb/testsuite/gdb.ada/watch_arg.exp
-5f469f7df955613ae788e83a938b387b  gdb/testsuite/gdb.ada/packed_array/pa.adb
-92c75d399e56fdfbddb81e0d84743108  gdb/testsuite/gdb.ada/packed_array/pck.ads
-6709690b23f3a05aa37bb1813af6825d  gdb/testsuite/gdb.ada/packed_array/pck.adb
-c8f9f7d8642e739399f19e9418ccf35a  gdb/testsuite/gdb.ada/packed_tagged.exp
-7041b449991c3c14d2b3afa1bdbde15a  gdb/testsuite/gdb.ada/win_fu_syms/foo.adb
-22f3aca7799227e44b80352d652abc5d  gdb/testsuite/gdb.ada/win_fu_syms/pck.ads
-2b7715226a526ef8655fc99ac8d87b54  gdb/testsuite/gdb.ada/win_fu_syms/pck.adb
-012ff59109f80aa44e9a7aae980c2971  gdb/testsuite/gdb.ada/null_record/null_record.adb
-0ba0c4890c4576f1870fe1912c2305cb  gdb/testsuite/gdb.ada/null_record/bar.adb
-c34dfff78a3ef0690f04227b64ce763a  gdb/testsuite/gdb.ada/null_record/bar.ads
-33e510301f940d19f55ba69aa13aa3e8  gdb/testsuite/gdb.ada/print_chars.exp
-ac353d9477e559321fc17a1b528dc493  gdb/testsuite/gdb.ada/arrayptr/foo.adb
-e014b4cc68a25b136b80b6e9e9424362  gdb/testsuite/gdb.ada/arrayptr/pck.ads
-d5eaea972db9f39dc8b9773fabaefc56  gdb/testsuite/gdb.ada/arrayptr/pck.adb
-b50c25179a5b7b5d820a053856ec6397  gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp
-72b5005b90c67819f0b3a715bf2c7ccf  gdb/testsuite/gdb.ada/start.exp
-708288decc28b592316ad92c2be77d7a  gdb/testsuite/gdb.ada/tasks.exp
-e8365faac0a29127bd2009e7bd583634  gdb/testsuite/gdb.ada/array_return.exp
-fa6a13737e8cc228a54f793dc0634ee1  gdb/testsuite/gdb.ada/info_types.exp
-228531863863714686e02dce8fb7478f  gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb
-cb3088d94e3112d947684e0d4ebeb360  gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads
-ae43dd5fe6f76f1e5b6d757a7f639ed5  gdb/testsuite/gdb.ada/taft_type.exp
-5da2a1a408da36debe9978bc10cb373b  gdb/testsuite/gdb.ada/bp_reset/foo.adb
-0191925b908ddb11c6bb1e006eb85bc9  gdb/testsuite/gdb.ada/bp_reset/io.adb
-bd3f7e31c87c6eac58bee1254079a115  gdb/testsuite/gdb.ada/bp_reset/pck.ads
-167d360802da15f6effb71511f17e603  gdb/testsuite/gdb.ada/bp_reset/pck.adb
-503a9e243925329057a7a00063a4e00c  gdb/testsuite/gdb.ada/bp_reset/io.ads
-ded6f14e32a94b126e7adcec46ce9aab  gdb/testsuite/gdb.ada/arrayidx/p.adb
-362a721ba33f5be386da130c51c310bf  gdb/testsuite/gdb.ada/bp_range_type/foo.adb
-4899eed52f376e1b06dde129046ad4bd  gdb/testsuite/gdb.ada/bp_range_type/pck.ads
-4c9c75c2c458fe10bc452a9966bdf1e6  gdb/testsuite/gdb.ada/bp_range_type/pck.adb
-2b06aeb9b25a588d79b720000a49b8db  gdb/testsuite/gdb.ada/array_char_idx/foo.adb
-13c9a1ea33ba8a8889d7837d41f225a9  gdb/testsuite/gdb.ada/array_char_idx/pck.ads
-4c9c75c2c458fe10bc452a9966bdf1e6  gdb/testsuite/gdb.ada/array_char_idx/pck.adb
-f54144017220d203125afea2e16e9343  gdb/testsuite/gdb.ada/packed_array.exp
-cc4523979533c26e554195f6a9e810b9  gdb/testsuite/gdb.ada/homonym.exp
-c73ef6c5f69963513f9d65983266bc71  gdb/testsuite/gdb.ada/dot_all/foo.adb
-81205a1343aeb87a544c1897dacc5822  gdb/testsuite/gdb.ada/dot_all/pck.ads
-06ae608626a0678b1f7fee5d131c2274  gdb/testsuite/gdb.ada/dot_all/pck.adb
-85e5e2fdebecbecace77090f05eba5e7  gdb/testsuite/gdb.ada/watch_arg/watch.adb
-42e9fdfae8c6977242a8c8516d87f054  gdb/testsuite/gdb.ada/watch_arg/pck.ads
-87d8f1794fd0ab9ad5027f7ac5eb76b4  gdb/testsuite/gdb.ada/watch_arg/pck.adb
-70376a8db9bfe48e8f91b74d2493e132  gdb/testsuite/gdb.ada/array_char_idx.exp
-91b89f259abd4bb7c1f8799b1e7d88ce  gdb/testsuite/gdb.ada/gnat_ada.gpr
-721348726a709c104b575fa87f45ee62  gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb
-cba93f1156b38f9cb1b5a0d59a50e01f  gdb/testsuite/gdb.ada/type_coercion.exp
-057a8652870e4ee2944cd623cbd1d6bd  gdb/testsuite/gdb.ada/char_enum.exp
-6c1a4c37fdac2c875a421490a8a05799  gdb/testsuite/gdb.ada/mi_task_arg/task_switch.adb
-f42b5c45ea5b73b749009f5c8a980077  gdb/testsuite/gdb.ada/iwide.exp
-f8df47b6a752e186126a05763c82bbd8  gdb/testsuite/gdb.ada/tick_length_array_enum_idx/foo_n207_004.adb
-56918b00abe7b358a62a57364b2ec20b  gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.ads
-ce4a4c694e49720db466a56383fa9553  gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.adb
-3be3a9271b95dc502b0614dcb738ebb0  gdb/testsuite/gdb.ada/ptype_field/foo.adb
-9282387940b44f7b9668786db3858603  gdb/testsuite/gdb.ada/ptype_field/pck.ads
-b674fa9da7fcd60fab40f9da605acaf7  gdb/testsuite/gdb.ada/ptype_field/pck.adb
-ad93e4039ca0aa5a11938513a37cadab  gdb/testsuite/gdb.ada/array_bounds.exp
-7afbd855035034e92133cb5e390ec21b  gdb/testsuite/gdb.ada/atomic_enum.exp
-1f6a4a2d4f6906320c2390c83eed08b6  gdb/testsuite/gdb.ada/arrayparam/foo.adb
-64e77b514acdac5dcafb64fab15fd9cc  gdb/testsuite/gdb.ada/arrayparam/pck.ads
-fd501c7f846787a853ca851e8d8344ee  gdb/testsuite/gdb.ada/arrayparam/pck.adb
-0330cc5d17b3cd161c4b67d7e3b4d8a4  gdb/testsuite/gdb.ada/tick_last_segv/foo.adb
-236a9640faf5eed80603690fa87dcbf3  gdb/testsuite/gdb.ada/same_enum.exp
-84c95889d075c1df8395bc9383fa246f  gdb/testsuite/gdb.ada/py_range/foo.adb
-864267b775702f7751521b76c7feb996  gdb/testsuite/gdb.ada/py_range/pck.ads
-bffdc5f840da7341b24d115f04f2ad5b  gdb/testsuite/gdb.ada/py_range/pck.adb
-c7aa182f9151eac7fe5ba79ace0615eb  gdb/testsuite/gdb.ada/tagged_access.exp
-721348726a709c104b575fa87f45ee62  gdb/testsuite/gdb.ada/tasks/foo.adb
-b5cee78006085474ff1ae32220537aca  gdb/testsuite/gdb.ada/char_param/foo.adb
-04d2ebf33d3623f49918efd43b71a9f6  gdb/testsuite/gdb.ada/char_param/pck.ads
-645ae6d391de4ca40bb2bb3ed01e5649  gdb/testsuite/gdb.ada/char_param/pck.adb
-fb210edf0fb3df18f6ca4aa62970b4b6  gdb/testsuite/gdb.ada/O2_float_param/foo.adb
-8186edf998898b2efddf6d19f33228b4  gdb/testsuite/gdb.ada/O2_float_param/caller.adb
-cc410be712ed86ae2efb182f8a74dc52  gdb/testsuite/gdb.ada/O2_float_param/callee.ads
-6864f6d785dc52b66fcf329c1c0e064d  gdb/testsuite/gdb.ada/O2_float_param/io.adb
-a3d60cada8ff56548dd0e4c8ca3a046f  gdb/testsuite/gdb.ada/O2_float_param/callee.adb
-451c1ca1f6a5c55f6cdf926d68dde6c6  gdb/testsuite/gdb.ada/O2_float_param/caller.ads
-783aee36e999ddbd8a33f612f204975a  gdb/testsuite/gdb.ada/O2_float_param/io.ads
-f7ff317202847c196bd551c48e169064  gdb/testsuite/gdb.ada/bp_enum_homonym.exp
-e1efc217f4c13e936f783bea90fc03f5  gdb/testsuite/gdb.ada/sym_print_name/foo.adb
-713738147fcf70d129d35871b22ead2e  gdb/testsuite/gdb.ada/sym_print_name/pck.ads
-e41261b3a9475a51f13ec0938c25447d  gdb/testsuite/gdb.ada/sym_print_name/pck.adb
-5761604f804c2803f15baef5ed732ffb  gdb/testsuite/gdb.ada/sym_print_name.exp
-55d24fd3e09c4eb832bdd5a733447bd2  gdb/testsuite/gdb.ada/bp_on_var.exp
-bda31321f68c211c163cf9f06e38d5ae  gdb/testsuite/gdb.ada/fixed_points.exp
-d40077cc47639f77f8ec1c8e2652b151  gdb/testsuite/gdb.ada/ptr_typedef.exp
-474e2b0c587891f3277782d559c46ba1  gdb/testsuite/gdb.ada/array_return/pck.ads
-c92dabbbde09f47707206e533ebfff31  gdb/testsuite/gdb.ada/array_return/p.adb
-e7bd5f249bd4537009e0b9de207c7624  gdb/testsuite/gdb.ada/array_return/pck.adb
-ee62af7ba109823ff134730cf9a218e3  gdb/testsuite/gdb.ada/task_bp/foo.adb
-ddfe09be7fae845981f8e02ea426691e  gdb/testsuite/gdb.ada/task_bp/pck.ads
-1a5480c465cabc8a94fcd9e812c44f42  gdb/testsuite/gdb.ada/task_bp/pck.adb
-9010776d969518bcff18cb8559332871  gdb/testsuite/gdb.ada/null_record.exp
-7ce1b31830a241a7ba5178eadfb413ef  gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb
-833a14f62b49f4079a7a1262ca74490c  gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads
-4c9c75c2c458fe10bc452a9966bdf1e6  gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb
-c417ba096a9a9dd0f697d1f141afbad2  gdb/testsuite/gdb.ada/ptr_typedef/foo.adb
-42e9fdfae8c6977242a8c8516d87f054  gdb/testsuite/gdb.ada/ptr_typedef/pck.ads
-e82732d4ae6110c539563a4c453f5955  gdb/testsuite/gdb.ada/ptr_typedef/pck.adb
-e1e60793e95d884a9bcc07760338a437  gdb/testsuite/gdb.ada/rec_return.exp
-5d51bfa370962d07353a34f9cebda813  gdb/testsuite/gdb.ada/tagged.exp
-eb5bd9553ea283eda95eef80c3e91572  gdb/testsuite/gdb.ada/uninitialized_vars/parse.adb
-46177d61c1bd7d0b5f886ec433a021f9  gdb/testsuite/gdb.ada/uninitialized_vars/parse_controlled.ads
-7e3f3cc5a23101e1a012e666f7dc6fdc  gdb/testsuite/gdb.ada/info_types.c
-470a541834ab58a7212128988ef329ff  gdb/testsuite/gdb.ada/whatis_array_val.exp
-8b235ff4b18275a2b137c9e12c93643f  gdb/testsuite/gdb.ada/whatis_array_val/foo.adb
-42e9fdfae8c6977242a8c8516d87f054  gdb/testsuite/gdb.ada/whatis_array_val/pck.ads
-87d8f1794fd0ab9ad5027f7ac5eb76b4  gdb/testsuite/gdb.ada/whatis_array_val/pck.adb
-47acfda68bf0b002177c33d9ade22226  gdb/testsuite/gdb.ada/mi_dyn_arr.exp
-6cd0e344a2fd31de53222fca159b47bd  gdb/testsuite/gdb.ada/type_coercion/ident.adb
-4ec645650850816c6c640fba6e14ed38  gdb/testsuite/gdb.ada/type_coercion/assign.adb
-742c7c732faa08de6ef56c6a8b2e0f56  gdb/testsuite/gdb.ada/py_range.exp
-27296f56debf8e3aa735265221578940  gdb/testsuite/gdb.ada/operator_bp.exp
-0d50b48e5fcae8dafaa184494dd60626  gdb/testsuite/gdb.ada/tagged_not_init.exp
-37f5f25fc9e61a907bcc3d4a2ae47be1  gdb/testsuite/gdb.ada/tick_last_segv.exp
-02f52c215325a8ed33a0cf39926980a4  gdb/testsuite/gdb.ada/atomic_enum/foo.adb
-a7e336c72351195806a56cad3b533941  gdb/testsuite/gdb.ada/atomic_enum/pck.ads
-54c250c7bb0d1434d1e81a99db6ca413  gdb/testsuite/gdb.ada/atomic_enum/pck.adb
-1a45c91b71f73e11d23a455908556f30  gdb/testsuite/gdb.ada/int_deref/foo.adb
-155f619058267a4d24a010b04b49576c  gdb/testsuite/gdb.ada/int_deref/pck.ads
-f2d2f60b38e04e720a327137b9730497  gdb/testsuite/gdb.ada/mi_exc_info/foo.adb
-0f749311faf42c53fb77ab86c2aa034d  gdb/testsuite/gdb.ada/mi_exc_info/const.ads
-f2d2f60b38e04e720a327137b9730497  gdb/testsuite/gdb.ada/info_exc/foo.adb
-0f749311faf42c53fb77ab86c2aa034d  gdb/testsuite/gdb.ada/info_exc/const.ads
-d7819a7babb1bb84d15eeb662cdad756  gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec.exp
-53bc30b5478b859e86a33974aed098ca  gdb/testsuite/gdb.ada/float_param.exp
-a40f18b7b35b9f39aac8763bbd6398f6  gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb
-752221edec3783e42f7af53af8c3b127  gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads
-c154f1b5d2e418f6a15a870e92c037a7  gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb
-248e34ac82a6eef9ba86098b1e6e6498  gdb/testsuite/gdb.ada/widewide/foo.adb
-1c9984f8de2ac608ffa28211579c1cb6  gdb/testsuite/gdb.ada/widewide/pck.ads
-87d8f1794fd0ab9ad5027f7ac5eb76b4  gdb/testsuite/gdb.ada/widewide/pck.adb
-055de15d43280ef56520c28245151219  gdb/testsuite/gdb.ada/char_enum/foo.adb
-4dcaea11859036eb1dbab6e42b8f82b4  gdb/testsuite/gdb.ada/char_enum/pck.ads
-c0ec9dfb3d3f9f6092a73299c69b971e  gdb/testsuite/gdb.ada/char_enum/pck.adb
-7a20bdbc807cb2c7a006397f12730593  gdb/testsuite/gdb.ada/mi_interface/foo.adb
-3d026251601f3695d393cd751f39dc91  gdb/testsuite/gdb.ada/mi_interface/pck.ads
-2db0768e072c863f196ce8d0e32e2c23  gdb/testsuite/gdb.ada/mi_interface/pck.adb
-661bc6073d5e600a93107352d85688b8  gdb/testsuite/gdb.ada/lang_switch/foo.c
-25e8f2290b3621a60b7a60e8b72c34df  gdb/testsuite/gdb.ada/lang_switch/lang_switch.adb
-45477ccb6a6a3485dfe0aa2d1f5db576  gdb/testsuite/gdb.ada/arrayptr.exp
-3b956d62bf8647ac71825649f385dfcf  gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb
-62527fb3454f441292aa388cb4c0a662  gdb/testsuite/gdb.ada/mi_exc_info.exp
-3b956d62bf8647ac71825649f385dfcf  gdb/testsuite/gdb.ada/catch_ex/foo.adb
-baf599e7137a37ba1dd86fce55f4fad9  gdb/testsuite/gdb.ada/mi_interface.exp
-9330bd7189b53d7c3d845897bad6510c  gdb/testsuite/gdb.ada/tick_length_array_enum_idx.exp
-6fcc9c734c9250d98e9252bbc099bd2e  gdb/testsuite/gdb.ada/taft_type/pck.ads
-bbdcabe339b9ab58b7e962675c9f9835  gdb/testsuite/gdb.ada/taft_type/p.adb
-58c5ac0edb9d688b75ba54bf490d815b  gdb/testsuite/gdb.ada/taft_type/pck.adb
-6c1a4c37fdac2c875a421490a8a05799  gdb/testsuite/gdb.ada/mi_task_info/task_switch.adb
-575422cfb72f880c65de37cf2fcbb734  gdb/testsuite/gdb.ada/formatted_ref.exp
-4acacc61070c68dfe1dd4d19b5188c07  gdb/testsuite/gdb.ada/iwide/classes.ads
-3090e16e2d3ac6940896f2c1ddf8055a  gdb/testsuite/gdb.ada/iwide/p.adb
-8065e6db0c298b208880647a04230b48  gdb/testsuite/gdb.ada/iwide/classes.adb
-c5664a27368f627b09731f1cbf484096  gdb/testsuite/gdb.ada/mi_task_arg.exp
-dd51a0fb447b663bb6091ebea073776a  gdb/testsuite/gdb.ada/mi_task_info.exp
-6941a4fe2f8af6cbf268bd9d05cf0080  gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb
-ac7827b3dc919da804f592e182c5458a  gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads
-e6175caac78fc30f76c4710ca98c6efb  gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb
-df90ef9fa4b4c1546c20154e9d66920f  gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb
-4d9e5b3068514a501217e5fb2bc9dfa4  gdb/testsuite/gdb.ada/set_pckd_arr_elt/foo.adb
-91bc8a540364339b9dc8f6c1345e49f4  gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.ads
-1e9adade2ae210a8b521800512e49d1e  gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.adb
-6f64bc7a32be596bcff5a161f591e698  gdb/testsuite/gdb.ada/interface/foo.adb
-e18c83d81d9d7e4381c7a238acb9700d  gdb/testsuite/gdb.ada/interface/types.ads
-3829100e739d35ba2cf8afc2067d9d0b  gdb/testsuite/gdb.ada/interface/types.adb
-984daef01d78c4c00c27454fcd616e97  gdb/testsuite/gdb.ada/catch_ex.exp
-8c6a62e5bfef336c7be5636fae130f39  gdb/testsuite/gdb.ada/pp-rec-component/foo.adb
-c7b5cdaa3d0699ff4748eb67f9abb539  gdb/testsuite/gdb.ada/pp-rec-component/pck.ads
-2db0768e072c863f196ce8d0e32e2c23  gdb/testsuite/gdb.ada/pp-rec-component/pck.adb
-053be16657623c727de280fa68a6c56c  gdb/testsuite/gdb.ada/str_ref_cmp.exp
-23fb50f3bcfa2112d300ad2ee91f2146  gdb/testsuite/gdb.ada/frame_args.exp
-aba48808b12dec37b428b9065b3219ad  gdb/testsuite/gdb.ada/ptype_arith_binop.exp
-39ed15597002b8b475a7a306d452c379  gdb/testsuite/gdb.ada/ptype_tagged_param/foo.adb
-49d9b2a0cae2c334675c3defa4c77583  gdb/testsuite/gdb.ada/ptype_tagged_param/pck.ads
-47504e00a4d0995ca8cc0efa1d325675  gdb/testsuite/gdb.ada/ptype_tagged_param/pck.adb
-e7c04fd17176a435a58d95a5a9dad83f  gdb/testsuite/gdb.ada/cond_lang.exp
-6ea4b123d49afac6044d2865e27b107f  gdb/testsuite/gdb.ada/fun_in_declare/foo.adb
-aa2f74f282f275c736309fea77396ccd  gdb/testsuite/gdb.ada/fun_in_declare/pck.ads
-c5df71842379ce10f28431a8df643327  gdb/testsuite/gdb.ada/fun_in_declare/pck.adb
-db786f5b205a64e03251d9db0b8c0844  gdb/testsuite/gdb.ada/set_wstr.exp
-043884e17151c7dde8187fb16aa2d4b1  gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/foo.adb
-4899eed52f376e1b06dde129046ad4bd  gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.ads
-4c9c75c2c458fe10bc452a9966bdf1e6  gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.adb
-1d7fc60a20fb96c84353889119ce927b  gdb/testsuite/gdb.ada/fixed_cmp.exp
-b007a58bd1fc6fa9edf313254780a2f1  gdb/testsuite/gdb.ada/exprs.exp
-35536a3771c7414da11e792bf12bf391  gdb/testsuite/gdb.ada/uninitialized_vars.exp
-9aaef57093820389cbc31a450df5f528  gdb/testsuite/gdb.ada/fun_addr.exp
-7a9819360fcff346a189acaf9862d13f  gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb
-bd3ab1932c08adcc0b3527ad9428835d  gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads
-188baeaa24a2a38bb50c0fe5ef7958b1  gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb
-aada4ae03bd61a9f64db39c68a775242  gdb/testsuite/gdb.ada/print_pc.exp
-853046519d7e2a01414f2ba4b304e679  gdb/testsuite/gdb.ada/funcall_param/foo.adb
-18a632600cafac4c22e0fc277802bb1b  gdb/testsuite/gdb.ada/funcall_param/pck.ads
-1a740db0965b3958809511320ec2f9e3  gdb/testsuite/gdb.ada/funcall_param/pck.adb
-76f054987e3738501a6398dfc2e03427  gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb
-57b48e2d58a6cc1fc2a3df8e90168d5a  gdb/testsuite/gdb.ada/null_array.exp
-53ad82424bc198ee90d0a7fbec244f52  gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp
-f24e6d77576bcdc1295cef07c4fb3228  gdb/testsuite/gdb.ada/boolean_expr.exp
-1eaeef3bd5aaf45bdfea3353c798948f  gdb/testsuite/gdb.ada/exec_changed.exp
-9e159818727eafe3bdd91b9ecdf5c522  gdb/testsuite/gdb.ada/dyn_loc.exp
-3f44bb7d56480cf50fb1cdb8f349d9e0  gdb/testsuite/gdb.ada/rec_return/foo.adb
-03c7f7edc7194c0bd8382efe5e60908a  gdb/testsuite/gdb.ada/rec_return/pck.ads
-b89aac5ba0f25152964a2a91e975d238  gdb/testsuite/gdb.ada/rec_return/pck.adb
-fb6317ea23e1f20696466708b628fdad  gdb/testsuite/gdb.ada/enum_idx_packed.exp
-10e29b3dd34a827347ab96d944a1ac65  gdb/testsuite/gdb.ada/same_enum/pck.ads
-c0ec9dfb3d3f9f6092a73299c69b971e  gdb/testsuite/gdb.ada/same_enum/pck.adb
-341c3991b898232606b7188455f90530  gdb/testsuite/gdb.ada/same_enum/a.adb
-5c849709fdb8520267ba544bd054c095  gdb/testsuite/gdb.ada/ref_param/foo.adb
-b112e0b7ff35f0412ab8866b98f219cd  gdb/testsuite/gdb.ada/ref_param/pck.ads
-08f6678583491c773b0059c2e8c23ed0  gdb/testsuite/gdb.ada/ref_param/pck.adb
-a4d898c9765b03e9cc5c295b8daa0fba  gdb/testsuite/gdb.ada/assign_1.exp
-f3c176874530aaefe5eb9bdc7c1f593d  gdb/testsuite/gdb.ada/nested.exp
-bcf3bc6ac6ab516d27f514d3f5203bf2  gdb/testsuite/gdb.ada/mi_ex_cond.exp
-8f36756bdc6788f49169dd52acea218a  gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb
-78397098fcf2d04cd5a2ee692d3fa36b  gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads
-5d952060f06624372b45a0df49402eed  gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb
-a5af6b2c5decf718f756c7a0c0dd13ef  gdb/testsuite/gdb.ada/info_locals_renaming.exp
-153ad2940c4c10850c89efd8529cea2e  gdb/testsuite/gdb.ada/fun_addr/foo.adb
-91eed381654c8811d6cdfc4d12d636fe  gdb/testsuite/gdb.ada/print_chars/foo.adb
-864267b775702f7751521b76c7feb996  gdb/testsuite/gdb.ada/print_chars/pck.ads
-bffdc5f840da7341b24d115f04f2ad5b  gdb/testsuite/gdb.ada/print_chars/pck.adb
-b82ccb30c3f8d2494541e2b32d5de154  gdb/testsuite/gdb.ada/variant_record_packed_array.exp
-611b396af942f59aa195e33bf63f4a3e  gdb/testsuite/gdb.ada/packed_tagged/comp_bug.adb
-46445ac06b61d6cb95a512930d572608  gdb/testsuite/gdb.ada/O2_float_param.exp
-843ab494c9439f9ff8edcafba8f591c1  gdb/testsuite/gdb.ada/interface.exp
-0c2031668e876d07bc1783f0dce29925  gdb/testsuite/gdb.ada/call_pn.exp
-994aa670e18d35c9dfc671a49d24c0cc  gdb/testsuite/gdb.ada/start/dummy.adb
-10130b7e2141f554ca3aa252c7b424c1  gdb/testsuite/gdb.ada/array_subscript_addr/p.adb
-aebea2d1ada4d61cfc629e9b85bcf8b0  gdb/testsuite/gdb.ada/mod_from_name/foo.adb
-934b3a3c571abbdf34ecb525379c7e63  gdb/testsuite/gdb.ada/small_reg_param/foo.adb
-d802f29eea9d79ac6a5944396e85fa1a  gdb/testsuite/gdb.ada/small_reg_param/pck.ads
-f975a693d1ca0751a2053d25c851b8a2  gdb/testsuite/gdb.ada/small_reg_param/pck.adb
-106d54a87886e9aae3ff669a5a9fa791  gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads
-d141c75c8e962b40b53c7aa8d7e4ad21  gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb
-14d8a3816ad8612097eeb1e8f04add2c  gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb
-29b76edb8c8b4fc6ac65bba2af17cf80  gdb/testsuite/gdb.ada/ref_param.exp
-9780178486e35ebf0a429e3b3052e408  gdb/testsuite/gdb.ada/nested/hello.adb
-e014b4cc68a25b136b80b6e9e9424362  gdb/testsuite/gdb.ada/ref_tick_size/pck.ads
-11375f988483181b349441e6b4e1c121  gdb/testsuite/gdb.ada/ref_tick_size/p.adb
-7629513cfee326dae3b2124c5f2968e7  gdb/testsuite/gdb.ada/ref_tick_size/pck.adb
-482f617dfadd27fc0c842761edd06bbe  gdb/testsuite/gdb.ada/fullname_bp/dn.ads
-28e7511a543ea659215b7d628b52661d  gdb/testsuite/gdb.ada/fullname_bp/foo.adb
-d7418e577b01d645d5213198410d3d9b  gdb/testsuite/gdb.ada/fullname_bp/dn.adb
-17c91adddf2792d292f054cef22fc29f  gdb/testsuite/gdb.ada/fullname_bp/pck.ads
-26ad0cf4cc6a410b9720c308195e01c8  gdb/testsuite/gdb.ada/fullname_bp/pck.adb
-cae81a760aae4b3ca2f3407339912487  gdb/testsuite/gdb.ada/info_exc.exp
-29cbe305a5ac1d92cf95d3e6898ebc32  gdb/testsuite/gdb.ada/char_param.exp
-98e3069f88f5a2c866a269ed06e415b5  gdb/testsuite/gdb.ada/aliased_array.exp
-b6d48da496155ae0bcbf2dd5e15e026f  gdb/testsuite/gdb.ada/pckd_arr_ren.exp
-275acd7951e112db2839fa03da7b8259  gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb
-814288f8a26f6a072ca8448bbfccf435  gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads
-85f2a7b19813d363c7fe5b2f9472e8b5  gdb/testsuite/gdb.ada/dyn_loc/p.adb
-f5eecd38a4c4a0d128107f2d24f76845  gdb/testsuite/gdb.ada/dyn_loc/pack.ads
-b430d9434707549d265a14d4e1542d86  gdb/testsuite/gdb.ada/dyn_loc/pack.adb
-4306a9f4e4f80a1d58fc80cacc6ee5e1  gdb/testsuite/gdb.ada/fullname_bp.exp
-fcd6d23510e9373fa3922cfd631b9b8c  gdb/testsuite/gdb.ada/ref_tick_size.exp
-430e817c0c3885cdf59459825f4ae6e0  gdb/testsuite/gdb.ada/pp-rec-component.exp
-6e8a7d6fd70f13f3e6b22b0149fe482c  gdb/testsuite/gdb.pascal/print.exp
+da713b6fe7c102bc5360f1c8cface90d  gdb/testsuite/gdb.ada/bp_reset.exp
+4c9a7a2d765aa02ec51015305573f6d5  gdb/testsuite/gdb.ada/frame_args/foo.adb
+9b106fa4a7c154ef7023c0e166c19f16  gdb/testsuite/gdb.ada/frame_args/pck.ads
+3cc09ab681aad1b7a6e827fea5d90517  gdb/testsuite/gdb.ada/frame_args/pck.adb
+1a7838ef9404e08a8dffe16a68747088  gdb/testsuite/gdb.ada/array_bounds/bar.adb
+9fdf983033db0abad179a2e14c9fc9e4  gdb/testsuite/gdb.ada/win_fu_syms.exp
+b80ceb4c93b63e70f3b86139bebf1494  gdb/testsuite/gdb.ada/tagged_access/p.adb
+22c98362572738cfd6247b3254028c21  gdb/testsuite/gdb.ada/tagged_access/pack.ads
+d26e5f7ffa52f414b3fc5a162c250a6f  gdb/testsuite/gdb.ada/tagged_access/pack.adb
+3e723297e7377be0ac4ac3aa006b08aa  gdb/testsuite/gdb.ada/pp-rec-component.py
+ed75ddab1a5e3b079e0a6c38045c57a9  gdb/testsuite/gdb.ada/mod_from_name.exp
+c4451faecd2c0a81d3492218c2e4e9a6  gdb/testsuite/gdb.ada/str_uninit/parse.adb
+86b58348192b24eb4324601836315b16  gdb/testsuite/gdb.ada/str_uninit/pck.ads
+553758e268d20337f202cdeac2b15349  gdb/testsuite/gdb.ada/str_uninit/pck.adb
+2a7fdd5b393698fef12c5e491d0aa302  gdb/testsuite/gdb.ada/tagged_not_init/foo.adb
+a925c52c9b52d08bb6f16d86cebd3f8a  gdb/testsuite/gdb.ada/tagged_not_init/pck.ads
+03e5ed07ab7cab1628fa42f431e51725  gdb/testsuite/gdb.ada/tagged_not_init/pck.adb
+b90e1409bd225f4a7a9715633fe56882  gdb/testsuite/gdb.ada/fun_in_declare.exp
+6da158246c210c88de9525790467bd44  gdb/testsuite/gdb.ada/expr_delims.exp
+b6c960a7464ac41d2268465a8a89b385  gdb/testsuite/gdb.ada/fixed_cmp/pck.ads
+9bd643bc90009a1cfee17bb2276a2bc2  gdb/testsuite/gdb.ada/fixed_cmp/pck.adb
+aaf6876d9881833ae179bdd3c579731c  gdb/testsuite/gdb.ada/fixed_cmp/fixed.adb
+48f54c39ec5fc92fa4aa7071fb45af94  gdb/testsuite/gdb.ada/arrayparam.exp
+949896ca19cd2fc24312a07c9fa1c149  gdb/testsuite/gdb.ada/float_param/foo.adb
+7173705d6d9f7ac2b1ed831d8b042457  gdb/testsuite/gdb.ada/float_param/pck.ads
+7ba559f26d4b75700403a84b79f02019  gdb/testsuite/gdb.ada/float_param/pck.adb
+0912d5b9747e3c636559f7a34b228140  gdb/testsuite/gdb.ada/arraydim/foo.adb
+371b9b421195a94ce48bffbd8ce63d5e  gdb/testsuite/gdb.ada/arraydim/pck.ads
+0c357e24d18137e5a81514f3e225aff1  gdb/testsuite/gdb.ada/arraydim/inc.c
+a3e1c6bbb240a8b0a3e2d2308754dda9  gdb/testsuite/gdb.ada/arraydim/pck.adb
+29094641b6942042c79c5bddc56bc4f1  gdb/testsuite/gdb.ada/complete.exp
+8607803d80d9b2b5b881454e93d52062  gdb/testsuite/gdb.ada/funcall_param.exp
+072b944b72a56e637d91f3b977724e3f  gdb/testsuite/gdb.ada/small_reg_param.exp
+bbdbe740bf0059bf7a4d0e15310d9a7f  gdb/testsuite/gdb.ada/arrayidx.exp
+063afb27f2de21a06ee48fe6f4bffc70  gdb/testsuite/gdb.ada/rdv_wait/foo.adb
+8bfd29790bb7de40ecf91ba9e0b87d35  gdb/testsuite/gdb.ada/rdv_wait/pck.ads
+3588a4802e6f6492803a688c0a0beb54  gdb/testsuite/gdb.ada/rdv_wait/pck.adb
+48a6a860fa25f7ee1b5edf5f17979ee0  gdb/testsuite/gdb.ada/optim_drec/foo.adb
+25f245192024c98f69fbd456ef4d7369  gdb/testsuite/gdb.ada/dot_all.exp
+4920778d913ab4124e270ced0df721f4  gdb/testsuite/gdb.ada/bp_range_type.exp
+a74ee1f7df57a02275b5461fc152af53  gdb/testsuite/gdb.ada/set_wstr/pck.ads
+1dcd5fbc821b17e9effc13303fd26880  gdb/testsuite/gdb.ada/set_wstr/pck.adb
+869090097f429cd70ec0a214606f7fbb  gdb/testsuite/gdb.ada/set_wstr/a.adb
+3825c833605b1b1b855b3e07712c4bd9  gdb/testsuite/gdb.ada/arraydim.exp
+d596031595a71feb33ac814541329736  gdb/testsuite/gdb.ada/complete/foo.adb
+e633c9da6d66467e51a50b684167915e  gdb/testsuite/gdb.ada/complete/pck.ads
+a851b997e385ea9f5b1a7ed13b31ab46  gdb/testsuite/gdb.ada/complete/pck.adb
+15a1ed11cca6abbdd97c05f92411cca1  gdb/testsuite/gdb.ada/ptype_field.exp
+7c0c381c7ac7a177d2cf40a0274802a1  gdb/testsuite/gdb.ada/call_pn/foo.adb
+b75d63ed4c6061468eebbfbb5d12f484  gdb/testsuite/gdb.ada/call_pn/pck.ads
+cc71508389f3de81c2bff57d196ae3cc  gdb/testsuite/gdb.ada/call_pn/pck.adb
+e9f58a3c458d4b73583ca2ab737412cb  gdb/testsuite/gdb.ada/mi_catch_ex.exp
+2e40888e77667def4f1d96b42c7dde22  gdb/testsuite/gdb.ada/tagged/foo.adb
+17d776f327573cdd69c35a61bb47e19c  gdb/testsuite/gdb.ada/tagged/pck.ads
+20e184785da3c3ea5d5808d40a5a3714  gdb/testsuite/gdb.ada/tagged/pck.adb
+3c7ff58d7abb7cc4631feab3f68d3902  gdb/testsuite/gdb.ada/array_subscript_addr.exp
+f18c5d6bebb7f2d21e0aab7978f8a648  gdb/testsuite/gdb.ada/exprs/p.adb
+350fd02f40e3c862c220a0037e6993c2  gdb/testsuite/gdb.ada/cond_lang/foo.c
+97789aafdfa80d5cd3e70cd3d640830a  gdb/testsuite/gdb.ada/cond_lang/mixed.adb
+c7b1ad5751845383a702492bdc0d48af  gdb/testsuite/gdb.ada/cond_lang/pck.ads
+c29027bfc33f5dfa10f64648b7c9241f  gdb/testsuite/gdb.ada/cond_lang/mixed.ads
+cfb270d2e8e01f27c6248da09fb54c4d  gdb/testsuite/gdb.ada/cond_lang/pck.adb
+22a13e82d37f2a53b35d14b4b2eff275  gdb/testsuite/gdb.ada/cond_lang/a.adb
+e8c5968e30008b6e66a2a899416a4759  gdb/testsuite/gdb.ada/lang_switch.exp
+796d706f6c454c28b123cd7c281de371  gdb/testsuite/gdb.ada/watch_arg.exp
+a08b595b1952508920e380f76b28663f  gdb/testsuite/gdb.ada/packed_array/pa.adb
+3e41ff3a467a589dadc55dc4e0b3a13b  gdb/testsuite/gdb.ada/packed_array/pck.ads
+0b45463369eb9ea0cb4c28180042c165  gdb/testsuite/gdb.ada/packed_array/pck.adb
+cdaa59ea169d533cf9c3fa2468617ae7  gdb/testsuite/gdb.ada/packed_tagged.exp
+9c1fe5dee3f8c31a84c6ce200d62ce1c  gdb/testsuite/gdb.ada/win_fu_syms/foo.adb
+86dcda4329109c7a5a21c02f07fd0466  gdb/testsuite/gdb.ada/win_fu_syms/pck.ads
+ca34a3179f7ce1c2051ed3e09b50a801  gdb/testsuite/gdb.ada/win_fu_syms/pck.adb
+5b98d68c7d625003134138c0513a5b77  gdb/testsuite/gdb.ada/null_record/null_record.adb
+19416aec3c89fa5a96d9ab0f07dfb126  gdb/testsuite/gdb.ada/null_record/bar.adb
+238c0516205061928a4d73f7e30aa313  gdb/testsuite/gdb.ada/null_record/bar.ads
+0db1a5ffaea7d55d2efd588df436459f  gdb/testsuite/gdb.ada/print_chars.exp
+c7cbb595696c64d92afaa79fa23e91ae  gdb/testsuite/gdb.ada/arrayptr/foo.adb
+8ea2d2c78000405bde2651ce020904e2  gdb/testsuite/gdb.ada/arrayptr/pck.ads
+694090bfba2a43ae97f98e091ee4d8ba  gdb/testsuite/gdb.ada/arrayptr/pck.adb
+6b5b25070c555068b4b627bdeea59898  gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp
+b9f4582c26b09df0623f4398b2a50f59  gdb/testsuite/gdb.ada/start.exp
+6db57ce303dfd2c7a7c85718462b3e9a  gdb/testsuite/gdb.ada/tasks.exp
+fe7eaff21df8a5adbf2298d1ead4cbaa  gdb/testsuite/gdb.ada/pkd_arr_elem.exp
+15e5cf0382e8237dd0c86eb44ce847f4  gdb/testsuite/gdb.ada/array_return.exp
+be4cd6037076b2b4c49a03f430fb35a2  gdb/testsuite/gdb.ada/info_types.exp
+fc115794abbc9a43a928287bb4c981e2  gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb
+dee4f73ecc81aa06ada210465e0771cf  gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads
+a7c510fa12a4e2e110c35024e8f2b3af  gdb/testsuite/gdb.ada/taft_type.exp
+d309995b903f97f56711aa815f8bf2fd  gdb/testsuite/gdb.ada/bp_reset/foo.adb
+e45de3b009d79cec6c3c47b995295f26  gdb/testsuite/gdb.ada/bp_reset/io.adb
+8c85a76872016db625906e3178ba6b04  gdb/testsuite/gdb.ada/bp_reset/pck.ads
+25a3db102038c18215c42493a2fde1a1  gdb/testsuite/gdb.ada/bp_reset/pck.adb
+90333bb9c940f1149c4124b77becf73a  gdb/testsuite/gdb.ada/bp_reset/io.ads
+00a235e204123858dc66b8ecd6e0dbe8  gdb/testsuite/gdb.ada/n_arr_bound/foo.adb
+7969253fda90da8a2d3147abbe81c525  gdb/testsuite/gdb.ada/n_arr_bound/pck.ads
+043b4bd1bcd552e8f46692818ee06132  gdb/testsuite/gdb.ada/n_arr_bound/pck.adb
+8ca7d9c23904a3271005655b5d97c6f5  gdb/testsuite/gdb.ada/arrayidx/p.adb
+929d70b2f1c0e178aa486ef0fc6aad57  gdb/testsuite/gdb.ada/bp_range_type/foo.adb
+a74ee1f7df57a02275b5461fc152af53  gdb/testsuite/gdb.ada/bp_range_type/pck.ads
+1dcd5fbc821b17e9effc13303fd26880  gdb/testsuite/gdb.ada/bp_range_type/pck.adb
+60559ab039a1a2f18cbdb7f0582fd085  gdb/testsuite/gdb.ada/array_char_idx/foo.adb
+5d0f7106ffa034d85061d452d04f0cfa  gdb/testsuite/gdb.ada/array_char_idx/pck.ads
+1dcd5fbc821b17e9effc13303fd26880  gdb/testsuite/gdb.ada/array_char_idx/pck.adb
+c6b77733162581409800cfce93b16c04  gdb/testsuite/gdb.ada/packed_array.exp
+cb4632b8959e56e502f152e0daebd1f4  gdb/testsuite/gdb.ada/homonym.exp
+2a5b3ad0331c792163d5c33722fae82a  gdb/testsuite/gdb.ada/dot_all/foo.adb
+14a546ce8430805bb337b9acc9af01a7  gdb/testsuite/gdb.ada/dot_all/pck.ads
+20e184785da3c3ea5d5808d40a5a3714  gdb/testsuite/gdb.ada/dot_all/pck.adb
+a87cd9a204d60e1baf33c633516f4e06  gdb/testsuite/gdb.ada/watch_arg/watch.adb
+c9b1a55a36545b18d1b0f37eace347a2  gdb/testsuite/gdb.ada/watch_arg/pck.ads
+c86179341ad552d2c02fff84844e7edd  gdb/testsuite/gdb.ada/watch_arg/pck.adb
+55bc90a4da118c3d6c6c36a7b4b3ee96  gdb/testsuite/gdb.ada/array_char_idx.exp
+26236182942dfd4cee31c4a807a2ded6  gdb/testsuite/gdb.ada/gnat_ada.gpr
+6332325f79ded63525b68a8cd4663026  gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb
+a1bcf150addb8706a68ea22ea36a1fe3  gdb/testsuite/gdb.ada/type_coercion.exp
+56c8dbbfcaa12213d750e6ebf2bdc3c6  gdb/testsuite/gdb.ada/char_enum.exp
+44ec04432796256b865ade7fcb7330bb  gdb/testsuite/gdb.ada/mi_task_arg/task_switch.adb
+d7cd16ffb2a7aa89f58027d229735bce  gdb/testsuite/gdb.ada/iwide.exp
+ed3119c78e46a6f6f38926013138cd3b  gdb/testsuite/gdb.ada/tick_length_array_enum_idx/foo_n207_004.adb
+412a30c3ad1cb5e763acb914229c5a29  gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.ads
+99ee98b7cd95b2d409a433113fffa461  gdb/testsuite/gdb.ada/tick_length_array_enum_idx/pck.adb
+e52675cadc646b81d0e80957aec7bc10  gdb/testsuite/gdb.ada/ptype_field/foo.adb
+e1716150c440848f1e8f56b413b0ca8e  gdb/testsuite/gdb.ada/ptype_field/pck.ads
+8bd293a9c86bc3b1faaf0b03ae7b5500  gdb/testsuite/gdb.ada/ptype_field/pck.adb
+6470e00d6de8cab6a2549392bd3617fd  gdb/testsuite/gdb.ada/array_bounds.exp
+692bbdc3e1561daae778208dabe91a5a  gdb/testsuite/gdb.ada/atomic_enum.exp
+e623af2f4f0d0b97d6a410c425aec257  gdb/testsuite/gdb.ada/arrayparam/foo.adb
+7754251f23cca206bf33b7d22449c2fc  gdb/testsuite/gdb.ada/arrayparam/pck.ads
+8e5d3f9a7dd91cf47bcc6f34da006077  gdb/testsuite/gdb.ada/arrayparam/pck.adb
+4f3f29fa9302d642010962ae1867a27d  gdb/testsuite/gdb.ada/tick_last_segv/foo.adb
+a2b74b764448d1dd8df15a18d980e4fd  gdb/testsuite/gdb.ada/same_enum.exp
+09eacbf529bb8881b4737911d241cd9f  gdb/testsuite/gdb.ada/py_range/foo.adb
+b6c960a7464ac41d2268465a8a89b385  gdb/testsuite/gdb.ada/py_range/pck.ads
+9bd643bc90009a1cfee17bb2276a2bc2  gdb/testsuite/gdb.ada/py_range/pck.adb
+7dd12c46756c794f1bd98ae0a5506a90  gdb/testsuite/gdb.ada/tagged_access.exp
+6332325f79ded63525b68a8cd4663026  gdb/testsuite/gdb.ada/tasks/foo.adb
+30232182beaf4a32b44c0d3a51cfe86c  gdb/testsuite/gdb.ada/char_param/foo.adb
+8fd59ea9c44a33d7e1deab47fa6a2a5f  gdb/testsuite/gdb.ada/char_param/pck.ads
+3be4bd5d3636a83ccaed85dfc77a5557  gdb/testsuite/gdb.ada/char_param/pck.adb
+3ccea3fb33418226fd5846a016f07db4  gdb/testsuite/gdb.ada/O2_float_param/foo.adb
+31a03cb649e2237756d77d3938439a0e  gdb/testsuite/gdb.ada/O2_float_param/caller.adb
+64e101ada44db03b9e88a9ca96576786  gdb/testsuite/gdb.ada/O2_float_param/callee.ads
+a1e63cb83ed10da1009a982bc19c2ab6  gdb/testsuite/gdb.ada/O2_float_param/io.adb
+50841db013deee8f4907a31fab204b6b  gdb/testsuite/gdb.ada/O2_float_param/callee.adb
+2855d75aa705cdc03c0ea849244cd6a0  gdb/testsuite/gdb.ada/O2_float_param/caller.ads
+55737f75e543f70f587f58c986cd4597  gdb/testsuite/gdb.ada/O2_float_param/io.ads
+724d27fbc4c35be0f9ed33426e6efb78  gdb/testsuite/gdb.ada/bp_enum_homonym.exp
+7422e29d66f770707502ceb9b36571fa  gdb/testsuite/gdb.ada/sym_print_name/foo.adb
+48952914dd874daaaa42120b80f1a348  gdb/testsuite/gdb.ada/sym_print_name/pck.ads
+bb541c02c792230673f4bb394e6489ad  gdb/testsuite/gdb.ada/sym_print_name/pck.adb
+29a5e285b9304ee8c544dde2fffc61ec  gdb/testsuite/gdb.ada/addr_arith.exp
+4dbed5fa5319826de1e32e246f5814b2  gdb/testsuite/gdb.ada/str_uninit.exp
+e44ca1402f68837ab61acc2961bd9282  gdb/testsuite/gdb.ada/arr_arr.exp
+ef30e40cb8f69d34a24c2dfc7700244c  gdb/testsuite/gdb.ada/sym_print_name.exp
+56f0335f419622fb36725c388cc19870  gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb
+7969253fda90da8a2d3147abbe81c525  gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads
+043b4bd1bcd552e8f46692818ee06132  gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb
+c584e3661c29b381ee22a1c561277f1a  gdb/testsuite/gdb.ada/bp_on_var.exp
+5a1754f7201561467e4b1ae46433d634  gdb/testsuite/gdb.ada/fixed_points.exp
+3c1c5736cb1e2fe47e0ee1ea6bcd3f66  gdb/testsuite/gdb.ada/ptr_typedef.exp
+fe3f4d22e73ecc9cdc803b8a4346c5ac  gdb/testsuite/gdb.ada/array_return/pck.ads
+4f7be08835a6afd816095a394b02a5e3  gdb/testsuite/gdb.ada/array_return/p.adb
+d640d379271b8b1e8271a1c63ebb5c87  gdb/testsuite/gdb.ada/array_return/pck.adb
+259c46d619ada490252bf0115e61283b  gdb/testsuite/gdb.ada/task_bp/foo.adb
+bf6051bd3b26f4df8dc55e662f6aa8a3  gdb/testsuite/gdb.ada/task_bp/pck.ads
+7a054b42ca31b6077123659ea2e0be1b  gdb/testsuite/gdb.ada/task_bp/pck.adb
+eb07ce5ef989fed70ff282a8ab680e27  gdb/testsuite/gdb.ada/null_record.exp
+2d39c883118fa693897c1bea23247016  gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb
+a7290e7599b19e81ea1d013c7f4ffb28  gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads
+1dcd5fbc821b17e9effc13303fd26880  gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb
+e1d1a4e293b3d25d52fe5c881f4a2b63  gdb/testsuite/gdb.ada/ptr_typedef/foo.adb
+c9b1a55a36545b18d1b0f37eace347a2  gdb/testsuite/gdb.ada/ptr_typedef/pck.ads
+2a7af307d9d777e3f3c19e16b655222f  gdb/testsuite/gdb.ada/ptr_typedef/pck.adb
+b00fa18b309fc3d12700ced89762a7d0  gdb/testsuite/gdb.ada/rec_return.exp
+4dd50050c25f53eda1e15b007167cdf8  gdb/testsuite/gdb.ada/tagged.exp
+c27e238193ba9b693bc29b6b874ff36f  gdb/testsuite/gdb.ada/uninitialized_vars/parse.adb
+652742c32f4c147e432deb79989930d7  gdb/testsuite/gdb.ada/uninitialized_vars/parse_controlled.ads
+b0fce89d626d1c0b875e3175ab7546ce  gdb/testsuite/gdb.ada/info_types.c
+78384aedff2476c069e75e3b800baa67  gdb/testsuite/gdb.ada/whatis_array_val.exp
+f9ae7edf447cb131f133d5051f7ea793  gdb/testsuite/gdb.ada/n_arr_bound.exp
+fa749a070302cc7097d554e2b3aba366  gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb
+0a65fc1172a3438e0034c5652bdf77b9  gdb/testsuite/gdb.ada/addr_arith/pck.ads
+2a75c8af42c56769b1aadc02e04b3302  gdb/testsuite/gdb.ada/addr_arith/pck.adb
+88cac2c936bd28cbd4139398b789e4a9  gdb/testsuite/gdb.ada/whatis_array_val/foo.adb
+c9b1a55a36545b18d1b0f37eace347a2  gdb/testsuite/gdb.ada/whatis_array_val/pck.ads
+c86179341ad552d2c02fff84844e7edd  gdb/testsuite/gdb.ada/whatis_array_val/pck.adb
+0fd00c7ad22c23159a6b795c241527e4  gdb/testsuite/gdb.ada/mi_dyn_arr.exp
+62c08930a2c5888a0ae46bfe557720b4  gdb/testsuite/gdb.ada/type_coercion/ident.adb
+00f4a9a6f2645af5aa31b4dc5c4604d4  gdb/testsuite/gdb.ada/type_coercion/assign.adb
+53d7111e27e350f781e26c8bff877767  gdb/testsuite/gdb.ada/py_range.exp
+3f6af3eff12cba3536ab1c560a9fb7ce  gdb/testsuite/gdb.ada/operator_bp.exp
+d18777172a9ceef9d5efcd7c91b3630e  gdb/testsuite/gdb.ada/tagged_not_init.exp
+26b577729ca5041e7182a706b4d10a61  gdb/testsuite/gdb.ada/tick_last_segv.exp
+c8e57010d03946e2271def633ff56c4f  gdb/testsuite/gdb.ada/atomic_enum/foo.adb
+8ecf0cd10a41af72939b5f4ba42548be  gdb/testsuite/gdb.ada/atomic_enum/pck.ads
+d24861c1bc40c367b7e489e1d2ce7528  gdb/testsuite/gdb.ada/atomic_enum/pck.adb
+ce8f1d0e260bc5df4916dabb383de26e  gdb/testsuite/gdb.ada/int_deref/foo.adb
+f6396ff407af3c9c0aa4ebf6ebb4e845  gdb/testsuite/gdb.ada/int_deref/pck.ads
+57b77f8d7136b5364310ea106425c845  gdb/testsuite/gdb.ada/mi_exc_info/foo.adb
+d2eb88f01a5c59cdf9faa0d15e3da821  gdb/testsuite/gdb.ada/mi_exc_info/const.ads
+57b77f8d7136b5364310ea106425c845  gdb/testsuite/gdb.ada/info_exc/foo.adb
+d2eb88f01a5c59cdf9faa0d15e3da821  gdb/testsuite/gdb.ada/info_exc/const.ads
+2d52508f8a6d12554851564cd782e6ea  gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec.exp
+72a757f2304c870c3b434f1512b069a9  gdb/testsuite/gdb.ada/float_param.exp
+4f921cbaaff53a656d110a41eee319f2  gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb
+376f2c51c5ca55bbf678fa4005c11380  gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads
+3f8f03f0cc3c7a781cf121df20a6cb49  gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb
+72fe0c35c13e42dc21f80a69c3bb0783  gdb/testsuite/gdb.ada/widewide/foo.adb
+9bc21c14fdc33bbaf99c41f0e9466160  gdb/testsuite/gdb.ada/widewide/pck.ads
+c86179341ad552d2c02fff84844e7edd  gdb/testsuite/gdb.ada/widewide/pck.adb
+564b9a6f990eda7d8fbe525001ed864e  gdb/testsuite/gdb.ada/char_enum/foo.adb
+4cf51f2ec5ebb7d94a5525bb5a78e360  gdb/testsuite/gdb.ada/char_enum/pck.ads
+c4880f65af21cca0ace7f53079b65e4b  gdb/testsuite/gdb.ada/char_enum/pck.adb
+93c889298495df6fb53a81e8a50112fb  gdb/testsuite/gdb.ada/mi_interface/foo.adb
+3af7594d469c616680b14f2c930a9be4  gdb/testsuite/gdb.ada/mi_interface/pck.ads
+043b4bd1bcd552e8f46692818ee06132  gdb/testsuite/gdb.ada/mi_interface/pck.adb
+49ae0560a2299175d1ffcafc58c3d575  gdb/testsuite/gdb.ada/lang_switch/foo.c
+a15633ca3b0343fa7843cb191642b2dd  gdb/testsuite/gdb.ada/lang_switch/lang_switch.adb
+92678188c1c85e4498f3a5ad446cc4ec  gdb/testsuite/gdb.ada/arrayptr.exp
+e060842454112ab442a90256dfa9efd7  gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb
+33e50acd23066e9cc2033f50c97637fe  gdb/testsuite/gdb.ada/mi_exc_info.exp
+e060842454112ab442a90256dfa9efd7  gdb/testsuite/gdb.ada/catch_ex/foo.adb
+f9a611f393ce166cb610a385c5412ba2  gdb/testsuite/gdb.ada/mi_interface.exp
+0e0c65bd7510fb4e191176632aa1f5db  gdb/testsuite/gdb.ada/tick_length_array_enum_idx.exp
+2b620c91c518fe9328730cba337887d2  gdb/testsuite/gdb.ada/taft_type/pck.ads
+74c68ed9b21aea615c45ccb12c62919b  gdb/testsuite/gdb.ada/taft_type/p.adb
+880c930f5183718cd737d29260189935  gdb/testsuite/gdb.ada/taft_type/pck.adb
+44ec04432796256b865ade7fcb7330bb  gdb/testsuite/gdb.ada/mi_task_info/task_switch.adb
+fc161d8ff0db77b0bc15f8b61eef4bb4  gdb/testsuite/gdb.ada/formatted_ref.exp
+f660bc7e278946ac483980b6f3a5691d  gdb/testsuite/gdb.ada/iwide/classes.ads
+0d2b884b35851a5936597b7f0d01176d  gdb/testsuite/gdb.ada/iwide/p.adb
+7c814bf12d8d6dfba34276ea1425e39b  gdb/testsuite/gdb.ada/iwide/classes.adb
+5e2a0c2c8376c96b472a6a67a45ddf22  gdb/testsuite/gdb.ada/mi_task_arg.exp
+0837826e57babede11881780171d50bc  gdb/testsuite/gdb.ada/mi_task_info.exp
+681090d85013e852b792b11dd06e34b8  gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb
+0f9a7dab01435c9d18e285566652d5eb  gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads
+fc3aa2b91b8f5c123b300d393cf0b802  gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb
+874e3de4ff01086cc07aa72f9affacdf  gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb
+965f819583fc658368f408d4988b97eb  gdb/testsuite/gdb.ada/set_pckd_arr_elt/foo.adb
+4adfb50b0fd3efed0d9de18968df9254  gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.ads
+db7dea88088d0465c91b963f2571e6a3  gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.adb
+620f943ef848db4a548599e0ba4c6ff5  gdb/testsuite/gdb.ada/interface/foo.adb
+440f6b56e9c739d346fcdd34e6d2a772  gdb/testsuite/gdb.ada/interface/types.ads
+a282a27dfc8b89f5d7a1082128b34acb  gdb/testsuite/gdb.ada/interface/types.adb
+7a00b03e1dc0672de557678293ea5476  gdb/testsuite/gdb.ada/catch_ex.exp
+e170bfa4cea309cdb8eff7854ae91119  gdb/testsuite/gdb.ada/pp-rec-component/foo.adb
+940a075a66545972daec2476a8ef0c10  gdb/testsuite/gdb.ada/pp-rec-component/pck.ads
+043b4bd1bcd552e8f46692818ee06132  gdb/testsuite/gdb.ada/pp-rec-component/pck.adb
+fc208e47f1285876a4ed0ab8b5c65b1f  gdb/testsuite/gdb.ada/str_ref_cmp.exp
+93a9cb7a6834337ccff350615754072d  gdb/testsuite/gdb.ada/frame_args.exp
+c9f0eadb08ae6601e07e63ce47410138  gdb/testsuite/gdb.ada/ptype_arith_binop.exp
+7f118b89b16413788b7f4cd25b70ad7c  gdb/testsuite/gdb.ada/ptype_tagged_param/foo.adb
+b2de3374204be9c117ffa0b8a68e2bfe  gdb/testsuite/gdb.ada/ptype_tagged_param/pck.ads
+e89901288dcd0f344d7ce6a4dc9b6ff0  gdb/testsuite/gdb.ada/ptype_tagged_param/pck.adb
+eecef24aa0a5286ba21064f4cfff5fa2  gdb/testsuite/gdb.ada/cond_lang.exp
+80de195aa416fb5544ca345991574f71  gdb/testsuite/gdb.ada/fun_in_declare/foo.adb
+f463790d05775ef9542dcc78eee7b0ee  gdb/testsuite/gdb.ada/fun_in_declare/pck.ads
+30366120605eeb809619d6308e86c8f3  gdb/testsuite/gdb.ada/fun_in_declare/pck.adb
+15e8da2891b6b34b8eb476c2ff584a6f  gdb/testsuite/gdb.ada/set_wstr.exp
+d920202abf4816272b09f2b8b71fa332  gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/foo.adb
+a74ee1f7df57a02275b5461fc152af53  gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.ads
+1dcd5fbc821b17e9effc13303fd26880  gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec/pck.adb
+d8a30e050f9bcaff5e9086382cabaac9  gdb/testsuite/gdb.ada/fixed_cmp.exp
+fa8beba01db255a7dbe2e97b66d530ba  gdb/testsuite/gdb.ada/exprs.exp
+47562fd4c38fd7c6862251fde6234dca  gdb/testsuite/gdb.ada/uninitialized_vars.exp
+e63444026e5a9d287f9089cad4d8042c  gdb/testsuite/gdb.ada/fun_addr.exp
+da5c0e736bb8c533a1aa36297ec9a8e5  gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb
+6016437bba48d45fe43c1b79e126bf6a  gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads
+6af3cb63c057d48dd4ab79ae74004a9a  gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb
+2ab9c6e52a63f994bb66409f9a53feed  gdb/testsuite/gdb.ada/print_pc.exp
+cdade523fed0532914ba81c9f6c3990e  gdb/testsuite/gdb.ada/funcall_param/foo.adb
+bb746c0e1a5a5eb5ff18424948bc97fe  gdb/testsuite/gdb.ada/funcall_param/pck.ads
+697036f2bb74b2797216ff59064c0cec  gdb/testsuite/gdb.ada/funcall_param/pck.adb
+7497a6c53b6dd07b36e94461ab4dcef5  gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb
+29bdb13529762a079398d5bce8ca107f  gdb/testsuite/gdb.ada/null_array.exp
+4be6de2e06bad89535f784707c05e597  gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp
+debc7be2ad8948f02b00b6c4fc74b770  gdb/testsuite/gdb.ada/boolean_expr.exp
+083e6f1d21471a4b58d0770d48758a3d  gdb/testsuite/gdb.ada/exec_changed.exp
+2a7291caef62c78b85c07ac2347e765f  gdb/testsuite/gdb.ada/dyn_loc.exp
+0b5d173cec05f7d8539664678cd072aa  gdb/testsuite/gdb.ada/rec_return/foo.adb
+fff39f3530ab05a80983b8e8e6a6838c  gdb/testsuite/gdb.ada/rec_return/pck.ads
+0cb72c36824a92421c8dae237d554de4  gdb/testsuite/gdb.ada/rec_return/pck.adb
+9cbffc1232749e0d42f44b0b463f91bc  gdb/testsuite/gdb.ada/enum_idx_packed.exp
+ff07c5de51d57064ca2d0179b070edaa  gdb/testsuite/gdb.ada/same_enum/pck.ads
+c4880f65af21cca0ace7f53079b65e4b  gdb/testsuite/gdb.ada/same_enum/pck.adb
+168a9166a4bd0580b9a3d2e1cd610f14  gdb/testsuite/gdb.ada/same_enum/a.adb
+ff9e88bab5144c03b1b5579b34dc6d66  gdb/testsuite/gdb.ada/ref_param/foo.adb
+d614a1c5fd0ce1197e35b402857f3d19  gdb/testsuite/gdb.ada/ref_param/pck.ads
+4f17fcb3ff7f1093113bfca0a2562920  gdb/testsuite/gdb.ada/ref_param/pck.adb
+aa40bddd44d44df1d1d57832dada244f  gdb/testsuite/gdb.ada/assign_1.exp
+96f0c3e404ad2409bdfb1049b81d0633  gdb/testsuite/gdb.ada/nested.exp
+e657f8adb44076e11d355db0ae03a704  gdb/testsuite/gdb.ada/mi_ex_cond.exp
+4a5fe392d31e136fecd3e8d1305f3b04  gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb
+c15873dffa56355d4076bdd0470f4986  gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads
+fbfb2542414fbb486f892cafdd13ee1e  gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb
+bb1077b91e7682939dbe07c4886d9dd4  gdb/testsuite/gdb.ada/info_locals_renaming.exp
+7cdef8c50dfa63ed9b2cf2a10b906a6b  gdb/testsuite/gdb.ada/fun_addr/foo.adb
+d086ce42ca2d4e1e87005d2bee8ee15b  gdb/testsuite/gdb.ada/print_chars/foo.adb
+b6c960a7464ac41d2268465a8a89b385  gdb/testsuite/gdb.ada/print_chars/pck.ads
+9bd643bc90009a1cfee17bb2276a2bc2  gdb/testsuite/gdb.ada/print_chars/pck.adb
+7abfbb36d6b0e535a45a874c7a356088  gdb/testsuite/gdb.ada/variant_record_packed_array.exp
+d252e6f1c498f7533d7eaed442f7ac70  gdb/testsuite/gdb.ada/arr_arr/foo.adb
+7969253fda90da8a2d3147abbe81c525  gdb/testsuite/gdb.ada/arr_arr/pck.ads
+043b4bd1bcd552e8f46692818ee06132  gdb/testsuite/gdb.ada/arr_arr/pck.adb
+ecbfab0f7f76be1bd886f40abdd76890  gdb/testsuite/gdb.ada/packed_tagged/comp_bug.adb
+7b4a93cd0397cbe549e6f2e20a275ef4  gdb/testsuite/gdb.ada/O2_float_param.exp
+49b0ef0b1904d02ccc0242181bb0348d  gdb/testsuite/gdb.ada/interface.exp
+e04aff1e4e8c2dddd09f0861f7a34438  gdb/testsuite/gdb.ada/call_pn.exp
+c94916bd7b903436162a2d2d45c766a7  gdb/testsuite/gdb.ada/start/dummy.adb
+af39c07d80f90981e345d3c470a722e9  gdb/testsuite/gdb.ada/array_subscript_addr/p.adb
+dfc557b12f13b448fc9988aa4e963ca0  gdb/testsuite/gdb.ada/mod_from_name/foo.adb
+3be6cdddbaacc2a2c4526516495a16fc  gdb/testsuite/gdb.ada/small_reg_param/foo.adb
+2c14644857d5b83d7aa11236dee6005a  gdb/testsuite/gdb.ada/small_reg_param/pck.ads
+7dde8ea89fb170a09b9bd8aa1d5bd9cf  gdb/testsuite/gdb.ada/small_reg_param/pck.adb
+f3445c494378f3a3cf36fff5f60d1b10  gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads
+aed5ccb2f8d2ac908275ee38e5239607  gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb
+5b962f34be9f9d2e92ede5b70da9c06c  gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb
+4fee8af2607d20f2cad681f0d2ba4878  gdb/testsuite/gdb.ada/ref_param.exp
+e3d79bdfa44eaeceed9537c8a29f4f16  gdb/testsuite/gdb.ada/nested/hello.adb
+8ea2d2c78000405bde2651ce020904e2  gdb/testsuite/gdb.ada/ref_tick_size/pck.ads
+fbdf2f1df1a27307aa119e6cf359bbbe  gdb/testsuite/gdb.ada/ref_tick_size/p.adb
+b33a27ac214c4a2fb90206443147e5ec  gdb/testsuite/gdb.ada/ref_tick_size/pck.adb
+97ab81b439a32d62de0d193dd16cea96  gdb/testsuite/gdb.ada/fullname_bp/dn.ads
+af9e82310fe4ab7bd8dd5a1a297c2f15  gdb/testsuite/gdb.ada/fullname_bp/foo.adb
+b03c3b513ee92cf1b5c335cbdb530b88  gdb/testsuite/gdb.ada/fullname_bp/dn.adb
+e762b0371544e2277d384e45c67075d7  gdb/testsuite/gdb.ada/fullname_bp/pck.ads
+6aaa405b9a3e3dc8c4f4ef66ff0048c6  gdb/testsuite/gdb.ada/fullname_bp/pck.adb
+1bb40063ce49a5b1351c8d051b0aaef4  gdb/testsuite/gdb.ada/info_exc.exp
+b5c62bd6324cbc2c712d91e106416dfa  gdb/testsuite/gdb.ada/char_param.exp
+24ac4b3e5fe29b5a369adcd796940b09  gdb/testsuite/gdb.ada/aliased_array.exp
+c95f8a381392ec583e173d8adf3a35c4  gdb/testsuite/gdb.ada/pckd_arr_ren.exp
+033b4d2b9b5ee5b19cb63b186c47ea74  gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb
+0a4417520b25f6458467da3d0302516e  gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads
+362a58638cc875f124e6f05a3a4ecbb1  gdb/testsuite/gdb.ada/dyn_loc/p.adb
+5c45377e0222c8b024512b8d7d3a166a  gdb/testsuite/gdb.ada/dyn_loc/pack.ads
+39fa614c455f4ed453fbc8790a7f8923  gdb/testsuite/gdb.ada/dyn_loc/pack.adb
+c975e3dd93843249c2e95e2fdcddfecd  gdb/testsuite/gdb.ada/fullname_bp.exp
+a191880a64bf6ba6d7bceb6514209122  gdb/testsuite/gdb.ada/ref_tick_size.exp
+89c62ca187cc44e740cdfd509f7933e8  gdb/testsuite/gdb.ada/pp-rec-component.exp
+9f732c334d0238f828941355e522ada1  gdb/testsuite/gdb.pascal/print.exp
 19990cb5b198325b185af673b5ee5b4f  gdb/testsuite/gdb.pascal/hello.pas
-bdf5f4a8c75f5708d9f9809c64834d3b  gdb/testsuite/gdb.pascal/integers.pas
+f70aa7e03362c86808bb9b75e912153c  gdb/testsuite/gdb.pascal/integers.pas
 ec053af70195cf70c46f47710946ea2a  gdb/testsuite/gdb.pascal/Makefile.in
-ef58389dd95b52fbd1ba5ae0f364301b  gdb/testsuite/gdb.pascal/hello.exp
-5b5099f3d31ccd36ee783ae13f713baf  gdb/testsuite/gdb.pascal/floats.pas
-884c4a1e3f8ae460b39290e2974b951c  gdb/testsuite/gdb.pascal/floats.exp
-874ff31d5af783068ff9bd4bb9faf5dd  gdb/testsuite/gdb.pascal/types.exp
-537db9d1dadcea09c4c92cb7bdeb2590  gdb/testsuite/gdb.pascal/integers.exp
-3174b71181fd3d7abac58a89a5e3a974  gdb/testsuite/gdb.pascal/gdb11492.exp
-762d917217d95d43d20b3c561e68eb86  gdb/testsuite/gdb.pascal/gdb11492.pas
-81aef75383781b2641b916effba31b7f  gdb/testsuite/gdb.opt/clobbered-registers-O2.exp
+f7a470d89013ace827ad986a22f6cae8  gdb/testsuite/gdb.pascal/hello.exp
+02d09d7b370896b9fc8867b7ed1c7313  gdb/testsuite/gdb.pascal/floats.pas
+fc03015d2e3c9a37306ded2799bed248  gdb/testsuite/gdb.pascal/floats.exp
+910b10bafe224b1101ee909a25e479a4  gdb/testsuite/gdb.pascal/types.exp
+6690727ed4a334c1d91f45aecfa064f0  gdb/testsuite/gdb.pascal/integers.exp
+fa3aa3195061a9c30e07f5077db719fa  gdb/testsuite/gdb.pascal/gdb11492.exp
+b4ae59b9bb0794a69841d92b9bce8a3e  gdb/testsuite/gdb.pascal/gdb11492.pas
+f9b5be4af97baeba37d751a29fdc8af1  gdb/testsuite/gdb.opt/clobbered-registers-O2.exp
 55ff811e4ba9c0ed00acf2d95609480b  gdb/testsuite/gdb.opt/Makefile.in
-915b28a36b57f0d96067ff98b677d1cf  gdb/testsuite/gdb.opt/inline-break.exp
-47bb2523bef54a11e5ea466266fa29b7  gdb/testsuite/gdb.opt/inline-cmds.exp
-40082f7ff0b9abb1d9604404c5fdc1a1  gdb/testsuite/gdb.opt/inline-locals.c
-18079513d6085e110811800e98513464  gdb/testsuite/gdb.opt/clobbered-registers-O2.c
-91d68da0ac6af6efa75d978d691b67eb  gdb/testsuite/gdb.opt/inline-cmds.c
-800595ed4fcd3fae3032174fc2970f85  gdb/testsuite/gdb.opt/inline-break.c
-69e8b5e8c664eb25230197ee81ffb7cf  gdb/testsuite/gdb.opt/inline-markers.c
-29d842b0c1dca838946169701503776a  gdb/testsuite/gdb.opt/inline-locals.exp
-ccb393f63164338dd3e266c38e64df73  gdb/testsuite/gdb.opt/inline-bt.c
-0434a2bf17968a7681a60c2b3580ddc5  gdb/testsuite/gdb.opt/inline-bt.exp
-f338e4b3b4399fcfef538d4fdfbbb0ea  gdb/testsuite/ChangeLog-1993-2013
+e9cc32e4e1144cbef2d7045c90901808  gdb/testsuite/gdb.opt/inline-break.exp
+4ce6bd87d8bee92673ebe88bc8c7db5a  gdb/testsuite/gdb.opt/inline-cmds.exp
+758c13e1a43184af1af368168ada8034  gdb/testsuite/gdb.opt/inline-locals.c
+8549a0fd72af8df6c859373ed382dd5b  gdb/testsuite/gdb.opt/clobbered-registers-O2.c
+61dec21db51bdcd3dd26c3603bad315e  gdb/testsuite/gdb.opt/inline-cmds.c
+67308c489529ed7a435af3f063cc04eb  gdb/testsuite/gdb.opt/inline-break.c
+55e5f0e06a08f6fe936aa9e4d36d555f  gdb/testsuite/gdb.opt/inline-markers.c
+f63b9caebec4020d41b2850df0a87ce6  gdb/testsuite/gdb.opt/inline-locals.exp
+eaf6326c0ebb8e7f9d4f0c7995e5c307  gdb/testsuite/gdb.opt/inline-bt.c
+e18b63c51f494b4fd61856ac1e5ce9d5  gdb/testsuite/gdb.opt/inline-bt.exp
+1bb529834b102b464749774ec6d20219  gdb/testsuite/ChangeLog-1993-2013
 a36c2e9f8bf7f9d788db20927e18e921  gdb/testsuite/gdb.disasm/t12_bit.s
 70b15852295559a37b00c60d55167563  gdb/testsuite/gdb.disasm/t04_sub.s
-34acb9595ed3cc5c94c44fb13c9219c7  gdb/testsuite/gdb.disasm/t01_mov.exp
+dca9cd73d151589299f29c4d14457b58  gdb/testsuite/gdb.disasm/t01_mov.exp
 a640da1752a98c70b4dae81fd6dc759b  gdb/testsuite/gdb.disasm/t10_and.s
 b0c212de85c1acb1e14a705f4e40a6e9  gdb/testsuite/gdb.disasm/t01_mov.s
 746cba1f69c9662de78147571ea8dc1e  gdb/testsuite/gdb.disasm/Makefile.in
 c02c125e2e5010129e46e393e2cdef81  gdb/testsuite/gdb.disasm/t07_ari3.s
-7765e018d747caa8b7550461c5fec7a9  gdb/testsuite/gdb.disasm/am33.exp
+3e5a899d7d17297fc472b33656e7f2e3  gdb/testsuite/gdb.disasm/am33.exp
 9d7ec73ab52e55ec1f83ec9e35523702  gdb/testsuite/gdb.disasm/am33.s
-97822d494d5cf17f127a351fe4ff3cc4  gdb/testsuite/gdb.disasm/t09_xor.exp
-b564d18a33ef4c7c82b85f0743b3ce74  gdb/testsuite/gdb.disasm/mn10300.exp
+7c67059e9c09c58424e1992a8d07f995  gdb/testsuite/gdb.disasm/t09_xor.exp
+b8d593ad5588be06a1cb33ca5782efdc  gdb/testsuite/gdb.disasm/mn10300.exp
 cb76fc798d647b1ee8ba82f8ad9a5584  gdb/testsuite/gdb.disasm/h8300s.s
 82c2e284f051cc293b39b6ce0741aa89  gdb/testsuite/gdb.disasm/t09_xor.s
 9f2e1d0972a5fdf62643f281a80de560  gdb/testsuite/gdb.disasm/t06_ari2.s
-5a76fe87f6e0a7ee4bb6537e26fc15fc  gdb/testsuite/gdb.disasm/t10_and.exp
-57d37b0ac1f19c11df3a17abe841a207  gdb/testsuite/gdb.disasm/t02_mova.exp
-989e3874fae45c80896077abbab3ab04  gdb/testsuite/gdb.disasm/t05_cmp.exp
+5ecdc88e423e1e9403f23d6d5259043b  gdb/testsuite/gdb.disasm/t10_and.exp
+6edffde83d86a6e862b63ff42569ea7c  gdb/testsuite/gdb.disasm/t02_mova.exp
+45f982bd5382c869bbdc40b875e5e82f  gdb/testsuite/gdb.disasm/t05_cmp.exp
 e02ce2008b0f7cd2c4bd231e78d46c8c  gdb/testsuite/gdb.disasm/mn10300.s
-db1acd26318b3cf007490c25c9fa96d4  gdb/testsuite/gdb.disasm/t12_bit.exp
-7a1c816102f41bfd42ad92247d4880dc  gdb/testsuite/gdb.disasm/t07_ari3.exp
-4ce53420fd9989444c98d1bb34583a73  gdb/testsuite/gdb.disasm/sh3.exp
+20058c4c635e84dc65fc892a42ce59db  gdb/testsuite/gdb.disasm/t12_bit.exp
+cb59c30475144718657c2ef1477f1a16  gdb/testsuite/gdb.disasm/t07_ari3.exp
+3743d0f9d1a89a13bece098848b60688  gdb/testsuite/gdb.disasm/sh3.exp
 8df48a7abc7ba3009ba5f49d74d3c8f9  gdb/testsuite/gdb.disasm/mn10200.s
-6d9d2fcc32a46465b2c3faaa4b6db4cd  gdb/testsuite/gdb.disasm/h8300s.exp
-7b4647f4b9e56b74f41559b971ec63f0  gdb/testsuite/gdb.disasm/t08_or.exp
+4330c57cb70517cf2a422379d1822b00  gdb/testsuite/gdb.disasm/h8300s.exp
+252fcc5e222d761c2390f38706a24790  gdb/testsuite/gdb.disasm/t08_or.exp
 e546b5aa7eb88708555537439de19900  gdb/testsuite/gdb.disasm/sh3.s
 fa6a2c9c9ae47e840be659d01a4750d8  gdb/testsuite/gdb.disasm/t02_mova.s
-d9fde0d56f1a550d3cfd46ec53ffba83  gdb/testsuite/gdb.disasm/hppa.exp
+428f450f98354f470a7d37061a8641cf  gdb/testsuite/gdb.disasm/hppa.exp
 d20f8c266b73f0682f9b33a40641f923  gdb/testsuite/gdb.disasm/t03_add.s
 dbbb53f76688f2006bfe0b9c14fd4241  gdb/testsuite/gdb.disasm/t08_or.s
 13d33a0e2d93ee9c30330c55b1f370d1  gdb/testsuite/gdb.disasm/t05_cmp.s
-6ea17b6b740fd12ba555e725a1f2cd5e  gdb/testsuite/gdb.disasm/t04_sub.exp
-56b183a9753bd4294121fc586b8667c7  gdb/testsuite/gdb.disasm/t11_logs.exp
+1c061026ecf09177a120935a7c5c5119  gdb/testsuite/gdb.disasm/t04_sub.exp
+b6fd08196c4449bda94dc71f3d76a380  gdb/testsuite/gdb.disasm/t11_logs.exp
 ec9241c34e56cabb8f4eadadad6c69d3  gdb/testsuite/gdb.disasm/t13_otr.s
-2381aec8b7db9ca08bac4b8dc3962429  gdb/testsuite/gdb.disasm/t13_otr.exp
-b8eb701c708c4a2de4d9ffa80295dc72  gdb/testsuite/gdb.disasm/t03_add.exp
+b5f4c14bdae9297cc1b693559e23fa7b  gdb/testsuite/gdb.disasm/t13_otr.exp
+b91361f836b5cff871afd00d33aa570b  gdb/testsuite/gdb.disasm/t03_add.exp
 e14e8cc3e96d350310aaac726d4ea5e3  gdb/testsuite/gdb.disasm/t11_logs.s
-cbef66a8154c12c610c29884c1364bbe  gdb/testsuite/gdb.disasm/t06_ari2.exp
+ce1e0c733e583435c58f6aa28d94e41e  gdb/testsuite/gdb.disasm/t06_ari2.exp
 1531e9f2d8c5fe8c476a72c8621ac6f5  gdb/testsuite/gdb.disasm/hppa.s
 1282826776fbaa3434eaf9c13379f11c  gdb/testsuite/gdb.xml/Makefile.in
-95356a3a7affa43f5999527e77b2f787  gdb/testsuite/gdb.xml/tdesc-regs.exp
-0b7cab42066dad19aa44775b99e875eb  gdb/testsuite/gdb.xml/maint_print_struct.exp
+fd3d966c6e92eb0df447b0114848083a  gdb/testsuite/gdb.xml/tdesc-regs.exp
+69550ea97780a96f7a8bb01b8c29f98f  gdb/testsuite/gdb.xml/maint_print_struct.exp
 4f957259a1af66b87b45b94b81dba00d  gdb/testsuite/gdb.xml/loop.xml
-00357be3b7d84bc51b2078983cc0111a  gdb/testsuite/gdb.xml/maint_print_struct.xml
-d8684b49bfb56ec6c17e17142e6304fd  gdb/testsuite/gdb.xml/tdesc-xinclude.exp
+09c983792430a9f098b56912cf529b2f  gdb/testsuite/gdb.xml/maint_print_struct.xml
+fff2e566af2f91343094506b06d1db3e  gdb/testsuite/gdb.xml/tdesc-xinclude.exp
 8eb46c680c302af7d9de78ea3edb52fc  gdb/testsuite/gdb.xml/single-reg.xml
 217bac7412f8837f007be696d457b70c  gdb/testsuite/gdb.xml/tdesc-bogus.xml
-ddfd0dd9f0bae0f1a37d5b53832840d9  gdb/testsuite/gdb.xml/tdesc-arch.exp
-1c19de5b700f9bab2f566722cedd7a9b  gdb/testsuite/gdb.xml/tdesc-errors.exp
+8ffd213e5431934d08acfe8105694625  gdb/testsuite/gdb.xml/tdesc-arch.exp
+447356ecb94e85a4950ab8d7d46c62e2  gdb/testsuite/gdb.xml/tdesc-errors.exp
 f8e7043a6ec28fe297b2ed7aacd0501b  gdb/testsuite/gdb.xml/tdesc-unknown.xml
 5f040cdc742fff8b8845e8ed21d20381  gdb/testsuite/gdb.xml/extra-regs.xml
 9bbc43406da2744f6c8a7c38b97bb02c  gdb/testsuite/gdb.xml/inc-2.xml
@@ -4076,22 +4215,22 @@ b17141653a2a7f81010b78ba903cfdec  gdb/te
 0762eff212b3c7e9fe3c7047b5f037d9  gdb/testsuite/gdb.xml/trivial.xml
 db4894f09a7324b25de6b98a23383a5d  gdb/testsuite/gdb.xml/inc-body.xml
 c48b4f1a627f6ce32439bb7c3a072299  gdb/testsuite/gdb.gdb/Makefile.in
-01b2353f8db6078158b945949ca1d21a  gdb/testsuite/gdb.gdb/complaints.exp
-79f6d522c0a7b23f6bc8a080cd304189  gdb/testsuite/gdb.gdb/xfullpath.exp
-fc680f70ce8fbe1276f431835d998d56  gdb/testsuite/gdb.gdb/selftest.exp
-c53e43a523717b31dcaebaf7d99f5dff  gdb/testsuite/gdb.gdb/observer.exp
-c30a4a7f08d51dcf563df57d9c8d1d8c  gdb/testsuite/gdb.gdb/python-interrupts.exp
-f6771dc5775f3a6e2944e72ba5333ae4  gdb/testsuite/gdb.gdb/python-selftest.exp
+2ce52b6e5a5c9ac482681b77c2b19fbb  gdb/testsuite/gdb.gdb/complaints.exp
+4566c90796e5519e313700f63f88ae6a  gdb/testsuite/gdb.gdb/xfullpath.exp
+937e2c55b549810bb9124a9bc965419c  gdb/testsuite/gdb.gdb/selftest.exp
+4a87c60a32d470c676fe28db867719c6  gdb/testsuite/gdb.gdb/observer.exp
+0c7fe0612b079f00477d14048403def1  gdb/testsuite/gdb.gdb/python-interrupts.exp
+2c83c55f84e12798b79753fda32b2d67  gdb/testsuite/gdb.gdb/python-selftest.exp
 05e2f4d5c2e07a495b1df3561f316681  gdb/testsuite/gdb.hp/Makefile.in
 943ae15521dca9cb0098128efc3b280a  gdb/testsuite/gdb.hp/gdb.compat/xdb1.c
-6032413d70d25a18443a5efc5fe934b8  gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp
+a95e2ca16d18943025a5fa2de5e88db0  gdb/testsuite/gdb.hp/gdb.compat/xdb3.exp
 3ba668ddbe0fd65c911684e141286162  gdb/testsuite/gdb.hp/gdb.compat/Makefile.in
-21d8ad7baeeaac1551ef79c4f7828ea0  gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp
+e7f3f9e11a3d8d3d64d297a16099f784  gdb/testsuite/gdb.hp/gdb.compat/xdb2.exp
 87882e6b6268aeb4258a5d999f17c0fe  gdb/testsuite/gdb.hp/gdb.compat/xdb0.h
 e999268b546368bce8c7d919f44073ed  gdb/testsuite/gdb.hp/gdb.compat/xdb0.c
 efdc8ddc5dba749425497347498fc5ab  gdb/testsuite/gdb.hp/gdb.compat/sum.c
 00f1943eda306eea1225aa67d0716842  gdb/testsuite/gdb.hp/gdb.compat/average.c
-51d04c0a7ee497a1e5453c5cbcfab0ec  gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp
+631692842e0a2e77547d41812692ccdb  gdb/testsuite/gdb.hp/gdb.compat/xdb1.exp
 fbf537e72ce89db0e107c27b0339b49b  gdb/testsuite/gdb.hp/gdb.compat/xdb.c
 48806746c4205bdf0d050b7c3a32210b  gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x1.cc
 76af0d0b7dd89e3eb8fdd7dd10334d59  gdb/testsuite/gdb.hp/gdb.objdbg/objdbg04/x2.cc
@@ -4115,922 +4254,929 @@ ab81c17425f162902b2593b2af2965bc  gdb/te
 b93935b37dba86bc6c49acaae960efa9  gdb/testsuite/gdb.hp/gdb.objdbg/objdbg03/x2.cc
 ec60dcbdfb0180436772d4591415b3f8  gdb/testsuite/gdb.hp/gdb.objdbg/objdbg02.exp
 be7678b7be909ac4a437af66e2775493  gdb/testsuite/gdb.hp/gdb.aCC/Makefile.in
-7ffff995301d0fd7ad6e08c7b73a4f0c  gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp
-2b587e0d7b50c411290fa84b9084a21e  gdb/testsuite/gdb.hp/gdb.aCC/run.c
-c7f5ab206431f9b1877837a2fa695561  gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp
+3aaf328ffc1871008a9d2e911bcf34d3  gdb/testsuite/gdb.hp/gdb.aCC/watch-cmd.exp
+f60849be44dd6a00be8eac864afc513c  gdb/testsuite/gdb.hp/gdb.aCC/run.c
+90c14987001638dab2c75d14c353d027  gdb/testsuite/gdb.hp/gdb.aCC/optimize.exp
 cc53bf59d2a9c47d276d1aac84bd0f50  gdb/testsuite/gdb.hp/gdb.aCC/optimize.c
 8e84c7c14c0bfef46c0aa768c32904bf  gdb/testsuite/gdb.hp/tools/odump
 32892380e46db7bf44c3e233ee6586ed  gdb/testsuite/gdb.hp/gdb.defects/Makefile.in
 afc0e73702f6d36bf5f83663e98743cc  gdb/testsuite/gdb.hp/gdb.defects/bs14602.exp
 2c0a2c964be9bd822394d4c27d94351f  gdb/testsuite/gdb.hp/gdb.defects/solib-d1.c
 408c16c2ba0801d824d0c16563aa93a6  gdb/testsuite/gdb.hp/gdb.defects/solib-d.c
-73478a3e69d0e4bdd59383e2db5e4538  gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp
+ebaf27a7b6420a7d6cfd1709f6dca075  gdb/testsuite/gdb.hp/gdb.defects/solib-d.exp
 db822d6cd121c4db2c5386f1b18327d3  gdb/testsuite/gdb.hp/gdb.defects/bs14602.c
 03f1b83c4f54667b4f0078457b15a52f  gdb/testsuite/gdb.hp/gdb.defects/solib-d2.c
 a2fce5ad609775b8d18706022bc71229  gdb/testsuite/gdb.hp/gdb.base-hp/Makefile.in
-566a90f1141c6149f560aecfb30cdf14  gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp
+73288e29a342bd35fdbf8cf8fab9f8bb  gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.exp
 252ecd08a0cc1b82c6a3395bd4321e38  gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.c
 465f43278cc7d0e79520ac7cd4420a02  gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.c
 63df52bb67127f7176793998cd91448e  gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.sh
-14f1cdf9202f9c5e0cda4fc481e15cc5  gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp
-c27ff046ea50257bf6ced2173200ef11  gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp
+99f3cebc2fb2e9c16a8c19f41513140d  gdb/testsuite/gdb.hp/gdb.base-hp/callfwmall.exp
+8e1dd38ec0c9743c5bb373d3094d33d1  gdb/testsuite/gdb.hp/gdb.base-hp/dollar.exp
 3dea1b9bc2e3aed256501550bf68d4cb  gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.c
 826cb85910a25693b5ec8940b9f17f02  gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.mk
 aa06298d5aa3e73236eb27c425fa4846  gdb/testsuite/gdb.hp/gdb.base-hp/dollar.c
 dead9d35aee1ff308fe3522dabedc3b8  gdb/testsuite/gdb.hp/gdb.base-hp/reg.s
-17c8205ddace084060a4c0893239613d  gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp
+a155f3a0a741896c620e1032a3826c0e  gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.exp
 54e77a9296dcc133c8c1e6f11ca3b9e2  gdb/testsuite/gdb.hp/gdb.base-hp/hwwatchbus.c
 905458dab9cfbee0df58ed9240e14af1  gdb/testsuite/gdb.hp/gdb.base-hp/reg-pa64.s
-acd69f1693a789cac25f62c3c8d680b9  gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp
-9649fd7cecae76f9b38d87c18276580c  gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp
-c461d9b2b1c3dc13970857a14e72cb8a  gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp
-686b68b10ebdd1bba5f6005d636855b1  gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp
+58607aac425e59aad03341338467ebdf  gdb/testsuite/gdb.hp/gdb.base-hp/pxdb.exp
+02be12e49c588f812762e4fa26717228  gdb/testsuite/gdb.hp/gdb.base-hp/sized-enum.exp
+ca5bdd7f74b134db96acf77859f011b5  gdb/testsuite/gdb.hp/gdb.base-hp/reg.exp
+9b36cd2d630ae9e6a34325fe9beb6c4f  gdb/testsuite/gdb.hp/gdb.base-hp/so-thresh.exp
 d26b78129f6ede5217efccfb06f9d80d  gdb/testsuite/gdb.hp/gdb.base-hp/genso-thresh.c
-122e83a21bdc4fa91f6cb1c392f6eea7  gdb/testsuite/gdb.modula2/Makefile.in
-0185cfc620d268ea3ad3a6df813476dd  gdb/testsuite/gdb.modula2/unbounded-array.exp
-aa1c73ef4d70ba3e83fc7af3552e8e94  gdb/testsuite/gdb.modula2/unbounded1.c
-910a1f29a1f5a88b2fbb8bfaa21cfc9e  gdb/tilegx-tdep.h
-7e8caa921341124b4f445a2ff9c03a4f  gdb/symtab.h
-4ddb2ea4db7bf54117d15bb1a5b238a1  gdb/f-valprint.c
-92b17c2ba812c6ddccaf7b9c86923fc3  gdb/gdb_curses.h
-bb42e9e6af1a043a7321347a709e9754  gdb/jv-valprint.c
+8a9caded3722595208134c0ccb223a70  gdb/testsuite/gdb.modula2/Makefile.in
+05c68a87ef40cbbb85aadbf9a53ec950  gdb/testsuite/gdb.modula2/unbounded-array.exp
+d39045d400eb394b581f3e9de9aa3ede  gdb/testsuite/gdb.modula2/unbounded1.c
+84cf3bfb7876597f95e2430061c9c5ab  gdb/tilegx-tdep.h
+04cc5cfc7c7d8b0eaea5153981f75a62  gdb/symtab.h
+f5615bbb876f5d6b8ff495ea635f223d  gdb/f-valprint.c
+e88f32d160934e36fa7d803d483a1e2e  gdb/gdb_curses.h
+1bbdb3e7ea9ca53f9a8cf1a548dca9f5  gdb/jv-valprint.c
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-428e5ca989a0f0a12c4e3de3186a1f35  gdb/doc/gdb.info-3
-38388df7d94a7ac4820fef0ca3d4aa97  gdb/doc/gdb.info-4
+66f43a37e492f475f090c9c817a3a9e3  gdb/doc/gdb.info-3
+fae8a53a358f90f63060c43375c927d4  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
-2c65d15ffe9be0a73b7b06c7526a3f6f  gdb/doc/Makefile.in
-dd35c613d85a3f0bc5722520ccde2d7d  gdb/doc/gdb.info-7
-4177806e15c6d3dfd8a2467b949be4c3  gdb/doc/observer.texi
-d4a3f9e1cb96442b881f5e14179d0948  gdb/doc/gdbserver.1
-ef64c20658907115794618aa8bd6539d  gdb/doc/guile.texi
+be5469929c58735017a3a1e083554ac7  gdb/doc/Makefile.in
+35682a6deaffb118c603aa478ef6663c  gdb/doc/gdb.info-7
+65ee16c0a68d8954d5892092576beb66  gdb/doc/observer.texi
+716b6716014702fd36954e65272e706e  gdb/doc/gdbserver.1
+669fb3191fafb1ca7da855243682fe4e  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
-8cea35585fd5554715380a20f9a79604  gdb/doc/stabs.info
-ac28e81d16edd35512b2672558482b14  gdb/doc/gdb.info-5
-48172d0c6720853aec9aafdf95b59dbc  gdb/doc/gdb.info-8
-d18f5345c0efad2e1ea93d32fe5aa220  gdb/doc/agentexpr.texi
-b5190a76ee5b60f64d30a39fa1a0b84e  gdb/doc/gdb.info-1
+ab34a4a36fd27cddd3c7838273cfb1dd  gdb/doc/stabs.info
+e03628da8610f7496b7b760ad7e06213  gdb/doc/gdb.info-5
+5e745059fe1f18f039d475f21037291b  gdb/doc/gdb.info-8
+4fb6b0bb12bb47f2079a5e38f7dcdcf7  gdb/doc/agentexpr.texi
+11b05033ca1c7cc4201326ed9c6d79d7  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-29563fe3a463b57630eb544d73080d01  gdb/doc/gdb.info-6
-67d6ecf1abfb2ec6ff1c32f8715c6c22  gdb/doc/gdb.texinfo
+59ad81b15bb64dc5bc9624443439ea20  gdb/doc/gdb.info-6
+85ce27a948be3709b3aa35643f9e6d15  gdb/doc/gdb.texinfo
 553b7fe1bf4b5d8b96fdb8cd83503de1  gdb/doc/stack_frame.svg
 04c82b1da7e894a6555868e4f86225af  gdb/doc/filter-for-doxygen
-c9e2dc8be9bf526bceffd17e52f5fc42  gdb/doc/Doxyfile-gdb-api.in
-37023e00a8934081831a947b58a46557  gdb/doc/annotate.info
-c84956b7a332e4fb23cc8558125f840b  gdb/doc/gdb.info-2
-f44023a05ad33ffb8254965d32eef766  gdb/doc/refcard.tex
+938187ce9976cbeb134b49335770152c  gdb/doc/Doxyfile-gdb-api.in
+f828e05ce4faab3d297f32d540f77c99  gdb/doc/annotate.info
+0e34889086c152046d959af402a8e10c  gdb/doc/gdb.info-2
+df443225fa3e5719ca7e6925a7e633e0  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-3879a4916d34a2cb2e4c8c9dd401fd1c  gdb/doc/gdb.info
-86a4ae834847eda74e2b062539368052  gdb/doc/python.texi
-53c4421fce28f695c1e8100a1736154d  gdb/doc/stabs.texinfo
-3f3e1ce3f63d9833af6e4a2bfdb81c11  gdb/doc/ChangeLog
-d0a4d8012722949be177f23437cfa614  gdb/doc/gdb.1
-d5beb2b11506cf36c3b955e4c36e059a  gdb/doc/gcore.1
+1a41cedf30b73960b197166192a548a0  gdb/doc/gdb.info
+51f928aef51288aa002575df7e06ff0d  gdb/doc/python.texi
+fa1abec9272120122bf7638320e90d4c  gdb/doc/stabs.texinfo
+c10dfc4e1284c40d2aaa059b6d79ff1c  gdb/doc/ChangeLog
+35861de5dae449f0a1cb54e8500ab210  gdb/doc/gdb.1
+d2657a1f1c4fcea172d1cdabeb29ef27  gdb/doc/gcore.1
 d39233c86ed6a6dc9e853ae6a11fe03e  gdb/doc/stack_frame.pdf
-10f160cac8a8bb7c5d7c4eadafaee68f  gdb/doc/Doxyfile-base.in
-0e455dcf84caa950691bf7ba8c5741ad  gdb/doc/all-cfg.texi
+2daa53916456ce35b6806c2883623b89  gdb/doc/Doxyfile-base.in
+7e8f20fd3b739803f4bd3991d35a4a1f  gdb/doc/all-cfg.texi
 bf96494e6e4d346175babd5ef9781882  gdb/doc/gpl.texi
 cd5e3faa9bd1b684a73c7d527cdb4988  gdb/doc/filter-params.pl
 7bfdb0765c5d050d204fbb30aeeba0d8  gdb/doc/stack_frame.eps
-ac8fd39908c41e3e5bb792dba5342bf8  gdb/doc/gdbinit.5
-73b97f7f195c39a874818e550df55a4f  gdb/doc/Doxyfile-gdb-xref.in
-8d169ff7e7d99dff9d951fa869f90fe2  gdb/doc/annotate.texinfo
-03454533593a5ff355235ae150ced2e9  gdb/doc/doxy-index.in
-0d0ec0c36a30512d61f402b8990ebe14  gdb/doc/Doxyfile-gdbserver.in
+610534ad25e91ed06a96beee067aa6cb  gdb/doc/gdbinit.5
+d606e873666ae0bc7bc7c84d6c9c2332  gdb/doc/Doxyfile-gdb-xref.in
+705bf0b3fb65b3f7e3db4cc5d9ae8eba  gdb/doc/annotate.texinfo
+79278fc2f5486809779a9a8f8883d401  gdb/doc/doxy-index.in
+524b402ee3657e3e2816db43131d4043  gdb/doc/Doxyfile-gdbserver.in
 73ec71cd3b2e7f61bc530f19d4b35056  gdb/doc/lpsrc.sed
-bf2b44751fb148b533633dd0d4c085af  gdb/parse.c
-5a806d5d2ae5dc1c5cfee5e9f8411d0e  gdb/fbsd-nat.c
-c3cd688c28b3a3e94dd30450cf988b37  gdb/windows-tdep.h
-de7a29bb00713c37e2866748517e1df5  gdb/stap-probe.h
-ef61cfb30a688496325fb05fb8eb214f  gdb/observer.sh
+f53be814fdc503c4f1f1ec6e65e777af  gdb/parse.c
+053d167ee0c4bcac0c50b3e87fffa111  gdb/fbsd-nat.c
+a7846a55a540bb655cac9823a6a3b59a  gdb/windows-tdep.h
+3b01e1c2ab080db9856358dc397f1305  gdb/stap-probe.h
+25df2c93266a074cf0bde4e12fdeb11e  gdb/observer.sh
 1f68d3272b33b380724fe731f1716f7b  gdb/ChangeLog-3.x
-4592f84d0c87d3f2517f9b9c66f967ca  gdb/language.h
-c350827ae3cb69760e8e91598e8e6dc0  gdb/i386-nat.h
-03bb67d342a8e2124e90bda1b6977fd0  gdb/tracefile.c
-921fb867e3b10393ea9bdf944b2e54b5  gdb/mi/mi-console.c
-e8b919332e2170e6ab9325d3b768be09  gdb/mi/mi-out.c
-8ee508b065098376b0b8a93bcadddd3b  gdb/mi/mi-getopt.c
-cca62524d06407652497c9db801ca56b  gdb/mi/mi-cmd-info.c
-2810d09a2a278b3d62f7b6fa38dad28f  gdb/mi/mi-cmd-env.c
-b0874dc5e5524266f5235b98c14a1201  gdb/mi/mi-main.h
-712f2aff8833102b84b2f475e13f8eaa  gdb/mi/mi-cmd-break.c
-45c91a776aa9547b8a451d22b19ed427  gdb/mi/mi-parse.c
-cba56bb165d285e07706ada6649d98fc  gdb/mi/mi-common.c
-dd8adcff02a351657a55e6c92ce01b04  gdb/mi/mi-parse.h
-0d4c383f892aeb5751e6f55c5b8b385f  gdb/mi/mi-cmd-stack.c
-f01c57a92f987c8ae7ecabad403a6107  gdb/mi/mi-cmd-catch.c
-ed19b880098bee4c6b6b8aab4a1ce9a5  gdb/mi/mi-cmd-disas.c
-42dec3ac9b146cb0f0e8bcd0dd7e710e  gdb/mi/mi-getopt.h
-b02a919246ae578ab0b3d65478db87a0  gdb/mi/mi-interp.c
-8ee5ec29c8871f5c87b988683da7c18e  gdb/mi/mi-symbol-cmds.c
-3104b3c9c64ffff7032cc90efef0acf9  gdb/mi/mi-cmd-target.c
-e10554ff14760ea14f332890aa0cb3a7  gdb/mi/mi-cmd-var.c
-2f2cb660eec75139ebf287dc59a0f8f8  gdb/mi/mi-common.h
+08281f14e8a9b83f8f58b1b78fbe10ad  gdb/language.h
+a0409d7850791f99be7fc199d1f1d2ed  gdb/tracefile.c
+5f33dee4122a67ee5257c29defcbb86c  gdb/mi/mi-console.c
+9d8f5ea018b73b5f9f78885e1611f48a  gdb/mi/mi-out.c
+827e6eec3031efd4039cbf2077df4543  gdb/mi/mi-getopt.c
+758f632fdf4847b71486a707ac62f31f  gdb/mi/mi-cmd-info.c
+72c89a67f0e831f81d6df79532846a65  gdb/mi/mi-cmd-env.c
+5930027e1875b655e7369d56e937cd36  gdb/mi/mi-main.h
+b6952a62dea15eb1b73facde05a883d7  gdb/mi/mi-cmd-break.c
+c7e1b2430008b592e112f60f8ac10b1e  gdb/mi/mi-parse.c
+54abd47a0b53746565c413fd33024603  gdb/mi/mi-common.c
+a8c79617c42f7d89691e74a0609033dd  gdb/mi/mi-parse.h
+351e1dd5f1b46d45658239e0ddde6a73  gdb/mi/mi-cmd-stack.c
+03a10783a88774b4ffd5b3aa4cbb939d  gdb/mi/mi-cmd-catch.c
+6551947b14125e474cd666b544576eca  gdb/mi/mi-cmd-disas.c
+3f6e946f8156782a62e2e80591fbd6c5  gdb/mi/mi-getopt.h
+dbd9ed79e28dd7a3dba08ae9f8abf209  gdb/mi/mi-interp.c
+53b56ee52f14abb1a8d378dca4c08cab  gdb/mi/mi-symbol-cmds.c
+cf022efd3f0c63bfd1f47a3fb8452d5d  gdb/mi/mi-cmd-target.c
+437df75024c1beba1362e8299ce052b9  gdb/mi/mi-cmd-var.c
+3e967094375b5a45d9b6b2bb7a87d233  gdb/mi/mi-common.h
 90b81f951a2351c88c1b4a1fedbb492f  gdb/mi/ChangeLog-1999-2003
-46e60c1f056a2a54e2e9e078a10cbaf6  gdb/mi/mi-cmds.c
-595d90a073ebdf1ea7f068105e8dc27d  gdb/mi/mi-cmds.h
-7b8c0f01de0fecc7612082c900354cb7  gdb/mi/mi-main.c
-513b744d0267711a9562a950d785913a  gdb/mi/mi-cmd-break.h
-b29ce285d2b3f9e10b795552f100b4d9  gdb/mi/mi-out.h
-da02ded8389f4cc6f6f697d4fcd4bdbc  gdb/mi/mi-console.h
-d69b8f6f126cfc09fab3e245ce9ee9a8  gdb/mi/mi-cmd-file.c
-99577c086eda5ab491e57298f30041cd  gdb/registry.h
-fd7b0fb712258d1fa8589cc2dd421daf  gdb/ctf.h
-f911c5e3818ee2445a29e5990d4dad6a  gdb/mn10300-linux-tdep.c
-c9c74aca356654764613cd67a5cae240  gdb/gdbarch.sh
-f66417cb6ff064c555df33a8e8d222d7  gdb/skip.h
-87345690a21b21458a18b8b1658bd025  gdb/hppanbsd-tdep.c
+e12de7f2583c4320eac786bba0cab19f  gdb/mi/mi-cmds.c
+12c02cab3b223791dff9473428370e28  gdb/mi/mi-cmds.h
+3e1f6a98824c5aa5bed174232b174d7e  gdb/mi/mi-main.c
+3968af7123785333301eb1387f461374  gdb/mi/mi-cmd-break.h
+7620649d86c3d46ab33fe6e8f67baf38  gdb/mi/mi-out.h
+4bd8d5e2186fd7ed836de2dec3efe38e  gdb/mi/mi-console.h
+e0274085ae4a13c0e410d09bc8216a6d  gdb/mi/mi-cmd-file.c
+0a85d718905622acfec42d74e162e9f4  gdb/registry.h
+4aa717e31acff4a45fba6dab47ab5a1e  gdb/ctf.h
+61082cf0b84c0455216018d1eae71a67  gdb/varobj-iter.h
+af4315900e0edab75775e722c0f4927d  gdb/mn10300-linux-tdep.c
+de76b3ea5a0a5478adef0e6a87688eae  gdb/gdbarch.sh
+c59c660303d74f65d8123b7801557b67  gdb/skip.h
+d2482b305a9370b9e44451729b624979  gdb/hppanbsd-tdep.c
 d87f8f330dda7f736350ea5dcff5b709  gdb/ChangeLog-2006
-db8f6a76d54450744a367cb8120113e4  gdb/solib-irix.h
-a5662594efa7a4d1e9a8e69d2aea01fb  gdb/minidebug.c
-a8ec35c6a141ddbb1850e3fc5ca5c513  gdb/ada-valprint.c
-4cb1826523d30979047410f841cc5dc4  gdb/jv-lang.h
-bd4b5f00f61edd4e4482fbb170050295  gdb/annotate.c
-0533168943fb637ef5c9204e4c40080e  gdb/addrmap.h
-301639fb9c964d7b98b09e43c194bd38  gdb/valarith.c
-56042147497ff14507a2382fd6d5b343  gdb/rs6000-tdep.c
-7c24aab6d7698c3278ec915666afcd32  gdb/linux-fork.h
-6a824a05bcf16664860f2a392e6f710c  gdb/dwarf2-frame.c
-4cf15726ce3eff908aa3c07bda8d1c67  gdb/mips-tdep.h
-d99372a03fd71feb649f40734ef4fe5e  gdb/srec.h
-8b055b90c82f99fd57cb6bc84da9c153  gdb/sparc64obsd-tdep.c
-eb4b41e386cabb807bfb7238ee08a417  gdb/gdb_select.h
-33b54e85cee71755c5bc7cbe21b70b6d  gdb/amd64fbsd-tdep.c
-b05d4939757387ab8eaef46900bbe616  gdb/i386obsd-nat.c
-e1dfacc9b7dbbbfe08119adb9326de97  gdb/alphafbsd-tdep.c
-5e3d55df8960f7dc3576ec5abc95fedd  gdb/dicos-tdep.c
+83ce12311a6b48b3320c56afffcd62ab  gdb/minidebug.c
+4147c9d8aac7cb021c1b78ee4fb5cbfa  gdb/ada-valprint.c
+3c49e872223fbaefb7d1a33fd0eae45a  gdb/jv-lang.h
+7e2706eaacbb35897d275be7c50dfff4  gdb/annotate.c
+c667733a02d7abe1c3886b7e599d59a2  gdb/addrmap.h
+d226b66cc0f7c157a1659d78681430d5  gdb/valarith.c
+a23b61ee5dba945a42fd3ea34450c4e6  gdb/rs6000-tdep.c
+b435883843e68b3d931ba9c5bc847baf  gdb/linux-fork.h
+3af332e7a5c17390716cb28719b4ca6c  gdb/dwarf2-frame.c
+8e95032916c325bef04fe3a7cff458fb  gdb/mips-tdep.h
+d4bf01221e049c3a153f89fad16f0601  gdb/srec.h
+69f814dafa661f2952b0e0cdf14706c9  gdb/sparc64obsd-tdep.c
+71387992773fa77597270b2cf1a4cbff  gdb/gdb_select.h
+f66426db6da01cc22038f250ee815fa9  gdb/amd64fbsd-tdep.c
+6f1008a564676b1730cc26766da621d0  gdb/i386obsd-nat.c
+a72ab41d68e84ee0227e2f5399f3910e  gdb/alphafbsd-tdep.c
+487314f8805d58f19e4566f0b037c1b2  gdb/dicos-tdep.c
 8231b684b7d88405d04d2bef46a24822  gdb/ChangeLog-2004
-bc2bbbbadf72e629b7ac628291198678  gdb/hppa-hpux-nat.c
-62917ac422d8dbc4a9a53eafc95db9e6  gdb/machoread.c
-0ead687b1f7d0d6b59c2764dec9ae6ed  gdb/printcmd.c
-a6d05cf344ad4c22dca82a7ec0d80101  gdb/alphabsd-tdep.h
-0d06019572f5101b855f0ee37b4d8105  gdb/serial.c
-6859ee027fb0e6103ebf241776510030  gdb/gcore.in
-c7d1795a5338645b843f10ca6f133c9d  gdb/ser-go32.c
-8ce31969554a941d591f7ff7fc9b8a8b  gdb/minsyms.h
-6e66a657542ce0ce9b584816c8f5b94d  gdb/source.h
-d6f7a51b8ebc4d2c6fd5dbdea6db0e5d  gdb/microblaze-tdep.c
-5bdd6db753ff8adcef13d3d313095b0b  gdb/jv-exp.y
-842d4586694d83215c67da280ea985ca  gdb/procfs.h
-e76fdbc8d303102a306521a41f512372  gdb/objc-lang.c
-2bc0da894993193e1e2a987b318da1b6  gdb/rs6000-tdep.h
-7901bae4507272bff063ad44a07ac721  gdb/dwarf2-frame.h
-c86c6cc30a5e88698f9448b0f26ffd60  gdb/tic6x-tdep.c
-f6fed2b0bd42c2d0b56b75c86c0f03f2  gdb/gregset.h
-057cb32f2674e1bf715b63bf97e6f5af  gdb/infcall.h
-012122642f39b63ad9d82e4e4974c0a1  gdb/source.c
-77e2530a9837ca8d581afe771fd8b51a  gdb/sparc64-linux-nat.c
-bc7b4cf14b3f80691b07c4c865e60558  gdb/build-id.h
-d1d4d2f2819b0a2e9c5eb36e6d8ae14b  gdb/xcoffread.c
-0765400e64c43d8c93d148e6526bc61c  gdb/valops.c
-13d3721edf5314486fff9ec5e6b330fa  gdb/sparc-nat.c
-8793c84ac656af6c0e821bb2581efcc7  gdb/continuations.h
-02d8da51f0387237e6c5e7039c01fdb3  gdb/infrun.h
-9012ba1f4eedc9455094f1554b11551d  gdb/jit.c
-c943da1835f9c0dc52b84d2829d47818  gdb/windows-termcap.c
-f09e1bd1e7e85abfeb0ddcc5f66637c5  gdb/rx-tdep.c
-93226b4618a4a4b22fa82f34ab0b25b1  gdb/frame-base.h
-72ec313ecd3b6ee796a89fe04ac02a41  gdb/xml-syscall.c
-ae6c2cfca314f4982c1d29fd7ad0c38d  gdb/symfile-mem.c
-2dc4ed84616a25d70079327e4fd10d62  gdb/i386v4-nat.c
-48b4608c3ff4a33460421c35ae101671  gdb/c-lang.c
-1b8f2b031926bc3948da297c7815fa8f  gdb/typeprint.h
-672d4c1ce16804e77e220154fc269a43  gdb/osabi.h
-5cdfd9b2d6910e9e95d30a8a3de69d8d  gdb/symfile.h
-adcc1ffef10a3793c983b78f86600278  gdb/gdb_vfork.h
-ca585285eb7b591590c980ca5694ba0e  gdb/hppa-linux-nat.c
-20706f38304ce6193c3d2470abdb7835  gdb/avr-tdep.c
-6b6d84f2759e20cc841871b7d8dfcebd  gdb/obsd-nat.c
-3913e3f4718c85b46d405aca42409f1a  gdb/gdb_bfd.h
-af86a4ed563c80b9d3103b44a68bca62  gdb/v850-tdep.c
-cc1cdab49cfd54048f9ca28389ab5a59  gdb/cli-out.h
-9529d5d6a6eb527a0b9ad7fe1b592180  gdb/build-id.c
-3615753184995f41f4859ff3ae35f821  gdb/ppc64-tdep.h
-80d112adb2ca51d6cb94699a2e21a7e5  gdb/c-valprint.c
-d8cce8bd2178d4a44d484da426e57a0b  gdb/value.c
-b5216a63e5b5405377bc6a89fc8a4db8  gdb/monitor.h
-a84833a9bf2b1cacde1d0f966ec4a0f1  gdb/dummy-frame.c
-4fef0ed95e91265d7e68fcbde7025c44  gdb/ser-mingw.c
-0b30aaca39044cc283e7186c60c4a432  gdb/solib-pa64.h
-98720af9598382f760237599d846ceac  gdb/completer.h
-4348d541c1c853b60dd5bc94a84552a6  gdb/tracefile.h
-13de1d6cc0689476180134f408dc1e85  gdb/stap-probe.c
-2e80369a65fcf35e5e4f22578a562353  gdb/make-target-delegates
-6020d2564b0d459dbe3782cee044ab90  gdb/features/s390-linux64v1.xml
-9dd21e36e0df643f6d2231531554c271  gdb/features/s390-linux64.xml
+eb5b6fc4c6413e454c7d48df3c57e36b  gdb/hppa-hpux-nat.c
+61fb17037a68d2721bd85c28fbef4f38  gdb/machoread.c
+75592aaa25ba7be6e09372f2785b76bd  gdb/printcmd.c
+b59b9010001e424ca97097fd2ee66343  gdb/alphabsd-tdep.h
+c76e820cf4330dad6496249bbf8021db  gdb/serial.c
+7a145173451982740dfb3cd247bfc303  gdb/gcore.in
+cced96288c9dfd07e4139eb2a04b604d  gdb/ser-go32.c
+c10198163b4df8e904918264764df93a  gdb/minsyms.h
+b90742b695bf473c421bf75a8c810d1b  gdb/source.h
+20895dc95702966fcf730a07dac49de3  gdb/microblaze-tdep.c
+1d6811e11fac6f3332f75997777c03b0  gdb/jv-exp.y
+120d5ad5e817523defb4c23f6b87095b  gdb/procfs.h
+c1173cc7cedfd30e4dcb4a23614448e0  gdb/objc-lang.c
+e70f423642b358e43eb63a6bc90c4440  gdb/rs6000-tdep.h
+1c9ac3e1f595f387b3fe8a472c34108c  gdb/dwarf2-frame.h
+05f54972e5ee6a7a77836c5ac984333e  gdb/tic6x-tdep.c
+d391fe3a718bc3cc5f8e3c1379f640d3  gdb/gregset.h
+140fc314597db91026f7dac6edaf78e6  gdb/infcall.h
+d9394f3c447645d7071e6fbe23d31f86  gdb/source.c
+579a154635cb89d5e66bde2092192a04  gdb/sparc64-linux-nat.c
+f91218a339334b18293eba7bef9703c5  gdb/build-id.h
+c1a791b195dfcc5c9e0a66f9db5936a0  gdb/xcoffread.c
+a9c050b5e0b0610f4c124743e8a1354e  gdb/valops.c
+84306409ca98bd69fde3a892d02b89e6  gdb/sparc-nat.c
+5a7bc54bbe28baab6d8d0ad84f9e201f  gdb/continuations.h
+adbfe788fad914adb549fefb63c363ab  gdb/infrun.h
+e888783bb05a7df3c7ff5bde1fe1d84b  gdb/jit.c
+c542855480e4a74196ab58d861ec4e31  gdb/windows-termcap.c
+bd77d7aea7b71a6d0c9c8107447598bb  gdb/rx-tdep.c
+299a2462d01273cb6f691fcb72806a8b  gdb/frame-base.h
+64a7d3424d84be90bd2090adfb5c57cb  gdb/xml-syscall.c
+a48265a68a0325a20f4ac7769a18c6b0  gdb/symfile-mem.c
+e312697f91f7e979bd7b72c0c444c8dc  gdb/i386v4-nat.c
+f9fa47f2a7b03a981f46c92f0c09e9eb  gdb/c-lang.c
+7f6532114dd0049d7a97f15ade221d1d  gdb/typeprint.h
+98d5e0afa88c3d2d0d06f4abfad16ca3  gdb/osabi.h
+35790d9047f33dafd0a46b450bb9d4e1  gdb/symfile.h
+c5a2baf094ee091d593257e8c4c002bc  gdb/fbsd-tdep.c
+430c6c3c01d2399243d538fc944e3cac  gdb/gdb_vfork.h
+c84752b2b24861a6b86a033b816e5b13  gdb/hppa-linux-nat.c
+a82c1d51fee95e7ca57fd427e803cafa  gdb/avr-tdep.c
+4e075f8479a55f0260435b704e4025ee  gdb/obsd-nat.c
+01254e19cd42d33f2ef18ec04190eb79  gdb/gdb_bfd.h
+d078bfa8e960d16f86fd7ffe20171ec8  gdb/v850-tdep.c
+e398188b306c7c23d4253596dae5f480  gdb/cli-out.h
+eae0a94d8fd20e81897b6b13c456cfff  gdb/build-id.c
+745c20cdca4268afdd6a48a5a13c8809  gdb/ppc64-tdep.h
+eb323e8e4796edcb53181d1b4288ea2f  gdb/c-valprint.c
+485b5b2b730e63562b5deb2ac5e10616  gdb/value.c
+0bf5c532f850a33c6fb49ee8ab690d64  gdb/monitor.h
+2252bb0c6fc65d90455073084e7f07c1  gdb/dummy-frame.c
+e3bfb3408d763a4479366094ffe36423  gdb/ser-mingw.c
+87d49e529ca5cad020480bf2659fff4a  gdb/solib-pa64.h
+421adb7197aea7d00127b736ee27f432  gdb/completer.h
+63176d5515830f1d341a5da9b06a04a0  gdb/tracefile.h
+dbe2cdf37fe5d6be2b2f3f457e2ba54a  gdb/stap-probe.c
+9e9cd3de943b20699edac737009f885b  gdb/make-target-delegates
+576adbdb648d3f0a519dd68a198c004a  gdb/features/s390-linux64v1.xml
+69701d0a7c97718d55272ce8c4ed07e3  gdb/features/microblaze-with-stack-protect.c
+36bafb1a7167b2570166e39dba1c6d96  gdb/features/s390-linux64.xml
 fb6f13d331c2fb05fcbd383364d7c2e9  gdb/features/s390-linux64.c
-2827d438d53975a50562556b9ff445f3  gdb/features/traceframe-info.dtd
+7317e747af9b5229bcf77fde2a0021e8  gdb/features/traceframe-info.dtd
+e7dc561ca8500cb92cc6c0f2ed99d45d  gdb/features/microblaze-core.xml
 30e6b5d2b5054f618bf75227a86cb9ed  gdb/features/s390-linux64v1.c
-2231fec3e0b95b12d8d33a03a2218ba7  gdb/features/tic6x-gp.xml
+eef7a51822b3185583f20045376022c6  gdb/features/tic6x-gp.xml
 4e0ed560ea636f16c2e969fd344649e5  gdb/features/tic6x-c64x.c
 7f858498e3b882463c1ca8c0ffcc73c6  gdb/features/gdbserver-regs.xsl
-4f47e0f6673f9a2892614c54aebc17aa  gdb/features/s390-fpr.xml
-8961b1c9a2cdb63bb1ee0f0cbca2e1d6  gdb/features/mips64-linux.xml
-4c64a985b09147e42b5cc46dbcf7f269  gdb/features/s390x-core64.xml
-4fece54ca8753d7b44096bd1d4f9585a  gdb/features/s390x-linux64.xml
+ec0ed0eaaab4566246b72ed718e7feae  gdb/features/s390-fpr.xml
+f8a21893f14840e07b832bc3243e2d09  gdb/features/microblaze-stack-protect.xml
+c9c61a8d19fc169b7fce5d29d80ff013  gdb/features/mips64-linux.xml
+3399d366a43690cac5bc2387a21ffba8  gdb/features/s390x-core64.xml
+d2906e12b058c2574e6075afada877d2  gdb/features/s390x-linux64.xml
 0f1abe2e41190128a9dfffce453fc66f  gdb/features/s390x-linux64v1.c
 88573334d34920941381a4cdd81e384e  gdb/features/tic6x-c64xp.c
 59171c082294b38b9b6a772d5abb353e  gdb/features/nios2.c
-3868817e3195233a0f73a43e01b95313  gdb/features/s390-core64.xml
-6d5b6232218b9fbbee0e78c5fcf54e57  gdb/features/xinclude.dtd
+c75a0fc638fbd07266ead246dd534ad9  gdb/features/s390-core64.xml
+3b4db1c5fba9c5f4025044708e971132  gdb/features/xinclude.dtd
 c1b29d0bbdb04d576cd5a7739567d5ca  gdb/features/arm-with-m.c
-8bdd3629ccc519b77edfa88bc8fcc26f  gdb/features/mips64-cpu.xml
+03c5d92aeeb01112bd4a99a55e07669f  gdb/features/mips64-cpu.xml
 f9ef388e77543e8426b1487c459305aa  gdb/features/s390x-linux64v2.c
 80addb7b6e7c8371fdd793428b0b19e0  gdb/features/tic6x-c62x-linux.c
-77f6ebad80c8e331658c913c3fb5c646  gdb/features/xscale-iwmmxt.xml
-fe7bea58a39661164b6d1e80cfb59926  gdb/features/arm-with-iwmmxt.xml
-ef8120d3979ba24e707375b98cf4bf02  gdb/features/s390-core32.xml
-1f669f0d71941de2b7ec41a41559ca56  gdb/features/threads.dtd
+33a5af835ec7fa35e71684b0bebefa23  gdb/features/xscale-iwmmxt.xml
+44aa71667103afa082ab4ff70329c030  gdb/features/arm-with-iwmmxt.xml
+43a53af0f15eab5c8ad824cd06d10a55  gdb/features/s390-core32.xml
+0c85e4624f9d04be3764391cbb029d14  gdb/features/threads.dtd
 779b74c6dc6250a855a115e6172360af  gdb/features/s390-linux32v2.c
 344651c03e3550054486c97346dbe87e  gdb/features/number-regs.xsl
-2176cc56b42a01b555d8f563d36641fc  gdb/features/tic6x-c62x.xml
-9c57846be8ae49c917a058d75c82dec3  gdb/features/mips-cpu.xml
-e32900fd395e573003835be55a95109c  gdb/features/arm-with-vfpv3.xml
+bef7e27ba05600eb697b2de60bfecdad  gdb/features/tic6x-c62x.xml
+807ea9db7e1302cf9e7fbb289024a602  gdb/features/mips-cpu.xml
+aef12f12a60062ed1bab7a1a63e1dfe7  gdb/features/arm-with-vfpv3.xml
 44fa197f61f0e50fa5d0f4d1671426fe  gdb/features/arm-with-iwmmxt.c
-d32f1eb65e845bd8e7b78b62d3564193  gdb/features/aarch64-core.xml
-b1aea2bd563669d89d9194cef51621a1  gdb/features/osdata.dtd
-daf06779ef1259290c8aa02f6639090e  gdb/features/mips-fpu.xml
-87b9fa82bbfd9237619f220e679b4545  gdb/features/btrace.dtd
-4a5007d3739f5b166f23324ca4933347  gdb/features/tic6x-c64x-linux.xml
-06bb2066973db7e7e7ba3c6d012eefac  gdb/features/mips-dsp.xml
+91c1f7e9430dac8cfdccad24dc6fab39  gdb/features/aarch64-core.xml
+e6d6ce4d9cf2f688394a9e5282a82ba9  gdb/features/osdata.dtd
+fb6ca23c25ce2c37160ebe80fd141089  gdb/features/mips-fpu.xml
+8d42ca960144fc25f7cd1af07c8580ff  gdb/features/btrace.dtd
+c84fef82a581e046b15499592359e428  gdb/features/tic6x-c64x-linux.xml
+584b2140cb3a6d21d216ae9144426dc1  gdb/features/microblaze.c
+6aca6f50bac123c958d0cfadaf339864  gdb/features/mips-dsp.xml
 8111a297c7045d6a96ed1b635634ef13  gdb/features/arm-with-neon.c
-1bbbb22221da87cd4e1d749e9b1df165  gdb/features/arm-with-vfpv2.xml
-a245c140c4ff82580ae43ab406362b4c  gdb/features/tic6x-c64xp-linux.xml
-5692120e2de0c15cee8c9057c6c3044f  gdb/features/arm-fpa.xml
-45e45cb80cb43c5a88feb2586da138ac  gdb/features/tic6x-core.xml
+79e4d571aba99e7b134ee87c3f5d99d4  gdb/features/arm-with-vfpv2.xml
+f213e8650cce4689c7eaa5dc77174916  gdb/features/tic6x-c64xp-linux.xml
+eb596d4a6ebe49f6c18b25745d47f4fc  gdb/features/arm-fpa.xml
+6db347facbe19ef94ae62e1263ae3071  gdb/features/tic6x-core.xml
 5e7b45b3644bcb488702d8a3cdb2d373  gdb/features/tic6x-c62x.c
-871bed82c82fcd06f2b33b5b369a3fa7  gdb/features/s390-linux64v2.xml
-ac539438f534ac248526aaf7f74b1813  gdb/features/nios2-cpu.xml
+cde7debceb7dc7911fc83fac229fa6da  gdb/features/s390-linux64v2.xml
+4e29e2b8b09511eb469a6d8458cd52b0  gdb/features/nios2-cpu.xml
 229f5c0fb8845998f0f40e35769f51b9  gdb/features/arm-with-m-vfp-d16.c
 fa029913be4fcad6dbaa9b8d9fc27d3a  gdb/features/arm-with-vfpv3.c
-0ddf416c6b3edcc2e5e9fcd6b018209d  gdb/features/arm-with-neon.xml
-69ef6e42d6ae5e75ddd89a20aad923a5  gdb/features/library-list.dtd
-6a925c8a65168bdf575247a130e43e9a  gdb/features/s390-acr.xml
-d23b1a429cfd068173e276bd84c26ebb  gdb/features/arm-core.xml
-6f99494180e1db3b8494d161cef151e2  gdb/features/Makefile
-8f5c272de0efdaa0c8c0cdcff61c82b0  gdb/features/tic6x-c62x-linux.xml
-f72ac861a7851a1d2d1b61073f7e67f3  gdb/features/library-list-svr4.dtd
-e02f6dd77e5775afccf160656dddba41  gdb/features/arm-with-m-fpa-layout.xml
+6a5106a8994c7f46bd484343469571ce  gdb/features/arm-with-neon.xml
+d0060c69705ce13927634ab244c2ca07  gdb/features/library-list.dtd
+bbc844acf02884be470f9e1482e41407  gdb/features/s390-acr.xml
+4079bdcb497930e7a57a34358032f001  gdb/features/arm-core.xml
+68b8b12daa5ef8a02ad5568ee35797ed  gdb/features/Makefile
+ef01d4233f3cb7a565f5eec76e40c83f  gdb/features/tic6x-c62x-linux.xml
+47c6cc63bff4cc22cf30a6a021092abd  gdb/features/library-list-svr4.dtd
+c78dd7d58dfbe0bfc570d8819a4fb73e  gdb/features/arm-with-m-fpa-layout.xml
 b490c2b335ff7d3f812b1dbfe7b6933b  gdb/features/aarch64.c
-b9cd41ea4202784996e8dabdcb406a12  gdb/features/mips-dsp-linux.xml
-4a9aca483ab394ba402f7e82b3c8e14d  gdb/features/s390x-linux64v2.xml
-227303555d5c78ae8c69d24ec6eb7753  gdb/features/s390x-linux64v1.xml
-3641efbb2e14dedc54e98cc00be7aaae  gdb/features/nios2-linux.xml
-21c906c3d93a6b2db7e1f2c40c3ea1d3  gdb/features/tic6x-c64xp.xml
-b7538d3e6574a35ddae3fbae0ee18892  gdb/features/library-list-aix.dtd
+a4fe7df8849e492ca85c5105d3ca9876  gdb/features/mips-dsp-linux.xml
+d6bb44ee03a889218d832e94f71c6094  gdb/features/s390x-linux64v2.xml
+be0f6a74ee1876daa4c76e8a35cf9c39  gdb/features/s390x-linux64v1.xml
+84cd6d5ea16589b4886cec49462c9dd2  gdb/features/nios2-linux.xml
+7f77c21742ed415cc7c7179b1a86b112  gdb/features/microblaze-with-stack-protect.xml
+6321253f243095d2ae1498f22bb91f30  gdb/features/tic6x-c64xp.xml
+a38c7fd9eb1d775a6fe5ddecd26db6d2  gdb/features/library-list-aix.dtd
 c8f1e68b454e664171ff28c3fcee190c  gdb/features/arm-with-m-fpa-layout.c
-ce71a14e204bb1ba8d994964f57a4b79  gdb/features/arm-vfpv2.xml
+9fcb281f71c795c74b228209f8d83d86  gdb/features/arm-vfpv2.xml
 0a4dfc7eb2fad5515eb8c0044d72341a  gdb/features/s390-linux64v2.c
 e3d476b4f25f708a9d3645f34065aafa  gdb/features/nios2-linux.c
-1b3f1c12650863c2f22e77b76a22393d  gdb/features/mips64-fpu.xml
+0df39b6229016e887dbed8fe0a19fb37  gdb/features/mips64-fpu.xml
 020a3915f6ac21a6a34100600598e07b  gdb/features/s390-linux32.c
 50ca1a135b847b0158ab88d78474f4a5  gdb/features/s390-linux32v1.c
-78ef375bd6e63d284dc9da041b142fd8  gdb/features/tic6x-c6xp.xml
-a9bf0a3e38e8377a0c5bff3b60c903c3  gdb/features/s390x-te-linux64.xml
-0b7862cbd9d83a88a2a7cfb4b132b754  gdb/features/mips64-dsp.xml
-fffd42eea19bcef1e848c3814fb8a13c  gdb/features/gdb-target.dtd
-9ff40a3c18acd59b8e353f5479734868  gdb/features/nios2.xml
+bee77b08a911150c86062d7d22756310  gdb/features/tic6x-c6xp.xml
+06167acb919e8a689867bd9238cfb614  gdb/features/s390x-te-linux64.xml
+ba7fe7a2c2f8fdaf127fb9d93d573eda  gdb/features/mips64-dsp.xml
+ac3d95a851bd513888846b7a587ee99a  gdb/features/gdb-target.dtd
+c1bfd7c292c0b25c4e1e205f24f45a65  gdb/features/nios2.xml
 7ecc1f74f60a2c04e4820bac286954c2  gdb/features/mips-linux.c
 2faa4557586c6ff6015ca31e693b9da5  gdb/features/m68k-core.xml
 1e627cb39bde446ba39b6f55da59bce9  gdb/features/tic6x-c64xp-linux.c
-161dcd50932a9b6fe9f57ecf38e32dac  gdb/features/tic6x-c64x.xml
-ed5870c7600b2d6ad801d0b825c6b105  gdb/features/mips64-dsp-linux.xml
+da7b34e9f80afbcb11164d71a35a23a0  gdb/features/tic6x-c64x.xml
+053209aa359a4f8d7d83e4398f65cfad  gdb/features/mips64-dsp-linux.xml
 96d57eb0d0aee0e17abb0a92109e5983  gdb/features/mips64-linux.c
 4a76f2ccac2311e86865601c8c817fe0  gdb/features/s390x-te-linux64.c
 0a5891199ae7502e9ef388536aeb33ac  gdb/features/arm-with-vfpv2.c
-9d5b2487d496414bb30e555c1f6b0c80  gdb/features/s390-linux32v1.xml
+430ee945bbf7a0f99b85b155f4a6657b  gdb/features/s390-linux32v1.xml
 06d56b61abfe8180349ef1fd79f76789  gdb/features/tic6x-c64x-linux.c
-d2a732de1ae716c633871078d4fd55dd  gdb/features/mips-linux.xml
-16384fb34ba55b9955bb4ff9a396c8e0  gdb/features/mips64-cp0.xml
+a9e778b727d0226392f127984ed28ca1  gdb/features/mips-linux.xml
+ec034cad348d6a01b9832d187c6d12ca  gdb/features/mips64-cp0.xml
 b971e23ceb41c63d11cf04ae632bc635  gdb/features/s390-te-linux64.c
-76d7f376576b9ed27603ce7767f17cd1  gdb/features/feature_to_c.sh
-a45559e6ebceb97f62f199b4a62b8365  gdb/features/mips-cp0.xml
+4eb9136e93f1b6ac60de3adb3e202e64  gdb/features/feature_to_c.sh
+f12661396546b1270cfc885d2ca024ff  gdb/features/mips-cp0.xml
 7c029d3c4f1baac6f1277709f305a256  gdb/features/s390x-linux64.c
-3701d91c94e08de16370ee80ce135077  gdb/features/s390-linux32.xml
+72b56cd2a1257a8a68713ab038b05c82  gdb/features/s390-linux32.xml
 489546506823db9e7da861401079193c  gdb/features/rs6000/powerpc-860.c
-dc5060f7a678c818903a077d61a39e0e  gdb/features/rs6000/powerpc-64l.xml
+739c2b5bcb719140b4808425524bad8a  gdb/features/rs6000/powerpc-64l.xml
 2a4488247bced87eabd667bf46cc48f6  gdb/features/rs6000/powerpc-isa205-64l.c
 ad5151864acd01de9b5be23cf88f51e4  gdb/features/rs6000/powerpc-isa205-32l.c
-bbead93e7f1d6b4c6edd41c502827830  gdb/features/rs6000/powerpc-e500.xml
+636b6d95ea8d905d3746be3f5c9629ac  gdb/features/rs6000/powerpc-e500.xml
 9b2b377f2e6a11f153c0465afe55c1ad  gdb/features/rs6000/powerpc-cell64l.c
 93f1cc3d4919fc9a7132244d73b9a6ae  gdb/features/rs6000/powerpc-e500l.c
 f518478a6cfcd4636666afb53ea72c24  gdb/features/rs6000/powerpc-isa205-vsx32l.c
 927ea85a619fb96777802e72dc4f5e28  gdb/features/rs6000/powerpc-isa205-vsx64l.c
-ca062e1802a56f015357d7e402fa8e21  gdb/features/rs6000/powerpc-405.xml
+292f3a062c2128d80eaa88aab14b58cf  gdb/features/rs6000/powerpc-405.xml
 3a3c89d75f9e88bf3d849e50ffe5d74d  gdb/features/rs6000/powerpc-isa205-altivec32l.c
 aafc6363b416129b0d979e33533aecc3  gdb/features/rs6000/powerpc-vsx64.c
 527184503e3102ee93f8d6c93c2121fb  gdb/features/rs6000/powerpc-603.c
 2a6c192d0c833c615bd38b16b779ec29  gdb/features/rs6000/powerpc-602.c
 7ef5e0ad007c62548c651ffe8d100568  gdb/features/rs6000/powerpc-604.c
 6fb409d0cf971ac362b2e2e5674be062  gdb/features/rs6000/powerpc-e500.c
-7318ceb01ceff0a75d3e07662db9b328  gdb/features/rs6000/power-vsx.xml
+b5ce9bb7adf7cec3311f44c710a01557  gdb/features/rs6000/power-vsx.xml
 2b6356780daa05bff35dfba47bed5572  gdb/features/rs6000/powerpc-cell32l.c
-f6a886786d4b7cca2d60dcd3c5a4a7a6  gdb/features/rs6000/power-altivec.xml
-3bbfdeb8402d30074efce7840e1d0e06  gdb/features/rs6000/powerpc-altivec64.xml
-53f8fdb4f4046ed3666002fd45bb254e  gdb/features/rs6000/powerpc-32.xml
-a75ce182a2f36238364e0b26d09edfee  gdb/features/rs6000/powerpc-403.xml
+a9565bb7e427bcc03dfa60afe27cead5  gdb/features/rs6000/power-altivec.xml
+6e99aaaeb879a5d3a5faef8807271203  gdb/features/rs6000/powerpc-altivec64.xml
+5da8c986f5e74a956c6776eb0118ed05  gdb/features/rs6000/powerpc-32.xml
+0492f8cd855ce6f09d4e7065691e7380  gdb/features/rs6000/powerpc-403.xml
 837f26b35be4ff148223685646c9a443  gdb/features/rs6000/powerpc-403.c
 e1c1c79786d6fc25c8fa7ca63a1697dd  gdb/features/rs6000/powerpc-64.c
-bd8d281a7271b162b6d603efecfc6159  gdb/features/rs6000/powerpc-604.xml
+759a002e2ba09fa7ed9cd9a8437a2038  gdb/features/rs6000/powerpc-604.xml
 ffe396898dcf30b07e7b257d368ab459  gdb/features/rs6000/powerpc-750.c
 71c4ae000cd6276fd1ea47fa5db29599  gdb/features/rs6000/powerpc-405.c
-d22afdebd4e760d19388de5c3e2e4d56  gdb/features/rs6000/power64-core.xml
+07ff3563fc2258d8663d158706ae251f  gdb/features/rs6000/power64-core.xml
 fdd547a31ddab7747afdede132cb09ad  gdb/features/rs6000/powerpc-64l.c
 794479ae801340231a0fb9b8f834647a  gdb/features/rs6000/powerpc-vsx64l.c
-f5519c55c46b6cd5e5d964d883aa8ab0  gdb/features/rs6000/powerpc-601.xml
-4329c2c68289b18e9d5e329fe93cb88a  gdb/features/rs6000/powerpc-isa205-altivec32l.xml
-f0b5f1bc7f4a6d32a3e01a07fb663d81  gdb/features/rs6000/power-linux.xml
-37345510192abac18dd072e2ba5fae6f  gdb/features/rs6000/powerpc-vsx64l.xml
-48fedf62ece12e67a1170535e02bdb44  gdb/features/rs6000/powerpc-860.xml
+936024444fe9f20e0e8e5f5bdccedb57  gdb/features/rs6000/powerpc-601.xml
+00382987f2a8625891dc44cd38ccdf8b  gdb/features/rs6000/powerpc-isa205-altivec32l.xml
+81897985f077e330635c615d4affbd51  gdb/features/rs6000/power-linux.xml
+bef6004eae947a1c3b87ac47b653e72d  gdb/features/rs6000/powerpc-vsx64l.xml
+a20a72ba17371ad1caf4e3ddaf8be673  gdb/features/rs6000/powerpc-860.xml
 5169a8c48bbf05a04e691b0f0ed11d93  gdb/features/rs6000/powerpc-32.c
-6dc0c215350e53177974a9f41a7cf9e3  gdb/features/rs6000/powerpc-603.xml
+5e407e29cf7279bc34797140489f6247  gdb/features/rs6000/powerpc-603.xml
 1b85c6f66e42f44438a1b05772913eb7  gdb/features/rs6000/powerpc-altivec32l.c
-b257a0491a893d8935665009bc4fb820  gdb/features/rs6000/powerpc-vsx32.xml
-aaf6912ce5d388b2d9e098e9f936b8a3  gdb/features/rs6000/power64-linux.xml
-d1c2f5ec0fcedc7f74a97c78bda81353  gdb/features/rs6000/power-spe.xml
+a6fb18be0eea9602b272ea706c37de07  gdb/features/rs6000/powerpc-vsx32.xml
+a549baa503790861056af9daea3c1e19  gdb/features/rs6000/power64-linux.xml
+2efd1e7eafb23655281da7ea867ff9d3  gdb/features/rs6000/power-spe.xml
 327fac8f34547b88b9a178551743110d  gdb/features/rs6000/powerpc-vsx32.c
-49b6b78ba14a4556b55219f9034e5f6e  gdb/features/rs6000/powerpc-vsx32l.xml
-10b95221d9fec334a7e1badd81623213  gdb/features/rs6000/powerpc-32l.xml
+b9a2e190e70ab13c8e4b63a9a9c4699b  gdb/features/rs6000/powerpc-vsx32l.xml
+97febd104854d08317d4a6b52d643b2c  gdb/features/rs6000/powerpc-32l.xml
 8f0333b4c07a2caa161fcd0c081e9206  gdb/features/rs6000/powerpc-403gc.c
-b5cb71f41d6d0f4700bd4b292adff832  gdb/features/rs6000/powerpc-505.xml
-af62617d532ad1e9d5da00bb96bf07ec  gdb/features/rs6000/powerpc-altivec32.xml
-07eb04ec62e9914a6a5e7834c8edc832  gdb/features/rs6000/power-fpu.xml
-0d8f12bd2138fb52f17b507211eacb07  gdb/features/rs6000/powerpc-750.xml
+b1580452de0501e49da0ab0b7e818515  gdb/features/rs6000/powerpc-505.xml
+1a5e60a5b81c555d651c6a3956c9036c  gdb/features/rs6000/powerpc-altivec32.xml
+d4b1f1182e9b44e63840d4850c524403  gdb/features/rs6000/power-fpu.xml
+98a7d0ccd154b5e3dfee30f9a2ff4411  gdb/features/rs6000/powerpc-750.xml
 4729b2e5c3a32b433c21fe082ffe71b7  gdb/features/rs6000/rs6000.c
-0fc782c2af778839510b8a9e841eb4a2  gdb/features/rs6000/powerpc-e500l.xml
-25db640f2db78041d2e9609bfd37ef1e  gdb/features/rs6000/power-oea.xml
-79ee831b2aefdf5d16bc6851ed4f3d53  gdb/features/rs6000/power-fpu-isa205.xml
-7ea94d09871c3fcfa0dde5896ec0e7e3  gdb/features/rs6000/powerpc-isa205-vsx32l.xml
-2029478f5e38e03e75c8ec1f359c2272  gdb/features/rs6000/powerpc-602.xml
-c6e79ed3a8e1b21761617a12b1f513b9  gdb/features/rs6000/powerpc-isa205-vsx64l.xml
+07dfb7cdaa88d85423288ba8e0519f61  gdb/features/rs6000/powerpc-e500l.xml
+e1c73765f326dae48dee6eb332d5e141  gdb/features/rs6000/power-oea.xml
+4b462b8b5e9563bcf73147471ec4f6fb  gdb/features/rs6000/power-fpu-isa205.xml
+f41cc87ae094335cf69d9d9a2ade30a2  gdb/features/rs6000/powerpc-isa205-vsx32l.xml
+16ca0e49c79f954df7cbea1cc1389987  gdb/features/rs6000/powerpc-602.xml
+0538e1b4ec3d836d65b147e0b90b6df9  gdb/features/rs6000/powerpc-isa205-vsx64l.xml
 707ae3d428b7d85d94ba28c0cdcfa74f  gdb/features/rs6000/powerpc-altivec64l.c
-0440d2717171eaa19dc84a486f57b6fd  gdb/features/rs6000/powerpc-isa205-altivec64l.xml
-b5702b2ae5d92b6e9fd913e07e6a400d  gdb/features/rs6000/powerpc-7400.xml
+18ddcfdb7945714755ec2f31a509833c  gdb/features/rs6000/powerpc-isa205-altivec64l.xml
+b648cb61747fa3ba3df16c4113f81bdf  gdb/features/rs6000/powerpc-7400.xml
 5da434506cd2940e42067879963c35c8  gdb/features/rs6000/powerpc-altivec32.c
-69996f478ba3a1a87c11f2cc300ea817  gdb/features/rs6000/powerpc-vsx64.xml
-3da39583b241b8d8d90ba9513a2dbd73  gdb/features/rs6000/rs6000.xml
-b1e6da9013c62f32b67cf3fc2754d375  gdb/features/rs6000/powerpc-64.xml
+0089e6b8d1645e10d20eb8e44aa3ff00  gdb/features/rs6000/powerpc-vsx64.xml
+d71e162c2c406f5411ecfa15621a3f9c  gdb/features/rs6000/rs6000.xml
+a25f4aae40b254ab85a947d022104535  gdb/features/rs6000/powerpc-64.xml
 bd6e3d285a7ff47662cb057b218411d2  gdb/features/rs6000/powerpc-505.c
-ca1a26236fe3e4686e0761d6b5bafa0c  gdb/features/rs6000/powerpc-isa205-32l.xml
+f4b25604da7211ef5f4435a48d0d908f  gdb/features/rs6000/powerpc-isa205-32l.xml
 d42144a5987686d7ec80db3fb7e61f3c  gdb/features/rs6000/powerpc-vsx32l.c
-1d7b14d404b3ae916dd719c9a92fb7b3  gdb/features/rs6000/powerpc-403gc.xml
-5d1d6e0bb1a89212357b1a8625b11e30  gdb/features/rs6000/powerpc-cell64l.xml
+76e8b007262361eaaf4cb7ddb1792824  gdb/features/rs6000/powerpc-403gc.xml
+c9cef2be396283fd68fa9492fe8cbf08  gdb/features/rs6000/powerpc-cell64l.xml
 d2c5ea8707d6e8a8aad47cdc24952ca0  gdb/features/rs6000/powerpc-601.c
 3a6c5e7ad56f02573495ba2aa2e3d5e9  gdb/features/rs6000/powerpc-altivec64.c
 18e3a70cd370c011b30c3c767ab04f13  gdb/features/rs6000/powerpc-isa205-altivec64l.c
-dd61a27e825c6eff14b37e81c5c5e9e7  gdb/features/rs6000/powerpc-altivec64l.xml
-5c06e7e618cbe75e3da5d413c4ec2fef  gdb/features/rs6000/powerpc-cell32l.xml
+b62a618acc9fc143fa0ef4eab7443ace  gdb/features/rs6000/powerpc-altivec64l.xml
+521ae907689f92f7711d97ea9230e0cd  gdb/features/rs6000/powerpc-cell32l.xml
 c22eb2bbf41fbc1a6c6434b7a27b8106  gdb/features/rs6000/powerpc-7400.c
-749d91f01a824940294c72f2f8383f0d  gdb/features/rs6000/power-core.xml
-2953be3d724be594caab760db9149ea8  gdb/features/rs6000/powerpc-altivec32l.xml
+f2e3c5b74d74e1929a0c80f34f9dd1b1  gdb/features/rs6000/power-core.xml
+a865de21b99e3bb7a64eb58742e5e2e5  gdb/features/rs6000/powerpc-altivec32l.xml
 3c7db472e3edc63a5fdd57a596041481  gdb/features/rs6000/powerpc-32l.c
-4cec2c51f2d52971d1e7d0eeffb7d053  gdb/features/rs6000/powerpc-isa205-64l.xml
-eef60f693007fd09182c2dbd84071946  gdb/features/i386/x32-avx512.c
+8b0070a1890a7615bef987856e4f175a  gdb/features/rs6000/powerpc-isa205-64l.xml
+962cccf1c0529404ca46a3b78aadf6d6  gdb/features/i386/x32-avx512.c
 07da76006c154df5f65b62d93bdf0a1d  gdb/features/i386/i386-mmx-linux.c
 e489a08102224fc5039b933e66cdc1f8  gdb/features/i386/i386-avx512-linux.c
 cd0d1ebb990a0f753ccba20c21f67007  gdb/features/i386/amd64-mpx.c
 3eaa1423e32cdca366ea44ae6abe39ba  gdb/features/i386/x32-avx-linux.c
 7fe6da6b2b7c0d51bfcadc32a185549f  gdb/features/i386/x32.c
-3a25b3659aceaf9728f8782f0f5685c8  gdb/features/i386/x32.xml
-25d170ce081871e438d84ba0ce800075  gdb/features/i386/amd64-avx.xml
+1d2ff56db695f0017b28d5825a70dc2f  gdb/features/i386/x32.xml
+408ca5a373d17d7573c420b6da0730ac  gdb/features/i386/amd64-avx.xml
 262c0c70547fd7a46169425ae98d3ef0  gdb/features/i386/i386-avx.c
-628421b9e86b65244504012a0ec6e722  gdb/features/i386/x32-avx512-linux.xml
-a23e5e400331f4cb95cfe90ef0d8c42b  gdb/features/i386/32bit-avx512.xml
-51852c22ffbd66ec043a388d7a40ae4c  gdb/features/i386/amd64-mpx.xml
+3b1eba1c96c2704bfc5c04f0c4b80fe3  gdb/features/i386/x32-avx512-linux.xml
+85a3e00efb1e4029b5a1e43f4d9206f2  gdb/features/i386/32bit-avx512.xml
+d47458fd20826776cbfc1ef92f21d86c  gdb/features/i386/amd64-mpx.xml
 b61167b653e698bd1a0cff2de733639d  gdb/features/i386/x32-avx.c
-9f04bf373ffd374f4dd58d86cc32566b  gdb/features/i386/amd64-avx512.xml
+e9a1f121ffd89b83707028bfe59303c9  gdb/features/i386/amd64-avx512.xml
 5ecba1a8c1743ff08dfbdfe9a4c8d033  gdb/features/i386/i386-mmx.c
-c3e49602f68d0b8602068e74619f8931  gdb/features/i386/i386.xml
+7f7b3979f23bf4e73294ea0728b52ed7  gdb/features/i386/i386.xml
 4cd313debb67b4a7836985dad36d2986  gdb/features/i386/i386-linux.c
 6e48705b26d9c3a2b66482fba2fc7603  gdb/features/i386/amd64.c
-1b49e340f9ea5cd2d5892645a33af857  gdb/features/i386/i386-avx512.xml
-aa43cb7b2974ebb0dea9748e12eded7e  gdb/features/i386/amd64-avx512-linux.xml
+48af7c177c56360daae15bbc896aa91f  gdb/features/i386/i386-avx512.xml
+3e1347c4fb8639e08a94179bcd18c614  gdb/features/i386/amd64-avx512-linux.xml
 307442533741002d4a59d74e7274f4d7  gdb/features/i386/i386.c
-7b6bdf01f0d34418dbc0a8bd3499c73e  gdb/features/i386/64bit-core.xml
-d9afba7aeaaa9fae5820261e4e636e4b  gdb/features/i386/amd64-linux.xml
-c6951f8f07a6a9b218ecac8aed204d2d  gdb/features/i386/i386-mpx-linux.xml
+75e0f10964aebbed2656d197f16bd841  gdb/features/i386/64bit-core.xml
+2c969bd934d49a4853c52f770cbe0e3d  gdb/features/i386/amd64-linux.xml
+e73d06d9df21e6dc226bd696a0fe55f5  gdb/features/i386/i386-mpx-linux.xml
 d91dd26e8c077ac6a0d04f1fb7d22c05  gdb/features/i386/amd64-avx.c
-d43338c6427cfec260dd9a28b263328a  gdb/features/i386/i386-mmx-linux.xml
-050cc355ec515876e0da14cf407e29c5  gdb/features/i386/amd64-avx512-linux.c
-64f9293a9742240976293833ed879a84  gdb/features/i386/64bit-linux.xml
+c29c0bb655ca7d284675178a43cf4db7  gdb/features/i386/i386-mmx-linux.xml
+1d01bc6bbca4dc19893e184dc996923d  gdb/features/i386/amd64-avx512-linux.c
+3bd3672ada3f238b331bc3810f8f5d6e  gdb/features/i386/64bit-linux.xml
 9075d71cf6dff9d5e4fa3df09c8062db  gdb/features/i386/i386-avx512.c
 efe298c8bb8a1bec812c5e34ab9b943e  gdb/features/i386/i386-mpx-linux.c
-0dff619d2f70e8717e65c1c1620ed9c0  gdb/features/i386/32bit-sse.xml
-2700883dcea1db9c8f59c779541dd3fd  gdb/features/i386/x32-avx512.xml
-002d3b7f9acd6f1ed5c55367b84e35d3  gdb/features/i386/64bit-mpx.xml
-c2e34bce64b92f578936d353b7a81c8d  gdb/features/i386/amd64.xml
-16cc2c7db9bf20037f9a958aed7f6531  gdb/features/i386/x32-avx.xml
-dec2d2cd98e46687a8c5182e0de6a32a  gdb/features/i386/x32-core.xml
+8444f0c23ca7b8d5627ad7ebd3d1ce67  gdb/features/i386/32bit-sse.xml
+3de17bdb05951250665e986d26131094  gdb/features/i386/x32-avx512.xml
+df19dcf44c9be03840fb9de1132ccd39  gdb/features/i386/64bit-mpx.xml
+925a13148347e6106733d38d4e7d634f  gdb/features/i386/amd64.xml
+68c5b1d2d11b6ba66814eb57fbb0b338  gdb/features/i386/x32-avx.xml
+c93d41e7495e6cbf3aa8642629ce951e  gdb/features/i386/x32-core.xml
 c4d21175aca511d7867f9ed2a3f2c167  gdb/features/i386/amd64-avx-linux.c
 49664f7eee23f437fac7bab10800f99f  gdb/features/i386/amd64-mpx-linux.c
-677c63ede28d151029856e0f82b0da8d  gdb/features/i386/i386-mmx.xml
-29fb5484ecbe08d6aab10e35d61a650d  gdb/features/i386/x32-linux.xml
+123f1253ed766fa9b08457988a6c3080  gdb/features/i386/i386-mmx.xml
+b72c0a7ce2e665bfd63c73411cabc930  gdb/features/i386/x32-linux.xml
 570244b6b945473a3c971c518ce80b76  gdb/features/i386/i386-mpx.c
-5788ecb8907f6c61aaeddc0c10193c0b  gdb/features/i386/amd64-avx512.c
-5e2ad8b75c60eb7d70d3ee3564d9269f  gdb/features/i386/amd64-mpx-linux.xml
-c6d5fc4077d2e1d82f51d7c2fecabbce  gdb/features/i386/i386-avx.xml
-782649779ac6c3fc9471ca0009e237bf  gdb/features/i386/i386-mpx.xml
-da757ca2f763387a48e08fb5ff82f857  gdb/features/i386/32bit-core.xml
-1956bb357c00500c054f978ea60446a6  gdb/features/i386/32bit-avx.xml
-df164a6163f3ff813869d3b5fc0855cb  gdb/features/i386/amd64-avx-linux.xml
-7dee3b553ce0f3fe113c70a952828376  gdb/features/i386/64bit-sse.xml
-950d9995210c61fc8c4073822d0f1228  gdb/features/i386/i386-avx-linux.xml
-84bac98bff9eeabde05957ed7a07cf37  gdb/features/i386/i386-avx512-linux.xml
-77950d9788de9fc6ca07eed5737e949d  gdb/features/i386/32bit-linux.xml
-c3df49c6e914912bb3ea5c58e9043d88  gdb/features/i386/x32-avx-linux.xml
-40422e2a30372ee7dd62968c80fd6645  gdb/features/i386/64bit-avx.xml
-f023fb94b6b425b9e48ec7dae3f1aafb  gdb/features/i386/x32-avx512-linux.c
+555c3817b7a210145d293ca4cf10210a  gdb/features/i386/amd64-avx512.c
+22ed9c874fb026f581c12ec790ef3c41  gdb/features/i386/amd64-mpx-linux.xml
+96a986e3881b8325bb4efc1af1cf80b2  gdb/features/i386/i386-avx.xml
+15cd3c25135363abd449f8af668b8929  gdb/features/i386/i386-mpx.xml
+6643ed7646b1b545bfdad0e0a9c7a4b1  gdb/features/i386/32bit-core.xml
+29a30f2a2b34eecfed9848568ea7f4c6  gdb/features/i386/32bit-avx.xml
+b7f4c429b5cfbff1ba88d8cbb3c2a118  gdb/features/i386/amd64-avx-linux.xml
+481bdb0fbd865ad3dd42e0e3f2c07cf3  gdb/features/i386/64bit-sse.xml
+d59e9c5ab2b833c16decc8accb1ac4d6  gdb/features/i386/i386-avx-linux.xml
+b56957ab525f91ab7edec17af5845aab  gdb/features/i386/i386-avx512-linux.xml
+0bc6075002f0632dfc1bf28ec82a07fa  gdb/features/i386/32bit-linux.xml
+5fe33ae4f2b77bea26c9787d35f79e93  gdb/features/i386/x32-avx-linux.xml
+eee3c4f95f91ea3e62c2b174e8243fdf  gdb/features/i386/64bit-avx.xml
+698d09dc93bcb7f169b569dad83ac849  gdb/features/i386/x32-avx512-linux.c
 78a685a1b60ebb4d867766a71ec03c00  gdb/features/i386/i386-avx-linux.c
 f3a32802eb7ff70fc535fe1652c9235d  gdb/features/i386/amd64-linux.c
-b95a64b6f654d37b6b8f93b449d05f09  gdb/features/i386/32bit-mpx.xml
-eef2205f8a67f6ee4b6d95fac2a92b92  gdb/features/i386/i386-linux.xml
-77da5aec845b50217cbfa368292b4acf  gdb/features/i386/64bit-avx512.xml
+5fee1f99e8d3d5295e5ea0663526eb83  gdb/features/i386/32bit-mpx.xml
+14a06d73b7a36ae4bf6e62d884ee2611  gdb/features/i386/i386-linux.xml
+91958ef41351d411cb3cc93dd7e74562  gdb/features/i386/64bit-avx512.xml
 87400c0c41cce02b2130d42aa9624f98  gdb/features/i386/x32-linux.c
-38c06120b516da6ed2fcb2cc28c99e3a  gdb/features/s390-te-linux64.xml
-735095487c245e233a74b6dfe9d40b44  gdb/features/s390-linux32v2.xml
-d262936685928ee655f22c9d7f623251  gdb/features/s390-tdb.xml
-58d0edebb1989adc478b2e9a47e582ac  gdb/features/arm-vfpv3.xml
+5648967046af249cd67794bab437bc2e  gdb/features/s390-te-linux64.xml
+d7489fa0eea5b35c6e7a23322316dba2  gdb/features/s390-linux32v2.xml
+28bd8b3840fa3659226579d47faa2bfd  gdb/features/s390-tdb.xml
+15033298fd411328e92eb235aac1048a  gdb/features/arm-vfpv3.xml
 41b40b6328a86bf2acc70b3d1a367457  gdb/features/mips64-dsp-linux.c
 417a2d01af365745772452c543bd2d30  gdb/features/mips-dsp-linux.c
 a74f670e27b892b83c13054809c82473  gdb/features/sort-regs.xsl
-ca100a4bb52e3c37fa49b1b057fb219b  gdb/features/arm-m-profile.xml
-6bb35778971ee3def383ef0b604c13f7  gdb/features/aarch64.xml
-9d315f381686e902c485387043c58479  gdb/features/arm-with-m.xml
-4bcb364c7917432ae52a79c539ab130d  gdb/features/arm-with-m-vfp-d16.xml
-5cd577601d87c2fa9284db45b41ccfdb  gdb/features/aarch64-fpu.xml
+d99d990f736410d8846bf12606d92960  gdb/features/arm-m-profile.xml
+8d2870c88536ecadeb5292a00f0368a4  gdb/features/aarch64.xml
+683f49143fb6c28da89c5ad62df7fe63  gdb/features/arm-with-m.xml
+2603d4e7e1fc7f59ce5417fb6080d715  gdb/features/microblaze.xml
+82684aea73a6644aacf5bb291772cfde  gdb/features/arm-with-m-vfp-d16.xml
+50e3b874f9df244e38be6bb7f0549f29  gdb/features/aarch64-fpu.xml
 9d9baf6ee79baadc2a660370cb2c1afc  gdb/gdb_indent.sh
-03baf8387f031d7610de2bb5ba961831  gdb/infcmd.c
-655f3bac296aaee89f5b72852bc20141  gdb/alphabsd-tdep.c
-b07681604de7ba3bc3a07610f001c5d0  gdb/valprint.c
-5a27fda9b42e56607a5cf93e2666e8c7  gdb/solib-target.c
-ef894fbedac2942a1ce17fdaf19baa92  gdb/tilegx-tdep.c
-44aaa117359c829b59402f7ac8d80f90  gdb/c-lang.h
-6eae4f4cc08f2af233757d127e623d95  gdb/breakpoint.c
-b651746fdfc39f9356f5a8aab538dfea  gdb/block.h
-7f4695e54af246cec2026ae3f4959702  gdb/alpha-osf1-tdep.c
-e8445e4ad9fe4253595d865e2c771735  gdb/ax-gdb.c
-1d39cca244cea728bf415e59ae40b557  gdb/prologue-value.h
-24b5773a516a11362ced0c71917589f2  gdb/auto-load.h
-065d8bfef50666d8203412d6f771b982  gdb/maint.c
-403b409c775fffde900c3ab28ab2255b  gdb/moxie-tdep.c
-e2effd16412886af1e460a058b1cf5ff  gdb/gdbtypes.c
-0260df5cb4a01c6da223a1679a361084  gdb/somread.c
-f4bcb0ea0f4cd58745aaf8bc3bd6dd52  gdb/elfread.c
-13f44d23e506283bfe9657ea717caf85  gdb/aarch64-linux-nat.c
-b1485a5b0af05d05f52866dde179d8cf  gdb/gdb_obstack.c
-c91deed8ed6c9e769f76666815774404  gdb/ppcobsd-tdep.c
-34452b8161f1c76359da3120d513c3b4  gdb/inflow.c
-c00553c89cc50cdcd2df196f98a07cec  gdb/spu-linux-nat.c
-9a9390e033eba0b3822b679d559830bf  gdb/bfin-tdep.c
-3f753a83974d6b6b91a92d95e6df8112  gdb/linux-tdep.h
-61473569fae00b93de9eb7b59c578944  gdb/i387-tdep.h
-3ac2954d7300d71b14cb5c33e3d09347  gdb/gcore
-ba50ba1e3e3c9be4eb4028695d616cbc  gdb/gcore.h
-3a77140c7f7be24232c7cc3d21d2b5ef  gdb/arm-linux-tdep.c
-7512311bbfdf6ac079ef6441e826ce94  gdb/gdb_usleep.c
-98f086dffac925df50496a40be4ac363  gdb/hppa-tdep.h
-29d0cbde19dd75d8a06e93e53e15ed0c  gdb/completer.c
-7b89b0b60ee4cebf09bb74f0c434c783  gdb/monitor.c
-9063c8b4e9dd6d412ef3eb6553bb867c  gdb/solib-spu.c
-4644fe0cbe30e4c8f1d9087b75bbb9f8  gdb/dwarf2expr.c
-4022a31dd4992a2c771e889262714bba  gdb/alphanbsd-tdep.c
-1eb8f6b6592a4c393d67ec70b4fe6f1f  gdb/cp-name-parser.y
-567046c067689040f318653e741a7d9f  gdb/alphaobsd-tdep.c
-1cdc2cf39bf36b0f33b4659b76156c00  gdb/mingw-hdep.c
-9d967e35dd49268f358501272a2147a5  gdb/sh64-tdep.c
-62b1fdfab3998dc91889ed1d0c18a3ec  gdb/jv-exp.c
+a042a48e50b3d554487841a49b7bc555  gdb/infcmd.c
+887a8e76e2a64ac3a1fbaa257aa08e2b  gdb/alphabsd-tdep.c
+61dc3f8a95739ceda2ebd572baf0e585  gdb/valprint.c
+bcd0841ee006d202302f24f86c36b5ed  gdb/solib-target.c
+a667d6f75f8b3a39dc37cedfcab2572d  gdb/tilegx-tdep.c
+39ea2c70489bb412e91c1139c460c77e  gdb/c-lang.h
+c36f626517958d42096ab0de21660597  gdb/breakpoint.c
+a5375552c201d6283297ee5ceee2d29c  gdb/block.h
+e4270f829487caf7e0363d59fe648aa1  gdb/ax-gdb.c
+9973ba0ba493c10c7af5b0747cc555ac  gdb/prologue-value.h
+212b533fc392c226bf85a7da14c491e8  gdb/auto-load.h
+3f29aebc9c8e357bc483167a7febf1fa  gdb/maint.c
+95ee3b7c74a69fa46d37b026d1154f41  gdb/moxie-tdep.c
+e1b6f40d3a1d4fdb4f4c6ba9dd2950e4  gdb/gdbtypes.c
+60e5b1e4ed70484589f0fbdc4f6b9c77  gdb/somread.c
+c1eb7fb2ea87e83a1665d760d2b90f78  gdb/elfread.c
+03f96dc98d4fbab2f8d08be54e326791  gdb/aarch64-linux-nat.c
+66b7796d9700dabc7ca50604d490974e  gdb/gdb_obstack.c
+a47ede25abd506cb43c1b892edb2ced7  gdb/ppcobsd-tdep.c
+cea36e0e51134793650ffd25a1e94d17  gdb/inflow.c
+465fba92e1b4e6d97884db998c819519  gdb/spu-linux-nat.c
+2771e20d49b8ed4dddc046dcf17e98d4  gdb/bfin-tdep.c
+173416e16e86c4471fdee53c0d3fe016  gdb/linux-tdep.h
+99349b9f515a8d32c82ab6078d9655b0  gdb/i387-tdep.h
+5b1ded8a40516216e9b627ada6983484  gdb/gcore
+b0dec335eb7978fcf2373293a34d63e6  gdb/gcore.h
+b718f737fcbba0d1082e25fa42fc596e  gdb/arm-linux-tdep.c
+5672dc6ced1ffca67bad4942e618fb66  gdb/gdb_usleep.c
+89cff14c4c68a2d4294a85e80294f838  gdb/hppa-tdep.h
+e80c32fb3e1fb6b917e38c6f51d4add3  gdb/completer.c
+f35e16ce75ec2e305a62701642f3bf2c  gdb/monitor.c
+a363fbd3f5cad8777d5eb78a4c2a557d  gdb/solib-spu.c
+d485cfeaf5603cb5e71d7241f91ddd63  gdb/dwarf2expr.c
+802e6aea8d9088386d73ff1089ef2ee4  gdb/alphanbsd-tdep.c
+60b3ed33f88620426e0d748992aa6f69  gdb/cp-name-parser.y
+c91360771dabd8a69c2cf974e4600cd5  gdb/alphaobsd-tdep.c
+72288e0469aaa3379c29b0e5c2ce5524  gdb/mingw-hdep.c
+6e352dbba083a4d3a99ac4ef34a8bac7  gdb/sh64-tdep.c
+b769ea120341530437656ce17e0cefc6  gdb/jv-exp.c
 5ec8a13039f178b86804ff04e7cbdf99  gdb/ChangeLog-1998
-6abded5b7fe1e1fb4123d315bcc9f030  gdb/doublest.h
-598bc9248a9113784bb65f76d1ccc97f  gdb/i386bsd-nat.h
-1da01368bb1995172f974a85f0188d5e  gdb/nios2-tdep.h
-f865c65037510e585c61a3041847fd57  gdb/i386-linux-tdep.c
-1731f4ca802a4c37210770f2e69bc328  gdb/mips-linux-tdep.c
-432a84deeec3e9540f00435a4762ac4f  gdb/inf-ptrace.c
-5ce5c9bb0a71dbb74ed4f23ebe0b42b7  gdb/amd64-linux-nat.c
-85e0732ca976476b052bb7e9eec6713f  gdb/dbug-rom.c
-808736dc7fe3083b69d84d6ac676216a  gdb/osdata.c
-c3deb7bcaf2dd677734762e9de99c3d2  gdb/regcache.h
-eea4140be65667d1737160276430a727  gdb/amd64-linux-tdep.h
-c1ba44c3d12ac94ba693c49b8c94bde2  gdb/tracefile-tfile.c
-f329d3458c4efe5106ceee6f1b53ce80  gdb/xml-tdesc.c
-61094959b09cee58320bbe9a952cf9c7  gdb/solib.h
-da306737ecbb35945d2b9a960c699380  gdb/ia64-tdep.h
-31b3afa03e5fe4244974692d416a85da  gdb/frv-tdep.c
-fe9516b5c544416eb653f4dbc876a44c  gdb/c-varobj.c
-002c16c6db49f2959085dfcdffc6208b  gdb/irix5-nat.c
-9a82fcb3702e6789e9c04c6c6cacf980  gdb/i386-tdep.c
-2564ce05621b8c8ab6f11497e5d57b7b  gdb/symtab.c
-0a759c024e819c0f83da92ca6811f251  gdb/osabi.c
-7c7eb9385525ef8465d6640c6abb4755  gdb/m32r-linux-tdep.c
-60d6b820ad2c3e64f8198ca9c5c38d1e  gdb/mipsnbsd-tdep.h
-2f43085ac6339a4b2c2ca569cff53ffd  gdb/inf-child.c
-fc270b3eb1edf41b9084e18cf7b6c8b5  gdb/ada-exp.y
-37fed8c7a005cf17402694086260489a  gdb/frame-unwind.c
-f6bed958901141f12a834ec2bda39c99  gdb/acinclude.m4
-188e177300e0018f2c1065bb259fd8da  gdb/arm-tdep.h
-8e643227164a50070089ce19e876a919  gdb/hppabsd-tdep.c
-c0c5c0a4e9145e14c84dde871297c614  gdb/configure
-db1a31f8fb97d3ae3e9864b667ec3ce9  gdb/main.h
-151af67c0ff3ecbc9330ddcaa036dbc3  gdb/alpha-tdep.c
-a7fa88b8e43d805da3c17ec386b78a2f  gdb/xml-tdesc.h
-0a5108078c44b73c85215bf1647ae2ff  gdb/h8300-tdep.c
-651a1b7b7c92dc3e9dac2a3ce15790be  gdb/jv-varobj.c
-a6232a5ea02103da2bf8cb1390ec512d  gdb/extension-priv.h
-20a7bc0a8bbc88d4b3c9ecf3245d6264  gdb/s390-linux-tdep.h
-d6c024f58963049b18dc90ea132fa964  gdb/psymtab.h
-ffdba40eb80c240e345297c13b4894ab  gdb/solib-som.c
-ad1bd32f3feb1f56243be8fc1cd09c84  gdb/varobj.c
-82242227dc619eb0198929f40fca3806  gdb/core-regset.c
-eb52c8ac1213e5a867843e0381b56e2d  gdb/alpha-linux-tdep.c
+89ec946700d62b77b6d96c6b1b4e8060  gdb/doublest.h
+fd0773500e7fa56d83aadfc1a690293b  gdb/i386bsd-nat.h
+eefb7c041e4942fc59d89188c755a3ce  gdb/nios2-tdep.h
+c7d7771c76791e6a20c3c0f9602f07b9  gdb/i386-linux-tdep.c
+b527f6a7978141a7b6c8325060bca0d1  gdb/mips-linux-tdep.c
+e02c6382ff8af6c770152695fa68cd42  gdb/inf-ptrace.c
+9e4c4d818c2248486187544036f210ed  gdb/amd64-linux-nat.c
+87b420af8a64a76ebd096982b224e807  gdb/dbug-rom.c
+5c503fa0159185c5ac7a4a1ab9dcb6b9  gdb/osdata.c
+ddc12970d6b4594088bd731804945539  gdb/regcache.h
+5ebe430c2992702cf0e4ed1ab085634e  gdb/amd64-linux-tdep.h
+f56252caa03258faa1aa84aa4b8da150  gdb/tracefile-tfile.c
+6137af187e36739ed5eaba2af15afa4f  gdb/xml-tdesc.c
+44cad0ef65d8cd27c5643d32f2b4bae2  gdb/solib.h
+8ed16730ee1ccc0f65140f4b14928d7f  gdb/ChangeLog-2014
+dc1f70ce31b012803ec1621bd838c815  gdb/ia64-tdep.h
+cae9b8adabfe1884c312d3f9380881cb  gdb/frv-tdep.c
+046e22badd4d4396f6ea7d37746b8308  gdb/c-varobj.c
+1f163f1d3635b6210636f011d5348887  gdb/i386-tdep.c
+37bfccaabcba0df2a38bdbbd101b35b8  gdb/symtab.c
+6cf7644732efb0f5e3bef081a615a508  gdb/osabi.c
+a165441ff57ae43263467cc5fcb3138d  gdb/m32r-linux-tdep.c
+bf0ee72881541e5967ce27a9c29b3c37  gdb/mipsnbsd-tdep.h
+bc280bf82c09c1645fc5cd604247ef3c  gdb/inf-child.c
+1a8ca6fed8bc62ad8ca422ee1aaea2cb  gdb/ada-exp.y
+fe840f2163f9ebe06e13de0953368ceb  gdb/frame-unwind.c
+382b282dc75c90f61ac01df618c82050  gdb/acinclude.m4
+a2509648a696577602fe842823c5dff2  gdb/arm-tdep.h
+11dbdb684621a33652f8a542b6a0c31b  gdb/hppabsd-tdep.c
+c5df489d1b46e15dfd8a6bc97ecc7931  gdb/configure
+56b86a37bd4a40c3220f3cae055c728e  gdb/main.h
+96cf3df1042c227ea68101d8f11c8026  gdb/alpha-tdep.c
+5f66ee75267a1aefd513d3b1f099e640  gdb/xml-tdesc.h
+8cca381d4f2a1dfe07e1dab480d7aef8  gdb/h8300-tdep.c
+9c87783c6c244025e4d12bed37269030  gdb/jv-varobj.c
+55df8f241cff999630cb400dab64e47e  gdb/extension-priv.h
+0be04d4a3ebc5d4cd210e42f0cf687ba  gdb/s390-linux-tdep.h
+21b544dd9ad1036d7ac452efe96451b2  gdb/psymtab.h
+75aace8413ca48f047ea939bd429c319  gdb/solib-som.c
+ec62defd2a63356a8376d4d43789ecde  gdb/varobj.c
+d8efa38e22e6cbbef2506728e0848ee9  gdb/core-regset.c
+764e977ba9309ec664ce54d41b15bf42  gdb/alpha-linux-tdep.c
 15b3ec7139f06cfc1369b0837ec2717a  gdb/aclocal.m4
-389442da29269e91316148273a78b180  gdb/p-lang.h
-da113e52b19154ec84db163671a95c1b  gdb/solib-darwin.h
-9c6aaf35068533dd4ba5881db79cec5e  gdb/command.h
-630dc2cd5af2b7097af892384f9328e0  gdb/std-regs.c
-abd80ce326fa69ee1d14349576316fbf  gdb/go-lang.h
-5609b4f5fd638ad1d6daeb2a312d2888  gdb/i386-windows-nat.c
-5eb5b44c63efcf61d4a0dd975ff00918  gdb/po/gdb.pot
+e5c081bec329720b4c0d37fb1bf8adae  gdb/p-lang.h
+3e50ec15507da7989ad6d5da10825f27  gdb/solib-darwin.h
+97b8469d0847cea4f6e408447f3ddb52  gdb/command.h
+f1679b5d9950d66febb8259748700963  gdb/std-regs.c
+9da9e540b1c6970695a3161272737803  gdb/go-lang.h
+23e51b25e50614cfba06a52e405e2243  gdb/i386-windows-nat.c
+b63f23bf5da7041f1eb66fbe146e427e  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
-b38844da06a1ce229aeebb080864c7ba  gdb/ada-lang.c
-c7a23adbcd07e4e773741f5625657b3c  gdb/dcache.h
-24d8e7a27634f7911eb2a197804d02f6  gdb/system-gdbinit/elinos.py
-b8890853f589821b2de76ac81e306a22  gdb/system-gdbinit/wrs-linux.py
-e69ffb3feb1f25765d6b858642f9a45c  gdb/ppcobsd-tdep.h
-8276b9e00a86274e309bb6b40ecd4bc0  gdb/reggroups.c
-9f15fe892382cd73cefadae78b2463d7  gdb/gdb_wchar.h
-a3985118132676758d5bafb25b32cd37  gdb/annotate.h
-9a72335b805d8cf43f2b459f3d4b3f8a  gdb/parser-defs.h
-690b0ce89f1b1a670760d9bd6d476960  gdb/disasm.c
-381a7a2b6c5f4a6db9eb43b35f4f486b  gdb/memattr.h
-8ba964290ef23445e8541dd6548c16dd  gdb/shnbsd-nat.c
-c7487ed1209127959578827f7b659610  gdb/moxie-tdep.h
-5773be7fc1d4aad74e5cce9d8e4eec03  gdb/tic6x-tdep.h
-1ee1dc6fffdd147747fd45623bb35225  gdb/armnbsd-tdep.c
-0419cbe08649a5e14d89f20bb54d9fee  gdb/remote-m32r-sdi.c
-88d9b000dc78dd272dd3cc6f81e10244  gdb/record.h
-2829faa8024c9f1c1335cad67523acce  gdb/sol2-tdep.c
-836ac74787cd55955801935e7f6fb1c6  gdb/cris-linux-tdep.c
-4118dea2b62d26189f493d26514491db  gdb/jv-lang.c
-a5c6d4e9c74f36ac97ab55739510e19b  gdb/alpha-nat.c
-917a5c1c18e6201acbbc417915239f61  gdb/expression.h
-bcb5cccd127965f67631071609cdeedd  gdb/nbsd-nat.h
-13ef441ecfe503ea3148f9287134079f  gdb/mipsread.c
-02b7648dee3337e90cda86421957c0cf  gdb/amd64-darwin-tdep.c
-f3551f2e57934ced9cbadaaa8aafadc4  gdb/ChangeLog
-19405f954a3cd9f694512f47122fea27  gdb/go-typeprint.c
-d825a408a0c74e03f68342abc095dbac  gdb/score-tdep.c
-e130801087bce8e5142d86d31a99a663  gdb/xml-support.h
-de30b3746fe05011c61cc59df07b009c  gdb/sparc-tdep.h
-d90ac312feb6560716bb616c2c770fb9  gdb/bsd-kvm.h
-abb330264252931ef9263fa391ea507a  gdb/cp-abi.h
-67b492544735ed1678368b49bddfe57e  gdb/i386-sol2-nat.c
-ecaf3e9686fdbecec3ed9839ad3924f1  gdb/sparc64-tdep.h
-4d6c06ff9a055ecf1747dbd1cb7f552d  gdb/macroscope.c
-a4371654735c37927af1a46346528103  gdb/proc-why.c
-f2baf3e316e01ad7e39764f7d98a925d  gdb/cp-support.c
+495694b86df0970047c4df41742f606f  gdb/ada-lang.c
+5e0c6b053fd9575dde3084e69835d9c3  gdb/dcache.h
+4f313de57f0ae77eaa0582b5a9cdcbe5  gdb/system-gdbinit/elinos.py
+115d39afda2aa424102200c160cb1516  gdb/system-gdbinit/wrs-linux.py
+9fe95d5e4e09b05671a3a75d2b2f69de  gdb/ppcobsd-tdep.h
+2af4dbf9da557a176da240892c6fdd0a  gdb/reggroups.c
+b2dd7aeb2fb3009bf4f44e517f8ca908  gdb/gdb_wchar.h
+4e5debabe5360fbb749aaa086b401f9d  gdb/annotate.h
+4b412a4bcd1faf9fec4097e6aa086b0e  gdb/parser-defs.h
+4089bb5e46af6e6ef54db77dde4baebd  gdb/disasm.c
+565ef99c9e7153c053a7c93a0c15b2d2  gdb/memattr.h
+90af2a71ff286b1e00e3dfaec13659ad  gdb/shnbsd-nat.c
+0777473c4bcb0613c38349feb945272f  gdb/moxie-tdep.h
+e7bcf9181c5d8fd35e48c236542c942e  gdb/tic6x-tdep.h
+31d957c7360ea7e5007c8841f32f0ea7  gdb/armnbsd-tdep.c
+1af13cb6490200492682e01b05125ea1  gdb/remote-m32r-sdi.c
+1da199c35a0b0813864b359284faf43b  gdb/record.h
+be9d6e3eb1ec46274443ac56d70433a1  gdb/sol2-tdep.c
+81ce09f97dfe794683597511925ce518  gdb/cris-linux-tdep.c
+b21eb0affa9c0fa159d8dc3a1483410e  gdb/jv-lang.c
+86f35ec645136f814077a3e1dd6fda32  gdb/expression.h
+32bb803ab1e68860f1402dbe7e2cb0f5  gdb/nbsd-nat.h
+83df4734061e07b644f77632819578cf  gdb/mipsread.c
+f5c872d4805a7ac039b4dfc840f4bb8a  gdb/amd64-darwin-tdep.c
+4b028fbc073e7c5aa96cf251c68de552  gdb/ChangeLog
+5a1dbe4837b41ee2b9cc7a35e0d20a61  gdb/go-typeprint.c
+c6de4736a691dfc690f55e7b69880511  gdb/score-tdep.c
+5a44fd4377f0804008a3697e72efbfe3  gdb/xml-support.h
+fb3854e3de4182c5cd5e0d8365e24d05  gdb/sparc-tdep.h
+3c67d669569414b1cb795af1f4088d29  gdb/bsd-kvm.h
+1c6d5c3bac982115e3d9a842dbdd595d  gdb/cp-abi.h
+fd4c1795ce11fb3a058f46509f8d648a  gdb/i386-sol2-nat.c
+8584f02f7f9be53aea2f02b767f0e1b6  gdb/sparc64-tdep.h
+7a7eb7b4fb1d254ebca911a627a044cd  gdb/macroscope.c
+d01e720f423d47871e94b341e46a89c9  gdb/proc-why.c
+f96422d3bd13c79b9a6dd3568e6af6bf  gdb/cp-support.c
 1de2e2c8bd6fc22a95d8484cbf584e4d  gdb/process_reply.defs
-9ada24b2f6c75cdd42a896fd7383a280  gdb/amd64-windows-nat.c
-181f294ea74e6afe005dcdbf4bb6817f  gdb/ctf.c
-12de34a12d6f8c348a8e8cffee3186df  gdb/remote.c
-bdf8ff64b3eaaac464865c7e33846638  gdb/mipsnbsd-nat.c
-665fc785a8ebd863618507a50da879bc  gdb/hppaobsd-tdep.c
-5de20e8ff9c0a6254ae3c770eaa0f086  gdb/inf-child.h
-80b735c5d0a02839cc54d5c75798c6a8  gdb/frame-unwind.h
-8d24adbb0c5ddc7eb413f11546b4d8c6  gdb/proc-service.list
-75e06bc0e1cc774be718f52e6421e6e5  gdb/gdb-stabs.h
-ea16a1668d3adebdaa652de83b6da107  gdb/p-exp.c
-2ec6274db8a0f01986cee1209dbd169b  gdb/btrace.c
-f2d840c0ea6085e43150c418485e0d20  gdb/m68k-tdep.c
-dfb88533b328b3b58575cb6768f10612  gdb/solib-irix.c
-61a168d249692dafaf0aed3357d852a4  gdb/solib-pa64.c
-66be6e11db7f390ce1fc653b91784f09  gdb/ppcbug-rom.c
-f0861b4fa035f9cab9e23b0e3d21e768  gdb/coffread.c
-516d692646bf2f71051fb5089d4eaea0  gdb/findcmd.c
-1dd260d406e1d7ed31b7350e7605e65a  gdb/i386-tdep.h
-3b7f8f2c2a9f3f8e891438117e968178  gdb/amd64nbsd-tdep.c
-c8cd35cb646f2e1504cd0d0fe21f57d8  gdb/gdb_mbuild.sh
-086877bb2a52847f80b0f70cf934e10f  gdb/memory-map.h
-7a5f09aaab77ccbf811d3d1006797092  gdb/nios2-tdep.c
-8b9b13639bb195f3d4e2802de517aa38  gdb/inline-frame.c
-ee98f93d2b8547ee9f0c2dd6b99fe00f  gdb/p-typeprint.c
-11b68d09ca2f81b13340bfbf95749d8e  gdb/xml-support.c
-570dea0c5bb31ec12a51bfd599dd8d6b  gdb/arch-utils.h
-8e90f3b590dbd1cba29fd749ac9c8611  gdb/darwin-nat.h
-c985f8ef36d50843b1fc459b0c704846  gdb/linespec.c
-c124da35a1b74fb71213a81a322a04c8  gdb/proc-utils.h
-4ade146612f2a0110c6999b13ff00ef8  gdb/frv-linux-tdep.c
-a57d71649c606ea918e140d4c4b3932e  gdb/ia64-libunwind-tdep.h
-442e920d795f6527f7b06added328ae4  gdb/buildsym.h
-4600ad052aaf21ee17b1355a282a1ea0  gdb/m88k-tdep.h
-7fc9eeb3966e4ef503259353acdd7232  gdb/target-descriptions.h
-6d86bb71c8b09c982c9631889b7734f0  gdb/corefile.c
-3a107fccd4ad682a20212c7c47817ab6  gdb/macrotab.h
-ddf1ed323fe1aa9d23d7a04a9ce24ae8  gdb/progspace.h
-27306575603cb2c96738ea10794c2d2b  gdb/regformats/nios2-linux.dat
-b63280b1465ff33c559e3c298f9b29fc  gdb/regformats/mips64-dsp-linux.dat
+c82adf482d45beaf8c4a392417752d37  gdb/amd64-windows-nat.c
+dded71f6f4dcda3d409ba83627d0b860  gdb/ctf.c
+05d6badb0429009cfe3849e54e54b71e  gdb/remote.c
+609e4b3af097ae017c962a8f2d57f359  gdb/mipsnbsd-nat.c
+389761a7a837eecddc6e4e779ea852ff  gdb/hppaobsd-tdep.c
+ff627da30eaccd64c9bc469b136a5986  gdb/inf-child.h
+f34ac7e6351ea730c894da7f4630ee3b  gdb/frame-unwind.h
+13cac80e0f5d39b5309f7e8f45cad0a7  gdb/fbsd-tdep.h
+abfe9b271fad460fa9aa5e382e867bc4  gdb/proc-service.list
+201772ea44317e03e942ac5288a4437f  gdb/gdb-stabs.h
+7b1a2671e84ccbbc3eb180248ecc92af  gdb/p-exp.c
+7c8e379c9ef581e67da33bbb34de648b  gdb/btrace.c
+ffc8554c4dc53e83d60027833e4309a9  gdb/m68k-tdep.c
+54e4df64fb759aa9ebd34e4ffabf4a69  gdb/solib-pa64.c
+afb36e83645baeaf5b5b7286af4cd004  gdb/ppcbug-rom.c
+74796174d9012866153d4f6e18eb85b1  gdb/coffread.c
+f8b1de745a0784ce851e62c95f62dec3  gdb/findcmd.c
+216073836f26e0f4067644e43bef8247  gdb/i386-tdep.h
+9c57d78de860405462d891732ea08af7  gdb/amd64nbsd-tdep.c
+cbc94213b8b10a714524776e9ec4ef7d  gdb/gdb_mbuild.sh
+e23865ad768dfa8fe442053e00c6b2f3  gdb/memory-map.h
+1351cac9f7e27073c1c407a73d81bda1  gdb/nios2-tdep.c
+3bd75f28cea0fb6eed94b3434967a88e  gdb/inline-frame.c
+df543644d4e735aa329f9ddb7ca9c30a  gdb/p-typeprint.c
+d45182d50ee5c43ba3eac8556d0268fb  gdb/xml-support.c
+02171aa33a16f2651ea161aaec77c251  gdb/arch-utils.h
+7c85b024e1cc7a51faaea1c9ca71a1c4  gdb/darwin-nat.h
+a2812d98f8aa6ac07bf93c6e0442292e  gdb/linespec.c
+838a24f1266261a20cbcc5879ed0fa7a  gdb/proc-utils.h
+87b7a3d7eabd7672ee854715e16288c5  gdb/frv-linux-tdep.c
+7c7318c2cf4825af2e38a3f01dc39a41  gdb/ia64-libunwind-tdep.h
+afc3c5800376f8693dd411cba7aa5f77  gdb/buildsym.h
+108d0bb36107d759fac662685e23e5fc  gdb/m88k-tdep.h
+c8b609c20e1d71a726907777e02e728c  gdb/target-descriptions.h
+26d1d5b29967e68903ae1310be36567f  gdb/corefile.c
+7274e131307bc43a731c80c6a9324d48  gdb/x86-linux-nat.c
+747e62f8cca9b50ef0e4c19e046d23fa  gdb/macrotab.h
+d821f4d086d77a932d6e8a893ac883a6  gdb/progspace.h
+44fa14e15b931dc63422873dc3a5aae1  gdb/regformats/nios2-linux.dat
+c67b2b2b626f63872d35e77d7845e9b6  gdb/regformats/mips64-dsp-linux.dat
 a1f5406c5d581a074d315e288d20d189  gdb/regformats/reg-cf.dat
-55868b49ba9cc63618f3fe02a5d72978  gdb/regformats/aarch64.dat
-2368e7d1c200b1ad2630b781176ebe8a  gdb/regformats/arm-with-iwmmxt.dat
-a34ef114173710bbc9579727e3ebdcb2  gdb/regformats/s390x-te-linux64.dat
-c24d30706c2cf7ba19d6378f10687cb9  gdb/regformats/mips-dsp-linux.dat
-d888977a91fd6e111ef801e34756cfb9  gdb/regformats/arm-with-vfpv3.dat
+a62cf9fe3e0368c74fb40a5cb09bae29  gdb/regformats/aarch64.dat
+6e2a2b38965447494cb6fbe4f93f584d  gdb/regformats/arm-with-iwmmxt.dat
+65d09491384f795e805f9d3e79f6c0e0  gdb/regformats/microblaze-with-stack-protect.dat
+3b2476262f56380b7ca4799bf2b32b25  gdb/regformats/s390x-te-linux64.dat
+d96faffb9bddad65bb6ef42a6e646bab  gdb/regformats/mips-dsp-linux.dat
+78a823bf37fd119aef932bcc98b5b827  gdb/regformats/arm-with-vfpv3.dat
 bef5bf10bd95f895b4c1417232201779  gdb/regformats/reg-tilegx32.dat
 c7c866286a3245c530d00bdf7b7e3116  gdb/regformats/reg-crisv32.dat
 c650790932c3ce82d781ba6de87a578e  gdb/regformats/reg-sparc64.dat
-5499183fe57e05eb6b171c0e13137cf0  gdb/regformats/tic6x-c64x.dat
-6762c26a1b7ff973ec238db6445dd3c8  gdb/regformats/s390x-linux64v2.dat
-39090709455de66c58678b79b9e8ebb2  gdb/regformats/mips-linux.dat
-aa455e4e4b061e34e1cfe6c0a54851ac  gdb/regformats/tic6x-c64xp.dat
-85c06d769f838d17f1e0ecdaa8ffafef  gdb/regformats/tic6x-c64xp-linux.dat
+671353d166eeaf85662da512630fd488  gdb/regformats/tic6x-c64x.dat
+9762013512fadae6aa4eb1f3a9d25d3d  gdb/regformats/s390x-linux64v2.dat
+856d0743c2c4d22c48c9bfd4bee975a9  gdb/regformats/mips-linux.dat
+c57396de60b877d00839e7116dde93c1  gdb/regformats/tic6x-c64xp.dat
+19956673829dad7f3294b3ac37d36750  gdb/regformats/tic6x-c64xp-linux.dat
 f548472e3d5eb277710a2e79e6ec84a1  gdb/regformats/reg-cris.dat
-da9872dc9dc42c91513fb26feaccd663  gdb/regformats/arm-with-neon.dat
-eaba1608fff08526f0c3625b052a14eb  gdb/regformats/regdef.h
-f186776b4f52b630e9a9dc5efae9ff17  gdb/regformats/regdat.sh
-3467342d16b95c2dba829fd842a7fe14  gdb/regformats/tic6x-c64x-linux.dat
+b58c0eecafd4e374ddd30790425d8d47  gdb/regformats/arm-with-neon.dat
+3d8e1a8f161a926610e7659683470169  gdb/regformats/regdef.h
+6bc40831560cb8f7fb740b547039aa53  gdb/regformats/regdat.sh
+de6f8e5928b00473281f5572a3c20d82  gdb/regformats/tic6x-c64x-linux.dat
 a4c831a178c251888eeb8c4ebbc573fe  gdb/regformats/reg-bfin.dat
 a1c09888ecf3221afc983f497bf2c032  gdb/regformats/reg-ia64.dat
-105a4d553787b3ad8a0edf9161d95057  gdb/regformats/s390x-linux64v1.dat
+38e9633f3a9baf91086b22c727663476  gdb/regformats/s390x-linux64v1.dat
 af2244f4f4df3b1efe1f188b3b2c78a7  gdb/regformats/reg-arm.dat
 804cd0c318f49e2da247a3f965fcb5b6  gdb/regformats/reg-m32r.dat
-fecf0cfa594c55a701479aeac5ffb2e1  gdb/regformats/s390-linux32.dat
+0d2da26a79c9d2705465a5afe9fdab08  gdb/regformats/s390-linux32.dat
 767b3762219584b4953a737251b6347f  gdb/regformats/reg-m68k.dat
 5bf224ddaee9fb46ea4c9ac7d14ac56c  gdb/regformats/reg-spu.dat
-4b78ffebfa76060d5f336a01d5948c11  gdb/regformats/s390-te-linux64.dat
+7102f1bedd1a2fa9b677437166b92c40  gdb/regformats/s390-te-linux64.dat
 ccc2e6c9eebe99b681af91142607fb6e  gdb/regformats/reg-xtensa.dat
-7339ace517046d63e461918e274197d3  gdb/regformats/s390-linux32v1.dat
-aa4704016fa5a57720aea936e9e8fe20  gdb/regformats/s390-linux32v2.dat
-14ddc015f817b3831e7aee174151ddc5  gdb/regformats/arm-with-vfpv2.dat
+b7986be86b460d6dcdc745c89639d712  gdb/regformats/s390-linux32v1.dat
+48d1a625808e90b1e2f99017b2a1d126  gdb/regformats/s390-linux32v2.dat
+0b0132e249558030da114eb5146f37b1  gdb/regformats/arm-with-vfpv2.dat
 d868f113b2816613ae582e42b6438d33  gdb/regformats/rs6000/powerpc-isa205-32l.dat
-9641d3063ccfadd985972af1d222bede  gdb/regformats/rs6000/powerpc-altivec32l.dat
+a3d3acff1d903e7a9e8c012aa4c2b562  gdb/regformats/rs6000/powerpc-altivec32l.dat
 7c5048ca31061a797e35e4f644aabbec  gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
 d9af79851136b77df846c2b32d38906f  gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
-1632c54a20488a06ba18f427514480c8  gdb/regformats/rs6000/powerpc-64l.dat
-f12260e77ebe87a66b36402a7bc27cab  gdb/regformats/rs6000/powerpc-vsx32l.dat
+118bb6602132d2af53c9fbdb6e0fd5a1  gdb/regformats/rs6000/powerpc-64l.dat
+c1a2013b0acda7beb71a8e8c221ee6c1  gdb/regformats/rs6000/powerpc-vsx32l.dat
 9d6b71f3c75ed11de62e7bf0f9b7db43  gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
-6b0fae3386572c6dbeee24e3cef36a3c  gdb/regformats/rs6000/powerpc-e500l.dat
+0ceb8d8c4de4ec95ac10edbfcbc7b83a  gdb/regformats/rs6000/powerpc-e500l.dat
 2faaa827f3254afc7e0299564282125a  gdb/regformats/rs6000/powerpc-isa205-64l.dat
-38ffaf0764fa0eef6d0a9250ccf891d7  gdb/regformats/rs6000/powerpc-cell32l.dat
+7a99da99136faa4820321d69982fdfd2  gdb/regformats/rs6000/powerpc-cell32l.dat
 251e754a00a1af5a84906438ecc8892f  gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
-fb89f2757368fa482e0105094ef27952  gdb/regformats/rs6000/powerpc-vsx64l.dat
-348e62c01c3af8edc62c6c9e2bad6561  gdb/regformats/rs6000/powerpc-altivec64l.dat
-e351adcce8047049aac59357e3e1eb78  gdb/regformats/rs6000/powerpc-32.dat
-353851d58c2f5a5d95a161a2cc7c1c1e  gdb/regformats/rs6000/powerpc-cell64l.dat
-423c4d259d3dac4be0f8ae343e335562  gdb/regformats/rs6000/powerpc-32l.dat
-1d23d6295f0ad8d9b2e4e8bfc44b93b6  gdb/regformats/i386/x32-avx512.dat
-ffdf705bc540aa88d87c90e2ddc8efbe  gdb/regformats/i386/amd64.dat
-4b453aa1ea51cc0854a7ab1f95b65165  gdb/regformats/i386/amd64-mpx-linux.dat
-0748fae84818b0bd412732af80cde1a3  gdb/regformats/i386/i386-avx512.dat
-454591642dbb673d2940ef6c66ea6eca  gdb/regformats/i386/amd64-avx512.dat
-ff5238df78e08cfed0e7dbd5c5589e9a  gdb/regformats/i386/x32.dat
-87eb553ea956bc6ba94e05c4230dcbb0  gdb/regformats/i386/amd64-mpx.dat
-08eab2ea636d0fc209807523bbb7c828  gdb/regformats/i386/i386-mmx.dat
-72fc72dcd4a5f195125a1aa18e97a23e  gdb/regformats/i386/x32-avx.dat
-5b57ee6615e89d06e5fd6e267d25a960  gdb/regformats/i386/i386-avx.dat
-5eaf60cfb9196e60cd12602fd8aa8111  gdb/regformats/i386/i386-linux.dat
-cdd58df5759a520c7fa195f94d102bac  gdb/regformats/i386/i386-avx-linux.dat
-5af78964787dd1366a1d3e1d21882a3f  gdb/regformats/i386/amd64-linux.dat
-0ae29025d84650b460b40bbd2ff51668  gdb/regformats/i386/x32-avx-linux.dat
-31e65e7acd7faa81fb88d40feaaf1156  gdb/regformats/i386/i386-mmx-linux.dat
-e8430fc6a2e436bf04747f0c1a5a0ea5  gdb/regformats/i386/i386.dat
-ccabd016257c441f7586501f6eeca11d  gdb/regformats/i386/amd64-avx-linux.dat
-f381a36a4968debc56e7e5ef9259fa1e  gdb/regformats/i386/x32-avx512-linux.dat
-1ea082045d60cef91c53d0400206e5bf  gdb/regformats/i386/x32-linux.dat
-bee2321ef6ce712e7319b9e66fbf4ce9  gdb/regformats/i386/i386-avx512-linux.dat
-448a304ad686dc632c734f6d7513e49a  gdb/regformats/i386/i386-mpx.dat
-cac1308a7f379f62664f29900dea1378  gdb/regformats/i386/i386-mpx-linux.dat
-a1269edcfe91e8d78989845a62add83d  gdb/regformats/i386/amd64-avx.dat
-4d1a44beaeaaabc981cfa1c51de687a2  gdb/regformats/i386/amd64-avx512-linux.dat
-056d5db241710d5965d8a54ed2b7b7b8  gdb/regformats/tic6x-c62x-linux.dat
-a43a60c876dcd8181b951ada3ed48136  gdb/regformats/mips64-linux.dat
+f3fd12ba7974ac3dc18a14246b2d1252  gdb/regformats/rs6000/powerpc-vsx64l.dat
+2ea607f9ced77ac6a49cd464ae9f1834  gdb/regformats/rs6000/powerpc-altivec64l.dat
+21aeb783caf98f30df5f424e15596f10  gdb/regformats/rs6000/powerpc-32.dat
+9a194c98a2749d4e8cb150b1ee47d628  gdb/regformats/rs6000/powerpc-cell64l.dat
+bc486ecca2fd0c52c52b02036289ec3a  gdb/regformats/rs6000/powerpc-32l.dat
+ffb8accfeb61a480599ce0bfc1f492cd  gdb/regformats/i386/x32-avx512.dat
+d604d104fc1114f30fac932a0487706f  gdb/regformats/i386/amd64.dat
+506de57da880514d6f153e38a6427cf2  gdb/regformats/i386/amd64-mpx-linux.dat
+8f37d6047d84403ab48597ca1d44ab98  gdb/regformats/i386/i386-avx512.dat
+b9faba8080915b11c280042f0b7d4808  gdb/regformats/i386/amd64-avx512.dat
+9d3a0297d2f3c3d030fe8587a6ee7c36  gdb/regformats/i386/x32.dat
+b38d564f3b5eb53b8cecebef5d07492b  gdb/regformats/i386/amd64-mpx.dat
+c91cf96dbe04d9aa05eec804b5109535  gdb/regformats/i386/i386-mmx.dat
+b216bc4dbc70bd323fbe0130a0ab729d  gdb/regformats/i386/x32-avx.dat
+2234c850279dc7d694cf06f5c8e98e9e  gdb/regformats/i386/i386-avx.dat
+b7e1621ed4c0ff506a4caf34f0dff77e  gdb/regformats/i386/i386-linux.dat
+25063f89b5ad9a6845a69982f8d8a419  gdb/regformats/i386/i386-avx-linux.dat
+06c8b5dc2cae343b25b15500430f4462  gdb/regformats/i386/amd64-linux.dat
+ce012b69916e238f394d9d2dbc4f3cd4  gdb/regformats/i386/x32-avx-linux.dat
+936eee3d82dac9bd3a3f749f96a00f25  gdb/regformats/i386/i386-mmx-linux.dat
+18baad3e82ea13ce0a76d505a2448aac  gdb/regformats/i386/i386.dat
+6a57cc748b800482669c2c66c270e8a3  gdb/regformats/i386/amd64-avx-linux.dat
+ad4e4fd3c8e5cd7a3004180869249e70  gdb/regformats/i386/x32-avx512-linux.dat
+bcb39a1ff13461da86279ea4249ffeec  gdb/regformats/i386/x32-linux.dat
+55022c67fcda1de1f7128f09ff60391c  gdb/regformats/i386/i386-avx512-linux.dat
+e654d536b120bfaed1c118de757370a7  gdb/regformats/i386/i386-mpx.dat
+a8c537695c5331040781980616b6d52a  gdb/regformats/i386/i386-mpx-linux.dat
+e7a5ce95c91062a0eff3c21a02adc494  gdb/regformats/i386/amd64-avx.dat
+8b4c23f9ca8bb709ad94aa637ba81717  gdb/regformats/i386/amd64-avx512-linux.dat
+a2ee14ef55ab34863e8ac79cf7285e14  gdb/regformats/tic6x-c62x-linux.dat
+649dc3a9cda4e6af78d3841bbd6dd87e  gdb/regformats/mips64-linux.dat
 657ed262c66093acacf0ccf85f97c55c  gdb/regformats/reg-sh.dat
-1bfa6b2ee2040c77e2467c6ac28892f1  gdb/regformats/s390-linux64v1.dat
-757605aa56709a48efa0348e71de0faa  gdb/regformats/tic6x-c62x.dat
+6c44ad193d2976f1ea8ae411875fdf2d  gdb/regformats/s390-linux64v1.dat
+46d660fb981f2aa09a2f9fe7a4a31213  gdb/regformats/tic6x-c62x.dat
 b09b0ee5da44df728eb552f6bf6ed138  gdb/regformats/reg-tilegx.dat
-1f4ff6026dce53034acface0d57e8c6e  gdb/regformats/s390-linux64v2.dat
-a9791041fdeb2ebab8bdcef0619dd2bf  gdb/regformats/s390x-linux64.dat
-90e44ae66d99de9579f6931cc2db6a1c  gdb/regformats/s390-linux64.dat
-692856dac00c6ef9e90732375e10048b  gdb/utils.h
-04fe1f361ab1b299100d6bbaf8b0c59e  gdb/sparc-sol2-tdep.c
-b9bcc6ab6fbb06d3592ca692b0123963  gdb/procfs.c
-e31133dc1b824d66967bb9d04d886d00  gdb/solib-svr4.h
-5a348637a2df6c9994522ca99739d36b  gdb/ppcnbsd-nat.c
-88c001197d45c8877133ff1d575e52c2  gdb/i386fbsd-nat.c
-6cfc42ebcca3830fcfff49ae5b51f324  gdb/psympriv.h
-401ececb196ea30f8e0b04d0a3e56c94  gdb/solib-osf.c
-946c949f6692dd7cf08bd2d9bc31f9da  gdb/m32r-tdep.c
-ec674881f24c2b13d779d99016135495  gdb/hppa-tdep.c
-2eb002ff302ae5cfd176c628e9eb85d1  gdb/exceptions.h
+68c2f73b8122d4023738fe69876efc56  gdb/regformats/s390-linux64v2.dat
+7d521124886bd1a212ec6ac542743020  gdb/regformats/s390x-linux64.dat
+40ba412a0b4d6cebeef61c90e6f6629d  gdb/regformats/s390-linux64.dat
+7c410a9041a4d037e6ba273b8fbb0e10  gdb/utils.h
+41afe1fe7888994aed3ee673a351cfec  gdb/sparc-sol2-tdep.c
+641c7d206306bf5cb4994067304bdc49  gdb/procfs.c
+ede287146f6265e902dae6fca0624867  gdb/solib-svr4.h
+c4baca8ed0530a522b692d96c4cc8481  gdb/ppcnbsd-nat.c
+0c3b45c3ca879ffbac4eb2f342048911  gdb/i386fbsd-nat.c
+bafa1bf706e30e9401e6cd5852376ac3  gdb/psympriv.h
+d8da55ecd8fa1442d1aa46ed11df0859  gdb/m32r-tdep.c
+d129b34057947658b86e15913ba59e9d  gdb/hppa-tdep.c
+ef2bf2512b351cf62629d557eec27579  gdb/exceptions.h
 d32239bcb673463ab874e80d47fae504  gdb/COPYING
-0e198b969b2f0ec2a6078279c164a1b0  gdb/arm-symbian-tdep.c
-5a19bcc95df9addbd1666dc61df2f988  gdb/guile/scm-symbol.c
-1d96e91bfab81dafa481db0731e992ea  gdb/guile/scm-param.c
-80bd47655859d1e7efbc7ee5b94ce0d9  gdb/guile/scm-auto-load.c
-1fc42ff9210dc4b1b65108def4db8de9  gdb/guile/scm-arch.c
-e5d867b5d61e33548575b9e12316410f  gdb/guile/scm-objfile.c
-b3620b4ec697b4ee6c9b47ec10168fd6  gdb/guile/scm-frame.c
+5b3993d1dcd3ca7481f0e7fc9b5d1f74  gdb/arm-symbian-tdep.c
+176dc388a0c119bc5456153549aca62b  gdb/guile/scm-symbol.c
+bc484f16109002f48e91f6b73a2cee9d  gdb/guile/scm-param.c
+c08ec703ea0b3fe3e35ba79d06258479  gdb/guile/scm-auto-load.c
+4bda70a863d5a2e562b19c75e91f69f2  gdb/guile/scm-arch.c
+7cc31bdfe33cf475aaebd02027075c40  gdb/guile/scm-objfile.c
+11a200e4eb992e43132852346403781c  gdb/guile/scm-frame.c
 520658d110ac7bd41fbd26e1ac81efa0  gdb/guile/README
-df25f3297b6ccb95c16b446df1016515  gdb/guile/scm-type.c
-ece76299be20a7fb05562e83564bc145  gdb/guile/scm-exception.c
-f72eb582e37bdea2f94f5e319e4568b0  gdb/guile/scm-safe-call.c
-e4194439daeddfb69c909865d1be03f4  gdb/guile/scm-gsmob.c
-817c3566d8954a6033b4de7463698446  gdb/guile/scm-utils.c
-413490321f19866bd17079c287d233fd  gdb/guile/scm-iterator.c
-41888e11a65319cf6584699ac3b558ed  gdb/guile/guile.c
-94c022b91683f6b925b4ce9f7c7eacdf  gdb/guile/lib/gdb.scm
-364169686ade2cd67789d147ae164b58  gdb/guile/lib/gdb/support.scm
-e9a30d0fb342def8193233d7bcb6b13c  gdb/guile/lib/gdb/printing.scm
-b56edf5f12b7b92547fba91ab5512369  gdb/guile/lib/gdb/types.scm
-d7c105c4a48540931e6df55d76defb46  gdb/guile/lib/gdb/experimental.scm
-8ad9ef022c78cabb056601d6c93b36f5  gdb/guile/lib/gdb/boot.scm
-76b7f74064c873be8d98e45a5dd4c8f8  gdb/guile/lib/gdb/iterator.scm
-0d85de79f52642ae704e448ca2810379  gdb/guile/lib/gdb/init.scm
-99f8c6062adf88b76c9e8a69bfa58df4  gdb/guile/scm-string.c
-fc77254c80da9521716b702a5ea0c0e2  gdb/guile/scm-ports.c
-5efe973da5a50ab3c4869ceedefc07db  gdb/guile/scm-cmd.c
-8cd617e583a2824fc5036eebb1d0fcd9  gdb/guile/scm-symtab.c
-2e522518190bcce495032660fb68c35d  gdb/guile/scm-math.c
-b0c91578e7151885a888ed29baf45af2  gdb/guile/guile.h
-83b92d7c3aad08c655799635cd790937  gdb/guile/scm-breakpoint.c
-3714527e13ffb5a1e4b38519c04b837c  gdb/guile/scm-value.c
-bc4939cd8f839cde5abafcca33a8dc5a  gdb/guile/scm-pretty-print.c
-a474c24f02a6881e46eff4bc2cd38d30  gdb/guile/scm-disasm.c
-9dd902fa89254e49ac77aca8fb5ef890  gdb/guile/scm-progspace.c
-75839adec186171f5d1916e9477b79b6  gdb/guile/guile-internal.h
-c143c480241ac91e78a337c07b9d0b3d  gdb/guile/scm-block.c
-a9b5ef21219eb09e39e96ac29c9a713a  gdb/guile/scm-lazy-string.c
-e7fb0291c129f5e86808f018d8436cf1  gdb/gdb_ptrace.h
-559cd5a59cbdb824272146e3c3cf2ce2  gdb/obsd-tdep.h
-588c2e57baa02384be264cb641449b0b  gdb/charset.h
-0d3f9cb0db6150393fdb1f8589e26f15  gdb/memory-map.c
-42921e4e9d0c407f058be1bb74172cd7  gdb/mdebugread.c
-3591ff34ffa292804c545d2d6fea6728  gdb/progspace.c
-d52d6e6d5494cfd13854379f701dd9b5  gdb/nbsd-tdep.c
-bdedc5d290cb08f622b787c388181d3b  gdb/hppabsd-nat.c
-3c43cb8a84914052dcb10e50c0ec3709  gdb/hppabsd-tdep.h
-fcc3cba0e358e6c775d7289e0ed510b4  gdb/macroscope.h
-085439e761088dcb92067f19ac2ed60c  gdb/ada-lex.c
-5619c5f4ae3b24852f137b11ef4f1908  gdb/solib-darwin.c
-49fbeee3a8cdf53cb3be5e119a8edc95  gdb/tilegx-linux-nat.c
-431d8875087a189406118c6b0743b8fc  gdb/filesystem.c
+35fba33425e78690452f33b2535495de  gdb/guile/scm-type.c
+dafa53b84833ec1d9bc29289f1521085  gdb/guile/scm-exception.c
+87e7c89be3bff83c18d629aca2543d6c  gdb/guile/scm-safe-call.c
+1ab57d4df701a863f203733340b93c3e  gdb/guile/scm-gsmob.c
+182c796bf5b91ef49c338a5aa458ed8a  gdb/guile/scm-utils.c
+a1f0b0e770676ff876e95dd08f24f3f7  gdb/guile/scm-iterator.c
+e7e00b2d6ee38696aa51c2a42fdc54d8  gdb/guile/guile.c
+4eb800c1f1387bd9d9b98ca4b56228b5  gdb/guile/lib/gdb.scm
+1c5ba868669c021b2fa083e0ff4ddc48  gdb/guile/lib/gdb/support.scm
+0144036da4be3338da440e64ff9c3679  gdb/guile/lib/gdb/printing.scm
+3a9250050940a1b14d9a3f77cf8e76e9  gdb/guile/lib/gdb/types.scm
+504eef89c1f3946750ed516f364bdcb8  gdb/guile/lib/gdb/experimental.scm
+706793ed18bd57f2b23ccd7d0007666c  gdb/guile/lib/gdb/boot.scm
+1646b3675299d42278940c1b412c31e4  gdb/guile/lib/gdb/iterator.scm
+7b887f6d0b61ec4a4a66ac5b1585cb26  gdb/guile/lib/gdb/init.scm
+aeaab983fdca5ef2e83cdba4209e928b  gdb/guile/scm-string.c
+7db9f885c9482fd3185c23da8cbd44bf  gdb/guile/scm-ports.c
+e8f92790944ad591f6b19f031b87b9d6  gdb/guile/scm-cmd.c
+92eb4fcfdceceacd4003b903a2a26ced  gdb/guile/scm-symtab.c
+1db10a7857a00b2e3e641297e7adf190  gdb/guile/scm-math.c
+27030b2d4616a29dfeb83b16e37fd600  gdb/guile/guile.h
+e273e8f1d9546f963383bf920f163c89  gdb/guile/scm-breakpoint.c
+e4de6c982a89d1da9403249e37cbc5d7  gdb/guile/scm-value.c
+945e4fe910aed90315aefca403579177  gdb/guile/scm-pretty-print.c
+77606096ae4275053435fea828734898  gdb/guile/scm-disasm.c
+73ec727d5c88ea38d6df3d148c3bdab8  gdb/guile/scm-progspace.c
+3b9f1a50b9d40814793d7b8c61087151  gdb/guile/guile-internal.h
+40c36bb02b910bdef0fff16432cad302  gdb/guile/scm-block.c
+aa9d73ab84dd75b1ad66112518fb4af7  gdb/guile/scm-lazy-string.c
+08f2a36f07547a44aff654ae2e4cec3c  gdb/gdb_ptrace.h
+7e55856a924525542b1a3fc298b0bf0e  gdb/obsd-tdep.h
+fb3488402f126b51a6ed3af1be4daaac  gdb/charset.h
+2fe2f9ff865b7fc2faf6898cd762bbf5  gdb/memory-map.c
+554410d2817e26d6653c991e191d56eb  gdb/mdebugread.c
+c1b6958d3ce495eb21051d582a426200  gdb/progspace.c
+b69f2f0bad0088c0fcfad058b2a5569b  gdb/nbsd-tdep.c
+477c6fc74a315061e0612b4e3ead4a10  gdb/hppabsd-nat.c
+c75dfeff6c269a268c42180822a4b338  gdb/hppabsd-tdep.h
+28059a30cdffe8feae3969042aee8a57  gdb/macroscope.h
+10882f3601f7f806efad236bc96d2ccb  gdb/ada-lex.c
+b93dde99a5493ead922d0ebacaeb603c  gdb/solib-darwin.c
+64c826710928f66234fea53251a3ea2a  gdb/tilegx-linux-nat.c
+78d028ab0dcf8d8b688a4167181ec72a  gdb/filesystem.c
 70a77fd6898743da19391f432f32be37  gdb/ChangeLog-2008
-7c975d8777399a3795511bffd65e1909  gdb/nbsd-nat.c
-0f54ea1c5e31910464c872fbe8d093fc  gdb/dicos-tdep.h
-76add7cb326e5b231e3a26599866106c  gdb/serial.h
-8a4af4adf986d73c20495847cc988b26  gdb/d-lang.h
-81e39d5e7648bd038bf903ca7d068ced  gdb/sparc64-tdep.c
-8265380ed75404c3d0ebd1cb4b5e47e9  gdb/rs6000-lynx178-tdep.c
-32b0f8d7f21f2eb42502a1f64d7f948c  gdb/gdb_obstack.h
-32f5147fc89716698c88ccc74f5ae6fa  gdb/i386gnu-nat.c
-865ed7eede837e6f066786c1f24b50fb  gdb/gdbserver/xtensa-xtregs.c
-12c35a0734f0cc8a5427fc04411447fb  gdb/gdbserver/linux-m32r-low.c
-0266018574fa465c029cfcc78b625175  gdb/gdbserver/event-loop.c
-7546c51aebc37d22ccc693fdf712469a  gdb/gdbserver/linux-tic6x-low.c
-8c470ed95089593a86c854f04ce683ec  gdb/gdbserver/inferiors.h
-e2cc2d9228a90ad9b13e100d361ba28d  gdb/gdbserver/win32-arm-low.c
-aa22bc67a7db150c475cfd1a2e82baf1  gdb/gdbserver/linux-bfin-low.c
-c5b3b1a2106d54e80cb3472054a64ae5  gdb/gdbserver/Makefile.in
-1edbaacd839a4dd02a040654efbab44d  gdb/gdbserver/hostio-errno.c
-536a48269a0aa8f18880ac0675a669a6  gdb/gdbserver/dll.h
-ca054ccca84c3ed4f8e37e0aa550a23f  gdb/gdbserver/nto-x86-low.c
-809e59e70e57b2139ca41db8ed76ec2f  gdb/gdbserver/target.h
-5397cbbdb7429be8ed41bbdd94d1a045  gdb/gdbserver/linux-low.h
-bd34d29a2718850058fcf3aaa9c0f155  gdb/gdbserver/linux-ia64-low.c
-37fa00ec02628187b10709222a551137  gdb/gdbserver/configure.srv
-73cb29ba1b0b5e9c45c56de162e31c49  gdb/gdbserver/linux-arm-low.c
-288920644dc5aa57c827d5f63c7d3962  gdb/gdbserver/tracepoint.h
-2f9c645b2df3e00d74ee46e2cb5b64c8  gdb/gdbserver/linux-aarch64-low.c
-810be19021778fcf46ceb74473a913b4  gdb/gdbserver/event-loop.h
-7200a749748abb4c883580dd4ca7a783  gdb/gdbserver/ax.h
-b8ac04200d2a8f7a1f14e84e7fa86ba5  gdb/gdbserver/linux-m68k-low.c
-c61ca5fd9fea3ca50ddbca0a431bcd7a  gdb/gdbserver/mem-break.h
-417c06d61abcb2e3435f015790454f6f  gdb/gdbserver/wincecompat.c
-5062eec97e40b72fee5f2c2da0096a07  gdb/gdbserver/utils.c
-3a24daf5ffda96cc52508c0de3df8571  gdb/gdbserver/win32-low.c
-7065db2febcfbb88d1800d93f62e4e5d  gdb/gdbserver/i386-low.c
-8277a0bca0cb80738b53495fdb832d4c  gdb/gdbserver/lynx-low.h
-112c207fe6da836065742eded820fa1c  gdb/gdbserver/tdesc.c
-f9e26a069e4ab6e1d42d181dbe93a308  gdb/gdbserver/config.in
-2cc400258992928c0e5714cf085cbe14  gdb/gdbserver/configure.ac
+ad7303dd68ce2399881b6747dc4b38f5  gdb/nbsd-nat.c
+7430a80704350128b4f86689796ffa50  gdb/dicos-tdep.h
+0460522ba23bc61b9c7476b61e865684  gdb/serial.h
+1ac218049d9d7658b992d7ca7f1aed5f  gdb/d-lang.h
+0dbbc967b8469d299a648e1f51f00d6a  gdb/sparc64-tdep.c
+751a40bc11fb3b397ae7cc6e61fd330d  gdb/rs6000-lynx178-tdep.c
+2538e5677890f3eb3b1b7f496e500ba1  gdb/gdb_obstack.h
+217df0e7b9a9fd43ebc63aacad018d6e  gdb/i386gnu-nat.c
+c8a75408057ef8b5bfaf3b8577e951aa  gdb/gdbserver/xtensa-xtregs.c
+354e6f74ad9504cf83d6bf5c54c9e272  gdb/gdbserver/linux-m32r-low.c
+8658b8891d00b3e13c0b431f92504fae  gdb/gdbserver/event-loop.c
+86f7fc4cd2ffb2a774e0cae58a3ef843  gdb/gdbserver/linux-tic6x-low.c
+290ce2d213205efbaf6637f13e742292  gdb/gdbserver/inferiors.h
+25caabd38a23947e29a4ba723eee2c85  gdb/gdbserver/win32-arm-low.c
+911c0e84ffe33fcf1960e46f27e58e94  gdb/gdbserver/linux-bfin-low.c
+db514c853e8398a0b4740dfbfee6ef27  gdb/gdbserver/Makefile.in
+b0cea923664c3efb97b385d1c2f29f37  gdb/gdbserver/x86-low.h
+213c42e9306ef931e62c6658c513df21  gdb/gdbserver/hostio-errno.c
+a8b318ada418e233c4996535f60b132c  gdb/gdbserver/dll.h
+b59c8001ee1dcc7cd60f69b0b264117f  gdb/gdbserver/nto-x86-low.c
+49ff4809d1e867e3ee28bf7b801fd539  gdb/gdbserver/target.h
+d32caf02d4271e54ecc8fb25dbad9ff7  gdb/gdbserver/linux-low.h
+fd2a628fae668ef78fe489121037c9da  gdb/gdbserver/linux-ia64-low.c
+87906ff2ed562448a80347fb1c3c36db  gdb/gdbserver/configure.srv
+8cd58f9641e3fcbc0585d13a4b4704f5  gdb/gdbserver/linux-arm-low.c
+0abcf9ecce5adcdb93f1323e836dc99e  gdb/gdbserver/tracepoint.h
+f63179ed369e57afcb2ac34d9197c7ef  gdb/gdbserver/linux-aarch64-low.c
+eaa996efd99c282244af925502b37a58  gdb/gdbserver/event-loop.h
+ceaf88dcc1caaf217a8038914b1ef92c  gdb/gdbserver/ax.h
+e48e5b8a013a7c6db280c340e87aa011  gdb/gdbserver/linux-m68k-low.c
+9f76512eec133928b94edff24575a86e  gdb/gdbserver/mem-break.h
+cdd30823b0fef194dc2aa026633ce27c  gdb/gdbserver/wincecompat.c
+4e78b5fe1cc314a3958bfdf49b6b8c6b  gdb/gdbserver/utils.c
+9b657bb71bee2f5c9bff184f16dfcb61  gdb/gdbserver/win32-low.c
+fe81eb6c2c62a0d201997976c23e183e  gdb/gdbserver/lynx-low.h
+89d5a85a35090857a26e2b9329cc1372  gdb/gdbserver/tdesc.c
+f87acebf2918d9b768ca4c7ac8e926f2  gdb/gdbserver/config.in
+56625f046b1135ad0a2c1d58c86600eb  gdb/gdbserver/configure.ac
 791b58ddf159b59c7d9375e2c2f00a07  gdb/gdbserver/README
-7392888dd953f01f82fa310d87f2b779  gdb/gdbserver/mem-break.c
-220497f529a357356be6879246f8341c  gdb/gdbserver/linux-mips-low.c
-47eec941d7d19c71dd74d8b73513bc25  gdb/gdbserver/tracepoint.c
-d1b756ee805d68139a632b82d110e14d  gdb/gdbserver/nto-low.h
-5cef6883b569adf6bb5996eeb3525abe  gdb/gdbserver/win32-i386-low.c
-fa46b2589c686c7954b5f0086fcadef2  gdb/gdbserver/linux-nios2-low.c
-c4f5123417ec65d51183abf58262d8cf  gdb/gdbserver/lynx-ppc-low.c
-354e8ea632ddf2dfef9320092e05abe9  gdb/gdbserver/ax.c
-d4b8e0054e38de552b4239e6b8ea865c  gdb/gdbserver/regcache.c
-06d2797b5b1d10cdffcfd7df5ecd11b5  gdb/gdbserver/target.c
-035fe178948eaf52c25d6e464c0f0ccb  gdb/gdbserver/server.h
-45355543d23cfd0bc909912fb2ed8803  gdb/gdbserver/linux-i386-ipa.c
+ac2b6611473c54f627f2fe0cab6e7a9e  gdb/gdbserver/mem-break.c
+cba9f6305efbbdcd68dbc1f3c96cfdec  gdb/gdbserver/linux-mips-low.c
+5978211e1858547670c3e2f0dd046e78  gdb/gdbserver/tracepoint.c
+0b926f70628d4332584c50b3a755c4ff  gdb/gdbserver/nto-low.h
+872b80e9ded8aad2a6df089995db53fb  gdb/gdbserver/win32-i386-low.c
+7fed2a00ce72c0ae014199eda5e73525  gdb/gdbserver/linux-nios2-low.c
+eae036cf43bbb9e29abe175b8ad70f16  gdb/gdbserver/lynx-ppc-low.c
+ad4afd2e681af2d578c7efdcf8d2a490  gdb/gdbserver/ax.c
+4b4c7936617a78f14f1a20a36d4a5b47  gdb/gdbserver/regcache.c
+fde2e22668c3d4b9909646f6d1e5e9ac  gdb/gdbserver/target.c
+4d78e8bad432540b8d30261c722d7194  gdb/gdbserver/server.h
+0f122ad104cd1b430fac237c7d4059db  gdb/gdbserver/linux-i386-ipa.c
 94230696f6e1981ae284eb1d31607f8e  gdb/gdbserver/.gitignore
-33b667ae7237f20c74c7785fa6670824  gdb/gdbserver/lynx-i386-low.c
-29cc7a5f9cae843c58ad1f297b0d09af  gdb/gdbserver/lynx-low.c
-6f867eac14f8004f51d32841ec442c04  gdb/gdbserver/linux-sh-low.c
-d364bdde18485cd6abf1078278222528  gdb/gdbserver/spu-low.c
-1d09186c730a080879318de654ce7335  gdb/gdbserver/gdb_proc_service.h
-f577f25db9b8b5cd04ca410e37427d11  gdb/gdbserver/linux-crisv32-low.c
-b3e9eac306f56d45f6020d1cdde93bec  gdb/gdbserver/proc-service.c
-fe0d8178666a6fe552944d1718bdccba  gdb/gdbserver/remote-utils.c
-dace35ed0b9186b4db6c3bb476c93a2a  gdb/gdbserver/hostio.h
-7aaec217ec40e052102c78888ee3ca78  gdb/gdbserver/notif.h
-9301ceb4336f93dba68d205856525dfa  gdb/gdbserver/i386-low.h
-e061d22d758f22667d7bfeafe25d8127  gdb/gdbserver/linux-x86-low.c
-db6d0cf6e201962e53d12580aca24f54  gdb/gdbserver/server.c
-4d0706717672491c95a4f3842c799f6a  gdb/gdbserver/dll.c
-a569c6ba1baa7e618e9fb56a7fec6e07  gdb/gdbserver/debug.h
-2caf863b3b33ba8dfaec628da494030f  gdb/gdbserver/nto-low.c
-6b0496c899b2615eec826161f1a26923  gdb/gdbserver/gdbreplay.c
-473c8b05e258c348af59b434240a6d2e  gdb/gdbserver/regcache.h
+205c608d65c77042e034da9906126ce1  gdb/gdbserver/lynx-i386-low.c
+dab40590fa42f089475eadacf72623f9  gdb/gdbserver/lynx-low.c
+f7cf1cf53fcd3aae809f4196d045c8a1  gdb/gdbserver/linux-sh-low.c
+49026c101b2f0503214b114b38acd02f  gdb/gdbserver/spu-low.c
+97ed6ab0fe208431f9ab588ea7090a42  gdb/gdbserver/symbol.c
+9e85bc74b92b351669764997cd33a656  gdb/gdbserver/gdb_proc_service.h
+c443e2d12144a4acd18f0399e07c85ec  gdb/gdbserver/linux-crisv32-low.c
+16660b96b2ab960138952a0a77a795f9  gdb/gdbserver/proc-service.c
+016dd05060a0b22d580a9cfc641313fa  gdb/gdbserver/remote-utils.c
+37d3082b46ccfe735532c0cef764cbf3  gdb/gdbserver/hostio.h
+47c9750ef3a5a00bf319d98c529a5f95  gdb/gdbserver/notif.h
+96b8c24ddd2eccf6f0f7a153af488aaa  gdb/gdbserver/linux-x86-low.c
+44d02f879beb90d030847e4f7bd1bec4  gdb/gdbserver/server.c
+62d1e2f727e137a356f164355bfab955  gdb/gdbserver/dll.c
+dbb86a089c3f5f2096ef6e24d721ffec  gdb/gdbserver/debug.h
+d313357840dc5cdfc3850d1387d7ddb1  gdb/gdbserver/nto-low.c
+d1ff361333f132597574fbafc6a387a3  gdb/gdbserver/x86-low.c
+01aca08a299736d3eee3f1797260f1f6  gdb/gdbserver/gdbreplay.c
+c603ea99a252e4ca4b7152efe119fa4b  gdb/gdbserver/regcache.h
 2e7940b5359daf39145a72138e035140  gdb/gdbserver/acinclude.m4
-dc372aa6711da296c9f7808249115539  gdb/gdbserver/configure
-68efba5b2633237fdd070ebbb1ce85d8  gdb/gdbserver/notif.c
-8911cc0a234e3eaadba97d788c7a9647  gdb/gdbserver/linux-cris-low.c
+e43517c11a200defbe515b283c262320  gdb/gdbserver/configure
+18e5d2afcc8073f657d69be61acb20c5  gdb/gdbserver/notif.c
+15e9f8b9afe707a571ef09a62bbddf35  gdb/gdbserver/linux-cris-low.c
 7f017910fc10864faa3886a248c0de44  gdb/gdbserver/aclocal.m4
-a97c70e6df58989849dc316abd3ecb7c  gdb/gdbserver/thread-db.c
-ef31725404b796d24c3e3e789bdc5c47  gdb/gdbserver/linux-tile-low.c
-bdcd09187bf01b89fe7a453757db534d  gdb/gdbserver/ChangeLog
-b7f34b71b42d9149d9fdf2c01552c7b8  gdb/gdbserver/linux-ppc-low.c
-abaf2109fdae91bc051ce780e60c25b0  gdb/gdbserver/linux-low.c
-26fcc13527ca353ccdd331cbb81856c2  gdb/gdbserver/proc-service.list
-35b4de608fb96ced371334956786284e  gdb/gdbserver/linux-s390-low.c
-3075f46312d9481978dc0d729e1d266d  gdb/gdbserver/utils.h
-3c9ab87f3cf69abb5790c844e79e76a1  gdb/gdbserver/linux-amd64-ipa.c
-aa5de79ab1322517de3852abfc64dbc5  gdb/gdbserver/linux-sparc-low.c
-05d76a45b0826043925771104a0499fa  gdb/gdbserver/linux-xtensa-low.c
-d088ff3df34bddd6ff8ad0aca9965f0c  gdb/gdbserver/wincecompat.h
-3510490685c94bd05744158405fbae20  gdb/gdbserver/i387-fp.c
-c8941291d57c3ef95048b2a9e0a81af7  gdb/gdbserver/tdesc.h
-ab029b6e1ba78cd68e59e0f3b1bef8a6  gdb/gdbserver/debug.c
-771d988ff32e8dc0afedd32e86384692  gdb/gdbserver/gdbthread.h
-318b8d28d4f44483f0b6d89300233711  gdb/gdbserver/win32-low.h
-61cf0e0bde2e816dd8c08daa4af8749c  gdb/gdbserver/terminal.h
-56cfb5fa9d3302b739805264b7c64f07  gdb/gdbserver/remote-utils.h
-877bcd6a918ff78f4584faed7d2b5a74  gdb/gdbserver/i387-fp.h
-7ae4f89e0bfca6fb40b9eb4b5b1a349a  gdb/gdbserver/inferiors.c
-3ce8f1ccb8202b4f613a20a79152af65  gdb/gdbserver/hostio.c
-2c994ff6db1ba6959b5ee12fc37809d0  gdb/data-directory/Makefile.in
-ef3129883ca9050479732c5b3bb61c74  gdb/dwarf2expr.h
-f6d6d2815b1f1db61db137f98ad964db  gdb/extension.c
-1785975ef394711ac7d4640b6551572e  gdb/exec.h
-5fae2f235bdac98328fc9da7a4b4b01d  gdb/stubs/ia64vms-stub.c
+2b9f6c6d21c30849559cd27951e51f89  gdb/gdbserver/thread-db.c
+a713e728e699f380772910b1e8911321  gdb/gdbserver/linux-tile-low.c
+97d1af746febda3abe3c1a61df5adf45  gdb/gdbserver/ChangeLog
+bf06506177d8b8accdf07efc010fd1f3  gdb/gdbserver/linux-ppc-low.c
+99cebb5fd7ccfe880091d845541081b0  gdb/gdbserver/linux-low.c
+31e072b4e9e5984e19662acc96a07f2e  gdb/gdbserver/proc-service.list
+0541491bd9eded900fc97f8f6dd0ef3f  gdb/gdbserver/linux-s390-low.c
+29f787a14729e764f56e26257e1bb933  gdb/gdbserver/utils.h
+fdc3ccacba0159641db50f48b735cb95  gdb/gdbserver/linux-amd64-ipa.c
+6dee8461fdf864549641a196efe9a13b  gdb/gdbserver/linux-sparc-low.c
+1422c378f2e469a5c8c721a5643443d6  gdb/gdbserver/linux-xtensa-low.c
+1ce6db78a8a6ed56fa787b2cf2d0d08e  gdb/gdbserver/wincecompat.h
+71e0918c1220da9ff838d131a3d6ef3c  gdb/gdbserver/i387-fp.c
+97219a5401ecf6ba890375f87bbec9f9  gdb/gdbserver/tdesc.h
+e6dfc89cc0045a5d447281df824fd6d1  gdb/gdbserver/debug.c
+24979d1b8060a1fc3b00a17b188cecd5  gdb/gdbserver/gdbthread.h
+f91da712497316d2bea2e5650d33f5b7  gdb/gdbserver/win32-low.h
+facde2f0d023b5732b22fecbb5e96f14  gdb/gdbserver/terminal.h
+24003d162ca738047d52c1b69dfe36e2  gdb/gdbserver/remote-utils.h
+60db5c310596eaaab19a62425aed77d5  gdb/gdbserver/i387-fp.h
+b4b095e621f27829718f00101bd76fb7  gdb/gdbserver/inferiors.c
+47e940600eb263f27f440beadfe555ec  gdb/gdbserver/hostio.c
+8f0ecfd98ee046ab100e79a64c8de78b  gdb/data-directory/Makefile.in
+381fe26cbbfbfb4fcb04cb352621ab9c  gdb/dwarf2expr.h
+bd8d2cbad3d9df81721b5ebb0c33add9  gdb/extension.c
+1fcc42640608c1f7773ad7f6d3812e2d  gdb/exec.h
+51ac2b84d98cdd3f11e9a16373ab8f1a  gdb/stubs/ia64vms-stub.c
 04ef5745a7e6781587638a72b849da35  gdb/stubs/m68k-stub.c
-bfd4368ff1e2993554b6315213c02619  gdb/stubs/buildvms.com
+0e2c89e9a3f54926e85a74c9d9c5a4f8  gdb/stubs/buildvms.com
 0644af48c77adac296d83d3fe9bc65e3  gdb/stubs/i386-stub.c
 a45d74c0301c9dea17f393d3ef6c9372  gdb/stubs/ChangeLog
 ef7f67e5720cf7b193349f8687243947  gdb/stubs/m32r-stub.c
 8edc014e1b5928dd9761408fa7df0d64  gdb/stubs/sparc-stub.c
 ffc93e69a8813484cec63da022b68375  gdb/stubs/sh-stub.c
-3efb4040a9599511395425c56b1777a1  gdb/buildsym.c
-0cbb9f4a4343b72aa2873fa2b696975b  gdb/breakpoint.h
-29dc865f22208e61f7d7b6557bc256b7  gdb/objfiles.c
-561ac3fda07a5af8dfd1f7bd67c9d28d  gdb/sol2-tdep.h
-e89a6f796ea2c55f718b0dda87a8f7da  gdb/ppc-linux-tdep.c
+c68917f126137f1f01b8fce213b8bed0  gdb/buildsym.c
+3d053fa1f3f0ef530bc94d6e7399c026  gdb/breakpoint.h
+df5b61f9fe772c3cb5e1a39d79cceb8f  gdb/objfiles.c
+703bf2a0757f3c8b4a454a0e278aee0e  gdb/debug.c
+9688ad1dae08e48e11479e5199bf97f0  gdb/sol2-tdep.h
+6d737278503ce434920ddf495fe193a7  gdb/ppc-linux-tdep.c
 33e82795b3de28ec33551530ec362c2c  gdb/ChangeLog-2007
-87c6f60cab43e339f11f78d6d07accfc  gdb/gdbthread.h
-e89051f69c9abf9baf2f9276fff8b109  gdb/macroexp.c
-15a561cb70b6f5d55d8a026c3345d471  gdb/blockframe.c
-25a1c7b738fc938a66fcc98041fbbb61  gdb/ia64-vms-tdep.c
-29036ddaeff3da8405f91cf89e8ce14c  gdb/rs6000-nat.c
-e1af534f91a4c0f45699bfa4866ce8f7  gdb/ppc-sysv-tdep.c
+78c21575b534afecc2a275a138711580  gdb/gdbthread.h
+9b14783e7d2ce7c31dd8d8050d028e42  gdb/macroexp.c
+594fc45b25a908049675800d93db46a5  gdb/blockframe.c
+46539ec53df1a9ad2d327052d5b1ee0d  gdb/ia64-vms-tdep.c
+7737ea42a6ce270e5fd94a2c9fdf4e13  gdb/rs6000-nat.c
+bd2e88750c426ea77226fbdbed3eb0c5  gdb/ppc-sysv-tdep.c
 dafe29925d5cc67b50a71bb43b16654f  gdb/ChangeLog-2009
-337c1af38fd27394cc1505be066905fc  gdb/sparc-tdep.c
-346bee9dd354ce2a6ad5289641cc0479  gdb/libmcheck.m4
-4b8fa9ef6bfb499f484f1e5c41f4d802  gdb/m2-valprint.c
+70da0f5acdb272b682a92b070578ecf1  gdb/sparc-tdep.c
+148e98d2bf99b2b3ec3f5cc0b8267beb  gdb/libmcheck.m4
+7261acb91711ce4ea5e3fa54e91ae1c8  gdb/m2-valprint.c
 5fffd8c47764eda70194c34de6e02f2e  gdb/ChangeLog-2003
-5b0cee87386e0b680c343fba88eeea2c  gdb/sparc64-nat.c
-eb435dc249e04a7a4e08678050737307  gdb/nios2-linux-tdep.c
-4d0097103a58852b6bc361dad8d3a181  gdb/proc-events.c
-98beeb176b85dc9807fd0bbefa90ea2f  gdb/i386-nat.c
-4834da79e0804277caa8881836b8ca29  gdb/go-exp.c
-991b7b1ab5361373c05298beda368849  gdb/m88kbsd-nat.c
-8558e69e996e2246cf340e42b7f87c00  gdb/glibc-tdep.h
-16a8ab7dd6e674b10f33c241ac60158c  gdb/macroexp.h
-7fcea3b289c27784d7bf9097f0f3d52e  gdb/linux-nat.c
-5b29a72fb34e2071ddbfd9c964cb4814  gdb/ppcfbsd-tdep.c
-2efbf8832759acd0be37dc401679c445  gdb/sh-tdep.h
-94847a9de0059cd22fcee6453a7b664b  gdb/top.h
-1896f82e25e7c212d11e0b9bb4e104f9  gdb/xml-syscall.h
-3c99e4fcb682dfa2d4f67578c7f068c2  gdb/xtensa-linux-nat.c
+547447b613e0acd7cbdfa7a154bd198e  gdb/sparc64-nat.c
+15eee0234f9c6af4ea745f100b799291  gdb/nios2-linux-tdep.c
+b98e13fee9a5f4180c50a396e1428ea2  gdb/proc-events.c
+c181758754cd0b8d7733fa82d4aaba3a  gdb/go-exp.c
+06d492ab5c9dbaa82b38193b83bc2e44  gdb/m88kbsd-nat.c
+ca9158e7ede27a090a3228b2965721fb  gdb/glibc-tdep.h
+9ec89fc9f02b1bcf2e0cbf717337c91a  gdb/macroexp.h
+b903dd316987d3e70d51f347d4e66850  gdb/linux-nat.c
+232fae6c14bb330d684a735fbd258bdf  gdb/ppcfbsd-tdep.c
+72c2a6c8c1d784dedb9da73e84229cab  gdb/sh-tdep.h
+be04f4bf35ddca6beee6d0ad2b02bb72  gdb/top.h
+4cf92f060caa4b507788fd93345f5036  gdb/xml-syscall.h
+b6d84aeab0e43717df6dd2cd1ac6dd59  gdb/xtensa-linux-nat.c
 1f6b545be0b6822eca215d0b5f1edfc2  gdb/exc_request.defs
-86a2f02a1a41c213921ee0c3fdc542d5  gdb/c-exp.y
+216cdd2fed7ce9cca171a718e1808d21  gdb/c-exp.y
 8f5a03c189727d347a330548f3ea9c98  gdb/ChangeLog-1991
-e46d3e5b47032cc9103b7f6c36d8d84e  gdb/amd64-nat.h
-1b2ea468eb422418cd436742909d95de  gdb/sparc64fbsd-tdep.c
-06dab90d36bdb946fe75f63214596ac4  gdb/windows-nat.c
-17a4336d57851250acbc70c03e3c5095  gdb/vaxbsd-nat.c
-483084ea2ec12ffc13c8789048ade638  gdb/gnulib/Makefile.in
-37c19bc9f855cffe9d99d94bd02615f5  gdb/gnulib/config.in
-97511d0e733ce0d9b038d24ca1442c69  gdb/gnulib/configure.ac
+31312bfcdcc6ab386ee90ca5cee2cf9e  gdb/amd64-nat.h
+e12fa08417224cdd809329ec96098d02  gdb/sparc64fbsd-tdep.c
+2f48bab62375c7db58edab6b9f22f1ad  gdb/windows-nat.c
+b555e33ed0ce581b706387f558de03b8  gdb/vaxbsd-nat.c
+954090a526dd1257daea4bff9fc19ac4  gdb/gnulib/Makefile.in
+4417508420df851c50e4cc02fb305b85  gdb/gnulib/config.in
+ba5f23d9a2ebf9979e23026e8bd50fc7  gdb/gnulib/configure.ac
 12086fb99b039f6cd254bc5193f6f344  gdb/gnulib/import/errno.in.h
 4dd09df660ed63eb57c769358fa36c98  gdb/gnulib/import/string.in.h
 cd52e1464b249cad639d31fe7aa393f3  gdb/gnulib/import/stddef.in.h
 314f1652c2e59a6b7e3e4003f7fa510f  gdb/gnulib/import/extra/update-copyright
+e228064a3c2755b1381df29c0f509c4d  gdb/gnulib/import/extra/snippet/_Noreturn.h
 99a14241de22838731d105c70336a6db  gdb/gnulib/import/extra/snippet/c++defs.h
 48e0dce8b60ccc0da59e6d61bc238fac  gdb/gnulib/import/extra/snippet/warn-on-use.h
 354d9ce86bdad55b2869f49c33886672  gdb/gnulib/import/extra/snippet/arg-nonnull.h
 62bc37e49a70fd85cf9a66e642d61022  gdb/gnulib/import/fnmatch.c
-1367b9ef96c5805fe9c43d7cce21de26  gdb/gnulib/import/Makefile.in
+94b21ea7aaa589a4a385e8abe174ef9d  gdb/gnulib/import/Makefile.in
 637c1ee801280fe45561282999fe14c4  gdb/gnulib/import/stdint.in.h
 99b1c657d704aab402090c8c647875a5  gdb/gnulib/import/dirent.in.h
 68e82b30d0964483537ad2623f33eb01  gdb/gnulib/import/localcharset.h
@@ -5056,14 +5202,17 @@ bf64ce0ca66cc6e4d407e1a78b9f7a15  gdb/gn
 e30092b5a29a03a2ab10cc3e90fea1cf  gdb/gnulib/import/m4/time_h.m4
 1c253c8e3a286ebd512090e26f75c6e8  gdb/gnulib/import/m4/mbrtowc.m4
 48726ae5be94af813de1f06e1ed97c63  gdb/gnulib/import/m4/unistd_h.m4
+c25d594a7bac42b5206fa2914373b036  gdb/gnulib/import/m4/rmdir.m4
 1da7a16baf24c3d47bcb917495d51818  gdb/gnulib/import/m4/extensions.m4
 405abf64b4c1470e3c1bdd358d8e33ca  gdb/gnulib/import/m4/dirent_h.m4
+5ef76e0b75c8a232f0b2e4934d85f657  gdb/gnulib/import/m4/nocrash.m4
 803f9756ebb841b1da1bd8b30a0e6c95  gdb/gnulib/import/m4/isnanl.m4
 0fd6c91e9d5d09676ba172e282bd1ddc  gdb/gnulib/import/m4/wchar_h.m4
 72f23bf16c8420fa018b7de50324d61a  gdb/gnulib/import/m4/configmake.m4
 afe6cb217ae4d37611fc31197a49141f  gdb/gnulib/import/m4/stdint.m4
 2f1c1d83d6b430bfb0c64cd26fee6e30  gdb/gnulib/import/m4/mbsrtowcs.m4
 9cac3a7f313170d7db64c7f31c533d31  gdb/gnulib/import/m4/alloca.m4
+b3867dca2b7a909f48eba70d480ae020  gdb/gnulib/import/m4/malloca.m4
 f322fdccab17ea93cdccf0d48168e7c1  gdb/gnulib/import/m4/fcntl-o.m4
 93cbcb981ebd0a05c4d6497c7b280668  gdb/gnulib/import/m4/fnmatch.m4
 20fcd20e53fd4515fc372bb6a4923106  gdb/gnulib/import/m4/stdbool.m4
@@ -5074,13 +5223,16 @@ c8684b0cbf3852b8a05706aaa538a03c  gdb/gn
 d93d9c57c74682c6d41ab7bce554d83b  gdb/gnulib/import/m4/float_h.m4
 89f3dfe60ea2912f78c844cdd47baf0c  gdb/gnulib/import/m4/wctype_h.m4
 46d468c214c1da419edf3d88ec3a262b  gdb/gnulib/import/m4/locale-ja.m4
-83b5f63ab46fbb4a77527de14eb11f17  gdb/gnulib/import/m4/gnulib-comp.m4
+02c9e4a1d7805a64f5cd2e4248de3ce1  gdb/gnulib/import/m4/gnulib-comp.m4
 08497f6d9317370bc07dbde291e69155  gdb/gnulib/import/m4/errno_h.m4
 2d39a6757b643db5c4438f4ebae7924e  gdb/gnulib/import/m4/inttypes-pri.m4
 02fab94d899b44900f79028f6919862b  gdb/gnulib/import/m4/memmem.m4
 da56b205f4209d24fdd88ad067698477  gdb/gnulib/import/m4/wchar_t.m4
+3d197a2a3278b3fd02ca549dfd7333d1  gdb/gnulib/import/m4/stdio_h.m4
 1123bda2209749e1fa4880609d6afa59  gdb/gnulib/import/m4/fpieee.m4
+47a439046e96d54fa9b28ad97e496c07  gdb/gnulib/import/m4/readlink.m4
 4f2196ec93490afbe054b2005fae7036  gdb/gnulib/import/m4/multiarch.m4
+b9ae3d2ee9ca2a7b52a8ad37bdab636e  gdb/gnulib/import/m4/rename.m4
 461e40d856adc3703f010e8ca5115e0e  gdb/gnulib/import/m4/localcharset.m4
 f47203041f28e08e677013e187cd4d7e  gdb/gnulib/import/m4/00gnulib.m4
 05144387efe258c63716402def36a920  gdb/gnulib/import/m4/wint_t.m4
@@ -5089,463 +5241,508 @@ f47203041f28e08e677013e187cd4d7e  gdb/gn
 a3e81ec607f9aa8c24fcea1536aee123  gdb/gnulib/import/m4/math_h.m4
 7f23c5f548bfbd8e0fd7684c23dc9886  gdb/gnulib/import/m4/gnulib-common.m4
 9bdbe8168ea3740d74f001881cfa32a3  gdb/gnulib/import/m4/exponentl.m4
-499ecefa9ce1777931c8ec22b468189b  gdb/gnulib/import/m4/gnulib-cache.m4
+c8a18953e0a9bcf6a72ab1a4a16baa65  gdb/gnulib/import/m4/canonicalize.m4
+7d8f94d84d6079d8034f28b36c121420  gdb/gnulib/import/m4/gnulib-cache.m4
+675d3a53c1d5c5b8eb12f8714ca264c5  gdb/gnulib/import/m4/dirname.m4
+a6801abc7a0236618f84867927aa3797  gdb/gnulib/import/m4/double-slash-root.m4
 d90b3cd67c3ad427c140b554e97c8fa5  gdb/gnulib/import/m4/pathmax.m4
 5de94c93b8f752f24e2234e9088da4d3  gdb/gnulib/import/m4/frexpl.m4
 3bac45563a87f07d06ce5152d1480673  gdb/gnulib/import/m4/ssize_t.m4
 f056ec4e1a4ef7b357ba8c1966c4c6f3  gdb/gnulib/import/m4/include_next.m4
+e17754c34b4f688bf94314af70e45271  gdb/gnulib/import/m4/largefile.m4
 fc621b23ef2325b1a59a974b8d416cde  gdb/gnulib/import/m4/mbsinit.m4
 9344c4a53a5f57082ce86a611a76680d  gdb/gnulib/import/m4/dirfd.m4
 42c6f4d5b6012d29d8f303b3d16cf843  gdb/gnulib/import/m4/strstr.m4
 13ab2498ab9d32b4868dfc5c542ea690  gdb/gnulib/import/m4/warn-on-use.m4
+20ef7c3a22600545c2bbb1f41f757752  gdb/gnulib/import/m4/malloc.m4
 89f4c4b9d609dc52d87ea9664a5ccfc2  gdb/gnulib/import/m4/mmap-anon.m4
 263711ce3f4faee8204ba3f9affb05b2  gdb/gnulib/import/m4/stddef_h.m4
 55ce27bdc6f9787962a8be40bee99eeb  gdb/gnulib/import/m4/gnulib-tool.m4
 7797bf0ba9d34a51936accc87d400e01  gdb/gnulib/import/m4/isnand.m4
 aec2f86cb9ae0120611bb074fe1aedf7  gdb/gnulib/import/m4/glibc21.m4
+99eceff123c90f7bc599ad99ec33e936  gdb/gnulib/import/m4/stdlib_h.m4
 fe2f594b1e2defee421463d694bfc352  gdb/gnulib/import/m4/sys_stat_h.m4
+11ef424b5621d68f2a0e69dd43ac4050  gdb/gnulib/import/m4/stat.m4
 02aa9e71068cf3f2f1c078d4bc38f596  gdb/gnulib/import/m4/longlong.m4
+85fbad05fc492b0b7358dde05fcae52c  gdb/gnulib/import/m4/lstat.m4
 4e717674f86cc0882ccc0af468a206a5  gdb/gnulib/import/m4/frexp.m4
 0fa246d1afd71c819225b4351f92cadd  gdb/gnulib/import/m4/locale-fr.m4
+74b683bd4b747f15f5ca561ad29fa05e  gdb/gnulib/import/m4/eealloc.m4
 cd8fb8ca5545f0d5987f6e4b869c9b94  gdb/gnulib/import/m4/off_t.m4
 13f73f4b3cf6716c2822f10a78d624ef  gdb/gnulib/import/m4/extern-inline.m4
 44e4d3e20816e4ede69ef6ecd1e34f7b  gdb/gnulib/import/m4/codeset.m4
 cd90e0e86fc7e44f9eff252a3f86e7d1  gdb/gnulib/import/m4/locale-zh.m4
 7241fcfeea53eb9078d70b507b2579e2  gdb/gnulib/import/memchr.c
 ec2820d3c15f0d2a7b734958d44c092a  gdb/gnulib/import/dirfd.c
+4380c0b368295ae352a9154ed8c50cc0  gdb/gnulib/import/rename.c
 cb26079a149b621b52b0452a86d12d0b  gdb/gnulib/import/mbsrtowcs-state.c
 6e85e998f87b9d265d3422817983c423  gdb/gnulib/import/sys_types.in.h
 56b92e5dd39de642795ed5d6ec7e6d41  gdb/gnulib/import/fnmatch_loop.c
 9d41afd60c33bf30a027dae3dc53db8c  gdb/gnulib/import/ref-del.sin
 75f7b0c1e7062fb98afe3e03dc8e36f3  gdb/gnulib/import/math.in.h
+d1908c575029776bc604d97891d30ef4  gdb/gnulib/import/rmdir.c
 ce80de59225450e9de1cff046ec2f0a3  gdb/gnulib/import/memchr.valgrind
+0dc1859a9ccf9c873f883487261d9d7b  gdb/gnulib/import/stdio.c
 2b5e4b0b67b3dafa5184fc52ab9bdd0b  gdb/gnulib/import/mbsrtowcs-impl.h
 20561a92605422ebf8477b3e81d64e25  gdb/gnulib/import/verify.h
+99b2bc2ba0c2ad2b1d77b962a0ace677  gdb/gnulib/import/dirname.h
+55ba6d377e434c9b35ee3fdbbe781914  gdb/gnulib/import/readlink.c
 782b25c69652429816c922969c8916f0  gdb/gnulib/import/pathmax.h
+6b4c12d2ea6ded08174cdaaf8bbf7f25  gdb/gnulib/import/dosname.h
 dd1f2c119d494602753afd4bc28ee06c  gdb/gnulib/import/wctype-h.c
 ccdf375afd8f7530ce7c61117f718c22  gdb/gnulib/import/alloca.c
+637f55da5d9e9f734c77f28e4d4ac85d  gdb/gnulib/import/stdlib.in.h
+365a5eb723d3c0145b1292ddfb468f3e  gdb/gnulib/import/stat.c
+3094051c2b6c607ccf6ce4887d6934c0  gdb/gnulib/import/canonicalize-lgpl.c
+896c1fbccdc166cb67f5845161fa9d66  gdb/gnulib/import/same-inode.h
 200f3e454367578962935dc57a0f1bd9  gdb/gnulib/import/ref-add.sin
-a4542cf40d8ffa8c7f9f11acbadc2d87  gdb/gnulib/import/Makefile.am
+478374abd3c0e155cbf6a048ae6f96d2  gdb/gnulib/import/stdio.in.h
+f5b2c91269f96f7254918291ab09e29b  gdb/gnulib/import/malloca.c
+ecaaeefa0f7bb9f1538ee3e7e4655593  gdb/gnulib/import/Makefile.am
 e7fdabc6775627dff66bc469a4ffee76  gdb/gnulib/import/isnand.c
 591dd16c7625f1953b7764cd6f722259  gdb/gnulib/import/mbsrtowcs.c
+220dae36d0c32c0adbcf981e1ab27707  gdb/gnulib/import/malloca.h
 7529dea4fe5e7b26ca615fe14216b46c  gdb/gnulib/import/frexpl.c
+dd8534ce83b782755aa3ad3a482b95f6  gdb/gnulib/import/lstat.c
 3b9626013a120e3e72924371fda68241  gdb/gnulib/import/strnlen1.c
 eccef6f80daacc90556367a28666b101  gdb/gnulib/import/str-two-way.h
 d231bcb51a839b5383de687c2ac5d9eb  gdb/gnulib/import/stdbool.in.h
 2452dfad6029efa8ffdecb8562503456  gdb/gnulib/import/localcharset.c
 e99e2a06448c0fcd66881aa05f28562f  gdb/gnulib/import/isnanl.c
 937fa61c33c9be1fb22929622daee850  gdb/gnulib/import/config.charset
+4352e232c043d924c4172d91189f13d4  gdb/gnulib/import/malloc.c
+d54f33ab813d8643b6d6c12b589a8e35  gdb/gnulib/import/stripslash.c
 fe91b3949044cf5587e150855697f3a9  gdb/gnulib/import/wctype.in.h
 8542c0d02795c79516e00c9c431ba8c5  gdb/gnulib/import/float.in.h
 b2f5b51c89a90c7f955fdabfe2416ed7  gdb/gnulib/import/strnlen1.h
+e5794b7c9ce8e157c436195a71827bbb  gdb/gnulib/import/basename-lgpl.c
 0ba9c6fa0f390e97de1ea85b4f6f4a32  gdb/gnulib/import/time.in.h
 b51d863702f83411c29a87f887e61ca5  gdb/gnulib/import/mbsinit.c
 b6a8de4b9483763e4d11fe1237d5473d  gdb/gnulib/import/wchar.in.h
-fd9ccea1ff544914625c3ec315c6de59  gdb/gnulib/update-gnulib.sh
-5e1c603ee2aebf72797d208351ab58c1  gdb/gnulib/configure
-048c2c0453c610dbb3066675e130a6cc  gdb/gnulib/aclocal.m4
-414c663836490c20cd11c8dd8f51923e  gdb/target-dcache.c
-daee107df573b879504cdc378c3ad9a2  gdb/alpha-mdebug-tdep.c
-68c37fc5c1d06464ec90333f333a1657  gdb/symmisc.c
-1942242ed49e18bd5e8b5f4c05b0767d  gdb/value.h
-95314841b335494c9d7663d7fa82340e  gdb/auxv.h
-c59e236228a38f90b7963d6318be02f0  gdb/solib-som.h
-9507570ff03c81cf48645d8b2b243192  gdb/vax-nat.c
-7e2616730c03776cf51b3a289782cc4b  gdb/i386-dicos-tdep.c
-eb324e5cac4b495b316bad72de02ff4f  gdb/aarch64-newlib-tdep.c
-9e2d9f890f7abd80684fb7eb8956a0e7  gdb/gdb_usleep.h
-1311459a819fc2e2ce3bb5e76580a13b  gdb/i387-tdep.c
-e4e7cd933e17039ebaa2e99b8961829b  gdb/ada-operator.def
-c2f386e005f5299acfa91cbf316d8506  gdb/i386bsd-nat.c
-a3b81e048962436042a0af16c6c5a2e0  gdb/gcore.c
-3174fed876b824891aca2de57a64ada4  gdb/hppa-linux-tdep.c
-60ae4bd890b5f723be5188cffd40a40a  gdb/p-exp.y
-5260916d130efd2c13de8874928d50e4  gdb/ia64-linux-tdep.c
-d28593834c39d1402ceee0ac6c70a7b3  gdb/amd64-tdep.h
-b5d5a9a42a0955ff4d97209a40a706bc  gdb/xstormy16-tdep.c
-9449b02fa2663afa47c8ff9297811a09  gdb/mipsnbsd-tdep.c
-3ca6d457b141fd4b6e397ee0e4308e6a  gdb/stabsread.c
-755ad89422e70d8ef01ca09f2d6e7863  gdb/MAINTAINERS
-04bf12fe2e8e657481d1618e6dd0e8fe  gdb/remote-mips.c
-5c34312b93a0214775964ce68d490f7c  gdb/terminal.h
-4541a133e8378684e70f591b83293534  gdb/mips64obsd-tdep.c
-aead3e4d893def855148445926ba98b9  gdb/filesystem.h
-ea0ac32dfffd83d8ce1ed35b6ee8973b  gdb/armbsd-tdep.c
-f03ed7b6a1059819a3671f98ed86d7fb  gdb/remote-notif.h
-9a8dc50b3b680328ece9ec81d2eb8da8  gdb/m32r-rom.c
-250394f07727c8aedf91a0df78c6ebbe  gdb/lm32-tdep.c
-d5cd7f2c64ad87647c7129417e385f1a  gdb/continuations.c
-8b38748c7a819dc81099acfc501b67a7  gdb/jv-typeprint.c
-02d03769e292a3797195cc1657e4ea05  gdb/bfin-tdep.h
-21da014c7233e55d608fd91d15a1d17c  gdb/eval.c
-85d9ff43fb8b6173ac4350a42195b5a8  gdb/ui-out.c
-6d46600c9cbd9fe4ad15775629226923  gdb/amd64-dicos-tdep.c
-f611f9bd5992dfffa50fc5f1e9e63c22  gdb/break-catch-sig.c
-e81ccdb70e9b60c70c8c39e8d6716084  gdb/std-operator.def
-cc0e5f545de4bb7f4a54083bbeae6895  gdb/m32r-tdep.h
-1ac89123e08b0518a879301b17992a0f  gdb/vaxnbsd-tdep.c
-641c012975aa0f7f4f68f8a42fc04d63  gdb/i386-darwin-nat.c
-b68024b05dbc6fed1ec4d6b57d858332  gdb/armobsd-tdep.c
-4ee4b66683c24490fff0577c0ed9b771  gdb/doublest.c
-0ae1c207688b7987f0c0501d05f20c31  gdb/objc-lang.h
-766bc6300adc8d9545e99888182d1449  gdb/mdebugread.h
-b0ec1dcfd4a1846eb57b4c792745dfa1  gdb/xcoffread.h
-354cbe95c70c88697011debe2d034fee  gdb/gnu-nat.h
-e5ffec7ff7c7edd3a3907c0034cb42e7  gdb/bfd-target.h
-cc07cdc46fb60662d16a335e23d161e5  gdb/language.c
-4996259d0a24ec98b88776ffc0c372d1  gdb/stabsread.h
-4608f0f24b0b05f806bde2bd919b1552  gdb/solib-ia64-hpux.c
-bc85d8fcdcffa1e132ce10ba3ab8c591  gdb/sparc-ravenscar-thread.c
-099059a6c64659a7dd357368f3c83de0  gdb/ser-unix.c
-f7b44fa8c7509d95ee0351e20165b25a  gdb/m32c-tdep.c
-4b68bfbf33309d56612924153ce4509e  gdb/amd64-linux-tdep.c
-4dbb4705d0815760cd6cce50ce908099  gdb/sparc-linux-tdep.c
-05d89bbdfd8c3834f5a27f421bc7445a  gdb/sparc-linux-nat.c
-2fcc50d6efadb9e6526d24b242369add  gdb/cp-abi.c
-724cf0730d632aabc976a92e72e0e9e3  gdb/frv-tdep.h
-07f775324cfc6a9bff9ea0a29670eb21  gdb/exceptions.c
-0632556e4e9f184017fb21ba04250eb9  gdb/memattr.c
-3718424f87353bc7baccac76d4c1cab5  gdb/event-top.h
-119071e1bf56fc527aab9e560aaee363  gdb/gdbarch.h
-9956cb488df0e5f6d4b4157f2ee85591  gdb/amd64bsd-nat.c
+4afc2077562f87bda203559b54de3d23  gdb/gnulib/import/malloca.valgrind
+d4bf211d2e08c58ffca443a148fdf73e  gdb/gnulib/import/dirname-lgpl.c
+96913de8673e1665bba1313b9b281b67  gdb/gnulib/update-gnulib.sh
+5575cb60b1bb602e930a59f7fb6e4320  gdb/gnulib/configure
+a057e4f64890d51f0ceb872c0065ef86  gdb/gnulib/aclocal.m4
+34c74e0c724754cacf80b23fa03da8b9  gdb/target-dcache.c
+9d709b743313939da551a1890e237d53  gdb/alpha-mdebug-tdep.c
+098806bc336c914a1646ab5f628e9fb6  gdb/symmisc.c
+847a175f0c0ea90ae7e26a8dee6b0de9  gdb/compile/compile-loc2c.c
+17ca583b65f3662faf788167f18c7f8a  gdb/compile/compile.c
+7f386726e3a7d1147912a79ef26f0107  gdb/compile/compile.h
+9e86dab14de5021921910bc306ff4f05  gdb/compile/compile-c-symbols.c
+cdc069d810af4b919cffe24cb8b462e8  gdb/compile/compile-object-run.h
+d410e3a0091a2efa2b5fa76d6ba78fd3  gdb/compile/compile-object-load.c
+354fb6bcea30ca0252a4e20ea898f3fa  gdb/compile/compile-c-support.c
+16b1d86df45df73b8f88e499eb82c5d4  gdb/compile/compile-object-run.c
+2cdbb6a9f01591a064ebabfb6814cbb6  gdb/compile/compile-internal.h
+ff817c42642e32ef226c6c7f3e0ba5d6  gdb/compile/compile-object-load.h
+fc102a96ad8edaf8880b122cf3238ceb  gdb/compile/compile-c-types.c
+62f561962b302747569f4b517351e538  gdb/value.h
+89e723ed1904dec1bb89f173dfb02d04  gdb/auxv.h
+bdd27a37dba3060b5639f2daffd31353  gdb/solib-som.h
+9e7a629e6eff16aed33cfee5a34ffc9d  gdb/i386-dicos-tdep.c
+229cd562e64a42c360edf5a3bd18384c  gdb/aarch64-newlib-tdep.c
+bad7a4d15677a1934eeb7cb074679fbc  gdb/gdb_usleep.h
+af587ca5f32e04385c8bdf5e5bb42b68  gdb/i387-tdep.c
+fc641b4ed94a6efbaae715afb43a0f50  gdb/ada-operator.def
+84b60bab21c39e1da6b11b8c5efd7c03  gdb/i386bsd-nat.c
+874fb4b5e27523ca923c89fc2e64ce07  gdb/gcore.c
+12b85718d851e92e617e853d3e1629c9  gdb/hppa-linux-tdep.c
+2eaabe0aec5bddcad6f1231f8a491cb1  gdb/p-exp.y
+55619fc4f6d13b5c27a5cb00171a6ef6  gdb/ia64-linux-tdep.c
+66d2bc33649d32b212411534cd54a24e  gdb/amd64-tdep.h
+7314bbf0c39fabbc0a90672629284a23  gdb/xstormy16-tdep.c
+1231aa708c9d55d8827fda59e4e3f429  gdb/mipsnbsd-tdep.c
+27bc3e3eb07ce518067c21dbfba616ca  gdb/stabsread.c
+6d50eed7e8226ea7969aab7350927ebe  gdb/MAINTAINERS
+a5e2898fbf48692432b49731fba75ee4  gdb/remote-mips.c
+88285de0a74d09a354e4c7c47df67eec  gdb/terminal.h
+46bd067f6f851062484149eebabdf4b1  gdb/mips64obsd-tdep.c
+2e5fff8b334a7cad7ce8bb9c7ea12791  gdb/filesystem.h
+f93423c136781aa892bedf09e8775d4a  gdb/armbsd-tdep.c
+302a12d6b826881836655517c2ecf8f2  gdb/remote-notif.h
+ba27fd16009b7ebda38b515f8fecae80  gdb/m32r-rom.c
+f34edbe85fc59a2124c5d67adf01558f  gdb/lm32-tdep.c
+da8368405de752b13619c4c68dfb014f  gdb/continuations.c
+54e6fc9241d390a57d849bfdb926d322  gdb/jv-typeprint.c
+ec56c25e69bc4e7f738d3d4b9a2f9362  gdb/bfin-tdep.h
+0313da8d6df458c76efeb79891d09717  gdb/eval.c
+925fee6a3fa8c530a94989508ef6cc74  gdb/ui-out.c
+97b392a774a2c1ca9a70036199ca5a00  gdb/amd64-dicos-tdep.c
+96a23116f5cf0ede8bd634a02911d31d  gdb/break-catch-sig.c
+8ccbf0b61a195af1fd399a71258294a3  gdb/std-operator.def
+0d53713f2fc4aad9f2c4129e126f4d7f  gdb/m32r-tdep.h
+6babde189dabfb6420783e1af3a86583  gdb/vaxnbsd-tdep.c
+320355cf54e05f78840c5f196570c57a  gdb/i386-darwin-nat.c
+33ce1f40ac7c85e8115a84dafd58f426  gdb/armobsd-tdep.c
+a9c07b73a5bf4160cab498ee1a6d3aa5  gdb/doublest.c
+045a8c719318e6cd83d37597d86efc79  gdb/objc-lang.h
+616bc409872d5948b49b9c0a288c304c  gdb/mdebugread.h
+1fb37c5a9f492f68d2b2cfbec9671a9c  gdb/xcoffread.h
+ace609197c76653a723adeceea4135dd  gdb/gnu-nat.h
+9ae3d63908f7d5735cc7cc95715d9447  gdb/bfd-target.h
+1fbb2f83c538284ee0fc856ccae0cfb2  gdb/language.c
+2d143251859c9027e74892cb15c0cdb2  gdb/stabsread.h
+f60de615747491830d364aa4a9fb3843  gdb/solib-ia64-hpux.c
+fbacc60312731a58953216832542e4e7  gdb/sparc-ravenscar-thread.c
+500ec1456a4e7d65dd002109e1abd57b  gdb/ser-unix.c
+387ba81ef81d0fd1fc5601c1878d3a0a  gdb/m32c-tdep.c
+6c9cbf9e089dc2783ff72ea88c3a0a08  gdb/amd64-linux-tdep.c
+92fa1bfdbb06d696b77c5fd6cccf2cfa  gdb/sparc-linux-tdep.c
+01280dda740a27217fb2bcca2c237ae2  gdb/sparc-linux-nat.c
+b808f58dd950b058b5f118911fe2280a  gdb/cp-abi.c
+d93f9006027d77966946fdf8c892106c  gdb/frv-tdep.h
+98dd49a000a08466a7ade390db24af5d  gdb/exceptions.c
+711823c14e63976a9f4f339806aac7b4  gdb/i386-linux-nat.h
+492957f7b6ad658afe36abd8739d1f8d  gdb/memattr.c
+85a005cf811c96533cb081112507b197  gdb/event-top.h
+9af2ef529e2a800991f97780278e6c4a  gdb/gdbarch.h
+4acbbb5530b59f87d6c699f9f6f2d3f6  gdb/amd64bsd-nat.c
 9198f7b1807c968098814aa2a3901aee  gdb/gdb.gdb
-936bbd038decc2e43174b0bdbaef7b9d  gdb/shnbsd-tdep.c
-903242da9131e5bab38146aab050c57d  gdb/ia64-hpux-tdep.h
-e4e19c19f20d441737a53e7bde1b13ed  gdb/gdbcmd.h
-b6991e35bbc56f0fa600cdad20beac1a  gdb/.dir-locals.el
-6d359264e4a5dbca67d89ca2b61019e0  gdb/sh64-tdep.h
-d008abc0c86103857ec7aac9921d42ee  gdb/sparc64nbsd-nat.c
-ed30001dd8417aee5fd161f73a0f4240  gdb/complaints.h
-b22ccf843c8e86912119c6a67cd81174  gdb/msp430-tdep.c
-60b76ef8c53fd5cf1dc82fb5b060ab91  gdb/m2-typeprint.c
-c4adccc2fe2356df499257de8e6d8b4f  gdb/ax-gdb.h
-515dc268ec9b070b06e5f5e998c85750  gdb/solib-spu.h
-7659834858e08f7cbfd9be267f1825ec  gdb/bsd-kvm.c
-50be68afff2122542e3fd3ff2f7249c2  gdb/amd64nbsd-nat.c
-9d553ea3d9b91ff8c44986b11314d7b8  gdb/disasm.h
-f2c6003743854ae1bb37d2e25ad1b07c  gdb/i386-linux-nat.c
-f407187879a6cc40877c4b38ee717349  include/safe-ctype.h
+9bcb9f91853068b6c4d1c78dd7aa1610  gdb/shnbsd-tdep.c
+d91bdf5f954032fd8cc2f4b14bb1b861  gdb/ia64-hpux-tdep.h
+79629bdadd40aeb28482c18f058635f3  gdb/gdbcmd.h
+7570b8727bd102b755e45cd0ee56c4e5  gdb/.dir-locals.el
+2e871c98bffeeb9458f745edaae91f02  gdb/sh64-tdep.h
+c4595385bcfeeced721028f068ad4563  gdb/sparc64nbsd-nat.c
+e33f72888b1203f5510981d9d9de98fb  gdb/complaints.h
+97705cb744088be674d1ceeb08e5815e  gdb/msp430-tdep.c
+5c60dce51446c489b31b0ad9c6adafd3  gdb/m2-typeprint.c
+7ccece924979fc92c257f5c41dfb5477  gdb/ax-gdb.h
+18ec5a7677efb2efe43f11e78a9da8ac  gdb/solib-spu.h
+5319675d13c2a7ac1858b25a5262b81f  gdb/bsd-kvm.c
+1178ee2d7aeae66c23553c003408b1b8  gdb/amd64nbsd-nat.c
+5bdbc230df33cbc4746801a5e1e3de14  gdb/disasm.h
+f44ef2a4d0711c2c21e186946bb9a935  gdb/i386-linux-nat.c
+787654ed0044603623d7e4ae441d8ac8  include/safe-ctype.h
 53bdfdb5cd3c0c7831611602041cda52  include/xregex.h
-c1e83198b4f9abdd91d3dc394cd82e26  include/objalloc.h
-6c6eb98ce935604d74584277cc2959dd  include/alloca-conf.h
-6cd2afc8e147c2eed4404d0845dfa47a  include/fibheap.h
-c2d8ea6a0bcacf3a3d5128a916291424  include/simple-object.h
-06b54139c28e2da4d06ddf1c5653a157  include/os9k.h
-7e968442c6c0231dfe2def312758e765  include/dyn-string.h
-e34d525d7faceda0dd5cb3eae49c1548  include/timeval-utils.h
+27cb19b414f3aadff4ed5391b5451f4a  include/objalloc.h
+c9b610f5f465033a0daebd202b51089a  include/alloca-conf.h
+18ec8c3c85b49f980d644a2eb286b168  include/fibheap.h
+8e01307fee981d7280cec0201edbb206  include/simple-object.h
+2a3b5cb3055a6c2a87968ac464d726cf  include/os9k.h
+260ec9175858a15f3761944b9bd02800  include/dyn-string.h
+1b93960ad79e63f6eace5edf5e6312b7  include/timeval-utils.h
 41879305404d3b06773b10ab3fa44539  include/ChangeLog-9103
-7af002fa382351c8d93433a57f8468b0  include/fopen-same.h
-476370ccdf72d8d25a784987e839c970  include/dwarf2.def
-dfcbccd68b87c085ca3c8d6e23d8fd69  include/fopen-vms.h
-5367ed7decc4fd4883a6f5d51c57bf17  include/mach-o/arm.h
-76d630838846604a9a947e5ac6cb4cfc  include/mach-o/reloc.h
-5c4bc06f3beed2dfd0bcb5c84b3735c2  include/mach-o/loader.h
-869e16198afa2c8c3247f5e23651271d  include/mach-o/codesign.h
-ef6c1735d81a1179474e911d8206fe95  include/mach-o/ChangeLog
-24871f269424e0e3f160bfcb861f33e2  include/mach-o/unwind.h
-dd2b663280d2a1eec5c2dbfc5885a0e0  include/mach-o/x86-64.h
-9f9141fec464652432b0939e53e106f9  include/mach-o/external.h
-398fdcbb0c95dc90e2898e20960804f9  include/dwarf2.h
-af6c0a9a9faae2711d2f7e41ddd33f80  include/oasys.h
-897d343cb7f199343209507461f665ad  include/libiberty.h
-20f67b536f003da196c4e0e36c829fcf  include/ansidecl.h
-1b28e076f246dfcdb69bc15016f7bc67  include/longlong.h
-f648a66ed08e079e26a24c4346a3ba03  include/xtensa-config.h
-1bdb3280458a33d1dd36890985f3fcd0  include/hp-symtab.h
-10e23103d2593b561ae5dfff6e0b31b1  include/coff/sh.h
-506cfd365da2f6fa0d9f996a62570352  include/coff/w65.h
-5906b7190447ecdaf6044585c0017b5e  include/coff/tic4x.h
+a394edc3de6f4e63edf6b8307f45fe2f  include/fopen-same.h
+c37c78ab3ca24491b7328ec37c2c4cab  include/dwarf2.def
+c88424f5228f297b83da800665290cb6  include/fopen-vms.h
+d0a85cf678927c0a525815fb1b0af632  include/mach-o/arm.h
+21cb0dfbc06bac4ad297054ea8a307f9  include/mach-o/reloc.h
+dc1a5b5ac7a0d57beb0c97450461d860  include/mach-o/loader.h
+4f69bff1d0d007bc7fb8b64d4f340247  include/mach-o/codesign.h
+4d3d14351d5952e04bcb99c91b6bb1e3  include/mach-o/ChangeLog
+affdfcd92bab65bf12f21ee4468fbeb6  include/mach-o/unwind.h
+1cb99770cdab0ea7511b0b278905284d  include/mach-o/x86-64.h
+3f42f606172218e3289ae9b6d408cf10  include/mach-o/external.h
+ea132c5d5005c5f73434acf19dd51cca  include/dwarf2.h
+e1ea1a669a924a0d05a7f118bd5b4f71  include/oasys.h
+621422fcff9fe7e7ad2211df6b794e13  include/libiberty.h
+f94077edae0f80bc193e126a678b4c07  include/ansidecl.h
+462e78bc7446a3644efa006b322e0cc8  include/longlong.h
+8823a2b4676fef221902b03ddffff179  include/xtensa-config.h
+075a56ea91f7d707855b5168f8e2865d  include/hp-symtab.h
+1f04b6bed064793d118e0c2d4ec3d897  include/coff/sh.h
+b82f0916cb80de602f7c947b25850b4d  include/coff/w65.h
+6cfed313ffebab5009a38f0ddff8830c  include/coff/tic4x.h
 49952fda1e759e5aa659f8f78d7e0ba0  include/coff/sym.h
-9c96ca09b8aae508176dc4cb947e30d3  include/coff/arm.h
-41230e8a4ce5f1109aa4acd435283584  include/coff/aux-coff.h
-c996a6d4a5f3b13178089f5efd155586  include/coff/internal.h
+ceac5570fce2c8c2e20056b30d39364e  include/coff/arm.h
+fdca40bdfd1cddf720bbbfcb6e76dc40  include/coff/aux-coff.h
+1b49e2334558f6070a8c7b764c643629  include/coff/internal.h
 593962175d4ca4386cbbb87fb4fe5e09  include/coff/ChangeLog-9103
-661f87a28d7234f2cfebc416efe53507  include/coff/alpha.h
-649c751ef829d85885bca0aae583de50  include/coff/powerpc.h
-8db0f0ac8dc22b9db337227e66ac5171  include/coff/ecoff.h
-8c3f16c255406819457b480c30813aca  include/coff/ia64.h
-cfa87e7dfe7def475775c96d96b7282a  include/coff/rs6000.h
-52fb7a5288e33db3a7a9c9a971cb0c9c  include/coff/m68k.h
-5a710ee8c4589e35ba9b2fe163b3a581  include/coff/h8500.h
-d080030ccc927b07e61e29300e5bb48c  include/coff/x86_64.h
-57f722530e46fab2c59fbfde20b98a8a  include/coff/z8k.h
-ab9fe33057d5cfadbf33fb932638e37a  include/coff/i860.h
-182422410d8aeaeb5c6090f94ecce765  include/coff/apollo.h
-8ce39dcd1453bca162b38b75710b27d4  include/coff/ti.h
-e8bc26aa8bb787d19c85e6a39389100e  include/coff/pe.h
-f72cfc88bededb35c275567b3051a285  include/coff/tic30.h
-77c49725472154c701caa9b279b45400  include/coff/mips.h
-9f78eb7cfbe8eed0a061a92b2ea11119  include/coff/we32k.h
-0ae52d22b22d8cbfe7930459a709ca07  include/coff/z80.h
+03a82a03bc1a7670093195b9f5a31eb0  include/coff/alpha.h
+b03224bd5b3bc23c7371d9edacb94630  include/coff/powerpc.h
+7b7c81e0fa5fc5fc5fabe9a5028c47b1  include/coff/ecoff.h
+961285573d83fe8cc7baa0ba27b608eb  include/coff/ia64.h
+e4eb95a0ec6c86e3fd163732581c7907  include/coff/rs6000.h
+32da8acf9aeea3bbaf77d76ba731c208  include/coff/m68k.h
+16c58088be6c74b6ec97593cf7e1ba7a  include/coff/h8500.h
+0f69dae3f1830489c73a9f2f3b6738c0  include/coff/x86_64.h
+f617c063f0cb325f3a612ae7a31736c5  include/coff/z8k.h
+bbbb4f99bb2370d1775b870f883824d9  include/coff/i860.h
+be64c1b7d6a9253de5de477b0a82729f  include/coff/apollo.h
+8237fd22102bf16dd3a88a69b5af834e  include/coff/ti.h
+65bef7bddad3f3f5e6c1567d6fb056c1  include/coff/pe.h
+f6e3275d3130df765531e1b1f6463e17  include/coff/tic30.h
+d8aa5948e156c7580b31105b5f7d6730  include/coff/mips.h
+ed0de68be75d00311ab3b04a6966ae3b  include/coff/we32k.h
+933ab97cd509b545d810a5bda0604e97  include/coff/z80.h
 9548a06f2a9fb6be7f272df74ead65b7  include/coff/symconst.h
-ea10e1fa4957c0b19772042f4111b495  include/coff/ChangeLog
-9e2bdf541af4d01dd888334605fe556a  include/coff/i960.h
-940750579f00153b25040eff4cf511e8  include/coff/tic54x.h
-102323a916698629a049234517d4976e  include/coff/tic80.h
-942063c75985cf8e56c4dcf9266be759  include/coff/m88k.h
-c4f226e8b87112161cc68a4521f0c1dd  include/coff/mcore.h
-1b864afb28217e7eab569f8c2112c421  include/coff/sparc.h
-7de6f49a1528490eabdc6d2e6be1b55c  include/coff/rs6k64.h
-c1dba0d5c276652db4c9d2cf65d68223  include/coff/h8300.h
-5bf2d9286e383497b6be354f62f1043e  include/coff/go32exe.h
-d470afebdd421dbb7977c031b6a33a70  include/coff/xcoff.h
-1e028cdeb31c0d4fc79afb44dc6e4e47  include/coff/mipspe.h
-4ad07e585987ed45a72c08603865af79  include/coff/i386.h
-21e7e172c794aa231a2a7e3a98cab0e6  include/coff/external.h
-6cad3a66ba69951b53905a78dddad633  include/sha1.h
-ffc879400e93c3be7e8727262ff65700  include/sort.h
-c1eefb9b22d25fe3a7805fec70f57ecb  include/fopen-bin.h
-f37c73fd8b85558dcfb68bd6d67f82e0  include/leb128.h
-3beb3405c12ffa40e3426fa676bd9141  include/opcode/hppa.h
-e21d56fba62ba2d40d09e7ea243519b6  include/opcode/mmix.h
-d8d9a8d128ac8251a28b2f2dc3184fce  include/opcode/cris.h
-84084a8d960fdba932348d2238c2aa91  include/opcode/tic4x.h
-9f667ac7039e647ae0b8b11b442274fc  include/opcode/tic6x-control-registers.h
-4640359708e76202103ceacbc7b8e455  include/opcode/tic6x.h
-eee638a1f82621b4f9944bc1b67762f3  include/opcode/arm.h
-8e1d69957b0d3171ee4490a6e0332a34  include/opcode/bfin.h
-f2416dbe4b85c5d17c457d7613394ea6  include/opcode/nios2.h
-00f246df736b4f0b5949cde5bc4158bc  include/opcode/tilegx.h
+4d7646c4b5475559014c76936e6fdeba  include/coff/ChangeLog
+2badc0655a7cdb70ee7225e942c3048f  include/coff/i960.h
+94d1cfd185d86d373ac0f51c2a01a99f  include/coff/tic54x.h
+32a6c09545562bb4a3a57132b7c3bf7d  include/coff/tic80.h
+50ece80b7e36d4cd4472bb4ada869934  include/coff/m88k.h
+5db98ac0130fd52d84898a6a3a12f8c0  include/coff/mcore.h
+1b2e976f15ac66dd795b5eee983ca5a9  include/coff/sparc.h
+b6676bfaec2991b677577632789f24a0  include/coff/rs6k64.h
+fca5d0174bd0464865c7784bb381c967  include/coff/h8300.h
+f10907984d42779ce46997b4dda56413  include/coff/go32exe.h
+8ba296612aff45ec9fd6e07345b66961  include/coff/xcoff.h
+fbd837fd2d5b3854ea18113cceb89f05  include/coff/mipspe.h
+28d58770d2ab5b767c45e4bdc315ee8f  include/coff/i386.h
+321f9174e120d144fb269dbfd510d873  include/coff/external.h
+fe2ca6b24159790e0b916cba236662a9  include/sha1.h
+d7baa71f3ec00fadd68c28b8543e8f44  include/sort.h
+e174c3654389af2001c34f08f49521f1  include/fopen-bin.h
+9d1ee8ac8f06e76603220807400bbe1e  include/gcc-c-interface.h
+d0a89a4184dd4bcd7d7b451c0c753731  include/leb128.h
+df53b2be96b2fa5d0c4f440889825839  include/opcode/hppa.h
+b4f74317368f320b3fe565ee428f1316  include/opcode/mmix.h
+da1071b3ccc95fcb83f7a2422b0257e4  include/opcode/cris.h
+a562ed059c07b98d403a7b4d1da33002  include/opcode/tic4x.h
+d972efeba032bd99eeedd094cfbd7f46  include/opcode/tic6x-control-registers.h
+57e46219c23e20dff67d4ee09fff9445  include/opcode/tic6x.h
+9a4e9b9f2bd9d15988421722204c9e5c  include/opcode/arm.h
+8df0b26c7bfb547a53d99d1f6655106c  include/opcode/bfin.h
+5e8d63b2f86b309c07390ca19165e2fd  include/opcode/nios2.h
+c6f48ab9c40c58c2c9ba0b0fab67e0f2  include/opcode/tilegx.h
 a342d85fea1e2696d1608befe2530137  include/opcode/ChangeLog-9103
-88a349efa8d6ec2af07e3e52d80c576a  include/opcode/rx.h
-0232bb2d8936ae6f43a13e7dd17ecf89  include/opcode/score-inst.h
-4660ea464aeb46df976c02d26f76936a  include/opcode/i370.h
-ef4e30dc2d0fa1c61664b7e2e69c23c6  include/opcode/tic6x-insn-formats.h
-a16b2bc08d293995ae02c5f1c7bfac79  include/opcode/alpha.h
-f9913384eed579cc77966d9cdbdeace0  include/opcode/msp430.h
-0b13e4dc6a36accba9e15abb5deb9873  include/opcode/vax.h
-3489144aa3279ae0d12870ff2679e3bf  include/opcode/d30v.h
-89fc105f890599824d9ddf80c3d39b39  include/opcode/mn10200.h
-fad54b95631e398b74a6720fa93d5ea9  include/opcode/xgate.h
-d382d6229836cd1b8cc088e2394619e4  include/opcode/ia64.h
-8b5cbcd4d7f096220252dd1e20261a51  include/opcode/mn10300.h
-9dba49315da0998549d75e3f21de2e59  include/opcode/m68k.h
-c7b48e43dfd994205d5a3d67ab43458b  include/opcode/pyr.h
-7a5be3cc637daedfeeaeed037e212eda  include/opcode/i860.h
-f02b2f6096368d1a785dfd05a61fc9f5  include/opcode/arc.h
-de3d5ecd18e34d7c1760176e8959aa95  include/opcode/tic30.h
-6f80df3758c245008fe42202792b013a  include/opcode/cr16.h
-1a02e44937cb4f2381a21fa05b651897  include/opcode/mips.h
-48e504e7740faf017ad78922ff3c6ba1  include/opcode/np1.h
-cdc81abd3d930af23480e53dda808bde  include/opcode/aarch64.h
-79dad4ae548887133d5438cfae27f865  include/opcode/pn.h
-76a0dad9e7733be9556d2aa3cede9c79  include/opcode/ppc.h
-a22950156bc0354fa759077b83a96ad7  include/opcode/s390.h
-682b3c7e174e0ea4183c0f67a702e2ac  include/opcode/pdp11.h
-2d9441801940d6cc5c32874eae75f603  include/opcode/avr.h
-e9c93f2ed8330bd7a09d1fd5cde73e1d  include/opcode/spu.h
-ac9e03be3e8902d61462b085799ac3e7  include/opcode/score-datadep.h
-385f6bed52fa8ae2e9a493b5e3fffc57  include/opcode/crx.h
-934bea97f35f0bd29ff7172541842c4a  include/opcode/tic6x-opcode-table.h
-0185d7cd9c211e71562abbe0fa0a242e  include/opcode/ChangeLog
-891b9a8d0ce29bb616844863603fe24d  include/opcode/moxie.h
-aee6555e066bdf014574b58c9e75fd17  include/opcode/dlx.h
-dd61e8e8a1ceb44bf0370bb7f9ed5292  include/opcode/tilepro.h
-8d929614d9974ad307b5468b85f722bd  include/opcode/rl78.h
-80cbbb0f974efd3773723855d2d9c73b  include/opcode/tahoe.h
-2badf1fc2de214da0bf6f38960b31965  include/opcode/cgen.h
-374b0e707e762897df9801dfc905022f  include/opcode/i960.h
-de90a4461843c24f4d86529f0e0d3553  include/opcode/tic54x.h
-22bef2bf0b893defee21d4f38cd703bb  include/opcode/m68hc11.h
-c0d1eb0b0a78480574f1d99526cb1ed2  include/opcode/tic80.h
-8f395b3a28522f07e1007d1245938a16  include/opcode/m88k.h
-d4f8e99a75fde8e4d4f14385d6e715b6  include/opcode/spu-insns.h
-3bb5eb0a049565608eddb329586b1c62  include/opcode/nds32.h
-b8f73b0e593561679a5e300b7cca04ef  include/opcode/sparc.h
-11f6d4ad527dadd64e8301dbdc411e11  include/opcode/ns32k.h
-b81410f656ef9c7e9b377067a98156f9  include/opcode/h8300.h
-6c2893a091a8f7d95b5d13fe149a6cb0  include/opcode/pj.h
-3d292f33180727d6f6e010196de508a1  include/opcode/d10v.h
-3e0f1d91f7103d265c35e1c2a60b9dad  include/opcode/v850.h
-9ef019db254a13ee7c88da7518ef6832  include/opcode/convex.h
-0e82da4121d36db793f259063777eabb  include/opcode/msp430-decode.h
-f688b81da5b107bcf4f51f6e1f4782ed  include/opcode/i386.h
-e4c999f804982567c4dee218f7b778ac  include/opcode/metag.h
+1d13ead33c0f318edec6cbb330342630  include/opcode/rx.h
+d121aacefab60c896aee48299a100c7f  include/opcode/score-inst.h
+c17f5483f7f2964d4ab3ddf2268c92bf  include/opcode/i370.h
+5616dc78a453a05d5e247292430df02c  include/opcode/tic6x-insn-formats.h
+0b63fccd619c5c98e739f2d8ade7dadf  include/opcode/alpha.h
+522b96a06ebb42930a020ef8e3b3bd00  include/opcode/msp430.h
+8dbb6649ad1548bf3bad946e047c8b79  include/opcode/vax.h
+648559e29e70d7022940c6b8580641fe  include/opcode/d30v.h
+f3612e16f19716ae51382fc11cec9bad  include/opcode/mn10200.h
+0faf19935703ee4c3962210e32817c9b  include/opcode/xgate.h
+a637c9a43140ec6234dabd6865df3099  include/opcode/ia64.h
+f8627d540006092ca74881a2a63edc9b  include/opcode/mn10300.h
+81a2470c7a16501f511515b62522ef69  include/opcode/m68k.h
+10d13d334f2202ccaf6d0ed5671ab08a  include/opcode/pyr.h
+72d460c7441b1bea97d732ef9f46752a  include/opcode/i860.h
+6e7da29db1bb32c353fcd8e2da1b30e1  include/opcode/arc.h
+a7340eeb78e53f0c0794145e6eee1314  include/opcode/tic30.h
+1478cfdd9063a61a8fb2569cc1f5765a  include/opcode/cr16.h
+397f728c170ef598bdeb8dfc75aab6f6  include/opcode/mips.h
+968deaaea04ca781dd0c30e274d9e4e7  include/opcode/np1.h
+29a45b7e3d01e8d64319c44e45a6c08a  include/opcode/aarch64.h
+c7b41a8f2e623daab2a753b225055a40  include/opcode/pn.h
+197a47e59231f6e3b5ee98b3a31b4b0a  include/opcode/ppc.h
+4d2be22bb3e4b2e2a5adadd21dff8c4c  include/opcode/s390.h
+51851d4739086d8eda5d25fc9b083686  include/opcode/pdp11.h
+2891f7be0848f0fbfc65a48d7097cb3d  include/opcode/avr.h
+09ce24691a8b932b73db0a0314e83de8  include/opcode/spu.h
+81bbad63b02bf7339d19d2d01d9893a6  include/opcode/score-datadep.h
+06d6317eaf0d512eb27421b75de37279  include/opcode/crx.h
+5577df272d6fb007b6d8531263f3e7ac  include/opcode/tic6x-opcode-table.h
+51d2ce2d614b7f35ad34d0a866266c7e  include/opcode/ChangeLog
+cc8a71b96ec5a190ef975067a166aa11  include/opcode/moxie.h
+828b891d640050565eb215499562d70f  include/opcode/dlx.h
+a8dbc3aa01e7ef22f68b78c12bff0bc5  include/opcode/tilepro.h
+ef911cee8c11223c9db9beb5923087ad  include/opcode/rl78.h
+00a41d2467f05488241d44c232f89983  include/opcode/tahoe.h
+8ee6318cf84fc710f2ab9b6343ee685f  include/opcode/cgen.h
+f953c6a9e4f9ac04c7eeec81204aafff  include/opcode/i960.h
+bdb0bf1bf2b9c2390862986f08143cc5  include/opcode/visium.h
+8c334850471fe8f792c1c95686c9e14f  include/opcode/tic54x.h
+2a7d044277917ee8e7ea4e95b98927aa  include/opcode/nios2r1.h
+f523e20ec7108a820400f5d6072eaffb  include/opcode/m68hc11.h
+871b03dab4872f7e868bc87741102dea  include/opcode/tic80.h
+23f9e57309b830d61fcb8220c6ea44bb  include/opcode/m88k.h
+a344f4a3771ac73b97045841fb043076  include/opcode/spu-insns.h
+d703e498ba1d35e8bc1d1448c4976b4c  include/opcode/nds32.h
+3322a061c5f717076e692b2df04f5f0b  include/opcode/sparc.h
+d3f1aafb707d52691ca1d1e96e6e5a44  include/opcode/ns32k.h
+9f5d77df6496f101fd49ece2c5366153  include/opcode/h8300.h
+7af716cbd697db4373894309eafa24fc  include/opcode/pj.h
+b0a4f1fdb6aa1dcd6ff4ab1c810f0361  include/opcode/d10v.h
+7b7f7ac6fe2729feb44b4f5920af4159  include/opcode/v850.h
+0274d0e49b554d8bc8b727f6cf66d551  include/opcode/convex.h
+429e529d4b165a012a62c6776d2c8b26  include/opcode/msp430-decode.h
+fd00a08470ecebdcb90475682fb09a0f  include/opcode/i386.h
+4119388e10b024f0cd7b9b7cdf14a8f2  include/opcode/metag.h
 d32239bcb673463ab874e80d47fae504  include/COPYING3
-07215879f1434785cc32e1f40d17b369  include/plugin-api.h
-fac5767e190c744ae8a888c57705053c  include/progress.h
-7d6baaede380aa3344526a4bbf8a294f  include/fnmatch.h
-ac3cd3ff30986db276cbeafdb203e07a  include/binary-io.h
-79beaade3e54542e29cedc36ae825128  include/md5.h
-2df953364d736c4cc07d3f3b0ff63714  include/getopt.h
-741cac90249849bb61230ecd5fb777de  include/lto-symtab.h
-2a15aad0e287a3d4db02530f9cfb3024  include/floatformat.h
-fd2c46f6ba7290d4635a5e48060b7ca1  include/vms/esgps.h
-bc38791d4d2503bfa9fdd1aec8344455  include/vms/shl.h
-058e1b27028ae9b047d1e9cf775d92b0  include/vms/lbr.h
-ad6484d46777b6dcc18fb255a6f73555  include/vms/eicp.h
-12e8d77803d3f6400ff2c742e3ac7cca  include/vms/eisd.h
-95c7aa7b69c31a65dabe13af0b6ea8a7  include/vms/internal.h
-8456119327bc50ed5ee18ae194b33631  include/vms/egsd.h
-f47705cddb38b72a40454cc30a8fe3f1  include/vms/eihs.h
-de3cb1b36d44fe32b220d6335100b548  include/vms/emh.h
-f0707d277379ed248948322c6c009e50  include/vms/eiha.h
-f1f50e9c47216f2f784fa97e3f5c5f03  include/vms/eihi.h
-a47f2115588743848119c838053d6a2d  include/vms/dmt.h
-08bdf12d77ac4d7b0940ad79815bd3fd  include/vms/esdfv.h
-5d264a6f9aacb92f8a4a19bcc7df7de1  include/vms/dcx.h
-b80250a6fd74c5216de368ad75f09b82  include/vms/eihd.h
-fdb30f94b25b9ad27795d580ecbd3280  include/vms/egps.h
-7e8dcb10dce3df2bdac2c5f58ff26238  include/vms/egst.h
-832aa9ccb6589767ec249986255a1d50  include/vms/esdf.h
-789f722e384d34536f53f653f3f1cfbe  include/vms/egsy.h
-77c2e8c315d19e729220da9b9f7ead5e  include/vms/esdfm.h
-222838c79fc1e58e3b96f5fe8da724d2  include/vms/eidc.h
-1b697f5d844f01615e973e6fdb3bda09  include/vms/ChangeLog
-c1cef1b263c03155386b1aff8a3b2e28  include/vms/esrf.h
-ca45769d38fa291993913431dfea8201  include/vms/dst.h
-bc92d3f6bb8566b708f17447709f0e9d  include/vms/eihvn.h
-d47baee472fb56b47431916064fda23c  include/vms/eiaf.h
-d75ee75359223f53bde88078b6ff0c7a  include/vms/dsc.h
-5b94047ab7490a04b549a94efd8143b1  include/vms/eobjrec.h
-c195f9a550cd071b09700df114793766  include/vms/etir.h
-64c82c8b2109a536361149d44d713879  include/vms/prt.h
-4d711ba220a46c1eb5bb85da816c2088  include/vms/eeom.h
-b212dcdaf1121bd8a14b03ebb2ce5ce1  include/partition.h
-44c7ff060ba30ebe0900b63c327d30b1  include/obstack.h
-9695b4c597661026427da35a29066556  include/gdb/sim-frv.h
-ee23586347a9b85ebd1e44eeba9d1c5e  include/gdb/sim-lm32.h
-808e6ad4e40ca501e013115ba260ef9f  include/gdb/sim-bfin.h
-e4811c6035170fc8cc0870fb8cc9d3db  include/gdb/signals.h
-a3318c9bdfd064ac36a405d1b7a8bd64  include/gdb/sim-rl78.h
-5406615cb51f87a05983782f61c56e4d  include/gdb/sim-m32c.h
-9f8d31704f3dd38a8525fe5ffdbc6778  include/gdb/sim-ppc.h
-061c291036538fe7e5a43cc20c357acd  include/gdb/gdb-index.h
-9325e99776670ef7f4dadccebfea8def  include/gdb/remote-sim.h
-f0dc7b53f8864c43f5d5aff593bf555d  include/gdb/fileio.h
-d2a1aa69e097a1ffe0d187dc8abb0eae  include/gdb/section-scripts.h
-4b38cef066a0983e54ef3689d478696a  include/gdb/sim-d10v.h
-6da0e4caccd031068c5f49c21db70872  include/gdb/sim-rx.h
-ed674728457576670fddf74b47463b38  include/gdb/sim-cr16.h
-4fe46d3edfabef2df6b8bde5ccfdd0d6  include/gdb/sim-h8300.h
-86182334815c6673a5f6e431208e7b74  include/gdb/ChangeLog
-822e4a16e6ebbfe58f61beb4b3230849  include/gdb/sim-arm.h
-99954a998eec74738f6a746b9d2357c2  include/gdb/signals.def
-329ccb6866f855b238836ef5699dfe8c  include/gdb/sim-sh.h
-3f02fc9b2901bc3a3c740cc2a136c664  include/gdb/callback.h
-1b795187ed24f010d38344229c00262b  include/ieee.h
-b14b5907a8d21fe886487feead7161c8  include/hashtab.h
-6effa3e13721de395a0c874be2bdae30  include/ChangeLog
-5a03c081a4bd45612d211831e4aaa9aa  include/dis-asm.h
-82be368bc0fe671e7bf9500e95743ca5  include/splay-tree.h
-619af9e2694488ca6f9a13d29b206d8d  include/filenames.h
-4b6357d1d36b0981d1f437ab787cfa51  include/symcat.h
+d8b380fdc7de379d3547308cb0ad7e94  include/plugin-api.h
+6e94fc335530436fe4664b7a7dfb6ba5  include/progress.h
+38459f0d71148542864e1ea1d2533ae8  include/fnmatch.h
+b7cd6dd199b46f3acca80fdf62fd2370  include/binary-io.h
+70aba0539e234b1c9a13d74bd9703460  include/md5.h
+457ed76a4805b7149b9a8c8fbf506913  include/getopt.h
+89371afe9a4e54216690e351d7dd1f0d  include/lto-symtab.h
+de4ae7b4ac01f8258031b4ae08993138  include/floatformat.h
+0e7682414e71811b2c1ece450ee1168e  include/vms/esgps.h
+730760b5b050dafd964d0da18a4d1a23  include/vms/shl.h
+6e019e1e99eb7a1509e504f5add5f580  include/vms/lbr.h
+b1c1478c8c21d0f697f301480bf5477d  include/vms/eicp.h
+c83d2feec44d31ffd423cd1e0d551f6b  include/vms/eisd.h
+64b2f6606c538fe49097b695ea4e1f57  include/vms/internal.h
+d53c37530b48a889079d8ea895b1d743  include/vms/egsd.h
+c0755d73f2f9eb528ead8b4e660cb464  include/vms/eihs.h
+e71c017f89c4bcc445bbb440fd302645  include/vms/emh.h
+d148ae977e3dd87a0832ed6da0057ed1  include/vms/eiha.h
+c0dfed607353a5df5e872736f02cccfb  include/vms/eihi.h
+b79bad647d29371b779282d948388415  include/vms/dmt.h
+df080ca2b5a1d71703f31284396e79bf  include/vms/esdfv.h
+c326e7273856f22b06a82a5d681b2ac4  include/vms/dcx.h
+078cced6fa026226b8e66d056f4de85a  include/vms/eihd.h
+0835813855d6b7c2ba4b29db12131b59  include/vms/egps.h
+cc8d4690942453de247b9a0937585a5e  include/vms/egst.h
+89e947afb917e009392aadf98d06768d  include/vms/esdf.h
+af0a6fa24f6b848bfc8cfcde55ecafc1  include/vms/egsy.h
+8f3d3439b00ea4c7af66c3a01af15505  include/vms/esdfm.h
+e636a30852b66c39f4438ab0629235b6  include/vms/eidc.h
+04bd9ef53b8b98edaa12b87afb82ea5a  include/vms/ChangeLog
+7ed7dbabb8b52f5ee841dc03aa24548f  include/vms/esrf.h
+14a503401079f2d739046c945daa1834  include/vms/dst.h
+2cc86edffb42d437b3c288d6a23b6058  include/vms/eihvn.h
+c06d42e551fa19b265204a1dfd7d09d1  include/vms/eiaf.h
+ac2570b953af51af92671cc864ce8f45  include/vms/dsc.h
+8022676bfbb4c55212c91f8aa0ff47fc  include/vms/eobjrec.h
+2933132233d64bd0a4aee2d263990cef  include/vms/etir.h
+0c0de1deceb72927b5ec589d45a91d19  include/vms/prt.h
+2ed48a923f0507a2f4f136c4904bc70e  include/vms/eeom.h
+1041d2e1ed653a4cfb4acc31ebeb5b0a  include/gcc-c-fe.def
+236a2270fd3f233717fbc2d1f6793494  include/partition.h
+7076640b6c0abc57f199fd60a8316939  include/obstack.h
+1d3e20bece806c4fd9c0e0765de86bc1  include/gdb/sim-frv.h
+58a0824a6e646f01fbb7684834e1e5b2  include/gdb/sim-lm32.h
+0894f159698dc49e4ed7bf1bb75f80e0  include/gdb/sim-bfin.h
+e995e9ab7dc5b58683039740daa11c2c  include/gdb/signals.h
+98a9d671890a7cd86275750c4c86cc9e  include/gdb/sim-rl78.h
+7abc45ea5fb2141acb091250769fc615  include/gdb/sim-m32c.h
+e591c2a2d17eeb3ac95bbfe6c37bd87f  include/gdb/sim-ppc.h
+ddfaa18b2b66336e4d5c1900ef7a895b  include/gdb/gdb-index.h
+28f089ed762f4f8ef6e7609a64b2c67f  include/gdb/remote-sim.h
+e94e5afcc2f64d94aa7be51cf1246f6b  include/gdb/fileio.h
+c93f60a1171cfc7e52aeb60bbbf8b86c  include/gdb/section-scripts.h
+690040eed66162bcdafcb2e2cae6d449  include/gdb/sim-d10v.h
+f12f068cfdb3a0c1c89e5f172e631ec6  include/gdb/sim-rx.h
+aa2859d1017ef98a83aebed765743000  include/gdb/sim-cr16.h
+02a9bf58ef9db3c630ddf15084ce741b  include/gdb/sim-h8300.h
+894dedeb487d6b65edbce7f598f33f59  include/gdb/ChangeLog
+bdd1f4db4363181c4411e5a140f795e4  include/gdb/sim-arm.h
+06261fb186a15f8da51cb9c7982410af  include/gdb/signals.def
+9e50accb796bf0ab6736f58fec7ec01f  include/gdb/sim-sh.h
+db6c615f6551d711de0e45a6d4b150e7  include/gdb/callback.h
+a55fe30391416a1df2748c75fb160001  include/ieee.h
+a6637d72befe40863b35e430e7ca4ed3  include/hashtab.h
+960419210b1dffddd4335ba3e1e55775  include/gcc-interface.h
+1535825b0f5dc0eaad05d80b2ff0b5c5  include/ChangeLog
+b4d4b36620f8b1be486f46051f3b45c3  include/dis-asm.h
+cd07ff147c5ae622eb623d7a546aace7  include/splay-tree.h
+ffda4ddb63c87f93cfea327f97340233  include/filenames.h
+2d7a663d87c153a7ce47714f16d47f48  include/symcat.h
 59530bdf33659b29e73d4adb9f9f6552  include/COPYING
-ddd7d260a7def9e1db7819195e55e524  include/xtensa-isa.h
-8b887e0299514b882cc4f758c0cc4bc8  include/som/internal.h
-7017e951e9b99f0643ae0f3ddae3bd5c  include/som/reloc.h
-293baef67c3cd5cb2817f5afd1fd1fbb  include/som/ChangeLog
-ead5d93b888abef52eae6aaaa378ff61  include/som/clock.h
-7ebb28296408f572e1dea6a97f99dbad  include/som/lst.h
-7d0014095c6ca6079d8971c50077ad16  include/som/aout.h
-1d9297c70443f62f88e611b81d996418  include/vtv-change-permission.h
-52e2bb2f842d1f0c825f9dea369d8a8a  include/nlm/common.h
-c2fba4457d82d74996e23c8316b2935d  include/nlm/alpha-ext.h
-05558cf2fffb9610bf11ffe51f716b78  include/nlm/internal.h
-82b3ee5bb4fa352f6c6504b768ba80c0  include/nlm/i386-ext.h
-c68e49f530fc7881ba89547c1b72bc4c  include/nlm/ppc-ext.h
-2807cdee1cf1df253ae3af6fe1ceddc9  include/nlm/ChangeLog
-3e83325517be6ffaecf3218cb2f421bb  include/nlm/sparc32-ext.h
-578491e034b95a584a28d937f9c7551a  include/nlm/external.h
-b2f5be3b18a75bf74b063029b98cd7cb  include/elf/lm32.h
-b1ca645f035e23b80ccfcb4ef5c06ede  include/elf/hppa.h
-eb2d080b92d7cd6b2018dc4cb81a559c  include/elf/ppc64.h
-06be5566f7eb0da8661056b574d556ec  include/elf/common.h
-3cd4a75b6a01e9e706b4b5d15db84cfe  include/elf/sh.h
-275bbbb7acadc2ffc2b0881808a2c6d5  include/elf/mmix.h
-129ba457ab394e7f1f7ea0fe3b9f020f  include/elf/cris.h
-8d2694ffe140f1d66c200ce5c42896b4  include/elf/xtensa.h
-176fac88ee907ad1975d6d58c6232a8f  include/elf/tic6x.h
-1a46edc7ac37fe532a1f6bab4bee6132  include/elf/arm.h
-c5be8be465f1c8cb7f9d6c5b376e675e  include/elf/bfin.h
-3b8a1ddd361051733faf47cc8cdc3fa9  include/elf/nios2.h
-603e537539683aa613de87f0cec2f148  include/elf/epiphany.h
-4ae458b671e2439a71f5e5770fe4f765  include/elf/tilegx.h
-6a171ad545d5296eef729d6d94f952db  include/elf/tic6x-attrs.h
-7d7a3930b7b388e9ac3d5796fa4ccfcf  include/elf/internal.h
+e6024e8e237852e5510a8f9ce7ca1fd7  include/xtensa-isa.h
+46e62b5f2468c68b60961736dbc49502  include/som/internal.h
+f9d80d1d0573f1b6b57f8b0f71ff3b80  include/som/reloc.h
+c8de48c3d7a8de69489757d4a947bb9e  include/som/ChangeLog
+14a5040c0fa5ba7fa5f2c730aa8582d8  include/som/clock.h
+6d208044d6f54d3f7e12645bd56971ac  include/som/lst.h
+f72fdc1d24600c1ee77898738b98de3f  include/som/aout.h
+a785a4cf5a8677b7818301a98a37e7b2  include/vtv-change-permission.h
+eda0fdeea63791244207cc966c3fa55d  include/nlm/common.h
+bdd8fb9151bc47e97d14ad4949d1bd9d  include/nlm/alpha-ext.h
+d54ed2da7509af6e3eed23a0ccd92724  include/nlm/internal.h
+6fb0e85a1cb20f914d5d9f9bbbb414c9  include/nlm/i386-ext.h
+6f07b442fca68f8855861e0d7655337b  include/nlm/ppc-ext.h
+abf560f9d754c0561ef602fe2a6452bf  include/nlm/ChangeLog
+c73e21f1c72ff4771aed48dbd86f55bf  include/nlm/sparc32-ext.h
+d24561446f32268f77725a4fd01929bf  include/nlm/external.h
+d226ff9105af0066acd0f8fce7f049ce  include/elf/lm32.h
+178ae114985d9edeb802d5db40e15362  include/elf/hppa.h
+eadae23950d772cdfb3aa4bca7db6292  include/elf/ppc64.h
+a0c00cbba6dd6caf6613a17208984db2  include/elf/common.h
+cb39fcc3b23b529e1c910da2cfe40e9a  include/elf/sh.h
+a1f87acecf0bf30ae7436e076153bc20  include/elf/mmix.h
+bbde24c29533c1f96ee539f18df6d552  include/elf/cris.h
+2b6db0d77528193313fd1f449374376d  include/elf/xtensa.h
+9d240a46f98f34527c805503cbd055fd  include/elf/tic6x.h
+008d80d35fc12d04741cdce55d34c2fd  include/elf/arm.h
+d57ea7f73ff9019959af2b89c285af03  include/elf/bfin.h
+aacaab7d0256d81b31ddd9d59eeb34dc  include/elf/nios2.h
+c7b3b9881d2535e2653d97ed450348d5  include/elf/epiphany.h
+733b9ec9c2fdbe2e403f7d547bc40826  include/elf/tilegx.h
+f8fb0c75d7566bc5a10af36680751f16  include/elf/tic6x-attrs.h
+3622da2179b338a3cd08465e19e73362  include/elf/internal.h
 4a26c010ce1159365c425f0df730a09d  include/elf/ChangeLog-9103
-ebb68abeda1de92850d2334794cdb189  include/elf/rx.h
-132162d703d57f80e8cc3473125bdf67  include/elf/i370.h
-77670189a62e567760623b831390c876  include/elf/alpha.h
-7b594bd570d0b8fc58b97348710fe30a  include/elf/msp430.h
-30aa4a19c1190d539ede78fe6e0a8a3e  include/elf/vax.h
-9e81461498c89140880d6b8bb44ce67b  include/elf/microblaze.h
-3ecfc011b3b1fae10a7287eb6200fa77  include/elf/d30v.h
-4ce2c65dbcbf387b65e5b8d13cfcd535  include/elf/mn10200.h
-a1f46a672b73f6ddf5db167fb8ab3172  include/elf/xgate.h
-934f87f00fc39c85b5e568244153f379  include/elf/ia64.h
-ae18403ea07ea830d8291136a8d7a820  include/elf/mn10300.h
-9c99756e4a400044e714e7e68c0651bd  include/elf/m68k.h
-47bf9fa9cff40f0e883c0dc401a3f0e8  include/elf/or1k.h
-ee157095ae74729a6640d04c08de7bd4  include/elf/reloc-macros.h
-baaf7b0157bc492de88522bf8062262d  include/elf/cr16c.h
-ed09f4c5587805a2ae1a788ec94905f8  include/elf/h8.h
-0621d1cddf6ca138f6dd24b12856ea8f  include/elf/i860.h
-80f348938befb5ba9edd5ae417032505  include/elf/arc.h
-0cfca972a6f4c73a66a402188ae87f0d  include/elf/ip2k.h
-3bb335db9f6925392b2f6a99d34c98ec  include/elf/cr16.h
-084cc31b4ae2681cd0f1b072986981d6  include/elf/mips.h
-79e25a88cd0650f44c67a19ef33ad7f0  include/elf/aarch64.h
-a7a0b06eb7f24bb638350d368275e82c  include/elf/dwarf.h
-83fae714275168f896cf73a480e91e05  include/elf/xc16x.h
-615e0975d74b97244f577ec2b9677d4f  include/elf/ppc.h
-2818a888af18e731bbe6336aa7cab905  include/elf/m32c.h
-599f220999aba947775c4576bbed8651  include/elf/s390.h
-3594efdcc21e39745758babb2f750635  include/elf/vxworks.h
-1b5ec90c3b5bcad4ba9a927328d54dcc  include/elf/avr.h
-71ea28d391768f8a53908d5d524ab531  include/elf/spu.h
-8b7f77f7d00bb6a13fcba576ac3a8407  include/elf/crx.h
-a3053edb744ed364a7061efc90605083  include/elf/frv.h
-384781280073e06dd284def11e6eb57b  include/elf/ChangeLog
-43f129a593390571e105f05e257c842b  include/elf/xstormy16.h
-dbae01e4f2454e21fd0fe3bc7a811ef7  include/elf/moxie.h
-8bac0d8e6cfeecaf16aa887e416a516d  include/elf/dlx.h
-6f6138caf2959d2a57b3f573c6a78930  include/elf/tilepro.h
-a92c3d13fbc67487a973cf715de23c0c  include/elf/rl78.h
-7811b3487fb6433a7e69a4d7aabc338e  include/elf/i960.h
-0c1e1c519299a3f14e764af36edd1f0d  include/elf/fr30.h
-434da3fa2b86090339f620420b33a3d4  include/elf/m68hc11.h
-89fc2d0e55f8d97c5d421b62284bc8ef  include/elf/nds32.h
-322369cb7084ba472ac1a6dd920e7e22  include/elf/iq2000.h
-94117ec9bb2a04ced26bbc091c1b11d5  include/elf/mcore.h
-61eaea1824ccd6c32bc903f7e88eb384  include/elf/sparc.h
-9a4cabd720ca8c771e41a4feefb2b982  include/elf/m32r.h
-c9cf71b960e4550dc4ea641ac3d10efb  include/elf/pj.h
-3dd994d39cc636d17b1840eeed5e9e6d  include/elf/mep.h
-11a4d83d65451045de7f98903d8dd40e  include/elf/x86-64.h
-a06776faaa0000678baf59de0956fbba  include/elf/d10v.h
-c062d1a1dd62d8cb9e9afc41036953de  include/elf/v850.h
-9830dc9216da906b9cc82b30a5ac619c  include/elf/score.h
-e859e733708b2920fd692f123e7ece37  include/elf/i386.h
-9fd42d30bb97297f7bfdac190eab6e3e  include/elf/metag.h
-ba0068e7ad3076be26ef3e69b99800ee  include/elf/external.h
-729d1dbd9ceec0ffb115567cf841faf2  include/elf/mt.h
-70fa1e5956eb7170ce412c3ee98301b5  include/aout/hppa.h
-6cdeba47a34c85643ad0a2f27910d3ce  include/aout/dynix3.h
-391afa74530f50931390cba0f1c77fed  include/aout/ar.h
-5987c4753813504378f84cada9799ce9  include/aout/reloc.h
-817171b64421e9191dda2fa1bdd2934d  include/aout/hp.h
-924b95211a69ddef94de552f3d5d64e0  include/aout/host.h
-7a75eacb9d134838c5c27921077540b9  include/aout/aout64.h
-f2edbf20b1bc7e75328fe287bfb84a06  include/aout/ranlib.h
-0e4d645144a6b155c7268eaa4f86c477  include/aout/sun4.h
-531a66411da97d5fb9d537d6a21fde37  include/aout/adobe.h
-0bc901e06516ffa4c30587f75d7660b1  include/aout/ChangeLog
-3127ef7581bc8375f7e249add35338c6  include/aout/stab.def
-8b1e67769da44055d07ce15a6dbff7be  include/aout/stab_gnu.h
-c39d41eb657f715ebf54848275a051b7  include/aout/encap.h
-b586de57eb4a3d4993d2b3784f013f1b  include/aout/hp300hpux.h
-20a3a54ac373916e3daaea96f0aff2b2  include/xtensa-isa-internal.h
-64438fc2ef37bc4fde5d8f914e7dad01  include/MAINTAINERS
-c1fb049f8e113b084d6ba9dc0aef882a  include/cgen/bitset.h
-d4d5aa8de81ad5820ee79693e8688f96  include/cgen/basic-modes.h
-a14f6d5db342e17b117a3881237b062f  include/cgen/ChangeLog
-8b85f974a0e459a61dedabeba84944fa  include/cgen/basic-ops.h
-282c2aff59e6b1494efa4c9c93a437b2  include/bout.h
-8c1a1603cbd7447bde95d9ae8723f232  include/demangle.h
-aa89602836178dbc2fbc7e60d8584817  include/bfdlink.h
-0294cecbb1f66d640ccba3a5d862d05b  include/xregex2.h
-0afce91a3daa1fdc32ee36370c1129dd  install-sh
+2c458131e813a34293f9944013e0654c  include/elf/rx.h
+fc36692a803c813a1cdd9bd72b0b8cbb  include/elf/i370.h
+658110f9df01933380a5b2cfd15db7f5  include/elf/alpha.h
+2842f76892980e32e52b9573cc9e69b1  include/elf/msp430.h
+afbb99e8eb18e1664052d27aedd39861  include/elf/vax.h
+736587f08d1b2452bfce139f7d33e22c  include/elf/microblaze.h
+bf84b35577ff3e13ffc8854b088ca69d  include/elf/d30v.h
+b8ec9ae623ffbe30392423380ac264ec  include/elf/mn10200.h
+251eaee2a9a313c01950def9be0b84ce  include/elf/xgate.h
+a4620541d8e954cdd9b3b620132bc034  include/elf/ia64.h
+3468c3c31ea25379db6e5bee88034b9b  include/elf/mn10300.h
+1a16441ab96f01310c22e0e0b996a407  include/elf/m68k.h
+85ee7689d45e3e3209afb95c8641d289  include/elf/or1k.h
+d535012b1bcb21497ab37c18297ff018  include/elf/reloc-macros.h
+8201eb74dc7d85199ef8e3498122786f  include/elf/cr16c.h
+14854a530164e895425fc83668d858fe  include/elf/h8.h
+6bba3f9f90ef54d98829ff557d662cd9  include/elf/i860.h
+20c1b68594ea8a7db98e482eb3e5e631  include/elf/arc.h
+e2bcd68b4e736881cd7d9b27321653b2  include/elf/ip2k.h
+6b6dca38e60e6651e7a107c14a8f7c6e  include/elf/cr16.h
+4dfddeb0048f49dd79aa3f116be331bb  include/elf/mips.h
+6b9b87054f41f30db7594b18e5e32b4f  include/elf/aarch64.h
+8bb8510ed9eb7ce21782b810c044c5c1  include/elf/dwarf.h
+50c8f19f9152958cb8e27bba7de9737f  include/elf/xc16x.h
+10f2d70085922ba284a767fe1b516c85  include/elf/ppc.h
+7572d12e603cea457a945fa38827400e  include/elf/m32c.h
+e56febe236eb05ecc039ba2eab2eb03c  include/elf/s390.h
+092f51e3bc2f2da3c4bcf99768afb4d9  include/elf/vxworks.h
+029cf68279180b8cfa4b7e92958b893b  include/elf/avr.h
+07c88634624f215d47ed7b1a472920f2  include/elf/spu.h
+e6ef0e02808e329abc03c2fd1644d8f9  include/elf/crx.h
+4f59ec98bf65ae537a10835da92a3266  include/elf/frv.h
+6cf16d91679ec16b96e314c3e6ee2be0  include/elf/ChangeLog
+6abfcc8379bd0122c8c79b8934f955b6  include/elf/xstormy16.h
+89c0a896e4cc7eacf2f6c1f3f8524317  include/elf/moxie.h
+c0637a647e68d182e8804f5ca18fd06d  include/elf/dlx.h
+8f00cc9942b8eadd849a5d553a37dd2c  include/elf/tilepro.h
+2a89c444e3b06f9c15de51f0f05d8e39  include/elf/rl78.h
+dcf7fce9960b4d6088d0d9d483f1e0d5  include/elf/i960.h
+6e90978844bbc9f4a331c7ad1a71ce9a  include/elf/fr30.h
+0b3a1b62781eaa70c54c007ea3e90aa5  include/elf/visium.h
+6e21caa10afc0363803fd7430fc9722f  include/elf/m68hc11.h
+88a5d9ae8503b57b6825b31ab2a4a607  include/elf/nds32.h
+fd8442c60a205e2164d1d9ac9ec71b58  include/elf/iq2000.h
+8efd56f2bfd8648635c16d66e26a08a3  include/elf/mcore.h
+79f4614939dc1ac3c420814631d339a8  include/elf/sparc.h
+39d0207932d7b69d2f738e0fbf4aa1ba  include/elf/m32r.h
+7026561317c644781da6639c70b6d664  include/elf/pj.h
+9ad2048ad6dad95fd4409e821f7ecbdc  include/elf/mep.h
+6bb9f9eca9f4a9881e0bfc7fd90a9b59  include/elf/x86-64.h
+9af438b5ccab1b1eaa9320def74a2a25  include/elf/d10v.h
+eed741ed4d3134c546a7aef6b5466114  include/elf/v850.h
+ed06dd10678a2b61c9c15cb85ab3c752  include/elf/score.h
+7bb868844f694e41d613e7a4f7a410c6  include/elf/i386.h
+9f6e5ffe6eed92501b20d2d8937aa47c  include/elf/metag.h
+9a81908d59d5e9f65a55354bf3ffe8ae  include/elf/external.h
+eb320654c4b9a9c7afd3b2f92e9893c0  include/elf/mt.h
+11dc4a20e60d4c98ec3e107694aa16ae  include/aout/hppa.h
+193ed538f4344f368a21ab36b402e717  include/aout/dynix3.h
+1653e641d01d3bff4501bdd3d29bdd2e  include/aout/ar.h
+0a0c4fef5cdedd3c9a79e2d23e29d81c  include/aout/reloc.h
+0b4325648d9e77c2cda200ba57b327ad  include/aout/hp.h
+4c8dee5f526437644104a3c1b2c24012  include/aout/host.h
+505986144b431b327147f091fb4fc248  include/aout/aout64.h
+a3db2cdc570b01d89cac1640895e8fbb  include/aout/ranlib.h
+32e9925658d2360b186990ecc961dac0  include/aout/sun4.h
+a78ede3c6cc575136d7c9c46a59ef3f1  include/aout/adobe.h
+0659966366fcba7172fc5514bdf514cd  include/aout/ChangeLog
+b4ae3c48fabbef84a64354b57e654304  include/aout/stab.def
+3f528da35b36899d723a010b99b07c44  include/aout/stab_gnu.h
+972c094e166daaecda2dbd2770884df4  include/aout/encap.h
+bb56c278afeac78a1f64e7c41f4a2005  include/aout/hp300hpux.h
+e40b3d9eb0666fb0bed28cd9e70f87af  include/xtensa-isa-internal.h
+8c796d8a7015c7142896101ca15e9e85  include/MAINTAINERS
+1be2d7203ed93c5b271ee2f13d35731a  include/cgen/bitset.h
+9315cc34128523a0c2051e4825ec6344  include/cgen/basic-modes.h
+37785f3eed21fc14cdc3a0b12e8b4406  include/cgen/ChangeLog
+cb9a074cf859c172994ad5211ae42716  include/cgen/basic-ops.h
+cd837942d5b07effb31a6e5d3ddf6e1b  include/bout.h
+2f51f8c7812091ee63d5eb60b8fa6156  include/demangle.h
+14a99ccec80dc43e7a624509d118f2cd  include/bfdlink.h
+98498058721a4a61a9d050d50584fc76  include/xregex2.h
+361482dd6b5b5eb7090fff3986fba68a  install-sh
 12ff40e8c89d99dc7b704bac9434124a  intl/plural-exp.c
 9f41e951f166a5aedcc25268c161d1da  intl/l10nflist.c
 76ca170a525d5b84d90f0478fe788931  intl/VERSION
@@ -5651,26 +5848,27 @@ a4b73550a11428009bb7a8a4f4f034a6  libdec
 9c3a9e828557622656503a8059646572  libdecnumber/decSingle.h
 828d8b133f28c377d2a2b9ed16a7015e  libdecnumber/decPacked.c
 c040382ca9cb3f01cb0d4d2f9b97a1aa  libdecnumber/decCommon.c
-6a644ae380b64c2263b8c5070340c1ee  libiberty/simple-object-elf.c
+39d0bf020242667de7e3affbc5d7fd2d  libiberty/simple-object-elf.c
 4004fdcde347fda58406b4b84a995c66  libiberty/config/mh-aix
 904bdcd9daf97fa55a9ca8901ffe7435  libiberty/config/mh-openedition
 044204f5b4bcac5eae2face0602129ae  libiberty/config/mh-fbsd21
 38e76da568ab25260754fdb9d5080513  libiberty/config/mh-windows
 7b65854f594c84e80295173de277b3dc  libiberty/config/mh-cxux7
-00a3bf9cf2e56414df16e0506c9ef432  libiberty/vasprintf.c
+3dbcc57740fe0d0fcf5e228b7b63d7e3  libiberty/vasprintf.c
 b60a58ab1847330a24da3f8e459cf9c3  libiberty/snprintf.c
 ef31ef103e276b9741c453bba5660e20  libiberty/cp-demangle.h
-4f840218bb37e89ee3c636410fed40b6  libiberty/pex-win32.c
+54f1c2e59472dd1bf57f3bdaa0fcffc0  libiberty/pex-win32.c
 bac20c1a198662917e6bc775ad9bd0cf  libiberty/stpcpy.c
 13cce636dd9882e42c9fc5d607351f4f  libiberty/strchr.c
 aa0f79d836563e6a0cd92ab678b07aaf  libiberty/fnmatch.c
 fd1435a5be24d2ed84909540998dd5d7  libiberty/strnlen.c
-69b5d6f94c8a2e0e22906c46df92aaad  libiberty/Makefile.in
+88d7a06b638cf8f45b3e776983f10524  libiberty/Makefile.in
 28af0a1bf222ed2a5a87d9e170ef4a46  libiberty/vprintf.c
 42d0a0ea70e0c85cf11b7475aaab0674  libiberty/md5.c
 26196a9a92fae743a06d65f0e081084b  libiberty/strtoul.c
 e78ee72146f932cefb435c11b2aa3ee7  libiberty/dwarfnames.c
 048d9004ba3a2badb7abe6e0afd8f663  libiberty/hex.c
+d132d24f15fe05fe3614e69d6dbc65aa  libiberty/strtoull.c
 67aa86d16c993dddfdf9c2d91b910578  libiberty/setenv.c
 9f681e91439ac44c9df8e1b1deef33b5  libiberty/strdup.c
 f214096086d1747033efa505022dd89c  libiberty/strsignal.c
@@ -5679,9 +5877,9 @@ c44adc5ac09bdc782a8e13086ffa9367  libibe
 2c56f9552603480f87b7136972894128  libiberty/lrealpath.c
 74850488731148a9c9f410042144f37d  libiberty/rindex.c
 e2f3721273c7ef1ab0194aad78ffa3aa  libiberty/strstr.c
-a1e144676b1fde02284d01aef088da0a  libiberty/config.in
+8d0c35fe401ee57dcc296fa2d1c8ab3e  libiberty/config.in
 9c22926d0b260822786460b98e517ad8  libiberty/waitpid.c
-9ad507f3214677821d22df437aa68ef9  libiberty/configure.ac
+2c1d3c34eee37256659af037eb5becf4  libiberty/configure.ac
 c68dbf7834af4281ebd84caa3fd54680  libiberty/README
 1857cc8f5d7af67cdf0b5d692436faed  libiberty/simple-object-common.h
 0c2635175b975823b40980974dfc2110  libiberty/ffs.c
@@ -5691,7 +5889,7 @@ c6e7ef53b4ff115a136d917511222656  libibe
 0c70ad1e35bb090b52ed593865025741  libiberty/gettimeofday.c
 dc973aeb02b4545e42f179263612a4d6  libiberty/vfprintf.c
 9e1bb6fe95ebb6415672ddf1da29ec65  libiberty/strverscmp.c
-35dec1d49d1d7277c3ff11aa95e73cdc  libiberty/functions.texi
+9be89cb7bdee0615649cce4f2c1aac96  libiberty/functions.texi
 80367d734a974bd32e9ebc370dedd2e7  libiberty/makefile.vms
 8b8ae14c1fbedeb88355f09bc7a7ecfc  libiberty/gather-docs
 af9bee5d1912e623defe1a7ee0ebc296  libiberty/physmem.c
@@ -5705,12 +5903,12 @@ fed47804d20d26873d480f5166e7d864  libibe
 0cf8d9985fc4c93d80dd1b0f95431a96  libiberty/strtod.c
 767eb98b733821ab66ef33430a6c8ac0  libiberty/libiberty.texi
 3d5fc77f726a32459db21d97109258ac  libiberty/concat.c
-5f64e77cffbeb19c5124ba8c99304cf4  libiberty/cp-demangle.c
+4d06d853a4ae0b8d87e92b4f11393960  libiberty/cp-demangle.c
 c77400dbf2a2b6e3e56463704eda7ca3  libiberty/asprintf.c
 a003952452be47d7ca2979a2724a9e7b  libiberty/simple-object.c
 abdf0787024ad239a36f6c8377a8c29e  libiberty/memmem.c
 94f22680349b4ae73ad658495d2eb542  libiberty/random.c
-153d1d9a996ea6e77c984c2bd731e8cf  libiberty/cplus-dem.c
+25c725dee54aba1faf496d2d57dee680  libiberty/cplus-dem.c
 145debe2f28f470878f95b1255f5537c  libiberty/fnmatch.txh
 de9bd20436bf2cb64d8c374c110ce315  libiberty/memchr.c
 ac4d94d7fedc8abaa75b57da06101b03  libiberty/mempcpy.c
@@ -5718,14 +5916,19 @@ fe0196b26274b9b5983d48fd510318a4  libibe
 33c27a525deb934a8fc5c32008dd03c2  libiberty/vsnprintf.c
 24eab3d83825c3be13549dc62b6d63d6  libiberty/rename.c
 5c0eb869d31323424849c0aab9247722  libiberty/getruntime.c
+347c31392973de6a4872d540c1718dc1  libiberty/ChangeLog.jit
 c90c2f09bdcbd65b4732a4be25a56d12  libiberty/memcpy.c
-8f24f8939540ed6d58ad0dcdf1132562  libiberty/testsuite/Makefile.in
+bf4ea5614ec32141d1820716bd8709c5  libiberty/testsuite/Makefile.in
+5386b1cb9cbab31da3b1246a7d0ef0b0  libiberty/testsuite/test-strtol.c
 8b476ce26e8583eea8df7d77fe287a5a  libiberty/testsuite/test-demangle.c
 d629c8f2adde10d53657e437416cf27f  libiberty/testsuite/test-expandargv.c
-aa68609715a3ccc1f4cb2e58c17cd800  libiberty/testsuite/demangle-expected
+ce5d275a354ecd87bb7a65a07b70141a  libiberty/testsuite/demangle-expected
+10ce55269f247e57d2901ee11e88d8bd  libiberty/testsuite/demangler-fuzzer.c
 e9e958dbfc45a08dbbbbe48c83d3987e  libiberty/testsuite/test-pexecute.c
+9e858e1d84edd7cc5e1877f46bc3be65  libiberty/testsuite/d-demangle-expected
 ab0f43a6703e0705b4e8bac274635b56  libiberty/obstack.c
 2d54a4b123998196aed234af148359ed  libiberty/simple-object-xcoff.c
+9968bbb75dc08ce768389912954f4348  libiberty/strtoll.c
 b91dd39a7b9d4c9d03edc8a6cdf81978  libiberty/safe-ctype.c
 7897e43bedd2def4beb6eb73003efa68  libiberty/msdos.c
 fe053283d3559af3ec5cac45f8ead009  libiberty/copysign.c
@@ -5736,21 +5939,24 @@ f4ec5461a2fdb28214092b95b39ef186  libibe
 4863a11e04a2021af582edf86f156954  libiberty/simple-object.txh
 76888d9a6ed315d1e12029016d96672e  libiberty/bsearch.c
 a23c6974fb1adf6977b5f5454c430bf0  libiberty/_doprnt.c
+f52b09a2067e515db35e3c3c2d3abd6f  libiberty/vprintf-support.h
 42849d7e9af515fc8f679ba8bbac64ac  libiberty/floatformat.c
 5824bd0f9be9f4fa74bb3bdc7fd9431c  libiberty/configure.com
 5e520e600636a692f52e62dcfb01921c  libiberty/getpwd.c
 e60c2e7c5dcdd19510066c13f1a527d3  libiberty/alloca.c
 bf3090499e23b0497aab1e77e62c2572  libiberty/obstacks.texi
 8fd5519e94ca719c14d0a1fba7d754ee  libiberty/sha1.c
-c67a6e0ba850ef5fb86522ddb2e87e5c  libiberty/choose-temp.c
+2f875f0d4ecdb15ca4d5a65ba2d56a93  libiberty/xvasprintf.c
+a45584e0c5c4704a29d050ea21d2357c  libiberty/choose-temp.c
 a916467b91076e631dd8edb7424769c7  libiberty/COPYING.LIB
 6af921a6efcb5621c06ff9b2a8769b01  libiberty/cp-demint.c
 99bfeaeb76e8e725dd8766f33810ccb1  libiberty/memmove.c
-0172f6488e44155e35d94e3f2c5c3c5c  libiberty/make-temp-file.c
-2dc83b1429c2234bfaacf3f7eaa728fe  libiberty/pex-unix.c
-cafcb336a6d21898592c5cdaa7c5a3a7  libiberty/sigsetmask.c
+4d5c701a68994be0cd39f165cc56541d  libiberty/make-temp-file.c
+fc1d4c4e0449f24a16a2bd6d08efc882  libiberty/pex-unix.c
+119d38724fe57b62c298e38190319391  libiberty/vprintf-support.c
+284bb7a096480b355b75c337086220a2  libiberty/sigsetmask.c
 eb843075f87d187630f6a3d849b93e64  libiberty/getopt.c
-436db8ff9ffa2fdbafcf42505836920c  libiberty/configure
+3dc379bc7435d393e86e055bbc8dbe77  libiberty/configure
 32ea90e5aded75d1cbed83fc52123753  libiberty/sort.c
 22b53dd8b990133515799dffbda44c8c  libiberty/aclocal.m4
 cdc140ce93944c5bb2ac62cd3dfd86d6  libiberty/xmalloc.c
@@ -5758,13 +5964,13 @@ cdc140ce93944c5bb2ac62cd3dfd86d6  libibe
 d67a9b0906ffa961fdc411aa936fdfb1  libiberty/pex-one.c
 5b4506ce60bb3446f083b9542af3fce0  libiberty/lbasename.c
 7c932073da197aa34eb3383960a114fd  libiberty/getopt1.c
-93450a605573987f6cc2ab7bc2c3bfaf  libiberty/filename_cmp.c
+dcddb64bab69ca6541ff0add57f1f53c  libiberty/filename_cmp.c
 9e789d58cebe756b96be30941debb05e  libiberty/vsprintf.c
 6d8293add4026ed6717d39608786d5f6  libiberty/stpncpy.c
 9d0471286f21d9027bbf1b7c67b87856  libiberty/insque.c
 72b25900bd3d95decf7ff7990061ef29  libiberty/xmemdup.c
 c9bd3841bbde6d8ae680f62523f00ab0  libiberty/strtol.c
-332080f75cf12fd4b4ba4201d0937a3e  libiberty/ChangeLog
+052967ebb5b1d1321724c2d8350d9fdd  libiberty/ChangeLog
 c34119797a13e71989722851c14b711b  libiberty/atexit.c
 d99a00c9588039b63404d27ea147b2a4  libiberty/objalloc.c
 c0c3183427b1df540ead6394d1028040  libiberty/argv.c
@@ -5776,9 +5982,9 @@ ff9822a4b6a15c69b4b589a6aef7d8db  libibe
 bb0043d92c716691cc17b80c845c336b  libiberty/getpagesize.c
 581ca82c700722ff2cdd7fd93c0a0c11  libiberty/pex-msdos.c
 2af2e5d9848286892654477830443b51  libiberty/stack-limit.c
-96a77c36aeb901544290055a6c9afd0f  libiberty/pex-common.c
+c848a2e0fe28badecef9de935d987fd9  libiberty/pex-common.c
 a6b1581efa83a4072727b38d6fef4230  libiberty/pexecute.txh
-9c9f332011572cd3bc1b606c878bd707  libiberty/pex-djgpp.c
+0cba12fe5d653cec7834c185c873b2cc  libiberty/pex-djgpp.c
 e7487c25e2021939bf5af58e8cd70a3f  libiberty/make-relative-prefix.c
 c881c5435d7d4cf0008a7f649ee72076  libiberty/simple-object-mach-o.c
 ab8d4cd68aa4892e2318d2c71864cc56  libiberty/basename.c
@@ -5787,8 +5993,8 @@ ab8d4cd68aa4892e2318d2c71864cc56  libibe
 2d414e20c053293f373a5306192db8f5  libiberty/strncasecmp.c
 cc534c2ea00ea0b5e49ba8f61c6e467d  libiberty/strncmp.c
 2d92725e49581d86d7cf06fb40def19d  libiberty/strndup.c
-91d9c98c4feb994b1f62f5fd7124fe41  libiberty/pex-common.h
-b3aaeed201f3c6fd293e9f9618350bfe  libiberty/strerror.c
+cad65676a295e832bbb5237b4a3ec6a5  libiberty/pex-common.h
+119848dbde9f72d500142a4a65149a9f  libiberty/strerror.c
 4d485e7735be430b22aea0abb4938e26  libiberty/index.c
 0c900e9180d750a26ac0ddb237151832  libiberty/strcasecmp.c
 a16ea056b95fd70c21333db132da14ff  libiberty/at-file.texi
@@ -5801,216 +6007,221 @@ d7cc74911527c672bba716c9a793ed94  libibe
 89d4f4af4421147fee519aabe3119090  libiberty/hashtab.c
 a707d2e5daa09d204d4441e8713048ca  libiberty/bcopy.c
 83565a31c7f296b3013daf383cd03ee9  libiberty/config.h-vms
+bfa019f6471996cc88e39536bddfe86a  libiberty/d-demangle.c
 4a0acb9356a52f3bcfd67efa26997b58  libiberty/bzero.c
 a8391a5d7431a4e11f61be41386a3356  libiberty/clock.c
+f314d3357b67a7b2d6883fbe0d420842  libiberty/xasprintf.c
 f7e45d3f23f83574372065030595efa7  libiberty/putenv.c
-3bb1de19ee64b1073f3d23d9a410b743  libtool.m4
+9787043a73f2087385e6e9cd20989578  libtool.m4
 247597a3fcc5b5aa8bd923351c59d853  ltgcc.m4
 4e65f2f6a05f5eca82ba79c6363aa3db  ltmain.sh
 293853a13b7e218e3a4342cf85fbbf25  lt~obsolete.m4
 dee72a6a60e99528b0d17bf3ff9a1e15  ltoptions.m4
 bc2f6032c98896249eadb56177c7d357  ltsugar.m4
 c30cd33c496505f13d9fbdb6970c7c33  ltversion.m4
-2ce60858b3eab0a88195c43f23b1a094  MAINTAINERS
-e6078d46d3729f3f514954081bfd9480  Makefile.def
-356452c2d3677e10f0047801465f2ea7  Makefile.in
-f3a76b2dae23759df8f4bf5f1088f950  Makefile.tpl
-9d9668fb32d0542b712be2c34ca79bd7  missing
+8fd1cceaa7b6f73df604b14180534345  MAINTAINERS
+45f909d52704a2678222981d1aa1d1cd  Makefile.def
+fad954eceba2ce97e96d63efe624912c  Makefile.in
+95dfcd3c8e1abb233c2444ca436d9ed4  Makefile.tpl
+5f2a276ee7b8decec541391229d03591  missing
 fbe2467afef81c41c166173adeb0ee20  mkdep
-766574f467c38d27fc7604ca8eb6734c  mkinstalldirs
-f1fff2ea196cbf6fe4634bc3edc5af4d  move-if-change
-f7478f4e2ddec62d5dc90fc1fc2467fa  opcodes/m32c-ibld.c
-cd81de5f70742a118ced64084b6d0a09  opcodes/alpha-opc.c
-32ddf157a922157718f3826f3b5b5f2c  opcodes/i386-opc.c
-ac6924930b8da458a9b0565b890af9a7  opcodes/fr30-desc.h
-d8c6499018630430968d46a59d0aa2f1  opcodes/lm32-asm.c
-7cb2c22554c761dd47df9585bc916801  opcodes/i386-opc.tbl
-ff32c486e70e21197f420a64df4000e2  opcodes/xstormy16-ibld.c
-86dd26581765ffb72b2e92c44c9dfa63  opcodes/mep-asm.c
-3a13481ca5861298c40444503fa9d2c1  opcodes/microblaze-dis.h
-10ab0692272b23efcd87747e45f2254d  opcodes/rx-decode.c
+82b7b70a9845ee61a01f20b29dd2df2c  mkinstalldirs
+21b967372b521f607c0a119f425931ec  move-if-change
+7cf58e8c5b1f932f46272026bf3eb04a  opcodes/m32c-ibld.c
+6281e24eea5ec5c406235fdecb9ae481  opcodes/alpha-opc.c
+c7d2504f5429d51f2cea23509de63b27  opcodes/i386-opc.c
+ffe61c788c15297a0fefca32a8aeacc0  opcodes/fr30-desc.h
+1a4f41434bbef91c48a1ac56dbf8da4f  opcodes/lm32-asm.c
+99e8f5d33fe0675db7ec64342330fbe8  opcodes/i386-opc.tbl
+399352b9954c06d524703abc400a9c20  opcodes/xstormy16-ibld.c
+a163789adb46ddd8c1e7929427aad9f0  opcodes/mep-asm.c
+1ce8670ab3df49f4ed68ccdfda8f9210  opcodes/microblaze-dis.h
+b785f959ddf5871f7c747018881b8c4d  opcodes/rx-decode.c
 b969a750db9679c41a9517973294f8a9  opcodes/ChangeLog-2013
-803cf1a24701f5ab5455815961ed5c88  opcodes/sh64-dis.c
-7c1676522eba9da95db67ff01386ec7a  opcodes/ip2k-opc.h
-f27f308ec867fe5c4347d61a7b98fe43  opcodes/arc-opc.c
-0f4f674a360a6d0a6c86e57e2d8a0560  opcodes/m10300-opc.c
+04dc23e480eae23af0fddf99a6682e98  opcodes/sh64-dis.c
+06a5023d2972b9ba79af571f510e9f74  opcodes/ip2k-opc.h
+2c1e37724a26df170653026cfca0b2c8  opcodes/arc-opc.c
+a3143448d76da7a142c3f0808008062f  opcodes/m10300-opc.c
 1f5acd3452a0a360529d00ef50d69b58  opcodes/ChangeLog-2011
-32f674beb3413950b1d26155613e3bae  opcodes/epiphany-ibld.c
-9782feaf3d34a244709dda145602ee4a  opcodes/m10200-opc.c
-2a6cfec0dfd3fd13f133ff7d1aaee4b8  opcodes/arc-ext.c
-063755cbb4095a59e3fb08abc3ec50d0  opcodes/or1k-dis.c
-ea8e3669137d84cf2fada6840156b1dc  opcodes/m32c-asm.c
-0cbaffc2751f4b2b566b06d445e49793  opcodes/mcore-opc.h
-bb923d6d0887131a499eae51565e620f  opcodes/crx-opc.c
-abd4e85a9999f2de354562ff56f23b8f  opcodes/fr30-opc.c
-e8aa267a621f78698d84197492c1afaf  opcodes/Makefile.in
+e5435dd9e623905e606ba1441e5c2fb2  opcodes/epiphany-ibld.c
+f5d841a4914b15668820674d9f7d2c31  opcodes/m10200-opc.c
+49a5af0d5542aad283dc4a49e27a75d8  opcodes/arc-ext.c
+577542d2913044b5aad8e5807a8a99d0  opcodes/or1k-dis.c
+126fac39e601f6d59a08fbb18ce882f8  opcodes/m32c-asm.c
+dd4d05d549a95d82b3c9f32566b163ec  opcodes/mcore-opc.h
+39d06170708e19e712451183c5f40bbd  opcodes/crx-opc.c
+6e6a9933f78635795e83c5bf59e3c5ae  opcodes/fr30-opc.c
+8f8b00d0a8276e0aeeab3196ad781748  opcodes/Makefile.in
 574537d9972c9161d297dcfd7eca0282  opcodes/dep-in.sed
-c53182e633a32387bb94e7b8ec6fe397  opcodes/w65-opc.h
-ac4ff32a9cf4e26b01847b15042f829a  opcodes/m32r-desc.c
-825ee7a42a8002efa7d900962b5c512b  opcodes/microblaze-dis.c
-801a2f84437ba34fd3fa1908058a93f3  opcodes/nios2-opc.c
-0a3174958909f58d102197a46469bd52  opcodes/xstormy16-desc.h
-c273c316008b271ac58bb830fe889e87  opcodes/alpha-dis.c
+7a4222052506aa1fd782364dceffc940  opcodes/w65-opc.h
+38b77801e0450ec5abd77af33b7e0bf1  opcodes/m32r-desc.c
+1b55d372ed936fb315b6ccb90d694882  opcodes/microblaze-dis.c
+e7ce182910e92d69dcdd43c2761d572f  opcodes/nios2-opc.c
+ef3b2b95622f76113f18511dc2e1fb19  opcodes/xstormy16-desc.h
+b2f2e12e5e7fa0cefa3e7d049abdedfb  opcodes/alpha-dis.c
 8d02c591f7889e4a0d6be47c55d4168a  opcodes/ChangeLog-2012
-b9e9e2f48e1729590729b8213de4574a  opcodes/ia64-asmtab.h
-1569168c2682be0cde3009c4260e2314  opcodes/fr30-desc.c
-12383934912a80c561296dc0e5f4dad3  opcodes/m10200-dis.c
-2913af24f649d04fc0a773695ed34d17  opcodes/fr30-asm.c
-34a1826cae3eb2dcc2a85dd2eefcc2cd  opcodes/cr16-opc.c
-e5a5fda0ebc7fea416ee34abb4ef52cb  opcodes/m32c-desc.c
-2a7eebcf7247ef7e7b0a67d7d7d110f9  opcodes/cgen-opc.c
-542486a3b6d99b65cbef0a2b96ead3d8  opcodes/ip2k-ibld.c
-5ca061d4556ade2286af154f7d4f6864  opcodes/m68hc11-dis.c
-31dd72e0531bba5663ec66eff41b9ea6  opcodes/i386-gen.c
-bb6968d12c029b7171eaa8ac9fd8671e  opcodes/xc16x-opc.h
-140af32c61afd3976c0b27bfa0d1198a  opcodes/score-dis.c
-865b00a70759005c6fe1c784db11bd44  opcodes/m32r-ibld.c
-f9ccfddb41f2bddcd6ab0d575f44f8d8  opcodes/dis-init.c
-5f725f18c1e3ac08fc4f87df9831b5e6  opcodes/sh64-opc.h
-4d7bfeff4d597390a27d03c17f4f116a  opcodes/mep-ibld.c
-e39ce8c9adea284d14e7bb1501e83779  opcodes/rl78-decode.opc
-058a6bdf9b4ac0bd75f7d44d4c5d2629  opcodes/m32c-opc.c
-6a37c1a9ee8a0dc45b872beea21f5f2b  opcodes/m32r-opinst.c
-71b74fed3bff7454e5af3578ab79bf1a  opcodes/fr30-ibld.c
-4bfd4ef23a730781380d56f01861981b  opcodes/tic6x-dis.c
-27dd5267c37c6e860edb00dbc7bd89ed  opcodes/nds32-asm.c
-726aa20a870027ff8c33393f7a941214  opcodes/xtensa-dis.c
-99f9359f87784756564ee21c7c6e84fd  opcodes/sh64-opc.c
-f07fc192d158412bbf9243135fe3d731  opcodes/ia64-opc-b.c
-7804b92492862648d2f8622a2420b920  opcodes/m32r-opc.c
-cb8182f788f4d6a4b6b579da0f4fe297  opcodes/moxie-dis.c
-bca41ad3b7aea05c0082584573f88027  opcodes/tic80-dis.c
-81ae1462406771c1370ec1f4bd3b1e02  opcodes/mips-opc.c
-8bc6327a220e3684d616beecc67824fe  opcodes/config.in
-39918ff6b4e8b912a1ea18979a0aebbc  opcodes/d30v-opc.c
+413e1670bc6c546acdc24286903703b8  opcodes/ia64-asmtab.h
+d36f951fbccdfadcae5c883761cdd481  opcodes/fr30-desc.c
+748ca0f654dece21de82cab4fc57d9a1  opcodes/m10200-dis.c
+e24b0eb1065ef6c41e41aaa08a690e53  opcodes/fr30-asm.c
+e85b0f622826b17ba119c7ed30e94ecf  opcodes/cr16-opc.c
+05b1696e25db3093cd6c860967daa0d0  opcodes/m32c-desc.c
+92ea71d9f4bbeca1937160ab5e950077  opcodes/cgen-opc.c
+2fe67cfe88adee441c687534460f264a  opcodes/ip2k-ibld.c
+418f78069b7fab2fda46ceb225313019  opcodes/m68hc11-dis.c
+629bb280a38ae036c0cfe5e94979a19f  opcodes/i386-gen.c
+5519ab9c328c2649fb07577c9a663cf8  opcodes/xc16x-opc.h
+3edd896ae55d0b5103c6b881d3415cd7  opcodes/score-dis.c
+4fb6e01a07ed0c9459fe760afacbd892  opcodes/m32r-ibld.c
+7966f104628a8aa0e139bc1170cb8633  opcodes/dis-init.c
+674f14b28e3044e00b5d0c07f009f32f  opcodes/sh64-opc.h
+4ae3ef909e8e47638544a3021dcd7c20  opcodes/mep-ibld.c
+2e544557255fccb4b62c38dc76949ca3  opcodes/rl78-decode.opc
+cd7f034a875e26c35b5670c1a5b951bb  opcodes/m32c-opc.c
+b8786df19a47bf22172680d14e8dfc10  opcodes/m32r-opinst.c
+3211ea8c97e667d329492ab4a58a317b  opcodes/fr30-ibld.c
+0ff573a012a025ce580942a7e5a8efae  opcodes/tic6x-dis.c
+48f043a0b4a0c16bfa9afc6b1e1929f9  opcodes/nds32-asm.c
+85106912cdaccee65328c469c4ff0641  opcodes/xtensa-dis.c
+3916492cebcb5ee8005c241d5b3903b7  opcodes/sh64-opc.c
+814a69a2034cfed7050fe8bc89554c90  opcodes/ia64-opc-b.c
+eae5d3bb5d8bfdba703568cf90484681  opcodes/m32r-opc.c
+b347c7e727a18795da27e0f9445c45fe  opcodes/moxie-dis.c
+a04715a10f536c16b9633c7ac19e639e  opcodes/tic80-dis.c
+d37a76154d50e4c04bd1ef17da95da5a  opcodes/mips-opc.c
+82f85f5946700d6818256ee0b9c5ecc9  opcodes/config.in
+fd7f0dadd0b01735ad53809bbdda8d7e  opcodes/configure.ac
+3e9c707e2722f95afa4c99d5b946e027  opcodes/d30v-opc.c
 b3d7452b4310332b7974b34b09f65a6d  opcodes/ia64-war.tbl
-47c31aaf0be1bab36cdd24f33cee965a  opcodes/mt-opc.h
-2ad37f07f722588eb0d71e4101de390b  opcodes/xc16x-asm.c
+c432c0ed4a5da902e01072bb00e214b2  opcodes/mt-opc.h
+b3dec13e60da4ae26465107dc98fdec5  opcodes/xc16x-asm.c
 615bf8dc1c70b14d80be2ae6f31feccf  opcodes/ChangeLog-2005
-9d85af651073b16c65f34f80203d9cfa  opcodes/epiphany-asm.c
-59edf3b57dd47cdea927bf2dbacc2f4e  opcodes/s390-mkopc.c
-5629c56358279c84fb9fd3b4a44848fc  opcodes/cgen-asm.in
-8a9540f1ca11fe402deba4eb4bbd0987  opcodes/moxie-opc.c
-29580d3fdebf51b222a3010eee7dc1b2  opcodes/arm-dis.c
-2b3dd7ef51035f1160f4949354f04f3c  opcodes/aarch64-opc-2.c
-5922ff537624a6f1df211d2ae8958d24  opcodes/fr30-opc.h
-3fb3ffdefc6abed36cf63d57a9c8c581  opcodes/m68k-opc.c
-ae05912954ddee2e4d5d681d672b93dd  opcodes/m32c-dis.c
-4dbb8188259d2eabaefa09443ad48b85  opcodes/lm32-opc.c
-556f3f51a5e769f02298acfeb8bf2610  opcodes/makefile.vms
-6e38b436e28f40be1415101b22913df0  opcodes/h8300-dis.c
-f546cdbdd9507bd7f197f46af731c08e  opcodes/tic4x-dis.c
-635875101df4fc0f21b5f9aad6b6eff9  opcodes/cgen-dis.c
-146c44ed431034b982e67d5e94f3f771  opcodes/m68hc11-opc.c
-3e47348506965c21ff02d3f26072f3ae  opcodes/xgate-dis.c
-9e1152873e265253c54f78886ef99556  opcodes/msp430-decode.c
-02ac55f346a10ca6b25fe820a8e66b0e  opcodes/sparc-dis.c
-c0e4f6a756feac035cc1ac9b76e2b68c  opcodes/mmix-dis.c
+7d6021f2130bc4e65d167a104479fe5f  opcodes/epiphany-asm.c
+0d33a39b693df7712ca387e65130aa9a  opcodes/s390-mkopc.c
+2e20e0b222c6f6dc05cd1e4fcf95803b  opcodes/cgen-asm.in
+43758cf058570dcd47de39e52ae4ad54  opcodes/moxie-opc.c
+412a3dc584732aa94b7a75a2c6c451ff  opcodes/arm-dis.c
+652c555b0e78bab1d9e8bb93b73f5500  opcodes/aarch64-opc-2.c
+3b2c8e7a87b5c1329643df91eae539db  opcodes/fr30-opc.h
+50afc917d1b7eb81571525b5ec8ef99d  opcodes/m68k-opc.c
+e6574cae842308462f6beae39f1cc59d  opcodes/m32c-dis.c
+8e25f8873d57532d02ad2a9ffe919e21  opcodes/lm32-opc.c
+374885d5f05d15f25513ad9bca1de639  opcodes/makefile.vms
+d0b9247e4487350d32c5e9746ff97ad3  opcodes/h8300-dis.c
+373276023413a9ec2542fcf45a8cf29d  opcodes/tic4x-dis.c
+98dcca02eb7e1dc1fdc92face15aec99  opcodes/cgen-dis.c
+16e20269761ef78248ec5d84dfd1fcec  opcodes/m68hc11-opc.c
+f9c1f19d217f3787d35083e6d956882f  opcodes/xgate-dis.c
+8d2dd76ec586e47e4e429b75d9947a23  opcodes/msp430-decode.c
+718c98e6074ff36258761a2225848eff  opcodes/sparc-dis.c
+70f3930e6756645cb7ab6a01f78b876d  opcodes/mmix-dis.c
 ef6602b963f2a903ab9c81134c6b8d29  opcodes/.gitignore
 65eb4d967fb92ec8ccadca5b068c4e84  opcodes/ia64-ic.tbl
-7d6be8df74a1b31755a6febaf85cad06  opcodes/opintl.h
-0eec21f4df29d40d3741f591a9bf0026  opcodes/mep-desc.c
-2a5309a6950e92656fa951a8abb67cd9  opcodes/v850-opc.c
-6eaa46e231081a57896961efffaa0fac  opcodes/xstormy16-opc.h
-839266c29c3ac39c33ed8debf8505b06  opcodes/tilegx-dis.c
-3cb32002be29a7f9e54b73ff9c4eee78  opcodes/xstormy16-desc.c
-82aaf3945f583bc7a047fa93af73b2b6  opcodes/rx-dis.c
-bcccefcdbd47e3b18c5e47ae5dbce1a6  opcodes/ip2k-desc.h
-a66c2e8d40b6aa7ff95ed464cf21cb80  opcodes/mt-ibld.c
-d7f4daa55a992d350a65985b954279e2  opcodes/ns32k-dis.c
-422c0839121f1decf099e8ad9a66c202  opcodes/tic54x-dis.c
-39f83db556da2720956b5659d548d5d2  opcodes/aarch64-dis.h
-2871b522ea6e9a2e7dcabe85d18cb251  opcodes/msp430-dis.c
-9712d636715c15e806e191ea116b59dc  opcodes/or1k-desc.c
-2a35e1158880668173c9ac0a83061d87  opcodes/mep-opc.c
-b2a580e063b610f442430bace3901d9c  opcodes/or1k-ibld.c
-f8267f0351dc04129faae4504e2822ba  opcodes/aarch64-tbl.h
-6c5bdc60d9da7a266bcac7cafbd07b88  opcodes/epiphany-dis.c
-ea4fd9e24e7d4f32ca725bd9a5439c11  opcodes/h8500-dis.c
-3d401144bea83d9a9385fc90c27ff108  opcodes/pdp11-opc.c
+918d3321897af707cc0379a4da55bc28  opcodes/opintl.h
+cdfb876ec4231f8d6b0e91ae7bcee160  opcodes/mep-desc.c
+0b5dd2c75c399a64c708cfe040f06f39  opcodes/v850-opc.c
+c968892f1cc8fe673f8276ecfcace737  opcodes/xstormy16-opc.h
+a134db6ec8595d60ebd58a0a0bfa898f  opcodes/tilegx-dis.c
+f2c1d85b45bd3626deed6de9be73dc38  opcodes/xstormy16-desc.c
+d264d5d9a5079588ffd18d598b7567c5  opcodes/rx-dis.c
+c49b69ade9390807b9ddd4b6e733b223  opcodes/ip2k-desc.h
+18b133a84797c979783e8848afbe9803  opcodes/mt-ibld.c
+4b044d40256f57e3dfc47a7537c7be21  opcodes/ns32k-dis.c
+8a6c0427df12ef4a4cd03e7f5afe3408  opcodes/tic54x-dis.c
+27a833ec17d64f097f4311224655acb5  opcodes/aarch64-dis.h
+704ab7516b80d24e2755a0ba6c3819ec  opcodes/msp430-dis.c
+cef144e5ea44811fead4023b65acdcde  opcodes/or1k-desc.c
+6783e2b9cd0c7418995c817b4f9e6bb0  opcodes/mep-opc.c
+116432f546be17d5c0342861ca1e69d1  opcodes/or1k-ibld.c
+ebd186a00940b8267299523502bae51e  opcodes/aarch64-tbl.h
+f2e7b444826cd90a84336ecb9dcc17b9  opcodes/epiphany-dis.c
+40969e482e04fb10770d1cf37458014b  opcodes/h8500-dis.c
+5e7ee9b67058ca8b0aef3bd9b739c257  opcodes/pdp11-opc.c
 a53680ee35ecd26833d0155b16def898  opcodes/ChangeLog-2010
-d338dbace33639dcdb74adcd376048ee  opcodes/lm32-opinst.c
-f8d1fd7c3af98e76fe8cc8369d5eb86d  opcodes/i386-reg.tbl
-d43e386f57856360b0b0551f069c72aa  opcodes/cgen-asm.c
-96d9a562c1d9bfd38a2e0618b838a60e  opcodes/iq2000-desc.c
-1ce7b83263afdd183dee6572fd13f23d  opcodes/aarch64-dis-2.c
-3e4682e95050e92ad780d25a13f46ca7  opcodes/d10v-dis.c
-984cbd5f695fc4f52617cddbeb7b2f6c  opcodes/i860-dis.c
-66f21970947fcc8b7930e455e9debe75  opcodes/w65-dis.c
-77d7bad6265746b626ab5863be50df31  opcodes/mt-desc.c
-f46d4b9334c17bae9ac9573ec566ecf9  opcodes/mmix-opc.c
-e9ca860b93fbb286b79105d769db7707  opcodes/i386-init.h
-454fecb74ffde0b5ff30836f76d33246  opcodes/s390-dis.c
-d3161c9d9ad0d8f4754e4ccd697b5135  opcodes/sh-dis.c
-d77c205e40adb2dcc4e36631946b255d  opcodes/i386-dis.c
+609da39b18c1de9deed9e93c9c1f214b  opcodes/lm32-opinst.c
+56db140f570e22785e12ff96e7bde89f  opcodes/i386-reg.tbl
+e6d5229ea8219466eec954b5d532f2f5  opcodes/cgen-asm.c
+df3893b23f8dfab49de196eaa0105162  opcodes/iq2000-desc.c
+e16dbdbf1ad4b8d81199b69fdef43baa  opcodes/aarch64-dis-2.c
+6396f2b3b3ea8d4afa9068130ce4c76b  opcodes/d10v-dis.c
+be857f2e550efba81aee8ed282873017  opcodes/i860-dis.c
+6ada743738ebcfecb57f84cbb71740a3  opcodes/w65-dis.c
+b34bf0b25d4c09bdf8e7bbf1595ef59b  opcodes/mt-desc.c
+aca1d00ba0879380e63e9141d33bba3a  opcodes/mmix-opc.c
+46bb9e196fadb8e6e828a2d2a671cab5  opcodes/i386-init.h
+ef8b678d09897ef5d3f6ef8ca733e2ca  opcodes/s390-dis.c
+7956d8d9a9ed3ad78325552465e56702  opcodes/sh-dis.c
+815db1fbf47df45dce38cadf69dccda7  opcodes/i386-dis.c
 cb15aa4673f865ca48ac31c38373124e  opcodes/ia64-waw.tbl
-7c5b8555ec4599c4a661d1d94eefcf81  opcodes/microblaze-opcm.h
-b1149bf4d01a8767b68894a2750cbb2f  opcodes/vax-dis.c
-cb85c4479388f441917b0437d963e3de  opcodes/iq2000-opc.c
-a63d8a0da2d327ec59dd1cf84080be28  opcodes/xc16x-desc.h
-3b3c870edd30ec8dbde6526f261a36a7  opcodes/rl78-dis.c
-17478e413d8666ded6d6b80bc43c4aa4  opcodes/aarch64-asm.c
-5e48080a3abbf12949b59e7a72642085  opcodes/ia64-opc.h
-8a37b442d6698926a6a7263b9d0a6aa8  opcodes/i386-opc.h
+f9bda0de0858156eefb4d6633cac4673  opcodes/microblaze-opcm.h
+8cf5fbb95e5465f4c52ffc2b941cfde4  opcodes/vax-dis.c
+9eef379e50f720bd25f798d2c2de571b  opcodes/iq2000-opc.c
+8634a14718e36d3cf290c819bf5fcd12  opcodes/xc16x-desc.h
+32b55abe07825e63c8728bc86cb44348  opcodes/rl78-dis.c
+6878c204ef68bb0170ce15014b605285  opcodes/aarch64-asm.c
+fc469eecc3ce9ef0fa54e12d02288a7b  opcodes/ia64-opc.h
+c9e28cf0da70c07a27859ca389fb02e9  opcodes/i386-opc.h
 f16659cf1efa8e124a3b8d09ab07f606  opcodes/ChangeLog-2006
-9bd72544ea2fae9827127808a1596664  opcodes/lm32-opc.h
-146ecbdbe2d5168264a3d8e4635fb32d  opcodes/m32r-asm.c
-179a81afcbf1aa7b71d65abb9244420b  opcodes/z8k-dis.c
-2642e90a2884468eca2334642f401018  opcodes/frv-desc.h
-8e3b4445e3e813aba79514c4ce473929  opcodes/spu-dis.c
-3d5ea15a50bbb4907fc14cb6a71fe775  opcodes/z8k-opc.h
+7db49b6e284c0802849c315b3e3d046f  opcodes/lm32-opc.h
+95a0d0eb158edfbb9b1f0dead3089369  opcodes/m32r-asm.c
+f5827dbd283daf67d09db1aacb020664  opcodes/z8k-dis.c
+260a58672d694f8832820c3a4d2f52bc  opcodes/frv-desc.h
+440892fb9f3db7bfc84a214c14c77901  opcodes/spu-dis.c
+3ebbf64e38315dd54a5b88076f5f0067  opcodes/z8k-opc.h
 1718b45c678a851d089ec7c4edaa9906  opcodes/ChangeLog-2004
-10ae25203b34f3208f2402eb4febf9d9  opcodes/aarch64-gen.c
-86af05ab529c1300ca973fabb3e2b2a3  opcodes/score7-dis.c
-5b949ebdd843ebca67b25cdec15ee62b  opcodes/i386-tbl.h
-339e0e959bf15dcdc89d10067e7310e2  opcodes/arc-dis.c
-6a37caafbc2e04c5a0b1efb0c6024f70  opcodes/ip2k-asm.c
-07d1de9c41a98fe0a4e2fb34ccb4c289  opcodes/spu-opc.c
-ad20e1e78a852202d02beff324b173b0  opcodes/m32r-desc.h
-d9e6a72db9c0f4702e13f54e3dd6f5a0  opcodes/xgate-opc.c
-40fbaebec4d48c143981efa7cdb1fce0  opcodes/ppc-dis.c
-db4e34409c519cb9a940a74c87a900f9  opcodes/ia64-dis.c
-9ad89ff5c1ff213f404fee44231f1fa8  opcodes/z80-dis.c
-45fed54457a63110b24d8909a67ab4c9  opcodes/tilegx-opc.c
-9c47412d261eb6a4ecbccb037d7f96e3  opcodes/lm32-desc.c
-86bc40465cf1eb4931bf94e01fecaeaf  opcodes/xstormy16-dis.c
-1cf38b899f4f15d86d7ebc2b0856ecd7  opcodes/cgen-dis.in
-e9870e6a9965af65c74d234ba548d4b9  opcodes/mips-dis.c
-f8d552aa84702afe4d2fd2da5d175dd2  opcodes/msp430-decode.opc
-53a678a290afc7be96a0ffd0a7fb6f47  opcodes/xc16x-desc.c
-ec27e6ac584b0a4a529f66351e30a36d  opcodes/nios2-dis.c
-1b35ab31e8672ede7e4b76a2df3f9003  opcodes/configure.com
-588fcfa8de2c42d6564f4a7ad9f39c1d  opcodes/mcore-dis.c
-b2e93dfb2b65f9d1c8ff94fd47e028d6  opcodes/or1k-opc.h
+6539d018428c20ed35ef22a157a26050  opcodes/aarch64-gen.c
+def05b7542b92337c6bead3838f77e93  opcodes/score7-dis.c
+e5387ee6ee473c3ab8f06e41487dc2ba  opcodes/i386-tbl.h
+77eec02a349de5dbf646a09e361adf4b  opcodes/arc-dis.c
+8efcf9da263ce6c2b7ebec6d658b8f0e  opcodes/ip2k-asm.c
+6039fa25c726c6d7bcccca9b763f8be1  opcodes/spu-opc.c
+545734034af0db08fb97628067e3fe2d  opcodes/m32r-desc.h
+6d342c120f34393cb0d405376ed1d983  opcodes/xgate-opc.c
+9c7ab8d011402ea690eed86c5e7c21e5  opcodes/ppc-dis.c
+5a20d1e0ecb9bf6bf4b01ca2ff4b67be  opcodes/ia64-dis.c
+119b291cfd52841b5e293c56e80086e0  opcodes/z80-dis.c
+3632c6f5a0b02b75f7ef7b0ea951a76d  opcodes/tilegx-opc.c
+7f0daf3ff9ec3879635ffbd71c35fdbf  opcodes/lm32-desc.c
+5ef335c004820e6296487e2483d64a87  opcodes/xstormy16-dis.c
+d8ac20facf0568d01f9fdd1ca3670068  opcodes/cgen-dis.in
+789902a8cb771239729058b3f9c1ced1  opcodes/mips-dis.c
+d0927f6d63e4d21142ebf9e8f8434178  opcodes/msp430-decode.opc
+b17caacd290af8b8b355d5c47b641bc8  opcodes/xc16x-desc.c
+f2b4505dedd73abaa8555427dc2c4ad5  opcodes/nios2-dis.c
+f8f6357365e6301d65d33d93af520eff  opcodes/configure.com
+0486a49de0003b22b358e5d6e0a5d9a6  opcodes/mcore-dis.c
+24faf39670b3000d9c7c5d19ed288eaf  opcodes/or1k-opc.h
+68996a05017e89bfcb87ba83a2701875  opcodes/visium-dis.c
 1ded054093de910d9786c62bc4fe8cc6  opcodes/stamp-h.in
-1631e50773d60bea12210529b4bbeee7  opcodes/m32r-dis.c
-dfb3e7ed0fc589399cc3ff3313f40d55  opcodes/ia64-opc-a.c
-a5632211d447a92d54c259404fbf38d6  opcodes/score-opc.h
-eef97057bdcab917c0640465139cddee  opcodes/iq2000-desc.h
-8a788102b8fd0f6a189f6a32a86ec0ee  opcodes/or1k-asm.c
-da46f2c5f937b496f58a470ac5740a10  opcodes/xc16x-ibld.c
-9eb5db576687a0c0b7d33773597ce34a  opcodes/mep-desc.h
-c88fe6dcfe6ae35f46eac1a127ea2d2f  opcodes/epiphany-opc.h
-e5b81339a77ad6ecc8ecf7c45686ea0d  opcodes/dlx-dis.c
-47ecac73773c6ad976f701b11c2a3d37  opcodes/m32c-opc.h
-abb5458d4682fa8bb586fa0e38403e8b  opcodes/pj-dis.c
-55db6d337feb2e725d7d71807b523c37  opcodes/ppc-opc.c
-5bccebcbb8ac0f3abf98ff8baa963775  opcodes/d30v-dis.c
-a2d21c9ae0cd6cfae20dae31ce7f95b0  opcodes/v850-dis.c
-0004c6ee348c387da17fd080fd21191b  opcodes/mt-dis.c
-4e32cf52281f73c658c083ecaa40534f  opcodes/xc16x-opc.c
+d6c0867747a8431ddb50d0995828150a  opcodes/m32r-dis.c
+09b25ecbca2d9028d2b726e4380e794b  opcodes/ia64-opc-a.c
+c107262bee0921452dd606f07ec5ed44  opcodes/score-opc.h
+bb5cce0e2d05a21ef6b862f4fd4a9f7c  opcodes/iq2000-desc.h
+73c3e47b6eeb41716fdff8b2e27c0517  opcodes/or1k-asm.c
+c69af9b15264a3533470ac682b2cfd5a  opcodes/xc16x-ibld.c
+a33fabf412bd77629d2fd80ab9042342  opcodes/mep-desc.h
+a7e9322c359242c3f02455555e156240  opcodes/epiphany-opc.h
+8cb01ea3c0639cb90434d0d002cf003f  opcodes/dlx-dis.c
+509f797cb303f1ed265559d1f53afded  opcodes/m32c-opc.h
+4d13f8b53892acc99fdd4236901e4031  opcodes/pj-dis.c
+ba0b91cd1c3f5fac50605ddb6b8b1adb  opcodes/ppc-opc.c
+2bde525bee20c13b0f748b142e3b83e6  opcodes/d30v-dis.c
+3819e69192693c44a737c91e160af102  opcodes/v850-dis.c
+b1500b336f795894f7750a9c968204ea  opcodes/mt-dis.c
+c5cefc6c55710567cc64c0a1a1100b9d  opcodes/ChangeLog-2014
+848df1915b1f87822460737e3bff9952  opcodes/xc16x-opc.c
 2adb7cb7865ac91208f5f94fc4d9f397  opcodes/ChangeLog-9297
-55f316cdd1df0fd1f30eecec1d432671  opcodes/avr-dis.c
-b52c283421970f80fb51d3888b2d0f16  opcodes/ia64-opc-m.c
-768cce16bd058175138e724d3f215927  opcodes/mt-desc.h
-a09b73a630a5ee5d8e51f7c4183bbaa6  opcodes/configure
-f76cf2a8ef9634560f672175954c0fdc  opcodes/pj-opc.c
-3548d31377bc0db0833543508dde079c  opcodes/mep-opc.h
+b6d65b60e24a2325db7878d5ca82663f  opcodes/avr-dis.c
+1e4aacb60a474c3e5fa4fc953076fb40  opcodes/ia64-opc-m.c
+ce5c86d43645aa94a3517283cfc9ea51  opcodes/mt-desc.h
+5cb2af716f917fcd262cdf44481924eb  opcodes/configure
+64ddb13ebb759ef58341849844250c8e  opcodes/pj-opc.c
+ea40f71a3b20383641f494eb03ff4521  opcodes/mep-opc.h
 8a252acfc473d85effd618c461d2156e  opcodes/aclocal.m4
-af6cbf3398f6227559f420f182c55e64  opcodes/i370-dis.c
-7fc698b4601f3d2ae2503a0c2bd47dc7  opcodes/ia64-opc-d.c
-593df61bdb74d38bd4fbdd3a0e1db89f  opcodes/ia64-gen.c
-63f615d7087a6cb5d2e15e601c7e1301  opcodes/ia64-opc-i.c
+70e6e01daac148d3f013a77e179c795d  opcodes/i370-dis.c
+1311809fec76f3fdc5bdf0fa81d8c94e  opcodes/ia64-opc-d.c
+035c382dedc02bf7734ac91a017f728c  opcodes/ia64-gen.c
+d8886a0b08b00d2debce5001f51ae289  opcodes/ia64-opc-i.c
 c9cccef32687be7638d956b71f9f56e0  opcodes/po/vi.po
 179cd41f0e8af51dd577fd5d7ab36c79  opcodes/po/tr.gmo
 2db527e334054d9ac3761a15967fedf1  opcodes/po/es.gmo
@@ -6026,121 +6237,121 @@ d7c42d78dd00ae4c8b71fecb736fd17c  opcode
 0354d8ebde8359a359d0703d9d897ba8  opcodes/po/fr.gmo
 45db317868bfb202300160e0657f06ea  opcodes/po/sv.po
 f81ece35a52a1380fe25adba1818d395  opcodes/po/opcodes.pot
-a06b1c3063bae645bbf29461739d8bb4  opcodes/po/Make-in
+db83a1273c631399b69d669c7ce64513  opcodes/po/Make-in
 6e7ae21e20fe177fba4c9c7fe8afa55a  opcodes/po/zh_CN.gmo
 8ddcec300546b39bc1d9a13098637b64  opcodes/po/tr.po
 bbdc560c49ae729616af290d86d1801a  opcodes/po/id.gmo
-da419735376a654a2ded7d972a8cf104  opcodes/po/fi.po
-0f6621782e34b056ed2a95d4e4d8d98b  opcodes/po/POTFILES.in
+ab3a6f178021b7e3a9d8b45e74f9599f  opcodes/po/fi.po
+580e76062e38ed38a7e27233d1684d4b  opcodes/po/POTFILES.in
 08644663c098c4faa0a75ef257ff85de  opcodes/po/da.po
 1b79e075af1926ef6736fa317f054702  opcodes/po/pt_BR.gmo
 55b6639559777f04aadc075e51744b12  opcodes/po/nl.po
 9b0083cb5b9854569bfd39fb4e432099  opcodes/po/id.po
-818c34e9ce704eb614e85ef2c8f896ca  opcodes/po/fi.gmo
+f5a6c0cec51948b050115fb54ea65079  opcodes/po/fi.gmo
 27e9fec6ee5c546b5d5f4afb80b287ed  opcodes/po/ro.po
 8784d443527b3837ccdbd6baab60763a  opcodes/po/fr.po
-6881ecf19052fe945c5dfefc588207ab  opcodes/po/de.gmo
-baba2506d17c4e2214d6fdd5868e6699  opcodes/po/de.po
+3612bc7d78a1e8990285130d72e8e55c  opcodes/po/de.gmo
+c7d09df07629ce49f4d5e7502e746b22  opcodes/po/de.po
 a5961a0281569011fb2468afebe4c4d8  opcodes/po/ga.po
 6b7f6db13ec1f340c587ccd58c898e8b  opcodes/po/nl.gmo
 402cb40ed225c3b5395718630db6e10b  opcodes/po/it.po
 40631143014bf28aa6c4c18fb42c7e3f  opcodes/po/da.gmo
 562b31d0eb4b7b707fc4546c06a3e671  opcodes/po/uk.po
-aa7b4e13a574dccfdb0b216c2281a392  opcodes/mt-opc.c
-57811e242ec0718b2179c4dd566dc5a6  opcodes/tilepro-dis.c
-a5b0cea35dfdd0f38cd6fef34e830730  opcodes/bfin-dis.c
-da822cd55825c1ba9e6f9704e6dad9de  opcodes/Makefile.am
+ace4ac2556d91a09e85efdb806014335  opcodes/mt-opc.c
+53ba10fa2174d2d86522b6c013286a5d  opcodes/tilepro-dis.c
+aea6d2bb007673896316cce4d0fcf1b0  opcodes/bfin-dis.c
+b8eaea140ff478769949e7783534646d  opcodes/Makefile.am
 b192ee206cc807dd92ffe541cb819d6f  opcodes/ChangeLog-9899
-fd28a52f2f193c4ba0ee0b8fc83c8102  opcodes/or1k-desc.h
-1e05806b0b13469a68a223c44ec5beb8  opcodes/m32c-desc.h
-867b3eeb881df0ebfed5ba02d41f7436  opcodes/xstormy16-opc.c
-ed65effef28b3e8074c02d941de4bc73  opcodes/m10300-dis.c
-14df37231a33a532e83898ace86d1a32  opcodes/nds32-opc.h
-6155d92fe981dfa7d4f1bfa05c97b591  opcodes/aarch64-opc.h
-43dee8709ec489761c86274189ce7650  opcodes/ChangeLog
+e8bc7554e756de0529803cb3ea99da64  opcodes/or1k-desc.h
+c7e30e39999a3b6a08e95e1b4e9d3e13  opcodes/m32c-desc.h
+2b2d7be2f3deaef969ec365c2b5d85da  opcodes/xstormy16-opc.c
+7a5ab23a191327b14b953ed6eaea5042  opcodes/m10300-dis.c
+d18c6ac0a3b6ddd782aa63521e33340d  opcodes/nds32-opc.h
+e4d4960361aa74b865605f4e7bd19972  opcodes/aarch64-opc.h
+3ad6bf821dee062bea2482dc56218163  opcodes/ChangeLog
 327cf11f5c08b578f3b0cdb7f3923280  opcodes/ia64-raw.tbl
-6ff01816cceb4c372ba3c249441d7b48  opcodes/frv-dis.c
-fb1849be63610467e09de06cf39af737  opcodes/aarch64-opc.c
-a9debb9f22037e18d1030843e7e43de6  opcodes/iq2000-ibld.c
-272039bf29d8c728e727c7ff6ce95a9e  opcodes/dis-buf.c
-862c2f844ec640f187d276c828fa4656  opcodes/s390-opc.txt
-a36cbcfce422ccebe3f0ee6abe9abdb4  opcodes/metag-dis.c
-8b2cf74a645c954d19b0c407a073c116  opcodes/m32r-opc.h
-2e4ab14ae0d14ad8d52c38e04fdcef11  opcodes/i370-opc.c
-81afdadfed74eddce5b77898f9ad2234  opcodes/mep-dis.c
+44fbf65bc90239d6662482ccb40d94a3  opcodes/frv-dis.c
+ef1137928f4cc5844e71788c40ed91c8  opcodes/aarch64-opc.c
+04c8720f2aad9ef6c18599055e714508  opcodes/iq2000-ibld.c
+6ea6d3dc1c908dcd6ade8b98e3492a73  opcodes/dis-buf.c
+1958b70f7215075a4933c517bb81110e  opcodes/s390-opc.txt
+e75a954fdee606d313600880b7bb08fa  opcodes/metag-dis.c
+c96e24ff6a1a4f863e58f0096f124c75  opcodes/m32r-opc.h
+1ac847c007a0487f49242b214af53988  opcodes/i370-opc.c
+769b29ab862f964e7d06e533499aee03  opcodes/mep-dis.c
 7d7d28737ff404f709104accbd7b7926  opcodes/ChangeLog-0203
-a707d5843c27d5e61b84c2d7228351a3  opcodes/ia64-opc-x.c
-c0f812d5ae97f2cba2e91a46dcc5472f  opcodes/mips-formats.h
-75f60b2f9e4846681b326872815cc277  opcodes/crx-dis.c
-c492a0bc0a71b11bb83603e06db82ff7  opcodes/cgen-ibld.in
-ac1568e79d639a9d15df27dcb61a0e2c  opcodes/frv-opc.h
-0808b10364129dd1eb014f84f8e522c7  opcodes/mt-asm.c
-cff0b1f3ad268bf5b32058d6116def16  opcodes/fr30-dis.c
-74cf95b1175a67317c22e760dc227c91  opcodes/i386-dis-evex.h
-ef4ed3b69e9129ea86aad7a83d495a99  opcodes/arc-dis.h
-978b0c5cecb560a361a81431fe3fe182  opcodes/i960-dis.c
-ee102dbff553ab723eabee8d46d70582  opcodes/xc16x-dis.c
-96e88bc89da3f991945777e0769a6703  opcodes/configure.in
-db6a13a6cc741803b4552586399eb2ba  opcodes/epiphany-desc.c
-c0dbfed5189e772141b6e8bdb9000f61  opcodes/ia64-opc-f.c
+232107a52e2422dddcc8c98646cac186  opcodes/ia64-opc-x.c
+467524d0b59664493865f0d7d0b69075  opcodes/mips-formats.h
+6ace3d340ef9dd7f63ce8ea85c09c062  opcodes/crx-dis.c
+bc1b014262b5b16561188b9398305124  opcodes/cgen-ibld.in
+615119ae17cbe10a6bac8becb5eac32e  opcodes/frv-opc.h
+63d119f47801cdb976c762ee5d911e5d  opcodes/mt-asm.c
+1945f36316139c645e7e4dde6f0197bd  opcodes/fr30-dis.c
+07e69de032d8af06ff3f402d850918fc  opcodes/i386-dis-evex.h
+2067bb434c91415e29e602595d1e9dca  opcodes/arc-dis.h
+ff9aebdd165339742828e5ff701ab491  opcodes/i960-dis.c
+e87a58e34ed95a801f877f51b508d978  opcodes/xc16x-dis.c
+baecbf0fad892d2ef4380ecd985ba0e7  opcodes/epiphany-desc.c
+5d342f987649af36fd95d50e26f93161  opcodes/ia64-opc-f.c
 04f60ce0808d9609bb0bcca4d5d12646  opcodes/ChangeLog-2008
-9922f57315b37a7b1f88d92ad9309e88  opcodes/lm32-ibld.c
-5a71063e3acaf4e7bbaeff9f4978768d  opcodes/nds32-dis.c
-453b6d0b433dfbb4d1f294ddac3f38e5  opcodes/cgen.sh
-26c8875d9ebaaef9e21fb2f0c414ddab  opcodes/aarch64-asm.h
+1ec281dae57503d49231daa186386230  opcodes/lm32-ibld.c
+ad7c9435adef58ea15d67f72aa73ebd8  opcodes/nds32-dis.c
+67254451e936438a1dccb283b4c37055  opcodes/cgen.sh
+e8d96a2b95536b4c31e6b17486118e75  opcodes/aarch64-asm.h
 58e924c52c2bfeef23d22c4f482edcfc  opcodes/ChangeLog-0001
-27cb6ef4b9bba393df0a6da4ca885d39  opcodes/h8500-opc.h
-92e43eb4aee5b3195f0c4a0f98e90415  opcodes/rl78-decode.c
-fd8eaa193b82def70b1a22013f8eef48  opcodes/ip2k-dis.c
+a546d6279dbb0b44dc8af02591a79fc3  opcodes/h8500-opc.h
+9fbb9c86eaccf48fa415b77b07fdd44b  opcodes/rl78-decode.c
+b71c88c57e59f5a9f0fd64b04e613ac1  opcodes/ip2k-dis.c
 d2eb265c6f1b11cf160c1af629a89a2d  opcodes/ChangeLog-2007
 9978b0ffb15f1ad48bc31816517ef965  opcodes/ChangeLog-2009
-14331f5ce3e549544fa2f07acbd1ac48  opcodes/cris-dis.c
-51eaa55a15e7e70aee2f624549b4a23b  opcodes/tic80-opc.c
-72bd85fbfea86aa2772c3fcaaa8be6fd  opcodes/tilepro-opc.c
-9c911e8c22788e671bac417465a85c56  opcodes/microblaze-opc.h
-80a95001527e0f27398af6f16372f986  opcodes/ia64-opc.c
-f327c1655f5bd26865fdfbb6e7152f56  opcodes/hppa-dis.c
-40c86d6a4e60a449bd5acb07fdde0092  opcodes/d10v-opc.c
-718d507bb0c3f4f0884e908a06d44ebe  opcodes/m68k-dis.c
-ae793a9bdd3c16b898e2cfe25fe11ed3  opcodes/sparc-opc.c
-c58968de4edd6f385f875370db7cd364  opcodes/frv-ibld.c
-ee492c0f326fc416616274851029a706  opcodes/or1k-opinst.c
-d4ac2803d3604c812c792dcd27170a62  opcodes/mips16-opc.c
-e808eeabcb8af326f99765b418b8d950  opcodes/opc2c.c
-754b3c62a2f3a43288ec93e31a44517a  opcodes/frv-desc.c
-4729a2833c73cb4aaa52c11d1020cd45  opcodes/m88k-dis.c
-01c6525cf8ae234deed91353d51f8d88  opcodes/ia64-asmtab.c
-f8987db09ff126cb3b21ed070b944b29  opcodes/lm32-desc.h
-367f0354e4a9a7de6be470f0ccaa0e20  opcodes/iq2000-asm.c
-f4c48bede8e5653c969e6b61c442b5b7  opcodes/aarch64-dis.c
-c868d4f7fb4676fb4e8ae608c00bf0ba  opcodes/epiphany-desc.h
-ea042f800f1cd86b7effd7162dae92b3  opcodes/disassemble.c
-dca748b87f7d04e16173ece5d461da31  opcodes/ip2k-desc.c
-fb507cc2924ca3abf5492b4149e3e860  opcodes/rx-decode.opc
-64438fc2ef37bc4fde5d8f914e7dad01  opcodes/MAINTAINERS
-b2945cba10e775e93013deac6ed4b995  opcodes/aarch64-asm-2.c
-55606a0c769b70f68f679e13c4d971be  opcodes/frv-opc.c
-ff77564813e4661272a4f0afa94426a2  opcodes/pdp11-dis.c
-976b7809444c295106f15e7a50241501  opcodes/iq2000-opc.h
-11532df0bfab90f1bb29f05d40dfca00  opcodes/cr16-dis.c
-e2efee20f9253744024c9e394490d1e3  opcodes/cgen-bitset.c
-c8933e9254107769f6beae312eacecd4  opcodes/epiphany-opc.c
-ad792b4fb272b620c788488cf336bb09  opcodes/sh-opc.h
-2ca14fe88a2e8a84204d41b44eb53d42  opcodes/micromips-opc.c
-ffd36fd0d14604e5eb3c6d90dba38c34  opcodes/cris-opc.c
-98cc10f2f27d31dd0c1455c135c2772e  opcodes/s390-opc.c
-d61c81193cb60b3b4f0a5b4776ff8a14  opcodes/ip2k-opc.c
-38d260306443191e4db694d0da59726e  opcodes/sysdep.h
-1ebf938f60a646a74970da34957f1b0b  opcodes/tic30-dis.c
-4b00046f85d9f66d70a514ea3b1fa370  opcodes/lm32-dis.c
-c7009ef295610a6d03872b4f0f5fb204  opcodes/nds32-asm.h
-146f9b78e734c956833c1ac7d441c45b  opcodes/xstormy16-asm.c
-bc2ad108575f970f1f8a4e436d3ecb4c  opcodes/or1k-opc.c
-8d0c9ef29f256605b405157926db4203  opcodes/arc-ext.h
-da9b27dcb8f9c8ebe707fbc5f9fd12f9  opcodes/tic54x-opc.c
-b7e1c487d054fcf48a85283e5e56974e  opcodes/z8kgen.c
-850d1437134d435417bcf35cd328ed7f  opcodes/iq2000-dis.c
-c8b5c6619c229bd86be18c64bb3f312a  opcodes/frv-asm.c
+83d17edafd059bab1e1fb1675ff7b457  opcodes/cris-dis.c
+bad993468ceb339cbae3ae20441149d3  opcodes/tic80-opc.c
+42ee9af9cdd3cb6f763cce1a8754758b  opcodes/tilepro-opc.c
+0a48ba35a363ecf7ef2a7a12dee0f8f6  opcodes/microblaze-opc.h
+41ff0a7fe8422c52b5784b5c2436620f  opcodes/ia64-opc.c
+1e6c6855b2cc79154c05ffc3c34a41c8  opcodes/hppa-dis.c
+d35a20b4f8105ef59f220e489a5a5b36  opcodes/d10v-opc.c
+72f0c557be0a252f18822907fc0d4ba7  opcodes/m68k-dis.c
+ecd42c0c7cc1800a27fa91213622f023  opcodes/sparc-opc.c
+0bff84e63c65ab955d8660efe4786d73  opcodes/frv-ibld.c
+baba0cc13eebbc526511b7211331f884  opcodes/or1k-opinst.c
+2000f523104b2e3a8e0a747c9abbcde5  opcodes/mips16-opc.c
+0594f224958c80c5e8d48cdaf1f1b0e3  opcodes/opc2c.c
+41c47d9b401e705ee4b469c2458a54ec  opcodes/frv-desc.c
+ebb591cceaf1f569af931e4bbd136b44  opcodes/m88k-dis.c
+617f2de5f38a3ba46d4fb7f950e74378  opcodes/ia64-asmtab.c
+4edee7797cfcb5b673526ccfe9c88b2f  opcodes/lm32-desc.h
+85a8e301b20681995305e0e16c2425bf  opcodes/iq2000-asm.c
+138233721590ea4e096bc3a0080c9588  opcodes/aarch64-dis.c
+1de744063e1f8147c58f69a8579ee303  opcodes/epiphany-desc.h
+404315b23b589cf63046c686c35f058e  opcodes/disassemble.c
+2759fbd1d3024c7df331b245e7bb951f  opcodes/ip2k-desc.c
+eaf41a8cafc9e7830b5e1d1eb6ffb3c4  opcodes/rx-decode.opc
+8c796d8a7015c7142896101ca15e9e85  opcodes/MAINTAINERS
+be749a2b3c751482ef895c425fc2d2f2  opcodes/aarch64-asm-2.c
+3b8f8ad9442b037a6f09e98843a26ae8  opcodes/frv-opc.c
+2f38c4cf8e24ab714e5fd6471b1699db  opcodes/pdp11-dis.c
+385eabbbd092298df32e042df7c5910e  opcodes/visium-opc.c
+bd90277ffdb31de5f0cee00e0c8fb535  opcodes/iq2000-opc.h
+ceaa54b7571d8dfdbeb607d130be5df2  opcodes/cr16-dis.c
+f1d2f0427681aa950024647413ab1da6  opcodes/cgen-bitset.c
+e197ec3496a5cb8ae38bf0b03ce09192  opcodes/epiphany-opc.c
+0eaa1eeedc286fe2e8258f1e31cf6c64  opcodes/sh-opc.h
+d3696f418eaf5f22de34b1c51007a1ed  opcodes/micromips-opc.c
+3dc1159941276a13e5c1a209093bc2db  opcodes/cris-opc.c
+8aa2570f5d1e060624ec254963294804  opcodes/s390-opc.c
+9274b9547ba7e115d3a173a25215b261  opcodes/ip2k-opc.c
+e4a55b396e462e5940fb2ad424d361c6  opcodes/sysdep.h
+a242240a0d6b5d3185189fe6395246f7  opcodes/tic30-dis.c
+2d60e824bf69ee2e4f6dcb52092b9760  opcodes/lm32-dis.c
+e3cac3bae0ace5d678a585145985a203  opcodes/nds32-asm.h
+9d1188ba3b68282dde08f23ae95ce463  opcodes/xstormy16-asm.c
+256c04584ea7a80cf5682cd6d96ec679  opcodes/or1k-opc.c
+796add8d4535c4b5b139990a4cb6e9e6  opcodes/arc-ext.h
+b0b63335a560f6bd05837a5e23037207  opcodes/tic54x-opc.c
+21e5a0b34ea10e0d660d0e83f43f58aa  opcodes/z8kgen.c
+db60c74b659428c4d8b1ac42a2786364  opcodes/iq2000-dis.c
+eb8850718dcceac343bcddfb1ff1e1fc  opcodes/frv-asm.c
 dc1983a2cdbbe9417a0782b17ed0782b  readline/savestring.c
 4471d29e8a541b39059bd96a389e6cca  readline/xfree.c
 a101965beeccedfa39e87b593ecde637  readline/histlib.h
@@ -6148,7 +6359,7 @@ a101965beeccedfa39e87b593ecde637  readli
 bbfd19f836fc28d722aca0929f398c00  readline/shell.c
 3f0812a6f5260a91c5199c656181cd64  readline/MANIFEST
 ecdaa2726989bd29ea1b65d9e7dd8057  readline/complete.c
-b88492abc4fde1973800a1da59055021  readline/search.c
+6114af14184be043ad782f380a9f115c  readline/search.c
 1a586babafce1cb2556dec55740c13a6  readline/xmalloc.h
 be3ee99a6642b61524d2954b19bf92eb  readline/undo.c
 1f3fac632735eef4dfb63f39569f5533  readline/funmap.c
@@ -6254,7 +6465,7 @@ d5f318938c05345afba3549cf934b701  readli
 0bab71b938eb344efbe8916f3d57bc65  readline/ansi_stdlib.h
 b9e16581391c601fc4010699d10d5da5  readline/kill.c
 e8cf9ce0ae23eb40b5e2b191515ce1e9  readline/posixselect.h
-64054eb78e5670f3448facb3bedacdf6  readline/ChangeLog.gdb
+5856667929cffed9f3a4311b162586d6  readline/ChangeLog.gdb
 4fc90f2cd3046270639a6475d8db57c4  readline/posixdir.h
 a9d91440157f3e5cc44a650de8ee01ec  readline/CHANGES
 383c4ece59e820d6eba4de16bde4cdd5  readline/shlib/Makefile.in
@@ -6273,341 +6484,341 @@ abb50c292da10141146dc24cb9519840  readli
 07c33a285703b40cd6f93a478e97e03b  README
 72b7803505f14cf31e291a59f538c6c8  README-maintainer-mode
 7b02c44a314f206525230d9a0a89144d  sim/common/nltvals.def
-d5b71c968fa9968db265c78e45d7207e  sim/common/sim-endian.h
-af1ac1dc49bde12bd8595bb7ffc1111c  sim/common/sim-basics.h
-a25b4741a5f29876426ad11ba7184c38  sim/common/sim-io.h
-66b052473ee2fd0c905d371bde5ba26c  sim/common/sim-core.c
-7c7c10f0235bbfda61fa2c4bd4b70766  sim/common/sim-endian.c
-e1ce50ed0bb4eb150696ea40688420b5  sim/common/Makefile.in
-49bbb7a56c7bc4b6a7e3d8f3986df2fe  sim/common/sim-watch.h
-d53ef3a51a833885294c4269fa8c677a  sim/common/cgen-par.h
-b8c73f6da753187f99ad88e823fb3faf  sim/common/version.h
-e960e92446a67f2ad6eebbcf7fdceb5b  sim/common/sim-cpu.h
-038eb6aeb31763ed21584150f5bddbfb  sim/common/cgen-scache.h
-dc782eff34644703bc7642e08a25fc7c  sim/common/sim-options.c
-e7db878ea101a25968443f1fe353cd8d  sim/common/sim-engine.h
-bbe189c25211672390d68bc1cf93ec92  sim/common/sim-watch.c
-b869571c39486d2d98892d257c797b13  sim/common/sim-info.c
-75860b3a7d1ec9ac37ad51cb031c3905  sim/common/sim-cpu.c
-bc316fa57e85e1b32da8671c6cef5448  sim/common/sim-reg.c
-ab317f820c5d76cc0d6ec633d00097a4  sim/common/sim-bits.h
-fe2aea33460d39ea69deaddd8a3e0b58  sim/common/cgen-mem.h
-296da30b9db3c196d8fd5a2af93a636f  sim/common/cgen-scache.c
-e47d4a30d6d38edad0f366369ccfde72  sim/common/sim-events.h
-4b82a2bdf1842c122b94f5eff2593f2d  sim/common/sim-arange.h
-5db4f77f9034cc47f70d7a633982cb1b  sim/common/sim-base.h
-f36c50c5a982116600b54f5acb918645  sim/common/sim-bits.c
-139f0038e26f085b8168adc17757ffe5  sim/common/sim-n-endian.h
-6d05d57489b5d0266c76add364928d1a  sim/common/sim-hrw.c
-99ee145d1bbb0ac5a9bd539043f2f452  sim/common/hw-base.h
+7216d6afc3b0abb9b43c921a02bf5e89  sim/common/sim-endian.h
+0810b3cc806ddcc00fd63bbc7154dd75  sim/common/sim-basics.h
+0bb9f24d4e7ceec6477b5479bf2205d8  sim/common/sim-io.h
+bb75b7853232098127224b3c18e3c8c8  sim/common/sim-core.c
+ccc368d1b6a6aedbed7ffc98611c2022  sim/common/sim-endian.c
+d72023110b2e5f738c46ade45f8d9562  sim/common/Makefile.in
+e98d5ba6421aa656359ab0f3fab8856e  sim/common/sim-watch.h
+86cad540ce931d685308f27a6a4089dc  sim/common/cgen-par.h
+5581afeaa652324466a7c9c8a5f82930  sim/common/version.h
+02b08912a87ec46d543a3ba1c7d6ab33  sim/common/sim-cpu.h
+1d540c848f3ea9df434094751565cba8  sim/common/cgen-scache.h
+312ed0782820357b4d9c673c2716aeae  sim/common/sim-options.c
+073e49cbe16e2a189c79063f46ba7fe8  sim/common/sim-engine.h
+acc3c8390e1fff65584e102544c464f9  sim/common/sim-watch.c
+b3eb9d9ff4a1ecafe3a688179b2ffc6c  sim/common/sim-info.c
+f7edd1e9f48c4a5ab4b0b1c6b4a896e0  sim/common/sim-cpu.c
+fc39b873190fa38b11d77b5be2b23cc1  sim/common/sim-reg.c
+9f2178841b94710d423415d059bf08e9  sim/common/sim-bits.h
+c122dab4ea72311af6aa024e5797eeb5  sim/common/cgen-mem.h
+ffd1fbd864c59cb74302b7a21c6b346c  sim/common/cgen-scache.c
+bfd5ebe2e0f3702897957ba1d49b92c2  sim/common/sim-events.h
+663670ee3b2da012ba50a33abcb16ec9  sim/common/sim-arange.h
+a7cf2d80ead3a39dde6c1709a0a25e2a  sim/common/sim-base.h
+d0df257ef28a738012c1013bcb7fccd6  sim/common/sim-bits.c
+99d32cebff0c533a083fd617d56ffe5d  sim/common/sim-n-endian.h
+5e1fc6213bfdd3d1d3d7f983a36f20d3  sim/common/sim-hrw.c
+ae6e718849e47f4cc0404e5dcfb71cb4  sim/common/hw-base.h
 0cd5aec0350eb378abd59b9e9c5050e3  sim/common/gentvals.sh
-c4a81fc44eba63fd6638326bc191c8dc  sim/common/cgen-trace.h
-20b41cb31b5c6bb64fae3793ede9ee21  sim/common/hw-device.h
-2b5c4cd29e0556e3b890e80c5af1a6df  sim/common/hw-instances.h
-6b86e4e12b3390b4ace64fee0baf223c  sim/common/config.in
+6ce56d5c0e80a5ce05b211639deda22e  sim/common/cgen-trace.h
+5b0852144bd40a7f3a204d34d3688d82  sim/common/hw-device.h
+6f644b5575e3929ce0ceefc3d259b0ac  sim/common/hw-instances.h
+972b514b774a40a0165058b8e5e37707  sim/common/config.in
 19e6baf3d02f4e62bc462107c23b1aaa  sim/common/configure.ac
-cea7876b2c5f4eb91be5b4def3aca3bc  sim/common/dv-cfi.c
-1af56ae06031cfe4e35ef075448a93ec  sim/common/sim-arange.c
-263370648e9b6e092384037959e4e5d2  sim/common/dv-glue.c
-fda9199b9594e4f7356025999452f1ce  sim/common/sim-profile.h
-00eb1292da798a08ac2cfaba5afa1968  sim/common/hw-handles.c
-2305c183600bb6c7a96185c811c9b445  sim/common/sim-assert.h
-f3d00a4a3ac4fa2e4f2df5bbefcf07ec  sim/common/run.1
-bf96d9e5b7233fa091764e9182cdfc2b  sim/common/sim-io.c
-45611a29f95e1bec19ae83ab603248d5  sim/common/sim-n-core.h
-e3bd89ca05f526953a1cce405f57a45e  sim/common/hw-events.c
-89c1f5f76dc062998255a2f72cc7c85f  sim/common/dv-pal.c
+0139a7f43cb1c3eaec6ce41e47f4a11d  sim/common/dv-cfi.c
+0c37adc3a5f0f68fbe649cc1c5db15cd  sim/common/sim-arange.c
+04949f1fd753a20f9706e54921d4812c  sim/common/dv-glue.c
+1861363dafa68b6a46989f4285a075ee  sim/common/sim-profile.h
+56c38819b4d9b9c80916aa7aaee8f5a6  sim/common/hw-handles.c
+7badba54d44dc85411ece23279eeba4b  sim/common/sim-assert.h
+ef9a7e901a466c56a4ba36cdffaaea8b  sim/common/run.1
+a8b39c15e6a4d52471b6ca315f1b3130  sim/common/sim-io.c
+798d9d796ff8ea76ef002c09e6e88004  sim/common/sim-n-core.h
+74fc722501ecddf63ab1f379479ecd54  sim/common/hw-events.c
+6aae46fe20852535d597cee2b3158e44  sim/common/dv-pal.c
 bd5c87daaac42725e636fe648650fc7c  sim/common/tconfig.in
-b72f52f41751859b9c1856562700e29a  sim/common/create-version.sh
-0bb3c4bda4ceb1dcdf8a10759376a454  sim/common/sim-stop.c
-65ddda932c9e28436b8c3ce69d6a15db  sim/common/sim-model.h
-f6306e901da975d2a4973f03c8782871  sim/common/sim-hload.c
-7b9f161ef8b543775e9800f6c7a12a45  sim/common/sim-abort.c
-3c0a0722224ddf4ffba4ee979f745566  sim/common/hw-tree.c
-c4f21b80bbe008eca0fd338f875d4fba  sim/common/hw-device.c
-e2c7b098dd647bf67af5035f296e5238  sim/common/sim-options.h
-8ad13d35cc0719d5d7f21a3074a6c889  sim/common/sim-fpu.h
-946af2878081ff8caae107bca41ffdfc  sim/common/sim-memopt.c
-6fa6fc29fddb4398b43466e94bf8f021  sim/common/sim-command.c
-9a8cccf7f530a3d2736a0daa7aa556d8  sim/common/sim-profile.c
-4e89bd5bd789c6b9858ab4eaa8feb914  sim/common/cgen-defs.h
-6b4acf00302d852ed2452e9956be8328  sim/common/cgen-run.c
-f99dba5c350e253af34fd953e9d5effc  sim/common/run.c
-3a356d6796eff4a186832b649031db25  sim/common/sim-types.h
-165e4739a6d5cd7114b7b090ccd95a8c  sim/common/nrun.c
-f99e444a1322dcba30cfd24bd4728e0a  sim/common/dv-cfi.h
-6aa1e5cd40432aad6012564fbcbb2e2a  sim/common/dv-core.c
-cfaffd8405f4b970fc499d756521eab9  sim/common/cgen-ops.h
-7c9bb9d1c5ab8bd8d8ea83572acb9288  sim/common/hw-ports.c
-f930e05d5e9598895102f08c9731cf7f  sim/common/sim-trace.c
-96dab8206421852326a248320b6e07b1  sim/common/hw-properties.c
-5983a559796ca5250b1b2388c518e215  sim/common/sim-signal.c
+df8bcba6990153af38d9bdbb0f11db12  sim/common/create-version.sh
+7b3d6d32b44255976f4a706572f4cf61  sim/common/sim-stop.c
+ea8705aab4fbeda2258f3340f63cbec7  sim/common/sim-model.h
+568944494c610bf7c1f12971b456bad4  sim/common/sim-hload.c
+3e8bee847ec2af77fe6d9fc0dd5d81c5  sim/common/sim-abort.c
+5026c5074d445427c7c351c41921d0f4  sim/common/hw-tree.c
+676a083a788611a1123fb07b1ee53f38  sim/common/hw-device.c
+0f677c3395f48c09ae2bce556c80410d  sim/common/sim-options.h
+22a48bb6a186c67320d1abfcf2d00b39  sim/common/sim-fpu.h
+914652007859130607819a09335ebb46  sim/common/sim-memopt.c
+3df284632b402aaa68921fbb33471a53  sim/common/sim-command.c
+1f59c59d4fa14cb9b06adb0e8309f766  sim/common/sim-profile.c
+53aacba7882e08374ca0d091364e0546  sim/common/cgen-defs.h
+84cdcbf6122ee24a14f76d88fa6bc9f7  sim/common/cgen-run.c
+8a3860e3a2a550a9673b0cc8b0108be6  sim/common/run.c
+b7cd1d44f2a90245e2fe98a5e5dcc8ad  sim/common/sim-types.h
+a526d2177a04bff74814cc46e80293a1  sim/common/nrun.c
+d5d79f444b38ce29bcf99e0ceff44437  sim/common/dv-cfi.h
+b4ecae50aaf21970cf835e84bf0d8393  sim/common/dv-core.c
+db6c0dedc84f871c18724cc0648b0630  sim/common/cgen-ops.h
+e9899641fb73e77fcb2fc1f105d42561  sim/common/hw-ports.c
+f77662cfe5c0e11be4a3c4f8fb378df8  sim/common/sim-trace.c
+be2b8d73470315a8e08805ad7f281686  sim/common/hw-properties.c
+8afd06aa804a77e634f9ca491d72daa9  sim/common/sim-signal.c
 e411408b876d3d66730db0ef1041f8ce  sim/common/cgen-accfp.c
-e9080d4db695dc6e5588225f36f5c639  sim/common/hw-alloc.h
-9414c4b707214fc0df8a43c80e623152  sim/common/sim-load.c
-1bf8de4d2bff79c2c5bfab3e5081e45a  sim/common/syscall.c
-ed5a0686d24c99feefe5fb802bf1f60d  sim/common/cgen-utils.c
-84d9c5be77d531696c5839bba671f96b  sim/common/sim-signal.h
+734417f06ec4f22f41cc8b913f61c5ec  sim/common/hw-alloc.h
+ce997cc437f3ff08ddfbaf14a3a51c42  sim/common/sim-load.c
+259e416c91e2746e8a74a51b716fa505  sim/common/syscall.c
+61039a0333d927231ae9222f74eac4c4  sim/common/cgen-utils.c
+9c2550d1827d06ebfa79a5814cad4537  sim/common/sim-signal.h
 8f28fcffb9bc2314b963a8ed2f333dfd  sim/common/cgen-fpu.h
-c6224e9c0998c98625ee7ee92dcb1872  sim/common/sim-inline.h
-efaa4b501302fa15ffa334735937f535  sim/common/cgen-sim.h
-2712516c7e0734322648ca497931fead  sim/common/genmloop.sh
-5533e2ba0f2fe92172340ca8341dc900  sim/common/hw-alloc.c
-0e492cce492075895b2427d4e4ea93db  sim/common/run-sim.h
-2a88f50a032cdea225ca7a02a49c6c34  sim/common/sim-fpu.c
-2f9ad7543c9a20ae011953b2385a1e41  sim/common/sim-module.c
-7ff3d1f21ec4107b36e2290636d444db  sim/common/hw-instances.c
+f3b3b36f96ee6cf7e45b35d8c264f93d  sim/common/sim-inline.h
+4929a2223279d0ee4be6870755030d7a  sim/common/cgen-sim.h
+d549fd0f02b0ec46c38f542a67c33f77  sim/common/genmloop.sh
+c96015118a5e0e7a99c27d6285ec2ca7  sim/common/hw-alloc.c
+f2db502f5218af4d383b1a40c215e49e  sim/common/run-sim.h
+a4d2a65f7753da68658fbb8acf3ae4e3  sim/common/sim-fpu.c
+3c27179fbaa0e7d67b5fcfe26c6b9ccf  sim/common/sim-module.c
+ac5e22bb879f86d98a9822fccf9e365c  sim/common/hw-instances.c
 1108e67ac8f33b61a3a20289771fa105  sim/common/acinclude.m4
-5e6792315e2af1e139f593d1af7624ce  sim/common/sim-alu.h
-895f8aecb05246f7ba8fed089a7a64ed  sim/common/configure
-2fecf875a4ed1333467247f0b796fe44  sim/common/hw-handles.h
-3f5fc2c2a3f548ad0478d08563f46f57  sim/common/aclocal.m4
-b8db6f5b780abb888fea2aa3e44cbc1c  sim/common/cgen-par.c
-7cbb5d115ac76952f1babf21f62156fa  sim/common/sim-trace.h
-5caaf8ecd52c68cc45cfac77d17b503d  sim/common/sim-n-bits.h
-cd5402ab947e8f62a7d11ff7606f2ee8  sim/common/sim-config.c
-b57da3b06581ef23ea1ade2bbce2c3b7  sim/common/sim-hw.h
-4160d0c451260143ef60eaad853cec9f  sim/common/cgen-trace.c
-243123d9e87354f5f3217538e37f3df0  sim/common/ChangeLog
-afaeb93dc30322d5fcb00e3baffe3442  sim/common/sim-inline.c
-30564ae41c2a12adbb86d52660355e28  sim/common/sim-hw.c
-c9027c058752c6429aa2eec297255f8a  sim/common/sim-module.h
+02203697157e8cf0b3827196494d5920  sim/common/sim-alu.h
+61dcc324e8762d380c267f3e915fadef  sim/common/configure
+99b3f781c04d017ea1cb2e192ac4cc1e  sim/common/hw-handles.h
+c070048b5472f95e6d207e4add0e7717  sim/common/aclocal.m4
+4257aa780d8f9867af02d163b84d5136  sim/common/cgen-par.c
+ced48f460d35e4cd579faecfabe9bb25  sim/common/sim-trace.h
+465c3ed51bf85d9085a4ef19f252d82a  sim/common/sim-n-bits.h
+875b0fb4fa6bacb9860d08104c62b60e  sim/common/sim-config.c
+80973d8cd5f3c5957bf9bb1c783e3cf3  sim/common/sim-hw.h
+d9256b046d082c427a93f0a8eb1773a4  sim/common/cgen-trace.c
+e095c033a88822ac2b64c8d011ea9bc0  sim/common/ChangeLog
+c1dabedfe093921c167eb45571588b50  sim/common/sim-inline.c
+4cd7a71d57a45d0f640dab621d25136e  sim/common/sim-hw.c
+62d403b79f2fd6d5a405694f446d6dbe  sim/common/sim-module.h
 ed8b05c07d34977e0e69ce33032d809f  sim/common/cgen-fpu.c
 4ac4de2f5cbaa78e805d696918722ad1  sim/common/gdbinit.in
-32da544a39fdca6afaae138f9df04a1f  sim/common/sim-events.c
-6d169331a56e29e49851713af62b8c48  sim/common/callback.c
+7f8fe935b3fa44ad899a1081db1e6951  sim/common/sim-events.c
+80f174ed22ec18bae64ab70fdc1de399  sim/common/callback.c
 025dcdf5925933a2d0a1b4e1e1c00ce0  sim/common/cgen.sh
-edf0fe68e6c0b00f8021bc79fcf3cfbb  sim/common/sim-utils.h
-a1a5c9d4e47b3da42721c663ead912b6  sim/common/hw-base.c
-eec5533cd0951658f21fb80d0303a1ac  sim/common/Make-common.in
-f8976fb65170cd6c5e12c80a502d2ed3  sim/common/hw-events.h
-09f26eda99b914b77405d84b14c75393  sim/common/sim-config.h
-5b624817fe3eb86473b695aa5556a968  sim/common/hw-main.h
-7d4ca916638ca6acd42e766844d31427  sim/common/cgen-engine.h
-6d5589ef335d484a5af2757eee0d28c1  sim/common/sim-resume.c
-02a038c1bb4f2e6e598318c67c17dc31  sim/common/sim-engine.c
-5899535945cc0e297bcd895959a931fb  sim/common/cgen-types.h
-95ac0c8a243ed46fc5f27fe82591bfb9  sim/common/hw-properties.h
-41bd6e597fed3c37f7f4ce9c993a90d1  sim/common/dv-sockser.h
-12cc55546b5f922f1672a1426a4e21f2  sim/common/sim-utils.c
-223e7014b4735e72b4b9775e85f190dd  sim/common/sim-reason.c
-3ee454a17c3590be6d24cec137a1d955  sim/common/sim-core.h
+3dfb37e2e4a805be7633d58f03ca4163  sim/common/sim-utils.h
+79dbf7af30712e29994c9b4742121cb4  sim/common/hw-base.c
+438f7a175bc27c47f49b4080df3b86cb  sim/common/Make-common.in
+894f0d3eeaaead11c205f98b2910bd06  sim/common/hw-events.h
+d1eacd0e3049259ea548047626a74e1e  sim/common/sim-config.h
+186946a4233d42eb704ea907dabb333e  sim/common/hw-main.h
+98f1d830201ac3949fe7415b6f6488e1  sim/common/cgen-engine.h
+c2e382b4b48eaa6e5366db375320e0ca  sim/common/sim-resume.c
+39d10d4b3c2b7b60b139c31e5b82c534  sim/common/sim-engine.c
+6d1c9fd80c39f45b3d0693ba8686dae0  sim/common/cgen-types.h
+53bce11a784c8d79f90ac2b9b68bb270  sim/common/hw-properties.h
+2eaba3b429ccd06ad75a3cf40ad50f9b  sim/common/dv-sockser.h
+ab8b4cb5006a1f18e119648901e0c7aa  sim/common/sim-utils.c
+5320fc2f92046d8c534ad1dd19b139e2  sim/common/sim-reason.c
+6238f172036709c4de2326f11edd925b  sim/common/sim-core.h
 a1b6136be9b3c7b12911dff2b8357b97  sim/common/gennltvals.sh
-978b352521af1371422a77b24afd7db4  sim/common/hw-tree.h
-1a79b6378122d8e701a7233d66604050  sim/common/sim-memopt.h
+d2354b3721c6c44821d73843c21aa03c  sim/common/hw-tree.h
+f7fc4869154e34323e7bd440d605c929  sim/common/sim-memopt.h
 5d3ed8a89347b07c6e8c5d942325d008  sim/common/gentmap.c
-c1dfaaa20adf2e18d1aa61a03478ac7a  sim/common/hw-ports.h
-a3c4799568e22a1642578c2137dbdb19  sim/common/dv-sockser.c
-d92482af9efca9724677157f800e5b8f  sim/common/cgen-cpu.h
-1fd83bce71d153ac5dc29a8f774c95f7  sim/common/sim-model.c
-58722c3a52f2bc31aacc870e0f16c79b  sim/common/sim-run.c
-b328644152009cea84ad76cb8ae21734  sim/moxie/Makefile.in
+1113705b576a0552f3e03c71c93325c1  sim/common/hw-ports.h
+42ac7c3fdd6f9ea9187152e347fbdf05  sim/common/dv-sockser.c
+67a3d5de810a9d59d834b38aa15add3c  sim/common/cgen-cpu.h
+c0c3a1eccc3448337a4e3929e3cb1d05  sim/common/sim-model.c
+bd9b844b47eee3a076b85e8b7b566489  sim/common/sim-run.c
+45a5048645f6a5fac710dfe57f579514  sim/moxie/Makefile.in
 52a9849a86689a7ee1f88ce34bbd60ac  sim/moxie/moxie-gdb.dts
-c0c6a50b13479a8edbb89380d4e7a1d9  sim/moxie/config.in
+744c00be31943d99ce6a5f943eee04b4  sim/moxie/config.in
 93482e62e51e1d6c85c31a9510aafb91  sim/moxie/configure.ac
-790ef47687a2cbb02d65ce724c70d49b  sim/moxie/interp.c
-f4cb568cda6535197ebdec406b692f4d  sim/moxie/configure
+af29d5823cafc9fe2cfd4bd9aff947cc  sim/moxie/interp.c
+f0f15978006d7467ee393673043cd8ca  sim/moxie/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/moxie/aclocal.m4
-f979b4496a0e978e776b1c7984a5abc0  sim/moxie/ChangeLog
-b4bfef670c0b61568082a04f0e2932aa  sim/moxie/sim-main.h
-8749a27efed5f0c82be673bae48f7d0d  sim/moxie/sysdep.h
-6f19c73ab837af76d4effbc6ce6c3a6f  sim/Makefile.in
-06f33b833a5a4ef618874d2ead3694da  sim/msp430/msp430-sim.h
-f140e227162956041180c92bcc477395  sim/msp430/Makefile.in
-3b4a112254529fcac240d57d948d4d18  sim/msp430/config.in
-a6b704c9ea6a7ae712873c02e3fcb583  sim/msp430/configure.ac
-4d56f653628c84c67aa7c21fb737c2a3  sim/msp430/trace.c
-d4a0ef7c8ec3dcbe267e80ae24bb7265  sim/msp430/msp430-sim.c
-3c7297f83b28e47e3b3ae0e6fa194997  sim/msp430/configure
+6116dac05d0452616596c6eb045992f6  sim/moxie/ChangeLog
+7487529381536336b978f2d4b3ff2c61  sim/moxie/sim-main.h
+89c489ab6fc294618bdfa11d99a68d9c  sim/moxie/sysdep.h
+363b2a66f2c0a92bb5ac950379741ec5  sim/Makefile.in
+7649352e08ef6502e6634030453c0fe3  sim/msp430/msp430-sim.h
+309984628504031bb2cb4ba31df8bf39  sim/msp430/Makefile.in
+58ef1b3f9fbb9d27a8fae62c8c0678a6  sim/msp430/config.in
+f50bad8e127ecd985b25f11d98e84276  sim/msp430/configure.ac
+a37887e2d7fb75added0d4fa84a35c2f  sim/msp430/trace.c
+eb490ce9b42d94ad1e2d3c6ab12ab2cf  sim/msp430/msp430-sim.c
+61707175d2f90a563e95bc31d25f4960  sim/msp430/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/msp430/aclocal.m4
-813bc5e086cd7034f5ce9b44848a8e65  sim/msp430/ChangeLog
-ba34871a450d3d69db0d7fb29f70dcc2  sim/msp430/trace.h
-b7f3c53cbfe1eb3c41d93897c3977896  sim/msp430/sim-main.h
-bdad51dc840c08a5cdba4beea5580529  sim/sh/Makefile.in
-f53321324a92d228d616fb592b68690d  sim/sh/config.in
+e46748af86980bceeb95ca1a56ccf225  sim/msp430/ChangeLog
+a067246653d833174afd16a7fa9f93da  sim/msp430/trace.h
+286dd5615cba3c3c1f2c4284dcc9f369  sim/msp430/sim-main.h
+0c79967d3f61c8181ccb66cc5c9af47f  sim/sh/Makefile.in
+5496cda35c337b3806fe06c67dd24584  sim/sh/config.in
 10e2d243d24d49e6536a568de1f67bc8  sim/sh/configure.ac
-906094942d44b3938dca210bdf91daf5  sim/sh/gencode.c
+7c2eab3cd6c5efd98f8b044532b5f215  sim/sh/gencode.c
 d0f4fcd32d377647d675b8d3ef85db09  sim/sh/tconfig.in
 7b38fb44b1e42d13ed6a69fb99b7b993  sim/sh/interp.c
 485762a39054bcf5bf3a3ee2a4de586f  sim/sh/syscall.h
-9ca2200466b31c02cb57da133c7d2503  sim/sh/configure
+e3faaf3deb2966a1376782206b8afa41  sim/sh/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/sh/aclocal.m4
-71729c49e92d73aee3d75de9e5919d61  sim/sh/ChangeLog
+a78a31f97651b784e6ee36217de92439  sim/sh/ChangeLog
 afd9cbd34a7ea99ba02812493e0d6712  sim/sh64/eng-media.h
-9605ed46064a0df0905c572171f8e5c6  sim/sh64/Makefile.in
+0a27154e472171f2362a6be2d98f2973  sim/sh64/Makefile.in
 5d324bee9f66166b122b0864f3a90ff7  sim/sh64/decode.h
-beb02ed48661d3441eeffbaff2c2b46b  sim/sh64/sem-compact-switch.c
-0d3d49bdca949d49b5534b1271ef34b4  sim/sh64/sem-media-switch.c
-5c181fa3b1c03819daee4848216eaea3  sim/sh64/sh64-sim.h
-6d86f8fc5ac2512778bda986fe7e2634  sim/sh64/cpu.h
-212956b9e7b9c23ec6655502d373425a  sim/sh64/sem-media.c
-c0c6a50b13479a8edbb89380d4e7a1d9  sim/sh64/config.in
-fd043bd9a0c178050b1101281550a676  sim/sh64/configure.ac
-6f67c08b61559ea6f9de3a0f8c1a0f32  sim/sh64/defs-compact.h
+107755f1aef7316b3bae991a3f3830bf  sim/sh64/sem-compact-switch.c
+8ec982649f31411602b18a61927bbb9c  sim/sh64/sem-media-switch.c
+ac5ce6f84d347002144093828eb8aa9a  sim/sh64/sh64-sim.h
+89ee5fcc280427d35e068c9f6b49efc9  sim/sh64/cpu.h
+17d6d780a859776cdeb356be681f961c  sim/sh64/sem-media.c
+00e45f323b2055a3473ed246826fdca7  sim/sh64/config.in
+8aea9a967538b3c3dd059f9cc93c7c74  sim/sh64/configure.ac
+c403e89235d6bb019745c82a09a39e35  sim/sh64/defs-compact.h
 ac213d1c73055fd163b9db0c56963dfd  sim/sh64/eng-compact.h
-8db14a6d029fe0887bf8c761796626c9  sim/sh64/sh-desc.c
-8202668d882414b5b3844d95ea1cdef2  sim/sh64/decode-compact.h
+cdcbda1b6d83de43b68c54e2c226b2d6  sim/sh64/sh-desc.c
+b392b6699c08f6057d0f8eb7ffc98986  sim/sh64/decode-compact.h
 16ef05475d28f88f3cffe19f1743a5eb  sim/sh64/tconfig.in
-329dcabb87b442dc6165650f93ac1df9  sim/sh64/sh-desc.h
-32680bc5ae4ac4604ebeb6d6c2d07bd4  sim/sh64/decode-media.c
+d943a2ef93d4d10b4e02653d5436bf48  sim/sh64/sh-desc.h
+9d8d76b50ba745c5041c753938de66f2  sim/sh64/decode-media.c
 afae0b57695fda02335f53ed36037a39  sim/sh64/mloop-media.c
-cd56a9082d312c4fe6161e862d4835b8  sim/sh64/decode-compact.c
-b4acbe64f098936fced81996c060af40  sim/sh64/sem-compact.c
-626e1ebe8bcd02044a783f9f2ce11104  sim/sh64/configure
+045b1be53c3775461c0ac9cf57d6ba41  sim/sh64/decode-compact.c
+0fdd963c430dc94278b2a6f5377fa1ec  sim/sh64/sem-compact.c
+9ca8f6aa89d27f427a86a3326c7e1a46  sim/sh64/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/sh64/aclocal.m4
-d5b8dcdd020ff1fba565ada926dc41e7  sim/sh64/arch.c
-48ece124a105ea23c4b3e44d3016b86e  sim/sh64/arch.h
-d4dff611943ba0e8ba6f058e86609109  sim/sh64/cpuall.h
-849bdaef51ffbf08b30c7378e347378c  sim/sh64/ChangeLog
-a935c763b67b33dc518ec1c7256fc411  sim/sh64/cpu.c
-4928f5edd79f5fced1a334e98d349d0b  sim/sh64/sh64.c
-06d961f6824b12dcb6ea159d2d561e0f  sim/sh64/decode-media.h
-52d808467350881de3295d3b35325658  sim/sh64/eng.h
+63def51a8a6be8769c7c6e7d7d2e3cb2  sim/sh64/arch.c
+c594d9a0aa122b698d304f1381627985  sim/sh64/arch.h
+f00a1f6325a800ce5c4125dc2a483d9f  sim/sh64/cpuall.h
+34277002c367954b5693cbcecee0adf9  sim/sh64/ChangeLog
+627845cb0164278ef216b8269873236d  sim/sh64/cpu.c
+36adf86f5d4e329474a8e1d666c9aeb2  sim/sh64/sh64.c
+695630134686f4310b3a16974a30a52d  sim/sh64/decode-media.h
+413bb601039b60be538e87a73de3c927  sim/sh64/eng.h
 5b99599096dc654535fd4a12919319ca  sim/sh64/sim-main.h
-6cc7b0cfb65dcdda99c960f8d5f408bd  sim/sh64/defs-media.h
-a287acb666240b68851670e5e9d02810  sim/sh64/sh-opc.h
+53eb3e2c4c7cb095bda8dfb14549a47e  sim/sh64/defs-media.h
+b5e0c186fabc64aa98feffe0475c78f1  sim/sh64/sh-opc.h
 3aae7c2203bcd595b5b014f96b84a8c8  sim/sh64/mloop-compact.c
-3419a97efc5dcd0e1cf2d93b22341072  sim/sh64/sim-if.c
-2f9052a07d639d135e7f05ddc9ff863e  sim/frv/model.c
-7462a15b172929edcc615a19bf6a5675  sim/frv/cache.h
-de0b282db7bfa7fcf0db7f4e0c06e39c  sim/frv/pipeline.c
-467c5193901a0bba74d843a97511055f  sim/frv/Makefile.in
-4d2a814e07aa123b91ac53111e675d93  sim/frv/decode.h
-0300430c5e0e6ebe900dcbc2c03eda86  sim/frv/profile-fr400.c
-a97154d11cb21361f1c568521a77a241  sim/frv/options.c
-755ccbcdf383bc2ac491dea262ea3832  sim/frv/cpu.h
-a6febf13f544c9c40631f037930d5b38  sim/frv/frv.c
-c0c6a50b13479a8edbb89380d4e7a1d9  sim/frv/config.in
-513b611ced830b2d95b66a1447159594  sim/frv/configure.ac
-464dcd27aa6eef9442363e0b203ab222  sim/frv/profile-fr500.h
+fa0cd01c016241368bac70cdd8059731  sim/sh64/sim-if.c
+95f5d375c9c66544eae172d83d608998  sim/frv/model.c
+8214480c64d715601a4bc7cd21fb1c2b  sim/frv/cache.h
+06be16f2ff8b2cce526ae4a48a2cf74a  sim/frv/pipeline.c
+edf12d28ac2b176f70e383262671a6ec  sim/frv/Makefile.in
+680aa82128cbd16552ce272398f9f47b  sim/frv/decode.h
+cab5a4fe0768734b5971bb14224ea852  sim/frv/profile-fr400.c
+9367bf0e700de0915812b2081c8edb3e  sim/frv/options.c
+38e072def6ad76278dac90e6269af024  sim/frv/cpu.h
+f8e4413ccfaa705f08c36450ba62a9c6  sim/frv/frv.c
+00e45f323b2055a3473ed246826fdca7  sim/frv/config.in
+b396babd0c34e5f3f8714df4641e6ba2  sim/frv/configure.ac
+37135ed3f26f1d546f044acdb197997f  sim/frv/profile-fr500.h
 1dcb16936dd94db21e5b82f208506a6a  sim/frv/README
-700db9af8c7fe3466af851cdcba4167c  sim/frv/profile.h
+e1449b4499070004e5b780c4f4da3a3b  sim/frv/profile.h
 87e1b2f71a8938597514fda93676e466  sim/frv/tconfig.in
-bf2147e705af042f0e8c61da1f715013  sim/frv/traps.c
-d6dfce08f187a2cd8933b0c7803125c3  sim/frv/cache.c
-97691654f1ff5ca577b5c1d003b942dc  sim/frv/frv-sim.h
-4db5c8cbf165b26412603e35de1d7e8e  sim/frv/mloop.in
-f6d093af6c209d4371e6f1a6db8b9c0b  sim/frv/registers.c
-3e9ac7094533db5bc9f12cfea671c9a2  sim/frv/profile-fr450.c
-1292b31d7972ee8ecf8ac698d5acb954  sim/frv/registers.h
-3b3979f931e56c4da1d6fe9a446da483  sim/frv/profile-fr500.c
-03522583535234d645867568d49b0c88  sim/frv/devices.c
-630a71be45e998f111fec4611944a590  sim/frv/profile.c
-94eae3ed9ce9571f4aec2acda232e1d7  sim/frv/sem.c
-87d6e6f7c47bfce7a5f113a8f807456e  sim/frv/profile-fr400.h
-800b95bbcb51dbe465ba80208c63ad09  sim/frv/configure
+1f0cd2573f010c06e0ba36bf0e323b8a  sim/frv/traps.c
+29c2b70907ace66b0ef17d61780ccaa3  sim/frv/cache.c
+4b88a514e71f010fcec046a0840f2c31  sim/frv/frv-sim.h
+bee44f9a98c87e0c7196ed8cf695150a  sim/frv/mloop.in
+cf4b509ed6b169b9cac9424fdc32301a  sim/frv/registers.c
+0ab98113a6676268d924592a0bd1adf1  sim/frv/profile-fr450.c
+c5dd5a565192b7250db24473d74614a9  sim/frv/registers.h
+7222310db809d95dd74c07ca95190862  sim/frv/profile-fr500.c
+da5a99111bd274856097499e3dc888a9  sim/frv/devices.c
+bc754893cd364d87dcc51492b398c62b  sim/frv/profile.c
+e64cde2bd90145ea5b819fe83ec41ef6  sim/frv/sem.c
+b2e4c06f46803c3cdff5987d99ab4d41  sim/frv/profile-fr400.h
+6777b996874ca51751c75e593f2b928c  sim/frv/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/frv/aclocal.m4
-f33b47b9ba9ac7c588033d4cb53a8430  sim/frv/profile-fr550.c
-3e99233200e2b3ec8d0da5a7145b735c  sim/frv/arch.c
-091f0bea4f69579a2a98d13b1595a20b  sim/frv/arch.h
-075497e86176fd08420e8aab2f7216db  sim/frv/cpuall.h
-86b27172e8c53e8496be007c80b035ff  sim/frv/interrupts.c
-b692a726c6cf84c9870d55b3d487035b  sim/frv/ChangeLog
-c28fc8c1b657a86ba25e484feffe9e0c  sim/frv/memory.c
-a90567c37c17093da69808b3ab94cf8a  sim/frv/cpu.c
+d782d1030655526fa56fc07860a5307e  sim/frv/profile-fr550.c
+07cf287e3e4640bdc00a4b17cba381e9  sim/frv/arch.c
+241cd239d2ca47e70e23561823370740  sim/frv/arch.h
+96d377a8a525839ea81b06ec389d79ea  sim/frv/cpuall.h
+579edc4040a39e428ec02195a1ca7734  sim/frv/interrupts.c
+7648be69f65855cb476b3e124c33425a  sim/frv/ChangeLog
+8512377cb993126503804eb0fdea98cf  sim/frv/memory.c
+ec695a7191bb27173ef38d9f38587630  sim/frv/cpu.c
 4327df77a7932a933cf53cd14051fdc0  sim/frv/TODO
-2dd412e308acfeb90cc4c8ad9ea6cb05  sim/frv/profile-fr550.h
-f99c565f03c301570b62c4b671444d0b  sim/frv/decode.c
-7c36aafa5f98a23d1a288f817d465a4f  sim/frv/reset.c
-541c8107bcf486e4a3c8eac18e44be8b  sim/frv/sim-main.h
-2dce1fdec4acef599f02bb56f547a80f  sim/frv/sim-if.c
-cc6cc015d5eeb7b33b7fd7d9d10d3102  sim/rl78/Makefile.in
-2d8ec00ac48923920506a192b3866c8c  sim/rl78/gdb-if.c
-1266c8b8ab0665abefc6aae50a2bdbb8  sim/rl78/cpu.h
-4a703cfa2b8f067f60f69b5dd729b3f2  sim/rl78/config.in
-7ef03b22c3e5b18a6fea23f67d76eb03  sim/rl78/configure.ac
-f70439fef635fe6d39346380fd7edbfd  sim/rl78/trace.c
-694bfddaeb46fc91fa804213ec7a7db8  sim/rl78/load.h
-522739f257c5afcabec2b87bae8004e8  sim/rl78/main.c
-32fa1bf7c9f609492badaee63e72e738  sim/rl78/mem.h
-da3d75107a65a8ea0fb4e298aed2f5a5  sim/rl78/rl78.c
-6bf365a3c4a9b2562d946979ae0efa99  sim/rl78/configure
+c8f85de11f8e1268945243e83ce54efa  sim/frv/profile-fr550.h
+614ea6e4800dc3753e096e63678dba24  sim/frv/decode.c
+dbb7e9312bcca5f08c6ede10d8d6d36b  sim/frv/reset.c
+dfccfef5fdcb59c7824a6e347790e5ab  sim/frv/sim-main.h
+32b54dd73cceaccfe83e69138d601b35  sim/frv/sim-if.c
+fd749ddb16c9f08270de20066bc186a2  sim/rl78/Makefile.in
+89454ddd78c05c5c7a94f3009ad1adbe  sim/rl78/gdb-if.c
+4417344d2a8bab604f7b04149ccf9d72  sim/rl78/cpu.h
+58ef1b3f9fbb9d27a8fae62c8c0678a6  sim/rl78/config.in
+317167391384e5a774add70f415268d7  sim/rl78/configure.ac
+bb8f0c960a6b492ae16a678991a2278a  sim/rl78/trace.c
+bd6a6bcc0de71fc9913cee71555102a1  sim/rl78/load.h
+a6f630282fd1de95b04091a17d30cd81  sim/rl78/main.c
+7a9587ecfd9c3322e9a01def0f65211c  sim/rl78/mem.h
+0761edf101132416ffe2a66d180aa433  sim/rl78/rl78.c
+d27d9e1c82810e42a1dfa495a8ae9ddb  sim/rl78/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/rl78/aclocal.m4
-f99b9d5896d1e730ee13a02493b6fbf6  sim/rl78/ChangeLog
-f9c31cd2eaca18adf3b7956c4766fd7e  sim/rl78/trace.h
-347d5d6d1e207446a03e6979df740651  sim/rl78/cpu.c
-54ace9060a16f7fd892d174b1584fb20  sim/rl78/mem.c
-1425aa798a7a656ff03ed7f58c4b5a7b  sim/rl78/load.c
+6e00ee3751d0125f23e4dc2f4e5c9391  sim/rl78/ChangeLog
+7c3541334d3fa478c6bdcb5e6faf230c  sim/rl78/trace.h
+066b2c6d233f05b22263a8ff92c26d4a  sim/rl78/cpu.c
+bdd24e8fcd722342e29e90aac34f3191  sim/rl78/mem.c
+7e1ff2ba4c53d3e0154cc18dd15f3377  sim/rl78/load.c
 9a1c7518fbaff29b874185a3fb0ec141  sim/configure.tgt
 4aabc998e48449506d742d45903a5f62  sim/configure.ac
 bdf44b255db4c6ab7fa91ce65cd71acd  sim/v850/v850.igen
 343bbcec33069e5661e14fc16b9adf16  sim/v850/simops.h
-c679d127f00465244e78d5df8b6a1c59  sim/v850/Makefile.in
+4184b8ad07e463f97870ea20f0a180c4  sim/v850/Makefile.in
 fce55a67a93b5aec52c04f730c71272d  sim/v850/v850-dc
 0fa8effa89216314bc8c741ebabd1591  sim/v850/simops.c
-6125e56b80df3d9bcf2c55aa14d1d992  sim/v850/config.in
+e2deab8fb7c72d5204acde16d0a395e6  sim/v850/config.in
 43c8a2f424b12ff80b9a8a417b5ff951  sim/v850/configure.ac
 5be894a40ad061ddb10cc74af505e506  sim/v850/v850_sim.h
 34655d4ef4519a497702cfdcbbb41e98  sim/v850/interp.c
-b9bbdd07d66f0e3acd87a8b8f94c2829  sim/v850/configure
+6f18c8cdb842434d7245c7068a688c3b  sim/v850/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/v850/aclocal.m4
-4894ca32f2426541229bc9cf399c2e32  sim/v850/ChangeLog
+b039936b2191014c03297c6d642003d1  sim/v850/ChangeLog
 817a4305c069a4cf55f0736c74cddc7a  sim/v850/sim-main.h
 941d8476e5adfd53d999413a26e5ecde  sim/.gitignore
-d301d826807b5e7da93f6cbad6b66b21  sim/mips/dv-tx3904cpu.c
+bb2b2d0a6e62209f9647e0a17fee9f97  sim/mips/dv-tx3904cpu.c
 d30898fdd5510461d70cb70cf86a3b15  sim/mips/Makefile.in
 7f57bec4befc510a50b53d8f77d09806  sim/mips/mips.igen
-e84701e282ba402165a2c67d61f199cd  sim/mips/sb1.igen
+41d5cd17ab3aff551f5a518661373538  sim/mips/sb1.igen
 61566dc2819979301d3d92473a37bbc3  sim/mips/m16.dc
-15cf2bd96a68e6d21859983613cf9214  sim/mips/dv-tx3904tmr.c
-a9e13d16cfca89e8c742b7cced7b7ed4  sim/mips/smartmips.igen
-1e00a8edb1960b573c24302b1235f152  sim/mips/config.in
-fb76bbd3235529001bc948ec312c0905  sim/mips/configure.ac
-85bbcdba4653d54f83cf2b8a6162a90c  sim/mips/dsp2.igen
-86f73e235b50611edeb9bb35f9a104e8  sim/mips/dv-tx3904irc.c
+4879690451cd74f184f9bba593dbed89  sim/mips/dv-tx3904tmr.c
+e0be6dce03813a9b2c0ed5d9a9550916  sim/mips/smartmips.igen
+0afb48d0b7db3dc88830585db5d768f5  sim/mips/config.in
+fa32e7fa453485ee69f4e63ed9a48941  sim/mips/configure.ac
+bc2a18dfc010221983237b5ca96ae61f  sim/mips/dsp2.igen
+2b22bf945aecef6567286d6b3b1741d9  sim/mips/dv-tx3904irc.c
 abb22a9d5379ba0ce9b549c226489663  sim/mips/tconfig.in
 b35a5093e668223efdc8aa2ef2d27f8b  sim/mips/vr.igen
-c281d86fcbcc53b8fc0719e0d800ca2b  sim/mips/cp1.h
+b5af9dd96617826f75ad7464e1332588  sim/mips/cp1.h
 aebddc49cb536e43807dc07c59042ac9  sim/mips/interp.c
-9d4f87dee6537603e2726e5f1b0100fe  sim/mips/mdmx.igen
-b847131129141c1f7082d3fc7e428d27  sim/mips/mips3264r2.igen
-fe558379b1188d5e09075968017e6d17  sim/mips/mips3d.igen
+a6b538fd696bb7e1f8358e97bcd10c44  sim/mips/mdmx.igen
+b7b41cd91632eafb06571bd7df4d0bcf  sim/mips/mips3264r2.igen
+cee3687af892260ea33bb7cf3022dcc6  sim/mips/mips3d.igen
 eb993ed4f8fc20d301575429c9985b3e  sim/mips/m16run.c
-4a57354c79e4205d2f00a74875874a5f  sim/mips/dsp.c
+d9cbaecd690af101c1f19912c3a60d8e  sim/mips/dsp.c
 0cc85f54d1aaffc21fa0a619b2e23020  sim/mips/mips.dc
-2c108d29bfbe1badcde1c75ba74683f1  sim/mips/configure
+71676c1727c2f39c1aabcffde54f82d3  sim/mips/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/mips/aclocal.m4
-5de6cfde5ac0afca912931581c233978  sim/mips/m16e.igen
-8dc59a0a17e1171fb0b96d5b83893337  sim/mips/dv-tx3904sio.c
+6caa94d0d12732f1a0d893ffa3943c95  sim/mips/m16e.igen
+bf3e148fb49bbaa380095a326cbdcc4d  sim/mips/dv-tx3904sio.c
 8793eaebb46c2a817387548abc7ef322  sim/mips/m16.igen
-3367b667d96aae5c2b7d6277156624e8  sim/mips/cp1.c
-e02ce1ba0acf881e21e9a76a4c60b05d  sim/mips/ChangeLog
-67f4873adabdf266643960d283f94303  sim/mips/mdmx.c
+df222181912a66a59595e9bd5f3acf22  sim/mips/cp1.c
+b9bfcd89bb24fb8e57009b63dbd6caba  sim/mips/ChangeLog
+3970b6436272e2e4d8785709d60684f9  sim/mips/mdmx.c
 462b2f2a8de9c7b0e9b0d3e3f49e7422  sim/mips/sim-main.c
-03c76b704b153f0689c99a633d590c29  sim/mips/dsp.igen
-9749e39a1551d7977324cf1f8ac2777f  sim/mips/sim-main.h
+92837b88c82b15829d2058c431fb2f82  sim/mips/dsp.igen
+b89f757051342701ea08af86d27e2c13  sim/mips/sim-main.h
 e90e73eee445d44f164749dc8d8c0a4d  sim/mips/tx.igen
-b5c30b3860b7de1b4c294722d563e5e2  sim/microblaze/Makefile.in
-f53321324a92d228d616fb592b68690d  sim/microblaze/config.in
+4bfc99ebd2518a5abca1e8b9b3dcf73b  sim/microblaze/Makefile.in
+5496cda35c337b3806fe06c67dd24584  sim/microblaze/config.in
 10e2d243d24d49e6536a568de1f67bc8  sim/microblaze/configure.ac
-7aa259be075f3dde19c574da8bc24110  sim/microblaze/microblaze.h
-68ef8bf7fd2c66bd1558be5e2768795c  sim/microblaze/microblaze.isa
-d99c0d141e58e86193e8608895c8444b  sim/microblaze/interp.c
-9ca2200466b31c02cb57da133c7d2503  sim/microblaze/configure
+04f6445ca1e55769c643a122a2efdfc9  sim/microblaze/microblaze.h
+5343e1837bb975a9e788d2ec21dc02e5  sim/microblaze/microblaze.isa
+b2de771fbc9b337af64edda0e9f0b856  sim/microblaze/interp.c
+e3faaf3deb2966a1376782206b8afa41  sim/microblaze/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/microblaze/aclocal.m4
-83008294052826ef5598d9186d982aad  sim/microblaze/ChangeLog
-8071c643c9c2ae7ecec59e205071e733  sim/microblaze/sim-main.h
-17b8cae4266afad7dc809a18de13299f  sim/microblaze/sysdep.h
-c0b9ea9af7cd031cdb1a9912903c17b6  sim/d10v/Makefile.in
+fb6778ee8b13a8553e63fbc10498d179  sim/microblaze/ChangeLog
+60ad835afc215c51982bbda721e34094  sim/microblaze/sim-main.h
+731235b14af054edc5d2b1fb706b4743  sim/microblaze/sysdep.h
+19fb50eed4368141e3790cd0eb75622b  sim/d10v/Makefile.in
 edc65b1f32b4123f36091576dbaa57df  sim/d10v/simops.c
-f53321324a92d228d616fb592b68690d  sim/d10v/config.in
+5496cda35c337b3806fe06c67dd24584  sim/d10v/config.in
 e1e8eeb861a2f2281fbc2c298c16d800  sim/d10v/configure.ac
 2feac436102be660789c4677d0e9b050  sim/d10v/gencode.c
 2e7a326edc7a66a4d562b6ad62743b9d  sim/d10v/d10v_sim.h
 b7d73ca4eac3807a31040c78c15fd299  sim/d10v/interp.c
-3cd428b024ea74710c811e063ec88c22  sim/d10v/configure
+602d4c1617893d0aba88612a49a67188  sim/d10v/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/d10v/aclocal.m4
 7cf4cd44539377c57e6d64f3715397fd  sim/d10v/endian.c
-a801c814be2419bdc4ba2923104a73ef  sim/d10v/ChangeLog
+2190448199ff2d2e098851c69f629ea4  sim/d10v/ChangeLog
 6f85f5b126eda2839d687ef1b5cc9587  sim/testsuite/config/default.exp
 09db0759c17936e2d8cf6dea6eda8fb1  sim/testsuite/common/Makefile.in
 2c97e49ca99e657e07ca12a6fd5d6f69  sim/testsuite/common/bits-tst.c
-b0a6de53a6bdf1c3c5a922d54578f5db  sim/testsuite/common/bits-gen.c
+8b9e487e8cd2aa305ce3754347e02626  sim/testsuite/common/bits-gen.c
 56912c8f1ff672daf4dbab4a0fb12a54  sim/testsuite/common/alu-tst.c
 874ac49fc37d49f2822c8b409d285004  sim/testsuite/common/fpu-tst.c
 8b1814b871166305ec8fc7a06cc9a84d  sim/testsuite/common/Make-common.in
 9980219e011c42205bbd14e46d21fc8f  sim/testsuite/common/alu-n-tst.h
-207d62f6f17a40e2368c38c2daf45e45  sim/testsuite/Makefile.in
+2a0341990a06e34f2c53bebbaf3e1ca1  sim/testsuite/Makefile.in
 d24df2803b828fb585a79a6bb0568016  sim/testsuite/configure.ac
 c3159efacfaf9907b2cd1771fa08d97c  sim/testsuite/.gitignore
 9147d179b9aaafa081eb989a0394e3df  sim/testsuite/sim/msp430/add.s
@@ -7939,11 +8150,11 @@ c5f8f5f2c95cb9061411969f8552bd60  sim/te
 4e33f6ab389381ede55a4ca40ca14064  sim/testsuite/sim/v850/shr.cgs
 c5cadbab939f31f2815550c2e1bc4ff4  sim/testsuite/sim/v850/testutils.inc
 8c015488bd973b121a5372038ddde9da  sim/testsuite/sim/v850/divh_3.cgs
-ab392c4e8671c7a750876108824d6bd7  sim/testsuite/sim/mips/mips32-dsp.s
+a9cd7df01a169c438f5061aa200f42c4  sim/testsuite/sim/mips/mips32-dsp.s
 b19e0c53b685c87920887bc87dba4579  sim/testsuite/sim/mips/sanity.s
-357bf19672179f0ecca66152d7d3fd0b  sim/testsuite/sim/mips/utils-fpu.inc
-c7247b026c7d2641c61e59417e8e0242  sim/testsuite/sim/mips/utils-mdmx.inc
-8300594b74e0729aede196bb1aa956da  sim/testsuite/sim/mips/utils-dsp.inc
+7b9f2c172b3f06823f6fd2464dfe3a48  sim/testsuite/sim/mips/utils-fpu.inc
+25a8c874351a87e000828376c5c76a4e  sim/testsuite/sim/mips/utils-mdmx.inc
+b7272875c10aae3a2fafd371bf595f8a  sim/testsuite/sim/mips/utils-dsp.inc
 23824f277c77ae50de4132ab689dc997  sim/testsuite/sim/mips/fpu64-ps.s
 3fdc735394ece4337c6e541fadb7b150  sim/testsuite/sim/mips/basic.exp
 4a5328391392623d88e0157152bf5cdc  sim/testsuite/sim/mips/hilo-hazard-2.s
@@ -7953,7 +8164,7 @@ f535e37ff22fed8de46db57afce1f650  sim/te
 010a7642804f84eed2c5d95c2e113505  sim/testsuite/sim/mips/hilo-hazard-1.s
 a7cc9277eb6ba36b256b2c80492d102d  sim/testsuite/sim/mips/hilo-hazard-3.s
 a0345daa8894c45868a5049439d9f4bf  sim/testsuite/sim/mips/ChangeLog
-3c5bdaf703714582b3a29c52c3b2b462  sim/testsuite/sim/mips/testutils.inc
+b1afda783f3e80a9f56f455d65c61d76  sim/testsuite/sim/mips/testutils.inc
 e0d825bc919d1cecf677c3a680ae289e  sim/testsuite/sim/mips/fpu64-ps-sb1.s
 f419d8740920121331afb15e71725c80  sim/testsuite/sim/fr30/bnc.cgs
 d5c3720a8d9a8fa88fb45d97681466d2  sim/testsuite/sim/fr30/cmp.cgs
@@ -8277,7 +8488,7 @@ d74cffc2804266c55d97d7b03388e421  sim/te
 ecbeb52370b71fd859dc5f48b2bde71e  sim/testsuite/sim/cris/hw/rv-n-cris/quit.s
 3073a96241c996d1c0c68974914f74bf  sim/testsuite/sim/cris/hw/rv-n-cris/trivial2.ms
 dbe2031bb4db0e18eb8b262a35576545  sim/testsuite/sim/cris/hw/rv-n-cris/irq1.ms
-c02d0f5f0d410b8e87436581289e234a  sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp
+c2a3c260e499d46df253c0ed535139c6  sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp
 f6d32608623f87d96663d265b179fb6f  sim/testsuite/sim/cris/hw/rv-n-cris/trivial4.r
 c9091f1850cd8db0e2d3f3696e91054a  sim/testsuite/sim/cris/hw/rv-n-cris/testutils.inc
 a2452f548d0fe6d247d6a5b6b4d62721  sim/testsuite/sim/cris/hw/rv-n-cris/wd1.ms
@@ -8394,7 +8605,7 @@ c173fb572b6df495c772e07f5363d46a  sim/te
 bd42a08cc8373b1308928957194e0fec  sim/testsuite/sim/cris/asm/andq.ms
 1cb26c9bde7c3993c284d50c6720f91a  sim/testsuite/sim/cris/asm/movepcb.ms
 4afaec581991cef7a06f93749c270620  sim/testsuite/sim/cris/asm/x7-v10.ms
-8f6c11a0263416e0cc5a47cbac6a308c  sim/testsuite/sim/cris/asm/asm.exp
+30f45c84b75b96d25c2630fb1cb04099  sim/testsuite/sim/cris/asm/asm.exp
 5697dbd11faf9c4ae8d1ac633b1bf571  sim/testsuite/sim/cris/asm/opterr5.ms
 0789486ef7e7e48f0d011b6753e0a61a  sim/testsuite/sim/cris/asm/raw12.ms
 0324485cfaaf9118b075dfe3c7b1e3db  sim/testsuite/sim/cris/asm/tmvm1.ms
@@ -8533,7 +8744,7 @@ dedbe73fd0801fd79e3926d56d5d3b69  sim/te
 498cda002f91b397e6317146f285ca85  sim/testsuite/sim/cris/c/sig7.c
 749c4a65acd72ed14fa1ac3b2cb21028  sim/testsuite/sim/cris/c/gettod.c
 e91673e9386c7e482814039f1fe08e3a  sim/testsuite/sim/cris/c/uname1.c
-d5013d0c411a5959038d566d21b4b6fb  sim/testsuite/sim/cris/c/c.exp
+81a7c1c6ad59de795b5fedb950004b9f  sim/testsuite/sim/cris/c/c.exp
 3b8aa26ae0d326bc2f6c5e7b6b0d97df  sim/testsuite/sim/cris/c/readlink5.c
 8d9ec2d8e98873231644fd2928eedd11  sim/testsuite/sim/cris/c/getcwd1.c
 255e7480e65cb422a35a979131718266  sim/testsuite/sim/cris/c/readlink11.c
@@ -9772,7 +9983,7 @@ e01849a2a91f6a30da3b9580bd8f40c4  sim/te
 9d81d781061b56b18755a36cc6d7395f  sim/testsuite/sim/bfin/c_ldstpmod_ld_dr_lo.s
 1a537e86920e7c20e7b7361e136656e3  sim/testsuite/sim/bfin/c_dsp32alu_search.s
 8e21d6a9f8648f5755f0c545c603a2ac  sim/testsuite/sim/bfin/c_regmv_pr_imlb.s
-b418a67f3a669bc201384ab4722b0acf  sim/testsuite/m32r-elf/Makefile.in
+df2e18b92ff214af8722b47ed1988424  sim/testsuite/m32r-elf/Makefile.in
 aeb9f246be0c025b69dcf144b916ce33  sim/testsuite/m32r-elf/configure.ac
 61aac381a61d722e21e84faa6146d7be  sim/testsuite/m32r-elf/loop.s
 fdcd1bf835b2c2a0ce2ec539624e2a6c  sim/testsuite/m32r-elf/exit47.s
@@ -9780,7 +9991,7 @@ d855cd1f7a63aa5913126e4c9cbbdca4  sim/te
 36e51fd3fa445f63573cffef4da15282  sim/testsuite/m32r-elf/configure
 0f367d89ae3bfb9857b54ec9c8d5331f  sim/testsuite/m32r-elf/ChangeLog
 449514df5e8ab95f40571816df47e77c  sim/testsuite/lib/sim-defs.exp
-b30eda19cd85c364ec33a0d7cee1bcc3  sim/testsuite/frv-elf/Makefile.in
+c43dc5cb3b541ea24657eca6c2e277c9  sim/testsuite/frv-elf/Makefile.in
 ad3cb74cb4f5e1145c323d436230b3f4  sim/testsuite/frv-elf/cache.s
 aeb9f246be0c025b69dcf144b916ce33  sim/testsuite/frv-elf/configure.ac
 02ebc2d23f1397660d56c21d6a0866c6  sim/testsuite/frv-elf/loop.s
@@ -9791,13 +10002,13 @@ b03f73b590c393cd710f753106cd5184  sim/te
 e30b4c8b1165f133ffd45b28034a33a7  sim/testsuite/frv-elf/grloop.s
 a9ebbfc9b80f599ad1a3f12a8e4ed937  sim/testsuite/configure
 1321b9ac8c35361d5c51b63bf1e27cda  sim/testsuite/ChangeLog
-f529fcb857eaef282671d7fac5c57343  sim/testsuite/mips64el-elf/Makefile.in
+7c6c60d05b942957b6f30582ff549448  sim/testsuite/mips64el-elf/Makefile.in
 aeb9f246be0c025b69dcf144b916ce33  sim/testsuite/mips64el-elf/configure.ac
 36e51fd3fa445f63573cffef4da15282  sim/testsuite/mips64el-elf/configure
 4448a565fade03a70e100fb18519a9bd  sim/testsuite/mips64el-elf/ChangeLog
 266aa2fe095d30aad29b83c25851971e  sim/testsuite/d10v-elf/t-ae-ld-im.s
 ec7bb92d79cec389c2cf4685d0c91150  sim/testsuite/d10v-elf/t-slae.s
-6fd51ddce00bedc3b3be76d8320a080a  sim/testsuite/d10v-elf/Makefile.in
+f29c609dc8b18725a50147c705433557  sim/testsuite/d10v-elf/Makefile.in
 2c65c61ce821576fd7642ae775e053ee  sim/testsuite/d10v-elf/t-ae-st2w-i.s
 d68929f5405fbc0fa82b417d61e8389c  sim/testsuite/d10v-elf/t-rep.s
 c52f1cfa2ba8e7eb55aa93e564a0164f  sim/testsuite/d10v-elf/t-ae-st-i.s
@@ -9848,61 +10059,61 @@ be230dfdf2fc8a9548a086fd285ea00e  sim/te
 655e71f960343e657e230eba7ecb5f61  sim/testsuite/d10v-elf/t-sp.s
 24adce9358d8640ca6ae226ecbeb41c7  sim/testsuite/d10v-elf/t-mac.s
 744e0ee2abcec900b154f72ccf20434f  sim/testsuite/d10v-elf/t-mvtc.s
-7bd697d3e6fa07baafcb3c89afd273b2  sim/avr/Makefile.in
-f53321324a92d228d616fb592b68690d  sim/avr/config.in
+0509694a436194c35525cb7b0c44dea7  sim/avr/Makefile.in
+5496cda35c337b3806fe06c67dd24584  sim/avr/config.in
 8bd719d3c014d2c2d004522bdddfa99f  sim/avr/configure.ac
-1cfb27af7bad4e0a5b5f880c9a6a0716  sim/avr/interp.c
-dd299e6a75d06d7a27176517a299e725  sim/avr/configure
+58adce15d5187388a99492262fa85e1f  sim/avr/interp.c
+7e6a899d2ac41c3f4982b74f874f331c  sim/avr/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/avr/aclocal.m4
-47d4d50d300cb1edb5101fbe8d4b5799  sim/avr/ChangeLog
-7c4f5d38aa4d9c6f8e0a47b35c60ca79  sim/mcore/Makefile.in
-f53321324a92d228d616fb592b68690d  sim/mcore/config.in
+c75a3e1b151007899d6823933db0fd0b  sim/avr/ChangeLog
+67045b6d5b863b45bcb7174c8ba81047  sim/mcore/Makefile.in
+5496cda35c337b3806fe06c67dd24584  sim/mcore/config.in
 10e2d243d24d49e6536a568de1f67bc8  sim/mcore/configure.ac
-18a0d4e85a7f9ca51deb231108be3ec9  sim/mcore/interp.c
-9ca2200466b31c02cb57da133c7d2503  sim/mcore/configure
+71a893e7ea6e34784561138efd80c2da  sim/mcore/interp.c
+e3faaf3deb2966a1376782206b8afa41  sim/mcore/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/mcore/aclocal.m4
-2e0d8db18bdcfbd5a5bc5af5a9acb667  sim/mcore/ChangeLog
-4e9b3183ea880051c718e12fe6c8c433  sim/mcore/sysdep.h
-03bce1f086c7efe8fecca60e3721c4eb  sim/lm32/model.c
-ca51c3d446808157c4c14b9ab495fe73  sim/lm32/dv-lm32cpu.c
+4416ef6f033dba74e8ea9bf538e44df4  sim/mcore/ChangeLog
+ef94d54b2ae075022e2348bb91b394bd  sim/mcore/sysdep.h
+630603d1d9b1e3086839caef636d1527  sim/lm32/model.c
+f7329c408e6c9edeaa1df44a2afbdb38  sim/lm32/dv-lm32cpu.c
 109b8e6c0b9bf08551b7ff285c940fb8  sim/lm32/Makefile.in
-b04096b97544bf59aa30816590aea837  sim/lm32/decode.h
-bc62ccb38890c3dfa84837654da81e26  sim/lm32/lm32-sim.h
-c4431b3a2ab80773882f5d6a3eb10a5e  sim/lm32/cpu.h
-b36495fee0026d3c034f187c4c6fdaf9  sim/lm32/config.in
+5d402747f294844218ac1351395b0df8  sim/lm32/decode.h
+46606153eff9b7b122133fb06787f278  sim/lm32/lm32-sim.h
+800566448340e059539eb2bd80a9e709  sim/lm32/cpu.h
+00e45f323b2055a3473ed246826fdca7  sim/lm32/config.in
 126879ee99d22b2005fd60e030388d49  sim/lm32/configure.ac
 f5537c39e19adb336efcf84351d0fb78  sim/lm32/tconfig.in
-021292e74079edfb1abc2c7279ba8c63  sim/lm32/traps.c
+56f201d286d10116f37e111f000a9e77  sim/lm32/traps.c
 0d8f62bdcf6e6057a1bcbff9aa364b65  sim/lm32/mloop.in
-45f708840af16af285194e12590f3a96  sim/lm32/lm32.c
-ff1893aa109b05c32deb33821c71ddd2  sim/lm32/dv-lm32uart.c
-a79514617268a970c59e7a6c1ab83e2a  sim/lm32/sem.c
-a5674c972086f73f75770aed9bf4c8fc  sim/lm32/user.c
-813a42e1c657f0fa822ce0888c20b25b  sim/lm32/configure
+76409fc704a938757541b1c0741a81af  sim/lm32/lm32.c
+6e7c8718de95337146a038b8769e0235  sim/lm32/dv-lm32uart.c
+614c210cad84d521816ff83b509c63a5  sim/lm32/sem.c
+1a60b67b454915eeac1a976e1569b42c  sim/lm32/user.c
+a929c4bf33b76ddbcf2a54d56394f4bc  sim/lm32/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/lm32/aclocal.m4
-3af0c8c219c948e7bad57c0c9cbd3e80  sim/lm32/arch.c
-8279470f758ce8ad0f2c1d75bdba65e6  sim/lm32/arch.h
-4335e4c0799e6bdbda27a18029582b6a  sim/lm32/cpuall.h
-f9ce5ba51556856658abcc68aed50fd4  sim/lm32/ChangeLog
-530ca4f735f76ec23fb344fe4e46ce11  sim/lm32/cpu.c
-ea375d226d85b807c71aa2fceaf56d5f  sim/lm32/decode.c
-4eb8bc87eec476d10f889796bcce03b1  sim/lm32/dv-lm32timer.c
-46aa6f821f3e9301636e92accb9311f1  sim/lm32/sim-main.h
-5371ec644b0f57448b8a452250d698be  sim/lm32/sem-switch.c
-b31f74ced3c050c80285ef1db2f87620  sim/lm32/sim-if.c
-8fe19991344915141802198906ecc771  sim/cr16/Makefile.in
-8025ee6d21cc26a8641733f893122ef3  sim/cr16/simops.c
-a105aa13ed418b4f592f29a9b6950e04  sim/cr16/cr16_sim.h
-f53321324a92d228d616fb592b68690d  sim/cr16/config.in
+eadebb312e70c0ec1aafa72ed6f5fcab  sim/lm32/arch.c
+48be302e50e6e520a4011c34112f6e0c  sim/lm32/arch.h
+c502b00f331409dc33fc86315292fbc9  sim/lm32/cpuall.h
+cc1dae9348da14d74927de78ecadb238  sim/lm32/ChangeLog
+098aab3f9f410deb21674f4b83634045  sim/lm32/cpu.c
+4e6289ca6f1248f6837913ba56683cd6  sim/lm32/decode.c
+306ff81e15a551279b0778beb994e809  sim/lm32/dv-lm32timer.c
+6e31927b86a622ee74059f211c9ed753  sim/lm32/sim-main.h
+e538d74c0807f3bafb36520bb7e04b51  sim/lm32/sem-switch.c
+64a4d5018f72174fb2d3addec598e721  sim/lm32/sim-if.c
+960f17653af756de679f93f745848f6b  sim/cr16/Makefile.in
+c97510fa7f7a17acca08e45b81f59bc2  sim/cr16/simops.c
+7c331c4551a779146ab1feacf2584c3d  sim/cr16/cr16_sim.h
+5496cda35c337b3806fe06c67dd24584  sim/cr16/config.in
 e1e8eeb861a2f2281fbc2c298c16d800  sim/cr16/configure.ac
-322530322f2ced45ad2ad664ca03d0f8  sim/cr16/gencode.c
-21076be81eb3ce1f63d3ca9e4c4daa66  sim/cr16/interp.c
-3cd428b024ea74710c811e063ec88c22  sim/cr16/configure
+7564482206c7e718b644b73a8306df92  sim/cr16/gencode.c
+df53227986799b8285c474c6dd622626  sim/cr16/interp.c
+602d4c1617893d0aba88612a49a67188  sim/cr16/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/cr16/aclocal.m4
-f7b4e25134a19681ed901e3c65ef24d1  sim/cr16/endian.c
-97bcd83fce99cf43d73f2538ae8ae04a  sim/cr16/ChangeLog
-c334a5b2bf5db22e28c4256923b48f0c  sim/ppc/e500.igen
-dd3949a92b18e40ccfe5986e5faaa3ea  sim/ppc/basics.h
+709ba207d9480e6d63ffdf6f47c4e733  sim/cr16/endian.c
+7438094cb8eb2618ee50db67e862525d  sim/cr16/ChangeLog
+518619a202738fc3b1b67dc747bd4feb  sim/ppc/e500.igen
+386b3912ba8b7e2502e9b6a3335dab80  sim/ppc/basics.h
 71d98d8e0be2632eb25e79bb4f7982b1  sim/ppc/hw_pal.c
 5d2577ac0b3781ed1ff85b14e23fda07  sim/ppc/sim-endian.h
 fb9be7146f57278cf5dec22d4c5ec909  sim/ppc/device_table.c
@@ -9913,9 +10124,9 @@ b9249eba98032433f10d0f0fb1cbabfa  sim/pp
 188e7c8685bdf08ea757ab738f97dacd  sim/ppc/filter.h
 91b96e704d1932d27b093f865d8e1ac2  sim/ppc/Makefile.in
 35b4efd703cb6ab5cd3fa84f768498ce  sim/ppc/os_emul.h
-648075c2e946093a09ffba8e266e2955  sim/ppc/ld-cache.h
+29a6c18565b406e370f5d3fce8278714  sim/ppc/ld-cache.h
 82701b2c4f7fc8528a745be30ccabc6c  sim/ppc/gen-idecode.h
-b01cba11a3c3581dd81e6180775957ba  sim/ppc/gdb-sim.c
+4353f6e3f5b236d83e3ac81110818f7b  sim/ppc/gdb-sim.c
 820ecce94ba5cc4b5dedd30bbc07e36b  sim/ppc/sim-endian-n.h
 1128a696383d5f5a536d86720b9e3f21  sim/ppc/table.c
 4950f8682b5dbfeebd61feff873ca2c6  sim/ppc/sim_callbacks.h
@@ -9926,7 +10137,7 @@ b3bf6caa11a79244273b2f50a3b5a5bc  sim/pp
 d048ebe7782c7399621e5fb44e6bef1e  sim/ppc/mon.c
 672ead91f129cd55c9fcf00cafd71791  sim/ppc/idecode_expression.h
 29a6b040686f506ad28eb57c85e9220c  sim/ppc/options.c
-e522cdceb8ce8f5c97aa08ac875c74c8  sim/ppc/device.c
+929c1928e4c7e7795c4c223554a7467f  sim/ppc/device.c
 462e1676a73f1ae21bcb95e1e79fe309  sim/ppc/hw_cpu.c
 d29565bbd8523108e19d7da9287dcc62  sim/ppc/hw_trace.c
 110b14820536fae4ab9af5f5a106b222  sim/ppc/emul_chirp.c
@@ -9936,18 +10147,18 @@ fc7a3358676fc9ff26e3cd503ee1c462  sim/pp
 7e52754116166fcf5b3b7d3dac7eec17  sim/ppc/cpu.h
 0ecf5b9c4e3233ea8ab4ddc1d18ff5b4  sim/ppc/psim.c
 ee19c4a4b84cad5f9cd916356307b90b  sim/ppc/hw_core.c
-558cb363c6cd1df7bd46c15d15930efc  sim/ppc/hw_htab.c
+5ecab968c1d5a58f59cd9d731d02c08e  sim/ppc/hw_htab.c
 c9161f846ee1137f57c103c9b50b8010  sim/ppc/ld-decode.h
 1c42372728ec198fcf8ab57a40c64bb1  sim/ppc/os_emul.c
-613b9a91f91f98d41a23f6dd89613cef  sim/ppc/config.in
-e8de908db2df5e6f35ba8a0553e918ac  sim/ppc/configure.ac
+6f0e22bfd72bf86995307523ff1a2958  sim/ppc/config.in
+87ef8b0d75dff5d83700d3ce20d9e0a8  sim/ppc/configure.ac
 2ec7edadb9856ea12bb4ecb5ee98fd83  sim/ppc/README
 b535b6237143276e69f6f3215e3c1b01  sim/ppc/gen-semantics.h
 cb29959db2f92c8b4323cc8e8d4d53d0  sim/ppc/inline.c
 9386f74bff5fd3a25d4cea3f6cb22bda  sim/ppc/.gdbinit
 2d0f82b823fe273d046cfc337fe7c148  sim/ppc/vm.c
 477642f7d41346704a746fc8c65faa7d  sim/ppc/filter_filename.c
-adebabb28bc245348272d4f6160128a6  sim/ppc/psim.texinfo
+804cb5ed43581d6dfd26ed1e80658c51  sim/ppc/psim.texinfo
 8e019657ad96f38584486921e012ceee  sim/ppc/events.h
 ecd61aaafc1737616ae87c802cc0a8e1  sim/ppc/INSTALL
 db1e5c49389842c6d0c508fa37d2924d  sim/ppc/std-config.h
@@ -9959,7 +10170,7 @@ d632a1f4134488cc306b566a3774b068  sim/pp
 bfd43dd96dabce665dfe37a7957fc1a2  sim/ppc/mon.h
 5146ee46bebabf8c97f85f5984cdb349  sim/ppc/bits.h
 d3c236878c5c39d9ea37028e4a51f8ef  sim/ppc/corefile-n.h
-1cb81d80d37d5a138897cb425dda4a90  sim/ppc/e500_registers.h
+9f89c3d2d08d5d389fb1ba4f5254f76d  sim/ppc/e500_registers.h
 9acdbec7116b5f3c0f505b021f497efd  sim/ppc/events.c
 cbc18f080cae61f272af1c475bd6e144  sim/ppc/vm_n.h
 0631349809a15b73eaeccd344a0c2ad6  sim/ppc/sim_calls.c
@@ -9976,12 +10187,12 @@ e9f6775406bb18b2cce429bcb5a90aae  sim/pp
 4552751230a67356fbbde89e80dc3aa8  sim/ppc/hw_phb.c
 84d8880ae315c1aece9fa57567e3851a  sim/ppc/dc-simple
 484234eedfbb69301d0bec4acf47f8db  sim/ppc/cap.h
-64caa2f3a47a3ce01f5ae79af2792f77  sim/ppc/hw_com.c
+eeaed7a804f4ef89fc28d42d86de6aa2  sim/ppc/hw_com.c
 d853c371650b4299478b6e4dcbc172f6  sim/ppc/dc-stupid
-9f03653cb96f973757f1d5e33839794b  sim/ppc/ppc-instructions
+e1ec8c3c9416190b4ac059f58f80dc54  sim/ppc/ppc-instructions
 7ef1469cfb0809ffbafba1a6f43cc98b  sim/ppc/ppc.mt
 4888acb242b870aa0e825e9e54aa1298  sim/ppc/idecode_fields.h
-ce63657f717f394311363f8c5cefc426  sim/ppc/altivec.igen
+4d144d1b9547b0f554ce16f8b4b68520  sim/ppc/altivec.igen
 617c363f63c7bdcfb1a986bad9342b9e  sim/ppc/table.h
 b16ef4398cd548ef4598d7e9c3b4ed37  sim/ppc/psim.h
 58dd84b3f0e04bfd136e905198d27bd1  sim/ppc/cap.c
@@ -9989,7 +10200,7 @@ b16ef4398cd548ef4598d7e9c3b4ed37  sim/pp
 4060774a7eb4ecb48f976edb398ce32f  sim/ppc/dc-complex
 f7189a246dd42f356375e3fc0fba2c4c  sim/ppc/ld-decode.c
 92e1f91968d881bd6a34726b5d7ad38c  sim/ppc/hw_vm.c
-986d2697169c13618ec1d5fa736c4c4e  sim/ppc/device.h
+61af03f8b0fc6fa655dc643e3de2552a  sim/ppc/device.h
 76cce9b9e724b93a37853b95a0fc9cfa  sim/ppc/emul_netbsd.c
 dc37cdd7e31ba5b4cfb958fa4bdde34b  sim/ppc/corefile.h
 dfbacfc1474588e6305d5f3c016d7f10  sim/ppc/interrupts.h
@@ -9998,29 +10209,29 @@ dfbacfc1474588e6305d5f3c016d7f10  sim/pp
 55ca817ccb7d5b5b66355690e9abc605  sim/ppc/COPYING.LIB
 df6ce308b6164a82f216e6dc70667ced  sim/ppc/gen-model.h
 ac8af167df5e2cc9c80ab1bb813764bb  sim/ppc/emul_unix.h
-75630a656c3105a12e36fb2b6c414ed8  sim/ppc/dp-bit.c
+5d3aa065efd822a37bd78ca4f05f472c  sim/ppc/dp-bit.c
 9a0ecd71253cc8e01812639dcfe6385f  sim/ppc/emul_generic.c
-6cbe62271f582ef9eb4e792613e3a92a  sim/ppc/configure
+0d6a9844425a9e172169a315ce73e594  sim/ppc/configure
 bfb4807f66de1866e9c5fbd8e3ed08d0  sim/ppc/emul_generic.h
 4f90dac25651b90137e08d0dc8b280e2  sim/ppc/hw_register.c
 d41d8cd98f00b204e9800998ecf8427e  sim/ppc/aclocal.m4
 b8a327a67a1e3f597b26d3e6c23eaa3c  sim/ppc/double.c
 47924a670d88e248786278852e0fdec3  sim/ppc/lf.c
 3177c0ec5341f19e21b76f11cbd5a7bd  sim/ppc/filter_filename.h
-0d0441694df83385a26c3400506c2452  sim/ppc/altivec_expression.h
+f3f1b8cef9dfe3a077055e8ae01833a3  sim/ppc/altivec_expression.h
 3d1bcfb1e025467f91084fb8c21c08c8  sim/ppc/interrupts.c
-bc64de21350603c4794003530bc1aff2  sim/ppc/ChangeLog
-3418750fe6110bef8efd94ac9a8d46f9  sim/ppc/e500_expression.h
+021ae06a76a73e2d4558059e904db058  sim/ppc/ChangeLog
+425f64a90488e211c5e3dd47103a7445  sim/ppc/e500_expression.h
 0803bec27a88fc019b6b1bfe8dbf9dd2  sim/ppc/dc-test.01
 cc82ede0335a4e5ed3867e1dd5f9dae2  sim/ppc/emul_netbsd.h
 cc3fca83551bf130b8eb6a464f875b31  sim/ppc/gen-itable.c
 060d2716b0ae998206bce594c507691b  sim/ppc/cpu.c
 64d7358582aa081f81c570e789046b73  sim/ppc/words.h
 6e2deba755e78892b1c7de99f789346b  sim/ppc/filter.c
-1bad061e853e13647aa63e38a9f1001f  sim/ppc/ChangeLog.00
+696656812b714297578ffc761fcc81dd  sim/ppc/ChangeLog.00
 d23b4930c3ef75827e0479c9eb1e3620  sim/ppc/corefile.c
 d245825bb9584ccf2a8300d55d3957a2  sim/ppc/gen-itable.h
-e852ef4ff5701d4f50e92109e84641f5  sim/ppc/altivec_registers.h
+6092dc7112fa23d2ca0480bfdd66d6b7  sim/ppc/altivec_registers.h
 d32239bcb673463ab874e80d47fae504  sim/ppc/COPYING
 fd5f1a3237245e88494ee13149097c33  sim/ppc/gen-icache.c
 7936772f0485b1d307e5d6a7a43d1afa  sim/ppc/hw_sem.c
@@ -10039,215 +10250,215 @@ b97379b9215f181903e3bf129f977339  sim/pp
 6d149d2811d92b3f3d5001f227fc6043  sim/ppc/igen.h
 0b6b8935cdb0c07a7b22cfccfc5246e2  sim/ppc/inline.h
 9aa415ff145af3aa296d7cca03eeaf35  sim/ppc/gen-support.c
-6bad0f78f2e629e650c947267e3bc82d  sim/ppc/hw_memory.c
+4f8472f889e00629c1b4bfcf88bab21d  sim/ppc/hw_memory.c
 a30dd60f7f0d330110eb95f3479c45af  sim/ppc/pk_disklabel.c
 43733f1ee393d4a332adfa4f4cfdeb49  sim/ppc/hw_cpu.h
 ba158a4dbac380cfa4f4bc3208104974  sim/ppc/emul_unix.c
 b1a40e92b566a0f3d7bf4e4c70eb250b  sim/ppc/emul_bugapi.c
 d83e9281376698706bead364f2bc0c9e  sim/ppc/emul_chirp.h
 7ae2d45d2858087f5f9efc56f6bebca1  sim/ppc/lf.h
-6c2ef9e7fa472ab9ce2238e59f978f09  sim/h8300/Makefile.in
+91537433f7d2a146948d1eaab42cefb9  sim/h8300/Makefile.in
 c5fc0ac18cf227f20bd9e218f219d811  sim/h8300/inst.h
-c27c12b71923e48a66dba90e8ca4e5c1  sim/h8300/compile.c
-d5542707076448361d6cf928a9682924  sim/h8300/config.in
+5f714b946d8ca3ffe95d0d3195a04655  sim/h8300/compile.c
+bffe82fd63b4eab1c56be4b2909b5a63  sim/h8300/config.in
 caf8ed0d0602dc5b775648762ee46e5e  sim/h8300/configure.ac
 f180a66ef231f5eabfe450962b4225cf  sim/h8300/tconfig.in
-8b515e249e4e39a2e4a719f2c972cd88  sim/h8300/configure
+8840e8ecf8729a6ae922579eb4af3f7e  sim/h8300/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/h8300/aclocal.m4
-571d7e02d79df0a8bd23c9decc22ab5f  sim/h8300/ChangeLog
+d994dc135e9a432cbdb170901c79b772  sim/h8300/ChangeLog
 5a198f6b19aed858570b289330bf44f2  sim/h8300/writecode.c
 f5057aca5db39df81656e79ade16cbab  sim/h8300/sim-main.h
-8ea189a678bedbd44f93ac836cd9fbb4  sim/cris/Makefile.in
-4265e8921eb205ddbfd82697dd1f1fad  sim/cris/crisv10f.c
-81ed9c8df85c42277c13881f58696456  sim/cris/cpuv32.h
-7c6d9ad02ec1cc1dd7d08b08a376fe37  sim/cris/decodev10.c
-ad9e1f6a41e067e2afff5433c4bb5d3a  sim/cris/cpuv10.h
-db45e4ec8705c3c29f76113181e3bc28  sim/cris/cris-desc.c
-61076da2557f8c1fba2543905965a0c1  sim/cris/rvdummy.c
-6e348eb37c01c8514f0119407886a1e0  sim/cris/config.in
+a81d9c53ccae6840388c53d030d29402  sim/cris/Makefile.in
+e59717483bd018858319d4977718a365  sim/cris/crisv10f.c
+ba9788e42bddfac88947b0cbeff44245  sim/cris/cpuv32.h
+38e7c48d81fe652aab221d1b175ecf77  sim/cris/decodev10.c
+c4973bd1d27de21f1c1a04f37dfa2b38  sim/cris/cpuv10.h
+555ff6c6929bdeb68426390345dfe429  sim/cris/cris-desc.c
+570c1f2c7837f288bb4e8ec90ee9470c  sim/cris/rvdummy.c
+5a7a5d9510469a9357d8868f3ac13e04  sim/cris/config.in
 cc780d50c072ffb7f9d29ad398e78a62  sim/cris/configure.ac
-b637d2d862bef1428537e47372be1e66  sim/cris/semcrisv10f-switch.c
-ab72a4ce38d9adfcb464c7cb82696c8e  sim/cris/semcrisv32f-switch.c
-acbf82645daddf7b7c1e36d4bfbe9f62  sim/cris/decodev32.h
-3e0a7ca0a173b55e1e3b8b1350217c20  sim/cris/crisv32f.c
-ffb8eabe471d3a336c5dd2d182fc4fb5  sim/cris/modelv32.c
-a0e8563fd5d10aeb4597da9003708460  sim/cris/cpuv32.c
-47d9772ce581617797ba2109a56ceaeb  sim/cris/cris-tmpl.c
-1687713aed232088dccf21f3562b104c  sim/cris/tconfig.in
-20450e43b3051406593742e9ff95e9a0  sim/cris/traps.c
-9e25d837ee531b9cef65530430d63ca0  sim/cris/mloop.in
-75925fbb62d78130c3f2a361dae3ff58  sim/cris/devices.c
-8a899973b52b5946504d9cdc24b85548  sim/cris/decodev10.h
-7bae38eb769c5f6a9e7e3f6b43e2051c  sim/cris/dv-cris.c
-2aea77d32c518ea793b445f4744cf122  sim/cris/configure
-adcca660613b59c41b8f1b3125082e18  sim/cris/cris-opc.h
+1131b43bb5b2adf28bede06b1a564b6b  sim/cris/semcrisv10f-switch.c
+a9fab5b73f52af56485d7ec931a302d9  sim/cris/semcrisv32f-switch.c
+39dbaca16c3d47f058764eb690e317b7  sim/cris/decodev32.h
+732be7b04c9e451230acd1f80b881698  sim/cris/crisv32f.c
+62613f546a75c8fe019129807eb8bc03  sim/cris/modelv32.c
+696f84d0177e424454dba711bd17127b  sim/cris/cpuv32.c
+c15682a2b42bfb731c870b3198af33c9  sim/cris/cris-tmpl.c
+7117c4f16a5fafd3c0b4f9613e68f63f  sim/cris/tconfig.in
+be3a312443457d64be82623f7fe8d9cf  sim/cris/traps.c
+84f21baf41394a3cd00bb679dd7bdfba  sim/cris/mloop.in
+830b0b4d0ea3e799c9b07c5861647b66  sim/cris/devices.c
+886ecc490a455ea48484c9dafdb43c7d  sim/cris/decodev10.h
+9a4e0da446c9dfbff8ce4e549fce0ce6  sim/cris/dv-cris.c
+e4b4de3eb00b8b247ab61f3c3ec8197e  sim/cris/configure
+04ae25097808e322e4aad2a9464ac39d  sim/cris/cris-opc.h
 f9164ebf3a70764e5acd32bbcfaff878  sim/cris/aclocal.m4
-e5ba251a8859bd7de3e4370101df5365  sim/cris/arch.c
-7d017941224d1689b0001a0c65d31bef  sim/cris/dv-rv.c
-b9c1104b1b775b54f0b0185dde093d07  sim/cris/arch.h
-2b0f9aaffbd606cee96acca374f69fa7  sim/cris/cpuall.h
-283a88bbfe9a65b7bdfc0427b5eb0a3e  sim/cris/ChangeLog
-a7269afb456bae2b33d6b7c9716f5df0  sim/cris/cris-desc.h
-ab7793c11f1b5ba499f9b7eb14ea1837  sim/cris/cris-sim.h
-8265cd6bfea89675626986b7126a74ac  sim/cris/cpuv10.c
-f1a1a0768e66bb144641a95d1f953a25  sim/cris/decodev32.c
-163a26b2d05ba96f4f23ac6ef7c91c66  sim/cris/modelv10.c
-867aaf180a4e227160ea22e6299c2a55  sim/cris/sim-main.h
-dbe537d60052c23f2e03d2cfaaa39d1f  sim/cris/sim-if.c
+97fa65cf850f6cf54b0f7226dc305db0  sim/cris/arch.c
+78ec78d9391b9125cafedca56ea54915  sim/cris/dv-rv.c
+9ead2baca0580d0be20e4007b943d4df  sim/cris/arch.h
+42e6fdc2f65b6b6a174cdc08026cb424  sim/cris/cpuall.h
+bdb1a36b0084e4e08d54feb4b79c2d9b  sim/cris/ChangeLog
+70dc2f9cfe6a352f2fa3005a06b91386  sim/cris/cris-desc.h
+eeb31e0a6fa53920bd20323c7fba49ff  sim/cris/cris-sim.h
+9bc044025c516c43df2d88e7a9037890  sim/cris/cpuv10.c
+f34babb84452fecd992e25cd143c87ed  sim/cris/decodev32.c
+30c415e85b2387acbd5ad6ef12220828  sim/cris/modelv10.c
+4129c8df20a23c87a2e54872b3576ab5  sim/cris/sim-main.h
+9e213372227c80d85dd9aba5becc039e  sim/cris/sim-if.c
 a38154b8bda5c25b6f2c5db3289324df  sim/configure
-7b6d7965eb96e6f3738a6963f4cd7e4b  sim/m32c/srcdest.c
-cee4cd484878eb616e2d52473bb6b470  sim/m32c/m32c.opc
-5523cc58df657e94a014a869b759d464  sim/m32c/Makefile.in
-1a878a053ae7ce8b9f2545a1d63ec441  sim/m32c/gdb-if.c
-ef277ffe74d2e38f4f72b8029f4508bc  sim/m32c/safe-fgets.c
+f55254705282bd638d585c03ad393e04  sim/m32c/srcdest.c
+0d593e00011691221c663b59ab8e1ee9  sim/m32c/m32c.opc
+8829ae083fc80fd38de20115761711bc  sim/m32c/Makefile.in
+34fbfe9eeaec58a2cb17625752ceead7  sim/m32c/gdb-if.c
+16c5ab36932a510351a9d59eba85ffe6  sim/m32c/safe-fgets.c
 79e388b08d436f4bfc70c64e46df14b0  sim/m32c/timer_a.h
-a8a84f5681e9a8f11f2aaf9c5a0eaba2  sim/m32c/cpu.h
-028c9aefa95a80a028355ae81c964677  sim/m32c/int.h
-520099415a355c2cc7021c632b138e0f  sim/m32c/config.in
-4d075d4188538c9911a0e872c3dc4465  sim/m32c/configure.ac
-8528c0dcf2fbbf9c9baedb180a2aa058  sim/m32c/trace.c
-1862a09efc59de905e294b226c22b62d  sim/m32c/load.h
-2ff687c911d09f40dd571483599410ad  sim/m32c/r8c.opc
-a0130235a49079b97af1c3913cdb2d8c  sim/m32c/int.c
-ea3083d1c68972e340ea73d411c03bbd  sim/m32c/gloss.S
-348b02e05e3acac747c2a370012b8960  sim/m32c/misc.c
-548766e9f620a2bffae63ba67bbe69c0  sim/m32c/main.c
-23c4609fb52ddb94d3e73b18e8478571  sim/m32c/mem.h
-ddfa748d2e5bce7c3e10d2babd3c5447  sim/m32c/sample.S
+3b5775ebc3795aff1018d0c01821ea3b  sim/m32c/cpu.h
+40637a3a844e0d7a0eaa8f9f32dbf66b  sim/m32c/int.h
+909628246dde92cd599b8372affcdac3  sim/m32c/config.in
+751d07c3c2fd85f5a0edc1d2aa939e74  sim/m32c/configure.ac
+8b7bc86145c30e6b653fed6232093498  sim/m32c/trace.c
+4ae2735694ee30d386b61d8d109e966c  sim/m32c/load.h
+ce52f220ee10c3b0d2da474e3f96f68e  sim/m32c/r8c.opc
+3da5370502c4d611cc1733011962b608  sim/m32c/int.c
+5132942b7b888fe8b0afe25e4e965a03  sim/m32c/gloss.S
+cbefe4b4837f21d303336094e782ff6f  sim/m32c/misc.c
+608635e3b76d9ea1966e37c04e6d7ace  sim/m32c/main.c
+17f29e6c981f77511adb915280f92b27  sim/m32c/mem.h
+6d9da437af63c1062e2f8f42fbea6533  sim/m32c/sample.S
 24e2f861da06951620983b5a9ca6efe2  sim/m32c/syscall.h
-41899ec47b6dfbf5d602b8a0d7016922  sim/m32c/syscalls.c
-36236b1952656ca74e79fd502c11086d  sim/m32c/configure
-dcdcf4818b1294bc215f710fc2d3661b  sim/m32c/sample2.c
+00890c551b38733a4b6e17b154f6d214  sim/m32c/syscalls.c
+bd6ba1a4f7cd9b7cd8b9a4f64427c129  sim/m32c/configure
+0ad117a669c137a505bf7d6da6507f99  sim/m32c/sample2.c
 f9164ebf3a70764e5acd32bbcfaff878  sim/m32c/aclocal.m4
-bd6a3b25466ac65c4a38fcdcda84e2df  sim/m32c/syscalls.h
-cf01ca08e53d212688f5234be4e5bcd0  sim/m32c/blinky.S
-bb7d417b690e7610496b26aac7389961  sim/m32c/ChangeLog
-546bd6539fb916e9d0e84693a668b384  sim/m32c/trace.h
-c582de5070ee9a07ef4625300bc478dd  sim/m32c/reg.c
-1f0d5ee44be6964e65850e7ff8293cc5  sim/m32c/sample.ld
-459830633eecdb0052be90e74278fb9a  sim/m32c/misc.h
-30bdc7eae359d3e1f07f311a6e3f897f  sim/m32c/opc2c.c
-ad174d7ab65811382fec8266fe83aed1  sim/m32c/mem.c
-2d95bca46be2b7c127d874134ab5f1f3  sim/m32c/load.c
-b64382a77b29af7c70d0b4ef97a7af88  sim/m32c/safe-fgets.h
-74382cef636e91fc164553e8d5ab687e  sim/ChangeLog
-a2f793bd4f0c3d3d11c25abaa9c355d3  sim/m32r/mloopx.in
-f454682996a0049087c915124a8d18b1  sim/m32r/model.c
-99c80dcc886feb183ffff0532974eeec  sim/m32r/cpu2.c
-4e17f52a95eb0727ab57d627687d94c1  sim/m32r/cpux.c
-a73f88855b6035914ad0e387cf15c18a  sim/m32r/cpu2.h
-41f908afe2c58682339dd7a216bba3aa  sim/m32r/m32r2.c
-626d4d304d4ea3dc33ca2d9e62528c6c  sim/m32r/semx-switch.c
-6273ae7de6e8b62b0cb71023b751159e  sim/m32r/Makefile.in
-95d4bc31f30e9c27c82de15eec2cefac  sim/m32r/decode.h
-0e9f11fbf9e20aa7c05eef54cf91be40  sim/m32r/decodex.c
-32b0a0114b6a240dcb28144cdd225123  sim/m32r/cpu.h
-5aeb6d7c399d2ff3143a70351c8b556e  sim/m32r/mloop2.in
-c0c6a50b13479a8edbb89380d4e7a1d9  sim/m32r/config.in
-6142f87e749757f3fb65e6812fcfa5aa  sim/m32r/configure.ac
+9b84e6cbe58af82bbd774c07faea3886  sim/m32c/syscalls.h
+4285d06a3294a176aa8bcaf8ee947323  sim/m32c/blinky.S
+20f62485875fea68f6502a0625d51c17  sim/m32c/ChangeLog
+49aff67db2ee6613dbf4656d1f26376d  sim/m32c/trace.h
+491712bc4b798e12c19b744c852a3d9d  sim/m32c/reg.c
+ff2a2e4d284e828c0caa1621b948d2e6  sim/m32c/sample.ld
+f3275bae290d3ff08225d48b86a4dd48  sim/m32c/misc.h
+9b4beab054ee6ba30c66eef67e34aa90  sim/m32c/opc2c.c
+f29e4df6d944fe1730945e7c35575afd  sim/m32c/mem.c
+8d25a0087957b8280a3a324d9b548e62  sim/m32c/load.c
+cb87fd714db7128fd33b88052c5f964e  sim/m32c/safe-fgets.h
+4132b588389768bec9098f8e61809e37  sim/ChangeLog
+b22940d1be0ba3ba0a66d3d1bbe1c9d8  sim/m32r/mloopx.in
+0eb4408b64edffb00dd0137535eaf068  sim/m32r/model.c
+a0179f2762e5e1284bd4cfe4b251f1be  sim/m32r/cpu2.c
+f9f94325d418ee65cd682c5c4f8bd32e  sim/m32r/cpux.c
+0c6264a3dff8388716a976307a664845  sim/m32r/cpu2.h
+824e98bb47f0d4f7f011a3b888a68bf1  sim/m32r/m32r2.c
+56d40903d5b9bb0f470435892f62bd89  sim/m32r/semx-switch.c
+9be6388dcd9d13112622d5cefb0c1187  sim/m32r/Makefile.in
+377b7f7d134ad8629a57e55d974d40f6  sim/m32r/decode.h
+4adb6b0e6e66db0f7c5232c835f3dc92  sim/m32r/decodex.c
+10d1695d79f815546046bc75dd79b72f  sim/m32r/cpu.h
+5bad0409890008552fe14eb51665f4ca  sim/m32r/mloop2.in
+00e45f323b2055a3473ed246826fdca7  sim/m32r/config.in
+54023e14be63e194776d4b84dfa0eda5  sim/m32r/configure.ac
 23b6e82d29f42c31a097d431b0f73004  sim/m32r/README
-0c8a8fefbbc955c38a7b11e294dd7041  sim/m32r/model2.c
+f2bf19d8940f3d20a7101a9f72c0996c  sim/m32r/model2.c
 5b69e5f405fa642b51901d12f9b885e7  sim/m32r/tconfig.in
-46c74dee15cf2860eb99c81b4db4cb9e  sim/m32r/traps.c
-a1c8d69a90c57f2a8d19294b35b8929f  sim/m32r/decodex.h
-2bb3dd62091baf32012d11ad349477df  sim/m32r/mloop.in
-f377c537c77d2d3f355a216302b023e2  sim/m32r/modelx.c
-ebc1555bdfdc5b3cc4b6908ac41296b6  sim/m32r/devices.c
+e4e2ec28fb39969b5ead08502f59d85c  sim/m32r/traps.c
+29c525310b4185d56403cab4bc26e60e  sim/m32r/decodex.h
+fca8ceadc2f688d603beb5f9928c07fb  sim/m32r/mloop.in
+d3d542da6a8c9bdf9c6947ac292d54e5  sim/m32r/modelx.c
+05f9d8defac5b58f8a0762317e8c03f6  sim/m32r/devices.c
 e401ce81778d171f79151b58eeef8bb0  sim/m32r/syscall.h
-dd5c080e3773e8a2e75e95f4d73697bb  sim/m32r/cpux.h
-7681076a9c276ee26726510f4c896ef2  sim/m32r/decode2.c
-6e324250adb2f0fd6c3eb87fb3dc2bea  sim/m32r/sem.c
-7a7aef4849a6c41c51410affad9379d1  sim/m32r/m32r-sim.h
-567d88fc88fe4318f63a7c5a0a297f36  sim/m32r/configure
+e2aedce784171226454dd4d6391ec705  sim/m32r/cpux.h
+64cb343308932d3acdfde44699818696  sim/m32r/decode2.c
+5a361dccf7bb319ba31093f8d84f5bf6  sim/m32r/sem.c
+5a81b6c020b8978ae344f5a6ceb91615  sim/m32r/m32r-sim.h
+9468ef4ebc7af50a1099b20b0ea563bd  sim/m32r/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/m32r/aclocal.m4
-184785453059ab72056a9c11bf1bec33  sim/m32r/arch.c
-27e1bd59cb296af5a64c15be7824ce0e  sim/m32r/arch.h
-9db94ea4ad5706b68098bd25a57ea3c5  sim/m32r/cpuall.h
-3f1b3dfec041b12fe3aafcae765de8ab  sim/m32r/ChangeLog
-1c6344e1c656c5b08f04c4b7bfef2eae  sim/m32r/sem2-switch.c
-09d67f2705958c051d11a1957571c4ab  sim/m32r/cpu.c
+5dbf7e4c8476ebada494244d06ff76ef  sim/m32r/arch.c
+f2040c81233cebd69aa621650a0048b3  sim/m32r/arch.h
+ded26108079f64d9a41cdfd3b556dbcb  sim/m32r/cpuall.h
+0531362dcf794ee10088e6a09c61690e  sim/m32r/ChangeLog
+c30b9ed0e6cec9144081ee6bfafca14d  sim/m32r/sem2-switch.c
+68bfe7a925f3c52fdfbcfeec5afca92b  sim/m32r/cpu.c
 7aa7d02d4d195447e0ae6c176fc6ceb4  sim/m32r/TODO
-23e1dbfec1624956851b64a11d5bf295  sim/m32r/decode.c
-ea2510577d8e3611c31dc50a5b8f513c  sim/m32r/m32r.c
-3a2223f7525fbe8160994731e484594b  sim/m32r/m32rx.c
-9f2eb211f4f3340485453059c4e84dfd  sim/m32r/traps-linux.c
-3b6aa6065730a11ab04540a35a8ab82a  sim/m32r/decode2.h
+bd3c37dc93a9d9e4f40b09f2cb2a9fe4  sim/m32r/decode.c
+5b29e1c885223283d884c890a55daddf  sim/m32r/m32r.c
+d4bc2f5b11c7c5adab8e9795b653b68b  sim/m32r/m32rx.c
+5decb55315e1d6ceab410721bd625723  sim/m32r/traps-linux.c
+294ad741088a704d6da7149b9f6302b2  sim/m32r/decode2.h
 a24af2c954c1781817ac3519604b8e37  sim/m32r/sim-main.h
-65ecb65108f3a9cc40c02ae6162ca78d  sim/m32r/sem-switch.c
-b5495313fd9192c88a1218b884132fb6  sim/m32r/sim-if.c
-9b566c73a17d1f56e081227ece47a93a  sim/mn10300/dv-mn103ser.c
-0b65165ae6ff14ae27734da536ca8c13  sim/mn10300/Makefile.in
+97055d6d72d682426d3069e5edda5fb3  sim/m32r/sem-switch.c
+337bc32e05032cb625ab553e0f218e47  sim/m32r/sim-if.c
+315f39ee7608ac111e4e1881fba2a7b5  sim/mn10300/dv-mn103ser.c
+66b44382e3efad73ec39b525ade56af6  sim/mn10300/Makefile.in
 c37a8063b25bb881b34e79630d4988b3  sim/mn10300/am33-2.igen
-3633f4ade6a10c28bfbc398f55b71fda  sim/mn10300/config.in
+c94180aa170dc00cfa5c86d1361bb43c  sim/mn10300/config.in
 86dc3ea4d8207ea20587bd9bd0787b7a  sim/mn10300/configure.ac
 8cae46a95271a1d2c9c03a1265711311  sim/mn10300/tconfig.in
 5947f7d37ee19cdf3e29990dad5f8d25  sim/mn10300/interp.c
-3ecfd4ca74d5fcbe4ea60cb8258378cf  sim/mn10300/dv-mn103tim.c
+85e4d66e9b1443d9c7c678db8cb1625e  sim/mn10300/dv-mn103tim.c
 a7335227cef936abda2f0c8402e79570  sim/mn10300/mn10300.igen
 0f2f6763bb1b6158e4f629b5da8c871f  sim/mn10300/mn10300_sim.h
-2dfda9cd55ab9819ceffb744d0742356  sim/mn10300/dv-mn103cpu.c
-0fb1d45e8c34381dee35854b85240466  sim/mn10300/configure
+e83a5db92a2dad9e6e6ddc02705c9773  sim/mn10300/dv-mn103cpu.c
+5f5e199be290e111763089bae9a6a29f  sim/mn10300/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/mn10300/aclocal.m4
-b913fa2c63f800b6e57fd8b699b140ae  sim/mn10300/dv-mn103int.c
-7e2d6a5e5407feebb9987f85415036c0  sim/mn10300/ChangeLog
-c9cf625bfc607c82552b823d4a2a9d51  sim/mn10300/dv-mn103iop.c
+1ebef69e39d2737e4515396c01cafe0c  sim/mn10300/dv-mn103int.c
+dd7f936f58ed1f5c990b61847bf646a3  sim/mn10300/ChangeLog
+f6bf85de8ddaa0112e07eb6c33bc70d3  sim/mn10300/dv-mn103iop.c
 9560a29b6c94d4955a447290ab5d050a  sim/mn10300/sim-main.c
 6a0ae1f6ed62bce5bd7d506cb87ed7f3  sim/mn10300/op_utils.c
 ca37d532ba114a9504ebc9f569417a2b  sim/mn10300/am33.igen
-89b5e0f1cb0d58f62cc35ed6fafbc7d3  sim/mn10300/sim-main.h
+cc630e0dbcf65ff439cca6b243297cb2  sim/mn10300/sim-main.h
 a02c306411614c8de463bf278aac5d2e  sim/mn10300/mn10300.dc
 3d25a8b62d3694313346f62446243427  sim/erc32/exec.c
-1f30d44e776d389cadf686a059470aed  sim/erc32/Makefile.in
+1a0e3d06555985d6d9ea2cae9a2b8289  sim/erc32/Makefile.in
 d4daf8d1135805cda44f87c7841bd9cb  sim/erc32/help.c
 72fececbe452af10d0adb31b037040dc  sim/erc32/README.erc32
 8d0b5212c0ce4ec7e01d67b407af3ba8  sim/erc32/README.sis
 4e2e8631e3b3134130e5f44faa767fd1  sim/erc32/func.c
 0fd17619104792bc66118c41269d06a5  sim/erc32/float.c
 eada8f370837b7bf62f9fcca5de757cc  sim/erc32/sis.h
-f53321324a92d228d616fb592b68690d  sim/erc32/config.in
+5496cda35c337b3806fe06c67dd24584  sim/erc32/config.in
 4bb6a0210991c75692509700fa118328  sim/erc32/configure.ac
 e7a02f18ba69be1512d680e05b4c44da  sim/erc32/startsim
 8dc36c35bce6e5aaba23da13980eb8f5  sim/erc32/erc32.c
 9f2cbd625dfef51b3d1162ba9dbb8a4f  sim/erc32/NEWS
 85439291b5c42782eacf1e62157e6b42  sim/erc32/sis.c
 f1db125fc9b2e7b2c9ccb0c6b153ed28  sim/erc32/end.c
-68b60690e18e3b7e2797567d08c6d789  sim/erc32/configure
+2d545538a76494820d101a28e878ab6a  sim/erc32/configure
 55c42bc8f42979e0719fa74cf7f95056  sim/erc32/interf.c
 f9164ebf3a70764e5acd32bbcfaff878  sim/erc32/aclocal.m4
-a57fc93513bcae5a1f4abb373eec5f3a  sim/erc32/ChangeLog
+22342715dae94b48edad030d21f13b02  sim/erc32/ChangeLog
 ce58de7fe1b8736ff94d663cb47bcf4a  sim/erc32/README.gdb
-fe039485ba98c1fe797de48c0114d89a  sim/iq2000/model.c
-268940a66051f5f1a05206ba2bc90bf0  sim/iq2000/Makefile.in
-f725bbfa0c7657d6f22758322b12feb7  sim/iq2000/decode.h
-48936ae6d3e34b1d92c004cd8068437d  sim/iq2000/iq2000.c
-0a2cdaec454966be1c40f7a406552b32  sim/iq2000/cpu.h
-c0c6a50b13479a8edbb89380d4e7a1d9  sim/iq2000/config.in
-28762fc794e36cc280a8fa6c58881fd3  sim/iq2000/configure.ac
+e6ff4bba6034378d7d8d7655a3346dbc  sim/iq2000/model.c
+1a02aaaf785d07bbe4a24d222bb60c9e  sim/iq2000/Makefile.in
+e9a11f36fd1affab26d6aac8c8ddcc14  sim/iq2000/decode.h
+9cf8250a1ea94d6e9d5c6eaec82a0b06  sim/iq2000/iq2000.c
+fd3d309b6d1135feb3bf48220278291e  sim/iq2000/cpu.h
+00e45f323b2055a3473ed246826fdca7  sim/iq2000/config.in
+0d3b34b222e6f0a6372a883662b32d59  sim/iq2000/configure.ac
 696a9d79c383c9b3ce4655d27f5948e8  sim/iq2000/tconfig.in
-9202749f513dfd7e576f6f17f8b64654  sim/iq2000/mloop.in
-b67ad9c13d845b6bd12d24ce70a6bb08  sim/iq2000/iq2000-sim.h
-1f8ad3a0692754ef0fd4fd969507fb31  sim/iq2000/sem.c
-ad8cae5104ba25cdd1139306e73967d1  sim/iq2000/configure
+06c391b00140e3379296f7de56a6425b  sim/iq2000/mloop.in
+62e9da3ab927e4a7629664e5defcc8b5  sim/iq2000/iq2000-sim.h
+43d5809a61ceb64ae52d7a74a1658ada  sim/iq2000/sem.c
+4ee47d8992c49ba3147ebd880d60af4f  sim/iq2000/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/iq2000/aclocal.m4
-ac9686ae0a6057520314ca5eac09c756  sim/iq2000/arch.c
-a1d4c7c8a2d98aa9a1e4b5b5f6719307  sim/iq2000/arch.h
-907610a3c86fc929b61a6b312477c7aa  sim/iq2000/cpuall.h
-a1ccd7f7f84dcac22e670b0e14206729  sim/iq2000/ChangeLog
-e88bbfec435b2ef13809d84d30510940  sim/iq2000/cpu.c
-af2e3b03ed98f7d409eb04576883ee1d  sim/iq2000/decode.c
+82da70064f6beb21d4d2d0433de3b835  sim/iq2000/arch.c
+cb70263be4776c2cb1f015153e02aa13  sim/iq2000/arch.h
+920c9dc8b6e381f72cd8926e8417fcec  sim/iq2000/cpuall.h
+301cbc361768a816a155985c545b1f2c  sim/iq2000/ChangeLog
+9114976df879f672d4ab5ba52f6bb58f  sim/iq2000/cpu.c
+c31fea4181e61b1ce41b2f0750094e71  sim/iq2000/decode.c
 aa1461ca5a06866e1b574bee397435c2  sim/iq2000/sim-main.h
-6bb6faed28008dc79f3d4538f3e5a736  sim/iq2000/sem-switch.c
-4356faeec3b5e3e0293caff9f79db1c7  sim/iq2000/sim-if.c
+7dfdc4526d3a46917826ac2c3bec7562  sim/iq2000/sem-switch.c
+35415bc9a4d824ca60898ffccc46758f  sim/iq2000/sim-if.c
 bb93e8718b92ddfd0267304118d711ad  sim/README-HACKING
-91cfd63b763c386cb697cb478ece5e1d  sim/arm/iwmmxt.h
-ee22b1b23cc8634d4208363c08e187ed  sim/arm/Makefile.in
+fc3ec7a805a7008ef3aae6887efa5114  sim/arm/iwmmxt.h
+62b25e7cec3abb55af91baf065a3b93b  sim/arm/Makefile.in
 03b14a3b665359a8f5c370a05845333d  sim/arm/armopts.h
 c57f748d021cdca072f9436f883888a6  sim/arm/armrdi.c
 4100eeabed18f1ed4527cc2e31b17ff7  sim/arm/thumbemu.c
-7b6b7e2c9f01b8742139bfadf0539a79  sim/arm/wrapper.c
+244469a33cf496d82f808f78b2a322a4  sim/arm/wrapper.c
 6ba5da46ba29ccd0daeff921ba365db3  sim/arm/armemu.c
 ca51b32cfc5beeb13c58076d6fccb23a  sim/arm/kid.c
-f53321324a92d228d616fb592b68690d  sim/arm/config.in
+5496cda35c337b3806fe06c67dd24584  sim/arm/config.in
 bf4a645a229d2ff0f810e39458a8309d  sim/arm/configure.ac
 a62a77605003de7a8ba75d8247fd77b7  sim/arm/README
 c065ca7b707c825c8623b2f5fd231265  sim/arm/armcopro.c
@@ -10261,78 +10472,78 @@ b76e3245b8c035ee9d45ab19c173c34e  sim/ar
 ab3c82525b1989764933f3e61cc33fd1  sim/arm/dbg_conf.h
 fd8863acb8f63c3d5868de464a9c3761  sim/arm/bag.h
 c951b34c9ee2249f81aa7d65d316ebbb  sim/arm/communicate.c
-05472884a3c771d9590713c165e625fc  sim/arm/iwmmxt.c
+618e23218ebbac6c07069d16c1088512  sim/arm/iwmmxt.c
 af13476a413b9a86f20b50cb8cb764e7  sim/arm/armvirt.c
 261e3303a50263648a22dd6a89a5aa44  sim/arm/armos.h
-4ce795caa5f6eb697fb55281c5bc44d8  sim/arm/configure
+4eb6a8b990cc74ec27800d824d6850fa  sim/arm/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/arm/aclocal.m4
 eb6d5ee4bddcbed1338c32dd4d8d2bdf  sim/arm/dbg_rdi.h
-97dc6acf03dab67d31200c871c7276b5  sim/arm/ChangeLog
+f7c7003e31240b2a15d3cd2cf1122ba8  sim/arm/ChangeLog
 223c7d3a569ff7cd0b45883a807ac0d6  sim/arm/armsupp.c
 45b828c2bb48b0320b1a93b21abd8710  sim/arm/arminit.c
 d32239bcb673463ab874e80d47fae504  sim/arm/COPYING
 a359015086142670d64e27d49df83aa5  sim/arm/gdbhost.c
-dec93c0e690ceb313fbce591ff960a09  sim/arm/maverick.c
+a8fb78e1e68fa7db9dbd9b4dc44b788b  sim/arm/maverick.c
 3c75306ed78064f99a66fa3a7a0dd3e2  sim/arm/parent.c
 e58e0f66d12e17c2cd2d975d3d3cb1c8  sim/arm/armos.c
 607c2f131bb220eb522250b06fe4bd16  sim/arm/armemu.h
 bb4ab5cb5c4609918938ea602a3771a3  sim/arm/dbg_hif.h
 3e5f2f513a0bf22dd7b1e4e818a60781  sim/arm/dbg_cp.h
-c5f3543b4cefe7d196e8fcb084913551  sim/bfin/devices.h
-a0ac9324083c8e0a9417a23c70f1e12c  sim/bfin/dv-bfin_gpio2.c
-5825098932e0c0a8be2e5c976030102c  sim/bfin/dv-bfin_twi.h
-a03047d4c52c383a23cbe72c0aeffdd9  sim/bfin/dv-bfin_spi.c
-a1c0da7d9e91559b8950ec9a9e60af3c  sim/bfin/Makefile.in
-e1765cdf0f47c7de09d7d9fb3298be66  sim/bfin/dv-bfin_pll.h
-afc817dad8f9495d1b4418f468e3d264  sim/bfin/gui.h
-319bdabea503480215640d6444d67c4f  sim/bfin/dv-bfin_mmu.h
-a86ee2d4d630065782dddd1ff1c7b09e  sim/bfin/dv-bfin_jtag.c
-bed4ccd428058874819fc91c42624a1d  sim/bfin/dv-bfin_ebiu_amc.h
-ea4e5c4c1e4edc1b0803fc3954c505e9  sim/bfin/dv-bfin_rtc.c
-5f5729a790c525f017ae299388b5416a  sim/bfin/dv-bfin_cec.c
-1bbdac03a98d515a4592013a6cf95b85  sim/bfin/bfin-sim.c
-e9d8967b41f025f9ca52acb34f7bcfe7  sim/bfin/dv-bfin_nfc.c
+eb5beec3315e7516ee98d8babe7857ba  sim/bfin/devices.h
+2f30518c0c1f5556947a426e6349ba84  sim/bfin/dv-bfin_gpio2.c
+a000fcaf8fe6edf014f7e8cb235e325b  sim/bfin/dv-bfin_twi.h
+99857fadc9393195320151f41aef65db  sim/bfin/dv-bfin_spi.c
+ea90550b15e8c22e68a36e20af54c50d  sim/bfin/Makefile.in
+2d6dce975139f478a17fbd652d209897  sim/bfin/dv-bfin_pll.h
+f2ff4f68bbcf27315f5db6d3413b08b2  sim/bfin/gui.h
+56810e9322cccd227706ab98a6efd81b  sim/bfin/dv-bfin_mmu.h
+8e535806626ec9f18f5f206f4df252de  sim/bfin/dv-bfin_jtag.c
+9ae42f0d1e0eec0ce537db830ee8c659  sim/bfin/dv-bfin_ebiu_amc.h
+403f376736a53019eae119435600f4d3  sim/bfin/dv-bfin_rtc.c
+5057fb39922c954a06d20a6c1dec4b3f  sim/bfin/dv-bfin_cec.c
+e8e5cd851717d6acc81689e57d72ed73  sim/bfin/bfin-sim.c
+346bd03b7ef53a137ff1742dc2a9aba2  sim/bfin/dv-bfin_nfc.c
 40392de169eff15c687d7545b487e66e  sim/bfin/linux-targ-map.h
-abb7e3081ea87e5a35369c66e274ced0  sim/bfin/dv-bfin_eppi.c
-77173ce8aced6e7e9d3e71f48a27f001  sim/bfin/dv-bfin_trace.c
-bfe19790f7cdd501d82e1647c291471a  sim/bfin/config.in
+d0b32ffb1132c431d5e8c8d842765bce  sim/bfin/dv-bfin_eppi.c
+359bf6feb36ca49c96e0e33f6e99b48f  sim/bfin/dv-bfin_trace.c
+f853c4b96c4a50bb60f4579527b15d75  sim/bfin/config.in
 c17bfe9f2af17636ef3551835320529b  sim/bfin/configure.ac
-8a52be5e972c355023308a7c7f0c51c5  sim/bfin/dv-bfin_mmu.c
-fe717b58d3054e128e6dfbebfb51cf98  sim/bfin/dv-bfin_jtag.h
+61f2c5a83a393dbfe0029f32872ff68f  sim/bfin/dv-bfin_mmu.c
+ee94774172957198038ef1b5934e4467  sim/bfin/dv-bfin_jtag.h
 492427fc77b38896d10fe0d402d8033b  sim/bfin/linux-fixed-code.h
-343b909c57864bf80b0b6d8826238237  sim/bfin/dv-eth_phy.c
-c179f98d6cb3f450badfe9d642f3371b  sim/bfin/dv-bfin_eppi.h
-cf4fe3a65f47652862383a9810b42a0b  sim/bfin/proc_list.def
-0382c470fee445239e18b10c9bc3c214  sim/bfin/machs.c
-bb81653e1984f81d574bcd1713827df9  sim/bfin/dv-bfin_wp.c
+027c715f1ed70a106575a0b533017f9b  sim/bfin/dv-eth_phy.c
+718c1ee6c934abdd2358a36ba07df231  sim/bfin/dv-bfin_eppi.h
+0db00b5942e529aa3fd4bd6b3775fb8e  sim/bfin/proc_list.def
+7a8118bf0b4f65aaedafd638583ec2ab  sim/bfin/machs.c
+8834dac26167924b5308b0b45471f48b  sim/bfin/dv-bfin_wp.c
 74df1e68e5725af09bfe140479acf3b8  sim/bfin/tconfig.in
-db048573d8be376e155c11e347fe3f10  sim/bfin/dv-bfin_ebiu_ddrc.c
-4ab1c7be5b222ebe780b5d71de6901b2  sim/bfin/dv-bfin_cec.h
-7ab121853be21ceea992b3be03d798ac  sim/bfin/dv-bfin_ppi.c
-622eb8d10f96dd1d4e445343c35afe34  sim/bfin/dv-bfin_ctimer.h
-2a513d5f9666e104ffdba037928e970d  sim/bfin/dv-bfin_gpio.h
-e22203a65af7bab2205457d1017c8e98  sim/bfin/dv-bfin_ctimer.c
-c78c4565555e6dc07f80059af22ff5f7  sim/bfin/dv-bfin_rtc.h
-bbdacbc02ad4032c5f9ecc23058327db  sim/bfin/dv-bfin_gpio.c
-378f63efe59fe9771f5f3fbfcd10361e  sim/bfin/gui.c
-c271f51b4d66e37acfd02764e0114827  sim/bfin/dv-bfin_ebiu_ddrc.h
-89226d13a5f59e576b128def802c2f37  sim/bfin/interp.c
-c9aec0e17933ff229ee5a68c331cff1a  sim/bfin/dv-bfin_nfc.h
-bebad85941f0b85b0358d32676957033  sim/bfin/dv-bfin_pint.h
-af3d31dbcf8b72c85c8e765c08629f7a  sim/bfin/dv-bfin_ebiu_sdc.h
-524305a4f3b4bb36ffc4beab841989c2  sim/bfin/dv-bfin_wdog.h
-b4c5e20b626757c2512b5d86608cabb1  sim/bfin/devices.c
-ee9452260d7081b9e2bb3c4354947699  sim/bfin/dv-bfin_pfmon.c
-215d834c1ef399830bbfd78b8cde27ee  sim/bfin/dv-bfin_uart2.h
-3c7ed52f1cefe75ed757630a01d36f4d  sim/bfin/dv-bfin_otp.h
-a22587be7bf1f8fdcb3a11324ebf0f41  sim/bfin/dv-bfin_spi.h
-cee6977e55e59ab0d6411688941a7526  sim/bfin/dv-bfin_trace.h
-1b271883b681abe6d1b2a0bb8875bc48  sim/bfin/dv-bfin_emac.c
-bac887258415605a70d8907ef4ee5d66  sim/bfin/dv-bfin_ebiu_amc.c
-92e351625cc3315f41809483f5e15f6b  sim/bfin/dv-bfin_twi.c
-0e15236a2417fd6565cd1641174863ec  sim/bfin/dv-bfin_ppi.h
-d961058af5c84e94992592191acf6a14  sim/bfin/dv-bfin_gptimer.h
-a467c8876b2c221fe8ad5f30eccb5dcb  sim/bfin/machs.h
+b5e5d25f67e31221d2c06dcb2eb6fa44  sim/bfin/dv-bfin_ebiu_ddrc.c
+46327f2ec63296668fefdf462b0b218a  sim/bfin/dv-bfin_cec.h
+db9eb1b0236919d6e5f60bba59d6c069  sim/bfin/dv-bfin_ppi.c
+71e033e6c2913a450561a51cb34b3cd2  sim/bfin/dv-bfin_ctimer.h
+64849cafc7d6f6a891c805d64764e939  sim/bfin/dv-bfin_gpio.h
+e977817443ae07ef70f4cbf29c88dd81  sim/bfin/dv-bfin_ctimer.c
+1feb4400b2266fe3e59a1257e8b1e588  sim/bfin/dv-bfin_rtc.h
+3c68fb2e6a053d7156446bf787d86dc3  sim/bfin/dv-bfin_gpio.c
+ff342f947d81497a6014b52808bb10f5  sim/bfin/gui.c
+1f7c404051e229f29fdb6f2fa8e8fa50  sim/bfin/dv-bfin_ebiu_ddrc.h
+78d240002d9a8d51d50e9d7696c12510  sim/bfin/interp.c
+3f48c0b1a231abf5d21baeefbbf2f0bc  sim/bfin/dv-bfin_nfc.h
+1b168a27ffc53f87429462c570b35edc  sim/bfin/dv-bfin_pint.h
+63a796ac11bd7295acc0f95254813783  sim/bfin/dv-bfin_ebiu_sdc.h
+aadd66ddec4aee7fb06dbe1034677b97  sim/bfin/dv-bfin_wdog.h
+31e0f56c28d4c05e3254172a744b3757  sim/bfin/devices.c
+282007d98036e5b546524011c81a8671  sim/bfin/dv-bfin_pfmon.c
+42193b6273336bb10a206f0e8e8fea0b  sim/bfin/dv-bfin_uart2.h
+07289af67161357aa5049b92c567f7ef  sim/bfin/dv-bfin_otp.h
+15fd7696b81930418f8541f095aef39f  sim/bfin/dv-bfin_spi.h
+ddeeb59075d166f692dc9d6e01ea3b6b  sim/bfin/dv-bfin_trace.h
+89ec1c2c5704a2af79c98e683e267549  sim/bfin/dv-bfin_emac.c
+ed452105bf8e7c22e2747514a16e24b8  sim/bfin/dv-bfin_ebiu_amc.c
+4a4b91db7dbeb5fcce75610dae7a543d  sim/bfin/dv-bfin_twi.c
+03d8976d090e6f4435d6a55eae60282c  sim/bfin/dv-bfin_ppi.h
+dfe878d7a733a746449a6e4288e152c7  sim/bfin/dv-bfin_gptimer.h
+cb7cc437ca501a69e553732270b408b7  sim/bfin/machs.h
 073b919a9cf4d7159a3cfce31bd4a4f5  sim/bfin/bfroms/all.h
 4f6b611014655449ae9aa6ff733441be  sim/bfin/bfroms/bf54x_l1-0.0.h
 aabc3164901d534355e6a1d3357dcbd1  sim/bfin/bfroms/bf533-0.2.h
@@ -10362,123 +10573,122 @@ ffb76dbec098de19fa58d330e4499c7d  sim/bf
 c549474a3d8c3650e4125e352a351c74  sim/bfin/bfroms/bf54x_l1-0.2.h
 909ea02ecbce474582595dec30940205  sim/bfin/bfroms/bf537-0.1.h
 c67b2baec67606a371bbe00edcc3dce8  sim/bfin/bfroms/bf537-0.0.h
-737589f0d38ce2aee9c3fc99305e8aec  sim/bfin/dv-bfin_dma.h
-98b9100a5de21c0d33c460ff93183903  sim/bfin/dv-bfin_uart.c
-5cb9c4f2648a4b10bca511e8d853b4d8  sim/bfin/configure
-bc435b7f9ca3247e20498b2d293df06f  sim/bfin/dv-bfin_uart.h
+5adab916fb31ab258e8dccf97e448833  sim/bfin/dv-bfin_dma.h
+a4b49fd04d8321c48b3cb2b24d9ddfdb  sim/bfin/dv-bfin_uart.c
+49be6ca033ea1dff46c6e71fd2c51c6c  sim/bfin/configure
+c393cee85d3cfa548f38323f1b96e0f7  sim/bfin/dv-bfin_uart.h
 111d4080710031a1c3834dd076d03a2b  sim/bfin/aclocal.m4
-b6e6d63721a6e33f0468924de87264e1  sim/bfin/dv-bfin_pll.c
-3e3f1015de5dbdfbfd80472cfdc8fbd3  sim/bfin/dv-bfin_evt.h
-0cc76ee483adb7c9b1e5e893a499efab  sim/bfin/insn_list.def
-09cc322d66b73c406f0e79178acbce78  sim/bfin/ChangeLog
+da78a4e7e2be595df7a408f4d2dd67a0  sim/bfin/dv-bfin_pll.c
+aec5364218eee14bd2b46b2d59705ca2  sim/bfin/dv-bfin_evt.h
+b069b95ede7e2e014874f80bf03e034d  sim/bfin/insn_list.def
+ef53a655e3181f433d36b3c6dfbb8ec6  sim/bfin/ChangeLog
 5ec880b0d83ee871c1e8530992044a0d  sim/bfin/TODO
-35773c26200402f0d8d04ab2e7ec2229  sim/bfin/dv-bfin_wp.h
-5de2b6ad76d789b07004d8cf78130a50  sim/bfin/dv-bfin_pint.c
-8e77c2d070f414da23a7a73250ac9137  sim/bfin/dv-bfin_gpio2.h
-0d6afea6a8f8e792e43efc4612aeebe0  sim/bfin/dv-bfin_dmac.c
-898dc7fe9c2ca8bb20fa7017d1aedc1d  sim/bfin/dv-bfin_ebiu_sdc.c
-3bf31c060d445b9511a96b6e6655a9ff  sim/bfin/dv-bfin_wdog.c
-86bbee1254a8ac92470fd1a424e96d35  sim/bfin/dv-bfin_otp.c
-bd799f331e0174fddf50714be3f3c264  sim/bfin/dv-bfin_evt.c
-c8e2ed8dccf7e6474051c015c28b89c6  sim/bfin/dv-bfin_emac.h
-f9213bcaac9c67cc75bfc9f982697650  sim/bfin/bfin-sim.h
-304eadebde21a116c7013b2ed0bf6c5f  sim/bfin/dv-bfin_dmac.h
-24a98a5a50f012d1657449ad91ff5c87  sim/bfin/sim-main.h
-2ea6508803e0fbb65136bd7709b11e50  sim/bfin/dv-bfin_sic.h
-792c6505cdae6a9df4fd198743d29e07  sim/bfin/linux-fixed-code.s
-3567d1daa46e78b69d5af0120b5e33dc  sim/bfin/dv-bfin_pfmon.h
-af1b4e5c4b51a1fc6dec66387476c4be  sim/bfin/dv-bfin_dma.c
-f8fdb047602053ab7c19a3768c12494f  sim/bfin/dv-bfin_uart2.c
-e939612ea5af7540c181dd7928c194b6  sim/bfin/dv-bfin_sic.c
-e6d99f5c22a79099f850f0344a5b51af  sim/bfin/dv-bfin_gptimer.c
+18fd5a4be9aaa1ba073921e258583799  sim/bfin/dv-bfin_wp.h
+cb6642945b45f02940ac4d89a4b407ca  sim/bfin/dv-bfin_pint.c
+1ad36a83218111680afefd58d9b534f0  sim/bfin/dv-bfin_gpio2.h
+a0a11d8887c6477b6466b9b8f0f28ae3  sim/bfin/dv-bfin_dmac.c
+9d5c0255c9f6b29c0b70e89d13acf1e5  sim/bfin/dv-bfin_ebiu_sdc.c
+4b8e36bb47e520eebd6cd713f12eb6be  sim/bfin/dv-bfin_wdog.c
+335603fc115ae05706dc353fe48b0992  sim/bfin/dv-bfin_otp.c
+970e2cb9dd4c5eef0e8c6942b6731278  sim/bfin/dv-bfin_evt.c
+092df6095573d91a9986bfe651bebaa8  sim/bfin/dv-bfin_emac.h
+c3273fbfcbbf8cc7041c9091a8483f38  sim/bfin/bfin-sim.h
+7995d6756d4a88d2eff9428cf0b0ffdb  sim/bfin/dv-bfin_dmac.h
+51c61f51e08dd12a5985e18d4a2ae422  sim/bfin/sim-main.h
+9c2db72296cda75ac73c65668d1ab811  sim/bfin/dv-bfin_sic.h
+a82bf9f7fc6c7548a9c410ad6d5ac3a8  sim/bfin/linux-fixed-code.s
+50d6e6b80c030883f790d522bef4cf58  sim/bfin/dv-bfin_pfmon.h
+bff9879081a2e32e37cc460f6f651eb0  sim/bfin/dv-bfin_dma.c
+517c70aef7afd2c2eff107adf4337da3  sim/bfin/dv-bfin_uart2.c
+cec24f8d1a3c5ffd611c336184a7ae04  sim/bfin/dv-bfin_sic.c
+d6f2cec462ff2c5ac5c39ef5c788b6a8  sim/bfin/dv-bfin_gptimer.c
 6c735af4b423c79f03f9e036330ea2de  sim/MAINTAINERS
-87181d3cf4bf0e60435530df9cfafab4  sim/m68hc11/dv-m68hc11.c
-b6e63849a8318e7d37bb33e6f1ac6fb0  sim/m68hc11/Makefile.in
-322291fe7834f3320a0d7bbc4f02cfb3  sim/m68hc11/dv-m68hc11sio.c
-b36495fee0026d3c034f187c4c6fdaf9  sim/m68hc11/config.in
+81b60a4eff670d8c43c5f94b19bd1aec  sim/m68hc11/dv-m68hc11.c
+2ea079b5cc3cd04fe7b19e044a05d563  sim/m68hc11/Makefile.in
+09b992cc0678b0dbcb4802dcd8420de1  sim/m68hc11/dv-m68hc11sio.c
+00e45f323b2055a3473ed246826fdca7  sim/m68hc11/config.in
 8ead0b3d1985cc1a10216f7e34225c40  sim/m68hc11/configure.ac
-401c025bf07033ea2c8bda1ebcb635de  sim/m68hc11/gencode.c
-8ed65ff377427b05a248706c5c08d04a  sim/m68hc11/dv-m68hc11spi.c
-86537ef3174561885c3c1d43052867f4  sim/m68hc11/interp.c
-eec4c84d038383801d686e0c48b19768  sim/m68hc11/interrupts.h
-6373e1d9e5a09d44c7ea8f2e52de081e  sim/m68hc11/dv-nvram.c
-e3e9d1cad34e0b71f7d655cc38d54529  sim/m68hc11/configure
-974533cf233e15a2f5f13e17c102eb02  sim/m68hc11/emulos.c
+87cb38d0acdca79b68f4dd6cd2668902  sim/m68hc11/gencode.c
+5ee49ed6d8aeb534dff4f35accdd7fdc  sim/m68hc11/dv-m68hc11spi.c
+af0b8f5ebd5752399c2da38875f16484  sim/m68hc11/interp.c
+9456e79df388cee824c526e332a4b05a  sim/m68hc11/interrupts.h
+37a89beb896f81cc2bf38399fde04be0  sim/m68hc11/dv-nvram.c
+56d2d2db3300b5b4022cdde113a290bd  sim/m68hc11/configure
+622dde1c3c21ab4cb989faefafb9c68e  sim/m68hc11/emulos.c
 f9164ebf3a70764e5acd32bbcfaff878  sim/m68hc11/aclocal.m4
-d862ed4872744a3ff7728448df20bc14  sim/m68hc11/interrupts.c
-7013028bcc25187b8dd80636de7b7337  sim/m68hc11/ChangeLog
-b11f9ec37cbcfcf6afb137889e0d7de8  sim/m68hc11/dv-m68hc11eepr.c
-b7f53363ff3962cd2cf130c4d99df1e6  sim/m68hc11/m68hc11_sim.c
-ca12c6cef44a2c7b246e82f1173dc68c  sim/m68hc11/sim-main.h
-c470cb2a89c8f26c3e84e4a85a1c3eca  sim/m68hc11/dv-m68hc11tim.c
+d272ad104f1c84e570092e540424f8ea  sim/m68hc11/interrupts.c
+f9f9bddf89ffec340a788ba64bc0a447  sim/m68hc11/ChangeLog
+4cac7e234232377ecc9044a4f0f86445  sim/m68hc11/dv-m68hc11eepr.c
+409e913b600fab60216cb51ec5122c2d  sim/m68hc11/m68hc11_sim.c
+d2080a43465e68a1ddf14847dff2fff6  sim/m68hc11/sim-main.h
+43bf48002e88c902016b4f589a854392  sim/m68hc11/dv-m68hc11tim.c
 c1b2c0b2ffef1ba72a8a6e24677c8653  sim/rx/README.txt
-583c328e911b759056fef4b646f78931  sim/rx/Makefile.in
-befec40771092de720b6e69ecdc041a5  sim/rx/rx.c
-d34e0545c295a3df6b51f06fb8a710be  sim/rx/gdb-if.c
-4848c0e926bcd92fb00975ab8f87cc7e  sim/rx/err.h
-27def7eb800826197cb1b65bada336ae  sim/rx/cpu.h
-473c3a4e18ce501a6e189cb6a69eae7f  sim/rx/config.in
-8aec61075f05c7fc498404169b501715  sim/rx/configure.ac
-b197bf8435c5e94af6d13de67979dcf3  sim/rx/trace.c
-12193b84c20a22d224e0873f64fe43bb  sim/rx/load.h
-f6cfc64e6a2a57ed145a7c8238f419ad  sim/rx/misc.c
-015b3bc81bf2617add79cc7942ae577b  sim/rx/main.c
-7c23e797983439aea93ea6688ccd6bf4  sim/rx/mem.h
+e6e7c3c27e94c21592dc7dd1c93fc115  sim/rx/Makefile.in
+a26defa8c927df1fc71cbaebc01882f2  sim/rx/rx.c
+17120b5a4beacf6b1470c0035acfe9f2  sim/rx/gdb-if.c
+862d1de9463d3dadbfb34560890ce11a  sim/rx/err.h
+9806312867ac52ca3aa05d16e81b5c0f  sim/rx/cpu.h
+761b32fe95daf42b6e6b669c0a99e443  sim/rx/config.in
+965cb99aa097456abd62e909229e662d  sim/rx/configure.ac
+e58d04ed82c86125b9a5d84c04d64394  sim/rx/trace.c
+04b6a54adef2216df6b3a9fa7a9f492d  sim/rx/load.h
+af6d788966044e24aa09fff6cf70b311  sim/rx/misc.c
+826fc70e2477833867827d8560b7e685  sim/rx/main.c
+deee92aeeefb12b0bd11a8f85016e09b  sim/rx/mem.h
 24e2f861da06951620983b5a9ca6efe2  sim/rx/syscall.h
-3412170f407773509d0ab820c62ae945  sim/rx/fpu.c
-5b292826120cedba743f0c5be9a2c78e  sim/rx/err.c
-ff93b715bc68bcbc7eaa7ff0be065804  sim/rx/syscalls.c
-d65852be8a3f8dac4a06005beed57a79  sim/rx/configure
+cebe547a409193f7e2d6adbc5e1c5706  sim/rx/fpu.c
+6aa98ea94b173ec5f523beda343843f6  sim/rx/err.c
+0e89db1dc09f3d3e9c27da460c98d53d  sim/rx/syscalls.c
+d26f3d3de04ee52dd855cc1e82ae5c60  sim/rx/configure
 f9164ebf3a70764e5acd32bbcfaff878  sim/rx/aclocal.m4
-05356bfbb145fcf0339460ed66007583  sim/rx/syscalls.h
-162484d8758ebc81304a57eb31d803ea  sim/rx/ChangeLog
-4638710ba922582857a414aecbc7ea89  sim/rx/trace.h
-8d0c1d1a09b2fb96ca5243eba2aae38f  sim/rx/reg.c
-9ee0c5fa73c5da2426cb4cb9522c2346  sim/rx/fpu.h
-88d607343d7da3a3f7f3cfaef364016b  sim/rx/misc.h
-aa4312149eb99a2ef12603acb7df87f2  sim/rx/mem.c
-f409dc104ce4b9e021f18466c42d93f1  sim/rx/load.c
-7d66efbbba59539180040a99edcd6b0f  sim/igen/filter.h
-8d1a59188228dd3e3189f3c0db67810e  sim/igen/Makefile.in
-9c5cd0451c6276aab78f96a9005a34dd  sim/igen/ld-cache.h
-7c4e189b0f536e6ffc7d26d5abf2efe5  sim/igen/gen-idecode.h
-2eda380da0095a8ed9147451f33c0d12  sim/igen/table.c
-130bc6daefb0cc8e839c05b966aee397  sim/igen/gen.c
-d599ac03a134befa8e1c3d6953cebf42  sim/igen/gen-support.h
-d211903320ae5728c9bc73706d8dfecd  sim/igen/gen.h
-6426d9d6ef11c014507f46ebea2d94f7  sim/igen/gen-semantics.c
-bb3098ee6d53283b3e090c747b1e6547  sim/igen/ld-insn.h
-f5563993b6a8662a1e6b735ce766fe95  sim/igen/gen-icache.h
-c58941f58097049a710b7edda5142e46  sim/igen/filter_host.c
-3fdbbe473a222ed5ba260e795bdc2f0c  sim/igen/ld-decode.h
+7c59c6e5ba9ee59dadf36bc996c4d0bb  sim/rx/syscalls.h
+fd4d98701de3e46926a2dafa81885353  sim/rx/ChangeLog
+7c6d66ae15a102e7f246188def144971  sim/rx/trace.h
+f99eacdc28b3cfbda7227592a07d8b23  sim/rx/reg.c
+a6b02aac7f6f333707071d7598b7ccab  sim/rx/fpu.h
+6ffffac442000329122e6c5763b12820  sim/rx/misc.h
+9acfecc05cf7716c8c4d7a9bc366bded  sim/rx/mem.c
+a2a5b0eaab2f87f9a58390d81e2323e3  sim/rx/load.c
+70c07d799d88f12d8334ae9bed62e305  sim/igen/filter.h
+3bcc14f433964b21940d310eeff5b8b9  sim/igen/Makefile.in
+92490e022f4adef0736530bb7f89d0cd  sim/igen/ld-cache.h
+39908e519244bfdc0e7ad38d974edd0f  sim/igen/gen-idecode.h
+ffbb7c2f29eb1a76d777893f36f40cd1  sim/igen/table.c
+b20adcfa9537dbecf606febba81651ed  sim/igen/gen.c
+a8bcbe2b4d1fced320bca6f313d9ef73  sim/igen/gen-support.h
+8343f1c7cdcda7fbb639e5934d223c18  sim/igen/gen.h
+c36656d5cefbbe444be566175709c3e1  sim/igen/gen-semantics.c
+7af256a37b128a3766e398a564be32cc  sim/igen/ld-insn.h
+e02c53753935f7e90d364ebfdeac4146  sim/igen/gen-icache.h
+30841b893dae7278e83d4cc17cd604d2  sim/igen/filter_host.c
+9d4882d67f20fa91322e3bbaa159b1af  sim/igen/ld-decode.h
 290d600da66bd2846e6b8130844f4f38  sim/igen/config.in
 cf3879eb2ab97f84b5d4d569139ce418  sim/igen/configure.ac
-6661da30bda42a4033290a5afb309e66  sim/igen/gen-semantics.h
-61f821e243e818eba71a46b7974950b5  sim/igen/compare_igen_models
-7a4bff0547f28385cf0c911cb59d36f2  sim/igen/gen-idecode.c
-c51b9ad71e8f1bce1641a13b8cd8cf94  sim/igen/misc.c
-94e3875c72bd902f43bb8c32ef15215d  sim/igen/gen-engine.h
-74543eccc2011d1199454e61a18cf987  sim/igen/table.h
-2f3f1359fb306b8ad203a50da263ebe0  sim/igen/gen-model.c
-531f1ab4e5df7cc0b2a17d512907aaed  sim/igen/ld-decode.c
-a0c16d337412c6e14dc49ab3fb4c18cd  sim/igen/filter_host.h
-c8d31b7e52278260dc96a2c22d7bde58  sim/igen/gen-engine.c
-a060c233e4ad73eb57f961de15cde24d  sim/igen/igen.c
-b265da284b2a49848b6c8eecd4b0c486  sim/igen/gen-model.h
+fcad92737bf198932a989200dff3e764  sim/igen/gen-semantics.h
+7b154f1dd1031aa71e6d3901082357e6  sim/igen/compare_igen_models
+0ad83b6c799f0f62f92b2afafd61c6f2  sim/igen/gen-idecode.c
+f573da7f6fc642ce66ed9c694e5592cf  sim/igen/misc.c
+02fd772658c3f6ea6b4862ccb194cda0  sim/igen/gen-engine.h
+095c046459be3ef1b11cdd897523d5dd  sim/igen/table.h
+a0a86205e59796689ccd13967ec4bc31  sim/igen/gen-model.c
+a372159d5198fb1b87fe5762c30fdff2  sim/igen/ld-decode.c
+37fae4c5bfee7a1379634b83db481362  sim/igen/filter_host.h
+81a3a2740f3ddf107c4fd4231cc6fae5  sim/igen/gen-engine.c
+fd39940c048cd447325c228e6024211c  sim/igen/igen.c
+2407b1a7fa9b240df53f90e093d5f8e2  sim/igen/gen-model.h
 59cc2c9e08e5ab95607dcda27361c232  sim/igen/configure
-704307941cbed299aee62e999241c40e  sim/igen/lf.c
-6201e78ceadc14bc380623a10a3a2eb7  sim/igen/ChangeLog
-3b23019de394f32714b2c2850d57d849  sim/igen/gen-itable.c
-7c6ad22e76b9ef98a4a69a38a5b1c4e6  sim/igen/filter.c
-2faafe4673c88f2c2f0ba90873462fd1  sim/igen/gen-itable.h
-b6674a2041e1b34e001f254d6ed53171  sim/igen/gen-icache.c
-55f90044549917a7581e1e99890ebd45  sim/igen/ld-insn.c
-cfdc24c63f9465bff8174076b8e72319  sim/igen/misc.h
-fff22e36495028cca417325ef9c06e38  sim/igen/ld-cache.c
-95d8088f8bb47b491a3b78196716ca3d  sim/igen/igen.h
-8ff9cd2594edc299f1b41b3cdfe3aa1e  sim/igen/gen-support.c
-36c6a7de1b390cb3ccf86562aaf9e0a1  sim/igen/lf.h
-dd4e38ab135c151d3abb9cd6dc52ebff  src-release
+b7facc6335df73e61924031f270d2ef9  sim/igen/lf.c
+b1e5cc33c3edec1e788867fece1d8aff  sim/igen/ChangeLog
+165d31c9f495a101a4db891701dde1e5  sim/igen/gen-itable.c
+7f3c8619d98c7b9c36bd44e7ba688fbd  sim/igen/filter.c
+3f88846616ec79fcd505a7912b92406b  sim/igen/gen-itable.h
+ae52b30b75617b74aa4ed5ec0572c3ac  sim/igen/gen-icache.c
+3ba273a478b554059703d4dafe64efb1  sim/igen/ld-insn.c
+14006f076389049e56b8c7c6fc454975  sim/igen/misc.h
+efb89ec9c0539a30164266d85e058eae  sim/igen/ld-cache.c
+a7b53d5a3e5ca29b727636be437dd69e  sim/igen/igen.h
+e31dcd58b5a6c957d1f7912fe5b29041  sim/igen/gen-support.c
+59f2684c2a1e2126c4879aed7c44c148  sim/igen/lf.h
 cf2baa0854f564a7785307e79f155efc  symlink-tree
 6ffd0f415aea2960cac41434e6d904bb  texinfo/texinfo.tex
-69678e72941d681665c3731bfb3044ab  ylwrap
+cb06c1be6a41d68b0a65e0c1a91752bc  ylwrap
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/missing ./missing
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/missing	2015-01-13 02:02:20.000000000 +0000
+++ ./missing	2015-01-20 02:05:40.000000000 +0000
@@ -1,11 +1,10 @@
 #! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -26,69 +25,40 @@ scriptversion=2009-04-28.21; # UTC
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
+case $1 in
 
-msg="missing on your system"
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
 
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
 
   -h|--h|--he|--hel|--help)
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
 
 Options:
   -h, --help      display this help and exit
   -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
 
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <bug-automake@gnu.org>."
     exit $?
@@ -100,272 +70,141 @@ Send bug reports to <bug-automake@gnu.or
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
 esac
 
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  tar*)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
 
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-	   sed 's/\.am$/.in/' |
-	   while read f; do touch "$f"; done
-    ;;
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
 
-  autom4te*)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo "#! /bin/sh"
-	echo "# Created by GNU Automake missing as a replacement of"
-	echo "#  $ $@"
-	echo "exit 0"
-	chmod +x $file
-	exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-	case $LASTARG in
-	*.y)
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-	    if test -f "$SRCFILE"; then
-	         cp "$SRCFILE" y.tab.c
-	    fi
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-	    if test -f "$SRCFILE"; then
-	         cp "$SRCFILE" y.tab.h
-	    fi
-	  ;;
-	esac
-    fi
-    if test ! -f y.tab.h; then
-	echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-	echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-	case $LASTARG in
-	*.l)
-	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-	    if test -f "$SRCFILE"; then
-	         cp "$SRCFILE" lex.yy.c
-	    fi
-	  ;;
-	esac
-    fi
-    if test ! -f lex.yy.c; then
-	echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-	 you modified a dependency of a manual page.  You may need the
-	 \`Help2man' package in order for those modifications to take
-	 effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo ".ab help2man is required to generate this page"
-	exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-	/^@setfilename/{
-	  s/.* \([^ ]*\) *$/\1/
-	  p
-	  q
-	}' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
-
-  tar*)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-	case $firstarg in
-	*o*)
-	    firstarg=`echo "$firstarg" | sed s/o//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-	case $firstarg in
-	*h*)
-	    firstarg=`echo "$firstarg" | sed s/h//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
 
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'autom4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
+    ;;
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/mkinstalldirs ./mkinstalldirs
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/mkinstalldirs	2015-01-13 02:02:20.000000000 +0000
+++ ./mkinstalldirs	2015-01-20 02:05:40.000000000 +0000
@@ -81,9 +81,9 @@ case $dirmode in
       echo "mkdir -p -- $*"
       exec mkdir -p -- "$@"
     else
-      # On NextStep and OpenStep, the `mkdir' command does not
+      # On NextStep and OpenStep, the 'mkdir' command does not
       # recognize any option.  It will interpret all options as
-      # directories to create, and then abort because `.' already
+      # directories to create, and then abort because '.' already
       # exists.
       test -d ./-p && rmdir ./-p
       test -d ./--version && rmdir ./--version
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/move-if-change ./move-if-change
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/move-if-change	2015-01-13 02:02:20.000000000 +0000
+++ ./move-if-change	2015-01-20 02:05:40.000000000 +0000
@@ -2,13 +2,13 @@
 # Like mv $1 $2, but if the files are the same, just delete $1.
 # Status is zero if successful, nonzero otherwise.
 
-VERSION='2011-01-28 20:09'; # UTC
+VERSION='2012-01-06 07:23'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2002-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ If SOURCE is different than DEST, then m
   --help     display this help and exit
   --version  output version information and exit
 
-The variable CMPPROG can be used to specify an alternative to \`cmp'.
+The variable CMPPROG can be used to specify an alternative to 'cmp'.
 
 Report bugs to <bug-gnulib@gnu.org>."
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-asm-2.c ./opcodes/aarch64-asm-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-asm-2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-asm-2.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -210,25 +210,169 @@ aarch64_find_real_opcode (const aarch64_
     case 774:	/* tst */
       value = 773;	/* --> ands.  */
       break;
-    case 777:	/* mov */
-      value = 776;	/* --> movn.  */
+    case 900:	/* staddb */
+      value = 804;	/* --> ldaddb.  */
       break;
-    case 779:	/* mov */
-      value = 778;	/* --> movz.  */
+    case 901:	/* staddh */
+      value = 805;	/* --> ldaddh.  */
       break;
-    case 790:	/* sevl */
-    case 789:	/* sev */
-    case 788:	/* wfi */
-    case 787:	/* wfe */
-    case 786:	/* yield */
-    case 785:	/* nop */
-      value = 784;	/* --> hint.  */
-      break;
-    case 799:	/* tlbi */
-    case 798:	/* ic */
-    case 797:	/* dc */
-    case 796:	/* at */
-      value = 795;	/* --> sys.  */
+    case 902:	/* stadd */
+      value = 806;	/* --> ldadd.  */
+      break;
+    case 903:	/* staddlb */
+      value = 808;	/* --> ldaddlb.  */
+      break;
+    case 904:	/* staddlh */
+      value = 811;	/* --> ldaddlh.  */
+      break;
+    case 905:	/* staddl */
+      value = 814;	/* --> ldaddl.  */
+      break;
+    case 906:	/* stclrb */
+      value = 816;	/* --> ldclrb.  */
+      break;
+    case 907:	/* stclrh */
+      value = 817;	/* --> ldclrh.  */
+      break;
+    case 908:	/* stclr */
+      value = 818;	/* --> ldclr.  */
+      break;
+    case 909:	/* stclrlb */
+      value = 820;	/* --> ldclrlb.  */
+      break;
+    case 910:	/* stclrlh */
+      value = 823;	/* --> ldclrlh.  */
+      break;
+    case 911:	/* stclrl */
+      value = 826;	/* --> ldclrl.  */
+      break;
+    case 912:	/* steorb */
+      value = 828;	/* --> ldeorb.  */
+      break;
+    case 913:	/* steorh */
+      value = 829;	/* --> ldeorh.  */
+      break;
+    case 914:	/* steor */
+      value = 830;	/* --> ldeor.  */
+      break;
+    case 915:	/* steorlb */
+      value = 832;	/* --> ldeorlb.  */
+      break;
+    case 916:	/* steorlh */
+      value = 835;	/* --> ldeorlh.  */
+      break;
+    case 917:	/* steorl */
+      value = 838;	/* --> ldeorl.  */
+      break;
+    case 918:	/* stsetb */
+      value = 840;	/* --> ldsetb.  */
+      break;
+    case 919:	/* stseth */
+      value = 841;	/* --> ldseth.  */
+      break;
+    case 920:	/* stset */
+      value = 842;	/* --> ldset.  */
+      break;
+    case 921:	/* stsetlb */
+      value = 844;	/* --> ldsetlb.  */
+      break;
+    case 922:	/* stsetlh */
+      value = 847;	/* --> ldsetlh.  */
+      break;
+    case 923:	/* stsetl */
+      value = 850;	/* --> ldsetl.  */
+      break;
+    case 924:	/* stsmaxb */
+      value = 852;	/* --> ldsmaxb.  */
+      break;
+    case 925:	/* stsmaxh */
+      value = 853;	/* --> ldsmaxh.  */
+      break;
+    case 926:	/* stsmax */
+      value = 854;	/* --> ldsmax.  */
+      break;
+    case 927:	/* stsmaxlb */
+      value = 856;	/* --> ldsmaxlb.  */
+      break;
+    case 928:	/* stsmaxlh */
+      value = 859;	/* --> ldsmaxlh.  */
+      break;
+    case 929:	/* stsmaxl */
+      value = 862;	/* --> ldsmaxl.  */
+      break;
+    case 930:	/* stsminb */
+      value = 864;	/* --> ldsminb.  */
+      break;
+    case 931:	/* stsminh */
+      value = 865;	/* --> ldsminh.  */
+      break;
+    case 932:	/* stsmin */
+      value = 866;	/* --> ldsmin.  */
+      break;
+    case 933:	/* stsminlb */
+      value = 868;	/* --> ldsminlb.  */
+      break;
+    case 934:	/* stsminlh */
+      value = 871;	/* --> ldsminlh.  */
+      break;
+    case 935:	/* stsminl */
+      value = 874;	/* --> ldsminl.  */
+      break;
+    case 936:	/* stumaxb */
+      value = 876;	/* --> ldumaxb.  */
+      break;
+    case 937:	/* stumaxh */
+      value = 877;	/* --> ldumaxh.  */
+      break;
+    case 938:	/* stumax */
+      value = 878;	/* --> ldumax.  */
+      break;
+    case 939:	/* stumaxlb */
+      value = 880;	/* --> ldumaxlb.  */
+      break;
+    case 940:	/* stumaxlh */
+      value = 883;	/* --> ldumaxlh.  */
+      break;
+    case 941:	/* stumaxl */
+      value = 886;	/* --> ldumaxl.  */
+      break;
+    case 942:	/* stuminb */
+      value = 888;	/* --> lduminb.  */
+      break;
+    case 943:	/* stuminh */
+      value = 889;	/* --> lduminh.  */
+      break;
+    case 944:	/* stumin */
+      value = 890;	/* --> ldumin.  */
+      break;
+    case 945:	/* stuminlb */
+      value = 892;	/* --> lduminlb.  */
+      break;
+    case 946:	/* stuminlh */
+      value = 895;	/* --> lduminlh.  */
+      break;
+    case 947:	/* stuminl */
+      value = 898;	/* --> lduminl.  */
+      break;
+    case 949:	/* mov */
+      value = 948;	/* --> movn.  */
+      break;
+    case 951:	/* mov */
+      value = 950;	/* --> movz.  */
+      break;
+    case 962:	/* sevl */
+    case 961:	/* sev */
+    case 960:	/* wfi */
+    case 959:	/* wfe */
+    case 958:	/* yield */
+    case 957:	/* nop */
+      value = 956;	/* --> hint.  */
+      break;
+    case 971:	/* tlbi */
+    case 970:	/* ic */
+    case 969:	/* dc */
+    case 968:	/* at */
+      value = 967;	/* --> sys.  */
       break;
     default: return NULL;
     }
@@ -255,11 +399,10 @@ aarch64_insert_operand (const aarch64_op
     case 8:
     case 9:
     case 10:
-    case 13:
     case 14:
     case 15:
     case 16:
-    case 18:
+    case 17:
     case 19:
     case 20:
     case 21:
@@ -268,29 +411,29 @@ aarch64_insert_operand (const aarch64_op
     case 24:
     case 25:
     case 26:
-    case 34:
+    case 27:
     case 35:
+    case 36:
       return aarch64_ins_regno (self, info, code, inst);
-    case 11:
-      return aarch64_ins_reg_extended (self, info, code, inst);
     case 12:
+      return aarch64_ins_reg_extended (self, info, code, inst);
+    case 13:
       return aarch64_ins_reg_shifted (self, info, code, inst);
-    case 17:
+    case 18:
       return aarch64_ins_ft (self, info, code, inst);
-    case 27:
     case 28:
     case 29:
-      return aarch64_ins_reglane (self, info, code, inst);
     case 30:
-      return aarch64_ins_reglist (self, info, code, inst);
+      return aarch64_ins_reglane (self, info, code, inst);
     case 31:
-      return aarch64_ins_ldst_reglist (self, info, code, inst);
+      return aarch64_ins_reglist (self, info, code, inst);
     case 32:
-      return aarch64_ins_ldst_reglist_r (self, info, code, inst);
+      return aarch64_ins_ldst_reglist (self, info, code, inst);
     case 33:
+      return aarch64_ins_ldst_reglist_r (self, info, code, inst);
+    case 34:
       return aarch64_ins_ldst_elemlist (self, info, code, inst);
-    case 36:
-    case 45:
+    case 37:
     case 46:
     case 47:
     case 48:
@@ -303,55 +446,56 @@ aarch64_insert_operand (const aarch64_op
     case 55:
     case 56:
     case 57:
-    case 66:
+    case 58:
     case 67:
     case 68:
     case 69:
+    case 70:
       return aarch64_ins_imm (self, info, code, inst);
-    case 37:
     case 38:
-      return aarch64_ins_advsimd_imm_shift (self, info, code, inst);
     case 39:
+      return aarch64_ins_advsimd_imm_shift (self, info, code, inst);
     case 40:
     case 41:
+    case 42:
       return aarch64_ins_advsimd_imm_modified (self, info, code, inst);
-    case 58:
-      return aarch64_ins_limm (self, info, code, inst);
     case 59:
-      return aarch64_ins_aimm (self, info, code, inst);
+      return aarch64_ins_limm (self, info, code, inst);
     case 60:
-      return aarch64_ins_imm_half (self, info, code, inst);
+      return aarch64_ins_aimm (self, info, code, inst);
     case 61:
+      return aarch64_ins_imm_half (self, info, code, inst);
+    case 62:
       return aarch64_ins_fbits (self, info, code, inst);
-    case 63:
     case 64:
+    case 65:
       return aarch64_ins_cond (self, info, code, inst);
-    case 70:
-    case 76:
-      return aarch64_ins_addr_simple (self, info, code, inst);
     case 71:
-      return aarch64_ins_addr_regoff (self, info, code, inst);
+    case 77:
+      return aarch64_ins_addr_simple (self, info, code, inst);
     case 72:
+      return aarch64_ins_addr_regoff (self, info, code, inst);
     case 73:
     case 74:
-      return aarch64_ins_addr_simm (self, info, code, inst);
     case 75:
+      return aarch64_ins_addr_simm (self, info, code, inst);
+    case 76:
       return aarch64_ins_addr_uimm12 (self, info, code, inst);
-    case 77:
-      return aarch64_ins_simd_addr_post (self, info, code, inst);
     case 78:
-      return aarch64_ins_sysreg (self, info, code, inst);
+      return aarch64_ins_simd_addr_post (self, info, code, inst);
     case 79:
-      return aarch64_ins_pstatefield (self, info, code, inst);
+      return aarch64_ins_sysreg (self, info, code, inst);
     case 80:
+      return aarch64_ins_pstatefield (self, info, code, inst);
     case 81:
     case 82:
     case 83:
-      return aarch64_ins_sysins_op (self, info, code, inst);
     case 84:
+      return aarch64_ins_sysins_op (self, info, code, inst);
     case 85:
-      return aarch64_ins_barrier (self, info, code, inst);
     case 86:
+      return aarch64_ins_barrier (self, info, code, inst);
+    case 87:
       return aarch64_ins_prfop (self, info, code, inst);
     default: assert (0); abort ();
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-asm.c ./opcodes/aarch64-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* aarch64-asm.c -- AArch64 assembler support.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -856,6 +856,14 @@ do_special_encoding (struct aarch64_inst
       if (inst->opcode->flags & F_N)
 	insert_field (FLD_N, &inst->value, value, inst->opcode->mask);
     }
+  if (inst->opcode->flags & F_LSE_SZ)
+    {
+      idx = select_operand_for_sf_field_coding (inst->opcode);
+      value = (inst->operands[idx].qualifier == AARCH64_OPND_QLF_X
+	       || inst->operands[idx].qualifier == AARCH64_OPND_QLF_SP)
+	? 1 : 0;
+      insert_field (FLD_lse_sz, &inst->value, value, 0);
+    }
   if (inst->opcode->flags & F_SIZEQ)
     encode_sizeq (inst);
   if (inst->opcode->flags & F_FPTYPE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-asm.h ./opcodes/aarch64-asm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-asm.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-asm.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* aarch64-asm.h -- Header file for aarch64-asm.c and aarch64-asm-2.c.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-dis-2.c ./opcodes/aarch64-dis-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-dis-2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-dis-2.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -40,7 +40,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
                          adr.  */
-                      return 781;
+                      return 953;
                     }
                   else
                     {
@@ -48,7 +48,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
                          adrp.  */
-                      return 782;
+                      return 954;
                     }
                 }
               else
@@ -137,11 +137,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     }
                                   else
                                     {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx0xxxxx100x00100xx
-                                         stxp.  */
-                                      return 731;
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx0xxxxx100x00100x0
+                                             casp.  */
+                                          return 788;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx0xxxxx100x00100x1
+                                             stxp.  */
+                                          return 731;
+                                        }
                                     }
                                 }
                               else
@@ -178,11 +189,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     }
                                   else
                                     {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx1xxxxx100x00100xx
-                                         stlxp.  */
-                                      return 732;
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx1xxxxx100x00100x0
+                                             caspl.  */
+                                          return 790;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx1xxxxx100x00100x1
+                                             stlxp.  */
+                                          return 732;
+                                        }
                                     }
                                 }
                             }
@@ -199,32 +221,98 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           if (((word >> 29) & 0x1) == 0)
                             {
-                              if (((word >> 31) & 0x1) == 0)
+                              if (((word >> 15) & 0x1) == 0)
                                 {
-                                  if (((word >> 30) & 0x1) == 0)
+                                  if (((word >> 31) & 0x1) == 0)
                                     {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxxx01x0010000
-                                         stlrb.  */
-                                      return 721;
+                                      if (((word >> 30) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx0xxxxxx01x0010000
+                                             casb.  */
+                                          return 776;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx0xxxxxx01x0010010
+                                             cash.  */
+                                          return 777;
+                                        }
                                     }
                                   else
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxxx01x0010010
-                                         stlrh.  */
-                                      return 727;
+                                         xxxxxxxxxxxxxxx0xxxxxx01x00100x1
+                                         cas.  */
+                                      return 778;
                                     }
                                 }
                               else
                                 {
-                                  /* 33222222222211111111110000000000
-                                     10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx01x00100x1
-                                     stlr.  */
-                                  return 737;
+                                  if (((word >> 21) & 0x1) == 0)
+                                    {
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          if (((word >> 30) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxxxx1xxxxx001x0010000
+                                                 stlrb.  */
+                                              return 721;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxxxx1xxxxx001x0010010
+                                                 stlrh.  */
+                                              return 727;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx1xxxxx001x00100x1
+                                             stlr.  */
+                                          return 737;
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          if (((word >> 30) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxxxx1xxxxx101x0010000
+                                                 caslb.  */
+                                              return 780;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxxxx1xxxxx101x0010010
+                                                 caslh.  */
+                                              return 783;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx1xxxxx101x00100x1
+                                             casl.  */
+                                          return 786;
+                                        }
+                                    }
                                 }
                             }
                           else
@@ -277,11 +365,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     }
                                   else
                                     {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx0xxxxx110x00100xx
-                                         ldxp.  */
-                                      return 735;
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx0xxxxx110x00100x0
+                                             caspa.  */
+                                          return 789;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx0xxxxx110x00100x1
+                                             ldxp.  */
+                                          return 735;
+                                        }
                                     }
                                 }
                               else
@@ -318,11 +417,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     }
                                   else
                                     {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx1xxxxx110x00100xx
-                                         ldaxp.  */
-                                      return 736;
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx1xxxxx110x00100x0
+                                             caspal.  */
+                                          return 791;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx1xxxxx110x00100x1
+                                             ldaxp.  */
+                                          return 736;
+                                        }
                                     }
                                 }
                             }
@@ -350,32 +460,98 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           if (((word >> 29) & 0x1) == 0)
                             {
-                              if (((word >> 31) & 0x1) == 0)
+                              if (((word >> 15) & 0x1) == 0)
                                 {
-                                  if (((word >> 30) & 0x1) == 0)
+                                  if (((word >> 31) & 0x1) == 0)
                                     {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxxx11x0010000
-                                         ldarb.  */
-                                      return 722;
+                                      if (((word >> 30) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx0xxxxxx11x0010000
+                                             casab.  */
+                                          return 779;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx0xxxxxx11x0010010
+                                             casah.  */
+                                          return 782;
+                                        }
                                     }
                                   else
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxxx11x0010010
-                                         ldarh.  */
-                                      return 728;
+                                         xxxxxxxxxxxxxxx0xxxxxx11x00100x1
+                                         casa.  */
+                                      return 785;
                                     }
                                 }
                               else
                                 {
-                                  /* 33222222222211111111110000000000
-                                     10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx11x00100x1
-                                     ldar.  */
-                                  return 738;
+                                  if (((word >> 21) & 0x1) == 0)
+                                    {
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          if (((word >> 30) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxxxx1xxxxx011x0010000
+                                                 ldarb.  */
+                                              return 722;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxxxx1xxxxx011x0010010
+                                                 ldarh.  */
+                                              return 728;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx1xxxxx011x00100x1
+                                             ldar.  */
+                                          return 738;
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          if (((word >> 30) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxxxx1xxxxx111x0010000
+                                                 casalb.  */
+                                              return 781;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxxxx1xxxxx111x0010010
+                                                 casalh.  */
+                                              return 784;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxx1xxxxx111x00100x1
+                                             casal.  */
+                                          return 787;
+                                        }
+                                    }
                                 }
                             }
                           else
@@ -440,108 +616,1296 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               if (((word >> 11) & 0x1) == 0)
                                 {
-                                  if (((word >> 23) & 0x1) == 0)
+                                  if (((word >> 21) & 0x1) == 0)
                                     {
-                                      if (((word >> 22) & 0x1) == 0)
+                                      if (((word >> 23) & 0x1) == 0)
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
+                                              if (((word >> 31) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxxx0000011100
-                                                     sturb.  */
-                                                  return 693;
+                                                  if (((word >> 30) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx00xxxxxxxxx00000011100
+                                                         sturb.  */
+                                                      return 693;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx00xxxxxxxxx00000011110
+                                                         sturh.  */
+                                                      return 703;
+                                                    }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxxx0000011110
-                                                     sturh.  */
-                                                  return 703;
+                                                     xxxxxxxxxx00xxxxxxxxx000000111x1
+                                                     stur.  */
+                                                  return 709;
                                                 }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxxx00000111x1
-                                                 stur.  */
-                                              return 709;
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 30) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx00xxxxxxxxx01000011100
+                                                         ldurb.  */
+                                                      return 694;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx00xxxxxxxxx01000011110
+                                                         ldurh.  */
+                                                      return 704;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx00xxxxxxxxx010000111x1
+                                                     ldur.  */
+                                                  return 710;
+                                                }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 30) & 0x1) == 0)
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx00xxxxxxxxx0x100011100
+                                                     ldursb.  */
+                                                  return 697;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx00xxxxxxxxx0x100011101
+                                                     ldursw.  */
+                                                  return 713;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx00xxxxxxxxx0x100011110
+                                                     ldursh.  */
+                                                  return 707;
+                                                }
+                                              else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxxx1000011100
-                                                     ldurb.  */
-                                                  return 694;
+                                                     xxxxxxxxxx00xxxxxxxxx0x100011111
+                                                     prfum.  */
+                                                  return 715;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 12) & 0x1) == 0)
+                                        {
+                                          if (((word >> 13) & 0x1) == 0)
+                                            {
+                                              if (((word >> 14) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 15) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 31) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000000xxxxx10000011100
+                                                                         ldaddb.  */
+                                                                      return 804;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000000xxxxx10000011110
+                                                                         ldaddh.  */
+                                                                      return 805;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx000000xxxxx100000111x1
+                                                                     ldadd.  */
+                                                                  return 806;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 31) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000000xxxxx10100011100
+                                                                         ldaddab.  */
+                                                                      return 807;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000000xxxxx10100011110
+                                                                         ldaddah.  */
+                                                                      return 810;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx000000xxxxx101000111x1
+                                                                     ldadda.  */
+                                                                  return 813;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 31) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000000xxxxx11000011100
+                                                                         ldaddlb.  */
+                                                                      return 808;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000000xxxxx11000011110
+                                                                         ldaddlh.  */
+                                                                      return 811;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx000000xxxxx110000111x1
+                                                                     ldaddl.  */
+                                                                  return 814;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 31) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000000xxxxx11100011100
+                                                                         ldaddalb.  */
+                                                                      return 809;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000000xxxxx11100011110
+                                                                         ldaddalh.  */
+                                                                      return 812;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx000000xxxxx111000111x1
+                                                                     ldaddal.  */
+                                                                  return 815;
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 31) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000001xxxxx10000011100
+                                                                         swpb.  */
+                                                                      return 792;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000001xxxxx10000011110
+                                                                         swph.  */
+                                                                      return 793;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx000001xxxxx100000111x1
+                                                                     swp.  */
+                                                                  return 794;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 31) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000001xxxxx10100011100
+                                                                         swpab.  */
+                                                                      return 795;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000001xxxxx10100011110
+                                                                         swpah.  */
+                                                                      return 798;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx000001xxxxx101000111x1
+                                                                     swpa.  */
+                                                                  return 801;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 31) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000001xxxxx11000011100
+                                                                         swplb.  */
+                                                                      return 796;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000001xxxxx11000011110
+                                                                         swplh.  */
+                                                                      return 799;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx000001xxxxx110000111x1
+                                                                     swpl.  */
+                                                                  return 802;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 31) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000001xxxxx11100011100
+                                                                         swpalb.  */
+                                                                      return 797;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000001xxxxx11100011110
+                                                                         swpalh.  */
+                                                                      return 800;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx000001xxxxx111000111x1
+                                                                     swpal.  */
+                                                                  return 803;
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00001xxxxxx10000011100
+                                                                     ldsmaxb.  */
+                                                                  return 852;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00001xxxxxx10000011110
+                                                                     ldsmaxh.  */
+                                                                  return 853;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00001xxxxxx100000111x1
+                                                                 ldsmax.  */
+                                                              return 854;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00001xxxxxx10100011100
+                                                                     ldsmaxab.  */
+                                                                  return 855;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00001xxxxxx10100011110
+                                                                     ldsmaxah.  */
+                                                                  return 858;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00001xxxxxx101000111x1
+                                                                 ldsmaxa.  */
+                                                              return 861;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00001xxxxxx11000011100
+                                                                     ldsmaxlb.  */
+                                                                  return 856;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00001xxxxxx11000011110
+                                                                     ldsmaxlh.  */
+                                                                  return 859;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00001xxxxxx110000111x1
+                                                                 ldsmaxl.  */
+                                                              return 862;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00001xxxxxx11100011100
+                                                                     ldsmaxalb.  */
+                                                                  return 857;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00001xxxxxx11100011110
+                                                                     ldsmaxalh.  */
+                                                                  return 860;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00001xxxxxx111000111x1
+                                                                 ldsmaxal.  */
+                                                              return 863;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 14) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00010xxxxxx10000011100
+                                                                     ldeorb.  */
+                                                                  return 828;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00010xxxxxx10000011110
+                                                                     ldeorh.  */
+                                                                  return 829;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00010xxxxxx100000111x1
+                                                                 ldeor.  */
+                                                              return 830;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00010xxxxxx10100011100
+                                                                     ldeorab.  */
+                                                                  return 831;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00010xxxxxx10100011110
+                                                                     ldeorah.  */
+                                                                  return 834;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00010xxxxxx101000111x1
+                                                                 ldeora.  */
+                                                              return 837;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00010xxxxxx11000011100
+                                                                     ldeorlb.  */
+                                                                  return 832;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00010xxxxxx11000011110
+                                                                     ldeorlh.  */
+                                                                  return 835;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00010xxxxxx110000111x1
+                                                                 ldeorl.  */
+                                                              return 838;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00010xxxxxx11100011100
+                                                                     ldeoralb.  */
+                                                                  return 833;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00010xxxxxx11100011110
+                                                                     ldeoralh.  */
+                                                                  return 836;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00010xxxxxx111000111x1
+                                                                 ldeoral.  */
+                                                              return 839;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00011xxxxxx10000011100
+                                                                     ldumaxb.  */
+                                                                  return 876;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00011xxxxxx10000011110
+                                                                     ldumaxh.  */
+                                                                  return 877;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00011xxxxxx100000111x1
+                                                                 ldumax.  */
+                                                              return 878;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00011xxxxxx10100011100
+                                                                     ldumaxab.  */
+                                                                  return 879;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00011xxxxxx10100011110
+                                                                     ldumaxah.  */
+                                                                  return 882;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00011xxxxxx101000111x1
+                                                                 ldumaxa.  */
+                                                              return 885;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00011xxxxxx11000011100
+                                                                     ldumaxlb.  */
+                                                                  return 880;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00011xxxxxx11000011110
+                                                                     ldumaxlh.  */
+                                                                  return 883;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00011xxxxxx110000111x1
+                                                                 ldumaxl.  */
+                                                              return 886;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00011xxxxxx11100011100
+                                                                     ldumaxalb.  */
+                                                                  return 881;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00011xxxxxx11100011110
+                                                                     ldumaxalh.  */
+                                                                  return 884;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00011xxxxxx111000111x1
+                                                                 ldumaxal.  */
+                                                              return 887;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 13) & 0x1) == 0)
+                                            {
+                                              if (((word >> 14) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00100xxxxxx10000011100
+                                                                     ldclrb.  */
+                                                                  return 816;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00100xxxxxx10000011110
+                                                                     ldclrh.  */
+                                                                  return 817;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00100xxxxxx100000111x1
+                                                                 ldclr.  */
+                                                              return 818;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00100xxxxxx10100011100
+                                                                     ldclrab.  */
+                                                                  return 819;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00100xxxxxx10100011110
+                                                                     ldclrah.  */
+                                                                  return 822;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00100xxxxxx101000111x1
+                                                                 ldclra.  */
+                                                              return 825;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00100xxxxxx11000011100
+                                                                     ldclrlb.  */
+                                                                  return 820;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00100xxxxxx11000011110
+                                                                     ldclrlh.  */
+                                                                  return 823;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00100xxxxxx110000111x1
+                                                                 ldclrl.  */
+                                                              return 826;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00100xxxxxx11100011100
+                                                                     ldclralb.  */
+                                                                  return 821;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00100xxxxxx11100011110
+                                                                     ldclralh.  */
+                                                                  return 824;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00100xxxxxx111000111x1
+                                                                 ldclral.  */
+                                                              return 827;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00101xxxxxx10000011100
+                                                                     ldsminb.  */
+                                                                  return 864;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00101xxxxxx10000011110
+                                                                     ldsminh.  */
+                                                                  return 865;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00101xxxxxx100000111x1
+                                                                 ldsmin.  */
+                                                              return 866;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00101xxxxxx10100011100
+                                                                     ldsminab.  */
+                                                                  return 867;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00101xxxxxx10100011110
+                                                                     ldsminah.  */
+                                                                  return 870;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00101xxxxxx101000111x1
+                                                                 ldsmina.  */
+                                                              return 873;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00101xxxxxx11000011100
+                                                                     ldsminlb.  */
+                                                                  return 868;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00101xxxxxx11000011110
+                                                                     ldsminlh.  */
+                                                                  return 871;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00101xxxxxx110000111x1
+                                                                 ldsminl.  */
+                                                              return 874;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00101xxxxxx11100011100
+                                                                     ldsminalb.  */
+                                                                  return 869;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00101xxxxxx11100011110
+                                                                     ldsminalh.  */
+                                                                  return 872;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00101xxxxxx111000111x1
+                                                                 ldsminal.  */
+                                                              return 875;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 14) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00110xxxxxx10000011100
+                                                                     ldsetb.  */
+                                                                  return 840;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00110xxxxxx10000011110
+                                                                     ldseth.  */
+                                                                  return 841;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00110xxxxxx100000111x1
+                                                                 ldset.  */
+                                                              return 842;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00110xxxxxx10100011100
+                                                                     ldsetab.  */
+                                                                  return 843;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00110xxxxxx10100011110
+                                                                     ldsetah.  */
+                                                                  return 846;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00110xxxxxx101000111x1
+                                                                 ldseta.  */
+                                                              return 849;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00110xxxxxx11000011100
+                                                                     ldsetlb.  */
+                                                                  return 844;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00110xxxxxx11000011110
+                                                                     ldsetlh.  */
+                                                                  return 847;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00110xxxxxx110000111x1
+                                                                 ldsetl.  */
+                                                              return 850;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00110xxxxxx11100011100
+                                                                     ldsetalb.  */
+                                                                  return 845;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00110xxxxxx11100011110
+                                                                     ldsetalh.  */
+                                                                  return 848;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00110xxxxxx111000111x1
+                                                                 ldsetal.  */
+                                                              return 851;
+                                                            }
+                                                        }
+                                                    }
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxxx1000011110
-                                                     ldurh.  */
-                                                  return 704;
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00111xxxxxx10000011100
+                                                                     lduminb.  */
+                                                                  return 888;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00111xxxxxx10000011110
+                                                                     lduminh.  */
+                                                                  return 889;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00111xxxxxx100000111x1
+                                                                 ldumin.  */
+                                                              return 890;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00111xxxxxx10100011100
+                                                                     lduminab.  */
+                                                                  return 891;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00111xxxxxx10100011110
+                                                                     lduminah.  */
+                                                                  return 894;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00111xxxxxx101000111x1
+                                                                 ldumina.  */
+                                                              return 897;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00111xxxxxx11000011100
+                                                                     lduminlb.  */
+                                                                  return 892;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00111xxxxxx11000011110
+                                                                     lduminlh.  */
+                                                                  return 895;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00111xxxxxx110000111x1
+                                                                 lduminl.  */
+                                                              return 898;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 31) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00111xxxxxx11100011100
+                                                                     lduminalb.  */
+                                                                  return 893;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx00111xxxxxx11100011110
+                                                                     lduminalh.  */
+                                                                  return 896;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx00111xxxxxx111000111x1
+                                                                 lduminal.  */
+                                                              return 899;
+                                                            }
+                                                        }
+                                                    }
                                                 }
                                             }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxxx10000111x1
-                                                 ldur.  */
-                                              return 710;
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 30) & 0x1) == 0)
-                                        {
-                                          if (((word >> 31) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxxxx100011100
-                                                 ldursb.  */
-                                              return 697;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxxxx100011101
-                                                 ldursw.  */
-                                              return 713;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 31) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxxxx100011110
-                                                 ldursh.  */
-                                              return 707;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxxxx100011111
-                                                 prfum.  */
-                                              return 715;
-                                            }
                                         }
                                     }
                                 }
@@ -1017,7 +2381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x00x
                                  movn.  */
-                              return 776;
+                              return 948;
                             }
                           else
                             {
@@ -1025,7 +2389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x01x
                                  movz.  */
-                              return 778;
+                              return 950;
                             }
                         }
                       else
@@ -1034,7 +2398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
                              movk.  */
-                          return 780;
+                          return 952;
                         }
                     }
                 }
@@ -1886,109 +3250,21 @@ aarch64_opcode_lookup_1 (uint32_t word)
                     }
                   else
                     {
-                      if (((word >> 20) & 0x1) == 0)
+                      if (((word >> 21) & 0x1) == 0)
                         {
-                          if (((word >> 19) & 0x1) == 0)
-                            {
-                              if (((word >> 12) & 0x1) == 0)
-                                {
-                                  if (((word >> 13) & 0x1) == 0)
-                                    {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxxxx00xxxxx00xxx1x10x01x
-                                         msr.  */
-                                      return 783;
-                                    }
-                                  else
-                                    {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxxxx01xxxxx00xxx1x10x01x
-                                         hint.  */
-                                      return 784;
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 5) & 0x1) == 0)
-                                    {
-                                      if (((word >> 6) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxx00xxxxx1xxxxxx00xxx1x10x01x
-                                             dsb.  */
-                                          return 792;
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 7) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxx010xxxx1xxxxxx00xxx1x10x01x
-                                                 clrex.  */
-                                              return 791;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxx011xxxx1xxxxxx00xxx1x10x01x
-                                                 isb.  */
-                                              return 794;
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxx1xxxxxx1xxxxxx00xxx1x10x01x
-                                         dmb.  */
-                                      return 793;
-                                    }
-                                }
-                            }
-                          else
-                            {
-                              if (((word >> 21) & 0x1) == 0)
-                                {
-                                  /* 33222222222211111111110000000000
-                                     10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxx100xx1x10x01x
-                                     sys.  */
-                                  return 795;
-                                }
-                              else
-                                {
-                                  /* 33222222222211111111110000000000
-                                     10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxx101xx1x10x01x
-                                     sysl.  */
-                                  return 801;
-                                }
-                            }
+                          /* 33222222222211111111110000000000
+                             10987654321098765432109876543210
+                             xxxxxxxxxxxxxxxxxxxxx0xx1x10x01x
+                             msr.  */
+                          return 955;
                         }
                       else
                         {
-                          if (((word >> 21) & 0x1) == 0)
-                            {
-                              /* 33222222222211111111110000000000
-                                 10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxx10xx1x10x01x
-                                 msr.  */
-                              return 800;
-                            }
-                          else
-                            {
-                              /* 33222222222211111111110000000000
-                                 10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxx11xx1x10x01x
-                                 mrs.  */
-                              return 802;
-                            }
+                          /* 33222222222211111111110000000000
+                             10987654321098765432109876543210
+                             xxxxxxxxxxxxxxxxxxxxx1xx1x10x01x
+                             sysl.  */
+                          return 973;
                         }
                     }
                 }
@@ -2011,7 +3287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
                          tbz.  */
-                      return 803;
+                      return 975;
                     }
                 }
               else
@@ -2030,7 +3306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
                          tbnz.  */
-                      return 804;
+                      return 976;
                     }
                 }
             }
@@ -7435,6 +8711,16 @@ aarch64_find_next_opcode (const aarch64_
     case 743: return NULL;		/* stp --> NULL.  */
     case 740: value = 744; break;	/* ldnp --> ldp.  */
     case 744: return NULL;		/* ldp --> NULL.  */
+    case 955: value = 956; break;	/* msr --> hint.  */
+    case 956: value = 963; break;	/* hint --> clrex.  */
+    case 963: value = 964; break;	/* clrex --> dsb.  */
+    case 964: value = 965; break;	/* dsb --> dmb.  */
+    case 965: value = 966; break;	/* dmb --> isb.  */
+    case 966: value = 967; break;	/* isb --> sys.  */
+    case 967: value = 972; break;	/* sys --> msr.  */
+    case 972: return NULL;		/* msr --> NULL.  */
+    case 973: value = 974; break;	/* sysl --> mrs.  */
+    case 974: return NULL;		/* mrs --> NULL.  */
     case 355: value = 356; break;	/* st4 --> st1.  */
     case 356: value = 357; break;	/* st1 --> st2.  */
     case 357: value = 358; break;	/* st2 --> st3.  */
@@ -7575,10 +8861,58 @@ aarch64_find_alias_opcode (const aarch64
     case 766: value = 768; break;	/* orr --> uxtw.  */
     case 769: value = 770; break;	/* orn --> mvn.  */
     case 773: value = 774; break;	/* ands --> tst.  */
-    case 776: value = 777; break;	/* movn --> mov.  */
-    case 778: value = 779; break;	/* movz --> mov.  */
-    case 784: value = 790; break;	/* hint --> sevl.  */
-    case 795: value = 799; break;	/* sys --> tlbi.  */
+    case 804: value = 900; break;	/* ldaddb --> staddb.  */
+    case 805: value = 901; break;	/* ldaddh --> staddh.  */
+    case 806: value = 902; break;	/* ldadd --> stadd.  */
+    case 808: value = 903; break;	/* ldaddlb --> staddlb.  */
+    case 811: value = 904; break;	/* ldaddlh --> staddlh.  */
+    case 814: value = 905; break;	/* ldaddl --> staddl.  */
+    case 816: value = 906; break;	/* ldclrb --> stclrb.  */
+    case 817: value = 907; break;	/* ldclrh --> stclrh.  */
+    case 818: value = 908; break;	/* ldclr --> stclr.  */
+    case 820: value = 909; break;	/* ldclrlb --> stclrlb.  */
+    case 823: value = 910; break;	/* ldclrlh --> stclrlh.  */
+    case 826: value = 911; break;	/* ldclrl --> stclrl.  */
+    case 828: value = 912; break;	/* ldeorb --> steorb.  */
+    case 829: value = 913; break;	/* ldeorh --> steorh.  */
+    case 830: value = 914; break;	/* ldeor --> steor.  */
+    case 832: value = 915; break;	/* ldeorlb --> steorlb.  */
+    case 835: value = 916; break;	/* ldeorlh --> steorlh.  */
+    case 838: value = 917; break;	/* ldeorl --> steorl.  */
+    case 840: value = 918; break;	/* ldsetb --> stsetb.  */
+    case 841: value = 919; break;	/* ldseth --> stseth.  */
+    case 842: value = 920; break;	/* ldset --> stset.  */
+    case 844: value = 921; break;	/* ldsetlb --> stsetlb.  */
+    case 847: value = 922; break;	/* ldsetlh --> stsetlh.  */
+    case 850: value = 923; break;	/* ldsetl --> stsetl.  */
+    case 852: value = 924; break;	/* ldsmaxb --> stsmaxb.  */
+    case 853: value = 925; break;	/* ldsmaxh --> stsmaxh.  */
+    case 854: value = 926; break;	/* ldsmax --> stsmax.  */
+    case 856: value = 927; break;	/* ldsmaxlb --> stsmaxlb.  */
+    case 859: value = 928; break;	/* ldsmaxlh --> stsmaxlh.  */
+    case 862: value = 929; break;	/* ldsmaxl --> stsmaxl.  */
+    case 864: value = 930; break;	/* ldsminb --> stsminb.  */
+    case 865: value = 931; break;	/* ldsminh --> stsminh.  */
+    case 866: value = 932; break;	/* ldsmin --> stsmin.  */
+    case 868: value = 933; break;	/* ldsminlb --> stsminlb.  */
+    case 871: value = 934; break;	/* ldsminlh --> stsminlh.  */
+    case 874: value = 935; break;	/* ldsminl --> stsminl.  */
+    case 876: value = 936; break;	/* ldumaxb --> stumaxb.  */
+    case 877: value = 937; break;	/* ldumaxh --> stumaxh.  */
+    case 878: value = 938; break;	/* ldumax --> stumax.  */
+    case 880: value = 939; break;	/* ldumaxlb --> stumaxlb.  */
+    case 883: value = 940; break;	/* ldumaxlh --> stumaxlh.  */
+    case 886: value = 941; break;	/* ldumaxl --> stumaxl.  */
+    case 888: value = 942; break;	/* lduminb --> stuminb.  */
+    case 889: value = 943; break;	/* lduminh --> stuminh.  */
+    case 890: value = 944; break;	/* ldumin --> stumin.  */
+    case 892: value = 945; break;	/* lduminlb --> stuminlb.  */
+    case 895: value = 946; break;	/* lduminlh --> stuminlh.  */
+    case 898: value = 947; break;	/* lduminl --> stuminl.  */
+    case 948: value = 949; break;	/* movn --> mov.  */
+    case 950: value = 951; break;	/* movz --> mov.  */
+    case 956: value = 962; break;	/* hint --> sevl.  */
+    case 967: value = 971; break;	/* sys --> tlbi.  */
     default: return NULL;
     }
 
@@ -7608,14 +8942,14 @@ aarch64_find_next_alias_opcode (const aa
     case 527: value = 526; break;	/* cset --> cinc.  */
     case 530: value = 529; break;	/* csetm --> cinv.  */
     case 768: value = 767; break;	/* uxtw --> mov.  */
-    case 790: value = 789; break;	/* sevl --> sev.  */
-    case 789: value = 788; break;	/* sev --> wfi.  */
-    case 788: value = 787; break;	/* wfi --> wfe.  */
-    case 787: value = 786; break;	/* wfe --> yield.  */
-    case 786: value = 785; break;	/* yield --> nop.  */
-    case 799: value = 798; break;	/* tlbi --> ic.  */
-    case 798: value = 797; break;	/* ic --> dc.  */
-    case 797: value = 796; break;	/* dc --> at.  */
+    case 962: value = 961; break;	/* sevl --> sev.  */
+    case 961: value = 960; break;	/* sev --> wfi.  */
+    case 960: value = 959; break;	/* wfi --> wfe.  */
+    case 959: value = 958; break;	/* wfe --> yield.  */
+    case 958: value = 957; break;	/* yield --> nop.  */
+    case 971: value = 970; break;	/* tlbi --> ic.  */
+    case 970: value = 969; break;	/* ic --> dc.  */
+    case 969: value = 968; break;	/* dc --> at.  */
     default: return NULL;
     }
 
@@ -7640,11 +8974,10 @@ aarch64_extract_operand (const aarch64_o
     case 7:
     case 9:
     case 10:
-    case 13:
     case 14:
     case 15:
     case 16:
-    case 18:
+    case 17:
     case 19:
     case 20:
     case 21:
@@ -7653,31 +8986,33 @@ aarch64_extract_operand (const aarch64_o
     case 24:
     case 25:
     case 26:
-    case 34:
+    case 27:
     case 35:
+    case 36:
       return aarch64_ext_regno (self, info, code, inst);
     case 8:
       return aarch64_ext_regrt_sysins (self, info, code, inst);
     case 11:
-      return aarch64_ext_reg_extended (self, info, code, inst);
+      return aarch64_ext_regno_pair (self, info, code, inst);
     case 12:
+      return aarch64_ext_reg_extended (self, info, code, inst);
+    case 13:
       return aarch64_ext_reg_shifted (self, info, code, inst);
-    case 17:
+    case 18:
       return aarch64_ext_ft (self, info, code, inst);
-    case 27:
     case 28:
     case 29:
-      return aarch64_ext_reglane (self, info, code, inst);
     case 30:
-      return aarch64_ext_reglist (self, info, code, inst);
+      return aarch64_ext_reglane (self, info, code, inst);
     case 31:
-      return aarch64_ext_ldst_reglist (self, info, code, inst);
+      return aarch64_ext_reglist (self, info, code, inst);
     case 32:
-      return aarch64_ext_ldst_reglist_r (self, info, code, inst);
+      return aarch64_ext_ldst_reglist (self, info, code, inst);
     case 33:
+      return aarch64_ext_ldst_reglist_r (self, info, code, inst);
+    case 34:
       return aarch64_ext_ldst_elemlist (self, info, code, inst);
-    case 36:
-    case 45:
+    case 37:
     case 46:
     case 47:
     case 48:
@@ -7690,58 +9025,59 @@ aarch64_extract_operand (const aarch64_o
     case 55:
     case 56:
     case 57:
-    case 65:
+    case 58:
     case 66:
     case 67:
     case 68:
     case 69:
+    case 70:
       return aarch64_ext_imm (self, info, code, inst);
-    case 37:
     case 38:
-      return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
     case 39:
+      return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
     case 40:
     case 41:
-      return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
     case 42:
+      return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
+    case 43:
       return aarch64_ext_shll_imm (self, info, code, inst);
-    case 58:
-      return aarch64_ext_limm (self, info, code, inst);
     case 59:
-      return aarch64_ext_aimm (self, info, code, inst);
+      return aarch64_ext_limm (self, info, code, inst);
     case 60:
-      return aarch64_ext_imm_half (self, info, code, inst);
+      return aarch64_ext_aimm (self, info, code, inst);
     case 61:
+      return aarch64_ext_imm_half (self, info, code, inst);
+    case 62:
       return aarch64_ext_fbits (self, info, code, inst);
-    case 63:
     case 64:
+    case 65:
       return aarch64_ext_cond (self, info, code, inst);
-    case 70:
-    case 76:
-      return aarch64_ext_addr_simple (self, info, code, inst);
     case 71:
-      return aarch64_ext_addr_regoff (self, info, code, inst);
+    case 77:
+      return aarch64_ext_addr_simple (self, info, code, inst);
     case 72:
+      return aarch64_ext_addr_regoff (self, info, code, inst);
     case 73:
     case 74:
-      return aarch64_ext_addr_simm (self, info, code, inst);
     case 75:
+      return aarch64_ext_addr_simm (self, info, code, inst);
+    case 76:
       return aarch64_ext_addr_uimm12 (self, info, code, inst);
-    case 77:
-      return aarch64_ext_simd_addr_post (self, info, code, inst);
     case 78:
-      return aarch64_ext_sysreg (self, info, code, inst);
+      return aarch64_ext_simd_addr_post (self, info, code, inst);
     case 79:
-      return aarch64_ext_pstatefield (self, info, code, inst);
+      return aarch64_ext_sysreg (self, info, code, inst);
     case 80:
+      return aarch64_ext_pstatefield (self, info, code, inst);
     case 81:
     case 82:
     case 83:
-      return aarch64_ext_sysins_op (self, info, code, inst);
     case 84:
+      return aarch64_ext_sysins_op (self, info, code, inst);
     case 85:
-      return aarch64_ext_barrier (self, info, code, inst);
     case 86:
+      return aarch64_ext_barrier (self, info, code, inst);
+    case 87:
       return aarch64_ext_prfop (self, info, code, inst);
     default: assert (0); abort ();
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-dis.c ./opcodes/aarch64-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* aarch64-dis.c -- AArch64 disassembler.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -224,6 +224,17 @@ aarch64_ext_regno (const aarch64_operand
   return 1;
 }
 
+int
+aarch64_ext_regno_pair (const aarch64_operand *self ATTRIBUTE_UNUSED, aarch64_opnd_info *info,
+		   const aarch64_insn code ATTRIBUTE_UNUSED,
+		   const aarch64_inst *inst ATTRIBUTE_UNUSED)
+{
+  assert (info->idx == 1
+	  || info->idx ==3);
+  info->reg.regno = inst->operands[info->idx - 1].reg.regno + 1;
+  return 1;
+}
+
 /* e.g. IC <ic_op>{, <Xt>}.  */
 int
 aarch64_ext_regrt_sysins (const aarch64_operand *self, aarch64_opnd_info *info,
@@ -1360,6 +1371,13 @@ do_special_decoding (aarch64_inst *inst)
 	  && extract_field (FLD_N, inst->value, 0) != value)
 	return 0;
     }
+  /* 'sf' field.  */
+  if (inst->opcode->flags & F_LSE_SZ)
+    {
+      idx = select_operand_for_sf_field_coding (inst->opcode);
+      value = extract_field (FLD_lse_sz, inst->value, 0);
+      inst->operands[idx].qualifier = get_greg_qualifier_from_value (value);
+    }
   /* size:Q fields.  */
   if (inst->opcode->flags & F_SIZEQ)
     return decode_sizeq (inst);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-dis.h ./opcodes/aarch64-dis.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-dis.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-dis.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* aarch64-dis.h -- Header file for aarch64-dis.c and aarch64-dis-2.c.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -60,6 +60,7 @@ int aarch64_extract_operand (const aarch
 		   const aarch64_insn, const aarch64_inst *)
 
 AARCH64_DECL_OPD_EXTRACTOR (ext_regno);
+AARCH64_DECL_OPD_EXTRACTOR (ext_regno_pair);
 AARCH64_DECL_OPD_EXTRACTOR (ext_regrt_sysins);
 AARCH64_DECL_OPD_EXTRACTOR (ext_reglane);
 AARCH64_DECL_OPD_EXTRACTOR (ext_reglist);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-gen.c ./opcodes/aarch64-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-gen.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-gen.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* aarch64-gen.c -- Generate tables and routines for opcode lookup and
    instruction encoding and decoding.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -1242,7 +1242,7 @@ main (int argc, char **argv)
     print_divide_result (decoder_tree);
 
   printf ("/* This file is automatically generated by aarch64-gen.  Do not edit!  */\n");
-  printf ("/* Copyright (C) 2012-2014 Free Software Foundation, Inc.\n\
+  printf ("/* Copyright (C) 2012-2015 Free Software Foundation, Inc.\n\
    Contributed by ARM Ltd.\n\
 \n\
    This file is part of the GNU opcodes library.\n\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-opc-2.c ./opcodes/aarch64-opc-2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-opc-2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-opc-2.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -35,6 +35,7 @@ const struct aarch64_operand aarch64_ope
   {AARCH64_OPND_CLASS_INT_REG, "Rt_SYS", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rt}, "an integer register"},
   {AARCH64_OPND_CLASS_INT_REG, "Rd_SP", OPD_F_MAYBE_SP | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rd}, "an integer or stack pointer register"},
   {AARCH64_OPND_CLASS_INT_REG, "Rn_SP", OPD_F_MAYBE_SP | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn}, "an integer or stack pointer register"},
+  {AARCH64_OPND_CLASS_INT_REG, "PAIRREG", OPD_F_HAS_EXTRACTOR, {}, "the second reg of a pair"},
   {AARCH64_OPND_CLASS_MODIFIED_REG, "Rm_EXT", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "an integer register with optional extension"},
   {AARCH64_OPND_CLASS_MODIFIED_REG, "Rm_SFT", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "an integer register with optional shift"},
   {AARCH64_OPND_CLASS_FP_REG, "Fd", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rd}, "a floating-point register"},
@@ -151,12 +152,12 @@ static const unsigned op_enum_table [] =
   12,
   510,
   511,
-  776,
-  778,
-  780,
+  948,
+  950,
+  952,
   760,
-  779,
-  777,
+  951,
+  949,
   259,
   499,
   509,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-opc.c ./opcodes/aarch64-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* aarch64-opc.c -- AArch64 opcode support.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -192,6 +192,7 @@ const aarch64_field fields[] =
     { 11,  1 },	/* index: in ld/st inst deciding the pre/post-index.  */
     { 24,  1 },	/* index2: in ld/st pair inst deciding the pre/post-index.  */
     { 31,  1 },	/* sf: in integer data processing instructions.  */
+    { 30,  1 },	/* lse_size: in LSE extension atomic instructions.  */
     { 11,  1 },	/* H: in advsimd scalar x indexed element instructions.  */
     { 21,  1 },	/* L: in advsimd scalar x indexed element instructions.  */
     { 20,  1 },	/* M: in advsimd scalar x indexed element instructions.  */
@@ -1254,6 +1255,25 @@ operand_general_constraint_met_p (const 
   switch (aarch64_operands[type].op_class)
     {
     case AARCH64_OPND_CLASS_INT_REG:
+      /* Check pair reg constraints for cas* instructions.  */
+      if (type == AARCH64_OPND_PAIRREG)
+	{
+	  assert (idx == 1 || idx == 3);
+	  if (opnds[idx - 1].reg.regno % 2 != 0)
+	    {
+	      set_syntax_error (mismatch_detail, idx - 1,
+				_("reg pair must start from even reg"));
+	      return 0;
+	    }
+	  if (opnds[idx].reg.regno != opnds[idx - 1].reg.regno + 1)
+	    {
+	      set_syntax_error (mismatch_detail, idx,
+				_("reg pair must be contiguous"));
+	      return 0;
+	    }
+	  break;
+	}
+
       /* <Xt> may be optional in some IC and TLBI instructions.  */
       if (type == AARCH64_OPND_Rt_SYS)
 	{
@@ -2327,6 +2347,7 @@ aarch64_print_operand (char *buf, size_t
     case AARCH64_OPND_Rs:
     case AARCH64_OPND_Ra:
     case AARCH64_OPND_Rt_SYS:
+    case AARCH64_OPND_PAIRREG:
       /* The optional-ness of <Xt> in e.g. IC <ic_op>{, <Xt>} is determined by
 	 the <ic_op>, therefore we we use opnd->present to override the
 	 generic optional-ness information.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-opc.h ./opcodes/aarch64-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* aarch64-opc.h -- Header file for aarch64-opc.c and aarch64-opc-2.c.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -84,6 +84,7 @@ enum aarch64_field_kind
   FLD_index,
   FLD_index2,
   FLD_sf,
+  FLD_lse_sz,
   FLD_H,
   FLD_L,
   FLD_M,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-tbl.h ./opcodes/aarch64-tbl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/aarch64-tbl.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/aarch64-tbl.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* aarch64-tbl.h -- AArch64 opcode description table and instruction
    operand description table.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -981,6 +981,13 @@
   QLF3(X, X, NIL),		\
 }
 
+/* e.g. CASP <Xt1>, <Xt1+1>, <Xt2>, <Xt2+1>, [<Xn|SP>{,#0}].  */
+#define QL_R4NIL		\
+{				\
+  QLF5(W, W, W, W, NIL),	\
+  QLF5(X, X, X, X, NIL),	\
+}
+
 /* e.g. STXP <Ws>, <Xt1>, <Xt2>, [<Xn|SP>{,#0}].  */
 #define QL_R3_LDST_EXC		\
 {				\
@@ -1213,12 +1220,15 @@ static const aarch64_feature_set aarch64
   AARCH64_FEATURE (AARCH64_FEATURE_CRYPTO, 0);
 static const aarch64_feature_set aarch64_feature_crc =
   AARCH64_FEATURE (AARCH64_FEATURE_CRC, 0);
+static const aarch64_feature_set aarch64_feature_lse =
+  AARCH64_FEATURE (AARCH64_FEATURE_LSE, 0);
 
 #define CORE	&aarch64_feature_v8
 #define FP	&aarch64_feature_fp
 #define SIMD	&aarch64_feature_simd
 #define CRYPTO	&aarch64_feature_crypto
 #define CRC	&aarch64_feature_crc
+#define LSE	&aarch64_feature_lse
 
 struct aarch64_opcode aarch64_opcode_table[] =
 {
@@ -2002,13 +2012,13 @@ struct aarch64_opcode aarch64_opcode_tab
   {"ldxrb", 0x85f7c00, 0xffe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
   {"ldaxrb", 0x85ffc00, 0xffe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
   {"stlrb", 0x89ffc00, 0xffe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
-  {"ldarb", 0x8dffc00, 0xffe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
+  {"ldarb", 0x8dffc00, 0xffeffc00, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
   {"stxrh", 0x48007c00, 0xffe08000, ldstexcl, 0, CORE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
   {"stlxrh", 0x4800fc00, 0xffe08000, ldstexcl, 0, CORE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
   {"ldxrh", 0x485f7c00, 0xffe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
   {"ldaxrh", 0x485ffc00, 0xffe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
   {"stlrh", 0x489ffc00, 0xffe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
-  {"ldarh", 0x48dffc00, 0xffe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
+  {"ldarh", 0x48dffc00, 0xffeffc00, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
   {"stxr", 0x88007c00, 0xbfe08000, ldstexcl, 0, CORE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2_LDST_EXC, F_GPRSIZE_IN_Q},
   {"stlxr", 0x8800fc00, 0xbfe08000, ldstexcl, 0, CORE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2_LDST_EXC, F_GPRSIZE_IN_Q},
   {"stxp", 0x88200000, 0xbfe08000, ldstexcl, 0, CORE, OP4 (Rs, Rt, Rt2, ADDR_SIMPLE), QL_R3_LDST_EXC, F_GPRSIZE_IN_Q},
@@ -2018,7 +2028,7 @@ struct aarch64_opcode aarch64_opcode_tab
   {"ldxp", 0x887f0000, 0xbfe08000, ldstexcl, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMPLE), QL_R2NIL, F_GPRSIZE_IN_Q},
   {"ldaxp", 0x887f8000, 0xbfe08000, ldstexcl, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMPLE), QL_R2NIL, F_GPRSIZE_IN_Q},
   {"stlr", 0x889ffc00, 0xbfe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
-  {"ldar", 0x88dffc00, 0xbfe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
+  {"ldar", 0x88dffc00, 0xbfeffc00, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
   /* Load/store no-allocate pair (offset).  */
   {"stnp", 0x28000000, 0x7fc00000, ldstnapair_offs, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF},
   {"ldnp", 0x28400000, 0x7fc00000, ldstnapair_offs, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF},
@@ -2062,6 +2072,179 @@ struct aarch64_opcode aarch64_opcode_tab
   {"ands", 0x6a000000, 0x7f200000, log_shift, 0, CORE, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_HAS_ALIAS | F_SF},
   {"tst", 0x6a00001f, 0x7f20001f, log_shift, 0, CORE, OP2 (Rn, Rm_SFT), QL_I2SAMER, F_ALIAS | F_SF},
   {"bics", 0x6a200000, 0x7f200000, log_shift, 0, CORE, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_SF},
+  /* LSE extension (atomic).  */
+  {"casb", 0x8a07c00, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"cash", 0x48a07c00, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"cas", 0x88a07c00, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"casab", 0x8e07c00, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"caslb", 0x8a0fc00, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"casalb", 0x8e0fc00, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"casah", 0x48e07c00, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"caslh", 0x48a0fc00, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"casalh", 0x48e0fc00, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"casa", 0x88e07c00, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"casl", 0x88a0fc00, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"casal", 0x88e0fc00, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"casp", 0x8207c00, 0xbfe0fc00, lse_atomic, 0, LSE, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_R4NIL, F_LSE_SZ},
+  {"caspa", 0x8607c00, 0xbfe0fc00, lse_atomic, 0, LSE, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_R4NIL, F_LSE_SZ},
+  {"caspl", 0x820fc00, 0xbfe0fc00, lse_atomic, 0, LSE, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_R4NIL, F_LSE_SZ},
+  {"caspal", 0x860fc00, 0xbfe0fc00, lse_atomic, 0, LSE, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_R4NIL, F_LSE_SZ},
+  {"swpb", 0x38208000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"swph", 0x78208000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"swp", 0xb8208000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"swpab", 0x38a08000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"swplb", 0x38608000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"swpalb", 0x38e08000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"swpah", 0x78a08000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"swplh", 0x78608000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"swpalh", 0x78e08000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"swpa", 0xb8a08000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"swpl", 0xb8608000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"swpal", 0xb8e08000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldaddb", 0x38200000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldaddh", 0x78200000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldadd", 0xb8200000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldaddab", 0x38a00000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldaddlb", 0x38600000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldaddalb", 0x38e00000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldaddah", 0x78a00000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldaddlh", 0x78600000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldaddalh", 0x78e00000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldadda", 0xb8a00000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldaddl", 0xb8600000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldaddal", 0xb8e00000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldclrb", 0x38201000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldclrh", 0x78201000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldclr", 0xb8201000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldclrab", 0x38a01000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldclrlb", 0x38601000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldclralb", 0x38e01000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldclrah", 0x78a01000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldclrlh", 0x78601000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldclralh", 0x78e01000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldclra", 0xb8a01000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldclrl", 0xb8601000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldclral", 0xb8e01000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldeorb", 0x38202000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldeorh", 0x78202000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldeor", 0xb8202000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldeorab", 0x38a02000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldeorlb", 0x38602000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldeoralb", 0x38e02000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldeorah", 0x78a02000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldeorlh", 0x78602000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldeoralh", 0x78e02000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldeora", 0xb8a02000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldeorl", 0xb8602000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldeoral", 0xb8e02000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldsetb", 0x38203000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldseth", 0x78203000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldset", 0xb8203000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldsetab", 0x38a03000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsetlb", 0x38603000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsetalb", 0x38e03000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsetah", 0x78a03000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsetlh", 0x78603000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsetalh", 0x78e03000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldseta", 0xb8a03000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldsetl", 0xb8603000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldsetal", 0xb8e03000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldsmaxb", 0x38204000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsmaxh", 0x78204000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsmax", 0xb8204000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldsmaxab", 0x38a04000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsmaxlb", 0x38604000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsmaxalb", 0x38e04000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsmaxah", 0x78a04000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsmaxlh", 0x78604000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsmaxalh", 0x78e04000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsmaxa", 0xb8a04000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldsmaxl", 0xb8604000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldsmaxal", 0xb8e04000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldsminb", 0x38205000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsminh", 0x78205000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsmin", 0xb8205000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldsminab", 0x38a05000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsminlb", 0x38605000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsminalb", 0x38e05000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsminah", 0x78a05000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsminlh", 0x78605000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldsminalh", 0x78e05000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldsmina", 0xb8a05000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldsminl", 0xb8605000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldsminal", 0xb8e05000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldumaxb", 0x38206000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldumaxh", 0x78206000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldumax", 0xb8206000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldumaxab", 0x38a06000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldumaxlb", 0x38606000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldumaxalb", 0x38e06000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldumaxah", 0x78a06000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldumaxlh", 0x78606000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldumaxalh", 0x78e06000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldumaxa", 0xb8a06000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"ldumaxl", 0xb8606000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"ldumaxal", 0xb8e06000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"lduminb", 0x38207000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"lduminh", 0x78207000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"ldumin", 0xb8207000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"lduminab", 0x38a07000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"lduminlb", 0x38607000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"lduminalb", 0x38e07000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"lduminah", 0x78a07000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"lduminlh", 0x78607000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS},
+  {"lduminalh", 0x78e07000, 0xffe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0},
+  {"ldumina", 0xb8a07000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"lduminl", 0xb8607000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS},
+  {"lduminal", 0xb8e07000, 0xbfe0fc00, lse_atomic, 0, LSE, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ},
+  {"staddb", 0x3820001f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"staddh", 0x7820001f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stadd", 0xb820001f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"staddlb", 0x3860001f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"staddlh", 0x7860001f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"staddl", 0xb860001f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stclrb", 0x3820101f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stclrh", 0x7820101f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stclr", 0xb820101f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stclrlb", 0x3860101f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stclrlh", 0x7860101f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stclrl", 0xb860101f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"steorb", 0x3820201f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"steorh", 0x7820201f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"steor", 0xb820201f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"steorlb", 0x3860201f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"steorlh", 0x7860201f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"steorl", 0xb860201f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stsetb", 0x3820301f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stseth", 0x7820301f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stset", 0xb820301f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stsetlb", 0x3860301f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsetlh", 0x7860301f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsetl", 0xb860301f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stsmaxb", 0x3820401f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsmaxh", 0x7820401f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsmax", 0xb820401f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stsmaxlb", 0x3860401f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsmaxlh", 0x7860401f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsmaxl", 0xb860401f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stsminb", 0x3820501f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsminh", 0x7820501f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsmin", 0xb820501f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stsminlb", 0x3860501f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsminlh", 0x7860501f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stsminl", 0xb860501f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stumaxb", 0x3820601f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stumaxh", 0x7820601f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stumax", 0xb820601f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stumaxlb", 0x3860601f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stumaxlh", 0x7860601f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stumaxl", 0xb860601f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stuminb", 0x3820701f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stuminh", 0x7820701f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stumin", 0xb820701f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
+  {"stuminlb", 0x3860701f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stuminlh", 0x7860701f, 0xffe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS},
+  {"stuminl", 0xb860701f, 0xbfe0fc1f, lse_atomic, 0, LSE, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS},
   /* Move wide (immediate).  */
   {"movn", 0x12800000, 0x7f800000, movewide, OP_MOVN, CORE, OP2 (Rd, HALF), QL_DST_R, F_SF | F_HAS_ALIAS},
   {"mov", 0x12800000, 0x7f800000, movewide, OP_MOV_IMM_WIDEN, CORE, OP2 (Rd, IMM_MOV), QL_DST_R, F_SF | F_ALIAS | F_CONV},
@@ -2089,9 +2272,9 @@ struct aarch64_opcode aarch64_opcode_tab
   {"dc", 0xd5080000, 0xfff80000, ic_system, 0, CORE, OP2 (SYSREG_DC, Rt), QL_SRC_X, F_ALIAS},
   {"ic", 0xd5080000, 0xfff80000, ic_system, 0, CORE, OP2 (SYSREG_IC, Rt_SYS), QL_SRC_X, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)},
   {"tlbi", 0xd5080000, 0xfff80000, ic_system, 0, CORE, OP2 (SYSREG_TLBI, Rt_SYS), QL_SRC_X, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)},
-  {"msr", 0xd5100000, 0xfff00000, ic_system, 0, CORE, OP2 (SYSREG, Rt), QL_SRC_X, 0},
+  {"msr", 0xd5000000, 0xffe00000, ic_system, 0, CORE, OP2 (SYSREG, Rt), QL_SRC_X, 0},
   {"sysl", 0xd5280000, 0xfff80000, ic_system, 0, CORE, OP5 (Rt, UIMM3_OP1, Cn, Cm, UIMM3_OP2), QL_SYSL, 0},
-  {"mrs", 0xd5300000, 0xfff00000, ic_system, 0, CORE, OP2 (Rt, SYSREG), QL_DST_X, 0},
+  {"mrs", 0xd5200000, 0xffe00000, ic_system, 0, CORE, OP2 (Rt, SYSREG), QL_DST_X, 0},
   /* Test & branch (immediate).  */
   {"tbz", 0x36000000, 0x7f000000, testbranch, 0, CORE, OP3 (Rt, BIT_NUM, ADDR_PCREL14), QL_PCREL_14, 0},
   {"tbnz", 0x37000000, 0x7f000000, testbranch, 0, CORE, OP3 (Rt, BIT_NUM, ADDR_PCREL14), QL_PCREL_14, 0},
@@ -2147,6 +2330,8 @@ struct aarch64_opcode aarch64_opcode_tab
       "an integer or stack pointer register")				\
     Y(INT_REG, regno, "Rn_SP", OPD_F_MAYBE_SP, F(FLD_Rn),		\
       "an integer or stack pointer register")				\
+    X(INT_REG, 0, ext_regno_pair, "PAIRREG", 0, F(),			\
+      "the second reg of a pair")					\
     Y(MODIFIED_REG, reg_extended, "Rm_EXT", 0, F(),			\
       "an integer register with optional extension")			\
     Y(MODIFIED_REG, reg_shifted, "Rm_SFT", 0, F(),			\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/alpha-dis.c ./opcodes/alpha-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/alpha-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/alpha-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* alpha-dis.c -- Disassemble Alpha AXP instructions
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Richard Henderson <rth@tamu.edu>,
    patterned after the PPC opcode handling written by Ian Lance Taylor.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/alpha-opc.c ./opcodes/alpha-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/alpha-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/alpha-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* alpha-opc.c -- Alpha AXP opcode list
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Richard Henderson <rth@cygnus.com>,
    patterned after the PPC opcode handling written by Ian Lance Taylor.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-dis.c ./opcodes/arc-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/arc-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Instruction printing code for the ARC.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Doug Evans (dje@cygnus.com).
 
    This file is part of libopcodes.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-dis.h ./opcodes/arc-dis.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-dis.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/arc-dis.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembler structures definitions for the ARC.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Doug Evans (dje@cygnus.com).
 
    This file is part of libopcodes.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-ext.c ./opcodes/arc-ext.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-ext.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/arc-ext.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ARC target-dependent stuff. Extension structure access functions
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-ext.h ./opcodes/arc-ext.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-ext.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/arc-ext.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ARC target-dependent stuff. Extension data structures.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-opc.c ./opcodes/arc-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arc-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/arc-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode table for the ARC.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Doug Evans (dje@cygnus.com).
 
    This file is part of libopcodes.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arm-dis.c ./opcodes/arm-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/arm-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/arm-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Instruction printing code for the ARM
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
    Modification by James G. Smith (jsmith@cygnus.co.uk)
 
@@ -2583,6 +2583,8 @@ print_arm_address (bfd_vma pc, struct di
 	      arm_decode_shift (given, func, stream, TRUE);
 	    }
 	}
+      if (NEGATIVE_BIT_SET)
+	offset = -offset;
     }
 
   return (signed long) offset;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/avr-dis.c ./opcodes/avr-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/avr-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/avr-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble AVR instructions.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    Contributed by Denis Chertykov <denisc@overta.ru>
 
@@ -186,6 +186,17 @@ avr_operand (unsigned int insn, unsigned
     case 'i':
       sprintf (buf, "0x%04X", insn2);
       break;
+
+    case 'j':
+      {
+        unsigned int val = ((insn & 0xf) | ((insn & 0x600) >> 5)
+                                         | ((insn & 0x100) >> 2));
+        if (val > 0 && !(insn & 0x100))
+          val |= 0x80;
+        sprintf (buf, "0x%02x", val);
+        sprintf (buf, "%d", val);
+      }
+      break;
       
     case 'M':
       sprintf (buf, "0x%02X", ((insn & 0xf00) >> 4) | (insn & 0xf));
@@ -329,8 +340,12 @@ print_insn_avr (bfd_vma addr, disassembl
   for (opcode = avr_opcodes, maskptr = avr_bin_masks;
        opcode->name;
        opcode++, maskptr++)
-    if ((insn & *maskptr) == opcode->bin_opcode)
-      break;
+    {
+      if ((opcode->isa == AVR_ISA_TINY) && (info->mach != bfd_mach_avrtiny))
+        continue;
+      if ((insn & *maskptr) == opcode->bin_opcode)
+        break;
+    }
   
   /* Special case: disassemble `ldd r,b+0' as `ld r,b', and
      `std b+0,r' as `st b,r' (next entry in the table).  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/bfin-dis.c ./opcodes/bfin-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/bfin-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/bfin-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble ADI Blackfin Instructions.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
@@ -42,8 +42,11 @@ typedef long TIword;
 
 typedef unsigned int bu32;
 
-static char comment = 0;
-static char parallel = 0;
+struct private
+{
+  TIword iw0;
+  bfd_boolean comment, parallel;
+};
 
 typedef enum
 {
@@ -481,6 +484,7 @@ static const enum machine_registers deco
 #ifndef OUTS
 #define OUTS(p, txt) (p)->fprintf_func ((p)->stream, "%s", txt)
 #endif
+#define OUT(p, txt, ...) (p)->fprintf_func ((p)->stream, txt, ## __VA_ARGS__)
 
 static void
 amod0 (int s0, int x0, disassemble_info *outf)
@@ -713,6 +717,7 @@ get_allreg (int grp, int reg)
 static int
 decode_ProgCtrl_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* ProgCtrl
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |.prgfunc.......|.poprnd........|
@@ -722,7 +727,7 @@ decode_ProgCtrl_0 (TIword iw0, disassemb
 
   if (prgfunc == 0 && poprnd == 0)
     OUTS (outf, "NOP");
-  else if (parallel)
+  else if (priv->parallel)
     return 0;
   else if (prgfunc == 1 && poprnd == 0)
     OUTS (outf, "RTS");
@@ -800,6 +805,7 @@ decode_ProgCtrl_0 (TIword iw0, disassemb
 static int
 decode_CaCTRL_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* CaCTRL
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |.a.|.op....|.reg.......|
@@ -808,7 +814,7 @@ decode_CaCTRL_0 (TIword iw0, disassemble
   int op  = ((iw0 >> CaCTRL_op_bits) & CaCTRL_op_mask);
   int reg = ((iw0 >> CaCTRL_reg_bits) & CaCTRL_reg_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (a == 0 && op == 0)
@@ -867,6 +873,7 @@ decode_CaCTRL_0 (TIword iw0, disassemble
 static int
 decode_PushPopReg_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* PushPopReg
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |.W.|.grp.......|.reg.......|
@@ -875,7 +882,7 @@ decode_PushPopReg_0 (TIword iw0, disasse
   int grp = ((iw0 >> PushPopReg_grp_bits) & PushPopReg_grp_mask);
   int reg = ((iw0 >> PushPopReg_reg_bits) & PushPopReg_reg_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (W == 0 && mostreg (reg, grp))
@@ -896,6 +903,7 @@ decode_PushPopReg_0 (TIword iw0, disasse
 static int
 decode_PushPopMultiple_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* PushPopMultiple
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 0 | 0 | 0 | 1 | 0 |.d.|.p.|.W.|.dr........|.pr........|
@@ -906,7 +914,7 @@ decode_PushPopMultiple_0 (TIword iw0, di
   int dr = ((iw0 >> PushPopMultiple_dr_bits) & PushPopMultiple_dr_mask);
   int pr = ((iw0 >> PushPopMultiple_pr_bits) & PushPopMultiple_pr_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (pr > 5)
@@ -960,6 +968,7 @@ decode_PushPopMultiple_0 (TIword iw0, di
 static int
 decode_ccMV_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* ccMV
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 0 | 0 | 0 | 1 | 1 |.T.|.d.|.s.|.dst.......|.src.......|
@@ -970,7 +979,7 @@ decode_ccMV_0 (TIword iw0, disassemble_i
   int src = ((iw0 >> CCmv_src_bits) & CCmv_src_mask);
   int dst = ((iw0 >> CCmv_dst_bits) & CCmv_dst_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (T == 1)
@@ -995,6 +1004,7 @@ decode_ccMV_0 (TIword iw0, disassemble_i
 static int
 decode_CCflag_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* CCflag
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 0 | 0 | 1 |.I.|.opc.......|.G.|.y.........|.x.........|
@@ -1005,7 +1015,7 @@ decode_CCflag_0 (TIword iw0, disassemble
   int G = ((iw0 >> CCflag_G_bits) & CCflag_G_mask);
   int opc = ((iw0 >> CCflag_opc_bits) & CCflag_opc_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (opc == 0 && I == 0 && G == 0)
@@ -1173,6 +1183,7 @@ decode_CCflag_0 (TIword iw0, disassemble
 static int
 decode_CC2dreg_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* CC2dreg
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |.op....|.reg.......|
@@ -1180,7 +1191,7 @@ decode_CC2dreg_0 (TIword iw0, disassembl
   int op  = ((iw0 >> CC2dreg_op_bits) & CC2dreg_op_mask);
   int reg = ((iw0 >> CC2dreg_reg_bits) & CC2dreg_reg_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (op == 0)
@@ -1204,6 +1215,7 @@ decode_CC2dreg_0 (TIword iw0, disassembl
 static int
 decode_CC2stat_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* CC2stat
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |.D.|.op....|.cbit..............|
@@ -1213,8 +1225,9 @@ decode_CC2stat_0 (TIword iw0, disassembl
   int cbit = ((iw0 >> CC2stat_cbit_bits) & CC2stat_cbit_mask);
 
   const char *bitname = statbits (cbit);
+  const char * const op_names[] = { "", "|", "&", "^" } ;
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (decode_statbits[cbit] == REG_LASTREG)
@@ -1230,48 +1243,10 @@ decode_CC2stat_0 (TIword iw0, disassembl
       bitname = bitnames;
     }
 
-  if (op == 0 && D == 0)
-    {
-      OUTS (outf, "CC = ");
-      OUTS (outf, bitname);
-    }
-  else if (op == 1 && D == 0)
-    {
-      OUTS (outf, "CC |= ");
-      OUTS (outf, bitname);
-    }
-  else if (op == 2 && D == 0)
-    {
-      OUTS (outf, "CC &= ");
-      OUTS (outf, bitname);
-    }
-  else if (op == 3 && D == 0)
-    {
-      OUTS (outf, "CC ^= ");
-      OUTS (outf, bitname);
-    }
-  else if (op == 0 && D == 1)
-    {
-      OUTS (outf, bitname);
-      OUTS (outf, " = CC");
-    }
-  else if (op == 1 && D == 1)
-    {
-      OUTS (outf, bitname);
-      OUTS (outf, " |= CC");
-    }
-  else if (op == 2 && D == 1)
-    {
-      OUTS (outf, bitname);
-      OUTS (outf, " &= CC");
-    }
-  else if (op == 3 && D == 1)
-    {
-      OUTS (outf, bitname);
-      OUTS (outf, " ^= CC");
-    }
+  if (D == 0)
+    OUT (outf, "CC %s= %s", op_names[op], bitname);
   else
-    return 0;
+    OUT (outf, "%s %s= CC", bitname, op_names[op]);
 
   return 2;
 }
@@ -1279,6 +1254,7 @@ decode_CC2stat_0 (TIword iw0, disassembl
 static int
 decode_BRCC_0 (TIword iw0, bfd_vma pc, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* BRCC
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 0 | 1 |.T.|.B.|.offset................................|
@@ -1287,7 +1263,7 @@ decode_BRCC_0 (TIword iw0, bfd_vma pc, d
   int T = ((iw0 >> BRCC_T_bits) & BRCC_T_mask);
   int offset = ((iw0 >> BRCC_offset_bits) & BRCC_offset_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (T == 1 && B == 1)
@@ -1321,13 +1297,14 @@ decode_BRCC_0 (TIword iw0, bfd_vma pc, d
 static int
 decode_UJUMP_0 (TIword iw0, bfd_vma pc, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* UJUMP
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 0 | 1 | 0 |.offset........................................|
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+  */
   int offset = ((iw0 >> UJump_offset_bits) & UJump_offset_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   OUTS (outf, "JUMP.S 0x");
@@ -1571,6 +1548,7 @@ decode_PTR2op_0 (TIword iw0, disassemble
 static int
 decode_LOGI2op_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* LOGI2op
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 1 | 0 | 0 | 1 |.opc.......|.src...............|.dst.......|
@@ -1579,7 +1557,7 @@ decode_LOGI2op_0 (TIword iw0, disassembl
   int opc = ((iw0 >> LOGI2op_opc_bits) & LOGI2op_opc_mask);
   int dst = ((iw0 >> LOGI2op_dst_bits) & LOGI2op_dst_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (opc == 0)
@@ -1591,7 +1569,7 @@ decode_LOGI2op_0 (TIword iw0, disassembl
       OUTS (outf, ");\t\t/* bit");
       OUTS (outf, imm7d (src));
       OUTS (outf, " */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else if (opc == 1)
     {
@@ -1602,7 +1580,7 @@ decode_LOGI2op_0 (TIword iw0, disassembl
       OUTS (outf, ");\t\t/* bit");
       OUTS (outf, imm7d (src));
       OUTS (outf, " */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else if (opc == 2)
     {
@@ -1613,7 +1591,7 @@ decode_LOGI2op_0 (TIword iw0, disassembl
       OUTS (outf, ");\t\t/* bit");
       OUTS (outf, imm7d (src));
       OUTS (outf, " */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else if (opc == 3)
     {
@@ -1624,7 +1602,7 @@ decode_LOGI2op_0 (TIword iw0, disassembl
       OUTS (outf, ");\t\t/* bit");
       OUTS (outf, imm7d (src));
       OUTS (outf, " */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else if (opc == 4)
     {
@@ -1635,7 +1613,7 @@ decode_LOGI2op_0 (TIword iw0, disassembl
       OUTS (outf, ");\t\t/* bit");
       OUTS (outf, imm7d (src));
       OUTS (outf, " */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else if (opc == 5)
     {
@@ -1755,6 +1733,7 @@ decode_COMP3op_0 (TIword iw0, disassembl
 static int
 decode_COMPI2opD_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* COMPI2opD
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 1 | 1 | 0 | 0 |.op|..src......................|.dst.......|
@@ -1765,7 +1744,7 @@ decode_COMPI2opD_0 (TIword iw0, disassem
 
   bu32 *pval = get_allreg (0, dst);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   /* Since we don't have 32-bit immediate loads, we allow the disassembler
@@ -1792,7 +1771,7 @@ decode_COMPI2opD_0 (TIword iw0, disassem
       OUTS (outf, "(");
       OUTS (outf, imm32 (*pval));
       OUTS (outf, ") */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else if (op == 1)
     {
@@ -1802,7 +1781,7 @@ decode_COMPI2opD_0 (TIword iw0, disassem
       OUTS (outf, ";\t\t/* (");
       OUTS (outf, imm7d (src));
       OUTS (outf, ") */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else
     return 0;
@@ -1813,6 +1792,7 @@ decode_COMPI2opD_0 (TIword iw0, disassem
 static int
 decode_COMPI2opP_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* COMPI2opP
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 0 | 1 | 1 | 0 | 1 |.op|.src.......................|.dst.......|
@@ -1823,7 +1803,7 @@ decode_COMPI2opP_0 (TIword iw0, disassem
 
   bu32 *pval = get_allreg (1, dst);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (op == 0)
@@ -1847,7 +1827,7 @@ decode_COMPI2opP_0 (TIword iw0, disassem
       OUTS (outf, "(");
       OUTS (outf, imm32 (*pval));
       OUTS (outf, ") */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else if (op == 1)
     {
@@ -1857,7 +1837,7 @@ decode_COMPI2opP_0 (TIword iw0, disassem
       OUTS (outf, ";\t\t/* (");
       OUTS (outf, imm7d (src));
       OUTS (outf, ") */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else
     return 0;
@@ -2024,6 +2004,7 @@ decode_dagMODim_0 (TIword iw0, disassemb
 static int
 decode_dagMODik_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* dagMODik
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |.op....|.i.....|
@@ -2054,7 +2035,7 @@ decode_dagMODik_0 (TIword iw0, disassemb
   else
     return 0;
 
-  if (! parallel)
+  if (!priv->parallel)
     {
       OUTS (outf, ";\t\t/* (  ");
       if (op == 0 || op == 1)
@@ -2062,7 +2043,7 @@ decode_dagMODik_0 (TIword iw0, disassemb
       else if (op == 2 || op == 3)
 	OUTS (outf, "4");
       OUTS (outf, ") */");
-      comment = 1;
+      priv->comment = TRUE;
     }
 
   return 2;
@@ -2577,6 +2558,7 @@ decode_LDSTii_0 (TIword iw0, disassemble
 static int
 decode_LoopSetup_0 (TIword iw0, TIword iw1, bfd_vma pc, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* LoopSetup
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |.rop...|.c.|.soffset.......|
@@ -2588,7 +2570,7 @@ decode_LoopSetup_0 (TIword iw0, TIword i
   int soffset = ((iw0 >> (LoopSetup_soffset_bits - 16)) & LoopSetup_soffset_mask);
   int eoffset = ((iw1 >> LoopSetup_eoffset_bits) & LoopSetup_eoffset_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (reg > 7)
@@ -2638,6 +2620,7 @@ decode_LoopSetup_0 (TIword iw0, TIword i
 static int
 decode_LDIMMhalf_0 (TIword iw0, TIword iw1, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* LDIMMhalf
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |.Z.|.H.|.S.|.grp...|.reg.......|
@@ -2652,7 +2635,7 @@ decode_LDIMMhalf_0 (TIword iw0, TIword i
 
   bu32 *pval = get_allreg (grp, reg);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   /* Since we don't have 32-bit immediate loads, we allow the disassembler
@@ -2760,7 +2743,7 @@ decode_LDIMMhalf_0 (TIword iw0, TIword i
 	}
 
       OUTS (outf, " */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   if (S == 1 || Z == 1)
     {
@@ -2771,7 +2754,7 @@ decode_LDIMMhalf_0 (TIword iw0, TIword i
       OUTS (outf, "(");
       OUTS (outf, imm32 (*pval));
       OUTS (outf, ") */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   return 4;
 }
@@ -2779,6 +2762,7 @@ decode_LDIMMhalf_0 (TIword iw0, TIword i
 static int
 decode_CALLa_0 (TIword iw0, TIword iw1, bfd_vma pc, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* CALLa
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 1 | 1 | 1 | 0 | 0 | 0 | 1 |.S.|.msw...........................|
@@ -2788,7 +2772,7 @@ decode_CALLa_0 (TIword iw0, TIword iw1, 
   int lsw = ((iw1 >> 0) & 0xffff);
   int msw = ((iw0 >> 0) & 0xff);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (S == 1)
@@ -2916,6 +2900,7 @@ decode_LDSTidxI_0 (TIword iw0, TIword iw
 static int
 decode_linkage_0 (TIword iw0, TIword iw1, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* linkage
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |.R.|
@@ -2924,7 +2909,7 @@ decode_linkage_0 (TIword iw0, TIword iw1
   int R = ((iw0 >> (Linkage_R_bits - 16)) & Linkage_R_mask);
   int framesize = ((iw1 >> Linkage_framesize_bits) & Linkage_framesize_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (R == 0)
@@ -2934,7 +2919,7 @@ decode_linkage_0 (TIword iw0, TIword iw1
       OUTS (outf, ";\t\t/* (");
       OUTS (outf, uimm16s4d (framesize));
       OUTS (outf, ") */");
-      comment = 1;
+      priv->comment = TRUE;
     }
   else if (R == 1)
     OUTS (outf, "UNLINK");
@@ -4512,6 +4497,7 @@ decode_dsp32shiftimm_0 (TIword iw0, TIwo
 static int
 decode_pseudoDEBUG_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* pseudoDEBUG
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |.fn....|.grp.......|.reg.......|
@@ -4520,7 +4506,7 @@ decode_pseudoDEBUG_0 (TIword iw0, disass
   int grp = ((iw0 >> PseudoDbg_grp_bits) & PseudoDbg_grp_mask);
   int reg = ((iw0 >> PseudoDbg_reg_bits) & PseudoDbg_reg_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (reg == 0 && fn == 3)
@@ -4571,13 +4557,14 @@ decode_pseudoDEBUG_0 (TIword iw0, disass
 static int
 decode_pseudoOChar_0 (TIword iw0, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* psedoOChar
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |.ch............................|
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+  */
   int ch = ((iw0 >> PseudoChr_ch_bits) & PseudoChr_ch_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   OUTS (outf, "OUTC ");
@@ -4589,6 +4576,7 @@ decode_pseudoOChar_0 (TIword iw0, disass
 static int
 decode_pseudodbg_assert_0 (TIword iw0, TIword iw1, disassemble_info *outf)
 {
+  struct private *priv = outf->private_data;
   /* pseudodbg_assert
      +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
      | 1 | 1 | 1 | 1 | 0 | - | - | - | dbgop |.grp.......|.regtest...|
@@ -4599,7 +4587,7 @@ decode_pseudodbg_assert_0 (TIword iw0, T
   int grp      = ((iw0 >> (PseudoDbg_Assert_grp_bits - 16)) & PseudoDbg_Assert_grp_mask);
   int regtest  = ((iw0 >> (PseudoDbg_Assert_regtest_bits - 16)) & PseudoDbg_Assert_regtest_mask);
 
-  if (parallel)
+  if (priv->parallel)
     return 0;
 
   if (dbgop == 0)
@@ -4640,27 +4628,55 @@ decode_pseudodbg_assert_0 (TIword iw0, T
 }
 
 static int
+ifetch (bfd_vma pc, disassemble_info *outf, TIword *iw)
+{
+  bfd_byte buf[2];
+  int status;
+
+  status = (*outf->read_memory_func) (pc, buf, 2, outf);
+  if (status != 0)
+    {
+      (*outf->memory_error_func) (status, pc, outf);
+      return -1;
+    }
+
+  *iw = bfd_getl16 (buf);
+  return 0;
+}
+
+static int
 _print_insn_bfin (bfd_vma pc, disassemble_info *outf)
 {
-  bfd_byte buf[4];
+  struct private *priv = outf->private_data;
   TIword iw0;
   TIword iw1;
-  int status;
   int rv = 0;
 
-  status = (*outf->read_memory_func) (pc & ~0x1, buf, 2, outf);
-  /* FIXME */
-  (void) status;
-  status = (*outf->read_memory_func) ((pc + 2) & ~0x1, buf + 2, 2, outf);
-  /* FIXME */
-  (void) status;
+  /* The PC must be 16-bit aligned.  */
+  if (pc & 1)
+    {
+      OUTS (outf, "ILLEGAL (UNALIGNED)");
+      /* For people dumping data, just re-align the return value.  */
+      return 1;
+    }
 
-  iw0 = bfd_getl16 (buf);
-  iw1 = bfd_getl16 (buf + 2);
+  if (ifetch (pc, outf, &iw0))
+    return -1;
+  priv->iw0 = iw0;
+
+  if ((iw0 & 0xc000) == 0xc000)
+    {
+      /* 32-bit insn.  */
+      if (ifetch (pc + 2, outf, &iw1))
+	return -1;
+    }
+  else
+    /* 16-bit insn.  */
+    iw1 = 0;
 
   if ((iw0 & 0xf7ff) == 0xc003 && iw1 == 0x1800)
     {
-      if (parallel)
+      if (priv->parallel)
 	{
 	  OUTS (outf, "ILLEGAL");
 	  return 0;
@@ -4752,54 +4768,54 @@ _print_insn_bfin (bfd_vma pc, disassembl
 int
 print_insn_bfin (bfd_vma pc, disassemble_info *outf)
 {
-  bfd_byte buf[2];
-  unsigned short iw0;
-  int status;
-  int count = 0;
+  struct private priv;
+  int count;
 
-  status = (*outf->read_memory_func) (pc & ~0x01, buf, 2, outf);
-  /* FIXME */
-  (void) status;
-  iw0 = bfd_getl16 (buf);
-
-  count += _print_insn_bfin (pc, outf);
+  priv.parallel = FALSE;
+  priv.comment = FALSE;
+  outf->private_data = &priv;
+
+  count = _print_insn_bfin (pc, outf);
+  if (count == -1)
+    return -1;
 
   /* Proper display of multiple issue instructions.  */
 
-  if (count == 4 && (iw0 & 0xc000) == 0xc000 && (iw0 & BIT_MULTI_INS)
-      && ((iw0 & 0xe800) != 0xe800 /* Not Linkage.  */ ))
+  if (count == 4 && (priv.iw0 & 0xc000) == 0xc000 && (priv.iw0 & BIT_MULTI_INS)
+      && ((priv.iw0 & 0xe800) != 0xe800 /* Not Linkage.  */ ))
     {
-      int legal = 1;
+      bfd_boolean legal = TRUE;
       int len;
 
-      parallel = 1;
+      priv.parallel = TRUE;
       OUTS (outf, " || ");
       len = _print_insn_bfin (pc + 4, outf);
+      if (len == -1)
+	return -1;
       OUTS (outf, " || ");
       if (len != 2)
-	legal = 0;
+	legal = FALSE;
       len = _print_insn_bfin (pc + 6, outf);
+      if (len == -1)
+	return -1;
       if (len != 2)
-	legal = 0;
+	legal = FALSE;
 
       if (legal)
 	count = 8;
       else
 	{
 	  OUTS (outf, ";\t\t/* ILLEGAL PARALLEL INSTRUCTION */");
-	  comment = 1;
+	  priv.comment = TRUE;
 	  count = 0;
 	}
-      parallel = 0;
     }
 
-  if (!comment)
+  if (!priv.comment)
     OUTS (outf, ";");
 
   if (count == 0)
     return 2;
 
-  comment = 0;
-
   return count;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-asm.c ./opcodes/cgen-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cgen-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* CGEN generic assembler support code.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-asm.in ./opcodes/cgen-asm.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-asm.in	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cgen-asm.in	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-bitset.c ./opcodes/cgen-bitset.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-bitset.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cgen-bitset.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* CGEN generic opcode support.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-dis.c ./opcodes/cgen-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cgen-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* CGEN generic disassembler support code.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-dis.in ./opcodes/cgen-dis.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-dis.in	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cgen-dis.in	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-ibld.in ./opcodes/cgen-ibld.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-ibld.in	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cgen-ibld.in	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-opc.c ./opcodes/cgen-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cgen-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* CGEN generic opcode support.
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen.sh ./opcodes/cgen.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cgen.sh	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cgen.sh	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 # CGEN generic assembler support code.
 #
-#   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 #
 #   This file is part of the GNU opcodes library.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ChangeLog ./opcodes/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ChangeLog	2015-01-20 02:05:40.000000000 +0000
@@ -1,313 +1,10 @@
-2014-06-10  H.J. Lu  <hongjiu.lu@intel.com>
+2015-01-01  Alan Modra  <amodra@gmail.com>
 
-	* i386-dis.c (fwait_prefix): New.
-	(ckprefix): Set fwait_prefix.
-	(print_insn): Properly print prefixes before fwait.
+	Update year range in copyright notice of all files.
 
-2014-06-07  Alan Modra  <amodra@gmail.com>
-
-	* ppc-opc.c (UISIGNOPT): Define and use with cmpli.
-
-2014-06-05  Joel Brobecker  <brobecker@adacore.com>
-
-	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
-	bfd's development.sh.
-	* Makefile.in, configure: Regenerate.
-
-2014-06-03  Nick Clifton  <nickc@redhat.com>
-
-	* msp430-dis.c (msp430_doubleoperand): Use extension_word to
-	decide when extended addressing is being used.
-
-2014-06-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sparc-opc.c (cas): Disable for LEON.
-	(casl): Likewise.
-
-2014-05-20  Alan Modra  <amodra@gmail.com>
-
-	* m68k-dis.c: Don't include setjmp.h.
-
-2014-05-09  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* i386-dis.c (ADDR16_PREFIX): Removed.
-	(ADDR32_PREFIX): Likewise.
-	(DATA16_PREFIX): Likewise.
-	(DATA32_PREFIX): Likewise.
-	(prefix_name): Updated.
-	(print_insn): Simplify data and address size prefixes processing.
-
-2014-05-08  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
-
-	* or1k-desc.c: Regenerated.
-	* or1k-desc.h: Likewise.
-	* or1k-opc.c: Likewise.
-	* or1k-opc.h: Likewise.
-	* or1k-opinst.c: Likewise.
-
-2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
-
-	* mips-opc.c (mips_builtin_opcodes): Add MIPS32r5 eretnc instruction.
-	(I34): New define.
-	(I36): New define.
-	(I66): New define.
-	(I68): New define.
-	* mips-dis.c (mips_arch_choices): Add mips32r3, mips32r5, mips64r3 and
-	mips64r5.
-	(parse_mips_dis_option): Update MSA and virtualization support to
-	allow mips64r3 and mips64r5.
-
-2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
-
-	* mips-opc.c (G3): Remove I4.
-
-2014-05-05  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR binutils/16893
-	* i386-dis.c (twobyte_has_mandatory_prefix): New variable.
-	(end_codep): Likewise.
-	(mandatory_prefix): Likewise.
-	(active_seg_prefix): Likewise.
-	(ckprefix): Set active_seg_prefix to the active segment register
-	prefix.
-	(seg_prefix): Removed.
-	(get_valid_dis386): Use the last of PREFIX_REPNZ and PREFIX_REPZ
-	for prefix index.  Ignore the index if it is invalid and the
-	mandatory prefix isn't required.
-	(print_insn): Set mandatory_prefix if the PREFIX_XXX prefix is
-	mandatory.  Don't set PREFIX_REPZ/PREFIX_REPNZ/PREFIX_LOCK bits
-	in used_prefixes here.  Don't print unused prefixes.  Check
-	active_seg_prefix for the active segment register prefix.
-	Restore the DFLAG bit in sizeflag if the data size prefix is
-	unused.  Check the unused mandatory PREFIX_XXX prefixes
-	(append_seg): Only print the segment register which gets used.
-	(OP_E_memory): Check active_seg_prefix for the segment register
-	prefix.
-	(OP_OFF): Likewise.
-	(OP_OFF64): Likewise.
-	(OP_DSreg): Set active_seg_prefix to PREFIX_DS if it is unset.
-
-2014-05-02  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR binutils/16886
-	* config.in: Regenerated.
-	* configure: Likewise.
-	* configure.in: Check if sigsetjmp is available.
-	* h8500-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
-	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
-	(print_insn_h8500): Replace setjmp with OPCODES_SIGSETJMP.
-	* i386-dis.c (dis_private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
-	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
-	(print_insn): Replace setjmp with OPCODES_SIGSETJMP.
-	* ns32k-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
-	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
-	(print_insn_ns32k): Replace setjmp with OPCODES_SIGSETJMP.
-	* sysdep.h (OPCODES_SIGJMP_BUF): New macro.
-	(OPCODES_SIGSETJMP): Likewise.
-	(OPCODES_SIGLONGJMP): Likewise.
-	* vax-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
-	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
-	(print_insn_vax): Replace setjmp with OPCODES_SIGSETJMP.
-	* xtensa-dis.c (dis_private): Replace jmp_buf with
-	OPCODES_SIGJMP_BUF.
-	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
-	(print_insn_xtensa): Replace setjmp with OPCODES_SIGSETJMP.
-	* z8k-dis.c(instr_data_s): Replace jmp_buf with OPCODES_SIGJMP_BUF.
-	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
-	(print_insn_z8k): Replace setjmp with OPCODES_SIGSETJMP.
-
-2014-05-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR binutils/16891
-	* i386-dis.c (print_insn): Handle prefixes before fwait.
-
-2014-04-26  Alan Modra  <amodra@gmail.com>
-
-	* po/POTFILES.in: Regenerate.
-
-2014-04-23  Andrew Bennett  <andrew.bennett@imgtec.com>
-
-	* mips-dis.c (mips_arch_choices): Update mips32r2 and mips64r2
-	to allow the MIPS XPA ASE.
-	(parse_mips_dis_option): Process the -Mxpa option.
-	* mips-opc.c (XPA): New define.
-	(mips_builtin_opcodes): Add MIPS XPA instructions and move the
-	locations of the ctc0 and cfc0 instructions.
-
-2014-04-22  Christian Svensson  <blue@cmd.nu>
-
-	* Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
-	* configure.in: Likewise.
-	* disassemble.c: Likewise.
-	* or1k-asm.c: New file.
-	* or1k-desc.c: New file.
-	* or1k-desc.h: New file.
-	* or1k-dis.c: New file.
-	* or1k-ibld.c: New file.
-	* or1k-opc.c: New file.
-	* or1k-opc.h: New file.
-	* or1k-opinst.c: New file.
-	* Makefile.in: Regenerate.
-	* configure: Regenerate.
-	* openrisc-asm.c: Delete.
-	* openrisc-desc.c: Delete.
-	* openrisc-desc.h: Delete.
-	* openrisc-dis.c: Delete.
-	* openrisc-ibld.c: Delete.
-	* openrisc-opc.c: Delete.
-	* openrisc-opc.h: Delete.
-	* or32-dis.c: Delete.
-	* or32-opc.c: Delete.
-
-2014-04-04  Ilya Tocar  <ilya.tocar@intel.com>
-
-	* i386-dis.c (rm_table): Add encls, enclu.
-	* i386-gen.c (cpu_flag_init): Add CPU_SE1_FLAGS,
-	(cpu_flags): Add CpuSE1.
-	* i386-opc.h (enum): Add CpuSE1.
-	(i386_cpu_flags): Add cpuse1.
-	* i386-opc.tbl: Add encls, enclu.
-	* i386-init.h: Regenerated.
-	* i386-tbl.h: Likewise.
-
-2014-04-02  Anthony Green  <green@moxielogic.com>
-
-	* moxie-opc.c (moxie_form1_opc_info): Add sign-extension
-	instructions, sex.b and sex.s.
-
-2014-03-26  Jiong Wang  <jiong.wang@arm.com>
-
-	* aarch64-dis.c (aarch64_ext_ldst_elemlist): Check H/S undefined
-	instructions.
-
-2014-03-20  Ilya Tocar  <ilya.tocar@intel.com>
-
-	* i386-opc.tbl: Change memory size for vgatherpf0qps, vgatherpf1qps,
-	vscatterpf0qps, vscatterpf1qps, vgatherqps, vpgatherqd, vpscatterqd,
-	vscatterqps.
-	* i386-tbl.h: Regenerate.
-
-2014-03-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* sparc-dis.c (v9_hpriv_reg_names): Names for %hstick_offset and
-	%hstick_enable added.
-
-2014-03-19  Nick Clifton  <nickc@redhat.com>
-
-	* rx-decode.opc (bwl): Allow for bogus instructions with a size
-	field of 3.
-	(sbwl, ubwl, SCALE): Likewise.
-	* rx-decode.c: Regenerate.
-
-2014-03-12  Alan Modra  <amodra@gmail.com>
-
-	* Makefile.in: Regenerate.
-
-2014-03-05  Alan Modra  <amodra@gmail.com>
-
-	Update copyright years.
-
-2014-03-04  Heiher  <r@hev.cc>
-
-	* mips-dis.c (mips_arch_choices): Usee ISA_MIPS64R2 for Loongson-3A.
-
-2014-03-04  Richard Sandiford  <rdsandiford@googlemail.com>
-
-	* mips-opc.c (mips_builtin_opcodes): Move the udi* instructions
-	so that they come after the Loongson extensions.
-
-2014-03-03  Alan Modra  <amodra@gmail.com>
-
-	* i386-gen.c (process_copyright): Emit copyright notice on one line.
-
-2014-02-28  Alan Modra  <amodra@gmail.com>
-
-	* msp430-decode.c: Regenerate.
-
-2014-02-27  Jiong Wang  <jiong.wang@arm.com>
-
-	* aarch64-tbl.h (aarch64_opcode_table): Replace IMM0 with
-	FPIMM0 for fcmeq, fcmgt, fcmge, fcmlt and fcmle.
-
-2014-02-27  Yufeng Zhang  <yufeng.zhang@arm.com>
-
-	* aarch64-opc.c (print_register_offset_address): Call
-	get_int_reg_name to prepare the register name.
-
-2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
-
-	* i386-opc.tbl: Remove wrong variant of vcvtps2ph
-	* i386-tbl.h: Regenerate.
-
-2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
-
-	* i386-gen.c (cpu_flag_init): Add CPU_PREFETCHWT1_FLAGS/
-	(cpu_flags): Add CpuPREFETCHWT1.
-	* i386-init.h: Regenerate.
-	* i386-opc.h (CpuPREFETCHWT1): New.
-	(i386_cpu_flags): Add cpuprefetchwt1.
-	* i386-opc.tbl: Cahnge CPU of prefetchwt1 from CpuAVX512PF to CpuPREFETCHWT1.
-	* i386-tbl.h: Regenerate.
-
-2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
-
-	* i386-opc.tbl: Change CPU of vptestnmq, vptestnmd from CpuAVX512CD,
-	to CpuAVX512F.
-	* i386-tbl.h: Regenerate.
-
-2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* i386-gen.c (output_cpu_flags): Don't output trailing space.
-	(output_opcode_modifier): Likewise.
-	(output_operand_type): Likewise.
-	* i386-init.h: Regenerated.
-	* i386-tbl.h: Likewise.
-
-2014-02-12  Ilya Tocar  <ilya.tocar@intel.com>
-
-	* i386-dis.c (MOD enum): Add MOD_0FC7_REG_3, MOD_0FC7_REG_4,
-	MOD_0FC7_REG_5.
-	(PREFIX enum): Add PREFIX_0FAE_REG_7.
-	(reg_table): Add MOD_0FC7_REG_3, MOD_0FC7_REG_4 MOD_0FC7_REG_5.
-	(prefix_table): Add clflusopt.
-	(mod_table): Add xrstors, xsavec, xsaves.
-	* i386-gen.c (cpu_flag_init): Add CPU_CLFLUSHOPT_FLAGS,
-	CPU_XSAVES_FLAGS, CPU_XSAVEC_FLAGS.
-	(cpu_flags): Add CpuClflushOpt, CpuXSAVES, CpuXSAVEC.
-	* i386-init.h: Regenerate.
-	* i386-opc.tbl: Add clflushopt, xrstors, xrstors64, xsaves,
-	xsaves64, xsavec, xsavec64.
-	* i386-tbl.h: Regenerate.
-
-2014-02-10  Alan Modra  <amodra@gmail.com>
-
-	* po/POTFILES.in: Regenerate.
-	* po/opcodes.pot: Regenerate.
-
-2014-01-30  Michael Zolotukhin  <michael.v.zolotukhin@gmail.com>
-	    Jan Beulich  <jbeulich@suse.com>
-
-	PR binutils/16490
-	* i386-dis.c (OP_E_memory): Fix shift computation for
-	vex_vsib_q_w_dq_mode.
-
-2014-01-09  Bradley Nelson  <bradnelson@google.com>
-	    Roland McGrath  <mcgrathr@google.com>
-
-	* i386-dis.c (print_insn): Do not touch all_prefixes[-1] when
-	last_rex_prefix is -1.
-
-2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* i386-gen.c (process_copyright): Update copyright year to 2014.
-
-2014-01-03  Maciej W. Rozycki  <macro@codesourcery.com>
-
-	* nds32-asm.c (parse_operand): Fix out-of-range integer constant.
-
-For older changes see ChangeLog-2013
+For older changes see ChangeLog-2014
 
-Copyright (C) 2014 Free Software Foundation, Inc.
+Copyright (C) 2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ChangeLog-2014 ./opcodes/ChangeLog-2014
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ChangeLog-2014	1970-01-01 00:00:00.000000000 +0000
+++ ./opcodes/ChangeLog-2014	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,897 @@
+2014-12-27  Anthony Green  <green@moxielofic.com
+
+	* moxie-opc.c (moxie_form1_opc_info): sto/ldo are now encoded with
+	16-bit immediat values instead of 32.
+	* moxie-dis.c (print_insn_moxie): Ditto.
+
+2014-12-24  Anthony Green  <green@moxielogic.com>
+
+	* moxie-opc: Define mul.x and umul.x instructions.  Remove
+	trailing .l from add, sub, mul, div and udiv instructions.
+
+2014-12-16  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* mips-opc.c (mips_builtin_opcodes): Add JALRC alias for
+	JIALC.  Remove the operand from NAL.
+
+2014-12-12  Anthony Green  <green@moxielogic.com>
+
+	* moxie-opc.c: Define zex instructions.
+
+2014-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* configure.ac: Add Visium support.
+	* configure: Regenerate.
+	* Makefile.am (TARGET_LIBOPCODES_CFILES): Add visium-dis.c and
+	visium-opc.c.
+	* Makefile.in: Regenerate.
+	* disassemble.c (ARCH_visium): Define if ARCH_all.
+	(disassembler): Deal with bfd_arch_visium if ARCH_visium.
+	* visium-dis.c: New file.
+	* visium-opc.c: Likewise.
+	* po/POTFILES.in: Regenerate.
+
+2014-11-30  Alan Modra  <amodra@gmail.com>
+
+	* ppc-opc.c (powerpc_opcodes): Make mftb* generate mfspr for
+	power4 and later.
+
+2014-11-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2-opc.c (nios2_r1_opcodes): Remove deleted attributes
+	from descriptors.
+
+2014-11-28  Alan Modra  <amodra@gmail.com>
+
+	* ppc-opc.c (powerpc_opcodes <mftb>): Don't deprecate for power7.
+	(TB): Delete.
+	(insert_tbr, extract_tbr): Validate tbr number.
+
+2014-11-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* configure: Regenerated.
+
+2014-11-17  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-dis-evex.c (evex_table): Add vpermi2b, vpermt2b, vpermb,
+	vpmultishiftqb.
+	* i386-dis.c (PREFIX enum): Add PREFIX_EVEX_0F3883, EVEX_W_0F3883_P_2.
+	* i386-gen.c (cpu_flag_init): Add CPU_AVX512VBMI_FLAGS.
+	(cpu_flags): Add CpuAVX512VBMI.
+	* i386-opc.h (enum): Add CpuAVX512VBMI.
+	(i386_cpu_flags): Add cpuavx512vbmi.
+	* i386-opc.tbl: Add vpmadd52luq, vpmultishiftqb, vpermb, vpermi2b,
+	vpermt2b.
+	* i386-init.h: Regenerated.
+	* i386-tbl.h: Likewise.
+
+2014-11-17  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-dis-evex.c (evex_table): Add vpmadd52luq, vpmadd52huq.
+	* i386-dis.c (PREFIX enum): Add PREFIX_EVEX_0F38B4,
+	PREFIX_EVEX_0F38B5.
+	* i386-gen.c (cpu_flag_init): Add CPU_AVX512IFMA_FLAGS.
+	(cpu_flags): Add CpuAVX512IFMA.
+	* i386-opc.h (enum): Add CpuAVX512IFMA.
+	(i386_cpu_flags): Add cpuavx512ifma.
+	* i386-opc.tbl: Add vpmadd52huq, vpmadd52luq.
+	* i386-init.h: Regenerated.
+	* i386-tbl.h: Likewise.
+
+2014-11-17  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-dis.c (PREFIX enum): Add PREFIX_RM_0_0FAE_REG_7.
+	(prefix_table): Add pcommit.
+	* i386-gen.c (cpu_flag_init): Add CPU_PCOMMIT_FLAGS.
+	(cpu_flags): Add CpuPCOMMIT.
+	* i386-opc.h (enum): Add CpuPCOMMIT.
+	(i386_cpu_flags): Add cpupcommit.
+	* i386-opc.tbl: Add pcommit.
+	* i386-init.h: Regenerated.
+	* i386-tbl.h: Likewise.
+
+2014-11-17  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-dis.c (PREFIX enum): Add PREFIX_0FAE_REG_6.
+	(prefix_table): Add clwb.
+	* i386-gen.c (cpu_flag_init): Add CPU_CLWB_FLAGS.
+	(cpu_flags): Add CpuCLWB.
+	* i386-opc.h (enum): Add CpuCLWB.
+	(i386_cpu_flags): Add cpuclwb.
+	* i386-opc.tbl: Add clwb.
+	* i386-init.h: Regenerated.
+	* i386-tbl.h: Likewise.
+
+2014-11-06  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2-dis.c (nios2_find_opcode_hash): Add mach parameter.
+	(nios2_disassemble): Adjust call to nios2_find_opcode_hash.
+
+2014-11-03  Nick Clifton  <nickc@redhat.com>
+
+	* po/fi.po: Updated Finnish translation.
+
+2014-10-31  Andrew Pinski  <apinski@cavium.com>
+            Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
+
+	* mips-dis.c (mips_arch_choices): Add octeon3.
+	* mips-opc.c (IOCT): Include INSN_OCTEON3.
+	(IOCT2): Likewise.
+	(IOCT3): New define.
+	(IVIRT): New define.
+	(mips_builtin_opcodes): Add dmfgc0, dmtgc0, hypcall, mfgc0, mtgc0,
+	tlbinv, tlbinvf, tlbgr, tlbgwi, tlbginv, tlbginvf, tlbgwr, tlbgp, tlti
+	IVIRT instructions.
+	Extend mtm0, mtm1, mtm2, mtp0, mtp1, mtp2 instructions to take another
+	operand for IOCT3.
+
+2014-10-29  Nick Clifton  <nickc@redhat.com>
+
+	* po/de.po: Updated German translation.
+
+2014-10-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* nios2-opc.c (nios2_builtin_regs): Add regtype field initializers.
+	(nios2_builtin_opcodes): Rename to nios2_r1_opcodes.  Use new
+	MATCH_R1_<insn> and MASK_R1_<insn> macros in initializers.  Add
+	size and format initializers.  Merge 'b' arguments into 'j'.
+	(NIOS2_NUM_OPCODES): Adjust definition.
+	(bfd_nios2_num_builtin_opcodes): Rename to nios2_num_r1_opcodes.
+	(nios2_opcodes): Adjust.
+	(bfd_nios2_num_opcodes): Rename to nios2_num_opcodes.
+	* nios2-dis.c (INSNLEN): Update comment.
+	(nios2_hash_init, nios2_hash): Delete.
+	(OPCODE_HASH_SIZE): New.
+	(nios2_r1_extract_opcode): New.
+	(nios2_disassembler_state): New.
+	(nios2_r1_disassembler_state): New.
+	(nios2_init_opcode_hash): Add state parameter.  Adjust to use it.
+	(nios2_find_opcode_hash): Use state object.
+	(bad_opcode): New.
+	(nios2_print_insn_arg): Add op parameter.  Use it to access
+	format.  Remove 'b' case.
+	(nios2_disassemble): Remove special case for nop.  Remove
+	hard-coded instruction size.
+
+2014-10-21  Jan Beulich  <jbeulich@suse.com>
+
+	* ppc-opc.c (powerpc_opcodes): Enable msgclr and msgsnd on Power8.
+
+2014-10-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* sparc-opc.c (sparc-opcodes): Fix several misplaced hwcap
+	entries.
+	Annotate several instructions with the HWCAP2_VIS3B hwcap.
+
+2014-10-15  Tristan Gingold  <gingold@adacore.com>
+
+	* configure: Regenerate.
+
+2014-10-09  Jose E. Marchesi  &lt;jose.marchesi@oracle.com&gt;
+
+	* sparc-opc.c (sparc-opcodes): Remove instructions `chkpt',
+	`commit', `random', `wr r,r,%cps', `wr r,i,%cps' and `rd %cps,r'.
+	Annotate table with HWCAP2 bits.
+	Add instructions xmontmul, xmontsqr, xmpmul.
+	(sparc-opcodes): Add the `mwait',  `wr r,r,%mwait', `wr
+	r,i,%mwait' and `rd %mwait,r' instructions.
+	Add rd/wr instructions for accessing the %mcdper ancillary state
+	register.
+	(sparc-opcodes): Add sparc5/vis4.0 instructions:
+	subxc, subxccc, fpadd8, fpadds8, fpaddus8, fpaddus16, fpcmple8,
+	fpcmpgt8, fpcmpule16, fpcmpugt16, fpcmpule32, fpcmpugt32, fpmax8,
+	fpmax16, fpmax32, fpmaxu8, fpmaxu16, fpmaxu32, fpmin8, fpmin16,
+	fpmin32, fpminu8, fpminu16, fpminu32, fpsub8, fpsubs8, fpsubus8,
+	fpsubus16, and faligndatai.
+	* sparc-dis.c (v9a_asr_reg_names): Add the %mwait (%asr28)
+	ancillary state register to the table.
+	(print_insn_sparc): Handle the %mcdper ancillary state register.
+	(print_insn_sparc): Handle new operand type '}'.
+
+2014-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-dis.c (MOD_0F20): Removed.
+	(MOD_0F21): Likewise.
+	(MOD_0F22): Likewise.
+	(MOD_0F23): Likewise.
+	(dis386_twobyte): Replace MOD_0F20, MOD_0F21, MOD_0F22 and
+	MOD_0F23 with "movZ".
+	(mod_table): Remove MOD_0F20, MOD_0F21, MOD_0F22 and MOD_0F23.
+	(OP_R): Check mod/rm byte and call OP_E_register.
+
+2014-09-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
+
+	* nds32-asm.c (nds32_opcodes, operand_fields, keyword_im5_i,
+	keyword_im5_m, keyword_accumulator, keyword_aridx, keyword_aridx2,
+	keyword_aridxi): Add audio ISA extension.
+	(keyword_gpr, keyword_usr, keyword_sr, keyword_cp, keyword_cpr,
+	keyword_fsr, keyword_fdr, keyword_abdim, keyword_abm, keyword_dpref_st,
+	keyword_cctl_lv, keyword_standby_st, keyword_msync_st): Adjust scrope
+	for nds32-dis.c using.
+	(build_opcode_syntax): Remove dead code.
+	(parse_re, parse_a30b20, parse_rt21, parse_rte_start, parse_rte_end,
+	parse_rte69_start, parse_rte69_end, parse_im5_ip, parse_im5_mr,
+	parse_im6_ip, parse_im6_iq, parse_im6_mr, parse_im6_ms): Add audio ISA
+	operand parser.
+	* nds32-asm.h: Declare.
+	* nds32-dis.c: Use array nds32_opcodes to disassemble instead of
+	decoding by switch.
+
+2014-09-15  Andrew Bennett  <andrew.bennett@imgtec.com>
+	    Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* mips-dis.c (mips_arch_choices): Add entries for mips32r6 and
+	mips64r6.
+	(parse_mips_dis_option): Allow MSA and virtualization support for
+	mips64r6.
+	(mips_print_arg_state): Add fields dest_regno and seen_dest.
+	(mips_seen_register): New function.
+	(print_insn_arg): Refactored code to use mips_seen_register
+	function.  Add support for OP_SAME_RS_RT, OP_CHECK_PREV and
+	OP_NON_ZERO_REG.  Changed OP_REPEAT_DEST_REG case to print out
+	the register rather than aborting.
+	(print_insn_args): Add length argument.  Add code to correctly
+	calculate the instruction address for pc relative instructions.
+	(validate_insn_args): New static function.
+	(print_insn_mips): Prevent jalx disassembling for r6.  Use
+	validate_insn_args.
+	(print_insn_micromips): Use validate_insn_args.
+	all the arguments are valid.
+	* mips-formats.h (PREV_CHECK): New define.
+	* mips-opc.c (decode_mips_operand): Add support for -a, -b, -d, -s,
+	-t, -u, -v, -w, -x, -y, -A, -B, +I, +O, +R, +:, +\, +", +;
+	(RD_pc): New define.
+	(FS): New define.
+	(I37): New define.
+	(I69): New define.
+	(mips_builtin_opcodes): Add MIPS R6 instructions.  Exclude recoded
+	MIPS R6 instructions from MIPS R2 instructions.
+
+2014-09-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-dis.c (dis386): Replace "P" with "%LP" for iret and sysret.
+	(putop): Handle "%LP".
+
+2014-09-03  Jiong Wang  <jiong.wang@arm.com>
+
+	* aarch64-tbl.h (aarch64_opcode_table): Update encoding for mrs/msr.
+	* aarch64-dis-2.c: Update auto-generated file.
+
+2014-09-03  Jiong Wang  <jiong.wang@arm.com>
+
+	* aarch64-tbl.h (QL_R4NIL): New qualifiers.
+	(aarch64_feature_lse): New feature added.
+	(LSE): New Added.
+	(aarch64_opcode_table): New LSE instructions added.  Improve
+	descriptions for ldarb/ldarh/ldar.
+	(aarch64_opcode_table): Describe PAIRREG.
+	* aarch64-opc.h (aarch64_field_kind): Add FLD_lse_sz.
+	* aarch64-opc.c (fields): Add entry for F_LSE_SZ.
+	(aarch64_print_operand): Recognize PAIRREG.
+	(operand_general_constraint_met_p): Check reg pair constraints for CASP
+	instructions.
+	* aarch64-dis.c (aarch64_ext_regno_pair): New extractor for paired reg.
+	(do_special_decoding): Recognize F_LSE_SZ.
+	* aarch64-asm.c (do_special_encoding): Recognize F_LSE_SZ.
+
+2014-08-26  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* micromips-opc.c (decode_micromips_operand): Rename `B' to `+J'.
+	(micromips_opcodes): Use "+J" in place of "B" for "hypcall",
+	"sdbbp", "syscall" and "wait".
+
+2014-08-21  Nathan Sidwell  <nathan@codesourcery.com>
+	    Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* arm-dis.c (print_arm_address): Negate the GPR-relative offset
+	returned if the U bit is set.
+
+2014-08-21  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* micromips-opc.c (micromips_opcodes): Remove #ifdef-ed out
+	48-bit "li" encoding.
+
+2014-08-19  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+	* s390-dis.c (s390_insn_length, s390_insn_matches_opcode)
+	(s390_print_insn_with_opcode, opcode_mask_more_specific): New
+	static functions, code was moved from...
+	(print_insn_s390): ...here.
+	(s390_extract_operand): Adjust comment.  Change type of first
+	parameter from 'unsigned char *' to 'const bfd_byte *'.
+	(union operand_value): New.
+	(s390_extract_operand): Change return type to union operand_value.
+	Also avoid integer overflow in sign-extension.
+	(s390_print_insn_with_opcode): Adjust to changed return value from
+	s390_extract_operand().  Change "%i" printf format to "%u" for
+	unsigned values.
+	(init_disasm): Simplify initialization of opc_index[].  This also
+	fixes an access after the last element of s390_opcodes[].
+	(print_insn_s390): Simplify the opcode search loop.
+	Check architecture mask against all searched opcodes, not just the
+	first matching one.
+	(s390_print_insn_with_opcode): Drop function pointer dereferences
+	without effect.
+	(print_insn_s390): Likewise.
+	(s390_insn_length): Simplify formula for return value.
+	(s390_print_insn_with_opcode): Avoid special handling for the
+	separator before the first operand.  Use new local variable
+	'flags' in place of 'operand->flags'.
+
+2014-08-14  Mike Frysinger  <vapier@gentoo.org>
+
+	* bfin-dis.c (struct private): Change int's to bfd_boolean's.
+	(decode_LOGI2op_0, decode_COMPI2opD_0, decode_COMPI2opP_0,
+	decode_dagMODik_0, decode_LDIMMhalf_0, decode_linkage_0):
+	Change assignment of 1 to priv->comment to TRUE.
+	(print_insn_bfin): Change legal to a bfd_boolean.  Change
+	assignment of 0/1 with priv comment and parallel and legal
+	to FALSE/TRUE.
+
+2014-08-14  Mike Frysinger  <vapier@gentoo.org>
+
+	* bfin-dis.c (OUT): Define.
+	(decode_CC2stat_0): Declare new op_names array.
+	Replace multiple if statements with a single one.
+
+2014-08-14  Mike Frysinger  <vapier@gentoo.org>
+
+	* bfin-dis.c (struct private): Add iw0.
+	(_print_insn_bfin): Assign iw0 to priv.iw0.
+	(print_insn_bfin): Drop ifetch and use priv.iw0.
+
+2014-08-13  Mike Frysinger  <vapier@gentoo.org>
+
+	* bfin-dis.c (comment, parallel): Move from global scope ...
+	(struct private): ... to this new struct.
+	(decode_ProgCtrl_0, decode_CaCTRL_0, decode_PushPopReg_0,
+	decode_PushPopMultiple_0, decode_ccMV_0, decode_CCflag_0,
+	decode_CC2dreg_0, decode_CC2stat_0, decode_BRCC_0, decode_UJUMP_0,
+	decode_LOGI2op_0, decode_COMPI2opD_0, decode_COMPI2opP_0,
+	decode_dagMODik_0, decode_LoopSetup_0, decode_LDIMMhalf_0,
+	decode_CALLa_0, decode_linkage_0, decode_pseudoDEBUG_0,
+	decode_pseudoOChar_0, decode_pseudodbg_assert_0, _print_insn_bfin,
+	print_insn_bfin): Declare private struct.  Use priv's comment and
+	parallel members.
+
+2014-08-13  Mike Frysinger  <vapier@gentoo.org>
+
+	* bfin-dis.c (ifetch): Do not align pc to 2 bytes.
+	(_print_insn_bfin): Add check for unaligned pc.
+
+2014-08-13  Mike Frysinger  <vapier@gentoo.org>
+
+	* bfin-dis.c (ifetch): New function.
+	(_print_insn_bfin, print_insn_bfin): Call new ifetch and return
+	-1 when it errors.
+
+2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* micromips-opc.c (COD): Rename throughout to...
+	(CM): New define, update to use INSN_COPROC_MOVE.
+	(LCD): Rename throughout to...
+	(LC): New define, update to use INSN_LOAD_COPROC.
+	* mips-opc.c: Likewise.
+
+2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* micromips-opc.c (COD, LCD) New macros.
+	(cfc1, ctc1): Remove FP_S attribute.
+	(dmfc1, mfc1, mfhc1): Add LCD attribute.
+	(dmtc1, mtc1, mthc1): Add COD attribute.
+	* mips-opc.c (cfc1, cftc1, ctc, cttc1): Remove FP_S attribute.
+
+2014-07-22  Sergey Guriev  <sergey.s.guriev@intel.com>
+	    Alexander Ivchenko  <alexander.ivchenko@intel.com>
+	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+	    Sergey Lega  <sergey.s.lega@intel.com>
+	    Anna Tikhonova  <anna.tikhonova@intel.com>
+	    Ilya Tocar  <ilya.tocar@intel.com>
+	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
+	    Ilya Verbin  <ilya.verbin@intel.com>
+	    Kirill Yukhin  <kirill.yukhin@intel.com>
+	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+	* i386-dis-evex.h: Updated.
+	* i386-dis.c (PREFIX enum): Add PREFIX_EVEX_0F54, PREFIX_EVEX_0F55,
+	PREFIX_EVEX_0F56, PREFIX_EVEX_0F57, PREFIX_EVEX_0F3A16,
+	PREFIX_EVEX_0F3A22, PREFIX_EVEX_0F3A50, PREFIX_EVEX_0F3A51,
+	PREFIX_EVEX_0F3A56, PREFIX_EVEX_0F3A57, PREFIX_EVEX_0F3A66,
+	PREFIX_EVEX_0F3A67.
+	(VEX_LEN enum): Add VEX_LEN_0F92_P_2, VEX_LEN_0F93_P_2,
+	VEX_W_0F92_P_2_LEN_0, VEX_W_0F93_P_2_LEN_0.
+	(VEX_W enum): Add EVEX_W_0F54_P_0, EVEX_W_0F54_P_2, EVEX_W_0F55_P_0,
+	EVEX_W_0F55_P_2, EVEX_W_0F56_P_0, EVEX_W_0F56_P_2, EVEX_W_0F57_P_0,
+	EVEX_W_0F57_P_2, EVEX_W_0F78_P_2, EVEX_W_0F79_P_2, EVEX_W_0F7A_P_2,
+	EVEX_W_0F7B_P_2, EVEX_W_0F3838_P_1, EVEX_W_0F3839_P_1,
+	EVEX_W_0F3A16_P_2, EVEX_W_0F3A22_P_2, EVEX_W_0F3A50_P_2,
+	EVEX_W_0F3A51_P_2, EVEX_W_0F3A56_P_2, EVEX_W_0F3A57_P_2,
+	EVEX_W_0F3A66_P_2, EVEX_W_0F3A67_P_2.
+	(prefix_table): Add entries for new instructions.
+	(vex_len_table): Ditto.
+	(vex_w_table): Ditto.
+	(OP_E_memory): Update xmmq_mode handling.
+	* i386-gen.c (cpu_flag_init): Add CPU_AVX512DQ_FLAGS.
+	(cpu_flags): Add CpuAVX512DQ.
+	* i386-init.h: Regenerared.
+	* i386-opc.h (CpuAVX512DQ): New.
+	(i386_cpu_flags): Add cpuavx512dq.
+	* i386-opc.tbl: Add AVX512DQ instructions.
+	* i386-tbl.h: Regenerate.
+
+2014-07-22  Sergey Guriev  <sergey.s.guriev@intel.com>
+	    Alexander Ivchenko  <alexander.ivchenko@intel.com>
+	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+	    Sergey Lega  <sergey.s.lega@intel.com>
+	    Anna Tikhonova  <anna.tikhonova@intel.com>
+	    Ilya Tocar  <ilya.tocar@intel.com>
+	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
+	    Ilya Verbin  <ilya.verbin@intel.com>
+	    Kirill Yukhin  <kirill.yukhin@intel.com>
+	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+	* i386-dis-evex.h: Add new instructions (prefixes bellow).
+	* i386-dis.c (fetch_data): Add EdqwS, Edb, Edw, MaskBDE.
+	(enum): Add dqw_swap_mode, db_mode, dw_mode, mask_bd_mode, REG_EVEX_0F71.
+	(PREFIX enum): Add PREFIX_VEX_0F4A, PREFIX_VEX_0F99, PREFIX_VEX_0F3A31,
+	PREFIX_VEX_0F3A33, PREFIX_EVEX_0F60, PREFIX_EVEX_0F61, PREFIX_EVEX_0F63,
+	PREFIX_EVEX_0F64, PREFIX_EVEX_0F65, PREFIX_EVEX_0F67, PREFIX_EVEX_0F68,
+	PREFIX_EVEX_0F69, PREFIX_EVEX_0F6B, PREFIX_EVEX_0F71_REG_2, PREFIX_EVEX_0F71_REG_4,
+	PREFIX_EVEX_0F71_REG_6, PREFIX_EVEX_0F73_REG_3, PREFIX_EVEX_0F73_REG_7,
+	PREFIX_EVEX_0F74, PREFIX_EVEX_0F75, PREFIX_EVEX_0FC4, PREFIX_EVEX_0FC5,
+	PREFIX_EVEX_0FD1, PREFIX_EVEX_0FD5, PREFIX_EVEX_0FD8, PREFIX_EVEX_0FD9,
+	PREFIX_EVEX_0FDA, PREFIX_EVEX_0FDC, PREFIX_EVEX_0FDD, PREFIX_EVEX_0FDE,
+	PREFIX_EVEX_0FE0, PREFIX_EVEX_0FE1, PREFIX_EVEX_0FE3, PREFIX_EVEX_0FE4,
+	PREFIX_EVEX_0FE5, PREFIX_EVEX_0FE8, PREFIX_EVEX_0FE9, PREFIX_EVEX_0FEA,
+	PREFIX_EVEX_0FEC, PREFIX_EVEX_0FED, PREFIX_EVEX_0FEE, PREFIX_EVEX_0FF1,
+	PREFIX_EVEX_0FF5, PREFIX_EVEX_0FF6, PREFIX_EVEX_0FF8, PREFIX_EVEX_0FF9,
+	PREFIX_EVEX_0FFC, PREFIX_EVEX_0FFD, PREFIX_EVEX_0F3800, PREFIX_EVEX_0F3804,
+	PREFIX_EVEX_0F380B, PREFIX_EVEX_0F3810, PREFIX_EVEX_0F381C, PREFIX_EVEX_0F381D,
+	PREFIX_EVEX_0F3820, PREFIX_EVEX_0F3826, PREFIX_EVEX_0F382B, PREFIX_EVEX_0F3830,
+	PREFIX_EVEX_0F3838, PREFIX_EVEX_0F383C, PREFIX_EVEX_0F383E, PREFIX_EVEX_0F3866,
+	PREFIX_EVEX_0F3875, PREFIX_EVEX_0F3878, PREFIX_EVEX_0F3879, PREFIX_EVEX_0F387A,
+	PREFIX_EVEX_0F387B, PREFIX_EVEX_0F387D, PREFIX_EVEX_0F388D, PREFIX_EVEX_0F3A0F,
+	PREFIX_EVEX_0F3A14, PREFIX_EVEX_0F3A15, PREFIX_EVEX_0F3A20, PREFIX_EVEX_0F3A3E,
+	PREFIX_EVEX_0F3A3F, PREFIX_EVEX_0F3A42.
+	(VEX_LEN enum): Add VEX_LEN_0F41_P_2, VEX_LEN_0F42_P_2, VEX_LEN_0F44_P_2,
+	VEX_LEN_0F45_P_2, VEX_LEN_0F46_P_2, VEX_LEN_0F47_P_2, VEX_LEN_0F4A_P_0,
+	VEX_LEN_0F4A_P_2, VEX_LEN_0F4B_P_0, VEX_LEN_0F90_P_2, VEX_LEN_0F91_P_2,
+	VEX_LEN_0F92_P_3, VEX_LEN_0F93_P_3, VEX_LEN_0F98_P_2, VEX_LEN_0F99_P_0,
+	VEX_LEN_0F99_P_2, VEX_LEN_0F3A31_P_2, VEX_LEN_0F3A33_P_2, VEX_W_0F41_P_2_LEN_1,
+	VEX_W_0F42_P_2_LEN_1, VEX_W_0F44_P_2_LEN_0, VEX_W_0F45_P_2_LEN_1,
+	VEX_W_0F46_P_2_LEN_1, VEX_W_0F47_P_2_LEN_1, VEX_W_0F4A_P_0_LEN_1,
+	VEX_W_0F4A_P_2_LEN_1, VEX_W_0F4B_P_0_LEN_1, VEX_W_0F90_P_2_LEN_0,
+	VEX_W_0F91_P_2_LEN_0, VEX_W_0F92_P_3_LEN_0, VEX_W_0F93_P_3_LEN_0,
+	VEX_W_0F98_P_2_LEN_0, VEX_W_0F99_P_0_LEN_0, VEX_W_0F99_P_2_LEN_0,
+	VEX_W_0F3A31_P_2_LEN_0, VEX_W_0F3A33_P_2_LEN_0.
+	(VEX_W enum): Add EVEX_W_0F6B_P_2, EVEX_W_0F6F_P_3, EVEX_W_0F7F_P_3,
+	EVEX_W_0F3810_P_1, EVEX_W_0F3810_P_2, EVEX_W_0F3811_P_2, EVEX_W_0F3812_P_2,
+	EVEX_W_0F3820_P_1, EVEX_W_0F3826_P_1, EVEX_W_0F3826_P_2, EVEX_W_0F3828_P_1,
+	EVEX_W_0F3829_P_1, EVEX_W_0F382B_P_2, EVEX_W_0F3830_P_1, EVEX_W_0F3866_P_2,
+	EVEX_W_0F3875_P_2, EVEX_W_0F3878_P_2, EVEX_W_0F3879_P_2, EVEX_W_0F387A_P_2,
+	EVEX_W_0F387B_P_2, EVEX_W_0F387D_P_2, EVEX_W_0F388D_P_2, EVEX_W_0F3A3E_P_2,
+	EVEX_W_0F3A3F_P_2, EVEX_W_0F3A42_P_2.
+	(prefix_table): Add entries for new instructions.
+	(vex_table) : Ditto.
+	(vex_len_table): Ditto.
+	(vex_w_table): Ditto.
+	(intel_operand_size): Add db_mode, dw_mode, dqw_swap_mode,
+	mask_bd_mode handling.
+	(OP_E_register): Add dqw_swap_mode, dw_mode, db_mode, mask_bd_mode
+	handling.
+	(OP_E_memory): Add dqw_mode, dw_mode, dqw_swap_mode, dqb_mode, db_mode
+	handling.
+	(OP_G): Add db_mode, dw_mode, dqw_swap_mode, mask_bd_mode handling.
+	(OP_EX): Add dqw_swap_mode handling.
+	(OP_VEX): Add mask_bd_mode handling.
+	(OP_Mask): Add mask_bd_mode handling.
+	* i386-gen.c (cpu_flag_init): Add CPU_AVX512BW_FLAGS.
+	(cpu_flags): Add CpuAVX512BW.
+	* i386-init.h: Regenerated.
+	* i386-opc.h (CpuAVX512BW): New.
+	(i386_cpu_flags): Add cpuavx512bw.
+	* i386-opc.tbl: Add AVX512BW instructions.
+	* i386-tbl.h: Regenerate.
+
+2014-07-22  Sergey Guriev  <sergey.s.guriev@intel.com>
+	    Alexander Ivchenko  <alexander.ivchenko@intel.com>
+	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+	    Sergey Lega  <sergey.s.lega@intel.com>
+	    Anna Tikhonova  <anna.tikhonova@intel.com>
+	    Ilya Tocar  <ilya.tocar@intel.com>
+	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
+	    Ilya Verbin  <ilya.verbin@intel.com>
+	    Kirill Yukhin  <kirill.yukhin@intel.com>
+	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+	* i386-opc.tbl: Add AVX512VL and AVX512CD instructions.
+	* i386-tbl.h: Regenerate.
+
+2014-07-22  Sergey Guriev  <sergey.s.guriev@intel.com>
+	    Alexander Ivchenko  <alexander.ivchenko@intel.com>
+	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+	    Sergey Lega  <sergey.s.lega@intel.com>
+	    Anna Tikhonova  <anna.tikhonova@intel.com>
+	    Ilya Tocar  <ilya.tocar@intel.com>
+	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
+	    Ilya Verbin  <ilya.verbin@intel.com>
+	    Kirill Yukhin  <kirill.yukhin@intel.com>
+	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+	* i386-dis.c (intel_operand_size): Support 128/256 length in
+	vex_vsib_q_w_dq_mode.
+	(OP_E_memory): Add ymmq_mode handling, handle new broadcast.
+	* i386-gen.c (cpu_flag_init): Add CPU_AVX512VL_FLAGS.
+	(cpu_flags): Add CpuAVX512VL.
+	* i386-init.h: Regenerated.
+	* i386-opc.h (CpuAVX512VL): New.
+	(i386_cpu_flags): Add cpuavx512vl.
+	(BROADCAST_1TO4, BROADCAST_1TO2): Define.
+	* i386-opc.tbl: Add AVX512VL instructions.
+	* i386-tbl.h: Regenerate.
+
+2014-07-20  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
+
+	* or1k-desc.c, * or1k-desc.h, * or1k-opc.c, * or1k-opc.h,
+	* or1k-opinst.c: Regenerate.
+
+2014-07-08  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-dis-evex.h (EVEX_W_0F10_P_1_M_1): Fix vmovss.
+	(EVEX_W_0F10_P_3_M_1): Fix vmovsd.
+
+2014-07-04  Alan Modra  <amodra@gmail.com>
+
+	* configure.ac: Rename from configure.in.
+	* Makefile.in: Regenerate.
+	* config.in: Regenerate.
+
+2014-07-04  Alan Modra  <amodra@gmail.com>
+
+	* configure.in: Include bfd/version.m4.
+	(AC_INIT, AM_INIT_AUTOMAKE): Use modern form.
+	(BFD_VERSION): Delete.
+	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove bfd/configure.in.
+	* configure: Regenerate.
+	* Makefile.in: Regenerate.
+
+2014-07-01  Barney Stratford   <barney_stratford@fastmail.fm>
+            Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+            Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+            Soundararajan  <Sounderarajan.D@atmel.com>
+
+	* avr-dis.c (avr_operand): Handle constraint j for 16 bit lds/sts.
+	(print_insn_avr): Do not select opcode if insn ISA is avrtiny and
+	machine is not avrtiny.
+
+2014-06-26  Philippe De Muyter <phdm@macqel.be>
+
+	* or1k-desc.h (spr_field_masks): Add U suffix to the end of long
+	constants.
+
+2014-06-12  Alan Modra  <amodra@gmail.com>
+
+	* or1k-asm.c, * or1k-desc.c, * or1k-desc.h, * or1k-dis.c,
+	* or1k-ibld.c, * or1k-opc.c, * or1k-opc.h, * or1k-opinst.c: Regenerate.
+
+2014-06-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-dis.c (fwait_prefix): New.
+	(ckprefix): Set fwait_prefix.
+	(print_insn): Properly print prefixes before fwait.
+
+2014-06-07  Alan Modra  <amodra@gmail.com>
+
+	* ppc-opc.c (UISIGNOPT): Define and use with cmpli.
+
+2014-06-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
+	bfd's development.sh.
+	* Makefile.in, configure: Regenerate.
+
+2014-06-03  Nick Clifton  <nickc@redhat.com>
+
+	* msp430-dis.c (msp430_doubleoperand): Use extension_word to
+	decide when extended addressing is being used.
+
+2014-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sparc-opc.c (cas): Disable for LEON.
+	(casl): Likewise.
+
+2014-05-20  Alan Modra  <amodra@gmail.com>
+
+	* m68k-dis.c: Don't include setjmp.h.
+
+2014-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-dis.c (ADDR16_PREFIX): Removed.
+	(ADDR32_PREFIX): Likewise.
+	(DATA16_PREFIX): Likewise.
+	(DATA32_PREFIX): Likewise.
+	(prefix_name): Updated.
+	(print_insn): Simplify data and address size prefixes processing.
+
+2014-05-08  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
+
+	* or1k-desc.c: Regenerated.
+	* or1k-desc.h: Likewise.
+	* or1k-opc.c: Likewise.
+	* or1k-opc.h: Likewise.
+	* or1k-opinst.c: Likewise.
+
+2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+	* mips-opc.c (mips_builtin_opcodes): Add MIPS32r5 eretnc instruction.
+	(I34): New define.
+	(I36): New define.
+	(I66): New define.
+	(I68): New define.
+	* mips-dis.c (mips_arch_choices): Add mips32r3, mips32r5, mips64r3 and
+	mips64r5.
+	(parse_mips_dis_option): Update MSA and virtualization support to
+	allow mips64r3 and mips64r5.
+
+2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+	* mips-opc.c (G3): Remove I4.
+
+2014-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/16893
+	* i386-dis.c (twobyte_has_mandatory_prefix): New variable.
+	(end_codep): Likewise.
+	(mandatory_prefix): Likewise.
+	(active_seg_prefix): Likewise.
+	(ckprefix): Set active_seg_prefix to the active segment register
+	prefix.
+	(seg_prefix): Removed.
+	(get_valid_dis386): Use the last of PREFIX_REPNZ and PREFIX_REPZ
+	for prefix index.  Ignore the index if it is invalid and the
+	mandatory prefix isn't required.
+	(print_insn): Set mandatory_prefix if the PREFIX_XXX prefix is
+	mandatory.  Don't set PREFIX_REPZ/PREFIX_REPNZ/PREFIX_LOCK bits
+	in used_prefixes here.  Don't print unused prefixes.  Check
+	active_seg_prefix for the active segment register prefix.
+	Restore the DFLAG bit in sizeflag if the data size prefix is
+	unused.  Check the unused mandatory PREFIX_XXX prefixes
+	(append_seg): Only print the segment register which gets used.
+	(OP_E_memory): Check active_seg_prefix for the segment register
+	prefix.
+	(OP_OFF): Likewise.
+	(OP_OFF64): Likewise.
+	(OP_DSreg): Set active_seg_prefix to PREFIX_DS if it is unset.
+
+2014-05-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/16886
+	* config.in: Regenerated.
+	* configure: Likewise.
+	* configure.in: Check if sigsetjmp is available.
+	* h8500-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
+	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
+	(print_insn_h8500): Replace setjmp with OPCODES_SIGSETJMP.
+	* i386-dis.c (dis_private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
+	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
+	(print_insn): Replace setjmp with OPCODES_SIGSETJMP.
+	* ns32k-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
+	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
+	(print_insn_ns32k): Replace setjmp with OPCODES_SIGSETJMP.
+	* sysdep.h (OPCODES_SIGJMP_BUF): New macro.
+	(OPCODES_SIGSETJMP): Likewise.
+	(OPCODES_SIGLONGJMP): Likewise.
+	* vax-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
+	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
+	(print_insn_vax): Replace setjmp with OPCODES_SIGSETJMP.
+	* xtensa-dis.c (dis_private): Replace jmp_buf with
+	OPCODES_SIGJMP_BUF.
+	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
+	(print_insn_xtensa): Replace setjmp with OPCODES_SIGSETJMP.
+	* z8k-dis.c(instr_data_s): Replace jmp_buf with OPCODES_SIGJMP_BUF.
+	(fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
+	(print_insn_z8k): Replace setjmp with OPCODES_SIGSETJMP.
+
+2014-05-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/16891
+	* i386-dis.c (print_insn): Handle prefixes before fwait.
+
+2014-04-26  Alan Modra  <amodra@gmail.com>
+
+	* po/POTFILES.in: Regenerate.
+
+2014-04-23  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+	* mips-dis.c (mips_arch_choices): Update mips32r2 and mips64r2
+	to allow the MIPS XPA ASE.
+	(parse_mips_dis_option): Process the -Mxpa option.
+	* mips-opc.c (XPA): New define.
+	(mips_builtin_opcodes): Add MIPS XPA instructions and move the
+	locations of the ctc0 and cfc0 instructions.
+
+2014-04-22  Christian Svensson  <blue@cmd.nu>
+
+	* Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
+	* configure.in: Likewise.
+	* disassemble.c: Likewise.
+	* or1k-asm.c: New file.
+	* or1k-desc.c: New file.
+	* or1k-desc.h: New file.
+	* or1k-dis.c: New file.
+	* or1k-ibld.c: New file.
+	* or1k-opc.c: New file.
+	* or1k-opc.h: New file.
+	* or1k-opinst.c: New file.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* openrisc-asm.c: Delete.
+	* openrisc-desc.c: Delete.
+	* openrisc-desc.h: Delete.
+	* openrisc-dis.c: Delete.
+	* openrisc-ibld.c: Delete.
+	* openrisc-opc.c: Delete.
+	* openrisc-opc.h: Delete.
+	* or32-dis.c: Delete.
+	* or32-opc.c: Delete.
+
+2014-04-04  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-dis.c (rm_table): Add encls, enclu.
+	* i386-gen.c (cpu_flag_init): Add CPU_SE1_FLAGS,
+	(cpu_flags): Add CpuSE1.
+	* i386-opc.h (enum): Add CpuSE1.
+	(i386_cpu_flags): Add cpuse1.
+	* i386-opc.tbl: Add encls, enclu.
+	* i386-init.h: Regenerated.
+	* i386-tbl.h: Likewise.
+
+2014-04-02  Anthony Green  <green@moxielogic.com>
+
+	* moxie-opc.c (moxie_form1_opc_info): Add sign-extension
+	instructions, sex.b and sex.s.
+
+2014-03-26  Jiong Wang  <jiong.wang@arm.com>
+
+	* aarch64-dis.c (aarch64_ext_ldst_elemlist): Check H/S undefined
+	instructions.
+
+2014-03-20  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-opc.tbl: Change memory size for vgatherpf0qps, vgatherpf1qps,
+	vscatterpf0qps, vscatterpf1qps, vgatherqps, vpgatherqd, vpscatterqd,
+	vscatterqps.
+	* i386-tbl.h: Regenerate.
+
+2014-03-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* sparc-dis.c (v9_hpriv_reg_names): Names for %hstick_offset and
+	%hstick_enable added.
+
+2014-03-19  Nick Clifton  <nickc@redhat.com>
+
+	* rx-decode.opc (bwl): Allow for bogus instructions with a size
+	field of 3.
+	(sbwl, ubwl, SCALE): Likewise.
+	* rx-decode.c: Regenerate.
+
+2014-03-12  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.in: Regenerate.
+
+2014-03-05  Alan Modra  <amodra@gmail.com>
+
+	Update copyright years.
+
+2014-03-04  Heiher  <r@hev.cc>
+
+	* mips-dis.c (mips_arch_choices): Usee ISA_MIPS64R2 for Loongson-3A.
+
+2014-03-04  Richard Sandiford  <rdsandiford@googlemail.com>
+
+	* mips-opc.c (mips_builtin_opcodes): Move the udi* instructions
+	so that they come after the Loongson extensions.
+
+2014-03-03  Alan Modra  <amodra@gmail.com>
+
+	* i386-gen.c (process_copyright): Emit copyright notice on one line.
+
+2014-02-28  Alan Modra  <amodra@gmail.com>
+
+	* msp430-decode.c: Regenerate.
+
+2014-02-27  Jiong Wang  <jiong.wang@arm.com>
+
+	* aarch64-tbl.h (aarch64_opcode_table): Replace IMM0 with
+	FPIMM0 for fcmeq, fcmgt, fcmge, fcmlt and fcmle.
+
+2014-02-27  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+	* aarch64-opc.c (print_register_offset_address): Call
+	get_int_reg_name to prepare the register name.
+
+2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-opc.tbl: Remove wrong variant of vcvtps2ph
+	* i386-tbl.h: Regenerate.
+
+2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-gen.c (cpu_flag_init): Add CPU_PREFETCHWT1_FLAGS/
+	(cpu_flags): Add CpuPREFETCHWT1.
+	* i386-init.h: Regenerate.
+	* i386-opc.h (CpuPREFETCHWT1): New.
+	(i386_cpu_flags): Add cpuprefetchwt1.
+	* i386-opc.tbl: Cahnge CPU of prefetchwt1 from CpuAVX512PF to CpuPREFETCHWT1.
+	* i386-tbl.h: Regenerate.
+
+2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-opc.tbl: Change CPU of vptestnmq, vptestnmd from CpuAVX512CD,
+	to CpuAVX512F.
+	* i386-tbl.h: Regenerate.
+
+2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-gen.c (output_cpu_flags): Don't output trailing space.
+	(output_opcode_modifier): Likewise.
+	(output_operand_type): Likewise.
+	* i386-init.h: Regenerated.
+	* i386-tbl.h: Likewise.
+
+2014-02-12  Ilya Tocar  <ilya.tocar@intel.com>
+
+	* i386-dis.c (MOD enum): Add MOD_0FC7_REG_3, MOD_0FC7_REG_4,
+	MOD_0FC7_REG_5.
+	(PREFIX enum): Add PREFIX_0FAE_REG_7.
+	(reg_table): Add MOD_0FC7_REG_3, MOD_0FC7_REG_4 MOD_0FC7_REG_5.
+	(prefix_table): Add clflusopt.
+	(mod_table): Add xrstors, xsavec, xsaves.
+	* i386-gen.c (cpu_flag_init): Add CPU_CLFLUSHOPT_FLAGS,
+	CPU_XSAVES_FLAGS, CPU_XSAVEC_FLAGS.
+	(cpu_flags): Add CpuClflushOpt, CpuXSAVES, CpuXSAVEC.
+	* i386-init.h: Regenerate.
+	* i386-opc.tbl: Add clflushopt, xrstors, xrstors64, xsaves,
+	xsaves64, xsavec, xsavec64.
+	* i386-tbl.h: Regenerate.
+
+2014-02-10  Alan Modra  <amodra@gmail.com>
+
+	* po/POTFILES.in: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2014-01-30  Michael Zolotukhin  <michael.v.zolotukhin@gmail.com>
+	    Jan Beulich  <jbeulich@suse.com>
+
+	PR binutils/16490
+	* i386-dis.c (OP_E_memory): Fix shift computation for
+	vex_vsib_q_w_dq_mode.
+
+2014-01-09  Bradley Nelson  <bradnelson@google.com>
+	    Roland McGrath  <mcgrathr@google.com>
+
+	* i386-dis.c (print_insn): Do not touch all_prefixes[-1] when
+	last_rex_prefix is -1.
+
+2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-gen.c (process_copyright): Update copyright year to 2014.
+
+2014-01-03  Maciej W. Rozycki  <macro@codesourcery.com>
+
+	* nds32-asm.c (parse_operand): Fix out-of-range integer constant.
+
+For older changes see ChangeLog-2013
+
+Copyright (C) 2014 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/config.in ./opcodes/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/config.in	2015-01-20 02:05:40.000000000 +0000
@@ -1,4 +1,4 @@
-/* config.in.  Generated from configure.in by autoheader.  */
+/* config.in.  Generated from configure.ac by autoheader.  */
 
 /* Check that config.h is #included before system headers
    (this works only for glibc, but that should be enough).  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/configure ./opcodes/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/configure	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.64 for opcodes 2.25.51.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -554,12 +554,12 @@ MFLAGS=
 MAKEFLAGS=
 
 # Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-PACKAGE_URL=
+PACKAGE_NAME='opcodes'
+PACKAGE_TARNAME='opcodes'
+PACKAGE_VERSION='2.25.51'
+PACKAGE_STRING='opcodes 2.25.51'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
 
 ac_unique_file="z8k-dis.c"
 # Factoring default headers for most tests.
@@ -818,7 +818,7 @@ sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
 infodir='${datarootdir}/info'
 htmldir='${docdir}'
 dvidir='${docdir}'
@@ -1319,7 +1319,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
+\`configure' configures opcodes 2.25.51 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1367,7 +1367,7 @@ Fine tuning of the installation director
   --infodir=DIR           info documentation [DATAROOTDIR/info]
   --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
   --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/opcodes]
   --htmldir=DIR           html documentation [DOCDIR]
   --dvidir=DIR            dvi documentation [DOCDIR]
   --pdfdir=DIR            pdf documentation [DOCDIR]
@@ -1389,7 +1389,9 @@ _ACEOF
 fi
 
 if test -n "$ac_init_help"; then
-
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of opcodes 2.25.51:";;
+   esac
   cat <<\_ACEOF
 
 Optional Features:
@@ -1495,7 +1497,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-configure
+opcodes configure 2.25.51
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1905,7 +1907,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by $as_me, which was
+It was created by opcodes $as_me 2.25.51, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -3213,11 +3215,6 @@ if test "$ac_res" != no; then :
 fi
 
 
-# We currently only use the version number for the name of any shared
-# library.  For user convenience, we always use the same version
-# number that BFD is using.
-BFD_VERSION=`${srcdir}/../bfd/configure --version | sed -n -e '1s,.* ,,p'`
-
 am__api_version='1.11'
 
 # Find a good install program.  We prefer a C program (faster),
@@ -3717,8 +3714,8 @@ fi
 
 
 # Define the identity of the package.
- PACKAGE=opcodes
- VERSION=${BFD_VERSION}
+ PACKAGE='opcodes'
+ VERSION='2.25.51'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -7665,7 +7662,7 @@ fi
       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
 	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
 	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[012]*)
+	10.[012][,.]*)
 	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
 	10.*)
 	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
@@ -8939,7 +8936,7 @@ _LT_EOF
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
 	 && test "$tmp_diet" = no
       then
-	tmp_addflag=
+	tmp_addflag=' $pic_flag'
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
@@ -11149,7 +11146,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11152 "configure"
+#line 11149 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11255,7 +11252,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11258 "configure"
+#line 11255 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12629,6 +12626,7 @@ if test x${all_targets} = xfalse ; then
 	bfd_v850ea_arch)	ta="$ta v850-opc.lo v850-dis.lo" ;;
 	bfd_v850_rh850_arch)	ta="$ta v850-opc.lo v850-dis.lo" ;;
 	bfd_vax_arch)		ta="$ta vax-dis.lo" ;;
+	bfd_visium_arch)	ta="$ta visium-dis.lo visium-opc.lo" ;;
 	bfd_w65_arch)		ta="$ta w65-dis.lo" ;;
 	bfd_we32k_arch)		;;
 	bfd_xc16x_arch)		ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
@@ -13212,7 +13210,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by $as_me, which was
+This file was extended by opcodes $as_me 2.25.51, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13276,7 +13274,7 @@ Report bugs to the package provider."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-config.status
+opcodes config.status 2.25.51
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/configure.ac ./opcodes/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/configure.ac	1970-01-01 00:00:00.000000000 +0000
+++ ./opcodes/configure.ac	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,396 @@
+dnl Process this file with autoconf to produce a configure script.
+dnl
+dnl   Copyright (C) 2012-2015 Free Software Foundation, Inc.
+dnl
+dnl This file is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl 
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl GNU General Public License for more details.
+dnl 
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; see the file COPYING3.  If not see
+dnl <http://www.gnu.org/licenses/>.
+dnl
+
+AC_PREREQ(2.59)
+m4_include([../bfd/version.m4])
+AC_INIT([opcodes], BFD_VERSION)
+AC_CONFIG_SRCDIR([z8k-dis.c])
+
+AC_CANONICAL_TARGET
+AC_ISC_POSIX
+
+AM_INIT_AUTOMAKE
+
+AC_PROG_CC
+AC_GNU_SOURCE
+AC_USE_SYSTEM_EXTENSIONS
+
+dnl These must be called before LT_INIT, because it may want
+dnl to call AC_CHECK_PROG.
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+dnl Default to a non shared library.  This may be overridden by the
+dnl configure option --enable-shared.
+AC_DISABLE_SHARED
+
+LT_INIT
+
+AC_ARG_ENABLE(targets,
+[  --enable-targets        alternative target configurations],
+[case "${enableval}" in
+  yes | "") AC_MSG_ERROR([enable-targets option must specify target names or 'all'])
+            ;;
+  no)       enable_targets= ;;
+  *)        enable_targets=$enableval ;;
+esac])dnl
+
+AM_BINUTILS_WARNINGS
+ACX_PROG_CC_WARNING_OPTS([-Wno-missing-field-initializers],
+			 [NO_WMISSING_FIELD_INITIALIZERS])
+
+AC_CONFIG_HEADERS(config.h:config.in)
+
+# PR 14072
+AH_VERBATIM([00_CONFIG_H_CHECK],
+[/* Check that config.h is #included before system headers
+   (this works only for glibc, but that should be enough).  */
+#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
+#  error config.h must be #included before system headers
+#endif
+#define __CONFIG_H__ 1])
+
+if test -z "$target" ; then
+    AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
+fi
+
+AM_MAINTAINER_MODE
+AM_INSTALL_LIBBFD
+AC_EXEEXT
+
+# host-specific stuff:
+
+ALL_LINGUAS="fr sv tr es da de id pt_BR ro nl fi vi ga zh_CN it uk"
+ZW_GNU_GETTEXT_SISTER_DIR
+AM_PO_SUBDIRS
+
+. ${srcdir}/../bfd/configure.host
+
+BFD_CC_FOR_BUILD
+
+AC_SUBST(HDEFINES)
+AC_PROG_INSTALL
+
+AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h)
+ACX_HEADER_STRING
+
+AC_CHECK_DECLS([basename, stpcpy])
+
+# Check if sigsetjmp is available.  Using AC_CHECK_FUNCS won't do
+# since sigsetjmp might only be defined as a macro.
+AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
+[AC_TRY_COMPILE([
+#include <setjmp.h>
+], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
+bfd_cv_func_sigsetjmp=yes, bfd_cv_func_sigsetjmp=no)])
+if test $bfd_cv_func_sigsetjmp = yes; then
+  AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
+fi
+
+cgen_maint=no
+cgendir='$(srcdir)/../cgen'
+
+AC_ARG_ENABLE(cgen-maint,
+[  --enable-cgen-maint[=dir]    build cgen generated files],
+[case "${enableval}" in
+  yes)	cgen_maint=yes ;;
+  no)	cgen_maint=no ;;
+  *)
+	# argument is cgen install directory (not implemented yet).
+	# Having a `share' directory might be more appropriate for the .scm,
+	# .cpu, etc. files.
+	cgen_maint=yes
+	cgendir=${cgen_maint}/lib/cgen
+	;;
+esac])dnl
+AM_CONDITIONAL(CGEN_MAINT, test x${cgen_maint} = xyes)
+AC_SUBST(cgendir)
+
+using_cgen=no
+
+# Check if linker supports --as-needed and --no-as-needed options
+AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
+	[bfd_cv_ld_as_needed=no
+	if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
+		bfd_cv_ld_as_needed=yes
+	fi
+	])
+
+LT_LIB_M
+
+#Libs for generator progs
+if test "x$cross_compiling" = "xno"; then
+  BUILD_LIBS=../libiberty/libiberty.a
+  BUILD_LIB_DEPS=$BUILD_LIBS
+else
+  # if cross-compiling, assume that the system provides -liberty
+  # and that the version is compatible with new headers.
+  BUILD_LIBS=-liberty
+  BUILD_LIB_DEPS=
+fi
+BUILD_LIBS="$BUILD_LIBS $LIBINTL"
+BUILD_LIB_DEPS="$BUILD_LIB_DEPS $LIBINTL_DEP"
+
+AC_SUBST(BUILD_LIBS)
+AC_SUBST(BUILD_LIB_DEPS)
+
+# Horrible hacks to build DLLs on Windows and a shared library elsewhere.
+SHARED_LDFLAGS=
+SHARED_LIBADD=
+SHARED_DEPENDENCIES=
+if test "$enable_shared" = "yes"; then
+# When building a shared libopcodes, link against the pic version of libiberty
+# so that apps that use libopcodes won't need libiberty just to satisfy any
+# libopcodes references.
+# We can't do that if a pic libiberty is unavailable since including non-pic
+# code would insert text relocations into libopcodes.
+# Note that linking against libbfd as we do here, which is itself linked
+# against libiberty, may not satisfy all the libopcodes libiberty references
+# since libbfd may not pull in the entirety of libiberty.
+changequote(,)dnl
+  x=`sed -n -e 's/^[ 	]*PICFLAG[ 	]*=[ 	]*//p' < ../libiberty/Makefile | sed -n '$p'`
+changequote([,])dnl
+  if test -n "$x"; then
+    SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
+  fi
+
+  case "${host}" in
+    *-*-cygwin*)
+      SHARED_LDFLAGS="-no-undefined"
+      SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
+      ;;
+   *-*-darwin*)
+     SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}"
+     SHARED_DEPENDENCIES="../bfd/libbfd.la"
+     ;;
+    *)
+      case "$host_vendor" in
+        hp)
+          SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl ${SHARED_LIBADD}"
+	  ;;
+	*)
+          SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so ${SHARED_LIBADD}"
+	  ;;
+      esac
+      SHARED_DEPENDENCIES="../bfd/libbfd.la"
+      ;;
+  esac
+
+  if test -n "$SHARED_LIBADD"; then
+    if test -n "$LIBM"; then
+      if test x"$bfd_cv_ld_as_needed" = xyes; then
+	# Link against libm only when needed.  Put -lc, -lm inside -Wl
+	# to stop libtool reordering these options.
+	SHARED_LIBADD="$SHARED_LIBADD -Wl,-lc,--as-needed,`echo $LIBM | sed 's/ /,/g'`,--no-as-needed"
+      else
+	SHARED_LIBADD="$SHARED_LIBADD $LIBM"
+      fi
+    fi
+  fi
+fi
+AC_SUBST(SHARED_LDFLAGS)
+AC_SUBST(SHARED_LIBADD)
+AC_SUBST(SHARED_DEPENDENCIES)
+
+# target-specific stuff:
+
+# Canonicalize the secondary target names.
+if test -n "$enable_targets" ; then
+    for targ in `echo $enable_targets | sed 's/,/ /g'`
+    do
+	result=`$ac_config_sub $targ 2>/dev/null`
+	if test -n "$result" ; then
+	    canon_targets="$canon_targets $result"
+	else
+	    # Allow targets that config.sub doesn't recognize, like "all".
+	    canon_targets="$canon_targets $targ"
+	fi
+    done
+fi
+
+all_targets=false
+selarchs=
+for targ in $target $canon_targets
+do
+    if test "x$targ" = "xall" ; then
+        all_targets=true
+    else
+	. $srcdir/../bfd/config.bfd
+	selarchs="$selarchs $targ_archs"
+    fi
+done	
+
+# Utility var, documents generic cgen support files.
+
+cgen_files="cgen-opc.lo cgen-asm.lo cgen-dis.lo cgen-bitset.lo"
+
+# We don't do any links based on the target system, just makefile config.
+
+if test x${all_targets} = xfalse ; then
+
+    # Target architecture .o files.
+    ta=
+
+    for arch in $selarchs
+    do
+	ad=`echo $arch | sed -e s/bfd_//g -e s/_arch//g`
+	archdefs="$archdefs -DARCH_$ad"
+	case "$arch" in
+	bfd_aarch64_arch)	ta="$ta aarch64-asm.lo aarch64-dis.lo aarch64-opc.lo aarch64-asm-2.lo aarch64-dis-2.lo aarch64-opc-2.lo" ;;
+	bfd_alpha_arch)		ta="$ta alpha-dis.lo alpha-opc.lo" ;;
+	bfd_arc_arch)		ta="$ta arc-dis.lo arc-opc.lo arc-ext.lo" ;;
+	bfd_arm_arch)		ta="$ta arm-dis.lo" ;;
+	bfd_avr_arch)		ta="$ta avr-dis.lo" ;;
+	bfd_bfin_arch)		ta="$ta bfin-dis.lo" ;;
+	bfd_cr16_arch)		ta="$ta cr16-dis.lo cr16-opc.lo" ;;
+	bfd_cris_arch)		ta="$ta cris-dis.lo cris-opc.lo cgen-bitset.lo" ;;
+	bfd_crx_arch)		ta="$ta crx-dis.lo crx-opc.lo" ;;
+	bfd_d10v_arch)		ta="$ta d10v-dis.lo d10v-opc.lo" ;;
+	bfd_d30v_arch)		ta="$ta d30v-dis.lo d30v-opc.lo" ;;
+	bfd_dlx_arch)		ta="$ta dlx-dis.lo" ;;
+	bfd_fr30_arch)		ta="$ta fr30-asm.lo fr30-desc.lo fr30-dis.lo fr30-ibld.lo fr30-opc.lo" using_cgen=yes ;;
+	bfd_frv_arch)		ta="$ta frv-asm.lo frv-desc.lo frv-dis.lo frv-ibld.lo frv-opc.lo" using_cgen=yes ;;
+	bfd_moxie_arch)		ta="$ta moxie-dis.lo moxie-opc.lo" ;;
+	bfd_h8300_arch)		ta="$ta h8300-dis.lo" ;;
+	bfd_h8500_arch)		ta="$ta h8500-dis.lo" ;;
+	bfd_hppa_arch)		ta="$ta hppa-dis.lo" ;;
+	bfd_i370_arch)		ta="$ta i370-dis.lo i370-opc.lo" ;;
+	bfd_i386_arch|bfd_l1om_arch|bfd_k1om_arch)
+				ta="$ta i386-dis.lo i386-opc.lo" ;;
+	bfd_i860_arch)		ta="$ta i860-dis.lo" ;;
+	bfd_i960_arch)		ta="$ta i960-dis.lo" ;;
+	bfd_ia64_arch)		ta="$ta ia64-dis.lo ia64-opc.lo" ;;
+	bfd_ip2k_arch)		ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
+	bfd_epiphany_arch)	ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
+	bfd_iq2000_arch)	ta="$ta iq2000-asm.lo iq2000-desc.lo iq2000-dis.lo iq2000-ibld.lo iq2000-opc.lo" using_cgen=yes ;;
+	bfd_lm32_arch)		ta="$ta lm32-asm.lo lm32-desc.lo lm32-dis.lo lm32-ibld.lo lm32-opc.lo lm32-opinst.lo" using_cgen=yes ;;
+	bfd_m32c_arch)		ta="$ta m32c-asm.lo m32c-desc.lo m32c-dis.lo m32c-ibld.lo m32c-opc.lo" using_cgen=yes ;;
+	bfd_m32r_arch)		ta="$ta m32r-asm.lo m32r-desc.lo m32r-dis.lo m32r-ibld.lo m32r-opc.lo m32r-opinst.lo" using_cgen=yes ;;
+	bfd_m68hc11_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
+	bfd_m68hc12_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
+	bfd_m9s12x_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
+	bfd_m9s12xg_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
+	bfd_m68k_arch)		ta="$ta m68k-dis.lo m68k-opc.lo" ;;
+	bfd_m88k_arch)		ta="$ta m88k-dis.lo" ;;
+	bfd_mcore_arch)		ta="$ta mcore-dis.lo" ;;
+	bfd_mep_arch)		ta="$ta mep-asm.lo mep-desc.lo mep-dis.lo mep-ibld.lo mep-opc.lo" using_cgen=yes ;;
+	bfd_metag_arch)		ta="$ta metag-dis.lo" ;;
+	bfd_microblaze_arch)	ta="$ta microblaze-dis.lo" ;;
+	bfd_mips_arch)		ta="$ta mips-dis.lo mips-opc.lo mips16-opc.lo micromips-opc.lo" ;;
+	bfd_mmix_arch)		ta="$ta mmix-dis.lo mmix-opc.lo" ;;
+	bfd_mn10200_arch)	ta="$ta m10200-dis.lo m10200-opc.lo" ;;
+	bfd_mn10300_arch)	ta="$ta m10300-dis.lo m10300-opc.lo" ;;
+	bfd_mt_arch)		ta="$ta mt-asm.lo mt-desc.lo mt-dis.lo mt-ibld.lo mt-opc.lo" using_cgen=yes ;;
+	bfd_msp430_arch)	ta="$ta msp430-dis.lo msp430-decode.lo" ;;
+	bfd_nds32_arch)		ta="$ta nds32-asm.lo nds32-dis.lo" ;;
+	bfd_nios2_arch)		ta="$ta nios2-dis.lo nios2-opc.lo" ;;
+	bfd_ns32k_arch)		ta="$ta ns32k-dis.lo" ;;
+	bfd_or1k_arch)		ta="$ta or1k-asm.lo or1k-desc.lo or1k-dis.lo or1k-ibld.lo or1k-opc.lo" using_cgen=yes ;;
+	bfd_pdp11_arch)		ta="$ta pdp11-dis.lo pdp11-opc.lo" ;;
+	bfd_pj_arch)		ta="$ta pj-dis.lo pj-opc.lo" ;;
+	bfd_powerpc_arch)	ta="$ta ppc-dis.lo ppc-opc.lo" ;;
+	bfd_powerpc_64_arch)	ta="$ta ppc-dis.lo ppc-opc.lo" ;;
+	bfd_pyramid_arch)	;;
+	bfd_romp_arch)		;;
+	bfd_rs6000_arch)	ta="$ta ppc-dis.lo ppc-opc.lo" ;;
+	bfd_rl78_arch)		ta="$ta rl78-dis.lo rl78-decode.lo";;
+	bfd_rx_arch)		ta="$ta rx-dis.lo rx-decode.lo";;
+	bfd_s390_arch)		ta="$ta s390-dis.lo s390-opc.lo" ;;
+	bfd_score_arch)		ta="$ta score-dis.lo score7-dis.lo" ;;
+	bfd_sh_arch)
+	  # We can't decide what we want just from the CPU family.
+	  # We want SH5 support unless a specific version of sh is
+	  # specified, as in sh3-elf, sh3b-linux-gnu, etc.
+	  # Include it just for ELF targets, since the SH5 bfd:s are ELF only.
+	  for t in $target $canon_targets; do
+	    case $t in
+	      all |  sh5*-* | sh64*-* | sh-*-*elf* | shl*-*-*elf* | \
+	      sh-*-linux* | shl-*-linux*)
+				ta="$ta sh64-dis.lo sh64-opc.lo"
+				archdefs="$archdefs -DINCLUDE_SHMEDIA"
+				break;;
+	    esac;
+	  done
+				ta="$ta sh-dis.lo cgen-bitset.lo" ;;
+	bfd_sparc_arch)		ta="$ta sparc-dis.lo sparc-opc.lo" ;;
+	bfd_spu_arch)		ta="$ta spu-dis.lo spu-opc.lo" ;;
+	bfd_tahoe_arch)		;;
+	bfd_tic30_arch)		ta="$ta tic30-dis.lo" ;;
+	bfd_tic4x_arch)		ta="$ta tic4x-dis.lo" ;;
+	bfd_tic54x_arch)	ta="$ta tic54x-dis.lo tic54x-opc.lo" ;;
+	bfd_tic6x_arch)		ta="$ta tic6x-dis.lo" ;;
+	bfd_tic80_arch)		ta="$ta tic80-dis.lo tic80-opc.lo" ;;
+	bfd_tilegx_arch)	ta="$ta tilegx-dis.lo tilegx-opc.lo" ;;
+	bfd_tilepro_arch)	ta="$ta tilepro-dis.lo tilepro-opc.lo" ;;
+	bfd_v850_arch)		ta="$ta v850-opc.lo v850-dis.lo" ;;
+	bfd_v850e_arch)		ta="$ta v850-opc.lo v850-dis.lo" ;;
+	bfd_v850ea_arch)	ta="$ta v850-opc.lo v850-dis.lo" ;;
+	bfd_v850_rh850_arch)	ta="$ta v850-opc.lo v850-dis.lo" ;;
+	bfd_vax_arch)		ta="$ta vax-dis.lo" ;;
+	bfd_visium_arch)	ta="$ta visium-dis.lo visium-opc.lo" ;;
+	bfd_w65_arch)		ta="$ta w65-dis.lo" ;;
+	bfd_we32k_arch)		;;
+	bfd_xc16x_arch)		ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
+	bfd_xgate_arch)		ta="$ta xgate-dis.lo xgate-opc.lo" ;;
+	bfd_xstormy16_arch)	ta="$ta xstormy16-asm.lo xstormy16-desc.lo xstormy16-dis.lo xstormy16-ibld.lo xstormy16-opc.lo" using_cgen=yes ;;
+	bfd_xtensa_arch)	ta="$ta xtensa-dis.lo" ;;
+	bfd_z80_arch)		ta="$ta z80-dis.lo" ;;
+	bfd_z8k_arch)		ta="$ta z8k-dis.lo" ;;
+
+	"")			;;
+	*)		AC_MSG_ERROR(*** unknown target architecture $arch) ;;
+	esac
+    done
+
+    if test $using_cgen = yes ; then
+	ta="$ta $cgen_files"
+    fi
+
+    # Weed out duplicate .o files.
+    f=""
+    for i in $ta ; do
+	case " $f " in
+	*" $i "*) ;;
+	*) f="$f $i" ;;
+	esac
+    done
+    ta="$f"
+
+    # And duplicate -D flags.
+    f=""
+    for i in $archdefs ; do
+	case " $f " in
+	*" $i "*) ;;
+	*) f="$f $i" ;;
+	esac
+    done
+    archdefs="$f"
+
+    BFD_MACHINES="$ta"
+
+else	# all_targets is true
+    archdefs=-DARCH_all
+    BFD_MACHINES='$(ALL_MACHINES)'
+fi
+
+AC_SUBST(archdefs)
+AC_SUBST(BFD_MACHINES)
+
+AC_CONFIG_FILES([Makefile po/Makefile.in:po/Make-in])
+AC_OUTPUT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/configure.com ./opcodes/configure.com
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/configure.com	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/configure.com	2015-01-20 02:05:40.000000000 +0000
@@ -6,7 +6,7 @@
 $!
 $! Written by Tristan Gingold (gingold@adacore.com)
 $!
-$!   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+$!   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 $!
 $! This file is free software; you can redistribute it and/or modify
 $! it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/configure.in ./opcodes/configure.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/configure.in	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/configure.in	1970-01-01 00:00:00.000000000 +0000
@@ -1,401 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-dnl
-dnl   Copyright (C) 2012-2014 Free Software Foundation, Inc.
-dnl
-dnl This file is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3 of the License, or
-dnl (at your option) any later version.
-dnl 
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-dnl GNU General Public License for more details.
-dnl 
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; see the file COPYING3.  If not see
-dnl <http://www.gnu.org/licenses/>.
-dnl
-
-AC_PREREQ(2.59)
-AC_INIT
-AC_CONFIG_SRCDIR([z8k-dis.c])
-
-AC_CANONICAL_TARGET
-AC_ISC_POSIX
-
-# We currently only use the version number for the name of any shared
-# library.  For user convenience, we always use the same version
-# number that BFD is using.
-changequote(,)dnl
-BFD_VERSION=`${srcdir}/../bfd/configure --version | sed -n -e '1s,.* ,,p'`
-changequote([,])dnl
-
-AM_INIT_AUTOMAKE(opcodes, ${BFD_VERSION})
-
-AC_PROG_CC
-AC_GNU_SOURCE
-AC_USE_SYSTEM_EXTENSIONS
-
-dnl These must be called before LT_INIT, because it may want
-dnl to call AC_CHECK_PROG.
-AC_CHECK_TOOL(AR, ar)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-
-dnl Default to a non shared library.  This may be overridden by the
-dnl configure option --enable-shared.
-AC_DISABLE_SHARED
-
-LT_INIT
-
-AC_ARG_ENABLE(targets,
-[  --enable-targets        alternative target configurations],
-[case "${enableval}" in
-  yes | "") AC_MSG_ERROR([enable-targets option must specify target names or 'all'])
-            ;;
-  no)       enable_targets= ;;
-  *)        enable_targets=$enableval ;;
-esac])dnl
-
-AM_BINUTILS_WARNINGS
-ACX_PROG_CC_WARNING_OPTS([-Wno-missing-field-initializers],
-			 [NO_WMISSING_FIELD_INITIALIZERS])
-
-AC_CONFIG_HEADERS(config.h:config.in)
-
-# PR 14072
-AH_VERBATIM([00_CONFIG_H_CHECK],
-[/* Check that config.h is #included before system headers
-   (this works only for glibc, but that should be enough).  */
-#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
-#  error config.h must be #included before system headers
-#endif
-#define __CONFIG_H__ 1])
-
-if test -z "$target" ; then
-    AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
-fi
-
-AM_MAINTAINER_MODE
-AM_INSTALL_LIBBFD
-AC_EXEEXT
-
-# host-specific stuff:
-
-ALL_LINGUAS="fr sv tr es da de id pt_BR ro nl fi vi ga zh_CN it uk"
-ZW_GNU_GETTEXT_SISTER_DIR
-AM_PO_SUBDIRS
-
-. ${srcdir}/../bfd/configure.host
-
-BFD_CC_FOR_BUILD
-
-AC_SUBST(HDEFINES)
-AC_PROG_INSTALL
-
-AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h)
-ACX_HEADER_STRING
-
-AC_CHECK_DECLS([basename, stpcpy])
-
-# Check if sigsetjmp is available.  Using AC_CHECK_FUNCS won't do
-# since sigsetjmp might only be defined as a macro.
-AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
-[AC_TRY_COMPILE([
-#include <setjmp.h>
-], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
-bfd_cv_func_sigsetjmp=yes, bfd_cv_func_sigsetjmp=no)])
-if test $bfd_cv_func_sigsetjmp = yes; then
-  AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
-fi
-
-cgen_maint=no
-cgendir='$(srcdir)/../cgen'
-
-AC_ARG_ENABLE(cgen-maint,
-[  --enable-cgen-maint[=dir]    build cgen generated files],
-[case "${enableval}" in
-  yes)	cgen_maint=yes ;;
-  no)	cgen_maint=no ;;
-  *)
-	# argument is cgen install directory (not implemented yet).
-	# Having a `share' directory might be more appropriate for the .scm,
-	# .cpu, etc. files.
-	cgen_maint=yes
-	cgendir=${cgen_maint}/lib/cgen
-	;;
-esac])dnl
-AM_CONDITIONAL(CGEN_MAINT, test x${cgen_maint} = xyes)
-AC_SUBST(cgendir)
-
-using_cgen=no
-
-# Check if linker supports --as-needed and --no-as-needed options
-AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
-	[bfd_cv_ld_as_needed=no
-	if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
-		bfd_cv_ld_as_needed=yes
-	fi
-	])
-
-LT_LIB_M
-
-#Libs for generator progs
-if test "x$cross_compiling" = "xno"; then
-  BUILD_LIBS=../libiberty/libiberty.a
-  BUILD_LIB_DEPS=$BUILD_LIBS
-else
-  # if cross-compiling, assume that the system provides -liberty
-  # and that the version is compatible with new headers.
-  BUILD_LIBS=-liberty
-  BUILD_LIB_DEPS=
-fi
-BUILD_LIBS="$BUILD_LIBS $LIBINTL"
-BUILD_LIB_DEPS="$BUILD_LIB_DEPS $LIBINTL_DEP"
-
-AC_SUBST(BUILD_LIBS)
-AC_SUBST(BUILD_LIB_DEPS)
-
-# Horrible hacks to build DLLs on Windows and a shared library elsewhere.
-SHARED_LDFLAGS=
-SHARED_LIBADD=
-SHARED_DEPENDENCIES=
-if test "$enable_shared" = "yes"; then
-# When building a shared libopcodes, link against the pic version of libiberty
-# so that apps that use libopcodes won't need libiberty just to satisfy any
-# libopcodes references.
-# We can't do that if a pic libiberty is unavailable since including non-pic
-# code would insert text relocations into libopcodes.
-# Note that linking against libbfd as we do here, which is itself linked
-# against libiberty, may not satisfy all the libopcodes libiberty references
-# since libbfd may not pull in the entirety of libiberty.
-changequote(,)dnl
-  x=`sed -n -e 's/^[ 	]*PICFLAG[ 	]*=[ 	]*//p' < ../libiberty/Makefile | sed -n '$p'`
-changequote([,])dnl
-  if test -n "$x"; then
-    SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
-  fi
-
-  case "${host}" in
-    *-*-cygwin*)
-      SHARED_LDFLAGS="-no-undefined"
-      SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
-      ;;
-   *-*-darwin*)
-     SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}"
-     SHARED_DEPENDENCIES="../bfd/libbfd.la"
-     ;;
-    *)
-      case "$host_vendor" in
-        hp)
-          SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl ${SHARED_LIBADD}"
-	  ;;
-	*)
-          SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so ${SHARED_LIBADD}"
-	  ;;
-      esac
-      SHARED_DEPENDENCIES="../bfd/libbfd.la"
-      ;;
-  esac
-
-  if test -n "$SHARED_LIBADD"; then
-    if test -n "$LIBM"; then
-      if test x"$bfd_cv_ld_as_needed" = xyes; then
-	# Link against libm only when needed.  Put -lc, -lm inside -Wl
-	# to stop libtool reordering these options.
-	SHARED_LIBADD="$SHARED_LIBADD -Wl,-lc,--as-needed,`echo $LIBM | sed 's/ /,/g'`,--no-as-needed"
-      else
-	SHARED_LIBADD="$SHARED_LIBADD $LIBM"
-      fi
-    fi
-  fi
-fi
-AC_SUBST(SHARED_LDFLAGS)
-AC_SUBST(SHARED_LIBADD)
-AC_SUBST(SHARED_DEPENDENCIES)
-
-# target-specific stuff:
-
-# Canonicalize the secondary target names.
-if test -n "$enable_targets" ; then
-    for targ in `echo $enable_targets | sed 's/,/ /g'`
-    do
-	result=`$ac_config_sub $targ 2>/dev/null`
-	if test -n "$result" ; then
-	    canon_targets="$canon_targets $result"
-	else
-	    # Allow targets that config.sub doesn't recognize, like "all".
-	    canon_targets="$canon_targets $targ"
-	fi
-    done
-fi
-
-all_targets=false
-selarchs=
-for targ in $target $canon_targets
-do
-    if test "x$targ" = "xall" ; then
-        all_targets=true
-    else
-	. $srcdir/../bfd/config.bfd
-	selarchs="$selarchs $targ_archs"
-    fi
-done	
-
-# Utility var, documents generic cgen support files.
-
-cgen_files="cgen-opc.lo cgen-asm.lo cgen-dis.lo cgen-bitset.lo"
-
-# We don't do any links based on the target system, just makefile config.
-
-if test x${all_targets} = xfalse ; then
-
-    # Target architecture .o files.
-    ta=
-
-    for arch in $selarchs
-    do
-	ad=`echo $arch | sed -e s/bfd_//g -e s/_arch//g`
-	archdefs="$archdefs -DARCH_$ad"
-	case "$arch" in
-	bfd_aarch64_arch)	ta="$ta aarch64-asm.lo aarch64-dis.lo aarch64-opc.lo aarch64-asm-2.lo aarch64-dis-2.lo aarch64-opc-2.lo" ;;
-	bfd_alpha_arch)		ta="$ta alpha-dis.lo alpha-opc.lo" ;;
-	bfd_arc_arch)		ta="$ta arc-dis.lo arc-opc.lo arc-ext.lo" ;;
-	bfd_arm_arch)		ta="$ta arm-dis.lo" ;;
-	bfd_avr_arch)		ta="$ta avr-dis.lo" ;;
-	bfd_bfin_arch)		ta="$ta bfin-dis.lo" ;;
-	bfd_cr16_arch)		ta="$ta cr16-dis.lo cr16-opc.lo" ;;
-	bfd_cris_arch)		ta="$ta cris-dis.lo cris-opc.lo cgen-bitset.lo" ;;
-	bfd_crx_arch)		ta="$ta crx-dis.lo crx-opc.lo" ;;
-	bfd_d10v_arch)		ta="$ta d10v-dis.lo d10v-opc.lo" ;;
-	bfd_d30v_arch)		ta="$ta d30v-dis.lo d30v-opc.lo" ;;
-	bfd_dlx_arch)		ta="$ta dlx-dis.lo" ;;
-	bfd_fr30_arch)		ta="$ta fr30-asm.lo fr30-desc.lo fr30-dis.lo fr30-ibld.lo fr30-opc.lo" using_cgen=yes ;;
-	bfd_frv_arch)		ta="$ta frv-asm.lo frv-desc.lo frv-dis.lo frv-ibld.lo frv-opc.lo" using_cgen=yes ;;
-	bfd_moxie_arch)		ta="$ta moxie-dis.lo moxie-opc.lo" ;;
-	bfd_h8300_arch)		ta="$ta h8300-dis.lo" ;;
-	bfd_h8500_arch)		ta="$ta h8500-dis.lo" ;;
-	bfd_hppa_arch)		ta="$ta hppa-dis.lo" ;;
-	bfd_i370_arch)		ta="$ta i370-dis.lo i370-opc.lo" ;;
-	bfd_i386_arch|bfd_l1om_arch|bfd_k1om_arch)
-				ta="$ta i386-dis.lo i386-opc.lo" ;;
-	bfd_i860_arch)		ta="$ta i860-dis.lo" ;;
-	bfd_i960_arch)		ta="$ta i960-dis.lo" ;;
-	bfd_ia64_arch)		ta="$ta ia64-dis.lo ia64-opc.lo" ;;
-	bfd_ip2k_arch)		ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
-	bfd_epiphany_arch)	ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
-	bfd_iq2000_arch)	ta="$ta iq2000-asm.lo iq2000-desc.lo iq2000-dis.lo iq2000-ibld.lo iq2000-opc.lo" using_cgen=yes ;;
-	bfd_lm32_arch)		ta="$ta lm32-asm.lo lm32-desc.lo lm32-dis.lo lm32-ibld.lo lm32-opc.lo lm32-opinst.lo" using_cgen=yes ;;
-	bfd_m32c_arch)		ta="$ta m32c-asm.lo m32c-desc.lo m32c-dis.lo m32c-ibld.lo m32c-opc.lo" using_cgen=yes ;;
-	bfd_m32r_arch)		ta="$ta m32r-asm.lo m32r-desc.lo m32r-dis.lo m32r-ibld.lo m32r-opc.lo m32r-opinst.lo" using_cgen=yes ;;
-	bfd_m68hc11_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
-	bfd_m68hc12_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
-	bfd_m9s12x_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
-	bfd_m9s12xg_arch)	ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
-	bfd_m68k_arch)		ta="$ta m68k-dis.lo m68k-opc.lo" ;;
-	bfd_m88k_arch)		ta="$ta m88k-dis.lo" ;;
-	bfd_mcore_arch)		ta="$ta mcore-dis.lo" ;;
-	bfd_mep_arch)		ta="$ta mep-asm.lo mep-desc.lo mep-dis.lo mep-ibld.lo mep-opc.lo" using_cgen=yes ;;
-	bfd_metag_arch)		ta="$ta metag-dis.lo" ;;
-	bfd_microblaze_arch)	ta="$ta microblaze-dis.lo" ;;
-	bfd_mips_arch)		ta="$ta mips-dis.lo mips-opc.lo mips16-opc.lo micromips-opc.lo" ;;
-	bfd_mmix_arch)		ta="$ta mmix-dis.lo mmix-opc.lo" ;;
-	bfd_mn10200_arch)	ta="$ta m10200-dis.lo m10200-opc.lo" ;;
-	bfd_mn10300_arch)	ta="$ta m10300-dis.lo m10300-opc.lo" ;;
-	bfd_mt_arch)		ta="$ta mt-asm.lo mt-desc.lo mt-dis.lo mt-ibld.lo mt-opc.lo" using_cgen=yes ;;
-	bfd_msp430_arch)	ta="$ta msp430-dis.lo msp430-decode.lo" ;;
-	bfd_nds32_arch)		ta="$ta nds32-asm.lo nds32-dis.lo" ;;
-	bfd_nios2_arch)		ta="$ta nios2-dis.lo nios2-opc.lo" ;;
-	bfd_ns32k_arch)		ta="$ta ns32k-dis.lo" ;;
-	bfd_or1k_arch)		ta="$ta or1k-asm.lo or1k-desc.lo or1k-dis.lo or1k-ibld.lo or1k-opc.lo" using_cgen=yes ;;
-	bfd_pdp11_arch)		ta="$ta pdp11-dis.lo pdp11-opc.lo" ;;
-	bfd_pj_arch)		ta="$ta pj-dis.lo pj-opc.lo" ;;
-	bfd_powerpc_arch)	ta="$ta ppc-dis.lo ppc-opc.lo" ;;
-	bfd_powerpc_64_arch)	ta="$ta ppc-dis.lo ppc-opc.lo" ;;
-	bfd_pyramid_arch)	;;
-	bfd_romp_arch)		;;
-	bfd_rs6000_arch)	ta="$ta ppc-dis.lo ppc-opc.lo" ;;
-	bfd_rl78_arch)		ta="$ta rl78-dis.lo rl78-decode.lo";;
-	bfd_rx_arch)		ta="$ta rx-dis.lo rx-decode.lo";;
-	bfd_s390_arch)		ta="$ta s390-dis.lo s390-opc.lo" ;;
-	bfd_score_arch)		ta="$ta score-dis.lo score7-dis.lo" ;;
-	bfd_sh_arch)
-	  # We can't decide what we want just from the CPU family.
-	  # We want SH5 support unless a specific version of sh is
-	  # specified, as in sh3-elf, sh3b-linux-gnu, etc.
-	  # Include it just for ELF targets, since the SH5 bfd:s are ELF only.
-	  for t in $target $canon_targets; do
-	    case $t in
-	      all |  sh5*-* | sh64*-* | sh-*-*elf* | shl*-*-*elf* | \
-	      sh-*-linux* | shl-*-linux*)
-				ta="$ta sh64-dis.lo sh64-opc.lo"
-				archdefs="$archdefs -DINCLUDE_SHMEDIA"
-				break;;
-	    esac;
-	  done
-				ta="$ta sh-dis.lo cgen-bitset.lo" ;;
-	bfd_sparc_arch)		ta="$ta sparc-dis.lo sparc-opc.lo" ;;
-	bfd_spu_arch)		ta="$ta spu-dis.lo spu-opc.lo" ;;
-	bfd_tahoe_arch)		;;
-	bfd_tic30_arch)		ta="$ta tic30-dis.lo" ;;
-	bfd_tic4x_arch)		ta="$ta tic4x-dis.lo" ;;
-	bfd_tic54x_arch)	ta="$ta tic54x-dis.lo tic54x-opc.lo" ;;
-	bfd_tic6x_arch)		ta="$ta tic6x-dis.lo" ;;
-	bfd_tic80_arch)		ta="$ta tic80-dis.lo tic80-opc.lo" ;;
-	bfd_tilegx_arch)	ta="$ta tilegx-dis.lo tilegx-opc.lo" ;;
-	bfd_tilepro_arch)	ta="$ta tilepro-dis.lo tilepro-opc.lo" ;;
-	bfd_v850_arch)		ta="$ta v850-opc.lo v850-dis.lo" ;;
-	bfd_v850e_arch)		ta="$ta v850-opc.lo v850-dis.lo" ;;
-	bfd_v850ea_arch)	ta="$ta v850-opc.lo v850-dis.lo" ;;
-	bfd_v850_rh850_arch)	ta="$ta v850-opc.lo v850-dis.lo" ;;
-	bfd_vax_arch)		ta="$ta vax-dis.lo" ;;
-	bfd_w65_arch)		ta="$ta w65-dis.lo" ;;
-	bfd_we32k_arch)		;;
-	bfd_xc16x_arch)		ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
-	bfd_xgate_arch)		ta="$ta xgate-dis.lo xgate-opc.lo" ;;
-	bfd_xstormy16_arch)	ta="$ta xstormy16-asm.lo xstormy16-desc.lo xstormy16-dis.lo xstormy16-ibld.lo xstormy16-opc.lo" using_cgen=yes ;;
-	bfd_xtensa_arch)	ta="$ta xtensa-dis.lo" ;;
-	bfd_z80_arch)		ta="$ta z80-dis.lo" ;;
-	bfd_z8k_arch)		ta="$ta z8k-dis.lo" ;;
-
-	"")			;;
-	*)		AC_MSG_ERROR(*** unknown target architecture $arch) ;;
-	esac
-    done
-
-    if test $using_cgen = yes ; then
-	ta="$ta $cgen_files"
-    fi
-
-    # Weed out duplicate .o files.
-    f=""
-    for i in $ta ; do
-	case " $f " in
-	*" $i "*) ;;
-	*) f="$f $i" ;;
-	esac
-    done
-    ta="$f"
-
-    # And duplicate -D flags.
-    f=""
-    for i in $archdefs ; do
-	case " $f " in
-	*" $i "*) ;;
-	*) f="$f $i" ;;
-	esac
-    done
-    archdefs="$f"
-
-    BFD_MACHINES="$ta"
-
-else	# all_targets is true
-    archdefs=-DARCH_all
-    BFD_MACHINES='$(ALL_MACHINES)'
-fi
-
-AC_SUBST(archdefs)
-AC_SUBST(BFD_MACHINES)
-
-AC_CONFIG_FILES([Makefile po/Makefile.in:po/Make-in])
-AC_OUTPUT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cr16-dis.c ./opcodes/cr16-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cr16-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cr16-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembler code for CR16.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
    Contributed by M R Swami Reddy (MR.Swami.Reddy@nsc.com).
 
    This file is part of GAS, GDB and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cr16-opc.c ./opcodes/cr16-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cr16-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cr16-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* cr16-opc.c -- Table of opcodes for the CR16 processor.
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
    Contributed by M R Swami Reddy (MR.Swami.Reddy@nsc.com)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cris-dis.c ./opcodes/cris-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cris-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cris-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembler code for CRIS.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications AB, Lund, Sweden.
    Written by Hans-Peter Nilsson.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cris-opc.c ./opcodes/cris-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/cris-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/cris-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* cris-opc.c -- Table of opcodes for the CRIS processor.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications AB, Lund, Sweden.
    Originally written for GAS 1.38.1 by Mikael Asker.
    Reorganized by Hans-Peter Nilsson.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/crx-dis.c ./opcodes/crx-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/crx-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/crx-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembler code for CRX.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Tomer Levi, NSC, Israel.
    Written by Tomer Levi.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/crx-opc.c ./opcodes/crx-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/crx-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/crx-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* crx-opc.c -- Table of opcodes for the CRX processor.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Tomer Levi NSC, Israel.
    Originally written for GAS 2.12 by Tomer Levi.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/d10v-dis.c ./opcodes/d10v-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/d10v-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/d10v-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble D10V instructions.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/d10v-opc.c ./opcodes/d10v-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/d10v-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/d10v-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* d10v-opc.c -- D10V opcode list
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Written by Martin Hunt, Cygnus Support
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/d30v-dis.c ./opcodes/d30v-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/d30v-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/d30v-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble D30V instructions.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/d30v-opc.c ./opcodes/d30v-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/d30v-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/d30v-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* d30v-opc.c -- D30V opcode list
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Written by Martin Hunt, Cygnus Support
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/disassemble.c ./opcodes/disassemble.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/disassemble.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/disassemble.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Select disassembly routine for specified architecture.
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -89,6 +89,7 @@
 #define ARCH_tilepro
 #define ARCH_v850
 #define ARCH_vax
+#define ARCH_visium
 #define ARCH_w65
 #define ARCH_xstormy16
 #define ARCH_xc16x
@@ -493,6 +494,11 @@ disassembler (abfd)
       disassemble = print_insn_vax;
       break;
 #endif
+#ifdef ARCH_visium
+     case bfd_arch_visium:
+       disassemble = print_insn_visium;
+       break;
+#endif
 #ifdef ARCH_frv
     case bfd_arch_frv:
       disassemble = print_insn_frv;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/dis-buf.c ./opcodes/dis-buf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/dis-buf.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/dis-buf.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble from a buffer, for GNU.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/dis-init.c ./opcodes/dis-init.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/dis-init.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/dis-init.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Initialize "struct disassemble_info".
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/dlx-dis.c ./opcodes/dlx-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/dlx-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/dlx-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Instruction printing code for the DLX Microprocessor
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Kuang Hwa Lin.  Written by Kuang Hwa Lin, 03/2002.
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-asm.c ./opcodes/epiphany-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/epiphany-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-desc.c ./opcodes/epiphany-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/epiphany-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-desc.h ./opcodes/epiphany-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/epiphany-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-dis.c ./opcodes/epiphany-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/epiphany-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-ibld.c ./opcodes/epiphany-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/epiphany-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-opc.c ./opcodes/epiphany-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/epiphany-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-opc.h ./opcodes/epiphany-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/epiphany-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/epiphany-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-asm.c ./opcodes/fr30-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/fr30-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-desc.c ./opcodes/fr30-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/fr30-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-desc.h ./opcodes/fr30-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/fr30-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-dis.c ./opcodes/fr30-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/fr30-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-ibld.c ./opcodes/fr30-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/fr30-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-opc.c ./opcodes/fr30-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/fr30-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-opc.h ./opcodes/fr30-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/fr30-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/fr30-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-asm.c ./opcodes/frv-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/frv-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-desc.c ./opcodes/frv-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/frv-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-desc.h ./opcodes/frv-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/frv-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-dis.c ./opcodes/frv-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/frv-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-ibld.c ./opcodes/frv-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/frv-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-opc.c ./opcodes/frv-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/frv-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-opc.h ./opcodes/frv-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/frv-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/frv-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/h8300-dis.c ./opcodes/h8300-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/h8300-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/h8300-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble h8300 instructions.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/h8500-dis.c ./opcodes/h8500-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/h8500-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/h8500-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble h8500 instructions.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/h8500-opc.h ./opcodes/h8500-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/h8500-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/h8500-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Instruction opcode header for Renesas 8500.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/hppa-dis.c ./opcodes/hppa-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/hppa-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/hppa-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembler for the PA-RISC. Somewhat derived from sparc-pinsn.c.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    Contributed by the Center for Software Science at the
    University of Utah (pa-gdb-bugs@cs.utah.edu).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i370-dis.c ./opcodes/i370-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i370-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i370-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* i370-dis.c -- Disassemble Instruction 370 (ESA/390) instructions
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    PowerPC version written by Ian Lance Taylor, Cygnus Support
    Rewritten for i370 ESA/390 support by Linas Vepstas <linas@linas.org>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i370-opc.c ./opcodes/i370-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i370-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i370-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* i370-opc.c -- Instruction 370 (ESA/390) architecture opcode list
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    PowerPC version written by Ian Lance Taylor, Cygnus Support
    Rewritten for i370 ESA/390 support by Linas Vepstas <linas@linas.org> 1998, 1999
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-dis.c ./opcodes/i386-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i386-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print i386 instructions for GDB, the GNU debugger.
-   Copyright (C) 1988-2014 Free Software Foundation, Inc.
+   Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -233,7 +233,10 @@ fetch_data (struct disassemble_info *inf
 #define Ed { OP_E, d_mode }
 #define Edq { OP_E, dq_mode }
 #define Edqw { OP_E, dqw_mode }
+#define EdqwS { OP_E, dqw_swap_mode }
 #define Edqb { OP_E, dqb_mode }
+#define Edb { OP_E, db_mode }
+#define Edw { OP_E, dw_mode }
 #define Edqd { OP_E, dqd_mode }
 #define Eq { OP_E, q_mode }
 #define indirEv { OP_indirE, stack_v_mode }
@@ -423,6 +426,7 @@ fetch_data (struct disassemble_info *inf
 #define XMask { OP_Mask, mask_mode }
 #define MaskG { OP_G, mask_mode }
 #define MaskE { OP_E, mask_mode }
+#define MaskBDE { OP_E, mask_bd_mode }
 #define MaskR { OP_R, mask_mode }
 #define MaskVex { OP_VEX, mask_mode }
 
@@ -533,6 +537,7 @@ enum
   dq_mode,
   /* registers like dq_mode, memory like w_mode.  */
   dqw_mode,
+  dqw_swap_mode,
   bnd_mode,
   /* 4- or 6-byte pointer operand */
   f_mode,
@@ -545,6 +550,10 @@ enum
   o_mode,
   /* registers like dq_mode, memory like b_mode.  */
   dqb_mode,
+  /* registers like d_mode, memory like b_mode.  */
+  db_mode,
+  /* registers like d_mode, memory like w_mode.  */
+  dw_mode,
   /* registers like dq_mode, memory like d_mode.  */
   dqd_mode,
   /* normal vex mode */
@@ -587,6 +596,8 @@ enum
 
   /* Mask register operand.  */
   mask_mode,
+  /* Mask register operand.  */
+  mask_bd_mode,
 
   es_reg,
   cs_reg,
@@ -708,6 +719,7 @@ enum
   REG_XOP_TBM_01,
   REG_XOP_TBM_02,
 
+  REG_EVEX_0F71,
   REG_EVEX_0F72,
   REG_EVEX_0F73,
   REG_EVEX_0F38C6,
@@ -741,10 +753,6 @@ enum
   MOD_0F1A_PREFIX_0,
   MOD_0F1B_PREFIX_0,
   MOD_0F1B_PREFIX_1,
-  MOD_0F20,
-  MOD_0F21,
-  MOD_0F22,
-  MOD_0F23,
   MOD_0F24,
   MOD_0F26,
   MOD_0F2B_PREFIX_0,
@@ -891,7 +899,9 @@ enum
   PREFIX_0FAE_REG_1,
   PREFIX_0FAE_REG_2,
   PREFIX_0FAE_REG_3,
+  PREFIX_0FAE_REG_6,
   PREFIX_0FAE_REG_7,
+  PREFIX_RM_0_0FAE_REG_7,
   PREFIX_0FB8,
   PREFIX_0FBC,
   PREFIX_0FBD,
@@ -991,6 +1001,7 @@ enum
   PREFIX_VEX_0F45,
   PREFIX_VEX_0F46,
   PREFIX_VEX_0F47,
+  PREFIX_VEX_0F4A,
   PREFIX_VEX_0F4B,
   PREFIX_VEX_0F51,
   PREFIX_VEX_0F52,
@@ -1043,6 +1054,7 @@ enum
   PREFIX_VEX_0F92,
   PREFIX_VEX_0F93,
   PREFIX_VEX_0F98,
+  PREFIX_VEX_0F99,
   PREFIX_VEX_0FC2,
   PREFIX_VEX_0FC4,
   PREFIX_VEX_0FC5,
@@ -1231,7 +1243,9 @@ enum
   PREFIX_VEX_0F3A21,
   PREFIX_VEX_0F3A22,
   PREFIX_VEX_0F3A30,
+  PREFIX_VEX_0F3A31,
   PREFIX_VEX_0F3A32,
+  PREFIX_VEX_0F3A33,
   PREFIX_VEX_0F3A38,
   PREFIX_VEX_0F3A39,
   PREFIX_VEX_0F3A40,
@@ -1288,6 +1302,10 @@ enum
   PREFIX_EVEX_0F2E,
   PREFIX_EVEX_0F2F,
   PREFIX_EVEX_0F51,
+  PREFIX_EVEX_0F54,
+  PREFIX_EVEX_0F55,
+  PREFIX_EVEX_0F56,
+  PREFIX_EVEX_0F57,
   PREFIX_EVEX_0F58,
   PREFIX_EVEX_0F59,
   PREFIX_EVEX_0F5A,
@@ -1296,21 +1314,37 @@ enum
   PREFIX_EVEX_0F5D,
   PREFIX_EVEX_0F5E,
   PREFIX_EVEX_0F5F,
+  PREFIX_EVEX_0F60,
+  PREFIX_EVEX_0F61,
   PREFIX_EVEX_0F62,
+  PREFIX_EVEX_0F63,
+  PREFIX_EVEX_0F64,
+  PREFIX_EVEX_0F65,
   PREFIX_EVEX_0F66,
+  PREFIX_EVEX_0F67,
+  PREFIX_EVEX_0F68,
+  PREFIX_EVEX_0F69,
   PREFIX_EVEX_0F6A,
+  PREFIX_EVEX_0F6B,
   PREFIX_EVEX_0F6C,
   PREFIX_EVEX_0F6D,
   PREFIX_EVEX_0F6E,
   PREFIX_EVEX_0F6F,
   PREFIX_EVEX_0F70,
+  PREFIX_EVEX_0F71_REG_2,
+  PREFIX_EVEX_0F71_REG_4,
+  PREFIX_EVEX_0F71_REG_6,
   PREFIX_EVEX_0F72_REG_0,
   PREFIX_EVEX_0F72_REG_1,
   PREFIX_EVEX_0F72_REG_2,
   PREFIX_EVEX_0F72_REG_4,
   PREFIX_EVEX_0F72_REG_6,
   PREFIX_EVEX_0F73_REG_2,
+  PREFIX_EVEX_0F73_REG_3,
   PREFIX_EVEX_0F73_REG_6,
+  PREFIX_EVEX_0F73_REG_7,
+  PREFIX_EVEX_0F74,
+  PREFIX_EVEX_0F75,
   PREFIX_EVEX_0F76,
   PREFIX_EVEX_0F78,
   PREFIX_EVEX_0F79,
@@ -1319,26 +1353,58 @@ enum
   PREFIX_EVEX_0F7E,
   PREFIX_EVEX_0F7F,
   PREFIX_EVEX_0FC2,
+  PREFIX_EVEX_0FC4,
+  PREFIX_EVEX_0FC5,
   PREFIX_EVEX_0FC6,
+  PREFIX_EVEX_0FD1,
   PREFIX_EVEX_0FD2,
   PREFIX_EVEX_0FD3,
   PREFIX_EVEX_0FD4,
+  PREFIX_EVEX_0FD5,
   PREFIX_EVEX_0FD6,
+  PREFIX_EVEX_0FD8,
+  PREFIX_EVEX_0FD9,
+  PREFIX_EVEX_0FDA,
   PREFIX_EVEX_0FDB,
+  PREFIX_EVEX_0FDC,
+  PREFIX_EVEX_0FDD,
+  PREFIX_EVEX_0FDE,
   PREFIX_EVEX_0FDF,
+  PREFIX_EVEX_0FE0,
+  PREFIX_EVEX_0FE1,
   PREFIX_EVEX_0FE2,
+  PREFIX_EVEX_0FE3,
+  PREFIX_EVEX_0FE4,
+  PREFIX_EVEX_0FE5,
   PREFIX_EVEX_0FE6,
   PREFIX_EVEX_0FE7,
+  PREFIX_EVEX_0FE8,
+  PREFIX_EVEX_0FE9,
+  PREFIX_EVEX_0FEA,
   PREFIX_EVEX_0FEB,
+  PREFIX_EVEX_0FEC,
+  PREFIX_EVEX_0FED,
+  PREFIX_EVEX_0FEE,
   PREFIX_EVEX_0FEF,
+  PREFIX_EVEX_0FF1,
   PREFIX_EVEX_0FF2,
   PREFIX_EVEX_0FF3,
   PREFIX_EVEX_0FF4,
+  PREFIX_EVEX_0FF5,
+  PREFIX_EVEX_0FF6,
+  PREFIX_EVEX_0FF8,
+  PREFIX_EVEX_0FF9,
   PREFIX_EVEX_0FFA,
   PREFIX_EVEX_0FFB,
+  PREFIX_EVEX_0FFC,
+  PREFIX_EVEX_0FFD,
   PREFIX_EVEX_0FFE,
+  PREFIX_EVEX_0F3800,
+  PREFIX_EVEX_0F3804,
+  PREFIX_EVEX_0F380B,
   PREFIX_EVEX_0F380C,
   PREFIX_EVEX_0F380D,
+  PREFIX_EVEX_0F3810,
   PREFIX_EVEX_0F3811,
   PREFIX_EVEX_0F3812,
   PREFIX_EVEX_0F3813,
@@ -1349,19 +1415,25 @@ enum
   PREFIX_EVEX_0F3819,
   PREFIX_EVEX_0F381A,
   PREFIX_EVEX_0F381B,
+  PREFIX_EVEX_0F381C,
+  PREFIX_EVEX_0F381D,
   PREFIX_EVEX_0F381E,
   PREFIX_EVEX_0F381F,
+  PREFIX_EVEX_0F3820,
   PREFIX_EVEX_0F3821,
   PREFIX_EVEX_0F3822,
   PREFIX_EVEX_0F3823,
   PREFIX_EVEX_0F3824,
   PREFIX_EVEX_0F3825,
+  PREFIX_EVEX_0F3826,
   PREFIX_EVEX_0F3827,
   PREFIX_EVEX_0F3828,
   PREFIX_EVEX_0F3829,
   PREFIX_EVEX_0F382A,
+  PREFIX_EVEX_0F382B,
   PREFIX_EVEX_0F382C,
   PREFIX_EVEX_0F382D,
+  PREFIX_EVEX_0F3830,
   PREFIX_EVEX_0F3831,
   PREFIX_EVEX_0F3832,
   PREFIX_EVEX_0F3833,
@@ -1369,10 +1441,13 @@ enum
   PREFIX_EVEX_0F3835,
   PREFIX_EVEX_0F3836,
   PREFIX_EVEX_0F3837,
+  PREFIX_EVEX_0F3838,
   PREFIX_EVEX_0F3839,
   PREFIX_EVEX_0F383A,
   PREFIX_EVEX_0F383B,
+  PREFIX_EVEX_0F383C,
   PREFIX_EVEX_0F383D,
+  PREFIX_EVEX_0F383E,
   PREFIX_EVEX_0F383F,
   PREFIX_EVEX_0F3840,
   PREFIX_EVEX_0F3842,
@@ -1391,15 +1466,24 @@ enum
   PREFIX_EVEX_0F385B,
   PREFIX_EVEX_0F3864,
   PREFIX_EVEX_0F3865,
+  PREFIX_EVEX_0F3866,
+  PREFIX_EVEX_0F3875,
   PREFIX_EVEX_0F3876,
   PREFIX_EVEX_0F3877,
+  PREFIX_EVEX_0F3878,
+  PREFIX_EVEX_0F3879,
+  PREFIX_EVEX_0F387A,
+  PREFIX_EVEX_0F387B,
   PREFIX_EVEX_0F387C,
+  PREFIX_EVEX_0F387D,
   PREFIX_EVEX_0F387E,
   PREFIX_EVEX_0F387F,
+  PREFIX_EVEX_0F3883,
   PREFIX_EVEX_0F3888,
   PREFIX_EVEX_0F3889,
   PREFIX_EVEX_0F388A,
   PREFIX_EVEX_0F388B,
+  PREFIX_EVEX_0F388D,
   PREFIX_EVEX_0F3890,
   PREFIX_EVEX_0F3891,
   PREFIX_EVEX_0F3892,
@@ -1428,6 +1512,8 @@ enum
   PREFIX_EVEX_0F38AD,
   PREFIX_EVEX_0F38AE,
   PREFIX_EVEX_0F38AF,
+  PREFIX_EVEX_0F38B4,
+  PREFIX_EVEX_0F38B5,
   PREFIX_EVEX_0F38B6,
   PREFIX_EVEX_0F38B7,
   PREFIX_EVEX_0F38B8,
@@ -1462,6 +1548,10 @@ enum
   PREFIX_EVEX_0F3A09,
   PREFIX_EVEX_0F3A0A,
   PREFIX_EVEX_0F3A0B,
+  PREFIX_EVEX_0F3A0F,
+  PREFIX_EVEX_0F3A14,
+  PREFIX_EVEX_0F3A15,
+  PREFIX_EVEX_0F3A16,
   PREFIX_EVEX_0F3A17,
   PREFIX_EVEX_0F3A18,
   PREFIX_EVEX_0F3A19,
@@ -1470,7 +1560,9 @@ enum
   PREFIX_EVEX_0F3A1D,
   PREFIX_EVEX_0F3A1E,
   PREFIX_EVEX_0F3A1F,
+  PREFIX_EVEX_0F3A20,
   PREFIX_EVEX_0F3A21,
+  PREFIX_EVEX_0F3A22,
   PREFIX_EVEX_0F3A23,
   PREFIX_EVEX_0F3A25,
   PREFIX_EVEX_0F3A26,
@@ -1479,9 +1571,18 @@ enum
   PREFIX_EVEX_0F3A39,
   PREFIX_EVEX_0F3A3A,
   PREFIX_EVEX_0F3A3B,
+  PREFIX_EVEX_0F3A3E,
+  PREFIX_EVEX_0F3A3F,
+  PREFIX_EVEX_0F3A42,
   PREFIX_EVEX_0F3A43,
+  PREFIX_EVEX_0F3A50,
+  PREFIX_EVEX_0F3A51,
   PREFIX_EVEX_0F3A54,
   PREFIX_EVEX_0F3A55,
+  PREFIX_EVEX_0F3A56,
+  PREFIX_EVEX_0F3A57,
+  PREFIX_EVEX_0F3A66,
+  PREFIX_EVEX_0F3A67
 };
 
 enum
@@ -1569,11 +1670,20 @@ enum
   VEX_LEN_0F2F_P_0,
   VEX_LEN_0F2F_P_2,
   VEX_LEN_0F41_P_0,
+  VEX_LEN_0F41_P_2,
   VEX_LEN_0F42_P_0,
+  VEX_LEN_0F42_P_2,
   VEX_LEN_0F44_P_0,
+  VEX_LEN_0F44_P_2,
   VEX_LEN_0F45_P_0,
+  VEX_LEN_0F45_P_2,
   VEX_LEN_0F46_P_0,
+  VEX_LEN_0F46_P_2,
   VEX_LEN_0F47_P_0,
+  VEX_LEN_0F47_P_2,
+  VEX_LEN_0F4A_P_0,
+  VEX_LEN_0F4A_P_2,
+  VEX_LEN_0F4B_P_0,
   VEX_LEN_0F4B_P_2,
   VEX_LEN_0F51_P_1,
   VEX_LEN_0F51_P_3,
@@ -1597,10 +1707,19 @@ enum
   VEX_LEN_0F7E_P_1,
   VEX_LEN_0F7E_P_2,
   VEX_LEN_0F90_P_0,
+  VEX_LEN_0F90_P_2,
   VEX_LEN_0F91_P_0,
+  VEX_LEN_0F91_P_2,
   VEX_LEN_0F92_P_0,
+  VEX_LEN_0F92_P_2,
+  VEX_LEN_0F92_P_3,
   VEX_LEN_0F93_P_0,
+  VEX_LEN_0F93_P_2,
+  VEX_LEN_0F93_P_3,
   VEX_LEN_0F98_P_0,
+  VEX_LEN_0F98_P_2,
+  VEX_LEN_0F99_P_0,
+  VEX_LEN_0F99_P_2,
   VEX_LEN_0FAE_R_2_M_0,
   VEX_LEN_0FAE_R_3_M_0,
   VEX_LEN_0FC2_P_1,
@@ -1647,7 +1766,9 @@ enum
   VEX_LEN_0F3A21_P_2,
   VEX_LEN_0F3A22_P_2,
   VEX_LEN_0F3A30_P_2,
+  VEX_LEN_0F3A31_P_2,
   VEX_LEN_0F3A32_P_2,
+  VEX_LEN_0F3A33_P_2,
   VEX_LEN_0F3A38_P_2,
   VEX_LEN_0F3A39_P_2,
   VEX_LEN_0F3A41_P_2,
@@ -1710,11 +1831,20 @@ enum
   VEX_W_0F2F_P_0,
   VEX_W_0F2F_P_2,
   VEX_W_0F41_P_0_LEN_1,
+  VEX_W_0F41_P_2_LEN_1,
   VEX_W_0F42_P_0_LEN_1,
+  VEX_W_0F42_P_2_LEN_1,
   VEX_W_0F44_P_0_LEN_0,
+  VEX_W_0F44_P_2_LEN_0,
   VEX_W_0F45_P_0_LEN_1,
+  VEX_W_0F45_P_2_LEN_1,
   VEX_W_0F46_P_0_LEN_1,
+  VEX_W_0F46_P_2_LEN_1,
   VEX_W_0F47_P_0_LEN_1,
+  VEX_W_0F47_P_2_LEN_1,
+  VEX_W_0F4A_P_0_LEN_1,
+  VEX_W_0F4A_P_2_LEN_1,
+  VEX_W_0F4B_P_0_LEN_1,
   VEX_W_0F4B_P_2_LEN_1,
   VEX_W_0F50_M_0,
   VEX_W_0F51_P_0,
@@ -1796,10 +1926,19 @@ enum
   VEX_W_0F7F_P_1,
   VEX_W_0F7F_P_2,
   VEX_W_0F90_P_0_LEN_0,
+  VEX_W_0F90_P_2_LEN_0,
   VEX_W_0F91_P_0_LEN_0,
+  VEX_W_0F91_P_2_LEN_0,
   VEX_W_0F92_P_0_LEN_0,
+  VEX_W_0F92_P_2_LEN_0,
+  VEX_W_0F92_P_3_LEN_0,
   VEX_W_0F93_P_0_LEN_0,
+  VEX_W_0F93_P_2_LEN_0,
+  VEX_W_0F93_P_3_LEN_0,
   VEX_W_0F98_P_0_LEN_0,
+  VEX_W_0F98_P_2_LEN_0,
+  VEX_W_0F99_P_0_LEN_0,
+  VEX_W_0F99_P_2_LEN_0,
   VEX_W_0FAE_R_2_M_0,
   VEX_W_0FAE_R_3_M_0,
   VEX_W_0FC2_P_0,
@@ -1946,7 +2085,9 @@ enum
   VEX_W_0F3A20_P_2,
   VEX_W_0F3A21_P_2,
   VEX_W_0F3A30_P_2_LEN_0,
+  VEX_W_0F3A31_P_2_LEN_0,
   VEX_W_0F3A32_P_2_LEN_0,
+  VEX_W_0F3A33_P_2_LEN_0,
   VEX_W_0F3A38_P_2,
   VEX_W_0F3A39_P_2,
   VEX_W_0F3A40_P_2,
@@ -2010,6 +2151,14 @@ enum
   EVEX_W_0F51_P_1,
   EVEX_W_0F51_P_2,
   EVEX_W_0F51_P_3,
+  EVEX_W_0F54_P_0,
+  EVEX_W_0F54_P_2,
+  EVEX_W_0F55_P_0,
+  EVEX_W_0F55_P_2,
+  EVEX_W_0F56_P_0,
+  EVEX_W_0F56_P_2,
+  EVEX_W_0F57_P_0,
+  EVEX_W_0F57_P_2,
   EVEX_W_0F58_P_0,
   EVEX_W_0F58_P_1,
   EVEX_W_0F58_P_2,
@@ -2044,11 +2193,13 @@ enum
   EVEX_W_0F62_P_2,
   EVEX_W_0F66_P_2,
   EVEX_W_0F6A_P_2,
+  EVEX_W_0F6B_P_2,
   EVEX_W_0F6C_P_2,
   EVEX_W_0F6D_P_2,
   EVEX_W_0F6E_P_2,
   EVEX_W_0F6F_P_1,
   EVEX_W_0F6F_P_2,
+  EVEX_W_0F6F_P_3,
   EVEX_W_0F70_P_2,
   EVEX_W_0F72_R_2_P_2,
   EVEX_W_0F72_R_6_P_2,
@@ -2056,15 +2207,20 @@ enum
   EVEX_W_0F73_R_6_P_2,
   EVEX_W_0F76_P_2,
   EVEX_W_0F78_P_0,
+  EVEX_W_0F78_P_2,
   EVEX_W_0F79_P_0,
+  EVEX_W_0F79_P_2,
   EVEX_W_0F7A_P_1,
+  EVEX_W_0F7A_P_2,
   EVEX_W_0F7A_P_3,
   EVEX_W_0F7B_P_1,
+  EVEX_W_0F7B_P_2,
   EVEX_W_0F7B_P_3,
   EVEX_W_0F7E_P_1,
   EVEX_W_0F7E_P_2,
   EVEX_W_0F7F_P_1,
   EVEX_W_0F7F_P_2,
+  EVEX_W_0F7F_P_3,
   EVEX_W_0FC2_P_0,
   EVEX_W_0FC2_P_1,
   EVEX_W_0FC2_P_2,
@@ -2087,8 +2243,12 @@ enum
   EVEX_W_0FFE_P_2,
   EVEX_W_0F380C_P_2,
   EVEX_W_0F380D_P_2,
+  EVEX_W_0F3810_P_1,
+  EVEX_W_0F3810_P_2,
   EVEX_W_0F3811_P_1,
+  EVEX_W_0F3811_P_2,
   EVEX_W_0F3812_P_1,
+  EVEX_W_0F3812_P_2,
   EVEX_W_0F3813_P_1,
   EVEX_W_0F3813_P_2,
   EVEX_W_0F3814_P_1,
@@ -2099,16 +2259,23 @@ enum
   EVEX_W_0F381B_P_2,
   EVEX_W_0F381E_P_2,
   EVEX_W_0F381F_P_2,
+  EVEX_W_0F3820_P_1,
   EVEX_W_0F3821_P_1,
   EVEX_W_0F3822_P_1,
   EVEX_W_0F3823_P_1,
   EVEX_W_0F3824_P_1,
   EVEX_W_0F3825_P_1,
   EVEX_W_0F3825_P_2,
+  EVEX_W_0F3826_P_1,
+  EVEX_W_0F3826_P_2,
+  EVEX_W_0F3828_P_1,
   EVEX_W_0F3828_P_2,
+  EVEX_W_0F3829_P_1,
   EVEX_W_0F3829_P_2,
   EVEX_W_0F382A_P_1,
   EVEX_W_0F382A_P_2,
+  EVEX_W_0F382B_P_2,
+  EVEX_W_0F3830_P_1,
   EVEX_W_0F3831_P_1,
   EVEX_W_0F3832_P_1,
   EVEX_W_0F3833_P_1,
@@ -2116,12 +2283,23 @@ enum
   EVEX_W_0F3835_P_1,
   EVEX_W_0F3835_P_2,
   EVEX_W_0F3837_P_2,
+  EVEX_W_0F3838_P_1,
+  EVEX_W_0F3839_P_1,
   EVEX_W_0F383A_P_1,
   EVEX_W_0F3840_P_2,
   EVEX_W_0F3858_P_2,
   EVEX_W_0F3859_P_2,
   EVEX_W_0F385A_P_2,
   EVEX_W_0F385B_P_2,
+  EVEX_W_0F3866_P_2,
+  EVEX_W_0F3875_P_2,
+  EVEX_W_0F3878_P_2,
+  EVEX_W_0F3879_P_2,
+  EVEX_W_0F387A_P_2,
+  EVEX_W_0F387B_P_2,
+  EVEX_W_0F387D_P_2,
+  EVEX_W_0F3883_P_2,
+  EVEX_W_0F388D_P_2,
   EVEX_W_0F3891_P_2,
   EVEX_W_0F3893_P_2,
   EVEX_W_0F38A1_P_2,
@@ -2139,18 +2317,29 @@ enum
   EVEX_W_0F3A09_P_2,
   EVEX_W_0F3A0A_P_2,
   EVEX_W_0F3A0B_P_2,
+  EVEX_W_0F3A16_P_2,
   EVEX_W_0F3A18_P_2,
   EVEX_W_0F3A19_P_2,
   EVEX_W_0F3A1A_P_2,
   EVEX_W_0F3A1B_P_2,
   EVEX_W_0F3A1D_P_2,
   EVEX_W_0F3A21_P_2,
+  EVEX_W_0F3A22_P_2,
   EVEX_W_0F3A23_P_2,
   EVEX_W_0F3A38_P_2,
   EVEX_W_0F3A39_P_2,
   EVEX_W_0F3A3A_P_2,
   EVEX_W_0F3A3B_P_2,
+  EVEX_W_0F3A3E_P_2,
+  EVEX_W_0F3A3F_P_2,
+  EVEX_W_0F3A42_P_2,
   EVEX_W_0F3A43_P_2,
+  EVEX_W_0F3A50_P_2,
+  EVEX_W_0F3A51_P_2,
+  EVEX_W_0F3A56_P_2,
+  EVEX_W_0F3A57_P_2,
+  EVEX_W_0F3A66_P_2,
+  EVEX_W_0F3A67_P_2
 };
 
 typedef void (*op_rtn) (int bytemode, int sizeflag);
@@ -2210,6 +2399,9 @@ struct dis386 {
    "LS" => print "abs" in 64bit mode and behave as 'S' otherwise
    "LV" => print "abs" for 64bit operand and behave as 'S' otherwise
    "LW" => print 'd', 'q' depending on the VEX.W bit
+   "LP" => print 'w' or 'l' ('d' in Intel mode) if instruction has
+	   an operand size prefix, or suffix_always is true.  print
+	   'q' if rex prefix is present.
 
    Many of the above letters print nothing in Intel mode.  See "putop"
    for the details.
@@ -2451,7 +2643,7 @@ static const struct dis386 dis386[] = {
   { "int3",		{ XX } },
   { "int",		{ Ib } },
   { X86_64_TABLE (X86_64_CE) },
-  { "iretP",		{ XX } },
+  { "iret%LP",		{ XX } },
   /* d0 */
   { REG_TABLE (REG_D0) },
   { REG_TABLE (REG_D1) },
@@ -2517,7 +2709,7 @@ static const struct dis386 dis386_twobyt
   { Bad_Opcode },
   { "syscall",		{ XX } },
   { "clts",		{ XX } },
-  { "sysretP",		{ XX } },
+  { "sysret%LP",		{ XX } },
   /* 08 */
   { "invd",		{ XX } },
   { "wbinvd",		{ XX } },
@@ -2546,10 +2738,10 @@ static const struct dis386 dis386_twobyt
   { "nopQ",		{ Ev } },
   { "nopQ",		{ Ev } },
   /* 20 */
-  { MOD_TABLE (MOD_0F20) },
-  { MOD_TABLE (MOD_0F21) },
-  { MOD_TABLE (MOD_0F22) },
-  { MOD_TABLE (MOD_0F23) },
+  { "movZ",		{ Rm, Cm } },
+  { "movZ",		{ Rm, Dm } },
+  { "movZ",		{ Cm, Rm } },
+  { "movZ",		{ Dm, Rm } },
   { MOD_TABLE (MOD_0F24) },
   { Bad_Opcode },
   { MOD_TABLE (MOD_0F26) },
@@ -3796,6 +3988,13 @@ static const struct dis386 prefix_table[
     { "wrgsbase", { Ev } },
   },
 
+  /* PREFIX_0FAE_REG_6 */
+  {
+    { "xsaveopt",      { FXSAVE } },
+    { Bad_Opcode },
+    { "clwb",	{ Mb } },
+  },
+
   /* PREFIX_0FAE_REG_7 */
   {
     { "clflush",	{ Mb } },
@@ -3803,6 +4002,13 @@ static const struct dis386 prefix_table[
     { "clflushopt",	{ Mb } },
   },
 
+  /* PREFIX_RM_0_0FAE_REG_7 */
+  {
+    { "sfence",		{ Skip_MODRM } },
+    { Bad_Opcode },
+    { "pcommit",		{ Skip_MODRM } },
+  },
+
   /* PREFIX_0FB8 */
   {
     { Bad_Opcode },
@@ -4454,36 +4660,55 @@ static const struct dis386 prefix_table[
   /* PREFIX_VEX_0F41 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F41_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F41_P_2) },
   },
 
   /* PREFIX_VEX_0F42 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F42_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F42_P_2) },
   },
 
   /* PREFIX_VEX_0F44 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F44_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F44_P_2) },
   },
 
   /* PREFIX_VEX_0F45 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F45_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F45_P_2) },
   },
 
   /* PREFIX_VEX_0F46 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F46_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F46_P_2) },
   },
 
   /* PREFIX_VEX_0F47 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F47_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F47_P_2) },
   },
 
-  /* PREFIX_VEX_0F4B */
+  /* PREFIX_VEX_0F4A */
   {
+    { VEX_LEN_TABLE (VEX_LEN_0F4A_P_0) },
     { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F4A_P_2) },
+  },
+
+  /* PREFIX_VEX_0F4B */
+  {
+    { VEX_LEN_TABLE (VEX_LEN_0F4B_P_0) },
     { Bad_Opcode },
     { VEX_LEN_TABLE (VEX_LEN_0F4B_P_2) },
   },
@@ -4820,26 +5045,45 @@ static const struct dis386 prefix_table[
   /* PREFIX_VEX_0F90 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F90_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F90_P_2) },
   },
 
   /* PREFIX_VEX_0F91 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F91_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F91_P_2) },
   },
 
   /* PREFIX_VEX_0F92 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F92_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F92_P_2) },
+    { VEX_LEN_TABLE (VEX_LEN_0F92_P_3) },
   },
 
   /* PREFIX_VEX_0F93 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F93_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F93_P_2) },
+    { VEX_LEN_TABLE (VEX_LEN_0F93_P_3) },
   },
 
   /* PREFIX_VEX_0F98 */
   {
     { VEX_LEN_TABLE (VEX_LEN_0F98_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F98_P_2) },
+  },
+
+  /* PREFIX_VEX_0F99 */
+  {
+    { VEX_LEN_TABLE (VEX_LEN_0F99_P_0) },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F99_P_2) },
   },
 
   /* PREFIX_VEX_0FC2 */
@@ -6158,6 +6402,13 @@ static const struct dis386 prefix_table[
     { VEX_LEN_TABLE (VEX_LEN_0F3A30_P_2) },
   },
 
+  /* PREFIX_VEX_0F3A31 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F3A31_P_2) },
+  },
+
   /* PREFIX_VEX_0F3A32 */
   {
     { Bad_Opcode },
@@ -6165,6 +6416,13 @@ static const struct dis386 prefix_table[
     { VEX_LEN_TABLE (VEX_LEN_0F3A32_P_2) },
   },
 
+  /* PREFIX_VEX_0F3A33 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_LEN_TABLE (VEX_LEN_0F3A33_P_2) },
+  },
+
   /* PREFIX_VEX_0F3A38 */
   {
     { Bad_Opcode },
@@ -8432,7 +8690,7 @@ static const struct dis386 vex_table[][2
     /* 48 */
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_VEX_0F4A) },
     { PREFIX_TABLE (PREFIX_VEX_0F4B) },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -8521,7 +8779,7 @@ static const struct dis386 vex_table[][2
     { Bad_Opcode },
     /* 98 */
     { PREFIX_TABLE (PREFIX_VEX_0F98) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_VEX_0F99) },
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -8986,9 +9244,9 @@ static const struct dis386 vex_table[][2
     { Bad_Opcode },
     /* 30 */
     { PREFIX_TABLE (PREFIX_VEX_0F3A30) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_VEX_0F3A31) },
     { PREFIX_TABLE (PREFIX_VEX_0F3A32) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_VEX_0F3A33) },
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -9354,30 +9612,74 @@ static const struct dis386 vex_len_table
     { Bad_Opcode },
     { VEX_W_TABLE (VEX_W_0F41_P_0_LEN_1) },
   },
+  /* VEX_LEN_0F41_P_2 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (VEX_W_0F41_P_2_LEN_1) },
+  },
   /* VEX_LEN_0F42_P_0 */
   {
     { Bad_Opcode },
     { VEX_W_TABLE (VEX_W_0F42_P_0_LEN_1) },
   },
+  /* VEX_LEN_0F42_P_2 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (VEX_W_0F42_P_2_LEN_1) },
+  },
   /* VEX_LEN_0F44_P_0 */
   {
     { VEX_W_TABLE (VEX_W_0F44_P_0_LEN_0) },
   },
+  /* VEX_LEN_0F44_P_2 */
+  {
+    { VEX_W_TABLE (VEX_W_0F44_P_2_LEN_0) },
+  },
   /* VEX_LEN_0F45_P_0 */
   {
     { Bad_Opcode },
     { VEX_W_TABLE (VEX_W_0F45_P_0_LEN_1) },
   },
+  /* VEX_LEN_0F45_P_2 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (VEX_W_0F45_P_2_LEN_1) },
+  },
   /* VEX_LEN_0F46_P_0 */
   {
     { Bad_Opcode },
     { VEX_W_TABLE (VEX_W_0F46_P_0_LEN_1) },
   },
+  /* VEX_LEN_0F46_P_2 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (VEX_W_0F46_P_2_LEN_1) },
+  },
   /* VEX_LEN_0F47_P_0 */
   {
     { Bad_Opcode },
     { VEX_W_TABLE (VEX_W_0F47_P_0_LEN_1) },
   },
+  /* VEX_LEN_0F47_P_2 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (VEX_W_0F47_P_2_LEN_1) },
+  },
+  /* VEX_LEN_0F4A_P_0 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (VEX_W_0F4A_P_0_LEN_1) },
+  },
+  /* VEX_LEN_0F4A_P_2 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (VEX_W_0F4A_P_2_LEN_1) },
+  },
+  /* VEX_LEN_0F4B_P_0 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (VEX_W_0F4B_P_0_LEN_1) },
+  },
   /* VEX_LEN_0F4B_P_2 */
   {
     { Bad_Opcode },
@@ -9515,26 +9817,71 @@ static const struct dis386 vex_len_table
     { VEX_W_TABLE (VEX_W_0F90_P_0_LEN_0) },
   },
 
+  /* VEX_LEN_0F90_P_2 */
+  {
+    { VEX_W_TABLE (VEX_W_0F90_P_2_LEN_0) },
+  },
+
   /* VEX_LEN_0F91_P_0 */
   {
     { VEX_W_TABLE (VEX_W_0F91_P_0_LEN_0) },
   },
 
+  /* VEX_LEN_0F91_P_2 */
+  {
+    { VEX_W_TABLE (VEX_W_0F91_P_2_LEN_0) },
+  },
+
   /* VEX_LEN_0F92_P_0 */
   {
     { VEX_W_TABLE (VEX_W_0F92_P_0_LEN_0) },
   },
 
+  /* VEX_LEN_0F92_P_2 */
+  {
+    { VEX_W_TABLE (VEX_W_0F92_P_2_LEN_0) },
+  },
+
+  /* VEX_LEN_0F92_P_3 */
+  {
+    { VEX_W_TABLE (VEX_W_0F92_P_3_LEN_0) },
+  },
+
   /* VEX_LEN_0F93_P_0 */
   {
     { VEX_W_TABLE (VEX_W_0F93_P_0_LEN_0) },
   },
 
+  /* VEX_LEN_0F93_P_2 */
+  {
+    { VEX_W_TABLE (VEX_W_0F93_P_2_LEN_0) },
+  },
+
+  /* VEX_LEN_0F93_P_3 */
+  {
+    { VEX_W_TABLE (VEX_W_0F93_P_3_LEN_0) },
+  },
+
   /* VEX_LEN_0F98_P_0 */
   {
     { VEX_W_TABLE (VEX_W_0F98_P_0_LEN_0) },
   },
 
+  /* VEX_LEN_0F98_P_2 */
+  {
+    { VEX_W_TABLE (VEX_W_0F98_P_2_LEN_0) },
+  },
+
+  /* VEX_LEN_0F99_P_0 */
+  {
+    { VEX_W_TABLE (VEX_W_0F99_P_0_LEN_0) },
+  },
+
+  /* VEX_LEN_0F99_P_2 */
+  {
+    { VEX_W_TABLE (VEX_W_0F99_P_2_LEN_0) },
+  },
+
   /* VEX_LEN_0FAE_R_2_M_0 */
   {
     { VEX_W_TABLE (VEX_W_0FAE_R_2_M_0) },
@@ -9780,11 +10127,21 @@ static const struct dis386 vex_len_table
     { VEX_W_TABLE (VEX_W_0F3A30_P_2_LEN_0) },
   },
 
+  /* VEX_LEN_0F3A31_P_2 */
+  {
+    { VEX_W_TABLE (VEX_W_0F3A31_P_2_LEN_0) },
+  },
+
   /* VEX_LEN_0F3A32_P_2 */
   {
     { VEX_W_TABLE (VEX_W_0F3A32_P_2_LEN_0) },
   },
 
+  /* VEX_LEN_0F3A33_P_2 */
+  {
+    { VEX_W_TABLE (VEX_W_0F3A33_P_2_LEN_0) },
+  },
+
   /* VEX_LEN_0F3A38_P_2 */
   {
     { Bad_Opcode },
@@ -10052,26 +10409,77 @@ static const struct dis386 vex_w_table[]
   {
     /* VEX_W_0F41_P_0_LEN_1 */
     { "kandw",          { MaskG, MaskVex, MaskR } },
+    { "kandq",          { MaskG, MaskVex, MaskR } },
+  },
+  {
+    /* VEX_W_0F41_P_2_LEN_1 */
+    { "kandb",          { MaskG, MaskVex, MaskR } },
+    { "kandd",          { MaskG, MaskVex, MaskR } },
   },
   {
     /* VEX_W_0F42_P_0_LEN_1 */
     { "kandnw",         { MaskG, MaskVex, MaskR } },
+    { "kandnq",         { MaskG, MaskVex, MaskR } },
+  },
+  {
+    /* VEX_W_0F42_P_2_LEN_1 */
+    { "kandnb",         { MaskG, MaskVex, MaskR } },
+    { "kandnd",         { MaskG, MaskVex, MaskR } },
   },
   {
     /* VEX_W_0F44_P_0_LEN_0 */
     { "knotw",		{ MaskG, MaskR } },
+    { "knotq",		{ MaskG, MaskR } },
+  },
+  {
+    /* VEX_W_0F44_P_2_LEN_0 */
+    { "knotb",		{ MaskG, MaskR } },
+    { "knotd",		{ MaskG, MaskR } },
   },
   {
     /* VEX_W_0F45_P_0_LEN_1 */
     { "korw",           { MaskG, MaskVex, MaskR } },
+    { "korq",           { MaskG, MaskVex, MaskR } },
+  },
+  {
+    /* VEX_W_0F45_P_2_LEN_1 */
+    { "korb",           { MaskG, MaskVex, MaskR } },
+    { "kord",           { MaskG, MaskVex, MaskR } },
   },
   {
     /* VEX_W_0F46_P_0_LEN_1 */
     { "kxnorw",         { MaskG, MaskVex, MaskR } },
+    { "kxnorq",         { MaskG, MaskVex, MaskR } },
+  },
+  {
+    /* VEX_W_0F46_P_2_LEN_1 */
+    { "kxnorb",         { MaskG, MaskVex, MaskR } },
+    { "kxnord",         { MaskG, MaskVex, MaskR } },
   },
   {
     /* VEX_W_0F47_P_0_LEN_1 */
     { "kxorw",          { MaskG, MaskVex, MaskR } },
+    { "kxorq",          { MaskG, MaskVex, MaskR } },
+  },
+  {
+    /* VEX_W_0F47_P_2_LEN_1 */
+    { "kxorb",          { MaskG, MaskVex, MaskR } },
+    { "kxord",          { MaskG, MaskVex, MaskR } },
+  },
+  {
+    /* VEX_W_0F4A_P_0_LEN_1 */
+    { "kaddw",          { MaskG, MaskVex, MaskR } },
+    { "kaddq",          { MaskG, MaskVex, MaskR } },
+  },
+  {
+    /* VEX_W_0F4A_P_2_LEN_1 */
+    { "kaddb",          { MaskG, MaskVex, MaskR } },
+    { "kaddd",          { MaskG, MaskVex, MaskR } },
+  },
+  {
+    /* VEX_W_0F4B_P_0_LEN_1 */
+    { "kunpckwd",	{ MaskG, MaskVex, MaskR } },
+    { "kunpckdq",	{ MaskG, MaskVex, MaskR } },
   },
   {
     /* VEX_W_0F4B_P_2_LEN_1 */
@@ -10396,22 +10804,68 @@ static const struct dis386 vex_w_table[]
   {
     /* VEX_W_0F90_P_0_LEN_0 */
     { "kmovw",		{ MaskG, MaskE } },
+    { "kmovq",		{ MaskG, MaskE } },
+  },
+  {
+    /* VEX_W_0F90_P_2_LEN_0 */
+    { "kmovb",		{ MaskG, MaskBDE } },
+    { "kmovd",		{ MaskG, MaskBDE } },
   },
   {
     /* VEX_W_0F91_P_0_LEN_0 */
     { "kmovw",		{ Ew, MaskG } },
+    { "kmovq",		{ Eq, MaskG } },
+  },
+  {
+    /* VEX_W_0F91_P_2_LEN_0 */
+    { "kmovb",		{ Eb, MaskG } },
+    { "kmovd",		{ Ed, MaskG } },
   },
   {
     /* VEX_W_0F92_P_0_LEN_0 */
     { "kmovw",		{ MaskG, Rdq } },
   },
   {
+    /* VEX_W_0F92_P_2_LEN_0 */
+    { "kmovb",		{ MaskG, Rdq } },
+  },
+  {
+    /* VEX_W_0F92_P_3_LEN_0 */
+    { "kmovd",		{ MaskG, Rdq } },
+    { "kmovq",		{ MaskG, Rdq } },
+  },
+  {
     /* VEX_W_0F93_P_0_LEN_0 */
     { "kmovw",		{ Gdq, MaskR } },
   },
   {
+    /* VEX_W_0F93_P_2_LEN_0 */
+    { "kmovb",		{ Gdq, MaskR } },
+  },
+  {
+    /* VEX_W_0F93_P_3_LEN_0 */
+    { "kmovd",		{ Gdq, MaskR } },
+    { "kmovq",		{ Gdq, MaskR } },
+  },
+  {
     /* VEX_W_0F98_P_0_LEN_0 */
     { "kortestw",	{ MaskG, MaskR } },
+    { "kortestq",	{ MaskG, MaskR } },
+  },
+  {
+    /* VEX_W_0F98_P_2_LEN_0 */
+    { "kortestb",	{ MaskG, MaskR } },
+    { "kortestd",	{ MaskG, MaskR } },
+  },
+  {
+    /* VEX_W_0F99_P_0_LEN_0 */
+    { "ktestw",	{ MaskG, MaskR } },
+    { "ktestq",	{ MaskG, MaskR } },
+  },
+  {
+    /* VEX_W_0F99_P_2_LEN_0 */
+    { "ktestb",	{ MaskG, MaskR } },
+    { "ktestd",	{ MaskG, MaskR } },
   },
   {
     /* VEX_W_0FAE_R_2_M_0 */
@@ -10996,16 +11450,26 @@ static const struct dis386 vex_w_table[]
     { "vinsertps",	{ XM, Vex128, EXd, Ib } },
   },
   {
-    /* VEX_W_0F3A30_P_2 */
-    { Bad_Opcode },
+    /* VEX_W_0F3A30_P_2_LEN_0 */
+    { "kshiftrb",	{ MaskG, MaskR, Ib } },
     { "kshiftrw",	{ MaskG, MaskR, Ib } },
   },
   {
-    /* VEX_W_0F3A32_P_2 */
-    { Bad_Opcode },
+    /* VEX_W_0F3A31_P_2_LEN_0 */
+    { "kshiftrd",	{ MaskG, MaskR, Ib } },
+    { "kshiftrq",	{ MaskG, MaskR, Ib } },
+  },
+  {
+    /* VEX_W_0F3A32_P_2_LEN_0 */
+    { "kshiftlb",	{ MaskG, MaskR, Ib } },
     { "kshiftlw",	{ MaskG, MaskR, Ib } },
   },
   {
+    /* VEX_W_0F3A33_P_2_LEN_0 */
+    { "kshiftld",	{ MaskG, MaskR, Ib } },
+    { "kshiftlq",	{ MaskG, MaskR, Ib } },
+  },
+  {
     /* VEX_W_0F3A38_P_2 */
     { "vinserti128",	{ XM, Vex256, EXxmm, Ib } },
   },
@@ -11194,26 +11658,6 @@ static const struct dis386 mod_table[][2
     { "nopQ",		{ Ev } },
   },
   {
-    /* MOD_0F20 */
-    { Bad_Opcode },
-    { "movZ",		{ Rm, Cm } },
-  },
-  {
-    /* MOD_0F21 */
-    { Bad_Opcode },
-    { "movZ",		{ Rm, Dm } },
-  },
-  {
-    /* MOD_0F22 */
-    { Bad_Opcode },
-    { "movZ",		{ Cm, Rm } },
-  },
-  {
-    /* MOD_0F23 */
-    { Bad_Opcode },
-    { "movZ",		{ Dm, Rm } },
-  },
-  {
     /* MOD_0F24 */
     { Bad_Opcode },
     { "movL",		{ Rd, Td } },
@@ -11325,7 +11769,7 @@ static const struct dis386 mod_table[][2
   },
   {
     /* MOD_0FAE_REG_6 */
-    { "xsaveopt",	{ FXSAVE } },
+    { PREFIX_TABLE (PREFIX_0FAE_REG_6) },
     { RM_TABLE (RM_0FAE_REG_6) },
   },
   {
@@ -11603,7 +12047,7 @@ static const struct dis386 rm_table[][8]
   },
   {
     /* RM_0FAE_REG_7 */
-    { "sfence",		{ Skip_MODRM } },
+    { PREFIX_TABLE (PREFIX_RM_0_0FAE_REG_7) },
   },
 };
 
@@ -13390,32 +13834,62 @@ case_L:
 	      break;
 	    }
 	  /* Fall through.  */
+	  goto case_P;
 	case 'P':
-	  if (intel_syntax)
+	  if (l == 0 && len == 1)
 	    {
-	      if ((rex & REX_W) == 0
-		  && (prefixes & PREFIX_DATA))
+case_P:
+	      if (intel_syntax)
 		{
-		  if ((sizeflag & DFLAG) == 0)
-		    *obufp++ = 'w';
-		   used_prefixes |= (prefixes & PREFIX_DATA);
+		  if ((rex & REX_W) == 0
+		      && (prefixes & PREFIX_DATA))
+		    {
+		      if ((sizeflag & DFLAG) == 0)
+			*obufp++ = 'w';
+		      used_prefixes |= (prefixes & PREFIX_DATA);
+		    }
+		  break;
+		}
+	      if ((prefixes & PREFIX_DATA)
+		  || (rex & REX_W)
+		  || (sizeflag & SUFFIX_ALWAYS))
+		{
+		  USED_REX (REX_W);
+		  if (rex & REX_W)
+		    *obufp++ = 'q';
+		  else
+		    {
+		      if (sizeflag & DFLAG)
+			*obufp++ = 'l';
+		      else
+			*obufp++ = 'w';
+		      used_prefixes |= (prefixes & PREFIX_DATA);
+		    }
 		}
-	      break;
 	    }
-	  if ((prefixes & PREFIX_DATA)
-	      || (rex & REX_W)
-	      || (sizeflag & SUFFIX_ALWAYS))
+	  else
 	    {
-	      USED_REX (REX_W);
-	      if (rex & REX_W)
-		*obufp++ = 'q';
-	      else
+	      if (l != 1 || len != 2 || last[0] != 'L')
 		{
-		   if (sizeflag & DFLAG)
-		      *obufp++ = 'l';
-		   else
-		     *obufp++ = 'w';
-		   used_prefixes |= (prefixes & PREFIX_DATA);
+		  SAVE_LAST (*p);
+		  break;
+		}
+
+	      if ((prefixes & PREFIX_DATA)
+		  || (rex & REX_W)
+		  || (sizeflag & SUFFIX_ALWAYS))
+		{
+		  USED_REX (REX_W);
+		  if (rex & REX_W)
+		    *obufp++ = 'q';
+		  else
+		    {
+		      if (sizeflag & DFLAG)
+			*obufp++ = intel_syntax ? 'd' : 'l';
+		      else
+			*obufp++ = 'w';
+		      used_prefixes |= (prefixes & PREFIX_DATA);
+		    }
 		}
 	    }
 	  break;
@@ -13834,10 +14308,13 @@ intel_operand_size (int bytemode, int si
     case b_mode:
     case b_swap_mode:
     case dqb_mode:
+    case db_mode:
       oappend ("BYTE PTR ");
       break;
     case w_mode:
+    case dw_mode:
     case dqw_mode:
+    case dqw_swap_mode:
       oappend ("WORD PTR ");
       break;
     case stack_v_mode:
@@ -14114,28 +14591,58 @@ intel_operand_size (int bytemode, int si
 	}
       else
 	{
-	  if (vex.length != 512)
-	    abort ();
-	  oappend ("ZMMWORD PTR ");
+	  switch (vex.length)
+	    {
+	    case 128:
+	      oappend ("XMMWORD PTR ");
+	      break;
+	    case 256:
+	      oappend ("YMMWORD PTR ");
+	      break;
+	    case 512:
+	      oappend ("ZMMWORD PTR ");
+	      break;
+	    default:
+	      abort ();
+	    }
 	}
       break;
     case vex_vsib_q_w_d_mode:
     case vex_vsib_d_w_d_mode:
-      if (!need_vex || !vex.evex || vex.length != 512)
+      if (!need_vex || !vex.evex)
 	abort ();
 
-      oappend ("YMMWORD PTR ");
+      switch (vex.length)
+	{
+	case 128:
+	  oappend ("QWORD PTR ");
+	  break;
+	case 256:
+	  oappend ("XMMWORD PTR ");
+	  break;
+	case 512:
+	  oappend ("YMMWORD PTR ");
+	  break;
+	default:
+	  abort ();
+	}
 
       break;
+    case mask_bd_mode:
+      if (!need_vex || vex.length != 128)
+	abort ();
+      if (vex.w)
+	oappend ("DWORD PTR ");
+      else
+	oappend ("BYTE PTR ");
+      break;
     case mask_mode:
       if (!need_vex)
 	abort ();
-      /* Currently the only instructions, which allows either mask or
-	 memory operand, are AVX512's KMOVW instructions.  They need
-	 Word-sized operand.  */
-      if (vex.w || vex.length != 128)
-	abort ();
-      oappend ("WORD PTR ");
+      if (vex.w)
+	oappend ("QWORD PTR ");
+      else
+	oappend ("WORD PTR ");
       break;
     case v_bnd_mode:
     default:
@@ -14154,7 +14661,9 @@ OP_E_register (int bytemode, int sizefla
     reg += 8;
 
   if ((sizeflag & SUFFIX_ALWAYS)
-      && (bytemode == b_swap_mode || bytemode == v_swap_mode))
+      && (bytemode == b_swap_mode
+	  || bytemode == v_swap_mode
+	  || bytemode == dqw_swap_mode))
     swap_operand ();
 
   switch (bytemode)
@@ -14171,6 +14680,8 @@ OP_E_register (int bytemode, int sizefla
       names = names16;
       break;
     case d_mode:
+    case dw_mode:
+    case db_mode:
       names = names32;
       break;
     case q_mode:
@@ -14197,6 +14708,7 @@ OP_E_register (int bytemode, int sizefla
     case dqb_mode:
     case dqd_mode:
     case dqw_mode:
+    case dqw_swap_mode:
       USED_REX (REX_W);
       if (rex & REX_W)
 	names = names64;
@@ -14211,6 +14723,7 @@ OP_E_register (int bytemode, int sizefla
 	  used_prefixes |= (prefixes & PREFIX_DATA);
 	}
       break;
+    case mask_bd_mode:
     case mask_mode:
       names = names_mask;
       break;
@@ -14236,6 +14749,7 @@ OP_E_memory (int bytemode, int sizeflag)
       /* In EVEX, if operand doesn't allow broadcast, vex.b should be 0.  */
       if (vex.b
 	  && bytemode != x_mode
+	  && bytemode != xmmq_mode
 	  && bytemode != evex_half_bcst_xmmq_mode)
 	{
 	  BadOp ();
@@ -14243,6 +14757,15 @@ OP_E_memory (int bytemode, int sizeflag)
 	}
       switch (bytemode)
 	{
+	case dqw_mode:
+	case dw_mode:
+	case dqw_swap_mode:
+	  shift = 1;
+	  break;
+	case dqb_mode:
+	case db_mode:
+	  shift = 0;
+	  break;
 	case vex_vsib_d_w_dq_mode:
 	case vex_vsib_d_w_d_mode:
 	case vex_vsib_q_w_dq_mode:
@@ -14253,6 +14776,7 @@ OP_E_memory (int bytemode, int sizeflag)
 	  break;
 	case x_mode:
 	case evex_half_bcst_xmmq_mode:
+	case xmmq_mode:
 	  if (vex.b)
 	    {
 	      shift = vex.w ? 3 : 2;
@@ -14261,7 +14785,6 @@ OP_E_memory (int bytemode, int sizeflag)
 	  /* Fall through if vex.b == 0.  */
 	case xmmqd_mode:
 	case xmmdw_mode:
-	case xmmq_mode:
 	case ymmq_mode:
 	case evex_x_nobcst_mode:
 	case x_swap_mode:
@@ -14316,14 +14839,16 @@ OP_E_memory (int bytemode, int sizeflag)
 	 operand).  We might want to make it 3, 4 or 5 (e.g. for
 	 xmmq_mode).  In case of broadcast enabled the corrections
 	 aren't needed, as element size is always 32 or 64 bits.  */
-      if (bytemode == xmmq_mode
-	  || (bytemode == evex_half_bcst_xmmq_mode
-	      && !vex.b))
+      if (!vex.b
+	  && (bytemode == xmmq_mode
+	      || bytemode == evex_half_bcst_xmmq_mode))
 	shift -= 1;
       else if (bytemode == xmmqd_mode)
 	shift -= 2;
       else if (bytemode == xmmdw_mode)
 	shift -= 3;
+      else if (bytemode == ymmq_mode && vex.length == 128)
+	shift -= 1;
     }
   else
     shift = 0;
@@ -14618,12 +15143,45 @@ OP_E_memory (int bytemode, int sizeflag)
     }
   if (vex.evex && vex.b
       && (bytemode == x_mode
+	  || bytemode == xmmq_mode
 	  || bytemode == evex_half_bcst_xmmq_mode))
     {
-      if (vex.w || bytemode == evex_half_bcst_xmmq_mode)
-	oappend ("{1to8}");
+      if (vex.w
+	  || bytemode == xmmq_mode
+	  || bytemode == evex_half_bcst_xmmq_mode)
+	{
+	  switch (vex.length)
+	    {
+	    case 128:
+	      oappend ("{1to2}");
+	      break;
+	    case 256:
+	      oappend ("{1to4}");
+	      break;
+	    case 512:
+	      oappend ("{1to8}");
+	      break;
+	    default:
+	      abort ();
+	    }
+	}
       else
-	oappend ("{1to16}");
+	{
+	  switch (vex.length)
+	    {
+	    case 128:
+	      oappend ("{1to4}");
+	      break;
+	    case 256:
+	      oappend ("{1to8}");
+	      break;
+	    case 512:
+	      oappend ("{1to16}");
+	      break;
+	    default:
+	      abort ();
+	    }
+	}
     }
 }
 
@@ -14660,6 +15218,8 @@ OP_G (int bytemode, int sizeflag)
       oappend (names16[modrm.reg + add]);
       break;
     case d_mode:
+    case db_mode:
+    case dw_mode:
       oappend (names32[modrm.reg + add]);
       break;
     case q_mode:
@@ -14673,6 +15233,7 @@ OP_G (int bytemode, int sizeflag)
     case dqb_mode:
     case dqd_mode:
     case dqw_mode:
+    case dqw_swap_mode:
       USED_REX (REX_W);
       if (rex & REX_W)
 	oappend (names64[modrm.reg + add]);
@@ -14691,6 +15252,7 @@ OP_G (int bytemode, int sizeflag)
       else
 	oappend (names32[modrm.reg + add]);
       break;
+    case mask_bd_mode:
     case mask_mode:
       oappend (names_mask[modrm.reg + add]);
       break;
@@ -15326,10 +15888,10 @@ OP_T (int dummy ATTRIBUTE_UNUSED, int si
 static void
 OP_R (int bytemode, int sizeflag)
 {
-  if (modrm.mod == 3)
-    OP_E (bytemode, sizeflag);
-  else
-    BadOp ();
+  /* Skip mod/rm byte.  */
+  MODRM_CHECK;
+  codep++;
+  OP_E_register (bytemode, sizeflag);
 }
 
 static void
@@ -15517,6 +16079,7 @@ OP_EX (int bytemode, int sizeflag)
   if ((sizeflag & SUFFIX_ALWAYS)
       && (bytemode == x_swap_mode
 	  || bytemode == d_swap_mode
+	  || bytemode == dqw_swap_mode
 	  || bytemode == d_scalar_swap_mode
 	  || bytemode == q_swap_mode
 	  || bytemode == q_scalar_swap_mode))
@@ -16096,6 +16659,7 @@ OP_VEX (int bytemode, int sizeflag ATTRI
 	  else
 	    names = names32;
 	  break;
+	case mask_bd_mode:
 	case mask_mode:
 	  names = names_mask;
 	  break;
@@ -16115,6 +16679,7 @@ OP_VEX (int bytemode, int sizeflag ATTRI
 	case vex_vsib_q_w_d_mode:
 	  names = vex.w ? names_ymm : names_xmm;
 	  break;
+	case mask_bd_mode:
 	case mask_mode:
 	  names = names_mask;
 	  break;
@@ -16701,7 +17266,7 @@ static void
 OP_Mask (int bytemode, int sizeflag ATTRIBUTE_UNUSED)
 {
   if (!vex.evex
-      || bytemode != mask_mode)
+      || (bytemode != mask_mode && bytemode != mask_bd_mode))
     abort ();
 
   USED_REX (REX_R);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-dis-evex.h ./opcodes/i386-dis-evex.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-dis-evex.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i386-dis-evex.h	2015-01-20 02:05:40.000000000 +0000
@@ -98,10 +98,10 @@ static const struct dis386 evex_table[][
     { PREFIX_TABLE (PREFIX_EVEX_0F51) },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F54) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F55) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F56) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F57) },
     /* 58 */
     { PREFIX_TABLE (PREFIX_EVEX_0F58) },
     { PREFIX_TABLE (PREFIX_EVEX_0F59) },
@@ -112,30 +112,30 @@ static const struct dis386 evex_table[][
     { PREFIX_TABLE (PREFIX_EVEX_0F5E) },
     { PREFIX_TABLE (PREFIX_EVEX_0F5F) },
     /* 60 */
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F60) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F61) },
     { PREFIX_TABLE (PREFIX_EVEX_0F62) },
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F63) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F64) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F65) },
     { PREFIX_TABLE (PREFIX_EVEX_0F66) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F67) },
     /* 68 */
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F68) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F69) },
     { PREFIX_TABLE (PREFIX_EVEX_0F6A) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F6B) },
     { PREFIX_TABLE (PREFIX_EVEX_0F6C) },
     { PREFIX_TABLE (PREFIX_EVEX_0F6D) },
     { PREFIX_TABLE (PREFIX_EVEX_0F6E) },
     { PREFIX_TABLE (PREFIX_EVEX_0F6F) },
     /* 70 */
     { PREFIX_TABLE (PREFIX_EVEX_0F70) },
-    { Bad_Opcode },
+    { REG_TABLE (REG_EVEX_0F71) },
     { REG_TABLE (REG_EVEX_0F72) },
     { REG_TABLE (REG_EVEX_0F73) },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F74) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F75) },
     { PREFIX_TABLE (PREFIX_EVEX_0F76) },
     { Bad_Opcode },
     /* 78 */
@@ -224,8 +224,8 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { PREFIX_TABLE (PREFIX_EVEX_0FC2) },
     { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FC4) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FC5) },
     { PREFIX_TABLE (PREFIX_EVEX_0FC6) },
     { Bad_Opcode },
     /* C8 */
@@ -239,67 +239,67 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     /* D0 */
     { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FD1) },
     { PREFIX_TABLE (PREFIX_EVEX_0FD2) },
     { PREFIX_TABLE (PREFIX_EVEX_0FD3) },
     { PREFIX_TABLE (PREFIX_EVEX_0FD4) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FD5) },
     { PREFIX_TABLE (PREFIX_EVEX_0FD6) },
     { Bad_Opcode },
     /* D8 */
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FD8) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FD9) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FDA) },
     { PREFIX_TABLE (PREFIX_EVEX_0FDB) },
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FDC) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FDD) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FDE) },
     { PREFIX_TABLE (PREFIX_EVEX_0FDF) },
     /* E0 */
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FE0) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FE1) },
     { PREFIX_TABLE (PREFIX_EVEX_0FE2) },
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FE3) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FE4) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FE5) },
     { PREFIX_TABLE (PREFIX_EVEX_0FE6) },
     { PREFIX_TABLE (PREFIX_EVEX_0FE7) },
     /* E8 */
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FE8) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FE9) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FEA) },
     { PREFIX_TABLE (PREFIX_EVEX_0FEB) },
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FEC) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FED) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FEE) },
     { PREFIX_TABLE (PREFIX_EVEX_0FEF) },
     /* F0 */
     { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FF1) },
     { PREFIX_TABLE (PREFIX_EVEX_0FF2) },
     { PREFIX_TABLE (PREFIX_EVEX_0FF3) },
     { PREFIX_TABLE (PREFIX_EVEX_0FF4) },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FF5) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FF6) },
     { Bad_Opcode },
     /* F8 */
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FF8) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FF9) },
     { PREFIX_TABLE (PREFIX_EVEX_0FFA) },
     { PREFIX_TABLE (PREFIX_EVEX_0FFB) },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0FFC) },
+    { PREFIX_TABLE (PREFIX_EVEX_0FFD) },
     { PREFIX_TABLE (PREFIX_EVEX_0FFE) },
     { Bad_Opcode },
   },
   /* EVEX_0F38 */
   {
     /* 00 */
+    { PREFIX_TABLE (PREFIX_EVEX_0F3800) },
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3804) },
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -307,13 +307,13 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F380B) },
     { PREFIX_TABLE (PREFIX_EVEX_0F380C) },
     { PREFIX_TABLE (PREFIX_EVEX_0F380D) },
     { Bad_Opcode },
     { Bad_Opcode },
     /* 10 */
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3810) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3811) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3812) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3813) },
@@ -326,30 +326,30 @@ static const struct dis386 evex_table[][
     { PREFIX_TABLE (PREFIX_EVEX_0F3819) },
     { PREFIX_TABLE (PREFIX_EVEX_0F381A) },
     { PREFIX_TABLE (PREFIX_EVEX_0F381B) },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F381C) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F381D) },
     { PREFIX_TABLE (PREFIX_EVEX_0F381E) },
     { PREFIX_TABLE (PREFIX_EVEX_0F381F) },
     /* 20 */
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3820) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3821) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3822) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3823) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3824) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3825) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3826) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3827) },
     /* 28 */
     { PREFIX_TABLE (PREFIX_EVEX_0F3828) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3829) },
     { PREFIX_TABLE (PREFIX_EVEX_0F382A) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F382B) },
     { PREFIX_TABLE (PREFIX_EVEX_0F382C) },
     { PREFIX_TABLE (PREFIX_EVEX_0F382D) },
     { Bad_Opcode },
     { Bad_Opcode },
     /* 30 */
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3830) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3831) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3832) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3833) },
@@ -358,13 +358,13 @@ static const struct dis386 evex_table[][
     { PREFIX_TABLE (PREFIX_EVEX_0F3836) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3837) },
     /* 38 */
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3838) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3839) },
     { PREFIX_TABLE (PREFIX_EVEX_0F383A) },
     { PREFIX_TABLE (PREFIX_EVEX_0F383B) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F383C) },
     { PREFIX_TABLE (PREFIX_EVEX_0F383D) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F383E) },
     { PREFIX_TABLE (PREFIX_EVEX_0F383F) },
     /* 40 */
     { PREFIX_TABLE (PREFIX_EVEX_0F3840) },
@@ -409,7 +409,7 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { PREFIX_TABLE (PREFIX_EVEX_0F3864) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3865) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3866) },
     { Bad_Opcode },
     /* 68 */
     { Bad_Opcode },
@@ -426,23 +426,23 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3875) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3876) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3877) },
     /* 78 */
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3878) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3879) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F387A) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F387B) },
     { PREFIX_TABLE (PREFIX_EVEX_0F387C) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F387D) },
     { PREFIX_TABLE (PREFIX_EVEX_0F387E) },
     { PREFIX_TABLE (PREFIX_EVEX_0F387F) },
     /* 80 */
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3883) },
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -453,7 +453,7 @@ static const struct dis386 evex_table[][
     { PREFIX_TABLE (PREFIX_EVEX_0F388A) },
     { PREFIX_TABLE (PREFIX_EVEX_0F388B) },
     { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F388D) },
     { Bad_Opcode },
     { Bad_Opcode },
     /* 90 */
@@ -497,8 +497,8 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F38B4) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F38B5) },
     { PREFIX_TABLE (PREFIX_EVEX_0F38B6) },
     { PREFIX_TABLE (PREFIX_EVEX_0F38B7) },
     /* B8 */
@@ -602,15 +602,15 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A0F) },
     /* 10 */
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A14) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A15) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A16) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3A17) },
     /* 18 */
     { PREFIX_TABLE (PREFIX_EVEX_0F3A18) },
@@ -622,9 +622,9 @@ static const struct dis386 evex_table[][
     { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) },
     /* 20 */
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A20) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3A21) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A22) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3A23) },
     { Bad_Opcode },
     { PREFIX_TABLE (PREFIX_EVEX_0F3A25) },
@@ -655,12 +655,12 @@ static const struct dis386 evex_table[][
     { PREFIX_TABLE (PREFIX_EVEX_0F3A3B) },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A3E) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A3F) },
     /* 40 */
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A42) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3A43) },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -676,14 +676,14 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { Bad_Opcode },
     /* 50 */
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A50) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A51) },
     { Bad_Opcode },
     { Bad_Opcode },
     { PREFIX_TABLE (PREFIX_EVEX_0F3A54) },
     { PREFIX_TABLE (PREFIX_EVEX_0F3A55) },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A56) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A57) },
     /* 58 */
     { Bad_Opcode },
     { Bad_Opcode },
@@ -700,8 +700,8 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
-    { Bad_Opcode },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A66) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3A67) },
     /* 68 */
     { Bad_Opcode },
     { Bad_Opcode },
@@ -878,6 +878,16 @@ static const struct dis386 evex_table[][
 #endif /* NEED_OPCODE_TABLE */
 
 #ifdef NEED_REG_TABLE
+  /* REG_EVEX_0F71 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_2) },
+    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_4) },
+    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_6) },
+  },
   /* REG_EVEX_0F72 */
   {
     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_0) },
@@ -893,10 +903,11 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { Bad_Opcode },
     { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_2) },
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_3) },
     { Bad_Opcode },
     { Bad_Opcode },
     { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_6) },
+    { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_7) },
   },
   /* REG_EVEX_0F38C6 */
   {
@@ -1030,6 +1041,30 @@ static const struct dis386 evex_table[][
     { VEX_W_TABLE (EVEX_W_0F51_P_2) },
     { VEX_W_TABLE (EVEX_W_0F51_P_3) },
   },
+  /* PREFIX_EVEX_0F54 */
+  {
+    { VEX_W_TABLE (EVEX_W_0F54_P_0) },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F54_P_2) },
+  },
+  /* PREFIX_EVEX_0F55 */
+  {
+    { VEX_W_TABLE (EVEX_W_0F55_P_0) },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F55_P_2) },
+  },
+  /* PREFIX_EVEX_0F56 */
+  {
+    { VEX_W_TABLE (EVEX_W_0F56_P_0) },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F56_P_2) },
+  },
+  /* PREFIX_EVEX_0F57 */
+  {
+    { VEX_W_TABLE (EVEX_W_0F57_P_0) },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F57_P_2) },
+  },
   /* PREFIX_EVEX_0F58 */
   {
     { VEX_W_TABLE (EVEX_W_0F58_P_0) },
@@ -1085,24 +1120,78 @@ static const struct dis386 evex_table[][
     { VEX_W_TABLE (EVEX_W_0F5F_P_2) },
     { VEX_W_TABLE (EVEX_W_0F5F_P_3) },
   },
+  /* PREFIX_EVEX_0F60 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpunpcklbw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0F61 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpunpcklwd",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0F62 */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F62_P_2) },
   },
+  /* PREFIX_EVEX_0F63 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpacksswb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0F64 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpcmpgtb",	{ XMask, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0F65 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpcmpgtw",	{ XMask, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0F66 */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F66_P_2) },
   },
+  /* PREFIX_EVEX_0F67 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpackuswb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0F68 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpunpckhbw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0F69 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpunpckhwd",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0F6A */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F6A_P_2) },
   },
+  /* PREFIX_EVEX_0F6B */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F6B_P_2) },
+  },
   /* PREFIX_EVEX_0F6C */
   {
     { Bad_Opcode },
@@ -1126,12 +1215,32 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F6F_P_1) },
     { VEX_W_TABLE (EVEX_W_0F6F_P_2) },
+    { VEX_W_TABLE (EVEX_W_0F6F_P_3) },
   },
   /* PREFIX_EVEX_0F70 */
   {
     { Bad_Opcode },
-    { Bad_Opcode },
+    { "vpshufhw",	{ XM, EXx, Ib } },
     { VEX_W_TABLE (EVEX_W_0F70_P_2) },
+    { "vpshuflw",	{ XM, EXx, Ib } },
+  },
+  /* PREFIX_EVEX_0F71_REG_2 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsrlw",	{ Vex, EXx, Ib } },
+  },
+  /* PREFIX_EVEX_0F71_REG_4 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsraw",	{ Vex, EXx, Ib } },
+  },
+  /* PREFIX_EVEX_0F71_REG_6 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsllw",	{ Vex, EXx, Ib } },
   },
   /* PREFIX_EVEX_0F72_REG_0 */
   {
@@ -1169,12 +1278,36 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F73_R_2_P_2) },
   },
+  /* PREFIX_EVEX_0F73_REG_3 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsrldq",	{ Vex, EXx, Ib } },
+  },
   /* PREFIX_EVEX_0F73_REG_6 */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F73_R_6_P_2) },
   },
+  /* PREFIX_EVEX_0F73_REG_7 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpslldq",	{ Vex, EXx, Ib } },
+  },
+  /* PREFIX_EVEX_0F74 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpcmpeqb",	{ XMask, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0F75 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpcmpeqw",	{ XMask, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0F76 */
   {
     { Bad_Opcode },
@@ -1185,28 +1318,28 @@ static const struct dis386 evex_table[][
   {
     { VEX_W_TABLE (EVEX_W_0F78_P_0) },
     { "vcvttss2usi",	{ Gdq, EXxmm_md, EXxEVexS } },
-    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F78_P_2) },
     { "vcvttsd2usi",	{ Gdq, EXxmm_mq, EXxEVexS } },
   },
   /* PREFIX_EVEX_0F79 */
   {
     { VEX_W_TABLE (EVEX_W_0F79_P_0) },
     { "vcvtss2usi",	{ Gdq, EXxmm_md, EXxEVexR } },
-    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F79_P_2) },
     { "vcvtsd2usi",	{ Gdq, EXxmm_mq, EXxEVexR } },
   },
   /* PREFIX_EVEX_0F7A */
   {
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F7A_P_1) },
-    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F7A_P_2) },
     { VEX_W_TABLE (EVEX_W_0F7A_P_3) },
   },
   /* PREFIX_EVEX_0F7B */
   {
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F7B_P_1) },
-    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F7B_P_2) },
     { VEX_W_TABLE (EVEX_W_0F7B_P_3) },
   },
   /* PREFIX_EVEX_0F7E */
@@ -1220,8 +1353,8 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F7F_P_1) },
     { VEX_W_TABLE (EVEX_W_0F7F_P_2) },
+    { VEX_W_TABLE (EVEX_W_0F7F_P_3) },
   },
-
   /* PREFIX_EVEX_0FC2 */
   {
     { VEX_W_TABLE (EVEX_W_0FC2_P_0) },
@@ -1229,12 +1362,30 @@ static const struct dis386 evex_table[][
     { VEX_W_TABLE (EVEX_W_0FC2_P_2) },
     { VEX_W_TABLE (EVEX_W_0FC2_P_3) },
   },
+  /* PREFIX_EVEX_0FC4 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpinsrw",	{ XM, Vex128, Edw, Ib } },
+  },
+  /* PREFIX_EVEX_0FC5 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpextrw",	{ Gdq, XS, Ib } },
+  },
   /* PREFIX_EVEX_0FC6 */
   {
     { VEX_W_TABLE (EVEX_W_0FC6_P_0) },
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0FC6_P_2) },
   },
+  /* PREFIX_EVEX_0FD1 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsrlw",	{ XM, Vex, EXxmm } },
+  },
   /* PREFIX_EVEX_0FD2 */
   {
     { Bad_Opcode },
@@ -1253,30 +1404,102 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0FD4_P_2) },
   },
+  /* PREFIX_EVEX_0FD5 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmullw",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0FD6 */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0FD6_P_2) },
   },
+  /* PREFIX_EVEX_0FD8 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsubusb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FD9 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsubusw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FDA */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpminub",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0FDB */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { "vpand%LW",	{ XM, Vex, EXx } },
   },
+  /* PREFIX_EVEX_0FDC */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpaddusb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FDD */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpaddusw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FDE */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmaxub",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0FDF */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { "vpandn%LW",	{ XM, Vex, EXx } },
   },
+  /* PREFIX_EVEX_0FE0 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpavgb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FE1 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsraw",	{ XM, Vex, EXxmm } },
+  },
   /* PREFIX_EVEX_0FE2 */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { "vpsra%LW",	{ XM, Vex, EXxmm } },
   },
+  /* PREFIX_EVEX_0FE3 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpavgw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FE4 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmulhuw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FE5 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmulhw",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0FE6 */
   {
     { Bad_Opcode },
@@ -1290,18 +1513,60 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0FE7_P_2) },
   },
+  /* PREFIX_EVEX_0FE8 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsubsb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FE9 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsubsw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FEA */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpminsw",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0FEB */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { "vpor%LW",	{ XM, Vex, EXx } },
   },
+  /* PREFIX_EVEX_0FEC */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpaddsb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FED */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpaddsw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FEE */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmaxsw",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0FEF */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { "vpxor%LW",	{ XM, Vex, EXx } },
   },
+  /* PREFIX_EVEX_0FF1 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsllw",	{ XM, Vex, EXxmm } },
+  },
   /* PREFIX_EVEX_0FF2 */
   {
     { Bad_Opcode },
@@ -1320,6 +1585,30 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0FF4_P_2) },
   },
+  /* PREFIX_EVEX_0FF5 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmaddwd",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FF6 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsadbw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FF8 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsubb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FF9 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpsubw",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0FFA */
   {
     { Bad_Opcode },
@@ -1332,13 +1621,42 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0FFB_P_2) },
   },
+  /* PREFIX_EVEX_0FFC */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpaddb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0FFD */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpaddw",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0FFE */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0FFE_P_2) },
   },
-
+  /* PREFIX_EVEX_0F3800 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpshufb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0F3804 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmaddubsw",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0F380B */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmulhrsw",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0F380C */
   {
     { Bad_Opcode },
@@ -1351,15 +1669,23 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F380D_P_2) },
   },
+  /* PREFIX_EVEX_0F3810 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3810_P_1) },
+    { VEX_W_TABLE (EVEX_W_0F3810_P_2) },
+  },
   /* PREFIX_EVEX_0F3811 */
   {
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F3811_P_1) },
+    { VEX_W_TABLE (EVEX_W_0F3811_P_2) },
   },
   /* PREFIX_EVEX_0F3812 */
   {
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F3812_P_1) },
+    { VEX_W_TABLE (EVEX_W_0F3812_P_2) },
   },
   /* PREFIX_EVEX_0F3813 */
   {
@@ -1409,6 +1735,18 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F381B_P_2) },
   },
+  /* PREFIX_EVEX_0F381C */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpabsb",	{ XM, EXx } },
+  },
+  /* PREFIX_EVEX_0F381D */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpabsw",	{ XM, EXx } },
+  },
   /* PREFIX_EVEX_0F381E */
   {
     { Bad_Opcode },
@@ -1421,6 +1759,12 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F381F_P_2) },
   },
+  /* PREFIX_EVEX_0F3820 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3820_P_1) },
+    { "vpmovsxbw",	{ XM, EXxmmq } },
+  },
   /* PREFIX_EVEX_0F3821 */
   {
     { Bad_Opcode },
@@ -1451,6 +1795,12 @@ static const struct dis386 evex_table[][
     { VEX_W_TABLE (EVEX_W_0F3825_P_1) },
     { VEX_W_TABLE (EVEX_W_0F3825_P_2) },
   },
+  /* PREFIX_EVEX_0F3826 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3826_P_1) },
+    { VEX_W_TABLE (EVEX_W_0F3826_P_2) },
+  },
   /* PREFIX_EVEX_0F3827 */
   {
     { Bad_Opcode },
@@ -1460,13 +1810,13 @@ static const struct dis386 evex_table[][
   /* PREFIX_EVEX_0F3828 */
   {
     { Bad_Opcode },
-    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3828_P_1) },
     { VEX_W_TABLE (EVEX_W_0F3828_P_2) },
   },
   /* PREFIX_EVEX_0F3829 */
   {
     { Bad_Opcode },
-    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3829_P_1) },
     { VEX_W_TABLE (EVEX_W_0F3829_P_2) },
   },
   /* PREFIX_EVEX_0F382A */
@@ -1475,6 +1825,12 @@ static const struct dis386 evex_table[][
     { VEX_W_TABLE (EVEX_W_0F382A_P_1) },
     { VEX_W_TABLE (EVEX_W_0F382A_P_2) },
   },
+  /* PREFIX_EVEX_0F382B */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F382B_P_2) },
+  },
   /* PREFIX_EVEX_0F382C */
   {
     { Bad_Opcode },
@@ -1487,6 +1843,12 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vscalefs%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
   },
+  /* PREFIX_EVEX_0F3830 */
+  {
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3830_P_1) },
+    { "vpmovzxbw",	{ XM, EXxmmq } },
+  },
   /* PREFIX_EVEX_0F3831 */
   {
     { Bad_Opcode },
@@ -1529,16 +1891,23 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F3837_P_2) },
   },
-  /* PREFIX_EVEX_0F3839 */
+  /* PREFIX_EVEX_0F3838 */
   {
     { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3838_P_1) },
+    { "vpminsb",	{ XM, Vex, EXx } },
+  },
+  /* PREFIX_EVEX_0F3839 */
+  {
     { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3839_P_1) },
     { "vpmins%LW",	{ XM, Vex, EXx } },
   },
   /* PREFIX_EVEX_0F383A */
   {
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F383A_P_1) },
+    { "vpminuw",	{ XM, Vex, EXx } },
   },
   /* PREFIX_EVEX_0F383B */
   {
@@ -1546,12 +1915,24 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vpminu%LW",	{ XM, Vex, EXx } },
   },
+  /* PREFIX_EVEX_0F383C */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmaxsb",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0F383D */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { "vpmaxs%LW",	{ XM, Vex, EXx } },
   },
+  /* PREFIX_EVEX_0F383E */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmaxuw",	{ XM, Vex, EXx } },
+  },
   /* PREFIX_EVEX_0F383F */
   {
     { Bad_Opcode },
@@ -1660,6 +2041,18 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vblendmp%XW",	{ XM, Vex, EXx } },
   },
+  /* PREFIX_EVEX_0F3866 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3866_P_2) },
+  },
+  /* PREFIX_EVEX_0F3875 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3875_P_2) },
+  },
   /* PREFIX_EVEX_0F3876 */
   {
     { Bad_Opcode },
@@ -1672,12 +2065,42 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vpermi2p%XW",	{ XM, Vex, EXx } },
   },
+  /* PREFIX_EVEX_0F3878 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3878_P_2) },
+  },
+  /* PREFIX_EVEX_0F3879 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3879_P_2) },
+  },
+  /* PREFIX_EVEX_0F387A */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F387A_P_2) },
+  },
+  /* PREFIX_EVEX_0F387B */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F387B_P_2) },
+  },
   /* PREFIX_EVEX_0F387C */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { "vpbroadcast%LW",	{ XM, Rdq } },
   },
+  /* PREFIX_EVEX_0F387D */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F387D_P_2) },
+  },
   /* PREFIX_EVEX_0F387E */
   {
     { Bad_Opcode },
@@ -1690,6 +2113,12 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vpermt2p%XW",	{ XM, Vex, EXx } },
   },
+  /* PREFIX_EVEX_0F3883 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3883_P_2) },
+  },
   /* PREFIX_EVEX_0F3888 */
   {
     { Bad_Opcode },
@@ -1714,6 +2143,12 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vpcompress%LW",	{ EXEvexXGscat, XM } },
   },
+  /* PREFIX_EVEX_0F388D */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F388D_P_2) },
+  },
   /* PREFIX_EVEX_0F3890 */
   {
     { Bad_Opcode },
@@ -1882,6 +2317,18 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vfnmsub213s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
   },
+  /* PREFIX_EVEX_0F38B4 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmadd52luq",	{ XM, Vex, EXx }  },
+  },
+  /* PREFIX_EVEX_0F38B5 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpmadd52huq",	{ XM, Vex, EXx }  },
+  },
   /* PREFIX_EVEX_0F38B6 */
   {
     { Bad_Opcode },
@@ -2080,6 +2527,30 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F3A0B_P_2) },
   },
+  /* PREFIX_EVEX_0F3A0F */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpalignr",	{ XM, Vex, EXx, Ib } },
+  },
+  /* PREFIX_EVEX_0F3A14 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpextrb",	{ Edqb, XM, Ib } },
+  },
+  /* PREFIX_EVEX_0F3A15 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpextrw",	{ EdqwS, XM, Ib } },
+  },
+  /* PREFIX_EVEX_0F3A16 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A16_P_2) },
+  },
   /* PREFIX_EVEX_0F3A17 */
   {
     { Bad_Opcode },
@@ -2128,12 +2599,24 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vpcmp%LW",	{ XMask, Vex, EXx, VPCMP } },
   },
+  /* PREFIX_EVEX_0F3A20 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { "vpinsrb",	{ XM, Vex128, Edb, Ib } },
+  },
   /* PREFIX_EVEX_0F3A21 */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F3A21_P_2) },
   },
+  /* PREFIX_EVEX_0F3A22 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A22_P_2) },
+  },
   /* PREFIX_EVEX_0F3A23 */
   {
     { Bad_Opcode },
@@ -2182,12 +2665,42 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F3A3B_P_2) },
   },
+  /* PREFIX_EVEX_0F3A3E */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A3E_P_2) },
+  },
+  /* PREFIX_EVEX_0F3A3F */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A3F_P_2) },
+  },
+  /* PREFIX_EVEX_0F3A42 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A42_P_2) },
+  },
   /* PREFIX_EVEX_0F3A43 */
   {
     { Bad_Opcode },
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F3A43_P_2) },
   },
+  /* PREFIX_EVEX_0F3A50 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A50_P_2) },
+  },
+  /* PREFIX_EVEX_0F3A51 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A51_P_2) },
+  },
   /* PREFIX_EVEX_0F3A54 */
   {
     { Bad_Opcode },
@@ -2200,6 +2713,30 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vfixupimms%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib } },
   },
+  /* PREFIX_EVEX_0F3A56 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A56_P_2) },
+  },
+  /* PREFIX_EVEX_0F3A57 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A57_P_2) },
+  },
+  /* PREFIX_EVEX_0F3A66 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A66_P_2) },
+  },
+  /* PREFIX_EVEX_0F3A67 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3A67_P_2) },
+  },
 #endif /* NEED_PREFIX_TABLE */
 
 #ifdef NEED_VEX_W_TABLE
@@ -2213,7 +2750,7 @@ static const struct dis386 evex_table[][
   },
   /* EVEX_W_0F10_P_1_M_1 */
   {
-    { "vmovss",	{ XMScalar, VexScalar, EXx } },
+    { "vmovss",	{ XMScalar, VexScalar, EXxmm_md } },
   },
   /* EVEX_W_0F10_P_2 */
   {
@@ -2228,7 +2765,7 @@ static const struct dis386 evex_table[][
   /* EVEX_W_0F10_P_3_M_1 */
   {
     { Bad_Opcode },
-    { "vmovsd",	{ XMScalar, VexScalar, EXx } },
+    { "vmovsd",	{ XMScalar, VexScalar, EXxmm_mq } },
   },
   /* EVEX_W_0F11_P_0 */
   {
@@ -2405,6 +2942,42 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vsqrtsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
   },
+  /* EVEX_W_0F54_P_0 */
+  {
+    { "vandps",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F54_P_2 */
+  {
+    { Bad_Opcode },
+    { "vandpd",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F55_P_0 */
+  {
+    { "vandnps",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F55_P_2 */
+  {
+    { Bad_Opcode },
+    { "vandnpd",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F56_P_0 */
+  {
+    { "vorps",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F56_P_2 */
+  {
+    { Bad_Opcode },
+    { "vorpd",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F57_P_0 */
+  {
+    { "vxorps",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F57_P_2 */
+  {
+    { Bad_Opcode },
+    { "vxorpd",	{ XM, Vex, EXx } },
+  },
   /* EVEX_W_0F58_P_0 */
   {
     { "vaddps",	{ XM, Vex, EXx, EXxEVexR } },
@@ -2462,6 +3035,7 @@ static const struct dis386 evex_table[][
   /* EVEX_W_0F5B_P_0 */
   {
     { "vcvtdq2ps",	{ XM, EXx, EXxEVexR } },
+    { "vcvtqq2ps",	{ XMxmmq, EXx, EXxEVexR } },
   },
   /* EVEX_W_0F5B_P_1 */
   {
@@ -2555,6 +3129,10 @@ static const struct dis386 evex_table[][
   {
     { "vpunpckhdq",	{ XM, Vex, EXx } },
   },
+  /* EVEX_W_0F6B_P_2 */
+  {
+    { "vpackssdw",	{ XM, Vex, EXx } },
+  },
   /* EVEX_W_0F6C_P_2 */
   {
     { Bad_Opcode },
@@ -2580,6 +3158,11 @@ static const struct dis386 evex_table[][
     { "vmovdqa32",	{ XM, EXEvexXNoBcst } },
     { "vmovdqa64",	{ XM, EXEvexXNoBcst } },
   },
+  /* EVEX_W_0F6F_P_3 */
+  {
+    { "vmovdqu8",	{ XM, EXx } },
+    { "vmovdqu16",	{ XM, EXx } },
+  },
   /* EVEX_W_0F70_P_2 */
   {
     { "vpshufd",	{ XM, EXx, Ib } },
@@ -2611,24 +3194,46 @@ static const struct dis386 evex_table[][
     { "vcvttps2udq",	{ XM, EXx, EXxEVexS } },
     { "vcvttpd2udq",	{ XMxmmq, EXx, EXxEVexS } },
   },
+  /* EVEX_W_0F78_P_2 */
+  {
+    { "vcvttps2uqq",	{ XM, EXxmmq, EXxEVexS } },
+    { "vcvttpd2uqq",	{ XM, EXx, EXxEVexS } },
+  },
   /* EVEX_W_0F79_P_0 */
   {
     { "vcvtps2udq",	{ XM, EXx, EXxEVexR } },
     { "vcvtpd2udq",	{ XMxmmq, EXx, EXxEVexR } },
   },
+  /* EVEX_W_0F79_P_2 */
+  {
+    { "vcvtps2uqq",	{ XM, EXxmmq, EXxEVexR } },
+    { "vcvtpd2uqq",	{ XM, EXx, EXxEVexR } },
+  },
   /* EVEX_W_0F7A_P_1 */
   {
     { "vcvtudq2pd",	{ XM, EXEvexHalfBcstXmmq } },
+    { "vcvtuqq2pd",	{ XM, EXx, EXxEVexR } },
+  },
+  /* EVEX_W_0F7A_P_2 */
+  {
+    { "vcvttps2qq",	{ XM, EXxmmq, EXxEVexS } },
+    { "vcvttpd2qq",	{ XM, EXx, EXxEVexS } },
   },
   /* EVEX_W_0F7A_P_3 */
   {
     { "vcvtudq2ps",	{ XM, EXx, EXxEVexR } },
+    { "vcvtuqq2ps",	{ XMxmmq, EXx, EXxEVexR } },
   },
   /* EVEX_W_0F7B_P_1 */
   {
     { "vcvtusi2ss",	{ XMScalar, VexScalar, EXxEVexR, Ed } },
     { "vcvtusi2ss",	{ XMScalar, VexScalar, EXxEVexR, Eq } },
   },
+  /* EVEX_W_0F7B_P_2 */
+  {
+    { "vcvtps2qq",	{ XM, EXxmmq, EXxEVexR } },
+    { "vcvtpd2qq",	{ XM, EXx, EXxEVexR } },
+  },
   /* EVEX_W_0F7B_P_3 */
   {
     { "vcvtusi2sd",	{ XMScalar, VexScalar, Ed } },
@@ -2654,6 +3259,11 @@ static const struct dis386 evex_table[][
     { "vmovdqa32",	{ EXxS, XM } },
     { "vmovdqa64",	{ EXxS, XM } },
   },
+  /* EVEX_W_0F7F_P_3 */
+  {
+    { "vmovdqu8",	{ EXxS, XM } },
+    { "vmovdqu16",	{ EXxS, XM } },
+  },
   /* EVEX_W_0FC2_P_0 */
   {
     { "vcmpps",	{ XMask, Vex, EXx, EXxEVexS, VCMP } },
@@ -2703,6 +3313,7 @@ static const struct dis386 evex_table[][
   /* EVEX_W_0FE6_P_1 */
   {
     { "vcvtdq2pd",	{ XM, EXEvexHalfBcstXmmq } },
+    { "vcvtqq2pd",	{ XM, EXx, EXxEVexR } },
   },
   /* EVEX_W_0FE6_P_2 */
   {
@@ -2745,7 +3356,6 @@ static const struct dis386 evex_table[][
   {
     { "vpaddd",	{ XM, Vex, EXx } },
   },
-
   /* EVEX_W_0F380C_P_2 */
   {
     { "vpermilps",	{ XM, Vex, EXx } },
@@ -2755,14 +3365,33 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vpermilpd",	{ XM, Vex, EXx } },
   },
+  /* EVEX_W_0F3810_P_1 */
+  {
+    { "vpmovuswb",	{ EXxmmq, XM } },
+  },
+  /* EVEX_W_0F3810_P_2 */
+  {
+    { Bad_Opcode },
+    { "vpsrlvw",	{ XM, Vex, EXx } },
+  },
   /* EVEX_W_0F3811_P_1 */
   {
     { "vpmovusdb",	{ EXxmmqd, XM } },
   },
+  /* EVEX_W_0F3811_P_2 */
+  {
+    { Bad_Opcode },
+    { "vpsravw",	{ XM, Vex, EXx } },
+  },
   /* EVEX_W_0F3812_P_1 */
   {
     { "vpmovusqb",	{ EXxmmdw, XM } },
   },
+  /* EVEX_W_0F3812_P_2 */
+  {
+    { Bad_Opcode },
+    { "vpsllvw",	{ XM, Vex, EXx } },
+  },
   /* EVEX_W_0F3813_P_1 */
   {
     { "vpmovusdw",	{ EXxmmq, XM } },
@@ -2785,16 +3414,17 @@ static const struct dis386 evex_table[][
   },
   /* EVEX_W_0F3819_P_2 */
   {
-    { Bad_Opcode },
+    { "vbroadcastf32x2",	{ XM, EXxmm_mq } },
     { "vbroadcastsd",	{ XM, EXxmm_mq } },
   },
   /* EVEX_W_0F381A_P_2 */
   {
     { "vbroadcastf32x4",	{ XM, EXxmm } },
+    { "vbroadcastf64x2",	{ XM, EXxmm } },
   },
   /* EVEX_W_0F381B_P_2 */
   {
-    { Bad_Opcode },
+    { "vbroadcastf32x8",	{ XM, EXxmmq } },
     { "vbroadcastf64x4",	{ XM, EXymm } },
   },
   /* EVEX_W_0F381E_P_2 */
@@ -2806,6 +3436,10 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vpabsq",	{ XM, EXx } },
   },
+  /* EVEX_W_0F3820_P_1 */
+  {
+    { "vpmovswb",	{ EXxmmq, XM } },
+  },
   /* EVEX_W_0F3821_P_1 */
   {
     { "vpmovsdb",	{ EXxmmqd, XM } },
@@ -2830,11 +3464,31 @@ static const struct dis386 evex_table[][
   {
     { "vpmovsxdq",	{ XM, EXxmmq } },
   },
+  /* EVEX_W_0F3826_P_1 */
+  {
+    { "vptestnmb",	{ XMask, Vex, EXx } },
+    { "vptestnmw",	{ XMask, Vex, EXx } },
+  },
+  /* EVEX_W_0F3826_P_2 */
+  {
+    { "vptestmb",	{ XMask, Vex, EXx } },
+    { "vptestmw",	{ XMask, Vex, EXx } },
+  },
+  /* EVEX_W_0F3828_P_1 */
+  {
+    { "vpmovm2b",	{ XM, MaskR } },
+    { "vpmovm2w",	{ XM, MaskR } },
+  },
   /* EVEX_W_0F3828_P_2 */
   {
     { Bad_Opcode },
     { "vpmuldq",	{ XM, Vex, EXx } },
   },
+  /* EVEX_W_0F3829_P_1 */
+  {
+    { "vpmovb2m",	{ XMask, EXx } },
+    { "vpmovw2m",	{ XMask, EXx } },
+  },
   /* EVEX_W_0F3829_P_2 */
   {
     { Bad_Opcode },
@@ -2849,6 +3503,14 @@ static const struct dis386 evex_table[][
   {
     { "vmovntdqa",	{ XM, EXEvexXNoBcst } },
   },
+  /* EVEX_W_0F382B_P_2 */
+  {
+    { "vpackusdw",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F3830_P_1 */
+  {
+    { "vpmovwb",	{ EXxmmq, XM } },
+  },
   /* EVEX_W_0F3831_P_1 */
   {
     { "vpmovdb",	{ EXxmmqd, XM } },
@@ -2878,6 +3540,16 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vpcmpgtq",	{ XMask, Vex, EXx } },
   },
+  /* EVEX_W_0F3838_P_1 */
+  {
+    { "vpmovm2d",	{ XM, MaskR } },
+    { "vpmovm2q",	{ XM, MaskR } },
+  },
+  /* EVEX_W_0F3839_P_1 */
+  {
+    { "vpmovd2m",	{ XMask, EXx } },
+    { "vpmovq2m",	{ XMask, EXx } },
+  },
   /* EVEX_W_0F383A_P_1 */
   {
     { "vpbroadcastmw2d",	{ XM, MaskR } },
@@ -2885,6 +3557,7 @@ static const struct dis386 evex_table[][
   /* EVEX_W_0F3840_P_2 */
   {
     { "vpmulld",	{ XM, Vex, EXx } },
+    { "vpmullq",	{ XM, Vex, EXx } },
   },
   /* EVEX_W_0F3858_P_2 */
   {
@@ -2892,18 +3565,60 @@ static const struct dis386 evex_table[][
   },
   /* EVEX_W_0F3859_P_2 */
   {
-    { Bad_Opcode },
+    { "vbroadcasti32x2",	{ XM, EXxmm_mq } },
     { "vpbroadcastq",	{ XM, EXxmm_mq } },
   },
   /* EVEX_W_0F385A_P_2 */
   {
     { "vbroadcasti32x4",	{ XM, EXxmm } },
+    { "vbroadcasti64x2",	{ XM, EXxmm } },
   },
   /* EVEX_W_0F385B_P_2 */
   {
-    { Bad_Opcode },
+    { "vbroadcasti32x8",	{ XM, EXxmmq } },
     { "vbroadcasti64x4",	{ XM, EXymm } },
   },
+  /* EVEX_W_0F3866_P_2 */
+  {
+    { "vpblendmb",	{ XM, Vex, EXx } },
+    { "vpblendmw",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F3875_P_2 */
+  {
+    { "vpermi2b",	{ XM, Vex, EXx } },
+    { "vpermi2w",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F3878_P_2 */
+  {
+    { "vpbroadcastb",	{ XM, EXxmm_mb } },
+  },
+  /* EVEX_W_0F3879_P_2 */
+  {
+    { "vpbroadcastw",	{ XM, EXxmm_mw } },
+  },
+  /* EVEX_W_0F387A_P_2 */
+  {
+    { "vpbroadcastb",	{ XM, Rd } },
+  },
+  /* EVEX_W_0F387B_P_2 */
+  {
+    { "vpbroadcastw",	{ XM, Rd } },
+  },
+  /* EVEX_W_0F387D_P_2 */
+  {
+    { "vpermt2b",	{ XM, Vex, EXx } },
+    { "vpermt2w",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F3883_P_2 */
+  {
+    { Bad_Opcode },
+    { "vpmultishiftqb",	{ XM, Vex, EXx } },
+  },
+  /* EVEX_W_0F388D_P_2 */
+  {
+    { "vpermb",	{ XM, Vex, EXx } },
+    { "vpermw",	{ XM, Vex, EXx } },
+  },
   /* EVEX_W_0F3891_P_2 */
   {
     { "vpgatherqd",	{ XMxmmq, MVexVSIBQDWpX } },
@@ -2944,7 +3659,6 @@ static const struct dis386 evex_table[][
     { "vscatterpf1qps",  { MVexVSIBDQWpX } },
     { "vscatterpf1qpd",  { MVexVSIBQWpX } },
   },
-
   /* EVEX_W_0F3A00_P_2 */
   {
     { Bad_Opcode },
@@ -2982,22 +3696,29 @@ static const struct dis386 evex_table[][
     { Bad_Opcode },
     { "vrndscalesd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib } },
   },
+  /* EVEX_W_0F3A16_P_2 */
+  {
+    { "vpextrd",	{ Edqd, XM, Ib } },
+    { "vpextrq",	{ Eq, XM, Ib } },
+  },
   /* EVEX_W_0F3A18_P_2 */
   {
     { "vinsertf32x4",	{ XM, Vex, EXxmm, Ib } },
+    { "vinsertf64x2",	{ XM, Vex, EXxmm, Ib } },
   },
   /* EVEX_W_0F3A19_P_2 */
   {
     { "vextractf32x4",	{ EXxmm, XM, Ib } },
+    { "vextractf64x2",	{ EXxmm, XM, Ib } },
   },
   /* EVEX_W_0F3A1A_P_2 */
   {
-    { Bad_Opcode },
+    { "vinsertf32x8",	{ XM, Vex, EXxmmq, Ib } },
     { "vinsertf64x4",	{ XM, Vex, EXxmmq, Ib } },
   },
   /* EVEX_W_0F3A1B_P_2 */
   {
-    { Bad_Opcode },
+    { "vextractf32x8",	{ EXxmmq, XM, Ib } },
     { "vextractf64x4",	{ EXxmmq, XM, Ib } },
   },
   /* EVEX_W_0F3A1D_P_2 */
@@ -3008,6 +3729,11 @@ static const struct dis386 evex_table[][
   {
     { "vinsertps",	{ XMM, Vex, EXxmm_md, Ib } },
   },
+  /* EVEX_W_0F3A22_P_2 */
+  {
+    { "vpinsrd",	{ XM, Vex128, Edqd, Ib } },
+    { "vpinsrq",	{ XM, Vex128, Eq, Ib } },
+  },
   /* EVEX_W_0F3A23_P_2 */
   {
     { "vshuff32x4",	{ XM, Vex, EXx, Ib } },
@@ -3016,26 +3742,72 @@ static const struct dis386 evex_table[][
   /* EVEX_W_0F3A38_P_2 */
   {
     { "vinserti32x4",	{ XM, Vex, EXxmm, Ib } },
+    { "vinserti64x2",	{ XM, Vex, EXxmm, Ib } },
   },
   /* EVEX_W_0F3A39_P_2 */
   {
     { "vextracti32x4",	{ EXxmm, XM, Ib } },
+    { "vextracti64x2",	{ EXxmm, XM, Ib } },
   },
   /* EVEX_W_0F3A3A_P_2 */
   {
-    { Bad_Opcode },
+    { "vinserti32x8",	{ XM, Vex, EXxmmq, Ib } },
     { "vinserti64x4",	{ XM, Vex, EXxmmq, Ib } },
   },
   /* EVEX_W_0F3A3B_P_2 */
   {
-    { Bad_Opcode },
+    { "vextracti32x8",	{ EXxmmq, XM, Ib } },
     { "vextracti64x4",	{ EXxmmq, XM, Ib } },
   },
+  /* EVEX_W_0F3A3E_P_2 */
+  {
+    { "vpcmpub",	{ XMask, Vex, EXx, Ib } },
+    { "vpcmpuw",	{ XMask, Vex, EXx, Ib } },
+  },
+  /* EVEX_W_0F3A3F_P_2 */
+  {
+    { "vpcmpb",	{ XMask, Vex, EXx, Ib } },
+    { "vpcmpw",	{ XMask, Vex, EXx, Ib } },
+  },
+  /* EVEX_W_0F3A42_P_2 */
+  {
+    { "vdbpsadbw",	{ XM, Vex, EXx, Ib } },
+  },
   /* EVEX_W_0F3A43_P_2 */
   {
     { "vshufi32x4",	{ XM, Vex, EXx, Ib } },
     { "vshufi64x2",	{ XM, Vex, EXx, Ib } },
   },
+  /* EVEX_W_0F3A50_P_2 */
+  {
+    { "vrangeps",	{ XM, Vex, EXx, EXxEVexS, Ib } },
+    { "vrangepd",	{ XM, Vex, EXx, EXxEVexS, Ib } },
+  },
+  /* EVEX_W_0F3A51_P_2 */
+  {
+    { "vrangess",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib } },
+    { "vrangesd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib } },
+  },
+  /* EVEX_W_0F3A56_P_2 */
+  {
+    { "vreduceps",	{ XM, EXx, EXxEVexS, Ib } },
+    { "vreducepd",	{ XM, EXx, EXxEVexS, Ib } },
+  },
+  /* EVEX_W_0F3A57_P_2 */
+  {
+    { "vreducess",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib } },
+    { "vreducesd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib } },
+  },
+  /* EVEX_W_0F3A66_P_2 */
+  {
+    { "vfpclassps",	{ XMask, EXx, Ib } },
+    { "vfpclasspd",	{ XMask, EXx, Ib } },
+  },
+  /* EVEX_W_0F3A67_P_2 */
+  {
+    { "vfpclassss",	{ XMask, EXxmm_md, Ib } },
+    { "vfpclasssd",	{ XMask, EXxmm_mq, Ib } },
+  },
 #endif /* NEED_VEX_W_TABLE */
 #ifdef NEED_MOD_TABLE
   {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-gen.c ./opcodes/i386-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-gen.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i386-gen.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -231,6 +231,20 @@ static initializer cpu_flag_init[] =
     "CpuPREFETCHWT1" },
   { "CPU_SE1_FLAGS",
     "CpuSE1" },
+  { "CPU_AVX512DQ_FLAGS",
+    "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512DQ" },
+  { "CPU_AVX512BW_FLAGS",
+    "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512BW" },
+  { "CPU_AVX512VL_FLAGS",
+    "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512VL" },
+  { "CPU_CLWB_FLAGS",
+    "CpuCLWB" },
+  { "CPU_PCOMMIT_FLAGS",
+    "CpuPCOMMIT" },
+  { "CPU_AVX512IFMA_FLAGS",
+    "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512IFMA" },
+  { "CPU_AVX512VBMI_FLAGS",
+    "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512VBMI" },
 };
 
 static initializer operand_type_init[] =
@@ -379,6 +393,9 @@ static bitfield cpu_flags[] =
   BITFIELD (CpuAVX512CD),
   BITFIELD (CpuAVX512ER),
   BITFIELD (CpuAVX512PF),
+  BITFIELD (CpuAVX512VL),
+  BITFIELD (CpuAVX512DQ),
+  BITFIELD (CpuAVX512BW),
   BITFIELD (CpuL1OM),
   BITFIELD (CpuK1OM),
   BITFIELD (CpuSSE4a),
@@ -424,9 +441,13 @@ static bitfield cpu_flags[] =
   BITFIELD (CpuXSAVEC),
   BITFIELD (CpuPREFETCHWT1),
   BITFIELD (CpuSE1),
+  BITFIELD (CpuCLWB),
+  BITFIELD (CpuPCOMMIT),
   BITFIELD (Cpu64),
   BITFIELD (CpuNo64),
   BITFIELD (CpuMPX),
+  BITFIELD (CpuAVX512IFMA),
+  BITFIELD (CpuAVX512VBMI),
 #ifdef CpuUnused
   BITFIELD (CpuUnused),
 #endif
@@ -581,7 +602,7 @@ static void
 process_copyright (FILE *fp)
 {
   fprintf (fp, "/* This file is automatically generated by i386-gen.  Do not edit!  */\n\
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.\n\
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.\n\
 \n\
    This file is part of the GNU opcodes library.\n\
 \n\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-init.h ./opcodes/i386-init.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-init.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i386-init.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* This file is automatically generated by i386-gen.  Do not edit!  */
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -20,573 +20,717 @@
 
 #define CPU_UNKNOWN_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
-      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, \
+      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
-      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 } }
+      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
+      0, 1, 1 } }
 
 #define CPU_GENERIC32_FLAGS \
   { { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_GENERIC64_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_NONE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_I186_FLAGS \
   { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_I286_FLAGS \
   { { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_I386_FLAGS \
   { { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_I486_FLAGS \
   { { 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_I586_FLAGS \
   { { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_I686_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_PENTIUMPRO_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_P2_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_P3_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_P4_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_NOCONA_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_CORE_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_CORE2_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_COREI7_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_K6_FLAGS \
   { { 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_K6_2_FLAGS \
   { { 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_ATHLON_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_K8_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_AMDFAM10_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_BDVER1_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
-      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, \
-      1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, \
+      0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_BDVER2_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
-      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, \
-      1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, \
-      0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, \
+      0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_BDVER3_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
-      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, \
-      1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, \
-      0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, \
+      0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_BDVER4_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
-      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, \
-      1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, \
-      0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, \
+      0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_BTVER1_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
       0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, \
+      0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_BTVER2_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, \
-      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, \
-      1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, \
-      0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, \
+      0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_8087_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_287_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_387_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_ANY87_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_CLFLUSH_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_NOP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SYSCALL_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_MMX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SSE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SSE2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SSE3_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SSSE3_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SSE4_1_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SSE4_2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_ANY_SSE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_VMX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SMX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_XSAVE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_XSAVEOPT_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_AES_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
-      0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \
+      0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0 } }
 
 #define CPU_PCLMUL_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_FMA_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_FMA4_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_XOP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_LWP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_BMI_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_TBM_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_MOVBE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_CX16_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_RDTSCP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_EPT_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_FSGSBASE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_RDRND_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_F16C_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_BMI2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_LZCNT_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_HLE_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_RTM_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_INVPCID_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_VMFUNC_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_3DNOW_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_3DNOWA_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_PADLOCK_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SVME_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SSE4A_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_ABM_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_AVX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_AVX2_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_AVX512F_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_AVX512CD_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_AVX512ER_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_AVX512PF_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
       0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_ANY_AVX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_L1OM_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
-      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 } }
+      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
+      0, 1, 1 } }
 
 #define CPU_K1OM_FLAGS \
   { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
-      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 } }
+      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
+      0, 1, 1 } }
 
 #define CPU_ADX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_RDSEED_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_PRFCHW_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SMAP_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_MPX_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SHA_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_CLFLUSHOPT_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_XSAVES_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_XSAVEC_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_PREFETCHWT1_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
 
 #define CPU_SE1_FLAGS \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
+      0, 0, 0 } }
+
+#define CPU_AVX512DQ_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
+      0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
+
+#define CPU_AVX512BW_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
+      0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
+
+#define CPU_AVX512VL_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
+      0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0 } }
+
+#define CPU_CLWB_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
+      0, 0, 0 } }
+
+#define CPU_PCOMMIT_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
+      0, 0, 0 } }
+
+#define CPU_AVX512IFMA_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
+      0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \
+      0, 0, 0 } }
+
+#define CPU_AVX512VBMI_FLAGS \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, \
+      0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, \
+      0, 0, 0 } }
 
 
 #define OPERAND_TYPE_NONE \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-opc.c ./opcodes/i386-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i386-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Intel 80386 opcode table
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-opc.h ./opcodes/i386-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i386-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Declarations for Intel 80386 opcode table
-   Copyright (C) 2007-2014 Free Software Foundation, Inc.
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -102,6 +102,12 @@ enum
   CpuAVX512ER,
   /* Intel AVX-512 Prefetch Instructions support required */
   CpuAVX512PF,
+  /* Intel AVX-512 VL Instructions support required.  */
+  CpuAVX512VL,
+  /* Intel AVX-512 DQ Instructions support required.  */
+  CpuAVX512DQ,
+  /* Intel AVX-512 BW Instructions support required.  */
+  CpuAVX512BW,
   /* Intel L1OM support required */
   CpuL1OM,
   /* Intel K1OM support required */
@@ -178,6 +184,14 @@ enum
   CpuPREFETCHWT1,
   /* SE1 instruction required */
   CpuSE1,
+  /* CLWB instruction required */
+  CpuCLWB,
+  /* PCOMMIT instruction required */
+  CpuPCOMMIT,
+  /* Intel AVX-512 IFMA Instructions support required.  */
+  CpuAVX512IFMA,
+  /* Intel AVX-512 VBMI Instructions support required.  */
+  CpuAVX512VBMI,
   /* 64bit support required  */
   Cpu64,
   /* Not supported in the 64bit mode  */
@@ -236,6 +250,9 @@ typedef union i386_cpu_flags
       unsigned int cpuavx512cd:1;
       unsigned int cpuavx512er:1;
       unsigned int cpuavx512pf:1;
+      unsigned int cpuavx512vl:1;
+      unsigned int cpuavx512dq:1;
+      unsigned int cpuavx512bw:1;
       unsigned int cpul1om:1;
       unsigned int cpuk1om:1;
       unsigned int cpuxsave:1;
@@ -274,6 +291,10 @@ typedef union i386_cpu_flags
       unsigned int cpuxsavec:1;
       unsigned int cpuprefetchwt1:1;
       unsigned int cpuse1:1;
+      unsigned int cpuclwb:1;
+      unsigned int cpupcommit:1;
+      unsigned int cpuavx512ifma:1;
+      unsigned int cpuavx512vbmi:1;
       unsigned int cpu64:1;
       unsigned int cpuno64:1;
 #ifdef CpuUnused
@@ -492,6 +513,8 @@ enum
 #define NO_BROADCAST	0
 #define BROADCAST_1TO16	1
 #define BROADCAST_1TO8	2
+#define BROADCAST_1TO4	3
+#define BROADCAST_1TO2	4
   Broadcast,
 
   /* Static rounding control is supported.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-opc.tbl ./opcodes/i386-opc.tbl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-opc.tbl	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i386-opc.tbl	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 // i386 opcode table.
-// Copyright (C) 2007-2014 Free Software Foundation, Inc.
+// Copyright (C) 2007-2015 Free Software Foundation, Inc.
 //
 // This file is part of the GNU opcodes library.
 //
@@ -4321,3 +4321,1604 @@ encls, 0, 0xf01cf, None, 3, CpuSE1, No_b
 enclu, 0, 0xf01d7, None, 3, CpuSE1, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 
 // SGX instructions end.
+
+// AVX512VL instructions.
+
+vaddpd, 3, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vaddpd, 3, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vdivpd, 3, 0x665E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vdivpd, 3, 0x665E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vmulpd, 3, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vmulpd, 3, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vsqrtpd, 2, 0x6651, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vsqrtpd, 2, 0x6651, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vsubpd, 3, 0x665C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vsubpd, 3, 0x665C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vaddps, 3, 0x58, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vaddps, 3, 0x58, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vcvtdq2ps, 2, 0x5B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtdq2ps, 2, 0x5B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtps2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtps2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vdivps, 3, 0x5E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vdivps, 3, 0x5E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vmulps, 3, 0x59, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vmulps, 3, 0x59, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vsqrtps, 2, 0x51, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vsqrtps, 2, 0x51, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vsubps, 3, 0x5C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vsubps, 3, 0x5C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+valignd, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+valignd, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermilps, 3, 0x6604, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpermilps, 3, 0x6604, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpternlogd, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpternlogd, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vshuff32x4, 4, 0x6623, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vshufi32x4, 4, 0x6643, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+valignq, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+valignq, 4, 0x6603, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermilpd, 3, 0x6605, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpermilpd, 3, 0x6605, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpermpd, 3, 0x6601, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpermq, 3, 0x6600, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpternlogq, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpternlogq, 4, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vshuff64x2, 4, 0x6623, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vshufi64x2, 4, 0x6643, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vblendmpd, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vblendmpd, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpabsq, 2, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpabsq, 2, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpblendmq, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpblendmq, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermi2pd, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermi2pd, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermi2q, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermi2q, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermilpd, 3, 0x660D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermilpd, 3, 0x660D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermpd, 3, 0x6616, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermq, 3, 0x6636, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermt2pd, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermt2pd, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermt2q, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermt2q, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmaxsq, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaxsq, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmaxuq, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaxuq, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpminsq, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpminsq, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpminuq, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpminuq, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmuldq, 3, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmuldq, 3, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vprolvq, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vprolvq, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vprorvq, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vprorvq, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsllvq, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsllvq, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsravq, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsravq, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsrlvq, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsrlvq, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vrcp14pd, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vrcp14pd, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vrsqrt14pd, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vrsqrt14pd, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vblendmps, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vblendmps, 3, 0x6665, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpabsd, 2, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpabsd, 2, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpblendmd, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpblendmd, 3, 0x6664, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermd, 3, 0x6636, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermi2d, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermi2d, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermi2ps, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermi2ps, 3, 0x6677, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermilps, 3, 0x660C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermilps, 3, 0x660C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermps, 3, 0x6616, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermt2d, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermt2d, 3, 0x667E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermt2ps, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermt2ps, 3, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmaxsd, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaxsd, 3, 0x663D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmaxud, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaxud, 3, 0x663F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpminsd, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpminsd, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpminud, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpminud, 3, 0x663B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmulld, 3, 0x6640, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmulld, 3, 0x6640, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vprolvd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vprolvd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vprorvd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vprorvd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsllvd, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsllvd, 3, 0x6647, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsravd, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsravd, 3, 0x6646, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsrlvd, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsrlvd, 3, 0x6645, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vrcp14ps, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vrcp14ps, 2, 0x664C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vrsqrt14ps, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vrsqrt14ps, 2, 0x664E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vbroadcastf32x4, 2, 0x661A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vbroadcasti32x4, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vbroadcastss, 2, 0x6618, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vbroadcastss, 2, 0x6618, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcompressps, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vcompressps, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vexpandps, 2, 0x6688, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vexpandps, 2, 0x6688, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, RegXMM }
+vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpbroadcastd, 2, 0x6658, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, RegYMM }
+vpbroadcastd, 2, 0x667C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegXMM }
+vpbroadcastd, 2, 0x667C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegYMM }
+vpcompressd, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpcompressd, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vpexpandd, 2, 0x6689, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpexpandd, 2, 0x6689, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vbroadcastsd, 2, 0x6619, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcompresspd, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vcompresspd, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vexpandpd, 2, 0x6688, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vexpandpd, 2, 0x6688, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, RegXMM }
+vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpbroadcastq, 2, 0x6659, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, RegYMM }
+vpbroadcastq, 2, 0x667C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg64, RegXMM }
+vpbroadcastq, 2, 0x667C, None, 1, CpuAVX512F|CpuAVX512VL|Cpu64, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg64, RegYMM }
+vpcompressq, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpcompressq, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vpexpandq, 2, 0x6689, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpexpandq, 2, 0x6689, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vcmpeq_oqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeq_oqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpeq_ospd, 3, 0x66C2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeq_ospd, 3, 0x66C2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpeq_uqpd, 3, 0x66C2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeq_uqpd, 3, 0x66C2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpeq_uspd, 3, 0x66C2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeq_uspd, 3, 0x66C2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpeqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeqpd, 3, 0x66C2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpfalse_oqpd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpfalse_oqpd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpfalse_ospd, 3, 0x66C2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpfalse_ospd, 3, 0x66C2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpfalsepd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpfalsepd, 3, 0x66C2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpge_oqpd, 3, 0x66C2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpge_oqpd, 3, 0x66C2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpge_ospd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpge_ospd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpgepd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpgepd, 3, 0x66C2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpgt_oqpd, 3, 0x66C2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpgt_oqpd, 3, 0x66C2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpgt_ospd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpgt_ospd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpgtpd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpgtpd, 3, 0x66C2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmple_oqpd, 3, 0x66C2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmple_oqpd, 3, 0x66C2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmple_ospd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmple_ospd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmplepd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmplepd, 3, 0x66C2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmplt_oqpd, 3, 0x66C2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmplt_oqpd, 3, 0x66C2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmplt_ospd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmplt_ospd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpltpd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpltpd, 3, 0x66C2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneq_oqpd, 3, 0x66C2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneq_oqpd, 3, 0x66C2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneq_ospd, 3, 0x66C2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneq_ospd, 3, 0x66C2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneq_uqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneq_uqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneq_uspd, 3, 0x66C2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneq_uspd, 3, 0x66C2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneqpd, 3, 0x66C2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnge_uqpd, 3, 0x66C2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnge_uqpd, 3, 0x66C2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnge_uspd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnge_uspd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpngepd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpngepd, 3, 0x66C2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpngt_uqpd, 3, 0x66C2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpngt_uqpd, 3, 0x66C2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpngt_uspd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpngt_uspd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpngtpd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpngtpd, 3, 0x66C2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnle_uqpd, 3, 0x66C2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnle_uqpd, 3, 0x66C2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnle_uspd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnle_uspd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnlepd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnlepd, 3, 0x66C2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnlt_uqpd, 3, 0x66C2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnlt_uqpd, 3, 0x66C2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnlt_uspd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnlt_uspd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnltpd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnltpd, 3, 0x66C2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpord_qpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpord_qpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpord_spd, 3, 0x66C2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpord_spd, 3, 0x66C2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpordpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpordpd, 3, 0x66C2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmppd, 4, 0x66C2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmppd, 4, 0x66C2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmptrue_uqpd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmptrue_uqpd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmptrue_uspd, 3, 0x66C2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmptrue_uspd, 3, 0x66C2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmptruepd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmptruepd, 3, 0x66C2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpunord_qpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpunord_qpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpunord_spd, 3, 0x66C2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpunord_spd, 3, 0x66C2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpunordpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpunordpd, 3, 0x66C2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vcmpeq_oqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeq_oqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpeq_osps, 3, 0xC2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeq_osps, 3, 0xC2, 16, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpeq_uqps, 3, 0xC2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeq_uqps, 3, 0xC2, 8, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpeq_usps, 3, 0xC2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeq_usps, 3, 0xC2, 24, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpeqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpeqps, 3, 0xC2, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpfalse_oqps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpfalse_oqps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpfalse_osps, 3, 0xC2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpfalse_osps, 3, 0xC2, 27, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpfalseps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpfalseps, 3, 0xC2, 11, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpge_oqps, 3, 0xC2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpge_oqps, 3, 0xC2, 29, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpge_osps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpge_osps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpgeps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpgeps, 3, 0xC2, 13, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpgt_oqps, 3, 0xC2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpgt_oqps, 3, 0xC2, 30, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpgt_osps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpgt_osps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpgtps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpgtps, 3, 0xC2, 14, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmple_oqps, 3, 0xC2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmple_oqps, 3, 0xC2, 18, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmple_osps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmple_osps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpleps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpleps, 3, 0xC2, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmplt_oqps, 3, 0xC2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmplt_oqps, 3, 0xC2, 17, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmplt_osps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmplt_osps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpltps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpltps, 3, 0xC2, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneq_oqps, 3, 0xC2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneq_oqps, 3, 0xC2, 12, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneq_osps, 3, 0xC2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneq_osps, 3, 0xC2, 28, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneq_uqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneq_uqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneq_usps, 3, 0xC2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneq_usps, 3, 0xC2, 20, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpneqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpneqps, 3, 0xC2, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnge_uqps, 3, 0xC2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnge_uqps, 3, 0xC2, 25, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnge_usps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnge_usps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpngeps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpngeps, 3, 0xC2, 9, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpngt_uqps, 3, 0xC2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpngt_uqps, 3, 0xC2, 26, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpngt_usps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpngt_usps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpngtps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpngtps, 3, 0xC2, 10, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnle_uqps, 3, 0xC2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnle_uqps, 3, 0xC2, 22, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnle_usps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnle_usps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnleps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnleps, 3, 0xC2, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnlt_uqps, 3, 0xC2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnlt_uqps, 3, 0xC2, 21, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnlt_usps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnlt_usps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpnltps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpnltps, 3, 0xC2, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpord_qps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpord_qps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpord_sps, 3, 0xC2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpord_sps, 3, 0xC2, 23, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpordps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpordps, 3, 0xC2, 7, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpps, 4, 0xC2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpps, 4, 0xC2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmptrue_uqps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmptrue_uqps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmptrue_usps, 3, 0xC2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmptrue_usps, 3, 0xC2, 31, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmptrueps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmptrueps, 3, 0xC2, 15, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpunord_qps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpunord_qps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpunord_sps, 3, 0xC2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpunord_sps, 3, 0xC2, 19, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vcmpunordps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vcmpunordps, 3, 0xC2, 3, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vcompresspd, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vcompresspd, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpcompressq, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpcompressq, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vcompressps, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vcompressps, 2, 0x668A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vgatherdps, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vgatherdps, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vgatherqps, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vgatherqps, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovntdqa, 2, 0x662A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovntdqa, 2, 0x662A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpcompressd, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpcompressd, 2, 0x668B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpscatterdd, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpscatterdd, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpscatterqd, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpscatterqd, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vscatterdps, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vscatterdps, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vcvtpd2dq, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2dqx, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2dq, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2dqy, 2, 0xF2E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2ps, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2psx, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2ps, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2psy, 2, 0x665A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+
+vcvtpd2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2udqx, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2udq, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2udqy, 2, 0x79, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtph2ps, 2, 0x6613, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtph2ps, 2, 0x6613, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vcvtps2dq, 2, 0x665B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtps2dq, 2, 0x665B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vcvtps2pd, 2, 0x5A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtps2pd, 2, 0x5A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM|RegMem }
+vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
+
+vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vcvtps2ph, 3, 0x661D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vcvttpd2dq, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttpd2dqx, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttpd2dq, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttpd2dqy, 2, 0x66E6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+
+vcvttpd2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttpd2udqx, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttpd2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttpd2udqy, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+
+vcvttps2dq, 2, 0xF35B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttps2dq, 2, 0xF35B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vcvttps2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttps2udq, 2, 0x78, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmaxps, 3, 0x5F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vmaxps, 3, 0x5F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vminps, 3, 0x5D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vminps, 3, 0x5D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vcvtudq2ps, 2, 0xF27A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtudq2ps, 2, 0xF27A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vextractf32x4, 3, 0x6619, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vextracti32x4, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vextractf32x4, 3, 0x6619, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
+vextracti32x4, 3, 0x6639, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
+vinsertf32x4, 4, 0x6618, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vinserti32x4, 4, 0x6638, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vfixupimmpd, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfixupimmpd, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vgetmantpd, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vgetmantpd, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vrndscalepd, 3, 0x6609, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vrndscalepd, 3, 0x6609, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vfixupimmps, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfixupimmps, 4, 0x6654, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vgetmantps, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vgetmantps, 3, 0x6626, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vrndscaleps, 3, 0x6608, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vrndscaleps, 3, 0x6608, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vfmadd132pd, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmadd132pd, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmadd213pd, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmadd213pd, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmadd231pd, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmadd231pd, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmaddsub132pd, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmaddsub132pd, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmaddsub213pd, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmaddsub213pd, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmaddsub231pd, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmaddsub231pd, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsub132pd, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsub132pd, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsub213pd, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsub213pd, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsub231pd, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsub231pd, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsubadd132pd, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsubadd132pd, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsubadd213pd, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsubadd213pd, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsubadd231pd, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsubadd231pd, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmadd132pd, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmadd132pd, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmadd213pd, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmadd213pd, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmadd231pd, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmadd231pd, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmsub132pd, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmsub132pd, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmsub213pd, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmsub213pd, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmsub231pd, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmsub231pd, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vscalefpd, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vscalefpd, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vfmadd132ps, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmadd132ps, 3, 0x6698, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmadd213ps, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmadd213ps, 3, 0x66A8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmadd231ps, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmadd231ps, 3, 0x66B8, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmaddsub132ps, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmaddsub132ps, 3, 0x6696, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmaddsub213ps, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmaddsub213ps, 3, 0x66A6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmaddsub231ps, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmaddsub231ps, 3, 0x66B6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsub132ps, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsub132ps, 3, 0x669A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsub213ps, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsub213ps, 3, 0x66AA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsub231ps, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsub231ps, 3, 0x66BA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsubadd132ps, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsubadd132ps, 3, 0x6697, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsubadd213ps, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsubadd213ps, 3, 0x66A7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfmsubadd231ps, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfmsubadd231ps, 3, 0x66B7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmadd132ps, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmadd132ps, 3, 0x669C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmadd213ps, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmadd213ps, 3, 0x66AC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmadd231ps, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmadd231ps, 3, 0x66BC, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmsub132ps, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmsub132ps, 3, 0x669E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmsub213ps, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmsub213ps, 3, 0x66AE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vfnmsub231ps, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vfnmsub231ps, 3, 0x66BE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vscalefps, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vscalefps, 3, 0x662C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vgetexppd, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vgetexppd, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vgetexpps, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vgetexpps, 2, 0x6642, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vmaxpd, 3, 0x665F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vmaxpd, 3, 0x665F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vminpd, 3, 0x665D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vminpd, 3, 0x665D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovntpd, 2, 0x662B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovntpd, 2, 0x662B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovapd, 2, 0x6628, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovapd, 2, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovdqa64, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovdqa64, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovupd, 2, 0x6610, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovupd, 2, 0x6611, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vpsllq, 3, 0x66F3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsllq, 3, 0x66F3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsraq, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsraq, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsrlq, 3, 0x66D3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsrlq, 3, 0x66D3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovaps, 2, 0x28, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovups, 2, 0x10, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+
+vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovaps, 2, 0x29, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovntps, 2, 0x2B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovntps, 2, 0x2B, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovups, 2, 0x11, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vmovddup, 2, 0xF212, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovddup, 2, 0xF212, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovdqa32, 2, 0x666F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vpslld, 3, 0x66F2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpslld, 3, 0x66F2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsrad, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsrad, 3, 0x66E2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsrld, 3, 0x66D2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsrld, 3, 0x66D2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovdqa32, 2, 0x667F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovntdq, 2, 0x66E7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovntdq, 2, 0x66E7, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovdqu32, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovdqu32, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+vmovshdup, 2, 0xF316, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovshdup, 2, 0xF316, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovsldup, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovsldup, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovdqu64, 2, 0xF36F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+
+vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovdqu64, 2, 0xF37F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vpaddd, 3, 0x66FE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpaddd, 3, 0x66FE, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpandd, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpandd, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpandnd, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpandnd, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpord, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpord, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vprold, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vprord, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpshufd, 3, 0x6670, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpshufd, 3, 0x6670, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpslld, 3, 0x6672, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpsrad, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpsrld, 3, 0x6672, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsubd, 3, 0x66FA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsubd, 3, 0x66FA, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpunpckhdq, 3, 0x666A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpunpckhdq, 3, 0x666A, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpunpckldq, 3, 0x6662, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpunpckldq, 3, 0x6662, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpxord, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpxord, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpaddq, 3, 0x66D4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpaddq, 3, 0x66D4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpandnq, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpandnq, 3, 0x66DF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpandq, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpandq, 3, 0x66DB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmuludq, 3, 0x66F4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmuludq, 3, 0x66F4, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vporq, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vporq, 3, 0x66EB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vprolq, 3, 0x6672, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vprorq, 3, 0x6672, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpsllq, 3, 0x6673, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpsraq, 3, 0x6672, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpsrlq, 3, 0x6673, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsubq, 3, 0x66FB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsubq, 3, 0x66FB, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpunpckhqdq, 3, 0x666D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpunpckhqdq, 3, 0x666D, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpunpcklqdq, 3, 0x666C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpunpcklqdq, 3, 0x666C, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpxorq, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpxorq, 3, 0x66EF, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vshufpd, 4, 0x66C6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vshufpd, 4, 0x66C6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vunpckhpd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vunpckhpd, 3, 0x6615, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vunpcklpd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vunpcklpd, 3, 0x6614, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegMask }
+vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpeqd, 3, 0x6676, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM, RegMask }
+vpcmpd, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpd, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM, RegXMM, RegMask }
+vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpeqd, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM, RegYMM, RegMask }
+vpcmpequd, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpequd, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpled, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpled, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpleud, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpleud, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpltd, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpltd, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpltud, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpltud, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpneqd, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpneqd, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnequd, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnequd, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnled, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnled, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnleud, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnleud, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnltd, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnltd, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnltud, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnltud, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpud, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpud, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vpcmpgtd, 3, 0x6666, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpgtd, 3, 0x6666, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegMask }
+vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpeqq, 3, 0x6629, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM, RegMask }
+vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM, RegYMM, RegMask }
+vpcmpeqq, 3, 0x661F, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM, RegXMM, RegMask }
+vpcmpequq, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpequq, 3, 0x661E, 0, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpleq, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpleq, 3, 0x661F, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpleuq, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpleuq, 3, 0x661E, 2, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpltq, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpltq, 3, 0x661F, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpltuq, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpltuq, 3, 0x661E, 1, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpneqq, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpneqq, 3, 0x661F, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnequq, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnequq, 3, 0x661E, 4, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnleq, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnleq, 3, 0x661F, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnleuq, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnleuq, 3, 0x661E, 6, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnltq, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnltq, 3, 0x661F, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpnltuq, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpnltuq, 3, 0x661E, 5, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpq, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpq, 4, 0x661F, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpuq, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpuq, 4, 0x661E, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vpcmpgtq, 3, 0x6637, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpgtq, 3, 0x6637, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vptestmq, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vptestmq, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vpmovdb, 2, 0xF331, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovdb, 2, 0xF331, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovsdb, 2, 0xF321, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovsdb, 2, 0xF321, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovusdb, 2, 0xF311, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovusdb, 2, 0xF311, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+
+vpmovdb, 2, 0xF331, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovdb, 2, 0xF331, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsdb, 2, 0xF321, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsdb, 2, 0xF321, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusdb, 2, 0xF311, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusdb, 2, 0xF311, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vpmovdw, 2, 0xF333, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovdw, 2, 0xF333, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovsdw, 2, 0xF323, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovsdw, 2, 0xF323, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+
+vpmovdw, 2, 0xF333, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovdw, 2, 0xF333, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsdw, 2, 0xF323, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsdw, 2, 0xF323, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusdw, 2, 0xF313, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovqb, 2, 0xF332, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovsqb, 2, 0xF322, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovusqb, 2, 0xF312, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+
+vpmovqd, 2, 0xF335, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovqd, 2, 0xF335, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovsqd, 2, 0xF325, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovsqd, 2, 0xF325, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+
+vpmovqd, 2, 0xF335, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovqd, 2, 0xF335, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsqd, 2, 0xF325, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsqd, 2, 0xF325, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusqd, 2, 0xF315, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+
+vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovqw, 2, 0xF334, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovsqw, 2, 0xF324, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovusqw, 2, 0xF314, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vpmovsxbd, 2, 0x6621, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovsxbd, 2, 0x6621, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpmovzxbd, 2, 0x6631, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovzxbd, 2, 0x6631, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vpmovsxbq, 2, 0x6622, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovsxbq, 2, 0x6622, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpmovzxbq, 2, 0x6632, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovzxbq, 2, 0x6632, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vpmovsxdq, 2, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovsxdq, 2, 0x6625, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpmovzxdq, 2, 0x6635, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovzxdq, 2, 0x6635, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vpmovsxwd, 2, 0x6623, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovsxwd, 2, 0x6623, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpmovzxwd, 2, 0x6633, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovzxwd, 2, 0x6633, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vpmovsxwq, 2, 0x6624, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovsxwq, 2, 0x6624, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpmovzxwq, 2, 0x6634, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovzxwq, 2, 0x6634, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vptestmd, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vptestmd, 3, 0x6627, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vptestnmd, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vptestnmd, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vptestnmq, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vptestnmq, 3, 0xF327, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vshufps, 4, 0xC6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vshufps, 4, 0xC6, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vunpckhps, 3, 0x15, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vunpckhps, 3, 0x15, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vunpcklps, 3, 0x14, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vunpcklps, 3, 0x14, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+// AVX512VL instructions end.
+
+// AVX512VL and AVX512CD instructions.
+
+vpbroadcastmb2q, 2, 0xF32A, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
+vpbroadcastmb2q, 2, 0xF32A, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
+
+vpbroadcastmw2d, 2, 0xF33A, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
+vpbroadcastmw2d, 2, 0xF33A, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
+
+vpconflictd, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpconflictd, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vplzcntd, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vplzcntd, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vpconflictq, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpconflictq, 2, 0x66C4, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vplzcntq, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vplzcntq, 2, 0x6644, None, 1, CpuAVX512CD|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+// AVX512VL and AVX512CD instructions end.
+
+// AVX512BW instructions end.
+
+kaddd, 3, 0x664A, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kandd, 3, 0x6641, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kandnd, 3, 0x6642, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kmovd, 2, 0x6690, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegMask }
+kmovd, 2, 0x6691, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S }
+knotd, 2, 0x6644, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+kord, 3, 0x6645, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kortestd, 2, 0x6698, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+ktestd, 2, 0x6699, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+kxnord, 3, 0x6646, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kxord, 3, 0x6647, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+
+kaddq, 3, 0x4A, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kandnq, 3, 0x42, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kandq, 3, 0x41, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kmovq, 2, 0x90, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegMask }
+kmovq, 2, 0x91, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S }
+knotq, 2, 0x44, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+korq, 3, 0x45, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kortestq, 2, 0x98, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+ktestq, 2, 0x99, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+kunpckdq, 3, 0x4B, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kunpckwd, 3, 0x4B, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kxnorq, 3, 0x46, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kxorq, 3, 0x47, None, 1, CpuAVX512BW, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+
+kmovd, 2, 0xF292, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegMask }
+kmovd, 2, 0xF293, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, Reg32 }
+kmovq, 2, 0xF292, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg64, RegMask }
+kmovq, 2, 0xF293, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, Reg64 }
+
+kshiftld, 3, 0x6633, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask }
+kshiftlq, 3, 0x6633, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=2|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask }
+kshiftrd, 3, 0x6631, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask }
+kshiftrq, 3, 0x6631, None, 1, CpuAVX512BW, Modrm|Vex=1|VexOpcode=2|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask }
+
+vdbpsadbw, 4, 0x6642, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vdbpsadbw, 4, 0x6642, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vdbpsadbw, 4, 0x6642, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|S|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
+vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovdqu16, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
+vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+
+vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovdqu16, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW, Modrm|S|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM }
+vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|S|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
+vmovdqu8, 2, 0xF26F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|S|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM }
+vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegZMM|RegMem }
+vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vmovdqu8, 2, 0xF27F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegYMM|RegMem }
+
+vpabsb, 2, 0x661C, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpabsb, 2, 0x661C, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpabsb, 2, 0x661C, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpmaxsb, 3, 0x663C, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmaxsb, 3, 0x663C, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaxsb, 3, 0x663C, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpminsb, 3, 0x6638, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpminsb, 3, 0x6638, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpminsb, 3, 0x6638, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpshufb, 3, 0x6600, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpshufb, 3, 0x6600, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpshufb, 3, 0x6600, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpabsw, 2, 0x661D, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpabsw, 2, 0x661D, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpabsw, 2, 0x661D, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpmaddubsw, 3, 0x6604, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmaddubsw, 3, 0x6604, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaddubsw, 3, 0x6604, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmaxuw, 3, 0x663E, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmaxuw, 3, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaxuw, 3, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpminuw, 3, 0x663A, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpminuw, 3, 0x663A, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpminuw, 3, 0x663A, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmulhrsw, 3, 0x660B, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmulhrsw, 3, 0x660B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmulhrsw, 3, 0x660B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpackssdw, 3, 0x666B, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpackssdw, 3, 0x666B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpackssdw, 3, 0x666B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpacksswb, 3, 0x6663, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpacksswb, 3, 0x6663, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpacksswb, 3, 0x6663, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpackuswb, 3, 0x6667, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpackuswb, 3, 0x6667, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpackuswb, 3, 0x6667, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpackusdw, 3, 0x662B, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpackusdw, 3, 0x662B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpackusdw, 3, 0x662B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpaddb, 3, 0x66FC, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpaddb, 3, 0x66FC, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpaddb, 3, 0x66FC, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpaddsb, 3, 0x66EC, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpaddsb, 3, 0x66EC, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpaddsb, 3, 0x66EC, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpaddusb, 3, 0x66DC, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpaddusb, 3, 0x66DC, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpaddusb, 3, 0x66DC, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpavgb, 3, 0x66E0, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpavgb, 3, 0x66E0, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpavgb, 3, 0x66E0, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmaxub, 3, 0x66DE, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmaxub, 3, 0x66DE, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaxub, 3, 0x66DE, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpminub, 3, 0x66DA, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpminub, 3, 0x66DA, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpminub, 3, 0x66DA, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsubb, 3, 0x66F8, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsubb, 3, 0x66F8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsubb, 3, 0x66F8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsubsb, 3, 0x66E8, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsubsb, 3, 0x66E8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsubsb, 3, 0x66E8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsubusb, 3, 0x66D8, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsubusb, 3, 0x66D8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsubusb, 3, 0x66D8, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpunpckhbw, 3, 0x6668, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpunpckhbw, 3, 0x6668, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpunpckhbw, 3, 0x6668, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpunpcklbw, 3, 0x6660, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpunpcklbw, 3, 0x6660, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpunpcklbw, 3, 0x6660, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpaddsw, 3, 0x66ED, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpaddsw, 3, 0x66ED, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpaddsw, 3, 0x66ED, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpaddusw, 3, 0x66DD, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpaddusw, 3, 0x66DD, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpaddusw, 3, 0x66DD, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpaddw, 3, 0x66FD, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpaddw, 3, 0x66FD, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpaddw, 3, 0x66FD, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpavgw, 3, 0x66E3, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpavgw, 3, 0x66E3, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpavgw, 3, 0x66E3, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmaxsw, 3, 0x66EE, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmaxsw, 3, 0x66EE, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaxsw, 3, 0x66EE, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpminsw, 3, 0x66EA, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpminsw, 3, 0x66EA, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpminsw, 3, 0x66EA, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmulhuw, 3, 0x66E4, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmulhuw, 3, 0x66E4, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmulhuw, 3, 0x66E4, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmulhw, 3, 0x66E5, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmulhw, 3, 0x66E5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmulhw, 3, 0x66E5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmullw, 3, 0x66D5, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmullw, 3, 0x66D5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmullw, 3, 0x66D5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
+vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpsllw, 3, 0x6671, 6, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsllw, 3, 0x66F1, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsllw, 3, 0x66F1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsllw, 3, 0x66F1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
+vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpsraw, 3, 0x6671, 4, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsraw, 3, 0x66E1, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsraw, 3, 0x66E1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsraw, 3, 0x66E1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
+vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpsrlw, 3, 0x6671, 2, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsrlw, 3, 0x66D1, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsrlw, 3, 0x66D1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsrlw, 3, 0x66D1, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsubsw, 3, 0x66E9, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsubsw, 3, 0x66E9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsubsw, 3, 0x66E9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsubusw, 3, 0x66D9, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsubusw, 3, 0x66D9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsubusw, 3, 0x66D9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsubw, 3, 0x66F9, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsubw, 3, 0x66F9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsubw, 3, 0x66F9, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpunpckhwd, 3, 0x6669, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpunpckhwd, 3, 0x6669, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpunpckhwd, 3, 0x6669, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpunpcklwd, 3, 0x6661, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpunpcklwd, 3, 0x6661, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpunpcklwd, 3, 0x6661, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpalignr, 4, 0x660F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VecESize=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpalignr, 4, 0x660F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpalignr, 4, 0x660F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VecESize=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpblendmb, 3, 0x6666, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpblendmb, 3, 0x6666, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpblendmb, 3, 0x6666, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpbroadcastb, 2, 0x6678, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Byte|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegZMM }
+vpbroadcastb, 2, 0x6678, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Byte|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegXMM }
+vpbroadcastb, 2, 0x6678, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Byte|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegYMM }
+vpbroadcastb, 2, 0x667A, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegZMM }
+vpbroadcastb, 2, 0x667A, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegXMM }
+vpbroadcastb, 2, 0x667A, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegYMM }
+
+vpblendmw, 3, 0x6666, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpblendmw, 3, 0x6666, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpblendmw, 3, 0x6666, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermi2w, 3, 0x6675, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpermi2w, 3, 0x6675, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermi2w, 3, 0x6675, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermt2w, 3, 0x667D, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpermt2w, 3, 0x667D, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermt2w, 3, 0x667D, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermw, 3, 0x668D, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpermw, 3, 0x668D, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermw, 3, 0x668D, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsllvw, 3, 0x6612, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsllvw, 3, 0x6612, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsllvw, 3, 0x6612, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsravw, 3, 0x6611, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsravw, 3, 0x6611, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsravw, 3, 0x6611, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpsrlvw, 3, 0x6610, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsrlvw, 3, 0x6610, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsrlvw, 3, 0x6610, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpbroadcastw, 2, 0x6679, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpbroadcastw, 2, 0x6679, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpbroadcastw, 2, 0x6679, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpbroadcastw, 2, 0x667B, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegZMM }
+vpbroadcastw, 2, 0x667B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegXMM }
+vpbroadcastw, 2, 0x667B, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg32, RegYMM }
+
+vpcmpb, 4, 0x663F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vpcmpb, 4, 0x663F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpb, 4, 0x663F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpub, 4, 0x663E, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vpcmpub, 4, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpub, 4, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vpcmpeqb, 3, 0x6674, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vpcmpeqb, 3, 0x6674, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpeqb, 3, 0x6674, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpgtb, 3, 0x6664, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vpcmpgtb, 3, 0x6664, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpgtb, 3, 0x6664, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
+vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpslldq, 3, 0x6673, 7, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegZMM }
+vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=3|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, RegXMM }
+vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegYMM }
+vpsrldq, 3, 0x6673, 3, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vpcmpeqw, 3, 0x6675, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vpcmpeqw, 3, 0x6675, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpeqw, 3, 0x6675, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpgtw, 3, 0x6665, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vpcmpgtw, 3, 0x6665, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpgtw, 3, 0x6665, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpextrw, 3, 0x66C5, None, 1, CpuAVX512BW, Modrm|S|EVex=4|VexOpcode=0|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64 }
+vpinsrw, 4, 0x66C4, None, 1, CpuAVX512BW, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg32|Reg64|Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+
+vpcmpuw, 4, 0x663E, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vpcmpuw, 4, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpuw, 4, 0x663E, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+vpcmpw, 4, 0x663F, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vpcmpw, 4, 0x663F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vpcmpw, 4, 0x663F, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vpextrb, 3, 0x6614, None, 1, CpuAVX512BW, Modrm|EVex=4|VexOpcode=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64|Byte|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S }
+vpinsrb, 4, 0x6620, None, 1, CpuAVX512BW, Modrm|EVex=4|VexOpcode=2|VexVVVV=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg32|Reg64|Byte|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegXMM, RegXMM }
+
+vpextrw, 3, 0x6615, None, 1, CpuAVX512BW, Modrm|EVex=4|VexOpcode=2|Disp8MemShift=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64|Word|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vpmaddwd, 3, 0x66F5, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmaddwd, 3, 0x66F5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmaddwd, 3, 0x66F5, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpmovb2m, 2, 0xF329, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegMask }
+vpmovb2m, 2, 0xF329, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegMask }
+vpmovb2m, 2, 0xF329, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegMask }
+
+vpmovm2b, 2, 0xF328, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
+vpmovm2b, 2, 0xF328, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
+vpmovm2b, 2, 0xF328, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
+
+vpmovm2w, 2, 0xF328, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
+vpmovm2w, 2, 0xF328, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
+vpmovm2w, 2, 0xF328, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
+
+vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegYMM|RegMem }
+vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegYMM|RegMem }
+vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegYMM|RegMem }
+vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegMem }
+vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegXMM|RegMem }
+
+vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovswb, 2, 0xF320, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovuswb, 2, 0xF310, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpmovwb, 2, 0xF330, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+
+vpmovsxbw, 2, 0x6620, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpmovsxbw, 2, 0x6620, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovsxbw, 2, 0x6620, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vpmovzxbw, 2, 0x6630, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpmovzxbw, 2, 0x6630, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpmovzxbw, 2, 0x6630, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vpmovw2m, 2, 0xF329, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegMask }
+vpmovw2m, 2, 0xF329, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegMask }
+vpmovw2m, 2, 0xF329, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegMask }
+
+vpsadbw, 3, 0x66F6, None, 1, CpuAVX512BW, Modrm|EVex=1|VexOpcode=0|VexVVVV=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpsadbw, 3, 0x66F6, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|VexOpcode=0|VexVVVV=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpsadbw, 3, 0x66F6, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|VexOpcode=0|VexVVVV=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vpshufhw, 3, 0xF370, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpshufhw, 3, 0xF370, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpshufhw, 3, 0xF370, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vpshuflw, 3, 0xF270, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=3|VexOpcode=0|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vpshuflw, 3, 0xF270, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vpshuflw, 3, 0xF270, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vptestmb, 3, 0x6626, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vptestmb, 3, 0x6626, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vptestmb, 3, 0x6626, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vptestmw, 3, 0x6626, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vptestmw, 3, 0x6626, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vptestmw, 3, 0x6626, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vptestnmb, 3, 0xF326, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vptestnmb, 3, 0xF326, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vptestnmb, 3, 0xF326, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+vptestnmw, 3, 0xF326, None, 1, CpuAVX512BW, Modrm|EVex=1|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegMask }
+vptestnmw, 3, 0xF326, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegMask }
+vptestnmw, 3, 0xF326, None, 1, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=1|VexVVVV=1|VexW=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegMask }
+
+// AVX512BW instructions end.
+
+// AVX512DQ instructions.
+
+kaddb, 3, 0x664A, None, 1, CpuAVX512DQ, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kandb, 3, 0x6641, None, 1, CpuAVX512DQ, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kandnb, 3, 0x6642, None, 1, CpuAVX512DQ, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kmovb, 2, 0x6690, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask|Byte|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegMask }
+kmovb, 2, 0x6691, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, Byte|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S }
+kmovb, 2, 0x6692, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegMask }
+kmovb, 2, 0x6693, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, Reg32 }
+knotb, 2, 0x6644, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+korb, 3, 0x6645, None, 1, CpuAVX512DQ, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kortestb, 2, 0x6698, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+ktestb, 2, 0x6699, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+kxnorb, 3, 0x6646, None, 1, CpuAVX512DQ, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+kxorb, 3, 0x6647, None, 1, CpuAVX512DQ, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+
+kaddw, 3, 0x4A, None, 1, CpuAVX512DQ, Modrm|Vex=2|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegMask }
+ktestw, 2, 0x99, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask }
+
+kshiftlb, 3, 0x6632, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask }
+kshiftrb, 3, 0x6630, None, 1, CpuAVX512DQ, Modrm|Vex=1|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask }
+
+vandnpd, 3, 0x6655, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vandnpd, 3, 0x6655, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vandnpd, 3, 0x6655, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vandpd, 3, 0x6654, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vandpd, 3, 0x6654, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vandpd, 3, 0x6654, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vorpd, 3, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vorpd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vorpd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vxorpd, 3, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vxorpd, 3, 0x6657, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vxorpd, 3, 0x6657, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vandnps, 3, 0x55, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vandnps, 3, 0x55, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vandnps, 3, 0x55, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vandps, 3, 0x54, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vandps, 3, 0x54, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vandps, 3, 0x54, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vorps, 3, 0x56, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vorps, 3, 0x56, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vorps, 3, 0x56, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vxorps, 3, 0x57, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Dword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vxorps, 3, 0x57, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vxorps, 3, 0x57, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vbroadcastf32x2, 2, 0x6619, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vbroadcastf32x2, 2, 0x6619, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vbroadcastf32x8, 2, 0x661B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vbroadcasti32x2, 2, 0x6659, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vbroadcasti32x2, 2, 0x6659, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vbroadcasti32x2, 2, 0x6659, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vbroadcasti32x8, 2, 0x665B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+
+vbroadcastf64x2, 2, 0x661A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vbroadcastf64x2, 2, 0x661A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vbroadcasti64x2, 2, 0x665A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vbroadcasti64x2, 2, 0x665A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+
+vcvtpd2qq, 2, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvtpd2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtpd2qq, 3, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
+vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtpd2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtpd2uqq, 3, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
+
+vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtps2qq, 2, 0x667B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtps2qq, 3, 0x667B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegYMM, RegZMM }
+vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtps2uqq, 2, 0x6679, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtps2uqq, 3, 0x6679, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegYMM, RegZMM }
+
+vcvtqq2pd, 2, 0xF3E6, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvtqq2pd, 2, 0xF3E6, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtqq2pd, 2, 0xF3E6, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtqq2pd, 3, 0xF3E6, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
+vcvtuqq2pd, 2, 0xF37A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvtuqq2pd, 2, 0xF37A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtuqq2pd, 2, 0xF37A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtuqq2pd, 3, 0xF37A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegZMM }
+
+vcvtqq2ps, 2, 0x5B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtqq2ps, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtqq2psx, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtqq2ps, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtqq2psy, 2, 0x5B, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtqq2ps, 3, 0x5B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
+
+vcvttpd2qq, 2, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvttpd2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttpd2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvttpd2qq, 3, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
+vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttpd2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvttpd2uqq, 3, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
+
+vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttps2qq, 2, 0x667A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvttps2qq, 3, 0x667A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegYMM, RegZMM }
+vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=1|Broadcast=4|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvttps2uqq, 2, 0x6678, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvttps2uqq, 3, 0x6678, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegYMM, RegZMM }
+
+vcvtuqq2ps, 2, 0xF27A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vcvtuqq2ps, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtuqq2psx, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtuqq2ps, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtuqq2psy, 2, 0xF27A, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=0|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vcvtuqq2ps, 3, 0xF27A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegZMM, RegYMM }
+
+vextractf32x8, 3, 0x661B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegYMM|RegMem }
+vextracti32x8, 3, 0x663B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegYMM|RegMem }
+vinsertf32x8, 4, 0x661A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vinserti32x8, 4, 0x663A, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+
+vextractf32x8, 3, 0x661B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vextracti32x8, 3, 0x663B, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vfpclassss, 3, 0x6667, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=2|VexOpcode=2|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vpextrd, 3, 0x6616, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpinsrd, 4, 0x6622, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg32|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+
+vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vfpclasssd, 3, 0x6667, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vpextrq, 3, 0x6616, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8 }
+vpinsrq, 4, 0x6622, None, 1, CpuAVX512DQ, Modrm|EVex=4|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+
+vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegXMM|RegMem }
+vextractf64x2, 3, 0x6619, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
+vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM, RegXMM|RegMem }
+vextracti64x2, 3, 0x6639, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM, RegXMM|RegMem }
+vinsertf64x2, 4, 0x6618, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vinsertf64x2, 4, 0x6618, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vinserti64x2, 4, 0x6638, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vinserti64x2, 4, 0x6638, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vfpclasspd, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclasspdz, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclasspd, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclasspdx, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclasspd, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclasspdy, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+
+vfpclassps, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclasspsz, 3, 0x6666, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=2|VexOpcode=2|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclassps, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclasspsx, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=2|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclassps, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+vfpclasspsy, 3, 0x6666, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=2|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegMask }
+
+vpmovd2m, 2, 0xF339, None, 1, CpuAVX512DQ, Modrm|EVex=1|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegMask }
+vpmovd2m, 2, 0xF339, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegMask }
+vpmovd2m, 2, 0xF339, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegMask }
+
+vpmovm2d, 2, 0xF338, None, 1, CpuAVX512DQ, Modrm|EVex=1|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
+vpmovm2d, 2, 0xF338, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
+vpmovm2d, 2, 0xF338, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
+
+vpmovm2q, 2, 0xF338, None, 1, CpuAVX512DQ, Modrm|EVex=1|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegZMM }
+vpmovm2q, 2, 0xF338, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM }
+vpmovm2q, 2, 0xF338, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegYMM }
+
+vpmovq2m, 2, 0xF339, None, 1, CpuAVX512DQ, Modrm|EVex=1|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, RegMask }
+vpmovq2m, 2, 0xF339, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegMask }
+vpmovq2m, 2, 0xF339, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|VexOpcode=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, RegMask }
+
+vpmullq, 3, 0x6640, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmullq, 3, 0x6640, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmullq, 3, 0x6640, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+vrangepd, 4, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vrangepd, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vrangepd, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vrangepd, 5, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegZMM }
+vreducepd, 3, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vreducepd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vreducepd, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vreducepd, 4, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
+
+vrangeps, 4, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vrangeps, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vrangeps, 4, 0x6650, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vrangeps, 5, 0x6650, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM, RegZMM }
+vreduceps, 3, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|Broadcast=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegZMM|Dword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM }
+vreduceps, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=2|VexW=1|Broadcast=3|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM }
+vreduceps, 3, 0x6656, None, 1, CpuAVX512DQ|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=2|VexW=1|Broadcast=2|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegYMM|Dword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM }
+vreduceps, 4, 0x6656, None, 1, CpuAVX512DQ, Modrm|EVex=1|Masking=3|VexOpcode=2|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegZMM, RegZMM }
+
+vrangesd, 4, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vrangesd, 5, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
+vreducesd, 4, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vreducesd, 5, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
+
+vrangess, 4, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vrangess, 5, 0x6651, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
+vreducess, 4, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vreducess, 5, 0x6657, None, 1, CpuAVX512DQ, Modrm|EVex=4|Masking=3|VexOpcode=2|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, Imm8, RegXMM, RegXMM, RegXMM }
+
+// AVX512DQ instructions end.
+
+// CLWB instructions.
+
+clwb, 1, 0x660fae, 0x6, 2, CpuCLWB, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Anysize|BaseIndex|Disp8|Disp16|Disp32|Disp32S }
+
+// CLWB instructions end.
+
+// PCOMMIT instructions.
+
+pcommit, 0, 0x660fae, 0xf8, 2, CpuPCOMMIT, IgnoreSize|ImmExt|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
+
+// PCOMMIT instructions end.
+
+// AVX512IFMA instructions
+
+vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpmadd52luq, 3, 0x66B4, None, 1, CpuAVX512IFMA, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmadd52luq, 3, 0x66B4, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmadd52luq, 3, 0x66B4, None, 1, CpuAVX512IFMA|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+// AVX512IFMA instructions end
+
+// AVX512VBMI instructions
+
+vpmultishiftqb, 3, 0x6683, None, 1, CpuAVX512VBMI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpmultishiftqb, 3, 0x6683, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=4|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Qword|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpmultishiftqb, 3, 0x6683, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=3|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Qword|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermb, 3, 0x668D, None, 1, CpuAVX512VBMI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpermb, 3, 0x668D, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermb, 3, 0x668D, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermi2b, 3, 0x6675, None, 1, CpuAVX512VBMI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpermi2b, 3, 0x6675, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermi2b, 3, 0x6675, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+vpermt2b, 3, 0x667D, None, 1, CpuAVX512VBMI, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
+vpermt2b, 3, 0x667D, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=2|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=4|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|XMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
+vpermt2b, 3, 0x667D, None, 1, CpuAVX512VBMI|CpuAVX512VL, Modrm|EVex=3|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|YMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegYMM, RegYMM }
+
+// AVX512VBMI instructions end
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-reg.tbl ./opcodes/i386-reg.tbl
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-reg.tbl	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i386-reg.tbl	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 // i386 register table.
-// Copyright (C) 2007-2014 Free Software Foundation, Inc.
+// Copyright (C) 2007-2015 Free Software Foundation, Inc.
 //
 // This file is part of the GNU opcodes library.
 //
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-tbl.h ./opcodes/i386-tbl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i386-tbl.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i386-tbl.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* This file is automatically generated by i386-gen.  Do not edit!  */
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -26,7 +26,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -41,7 +42,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -56,7 +58,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -71,7 +74,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -86,7 +90,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -101,7 +106,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -116,7 +122,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -131,7 +138,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -146,7 +154,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -161,7 +170,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -176,7 +186,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -191,7 +202,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -206,7 +218,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -221,7 +234,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -236,7 +250,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -251,7 +266,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -266,7 +282,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -281,7 +298,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -296,7 +314,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -311,7 +330,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -326,7 +346,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -340,8 +361,9 @@ const insn_template i386_optab[] =
   { "movbe", 2, 0x0f38f0, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -355,8 +377,9 @@ const insn_template i386_optab[] =
   { "movbe", 2, 0x0f38f1, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -371,7 +394,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -386,7 +410,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -401,7 +426,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -416,7 +442,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -431,7 +458,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -446,7 +474,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -461,7 +490,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -476,7 +506,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -491,7 +522,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -506,7 +538,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -521,7 +554,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -536,7 +570,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -551,7 +586,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -566,7 +602,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -581,7 +618,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -596,7 +634,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -611,7 +650,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -626,7 +666,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -641,7 +682,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -656,7 +698,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -671,7 +714,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -686,7 +730,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -701,7 +746,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -716,7 +762,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -728,7 +775,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -740,7 +788,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -752,7 +801,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -764,7 +814,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -776,7 +827,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -788,7 +840,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -800,7 +853,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -812,7 +866,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -824,7 +879,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -836,7 +892,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -848,7 +905,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -860,7 +918,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -872,7 +931,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -884,7 +944,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -896,7 +957,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -908,7 +970,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -920,7 +983,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -932,7 +996,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -944,7 +1009,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -956,7 +1022,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -971,7 +1038,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -986,7 +1054,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1001,7 +1070,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1016,7 +1086,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1031,7 +1102,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1046,7 +1118,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1058,7 +1131,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1070,7 +1144,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1085,7 +1160,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1100,7 +1176,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1112,7 +1189,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1124,7 +1202,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1139,7 +1218,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1154,7 +1234,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1169,7 +1250,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1184,7 +1266,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1199,7 +1282,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1214,7 +1298,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1226,7 +1311,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1238,7 +1324,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1250,7 +1337,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1262,7 +1350,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1274,7 +1363,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1286,7 +1376,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1298,7 +1389,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1310,7 +1402,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1322,7 +1415,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1334,7 +1428,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1346,7 +1441,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1358,7 +1454,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1370,7 +1467,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1382,7 +1480,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1397,7 +1496,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1412,7 +1512,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1427,7 +1528,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1442,7 +1544,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1454,7 +1557,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1466,7 +1570,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1481,7 +1586,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1496,7 +1602,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1511,7 +1618,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1526,7 +1634,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1538,7 +1647,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1550,7 +1660,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1565,7 +1676,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1580,7 +1692,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1595,7 +1708,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1610,7 +1724,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1625,7 +1740,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1640,7 +1756,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1655,7 +1772,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1670,7 +1788,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1685,7 +1804,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1700,7 +1820,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1715,7 +1836,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1730,7 +1852,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1745,7 +1868,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1760,7 +1884,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1775,7 +1900,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1790,7 +1916,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1805,7 +1932,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1820,7 +1948,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1835,7 +1964,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1850,7 +1980,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1865,7 +1996,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1880,7 +2012,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1895,7 +2028,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1910,7 +2044,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1922,7 +2057,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1937,7 +2073,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1952,7 +2089,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1967,7 +2105,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1982,7 +2121,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1994,7 +2134,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2006,7 +2147,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2018,7 +2160,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2030,7 +2173,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2042,7 +2186,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2054,7 +2199,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2066,7 +2212,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2078,7 +2225,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2090,7 +2238,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2102,7 +2251,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2114,7 +2264,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2126,7 +2277,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2138,7 +2290,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2150,7 +2303,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2162,7 +2316,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2174,7 +2329,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2186,7 +2342,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2198,7 +2355,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2210,7 +2368,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2222,7 +2381,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2234,7 +2394,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2246,7 +2407,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2258,7 +2420,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2270,7 +2433,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2285,7 +2449,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2303,7 +2468,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2321,7 +2487,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2336,7 +2503,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2351,7 +2519,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2363,7 +2532,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2378,7 +2548,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2390,7 +2561,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2405,7 +2577,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2420,7 +2593,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2435,7 +2609,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2450,7 +2625,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2462,7 +2638,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2477,7 +2654,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2492,7 +2670,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2507,7 +2686,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2519,7 +2699,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2534,7 +2715,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2549,7 +2731,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2564,7 +2747,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2576,7 +2760,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2591,7 +2776,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2606,7 +2792,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2621,7 +2808,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2633,7 +2821,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2648,7 +2837,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2663,7 +2853,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2678,7 +2869,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2690,7 +2882,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2705,7 +2898,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2720,7 +2914,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2735,7 +2930,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2747,7 +2943,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2762,7 +2959,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2777,7 +2975,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2792,7 +2991,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2804,7 +3004,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2819,7 +3020,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2834,7 +3036,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2849,7 +3052,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2861,7 +3065,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2879,7 +3084,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2897,7 +3103,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2912,7 +3119,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2930,7 +3138,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2948,7 +3157,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2963,7 +3173,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2975,7 +3186,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2987,7 +3199,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2999,7 +3212,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3011,7 +3225,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3026,7 +3241,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
       1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3038,7 +3254,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3053,7 +3270,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3065,7 +3283,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3077,7 +3296,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3089,7 +3309,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3101,7 +3322,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3116,7 +3338,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3128,7 +3351,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3143,7 +3367,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3155,7 +3380,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3167,7 +3393,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3179,7 +3406,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3191,7 +3419,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3203,7 +3432,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3215,7 +3445,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3227,7 +3458,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3239,7 +3471,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3251,7 +3484,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3266,7 +3500,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3281,7 +3516,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3293,7 +3529,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3305,7 +3542,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3317,7 +3555,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3329,7 +3568,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3341,7 +3581,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3353,7 +3594,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3365,7 +3607,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3377,7 +3620,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3389,7 +3633,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3401,7 +3646,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3413,7 +3659,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3425,7 +3672,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3437,7 +3685,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3449,7 +3698,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3461,7 +3711,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3473,7 +3724,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3485,7 +3737,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3497,7 +3750,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3509,7 +3763,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3521,7 +3776,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3533,7 +3789,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3545,7 +3802,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3557,7 +3815,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3569,7 +3828,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3581,7 +3841,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3593,7 +3854,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3605,7 +3867,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3617,7 +3880,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3629,7 +3893,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3641,7 +3906,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3653,7 +3919,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3665,7 +3932,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3677,7 +3945,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3689,7 +3958,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3701,7 +3971,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3713,7 +3984,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3725,7 +3997,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3737,7 +4010,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3749,7 +4023,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3761,7 +4036,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3773,7 +4049,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3785,7 +4062,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3797,7 +4075,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3809,7 +4088,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3821,7 +4101,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3833,7 +4114,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3845,7 +4127,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3857,7 +4140,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3869,7 +4153,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3881,7 +4166,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3893,7 +4179,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3905,7 +4192,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3917,7 +4205,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3929,7 +4218,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3941,7 +4231,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3953,7 +4244,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3965,7 +4257,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3977,7 +4270,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3989,7 +4283,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4001,7 +4296,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4013,7 +4309,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4025,7 +4322,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4037,7 +4335,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4049,7 +4348,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4061,7 +4361,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4073,7 +4374,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4085,7 +4387,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4097,7 +4400,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4109,7 +4413,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4121,7 +4426,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4133,7 +4439,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4145,7 +4452,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4157,7 +4465,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4169,7 +4478,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4181,7 +4491,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4193,7 +4504,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4208,7 +4520,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4220,7 +4533,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4235,7 +4549,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4247,7 +4562,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4262,7 +4578,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4274,7 +4591,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4289,7 +4607,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4301,7 +4620,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4313,7 +4633,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4328,7 +4649,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4340,7 +4662,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4352,7 +4675,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4367,7 +4691,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4379,7 +4704,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4394,7 +4720,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4406,7 +4733,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4421,7 +4749,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4433,7 +4762,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4445,7 +4775,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4460,7 +4791,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4472,7 +4804,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4484,7 +4817,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4499,7 +4833,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4511,7 +4846,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4523,7 +4859,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4538,7 +4875,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4550,7 +4888,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4562,7 +4901,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4577,7 +4917,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4589,7 +4930,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4601,7 +4943,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4616,7 +4959,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4631,7 +4975,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4646,7 +4991,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4661,7 +5007,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4676,7 +5023,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4691,7 +5039,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4706,7 +5055,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4721,7 +5071,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4736,7 +5087,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4751,7 +5103,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4763,7 +5116,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4775,7 +5129,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4787,7 +5142,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4799,7 +5155,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4811,7 +5168,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4826,7 +5184,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4838,7 +5197,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4850,7 +5210,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4862,7 +5223,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4877,7 +5239,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4892,7 +5255,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4904,7 +5268,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4916,7 +5281,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4928,7 +5294,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4940,7 +5307,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4952,7 +5320,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4964,7 +5333,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4979,7 +5349,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4991,7 +5362,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5003,7 +5375,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5015,7 +5388,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5027,7 +5401,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5039,7 +5414,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5051,7 +5427,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5063,7 +5440,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5075,7 +5453,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5087,7 +5466,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5099,7 +5479,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5111,7 +5492,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5123,7 +5505,8 @@ const insn_template i386_optab[] =
     { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5135,7 +5518,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5147,7 +5531,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5159,7 +5544,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5171,7 +5557,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5183,7 +5570,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5195,7 +5583,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5207,7 +5596,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5219,7 +5609,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5231,7 +5622,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5243,7 +5635,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5255,7 +5648,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5267,7 +5661,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5279,7 +5674,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5291,7 +5687,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5303,7 +5700,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5315,7 +5713,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5327,7 +5726,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5339,7 +5739,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5351,7 +5752,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5363,7 +5765,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5375,7 +5778,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5387,7 +5791,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5399,7 +5804,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5411,7 +5817,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5423,7 +5830,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5435,7 +5843,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5447,7 +5856,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5459,7 +5869,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5471,7 +5882,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5483,7 +5895,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5495,7 +5908,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5507,7 +5921,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5519,7 +5934,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5531,7 +5947,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5543,7 +5960,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5555,7 +5973,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5567,7 +5986,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5579,7 +5999,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5591,7 +6012,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5603,7 +6025,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5615,7 +6038,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5627,7 +6051,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5639,7 +6064,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5651,7 +6077,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5663,7 +6090,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5675,7 +6103,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5687,7 +6116,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5699,7 +6129,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5711,7 +6142,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5723,7 +6155,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5738,7 +6171,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5750,7 +6184,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -5762,7 +6197,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5774,7 +6210,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5786,7 +6223,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5801,7 +6239,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5813,7 +6252,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5825,7 +6265,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5840,7 +6281,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5852,7 +6294,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -5867,7 +6310,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -5879,7 +6323,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -5891,7 +6336,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5906,7 +6352,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5918,7 +6365,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5930,7 +6378,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -5945,7 +6394,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -5957,7 +6407,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -5969,7 +6420,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
@@ -5984,7 +6436,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
@@ -5999,7 +6452,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6014,7 +6468,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6026,7 +6481,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6038,7 +6494,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6050,7 +6507,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6065,7 +6523,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6077,7 +6536,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6089,7 +6549,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6104,7 +6565,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6116,7 +6578,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6128,7 +6591,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6143,7 +6607,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6155,7 +6620,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6167,7 +6633,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
@@ -6182,7 +6649,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
@@ -6197,7 +6665,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6212,7 +6681,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6224,7 +6694,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6236,7 +6707,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6251,7 +6723,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6263,7 +6736,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6275,7 +6749,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6287,7 +6762,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6299,7 +6775,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6314,7 +6791,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6326,7 +6804,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6338,7 +6817,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6353,7 +6833,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6365,7 +6846,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6380,7 +6862,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6392,7 +6875,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6404,7 +6888,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6419,7 +6904,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6431,7 +6917,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6443,7 +6930,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6458,7 +6946,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6470,7 +6959,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6482,7 +6972,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
@@ -6497,7 +6988,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
@@ -6512,7 +7004,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6527,7 +7020,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6539,7 +7033,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6551,7 +7046,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6563,7 +7059,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6578,7 +7075,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6590,7 +7088,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6602,7 +7101,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6617,7 +7117,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6629,7 +7130,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6641,7 +7143,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6656,7 +7159,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6668,7 +7172,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
@@ -6680,7 +7185,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
@@ -6695,7 +7201,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
@@ -6710,7 +7217,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6725,7 +7233,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6737,7 +7246,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6749,7 +7259,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6761,7 +7272,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6773,7 +7285,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6785,7 +7298,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6797,7 +7311,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6809,7 +7324,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6821,7 +7337,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6833,7 +7350,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6845,7 +7363,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6857,7 +7376,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6869,7 +7389,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6881,7 +7402,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6893,7 +7415,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6905,7 +7428,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6917,7 +7441,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6929,7 +7454,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6941,7 +7467,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6953,7 +7480,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6965,7 +7493,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6977,7 +7506,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6989,7 +7519,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7001,7 +7532,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7013,7 +7545,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7025,7 +7558,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7037,7 +7571,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7049,7 +7584,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7061,7 +7597,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7073,7 +7610,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7085,7 +7623,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7097,7 +7636,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7109,7 +7649,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7121,7 +7662,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7133,7 +7675,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
       0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7145,7 +7688,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7157,7 +7701,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7169,7 +7714,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
       0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7181,7 +7727,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7193,7 +7740,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7205,7 +7753,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7217,7 +7766,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7229,7 +7779,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7241,7 +7792,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7253,7 +7805,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7265,7 +7818,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7277,7 +7831,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7289,7 +7844,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7301,7 +7857,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7313,7 +7870,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7325,7 +7883,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7337,7 +7896,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7349,7 +7909,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7361,7 +7922,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7373,7 +7935,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7385,7 +7948,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7397,7 +7961,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7409,7 +7974,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7421,7 +7987,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7433,7 +8000,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7445,7 +8013,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7457,7 +8026,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7469,7 +8039,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7481,7 +8052,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7493,7 +8065,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7505,7 +8078,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7517,7 +8091,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7529,7 +8104,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7541,7 +8117,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7553,7 +8130,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7565,7 +8143,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7577,7 +8156,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7589,7 +8169,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7601,7 +8182,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7613,7 +8195,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7625,7 +8208,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7637,7 +8221,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7649,7 +8234,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7661,7 +8247,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7673,7 +8260,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7685,7 +8273,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7697,7 +8286,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7709,7 +8299,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7721,7 +8312,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7733,7 +8325,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7745,7 +8338,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7757,7 +8351,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7769,7 +8364,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7781,7 +8377,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7793,7 +8390,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7805,7 +8403,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7817,7 +8416,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7829,7 +8429,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7841,7 +8442,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7853,7 +8455,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7865,7 +8468,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7877,7 +8481,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7889,7 +8494,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7901,7 +8507,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7913,7 +8520,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7925,7 +8533,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7937,7 +8546,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7949,7 +8559,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7961,7 +8572,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7973,7 +8585,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7985,7 +8598,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8000,7 +8614,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8015,7 +8630,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8027,7 +8643,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8039,7 +8656,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8051,7 +8669,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8063,7 +8682,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8075,7 +8695,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8087,7 +8708,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8099,7 +8721,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8111,7 +8734,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8123,7 +8747,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8135,7 +8760,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8147,7 +8773,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8159,7 +8786,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8171,7 +8799,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8183,7 +8812,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8195,7 +8825,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8207,7 +8838,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8219,7 +8851,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8231,7 +8864,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8243,7 +8877,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8258,7 +8893,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8273,7 +8909,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8288,7 +8925,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8303,7 +8941,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8318,7 +8957,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8333,7 +8973,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8348,7 +8989,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8363,7 +9005,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8378,7 +9021,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8393,7 +9037,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8408,7 +9053,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8423,7 +9069,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8438,7 +9085,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8453,7 +9101,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8468,7 +9117,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8483,7 +9133,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8498,7 +9149,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8513,7 +9165,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8528,7 +9181,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8543,7 +9197,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8558,7 +9213,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8573,7 +9229,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8588,7 +9245,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8603,7 +9261,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8618,7 +9277,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8633,7 +9293,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8648,7 +9309,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8663,7 +9325,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8678,7 +9341,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8693,7 +9357,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8708,7 +9373,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8723,7 +9389,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8738,7 +9405,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8753,7 +9421,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8768,7 +9437,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8783,7 +9453,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8798,7 +9469,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8813,7 +9485,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8828,7 +9501,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8843,7 +9517,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8858,7 +9533,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8873,7 +9549,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8888,7 +9565,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8900,7 +9578,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8912,7 +9591,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8927,7 +9607,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8939,7 +9620,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8951,7 +9633,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8966,7 +9649,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8978,7 +9662,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8990,7 +9675,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9005,7 +9691,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9017,7 +9704,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9029,7 +9717,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9044,7 +9733,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9056,7 +9746,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9068,7 +9759,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9083,7 +9775,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9095,7 +9788,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9107,7 +9801,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9122,7 +9817,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9134,7 +9830,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9146,7 +9843,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9158,7 +9856,8 @@ const insn_template i386_optab[] =
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9170,7 +9869,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9182,7 +9882,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9197,7 +9898,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9212,7 +9914,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9227,7 +9930,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9242,7 +9946,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9257,7 +9962,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9272,7 +9978,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9287,7 +9994,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9302,7 +10010,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9317,7 +10026,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9332,7 +10042,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9347,7 +10058,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9362,7 +10074,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9377,7 +10090,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9392,7 +10106,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9407,7 +10122,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9422,7 +10138,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9437,7 +10154,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9452,7 +10170,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9467,7 +10186,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9482,7 +10202,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9497,7 +10218,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9512,7 +10234,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9527,7 +10250,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9542,7 +10266,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9557,7 +10282,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9572,7 +10298,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9587,7 +10314,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9602,7 +10330,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9617,7 +10346,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9632,7 +10362,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9647,7 +10378,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9662,7 +10394,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9677,7 +10410,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9692,7 +10426,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9707,7 +10442,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9722,7 +10458,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9737,7 +10474,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9752,7 +10490,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9767,7 +10506,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9782,7 +10522,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9797,7 +10538,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9812,7 +10554,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9827,7 +10570,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9842,7 +10586,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9857,7 +10602,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9872,7 +10618,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9887,7 +10634,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9902,7 +10650,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9917,7 +10666,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9932,7 +10682,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9947,7 +10698,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9962,7 +10714,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9977,7 +10730,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -9992,7 +10746,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10007,7 +10762,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10022,7 +10778,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10037,7 +10794,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10052,7 +10810,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10067,7 +10826,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10082,7 +10842,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10097,7 +10858,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10112,7 +10874,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10127,7 +10890,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10142,7 +10906,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10157,7 +10922,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10172,7 +10938,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10187,7 +10954,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10202,7 +10970,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10217,7 +10986,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10232,7 +11002,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10247,7 +11018,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10262,7 +11034,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10277,7 +11050,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10292,7 +11066,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10307,7 +11082,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10322,7 +11098,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10337,7 +11114,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10352,7 +11130,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10367,7 +11146,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10382,7 +11162,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10397,7 +11178,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10412,7 +11194,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10427,7 +11210,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10442,7 +11226,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10457,7 +11242,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10472,7 +11258,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10487,7 +11274,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10502,7 +11290,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10517,7 +11306,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10532,7 +11322,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10547,7 +11338,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10562,7 +11354,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10577,7 +11370,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10592,7 +11386,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10607,7 +11402,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10622,7 +11418,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10637,7 +11434,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10652,7 +11450,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10667,7 +11466,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10682,7 +11482,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10697,7 +11498,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10712,7 +11514,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10727,7 +11530,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10742,7 +11546,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10757,7 +11562,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10772,7 +11578,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10787,7 +11594,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10802,7 +11610,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10817,7 +11626,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10832,7 +11642,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10847,7 +11658,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10862,7 +11674,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10877,7 +11690,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10892,7 +11706,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10907,7 +11722,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10922,7 +11738,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10937,7 +11754,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10952,7 +11770,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10967,7 +11786,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10982,7 +11802,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10997,7 +11818,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11012,7 +11834,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11027,7 +11850,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11042,7 +11866,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11057,7 +11882,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11072,7 +11898,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11087,7 +11914,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11102,7 +11930,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11117,7 +11946,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11132,7 +11962,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11147,7 +11978,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11162,7 +11994,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11177,7 +12010,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11192,7 +12026,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11207,7 +12042,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11222,7 +12058,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11237,7 +12074,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11252,7 +12090,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11267,7 +12106,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11282,7 +12122,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11297,7 +12138,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11312,7 +12154,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11327,7 +12170,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11342,7 +12186,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11357,7 +12202,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11372,7 +12218,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11387,7 +12234,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11402,7 +12250,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11417,7 +12266,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11432,7 +12282,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11447,7 +12298,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11462,7 +12314,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11477,7 +12330,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11492,7 +12346,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11507,7 +12362,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11522,7 +12378,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11537,7 +12394,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11552,7 +12410,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11567,7 +12426,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11582,7 +12442,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11597,7 +12458,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11612,7 +12474,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11627,7 +12490,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11642,7 +12506,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11657,7 +12522,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11672,7 +12538,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11687,7 +12554,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11702,7 +12570,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11717,7 +12586,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11732,7 +12602,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11747,7 +12618,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11762,7 +12634,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11777,7 +12650,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11792,7 +12666,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11807,7 +12682,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11822,7 +12698,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11837,7 +12714,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11852,7 +12730,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11867,7 +12746,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11882,7 +12762,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11897,7 +12778,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11912,7 +12794,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11927,7 +12810,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11942,7 +12826,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11957,7 +12842,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11972,7 +12858,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11987,7 +12874,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12002,7 +12890,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12017,7 +12906,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12032,7 +12922,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12047,7 +12938,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12062,7 +12954,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12077,7 +12970,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12092,7 +12986,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12107,7 +13002,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12122,7 +13018,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12137,7 +13034,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12152,7 +13050,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12167,7 +13066,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12182,7 +13082,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12197,7 +13098,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12212,7 +13114,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12227,7 +13130,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12242,7 +13146,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12257,7 +13162,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12272,7 +13178,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12287,7 +13194,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12302,7 +13210,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12317,7 +13226,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12332,7 +13242,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12347,7 +13258,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12362,7 +13274,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12377,7 +13290,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12392,7 +13306,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12407,7 +13322,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12422,7 +13338,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12437,7 +13354,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12452,7 +13370,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12467,7 +13386,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12482,7 +13402,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12497,7 +13418,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12512,7 +13434,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12527,7 +13450,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12542,7 +13466,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12557,7 +13482,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12572,7 +13498,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12587,7 +13514,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12602,7 +13530,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12617,7 +13546,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12632,7 +13562,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12647,7 +13578,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12662,7 +13594,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12677,7 +13610,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12692,7 +13626,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12710,7 +13645,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12728,7 +13664,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12746,7 +13683,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12764,7 +13702,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12779,7 +13718,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12794,7 +13734,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12809,7 +13750,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12824,7 +13766,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12839,7 +13782,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12854,7 +13798,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12869,7 +13814,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12884,7 +13830,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12899,7 +13846,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12914,7 +13862,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12929,7 +13878,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12944,7 +13894,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12959,7 +13910,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12974,7 +13926,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12989,7 +13942,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13004,7 +13958,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13019,7 +13974,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13031,7 +13987,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13043,7 +14000,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13058,7 +14016,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13073,7 +14032,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13088,7 +14048,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13103,7 +14064,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13118,7 +14080,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13133,7 +14096,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13148,7 +14112,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13163,7 +14128,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13178,7 +14144,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13193,7 +14160,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13208,7 +14176,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13223,7 +14192,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13238,7 +14208,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13253,7 +14224,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13268,7 +14240,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13283,7 +14256,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13298,7 +14272,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13313,7 +14288,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13328,7 +14304,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13343,7 +14320,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13358,7 +14336,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13373,7 +14352,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13388,7 +14368,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13403,7 +14384,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13418,7 +14400,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13433,7 +14416,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13448,7 +14432,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13463,7 +14448,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13478,7 +14464,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13493,7 +14480,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13508,7 +14496,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13523,7 +14512,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13538,7 +14528,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13553,7 +14544,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13568,7 +14560,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13583,7 +14576,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13598,7 +14592,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13613,7 +14608,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13628,7 +14624,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13643,7 +14640,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13658,7 +14656,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13673,7 +14672,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13688,7 +14688,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13703,7 +14704,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13718,7 +14720,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13733,7 +14736,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13748,7 +14752,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13763,7 +14768,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13778,7 +14784,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13793,7 +14800,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13808,7 +14816,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13823,7 +14832,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13838,7 +14848,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13853,7 +14864,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13871,7 +14883,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13889,7 +14902,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13907,7 +14921,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13925,7 +14940,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13943,7 +14959,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13961,7 +14978,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13979,7 +14997,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13997,7 +15016,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14012,7 +15032,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14027,7 +15048,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14042,7 +15064,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14057,7 +15080,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14072,7 +15096,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14087,7 +15112,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14102,7 +15128,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14117,7 +15144,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14132,7 +15160,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14147,7 +15176,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14162,7 +15192,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14177,7 +15208,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14192,7 +15224,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14207,7 +15240,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14222,7 +15256,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14237,7 +15272,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14252,7 +15288,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14267,7 +15304,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14279,7 +15317,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14291,7 +15330,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14303,7 +15343,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14315,7 +15356,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14330,7 +15372,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14345,7 +15388,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14360,7 +15404,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14378,7 +15423,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14393,7 +15439,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14408,7 +15455,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14423,7 +15471,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14438,7 +15487,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14453,7 +15503,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14468,7 +15519,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14483,7 +15535,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14498,7 +15551,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14510,7 +15564,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14528,7 +15583,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14546,7 +15602,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14561,7 +15618,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14576,7 +15634,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14591,7 +15650,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14606,7 +15666,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14618,7 +15679,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14630,7 +15692,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14645,7 +15708,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14660,7 +15724,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14675,7 +15740,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14690,7 +15756,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14705,7 +15772,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14720,7 +15788,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14735,7 +15804,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14750,7 +15820,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14765,7 +15836,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14780,7 +15852,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14795,7 +15868,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14810,7 +15884,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14825,7 +15900,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14840,7 +15916,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14855,7 +15932,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14870,7 +15948,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14885,7 +15964,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14900,7 +15980,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14915,7 +15996,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14930,7 +16012,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14945,7 +16028,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14960,7 +16044,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14975,7 +16060,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14990,7 +16076,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15005,7 +16092,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15020,7 +16108,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15035,7 +16124,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15050,7 +16140,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15065,7 +16156,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15080,7 +16172,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15095,7 +16188,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15110,7 +16204,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15125,7 +16220,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15140,7 +16236,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15155,7 +16252,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15170,7 +16268,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15185,7 +16284,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15200,7 +16300,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15215,7 +16316,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15230,7 +16332,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15245,7 +16348,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15260,7 +16364,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15275,7 +16380,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15290,7 +16396,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15305,7 +16412,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15320,7 +16428,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15335,7 +16444,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15350,7 +16460,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15365,7 +16476,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15380,7 +16492,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15395,7 +16508,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15410,7 +16524,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15428,7 +16543,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15446,7 +16562,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15458,7 +16575,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15473,7 +16591,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15491,7 +16610,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15509,7 +16629,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15524,7 +16645,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15539,7 +16661,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15554,7 +16677,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15569,7 +16693,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15584,7 +16709,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15599,7 +16725,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15614,7 +16741,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15629,7 +16757,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15644,7 +16773,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15659,7 +16789,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15674,7 +16805,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15689,7 +16821,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15704,7 +16837,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15719,7 +16853,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15734,7 +16869,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15749,7 +16885,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15764,7 +16901,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15779,7 +16917,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15794,7 +16933,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15809,7 +16949,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15824,7 +16965,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15839,7 +16981,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15854,7 +16997,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15869,7 +17013,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15884,7 +17029,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15899,7 +17045,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15914,7 +17061,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15929,7 +17077,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15944,7 +17093,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15959,7 +17109,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15974,7 +17125,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15989,7 +17141,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16004,7 +17157,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16019,7 +17173,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16034,7 +17189,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16046,7 +17202,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16061,7 +17218,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16076,7 +17234,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16091,7 +17250,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16106,7 +17266,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16121,7 +17282,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16136,7 +17298,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16151,7 +17314,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16166,7 +17330,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16181,7 +17346,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16196,7 +17362,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16211,7 +17378,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16226,7 +17394,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16241,7 +17410,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16256,7 +17426,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16271,7 +17442,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16286,7 +17458,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16301,7 +17474,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16319,7 +17493,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16337,7 +17512,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16352,7 +17528,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16367,7 +17544,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16382,7 +17560,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16397,7 +17576,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16412,7 +17592,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16427,7 +17608,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16442,7 +17624,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16457,7 +17640,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16472,7 +17656,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16487,7 +17672,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16502,7 +17688,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16517,7 +17704,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16532,7 +17720,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16547,7 +17736,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16562,7 +17752,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16577,7 +17768,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16592,7 +17784,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16607,7 +17800,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16622,7 +17816,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16637,7 +17832,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16652,7 +17848,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16667,7 +17864,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16682,7 +17880,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16697,7 +17896,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16712,7 +17912,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16727,7 +17928,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16742,7 +17944,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16757,7 +17960,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16772,7 +17976,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16787,7 +17992,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16802,7 +18008,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16817,7 +18024,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16832,7 +18040,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16847,7 +18056,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16862,7 +18072,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16877,7 +18088,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16892,7 +18104,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16907,7 +18120,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16922,7 +18136,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16937,7 +18152,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16952,7 +18168,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16967,7 +18184,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16982,7 +18200,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16997,7 +18216,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17012,7 +18232,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17027,7 +18248,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17042,7 +18264,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17057,7 +18280,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17072,7 +18296,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17087,7 +18312,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17102,7 +18328,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17117,7 +18344,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17132,7 +18360,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17147,7 +18376,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17162,7 +18392,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17177,7 +18408,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17192,7 +18424,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17210,7 +18443,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17228,7 +18462,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17246,7 +18481,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17264,7 +18500,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17282,7 +18519,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17300,7 +18538,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17315,7 +18554,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17330,7 +18570,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17345,7 +18586,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17360,7 +18602,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17375,7 +18618,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17390,7 +18634,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17405,7 +18650,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17420,7 +18666,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17435,7 +18682,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17450,7 +18698,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17465,7 +18714,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17479,8 +18729,9 @@ const insn_template i386_optab[] =
   { "cmpxchg16b", 1, 0xfc7, 0x1, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17492,7 +18743,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17504,7 +18756,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17516,7 +18769,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17528,7 +18782,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17543,7 +18798,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17558,7 +18814,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17573,7 +18830,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17588,7 +18846,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17603,7 +18862,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17618,7 +18878,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17633,7 +18894,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17648,7 +18910,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17663,7 +18926,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17678,7 +18942,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17690,7 +18955,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17708,7 +18974,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17726,7 +18993,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17741,7 +19009,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17756,7 +19025,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17771,7 +19041,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17786,7 +19057,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17801,7 +19073,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17816,7 +19089,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17828,7 +19102,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17843,7 +19118,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17858,7 +19134,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17870,7 +19147,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17882,7 +19160,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17894,7 +19173,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17906,7 +19186,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17918,7 +19199,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17930,7 +19212,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17945,7 +19228,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17960,7 +19244,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17975,7 +19260,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17990,7 +19276,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18002,7 +19289,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18013,8 +19301,9 @@ const insn_template i386_optab[] =
   { "vmfunc", 0, 0xf01, 0xd4, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18026,7 +19315,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18037,8 +19327,9 @@ const insn_template i386_optab[] =
   { "invept", 2, 0x660f3880, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18052,8 +19343,9 @@ const insn_template i386_optab[] =
   { "invept", 2, 0x660f3880, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18067,8 +19359,9 @@ const insn_template i386_optab[] =
   { "invvpid", 2, 0x660f3881, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18082,8 +19375,9 @@ const insn_template i386_optab[] =
   { "invvpid", 2, 0x660f3881, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18097,8 +19391,9 @@ const insn_template i386_optab[] =
   { "invpcid", 2, 0x660f3882, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18112,8 +19407,9 @@ const insn_template i386_optab[] =
   { "invpcid", 2, 0x660f3882, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18128,7 +19424,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18143,7 +19440,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18158,7 +19456,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18173,7 +19472,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18188,7 +19488,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18203,7 +19504,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18218,7 +19520,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18233,7 +19536,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18248,7 +19552,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18263,7 +19568,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18278,7 +19584,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18293,7 +19600,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18308,7 +19616,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18323,7 +19632,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18338,7 +19648,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18353,7 +19664,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18368,7 +19680,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18383,7 +19696,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18398,7 +19712,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18413,7 +19728,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18428,7 +19744,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18443,7 +19760,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18458,7 +19776,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18473,7 +19792,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18488,7 +19808,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18503,7 +19824,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18518,7 +19840,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18533,7 +19856,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18548,7 +19872,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18563,7 +19888,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18578,7 +19904,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18593,7 +19920,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18608,7 +19936,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18623,7 +19952,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18638,7 +19968,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18653,7 +19984,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18668,7 +20000,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18686,7 +20019,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18704,7 +20038,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18722,7 +20057,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18737,7 +20073,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18752,7 +20089,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18767,7 +20105,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18782,7 +20121,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18797,7 +20137,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18812,7 +20153,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18827,7 +20169,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18842,7 +20185,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18857,7 +20201,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18875,7 +20220,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18893,7 +20239,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18911,7 +20258,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18929,7 +20277,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18947,7 +20296,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18962,7 +20312,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18980,7 +20331,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -18995,7 +20347,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19013,7 +20366,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19028,7 +20382,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19046,7 +20401,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19061,7 +20417,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19079,7 +20436,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19097,7 +20455,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19115,7 +20474,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19133,7 +20493,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19151,7 +20512,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19169,7 +20531,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19187,7 +20550,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19205,7 +20569,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19220,7 +20585,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19235,7 +20601,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19253,7 +20620,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19271,7 +20639,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19286,7 +20655,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19301,7 +20671,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19319,7 +20690,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19334,7 +20706,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19352,7 +20725,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19367,7 +20741,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19385,7 +20760,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19403,7 +20779,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19418,7 +20795,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19433,7 +20811,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19451,7 +20830,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19469,7 +20849,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19487,7 +20868,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19505,7 +20887,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19523,7 +20906,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19541,7 +20925,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19556,7 +20941,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19571,7 +20957,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19589,7 +20976,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19607,7 +20995,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19625,7 +21014,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19643,7 +21033,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19661,7 +21052,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19679,7 +21071,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19694,7 +21087,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19709,7 +21103,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19724,7 +21119,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19739,7 +21135,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19754,7 +21151,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19769,7 +21167,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19784,7 +21183,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19799,7 +21199,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19814,7 +21215,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19829,7 +21231,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19844,7 +21247,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19859,7 +21263,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19874,7 +21279,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19889,7 +21295,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19904,7 +21311,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19919,7 +21327,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19934,7 +21343,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19949,7 +21359,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19964,7 +21375,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19979,7 +21391,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -19994,7 +21407,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20009,7 +21423,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20024,7 +21439,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20039,7 +21455,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20054,7 +21471,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20069,7 +21487,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20084,7 +21503,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20099,7 +21519,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20114,7 +21535,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20129,7 +21551,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20144,7 +21567,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20159,7 +21583,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20174,7 +21599,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20189,7 +21615,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20204,7 +21631,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20219,7 +21647,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20234,7 +21663,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20249,7 +21679,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20264,7 +21695,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20279,7 +21711,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20294,7 +21727,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20309,7 +21743,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20324,7 +21759,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20339,7 +21775,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20354,7 +21791,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20369,7 +21807,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20387,7 +21826,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20405,7 +21845,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20423,7 +21864,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20441,7 +21883,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 3, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20459,7 +21902,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20477,7 +21921,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20495,7 +21940,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20513,7 +21959,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20528,7 +21975,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20543,7 +21991,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20561,7 +22010,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20579,7 +22029,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20597,7 +22048,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20615,7 +22067,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20633,7 +22086,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20651,7 +22105,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20669,7 +22124,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20687,7 +22143,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20702,7 +22159,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20717,7 +22175,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20732,7 +22191,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20745,9 +22205,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "xsave", 1, 0xfae, 0x4, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20757,9 +22218,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
   { "xsave64", 1, 0xfae, 0x4, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20769,9 +22231,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
   { "xrstor", 1, 0xfae, 0x5, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20781,9 +22244,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
   { "xrstor64", 1, 0xfae, 0x5, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20793,9 +22257,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
   { "xgetbv", 0, 0xf01, 0xd0, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20805,9 +22270,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "xsetbv", 0, 0xf01, 0xd1, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20817,9 +22283,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "xsaveopt", 1, 0xfae, 0x6, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20829,9 +22296,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
   { "xsaveopt64", 1, 0xfae, 0x6, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20841,9 +22309,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
   { "aesdec", 2, 0x66de, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20856,9 +22325,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aesdec", 2, 0x660f38de, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20871,9 +22341,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aesdeclast", 2, 0x66df, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20886,9 +22357,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aesdeclast", 2, 0x660f38df, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20901,9 +22373,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aesenc", 2, 0x66dc, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20916,9 +22389,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aesenc", 2, 0x660f38dc, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20931,9 +22405,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aesenclast", 2, 0x66dd, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20946,9 +22421,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aesenclast", 2, 0x660f38dd, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20961,9 +22437,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aesimc", 2, 0x66db, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20976,9 +22453,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aesimc", 2, 0x660f38db, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -20991,9 +22469,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aeskeygenassist", 3, 0x66df, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21009,9 +22488,10 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "aeskeygenassist", 3, 0x660f3adf, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21028,9 +22508,10 @@ const insn_template i386_optab[] =
   { "pclmulqdq", 3, 0x6644, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
@@ -21046,8 +22527,9 @@ const insn_template i386_optab[] =
   { "pclmulqdq", 3, 0x660f3a44, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21064,8 +22546,9 @@ const insn_template i386_optab[] =
   { "pclmullqlqdq", 2, 0x6644, 0x0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21079,8 +22562,9 @@ const insn_template i386_optab[] =
   { "pclmullqlqdq", 2, 0x660f3a44, 0x0, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21094,8 +22578,9 @@ const insn_template i386_optab[] =
   { "pclmulhqlqdq", 2, 0x6644, 0x1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21109,8 +22594,9 @@ const insn_template i386_optab[] =
   { "pclmulhqlqdq", 2, 0x660f3a44, 0x1, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21124,8 +22610,9 @@ const insn_template i386_optab[] =
   { "pclmullqhqdq", 2, 0x6644, 0x10, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21139,8 +22626,9 @@ const insn_template i386_optab[] =
   { "pclmullqhqdq", 2, 0x660f3a44, 0x10, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21154,8 +22642,9 @@ const insn_template i386_optab[] =
   { "pclmulhqhqdq", 2, 0x6644, 0x11, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21169,8 +22658,9 @@ const insn_template i386_optab[] =
   { "pclmulhqhqdq", 2, 0x660f3a44, 0x11, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21185,7 +22675,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21203,7 +22694,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21221,7 +22713,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -21239,7 +22732,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -21256,11 +22750,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vaddpd", 3, 0x6658, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vaddpd", 3, 0x6658, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vaddps", 3, 0x58, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21278,7 +22811,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21296,7 +22830,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -21314,7 +22849,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -21331,11 +22867,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vaddps", 3, 0x58, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vaddps", 3, 0x58, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vaddsd", 3, 0xf258, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21353,7 +22928,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -21371,7 +22947,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -21392,7 +22969,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21410,7 +22988,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -21428,7 +23007,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -21449,7 +23029,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21467,7 +23048,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21485,7 +23067,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21503,7 +23086,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21521,7 +23105,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21539,7 +23124,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21553,11 +23139,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandnpd", 3, 0x6655, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandnpd", 3, 0x6655, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandnpd", 3, 0x6655, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vandnps", 3, 0x55, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21575,7 +23219,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21589,11 +23234,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandnps", 3, 0x55, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandnps", 3, 0x55, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandnps", 3, 0x55, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vandpd", 3, 0x6654, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21611,7 +23314,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21625,11 +23329,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandpd", 3, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandpd", 3, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandpd", 3, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vandps", 3, 0x54, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21647,7 +23409,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21661,11 +23424,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandps", 3, 0x54, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandps", 3, 0x54, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vandps", 3, 0x54, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vblendpd", 4, 0x660d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21686,7 +23507,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21707,7 +23529,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21728,7 +23551,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21749,7 +23573,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21770,7 +23595,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21791,7 +23617,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21812,7 +23639,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21833,7 +23661,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21848,7 +23677,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21863,7 +23693,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21878,7 +23709,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -21889,11 +23721,28 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcastsd", 2, 0x6619, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vbroadcastss", 2, 0x6618, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21908,7 +23757,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21923,7 +23773,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21938,7 +23789,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21953,7 +23805,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -21964,11 +23817,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcastss", 2, 0x6618, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcastss", 2, 0x6618, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpeq_ospd", 3, 0x66c2, 0x10, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -21986,7 +23872,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22004,7 +23891,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -22022,7 +23910,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -22039,11 +23928,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_ospd", 3, 0x66C2, 16, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_ospd", 3, 0x66C2, 16, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpeq_osps", 3, 0xc2, 0x10, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22061,7 +23989,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22079,7 +24008,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -22097,7 +24027,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -22114,11 +24045,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_osps", 3, 0xC2, 16, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_osps", 3, 0xC2, 16, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpeq_ossd", 3, 0xf2c2, 0x10, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22136,7 +24106,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -22154,7 +24125,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -22175,7 +24147,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22193,7 +24166,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -22211,7 +24185,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -22232,7 +24207,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22250,7 +24226,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22268,7 +24245,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -22286,7 +24264,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -22303,11 +24282,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeqpd", 3, 0x66C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeqpd", 3, 0x66C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpeqps", 3, 0xc2, 0x0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22325,7 +24343,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22343,7 +24362,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -22361,7 +24381,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -22378,47 +24399,88 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeqsd", 3, 0xf2c2, 0x0, 1,
+  { "vcmpeqps", 3, 0xC2, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeqsd", 3, 0xF2C2, 0, 1,
+  { "vcmpeqps", 3, 0xC2, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeqsd", 4, 0xF2C2, 0, 1,
+  { "vcmpeqsd", 3, 0xf2c2, 0x0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeqsd", 3, 0xF2C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeqsd", 4, 0xF2C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -22439,7 +24501,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22457,7 +24520,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -22475,7 +24539,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -22496,7 +24561,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22514,7 +24580,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22532,7 +24599,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -22550,7 +24618,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -22567,11 +24636,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_uqpd", 3, 0x66C2, 8, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_uqpd", 3, 0x66C2, 8, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpeq_uqps", 3, 0xc2, 0x8, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22589,7 +24697,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22607,7 +24716,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -22625,7 +24735,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -22642,11 +24753,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_uqps", 3, 0xC2, 8, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_uqps", 3, 0xC2, 8, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpeq_uqsd", 3, 0xf2c2, 0x8, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22664,7 +24814,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -22682,7 +24833,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -22703,7 +24855,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22721,7 +24874,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -22739,7 +24893,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -22760,7 +24915,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22778,7 +24934,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22796,7 +24953,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -22814,7 +24972,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -22831,11 +24990,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_uspd", 3, 0x66C2, 24, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_uspd", 3, 0x66C2, 24, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpeq_usps", 3, 0xc2, 0x18, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22853,7 +25051,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22871,7 +25070,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -22889,7 +25089,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -22906,11 +25107,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_usps", 3, 0xC2, 24, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_usps", 3, 0xC2, 24, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpeq_ussd", 3, 0xf2c2, 0x18, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22928,7 +25168,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -22946,7 +25187,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -22967,7 +25209,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -22985,7 +25228,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -23003,7 +25247,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -23024,7 +25269,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23042,7 +25288,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23060,7 +25307,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -23078,7 +25326,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -23095,11 +25344,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_ospd", 3, 0x66C2, 27, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_ospd", 3, 0x66C2, 27, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpfalse_osps", 3, 0xc2, 0x1b, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23117,7 +25405,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23135,7 +25424,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -23153,7 +25443,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -23170,11 +25461,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_osps", 3, 0xC2, 27, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_osps", 3, 0xC2, 27, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpfalse_ossd", 3, 0xf2c2, 0x1b, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23192,7 +25522,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -23210,7 +25541,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -23231,7 +25563,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23249,7 +25582,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -23267,7 +25601,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -23288,7 +25623,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23306,7 +25642,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23324,7 +25661,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -23342,7 +25680,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -23359,11 +25698,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalsepd", 3, 0x66C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalsepd", 3, 0x66C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpfalseps", 3, 0xc2, 0xb, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23381,7 +25759,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23399,7 +25778,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -23417,7 +25797,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -23434,11 +25815,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalseps", 3, 0xC2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalseps", 3, 0xC2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpfalsesd", 3, 0xf2c2, 0xb, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23456,7 +25876,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -23474,7 +25895,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -23495,7 +25917,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23513,7 +25936,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -23531,7 +25955,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -23552,7 +25977,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23570,7 +25996,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23588,7 +26015,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -23606,7 +26034,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -23623,11 +26052,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_oqpd", 3, 0x66C2, 29, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_oqpd", 3, 0x66C2, 29, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpge_oqps", 3, 0xc2, 0x1d, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23645,7 +26113,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23663,7 +26132,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -23681,7 +26151,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -23698,11 +26169,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_oqps", 3, 0xC2, 29, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_oqps", 3, 0xC2, 29, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpge_oqsd", 3, 0xf2c2, 0x1d, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23720,7 +26230,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -23738,7 +26249,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -23759,7 +26271,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23777,7 +26290,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -23795,7 +26309,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -23816,7 +26331,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23834,7 +26350,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23852,7 +26369,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -23870,7 +26388,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -23887,11 +26406,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgepd", 3, 0x66C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgepd", 3, 0x66C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpgeps", 3, 0xc2, 0xd, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23909,7 +26467,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23927,7 +26486,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -23945,7 +26505,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -23962,11 +26523,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgeps", 3, 0xC2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgeps", 3, 0xC2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpgesd", 3, 0xf2c2, 0xd, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -23984,7 +26584,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -24002,7 +26603,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -24023,7 +26625,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24041,7 +26644,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -24059,7 +26663,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -24080,7 +26685,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24098,7 +26704,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24116,7 +26723,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -24134,7 +26742,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -24151,29 +26760,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_oqps", 3, 0xc2, 0x1e, 1,
+  { "vcmpgt_oqpd", 3, 0x66C2, 30, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_oqps", 3, 0xc2, 0x1e, 1,
+  { "vcmpgt_oqpd", 3, 0x66C2, 30, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_oqps", 3, 0xc2, 0x1e, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_oqps", 3, 0xc2, 0x1e, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24191,7 +26840,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -24209,7 +26859,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -24226,11 +26877,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_oqps", 3, 0xC2, 30, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_oqps", 3, 0xC2, 30, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpgt_oqsd", 3, 0xf2c2, 0x1e, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24248,7 +26938,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -24266,7 +26957,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -24287,7 +26979,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24305,7 +26998,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -24323,7 +27017,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -24344,7 +27039,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24362,7 +27058,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24380,7 +27077,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -24398,7 +27096,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -24415,11 +27114,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgtpd", 3, 0x66C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgtpd", 3, 0x66C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpgtps", 3, 0xc2, 0xe, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24437,7 +27175,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24455,7 +27194,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -24473,7 +27213,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -24490,11 +27231,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgtps", 3, 0xC2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgtps", 3, 0xC2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpgtsd", 3, 0xf2c2, 0xe, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24512,7 +27292,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -24530,7 +27311,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -24551,7 +27333,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24569,7 +27352,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -24587,7 +27371,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -24608,7 +27393,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24626,7 +27412,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24644,7 +27431,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -24662,7 +27450,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -24679,11 +27468,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_oqpd", 3, 0x66C2, 18, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_oqpd", 3, 0x66C2, 18, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmple_oqps", 3, 0xc2, 0x12, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24701,7 +27529,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24719,7 +27548,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -24737,7 +27567,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -24754,11 +27585,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_oqps", 3, 0xC2, 18, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_oqps", 3, 0xC2, 18, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmple_oqsd", 3, 0xf2c2, 0x12, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24776,7 +27646,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -24794,7 +27665,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -24815,7 +27687,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24833,7 +27706,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -24851,7 +27725,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -24872,7 +27747,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24890,7 +27766,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24908,7 +27785,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -24926,7 +27804,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -24943,11 +27822,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplepd", 3, 0x66C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplepd", 3, 0x66C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpleps", 3, 0xc2, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24965,7 +27883,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -24983,7 +27902,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -25001,7 +27921,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -25018,11 +27939,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpleps", 3, 0xC2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpleps", 3, 0xC2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmplesd", 3, 0xf2c2, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25040,7 +28000,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -25058,7 +28019,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -25079,7 +28041,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25097,7 +28060,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -25115,7 +28079,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -25136,7 +28101,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25154,7 +28120,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25172,7 +28139,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -25190,7 +28158,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -25207,11 +28176,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_oqpd", 3, 0x66C2, 17, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_oqpd", 3, 0x66C2, 17, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmplt_oqps", 3, 0xc2, 0x11, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25229,7 +28237,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25247,7 +28256,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -25265,7 +28275,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -25282,11 +28293,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_oqps", 3, 0xC2, 17, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_oqps", 3, 0xC2, 17, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmplt_oqsd", 3, 0xf2c2, 0x11, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25304,7 +28354,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -25322,7 +28373,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -25343,7 +28395,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25361,7 +28414,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -25379,7 +28433,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -25400,7 +28455,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25418,7 +28474,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25436,7 +28493,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -25454,7 +28512,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -25471,11 +28530,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpltpd", 3, 0x66C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpltpd", 3, 0x66C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpltps", 3, 0xc2, 0x1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25493,7 +28591,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25511,7 +28610,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -25529,7 +28629,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -25546,11 +28647,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpltps", 3, 0xC2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpltps", 3, 0xC2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpltsd", 3, 0xf2c2, 0x1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25568,7 +28708,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -25586,7 +28727,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -25607,7 +28749,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25625,7 +28768,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -25643,7 +28787,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -25664,7 +28809,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25682,7 +28828,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25700,7 +28847,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -25718,7 +28866,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -25735,11 +28884,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_oqpd", 3, 0x66C2, 12, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_oqpd", 3, 0x66C2, 12, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpneq_oqps", 3, 0xc2, 0xc, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25757,7 +28945,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25775,7 +28964,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -25793,7 +28983,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -25810,37 +29001,77 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_oqsd", 3, 0xf2c2, 0xc, 1,
+  { "vcmpneq_oqps", 3, 0xC2, 12, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_oqsd", 3, 0xF2C2, 12, 1,
+  { "vcmpneq_oqps", 3, 0xC2, 12, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_oqsd", 3, 0xf2c2, 0xc, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_oqsd", 3, 0xF2C2, 12, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25850,7 +29081,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -25871,7 +29103,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25889,7 +29122,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -25907,7 +29141,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -25928,7 +29163,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25946,7 +29182,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -25964,7 +29201,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -25982,7 +29220,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -25999,11 +29238,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_ospd", 3, 0x66C2, 28, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_ospd", 3, 0x66C2, 28, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpneq_osps", 3, 0xc2, 0x1c, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26021,7 +29299,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26039,7 +29318,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -26057,7 +29337,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -26074,11 +29355,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_osps", 3, 0xC2, 28, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_osps", 3, 0xC2, 28, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpneq_ossd", 3, 0xf2c2, 0x1c, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26096,7 +29416,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -26114,7 +29435,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -26135,7 +29457,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26153,7 +29476,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -26171,7 +29495,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -26192,7 +29517,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26210,7 +29536,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26228,7 +29555,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -26246,7 +29574,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -26263,11 +29592,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneqpd", 3, 0x66C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneqpd", 3, 0x66C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpneqps", 3, 0xc2, 0x4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26285,7 +29653,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26303,7 +29672,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -26321,7 +29691,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -26338,11 +29709,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneqps", 3, 0xC2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneqps", 3, 0xC2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpneqsd", 3, 0xf2c2, 0x4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26360,7 +29770,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -26378,7 +29789,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -26399,7 +29811,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26417,7 +29830,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -26435,7 +29849,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -26456,7 +29871,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26474,7 +29890,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26492,7 +29909,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -26510,7 +29928,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -26527,11 +29946,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uspd", 3, 0x66C2, 20, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uspd", 3, 0x66C2, 20, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpneq_usps", 3, 0xc2, 0x14, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26549,7 +30007,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26567,7 +30026,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -26585,7 +30045,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -26602,11 +30063,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_usps", 3, 0xC2, 20, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_usps", 3, 0xC2, 20, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpneq_ussd", 3, 0xf2c2, 0x14, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26624,7 +30124,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -26642,7 +30143,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -26663,7 +30165,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26681,7 +30184,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -26699,7 +30203,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -26720,7 +30225,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26738,7 +30244,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26756,7 +30263,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -26774,7 +30282,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -26791,11 +30300,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngepd", 3, 0x66C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngepd", 3, 0x66C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpngeps", 3, 0xc2, 0x9, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26813,7 +30361,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26831,7 +30380,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -26849,7 +30399,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -26866,11 +30417,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngeps", 3, 0xC2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngeps", 3, 0xC2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpngesd", 3, 0xf2c2, 0x9, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26888,7 +30478,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -26906,7 +30497,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -26927,7 +30519,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -26945,7 +30538,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -26963,7 +30557,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -26984,7 +30579,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27002,7 +30598,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27020,7 +30617,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -27038,7 +30636,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -27055,11 +30654,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_uqpd", 3, 0x66C2, 25, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_uqpd", 3, 0x66C2, 25, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnge_uqps", 3, 0xc2, 0x19, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27077,7 +30715,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27095,7 +30734,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -27113,7 +30753,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -27130,11 +30771,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_uqps", 3, 0xC2, 25, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_uqps", 3, 0xC2, 25, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnge_uqsd", 3, 0xf2c2, 0x19, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27152,7 +30832,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -27170,7 +30851,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -27191,7 +30873,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27209,7 +30892,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -27227,7 +30911,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -27248,7 +30933,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27266,7 +30952,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27284,7 +30971,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -27302,7 +30990,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -27319,11 +31008,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngtpd", 3, 0x66C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngtpd", 3, 0x66C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpngtps", 3, 0xc2, 0xa, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27341,7 +31069,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27359,7 +31088,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -27377,7 +31107,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -27394,11 +31125,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngtps", 3, 0xC2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngtps", 3, 0xC2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpngtsd", 3, 0xf2c2, 0xa, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27416,7 +31186,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -27434,7 +31205,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -27455,7 +31227,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27473,7 +31246,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -27491,7 +31265,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -27512,7 +31287,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27530,7 +31306,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27548,7 +31325,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -27566,7 +31344,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -27583,29 +31362,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpngt_uqps", 3, 0xc2, 0x1a, 1,
+  { "vcmpngt_uqpd", 3, 0x66C2, 26, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_uqpd", 3, 0x66C2, 26, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_uqps", 3, 0xc2, 0x1a, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpngt_uqps", 3, 0xc2, 0x1a, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27623,7 +31442,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -27641,7 +31461,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -27658,11 +31479,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_uqps", 3, 0xC2, 26, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_uqps", 3, 0xC2, 26, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpngt_uqsd", 3, 0xf2c2, 0x1a, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27680,7 +31540,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -27698,7 +31559,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -27719,7 +31581,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27737,7 +31600,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -27755,7 +31619,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -27776,7 +31641,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27794,7 +31660,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27812,7 +31679,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -27830,7 +31698,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -27847,11 +31716,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlepd", 3, 0x66C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlepd", 3, 0x66C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnleps", 3, 0xc2, 0x6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27869,7 +31777,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27887,7 +31796,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -27905,7 +31815,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -27922,11 +31833,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnleps", 3, 0xC2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnleps", 3, 0xC2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnlesd", 3, 0xf2c2, 0x6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -27944,7 +31894,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -27962,7 +31913,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -27983,7 +31935,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28001,7 +31954,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -28019,7 +31973,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -28040,7 +31995,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28058,7 +32014,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28076,7 +32033,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -28094,7 +32052,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -28111,11 +32070,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_uqpd", 3, 0x66C2, 22, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_uqpd", 3, 0x66C2, 22, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnle_uqps", 3, 0xc2, 0x16, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28133,7 +32131,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28151,7 +32150,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -28169,7 +32169,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -28186,11 +32187,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_uqps", 3, 0xC2, 22, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_uqps", 3, 0xC2, 22, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnle_uqsd", 3, 0xf2c2, 0x16, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28208,7 +32248,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -28226,7 +32267,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -28247,7 +32289,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28265,7 +32308,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -28283,7 +32327,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -28304,7 +32349,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28322,7 +32368,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28340,7 +32387,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -28358,7 +32406,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -28375,11 +32424,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnltpd", 3, 0x66C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnltpd", 3, 0x66C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnltps", 3, 0xc2, 0x5, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28397,7 +32485,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28415,7 +32504,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -28433,7 +32523,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -28450,11 +32541,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnltps", 3, 0xC2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnltps", 3, 0xC2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnltsd", 3, 0xf2c2, 0x5, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28472,7 +32602,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -28490,7 +32621,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -28511,7 +32643,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28529,7 +32662,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -28547,7 +32681,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -28568,7 +32703,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28586,7 +32722,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28604,7 +32741,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -28622,7 +32760,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -28639,11 +32778,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_uqpd", 3, 0x66C2, 21, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_uqpd", 3, 0x66C2, 21, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnlt_uqps", 3, 0xc2, 0x15, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28661,7 +32839,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28679,7 +32858,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -28697,7 +32877,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -28714,11 +32895,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_uqps", 3, 0xC2, 21, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_uqps", 3, 0xC2, 21, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpnlt_uqsd", 3, 0xf2c2, 0x15, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28736,7 +32956,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -28754,7 +32975,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -28775,7 +32997,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28793,7 +33016,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -28811,7 +33035,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -28832,7 +33057,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28850,7 +33076,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28868,7 +33095,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -28886,7 +33114,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -28903,11 +33132,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpordpd", 3, 0x66C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpordpd", 3, 0x66C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpordps", 3, 0xc2, 0x7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28925,7 +33193,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -28943,7 +33212,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -28961,7 +33231,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -28978,11 +33249,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpordps", 3, 0xC2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpordps", 3, 0xC2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpordsd", 3, 0xf2c2, 0x7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29000,7 +33310,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -29018,7 +33329,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -29039,7 +33351,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29057,7 +33370,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29075,7 +33389,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -29093,7 +33408,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -29110,11 +33426,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_spd", 3, 0x66C2, 23, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_spd", 3, 0x66C2, 23, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpord_sps", 3, 0xc2, 0x17, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29132,7 +33487,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29150,7 +33506,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -29168,7 +33525,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -29185,47 +33543,88 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpordss", 3, 0xf3c2, 0x7, 1,
+  { "vcmpord_sps", 3, 0xC2, 23, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpordss", 3, 0xF3C2, 7, 1,
+  { "vcmpord_sps", 3, 0xC2, 23, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpordss", 4, 0xF3C2, 7, 1,
+  { "vcmpordss", 3, 0xf3c2, 0x7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpordss", 3, 0xF3C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpordss", 4, 0xF3C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -29246,7 +33645,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29264,7 +33664,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -29282,7 +33683,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -29303,7 +33705,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29321,7 +33724,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -29339,7 +33743,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -29360,7 +33765,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29381,7 +33787,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29402,7 +33809,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -29423,7 +33831,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -29443,11 +33852,56 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmppd", 4, 0x66C2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmppd", 4, 0x66C2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpps", 4, 0xc2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29468,7 +33922,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29489,7 +33944,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -29510,7 +33966,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -29530,11 +33987,56 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpps", 4, 0xC2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpps", 4, 0xC2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpsd", 4, 0xf2c2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29555,7 +34057,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -29576,7 +34079,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -29600,7 +34104,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29621,7 +34126,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -29642,7 +34148,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -29666,7 +34173,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29684,7 +34192,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29702,7 +34211,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -29720,7 +34230,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -29737,11 +34248,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptruepd", 3, 0x66C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptruepd", 3, 0x66C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmptrueps", 3, 0xc2, 0xf, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29759,7 +34309,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29777,7 +34328,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -29795,7 +34347,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -29812,11 +34365,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrueps", 3, 0xC2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrueps", 3, 0xC2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmptruesd", 3, 0xf2c2, 0xf, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29834,7 +34426,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -29852,7 +34445,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -29873,7 +34467,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29891,7 +34486,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -29909,7 +34505,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -29930,7 +34527,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29948,7 +34546,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -29966,7 +34565,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -29984,7 +34584,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -30001,11 +34602,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uspd", 3, 0x66C2, 31, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uspd", 3, 0x66C2, 31, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmptrue_usps", 3, 0xc2, 0x1f, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30023,7 +34663,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30041,7 +34682,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -30059,7 +34701,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -30076,11 +34719,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_usps", 3, 0xC2, 31, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_usps", 3, 0xC2, 31, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmptrue_ussd", 3, 0xf2c2, 0x1f, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30098,7 +34780,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -30116,7 +34799,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -30137,7 +34821,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30155,7 +34840,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -30173,7 +34859,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -30194,7 +34881,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30212,7 +34900,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30230,7 +34919,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -30248,7 +34938,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -30265,11 +34956,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunordpd", 3, 0x66C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunordpd", 3, 0x66C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpunordps", 3, 0xc2, 0x3, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30287,7 +35017,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30305,7 +35036,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -30323,7 +35055,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -30340,11 +35073,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunordps", 3, 0xC2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunordps", 3, 0xC2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpunordsd", 3, 0xf2c2, 0x3, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30362,7 +35134,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -30380,7 +35153,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -30401,7 +35175,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30419,7 +35194,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30437,7 +35213,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -30455,7 +35232,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -30472,11 +35250,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_spd", 3, 0x66C2, 19, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_spd", 3, 0x66C2, 19, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpunord_sps", 3, 0xc2, 0x13, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30494,7 +35311,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30512,7 +35330,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -30530,7 +35349,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -30547,11 +35367,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_sps", 3, 0xC2, 19, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_sps", 3, 0xC2, 19, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcmpunordss", 3, 0xf3c2, 0x3, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30569,7 +35428,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -30587,7 +35447,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -30608,7 +35469,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30626,7 +35488,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -30644,7 +35507,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -30665,7 +35529,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30683,7 +35548,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -30701,7 +35567,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -30722,7 +35589,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30737,7 +35605,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -30752,7 +35621,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -30770,7 +35640,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30785,7 +35656,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -30800,7 +35672,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -30818,7 +35691,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30833,7 +35707,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30848,7 +35723,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
@@ -30859,11 +35735,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtdq2pd", 2, 0xF3E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtdq2pd", 2, 0xF3E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvtdq2ps", 2, 0x5b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30878,7 +35787,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30893,7 +35803,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -30908,7 +35819,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -30922,11 +35834,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtdq2ps", 2, 0x5B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtdq2ps", 2, 0x5B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvtpd2dq", 2, 0xf2e6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30941,7 +35886,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30956,7 +35902,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30971,7 +35918,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -30986,7 +35934,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -31001,7 +35950,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -31015,13 +35965,46 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtpd2dqx", 2, 0xf2e6, None, 1,
+  { "vcvtpd2dq", 2, 0xF2E6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2dq", 2, 0xF2E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2dqx", 2, 0xf2e6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       1, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31030,11 +36013,28 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2dqx", 2, 0xF2E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvtpd2dqy", 2, 0xf2e6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31045,11 +36045,28 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2dqy", 2, 0xF2E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvtpd2ps", 2, 0x665a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31064,7 +36081,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31079,7 +36097,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31094,7 +36113,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31109,7 +36129,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -31124,7 +36145,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -31138,11 +36160,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2ps", 2, 0x665A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2ps", 2, 0x665A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvtpd2psx", 2, 0x665a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31153,11 +36208,28 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2psx", 2, 0x665A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvtpd2psy", 2, 0x665a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31168,11 +36240,28 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2psy", 2, 0x665A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvtps2dq", 2, 0x665b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31187,7 +36276,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31202,7 +36292,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -31217,7 +36308,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -31231,11 +36323,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2dq", 2, 0x665B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2dq", 2, 0x665B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvtps2pd", 2, 0x5a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31250,7 +36375,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31265,7 +36391,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
@@ -31280,7 +36407,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -31294,11 +36422,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2pd", 2, 0x5A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2pd", 2, 0x5A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvtsd2si", 2, 0xf22d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31313,7 +36474,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -31328,7 +36490,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -31346,7 +36509,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -31361,7 +36525,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -31379,7 +36544,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31397,7 +36563,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -31415,7 +36582,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -31436,7 +36604,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31454,7 +36623,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31472,7 +36642,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -31490,7 +36661,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -31508,7 +36680,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -31529,7 +36702,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31547,7 +36721,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31565,7 +36740,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -31583,7 +36759,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -31604,7 +36781,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -31622,7 +36800,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -31643,7 +36822,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31661,7 +36841,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -31679,7 +36860,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -31700,7 +36882,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31715,7 +36898,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -31730,7 +36914,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -31748,7 +36933,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -31763,7 +36949,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -31781,7 +36968,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31796,7 +36984,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31811,7 +37000,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31826,7 +37016,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31841,7 +37032,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -31856,7 +37048,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -31870,11 +37063,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttpd2dq", 2, 0x66E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttpd2dq", 2, 0x66E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvttpd2dqx", 2, 0x66e6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31885,11 +37111,28 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttpd2dqx", 2, 0x66E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvttpd2dqy", 2, 0x66e6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31900,11 +37143,28 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttpd2dqy", 2, 0x66E6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvttps2dq", 2, 0xf35b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31919,7 +37179,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31934,7 +37195,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -31949,7 +37211,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -31963,11 +37226,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttps2dq", 2, 0xF35B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttps2dq", 2, 0xF35B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vcvttsd2si", 2, 0xf22c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -31982,7 +37278,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -31997,7 +37294,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -32015,7 +37313,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -32030,7 +37329,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -32048,7 +37348,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32063,7 +37364,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -32078,7 +37380,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -32096,7 +37399,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -32111,7 +37415,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -32129,7 +37434,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32147,7 +37453,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32165,7 +37472,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -32183,7 +37491,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -32200,11 +37509,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vdivpd", 3, 0x665E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vdivpd", 3, 0x665E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vdivps", 3, 0x5e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32222,7 +37570,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32240,7 +37589,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -32258,7 +37608,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -32275,11 +37626,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vdivps", 3, 0x5E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vdivps", 3, 0x5E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vdivsd", 3, 0xf25e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32297,7 +37687,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -32315,7 +37706,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -32336,7 +37728,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32354,7 +37747,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -32372,7 +37766,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -32393,7 +37788,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32414,7 +37810,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32435,7 +37832,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32456,7 +37854,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32474,7 +37873,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32492,7 +37892,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -32510,7 +37911,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32528,7 +37930,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32546,7 +37949,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32564,7 +37968,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32582,7 +37987,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32600,7 +38006,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32618,7 +38025,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32636,7 +38044,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32654,7 +38063,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32675,7 +38085,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32696,7 +38107,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -32717,7 +38129,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32732,7 +38145,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32747,7 +38161,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32759,7 +38174,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32774,7 +38190,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32792,7 +38209,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32810,7 +38228,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32828,7 +38247,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32846,7 +38266,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32864,7 +38285,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32882,7 +38304,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32900,7 +38323,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32918,7 +38342,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32936,7 +38361,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -32954,7 +38380,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -32972,7 +38399,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -32989,11 +38417,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmaxpd", 3, 0x665F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmaxpd", 3, 0x665F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vmaxps", 3, 0x5f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33011,7 +38478,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33029,7 +38497,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -33047,7 +38516,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -33064,11 +38534,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmaxps", 3, 0x5F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmaxps", 3, 0x5F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vmaxsd", 3, 0xf25f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33086,7 +38595,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -33104,7 +38614,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -33125,7 +38636,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33143,7 +38655,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -33161,7 +38674,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -33182,7 +38696,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33200,7 +38715,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33218,7 +38734,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -33236,7 +38753,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -33253,11 +38771,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vminpd", 3, 0x665D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vminpd", 3, 0x665D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vminps", 3, 0x5d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33275,7 +38832,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33293,7 +38851,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -33311,7 +38870,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -33328,18 +38888,57 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vminsd", 3, 0xf25d, None, 1,
+  { "vminps", 3, 0x5D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vminps", 3, 0x5D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vminsd", 3, 0xf25d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -33350,7 +38949,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -33368,7 +38968,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
@@ -33389,7 +38990,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33407,7 +39009,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -33425,7 +39028,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
@@ -33446,7 +39050,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33461,7 +39066,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33476,7 +39082,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33491,7 +39098,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33506,7 +39114,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
@@ -33521,7 +39130,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -33536,7 +39146,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
@@ -33551,7 +39162,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -33562,11 +39174,140 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovapd", 2, 0x6629, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovapd", 2, 0x6629, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovapd", 2, 0x6628, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovapd", 2, 0x6628, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovapd", 2, 0x6628, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovapd", 2, 0x6628, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovapd", 2, 0x6629, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovapd", 2, 0x6629, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vmovaps", 2, 0x28, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33581,7 +39322,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33596,7 +39338,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33611,7 +39354,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33626,7 +39370,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -33641,7 +39386,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33656,7 +39402,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -33671,7 +39418,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33682,11 +39430,140 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovaps", 2, 0x28, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovaps", 2, 0x28, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovaps", 2, 0x28, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovaps", 2, 0x28, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovaps", 2, 0x29, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovaps", 2, 0x29, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovaps", 2, 0x29, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovaps", 2, 0x29, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
   { "vmovd", 2, 0x666e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33701,7 +39578,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33716,7 +39594,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33731,7 +39610,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33746,7 +39626,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -33761,7 +39642,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -33776,7 +39658,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -33791,7 +39674,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -33806,7 +39690,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33821,7 +39706,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33836,7 +39722,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
@@ -33847,11 +39734,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovddup", 2, 0xF212, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovddup", 2, 0xF212, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vmovdqa", 2, 0x666f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33866,7 +39786,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33881,7 +39802,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33896,7 +39818,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33911,7 +39834,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33926,7 +39850,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33941,7 +39866,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33956,7 +39882,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33971,7 +39898,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -33989,7 +39917,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34007,7 +39936,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34025,7 +39955,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34040,7 +39971,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34058,7 +39990,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34073,7 +40006,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34091,7 +40025,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34106,7 +40041,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0,
@@ -34124,7 +40060,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0,
@@ -34139,7 +40076,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34157,7 +40095,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34175,7 +40114,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34193,7 +40133,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34208,7 +40149,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34226,7 +40168,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34241,7 +40184,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34259,7 +40203,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34274,7 +40219,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0,
@@ -34292,7 +40238,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0,
@@ -34307,7 +40254,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34322,7 +40270,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34337,7 +40286,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34352,7 +40302,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34367,7 +40318,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34382,7 +40334,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34397,7 +40350,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -34408,11 +40362,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovntdq", 2, 0x66E7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovntdq", 2, 0x66E7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
   { "vmovntdqa", 2, 0x662a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34427,7 +40414,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34442,7 +40430,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -34453,11 +40442,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovntdqa", 2, 0x662A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovntdqa", 2, 0x662A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vmovntpd", 2, 0x662b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34472,7 +40494,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34487,7 +40510,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 0, 0,
@@ -34498,11 +40522,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovntpd", 2, 0x662B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovntpd", 2, 0x662B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
   { "vmovntps", 2, 0x2b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34517,7 +40574,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34532,7 +40590,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -34543,11 +40602,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovntps", 2, 0x2B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovntps", 2, 0x2B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
   { "vmovq", 2, 0xf37e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34562,7 +40654,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34577,7 +40670,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34592,7 +40686,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34607,7 +40702,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -34622,7 +40718,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34637,7 +40734,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -34652,7 +40750,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34667,7 +40766,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -34682,7 +40782,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34697,7 +40798,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -34712,7 +40814,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34727,7 +40830,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34742,7 +40846,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34757,7 +40862,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34775,7 +40881,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34793,7 +40900,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34808,7 +40916,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -34826,7 +40935,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -34841,7 +40951,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -34859,7 +40970,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34874,7 +40986,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34889,7 +41002,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -34900,11 +41014,44 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovshdup", 2, 0xF316, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovshdup", 2, 0xF316, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vmovsldup", 2, 0xf312, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34919,7 +41066,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34934,7 +41082,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -34945,26 +41094,60 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovss", 2, 0xf311, None, 1,
+  { "vmovsldup", 2, 0xF312, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovsldup", 2, 0xF312, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovss", 2, 0xf311, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
   { "vmovss", 2, 0xf310, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34979,7 +41162,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -34997,7 +41181,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35015,7 +41200,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -35030,7 +41216,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35048,7 +41235,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -35063,7 +41251,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35081,7 +41270,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35096,7 +41286,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35111,7 +41302,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35126,7 +41318,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35141,7 +41334,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
@@ -35156,7 +41350,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -35171,7 +41366,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
@@ -35186,7 +41382,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
@@ -35197,11 +41394,140 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovupd", 2, 0x6611, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovupd", 2, 0x6611, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovupd", 2, 0x6610, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovupd", 2, 0x6610, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovupd", 2, 0x6610, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovupd", 2, 0x6610, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovupd", 2, 0x6611, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovupd", 2, 0x6611, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vmovups", 2, 0x10, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35216,7 +41542,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35231,7 +41558,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35246,7 +41574,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35261,7 +41590,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -35276,7 +41606,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35291,7 +41622,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -35306,7 +41638,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35317,11 +41650,140 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovups", 2, 0x10, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovups", 2, 0x10, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovups", 2, 0x10, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovups", 2, 0x10, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovups", 2, 0x11, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovups", 2, 0x11, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovups", 2, 0x11, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovups", 2, 0x11, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
   { "vmpsadbw", 4, 0x6642, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35342,7 +41804,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35363,7 +41826,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35381,7 +41845,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35399,7 +41864,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -35417,7 +41883,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -35434,11 +41901,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmulpd", 3, 0x6659, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmulpd", 3, 0x6659, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vmulps", 3, 0x59, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35456,7 +41962,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35474,7 +41981,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
@@ -35492,7 +42000,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -35509,11 +42018,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmulps", 3, 0x59, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmulps", 3, 0x59, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "vmulsd", 3, 0xf259, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35531,7 +42079,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
@@ -35549,7 +42098,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
@@ -35570,7 +42120,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35588,7 +42139,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
@@ -35606,7 +42158,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
@@ -35627,7 +42180,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35645,7 +42199,8 @@ const insn_template i386_optab[] =
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -35659,368 +42214,404 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vorps", 3, 0x56, None, 1,
+  { "vorpd", 3, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vorps", 3, 0x56, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpabsb", 2, 0x661c, None, 1,
+  { "vorpd", 3, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpabsb", 2, 0x661c, None, 1,
+  { "vorpd", 3, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpabsd", 2, 0x661e, None, 1,
+  { "vorps", 3, 0x56, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpabsd", 2, 0x661e, None, 1,
+  { "vorps", 3, 0x56, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpabsd", 2, 0x661E, None, 1,
+  { "vorps", 3, 0x56, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpabsw", 2, 0x661d, None, 1,
+  { "vorps", 3, 0x56, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpabsw", 2, 0x661d, None, 1,
+  { "vorps", 3, 0x56, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpackssdw", 3, 0x666b, None, 1,
+  { "vpabsb", 2, 0x661c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpackssdw", 3, 0x666b, None, 1,
+  { "vpabsb", 2, 0x661c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpabsb", 2, 0x661C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpacksswb", 3, 0x6663, None, 1,
+  { "vpabsb", 2, 0x661C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpacksswb", 3, 0x6663, None, 1,
+  { "vpabsb", 2, 0x661C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpackusdw", 3, 0x662b, None, 1,
+  { "vpabsd", 2, 0x661e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpackusdw", 3, 0x662b, None, 1,
+  { "vpabsd", 2, 0x661e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpackuswb", 3, 0x6667, None, 1,
+  { "vpabsd", 2, 0x661E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpabsd", 2, 0x661E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpackuswb", 3, 0x6667, None, 1,
+  { "vpabsd", 2, 0x661E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddsb", 3, 0x66ec, None, 1,
+  { "vpabsw", 2, 0x661d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddsb", 3, 0x66ec, None, 1,
+  { "vpabsw", 2, 0x661d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpabsw", 2, 0x661D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddsw", 3, 0x66ed, None, 1,
+  { "vpabsw", 2, 0x661D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddsw", 3, 0x66ed, None, 1,
+  { "vpabsw", 2, 0x661D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddb", 3, 0x66fc, None, 1,
+  { "vpackssdw", 3, 0x666b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36034,11 +42625,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddb", 3, 0x66fc, None, 1,
+  { "vpackssdw", 3, 0x666b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36052,65 +42644,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddd", 3, 0x66fe, None, 1,
+  { "vpackssdw", 3, 0x666B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddd", 3, 0x66fe, None, 1,
+  { "vpackssdw", 3, 0x666B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddd", 3, 0x66FE, None, 1,
+  { "vpackssdw", 3, 0x666B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddq", 3, 0x66d4, None, 1,
+  { "vpacksswb", 3, 0x6663, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36124,11 +42720,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddq", 3, 0x66d4, None, 1,
+  { "vpacksswb", 3, 0x6663, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36142,68 +42739,72 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddq", 3, 0x66D4, None, 1,
+  { "vpacksswb", 3, 0x6663, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddw", 3, 0x66fd, None, 1,
+  { "vpacksswb", 3, 0x6663, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddw", 3, 0x66fd, None, 1,
+  { "vpacksswb", 3, 0x6663, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddusb", 3, 0x66dc, None, 1,
+  { "vpackusdw", 3, 0x662b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36214,14 +42815,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddusb", 3, 0x66dc, None, 1,
+  { "vpackusdw", 3, 0x662b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36232,55 +42834,74 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddusw", 3, 0x66dd, None, 1,
+  { "vpackusdw", 3, 0x662B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpackusdw", 3, 0x662B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpaddusw", 3, 0x66dd, None, 1,
+  { "vpackusdw", 3, 0x662B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpalignr", 4, 0x660f, None, 1,
+  { "vpackuswb", 3, 0x6667, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36289,19 +42910,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpalignr", 4, 0x660f, None, 1,
+  { "vpackuswb", 3, 0x6667, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36310,47 +42929,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpand", 3, 0x66db, None, 1,
+  { "vpackuswb", 3, 0x6667, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpackuswb", 3, 0x6667, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpand", 3, 0x66db, None, 1,
+  { "vpackuswb", 3, 0x6667, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpandn", 3, 0x66df, None, 1,
+  { "vpaddsb", 3, 0x66ec, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36364,11 +43005,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpandn", 3, 0x66df, None, 1,
+  { "vpaddsb", 3, 0x66ec, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36382,47 +43024,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpavgb", 3, 0x66e0, None, 1,
+  { "vpaddsb", 3, 0x66EC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpaddsb", 3, 0x66EC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpavgb", 3, 0x66e0, None, 1,
+  { "vpaddsb", 3, 0x66EC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpavgw", 3, 0x66e3, None, 1,
+  { "vpaddsw", 3, 0x66ed, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36436,11 +43100,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpavgw", 3, 0x66e3, None, 1,
+  { "vpaddsw", 3, 0x66ed, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36454,61 +43119,74 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpblendvb", 4, 0x664c, None, 1,
+  { "vpaddsw", 3, 0x66ED, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpaddsw", 3, 0x66ED, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpblendvb", 4, 0x664c, None, 1,
+  { "vpaddsw", 3, 0x66ED, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpblendw", 4, 0x660e, None, 1,
+  { "vpaddb", 3, 0x66fc, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36517,19 +43195,17 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpblendw", 4, 0x660e, None, 1,
+  { "vpaddb", 3, 0x66fc, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36538,47 +43214,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqb", 3, 0x6674, None, 1,
+  { "vpaddb", 3, 0x66FC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpaddb", 3, 0x66FC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqb", 3, 0x6674, None, 1,
+  { "vpaddb", 3, 0x66FC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqd", 3, 0x6676, None, 1,
+  { "vpaddd", 3, 0x66fe, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36592,11 +43290,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqd", 3, 0x6676, None, 1,
+  { "vpaddd", 3, 0x66fe, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36610,14 +43309,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqd", 3, 0x6676, None, 1,
+  { "vpaddd", 3, 0x66FE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -36625,35 +43325,56 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqd", 3, 0x661F, 0, 1,
+  { "vpaddd", 3, 0x66FE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqq", 3, 0x6629, None, 1,
+  { "vpaddd", 3, 0x66FE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpaddq", 3, 0x66d4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36664,14 +43385,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqq", 3, 0x6629, None, 1,
+  { "vpaddq", 3, 0x66d4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36682,14 +43404,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqq", 3, 0x6629, None, 1,
+  { "vpaddq", 3, 0x66D4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36697,32 +43420,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqq", 3, 0x661F, 0, 1,
+  { "vpaddq", 3, 0x66D4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqw", 3, 0x6675, None, 1,
+  { "vpaddq", 3, 0x66D4, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpaddw", 3, 0x66fd, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36736,11 +43480,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpeqw", 3, 0x6675, None, 1,
+  { "vpaddw", 3, 0x66fd, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36754,83 +43499,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpestri", 3, 0x6661, None, 1,
+  { "vpaddw", 3, 0x66FD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpestrm", 3, 0x6660, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtb", 3, 0x6664, None, 1,
+  { "vpaddw", 3, 0x66FD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtb", 3, 0x6664, None, 1,
+  { "vpaddw", 3, 0x66FD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtd", 3, 0x6666, None, 1,
+  { "vpaddusb", 3, 0x66dc, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36844,11 +43575,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtd", 3, 0x6666, None, 1,
+  { "vpaddusb", 3, 0x66dc, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36862,83 +43594,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtd", 3, 0x6666, None, 1,
+  { "vpaddusb", 3, 0x66DC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtq", 3, 0x6637, None, 1,
+  { "vpaddusb", 3, 0x66DC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtq", 3, 0x6637, None, 1,
+  { "vpaddusb", 3, 0x66DC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtq", 3, 0x6637, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtw", 3, 0x6665, None, 1,
+  { "vpaddusw", 3, 0x66dd, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36952,11 +43670,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpgtw", 3, 0x6665, None, 1,
+  { "vpaddusw", 3, 0x66dd, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36970,73 +43689,77 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpistri", 3, 0x6663, None, 1,
+  { "vpaddusw", 3, 0x66DD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpistrm", 3, 0x6662, None, 1,
+  { "vpaddusw", 3, 0x66DD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vperm2f128", 4, 0x6606, None, 1,
+  { "vpaddusw", 3, 0x66DD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilpd", 3, 0x660d, None, 1,
+  { "vpalignr", 4, 0x660f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37045,16 +43768,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilpd", 3, 0x660d, None, 1,
+  { "vpalignr", 4, 0x660f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37063,86 +43790,119 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilpd", 3, 0x6605, None, 1,
+  { "vpalignr", 4, 0x660F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpalignr", 4, 0x660F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilpd", 3, 0x6605, None, 1,
+  { "vpalignr", 4, 0x660F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilpd", 3, 0x6605, None, 1,
+  { "vpand", 3, 0x66db, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilpd", 3, 0x660D, None, 1,
+  { "vpand", 3, 0x66db, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilps", 3, 0x660c, None, 1,
+  { "vpandn", 3, 0x66df, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37153,14 +43913,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilps", 3, 0x660c, None, 1,
+  { "vpandn", 3, 0x66df, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37171,71 +43932,56 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilps", 3, 0x6604, None, 1,
+  { "vpavgb", 3, 0x66e0, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilps", 3, 0x6604, None, 1,
+  { "vpavgb", 3, 0x66e0, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilps", 3, 0x6604, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermilps", 3, 0x660C, None, 1,
+  { "vpavgb", 3, 0x66E0, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37243,142 +43989,153 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpextrb", 3, 0x6614, None, 1,
+  { "vpavgb", 3, 0x66E0, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vpextrd", 3, 0x6616, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpavgb", 3, 0x66E0, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vpextrq", 3, 0x6616, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpavgw", 3, 0x66e3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vpextrw", 3, 0x66c5, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpavgw", 3, 0x66e3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpextrw", 3, 0x6615, None, 1,
+  { "vpavgw", 3, 0x66E3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vphaddd", 3, 0x6602, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpavgw", 3, 0x66E3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddd", 3, 0x6602, None, 1,
+  { "vpavgw", 3, 0x66E3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddsw", 3, 0x6603, None, 1,
+  { "vpblendvb", 4, 0x664c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37387,16 +44144,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddsw", 3, 0x6603, None, 1,
+  { "vpblendvb", 4, 0x664c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37405,16 +44166,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddw", 3, 0x6601, None, 1,
+  { "vpblendw", 4, 0x660e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37423,16 +44188,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddw", 3, 0x6601, None, 1,
+  { "vpblendw", 4, 0x660e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37441,101 +44210,110 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphminposuw", 2, 0x6641, None, 1,
+  { "vpcmpeqb", 3, 0x6674, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphsubd", 3, 0x6606, None, 1,
+  { "vpcmpeqb", 3, 0x6674, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphsubd", 3, 0x6606, None, 1,
+  { "vpcmpeqb", 3, 0x6674, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphsubsw", 3, 0x6607, None, 1,
+  { "vpcmpeqb", 3, 0x6674, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphsubsw", 3, 0x6607, None, 1,
+  { "vpcmpeqb", 3, 0x6674, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphsubw", 3, 0x6605, None, 1,
+  { "vpcmpeqd", 3, 0x6676, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37546,14 +44324,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphsubw", 3, 0x6605, None, 1,
+  { "vpcmpeqd", 3, 0x6676, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37564,203 +44343,202 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpinsrb", 4, 0x6620, None, 1,
+  { "vpcmpeqd", 3, 0x6676, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpinsrd", 4, 0x6622, None, 1,
+  { "vpcmpeqd", 3, 0x661F, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpinsrq", 4, 0x6622, None, 1,
+  { "vpcmpeqd", 3, 0x6676, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpinsrw", 4, 0x66c4, None, 1,
+  { "vpcmpeqd", 3, 0x6676, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaddubsw", 3, 0x6604, None, 1,
+  { "vpcmpeqd", 3, 0x6676, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaddubsw", 3, 0x6604, None, 1,
+  { "vpcmpeqd", 3, 0x6676, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaddwd", 3, 0x66f5, None, 1,
+  { "vpcmpeqd", 3, 0x661F, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaddwd", 3, 0x66f5, None, 1,
+  { "vpcmpeqd", 3, 0x661F, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxsb", 3, 0x663c, None, 1,
+  { "vpcmpeqd", 3, 0x661F, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxsb", 3, 0x663c, None, 1,
+  { "vpcmpeqd", 3, 0x661F, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxsd", 3, 0x663d, None, 1,
+  { "vpcmpeqq", 3, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37774,11 +44552,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxsd", 3, 0x663d, None, 1,
+  { "vpcmpeqq", 3, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37792,104 +44571,205 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxsd", 3, 0x663D, None, 1,
+  { "vpcmpeqq", 3, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpeqq", 3, 0x661F, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxsw", 3, 0x66ee, None, 1,
+  { "vpcmpeqq", 3, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpeqq", 3, 0x6629, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxsw", 3, 0x66ee, None, 1,
+  { "vpcmpeqq", 3, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxub", 3, 0x66de, None, 1,
+  { "vpcmpeqq", 3, 0x6629, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpeqq", 3, 0x661F, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxub", 3, 0x66de, None, 1,
+  { "vpcmpeqq", 3, 0x661F, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpeqq", 3, 0x661F, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxud", 3, 0x663f, None, 1,
+  { "vpcmpeqq", 3, 0x661F, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpeqw", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37900,14 +44780,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxud", 3, 0x663f, None, 1,
+  { "vpcmpeqw", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -37918,104 +44799,110 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxud", 3, 0x663F, None, 1,
+  { "vpcmpeqw", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxuw", 3, 0x663e, None, 1,
+  { "vpcmpeqw", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxuw", 3, 0x663e, None, 1,
+  { "vpcmpeqw", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminsb", 3, 0x6638, None, 1,
+  { "vpcmpestri", 3, 0x6661, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminsb", 3, 0x6638, None, 1,
+  { "vpcmpestrm", 3, 0x6660, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminsd", 3, 0x6639, None, 1,
+  { "vpcmpgtb", 3, 0x6664, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38026,14 +44913,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminsd", 3, 0x6639, None, 1,
+  { "vpcmpgtb", 3, 0x6664, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38044,65 +44932,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminsd", 3, 0x6639, None, 1,
+  { "vpcmpgtb", 3, 0x6664, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminsw", 3, 0x66ea, None, 1,
+  { "vpcmpgtb", 3, 0x6664, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminsw", 3, 0x66ea, None, 1,
+  { "vpcmpgtb", 3, 0x6664, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminub", 3, 0x66da, None, 1,
+  { "vpcmpgtd", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38116,11 +45008,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminub", 3, 0x66da, None, 1,
+  { "vpcmpgtd", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38134,65 +45027,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminud", 3, 0x663b, None, 1,
+  { "vpcmpgtd", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminud", 3, 0x663b, None, 1,
+  { "vpcmpgtd", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminud", 3, 0x663B, None, 1,
+  { "vpcmpgtd", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminuw", 3, 0x663a, None, 1,
+  { "vpcmpgtq", 3, 0x6637, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38206,11 +45103,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminuw", 3, 0x663a, None, 1,
+  { "vpcmpgtq", 3, 0x6637, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38224,605 +45122,794 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovmskb", 2, 0x66d7, None, 1,
+  { "vpcmpgtq", 3, 0x6637, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpgtq", 3, 0x6637, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovmskb", 2, 0x66d7, None, 1,
+  { "vpcmpgtq", 3, 0x6637, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxbd", 2, 0x6621, None, 1,
+  { "vpcmpgtw", 3, 0x6665, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxbd", 2, 0x6621, None, 1,
+  { "vpcmpgtw", 3, 0x6665, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxbd", 2, 0x6621, None, 1,
+  { "vpcmpgtw", 3, 0x6665, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxbq", 2, 0x6622, None, 1,
+  { "vpcmpgtw", 3, 0x6665, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxbq", 2, 0x6622, None, 1,
+  { "vpcmpgtw", 3, 0x6665, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxbq", 2, 0x6622, None, 1,
+  { "vpcmpistri", 3, 0x6663, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxbw", 2, 0x6620, None, 1,
+  { "vpcmpistrm", 3, 0x6662, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxbw", 2, 0x6620, None, 1,
+  { "vperm2f128", 4, 0x6606, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxdq", 2, 0x6625, None, 1,
+  { "vpermilpd", 3, 0x660d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxdq", 2, 0x6625, None, 1,
+  { "vpermilpd", 3, 0x660d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxdq", 2, 0x6625, None, 1,
+  { "vpermilpd", 3, 0x6605, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxwd", 2, 0x6623, None, 1,
+  { "vpermilpd", 3, 0x6605, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxwd", 2, 0x6623, None, 1,
+  { "vpermilpd", 3, 0x6605, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxwd", 2, 0x6623, None, 1,
+  { "vpermilpd", 3, 0x660D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxwq", 2, 0x6624, None, 1,
+  { "vpermilpd", 3, 0x6605, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxwq", 2, 0x6624, None, 1,
+  { "vpermilpd", 3, 0x6605, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsxwq", 2, 0x6624, None, 1,
+  { "vpermilpd", 3, 0x660D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxbd", 2, 0x6631, None, 1,
+  { "vpermilpd", 3, 0x660D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxbd", 2, 0x6631, None, 1,
+  { "vpermilps", 3, 0x660c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxbd", 2, 0x6631, None, 1,
+  { "vpermilps", 3, 0x660c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxbq", 2, 0x6632, None, 1,
+  { "vpermilps", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxbq", 2, 0x6632, None, 1,
+  { "vpermilps", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxbq", 2, 0x6632, None, 1,
+  { "vpermilps", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxbw", 2, 0x6630, None, 1,
+  { "vpermilps", 3, 0x660C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxbw", 2, 0x6630, None, 1,
+  { "vpermilps", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxdq", 2, 0x6635, None, 1,
+  { "vpermilps", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxdq", 2, 0x6635, None, 1,
+  { "vpermilps", 3, 0x660C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxdq", 2, 0x6635, None, 1,
+  { "vpermilps", 3, 0x660C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxwd", 2, 0x6633, None, 1,
+  { "vpextrb", 3, 0x6614, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxwd", 2, 0x6633, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vpextrb", 3, 0x6614, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxwd", 2, 0x6633, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vpextrd", 3, 0x6616, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxwq", 2, 0x6634, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vpextrd", 3, 0x6616, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxwq", 2, 0x6634, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpextrq", 3, 0x6616, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovzxwq", 2, 0x6634, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vpextrq", 3, 0x6616, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmuldq", 3, 0x6628, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpextrw", 3, 0x66c5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmuldq", 3, 0x6628, None, 1,
+  { "vpextrw", 3, 0x6615, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vpextrw", 3, 0x66C5, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmuldq", 3, 0x6628, None, 1,
+  { "vpextrw", 3, 0x6615, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmulhrsw", 3, 0x660b, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vphaddd", 3, 0x6602, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38836,11 +45923,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmulhrsw", 3, 0x660b, None, 1,
+  { "vphaddd", 3, 0x6602, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38854,14 +45942,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmulhuw", 3, 0x66e4, None, 1,
+  { "vphaddsw", 3, 0x6603, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38872,14 +45961,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmulhuw", 3, 0x66e4, None, 1,
+  { "vphaddsw", 3, 0x6603, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38890,14 +45980,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmulhw", 3, 0x66e5, None, 1,
+  { "vphaddw", 3, 0x6601, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38908,14 +45999,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmulhw", 3, 0x66e5, None, 1,
+  { "vphaddw", 3, 0x6601, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38926,11 +46018,28 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmulld", 3, 0x6640, None, 1,
+  { "vphminposuw", 2, 0x6641, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphsubd", 3, 0x6606, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38944,11 +46053,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmulld", 3, 0x6640, None, 1,
+  { "vphsubd", 3, 0x6606, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38962,32 +46072,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmulld", 3, 0x6640, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmullw", 3, 0x66d5, None, 1,
+  { "vphsubsw", 3, 0x6607, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -38998,14 +46091,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmullw", 3, 0x66d5, None, 1,
+  { "vphsubsw", 3, 0x6607, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39016,14 +46110,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmuludq", 3, 0x66f4, None, 1,
+  { "vphsubw", 3, 0x6605, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39034,14 +46129,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmuludq", 3, 0x66f4, None, 1,
+  { "vphsubw", 3, 0x6605, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39052,266 +46148,286 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmuludq", 3, 0x66F4, None, 1,
+  { "vpinsrb", 4, 0x6620, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpor", 3, 0x66eb, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpor", 3, 0x66eb, None, 1,
+  { "vpinsrb", 4, 0x6620, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsadbw", 3, 0x66f6, None, 1,
+  { "vpinsrd", 4, 0x6622, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsadbw", 3, 0x66f6, None, 1,
+  { "vpinsrd", 4, 0x6622, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshufb", 3, 0x6600, None, 1,
+  { "vpinsrq", 4, 0x6622, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshufb", 3, 0x6600, None, 1,
+  { "vpinsrq", 4, 0x6622, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshufd", 3, 0x6670, None, 1,
+  { "vpinsrw", 4, 0x66c4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshufd", 3, 0x6670, None, 1,
+  { "vpinsrw", 4, 0x66C4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshufd", 3, 0x6670, None, 1,
+  { "vpmaddubsw", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshufhw", 3, 0xf370, None, 1,
+  { "vpmaddubsw", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshufhw", 3, 0xf370, None, 1,
+  { "vpmaddubsw", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshuflw", 3, 0xf270, None, 1,
+  { "vpmaddubsw", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshuflw", 3, 0xf270, None, 1,
+  { "vpmaddubsw", 3, 0x6604, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsignb", 3, 0x6608, None, 1,
+  { "vpmaddwd", 3, 0x66f5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39322,14 +46438,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsignb", 3, 0x6608, None, 1,
+  { "vpmaddwd", 3, 0x66f5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39340,47 +46457,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsignd", 3, 0x660a, None, 1,
+  { "vpmaddwd", 3, 0x66F5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmaddwd", 3, 0x66F5, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsignd", 3, 0x660a, None, 1,
+  { "vpmaddwd", 3, 0x66F5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsignw", 3, 0x6609, None, 1,
+  { "vpmaxsb", 3, 0x663c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39394,11 +46533,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsignw", 3, 0x6609, None, 1,
+  { "vpmaxsb", 3, 0x663c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39412,191 +46552,164 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpslld", 3, 0x6672, 0x6, 1,
+  { "vpmaxsb", 3, 0x663C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpslld", 3, 0x66f2, None, 1,
+  { "vpmaxsb", 3, 0x663C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpslld", 3, 0x6672, 0x6, 1,
+  { "vpmaxsb", 3, 0x663C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpslld", 3, 0x66f2, None, 1,
+  { "vpmaxsd", 3, 0x663d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpslld", 3, 0x66F2, None, 1,
+  { "vpmaxsd", 3, 0x663d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpslld", 3, 0x6672, 6, 1,
+  { "vpmaxsd", 3, 0x663D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpslld", 3, 0x6672, 6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpslldq", 3, 0x6673, 0x7, 1,
+  { "vpmaxsd", 3, 0x663D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpslldq", 3, 0x6673, 0x7, 1,
+  { "vpmaxsd", 3, 0x663D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllq", 3, 0x6673, 0x6, 1,
+  { "vpmaxsw", 3, 0x66ee, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllq", 3, 0x66f3, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39610,122 +46723,91 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllq", 3, 0x6673, 0x6, 1,
+  { "vpmaxsw", 3, 0x66ee, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllq", 3, 0x66f3, None, 1,
+  { "vpmaxsw", 3, 0x66EE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllq", 3, 0x66F3, None, 1,
+  { "vpmaxsw", 3, 0x66EE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllq", 3, 0x6673, 6, 1,
+  { "vpmaxsw", 3, 0x66EE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllq", 3, 0x6673, 6, 1,
+  { "vpmaxub", 3, 0x66de, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllw", 3, 0x6671, 0x6, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllw", 3, 0x66f1, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39736,194 +46818,186 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllw", 3, 0x6671, 0x6, 1,
+  { "vpmaxub", 3, 0x66de, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllw", 3, 0x66f1, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrad", 3, 0x6672, 0x4, 1,
+  { "vpmaxub", 3, 0x66DE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrad", 3, 0x66e2, None, 1,
+  { "vpmaxub", 3, 0x66DE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrad", 3, 0x6672, 0x4, 1,
+  { "vpmaxub", 3, 0x66DE, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrad", 3, 0x66e2, None, 1,
+  { "vpmaxud", 3, 0x663f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrad", 3, 0x66E2, None, 1,
+  { "vpmaxud", 3, 0x663f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrad", 3, 0x6672, 4, 1,
+  { "vpmaxud", 3, 0x663F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrad", 3, 0x6672, 4, 1,
+  { "vpmaxud", 3, 0x663F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsraw", 3, 0x6671, 0x4, 1,
+  { "vpmaxud", 3, 0x663F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsraw", 3, 0x66e1, None, 1,
+  { "vpmaxuw", 3, 0x663e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -39934,353 +47008,373 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsraw", 3, 0x6671, 0x4, 1,
+  { "vpmaxuw", 3, 0x663e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsraw", 3, 0x66e1, None, 1,
+  { "vpmaxuw", 3, 0x663E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrld", 3, 0x6672, 0x2, 1,
+  { "vpmaxuw", 3, 0x663E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrld", 3, 0x66d2, None, 1,
+  { "vpmaxuw", 3, 0x663E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrld", 3, 0x6672, 0x2, 1,
+  { "vpminsb", 3, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrld", 3, 0x66d2, None, 1,
+  { "vpminsb", 3, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrld", 3, 0x66D2, None, 1,
+  { "vpminsb", 3, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrld", 3, 0x6672, 2, 1,
+  { "vpminsb", 3, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrld", 3, 0x6672, 2, 1,
+  { "vpminsb", 3, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrldq", 3, 0x6673, 0x3, 1,
+  { "vpminsd", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrldq", 3, 0x6673, 0x3, 1,
+  { "vpminsd", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x6673, 0x2, 1,
+  { "vpminsd", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x66d3, None, 1,
+  { "vpminsd", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x6673, 0x2, 1,
+  { "vpminsd", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x66d3, None, 1,
+  { "vpminsw", 3, 0x66ea, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x66D3, None, 1,
+  { "vpminsw", 3, 0x66ea, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x6673, 2, 1,
+  { "vpminsw", 3, 0x66EA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlq", 3, 0x6673, 2, 1,
+  { "vpminsw", 3, 0x66EA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x6671, 0x2, 1,
+  { "vpminsw", 3, 0x66EA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x66d1, None, 1,
+  { "vpminub", 3, 0x66da, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40294,86 +47388,91 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x6671, 0x2, 1,
+  { "vpminub", 3, 0x66da, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlw", 3, 0x66d1, None, 1,
+  { "vpminub", 3, 0x66DA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubb", 3, 0x66f8, None, 1,
+  { "vpminub", 3, 0x66DA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubb", 3, 0x66f8, None, 1,
+  { "vpminub", 3, 0x66DA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubd", 3, 0x66fa, None, 1,
+  { "vpminud", 3, 0x663b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40384,14 +47483,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubd", 3, 0x66fa, None, 1,
+  { "vpminud", 3, 0x663b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40402,14 +47502,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubd", 3, 0x66FA, None, 1,
+  { "vpminud", 3, 0x663B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -40420,14 +47521,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubq", 3, 0x66fb, None, 1,
+  { "vpminud", 3, 0x663B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpminud", 3, 0x663B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpminuw", 3, 0x663a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40438,14 +47578,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubq", 3, 0x66fb, None, 1,
+  { "vpminuw", 3, 0x663a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -40456,1226 +47597,1159 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubq", 3, 0x66FB, None, 1,
+  { "vpminuw", 3, 0x663A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubsb", 3, 0x66e8, None, 1,
+  { "vpminuw", 3, 0x663A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubsb", 3, 0x66e8, None, 1,
+  { "vpminuw", 3, 0x663A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubsw", 3, 0x66e9, None, 1,
+  { "vpmovmskb", 2, 0x66d7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubsw", 3, 0x66e9, None, 1,
+  { "vpmovmskb", 2, 0x66d7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubusb", 3, 0x66d8, None, 1,
+  { "vpmovsxbd", 2, 0x6621, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubusb", 3, 0x66d8, None, 1,
+  { "vpmovsxbd", 2, 0x6621, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubusw", 3, 0x66d9, None, 1,
+  { "vpmovsxbd", 2, 0x6621, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovsxbd", 2, 0x6621, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubusw", 3, 0x66d9, None, 1,
+  { "vpmovsxbd", 2, 0x6621, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubw", 3, 0x66f9, None, 1,
+  { "vpmovsxbq", 2, 0x6622, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsubw", 3, 0x66f9, None, 1,
+  { "vpmovsxbq", 2, 0x6622, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vptest", 2, 0x6617, None, 1,
+  { "vpmovsxbq", 2, 0x6622, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovsxbq", 2, 0x6622, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 1, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vptest", 2, 0x6617, None, 1,
+  { "vpmovsxbq", 2, 0x6622, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhbw", 3, 0x6668, None, 1,
+  { "vpmovsxbw", 2, 0x6620, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhbw", 3, 0x6668, None, 1,
+  { "vpmovsxbw", 2, 0x6620, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhdq", 3, 0x666a, None, 1,
+  { "vpmovsxbw", 2, 0x6620, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhdq", 3, 0x666a, None, 1,
+  { "vpmovsxbw", 2, 0x6620, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhdq", 3, 0x666A, None, 1,
+  { "vpmovsxbw", 2, 0x6620, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhqdq", 3, 0x666d, None, 1,
+  { "vpmovsxdq", 2, 0x6625, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhqdq", 3, 0x666d, None, 1,
+  { "vpmovsxdq", 2, 0x6625, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhqdq", 3, 0x666D, None, 1,
+  { "vpmovsxdq", 2, 0x6625, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhwd", 3, 0x6669, None, 1,
+  { "vpmovsxdq", 2, 0x6625, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckhwd", 3, 0x6669, None, 1,
+  { "vpmovsxdq", 2, 0x6625, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpcklbw", 3, 0x6660, None, 1,
+  { "vpmovsxwd", 2, 0x6623, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpcklbw", 3, 0x6660, None, 1,
+  { "vpmovsxwd", 2, 0x6623, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckldq", 3, 0x6662, None, 1,
+  { "vpmovsxwd", 2, 0x6623, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckldq", 3, 0x6662, None, 1,
+  { "vpmovsxwd", 2, 0x6623, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpckldq", 3, 0x6662, None, 1,
+  { "vpmovsxwd", 2, 0x6623, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpcklqdq", 3, 0x666c, None, 1,
+  { "vpmovsxwq", 2, 0x6624, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpcklqdq", 3, 0x666c, None, 1,
+  { "vpmovsxwq", 2, 0x6624, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpcklqdq", 3, 0x666C, None, 1,
+  { "vpmovsxwq", 2, 0x6624, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpcklwd", 3, 0x6661, None, 1,
+  { "vpmovsxwq", 2, 0x6624, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpunpcklwd", 3, 0x6661, None, 1,
+  { "vpmovsxwq", 2, 0x6624, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpxor", 3, 0x66ef, None, 1,
+  { "vpmovzxbd", 2, 0x6631, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpxor", 3, 0x66ef, None, 1,
+  { "vpmovzxbd", 2, 0x6631, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcpps", 2, 0x53, None, 1,
+  { "vpmovzxbd", 2, 0x6631, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovzxbd", 2, 0x6631, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcpps", 2, 0x53, None, 1,
+  { "vpmovzxbd", 2, 0x6631, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcpss", 3, 0xf353, None, 1,
+  { "vpmovzxbq", 2, 0x6632, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vroundpd", 3, 0x6609, None, 1,
+  { "vpmovzxbq", 2, 0x6632, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vroundpd", 3, 0x6609, None, 1,
+  { "vpmovzxbq", 2, 0x6632, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vroundps", 3, 0x6608, None, 1,
+  { "vpmovzxbq", 2, 0x6632, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 1, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vroundps", 3, 0x6608, None, 1,
+  { "vpmovzxbq", 2, 0x6632, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vroundsd", 4, 0x660b, None, 1,
+  { "vpmovzxbw", 2, 0x6630, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 3, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vroundss", 4, 0x660a, None, 1,
+  { "vpmovzxbw", 2, 0x6630, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrtps", 2, 0x52, None, 1,
+  { "vpmovzxbw", 2, 0x6630, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrtps", 2, 0x52, None, 1,
+  { "vpmovzxbw", 2, 0x6630, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrtss", 3, 0xf352, None, 1,
+  { "vpmovzxbw", 2, 0x6630, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshufpd", 4, 0x66c6, None, 1,
+  { "vpmovzxdq", 2, 0x6635, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshufpd", 4, 0x66c6, None, 1,
+  { "vpmovzxdq", 2, 0x6635, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshufpd", 4, 0x66C6, None, 1,
+  { "vpmovzxdq", 2, 0x6635, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshufps", 4, 0xc6, None, 1,
+  { "vpmovzxdq", 2, 0x6635, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshufps", 4, 0xc6, None, 1,
+  { "vpmovzxdq", 2, 0x6635, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshufps", 4, 0xC6, None, 1,
+  { "vpmovzxwd", 2, 0x6633, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtpd", 2, 0x6651, None, 1,
+  { "vpmovzxwd", 2, 0x6633, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtpd", 2, 0x6651, None, 1,
+  { "vpmovzxwd", 2, 0x6633, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtpd", 2, 0x6651, None, 1,
+  { "vpmovzxwd", 2, 0x6633, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtpd", 3, 0x6651, None, 1,
+  { "vpmovzxwd", 2, 0x6633, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtps", 2, 0x51, None, 1,
+  { "vpmovzxwq", 2, 0x6634, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtps", 2, 0x51, None, 1,
+  { "vpmovzxwq", 2, 0x6634, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtps", 2, 0x51, None, 1,
+  { "vpmovzxwq", 2, 0x6634, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtps", 3, 0x51, None, 1,
+  { "vpmovzxwq", 2, 0x6634, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtsd", 3, 0xf251, None, 1,
+  { "vpmovzxwq", 2, 0x6634, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtsd", 3, 0xF251, None, 1,
+  { "vpmuldq", 3, 0x6628, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtsd", 4, 0xF251, None, 1,
+  { "vpmuldq", 3, 0x6628, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtss", 3, 0xf351, None, 1,
+  { "vpmuldq", 3, 0x6628, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtss", 3, 0xF351, None, 1,
+  { "vpmuldq", 3, 0x6628, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsqrtss", 4, 0xF351, None, 1,
+  { "vpmuldq", 3, 0x6628, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vstmxcsr", 1, 0xae, 0x3, 1,
+  { "vpmulhrsw", 3, 0x660b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vsubpd", 3, 0x665c, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -41686,14 +48760,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubpd", 3, 0x665c, None, 1,
+  { "vpmulhrsw", 3, 0x660b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -41704,50 +48779,69 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubpd", 3, 0x665C, None, 1,
+  { "vpmulhrsw", 3, 0x660B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubpd", 4, 0x665C, None, 1,
+  { "vpmulhrsw", 3, 0x660B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmulhrsw", 3, 0x660B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubps", 3, 0x5c, None, 1,
+  { "vpmulhuw", 3, 0x66e4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -41761,11 +48855,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubps", 3, 0x5c, None, 1,
+  { "vpmulhuw", 3, 0x66e4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -41779,17 +48874,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubps", 3, 0x5C, None, 1,
+  { "vpmulhuw", 3, 0x66E4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -41797,302 +48893,335 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubps", 4, 0x5C, None, 1,
+  { "vpmulhuw", 3, 0x66E4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubsd", 3, 0xf25c, None, 1,
+  { "vpmulhuw", 3, 0x66E4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubsd", 3, 0xF25C, None, 1,
+  { "vpmulhw", 3, 0x66e5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubsd", 4, 0xF25C, None, 1,
+  { "vpmulhw", 3, 0x66e5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubss", 3, 0xf35c, None, 1,
+  { "vpmulhw", 3, 0x66E5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubss", 3, 0xF35C, None, 1,
+  { "vpmulhw", 3, 0x66E5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vsubss", 4, 0xF35C, None, 1,
+  { "vpmulhw", 3, 0x66E5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vtestpd", 2, 0x660f, None, 1,
+  { "vpmulld", 3, 0x6640, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vtestpd", 2, 0x660f, None, 1,
+  { "vpmulld", 3, 0x6640, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vtestps", 2, 0x660e, None, 1,
+  { "vpmulld", 3, 0x6640, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmulld", 3, 0x6640, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vtestps", 2, 0x660e, None, 1,
+  { "vpmulld", 3, 0x6640, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vucomisd", 2, 0x662e, None, 1,
+  { "vpmullw", 3, 0x66d5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vucomisd", 2, 0x662E, None, 1,
+  { "vpmullw", 3, 0x66d5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vucomisd", 3, 0x662E, None, 1,
+  { "vpmullw", 3, 0x66D5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vucomiss", 2, 0x2e, None, 1,
+  { "vpmullw", 3, 0x66D5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vucomiss", 2, 0x2E, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vucomiss", 3, 0x2E, None, 1,
+  { "vpmullw", 3, 0x66D5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpckhpd", 3, 0x6615, None, 1,
+  { "vpmuludq", 3, 0x66f4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42106,11 +49235,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpckhpd", 3, 0x6615, None, 1,
+  { "vpmuludq", 3, 0x66f4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42124,11 +49254,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpckhpd", 3, 0x6615, None, 1,
+  { "vpmuludq", 3, 0x66F4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
@@ -42142,65 +49273,50 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpckhps", 3, 0x15, None, 1,
+  { "vpmuludq", 3, 0x66F4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpckhps", 3, 0x15, None, 1,
+  { "vpmuludq", 3, 0x66F4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpckhps", 3, 0x15, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpcklpd", 3, 0x6614, None, 1,
+  { "vpor", 3, 0x66eb, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42214,11 +49330,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpcklpd", 3, 0x6614, None, 1,
+  { "vpor", 3, 0x66eb, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42232,29 +49349,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpcklpd", 3, 0x6614, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpcklps", 3, 0x14, None, 1,
+  { "vpsadbw", 3, 0x66f6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42268,11 +49368,12 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpcklps", 3, 0x14, None, 1,
+  { "vpsadbw", 3, 0x66f6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42286,17 +49387,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vunpcklps", 3, 0x14, None, 1,
+  { "vpsadbw", 3, 0x66F6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42304,50 +49406,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vxorpd", 3, 0x6657, None, 1,
+  { "vpsadbw", 3, 0x66F6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vxorpd", 3, 0x6657, None, 1,
+  { "vpsadbw", 3, 0x66F6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vxorps", 3, 0x57, None, 1,
+  { "vpshufb", 3, 0x6600, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42358,14 +49463,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vxorps", 3, 0x57, None, 1,
+  { "vpshufb", 3, 0x6600, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42376,53 +49482,72 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vzeroall", 0, 0x77, None, 1,
+  { "vpshufb", 3, 0x6600, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vzeroupper", 0, 0x77, None, 1,
+  { "vpshufb", 3, 0x6600, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vbroadcasti128", 2, 0x665A, None, 1,
+  { "vpshufb", 3, 0x6600, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpblendd", 4, 0x6602, None, 1,
+  { "vpshufd", 3, 0x6670, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42432,18 +49557,16 @@ const insn_template i386_optab[] =
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpblendd", 4, 0x6602, None, 1,
+  { "vpshufd", 3, 0x6670, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42453,198 +49576,187 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastb", 2, 0x6678, None, 1,
+  { "vpshufd", 3, 0x6670, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastb", 2, 0x6678, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x6658, None, 1,
+  { "vpshufd", 3, 0x6670, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x6658, None, 1,
+  { "vpshufd", 3, 0x6670, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x6658, None, 1,
+  { "vpshufhw", 3, 0xf370, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastd", 2, 0x667C, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x6659, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x6659, None, 1,
+  { "vpshufhw", 3, 0xf370, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x6659, None, 1,
+  { "vpshufhw", 3, 0xF370, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastq", 2, 0x667C, None, 1,
+  { "vpshufhw", 3, 0xF370, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastw", 2, 0x6679, None, 1,
+  { "vpshufhw", 3, 0xF370, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastw", 2, 0x6679, None, 1,
+  { "vpshuflw", 3, 0xf270, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vperm2i128", 4, 0x6646, None, 1,
+  { "vpshuflw", 3, 0xf270, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42654,105 +49766,89 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermd", 3, 0x6636, None, 1,
+  { "vpshuflw", 3, 0xF270, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermd", 3, 0x6636, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermpd", 3, 0x6601, None, 1,
+  { "vpshuflw", 3, 0xF270, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermpd", 3, 0x6601, None, 1,
+  { "vpshuflw", 3, 0xF270, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermpd", 3, 0x6616, None, 1,
+  { "vpsignb", 3, 0x6608, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermps", 3, 0x6616, None, 1,
+  { "vpsignb", 3, 0x6608, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -42766,485 +49862,509 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermps", 3, 0x6616, None, 1,
+  { "vpsignd", 3, 0x660a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermq", 3, 0x6600, None, 1,
+  { "vpsignd", 3, 0x660a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermq", 3, 0x6600, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermq", 3, 0x6636, None, 1,
+  { "vpsignw", 3, 0x6609, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vextracti128", 3, 0x6639, None, 1,
+  { "vpsignw", 3, 0x6609, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vinserti128", 4, 0x6638, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpslld", 3, 0x6672, 0x6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaskmovd", 3, 0x668e, None, 1,
+  { "vpslld", 3, 0x66f2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vpmaskmovd", 3, 0x668e, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpslld", 3, 0x6672, 0x6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vpmaskmovd", 3, 0x668c, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpslld", 3, 0x66f2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaskmovd", 3, 0x668c, None, 1,
+  { "vpslld", 3, 0x66F2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaskmovq", 3, 0x668e, None, 1,
+  { "vpslld", 3, 0x6672, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vpmaskmovq", 3, 0x668e, None, 1,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpslld", 3, 0x6672, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vpmaskmovq", 3, 0x668c, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpslld", 3, 0x66F2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaskmovq", 3, 0x668c, None, 1,
+  { "vpslld", 3, 0x66F2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllvd", 3, 0x6647, None, 1,
+  { "vpslld", 3, 0x6672, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllvd", 3, 0x6647, None, 1,
+  { "vpslld", 3, 0x6672, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpslld", 3, 0x6672, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllvd", 3, 0x6647, None, 1,
+  { "vpslld", 3, 0x6672, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllvq", 3, 0x6647, None, 1,
+  { "vpslldq", 3, 0x6673, 0x7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllvq", 3, 0x6647, None, 1,
+  { "vpslldq", 3, 0x6673, 0x7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsllvq", 3, 0x6647, None, 1,
+  { "vpslldq", 3, 0x6673, 7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsravd", 3, 0x6646, None, 1,
+  { "vpslldq", 3, 0x6673, 7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsravd", 3, 0x6646, None, 1,
+  { "vpslldq", 3, 0x6673, 7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsravd", 3, 0x6646, None, 1,
+  { "vpslldq", 3, 0x6673, 7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlvd", 3, 0x6645, None, 1,
+  { "vpslldq", 3, 0x6673, 7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlvd", 3, 0x6645, None, 1,
+  { "vpslldq", 3, 0x6673, 7, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlvd", 3, 0x6645, None, 1,
+  { "vpsllq", 3, 0x6673, 0x6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlvq", 3, 0x6645, None, 1,
+  { "vpsllq", 3, 0x66f3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -43255,476 +50375,490 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlvq", 3, 0x6645, None, 1,
+  { "vpsllq", 3, 0x6673, 0x6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsrlvq", 3, 0x6645, None, 1,
+  { "vpsllq", 3, 0x66f3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherdpd", 3, 0x6692, None, 1,
+  { "vpsllq", 3, 0x66F3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherdpd", 3, 0x6692, None, 1,
+  { "vpsllq", 3, 0x6673, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherdpd", 2, 0x6692, None, 1,
+  { "vpsllq", 3, 0x6673, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherdps", 3, 0x6692, None, 1,
+  { "vpsllq", 3, 0x66F3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherdps", 3, 0x6692, None, 1,
+  { "vpsllq", 3, 0x66F3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherdps", 2, 0x6692, None, 1,
+  { "vpsllq", 3, 0x6673, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherqpd", 3, 0x6693, None, 1,
+  { "vpsllq", 3, 0x6673, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherqpd", 3, 0x6693, None, 1,
+  { "vpsllq", 3, 0x6673, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherqpd", 2, 0x6693, None, 1,
+  { "vpsllq", 3, 0x6673, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherqps", 3, 0x6693, None, 1,
+  { "vpsllw", 3, 0x6671, 0x6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherqps", 3, 0x6693, None, 1,
+  { "vpsllw", 3, 0x66f1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherqps", 2, 0x6693, None, 1,
+  { "vpsllw", 3, 0x6671, 0x6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherdd", 3, 0x6690, None, 1,
+  { "vpsllw", 3, 0x66f1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherdd", 3, 0x6690, None, 1,
+  { "vpsllw", 3, 0x6671, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherdd", 2, 0x6690, None, 1,
+  { "vpsllw", 3, 0x6671, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherdq", 3, 0x6690, None, 1,
+  { "vpsllw", 3, 0x6671, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherdq", 3, 0x6690, None, 1,
+  { "vpsllw", 3, 0x6671, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherdq", 2, 0x6690, None, 1,
+  { "vpsllw", 3, 0x6671, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherqd", 3, 0x6691, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherqd", 3, 0x6691, None, 1,
+  { "vpsllw", 3, 0x6671, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherqd", 2, 0x6691, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherqq", 3, 0x6691, None, 1,
+  { "vpsllw", 3, 0x66F1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherqq", 3, 0x6691, None, 1,
+  { "vpsllw", 3, 0x66F1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpgatherqq", 2, 0x6691, None, 1,
+  { "vpsllw", 3, 0x66F1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vaesdec", 3, 0x66de, None, 1,
+  { "vpsrad", 3, 0x6672, 0x4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vaesdeclast", 3, 0x66df, None, 1,
+  { "vpsrad", 3, 0x66e2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -43735,467 +50869,490 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vaesenc", 3, 0x66dc, None, 1,
+  { "vpsrad", 3, 0x6672, 0x4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vaesenclast", 3, 0x66dd, None, 1,
+  { "vpsrad", 3, 0x66e2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vaesimc", 2, 0x66db, None, 1,
+  { "vpsrad", 3, 0x66E2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vaeskeygenassist", 3, 0x66df, None, 1,
+  { "vpsrad", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpclmulqdq", 4, 0x6644, None, 1,
+  { "vpsrad", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpclmullqlqdq", 3, 0x6644, 0x0, 1,
+  { "vpsrad", 3, 0x66E2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpclmulhqlqdq", 3, 0x6644, 0x1, 1,
+  { "vpsrad", 3, 0x66E2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpclmullqhqdq", 3, 0x6644, 0x10, 1,
+  { "vpsrad", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpclmulhqhqdq", 3, 0x6644, 0x11, 1,
+  { "vpsrad", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "rdfsbase", 1, 0xf30fae, 0x0, 2,
+  { "vpsrad", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "rdgsbase", 1, 0xf30fae, 0x1, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "rdrand", 1, 0xfc7, 0x6, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "wrfsbase", 1, 0xf30fae, 0x2, 2,
+  { "vpsrad", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "wrgsbase", 1, 0xf30fae, 0x3, 2,
+  { "vpsraw", 3, 0x6671, 0x4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtph2ps", 2, 0x6613, None, 1,
+  { "vpsraw", 3, 0x66e1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtph2ps", 2, 0x6613, None, 1,
+  { "vpsraw", 3, 0x6671, 0x4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtph2ps", 2, 0x6613, None, 1,
+  { "vpsraw", 3, 0x66e1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtph2ps", 3, 0x6613, None, 1,
+  { "vpsraw", 3, 0x6671, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtps2ph", 3, 0x661d, None, 1,
+  { "vpsraw", 3, 0x6671, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vcvtps2ph", 3, 0x661d, None, 1,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsraw", 3, 0x6671, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "vcvtps2ph", 3, 0x661D, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsraw", 3, 0x6671, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtps2ph", 4, 0x661D, None, 1,
+  { "vpsraw", 3, 0x6671, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtps2ph", 3, 0x661D, None, 1,
+  { "vpsraw", 3, 0x6671, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vfmadd132pd", 3, 0x6698, None, 1,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsraw", 3, 0x66E1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132pd", 3, 0x6698, None, 1,
+  { "vpsraw", 3, 0x66E1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132pd", 3, 0x6698, None, 1,
+  { "vpsraw", 3, 0x66E1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132pd", 4, 0x6698, None, 1,
+  { "vpsrld", 3, 0x6672, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132ps", 3, 0x6698, None, 1,
+  { "vpsrld", 3, 0x66d2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -44206,56 +51363,94 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132ps", 3, 0x6698, None, 1,
+  { "vpsrld", 3, 0x6672, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsrld", 3, 0x66d2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132ps", 3, 0x6698, None, 1,
+  { "vpsrld", 3, 0x66D2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132ps", 4, 0x6698, None, 1,
+  { "vpsrld", 3, 0x6672, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsrld", 3, 0x6672, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -44263,239 +51458,300 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213pd", 3, 0x66a8, None, 1,
+  { "vpsrld", 3, 0x66D2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213pd", 3, 0x66a8, None, 1,
+  { "vpsrld", 3, 0x66D2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213pd", 3, 0x66A8, None, 1,
+  { "vpsrld", 3, 0x6672, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213pd", 4, 0x66A8, None, 1,
+  { "vpsrld", 3, 0x6672, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsrld", 3, 0x6672, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213ps", 3, 0x66a8, None, 1,
+  { "vpsrld", 3, 0x6672, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsrldq", 3, 0x6673, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213ps", 3, 0x66a8, None, 1,
+  { "vpsrldq", 3, 0x6673, 0x3, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213ps", 3, 0x66A8, None, 1,
+  { "vpsrldq", 3, 0x6673, 3, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213ps", 4, 0x66A8, None, 1,
+  { "vpsrldq", 3, 0x6673, 3, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsrldq", 3, 0x6673, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231pd", 3, 0x66b8, None, 1,
+  { "vpsrldq", 3, 0x6673, 3, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231pd", 3, 0x66b8, None, 1,
+  { "vpsrldq", 3, 0x6673, 3, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231pd", 3, 0x66B8, None, 1,
+  { "vpsrldq", 3, 0x6673, 3, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231pd", 4, 0x66B8, None, 1,
+  { "vpsrlq", 3, 0x6673, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231ps", 3, 0x66b8, None, 1,
+  { "vpsrlq", 3, 0x66d3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -44506,56 +51762,94 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231ps", 3, 0x66b8, None, 1,
+  { "vpsrlq", 3, 0x6673, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsrlq", 3, 0x66d3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231ps", 3, 0x66B8, None, 1,
+  { "vpsrlq", 3, 0x66D3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231ps", 4, 0x66B8, None, 1,
+  { "vpsrlq", 3, 0x6673, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsrlq", 3, 0x6673, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -44563,50 +51857,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132sd", 3, 0x6699, None, 1,
+  { "vpsrlq", 3, 0x66D3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132sd", 3, 0x6699, None, 1,
+  { "vpsrlq", 3, 0x66D3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132sd", 4, 0x6699, None, 1,
+  { "vpsrlq", 3, 0x6673, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -44616,303 +51913,320 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132ss", 3, 0x6699, None, 1,
+  { "vpsrlq", 3, 0x6673, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132ss", 3, 0x6699, None, 1,
+  { "vpsrlq", 3, 0x6673, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd132ss", 4, 0x6699, None, 1,
+  { "vpsrlq", 3, 0x6673, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213sd", 3, 0x66a9, None, 1,
+  { "vpsrlw", 3, 0x6671, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213sd", 3, 0x66A9, None, 1,
+  { "vpsrlw", 3, 0x66d1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213sd", 4, 0x66A9, None, 1,
+  { "vpsrlw", 3, 0x6671, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213ss", 3, 0x66a9, None, 1,
+  { "vpsrlw", 3, 0x66d1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213ss", 3, 0x66A9, None, 1,
+  { "vpsrlw", 3, 0x6671, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd213ss", 4, 0x66A9, None, 1,
+  { "vpsrlw", 3, 0x6671, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231sd", 3, 0x66b9, None, 1,
+  { "vpsrlw", 3, 0x6671, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231sd", 3, 0x66B9, None, 1,
+  { "vpsrlw", 3, 0x6671, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231sd", 4, 0x66B9, None, 1,
+  { "vpsrlw", 3, 0x6671, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsrlw", 3, 0x6671, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231ss", 3, 0x66b9, None, 1,
+  { "vpsrlw", 3, 0x66D1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231ss", 3, 0x66B9, None, 1,
+  { "vpsrlw", 3, 0x66D1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmadd231ss", 4, 0x66B9, None, 1,
+  { "vpsrlw", 3, 0x66D1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub132pd", 3, 0x6696, None, 1,
+  { "vpsubb", 3, 0x66f8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -44923,14 +52237,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub132pd", 3, 0x6696, None, 1,
+  { "vpsubb", 3, 0x66f8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -44941,53 +52256,72 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub132pd", 3, 0x6696, None, 1,
+  { "vpsubb", 3, 0x66F8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub132pd", 4, 0x6696, None, 1,
+  { "vpsubb", 3, 0x66F8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsubb", 3, 0x66F8, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub132ps", 3, 0x6696, None, 1,
+  { "vpsubd", 3, 0x66fa, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -44998,14 +52332,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub132ps", 3, 0x6696, None, 1,
+  { "vpsubd", 3, 0x66fa, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45016,14 +52351,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub132ps", 3, 0x6696, None, 1,
+  { "vpsubd", 3, 0x66FA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -45034,35 +52370,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub132ps", 4, 0x6696, None, 1,
+  { "vpsubd", 3, 0x66FA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsubd", 3, 0x66FA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub213pd", 3, 0x66a6, None, 1,
+  { "vpsubq", 3, 0x66fb, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45073,14 +52427,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub213pd", 3, 0x66a6, None, 1,
+  { "vpsubq", 3, 0x66fb, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45091,14 +52446,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub213pd", 3, 0x66A6, None, 1,
+  { "vpsubq", 3, 0x66FB, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45109,35 +52465,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub213pd", 4, 0x66A6, None, 1,
+  { "vpsubq", 3, 0x66FB, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsubq", 3, 0x66FB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub213ps", 3, 0x66a6, None, 1,
+  { "vpsubsb", 3, 0x66e8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45148,14 +52522,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub213ps", 3, 0x66a6, None, 1,
+  { "vpsubsb", 3, 0x66e8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45166,17 +52541,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub213ps", 3, 0x66A6, None, 1,
+  { "vpsubsb", 3, 0x66E8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45184,35 +52560,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub213ps", 4, 0x66A6, None, 1,
+  { "vpsubsb", 3, 0x66E8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsubsb", 3, 0x66E8, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub231pd", 3, 0x66b6, None, 1,
+  { "vpsubsw", 3, 0x66e9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45223,14 +52617,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub231pd", 3, 0x66b6, None, 1,
+  { "vpsubsw", 3, 0x66e9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45241,53 +52636,72 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub231pd", 3, 0x66B6, None, 1,
+  { "vpsubsw", 3, 0x66E9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub231pd", 4, 0x66B6, None, 1,
+  { "vpsubsw", 3, 0x66E9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsubsw", 3, 0x66E9, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub231ps", 3, 0x66b6, None, 1,
+  { "vpsubusb", 3, 0x66d8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45298,14 +52712,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub231ps", 3, 0x66b6, None, 1,
+  { "vpsubusb", 3, 0x66d8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45316,17 +52731,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub231ps", 3, 0x66B6, None, 1,
+  { "vpsubusb", 3, 0x66D8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45334,35 +52750,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsub231ps", 4, 0x66B6, None, 1,
+  { "vpsubusb", 3, 0x66D8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsubusb", 3, 0x66D8, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd132pd", 3, 0x6697, None, 1,
+  { "vpsubusw", 3, 0x66d9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45373,14 +52807,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd132pd", 3, 0x6697, None, 1,
+  { "vpsubusw", 3, 0x66d9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45391,53 +52826,72 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd132pd", 3, 0x6697, None, 1,
+  { "vpsubusw", 3, 0x66D9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd132pd", 4, 0x6697, None, 1,
+  { "vpsubusw", 3, 0x66D9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsubusw", 3, 0x66D9, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd132ps", 3, 0x6697, None, 1,
+  { "vpsubw", 3, 0x66f9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45448,14 +52902,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd132ps", 3, 0x6697, None, 1,
+  { "vpsubw", 3, 0x66f9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45466,17 +52921,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd132ps", 3, 0x6697, None, 1,
+  { "vpsubw", 3, 0x66F9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45484,110 +52940,85 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd132ps", 4, 0x6697, None, 1,
+  { "vpsubw", 3, 0x66F9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd213pd", 3, 0x66a7, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd213pd", 3, 0x66a7, None, 1,
+  { "vpsubw", 3, 0x66F9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd213pd", 3, 0x66A7, None, 1,
+  { "vptest", 2, 0x6617, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd213pd", 4, 0x66A7, None, 1,
+  { "vptest", 2, 0x6617, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd213ps", 3, 0x66a7, None, 1,
+  { "vpunpckhbw", 3, 0x6668, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45598,14 +53029,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd213ps", 3, 0x66a7, None, 1,
+  { "vpunpckhbw", 3, 0x6668, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45616,17 +53048,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd213ps", 3, 0x66A7, None, 1,
+  { "vpunpckhbw", 3, 0x6668, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45634,110 +53067,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd213ps", 4, 0x66A7, None, 1,
+  { "vpunpckhbw", 3, 0x6668, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd231pd", 3, 0x66b7, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd231pd", 3, 0x66b7, None, 1,
+  { "vpunpckhbw", 3, 0x6668, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd231pd", 3, 0x66B7, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd231pd", 4, 0x66B7, None, 1,
+  { "vpunpckhdq", 3, 0x666a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd231ps", 3, 0x66b7, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45748,14 +53124,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd231ps", 3, 0x66b7, None, 1,
+  { "vpunpckhdq", 3, 0x666a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45766,14 +53143,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd231ps", 3, 0x66B7, None, 1,
+  { "vpunpckhdq", 3, 0x666A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -45784,35 +53162,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubadd231ps", 4, 0x66B7, None, 1,
+  { "vpunpckhdq", 3, 0x666A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpunpckhdq", 3, 0x666A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132pd", 3, 0x669a, None, 1,
+  { "vpunpckhqdq", 3, 0x666d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45823,14 +53219,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132pd", 3, 0x669a, None, 1,
+  { "vpunpckhqdq", 3, 0x666d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45841,14 +53238,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132pd", 3, 0x669A, None, 1,
+  { "vpunpckhqdq", 3, 0x666D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45859,35 +53257,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132pd", 4, 0x669A, None, 1,
+  { "vpunpckhqdq", 3, 0x666D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpunpckhqdq", 3, 0x666D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132ps", 3, 0x669a, None, 1,
+  { "vpunpckhwd", 3, 0x6669, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45898,14 +53314,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132ps", 3, 0x669a, None, 1,
+  { "vpunpckhwd", 3, 0x6669, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45916,17 +53333,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132ps", 3, 0x669A, None, 1,
+  { "vpunpckhwd", 3, 0x6669, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45934,35 +53352,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132ps", 4, 0x669A, None, 1,
+  { "vpunpckhwd", 3, 0x6669, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpunpckhwd", 3, 0x6669, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213pd", 3, 0x66aa, None, 1,
+  { "vpunpcklbw", 3, 0x6660, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45973,14 +53409,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213pd", 3, 0x66aa, None, 1,
+  { "vpunpcklbw", 3, 0x6660, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -45991,53 +53428,72 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213pd", 3, 0x66AA, None, 1,
+  { "vpunpcklbw", 3, 0x6660, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213pd", 4, 0x66AA, None, 1,
+  { "vpunpcklbw", 3, 0x6660, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpunpcklbw", 3, 0x6660, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213ps", 3, 0x66aa, None, 1,
+  { "vpunpckldq", 3, 0x6662, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46048,14 +53504,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213ps", 3, 0x66aa, None, 1,
+  { "vpunpckldq", 3, 0x6662, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46066,14 +53523,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213ps", 3, 0x66AA, None, 1,
+  { "vpunpckldq", 3, 0x6662, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -46084,35 +53542,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213ps", 4, 0x66AA, None, 1,
+  { "vpunpckldq", 3, 0x6662, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpunpckldq", 3, 0x6662, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231pd", 3, 0x66ba, None, 1,
+  { "vpunpcklqdq", 3, 0x666c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46123,14 +53599,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231pd", 3, 0x66ba, None, 1,
+  { "vpunpcklqdq", 3, 0x666c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46141,14 +53618,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231pd", 3, 0x66BA, None, 1,
+  { "vpunpcklqdq", 3, 0x666C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46159,35 +53637,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231pd", 4, 0x66BA, None, 1,
+  { "vpunpcklqdq", 3, 0x666C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpunpcklqdq", 3, 0x666C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231ps", 3, 0x66ba, None, 1,
+  { "vpunpcklwd", 3, 0x6661, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46198,14 +53694,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231ps", 3, 0x66ba, None, 1,
+  { "vpunpcklwd", 3, 0x6661, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46216,17 +53713,18 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231ps", 3, 0x66BA, None, 1,
+  { "vpunpcklwd", 3, 0x6661, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46234,320 +53732,294 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231ps", 4, 0x66BA, None, 1,
+  { "vpunpcklwd", 3, 0x6661, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132sd", 3, 0x669b, None, 1,
+  { "vpunpcklwd", 3, 0x6661, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132sd", 3, 0x669B, None, 1,
+  { "vpxor", 3, 0x66ef, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132sd", 4, 0x669B, None, 1,
+  { "vpxor", 3, 0x66ef, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132ss", 3, 0x669b, None, 1,
+  { "vrcpps", 2, 0x53, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132ss", 3, 0x669B, None, 1,
+  { "vrcpps", 2, 0x53, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub132ss", 4, 0x669B, None, 1,
+  { "vrcpss", 3, 0xf353, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213sd", 3, 0x66ab, None, 1,
+  { "vroundpd", 3, 0x6609, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213sd", 3, 0x66AB, None, 1,
+  { "vroundpd", 3, 0x6609, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213sd", 4, 0x66AB, None, 1,
+  { "vroundps", 3, 0x6608, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213ss", 3, 0x66ab, None, 1,
+  { "vroundps", 3, 0x6608, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213ss", 3, 0x66AB, None, 1,
+  { "vroundsd", 4, 0x660b, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 3, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub213ss", 4, 0x66AB, None, 1,
+  { "vroundss", 4, 0x660a, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 3, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231sd", 3, 0x66bb, None, 1,
+  { "vrsqrtps", 2, 0x52, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231sd", 3, 0x66BB, None, 1,
+  { "vrsqrtps", 2, 0x52, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231sd", 4, 0x66BB, None, 1,
+  { "vrsqrtss", 3, 0xf352, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231ss", 3, 0x66bb, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -46558,55 +54030,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231ss", 3, 0x66BB, None, 1,
+  { "vshufpd", 4, 0x66c6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsub231ss", 4, 0x66BB, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132pd", 3, 0x669c, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46615,16 +54052,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132pd", 3, 0x669c, None, 1,
+  { "vshufpd", 4, 0x66c6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46633,16 +54074,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132pd", 3, 0x669C, None, 1,
+  { "vshufpd", 4, 0x66C6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46651,37 +54096,64 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132pd", 4, 0x669C, None, 1,
+  { "vshufpd", 4, 0x66C6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vshufpd", 4, 0x66C6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132ps", 3, 0x669c, None, 1,
+  { "vshufps", 4, 0xc6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46690,16 +54162,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132ps", 3, 0x669c, None, 1,
+  { "vshufps", 4, 0xc6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46708,16 +54184,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132ps", 3, 0x669C, None, 1,
+  { "vshufps", 4, 0xC6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46726,89 +54206,107 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132ps", 4, 0x669C, None, 1,
+  { "vshufps", 4, 0xC6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vshufps", 4, 0xC6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213pd", 3, 0x66ac, None, 1,
+  { "vsqrtpd", 2, 0x6651, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213pd", 3, 0x66ac, None, 1,
+  { "vsqrtpd", 2, 0x6651, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213pd", 3, 0x66AC, None, 1,
+  { "vsqrtpd", 2, 0x6651, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213pd", 4, 0x66AC, None, 1,
+  { "vsqrtpd", 3, 0x6651, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46818,72 +54316,96 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213ps", 3, 0x66ac, None, 1,
+  { "vsqrtpd", 2, 0x6651, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vsqrtpd", 2, 0x6651, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vsqrtps", 2, 0x51, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213ps", 3, 0x66ac, None, 1,
+  { "vsqrtps", 2, 0x51, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213ps", 3, 0x66AC, None, 1,
+  { "vsqrtps", 2, 0x51, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213ps", 4, 0x66AC, None, 1,
+  { "vsqrtps", 3, 0x51, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -46893,147 +54415,238 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231pd", 3, 0x66bc, None, 1,
+  { "vsqrtps", 2, 0x51, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231pd", 3, 0x66bc, None, 1,
+  { "vsqrtps", 2, 0x51, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vsqrtsd", 3, 0xf251, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231pd", 3, 0x66BC, None, 1,
+  { "vsqrtsd", 3, 0xF251, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231pd", 4, 0x66BC, None, 1,
+  { "vsqrtsd", 4, 0xF251, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231ps", 3, 0x66bc, None, 1,
+  { "vsqrtss", 3, 0xf351, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231ps", 3, 0x66bc, None, 1,
+  { "vsqrtss", 3, 0xF351, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231ps", 3, 0x66BC, None, 1,
+  { "vsqrtss", 4, 0xF351, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vstmxcsr", 1, 0xae, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vsubpd", 3, 0x665c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vsubpd", 3, 0x665c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vsubpd", 3, 0x665C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231ps", 4, 0x66BC, None, 1,
+  { "vsubpd", 4, 0x665C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47047,128 +54660,170 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132sd", 3, 0x669d, None, 1,
+  { "vsubpd", 3, 0x665C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132sd", 3, 0x669D, None, 1,
+  { "vsubpd", 3, 0x665C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132sd", 4, 0x669D, None, 1,
+  { "vsubps", 3, 0x5c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132ss", 3, 0x669d, None, 1,
+  { "vsubps", 3, 0x5c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132ss", 3, 0x669D, None, 1,
+  { "vsubps", 3, 0x5C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd132ss", 4, 0x669D, None, 1,
+  { "vsubps", 4, 0x5C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vsubps", 3, 0x5C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213sd", 3, 0x66ad, None, 1,
+  { "vsubps", 3, 0x5C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vsubsd", 3, 0xf25c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47179,14 +54834,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213sd", 3, 0x66AD, None, 1,
+  { "vsubsd", 3, 0xF25C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47197,14 +54853,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213sd", 4, 0x66AD, None, 1,
+  { "vsubsd", 4, 0xF25C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47218,14 +54875,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213ss", 3, 0x66ad, None, 1,
+  { "vsubss", 3, 0xf35c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -47236,14 +54894,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213ss", 3, 0x66AD, None, 1,
+  { "vsubss", 3, 0xF35C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -47254,14 +54913,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd213ss", 4, 0x66AD, None, 1,
+  { "vsubss", 4, 0xF35C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47275,50 +54935,111 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231sd", 3, 0x66bd, None, 1,
+  { "vtestpd", 2, 0x660f, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vtestpd", 2, 0x660f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vtestps", 2, 0x660e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231sd", 3, 0x66BD, None, 1,
+  { "vtestps", 2, 0x660e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vucomisd", 2, 0x662e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vucomisd", 2, 0x662E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231sd", 4, 0x66BD, None, 1,
+  { "vucomisd", 3, 0x662E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47328,54 +55049,48 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231ss", 3, 0x66bd, None, 1,
+  { "vucomiss", 2, 0x2e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231ss", 3, 0x66BD, None, 1,
+  { "vucomiss", 2, 0x2E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmadd231ss", 4, 0x66BD, None, 1,
+  { "vucomiss", 3, 0x2E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47385,18 +55100,16 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132pd", 3, 0x669e, None, 1,
+  { "vunpckhpd", 3, 0x6615, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47407,14 +55120,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132pd", 3, 0x669e, None, 1,
+  { "vunpckhpd", 3, 0x6615, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47425,14 +55139,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132pd", 3, 0x669E, None, 1,
+  { "vunpckhpd", 3, 0x6615, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47443,35 +55158,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132pd", 4, 0x669E, None, 1,
+  { "vunpckhpd", 3, 0x6615, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vunpckhpd", 3, 0x6615, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132ps", 3, 0x669e, None, 1,
+  { "vunpckhps", 3, 0x15, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47482,14 +55215,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132ps", 3, 0x669e, None, 1,
+  { "vunpckhps", 3, 0x15, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47500,14 +55234,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132ps", 3, 0x669E, None, 1,
+  { "vunpckhps", 3, 0x15, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -47518,35 +55253,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132ps", 4, 0x669E, None, 1,
+  { "vunpckhps", 3, 0x15, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vunpckhps", 3, 0x15, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213pd", 3, 0x66ae, None, 1,
+  { "vunpcklpd", 3, 0x6614, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47557,14 +55310,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213pd", 3, 0x66ae, None, 1,
+  { "vunpcklpd", 3, 0x6614, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47575,14 +55329,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213pd", 3, 0x66AE, None, 1,
+  { "vunpcklpd", 3, 0x6614, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47593,35 +55348,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213pd", 4, 0x66AE, None, 1,
+  { "vunpcklpd", 3, 0x6614, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vunpcklpd", 3, 0x6614, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213ps", 3, 0x66ae, None, 1,
+  { "vunpcklps", 3, 0x14, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47632,14 +55405,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213ps", 3, 0x66ae, None, 1,
+  { "vunpcklps", 3, 0x14, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47650,14 +55424,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213ps", 3, 0x66AE, None, 1,
+  { "vunpcklps", 3, 0x14, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -47668,35 +55443,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213ps", 4, 0x66AE, None, 1,
+  { "vunpcklps", 3, 0x14, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231pd", 3, 0x66be, None, 1,
+  { "vunpcklps", 3, 0x14, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vxorpd", 3, 0x6657, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47707,14 +55500,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231pd", 3, 0x66be, None, 1,
+  { "vxorpd", 3, 0x6657, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47725,14 +55519,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231pd", 3, 0x66BE, None, 1,
+  { "vxorpd", 3, 0x6657, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47743,35 +55538,53 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231pd", 4, 0x66BE, None, 1,
+  { "vxorpd", 3, 0x6657, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vxorpd", 3, 0x6657, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231ps", 3, 0x66be, None, 1,
+  { "vxorps", 3, 0x57, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47782,14 +55595,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231ps", 3, 0x66be, None, 1,
+  { "vxorps", 3, 0x57, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -47800,14 +55614,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231ps", 3, 0x66BE, None, 1,
+  { "vxorps", 3, 0x57, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
@@ -47818,658 +55633,717 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231ps", 4, 0x66BE, None, 1,
+  { "vxorps", 3, 0x57, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vxorps", 3, 0x57, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132sd", 3, 0x669f, None, 1,
+  { "vzeroall", 0, 0x77, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vzeroupper", 0, 0x77, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcasti128", 2, 0x665A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132sd", 3, 0x669F, None, 1,
+  { "vpblendd", 4, 0x6602, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132sd", 4, 0x669F, None, 1,
+  { "vpblendd", 4, 0x6602, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132ss", 3, 0x669f, None, 1,
+  { "vpbroadcastb", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132ss", 3, 0x669F, None, 1,
+  { "vpbroadcastb", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub132ss", 4, 0x669F, None, 1,
+  { "vpbroadcastb", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213sd", 3, 0x66af, None, 1,
+  { "vpbroadcastb", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213sd", 3, 0x66AF, None, 1,
+  { "vpbroadcastb", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpbroadcastb", 2, 0x667A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213sd", 4, 0x66AF, None, 1,
+  { "vpbroadcastb", 2, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpbroadcastb", 2, 0x667A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213ss", 3, 0x66af, None, 1,
+  { "vpbroadcastd", 2, 0x6658, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpbroadcastd", 2, 0x6658, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213ss", 3, 0x66AF, None, 1,
+  { "vpbroadcastd", 2, 0x6658, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub213ss", 4, 0x66AF, None, 1,
+  { "vpbroadcastd", 2, 0x667C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpbroadcastd", 2, 0x6658, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231sd", 3, 0x66bf, None, 1,
+  { "vpbroadcastd", 2, 0x6658, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231sd", 3, 0x66BF, None, 1,
+  { "vpbroadcastd", 2, 0x6658, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpbroadcastd", 2, 0x6658, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231sd", 4, 0x66BF, None, 1,
+  { "vpbroadcastd", 2, 0x667C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpbroadcastd", 2, 0x667C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231ss", 3, 0x66bf, None, 1,
+  { "vpbroadcastq", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpbroadcastq", 2, 0x6659, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231ss", 3, 0x66BF, None, 1,
+  { "vpbroadcastq", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsub231ss", 4, 0x66BF, None, 1,
+  { "vpbroadcastq", 2, 0x667C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xacquire", 0, 0xf2, None, 1,
+  { "vpbroadcastq", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xrelease", 0, 0xf3, None, 1,
+  { "vpbroadcastq", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xabort", 1, 0xc6f8, None, 2,
+  { "vpbroadcastq", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xbegin", 1, 0xc7f8, None, 2,
+  { "vpbroadcastq", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xend", 0, 0xf01d5, None, 3,
+  { "vpbroadcastq", 2, 0x667C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xtest", 0, 0xf01d6, None, 3,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "bzhi", 3, 0xf5, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "mulx", 3, 0xf2f6, None, 1,
+  { "vpbroadcastq", 2, 0x667C, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pdep", 3, 0xf2f5, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pext", 3, 0xf3f5, None, 1,
+  { "vpbroadcastw", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "rorx", 3, 0xf2f0, None, 1,
+  { "vpbroadcastw", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sarx", 3, 0xf3f7, None, 1,
+  { "vpbroadcastw", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "shlx", 3, 0x66f7, None, 1,
+  { "vpbroadcastw", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "shrx", 3, 0xf2f7, None, 1,
+  { "vpbroadcastw", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 1, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddpd", 4, 0x6669, None, 1,
+  { "vpbroadcastw", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddpd", 4, 0x6669, None, 1,
+  { "vpbroadcastw", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddpd", 4, 0x6669, None, 1,
+  { "vpbroadcastw", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddpd", 4, 0x6669, None, 1,
+  { "vperm2i128", 4, 0x6646, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -48481,79 +56355,74 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddps", 4, 0x6668, None, 1,
+  { "vpermd", 3, 0x6636, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddps", 4, 0x6668, None, 1,
+  { "vpermd", 3, 0x6636, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddps", 4, 0x6668, None, 1,
+  { "vpermd", 3, 0x6636, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddps", 4, 0x6668, None, 1,
+  { "vpermpd", 3, 0x6601, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -48561,167 +56430,151 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsd", 4, 0x666b, None, 1,
+  { "vpermpd", 3, 0x6601, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsd", 4, 0x666b, None, 1,
+  { "vpermpd", 3, 0x6616, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddss", 4, 0x666a, None, 1,
+  { "vpermpd", 3, 0x6601, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddss", 4, 0x666a, None, 1,
+  { "vpermpd", 3, 0x6616, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsubpd", 4, 0x665d, None, 1,
+  { "vpermps", 3, 0x6616, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsubpd", 4, 0x665d, None, 1,
+  { "vpermps", 3, 0x6616, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsubpd", 4, 0x665d, None, 1,
+  { "vpermps", 3, 0x6616, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsubpd", 4, 0x665d, None, 1,
+  { "vpermq", 3, 0x6600, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -48729,188 +56582,173 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsubps", 4, 0x665c, None, 1,
+  { "vpermq", 3, 0x6600, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsubps", 4, 0x665c, None, 1,
+  { "vpermq", 3, 0x6636, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsubps", 4, 0x665c, None, 1,
+  { "vpermq", 3, 0x6600, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmaddsubps", 4, 0x665c, None, 1,
+  { "vpermq", 3, 0x6636, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubaddpd", 4, 0x665f, None, 1,
+  { "vextracti128", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubaddpd", 4, 0x665f, None, 1,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vinserti128", 4, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubaddpd", 4, 0x665f, None, 1,
+  { "vpmaskmovd", 3, 0x668e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubaddpd", 4, 0x665f, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vpmaskmovd", 3, 0x668e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubaddps", 4, 0x665e, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vpmaskmovd", 3, 0x668c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -48918,83 +56756,75 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubaddps", 4, 0x665e, None, 1,
+  { "vpmaskmovd", 3, 0x668c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubaddps", 4, 0x665e, None, 1,
+  { "vpmaskmovq", 3, 0x668e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubaddps", 4, 0x665e, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vpmaskmovq", 3, 0x668e, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubpd", 4, 0x666d, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vpmaskmovq", 3, 0x668c, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -49002,23 +56832,37 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmaskmovq", 3, 0x668c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubpd", 4, 0x666d, None, 1,
+  { "vpsllvd", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -49027,14 +56871,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubpd", 4, 0x666d, None, 1,
+  { "vpsllvd", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -49044,65 +56889,75 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubpd", 4, 0x666d, None, 1,
+  { "vpsllvd", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubps", 4, 0x666c, None, 1,
+  { "vpsllvd", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsllvd", 3, 0x6647, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubps", 4, 0x666c, None, 1,
+  { "vpsllvq", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -49111,14 +56966,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubps", 4, 0x666c, None, 1,
+  { "vpsllvq", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -49128,149 +56984,170 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubps", 4, 0x666c, None, 1,
+  { "vpsllvq", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubsd", 4, 0x666f, None, 1,
+  { "vpsllvq", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubsd", 4, 0x666f, None, 1,
+  { "vpsllvq", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubss", 4, 0x666e, None, 1,
+  { "vpsravd", 3, 0x6646, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfmsubss", 4, 0x666e, None, 1,
+  { "vpsravd", 3, 0x6646, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsravd", 3, 0x6646, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddpd", 4, 0x6679, None, 1,
+  { "vpsravd", 3, 0x6646, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsravd", 3, 0x6646, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddpd", 4, 0x6679, None, 1,
+  { "vpsrlvd", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -49279,14 +57156,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddpd", 4, 0x6679, None, 1,
+  { "vpsrlvd", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -49296,65 +57174,75 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddpd", 4, 0x6679, None, 1,
+  { "vpsrlvd", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddps", 4, 0x6678, None, 1,
+  { "vpsrlvd", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsrlvd", 3, 0x6645, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddps", 4, 0x6678, None, 1,
+  { "vpsrlvq", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -49363,14 +57251,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddps", 4, 0x6678, None, 1,
+  { "vpsrlvq", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -49380,842 +57269,763 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddps", 4, 0x6678, None, 1,
+  { "vpsrlvq", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddsd", 4, 0x667b, None, 1,
+  { "vpsrlvq", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddsd", 4, 0x667b, None, 1,
+  { "vpsrlvq", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddss", 4, 0x667a, None, 1,
+  { "vgatherdpd", 3, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmaddss", 4, 0x667a, None, 1,
+  { "vgatherdpd", 3, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubpd", 4, 0x667d, None, 1,
+  { "vgatherdpd", 2, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubpd", 4, 0x667d, None, 1,
+  { "vgatherdpd", 2, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubpd", 4, 0x667d, None, 1,
+  { "vgatherdpd", 2, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgatherdps", 3, 0x6692, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubpd", 4, 0x667d, None, 1,
+  { "vgatherdps", 3, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubps", 4, 0x667c, None, 1,
+  { "vgatherdps", 2, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubps", 4, 0x667c, None, 1,
+  { "vgatherdps", 2, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubps", 4, 0x667c, None, 1,
+  { "vgatherdps", 2, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgatherqpd", 3, 0x6693, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubps", 4, 0x667c, None, 1,
+  { "vgatherqpd", 3, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubsd", 4, 0x667f, None, 1,
+  { "vgatherqpd", 2, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubsd", 4, 0x667f, None, 1,
+  { "vgatherqpd", 2, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubss", 4, 0x667e, None, 1,
+  { "vgatherqpd", 2, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfnmsubss", 4, 0x667e, None, 1,
+  { "vgatherqps", 3, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfrczpd", 2, 0x81, None, 1,
+  { "vgatherqps", 3, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfrczpd", 2, 0x81, None, 1,
+  { "vgatherqps", 2, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfrczps", 2, 0x80, None, 1,
+  { "vgatherqps", 2, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfrczps", 2, 0x80, None, 1,
+  { "vgatherqps", 2, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfrczsd", 2, 0x83, None, 1,
+  { "vpgatherdd", 3, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfrczss", 2, 0x82, None, 1,
+  { "vpgatherdd", 3, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmov", 4, 0xa2, None, 1,
+  { "vpgatherdd", 2, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpgatherdd", 2, 0x6690, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmov", 4, 0xa2, None, 1,
+  { "vpgatherdd", 2, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmov", 4, 0xa2, None, 1,
+  { "vpgatherdq", 3, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmov", 4, 0xa2, None, 1,
+  { "vpgatherdq", 3, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomb", 4, 0xcc, None, 1,
+  { "vpgatherdq", 2, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomd", 4, 0xce, None, 1,
+  { "vpgatherdq", 2, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomq", 4, 0xcf, None, 1,
+  { "vpgatherdq", 2, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomub", 4, 0xec, None, 1,
+  { "vpgatherqd", 3, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomud", 4, 0xee, None, 1,
+  { "vpgatherqd", 3, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomuq", 4, 0xef, None, 1,
+  { "vpgatherqd", 2, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomuw", 4, 0xed, None, 1,
+  { "vpgatherqd", 2, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomw", 4, 0xcd, None, 1,
+  { "vpgatherqd", 2, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermil2pd", 5, 0x6649, None, 1,
+  { "vpgatherqq", 3, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermil2pd", 5, 0x6649, None, 1,
+  { "vpgatherqq", 3, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermil2pd", 5, 0x6649, None, 1,
+  { "vpgatherqq", 2, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermil2pd", 5, 0x6649, None, 1,
+  { "vpgatherqq", 2, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermil2ps", 5, 0x6648, None, 1,
+  { "vpgatherqq", 2, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermil2ps", 5, 0x6648, None, 1,
+  { "vaesdec", 3, 0x66de, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50223,66 +58033,35 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermil2ps", 5, 0x6648, None, 1,
+  { "vaesdeclast", 3, 0x66df, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermil2ps", 5, 0x6648, None, 1,
+  { "vaesenc", 3, 0x66dc, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomltb", 3, 0xcc, 0x0, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50293,14 +58072,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomltd", 3, 0xce, 0x0, 1,
+  { "vaesenclast", 3, 0x66dd, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50311,52 +58091,55 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomltq", 3, 0xcf, 0x0, 1,
+  { "vaesimc", 2, 0x66db, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomltub", 3, 0xec, 0x0, 1,
+  { "vaeskeygenassist", 3, 0x66df, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomltud", 3, 0xee, 0x0, 1,
+  { "vpclmulqdq", 4, 0x6644, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50365,14 +58148,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomltuq", 3, 0xef, 0x0, 1,
+  { "vpclmullqlqdq", 3, 0x6644, 0x0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50383,14 +58167,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomltuw", 3, 0xed, 0x0, 1,
+  { "vpclmulhqlqdq", 3, 0x6644, 0x1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50401,14 +58186,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomltw", 3, 0xcd, 0x0, 1,
+  { "vpclmullqhqdq", 3, 0x6644, 0x10, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50419,14 +58205,15 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomleb", 3, 0xcc, 0x1, 1,
+  { "vpclmulhqhqdq", 3, 0x6644, 0x11, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50437,356 +58224,353 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomled", 3, 0xce, 0x1, 1,
+  { "rdfsbase", 1, 0xf30fae, 0x0, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomleq", 3, 0xcf, 0x1, 1,
+  { "rdgsbase", 1, 0xf30fae, 0x1, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomleub", 3, 0xec, 0x1, 1,
+  { "rdrand", 1, 0xfc7, 0x6, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomleud", 3, 0xee, 0x1, 1,
+  { "wrfsbase", 1, 0xf30fae, 0x2, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomleuq", 3, 0xef, 0x1, 1,
+  { "wrgsbase", 1, 0xf30fae, 0x3, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomleuw", 3, 0xed, 0x1, 1,
+  { "vcvtph2ps", 2, 0x6613, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomlew", 3, 0xcd, 0x1, 1,
+  { "vcvtph2ps", 2, 0x6613, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgtb", 3, 0xcc, 0x2, 1,
+  { "vcvtph2ps", 2, 0x6613, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgtd", 3, 0xce, 0x2, 1,
+  { "vcvtph2ps", 3, 0x6613, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgtq", 3, 0xcf, 0x2, 1,
+  { "vcvtph2ps", 2, 0x6613, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgtub", 3, 0xec, 0x2, 1,
+  { "vcvtph2ps", 2, 0x6613, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgtud", 3, 0xee, 0x2, 1,
+  { "vcvtps2ph", 3, 0x661d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgtuq", 3, 0xef, 0x2, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2ph", 3, 0x661d, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgtuw", 3, 0xed, 0x2, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2ph", 3, 0x661D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgtw", 3, 0xcd, 0x2, 1,
+  { "vcvtps2ph", 4, 0x661D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgeb", 3, 0xcc, 0x3, 1,
+  { "vcvtps2ph", 3, 0x661D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomged", 3, 0xce, 0x3, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vcvtps2ph", 3, 0x661D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgeq", 3, 0xcf, 0x3, 1,
+  { "vcvtps2ph", 3, 0x661D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgeub", 3, 0xec, 0x3, 1,
+  { "vcvtps2ph", 3, 0x661D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgeud", 3, 0xee, 0x3, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vcvtps2ph", 3, 0x661D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vfmadd132pd", 3, 0x6698, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50797,104 +58581,113 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgeuq", 3, 0xef, 0x3, 1,
+  { "vfmadd132pd", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgeuw", 3, 0xed, 0x3, 1,
+  { "vfmadd132pd", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomgew", 3, 0xcd, 0x3, 1,
+  { "vfmadd132pd", 4, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomeqb", 3, 0xcc, 0x4, 1,
+  { "vfmadd132pd", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomeqd", 3, 0xce, 0x4, 1,
+  { "vfmadd132pd", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomeqq", 3, 0xcf, 0x4, 1,
+  { "vfmadd132ps", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -50905,104 +58698,113 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomequb", 3, 0xec, 0x4, 1,
+  { "vfmadd132ps", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomequd", 3, 0xee, 0x4, 1,
+  { "vfmadd132ps", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomequq", 3, 0xef, 0x4, 1,
+  { "vfmadd132ps", 4, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomequw", 3, 0xed, 0x4, 1,
+  { "vfmadd132ps", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomeqw", 3, 0xcd, 0x4, 1,
+  { "vfmadd132ps", 3, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomneqb", 3, 0xcc, 0x5, 1,
+  { "vfmadd213pd", 3, 0x66a8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51013,104 +58815,113 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomneqd", 3, 0xce, 0x5, 1,
+  { "vfmadd213pd", 3, 0x66a8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomneqq", 3, 0xcf, 0x5, 1,
+  { "vfmadd213pd", 3, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomnequb", 3, 0xec, 0x5, 1,
+  { "vfmadd213pd", 4, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomnequd", 3, 0xee, 0x5, 1,
+  { "vfmadd213pd", 3, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomnequq", 3, 0xef, 0x5, 1,
+  { "vfmadd213pd", 3, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomnequw", 3, 0xed, 0x5, 1,
+  { "vfmadd213ps", 3, 0x66a8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51121,104 +58932,113 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomneqw", 3, 0xcd, 0x5, 1,
+  { "vfmadd213ps", 3, 0x66a8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomfalseb", 3, 0xcc, 0x6, 1,
+  { "vfmadd213ps", 3, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomfalsed", 3, 0xce, 0x6, 1,
+  { "vfmadd213ps", 4, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomfalseq", 3, 0xcf, 0x6, 1,
+  { "vfmadd213ps", 3, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomfalseub", 3, 0xec, 0x6, 1,
+  { "vfmadd213ps", 3, 0x66A8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomfalseud", 3, 0xee, 0x6, 1,
+  { "vfmadd231pd", 3, 0x66b8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51229,104 +59049,113 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomfalseuq", 3, 0xef, 0x6, 1,
+  { "vfmadd231pd", 3, 0x66b8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomfalseuw", 3, 0xed, 0x6, 1,
+  { "vfmadd231pd", 3, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomfalsew", 3, 0xcd, 0x6, 1,
+  { "vfmadd231pd", 4, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomtrueb", 3, 0xcc, 0x7, 1,
+  { "vfmadd231pd", 3, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomtrued", 3, 0xce, 0x7, 1,
+  { "vfmadd231pd", 3, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomtrueq", 3, 0xcf, 0x7, 1,
+  { "vfmadd231ps", 3, 0x66b8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51337,481 +59166,475 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomtrueub", 3, 0xec, 0x7, 1,
+  { "vfmadd231ps", 3, 0x66b8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomtrueud", 3, 0xee, 0x7, 1,
+  { "vfmadd231ps", 3, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomtrueuq", 3, 0xef, 0x7, 1,
+  { "vfmadd231ps", 4, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomtrueuw", 3, 0xed, 0x7, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcomtruew", 3, 0xcd, 0x7, 1,
+  { "vfmadd231ps", 3, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddbd", 2, 0xc2, None, 1,
+  { "vfmadd231ps", 3, 0x66B8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddbq", 2, 0xc3, None, 1,
+  { "vfmadd132sd", 3, 0x6699, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddbw", 2, 0xc1, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphadddq", 2, 0xcb, None, 1,
+  { "vfmadd132sd", 3, 0x6699, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddubd", 2, 0xd2, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddubq", 2, 0xd3, None, 1,
+  { "vfmadd132sd", 4, 0x6699, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddubw", 2, 0xd1, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddudq", 2, 0xdb, None, 1,
+  { "vfmadd132ss", 3, 0x6699, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphadduwd", 2, 0xd6, None, 1,
+  { "vfmadd132ss", 3, 0x6699, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphadduwq", 2, 0xd7, None, 1,
+  { "vfmadd132ss", 4, 0x6699, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddwd", 2, 0xc6, None, 1,
+  { "vfmadd213sd", 3, 0x66a9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphaddwq", 2, 0xc7, None, 1,
+  { "vfmadd213sd", 3, 0x66A9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphsubbw", 2, 0xe1, None, 1,
+  { "vfmadd213sd", 4, 0x66A9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphsubdq", 2, 0xe3, None, 1,
+  { "vfmadd213ss", 3, 0x66a9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vphsubwd", 2, 0xe2, None, 1,
+  { "vfmadd213ss", 3, 0x66A9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacsdd", 4, 0x9e, None, 1,
+  { "vfmadd213ss", 4, 0x66A9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacsdqh", 4, 0x9f, None, 1,
+  { "vfmadd231sd", 3, 0x66b9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacsdql", 4, 0x97, None, 1,
+  { "vfmadd231sd", 3, 0x66B9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacssdd", 4, 0x8e, None, 1,
+  { "vfmadd231sd", 4, 0x66B9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacssdqh", 4, 0x8f, None, 1,
+  { "vfmadd231ss", 3, 0x66b9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacssdql", 4, 0x87, None, 1,
+  { "vfmadd231ss", 3, 0x66B9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacsswd", 4, 0x86, None, 1,
+  { "vfmadd231ss", 4, 0x66B9, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacssww", 4, 0x85, None, 1,
+  { "vfmaddsub132pd", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51820,119 +59643,113 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacswd", 4, 0x96, None, 1,
+  { "vfmaddsub132pd", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmacsww", 4, 0x95, None, 1,
+  { "vfmaddsub132pd", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmadcsswd", 4, 0xa6, None, 1,
+  { "vfmaddsub132pd", 4, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmadcswd", 4, 0xb6, None, 1,
+  { "vfmaddsub132pd", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpperm", 4, 0xa3, None, 1,
+  { "vfmaddsub132pd", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpperm", 4, 0xa3, None, 1,
+  { "vfmaddsub132ps", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -51942,90 +59759,114 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotb", 3, 0x90, None, 1,
+  { "vfmaddsub132ps", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotb", 3, 0x90, None, 1,
+  { "vfmaddsub132ps", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotb", 3, 0xc0, None, 1,
+  { "vfmaddsub132ps", 4, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotd", 3, 0x92, None, 1,
+  { "vfmaddsub132ps", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotd", 3, 0x92, None, 1,
+  { "vfmaddsub132ps", 3, 0x6696, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsub213pd", 3, 0x66a6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52036,194 +59877,230 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotd", 3, 0xc2, None, 1,
+  { "vfmaddsub213pd", 3, 0x66a6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsub213pd", 3, 0x66A6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotq", 3, 0x93, None, 1,
+  { "vfmaddsub213pd", 4, 0x66A6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotq", 3, 0x93, None, 1,
+  { "vfmaddsub213pd", 3, 0x66A6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotq", 3, 0xc3, None, 1,
+  { "vfmaddsub213pd", 3, 0x66A6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotw", 3, 0x91, None, 1,
+  { "vfmaddsub213ps", 3, 0x66a6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotw", 3, 0x91, None, 1,
+  { "vfmaddsub213ps", 3, 0x66a6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprotw", 3, 0xc1, None, 1,
+  { "vfmaddsub213ps", 3, 0x66A6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshab", 3, 0x98, None, 1,
+  { "vfmaddsub213ps", 4, 0x66A6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshab", 3, 0x98, None, 1,
+  { "vfmaddsub213ps", 3, 0x66A6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshad", 3, 0x9a, None, 1,
+  { "vfmaddsub213ps", 3, 0x66A6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshad", 3, 0x9a, None, 1,
+  { "vfmaddsub231pd", 3, 0x66b6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52234,104 +60111,113 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshaq", 3, 0x9b, None, 1,
+  { "vfmaddsub231pd", 3, 0x66b6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshaq", 3, 0x9b, None, 1,
+  { "vfmaddsub231pd", 3, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshaw", 3, 0x99, None, 1,
+  { "vfmaddsub231pd", 4, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshaw", 3, 0x99, None, 1,
+  { "vfmaddsub231pd", 3, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshlb", 3, 0x94, None, 1,
+  { "vfmaddsub231pd", 3, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshlb", 3, 0x94, None, 1,
+  { "vfmaddsub231ps", 3, 0x66b6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52342,104 +60228,113 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshld", 3, 0x96, None, 1,
+  { "vfmaddsub231ps", 3, 0x66b6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshld", 3, 0x96, None, 1,
+  { "vfmaddsub231ps", 3, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshlq", 3, 0x97, None, 1,
+  { "vfmaddsub231ps", 4, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshlq", 3, 0x97, None, 1,
+  { "vfmaddsub231ps", 3, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshlw", 3, 0x95, None, 1,
+  { "vfmaddsub231ps", 3, 0x66B6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpshlw", 3, 0x95, None, 1,
+  { "vfmsubadd132pd", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -52450,2885 +60345,24245 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "llwpcb", 1, 0x12, 0x0, 1,
+  { "vfmsubadd132pd", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "llwpcb", 1, 0x12, 0x0, 1,
+  { "vfmsubadd132pd", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "slwpcb", 1, 0x12, 0x1, 1,
+  { "vfmsubadd132pd", 4, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "slwpcb", 1, 0x12, 0x1, 1,
+  { "vfmsubadd132pd", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "lwpval", 3, 0x12, 0x1, 1,
+  { "vfmsubadd132pd", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 3, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "lwpval", 3, 0x12, 0x1, 1,
+  { "vfmsubadd132ps", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 3, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "lwpins", 3, 0x12, 0x0, 1,
+  { "vfmsubadd132ps", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 3, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd132ps", 3, 0x6697, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "lwpins", 3, 0x12, 0x0, 1,
+  { "vfmsubadd132ps", 4, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 1, 3, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd132ps", 3, 0x6697, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "andn", 3, 0xf2, None, 1,
+  { "vfmsubadd132ps", 3, 0x6697, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "bextr", 3, 0xf7, None, 1,
+  { "vfmsubadd213pd", 3, 0x66a7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "bextr", 3, 0x10, None, 1,
+  { "vfmsubadd213pd", 3, 0x66a7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blsi", 2, 0xf3, 0x3, 1,
+  { "vfmsubadd213pd", 3, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blsmsk", 2, 0xf3, 0x2, 1,
+  { "vfmsubadd213pd", 4, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blsr", 2, 0xf3, 0x1, 1,
+  { "vfmsubadd213pd", 3, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "tzcnt", 2, 0xf30fbc, None, 2,
+  { "vfmsubadd213pd", 3, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blcfill", 2, 0x01, 0x1, 1,
+  { "vfmsubadd213ps", 3, 0x66a7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blci", 2, 0x02, 0x6, 1,
+  { "vfmsubadd213ps", 3, 0x66a7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blcic", 2, 0x01, 0x5, 1,
+  { "vfmsubadd213ps", 3, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blcmsk", 2, 0x02, 0x1, 1,
+  { "vfmsubadd213ps", 4, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blcs", 2, 0x01, 0x3, 1,
+  { "vfmsubadd213ps", 3, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blsfill", 2, 0x01, 0x2, 1,
+  { "vfmsubadd213ps", 3, 0x66A7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "blsic", 2, 0x01, 0x6, 1,
+  { "vfmsubadd231pd", 3, 0x66b7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "t1mskc", 2, 0x01, 0x7, 1,
+  { "vfmsubadd231pd", 3, 0x66b7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "tzmsk", 2, 0x01, 0x4, 1,
+  { "vfmsubadd231pd", 3, 0x66B7, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "prefetch", 1, 0xf0d, 0x0, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vfmsubadd231pd", 4, 0x66B7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd231pd", 3, 0x66B7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
-  { "prefetchw", 1, 0xf0d, 0x1, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd231pd", 3, 0x66B7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
-  { "femms", 0, 0xf0e, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd231ps", 3, 0x66b7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd231ps", 3, 0x66b7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd231ps", 3, 0x66B7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd231ps", 4, 0x66B7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd231ps", 3, 0x66B7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubadd231ps", 3, 0x66B7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132pd", 3, 0x669a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132pd", 3, 0x669a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132pd", 3, 0x669A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132pd", 4, 0x669A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132pd", 3, 0x669A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132pd", 3, 0x669A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132ps", 3, 0x669a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132ps", 3, 0x669a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132ps", 3, 0x669A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132ps", 4, 0x669A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132ps", 3, 0x669A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132ps", 3, 0x669A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213pd", 3, 0x66aa, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213pd", 3, 0x66aa, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213pd", 3, 0x66AA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213pd", 4, 0x66AA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213pd", 3, 0x66AA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213pd", 3, 0x66AA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213ps", 3, 0x66aa, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213ps", 3, 0x66aa, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213ps", 3, 0x66AA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213ps", 4, 0x66AA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213ps", 3, 0x66AA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213ps", 3, 0x66AA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231pd", 3, 0x66ba, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231pd", 3, 0x66ba, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231pd", 3, 0x66BA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231pd", 4, 0x66BA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231pd", 3, 0x66BA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231pd", 3, 0x66BA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231ps", 3, 0x66ba, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231ps", 3, 0x66ba, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231ps", 3, 0x66BA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231ps", 4, 0x66BA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231ps", 3, 0x66BA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231ps", 3, 0x66BA, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132sd", 3, 0x669b, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132sd", 3, 0x669B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132sd", 4, 0x669B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132ss", 3, 0x669b, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132ss", 3, 0x669B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub132ss", 4, 0x669B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213sd", 3, 0x66ab, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213sd", 3, 0x66AB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213sd", 4, 0x66AB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213ss", 3, 0x66ab, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213ss", 3, 0x66AB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub213ss", 4, 0x66AB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231sd", 3, 0x66bb, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231sd", 3, 0x66BB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231sd", 4, 0x66BB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231ss", 3, 0x66bb, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231ss", 3, 0x66BB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsub231ss", 4, 0x66BB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132pd", 3, 0x669c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132pd", 3, 0x669c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132pd", 3, 0x669C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132pd", 4, 0x669C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132pd", 3, 0x669C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132pd", 3, 0x669C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132ps", 3, 0x669c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132ps", 3, 0x669c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132ps", 3, 0x669C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132ps", 4, 0x669C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132ps", 3, 0x669C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132ps", 3, 0x669C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213pd", 3, 0x66ac, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213pd", 3, 0x66ac, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213pd", 3, 0x66AC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213pd", 4, 0x66AC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213pd", 3, 0x66AC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213pd", 3, 0x66AC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213ps", 3, 0x66ac, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213ps", 3, 0x66ac, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213ps", 3, 0x66AC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213ps", 4, 0x66AC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213ps", 3, 0x66AC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213ps", 3, 0x66AC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231pd", 3, 0x66bc, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231pd", 3, 0x66bc, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231pd", 3, 0x66BC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231pd", 4, 0x66BC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231pd", 3, 0x66BC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231pd", 3, 0x66BC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231ps", 3, 0x66bc, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231ps", 3, 0x66bc, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231ps", 3, 0x66BC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231ps", 4, 0x66BC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231ps", 3, 0x66BC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231ps", 3, 0x66BC, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132sd", 3, 0x669d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132sd", 3, 0x669D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132sd", 4, 0x669D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132ss", 3, 0x669d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132ss", 3, 0x669D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd132ss", 4, 0x669D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213sd", 3, 0x66ad, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213sd", 3, 0x66AD, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213sd", 4, 0x66AD, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213ss", 3, 0x66ad, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213ss", 3, 0x66AD, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd213ss", 4, 0x66AD, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231sd", 3, 0x66bd, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231sd", 3, 0x66BD, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231sd", 4, 0x66BD, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231ss", 3, 0x66bd, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231ss", 3, 0x66BD, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmadd231ss", 4, 0x66BD, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132pd", 3, 0x669e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132pd", 3, 0x669e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132pd", 3, 0x669E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132pd", 4, 0x669E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132pd", 3, 0x669E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132pd", 3, 0x669E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132ps", 3, 0x669e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132ps", 3, 0x669e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132ps", 3, 0x669E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132ps", 4, 0x669E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132ps", 3, 0x669E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132ps", 3, 0x669E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213pd", 3, 0x66ae, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213pd", 3, 0x66ae, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213pd", 3, 0x66AE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213pd", 4, 0x66AE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213pd", 3, 0x66AE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213pd", 3, 0x66AE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213ps", 3, 0x66ae, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213ps", 3, 0x66ae, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213ps", 3, 0x66AE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213ps", 4, 0x66AE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213ps", 3, 0x66AE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213ps", 3, 0x66AE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231pd", 3, 0x66be, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231pd", 3, 0x66be, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231pd", 3, 0x66BE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231pd", 4, 0x66BE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231pd", 3, 0x66BE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231pd", 3, 0x66BE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231ps", 3, 0x66be, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231ps", 3, 0x66be, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231ps", 3, 0x66BE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231ps", 4, 0x66BE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231ps", 3, 0x66BE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231ps", 3, 0x66BE, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132sd", 3, 0x669f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132sd", 3, 0x669F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132sd", 4, 0x669F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132ss", 3, 0x669f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132ss", 3, 0x669F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub132ss", 4, 0x669F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213sd", 3, 0x66af, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213sd", 3, 0x66AF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213sd", 4, 0x66AF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213ss", 3, 0x66af, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213ss", 3, 0x66AF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub213ss", 4, 0x66AF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231sd", 3, 0x66bf, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231sd", 3, 0x66BF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231sd", 4, 0x66BF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231ss", 3, 0x66bf, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231ss", 3, 0x66BF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsub231ss", 4, 0x66BF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xacquire", 0, 0xf2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xrelease", 0, 0xf3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xabort", 1, 0xc6f8, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xbegin", 1, 0xc7f8, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xend", 0, 0xf01d5, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xtest", 0, 0xf01d6, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "bzhi", 3, 0xf5, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "mulx", 3, 0xf2f6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pdep", 3, 0xf2f5, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pext", 3, 0xf3f5, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "rorx", 3, 0xf2f0, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sarx", 3, 0xf3f7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "shlx", 3, 0x66f7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "shrx", 3, 0xf2f7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddpd", 4, 0x6669, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddpd", 4, 0x6669, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddpd", 4, 0x6669, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddpd", 4, 0x6669, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddps", 4, 0x6668, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddps", 4, 0x6668, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddps", 4, 0x6668, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddps", 4, 0x6668, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsd", 4, 0x666b, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsd", 4, 0x666b, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddss", 4, 0x666a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddss", 4, 0x666a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsubpd", 4, 0x665d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsubpd", 4, 0x665d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsubpd", 4, 0x665d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsubpd", 4, 0x665d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsubps", 4, 0x665c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsubps", 4, 0x665c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsubps", 4, 0x665c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmaddsubps", 4, 0x665c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubaddpd", 4, 0x665f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubaddpd", 4, 0x665f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubaddpd", 4, 0x665f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubaddpd", 4, 0x665f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubaddps", 4, 0x665e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubaddps", 4, 0x665e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubaddps", 4, 0x665e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubaddps", 4, 0x665e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubpd", 4, 0x666d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubpd", 4, 0x666d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubpd", 4, 0x666d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubpd", 4, 0x666d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubps", 4, 0x666c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubps", 4, 0x666c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubps", 4, 0x666c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubps", 4, 0x666c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubsd", 4, 0x666f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubsd", 4, 0x666f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubss", 4, 0x666e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfmsubss", 4, 0x666e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddpd", 4, 0x6679, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddpd", 4, 0x6679, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddpd", 4, 0x6679, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddpd", 4, 0x6679, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddps", 4, 0x6678, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddps", 4, 0x6678, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddps", 4, 0x6678, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddps", 4, 0x6678, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddsd", 4, 0x667b, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddsd", 4, 0x667b, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddss", 4, 0x667a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmaddss", 4, 0x667a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubpd", 4, 0x667d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubpd", 4, 0x667d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubpd", 4, 0x667d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubpd", 4, 0x667d, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubps", 4, 0x667c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubps", 4, 0x667c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubps", 4, 0x667c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubps", 4, 0x667c, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubsd", 4, 0x667f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubsd", 4, 0x667f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubss", 4, 0x667e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfnmsubss", 4, 0x667e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfrczpd", 2, 0x81, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfrczpd", 2, 0x81, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfrczps", 2, 0x80, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfrczps", 2, 0x80, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfrczsd", 2, 0x83, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfrczss", 2, 0x82, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmov", 4, 0xa2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmov", 4, 0xa2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmov", 4, 0xa2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmov", 4, 0xa2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomb", 4, 0xcc, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomd", 4, 0xce, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomq", 4, 0xcf, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomub", 4, 0xec, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomud", 4, 0xee, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomuq", 4, 0xef, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomuw", 4, 0xed, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomw", 4, 0xcd, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermil2pd", 5, 0x6649, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermil2pd", 5, 0x6649, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermil2pd", 5, 0x6649, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermil2pd", 5, 0x6649, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermil2ps", 5, 0x6648, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermil2ps", 5, 0x6648, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermil2ps", 5, 0x6648, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermil2ps", 5, 0x6648, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomltb", 3, 0xcc, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomltd", 3, 0xce, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomltq", 3, 0xcf, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomltub", 3, 0xec, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomltud", 3, 0xee, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomltuq", 3, 0xef, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomltuw", 3, 0xed, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomltw", 3, 0xcd, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomleb", 3, 0xcc, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomled", 3, 0xce, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomleq", 3, 0xcf, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomleub", 3, 0xec, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomleud", 3, 0xee, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomleuq", 3, 0xef, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomleuw", 3, 0xed, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomlew", 3, 0xcd, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgtb", 3, 0xcc, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgtd", 3, 0xce, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgtq", 3, 0xcf, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgtub", 3, 0xec, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgtud", 3, 0xee, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgtuq", 3, 0xef, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgtuw", 3, 0xed, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgtw", 3, 0xcd, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgeb", 3, 0xcc, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomged", 3, 0xce, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgeq", 3, 0xcf, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgeub", 3, 0xec, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgeud", 3, 0xee, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgeuq", 3, 0xef, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgeuw", 3, 0xed, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomgew", 3, 0xcd, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomeqb", 3, 0xcc, 0x4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomeqd", 3, 0xce, 0x4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomeqq", 3, 0xcf, 0x4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomequb", 3, 0xec, 0x4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomequd", 3, 0xee, 0x4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomequq", 3, 0xef, 0x4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomequw", 3, 0xed, 0x4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomeqw", 3, 0xcd, 0x4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomneqb", 3, 0xcc, 0x5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomneqd", 3, 0xce, 0x5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomneqq", 3, 0xcf, 0x5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomnequb", 3, 0xec, 0x5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomnequd", 3, 0xee, 0x5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomnequq", 3, 0xef, 0x5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomnequw", 3, 0xed, 0x5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomneqw", 3, 0xcd, 0x5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomfalseb", 3, 0xcc, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomfalsed", 3, 0xce, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomfalseq", 3, 0xcf, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomfalseub", 3, 0xec, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomfalseud", 3, 0xee, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomfalseuq", 3, 0xef, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomfalseuw", 3, 0xed, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomfalsew", 3, 0xcd, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomtrueb", 3, 0xcc, 0x7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomtrued", 3, 0xce, 0x7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomtrueq", 3, 0xcf, 0x7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomtrueub", 3, 0xec, 0x7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomtrueud", 3, 0xee, 0x7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomtrueuq", 3, 0xef, 0x7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomtrueuw", 3, 0xed, 0x7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcomtruew", 3, 0xcd, 0x7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphaddbd", 2, 0xc2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphaddbq", 2, 0xc3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphaddbw", 2, 0xc1, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphadddq", 2, 0xcb, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphaddubd", 2, 0xd2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphaddubq", 2, 0xd3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphaddubw", 2, 0xd1, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphaddudq", 2, 0xdb, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphadduwd", 2, 0xd6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphadduwq", 2, 0xd7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphaddwd", 2, 0xc6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphaddwq", 2, 0xc7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphsubbw", 2, 0xe1, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphsubdq", 2, 0xe3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vphsubwd", 2, 0xe2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacsdd", 4, 0x9e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacsdqh", 4, 0x9f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacsdql", 4, 0x97, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacssdd", 4, 0x8e, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacssdqh", 4, 0x8f, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacssdql", 4, 0x87, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacsswd", 4, 0x86, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacssww", 4, 0x85, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacswd", 4, 0x96, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmacsww", 4, 0x95, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmadcsswd", 4, 0xa6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmadcswd", 4, 0xb6, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpperm", 4, 0xa3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpperm", 4, 0xa3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotb", 3, 0x90, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotb", 3, 0x90, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotb", 3, 0xc0, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotd", 3, 0x92, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotd", 3, 0x92, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotd", 3, 0xc2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotq", 3, 0x93, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotq", 3, 0x93, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotq", 3, 0xc3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotw", 3, 0x91, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotw", 3, 0x91, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprotw", 3, 0xc1, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshab", 3, 0x98, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshab", 3, 0x98, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshad", 3, 0x9a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshad", 3, 0x9a, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshaq", 3, 0x9b, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshaq", 3, 0x9b, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshaw", 3, 0x99, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshaw", 3, 0x99, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshlb", 3, 0x94, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshlb", 3, 0x94, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshld", 3, 0x96, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshld", 3, 0x96, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshlq", 3, 0x97, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshlq", 3, 0x97, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshlw", 3, 0x95, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpshlw", 3, 0x95, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "llwpcb", 1, 0x12, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "llwpcb", 1, 0x12, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "slwpcb", 1, 0x12, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "slwpcb", 1, 0x12, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "lwpval", 3, 0x12, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 3, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "lwpval", 3, 0x12, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 3, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "lwpins", 3, 0x12, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 3, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "lwpins", 3, 0x12, 0x0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 1, 3, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "andn", 3, 0xf2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "bextr", 3, 0xf7, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "bextr", 3, 0x10, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+	  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blsi", 2, 0xf3, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blsmsk", 2, 0xf3, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blsr", 2, 0xf3, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "tzcnt", 2, 0xf30fbc, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blcfill", 2, 0x01, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blci", 2, 0x02, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blcic", 2, 0x01, 0x5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blcmsk", 2, 0x02, 0x1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blcs", 2, 0x01, 0x3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blsfill", 2, 0x01, 0x2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "blsic", 2, 0x01, 0x6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "t1mskc", 2, 0x01, 0x7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "tzmsk", 2, 0x01, 0x4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 3, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "prefetch", 1, 0xf0d, 0x0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
+  { "prefetchw", 1, 0xf0d, 0x1, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
+  { "femms", 0, 0xf0e, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pavgusb", 2, 0xf0f, 0xbf, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pf2id", 2, 0xf0f, 0x1d, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pf2iw", 2, 0xf0f, 0x1c, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfacc", 2, 0xf0f, 0xae, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfadd", 2, 0xf0f, 0x9e, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfcmpeq", 2, 0xf0f, 0xb0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfcmpge", 2, 0xf0f, 0x90, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfcmpgt", 2, 0xf0f, 0xa0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfmax", 2, 0xf0f, 0xa4, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfmin", 2, 0xf0f, 0x94, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfmul", 2, 0xf0f, 0xb4, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfnacc", 2, 0xf0f, 0x8a, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfpnacc", 2, 0xf0f, 0x8e, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfrcp", 2, 0xf0f, 0x96, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfrcpit1", 2, 0xf0f, 0xa6, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfrcpit2", 2, 0xf0f, 0xb6, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfrsqit1", 2, 0xf0f, 0xa7, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfrsqrt", 2, 0xf0f, 0x97, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfsub", 2, 0xf0f, 0x9a, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pfsubr", 2, 0xf0f, 0xaa, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pi2fd", 2, 0xf0f, 0xd, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pi2fw", 2, 0xf0f, 0xc, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pmulhrw", 2, 0xf0f, 0xb7, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "pswapd", 2, 0xf0f, 0xbb, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "syscall", 0, 0xf05, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "syscall", 0, 0xf05, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sysret", 0, 0xf07, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sysret", 0, 0xf07, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "swapgs", 0, 0xf01, 0xf8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "rdtscp", 0, 0xf01, 0xf9, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "clgi", 0, 0xf01, 0xdd, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "invlpga", 0, 0xf01, 0xdf, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "invlpga", 2, 0xf01, 0xdf, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "skinit", 0, 0xf01, 0xde, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "skinit", 1, 0xf01, 0xde, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "stgi", 0, 0xf01, 0xdc, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmload", 0, 0xf01, 0xda, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmload", 1, 0xf01, 0xda, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmmcall", 0, 0xf01, 0xd9, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmrun", 0, 0xf01, 0xd8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmrun", 1, 0xf01, 0xd8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmsave", 0, 0xf01, 0xdb, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmsave", 1, 0xf01, 0xdb, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "movntsd", 2, 0xf20f2b, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "movntss", 2, 0xf30f2b, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "extrq", 3, 0x660f78, 0x0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "extrq", 2, 0x660f79, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "insertq", 2, 0xf20f79, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "insertq", 4, 0xf20f78, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "popcnt", 2, 0xf30fb8, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "lzcnt", 2, 0xf30fbd, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xstore-rng", 0, 0xfa7, 0xc0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcrypt-ecb", 0, 0xf30fa7, 0xc8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcrypt-cbc", 0, 0xf30fa7, 0xd0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcrypt-ctr", 0, 0xf30fa7, 0xd8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcrypt-cfb", 0, 0xf30fa7, 0xe0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcrypt-ofb", 0, 0xf30fa7, 0xe8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "montmul", 0, 0xf30fa6, 0xc0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xsha1", 0, 0xf30fa6, 0xc8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xsha256", 0, 0xf30fa6, 0xd0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xstorerng", 0, 0xfa7, 0xc0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcryptecb", 0, 0xf30fa7, 0xc8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcryptcbc", 0, 0xf30fa7, 0xd0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcryptctr", 0, 0xf30fa7, 0xd8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcryptcfb", 0, 0xf30fa7, 0xe0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xcryptofb", 0, 0xf30fa7, 0xe8, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "xstore", 0, 0xfa7, 0xc0, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "adcx", 2, 0x660f38f6, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "adox", 2, 0xf30f38f6, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "rdseed", 1, 0xfc7, 0x7, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "clac", 0, 0xf01, 0xca, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "stac", 0, 0xf01, 0xcb, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "bnd", 0, 0xf2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "bndmk", 2, 0xf30f1b, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
+  { "bndmov", 2, 0x660f1a, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
+  { "bndmov", 2, 0x660f1b, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0 } } } },
+  { "bndcl", 2, 0xf30f1a, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
+  { "bndcl", 2, 0xf30f1a, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
+  { "bndcu", 2, 0xf20f1a, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
+  { "bndcu", 2, 0xf20f1a, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
+  { "bndcn", 2, 0xf20f1b, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
+  { "bndcn", 2, 0xf20f1b, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
+  { "bndstx", 2, 0x0f1b, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
+  { "bndldx", 2, 0x0f1a, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
+  { "sha1rnds4", 3, 0xf3acc, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sha1nexte", 2, 0xf38c8, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sha1msg1", 2, 0xf38c9, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sha1msg2", 2, 0xf38ca, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sha256rnds2", 3, 0xf38cb, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sha256rnds2", 2, 0xf38cb, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sha256msg1", 2, 0xf38cc, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "sha256msg2", 2, 0xf38cd, None, 3,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kandnw", 3, 0x42, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kandw", 3, 0x41, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "korw", 3, 0x45, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kxnorw", 3, 0x46, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kxorw", 3, 0x47, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kmovw", 2, 0x90, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kmovw", 2, 0x91, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "kmovw", 2, 0x92, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kmovw", 2, 0x93, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "knotw", 2, 0x44, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kortestw", 2, 0x98, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kshiftlw", 3, 0x6632, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kshiftrw", 3, 0x6630, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kunpckbw", 3, 0x664B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "valignd", 4, 0x6603, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "valignd", 4, 0x6603, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "valignd", 4, 0x6603, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpternlogd", 4, 0x6625, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpternlogd", 4, 0x6625, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpternlogd", 4, 0x6625, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "valignq", 4, 0x6603, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "valignq", 4, 0x6603, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "valignq", 4, 0x6603, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpternlogq", 4, 0x6625, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpternlogq", 4, 0x6625, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpternlogq", 4, 0x6625, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vblendmpd", 3, 0x6665, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vblendmpd", 3, 0x6665, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vblendmpd", 3, 0x6665, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpblendmq", 3, 0x6664, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpblendmq", 3, 0x6664, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpblendmq", 3, 0x6664, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2pd", 3, 0x6677, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2pd", 3, 0x6677, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2pd", 3, 0x6677, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2q", 3, 0x6676, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2q", 3, 0x6676, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2q", 3, 0x6676, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2pd", 3, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2pd", 3, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2pd", 3, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2q", 3, 0x667E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2q", 3, 0x667E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2q", 3, 0x667E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmaxsq", 3, 0x663D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmaxsq", 3, 0x663D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmaxsq", 3, 0x663D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmaxuq", 3, 0x663F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmaxuq", 3, 0x663F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmaxuq", 3, 0x663F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpminsq", 3, 0x6639, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpminsq", 3, 0x6639, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpminsq", 3, 0x6639, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpminuq", 3, 0x663B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpminuq", 3, 0x663B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpminuq", 3, 0x663B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprolvq", 3, 0x6615, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprolvq", 3, 0x6615, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprolvq", 3, 0x6615, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprorvq", 3, 0x6614, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprorvq", 3, 0x6614, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprorvq", 3, 0x6614, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsravq", 3, 0x6646, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsravq", 3, 0x6646, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsravq", 3, 0x6646, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vblendmps", 3, 0x6665, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vblendmps", 3, 0x6665, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vblendmps", 3, 0x6665, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpblendmd", 3, 0x6664, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpblendmd", 3, 0x6664, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpblendmd", 3, 0x6664, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2d", 3, 0x6676, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2d", 3, 0x6676, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2d", 3, 0x6676, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2ps", 3, 0x6677, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2ps", 3, 0x6677, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2ps", 3, 0x6677, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2d", 3, 0x667E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2d", 3, 0x667E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2d", 3, 0x667E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2ps", 3, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2ps", 3, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2ps", 3, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprolvd", 3, 0x6615, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprolvd", 3, 0x6615, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprolvd", 3, 0x6615, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprorvd", 3, 0x6614, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprorvd", 3, 0x6614, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vprorvd", 3, 0x6614, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcastf32x4", 2, 0x661A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcastf32x4", 2, 0x661A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcasti32x4", 2, 0x665A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcasti32x4", 2, 0x665A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcastf64x4", 2, 0x661B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcasti64x4", 2, 0x665B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqpd", 3, 0x66C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqpd", 4, 0x66C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqpd", 3, 0x66C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqpd", 3, 0x66C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqpd", 3, 0x66C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqpd", 4, 0x66C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqpd", 3, 0x66C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqpd", 3, 0x66C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_ospd", 3, 0x66C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_ospd", 4, 0x66C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_ospd", 3, 0x66C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_ospd", 3, 0x66C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_ospd", 3, 0x66C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_ospd", 4, 0x66C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_ospd", 3, 0x66C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_ospd", 3, 0x66C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_ospd", 3, 0x66C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_ospd", 4, 0x66C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_ospd", 3, 0x66C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_ospd", 3, 0x66C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_ospd", 3, 0x66C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_ospd", 4, 0x66C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_ospd", 3, 0x66C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_ospd", 3, 0x66C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqpd", 3, 0x66C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqpd", 4, 0x66C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqpd", 3, 0x66C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqpd", 3, 0x66C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_uspd", 3, 0x66C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_uspd", 4, 0x66C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_uspd", 3, 0x66C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_uspd", 3, 0x66C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_uspd", 3, 0x66C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_uspd", 4, 0x66C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_uspd", 3, 0x66C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_uspd", 3, 0x66C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_uspd", 3, 0x66C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_uspd", 4, 0x66C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_uspd", 3, 0x66C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_uspd", 3, 0x66C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_uspd", 3, 0x66C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_uspd", 4, 0x66C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_uspd", 3, 0x66C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_uspd", 3, 0x66C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qpd", 3, 0x66C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qpd", 4, 0x66C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qpd", 3, 0x66C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qpd", 3, 0x66C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqpd", 3, 0x66C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqpd", 4, 0x66C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqpd", 3, 0x66C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqpd", 3, 0x66C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qpd", 3, 0x66C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qpd", 4, 0x66C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qpd", 3, 0x66C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qpd", 3, 0x66C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqps", 3, 0xC2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqps", 4, 0xC2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqps", 3, 0xC2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqps", 3, 0xC2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqps", 3, 0xC2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqps", 4, 0xC2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqps", 3, 0xC2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqps", 3, 0xC2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_osps", 3, 0xC2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_osps", 4, 0xC2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_osps", 3, 0xC2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_osps", 3, 0xC2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_osps", 3, 0xC2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_osps", 4, 0xC2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_osps", 3, 0xC2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_osps", 3, 0xC2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_osps", 3, 0xC2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_osps", 4, 0xC2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_osps", 3, 0xC2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_osps", 3, 0xC2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_osps", 3, 0xC2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_osps", 4, 0xC2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_osps", 3, 0xC2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_osps", 3, 0xC2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqps", 3, 0xC2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqps", 4, 0xC2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqps", 3, 0xC2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqps", 3, 0xC2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_usps", 3, 0xC2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_usps", 4, 0xC2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_usps", 3, 0xC2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_usps", 3, 0xC2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_usps", 3, 0xC2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_usps", 4, 0xC2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_usps", 3, 0xC2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_usps", 3, 0xC2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_usps", 3, 0xC2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_usps", 4, 0xC2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_usps", 3, 0xC2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_usps", 3, 0xC2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_usps", 3, 0xC2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_usps", 4, 0xC2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_usps", 3, 0xC2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_usps", 3, 0xC2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qps", 3, 0xC2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qps", 4, 0xC2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qps", 3, 0xC2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qps", 3, 0xC2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqps", 3, 0xC2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqps", 4, 0xC2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqps", 3, 0xC2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqps", 3, 0xC2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qps", 3, 0xC2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qps", 4, 0xC2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qps", 3, 0xC2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qps", 3, 0xC2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqsd", 3, 0xF2C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqsd", 4, 0xF2C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqsd", 3, 0xF2C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqsd", 4, 0xF2C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_ossd", 3, 0xF2C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_ossd", 4, 0xF2C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_ossd", 3, 0xF2C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_ossd", 4, 0xF2C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_ossd", 3, 0xF2C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_ossd", 4, 0xF2C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_ossd", 3, 0xF2C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_ossd", 4, 0xF2C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqsd", 3, 0xF2C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqsd", 4, 0xF2C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_ussd", 3, 0xF2C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_ussd", 4, 0xF2C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_ussd", 3, 0xF2C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_ussd", 4, 0xF2C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_ussd", 3, 0xF2C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_ussd", 4, 0xF2C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_ussd", 3, 0xF2C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_ussd", 4, 0xF2C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qsd", 3, 0xF2C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qsd", 4, 0xF2C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqsd", 3, 0xF2C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqsd", 4, 0xF2C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qsd", 3, 0xF2C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qsd", 4, 0xF2C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqss", 3, 0xF3C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpeq_oqss", 4, 0xF3C2, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqss", 3, 0xF3C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpfalse_oqss", 4, 0xF3C2, 11, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_osss", 3, 0xF3C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpge_osss", 4, 0xF3C2, 13, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_osss", 3, 0xF3C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpgt_osss", 4, 0xF3C2, 14, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_osss", 3, 0xF3C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmple_osss", 4, 0xF3C2, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_osss", 3, 0xF3C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmplt_osss", 4, 0xF3C2, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqss", 3, 0xF3C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpneq_uqss", 4, 0xF3C2, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_usss", 3, 0xF3C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnge_usss", 4, 0xF3C2, 9, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_usss", 3, 0xF3C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpngt_usss", 4, 0xF3C2, 10, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_usss", 3, 0xF3C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnle_usss", 4, 0xF3C2, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_usss", 3, 0xF3C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpnlt_usss", 4, 0xF3C2, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qss", 3, 0xF3C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpord_qss", 4, 0xF3C2, 7, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqss", 3, 0xF3C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmptrue_uqss", 4, 0xF3C2, 15, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qss", 3, 0xF3C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcmpunord_qss", 4, 0xF3C2, 3, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcompresspd", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vcompresspd", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcompresspd", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcompresspd", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcompresspd", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vcompresspd", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpcompressq", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpcompressq", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcompressq", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcompressq", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcompressq", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpcompressq", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterdq", 2, 0x66A0, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterdq", 2, 0x66A0, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterdq", 2, 0x66A0, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterqq", 2, 0x66A1, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterqq", 2, 0x66A1, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterqq", 2, 0x66A1, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterdpd", 2, 0x66A2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterdpd", 2, 0x66A2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterdpd", 2, 0x66A2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterqpd", 2, 0x66A3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterqpd", 2, 0x66A3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 2, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterqpd", 2, 0x66A3, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 3, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vcompressps", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vcompressps", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcompressps", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcompressps", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcompressps", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vcompressps", 2, 0x668A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpcompressd", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpcompressd", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcompressd", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcompressd", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcompressd", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpcompressd", 2, 0x668B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterdd", 2, 0x66A0, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterdd", 2, 0x66A0, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterdd", 2, 0x66A0, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterdps", 2, 0x66A2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterdps", 2, 0x66A2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterdps", 2, 0x66A2, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vcvtudq2pd", 2, 0xF37A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtudq2pd", 2, 0xF37A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtudq2pd", 2, 0xF37A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2udq", 2, 0x79, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2udq", 3, 0x79, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2udq", 2, 0x79, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtps2udq", 2, 0x79, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2udq", 2, 0x79, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2udq", 3, 0x79, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2udq", 2, 0x79, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtpd2udq", 2, 0x79, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtsd2usi", 2, 0xF279, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtsd2usi", 3, 0xF279, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtsd2usi", 2, 0xF279, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtsd2usi", 3, 0xF279, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtusi2sd", 3, 0xF27B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtusi2sd", 3, 0xF27B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtusi2sd", 4, 0xF27B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtusi2ss", 3, 0xF37B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtusi2ss", 4, 0xF37B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtusi2ss", 3, 0xF37B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtusi2ss", 4, 0xF37B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtss2usi", 2, 0xF379, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtss2usi", 3, 0xF379, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtss2usi", 2, 0xF379, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtss2usi", 3, 0xF379, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttpd2udq", 2, 0x78, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttpd2udq", 3, 0x78, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttpd2udq", 2, 0x78, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttpd2udq", 2, 0x78, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttps2udq", 2, 0x78, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttps2udq", 3, 0x78, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttps2udq", 2, 0x78, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttps2udq", 2, 0x78, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttsd2usi", 2, 0xF278, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttsd2usi", 3, 0xF278, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttsd2usi", 2, 0xF278, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttsd2usi", 3, 0xF278, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttss2usi", 2, 0xF378, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttss2usi", 3, 0xF378, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttss2usi", 2, 0xF378, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttss2usi", 3, 0xF378, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtudq2ps", 2, 0xF27A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtudq2ps", 3, 0xF27A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtudq2ps", 2, 0xF27A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtudq2ps", 2, 0xF27A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vexpandpd", 2, 0x6688, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vexpandpd", 2, 0x6688, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vexpandpd", 2, 0x6688, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vexpandpd", 2, 0x6688, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpexpandq", 2, 0x6689, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpexpandq", 2, 0x6689, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpexpandq", 2, 0x6689, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpexpandq", 2, 0x6689, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vexpandps", 2, 0x6688, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vexpandps", 2, 0x6688, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vexpandps", 2, 0x6688, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vexpandps", 2, 0x6688, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpexpandd", 2, 0x6689, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpexpandd", 2, 0x6689, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpexpandd", 2, 0x6689, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpexpandd", 2, 0x6689, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vextractf32x4", 3, 0x6619, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vextractf32x4", 3, 0x6619, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vextractf32x4", 3, 0x6619, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vextractf32x4", 3, 0x6619, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vextracti32x4", 3, 0x6639, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vextracti32x4", 3, 0x6639, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vextracti32x4", 3, 0x6639, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vextracti32x4", 3, 0x6639, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vextractf64x4", 3, 0x661B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vextractf64x4", 3, 0x661B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vextracti64x4", 3, 0x663B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vextracti64x4", 3, 0x663B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vfixupimmpd", 4, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmpd", 5, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmpd", 4, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmpd", 4, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmps", 4, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmps", 5, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmps", 4, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmps", 4, 0x6654, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmsd", 4, 0x6655, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmsd", 5, 0x6655, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantsd", 4, 0x6627, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantsd", 5, 0x6627, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscalesd", 4, 0x660B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscalesd", 5, 0x660B, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmss", 4, 0x6655, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfixupimmss", 5, 0x6655, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantss", 4, 0x6627, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantss", 5, 0x6627, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscaless", 4, 0x660A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscaless", 5, 0x660A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefpd", 3, 0x662C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefpd", 4, 0x662C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefpd", 3, 0x662C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefpd", 3, 0x662C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefps", 3, 0x662C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefps", 4, 0x662C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefps", 3, 0x662C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefps", 3, 0x662C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefsd", 3, 0x662D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefsd", 4, 0x662D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefss", 3, 0x662D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vscalefss", 4, 0x662D, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexppd", 2, 0x6642, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexppd", 3, 0x6642, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexppd", 2, 0x6642, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexppd", 2, 0x6642, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexpps", 2, 0x6642, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexpps", 3, 0x6642, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexpps", 2, 0x6642, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexpps", 2, 0x6642, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexpsd", 3, 0x6643, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexpsd", 4, 0x6643, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexpss", 3, 0x6643, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetexpss", 4, 0x6643, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantpd", 3, 0x6626, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantpd", 4, 0x6626, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantpd", 3, 0x6626, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantpd", 3, 0x6626, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscalepd", 3, 0x6609, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscalepd", 4, 0x6609, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscalepd", 3, 0x6609, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscalepd", 3, 0x6609, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantps", 3, 0x6626, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantps", 4, 0x6626, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantps", 3, 0x6626, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vgetmantps", 3, 0x6626, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscaleps", 3, 0x6608, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscaleps", 4, 0x6608, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscaleps", 3, 0x6608, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrndscaleps", 3, 0x6608, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vinsertf32x4", 4, 0x6618, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vinsertf32x4", 4, 0x6618, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vinserti32x4", 4, 0x6638, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vinserti32x4", 4, 0x6638, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vinsertf64x4", 4, 0x661A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vinserti64x4", 4, 0x663A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa64", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqa64", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa64", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa64", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa64", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqa64", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqa64", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa64", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa64", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa64", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa64", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa64", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqa32", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x666F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqa32", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqa32", 2, 0x667F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu32", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu32", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu32", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu32", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu32", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu32", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu32", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu32", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu32", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu32", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu32", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu32", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu64", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF36F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu64", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu64", 2, 0xF37F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vrcp14ps", 2, 0x664C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrcp14ps", 2, 0x664C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrcp14ps", 2, 0x664C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrsqrt14ps", 2, 0x664E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrsqrt14ps", 2, 0x664E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrsqrt14ps", 2, 0x664E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpabsq", 2, 0x661F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpabsq", 2, 0x661F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpabsq", 2, 0x661F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrcp14pd", 2, 0x664C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrcp14pd", 2, 0x664C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrcp14pd", 2, 0x664C, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrsqrt14pd", 2, 0x664E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrsqrt14pd", 2, 0x664E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vrsqrt14pd", 2, 0x664E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandd", 3, 0x66DB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandd", 3, 0x66DB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandd", 3, 0x66DB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandnd", 3, 0x66DF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandnd", 3, 0x66DF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandnd", 3, 0x66DF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpord", 3, 0x66EB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpord", 3, 0x66EB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpord", 3, 0x66EB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpxord", 3, 0x66EF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpxord", 3, 0x66EF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpxord", 3, 0x66EF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandnq", 3, 0x66DF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandnq", 3, 0x66DF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandnq", 3, 0x66DF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandq", 3, 0x66DB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandq", 3, 0x66DB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpandq", 3, 0x66DB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vporq", 3, 0x66EB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vporq", 3, 0x66EB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vporq", 3, 0x66EB, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpxorq", 3, 0x66EF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpxorq", 3, 0x66EF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpxorq", 3, 0x66EF, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpd", 4, 0x661F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpd", 4, 0x661F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpd", 4, 0x661F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpled", 3, 0x661F, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpled", 3, 0x661F, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpled", 3, 0x661F, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpltd", 3, 0x661F, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpltd", 3, 0x661F, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpltd", 3, 0x661F, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpneqd", 3, 0x661F, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpneqd", 3, 0x661F, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpneqd", 3, 0x661F, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnled", 3, 0x661F, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnled", 3, 0x661F, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnled", 3, 0x661F, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnltd", 3, 0x661F, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnltd", 3, 0x661F, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnltd", 3, 0x661F, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpud", 4, 0x661E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpud", 4, 0x661E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpud", 4, 0x661E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpequd", 3, 0x661E, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpequd", 3, 0x661E, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpequd", 3, 0x661E, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpleud", 3, 0x661E, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpleud", 3, 0x661E, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpleud", 3, 0x661E, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpltud", 3, 0x661E, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpltud", 3, 0x661E, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpltud", 3, 0x661E, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnequd", 3, 0x661E, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnequd", 3, 0x661E, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnequd", 3, 0x661E, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnleud", 3, 0x661E, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnleud", 3, 0x661E, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnleud", 3, 0x661E, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnltud", 3, 0x661E, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnltud", 3, 0x661E, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnltud", 3, 0x661E, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpq", 4, 0x661F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpq", 4, 0x661F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpq", 4, 0x661F, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpleq", 3, 0x661F, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpleq", 3, 0x661F, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpleq", 3, 0x661F, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpltq", 3, 0x661F, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpltq", 3, 0x661F, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpltq", 3, 0x661F, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpneqq", 3, 0x661F, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpneqq", 3, 0x661F, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpneqq", 3, 0x661F, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnleq", 3, 0x661F, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnleq", 3, 0x661F, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnleq", 3, 0x661F, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnltq", 3, 0x661F, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnltq", 3, 0x661F, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpnltq", 3, 0x661F, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpuq", 4, 0x661E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpuq", 4, 0x661E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpuq", 4, 0x661E, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpequq", 3, 0x661E, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpequq", 3, 0x661E, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpequq", 3, 0x661E, 0, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpleuq", 3, 0x661E, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pavgusb", 2, 0xf0f, 0xbf, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpleuq", 3, 0x661E, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pf2id", 2, 0xf0f, 0x1d, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpleuq", 3, 0x661E, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pf2iw", 2, 0xf0f, 0x1c, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  { "vpcmpltuq", 3, 0x661E, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfacc", 2, 0xf0f, 0xae, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpltuq", 3, 0x661E, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfadd", 2, 0xf0f, 0x9e, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpltuq", 3, 0x661E, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfcmpeq", 2, 0xf0f, 0xb0, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpnequq", 3, 0x661E, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfcmpge", 2, 0xf0f, 0x90, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpnequq", 3, 0x661E, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfcmpgt", 2, 0xf0f, 0xa0, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpnequq", 3, 0x661E, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfmax", 2, 0xf0f, 0xa4, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpnleuq", 3, 0x661E, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfmin", 2, 0xf0f, 0x94, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpnleuq", 3, 0x661E, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfmul", 2, 0xf0f, 0xb4, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpnleuq", 3, 0x661E, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfnacc", 2, 0xf0f, 0x8a, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  { "vpcmpnltuq", 3, 0x661E, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfpnacc", 2, 0xf0f, 0x8e, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  { "vpcmpnltuq", 3, 0x661E, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfrcp", 2, 0xf0f, 0x96, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpcmpnltuq", 3, 0x661E, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfrcpit1", 2, 0xf0f, 0xa6, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vptestmq", 3, 0x6627, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfrcpit2", 2, 0xf0f, 0xb6, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vptestmq", 3, 0x6627, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfrsqit1", 2, 0xf0f, 0xa7, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vptestmq", 3, 0x6627, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfrsqrt", 2, 0xf0f, 0x97, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpmovdb", 2, 0xF331, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfsub", 2, 0xf0f, 0x9a, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpmovdb", 2, 0xF331, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pfsubr", 2, 0xf0f, 0xaa, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovdb", 2, 0xF331, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pi2fd", 2, 0xf0f, 0xd, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  { "vpmovdb", 2, 0xF331, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pi2fw", 2, 0xf0f, 0xc, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  { "vpmovdb", 2, 0xF331, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pmulhrw", 2, 0xf0f, 0xb7, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovdb", 2, 0xF331, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsdb", 2, 0xF321, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "pswapd", 2, 0xf0f, 0xbb, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  { "vpmovsdb", 2, 0xF321, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "syscall", 0, 0xf05, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsdb", 2, 0xF321, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "syscall", 0, 0xf05, None, 2,
+  { "vpmovsdb", 2, 0xF321, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sysret", 0, 0xf07, None, 2,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  { "vpmovsdb", 2, 0xF321, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sysret", 0, 0xf07, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsdb", 2, 0xF321, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "swapgs", 0, 0xf01, 0xf8, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusdb", 2, 0xF311, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "rdtscp", 0, 0xf01, 0xf9, 2,
+  { "vpmovusdb", 2, 0xF311, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "clgi", 0, 0xf01, 0xdd, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusdb", 2, 0xF311, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "invlpga", 0, 0xf01, 0xdf, 2,
+  { "vpmovusdb", 2, 0xF311, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "invlpga", 2, 0xf01, 0xdf, 2,
+  { "vpmovusdb", 2, 0xF311, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusdb", 2, 0xF311, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "skinit", 0, 0xf01, 0xde, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovdw", 2, 0xF333, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "skinit", 1, 0xf01, 0xde, 2,
+  { "vpmovdw", 2, 0xF333, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "stgi", 0, 0xf01, 0xdc, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovdw", 2, 0xF333, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmload", 0, 0xf01, 0xda, 2,
+  { "vpmovdw", 2, 0xF333, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmload", 1, 0xf01, 0xda, 2,
+  { "vpmovdw", 2, 0xF333, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmmcall", 0, 0xf01, 0xd9, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovdw", 2, 0xF333, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmrun", 0, 0xf01, 0xd8, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsdw", 2, 0xF323, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmrun", 1, 0xf01, 0xd8, 2,
+  { "vpmovsdw", 2, 0xF323, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmsave", 0, 0xf01, 0xdb, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsdw", 2, 0xF323, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmsave", 1, 0xf01, 0xdb, 2,
+  { "vpmovsdw", 2, 0xF323, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "movntsd", 2, 0xf20f2b, None, 2,
+  { "vpmovsdw", 2, 0xF323, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "movntss", 2, 0xf30f2b, None, 2,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsdw", 2, 0xF323, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "extrq", 3, 0x660f78, 0x0, 2,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusdw", 2, 0xF313, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "extrq", 2, 0x660f79, None, 2,
+  { "vpmovusdw", 2, 0xF313, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "insertq", 2, 0xf20f79, None, 2,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusdw", 2, 0xF313, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "insertq", 4, 0xf20f78, None, 2,
+  { "vpmovusdw", 2, 0xF313, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "popcnt", 2, 0xf30fb8, None, 2,
+  { "vpmovusdw", 2, 0xF313, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "lzcnt", 2, 0xf30fbd, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusdw", 2, 0xF313, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xstore-rng", 0, 0xfa7, 0xc0, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovqb", 2, 0xF332, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcrypt-ecb", 0, 0xf30fa7, 0xc8, 2,
+  { "vpmovqb", 2, 0xF332, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcrypt-cbc", 0, 0xf30fa7, 0xd0, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovqb", 2, 0xF332, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 1, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcrypt-ctr", 0, 0xf30fa7, 0xd8, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovqb", 2, 0xF332, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcrypt-cfb", 0, 0xf30fa7, 0xe0, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovqb", 2, 0xF332, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcrypt-ofb", 0, 0xf30fa7, 0xe8, 2,
+  { "vpmovqb", 2, 0xF332, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "montmul", 0, 0xf30fa6, 0xc0, 2,
+  { "vpmovsqb", 2, 0xF322, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xsha1", 0, 0xf30fa6, 0xc8, 2,
+  { "vpmovsqb", 2, 0xF322, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xsha256", 0, 0xf30fa6, 0xd0, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsqb", 2, 0xF322, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 1, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xstorerng", 0, 0xfa7, 0xc0, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsqb", 2, 0xF322, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcryptecb", 0, 0xf30fa7, 0xc8, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsqb", 2, 0xF322, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcryptcbc", 0, 0xf30fa7, 0xd0, 2,
+  { "vpmovsqb", 2, 0xF322, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcryptctr", 0, 0xf30fa7, 0xd8, 2,
+  { "vpmovusqb", 2, 0xF312, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcryptcfb", 0, 0xf30fa7, 0xe0, 2,
+  { "vpmovusqb", 2, 0xF312, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xcryptofb", 0, 0xf30fa7, 0xe8, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusqb", 2, 0xF312, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 1, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "xstore", 0, 0xfa7, 0xc0, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusqb", 2, 0xF312, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "adcx", 2, 0x660f38f6, None, 3,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusqb", 2, 0xF312, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "adox", 2, 0xf30f38f6, None, 3,
+  { "vpmovusqb", 2, 0xF312, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "rdseed", 1, 0xfc7, 0x7, 2,
+  { "vpmovqd", 2, 0xF335, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "clac", 0, 0xf01, 0xca, 2,
+  { "vpmovqd", 2, 0xF335, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "stac", 0, 0xf01, 0xcb, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovqd", 2, 0xF335, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "bnd", 0, 0xf2, None, 1,
+  { "vpmovqd", 2, 0xF335, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "bndmk", 2, 0xf30f1b, None, 2,
+  { "vpmovqd", 2, 0xF335, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
-  { "bndmov", 2, 0x660f1a, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovqd", 2, 0xF335, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
-  { "bndmov", 2, 0x660f1b, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsqd", 2, 0xF325, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0 } } } },
-  { "bndcl", 2, 0xf30f1a, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovsqd", 2, 0xF325, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
-  { "bndcl", 2, 0xf30f1a, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsqd", 2, 0xF325, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
-  { "bndcu", 2, 0xf20f1a, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovsqd", 2, 0xF325, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
-  { "bndcu", 2, 0xf20f1a, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovsqd", 2, 0xF325, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
-  { "bndcn", 2, 0xf20f1b, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsqd", 2, 0xF325, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
-  { "bndcn", 2, 0xf20f1b, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusqd", 2, 0xF315, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
-  { "bndstx", 2, 0x0f1b, None, 2,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovusqd", 2, 0xF315, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
-  { "bndldx", 2, 0x0f1a, None, 2,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusqd", 2, 0xF315, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } } } },
-  { "sha1rnds4", 3, 0xf3acc, None, 3,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovusqd", 2, 0xF315, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sha1nexte", 2, 0xf38c8, None, 3,
+  { "vpmovusqd", 2, 0xF315, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sha1msg1", 2, 0xf38c9, None, 3,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusqd", 2, 0xF315, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sha1msg2", 2, 0xf38ca, None, 3,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovqw", 2, 0xF334, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sha256rnds2", 3, 0xf38cb, None, 3,
+  { "vpmovqw", 2, 0xF334, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sha256rnds2", 2, 0xf38cb, None, 3,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovqw", 2, 0xF334, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sha256msg1", 2, 0xf38cc, None, 3,
+  { "vpmovqw", 2, 0xF334, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "sha256msg2", 2, 0xf38cd, None, 3,
+  { "vpmovqw", 2, 0xF334, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kandnw", 3, 0x42, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovqw", 2, 0xF334, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kandw", 3, 0x41, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsqw", 2, 0xF324, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "korw", 3, 0x45, None, 1,
+  { "vpmovsqw", 2, 0xF324, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsqw", 2, 0xF324, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kxnorw", 3, 0x46, None, 1,
+  { "vpmovsqw", 2, 0xF324, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kxorw", 3, 0x47, None, 1,
+  { "vpmovsqw", 2, 0xF324, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovsqw", 2, 0xF324, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kmovw", 2, 0x90, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusqw", 2, 0xF314, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kmovw", 2, 0x91, None, 1,
+  { "vpmovusqw", 2, 0xF314, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "kmovw", 2, 0x92, None, 1,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusqw", 2, 0xF314, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovusqw", 2, 0xF314, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kmovw", 2, 0x93, None, 1,
+  { "vpmovusqw", 2, 0xF314, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovusqw", 2, 0xF314, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "knotw", 2, 0x44, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vprold", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kortestw", 2, 0x98, None, 1,
+  { "vprold", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kshiftlw", 3, 0x6632, None, 1,
+  { "vprold", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kshiftrw", 3, 0x6630, None, 1,
+  { "vprold", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "kunpckbw", 3, 0x664B, None, 1,
+  { "vprold", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "valignd", 4, 0x6603, None, 1,
+  { "vprold", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpternlogd", 4, 0x6625, None, 1,
+  { "vprord", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "valignq", 4, 0x6603, None, 1,
+  { "vprord", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpternlogq", 4, 0x6625, None, 1,
+  { "vprord", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vblendmpd", 3, 0x6665, None, 1,
+  { "vprord", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpblendmq", 3, 0x6664, None, 1,
+  { "vprord", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermi2pd", 3, 0x6677, None, 1,
+  { "vprord", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermi2q", 3, 0x6676, None, 1,
+  { "vprolq", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermt2pd", 3, 0x667F, None, 1,
+  { "vprolq", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermt2q", 3, 0x667E, None, 1,
+  { "vprolq", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxsq", 3, 0x663D, None, 1,
+  { "vprolq", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmaxuq", 3, 0x663F, None, 1,
+  { "vprolq", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminsq", 3, 0x6639, None, 1,
+  { "vprolq", 3, 0x6672, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpminuq", 3, 0x663B, None, 1,
+  { "vprorq", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprolvq", 3, 0x6615, None, 1,
+  { "vprorq", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprorvq", 3, 0x6614, None, 1,
+  { "vprorq", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsravq", 3, 0x6646, None, 1,
+  { "vprorq", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vblendmps", 3, 0x6665, None, 1,
+  { "vprorq", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpblendmd", 3, 0x6664, None, 1,
+  { "vprorq", 3, 0x6672, 0, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermi2d", 3, 0x6676, None, 1,
+  { "vpscatterqd", 2, 0x66A1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermi2ps", 3, 0x6677, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterqd", 2, 0x66A1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermt2d", 3, 0x667E, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpscatterqd", 2, 0x66A1, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpermt2ps", 3, 0x667F, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterqps", 2, 0x66A3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprolvd", 3, 0x6615, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterqps", 2, 0x66A3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprorvd", 3, 0x6614, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterqps", 2, 0x66A3, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vbroadcastf32x4", 2, 0x661A, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpsraq", 3, 0x66E2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vbroadcasti32x4", 2, 0x665A, None, 1,
+  { "vpsraq", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vbroadcastf64x4", 2, 0x661B, None, 1,
+  { "vpsraq", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vbroadcasti64x4", 2, 0x665B, None, 1,
+  { "vpsraq", 3, 0x66E2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeq_oqpd", 3, 0x66C2, 0, 1,
+  { "vpsraq", 3, 0x66E2, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeq_oqpd", 4, 0x66C2, 0, 1,
+  { "vpsraq", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpsraq", 3, 0x6672, 4, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpfalse_oqpd", 3, 0x66C2, 11, 1,
+  { "vpsraq", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpfalse_oqpd", 4, 0x66C2, 11, 1,
+  { "vpsraq", 3, 0x6672, 4, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpge_ospd", 3, 0x66C2, 13, 1,
+  { "vptestmd", 3, 0x6627, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpge_ospd", 4, 0x66C2, 13, 1,
+  { "vptestmd", 3, 0x6627, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_ospd", 3, 0x66C2, 14, 1,
+  { "vptestmd", 3, 0x6627, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_ospd", 4, 0x66C2, 14, 1,
+  { "vrcp14sd", 3, 0x664D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmple_ospd", 3, 0x66C2, 2, 1,
+  { "vrsqrt14sd", 3, 0x664F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmple_ospd", 4, 0x66C2, 2, 1,
+  { "vrcp14ss", 3, 0x664D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmplt_ospd", 3, 0x66C2, 1, 1,
+  { "vrsqrt14ss", 3, 0x664F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmplt_ospd", 4, 0x66C2, 1, 1,
+  { "vshuff32x4", 4, 0x6623, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_uqpd", 3, 0x66C2, 4, 1,
+  { "vshuff32x4", 4, 0x6623, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_uqpd", 4, 0x66C2, 4, 1,
+  { "vshufi32x4", 4, 0x6643, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnge_uspd", 3, 0x66C2, 9, 1,
+  { "vshufi32x4", 4, 0x6643, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnge_uspd", 4, 0x66C2, 9, 1,
+  { "vshuff64x2", 4, 0x6623, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpngt_uspd", 3, 0x66C2, 10, 1,
+  { "vshuff64x2", 4, 0x6623, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpngt_uspd", 4, 0x66C2, 10, 1,
+  { "vshufi64x2", 4, 0x6643, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnle_uspd", 3, 0x66C2, 6, 1,
+  { "vshufi64x2", 4, 0x6643, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnle_uspd", 4, 0x66C2, 6, 1,
+  { "vptestnmd", 3, 0xF327, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnlt_uspd", 3, 0x66C2, 5, 1,
+  { "vptestnmd", 3, 0xF327, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnlt_uspd", 4, 0x66C2, 5, 1,
+  { "vptestnmd", 3, 0xF327, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpord_qpd", 3, 0x66C2, 7, 1,
+  { "vptestnmq", 3, 0xF327, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -55339,326 +84594,357 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpord_qpd", 4, 0x66C2, 7, 1,
+  { "vptestnmq", 3, 0xF327, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmptrue_uqpd", 3, 0x66C2, 15, 1,
+  { "vptestnmq", 3, 0xF327, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmptrue_uqpd", 4, 0x66C2, 15, 1,
+  { "vpbroadcastmb2q", 2, 0xF32A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpbroadcastmb2q", 2, 0xF32A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpunord_qpd", 3, 0x66C2, 3, 1,
+  { "vpbroadcastmb2q", 2, 0xF32A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpunord_qpd", 4, 0x66C2, 3, 1,
+  { "vpbroadcastmw2d", 2, 0xF33A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeq_oqps", 3, 0xC2, 0, 1,
+  { "vpbroadcastmw2d", 2, 0xF33A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeq_oqps", 4, 0xC2, 0, 1,
+  { "vpbroadcastmw2d", 2, 0xF33A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpfalse_oqps", 3, 0xC2, 11, 1,
+  { "vpconflictd", 2, 0x66C4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpfalse_oqps", 4, 0xC2, 11, 1,
+  { "vpconflictd", 2, 0x66C4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpge_osps", 3, 0xC2, 13, 1,
+  { "vpconflictd", 2, 0x66C4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpge_osps", 4, 0xC2, 13, 1,
+  { "vpconflictq", 2, 0x66C4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpconflictq", 2, 0x66C4, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpconflictq", 2, 0x66C4, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_osps", 3, 0xC2, 14, 1,
+  { "vplzcntd", 2, 0x6644, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_osps", 4, 0xC2, 14, 1,
+  { "vplzcntd", 2, 0x6644, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmple_osps", 3, 0xC2, 2, 1,
+  { "vplzcntd", 2, 0x6644, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmple_osps", 4, 0xC2, 2, 1,
+  { "vplzcntq", 2, 0x6644, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vplzcntq", 2, 0x6644, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vplzcntq", 2, 0x6644, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmplt_osps", 3, 0xC2, 1, 1,
+  { "vexp2pd", 2, 0x66C8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmplt_osps", 4, 0xC2, 1, 1,
+  { "vexp2pd", 3, 0x66C8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -55668,36 +84954,32 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_uqps", 3, 0xC2, 4, 1,
+  { "vexp2ps", 2, 0x66C8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_uqps", 4, 0xC2, 4, 1,
+  { "vexp2ps", 3, 0x66C8, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -55707,36 +84989,32 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnge_usps", 3, 0xC2, 9, 1,
+  { "vrcp28pd", 2, 0x66CA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnge_usps", 4, 0xC2, 9, 1,
+  { "vrcp28pd", 3, 0x66CA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -55746,36 +85024,32 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpngt_usps", 3, 0xC2, 10, 1,
+  { "vrsqrt28pd", 2, 0x66CC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpngt_usps", 4, 0xC2, 10, 1,
+  { "vrsqrt28pd", 3, 0x66CC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -55785,36 +85059,32 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnle_usps", 3, 0xC2, 6, 1,
+  { "vrcp28ps", 2, 0x66CA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnle_usps", 4, 0xC2, 6, 1,
+  { "vrcp28ps", 3, 0x66CA, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -55824,36 +85094,32 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnlt_usps", 3, 0xC2, 5, 1,
+  { "vrsqrt28ps", 2, 0x66CC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnlt_usps", 4, 0xC2, 5, 1,
+  { "vrsqrt28ps", 3, 0x66CC, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -55863,153 +85129,158 @@ const insn_template i386_optab[] =
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpord_qps", 3, 0xC2, 7, 1,
+  { "vrcp28sd", 3, 0x66CB, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpord_qps", 4, 0xC2, 7, 1,
+  { "vrcp28sd", 4, 0x66CB, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmptrue_uqps", 3, 0xC2, 15, 1,
+  { "vrsqrt28sd", 3, 0x66CD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmptrue_uqps", 4, 0xC2, 15, 1,
+  { "vrsqrt28sd", 4, 0x66CD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpunord_qps", 3, 0xC2, 3, 1,
+  { "vrcp28ss", 3, 0x66CB, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpunord_qps", 4, 0xC2, 3, 1,
+  { "vrcp28ss", 4, 0x66CB, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeq_oqsd", 3, 0xF2C2, 0, 1,
+  { "vrsqrt28ss", 3, 0x66CD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeq_oqsd", 4, 0xF2C2, 0, 1,
+  { "vrsqrt28ss", 4, 0x66CD, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -56020,1250 +85291,1244 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpfalse_oqsd", 3, 0xF2C2, 11, 1,
+  { "vgatherpf0dpd", 1, 0x66C6, 1, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpfalse_oqsd", 4, 0xF2C2, 11, 1,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vgatherpf0qpd", 1, 0x66C7, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vgatherpf1dpd", 1, 0x66C6, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vgatherpf1qpd", 1, 0x66C7, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterpf0dpd", 1, 0x66C6, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterpf0qpd", 1, 0x66C7, 5, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterpf1dpd", 1, 0x66C6, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterpf1qpd", 1, 0x66C7, 6, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vgatherpf0dps", 1, 0x66C6, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vgatherpf0qps", 1, 0x66C7, 1, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vgatherpf1dps", 1, 0x66C6, 2, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vgatherpf1qps", 1, 0x66C7, 2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpge_ossd", 3, 0xF2C2, 13, 1,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterpf0dps", 1, 0x66C6, 5, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpge_ossd", 4, 0xF2C2, 13, 1,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterpf0qps", 1, 0x66C7, 5, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_ossd", 3, 0xF2C2, 14, 1,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterpf1dps", 1, 0x66C6, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_ossd", 4, 0xF2C2, 14, 1,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vscatterpf1qps", 1, 0x66C7, 6, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmple_ossd", 3, 0xF2C2, 2, 1,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "prefetchwt1", 1, 0x0F0D, 2, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmple_ossd", 4, 0xF2C2, 2, 1,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
+  { "clflushopt", 1, 0x660fae, 0x7, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmplt_ossd", 3, 0xF2C2, 1, 1,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
+  { "xrstors", 1, 0xfc7, 0x3, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmplt_ossd", 4, 0xF2C2, 1, 1,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "xrstors64", 1, 0xfc7, 0x3, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_uqsd", 3, 0xF2C2, 4, 1,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "xsaves", 1, 0xfc7, 0x5, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_uqsd", 4, 0xF2C2, 4, 1,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "xsaves64", 1, 0xfc7, 0x5, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnge_ussd", 3, 0xF2C2, 9, 1,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "xsavec", 1, 0xfc7, 0x4, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnge_ussd", 4, 0xF2C2, 9, 1,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "xsavec64", 1, 0xfc7, 0x4, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        1, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpngt_ussd", 3, 0xF2C2, 10, 1,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "encls", 0, 0xf01cf, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpngt_ussd", 4, 0xF2C2, 10, 1,
+  { "enclu", 0, 0xf01d7, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnle_ussd", 3, 0xF2C2, 6, 1,
+  { "vcvtpd2udqx", 2, 0x79, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnle_ussd", 4, 0xF2C2, 6, 1,
+  { "vcvtpd2udqy", 2, 0x79, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnlt_ussd", 3, 0xF2C2, 5, 1,
+  { "vcvttpd2udqx", 2, 0x78, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnlt_ussd", 4, 0xF2C2, 5, 1,
+  { "vcvttpd2udqy", 2, 0x78, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpord_qsd", 3, 0xF2C2, 7, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpord_qsd", 4, 0xF2C2, 7, 1,
+  { "kaddd", 3, 0x664A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmptrue_uqsd", 3, 0xF2C2, 15, 1,
+  { "kandd", 3, 0x6641, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmptrue_uqsd", 4, 0xF2C2, 15, 1,
+  { "kandnd", 3, 0x6642, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpunord_qsd", 3, 0xF2C2, 3, 1,
+  { "kmovd", 2, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpunord_qsd", 4, 0xF2C2, 3, 1,
+  { "kmovd", 2, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeq_oqss", 3, 0xF3C2, 0, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "kmovd", 2, 0xF292, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpeq_oqss", 4, 0xF3C2, 0, 1,
+  { "kmovd", 2, 0xF293, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpfalse_oqss", 3, 0xF3C2, 11, 1,
+  { "knotd", 2, 0x6644, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpfalse_oqss", 4, 0xF3C2, 11, 1,
+  { "kord", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpge_osss", 3, 0xF3C2, 13, 1,
+  { "kortestd", 2, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpge_osss", 4, 0xF3C2, 13, 1,
+  { "ktestd", 2, 0x6699, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kxnord", 3, 0x6646, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_osss", 3, 0xF3C2, 14, 1,
+  { "kxord", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpgt_osss", 4, 0xF3C2, 14, 1,
+  { "kaddq", 3, 0x4A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmple_osss", 3, 0xF3C2, 2, 1,
+  { "kandnq", 3, 0x42, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmple_osss", 4, 0xF3C2, 2, 1,
+  { "kandq", 3, 0x41, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmplt_osss", 3, 0xF3C2, 1, 1,
+  { "kmovq", 2, 0x90, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmplt_osss", 4, 0xF3C2, 1, 1,
+  { "kmovq", 2, 0x91, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "kmovq", 2, 0xF292, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_uqss", 3, 0xF3C2, 4, 1,
+  { "kmovq", 2, 0xF293, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpneq_uqss", 4, 0xF3C2, 4, 1,
+  { "knotq", 2, 0x44, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnge_usss", 3, 0xF3C2, 9, 1,
+  { "korq", 3, 0x45, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnge_usss", 4, 0xF3C2, 9, 1,
+  { "kortestq", 2, 0x98, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpngt_usss", 3, 0xF3C2, 10, 1,
+  { "ktestq", 2, 0x99, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpngt_usss", 4, 0xF3C2, 10, 1,
+  { "kunpckdq", 3, 0x4B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnle_usss", 3, 0xF3C2, 6, 1,
+  { "kunpckwd", 3, 0x4B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnle_usss", 4, 0xF3C2, 6, 1,
+  { "kxnorq", 3, 0x46, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnlt_usss", 3, 0xF3C2, 5, 1,
+  { "kxorq", 3, 0x47, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpnlt_usss", 4, 0xF3C2, 5, 1,
+  { "kshiftld", 3, 0x6633, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpord_qss", 3, 0xF3C2, 7, 1,
+  { "kshiftlq", 3, 0x6633, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpord_qss", 4, 0xF3C2, 7, 1,
+  { "kshiftrd", 3, 0x6631, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmptrue_uqss", 3, 0xF3C2, 15, 1,
+  { "kshiftrq", 3, 0x6631, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 1, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmptrue_uqss", 4, 0xF3C2, 15, 1,
+  { "vdbpsadbw", 4, 0x6642, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpunord_qss", 3, 0xF3C2, 3, 1,
+  { "vdbpsadbw", 4, 0x6642, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcmpunord_qss", 4, 0xF3C2, 3, 1,
+  { "vdbpsadbw", 4, 0x6642, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcompresspd", 2, 0x668A, None, 1,
+  { "vmovdqu16", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vcompresspd", 2, 0x668A, None, 1,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu16", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcompressq", 2, 0x668B, None, 1,
+  { "vmovdqu16", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpcompressq", 2, 0x668B, None, 1,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu16", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpscatterdq", 2, 0x66A0, None, 1,
+  { "vmovdqu16", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpscatterqq", 2, 0x66A1, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu16", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterdpd", 2, 0x66A2, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu16", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterqpd", 2, 0x66A3, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu16", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vcompressps", 2, 0x668A, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu16", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vcompressps", 2, 0x668A, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vmovdqu16", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcompressd", 2, 0x668B, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu16", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpcompressd", 2, 0x668B, None, 1,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu16", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpscatterdd", 2, 0x66A0, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu8", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -57271,2042 +86536,2161 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterdps", 2, 0x66A2, None, 1,
+  { "vmovdqu8", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vcvtudq2pd", 2, 0xF37A, None, 1,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu8", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtps2udq", 2, 0x79, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vmovdqu8", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtps2udq", 3, 0x79, None, 1,
+  { "vmovdqu8", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtpd2udq", 2, 0x79, None, 1,
+  { "vmovdqu8", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtpd2udq", 3, 0x79, None, 1,
+  { "vmovdqu8", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtsd2usi", 2, 0xF279, None, 1,
+  { "vmovdqu8", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtsd2usi", 3, 0xF279, None, 1,
+  { "vmovdqu8", 2, 0xF26F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtsd2usi", 2, 0xF279, None, 1,
+  { "vmovdqu8", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtsd2usi", 3, 0xF279, None, 1,
+  { "vmovdqu8", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtusi2sd", 3, 0xF27B, None, 1,
+  { "vmovdqu8", 2, 0xF27F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtusi2sd", 3, 0xF27B, None, 1,
+  { "vpblendmb", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtusi2sd", 4, 0xF27B, None, 1,
+  { "vpblendmb", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtusi2ss", 3, 0xF37B, None, 1,
+  { "vpblendmb", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtusi2ss", 4, 0xF37B, None, 1,
+  { "vpblendmw", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtusi2ss", 3, 0xF37B, None, 1,
+  { "vpblendmw", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtusi2ss", 4, 0xF37B, None, 1,
+  { "vpblendmw", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtss2usi", 2, 0xF379, None, 1,
+  { "vpermi2w", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtss2usi", 3, 0xF379, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtss2usi", 2, 0xF379, None, 1,
+  { "vpermi2w", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtss2usi", 3, 0xF379, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttpd2udq", 2, 0x78, None, 1,
+  { "vpermi2w", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttpd2udq", 3, 0x78, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttps2udq", 2, 0x78, None, 1,
+  { "vpermt2w", 3, 0x667D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttps2udq", 3, 0x78, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttsd2usi", 2, 0xF278, None, 1,
+  { "vpermt2w", 3, 0x667D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttsd2usi", 3, 0xF278, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttsd2usi", 2, 0xF278, None, 1,
+  { "vpermt2w", 3, 0x667D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttsd2usi", 3, 0xF278, None, 1,
+  { "vpermw", 3, 0x668D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttss2usi", 2, 0xF378, None, 1,
+  { "vpermw", 3, 0x668D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttss2usi", 3, 0xF378, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttss2usi", 2, 0xF378, None, 1,
+  { "vpermw", 3, 0x668D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvttss2usi", 3, 0xF378, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtudq2ps", 2, 0xF27A, None, 1,
+  { "vpsllvw", 3, 0x6612, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vcvtudq2ps", 3, 0xF27A, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vexpandpd", 2, 0x6688, None, 1,
+  { "vpsllvw", 3, 0x6612, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vexpandpd", 2, 0x6688, None, 1,
+  { "vpsllvw", 3, 0x6612, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpexpandq", 2, 0x6689, None, 1,
+  { "vpsravw", 3, 0x6611, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpexpandq", 2, 0x6689, None, 1,
+  { "vpsravw", 3, 0x6611, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vexpandps", 2, 0x6688, None, 1,
+  { "vpsravw", 3, 0x6611, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vexpandps", 2, 0x6688, None, 1,
+  { "vpsrlvw", 3, 0x6610, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpexpandd", 2, 0x6689, None, 1,
+  { "vpsrlvw", 3, 0x6610, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpexpandd", 2, 0x6689, None, 1,
+  { "vpsrlvw", 3, 0x6610, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vextractf32x4", 3, 0x6619, None, 1,
+  { "vpcmpb", 4, 0x663F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vextractf32x4", 3, 0x6619, None, 1,
+  { "vpcmpb", 4, 0x663F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vextracti32x4", 3, 0x6639, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpb", 4, 0x663F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vextracti32x4", 3, 0x6639, None, 1,
+  { "vpcmpub", 4, 0x663E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vextractf64x4", 3, 0x661B, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpub", 4, 0x663E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vextractf64x4", 3, 0x661B, None, 1,
+  { "vpcmpub", 4, 0x663E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vextracti64x4", 3, 0x663B, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpuw", 4, 0x663E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vextracti64x4", 3, 0x663B, None, 1,
+  { "vpcmpuw", 4, 0x663E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vfixupimmpd", 4, 0x6654, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpcmpuw", 4, 0x663E, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfixupimmpd", 5, 0x6654, None, 1,
+  { "vpcmpw", 4, 0x663F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfixupimmps", 4, 0x6654, None, 1,
+  { "vpcmpw", 4, 0x663F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfixupimmps", 5, 0x6654, None, 1,
+  { "vpcmpw", 4, 0x663F, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovb2m", 2, 0xF329, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfixupimmsd", 4, 0x6655, None, 1,
+  { "vpmovb2m", 2, 0xF329, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovb2m", 2, 0xF329, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfixupimmsd", 5, 0x6655, None, 1,
+  { "vpmovm2b", 2, 0xF328, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovm2b", 2, 0xF328, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovm2b", 2, 0xF328, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetmantsd", 4, 0x6627, None, 1,
+  { "vpmovm2w", 2, 0xF328, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovm2w", 2, 0xF328, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetmantsd", 5, 0x6627, None, 1,
+  { "vpmovm2w", 2, 0xF328, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovswb", 2, 0xF320, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrndscalesd", 4, 0x660B, None, 1,
+  { "vpmovswb", 2, 0xF320, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovswb", 2, 0xF320, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrndscalesd", 5, 0x660B, None, 1,
+  { "vpmovswb", 2, 0xF320, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovswb", 2, 0xF320, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovswb", 2, 0xF320, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovuswb", 2, 0xF310, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfixupimmss", 4, 0x6655, None, 1,
+  { "vpmovuswb", 2, 0xF310, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovuswb", 2, 0xF310, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vfixupimmss", 5, 0x6655, None, 1,
+  { "vpmovuswb", 2, 0xF310, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovuswb", 2, 0xF310, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovuswb", 2, 0xF310, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovwb", 2, 0xF330, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetmantss", 4, 0x6627, None, 1,
+  { "vpmovwb", 2, 0xF330, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetmantss", 5, 0x6627, None, 1,
+  { "vpmovwb", 2, 0xF330, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovwb", 2, 0xF330, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovwb", 2, 0xF330, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 3, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrndscaless", 4, 0x660A, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovwb", 2, 0xF330, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrndscaless", 5, 0x660A, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vpmovw2m", 2, 0xF329, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vscalefpd", 3, 0x662C, None, 1,
+  { "vpmovw2m", 2, 0xF329, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vscalefpd", 4, 0x662C, None, 1,
+  { "vpmovw2m", 2, 0xF329, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vscalefps", 3, 0x662C, None, 1,
+  { "vptestmb", 3, 0x6626, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vscalefps", 4, 0x662C, None, 1,
+  { "vptestmb", 3, 0x6626, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vscalefsd", 3, 0x662D, None, 1,
+  { "vptestmb", 3, 0x6626, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vscalefsd", 4, 0x662D, None, 1,
+  { "vptestmw", 3, 0x6626, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vscalefss", 3, 0x662D, None, 1,
+  { "vptestmw", 3, 0x6626, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vscalefss", 4, 0x662D, None, 1,
+  { "vptestmw", 3, 0x6626, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 1, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetexppd", 2, 0x6642, None, 1,
+  { "vptestnmb", 3, 0xF326, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetexppd", 3, 0x6642, None, 1,
+  { "vptestnmb", 3, 0xF326, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetexpps", 2, 0x6642, None, 1,
+  { "vptestnmb", 3, 0xF326, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetexpps", 3, 0x6642, None, 1,
+  { "vptestnmw", 3, 0xF326, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetexpsd", 3, 0x6643, None, 1,
+  { "vptestnmw", 3, 0xF326, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetexpsd", 4, 0x6643, None, 1,
+  { "vptestnmw", 3, 0xF326, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kaddb", 3, 0x664A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetexpss", 3, 0x6643, None, 1,
+  { "kandb", 3, 0x6641, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetexpss", 4, 0x6643, None, 1,
+  { "kandnb", 3, 0x6642, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetmantpd", 3, 0x6626, None, 1,
+  { "kmovb", 2, 0x6690, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetmantpd", 4, 0x6626, None, 1,
+  { "kmovb", 2, 0x6691, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrndscalepd", 3, 0x6609, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
+  { "kmovb", 2, 0x6692, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrndscalepd", 4, 0x6609, None, 1,
+  { "kmovb", 2, 0x6693, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetmantps", 3, 0x6626, None, 1,
+  { "knotb", 2, 0x6644, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgetmantps", 4, 0x6626, None, 1,
+  { "korb", 3, 0x6645, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrndscaleps", 3, 0x6608, None, 1,
+  { "kortestb", 2, 0x6698, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrndscaleps", 4, 0x6608, None, 1,
+  { "ktestb", 2, 0x6699, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "kxnorb", 3, 0x6646, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vinsertf32x4", 4, 0x6618, None, 1,
+  { "kxorb", 3, 0x6647, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vinserti32x4", 4, 0x6638, None, 1,
+  { "kaddw", 3, 0x4A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vinsertf64x4", 4, 0x661A, None, 1,
+  { "ktestw", 2, 0x99, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vinserti64x4", 4, 0x663A, None, 1,
+  { "kshiftlb", 3, 0x6632, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 5, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqa64", 2, 0x667F, None, 1,
+  { "kshiftrb", 3, 0x6630, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
+      0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vmovdqa64", 2, 0x666F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqa64", 2, 0x666F, None, 1,
+  { "vbroadcastf32x2", 2, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqa64", 2, 0x667F, None, 1,
+  { "vbroadcastf32x2", 2, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqa32", 2, 0x667F, None, 1,
+  { "vbroadcastf32x8", 2, 0x661B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vmovdqa32", 2, 0x666F, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqa32", 2, 0x666F, None, 1,
+  { "vbroadcasti32x2", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqa32", 2, 0x667F, None, 1,
+  { "vbroadcasti32x2", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqu32", 2, 0xF37F, None, 1,
+  { "vbroadcasti32x2", 2, 0x6659, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vmovdqu32", 2, 0xF36F, None, 1,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcasti32x8", 2, 0x665B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqu32", 2, 0xF36F, None, 1,
+  { "vbroadcastf64x2", 2, 0x661A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqu32", 2, 0xF37F, None, 1,
+  { "vbroadcastf64x2", 2, 0x661A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqu64", 2, 0xF37F, None, 1,
+  { "vbroadcasti64x2", 2, 0x665A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vmovdqu64", 2, 0xF36F, None, 1,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vbroadcasti64x2", 2, 0x665A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqu64", 2, 0xF36F, None, 1,
+  { "vcvtpd2qq", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vmovdqu64", 2, 0xF37F, None, 1,
+  { "vcvtpd2qq", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp14ps", 2, 0x664C, None, 1,
+  { "vcvtpd2qq", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt14ps", 2, 0x664E, None, 1,
+  { "vcvtpd2qq", 3, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpabsq", 2, 0x661F, None, 1,
+  { "vcvtpd2uqq", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -59314,1556 +88698,1618 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp14pd", 2, 0x664C, None, 1,
+  { "vcvtpd2uqq", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt14pd", 2, 0x664E, None, 1,
+  { "vcvtpd2uqq", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpandd", 3, 0x66DB, None, 1,
+  { "vcvtpd2uqq", 3, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpandnd", 3, 0x66DF, None, 1,
+  { "vcvtps2qq", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpord", 3, 0x66EB, None, 1,
+  { "vcvtps2qq", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpxord", 3, 0x66EF, None, 1,
+  { "vcvtps2qq", 2, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpandnq", 3, 0x66DF, None, 1,
+  { "vcvtps2qq", 3, 0x667B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpandq", 3, 0x66DB, None, 1,
+  { "vcvtps2uqq", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vporq", 3, 0x66EB, None, 1,
+  { "vcvtps2uqq", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpxorq", 3, 0x66EF, None, 1,
+  { "vcvtps2uqq", 2, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpd", 4, 0x661F, None, 1,
+  { "vcvtps2uqq", 3, 0x6679, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpled", 3, 0x661F, 2, 1,
+  { "vcvtqq2pd", 2, 0xF3E6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpltd", 3, 0x661F, 1, 1,
+  { "vcvtqq2pd", 2, 0xF3E6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpneqd", 3, 0x661F, 4, 1,
+  { "vcvtqq2pd", 2, 0xF3E6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnled", 3, 0x661F, 6, 1,
+  { "vcvtqq2pd", 3, 0xF3E6, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnltd", 3, 0x661F, 5, 1,
+  { "vcvtuqq2pd", 2, 0xF37A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpud", 4, 0x661E, None, 1,
+  { "vcvtuqq2pd", 2, 0xF37A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpequd", 3, 0x661E, 0, 1,
+  { "vcvtuqq2pd", 2, 0xF37A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpleud", 3, 0x661E, 2, 1,
+  { "vcvtuqq2pd", 3, 0xF37A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpltud", 3, 0x661E, 1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnequd", 3, 0x661E, 4, 1,
+  { "vcvtqq2ps", 2, 0x5B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnleud", 3, 0x661E, 6, 1,
+  { "vcvtqq2ps", 2, 0x5B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnltud", 3, 0x661E, 5, 1,
+  { "vcvtqq2ps", 2, 0x5B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpq", 4, 0x661F, None, 1,
+  { "vcvtqq2ps", 3, 0x5B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpleq", 3, 0x661F, 2, 1,
+  { "vcvtqq2psx", 2, 0x5B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpltq", 3, 0x661F, 1, 1,
+  { "vcvtqq2psy", 2, 0x5B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpneqq", 3, 0x661F, 4, 1,
+  { "vcvttpd2qq", 2, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnleq", 3, 0x661F, 6, 1,
+  { "vcvttpd2qq", 2, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnltq", 3, 0x661F, 5, 1,
+  { "vcvttpd2qq", 2, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpuq", 4, 0x661E, None, 1,
+  { "vcvttpd2qq", 3, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpequq", 3, 0x661E, 0, 1,
+  { "vcvttpd2uqq", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpleuq", 3, 0x661E, 2, 1,
+  { "vcvttpd2uqq", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpltuq", 3, 0x661E, 1, 1,
+  { "vcvttpd2uqq", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnequq", 3, 0x661E, 4, 1,
+  { "vcvttpd2uqq", 3, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnleuq", 3, 0x661E, 6, 1,
+  { "vcvttps2qq", 2, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpcmpnltuq", 3, 0x661E, 5, 1,
+  { "vcvttps2qq", 2, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vptestmq", 3, 0x6627, None, 1,
+  { "vcvttps2qq", 2, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovdb", 2, 0xF331, None, 1,
+  { "vcvttps2qq", 3, 0x667A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovdb", 2, 0xF331, None, 1,
+  { "vcvttps2uqq", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovsdb", 2, 0xF321, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttps2uqq", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 4, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsdb", 2, 0xF321, None, 1,
+  { "vcvttps2uqq", 2, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovusdb", 2, 0xF311, None, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvttps2uqq", 3, 0x6678, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovusdb", 2, 0xF311, None, 1,
+  { "vcvtuqq2ps", 2, 0xF27A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovdw", 2, 0xF333, None, 1,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtuqq2ps", 2, 0xF27A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovdw", 2, 0xF333, None, 1,
+  { "vcvtuqq2ps", 2, 0xF27A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovsdw", 2, 0xF323, None, 1,
+	  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtuqq2ps", 3, 0xF27A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 1, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsdw", 2, 0xF323, None, 1,
+  { "vcvtuqq2psx", 2, 0xF27A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vcvtuqq2psy", 2, 0xF27A, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovusdw", 2, 0xF313, None, 1,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vextractf32x8", 3, 0x661B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovusdw", 2, 0xF313, None, 1,
+  { "vextractf32x8", 3, 0x661B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovqb", 2, 0xF332, None, 1,
+  { "vextracti32x8", 3, 0x663B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovqb", 2, 0xF332, None, 1,
+  { "vextracti32x8", 3, 0x663B, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovsqb", 2, 0xF322, None, 1,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vinsertf32x8", 4, 0x661A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsqb", 2, 0xF322, None, 1,
+  { "vinserti32x8", 4, 0x663A, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovusqb", 2, 0xF312, None, 1,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfpclassss", 3, 0x6667, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovusqb", 2, 0xF312, None, 1,
+  { "vextractf64x2", 3, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovqd", 2, 0xF335, None, 1,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vextractf64x2", 3, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovqd", 2, 0xF335, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovsqd", 2, 0xF325, None, 1,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vextractf64x2", 3, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsqd", 2, 0xF325, None, 1,
+  { "vextractf64x2", 3, 0x6619, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovusqd", 2, 0xF315, None, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovusqd", 2, 0xF315, None, 1,
+  { "vextracti64x2", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovqw", 2, 0xF334, None, 1,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vextracti64x2", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovqw", 2, 0xF334, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
+  { "vextracti64x2", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovsqw", 2, 0xF324, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vextracti64x2", 3, 0x6639, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovsqw", 2, 0xF324, None, 1,
+  { "vfpclasssd", 3, 0x6667, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 4, 2, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpmovusqw", 2, 0xF314, None, 1,
+	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vinsertf64x2", 4, 0x6618, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpmovusqw", 2, 0xF314, None, 1,
+  { "vinsertf64x2", 4, 0x6618, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vprold", 3, 0x6672, 1, 1,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vinserti64x2", 4, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprold", 3, 0x6672, 1, 1,
+  { "vinserti64x2", 4, 0x6638, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprord", 3, 0x6672, 0, 1,
+  { "vfpclasspd", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprord", 3, 0x6672, 0, 1,
+  { "vfpclasspd", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprolq", 3, 0x6672, 1, 1,
+  { "vfpclasspd", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprolq", 3, 0x6672, 1, 1,
+  { "vfpclasspdz", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprorq", 3, 0x6672, 0, 1,
+  { "vfpclasspdx", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vprorq", 3, 0x6672, 0, 1,
+  { "vfpclasspdy", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 2, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfpclassps", 3, 0x6666, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpscatterqd", 2, 0x66A1, None, 1,
+  { "vfpclassps", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterqps", 2, 0x66A3, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfpclassps", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vpsraq", 3, 0x66E2, None, 1,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vfpclasspsz", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 4, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsraq", 3, 0x6672, 4, 1,
+  { "vfpclasspsx", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpsraq", 3, 0x6672, 4, 1,
+  { "vfpclasspsy", 3, 0x6666, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vptestmd", 3, 0x6627, None, 1,
+  { "vpmovd2m", 2, 0xF339, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp14sd", 3, 0x664D, None, 1,
+  { "vpmovd2m", 2, 0xF339, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt14sd", 3, 0x664F, None, 1,
+  { "vpmovd2m", 2, 0xF339, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp14ss", 3, 0x664D, None, 1,
+  { "vpmovm2d", 2, 0xF338, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt14ss", 3, 0x664F, None, 1,
+  { "vpmovm2d", 2, 0xF338, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshuff32x4", 4, 0x6623, None, 1,
+  { "vpmovm2d", 2, 0xF338, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshufi32x4", 4, 0x6643, None, 1,
+  { "vpmovm2q", 2, 0xF338, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshuff64x2", 4, 0x6623, None, 1,
+  { "vpmovm2q", 2, 0xF338, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovm2q", 2, 0xF338, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vshufi64x2", 4, 0x6643, None, 1,
+  { "vpmovq2m", 2, 0xF339, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmovq2m", 2, 0xF339, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vptestnmd", 3, 0xF327, None, 1,
+  { "vpmovq2m", 2, 0xF339, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vptestnmq", 3, 0xF327, None, 1,
+  { "vpmullq", 3, 0x6640, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -60871,307 +90317,401 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastmb2q", 2, 0xF32A, None, 1,
+  { "vpmullq", 3, 0x6640, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpbroadcastmw2d", 2, 0xF33A, None, 1,
+  { "vpmullq", 3, 0x6640, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpconflictd", 2, 0x66C4, None, 1,
+  { "vrangepd", 4, 0x6650, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vpconflictq", 2, 0x66C4, None, 1,
+  { "vrangepd", 4, 0x6650, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vplzcntd", 2, 0x6644, None, 1,
+  { "vrangepd", 4, 0x6650, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vplzcntq", 2, 0x6644, None, 1,
+  { "vrangepd", 5, 0x6650, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vexp2pd", 2, 0x66C8, None, 1,
+  { "vreducepd", 3, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vexp2pd", 3, 0x66C8, None, 1,
+  { "vreducepd", 3, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vexp2ps", 2, 0x66C8, None, 1,
+  { "vreducepd", 3, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vexp2ps", 3, 0x66C8, None, 1,
+  { "vreducepd", 4, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp28pd", 2, 0x66CA, None, 1,
+  { "vrangeps", 4, 0x6650, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp28pd", 3, 0x66CA, None, 1,
+  { "vrangeps", 4, 0x6650, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt28pd", 2, 0x66CC, None, 1,
+  { "vrangeps", 4, 0x6650, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt28pd", 3, 0x66CC, None, 1,
+  { "vrangeps", 5, 0x6650, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp28ps", 2, 0x66CA, None, 1,
+  { "vreduceps", 3, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp28ps", 3, 0x66CA, None, 1,
+  { "vreduceps", 3, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 3, 0, 3, 0, 0, 4, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt28ps", 2, 0x66CC, None, 1,
+  { "vreduceps", 3, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 6, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 3, 3, 0, 2, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
-      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt28ps", 3, 0x66CC, None, 1,
+  { "vreduceps", 4, 0x6656, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp28sd", 3, 0x66CB, None, 1,
+  { "vrangesd", 4, 0x6651, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61180,18 +90720,22 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp28sd", 4, 0x66CB, None, 1,
+  { "vrangesd", 5, 0x6651, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -61201,16 +90745,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt28sd", 3, 0x66CD, None, 1,
+  { "vreducesd", 4, 0x6657, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61219,18 +90767,22 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt28sd", 4, 0x66CD, None, 1,
+  { "vreducesd", 5, 0x6657, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 4, 3, 1, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -61240,16 +90792,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp28ss", 3, 0x66CB, None, 1,
+  { "vrangess", 4, 0x6651, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61258,18 +90814,22 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrcp28ss", 4, 0x66CB, None, 1,
+  { "vrangess", 5, 0x6651, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -61279,16 +90839,20 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt28ss", 3, 0x66CD, None, 1,
+  { "vreducess", 4, 0x6657, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
 	  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -61297,18 +90861,22 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vrsqrt28ss", 4, 0x66CD, None, 1,
+  { "vreducess", 5, 0x6657, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
+      0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 1, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -61318,323 +90886,380 @@ const insn_template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "vgatherpf0dpd", 1, 0x66C6, 1, 1,
+  { "clwb", 1, 0x660fae, 0x6, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vgatherpf0qpd", 1, 0x66C7, 1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vgatherpf1dpd", 1, 0x66C6, 2, 1,
+	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
+  { "pcommit", 0, 0x660fae, 0xf8, 2,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vgatherpf1qpd", 1, 0x66C7, 2, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0 } },
+    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterpf0dpd", 1, 0x66C6, 5, 1,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmadd52huq", 3, 0x66B5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterpf0qpd", 1, 0x66C7, 5, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterpf1dpd", 1, 0x66C6, 6, 1,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmadd52huq", 3, 0x66B5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterpf1qpd", 1, 0x66C7, 6, 1,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmadd52huq", 3, 0x66B5, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 2, 1, 0, 0, 3, 0, 0, 1, 2, 1, 0, 0, 0, 3, 1, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vgatherpf0dps", 1, 0x66C6, 1, 1,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmadd52luq", 3, 0x66B4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vgatherpf0qps", 1, 0x66C7, 1, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vgatherpf1dps", 1, 0x66C6, 2, 1,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmadd52luq", 3, 0x66B4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vgatherpf1qps", 1, 0x66C7, 2, 1,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmadd52luq", 3, 0x66B4, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterpf0dps", 1, 0x66C6, 5, 1,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmultishiftqb", 3, 0x6683, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterpf0qps", 1, 0x66C7, 5, 1,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1, 3, 1, 2, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterpf1dps", 1, 0x66C6, 6, 1,
+	  1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmultishiftqb", 3, 0x6683, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 3, 1, 4, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } } } },
-  { "vscatterpf1qps", 1, 0x66C7, 6, 1,
+	  1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpmultishiftqb", 3, 0x6683, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0,
+      0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } } } },
-  { "prefetchwt1", 1, 0x0F0D, 2, 2,
+	  1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermb", 3, 0x668D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
-  { "clflushopt", 1, 0x660fae, 0x7, 2,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermb", 3, 0x668D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
-  { "xrstors", 1, 0xfc7, 0x3, 2,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermb", 3, 0x668D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "xrstors64", 1, 0xfc7, 0x3, 2,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2b", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "xsaves", 1, 0xfc7, 0x5, 2,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2b", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "xsaves64", 1, 0xfc7, 0x5, 2,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermi2b", 3, 0x6675, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "xsavec", 1, 0xfc7, 0x4, 2,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2b", 3, 0x667D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 6, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "xsavec64", 1, 0xfc7, 0x4, 2,
+	  0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "vpermt2b", 3, 0x667D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
-      1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } } } },
-  { "encls", 0, 0xf01cf, None, 3,
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 4, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
-  { "enclu", 0, 0xf01d7, None, 3,
+  { "vpermt2b", 3, 0x667D, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
-    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+        0, 0, 0 } },
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
       1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 5, 0, 0, 0,
       0, 0 },
-    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { NULL, 0, 0, 0, 0,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0 } },
     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i860-dis.c ./opcodes/i860-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i860-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i860-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembler for the i860.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    Contributed by Jason Eckhardt <jle@cygnus.com>.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i960-dis.c ./opcodes/i960-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/i960-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/i960-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble i80960 instructions.
-   Copyright (C) 1990-2014 Free Software Foundation, Inc.
+   Copyright (C) 1990-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-asmtab.c ./opcodes/ia64-asmtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-asmtab.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-asmtab.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* This file is automatically generated by ia64-gen.  Do not edit!  */
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-asmtab.h ./opcodes/ia64-asmtab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-asmtab.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-asmtab.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-asmtab.h -- Header for compacted IA-64 opcode tables.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Bob Manson of Cygnus Support <manson@cygnus.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-dis.c ./opcodes/ia64-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-dis.c -- Disassemble ia64 instructions
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-gen.c ./opcodes/ia64-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-gen.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-gen.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-gen.c -- Generate a shrunk set of opcode tables
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Bob Manson, Cygnus Solutions, <manson@cygnus.com>
 
    This file is part of the GNU opcodes library.
@@ -2843,7 +2843,7 @@ main (int argc, char **argv)
   collapse_redundant_completers ();
 
   printf ("/* This file is automatically generated by ia64-gen.  Do not edit!  */\n");
-  printf ("/* Copyright (C) 2007-2014 Free Software Foundation, Inc.\n\
+  printf ("/* Copyright (C) 2007-2015 Free Software Foundation, Inc.\n\
 \n\
    This file is part of the GNU opcodes library.\n\
 \n\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-a.c ./opcodes/ia64-opc-a.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-a.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-opc-a.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-opc-a.c -- IA-64 `A' opcode table.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-b.c ./opcodes/ia64-opc-b.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-b.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-opc-b.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-opc-b.c -- IA-64 `B' opcode table.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc.c ./opcodes/ia64-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-opc.c -- Functions to access the compacted opcode table
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Bob Manson of Cygnus Solutions, <manson@cygnus.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-d.c ./opcodes/ia64-opc-d.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-d.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-opc-d.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-opc-d.c -- IA-64 `D' opcode table.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-f.c ./opcodes/ia64-opc-f.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-f.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-opc-f.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-opc-f.c -- IA-64 `F' opcode table.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc.h ./opcodes/ia64-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-opc.h -- IA-64 opcode table.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-i.c ./opcodes/ia64-opc-i.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-i.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-opc-i.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-opc-i.c -- IA-64 `I' opcode table.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-m.c ./opcodes/ia64-opc-m.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-m.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-opc-m.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-opc-m.c -- IA-64 `M' opcode table.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-x.c ./opcodes/ia64-opc-x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ia64-opc-x.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ia64-opc-x.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ia64-opc-x.c -- IA-64 `X' opcode table.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Timothy Wall <twall@cygnus.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-asm.c ./opcodes/ip2k-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ip2k-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-desc.c ./opcodes/ip2k-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ip2k-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-desc.h ./opcodes/ip2k-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ip2k-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-dis.c ./opcodes/ip2k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ip2k-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-ibld.c ./opcodes/ip2k-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ip2k-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-opc.c ./opcodes/ip2k-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ip2k-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-opc.h ./opcodes/ip2k-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ip2k-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ip2k-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-asm.c ./opcodes/iq2000-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/iq2000-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-desc.c ./opcodes/iq2000-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/iq2000-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-desc.h ./opcodes/iq2000-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/iq2000-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-dis.c ./opcodes/iq2000-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/iq2000-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-ibld.c ./opcodes/iq2000-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/iq2000-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-opc.c ./opcodes/iq2000-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/iq2000-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-opc.h ./opcodes/iq2000-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/iq2000-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/iq2000-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-asm.c ./opcodes/lm32-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/lm32-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-desc.c ./opcodes/lm32-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/lm32-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-desc.h ./opcodes/lm32-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/lm32-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-dis.c ./opcodes/lm32-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/lm32-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-ibld.c ./opcodes/lm32-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/lm32-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-opc.c ./opcodes/lm32-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/lm32-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-opc.h ./opcodes/lm32-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/lm32-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-opinst.c ./opcodes/lm32-opinst.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/lm32-opinst.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/lm32-opinst.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m10200-dis.c ./opcodes/m10200-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m10200-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m10200-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble MN10200 instructions.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m10200-opc.c ./opcodes/m10200-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m10200-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m10200-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Assemble Matsushita MN10200 instructions.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m10300-dis.c ./opcodes/m10300-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m10300-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m10300-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble MN10300 instructions.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m10300-opc.c ./opcodes/m10300-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m10300-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m10300-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Assemble Matsushita MN10300 instructions.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-asm.c ./opcodes/m32c-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32c-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-desc.c ./opcodes/m32c-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32c-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-desc.h ./opcodes/m32c-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32c-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-dis.c ./opcodes/m32c-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32c-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-ibld.c ./opcodes/m32c-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32c-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-opc.c ./opcodes/m32c-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32c-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-opc.h ./opcodes/m32c-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32c-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32c-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-asm.c ./opcodes/m32r-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32r-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-desc.c ./opcodes/m32r-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32r-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-desc.h ./opcodes/m32r-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32r-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-dis.c ./opcodes/m32r-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32r-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-ibld.c ./opcodes/m32r-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32r-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-opc.c ./opcodes/m32r-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32r-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-opc.h ./opcodes/m32r-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32r-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-opinst.c ./opcodes/m32r-opinst.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m32r-opinst.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m32r-opinst.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m68hc11-dis.c ./opcodes/m68hc11-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m68hc11-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m68hc11-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* m68hc11-dis.c -- Motorola 68HC11 & 68HC12 disassembly
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@nerim.fr)
    XGATE and S12X added by James Murray (jsm@jsm-net.demon.co.uk)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m68hc11-opc.c ./opcodes/m68hc11-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m68hc11-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m68hc11-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* m68hc11-opc.c -- Motorola 68HC11, 68HC12, 9S12X and XGATE opcode list
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@nerim.fr)
    XGATE and S12X added by James Murray (jsm@jsm-net.demon.co.uk)
    Note: min/max cycles not updated for S12X opcodes.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m68k-dis.c ./opcodes/m68k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m68k-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m68k-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print Motorola 68k instructions.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m68k-opc.c ./opcodes/m68k-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m68k-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m68k-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode table for m680[012346]0/m6888[12]/m68851/mcf5200.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m88k-dis.c ./opcodes/m88k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/m88k-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/m88k-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print instructions for the Motorola 88000, for GDB and GNU Binutils.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
    Contributed by Data General Corporation, November 1989.
    Partially derived from an earlier printcmd.c.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/MAINTAINERS ./opcodes/MAINTAINERS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/MAINTAINERS	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/MAINTAINERS	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 See ../binutils/MAINTAINERS
 
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/Makefile.am ./opcodes/Makefile.am
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/Makefile.am	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/Makefile.am	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 ## Process this file with automake to generate Makefile.in
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -250,6 +250,8 @@ TARGET_LIBOPCODES_CFILES = \
 	v850-dis.c \
 	v850-opc.c \
 	vax-dis.c \
+	visium-dis.c \
+	visium-opc.c \
 	w65-dis.c \
 	xc16x-asm.c \
 	xc16x-desc.c \
@@ -294,10 +296,8 @@ ALL_MACHINES = $(TARGET_LIBOPCODES_CFILE
 
 OFILES = @BFD_MACHINES@
 
-# We should reconfigure whenever bfd/configure.in changes, because
-# that's where the version number in Makefile comes from.
-CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in \
-	$(BFDDIR)/development.sh
+# development.sh is used to determine -Werror default.
+CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
 
 AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/Makefile.in ./opcodes/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/Makefile.in	2015-01-20 02:05:40.000000000 +0000
@@ -16,7 +16,7 @@
 @SET_MAKE@
 
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -75,7 +75,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../b
 	$(top_srcdir)/../config/warnings.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
 	$(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
-	$(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.in
+	$(top_srcdir)/../lt~obsolete.m4 \
+	$(top_srcdir)/../bfd/version.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -522,6 +523,8 @@ TARGET_LIBOPCODES_CFILES = \
 	v850-dis.c \
 	v850-opc.c \
 	vax-dis.c \
+	visium-dis.c \
+	visium-opc.c \
 	w65-dis.c \
 	xc16x-asm.c \
 	xc16x-desc.c \
@@ -567,11 +570,8 @@ CFILES = \
 ALL_MACHINES = $(TARGET_LIBOPCODES_CFILES:.c=.lo)
 OFILES = @BFD_MACHINES@
 
-# We should reconfigure whenever bfd/configure.in changes, because
-# that's where the version number in Makefile comes from.
-CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in \
-	$(BFDDIR)/development.sh
-
+# development.sh is used to determine -Werror default.
+CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
 AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ @INCINTL@
 libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c
 # It's desirable to list ../bfd/libbfd.la in DEPENDENCIES and LIBADD.
@@ -925,6 +925,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/v850-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/v850-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vax-dis.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/visium-dis.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/visium-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w65-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xc16x-asm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xc16x-desc.Plo@am__quote@
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/makefile.vms ./opcodes/makefile.vms
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/makefile.vms	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/makefile.vms	2015-01-20 02:05:40.000000000 +0000
@@ -5,7 +5,7 @@
 #
 # Created by Klaus K"ampf, kkaempf@progis.de
 #
-#   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2015 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mcore-dis.c ./opcodes/mcore-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mcore-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mcore-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble Motorola M*Core instructions.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mcore-opc.h ./opcodes/mcore-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mcore-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mcore-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Assembler instructions for Motorola's Mcore processor
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-asm.c ./opcodes/mep-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mep-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-desc.c ./opcodes/mep-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mep-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-desc.h ./opcodes/mep-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mep-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-dis.c ./opcodes/mep-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mep-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-ibld.c ./opcodes/mep-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mep-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-opc.c ./opcodes/mep-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mep-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-opc.h ./opcodes/mep-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mep-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mep-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/metag-dis.c ./opcodes/metag-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/metag-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/metag-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble Imagination Technologies Meta instructions.
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Imagination Technologies Ltd.
 
    This library is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/microblaze-dis.c ./opcodes/microblaze-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/microblaze-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/microblaze-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Disassemble Xilinx microblaze instructions.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/microblaze-dis.h ./opcodes/microblaze-dis.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/microblaze-dis.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/microblaze-dis.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Disassemble Xilinx microblaze instructions.
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/microblaze-opc.h ./opcodes/microblaze-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/microblaze-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/microblaze-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* microblaze-opc.h -- MicroBlaze Opcodes
  
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/microblaze-opcm.h ./opcodes/microblaze-opcm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/microblaze-opcm.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/microblaze-opcm.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* microblaze-opcm.h -- Header used in microblaze-opc.h
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/micromips-opc.c ./opcodes/micromips-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/micromips-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/micromips-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* micromips-opc.c.  microMIPS opcode table.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Chao-ying Fu, MIPS Technologies, Inc.
 
    This file is part of the GNU opcodes library.
@@ -107,6 +107,7 @@ decode_micromips_operand (const char *p)
 	case 'F': MSB (5, 11, 33, TRUE, 64);	 /* (33 .. 64), 64-bit op */
 	case 'G': MSB (5, 11, 33, FALSE, 64);	 /* (33 .. 64), 64-bit op */
 	case 'H': MSB (5, 11, 1, FALSE, 64);	 /* (1 .. 32), 64-bit op */
+	case 'J': HINT (10, 16);
 	case 'T': INT_ADJ (10, 16, 511, 0, FALSE);	/* (-512 .. 511) << 0 */
 	case 'U': INT_ADJ (10, 16, 511, 1, FALSE);	/* (-512 .. 511) << 1 */
 	case 'V': INT_ADJ (10, 16, 511, 2, FALSE);	/* (-512 .. 511) << 2 */
@@ -158,7 +159,6 @@ decode_micromips_operand (const char *p)
     case '7': REG (2, 14, ACC);
     case '8': HINT (6, 14);
 
-    case 'B': HINT (10, 16);
     case 'C': HINT (23, 3);
     case 'D': REG (5, 11, FP);
     case 'E': REG (5, 21, COPRO);
@@ -202,6 +202,8 @@ decode_micromips_operand (const char *p)
 #define TRAP	INSN_NO_DELAY_SLOT
 #define LM	INSN_LOAD_MEMORY
 #define SM	INSN_STORE_MEMORY
+#define CM	INSN_COPROC_MOVE
+#define LC	INSN_LOAD_COPROC
 #define BD16	INSN2_BRANCH_DELAY_16BIT	/* Used in pinfo2.  */
 #define BD32	INSN2_BRANCH_DELAY_32BIT	/* Used in pinfo2.  */
 
@@ -294,10 +296,6 @@ const struct mips_opcode micromips_opcod
 {"li",			"md,mI",	    0xec00,     0xfc00,	WR_1,			0,		I1,		0,	0 },
 {"li",			"t,j",		0x30000000, 0xfc1f0000,	WR_1,			INSN2_ALIAS,	I1,		0,	0 }, /* addiu */
 {"li",			"t,i",		0x50000000, 0xfc1f0000,	WR_1,			INSN2_ALIAS,	I1,		0,	0 }, /* ori */
-#if 0
-/* Disabled until we can handle 48-bit opcodes.  */
-{"li",			"s,I",	0x7c0000010000, 0xfc00001f0000,	WR_t,			0,		I3,		0,	0 }, /* li48 */
-#endif
 {"li",			"t,I",		0,    (int) M_LI,	INSN_MACRO,		0,		I1,		0,	0 },
 {"move",		"d,s",		0,    (int) M_MOVE,	INSN_MACRO,		0,		I1,		0,	0 },
 {"move",		"mp,mj",	    0x0c00,     0xfc00,	WR_1|RD_2,		0,		I1,		0,	0 },
@@ -540,14 +538,14 @@ const struct mips_opcode micromips_opcod
 {"ceil.l.s",		"T,S",		0x5400133b, 0xfc00ffff,	WR_1|RD_2|FP_S|FP_D,	0,		I1,		0,	0 },
 {"ceil.w.d",		"T,S",		0x54005b3b, 0xfc00ffff,	WR_1|RD_2|FP_S|FP_D,	0,		I1,		0,	0 },
 {"ceil.w.s",		"T,S",		0x54001b3b, 0xfc00ffff,	WR_1|RD_2|FP_S,		0,		I1,		0,	0 },
-{"cfc1",		"t,G",		0x5400103b, 0xfc00ffff,	WR_1|RD_C1|FP_S,	0,		I1,		0,	0 },
-{"cfc1",		"t,S",		0x5400103b, 0xfc00ffff,	WR_1|RD_C1|FP_S,	0,		I1,		0,	0 },
+{"cfc1",		"t,G",		0x5400103b, 0xfc00ffff,	WR_1|RD_C1,		0,		I1,		0,	0 },
+{"cfc1",		"t,S",		0x5400103b, 0xfc00ffff,	WR_1|RD_C1,		0,		I1,		0,	0 },
 {"cfc2",		"t,G",		0x0000cd3c, 0xfc00ffff,	WR_1|RD_C2,		0,		I1,		0,	0 },
 {"clo",			"t,s",		0x00004b3c, 0xfc00ffff,	WR_1|RD_2,		0,		I1,		0,	0 },
 {"clz",			"t,s",		0x00005b3c, 0xfc00ffff,	WR_1|RD_2,		0,		I1,		0,	0 },
 {"cop2",		"C",		0x00000002, 0xfc000007,	CP,			0,		I1,		0,	0 },
-{"ctc1",		"t,G",		0x5400183b, 0xfc00ffff,	RD_1|WR_CC|FP_S,	0,		I1,		0,	0 },
-{"ctc1",		"t,S",		0x5400183b, 0xfc00ffff,	RD_1|WR_CC|FP_S,	0,		I1,		0,	0 },
+{"ctc1",		"t,G",		0x5400183b, 0xfc00ffff,	RD_1|WR_CC,		0,		I1,		0,	0 },
+{"ctc1",		"t,S",		0x5400183b, 0xfc00ffff,	RD_1|WR_CC,		0,		I1,		0,	0 },
 {"ctc2",		"t,G",		0x0000dd3c, 0xfc00ffff,	RD_1|WR_C2|WR_CC,	0,		I1,		0,	0 },
 {"cvt.d.l",		"T,S",		0x5400537b, 0xfc00ffff,	WR_1|RD_2|FP_D,		0,		I1,		0,	0 },
 {"cvt.d.s",		"T,S",		0x5400137b, 0xfc00ffff,	WR_1|RD_2|FP_S|FP_D,	0,		I1,		0,	0 },
@@ -623,10 +621,10 @@ const struct mips_opcode micromips_opcod
 {"dmtc0",		"t,G,H",	0x580002fc, 0xfc00c7ff,	RD_1|WR_C0|WR_CC,	0,		I3,		0,	0 },
 {"dmtgc0",		"t,G",		0x580006fc, 0xfc00ffff,	RD_1|WR_C0|WR_CC,	0,		0,		IVIRT64, 0 },
 {"dmtgc0",		"t,G,H",	0x580006fc, 0xfc00c7ff,	RD_1|WR_C0|WR_CC,	0,		0,		IVIRT64, 0 },
-{"dmfc1",		"t,S",		0x5400243b, 0xfc00ffff,	WR_1|RD_2|FP_S,		0,		I3,		0,	0 },
-{"dmfc1",		"t,G",		0x5400243b, 0xfc00ffff,	WR_1|RD_2|FP_S,		0,		I3,		0,	0 },
-{"dmtc1",		"t,G",		0x54002c3b, 0xfc00ffff,	RD_1|WR_2|FP_S,		0,		I3,		0,	0 },
-{"dmtc1",		"t,S",		0x54002c3b, 0xfc00ffff,	RD_1|WR_2|FP_S,		0,		I3,		0,	0 },
+{"dmfc1",		"t,S",		0x5400243b, 0xfc00ffff,	WR_1|RD_2|FP_S|LC,	0,		I3,		0,	0 },
+{"dmfc1",		"t,G",		0x5400243b, 0xfc00ffff,	WR_1|RD_2|FP_S|LC,	0,		I3,		0,	0 },
+{"dmtc1",		"t,G",		0x54002c3b, 0xfc00ffff,	RD_1|WR_2|FP_S|CM,	0,		I3,		0,	0 },
+{"dmtc1",		"t,S",		0x54002c3b, 0xfc00ffff,	RD_1|WR_2|FP_S|CM,	0,		I3,		0,	0 },
 {"dmfc2",		"t,G",		0x00006d3c, 0xfc00ffff,	WR_1|RD_C2,		0,		I3,		0,	0 },
 /*{"dmfc2",		"t,G,H",	0x58000283, 0xfc001fff,	WR_1|RD_C2,		0,		I3,		0,	0 },*/
 {"dmtc2",		"t,G",		0x00007d3c, 0xfc00ffff,	RD_1|WR_C2|WR_CC,	0,		I3,		0,	0 },
@@ -690,7 +688,7 @@ const struct mips_opcode micromips_opcod
 {"floor.w.d",		"T,V",		0x54004b3b, 0xfc00ffff,	WR_1|RD_2|FP_S|FP_D,	0,		I1,		0,	0 },
 {"floor.w.s",		"T,V",		0x54000b3b, 0xfc00ffff,	WR_1|RD_2|FP_S,		0,		I1,		0,	0 },
 {"hypcall",		"",		0x0000c37c, 0xffffffff,	TRAP,			0,		0,		IVIRT,	0 },
-{"hypcall",		"B",		0x0000c37c, 0xfc00ffff,	TRAP,			0,		0,		IVIRT,	0 },
+{"hypcall",		"+J",		0x0000c37c, 0xfc00ffff,	TRAP,			0,		0,		IVIRT,	0 },
 {"ins",			"t,r,+A,+B",	0x0000000c, 0xfc00003f, WR_1|RD_2,		0,		I1,		0,	0 },
 {"iret",		"",		0x0000d37c, 0xffffffff,	NODS,			0,		0,		MC,	0 },
 {"jr",			"mj",		    0x4580,     0xffe0,	RD_1|UBD,		0,		I1,		0,	0 },
@@ -823,13 +821,13 @@ const struct mips_opcode micromips_opcod
 {"maddu",		"7,s,t",	0x00001abc, 0xfc003fff,	RD_2|RD_3|MOD_a,	0,		0,		D32,	0 },
 {"mfc0",		"t,G",		0x000000fc, 0xfc00ffff,	WR_1|RD_C0,		0,		I1,		0,	0 },
 {"mfc0",		"t,G,H",	0x000000fc, 0xfc00c7ff,	WR_1|RD_C0,		0,		I1,		0,	0 },
-{"mfc1",		"t,S",		0x5400203b, 0xfc00ffff,	WR_1|RD_2|FP_S,		0,		I1,		0,	0 },
-{"mfc1",		"t,G",		0x5400203b, 0xfc00ffff,	WR_1|RD_2|FP_S,		0,		I1,		0,	0 },
+{"mfc1",		"t,S",		0x5400203b, 0xfc00ffff,	WR_1|RD_2|FP_S|LC,	0,		I1,		0,	0 },
+{"mfc1",		"t,G",		0x5400203b, 0xfc00ffff,	WR_1|RD_2|FP_S|LC,	0,		I1,		0,	0 },
 {"mfc2",		"t,G",		0x00004d3c, 0xfc00ffff,	WR_1|RD_C2,		0,		I1,		0,	0 },
 {"mfgc0",		"t,G",		0x000004fc, 0xfc00ffff,	WR_1|RD_C0,		0,		0,		IVIRT,	0 },
 {"mfgc0",		"t,G,H",	0x000004fc, 0xfc00c7ff,	WR_1|RD_C0,		0,		0,		IVIRT,	0 },
-{"mfhc1",		"t,S",		0x5400303b, 0xfc00ffff,	WR_1|RD_2|FP_D,		0,		I1,		0,	0 },
-{"mfhc1",		"t,G",		0x5400303b, 0xfc00ffff,	WR_1|RD_2|FP_D,		0,		I1,		0,	0 },
+{"mfhc1",		"t,S",		0x5400303b, 0xfc00ffff,	WR_1|RD_2|FP_D|LC,	0,		I1,		0,	0 },
+{"mfhc1",		"t,G",		0x5400303b, 0xfc00ffff,	WR_1|RD_2|FP_D|LC,	0,		I1,		0,	0 },
 {"mfhc2",		"t,G",		0x00008d3c, 0xfc00ffff,	WR_1|RD_C2,		0,		I1,		0,	0 },
 {"mfhi",		"mj",		    0x4600,     0xffe0,	WR_1|RD_HI,		0,		I1,		0,	0 },
 {"mfhi",		"s",		0x00000d7c, 0xffe0ffff,	WR_1|RD_HI,		0,		I1,		0,	0 },
@@ -869,13 +867,13 @@ const struct mips_opcode micromips_opcod
 {"msubu",		"7,s,t",	0x00003abc, 0xfc003fff,	RD_2|RD_3|MOD_a,	0,		0,		D32,	0 },
 {"mtc0",		"t,G",		0x000002fc, 0xfc00ffff,	RD_1|WR_C0|WR_CC,	0,		I1,		0,	0 },
 {"mtc0",		"t,G,H",	0x000002fc, 0xfc00c7ff,	RD_1|WR_C0|WR_CC,	0,		I1,		0,	0 },
-{"mtc1",		"t,S",		0x5400283b, 0xfc00ffff,	RD_1|WR_2|FP_S,		0,		I1,		0,	0 },
-{"mtc1",		"t,G",		0x5400283b, 0xfc00ffff,	RD_1|WR_2|FP_S,		0,		I1,		0,	0 },
+{"mtc1",		"t,S",		0x5400283b, 0xfc00ffff,	RD_1|WR_2|FP_S|CM,	0,		I1,		0,	0 },
+{"mtc1",		"t,G",		0x5400283b, 0xfc00ffff,	RD_1|WR_2|FP_S|CM,	0,		I1,		0,	0 },
 {"mtc2",		"t,G",		0x00005d3c, 0xfc00ffff,	RD_1|WR_C2|WR_CC,	0,		I1,		0,	0 },
 {"mtgc0",		"t,G",		0x000006fc, 0xfc00ffff,	RD_1|WR_C0|WR_CC,	0,		0,		IVIRT,	0 },
 {"mtgc0",		"t,G,H",	0x000006fc, 0xfc00c7ff,	RD_1|WR_C0|WR_CC,	0,		0,		IVIRT,	0 },
-{"mthc1",		"t,S",		0x5400383b, 0xfc00ffff,	RD_1|WR_2|FP_D,		0,		I1,		0,	0 },
-{"mthc1",		"t,G",		0x5400383b, 0xfc00ffff,	RD_1|WR_2|FP_D,		0,		I1,		0,	0 },
+{"mthc1",		"t,S",		0x5400383b, 0xfc00ffff,	RD_1|WR_2|FP_D|CM,	0,		I1,		0,	0 },
+{"mthc1",		"t,G",		0x5400383b, 0xfc00ffff,	RD_1|WR_2|FP_D|CM,	0,		I1,		0,	0 },
 {"mthc2",		"t,G",		0x00009d3c, 0xfc00ffff,	RD_1|WR_C2|WR_CC,	0,		I1,		0,	0 },
 {"mthi",		"s",		0x00002d7c, 0xffe0ffff,	RD_1|WR_HI,		0,		I1,		0,	0 },
 {"mthi",		"s,7",		0x0000207c, 0xffe03fff,	RD_1|WR_HI,		0,		0,		D32,	0 },
@@ -965,7 +963,7 @@ const struct mips_opcode micromips_opcod
 {"sdbbp",		"",		    0x46c0,     0xffff,	TRAP,			0,		I1,		0,	0 },
 {"sdbbp",		"",		0x0000db7c, 0xffffffff,	TRAP,			0,		I1,		0,	0 },
 {"sdbbp",		"mO",		    0x46c0,     0xfff0,	TRAP,			0,		I1,		0,	0 },
-{"sdbbp",		"B",		0x0000db7c, 0xfc00ffff,	TRAP,			0,		I1,		0,	0 },
+{"sdbbp",		"+J",		0x0000db7c, 0xfc00ffff,	TRAP,			0,		I1,		0,	0 },
 {"sdc1",		"T,o(b)",	0xb8000000, 0xfc000000,	RD_1|RD_3|SM|FP_D,	0,		I1,		0,	0 },
 {"sdc1",		"E,o(b)",	0xb8000000, 0xfc000000,	RD_1|RD_3|SM|FP_D,	0,		I1,		0,	0 },
 {"sdc1",		"T,A(b)",	0,    (int) M_SDC1_AB,	INSN_MACRO,		INSN2_M_FP_D,	I1,		0,	0 },
@@ -1068,7 +1066,7 @@ const struct mips_opcode micromips_opcod
 {"sync",		"1",		0x00006b7c, 0xffe0ffff,	NODS,			0,		I1,		0,	0 },
 {"synci",		"o(b)",		0x42000000, 0xffe00000,	RD_2|SM,		0,		I1,		0,	0 },
 {"syscall",		"",		0x00008b7c, 0xffffffff,	TRAP,			0,		I1,		0,	0 },
-{"syscall",		"B",		0x00008b7c, 0xfc00ffff,	TRAP,			0,		I1,		0,	0 },
+{"syscall",		"+J",		0x00008b7c, 0xfc00ffff,	TRAP,			0,		I1,		0,	0 },
 {"teqi",		"s,j",		0x41c00000, 0xffe00000,	RD_1|TRAP,		0,		I1,		0,	0 },
 {"teq",			"s,t",		0x0000003c, 0xfc00ffff,	RD_1|RD_2|TRAP,		0,		I1,		0,	0 },
 {"teq",			"s,t,|",	0x0000003c, 0xfc000fff,	RD_1|RD_2|TRAP,		0,		I1,		0,	0 },
@@ -1123,7 +1121,7 @@ const struct mips_opcode micromips_opcod
 {"ush",			"t,A(b)",	0,    (int) M_USH_AB,	INSN_MACRO,		0,		I1,		0,	0 },
 {"usw",			"t,A(b)",	0,    (int) M_USW_AB,	INSN_MACRO,		0,		I1,		0,	0 },
 {"wait",		"",		0x0000937c, 0xffffffff,	NODS,			0,		I1,		0,	0 },
-{"wait",		"B",		0x0000937c, 0xfc00ffff,	NODS,			0,		I1,		0,	0 },
+{"wait",		"+J",		0x0000937c, 0xfc00ffff,	NODS,			0,		I1,		0,	0 },
 {"wrpgpr",		"t,r",		0x0000f17c, 0xfc00ffff,	RD_2,			0,		I1,		0,	0 },
 {"wsbh",		"t,r",		0x00007b3c, 0xfc00ffff,	WR_1|RD_2,		0,		I1,		0,	0 },
 {"xor",			"mf,mt,mg",	    0x4440,     0xffc0,	MOD_1|RD_3,		0,		I1,		0,	0 },
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mips16-opc.c ./opcodes/mips16-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mips16-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mips16-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* mips16-opc.c.  Mips16 opcode table.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Ian Lance Taylor, Cygnus Support
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mips-dis.c ./opcodes/mips-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mips-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mips-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print mips instructions for GDB, the GNU debugger, or for objdump.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
    Contributed by Nobuyuki Hikichi(hikichi@sra.co.jp).
 
    This file is part of the GNU opcodes library.
@@ -572,6 +572,14 @@ const struct mips_arch_choice mips_arch_
     mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
     mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
 
+  { "mips32r6",	1, bfd_mach_mipsisa32r6, CPU_MIPS32R6,
+    ISA_MIPS32R6,
+    (ASE_EVA | ASE_MSA | ASE_VIRT | ASE_XPA | ASE_MCU | ASE_MT | ASE_DSP
+     | ASE_DSPR2),
+    mips_cp0_names_mips3264r2,
+    mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
+    mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
+
   /* For stock MIPS64, disassemble all applicable MIPS-specified ASEs.  */
   { "mips64",	1, bfd_mach_mipsisa64, CPU_MIPS64,
     ISA_MIPS64,  ASE_MIPS3D | ASE_MDMX,
@@ -603,6 +611,14 @@ const struct mips_arch_choice mips_arch_
     mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
     mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
 
+  { "mips64r6",	1, bfd_mach_mipsisa64r6, CPU_MIPS64R6,
+    ISA_MIPS64R6,
+    (ASE_EVA | ASE_MSA | ASE_MSA64 | ASE_XPA | ASE_VIRT | ASE_VIRT64
+     | ASE_MCU | ASE_MT | ASE_DSP | ASE_DSPR2),
+    mips_cp0_names_mips3264r2,
+    mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
+    mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
+
   { "sb1",	1, bfd_mach_mips_sb1, CPU_SB1,
     ISA_MIPS64 | INSN_SB1,  ASE_MIPS3D,
     mips_cp0_names_sb1,
@@ -633,6 +649,11 @@ const struct mips_arch_choice mips_arch_
     ISA_MIPS64R2 | INSN_OCTEON2, 0, mips_cp0_names_numeric,
     NULL, 0, mips_cp1_names_mips3264, mips_hwr_names_numeric },
 
+  { "octeon3",   1, bfd_mach_mips_octeon3, CPU_OCTEON3,
+    ISA_MIPS64R5 | INSN_OCTEON3, ASE_VIRT | ASE_VIRT64,
+    mips_cp0_names_numeric,
+    NULL, 0, mips_cp1_names_mips3264, mips_hwr_names_numeric },
+
   { "xlr", 1, bfd_mach_mips_xlr, CPU_XLR,
     ISA_MIPS64 | INSN_XLR, 0,
     mips_cp0_names_xlr,
@@ -832,7 +853,8 @@ parse_mips_dis_option (const char *optio
       mips_ase |= ASE_MSA;
       if ((mips_isa & INSN_ISA_MASK) == ISA_MIPS64R2
 	   || (mips_isa & INSN_ISA_MASK) == ISA_MIPS64R3
-	   || (mips_isa & INSN_ISA_MASK) == ISA_MIPS64R5)
+	   || (mips_isa & INSN_ISA_MASK) == ISA_MIPS64R5
+	   || (mips_isa & INSN_ISA_MASK) == ISA_MIPS64R6)
 	  mips_ase |= ASE_MSA64;
       return;
     }
@@ -842,7 +864,8 @@ parse_mips_dis_option (const char *optio
       mips_ase |= ASE_VIRT;
       if (mips_isa & ISA_MIPS64R2
 	  || mips_isa & ISA_MIPS64R3
-	  || mips_isa & ISA_MIPS64R5)
+	  || mips_isa & ISA_MIPS64R5
+	  || mips_isa & ISA_MIPS64R6)
 	mips_ase |= ASE_VIRT64;
       return;
     }
@@ -1084,6 +1107,8 @@ struct mips_print_arg_state {
      OP_REPEAT_DEST_REG and OP_REPEAT_PREV_REG.  */
   enum mips_reg_operand_type last_reg_type;
   unsigned int last_regno;
+  unsigned int dest_regno;
+  unsigned int seen_dest;
 };
 
 /* Initialize STATE for the start of an instruction.  */
@@ -1113,6 +1138,23 @@ print_vu0_channel (struct disassemble_in
     abort ();
 }
 
+/* Record information about a register operand.  */
+
+static void
+mips_seen_register (struct mips_print_arg_state *state,
+		    unsigned int regno,
+		    enum mips_reg_operand_type reg_type)
+{
+  state->last_reg_type = reg_type;
+  state->last_regno = regno;
+
+  if (!state->seen_dest)
+    {
+      state->seen_dest = 1;
+      state->dest_regno = regno;
+    }
+}
+
 /* Print operand OPERAND of OPCODE, using STATE to track inter-operand state.
    UVAL is the encoding of the operand (shifted into bit 0) and BASE_PC is
    the base address for OP_PCREL operands.  */
@@ -1179,8 +1221,7 @@ print_insn_arg (struct disassemble_info 
 	uval = mips_decode_reg_operand (reg_op, uval);
 	print_reg (info, opcode, reg_op->reg_type, uval);
 
-	state->last_reg_type = reg_op->reg_type;
-	state->last_regno = uval;
+	mips_seen_register (state, uval, reg_op->reg_type);
       }
       break;
 
@@ -1246,6 +1287,15 @@ print_insn_arg (struct disassemble_info 
       }
       break;
 
+    case OP_SAME_RS_RT:
+    case OP_CHECK_PREV:
+    case OP_NON_ZERO_REG:
+      {
+	print_reg (info, opcode, OP_REG_GP, uval & 31);
+	mips_seen_register (state, uval, OP_REG_GP);
+      }
+      break;
+
     case OP_LWM_SWM_LIST:
       if (operand->size == 2)
 	{
@@ -1368,8 +1418,8 @@ print_insn_arg (struct disassemble_info 
       break;
 
     case OP_REPEAT_DEST_REG:
-      /* Should always match OP_REPEAT_PREV_REG first.  */
-      abort ();
+      print_reg (info, opcode, state->last_reg_type, state->dest_regno);
+      break;
 
     case OP_PC:
       infprintf (is, "$pc");
@@ -1392,15 +1442,130 @@ print_insn_arg (struct disassemble_info 
     }
 }
 
+/* Validate the arguments for INSN, which is described by OPCODE.
+   Use DECODE_OPERAND to get the encoding of each operand.  */
+
+static bfd_boolean
+validate_insn_args (const struct mips_opcode *opcode,
+		    const struct mips_operand *(*decode_operand) (const char *),
+		    unsigned int insn)
+{
+  struct mips_print_arg_state state;
+  const struct mips_operand *operand;
+  const char *s;
+  unsigned int uval;
+
+  init_print_arg_state (&state);
+  for (s = opcode->args; *s; ++s)
+    {
+      switch (*s)
+	{
+	case ',':
+	case '(':
+	case ')':
+	  break;
+
+	case '#':
+	  ++s;
+	  break;
+
+	default:
+	  operand = decode_operand (s);
+
+	  if (operand)
+	    {
+	      uval = mips_extract_operand (operand, insn);
+	      switch (operand->type)
+		{
+		case OP_REG:
+		case OP_OPTIONAL_REG:
+		  {
+		    const struct mips_reg_operand *reg_op;
+
+		    reg_op = (const struct mips_reg_operand *) operand;
+		    uval = mips_decode_reg_operand (reg_op, uval);
+		    mips_seen_register (&state, uval, reg_op->reg_type);
+		  }
+		break;
+
+		case OP_SAME_RS_RT:
+		  {
+		    unsigned int reg1, reg2;
+
+		    reg1 = uval & 31;
+		    reg2 = uval >> 5;
+
+		    if (reg1 != reg2 || reg1 == 0)
+		      return FALSE;
+		  }
+		break;
+
+		case OP_CHECK_PREV:
+		  {
+		    const struct mips_check_prev_operand *prev_op;
+
+		    prev_op = (const struct mips_check_prev_operand *) operand;
+
+		    if (!prev_op->zero_ok && uval == 0)
+		      return FALSE;
+
+		    if (((prev_op->less_than_ok && uval < state.last_regno)
+			|| (prev_op->greater_than_ok && uval > state.last_regno)
+			|| (prev_op->equal_ok && uval == state.last_regno)))
+		      break;
+
+		    return FALSE;
+		  }
+
+		case OP_NON_ZERO_REG:
+		  {
+		    if (uval == 0)
+		      return FALSE;
+		  }
+		break;
+
+		case OP_INT:
+		case OP_MAPPED_INT:
+		case OP_MSB:
+		case OP_REG_PAIR:
+		case OP_PCREL:
+		case OP_PERF_REG:
+		case OP_ADDIUSP_INT:
+		case OP_CLO_CLZ_DEST:
+		case OP_LWM_SWM_LIST:
+		case OP_ENTRY_EXIT_LIST:
+		case OP_MDMX_IMM_REG:
+		case OP_REPEAT_PREV_REG:
+		case OP_REPEAT_DEST_REG:
+		case OP_PC:
+		case OP_VU0_SUFFIX:
+		case OP_VU0_MATCH_SUFFIX:
+		case OP_IMM_INDEX:
+		case OP_REG_INDEX:
+		  break;
+
+		case OP_SAVE_RESTORE_LIST:
+		/* Should be handled by the caller due to extend behavior.  */
+		  abort ();
+		}
+	    }
+	  if (*s == 'm' || *s == '+' || *s == '-')
+	    ++s;
+	}
+    }
+  return TRUE;
+}
+
 /* Print the arguments for INSN, which is described by OPCODE.
    Use DECODE_OPERAND to get the encoding of each operand.  Use BASE_PC
-   as the base of OP_PCREL operands.  */
+   as the base of OP_PCREL operands, adjusting by LENGTH if the OP_PCREL
+   operand is for a branch or jump.  */
 
 static void
 print_insn_args (struct disassemble_info *info,
 		 const struct mips_opcode *opcode,
 		 const struct mips_operand *(*decode_operand) (const char *),
-		 unsigned int insn, bfd_vma base_pc)
+		 unsigned int insn, bfd_vma insn_pc, unsigned int length)
 {
   const fprintf_ftype infprintf = info->fprintf_func;
   void *is = info->stream;
@@ -1462,9 +1627,27 @@ print_insn_args (struct disassemble_info
 		infprintf (is, "$%d,%d", reg, sel);
 	    }
 	  else
-	    print_insn_arg (info, &state, opcode, operand, base_pc,
-			    mips_extract_operand (operand, insn));
-	  if (*s == 'm' || *s == '+')
+	    {
+	      bfd_vma base_pc = insn_pc;
+
+	      /* Adjust the PC relative base so that branch/jump insns use
+		 the following PC as the base but genuinely PC relative
+		 operands use the current PC.  */
+	      if (operand->type == OP_PCREL)
+		{
+		  const struct mips_pcrel_operand *pcrel_op;
+
+		  pcrel_op = (const struct mips_pcrel_operand *) operand;
+		  /* The include_isa_bit flag is sufficient to distinguish
+		     branch/jump from other PC relative operands.  */
+		  if (pcrel_op->include_isa_bit)
+		    base_pc += length;
+		}
+
+	      print_insn_arg (info, &state, opcode, operand, base_pc,
+			      mips_extract_operand (operand, insn));
+	    }
+	  if (*s == 'm' || *s == '+' || *s == '-')
 	    ++s;
 	  break;
 	}
@@ -1530,9 +1713,11 @@ print_insn_mips (bfd_vma memaddr,
 	      && !(no_aliases && (op->pinfo2 & INSN2_ALIAS))
 	      && (word & op->mask) == op->match)
 	    {
-	      /* We always allow to disassemble the jalx instruction.  */
+	      /* We always disassemble the jalx instruction, except for MIPS r6.  */
 	      if (!opcode_is_member (op, mips_isa, mips_ase, mips_processor)
-		  && strcmp (op->name, "jalx"))
+		 && (strcmp (op->name, "jalx")
+		     || (mips_isa & INSN_ISA_MASK) == ISA_MIPS32R6
+		     || (mips_isa & INSN_ISA_MASK) == ISA_MIPS64R6))
 		continue;
 
 	      /* Figure out instruction type and branch delay information.  */
@@ -1557,6 +1742,9 @@ print_insn_mips (bfd_vma memaddr,
 				     | INSN_LOAD_MEMORY)) != 0)
 		info->insn_type = dis_dref;
 
+	      if (!validate_insn_args (op, decode_mips_operand, word))
+		continue;
+
 	      infprintf (is, "%s", op->name);
 	      if (op->pinfo2 & INSN2_VU0_CHANNEL_SUFFIX)
 		{
@@ -1571,7 +1759,7 @@ print_insn_mips (bfd_vma memaddr,
 		{
 		  infprintf (is, "\t");
 		  print_insn_args (info, op, decode_mips_operand, word,
-				   memaddr + 4);
+				   memaddr, 4);
 		}
 
 	      return INSNLEN;
@@ -2077,13 +2265,16 @@ print_insn_micromips (bfd_vma memaddr, s
 	  && ((length == 2 && (op->mask & 0xffff0000) == 0)
 	      || (length == 4 && (op->mask & 0xffff0000) != 0)))
 	{
+	  if (!validate_insn_args (op, decode_micromips_operand, insn))
+	    continue;
+
 	  infprintf (is, "%s", op->name);
 
 	  if (op->args[0])
 	    {
 	      infprintf (is, "\t");
 	      print_insn_args (info, op, decode_micromips_operand, insn,
-			       memaddr + length + 1);
+			       memaddr + 1, length);
 	    }
 
 	  /* Figure out instruction type and branch delay information.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mips-formats.h ./opcodes/mips-formats.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mips-formats.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mips-formats.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* mips-formats.h
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    This library is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -134,3 +134,11 @@
     static const struct mips_operand op = { OP_##TYPE, SIZE, LSB }; \
     return &op; \
   }
+
+#define PREV_CHECK(SIZE, LSB, GT_OK, LT_OK, EQ_OK, ZERO_OK) \
+  { \
+    static const struct mips_check_prev_operand op = { \
+      { OP_CHECK_PREV, SIZE, LSB }, GT_OK, LT_OK, EQ_OK, ZERO_OK \
+    }; \
+    return &op.root; \
+  }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mips-opc.c ./opcodes/mips-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mips-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mips-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* mips-opc.c -- MIPS opcode list.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
    Contributed by Ralph Campbell and OSF
    Commented and modified by Ian Lance Taylor, Cygnus Support
    Extended for MIPS32 support by Anders Norlander, and by SiByte, Inc.
@@ -40,6 +40,24 @@ decode_mips_operand (const char *p)
 {
   switch (p[0])
     {
+    case '-':
+      switch (p[1])
+	{
+	case 'a': INT_ADJ (19, 0, 262143, 2, FALSE);
+	case 'b': INT_ADJ (18, 0, 131071, 3, FALSE);
+	case 'd': SPECIAL (0, 0, REPEAT_DEST_REG);
+	case 's': SPECIAL (5, 21, NON_ZERO_REG);
+	case 't': SPECIAL (5, 16, NON_ZERO_REG);
+	case 'u': PREV_CHECK (5, 16, TRUE, FALSE, FALSE, TRUE);
+	case 'v': PREV_CHECK (5, 16, TRUE, TRUE, FALSE, FALSE);
+	case 'w': PREV_CHECK (5, 16, FALSE, TRUE, TRUE, TRUE);
+	case 'x': PREV_CHECK (5, 21, TRUE, FALSE, FALSE, TRUE);
+	case 'y': PREV_CHECK (5, 21, FALSE, TRUE, TRUE, FALSE);
+	case 'A': PCREL (19, 0, TRUE, 2, 2, FALSE, FALSE);
+	case 'B': PCREL (18, 0, TRUE, 3, 3, FALSE, FALSE);
+	}
+      break;
+
     case '+':
       switch (p[1])
 	{
@@ -61,13 +79,16 @@ decode_mips_operand (const char *p)
 	case 'F': MSB (5, 11, 33, TRUE, 64);	/* (33 .. 64), 64-bit op */
 	case 'G': MSB (5, 11, 33, FALSE, 64);	/* (33 .. 64), 64-bit op */
 	case 'H': MSB (5, 11, 1, FALSE, 64);	/* (1 .. 32), 64-bit op */
+	case 'I': UINT (2, 6);
 	case 'J': HINT (10, 11);
 	case 'K': SPECIAL (4, 21, VU0_MATCH_SUFFIX);
 	case 'L': SPECIAL (2, 21, VU0_SUFFIX);
 	case 'M': SPECIAL (2, 23, VU0_SUFFIX);
 	case 'N': SPECIAL (2, 0, VU0_MATCH_SUFFIX);
+	case 'O': UINT (3, 6);
 	case 'P': BIT (5, 6, 32);		/* (32 .. 63) */
 	case 'Q': SINT (10, 6);
+	case 'R': SPECIAL (0, 0, PC);
 	case 'S': MSB (5, 11, 0, FALSE, 63);	/* (0 .. 31), 64-bit op */
 	case 'T': INT_ADJ (10, 16, 511, 0, FALSE); /* (-512 .. 511) << 0 */
 	case 'U': INT_ADJ (10, 16, 511, 1, FALSE); /* (-512 .. 511) << 1 */
@@ -113,6 +134,10 @@ decode_mips_operand (const char *p)
 	case '&': SPECIAL (0, 0, IMM_INDEX);
 	case '*': SPECIAL (5, 16, REG_INDEX);
 	case '|': BIT (8, 16, 0);		/* (0 .. 255) */
+	case ':': SINT (11, 0);
+	case '\'': BRANCH (26, 0, 2);
+	case '"': BRANCH (21, 0, 2);
+	case ';': SPECIAL (10, 16, SAME_RS_RT);
 	}
       break;
 
@@ -190,10 +215,10 @@ decode_mips_operand (const char *p)
 
 /* Short hand so the lines aren't too long.  */
 
-#define LCD	INSN_LOAD_COPROC_DELAY
+#define LC	INSN_LOAD_COPROC
 #define UBD     INSN_UNCOND_BRANCH_DELAY
 #define CBD	INSN_COND_BRANCH_DELAY
-#define COD     INSN_COPROC_MOVE_DELAY
+#define CM	INSN_COPROC_MOVE
 #define CLD	(INSN_LOAD_MEMORY|INSN_COPROC_MEMORY_DELAY)
 #define CBL	INSN_COND_BRANCH_LIKELY
 #define NODS	INSN_NO_DELAY_SLOT
@@ -241,6 +266,9 @@ decode_mips_operand (const char *p)
 #define WR_MACC INSN2_WRITE_MDMX_ACC
 #define RD_MACC INSN2_READ_MDMX_ACC
 
+#define RD_pc   INSN2_READ_PC
+#define FS      INSN2_FORBIDDEN_SLOT
+
 #define I1	INSN_ISA1
 #define I2	INSN_ISA2
 #define I3	INSN_ISA3
@@ -251,9 +279,11 @@ decode_mips_operand (const char *p)
 #define I33	INSN_ISA32R2
 #define I34	INSN_ISA32R3
 #define I36	INSN_ISA32R5
+#define I37	INSN_ISA32R6
 #define I65	INSN_ISA64R2
 #define I66	INSN_ISA64R3
 #define I68	INSN_ISA64R5
+#define I69	INSN_ISA64R6
 #define I3_32   INSN_ISA3_32
 #define I3_33   INSN_ISA3_32R2
 #define I4_32   INSN_ISA4_32
@@ -286,9 +316,10 @@ decode_mips_operand (const char *p)
 #define N5	(INSN_5400 | INSN_5500)
 #define N54	INSN_5400
 #define N55	INSN_5500
-#define IOCT	(INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2)
-#define IOCTP	(INSN_OCTEONP | INSN_OCTEON2)
-#define IOCT2	INSN_OCTEON2
+#define IOCT	(INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3)
+#define IOCTP	(INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3)
+#define IOCT2	(INSN_OCTEON2 | INSN_OCTEON3)
+#define IOCT3	INSN_OCTEON3
 #define XLR     INSN_XLR
 #define IVIRT	ASE_VIRT
 #define IVIRT64	ASE_VIRT64
@@ -383,9 +414,10 @@ const struct mips_opcode mips_builtin_op
    them first.  The assemblers uses a hash table based on the
    instruction name anyhow.  */
 /* name,		args,		match,	    mask,	pinfo,          	pinfo2,		membership,	ase,	exclusions */
-{"pref",		"k,o(b)",	0xcc000000, 0xfc000000, RD_3|LM,           	0,		I4_32|G3,	0,	0 },
+{"pref",		"k,+j(b)",	0x7c000035, 0xfc00007f, RD_3,			0,		I37,		0,	0 },
+{"pref",		"k,o(b)",	0xcc000000, 0xfc000000, RD_3|LM,           	0,		I4_32|G3,	0,	I37 },
 {"pref",		"k,A(b)",	0,    (int) M_PREF_AB,	INSN_MACRO,		0,		I4_32|G3,	0,	0 },
-{"prefx",		"h,t(b)",	0x4c00000f, 0xfc0007ff, RD_2|RD_3|FP_S|LM,		0,		I4_33,		0,	0 },
+{"prefx",		"h,t(b)",	0x4c00000f, 0xfc0007ff, RD_2|RD_3|FP_S|LM,		0,		I4_33,		0,	I37 },
 {"nop",			"",		0x00000000, 0xffffffff, 0,              	INSN2_ALIAS,	I1,		0,	0 }, /* sll */
 {"ssnop",		"",		0x00000040, 0xffffffff, 0,              	INSN2_ALIAS,	I1,		0,	0 }, /* sll */
 {"ehb",			"",		0x000000c0, 0xffffffff, 0,              	INSN2_ALIAS,	I1,		0,	0 }, /* sll */
@@ -398,7 +430,12 @@ const struct mips_opcode mips_builtin_op
 {"move",		"d,s",		0x00000025, 0xfc1f07ff,	WR_1|RD_2,		INSN2_ALIAS,	I1,		0,	0 },/* or */
 {"b",			"p",		0x10000000, 0xffff0000,	UBD,			INSN2_ALIAS,	I1,		0,	0 },/* beq 0,0 */
 {"b",			"p",		0x04010000, 0xffff0000,	UBD,			INSN2_ALIAS,	I1,		0,	0 },/* bgez 0 */
+{"nal",			"",		0x04100000, 0xffffffff,	WR_31|CBD,		INSN2_ALIAS,	I1,		0,	0 },/* bltzal 0 */
 {"bal",			"p",		0x04110000, 0xffff0000,	WR_31|UBD,		INSN2_ALIAS,	I1,		0,	0 },/* bgezal 0*/
+{"bc",			"+'",		0xc8000000, 0xfc000000,	NODS,			0,		I37,		0,	0 },
+{"balc",		"+'",		0xe8000000, 0xfc000000,	WR_31|NODS,		0,		I37,		0,	0 },
+{"lapc",		"s,-A",		0xec000000, 0xfc180000, WR_1,			RD_pc,		I37,		0,	0 },
+{"la",			"t,A(b)",	0,    (int) M_LA_AB,	INSN_MACRO,		0,		I1,		0,	0 },
 
 /* Loongson specific instructions.  Loongson 3A redefines the Coprocessor 2
    instructions.  Put them here so that disassembler will find them first.
@@ -592,26 +629,28 @@ const struct mips_opcode mips_builtin_op
 {"abs",			"d,v",		0,    (int) M_ABS,	INSN_MACRO,		0,		I1,		0,	0 },
 {"abs.s",		"D,V",		0x46000005, 0xffff003f,	WR_1|RD_2|FP_S,		0,		I1,		0,	0 },
 {"abs.d",		"D,V",		0x46200005, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I1,		0,	SF },
-{"abs.ps",		"D,V",		0x46c00005, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I5_33|IL2F,	0,	0 },
+{"abs.ps",		"D,V",		0x46c00005, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I5_33|IL2F,	0,	I37 },
 {"abs.ps",		"D,V",		0x45600005, 0xffff003f,	WR_1|RD_2|FP_D,		0,		IL2E,		0,	0 },
 {"aclr",		"\\,~(b)",	0x04070000, 0xfc1f8000,	RD_3|LM|SM|NODS,	0,		0,		MC,	0 },
 {"aclr",		"\\,A(b)",	0,    (int) M_ACLR_AB,	INSN_MACRO,		0,		0,		MC,	0 },
 {"add",			"d,v,t",	0x00000020, 0xfc0007ff,	WR_1|RD_2|RD_3,		0,		I1,		0,	0 },
-{"add",			"t,r,I",	0,    (int) M_ADD_I,	INSN_MACRO,		0,		I1,		0,	0 },
+{"add",			"t,r,I",	0,    (int) M_ADD_I,	INSN_MACRO,		0,		I1,		0,	I37 },
 {"add",			"D,S,T",	0x45c00000, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2E,		0,	0 },
 {"add",			"D,S,T",	0x4b40000c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2F|IL3A,	0,	0 },
 {"add.s",		"D,V,T",	0x46000000, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I1,		0,	0 },
 {"add.d",		"D,V,T",	0x46200000, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I1,		0,	SF },
 {"add.ob",		"X,Y,Q",	0x7800000b, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		SB1,		MX,	0 },
 {"add.ob",		"D,S,Q",	0x4800000b, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		N54,		0,	0 },
-{"add.ps",		"D,V,T",	0x46c00000, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"add.ps",		"D,V,T",	0x46c00000, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"add.ps",		"D,V,T",	0x45600000, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"add.qh",		"X,Y,Q",	0x7820000b, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
 {"adda.ob",		"Y,Q",		0x78000037, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	SB1,		MX,	0 },
 {"adda.qh",		"Y,Q",		0x78200037, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	0,		MX,	0 },
 {"adda.s",		"S,T",		0x46000018, 0xffe007ff,	RD_1|RD_2|FP_S,		0,		EE,		0,	0 },
-{"addi",		"t,r,j",	0x20000000, 0xfc000000,	WR_1|RD_2,		0,		I1,		0,	0 },
+{"addi",		"t,r,j",	0x20000000, 0xfc000000,	WR_1|RD_2,		0,		I1,		0,	I37 },
 {"addiu",		"t,r,j",	0x24000000, 0xfc000000,	WR_1|RD_2,		0,		I1,		0,	0 },
+{"addiu",		"s,+R,-a",	0xec000000, 0xfc180000, WR_1,			RD_pc,		I37,		0,	0 },
+{"addiupc",		"s,-a",		0xec000000, 0xfc180000, WR_1,			RD_pc,		I37,		0,	0 },
 {"addl.ob",		"Y,Q",		0x78000437, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	SB1,		MX,	0 },
 {"addl.qh",		"Y,Q",		0x78200437, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	0,		MX,	0 },
 {"addr.ps",		"D,S,T",	0x46c00018, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		M3D,	0 },
@@ -622,7 +661,7 @@ const struct mips_opcode mips_builtin_op
 {"alni.ob",		"X,Y,Z,O",	0x78000018, 0xff00003f,	WR_1|RD_2|RD_3|FP_D,	0,		SB1,		MX,	0 },
 {"alni.ob",		"D,S,T,%",	0x48000018, 0xff00003f,	WR_1|RD_2|RD_3|FP_D, 	0,		N54,		0,	0 },
 {"alni.qh",		"X,Y,Z,O",	0x7800001a, 0xff00003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
-{"alnv.ps",		"D,V,T,s",	0x4c00001e, 0xfc00003f,	WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I5_33,		0,	0 },
+{"alnv.ps",		"D,V,T,s",	0x4c00001e, 0xfc00003f,	WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I5_33,		0,	I37 },
 {"alnv.ob",		"X,Y,Z,s",	0x78000019, 0xfc00003f,	WR_1|RD_2|RD_3|RD_4|FP_D, 0,		SB1,		MX,	0 },
 {"alnv.qh",		"X,Y,Z,s",	0x7800001b, 0xfc00003f,	WR_1|RD_2|RD_3|RD_4|FP_D, 0,		0,		MX,	0 },
 {"and",			"d,v,t",	0x00000024, 0xfc0007ff,	WR_1|RD_2|RD_3,		0,		I1,		0,	0 },
@@ -649,198 +688,200 @@ const struct mips_opcode mips_builtin_op
 {"bc1any2t",		"N,p",		0x45210000, 0xffe30000,	RD_CC|CBD|FP_S,		0,		0,		M3D,	0 },
 {"bc1any4f",		"N,p",		0x45400000, 0xffe30000,	RD_CC|CBD|FP_S,		0,		0,		M3D,	0 },
 {"bc1any4t",		"N,p",		0x45410000, 0xffe30000,	RD_CC|CBD|FP_S,		0,		0,		M3D,	0 },
-{"bc1f",		"p",		0x45000000, 0xffff0000,	RD_CC|CBD|FP_S,		0,		I1,		0,	0 },
-{"bc1f",		"N,p",		0x45000000, 0xffe30000, RD_CC|CBD|FP_S, 	0,		I4_32,		0,	0 },
-{"bc1fl",		"p",		0x45020000, 0xffff0000,	RD_CC|CBL|FP_S,		0,		I2|T3,		0,	0 },
-{"bc1fl",		"N,p",		0x45020000, 0xffe30000, RD_CC|CBL|FP_S, 	0,		I4_32,		0,	0 },
-{"bc1t",		"p",		0x45010000, 0xffff0000,	RD_CC|CBD|FP_S,		0,		I1,		0,	0 },
-{"bc1t",		"N,p",		0x45010000, 0xffe30000, RD_CC|CBD|FP_S, 	0,		I4_32,		0,	0 },
-{"bc1tl",		"p",		0x45030000, 0xffff0000,	RD_CC|CBL|FP_S,		0,		I2|T3,		0,	0 },
-{"bc1tl",		"N,p",		0x45030000, 0xffe30000, RD_CC|CBL|FP_S, 	0,		I4_32,		0,	0 },
+{"bc1eqz",		"T,p",		0x45200000, 0xffe00000,	RD_1|CBD|FP_S,		0,		I37,		0,	0 },
+{"bc1f",		"p",		0x45000000, 0xffff0000,	RD_CC|CBD|FP_S,		0,		I1,		0,	I37 },
+{"bc1f",		"N,p",		0x45000000, 0xffe30000, RD_CC|CBD|FP_S, 	0,		I4_32,		0,	I37 },
+{"bc1fl",		"p",		0x45020000, 0xffff0000,	RD_CC|CBL|FP_S,		0,		I2|T3,		0,	I37 },
+{"bc1fl",		"N,p",		0x45020000, 0xffe30000, RD_CC|CBL|FP_S, 	0,		I4_32,		0,	I37 },
+{"bc1nez",		"T,p",		0x45a00000, 0xffe00000,	RD_1|CBD|FP_S,		0,		I37,		0,	0 },
+{"bc1t",		"p",		0x45010000, 0xffff0000,	RD_CC|CBD|FP_S,		0,		I1,		0,	I37 },
+{"bc1t",		"N,p",		0x45010000, 0xffe30000, RD_CC|CBD|FP_S, 	0,		I4_32,		0,	I37 },
+{"bc1tl",		"p",		0x45030000, 0xffff0000,	RD_CC|CBL|FP_S,		0,		I2|T3,		0,	I37 },
+{"bc1tl",		"N,p",		0x45030000, 0xffe30000, RD_CC|CBL|FP_S, 	0,		I4_32,		0,	I37 },
 /* bc2* are at the bottom of the table.  */
 /* bc3* are at the bottom of the table.  */
 {"beqz",		"s,p",		0x10000000, 0xfc1f0000,	RD_1|CBD,		0,		I1,		0,	0 },
-{"beqzl",		"s,p",		0x50000000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	0 },
+{"beqzl",		"s,p",		0x50000000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	I37 },
 {"beq",			"s,t,p",	0x10000000, 0xfc000000,	RD_1|RD_2|CBD,		0,		I1,		0,	0 },
 {"beq",			"s,I,p",	0,    (int) M_BEQ_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"beql",		"s,t,p",	0x50000000, 0xfc000000,	RD_1|RD_2|CBL,		0,		I2|T3,		0,	0 },
-{"beql",		"s,I,p",	0,    (int) M_BEQL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"beql",		"s,t,p",	0x50000000, 0xfc000000,	RD_1|RD_2|CBL,		0,		I2|T3,		0,	I37 },
+{"beql",		"s,I,p",	0,    (int) M_BEQL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"bge",			"s,t,p",	0,    (int) M_BGE,	INSN_MACRO,		0,		I1,		0,	0 },
 {"bge",			"s,I,p",	0,    (int) M_BGE_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"bgel",		"s,t,p",	0,    (int) M_BGEL,	INSN_MACRO,		0,		I2|T3,		0,	0 },
-{"bgel",		"s,I,p",	0,    (int) M_BGEL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"bgel",		"s,t,p",	0,    (int) M_BGEL,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
+{"bgel",		"s,I,p",	0,    (int) M_BGEL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"bgeu",		"s,t,p",	0,    (int) M_BGEU,	INSN_MACRO,		0,		I1,		0,	0 },
 {"bgeu",		"s,I,p",	0,    (int) M_BGEU_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"bgeul",		"s,t,p",	0,    (int) M_BGEUL,	INSN_MACRO,		0,		I2|T3,		0,	0 },
-{"bgeul",		"s,I,p",	0,    (int) M_BGEUL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"bgeul",		"s,t,p",	0,    (int) M_BGEUL,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
+{"bgeul",		"s,I,p",	0,    (int) M_BGEUL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"bgez",		"s,p",		0x04010000, 0xfc1f0000,	RD_1|CBD,		0,		I1,		0,	0 },
-{"bgezl",		"s,p",		0x04030000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	0 },
-{"bgezal",		"s,p",		0x04110000, 0xfc1f0000,	RD_1|WR_31|CBD,		0,		I1,		0,	0 },
-{"bgezall",		"s,p",		0x04130000, 0xfc1f0000,	RD_1|WR_31|CBL,		0,		I2|T3,		0,	0 },
+{"bgezl",		"s,p",		0x04030000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	I37 },
+{"bgezal",		"s,p",		0x04110000, 0xfc1f0000,	RD_1|WR_31|CBD,		0,		I1,		0,	I37 },
+{"bgezall",		"s,p",		0x04130000, 0xfc1f0000,	RD_1|WR_31|CBL,		0,		I2|T3,		0,	I37 },
 {"bgt",			"s,t,p",	0,    (int) M_BGT,	INSN_MACRO,		0,		I1,		0,	0 },
 {"bgt",			"s,I,p",	0,    (int) M_BGT_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"bgtl",		"s,t,p",	0,    (int) M_BGTL,	INSN_MACRO,		0,		I2|T3,		0,	0 },
-{"bgtl",		"s,I,p",	0,    (int) M_BGTL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"bgtl",		"s,t,p",	0,    (int) M_BGTL,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
+{"bgtl",		"s,I,p",	0,    (int) M_BGTL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"bgtu",		"s,t,p",	0,    (int) M_BGTU,	INSN_MACRO,		0,		I1,		0,	0 },
 {"bgtu",		"s,I,p",	0,    (int) M_BGTU_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"bgtul",		"s,t,p",	0,    (int) M_BGTUL,	INSN_MACRO,		0,		I2|T3,		0,	0 },
-{"bgtul",		"s,I,p",	0,    (int) M_BGTUL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"bgtul",		"s,t,p",	0,    (int) M_BGTUL,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
+{"bgtul",		"s,I,p",	0,    (int) M_BGTUL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"bgtz",		"s,p",		0x1c000000, 0xfc1f0000,	RD_1|CBD,		0,		I1,		0,	0 },
-{"bgtzl",		"s,p",		0x5c000000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	0 },
+{"bgtzl",		"s,p",		0x5c000000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	I37 },
 {"ble",			"s,t,p",	0,    (int) M_BLE,	INSN_MACRO,		0,		I1,		0,	0 },
 {"ble",			"s,I,p",	0,    (int) M_BLE_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"blel",		"s,t,p",	0,    (int) M_BLEL,	INSN_MACRO,		0,		I2|T3,		0,	0 },
-{"blel",		"s,I,p",	0,    (int) M_BLEL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"blel",		"s,t,p",	0,    (int) M_BLEL,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
+{"blel",		"s,I,p",	0,    (int) M_BLEL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"bleu",		"s,t,p",	0,    (int) M_BLEU,	INSN_MACRO,		0,		I1,		0,	0 },
 {"bleu",		"s,I,p",	0,    (int) M_BLEU_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"bleul",		"s,t,p",	0,    (int) M_BLEUL,	INSN_MACRO,		0,		I2|T3,		0,	0 },
-{"bleul",		"s,I,p",	0,    (int) M_BLEUL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"bleul",		"s,t,p",	0,    (int) M_BLEUL,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
+{"bleul",		"s,I,p",	0,    (int) M_BLEUL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"blez",		"s,p",		0x18000000, 0xfc1f0000,	RD_1|CBD,		0,		I1,		0,	0 },
-{"blezl",		"s,p",		0x58000000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	0 },
+{"blezl",		"s,p",		0x58000000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	I37 },
 {"blt",			"s,t,p",	0,    (int) M_BLT,	INSN_MACRO,		0,		I1,		0,	0 },
 {"blt",			"s,I,p",	0,    (int) M_BLT_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"bltl",		"s,t,p",	0,    (int) M_BLTL,	INSN_MACRO,		0,		I2|T3,		0,	0 },
-{"bltl",		"s,I,p",	0,    (int) M_BLTL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"bltl",		"s,t,p",	0,    (int) M_BLTL,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
+{"bltl",		"s,I,p",	0,    (int) M_BLTL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"bltu",		"s,t,p",	0,    (int) M_BLTU,	INSN_MACRO,		0,		I1,		0,	0 },
 {"bltu",		"s,I,p",	0,    (int) M_BLTU_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"bltul",		"s,t,p",	0,    (int) M_BLTUL,	INSN_MACRO,		0,		I2|T3,		0,	0 },
-{"bltul",		"s,I,p",	0,    (int) M_BLTUL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"bltul",		"s,t,p",	0,    (int) M_BLTUL,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
+{"bltul",		"s,I,p",	0,    (int) M_BLTUL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"bltz",		"s,p",		0x04000000, 0xfc1f0000,	RD_1|CBD,		0,		I1,		0,	0 },
-{"bltzl",		"s,p",		0x04020000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	0 },
-{"bltzal",		"s,p",		0x04100000, 0xfc1f0000,	RD_1|WR_31|CBD,		0,		I1,		0,	0 },
-{"bltzall",		"s,p",		0x04120000, 0xfc1f0000,	RD_1|WR_31|CBL,		0,		I2|T3,		0,	0 },
+{"bltzl",		"s,p",		0x04020000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	I37 },
+{"bltzal",		"s,p",		0x04100000, 0xfc1f0000,	RD_1|WR_31|CBD,		0,		I1,		0,	I37 },
+{"bltzall",		"s,p",		0x04120000, 0xfc1f0000,	RD_1|WR_31|CBL,		0,		I2|T3,		0,	I37 },
 {"bnez",		"s,p",		0x14000000, 0xfc1f0000,	RD_1|CBD,		0,		I1,		0,	0 },
-{"bnezl",		"s,p",		0x54000000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	0 },
+{"bnezl",		"s,p",		0x54000000, 0xfc1f0000,	RD_1|CBL,		0,		I2|T3,		0,	I37 },
 {"bne",			"s,t,p",	0x14000000, 0xfc000000,	RD_1|RD_2|CBD,		0,		I1,		0,	0 },
 {"bne",			"s,I,p",	0,    (int) M_BNE_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"bnel",		"s,t,p",	0x54000000, 0xfc000000,	RD_1|RD_2|CBL, 		0,		I2|T3,		0,	0 },
-{"bnel",		"s,I,p",	0,    (int) M_BNEL_I,	INSN_MACRO,		0,		I2|T3,		0,	0 },
+{"bnel",		"s,t,p",	0x54000000, 0xfc000000,	RD_1|RD_2|CBL, 		0,		I2|T3,		0,	I37 },
+{"bnel",		"s,I,p",	0,    (int) M_BNEL_I,	INSN_MACRO,		0,		I2|T3,		0,	I37 },
 {"break",		"",		0x0000000d, 0xffffffff,	TRAP,			0,		I1,		0,	0 },
 {"break",		"c",		0x0000000d, 0xfc00ffff,	TRAP,			0,		I1,		0,	0 },
 {"break",		"c,q",		0x0000000d, 0xfc00003f,	TRAP,			0,		I1,		0,	0 },
-{"c.f.d",		"S,T",		0x46200030, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.f.d",		"M,S,T",	0x46200030, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.f.s",		"S,T",      	0x46000030, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	0 },
-{"c.f.s",		"M,S,T",	0x46000030, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.f.ps",		"S,T",		0x46c00030, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.f.d",		"S,T",		0x46200030, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.f.d",		"M,S,T",	0x46200030, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.f.s",		"S,T",      	0x46000030, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	I37 },
+{"c.f.s",		"M,S,T",	0x46000030, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.f.ps",		"S,T",		0x46c00030, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.f.ps",		"S,T",		0x45600030, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.f.ps",		"M,S,T",	0x46c00030, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.un.d",		"S,T",		0x46200031, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.un.d",		"M,S,T",	0x46200031, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.un.s",		"S,T",		0x46000031, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.un.s",		"M,S,T",	0x46000031, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.un.ps",		"S,T",		0x46c00031, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.f.ps",		"M,S,T",	0x46c00030, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.un.d",		"S,T",		0x46200031, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.un.d",		"M,S,T",	0x46200031, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.un.s",		"S,T",		0x46000031, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.un.s",		"M,S,T",	0x46000031, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.un.ps",		"S,T",		0x46c00031, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.un.ps",		"S,T",		0x45600031, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.un.ps",		"M,S,T",	0x46c00031, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.eq.d",		"S,T",		0x46200032, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.eq.d",		"M,S,T",	0x46200032, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.eq.s",		"S,T",		0x46000032, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	0 },
-{"c.eq.s",		"M,S,T",	0x46000032, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
+{"c.un.ps",		"M,S,T",	0x46c00031, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.eq.d",		"S,T",		0x46200032, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.eq.d",		"M,S,T",	0x46200032, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.eq.s",		"S,T",		0x46000032, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	I37 },
+{"c.eq.s",		"M,S,T",	0x46000032, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
 {"c.eq.ob",		"Y,Q",		0x78000001, 0xfc2007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		SB1,		MX,	0 },
 {"c.eq.ob",		"S,Q",		0x48000001, 0xfc2007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		N54,		0,	0 },
-{"c.eq.ps",		"S,T",		0x46c00032, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.eq.ps",		"S,T",		0x46c00032, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.eq.ps",		"S,T",		0x45600032, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.eq.ps",		"M,S,T",	0x46c00032, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
+{"c.eq.ps",		"M,S,T",	0x46c00032, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
 {"c.eq.qh",		"Y,Q",		0x78200001, 0xfc2007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		0,		MX,	0 },
-{"c.ueq.d",		"S,T",		0x46200033, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.ueq.d",		"M,S,T",	0x46200033, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.ueq.s",		"S,T",		0x46000033, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.ueq.s",		"M,S,T",	0x46000033, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.ueq.ps",		"S,T",		0x46c00033, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.ueq.d",		"S,T",		0x46200033, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.ueq.d",		"M,S,T",	0x46200033, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.ueq.s",		"S,T",		0x46000033, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.ueq.s",		"M,S,T",	0x46000033, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.ueq.ps",		"S,T",		0x46c00033, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.ueq.ps",		"S,T",		0x45600033, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.ueq.ps",		"M,S,T",	0x46c00033, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.olt.d",		"S,T",		0x46200034, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D,   0,		I1,		0,	SF },
-{"c.olt.d",		"M,S,T",	0x46200034, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.olt.s",		"S,T",		0x46000034, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_S,	0,		I1,		0,	EE },
-{"c.olt.s",		"M,S,T",	0x46000034, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.olt.ps",		"S,T",		0x46c00034, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.ueq.ps",		"M,S,T",	0x46c00033, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.olt.d",		"S,T",		0x46200034, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D,   0,		I1,		0,	SF|I37 },
+{"c.olt.d",		"M,S,T",	0x46200034, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.olt.s",		"S,T",		0x46000034, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_S,	0,		I1,		0,	EE|I37 },
+{"c.olt.s",		"M,S,T",	0x46000034, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.olt.ps",		"S,T",		0x46c00034, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.olt.ps",		"S,T",		0x45600034, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.olt.ps",		"M,S,T",	0x46c00034, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.ult.d",		"S,T",		0x46200035, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.ult.d",		"M,S,T",	0x46200035, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.ult.s",		"S,T",		0x46000035, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.ult.s",		"M,S,T",	0x46000035, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.ult.ps",		"S,T",		0x46c00035, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.olt.ps",		"M,S,T",	0x46c00034, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.ult.d",		"S,T",		0x46200035, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.ult.d",		"M,S,T",	0x46200035, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.ult.s",		"S,T",		0x46000035, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.ult.s",		"M,S,T",	0x46000035, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.ult.ps",		"S,T",		0x46c00035, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.ult.ps",		"S,T",		0x45600035, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.ult.ps",		"M,S,T",	0x46c00035, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.ole.d",		"S,T",		0x46200036, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D,   0,		I1,		0,	SF },
-{"c.ole.d",		"M,S,T",	0x46200036, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.ole.s",		"S,T",		0x46000036, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.ole.s",		"M,S,T",	0x46000036, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.ole.ps",		"S,T",		0x46c00036, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.ult.ps",		"M,S,T",	0x46c00035, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.ole.d",		"S,T",		0x46200036, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D,   0,		I1,		0,	SF|I37 },
+{"c.ole.d",		"M,S,T",	0x46200036, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.ole.s",		"S,T",		0x46000036, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.ole.s",		"M,S,T",	0x46000036, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.ole.ps",		"S,T",		0x46c00036, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.ole.ps",		"S,T",		0x45600036, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.ole.ps",		"M,S,T",	0x46c00036, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.ule.d",		"S,T",		0x46200037, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.ule.d",		"M,S,T",	0x46200037, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.ule.s",		"S,T",		0x46000037, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.ule.s",		"M,S,T",	0x46000037, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.ule.ps",		"S,T",		0x46c00037, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.ole.ps",		"M,S,T",	0x46c00036, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.ule.d",		"S,T",		0x46200037, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.ule.d",		"M,S,T",	0x46200037, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.ule.s",		"S,T",		0x46000037, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.ule.s",		"M,S,T",	0x46000037, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.ule.ps",		"S,T",		0x46c00037, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.ule.ps",		"S,T",		0x45600037, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.ule.ps",		"M,S,T",	0x46c00037, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.sf.d",		"S,T",		0x46200038, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.sf.d",		"M,S,T",	0x46200038, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.sf.s",		"S,T",		0x46000038, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.sf.s",		"M,S,T",	0x46000038, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.sf.ps",		"S,T",		0x46c00038, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.ule.ps",		"M,S,T",	0x46c00037, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.sf.d",		"S,T",		0x46200038, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.sf.d",		"M,S,T",	0x46200038, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.sf.s",		"S,T",		0x46000038, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.sf.s",		"M,S,T",	0x46000038, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.sf.ps",		"S,T",		0x46c00038, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.sf.ps",		"S,T",		0x45600038, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.sf.ps",		"M,S,T",	0x46c00038, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.ngle.d",		"S,T",		0x46200039, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.ngle.d",		"M,S,T",	0x46200039, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.ngle.s",		"S,T",		0x46000039, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.ngle.s",		"M,S,T",	0x46000039, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.ngle.ps",		"S,T",		0x46c00039, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.sf.ps",		"M,S,T",	0x46c00038, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.ngle.d",		"S,T",		0x46200039, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.ngle.d",		"M,S,T",	0x46200039, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.ngle.s",		"S,T",		0x46000039, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.ngle.s",		"M,S,T",	0x46000039, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.ngle.ps",		"S,T",		0x46c00039, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.ngle.ps",		"S,T",		0x45600039, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.ngle.ps",		"M,S,T",	0x46c00039, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.seq.d",		"S,T",		0x4620003a, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.seq.d",		"M,S,T",	0x4620003a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.seq.s",		"S,T",		0x4600003a, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.seq.s",		"M,S,T",	0x4600003a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.seq.ps",		"S,T",		0x46c0003a, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.ngle.ps",		"M,S,T",	0x46c00039, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.seq.d",		"S,T",		0x4620003a, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.seq.d",		"M,S,T",	0x4620003a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.seq.s",		"S,T",		0x4600003a, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.seq.s",		"M,S,T",	0x4600003a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.seq.ps",		"S,T",		0x46c0003a, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.seq.ps",		"S,T",		0x4560003a, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.seq.ps",		"M,S,T",	0x46c0003a, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.ngl.d",		"S,T",		0x4620003b, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.ngl.d",		"M,S,T",	0x4620003b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.ngl.s",		"S,T",		0x4600003b, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.ngl.s",		"M,S,T",	0x4600003b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.ngl.ps",		"S,T",		0x46c0003b, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.seq.ps",		"M,S,T",	0x46c0003a, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.ngl.d",		"S,T",		0x4620003b, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.ngl.d",		"M,S,T",	0x4620003b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.ngl.s",		"S,T",		0x4600003b, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.ngl.s",		"M,S,T",	0x4600003b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.ngl.ps",		"S,T",		0x46c0003b, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.ngl.ps",		"S,T",		0x4560003b, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.ngl.ps",		"M,S,T",	0x46c0003b, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.lt.d",		"S,T",		0x4620003c, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.lt.d",		"M,S,T",	0x4620003c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
+{"c.ngl.ps",		"M,S,T",	0x46c0003b, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.lt.d",		"S,T",		0x4620003c, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.lt.d",		"M,S,T",	0x4620003c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
 {"c.lt.s",		"S,T",		0x46000034, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_S,	0,		EE,		0,	0 },
-{"c.lt.s",		"S,T",		0x4600003c, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_S,	0,		I1,		0,	EE },
-{"c.lt.s",		"M,S,T",	0x4600003c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
+{"c.lt.s",		"S,T",		0x4600003c, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_S,	0,		I1,		0,	EE|I37 },
+{"c.lt.s",		"M,S,T",	0x4600003c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
 {"c.lt.ob",		"Y,Q",		0x78000004, 0xfc2007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		SB1,		MX,	0 },
 {"c.lt.ob",		"S,Q",		0x48000004, 0xfc2007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		N54,		0,	0 },
-{"c.lt.ps",		"S,T",		0x46c0003c, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.lt.ps",		"S,T",		0x46c0003c, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.lt.ps",		"S,T",		0x4560003c, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.lt.ps",		"M,S,T",	0x46c0003c, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
+{"c.lt.ps",		"M,S,T",	0x46c0003c, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
 {"c.lt.qh",		"Y,Q",		0x78200004, 0xfc2007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		0,		MX,	0 },
-{"c.nge.d",		"S,T",		0x4620003d, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.nge.d",		"M,S,T",	0x4620003d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.nge.s",		"S,T",		0x4600003d, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.nge.s",		"M,S,T",	0x4600003d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.nge.ps",		"S,T",		0x46c0003d, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.nge.d",		"S,T",		0x4620003d, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.nge.d",		"M,S,T",	0x4620003d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.nge.s",		"S,T",		0x4600003d, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.nge.s",		"M,S,T",	0x4600003d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.nge.ps",		"S,T",		0x46c0003d, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.nge.ps",		"S,T",		0x4560003d, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.nge.ps",		"M,S,T",	0x46c0003d, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
-{"c.le.d",		"S,T",		0x4620003e, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.le.d",		"M,S,T",	0x4620003e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
+{"c.nge.ps",		"M,S,T",	0x46c0003d, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"c.le.d",		"S,T",		0x4620003e, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.le.d",		"M,S,T",	0x4620003e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
 {"c.le.s",		"S,T",		0x46000036, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_S,	0,		EE,		0,	0 },
-{"c.le.s",		"S,T",		0x4600003e, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_S,	0,		I1,		0,	EE },
-{"c.le.s",		"M,S,T",	0x4600003e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
+{"c.le.s",		"S,T",		0x4600003e, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_S,	0,		I1,		0,	EE|I37 },
+{"c.le.s",		"M,S,T",	0x4600003e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
 {"c.le.ob",		"Y,Q",		0x78000005, 0xfc2007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		SB1,		MX,	0 },
 {"c.le.ob",		"S,Q",		0x48000005, 0xfc2007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		N54,		0,	0 },
-{"c.le.ps",		"S,T",		0x46c0003e, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.le.ps",		"S,T",		0x46c0003e, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.le.ps",		"S,T",		0x4560003e, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.le.ps",		"M,S,T",	0x46c0003e, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
+{"c.le.ps",		"M,S,T",	0x46c0003e, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
 {"c.le.qh",		"Y,Q",		0x78200005, 0xfc2007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		0,		MX,	0 },
-{"c.ngt.d",		"S,T",		0x4620003f, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF },
-{"c.ngt.d",		"M,S,T",	0x4620003f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	0 },
-{"c.ngt.s",		"S,T",		0x4600003f, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE },
-{"c.ngt.s",		"M,S,T",	0x4600003f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	0 },
-{"c.ngt.ps",		"S,T",		0x46c0003f, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"c.ngt.d",		"S,T",		0x4620003f, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I1,		0,	SF|I37 },
+{"c.ngt.d",		"M,S,T",	0x4620003f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D,   0,		I4_32,		0,	I37 },
+{"c.ngt.s",		"S,T",		0x4600003f, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S,   0,		I1,		0,	EE|I37 },
+{"c.ngt.s",		"M,S,T",	0x4600003f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"c.ngt.ps",		"S,T",		0x46c0003f, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"c.ngt.ps",		"S,T",		0x4560003f, 0xffe007ff,	RD_1|RD_2|WR_CC|FP_D,	0,		IL2E,		0,	0 },
-{"c.ngt.ps",		"M,S,T",	0x46c0003f, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	0 },
+{"c.ngt.ps",		"M,S,T",	0x46c0003f, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		I5_33,		0,	I37 },
 {"cabs.eq.d",		"M,S,T",	0x46200072, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		0,		M3D,	0 },
 {"cabs.eq.ps",		"M,S,T",	0x46c00072, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_D,	0,		0,		M3D,	0 },
 {"cabs.eq.s",		"M,S,T",	0x46000072, 0xffe000ff,	RD_2|RD_3|WR_CC|FP_S,	0,		0,		M3D,	0 },
@@ -894,33 +935,36 @@ const struct mips_opcode mips_builtin_op
 {"flushd",		"",		0xbc020000, 0xffffffff, 0, 			0,		L1,		0,	0 },
 {"flushid",		"",		0xbc030000, 0xffffffff, 0, 			0,		L1,		0,	0 },
 {"wb",			"o(b)",		0xbc040000, 0xfc1f0000, RD_2|SM,		0,		L1,		0,	0 },
-{"cache",		"k,o(b)",	0xbc000000, 0xfc000000, RD_3,           	0,		I3_32|T3,	0,	0},
-{"cache",		"k,A(b)",	0,    (int) M_CACHE_AB, INSN_MACRO,		0,		I3_32|T3,	0,	0},
+{"cache",		"k,+j(b)",	0x7c000025, 0xfc00007f, RD_3,			0,		I37,		0,	0 },
+{"cache",		"k,o(b)",	0xbc000000, 0xfc000000, RD_3,           	0,		I3_32|T3,	0,	I37 },
+{"cache",		"k,A(b)",	0,    (int) M_CACHE_AB, INSN_MACRO,		0,		I3_32|T3,	0,	0 },
 {"ceil.l.d",		"D,S",		0x4620000a, 0xffff003f, WR_1|RD_2|FP_D,		0,		I3_33,		0,	0 },
 {"ceil.l.s",		"D,S",		0x4600000a, 0xffff003f, WR_1|RD_2|FP_S|FP_D,	0,		I3_33,		0,	0 },
 {"ceil.w.d",		"D,S",		0x4620000e, 0xffff003f, WR_1|RD_2|FP_S|FP_D,	0,		I2,		0,	SF },
 {"ceil.w.s",		"D,S",		0x4600000e, 0xffff003f, WR_1|RD_2|FP_S,		0,		I2,		0,	EE },
 /* cfc0 is at the bottom of the table.  */
-{"cfc1",		"t,G",		0x44400000, 0xffe007ff,	WR_1|RD_C1|LCD|FP_S,	0,		I1,		0,	0 },
-{"cfc1",		"t,S",		0x44400000, 0xffe007ff,	WR_1|RD_C1|LCD|FP_S,	0,		I1,		0,	0 },
+{"cfc1",		"t,G",		0x44400000, 0xffe007ff,	WR_1|RD_C1|LC,		0,		I1,		0,	0 },
+{"cfc1",		"t,S",		0x44400000, 0xffe007ff,	WR_1|RD_C1|LC,		0,		I1,		0,	0 },
 /* cfc2 is at the bottom of the table.  */
 /* cfc3 is at the bottom of the table.  */
-{"cftc1",		"d,E",		0x41000023, 0xffe007ff, WR_1|RD_C1|TRAP|LCD|FP_S, 0,		0,		MT32,	0 },
-{"cftc1",		"d,T",		0x41000023, 0xffe007ff, WR_1|RD_C1|TRAP|LCD|FP_S, 0,		0,		MT32,	0 },
-{"cftc2",		"d,E",		0x41000025, 0xffe007ff,	WR_1|RD_C2|TRAP|LCD,	0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
+{"cftc1",		"d,E",		0x41000023, 0xffe007ff, WR_1|RD_C1|TRAP|LC,	0,		0,		MT32,	0 },
+{"cftc1",		"d,T",		0x41000023, 0xffe007ff, WR_1|RD_C1|TRAP|LC,	0,		0,		MT32,	0 },
+{"cftc2",		"d,E",		0x41000025, 0xffe007ff,	WR_1|RD_C2|TRAP|LC,	0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
 {"cins32",		"t,r,+p,+s",	0x70000033, 0xfc00003f, WR_1|RD_2,		0,		IOCT,		0,	0 },
 {"cins",		"t,r,+P,+S",	0x70000033, 0xfc00003f, WR_1|RD_2,		0,		IOCT,		0,	0 }, /* cins32 */
 {"cins",		"t,r,+p,+S",	0x70000032, 0xfc00003f, WR_1|RD_2,		0,		IOCT,		0,	0 },
-{"clo",			"U,s",		0x70000021, 0xfc0007ff, WR_1|RD_2, 	0,		I32|N55,	0,	0 },
-{"clz",			"U,s",		0x70000020, 0xfc0007ff, WR_1|RD_2, 	0,		I32|N55,	0,	0 },
+{"clo",			"d,s",		0x00000051, 0xfc1f07ff, WR_1|RD_2,		0,		I37,		0,	0 },
+{"clo",			"U,s",		0x70000021, 0xfc0007ff, WR_1|RD_2,		0,		I32|N55,	0,	I37 },
+{"clz",			"d,s",		0x00000050, 0xfc1f07ff, WR_1|RD_2,		0,		I37,		0,	0 },
+{"clz",			"U,s",		0x70000020, 0xfc0007ff, WR_1|RD_2,		0,		I32|N55,	0,	I37 },
 /* ctc0 is at the bottom of the table.  */
-{"ctc1",		"t,G",		0x44c00000, 0xffe007ff,	RD_1|WR_CC|COD|FP_S,	0,		I1,		0,	0 },
-{"ctc1",		"t,S",		0x44c00000, 0xffe007ff,	RD_1|WR_CC|COD|FP_S,	0,		I1,		0,	0 },
+{"ctc1",		"t,G",		0x44c00000, 0xffe007ff,	RD_1|WR_CC|CM,		0,		I1,		0,	0 },
+{"ctc1",		"t,S",		0x44c00000, 0xffe007ff,	RD_1|WR_CC|CM,		0,		I1,		0,	0 },
 /* ctc2 is at the bottom of the table.  */
 /* ctc3 is at the bottom of the table.  */
-{"cttc1",		"t,g",		0x41800023, 0xffe007ff, RD_1|WR_CC|TRAP|COD|FP_S, 0,		0,		MT32,	0 },
-{"cttc1",		"t,S",		0x41800023, 0xffe007ff, RD_1|WR_CC|TRAP|COD|FP_S, 0,		0,		MT32,	0 },
-{"cttc2",		"t,g",		0x41800025, 0xffe007ff,	RD_1|WR_CC|TRAP|COD,	0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
+{"cttc1",		"t,G",		0x41800023, 0xffe007ff, RD_1|WR_CC|TRAP|CM,	0,		0,		MT32,	0 },
+{"cttc1",		"t,S",		0x41800023, 0xffe007ff, RD_1|WR_CC|TRAP|CM,	0,		0,		MT32,	0 },
+{"cttc2",		"t,g",		0x41800025, 0xffe007ff,	RD_1|WR_CC|TRAP|CM,	0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
 {"cvt.d.l",		"D,S",		0x46a00021, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I3_33,		0,	0 },
 {"cvt.d.s",		"D,S",		0x46000021, 0xffff003f,	WR_1|RD_2|FP_S|FP_D,	0,		I1,		0,	SF },
 {"cvt.d.w",		"D,S",		0x46800021, 0xffff003f,	WR_1|RD_2|FP_S|FP_D,	0,		I1,		0,	SF },
@@ -934,21 +978,23 @@ const struct mips_opcode mips_builtin_op
 {"cvt.w.d",		"D,S",		0x46200024, 0xffff003f,	WR_1|RD_2|FP_S|FP_D,	0,		I1,		0,	SF },
 {"cvt.w.s",		"D,S",		0x46000024, 0xffff003f,	WR_1|RD_2|FP_S,		0,		I1,		0,	EE },
 {"cvt.ps.pw",		"D,S",		0x46800026, 0xffff003f,	WR_1|RD_2|FP_S|FP_D,	0,		0,		M3D,	0 },
-{"cvt.ps.s",		"D,V,T",	0x46000026, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S|FP_D, 0,		I5_33,		0,	0 },
+{"cvt.ps.s",		"D,V,T",	0x46000026, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S|FP_D, 0,		I5_33,		0,	I37 },
 {"cvt.pw.ps",		"D,S",		0x46c00024, 0xffff003f,	WR_1|RD_2|FP_S|FP_D,	0,		0,		M3D,	0 },
 {"dabs",		"d,v",		0,    (int) M_DABS,	INSN_MACRO,		0,		I3,		0,	0 },
 {"dadd",		"d,v,t",	0x0000002c, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I3,		0,	0 },
-{"dadd",		"t,r,I",	0,    (int) M_DADD_I,	INSN_MACRO,		0,		I3,		0,	0 },
+{"dadd",		"t,r,I",	0,    (int) M_DADD_I,	INSN_MACRO,		0,		I3,		0,	I69 },
 {"dadd",		"D,S,T",	0x45e00000, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"dadd",		"D,S,T",	0x4b60000c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F|IL3A,	0,	0 },
-{"daddi",		"t,r,j",	0x60000000, 0xfc000000, WR_1|RD_2,		0,		I3,		0,	0 },
+{"daddi",		"t,r,j",	0x60000000, 0xfc000000, WR_1|RD_2,		0,		I3,		0,	I69 },
 {"daddiu",		"t,r,j",	0x64000000, 0xfc000000, WR_1|RD_2,		0,		I3,		0,	0 },
 {"daddu",		"d,v,t",	0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I3,		0,	0 },
 {"daddu",		"t,r,I",	0,    (int) M_DADDU_I,	INSN_MACRO,		0,		I3,		0,	0 },
 {"daddwc",		"d,s,t", 	0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0,		XLR,		0,	0 },
 {"dbreak",		"",		0x7000003f, 0xffffffff,	0,			0,		N5,		0,	0 },
-{"dclo",		"U,s",	 	0x70000025, 0xfc0007ff, WR_1|RD_2, 	0,		I64|N55,	0,	0 },
-{"dclz",		"U,s",	 	0x70000024, 0xfc0007ff, WR_1|RD_2, 	0,		I64|N55,	0,	0 },
+{"dclo",		"d,s",		0x00000053, 0xfc1f07ff, WR_1|RD_2,		0,		I69,		0,	0 },
+{"dclo",		"U,s",	 	0x70000025, 0xfc0007ff, WR_1|RD_2, 	0,		I64|N55,	0,	I69 },
+{"dclz",		"d,s",		0x00000052, 0xfc1f07ff, WR_1|RD_2,		0,		I69,		0,	0 },
+{"dclz",		"U,s",	 	0x70000024, 0xfc0007ff, WR_1|RD_2, 	0,		I64|N55,	0,	I69 },
 /* dctr and dctw are used on the r5000.  */
 {"dctr",		"o(b)",	 	0xbc050000, 0xfc1f0000, RD_2,			0,		I3,		0,	0 },
 {"dctw",		"o(b)",		0xbc090000, 0xfc1f0000, RD_2,			0,		I3,		0,	0 },
@@ -959,13 +1005,17 @@ const struct mips_opcode mips_builtin_op
 {"dextm",		"t,r,+A,+G",	0x7c000001, 0xfc00003f, WR_1|RD_2,    		0,		I65,		0,	0 },
 {"dextu",		"t,r,+E,+H",	0x7c000002, 0xfc00003f, WR_1|RD_2,    		0,		I65,		0,	0 },
 /* For ddiv, see the comments about div.  */
-{"ddiv",		"z,s,t",	0x0000001e, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I3,		0,	M32 },
-{"ddiv",		"d,v,t",	0,    (int) M_DDIV_3,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"ddiv",		"d,v,I",	0,    (int) M_DDIV_3I,	INSN_MACRO,		0,		I3,		0,	M32 },
+{"dmod",		"d,s,t",	0x000000de, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I69,		0,	0 },
+{"ddiv",		"d,s,t",	0x0000009e, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I69,		0,	0 },
+{"ddiv",		"z,s,t",	0x0000001e, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I3,		0,	M32|I69 },
+{"ddiv",		"d,v,t",	0,    (int) M_DDIV_3,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"ddiv",		"d,v,I",	0,    (int) M_DDIV_3I,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
 /* For ddivu, see the comments about div.  */
-{"ddivu",		"z,s,t",	0x0000001f, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I3,		0,	M32 },
-{"ddivu",		"d,v,t",	0,    (int) M_DDIVU_3,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"ddivu",		"d,v,I",	0,    (int) M_DDIVU_3I,	INSN_MACRO,		0,		I3,		0,	M32 },
+{"dmodu",		"d,s,t",	0x000000df, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I69,		0,	0 },
+{"ddivu",		"d,s,t",	0x0000009f, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I69,		0,	0 },
+{"ddivu",		"z,s,t",	0x0000001f, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I3,		0,	M32|I69 },
+{"ddivu",		"d,v,t",	0,    (int) M_DDIVU_3,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"ddivu",		"d,v,I",	0,    (int) M_DDIVU_3I,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
 {"di",			"",		0x42000039, 0xffffffff,	WR_C0,			0,		EE,		0,	0 },
 {"di",			"",		0x41606000, 0xffffffff,	WR_C0,			0,		I33,		0,	0 },
 {"di",			"t",		0x41606000, 0xffe0ffff,	WR_1|WR_C0,		0,		I33,		0,	0 },
@@ -978,20 +1028,24 @@ const struct mips_opcode mips_builtin_op
    though the first operand appeared twice (the first operand is both
    a source and a destination).  To get the div machine instruction,
    you must use an explicit destination of $0.  */
-{"div",			"z,s,t",	0x0000001a, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I1,		0,	0 },
-{"div",			"z,t",		0x0000001a, 0xffe0ffff, RD_2|WR_HILO,		0,		I1,		0,	0 },
-{"div",			"d,v,t",	0,    (int) M_DIV_3,	INSN_MACRO,		0,		I1,		0,	0 },
-{"div",			"d,v,I",	0,    (int) M_DIV_3I,	INSN_MACRO,		0,		I1,		0,	0 },
+{"mod",			"d,v,t",	0x000000da, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0},
+{"modu",		"d,v,t",	0x000000db, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0},
+{"div",			"d,v,t",	0x0000009a, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0},
+{"div",			"z,s,t",	0x0000001a, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I1,		0,	I37 },
+{"div",			"z,t",		0x0000001a, 0xffe0ffff, RD_2|WR_HILO,		0,		I1,		0,	I37 },
+{"div",			"d,v,t",	0,    (int) M_DIV_3,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"div",			"d,v,I",	0,    (int) M_DIV_3I,	INSN_MACRO,		0,		I1,		0,	I37 },
 {"div1",		"z,s,t",	0x7000001a, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		EE,		0,	0 },
 {"div1",		"z,t",		0x7000001a, 0xffe0ffff, RD_2|WR_HILO,		0,		EE,		0,	0 },
 {"div.d",		"D,V,T",	0x46200003, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I1,		0,	SF },
 {"div.s",		"D,V,T",	0x46000003, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I1,		0,	0 },
 {"div.ps",		"D,V,T",	0x46c00003, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		SB1,		0,	0 },
 /* For divu, see the comments about div.  */
-{"divu",		"z,s,t",	0x0000001b, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I1,		0,	0 },
-{"divu",		"z,t",		0x0000001b, 0xffe0ffff, RD_2|WR_HILO,		0,		I1,		0,	0 },
-{"divu",		"d,v,t",	0,    (int) M_DIVU_3,	INSN_MACRO,		0,		I1,		0,	0 },
-{"divu",		"d,v,I",	0,    (int) M_DIVU_3I,	INSN_MACRO,		0,		I1,		0,	0 },
+{"divu",		"d,v,t",	0x0000009b, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0},
+{"divu",		"z,s,t",	0x0000001b, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I1,		0,	I37 },
+{"divu",		"z,t",		0x0000001b, 0xffe0ffff, RD_2|WR_HILO,		0,		I1,		0,	I37 },
+{"divu",		"d,v,t",	0,    (int) M_DIVU_3,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"divu",		"d,v,I",	0,    (int) M_DIVU_3I,	INSN_MACRO,		0,		I1,		0,	I37 },
 {"divu1",		"z,s,t",	0x7000001b, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		EE,		0,	0 },
 {"divu1",		"z,t",		0x7000001b, 0xffe0ffff, RD_2|WR_HILO,		0,		EE,		0,	0 },
 {"dla",			"t,A(b)",	0,    (int) M_DLA_AB,	INSN_MACRO,		0,		I3,		0,	0 },
@@ -1008,42 +1062,46 @@ const struct mips_opcode mips_builtin_op
 {"dmaccu",		"d,s,t",	0x00000069, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_LO,	0,		N412,		0,	0 },
 {"dmaccus",		"d,s,t",	0x00000469, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_LO,	0,		N412,		0,	0 },
 {"dmadd16",		"s,t",		0x00000029, 0xfc00ffff, RD_1|RD_2|MOD_LO,       0,		N411,		0,	0 },
-{"dmfc0",		"t,G",		0x40200000, 0xffe007ff,	WR_1|RD_C0|LCD,		0,		I3,		0,	EE },
-{"dmfc0",		"t,G,H",	0x40200000, 0xffe007f8,	WR_1|RD_C0|LCD,		0,		I64,		0,	0 },
-{"dmfgc0",		"t,G",		0x40600100, 0xffe007ff, WR_1|RD_C0|LCD,		0,		0,		IVIRT64, 0 },
-{"dmfgc0",		"t,G,H",	0x40600100, 0xffe007f8, WR_1|RD_C0|LCD, 	0,		0,		IVIRT64, 0 },
+{"dmfc0",		"t,G",		0x40200000, 0xffe007ff,	WR_1|RD_C0|LC,		0,		I3,		0,	EE },
+{"dmfc0",		"t,G,H",	0x40200000, 0xffe007f8,	WR_1|RD_C0|LC,		0,		I64,		0,	0 },
+{"dmfgc0",		"t,G",		0x40600100, 0xffe007ff, WR_1|RD_C0|LC,		0,		0,		IVIRT64, 0 },
+{"dmfgc0",		"t,G,H",	0x40600100, 0xffe007f8, WR_1|RD_C0|LC,		0,		0,		IVIRT64, 0 },
 {"dmt",			"",		0x41600bc1, 0xffffffff, TRAP,			0,		0,		MT32,	0 },
 {"dmt",			"t",		0x41600bc1, 0xffe0ffff, WR_1|TRAP,		0,		0,		MT32,	0 },
-{"dmtc0",		"t,G",		0x40a00000, 0xffe007ff,	RD_1|WR_C0|WR_CC|COD,	0,		I3,		0,	EE },
-{"dmtc0",		"t,G,H",	0x40a00000, 0xffe007f8,	RD_1|WR_C0|WR_CC|COD,	0,		I64,		0,	0 },
-{"dmtgc0",		"t,G",		0x40600300, 0xffe007ff, RD_1|WR_C0|WR_CC|COD,	0,		0,		IVIRT64, 0 },
-{"dmtgc0",		"t,G,H",	0x40600300, 0xffe007f8, RD_1|WR_C0|WR_CC|COD,   0,		0,		IVIRT64, 0 },
-{"dmfc1",		"t,S",		0x44200000, 0xffe007ff, WR_1|RD_2|LCD|FP_D,	0,		I3,		0,	SF },
-{"dmfc1",		"t,G",		0x44200000, 0xffe007ff, WR_1|RD_2|LCD|FP_D,     0,		I3,		0,	SF },
-{"dmtc1",		"t,S",		0x44a00000, 0xffe007ff, RD_1|WR_2|COD|FP_D,	0,		I3,		0,	SF },
-{"dmtc1",		"t,G",		0x44a00000, 0xffe007ff, RD_1|WR_2|COD|FP_D,     0,		I3,		0,	SF },
+{"dmtc0",		"t,G",		0x40a00000, 0xffe007ff,	RD_1|WR_C0|WR_CC|CM,	0,		I3,		0,	EE },
+{"dmtc0",		"t,G,H",	0x40a00000, 0xffe007f8,	RD_1|WR_C0|WR_CC|CM,	0,		I64,		0,	0 },
+{"dmtgc0",		"t,G",		0x40600300, 0xffe007ff, RD_1|WR_C0|WR_CC|CM,	0,		0,		IVIRT64, 0 },
+{"dmtgc0",		"t,G,H",	0x40600300, 0xffe007f8, RD_1|WR_C0|WR_CC|CM,   0,		0,		IVIRT64, 0 },
+{"dmfc1",		"t,S",		0x44200000, 0xffe007ff, WR_1|RD_2|LC|FP_D,	0,		I3,		0,	SF },
+{"dmfc1",		"t,G",		0x44200000, 0xffe007ff, WR_1|RD_2|LC|FP_D,     0,		I3,		0,	SF },
+{"dmtc1",		"t,S",		0x44a00000, 0xffe007ff, RD_1|WR_2|CM|FP_D,	0,		I3,		0,	SF },
+{"dmtc1",		"t,G",		0x44a00000, 0xffe007ff, RD_1|WR_2|CM|FP_D,     0,		I3,		0,	SF },
 /* dmfc2 is at the bottom of the table.  */
 /* dmtc2 is at the bottom of the table.  */
 /* dmfc3 is at the bottom of the table.  */
 /* dmtc3 is at the bottom of the table.  */
+{"dmuh",		"d,s,t",	0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I69,		0,	0 },
+{"dmul",		"d,s,t",	0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I69,		0,	0 },
 {"dmul",		"d,v,t",	0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO,	0,		IOCT,		0,	0 },
-{"dmul",		"d,v,t",	0,    (int) M_DMUL,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"dmul",		"d,v,I",	0,    (int) M_DMUL_I,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"dmulo",		"d,v,t",	0,    (int) M_DMULO,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"dmulo",		"d,v,I",	0,    (int) M_DMULO_I,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"dmulou",		"d,v,t",	0,    (int) M_DMULOU,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"dmulou",		"d,v,I",	0,    (int) M_DMULOU_I,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"dmult",		"s,t",		0x0000001c, 0xfc00ffff, RD_1|RD_2|WR_HILO,      0,		I3,		0,	M32 },
-{"dmultu",		"s,t",		0x0000001d, 0xfc00ffff, RD_1|RD_2|WR_HILO,      0,		I3,		0,	M32 },
+{"dmul",		"d,v,t",	0,    (int) M_DMUL,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"dmul",		"d,v,I",	0,    (int) M_DMUL_I,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"dmulo",		"d,v,t",	0,    (int) M_DMULO,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"dmulo",		"d,v,I",	0,    (int) M_DMULO_I,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"dmulou",		"d,v,t",	0,    (int) M_DMULOU,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"dmulou",		"d,v,I",	0,    (int) M_DMULOU_I,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"dmult",		"s,t",		0x0000001c, 0xfc00ffff, RD_1|RD_2|WR_HILO,      0,		I3,		0,	M32|I69 },
+{"dmulu",		"d,s,t",	0x0000009d, 0xfc0007ff, WR_1|RD_2|RD_3,      	0,		I69,		0,	0 },
+{"dmuhu",		"d,s,t",	0x000000dd, 0xfc0007ff, WR_1|RD_2|RD_3,      	0,		I69,		0,	0 },
+{"dmultu",		"s,t",		0x0000001d, 0xfc00ffff, RD_1|RD_2|WR_HILO,      0,		I3,		0,	M32|I69 },
 {"dneg",		"d,w",		0x0000002e, 0xffe007ff,	WR_1|RD_2,		0,		I3,		0,	0 }, /* dsub 0 */
 {"dnegu",		"d,w",		0x0000002f, 0xffe007ff,	WR_1|RD_2,		0,		I3,		0,	0 }, /* dsubu 0*/
 {"dpop",		"d,v",		0x7000002d, 0xfc1f07ff, WR_1|RD_2,		0,		IOCT,		0,	0 },
-{"drem",		"z,s,t",	0x0000001e, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I3,		0,	M32 },
-{"drem",		"d,v,t",	0,    (int) M_DREM_3,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"drem",		"d,v,I",	0,    (int) M_DREM_3I,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"dremu",		"z,s,t",	0x0000001f, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I3,		0,	M32 },
-{"dremu",		"d,v,t",	0,    (int) M_DREMU_3,	INSN_MACRO,		0,		I3,		0,	M32 },
-{"dremu",		"d,v,I",	0,    (int) M_DREMU_3I,	INSN_MACRO,		0,		I3,		0,	M32 },
+{"drem",		"z,s,t",	0x0000001e, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I3,		0,	M32|I69 },
+{"drem",		"d,v,t",	0,    (int) M_DREM_3,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"drem",		"d,v,I",	0,    (int) M_DREM_3I,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"dremu",		"z,s,t",	0x0000001f, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I3,		0,	M32|I69 },
+{"dremu",		"d,v,t",	0,    (int) M_DREMU_3,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
+{"dremu",		"d,v,I",	0,    (int) M_DREMU_3I,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
 {"dret",		"",		0x7000003e, 0xffffffff,	0,			0,		N5,		0,	0 },
 {"drol",		"d,v,t",	0,    (int) M_DROL,	INSN_MACRO,		0,		I3,		0,	0 },
 {"drol",		"d,v,I",	0,    (int) M_DROL_I,	INSN_MACRO,		0,		I3,		0,	0 },
@@ -1082,7 +1140,7 @@ const struct mips_opcode mips_builtin_op
 {"dsrl",		"D,S,T",	0x45a00003, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"dsrl",		"D,S,T",	0x4b20000f, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F|IL3A,	0,	0 },
 {"dsub",		"d,v,t",	0x0000002e, 0xfc0007ff,	WR_1|RD_2|RD_3,		0,		I3,		0,	0 },
-{"dsub",		"d,v,I",	0,    (int) M_DSUB_I,	INSN_MACRO,		0,		I3,		0,	0 },
+{"dsub",		"d,v,I",	0,    (int) M_DSUB_I,	INSN_MACRO,		0,		I3,		0,	I69 },
 {"dsub",		"D,S,T",	0x45e00001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"dsub",		"D,S,T",	0x4b60000d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F|IL3A,	0,	0 },
 {"dsubu",		"d,v,t",	0x0000002f, 0xfc0007ff,	WR_1|RD_2|RD_3,		0,		I3,		0,	0 },
@@ -1111,11 +1169,15 @@ const struct mips_opcode mips_builtin_op
 {"hypcall",		"+J",		0x42000028, 0xffe007ff, TRAP,			0,		0,		IVIRT,	0 },
 {"ins",			"t,r,+A,+B",	0x7c000004, 0xfc00003f, WR_1|RD_2,    		0,		I33,		0,	0 },
 {"iret",		"",		0x42000038, 0xffffffff,	NODS,			0,		0,		MC,	0 },
-{"jr",			"s",		0x00000008, 0xfc1fffff,	RD_1|UBD,		0,		I1,		0,	0 },
+{"jr",			"s",		0x00000009, 0xfc1fffff,	RD_1|UBD,		INSN2_ALIAS,	I37,		0,	0 }, /* jalr $0 */
+{"jr",			"s",		0x00000008, 0xfc1fffff,	RD_1|UBD,		0,		I1,		0,	I37 },
+/* MIPS R6 jic appears before beqzc and jialc appears before bnezc */
 /* jr.hb is officially MIPS{32,64}R2, but it works on R1 as jr with
    the same hazard barrier effect.  */
-{"jr.hb",		"s",		0x00000408, 0xfc1fffff,	RD_1|UBD,		0,		I32,		0,	0 },
-{"j",			"s",		0x00000008, 0xfc1fffff,	RD_1|UBD,		0,		I1,		0,	0 }, /* jr */
+{"jr.hb",		"s",		0x00000409, 0xfc1fffff,	RD_1|UBD,		INSN2_ALIAS,	I37,		0,	0 }, /* jalr.hb $0 */
+{"jr.hb",		"s",		0x00000408, 0xfc1fffff,	RD_1|UBD,		0,		I32,		0,	I37 },
+{"j",			"s",		0x00000009, 0xfc1fffff,	RD_1|UBD,		INSN2_ALIAS,	I37,		0,	0 }, /* jalr $0 */
+{"j",			"s",		0x00000008, 0xfc1fffff,	RD_1|UBD,		0,		I1,		0,	I37 }, /* jr */
 /* SVR4 PIC code requires special handling for j, so it must be a
    macro.  */
 {"j",			"a",		0,     (int) M_J_A,	INSN_MACRO,		0,		I1,		0,	0 },
@@ -1138,8 +1200,7 @@ const struct mips_opcode mips_builtin_op
    assembler, but will never match user input (because the line above
    will match first).  */
 {"jal",			"a",		0x0c000000, 0xfc000000,	WR_31|UBD,		0,		I1,		0,	0 },
-{"jalx",		"+i",		0x74000000, 0xfc000000, WR_31|UBD,		0,		I1,		0,	0 },
-{"la",			"t,A(b)",	0,    (int) M_LA_AB,	INSN_MACRO,		0,		I1,		0,	0 },
+{"jalx",		"+i",		0x74000000, 0xfc000000, WR_31|UBD,		0,		I1,		0,	I37 },
 {"laa",			"d,(b),t",	0x7000049f, 0xfc0007ff, WR_1|RD_2|RD_3|LM|SM,	0,		IOCT2,		0,	0 },
 {"laad",		"d,(b),t",	0x700004df, 0xfc0007ff, WR_1|RD_2|RD_3|LM|SM,	0,		IOCT2,		0,	0 },
 {"lac",			"d,(b)",	0x7000039f, 0xfc1f07ff, WR_1|RD_2|LM|SM,	0,		IOCT2,		0,	0 },
@@ -1164,7 +1225,9 @@ const struct mips_opcode mips_builtin_op
 {"lwx",			"d,t(b)",	0x7c00000a, 0xfc0007ff, WR_1|RD_2|RD_3|LM,	0,		IOCT2,		D32,	0},
 {"lwux",		"d,t(b)",	0x7c00040a, 0xfc0007ff, WR_1|RD_2|RD_3|LM,	0,		IOCT2,		0,	0 },
 {"lca",			"t,A(b)",	0,    (int) M_LCA_AB,	INSN_MACRO,		0,		I1,		0,	0 },
+{"ldpc",		"s,-B",		0xec180000, 0xfc1c0000, WR_1,			RD_pc,		I69,		0,	0 },
 /* The macro has to be first to handle o32 correctly.  */
+{"ld",			"s,-b(+R)",	0xec180000, 0xfc1c0000, WR_1,			RD_pc,		I69,		0,	0 },
 {"ld",			"t,A(b)",	0,    (int) M_LD_AB,	INSN_MACRO,		0,		I1,		0,	0 },
 {"ld",			"t,o(b)",	0xdc000000, 0xfc000000, WR_1|RD_3|LM,		0,		I3,		0,	0 },
 {"ldaddw",		"t,b",		0x70000010, 0xfc00ffff,	MOD_1|RD_2|LM|SM,	0,		XLR,		0,	0 },
@@ -1176,15 +1239,16 @@ const struct mips_opcode mips_builtin_op
 {"ldc1",		"E,A(b)",	0,    (int) M_LDC1_AB,	INSN_MACRO,		INSN2_M_FP_D,	I2,		0,	SF },
 {"l.d",			"T,o(b)",	0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D,	0,		I2,		0,	SF }, /* ldc1 */
 {"l.d",			"T,A(b)",	0,    (int) M_L_DAB,	INSN_MACRO,		INSN2_M_FP_D,	I1,		0,	0 },
-{"ldc2",		"E,o(b)",	0xd8000000, 0xfc000000,	RD_3|WR_CC|CLD,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE },
+{"ldc2",		"E,+:(d)",	0x49c00000, 0xffe00000,	RD_3|WR_C2|CLD,		0,		I37,		0,	0 },
+{"ldc2",		"E,o(b)",	0xd8000000, 0xfc000000,	RD_3|WR_CC|CLD,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
 {"ldc2",		"E,A(b)",	0,    (int) M_LDC2_AB,	INSN_MACRO,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE },
 {"ldc3",		"E,o(b)",	0xdc000000, 0xfc000000,	RD_3|WR_CC|CLD,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE },
 {"ldc3",		"E,A(b)",	0,    (int) M_LDC3_AB,	INSN_MACRO,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE },
-{"ldl",			"t,o(b)",	0x68000000, 0xfc000000, WR_1|RD_3|LM,		0,		I3,		0,	0 },
-{"ldl",			"t,A(b)",	0,    (int) M_LDL_AB,	INSN_MACRO,		0,		I3,		0,	0 },
-{"ldr",			"t,o(b)",	0x6c000000, 0xfc000000, WR_1|RD_3|LM,		0,		I3,		0,	0 },
-{"ldr",			"t,A(b)",	0,    (int) M_LDR_AB,	INSN_MACRO,		0,		I3,		0,	0 },
-{"ldxc1",		"D,t(b)",	0x4c000001, 0xfc00f83f, WR_1|RD_2|RD_3|LM|FP_D, 0,		I4_33,		0,	0 },
+{"ldl",			"t,o(b)",	0x68000000, 0xfc000000, WR_1|RD_3|LM,		0,		I3,		0,	I69 },
+{"ldl",			"t,A(b)",	0,    (int) M_LDL_AB,	INSN_MACRO,		0,		I3,		0,	I69 },
+{"ldr",			"t,o(b)",	0x6c000000, 0xfc000000, WR_1|RD_3|LM,		0,		I3,		0,	I69 },
+{"ldr",			"t,A(b)",	0,    (int) M_LDR_AB,	INSN_MACRO,		0,		I3,		0,	I69 },
+{"ldxc1",		"D,t(b)",	0x4c000001, 0xfc00f83f, WR_1|RD_2|RD_3|LM|FP_D, 0,		I4_33,		0,	I37 },
 {"lh",			"t,o(b)",	0x84000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I1,		0,	0 },
 {"lh",			"t,A(b)",	0,    (int) M_LH_AB,	INSN_MACRO,		0,		I1,		0,	0 },
 {"lhu",			"t,o(b)",	0x94000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I1,		0,	0 },
@@ -1194,42 +1258,49 @@ const struct mips_opcode mips_builtin_op
 {"li.d",		"T,L",		0,    (int) M_LI_DD,	INSN_MACRO,		INSN2_M_FP_D,	I1,		0,	SF },
 {"li.s",		"t,f",		0,    (int) M_LI_S,	INSN_MACRO,		INSN2_M_FP_S,	I1,		0,	0 },
 {"li.s",		"T,l",		0,    (int) M_LI_SS,	INSN_MACRO,		INSN2_M_FP_S,	I1,		0,	0 },
-{"ll",			"t,o(b)",	0xc0000000, 0xfc000000, WR_1|RD_3|LM,		0,		I2,		0,	EE },
+{"ll",			"t,+j(b)",	0x7c000036, 0xfc00007f, WR_1|RD_3|LM,		0,		I37,		0,	0 },
+{"ll",			"t,o(b)",	0xc0000000, 0xfc000000, WR_1|RD_3|LM,		0,		I2,		0,	EE|I37 },
 {"ll",			"t,A(b)",	0,    (int) M_LL_AB,	INSN_MACRO,		0,		I2,		0,	EE },
-{"lld",			"t,o(b)",	0xd0000000, 0xfc000000, WR_1|RD_3|LM,		0,		I3,		0,	EE },
+{"lld",			"t,+j(b)",	0x7c000037, 0xfc00007f, WR_1|RD_3|LM,		0,		I69,		0,	0 },
+{"lld",			"t,o(b)",	0xd0000000, 0xfc000000, WR_1|RD_3|LM,		0,		I3,		0,	EE|I69 },
 {"lld",			"t,A(b)",	0,    (int) M_LLD_AB,	INSN_MACRO,		0,		I3,		0,	EE },
 {"lq",			"t,o(b)",	0x78000000, 0xfc000000, WR_1|RD_3|LM,		0,		MMI,		0,	0 },
 {"lq",			"t,A(b)",	0,    (int) M_LQ_AB,	INSN_MACRO,		0,		MMI,		0,	0 },
 {"lqc2",		"+7,o(b)",	0xd8000000, 0xfc000000,	RD_3|WR_C2|LM,		0,		EE,		0,	0 },
 {"lqc2",		"+7,A(b)",	0,    (int) M_LQC2_AB,	INSN_MACRO,		0,		EE,		0,	0 },
 {"lui",			"t,u",		0x3c000000, 0xffe00000,	WR_1,			0,		I1,		0,	0 },
-{"luxc1",		"D,t(b)",	0x4c000005, 0xfc00f83f, WR_1|RD_2|RD_3|LM|FP_D, 0,		I5_33|N55,	0,	0},
+{"luxc1",		"D,t(b)",	0x4c000005, 0xfc00f83f, WR_1|RD_2|RD_3|LM|FP_D, 0,		I5_33|N55,	0,	I37},
+{"lwpc",		"s,-A",		0xec080000, 0xfc180000, WR_1|LM,		RD_pc,		I37,		0,	0 },
 {"lw",			"t,o(b)",	0x8c000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I1,		0,	0 },
+{"lw",			"s,-a(+R)",	0xec080000, 0xfc180000, WR_1|LM,		RD_pc,		I37,		0,	0 },
 {"lw",			"t,A(b)",	0,    (int) M_LW_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"lwc0",		"E,o(b)",	0xc0000000, 0xfc000000,	RD_3|WR_CC|CLD,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
-{"lwc0",		"E,A(b)",	0,    (int) M_LWC0_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
+{"lwc0",		"E,o(b)",	0xc0000000, 0xfc000000,	RD_3|WR_CC|CLD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"lwc0",		"E,A(b)",	0,    (int) M_LWC0_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2|I37 },
 {"lwc1",		"T,o(b)",	0xc4000000, 0xfc000000,	WR_1|RD_3|CLD|FP_S,	0,		I1,		0,	0 },
 {"lwc1",		"E,o(b)",	0xc4000000, 0xfc000000,	WR_1|RD_3|CLD|FP_S,	0,		I1,		0,	0 },
 {"lwc1",		"T,A(b)",	0,    (int) M_LWC1_AB,	INSN_MACRO,		INSN2_M_FP_S,	I1,		0,	0 },
 {"lwc1",		"E,A(b)",	0,    (int) M_LWC1_AB,	INSN_MACRO,		INSN2_M_FP_S,	I1,		0,	0 },
 {"l.s",			"T,o(b)",	0xc4000000, 0xfc000000,	WR_1|RD_3|CLD|FP_S,	0,		I1,		0,	0 }, /* lwc1 */
 {"l.s",			"T,A(b)",	0,    (int) M_LWC1_AB,	INSN_MACRO,		INSN2_M_FP_S,	I1,		0,	0 },
-{"lwc2",		"E,o(b)",	0xc8000000, 0xfc000000,	RD_3|WR_CC|CLD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
+{"lwc2",		"E,+:(d)",	0x49400000, 0xffe00000,	RD_3|WR_C2|CLD,		0,		I37,		0,	0 },
+{"lwc2",		"E,o(b)",	0xc8000000, 0xfc000000,	RD_3|WR_CC|CLD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
 {"lwc2",		"E,A(b)",	0,    (int) M_LWC2_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"lwc3",		"E,o(b)",	0xcc000000, 0xfc000000,	RD_3|WR_CC|CLD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"lwc3",		"E,A(b)",	0,    (int) M_LWC3_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"lwl",			"t,o(b)",	0x88000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I1,		0,	0 },
-{"lwl",			"t,A(b)",	0,    (int) M_LWL_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"lcache",		"t,o(b)",	0x88000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I2,		0,	0 }, /* same */
-{"lcache",		"t,A(b)",	0,    (int) M_LWL_AB,	INSN_MACRO,		0,		I2,		0,	0 }, /* as lwl */
-{"lwr",			"t,o(b)",	0x98000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I1,		0,	0 },
-{"lwr",			"t,A(b)",	0,    (int) M_LWR_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"flush",		"t,o(b)",	0x98000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I2,		0,	0 }, /* same */
-{"flush",		"t,A(b)",	0,    (int) M_LWR_AB,	INSN_MACRO,		0,		I2,		0,	0 }, /* as lwr */
+{"lwc3",		"E,o(b)",	0xcc000000, 0xfc000000,	RD_3|WR_CC|CLD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"lwc3",		"E,A(b)",	0,    (int) M_LWC3_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"lwl",			"t,o(b)",	0x88000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I1,		0,	I37 },
+{"lwl",			"t,A(b)",	0,    (int) M_LWL_AB,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"lcache",		"t,o(b)",	0x88000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I2,		0,	I37 }, /* same */
+{"lcache",		"t,A(b)",	0,    (int) M_LWL_AB,	INSN_MACRO,		0,		I2,		0,	I37 }, /* as lwl */
+{"lwr",			"t,o(b)",	0x98000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I1,		0,	I37 },
+{"lwr",			"t,A(b)",	0,    (int) M_LWR_AB,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"flush",		"t,o(b)",	0x98000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I2,		0,	I37 }, /* same */
+{"flush",		"t,A(b)",	0,    (int) M_LWR_AB,	INSN_MACRO,		0,		I2,		0,	I37 }, /* as lwr */
 {"fork",		"d,s,t",	0x7c000008, 0xfc0007ff, WR_1|RD_2|RD_3|TRAP,	0,		0,		MT32,	0 },
+{"lwupc",		"s,-A",		0xec100000, 0xfc180000, WR_1,			RD_pc,		I69,		0,	0 },
 {"lwu",			"t,o(b)",	0x9c000000, 0xfc000000,	WR_1|RD_3|LM,		0,		I3,		0,	0 },
+{"lwu"	,		"s,-a(+R)",	0xec100000, 0xfc180000, WR_1,			RD_pc,		I69,		0,	0 },
 {"lwu",			"t,A(b)",	0,    (int) M_LWU_AB,	INSN_MACRO,		0,		I3,		0,	0 },
-{"lwxc1",		"D,t(b)",	0x4c000000, 0xfc00f83f, WR_1|RD_2|RD_3|LM|FP_S,     0,		I4_33,		0,	0 },
+{"lwxc1",		"D,t(b)",	0x4c000000, 0xfc00f83f, WR_1|RD_2|RD_3|LM|FP_S,     0,		I4_33,		0,	I37 },
 {"lwxs",		"d,t(b)",	0x70000088, 0xfc0007ff,	WR_1|RD_2|RD_3|LM,	     0,		0,		SMT,	0 },
 {"macc",		"d,s,t",	0x00000028, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO,	     0,		N412,		0,	0 },
 {"macc",		"d,s,t",	0x00000158, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO,	     0,		N5,		0,	0 },
@@ -1245,18 +1316,18 @@ const struct mips_opcode mips_builtin_op
 {"maccus",		"d,s,t",	0x00000468, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_HILO,	     0,		N412,		0,	0 },
 {"mad",			"s,t",		0x70000000, 0xfc00ffff, RD_1|RD_2|MOD_HILO,	     0,		P3,		0,	0 },
 {"madu",		"s,t",		0x70000001, 0xfc00ffff, RD_1|RD_2|MOD_HILO,	     0,		P3,		0,	0 },
-{"madd.d",		"D,R,S,T",	0x4c000021, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D,    0,		I4_33,		0,	0 },
+{"madd.d",		"D,R,S,T",	0x4c000021, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D,    0,		I4_33,		0,	I37 },
 {"madd.d",		"D,S,T",	0x46200018, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	     0,		IL2E,		0,	0 },
 {"madd.d",		"D,S,T",	0x72200018, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	     0,		IL2F,		0,	0 },
-{"madd.s",		"D,R,S,T",	0x4c000020, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S,    0,		I4_33,		0,	0 },
+{"madd.s",		"D,R,S,T",	0x4c000020, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S,    0,		I4_33,		0,	I37 },
 {"madd.s",		"D,S,T",	0x46000018, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	     0,		IL2E,		0,	0 },
 {"madd.s",		"D,S,T",	0x72000018, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	     0,		IL2F,		0,	0 },
 {"madd.s",		"D,S,T",	0x4600001c, 0xffe0003f, WR_1|RD_2|RD_3|FP_S,	     0,		EE,		0,	0 },
-{"madd.ps",		"D,R,S,T",	0x4c000026, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D,    0,		I5_33,		0,	0 },
+{"madd.ps",		"D,R,S,T",	0x4c000026, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D,    0,		I5_33,		0,	I37 },
 {"madd.ps",		"D,S,T",	0x45600018, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	     0,		IL2E,		0,	0 },
 {"madd.ps",		"D,S,T",	0x72c00018, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	     0,		IL2F,		0,	0 },
 {"madd",		"s,t",		0x0000001c, 0xfc00ffff, RD_1|RD_2|WR_HILO,           0,		L1,		0,	0 },
-{"madd",		"s,t",		0x70000000, 0xfc00ffff, RD_1|RD_2|MOD_HILO,          0,		I32|N55,	0,	0 },
+{"madd",		"s,t",		0x70000000, 0xfc00ffff, RD_1|RD_2|MOD_HILO,          0,		I32|N55,	0,	I37 },
 {"madd",		"s,t",		0x70000000, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M,      0,		G1,		0,	0 },
 {"madd",		"7,s,t",	0x70000000, 0xfc00e7ff, RD_2|RD_3|MOD_a,             0,         0,		D32,	0 },
 {"madd",		"d,s,t",	0x70000000, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0,		G1,		0,	0 },
@@ -1265,7 +1336,7 @@ const struct mips_opcode mips_builtin_op
 {"madda.s",		"S,T",		0x4600001e, 0xffe007ff, RD_1|RD_2|FP_S,		     0,		EE,		0,	0 },
 {"maddp",		"s,t",		0x70000441, 0xfc00ffff,	RD_1|RD_2|MOD_HILO,	     0,		0,		SMT,	0 },
 {"maddu",		"s,t",		0x0000001d, 0xfc00ffff, RD_1|RD_2|WR_HILO,           0,		L1,		0,	0 },
-{"maddu",		"s,t",		0x70000001, 0xfc00ffff, RD_1|RD_2|MOD_HILO,          0,		I32|N55,	0,	0 },
+{"maddu",		"s,t",		0x70000001, 0xfc00ffff, RD_1|RD_2|MOD_HILO,          0,		I32|N55,	0,	I37 },
 {"maddu",		"s,t",		0x70000001, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M,      0,		G1,		0,	0 },
 {"maddu",		"7,s,t",	0x70000001, 0xfc00e7ff, RD_2|RD_3|MOD_a,             0,         0,		D32,	0 },
 {"maddu",		"d,s,t",	0x70000001, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0,		G1,		0,	0 },
@@ -1276,52 +1347,53 @@ const struct mips_opcode mips_builtin_op
 {"max.ob",		"D,S,Q",	0x48000007, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		N54,		0,	0 },
 {"max.qh",		"X,Y,Q",	0x78200007, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
 {"max.s",		"D,S,T",	0x46000028, 0xffe0003f, WR_1|RD_2|RD_3|FP_S,	0,		EE,		0,	0 },
-{"mfbpc",		"t",		0x4000c000, 0xffe0ffff,	WR_1|RD_C0|LCD,		0,		EE,		0,	0 },
-{"mfdab",		"t",		0x4000c004, 0xffe0ffff,	WR_1|RD_C0|LCD,		0,		EE,		0,	0 },
-{"mfdabm",		"t",		0x4000c005, 0xffe0ffff,	WR_1|RD_C0|LCD,		0,		EE,		0,	0 },
-{"mfdvb",		"t",		0x4000c006, 0xffe0ffff,	WR_1|RD_C0|LCD,		0,		EE,		0,	0 },
-{"mfdvbm",		"t",		0x4000c007, 0xffe0ffff,	WR_1|RD_C0|LCD,		0,		EE,		0,	0 },
-{"mfiab",		"t",		0x4000c002, 0xffe0ffff,	WR_1|RD_C0|LCD,		0,		EE,		0,	0 },
-{"mfiabm",		"t",		0x4000c003, 0xffe0ffff,	WR_1|RD_C0|LCD,		0,		EE,		0,	0 },
-{"mfpc",		"t,P",		0x4000c801, 0xffe0ffc1,	WR_1|RD_C0|LCD,		0,		M1|N5|EE,	0,	0 },
-{"mfps",		"t,P",		0x4000c800, 0xffe0ffc1,	WR_1|RD_C0|LCD,		0,		M1|N5|EE,	0,	0 },
+{"max.s",		"D,S,T",	0x4600001e, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"mfbpc",		"t",		0x4000c000, 0xffe0ffff,	WR_1|RD_C0|LC,		0,		EE,		0,	0 },
+{"mfdab",		"t",		0x4000c004, 0xffe0ffff,	WR_1|RD_C0|LC,		0,		EE,		0,	0 },
+{"mfdabm",		"t",		0x4000c005, 0xffe0ffff,	WR_1|RD_C0|LC,		0,		EE,		0,	0 },
+{"mfdvb",		"t",		0x4000c006, 0xffe0ffff,	WR_1|RD_C0|LC,		0,		EE,		0,	0 },
+{"mfdvbm",		"t",		0x4000c007, 0xffe0ffff,	WR_1|RD_C0|LC,		0,		EE,		0,	0 },
+{"mfiab",		"t",		0x4000c002, 0xffe0ffff,	WR_1|RD_C0|LC,		0,		EE,		0,	0 },
+{"mfiabm",		"t",		0x4000c003, 0xffe0ffff,	WR_1|RD_C0|LC,		0,		EE,		0,	0 },
+{"mfpc",		"t,P",		0x4000c801, 0xffe0ffc1,	WR_1|RD_C0|LC,		0,		M1|N5|EE,	0,	0 },
+{"mfps",		"t,P",		0x4000c800, 0xffe0ffc1,	WR_1|RD_C0|LC,		0,		M1|N5|EE,	0,	0 },
 {"mftacx",		"d",		0x41020021, 0xffff07ff, WR_1|RD_a|TRAP,		0,		0,		MT32,	0 },
 {"mftacx",		"d,*",		0x41020021, 0xfff307ff, WR_1|RD_a|TRAP,		0,		0,		MT32,	0 },
-{"mftc0",		"d,+t",		0x41000000, 0xffe007ff, WR_1|RD_C0|TRAP|LCD,	0,		0,		MT32,	0 },
-{"mftc0",		"d,E,H",	0x41000000, 0xffe007f8, WR_1|RD_C0|TRAP|LCD,	0,		0,		MT32,	0 },
-{"mftc1",		"d,T",		0x41000022, 0xffe007ff, WR_1|RD_2|TRAP|LCD|FP_S, 0,		0,		MT32,	0 },
-{"mftc1",		"d,E",		0x41000022, 0xffe007ff, WR_1|RD_2|TRAP|LCD|FP_S, 0,		0,		MT32,	0 },
-{"mftc2",		"d,E",		0x41000024, 0xffe007ff,	WR_1|RD_C2|TRAP|LCD,	0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
+{"mftc0",		"d,+t",		0x41000000, 0xffe007ff, WR_1|RD_C0|TRAP|LC,	0,		0,		MT32,	0 },
+{"mftc0",		"d,E,H",	0x41000000, 0xffe007f8, WR_1|RD_C0|TRAP|LC,	0,		0,		MT32,	0 },
+{"mftc1",		"d,T",		0x41000022, 0xffe007ff, WR_1|RD_2|TRAP|LC|FP_S, 0,		0,		MT32,	0 },
+{"mftc1",		"d,E",		0x41000022, 0xffe007ff, WR_1|RD_2|TRAP|LC|FP_S, 0,		0,		MT32,	0 },
+{"mftc2",		"d,E",		0x41000024, 0xffe007ff,	WR_1|RD_C2|TRAP|LC,	0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
 {"mftdsp",		"d",		0x41100021, 0xffff07ff, WR_1|TRAP,		0,		0,		MT32,	0 },
 {"mftgpr",		"d,t",		0x41000020, 0xffe007ff, WR_1|RD_2|TRAP,		0,		0,		MT32,	0 },
-{"mfthc1",		"d,T",		0x41000032, 0xffe007ff, WR_1|RD_2|TRAP|LCD|FP_D, 0,		0,		MT32,	0 },
-{"mfthc1",		"d,E",		0x41000032, 0xffe007ff, WR_1|RD_2|TRAP|LCD|FP_D, 0,		0,		MT32,	0 },
-{"mfthc2",		"d,E",		0x41000034, 0xffe007ff,	WR_1|RD_C2|TRAP|LCD,	0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
+{"mfthc1",		"d,T",		0x41000032, 0xffe007ff, WR_1|RD_2|TRAP|LC|FP_D, 0,		0,		MT32,	0 },
+{"mfthc1",		"d,E",		0x41000032, 0xffe007ff, WR_1|RD_2|TRAP|LC|FP_D, 0,		0,		MT32,	0 },
+{"mfthc2",		"d,E",		0x41000034, 0xffe007ff,	WR_1|RD_C2|TRAP|LC,	0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
 {"mfthi",		"d",		0x41010021, 0xffff07ff, WR_1|RD_a|TRAP,		0,		0,		MT32,	0 },
 {"mfthi",		"d,*",		0x41010021, 0xfff307ff, WR_1|RD_a|TRAP,		0,		0,		MT32,	0 },
 {"mftlo",		"d",		0x41000021, 0xffff07ff, WR_1|RD_a|TRAP,		0,		0,		MT32,	0 },
 {"mftlo",		"d,*",		0x41000021, 0xfff307ff, WR_1|RD_a|TRAP,		0,		0,		MT32,	0 },
 {"mftr",		"d,t,!,H,$",	0x41000000, 0xffe007c8, WR_1|TRAP,		0,		0,		MT32,	0 },
-{"mfc0",		"t,G",		0x40000000, 0xffe007ff,	WR_1|RD_C0|LCD,		0,		I1,		0,	0 },
-{"mfc0",		"t,G,H",	0x40000000, 0xffe007f8,	WR_1|RD_C0|LCD,		0,		I32,		0,	0 },
-{"mfgc0",		"t,G",		0x40600000, 0xffe007ff,	WR_1|RD_C0|LCD,		0,		0,		IVIRT,	0 },
-{"mfgc0",		"t,G,H",	0x40600000, 0xffe007f8, WR_1|RD_C0|LCD, 	0,		0,		IVIRT,	0 },
-{"mfhc0",		"t,G",		0x40400000, 0xffe007ff,	WR_1|RD_C0|LCD,		0,		I33,		XPA,	0 },
-{"mfhc0",		"t,G,H",	0x40400000, 0xffe007f8,	WR_1|RD_C0|LCD,		0,		I33,		XPA,	0 },
-{"mfhgc0",		"t,G",		0x40600400, 0xffe007ff,	WR_1|RD_C0|LCD,		0,		I33,		IVIRT|XPA,	0 },
-{"mfhgc0",		"t,G,H",	0x40600400, 0xffe007f8,	WR_1|RD_C0|LCD,		0,		I33,		IVIRT|XPA,	0 },
-{"mfc1",		"t,S",		0x44000000, 0xffe007ff,	WR_1|RD_2|LCD|FP_S,	0,		I1,		0,	0 },
-{"mfc1",		"t,G",		0x44000000, 0xffe007ff,	WR_1|RD_2|LCD|FP_S,	0,		I1,		0,	0 },
-{"mfhc1",		"t,S",		0x44600000, 0xffe007ff,	WR_1|RD_2|LCD|FP_D,	0,		I33,		0,	0 },
-{"mfhc1",		"t,G",		0x44600000, 0xffe007ff,	WR_1|RD_2|LCD|FP_D,	0,		I33,		0,	0 },
+{"mfc0",		"t,G",		0x40000000, 0xffe007ff,	WR_1|RD_C0|LC,		0,		I1,		0,	0 },
+{"mfc0",		"t,G,H",	0x40000000, 0xffe007f8,	WR_1|RD_C0|LC,		0,		I32,		0,	0 },
+{"mfgc0",		"t,G",		0x40600000, 0xffe007ff,	WR_1|RD_C0|LC,		0,		0,		IVIRT,	0 },
+{"mfgc0",		"t,G,H",	0x40600000, 0xffe007f8, WR_1|RD_C0|LC,		0,		0,		IVIRT,	0 },
+{"mfhc0",		"t,G",		0x40400000, 0xffe007ff,	WR_1|RD_C0|LC,		0,		I33,		XPA,	0 },
+{"mfhc0",		"t,G,H",	0x40400000, 0xffe007f8,	WR_1|RD_C0|LC,		0,		I33,		XPA,	0 },
+{"mfhgc0",		"t,G",		0x40600400, 0xffe007ff,	WR_1|RD_C0|LC,		0,		I33,		IVIRT|XPA,	0 },
+{"mfhgc0",		"t,G,H",	0x40600400, 0xffe007f8,	WR_1|RD_C0|LC,		0,		I33,		IVIRT|XPA,	0 },
+{"mfc1",		"t,S",		0x44000000, 0xffe007ff,	WR_1|RD_2|LC|FP_S,	0,		I1,		0,	0 },
+{"mfc1",		"t,G",		0x44000000, 0xffe007ff,	WR_1|RD_2|LC|FP_S,	0,		I1,		0,	0 },
+{"mfhc1",		"t,S",		0x44600000, 0xffe007ff,	WR_1|RD_2|LC|FP_D,	0,		I33,		0,	0 },
+{"mfhc1",		"t,G",		0x44600000, 0xffe007ff,	WR_1|RD_2|LC|FP_D,	0,		I33,		0,	0 },
 /* mfc2 is at the bottom of the table.  */
 /* mfhc2 is at the bottom of the table.  */
 /* mfc3 is at the bottom of the table.  */
-{"mfdr",		"t,G",		0x7000003d, 0xffe007ff,	WR_1|RD_C0|LCD,		0,		N5,		0,	0 },
-{"mfhi",		"d",		0x00000010, 0xffff07ff,	WR_1|RD_HI,		0,		I1,		0,	0 },
+{"mfdr",		"t,G",		0x7000003d, 0xffe007ff,	WR_1|RD_C0|LC,		0,		N5,		0,	0 },
+{"mfhi",		"d",		0x00000010, 0xffff07ff,	WR_1|RD_HI,		0,		I1,		0,	I37 },
 {"mfhi",		"d,9",		0x00000010, 0xff9f07ff, WR_1|RD_HI,		0,		0,		D32,	0 },
 {"mfhi1",		"d",		0x70000010, 0xffff07ff,	WR_1|RD_HI,		0,		EE,		0,	0 },
-{"mflo",		"d",		0x00000012, 0xffff07ff,	WR_1|RD_LO,		0,		I1,		0,	0 },
+{"mflo",		"d",		0x00000012, 0xffff07ff,	WR_1|RD_LO,		0,		I1,		0,	I37 },
 {"mflo",		"d,9",		0x00000012, 0xff9f07ff, WR_1|RD_LO,		0,		0,		D32,	0 },
 {"mflo1",		"d",		0x70000012, 0xffff07ff,	WR_1|RD_LO,		0,		EE,		0,	0 },
 {"mflhxu",		"d",		0x00000052, 0xffff07ff,	WR_1|MOD_HILO,		0,		0,		SMT,	0 },
@@ -1331,37 +1403,38 @@ const struct mips_opcode mips_builtin_op
 {"min.ob",		"D,S,Q",	0x48000006, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		N54,		0,	0 },
 {"min.qh",		"X,Y,Q",	0x78200006, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
 {"min.s",		"D,S,T",	0x46000029, 0xffe0003f, WR_1|RD_2|RD_3|FP_S,	0,		EE,		0,	0 },
+{"min.s",		"D,S,T",	0x4600001c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
 {"mov.d",		"D,S",		0x46200006, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I1,		0,	SF },
 {"mov.s",		"D,S",		0x46000006, 0xffff003f,	WR_1|RD_2|FP_S,		0,		I1,		0,	0 },
-{"mov.ps",		"D,S",		0x46c00006, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I5_33|IL2F,	0,	0 },
+{"mov.ps",		"D,S",		0x46c00006, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I5_33|IL2F,	0,	I37 },
 {"mov.ps",		"D,S",		0x45600006, 0xffff003f,	WR_1|RD_2|FP_D,		0,		IL2E,		0,	0 },
-{"movf",		"d,s,N",	0x00000001, 0xfc0307ff, WR_1|RD_2|RD_CC|FP_S|FP_D, 0,		I4_32,		0,	0  },
-{"movf.d",		"D,S,N",	0x46200011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,   0,		I4_32,		0,	0 },
+{"movf",		"d,s,N",	0x00000001, 0xfc0307ff, WR_1|RD_2|RD_CC|FP_S|FP_D, 0,		I4_32,		0,	I37  },
+{"movf.d",		"D,S,N",	0x46200011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,   0,		I4_32,		0,	I37 },
 {"movf.l",		"D,S,N",	0x46a00011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,	0,		SB1,		MX,	0 },
 {"movf.l",		"X,Y,N",	0x46a00011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,	0,		SB1,		MX,	0 },
-{"movf.s",		"D,S,N",	0x46000011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_S,   0,		I4_32,		0,	0 },
-{"movf.ps",		"D,S,N",	0x46c00011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,	0,		I5_33,		0,	0 },
-{"movn",		"d,v,t",	0x0000000b, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I4_32|IL2E|IL2F|EE, 0,	0 },
+{"movf.s",		"D,S,N",	0x46000011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"movf.ps",		"D,S,N",	0x46c00011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"movn",		"d,v,t",	0x0000000b, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I4_32|IL2E|IL2F|EE, 0,	I37 },
 {"movnz",		"d,v,t",	0x0000000b, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		IL2E|IL2F|IL3A,	0,	0 },
 {"ffc",			"d,v",		0x0000000b, 0xfc1f07ff,	WR_1|RD_2,		0,		L1,		0,	0 },
-{"movn.d",		"D,S,t",	0x46200013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		I4_32,		0,	0 },
+{"movn.d",		"D,S,t",	0x46200013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		I4_32,		0,	I37 },
 {"movn.l",		"D,S,t",	0x46a00013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		SB1,		MX,	0 },
 {"movn.l",		"X,Y,t",	0x46a00013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		SB1,		MX,	0 },
-{"movn.s",		"D,S,t",	0x46000013, 0xffe0003f, WR_1|RD_2|RD_3|FP_S,    0,		I4_32,		0,	0 },
-{"movn.ps",		"D,S,t",	0x46c00013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		I5_33,		0,	0 },
-{"movt",		"d,s,N",	0x00010001, 0xfc0307ff, WR_1|RD_2|RD_CC|FP_S|FP_D, 0,		I4_32,		0,	0 },
-{"movt.d",		"D,S,N",	0x46210011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,   0,		I4_32,		0,	0 },
+{"movn.s",		"D,S,t",	0x46000013, 0xffe0003f, WR_1|RD_2|RD_3|FP_S,    0,		I4_32,		0,	I37 },
+{"movn.ps",		"D,S,t",	0x46c00013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		I5_33,		0,	I37 },
+{"movt",		"d,s,N",	0x00010001, 0xfc0307ff, WR_1|RD_2|RD_CC|FP_S|FP_D, 0,		I4_32,		0,	I37 },
+{"movt.d",		"D,S,N",	0x46210011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,   0,		I4_32,		0,	I37 },
 {"movt.l",		"D,S,N",	0x46a10011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,   0,		SB1,		MX,	0 },
 {"movt.l",		"X,Y,N",	0x46a10011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,   0,		SB1,		MX,	0 },
-{"movt.s",		"D,S,N",	0x46010011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_S,   0,		I4_32,		0,	0 },
-{"movt.ps",		"D,S,N",	0x46c10011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,	0,		I5_33,		0,	0 },
-{"movz",		"d,v,t",	0x0000000a, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I4_32|IL2E|IL2F|EE, 0,	0 },
+{"movt.s",		"D,S,N",	0x46010011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_S,   0,		I4_32,		0,	I37 },
+{"movt.ps",		"D,S,N",	0x46c10011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D,	0,		I5_33,		0,	I37 },
+{"movz",		"d,v,t",	0x0000000a, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I4_32|IL2E|IL2F|EE, 0,	I37 },
 {"ffs",			"d,v",		0x0000000a, 0xfc1f07ff,	WR_1|RD_2,		0,		L1,		0,	0 },
-{"movz.d",		"D,S,t",	0x46200012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		I4_32,		0,	0 },
+{"movz.d",		"D,S,t",	0x46200012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		I4_32,		0,	I37 },
 {"movz.l",		"D,S,t",	0x46a00012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		SB1,		MX,	0 },
 {"movz.l",		"X,Y,t",	0x46a00012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		SB1,		MX,	0 },
-{"movz.s",		"D,S,t",	0x46000012, 0xffe0003f, WR_1|RD_2|RD_3|FP_S,    0,		I4_32,		0,	0 },
-{"movz.ps",		"D,S,t",	0x46c00012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		I5_33,		0,	0 },
+{"movz.s",		"D,S,t",	0x46000012, 0xffe0003f, WR_1|RD_2|RD_3|FP_S,    0,		I4_32,		0,	I37 },
+{"movz.ps",		"D,S,t",	0x46c00012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,    0,		I5_33,		0,	I37 },
 {"msac",		"d,s,t",	0x000001d8, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_HILO,	0,		N5,		0,	0 },
 {"msacu",		"d,s,t",	0x000001d9, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_HILO,	0,		N5,		0,	0 },
 {"msachi",		"d,s,t",	0x000003d8, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_HILO,	0,		N5,		0,	0 },
@@ -1373,77 +1446,83 @@ const struct mips_opcode mips_builtin_op
 {"msgld",		"t",		0,    (int) M_MSGLD_T,	INSN_MACRO,		0,		XLR,		0,	0 },
 {"msgwait",		"", 		0,    (int) M_MSGWAIT,	INSN_MACRO,		0,		XLR,		0,	0 },
 {"msgwait",		"t",		0,    (int) M_MSGWAIT_T,INSN_MACRO,		0,		XLR,		0,	0 },
-{"msub.d",		"D,R,S,T",	0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I4_33,		0,	0 },
+{"msub.d",		"D,R,S,T",	0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I4_33,		0,	I37 },
 {"msub.d",		"D,S,T",	0x46200019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"msub.d",		"D,S,T",	0x72200019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F,		0,	0 },
-{"msub.s",		"D,R,S,T",	0x4c000028, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0,		I4_33,		0,	0 },
+{"msub.s",		"D,R,S,T",	0x4c000028, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0,		I4_33,		0,	I37 },
 {"msub.s",		"D,S,T",	0x46000019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2E,		0,	0 },
 {"msub.s",		"D,S,T",	0x72000019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2F,		0,	0 },
 {"msub.s",		"D,S,T",	0x4600001d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		EE,		0,	0 },
-{"msub.ps",		"D,R,S,T",	0x4c00002e, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I5_33,		0,	0 },
+{"msub.ps",		"D,R,S,T",	0x4c00002e, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I5_33,		0,	I37 },
 {"msub.ps",		"D,S,T",	0x45600019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"msub.ps",		"D,S,T",	0x72c00019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F,		0,	0 },
 {"msub",		"s,t",		0x0000001e, 0xfc00ffff, RD_1|RD_2|WR_HILO,	0,		L1,		0,	0 },
-{"msub",		"s,t",		0x70000004, 0xfc00ffff, RD_1|RD_2|MOD_HILO,     0,		I32|N55,	0,	0 },
+{"msub",		"s,t",		0x70000004, 0xfc00ffff, RD_1|RD_2|MOD_HILO,     0,		I32|N55,	0,	I37 },
 {"msub",		"7,s,t",	0x70000004, 0xfc00e7ff, RD_2|RD_3|MOD_a,        0,              0,		D32,	0 },
 {"msuba.s",		"S,T",		0x4600001f, 0xffe007ff,	RD_1|RD_2|FP_S,		0,		EE,		0,	0 },
 {"msubu",		"s,t",		0x0000001f, 0xfc00ffff, RD_1|RD_2|WR_HILO,	0,		L1,		0,	0 },
-{"msubu",		"s,t",		0x70000005, 0xfc00ffff, RD_1|RD_2|MOD_HILO,     0,		I32|N55,	0,	0 },
+{"msubu",		"s,t",		0x70000005, 0xfc00ffff, RD_1|RD_2|MOD_HILO,     0,		I32|N55,	0,	I37 },
 {"msubu",		"7,s,t",	0x70000005, 0xfc00e7ff, RD_2|RD_3|MOD_a,        0,              0,		D32,	0 },
-{"mtbpc",		"t",		0x4080c000, 0xffe0ffff,	RD_1|WR_C0|COD,		0,		EE,		0,	0 },
-{"mtdab",		"t",		0x4080c004, 0xffe0ffff,	RD_1|WR_C0|COD,		0,		EE,		0,	0 },
-{"mtdabm",		"t",		0x4080c005, 0xffe0ffff,	RD_1|WR_C0|COD,		0,		EE,		0,	0 },
-{"mtdvb",		"t",		0x4080c006, 0xffe0ffff,	RD_1|WR_C0|COD,		0,		EE,		0,	0 },
-{"mtdvbm",		"t",		0x4080c007, 0xffe0ffff,	RD_1|WR_C0|COD,		0,		EE,		0,	0 },
-{"mtiab",		"t",		0x4080c002, 0xffe0ffff,	RD_1|WR_C0|COD,		0,		EE,		0,	0 },
-{"mtiabm",		"t",		0x4080c003, 0xffe0ffff,	RD_1|WR_C0|COD,		0,		EE,		0,	0 },
-{"mtpc",		"t,P",		0x4080c801, 0xffe0ffc1,	RD_1|WR_C0|COD,		0,		M1|N5|EE,	0,	0 },
-{"mtps",		"t,P",		0x4080c800, 0xffe0ffc1,	RD_1|WR_C0|COD,		0,		M1|N5|EE,	0,	0 },
-{"mtc0",		"t,G",		0x40800000, 0xffe007ff,	RD_1|WR_C0|WR_CC|COD,	0,		I1,		0,	0 },
-{"mtc0",		"t,G,H",	0x40800000, 0xffe007f8,	RD_1|WR_C0|WR_CC|COD,	0,		I32,		0,	0 },
-{"mtgc0",		"t,G",		0x40600200, 0xffe007ff,	RD_1|WR_C0|WR_CC|COD,	0,		0,		IVIRT,	0 },
-{"mtgc0",		"t,G,H",	0x40600200, 0xffe007f8, RD_1|WR_C0|WR_CC|COD,   0,		0,		IVIRT,	0 },
-{"mthc0",		"t,G",		0x40c00000, 0xffe007ff,	RD_1|WR_C0|WR_CC|COD,	0,		I33,		XPA,	0 },
-{"mthc0",		"t,G,H",	0x40c00000, 0xffe007f8,	RD_1|WR_C0|WR_CC|COD,	0,		I33,		XPA,	0 },
-{"mthgc0",		"t,G",		0x40600600, 0xffe007ff,	RD_1|WR_C0|WR_CC|COD,	0,		I33,		IVIRT|XPA,	0 },
-{"mthgc0",		"t,G,H",	0x40600600, 0xffe007f8,	RD_1|WR_C0|WR_CC|COD,	0,		I33,		IVIRT|XPA,	0 },
-{"mtc1",		"t,S",		0x44800000, 0xffe007ff,	RD_1|WR_2|COD|FP_S,	0,		I1,		0,	0 },
-{"mtc1",		"t,G",		0x44800000, 0xffe007ff,	RD_1|WR_2|COD|FP_S,	0,		I1,		0,	0 },
-{"mthc1",		"t,S",		0x44e00000, 0xffe007ff,	RD_1|WR_2|COD|FP_D,	0,		I33,		0,	0 },
-{"mthc1",		"t,G",		0x44e00000, 0xffe007ff,	RD_1|WR_2|COD|FP_D,	0,		I33,		0,	0 },
+{"mtbpc",		"t",		0x4080c000, 0xffe0ffff,	RD_1|WR_C0|CM,		0,		EE,		0,	0 },
+{"mtdab",		"t",		0x4080c004, 0xffe0ffff,	RD_1|WR_C0|CM,		0,		EE,		0,	0 },
+{"mtdabm",		"t",		0x4080c005, 0xffe0ffff,	RD_1|WR_C0|CM,		0,		EE,		0,	0 },
+{"mtdvb",		"t",		0x4080c006, 0xffe0ffff,	RD_1|WR_C0|CM,		0,		EE,		0,	0 },
+{"mtdvbm",		"t",		0x4080c007, 0xffe0ffff,	RD_1|WR_C0|CM,		0,		EE,		0,	0 },
+{"mtiab",		"t",		0x4080c002, 0xffe0ffff,	RD_1|WR_C0|CM,		0,		EE,		0,	0 },
+{"mtiabm",		"t",		0x4080c003, 0xffe0ffff,	RD_1|WR_C0|CM,		0,		EE,		0,	0 },
+{"mtpc",		"t,P",		0x4080c801, 0xffe0ffc1,	RD_1|WR_C0|CM,		0,		M1|N5|EE,	0,	0 },
+{"mtps",		"t,P",		0x4080c800, 0xffe0ffc1,	RD_1|WR_C0|CM,		0,		M1|N5|EE,	0,	0 },
+{"mtc0",		"t,G",		0x40800000, 0xffe007ff,	RD_1|WR_C0|WR_CC|CM,	0,		I1,		0,	0 },
+{"mtc0",		"t,G,H",	0x40800000, 0xffe007f8,	RD_1|WR_C0|WR_CC|CM,	0,		I32,		0,	0 },
+{"mtgc0",		"t,G",		0x40600200, 0xffe007ff,	RD_1|WR_C0|WR_CC|CM,	0,		0,		IVIRT,	0 },
+{"mtgc0",		"t,G,H",	0x40600200, 0xffe007f8, RD_1|WR_C0|WR_CC|CM,   0,		0,		IVIRT,	0 },
+{"mthc0",		"t,G",		0x40c00000, 0xffe007ff,	RD_1|WR_C0|WR_CC|CM,	0,		I33,		XPA,	0 },
+{"mthc0",		"t,G,H",	0x40c00000, 0xffe007f8,	RD_1|WR_C0|WR_CC|CM,	0,		I33,		XPA,	0 },
+{"mthgc0",		"t,G",		0x40600600, 0xffe007ff,	RD_1|WR_C0|WR_CC|CM,	0,		I33,		IVIRT|XPA,	0 },
+{"mthgc0",		"t,G,H",	0x40600600, 0xffe007f8,	RD_1|WR_C0|WR_CC|CM,	0,		I33,		IVIRT|XPA,	0 },
+{"mtc1",		"t,S",		0x44800000, 0xffe007ff,	RD_1|WR_2|CM|FP_S,	0,		I1,		0,	0 },
+{"mtc1",		"t,G",		0x44800000, 0xffe007ff,	RD_1|WR_2|CM|FP_S,	0,		I1,		0,	0 },
+{"mthc1",		"t,S",		0x44e00000, 0xffe007ff,	RD_1|WR_2|CM|FP_D,	0,		I33,		0,	0 },
+{"mthc1",		"t,G",		0x44e00000, 0xffe007ff,	RD_1|WR_2|CM|FP_D,	0,		I33,		0,	0 },
 /* mtc2 is at the bottom of the table.  */
 /* mthc2 is at the bottom of the table.  */
 /* mtc3 is at the bottom of the table.  */
-{"mtdr",		"t,G",		0x7080003d, 0xffe007ff,	RD_1|WR_C0|COD,		0,		N5,		0,	0 },
-{"mthi",		"s",		0x00000011, 0xfc1fffff,	RD_1|WR_HI,		0,		I1,		0,	0 },
+{"mtdr",		"t,G",		0x7080003d, 0xffe007ff,	RD_1|WR_C0|CM,		0,		N5,		0,	0 },
+{"mthi",		"s",		0x00000011, 0xfc1fffff,	RD_1|WR_HI,		0,		I1,		0,	I37 },
 {"mthi",		"s,7",		0x00000011, 0xfc1fe7ff, RD_1|WR_HI,		0,		0,		D32,	0 },
 {"mthi1",		"s",		0x70000011, 0xfc1fffff,	RD_1|WR_HI,		0,		EE,		0,	0 },
-{"mtlo",		"s",		0x00000013, 0xfc1fffff,	RD_1|WR_LO,		0,		I1,		0,	0 },
+{"mtlo",		"s",		0x00000013, 0xfc1fffff,	RD_1|WR_LO,		0,		I1,		0,	I37 },
 {"mtlo",		"s,7",		0x00000013, 0xfc1fe7ff, RD_1|WR_LO,		0,		0,		D32,	0 },
 {"mtlo1",		"s",		0x70000013, 0xfc1fffff,	RD_1|WR_LO,		0,		EE,		0,	0 },
 {"mtlhx",		"s",		0x00000053, 0xfc1fffff,	RD_1|MOD_HILO,		0,		0,		SMT,	0 },
 {"mtcr",		"t,s",		0x70000019, 0xfc00ffff, RD_1|RD_2,		0,		XLR,		0,	0 },
 {"mtm0",		"s",		0x70000008, 0xfc1fffff, RD_1,			0,		IOCT,		0,	0 },
+{"mtm0",    		"s,t",		0x70000008, 0xfc00ffff, RD_1|RD_2,		0,		IOCT3,		0,	0 },
 {"mtm1",		"s",		0x7000000c, 0xfc1fffff, RD_1,			0,		IOCT,		0,	0 },
+{"mtm1",    		"s,t",		0x7000000c, 0xfc00ffff, RD_1|RD_2,		0,		IOCT3,		0,	0 },
 {"mtm2",		"s",		0x7000000d, 0xfc1fffff, RD_1,			0,		IOCT,		0,	0 },
+{"mtm2",    		"s,t",		0x7000000d, 0xfc00ffff, RD_1|RD_2,		0,		IOCT3,		0,	0 },
 {"mtp0",		"s",		0x70000009, 0xfc1fffff, RD_1,			0,		IOCT,		0,	0 },
+{"mtp0",    		"s,t",		0x70000009, 0xfc00ffff, RD_1|RD_2,		0,		IOCT3,		0,	0 },
 {"mtp1",		"s",		0x7000000a, 0xfc1fffff, RD_1,			0,		IOCT,		0,	0 },
+{"mtp1",    		"s,t",		0x7000000a, 0xfc00ffff, RD_1|RD_2,		0,		IOCT3,		0,	0 },
 {"mtp2",		"s",		0x7000000b, 0xfc1fffff, RD_1,			0,		IOCT,		0,	0 },
+{"mtp2",    		"s,t",		0x7000000b, 0xfc00ffff, RD_1|RD_2,		0,		IOCT3,		0,	0 },
 {"mtsa",		"s",		0x00000029, 0xfc1fffff,	RD_1,			0,		EE,		0,	0 },
 {"mtsab",		"s,j",		0x04180000, 0xfc1f0000,	RD_1,			0,		EE,		0,	0 },
 {"mtsah",		"s,j",		0x04190000, 0xfc1f0000,	RD_1,			0,		EE,		0,	0 },
-{"mttc0",		"t,G",		0x41800000, 0xffe007ff, RD_1|WR_C0|WR_CC|TRAP|COD, 0,		0,		MT32,	0 },
-{"mttc0",		"t,G,H",	0x41800000, 0xffe007f8, RD_1|WR_C0|WR_CC|TRAP|COD, 0,		0,		MT32,	0 },
-{"mttc1",		"t,S",		0x41800022, 0xffe007ff, RD_1|WR_2|TRAP|COD|FP_S, 0,		0,		MT32,	0 },
-{"mttc1",		"t,G",		0x41800022, 0xffe007ff, RD_1|WR_2|TRAP|COD|FP_S, 0,		0,		MT32,	0 },
-{"mttc2",		"t,g",		0x41800024, 0xffe007ff,	RD_1|WR_C2|WR_CC|TRAP|COD, 0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
+{"mttc0",		"t,G",		0x41800000, 0xffe007ff, RD_1|WR_C0|WR_CC|TRAP|CM, 0,		0,		MT32,	0 },
+{"mttc0",		"t,G,H",	0x41800000, 0xffe007f8, RD_1|WR_C0|WR_CC|TRAP|CM, 0,		0,		MT32,	0 },
+{"mttc1",		"t,S",		0x41800022, 0xffe007ff, RD_1|WR_2|TRAP|CM|FP_S, 0,		0,		MT32,	0 },
+{"mttc1",		"t,G",		0x41800022, 0xffe007ff, RD_1|WR_2|TRAP|CM|FP_S, 0,		0,		MT32,	0 },
+{"mttc2",		"t,g",		0x41800024, 0xffe007ff,	RD_1|WR_C2|WR_CC|TRAP|CM, 0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
 {"mttacx",		"t",		0x41801021, 0xffe0ffff, RD_1|WR_a|TRAP,		0,		0,		MT32,	0 },
 {"mttacx",		"t,&",		0x41801021, 0xffe09fff, RD_1|WR_a|TRAP,		0,		0,		MT32,	0 },
 {"mttdsp",		"t",		0x41808021, 0xffe0ffff, RD_1|TRAP,		0,		0,		MT32,	0 },
 {"mttgpr",		"t,d",		0x41800020, 0xffe007ff, RD_1|WR_2|TRAP,		0,		0,		MT32,	0 },
-{"mtthc1",		"t,S",		0x41800032, 0xffe007ff, RD_1|WR_2|TRAP|COD|FP_D, 0,		0,		MT32,	0 },
-{"mtthc1",		"t,G",		0x41800032, 0xffe007ff, RD_1|WR_2|TRAP|COD|FP_D, 0,		0,		MT32,	0 },
-{"mtthc2",		"t,g",		0x41800034, 0xffe007ff,	RD_1|WR_C2|WR_CC|TRAP|COD, 0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
+{"mtthc1",		"t,S",		0x41800032, 0xffe007ff, RD_1|WR_2|TRAP|CM|FP_D, 0,		0,		MT32,	0 },
+{"mtthc1",		"t,G",		0x41800032, 0xffe007ff, RD_1|WR_2|TRAP|CM|FP_D, 0,		0,		MT32,	0 },
+{"mtthc2",		"t,g",		0x41800034, 0xffe007ff,	RD_1|WR_C2|WR_CC|TRAP|CM, 0,		0,		MT32,	IOCT|IOCTP|IOCT2 },
 {"mtthi",		"t",		0x41800821, 0xffe0ffff, RD_1|WR_a|TRAP,		0,		0,		MT32,	0 },
 {"mtthi",		"t,&",		0x41800821, 0xffe09fff, RD_1|WR_a|TRAP,		0,		0,		MT32,	0 },
 {"mttlo",		"t",		0x41800021, 0xffe0ffff, RD_1|WR_a|TRAP,		0,		0,		MT32,	0 },
@@ -1453,13 +1532,16 @@ const struct mips_opcode mips_builtin_op
 {"mul.s",		"D,V,T",	0x46000002, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I1,		0,	0 },
 {"mul.ob",		"X,Y,Q",	0x78000030, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		SB1,		MX,	0 },
 {"mul.ob",		"D,S,Q",	0x48000030, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		N54,		0,	0 },
-{"mul.ps",		"D,V,T",	0x46c00002, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"mul.ps",		"D,V,T",	0x46c00002, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"mul.ps",		"D,V,T",	0x45600002, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"mul.qh",		"X,Y,Q",	0x78200030, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
-{"mul",			"d,v,t",	0x70000002, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0,		I32|P3|N55,	0,	0},
+{"muh",			"d,v,t",	0x000000d8, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0},
+{"muhu",		"d,v,t",	0x000000d9, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0},
+{"mul",			"d,v,t",	0x00000098, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0},
+{"mul",			"d,v,t",	0x70000002, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0,		I32|P3|N55,	0,	I37},
 {"mul",			"d,s,t",	0x00000058, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_HILO,	0,		N54,		0,	0 },
-{"mul",			"d,v,t",	0,    (int) M_MUL,	INSN_MACRO,		0,		I1,		0,	0 },
-{"mul",			"d,v,I",	0,    (int) M_MUL_I,	INSN_MACRO,		0,		I1,		0,	0 },
+{"mul",			"d,v,t",	0,    (int) M_MUL,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"mul",			"d,v,I",	0,    (int) M_MUL_I,	INSN_MACRO,		0,		I1,		0,	I37 },
 {"mula.ob",		"Y,Q",		0x78000033, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	SB1,		MX,	0 },
 {"mula.ob",		"S,Q",		0x48000033, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	N54,		0,	0 },
 {"mula.qh",		"Y,Q",		0x78200033, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	0,		MX,	0 },
@@ -1469,10 +1551,10 @@ const struct mips_opcode mips_builtin_op
 {"mull.ob",		"Y,Q",		0x78000433, 0xfc2007ff,	RD_1|RD_2|FP_D, 	WR_MACC,	SB1,		MX,	0 },
 {"mull.ob",		"S,Q",		0x48000433, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	N54,		0,	0 },
 {"mull.qh",		"Y,Q",		0x78200433, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	0,		MX,	0 },
-{"mulo",		"d,v,t",	0,    (int) M_MULO,	INSN_MACRO,		0,		I1,		0,	0 },
-{"mulo",		"d,v,I",	0,    (int) M_MULO_I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"mulou",		"d,v,t",	0,    (int) M_MULOU,	INSN_MACRO,		0,		I1,		0,	0 },
-{"mulou",		"d,v,I",	0,    (int) M_MULOU_I,	INSN_MACRO,		0,		I1,		0,	0 },
+{"mulo",		"d,v,t",	0,    (int) M_MULO,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"mulo",		"d,v,I",	0,    (int) M_MULO_I,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"mulou",		"d,v,t",	0,    (int) M_MULOU,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"mulou",		"d,v,I",	0,    (int) M_MULOU_I,	INSN_MACRO,		0,		I1,		0,	I37 },
 {"mulr.ps",		"D,S,T",	0x46c0001a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		M3D,	0 },
 {"muls",		"d,s,t",	0x000000d8, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_HILO,	0,		N5,		0,	0 },
 {"mulsu",		"d,s,t",	0x000000d9, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_HILO,	0,		N5,		0,	0 },
@@ -1484,40 +1566,41 @@ const struct mips_opcode mips_builtin_op
 {"mulsl.ob",		"Y,Q",		0x78000432, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	SB1,		MX,	0 },
 {"mulsl.ob",		"S,Q",		0x48000432, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	N54,		0,	0 },
 {"mulsl.qh",		"Y,Q",		0x78200432, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	0,		MX,	0 },
-{"mult",		"s,t",		0x00000018, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0,		I1,		0,	0 },
+{"mult",		"s,t",		0x00000018, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0,		I1,		0,	I37 },
 {"mult",		"7,s,t",	0x00000018, 0xfc00e7ff, RD_2|RD_3|WR_a,         0,              0,		D32,	0 },
 {"mult",		"d,s,t",	0x00000018, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0,		G1,		0,	0 },
 {"mult1",		"s,t",		0x70000018, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0,		EE,		0,	0 },
 {"mult1",		"d,s,t",	0x70000018, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0,		EE,		0,	0 },
 {"multp",		"s,t",		0x00000459, 0xfc00ffff,	RD_1|RD_2|MOD_HILO,	0,		0,		SMT,	0 },
-{"multu",		"s,t",		0x00000019, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0,		I1,		0,	0 },
+{"multu",		"s,t",		0x00000019, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0,		I1,		0,	I37 },
 {"multu",		"7,s,t",	0x00000019, 0xfc00e7ff, RD_2|RD_3|WR_a,         0,              0,		D32,	0 },
 {"multu",		"d,s,t",	0x00000019, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0,		G1,		0,	0 },
 {"multu1",		"s,t",		0x70000019, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0,		EE,		0,	0 },
 {"multu1",		"d,s,t",	0x70000019, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0,		EE,		0,	0 },
+{"mulu",		"d,v,t",	0x00000099, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0},
 {"mulu",		"d,s,t",	0x00000059, 0xfc0007ff,	WR_1|RD_2|RD_3|WR_HILO,	0,		N5,		0,	0 },
 {"neg",			"d,w",		0x00000022, 0xffe007ff,	WR_1|RD_2,		0,		I1,		0,	0 }, /* sub 0 */
 {"negu",		"d,w",		0x00000023, 0xffe007ff,	WR_1|RD_2,		0,		I1,		0,	0 }, /* subu 0 */
 {"neg.d",		"D,V",		0x46200007, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I1,		0,	SF },
 {"neg.s",		"D,V",		0x46000007, 0xffff003f,	WR_1|RD_2|FP_S,		0,		I1,		0,	0 },
-{"neg.ps",		"D,V",		0x46c00007, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I5_33|IL2F,	0,	0 },
+{"neg.ps",		"D,V",		0x46c00007, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I5_33|IL2F,	0,	I37 },
 {"neg.ps",		"D,V",		0x45600007, 0xffff003f,	WR_1|RD_2|FP_D,		0,		IL2E,		0,	0 },
-{"nmadd.d",		"D,R,S,T",	0x4c000031, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I4_33,		0,	0 },
+{"nmadd.d",		"D,R,S,T",	0x4c000031, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I4_33,		0,	I37 },
 {"nmadd.d",		"D,S,T",	0x4620001a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"nmadd.d",		"D,S,T",	0x7220001a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F,		0,	0 },
-{"nmadd.s",		"D,R,S,T",	0x4c000030, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0,		I4_33,		0,	0 },
+{"nmadd.s",		"D,R,S,T",	0x4c000030, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0,		I4_33,		0,	I37 },
 {"nmadd.s",		"D,S,T",	0x4600001a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2E,		0,	0 },
 {"nmadd.s",		"D,S,T",	0x7200001a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2F,		0,	0 },
-{"nmadd.ps",		"D,R,S,T",	0x4c000036, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I5_33,		0,	0 },
+{"nmadd.ps",		"D,R,S,T",	0x4c000036, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I5_33,		0,	I37 },
 {"nmadd.ps",		"D,S,T",	0x4560001a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"nmadd.ps",		"D,S,T",	0x72c0001a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F,		0,	0 },
-{"nmsub.d",		"D,R,S,T",	0x4c000039, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I4_33,		0,	0 },
+{"nmsub.d",		"D,R,S,T",	0x4c000039, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I4_33,		0,	I37 },
 {"nmsub.d",		"D,S,T",	0x4620001b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"nmsub.d",		"D,S,T",	0x7220001b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F,		0,	0 },
-{"nmsub.s",		"D,R,S,T",	0x4c000038, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0,		I4_33,		0,	0 },
+{"nmsub.s",		"D,R,S,T",	0x4c000038, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0,		I4_33,		0,	I37 },
 {"nmsub.s",		"D,S,T",	0x4600001b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2E,		0,	0 },
 {"nmsub.s",		"D,S,T",	0x7200001b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2F,		0,	0 },
-{"nmsub.ps",		"D,R,S,T",	0x4c00003e, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I5_33,		0,	0 },
+{"nmsub.ps",		"D,R,S,T",	0x4c00003e, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I5_33,		0,	I37 },
 {"nmsub.ps",		"D,S,T",	0x4560001b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"nmsub.ps",		"D,S,T",	0x72c0001b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F,		0,	0 },
 /* nop is at the start of the table.  */
@@ -1582,8 +1665,8 @@ const struct mips_opcode mips_builtin_op
 {"pickt.qh",		"X,Y,Q",	0x78200003, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
 {"pinteh",		"d,s,t",	0x700002a9, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		MMI,		0,	0 },
 {"pinth",		"d,s,t",	0x70000289, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		MMI,		0,	0 },
-{"pll.ps",		"D,V,T",	0x46c0002c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33,		0,	0 },
-{"plu.ps",		"D,V,T",	0x46c0002d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33,		0,	0 },
+{"pll.ps",		"D,V,T",	0x46c0002c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33,		0,	I37 },
+{"plu.ps",		"D,V,T",	0x46c0002d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33,		0,	I37 },
 {"plzcw",		"d,s",		0x70000004, 0xfc1f07ff, WR_1|RD_2,		0,		MMI,		0,	0 },
 {"pmaddh",		"d,s,t",	0x70000409, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO,	0,		MMI,		0,	0 },
 {"pmadduw",		"d,s,t",	0x70000029, 0xfc0007ff, WR_1|RD_2|RD_3|MOD_HILO, 0,		MMI,		0,	0 },
@@ -1625,8 +1708,8 @@ const struct mips_opcode mips_builtin_op
 {"psubuw",		"d,s,t",	0x70000468, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		MMI,		0,	0 },
 {"pxor",		"d,s,t",	0x700004c9, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		MMI,		0,	0 },
   /* pref and prefx are at the start of the table.  */
-{"pul.ps",		"D,V,T",	0x46c0002e, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33,		0,	0 },
-{"puu.ps",		"D,V,T",	0x46c0002f, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33,		0,	0 },
+{"pul.ps",		"D,V,T",	0x46c0002e, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33,		0,	I37 },
+{"puu.ps",		"D,V,T",	0x46c0002f, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33,		0,	I37 },
 {"pperm",		"s,t",		0x70000481, 0xfc00ffff,	RD_1|RD_2|MOD_HILO,	0,		0,		SMT,	0 },
 {"qfsrv",		"d,s,t",	0x700006e8, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		MMI,		0,	0 },
 {"qmac.00",		"s,t",		0x70000412, 0xfc00ffff, RD_1|RD_2|MOD_HILO,	0,		IOCT2,		0,	0 },
@@ -1655,12 +1738,12 @@ const struct mips_opcode mips_builtin_op
 {"recip2.d",		"D,S,T",	0x4620001c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		M3D,	0 },
 {"recip2.ps",		"D,S,T",	0x46c0001c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		0,		M3D,	0 },
 {"recip2.s",		"D,S,T",	0x4600001c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		0,		M3D,	0 },
-{"rem",			"z,s,t",	0x0000001a, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I1,		0,	0 },
-{"rem",			"d,v,t",	0,    (int) M_REM_3,	INSN_MACRO,		0,		I1,		0,	0 },
-{"rem",			"d,v,I",	0,    (int) M_REM_3I,	INSN_MACRO,		0,		I1,		0,	0 },
-{"remu",		"z,s,t",	0x0000001b, 0xfc00ffff, RD_2|RD_3|WR_HILO,      0,		I1,		0,	0 },
-{"remu",		"d,v,t",	0,    (int) M_REMU_3,	INSN_MACRO,		0,		I1,		0,	0 },
-{"remu",		"d,v,I",	0,    (int) M_REMU_3I,	INSN_MACRO,		0,		I1,		0,	0 },
+{"rem",			"z,s,t",	0x0000001a, 0xfc00ffff, RD_2|RD_3|WR_HILO,      INSN2_ALIAS,	I1,		0,	I37 },
+{"rem",			"d,v,t",	0,    (int) M_REM_3,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"rem",			"d,v,I",	0,    (int) M_REM_3I,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"remu",		"z,s,t",	0x0000001b, 0xfc00ffff, RD_2|RD_3|WR_HILO,      INSN2_ALIAS,	I1,		0,	I37 },
+{"remu",		"d,v,t",	0,    (int) M_REMU_3,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"remu",		"d,v,I",	0,    (int) M_REMU_3I,	INSN_MACRO,		0,		I1,		0,	I37 },
 {"rdhwr",		"t,K",		0x7c00003b, 0xffe007ff, WR_1,			0,		I33,		0,	0 },
 {"rdpgpr",		"d,w",		0x41400000, 0xffe007ff, WR_1,			0,		I33,		0,	0 },
 /* rfe is moved below as it now conflicts with tlbgp */
@@ -1705,9 +1788,11 @@ const struct mips_opcode mips_builtin_op
 {"saad",		"t,(b)",	0x70000019, 0xfc00ffff,	RD_1|RD_2|SM,		0,		IOCTP,		0,	0 },
 {"sb",			"t,o(b)",	0xa0000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I1,		0,	0 },
 {"sb",			"t,A(b)",	0,    (int) M_SB_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"sc",			"t,o(b)",	0xe0000000, 0xfc000000, MOD_1|RD_3|SM,		0,		I2,		0,	EE },
+{"sc",			"t,+j(b)",	0x7c000026, 0xfc00007f, MOD_1|RD_3|SM,		0,		I37,		0,	0 },
+{"sc",			"t,o(b)",	0xe0000000, 0xfc000000, MOD_1|RD_3|SM,		0,		I2,		0,	EE|I37 },
 {"sc",			"t,A(b)",	0,    (int) M_SC_AB,	INSN_MACRO,		0,		I2,		0,	EE },
-{"scd",			"t,o(b)",	0xf0000000, 0xfc000000, MOD_1|RD_3|SM,		0,		I3,		0,	EE },
+{"scd",			"t,+j(b)",	0x7c000027, 0xfc00007f, MOD_1|RD_3|SM,		0,		I69,		0,	0 },
+{"scd",			"t,o(b)",	0xf0000000, 0xfc000000, MOD_1|RD_3|SM,		0,		I3,		0,	EE|I69 },
 {"scd",			"t,A(b)",	0,    (int) M_SCD_AB,	INSN_MACRO,		0,		I3,		0,	EE },
 /* The macro has to be first to handle o32 correctly.  */
 {"sd",			"t,A(b)",	0,    (int) M_SD_AB,	INSN_MACRO,		0,		I1,		0,	0 },
@@ -1715,23 +1800,26 @@ const struct mips_opcode mips_builtin_op
 {"sdbbp",		"",		0x0000000e, 0xffffffff,	TRAP,           	0,		G2,		0,	0 },
 {"sdbbp",		"c",		0x0000000e, 0xfc00ffff,	TRAP,			0,		G2,		0,	0 },
 {"sdbbp",		"c,q",		0x0000000e, 0xfc00003f,	TRAP,			0,		G2,		0,	0 },
-{"sdbbp",		"",		0x7000003f, 0xffffffff, TRAP,           	0,		I32,		0,	0 },
-{"sdbbp",		"B",		0x7000003f, 0xfc00003f, TRAP,           	0,		I32,		0,	0 },
+{"sdbbp",		"",		0x0000000e, 0xffffffff, TRAP,           	0,		I37,		0,	0 },
+{"sdbbp",		"",		0x7000003f, 0xffffffff, TRAP,           	0,		I32,		0,	I37 },
+{"sdbbp",		"B",		0x0000000e, 0xfc00003f, TRAP,           	0,		I37,		0,	0 },
+{"sdbbp",		"B",		0x7000003f, 0xfc00003f, TRAP,           	0,		I32,		0,	I37 },
 {"sdc1",		"T,o(b)",	0xf4000000, 0xfc000000, RD_1|RD_3|SM|FP_D,	0,		I2,		0,	SF },
 {"sdc1",		"E,o(b)",	0xf4000000, 0xfc000000, RD_1|RD_3|SM|FP_D,	0,		I2,		0,	SF },
 {"sdc1",		"T,A(b)",	0,    (int) M_SDC1_AB,	INSN_MACRO,		INSN2_M_FP_D,	I2,		0,	SF },
 {"sdc1",		"E,A(b)",	0,    (int) M_SDC1_AB,	INSN_MACRO,		INSN2_M_FP_D,	I2,		0,	SF },
-{"sdc2",		"E,o(b)",	0xf8000000, 0xfc000000,	RD_3|RD_C2|SM,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE },
+{"sdc2",		"E,+:(d)",	0x49e00000, 0xffe00000,	RD_3|RD_C2|SM,		0,		I37,		0,	0 },
+{"sdc2",		"E,o(b)",	0xf8000000, 0xfc000000,	RD_3|RD_C2|SM,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
 {"sdc2",		"E,A(b)",	0,    (int) M_SDC2_AB,	INSN_MACRO,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE },
 {"sdc3",		"E,o(b)",	0xfc000000, 0xfc000000,	RD_3|RD_C3|SM,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE },
 {"sdc3",		"E,A(b)",	0,    (int) M_SDC3_AB,	INSN_MACRO,		0,		I2,		0,	IOCT|IOCTP|IOCT2|EE },
 {"s.d",			"T,o(b)",	0xf4000000, 0xfc000000, RD_1|RD_3|SM|FP_D,	0,		I2,		0,	SF },
 {"s.d",			"T,A(b)",	0,    (int) M_S_DAB,	INSN_MACRO,		INSN2_M_FP_D,	I1,		0,	0 },
-{"sdl",			"t,o(b)",	0xb0000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I3,		0,	0 },
-{"sdl",			"t,A(b)",	0,    (int) M_SDL_AB,	INSN_MACRO,		0,		I3,		0,	0 },
-{"sdr",			"t,o(b)",	0xb4000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I3,		0,	0 },
-{"sdr",			"t,A(b)",	0,    (int) M_SDR_AB,	INSN_MACRO,		0,		I3,		0,	0 },
-{"sdxc1",		"S,t(b)",	0x4c000009, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D,	0,		I4_33,		0,	0 },
+{"sdl",			"t,o(b)",	0xb0000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I3,		0,	I69 },
+{"sdl",			"t,A(b)",	0,    (int) M_SDL_AB,	INSN_MACRO,		0,		I3,		0,	I69 },
+{"sdr",			"t,o(b)",	0xb4000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I3,		0,	I69 },
+{"sdr",			"t,A(b)",	0,    (int) M_SDR_AB,	INSN_MACRO,		0,		I3,		0,	I69 },
+{"sdxc1",		"S,t(b)",	0x4c000009, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D,	0,		I4_33,		0,	I37 },
 {"seb",			"d,w",		0x7c000420, 0xffe007ff,	WR_1|RD_2,		0,		I33,		0,	0 },
 {"seh",			"d,w",		0x7c000620, 0xffe007ff,	WR_1|RD_2,		0,		I33,		0,	0 },
 {"selsl",		"d,v,t",	0x00000005, 0xfc0007ff,	WR_1|RD_2|RD_3,		0,		L1,		0,	0 },
@@ -1820,14 +1908,14 @@ const struct mips_opcode mips_builtin_op
 /* ssnop is at the start of the table.  */
 {"standby",		"",		0x42000021, 0xffffffff,	0,			0,		V1,		0,	0 },
 {"sub",			"d,v,t",	0x00000022, 0xfc0007ff,	WR_1|RD_2|RD_3,		0,		I1,		0,	0 },
-{"sub",			"d,v,I",	0,    (int) M_SUB_I,	INSN_MACRO,		0,		I1,		0,	0 },
+{"sub",			"d,v,I",	0,    (int) M_SUB_I,	INSN_MACRO,		0,		I1,		0,	I37 },
 {"sub",			"D,S,T",	0x45c00001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2E,		0,	0 },
 {"sub",			"D,S,T",	0x4b40000d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2F|IL3A,	0,	0 },
 {"sub.d",		"D,V,T",	0x46200001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I1,		0,	SF },
 {"sub.s",		"D,V,T",	0x46000001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I1,		0,	0 },
 {"sub.ob",		"X,Y,Q",	0x7800000a, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		SB1,		MX,	0 },
 {"sub.ob",		"D,S,Q",	0x4800000a, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		N54,		0,	0 },
-{"sub.ps",		"D,V,T",	0x46c00001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33|IL2F,	0,	0 },
+{"sub.ps",		"D,V,T",	0x46c00001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I5_33|IL2F,	0,	I37 },
 {"sub.ps",		"D,V,T",	0x45600001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
 {"sub.qh",		"X,Y,Q",	0x7820000a, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
 {"suba.ob",		"Y,Q",		0x78000036, 0xfc2007ff,	RD_1|RD_2|FP_D,		WR_MACC,	SB1,		MX,	0 },
@@ -1840,33 +1928,34 @@ const struct mips_opcode mips_builtin_op
 {"subu",		"D,S,T",	0x45800001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2E,		0,	0 },
 {"subu",		"D,S,T",	0x4b00000d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		IL2F|IL3A,	0,	0 },
 {"suspend",		"",		0x42000022, 0xffffffff,	0,			0,		V1,		0,	0 },
-{"suxc1",		"S,t(b)",	0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D,	0,		I5_33|N55,	0,	0},
+{"suxc1",		"S,t(b)",	0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D,	0,		I5_33|N55,	0,	I37},
 {"sw",			"t,o(b)",	0xac000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I1,		0,	0 },
 {"sw",			"t,A(b)",	0,    (int) M_SW_AB,	INSN_MACRO,		0,		I1,		0,	0 },
 {"swapw",		"t,b",		0x70000014, 0xfc00ffff, MOD_1|RD_2|LM|SM,	0,		XLR,		0,	0 },
 {"swapwu",		"t,b",		0x70000015, 0xfc00ffff, MOD_1|RD_2|LM|SM,	0,		XLR,		0,	0 },
 {"swapd",		"t,b",		0x70000016, 0xfc00ffff, MOD_1|RD_2|LM|SM,	0,		XLR,		0,	0 },
-{"swc0",		"E,o(b)",	0xe0000000, 0xfc000000,	RD_3|RD_C0|SM,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
-{"swc0",		"E,A(b)",	0,    (int) M_SWC0_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
+{"swc0",		"E,o(b)",	0xe0000000, 0xfc000000,	RD_3|RD_C0|SM,		0,		I1,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"swc0",		"E,A(b)",	0,    (int) M_SWC0_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2|I37 },
 {"swc1",		"T,o(b)",	0xe4000000, 0xfc000000,	RD_1|RD_3|SM|FP_S,	0,		I1,		0,	0 },
 {"swc1",		"E,o(b)",	0xe4000000, 0xfc000000,	RD_1|RD_3|SM|FP_S,	0,		I1,		0,	0 },
 {"swc1",		"T,A(b)",	0,    (int) M_SWC1_AB,	INSN_MACRO,		INSN2_M_FP_S,	I1,		0,	0 },
 {"swc1",		"E,A(b)",	0,    (int) M_SWC1_AB,	INSN_MACRO,		INSN2_M_FP_S,	I1,		0,	0 },
 {"s.s",			"T,o(b)",	0xe4000000, 0xfc000000,	RD_1|RD_3|SM|FP_S,	0,		I1,		0,	0 }, /* swc1 */
 {"s.s",			"T,A(b)",	0,    (int) M_SWC1_AB,	INSN_MACRO,		INSN2_M_FP_S,	I1,		0,	0 },
-{"swc2",		"E,o(b)",	0xe8000000, 0xfc000000,	RD_3|RD_C2|SM,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
+{"swc2",		"E,+:(d)",	0x49600000, 0xffe00000,	RD_3|RD_C2|SM,		0,		I37,		0,	0 },
+{"swc2",		"E,o(b)",	0xe8000000, 0xfc000000,	RD_3|RD_C2|SM,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
 {"swc2",		"E,A(b)",	0,    (int) M_SWC2_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"swc3",		"E,o(b)",	0xec000000, 0xfc000000,	RD_3|RD_C3|SM,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"swc3",		"E,A(b)",	0,    (int) M_SWC3_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"swl",			"t,o(b)",	0xa8000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I1,		0,	0 },
-{"swl",			"t,A(b)",	0,    (int) M_SWL_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"scache",		"t,o(b)",	0xa8000000, 0xfc000000,	RD_1|RD_3,		0,		I2,		0,	0 }, /* same */
-{"scache",		"t,A(b)",	0,    (int) M_SWL_AB,	INSN_MACRO,		0,		I2,		0,	0 }, /* as swl */
-{"swr",			"t,o(b)",	0xb8000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I1,		0,	0 },
-{"swr",			"t,A(b)",	0,    (int) M_SWR_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"invalidate",		"t,o(b)",	0xb8000000, 0xfc000000,	RD_1|RD_3,		0,		I2,		0,	0 }, /* same */
-{"invalidate",		"t,A(b)",	0,    (int) M_SWR_AB,	INSN_MACRO,		0,		I2,		0,	0 }, /* as swr */
-{"swxc1",		"S,t(b)",	0x4c000008, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_S,	0,		I4_33,		0,	0 },
+{"swc3",		"E,o(b)",	0xec000000, 0xfc000000,	RD_3|RD_C3|SM,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"swc3",		"E,A(b)",	0,    (int) M_SWC3_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"swl",			"t,o(b)",	0xa8000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I1,		0,	I37 },
+{"swl",			"t,A(b)",	0,    (int) M_SWL_AB,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"scache",		"t,o(b)",	0xa8000000, 0xfc000000,	RD_1|RD_3,		0,		I2,		0,	I37 }, /* same */
+{"scache",		"t,A(b)",	0,    (int) M_SWL_AB,	INSN_MACRO,		0,		I2,		0,	I37 }, /* as swl */
+{"swr",			"t,o(b)",	0xb8000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I1,		0,	I37 },
+{"swr",			"t,A(b)",	0,    (int) M_SWR_AB,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"invalidate",		"t,o(b)",	0xb8000000, 0xfc000000,	RD_1|RD_3,		0,		I2,		0,	I37 }, /* same */
+{"invalidate",		"t,A(b)",	0,    (int) M_SWR_AB,	INSN_MACRO,		0,		I2,		0,	I37 }, /* as swr */
+{"swxc1",		"S,t(b)",	0x4c000008, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_S,	0,		I4_33,		0,	I37 },
 {"synciobdma",		"",		0x0000008f, 0xffffffff,	NODS,			0,		IOCT,		0,	0 },
 {"syncs",		"",		0x0000018f, 0xffffffff,	NODS,			0,		IOCT,		0,	0 },
 {"syncw",		"",		0x0000010f, 0xffffffff,	NODS,			0,		IOCT,		0,	0 },
@@ -1883,23 +1972,23 @@ const struct mips_opcode mips_builtin_op
 {"synci",		"o(b)",		0x041f0000, 0xfc1f0000,	RD_2|SM,		0,		I33,		0,	0 },
 {"syscall",		"",		0x0000000c, 0xffffffff,	TRAP,			0,		I1,		0,	0 },
 {"syscall",		"B",		0x0000000c, 0xfc00003f,	TRAP,			0,		I1,		0,	0 },
-{"teqi",		"s,j",		0x040c0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 },
+{"teqi",		"s,j",		0x040c0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 },
 {"teq",			"s,t",		0x00000034, 0xfc00ffff, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
 {"teq",			"s,t,q",	0x00000034, 0xfc00003f, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
-{"teq",			"s,j",		0x040c0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 }, /* teqi */
+{"teq",			"s,j",		0x040c0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 }, /* teqi */
 {"teq",			"s,I",		0,    (int) M_TEQ_I,	INSN_MACRO,		0,		I2,		0,	0 },
-{"tgei",		"s,j",		0x04080000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 },
+{"tgei",		"s,j",		0x04080000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 },
 {"tge",			"s,t",		0x00000030, 0xfc00ffff,	RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
 {"tge",			"s,t,q",	0x00000030, 0xfc00003f,	RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
-{"tge",			"s,j",		0x04080000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 }, /* tgei */
+{"tge",			"s,j",		0x04080000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 }, /* tgei */
 {"tge",			"s,I",		0,    (int) M_TGE_I,    INSN_MACRO,		0,		I2,		0,	0 },
-{"tgeiu",		"s,j",		0x04090000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 },
+{"tgeiu",		"s,j",		0x04090000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 },
 {"tgeu",		"s,t",		0x00000031, 0xfc00ffff, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
 {"tgeu",		"s,t,q",	0x00000031, 0xfc00003f, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
-{"tgeu",		"s,j",		0x04090000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 }, /* tgeiu */
+{"tgeu",		"s,j",		0x04090000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 }, /* tgeiu */
 {"tgeu",		"s,I",		0,    (int) M_TGEU_I,	INSN_MACRO,		0,		I2,		0,	0 },
-{"tlbinv",		"",		0x42000003, 0xffffffff, INSN_TLB,       	0,		0,		TLBINV,	0 },
-{"tlbinvf",		"",		0x42000004, 0xffffffff, INSN_TLB,       	0,		0,		TLBINV,	0 },
+{"tlbinv",		"",		0x42000003, 0xffffffff, INSN_TLB,       	0,		I37,		TLBINV,	0 },
+{"tlbinvf",		"",		0x42000004, 0xffffffff, INSN_TLB,       	0,		I37,		TLBINV,	0 },
 {"tlbp",		"",		0x42000008, 0xffffffff, INSN_TLB,       	0,		I1,		0,	0 },
 {"tlbr",		"",		0x42000001, 0xffffffff, INSN_TLB,       	0,		I1,		0,	0 },
 {"tlbwi",		"",		0x42000002, 0xffffffff, INSN_TLB,       	0,		I1,		0,	0 },
@@ -1910,20 +1999,20 @@ const struct mips_opcode mips_builtin_op
 {"tlbginvf",		"",		0x4200000c, 0xffffffff, INSN_TLB,       	0,		0,		IVIRT,	0 },
 {"tlbgwr",		"",		0x4200000e, 0xffffffff, INSN_TLB,       	0,		0,		IVIRT,	0 },
 {"tlbgp",		"",		0x42000010, 0xffffffff, INSN_TLB,       	0,		0,		IVIRT,	0 },
-{"tlti",		"s,j",		0x040a0000, 0xfc1f0000,	RD_1|TRAP,		0,		I2,		0,	0 },
+{"tlti",		"s,j",		0x040a0000, 0xfc1f0000,	RD_1|TRAP,		0,		I2,		0,	I37 },
 {"tlt",			"s,t",		0x00000032, 0xfc00ffff, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
 {"tlt",			"s,t,q",	0x00000032, 0xfc00003f, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
-{"tlt",			"s,j",		0x040a0000, 0xfc1f0000,	RD_1|TRAP,		0,		I2,		0,	0 }, /* tlti */
+{"tlt",			"s,j",		0x040a0000, 0xfc1f0000,	RD_1|TRAP,		0,		I2,		0,	I37 }, /* tlti */
 {"tlt",			"s,I",		0,    (int) M_TLT_I,	INSN_MACRO,		0,		I2,		0,	0 },
-{"tltiu",		"s,j",		0x040b0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 },
+{"tltiu",		"s,j",		0x040b0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 },
 {"tltu",		"s,t",		0x00000033, 0xfc00ffff, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
 {"tltu",		"s,t,q",	0x00000033, 0xfc00003f, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
-{"tltu",		"s,j",		0x040b0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 }, /* tltiu */
+{"tltu",		"s,j",		0x040b0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 }, /* tltiu */
 {"tltu",		"s,I",		0,    (int) M_TLTU_I,	INSN_MACRO,		0,		I2,		0,	0 },
-{"tnei",		"s,j",		0x040e0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 },
+{"tnei",		"s,j",		0x040e0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 },
 {"tne",			"s,t",		0x00000036, 0xfc00ffff, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
 {"tne",			"s,t,q",	0x00000036, 0xfc00003f, RD_1|RD_2|TRAP,		0,		I2,		0,	0 },
-{"tne",			"s,j",		0x040e0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	0 }, /* tnei */
+{"tne",			"s,j",		0x040e0000, 0xfc1f0000, RD_1|TRAP,		0,		I2,		0,	I37 }, /* tnei */
 {"tne",			"s,I",		0,    (int) M_TNE_I,	INSN_MACRO,		0,		I2,		0,	0 },
 {"trunc.l.d",		"D,S",		0x46200009, 0xffff003f, WR_1|RD_2|FP_D,		0,		I3_33,		0,	0 },
 {"trunc.l.s",		"D,S",		0x46000009, 0xffff003f,	WR_1|RD_2|FP_S|FP_D,	0,		I3_33,		0,	0 },
@@ -1934,13 +2023,13 @@ const struct mips_opcode mips_builtin_op
 {"trunc.w.s",		"D,S",		0x4600000d, 0xffff003f,	WR_1|RD_2|FP_S,		0,		I2,		0,	EE },
 {"trunc.w.s",		"D,S,x",	0x4600000d, 0xffff003f,	WR_1|RD_2|FP_S,		0,		I2,		0,	EE },
 {"trunc.w.s",		"D,S,t",	0,    (int) M_TRUNCWS,	INSN_MACRO,		INSN2_M_FP_S,	I1,		0,	EE },
-{"uld",			"t,A(b)",	0,    (int) M_ULD_AB,	INSN_MACRO,		0,		I3,		0,	0 },
-{"ulh",			"t,A(b)",	0,    (int) M_ULH_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"ulhu",		"t,A(b)",	0,    (int) M_ULHU_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"ulw",			"t,A(b)",	0,    (int) M_ULW_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"usd",			"t,A(b)",	0,    (int) M_USD_AB,	INSN_MACRO,		0,		I3,		0,	0 },
-{"ush",			"t,A(b)",	0,    (int) M_USH_AB,	INSN_MACRO,		0,		I1,		0,	0 },
-{"usw",			"t,A(b)",	0,    (int) M_USW_AB,	INSN_MACRO,		0,		I1,		0,	0 },
+{"uld",			"t,A(b)",	0,    (int) M_ULD_AB,	INSN_MACRO,		0,		I3,		0,	I69 },
+{"ulh",			"t,A(b)",	0,    (int) M_ULH_AB,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"ulhu",		"t,A(b)",	0,    (int) M_ULHU_AB,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"ulw",			"t,A(b)",	0,    (int) M_ULW_AB,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"usd",			"t,A(b)",	0,    (int) M_USD_AB,	INSN_MACRO,		0,		I3,		0,	I69 },
+{"ush",			"t,A(b)",	0,    (int) M_USH_AB,	INSN_MACRO,		0,		I1,		0,	I37 },
+{"usw",			"t,A(b)",	0,    (int) M_USW_AB,	INSN_MACRO,		0,		I1,		0,	I37 },
 {"v3mulu",		"d,v,t",	0x70000011, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		IOCT,		0,	0 },
 {"vmm0",		"d,v,t",	0x70000010, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		IOCT,		0,	0 },
 {"vmulu",		"d,v,t",	0x7000000f, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		IOCT,		0,	0 },
@@ -1971,43 +2060,45 @@ const struct mips_opcode mips_builtin_op
 /* Coprocessor 0 move instructions cfc0 and ctc0 conflict with the 
    mfhc0 and mthc0 XPA instructions, so they have been placed here 
    to allow the XPA instructions to take precedence.  */
-{"ctc0",		"t,G",		0x40c00000, 0xffe007ff,	RD_1|WR_CC|COD,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
-{"cfc0",		"t,G",		0x40400000, 0xffe007ff,	WR_1|RD_C0|LCD,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
+{"ctc0",		"t,G",		0x40c00000, 0xffe007ff,	RD_1|WR_CC|CM,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
+{"cfc0",		"t,G",		0x40400000, 0xffe007ff,	WR_1|RD_C0|LC,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
 
 /* Coprocessor 2 move/branch operations overlap with VR5400 .ob format
    instructions so they are here for the latters to take precedence.  */
-{"bc2f",		"p",		0x49000000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
-{"bc2f",		"N,p",		0x49000000, 0xffe30000,	RD_CC|CBD,		0,		I32,		0,	IOCT|IOCTP|IOCT2 },
-{"bc2fl",		"p",		0x49020000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2 },
-{"bc2fl",		"N,p",		0x49020000, 0xffe30000,	RD_CC|CBL,		0,		I32,		0,	IOCT|IOCTP|IOCT2 },
-{"bc2t",		"p",		0x49010000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
-{"bc2t",		"N,p",		0x49010000, 0xffe30000,	RD_CC|CBD,		0,		I32,		0,	IOCT|IOCTP|IOCT2 },
-{"bc2tl",		"p",		0x49030000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2 },
-{"bc2tl",		"N,p",		0x49030000, 0xffe30000,	RD_CC|CBL,		0,		I32,		0,	IOCT|IOCTP|IOCT2 },
-{"cfc2",		"t,G",		0x48400000, 0xffe007ff,	WR_1|RD_C2|LCD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"cfc2",		"t,+9",		0x48400000, 0xffe007ff,	WR_1|RD_C2|LCD,		0,		EE,		0,	0 },
-{"cfc2.i",		"t,+9",		0x48400001, 0xffe007ff, WR_1|RD_C2|LCD,		0,		EE,		0,	0 },
-{"cfc2.ni",		"t,+9",		0x48400000, 0xffe007ff, WR_1|RD_C2|LCD,		0,		EE,		0,	0 },
-{"ctc2",		"t,G",		0x48c00000, 0xffe007ff,	RD_1|WR_CC|COD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"ctc2",		"t,+9",		0x48c00000, 0xffe007ff,	RD_1|WR_CC|COD,		0,		EE,		0,	0 },
-{"ctc2.i",		"t,+9",		0x48c00001, 0xffe007ff, RD_1|WR_CC|COD,		0,		EE,		0,	0 },
-{"ctc2.ni",		"t,+9",		0x48c00000, 0xffe007ff, RD_1|WR_CC|COD,		0,		EE,		0,	0 },
-{"dmfc2",		"t,i",		0x48200000, 0xffe00000,	WR_1|RD_C2|LCD,		0,		IOCT,		0,	0 },
-{"dmfc2",		"t,G",		0x48200000, 0xffe007ff,	WR_1|RD_C2|LCD,		0,		I3,		0,	IOCT|IOCTP|IOCT2|EE },
-{"dmfc2",		"t,G,H",	0x48200000, 0xffe007f8,	WR_1|RD_C2|LCD,		0,		I64,		0,	IOCT|IOCTP|IOCT2 },
-{"dmtc2",		"t,i",		0x48a00000, 0xffe00000,	RD_1|WR_C2|WR_CC|COD,	0,		IOCT,		0,	0 },
-{"dmtc2",		"t,G",		0x48a00000, 0xffe007ff,	RD_1|WR_C2|WR_CC|COD,	0,		I3,		0,	IOCT|IOCTP|IOCT2|EE },
-{"dmtc2",		"t,G,H",	0x48a00000, 0xffe007f8,	RD_1|WR_C2|WR_CC|COD,	0,		I64,		0,	IOCT|IOCTP|IOCT2 },
-{"mfc2",		"t,G",		0x48000000, 0xffe007ff,	WR_1|RD_C2|LCD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"mfc2",		"t,G,H",	0x48000000, 0xffe007f8,	WR_1|RD_C2|LCD,		0,		I32,		0,	IOCT|IOCTP|IOCT2 },
-{"mfhc2",		"t,G",		0x48600000, 0xffe007ff,	WR_1|RD_C2|LCD,		0,		I33,		0,	IOCT|IOCTP|IOCT2 },
-{"mfhc2",		"t,G,H",	0x48600000, 0xffe007f8,	WR_1|RD_C2|LCD,		0,		I33,		0,	IOCT|IOCTP|IOCT2 },
-{"mfhc2",		"t,i",		0x48600000, 0xffe00000,	WR_1|RD_C2|LCD,		0,		I33,		0,	IOCT|IOCTP|IOCT2 },
-{"mtc2",		"t,G",		0x48800000, 0xffe007ff,	RD_1|WR_C2|WR_CC|COD,	0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"mtc2",		"t,G,H",	0x48800000, 0xffe007f8,	RD_1|WR_C2|WR_CC|COD,	0,		I32,		0,	IOCT|IOCTP|IOCT2 },
-{"mthc2",		"t,G",		0x48e00000, 0xffe007ff,	RD_1|WR_C2|WR_CC|COD,	0,		I33,		0,	IOCT|IOCTP|IOCT2 },
-{"mthc2",		"t,G,H",	0x48e00000, 0xffe007f8,	RD_1|WR_C2|WR_CC|COD,	0,		I33,		0,	IOCT|IOCTP|IOCT2 },
-{"mthc2",		"t,i",		0x48e00000, 0xffe00000,	RD_1|WR_C2|WR_CC|COD,	0,		I33,		0,	IOCT|IOCTP|IOCT2 },
+{"bc2eqz",		"E,p",		0x49200000, 0xffe00000, RD_C2|CBD,		0,		I37,		0,	0 },
+{"bc2f",		"p",		0x49000000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc2f",		"N,p",		0x49000000, 0xffe30000,	RD_CC|CBD,		0,		I32,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc2fl",		"p",		0x49020000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc2fl",		"N,p",		0x49020000, 0xffe30000,	RD_CC|CBL,		0,		I32,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc2nez",		"E,p",		0x49a00000, 0xffe00000, RD_C2|CBD,		0,		I37,		0,	0 },
+{"bc2t",		"p",		0x49010000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc2t",		"N,p",		0x49010000, 0xffe30000,	RD_CC|CBD,		0,		I32,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc2tl",		"p",		0x49030000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc2tl",		"N,p",		0x49030000, 0xffe30000,	RD_CC|CBL,		0,		I32,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"cfc2",		"t,G",		0x48400000, 0xffe007ff,	WR_1|RD_C2|LC,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
+{"cfc2",		"t,+9",		0x48400000, 0xffe007ff,	WR_1|RD_C2|LC,		0,		EE,		0,	0 },
+{"cfc2.i",		"t,+9",		0x48400001, 0xffe007ff, WR_1|RD_C2|LC,		0,		EE,		0,	0 },
+{"cfc2.ni",		"t,+9",		0x48400000, 0xffe007ff, WR_1|RD_C2|LC,		0,		EE,		0,	0 },
+{"ctc2",		"t,G",		0x48c00000, 0xffe007ff,	RD_1|WR_CC|CM,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
+{"ctc2",		"t,+9",		0x48c00000, 0xffe007ff,	RD_1|WR_CC|CM,		0,		EE,		0,	0 },
+{"ctc2.i",		"t,+9",		0x48c00001, 0xffe007ff, RD_1|WR_CC|CM,		0,		EE,		0,	0 },
+{"ctc2.ni",		"t,+9",		0x48c00000, 0xffe007ff, RD_1|WR_CC|CM,		0,		EE,		0,	0 },
+{"dmfc2",		"t,i",		0x48200000, 0xffe00000,	WR_1|RD_C2|LC,		0,		IOCT,		0,	0 },
+{"dmfc2",		"t,G",		0x48200000, 0xffe007ff,	WR_1|RD_C2|LC,		0,		I3,		0,	IOCT|IOCTP|IOCT2|EE },
+{"dmfc2",		"t,G,H",	0x48200000, 0xffe007f8,	WR_1|RD_C2|LC,		0,		I64,		0,	IOCT|IOCTP|IOCT2 },
+{"dmtc2",		"t,i",		0x48a00000, 0xffe00000,	RD_1|WR_C2|WR_CC|CM,	0,		IOCT,		0,	0 },
+{"dmtc2",		"t,G",		0x48a00000, 0xffe007ff,	RD_1|WR_C2|WR_CC|CM,	0,		I3,		0,	IOCT|IOCTP|IOCT2|EE },
+{"dmtc2",		"t,G,H",	0x48a00000, 0xffe007f8,	RD_1|WR_C2|WR_CC|CM,	0,		I64,		0,	IOCT|IOCTP|IOCT2 },
+{"mfc2",		"t,G",		0x48000000, 0xffe007ff,	WR_1|RD_C2|LC,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
+{"mfc2",		"t,G,H",	0x48000000, 0xffe007f8,	WR_1|RD_C2|LC,		0,		I32,		0,	IOCT|IOCTP|IOCT2 },
+{"mfhc2",		"t,G",		0x48600000, 0xffe007ff,	WR_1|RD_C2|LC,		0,		I33,		0,	IOCT|IOCTP|IOCT2 },
+{"mfhc2",		"t,G,H",	0x48600000, 0xffe007f8,	WR_1|RD_C2|LC,		0,		I33,		0,	IOCT|IOCTP|IOCT2 },
+{"mfhc2",		"t,i",		0x48600000, 0xffe00000,	WR_1|RD_C2|LC,		0,		I33,		0,	IOCT|IOCTP|IOCT2 },
+{"mtc2",		"t,G",		0x48800000, 0xffe007ff,	RD_1|WR_C2|WR_CC|CM,	0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
+{"mtc2",		"t,G,H",	0x48800000, 0xffe007f8,	RD_1|WR_C2|WR_CC|CM,	0,		I32,		0,	IOCT|IOCTP|IOCT2 },
+{"mthc2",		"t,G",		0x48e00000, 0xffe007ff,	RD_1|WR_C2|WR_CC|CM,	0,		I33,		0,	IOCT|IOCTP|IOCT2 },
+{"mthc2",		"t,G,H",	0x48e00000, 0xffe007f8,	RD_1|WR_C2|WR_CC|CM,	0,		I33,		0,	IOCT|IOCTP|IOCT2 },
+{"mthc2",		"t,i",		0x48e00000, 0xffe00000,	RD_1|WR_C2|WR_CC|CM,	0,		I33,		0,	IOCT|IOCTP|IOCT2 },
 {"qmfc2",		"t,+6",		0x48200000, 0xffe007ff, WR_1|RD_C2,		0,		EE,		0,	0 },
 {"qmfc2.i",		"t,+6",		0x48200001, 0xffe007ff,	WR_1|RD_C2,		0,		EE,		0,	0 },
 {"qmfc2.ni",		"t,+6",		0x48200000, 0xffe007ff,	WR_1|RD_C2,		0,		EE,		0,	0 },
@@ -2016,18 +2107,18 @@ const struct mips_opcode mips_builtin_op
 {"qmtc2.ni",		"t,+6",		0x48a00000, 0xffe007ff,	RD_1|WR_C2,		0,		EE,		0,	0 },
 /* Coprocessor 3 move/branch operations overlap with MIPS IV COP1X 
    instructions, so they are here for the latters to take precedence.  */
-{"bc3f",		"p",		0x4d000000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"bc3fl",		"p",		0x4d020000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2|EE },
-{"bc3t",		"p",		0x4d010000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"bc3tl",		"p",		0x4d030000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2|EE },
-{"cfc3",		"t,G",		0x4c400000, 0xffe007ff,	WR_1|RD_C3|LCD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"ctc3",		"t,G",		0x4cc00000, 0xffe007ff,	RD_1|WR_CC|COD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"dmfc3",		"t,G",		0x4c200000, 0xffe007ff,	WR_1|RD_C3|LCD,		0,		I3,		0,	IOCT|IOCTP|IOCT2|EE },
-{"dmtc3",		"t,G",		0x4ca00000, 0xffe007ff,	RD_1|WR_C3|WR_CC|COD,	0,		I3,		0,	IOCT|IOCTP|IOCT2|EE },
-{"mfc3",		"t,G",		0x4c000000, 0xffe007ff,	WR_1|RD_C3|LCD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"mfc3",		"t,G,H",	0x4c000000, 0xffe007f8,	WR_1|RD_C3|LCD,		0,		I32,		0,	IOCT|IOCTP|IOCT2|EE },
-{"mtc3",		"t,G",		0x4c800000, 0xffe007ff,	RD_1|WR_C3|WR_CC|COD,	0,		I1,		0,	IOCT|IOCTP|IOCT2|EE },
-{"mtc3",		"t,G,H",	0x4c800000, 0xffe007f8,	RD_1|WR_C3|WR_CC|COD,	0,		I32,		0,	IOCT|IOCTP|IOCT2|EE },
+{"bc3f",		"p",		0x4d000000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"bc3fl",		"p",		0x4d020000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"bc3t",		"p",		0x4d010000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"bc3tl",		"p",		0x4d030000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"cfc3",		"t,G",		0x4c400000, 0xffe007ff,	WR_1|RD_C3|LC,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"ctc3",		"t,G",		0x4cc00000, 0xffe007ff,	RD_1|WR_CC|CM,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"dmfc3",		"t,G",		0x4c200000, 0xffe007ff,	WR_1|RD_C3|LC,		0,		I3,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"dmtc3",		"t,G",		0x4ca00000, 0xffe007ff,	RD_1|WR_C3|WR_CC|CM,	0,		I3,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"mfc3",		"t,G",		0x4c000000, 0xffe007ff,	WR_1|RD_C3|LC,		0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"mfc3",		"t,G,H",	0x4c000000, 0xffe007f8,	WR_1|RD_C3|LC,		0,		I32,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"mtc3",		"t,G",		0x4c800000, 0xffe007ff,	RD_1|WR_C3|WR_CC|CM,	0,		I1,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
+{"mtc3",		"t,G,H",	0x4c800000, 0xffe007f8,	RD_1|WR_C3|WR_CC|CM,	0,		I32,		0,	IOCT|IOCTP|IOCT2|EE|I37 },
 
   /* Conflicts with the 4650's "mul" instruction.  Nobody's using the
      4010 any more, so move this insn out of the way.  If the object
@@ -2314,10 +2405,10 @@ const struct mips_opcode mips_builtin_op
 {"dpsqx_s.w.ph",	"7,s,t",	0x7c000670, 0xfc00e7ff, RD_2|RD_3|MOD_a,	0,              0,		D33,	0 },
 {"dpsqx_sa.w.ph",	"7,s,t",	0x7c0006f0, 0xfc00e7ff, RD_2|RD_3|MOD_a,	0,              0,		D33,	0 },
 /* Move bc0* after mftr and mttr to avoid opcode collision.  */
-{"bc0f",		"p",		0x41000000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
-{"bc0fl",		"p",		0x41020000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2 },
-{"bc0t",		"p",		0x41010000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2 },
-{"bc0tl",		"p",		0x41030000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2 },
+{"bc0f",		"p",		0x41000000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc0fl",		"p",		0x41020000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc0t",		"p",		0x41010000, 0xffff0000,	RD_CC|CBD,		0,		I1,		0,	IOCT|IOCTP|IOCT2|I37 },
+{"bc0tl",		"p",		0x41030000, 0xffff0000,	RD_CC|CBL,		0,		I2|T3,		0,	IOCT|IOCTP|IOCT2|I37 },
 /* ST Microelectronics Loongson-2E and -2F.  */
 {"mult.g",		"d,s,t",	0x7c000018, 0xfc0007ff,	WR_1|RD_2|RD_3,		0,		IL2E,		0,	0 },
 {"mult.g",		"d,s,t",	0x70000010, 0xfc0007ff,	WR_1|RD_2|RD_3,		0,		IL2F,		0,	0 },
@@ -2502,10 +2593,10 @@ const struct mips_opcode mips_builtin_op
 {"lle",			"t,A(b)",	0,    (int) M_LLE_AB,	INSN_MACRO,		0,		0,		EVA,	0 },
 {"lwe",			"t,+j(b)",	0x7c00002f, 0xfc00007f, WR_1|RD_3|LM,		0,		0,		EVA,	0 },
 {"lwe",			"t,A(b)",	0,    (int) M_LWE_AB,	INSN_MACRO,		0,		0,		EVA,	0 },
-{"lwle",		"t,+j(b)",	0x7c000019, 0xfc00007f, WR_1|RD_3|LM,		0,		0,		EVA,	0 },
-{"lwle",		"t,A(b)",	0,    (int) M_LWLE_AB,	INSN_MACRO,		0,		0,		EVA,	0 },
-{"lwre",		"t,+j(b)",	0x7c00001a, 0xfc00007f, WR_1|RD_3|LM,		0,		0,		EVA,	0 },
-{"lwre",		"t,A(b)",	0,    (int) M_LWRE_AB,	INSN_MACRO,		0,		0,		EVA,	0 },
+{"lwle",		"t,+j(b)",	0x7c000019, 0xfc00007f, WR_1|RD_3|LM,		0,		0,		EVA,	I37 },
+{"lwle",		"t,A(b)",	0,    (int) M_LWLE_AB,	INSN_MACRO,		0,		0,		EVA,	I37 },
+{"lwre",		"t,+j(b)",	0x7c00001a, 0xfc00007f, WR_1|RD_3|LM,		0,		0,		EVA,	I37 },
+{"lwre",		"t,A(b)",	0,    (int) M_LWRE_AB,	INSN_MACRO,		0,		0,		EVA,	I37 },
 {"sbe",			"t,+j(b)",	0x7c00001c, 0xfc00007f, RD_1|RD_3|SM,		0,		0,		EVA,	0 },
 {"sbe",			"t,A(b)",	0,    (int) M_SBE_AB,	INSN_MACRO,		0,		0,		EVA,	0 },
 {"sce",			"t,+j(b)",	0x7c00001e, 0xfc00007f, MOD_1|RD_3|SM,		0,		0,		EVA,	0 },
@@ -2514,10 +2605,10 @@ const struct mips_opcode mips_builtin_op
 {"she",			"t,A(b)",	0,    (int) M_SHE_AB,	INSN_MACRO,		0,		0,		EVA,	0 },
 {"swe",			"t,+j(b)",	0x7c00001f, 0xfc00007f, RD_1|RD_3|SM,		0,		0,		EVA,	0 },
 {"swe",			"t,A(b)",	0,    (int) M_SWE_AB,	INSN_MACRO,		0,		0,		EVA,	0 },
-{"swle",		"t,+j(b)",	0x7c000021, 0xfc00007f, RD_1|RD_3|SM,		0,		0,		EVA,	0 },
-{"swle",		"t,A(b)",	0,    (int) M_SWLE_AB,	INSN_MACRO,		0,		0,		EVA,	0 },
-{"swre",		"t,+j(b)",	0x7c000022, 0xfc00007f, RD_1|RD_3|SM,		0,		0,		EVA,	0 },
-{"swre",		"t,A(b)",	0,    (int) M_SWRE_AB,	INSN_MACRO,		0,		0,		EVA,	0 },
+{"swle",		"t,+j(b)",	0x7c000021, 0xfc00007f, RD_1|RD_3|SM,		0,		0,		EVA,	I37 },
+{"swle",		"t,A(b)",	0,    (int) M_SWLE_AB,	INSN_MACRO,		0,		0,		EVA,	I37 },
+{"swre",		"t,+j(b)",	0x7c000022, 0xfc00007f, RD_1|RD_3|SM,		0,		0,		EVA,	I37 },
+{"swre",		"t,A(b)",	0,    (int) M_SWRE_AB,	INSN_MACRO,		0,		0,		EVA,	I37 },
 {"cachee",		"k,+j(b)",	0x7c00001b, 0xfc00007f, RD_3,			0,		0,		EVA,	0 },
 {"cachee",		"k,A(b)",	0,    (int) M_CACHEE_AB,INSN_MACRO,		0,		0,		EVA,	0 },
 {"prefe",		"k,+j(b)",	0x7c000023, 0xfc00007f, RD_3|LM,		0,		0,		EVA,	0 },
@@ -3050,11 +3141,9 @@ const struct mips_opcode mips_builtin_op
 {"ffint_s.d",		"+d,+e",	0x7b3d001e, 0xffff003f,	WR_1|RD_2,		0,		0,		MSA,	0 },
 {"ffint_u.w",		"+d,+e",	0x7b3e001e, 0xffff003f,	WR_1|RD_2,		0,		0,		MSA,	0 },
 {"ffint_u.d",		"+d,+e",	0x7b3f001e, 0xffff003f,	WR_1|RD_2,		0,		0,		MSA,	0 },
-{"ctcmsa",		"+l,d",		0x783e0019, 0xffff003f,	RD_2|COD,		0,		0,		MSA,	0 },
-{"cfcmsa",		"+k,+n",	0x787e0019, 0xffff003f,	WR_1|COD,		0,		0,		MSA,	0 },
+{"ctcmsa",		"+l,d",		0x783e0019, 0xffff003f,	RD_2|CM,		0,		0,		MSA,	0 },
+{"cfcmsa",		"+k,+n",	0x787e0019, 0xffff003f,	WR_1|CM,		0,		0,		MSA,	0 },
 {"move.v",		"+d,+e",	0x78be0019, 0xffff003f,	WR_1|RD_2,		0,		0,		MSA,	0 },
-{"lsa",			"d,v,t,+~",	0x00000005, 0xfc00073f,	WR_1|RD_2|RD_3,		0,		0,		MSA,	0 },
-{"dlsa",		"d,v,t,+~",	0x00000015, 0xfc00073f,	WR_1|RD_2|RD_3,		0,		0,		MSA64,	0 },
 
 /* User Defined Instruction.  */
 {"udi0",		"s,t,d,+1",	0x70000010, 0xfc00003f,	UDI,			0,		I33,		0,	0 },
@@ -3121,6 +3210,125 @@ const struct mips_opcode mips_builtin_op
 {"udi15",		"s,t,+2",	0x7000001f, 0xfc00003f,	UDI,			0,		I33,		0,	0 },
 {"udi15",		"s,+3",		0x7000001f, 0xfc00003f,	UDI,			0,		I33,		0,	0 },
 {"udi15",		"+4",		0x7000001f, 0xfc00003f,	UDI,			0,		I33,		0,	0 },
+{"lsa",			"d,v,t,+~",	0x00000005, 0xfc00073f,	WR_1|RD_2|RD_3,		0,		I37,		MSA,	0 },
+{"dlsa",		"d,v,t,+~",	0x00000015, 0xfc00073f,	WR_1|RD_2|RD_3,		0,		I69,		MSA64,	0 },
+/* MIPS r6.  */
+
+{"aui",			"t,s,u",	0x3c000000, 0xfc000000,	WR_1|RD_2,		0,		I37,		0,	0 },
+{"auipc",		"s,u",		0xec1e0000, 0xfc1f0000, WR_1,			RD_pc,		I37,		0,	0 },
+{"daui",		"t,s,u",	0x74000000, 0xfc000000,	WR_1|RD_2,		0,		I37,		0,	0 },
+{"dahi",		"s,-d,u",	0x04060000, 0xfc1f0000,	MOD_1,			0,		I69,		0,	0 },
+{"dati",		"s,-d,u",	0x041e0000, 0xfc1f0000,	MOD_1,			0,		I69,		0,	0 },
+
+{"align",		"d,s,t,+I",	0x7c000220, 0xfc00073f,	WR_1|RD_2|RD_3,		0,		I37,		0,	0 },
+{"dalign",		"d,s,t,+O",	0x7c000224, 0xfc00063f,	WR_1|RD_2|RD_3,		0,		I69,		0,	0 },
+{"bitswap",		"d,t",		0x7c000020, 0xffe007ff,	WR_1|RD_2,		0,		I37,		0,	0 },
+{"dbitswap",		"d,t",		0x7c000024, 0xffe007ff,	WR_1|RD_2,		0,		I69,		0,	0 },
+
+{"bovc",		"s,-w,p",	0x20000000, 0xfc000000,	RD_1|RD_2|NODS,		FS,		I37,		0,	0 },
+{"bovc",		"t,-x,p",	0x20000000, 0xfc000000,	RD_1|RD_2|NODS,		FS|INSN2_ALIAS,	I37,		0,	0 },
+{"beqzalc",		"-t,p",		0x20000000, 0xffe00000,	RD_1|WR_31|NODS,	FS,		I37,		0,	0 },
+{"beqc",		"-s,-u,p",	0x20000000, 0xfc000000,	RD_1|RD_2|NODS,		FS,		I37,		0,	0 },
+{"beqc",		"t,-y,p",	0x20000000, 0xfc000000,	RD_1|RD_2|NODS,		FS|INSN2_ALIAS,	I37,		0,	0 },
+{"bnvc",		"s,-w,p",	0x60000000, 0xfc000000,	RD_1|RD_2|NODS,		FS,		I37,		0,	0 },
+{"bnvc",		"t,-x,p",	0x60000000, 0xfc000000,	RD_1|RD_2|NODS,		FS|INSN2_ALIAS,	I37,		0,	0 },
+{"bnezalc",		"-t,p",		0x60000000, 0xffe00000,	RD_1|WR_31|NODS,	FS,		I37,		0,	0 },
+{"bnec",		"-s,-u,p",	0x60000000, 0xfc000000,	RD_1|RD_2|NODS,		FS,		I37,		0,	0 },
+{"bnec",		"t,-y,p",	0x60000000, 0xfc000000,	RD_1|RD_2|NODS,		FS|INSN2_ALIAS,	I37,		0,	0 },
+
+{"blezc",		"-t,p",		0x58000000, 0xffe00000,	RD_1|NODS,		FS,		I37,		0,	0 },
+{"bgezc",		"+;,p",		0x58000000, 0xfc000000,	RD_1|NODS,		FS,		I37,		0,	0 },
+{"bgec",		"-s,-v,p",	0x58000000, 0xfc000000,	RD_1|RD_2|NODS,		FS,		I37,		0,	0 },
+{"bgtzc",		"-t,p",		0x5c000000, 0xffe00000,	RD_1|NODS,		FS,		I37,		0,	0 },
+{"bltzc",		"+;,p",		0x5c000000, 0xfc000000,	RD_1|NODS,		FS,		I37,		0,	0 },
+{"bltc",		"-s,-v,p",	0x5c000000, 0xfc000000,	RD_1|RD_2|NODS,		FS,		I37,		0,	0 },
+{"blezalc",		"-t,p",		0x18000000, 0xffe00000,	RD_1|WR_31|NODS,	FS,		I37,		0,	0 },
+{"bgezalc",		"+;,p",		0x18000000, 0xfc000000,	RD_1|WR_31|NODS,	FS,		I37,		0,	0 },
+{"bgeuc",		"-s,-v,p",	0x18000000, 0xfc000000,	RD_1|RD_2|NODS,		FS,		I37,		0,	0 },
+{"bgtzalc",		"-t,p",		0x1c000000, 0xffe00000,	RD_1|WR_31|NODS,	FS,		I37,		0,	0 },
+{"bltzalc",		"+;,p",		0x1c000000, 0xfc000000,	RD_1|WR_31|NODS,	FS,		I37,		0,	0 },
+{"bltuc",		"-s,-v,p",	0x1c000000, 0xfc000000,	RD_1|RD_2|NODS,		FS,		I37,		0,	0 },
+
+{"beqzc",		"-s,+\"",	0xd8000000, 0xfc000000,	RD_1|NODS,		FS,		I37,		0,	0 },
+{"jrc",			"t",		0xd8000000, 0xffe0ffff,	RD_1|NODS,		INSN2_ALIAS,	I37,		0,	0 },
+{"jic",			"t,j",		0xd8000000, 0xffe00000,	RD_1|NODS,		0,		I37,		0,	0 },
+
+{"bnezc",		"-s,+\"",	0xf8000000, 0xfc000000,	RD_1|NODS,		FS,		I37,		0,	0 },
+{"jalrc",		"t",		0xf8000000, 0xffe0ffff, RD_1|NODS,		0,		I37,		0,	0 },
+{"jialc",		"t,j",		0xf8000000, 0xffe00000,	RD_1|NODS,		0,		I37,		0,	0 },
+
+{"cmp.af.s",		"D,S,T",	0x46800000, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.af.d",		"D,S,T",	0x46a00000, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.eq.s",		"D,S,T",	0x46800002, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.eq.d",		"D,S,T",	0x46a00002, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.le.s",		"D,S,T",	0x46800006, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.le.d",		"D,S,T",	0x46a00006, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.lt.s",		"D,S,T",	0x46800004, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.lt.d",		"D,S,T",	0x46a00004, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.ne.s",		"D,S,T",	0x46800013, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.ne.d",		"D,S,T",	0x46a00013, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.or.s",		"D,S,T",	0x46800011, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.or.d",		"D,S,T",	0x46a00011, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.ueq.s",		"D,S,T",	0x46800003, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.ueq.d",		"D,S,T",	0x46a00003, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.ule.s",		"D,S,T",	0x46800007, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.ule.d",		"D,S,T",	0x46a00007, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.ult.s",		"D,S,T",	0x46800005, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.ult.d",		"D,S,T",	0x46a00005, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.un.s",		"D,S,T",	0x46800001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.un.d",		"D,S,T",	0x46a00001, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.une.s",		"D,S,T",	0x46800012, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.une.d",		"D,S,T",	0x46a00012, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.saf.s",		"D,S,T",	0x46800008, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.saf.d",		"D,S,T",	0x46a00008, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.seq.s",		"D,S,T",	0x4680000a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.seq.d",		"D,S,T",	0x46a0000a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.sle.s",		"D,S,T",	0x4680000e, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.sle.d",		"D,S,T",	0x46a0000e, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.slt.s",		"D,S,T",	0x4680000c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.slt.d",		"D,S,T",	0x46a0000c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.sne.s",		"D,S,T",	0x4680001b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.sne.d",		"D,S,T",	0x46a0001b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.sor.s",		"D,S,T",	0x46800019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.sor.d",		"D,S,T",	0x46a00019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.sueq.s",		"D,S,T",	0x4680000b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.sueq.d",		"D,S,T",	0x46a0000b, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.sule.s",		"D,S,T",	0x4680000f, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.sule.d",		"D,S,T",	0x46a0000f, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.sult.s",		"D,S,T",	0x4680000d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.sult.d",		"D,S,T",	0x46a0000d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"cmp.sun.s",		"D,S,T",	0x46800009, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.sun.d",		"D,S,T",	0x46a00009, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.sune.s",		"D,S,T",	0x4680001a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"cmp.sune.d",		"D,S,T",	0x46a0001a, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+
+{"maddf.s",		"D,S,T",	0x46000018, 0xffe0003f,	MOD_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"msubf.s",		"D,S,T",	0x46000019, 0xffe0003f,	MOD_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"maddf.d",		"D,S,T",	0x46200018, 0xffe0003f,	MOD_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"msubf.d",		"D,S,T",	0x46200019, 0xffe0003f,	MOD_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+
+{"rint.s",		"D,S",		0x4600001a, 0xffff003f,	WR_1|RD_2|FP_S,		0,		I37,		0,	0 },
+{"rint.d",		"D,S",		0x4620001a, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I37,		0,	0 },
+{"class.s",		"D,S",		0x4600001b, 0xffff003f,	WR_1|RD_2|FP_S,		0,		I37,		0,	0 },
+{"class.d",		"D,S",		0x4620001b, 0xffff003f,	WR_1|RD_2|FP_D,		0,		I37,		0,	0 },
+{"min.d",		"D,S,T",	0x4620001c, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"max.d",		"D,S,T",	0x4620001e, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"mina.s",		"D,S,T",	0x4600001d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"mina.d",		"D,S,T",	0x4620001d, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"maxa.s",		"D,S,T",	0x4600001f, 0xffe0003f,	WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"maxa.d",		"D,S,T",	0x4620001f, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+
+{"sel.s",		"D,S,T",	0x46000010, 0xffe0003f, MOD_1|RD_2|RD_3|FP_S,   0,		I37,		0,	0 },
+{"sel.d",		"D,S,T",	0x46200010, 0xffe0003f, MOD_1|RD_2|RD_3|FP_D,   0,		I37,		0,	0 },
+{"selnez",		"d,s,t",	0x00000037, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0 },
+{"selnez.s",		"D,S,T",	0x46000017, 0xffe0003f, WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"selnez.d",		"D,S,T",	0x46200017, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+{"seleqz",		"d,s,t",	0x00000035, 0xfc0007ff, WR_1|RD_2|RD_3, 	0,		I37,		0,	0 },
+{"seleqz.s",		"D,S,T",	0x46000014, 0xffe0003f, WR_1|RD_2|RD_3|FP_S,	0,		I37,		0,	0 },
+{"seleqz.d",		"D,S,T",	0x46200014, 0xffe0003f, WR_1|RD_2|RD_3|FP_D,	0,		I37,		0,	0 },
+
+{"aluipc",		"s,u",		0xec1f0000, 0xfc1f0000, WR_1,			RD_pc,		I37,		0,	0 },
+
 /* No hazard protection on coprocessor instructions--they shouldn't
    change the state of the processor and if they do it's up to the
    user to put in nops as necessary.  These are at the end so that the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mmix-dis.c ./opcodes/mmix-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mmix-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mmix-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* mmix-dis.c -- Disassemble MMIX instructions.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Written by Hans-Peter Nilsson (hp@bitrange.com)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mmix-opc.c ./opcodes/mmix-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mmix-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mmix-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* mmix-opc.c -- MMIX opcode table
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Written by Hans-Peter Nilsson (hp@bitrange.com)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/moxie-dis.c ./opcodes/moxie-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/moxie-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/moxie-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble moxie instructions.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -140,37 +140,37 @@ print_insn_moxie (bfd_vma addr, struct d
 	    length = 6;
 	  }
 	  break;
-	case MOXIE_F1_AiB4:
+	case MOXIE_F1_AiB2:
 	  {
 	    unsigned imm;
-	    if ((status = info->read_memory_func (addr+2, buffer, 4, info)))
+	    if ((status = info->read_memory_func (addr+2, buffer, 2, info)))
 	      goto fail;
 	    if (info->endian == BFD_ENDIAN_BIG)
-	      imm = bfd_getb32 (buffer);
+	      imm = bfd_getb16 (buffer);
 	    else
-	      imm = bfd_getl32 (buffer);
+	      imm = bfd_getl16 (buffer);
 	    fpr (stream, "%s\t0x%x(%s), %s", opcode->name,
 		 imm,
 		 reg_names[OP_A(iword)],
 		 reg_names[OP_B(iword)]);
-	    length = 6;
+	    length = 4;
 	  }
 	  break;
-	case MOXIE_F1_ABi4:
+	case MOXIE_F1_ABi2:
 	  {
 	    unsigned imm;
-	    if ((status = info->read_memory_func (addr+2, buffer, 4, info)))
+	    if ((status = info->read_memory_func (addr+2, buffer, 2, info)))
 	      goto fail;
 	    if (info->endian == BFD_ENDIAN_BIG)
-	      imm = bfd_getb32 (buffer);
+	      imm = bfd_getb16 (buffer);
 	    else
-	      imm = bfd_getl32 (buffer);
+	      imm = bfd_getl16 (buffer);
 	    fpr (stream, "%s\t%s, 0x%x(%s)",
 		 opcode->name,
 		 reg_names[OP_A(iword)],
 		 imm,
 		 reg_names[OP_B(iword)]);
-	    length = 6;
+	    length = 4;
 	  }
 	  break;
         case MOXIE_BAD:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/moxie-opc.c ./opcodes/moxie-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/moxie-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/moxie-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* moxie-opc.c -- Definitions for moxie opcodes.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by Anthony Green (green@moxielogic.com).
 
    This file is part of the GNU opcodes library.
@@ -57,23 +57,23 @@ const moxie_opc_info_t moxie_form1_opc_i
     { 0x02, MOXIE_F1_AB,   "mov" },
     { 0x03, MOXIE_F1_M,    "jsra" },
     { 0x04, MOXIE_F1_NARG, "ret" },
-    { 0x05, MOXIE_F1_AB,   "add.l" },
+    { 0x05, MOXIE_F1_AB,   "add" },
     { 0x06, MOXIE_F1_AB,   "push" },
     { 0x07, MOXIE_F1_AB,   "pop" },
     { 0x08, MOXIE_F1_A4,   "lda.l" },
     { 0x09, MOXIE_F1_4A,   "sta.l" },
     { 0x0a, MOXIE_F1_ABi,  "ld.l" },
     { 0x0b, MOXIE_F1_AiB,  "st.l" },
-    { 0x0c, MOXIE_F1_ABi4, "ldo.l" },
-    { 0x0d, MOXIE_F1_AiB4, "sto.l" },
+    { 0x0c, MOXIE_F1_ABi2, "ldo.l" },
+    { 0x0d, MOXIE_F1_AiB2, "sto.l" },
     { 0x0e, MOXIE_F1_AB,   "cmp" },
     { 0x0f, MOXIE_F1_NARG, "nop" },
     { 0x10, MOXIE_F1_AB,   "sex.b" },
     { 0x11, MOXIE_F1_AB,   "sex.s" },
-    { 0x12, MOXIE_BAD,     "bad" },
-    { 0x13, MOXIE_BAD,     "bad" },
-    { 0x14, MOXIE_BAD,     "bad" },
-    { 0x15, MOXIE_BAD,     "bad" },
+    { 0x12, MOXIE_F1_AB,   "zex.b" },
+    { 0x13, MOXIE_F1_AB,   "zex.s" },
+    { 0x14, MOXIE_F1_AB,   "umul.x" },
+    { 0x15, MOXIE_F1_AB,   "mul.x" },
     { 0x16, MOXIE_BAD,     "bad" },
     { 0x17, MOXIE_BAD,     "bad" },
     { 0x18, MOXIE_BAD,     "bad" },
@@ -93,23 +93,23 @@ const moxie_opc_info_t moxie_form1_opc_i
     { 0x26, MOXIE_F1_AB,   "and" },
     { 0x27, MOXIE_F1_AB,   "lshr" },
     { 0x28, MOXIE_F1_AB,   "ashl" },
-    { 0x29, MOXIE_F1_AB,   "sub.l" },
+    { 0x29, MOXIE_F1_AB,   "sub" },
     { 0x2a, MOXIE_F1_AB,   "neg" },
     { 0x2b, MOXIE_F1_AB,   "or" },
     { 0x2c, MOXIE_F1_AB,   "not" },
     { 0x2d, MOXIE_F1_AB,   "ashr" },
     { 0x2e, MOXIE_F1_AB,   "xor" },
-    { 0x2f, MOXIE_F1_AB,   "mul.l" },
+    { 0x2f, MOXIE_F1_AB,   "mul" },
     { 0x30, MOXIE_F1_4,    "swi" },
-    { 0x31, MOXIE_F1_AB,   "div.l" },
-    { 0x32, MOXIE_F1_AB,   "udiv.l" },
-    { 0x33, MOXIE_F1_AB,   "mod.l" },
-    { 0x34, MOXIE_F1_AB,   "umod.l" },
+    { 0x31, MOXIE_F1_AB,   "div" },
+    { 0x32, MOXIE_F1_AB,   "udiv" },
+    { 0x33, MOXIE_F1_AB,   "mod" },
+    { 0x34, MOXIE_F1_AB,   "umod" },
     { 0x35, MOXIE_F1_NARG, "brk" },
-    { 0x36, MOXIE_F1_ABi4, "ldo.b" },
-    { 0x37, MOXIE_F1_AiB4, "sto.b" },
-    { 0x38, MOXIE_F1_ABi4, "ldo.s" },
-    { 0x39, MOXIE_F1_AiB4, "sto.s" },
+    { 0x36, MOXIE_F1_ABi2, "ldo.b" },
+    { 0x37, MOXIE_F1_AiB2, "sto.b" },
+    { 0x38, MOXIE_F1_ABi2, "ldo.s" },
+    { 0x39, MOXIE_F1_AiB2, "sto.s" },
     { 0x3a, MOXIE_BAD,     "bad" },
     { 0x3b, MOXIE_BAD,     "bad" },
     { 0x3c, MOXIE_BAD,     "bad" },
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/msp430-decode.c ./opcodes/msp430-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/msp430-decode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/msp430-decode.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 #line 1 "msp430-decode.opc"
 /* -*- c -*- */
-/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Written by DJ Delorie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/msp430-decode.opc ./opcodes/msp430-decode.opc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/msp430-decode.opc	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/msp430-decode.opc	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* -*- c -*- */
-/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Written by DJ Delorie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/msp430-dis.c ./opcodes/msp430-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/msp430-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/msp430-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble MSP430 instructions.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Dmitry Diky <diwil@mail.ru>
         
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-asm.c ./opcodes/mt-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mt-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-desc.c ./opcodes/mt-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mt-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-desc.h ./opcodes/mt-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mt-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-dis.c ./opcodes/mt-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mt-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-ibld.c ./opcodes/mt-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mt-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-opc.c ./opcodes/mt-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mt-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-opc.h ./opcodes/mt-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/mt-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/mt-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nds32-asm.c ./opcodes/nds32-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nds32-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/nds32-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* NDS32-specific support for 32-bit ELF.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -17,7 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-   02110-1301, USA.*/
+   02110-1301, USA.  */
 
 
 #include <config.h>
@@ -38,7 +38,7 @@
 /* There at at most MAX_LEX_NUM lexical elements in a syntax.  */
 #define MAX_LEX_NUM		32
 /* A operand in syntax string should be at most this long.  */
-#define MAX_LEX_LEN		32
+#define MAX_LEX_LEN		64
 /* The max length of a keyword can be.  */
 #define MAX_KEYWORD_LEN		32
 /* This LEX is a plain char or operand.  */
@@ -50,59 +50,42 @@
 
 #define USRIDX(group, usr)	((group) | ((usr) << 5))
 #define SRIDX(major, minor, ext) \
-				(((major) << 7) | ((minor) << 3) | (ext))
+                           (((major) << 7) | ((minor) << 3) | (ext))
 
+static int parse_re (struct nds32_asm_desc *, struct nds32_asm_insn *,
+		     char **, int64_t *);
 static int parse_re2 (struct nds32_asm_desc *, struct nds32_asm_insn *,
 		      char **, int64_t *);
 static int parse_fe5 (struct nds32_asm_desc *, struct nds32_asm_insn *,
 		      char **, int64_t *);
 static int parse_pi5 (struct nds32_asm_desc *, struct nds32_asm_insn *,
 		      char **, int64_t *);
+static int parse_aext_reg (char **, int *, int);
+static int parse_a30b20 (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			 char **, int64_t *);
+static int parse_rt21 (struct nds32_asm_desc *, struct nds32_asm_insn *,
+		       char **, int64_t *);
+static int parse_rte_start (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			    char **, int64_t *);
+static int parse_rte_end (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			  char **, int64_t *);
+static int parse_rte69_start (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			      char **, int64_t *);
+static int parse_rte69_end (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			    char **, int64_t *);
+static int parse_im5_ip (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			 char **, int64_t *);
+static int parse_im5_mr (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			 char **, int64_t *);
+static int parse_im6_ip (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			 char **, int64_t *);
+static int parse_im6_iq (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			 char **, int64_t *);
+static int parse_im6_mr (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			 char **, int64_t *);
+static int parse_im6_ms (struct nds32_asm_desc *, struct nds32_asm_insn *,
+			 char **, int64_t *);
 
-
-enum
-{
-  /* This is a field (operand) of just a separator char.  */
-  SYN_FIELD = 0x100,
-
-  /* This operand is used for input or output.  (define or use)  */
-  SYN_INPUT = 0x1000,
-  SYN_OUTPUT = 0x2000,
-  SYN_LOPT = 0x4000,
-  SYN_ROPT = 0x8000,
-
-  /* Hardware resources.  */
-  HW_GPR = 0,
-  HW_USR,
-  HW_DXR,
-  HW_SR,
-  HW_FSR,
-  HW_FDR,
-  HW_CP,	/* Co-processor ID.  */
-  HW_CPR,	/* Co-processor registers.  */
-  HW_ABDIM,	/* [ab][di]m? flag for LSMWA?.  */
-  HW_ABM,	/* [ab]m? flag for LSMWZB.  */
-  HW_DTITON,
-  HW_DTITOFF,
-  HW_DPREF_ST,
-  HW_CCTL_ST0,
-  HW_CCTL_ST1,
-  HW_CCTL_ST2,
-  HW_CCTL_ST3,
-  HW_CCTL_ST4,
-  HW_CCTL_ST5,
-  HW_CCTL_LV,
-  HW_TLBOP_ST,
-  HW_STANDBY_ST,
-  HW_MSYNC_ST,
-  _HW_LAST,
-  /* TODO: Maybe we should add a new type to distinguish address and
-	   const int.  Only the former allows symbols and relocations.  */
-  HW_INT,
-  HW_UINT
-};
-
-
 /* These are operand prefixes for input/output semantic.
 
      %   input
@@ -112,12 +95,13 @@ enum
 
    Field table for operands and bit-fields.  */
 
-static const field_t operand_fields[] =
+const field_t operand_fields[] =
 {
   {"rt",	20, 5, 0, HW_GPR, NULL},
   {"ra",	15, 5, 0, HW_GPR, NULL},
   {"rb",	10, 5, 0, HW_GPR, NULL},
   {"rd",	5, 5, 0, HW_GPR, NULL},
+  {"re",	10, 5, 0, HW_GPR, parse_re},	/* lmw smw lmwa smwa.  */
   {"fst",	20, 5, 0, HW_FSR, NULL},
   {"fsa",	15, 5, 0, HW_FSR, NULL},
   {"fsb",	10, 5, 0, HW_FSR, NULL},
@@ -132,7 +116,7 @@ static const field_t operand_fields[] =
   {"usr",	10, 10, 0, HW_USR, NULL},	/* User Special Registers.  */
   {"sr",	10, 10, 0, HW_SR, NULL},	/* System Registers.  */
   {"ridx",	10, 10, 0, HW_UINT, NULL},	/* Raw value for mfusr/mfsr.  */
-  {"enb4",	6, 9, 0, HW_UINT, NULL},	/* Enable4 for LSMW.  */
+  {"enb4",	6, 4, 0, HW_UINT, NULL},	/* Enable4 for LSMW.  */
   {"swid",	5, 15, 0, HW_UINT, NULL},
   {"stdby_st",	5, 2, 0, HW_STANDBY_ST, NULL},
   {"tlbop_st",	5, 5, 0, HW_TLBOP_ST, NULL},
@@ -147,7 +131,7 @@ static const field_t operand_fields[] =
   {"cctl_lv",	10, 1, 0, HW_CCTL_LV, NULL},
   {"msync_st",	5, 3, 0, HW_MSYNC_ST, NULL},
   {"msync_stx",	5, 3, 0, HW_UINT, NULL},
-  {"dpref_st",	20, 5, 0, HW_DPREF_ST, NULL},
+  {"dpref_st",	20, 4, 0, HW_DPREF_ST, NULL},
   {"rt5",	5, 5, 0, HW_GPR, NULL},
   {"ra5",	0, 5, 0, HW_GPR, NULL},
   {"rt4",	5, 4, 0, HW_GPR, NULL},
@@ -155,8 +139,8 @@ static const field_t operand_fields[] =
   {"rt38",	8, 3, 0, HW_GPR, NULL},	/* rt3 used in 38 form.  */
   {"ra3",	3, 3, 0, HW_GPR, NULL},
   {"rb3",	0, 3, 0, HW_GPR, NULL},
-  {"rt5e",	4, 4, 1, HW_GPR, NULL},	/* movd44 */
-  {"ra5e",	0, 4, 1, HW_GPR, NULL},	/* movd44 */
+  {"rt5e",	4, 4, 1, HW_GPR, NULL},	/* for movd44.  */
+  {"ra5e",	0, 4, 1, HW_GPR, NULL},	/* for movd44.  */
   {"re2",	5, 2, 0, HW_GPR, parse_re2},	/* re in push25/pop25.  */
   {"fe5",	0, 5, 2, HW_UINT, parse_fe5},	/* imm5u in lwi45.fe.  */
   {"pi5",	0, 5, 0, HW_UINT, parse_pi5},	/* imm5u in movpi45.  */
@@ -186,9 +170,10 @@ static const field_t operand_fields[] =
   {"i5u",	0, 5, 0, HW_UINT, NULL},
   {"ib5u",	10, 5, 0, HW_UINT, NULL},	/* imm5 field in ALU.  */
   {"ib5s",	10, 5, 0, HW_INT, NULL},	/* imm5 field in ALU.  */
-  {"i9u",	0, 9, 0, HW_UINT, NULL},	/* break16/ex9.it */
-  {"ia3u",	3, 3, 0, HW_UINT, NULL},	/* bmski33, fexti33 */
+  {"i9u",	0, 9, 0, HW_UINT, NULL},	/* for ex9.it.  */
+  {"ia3u",	3, 3, 0, HW_UINT, NULL},	/* for bmski33, fexti33.  */
   {"i8u",	0, 8, 0, HW_UINT, NULL},
+  {"ib8u",	7, 8, 0, HW_UINT, NULL},	/* for ffbi.  */
   {"i15u",	0, 15, 0, HW_UINT, NULL},
   {"i20u",	0, 20, 0, HW_UINT, NULL},
   {"i3u1",	0, 3, 1, HW_UINT, NULL},
@@ -196,14 +181,37 @@ static const field_t operand_fields[] =
   {"i3u2",	0, 3, 2, HW_UINT, NULL},
   {"i6u2",	0, 6, 2, HW_UINT, NULL},
   {"i7u2",	0, 7, 2, HW_UINT, NULL},
-  {"i5u3",	0, 5, 3, HW_UINT, NULL},	/* pop25/pop25 */
-  {"i15s3",	0, 15, 3, HW_UINT, NULL},	/* dprefi.d */
+  {"i5u3",	0, 5, 3, HW_UINT, NULL},	/* for pop25/pop25.  */
+  {"i15s3",	0, 15, 3, HW_INT, NULL},	/* for dprefi.d.  */
 
+  {"a_rt",	15, 5, 0, HW_GPR, NULL},  /* for audio-extension.  */
+  {"a_ru",	10, 5, 0, HW_GPR, NULL},  /* for audio-extension.  */
+  {"a_dx",	9, 1, 0, HW_DXR, NULL},  /* for audio-extension.  */
+  {"a_a30",	16, 4, 0, HW_GPR, parse_a30b20},  /* for audio-extension.  */
+  {"a_b20",	12, 4, 0, HW_GPR, parse_a30b20},  /* for audio-extension.  */
+  {"a_rt21",	5, 7, 0, HW_GPR, parse_rt21},  /* for audio-extension.  */
+  {"a_rte",	5, 7, 0, HW_GPR, parse_rte_start},  /* for audio-extension.  */
+  {"a_rte1",	5, 7, 0, HW_GPR, parse_rte_end},  /* for audio-extension.  */
+  {"a_rte69",	6, 4, 0, HW_GPR, parse_rte69_start},  /* for audio-extension.  */
+  {"a_rte69_1",	6, 4, 0, HW_GPR, parse_rte69_end},  /* for audio-extension.  */
+  {"dhy",	5, 2, 0, HW_AEXT_ACC, NULL},  /* for audio-extension.  */
+  {"dxh",	15, 2, 0, HW_AEXT_ACC, NULL},  /* for audio-extension.  */
+  {"aridx",	0, 5, 0, HW_AEXT_ARIDX, NULL},  /* for audio-extension.  */
+  {"aridx2",	0, 5, 0, HW_AEXT_ARIDX2, NULL},  /* for audio-extension.  */
+  {"aridxi",	16, 4, 0, HW_AEXT_ARIDXI, NULL},  /* for audio-extension.  */
+  {"imm16",	0, 16, 0, HW_UINT, NULL},  /* for audio-extension.  */
+  {"im5_i",	0, 5, 0, HW_AEXT_IM_I, parse_im5_ip},  /* for audio-extension.  */
+  {"im5_m",	0, 5, 0, HW_AEXT_IM_M, parse_im5_mr},  /* for audio-extension.  */
+  {"im6_ip",	0, 2, 0, HW_AEXT_IM_I, parse_im6_ip},  /* for audio-extension.  */
+  {"im6_iq",	0, 2, 0, HW_AEXT_IM_I, parse_im6_iq},  /* for audio-extension.  */
+  {"im6_mr",	2, 2, 0, HW_AEXT_IM_M, parse_im6_mr},  /* for audio-extension.  */
+  {"im6_ms",	4, 2, 0, HW_AEXT_IM_M, parse_im6_ms},  /* for audio-extension.  */
+  {"cp45",	4, 2, 0, HW_CP, NULL},  /* for cop-extension.  */
+  {"i12u",	8, 12, 0, HW_UINT, NULL},  /* for cop-extension.  */
+  {"cpi19",	6, 19, 0, HW_UINT, NULL},  /* for cop-extension.  */
   {NULL, 0, 0, 0, 0, NULL}
 };
 
-
-#define OP6(op6)		(N32_OP6_ ## op6 << 25)
 #define DEF_REG(r)		(__BIT (r))
 #define USE_REG(r)		(__BIT (r))
 #define RT(r)			(r << 20)
@@ -211,55 +219,154 @@ static const field_t operand_fields[] =
 #define RB(r)			(r << 10)
 #define RA5(r)			(r)
 
-static struct nds32_opcode nds32_opcodes[] =
+struct nds32_opcode nds32_opcodes[] =
 {
-  /* ALU1 */
-#define ALU1(sub)	(OP6 (ALU1) | N32_ALU1_ ## sub)
-  {"add", "=rt,%ra,%rb",		ALU1 (ADD), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sub", "=rt,%ra,%rb",		ALU1 (SUB), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"and", "=rt,%ra,%rb",		ALU1 (AND), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"xor", "=rt,%ra,%rb",		ALU1 (XOR), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"or", "=rt,%ra,%rb",			ALU1 (OR), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"nor", "=rt,%ra,%rb",		ALU1 (NOR), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"slt", "=rt,%ra,%rb",		ALU1 (SLT), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"slts", "=rt,%ra,%rb",		ALU1 (SLTS), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"slli", "=rt,%ra,%ib5u",		ALU1 (SLLI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"srli", "=rt,%ra,%ib5u",		ALU1 (SRLI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"srai", "=rt,%ra,%ib5u",		ALU1 (SRAI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"rotri", "=rt,%ra,%ib5u",		ALU1 (ROTRI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sll", "=rt,%ra,%rb",		ALU1 (SLL), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"srl", "=rt,%ra,%rb",		ALU1 (SRL), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sra", "=rt,%ra,%rb",		ALU1 (SRA), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"rotr", "=rt,%ra,%rb",		ALU1 (ROTR), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"seb", "=rt,%ra",			ALU1 (SEB), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"seh", "=rt,%ra",			ALU1 (SEH), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"bitc", "=rt,%ra,%rb",		ALU1 (BITC), 4, ATTR_V3, 0, NULL, 0, NULL},
-  {"zeh", "=rt,%ra",			ALU1 (ZEH), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"wsbh", "=rt,%ra",			ALU1 (WSBH), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"divsr", "=rt,=rd,%ra,%rb",		ALU1 (DIVSR), 4, ATTR (DIV) | ATTR_V2UP, 0, NULL, 0, NULL},
-  {"divr", "=rt,=rd,%ra,%rb",		ALU1 (DIVR), 4, ATTR (DIV) | ATTR_V2UP, 0, NULL, 0, NULL},
-  {"sva", "=rt,%ra,%rb",		ALU1 (SVA), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"svs", "=rt,%ra,%rb",		ALU1 (SVS), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"cmovz", "=rt,%ra,%rb",		ALU1 (CMOVZ), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"cmovn", "=rt,%ra,%rb",		ALU1 (CMOVN), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"add_slli", "=rt,%ra,%rb,%sh",	ALU1 (ADD), 4, ATTR_V3, 0, NULL, 0, NULL},
-  {"sub_slli", "=rt,%ra,%rb,%sh",	ALU1 (SUB), 4, ATTR_V3, 0, NULL, 0, NULL},
-  {"and_slli", "=rt,%ra,%rb,%sh",	ALU1 (AND), 4, ATTR_V3, 0, NULL, 0, NULL},
-  {"xor_slli", "=rt,%ra,%rb,%sh",	ALU1 (XOR), 4, ATTR_V3, 0, NULL, 0, NULL},
-  {"or_slli", "=rt,%ra,%rb,%sh",	ALU1 (OR), 4, ATTR_V3, 0, NULL, 0, NULL},
+  /* opc6_encoding table OPC_6.  */
+  {"lbi", "=rt,[%ra{+%i15s}]",		OP6 (LBI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhi", "=rt,[%ra{+%i15s1}]",		OP6 (LHI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lwi", "=rt,[%ra{+%i15s2}]",		OP6 (LWI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lbi.bi", "=rt,[%ra],%i15s",		OP6 (LBI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhi.bi", "=rt,[%ra],%i15s1",	OP6 (LHI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lwi.bi", "=rt,[%ra],%i15s2",	OP6 (LWI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sbi", "%rt,[%ra{+%i15s}]",		OP6 (SBI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"shi", "%rt,[%ra{+%i15s1}]",		OP6 (SHI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"swi", "%rt,[%ra{+%i15s2}]",		OP6 (SWI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sbi.bi", "%rt,[%ra],%i15s",		OP6 (SBI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"shi.bi", "%rt,[%ra],%i15s1",	OP6 (SHI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"swi.bi", "%rt,[%ra],%i15s2",	OP6 (SWI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+
+  {"lbsi", "=rt,[%ra{+%i15s}]",		OP6 (LBSI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhsi", "=rt,[%ra{+%i15s1}]",	OP6 (LHSI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lbsi.bi", "=rt,[%ra],%i15s",	OP6 (LBSI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhsi.bi", "=rt,[%ra],%i15s1",	OP6 (LHSI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"movi", "=rt,%i20s",		OP6 (MOVI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sethi", "=rt,%i20u",	OP6 (SETHI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"addi", "=rt,%ra,%i15s",	OP6 (ADDI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"subri", "=rt,%ra,%i15s",	OP6 (SUBRI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"andi", "=rt,%ra,%i15u",	OP6 (ANDI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"xori", "=rt,%ra,%i15u",	OP6 (XORI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"ori", "=rt,%ra,%i15u",	OP6 (ORI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"slti", "=rt,%ra,%i15s",	OP6 (SLTI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sltsi", "=rt,%ra,%i15s",	OP6 (SLTSI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"bitci", "=rt,%ra,%i15u",	OP6 (BITCI), 4, ATTR_V3, 0, NULL, 0, NULL},
+
+  /* seg-DPREFI.  */
+  {"dprefi.w", "%dpref_st,[%ra{+%i15s2}]",	OP6 (DPREFI), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"dprefi.d", "%dpref_st,[%ra{+%i15s3}]",	OP6 (DPREFI) | __BIT (24), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  /* seg-LBGP.  */
+  {"lbi.gp", "=rt,[+%i19s]",	OP6 (LBGP), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
+  {"lbsi.gp", "=rt,[+%i19s]",	OP6 (LBGP) | __BIT (19), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
+  /* seg-LWC/0.  */
+  {"cplwi", "%cp,=cprt,[%ra{+%i12s2}]",		OP6 (LWC), 4, 0, 0, NULL, 0, NULL},
+  {"cplwi.bi", "%cp,=cprt,[%ra],%i12s2",	OP6 (LWC) | __BIT (12), 4, 0, 0, NULL, 0, NULL},
+  /* seg-SWC/0.  */
+  {"cpswi", "%cp,=cprt,[%ra{+%i12s2}]",		OP6 (SWC), 4, 0, 0, NULL, 0, NULL},
+  {"cpswi.bi", "%cp,=cprt,[%ra],%i12s2",	OP6 (SWC) | __BIT (12), 4, 0, 0, NULL, 0, NULL},
+  /* seg-LDC/0.  */
+  {"cpldi", "%cp,%cprt,[%ra{+%i12s2}]",		OP6 (LDC), 4, 0, 0, NULL, 0, NULL},
+  {"cpldi.bi", "%cp,%cprt,[%ra],%i12s2",	OP6 (LDC) | __BIT (12), 4, 0, 0, NULL, 0, NULL},
+  /* seg-SDC/0.  */
+  {"cpsdi", "%cp,%cprt,[%ra{+%i12s2}]",		OP6 (SDC), 4, 0, 0, NULL, 0, NULL},
+  {"cpsdi.bi", "%cp,%cprt,[%ra],%i12s2",	OP6 (SDC) | __BIT (12), 4, 0, 0, NULL, 0, NULL},
+  /* seg-LSMW.  */
+  {"lmw", "%abdim %rt,[%ra],%re{,%enb4}",	LSMW (LSMW), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lmwa", "%abdim %rt,[%ra],%re{,%enb4}",	LSMW (LSMWA), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
+  {"lmwzb", "%abm %rt,[%ra],%re{,%enb4}",	LSMW (LSMWZB), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
+  {"smw", "%abdim %rt,[%ra],%re{,%enb4}",	LSMW (LSMW) | __BIT (5), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"smwa", "%abdim %rt,[%ra],%re{,%enb4}",	LSMW (LSMWA) | __BIT (5), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
+  {"smwzb", "%abm %rt,[%ra],%re{,%enb4}",	LSMW (LSMWZB) | __BIT (5), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
+  /* seg-HWGP.  */
+  {"lhi.gp", "=rt,[+%i18s1]",	OP6 (HWGP), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
+  {"lhsi.gp", "=rt,[+%i18s1]",	OP6 (HWGP) | (2 << 17), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
+  {"shi.gp", "%rt,[+%i18s1]",	OP6 (HWGP) | (4 << 17), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
+  {"lwi.gp", "=rt,[+%i17s2]",	OP6 (HWGP) | (6 << 17), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
+  {"swi.gp", "%rt,[+%i17s2]",	OP6 (HWGP) | (7 << 17), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
+
+  /* seg-SBGP.  */
+  {"sbi.gp", "%rt,[+%i19s]",	OP6 (SBGP), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
+  {"addi.gp", "=rt,%i19s",	OP6 (SBGP) | __BIT (19), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
+  /* seg-JI.  */
+  {"j", "%i24s1",	OP6 (JI), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"jal", "%i24s1",	OP6 (JI) | __BIT (24), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-JREG.  */
+  {"jr", "%rb",			JREG (JR), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
+  {"jral", "%rt,%rb",		JREG (JRAL), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
+  {"jrnez", "%rb",		JREG (JRNEZ), 4, ATTR (BRANCH) | ATTR_V3, 0, NULL, 0, NULL},
+  {"jralnez", "%rt,%rb",	JREG (JRALNEZ), 4, ATTR (BRANCH) | ATTR_V3, 0, NULL, 0, NULL},
+  {"ret", "%rb",		JREG (JR) | JREG_RET, 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
+  {"ifret", "",			JREG (JR) | JREG_IFC | JREG_RET, 4, ATTR (BRANCH) | ATTR (IFC_EXT), 0, NULL, 0, NULL},
+  {"jral", "%rb",		JREG (JRAL) | RT (30), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
+  {"jralnez", "%rb",		JREG (JRALNEZ) | RT (30), 4, ATTR (BRANCH) | ATTR_V3, 0, NULL, 0, NULL},
+  {"ret", "",			JREG (JR) | JREG_RET | RB (30), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
+  {"jr", "%dtitoff %rb",	JREG (JR), 4, ATTR (BRANCH) | ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"ret", "%dtitoff %rb",	JREG (JR) | JREG_RET, 4, ATTR (BRANCH) | ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"jral", "%dtiton %rt,%rb",	JREG (JRAL), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
+  {"jral", "%dtiton %rb",	JREG (JRAL) | RT (30), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-BR1.  */
+  {"beq", "%rt,%ra,%i14s1",	OP6 (BR1), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"bne", "%rt,%ra,%i14s1",	OP6 (BR1) | __BIT (14), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-BR2.  */
+#define BR2(sub)	(OP6 (BR2) | (N32_BR2_ ## sub << 16))
+  {"ifcall", "%i16s1",		BR2 (IFCALL), 4, ATTR (IFC_EXT), 0, NULL, 0, NULL},
+  {"beqz", "%rt,%i16s1",	BR2 (BEQZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"bnez", "%rt,%i16s1",	BR2 (BNEZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"bgez", "%rt,%i16s1",	BR2 (BGEZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"bltz", "%rt,%i16s1",	BR2 (BLTZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"bgtz", "%rt,%i16s1",	BR2 (BGTZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"blez", "%rt,%i16s1",	BR2 (BLEZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"bgezal", "%rt,%i16s1",	BR2 (BGEZAL), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"bltzal", "%rt,%i16s1",	BR2 (BLTZAL), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-BR3.  */
+  {"beqc", "%rt,%i11br3,%i8s1",	OP6 (BR3), 4, ATTR_PCREL | ATTR_V3MUP, 0, NULL, 0, NULL},
+  {"bnec", "%rt,%i11br3,%i8s1",	OP6 (BR3) | __BIT (19), 4, ATTR_PCREL | ATTR_V3MUP, 0, NULL, 0, NULL},
+  /* seg-SIMD.  */
+  {"pbsad", "%rt,%ra,%rb", SIMD (PBSAD), 4, ATTR (PERF2_EXT), 0, NULL, 0, NULL},
+  {"pbsada", "%rt,%ra,%rb", SIMD (PBSADA), 4, ATTR (PERF2_EXT), 0, NULL, 0, NULL},
+  /* seg-ALU1.  */
+  {"add", "=rt,%ra,%rb",	ALU1 (ADD), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sub", "=rt,%ra,%rb",	ALU1 (SUB), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"and", "=rt,%ra,%rb",	ALU1 (AND), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"xor", "=rt,%ra,%rb",	ALU1 (XOR), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"or", "=rt,%ra,%rb",		ALU1 (OR), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"nor", "=rt,%ra,%rb",	ALU1 (NOR), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"slt", "=rt,%ra,%rb",	ALU1 (SLT), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"slts", "=rt,%ra,%rb",	ALU1 (SLTS), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"slli", "=rt,%ra,%ib5u",	ALU1 (SLLI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"srli", "=rt,%ra,%ib5u",	ALU1 (SRLI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"srai", "=rt,%ra,%ib5u",	ALU1 (SRAI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"rotri", "=rt,%ra,%ib5u",	ALU1 (ROTRI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sll", "=rt,%ra,%rb",	ALU1 (SLL), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"srl", "=rt,%ra,%rb",	ALU1 (SRL), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sra", "=rt,%ra,%rb",	ALU1 (SRA), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"rotr", "=rt,%ra,%rb",	ALU1 (ROTR), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"seb", "=rt,%ra",		ALU1 (SEB), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"seh", "=rt,%ra",		ALU1 (SEH), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"bitc", "=rt,%ra,%rb",	ALU1 (BITC), 4, ATTR_V3, 0, NULL, 0, NULL},
+  {"zeh", "=rt,%ra",		ALU1 (ZEH), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"wsbh", "=rt,%ra",		ALU1 (WSBH), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"divsr", "=rt,=rd,%ra,%rb",	ALU1 (DIVSR), 4, ATTR (DIV) | ATTR_V2UP, 0, NULL, 0, NULL},
+  {"divr", "=rt,=rd,%ra,%rb",	ALU1 (DIVR), 4, ATTR (DIV) | ATTR_V2UP, 0, NULL, 0, NULL},
+  {"sva", "=rt,%ra,%rb",	ALU1 (SVA), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"svs", "=rt,%ra,%rb",	ALU1 (SVS), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"cmovz", "=rt,%ra,%rb",	ALU1 (CMOVZ), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"cmovn", "=rt,%ra,%rb",	ALU1 (CMOVN), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"or_srli", "=rt,%ra,%rb,%sh",	ALU1 (OR_SRLI), 4, ATTR_V3, 0, NULL, 0, NULL},
   {"add_srli", "=rt,%ra,%rb,%sh",	ALU1 (ADD_SRLI), 4, ATTR_V3, 0, NULL, 0, NULL},
   {"sub_srli", "=rt,%ra,%rb,%sh",	ALU1 (SUB_SRLI), 4, ATTR_V3, 0, NULL, 0, NULL},
   {"and_srli", "=rt,%ra,%rb,%sh",	ALU1 (AND_SRLI), 4, ATTR_V3, 0, NULL, 0, NULL},
   {"xor_srli", "=rt,%ra,%rb,%sh",	ALU1 (XOR_SRLI), 4, ATTR_V3, 0, NULL, 0, NULL},
-
-  /* ALU2 */
-#define ALU2(sub)	(OP6 (ALU2) | N32_ALU2_ ## sub)
+  {"add_slli", "=rt,%ra,%rb,%sh",	ALU1 (ADD), 4, ATTR_V3, 0, NULL, 0, NULL},
+  {"sub_slli", "=rt,%ra,%rb,%sh",	ALU1 (SUB), 4, ATTR_V3, 0, NULL, 0, NULL},
+  {"and_slli", "=rt,%ra,%rb,%sh",	ALU1 (AND), 4, ATTR_V3, 0, NULL, 0, NULL},
+  {"xor_slli", "=rt,%ra,%rb,%sh",	ALU1 (XOR), 4, ATTR_V3, 0, NULL, 0, NULL},
+  {"or_slli", "=rt,%ra,%rb,%sh",	ALU1 (OR), 4, ATTR_V3, 0, NULL, 0, NULL},
+  {"nop", "",	ALU1 (SRLI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-ALU2.  */
   {"max", "=rt,%ra,%rb",	ALU2 (MAX), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
   {"min", "=rt,%ra,%rb",	ALU2 (MIN), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
   {"ave", "=rt,%ra,%rb",	ALU2 (AVE), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
   {"abs", "=rt,%ra",		ALU2 (ABS), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
-  {"clips", "=rt,%ra,%ib5s",	ALU2 (CLIPS), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
+  {"clips", "=rt,%ra,%ib5u",	ALU2 (CLIPS), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
   {"clip", "=rt,%ra,%ib5u",	ALU2 (CLIP), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
   {"clo", "=rt,%ra",		ALU2 (CLO), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
   {"clz", "=rt,%ra",		ALU2 (CLZ), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
@@ -269,16 +376,12 @@ static struct nds32_opcode nds32_opcodes
   {"btst", "=rt,%ra,%ib5u",	ALU2 (BTST), 4, ATTR (PERF_EXT), 0, NULL, 0, NULL},
   {"bse", "=rt,%ra,=rb",	ALU2 (BSE), 4, ATTR (PERF2_EXT), 0, NULL, 0, NULL},
   {"bsp", "=rt,%ra,=rb",	ALU2 (BSP), 4, ATTR (PERF2_EXT), 0, NULL, 0, NULL},
-  {"ffb", "=rt,%ra,%rb",	ALU2 (FFB), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
-  {"ffmism", "=rt,%ra,%rb",	ALU2 (FFMISM), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
   {"ffzmism", "=rt,%ra,%rb",	ALU2 (FFZMISM), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
   {"mfusr", "=rt,%usr",		ALU2 (MFUSR), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
   {"mtusr", "%rt,%usr",		ALU2 (MTUSR), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
   {"mfusr", "=rt,%ridx",	ALU2 (MFUSR), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
   {"mtusr", "%rt,%ridx",	ALU2 (MTUSR), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
   {"mul", "=rt,%ra,%rb",	ALU2 (MUL), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"mults64", "=dt,%ra,%rb",	ALU2 (MULTS64), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"mult64", "=dt,%ra,%rb",	ALU2 (MULT64), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"madds64", "=dt,%ra,%rb",	ALU2 (MADDS64), 4, ATTR (MAC) | ATTR_ALL, 0, NULL, 0, NULL},
   {"madd64", "=dt,%ra,%rb",	ALU2 (MADD64), 4, ATTR (MAC) | ATTR_ALL, 0, NULL, 0, NULL},
   {"msubs64", "=dt,%ra,%rb",	ALU2 (MSUBS64), 4, ATTR (MAC) | ATTR_ALL, 0, NULL, 0, NULL},
@@ -286,459 +389,598 @@ static struct nds32_opcode nds32_opcodes
   {"divs", "=dt,%ra,%rb",	ALU2 (DIVS), 4, ATTR (DIV) | ATTR (DXREG), 0, NULL, 0, NULL},
   {"div", "=dt,%ra,%rb",	ALU2 (DIV), 4, ATTR (DIV) | ATTR (DXREG), 0, NULL, 0, NULL},
   {"mult32", "=dt,%ra,%rb",	ALU2 (MULT32), 4, ATTR (DXREG) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"madd32", "=dt,%ra,%rb",	ALU2 (MADD32), 4, ATTR (MAC) | ATTR (DXREG) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"msub32", "=dt,%ra,%rb",	ALU2 (MSUB32), 4, ATTR (MAC) | ATTR (DXREG) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"ffbi", "=rt,%ra,%ib5u",	ALU2 (FFBI) | __BIT (6), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
+
+  /* seg-ALU2_FFBI.  */
+  {"ffb", "=rt,%ra,%rb",	ALU2 (FFB), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
+  {"ffbi", "=rt,%ra,%ib8u",	ALU2 (FFBI) | __BIT (6), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
+  /* seg-ALU2_FLMISM.  */
+  {"ffmism", "=rt,%ra,%rb",	ALU2 (FFMISM), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
   {"flmism", "=rt,%ra,%rb",	ALU2 (FLMISM) | __BIT (6), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
+  /* seg-ALU2_MULSR64.  */
+  {"mults64", "=dt,%ra,%rb",	ALU2 (MULTS64), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"mulsr64", "=rt,%ra,%rb",	ALU2 (MULSR64)| __BIT (6), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
+  /* seg-ALU2_MULR64.  */
+  {"mult64", "=dt,%ra,%rb",	ALU2 (MULT64), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"mulr64", "=rt,%ra,%rb",	ALU2 (MULR64) | __BIT (6), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
+  /* seg-ALU2_MADDR32.  */
+  {"madd32", "=dt,%ra,%rb",	ALU2 (MADD32), 4, ATTR (MAC) | ATTR (DXREG) | ATTR_ALL, 0, NULL, 0, NULL},
   {"maddr32", "=rt,%ra,%rb",	ALU2 (MADDR32) | __BIT (6), 4, ATTR (MAC) | ATTR_V2UP, 0, NULL, 0, NULL},
+  /* seg-ALU2_MSUBR32.  */
+  {"msub32", "=dt,%ra,%rb",	ALU2 (MSUB32), 4, ATTR (MAC) | ATTR (DXREG) | ATTR_ALL, 0, NULL, 0, NULL},
   {"msubr32", "=rt,%ra,%rb",	ALU2 (MSUBR32) | __BIT (6), 4, ATTR (MAC) | ATTR_V2UP, 0, NULL, 0, NULL},
 
-  /* MISC */
-#define MISC(sub)	(OP6 (MISC) | N32_MISC_ ## sub)
+  /* seg-MISC.  */
   {"standby", "%stdby_st",	MISC (STANDBY), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"cctl", "%ra,%cctl_st0",	MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"cctl", "%ra,%cctl_st1{,%cctl_lv}", MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"cctl", "=rt,%ra,%cctl_st2",	MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"cctl", "%rt,%ra,%cctl_st3",	MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"cctl", "%cctl_st4",		MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"cctl", "%cctl_st5{,%cctl_lv}", MISC (CCTL), 4, ATTR_V3, 0, NULL, 0, NULL},
-  {"cctl", "=rt,%ra,%cctl_stx,%cctl_lv", MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
   {"mfsr", "=rt,%sr",		MISC (MFSR), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"mtsr", "%rt,%sr",		MISC (MTSR), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"mfsr", "=rt,%ridx",		MISC (MFSR), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"mtsr", "%rt,%ridx",		MISC (MTSR), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"iret", "",			MISC (IRET), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"trap", "%swid",		MISC (TRAP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"trap", "",			MISC (TRAP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"teqz", "%rt,%swid",		MISC (TEQZ), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"tnez", "%rt,%swid",		MISC (TNEZ), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"teqz", "%rt{,%swid}",		MISC (TEQZ), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"tnez", "%rt{,%swid}",		MISC (TNEZ), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
   {"dsb", "",			MISC (DSB), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"isb", "",			MISC (ISB), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"break", "%swid",		MISC (BREAK), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"break", "",			MISC (BREAK), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"syscall", "%swid",		MISC (SYSCALL), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"msync", "%msync_st",	MISC (MSYNC), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"msync", "%msync_stx",	MISC (MSYNC), 4, ATTR_ALL, 0, NULL, 0, NULL},
   {"isync", "%rt",		MISC (ISYNC), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"tlbop", "%ra,%tlbop_st",	MISC (TLBOP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"tlbop", "%ra,%tlbop_stx",	MISC (TLBOP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"tlbop", "%rt,%ra,pb",	MISC (TLBOP) | (5 << 5), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"tlbop", "flua",		MISC (TLBOP) | (7 << 5), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-
-  {"setend.l", "",		MISC (MTSR)
-				| (SRIDX (1, 0, 0) << 10) | __BIT (5), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"setend.b", "",		MISC (MTSR)
-				| (SRIDX (1, 0, 0) << 10) | __BIT (5) | __BIT (20), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"setgie.d", "",		MISC (MTSR)
-				| (SRIDX (1, 0, 0) << 10) | __BIT (6), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"setgie.e", "",		MISC (MTSR)
-				| (SRIDX (1, 0, 0) << 10) | __BIT (6) | __BIT (20), 4, ATTR_ALL, 0, NULL, 0, NULL},
-
-  /* JI */
-  {"jal", "%i24s1",		OP6 (JI) | __BIT (24), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"j", "%i24s1",		OP6 (JI), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-
-  /* BR1 */
-  {"beq", "%rt,%ra,%i14s1",	OP6 (BR1), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"bne", "%rt,%ra,%i14s1",	OP6 (BR1) | __BIT (14), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-
-  /* BR2 */
-#define BR2(sub)	(OP6 (BR2) | (N32_BR2_ ## sub << 16))
-  {"beqz", "%rt,%i16s1",	BR2 (BEQZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"bnez", "%rt,%i16s1",	BR2 (BNEZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"bgez", "%rt,%i16s1",	BR2 (BGEZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"bltz", "%rt,%i16s1",	BR2 (BLTZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"bgtz", "%rt,%i16s1",	BR2 (BGTZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"blez", "%rt,%i16s1",	BR2 (BLEZ), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"bgezal", "%rt,%i16s1",	BR2 (BGEZAL), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"bltzal", "%rt,%i16s1",	BR2 (BLTZAL), 4, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-
-  /* BR3 */
-  {"beqc", "%rt,%i11br3,%i8s1",	OP6 (BR3), 4, ATTR_PCREL | ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"bnec", "%rt,%i11br3,%i8s1",	OP6 (BR3) | __BIT (19), 4, ATTR_PCREL | ATTR_V3MUP, 0, NULL, 0, NULL},
-
-#define JREG(sub)	(OP6 (JREG) | N32_JREG_ ## sub)
-  /* JREG */
-  {"jr", "%rb",			JREG (JR), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"jral", "%rt,%rb",		JREG (JRAL), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"jral", "%rb",		JREG (JRAL) | RT (30), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"jrnez", "%rb",		JREG (JRNEZ), 4, ATTR (BRANCH) | ATTR_V3, 0, NULL, 0, NULL},
-  {"jralnez", "%rt,%rb",	JREG (JRALNEZ), 4, ATTR (BRANCH) | ATTR_V3, 0, NULL, 0, NULL},
-  {"jralnez", "%rb",		JREG (JRALNEZ) | RT (30), 4, ATTR (BRANCH) | ATTR_V3, 0, NULL, 0, NULL},
-
-#define JREG_RET	(1 << 5)
-#define JREG_IFC	(1 << 6)
-  {"ret", "%rb",		JREG (JR) | JREG_RET, 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"ret", "",			JREG (JR) | JREG_RET | RB (30), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"jral", "%dtiton %rt,%rb",	JREG (JRAL), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"jral", "%dtiton %rb",	JREG (JRAL) | RT (30), 4, ATTR (BRANCH) | ATTR_ALL, 0, NULL, 0, NULL},
-  {"jr", "%dtitoff %rb",	JREG (JR), 4, ATTR (BRANCH) | ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"ret", "%dtitoff %rb",	JREG (JR) | JREG_RET, 4, ATTR (BRANCH) | ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"ifret", "",			JREG (JR) | JREG_IFC | JREG_RET, 4, ATTR (BRANCH) | ATTR (IFC_EXT), 0, NULL, 0, NULL},
+  /* seg-MISC_MTSR.  */
+  {"mtsr", "%rt,%sr",		MISC (MTSR), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-MISC_SETEND.  */
+  {"setend.l", "",	MISC (MTSR) | (SRIDX (1, 0, 0) << 10) | __BIT (5), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"setend.b", "",	MISC (MTSR) | (SRIDX (1, 0, 0) << 10) | __BIT (5) | __BIT (20), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-MISC_SETGIE.  */
+  {"setgie.d", "",	MISC (MTSR) | (SRIDX (1, 0, 0) << 10) | __BIT (6), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"setgie.e", "",	MISC (MTSR) | (SRIDX (1, 0, 0) << 10) | __BIT (6) | __BIT (20), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"mfsr", "=rt,%ridx",		MISC (MFSR), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"mtsr", "%rt,%ridx",		MISC (MTSR), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"trap", "",			MISC (TRAP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"break", "",			MISC (BREAK), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"msync", "",			MISC (MSYNC), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-MISC_TLBOP.  */
+  {"tlbop", "%ra,%tlbop_st",	MISC (TLBOP), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"tlbop", "%ra,%tlbop_stx",	MISC (TLBOP), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"tlbop", "%rt,%ra,pb",	MISC (TLBOP) | (5 << 5), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"tlbop", "flua",		MISC (TLBOP) | (7 << 5), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"tlbop", "flushall",		MISC (TLBOP) | (7 << 5), 4, ATTR_ALL, 0, NULL, 0, NULL},
+
+  /* seg-MEM.  */
+  {"lb", "=rt,[%ra+(%rb<<%sv)]",	MEM (LB), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lb", "=rt,[%ra+%rb{<<%sv}]",	MEM (LB), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lh", "=rt,[%ra+(%rb<<%sv)]",	MEM (LH), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lh", "=rt,[%ra+%rb{<<%sv}]",	MEM (LH), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lw", "=rt,[%ra+(%rb<<%sv)]",	MEM (LW), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lw", "=rt,[%ra+%rb{<<%sv}]",	MEM (LW), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"ld", "=rt,[%ra+(%rb<<%sv)]",	MEM (LD), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lb.bi", "=rt,[%ra],%rb{<<%sv}",	MEM (LB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lb.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (LB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lb.p", "=rt,[%ra],%rb{<<%sv}",	MEM (LB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lh.bi", "=rt,[%ra],%rb{<<%sv}",	MEM (LH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lh.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (LH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lh.p", "=rt,[%ra],%rb{<<%sv}",	MEM (LH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lw.bi", "=rt,[%ra],%rb{<<%sv}",	MEM (LW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lw.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (LW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lw.p", "=rt,[%ra],%rb{<<%sv}",	MEM (LW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"ld.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (LD_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sb", "=rt,[%ra+(%rb<<%sv)]",	MEM (SB), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sb", "%rt,[%ra+%rb{<<%sv}]",	MEM (SB), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sh", "=rt,[%ra+(%rb<<%sv)]",	MEM (SH), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sh", "%rt,[%ra+%rb{<<%sv}]",	MEM (SH), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sw", "=rt,[%ra+(%rb<<%sv)]",	MEM (SW), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sw", "%rt,[%ra+%rb{<<%sv}]",	MEM (SW), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sd", "=rt,[%ra+(%rb<<%sv)]",	MEM (SD), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sb.bi", "%rt,[%ra],%rb{<<%sv}",	MEM (SB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sb.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (SB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sb.p", "%rt,[%ra],%rb{<<%sv}",	MEM (SB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sh.bi", "%rt,[%ra],%rb{<<%sv}",	MEM (SH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sh.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (SH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sh.p", "%rt,[%ra],%rb{<<%sv}",	MEM (SH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sw.bi", "%rt,[%ra],%rb{<<%sv}",	MEM (SW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sw.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (SW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sw.p", "%rt,[%ra],%rb{<<%sv}",	MEM (SW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sd.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (SD_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+
+  {"lbs", "=rt,[%ra+(%rb<<%sv)]",	MEM (LBS), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lbs", "=rt,[%ra+%rb{<<%sv}]",	MEM (LBS), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhs", "=rt,[%ra+(%rb<<%sv)]",	MEM (LHS), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhs", "=rt,[%ra+%rb{<<%sv}]",	MEM (LHS), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lbs.bi", "=rt,[%ra],%rb{<<%sv}",	MEM (LBS_BI),4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lbs.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (LBS_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lbs.p", "=rt,[%ra],%rb{<<%sv}",	MEM (LBS_BI),4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhs.bi", "=rt,[%ra],%rb{<<%sv}",	MEM (LHS_BI),4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhs.bi", "=rt,[%ra],(%rb<<%sv)",	MEM (LHS_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhs.p", "=rt,[%ra],%rb{<<%sv}",	MEM (LHS_BI),4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"llw", "=rt,[%ra+(%rb<<%sv)]",	MEM (LLW), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"llw", "=rt,[%ra+%rb{<<%sv}]",	MEM (LLW), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"scw", "%rt,[%ra+(%rb<<%sv)]",	MEM (SCW), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"scw", "%rt,[%ra+%rb{<<%sv}]",	MEM (SCW), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+
+  {"lbup", "=rt,[%ra+(%rb<<%sv)]",	MEM (LBUP), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
+  {"lbup", "=rt,[%ra+%rb{<<%sv}]",	MEM (LBUP), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
+  {"lwup", "=rt,[%ra+(%rb<<%sv)]",	MEM (LWUP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"lwup", "=rt,[%ra+%rb{<<%sv}]",	MEM (LWUP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"sbup", "%rt,[%ra+(%rb<<%sv)]",	MEM (SBUP), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
+  {"sbup", "%rt,[%ra+%rb{<<%sv}]",	MEM (SBUP), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
+  {"swup", "%rt,[%ra+(%rb<<%sv)]",	MEM (SWUP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"swup", "%rt,[%ra+%rb{<<%sv}]",	MEM (SWUP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
 
-  /* MEM */
-#define MEM(sub)	(OP6 (MEM) | N32_MEM_ ## sub)
-  {"lb", "=rt,[%ra+(%rb<<%sv)]",                MEM (LB), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lb", "=rt,[%ra+%rb{<<%sv}]",		MEM (LB), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lh", "=rt,[%ra+(%rb<<%sv)]",                MEM (LH), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lh", "=rt,[%ra+%rb{<<%sv}]",		MEM (LH), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lw", "=rt,[%ra+(%rb<<%sv)]",                MEM (LW), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lw", "=rt,[%ra+%rb{<<%sv}]",		MEM (LW), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sb", "=rt,[%ra+(%rb<<%sv)]",                MEM (SB), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sb", "%rt,[%ra+%rb{<<%sv}]",		MEM (SB), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sh", "=rt,[%ra+(%rb<<%sv)]",                MEM (SH), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sh", "%rt,[%ra+%rb{<<%sv}]",		MEM (SH), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sw", "=rt,[%ra+(%rb<<%sv)]",                MEM (SW), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sw", "%rt,[%ra+%rb{<<%sv}]",		MEM (SW), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lb.bi", "=rt,[%ra],(%rb<<%sv)",		MEM (LB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lb.bi", "=rt,[%ra],%rb{<<%sv}",		MEM (LB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lh.bi", "=rt,[%ra],(%rb<<%sv)",		MEM (LH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lh.bi", "=rt,[%ra],%rb{<<%sv}",		MEM (LH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lw.bi", "=rt,[%ra],(%rb<<%sv)",		MEM (LW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lw.bi", "=rt,[%ra],%rb{<<%sv}",		MEM (LW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sb.bi", "=rt,[%ra],(%rb<<%sv)",		MEM (SB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sb.bi", "%rt,[%ra],%rb{<<%sv}",		MEM (SB_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sh.bi", "=rt,[%ra],(%rb<<%sv)",		MEM (SH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sh.bi", "%rt,[%ra],%rb{<<%sv}",		MEM (SH_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sw.bi", "=rt,[%ra],(%rb<<%sv)",		MEM (SW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sw.bi", "%rt,[%ra],%rb{<<%sv}",		MEM (SW_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lbs", "=rt,[%ra+(%rb<<%sv)]",		MEM (LBS), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lbs", "=rt,[%ra+%rb{<<%sv}]",		MEM (LBS), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lhs", "=rt,[%ra+(%rb<<%sv)]",		MEM (LHS), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lhs", "=rt,[%ra+%rb{<<%sv}]",		MEM (LHS), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lbs.bi", "=rt,[%ra],(%rb<<%sv)",		MEM (LBS_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lbs.bi", "=rt,[%ra],%rb{<<%sv}",		MEM (LBS_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lhs.bi", "=rt,[%ra],(%rb<<%sv)",		MEM (LHS_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lhs.bi", "=rt,[%ra],%rb{<<%sv}",		MEM (LHS_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"llw", "=rt,[%ra+(%rb<<%sv)]",		MEM (LLW), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"llw", "=rt,[%ra+%rb{<<%sv}]",		MEM (LLW), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"scw", "%rt,[%ra+(%rb<<%sv)]",		MEM (SCW), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"scw", "%rt,[%ra+%rb{<<%sv}]",		MEM (SCW), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"lbup", "=rt,[%ra+(%rb<<%sv)]",		MEM (LBUP), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
-  {"lbup", "=rt,[%ra+%rb{<<%sv}]",		MEM (LBUP), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
-  {"lwup", "=rt,[%ra+(%rb<<%sv)]",		MEM (LWUP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"lwup", "=rt,[%ra+%rb{<<%sv}]",		MEM (LWUP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"sbup", "%rt,[%ra+(%rb<<%sv)]",		MEM (SBUP), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
-  {"sbup", "%rt,[%ra+%rb{<<%sv}]",		MEM (SBUP), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
-  {"swup", "%rt,[%ra+(%rb<<%sv)]",		MEM (SWUP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"swup", "%rt,[%ra+%rb{<<%sv}]",		MEM (SWUP), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"dpref", "%dpref_st,[%ra]",	OP6 (DPREFI), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
   {"dpref", "%dpref_st,[%ra+(%rb<<%sv)]",	MEM (DPREF), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
   {"dpref", "%dpref_st,[%ra+%rb{<<%sv}]",	MEM (DPREF), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
 
-  /* LBGP */
-  {"lbi.gp", "=rt,[+%i19s]",	OP6 (LBGP), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
-  {"lbsi.gp", "=rt,[+%i19s]",	OP6 (LBGP) | __BIT (19), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
-
-  /* SBGP */
-  {"sbi.gp", "%rt,[+%i19s]",	OP6 (SBGP), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
-  {"addi.gp", "=rt,%i19s",	OP6 (SBGP) | __BIT (19), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
-
-  /* HWGP */
-  {"lhi.gp", "=rt,[+%i18s1]",	OP6 (HWGP), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
-  {"lhsi.gp", "=rt,[+%i18s1]",	OP6 (HWGP) | (2 << 17), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
-  {"shi.gp", "%rt,[+%i18s1]",	OP6 (HWGP) | (4 << 17), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
-  {"lwi.gp", "=rt,[+%i17s2]",	OP6 (HWGP) | (6 << 17), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
-  {"swi.gp", "%rt,[+%i17s2]",	OP6 (HWGP) | (7 << 17), 4, ATTR (GPREL) | ATTR_V2UP, USE_REG (29), NULL, 0, NULL},
-
-#define LSMW(sub)	(OP6 (LSMW) | N32_LSMW_ ## sub)
-  {"lmw", "%abdim %rt,[%ra],%rb{,%enb4}",		LSMW (LSMW), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"smw", "%abdim %rt,[%ra],%rb{,%enb4}",		LSMW (LSMW) | __BIT (5), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lmwa", "%abdim %rt,[%ra],%rb{,%enb4}",	LSMW (LSMWA), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
-  {"smwa", "%abdim %rt,[%ra],%rb{,%enb4}",	LSMW (LSMWA) | __BIT (5), 4, ATTR_V3MEX_V2, 0, NULL, 0, NULL},
-  {"lmwzb", "%abm %rt,[%ra],%rb{,%enb4}",	LSMW (LSMWZB), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
-  {"smwzb", "%abm %rt,[%ra],%rb{,%enb4}",	LSMW (LSMWZB) | __BIT (5), 4, ATTR (STR_EXT), 0, NULL, 0, NULL},
-
-
-#define SIMD(sub)	(OP6 (SIMD) | N32_SIMD_ ## sub)
-  {"pbsad", "%rt,%rb,%ra",	SIMD (PBSAD), 4, ATTR (PERF2_EXT), 0, NULL, 0, NULL},
-  {"pbsada", "%rt,%rb,%ra",	SIMD (PBSADA), 4, ATTR (PERF2_EXT), 0, NULL, 0, NULL},
-
-  /* COP */
-#if 0
-  {"cpe1", 0, 0, NULL, 0, NULL},
-  {"mfcp", 0, 0, NULL, 0, NULL},
-  {"cplw", 0, 0, NULL, 0, NULL},
-  {"cplw.bi", 0, 0, NULL, 0, NULL},
-  {"cpld", 0, 0, NULL, 0, NULL},
-  {"cpld.bi", 0, 0, NULL, 0, NULL},
-  {"cpe2", 0, 0, NULL, 0, NULL},
-
-  {"cpe3", 0, 0, NULL, 0, NULL},
-  {"mtcp", 0, 0, NULL, 0, NULL},
-  {"cpsw", 0, 0, NULL, 0, NULL},
-  {"cpsw.bi", 0, 0, NULL, 0, NULL},
-  {"cpsd", 0, 0, NULL, 0, NULL},
-  {"cpsd.bi", 0, 0, NULL, 0, NULL},
-  {"cpe4", 0, 0, NULL, 0, NULL},
-#endif
-
-  /* FPU */
-#define FS1(sub)	(OP6 (COP) | N32_FPU_FS1 | (N32_FPU_FS1_ ## sub << 6))
-  {"fadds",   "=fst,%fsa,%fsb",	FS1 (FADDS),	4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fsubs",   "=fst,%fsa,%fsb",	FS1 (FSUBS),	4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcpynss", "=fst,%fsa,%fsb",	FS1 (FCPYNSS),	4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcpyss",  "=fst,%fsa,%fsb",	FS1 (FCPYSS),	4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fmadds",  "=fst,%fsa,%fsb", FS1 (FMADDS),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fmsubs",  "=fst,%fsa,%fsb", FS1 (FMSUBS),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcmovns", "=fst,%fsa,%fsb", FS1 (FCMOVNS),  4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcmovzs", "=fst,%fsa,%fsb", FS1 (FCMOVZS),  4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fnmadds", "=fst,%fsa,%fsb", FS1 (FNMADDS),  4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fnmsubs", "=fst,%fsa,%fsb", FS1 (FNMSUBS),  4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fmuls",   "=fst,%fsa,%fsb", FS1 (FMULS),	4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fdivs",   "=fst,%fsa,%fsb", FS1 (FDIVS),	4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-
-#define FS1_F2OP(sub)	(OP6 (COP) | N32_FPU_FS1 | (N32_FPU_FS1_F2OP << 6) \
-			 | (N32_FPU_FS1_F2OP_ ## sub << 10))
-  {"fs2d",    "=fdt,%fsa",	FS1_F2OP (FS2D),    4, ATTR (FPU) | ATTR (FPU_SP_EXT) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fsqrts",  "=fst,%fsa",	FS1_F2OP (FSQRTS),  4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fabss",   "=fst,%fsa",	FS1_F2OP (FABSS),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fui2s",   "=fst,%fsa",	FS1_F2OP (FUI2S),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fsi2s",   "=fst,%fsa",	FS1_F2OP (FSI2S),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fs2ui",   "=fst,%fsa",	FS1_F2OP (FS2UI),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  /* For missing-operand-load/store instructions.  */
+  {"lb", "=rt,[%ra]",	OP6 (LBI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lh", "=rt,[%ra]",	OP6 (LHI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lw", "=rt,[%ra]",	OP6 (LWI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lbs", "=rt,[%ra]",	OP6 (LBSI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"lhs", "=rt,[%ra]",	OP6 (LHSI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sb", "%rt,[%ra]",	OP6 (SBI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sh", "%rt,[%ra]",	OP6 (SHI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sw", "%rt,[%ra]",	OP6 (SWI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+
+  /* seg-LWC0.  */
+  {"flsi", "=fst,[%ra{+%i12s2}]",	OP6 (LWC), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"flsi.bi", "=fst,[%ra],%i12s2",	FPU_RA_IMMBI (LWC), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-SWC0.  */
+  {"fssi", "=fst,[%ra{+%i12s2}]",	OP6 (SWC), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fssi.bi", "=fst,[%ra],%i12s2",	FPU_RA_IMMBI (SWC), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-LDC0.  */
+  {"fldi", "=fdt,[%ra{+%i12s2}]",	OP6 (LDC), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fldi.bi", "=fdt,[%ra],%i12s2",	FPU_RA_IMMBI (LDC), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-SDC0.  */
+  {"fsdi", "=fdt,[%ra{+%i12s2}]",	OP6 (SDC), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fsdi.bi", "=fdt,[%ra],%i12s2",	FPU_RA_IMMBI (SDC), 4, ATTR (FPU), 0, NULL, 0, NULL},
+
+  /* seg-FPU_FS1.  */
+  {"fadds", "=fst,%fsa,%fsb",	FS1 (FADDS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fsubs", "=fst,%fsa,%fsb",	FS1 (FSUBS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcpynss", "=fst,%fsa,%fsb",	FS1 (FCPYNSS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcpyss", "=fst,%fsa,%fsb",	FS1 (FCPYSS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fmadds", "=fst,%fsa,%fsb",	FS1 (FMADDS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fmsubs", "=fst,%fsa,%fsb",	FS1 (FMSUBS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcmovns", "=fst,%fsa,%fsb",	FS1 (FCMOVNS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcmovzs", "=fst,%fsa,%fsb",	FS1 (FCMOVZS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fnmadds", "=fst,%fsa,%fsb",	FS1 (FNMADDS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fnmsubs", "=fst,%fsa,%fsb",	FS1 (FNMSUBS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fmuls", "=fst,%fsa,%fsb",	FS1 (FMULS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fdivs", "=fst,%fsa,%fsb",	FS1 (FDIVS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+
+  /* seg-FPU_FS1_F2OP.  */
+  {"fs2d", "=fdt,%fsa",		FS1_F2OP (FS2D), 4, ATTR (FPU) | ATTR (FPU_SP_EXT) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fsqrts", "=fst,%fsa",	FS1_F2OP (FSQRTS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fabss", "=fst,%fsa",	FS1_F2OP (FABSS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fui2s", "=fst,%fsa",	FS1_F2OP (FUI2S), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fsi2s", "=fst,%fsa",	FS1_F2OP (FSI2S), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fs2ui", "=fst,%fsa",	FS1_F2OP (FS2UI), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
   {"fs2ui.z", "=fst,%fsa",	FS1_F2OP (FS2UI_Z), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fs2si",   "=fst,%fsa",	FS1_F2OP (FS2SI),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fs2si", "=fst,%fsa",	FS1_F2OP (FS2SI), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
   {"fs2si.z", "=fst,%fsa",	FS1_F2OP (FS2SI_Z), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-
-#define FS2(sub)	(OP6 (COP) | N32_FPU_FS2 | (N32_FPU_FS2_ ## sub << 6))
-  {"fcmpeqs",   "=fst,%fsa,%fsb", FS2 (FCMPEQS),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcmplts",   "=fst,%fsa,%fsb", FS2 (FCMPLTS),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcmples",   "=fst,%fsa,%fsb", FS2 (FCMPLES),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcmpuns",   "=fst,%fsa,%fsb", FS2 (FCMPUNS),   4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcmpeqs.e", "=fst,%fsa,%fsb", FS2 (FCMPEQS_E), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcmplts.e", "=fst,%fsa,%fsb", FS2 (FCMPLTS_E), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcmples.e", "=fst,%fsa,%fsb", FS2 (FCMPLES_E), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-  {"fcmpuns.e", "=fst,%fsa,%fsb", FS2 (FCMPUNS_E), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
-
-#define FD1(sub)	(OP6 (COP) | N32_FPU_FD1 | (N32_FPU_FD1_ ## sub << 6))
-  {"faddd",   "=fdt,%fda,%fdb", FD1 (FADDD),    4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fsubd",   "=fdt,%fda,%fdb", FD1 (FSUBD),    4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcpynsd", "=fdt,%fda,%fdb", FD1 (FCPYNSD),  4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcpysd",  "=fdt,%fda,%fdb", FD1 (FCPYSD),   4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fmaddd",  "=fdt,%fda,%fdb", FD1 (FMADDD),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fmsubd",  "=fdt,%fda,%fdb", FD1 (FMSUBD),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcmovnd", "=fdt,%fda,%fsb", FD1 (FCMOVND),  4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcmovzd", "=fdt,%fda,%fsb", FD1 (FCMOVZD),  4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fnmaddd", "=fdt,%fda,%fdb", FD1 (FNMADDD),  4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fnmsubd", "=fdt,%fda,%fdb", FD1 (FNMSUBD),  4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fmuld",   "=fdt,%fda,%fdb", FD1 (FMULD),    4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fdivd",   "=fdt,%fda,%fdb", FD1 (FDIVD),    4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-
-#define FD1_F2OP(sub)	(OP6 (COP) | N32_FPU_FD1 | (N32_FPU_FD1_F2OP << 6) \
-			 | (N32_FPU_FD1_F2OP_ ## sub << 10))
-  {"fd2s",    "=fst,%fda",	FD1_F2OP (FD2S),    4, ATTR (FPU) | ATTR (FPU_SP_EXT) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fsqrtd",  "=fdt,%fda",	FD1_F2OP (FSQRTD),  4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fabsd",   "=fdt,%fda",	FD1_F2OP (FABSD),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fui2d",   "=fdt,%fsa",	FD1_F2OP (FUI2D),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fsi2d",   "=fdt,%fsa",	FD1_F2OP (FSI2D),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fd2ui",   "=fst,%fda",	FD1_F2OP (FD2UI),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  /* seg-FPU_FS2.  */
+  {"fcmpeqs", "=fst,%fsa,%fsb",		FS2 (FCMPEQS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcmpeqs.e", "=fst,%fsa,%fsb",	FS2 (FCMPEQS_E), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcmplts", "=fst,%fsa,%fsb",		FS2 (FCMPLTS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcmplts.e", "=fst,%fsa,%fsb",	FS2 (FCMPLTS_E), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcmples", "=fst,%fsa,%fsb",		FS2 (FCMPLES), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcmples.e", "=fst,%fsa,%fsb",	FS2 (FCMPLES_E), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcmpuns", "=fst,%fsa,%fsb",		FS2 (FCMPUNS), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  {"fcmpuns.e", "=fst,%fsa,%fsb",	FS2 (FCMPUNS_E), 4, ATTR (FPU) | ATTR (FPU_SP_EXT), 0, NULL, 0, NULL},
+  /* seg-FPU_FD1.  */
+  {"faddd", "=fdt,%fda,%fdb",	FD1 (FADDD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fsubd", "=fdt,%fda,%fdb",	FD1 (FSUBD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcpynsd", "=fdt,%fda,%fdb",	FD1 (FCPYNSD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcpysd", "=fdt,%fda,%fdb",	FD1 (FCPYSD), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fmaddd", "=fdt,%fda,%fdb",	FD1 (FMADDD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fmsubd", "=fdt,%fda,%fdb",	FD1 (FMSUBD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcmovnd", "=fdt,%fda,%fsb",	FD1 (FCMOVND), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcmovzd", "=fdt,%fda,%fsb",	FD1 (FCMOVZD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fnmaddd", "=fdt,%fda,%fdb",	FD1 (FNMADDD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fnmsubd", "=fdt,%fda,%fdb",	FD1 (FNMSUBD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fmuld", "=fdt,%fda,%fdb",	FD1 (FMULD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fdivd", "=fdt,%fda,%fdb",	FD1 (FDIVD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  /* seg-FPU_FD1_F2OP.  */
+  {"fd2s", "=fst,%fda",		FD1_F2OP (FD2S), 4, ATTR (FPU) | ATTR (FPU_SP_EXT) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fsqrtd", "=fdt,%fda",	FD1_F2OP (FSQRTD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fabsd", "=fdt,%fda",	FD1_F2OP (FABSD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fui2d", "=fdt,%fsa",	FD1_F2OP (FUI2D), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fsi2d", "=fdt,%fsa",	FD1_F2OP (FSI2D), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fd2ui", "=fst,%fda",	FD1_F2OP (FD2UI), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
   {"fd2ui.z", "=fst,%fda",	FD1_F2OP (FD2UI_Z), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fd2si",   "=fst,%fda",	FD1_F2OP (FD2SI),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fd2si", "=fst,%fda",	FD1_F2OP (FD2SI), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
   {"fd2si.z", "=fst,%fda",	FD1_F2OP (FD2SI_Z), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-
-#define FD2(sub)	(OP6 (COP) | N32_FPU_FD2 | (N32_FPU_FD2_ ## sub << 6))
-  {"fcmpeqd",   "=fst,%fda,%fdb", FD2 (FCMPEQD),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcmpltd",   "=fst,%fda,%fdb", FD2 (FCMPLTD),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcmpled",   "=fst,%fda,%fdb", FD2 (FCMPLED),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcmpund",   "=fst,%fda,%fdb", FD2 (FCMPUND),   4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcmpeqd.e", "=fst,%fda,%fdb", FD2 (FCMPEQD_E), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcmpltd.e", "=fst,%fda,%fdb", FD2 (FCMPLTD_E), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcmpled.e", "=fst,%fda,%fdb", FD2 (FCMPLED_E), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-  {"fcmpund.e", "=fst,%fda,%fdb", FD2 (FCMPUND_E), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
-
-#define MFCP(sub)	(OP6 (COP) | N32_FPU_MFCP | (N32_FPU_MFCP_ ## sub << 6))
-  {"fmfsr",   "=rt,%fsa", MFCP (FMFSR),   4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fmfdr",   "=rt,%fda", MFCP (FMFDR),   4, ATTR (FPU), 0, NULL, 0, NULL},
-
-#define MFCP_XR(sub)	(OP6 (COP) | N32_FPU_MFCP | (N32_FPU_MFCP_XR << 6) \
-			 | (N32_FPU_MFCP_XR_ ## sub << 10))
-  {"fmfcfg", "=rt"	, MFCP_XR(FMFCFG), 4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fmfcsr", "=rt"	, MFCP_XR(FMFCSR), 4, ATTR (FPU), 0, NULL, 0, NULL},
-
-#define MTCP(sub)	(OP6 (COP) | N32_FPU_MTCP | (N32_FPU_MTCP_ ## sub << 6))
-  {"fmtsr",   "%rt,=fsa", MTCP (FMTSR),   4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fmtdr",   "%rt,=fda", MTCP (FMTDR),   4, ATTR (FPU), 0, NULL, 0, NULL},
-
-#define MTCP_XR(sub)	(OP6 (COP) | N32_FPU_MTCP | (N32_FPU_MTCP_XR << 6) \
-			 | (N32_FPU_MTCP_XR_ ## sub << 10))
-  {"fmtcsr", "%rt"	, MTCP_XR(FMTCSR), 4, ATTR (FPU), 0, NULL, 0, NULL},
-
-#define FPU_MEM(sub)		(OP6 (COP) | N32_FPU_ ## sub)
-#define FPU_MEMBI(sub)	(OP6 (COP) | N32_FPU_ ## sub | 0x2 << 6)
-#define FPU_RA_IMMBI(sub)	(OP6 (sub) | __BIT (12))
-  {"fls",     "=fst,[%ra+(%rb<<%sv)]", FPU_MEM (FLS),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fls",     "=fst,[%ra+%rb{<<%sv}]", FPU_MEM (FLS),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fls.bi",  "=fst,[%ra],(%rb<<%sv)", FPU_MEMBI (FLS),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fls.bi",  "=fst,[%ra],%rb{<<%sv}", FPU_MEMBI (FLS),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fss",     "=fst,[%ra+(%rb<<%sv)]", FPU_MEM (FSS),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fss",     "=fst,[%ra+%rb{<<%sv}]", FPU_MEM (FSS),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fss.bi",  "=fst,[%ra],(%rb<<%sv)", FPU_MEMBI (FSS),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fss.bi",  "=fst,[%ra],%rb{<<%sv}", FPU_MEMBI (FSS),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fld",     "=fdt,[%ra+(%rb<<%sv)]", FPU_MEM (FLD),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fld",     "=fdt,[%ra+%rb{<<%sv}]", FPU_MEM (FLD),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fld.bi",  "=fdt,[%ra],(%rb<<%sv)", FPU_MEMBI (FLD),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fld.bi",  "=fdt,[%ra],%rb{<<%sv}", FPU_MEMBI (FLD),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fsd",     "=fdt,[%ra+(%rb<<%sv)]", FPU_MEM (FSD),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fsd",     "=fdt,[%ra+%rb{<<%sv}]", FPU_MEM (FSD),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fsd.bi",  "=fdt,[%ra],(%rb<<%sv)", FPU_MEMBI (FSD),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fsd.bi",  "=fdt,[%ra],%rb{<<%sv}", FPU_MEMBI (FSD),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"flsi",    "=fst,[%ra{+%i12s2}]",   OP6 (LWC),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"flsi.bi", "=fst,[%ra],%i12s2",     FPU_RA_IMMBI (LWC),4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fssi",    "=fst,[%ra{+%i12s2}]",   OP6 (SWC),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fssi.bi", "=fst,[%ra],%i12s2",     FPU_RA_IMMBI (SWC),4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fldi",    "=fdt,[%ra{+%i12s2}]",   OP6 (LDC),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fldi.bi", "=fdt,[%ra],%i12s2",     FPU_RA_IMMBI (LDC),4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fsdi",    "=fdt,[%ra{+%i12s2}]",   OP6 (SDC),	  4, ATTR (FPU), 0, NULL, 0, NULL},
-  {"fsdi.bi", "=fdt,[%ra],%i12s2",     FPU_RA_IMMBI (SDC),4, ATTR (FPU), 0, NULL, 0, NULL},
-
-  /* AEXT */
-
-  {"lbi", "=rt,[%ra{+%i15s}]",			OP6 (LBI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lhi", "=rt,[%ra{+%i15s1}]",			OP6 (LHI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lwi", "=rt,[%ra{+%i15s2}]",			OP6 (LWI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lbi.bi", "=rt,[%ra],%i15s",			OP6 (LBI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lhi.bi", "=rt,[%ra],%i15s1",		OP6 (LHI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lwi.bi", "=rt,[%ra],%i15s2",		OP6 (LWI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sbi", "%rt,[%ra{+%i15s}]",			OP6 (SBI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"shi", "%rt,[%ra{+%i15s1}]",			OP6 (SHI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"swi", "%rt,[%ra{+%i15s2}]",			OP6 (SWI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sbi.bi", "%rt,[%ra],%i15s",			OP6 (SBI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"shi.bi", "%rt,[%ra],%i15s1",		OP6 (SHI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"swi.bi", "%rt,[%ra],%i15s2",		OP6 (SWI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lbsi", "=rt,[%ra{+%i15s}]",			OP6 (LBSI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lhsi", "=rt,[%ra{+%i15s1}]",		OP6 (LHSI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lwsi", "=rt,[%ra{+%i15s2}]",		OP6 (LWSI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lbsi.bi", "=rt,[%ra],%i15s",		OP6 (LBSI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lhsi.bi", "=rt,[%ra],%i15s1",		OP6 (LHSI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"lwsi.bi", "=rt,[%ra],%i15s2",		OP6 (LWSI_BI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"cplwi", "%cp,=cprt,[%ra{+%i12s2}]",		OP6 (LWC), 4, 0, 0, NULL, 0, NULL},
-  {"cpswi", "%cp,=cprt,[%ra{+%i12s2}]",		OP6 (SWC), 4, 0, 0, NULL, 0, NULL},
-  {"cpldi", "%cp,%cprt,[%ra{+%i12s2}]",		OP6 (LDC), 4, 0, 0, NULL, 0, NULL},
-  {"cpsdi", "%cp,%cprt,[%ra{+%i12s2}]",		OP6 (SDC), 4, 0, 0, NULL, 0, NULL},
-  {"cplwi.bi", "%cp,=cprt,[%ra],%i12s2",	OP6 (LWC) | __BIT (12), 4, 0, 0, NULL, 0, NULL},
-  {"cpswi.bi", "%cp,=cprt,[%ra],%i12s2",	OP6 (SWC) | __BIT (12), 4, 0, 0, NULL, 0, NULL},
-  {"cpldi.bi", "%cp,%cprt,[%ra],%i12s2",	OP6 (LDC) | __BIT (12), 4, 0, 0, NULL, 0, NULL},
-  {"cpsdi.bi", "%cp,%cprt,[%ra],%i12s2",	OP6 (SDC) | __BIT (12), 4, 0, 0, NULL, 0, NULL},
-  {"movi", "=rt,%i20s",				OP6 (MOVI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sethi", "=rt,%i20u",			OP6 (SETHI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"addi", "=rt,%ra,%i15s",			OP6 (ADDI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"subri", "=rt,%ra,%i15s",			OP6 (SUBRI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"andi", "=rt,%ra,%i15u",			OP6 (ANDI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"xori", "=rt,%ra,%i15u",			OP6 (XORI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"ori", "=rt,%ra,%i15u",			OP6 (ORI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"slti", "=rt,%ra,%i15s",			OP6 (SLTI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sltsi", "=rt,%ra,%i15s",			OP6 (SLTSI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"bitci", "=rt,%ra,%i15u",			OP6 (BITCI), 4, ATTR_V3, 0, NULL, 0, NULL},
-  {"dprefi.w", "%dpref_st,[%ra{+%i15s2]}",	OP6 (DPREFI), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
-  {"dprefi.d", "%dpref_st,[%ra{+%i15s3]}",	OP6 (DPREFI) | __BIT (24), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  /* seg-FPU_FD2.  */
+  {"fcmpeqd", "=fst,%fda,%fdb",		FD2 (FCMPEQD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcmpeqd.e", "=fst,%fda,%fdb",	FD2 (FCMPEQD_E), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcmpltd", "=fst,%fda,%fdb",		FD2 (FCMPLTD), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcmpltd.e", "=fst,%fda,%fdb",	FD2 (FCMPLTD_E), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcmpled", "=fst,%fda,%fdb",		FD2 (FCMPLED), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcmpled.e", "=fst,%fda,%fdb",	FD2 (FCMPLED_E), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcmpund", "=fst,%fda,%fdb",		FD2 (FCMPUND), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  {"fcmpund.e", "=fst,%fda,%fdb",	FD2 (FCMPUND_E), 4, ATTR (FPU) | ATTR (FPU_DP_EXT), 0, NULL, 0, NULL},
+  /* seg-FPU_MFCP.  */
+  {"fmfsr", "=rt,%fsa",	MFCP (FMFSR), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fmfdr", "=rt,%fda",	MFCP (FMFDR), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-FPU_MFCP_XR.  */
+  {"fmfcfg", "=rt",	MFCP_XR(FMFCFG), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fmfcsr", "=rt",	MFCP_XR(FMFCSR), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-FPU_MTCP.  */
+
+  {"fmtsr", "%rt,=fsa",	MTCP (FMTSR), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fmtdr", "%rt,=fda",	MTCP (FMTDR), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-FPU_MTCP_XR.  */
+  {"fmtcsr", "%rt",	MTCP_XR(FMTCSR), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-FPU_FLS.  */
+  {"fls", "=fst,[%ra+(%rb<<%sv)]",	FPU_MEM(FLS), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fls.bi", "=fst,[%ra],(%rb<<%sv)",	FPU_MEMBI(FLS), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-FPU_FLD.  */
+  {"fld", "=fdt,[%ra+(%rb<<%sv)]",	FPU_MEM(FLD), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fld.bi", "=fdt,[%ra],(%rb<<%sv)",	FPU_MEMBI(FLD), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-FPU_FSS.  */
+  {"fss", "=fst,[%ra+(%rb<<%sv)]",	FPU_MEM(FSS), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fss.bi", "=fst,[%ra],(%rb<<%sv)",	FPU_MEMBI(FSS), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  /* seg-FPU_FSD.  */
+  {"fsd", "=fdt,[%ra+(%rb<<%sv)]",	FPU_MEM(FSD), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fsd.bi", "=fdt,[%ra],(%rb<<%sv)",	FPU_MEMBI(FSD), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fls", "=fst,[%ra+%rb{<<%sv}]",	FPU_MEM(FLS), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fls.bi", "=fst,[%ra],%rb{<<%sv}",	FPU_MEMBI(FLS), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fld", "=fdt,[%ra+%rb{<<%sv}]",	FPU_MEM(FLD), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fld.bi", "=fdt,[%ra],%rb{<<%sv}",	FPU_MEMBI(FLD), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fss", "=fst,[%ra+%rb{<<%sv}]",	FPU_MEM(FSS), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fss.bi", "=fst,[%ra],%rb{<<%sv}",	FPU_MEMBI(FSS), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fsd", "=fdt,[%ra+%rb{<<%sv}]",	FPU_MEM(FSD), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"fsd.bi", "=fdt,[%ra],%rb{<<%sv}",	FPU_MEMBI(FSD), 4, ATTR (FPU), 0, NULL, 0, NULL},
+  {"cctl", "%ra,%cctl_st0",		MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"cctl", "%ra,%cctl_st1{,%cctl_lv}",	MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"cctl", "=rt,%ra,%cctl_st2",		MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"cctl", "%rt,%ra,%cctl_st3",		MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"cctl", "%cctl_st4",			MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  {"cctl", "%cctl_st5{,%cctl_lv}",	MISC (CCTL), 4, ATTR_V3, 0, NULL, 0, NULL},
+  {"cctl", "=rt,%ra,%cctl_stx,%cctl_lv",	MISC (CCTL), 4, ATTR_V3MEX_V1, 0, NULL, 0, NULL},
+  /* seg-Alias instructions.  */
+  {"neg", "=rt,%ra",	OP6 (SUBRI), 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"zeb", "=rt,%ra",	OP6 (ANDI) | 0xff, 4, ATTR_ALL, 0, NULL, 0, NULL},
+
+  /* seg-COP.  */
+  {"cpe1", "%cp45,%cpi19",	OP6 (COP) | 0x00, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"cpe2", "%cp45,%cpi19",	OP6 (COP) | 0x04, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"cpe3", "%cp45,%cpi19",	OP6 (COP) | 0x08, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"cpe4", "%cp45,%cpi19",	OP6 (COP) | 0x0C, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-COP-MFCPX.  */
+  {"mfcpw", "%cp45,=rt,%i12u",	OP6 (COP) | 0x01, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"mfcpd", "%cp45,=rt,%i12u",	OP6 (COP) | 0x41, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"mfcppw", "%cp45,=rt,%i12u",	OP6 (COP) | 0xc1, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-COP-CPLW.  */
+  {"cplw", "%cp45,%cprt,[%ra+%rb<<%sv]",	OP6 (COP) | 0x02, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"cplw.bi", "%cp45,%cprt,[%ra],%rb<<%sv",	OP6 (COP) | 0x82, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-COP-CPLD.  */
+  {"cpld", "%cp45,%cprt,[%ra+%rb<<%sv]",	OP6 (COP) | 0x03, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"cpld.bi", "%cp45,%cprt,[%ra],%rb<<%sv",	OP6 (COP) | 0x83, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-COP-MTCPX.  */
+  {"mtcpw", "%cp45,%rt,%i12u",	OP6 (COP) | 0x09, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"mtcpd", "%cp45,%rt,%i12u",	OP6 (COP) | 0x49, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"mtcppw", "%cp45,%rt,%i12u",	OP6 (COP) | 0xc9, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-COP-CPSW.  */
+  {"cpsw", "%cp45,%cprt,[%ra+%rb<<%sv]",	OP6 (COP) | 0x0a, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"cpsw.bi", "%cp45,%cprt,[%ra],%rb<<%sv",	OP6 (COP) | 0x8a, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  /* seg-COP-CPSD.  */
+  {"cpsd", "%cp45,%cprt,[%ra+%rb<<%sv]",	OP6 (COP) | 0x0b, 4, ATTR_ALL, 0, NULL, 0, NULL},
+  {"cpsd.bi", "%cp45,%cprt,[%ra],%rb<<%sv",	OP6 (COP) | 0x8b, 4, ATTR_ALL, 0, NULL, 0, NULL},
 
   /* 16-bit instructions.  */
-  {"mov55", "=rt5,%ra5",		0x8000, 2, ATTR_ALL, 0, NULL, 0, NULL},	/* mov55, $sp, $sp == ifret */
-  {"ifret16", "",			0x83ff, 2, ATTR (IFC_EXT), 0, NULL, 0, NULL},
-  {"movi55", "=rt5,%i5s",		0x8400, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"add45", "=rt4,%ra5",		0x8800, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sub45", "=rt4,%ra5",		0x8a00, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"addi45", "=rt4,%i5u",		0x8c00, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"subi45", "=rt4,%i5u",		0x8e00, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"srai45", "=rt4,%i5u",		0x9000, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"srli45", "=rt4,%i5u",		0x9200, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"slli333", "=rt3,%ra3,%i3u",		0x9400, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"zeb33", "=rt3,%ra3",		0x9600, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"zeh33", "=rt3,%ra3",		0x9601, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"seb33", "=rt3,%ra3",		0x9602, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"seh33", "=rt3,%ra3",		0x9603, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"xlsb33", "=rt3,%ra3",		0x9604, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"x11b33", "=rt3,%ra3",		0x9605, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"bmski33", "=rt3,%ia3u",		0x9606, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"fexti33", "=rt3,%ia3u",		0x9607, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"add333", "=rt3,%ra3,%rb3",		0x9800, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"sub333", "=rt3,%ra3,%rb3",		0x9a00, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"addi333", "=rt3,%ra3,%i3u",		0x9c00, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"subi333", "=rt3,%ra3,%i3u",		0x9e00, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  /* get bit14~bit11 of 16-bit instruction.  */
+  {"beqz38", "%rt38,%i8s1",	0xc000, 2, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"bnez38", "%rt38,%i8s1",	0xc800, 2, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  {"beqs38", "%rt38,%i8s1",	0xd000, 2, ATTR_PCREL | ATTR_ALL, USE_REG (5), NULL, 0, NULL},
+  {"bnes38", "%rt38,%i8s1",	0xd800, 2, ATTR_PCREL | ATTR_ALL, USE_REG (5), NULL, 0, NULL},
+
+  /* SEG00, get bit10.  */
+  {"mov55", "=rt5,%ra5",	0x8000, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"movi55", "=rt5,%i5s",	0x8400, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  /* SEG01  bit10~bit9.  */
+  {"add45", "=rt4,%ra5",	0x8800, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sub45", "=rt4,%ra5",	0x8a00, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"addi45", "=rt4,%i5u",	0x8c00, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"subi45", "=rt4,%i5u",	0x8e00, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  /* SEG02  bit10~bit9.  */
+  {"srai45", "=rt4,%i5u",	0x9000, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"srli45", "=rt4,%i5u",	0x9200, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"slli333", "=rt3,%ra3,%i3u",	0x9400, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  /* SEG03  bit10~bit9.  */
+  {"add333", "=rt3,%ra3,%rb3",	0x9800, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"sub333", "=rt3,%ra3,%rb3",	0x9a00, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"addi333", "=rt3,%ra3,%i3u",	0x9c00, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"subi333", "=rt3,%ra3,%i3u",	0x9e00, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  /* SEG04  bit10~bit9.  */
   {"lwi333", "=rt3,[%ra3{+%i3u2}]",	0xa000, 2, ATTR_ALL, 0, NULL, 0, NULL},
   {"lwi333.bi", "=rt3,[%ra3],%i3u2",	0xa200, 2, ATTR_ALL, 0, NULL, 0, NULL},
   {"lhi333", "=rt3,[%ra3{+%i3u1}]",	0xa400, 2, ATTR_ALL, 0, NULL, 0, NULL},
   {"lbi333", "=rt3,[%ra3{+%i3u}]",	0xa600, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  /* SEG05  bit10~bit9.  */
   {"swi333", "%rt3,[%ra3{+%i3u2}]",	0xa800, 2, ATTR_ALL, 0, NULL, 0, NULL},
   {"swi333.bi", "%rt3,[%ra3],%i3u2",	0xaa00, 2, ATTR_ALL, 0, NULL, 0, NULL},
   {"shi333", "%rt3,[%ra3{+%i3u1}]",	0xac00, 2, ATTR_ALL, 0, NULL, 0, NULL},
   {"sbi333", "%rt3,[%ra3{+%i3u}]",	0xae00, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"addri36.sp", "%rt3,%i6u2",		0xb000, 2, ATTR_V3MUP, USE_REG (31), NULL, 0, NULL},
-  {"lwi45.fe", "=rt4,%fe5",		0xb200, 2, ATTR_V3MUP, USE_REG (8), NULL, 0, NULL},
-  {"lwi450", "=rt4,[%ra5]",		0xb400, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"swi450", "%rt4,[%ra5]",		0xb600, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  /* SEG06  bit10~bit9.  */
+  {"addri36.sp", "%rt3,%i6u2",	0xb000, 2, ATTR_V3MUP, USE_REG (31), NULL, 0, NULL},
+  {"lwi45.fe", "=rt4,%fe5",	0xb200, 2, ATTR_V3MUP, USE_REG (8), NULL, 0, NULL},
+  {"lwi450", "=rt4,[%ra5]",	0xb400, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"swi450", "%rt4,[%ra5]",	0xb600, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  /* SEG07  bit7.  */
   {"lwi37", "=rt38,[$fp{+%i7u2}]",	0xb800, 2, ATTR_ALL, USE_REG (28), NULL, 0, NULL},
   {"swi37", "%rt38,[$fp{+%i7u2}]",	0xb880, 2, ATTR_ALL, USE_REG (28), NULL, 0, NULL},
-  {"beqz38", "%rt38,%i8s1",		0xc000, 2, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"bnez38", "%rt38,%i8s1",		0xc800, 2, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"beqs38", "%rt38,%i8s1",		0xd000, 2, ATTR_PCREL | ATTR_ALL, USE_REG (5), NULL, 0, NULL},
-  {"j8", "%i8s1",			0xd500, 2, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
-  {"bnes38", "%rt38,%i8s1",		0xd800, 2, ATTR_PCREL | ATTR_ALL, USE_REG (5), NULL, 0, NULL},
-  {"jr5", "%ra5",			0xdd00, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"ex9.it", "%i5u",			0xdd40, 2, ATTR (EX9_EXT), 0, NULL, 0, NULL},
-  {"ret5", "%ra5",			0xdd80, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"ret5", "",				0xdd80 | RA5 (30), 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"jral5", "%ra5",			0xdd20, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"add5.pc", "%ra5",			0xdda0, 2, ATTR_V3, 0, NULL, 0, NULL},
-  {"slts45", "%rt4,%ra5",		0xe000, 2, ATTR_ALL, DEF_REG (15), NULL, 0, NULL},
-  {"slt45", "%rt4,%ra5",		0xe200, 2, ATTR_ALL, DEF_REG (15), NULL, 0, NULL},
-  {"sltsi45", "%rt4,%i5u",		0xe400, 2, ATTR_ALL, DEF_REG (15), NULL, 0, NULL},
-  {"slti45", "%rt4,%i5u",		0xe600, 2, ATTR_ALL, DEF_REG (15), NULL, 0, NULL},
-  {"beqzs8", "%i8s1",			0xe800, 2, ATTR_PCREL | ATTR_ALL, USE_REG (5), NULL, 0, NULL},
-  {"bnezs8", "%i8s1",			0xe900, 2, ATTR_PCREL | ATTR_ALL, USE_REG (5), NULL, 0, NULL},
-  {"ex9.it", "%i9u",			0xea00, 2, ATTR (EX9_EXT), 0, NULL, 0, NULL},
-  {"break16", "%i9u",			0xea00, 2, ATTR_ALL, 0, NULL, 0, NULL},
-  {"addi10.sp", "%i10s",		0xec00, 2, ATTR_V2UP, USE_REG (31) | DEF_REG (31), NULL, 0, NULL},
+  /* SEG10_1 if Rt3=5.  */
+  {"j8", "%i8s1",	0xd500, 2, ATTR_PCREL | ATTR_ALL, 0, NULL, 0, NULL},
+  /* SEG11_2  bit7~bit5.  */
+  {"jr5", "%ra5",	0xdd00, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"jral5", "%ra5",	0xdd20, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"ex9.it", "%i5u",	0xdd40, 2, ATTR (EX9_EXT), 0, NULL, 0, NULL},
+  {"ret5", "%ra5",	0xdd80, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"add5.pc", "%ra5",	0xdda0, 2, ATTR_V3, 0, NULL, 0, NULL},
+  /* SEG11_3  if Ra5=30.  */
+  {"ret5", "",	0xdd80 | RA5 (30), 2, ATTR_ALL, 0, NULL, 0, NULL},
+  /* SEG12  bit10~bit9.  */
+  {"slts45", "%rt4,%ra5",	0xe000, 2, ATTR_ALL, DEF_REG (15), NULL, 0, NULL},
+  {"slt45", "%rt4,%ra5",	0xe200, 2, ATTR_ALL, DEF_REG (15), NULL, 0, NULL},
+  {"sltsi45", "%rt4,%i5u",	0xe400, 2, ATTR_ALL, DEF_REG (15), NULL, 0, NULL},
+  {"slti45", "%rt4,%i5u",	0xe600, 2, ATTR_ALL, DEF_REG (15), NULL, 0, NULL},
+  /* SEG13  bit10~bit9.  */
+  {"break16", "%i5u",	0xea00, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"addi10.sp", "%i10s",	0xec00, 2, ATTR_V2UP, USE_REG (31) | DEF_REG (31), NULL, 0, NULL},
+  {"addi10.sp", "%i10s",	0xec00, 2, ATTR_V2UP, USE_REG (31) | DEF_REG (31), NULL, 0, NULL},
+  /* SEG13_1  bit8.  */
+  {"beqzs8", "%i8s1",	0xe800, 2, ATTR_PCREL | ATTR_ALL, USE_REG (15), NULL, 0, NULL},
+  {"bnezs8", "%i8s1",	0xe900, 2, ATTR_PCREL | ATTR_ALL, USE_REG (15), NULL, 0, NULL},
+  /* SEG13_2  bit8~bit5.  */
+  {"ex9.it", "%i9u",	0xea00, 2, ATTR (EX9_EXT), 0, NULL, 0, NULL},
+  /* SEG14  bit7.  */
   {"lwi37.sp", "=rt38,[+%i7u2]",	0xf000, 2, ATTR_V2UP, USE_REG (31), NULL, 0, NULL},
   {"swi37.sp", "%rt38,[+%i7u2]",	0xf080, 2, ATTR_V2UP, USE_REG (31), NULL, 0, NULL},
-  {"ifcall9", "%i9u1",			0xf800, 2, ATTR (IFC_EXT), 0, NULL, 0, NULL},
-  {"movpi45", "=rt4,%pi5",		0xfa00, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"push25", "%re2,%i5u3",		0xfc00, 2, ATTR_V3MUP, USE_REG (31) | DEF_REG (31), NULL, 0, NULL},
-  {"pop25", "%re2,%i5u3",		0xfc80, 2, ATTR_V3MUP, USE_REG (31) | DEF_REG (31), NULL, 0, NULL},
-  {"movd44", "=rt5e,%ra5e",		0xfd00, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"neg33", "=rt3,%ra3",		0xfe02, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"not33", "=rt3,%ra3",		0xfe03, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"mul33", "=rt3,%ra3",		0xfe04, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"xor33", "=rt3,%ra3",		0xfe05, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"and33", "=rt3,%ra3",		0xfe06, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-  {"or33", "=rt3,%ra3",			0xfe07, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
-
-  /* Alias instructions.  */
-  {"neg", "=rt,%ra",			OP6 (SUBRI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"zeb", "=rt,%ra",			OP6 (ANDI) | 0xff, 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"nop", "",				ALU1 (SRLI), 4, ATTR_ALL, 0, NULL, 0, NULL},
-  {"nop16", "",				0x9200, 2, ATTR_ALL, 0, NULL, 0, NULL},
-
-  /* TODO: For some instruction, an operand may refer to a pair of
-	   register, e.g., mulsr64 or movd44.
-
-     Some instruction need special constrain, e.g., movpi45,
-	  break16, ex9.it.  */
+  /* SEG15  bit10~bit9.  */
+  {"ifcall9", "%i9u1",	0xf800, 2, ATTR (IFC_EXT), 0, NULL, 0, NULL},
+  {"movpi45", "=rt4,%pi5",	0xfa00, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+  /* SEG15_1  bit8.  */
+  {"movd44", "=rt5e,%ra5e",	0xfd00, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+
+  /* SEG-BFMI333 bit2~bit0.  */
+  {"zeb33", "=rt3,%ra3",	0x9600, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"zeh33", "=rt3,%ra3",	0x9601, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"seb33", "=rt3,%ra3",	0x9602, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"seh33", "=rt3,%ra3",	0x9603, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"xlsb33", "=rt3,%ra3",	0x9604, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"x11b33", "=rt3,%ra3",	0x9605, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"bmski33", "=rt3,%ia3u",	0x9606, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+  {"fexti33", "=rt3,%ia3u",	0x9607, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+  /* SEG-PUSHPOP25 bit8~bit7.  */
+  {"push25", "%re2,%i5u3",	0xfc00, 2, ATTR_V3MUP, USE_REG (31) | DEF_REG (31), NULL, 0, NULL},
+  {"pop25", "%re2,%i5u3",	0xfc80, 2, ATTR_V3MUP, USE_REG (31) | DEF_REG (31), NULL, 0, NULL},
+  /* SEG-MISC33 bit2~bit0.  */
+  {"neg33", "=rt3,%ra3",	0xfe02, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+  {"not33", "=rt3,%ra3",	0xfe03, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+  {"mul33", "=rt3,%ra3",	0xfe04, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+  {"xor33", "=rt3,%ra3",	0xfe05, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+  {"and33", "=rt3,%ra3",	0xfe06, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+  {"or33", "=rt3,%ra3",	0xfe07, 2, ATTR_V3MUP, 0, NULL, 0, NULL},
+  /* SEG-Alias instructions.  */
+  {"nop16", "",	0x9200, 2, ATTR_ALL, 0, NULL, 0, NULL},
+  {"ifret16", "",	0x83ff, 2, ATTR (IFC_EXT), 0, NULL, 0, NULL},
+
+  /* Saturation ext ISA.  */
+  {"kaddw", "=rt,%ra,%rb",	ALU2 (KADD), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"ksubw", "=rt,%ra,%rb",	ALU2 (KSUB), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"kaddh", "=rt,%ra,%rb",	ALU2 (KADD) | __BIT (6), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"ksubh", "=rt,%ra,%rb",	ALU2 (KSUB) | __BIT (6), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"kdmbb", "=rt,%ra,%rb",	ALU2 (KMxy), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"kdmbt", "=rt,%ra,%rb",	ALU2 (KMxy) | __BIT (6), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"kdmtb", "=rt,%ra,%rb",	ALU2 (KMxy) | __BIT (7), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"kdmtt", "=rt,%ra,%rb",	ALU2 (KMxy) | __BIT (6) | __BIT (7), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"khmbb", "=rt,%ra,%rb",	ALU2 (KMxy) | __BIT (8), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"khmbt", "=rt,%ra,%rb",	ALU2 (KMxy) | __BIT (8) | __BIT (6), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"khmtb", "=rt,%ra,%rb",	ALU2 (KMxy) | __BIT (8) | __BIT (7), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"khmtt", "=rt,%ra,%rb",	ALU2 (KMxy) | __BIT (8) | __BIT (6) | __BIT (7), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"kslraw", "=rt,%ra,%rb",	ALU2 (KSLRA), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"rdov", "=rt",		ALU2 (MFUSR) | __BIT (6) | ( 0x1e << 15), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+  {"clrov", "",			ALU2 (MTUSR) | __BIT (6) | ( 0x1e << 15), 4, ATTR (SATURATION_EXT), 0, NULL, 0, NULL},
+
+  /* Audio ext. instructions.  */
+
+  {"amtari", "%aridxi,%imm16", AUDIO (AMTARI), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMADD */
+  {"alr2", "=a_rt,=a_ru,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMADD) | (0x1 << 6), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amaddl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMADD) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amaddl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMADD) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amaddl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMADD) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amaddl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMADD) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amaddsa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMADD) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"alr", "=a_rt,[%im5_i],%im5_m", AUDIO (AMADD) | (0x01 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amadd", "=a_dx,%ra,%rb", AUDIO (AMADD), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabbs", "=a_dx,%ra,%rb", AUDIO (AMADD) | 0x01, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMSUB */
+  {"amsubl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMSUB) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsubl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMSUB) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsubl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMSUB) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsubl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMSUB) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsubsa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMSUB) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"asr", "%ra,[%im5_i],%im5_m", AUDIO (AMSUB) | (0x01 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsub", "=a_dx,%ra,%rb", AUDIO (AMSUB), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabts", "=a_dx,%ra,%rb", AUDIO (AMSUB) |0x01, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMULT */
+  {"amultl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMULT) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amultl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMULT) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amultl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMULT) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amultl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMULT) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amultsa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMULT) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ala", "=dxh,[%im5_i],%im5_m", AUDIO (AMULT) | (0x01 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amult", "=a_dx,%ra,%rb", AUDIO (AMULT), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amatbs", "=a_dx,%ra,%rb", AUDIO (AMULT) |0x01, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"asats48", "=a_dx", AUDIO (AMULT) | (0x02 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"awext", "%ra,%a_dx,%i5u", AUDIO (AMULT) | (0x03 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMFAR */
+  {"amatts", "=a_dx,%ra,%rb", AUDIO (AMFAR) | 0x01, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"asa", "=dxh,[%im5_i],%im5_m", AUDIO (AMFAR) | (0x01 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amtar", "%ra,%aridx", AUDIO (AMFAR) | (0x02 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amtar2", "%ra,%aridx2", AUDIO (AMFAR) | (0x12 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amfar", "=ra,%aridx", AUDIO (AMFAR) | (0x03 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amfar2", "=ra,%aridx2", AUDIO (AMFAR) | (0x13 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMADDS */
+  {"amaddsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMADDS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amaddsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMADDS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amaddsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMADDS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amaddsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMADDS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amaddssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMADDS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"aupi", "%im5_i,%im5_m", AUDIO (AMADDS) | (0x01 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amadds", "=a_dx,%ra,%rb", AUDIO (AMADDS), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambbs", "=a_dx,%ra,%rb", AUDIO (AMADDS) |0x01, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawbs", "=a_dx,%ra,%rb", AUDIO (AMADDS) |0x02, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMSUBS */
+  {"amsubsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMSUBS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsubsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMSUBS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsubsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMSUBS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsubsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMSUBS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsubssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMSUBS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amsubs", "=a_dx,%ra,%rb", AUDIO (AMSUBS), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambts", "=a_dx,%ra,%rb", AUDIO (AMSUBS) |0x01, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawts", "=a_dx,%ra,%rb", AUDIO (AMSUBS) |0x02, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMULTS */
+  {"amultsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMULTS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amultsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMULTS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amultsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMULTS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amultsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMULTS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amultssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMULTS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amults", "=a_dx,%ra,%rb", AUDIO (AMULTS), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amtbs", "=a_dx,%ra,%rb", AUDIO (AMULTS) |0x01, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwbs", "=a_dx,%ra,%rb", AUDIO (AMULTS) |0x02, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMNEGS */
+  {"amnegsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMNEGS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amnegsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMNEGS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amnegsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMNEGS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amnegsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMNEGS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amnegssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMNEGS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amnegs", "=a_dx,%ra,%rb", AUDIO (AMNEGS), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amtts", "=a_dx,%ra,%rb", AUDIO (AMNEGS) |0x01, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwts", "=a_dx,%ra,%rb", AUDIO (AMNEGS) |0x02, 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AADDL */
+  {"aaddl", "=a_rte69,%ra,%rb,%a_rte69_1,[%im5_i],%im5_m", AUDIO (AADDL), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"asubl", "=a_rte69,%ra,%rb,%a_rte69_1,[%im5_i],%im5_m", AUDIO (AADDL) | (0x01 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMAWBS */
+  {"amawbsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMAWBS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawbsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMAWBS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawbsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMAWBS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawbsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMAWBS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawbssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMAWBS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMAWTS */
+  {"amawtsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMAWTS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawtsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMAWTS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawtsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMAWTS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawtsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMAWTS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amawtssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMAWTS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMWBS */
+  {"amwbsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMWBS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwbsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMWBS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwbsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMWBS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwbsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMWBS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwbssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMWBS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwbssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMWBS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMWTS */
+  {"amwtsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMWTS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwtsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMWTS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwtsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMWTS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwtsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMWTS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amwtssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMWTS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMABBS */
+  {"amabbsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMABBS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabbsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMABBS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabbsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMABBS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabbsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMABBS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabbssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMABBS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMABTS */
+  {"amabtsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMABTS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabtsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMABTS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabtsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMABTS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabtsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMABTS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amabtssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMABTS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMATBS */
+  {"amatbsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMATBS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amatbsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMATBS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amatbsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMATBS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amatbsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMATBS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amatbssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMATBS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMATTS */
+  {"amattsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMATTS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amattsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMATTS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amattsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMATTS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amattsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMATTS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amattssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMATTS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMBBS */
+  {"ambbsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMBBS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambbsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMBBS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambbsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMBBS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambbsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMBBS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambbssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMBBS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMBTS */
+  {"ambtsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMBTS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambtsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMBTS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambtsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMBTS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambtsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMBTS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"ambtssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMBTS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMTBS */
+  {"amtbsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMTBS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amtbsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMTBS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amtbsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMTBS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amtbsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMTBS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amtbssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMTBS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  /* N32_AEXT_AMTTS */
+  {"amttsl.s", "=a_dx,%ra,%rb,[%im5_i],%im5_m", AUDIO (AMTTS) | (0x04 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amttsl.l", "=a_dx,%a_a30,%a_b20,%a_rt21,[%im5_i],%im5_m", AUDIO (AMTTS) | (0x06 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amttsl2.s", "=a_dx,%ra,%rb,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMTTS) | (0x08 << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amttsl2.l", "=a_dx,%a_a30,%a_b20,%a_rte,%a_rte1,[%im6_ip],[%im6_iq],%im6_mr,%im6_ms", AUDIO (AMTTS) | (0x0A << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {"amttssa", "=a_dx,%ra,%rb,%dhy,[%im5_i],%im5_m", AUDIO (AMTTS) | (0x0C << 5), 4, ATTR (AUDIO_ISAEXT), 0, NULL, 0, NULL},
+  {NULL, NULL, 0, 0, 0, 0, NULL, 0, NULL},
 };
 
-static const keyword_t keyword_gpr[] =
+const keyword_t keyword_gpr[] =
 {
+  /* Standard names.  */
   {"r0", 0, ATTR (RDREG)}, {"r1", 1, ATTR (RDREG)}, {"r2", 2, ATTR (RDREG)},
   {"r3", 3, ATTR (RDREG)}, {"r4", 4, ATTR (RDREG)}, {"r5", 5, ATTR (RDREG)},
   {"r6", 6, ATTR (RDREG)}, {"r7", 7, ATTR (RDREG)}, {"r8", 8, ATTR (RDREG)},
-  {"r9", 9, ATTR (RDREG)}, {"r10", 10, ATTR (RDREG)},
-  {"r11", 11, 0}, {"r12", 12, 0}, {"r13", 13, 0}, {"r14", 14, 0},
-  {"r15", 15, ATTR (RDREG)},
-  {"r16", 16, 0}, {"r17", 17, 0}, {"r18", 18, 0}, {"r19", 19, 0}, {"r20", 20, 0},
-  {"r21", 21, 0}, {"r22", 22, 0}, {"r23", 23, 0}, {"r24", 24, 0}, {"r25", 25, 0},
+  {"r9", 9, ATTR (RDREG)}, {"r10", 10, ATTR (RDREG)}, {"r11", 11, 0},
+  {"r12", 12, 0}, {"r13", 13, 0}, {"r14", 14, 0}, {"r15", 15, ATTR (RDREG)},
+  {"r16", 16, 0}, {"r17", 17, 0}, {"r18", 18, 0}, {"r19", 19, 0},
+  {"r20", 20, 0}, {"r21", 21, 0}, {"r22", 22, 0}, {"r23", 23, 0},
+  {"r24", 24, 0}, {"r25", 25, 0},
+  {"p0", 26, 0}, {"p1", 27, 0},
+  {"fp", 28, ATTR (RDREG)}, {"gp", 29, ATTR (RDREG)},
+  {"lp", 30, ATTR (RDREG)}, {"sp", 31, ATTR (RDREG)},
   {"r26", 26, 0}, {"r27", 27, 0},
   {"r28", 28, ATTR (RDREG)}, {"r29", 29, ATTR (RDREG)},
   {"r30", 30, ATTR (RDREG)}, {"r31", 31, ATTR (RDREG)},
-
-  {"ta", 15, ATTR (RDREG)}, {"p0", 26, 0}, {"p1", 27, 0},
-  {"fp", 28, ATTR (RDREG)}, {"gp", 29, ATTR (RDREG)},
-  {"lp", 30, ATTR (RDREG)}, {"sp", 31, ATTR (RDREG)},
-
+  /* Names for parameter passing.  */
+  {"a0", 0, ATTR (RDREG)}, {"a1", 1, ATTR (RDREG)},
+  {"a2", 2, ATTR (RDREG)}, {"a3", 3, ATTR (RDREG)},
+  {"a4", 4, ATTR (RDREG)}, {"a5", 5, ATTR (RDREG)},
+  /* Names reserved for 5-bit addressing only.  */
+  {"s0", 6, ATTR (RDREG)}, {"s1", 7, ATTR (RDREG)},
+  {"s2", 8, ATTR (RDREG)}, {"s3", 9, ATTR (RDREG)},
+  {"s4", 10, ATTR (RDREG)}, {"s5", 11, 0}, {"s6", 12, 0}, {"s7", 13, 0},
+  {"s8", 14, 0}, {"s9", 28, ATTR (RDREG)},
+  {"ta", 15, ATTR (RDREG)},
+  {"t0", 16, 0}, {"t1", 17, 0}, {"t2", 18, 0}, {"t3", 19, 0},
+  {"t4", 20, 0}, {"t5", 21, 0}, {"t6", 22, 0}, {"t7", 23, 0},
+  {"t8", 24, 0}, {"t9", 25, 0},
+  /* Names reserved for 4-bit addressing only.  */
+  {"h0", 0, ATTR (RDREG)}, {"h1", 1, ATTR (RDREG)},
+  {"h2", 2, ATTR (RDREG)}, {"h3", 3, ATTR (RDREG)},
+  {"h4", 4, ATTR (RDREG)}, {"h5", 5, ATTR (RDREG)},
+  {"h6", 6, ATTR (RDREG)}, {"h7", 7, ATTR (RDREG)},
+  {"h8", 8, ATTR (RDREG)}, {"h9", 9, ATTR (RDREG)},
+  {"h10", 10, ATTR (RDREG)}, {"h11", 11, 0},
+  {"h12", 16, 0}, {"h13", 17, 0}, {"h14", 18, 0}, {"h15", 19, 0},
+  /* Names reserved for 3-bit addressing only.  */
+  {"o0", 0, ATTR (RDREG)}, {"o1", 1, ATTR (RDREG)},
+  {"o2", 2, ATTR (RDREG)}, {"o3", 3, ATTR (RDREG)},
+  {"o4", 4, ATTR (RDREG)}, {"o5", 5, ATTR (RDREG)},
+  {"o6", 6, ATTR (RDREG)}, {"o7", 7, ATTR (RDREG)},
   {NULL, 0, 0}
 };
 
-static const keyword_t keyword_usr[] =
+const keyword_t keyword_usr[] =
 {
   {"d0.lo", USRIDX (0, 0), 0},
   {"d0.hi", USRIDX (0, 1), 0},
@@ -770,163 +1012,164 @@ static const keyword_t keyword_usr[] =
   {NULL, 0, 0}
 };
 
-static const keyword_t keyword_dxr[] =
+const keyword_t keyword_dxr[] =
 {
   {"d0", 0, 0}, {"d1", 1, 0}, {NULL, 0, 0}
 };
 
-static const keyword_t keyword_sr[] =
+const keyword_t keyword_sr[] =
 {
-  {"cr0", SRIDX (0, 0, 0), 0}, {"cpu_ver", SRIDX (0, 0, 0), 0},
-  {"cr1", SRIDX (0, 1, 0), 0}, {"icm_cfg", SRIDX (0, 1, 0), 0},
-  {"cr2", SRIDX (0, 2, 0), 0}, {"dcm_cfg", SRIDX (0, 2, 0), 0},
-  {"cr3", SRIDX (0, 3, 0), 0}, {"mmu_cfg", SRIDX (0, 3, 0), 0},
-  {"cr4", SRIDX (0, 4, 0), 0}, {"msc_cfg", SRIDX (0, 4, 0), 0},
-  {"cr5", SRIDX (0, 0, 1), 0}, {"core_id", SRIDX (0, 0, 1), 0},
-  {"cr6", SRIDX (0, 5, 0), 0}, {"fucop_exist", SRIDX (0, 5, 0), 0},
-
-  {"ir0", SRIDX (1, 0, 0), 0}, {"psw", SRIDX (1, 0, 0), 0},
-  {"ir1", SRIDX (1, 0, 1), 0}, {"ipsw", SRIDX (1, 0, 1), 0},
-  {"ir2", SRIDX (1, 0, 2), 0}, {"p_ipsw", SRIDX (1, 0, 2), 0},
-  {"ir3", SRIDX (1, 1, 1), 0}, {"ivb", SRIDX (1, 1, 1), 0},
-  {"ir4", SRIDX (1, 2, 1), 0}, {"p_eva", SRIDX (1, 2, 2), 0},
-  {"ir5", SRIDX (1, 2, 2), 0}, {"eva", SRIDX (1, 2, 1), 0},
-  {"ir6", SRIDX (1, 3, 1), 0}, {"itype", SRIDX (1, 3, 1), 0},
-  {"ir7", SRIDX (1, 3, 2), 0}, {"p_itype", SRIDX (1, 3, 2), 0},
-  {"ir8", SRIDX (1, 4, 1), 0}, {"merr", SRIDX (1, 4, 1), 0},
-  {"ir9", SRIDX (1, 5, 1), 0}, {"ipc", SRIDX (1, 5, 1), 0},
-  {"ir10", SRIDX (1, 5, 2), 0}, {"p_ipc", SRIDX (1, 5, 2), 0},
-  {"ir11", SRIDX (1, 5, 3), 0}, {"oipc", SRIDX (1, 5, 3), 0},
-  {"ir12", SRIDX (1, 6, 2), 0}, {"p_p0", SRIDX (1, 6, 2), 0},
-  {"ir13", SRIDX (1, 7, 2), 0}, {"p_p1", SRIDX (1, 7, 2), 0},
-  {"ir14", SRIDX (1, 8, 0), 0}, {"int_mask", SRIDX (1, 8, 0), 0},
-  {"ir15", SRIDX (1, 9, 0), 0}, {"int_pend", SRIDX (1, 9, 0), 0},
-  {"ir16", SRIDX (1, 10, 0), 0}, {"sp_usr", SRIDX (1, 10, 0), 0},
-  {"ir17", SRIDX (1, 10, 1), 0}, {"sp_priv", SRIDX (1, 10, 1), 0},
-  {"ir18", SRIDX (1, 11, 0), 0}, {"int_pri", SRIDX (1, 11, 0), 0},
-  {"ir19", SRIDX (1, 1, 2), 0}, {"int_ctrl", SRIDX (1, 1, 2), 0},
-  {"ir20", SRIDX (1, 10, 2), 0}, {"sp_usr1", SRIDX (1, 10, 2), 0},
-  {"ir21", SRIDX (1, 10, 3), 0}, {"sp_priv1", SRIDX (1, 10, 3), 0},
-  {"ir22", SRIDX (1, 10, 4), 0}, {"sp_usr2", SRIDX (1, 10, 4), 0},
-  {"ir23", SRIDX (1, 10, 5), 0}, {"sp_priv2", SRIDX (1, 10, 5), 0},
-  {"ir24", SRIDX (1, 10, 6), 0}, {"sp_usr3", SRIDX (1, 10, 6), 0},
-  {"ir25", SRIDX (1, 10, 7), 0}, {"sp_priv3", SRIDX (1, 10, 7), 0},
-  {"ir26", SRIDX (1, 8, 1), 0}, {"int_mask2", SRIDX (1, 8, 1), 0},
-  {"ir27", SRIDX (1, 9, 1), 0}, {"int_pend2", SRIDX (1, 9, 1), 0},
-  {"ir28", SRIDX (1, 11, 1), 0}, {"int_pri2", SRIDX (1, 11, 1), 0},
-  {"ir29", SRIDX (1, 9, 4), 0}, {"int_trigger", SRIDX (1, 9, 4), 0},
-  {"ir30", SRIDX (1, 1, 3), 0},
-
-  {"mr0", SRIDX (2, 0, 0), 0}, {"mmu_ctl", SRIDX (2, 0, 0), 0},
-  {"mr1", SRIDX (2, 1, 0), 0}, {"l1_pptb", SRIDX (2, 1, 0), 0},
-  {"mr2", SRIDX (2, 2, 0), 0}, {"tlb_vpn", SRIDX (2, 2, 0), 0},
-  {"mr3", SRIDX (2, 3, 0), 0}, {"tlb_data", SRIDX (2, 3, 0), 0},
-  {"mr4", SRIDX (2, 4, 0), 0}, {"tlb_misc", SRIDX (2, 4, 0), 0},
-  {"mr5", SRIDX (2, 5, 0), 0}, {"vlpt_idx", SRIDX (2, 5, 0), 0},
-  {"mr6", SRIDX (2, 6, 0), 0}, {"ilmb", SRIDX (2, 6, 0), 0},
-  {"mr7", SRIDX (2, 7, 0), 0}, {"dlmb", SRIDX (2, 7, 0), 0},
-  {"mr8", SRIDX (2, 8, 0), 0}, {"cache_ctl", SRIDX (2, 8, 0), 0},
-  {"mr9", SRIDX (2, 9, 0), 0}, {"hsmp_saddr", SRIDX (2, 9, 0), 0},
-  {"mr10", SRIDX (2, 9, 1), 0}, {"hsmp_eaddr", SRIDX (2, 9, 1), 0},
-  {"mr11", SRIDX (2, 0, 1), 0}, {"bg_region", SRIDX (2, 0, 1), 0},
-
-  {"pfr0", SRIDX (4, 0, 0), 0}, {"pfmc0", SRIDX (4, 0, 0), 0},
-  {"pfr1", SRIDX (4, 0, 1), 0}, {"pfmc1", SRIDX (4, 0, 1), 0},
-  {"pfr2", SRIDX (4, 0, 2), 0}, {"pfmc2", SRIDX (4, 0, 2), 0},
-  {"pfr3", SRIDX (4, 1, 0), 0}, {"pfm_ctl", SRIDX (4, 1, 0), 0},
-
-  {"dmar0", SRIDX (5, 0, 0), 0}, {"dma_cfg", SRIDX (5, 0, 0), 0},
-  {"dmar1", SRIDX (5, 1, 0), 0}, {"dma_gcsw", SRIDX (5, 1, 0), 0},
-  {"dmar2", SRIDX (5, 2, 0), 0}, {"dma_chnsel", SRIDX (5, 2, 0), 0},
-  {"dmar3", SRIDX (5, 3, 0), 0}, {"dma_act", SRIDX (5, 3, 0), 0},
-  {"dmar4", SRIDX (5, 4, 0), 0}, {"dma_setup", SRIDX (5, 4, 0), 0},
-  {"dmar5", SRIDX (5, 5, 0), 0}, {"dma_isaddr", SRIDX (5, 5, 0), 0},
-  {"dmar6", SRIDX (5, 6, 0), 0}, {"dma_esaddr", SRIDX (5, 6, 0), 0},
-  {"dmar7", SRIDX (5, 7, 0), 0}, {"dma_tcnt", SRIDX (5, 7, 0), 0},
-  {"dmar8", SRIDX (5, 8, 0), 0}, {"dma_status", SRIDX (5, 8, 0), 0},
-  {"dmar9", SRIDX (5, 9, 0), 0}, {"dma_2dset", SRIDX (5, 9, 0), 0},
-  {"dmar10", SRIDX (5, 9, 1), 0}, {"dma_2dsctl", SRIDX (5, 9, 1), 0},
-  {"dmar11", SRIDX (5, 7, 1), 0}, {"dma_rcnt", SRIDX (5, 7, 1), 0},
-  {"dmar12", SRIDX (5, 8, 1), 0}, {"dma_hstatus", SRIDX (5, 8, 1), 0},
-
-  {"idr0", SRIDX (2, 15, 0), 0}, {"sdz_ctl", SRIDX (2, 15, 0), 0},
-  {"idr1", SRIDX (2, 15, 1), 0}, {"n12misc_ctl", SRIDX (2, 15, 1), 0},
-			      {"misc_ctl", SRIDX (2, 15, 1), 0},
+  {"cpu_ver", SRIDX (0, 0, 0), 0},	{"cr0", SRIDX (0, 0, 0), 0},
+  {"icm_cfg", SRIDX (0, 1, 0), 0},	{"cr1", SRIDX (0, 1, 0), 0},
+  {"dcm_cfg", SRIDX (0, 2, 0), 0},	{"cr2", SRIDX (0, 2, 0), 0},
+  {"mmu_cfg", SRIDX (0, 3, 0), 0},	{"cr3", SRIDX (0, 3, 0), 0},
+  {"msc_cfg", SRIDX (0, 4, 0), 0},	{"cr4", SRIDX (0, 4, 0), 0},
+  {"core_id", SRIDX (0, 0, 1), 0},	{"cr5", SRIDX (0, 0, 1), 0},
+  {"fucop_exist", SRIDX (0, 5, 0), 0},	{"cr6", SRIDX (0, 5, 0), 0},
+
+  {"psw", SRIDX (1, 0, 0), 0},		{"ir0", SRIDX (1, 0, 0), 0},
+  {"ipsw", SRIDX (1, 0, 1), 0},		{"ir1", SRIDX (1, 0, 1), 0},
+  {"p_ipsw", SRIDX (1, 0, 2), 0},	{"ir2", SRIDX (1, 0, 2), 0},
+  {"ivb", SRIDX (1, 1, 1), 0},		{"ir3", SRIDX (1, 1, 1), 0},
+  {"eva", SRIDX (1, 2, 1), 0},		{"ir4", SRIDX (1, 2, 1), 0},
+  {"p_eva", SRIDX (1, 2, 2), 0},	{"ir5", SRIDX (1, 2, 2), 0},
+  {"itype", SRIDX (1, 3, 1), 0},	{"ir6", SRIDX (1, 3, 1), 0},
+  {"p_itype", SRIDX (1, 3, 2), 0},	{"ir7", SRIDX (1, 3, 2), 0},
+  {"merr", SRIDX (1, 4, 1), 0},		{"ir8", SRIDX (1, 4, 1), 0},
+  {"ipc", SRIDX (1, 5, 1), 0},		{"ir9", SRIDX (1, 5, 1), 0},
+  {"p_ipc", SRIDX (1, 5, 2), 0},	{"ir10", SRIDX (1, 5, 2), 0},
+  {"oipc", SRIDX (1, 5, 3), 0},		{"ir11", SRIDX (1, 5, 3), 0},
+  {"p_p0", SRIDX (1, 6, 2), 0},		{"ir12", SRIDX (1, 6, 2), 0},
+  {"p_p1", SRIDX (1, 7, 2), 0},		{"ir13", SRIDX (1, 7, 2), 0},
+  {"int_mask", SRIDX (1, 8, 0), 0},	{"ir14", SRIDX (1, 8, 0), 0},
+  {"int_pend", SRIDX (1, 9, 0), 0},	{"ir15", SRIDX (1, 9, 0), 0},
+  {"sp_usr", SRIDX (1, 10, 0), 0},	{"ir16", SRIDX (1, 10, 0), 0},
+  {"sp_priv", SRIDX (1, 10, 1), 0},	{"ir17", SRIDX (1, 10, 1), 0},
+  {"int_pri", SRIDX (1, 11, 0), 0},	{"ir18", SRIDX (1, 11, 0), 0},
+  {"int_ctrl", SRIDX (1, 1, 2), 0},	{"ir19", SRIDX (1, 1, 2), 0},
+  {"sp_usr1", SRIDX (1, 10, 2), 0},	{"ir20", SRIDX (1, 10, 2), 0},
+  {"sp_priv1", SRIDX (1, 10, 3), 0},	{"ir21", SRIDX (1, 10, 3), 0},
+  {"sp_usr2", SRIDX (1, 10, 4), 0},	{"ir22", SRIDX (1, 10, 4), 0},
+  {"sp_priv2", SRIDX (1, 10, 5), 0},	{"ir23", SRIDX (1, 10, 5), 0},
+  {"sp_usr3", SRIDX (1, 10, 6), 0},	{"ir24", SRIDX (1, 10, 6), 0},
+  {"sp_priv3", SRIDX (1, 10, 7), 0},	{"ir25", SRIDX (1, 10, 7), 0},
+  {"int_mask2", SRIDX (1, 8, 1), 0},	{"ir26", SRIDX (1, 8, 1), 0},
+  {"int_pend2", SRIDX (1, 9, 1), 0},	{"ir27", SRIDX (1, 9, 1), 0},
+  {"int_pri2", SRIDX (1, 11, 1), 0},	{"ir28", SRIDX (1, 11, 1), 0},
+  {"int_trigger", SRIDX (1, 9, 4), 0},	{"ir29", SRIDX (1, 9, 4), 0},
+  {"int_gpr_push_dis", SRIDX(1, 1, 3), 0}, {"ir30", SRIDX (1, 1, 3), 0},
+
+  {"mmu_ctl", SRIDX (2, 0, 0), 0},	{"mr0", SRIDX (2, 0, 0), 0},
+  {"l1_pptb", SRIDX (2, 1, 0), 0},	{"mr1", SRIDX (2, 1, 0), 0},
+  {"tlb_vpn", SRIDX (2, 2, 0), 0},	{"mr2", SRIDX (2, 2, 0), 0},
+  {"tlb_data", SRIDX (2, 3, 0), 0},	{"mr3", SRIDX (2, 3, 0), 0},
+  {"tlb_misc", SRIDX (2, 4, 0), 0},	{"mr4", SRIDX (2, 4, 0), 0},
+  {"vlpt_idx", SRIDX (2, 5, 0), 0},	{"mr5", SRIDX (2, 5, 0), 0},
+  {"ilmb", SRIDX (2, 6, 0), 0},		{"mr6", SRIDX (2, 6, 0), 0},
+  {"dlmb", SRIDX (2, 7, 0), 0},		{"mr7", SRIDX (2, 7, 0), 0},
+  {"cache_ctl", SRIDX (2, 8, 0), 0},	{"mr8", SRIDX (2, 8, 0), 0},
+  {"hsmp_saddr", SRIDX (2, 9, 0), 0},	{"mr9", SRIDX (2, 9, 0), 0},
+  {"hsmp_eaddr", SRIDX (2, 9, 1), 0},	{"mr10", SRIDX (2, 9, 1), 0},
+  {"bg_region", SRIDX (2, 0, 1), 0},	{"mr11", SRIDX (2, 0, 1), 0},
+
+  {"pfmc0", SRIDX (4, 0, 0), 0},	{"pfr0", SRIDX (4, 0, 0), 0},
+  {"pfmc1", SRIDX (4, 0, 1), 0},	{"pfr1", SRIDX (4, 0, 1), 0},
+  {"pfmc2", SRIDX (4, 0, 2), 0},	{"pfr2", SRIDX (4, 0, 2), 0},
+  {"pfm_ctl", SRIDX (4, 1, 0), 0},	{"pfr3", SRIDX (4, 1, 0), 0},
+
+  {"dma_cfg", SRIDX (5, 0, 0), 0},	{"dmar0", SRIDX (5, 0, 0), 0},
+  {"dma_gcsw", SRIDX (5, 1, 0), 0},	{"dmar1", SRIDX (5, 1, 0), 0},
+  {"dma_chnsel", SRIDX (5, 2, 0), 0},	{"dmar2", SRIDX (5, 2, 0), 0},
+  {"dma_act", SRIDX (5, 3, 0), 0},	{"dmar3", SRIDX (5, 3, 0), 0},
+  {"dma_setup", SRIDX (5, 4, 0), 0},	{"dmar4", SRIDX (5, 4, 0), 0},
+  {"dma_isaddr", SRIDX (5, 5, 0), 0},	{"dmar5", SRIDX (5, 5, 0), 0},
+  {"dma_esaddr", SRIDX (5, 6, 0), 0},	{"dmar6", SRIDX (5, 6, 0), 0},
+  {"dma_tcnt", SRIDX (5, 7, 0), 0},	{"dmar7", SRIDX (5, 7, 0), 0},
+  {"dma_status", SRIDX (5, 8, 0), 0},	{"dmar8", SRIDX (5, 8, 0), 0},
+  {"dma_2dset", SRIDX (5, 9, 0), 0},	{"dmar9", SRIDX (5, 9, 0), 0},
+  {"dma_2dsctl", SRIDX (5, 9, 1), 0},	{"dmar10", SRIDX (5, 9, 1), 0},
+  {"dma_rcnt", SRIDX (5, 7, 1), 0},	{"dmar11", SRIDX (5, 7, 1), 0},
+  {"dma_hstatus", SRIDX (5, 8, 1), 0},	{"dmar12", SRIDX (5, 8, 1), 0},
+
+  {"sdz_ctl", SRIDX (2, 15, 0), 0},	{"idr0", SRIDX (2, 15, 0), 0},
+  {"misc_ctl", SRIDX (2, 15, 1), 0},	{"n12misc_ctl", SRIDX (2, 15, 1), 0},
+  {"idr1", SRIDX (2, 15, 1), 0},
 
-  {"secur0", SRIDX (6, 0, 0), 0}, {"sfcr", SRIDX (6, 0, 0), 0},
+  {"secur0", SRIDX (6, 0, 0), 0},	{"sfcr", SRIDX (6, 0, 0), 0},
 
   {"prusr_acc_ctl", SRIDX (4, 4, 0), 0},
-  {"fucpr", SRIDX (4, 5, 0), 0}, {"fucop_ctl", SRIDX (4, 5, 0), 0},
+  {"fucpr", SRIDX (4, 5, 0), 0},	{"fucop_ctl", SRIDX (4, 5, 0), 0},
 
-  {"dr0", SRIDX (3, 0, 0), 0}, {"bpc0", SRIDX (3, 0, 0), 0},
-  {"dr1", SRIDX (3, 0, 1), 0}, {"bpc1", SRIDX (3, 0, 1), 0},
-  {"dr2", SRIDX (3, 0, 2), 0}, {"bpc2", SRIDX (3, 0, 2), 0},
-  {"dr3", SRIDX (3, 0, 3), 0}, {"bpc3", SRIDX (3, 0, 3), 0},
-  {"dr4", SRIDX (3, 0, 4), 0}, {"bpc4", SRIDX (3, 0, 4), 0},
-  {"dr5", SRIDX (3, 0, 5), 0}, {"bpc5", SRIDX (3, 0, 5), 0},
-  {"dr6", SRIDX (3, 0, 6), 0}, {"bpc6", SRIDX (3, 0, 6), 0},
-  {"dr7", SRIDX (3, 0, 7), 0}, {"bpc7", SRIDX (3, 0, 7), 0},
-  {"dr8", SRIDX (3, 1, 0), 0}, {"bpa0", SRIDX (3, 1, 0), 0},
-  {"dr9", SRIDX (3, 1, 1), 0}, {"bpa1", SRIDX (3, 1, 1), 0},
-  {"dr10", SRIDX (3, 1, 2), 0}, {"bpa2", SRIDX (3, 1, 2), 0},
-  {"dr11", SRIDX (3, 1, 3), 0}, {"bpa3", SRIDX (3, 1, 3), 0},
-  {"dr12", SRIDX (3, 1, 4), 0}, {"bpa4", SRIDX (3, 1, 4), 0},
-  {"dr13", SRIDX (3, 1, 5), 0}, {"bpa5", SRIDX (3, 1, 5), 0},
-  {"dr14", SRIDX (3, 1, 6), 0}, {"bpa6", SRIDX (3, 1, 6), 0},
-  {"dr15", SRIDX (3, 1, 7), 0}, {"bpa7", SRIDX (3, 1, 7), 0},
-  {"dr16", SRIDX (3, 2, 0), 0}, {"bpam0", SRIDX (3, 2, 0), 0},
-  {"dr17", SRIDX (3, 2, 1), 0}, {"bpam1", SRIDX (3, 2, 1), 0},
-  {"dr18", SRIDX (3, 2, 2), 0}, {"bpam2", SRIDX (3, 2, 2), 0},
-  {"dr19", SRIDX (3, 2, 3), 0}, {"bpam3", SRIDX (3, 2, 3), 0},
-  {"dr20", SRIDX (3, 2, 4), 0}, {"bpam4", SRIDX (3, 2, 4), 0},
-  {"dr21", SRIDX (3, 2, 5), 0}, {"bpam5", SRIDX (3, 2, 5), 0},
-  {"dr22", SRIDX (3, 2, 6), 0}, {"bpam6", SRIDX (3, 2, 6), 0},
-  {"dr23", SRIDX (3, 2, 7), 0}, {"bpam7", SRIDX (3, 2, 7), 0},
-  {"dr24", SRIDX (3, 3, 0), 0}, {"bpv0", SRIDX (3, 3, 0), 0},
-  {"dr25", SRIDX (3, 3, 1), 0}, {"bpv1", SRIDX (3, 3, 1), 0},
-  {"dr26", SRIDX (3, 3, 2), 0}, {"bpv2", SRIDX (3, 3, 2), 0},
-  {"dr27", SRIDX (3, 3, 3), 0}, {"bpv3", SRIDX (3, 3, 3), 0},
-  {"dr28", SRIDX (3, 3, 4), 0}, {"bpv4", SRIDX (3, 3, 4), 0},
-  {"dr29", SRIDX (3, 3, 5), 0}, {"bpv5", SRIDX (3, 3, 5), 0},
-  {"dr30", SRIDX (3, 3, 6), 0}, {"bpv6", SRIDX (3, 3, 6), 0},
-  {"dr31", SRIDX (3, 3, 7), 0}, {"bpv7", SRIDX (3, 3, 7), 0},
-  {"dr32", SRIDX (3, 4, 0), 0}, {"bpcid0", SRIDX (3, 4, 0), 0},
-  {"dr33", SRIDX (3, 4, 1), 0}, {"bpcid1", SRIDX (3, 4, 1), 0},
-  {"dr34", SRIDX (3, 4, 2), 0}, {"bpcid2", SRIDX (3, 4, 2), 0},
-  {"dr35", SRIDX (3, 4, 3), 0}, {"bpcid3", SRIDX (3, 4, 3), 0},
-  {"dr36", SRIDX (3, 4, 4), 0}, {"bpcid4", SRIDX (3, 4, 4), 0},
-  {"dr37", SRIDX (3, 4, 5), 0}, {"bpcid5", SRIDX (3, 4, 5), 0},
-  {"dr38", SRIDX (3, 4, 6), 0}, {"bpcid6", SRIDX (3, 4, 6), 0},
-  {"dr39", SRIDX (3, 4, 7), 0}, {"bpcid7", SRIDX (3, 4, 7), 0},
-  {"dr40", SRIDX (3, 5, 0), 0}, {"edm_cfg", SRIDX (3, 5, 0), 0},
-  {"dr41", SRIDX (3, 6, 0), 0}, {"edmsw", SRIDX (3, 6, 0), 0},
-  {"dr42", SRIDX (3, 7, 0), 0}, {"edm_ctl", SRIDX (3, 7, 0), 0},
-  {"dr43", SRIDX (3, 8, 0), 0}, {"edm_dtr", SRIDX (3, 8, 0), 0},
-  {"dr44", SRIDX (3, 9, 0), 0}, {"bpmtc", SRIDX (3, 9, 0), 0},
-  {"dr45", SRIDX (3, 10, 0), 0}, {"dimbr", SRIDX (3, 10, 0), 0},
-  {"dr46", SRIDX (3, 14, 0), 0}, {"tecr0", SRIDX (3, 14, 0), 0},
-  {"dr47", SRIDX (3, 14, 1), 0}, {"tecr1", SRIDX (3, 14, 1), 0},
+  {"bpc0", SRIDX (3, 0, 0), 0},		{"dr0", SRIDX (3, 0, 0), 0},
+  {"bpc1", SRIDX (3, 0, 1), 0},		{"dr1", SRIDX (3, 0, 1), 0},
+  {"bpc2", SRIDX (3, 0, 2), 0},		{"dr2", SRIDX (3, 0, 2), 0},
+  {"bpc3", SRIDX (3, 0, 3), 0},		{"dr3", SRIDX (3, 0, 3), 0},
+  {"bpc4", SRIDX (3, 0, 4), 0},		{"dr4", SRIDX (3, 0, 4), 0},
+  {"bpc5", SRIDX (3, 0, 5), 0},		{"dr5", SRIDX (3, 0, 5), 0},
+  {"bpc6", SRIDX (3, 0, 6), 0},		{"dr6", SRIDX (3, 0, 6), 0},
+  {"bpc7", SRIDX (3, 0, 7), 0},		{"dr7", SRIDX (3, 0, 7), 0},
+  {"bpa0", SRIDX (3, 1, 0), 0},		{"dr8", SRIDX (3, 1, 0), 0},
+  {"bpa1", SRIDX (3, 1, 1), 0},		{"dr9", SRIDX (3, 1, 1), 0},
+  {"bpa2", SRIDX (3, 1, 2), 0},		{"dr10", SRIDX (3, 1, 2), 0},
+  {"bpa3", SRIDX (3, 1, 3), 0},		{"dr11", SRIDX (3, 1, 3), 0},
+  {"bpa4", SRIDX (3, 1, 4), 0},		{"dr12", SRIDX (3, 1, 4), 0},
+  {"bpa5", SRIDX (3, 1, 5), 0},		{"dr13", SRIDX (3, 1, 5), 0},
+  {"bpa6", SRIDX (3, 1, 6), 0},		{"dr14", SRIDX (3, 1, 6), 0},
+  {"bpa7", SRIDX (3, 1, 7), 0},		{"dr15", SRIDX (3, 1, 7), 0},
+  {"bpam0", SRIDX (3, 2, 0), 0},	{"dr16", SRIDX (3, 2, 0), 0},
+  {"bpam1", SRIDX (3, 2, 1), 0},	{"dr17", SRIDX (3, 2, 1), 0},
+  {"bpam2", SRIDX (3, 2, 2), 0},	{"dr18", SRIDX (3, 2, 2), 0},
+  {"bpam3", SRIDX (3, 2, 3), 0},	{"dr19", SRIDX (3, 2, 3), 0},
+  {"bpam4", SRIDX (3, 2, 4), 0},	{"dr20", SRIDX (3, 2, 4), 0},
+  {"bpam5", SRIDX (3, 2, 5), 0},	{"dr21", SRIDX (3, 2, 5), 0},
+  {"bpam6", SRIDX (3, 2, 6), 0},	{"dr22", SRIDX (3, 2, 6), 0},
+  {"bpam7", SRIDX (3, 2, 7), 0},	{"dr23", SRIDX (3, 2, 7), 0},
+  {"bpv0", SRIDX (3, 3, 0), 0},		{"dr24", SRIDX (3, 3, 0), 0},
+  {"bpv1", SRIDX (3, 3, 1), 0},		{"dr25", SRIDX (3, 3, 1), 0},
+  {"bpv2", SRIDX (3, 3, 2), 0},		{"dr26", SRIDX (3, 3, 2), 0},
+  {"bpv3", SRIDX (3, 3, 3), 0},		{"dr27", SRIDX (3, 3, 3), 0},
+  {"bpv4", SRIDX (3, 3, 4), 0},		{"dr28", SRIDX (3, 3, 4), 0},
+  {"bpv5", SRIDX (3, 3, 5), 0},		{"dr29", SRIDX (3, 3, 5), 0},
+  {"bpv6", SRIDX (3, 3, 6), 0},		{"dr30", SRIDX (3, 3, 6), 0},
+  {"bpv7", SRIDX (3, 3, 7), 0},		{"dr31", SRIDX (3, 3, 7), 0},
+  {"bpcid0", SRIDX (3, 4, 0), 0},	{"dr32", SRIDX (3, 4, 0), 0},
+  {"bpcid1", SRIDX (3, 4, 1), 0},	{"dr33", SRIDX (3, 4, 1), 0},
+  {"bpcid2", SRIDX (3, 4, 2), 0},	{"dr34", SRIDX (3, 4, 2), 0},
+  {"bpcid3", SRIDX (3, 4, 3), 0},	{"dr35", SRIDX (3, 4, 3), 0},
+  {"bpcid4", SRIDX (3, 4, 4), 0},	{"dr36", SRIDX (3, 4, 4), 0},
+  {"bpcid5", SRIDX (3, 4, 5), 0},	{"dr37", SRIDX (3, 4, 5), 0},
+  {"bpcid6", SRIDX (3, 4, 6), 0},	{"dr38", SRIDX (3, 4, 6), 0},
+  {"bpcid7", SRIDX (3, 4, 7), 0},	{"dr39", SRIDX (3, 4, 7), 0},
+  {"edm_cfg", SRIDX (3, 5, 0), 0},	{"dr40", SRIDX (3, 5, 0), 0},
+  {"edmsw", SRIDX (3, 6, 0), 0},	{"dr41", SRIDX (3, 6, 0), 0},
+  {"edm_ctl", SRIDX (3, 7, 0), 0},	{"dr42", SRIDX (3, 7, 0), 0},
+  {"edm_dtr", SRIDX (3, 8, 0), 0},	{"dr43", SRIDX (3, 8, 0), 0},
+  {"bpmtc", SRIDX (3, 9, 0), 0},	{"dr44", SRIDX (3, 9, 0), 0},
+  {"dimbr", SRIDX (3, 10, 0), 0},	{"dr45", SRIDX (3, 10, 0), 0},
+  {"tecr0", SRIDX (3, 14, 0), 0},	{"dr46", SRIDX (3, 14, 0), 0},
+  {"tecr1", SRIDX (3, 14, 1), 0},	{"dr47", SRIDX (3, 14, 1), 0},
   {NULL,0 ,0}
 };
 
-static const keyword_t keyword_cp[] =
+const keyword_t keyword_cp[] =
 {
   {"cp0", 0, 0}, {"cp1", 1, 0}, {"cp2", 2, 0}, {"cp3", 3, 0}, {NULL, 0, 0}
 };
 
-static const keyword_t keyword_cpr[] =
+const keyword_t keyword_cpr[] =
 {
-  {"cpr0", 0, 0}, {"cpr1", 1, 0}, {"cpr2", 2, 0}, {"cpr3", 3, 0}, {"cpr4", 4, 0},
-  {"cpr5", 5, 0}, {"cpr6", 6, 0}, {"cpr7", 7, 0}, {"cpr8", 8, 0}, {"cpr9", 9, 0},
-  {"cpr10", 10, 0}, {"cpr11", 11, 0}, {"cpr12", 12, 0}, {"cpr13", 13, 0},
-  {"cpr14", 14, 0}, {"cpr15", 15, 0}, {"cpr16", 16, 0}, {"cpr17", 17, 0},
-  {"cpr18", 18, 0}, {"cpr19", 19, 0}, {"cpr20", 20, 0}, {"cpr21", 21, 0},
-  {"cpr22", 22, 0}, {"cpr23", 23, 0}, {"cpr24", 24, 0}, {"cpr25", 25, 0},
-  {"cpr26", 26, 0}, {"cpr27", 27, 0}, {"cpr28", 28, 0}, {"cpr29", 29, 0},
-  {"cpr30", 30, 0}, {"cpr31", 31, 0}, {NULL, 0, 0}
+  {"cpr0", 0, 0}, {"cpr1", 1, 0}, {"cpr2", 2, 0}, {"cpr3", 3, 0},
+  {"cpr4", 4, 0}, {"cpr5", 5, 0}, {"cpr6", 6, 0}, {"cpr7", 7, 0},
+  {"cpr8", 8, 0}, {"cpr9", 9, 0}, {"cpr10", 10, 0}, {"cpr11", 11, 0},
+  {"cpr12", 12, 0}, {"cpr13", 13, 0}, {"cpr14", 14, 0}, {"cpr15", 15, 0},
+  {"cpr16", 16, 0}, {"cpr17", 17, 0}, {"cpr18", 18, 0}, {"cpr19", 19, 0},
+  {"cpr20", 20, 0}, {"cpr21", 21, 0}, {"cpr22", 22, 0}, {"cpr23", 23, 0},
+  {"cpr24", 24, 0}, {"cpr25", 25, 0}, {"cpr26", 26, 0}, {"cpr27", 27, 0},
+  {"cpr28", 28, 0}, {"cpr29", 29, 0}, {"cpr30", 30, 0}, {"cpr31", 31, 0},
+  {NULL, 0, 0}
 };
 
-static const keyword_t keyword_fsr[] =
+const keyword_t keyword_fsr[] =
 {
   {"fs0", 0, 0}, {"fs1", 1, 0}, {"fs2", 2, 0}, {"fs3", 3, 0}, {"fs4", 4, 0},
   {"fs5", 5, 0}, {"fs6", 6, 0}, {"fs7", 7, 0}, {"fs8", 8, 0}, {"fs9", 9, 0},
@@ -938,7 +1181,7 @@ static const keyword_t keyword_fsr[] =
   {"fs30", 30, 0}, {"fs31", 31, 0}, {NULL, 0 ,0}
 };
 
-static const keyword_t keyword_fdr[] =
+const keyword_t keyword_fdr[] =
 {
   {"fd0", 0, 0}, {"fd1", 1, 0}, {"fd2", 2, 0}, {"fd3", 3, 0}, {"fd4", 4, 0},
   {"fd5", 5, 0}, {"fd6", 6, 0}, {"fd7", 7, 0}, {"fd8", 8, 0}, {"fd9", 9, 0},
@@ -950,16 +1193,18 @@ static const keyword_t keyword_fdr[] =
   {"fd30", 30, 0}, {"fd31", 31, 0}, {NULL, 0, 0}
 };
 
-static const keyword_t keyword_abdim[] =
+const keyword_t keyword_abdim[] =
 {
   {"bi", 0, 0}, {"bim", 1, 0}, {"bd", 2, 0}, {"bdm", 3, 0},
   {"ai", 4, 0}, {"aim", 5, 0}, {"ad", 6, 0}, {"adm", 7, 0},
   {NULL, 0, 0}
 };
 
-static const keyword_t keyword_abm[] =
+const keyword_t keyword_abm[] =
 {
-  {"b", 0, 0}, {"bm", 1, 0}, {"a", 4, 0}, {"am", 5, 0}, {NULL, 0, 0}
+  {"b", 0, 0}, {"bm", 1, 0}, {"bx", 2, 0}, {"bmx", 3, 0},
+  {"a", 4, 0}, {"am", 5, 0}, {"ax", 6, 0}, {"amx", 7, 0},
+  {NULL, 0, 0}
 };
 
 static const keyword_t keyword_dtiton[] =
@@ -972,13 +1217,13 @@ static const keyword_t keyword_dtitoff[]
   {"itoff", 1, 0}, {"toff", 3, 0}, {NULL, 0, 0}
 };
 
-static const keyword_t keyword_dpref_st[] =
+const keyword_t keyword_dpref_st[] =
 {
   {"srd", 0, 0}, {"mrd", 1, 0}, {"swr", 2, 0}, {"mwr", 3, 0},
   {"pte", 4, 0}, {"clwr", 5, 0}, {NULL, 0, 0}
 };
 
-/* CCTL Ra, SubType */
+/* CCTL Ra, SubType.  */
 static const keyword_t keyword_cctl_st0[] =
 {
   {"l1d_ix_inval", 0X0, 0}, {"l1d_ix_wb", 0X1, 0}, {"l1d_ix_wbinval", 0X2, 0},
@@ -987,7 +1232,7 @@ static const keyword_t keyword_cctl_st0[
   {NULL, 0, 0}
 };
 
-/* CCTL Ra, SubType, level */
+/* CCTL Ra, SubType, level.  */
 static const keyword_t keyword_cctl_st1[] =
 {
   {"l1d_va_inval", 0X8, 0}, {"l1d_va_wb", 0X9, 0},
@@ -995,7 +1240,7 @@ static const keyword_t keyword_cctl_st1[
   {NULL, 0, 0}
 };
 
-/* CCTL Rt, Ra, SubType */
+/* CCTL Rt, Ra, SubType.  */
 static const keyword_t keyword_cctl_st2[] =
 {
   {"l1d_ix_rtag", 0X3, 0}, {"l1d_ix_rwd", 0X4, 0},
@@ -1003,7 +1248,7 @@ static const keyword_t keyword_cctl_st2[
   {NULL, 0, 0}
 };
 
-/* CCTL Rb, Ra, SubType */
+/* CCTL Rb, Ra, SubType.  */
 static const keyword_t keyword_cctl_st3[] =
 {
   {"l1d_ix_wtag", 0X5, 0}, {"l1d_ix_wwd", 0X6, 0},
@@ -1011,19 +1256,19 @@ static const keyword_t keyword_cctl_st3[
   {NULL, 0, 0}
 };
 
-/* CCTL L1D_INVALALL */
+/* CCTL L1D_INVALALL.  */
 static const keyword_t keyword_cctl_st4[] =
 {
   {"l1d_invalall", 0x7, 0}, {NULL, 0, 0}
 };
 
-/* CCTL L1D_WBALL, level */
+/* CCTL L1D_WBALL, level.  */
 static const keyword_t keyword_cctl_st5[] =
 {
   {"l1d_wball", 0xf, 0}, {NULL, 0, 0}
 };
 
-static const keyword_t keyword_cctl_lv[] =
+const keyword_t keyword_cctl_lv[] =
 {
   {"1level", 0, 0}, {"alevel", 1, 0}, {"0", 0, 0}, {"1", 1, 0},
   {NULL, 0, 0},
@@ -1031,19 +1276,16 @@ static const keyword_t keyword_cctl_lv[]
 
 static const keyword_t keyword_tlbop_st[] =
 {
-  {"trd", 0, 0}, {"targetread", 0, 0},
-  {"twr", 1, 0}, {"targetwrite", 1, 0},
-  {"rwr", 2, 0}, {"rwrite", 2, 0},
-  {"rwlk", 3, 0}, {"rwritelock", 3, 0},
-  {"unlk", 4, 0}, {"unlock", 4, 0},
-  {"inv", 6, 0}, {"invalidate", 6, 0},
+  {"targetread", 0, 0}, {"trd", 0, 0},
+  {"targetwrite", 1, 0}, {"twr", 1, 0},
+  {"rwrite", 2, 0}, {"rwr", 2, 0},
+  {"rwritelock", 3, 0}, {"rwlk", 3, 0},
+  {"unlock", 4, 0}, {"unlk", 4, 0},
+  {"invalidate", 6, 0}, {"inv", 6, 0},
   {NULL, 0, 0},
-  /* "pb" requries two operand and "flua" requires none.  */
-  /* {"pb", 5, 0}, {"probe", 5, 0},
-     {"flua", 7, 0}, {"flushall", 0}, */
 };
 
-static const keyword_t keyword_standby_st[] =
+const keyword_t keyword_standby_st[] =
 {
   {"no_wake_grant", 0, 0},
   {"wake_grant", 1, 0},
@@ -1055,12 +1297,73 @@ static const keyword_t keyword_standby_s
   {NULL, 0, 0},
 };
 
-static const keyword_t keyword_msync_st[] =
+const keyword_t keyword_msync_st[] =
 {
   {"all", 0, 0}, {"store", 1, 0},
   {NULL, 0, 0}
 };
 
+const keyword_t keyword_im5_i[] =
+{
+  {"i0", 0, 0}, {"i1", 1, 0}, {"i2", 2, 0}, {"i3", 3, 0},
+  {"i4", 4, 0}, {"i5", 5, 0}, {"i6", 6, 0}, {"i7", 7, 0},
+  {NULL, 0, 0}
+};
+
+const keyword_t keyword_im5_m[] =
+{
+  {"m0", 0, 0}, {"m1", 1, 0}, {"m2", 2, 0}, {"m3", 3, 0},
+  {"m4", 4, 0}, {"m5", 5, 0}, {"m6", 6, 0}, {"m7", 7, 0},
+  {NULL, 0, 0}
+};
+
+const keyword_t keyword_accumulator[] =
+{
+  {"d0.lo", 0, 0}, {"d0.hi", 1, 0}, {"d1.lo", 2, 0}, {"d1.hi", 3, 0},
+  {NULL, 0, 0}
+};
+
+const keyword_t keyword_aridx[] =
+{
+  {"i0", 0, 0}, {"i1", 1, 0}, {"i2", 2, 0}, {"i3", 3, 0},
+  {"i4", 4, 0}, {"i5", 5, 0}, {"i6", 6, 0}, {"i7", 7, 0},
+  {"mod", 8, 0}, {"m1", 9, 0}, {"m2", 10, 0}, {"m3",11, 0},
+  {"m5",13, 0}, {"m6",14, 0}, {"m7",15, 0},
+  {"d0.l24", 16, 0}, {"d1.l24", 17, 0},
+  {"shft_ctl0", 18, 0}, {"shft_ctl1", 19, 0},
+  {"lb", 24, 0}, {"le", 25, 0}, {"lc", 26, 0}, {"adm_vbase", 27, 0},
+  {NULL, 0, 0}
+};
+
+const keyword_t keyword_aridx2[] =
+{
+  {"cbb0", 0, 0}, {"cbb1", 1, 0}, {"cbb2", 2, 0}, {"cbb3", 3, 0},
+  {"cbe0", 4, 0}, {"cbe1", 5, 0}, {"cbe2", 6, 0}, {"cbe3", 7, 0},
+  {"cb_ctl", 31, 0},
+  {NULL, 0, 0}
+};
+
+const keyword_t keyword_aridxi[] =
+{
+  {"i0", 0, 0}, {"i1", 1, 0}, {"i2", 2, 0}, {"i3", 3, 0},
+  {"i4", 4, 0}, {"i5", 5, 0}, {"i6", 6, 0}, {"i7", 7, 0},
+  {"mod", 8, 0}, {"m1", 9, 0}, {"m2", 10, 0}, {"m3",11, 0},
+  {"m5",13, 0}, {"m6",14, 0}, {"m7",15, 0},
+  {NULL, 0, 0}
+};
+
+const keyword_t *keywords[_HW_LAST] =
+{
+  keyword_gpr, keyword_usr, keyword_dxr, keyword_sr, keyword_fsr,
+  keyword_fdr, keyword_cp, keyword_cpr, keyword_abdim, keyword_abm,
+  keyword_dtiton, keyword_dtitoff, keyword_dpref_st,
+  keyword_cctl_st0, keyword_cctl_st1, keyword_cctl_st2,
+  keyword_cctl_st3, keyword_cctl_st4, keyword_cctl_st5,
+  keyword_cctl_lv, keyword_tlbop_st, keyword_standby_st,
+  keyword_msync_st,
+  keyword_im5_i, keyword_im5_m,
+  keyword_accumulator, keyword_aridx, keyword_aridx2, keyword_aridxi
+};
 
 /* Hash table for syntax lex.   */
 static htab_t field_htab;
@@ -1085,7 +1388,6 @@ htab_hash_eq (const void *p, const void 
 
   return strcmp (name, h->name) == 0;
 }
-
 
 /* Build a hash table for array BASE.  Each element is in size of SIZE,
    and it's first element is a pointer to the key of string.
@@ -1157,9 +1459,15 @@ build_opcode_syntax (struct nds32_opcode
 
       switch (*str)
 	{
-	case '%': *plex = SYN_INPUT; break;
-	case '=': *plex = SYN_OUTPUT; break;
-	case '&': *plex = SYN_INPUT | SYN_OUTPUT; break;
+	case '%':
+	  *plex = SYN_INPUT;
+	  break;
+	case '=':
+	  *plex = SYN_OUTPUT;
+	  break;
+	case '&':
+	  *plex = SYN_INPUT | SYN_OUTPUT;
+	  break;
 	case '{':
 	  *plex++ = SYN_LOPT;
 	  opt++;
@@ -1201,9 +1509,6 @@ build_opcode_syntax (struct nds32_opcode
   *plex = 0;
   opc->variant = opt;
   return;
-
-  fprintf (stderr, "Unknown lex in assembly syntax, %s.\n", str);
-  abort ();
 }
 
 /* Initialize the assembler.  It must be called before assembling.  */
@@ -1213,16 +1518,6 @@ nds32_asm_init (nds32_asm_desc_t *pdesc,
 {
   int i;
   hashval_t hash;
-  const keyword_t *keywords[_HW_LAST] =
-  {
-    keyword_gpr, keyword_usr, keyword_dxr, keyword_sr, keyword_fsr,
-    keyword_fdr, keyword_cp, keyword_cpr, keyword_abdim, keyword_abm,
-    keyword_dtiton, keyword_dtitoff, keyword_dpref_st,
-    keyword_cctl_st0, keyword_cctl_st1, keyword_cctl_st2,
-    keyword_cctl_st3, keyword_cctl_st4, keyword_cctl_st5,
-    keyword_cctl_lv, keyword_tlbop_st, keyword_standby_st,
-    keyword_msync_st,
-  };
 
   pdesc->flags = flags;
   pdesc->mach = flags & NASM_OPEN_ARCH_MASK;
@@ -1244,30 +1539,32 @@ nds32_asm_init (nds32_asm_desc_t *pdesc,
       struct nds32_opcode *opc;
 
       opc = &nds32_opcodes[i];
-
-      hash = htab_hash_string (opc->opcode);
-      slot = (struct nds32_opcode **)
-	htab_find_slot_with_hash (opcode_htab, opc->opcode, hash, INSERT);
+      if ((opc->opcode != NULL) && (opc->instruction != NULL))
+	{
+	  hash = htab_hash_string (opc->opcode);
+	  slot = (struct nds32_opcode **)
+	    htab_find_slot_with_hash (opcode_htab, opc->opcode, hash, INSERT);
 
 #define NDS32_PREINIT_SYNTAX
 #if defined (NDS32_PREINIT_SYNTAX)
-      /* Initial SYNTAX when build opcode table, so bug in syntax can be
-	 found when initialized rather than used.  */
-      build_opcode_syntax (opc);
+	  /* Initial SYNTAX when build opcode table, so bug in syntax can be
+	     found when initialized rather than used.  */
+	  build_opcode_syntax (opc);
 #endif
 
-      if (*slot == NULL)
-	{
-	  /* This is the new one.  */
-	  *slot = opc;
-	}
-      else
-	{
-	  /* Already exists.  Append to the list.  */
-	  opc = *slot;
-	  while (opc->next)
-	    opc = opc->next;
-	  opc->next = &nds32_opcodes[i];
+	  if (*slot == NULL)
+	    {
+	      /* This is the new one.  */
+	      *slot = opc;
+	    }
+	  else
+	    {
+	      /* Already exists.  Append to the list.  */
+	      opc = *slot;
+	      while (opc->next)
+		opc = opc->next;
+	      opc->next = &nds32_opcodes[i];
+	    }
 	}
     }
 }
@@ -1288,6 +1585,35 @@ parse_to_delimiter (char *str, char odst
   return str;
 }
 
+/* Parse the operand of lmw/smw/lmwa/smwa.  */
+
+static int
+parse_re (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	   struct nds32_asm_insn *pinsn, char **pstr, int64_t *value)
+{
+  char *end = *pstr;
+  char odstr[MAX_KEYWORD_LEN];
+  keyword_t *k;
+  hashval_t hash;
+
+  if (*end == '$')
+    end++;
+  end = parse_to_delimiter (end, odstr);
+
+  hash = htab_hash_string (odstr);
+  k = htab_find_with_hash (hw_ktabs[HW_GPR], odstr, hash);
+
+  if (k == NULL)
+    return NASM_ERR_OPERAND;
+
+  if (__GF (pinsn->insn, 20, 5) > (unsigned int) k->value)
+    return NASM_ERR_OPERAND;
+
+  *value = k->value;
+  *pstr = end;
+  return NASM_R_CONST;
+}
+
 /* Parse the operand of push25/pop25.  */
 
 static int
@@ -1335,7 +1661,7 @@ parse_fe5 (struct nds32_asm_desc *pdesc,
 
   r = pdesc->parse_operand (pdesc, pinsn, pstr, value);
   if (r != NASM_R_CONST)
-    return r;
+    return NASM_ERR_OPERAND;
 
   /* 128 == 32 << 2.  Leave the shift to parse_opreand,
      so it can check whether it is a multiple of 4.  */
@@ -1353,12 +1679,262 @@ parse_pi5 (struct nds32_asm_desc *pdesc,
 
   r = pdesc->parse_operand (pdesc, pinsn, pstr, value);
   if (r != NASM_R_CONST)
-    return r;
+    return NASM_ERR_OPERAND;
 
   *value -= 16;
   return r;
 }
 
+static int aext_a30b20 = 0;
+static int aext_rte = 0;
+static int aext_im5_ip = 0;
+static int aext_im6_ip = 0;
+/* Parse the operand of audio ext.  */
+static int
+parse_aext_reg (char **pstr, int *value, int hw_res)
+{
+  char *end = *pstr;
+  char odstr[MAX_KEYWORD_LEN];
+  keyword_t *k;
+  hashval_t hash;
+
+  if (*end == '$')
+    end++;
+  end = parse_to_delimiter (end, odstr);
+
+  hash = htab_hash_string (odstr);
+  k = htab_find_with_hash (hw_ktabs[hw_res], odstr, hash);
+
+  if (k == NULL)
+    return NASM_ERR_OPERAND;
+
+  *value = k->value;
+  *pstr = end;
+  return NASM_R_CONST;
+}
+
+static int
+parse_a30b20 (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	      struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+	      char **pstr, int64_t *value)
+{
+  int rt_value, ret;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_GPR);
+
+  if ((ret == NASM_ERR_OPERAND) || (rt_value > 15))
+    return NASM_ERR_OPERAND;
+
+  *value = rt_value;
+  aext_a30b20 = rt_value;
+  return NASM_R_CONST;
+}
+
+static int
+parse_rt21 (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	    struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+	    char **pstr, int64_t *value)
+{
+  int rt_value, ret, tmp_value, tmp1, tmp2;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_GPR);
+
+  if ((ret == NASM_ERR_OPERAND) || (rt_value > 15))
+    return NASM_ERR_OPERAND;
+  tmp1 = (aext_a30b20 & 0x08);
+  tmp2 = (rt_value & 0x08);
+  if (tmp1 != tmp2)
+    return NASM_ERR_OPERAND;
+
+  /* Rt=CONCAT(c, t21, t0), t21:bit11-10, t0:bit5.  */
+  tmp_value = (rt_value & 0x06) << 4;
+  tmp_value |= (rt_value & 0x01);
+  *value = tmp_value;
+  return NASM_R_CONST;
+}
+
+static int
+parse_rte_start (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+		 struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+		 char **pstr, int64_t *value)
+{
+  int rt_value, ret, tmp1, tmp2;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_GPR);
+
+  if ((ret == NASM_ERR_OPERAND) || (rt_value > 15)
+      || (rt_value & 0x01))
+    return NASM_ERR_OPERAND;
+  tmp1 = (aext_a30b20 & 0x08);
+  tmp2 = (rt_value & 0x08);
+  if (tmp1 != tmp2)
+    return NASM_ERR_OPERAND;
+
+  aext_rte = rt_value;
+  /* Rt=CONCAT(c, t21, 0), t21:bit11-10.  */
+  rt_value = (rt_value & 0x06) << 4;
+  *value = rt_value;
+  return NASM_R_CONST;
+}
+
+static int
+parse_rte_end (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	       struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+	       char **pstr, int64_t *value)
+{
+  int rt_value, ret, tmp1, tmp2;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_GPR);
+  if ((ret == NASM_ERR_OPERAND) || (rt_value > 15)
+      || ((rt_value & 0x01) == 0)
+      || (rt_value != (aext_rte + 1)))
+    return NASM_ERR_OPERAND;
+  tmp1 = (aext_a30b20 & 0x08);
+  tmp2 = (rt_value & 0x08);
+  if (tmp1 != tmp2)
+    return NASM_ERR_OPERAND;
+  /* Rt=CONCAT(c, t21, 0), t21:bit11-10.  */
+  rt_value = (rt_value & 0x06) << 4;
+  *value = rt_value;
+  return NASM_R_CONST;
+}
+
+static int
+parse_rte69_start (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+		   struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+		   char **pstr, int64_t *value)
+{
+  int rt_value, ret;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_GPR);
+  if ((ret == NASM_ERR_OPERAND)
+      || (rt_value & 0x01))
+    return NASM_ERR_OPERAND;
+  aext_rte = rt_value;
+  rt_value = (rt_value >> 1);
+  *value = rt_value;
+  return NASM_R_CONST;
+}
+
+static int
+parse_rte69_end (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+		 struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+		 char **pstr, int64_t *value)
+{
+  int rt_value, ret;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_GPR);
+  if ((ret == NASM_ERR_OPERAND)
+      || ((rt_value & 0x01) == 0)
+      || (rt_value != (aext_rte + 1)))
+    return NASM_ERR_OPERAND;
+  aext_rte = rt_value;
+  rt_value = (rt_value >> 1);
+  *value = rt_value;
+  return NASM_R_CONST;
+}
+
+static int
+parse_im5_ip (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	      struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+	      char **pstr, int64_t *value)
+{
+  int rt_value, ret, new_value;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_AEXT_IM_I);
+  if (ret == NASM_ERR_OPERAND)
+    return NASM_ERR_OPERAND;
+  /* p = bit[4].bit[1:0], r = bit[4].bit[3:2].  */
+  new_value = (rt_value & 0x04) << 2;
+  new_value |= (rt_value & 0x03);
+  *value = new_value;
+  aext_im5_ip = new_value;
+  return NASM_R_CONST;
+}
+
+static int
+parse_im5_mr (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	      struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+	      char **pstr, int64_t *value)
+{
+  int rt_value, ret, new_value, tmp1, tmp2;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_AEXT_IM_M);
+  if (ret == NASM_ERR_OPERAND)
+    return NASM_ERR_OPERAND;
+  /* p = bit[4].bit[1:0], r = bit[4].bit[3:2].  */
+  new_value = (rt_value & 0x07) << 2;
+  tmp1 = (aext_im5_ip & 0x10);
+  tmp2 = (new_value & 0x10);
+  if (tmp1 != tmp2)
+    return NASM_ERR_OPERAND;
+  *value = new_value;
+  return NASM_R_CONST;
+}
+
+static int
+parse_im6_ip (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	      struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+	      char **pstr, int64_t *value)
+{
+  int rt_value, ret;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_AEXT_IM_I);
+  if ((ret == NASM_ERR_OPERAND) || (rt_value > 3))
+    return NASM_ERR_OPERAND;
+  /* p = 0.bit[1:0].  */
+  aext_im6_ip = rt_value;
+  *value = aext_im6_ip;
+  return NASM_R_CONST;
+}
+
+static int
+parse_im6_iq (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	      struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+	      char **pstr, int64_t *value)
+{
+  int rt_value, ret;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_AEXT_IM_I);
+  if ((ret == NASM_ERR_OPERAND) || (rt_value < 4))
+    return NASM_ERR_OPERAND;
+  /* q = 1.bit[1:0].  */
+  if ((rt_value & 0x03) != aext_im6_ip)
+    return NASM_ERR_OPERAND;
+  *value = aext_im6_ip;
+  return NASM_R_CONST;
+}
+
+static int
+parse_im6_mr (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	      struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+	      char **pstr, int64_t *value)
+{
+  int rt_value, ret;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_AEXT_IM_M);
+  if ((ret == NASM_ERR_OPERAND) || (rt_value > 3))
+    return NASM_ERR_OPERAND;
+  /* r = 0.bit[3:2].  */
+  *value = (rt_value & 0x03);
+  return NASM_R_CONST;
+}
+
+static int
+parse_im6_ms (struct nds32_asm_desc *pdesc ATTRIBUTE_UNUSED,
+	      struct nds32_asm_insn *pinsn ATTRIBUTE_UNUSED,
+	      char **pstr, int64_t *value)
+{
+  int rt_value, ret;
+
+  ret = parse_aext_reg (pstr, &rt_value, HW_AEXT_IM_M);
+  if ((ret == NASM_ERR_OPERAND) || (rt_value < 4))
+    return NASM_ERR_OPERAND;
+  /* s = 1.bit[5:4].  */
+  *value = (rt_value & 0x03);
+  return NASM_R_CONST;
+}
+
 /* Generic operand parse base on the information provided by the field.  */
 
 static int
@@ -1379,6 +1955,11 @@ parse_operand (nds32_asm_desc_t *pdesc, 
   if (fld->parse)
     {
       r = fld->parse (pdesc, pinsn, &end, &value);
+      if (r == NASM_ERR_OPERAND)
+	{
+	  pdesc->result = NASM_ERR_OPERAND;
+	  return 0;
+	}
       goto done;
     }
 
@@ -1437,7 +2018,7 @@ parse_operand (nds32_asm_desc_t *pdesc, 
 	}
       else if (strncasecmp (end, "lo20(", 5) == 0)
 	{
-	  /* e.g., movi */
+	  /* e.g., movi.  */
 	  modifier |= NASM_ATTR_LO20;
 	  end += 5;
 	}
@@ -1469,7 +2050,7 @@ parse_operand (nds32_asm_desc_t *pdesc, 
 	  break;
 	default:
 	  fprintf (stderr, "Internal error: Don't know how to handle "
-			   "parsing results.\n");
+		   "parsing results.\n");
 	  abort ();
 	}
     }
@@ -1488,7 +2069,7 @@ done:
     }
 
   /* Check the range of signed or unsigned result.  */
-  if (fld->hw_res != HW_INT && (value >> (fld->bitsize + fld->shift)))
+  if (fld->hw_res != HW_INT && ((int32_t) value >> (fld->bitsize + fld->shift)))
     {
       pdesc->result = NASM_ERR_OUT_OF_RANGE;
       return 0;
@@ -1509,7 +2090,8 @@ done:
 	}
     }
 
-  pinsn->insn |= (((value >> fld->shift) & __MASK (fld->bitsize)) << fld->bitpos);
+  pinsn->insn |=
+    (((value >> fld->shift) & __MASK (fld->bitsize)) << fld->bitpos);
   *str = end;
   return 1;
 }
@@ -1530,15 +2112,15 @@ parse_insn (nds32_asm_desc_t *pdesc, nds
 
      For example, there are 2 optional operands in this syntax,
 
-	"a{,b}{,c}"
+     "a{,b}{,c}"
 
      we can try it 4 times (i.e., 1 << 2)
 
-	0 (b00): "a,b,c"
-	1 (b01): "a,c"
-	2 (b10): "a,b"
-	3 (b11): "a"
-    */
+     0 (b00): "a,b,c"
+     1 (b01): "a,c"
+     2 (b10): "a,b"
+     3 (b11): "a"
+   */
 
   /* The outer do-while loop is used to try each possible optional
      operand combination, and VARIANT is the bit mask.  The inner loop
@@ -1562,8 +2144,18 @@ parse_insn (nds32_asm_desc_t *pdesc, nds
 	  if (IS_LEX_CHAR (*plex))
 	    {
 	      /* If it's a plain char, just compare it.  */
-	      if (LEX_CHAR (*plex) != *p)
+	      if (LEX_CHAR (*plex) != TOLOWER (*p))
 		{
+		  if (LEX_CHAR (*plex) == '+' && TOLOWER (*p) == '-')
+		    {
+		      /* We don't define minus format for some signed
+			 immediate case, so ignoring '+' here to parse
+			 negative value eazily.  Besides, the minus format
+			 can not support for instruction with relocation.
+			 Ex: lwi $r0, [$r0 + imm]  */
+		      plex++;
+		      continue;
+		    }
 		  pdesc->result = NASM_ERR_SYNTAX;
 		  goto reject;
 		}
@@ -1581,7 +2173,7 @@ parse_insn (nds32_asm_desc_t *pdesc, nds
 	    }
 	  else if (*plex & SYN_ROPT)
 	    {
-	      /* ignore */
+	      /* ignore.  */
 	    }
 	  else
 	    {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nds32-asm.h ./opcodes/nds32-asm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nds32-asm.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/nds32-asm.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* NDS32-specific support for 32-bit ELF.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -17,7 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-   02110-1301, USA.*/
+   02110-1301, USA.  */
 
 
 #ifndef NDS32_ASM_H
@@ -70,7 +70,7 @@ enum
   NASM_ATTR_FPU_FMA		= 0x0080000,
   NASM_ATTR_DXREG		= 0x0100000,
   NASM_ATTR_BRANCH		= 0x0200000,
-  NASM_ATTR_RELAXABLE		= 0x0400000,
+  NASM_ATTR_SATURATION_EXT	= 0x0400000,
   NASM_ATTR_PCREL		= 0x0800000,
   NASM_ATTR_GPREL		= 0x1000000,
 
@@ -83,6 +83,81 @@ enum
   NASM_ATTR_RDREG		= 0x000100
 };
 
+enum
+{
+  /* This is a field (operand) of just a separator char.  */
+  SYN_FIELD = 0x100,
+
+  /* This operand is used for input or output.  (define or use)  */
+  SYN_INPUT = 0x1000,
+  SYN_OUTPUT = 0x2000,
+  SYN_LOPT = 0x4000,
+  SYN_ROPT = 0x8000,
+
+  /* Hardware resources.  */
+  HW_GPR = 0,
+  HW_USR,
+  HW_DXR,
+  HW_SR,
+  HW_FSR,
+  HW_FDR,
+  HW_CP,	/* Co-processor ID.  */
+  HW_CPR,	/* Co-processor registers.  */
+  HW_ABDIM,	/* [ab][di]m? flag for LSMWA?.  */
+  HW_ABM,	/* [ab]m? flag for LSMWZB.  */
+  HW_DTITON,
+  HW_DTITOFF,
+  HW_DPREF_ST,
+  HW_CCTL_ST0,
+  HW_CCTL_ST1,
+  HW_CCTL_ST2,
+  HW_CCTL_ST3,
+  HW_CCTL_ST4,
+  HW_CCTL_ST5,
+  HW_CCTL_LV,
+  HW_TLBOP_ST,
+  HW_STANDBY_ST,
+  HW_MSYNC_ST,
+  HW_AEXT_IM_I,
+  HW_AEXT_IM_M,
+  HW_AEXT_ACC,
+  HW_AEXT_ARIDX,
+  HW_AEXT_ARIDX2,
+  HW_AEXT_ARIDXI,
+  _HW_LAST,
+  /* TODO: Maybe we should add a new type to distinguish address and
+	   const int.  Only the former allows symbols and relocations.  */
+  HW_INT,
+  HW_UINT
+};
+
+/* for audio-extension.  */
+enum
+{
+  N32_AEXT_AMADD = 0,
+  N32_AEXT_AMSUB,
+  N32_AEXT_AMULT,
+  N32_AEXT_AMFAR,
+  N32_AEXT_AMADDS,
+  N32_AEXT_AMSUBS,
+  N32_AEXT_AMULTS,
+  N32_AEXT_AMNEGS,
+  N32_AEXT_AADDL,
+  N32_AEXT_AMTARI,
+  N32_AEXT_AMAWBS = 0x0c,
+  N32_AEXT_AMAWTS,
+  N32_AEXT_AMWBS,
+  N32_AEXT_AMWTS,
+  N32_AEXT_AMABBS,
+  N32_AEXT_AMABTS,
+  N32_AEXT_AMATBS,
+  N32_AEXT_AMATTS,
+  N32_AEXT_AMBBS,
+  N32_AEXT_AMBTS,
+  N32_AEXT_AMTBS,
+  N32_AEXT_AMTTS
+};
+
 /* Macro for instruction attribute.  */
 #define ATTR(attr)		NASM_ATTR_ ## attr
 #define ATTR_NONE		0
@@ -131,6 +206,7 @@ typedef struct nds32_opcode
   int variant;
   /* Next form of the same mnemonic.  */
   struct nds32_opcode *next;
+
   /* TODO: Extra constrains and verification.
 	   For example, `mov55 $sp, $sp' is not allowed in v3.  */
 } opcode_t;
@@ -187,4 +263,35 @@ typedef struct nds32_field
 extern void nds32_assemble (nds32_asm_desc_t *, nds32_asm_insn_t *, char *);
 extern void nds32_asm_init (nds32_asm_desc_t *, int);
 
+#define OP6(op6)	(N32_OP6_ ## op6 << 25)
+
+#define LSMW(sub)	(OP6 (LSMW) | N32_LSMW_ ## sub)
+#define JREG(sub)	(OP6 (JREG) | N32_JREG_ ## sub)
+#define JREG_RET	(1 << 5)
+#define JREG_IFC	(1 << 6)
+#define BR2(sub)	(OP6 (BR2) | (N32_BR2_ ## sub << 16))
+#define SIMD(sub)	(OP6 (SIMD) | N32_SIMD_ ## sub)
+#define ALU1(sub)	(OP6 (ALU1) | N32_ALU1_ ## sub)
+#define ALU2(sub)	(OP6 (ALU2) | N32_ALU2_ ## sub)
+#define MISC(sub)	(OP6 (MISC) | N32_MISC_ ## sub)
+#define MEM(sub)	(OP6 (MEM) | N32_MEM_ ## sub)
+#define FPU_RA_IMMBI(sub)	(OP6 (sub) | __BIT (12))
+#define FS1(sub)	(OP6 (COP) | N32_FPU_FS1 | (N32_FPU_FS1_ ## sub << 6))
+#define FS1_F2OP(sub)	(OP6 (COP) | N32_FPU_FS1 | (N32_FPU_FS1_F2OP << 6) \
+			| (N32_FPU_FS1_F2OP_ ## sub << 10))
+#define FS2(sub) 	(OP6 (COP) | N32_FPU_FS2 | (N32_FPU_FS2_ ## sub << 6))
+#define FD1(sub)	(OP6 (COP) | N32_FPU_FD1 | (N32_FPU_FD1_ ## sub << 6))
+#define FD1_F2OP(sub)	(OP6 (COP) | N32_FPU_FD1 | (N32_FPU_FD1_F2OP << 6) \
+			| (N32_FPU_FD1_F2OP_ ## sub << 10))
+#define FD2(sub)	(OP6 (COP) | N32_FPU_FD2 | (N32_FPU_FD2_ ## sub << 6))
+#define MFCP(sub)	(OP6 (COP) | N32_FPU_MFCP | (N32_FPU_MFCP_ ## sub << 6))
+#define MFCP_XR(sub)	(OP6 (COP) | N32_FPU_MFCP | (N32_FPU_MFCP_XR << 6) \
+			| (N32_FPU_MFCP_XR_ ## sub << 10))
+#define MTCP(sub)	(OP6 (COP) | N32_FPU_MTCP | (N32_FPU_MTCP_ ## sub << 6))
+#define MTCP_XR(sub)	(OP6 (COP) | N32_FPU_MTCP | (N32_FPU_MTCP_XR << 6) \
+			| (N32_FPU_MTCP_XR_ ## sub << 10))
+#define FPU_MEM(sub)	(OP6 (COP) | N32_FPU_ ## sub)
+#define FPU_MEMBI(sub)	(OP6 (COP) | N32_FPU_ ## sub | 0x1 << 7)
+#define AUDIO(sub)	(OP6 (AEXT) | (N32_AEXT_ ## sub << 20))
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nds32-dis.c ./opcodes/nds32-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nds32-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/nds32-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* NDS32-specific support for 32-bit ELF.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -17,8 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-   02110-1301, USA.*/
-
+   02110-1301, USA.  */
 
 #include "sysdep.h"
 #include <stdio.h>
@@ -29,1227 +28,947 @@
 #include "libiberty.h"
 #include "opintl.h"
 #include "bfd_stdint.h"
+#include "hashtab.h"
+#include "nds32-asm.h"
+#include "opcode/nds32.h"
 
-#define __MF(v, off, bs)	((v & ((1 << (bs)) - 1)) << (off))
-#define __GF(v, off, bs)	((v >> (off)) & ((1 << (bs)) - 1))
-#define __PF(v, off, bs, val)	do { v = __put_field (v, off, bs, val); } while (0)
-/* #define __SEXT(v, bs)	((v ^ (1 << (bs - 1))) - (1 << (bs - 1))) */
-#define __SEXT(v, bs)		(((v & ((1 << bs) - 1)) ^ (1 << (bs - 1))) - (1 << (bs - 1)))
-#define __BIT(n)		(1 << n)
-
-/* Get fields */
-#define OP6(insn)	((insn >> 25) & 0x3F)
-#define RT5(insn)	((insn >> 20) & 0x1F)
-#define RA5(insn)	((insn >> 15) & 0x1F)
-#define RB5(insn)	((insn >> 10) & 0x1F)
-#define RD5(insn)	((insn >> 5) & 0x1F)
-#define SUB5(insn)	((insn >> 0) & 0x1F)
-#define SUB10(insn)	((insn >> 0) & 0x3FF)
-#define IMMU(insn, bs)	(insn & ((1 << bs) - 1))
-#define IMMS(insn, bs)	__SEXT ((insn & ((1 << bs) - 1)), bs)
-#define IMM1U(insn)	IMMU ((insn >> 10), 5)
-#define IMM1S(insn)	IMMS ((insn >> 10), 5)
-#define IMM2U(insn)	IMMU ((insn >> 5), 5)
-#define IMM2S(insn)	IMMS ((insn >> 5), 5)
+/* Get fields macro define.  */
+#define MASK_OP(insn, mask)	((insn) & (0x3f << 25 | (mask)))
 
 /* Default text to print if an instruction isn't recognized.  */
 #define UNKNOWN_INSN_MSG _("*unknown*")
-
-static const char *mnemonic_op6[] =
-{
-  "lbi",  "lhi",   "lwi",  "ldi",    "lbi.bi",  "lhi.bi",  "lwi.bi",  "ldi.bi",
-  "sbi",  "shi",   "swi",  "sdi",    "sbi.bi",  "shi.bi",  "swi.bi",  "sdi.bi",
-  "lbsi", "lhsi",  "lwsi", "dprefi", "lbsi.bi", "lhsi.bi", "lwsi.bi", "lbgp",
-  "lwc",  "swc",   "ldc",  "sdc",    "mem",     "lsmw",    "hwgp",    "sbgp",
-  "alu1", "alu2",  "movi", "sethi",  "ji",      "jreg",    "br1",     "br2",
-  "addi", "subri", "andi", "xori",   "ori",     "br3",     "slti",    "sltsi",
-  "aext", "cext",  "misc", "bitci",  "op_64",   "cop"
-};
-
-static const char *mnemonic_mem[] =
-{
-  "lb",   "lh",  "lw",   "ld",    "lb.bi",  "lh.bi",  "lw.bi",  "ld.bi",
-  "sb",   "sh",  "sw",   "sd",    "sb.bi",  "sh.bi",  "sw.bi",  "sd.bi",
-  "lbs",  "lhs", "lws",  "dpref", "lbs.bi", "lhs.bi", "lws.bi", "27",
-  "llw",  "scw", "32",   "33",    "34",     "35",     "36",     "37",
-  "lbup", "41",  "lwup", "43",    "44",     "45",     "46",     "47",
-  "sbup", "51",  "swup"
+#define NDS32_PARSE_INSN16      0x01
+#define NDS32_PARSE_INSN32      0x02
+#define NDS32_PARSE_EX9IT       0x04
+#define NDS32_PARSE_EX9TAB      0x08
+
+extern struct nds32_opcode nds32_opcodes[];
+extern const field_t operand_fields[];
+extern const keyword_t *keywords[];
+extern const keyword_t keyword_gpr[];
+static void print_insn16 (bfd_vma pc, disassemble_info *info,
+			  uint32_t insn, uint32_t parse_mode);
+static void print_insn32 (bfd_vma pc, disassemble_info *info, uint32_t insn,
+			  uint32_t parse_mode);
+static uint32_t nds32_mask_opcode (uint32_t);
+static void nds32_special_opcode (uint32_t, struct nds32_opcode **);
+
+/* define in objdump.c.  */
+struct objdump_disasm_info
+{
+  bfd *              abfd;
+  asection *         sec;
+  bfd_boolean        require_sec;
+  arelent **         dynrelbuf;
+  long               dynrelcount;
+  disassembler_ftype disassemble_fn;
+  arelent *          reloc;
 };
 
-static const char *mnemonic_alu1[] =
-{
-  "add",  "sub",  "and",   "xor",   "or",       "nor",      "slt",      "slts",
-  "slli", "srli", "srai",  "rotri", "sll",      "srl",      "sra",      "rotr",
-  "seb",  "seh",  "bitc",  "zeh",   "wsbh",     "or_srli",  "divsr",    "divr",
-  "sva",  "svs",  "cmovz", "cmovn", "add_srli", "sub_srli", "and_srli", "xor_srli"
-};
+/* file_ptr    ex9_filepos=NULL;.  */
+bfd_byte *ex9_data = NULL;
+int ex9_ready = 0, ex9_base_offset = 0;
 
+/* Hash function for disassemble.  */
 
-static const char *mnemonic_alu20[] =
-{
-  "max",     "min",    "ave",     "abs",    "clips",   "clip",   "clo",    "clz",
-  "bset",    "bclr",   "btgl",    "btst",   "bse",     "bsp",    "ffb",    "ffmism",
-  "add.sc",  "sub.sc", "add.wc",  "sub.wc", "24",      "25",     "26",     "ffzmism",
-  "qadd",    "qsub",   "32",      "33",     "34",      "35",     "36",     "37",
-  "mfusr",   "mtusr",  "42",      "43",     "mul",     "45",     "46",     "47",
-  "mults64", "mult64", "madds64", "madd64", "msubs64", "msub64", "divs", "div",
-  "60",      "mult32", "62",      "madd32", "64",      "msub32", "65",   "66",
-  "dmadd",   "dmaddc", "dmsub",   "dmsubc", "rmfhi",   "qmflo"
-};
+static htab_t opcode_htab;
 
-static const char *mnemonic_alu21[] =
-{
-  "00",      "01",     "02", "03",      "04", "05",      "06",   "07",
-  "10",      "11",     "12", "13",      "14", "15",      "ffbi", "flmism",
-  "20",      "21",     "22", "23",      "24", "25",      "26",   "27",
-  "30",      "31",     "32", "33",      "34", "35",      "36",   "37",
-  "40",      "41",     "42", "43",      "44", "45",      "46",   "47",
-  "mulsr64", "mulr64", "52", "53",      "54", "55",      "56",   "57",
-  "60",      "61",     "62", "maddr32", "64", "msubr32", "66",   "67",
-  "70",      "71",     "72", "73",      "74", "75",      "76",   "77"
-};
-
-static const char *mnemonic_br2[] =
-{
-  "ifcall", "01", "beqz", "bnez", "bgez",   "bltz",   "bgtz", "blez",
-  "10",     "11", "12",   "13",   "bgezal", "bltzal"
-};
-
-static const char *mnemonic_misc[] =
-{
-  "standby", "cctl", "mfsr",  "mtsr",    "iret",  "trap",  "teqz", "tnez",
-  "dsb",     "isb",  "break", "syscall", "msync", "isync", "tlbop"
-};
-
-static const char *mnemonic_hwgp[] =
-{
-  "lhi.gp", "lhi.gp", "lhsi.gp", "lhsi.gp",
-  "shi.gp", "shi.gp", "lwi.gp", "swi.gp"
-};
-
-static const char *keyword_dpref[] =
-{
-  "SRD", "MRD", "SWR", "MWR", "PTE", "CLWR", "6",  "7",
-  "8",   "9",   "10",  "11",  "12",  "13",   "14", "15"
-};
-
-static const char *mnemonic_alu[] =
+static void
+nds32_ex9_info (bfd_vma pc ATTRIBUTE_UNUSED,
+		disassemble_info *info, uint32_t ex9_index)
 {
-  "fadds",   "fsubs",   "fcpynss", "fcpyss",  "fmadds",
-  "fmsubs",  "fcmovns", "fcmovzs", "fnmadds", "fnmsubs",
-  "10",      "11",      "fmuls",   "fdivs",   "faddd",
-  "fsubd",   "fcpynsd", "fcpysd",  "fmaddd",  "fmsubd",
-  "fcmovnd", "fcmovzd", "fnmaddd", "fnmsubd", "24",
-  "25",      "fmuld",   "fdivd"
-};
+  uint32_t insn;
+  static asymbol *itb = NULL;
+  bfd_byte buffer[4];
+  long unsigned int isec_vma;
 
-static const char *mnemonic_fpu_2op[] =
-{
-  "fs2d",  "fsqrts",  "2",     "3",  "4",       "fabss",  "6",      "7",
-  "fui2s", "9",       "10",    "11", "fsi2s",   "13",     "14",     "15",
-  "fs2ui", "17",      "18",    "19", "fs2ui.z", "21",     "22",     "23",
-  "fs2si", "25",      "26",    "27", "fs2si.z", "fd2s",   "fsqrtd", "31",
-  "32",    "33",      "fabsd", "35", "36",      "fui2d",  "38",     "39",
-  "40",    "fsi2d",   "42",    "43", "44",      "fd2ui",  "46",     "47",
-  "48",    "fd2ui.z", "50",    "51", "52",      "fd2si",  "54",     "55",
-  "56",    "fd2si.z"
-};
+  /* Lookup itb symbol.  */
+  if (!itb)
+    {
+      int i;
 
-static const char *mnemonic_fs2_cmp[] =
-{
-  "fcmpeqs", "fcmpeqs.e", "fcmplts", "fcmplts.e",
-  "fcmples", "fcmples.e", "fcmpuns", "fcmpuns.e"
-};
+      for (i = 0; i < info->symtab_size; i++)
+	if (bfd_asymbol_name (info->symtab[i])
+	    && (strcmp (bfd_asymbol_name (info->symtab[i]), "$_ITB_BASE_") == 0
+		|| strcmp (bfd_asymbol_name (info->symtab[i]),
+			   "_ITB_BASE_") == 0))
+	  {
+	    itb = info->symtab[i];
+	    break;
+	  }
 
-static const char *mnemonic_fd2_cmp[] =
-{
-  "fcmpeqd", "fcmpeqd.e", "fcmpltd", "fcmpltd.e",
-  "fcmpled", "fcmpled.e", "fcmpund", "fcmpund.e"
-};
+      /* Lookup it only once, in case _ITB_BASE_ doesn't exist at all.  */
+      if (itb == NULL)
+	itb = (void *) -1;
+    }
 
-/* Register name table.  */
-/* General purpose register.  */
+  if (itb == (void *) -1)
+    return;
 
-static const char *gpr_map[] =
-{
-  "$r0", "$r1", "$r2", "$r3", "$r4", "$r5", "$r6", "$r7",
-  "$r8", "$r9", "$r10", "$r11", "$r12", "$r13", "$r14", "$r15",
-  "$r16", "$r17", "$r18", "$r19", "$r20", "$r21", "$r22", "$r23",
-  "$r24", "$r25", "$r26", "$r27", "$fp", "$gp", "$lp", "$sp"
-};
+  isec_vma = itb->section->vma;
+  isec_vma = itb->section->vma - bfd_asymbol_value (itb);
+  if (!itb->section || !itb->section->owner)
+    return;
+  bfd_get_section_contents (itb->section->owner, itb->section, buffer,
+			    ex9_index * 4 - isec_vma, 4);
+  insn = bfd_getb32 (buffer);
+  /* 16-bit instructions in ex9 table.  */
+  if (insn & 0x80000000)
+    print_insn16 (pc, info, (insn & 0x0000FFFF),
+		  NDS32_PARSE_INSN16 | NDS32_PARSE_EX9IT);
+  /* 32-bit instructions in ex9 table.  */
+  else
+    print_insn32 (pc, info, insn, NDS32_PARSE_INSN32 | NDS32_PARSE_EX9IT);
+}
 
-/* User special register.  */
+/* Find the value map register name.  */
 
-static const char *usr_map[][32] =
+static keyword_t *
+nds32_find_reg_keyword (keyword_t *reg, int value)
 {
-  {
-    "d0.lo", "d0.hi", "d1.lo", "d1.hi", "4",  "5",  "6",  "7",
-    "8",     "9",     "10",    "11",    "12", "13", "14", "15",
-    "16",    "17",    "18",    "19",    "20", "21", "22", "23",
-    "24",    "25",    "26",    "27",    "28", "29", "30", "pc"
-  },
-  {
-    "DMA_CFG",     "DMA_GCSW",    "DMA_CHNSEL", "DMA_ACT",    "DMA_SETUP",
-    "DMA_ISADDR",  "DMA_ESADDR",  "DMA_TCNT",   "DMA_STATUS", "DMA_2DSET",
-    "10",          "11",          "12",         "13",         "14",
-    "15",          "16",          "17",         "18",         "19",
-    "20",          "21",          "22",         "23",         "24",
-    "DMA_2DSCTL"
-  },
-  {
-    "PFMC0", "PFMC1", "PFMC2", "3", "PFM_CTL"
-  }
-};
+  if (!reg)
+    return NULL;
 
-/* System register.  */
-/* Major Minor Extension.  */
-static const char *sr_map[8][16][8] =
-{
-  {
-    {"CPU_VER", "CORE_ID"},
-    {"ICM_CFG"},
-    {"DCM_CFG"},
-    {"MMU_CFG"},
-    {"MSC_CFG"}
-  },
-  {
-    {"PSW", "IPSW", "P_IPSW"},
-    {"0", "IVB", "INT_CTRL"},
-    {"0", "EVA", "P_EVA"},
-    {"0", "ITYPE", "P_ITYPE"},
-    {"0", "MERR"},
-    {"0", "IPC", "P_IPC", "OIPC"},
-    {"0", "1", "P_P0"},
-    {"0", "1", "P_P1"},
-    {"INT_MASK", "INT_MASK2"},
-    {"INT_PEND", "INT_PEND2", "2", "3", "INT_TRIGGER"},
-    {"SP_USR", "SP_PRIV"},
-    {"INT_PRI", "INT_PRI2"}
-  },
-  {
-    {"MMU_CTL"},
-    {"L1_PPTB"},
-    {"TLB_VPN"},
-    {"TLB_DATA"},
-    {"TLB_MISC"},
-    {"VLPT_IDX"},
-    {"ILMB"},
-    {"DLMB"},
-    {"CACHE_CTL"},
-    {"HSMP_SADDR", "HSMP_EADDR"},
-    {"0"},
-    {"0"},
-    {"0"},
-    {"0"},
-    {"0"},
-    {"SDZ_CTL", "MISC_CTL"}
-  },
-  {
-    {"BPC0", "BPC1", "BPC2", "BPC3", "BPC4", "BPC5", "BPC6", "BPC7"},
-    {"BPA0", "BPA1", "BPA2", "BPA3", "BPA4", "BPA5", "BPA6", "BPA7"},
-    {"BPAM0", "BPAM1", "BPAM2", "BPAM3", "BPAM4", "BPAM5", "BPAM6", "BPAM7"},
-    {"BPV0", "BPV1", "BPV2", "BPV3", "BPV4", "BPV5", "BPV6", "BPV7"},
-    {"BPCID0", "BPCID1", "BPCID2", "BPCID3", "BPCID4", "BPCID5", "BPCID6", "BPCID7"},
-    {"EDM_CFG"},
-    {"EDMSW"},
-    {"EDM_CTL"},
-    {"EDM_DTR"},
-    {"BPMTC"},
-    {"DIMBR"},
-    {"EDM_PROBE"},
-    {"0"},
-    {"0"},
-    {"TECR0", "TECR1"}
-  },
-  {
-    {"PFMC0", "PFMC1", "PFMC2"},
-    {"PFM_CTL"},
-    {"0"},
-    {"0"},
-    {"PRUSR_ACC_CTL"},
-    {"FUCOP_CTL"}
-  },
-  {
-    {"DMA_CFG"},
-    {"DMA_GCSW"},
-    {"DMA_CHNSEL"},
-    {"DMA_ACT"},
-    {"DMA_SETUP"},
-    {"DMA_ISADDR"},
-    {"DMA_ESADDR"},
-    {"DMA_TCNT"},
-    {"DMA_STATUS"},
-    {"DMA_2DSET", "DMA_2DSCTL"}
-  }
-};
+  while (reg->name != NULL && reg->value != value)
+    {
+      reg++;
+    }
+  if (reg->name == NULL)
+    return NULL;
+  return reg;
+}
 
 static void
-print_insn16 (bfd_vma pc, disassemble_info *info, uint32_t insn)
+nds32_parse_audio_ext (const field_t *pfd,
+		       disassemble_info *info, uint32_t insn)
 {
-  static char r4map[] =
-    {
-      0, 1, 2, 3, 4, 5, 6, 7,
-      8, 9, 10, 11, 16, 17, 18, 19
-    };
-  const int rt5 = __GF (insn, 5, 5);
-  const int ra5 = __GF (insn, 0, 5);
-  const int rt4 = r4map[__GF (insn, 5, 4)];
-  const int imm5u = IMMU (insn, 5);
-  const int imm9u = IMMU (insn, 9);
-  const int rt3 = __GF (insn, 6, 3);
-  const int ra3 = __GF (insn, 3, 3);
-  const int rb3 = __GF (insn, 0, 3);
-  const int rt38 = __GF (insn, 8, 3);
-  const int imm3u = rb3;
   fprintf_ftype func = info->fprintf_func;
   void *stream = info->stream;
+  keyword_t *psys_reg;
+  int int_value, new_value;
 
-  static const char *mnemonic_96[] =
-  {
-    "0x1",        "0x1",       "0x2",     "0x3",
-    "add45",      "sub45",     "addi45",  "subi45",
-    "srai45",     "srli45",    "slli333", "0xb",
-    "add333",     "sub333",    "addi333", "subi333",
-    "lwi333",     "lwi333.bi", "lhi333",  "lbi333",
-    "swi333",     "swi333.bi", "shi333",  "sbi333",
-    "addri36.sp", "lwi45.fe",  "lwi450",  "swi450",
-    "0x1c",       "0x1d",      "0x1e",    "0x1f",
-    "0x20",       "0x21",      "0x22",    "0x23",
-    "0x24",       "0x25",      "0x26",    "0x27",
-    "0x28",       "0x29",      "0x2a",    "0x2b",
-    "0x2c",       "0x2d",      "0x2e",    "0x2f",
-    "slts45",     "slt45",     "sltsi45", "slti45",
-    "0x34",       "0x35",      "0x36",    "0x37",
-    "0x38",       "0x39",      "0x3a",    "0x3b",
-    "ifcall9",    "movpi45"
-  };
-
-  static const char *mnemonic_misc33[] =
-  {
-    "misc33_0", "misc33_1", "neg33", "not33", "mul33", "xor33", "and33", "or33",
-  };
-
-  static const char *mnemonic_0xb[] =
-  {
-    "zeb33", "zeh33", "seb33", "seh33", "xlsb33", "x11b33", "bmski33", "fexti33"
-  };
-
-  static const char *mnemonic_bnes38[] =
-  {
-    "jr5", "jral5", "ex9.it", "?", "ret5", "add5.pc"
-  };
-
-  switch (__GF (insn, 7, 8))
+  if (pfd->hw_res == HW_INT || pfd->hw_res == HW_UINT)
     {
-    case 0xf8:			/* push25 */
-    case 0xf9:			/* pop25 */
-      {
-	uint32_t res[] = { 6, 8, 10, 14 };
-	uint32_t re = res[__GF (insn, 5, 2)];
+      if (pfd->hw_res == HW_INT)
+	int_value =
+	  N32_IMMS ((insn >> pfd->bitpos), pfd->bitsize) << pfd->shift;
+      else
+	int_value = __GF (insn, pfd->bitpos, pfd->bitsize) << pfd->shift;
 
-	func (stream, "%s\t%s, %d", (insn & __BIT (7)) ? "pop25" : "push25",
-	      gpr_map[re], imm5u << 3);
-      }
+      if (int_value < 0)
+	func (stream, "#%d", int_value);
+      else
+	func (stream, "#0x%x", int_value);
       return;
     }
+  int_value =
+    __GF (insn, pfd->bitpos, pfd->bitsize) << pfd->shift;
+  new_value = int_value;
+  psys_reg = (keyword_t*) keywords[pfd->hw_res];
 
-  if (__GF (insn, 8, 7) == 0x7d)	/* movd44 */
+  /* p = bit[4].bit[1:0], r = bit[4].bit[3:2].  */
+  if (strcmp (pfd->name, "im5_i") == 0)
     {
-      int rt5e = __GF (insn, 4, 4) << 1;
-      int ra5e = IMMU (insn, 4) << 1;
-
-      func (stream, "movd44\t%s, %d", gpr_map[rt5e], ra5e);
-      return;
+      new_value = int_value & 0x03;
+      new_value |= ((int_value & 0x10) >> 2);
     }
-
-  switch (__GF (insn, 9, 6))
+  else if (strcmp (pfd->name, "im5_m") == 0)
     {
-    case 0x4:			/* add45 */
-    case 0x5:			/* sub45 */
-    case 0x30:			/* slts45 */
-    case 0x31:			/* slt45 */
-      func (stream, "%s\t%s, %s", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt4], gpr_map[ra5]);
-      return;
-    case 0x6:			/* addi45 */
-    case 0x7:			/* subi45 */
-    case 0x8:			/* srai45 */
-    case 0x9:			/* srli45 */
-    case 0x32:			/* sltsi45 */
-    case 0x33:			/* slti45 */
-      func (stream, "%s\t%s, %d", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt4], ra5);
-      return;
-    case 0xc:			/* add333 */
-    case 0xd:			/* sub333 */
-      func (stream, "%s\t%s, %s, %s", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt3], gpr_map[ra3], gpr_map[rb3]);
-      return;
-    case 0xa:			/* slli333 */
-    case 0xe:			/* addi333 */
-    case 0xf:			/* subi333 */
-      func (stream, "%s\t%s, %s, %d", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt3], gpr_map[ra3], imm3u);
-      return;
-    case 0x10:			/* lwi333 */
-    case 0x14:			/* swi333 */
-      func (stream, "%s\t%s, [%s + %d]", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt3], gpr_map[ra3], imm3u << 2);
-      return;
-    case 0x12:			/* lhi333 */
-    case 0x16:			/* shi333 */
-      func (stream, "%s\t%s, [%s + %d]", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt3], gpr_map[ra3], imm3u << 1);
-      return;
-    case 0x13:			/* lbi333 */
-    case 0x17:			/* sbi333 */
-      func (stream, "%s\t%s, [%s + %d]", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt3], gpr_map[ra3], imm3u);
-      return;
-    case 0x11:			/* lwi333.bi */
-    case 0x15:			/* swi333.bi */
-      func (stream, "%s\t%s, [%s], %d", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt3], gpr_map[ra3], imm3u << 2);
-      return;
-    case 0x18:			/* addri36.sp */
-      func (stream, "%s\t%s, %d", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt3], IMMU (insn, 6) << 2);
-      return;
-    case 0x19:			/* lwi45.fe */
-      func (stream, "%s\t%s, %d", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt4], -((32 - imm5u) << 2));
-      return;
-    case 0x1a:			/* lwi450 */
-    case 0x1b:			/* swi450 */
-      func (stream, "%s\t%s, [%s]", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt4], gpr_map[ra5]);
-      return;
-    case 0x34:			/* beqzs8, bnezs8 */
-      func (stream, "%s\t", ((insn & __BIT (8)) ? "bnezs8" : "beqzs8"));
-      info->print_address_func ((IMMS (insn, 8) << 1) + pc, info);
-      return;
-    case 0x35:			/* break16, ex9.it */
-      /* FIXME: Check bfd_mach.  */
-      if (imm9u < 32)		/* break16 */
-        func (stream, "break16\t%d", imm9u);
-      else
-        func (stream, "ex9.it\t%d", imm9u);
-      return;
-    case 0x3c:			/* ifcall9 */
-      func (stream, "%s\t", mnemonic_96[__GF (insn, 9, 6)]);
-      info->print_address_func ((IMMU (insn, 9) << 1) + pc, info);
-      return;
-    case 0x3d:			/* movpi45 */
-      func (stream, "%s\t%s, %d", mnemonic_96[__GF (insn, 9, 6)],
-	    gpr_map[rt4], ra5 + 16);
-      return;
-    case 0x3f:			/* MISC33 */
-      func (stream, "%s\t%s, %s", mnemonic_misc33[rb3],
-	    gpr_map[rt3], gpr_map[ra3]);
-      return;
-    case 0xb:			/* ...  */
-      func (stream, "%s\t%s, %s", mnemonic_0xb[rb3],
-	   gpr_map[rt3], gpr_map[ra3]);
-      return;
+      new_value = ((int_value & 0x1C) >> 2);
     }
-
-  switch (__GF (insn, 10, 5))
+  /* p = 0.bit[1:0], r = 0.bit[3:2].  */
+  /* q = 1.bit[1:0], s = 1.bit[5:4].  */
+  else if (strcmp (pfd->name, "im6_iq") == 0)
     {
-    case 0x0:			/* mov55 or ifret16 */
-      /* FIXME: Check bfd_mach.  */
-      if (rt5 == ra5 && rt5 == 31)
-        func (stream, "ifret16");
-      else
-        func (stream, "mov55\t%s, %s", gpr_map[rt5], gpr_map[ra5]);
-      return;
-    case 0x1:			/* movi55 */
-      func (stream, "movi55\t%s, %d", gpr_map[rt5], IMMS (insn, 5));
-      return;
-    case 0x1b:			/* addi10s (V2) */
-      func (stream, "addi10s\t%d", IMMS (insn, 10));
-      return;
+      new_value |= 0x04;
     }
-
-  switch (__GF (insn, 11, 4))
+  else if (strcmp (pfd->name, "im6_ms") == 0)
     {
-    case 0x7:			/* lwi37.fp/swi37.fp */
-      func (stream, "%s\t%s, [$fp + 0x%x]",
-	    ((insn & __BIT (7)) ? "swi37" : "lwi37"),
-	    gpr_map[rt38], IMMU (insn, 7) << 2);
-      return;
-    case 0x8:			/* beqz38 */
-    case 0x9:			/* bnez38 */
-      func (stream, "%s\t%s, ",
-	    ((__GF (insn, 11, 4) & 1) ? "bnez38" : "beqz38"), gpr_map[rt38]);
-      info->print_address_func ((IMMS (insn, 8) << 1) + pc, info);
-      return;
-    case 0xa:			/* beqs38/j8, implied r5 */
-      if (rt38 == 5)
-	{
-	  func (stream, "j8\t");
-	  info->print_address_func ((IMMS (insn, 8) << 1) + pc, info);
-	}
-     else
-	{
-	  func (stream, "beqs38\t%s, ", gpr_map[rt38]);
-	  info->print_address_func ((IMMS (insn, 8) << 1) + pc, info);
-	}
-      return;
-    case 0xb:			/* bnes38 and others */
-      if (rt38 == 5)
-	{
-	  switch (__GF (insn, 5, 3))
-	    {
-	    case 0:		/* jr5 */
-	    case 1:		/* jral5 */
-	    case 4:		/* ret5 */
-	      func (stream, "%s\t%s", mnemonic_bnes38[__GF (insn, 5, 3)],
-		    gpr_map[ra5]);
-	      return;
-	    case 2:		/* ex9.it imm5 */
-	    case 5:		/* add5.pc */
-	      func (stream, "%s\t%d", mnemonic_bnes38[__GF (insn, 5, 3)], ra5);
-	      return;
-	    default:
-	      func (stream, UNKNOWN_INSN_MSG);
-	      return;
-	    }
-	}
-      else
-	{
-	  func (stream, "bnes38\t%s", gpr_map[rt3]);
-	  info->print_address_func ((IMMS (insn, 8) << 1) + pc, info);
-	}
-      return;
-    case 0xe:			/* lwi37/swi37 */
-      func (stream, "%s\t%s, [+ 0x%x]",
-	    ((insn & __BIT (7)) ? "swi37.sp" : "lwi37.sp"),
-	    gpr_map[rt38], IMMU (insn, 7) << 2);
-      return;
+      new_value |= 0x04;
+    }
+  /*  Rt CONCAT(c, t21, t0).  */
+  else if (strcmp (pfd->name, "a_rt21") == 0)
+    {
+      new_value = (insn & 0x00000020) >> 5;
+      new_value |= (insn & 0x00000C00) >> 9;
+      new_value |= (insn & 0x00008000) >> 12;
+    }
+  else if (strcmp (pfd->name, "a_rte") == 0)
+    {
+      new_value = (insn & 0x00000C00) >> 9;
+      new_value |= (insn & 0x00008000) >> 12;
+    }
+  else if (strcmp (pfd->name, "a_rte1") == 0)
+    {
+      new_value = (insn & 0x00000C00) >> 9;
+      new_value |= (insn & 0x00008000) >> 12;
+      new_value |= 0x01;
     }
+  else if (strcmp (pfd->name, "a_rte69") == 0)
+    {
+      new_value = int_value << 1;
+    }
+  else if (strcmp (pfd->name, "a_rte69_1") == 0)
+    {
+      new_value = int_value << 1;
+      new_value |= 0x01;
+    }
+
+  psys_reg = nds32_find_reg_keyword (psys_reg, new_value);
+  if (!psys_reg)
+    func (stream, "???");
+  else
+    func (stream, "$%s", psys_reg->name);
 }
 
+/* Dump instruction.  If the opcode is unknown, return FALSE.  */
 
 static void
-print_insn32_mem (bfd_vma pc ATTRIBUTE_UNUSED, disassemble_info *info,
-		  uint32_t insn)
+nds32_parse_opcode (struct nds32_opcode *opc, bfd_vma pc ATTRIBUTE_UNUSED,
+		    disassemble_info *info, uint32_t insn,
+		    uint32_t parse_mode)
 {
-  const int rt = RT5 (insn);
-  const int ra = RA5 (insn);
-  const int rb = RB5 (insn);
-  const int sv = __GF (insn, 8, 2);
-  const int op = insn & 0xFF;
+  int op = 0;
   fprintf_ftype func = info->fprintf_func;
   void *stream = info->stream;
+  const char *pstr_src;
+  char *pstr_tmp;
+  char tmp_string[16];
+  unsigned int push25gpr = 0, lsmwRb, lsmwRe, lsmwEnb4, checkbit, i;
+  int int_value, ifthe1st = 1;
+  const field_t *pfd;
+  keyword_t *psys_reg;
 
-  switch (op)
+  if (opc == NULL)
     {
-    case 0x0:			/* lb */
-    case 0x1:			/* lh */
-    case 0x2:			/* lw */
-    case 0x3:			/* ld */
-    case 0x8:			/* sb */
-    case 0x9:			/* sh */
-    case 0xa:			/* sw */
-    case 0xb:			/* sd */
-    case 0x10:			/* lbs */
-    case 0x11:			/* lhs */
-    case 0x12:			/* lws */
-    case 0x18:			/* llw */
-    case 0x19:			/* scw */
-    case 0x20:			/* lbup */
-    case 0x22:			/* lwup */
-    case 0x28:			/* sbup */
-    case 0x2a:			/* swup */
-      func (stream, "%s\t%s, [%s + (%s << %d)]",
-	    mnemonic_mem[op], gpr_map[rt], gpr_map[ra], gpr_map[rb], sv);
-      break;
-    case 0x4:			/* lb.bi */
-    case 0x5:			/* lh.bi */
-    case 0x6:			/* lw.bi */
-    case 0x7:			/* ld.bi */
-    case 0xc:			/* sb.bi */
-    case 0xd:			/* sh.bi */
-    case 0xe:			/* sw.bi */
-    case 0xf:			/* sd.bi */
-    case 0x14:			/* lbs.bi */
-    case 0x15:			/* lhs.bi */
-    case 0x16:			/* lws.bi */
-      func (stream, "%s\t%s, [%s], (%s << %d)",
-	    mnemonic_mem[op], gpr_map[rt], gpr_map[ra], gpr_map[rb], sv);
-      break;
-    case 0x13:			/* dpref */
-      {
-	const char *subtype = "???";
-
-	if ((rt & 0xf) < ARRAY_SIZE (keyword_dpref))
-	  subtype = keyword_dpref[rt & 0xf];
-
-	func (stream, "%s\t%s, [%s + (%s << %d)]",
-	      "dpref", subtype, gpr_map[ra], gpr_map[rb], sv);
-      }
-      break;
-    default:
       func (stream, UNKNOWN_INSN_MSG);
       return;
     }
-}
 
-static void
-print_insn32_alu1 (bfd_vma pc ATTRIBUTE_UNUSED, disassemble_info *info, uint32_t insn)
-{
-  int op = insn & 0x1f;
-  const int rt = RT5 (insn);
-  const int ra = RA5 (insn);
-  const int rb = RB5 (insn);
-  const int rd = RD5 (insn);
-  fprintf_ftype func = info->fprintf_func;
-  void *stream = info->stream;
+  if (parse_mode & NDS32_PARSE_EX9IT)
+    func (stream, "		!");
 
-  switch (op)
+  pstr_src = opc->instruction;
+  if (*pstr_src == 0)
     {
-    case 0x0:			/* add, add_slli */
-    case 0x1:			/* sub, sub_slli */
-    case 0x2:			/* and, add_slli */
-    case 0x3:			/* xor, xor_slli */
-    case 0x4:			/* or, or_slli */
-      if (rd != 0)
-	{
-	  func (stream, "%s_slli\t%s, %s, %s, #%d",
-	        mnemonic_alu1[op], gpr_map[rt], gpr_map[ra], gpr_map[rb], rd);
-	}
-      else
-	{
-	  func (stream, "%s\t%s, %s, %s",
-	        mnemonic_alu1[op], gpr_map[rt], gpr_map[ra], gpr_map[rb]);
-	}
-      return;
-    case 0x1c:			/* add_srli */
-    case 0x1d:			/* sub_srli */
-    case 0x1e:			/* and_srli */
-    case 0x1f:			/* xor_srli */
-    case 0x15:			/* or_srli */
-      func (stream, "%s\t%s, %s, %s, #%d",
-	    mnemonic_alu1[op], gpr_map[rt], gpr_map[ra], gpr_map[rb], rd);
-      return;
-    case 0x5:			/* nor */
-    case 0x6:			/* slt */
-    case 0x7:			/* slts */
-    case 0xc:			/* sll */
-    case 0xd:			/* srl */
-    case 0xe:			/* sra */
-    case 0xf:			/* rotr */
-    case 0x12:			/* bitc */
-    case 0x18:			/* sva */
-    case 0x19:			/* svs */
-    case 0x1a:			/* cmovz */
-    case 0x1b:			/* cmovn */
-      func (stream, "%s\t%s, %s, %s",
-	    mnemonic_alu1[op], gpr_map[rt], gpr_map[ra], gpr_map[rb]);
-      return;
-    case 0x9:			/* srli */
-      if (ra ==0 && rb == 0 && rb==0)
-	{
-	  func (stream, "nop");
-	  return;
-	}
-    case 0x8:			/* slli */
-    case 0xa:			/* srai */
-    case 0xb:			/* rotri */
-      func (stream, "%s\t%s, %s, #%d",
-	    mnemonic_alu1[op], gpr_map[rt], gpr_map[ra], rb);
-      return;
-    case 0x10:			/* seb */
-    case 0x11:			/* seh */
-    case 0x13:			/* zeh */
-    case 0x14:			/* wsbh */
-      func (stream, "%s\t%s, %s",
-	    mnemonic_alu1[op], gpr_map[rt], gpr_map[ra]);
-      return;
-    case 0x16:			/* divsr */
-    case 0x17:			/* divr */
-      func (stream, "%s\t%s, %s, %s, %s",
-	    mnemonic_alu1[op], gpr_map[rt], gpr_map[rd], gpr_map[ra], gpr_map[rb]);
-      return;
-    default:
-      func (stream, UNKNOWN_INSN_MSG);
+      func (stream, "%s", opc->opcode);
       return;
     }
+  /* NDS32_PARSE_INSN16.  */
+  if (parse_mode & NDS32_PARSE_INSN16)
+    {
+      func (stream, "%s ", opc->opcode);
+    }
 
-  return;
-}
-
-static void
-print_insn32_alu2 (bfd_vma pc ATTRIBUTE_UNUSED,
-		   disassemble_info *info,
-		   uint32_t insn)
-{
-  int op = insn & 0x3ff;
-  const int rt = RT5 (insn);
-  const int ra = RA5 (insn);
-  const int rb = RB5 (insn);
-  fprintf_ftype func = info->fprintf_func;
-  void *stream = info->stream;
-
-  if ((insn & 0x7f) == 0x4e)	/* ffbi */
+  /* NDS32_PARSE_INSN32.  */
+  else
     {
-      func (stream, "ffbi\t%s, %s, #0x%x",
-	    gpr_map[rt], gpr_map[ra], __GF (insn, 7, 8));
-      return;
+      op = N32_OP6 (insn);
+      if (op == N32_OP6_LSMW)
+	func (stream, "%s.", opc->opcode);
+      else if (strstr (opc->instruction, "tito"))
+	func (stream, "%s", opc->opcode);
+      else
+	func (stream, "%s ", opc->opcode);
     }
 
-  switch (op)
+  while (*pstr_src)
     {
-    case 0x0:			/* max */
-    case 0x1:			/* min */
-    case 0x2:			/* ave */
-    case 0xc:			/* bse */
-    case 0xd:			/* bsp */
-    case 0xe:			/* ffb */
-    case 0xf:			/* ffmism */
-    case 0x17:			/* ffzmism */
-    case 0x24:			/* mul */
-      func (stream, "%s\t%s, %s, %s", mnemonic_alu20[op],
-	    gpr_map[rt], gpr_map[ra], gpr_map[rb]);
-      return;
+      switch (*pstr_src)
+	{
+	case '%':
+	case '=':
+	case '&':
+	  pstr_src++;
+	  /* compare with operand_fields[].name.  */
+	  pstr_tmp = &tmp_string[0];
+	  while (*pstr_src)
+	    {
+	      if ((*pstr_src == ',') || (*pstr_src == ' ')
+		  || (*pstr_src == '{') || (*pstr_src == '}')
+		  || (*pstr_src == '[') || (*pstr_src == ']')
+		  || (*pstr_src == '(') || (*pstr_src == ')')
+		  || (*pstr_src == '+') || (*pstr_src == '<'))
+		break;
+	      *pstr_tmp++ = *pstr_src++;
+	    }
+	  *pstr_tmp = 0;
 
-    case 0x3:			/* abs */
-    case 0x6:			/* clo */
-    case 0x7:			/* clz */
-      func (stream, "%s\t%s, %s", mnemonic_alu20[op], gpr_map[rt], gpr_map[ra]);
-      return;
+	  pfd = (const field_t *) &operand_fields[0];
+	  while (1)
+	    {
+	      if (pfd->name == NULL)
+		return;
+	      else if (strcmp (&tmp_string[0], pfd->name) == 0)
+		break;
+	      pfd++;
+	    }
 
-    case 0x4:			/* clips */
-    case 0x5:			/* clip */
-    case 0x8:			/* bset */
-    case 0x9:			/* bclr */
-    case 0xa:			/* btgl */
-    case 0xb:			/* btst */
-      func (stream, "%s\t%s, %s, #%d", mnemonic_alu20[op],
-	    gpr_map[rt], gpr_map[ra], IMM1U (insn));
-      return;
+	  /* for insn-16.  */
+	  if (parse_mode & NDS32_PARSE_INSN16)
+	    {
+	      if (pfd->hw_res == HW_GPR)
+		{
+		  int_value =
+		    __GF (insn, pfd->bitpos, pfd->bitsize) << pfd->shift;
+		  /* push25/pop25.  */
+		  if ((opc->value == 0xfc00) || (opc->value == 0xfc80))
+		    {
+		      if (int_value == 0)
+			int_value = 6;
+		      else
+			int_value = (6 + (0x01 << int_value));
+		      push25gpr = int_value;
+		    }
+		  else if (strcmp (pfd->name, "rt4") == 0)
+		    {
+		      int_value = nds32_r45map[int_value];
+		    }
+		  func (stream, "$%s", keyword_gpr[int_value].name);
+		}
+	      else if ((pfd->hw_res == HW_INT) || (pfd->hw_res == HW_UINT))
+		{
+		  if (pfd->hw_res == HW_INT)
+		    int_value =
+		      N32_IMMS ((insn >> pfd->bitpos),
+			    pfd->bitsize) << pfd->shift;
+		  else
+		    int_value =
+		      __GF (insn, pfd->bitpos, pfd->bitsize) << pfd->shift;
+
+		  /* movpi45.  */
+		  if (opc->value == 0xfa00)
+		    {
+		      int_value += 16;
+		      func (stream, "#0x%x", int_value);
+		    }
+		  /* lwi45.fe.  */
+		  else if (opc->value == 0xb200)
+		    {
+		      int_value = 0 - (128 - int_value);
+		      func (stream, "#%d", int_value);
+		    }
+		  /* beqz38/bnez38/beqs38/bnes38/j8/beqzs8/bnezs8/ifcall9.  */
+		  else if ((opc->value == 0xc000) || (opc->value == 0xc800)
+			   || (opc->value == 0xd000) || (opc->value == 0xd800)
+			   || (opc->value == 0xd500) || (opc->value == 0xe800)
+			   || (opc->value == 0xe900)
+			   || (opc->value == 0xf800))
+		    {
+		      info->print_address_func (int_value + pc, info);
+		    }
+		  /* push25/pop25.  */
+		  else if ((opc->value == 0xfc00) || (opc->value == 0xfc80))
+		    {
+		      func (stream, "#%d    ! {$r6", int_value);
+		      if (push25gpr != 6)
+			func (stream, "~$%s", keyword_gpr[push25gpr].name);
+		      func (stream, ", $fp, $gp, $lp}");
+		    }
+		  /* ex9.it.  */
+		  else if ((opc->value == 0xdd40) || (opc->value == 0xea00))
+		    {
+		      func (stream, "#%d", int_value);
+		      nds32_ex9_info (pc, info, int_value);
+		    }
+		  else if (pfd->hw_res == HW_INT)
+		    {
+		      if (int_value < 0)
+			func (stream, "#%d", int_value);
+		      else
+			func (stream, "#0x%x", int_value);
+		    }
+		  else		/* if(pfd->hw_res == HW_UINT).  */
+		    func (stream, "#0x%x", int_value);
+		}
 
-    case 0x20:			/* mfusr */
-    case 0x21:			/* mtusr */
-      func (stream, "%s\t%s, $%s", mnemonic_alu20[op],
-	    gpr_map[rt], usr_map[__GF (insn, 10, 5)][__GF (insn, 15, 5)]);
-      return;
-    case 0x28:			/* mults64 */
-    case 0x29:			/* mult64 */
-    case 0x2a:			/* madds64 */
-    case 0x2b:			/* madd64 */
-    case 0x2c:			/* msubs64 */
-    case 0x2d:			/* msub64 */
-    case 0x2e:			/* divs */
-    case 0x2f:			/* div */
-    case 0x31:			/* mult32 */
-    case 0x33:			/* madd32 */
-    case 0x35:			/* msub32 */
-      func (stream, "%s\t$d%d, %s, %s", mnemonic_alu20[op],
-	    rt >> 1, gpr_map[ra], gpr_map[rb]);
-      return;
+	    }
+	  /* for audio-ext.  */
+	  else if (op == N32_OP6_AEXT)
+	    {
+	      nds32_parse_audio_ext (pfd, info, insn);
+	    }
+	  /* for insn-32.  */
+	  else if (pfd->hw_res < _HW_LAST)
+	    {
+	      int_value =
+		__GF (insn, pfd->bitpos, pfd->bitsize) << pfd->shift;
 
-    case 0x4f:			/* flmism */
-    case 0x68:			/* mulsr64 */
-    case 0x69:			/* mulr64 */
-    case 0x73:			/* maddr32 */
-    case 0x75:			/* msubr32 */
-      op = insn & 0x3f;
-      func (stream, "%s\t%s, %s, %s", mnemonic_alu21[op],
-	    gpr_map[rt], gpr_map[ra], gpr_map[rb]);
-      return;
-    default:
-      func (stream, UNKNOWN_INSN_MSG);
-      return;
-    }
+	      psys_reg = (keyword_t*) keywords[pfd->hw_res];
+
+	      psys_reg = nds32_find_reg_keyword (psys_reg, int_value);
+	      /* For HW_SR, dump the index when it can't
+		 map the register name.  */
+	      if (!psys_reg && pfd->hw_res == HW_SR)
+		func (stream, "%d", int_value);
+	      else if (!psys_reg)
+		func (stream, "???");
+	      else
+		{
+		  if (pfd->hw_res == HW_GPR || pfd->hw_res == HW_CPR
+		      || pfd->hw_res == HW_FDR || pfd->hw_res == HW_FSR
+		      || pfd->hw_res == HW_DXR || pfd->hw_res == HW_SR
+		      || pfd->hw_res == HW_USR)
+		    func (stream, "$%s", psys_reg->name);
+		  else if (pfd->hw_res == HW_DTITON
+			   || pfd->hw_res == HW_DTITOFF)
+		    func (stream, ".%s", psys_reg->name);
+		  else
+		    func (stream, "%s", psys_reg->name);
+		}
+	    }
+	  else if ((pfd->hw_res == HW_INT) || (pfd->hw_res == HW_UINT))
+	    {
+	      if (pfd->hw_res == HW_INT)
+		int_value =
+		  N32_IMMS ((insn >> pfd->bitpos), pfd->bitsize) << pfd->shift;
+	      else
+		int_value =
+		  __GF (insn, pfd->bitpos, pfd->bitsize) << pfd->shift;
+
+	      if ((op == N32_OP6_BR1) || (op == N32_OP6_BR2))
+		{
+		  info->print_address_func (int_value + pc, info);
+		}
+	      else if ((op == N32_OP6_BR3) && (pfd->bitpos == 0))
+		{
+		  info->print_address_func (int_value + pc, info);
+		}
+	      else if (op == N32_OP6_JI)
+		{
+		  /* FIXME: Handle relocation.  */
+		  if (info->flags & INSN_HAS_RELOC)
+		    pc = 0;
+		  /* Check if insn32 in ex9 table.  */
+		  if (parse_mode & NDS32_PARSE_EX9IT)
+		    info->print_address_func ((pc & 0xFE000000) | int_value,
+					      info);
+		  /* Check if decode ex9 table,  PC(31,25)|Inst(23,0)<<1.  */
+		  else if (parse_mode & NDS32_PARSE_EX9TAB)
+		    func (stream, "PC(31,25)|#0x%x", int_value);
+		  else
+		    info->print_address_func (int_value + pc, info);
+		}
+	      else if (op == N32_OP6_LSMW)
+		{
+		  /* lmw.adm/smw.adm.  */
+		  func (stream, "#0x%x    ! {", int_value);
+		  lsmwEnb4 = int_value;
+		  lsmwRb = ((insn >> 20) & 0x1F);
+		  lsmwRe = ((insn >> 10) & 0x1F);
+
+		  /* If [Rb, Re] specifies at least one register,
+		     Rb(4,0) <= Re(4,0) and 0 <= Rb(4,0), Re(4,0) < 28.
+		     Disassembling does not consider this currently because of
+		     the convience comparing with bsp320.  */
+		  if (lsmwRb != 31 || lsmwRe != 31)
+		    {
+		      func (stream, "$%s", keyword_gpr[lsmwRb].name);
+		      if (lsmwRb != lsmwRe)
+			func (stream, "~$%s", keyword_gpr[lsmwRe].name);
+		      ifthe1st = 0;
+		    }
+		  if (lsmwEnb4 != 0)
+		    {
+		      /* $fp, $gp, $lp, $sp.  */
+		      checkbit = 0x08;
+		      for (i = 0; i < 4; i++)
+			{
+			  if (lsmwEnb4 & checkbit)
+			    {
+			      if (ifthe1st == 1)
+				{
+				  ifthe1st = 0;
+				  func (stream, "$%s", keyword_gpr[28 + i].name);
+				}
+			      else
+				func (stream, ", $%s", keyword_gpr[28 + i].name);
+			    }
+			  checkbit >>= 1;
+			}
+		    }
+		  func (stream, "}");
+		}
+	      else if (pfd->hw_res == HW_INT)
+		{
+		  if (int_value < 0)
+		    func (stream, "#%d", int_value);
+		  else
+		    func (stream, "#0x%x", int_value);
+		}
+	      else		/* if(pfd->hw_res == HW_UINT).  */
+		{
+		  func (stream, "#0x%x", int_value);
+		}
+	    }
+	  break;
+
+	case '{':
+	case '}':
+	  pstr_src++;
+	  break;
+
+	default:
+	  func (stream, "%c", *pstr_src++);
+	  break;
+	}			/* switch (*pstr_src).  */
+
+    }				/* while (*pstr_src).  */
+  return;
 }
 
+/* Filter instructions with some bits must be fixed.  */
+
 static void
-print_insn32_jreg (bfd_vma pc ATTRIBUTE_UNUSED, disassemble_info *info, uint32_t insn)
+nds32_filter_unknown_insn (uint32_t insn, struct nds32_opcode **opc)
 {
-  int op = insn & 0xff;
-  const int rt = RT5 (insn);
-  const int rb = RB5 (insn);
-  const char *dtit_on[] = { "", ".iton", ".dton", ".ton" };
-  const char *dtit_off[] = { "", ".itoff", ".dtoff", ".toff" };
-  const char *mnemonic_jreg[] = { "jr", "jral", "jrnez", "jralnez" };
-  const char *mnemonic_ret[] = { "jr", "ret", NULL, "ifret" };
-  const int dtit = __GF (insn, 8, 2);
-  fprintf_ftype func = info->fprintf_func;
-  void *stream = info->stream;
+  if (!(*opc))
+    return;
 
-  switch (op)
+  switch ((*opc)->value)
     {
-    case 0:		/* jr */
-      func (stream, "%s%s\t%s", mnemonic_ret[op >> 5],
-	    dtit_on[dtit], gpr_map[rb]);
-      return;
-
-    case 0x20:		/* ret */
-      func (stream, "%s%s\t%s", mnemonic_ret[op >> 5],
-	    dtit_off[dtit], gpr_map[rb]);
-      return;
-    case 0x60:		/* ifret */
+    case JREG (JR):
+    case JREG (JRNEZ):
+      /* jr jr.xtoff */
+      if (__GF (insn, 6, 2) != 0 || __GF (insn, 15, 10) != 0)
+        *opc = NULL;
       break;
-    case 1:		/* jral */
-    case 2:		/* jrnez */
-    case 3:		/* jralnez */
-      func (stream, "%s%s\t%s, %s", mnemonic_jreg[op],
-	    dtit_on[dtit], gpr_map[rt], gpr_map[rb]);
-      return;
-    default:		/* unknown */
-      func (stream, UNKNOWN_INSN_MSG);
+    case MISC (STANDBY):
+      if (__GF (insn, 7, 18) != 0)
+        *opc = NULL;
+      break;
+    case SIMD (PBSAD):
+    case SIMD (PBSADA):
+      if (__GF (insn, 5, 5) != 0)
+        *opc = NULL;
+      break;
+    case BR2 (IFCALL):
+      if (__GF (insn, 20, 5) != 0)
+        *opc = NULL;
+      break;
+    case JREG (JRAL):
+      if (__GF (insn, 5, 3) != 0 || __GF (insn, 15, 5) != 0)
+        *opc = NULL;
+      break;
+    case ALU1 (NOR):
+    case ALU1 (SLT):
+    case ALU1 (SLTS):
+    case ALU1 (SLLI):
+    case ALU1 (SRLI):
+    case ALU1 (SRAI):
+    case ALU1 (ROTRI):
+    case ALU1 (SLL):
+    case ALU1 (SRL):
+    case ALU1 (SRA):
+    case ALU1 (ROTR):
+    case ALU1 (SEB):
+    case ALU1 (SEH):
+    case ALU1 (ZEH):
+    case ALU1 (WSBH):
+    case ALU1 (SVA):
+    case ALU1 (SVS):
+    case ALU1 (CMOVZ):
+    case ALU1 (CMOVN):
+      if (__GF (insn, 5, 5) != 0)
+        *opc = NULL;
+      break;
+    case MISC (IRET):
+    case MISC (ISB):
+    case MISC (DSB):
+      if (__GF (insn, 5, 20) != 0)
+        *opc = NULL;
       break;
     }
 }
 
 static void
-print_insn32_misc (bfd_vma pc ATTRIBUTE_UNUSED, disassemble_info *info,
-		   uint32_t insn)
+print_insn32 (bfd_vma pc, disassemble_info *info, uint32_t insn,
+	      uint32_t parse_mode)
 {
-  int op = insn & 0x1f;
-  int rt = RT5 (insn);
-  unsigned int id;
-  fprintf_ftype func = info->fprintf_func;
-  void *stream = info->stream;
-
-  static const char *keyword_standby[] =
-    {
-      "no_wake_grant", "wake_grant", "wait_done",
-    };
-  static const char *keyword_tlbop[] =
-    {
-      "TRD", "TWR", "RWR", "RWLK", "UNLK", "PB", "INV", "FLUA"
-    };
-
-  switch (op)
-    {
-    case 0x0:			/* standby */
-      id = __GF (insn, 5, 20);
-      if (id < ARRAY_SIZE (keyword_standby))
-	func (stream, "standby\t%s", keyword_standby[id]);
-      else
-	func (stream, "standby\t%d", id);
-      return;
-    case 0x1:			/* cctl */
-      func (stream, "cctl\t!FIXME");
-      return;
-    case 0x8:			/* dsb */
-    case 0x9:			/* isb */
-    case 0xd:			/* isync */
-    case 0xc:			/* msync */
-    case 0x4:			/* iret */
-      func (stream, "%s", mnemonic_misc[op]);
-      return;
-    case 0x5:			/* trap */
-    case 0xa:			/* break */
-    case 0xb:			/* syscall */
-      id = __GF (insn, 5, 15);
-      func (stream, "%s\t%d", mnemonic_misc[op], id);
-      return;
-    case 0x2:			/* mfsr */
-    case 0x3:			/* mtsr */
-      /* FIXME: setend, setgie.  */
-      func (stream, "%s\t%s, $%s", mnemonic_misc[op], gpr_map[rt],
-	    sr_map[__GF(insn, 17, 3)][__GF(insn, 13, 4)][__GF(insn, 10, 3)]);
-      return;
-    case 0x6:			/* teqz */
-    case 0x7:			/* tnez */
-      id = __GF (insn, 5, 15);
-      func (stream, "%s\t%s, %d", mnemonic_misc[op], gpr_map[rt], id);
-      return;
-    case 0xe:			/* tlbop */
-      id = __GF (insn, 5, 5);
-      if (id < ARRAY_SIZE (keyword_tlbop))
-	func (stream, "tlbop\t%s", keyword_tlbop[id]);
-      else
-	func (stream, "tlbop\t%d", id);
-      return;
-    }
+  /* Get the final correct opcode and parse.  */
+  struct nds32_opcode *opc;
+  uint32_t opcode = nds32_mask_opcode (insn);
+  opc = (struct nds32_opcode *) htab_find (opcode_htab, &opcode);
+
+  nds32_special_opcode (insn, &opc);
+  nds32_filter_unknown_insn (insn, &opc);
+  nds32_parse_opcode (opc, pc, info, insn, parse_mode);
 }
 
 static void
-print_insn32_fpu (bfd_vma pc ATTRIBUTE_UNUSED, disassemble_info *info,
-		  uint32_t insn)
+print_insn16 (bfd_vma pc, disassemble_info *info,
+	      uint32_t insn, uint32_t parse_mode)
 {
-  int op = insn & 0xf;
-  int mask_sub_op = (insn & 0x3c0) >> 6;
-  int mask_bi = (insn & 0x80) >> 7;
-  int mask_cfg = (insn & 0x7c00) >> 10;
-  int mask_f2op = (insn & 0x7c00) >> 10;
-  int dp = 0;
-  int dp_insn = 0;
-  char wd = 's';
-  const int rt = RT5 (insn);
-  const int ra = RA5 (insn);
-  const int rb = RB5 (insn);
-  const int sv = __GF (insn, 8, 2);
-  fprintf_ftype func = info->fprintf_func;
-  void *stream = info->stream;
+  struct nds32_opcode *opc;
+  uint32_t opcode;
 
-  switch (op)
+  /* Get highest 7 bit in default.  */
+  unsigned int mask = 0xfe00;
+
+  /* Classify 16-bit instruction to 4 sets by bit 13 and 14.  */
+  switch (__GF (insn, 13, 2))
     {
-    case 0x0:			/* fs1 */
-    case 0x8:			/* fd1 */
-      dp = (op & 0x8) ? 1 : 0;
-      if (dp)
+    case 0x0:
+      /* mov55 movi55 */
+      if (__GF (insn, 11, 2) == 0)
 	{
-	  wd = 'd';
-	  dp_insn = 14;
+	  mask = 0xfc00;
+	  /* ifret16 = mov55 $sp, $sp*/
+	  if (__GF (insn, 0, 11) == 0x3ff)
+	    mask = 0xffff;
 	}
-      else
+      else if (__GF (insn, 9, 4) == 0xb)
+	mask = 0xfe07;
+      break;
+    case 0x1:
+      /* lwi37 swi37 */
+      if (__GF (insn, 11, 2) == 0x3)
+	mask = 0xf880;
+      break;
+    case 0x2:
+      mask = 0xf800;
+      /* Exclude beqz38, bnez38, beqs38, and bnes38.  */
+      if (__GF (insn, 12, 1) == 0x1
+	  && __GF (insn, 8, 3) == 0x5)
 	{
-	  wd = 's';
-	  dp_insn = 0;
+	  if (__GF (insn, 11, 1) == 0x0)
+	    mask = 0xff00;
+	  else
+	    mask = 0xffe0;
 	}
-      switch (mask_sub_op)
+      break;
+    case 0x3:
+      switch (__GF (insn, 11, 2))
 	{
-	case 0x0:
 	case 0x1:
+	  /* beqzs8 bnezs8 */
+	  if (__GF (insn, 9, 2) == 0x0)
+	    mask = 0xff00;
+	  /* addi10s */
+	  else if (__GF(insn, 10, 1) == 0x1)
+	    mask = 0xfc00;
+	  break;
 	case 0x2:
+	  /* lwi37.sp swi37.sp */
+	  mask = 0xf880;
+	  break;
 	case 0x3:
-	case 0x4:
-	case 0x5:
-	case 0x8:
-	case 0x9:
-	case 0xc:
-	case 0xd:
-	  func (stream, "%s\t$f%c%d, $f%c%d, $f%c%d",
-		mnemonic_alu[mask_sub_op + dp_insn],
-		wd, rt, wd, ra, wd, rb);
-	  return;
-	case 0x6:
-	case 0x7:
-	  func (stream, "%s\t$f%c%d, $f%c%d, $fs%d",
-		mnemonic_alu[mask_sub_op + dp_insn],
-		wd, rt, wd, ra, rb);
-	  return;
-	case 0xf:
-	  if (dp)
-	    {
-	      wd = 'd';
-	      dp_insn = 0x1d;
-	    }
-	  else
-	    {
-	      wd = 's';
-	      dp_insn = 0;
-	    }
+	  if (__GF (insn, 8, 3) == 0x5)
+	    mask = 0xff00;
+	  else if (__GF (insn, 8, 3) == 0x4)
+	    mask = 0xff80;
+	  else if (__GF (insn, 9 , 2) == 0x3)
+	    mask = 0xfe07;
+	  break;
+	}
+      break;
+    }
+  opcode = insn & mask;
+  opc = (struct nds32_opcode *) htab_find (opcode_htab, &opcode);
+
+  nds32_special_opcode (insn, &opc);
+  /* Get the final correct opcode and parse it.  */
+  nds32_parse_opcode (opc, pc, info, insn, parse_mode);
+}
+
+static hashval_t
+htab_hash_hash (const void *p)
+{
+  return (*(unsigned int *) p) % 49;
+}
+
+static int
+htab_hash_eq (const void *p, const void *q)
+{
+  uint32_t pinsn = ((struct nds32_opcode *) p)->value;
+  uint32_t qinsn = *((uint32_t *) q);
 
-	  switch (mask_f2op)
+  return (pinsn == qinsn);
+}
+
+/* Get the format of instruction.  */
+
+static uint32_t
+nds32_mask_opcode (uint32_t insn)
+{
+  uint32_t opcode = N32_OP6 (insn);
+  switch (opcode)
+    {
+    case N32_OP6_LBI:
+    case N32_OP6_LHI:
+    case N32_OP6_LWI:
+    case N32_OP6_LDI:
+    case N32_OP6_LBI_BI:
+    case N32_OP6_LHI_BI:
+    case N32_OP6_LWI_BI:
+    case N32_OP6_LDI_BI:
+    case N32_OP6_SBI:
+    case N32_OP6_SHI:
+    case N32_OP6_SWI:
+    case N32_OP6_SDI:
+    case N32_OP6_SBI_BI:
+    case N32_OP6_SHI_BI:
+    case N32_OP6_SWI_BI:
+    case N32_OP6_SDI_BI:
+    case N32_OP6_LBSI:
+    case N32_OP6_LHSI:
+    case N32_OP6_LWSI:
+    case N32_OP6_LBSI_BI:
+    case N32_OP6_LHSI_BI:
+    case N32_OP6_LWSI_BI:
+    case N32_OP6_MOVI:
+    case N32_OP6_SETHI:
+    case N32_OP6_ADDI:
+    case N32_OP6_SUBRI:
+    case N32_OP6_ANDI:
+    case N32_OP6_XORI:
+    case N32_OP6_ORI:
+    case N32_OP6_SLTI:
+    case N32_OP6_SLTSI:
+    case N32_OP6_CEXT:
+    case N32_OP6_BITCI:
+      return MASK_OP (insn, 0);
+    case N32_OP6_ALU2:
+      /* FFBI */
+      if (__GF (insn, 0, 7) == (N32_ALU2_FFBI | __BIT (6)))
+	return MASK_OP (insn, 0x7f);
+      else if (__GF (insn, 0, 7) == (N32_ALU2_MFUSR | __BIT (6))
+	       || __GF (insn, 0, 7) == (N32_ALU2_MTUSR | __BIT (6)))
+	/* RDOV CLROV */
+	return MASK_OP (insn, 0xf81ff);
+      return MASK_OP (insn, 0x1ff);
+    case N32_OP6_ALU1:
+    case N32_OP6_SIMD:
+      return MASK_OP (insn, 0x1f);
+    case N32_OP6_MEM:
+      return MASK_OP (insn, 0xff);
+    case N32_OP6_JREG:
+      return MASK_OP (insn, 0x7f);
+    case N32_OP6_LSMW:
+      return MASK_OP (insn, 0x23);
+    case N32_OP6_SBGP:
+    case N32_OP6_LBGP:
+      return MASK_OP (insn, 0x1 << 19);
+    case N32_OP6_HWGP:
+      if (__GF (insn, 18, 2) == 0x3)
+	return MASK_OP (insn, 0x7 << 17);
+      return MASK_OP (insn, 0x3 << 18);
+    case N32_OP6_DPREFI:
+      return MASK_OP (insn, 0x1 << 24);
+    case N32_OP6_LWC:
+    case N32_OP6_SWC:
+    case N32_OP6_LDC:
+    case N32_OP6_SDC:
+      return MASK_OP (insn, 0x1 << 12);
+    case N32_OP6_JI:
+      return MASK_OP (insn, 0x1 << 24);
+    case N32_OP6_BR1:
+      return MASK_OP (insn, 0x1 << 14);
+    case N32_OP6_BR2:
+      return MASK_OP (insn, 0xf << 16);
+    case N32_OP6_BR3:
+      return MASK_OP (insn, 0x1 << 19);
+    case N32_OP6_MISC:
+      switch (__GF (insn, 0, 5))
+	{
+	case N32_MISC_MTSR:
+	  /* SETGIE and SETEND  */
+	  if (__GF (insn, 5, 5) == 0x1 || __GF (insn, 5, 5) == 0x2)
+	    return MASK_OP (insn, 0x1fffff);
+	  return MASK_OP (insn, 0x1f);
+	case N32_MISC_TLBOP:
+	  if (__GF (insn, 5, 5) == 5 || __GF (insn, 5, 5) == 7)
+	    /* PB FLUA  */
+	    return MASK_OP (insn, 0x3ff);
+	  return MASK_OP (insn, 0x1f);
+	default:
+	  return MASK_OP (insn, 0x1f);
+	}
+    case N32_OP6_COP:
+      if (__GF (insn, 4, 2) == 0)
+	{
+	  /* FPU */
+	  switch (__GF (insn, 0, 4))
 	    {
 	    case 0x0:
-	      if (dp)
-		func (stream, "%s\t$fs%d, $fd%d",
-		      mnemonic_fpu_2op[mask_f2op + dp_insn], rt, ra);
-	      else
-		func (stream, "%s\t$fd%d, $fs%d",
-		      mnemonic_fpu_2op[mask_f2op + dp_insn], rt, ra);
-	      return;
-	    case 0x1:
-	    case 0x5:
-	      func (stream, "%s\t$f%c%d, $f%c%d",
-		    mnemonic_fpu_2op[mask_f2op + dp_insn], wd, rt, wd, ra);
-	      return;
 	    case 0x8:
+	      /* FS1/F2OP FD1/F2OP */
+	      if (__GF (insn, 6, 4) == 0xf)
+		return MASK_OP (insn, 0x7fff);
+	      /* FS1 FD1 */
+	      return MASK_OP (insn, 0x3ff);
+	    case 0x4:
 	    case 0xc:
-	      func (stream, "%s\t$f%c%d, $fs%d",
-		    mnemonic_fpu_2op[mask_f2op + dp_insn], wd, rt, ra);
-	      return;
-	    case 0x10:
-	    case 0x14:
-	    case 0x18:
-	    case 0x1c:
-	      func (stream, "%s\t$fs%d, $f%c%d",
-		    mnemonic_fpu_2op[mask_f2op + dp_insn], rt, wd, ra);
-	      return;
+	      /* FS2 */
+	      return MASK_OP (insn, 0x3ff);
+	    case 0x1:
+	    case 0x9:
+	      /* XR */
+	      if (__GF (insn, 6, 4) == 0xc)
+		return MASK_OP (insn, 0x7fff);
+	      /* MFCP MTCP */
+	      return MASK_OP (insn, 0x3ff);
+	    default:
+	      return MASK_OP (insn, 0xff);
 	    }
 	}
-    case 0x1:			/* mfcp */
-      switch (mask_sub_op)
+      else if  (__GF (insn, 0, 2) == 0)
+	return MASK_OP (insn, 0xf);
+      return MASK_OP (insn, 0xcf);
+    case N32_OP6_AEXT:
+      /* AUDIO */
+      switch (__GF (insn, 23, 2))
 	{
 	case 0x0:
-	  func (stream, "fmfsr\t%s, $fs%d", gpr_map[rt], ra);
-	  return;
-	case 0x1:
-	  func (stream, "fmfdr\t%s, $fd%d", gpr_map[rt], ra);
-	  return;
-	case 0xc:
-	  if (mask_cfg)
-	    func (stream, "fmfcsr\t%s", gpr_map[rt]);
+	  if (__GF (insn, 5, 4) == 0)
+	    /* AMxxx AMAyyS AMyyS AMAWzS AMWzS */
+	    return MASK_OP (insn, (0x1f << 20) | 0x1ff);
+	  else if (__GF (insn, 5, 4) == 1)
+	    /* ALR ASR ALA ASA AUPI */
+	    return MASK_OP (insn, (0x1f << 20) | (0xf << 5));
+	  else if (__GF (insn, 20, 3) == 0 && __GF (insn, 6, 3) == 1)
+	    /* ALR2 */
+	    return MASK_OP (insn, (0x1f << 20) | (0x7 << 6));
+	  else if (__GF (insn, 20 ,3) == 2 && __GF (insn, 6, 3) == 1)
+	    /* AWEXT ASATS48 */
+	    return MASK_OP (insn, (0x1f << 20) | (0xf << 5));
+	  else if (__GF (insn, 20 ,3) == 3 && __GF (insn, 6, 3) == 1)
+	    /* AMTAR AMTAR2 AMFAR AMFAR2 */
+	    return MASK_OP (insn, (0x1f << 20) | (0x1f << 5));
+	  else if (__GF (insn, 7, 2) == 3)
+	    /* AMxxxSA */
+	    return MASK_OP (insn, (0x1f << 20) | (0x3 << 7));
+	  else if (__GF (insn, 6, 3) == 2)
+	    /* AMxxxL.S  */
+	    return MASK_OP (insn, (0x1f << 20) | (0xf << 5));
 	  else
-	    func (stream, "fmfcfg\t%s", gpr_map[rt]);
-	  return;
-	}
-    case 0x2:			/* fls */
-      if (mask_bi)
-	func (stream, "fls.bi\t$fs%d, [%s], (%s << %d)",
-	      rt, gpr_map[ra], gpr_map[rb], sv);
-      else
-	func (stream, "fls\t$fs%d, [%s + (%s << %d)]",
-	      rt, gpr_map[ra], gpr_map[rb], sv);
-      return;
-    case 0x3:			/* fld */
-      if (mask_bi)
-	func (stream, "fld.bi\t$fd%d, [%s], (%s << %d)",
-	      rt, gpr_map[ra], gpr_map[rb], sv);
-      else
-	func (stream, "fld\t$fd%d, [%s + (%s << %d)]",
-	      rt, gpr_map[ra], gpr_map[rb], sv);
-      return;
-    case 0x4:			/* fs2 */
-      func (stream, "%s\t$fs%d, $fs%d, $fs%d",
-	    mnemonic_fs2_cmp[mask_sub_op], rt, ra, rb);
-      return;
-    case 0x9:			/* mtcp */
-      switch (mask_sub_op)
-	{
-	case 0x0:
-	  func (stream, "fmtsr\t%s, $fs%d", gpr_map[rt], ra);
-	  return;
+	    /* AmxxxL.l AmxxxL2.S AMxxxL2.L  */
+	    return MASK_OP (insn, (0x1f << 20) | (0x7 << 6));
 	case 0x1:
-	  func (stream, "fmtdr\t%s, $fd%d", gpr_map[rt], ra);
-	  return;
-	case 0xc:
-	    func (stream, "fmtcsr\t%s", gpr_map[rt]);
-	  return;
+	  if (__GF (insn, 20, 3) == 0)
+	    /* AADDL ASUBL */
+	    return MASK_OP (insn, (0x1f << 20) | (0x1 << 5));
+	  else if (__GF (insn, 20, 3) == 1)
+	    /* AMTARI Ix AMTARI Mx */
+	    return MASK_OP (insn, (0x1f << 20));
+	  else if (__GF (insn, 6, 3) == 2)
+	    /* AMAWzSl.S AMWzSl.S */
+	    return MASK_OP (insn, (0x1f << 20) | (0xf << 5));
+	  else if (__GF (insn, 7, 2) == 3)
+	    /* AMAWzSSA AMWzSSA */
+	    return MASK_OP (insn, (0x1f << 20) | (0x3 << 7));
+	  else
+	    /* AMAWzSL.L AMAWzSL2.S AMAWzSL2.L AMWzSL.L AMWzSL.L AMWzSL2.S */
+	    return MASK_OP (insn, (0x1f << 20) | (0x7 << 6));
+	case 0x2:
+	  if (__GF (insn, 6, 3) == 2)
+	    /* AMAyySl.S AMWyySl.S */
+	    return MASK_OP (insn, (0x1f << 20) | (0xf << 5));
+	  else if (__GF (insn, 7, 2) == 3)
+	    /* AMAWyySSA AMWyySSA */
+	    return MASK_OP (insn, (0x1f << 20) | (0x3 << 7));
+	  else
+	    /* AMAWyySL.L AMAWyySL2.S AMAWyySL2.L AMWyySL.L AMWyySL.L AMWyySL2.S */
+	    return MASK_OP (insn, (0x1f << 20) | (0x7 << 6));
 	}
-    case 0xa:			/* fss */
-      if (mask_bi)
-	func (stream, "fss.bi\t$fs%d, [%s], (%s << %d)",
-	      rt, gpr_map[ra], gpr_map[rb], sv);
-      else
-	func (stream, "fss\t$fs%d, [%s + (%s << %d)]",
-	      rt, gpr_map[ra], gpr_map[rb], sv);
-      return;
-    case 0xb:			/* fsd */
-      if (mask_bi)
-	func (stream, "fsd.bi\t$fd%d, [%s], (%s << %d)",
-	      rt, gpr_map[ra], gpr_map[rb], sv);
-      else
-	func (stream, "fsd\t$fd%d, [%s + (%s << %d)]",
-	      rt, gpr_map[ra], gpr_map[rb], sv);
-      return;
-    case 0xc:			/* fd2 */
-      func (stream, "%s\t$fs%d, $fd%d, $fd%d",
-	    mnemonic_fd2_cmp[mask_sub_op], rt, ra, rb);
-      return;
+      return MASK_OP (insn, 0x1f << 20);
+    default:
+      return (1 << 31);
     }
 }
 
-static void
-print_insn32 (bfd_vma pc, disassemble_info *info, uint32_t insn)
+/* Define cctl subtype.  */
+static char *cctl_subtype [] =
 {
-  int op = OP6 (insn);
-  const int rt = RT5 (insn);
-  const int ra = RA5 (insn);
-  const int rb = RB5 (insn);
-  const int imm15s = IMMS (insn, 15);
-  const int imm15u = IMMU (insn, 15);
-  uint32_t shift;
-  fprintf_ftype func = info->fprintf_func;
-  void *stream = info->stream;
-
-  switch (op)
-    {
-    case 0x0:			/* lbi */
-    case 0x1:			/* lhi */
-    case 0x2:			/* lwi */
-    case 0x3:			/* ldi */
-    case 0x8:			/* sbi */
-    case 0x9:			/* shi */
-    case 0xa:			/* swi */
-    case 0xb:			/* sdi */
-    case 0x10:			/* lbsi */
-    case 0x11:			/* lhsi */
-    case 0x12:			/* lwsi */
-      shift = op & 0x3;
-      func (stream, "%s\t%s, [%s + #%d]",
-	    mnemonic_op6[op], gpr_map[rt], gpr_map[ra], imm15s << shift);
-      return;
-    case 0x4:			/* lbi.bi */
-    case 0x5:			/* lhi.bi */
-    case 0x6:			/* lwi.bi */
-    case 0x7:			/* ldi.bi */
-    case 0xc:			/* sbi.bi */
-    case 0xd:			/* shi.bi */
-    case 0xe:			/* swi.bi */
-    case 0xf:			/* sdi.bi */
-    case 0x14:			/* lbsi.bi */
-    case 0x15:			/* lhsi.bi */
-    case 0x16:			/* lwsi.bi */
-      shift = op & 0x3;
-      func (stream, "%s\t%s, [%s], #%d",
-	    mnemonic_op6[op], gpr_map[rt], gpr_map[ra], imm15s << shift);
-      return;
-    case 0x13:			/* dprefi */
-      {
-	const char *subtype = "???";
-	char wd = 'w';
+  /* 0x0 */
+  "st0", "st0", "st0", "st2", "st2", "st3", "st3", "st4",
+  "st1", "st1", "st1", "st0", "st0", NULL, NULL, "st5",
+  /* 0x10 */
+  "st0", NULL, NULL, "st2", "st2", "st3", "st3", NULL,
+  "st1", NULL, NULL, "st0", "st0", NULL, NULL, NULL
+};
 
-	shift = 2;
+/* Check the subset of opcode.  */
 
-	/* d-bit */
-	if (rt & 0x10)
-	  {
-	    wd = 'd';
-	    shift = 3;
-	  }
+static void
+nds32_special_opcode (uint32_t insn, struct nds32_opcode **opc)
+{
+  char *string = NULL;
+  uint32_t op;
 
-	if ((rt & 0xf) < ARRAY_SIZE (keyword_dpref))
-	  subtype = keyword_dpref[rt & 0xf];
+  if (!(*opc))
+    return;
 
-	func (stream, "%s.%c\t%s, [%s + #%d]",
-	      mnemonic_op6[op], wd, subtype, gpr_map[ra], imm15s << shift);
-      }
-      return;
-    case 0x17:			/* LBGP */
-      func (stream, "%s\t%s, [+ %d]",
-	    ((insn & __BIT (19)) ? "lbsi.gp" : "lbi.gp"),
-	    gpr_map[rt], IMMS (insn, 19));
-      return;
-    case 0x18:			/* LWC */
-    case 0x19:			/* SWC */
-    case 0x1a:			/* LDC */
-    case 0x1b:			/* SDC */
+  /* Check if special case.  */
+  switch ((*opc)->value)
+    {
+    case OP6 (LWC):
+    case OP6 (SWC):
+    case OP6 (LDC):
+    case OP6 (SDC):
+    case FPU_RA_IMMBI (LWC):
+    case FPU_RA_IMMBI (SWC):
+    case FPU_RA_IMMBI (LDC):
+    case FPU_RA_IMMBI (SDC):
+      /* Check if cp0 => FPU.  */
       if (__GF (insn, 13, 2) == 0)
-	{
-	  char ls = (op & 1) ? 's' : 'l';
-	  char wd = (op & 2) ? 'd' : 's';
-
-	  if (insn & __BIT (12))
-	    {
-	      func (stream, "f%c%ci.bi\t$f%c%d, [%s], %d", ls, wd,
-		    wd, rt, gpr_map[ra], IMMS (insn, 12) << 2);
-	    }
-	  else
-	    {
-	      func (stream, "f%c%ci\t$f%c%d, [%s + %d]", ls, wd,
-		    wd, rt, gpr_map[ra], IMMS (insn, 12) << 2);
-	    }
-	}
-      else
-	{
-	  char ls = (op & 1) ? 's' : 'l';
-	  char wd = (op & 2) ? 'd' : 'w';
-	  int cp = __GF (insn, 13, 2);
-
-	  if (insn & __BIT (12))
-	    {
-	      func (stream, "cp%c%ci\tcp%d, $cpr%d, [%s], %d", ls, wd,
-		    cp, rt, gpr_map[ra], IMMS (insn, 12) << 2);
-	    }
-	  else
-	    {
-	      func (stream, "cp%c%ci\tcp%d, $cpr%d, [%s + %d]", ls, wd,
-		    cp, rt, gpr_map[ra], IMMS (insn, 12) << 2);
-	    }
-	}
-      return;
-    case 0x1c:			/* MEM */
-      print_insn32_mem (pc, info, insn);
-      return;
-    case 0x1d:			/* LSMW */
       {
-	int enb4 = __GF (insn, 6, 4);
-	char ls = (insn & __BIT (5)) ? 's' : 'l';
-	char ab = (insn & __BIT (4)) ? 'a' : 'b';
-	char *di = (insn & __BIT (3)) ? "d" : "i";
-	char *m = (insn & __BIT (2)) ? "m" : "";
-	static const char *s[] = {"", "a", "zb", "?"};
-
-	/* lsmwzb only always increase.  */
-	if ((insn & 0x3) == 2)
-	  di = "";
-
-	func (stream, "%cmw%s.%c%s%s\t%s, [%s], %s, 0x%x",
-	      ls, s[insn & 0x3], ab, di, m, gpr_map[rt],
-	      gpr_map[ra], gpr_map[rb], enb4);
+	while (!((*opc)->attr & ATTR (FPU)) && (*opc)->next)
+	  *opc = (*opc)->next;
       }
-      return;
-    case 0x1e:			/* HWGP */
-      op = __GF (insn, 17, 3);
-      switch (op)
-	{
-	case 0: case 1:		/* lhi.gp */
-	case 2: case 3:		/* lhsi.gp */
-	case 4: case 5:		/* shi.gp */
-	  func (stream, "%s\t%s, [+ %d]",
-		mnemonic_hwgp[op], gpr_map[rt], IMMS (insn, 18) << 1);
-	  return;
-	case 6:			/* lwi.gp */
-	case 7:			/* swi.gp */
-	  func (stream, "%s\t%s, [+ %d]",
-		mnemonic_hwgp[op], gpr_map[rt], IMMS (insn, 17) << 2);
-	  return;
-	}
-      return;
-    case 0x1f:			/* SBGP */
-      if (insn & __BIT (19))
-	func (stream, "addi.gp\t%s, %d",
-	      gpr_map[rt], IMMS (insn, 19));
-      else
-	func (stream, "sbi.gp\t%s, [+ %d]",
-	      gpr_map[rt], IMMS (insn, 19));
-      return;
-    case 0x20:			/* ALU_1 */
-      print_insn32_alu1 (pc, info, insn);
-      return;
-    case 0x21:			/* ALU_2 */
-      print_insn32_alu2 (pc, info, insn);
-      return;
-    case 0x22:			/* movi */
-      func (stream, "movi\t%s, %d", gpr_map[rt], IMMS (insn, 20));
-      return;
-    case 0x23:			/* sethi */
-      func (stream, "sethi\t%s, 0x%x", gpr_map[rt], IMMU (insn, 20));
-      return;
-    case 0x24:			/* ji, jal */
-      /* FIXME: Handle relocation.  */
-      if (info->flags & INSN_HAS_RELOC)
-	pc = 0;
-      func (stream, "%s\t", ((insn & __BIT (24)) ? "jal" : "j"));
-      info->print_address_func ((IMMS (insn, 24) << 1) + pc, info);
-      return;
-    case 0x25:			/* jreg */
-      print_insn32_jreg (pc, info, insn);
-      return;
-    case 0x26:			/* br1 */
-      func (stream, "%s\t%s, %s, ", ((insn & __BIT (14)) ? "bne" : "beq"),
-	    gpr_map[rt], gpr_map[ra]);
-      info->print_address_func ((IMMS (insn, 14) << 1) + pc, info);
-      return;
-    case 0x27:			/* br2 */
-      func (stream, "%s\t%s, ", mnemonic_br2[__GF (insn, 16, 4)],
-	    gpr_map[rt]);
-      info->print_address_func ((IMMS (insn, 16) << 1) + pc, info);
-      return;
-    case 0x28:			/* addi */
-    case 0x2e:			/* slti */
-    case 0x2f:			/* sltsi */
-    case 0x29:			/* subri */
-      func (stream, "%s\t%s, %s, %d",
-	    mnemonic_op6[op], gpr_map[rt], gpr_map[ra], imm15s);
-      return;
-    case 0x2a:			/* andi */
-    case 0x2b:			/* xori */
-    case 0x2c:			/* ori */
-    case 0x33:			/* bitci */
-      func (stream, "%s\t%s, %s, %d",
-	    mnemonic_op6[op], gpr_map[rt], gpr_map[ra], imm15u);
-      return;
-    case 0x2d:			/* br3, beqc, bnec */
-      func (stream, "%s\t%s, %d, ", ((insn & __BIT (19)) ? "bnec" : "beqc"),
-	    gpr_map[rt], __SEXT (__GF (insn, 8, 11), 11));
-      info->print_address_func ((IMMS (insn, 8) << 1) + pc, info);
-      return;
-    case 0x32:			/* misc */
-      print_insn32_misc (pc, info, insn);
-      return;
-    case 0x35:			/* FPU */
-      print_insn32_fpu (pc, info, insn);
+      break;
+    case ALU1 (ADD):
+    case ALU1 (SUB):
+    case ALU1 (AND):
+    case ALU1 (XOR):
+    case ALU1 (OR):
+      /* Check if (add/add_slli) (sub/sub_slli) (and/and_slli).  */
+      if (N32_SH5(insn) != 0)
+        string = "sh";
+      break;
+    case ALU1 (SRLI):
+      /* Check if nop.  */
+      if (__GF (insn, 10, 15) == 0)
+        string = "nop";
+      break;
+    case MISC (CCTL):
+      string = cctl_subtype [__GF (insn, 5, 5)];
+      break;
+    case JREG (JR):
+    case JREG (JRAL):
+    case JREG (JR) | JREG_RET:
+      if (__GF (insn, 8, 2) != 0)
+	string = "tit";
+    break;
+    case N32_OP6_COP:
+    break;
+    case 0xea00:
+      /* break16 ex9 */
+      if (__GF (insn, 5, 4) != 0)
+	string = "ex9";
+      break;
+    case 0x9200:
+      /* nop16 */
+      if (__GF (insn, 0, 9) == 0)
+	string = "nop16";
+      break;
+    }
+
+  if (string)
+    {
+      while (strstr ((*opc)->opcode, string) == NULL
+	     && strstr ((*opc)->instruction, string) == NULL && (*opc)->next)
+	*opc = (*opc)->next;
       return;
     }
+
+  /* Classify instruction is COP or FPU.  */
+  op = N32_OP6 (insn);
+  if (op == N32_OP6_COP && __GF (insn, 4, 2) != 0)
+    {
+      while (((*opc)->attr & ATTR (FPU)) != 0 && (*opc)->next)
+	*opc = (*opc)->next;
+    }
 }
 
 int
@@ -1258,26 +977,75 @@ print_insn_nds32 (bfd_vma pc, disassembl
   int status;
   bfd_byte buf[4];
   uint32_t insn;
+  static int init = 1;
+  int i = 0;
+  struct nds32_opcode *opc;
+  struct nds32_opcode **slot;
+
+  if (init)
+    {
+      /* Build opcode table.  */
+      opcode_htab = htab_create_alloc (1024, htab_hash_hash, htab_hash_eq,
+				       NULL, xcalloc, free);
+
+      while (nds32_opcodes[i].opcode != NULL)
+	{
+	  opc = &nds32_opcodes[i];
+	  slot =
+	    (struct nds32_opcode **) htab_find_slot (opcode_htab, &opc->value,
+						     INSERT);
+	  if (*slot == NULL)
+	    {
+	      /* This is the new one.  */
+	      *slot = opc;
+	    }
+	  else
+	    {
+	      /* Already exists.  Append to the list.  */
+	      opc = *slot;
+	      while (opc->next)
+		opc = opc->next;
+	      opc->next = &nds32_opcodes[i];
+	    }
+	  i++;
+	}
+      init = 0;
+    }
 
-  status = info->read_memory_func (pc, (bfd_byte *) buf, 2, info);
+  status = info->read_memory_func (pc, (bfd_byte *) buf, 4, info);
   if (status)
-    return -1;
+    {
+      /* for the last 16-bit instruction.  */
+      status = info->read_memory_func (pc, (bfd_byte *) buf, 2, info);
+      if (status)
+	{
+	  (*info->memory_error_func)(status, pc, info);
+	  return -1;
+	}
+    }
 
+  insn = bfd_getb32 (buf);
   /* 16-bit instruction.  */
-  if (buf[0] & 0x80)
+  if (insn & 0x80000000)
     {
-      insn = bfd_getb16 (buf);
-      print_insn16 (pc, info, insn);
+      if (info->section && strstr (info->section->name, ".ex9.itable") != NULL)
+	{
+	  print_insn16 (pc, info, (insn & 0x0000FFFF),
+			NDS32_PARSE_INSN16 | NDS32_PARSE_EX9TAB);
+	  return 4;
+	}
+      print_insn16 (pc, info, (insn >> 16), NDS32_PARSE_INSN16);
       return 2;
     }
 
   /* 32-bit instructions.  */
-  status = info->read_memory_func (pc + 2, (bfd_byte *) buf + 2, 2, info);
-  if (status)
-    return -1;
-
-  insn = bfd_getb32 (buf);
-  print_insn32 (pc, info, insn);
-
-  return 4;
+  else
+    {
+      if (info->section
+	  && strstr (info->section->name, ".ex9.itable") != NULL)
+	print_insn32 (pc, info, insn, NDS32_PARSE_INSN32 | NDS32_PARSE_EX9TAB);
+      else
+	print_insn32 (pc, info, insn, NDS32_PARSE_INSN32);
+      return 4;
+    }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nds32-opc.h ./opcodes/nds32-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nds32-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/nds32-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* NDS32-specific support for 32-bit ELF.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nios2-dis.c ./opcodes/nios2-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nios2-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/nios2-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Altera Nios II disassemble routines
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Nigel Gray (ngray@altera.com).
    Contributed by Mentor Graphics, Inc.
 
@@ -35,7 +35,7 @@
 #include "elf/nios2.h"
 #endif
 
-/* Length of Nios II instruction in bytes.  */
+/* Default length of Nios II instruction in bytes.  */
 #define INSNLEN 4
 
 /* Data structures used by the opcode hash table.  */
@@ -45,36 +45,66 @@ typedef struct _nios2_opcode_hash
   struct _nios2_opcode_hash *next;
 } nios2_opcode_hash;
 
-static bfd_boolean nios2_hash_init = 0;
-static nios2_opcode_hash *nios2_hash[(OP_MASK_OP) + 1];
+/* Hash table size.  */
+#define OPCODE_HASH_SIZE (IW_R1_OP_UNSHIFTED_MASK + 1)
 
-/* Separate hash table for pseudo-ops.  */
-static nios2_opcode_hash *nios2_ps_hash[(OP_MASK_OP) + 1];
+/* Extract the opcode from an instruction word.  */
+static unsigned int
+nios2_r1_extract_opcode (unsigned int x)
+{
+  return GET_IW_R1_OP (x);
+}
+
+/* Pseudo-ops are stored in a different table than regular instructions.  */
+
+typedef struct _nios2_disassembler_state
+{
+  const struct nios2_opcode *opcodes;
+  const int *num_opcodes;
+  unsigned int (*extract_opcode) (unsigned int);
+  nios2_opcode_hash *hash[OPCODE_HASH_SIZE];
+  nios2_opcode_hash *ps_hash[OPCODE_HASH_SIZE];
+  const struct nios2_opcode *nop;
+  bfd_boolean init;
+} nios2_disassembler_state;
+
+static nios2_disassembler_state
+nios2_r1_disassembler_state = {
+  nios2_r1_opcodes,
+  &nios2_num_r1_opcodes,
+  nios2_r1_extract_opcode,
+  {},
+  {},
+  NULL,
+  0
+};
 
 /* Function to initialize the opcode hash table.  */
 static void
-nios2_init_opcode_hash (void)
+nios2_init_opcode_hash (nios2_disassembler_state *state)
 {
   unsigned int i;
   register const struct nios2_opcode *op;
 
-  for (i = 0; i <= OP_MASK_OP; ++i)
-    nios2_hash[0] = NULL;
-  for (i = 0; i <= OP_MASK_OP; i++)
-    for (op = nios2_opcodes; op < &nios2_opcodes[NUMOPCODES]; op++)
+  for (i = 0; i < OPCODE_HASH_SIZE; i++)
+    for (op = state->opcodes; op < &state->opcodes[*(state->num_opcodes)]; op++)
       {
 	nios2_opcode_hash *new_hash;
 	nios2_opcode_hash **bucket = NULL;
 
 	if ((op->pinfo & NIOS2_INSN_MACRO) == NIOS2_INSN_MACRO)
 	  {
-	    if (i == ((op->match >> OP_SH_OP) & OP_MASK_OP)
+	    if (i == state->extract_opcode (op->match)
 		&& (op->pinfo & (NIOS2_INSN_MACRO_MOV | NIOS2_INSN_MACRO_MOVI)
 		    & 0x7fffffff))
-	      bucket = &(nios2_ps_hash[i]);
+	      {
+		bucket = &(state->ps_hash[i]);
+		if (strcmp (op->name, "nop") == 0)
+		  state->nop = op;
+	      }
 	  }
-	else if (i == ((op->match >> OP_SH_OP) & OP_MASK_OP))
-	  bucket = &(nios2_hash[i]);
+	else if (i == state->extract_opcode (op->match))
+	  bucket = &(state->hash[i]);
 
 	if (bucket)
 	  {
@@ -93,11 +123,12 @@ nios2_init_opcode_hash (void)
 	    *bucket = new_hash;
 	  }
       }
-  nios2_hash_init = 1;
+  state->init = 1;
+
 #ifdef DEBUG_HASHTABLE
-  for (i = 0; i <= OP_MASK_OP; ++i)
+  for (i = 0; i < OPCODE_HASH_SIZE; ++i)
     {
-      nios2_opcode_hash *tmp_hash = nios2_hash[i];
+      nios2_opcode_hash *tmp_hash = state->hash[i];
       printf ("index: 0x%02X	ops: ", i);
       while (tmp_hash != NULL)
 	{
@@ -107,9 +138,9 @@ nios2_init_opcode_hash (void)
       printf ("\n");
     }
 
-  for (i = 0; i <= OP_MASK_OP; ++i)
+  for (i = 0; i < OPCODE_HASH_SIZE; ++i)
     {
-      nios2_opcode_hash *tmp_hash = nios2_ps_hash[i];
+      nios2_opcode_hash *tmp_hash = state->ps_hash[i];
       printf ("index: 0x%02X	ops: ", i);
       while (tmp_hash != NULL)
 	{
@@ -122,24 +153,33 @@ nios2_init_opcode_hash (void)
 }
 
 /* Return a pointer to an nios2_opcode struct for a given instruction
-   opcode, or NULL if there is an error.  */
+   word OPCODE for bfd machine MACH, or NULL if there is an error.  */
 const struct nios2_opcode *
-nios2_find_opcode_hash (unsigned long opcode)
+nios2_find_opcode_hash (unsigned long opcode,
+			unsigned long mach ATTRIBUTE_UNUSED)
 {
   nios2_opcode_hash *entry;
+  nios2_disassembler_state *state;
+
+  state = &nios2_r1_disassembler_state;
 
   /* Build a hash table to shorten the search time.  */
-  if (!nios2_hash_init)
-    nios2_init_opcode_hash ();
+  if (!state->init)
+    nios2_init_opcode_hash (state);
+
+  /* Check for NOP first.  Both NOP and MOV are macros that expand into
+     an ADD instruction, and we always want to give priority to NOP.  */
+  if (state->nop->match == (opcode & state->nop->mask))
+    return state->nop;
 
   /* First look in the pseudo-op hashtable.  */
-  for (entry = nios2_ps_hash[(opcode >> OP_SH_OP) & OP_MASK_OP];
+  for (entry = state->ps_hash[state->extract_opcode (opcode)];
        entry; entry = entry->next)
     if (entry->opcode->match == (opcode & entry->opcode->mask))
       return entry->opcode;
 
   /* Otherwise look in the main hashtable.  */
-  for (entry = nios2_hash[(opcode >> OP_SH_OP) & OP_MASK_OP];
+  for (entry = state->hash[state->extract_opcode (opcode)];
        entry; entry = entry->next)
     if (entry->opcode->match == (opcode & entry->opcode->mask))
       return entry->opcode;
@@ -191,13 +231,23 @@ nios2_control_regs (void)
   return cached;
 }
 
+/* Helper routine to report internal errors.  */
+static void
+bad_opcode (const struct nios2_opcode *op)
+{
+  fprintf (stderr, "Internal error: broken opcode descriptor for `%s %s'\n",
+	   op->name, op->args);
+  abort ();
+}
+
 /* The function nios2_print_insn_arg uses the character pointed
    to by ARGPTR to determine how it print the next token or separator
    character in the arguments to an instruction.  */
 static int
 nios2_print_insn_arg (const char *argptr,
 		      unsigned long opcode, bfd_vma address,
-		      disassemble_info *info)
+		      disassemble_info *info,
+		      const struct nios2_opcode *op)
 {
   unsigned long i = 0;
   struct nios2_reg *reg_base;
@@ -209,98 +259,180 @@ nios2_print_insn_arg (const char *argptr
     case ')':
       (*info->fprintf_func) (info->stream, "%c", *argptr);
       break;
-    case 'd':
-      i = GET_INSN_FIELD (RRD, opcode);
-
-      if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM
-	  && GET_INSN_FIELD (CUSTOM_C, opcode) == 0)
-	reg_base = nios2_coprocessor_regs ();
-      else
-	reg_base = nios2_regs;
 
+    case 'd':
+      switch (op->format)
+	{
+	case iw_r_type:
+	  i = GET_IW_R_C (opcode);
+	  reg_base = nios2_regs;
+	  break;
+	case iw_custom_type:
+	  i = GET_IW_CUSTOM_C (opcode);
+	  if (GET_IW_CUSTOM_READC (opcode) == 0)
+	    reg_base = nios2_coprocessor_regs ();
+	  else
+	    reg_base = nios2_regs;
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       if (i < NUMREGNAMES)
 	(*info->fprintf_func) (info->stream, "%s", reg_base[i].name);
       else
 	(*info->fprintf_func) (info->stream, "unknown");
       break;
-    case 's':
-      i = GET_INSN_FIELD (RRS, opcode);
-
-      if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM
-	  && GET_INSN_FIELD (CUSTOM_A, opcode) == 0)
-	reg_base = nios2_coprocessor_regs ();
-      else
-	reg_base = nios2_regs;
 
+    case 's':
+      switch (op->format)
+	{
+	case iw_r_type:
+	  i = GET_IW_R_A (opcode);
+	  reg_base = nios2_regs;
+	  break;
+	case iw_i_type:
+	  i = GET_IW_I_A (opcode);
+	  reg_base = nios2_regs;
+	  break;
+	case iw_custom_type:
+	  i = GET_IW_CUSTOM_A (opcode);
+	  if (GET_IW_CUSTOM_READA (opcode) == 0)
+	    reg_base = nios2_coprocessor_regs ();
+	  else
+	    reg_base = nios2_regs;
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       if (i < NUMREGNAMES)
 	(*info->fprintf_func) (info->stream, "%s", reg_base[i].name);
       else
 	(*info->fprintf_func) (info->stream, "unknown");
       break;
-    case 't':
-      i = GET_INSN_FIELD (RRT, opcode);
-
-      if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM
-	  && GET_INSN_FIELD (CUSTOM_B, opcode) == 0)
-	reg_base = nios2_coprocessor_regs ();
-      else
-	reg_base = nios2_regs;
 
+    case 't':
+      switch (op->format)
+	{
+	case iw_r_type:
+	  i = GET_IW_R_B (opcode);
+	  reg_base = nios2_regs;
+	  break;
+	case iw_i_type:
+	  i = GET_IW_I_B (opcode);
+	  reg_base = nios2_regs;
+	  break;
+	case iw_custom_type:
+	  i = GET_IW_CUSTOM_B (opcode);
+	  if (GET_IW_CUSTOM_READB (opcode) == 0)
+	    reg_base = nios2_coprocessor_regs ();
+	  else
+	    reg_base = nios2_regs;
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       if (i < NUMREGNAMES)
 	(*info->fprintf_func) (info->stream, "%s", reg_base[i].name);
       else
 	(*info->fprintf_func) (info->stream, "unknown");
       break;
+
     case 'i':
       /* 16-bit signed immediate.  */
-      i = (signed) (GET_INSN_FIELD (IMM16, opcode) << 16) >> 16;
+      switch (op->format)
+	{
+	case iw_i_type:
+	  i = (signed) (GET_IW_I_IMM16 (opcode) << 16) >> 16;
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       (*info->fprintf_func) (info->stream, "%ld", i);
       break;
+
     case 'u':
       /* 16-bit unsigned immediate.  */
-      i = GET_INSN_FIELD (IMM16, opcode);
+      switch (op->format)
+	{
+	case iw_i_type:
+	  i = GET_IW_I_IMM16 (opcode);
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       (*info->fprintf_func) (info->stream, "%ld", i);
       break;
+
     case 'o':
       /* 16-bit signed immediate address offset.  */
-      i = (signed) (GET_INSN_FIELD (IMM16, opcode) << 16) >> 16;
+      switch (op->format)
+	{
+	case iw_i_type:
+	  i = (signed) (GET_IW_I_IMM16 (opcode) << 16) >> 16;
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       address = address + 4 + i;
       (*info->print_address_func) (address, info);
       break;
-    case 'p':
-      /* 5-bit unsigned immediate.  */
-      i = GET_INSN_FIELD (CACHE_OPX, opcode);
-      (*info->fprintf_func) (info->stream, "%ld", i);
-      break;
+
     case 'j':
       /* 5-bit unsigned immediate.  */
-      i = GET_INSN_FIELD (IMM5, opcode);
+      switch (op->format)
+	{
+	case iw_r_type:
+	  i = GET_IW_R_IMM5 (opcode);
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       (*info->fprintf_func) (info->stream, "%ld", i);
       break;
+
     case 'l':
       /* 8-bit unsigned immediate.  */
-      /* FIXME - not yet implemented */
-      i = GET_INSN_FIELD (CUSTOM_N, opcode);
+      switch (op->format)
+	{
+	case iw_custom_type:
+	  i = GET_IW_CUSTOM_N (opcode);
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       (*info->fprintf_func) (info->stream, "%lu", i);
       break;
+
     case 'm':
       /* 26-bit unsigned immediate.  */
-      i = GET_INSN_FIELD (IMM26, opcode);
+      switch (op->format)
+	{
+	case iw_j_type:
+	  i = GET_IW_J_IMM26 (opcode);
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       /* This translates to an address because it's only used in call
 	 instructions.  */
       address = (address & 0xf0000000) | (i << 2);
       (*info->print_address_func) (address, info);
       break;
+
     case 'c':
       /* Control register index.  */
-      i = GET_INSN_FIELD (IMM5, opcode);
+      switch (op->format)
+	{
+	case iw_r_type:
+	  i = GET_IW_R_IMM5 (opcode);
+	  break;
+	default:
+	  bad_opcode (op);
+	}
       reg_base = nios2_control_regs ();
       (*info->fprintf_func) (info->stream, "%s", reg_base[i].name);
       break;
-    case 'b':
-      i = GET_INSN_FIELD (IMM5, opcode);
-      (*info->fprintf_func) (info->stream, "%ld", i);
-      break;
+
     default:
       (*info->fprintf_func) (info->stream, "unknown");
       break;
@@ -328,50 +460,32 @@ nios2_disassemble (bfd_vma address, unsi
 
   /* Find the major opcode and use this to disassemble
      the instruction and its arguments.  */
-  op = nios2_find_opcode_hash (opcode);
+  op = nios2_find_opcode_hash (opcode, info->mach);
 
   if (op != NULL)
     {
-      bfd_boolean is_nop = FALSE;
-      if (op->pinfo == NIOS2_INSN_MACRO_MOV)
-	{
-	  /* Check for mov r0, r0 and change to nop.  */
-	  int dst, src;
-	  dst = GET_INSN_FIELD (RRD, opcode);
-	  src = GET_INSN_FIELD (RRS, opcode);
-	  if (dst == 0 && src == 0)
-	    {
-	      (*info->fprintf_func) (info->stream, "nop");
-	      is_nop = TRUE;
-	    }
-	  else
-	    (*info->fprintf_func) (info->stream, "%s", op->name);
-	}
-      else
-	(*info->fprintf_func) (info->stream, "%s", op->name);
-
-      if (!is_nop)
+      const char *argstr = op->args;
+      (*info->fprintf_func) (info->stream, "%s", op->name);
+      if (argstr != NULL && *argstr != '\0')
 	{
-	  const char *argstr = op->args;
-	  if (argstr != NULL && *argstr != '\0')
+	  (*info->fprintf_func) (info->stream, "\t");
+	  while (*argstr != '\0')
 	    {
-	      (*info->fprintf_func) (info->stream, "\t");
-	      while (*argstr != '\0')
-		{
-		  nios2_print_insn_arg (argstr, opcode, address, info);
-		  ++argstr;
-		}
+	      nios2_print_insn_arg (argstr, opcode, address, info, op);
+	      ++argstr;
 	    }
 	}
+      /* Tell the caller how far to advance the program counter.  */
+      info->bytes_per_chunk = op->size;
+      return op->size;
     }
   else
     {
       /* Handle undefined instructions.  */
       info->insn_type = dis_noninsn;
       (*info->fprintf_func) (info->stream, "0x%lx", opcode);
+      return INSNLEN;
     }
-  /* Tell the caller how far to advance the program counter.  */
-  return INSNLEN;
 }
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nios2-opc.c ./opcodes/nios2-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/nios2-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/nios2-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Altera Nios II opcode list.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Nigel Gray (ngray@altera.com).
    Contributed by Mentor Graphics, Inc.
 
@@ -28,136 +28,136 @@
 
 const struct nios2_reg nios2_builtin_regs[] = {
   /* Standard register names.  */
-  {"zero", 0},
-  {"at", 1},			/* assembler temporary */
-  {"r2", 2},
-  {"r3", 3},
-  {"r4", 4},
-  {"r5", 5},
-  {"r6", 6},
-  {"r7", 7},
-  {"r8", 8},
-  {"r9", 9},
-  {"r10", 10},
-  {"r11", 11},
-  {"r12", 12},
-  {"r13", 13},
-  {"r14", 14},
-  {"r15", 15},
-  {"r16", 16},
-  {"r17", 17},
-  {"r18", 18},
-  {"r19", 19},
-  {"r20", 20},
-  {"r21", 21},
-  {"r22", 22},
-  {"r23", 23},
-  {"et", 24},
-  {"bt", 25},
-  {"gp", 26},			/* global pointer */
-  {"sp", 27},			/* stack pointer */
-  {"fp", 28},			/* frame pointer */
-  {"ea", 29},			/* exception return address */
-  {"sstatus", 30},		/* saved processor status */
-  {"ra", 31},			/* return address */
+  {"zero", 0, REG_NORMAL},
+  {"at", 1, REG_NORMAL},			/* assembler temporary */
+  {"r2", 2, REG_NORMAL},
+  {"r3", 3, REG_NORMAL},
+  {"r4", 4, REG_NORMAL},
+  {"r5", 5, REG_NORMAL},
+  {"r6", 6, REG_NORMAL},
+  {"r7", 7, REG_NORMAL},
+  {"r8", 8, REG_NORMAL},
+  {"r9", 9, REG_NORMAL},
+  {"r10", 10, REG_NORMAL},
+  {"r11", 11, REG_NORMAL},
+  {"r12", 12, REG_NORMAL},
+  {"r13", 13, REG_NORMAL},
+  {"r14", 14, REG_NORMAL},
+  {"r15", 15, REG_NORMAL},
+  {"r16", 16, REG_NORMAL},
+  {"r17", 17, REG_NORMAL},
+  {"r18", 18, REG_NORMAL},
+  {"r19", 19, REG_NORMAL},
+  {"r20", 20, REG_NORMAL},
+  {"r21", 21, REG_NORMAL},
+  {"r22", 22, REG_NORMAL},
+  {"r23", 23, REG_NORMAL},
+  {"et", 24, REG_NORMAL},
+  {"bt", 25, REG_NORMAL},
+  {"gp", 26, REG_NORMAL},			/* global pointer */
+  {"sp", 27, REG_NORMAL},			/* stack pointer */
+  {"fp", 28, REG_NORMAL},			/* frame pointer */
+  {"ea", 29, REG_NORMAL},			/* exception return address */
+  {"sstatus", 30, REG_NORMAL},			/* saved processor status */
+  {"ra", 31, REG_NORMAL},			/* return address */
 
   /* Alternative names for special registers.  */
-  {"r0", 0},
-  {"r1", 1},
-  {"r24", 24},
-  {"r25", 25},
-  {"r26", 26},
-  {"r27", 27},
-  {"r28", 28},
-  {"r29", 29},
-  {"r30", 30},
-  {"ba", 30},			/* breakpoint return address */
-  {"r31", 31},
+  {"r0", 0, REG_NORMAL},
+  {"r1", 1, REG_NORMAL},
+  {"r24", 24, REG_NORMAL},
+  {"r25", 25, REG_NORMAL},
+  {"r26", 26, REG_NORMAL},
+  {"r27", 27, REG_NORMAL},
+  {"r28", 28, REG_NORMAL},
+  {"r29", 29, REG_NORMAL},
+  {"r30", 30, REG_NORMAL},
+  {"ba", 30, REG_NORMAL},			/* breakpoint return address */
+  {"r31", 31, REG_NORMAL},
 
   /* Control register names.  */
-  {"status", 0},
-  {"estatus", 1},
-  {"bstatus", 2},
-  {"ienable", 3},
-  {"ipending", 4},
-  {"cpuid", 5},
-  {"ctl6", 6},
-  {"exception", 7},
-  {"pteaddr", 8},
-  {"tlbacc", 9},
-  {"tlbmisc", 10},
-  {"eccinj", 11},
-  {"badaddr", 12},
-  {"config", 13},
-  {"mpubase", 14},
-  {"mpuacc", 15},
-  {"ctl16", 16},
-  {"ctl17", 17},
-  {"ctl18", 18},
-  {"ctl19", 19},
-  {"ctl20", 20},
-  {"ctl21", 21},
-  {"ctl22", 22},
-  {"ctl23", 23},
-  {"ctl24", 24},
-  {"ctl25", 25},
-  {"ctl26", 26},
-  {"ctl27", 27},
-  {"ctl28", 28},
-  {"ctl29", 29},
-  {"ctl30", 30},
-  {"ctl31", 31},
+  {"status", 0, REG_CONTROL},
+  {"estatus", 1, REG_CONTROL},
+  {"bstatus", 2, REG_CONTROL},
+  {"ienable", 3, REG_CONTROL},
+  {"ipending", 4, REG_CONTROL},
+  {"cpuid", 5, REG_CONTROL},
+  {"ctl6", 6, REG_CONTROL},
+  {"exception", 7, REG_CONTROL},
+  {"pteaddr", 8, REG_CONTROL},
+  {"tlbacc", 9, REG_CONTROL},
+  {"tlbmisc", 10, REG_CONTROL},
+  {"eccinj", 11, REG_CONTROL},
+  {"badaddr", 12, REG_CONTROL},
+  {"config", 13, REG_CONTROL},
+  {"mpubase", 14, REG_CONTROL},
+  {"mpuacc", 15, REG_CONTROL},
+  {"ctl16", 16, REG_CONTROL},
+  {"ctl17", 17, REG_CONTROL},
+  {"ctl18", 18, REG_CONTROL},
+  {"ctl19", 19, REG_CONTROL},
+  {"ctl20", 20, REG_CONTROL},
+  {"ctl21", 21, REG_CONTROL},
+  {"ctl22", 22, REG_CONTROL},
+  {"ctl23", 23, REG_CONTROL},
+  {"ctl24", 24, REG_CONTROL},
+  {"ctl25", 25, REG_CONTROL},
+  {"ctl26", 26, REG_CONTROL},
+  {"ctl27", 27, REG_CONTROL},
+  {"ctl28", 28, REG_CONTROL},
+  {"ctl29", 29, REG_CONTROL},
+  {"ctl30", 30, REG_CONTROL},
+  {"ctl31", 31, REG_CONTROL},
 
   /* Alternative names for special control registers.  */
-  {"ctl0", 0},
-  {"ctl1", 1},
-  {"ctl2", 2},
-  {"ctl3", 3},
-  {"ctl4", 4},
-  {"ctl5", 5},
-  {"ctl7", 7},
-  {"ctl8", 8},
-  {"ctl9", 9},
-  {"ctl10", 10},
-  {"ctl11", 11},
-  {"ctl12", 12},
-  {"ctl13", 13},
-  {"ctl14", 14},
-  {"ctl15", 15},
+  {"ctl0", 0, REG_CONTROL},
+  {"ctl1", 1, REG_CONTROL},
+  {"ctl2", 2, REG_CONTROL},
+  {"ctl3", 3, REG_CONTROL},
+  {"ctl4", 4, REG_CONTROL},
+  {"ctl5", 5, REG_CONTROL},
+  {"ctl7", 7, REG_CONTROL},
+  {"ctl8", 8, REG_CONTROL},
+  {"ctl9", 9, REG_CONTROL},
+  {"ctl10", 10, REG_CONTROL},
+  {"ctl11", 11, REG_CONTROL},
+  {"ctl12", 12, REG_CONTROL},
+  {"ctl13", 13, REG_CONTROL},
+  {"ctl14", 14, REG_CONTROL},
+  {"ctl15", 15, REG_CONTROL},
 
   /* Coprocessor register names.  */
-  {"c0", 0},
-  {"c1", 1},
-  {"c2", 2},
-  {"c3", 3},
-  {"c4", 4},
-  {"c5", 5},
-  {"c6", 6},
-  {"c7", 7},
-  {"c8", 8},
-  {"c9", 9},
-  {"c10", 10},
-  {"c11", 11},
-  {"c12", 12},
-  {"c13", 13},
-  {"c14", 14},
-  {"c15", 15},
-  {"c16", 16},
-  {"c17", 17},
-  {"c18", 18},
-  {"c19", 19},
-  {"c20", 20},
-  {"c21", 21},
-  {"c22", 22},
-  {"c23", 23},
-  {"c24", 24},
-  {"c25", 25},
-  {"c26", 26},
-  {"c27", 27},
-  {"c28", 28},
-  {"c29", 29},
-  {"c30", 30},
-  {"c31", 31},
+  {"c0", 0, REG_COPROCESSOR},
+  {"c1", 1, REG_COPROCESSOR},
+  {"c2", 2, REG_COPROCESSOR},
+  {"c3", 3, REG_COPROCESSOR},
+  {"c4", 4, REG_COPROCESSOR},
+  {"c5", 5, REG_COPROCESSOR},
+  {"c6", 6, REG_COPROCESSOR},
+  {"c7", 7, REG_COPROCESSOR},
+  {"c8", 8, REG_COPROCESSOR},
+  {"c9", 9, REG_COPROCESSOR},
+  {"c10", 10, REG_COPROCESSOR},
+  {"c11", 11, REG_COPROCESSOR},
+  {"c12", 12, REG_COPROCESSOR},
+  {"c13", 13, REG_COPROCESSOR},
+  {"c14", 14, REG_COPROCESSOR},
+  {"c15", 15, REG_COPROCESSOR},
+  {"c16", 16, REG_COPROCESSOR},
+  {"c17", 17, REG_COPROCESSOR},
+  {"c18", 18, REG_COPROCESSOR},
+  {"c19", 19, REG_COPROCESSOR},
+  {"c20", 20, REG_COPROCESSOR},
+  {"c21", 21, REG_COPROCESSOR},
+  {"c22", 22, REG_COPROCESSOR},
+  {"c23", 23, REG_COPROCESSOR},
+  {"c24", 24, REG_COPROCESSOR},
+  {"c25", 25, REG_COPROCESSOR},
+  {"c26", 26, REG_COPROCESSOR},
+  {"c27", 27, REG_COPROCESSOR},
+  {"c28", 28, REG_COPROCESSOR},
+  {"c29", 29, REG_COPROCESSOR},
+  {"c30", 30, REG_COPROCESSOR},
+  {"c31", 31, REG_COPROCESSOR},
 };
 
 #define NIOS2_NUM_REGS \
@@ -172,244 +172,236 @@ int nios2_num_regs = NIOS2_NUM_REGS;
 
 /* This is the opcode table used by the Nios II GNU as, disassembler
    and GDB.  */
-const struct nios2_opcode nios2_builtin_opcodes[] =
+const struct nios2_opcode nios2_r1_opcodes[] =
 {
-  /* { name, args, args_test, num_args,
-       match, mask, pinfo, overflow_msg } */
-  {"add", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_ADD, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"addi", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_ADDI, OP_MASK_IOP, NIOS2_INSN_ADDI, signed_immed16_overflow},
-  {"subi", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_ADDI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow},
-  {"and", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_AND, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"andhi", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_ANDHI, OP_MASK_IOP, 0, unsigned_immed16_overflow},
-  {"andi", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_ANDI, OP_MASK_IOP, NIOS2_INSN_ANDI, unsigned_immed16_overflow},
-  {"beq", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BEQ, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow},
-  {"bge", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BGE, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow},
-  {"bgeu", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BGEU, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow},
-  {"bgt", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BLT, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH,
-   branch_target_overflow},
-  {"bgtu", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BLTU, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH,
-   branch_target_overflow},
-  {"ble", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BGE, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH,
-   branch_target_overflow},
-  {"bleu", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BGEU, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH,
-   branch_target_overflow},
-  {"blt", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BLT, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow},
-  {"bltu", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BLTU, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow},
-  {"bne", "s,t,o", "s,t,o,E", 3,
-   OP_MATCH_BNE, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow},
-  {"br", "o", "o,E", 1,
-   OP_MATCH_BR, OP_MASK_IOP, NIOS2_INSN_UBRANCH, branch_target_overflow},
-  {"break", "b", "b,E", 1,
-   OP_MATCH_BREAK, OP_MASK_BREAK, 0, no_overflow},
-  {"bret", "", "E", 0,
-   OP_MATCH_BRET, OP_MASK, 0, no_overflow},
-  {"flushd", "i(s)", "i(s)E", 2,
-   OP_MATCH_FLUSHD, OP_MASK_IOP, 0, signed_immed16_overflow},
-  {"flushda", "i(s)", "i(s)E", 2,
-   OP_MATCH_FLUSHDA, OP_MASK_IOP, 0, signed_immed16_overflow},
-  {"flushi", "s", "s,E", 1,
-   OP_MATCH_FLUSHI, OP_MASK_FLUSHI, 0, no_overflow},
-  {"flushp", "", "E", 0,
-   OP_MATCH_FLUSHP, OP_MASK, 0, no_overflow},
-  {"initd", "i(s)", "i(s)E", 2,
-   OP_MATCH_INITD, OP_MASK_IOP, 0, signed_immed16_overflow},
-  {"initda", "i(s)", "i(s)E", 2,
-   OP_MATCH_INITDA, OP_MASK_IOP, 0, signed_immed16_overflow},
-  {"initi", "s", "s,E", 1,
-   OP_MATCH_INITI, OP_MASK_INITI, 0, no_overflow},
-  {"call", "m", "m,E", 1,
-   OP_MATCH_CALL, OP_MASK_IOP, NIOS2_INSN_CALL, call_target_overflow},
-  {"callr", "s", "s,E", 1,
-   OP_MATCH_CALLR, OP_MASK_CALLR, 0, no_overflow},
-  {"cmpeq", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPEQ, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"cmpeqi", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_CMPEQI, OP_MASK_IOP, 0, signed_immed16_overflow},
-  {"cmpge", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPGE, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"cmpgei", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_CMPGEI, OP_MASK_IOP, 0, signed_immed16_overflow},
-  {"cmpgeu", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPGEU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"cmpgeui", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_CMPGEUI, OP_MASK_IOP, 0, unsigned_immed16_overflow},
-  {"cmpgt", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPLT, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow},
-  {"cmpgti", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_CMPGEI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow},
-  {"cmpgtu", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPLTU, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow},
-  {"cmpgtui", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_CMPGEUI, OP_MASK_IOP, NIOS2_INSN_MACRO, unsigned_immed16_overflow},
-  {"cmple", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPGE, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow},
-  {"cmplei", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_CMPLTI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow},
-  {"cmpleu", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPGEU, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow},
-  {"cmpleui", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_CMPLTUI, OP_MASK_IOP, NIOS2_INSN_MACRO, unsigned_immed16_overflow},
-  {"cmplt", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPLT, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"cmplti", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_CMPLTI, OP_MASK_IOP, 0, signed_immed16_overflow},
-  {"cmpltu", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPLTU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"cmpltui", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_CMPLTUI, OP_MASK_IOP, 0, unsigned_immed16_overflow},
-  {"cmpne", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_CMPNE, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"cmpnei", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_CMPNEI, OP_MASK_IOP, 0, signed_immed16_overflow},
-  {"div", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_DIV, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"divu", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_DIVU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"jmp", "s", "s,E", 1,
-   OP_MATCH_JMP, OP_MASK_JMP, 0, no_overflow},
-  {"jmpi", "m", "m,E", 1,
-   OP_MATCH_JMPI, OP_MASK_IOP, 0, no_overflow},
-  {"ldb", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDB, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldbio", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDBIO, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldbu", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDBU, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldbuio", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDBUIO, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldh", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDH, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldhio", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDHIO, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldhu", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDHU, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldhuio", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDHUIO, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldl", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDL, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldw", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDW, OP_MASK_IOP, 0, address_offset_overflow},
-  {"ldwio", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_LDWIO, OP_MASK_IOP, 0, address_offset_overflow},
-  {"mov", "d,s", "d,s,E", 2,
-   OP_MATCH_ADD, OP_MASK_RRT|OP_MASK_ROPX|OP_MASK_ROP, NIOS2_INSN_MACRO_MOV,
-   no_overflow},
-  {"movhi", "t,u", "t,u,E", 2,
-   OP_MATCH_ORHI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI,
-   unsigned_immed16_overflow},
-  {"movui", "t,u", "t,u,E", 2,
-   OP_MATCH_ORI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI,
-   unsigned_immed16_overflow},
-  {"movi", "t,i", "t,i,E", 2,
-   OP_MATCH_ADDI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI,
-   signed_immed16_overflow},
-  /* movia expands to two instructions so there is no mask or match */
-  {"movia", "t,o", "t,o,E", 2,
-   OP_MATCH_ORHI, OP_MASK_IOP, NIOS2_INSN_MACRO_MOVIA, no_overflow},
-  {"mul", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_MUL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"muli", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_MULI, OP_MASK_IOP, 0, signed_immed16_overflow},
-  {"mulxss", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_MULXSS, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"mulxsu", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_MULXSU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"mulxuu", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_MULXUU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"nextpc", "d", "d,E", 1,
-   OP_MATCH_NEXTPC, OP_MASK_NEXTPC, 0, no_overflow},
-  {"nop", "", "E", 0,
-   OP_MATCH_ADD, OP_MASK, NIOS2_INSN_MACRO_MOV, no_overflow},
-  {"nor", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_NOR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"or", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_OR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"orhi", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_ORHI, OP_MASK_IOP, 0, unsigned_immed16_overflow},
-  {"ori", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_ORI, OP_MASK_IOP, NIOS2_INSN_ORI, unsigned_immed16_overflow},
-  {"rdctl", "d,c", "d,c,E", 2,
-   OP_MATCH_RDCTL, OP_MASK_RDCTL, 0, no_overflow},
-  {"rdprs", "t,s,i", "t,s,i,E", 3,
-   OP_MATCH_RDPRS, OP_MASK_IOP, 0, unsigned_immed16_overflow},
-  {"ret", "", "E", 0,
-   OP_MATCH_RET, OP_MASK, 0, no_overflow},
-  {"rol", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_ROL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"roli", "d,s,j", "d,s,j,E", 3,
-   OP_MATCH_ROLI, OP_MASK_ROLI, 0, unsigned_immed5_overflow},
-  {"ror", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_ROR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"sll", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_SLL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"slli", "d,s,j", "d,s,j,E", 3,
-   OP_MATCH_SLLI, OP_MASK_SLLI, 0, unsigned_immed5_overflow},
-  {"sra", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_SRA, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"srai", "d,s,j", "d,s,j,E", 3,
-   OP_MATCH_SRAI, OP_MASK_SRAI, 0, unsigned_immed5_overflow},
-  {"srl", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_SRL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"srli", "d,s,j", "d,s,j,E", 3,
-   OP_MATCH_SRLI, OP_MASK_SRLI, 0, unsigned_immed5_overflow},
-  {"stb", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_STB, OP_MASK_IOP, 0, address_offset_overflow},
-  {"stbio", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_STBIO, OP_MASK_IOP, 0, address_offset_overflow},
-  {"stc", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_STC, OP_MASK_IOP, 0, address_offset_overflow},
-  {"sth", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_STH, OP_MASK_IOP, 0, address_offset_overflow},
-  {"sthio", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_STHIO, OP_MASK_IOP, 0, address_offset_overflow},
-  {"stw", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_STW, OP_MASK_IOP, 0, address_offset_overflow},
-  {"stwio", "t,i(s)", "t,i(s)E", 3,
-   OP_MATCH_STWIO, OP_MASK_IOP, 0, address_offset_overflow},
-  {"sub", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_SUB, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"sync", "", "E", 0,
-   OP_MATCH_SYNC, OP_MASK_SYNC, 0, no_overflow},
-  {"trap", "b", "b,E", 1,
-   OP_MATCH_TRAP, OP_MASK_TRAP, 0, no_overflow},
-  {"eret", "", "E", 0,
-   OP_MATCH_ERET, OP_MASK, 0, no_overflow},
-  {"custom", "l,d,s,t", "l,d,s,t,E", 4,
-   OP_MATCH_CUSTOM, OP_MASK_ROP, 0, custom_opcode_overflow},
-  {"wrctl", "c,s", "c,s,E", 2,
-   OP_MATCH_WRCTL, OP_MASK_WRCTL, 0, no_overflow},
-  {"wrprs", "d,s", "d,s,E", 2,
-   OP_MATCH_WRPRS, OP_MASK_RRT|OP_MASK_ROPX|OP_MASK_ROP, 0, no_overflow},
-  {"xor", "d,s,t", "d,s,t,E", 3,
-   OP_MATCH_XOR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow},
-  {"xorhi", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_XORHI, OP_MASK_IOP, 0, unsigned_immed16_overflow},
-  {"xori", "t,s,u", "t,s,u,E", 3,
-   OP_MATCH_XORI, OP_MASK_IOP, NIOS2_INSN_XORI, unsigned_immed16_overflow}
+  /* { name, args, args_test, num_args, size, format,
+       match, mask, pinfo, overflow } */
+  {"add", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_ADD, MASK_R1_ADD, 0, no_overflow},
+  {"addi", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_ADDI, MASK_R1_ADDI, 0, signed_immed16_overflow},
+  {"and", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_AND, MASK_R1_AND, 0, no_overflow},
+  {"andhi", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_ANDHI, MASK_R1_ANDHI, 0, unsigned_immed16_overflow},
+  {"andi", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_ANDI, MASK_R1_ANDI, 0, unsigned_immed16_overflow},
+  {"beq", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BEQ, MASK_R1_BEQ, NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"bge", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BGE, MASK_R1_BGE, NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"bgeu", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BGEU, MASK_R1_BGEU, NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"bgt", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BGT, MASK_R1_BGT,
+   NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"bgtu", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BGTU, MASK_R1_BGTU,
+   NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"ble", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BLE, MASK_R1_BLE,
+   NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"bleu", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BLEU, MASK_R1_BLEU,
+   NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"blt", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BLT, MASK_R1_BLT, NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"bltu", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BLTU, MASK_R1_BLTU, NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"bne", "s,t,o", "s,t,o,E", 3, 4, iw_i_type,
+   MATCH_R1_BNE, MASK_R1_BNE, NIOS2_INSN_CBRANCH, branch_target_overflow},
+  {"br", "o", "o,E", 1, 4, iw_i_type,
+   MATCH_R1_BR, MASK_R1_BR, NIOS2_INSN_UBRANCH, branch_target_overflow},
+  {"break", "j", "j,E", 1, 4, iw_r_type,
+   MATCH_R1_BREAK, MASK_R1_BREAK, NIOS2_INSN_OPTARG, no_overflow},
+  {"bret", "", "E", 0, 4, iw_r_type,
+   MATCH_R1_BRET, MASK_R1_BRET, 0, no_overflow},
+  {"call", "m", "m,E", 1, 4, iw_j_type,
+   MATCH_R1_CALL, MASK_R1_CALL, NIOS2_INSN_CALL, call_target_overflow},
+  {"callr", "s", "s,E", 1, 4, iw_r_type,
+   MATCH_R1_CALLR, MASK_R1_CALLR, 0, no_overflow},
+  {"cmpeq", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPEQ, MASK_R1_CMPEQ, 0, no_overflow},
+  {"cmpeqi", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPEQI, MASK_R1_CMPEQI, 0, signed_immed16_overflow},
+  {"cmpge", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPGE, MASK_R1_CMPGE, 0, no_overflow},
+  {"cmpgei", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPGEI, MASK_R1_CMPGEI, 0, signed_immed16_overflow},
+  {"cmpgeu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPGEU, MASK_R1_CMPGEU, 0, no_overflow},
+  {"cmpgeui", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPGEUI, MASK_R1_CMPGEUI, 0, unsigned_immed16_overflow},
+  {"cmpgt", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPGT, MASK_R1_CMPGT, NIOS2_INSN_MACRO, no_overflow},
+  {"cmpgti", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPGTI, MASK_R1_CMPGTI, NIOS2_INSN_MACRO, signed_immed16_overflow},
+  {"cmpgtu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPGTU, MASK_R1_CMPGTU, NIOS2_INSN_MACRO, no_overflow},
+  {"cmpgtui", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPGTUI, MASK_R1_CMPGTUI,
+   NIOS2_INSN_MACRO, unsigned_immed16_overflow},
+  {"cmple", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPLE, MASK_R1_CMPLE, NIOS2_INSN_MACRO, no_overflow},
+  {"cmplei", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPLEI, MASK_R1_CMPLEI, NIOS2_INSN_MACRO, signed_immed16_overflow},
+  {"cmpleu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPLEU, MASK_R1_CMPLEU, NIOS2_INSN_MACRO, no_overflow},
+  {"cmpleui", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPLEUI, MASK_R1_CMPLEUI,
+   NIOS2_INSN_MACRO, unsigned_immed16_overflow},
+  {"cmplt", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPLT, MASK_R1_CMPLT, 0, no_overflow},
+  {"cmplti", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPLTI, MASK_R1_CMPLTI, 0, signed_immed16_overflow},
+  {"cmpltu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPLTU, MASK_R1_CMPLTU, 0, no_overflow},
+  {"cmpltui", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPLTUI, MASK_R1_CMPLTUI, 0, unsigned_immed16_overflow},
+  {"cmpne", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_CMPNE, MASK_R1_CMPNE, 0, no_overflow},
+  {"cmpnei", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_CMPNEI, MASK_R1_CMPNEI, 0, signed_immed16_overflow},
+  {"custom", "l,d,s,t", "l,d,s,t,E", 4, 4, iw_custom_type,
+   MATCH_R1_CUSTOM, MASK_R1_CUSTOM, 0, custom_opcode_overflow},
+  {"div", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_DIV, MASK_R1_DIV, 0, no_overflow},
+  {"divu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_DIVU, MASK_R1_DIVU, 0, no_overflow},
+  {"eret", "", "E", 0, 4, iw_r_type,
+   MATCH_R1_ERET, MASK_R1_ERET, 0, no_overflow},
+  {"flushd", "i(s)", "i(s),E", 2, 4, iw_i_type,
+   MATCH_R1_FLUSHD, MASK_R1_FLUSHD, 0, address_offset_overflow},
+  {"flushda", "i(s)", "i(s),E", 2, 4, iw_i_type,
+   MATCH_R1_FLUSHDA, MASK_R1_FLUSHDA, 0, address_offset_overflow},
+  {"flushi", "s", "s,E", 1, 4, iw_r_type,
+   MATCH_R1_FLUSHI, MASK_R1_FLUSHI, 0, no_overflow},
+  {"flushp", "", "E", 0, 4, iw_r_type,
+   MATCH_R1_FLUSHP, MASK_R1_FLUSHP, 0, no_overflow},
+  {"initd", "i(s)", "i(s),E", 2, 4, iw_i_type,
+   MATCH_R1_INITD, MASK_R1_INITD, 0, address_offset_overflow},
+  {"initda", "i(s)", "i(s),E", 2, 4, iw_i_type,
+   MATCH_R1_INITDA, MASK_R1_INITDA, 0, address_offset_overflow},
+  {"initi", "s", "s,E", 1, 4, iw_r_type,
+   MATCH_R1_INITI, MASK_R1_INITI, 0, no_overflow},
+  {"jmp", "s", "s,E", 1, 4, iw_r_type,
+   MATCH_R1_JMP, MASK_R1_JMP, 0, no_overflow},
+  {"jmpi", "m", "m,E", 1, 4, iw_j_type,
+   MATCH_R1_JMPI, MASK_R1_JMPI, 0, call_target_overflow},
+  {"ldb", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDB, MASK_R1_LDB, 0, address_offset_overflow},
+  {"ldbio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDBIO, MASK_R1_LDBIO, 0, address_offset_overflow},
+  {"ldbu", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDBU, MASK_R1_LDBU, 0, address_offset_overflow},
+  {"ldbuio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDBUIO, MASK_R1_LDBUIO, 0, address_offset_overflow},
+  {"ldh", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDH, MASK_R1_LDH, 0, address_offset_overflow},
+  {"ldhio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDHIO, MASK_R1_LDHIO, 0, address_offset_overflow},
+  {"ldhu", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDHU, MASK_R1_LDHU, 0, address_offset_overflow},
+  {"ldhuio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDHUIO, MASK_R1_LDHUIO, 0, address_offset_overflow},
+  {"ldw", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDW, MASK_R1_LDW, 0, address_offset_overflow},
+  {"ldwio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_LDWIO, MASK_R1_LDWIO, 0, address_offset_overflow},
+  {"mov", "d,s", "d,s,E", 2, 4, iw_r_type,
+   MATCH_R1_MOV, MASK_R1_MOV, NIOS2_INSN_MACRO_MOV, no_overflow},
+  {"movhi", "t,u", "t,u,E", 2, 4, iw_i_type,
+   MATCH_R1_MOVHI, MASK_R1_MOVHI,
+   NIOS2_INSN_MACRO_MOVI, unsigned_immed16_overflow},
+  {"movi", "t,i", "t,i,E", 2, 4, iw_i_type,
+   MATCH_R1_MOVI, MASK_R1_MOVI, NIOS2_INSN_MACRO_MOVI, signed_immed16_overflow},
+  {"movia", "t,o", "t,o,E", 2, 4, iw_i_type,
+   MATCH_R1_ORHI, MASK_R1_ORHI, NIOS2_INSN_MACRO_MOVIA, no_overflow},
+  {"movui", "t,u", "t,u,E", 2, 4, iw_i_type,
+   MATCH_R1_MOVUI, MASK_R1_MOVUI,
+   NIOS2_INSN_MACRO_MOVI, unsigned_immed16_overflow},
+  {"mul", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_MUL, MASK_R1_MUL, 0, no_overflow},
+  {"muli", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_MULI, MASK_R1_MULI, 0, signed_immed16_overflow},
+  {"mulxss", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_MULXSS, MASK_R1_MULXSS, 0, no_overflow},
+  {"mulxsu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_MULXSU, MASK_R1_MULXSU, 0, no_overflow},
+  {"mulxuu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_MULXUU, MASK_R1_MULXUU, 0, no_overflow},
+  {"nextpc", "d", "d,E", 1, 4, iw_r_type,
+   MATCH_R1_NEXTPC, MASK_R1_NEXTPC, 0, no_overflow},
+  {"nop", "", "E", 0, 4, iw_r_type,
+   MATCH_R1_NOP, MASK_R1_NOP, NIOS2_INSN_MACRO_MOV, no_overflow},
+  {"nor", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_NOR, MASK_R1_NOR, 0, no_overflow},
+  {"or", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_OR, MASK_R1_OR, 0, no_overflow},
+  {"orhi", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_ORHI, MASK_R1_ORHI, 0, unsigned_immed16_overflow},
+  {"ori", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_ORI, MASK_R1_ORI, 0, unsigned_immed16_overflow},
+  {"rdctl", "d,c", "d,c,E", 2, 4, iw_r_type,
+   MATCH_R1_RDCTL, MASK_R1_RDCTL, 0, no_overflow},
+  {"rdprs", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_RDPRS, MASK_R1_RDPRS, 0, signed_immed16_overflow},
+  {"ret", "", "E", 0, 4, iw_r_type,
+   MATCH_R1_RET, MASK_R1_RET, 0, no_overflow},
+  {"rol", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_ROL, MASK_R1_ROL, 0, no_overflow},
+  {"roli", "d,s,j", "d,s,j,E", 3, 4, iw_r_type,
+   MATCH_R1_ROLI, MASK_R1_ROLI, 0, unsigned_immed5_overflow},
+  {"ror", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_ROR, MASK_R1_ROR, 0, no_overflow},
+  {"sll", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_SLL, MASK_R1_SLL, 0, no_overflow},
+  {"slli", "d,s,j", "d,s,j,E", 3, 4, iw_r_type,
+   MATCH_R1_SLLI, MASK_R1_SLLI, 0, unsigned_immed5_overflow},
+  {"sra", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_SRA, MASK_R1_SRA, 0, no_overflow},
+  {"srai", "d,s,j", "d,s,j,E", 3, 4, iw_r_type,
+   MATCH_R1_SRAI, MASK_R1_SRAI, 0, unsigned_immed5_overflow},
+  {"srl", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_SRL, MASK_R1_SRL, 0, no_overflow},
+  {"srli", "d,s,j", "d,s,j,E", 3, 4, iw_r_type,
+   MATCH_R1_SRLI, MASK_R1_SRLI, 0, unsigned_immed5_overflow},
+  {"stb", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_STB, MASK_R1_STB, 0, address_offset_overflow},
+  {"stbio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_STBIO, MASK_R1_STBIO, 0, address_offset_overflow},
+  {"sth", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_STH, MASK_R1_STH, 0, address_offset_overflow},
+  {"sthio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_STHIO, MASK_R1_STHIO, 0, address_offset_overflow},
+  {"stw", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_STW, MASK_R1_STW, 0, address_offset_overflow},
+  {"stwio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type,
+   MATCH_R1_STWIO, MASK_R1_STWIO, 0, address_offset_overflow},
+  {"sub", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_SUB, MASK_R1_SUB, 0, no_overflow},
+  {"subi", "t,s,i", "t,s,i,E", 3, 4, iw_i_type,
+   MATCH_R1_SUBI, MASK_R1_SUBI, NIOS2_INSN_MACRO, signed_immed16_overflow},
+  {"sync", "", "E", 0, 4, iw_r_type,
+   MATCH_R1_SYNC, MASK_R1_SYNC, 0, no_overflow},
+  {"trap", "j", "j,E", 1, 4, iw_r_type,
+   MATCH_R1_TRAP, MASK_R1_TRAP, NIOS2_INSN_OPTARG, no_overflow},
+  {"wrctl", "c,s", "c,s,E", 2, 4, iw_r_type,
+   MATCH_R1_WRCTL, MASK_R1_WRCTL, 0, no_overflow},
+  {"wrprs", "d,s", "d,s,E", 2, 4, iw_r_type,
+   MATCH_R1_WRPRS, MASK_R1_WRPRS, 0, no_overflow},
+  {"xor", "d,s,t", "d,s,t,E", 3, 4, iw_r_type,
+   MATCH_R1_XOR, MASK_R1_XOR, 0, no_overflow},
+  {"xorhi", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_XORHI, MASK_R1_XORHI, 0, unsigned_immed16_overflow},
+  {"xori", "t,s,u", "t,s,u,E", 3, 4, iw_i_type,
+   MATCH_R1_XORI, MASK_R1_XORI, 0, unsigned_immed16_overflow}
 };
 
 #define NIOS2_NUM_OPCODES \
-       ((sizeof nios2_builtin_opcodes) / (sizeof (nios2_builtin_opcodes[0])))
-const int bfd_nios2_num_builtin_opcodes = NIOS2_NUM_OPCODES;
+       ((sizeof nios2_r1_opcodes) / (sizeof (nios2_r1_opcodes[0])))
+const int nios2_num_r1_opcodes = NIOS2_NUM_OPCODES;
 
-/* This is not const to allow for dynamic extensions to the
-   built-in instruction set. */
-struct nios2_opcode *nios2_opcodes =
-  (struct nios2_opcode *) nios2_builtin_opcodes;
-int bfd_nios2_num_opcodes = NIOS2_NUM_OPCODES;
+struct nios2_opcode *nios2_opcodes = (struct nios2_opcode *) nios2_r1_opcodes;
+int nios2_num_opcodes = NIOS2_NUM_OPCODES;
 #undef NIOS2_NUM_OPCODES
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ns32k-dis.c ./opcodes/ns32k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ns32k-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ns32k-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print National Semiconductor 32000 instructions.
-   Copyright (C) 1986-2014 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/opc2c.c ./opcodes/opc2c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/opc2c.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/opc2c.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* opc2c.c --- generate C opcode decoder code from from .opc file
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU opcode library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/opintl.h ./opcodes/opintl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/opintl.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/opintl.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* opintl.h - opcodes specific header for gettext code.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
    Written by Tom Tromey <tromey@cygnus.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-asm.c ./opcodes/or1k-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/or1k-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
@@ -56,11 +56,11 @@ static const char * MISSING_CLOSING_PARE
 
 static const char *
 parse_disp26 (CGEN_CPU_DESC cd,
-              const char ** strp,
-              int opindex,
-              int opinfo,
-              enum cgen_parse_operand_result * resultp,
-              bfd_vma * valuep)
+	      const char ** strp,
+	      int opindex,
+	      int opinfo,
+	      enum cgen_parse_operand_result * resultp,
+	      bfd_vma * valuep)
 {
   const char *errmsg = NULL;
   enum cgen_parse_operand_result result_type;
@@ -71,13 +71,13 @@ parse_disp26 (CGEN_CPU_DESC cd,
 
       *strp += 4;
       errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_OR1K_PLT26,
-                                   & result_type, & value);
+				   & result_type, & value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 2) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 2) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -100,9 +100,9 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 3;
       errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_HI16,
-        			   & result_type, & value);
+				   & result_type, & value);
       if (**strp != ')')
-        errmsg = MISSING_CLOSING_PARENTHESIS;
+	errmsg = MISSING_CLOSING_PARENTHESIS;
       ++*strp;
 
       ret = value;
@@ -121,11 +121,11 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 3;
       errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
-        			   & result_type, & value);
+				   & result_type, & value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
-      
+
       ret = value;
 
       if (result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
@@ -140,13 +140,13 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 4;
       errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_OR1K_GOT16,
-                                   & result_type, & value);
+				   & result_type, & value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -156,14 +156,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_GOTPC_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_GOTPC_HI16,
+				   & result_type, & value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -173,14 +173,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_GOTPC_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_GOTPC_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -190,15 +190,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_GOTOFF_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_GOTOFF_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -208,14 +208,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_GOTOFF_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_GOTOFF_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -225,15 +225,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_GD_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_GD_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -243,14 +243,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_GD_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_GD_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -260,15 +260,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LDM_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_LDM_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -278,14 +278,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LDM_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_LDM_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -295,15 +295,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LDO_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_LDO_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -313,14 +313,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 9;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LDO_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_LDO_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -330,15 +330,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 11;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_IE_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_IE_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -348,14 +348,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 11;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_IE_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_IE_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -365,15 +365,15 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LE_HI16,
-                                   & result_type, & value);
+				   BFD_RELOC_OR1K_TLS_LE_HI16,
+				   & result_type, & value);
 
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value = (value >> 16) & 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value = (value >> 16) & 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -383,14 +383,14 @@ parse_simm16 (CGEN_CPU_DESC cd, const ch
 
       *strp += 8;
       errmsg = cgen_parse_address (cd, strp, opindex,
-                                   BFD_RELOC_OR1K_TLS_LE_LO16,
-                                   &result_type, &value);
+				   BFD_RELOC_OR1K_TLS_LE_LO16,
+				   &result_type, &value);
       if (**strp != ')')
-        return MISSING_CLOSING_PARENTHESIS;
+	return MISSING_CLOSING_PARENTHESIS;
       ++*strp;
       if (errmsg == NULL
-          && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
-        value &= 0xffff;
+	  && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+	value &= 0xffff;
       *valuep = value;
       return errmsg;
     }
@@ -411,6 +411,7 @@ static const char *
 parse_uimm16 (CGEN_CPU_DESC cd, const char ** strp, int opindex, unsigned long * valuep)
 {
   const char *errmsg = parse_simm16(cd, strp, opindex, (long *) valuep);
+
   if (errmsg == NULL)
     *valuep &= 0xffff;
   return errmsg;
@@ -505,7 +506,7 @@ or1k_cgen_parse_operand (CGEN_CPU_DESC c
   return errmsg;
 }
 
-cgen_parse_fn * const or1k_cgen_parse_handlers[] =
+cgen_parse_fn * const or1k_cgen_parse_handlers[] = 
 {
   parse_insn_normal,
 };
@@ -535,9 +536,9 @@ CGEN_ASM_INIT_HOOK
 
    Returns NULL for success, an error message for failure.  */
 
-char *
+char * 
 or1k_cgen_build_insn_regex (CGEN_INSN *insn)
-{
+{  
   CGEN_OPCODE *opc = (CGEN_OPCODE *) CGEN_INSN_OPCODE (insn);
   const char *mnem = CGEN_INSN_MNEMONIC (insn);
   char rxbuf[CGEN_MAX_RX_ELEMENTS];
@@ -576,18 +577,18 @@ or1k_cgen_build_insn_regex (CGEN_INSN *i
   /* Copy any remaining literals from the syntax string into the rx.  */
   for(; * syn != 0 && rx <= rxbuf + (CGEN_MAX_RX_ELEMENTS - 7 - 4); ++syn)
     {
-      if (CGEN_SYNTAX_CHAR_P (* syn))
+      if (CGEN_SYNTAX_CHAR_P (* syn)) 
 	{
 	  char c = CGEN_SYNTAX_CHAR (* syn);
 
-	  switch (c)
+	  switch (c) 
 	    {
 	      /* Escape any regex metacharacters in the syntax.  */
-	    case '.': case '[': case '\\':
-	    case '*': case '^': case '$':
+	    case '.': case '[': case '\\': 
+	    case '*': case '^': case '$': 
 
 #ifdef CGEN_ESCAPE_EXTENDED_REGEX
-	    case '?': case '{': case '}':
+	    case '?': case '{': case '}': 
 	    case '(': case ')': case '*':
 	    case '|': case '+': case ']':
 #endif
@@ -617,20 +618,20 @@ or1k_cgen_build_insn_regex (CGEN_INSN *i
     }
 
   /* Trailing whitespace ok.  */
-  * rx++ = '[';
-  * rx++ = ' ';
-  * rx++ = '\t';
-  * rx++ = ']';
-  * rx++ = '*';
+  * rx++ = '['; 
+  * rx++ = ' '; 
+  * rx++ = '\t'; 
+  * rx++ = ']'; 
+  * rx++ = '*'; 
 
   /* But anchor it after that.  */
-  * rx++ = '$';
+  * rx++ = '$'; 
   * rx = '\0';
 
   CGEN_INSN_RX (insn) = xmalloc (sizeof (regex_t));
   reg_err = regcomp ((regex_t *) CGEN_INSN_RX (insn), rxbuf, REG_NOSUB);
 
-  if (reg_err == 0)
+  if (reg_err == 0) 
     return NULL;
   else
     {
@@ -829,7 +830,7 @@ or1k_cgen_assemble_insn (CGEN_CPU_DESC c
       const CGEN_INSN *insn = ilist->insn;
       recognized_mnemonic = 1;
 
-#ifdef CGEN_VALIDATE_INSN_SUPPORTED
+#ifdef CGEN_VALIDATE_INSN_SUPPORTED 
       /* Not usually needed as unsupported opcodes
 	 shouldn't be in the hash lists.  */
       /* Is this insn supported by the selected cpu?  */
@@ -889,7 +890,7 @@ or1k_cgen_assemble_insn (CGEN_CPU_DESC c
 	if (strlen (start) > 50)
 	  /* xgettext:c-format */
 	  sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
-	else
+	else 
 	  /* xgettext:c-format */
 	  sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
       }
@@ -898,11 +899,11 @@ or1k_cgen_assemble_insn (CGEN_CPU_DESC c
 	if (strlen (start) > 50)
 	  /* xgettext:c-format */
 	  sprintf (errbuf, _("bad instruction `%.50s...'"), start);
-	else
+	else 
 	  /* xgettext:c-format */
 	  sprintf (errbuf, _("bad instruction `%.50s'"), start);
       }
-
+      
     *errmsg = errbuf;
     return NULL;
   }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-desc.c ./opcodes/or1k-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/or1k-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2010 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
@@ -952,6 +952,7 @@ const CGEN_IFLD or1k_cgen_ifld_table[] =
   { OR1K_F_RESV_25_10, "f-resv-25-10", 0, 32, 25, 10, { 0|A(RESERVED), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
   { OR1K_F_RESV_25_5, "f-resv-25-5", 0, 32, 25, 5, { 0|A(RESERVED), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
   { OR1K_F_RESV_23_8, "f-resv-23-8", 0, 32, 23, 8, { 0|A(RESERVED), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
+  { OR1K_F_RESV_20_21, "f-resv-20-21", 0, 32, 20, 21, { 0|A(RESERVED), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
   { OR1K_F_RESV_20_5, "f-resv-20-5", 0, 32, 20, 5, { 0|A(RESERVED), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
   { OR1K_F_RESV_20_4, "f-resv-20-4", 0, 32, 20, 4, { 0|A(RESERVED), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
   { OR1K_F_RESV_15_8, "f-resv-15-8", 0, 32, 15, 8, { 0|A(RESERVED), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
@@ -1007,59 +1008,59 @@ const CGEN_OPERAND or1k_cgen_operand_tab
 {
 /* pc: program counter */
   { "pc", OR1K_OPERAND_PC, HW_H_PC, 0, 0,
-    { 0, { (const PTR) &or1k_cgen_ifld_table[OR1K_F_NIL] } },
+    { 0, { (const PTR) &or1k_cgen_ifld_table[OR1K_F_NIL] } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_BASE), 0 } } } }  },
 /* sys-sr: supervision register */
   { "sys-sr", OR1K_OPERAND_SYS_SR, HW_H_SYS_SR, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-esr0: exception supervision register 0 */
   { "sys-esr0", OR1K_OPERAND_SYS_ESR0, HW_H_SYS_ESR0, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-epcr0: exception PC register 0 */
   { "sys-epcr0", OR1K_OPERAND_SYS_EPCR0, HW_H_SYS_EPCR0, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-sr-lee: SR little endian enable bit */
   { "sys-sr-lee", OR1K_OPERAND_SYS_SR_LEE, HW_H_SYS_SR_LEE, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-sr-f: SR flag bit */
   { "sys-sr-f", OR1K_OPERAND_SYS_SR_F, HW_H_SYS_SR_F, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-sr-cy: SR carry bit */
   { "sys-sr-cy", OR1K_OPERAND_SYS_SR_CY, HW_H_SYS_SR_CY, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-sr-ov: SR overflow bit */
   { "sys-sr-ov", OR1K_OPERAND_SYS_SR_OV, HW_H_SYS_SR_OV, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-sr-ove: SR overflow exception enable bit */
   { "sys-sr-ove", OR1K_OPERAND_SYS_SR_OVE, HW_H_SYS_SR_OVE, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-cpucfgr-ob64s: CPUCFGR ORBIS64 supported bit */
   { "sys-cpucfgr-ob64s", OR1K_OPERAND_SYS_CPUCFGR_OB64S, HW_H_SYS_CPUCFGR_OB64S, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-cpucfgr-nd: CPUCFGR no delay bit */
   { "sys-cpucfgr-nd", OR1K_OPERAND_SYS_CPUCFGR_ND, HW_H_SYS_CPUCFGR_ND, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* sys-fpcsr-rm: floating point round mode */
   { "sys-fpcsr-rm", OR1K_OPERAND_SYS_FPCSR_RM, HW_H_SYS_FPCSR_RM, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* mac-machi: MAC HI result register */
   { "mac-machi", OR1K_OPERAND_MAC_MACHI, HW_H_MAC_MACHI, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* mac-maclo: MAC LO result register */
   { "mac-maclo", OR1K_OPERAND_MAC_MACLO, HW_H_MAC_MACLO, 0, 0,
-    { 0, { (const PTR) 0 } },
+    { 0, { (const PTR) 0 } }, 
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* atomic-reserve: atomic reserve flag */
   { "atomic-reserve", OR1K_OPERAND_ATOMIC_RESERVE, HW_H_ATOMIC_RESERVE, 0, 0,
@@ -1071,7 +1072,7 @@ const CGEN_OPERAND or1k_cgen_operand_tab
     { 0|A(SEM_ONLY), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* uimm6: uimm6 */
   { "uimm6", OR1K_OPERAND_UIMM6, HW_H_UIMM6, 5, 6,
-    { 0, { (const PTR) &or1k_cgen_ifld_table[OR1K_F_UIMM6] } },
+    { 0, { (const PTR) &or1k_cgen_ifld_table[OR1K_F_UIMM6] } }, 
     { 0, { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }  },
 /* rD: destination register */
   { "rD", OR1K_OPERAND_RD, HW_H_GPR, 25, 5,
@@ -1189,6 +1190,21 @@ static const CGEN_IBASE or1k_cgen_insn_t
     OR1K_INSN_L_SYS, "l-sys", "l.sys", 32,
     { 0|A(NOT_IN_DELAY_SLOT), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }
   },
+/* l.msync */
+  {
+    OR1K_INSN_L_MSYNC, "l-msync", "l.msync", 32,
+    { 0, { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }
+  },
+/* l.psync */
+  {
+    OR1K_INSN_L_PSYNC, "l-psync", "l.psync", 32,
+    { 0, { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }
+  },
+/* l.csync */
+  {
+    OR1K_INSN_L_CSYNC, "l-csync", "l.csync", 32,
+    { 0, { { { (1<<MACH_OR32)|(1<<MACH_OR32ND)|(1<<MACH_OR64)|(1<<MACH_OR64ND), 0 } } } }
+  },
 /* l.rfe */
   {
     OR1K_INSN_L_RFE, "l-rfe", "l.rfe", 32,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-desc.h ./opcodes/or1k-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/or1k-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2010 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
@@ -257,17 +257,17 @@ typedef enum spr_field_lsbs {
 
 /* Enum declaration for SPR field masks.  */
 typedef enum spr_field_masks {
-  SPR_FIELD_MASK_SYS_VR_REV = 63, SPR_FIELD_MASK_SYS_VR_CFG = 16711680, SPR_FIELD_MASK_SYS_VR_VER = 4278190080, SPR_FIELD_MASK_SYS_UPR_UP = 1
+  SPR_FIELD_MASK_SYS_VR_REV = 63, SPR_FIELD_MASK_SYS_VR_CFG = 16711680, SPR_FIELD_MASK_SYS_VR_VER = 4278190080u, SPR_FIELD_MASK_SYS_UPR_UP = 1
  , SPR_FIELD_MASK_SYS_UPR_DCP = 2, SPR_FIELD_MASK_SYS_UPR_ICP = 4, SPR_FIELD_MASK_SYS_UPR_DMP = 8, SPR_FIELD_MASK_SYS_UPR_MP = 16
  , SPR_FIELD_MASK_SYS_UPR_IMP = 32, SPR_FIELD_MASK_SYS_UPR_DUP = 64, SPR_FIELD_MASK_SYS_UPR_PCUP = 128, SPR_FIELD_MASK_SYS_UPR_PICP = 256
- , SPR_FIELD_MASK_SYS_UPR_PMP = 512, SPR_FIELD_MASK_SYS_UPR_TTP = 1024, SPR_FIELD_MASK_SYS_UPR_CUP = 4278190080, SPR_FIELD_MASK_SYS_CPUCFGR_NSGR = 15
+ , SPR_FIELD_MASK_SYS_UPR_PMP = 512, SPR_FIELD_MASK_SYS_UPR_TTP = 1024, SPR_FIELD_MASK_SYS_UPR_CUP = 4278190080u, SPR_FIELD_MASK_SYS_CPUCFGR_NSGR = 15
  , SPR_FIELD_MASK_SYS_CPUCFGR_CGF = 16, SPR_FIELD_MASK_SYS_CPUCFGR_OB32S = 32, SPR_FIELD_MASK_SYS_CPUCFGR_OB64S = 64, SPR_FIELD_MASK_SYS_CPUCFGR_OF32S = 128
  , SPR_FIELD_MASK_SYS_CPUCFGR_OF64S = 256, SPR_FIELD_MASK_SYS_CPUCFGR_OV64S = 512, SPR_FIELD_MASK_SYS_CPUCFGR_ND = 1024, SPR_FIELD_MASK_SYS_SR_SM = 1
  , SPR_FIELD_MASK_SYS_SR_TEE = 2, SPR_FIELD_MASK_SYS_SR_IEE = 4, SPR_FIELD_MASK_SYS_SR_DCE = 8, SPR_FIELD_MASK_SYS_SR_ICE = 16
  , SPR_FIELD_MASK_SYS_SR_DME = 32, SPR_FIELD_MASK_SYS_SR_IME = 64, SPR_FIELD_MASK_SYS_SR_LEE = 128, SPR_FIELD_MASK_SYS_SR_CE = 256
  , SPR_FIELD_MASK_SYS_SR_F = 512, SPR_FIELD_MASK_SYS_SR_CY = 1024, SPR_FIELD_MASK_SYS_SR_OV = 2048, SPR_FIELD_MASK_SYS_SR_OVE = 4096
  , SPR_FIELD_MASK_SYS_SR_DSX = 8192, SPR_FIELD_MASK_SYS_SR_EPH = 16384, SPR_FIELD_MASK_SYS_SR_FO = 32768, SPR_FIELD_MASK_SYS_SR_SUMRA = 65536
- , SPR_FIELD_MASK_SYS_SR_CID = 4026531840, SPR_FIELD_MASK_SYS_FPCSR_FPEE = 1, SPR_FIELD_MASK_SYS_FPCSR_RM = 6, SPR_FIELD_MASK_SYS_FPCSR_OVF = 8
+ , SPR_FIELD_MASK_SYS_SR_CID = 4026531840u, SPR_FIELD_MASK_SYS_FPCSR_FPEE = 1, SPR_FIELD_MASK_SYS_FPCSR_RM = 6, SPR_FIELD_MASK_SYS_FPCSR_OVF = 8
  , SPR_FIELD_MASK_SYS_FPCSR_UNF = 16, SPR_FIELD_MASK_SYS_FPCSR_SNF = 32, SPR_FIELD_MASK_SYS_FPCSR_QNF = 64, SPR_FIELD_MASK_SYS_FPCSR_ZF = 128
  , SPR_FIELD_MASK_SYS_FPCSR_IXF = 256, SPR_FIELD_MASK_SYS_FPCSR_IVF = 512, SPR_FIELD_MASK_SYS_FPCSR_INF = 1024, SPR_FIELD_MASK_SYS_FPCSR_DZF = 2048
 } SPR_FIELD_MASKS;
@@ -392,12 +392,12 @@ typedef enum ifield_type {
  , OR1K_F_R2, OR1K_F_R3, OR1K_F_OP_25_2, OR1K_F_OP_25_5
  , OR1K_F_OP_16_1, OR1K_F_OP_7_4, OR1K_F_OP_3_4, OR1K_F_OP_9_2
  , OR1K_F_OP_9_4, OR1K_F_OP_7_8, OR1K_F_OP_7_2, OR1K_F_RESV_25_26
- , OR1K_F_RESV_25_10, OR1K_F_RESV_25_5, OR1K_F_RESV_23_8, OR1K_F_RESV_20_5
- , OR1K_F_RESV_20_4, OR1K_F_RESV_15_8, OR1K_F_RESV_15_6, OR1K_F_RESV_10_11
- , OR1K_F_RESV_10_7, OR1K_F_RESV_10_3, OR1K_F_RESV_10_1, OR1K_F_RESV_7_4
- , OR1K_F_RESV_5_2, OR1K_F_IMM16_25_5, OR1K_F_IMM16_10_11, OR1K_F_DISP26
- , OR1K_F_UIMM16, OR1K_F_SIMM16, OR1K_F_UIMM6, OR1K_F_UIMM16_SPLIT
- , OR1K_F_SIMM16_SPLIT, OR1K_F_MAX
+ , OR1K_F_RESV_25_10, OR1K_F_RESV_25_5, OR1K_F_RESV_23_8, OR1K_F_RESV_20_21
+ , OR1K_F_RESV_20_5, OR1K_F_RESV_20_4, OR1K_F_RESV_15_8, OR1K_F_RESV_15_6
+ , OR1K_F_RESV_10_11, OR1K_F_RESV_10_7, OR1K_F_RESV_10_3, OR1K_F_RESV_10_1
+ , OR1K_F_RESV_7_4, OR1K_F_RESV_5_2, OR1K_F_IMM16_25_5, OR1K_F_IMM16_10_11
+ , OR1K_F_DISP26, OR1K_F_UIMM16, OR1K_F_SIMM16, OR1K_F_UIMM6
+ , OR1K_F_UIMM16_SPLIT, OR1K_F_SIMM16_SPLIT, OR1K_F_MAX
 } IFIELD_TYPE;
 
 #define MAX_IFLD ((int) OR1K_F_MAX)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-dis.c ./opcodes/or1k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/or1k-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,8 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2007,
-   2008, 2010  Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-ibld.c ./opcodes/or1k-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/or1k-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,8 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2005, 2006, 2007,
-   2008, 2010  Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
@@ -155,7 +154,7 @@ insert_normal (CGEN_CPU_DESC cd,
     {
       long minval = - (1L << (length - 1));
       unsigned long maxval = mask;
-
+      
       if ((value > 0 && (unsigned long) value > maxval)
 	  || value < minval)
 	{
@@ -193,7 +192,7 @@ insert_normal (CGEN_CPU_DESC cd,
 	{
 	  long minval = - (1L << (length - 1));
 	  long maxval =   (1L << (length - 1)) - 1;
-
+	  
 	  if (value < minval || value > maxval)
 	    {
 	      sprintf
@@ -753,12 +752,12 @@ or1k_cgen_extract_operand (CGEN_CPU_DESC
   return length;
 }
 
-cgen_insert_fn * const or1k_cgen_insert_handlers[] =
+cgen_insert_fn * const or1k_cgen_insert_handlers[] = 
 {
   insert_insn_normal,
 };
 
-cgen_extract_fn * const or1k_cgen_extract_handlers[] =
+cgen_extract_fn * const or1k_cgen_extract_handlers[] = 
 {
   extract_insn_normal,
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-opc.c ./opcodes/or1k-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/or1k-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2010 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
@@ -59,6 +59,10 @@ static const CGEN_IFMT ifmt_l_trap ATTRI
   32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_OP_25_5) }, { F (F_RESV_20_5) }, { F (F_UIMM16) }, { 0 } }
 };
 
+static const CGEN_IFMT ifmt_l_msync ATTRIBUTE_UNUSED = {
+  32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_OP_25_5) }, { F (F_RESV_20_21) }, { 0 } }
+};
+
 static const CGEN_IFMT ifmt_l_rfe ATTRIBUTE_UNUSED = {
   32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RESV_25_26) }, { 0 } }
 };
@@ -226,6 +230,24 @@ static const CGEN_OPCODE or1k_cgen_insn_
     { { MNEM, ' ', OP (UIMM16), 0 } },
     & ifmt_l_trap, { 0x20000000 }
   },
+/* l.msync */
+  {
+    { 0, 0, 0, 0 },
+    { { MNEM, 0 } },
+    & ifmt_l_msync, { 0x22000000 }
+  },
+/* l.psync */
+  {
+    { 0, 0, 0, 0 },
+    { { MNEM, 0 } },
+    & ifmt_l_msync, { 0x22800000 }
+  },
+/* l.csync */
+  {
+    { 0, 0, 0, 0 },
+    { { MNEM, 0 } },
+    & ifmt_l_msync, { 0x23000000 }
+  },
 /* l.rfe */
   {
     { 0, 0, 0, 0 },
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-opc.h ./opcodes/or1k-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/or1k-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2010 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
@@ -37,35 +37,35 @@ This file is part of the GNU Binutils an
 typedef enum cgen_insn_type {
   OR1K_INSN_INVALID, OR1K_INSN_L_J, OR1K_INSN_L_JAL, OR1K_INSN_L_JR
  , OR1K_INSN_L_JALR, OR1K_INSN_L_BNF, OR1K_INSN_L_BF, OR1K_INSN_L_TRAP
- , OR1K_INSN_L_SYS, OR1K_INSN_L_RFE, OR1K_INSN_L_NOP_IMM, OR1K_INSN_L_NOP
- , OR1K_INSN_L_MOVHI, OR1K_INSN_L_MACRC, OR1K_INSN_L_MFSPR, OR1K_INSN_L_MTSPR
- , OR1K_INSN_L_LWZ, OR1K_INSN_L_LWS, OR1K_INSN_L_LWA, OR1K_INSN_L_LBZ
- , OR1K_INSN_L_LBS, OR1K_INSN_L_LHZ, OR1K_INSN_L_LHS, OR1K_INSN_L_SW
- , OR1K_INSN_L_SB, OR1K_INSN_L_SH, OR1K_INSN_L_SWA, OR1K_INSN_L_SLL
- , OR1K_INSN_L_SLLI, OR1K_INSN_L_SRL, OR1K_INSN_L_SRLI, OR1K_INSN_L_SRA
- , OR1K_INSN_L_SRAI, OR1K_INSN_L_ROR, OR1K_INSN_L_RORI, OR1K_INSN_L_AND
- , OR1K_INSN_L_OR, OR1K_INSN_L_XOR, OR1K_INSN_L_ADD, OR1K_INSN_L_SUB
- , OR1K_INSN_L_ADDC, OR1K_INSN_L_MUL, OR1K_INSN_L_MULU, OR1K_INSN_L_DIV
- , OR1K_INSN_L_DIVU, OR1K_INSN_L_FF1, OR1K_INSN_L_FL1, OR1K_INSN_L_ANDI
- , OR1K_INSN_L_ORI, OR1K_INSN_L_XORI, OR1K_INSN_L_ADDI, OR1K_INSN_L_ADDIC
- , OR1K_INSN_L_MULI, OR1K_INSN_L_EXTHS, OR1K_INSN_L_EXTBS, OR1K_INSN_L_EXTHZ
- , OR1K_INSN_L_EXTBZ, OR1K_INSN_L_EXTWS, OR1K_INSN_L_EXTWZ, OR1K_INSN_L_CMOV
- , OR1K_INSN_L_SFGTS, OR1K_INSN_L_SFGTSI, OR1K_INSN_L_SFGTU, OR1K_INSN_L_SFGTUI
- , OR1K_INSN_L_SFGES, OR1K_INSN_L_SFGESI, OR1K_INSN_L_SFGEU, OR1K_INSN_L_SFGEUI
- , OR1K_INSN_L_SFLTS, OR1K_INSN_L_SFLTSI, OR1K_INSN_L_SFLTU, OR1K_INSN_L_SFLTUI
- , OR1K_INSN_L_SFLES, OR1K_INSN_L_SFLESI, OR1K_INSN_L_SFLEU, OR1K_INSN_L_SFLEUI
- , OR1K_INSN_L_SFEQ, OR1K_INSN_L_SFEQI, OR1K_INSN_L_SFNE, OR1K_INSN_L_SFNEI
- , OR1K_INSN_L_MAC, OR1K_INSN_L_MSB, OR1K_INSN_L_MACI, OR1K_INSN_L_CUST1
- , OR1K_INSN_L_CUST2, OR1K_INSN_L_CUST3, OR1K_INSN_L_CUST4, OR1K_INSN_L_CUST5
- , OR1K_INSN_L_CUST6, OR1K_INSN_L_CUST7, OR1K_INSN_L_CUST8, OR1K_INSN_LF_ADD_S
- , OR1K_INSN_LF_ADD_D, OR1K_INSN_LF_SUB_S, OR1K_INSN_LF_SUB_D, OR1K_INSN_LF_MUL_S
- , OR1K_INSN_LF_MUL_D, OR1K_INSN_LF_DIV_S, OR1K_INSN_LF_DIV_D, OR1K_INSN_LF_REM_S
- , OR1K_INSN_LF_REM_D, OR1K_INSN_LF_ITOF_S, OR1K_INSN_LF_ITOF_D, OR1K_INSN_LF_FTOI_S
- , OR1K_INSN_LF_FTOI_D, OR1K_INSN_LF_EQ_S, OR1K_INSN_LF_EQ_D, OR1K_INSN_LF_NE_S
- , OR1K_INSN_LF_NE_D, OR1K_INSN_LF_GE_S, OR1K_INSN_LF_GE_D, OR1K_INSN_LF_GT_S
- , OR1K_INSN_LF_GT_D, OR1K_INSN_LF_LT_S, OR1K_INSN_LF_LT_D, OR1K_INSN_LF_LE_S
- , OR1K_INSN_LF_LE_D, OR1K_INSN_LF_MADD_S, OR1K_INSN_LF_MADD_D, OR1K_INSN_LF_CUST1_S
- , OR1K_INSN_LF_CUST1_D
+ , OR1K_INSN_L_SYS, OR1K_INSN_L_MSYNC, OR1K_INSN_L_PSYNC, OR1K_INSN_L_CSYNC
+ , OR1K_INSN_L_RFE, OR1K_INSN_L_NOP_IMM, OR1K_INSN_L_NOP, OR1K_INSN_L_MOVHI
+ , OR1K_INSN_L_MACRC, OR1K_INSN_L_MFSPR, OR1K_INSN_L_MTSPR, OR1K_INSN_L_LWZ
+ , OR1K_INSN_L_LWS, OR1K_INSN_L_LWA, OR1K_INSN_L_LBZ, OR1K_INSN_L_LBS
+ , OR1K_INSN_L_LHZ, OR1K_INSN_L_LHS, OR1K_INSN_L_SW, OR1K_INSN_L_SB
+ , OR1K_INSN_L_SH, OR1K_INSN_L_SWA, OR1K_INSN_L_SLL, OR1K_INSN_L_SLLI
+ , OR1K_INSN_L_SRL, OR1K_INSN_L_SRLI, OR1K_INSN_L_SRA, OR1K_INSN_L_SRAI
+ , OR1K_INSN_L_ROR, OR1K_INSN_L_RORI, OR1K_INSN_L_AND, OR1K_INSN_L_OR
+ , OR1K_INSN_L_XOR, OR1K_INSN_L_ADD, OR1K_INSN_L_SUB, OR1K_INSN_L_ADDC
+ , OR1K_INSN_L_MUL, OR1K_INSN_L_MULU, OR1K_INSN_L_DIV, OR1K_INSN_L_DIVU
+ , OR1K_INSN_L_FF1, OR1K_INSN_L_FL1, OR1K_INSN_L_ANDI, OR1K_INSN_L_ORI
+ , OR1K_INSN_L_XORI, OR1K_INSN_L_ADDI, OR1K_INSN_L_ADDIC, OR1K_INSN_L_MULI
+ , OR1K_INSN_L_EXTHS, OR1K_INSN_L_EXTBS, OR1K_INSN_L_EXTHZ, OR1K_INSN_L_EXTBZ
+ , OR1K_INSN_L_EXTWS, OR1K_INSN_L_EXTWZ, OR1K_INSN_L_CMOV, OR1K_INSN_L_SFGTS
+ , OR1K_INSN_L_SFGTSI, OR1K_INSN_L_SFGTU, OR1K_INSN_L_SFGTUI, OR1K_INSN_L_SFGES
+ , OR1K_INSN_L_SFGESI, OR1K_INSN_L_SFGEU, OR1K_INSN_L_SFGEUI, OR1K_INSN_L_SFLTS
+ , OR1K_INSN_L_SFLTSI, OR1K_INSN_L_SFLTU, OR1K_INSN_L_SFLTUI, OR1K_INSN_L_SFLES
+ , OR1K_INSN_L_SFLESI, OR1K_INSN_L_SFLEU, OR1K_INSN_L_SFLEUI, OR1K_INSN_L_SFEQ
+ , OR1K_INSN_L_SFEQI, OR1K_INSN_L_SFNE, OR1K_INSN_L_SFNEI, OR1K_INSN_L_MAC
+ , OR1K_INSN_L_MSB, OR1K_INSN_L_MACI, OR1K_INSN_L_CUST1, OR1K_INSN_L_CUST2
+ , OR1K_INSN_L_CUST3, OR1K_INSN_L_CUST4, OR1K_INSN_L_CUST5, OR1K_INSN_L_CUST6
+ , OR1K_INSN_L_CUST7, OR1K_INSN_L_CUST8, OR1K_INSN_LF_ADD_S, OR1K_INSN_LF_ADD_D
+ , OR1K_INSN_LF_SUB_S, OR1K_INSN_LF_SUB_D, OR1K_INSN_LF_MUL_S, OR1K_INSN_LF_MUL_D
+ , OR1K_INSN_LF_DIV_S, OR1K_INSN_LF_DIV_D, OR1K_INSN_LF_REM_S, OR1K_INSN_LF_REM_D
+ , OR1K_INSN_LF_ITOF_S, OR1K_INSN_LF_ITOF_D, OR1K_INSN_LF_FTOI_S, OR1K_INSN_LF_FTOI_D
+ , OR1K_INSN_LF_EQ_S, OR1K_INSN_LF_EQ_D, OR1K_INSN_LF_NE_S, OR1K_INSN_LF_NE_D
+ , OR1K_INSN_LF_GE_S, OR1K_INSN_LF_GE_D, OR1K_INSN_LF_GT_S, OR1K_INSN_LF_GT_D
+ , OR1K_INSN_LF_LT_S, OR1K_INSN_LF_LT_D, OR1K_INSN_LF_LE_S, OR1K_INSN_LF_LE_D
+ , OR1K_INSN_LF_MADD_S, OR1K_INSN_LF_MADD_D, OR1K_INSN_LF_CUST1_S, OR1K_INSN_LF_CUST1_D
 } CGEN_INSN_TYPE;
 
 /* Index of `invalid' insn place holder.  */
@@ -97,6 +97,7 @@ struct cgen_fields
   long f_resv_25_10;
   long f_resv_25_5;
   long f_resv_23_8;
+  long f_resv_20_21;
   long f_resv_20_5;
   long f_resv_20_4;
   long f_resv_15_8;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-opinst.c ./opcodes/or1k-opinst.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/or1k-opinst.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/or1k-opinst.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2010 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
@@ -87,7 +87,7 @@ static const CGEN_OPINST sfmt_l_trap_ops
   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
 };
 
-static const CGEN_OPINST sfmt_l_rfe_ops[] ATTRIBUTE_UNUSED = {
+static const CGEN_OPINST sfmt_l_msync_ops[] ATTRIBUTE_UNUSED = {
   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
 };
 
@@ -459,9 +459,12 @@ static const CGEN_OPINST *or1k_cgen_opin
   & sfmt_l_bnf_ops[0],
   & sfmt_l_trap_ops[0],
   & sfmt_l_trap_ops[0],
-  & sfmt_l_rfe_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
   & sfmt_l_nop_imm_ops[0],
-  & sfmt_l_rfe_ops[0],
+  & sfmt_l_msync_ops[0],
   & sfmt_l_movhi_ops[0],
   & sfmt_l_macrc_ops[0],
   & sfmt_l_mfspr_ops[0],
@@ -533,14 +536,14 @@ static const CGEN_OPINST *or1k_cgen_opin
   & sfmt_l_mac_ops[0],
   & sfmt_l_mac_ops[0],
   & sfmt_l_maci_ops[0],
-  & sfmt_l_rfe_ops[0],
-  & sfmt_l_rfe_ops[0],
-  & sfmt_l_rfe_ops[0],
-  & sfmt_l_rfe_ops[0],
-  & sfmt_l_rfe_ops[0],
-  & sfmt_l_rfe_ops[0],
-  & sfmt_l_rfe_ops[0],
-  & sfmt_l_rfe_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
   & sfmt_lf_add_s_ops[0],
   & sfmt_lf_add_d_ops[0],
   & sfmt_lf_add_s_ops[0],
@@ -569,8 +572,8 @@ static const CGEN_OPINST *or1k_cgen_opin
   & sfmt_lf_eq_d_ops[0],
   & sfmt_lf_madd_s_ops[0],
   & sfmt_lf_madd_d_ops[0],
-  & sfmt_l_rfe_ops[0],
-  & sfmt_l_rfe_ops[0],
+  & sfmt_l_msync_ops[0],
+  & sfmt_l_msync_ops[0],
 };
 
 /* Function to call before using the operand instance table.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/pdp11-dis.c ./opcodes/pdp11-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/pdp11-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/pdp11-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print DEC PDP-11 instructions.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/pdp11-opc.c ./opcodes/pdp11-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/pdp11-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/pdp11-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode table for PDP-11.
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/pj-dis.c ./opcodes/pj-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/pj-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/pj-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* pj-dis.c -- Disassemble picoJava instructions.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Steve Chamberlain, of Transmeta (sac@pobox.com).
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/pj-opc.c ./opcodes/pj-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/pj-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/pj-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* pj-opc.c -- Definitions for picoJava opcodes.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Steve Chamberlain of Transmeta (sac@pobox.com).
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/de.gmo ./opcodes/po/de.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/de.gmo	2015-01-13 02:07:16.000000000 +0000
+++ ./opcodes/po/de.gmo	2015-01-20 02:09:58.000000000 +0000
@@ -1,17 +1,24 @@
-Þ••ÄÇl	ˆ‰L‹KØ½$
uâ
‘X êk‹}÷[u�Ñ_9s3­4á(?L!\~
Š˜²	ÌÖ	òü*>(\…›»Úõ,I&[*‚­
-ÅDÐC+Y&…,¬Ù:õ109b6œÓ"í!2)Jt’%¤#Ê+î+1F1x%ª+Ð1ü1.%`$†/«Ûó'.<+k—±Ì#ç7!C!e5‡"½+à0'Xh"ƒ¦Æ)ã
*G%b&ˆ¯Ã×!ã;A+_/‹»Óë9T!o!‘³&Ò2ù2, 2_ 0’ ,Ã ð )
-!4!S!p!5Š!$À!-å!;"$O"/t"	¤"®"¶"Å"Õ"ä"ü"# ,#M#f#+y#¥$V§$Uþ$óT%€H&ÈÉ&è’'t{(„ð(qu)¥ç)!�*?¯*8ï*7(+1`+’+¡++³+ß+ë+.ø+.',V,b,€,/Œ,¼,Ï,è,/-6-4P--…-'³-Û-(ö-'.G.*^.?‰.É.
-ç._ò.]R/1°/,â/30C0@`08¡0@Ú061+R15~1)´1Þ1%û1(!2J2#a2#…2/©21Ù2232>3*q30œ33Í324<449q4K«4÷452.5 a5Q‚5QÔ53&6&Z6#�6,¥6LÒ677(W7M€77Î7@8 G8/h8˜8"¬8*Ï8,ú8#'9=K90‰9)º9ä9)ÿ9.):1X:Š:¢:"²:>Õ:.;:C;=~;'¼;'ä;&<&3<%Z<%€<%¦<0Ì<0ý<'.=0V=N‡=NÖ=N%>Lt>6Á> ø>4?(N?$w?-œ?GÊ?)@9<@<v@(³@:Ü@A	#A-A>APA aA%‚A¨AÆAÝA&ðA…y“AC?z:L’0`�jŠk'xˆv‚IVqh�*8H/1Y+7Gas|~cŽU$i!t<]X5}9ƒeS^f
-b‡Om€6r-‹{‘�N#R†(	P”lW>Q4unŒEp3„wM"�) ‰oF;&[dgD2%•,Z\J.KB
T_@=
+Þ• 	…01L3K€4Ì½3¿uó‘i û/œ7Ìk}pBî�1[Â�[¬Ž”—(, (U (~ 1§ BÙ %!%B!3h!(œ!(Å!2î!E!"?g"(§"1Ð"#.#F#S#"c#%†#/¬#.Ü#$$0$N$
Z$h$ƒ$ž$¸$	Ò$Ü$	ø$%%0%F%Z%(x%¡%·%Î%î%
&(&A&_&|&Ž&=­&&ë&*'='
+U'D`'C¥'+é'&(<(R(,m(%š()À(%ê(!)!2)$T)y):•)1Ð)9*6<*s*Š*"¤*Ç*Ú*í*++/+!E+g+'‚+'ª+Ò+7ê+","=,#`,„,)¡,Ë,ä,)ú,/$-T-.r-¡-·-%É-#ï-+.+?.1k.1�.%Ï.+õ.1!/1S/…/!¡/%Ã/é/"ý/* 0K0j0…0"£0Æ0 Ý0/þ0#.1R1j1…1š1 ³1%Ô1ú12+(2T2n2Š2%¥2$Ë2ð2030<3#m37‘3!É3!ë35
4"C4+f4 ’4 ³4 Ô4õ4+52A52t5)§5Ñ5ê5#þ5!"6D6_6o6‡6¢6¸6Ø6ö6727P7a7x7"ˆ7«7Ë7è788.8G8b8s8Š8¨8À82Ó89$9%59[9q9Ž9&¦9Í9â9ù9
:):D:a:u:‰:š:¦:²:!Ê:ì:;ý:9;%W;$};%¢;+È;/ô;$<=<&\<2ƒ<2¶<2é<4=,Q=~=)˜=Â=(á=
+>)>%@>f>v>!“>+µ>á>û>#?#,?'P?x?�?5§?Ý?î?@-'@;U@‘@©@/Á@9ñ@	+A5ARAZAjAzA’A­A"¾A áABB3B&KBrBÃŽBRDVTDU«D/Eó1E=%F€cFÈäFè­G)–H5ÀHtöH„kI>ðI¨/JqØJ¥JKqðK¦bL¬	M,¶M,ãM,N6=NGtN+¼N+èN7O.LO.{O7ªOJâOC-P.qP6 P"×P7úP2QAQ&SQ)zQ?¤Q>äQ-#R QRrR~R#‹R#¯R.ÓR.S1S=S[S/gS—SªSÈSáS/ÿS/TIT4fT-›T'ÉTñT(U'5U]U3tUd¨U*
V?8VxV
+–V_¡V]W1_W,‘W"¾W(áW3
+X@>XDX@ÄX<Y<BY?Y¿Y@ÜY8Z@VZ6—ZÎZ+èZ5[J[b[z[•[°[Ì[)è[!\84\8m\¦\;Ã\ÿ\,]-H]%v]4œ]2Ñ]-^%2^AX^(š^2Ã^ö^_#&_#J_/n_1ž_2Ð_2`*6`0a`3’`2Æ`,ù`0&a<Wa”a7¨aEàa*&b"Qb'tb4œbÑb8ðbK)c0uc¦cÀcÝc2üc>/d$nd2“d ÆdQçd39e"me&�e+·e*ãe#f92f9lf,¦fLÓf7 g(XgM�g7Ïg@h:Hh:ƒh:¾h8ùh,2i3_i3“i*Çiòij)!jKj jj‹jŸj"¶j-Ùj8k;@k;|k;¸k;ôk0l/@l
+pl*{l,¦l0Ólmm)1m[mzm•mªm%Êm&ðmn73n'kn“n)¨nÒn!éno.'oVooo‹o ¢o"Ão$æo1p=pUplp|p“p"©pÌp>ßp.qEMq"“q/¶q:æq=!r_r'{r0£rNÔrN#sNrsQÁs6t Jt4kt( t%Ét/ïtu75umu$|u#¡uGÅu-
v
;v&Iv&pv/—vÇvçvGwIw`w w9 w<Úwx1x:OxQŠxÜx&èx	yy+y =y%^y„y$žyÃyÚy/íy/z0Mz-~z#ÊÓ�-XS}ðCÏnÕk$‚_x¸€¢Á>±øÜíãÚ1·¥�JFRùzGgÎ@§!èb³«ž”|üQ›»"²Nƒ‹ý
+¡®ê¾ “¯d£
¦
Ì‡2ÈhÉÝr<HeK9`Y=s•—)ÑvtéõŽ4ÅZ…WÆ©ûIñÐŒˆòÞ½ÿ.w{�­j*A¼ô%ÇÖÃ5]‰qºD+à(¿M˜Š?ì´fµi 67×Ëp�uÒ;úP¤8šî¶ä~\oœ™å[,¬þ–¨a†ßÄÂU:^æ�’Eó÷ÙB0ªT VmÔöcØÛL	l'ï°O&áŸç/Í¹y3À	„âë‘
+
 
   For the options above, The following values are supported for "ARCH":
    
   For the options above, the following values are supported for "ABI":
    
+  aliases            Do print instruction aliases.
+
   cp0-names=ARCH           Print CP0 register names according to
                            specified architecture.
                            Default: based on binary being disassembled.
 
+  debug_dump         Temp switch for debug trace.
+
   fpr-names=ABI            Print FPR names according to specified ABI.
                            Default: numeric.
 
@@ -22,31 +29,71 @@
 			   architecture.
                            Default: based on binary being disassembled.
 
+  msa             Recognize MSA instructions.
+
+  no-aliases         Don't print instruction aliases.
+
   reg-names=ABI            Print GPR and FPR names according to
                            specified ABI.
 
   reg-names=ARCH           Print CP0 register and HWR names according to
                            specified architecture.
 
+  virt            Recognize the virtualization ASE instructions.
+
+The following AARCH64 specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
 The following ARM specific disassembler options are supported for use with
 the -M switch:
 
 The following MIPS specific disassembler options are supported for use
 with the -M switch (multiple options should be separated by commas):
-# <dis error: %08x># internal disassembler error, unrecognised modifier (%c)# internal error, incomplete extension sequence (+)# internal error, undefined extension sequence (+%c)# internal error, undefined modifier(%c)$<undefined>%02x		*unknown*%operator operand is not a symbol%s: Error: %s: Warning: (DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*21-bit offset out of range<function code %d><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
-<unknown register %d>Address 0x%x is out of bounds.
+
+The following PPC specific disassembler options are supported for use with
+the -M switch:
+
+The following S/390 specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
+The following i386/x86-64 specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+  addr16      Assume 16bit address size
+  addr32      Assume 32bit address size
+  addr64      Assume 64bit address size
+  att         Display instruction in AT&T syntax
+  att-mnemonic
+              Display instruction in AT&T mnemonic
+  data16      Assume 16bit data size
+  data32      Assume 32bit data size
+  esa         Disassemble in ESA architecture mode
+  i386        Disassemble in 32bit mode
+  i8086       Disassemble in 16bit mode
+  intel       Display instruction in Intel syntax
+  intel-mnemonic
+              Display instruction in Intel mnemonic
+  suffix      Always display instruction suffix in AT&T syntax
+  x86-64      Disassemble in 64bit mode
+  zarch       Disassemble in z/Architecture mode
+# <dis error: %08lx># internal error, undefined operand in `%s %s'$<undefined>%02x		*unknown*%d unused bits in i386_cpu_flags.
+%d unused bits in i386_operand_type.
+%dsp16() takes a symbolic address, not a number%dsp8() takes a symbolic address, not a number%s: %d: Missing `)' in bitfield: %s
+%s: %d: Unknown bitfield: %s
+%s: Error: %s: Warning: 'LSL' operator not allowed'ROR' operator not allowed(DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*21-bit offset out of range<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
+<unknown register %d>ABORT: unknown operandAddress 0x%s is out of bounds.
 Attempt to find bit index of 0Bad case %d (%s) in %s:%d
-Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameByte address required. - must be even.Don't know how to specify # dependency %s
+Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameBiiiig Trouble in parse_imm16!Bit number for indexing general register is out of range 0-15Byte address required. - must be even.Don't know how to specify # dependency %s
 Don't understand 0x%x 
 Hmmmm 0x%xIC note %d for opcode %s (IC:%s) conflicts with resource %s note %d
 IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d
 IC:%s [%s] has no terminals or sub-classes
 IC:%s has no terminals or sub-classes
-Illegal limm reference in last instruction!
-Internal disassembler errorInternal error:  bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
+Illegal as 2-op instrIllegal as emulation instrIllegal limm reference in last instruction!
+Immediate is out of range -128 to 127Immediate is out of range -32768 to 32767Immediate is out of range -512 to 511Immediate is out of range -7 to 8Immediate is out of range -8 to 7Immediate is out of range 0 to 65535Internal disassembler errorInternal error:  bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
 Internal error: bad sparc-opcode.h: "%s" == "%s"
 Internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Internal: Non-debugged code (test-case missing): %s:%dLabel conflicts with `Rx'Label conflicts with register nameNo relocation for small immediateOperand is not a symbolSmall operand was not an immediate numberSyntax error: No trailing ')'Unknown error %d
+Internal: Non-debugged code (test-case missing): %s:%dInvalid size specifierLabel conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Register list is not validRegister must be between r0 and r7Register must be between r8 and r15Register number is not validReserved use of A/L and B/W bits detectedSR/SelID is out of rangeSelID is out of rangeSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The percent-operator's operand is not a symbolUnknown bitfield: %s
+Unknown error %d
 Unrecognised disassembler option: %s
 Unrecognised register name set: %s
 Unrecognized field %d while building insn.
@@ -57,42 +104,56 @@ with the -M switch (multiple options sho
 Unrecognized field %d while printing insn.
 Unrecognized field %d while setting int operand.
 Unrecognized field %d while setting vma operand.
-W keyword invalid in FR operand slot.Warning: rsrc %s (%s) has no chks%s
-attempt to set y bit when using + or - modifierbad instruction `%.50s'bad instruction `%.50s...'branch operand unalignedbranch to odd offsetbranch value not in range and to an odd offsetbranch value not in range and to odd offsetbranch value out of rangecan't cope with insert %d
+Value is not aligned enoughValue of A operand must be 0 or 1W keyword invalid in FR operand slot.W register expectedWarning: rsrc %s (%s) has no chks
+Warning: rsrc %s (%s) has no chks or regs
+address register in load rangeaddress writeback expectedaddress writeback not allowedattempt to read writeonly registerattempt to set HR bitsattempt to set readonly registerattempt to set y bit when using + or - modifierauxiliary register not allowed herebad instruction `%.50s'bad instruction `%.50s...'bad jump flags valuebit,base is out of rangebit,base out of range for symbolbranch address not on 4 byte boundarybranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't cope with insert %d
+can't create i386-init.h, errno = %s
+can't create i386-tbl.h, errno = %s
 can't find %s for reading
+can't find i386-opc.tbl for reading, errno = %s
+can't find i386-reg.tbl for reading, errno = %s
 can't find ia64-ic.tbl for reading
 cgen_parse_address returned a symbol. Literal required.class %s is defined but not used
 displacement value is not aligneddisplacement value is not in range and is not aligneddisplacement value is out of rangedon't know how to specify %% dependency %s
-ignoring invalid mfcr maskignoring least significant bits in branch offsetillegal bitmaskillegal use of parenthesesimmediate value cannot be registerimmediate value is out of rangeimmediate value must be evenimmediate value not in range and not evenimmediate value out of rangeindex register in load rangeinvalid conditional optioninvalid register for stack adjustmentinvalid register operand when updatingjump hint unalignedjunk at end of linemissing `)'missing mnemonic in syntax stringmost recent format '%s'
+dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)extend operator expectedextraneous registerflag bits of jump address limm lostfloating-point immediate expectedignoring invalid mfcr maskillegal bitmaskillegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimmediate zero expectedimpossible storeindex register in load rangeinvalid %function() hereinvalid conditional optioninvalid constantinvalid counter accessinvalid extend/shift operatorinvalid load/shimm insninvalid mask fieldinvalid operand.  type may have values 0,1,2 only.invalid post-increment amountinvalid registerinvalid register for stack adjustmentinvalid register nameinvalid register number `%d'invalid register offsetinvalid register operand when updatinginvalid shift amountinvalid shift operatorinvalid sprg numberinvalid value for immediatejump flags, but no .f seenjump flags, but no limm addrjump hint unalignedjunk at end of lineld operand errormissing `)'missing `]'missing extend operatormissing mnemonic in syntax stringmissing registermost recent format '%s'
 appears more restrictive than '%s'
 multiple note %s not handled
-no insns mapped directly to terminal IC %s
-no insns mapped directly to terminal IC %s [%s]offset greater than 124offset greater than 248offset greater than 62offset not a multiple of 16offset not a multiple of 2offset not a multiple of 4offset not a multiple of 8offset not between -2048 and 2047offset not between -8192 and 8191offset(IP) is not a valid formopcode %s has no class (ops %d %d %d)
-operand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (%lu not between 0 and %lu)operand out of range (not between 1 and 255)overlapping field %s->%s
+must specify .jd or no nullify suffixnegative immediate value not allowednegative or unaligned offset expectedno insns mapped directly to terminal IC %s
+no insns mapped directly to terminal IC %s [%s]not a valid r0l/r0h pairoffset(IP) is not a valid formopcode %s has no class (ops %d %d %d)
+operand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (0x%lx not between 0 and 0x%lx)operand out of range (not between 1 and 255)overlapping field %s->%s
 overwriting note %d with note %d (IC:%s)
-parse_addr16: invalid opindex.register number must be evenrsrc %s (%s) has no regs
-source and target register operands must be differentsource register operand must be evensyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)target register operand must be evenunable to change directory to "%s", errno = %s
-undefinedunknownunknown	0x%02xunknown	0x%04lxunknown	0x%04xunknown constraint `%c'unknown operand shift: %x
-unknown pop reg: %d
-unrecognized form of instructionunrecognized instructionvalue out of rangeProject-Id-Version: opcodes 2.14rel030712
-POT-Creation-Date: 2003-07-11 13:56+0930
-PO-Revision-Date: 2004-02-28 12:30+0100
+parse_addr16: invalid opindex.percent-operator operand is not a symbolposition value is out of rangeregister element indexregister name used as immediate valueregister numberregister number must be evenregister source in immediate moveregister unavailable for short instructionsrsrc %s (%s) has no regs
+shift amountshift amount expected to be 0 or 12shift amount expected to be 0 or 16shift amount should be a multiple of 16shift is not permittedshift operator expectedsource and target register operands must be differentst operand errorstack pointer register expectedstore value must be zerosyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)too many long constantstoo many shimms in loadunable to change directory to "%s", errno = %s
+unable to fit different valued constants into instructionundefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown constraint `%c'unknown operand shift: %x
+unknown reg: %d
+unrecognised CALLA addressing modeunrecognized form of instructionunrecognized instructionvector5 is out of rangevector8 is out of rangewarning: ignoring unknown -M%s option
+width value is out of rangeProject-Id-Version: opcodes 2.24.90
+Report-Msgid-Bugs-To: bug-binutils@gnu.org
+POT-Creation-Date: 2014-02-10 09:42+1030
+PO-Revision-Date: 2014-10-18 23:28+0100
 Last-Translator: Roland Illig <roland.illig@gmx.de>
-Language-Team: German <de@li.org>
+Language-Team: German <translation-team-de@lists.sourceforge.net>
+Language: de
 MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
+Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
+X-Generator: Poedit 1.6.10
+Plural-Forms: nplurals=2; plural=(n != 1);
 
 
   FÃ¼r die obigen Optionen werden die folgenden Werte fÃ¼r Â»ARCHÂ« unterstÃ¼tzt:
    
   FÃ¼r die obigen Optionen werden die folgenden Werte fÃ¼r Â»ABIÂ« unterstÃ¼tzt:
    
+  aliases            Befehls-Aliase ausgeben.
+
   cp0-names=ARCH           Gib CP0-Registernamen entsprechend der angegebenen
                            Architektur aus.
                            Standard: abhÃ¤ngig von der BinÃ¤rdatei, die
                            disassembliert wird.
 
+  debug_dump         TemporÃ¤rer Schalter fÃ¼r Debugspuren.
+
   fpr-names=ABI            Gib FPR-Namen entsprechend des angegebenen ABI aus.
                            Standard: numerisch.
 
@@ -105,32 +166,75 @@ Content-Transfer-Encoding: 8bit
                            Standard: abhÃ¤ngig von der BinÃ¤rdatei, die
                            verarbeitet wird.
 
+  msa             MSA-Befehle erkennen.
+
+  no-aliases         Befehls-Aliase nicht ausgeben.
+
   reg-names=ABI            Gib GPR- und FPR-Namen entsprechend des
                            angegebenen ABI aus.
 
   reg-names=ARCH           Gib CP0-Register und HWR-Namen entsprechend der
                            angegebenen Architektur aus.
 
+  virt            ASE-Befehle fÃ¼r Virtualisierung erkennen.
+
+Die folgenden AARCH64-spezifischen Disassembleroptionen werden zusammen
+mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch
+Kommata getrennt werden):
+
 Die folgenden ARM-spezifischen Disassembleroptionen werden in Kombination
 mit dem Schalter Â»-MÂ« unterstÃ¼tzt:
 
 Die folgenden MIPS-spezifischen Disassembleroptionen werden zusammen
 mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch
 Kommata getrennt werden):
-# <Disassemblierungsfehler: %08x># Interner Fehler im Disassembler: unerkannter Modifikator (%c)# Interner Fehler, unvollstÃ¤ndige Erweiterungsfolge (+)# Interner Fehler, undefinierte Erweiterungsfolge (+%c)# Interner Fehler, undefinierter Modifikator (%c)$<undefiniert>%02x		*unbekannt*Der Operand %operator muss ein Symbol sein.%s: Fehler:%s: Warnung:(DP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs.(SP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs.(unbekannt)Unbekannter Operandentyp: %d**unbekannt*21-Bit-Offset auÃŸerhalb des gÃ¼ltigen Bereichs<Funktionscode %d><ungÃ¼ltige Genauigkeit><interner Disassemblerfehler><interner Fehler in der Opcode-Tabelle: %s %s>
-<unbekanntes Register %d>Adresse 0x%x ist auÃŸerhalb des gÃ¼ltigen Bereichs.
+
+Die folgenden PPC-spezifischen Disassembleroptionen werden in Kombination
+mit dem Schalter Â»-MÂ« unterstÃ¼tzt:
+
+Die folgenden S/390-spezifischen Disassembleroptionen werden zusammen
+mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch
+Kommata getrennt werden):
+
+Die folgenden i386/x86-64-spezifischen Disassembleroptionen werden zusammen
+mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch
+Kommata getrennt werden):
+  addr16      16-Bit-AdressgrÃ¶ÃŸe annehmen
+  addr32      32-Bit-AdressgrÃ¶ÃŸe annehmen
+  addr64      64-Bit-AdressgrÃ¶ÃŸe annehmen
+  att         Maschinenbefehl in AT&T-syntax anzeigen
+  att-mnemonic
+              Maschinenbefehl in AT&T-Mnemonic anzeigen
+  data16      16-Bit-DatengrÃ¶ÃŸe annehmen
+  data32      32-Bit-DatengrÃ¶ÃŸe annehmen
+  esa         Im ESA-Architektur-Modus disassemblieren
+  i386        Im 32-Bit-Modus disassemblieren
+  i8086       Im 16-Bit-Modus disassemblieren
+  intel       Maschinenbefehl in Intel-Syntax anzeigen
+  intel-mnemonic
+              Maschinenbefehl in Intel-Mnemonic anzeigen
+  suffix      Maschinenbefehl-Suffix immer in AT&T-Syntax anzeigen
+  x86-64      Im 64-Bit-Modus disassemblieren
+  zarch       Im z/-Architektur-Modus disassemblieren
+# <Disassemblierungsfehler: %08lx># Interner Fehler, undefinierter Operand in â€ž%s %sâ€œ$<undefiniert>%02x		*unbekannt*%d ungenutzte Bits in i386_cpu_flags.
+%d ungenutzte Bits in i386_operand_type.
+%dsp16() hat als Parameter eine symbolische Adresse, keine Zahl%dsp8() hat als Parameter eine symbolische Adresse, keine Zahl%s: %d: Hier fehlt eine Â»)Â« im Bitfeld: %s
+%s: %d: Unbekanntes Bitfeld: %s
+%s: Fehler:%s: Warnung:LSL-Operator ist hier nicht erlaubtROR-Operator ist hier nicht erlaubt(DP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs.(SP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs.(unbekannt)Unbekannter Operandentyp: %d**unbekannt*21-Bit-Offset auÃŸerhalb des gÃ¼ltigen Bereichs<Funktionscode %d><ungÃ¼ltiger Maschinenbefehl><ungÃ¼ltige Genauigkeit><interner Disassemblerfehler><interner Fehler in der Opcode-Tabelle: %s %s>
+<unbekanntes Register %d>ABBRUCH: Unbekannter OperandAdresse 0x%s ist auÃŸerhalb des gÃ¼ltigen Bereichs.
 Versuch, ein gesetztes Bit von 0 zu bestimmenInterner Fehler: case %d (%s) in %s:%d
-UngÃ¼ltiger DirektausdruckUngÃ¼ltiges Register beim Post-IncrementUngÃ¼ltiges Register beim Pre-IncrementFalscher Registername.Byteadresse benÃ¶tigt -- muss gerade sein.Keine Ahnung, wie ich die AbhÃ¤ngigkeit Â»# %sÂ« angeben soll.
+UngÃ¼ltiger DirektausdruckUngÃ¼ltiges Register beim Post-IncrementUngÃ¼ltiges Register beim Pre-IncrementFalscher Registername.Oh, oh. Hier ist richtig was kaputt in parse_imm16!Die Bitnummer, um das allgemeine Register zu indizieren, ist auÃŸerhalb des gÃ¼ltigen Bereichs 0-15.Byteadresse benÃ¶tigt -- muss gerade sein.Keine Ahnung, wie ich die AbhÃ¤ngigkeit Â»# %sÂ« angeben soll.
 Ich verstehe Â»0x%xÂ« nicht.
 Hmmmm 0x%xIC Bemerkung %d fÃ¼r Opcode Â»%s (IC:%s)Â« vertrÃ¤gt sich nicht mit Ressource %s Bemerkung %d.
 IC Bemerkung %d in Opcode Â»%s (IC:%s)Â« vertrÃ¤gt sich nicht mit Ressource %s Bemerkung %d.
 IC:%s [%s] hat weder Terminale noch Unterklassen
 IC:%s hat weder Terminale noch Unterklassen
-UngÃ¼ltige limm-Referenz in der letzten Anweisung!
-Interner Disassemblerfehler.Interner Fehler: UngÃ¼ltiger SPARC-Opcode: "%s", %#.8lx, %#.8lx
+UngÃ¼ltig als 2-Op-MaschinenbefehlUngÃ¼ltig als Emulations-MaschinenbefehlUngÃ¼ltige limm-Referenz in der letzten Anweisung!
+Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -128 bis 127.Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767.Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -512 bis 511.Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -7 bis 8.Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -8 bis 7.Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 65535.Interner Disassemblerfehler.Interner Fehler: UngÃ¼ltiger SPARC-Opcode: "%s", %#.8lx, %#.8lx
 Interner Fehler: UngÃ¼ltiger SPARC-Opcode: "%s" == "%s"
 Interner Fehler: UngÃ¼ltiger SPARC-Opcode: "%s", %#.8lx, %#.8lx
-Intern: Nicht gedebuggter Code (Testfall fehlt): %s:%dSprungmarke vertrÃ¤gt sich nicht mit Â»RxÂ«Sprungmarke vertrÃ¤gt sich nicht mit dem RegisternameKeine Verlagerung fÃ¼r kleine DirektwerteOperand muss ein Symbol seinKleiner Operand war keine Direktzahl.Syntaxfehler: Kein abschlieÃŸendes Â»)Â«Unbekannter Fehler %d
+Intern: Nicht gedebuggter Code (Testfall fehlt): %s:%dUngÃ¼ltige GrÃ¶ÃŸenangabeSprungmarke vertrÃ¤gt sich nicht mit Â»RxÂ«Sprungmarke vertrÃ¤gt sich nicht mit dem RegisternameDas Â»#Â«-PrÃ¤fix felhtDas Â».Â«-PrÃ¤fix fehltDas Â»pag:Â«-PrÃ¤fix fehltDas Â»pof:Â«-PrÃ¤fix fehltDas Â»seg:Â«-PrÃ¤fix fehlt"Das Â»sof:Â«-PrÃ¤fix fehlt"Keine Verlagerung fÃ¼r kleine DirektwerteDas ist keine PC-relative AdresseDieser Opcode kann nur $sp oder $15 als Parameter haben.Dieser Opcode kann nur $tp oder $13 als Parameter haben.Operand muss ein Symbol seinOperand auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767.Registerliste ist ungÃ¼ltigDas Register muss zwischen r0 und r7 liegen.Das Register muss zwischen r8 und r15 liegen.Die Registernummer ist nicht gÃ¼ltig.Benutzung der reservierten A/L- und B/W-Bits erkanntSR/RelID l liegt auÃŸerhalb des gÃ¼ltigen BereichsSelID liegt auÃŸerhalb des gÃ¼ltigen BereichsKleiner Operand war keine Direktzahl.Nummer des Spezialregisters ist auÃŸerhalb des gÃ¼ltigen BereichsSyntaxfehler: Kein abschlieÃŸendes Â»)Â«Der Operand des Prozent-Operators ist kein Symbol.Unbekanntes Bitfeld: %s
+Unbekannter Fehler %d
 Unbekannte Disassembler-Option: %s
 Unbekannte Registernamensmenge: %s
 Unbekanntes Feld %d beim Erzeugen des Befehls.
@@ -141,20 +245,26 @@ Kommata getrennt werden):
 Unbekanntes Feld %d beim Schreiben des Befehls.
 Unbekanntes Feld %d beim Setzen des int-Operanden.
 Unbekanntes Feld %d beim Holen des vma-Operanden.
-SchlÃ¼sselwort Â»WÂ« ist im Operandenplatz Â»FRÂ« ungÃ¼ltig.Warnung: Die Ressource Â»%s (%s)Â« hat keine Â»chks%sÂ«.
-Versuch, das y-Bit zusammen mit dem Modifikator Â»+Â« oder Â»-Â« zu setzen.Falscher Befehl Â»%.50sÂ«Falscher Befehl Â»%.50s...Â«Sprung-Operand ist nicht ausgerichtet (unaligned).Verzweigung auf ungeraden OffsetVerzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs und zu einem ungeraden Offset.Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs und zu einem ungeraden Offset.Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs.Kann nicht mit Â»inserv %dÂ« umgehen.
+Der Wert ist nicht ausreichend ausgerichtet.Wert des A-Operanden muss entweder 0 oder 1 seinSchlÃ¼sselwort Â»WÂ« ist im Operandenplatz Â»FRÂ« ungÃ¼ltig.W-Register erwartetWarnung: Die Ressource Â»%s (%s)Â« hat keine Â»chksÂ«.
+Warnung: Die Ressource Â»%s (%s)Â« hat keine Â»chksÂ« oder Register.
+Adressregister im Ladebereich (load range)Adressen-ZurÃ¼ckschreiben erwartetAdressen-ZurÃ¼ckschreiben nicht erlaubtVersuch, ein lesegeschÃ¼tztes Register zu auszulesenVersuch, die HR-Bits zu setzenVersuch, ein schreibgeschÃ¼tztes Register zu beschreibenVersuch, das y-Bit zusammen mit dem Modifikator Â»+Â« oder Â»-Â« zu setzen.Hilfsregister ist an dieser Stelle nicht erlaubtFalscher Befehl Â»%.50sÂ«Falscher Befehl Â»%.50s...Â«Falscher Wert fÃ¼r SprungflagsBit,Basis liegt auÃŸerhalb des gÃ¼ltigen Bereichs.Bit,Basis liegt auÃŸerhalb des gÃ¼ltigen Bereichs fÃ¼r Symbol.Sprungadresse nicht an 4-Byte-GrenzeSprung-Operand ist nicht ausgerichtet (unaligned).Verzweigung auf ungeraden OffsetVerzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs und zu einem ungeraden Offset.Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs.Byte-Relokation nicht unterstÃ¼tztKann nicht mit Â»inserv %dÂ« umgehen.
+Kann i386-init.h nicht anlegen, errno = %s
+Kann i386-tbl.h nicht anlegen, errno = %s
 Kann Â»%sÂ« nicht zum Lesen finden
+Kann Â»i386-opc.tblÂ« nicht zum Lesen finden, errno = %s
+Kann Â»i386-reg.tblÂ« nicht zum Lesen finden, errno = %s
 Kann Â»ia64-ic.tblÂ« nicht zum Lesen finden
 cgen_parse_address: Gebe Symbol zurÃ¼ck. Sollte eigentlich ein Literal sein.Die Klasse Â»%sÂ« wurde definiert, aber nicht benutzt.
 Der Abstandswert ist nicht ausgerichtet.Der Abstandswert ist auÃŸerhalb des gÃ¼ltigen Bereichs und nicht ausgerichtetDer Abstandswert ist auÃŸerhalb des fÃ¼ltigen Bereichs.Keine Ahnung, wie ich die AbhÃ¤ngigkeit Â»%% %sÂ« angeben soll.
-Ignoriere ungÃ¼ltige mfcr-Maske.Ignoriere niedrigste Bits im VerzweigungsoffsetUngÃ¼ltige BitmaskeUnerlaubte Benutzung von Klammern.Ein Direktoperand kann kein Register sein.Direktwert auÃŸerhalb des gÃ¼ltigen BereichsDer Direktoperand muss gerade sein.Direktwert auÃŸerhalb des gÃ¼ltigen Bereichs und nicht geradeDirektoperand auÃŸerhalb des gÃ¼ltigen Bereichs.Indexregister im Ladebereich (load range)UngÃ¼ltige bedingte OptionUngÃ¼ltiges Register fÃ¼r Stackanpassung.UngÃ¼ltiger Registeroperand beim AktualisierenSprunghinweis ist nicht ausgerichtet (unaligned).MÃ¼ll am Ende der ZeileFehlende Â»)Â«.Fehlender Mnemonic im SyntaxstringDas letzte Format Â»%sÂ« scheint strenger zu sein als Â»%sÂ«.
+Direktwert dsp:16 liegt auÃŸerhalb des gÃ¼ltigen Bereichs.Direktwert dsp:20 liegt auÃŸerhalb des gÃ¼ltigen Bereichs.Direktwert dsp:24 liegt auÃŸerhalb des gÃ¼ltigen Bereichs.Direktwert dsp:6 liegt auÃŸerhalb des gÃ¼ltigen BereichsAdresse relativ zu got erwartet: got(Symbol)Adresse relativ zu got erwartet: gotoffhi16(Symbol)Adresse relativ zu got erwartet: gotofflo16(Symbol)Adresse relativ zu gp erwartet: gp(Symbol)Extend-Operator erwartetIrrelevantes RegisterFlag-Bits der limm-Sprungadresse verlorenGleitkomma-Direktwert erwartetIgnoriere ungÃ¼ltige mfcr-Maske.UngÃ¼ltige BitmaskeUnerlaubter DirektwertUnerlaubte Benutzung von Klammern.imm10 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert imm:6 liegt auÃŸerhalb des gÃ¼ltigen BereichsDirektwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 7.Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 2.Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 8.Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 2 bis 9.Direkter OffsetDirektoperand auÃŸerhalb des gÃ¼ltigen BereichsDirektwertEin Direktoperand kann kein Register sein.Direktwert auÃŸerhalb des gÃ¼ltigen BereichsDirektoperand auÃŸerhalb des gÃ¼ltigen Bereichs.Direkte Null erwartetUnmÃ¶gliches SpeichernIndexregister im Ladebereich (load range)%function() ist hier ungÃ¼ltigUngÃ¼ltige bedingte OptionUngÃ¼ltige KonstanteUngÃ¼ltiger Zugriff auf ZÃ¤hlerNicht erlaubter Extend/Shift-OperatorUngÃ¼ltiger load/shimm-MaschinenbefehlUngÃ¼ltiges MaskierungsfeldUngÃ¼ltiger Operand. Die Art kann nur 0, 1 oder 2 sein.Nicht erlaubte Anzahl im Post-InkrementUngÃ¼ltiges RegisterUngÃ¼ltiges Register fÃ¼r Stackanpassung.Falscher Registername.UngÃ¼ltige Registernummer Â»%dÂ«.UngÃ¼ltiger Register-OffsetUngÃ¼ltiger Registeroperand beim AktualisierenUngÃ¼ltige SchiebeanzahlUngÃ¼ltiger SchiebeoperatorUngÃ¼ltige sprg-NummerUngÃ¼ltiger Wert fÃ¼r DirektwertSprungflags, aber kein .f zu sehenSprungflags, aber keine limm-AdresseSprunghinweis ist nicht ausgerichtet (unaligned).MÃ¼ll am Ende der ZeileFehler im ld-OperandenFehlende Â»)Â«.Hier fehlt eine Â»]Â«.Extend-Operator fehltFehlender Mnemonic im SyntaxstringFehlendes RegisterDas letzte Format Â»%sÂ« scheint strenger zu sein als Â»%sÂ«.
 Mehrfache Bemerkung Â»%sÂ« nicht verarbeitet.
-Kein Befehl ist dem Terminal-IC Â»%sÂ« direkt zugeordnet.
-Kein Befehl ist dem Terminal-IC Â»%s [%s]Â« direkt zugeordnetOffset darf nicht grÃ¶ÃŸer als 124 seinOffset darf nicht grÃ¶ÃŸer als 248 seinOffset darf nicht grÃ¶ÃŸer als 62 seinOffset muss ein Vielfaches von 16 seinOffset muss ein Vielfaches von 2 seinOffset muss ein Vielfaches von 4 seinOffset muss ein Vielfaches von 8 seinOffset muss im Bereich von -2048 bis 2047 liegenOffset muss im Bereich von -8192 bis 8191 liegenÂ»offset(IP)Â« ist keine gÃ¼ltige Form.Opcode %s hat keine Klasse (Operanden %d %d %d)
-Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %ld)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %lu)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%lu ist nicht zwischen %lu und %lu)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%lu ist nicht zwischen 0 und %lu)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (1 bis 255).Ãœberlappendes Feld Â»%s->%sÂ«.
+Entweder muss .jd angegeben werden oder das Suffix ausgenullt werden.Negativer Direktwert nicht erlaubtNegativer oder unausgerichteter Offset erwartetKein Befehl ist dem Terminal-IC Â»%sÂ« direkt zugeordnet.
+Kein Befehl ist dem Terminal-IC Â»%s [%s]Â« direkt zugeordnetKein gÃ¼ltiges r0l/r0h-PaarÂ»offset(IP)Â« ist keine gÃ¼ltige Form.Opcode %s hat keine Klasse (Operanden %d %d %d)
+Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %ld)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %lu)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%lu ist nicht zwischen %lu und %lu)Operand auÃŸerhalb des gÃ¼ltigen Bereichs (0x%lx ist nicht zwischen 0 und 0x%lx).Operand auÃŸerhalb des gÃ¼ltigen Bereichs (1 bis 255).Ãœberlappendes Feld Â»%s->%sÂ«.
 Ãœberschreibe Bemerkung %d mit Bemerkung %d (IC:%s)
-parse_addr16: UngÃ¼ltiger Operatorindex.Die Registernummer muss gerade sein.Die Ressource Â»%s (%s)Â« hat keine Register
-Die Operanden fÃ¼r das Quell- und Zielregister mÃ¼ssen verschieden seinDer Quellregisteroperand muss gerade seinSyntaxfehler (erwartetes Zeichen Â»%cÂ«, gefunden Â»%cÂ«)Syntaxfehler (Zeichen Â»%cÂ« erwartet, Befehlsende bekommen)Der Zielregisteroperand muss gerade seinKann nicht in das Verzeichnis Â»%sÂ« wechseln, errno = %s
-undefiniertunbekanntunbekannt	0x%02xunbekannt	0x%04lxunbekannt	0x%04xUnbekannte EinschrÃ¤nkung Â»%cÂ«Unbekannte Operandenverschiebung: %x
-Unbekanntes pop-Register: %d
-Unbekannte BefehlsformUnbekannter BefehlWert auÃŸerhalb des gÃ¼ltigen Bereichs
\ No newline at end of file
+parse_addr16: UngÃ¼ltiger Operatorindex.Der Prozent-Operator ist kein Symbol.Positionswert auÃŸerhalb des gÃ¼ltigen BereichsRegister-ElementindexRegistername fÃ¤lschlicherweise als Direktwert benutzt.RegisternummerDie Registernummer muss gerade sein.Register-Quelle in direktem Â»movÂ«Dieses Register steht in kurzen Maschinenbefehlen nicht zur VerfÃ¼gung.Die Ressource Â»%s (%s)Â« hat keine Register
+SchiebeanzahlSchiebeanzahl muss hier 0 oder 12 seinSchiebeanzahl muss hier 0 oder 16 seinSchiebeanzahl sollte ein Vielfaches von 16 seinSchieben ist hier nicht erlaubtSchiebe-Operator erwartetDie Operanden fÃ¼r das Quell- und Zielregister mÃ¼ssen verschieden seinFehler im st-OperandenStackpointer-Register erwartetDer Speicherwert muss null sein.Syntaxfehler (erwartetes Zeichen Â»%cÂ«, gefunden Â»%cÂ«)Syntaxfehler (Zeichen Â»%cÂ« erwartet, Befehlsende bekommen)Zu viele lange KonstantenZu viele shimms im LadebefehlKann nicht in das Verzeichnis Â»%sÂ« wechseln, errno = %s
+Kann Konstanten mit verschiedenen Werten nicht in einen Maschinenbefehl einsetzenundefiniertUnerwartetes Adressen-ZurÃ¼ckschreibenunbekanntunbekannt	0x%02lxunbekannt	0x%04lxUnbekannte EinschrÃ¤nkung Â»%cÂ«Unbekannte Operandenverschiebung: %x
+Unbekanntes Register: %d
+Unbekannter CALLA-AdressierungsmodusUnbekannte BefehlsformUnbekannter Befehlvector5 liegt auÃŸerhalb des gÃ¼ltigen Bereichsvector8 liegt auÃŸerhalb des gÃ¼ltigen BereichsWarnung: Ignorieren unbekannte Option Â»-M%sÂ«.
+Breitenwert auÃŸerhalb des gÃ¼ltigen Bereichs
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/de.po ./opcodes/po/de.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/de.po	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/po/de.po	2015-01-20 02:05:40.000000000 +0000
@@ -1,45 +1,307 @@
 # Katalog fÃ¼r opcodes.
 # Copyright (C) 2002 Free Software Foundation, Inc.
+# This file is distributed under the same license as the binutils package.
 # Martin v. LÃ¶wis <martin@v.loewis.de>, 2002.
+# Roland Illig <roland.illig@gmx.de>, 2004-2014.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: opcodes 2.14rel030712\n"
-"POT-Creation-Date: 2003-07-11 13:56+0930\n"
-"PO-Revision-Date: 2004-02-28 12:30+0100\n"
+"Project-Id-Version: opcodes 2.24.90\n"
+"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
+"POT-Creation-Date: 2014-02-10 09:42+1030\n"
+"PO-Revision-Date: 2014-10-18 23:28+0100\n"
 "Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
-"Language-Team: German <de@li.org>\n"
+"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+"Language: de\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.6.10\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: alpha-opc.c:335
+#. Invalid option.
+#. XXX - should break 'option' at following delimiter.
+#: aarch64-dis.c:81 arm-dis.c:4606
+#, c-format
+msgid "Unrecognised disassembler option: %s\n"
+msgstr "Unbekannte Disassembler-Option: %s\n"
+
+#: aarch64-dis.c:2395
+#, c-format
+msgid ""
+"\n"
+"The following AARCH64 specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Die folgenden AARCH64-spezifischen Disassembleroptionen werden zusammen\n"
+"mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
+"Kommata getrennt werden):\n"
+
+#: aarch64-dis.c:2399
+#, c-format
+msgid ""
+"\n"
+"  no-aliases         Don't print instruction aliases.\n"
+msgstr ""
+"\n"
+"  no-aliases         Befehls-Aliase nicht ausgeben.\n"
+
+#: aarch64-dis.c:2402
+#, c-format
+msgid ""
+"\n"
+"  aliases            Do print instruction aliases.\n"
+msgstr ""
+"\n"
+"  aliases            Befehls-Aliase ausgeben.\n"
+
+#: aarch64-dis.c:2406
+#, c-format
+msgid ""
+"\n"
+"  debug_dump         Temp switch for debug trace.\n"
+msgstr ""
+"\n"
+"  debug_dump         TemporÃ¤rer Schalter fÃ¼r Debugspuren.\n"
+
+#: aarch64-dis.c:2410 mips-dis.c:2231 mips-dis.c:2239 mips-dis.c:2241
+#, c-format
+msgid "\n"
+msgstr "\n"
+
+#: aarch64-opc.c:1152
+msgid "immediate value"
+msgstr "Direktwert"
+
+#: aarch64-opc.c:1162
+msgid "immediate offset"
+msgstr "Direkter Offset"
+
+#: aarch64-opc.c:1172
+msgid "register number"
+msgstr "Registernummer"
+
+#: aarch64-opc.c:1182
+msgid "register element index"
+msgstr "Register-Elementindex"
+
+#: aarch64-opc.c:1192
+msgid "shift amount"
+msgstr "Schiebeanzahl"
+
+#: aarch64-opc.c:1264
+msgid "extraneous register"
+msgstr "Irrelevantes Register"
+
+#: aarch64-opc.c:1269
+msgid "missing register"
+msgstr "Fehlendes Register"
+
+#: aarch64-opc.c:1280
+msgid "stack pointer register expected"
+msgstr "Stackpointer-Register erwartet"
+
+#: aarch64-opc.c:1310
+msgid "unexpected address writeback"
+msgstr "Unerwartetes Adressen-ZurÃ¼ckschreiben"
+
+#: aarch64-opc.c:1321
+msgid "address writeback expected"
+msgstr "Adressen-ZurÃ¼ckschreiben erwartet"
+
+#: aarch64-opc.c:1367
+msgid "negative or unaligned offset expected"
+msgstr "Negativer oder unausgerichteter Offset erwartet"
+
+#: aarch64-opc.c:1380
+msgid "invalid register offset"
+msgstr "UngÃ¼ltiger Register-Offset"
+
+#: aarch64-opc.c:1402
+msgid "invalid post-increment amount"
+msgstr "Nicht erlaubte Anzahl im Post-Inkrement"
+
+#: aarch64-opc.c:1418 aarch64-opc.c:1685
+msgid "invalid shift amount"
+msgstr "UngÃ¼ltige Schiebeanzahl"
+
+#: aarch64-opc.c:1431
+msgid "invalid extend/shift operator"
+msgstr "Nicht erlaubter Extend/Shift-Operator"
+
+#: aarch64-opc.c:1477 aarch64-opc.c:1551 aarch64-opc.c:1586 aarch64-opc.c:1605
+#: aarch64-opc.c:1613 aarch64-opc.c:1663 aarch64-opc.c:1814
+msgid "immediate out of range"
+msgstr "Direktoperand auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: aarch64-opc.c:1539 aarch64-opc.c:1561 aarch64-opc.c:1718 aarch64-opc.c:1726
+#: aarch64-opc.c:1792 aarch64-opc.c:1820
+msgid "invalid shift operator"
+msgstr "UngÃ¼ltiger Schiebeoperator"
+
+#: aarch64-opc.c:1545
+msgid "shift amount expected to be 0 or 12"
+msgstr "Schiebeanzahl muss hier 0 oder 12 sein"
+
+#: aarch64-opc.c:1568
+msgid "shift amount should be a multiple of 16"
+msgstr "Schiebeanzahl sollte ein Vielfaches von 16 sein"
+
+#: aarch64-opc.c:1580
+msgid "negative immediate value not allowed"
+msgstr "Negativer Direktwert nicht erlaubt"
+
+#: aarch64-opc.c:1674
+msgid "immediate zero expected"
+msgstr "Direkte Null erwartet"
+
+#: aarch64-opc.c:1734
+msgid "shift is not permitted"
+msgstr "Schieben ist hier nicht erlaubt"
+
+#: aarch64-opc.c:1759
+msgid "invalid value for immediate"
+msgstr "UngÃ¼ltiger Wert fÃ¼r Direktwert"
+
+#: aarch64-opc.c:1784
+msgid "shift amount expected to be 0 or 16"
+msgstr "Schiebeanzahl muss hier 0 oder 16 sein"
+
+#: aarch64-opc.c:1804
+msgid "floating-point immediate expected"
+msgstr "Gleitkomma-Direktwert erwartet"
+
+#: aarch64-opc.c:1895
+msgid "extend operator expected"
+msgstr "Extend-Operator erwartet"
+
+#: aarch64-opc.c:1908
+msgid "missing extend operator"
+msgstr "Extend-Operator fehlt"
+
+#: aarch64-opc.c:1914
+msgid "'LSL' operator not allowed"
+msgstr "LSL-Operator ist hier nicht erlaubt"
+
+#: aarch64-opc.c:1935
+msgid "W register expected"
+msgstr "W-Register erwartet"
+
+#: aarch64-opc.c:1946
+msgid "shift operator expected"
+msgstr "Schiebe-Operator erwartet"
+
+#: aarch64-opc.c:1953
+msgid "'ROR' operator not allowed"
+msgstr "ROR-Operator ist hier nicht erlaubt"
+
+#: alpha-opc.c:155
 msgid "branch operand unaligned"
 msgstr "Sprung-Operand ist nicht ausgerichtet (unaligned)."
 
-#: alpha-opc.c:358 alpha-opc.c:380
+#: alpha-opc.c:171 alpha-opc.c:187
 msgid "jump hint unaligned"
 msgstr "Sprunghinweis ist nicht ausgerichtet (unaligned)."
 
-#: arc-dis.c:52
+#: arc-dis.c:75
 msgid "Illegal limm reference in last instruction!\n"
 msgstr "UngÃ¼ltige limm-Referenz in der letzten Anweisung!\n"
 
-#: arm-dis.c:554
+#: arc-opc.c:386
+msgid "unable to fit different valued constants into instruction"
+msgstr "Kann Konstanten mit verschiedenen Werten nicht in einen Maschinenbefehl einsetzen"
+
+#: arc-opc.c:395
+msgid "auxiliary register not allowed here"
+msgstr "Hilfsregister ist an dieser Stelle nicht erlaubt"
+
+#: arc-opc.c:401 arc-opc.c:418
+msgid "attempt to set readonly register"
+msgstr "Versuch, ein schreibgeschÃ¼tztes Register zu beschreiben"
+
+#: arc-opc.c:406 arc-opc.c:423
+msgid "attempt to read writeonly register"
+msgstr "Versuch, ein lesegeschÃ¼tztes Register zu auszulesen"
+
+#: arc-opc.c:428
+#, c-format
+msgid "invalid register number `%d'"
+msgstr "UngÃ¼ltige Registernummer Â»%dÂ«."
+
+#: arc-opc.c:594 arc-opc.c:645 arc-opc.c:673
+msgid "too many long constants"
+msgstr "Zu viele lange Konstanten"
+
+#: arc-opc.c:668
+msgid "too many shimms in load"
+msgstr "Zu viele shimms im Ladebefehl"
+
+#. Do we have a limm already?
+#: arc-opc.c:781
+msgid "impossible store"
+msgstr "UnmÃ¶gliches Speichern"
+
+#: arc-opc.c:814
+msgid "st operand error"
+msgstr "Fehler im st-Operanden"
+
+#: arc-opc.c:818 arc-opc.c:860
+msgid "address writeback not allowed"
+msgstr "Adressen-ZurÃ¼ckschreiben nicht erlaubt"
+
+#: arc-opc.c:822
+msgid "store value must be zero"
+msgstr "Der Speicherwert muss null sein."
+
+#: arc-opc.c:847
+msgid "invalid load/shimm insn"
+msgstr "UngÃ¼ltiger load/shimm-Maschinenbefehl"
+
+#: arc-opc.c:856
+msgid "ld operand error"
+msgstr "Fehler im ld-Operanden"
+
+#: arc-opc.c:943
+msgid "jump flags, but no .f seen"
+msgstr "Sprungflags, aber kein .f zu sehen"
+
+#: arc-opc.c:946
+msgid "jump flags, but no limm addr"
+msgstr "Sprungflags, aber keine limm-Adresse"
+
+#: arc-opc.c:949
+msgid "flag bits of jump address limm lost"
+msgstr "Flag-Bits der limm-Sprungadresse verloren"
+
+#: arc-opc.c:952
+msgid "attempt to set HR bits"
+msgstr "Versuch, die HR-Bits zu setzen"
+
+#: arc-opc.c:955
+msgid "bad jump flags value"
+msgstr "Falscher Wert fÃ¼r Sprungflags"
+
+#: arc-opc.c:988
+msgid "branch address not on 4 byte boundary"
+msgstr "Sprungadresse nicht an 4-Byte-Grenze"
+
+#: arc-opc.c:1024
+msgid "must specify .jd or no nullify suffix"
+msgstr "Entweder muss .jd angegeben werden oder das Suffix ausgenullt werden."
+
+#: arm-dis.c:2145
 msgid "<illegal precision>"
 msgstr "<ungÃ¼ltige Genauigkeit>"
 
-#: arm-dis.c:1162
+#. XXX - should break 'option' at following delimiter.
+#: arm-dis.c:4598
 #, c-format
 msgid "Unrecognised register name set: %s\n"
 msgstr "Unbekannte Registernamensmenge: %s\n"
 
-#: arm-dis.c:1169
+#: arm-dis.c:5208
 #, c-format
-msgid "Unrecognised disassembler option: %s\n"
-msgstr "Unbekannte Disassembler-Option: %s\n"
-
-#: arm-dis.c:1343
 msgid ""
 "\n"
 "The following ARM specific disassembler options are supported for use with\n"
@@ -49,312 +311,557 @@ msgstr ""
 "Die folgenden ARM-spezifischen Disassembleroptionen werden in Kombination\n"
 "mit dem Schalter Â»-MÂ« unterstÃ¼tzt:\n"
 
-#: avr-dis.c:117 avr-dis.c:127
+#: avr-dis.c:115 avr-dis.c:136
+#, c-format
 msgid "undefined"
 msgstr "undefiniert"
 
-#: avr-dis.c:179
+#: avr-dis.c:198
+#, c-format
 msgid "Internal disassembler error"
 msgstr "Interner Disassemblerfehler."
 
-#: avr-dis.c:227
+#: avr-dis.c:251
 #, c-format
 msgid "unknown constraint `%c'"
 msgstr "Unbekannte EinschrÃ¤nkung Â»%cÂ«"
 
-#: cgen-asm.c:348 fr30-ibld.c:195 frv-ibld.c:195 ip2k-ibld.c:195
-#: iq2000-ibld.c:195 m32r-ibld.c:195 openrisc-ibld.c:195 xstormy16-ibld.c:195
+#: cgen-asm.c:352 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
+#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
+#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 openrisc-ibld.c:201
+#: xc16x-ibld.c:201 xstormy16-ibld.c:201
 #, c-format
 msgid "operand out of range (%ld not between %ld and %ld)"
 msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %ld)"
 
-#: cgen-asm.c:369
+#: cgen-asm.c:374
 #, c-format
 msgid "operand out of range (%lu not between %lu and %lu)"
 msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%lu ist nicht zwischen %lu und %lu)"
 
-#: d30v-dis.c:312
+#: d30v-dis.c:255
 #, c-format
 msgid "<unknown register %d>"
 msgstr "<unbekanntes Register %d>"
 
 #  Can't happen.
 #. Can't happen.
-#: dis-buf.c:57
+#: dis-buf.c:60
 #, c-format
 msgid "Unknown error %d\n"
 msgstr "Unbekannter Fehler %d\n"
 
-#: dis-buf.c:62
+#: dis-buf.c:69
 #, c-format
-msgid "Address 0x%x is out of bounds.\n"
-msgstr "Adresse 0x%x ist auÃŸerhalb des gÃ¼ltigen Bereichs.\n"
+msgid "Address 0x%s is out of bounds.\n"
+msgstr "Adresse 0x%s ist auÃŸerhalb des gÃ¼ltigen Bereichs.\n"
 
-#: fr30-asm.c:323 frv-asm.c:626 ip2k-asm.c:574 iq2000-asm.c:460 m32r-asm.c:325
-#: openrisc-asm.c:261 xstormy16-asm.c:284
+#: epiphany-asm.c:68
+msgid "register unavailable for short instructions"
+msgstr "Dieses Register steht in kurzen Maschinenbefehlen nicht zur VerfÃ¼gung."
+
+#: epiphany-asm.c:115
+msgid "register name used as immediate value"
+msgstr "Registername fÃ¤lschlicherweise als Direktwert benutzt."
+
+#. Don't treat "mov ip,ip" as a move-immediate.
+#: epiphany-asm.c:178 epiphany-asm.c:234
+msgid "register source in immediate move"
+msgstr "Register-Quelle in direktem Â»movÂ«"
+
+#: epiphany-asm.c:187
+msgid "byte relocation unsupported"
+msgstr "Byte-Relokation nicht unterstÃ¼tzt"
+
+#. -- assembler routines inserted here.
+#. -- asm.c
+#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95
+#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247
+#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355
+#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
+#: mep-asm.c:301 openrisc-asm.c:54
+msgid "missing `)'"
+msgstr "Fehlende Â»)Â«."
+
+#: epiphany-asm.c:270
+msgid "ABORT: unknown operand"
+msgstr "ABBRUCH: Unbekannter Operand"
+
+#: epiphany-asm.c:296
+msgid "Not a pc-relative address."
+msgstr "Das ist keine PC-relative Adresse"
+
+#: epiphany-asm.c:455 fr30-asm.c:310 frv-asm.c:1263 ip2k-asm.c:511
+#: iq2000-asm.c:459 lm32-asm.c:349 m32c-asm.c:1584 m32r-asm.c:328
+#: mep-asm.c:1286 mt-asm.c:595 openrisc-asm.c:241 xc16x-asm.c:376
+#: xstormy16-asm.c:276
 #, c-format
 msgid "Unrecognized field %d while parsing.\n"
 msgstr "Unbekanntes Feld %d beim Parsen entdeckt.\n"
 
-#: fr30-asm.c:373 frv-asm.c:676 ip2k-asm.c:624 iq2000-asm.c:510 m32r-asm.c:375
-#: openrisc-asm.c:311 xstormy16-asm.c:334
+#: epiphany-asm.c:506 fr30-asm.c:361 frv-asm.c:1314 ip2k-asm.c:562
+#: iq2000-asm.c:510 lm32-asm.c:400 m32c-asm.c:1635 m32r-asm.c:379
+#: mep-asm.c:1337 mt-asm.c:646 openrisc-asm.c:292 xc16x-asm.c:427
+#: xstormy16-asm.c:327
 msgid "missing mnemonic in syntax string"
 msgstr "Fehlender Mnemonic im Syntaxstring"
 
 #  We couldn't parse it.
 #. We couldn't parse it.
-#: fr30-asm.c:509 fr30-asm.c:513 fr30-asm.c:600 fr30-asm.c:702 frv-asm.c:812
-#: frv-asm.c:816 frv-asm.c:903 frv-asm.c:1005 ip2k-asm.c:760 ip2k-asm.c:764
-#: ip2k-asm.c:851 ip2k-asm.c:953 iq2000-asm.c:646 iq2000-asm.c:650
-#: iq2000-asm.c:737 iq2000-asm.c:839 m32r-asm.c:511 m32r-asm.c:515
-#: m32r-asm.c:602 m32r-asm.c:704 openrisc-asm.c:447 openrisc-asm.c:451
-#: openrisc-asm.c:538 openrisc-asm.c:640 xstormy16-asm.c:470
-#: xstormy16-asm.c:474 xstormy16-asm.c:561 xstormy16-asm.c:663
+#: epiphany-asm.c:641 epiphany-asm.c:645 epiphany-asm.c:734 epiphany-asm.c:841
+#: fr30-asm.c:496 fr30-asm.c:500 fr30-asm.c:589 fr30-asm.c:696 frv-asm.c:1449
+#: frv-asm.c:1453 frv-asm.c:1542 frv-asm.c:1649 ip2k-asm.c:697 ip2k-asm.c:701
+#: ip2k-asm.c:790 ip2k-asm.c:897 iq2000-asm.c:645 iq2000-asm.c:649
+#: iq2000-asm.c:738 iq2000-asm.c:845 lm32-asm.c:535 lm32-asm.c:539
+#: lm32-asm.c:628 lm32-asm.c:735 m32c-asm.c:1770 m32c-asm.c:1774
+#: m32c-asm.c:1863 m32c-asm.c:1970 m32r-asm.c:514 m32r-asm.c:518
+#: m32r-asm.c:607 m32r-asm.c:714 mep-asm.c:1472 mep-asm.c:1476 mep-asm.c:1565
+#: mep-asm.c:1672 mt-asm.c:781 mt-asm.c:785 mt-asm.c:874 mt-asm.c:981
+#: openrisc-asm.c:427 openrisc-asm.c:431 openrisc-asm.c:520 openrisc-asm.c:627
+#: xc16x-asm.c:562 xc16x-asm.c:566 xc16x-asm.c:655 xc16x-asm.c:762
+#: xstormy16-asm.c:462 xstormy16-asm.c:466 xstormy16-asm.c:555
+#: xstormy16-asm.c:662
 msgid "unrecognized instruction"
 msgstr "Unbekannter Befehl"
 
-#: fr30-asm.c:556 frv-asm.c:859 ip2k-asm.c:807 iq2000-asm.c:693 m32r-asm.c:558
-#: openrisc-asm.c:494 xstormy16-asm.c:517
+#: epiphany-asm.c:688 fr30-asm.c:543 frv-asm.c:1496 ip2k-asm.c:744
+#: iq2000-asm.c:692 lm32-asm.c:582 m32c-asm.c:1817 m32r-asm.c:561
+#: mep-asm.c:1519 mt-asm.c:828 openrisc-asm.c:474 xc16x-asm.c:609
+#: xstormy16-asm.c:509
 #, c-format
 msgid "syntax error (expected char `%c', found `%c')"
 msgstr "Syntaxfehler (erwartetes Zeichen Â»%cÂ«, gefunden Â»%cÂ«)"
 
-#: fr30-asm.c:566 frv-asm.c:869 ip2k-asm.c:817 iq2000-asm.c:703 m32r-asm.c:568
-#: openrisc-asm.c:504 xstormy16-asm.c:527
+#: epiphany-asm.c:698 fr30-asm.c:553 frv-asm.c:1506 ip2k-asm.c:754
+#: iq2000-asm.c:702 lm32-asm.c:592 m32c-asm.c:1827 m32r-asm.c:571
+#: mep-asm.c:1529 mt-asm.c:838 openrisc-asm.c:484 xc16x-asm.c:619
+#: xstormy16-asm.c:519
 #, c-format
 msgid "syntax error (expected char `%c', found end of instruction)"
 msgstr "Syntaxfehler (Zeichen Â»%cÂ« erwartet, Befehlsende bekommen)"
 
-#: fr30-asm.c:594 frv-asm.c:897 ip2k-asm.c:845 iq2000-asm.c:731 m32r-asm.c:596
-#: openrisc-asm.c:532 xstormy16-asm.c:555
+#: epiphany-asm.c:728 fr30-asm.c:583 frv-asm.c:1536 ip2k-asm.c:784
+#: iq2000-asm.c:732 lm32-asm.c:622 m32c-asm.c:1857 m32r-asm.c:601
+#: mep-asm.c:1559 mt-asm.c:868 openrisc-asm.c:514 xc16x-asm.c:649
+#: xstormy16-asm.c:549
 msgid "junk at end of line"
 msgstr "MÃ¼ll am Ende der Zeile"
 
-#: fr30-asm.c:701 frv-asm.c:1004 ip2k-asm.c:952 iq2000-asm.c:838
-#: m32r-asm.c:703 openrisc-asm.c:639 xstormy16-asm.c:662
+#: epiphany-asm.c:840 fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896
+#: iq2000-asm.c:844 lm32-asm.c:734 m32c-asm.c:1969 m32r-asm.c:713
+#: mep-asm.c:1671 mt-asm.c:980 openrisc-asm.c:626 xc16x-asm.c:761
+#: xstormy16-asm.c:661
 msgid "unrecognized form of instruction"
 msgstr "Unbekannte Befehlsform"
 
-#: fr30-asm.c:713 frv-asm.c:1016 ip2k-asm.c:964 iq2000-asm.c:850
-#: m32r-asm.c:715 openrisc-asm.c:651 xstormy16-asm.c:674
+#: epiphany-asm.c:854 fr30-asm.c:709 frv-asm.c:1662 ip2k-asm.c:910
+#: iq2000-asm.c:858 lm32-asm.c:748 m32c-asm.c:1983 m32r-asm.c:727
+#: mep-asm.c:1685 mt-asm.c:994 openrisc-asm.c:640 xc16x-asm.c:775
+#: xstormy16-asm.c:675
 #, c-format
 msgid "bad instruction `%.50s...'"
 msgstr "Falscher Befehl Â»%.50s...Â«"
 
-#: fr30-asm.c:716 frv-asm.c:1019 ip2k-asm.c:967 iq2000-asm.c:853
-#: m32r-asm.c:718 openrisc-asm.c:654 xstormy16-asm.c:677
+#: epiphany-asm.c:857 fr30-asm.c:712 frv-asm.c:1665 ip2k-asm.c:913
+#: iq2000-asm.c:861 lm32-asm.c:751 m32c-asm.c:1986 m32r-asm.c:730
+#: mep-asm.c:1688 mt-asm.c:997 openrisc-asm.c:643 xc16x-asm.c:778
+#: xstormy16-asm.c:678
 #, c-format
 msgid "bad instruction `%.50s'"
 msgstr "Falscher Befehl Â»%.50sÂ«"
 
 #  Default text to print if an instruction isn't recognized.
 #. Default text to print if an instruction isn't recognized.
-#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32r-dis.c:41
-#: mmix-dis.c:284 openrisc-dis.c:41 xstormy16-dis.c:41
+#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
+#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:276
+#: mt-dis.c:41 nds32-dis.c:56 openrisc-dis.c:41 xc16x-dis.c:41
+#: xstormy16-dis.c:41
 msgid "*unknown*"
 msgstr "*unbekannt*"
 
-#: fr30-dis.c:320 frv-dis.c:371 ip2k-dis.c:329 iq2000-dis.c:192 m32r-dis.c:251
-#: openrisc-dis.c:138 xstormy16-dis.c:171
+#: epiphany-dis.c:277 fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288
+#: iq2000-dis.c:189 lm32-dis.c:147 m32c-dis.c:891 m32r-dis.c:279
+#: mep-dis.c:1187 mt-dis.c:290 openrisc-dis.c:135 xc16x-dis.c:420
+#: xstormy16-dis.c:168
 #, c-format
 msgid "Unrecognized field %d while printing insn.\n"
 msgstr "Unbekanntes Feld %d beim Schreiben des Befehls.\n"
 
-#: fr30-ibld.c:166 frv-ibld.c:166 ip2k-ibld.c:166 iq2000-ibld.c:166
-#: m32r-ibld.c:166 openrisc-ibld.c:166 xstormy16-ibld.c:166
+#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164
+#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164
+#: mep-ibld.c:164 mt-ibld.c:164 openrisc-ibld.c:164 xc16x-ibld.c:164
+#: xstormy16-ibld.c:164
 #, c-format
 msgid "operand out of range (%ld not between %ld and %lu)"
 msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%ld ist nicht zwischen %ld und %lu)"
 
-#: fr30-ibld.c:179 frv-ibld.c:179 ip2k-ibld.c:179 iq2000-ibld.c:179
-#: m32r-ibld.c:179 openrisc-ibld.c:179 xstormy16-ibld.c:179
-#, c-format
-msgid "operand out of range (%lu not between 0 and %lu)"
-msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (%lu ist nicht zwischen 0 und %lu)"
-
-#: fr30-ibld.c:730 frv-ibld.c:829 ip2k-ibld.c:607 iq2000-ibld.c:713
-#: m32r-ibld.c:659 openrisc-ibld.c:633 xstormy16-ibld.c:678
+#: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185
+#: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185
+#: mep-ibld.c:185 mt-ibld.c:185 openrisc-ibld.c:185 xc16x-ibld.c:185
+#: xstormy16-ibld.c:185
+#, c-format
+msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
+msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (0x%lx ist nicht zwischen 0 und 0x%lx)."
+
+#: epiphany-ibld.c:872 fr30-ibld.c:727 frv-ibld.c:853 ip2k-ibld.c:604
+#: iq2000-ibld.c:710 lm32-ibld.c:631 m32c-ibld.c:1728 m32r-ibld.c:662
+#: mep-ibld.c:1205 mt-ibld.c:746 openrisc-ibld.c:630 xc16x-ibld.c:749
+#: xstormy16-ibld.c:675
 #, c-format
 msgid "Unrecognized field %d while building insn.\n"
 msgstr "Unbekanntes Feld %d beim Erzeugen des Befehls.\n"
 
-#: fr30-ibld.c:937 frv-ibld.c:1121 ip2k-ibld.c:684 iq2000-ibld.c:890
-#: m32r-ibld.c:792 openrisc-ibld.c:735 xstormy16-ibld.c:826
+#: epiphany-ibld.c:1166 fr30-ibld.c:932 frv-ibld.c:1170 ip2k-ibld.c:679
+#: iq2000-ibld.c:885 lm32-ibld.c:735 m32c-ibld.c:2889 m32r-ibld.c:799
+#: mep-ibld.c:1804 mt-ibld.c:966 openrisc-ibld.c:730 xc16x-ibld.c:969
+#: xstormy16-ibld.c:821
 #, c-format
 msgid "Unrecognized field %d while decoding insn.\n"
 msgstr "Unbekannted Feld %d beim Decodieren des Befehls.\n"
 
-#: fr30-ibld.c:1086 frv-ibld.c:1375 ip2k-ibld.c:761 iq2000-ibld.c:1024
-#: m32r-ibld.c:902 openrisc-ibld.c:815 xstormy16-ibld.c:939
+#: epiphany-ibld.c:1309 fr30-ibld.c:1078 frv-ibld.c:1448 ip2k-ibld.c:753
+#: iq2000-ibld.c:1016 lm32-ibld.c:824 m32c-ibld.c:3506 m32r-ibld.c:912
+#: mep-ibld.c:2274 mt-ibld.c:1166 openrisc-ibld.c:807 xc16x-ibld.c:1190
+#: xstormy16-ibld.c:931
 #, c-format
 msgid "Unrecognized field %d while getting int operand.\n"
 msgstr "Unbekanntes Feld %d beim Holen des int-Operanden.\n"
 
-#: fr30-ibld.c:1215 frv-ibld.c:1609 ip2k-ibld.c:818 iq2000-ibld.c:1138
-#: m32r-ibld.c:992 openrisc-ibld.c:875 xstormy16-ibld.c:1032
+#: epiphany-ibld.c:1434 fr30-ibld.c:1206 frv-ibld.c:1708 ip2k-ibld.c:809
+#: iq2000-ibld.c:1129 lm32-ibld.c:895 m32c-ibld.c:4105 m32r-ibld.c:1007
+#: mep-ibld.c:2726 mt-ibld.c:1348 openrisc-ibld.c:866 xc16x-ibld.c:1393
+#: xstormy16-ibld.c:1023
 #, c-format
 msgid "Unrecognized field %d while getting vma operand.\n"
 msgstr "Unbekanntes Feld %d beim Holen des vma-Operanden.\n"
 
-#: fr30-ibld.c:1349 frv-ibld.c:1852 ip2k-ibld.c:880 iq2000-ibld.c:1261
-#: m32r-ibld.c:1090 openrisc-ibld.c:944 xstormy16-ibld.c:1134
+#: epiphany-ibld.c:1566 fr30-ibld.c:1337 frv-ibld.c:1975 ip2k-ibld.c:868
+#: iq2000-ibld.c:1249 lm32-ibld.c:973 m32c-ibld.c:4692 m32r-ibld.c:1108
+#: mep-ibld.c:3139 mt-ibld.c:1537 openrisc-ibld.c:932 xc16x-ibld.c:1597
+#: xstormy16-ibld.c:1122
 #, c-format
 msgid "Unrecognized field %d while setting int operand.\n"
 msgstr "Unbekanntes Feld %d beim Setzen des int-Operanden.\n"
 
-#: fr30-ibld.c:1471 frv-ibld.c:2083 ip2k-ibld.c:930 iq2000-ibld.c:1372
-#: m32r-ibld.c:1176 openrisc-ibld.c:1001 xstormy16-ibld.c:1224
+#: epiphany-ibld.c:1688 fr30-ibld.c:1458 frv-ibld.c:2232 ip2k-ibld.c:917
+#: iq2000-ibld.c:1359 lm32-ibld.c:1041 m32c-ibld.c:5269 m32r-ibld.c:1199
+#: mep-ibld.c:3542 mt-ibld.c:1716 openrisc-ibld.c:988 xc16x-ibld.c:1791
+#: xstormy16-ibld.c:1211
 #, c-format
 msgid "Unrecognized field %d while setting vma operand.\n"
 msgstr "Unbekanntes Feld %d beim Holen des vma-Operanden.\n"
 
-#: frv-asm.c:365
+#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
+msgid "Register number is not valid"
+msgstr "Die Registernummer ist nicht gÃ¼ltig."
+
+#: fr30-asm.c:95
+msgid "Register must be between r0 and r7"
+msgstr "Das Register muss zwischen r0 und r7 liegen."
+
+#: fr30-asm.c:97
+msgid "Register must be between r8 and r15"
+msgstr "Das Register muss zwischen r8 und r15 liegen."
+
+#: fr30-asm.c:116 m32c-asm.c:910
+msgid "Register list is not valid"
+msgstr "Registerliste ist ungÃ¼ltig"
+
+#: frv-asm.c:608
+msgid "missing `]'"
+msgstr "Hier fehlt eine Â»]Â«."
+
+#: frv-asm.c:611 frv-asm.c:621
+msgid "Special purpose register number is out of range"
+msgstr "Nummer des Spezialregisters ist auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: frv-asm.c:908
+msgid "Value of A operand must be 0 or 1"
+msgstr "Wert des A-Operanden muss entweder 0 oder 1 sein"
+
+#: frv-asm.c:944
 msgid "register number must be even"
 msgstr "Die Registernummer muss gerade sein."
 
-#: h8300-dis.c:377
+#: h8300-dis.c:314
 #, c-format
 msgid "Hmmmm 0x%x"
 msgstr "Hmmmm 0x%x"
 
-#: h8300-dis.c:760
+#: h8300-dis.c:695
 #, c-format
 msgid "Don't understand 0x%x \n"
 msgstr "Ich verstehe Â»0x%xÂ« nicht.\n"
 
-#: h8500-dis.c:143
+#: h8500-dis.c:124
 #, c-format
 msgid "can't cope with insert %d\n"
 msgstr "Kann nicht mit Â»inserv %dÂ« umgehen.\n"
 
 #  Couldn't understand anything.
 #. Couldn't understand anything.
-#: h8500-dis.c:350
+#: h8500-dis.c:324
 #, c-format
 msgid "%02x\t\t*unknown*"
 msgstr "%02x\t\t*unbekannt*"
 
-#: i386-dis.c:1699
+#: i386-dis.c:11550
 msgid "<internal disassembler error>"
 msgstr "<interner Disassemblerfehler>"
 
-#: ia64-gen.c:295
+#: i386-dis.c:11859
+#, c-format
+msgid ""
+"\n"
+"The following i386/x86-64 specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Die folgenden i386/x86-64-spezifischen Disassembleroptionen werden zusammen\n"
+"mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
+"Kommata getrennt werden):\n"
+
+#: i386-dis.c:11863
+#, c-format
+msgid "  x86-64      Disassemble in 64bit mode\n"
+msgstr "  x86-64      Im 64-Bit-Modus disassemblieren\n"
+
+#: i386-dis.c:11864
+#, c-format
+msgid "  i386        Disassemble in 32bit mode\n"
+msgstr "  i386        Im 32-Bit-Modus disassemblieren\n"
+
+#: i386-dis.c:11865
+#, c-format
+msgid "  i8086       Disassemble in 16bit mode\n"
+msgstr "  i8086       Im 16-Bit-Modus disassemblieren\n"
+
+#: i386-dis.c:11866
+#, c-format
+msgid "  att         Display instruction in AT&T syntax\n"
+msgstr "  att         Maschinenbefehl in AT&T-syntax anzeigen\n"
+
+#: i386-dis.c:11867
+#, c-format
+msgid "  intel       Display instruction in Intel syntax\n"
+msgstr "  intel       Maschinenbefehl in Intel-Syntax anzeigen\n"
+
+#: i386-dis.c:11868
+#, c-format
+msgid ""
+"  att-mnemonic\n"
+"              Display instruction in AT&T mnemonic\n"
+msgstr ""
+"  att-mnemonic\n"
+"              Maschinenbefehl in AT&T-Mnemonic anzeigen\n"
+
+#: i386-dis.c:11870
+#, c-format
+msgid ""
+"  intel-mnemonic\n"
+"              Display instruction in Intel mnemonic\n"
+msgstr ""
+"  intel-mnemonic\n"
+"              Maschinenbefehl in Intel-Mnemonic anzeigen\n"
+
+#: i386-dis.c:11872
+#, c-format
+msgid "  addr64      Assume 64bit address size\n"
+msgstr "  addr64      64-Bit-AdressgrÃ¶ÃŸe annehmen\n"
+
+#: i386-dis.c:11873
+#, c-format
+msgid "  addr32      Assume 32bit address size\n"
+msgstr "  addr32      32-Bit-AdressgrÃ¶ÃŸe annehmen\n"
+
+#: i386-dis.c:11874
+#, c-format
+msgid "  addr16      Assume 16bit address size\n"
+msgstr "  addr16      16-Bit-AdressgrÃ¶ÃŸe annehmen\n"
+
+#: i386-dis.c:11875
+#, c-format
+msgid "  data32      Assume 32bit data size\n"
+msgstr "  data32      32-Bit-DatengrÃ¶ÃŸe annehmen\n"
+
+#: i386-dis.c:11876
+#, c-format
+msgid "  data16      Assume 16bit data size\n"
+msgstr "  data16      16-Bit-DatengrÃ¶ÃŸe annehmen\n"
+
+#: i386-dis.c:11877
+#, c-format
+msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
+msgstr "  suffix      Maschinenbefehl-Suffix immer in AT&T-Syntax anzeigen\n"
+
+#: i386-gen.c:560 ia64-gen.c:307
 #, c-format
 msgid "%s: Error: "
 msgstr "%s: Fehler:"
 
-#: ia64-gen.c:308
+#: i386-gen.c:692
+#, c-format
+msgid "%s: %d: Unknown bitfield: %s\n"
+msgstr "%s: %d: Unbekanntes Bitfeld: %s\n"
+
+#  Can't happen.
+#: i386-gen.c:694
+#, c-format
+msgid "Unknown bitfield: %s\n"
+msgstr "Unbekanntes Bitfeld: %s\n"
+
+#: i386-gen.c:750
+#, c-format
+msgid "%s: %d: Missing `)' in bitfield: %s\n"
+msgstr "%s: %d: Hier fehlt eine Â»)Â« im Bitfeld: %s\n"
+
+#: i386-gen.c:1015
+#, c-format
+msgid "can't find i386-opc.tbl for reading, errno = %s\n"
+msgstr "Kann Â»i386-opc.tblÂ« nicht zum Lesen finden, errno = %s\n"
+
+#: i386-gen.c:1146
+#, c-format
+msgid "can't find i386-reg.tbl for reading, errno = %s\n"
+msgstr "Kann Â»i386-reg.tblÂ« nicht zum Lesen finden, errno = %s\n"
+
+#: i386-gen.c:1223
+#, c-format
+msgid "can't create i386-init.h, errno = %s\n"
+msgstr "Kann i386-init.h nicht anlegen, errno = %s\n"
+
+#: i386-gen.c:1312 ia64-gen.c:2830
+#, c-format
+msgid "unable to change directory to \"%s\", errno = %s\n"
+msgstr "Kann nicht in das Verzeichnis Â»%sÂ« wechseln, errno = %s\n"
+
+#: i386-gen.c:1319
+#, c-format
+msgid "%d unused bits in i386_cpu_flags.\n"
+msgstr "%d ungenutzte Bits in i386_cpu_flags.\n"
+
+#: i386-gen.c:1326
+#, c-format
+msgid "%d unused bits in i386_operand_type.\n"
+msgstr "%d ungenutzte Bits in i386_operand_type.\n"
+
+#: i386-gen.c:1340
+#, c-format
+msgid "can't create i386-tbl.h, errno = %s\n"
+msgstr "Kann i386-tbl.h nicht anlegen, errno = %s\n"
+
+#: ia64-gen.c:320
 #, c-format
 msgid "%s: Warning: "
 msgstr "%s: Warnung:"
 
-#: ia64-gen.c:494 ia64-gen.c:728
+#: ia64-gen.c:506 ia64-gen.c:737
 #, c-format
 msgid "multiple note %s not handled\n"
 msgstr "Mehrfache Bemerkung Â»%sÂ« nicht verarbeitet.\n"
 
-#: ia64-gen.c:605
+#: ia64-gen.c:617
 msgid "can't find ia64-ic.tbl for reading\n"
 msgstr "Kann Â»ia64-ic.tblÂ« nicht zum Lesen finden\n"
 
-#: ia64-gen.c:810
+#: ia64-gen.c:819
 #, c-format
 msgid "can't find %s for reading\n"
 msgstr "Kann Â»%sÂ« nicht zum Lesen finden\n"
 
-#: ia64-gen.c:1034
+#: ia64-gen.c:1051
 #, c-format
 msgid ""
 "most recent format '%s'\n"
 "appears more restrictive than '%s'\n"
 msgstr "Das letzte Format Â»%sÂ« scheint strenger zu sein als Â»%sÂ«.\n"
 
-#: ia64-gen.c:1045
+#: ia64-gen.c:1062
 #, c-format
 msgid "overlapping field %s->%s\n"
 msgstr "Ãœberlappendes Feld Â»%s->%sÂ«.\n"
 
-#: ia64-gen.c:1236
+#: ia64-gen.c:1259
 #, c-format
 msgid "overwriting note %d with note %d (IC:%s)\n"
 msgstr "Ãœberschreibe Bemerkung %d mit Bemerkung %d (IC:%s)\n"
 
-#: ia64-gen.c:1435
+#: ia64-gen.c:1466
 #, c-format
 msgid "don't know how to specify %% dependency %s\n"
 msgstr "Keine Ahnung, wie ich die AbhÃ¤ngigkeit Â»%% %sÂ« angeben soll.\n"
 
-#: ia64-gen.c:1457
+#: ia64-gen.c:1488
 #, c-format
 msgid "Don't know how to specify # dependency %s\n"
 msgstr "Keine Ahnung, wie ich die AbhÃ¤ngigkeit Â»# %sÂ« angeben soll.\n"
 
-#: ia64-gen.c:1496
+#: ia64-gen.c:1527
 #, c-format
 msgid "IC:%s [%s] has no terminals or sub-classes\n"
 msgstr "IC:%s [%s] hat weder Terminale noch Unterklassen\n"
 
-#: ia64-gen.c:1499
+#: ia64-gen.c:1530
 #, c-format
 msgid "IC:%s has no terminals or sub-classes\n"
 msgstr "IC:%s hat weder Terminale noch Unterklassen\n"
 
-#: ia64-gen.c:1508
+#: ia64-gen.c:1539
 #, c-format
 msgid "no insns mapped directly to terminal IC %s [%s]"
 msgstr "Kein Befehl ist dem Terminal-IC Â»%s [%s]Â« direkt zugeordnet"
 
-#: ia64-gen.c:1511
+#: ia64-gen.c:1542
 #, c-format
 msgid "no insns mapped directly to terminal IC %s\n"
 msgstr "Kein Befehl ist dem Terminal-IC Â»%sÂ« direkt zugeordnet.\n"
 
-#: ia64-gen.c:1522
+#: ia64-gen.c:1553
 #, c-format
 msgid "class %s is defined but not used\n"
 msgstr "Die Klasse Â»%sÂ« wurde definiert, aber nicht benutzt.\n"
 
-#: ia64-gen.c:1533
+#: ia64-gen.c:1566
+#, c-format
+msgid "Warning: rsrc %s (%s) has no chks\n"
+msgstr "Warnung: Die Ressource Â»%s (%s)Â« hat keine Â»chksÂ«.\n"
+
+#: ia64-gen.c:1569
 #, c-format
-msgid "Warning: rsrc %s (%s) has no chks%s\n"
-msgstr "Warnung: Die Ressource Â»%s (%s)Â« hat keine Â»chks%sÂ«.\n"
+msgid "Warning: rsrc %s (%s) has no chks or regs\n"
+msgstr "Warnung: Die Ressource Â»%s (%s)Â« hat keine Â»chksÂ« oder Register.\n"
 
-#: ia64-gen.c:1537
+#: ia64-gen.c:1573
 #, c-format
 msgid "rsrc %s (%s) has no regs\n"
 msgstr "Die Ressource Â»%s (%s)Â« hat keine Register\n"
 
-#: ia64-gen.c:2436
+#: ia64-gen.c:2465
 #, c-format
 msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
 msgstr "IC Bemerkung %d in Opcode Â»%s (IC:%s)Â« vertrÃ¤gt sich nicht mit Ressource %s Bemerkung %d.\n"
 
-#: ia64-gen.c:2464
+#: ia64-gen.c:2493
 #, c-format
 msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
 msgstr "IC Bemerkung %d fÃ¼r Opcode Â»%s (IC:%s)Â« vertrÃ¤gt sich nicht mit Ressource %s Bemerkung %d.\n"
 
-#: ia64-gen.c:2478
+#: ia64-gen.c:2507
 #, c-format
 msgid "opcode %s has no class (ops %d %d %d)\n"
 msgstr "Opcode %s hat keine Klasse (Operanden %d %d %d)\n"
 
-#: ia64-gen.c:2789
-#, c-format
-msgid "unable to change directory to \"%s\", errno = %s\n"
-msgstr "Kann nicht in das Verzeichnis Â»%sÂ« wechseln, errno = %s\n"
-
 #  We've been passed a w.  Return with an error message so that
 #  cgen will try the next parsing option.
 #. We've been passed a w.  Return with an error message so that
 #. cgen will try the next parsing option.
-#: ip2k-asm.c:92
+#: ip2k-asm.c:81
 msgid "W keyword invalid in FR operand slot."
 msgstr "SchlÃ¼sselwort Â»WÂ« ist im Operandenplatz Â»FRÂ« ungÃ¼ltig."
 
 #  Invalid offset present.
 #. Invalid offset present.
-#: ip2k-asm.c:122
+#: ip2k-asm.c:106
 msgid "offset(IP) is not a valid form"
 msgstr "Â»offset(IP)Â« ist keine gÃ¼ltige Form."
 
@@ -362,7 +869,7 @@ msgstr "Â»offset(IP)Â« ist keine gÃ¼ltig
 #  of range.
 #. Found something there in front of (DP) but it's out
 #. of range.
-#: ip2k-asm.c:175
+#: ip2k-asm.c:154
 msgid "(DP) offset out of range."
 msgstr "(DP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs."
 
@@ -370,108 +877,207 @@ msgstr "(DP) Offset auÃŸerhalb des gÃ¼lt
 #  of range.
 #. Found something there in front of (SP) but it's out
 #. of range.
-#: ip2k-asm.c:221
+#: ip2k-asm.c:195
 msgid "(SP) offset out of range."
 msgstr "(SP) Offset auÃŸerhalb des gÃ¼ltigen Bereichs."
 
-#: ip2k-asm.c:241
+#: ip2k-asm.c:211
 msgid "illegal use of parentheses"
 msgstr "Unerlaubte Benutzung von Klammern."
 
-#: ip2k-asm.c:248
+#: ip2k-asm.c:218
 msgid "operand out of range (not between 1 and 255)"
 msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs (1 bis 255)."
 
 #  Something is very wrong. opindex has to be one of the above.
 #. Something is very wrong. opindex has to be one of the above.
-#: ip2k-asm.c:273
+#: ip2k-asm.c:242
 msgid "parse_addr16: invalid opindex."
 msgstr "parse_addr16: UngÃ¼ltiger Operatorindex."
 
-#: ip2k-asm.c:353
+#: ip2k-asm.c:296
 msgid "Byte address required. - must be even."
 msgstr "Byteadresse benÃ¶tigt -- muss gerade sein."
 
-#: ip2k-asm.c:362
+#: ip2k-asm.c:305
 msgid "cgen_parse_address returned a symbol. Literal required."
 msgstr "cgen_parse_address: Gebe Symbol zurÃ¼ck. Sollte eigentlich ein Literal sein."
 
-#: ip2k-asm.c:420
-#, c-format
-msgid "%operator operand is not a symbol"
-msgstr "Der Operand %operator muss ein Symbol sein."
+#: ip2k-asm.c:360
+msgid "percent-operator operand is not a symbol"
+msgstr "Der Prozent-Operator ist kein Symbol."
 
-#: ip2k-asm.c:474
+#: ip2k-asm.c:413
 msgid "Attempt to find bit index of 0"
 msgstr "Versuch, ein gesetztes Bit von 0 zu bestimmen"
 
-#: iq2000-asm.c:110 iq2000-asm.c:141
+#: iq2000-asm.c:112 iq2000-asm.c:142
 msgid "immediate value cannot be register"
 msgstr "Ein Direktoperand kann kein Register sein."
 
-#: iq2000-asm.c:120 iq2000-asm.c:151
+#: iq2000-asm.c:123 iq2000-asm.c:153 lm32-asm.c:70
 msgid "immediate value out of range"
 msgstr "Direktoperand auÃŸerhalb des gÃ¼ltigen Bereichs."
 
-#: iq2000-asm.c:180
+#: iq2000-asm.c:182
 msgid "21-bit offset out of range"
 msgstr "21-Bit-Offset auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: iq2000-asm.c:205 iq2000-asm.c:235 iq2000-asm.c:272 iq2000-asm.c:305
-#: openrisc-asm.c:96 openrisc-asm.c:155
-msgid "missing `)'"
-msgstr "Fehlende Â»)Â«."
-
-#: m10200-dis.c:199
-#, c-format
-msgid "unknown\t0x%02x"
-msgstr "unbekannt\t0x%02x"
+#: lm32-asm.c:166
+msgid "expecting gp relative address: gp(symbol)"
+msgstr "Adresse relativ zu gp erwartet: gp(Symbol)"
+
+#: lm32-asm.c:196
+msgid "expecting got relative address: got(symbol)"
+msgstr "Adresse relativ zu got erwartet: got(Symbol)"
+
+#: lm32-asm.c:226
+msgid "expecting got relative address: gotoffhi16(symbol)"
+msgstr "Adresse relativ zu got erwartet: gotoffhi16(Symbol)"
+
+#: lm32-asm.c:256
+msgid "expecting got relative address: gotofflo16(symbol)"
+msgstr "Adresse relativ zu got erwartet: gotofflo16(Symbol)"
 
-#: m10200-dis.c:339
+#: m10200-dis.c:158 m10300-dis.c:581
 #, c-format
 msgid "unknown\t0x%04lx"
 msgstr "unbekannt\t0x%04lx"
 
-#: m10300-dis.c:766
+#: m10200-dis.c:328
 #, c-format
-msgid "unknown\t0x%04x"
-msgstr "unbekannt\t0x%04x"
+msgid "unknown\t0x%02lx"
+msgstr "unbekannt\t0x%02lx"
 
-#: m68k-dis.c:429
+#: m32c-asm.c:117
+msgid "imm:6 immediate is out of range"
+msgstr "Direktwert imm:6 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: m32c-asm.c:145
 #, c-format
-msgid "<internal error in opcode table: %s %s>\n"
-msgstr "<interner Fehler in der Opcode-Tabelle: %s %s>\n"
+msgid "%dsp8() takes a symbolic address, not a number"
+msgstr "%dsp8() hat als Parameter eine symbolische Adresse, keine Zahl"
+
+#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:253
+msgid "dsp:8 immediate is out of range"
+msgstr "Direktwert dsp:6 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: m68k-dis.c:1007
+#: m32c-asm.c:184 m32c-asm.c:188
+msgid "Immediate is out of range -8 to 7"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -8 bis 7."
+
+#: m32c-asm.c:209 m32c-asm.c:213
+msgid "Immediate is out of range -7 to 8"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -7 bis 8."
+
+#: m32c-asm.c:281
+#, c-format
+msgid "%dsp16() takes a symbolic address, not a number"
+msgstr "%dsp16() hat als Parameter eine symbolische Adresse, keine Zahl"
+
+#: m32c-asm.c:305 m32c-asm.c:312 m32c-asm.c:373
+msgid "dsp:16 immediate is out of range"
+msgstr "Direktwert dsp:16 liegt auÃŸerhalb des gÃ¼ltigen Bereichs."
+
+#: m32c-asm.c:399
+msgid "dsp:20 immediate is out of range"
+msgstr "Direktwert dsp:20 liegt auÃŸerhalb des gÃ¼ltigen Bereichs."
+
+#: m32c-asm.c:425 m32c-asm.c:445
+msgid "dsp:24 immediate is out of range"
+msgstr "Direktwert dsp:24 liegt auÃŸerhalb des gÃ¼ltigen Bereichs."
+
+#: m32c-asm.c:478
+msgid "immediate is out of range 1-2"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 2."
+
+#: m32c-asm.c:496
+msgid "immediate is out of range 1-8"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 1 bis 8."
+
+#: m32c-asm.c:514
+msgid "immediate is out of range 0-7"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 7."
+
+#: m32c-asm.c:550
+msgid "immediate is out of range 2-9"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 2 bis 9."
+
+#: m32c-asm.c:568
+msgid "Bit number for indexing general register is out of range 0-15"
+msgstr "Die Bitnummer, um das allgemeine Register zu indizieren, ist auÃŸerhalb des gÃ¼ltigen Bereichs 0-15."
+
+#: m32c-asm.c:606 m32c-asm.c:662
+msgid "bit,base is out of range"
+msgstr "Bit,Basis liegt auÃŸerhalb des gÃ¼ltigen Bereichs."
+
+#: m32c-asm.c:613 m32c-asm.c:618 m32c-asm.c:666
+msgid "bit,base out of range for symbol"
+msgstr "Bit,Basis liegt auÃŸerhalb des gÃ¼ltigen Bereichs fÃ¼r Symbol."
+
+#: m32c-asm.c:802
+msgid "not a valid r0l/r0h pair"
+msgstr "Kein gÃ¼ltiges r0l/r0h-Paar"
+
+#: m32c-asm.c:832
+msgid "Invalid size specifier"
+msgstr "UngÃ¼ltige GrÃ¶ÃŸenangabe"
+
+#: m68k-dis.c:1281
 #, c-format
 msgid "<function code %d>"
 msgstr "<Funktionscode %d>"
 
-#: m88k-dis.c:746
+#: m68k-dis.c:1440
 #, c-format
-msgid "# <dis error: %08x>"
-msgstr "# <Disassemblierungsfehler: %08x>"
-
-#: mips-dis.c:699
-msgid "# internal error, incomplete extension sequence (+)"
-msgstr "# Interner Fehler, unvollstÃ¤ndige Erweiterungsfolge (+)"
+msgid "<internal error in opcode table: %s %s>\n"
+msgstr "<interner Fehler in der Opcode-Tabelle: %s %s>\n"
 
-#: mips-dis.c:742
+#: m88k-dis.c:679
 #, c-format
-msgid "# internal error, undefined extension sequence (+%c)"
-msgstr "# Interner Fehler, undefinierte Erweiterungsfolge (+%c)"
+msgid "# <dis error: %08lx>"
+msgstr "# <Disassemblierungsfehler: %08lx>"
+
+#: mep-asm.c:129
+msgid "Only $tp or $13 allowed for this opcode"
+msgstr "Dieser Opcode kann nur $tp oder $13 als Parameter haben."
 
-#: mips-dis.c:1000
+#: mep-asm.c:143
+msgid "Only $sp or $15 allowed for this opcode"
+msgstr "Dieser Opcode kann nur $sp oder $15 als Parameter haben."
+
+#: mep-asm.c:308 mep-asm.c:504
 #, c-format
-msgid "# internal error, undefined modifier(%c)"
-msgstr "# Interner Fehler, undefinierter Modifikator (%c)"
+msgid "invalid %function() here"
+msgstr "%function() ist hier ungÃ¼ltig"
+
+#: mep-asm.c:336
+msgid "Immediate is out of range -32768 to 32767"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767."
+
+#: mep-asm.c:356
+msgid "Immediate is out of range 0 to 65535"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs 0 bis 65535."
+
+#: mep-asm.c:549 mep-asm.c:562
+msgid "Immediate is out of range -512 to 511"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -512 bis 511."
+
+#: mep-asm.c:554 mep-asm.c:563
+msgid "Immediate is out of range -128 to 127"
+msgstr "Direktwert liegt auÃŸerhalb des gÃ¼ltigen Bereichs -128 bis 127."
 
-#: mips-dis.c:1751
+#: mep-asm.c:558
+msgid "Value is not aligned enough"
+msgstr "Der Wert ist nicht ausreichend ausgerichtet."
+
+#: mips-dis.c:1392 mips-dis.c:1580
 #, c-format
-msgid "# internal disassembler error, unrecognised modifier (%c)"
-msgstr "# Interner Fehler im Disassembler: unerkannter Modifikator (%c)"
+msgid "# internal error, undefined operand in `%s %s'"
+msgstr "# Interner Fehler, undefinierter Operand in â€ž%s %sâ€œ"
 
-#: mips-dis.c:1763
+#: mips-dis.c:2190
+#, c-format
 msgid ""
 "\n"
 "The following MIPS specific disassembler options are supported for use\n"
@@ -482,7 +1088,26 @@ msgstr ""
 "mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
 "Kommata getrennt werden):\n"
 
-#: mips-dis.c:1767
+#: mips-dis.c:2194
+#, c-format
+msgid ""
+"\n"
+"  msa             Recognize MSA instructions.\n"
+msgstr ""
+"\n"
+"  msa             MSA-Befehle erkennen.\n"
+
+#: mips-dis.c:2197
+#, c-format
+msgid ""
+"\n"
+"  virt            Recognize the virtualization ASE instructions.\n"
+msgstr ""
+"\n"
+"  virt            ASE-Befehle fÃ¼r Virtualisierung erkennen.\n"
+
+#: mips-dis.c:2200
+#, c-format
 msgid ""
 "\n"
 "  gpr-names=ABI            Print GPR names according to  specified ABI.\n"
@@ -493,7 +1118,8 @@ msgstr ""
 "                           Standard: abhÃ¤ngig von der BinÃ¤rdatei, die\n"
 "                           disassembliert wird.\n"
 
-#: mips-dis.c:1771
+#: mips-dis.c:2204
+#, c-format
 msgid ""
 "\n"
 "  fpr-names=ABI            Print FPR names according to specified ABI.\n"
@@ -503,7 +1129,8 @@ msgstr ""
 "  fpr-names=ABI            Gib FPR-Namen entsprechend des angegebenen ABI aus.\n"
 "                           Standard: numerisch.\n"
 
-#: mips-dis.c:1775
+#: mips-dis.c:2208
+#, c-format
 msgid ""
 "\n"
 "  cp0-names=ARCH           Print CP0 register names according to\n"
@@ -516,7 +1143,8 @@ msgstr ""
 "                           Standard: abhÃ¤ngig von der BinÃ¤rdatei, die\n"
 "                           disassembliert wird.\n"
 
-#: mips-dis.c:1780
+#: mips-dis.c:2213
+#, c-format
 msgid ""
 "\n"
 "  hwr-names=ARCH           Print HWR names according to specified \n"
@@ -529,7 +1157,8 @@ msgstr ""
 "                           Standard: abhÃ¤ngig von der BinÃ¤rdatei, die\n"
 "                           verarbeitet wird.\n"
 
-#: mips-dis.c:1785
+#: mips-dis.c:2218
+#, c-format
 msgid ""
 "\n"
 "  reg-names=ABI            Print GPR and FPR names according to\n"
@@ -539,7 +1168,8 @@ msgstr ""
 "  reg-names=ABI            Gib GPR- und FPR-Namen entsprechend des\n"
 "                           angegebenen ABI aus.\n"
 
-#: mips-dis.c:1789
+#: mips-dis.c:2222
+#, c-format
 msgid ""
 "\n"
 "  reg-names=ARCH           Print CP0 register and HWR names according to\n"
@@ -549,7 +1179,8 @@ msgstr ""
 "  reg-names=ARCH           Gib CP0-Register und HWR-Namen entsprechend der\n"
 "                           angegebenen Architektur aus.\n"
 
-#: mips-dis.c:1793
+#: mips-dis.c:2226
+#, c-format
 msgid ""
 "\n"
 "  For the options above, the following values are supported for \"ABI\":\n"
@@ -559,11 +1190,8 @@ msgstr ""
 "  FÃ¼r die obigen Optionen werden die folgenden Werte fÃ¼r Â»ABIÂ« unterstÃ¼tzt:\n"
 "   "
 
-#: mips-dis.c:1798 mips-dis.c:1806 mips-dis.c:1808
-msgid "\n"
-msgstr "\n"
-
-#: mips-dis.c:1800
+#: mips-dis.c:2233
+#, c-format
 msgid ""
 "\n"
 "  For the options above, The following values are supported for \"ARCH\":\n"
@@ -587,136 +1215,189 @@ msgstr "Intern: Nicht gedebuggter Code (
 msgid "(unknown)"
 msgstr "(unbekannt)"
 
-#: mmix-dis.c:519
+#: mmix-dis.c:511
 #, c-format
 msgid "*unknown operands type: %d*"
 msgstr "Unbekannter Operandentyp: %d*"
 
+#: msp430-dis.c:412
+msgid "Illegal as emulation instr"
+msgstr "UngÃ¼ltig als Emulations-Maschinenbefehl"
+
+#. R2/R3 are illegal as dest: may be data section.
+#: msp430-dis.c:487
+msgid "Illegal as 2-op instr"
+msgstr "UngÃ¼ltig als 2-Op-Maschinenbefehl"
+
+#: msp430-dis.c:839
+msgid "unrecognised CALLA addressing mode"
+msgstr "Unbekannter CALLA-Adressierungsmodus"
+
+#: msp430-dis.c:1110 msp430-dis.c:1127 msp430-dis.c:1148
+#, c-format
+msgid "Reserved use of A/L and B/W bits detected"
+msgstr "Benutzung der reservierten A/L- und B/W-Bits erkannt"
+
+#: mt-asm.c:110 mt-asm.c:190
+msgid "Operand out of range. Must be between -32768 and 32767."
+msgstr "Operand auÃŸerhalb des gÃ¼ltigen Bereichs -32768 bis 32767."
+
+#: mt-asm.c:149
+msgid "Biiiig Trouble in parse_imm16!"
+msgstr "Oh, oh. Hier ist richtig was kaputt in parse_imm16!"
+
+#: mt-asm.c:157
+msgid "The percent-operator's operand is not a symbol"
+msgstr "Der Operand des Prozent-Operators ist kein Symbol."
+
+#: mt-asm.c:395
+msgid "invalid operand.  type may have values 0,1,2 only."
+msgstr "UngÃ¼ltiger Operand. Die Art kann nur 0, 1 oder 2 sein."
+
 #  I and Z are output operands and can`t be immediate
 #  * A is an address and we can`t have the address of
 #  * an immediate either. We don't know how much to increase
 #  * aoffsetp by since whatever generated this is broken
 #  * anyway!
 #. I and Z are output operands and can`t be immediate
-#. * A is an address and we can`t have the address of
-#. * an immediate either. We don't know how much to increase
-#. * aoffsetp by since whatever generated this is broken
-#. * anyway!
-#.
-#: ns32k-dis.c:631
+#. A is an address and we can`t have the address of
+#. an immediate either. We don't know how much to increase
+#. aoffsetp by since whatever generated this is broken
+#. anyway!
+#: ns32k-dis.c:533
+#, c-format
 msgid "$<undefined>"
 msgstr "$<undefiniert>"
 
-#: ppc-opc.c:781 ppc-opc.c:809
+#: ppc-dis.c:320
+#, c-format
+msgid "warning: ignoring unknown -M%s option\n"
+msgstr "Warnung: Ignorieren unbekannte Option Â»-M%sÂ«.\n"
+
+#: ppc-dis.c:745
+#, c-format
+msgid ""
+"\n"
+"The following PPC specific disassembler options are supported for use with\n"
+"the -M switch:\n"
+msgstr ""
+"\n"
+"Die folgenden PPC-spezifischen Disassembleroptionen werden in Kombination\n"
+"mit dem Schalter Â»-MÂ« unterstÃ¼tzt:\n"
+
+#: ppc-opc.c:887 ppc-opc.c:910 ppc-opc.c:935 ppc-opc.c:964
+msgid "invalid register"
+msgstr "UngÃ¼ltiges Register"
+
+#: ppc-opc.c:1212 ppc-opc.c:1242
 msgid "invalid conditional option"
 msgstr "UngÃ¼ltige bedingte Option"
 
-#: ppc-opc.c:811
+#: ppc-opc.c:1214 ppc-opc.c:1244
+msgid "invalid counter access"
+msgstr "UngÃ¼ltiger Zugriff auf ZÃ¤hler"
+
+#: ppc-opc.c:1246
 msgid "attempt to set y bit when using + or - modifier"
 msgstr "Versuch, das y-Bit zusammen mit dem Modifikator Â»+Â« oder Â»-Â« zu setzen."
 
-#: ppc-opc.c:840
-msgid "offset not a multiple of 16"
-msgstr "Offset muss ein Vielfaches von 16 sein"
-
-#: ppc-opc.c:860
-msgid "offset not a multiple of 2"
-msgstr "Offset muss ein Vielfaches von 2 sein"
-
-#: ppc-opc.c:862
-msgid "offset greater than 62"
-msgstr "Offset darf nicht grÃ¶ÃŸer als 62 sein"
-
-#: ppc-opc.c:881 ppc-opc.c:927 ppc-opc.c:975
-msgid "offset not a multiple of 4"
-msgstr "Offset muss ein Vielfaches von 4 sein"
-
-#: ppc-opc.c:883
-msgid "offset greater than 124"
-msgstr "Offset darf nicht grÃ¶ÃŸer als 124 sein"
-
-#: ppc-opc.c:902
-msgid "offset not a multiple of 8"
-msgstr "Offset muss ein Vielfaches von 8 sein"
-
-#: ppc-opc.c:904
-msgid "offset greater than 248"
-msgstr "Offset darf nicht grÃ¶ÃŸer als 248 sein"
-
-#: ppc-opc.c:950
-msgid "offset not between -2048 and 2047"
-msgstr "Offset muss im Bereich von -2048 bis 2047 liegen"
-
-#: ppc-opc.c:973
-msgid "offset not between -8192 and 8191"
-msgstr "Offset muss im Bereich von -8192 bis 8191 liegen"
+#: ppc-opc.c:1278
+msgid "invalid mask field"
+msgstr "UngÃ¼ltiges Maskierungsfeld"
 
-#: ppc-opc.c:1011
+#: ppc-opc.c:1304
 msgid "ignoring invalid mfcr mask"
 msgstr "Ignoriere ungÃ¼ltige mfcr-Maske."
 
-#: ppc-opc.c:1059
-msgid "ignoring least significant bits in branch offset"
-msgstr "Ignoriere niedrigste Bits im Verzweigungsoffset"
-
-#: ppc-opc.c:1090 ppc-opc.c:1125
+#: ppc-opc.c:1403 ppc-opc.c:1438
 msgid "illegal bitmask"
 msgstr "UngÃ¼ltige Bitmaske"
 
-#: ppc-opc.c:1192
-msgid "value out of range"
-msgstr "Wert auÃŸerhalb des gÃ¼ltigen Bereichs"
+#: ppc-opc.c:1525
+msgid "address register in load range"
+msgstr "Adressregister im Ladebereich (load range)"
 
-#: ppc-opc.c:1262
+#: ppc-opc.c:1578
 msgid "index register in load range"
 msgstr "Indexregister im Ladebereich (load range)"
 
-#: ppc-opc.c:1279
+#: ppc-opc.c:1594 ppc-opc.c:1650
 msgid "source and target register operands must be different"
 msgstr "Die Operanden fÃ¼r das Quell- und Zielregister mÃ¼ssen verschieden sein"
 
-#: ppc-opc.c:1294
+#: ppc-opc.c:1609
 msgid "invalid register operand when updating"
 msgstr "UngÃ¼ltiger Registeroperand beim Aktualisieren"
 
-#: ppc-opc.c:1335
-msgid "target register operand must be even"
-msgstr "Der Zielregisteroperand muss gerade sein"
-
-#: ppc-opc.c:1350
-msgid "source register operand must be even"
-msgstr "Der Quellregisteroperand muss gerade sein"
+#: ppc-opc.c:1700
+msgid "illegal immediate value"
+msgstr "Unerlaubter Direktwert"
+
+#: ppc-opc.c:1839
+msgid "invalid sprg number"
+msgstr "UngÃ¼ltige sprg-Nummer"
+
+#: ppc-opc.c:2009
+msgid "invalid constant"
+msgstr "UngÃ¼ltige Konstante"
 
-#  Mark as non-valid instruction.
-#. Mark as non-valid instruction.
-#: sparc-dis.c:760
-msgid "unknown"
-msgstr "unbekannt"
+#: s390-dis.c:291
+#, c-format
+msgid ""
+"\n"
+"The following S/390 specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Die folgenden S/390-spezifischen Disassembleroptionen werden zusammen\n"
+"mit dem Schalter Â»-MÂ« unterstÃ¼tzt (mehrere Optionen sollten durch\n"
+"Kommata getrennt werden):\n"
+
+#: s390-dis.c:295
+#, c-format
+msgid "  esa         Disassemble in ESA architecture mode\n"
+msgstr "  esa         Im ESA-Architektur-Modus disassemblieren\n"
+
+#: s390-dis.c:296
+#, c-format
+msgid "  zarch       Disassemble in z/Architecture mode\n"
+msgstr "  zarch       Im z/-Architektur-Modus disassemblieren\n"
+
+#: score-dis.c:662 score-dis.c:869 score-dis.c:1030 score-dis.c:1144
+#: score-dis.c:1151 score-dis.c:1158 score7-dis.c:694 score7-dis.c:857
+msgid "<illegal instruction>"
+msgstr "<ungÃ¼ltiger Maschinenbefehl>"
 
-#: sparc-dis.c:835
+#: sparc-dis.c:286
 #, c-format
 msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
 msgstr "Interner Fehler: UngÃ¼ltiger SPARC-Opcode: \"%s\", %#.8lx, %#.8lx\n"
 
-#: sparc-dis.c:846
+#: sparc-dis.c:297
 #, c-format
 msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
 msgstr "Interner Fehler: UngÃ¼ltiger SPARC-Opcode: \"%s\", %#.8lx, %#.8lx\n"
 
-#: sparc-dis.c:895
+#: sparc-dis.c:356
 #, c-format
 msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
 msgstr "Interner Fehler: UngÃ¼ltiger SPARC-Opcode: \"%s\" == \"%s\"\n"
 
-#: v850-dis.c:221
+#  Mark as non-valid instruction.
+#. Mark as non-valid instruction.
+#: sparc-dis.c:1047
+msgid "unknown"
+msgstr "unbekannt"
+
+#: v850-dis.c:453
 #, c-format
 msgid "unknown operand shift: %x\n"
 msgstr "Unbekannte Operandenverschiebung: %x\n"
 
-#: v850-dis.c:233
+#: v850-dis.c:465
 #, c-format
-msgid "unknown pop reg: %d\n"
-msgstr "Unbekanntes pop-Register: %d\n"
+msgid "unknown reg: %d\n"
+msgstr "Unbekanntes Register: %d\n"
 
 #  The functions used to insert and extract complicated operands.
 #  Note: There is a conspiracy between these functions and
@@ -728,86 +1409,190 @@ msgstr "Unbekanntes pop-Register: %d\n"
 #. v850_insert_operand() in gas/config/tc-v850.c.  Error messages
 #. containing the string 'out of range' will be ignored unless a
 #. specific command line option is given to GAS.
-#: v850-opc.c:68
+#: v850-opc.c:53
 msgid "displacement value is not in range and is not aligned"
 msgstr "Der Abstandswert ist auÃŸerhalb des gÃ¼ltigen Bereichs und nicht ausgerichtet"
 
-#: v850-opc.c:69
+#: v850-opc.c:54
 msgid "displacement value is out of range"
 msgstr "Der Abstandswert ist auÃŸerhalb des fÃ¼ltigen Bereichs."
 
-#: v850-opc.c:70
+#: v850-opc.c:55
 msgid "displacement value is not aligned"
 msgstr "Der Abstandswert ist nicht ausgerichtet."
 
-#: v850-opc.c:72
+#: v850-opc.c:57
 msgid "immediate value is out of range"
 msgstr "Direktwert auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: v850-opc.c:83
-msgid "branch value not in range and to odd offset"
-msgstr "Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs und zu einem ungeraden Offset."
-
-#: v850-opc.c:85 v850-opc.c:117
+#: v850-opc.c:58
 msgid "branch value out of range"
 msgstr "Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs."
 
-#: v850-opc.c:88 v850-opc.c:120
+#: v850-opc.c:59
+msgid "branch value not in range and to odd offset"
+msgstr "Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs und zu einem ungeraden Offset."
+
+#: v850-opc.c:60
 msgid "branch to odd offset"
 msgstr "Verzweigung auf ungeraden Offset"
 
-#: v850-opc.c:115
-msgid "branch value not in range and to an odd offset"
-msgstr "Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs und zu einem ungeraden Offset."
+#: v850-opc.c:61
+msgid "position value is out of range"
+msgstr "Positionswert auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: v850-opc.c:62
+msgid "width value is out of range"
+msgstr "Breitenwert auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: v850-opc.c:63
+msgid "SelID is out of range"
+msgstr "SelID liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: v850-opc.c:64
+msgid "vector8 is out of range"
+msgstr "vector8 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: v850-opc.c:65
+msgid "vector5 is out of range"
+msgstr "vector5 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: v850-opc.c:66
+msgid "imm10 is out of range"
+msgstr "imm10 liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
+
+#: v850-opc.c:67
+msgid "SR/SelID is out of range"
+msgstr "SR/RelID l liegt auÃŸerhalb des gÃ¼ltigen Bereichs"
 
-#: v850-opc.c:346
+#: v850-opc.c:512
 msgid "invalid register for stack adjustment"
 msgstr "UngÃ¼ltiges Register fÃ¼r Stackanpassung."
 
-#: v850-opc.c:370
-msgid "immediate value not in range and not even"
-msgstr "Direktwert auÃŸerhalb des gÃ¼ltigen Bereichs und nicht gerade"
-
-#: v850-opc.c:375
-msgid "immediate value must be even"
-msgstr "Der Direktoperand muss gerade sein."
+#: v850-opc.c:532
+msgid "invalid register name"
+msgstr "Falscher Registername."
 
-#: xstormy16-asm.c:76
+#: xc16x-asm.c:66
+msgid "Missing '#' prefix"
+msgstr "Das Â»#Â«-PrÃ¤fix felht"
+
+#: xc16x-asm.c:82
+msgid "Missing '.' prefix"
+msgstr "Das Â».Â«-PrÃ¤fix fehlt"
+
+#: xc16x-asm.c:98
+msgid "Missing 'pof:' prefix"
+msgstr "Das Â»pof:Â«-PrÃ¤fix fehlt"
+
+#: xc16x-asm.c:114
+msgid "Missing 'pag:' prefix"
+msgstr "Das Â»pag:Â«-PrÃ¤fix fehlt"
+
+#: xc16x-asm.c:130
+msgid "Missing 'sof:' prefix"
+msgstr "Das Â»sof:Â«-PrÃ¤fix fehlt\""
+
+#: xc16x-asm.c:146
+msgid "Missing 'seg:' prefix"
+msgstr "Das Â»seg:Â«-PrÃ¤fix fehlt\""
+
+#: xstormy16-asm.c:71
 msgid "Bad register in preincrement"
 msgstr "UngÃ¼ltiges Register beim Pre-Increment"
 
-#: xstormy16-asm.c:81
+#: xstormy16-asm.c:76
 msgid "Bad register in postincrement"
 msgstr "UngÃ¼ltiges Register beim Post-Increment"
 
-#: xstormy16-asm.c:83
+#: xstormy16-asm.c:78
 msgid "Bad register name"
 msgstr "Falscher Registername."
 
-#: xstormy16-asm.c:87
+#: xstormy16-asm.c:82
 msgid "Label conflicts with register name"
 msgstr "Sprungmarke vertrÃ¤gt sich nicht mit dem Registername"
 
-#: xstormy16-asm.c:91
+#: xstormy16-asm.c:86
 msgid "Label conflicts with `Rx'"
 msgstr "Sprungmarke vertrÃ¤gt sich nicht mit Â»RxÂ«"
 
-#: xstormy16-asm.c:93
+#: xstormy16-asm.c:88
 msgid "Bad immediate expression"
 msgstr "UngÃ¼ltiger Direktausdruck"
 
-#: xstormy16-asm.c:115
+#: xstormy16-asm.c:109
 msgid "No relocation for small immediate"
 msgstr "Keine Verlagerung fÃ¼r kleine Direktwerte"
 
-#: xstormy16-asm.c:125
+#: xstormy16-asm.c:119
 msgid "Small operand was not an immediate number"
 msgstr "Kleiner Operand war keine Direktzahl."
 
-#: xstormy16-asm.c:164
+#: xstormy16-asm.c:157
 msgid "Operand is not a symbol"
 msgstr "Operand muss ein Symbol sein"
 
-#: xstormy16-asm.c:172
+#: xstormy16-asm.c:165
 msgid "Syntax error: No trailing ')'"
 msgstr "Syntaxfehler: Kein abschlieÃŸendes Â»)Â«"
+
+#~ msgid "# internal error, incomplete extension sequence (+)"
+#~ msgstr "# Interner Fehler, unvollstÃ¤ndige Erweiterungsfolge (+)"
+
+#~ msgid "# internal error, undefined extension sequence (+%c)"
+#~ msgstr "# Interner Fehler, undefinierte Erweiterungsfolge (+%c)"
+
+#~ msgid "# internal disassembler error, unrecognised modifier (%c)"
+#~ msgstr "# Interner Fehler im Disassembler: unerkannter Modifikator (%c)"
+
+#~ msgid "# internal disassembler error, unrecognized modifier (+%c)"
+#~ msgstr "# Interner Fehler im Disassembler: unerkannter Modifikator (+%c)"
+
+#~ msgid "# internal disassembler error, unrecognized modifier (m%c)"
+#~ msgstr "# Interner Fehler im Disassembler: unerkannter Modifikator (m%c)"
+
+#~ msgid "# internal disassembler error, unrecognized modifier (%c)"
+#~ msgstr "# Interner Fehler im Disassembler: unerkannter Modifikator (%c)"
+
+#~ msgid "unknown\t0x%04x"
+#~ msgstr "unbekannt\t0x%04x"
+
+#~ msgid "offset not a multiple of 2"
+#~ msgstr "Offset muss ein Vielfaches von 2 sein"
+
+#~ msgid "offset greater than 62"
+#~ msgstr "Offset darf nicht grÃ¶ÃŸer als 62 sein"
+
+#~ msgid "offset not a multiple of 4"
+#~ msgstr "Offset muss ein Vielfaches von 4 sein"
+
+#~ msgid "offset greater than 124"
+#~ msgstr "Offset darf nicht grÃ¶ÃŸer als 124 sein"
+
+#~ msgid "offset not a multiple of 8"
+#~ msgstr "Offset muss ein Vielfaches von 8 sein"
+
+#~ msgid "offset greater than 248"
+#~ msgstr "Offset darf nicht grÃ¶ÃŸer als 248 sein"
+
+#~ msgid "offset not between -2048 and 2047"
+#~ msgstr "Offset muss im Bereich von -2048 bis 2047 liegen"
+
+#~ msgid "offset not between -8192 and 8191"
+#~ msgstr "Offset muss im Bereich von -8192 bis 8191 liegen"
+
+#~ msgid "ignoring least significant bits in branch offset"
+#~ msgstr "Ignoriere niedrigste Bits im Verzweigungsoffset"
+
+#~ msgid "target register operand must be even"
+#~ msgstr "Der Zielregisteroperand muss gerade sein"
+
+#~ msgid "source register operand must be even"
+#~ msgstr "Der Quellregisteroperand muss gerade sein"
+
+#~ msgid "branch value not in range and to an odd offset"
+#~ msgstr "Verzweigungswert auÃŸerhalb des gÃ¼ltigen Bereichs und zu einem ungeraden Offset."
+
+#~ msgid "immediate value not in range and not even"
+#~ msgstr "Direktwert auÃŸerhalb des gÃ¼ltigen Bereichs und nicht gerade"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/fi.gmo ./opcodes/po/fi.gmo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/fi.gmo	2015-01-13 02:07:16.000000000 +0000
+++ ./opcodes/po/fi.gmo	2015-01-20 02:09:57.000000000 +0000
@@ -1,21 +1,23 @@
-Þ•öÌK|¨©L«Kø½Du‘x 
-k«}[•�ñ[ŽÛ”j(ÿ(((Q1zB¬%ï%3;(o(˜2ÁEô?:(z1£Õ9ê9$:^:™3Ô4)=gt"„%§/Í.ý$, Q o 
{ ‰ £ 	½ Ç 	ã í !!1!E!(c!Œ!¢!¹!Ù!ø!","J"g"y"=˜"&Ö"*ý"(#
-@#DK#C�#+Ô#&$'$=$,X$%…$)«$%Õ$!û$!%$?%d%:€%1»%9í%6'&^&u&"�&²&Å&Ø&î&''!0'R''m''•'½'7Õ'
("((#K(o()Œ(/¶(æ(.)3)I)%[)#�)+¥)+Ñ)1ý)1/*%a*+‡*1³*1å*+!3+%U+"{+*ž+É+è+",), @,/a,#‘,µ,Í,è,ý, -%7-]-v-+‹-·-Ñ-í-%.$..S.0n.0Ÿ.#Ð.7ô.!,/!N/5p/"¦/+É/ õ/ 0 70X0+x02¤02×0)
-1#41X1s1ƒ1ž1¾1Ü1ú12"62Y2y2–2§2Ä2Ý2ø2	3 3832K3%~3¤3º3&×3þ34-4J4^4r4ƒ4�4!›4;½4ù4%5+=5/i5™5²5&Ñ52ø52+62^64‘6,Æ6ó6)
777(V7%7¥7!Â7+ä785*8`8q8-Š8;¸8ô89/$99T9	Ž9˜9 9°9À9Ø9ó9 :%:&>:e:„<C†<BÊ<Î
=}Ü=¢Z>±ý>q¯?ƒ!@Y¥@‡ÿ@Y‡AˆáAŽjB.ùB.(C.WC2†CA¹C,ûC,(D3UD+‰D+µD3áDDE?ZE+šE3ÆEúE<F<UF=’F=ÐF:G?IG5‰G¿GÖG6éG9 H3ZH2ŽH-ÁH$ïHI I,/I,\I‰I–I¶I2ÃIöI	JJ7J*VJ�J›J2ºJ$íJ/K'BK&jK'‘K¹K!ÐK<òK//L2_L’L
-°LW»LYM<mM7ªMâMNN"N=qNA¯N=ñN9/O9iO<£OàOHýOCFPGŠPCÒPQ-1Q-_Q�Q§QÁQÞQûQR95R)oR/™R/ÉRùRNSeS+„S,°SÝS1úS9,T.fT,•TÂTßT'ôT&U3CU2wU;ªU3æU0V2KV=~V5¼V(òV#W.?W5nWG¤W.ìW,X2HX{X9—X=ÑX!Y1YMYlY%ŒY.²Y$áY$Z)+ZSUZ&©ZÐZ*èZ5[4I[~[8›[8Ô[%
\:3\0n\(Ÿ\IÈ\.]3A]7u]7­]7å]6^2T^9‡^6Á^0ø^J)_.t_£_»_6Û_4`4G`4|`4±`2æ`0a5Ja€a/•a Åaæabb<1bnb;ˆb'Äbìb#c2+c^c)wc?¡cácÿcd/d?d'OdCwd»d/ÛdAeEMe“e)­e2×eG
-fGRfGšfIâf=,g jg2‹g)¾g,èg5h%Kh/qh2¡h,Ôh>i@i$QiBviG¹ij?j>^j'�jÅj
-Ùjäj÷j
-k &kGkak}k:’kö|T ä“õ
óxàV©O4ˆé‰	Ÿµ×(ô0«ŠfI²¬Us¼›a&‘o±€p¹6W„š`Ð˜,ç{Ç1zÀÞÄnmwïÁÕN)ƒ=È�}´MážÅKF!�A"‹ßk¤·ií½_¾Ì³Ø¶Ù;­ð3P¦�ÂÆeB§Y%ÔXã.RJhqÏ”ær—yCvb®•Òñ #tH™9\8$œ[ÓG»@Íl*+:]ª2^Öè~>�ò5dºŒS/E¯j†uÎì°
-ZcQ’åÊDg¢¨Ë�ÛÉ'…Ú–¥7ë<¡Ñê-Ã¸‡¿?â£ÝL‚îÜŽ
+Þ• 	…01L3K€4Ì½3¿uó‘i û/œ7Ìk}pBî�1[Â�[¬Ž”—(, (U (~ 1§ BÙ %!%B!3h!(œ!(Å!2î!E!"?g"(§"1Ð"#.#F#S#"c#%†#/¬#.Ü#$$0$N$
Z$h$ƒ$ž$¸$	Ò$Ü$	ø$%%0%F%Z%(x%¡%·%Î%î%
&(&A&_&|&Ž&=­&&ë&*'='
+U'D`'C¥'+é'&(<(R(,m(%š()À(%ê(!)!2)$T)y):•)1Ð)9*6<*s*Š*"¤*Ç*Ú*í*++/+!E+g+'‚+'ª+Ò+7ê+","=,#`,„,)¡,Ë,ä,)ú,/$-T-.r-¡-·-%É-#ï-+.+?.1k.1�.%Ï.+õ.1!/1S/…/!¡/%Ã/é/"ý/* 0K0j0…0"£0Æ0 Ý0/þ0#.1R1j1…1š1 ³1%Ô1ú12+(2T2n2Š2%¥2$Ë2ð2030<3#m37‘3!É3!ë35
4"C4+f4 ’4 ³4 Ô4õ4+52A52t5)§5Ñ5ê5#þ5!"6D6_6o6‡6¢6¸6Ø6ö6727P7a7x7"ˆ7«7Ë7è788.8G8b8s8Š8¨8À82Ó89$9%59[9q9Ž9&¦9Í9â9ù9
:):D:a:u:‰:š:¦:²:!Ê:ì:;ý:9;%W;$};%¢;+È;/ô;$<=<&\<2ƒ<2¶<2é<4=,Q=~=)˜=Â=(á=
+>)>%@>f>v>!“>+µ>á>û>#?#,?'P?x?�?5§?Ý?î?@-'@;U@‘@©@/Á@9ñ@	+A5ARAZAjAzA’A­A"¾A áABB3B&KBrBŽB­DC¯DBóD.6EÎeE<4F}qF¢ïF±’G)DH4nHq£HƒI7™IŠÑIY\J‡¶JY>Kˆ˜KŽ!L.°L.ßL.M2=MApM,²M,ßM3N+@N+lN3˜NDÌN?O+QO3}O±O;ÏOP"P65P9lP3¦P2ÚP-
Q$;Q`QlQ%{Q%¡Q,ÇQ,ôQ!R.RNR2[RŽR¡R·RÏR*îRS3S2RS$…S/ªS'ÚS&T')TQT!hT<ŠT/ÇT2÷T*U
+HUWSUY«U<V7BVzVšVNºV=	WAGW=‰W9ÇW9X<;XxXH•XCÞXG"YCjY®Y-ÉY-÷Y%Z?ZYZvZ“Z°Z9ÍZ)[/1[/a[‘[N®[ý[+\,H\u\-’\!À\â\1]93].m],œ]É]æ]'û]&#^3J^2~^;±^3í^0!_2R_=…_5Ã_(ù_#"`.F`u`5‹`GÁ`.	a(8a,aa2ŽaÁa9Ýa=b!Ubwb“b²b%Òb.øb$'c$Lc)qcS›c&ïcd*.d5Yd4�dÄd8ád8e%Se:ye0´e(åeIf.Xf3‡f7»f7óf7+g6cg2šg9Íg6h0>h!oh‘hJ«h$öh.iJi$bi‡i§i6Æi4ýi42j4gj4œj%Ñj5÷j-k2Jk0}k5®k#äkl/l MlnlŽl¡l)¹l<ãl m;:m(vmŸm'¶mÞm#ùm#n2Antn‘n±n/Ên)ún?$odo‚o—o²oÂoÒo'ðopC+pop/�p4¿p2ôpA'qEiq¯q)Éq2óqG&rGnrG¶rIþr=Hs †s2§s)Ús,t%1tWt5rt¨t%¸t/Þt2u,Aunu+~u,ªu+×uvv>8vwvˆv$¨vBÍvGwXw?uw>µw'ôwx'0x
+Xxcxvx‰x ¥xÆx*àxy'y <y ]y:~y#¹y#ÊÓ�-XS}ðCÏnÕk$‚_x¸€¢Á>±øÜíãÚ1·¥�JFRùzGgÎ@§!èb³«ž”|üQ›»"²Nƒ‹ý
+¡®ê¾ “¯d£
¦
Ì‡2ÈhÉÝr<HeK9`Y=s•—)ÑvtéõŽ4ÅZ…WÆ©ûIñÐŒˆòÞ½ÿ.w{�­j*A¼ô%ÇÖÃ5]‰qºD+à(¿M˜Š?ì´fµi 67×Ëp�uÒ;úP¤8šî¶ä~\oœ™å[,¬þ–¨a†ßÄÂU:^æ�’Eó÷ÙB0ªT VmÔöcØÛL	l'ï°O&áŸç/Í¹y3À	„âë‘
+
 
   For the options above, The following values are supported for "ARCH":
    
   For the options above, the following values are supported for "ABI":
    
+  aliases            Do print instruction aliases.
+
   cp0-names=ARCH           Print CP0 register names according to
                            specified architecture.
                            Default: based on binary being disassembled.
 
+  debug_dump         Temp switch for debug trace.
+
   fpr-names=ABI            Print FPR names according to specified ABI.
                            Default: numeric.
 
@@ -26,12 +28,21 @@ k &kGkak}k:’
 			   architecture.
                            Default: based on binary being disassembled.
 
+  msa             Recognize MSA instructions.
+
+  no-aliases         Don't print instruction aliases.
+
   reg-names=ABI            Print GPR and FPR names according to
                            specified ABI.
 
   reg-names=ARCH           Print CP0 register and HWR names according to
                            specified architecture.
 
+  virt            Recognize the virtualization ASE instructions.
+
+The following AARCH64 specific disassembler options are supported for use
+with the -M switch (multiple options should be separated by commas):
+
 The following ARM specific disassembler options are supported for use with
 the -M switch:
 
@@ -63,11 +74,11 @@ with the -M switch (multiple options sho
   suffix      Always display instruction suffix in AT&T syntax
   x86-64      Disassemble in 64bit mode
   zarch       Disassemble in z/Architecture mode
-# <dis error: %08lx># internal disassembler error, unrecognised modifier (%c)# internal disassembler error, unrecognized modifier (%c)# internal disassembler error, unrecognized modifier (+%c)# internal disassembler error, unrecognized modifier (m%c)# internal error, incomplete extension sequence (+)# internal error, undefined extension sequence (+%c)# internal error, undefined modifier (%c)$<undefined>%02x		*unknown*%d unused bits in i386_cpu_flags.
+# <dis error: %08lx># internal error, undefined operand in `%s %s'$<undefined>%02x		*unknown*%d unused bits in i386_cpu_flags.
 %d unused bits in i386_operand_type.
 %dsp16() takes a symbolic address, not a number%dsp8() takes a symbolic address, not a number%s: %d: Missing `)' in bitfield: %s
 %s: %d: Unknown bitfield: %s
-%s: Error: %s: Warning: (DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*21-bit offset out of range<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
+%s: Error: %s: Warning: 'LSL' operator not allowed'ROR' operator not allowed(DP) offset out of range.(SP) offset out of range.(unknown)*unknown operands type: %d**unknown*21-bit offset out of range<function code %d><illegal instruction><illegal precision><internal disassembler error><internal error in opcode table: %s %s>
 <unknown register %d>ABORT: unknown operandAddress 0x%s is out of bounds.
 Attempt to find bit index of 0Bad case %d (%s) in %s:%d
 Bad immediate expressionBad register in postincrementBad register in preincrementBad register nameBiiiig Trouble in parse_imm16!Bit number for indexing general register is out of range 0-15Byte address required. - must be even.Don't know how to specify # dependency %s
@@ -80,7 +91,7 @@ with the -M switch (multiple options sho
 Immediate is out of range -128 to 127Immediate is out of range -32768 to 32767Immediate is out of range -512 to 511Immediate is out of range -7 to 8Immediate is out of range -8 to 7Immediate is out of range 0 to 65535Internal disassembler errorInternal error:  bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
 Internal error: bad sparc-opcode.h: "%s" == "%s"
 Internal error: bad sparc-opcode.h: "%s", %#.8lx, %#.8lx
-Internal: Non-debugged code (test-case missing): %s:%dInvalid size specifierLabel conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Register list is not validRegister must be between r0 and r7Register must be between r8 and r15Register number is not validSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The percent-operator's operand is not a symbolUnknown bitfield: %s
+Internal: Non-debugged code (test-case missing): %s:%dInvalid size specifierLabel conflicts with `Rx'Label conflicts with register nameMissing '#' prefixMissing '.' prefixMissing 'pag:' prefixMissing 'pof:' prefixMissing 'seg:' prefixMissing 'sof:' prefixNo relocation for small immediateNot a pc-relative address.Only $sp or $15 allowed for this opcodeOnly $tp or $13 allowed for this opcodeOperand is not a symbolOperand out of range. Must be between -32768 and 32767.Register list is not validRegister must be between r0 and r7Register must be between r8 and r15Register number is not validReserved use of A/L and B/W bits detectedSR/SelID is out of rangeSelID is out of rangeSmall operand was not an immediate numberSpecial purpose register number is out of rangeSyntax error: No trailing ')'The percent-operator's operand is not a symbolUnknown bitfield: %s
 Unknown error %d
 Unrecognised disassembler option: %s
 Unrecognised register name set: %s
@@ -92,9 +103,9 @@ with the -M switch (multiple options sho
 Unrecognized field %d while printing insn.
 Unrecognized field %d while setting int operand.
 Unrecognized field %d while setting vma operand.
-Value is not aligned enoughValue of A operand must be 0 or 1W keyword invalid in FR operand slot.Warning: rsrc %s (%s) has no chks
+Value is not aligned enoughValue of A operand must be 0 or 1W keyword invalid in FR operand slot.W register expectedWarning: rsrc %s (%s) has no chks
 Warning: rsrc %s (%s) has no chks or regs
-address register in load rangeaddress writeback not allowedattempt to read writeonly registerattempt to set HR bitsattempt to set readonly registerattempt to set y bit when using + or - modifierauxiliary register not allowed herebad instruction `%.50s'bad instruction `%.50s...'bad jump flags valuebit,base is out of rangebit,base out of range for symbolbranch address not on 4 byte boundarybranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't cope with insert %d
+address register in load rangeaddress writeback expectedaddress writeback not allowedattempt to read writeonly registerattempt to set HR bitsattempt to set readonly registerattempt to set y bit when using + or - modifierauxiliary register not allowed herebad instruction `%.50s'bad instruction `%.50s...'bad jump flags valuebit,base is out of rangebit,base out of range for symbolbranch address not on 4 byte boundarybranch operand unalignedbranch to odd offsetbranch value not in range and to odd offsetbranch value out of rangebyte relocation unsupportedcan't cope with insert %d
 can't create i386-init.h, errno = %s
 can't create i386-tbl.h, errno = %s
 can't find %s for reading
@@ -103,22 +114,22 @@ with the -M switch (multiple options sho
 can't find ia64-ic.tbl for reading
 cgen_parse_address returned a symbol. Literal required.class %s is defined but not used
 displacement value is not aligneddisplacement value is not in range and is not aligneddisplacement value is out of rangedon't know how to specify %% dependency %s
-dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)flag bits of jump address limm lostignoring invalid mfcr maskillegal bitmaskillegal use of parenthesesimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimpossible storeindex register in load rangeinvalid %function() hereinvalid conditional optioninvalid constantinvalid counter accessinvalid load/shimm insninvalid mask fieldinvalid operand.  type may have values 0,1,2 only.invalid register for stack adjustmentinvalid register nameinvalid register number `%d'invalid register operand when updatinginvalid sprg numberjump flags, but no .f seenjump flags, but no limm addrjump hint unalignedjunk at end of lineld operand errormissing `)'missing `]'missing mnemonic in syntax stringmost recent format '%s'
+dsp:16 immediate is out of rangedsp:20 immediate is out of rangedsp:24 immediate is out of rangedsp:8 immediate is out of rangeexpecting got relative address: got(symbol)expecting got relative address: gotoffhi16(symbol)expecting got relative address: gotofflo16(symbol)expecting gp relative address: gp(symbol)extend operator expectedextraneous registerflag bits of jump address limm lostfloating-point immediate expectedignoring invalid mfcr maskillegal bitmaskillegal immediate valueillegal use of parenthesesimm10 is out of rangeimm:6 immediate is out of rangeimmediate is out of range 0-7immediate is out of range 1-2immediate is out of range 1-8immediate is out of range 2-9immediate offsetimmediate out of rangeimmediate valueimmediate value cannot be registerimmediate value is out of rangeimmediate value out of rangeimmediate zero expectedimpossible storeindex register in load rangeinvalid %function() hereinvalid conditional optioninvalid constantinvalid counter accessinvalid extend/shift operatorinvalid load/shimm insninvalid mask fieldinvalid operand.  type may have values 0,1,2 only.invalid post-increment amountinvalid registerinvalid register for stack adjustmentinvalid register nameinvalid register number `%d'invalid register offsetinvalid register operand when updatinginvalid shift amountinvalid shift operatorinvalid sprg numberinvalid value for immediatejump flags, but no .f seenjump flags, but no limm addrjump hint unalignedjunk at end of lineld operand errormissing `)'missing `]'missing extend operatormissing mnemonic in syntax stringmissing registermost recent format '%s'
 appears more restrictive than '%s'
 multiple note %s not handled
-must specify .jd or no nullify suffixno insns mapped directly to terminal IC %s
+must specify .jd or no nullify suffixnegative immediate value not allowednegative or unaligned offset expectedno insns mapped directly to terminal IC %s
 no insns mapped directly to terminal IC %s [%s]not a valid r0l/r0h pairoffset(IP) is not a valid formopcode %s has no class (ops %d %d %d)
 operand out of range (%ld not between %ld and %ld)operand out of range (%ld not between %ld and %lu)operand out of range (%lu not between %lu and %lu)operand out of range (0x%lx not between 0 and 0x%lx)operand out of range (not between 1 and 255)overlapping field %s->%s
 overwriting note %d with note %d (IC:%s)
-parse_addr16: invalid opindex.percent-operator operand is not a symbolregister name used as immediate valueregister number must be evenregister source in immediate moveregister unavailable for short instructionsrsrc %s (%s) has no regs
-source and target register operands must be differentst operand errorstore value must be zerosyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)too many long constantstoo many shimms in loadunable to change directory to "%s", errno = %s
-unable to fit different valued constants into instructionundefinedunknownunknown	0x%02lxunknown	0x%04lxunknown constraint `%c'unknown operand shift: %x
+parse_addr16: invalid opindex.percent-operator operand is not a symbolposition value is out of rangeregister element indexregister name used as immediate valueregister numberregister number must be evenregister source in immediate moveregister unavailable for short instructionsrsrc %s (%s) has no regs
+shift amountshift amount expected to be 0 or 12shift amount expected to be 0 or 16shift amount should be a multiple of 16shift is not permittedshift operator expectedsource and target register operands must be differentst operand errorstack pointer register expectedstore value must be zerosyntax error (expected char `%c', found `%c')syntax error (expected char `%c', found end of instruction)too many long constantstoo many shimms in loadunable to change directory to "%s", errno = %s
+unable to fit different valued constants into instructionundefinedunexpected address writebackunknownunknown	0x%02lxunknown	0x%04lxunknown constraint `%c'unknown operand shift: %x
 unknown reg: %d
-unrecognized form of instructionunrecognized instructionwarning: ignoring unknown -M%s option
-Project-Id-Version: opcodes 2.22.90
+unrecognised CALLA addressing modeunrecognized form of instructionunrecognized instructionvector5 is out of rangevector8 is out of rangewarning: ignoring unknown -M%s option
+width value is out of rangeProject-Id-Version: opcodes 2.24.90
 Report-Msgid-Bugs-To: bug-binutils@gnu.org
-POT-Creation-Date: 2011-11-02 12:03+0000
-PO-Revision-Date: 2012-07-28 16:21+0200
+POT-Creation-Date: 2014-02-10 09:42+1030
+PO-Revision-Date: 2014-11-02 17:43+0200
 Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>
 Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>
 Language: fi
@@ -136,10 +147,14 @@ X-Poedit-SourceCharset: utf-8
    
   YllÃ¤olevista valinnoista â€�ABIâ€� tukee seuraavia arvoja:
    
+  aliases            Tulosta kÃ¤skyaliakset.
+
   cp0-names=ARCH           Tulosta CP0-rekisterinimet
                            mÃ¤Ã¤ritellyn arkkitehtuurin mukaisesti.
                            Oletus: perustuu disassemloitavaan binÃ¤Ã¤ritiedostoon.
 
+  debug_dump         TilapÃ¤iskytkin vianetsintÃ¤jÃ¤lkeen.
+
   fpr-names=ABI            Tulosta FPR-nimet mÃ¤Ã¤ritellyn ABI:n mukaisesti.
                            Oletus: numeerinen.
 
@@ -150,12 +165,21 @@ X-Poedit-SourceCharset: utf-8
 			   arkkitehtuurin mukaisesti.
                            Oletus: perustuu disassembloitavaan binÃ¤Ã¤ritiedostoon.
 
+  msa             Tunnista MSA-kÃ¤skyt.
+
+  no-aliases         Ã„lÃ¤ tulosta kÃ¤skyaliaksia.
+
   reg-names=ABI            Tulosta GPR- ja FPR-nimet mÃ¤Ã¤ritellyn
                            ABI:n mukaisesti.
 
   reg-names=ARCH           Tulosta CP0-rekisteri ja HWR-nimet mÃ¤Ã¤ritellyn
                            arkkitehtuurin mukaisesti.
 
+  virt            Tunnista ASE-virtualisointikÃ¤skyt.
+
+Seuraavat AARCH64-kohtaiset disassembler-valinnat ovat tuettuja kÃ¤yttÃ¶Ã¶n
+-M -valinnan kanssa (monivalinnat pitÃ¤Ã¤ erottaa pilkulla):
+
 Seuraavia ARM-kohtaisia disassembler-valintoja tuetaan kÃ¤ytÃ¶ssÃ¤
 -M -valinnan kanssa:
 
@@ -187,11 +211,11 @@ Seuraavat i386/x86-64-kohtaiset disassem
   suffix      NÃ¤yttÃ¤Ã¤ kÃ¤skysuffiksin aina AT&T-syntaksissa
   x86-64      Disassembloi 64-bittitilassa
   zarch        Disassembloi z/Arkkitehtuuritilassa
-# <disassembler-virhe: %08lx># sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (%c)# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (%c)# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (+%c)# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (m%c)# sisÃ¤inen virhe, epÃ¤tÃ¤ydellinen laajennussekvenssi (+)# sisÃ¤inen virhe, mÃ¤Ã¤rittelemÃ¤tÃ¶n laajennussekvenssi (+%c)# sisÃ¤inen virhe, mÃ¤Ã¤rittelemÃ¤tÃ¶n mÃ¤Ã¤rite (%c)$<mÃ¤Ã¤rittelemÃ¤tÃ¶n>%02x		*tuntematon*%d kÃ¤yttÃ¤mÃ¤tÃ¶ntÃ¤ bittiÃ¤ i386_cpu_flags-lipussa.
+# <disassembler-virhe: %08lx># sisÃ¤inen virhe, mÃ¤Ã¤rittelemÃ¤tÃ¶n operandi â€�%s %sâ€�$<mÃ¤Ã¤rittelemÃ¤tÃ¶n>%02x		*tuntematon*%d kÃ¤yttÃ¤mÃ¤tÃ¶ntÃ¤ bittiÃ¤ i386_cpu_flags-lipussa.
 %d kÃ¤yttÃ¤mÃ¤tÃ¶ntÃ¤ bittiÃ¤ i386_operand_type-lipussa.
 %dsp16() hyvÃ¤ksyy symbolisen osoitteen, ei numeroa%dsp8() hyvÃ¤ksyy symbolisen osoitteen, ei numeroa%s: %d: Puuttuva â€�)â€� bittikentÃ¤ssÃ¤: %s
 %s: %d: Tuntematon bittikenttÃ¤: %s
-%s: Virhe: %s: Varoitus: (DP)-siirrososoite ei ole rajojen sisÃ¤llÃ¤.(SP)-siirrososoite ei ole rajojen sisÃ¤llÃ¤.(tuntematon)*tuntematon operandityyppi: %d**tuntematon*21-bittinen siirrososoite ei ole rajojen sisÃ¤llÃ¤<toimintakoodi %d><virheellinen kÃ¤sky><virheellinen tarkkuus><sisÃ¤inen disassembler-virhe><sisÃ¤inen virhe kÃ¤skytaulukossa: %s %s>
+%s: Virhe: %s: Varoitus: â€™LSLâ€™-operaattori ei ole sallittuâ€™RORâ€™-operaattori ei ole sallittu(DP)-siirrososoite ei ole rajojen sisÃ¤llÃ¤.(SP)-siirrososoite ei ole rajojen sisÃ¤llÃ¤.(tuntematon)*tuntematon operandityyppi: %d**tuntematon*21-bittinen siirrososoite ei ole rajojen sisÃ¤llÃ¤<toimintakoodi %d><virheellinen kÃ¤sky><virheellinen tarkkuus><sisÃ¤inen disassembler-virhe><sisÃ¤inen virhe kÃ¤skytaulukossa: %s %s>
 <tuntematon rekisteri %d>KESKEYTÃ„: tuntematon operandiOsoite 0x%s ei ole sallittujen rajojen sisÃ¤llÃ¤.
 Yritettiin lÃ¶ytÃ¤Ã¤ 0-bitti-indeksi%d (%s) on virheellinen tapaus kohteessa %s:%d
 Virheellinen suora muistiosoituslausekeVÃ¤Ã¤rÃ¤ rekisteri jÃ¤lkikasvatuksessaVÃ¤Ã¤rÃ¤ rekisteri ennakkokasvatuksessaVÃ¤Ã¤rÃ¤ rekisterinimiIso pulma parse_imm16-kÃ¤skyssÃ¤!Indeksoivan yleisrekisterin bittinumero ei ole alueella 0-15Vaaditaan tavuosoite - tÃ¤ytyy olla parillinen.Kohteen # riippuvuutta %s ei osattu mÃ¤Ã¤ritellÃ¤
@@ -204,7 +228,7 @@ Seuraavat i386/x86-64-kohtaiset disassem
 Suora muistiosoitusarvo ei ole rajojen -128 ... 127 sisÃ¤llÃ¤Suora muistiosoitusarvo ei ole rajojen -32768 ... 32767 sisÃ¤llÃ¤Suora muistiosoitusarvo ei ole rajojen -512 ... 511 sisÃ¤llÃ¤Suora muistiosoitusarvo ei ole rajojen -7 ... 8 sisÃ¤llÃ¤Suora muistiosoitusarvo ei ole rajojen -8 ... 7 sisÃ¤llÃ¤Suora muistiosoitusarvo ei ole rajojen 0 ... 65535 sisÃ¤llÃ¤SisÃ¤inen disassembler-virheSisÃ¤inen virhe:  virheellinen sparc-opcode.h: â€�%sâ€�, %#.8lx, %#.8lx
 SisÃ¤inen virhe: virheellinen sparc-opcode.h: â€�%sâ€� == â€�%sâ€�
 SisÃ¤inen virhe: virheellinen sparc-opcode.h: â€�%sâ€�, %#.8lx, %#.8lx
-SisÃ¤inen: VikajÃ¤ljittÃ¤mÃ¤tÃ¶n koodi (testitapaus puuttuu): %s:%dVirheellinen kokomÃ¤Ã¤riteOtsikko ristiriidassa kohteen â€�Rxâ€� kanssaOtsikko ristiriidassa rekisterin nimen kanssaPuuttuva â€™#â€™ prefiksiPuuttuva â€™.â€™ prefiksiPuuttuva â€™pag:â€™ prefiksiPuuttuva â€™pof:â€™ prefiksiPuuttuva â€™seg:â€™ prefiksiPuuttuva â€™sof:â€™ prefiksiEi sijoitusta pienikokoiselle suoralle muistiosoitukselleEi ole ohjelmalaskurisuhteellinen osoite.Vain $sp tai $15 sallittu tÃ¤lle kÃ¤skykoodilleVain $tp tai $13 sallittu tÃ¤lle kÃ¤skykoodilleKohdemuuttuja ei ole symboliOperandi ei ole rajojen sisÃ¤llÃ¤. TÃ¤ytyy olla -32768:n ja 32767:n vÃ¤lillÃ¤.Rekisteriluettelo ei ole oikeaRekisterin on oltava r0:n ja r7:n vÃ¤lillÃ¤Rekisterin on oltava r8:n ja r15:n vÃ¤lillÃ¤Rekisterinumero ei ole oikeaPieni operandi ei ollut suora muistiosoitusnumeroErityiskÃ¤yttÃ¶rekisterin numero ei ole rajojen sisÃ¤llÃ¤Syntaksivirhe: loppukaarisulku â€™)â€™ puuttuuProsenttioperaattori-operandi ei ole symboliTuntematon bittikenttÃ¤: %s
+SisÃ¤inen: VikajÃ¤ljittÃ¤mÃ¤tÃ¶n koodi (testitapaus puuttuu): %s:%dVirheellinen kokomÃ¤Ã¤riteOtsikko ristiriidassa kohteen â€�Rxâ€� kanssaOtsikko ristiriidassa rekisterin nimen kanssaPuuttuva â€™#â€™ prefiksiPuuttuva â€™.â€™ prefiksiPuuttuva â€™pag:â€™ prefiksiPuuttuva â€™pof:â€™ prefiksiPuuttuva â€™seg:â€™ prefiksiPuuttuva â€™sof:â€™ prefiksiEi sijoitusta pienikokoiselle suoralle muistiosoitukselleEi ole ohjelmalaskurisuhteellinen osoite.Vain $sp tai $15 sallittu tÃ¤lle kÃ¤skykoodilleVain $tp tai $13 sallittu tÃ¤lle kÃ¤skykoodilleKohdemuuttuja ei ole symboliOperandi ei ole rajojen sisÃ¤llÃ¤. TÃ¤ytyy olla -32768:n ja 32767:n vÃ¤lillÃ¤.Rekisteriluettelo ei ole oikeaRekisterin on oltava r0:n ja r7:n vÃ¤lillÃ¤Rekisterin on oltava r8:n ja r15:n vÃ¤lillÃ¤Rekisterinumero ei ole oikeaA/L- ja B/W-bittien varattu kÃ¤yttÃ¶ havaittuSR/SelID ei ole rajojen sisÃ¤llÃ¤SelID ei ole rajojen sisÃ¤llÃ¤Pieni operandi ei ollut suora muistiosoitusnumeroErityiskÃ¤yttÃ¶rekisterin numero ei ole rajojen sisÃ¤llÃ¤Syntaksivirhe: loppukaarisulku â€™)â€™ puuttuuProsenttioperaattori-operandi ei ole symboliTuntematon bittikenttÃ¤: %s
 Tuntematon virhe %d
 Tunnistamaton disassembler-valinta: %s
 Tunnistamaton rekisterinimijoukko: %s
@@ -216,9 +240,9 @@ Seuraavat i386/x86-64-kohtaiset disassem
 Tunnistamaton kenttÃ¤ %d kÃ¤skyÃ¤ tulostettaessa.
 Tunnistamaton kenttÃ¤ %d kokonaislukuoperandia asetettaessa.
 Tunnistamaton kenttÃ¤ %d vma-operandia asetettaessa.
-Uudelleensijoitusarvo ei ole tasarajallaA-operandin arvon on oltava 0 tai 1avainsana W virheellinen FR-operandivÃ¤lissÃ¤.Varoitus: kohteessa rsrc %s (%s) ei ole tarkistuksia
+Uudelleensijoitusarvo ei ole tasarajallaA-operandin arvon on oltava 0 tai 1avainsana W virheellinen FR-operandivÃ¤lissÃ¤.W-rekisteri otaksuttuVaroitus: kohteessa rsrc %s (%s) ei ole tarkistuksia
 Varoitus: kohteessa rsrc %s (%s) ei ole tarkistuksia tai rekistereitÃ¤
-osoiterekisteri on latauslukurajojen sisÃ¤llÃ¤osoitteen kirjoitus takaisin ei ole sallittuyritettiin lukea lukemiselta suojattua rekisteriÃ¤yritettiin asettaa HR-bitityritettiin asettaa kirjoittamiselta suojattua rekisteriÃ¤yritys asettaa y-bitti kun kÃ¤ytetÃ¤Ã¤n + tai - mÃ¤Ã¤ritettÃ¤apurekisteriÃ¤ ei sallita tÃ¤ssÃ¤vÃ¤Ã¤rÃ¤ kÃ¤sky â€�%.50sâ€�vÃ¤Ã¤rÃ¤ kÃ¤sky â€�%.50s...â€�virheellinen hyppylippujen arvobitti, kanta ei ole rajojen sisÃ¤llÃ¤bitti, kanta ei ole symbolin rajojen sisÃ¤llÃ¤haaroitusosoite ei ole 4-tavurajallahaaroitusoperandi ei ole tasarajallahaaroitus parittomaan siirrososoitteeseenhaaroitusarvo ei ole rajojen sisÃ¤llÃ¤ ja kohdistuu parittomaan siirrososoitteeseenhaaroitusarvo ei ole rajojen sisÃ¤llÃ¤tavusijoitusta ei tuetakohteen %d sijoittamisesta ei selviydytty
+osoiterekisteri on latauslukurajojen sisÃ¤llÃ¤odotettiin osoitteen takaisinkirjoitustaosoitteen kirjoitus takaisin ei ole sallittuyritettiin lukea lukemiselta suojattua rekisteriÃ¤yritettiin asettaa HR-bitityritettiin asettaa kirjoittamiselta suojattua rekisteriÃ¤yritys asettaa y-bitti kun kÃ¤ytetÃ¤Ã¤n + tai - mÃ¤Ã¤ritettÃ¤apurekisteriÃ¤ ei sallita tÃ¤ssÃ¤vÃ¤Ã¤rÃ¤ kÃ¤sky â€�%.50sâ€�vÃ¤Ã¤rÃ¤ kÃ¤sky â€�%.50s...â€�virheellinen hyppylippujen arvobitti, kanta ei ole rajojen sisÃ¤llÃ¤bitti, kanta ei ole symbolin rajojen sisÃ¤llÃ¤haaroitusosoite ei ole 4-tavurajallahaaroitusoperandi ei ole tasarajallahaaroitus parittomaan siirrososoitteeseenhaaroitusarvo ei ole rajojen sisÃ¤llÃ¤ ja kohdistuu parittomaan siirrososoitteeseenhaaroitusarvo ei ole rajojen sisÃ¤llÃ¤tavusijoitusta ei tuetakohteen %d sijoittamisesta ei selviydytty
 ei voi luoda tiedostoa i386-init.h, virhenumero = %s
 ei voi luoda tiedostoa i386-tbl.h, virhenumero = %s
 %s ei lÃ¶ytynyt luettavaksi
@@ -227,16 +251,16 @@ Seuraavat i386/x86-64-kohtaiset disassem
 ia64-ic.tbl ei lÃ¶ytynyt luettavaksi
 cgen_parse_address palautti symbolin. Vaaditaan literaali.luokka %s on mÃ¤Ã¤ritelty mutta kÃ¤yttÃ¤mÃ¤tÃ¶n
 uudelleensijoitusarvo ei ole tasarajallauudelleensijoitusarvo ei ole rajojen sisÃ¤llÃ¤ eikÃ¤ sijaitse tasarajallauudelleensijoitusarvo ei ole rajojen sisÃ¤llÃ¤kohteen %% riippuvuutta %s ei osattu mÃ¤Ã¤ritellÃ¤
-suora muistiosoitusarvo dsp:16 ei ole rajojen sisÃ¤llÃ¤suora muistiosoitusarvo dsp:20 ei ole rajojen sisÃ¤llÃ¤suora muistiosoitusarvo dsp:24 ei ole rajojen sisÃ¤llÃ¤suora muistiosoitusarvo dsp:8 ei ole rajojen sisÃ¤llÃ¤odotetaan got-suhteellista osoitetta: got(symboli)odotetaan got-suhteellista osoitetta: gotoffhi16(symboli)odotetaan got-suhteellinen osoite: gotofflo16(symboli)odotetaan gp-suhteellista osoitetta: gp(symboli)long-tyyppisen suoran muistiosoituksen hyppyosoitteen lippubitit puuttuvatvirheellistÃ¤ mfcr-peitettÃ¤ ei oteta huomioonvirheellinen bittipeitesulkeiden virheellinen kÃ¤yttÃ¶suora muistiosoitusarvo imm:6 ei ole rajojen sisÃ¤llÃ¤suora muistiosoitusarvo ei ole rajojen 0-7 sisÃ¤llÃ¤suora muistiosoitusarvo ei ole rajojen 1-2 sisÃ¤llÃ¤suora muistiosoitusarvo ei ole rajojen 1-8 sisÃ¤llÃ¤suora muistiosoitusarvo ei ole rajojen 2-9 sisÃ¤llÃ¤suoraan muistiosoitettu arvo ei voi olla rekisterisuora muistiosoitusarvo ei ole rajojen sisÃ¤llÃ¤suoraan muistiosoitettu arvo ei ole rajojen sisÃ¤llÃ¤mahdotonta tallentaaindeksirekisteri on latauslukurajojen sisÃ¤llÃ¤virheellinen %function() tÃ¤ssÃ¤virheellinen ehdollinen valintavirheellinen vakiovirheellinen laskinhakuvirheellinen lataus/short-tyyppinen suora muistiosoitekÃ¤skyvirheellinen peitekenttÃ¤virheellinen operandi. tyypin arvo saa olla vain 0,1 tai 2.virheellinen rekisteri pinosÃ¤Ã¤dÃ¶ssÃ¤virheellinen rekisterinimivirheellinen rekisterinimi â€�%dâ€�rekisterin operandi virheellinen pÃ¤ivitettÃ¤essÃ¤virheellinen sprg-numerohyppyliput, mutta .f-mÃ¤Ã¤ritettÃ¤ ei olehyppyliput, mutta long-tyyppistÃ¤ suoraa muistiosoitetta ei olehyppyvihje ei ole tasarajallaroskaa rivin lopussald-kÃ¤skyn operandin virheâ€�)â€� puuttuuâ€�]â€� puuttuusyntaksimerkkijonosta puuttuu muistikasviimeisin muoto â€™%sâ€™
+suora muistiosoitusarvo dsp:16 ei ole rajojen sisÃ¤llÃ¤suora muistiosoitusarvo dsp:20 ei ole rajojen sisÃ¤llÃ¤suora muistiosoitusarvo dsp:24 ei ole rajojen sisÃ¤llÃ¤suora muistiosoitusarvo dsp:8 ei ole rajojen sisÃ¤llÃ¤odotetaan got-suhteellista osoitetta: got(symboli)odotetaan got-suhteellista osoitetta: gotoffhi16(symboli)odotetaan got-suhteellinen osoite: gotofflo16(symboli)odotetaan gp-suhteellista osoitetta: gp(symboli)laajennettu operaattori otaksuttuylimÃ¤Ã¤rÃ¤inen rekisterilong-tyyppisen suoran muistiosoituksen hyppyosoitteen lippubitit puuttuvatliukulukumuistiosoitusarvo otaksuttuvirheellistÃ¤ mfcr-peitettÃ¤ ei oteta huomioonvirheellinen bittipeitevirheellinen suora muistiosoitusarvosulkeiden virheellinen kÃ¤yttÃ¶imm10 ei ole rajojen sisÃ¤llÃ¤suora muistiosoitusarvo imm:6 ei ole rajojen sisÃ¤llÃ¤suora muistiosoitusarvo ei ole rajojen 0-7 sisÃ¤llÃ¤suora muistiosoitusarvo ei ole rajojen 1-2 sisÃ¤llÃ¤suora muistiosoitusarvo ei ole rajojen 1-8 sisÃ¤llÃ¤suora muistiosoitusarvo ei ole rajojen 2-9 sisÃ¤llÃ¤suoraan muistiosoitettu siirrososoitesuoraan muistiosoitettu arvo ei ole rajojen sisÃ¤llÃ¤suoraan muistiosoitettu arvosuoraan muistiosoitettu arvo ei voi olla rekisterisuora muistiosoitusarvo ei ole rajojen sisÃ¤llÃ¤suoraan muistiosoitettu arvo ei ole rajojen sisÃ¤llÃ¤suora muistinosoitusnolla otaksuttumahdotonta tallentaaindeksirekisteri on latauslukurajojen sisÃ¤llÃ¤virheellinen %function() tÃ¤ssÃ¤virheellinen ehdollinen valintavirheellinen vakiovirheellinen laskinhakuvirheellinen laajennos/siirrosoperaattorivirheellinen lataus/short-tyyppinen suora muistiosoitekÃ¤skyvirheellinen peitekenttÃ¤virheellinen operandi. tyypin arvo saa olla vain 0,1 tai 2.virheellinen jÃ¤lkiaskelkasvatusmÃ¤Ã¤rÃ¤virheellinen rekisterivirheellinen rekisteri pinosÃ¤Ã¤dÃ¶ssÃ¤virheellinen rekisterinimivirheellinen rekisterinimi â€�%dâ€�virheellinen rekisterisiirrososoiterekisterin operandi virheellinen pÃ¤ivitettÃ¤essÃ¤virheellinen siirrosmÃ¤Ã¤rÃ¤virheellinen siirrosoperaattorivirheellinen sprg-numerovirheellinen vÃ¤littÃ¶mÃ¤n muistiosoitteen arvohyppyliput, mutta .f-mÃ¤Ã¤ritettÃ¤ ei olehyppyliput, mutta long-tyyppistÃ¤ suoraa muistiosoitetta ei olehyppyvihje ei ole tasarajallaroskaa rivin lopussald-kÃ¤skyn operandin virheâ€�)â€� puuttuuâ€�]â€� puuttuupuuttuva laajennusoperaattorisyntaksimerkkijonosta puuttuu muistikaspuuttuva rekisteriviimeisin muoto â€™%sâ€™
 nÃ¤yttÃ¤Ã¤ rajoittavammalta kuin â€™%sâ€™
 monimerkkejÃ¤ %s ei kÃ¤sitelty
-on mÃ¤Ã¤riteltÃ¤vÃ¤ .jd tai nollattava suffiksiyhtÃ¤Ã¤n kÃ¤skyÃ¤ ei ole mapattu suoraan pÃ¤Ã¤tepisteeseen IC %s
+on mÃ¤Ã¤riteltÃ¤vÃ¤ .jd tai nollattava suffiksinegatiivinen suora muistiosoitusarvo ei ole sallittunegatiivinen tai tasaamaton siirrososoite odotettuyhtÃ¤Ã¤n kÃ¤skyÃ¤ ei ole mapattu suoraan pÃ¤Ã¤tepisteeseen IC %s
 yhtÃ¤Ã¤n kÃ¤skyÃ¤ ei ole mapattu suoraan pÃ¤Ã¤tepisteeseen IC %s [%s]r0l/r0h-pari ei ole oikeasiirrososoite(IP) ei ole virheetÃ¶n muotokÃ¤skyssÃ¤ %s ei ole luokkaa (toiminnat %d %d %d)
 operandi ei ole rajojen sisÃ¤llÃ¤ (%ld ei ole %ld:n ja %ld:n vÃ¤lillÃ¤)operandi ei ole rajojen sisÃ¤llÃ¤ (%ld ei ole %ld:n ja %lu:n vÃ¤lillÃ¤)operandi ei ole rajojen sisÃ¤llÃ¤ (%lu ei ole %lu:n ja %lu:n vÃ¤lillÃ¤)operandi ei ole rajojen sisÃ¤llÃ¤ (0x%lx ei ole 0:n ja 0x%lx:n vÃ¤lillÃ¤)operandi ei ole rajojen sisÃ¤llÃ¤ (ei 1:n ja 255:n vÃ¤lillÃ¤)pÃ¤Ã¤llekkÃ¤inen kenttÃ¤ %s->%s
 merkki %d kirjoitetaan merkin %d pÃ¤Ã¤lle (IC:%s)
-parse_addr16: virheellinen kÃ¤skyindeksi.prosenttioperaattori-operandi ei ole symbolirekisterinimeÃ¤ kÃ¤ytetty suorana muistiosoitusarvonarekisterinumeron on oltava parillinenrekisterilÃ¤hde suorassa muistiosoitussiirrossarekisteriÃ¤ ei ole saatavilla lyhyisiin kÃ¤skyihinkohteessa rsrc %s (%s) ei ole rekistereitÃ¤
-lÃ¤hde- ja kohderekisterin kohdemuuttujien on oltava erilaisetst-operandivirhetallennettavan arvon on oltava nollasyntaksivirhe (odotettiin merkkiÃ¤ â€�%câ€�, lÃ¶ydettiin â€�%câ€�)syntaksivirhe (odotettiin merkkiÃ¤ â€�%câ€�, lÃ¶ydettiin kÃ¤skyn loppu)liian monta pitkÃ¤Ã¤ vakiotaliian monta short-tyyppistÃ¤ suoraa muistiosoitetta ladattavanavaihtaminen hakemistoon â€�%sâ€� ei onnistu, virhenumero = %s
-eriarvoiset vakiot eivÃ¤t sovi kÃ¤skyynmÃ¤Ã¤rittelemÃ¤tÃ¶ntuntematontuntematon	0x%02lxtuntematon	0x%04lxtuntematon rajoite â€�%câ€�tuntematon operandin siirto: %x
+parse_addr16: virheellinen kÃ¤skyindeksi.prosenttioperaattori-operandi ei ole symbolisijaintiarvo ei ole rajojen sisÃ¤llÃ¤rekisterielementti-indeksirekisterinimeÃ¤ kÃ¤ytetty suorana muistiosoitusarvonarekisterinumerorekisterinumeron on oltava parillinenrekisterilÃ¤hde suorassa muistiosoitussiirrossarekisteriÃ¤ ei ole saatavilla lyhyisiin kÃ¤skyihinkohteessa rsrc %s (%s) ei ole rekistereitÃ¤
+siirrosmÃ¤Ã¤rÃ¤siirrosmÃ¤Ã¤rÃ¤n otaksuttiin oleva 0 tai 12siirrosmÃ¤Ã¤rÃ¤n otaksuttiin olevan 0 tai 16siirrosmÃ¤Ã¤rÃ¤n pitÃ¤isi olla 16 monikertasiirros ei ole sallittusiirrosoperaattori otaksuttulÃ¤hde- ja kohderekisterin kohdemuuttujien on oltava erilaisetst-operandivirheotaksuttu pino-osoitinrekisteritallennettavan arvon on oltava nollasyntaksivirhe (odotettiin merkkiÃ¤ â€�%câ€�, lÃ¶ydettiin â€�%câ€�)syntaksivirhe (odotettiin merkkiÃ¤ â€�%câ€�, lÃ¶ydettiin kÃ¤skyn loppu)liian monta pitkÃ¤Ã¤ vakiotaliian monta short-tyyppistÃ¤ suoraa muistiosoitetta ladattavanavaihtaminen hakemistoon â€�%sâ€� ei onnistu, virhenumero = %s
+eriarvoiset vakiot eivÃ¤t sovi kÃ¤skyynmÃ¤Ã¤rittelemÃ¤tÃ¶nodottamaton osoitteen takaisinkirjoitustuntematontuntematon	0x%02lxtuntematon	0x%04lxtuntematon rajoite â€�%câ€�tuntematon operandin siirto: %x
 tuntematon rekisteri: %d
-kÃ¤skyn muoto tunnistamatontunnistamaton kÃ¤skyvaroitus: ei vÃ¤litetÃ¤ tuntemattomasta -M%s-valitsimesta
-
\ No newline at end of file
+tunnistamaton CALLA-osoitteenmuodostustilakÃ¤skyn muoto tunnistamatontunnistamaton kÃ¤skyvector5 ei ole rajojen sisÃ¤llÃ¤vector8 ei ole rajojen sisÃ¤llÃ¤varoitus: ei vÃ¤litetÃ¤ tuntemattomasta -M%s-valitsimesta
+leveysarvo ei ole rajojen sisÃ¤llÃ¤
\ No newline at end of file
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/fi.po ./opcodes/po/fi.po
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/fi.po	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/po/fi.po	2015-01-20 02:05:40.000000000 +0000
@@ -1,14 +1,14 @@
 # Finnish messages for opcodes
-# Copyright Â© 2005, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Copyright Â© 2005, 2009, 2010, 2011, 2012, 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2006-2012.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2006-2012, 2014.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: opcodes 2.22.90\n"
+"Project-Id-Version: opcodes 2.24.90\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2011-11-02 12:03+0000\n"
-"PO-Revision-Date: 2012-07-28 16:21+0200\n"
+"POT-Creation-Date: 2014-02-10 09:42+1030\n"
+"PO-Revision-Date: 2014-11-02 17:43+0200\n"
 "Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "Language: fi\n"
@@ -21,6 +21,182 @@ msgstr ""
 "X-Poedit-Country: FINLAND\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
+#. Invalid option.
+#. XXX - should break 'option' at following delimiter.
+#: aarch64-dis.c:81 arm-dis.c:4606
+#, c-format
+msgid "Unrecognised disassembler option: %s\n"
+msgstr "Tunnistamaton disassembler-valinta: %s\n"
+
+#: aarch64-dis.c:2395
+#, c-format
+msgid ""
+"\n"
+"The following AARCH64 specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Seuraavat AARCH64-kohtaiset disassembler-valinnat ovat tuettuja kÃ¤yttÃ¶Ã¶n\n"
+"-M -valinnan kanssa (monivalinnat pitÃ¤Ã¤ erottaa pilkulla):\n"
+
+#: aarch64-dis.c:2399
+#, c-format
+msgid ""
+"\n"
+"  no-aliases         Don't print instruction aliases.\n"
+msgstr ""
+"\n"
+"  no-aliases         Ã„lÃ¤ tulosta kÃ¤skyaliaksia.\n"
+
+#: aarch64-dis.c:2402
+#, c-format
+msgid ""
+"\n"
+"  aliases            Do print instruction aliases.\n"
+msgstr ""
+"\n"
+"  aliases            Tulosta kÃ¤skyaliakset.\n"
+
+#: aarch64-dis.c:2406
+#, c-format
+msgid ""
+"\n"
+"  debug_dump         Temp switch for debug trace.\n"
+msgstr ""
+"\n"
+"  debug_dump         TilapÃ¤iskytkin vianetsintÃ¤jÃ¤lkeen.\n"
+
+#: aarch64-dis.c:2410 mips-dis.c:2231 mips-dis.c:2239 mips-dis.c:2241
+#, c-format
+msgid "\n"
+msgstr "\n"
+
+#: aarch64-opc.c:1152
+msgid "immediate value"
+msgstr "suoraan muistiosoitettu arvo"
+
+#: aarch64-opc.c:1162
+msgid "immediate offset"
+msgstr "suoraan muistiosoitettu siirrososoite"
+
+#: aarch64-opc.c:1172
+msgid "register number"
+msgstr "rekisterinumero"
+
+#: aarch64-opc.c:1182
+msgid "register element index"
+msgstr "rekisterielementti-indeksi"
+
+#: aarch64-opc.c:1192
+msgid "shift amount"
+msgstr "siirrosmÃ¤Ã¤rÃ¤"
+
+#: aarch64-opc.c:1264
+msgid "extraneous register"
+msgstr "ylimÃ¤Ã¤rÃ¤inen rekisteri"
+
+#: aarch64-opc.c:1269
+msgid "missing register"
+msgstr "puuttuva rekisteri"
+
+#: aarch64-opc.c:1280
+msgid "stack pointer register expected"
+msgstr "otaksuttu pino-osoitinrekisteri"
+
+#: aarch64-opc.c:1310
+msgid "unexpected address writeback"
+msgstr "odottamaton osoitteen takaisinkirjoitus"
+
+#: aarch64-opc.c:1321
+msgid "address writeback expected"
+msgstr "odotettiin osoitteen takaisinkirjoitusta"
+
+#: aarch64-opc.c:1367
+msgid "negative or unaligned offset expected"
+msgstr "negatiivinen tai tasaamaton siirrososoite odotettu"
+
+#: aarch64-opc.c:1380
+msgid "invalid register offset"
+msgstr "virheellinen rekisterisiirrososoite"
+
+#: aarch64-opc.c:1402
+msgid "invalid post-increment amount"
+msgstr "virheellinen jÃ¤lkiaskelkasvatusmÃ¤Ã¤rÃ¤"
+
+#: aarch64-opc.c:1418 aarch64-opc.c:1685
+msgid "invalid shift amount"
+msgstr "virheellinen siirrosmÃ¤Ã¤rÃ¤"
+
+#: aarch64-opc.c:1431
+msgid "invalid extend/shift operator"
+msgstr "virheellinen laajennos/siirrosoperaattori"
+
+#: aarch64-opc.c:1477 aarch64-opc.c:1551 aarch64-opc.c:1586 aarch64-opc.c:1605
+#: aarch64-opc.c:1613 aarch64-opc.c:1663 aarch64-opc.c:1814
+msgid "immediate out of range"
+msgstr "suoraan muistiosoitettu arvo ei ole rajojen sisÃ¤llÃ¤"
+
+#: aarch64-opc.c:1539 aarch64-opc.c:1561 aarch64-opc.c:1718 aarch64-opc.c:1726
+#: aarch64-opc.c:1792 aarch64-opc.c:1820
+msgid "invalid shift operator"
+msgstr "virheellinen siirrosoperaattori"
+
+#: aarch64-opc.c:1545
+msgid "shift amount expected to be 0 or 12"
+msgstr "siirrosmÃ¤Ã¤rÃ¤n otaksuttiin oleva 0 tai 12"
+
+#: aarch64-opc.c:1568
+msgid "shift amount should be a multiple of 16"
+msgstr "siirrosmÃ¤Ã¤rÃ¤n pitÃ¤isi olla 16 monikerta"
+
+#: aarch64-opc.c:1580
+msgid "negative immediate value not allowed"
+msgstr "negatiivinen suora muistiosoitusarvo ei ole sallittu"
+
+#: aarch64-opc.c:1674
+msgid "immediate zero expected"
+msgstr "suora muistinosoitusnolla otaksuttu"
+
+#: aarch64-opc.c:1734
+msgid "shift is not permitted"
+msgstr "siirros ei ole sallittu"
+
+#: aarch64-opc.c:1759
+msgid "invalid value for immediate"
+msgstr "virheellinen vÃ¤littÃ¶mÃ¤n muistiosoitteen arvo"
+
+#: aarch64-opc.c:1784
+msgid "shift amount expected to be 0 or 16"
+msgstr "siirrosmÃ¤Ã¤rÃ¤n otaksuttiin olevan 0 tai 16"
+
+#: aarch64-opc.c:1804
+msgid "floating-point immediate expected"
+msgstr "liukulukumuistiosoitusarvo otaksuttu"
+
+#: aarch64-opc.c:1895
+msgid "extend operator expected"
+msgstr "laajennettu operaattori otaksuttu"
+
+#: aarch64-opc.c:1908
+msgid "missing extend operator"
+msgstr "puuttuva laajennusoperaattori"
+
+#: aarch64-opc.c:1914
+msgid "'LSL' operator not allowed"
+msgstr "â€™LSLâ€™-operaattori ei ole sallittu"
+
+#: aarch64-opc.c:1935
+msgid "W register expected"
+msgstr "W-rekisteri otaksuttu"
+
+#: aarch64-opc.c:1946
+msgid "shift operator expected"
+msgstr "siirrosoperaattori otaksuttu"
+
+#: aarch64-opc.c:1953
+msgid "'ROR' operator not allowed"
+msgstr "â€™RORâ€™-operaattori ei ole sallittu"
+
 #: alpha-opc.c:155
 msgid "branch operand unaligned"
 msgstr "haaroitusoperandi ei ole tasarajalla"
@@ -29,7 +205,7 @@ msgstr "haaroitusoperandi ei ole tasaraj
 msgid "jump hint unaligned"
 msgstr "hyppyvihje ei ole tasarajalla"
 
-#: arc-dis.c:77
+#: arc-dis.c:75
 msgid "Illegal limm reference in last instruction!\n"
 msgstr "ViimeisimmÃ¤n kÃ¤skyn virheellinen long-tyyppinen suora muistiosoiteviittaus!\n"
 
@@ -115,23 +291,17 @@ msgstr "haaroitusosoite ei ole 4-tavuraj
 msgid "must specify .jd or no nullify suffix"
 msgstr "on mÃ¤Ã¤riteltÃ¤vÃ¤ .jd tai nollattava suffiksi"
 
-#: arm-dis.c:2000
+#: arm-dis.c:2145
 msgid "<illegal precision>"
 msgstr "<virheellinen tarkkuus>"
 
 #. XXX - should break 'option' at following delimiter.
-#: arm-dis.c:4395
+#: arm-dis.c:4598
 #, c-format
 msgid "Unrecognised register name set: %s\n"
 msgstr "Tunnistamaton rekisterinimijoukko: %s\n"
 
-#. XXX - should break 'option' at following delimiter.
-#: arm-dis.c:4403
-#, c-format
-msgid "Unrecognised disassembler option: %s\n"
-msgstr "Tunnistamaton disassembler-valinta: %s\n"
-
-#: arm-dis.c:4995
+#: arm-dis.c:5208
 #, c-format
 msgid ""
 "\n"
@@ -157,7 +327,7 @@ msgstr "SisÃ¤inen disassembler-virhe"
 msgid "unknown constraint `%c'"
 msgstr "tuntematon rajoite â€�%câ€�"
 
-#: cgen-asm.c:336 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
+#: cgen-asm.c:352 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
 #: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
 #: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 openrisc-ibld.c:201
 #: xc16x-ibld.c:201 xstormy16-ibld.c:201
@@ -165,7 +335,7 @@ msgstr "tuntematon rajoite â€�%câ€�"
 msgid "operand out of range (%ld not between %ld and %ld)"
 msgstr "operandi ei ole rajojen sisÃ¤llÃ¤ (%ld ei ole %ld:n ja %ld:n vÃ¤lillÃ¤)"
 
-#: cgen-asm.c:358
+#: cgen-asm.c:374
 #, c-format
 msgid "operand out of range (%lu not between %lu and %lu)"
 msgstr "operandi ei ole rajojen sisÃ¤llÃ¤ (%lu ei ole %lu:n ja %lu:n vÃ¤lillÃ¤)"
@@ -301,8 +471,9 @@ msgstr "vÃ¤Ã¤rÃ¤ kÃ¤sky â€�%.50sâ€�"
 
 #. Default text to print if an instruction isn't recognized.
 #: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
-#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:277
-#: mt-dis.c:41 openrisc-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
+#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:276
+#: mt-dis.c:41 nds32-dis.c:56 openrisc-dis.c:41 xc16x-dis.c:41
+#: xstormy16-dis.c:41
 msgid "*unknown*"
 msgstr "*tuntematon*"
 
@@ -431,11 +602,11 @@ msgstr "kohteen %d sijoittamisesta ei se
 msgid "%02x\t\t*unknown*"
 msgstr "%02x\t\t*tuntematon*"
 
-#: i386-dis.c:10504
+#: i386-dis.c:11550
 msgid "<internal disassembler error>"
 msgstr "<sisÃ¤inen disassembler-virhe>"
 
-#: i386-dis.c:10801
+#: i386-dis.c:11859
 #, c-format
 msgid ""
 "\n"
@@ -446,32 +617,32 @@ msgstr ""
 "Seuraavat i386/x86-64-kohtaiset disassembler-valinnat ovat tuettuja kÃ¤yttÃ¶Ã¶n\n"
 "-M -valinnan kanssa (monivalinnat pitÃ¤Ã¤ erottaa pilkulla):\n"
 
-#: i386-dis.c:10805
+#: i386-dis.c:11863
 #, c-format
 msgid "  x86-64      Disassemble in 64bit mode\n"
 msgstr "  x86-64      Disassembloi 64-bittitilassa\n"
 
-#: i386-dis.c:10806
+#: i386-dis.c:11864
 #, c-format
 msgid "  i386        Disassemble in 32bit mode\n"
 msgstr "  i386        Disassembloi 32-bittitilassa\n"
 
-#: i386-dis.c:10807
+#: i386-dis.c:11865
 #, c-format
 msgid "  i8086       Disassemble in 16bit mode\n"
 msgstr "  i8086       Disassembloi 16-bittitilassa\n"
 
-#: i386-dis.c:10808
+#: i386-dis.c:11866
 #, c-format
 msgid "  att         Display instruction in AT&T syntax\n"
 msgstr "  att         NÃ¤yttÃ¤Ã¤ kÃ¤skyn AT&T-syntaksissa\n"
 
-#: i386-dis.c:10809
+#: i386-dis.c:11867
 #, c-format
 msgid "  intel       Display instruction in Intel syntax\n"
 msgstr "  intel       NÃ¤yttÃ¤Ã¤ kÃ¤skyn Intel-syntaksissa\n"
 
-#: i386-dis.c:10810
+#: i386-dis.c:11868
 #, c-format
 msgid ""
 "  att-mnemonic\n"
@@ -480,7 +651,7 @@ msgstr ""
 "  att-mnemonic\n"
 "              NÃ¤yttÃ¤Ã¤ kÃ¤skyn AT&T-syntaksissa\n"
 
-#: i386-dis.c:10812
+#: i386-dis.c:11870
 #, c-format
 msgid ""
 "  intel-mnemonic\n"
@@ -489,87 +660,87 @@ msgstr ""
 "  intel-mnemonic\n"
 "              NÃ¤yttÃ¤Ã¤ kÃ¤skyn Intel-syntaksissa\n"
 
-#: i386-dis.c:10814
+#: i386-dis.c:11872
 #, c-format
 msgid "  addr64      Assume 64bit address size\n"
 msgstr "  addr64      Otaksuu osoitekooksi 64 bittiÃ¤\n"
 
-#: i386-dis.c:10815
+#: i386-dis.c:11873
 #, c-format
 msgid "  addr32      Assume 32bit address size\n"
 msgstr "  addr32      Otaksuu osoitekooksi 32 bittiÃ¤\n"
 
-#: i386-dis.c:10816
+#: i386-dis.c:11874
 #, c-format
 msgid "  addr16      Assume 16bit address size\n"
 msgstr "  addr16      Otaksuu osoitekooksi 16 bittiÃ¤\n"
 
-#: i386-dis.c:10817
+#: i386-dis.c:11875
 #, c-format
 msgid "  data32      Assume 32bit data size\n"
 msgstr "  data32      Otaksuu datakooksi 32 bittiÃ¤\n"
 
-#: i386-dis.c:10818
+#: i386-dis.c:11876
 #, c-format
 msgid "  data16      Assume 16bit data size\n"
 msgstr "  data16      Otaksuu datakooksi 16 bittiÃ¤\n"
 
-#: i386-dis.c:10819
+#: i386-dis.c:11877
 #, c-format
 msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
 msgstr "  suffix      NÃ¤yttÃ¤Ã¤ kÃ¤skysuffiksin aina AT&T-syntaksissa\n"
 
-#: i386-gen.c:483 ia64-gen.c:307
+#: i386-gen.c:560 ia64-gen.c:307
 #, c-format
 msgid "%s: Error: "
 msgstr "%s: Virhe: "
 
-#: i386-gen.c:615
+#: i386-gen.c:692
 #, c-format
 msgid "%s: %d: Unknown bitfield: %s\n"
 msgstr "%s: %d: Tuntematon bittikenttÃ¤: %s\n"
 
-#: i386-gen.c:617
+#: i386-gen.c:694
 #, c-format
 msgid "Unknown bitfield: %s\n"
 msgstr "Tuntematon bittikenttÃ¤: %s\n"
 
-#: i386-gen.c:673
+#: i386-gen.c:750
 #, c-format
 msgid "%s: %d: Missing `)' in bitfield: %s\n"
 msgstr "%s: %d: Puuttuva â€�)â€� bittikentÃ¤ssÃ¤: %s\n"
 
-#: i386-gen.c:938
+#: i386-gen.c:1015
 #, c-format
 msgid "can't find i386-opc.tbl for reading, errno = %s\n"
 msgstr "i386-opc.tbl ei lÃ¶ytynyt luettavaksi, virhenumero = %s\n"
 
-#: i386-gen.c:1069
+#: i386-gen.c:1146
 #, c-format
 msgid "can't find i386-reg.tbl for reading, errno = %s\n"
 msgstr "i386-reg.tbl ei lÃ¶ytynyt luettavaksi, virhenumero = %s\n"
 
-#: i386-gen.c:1146
+#: i386-gen.c:1223
 #, c-format
 msgid "can't create i386-init.h, errno = %s\n"
 msgstr "ei voi luoda tiedostoa i386-init.h, virhenumero = %s\n"
 
-#: i386-gen.c:1235 ia64-gen.c:2820
+#: i386-gen.c:1312 ia64-gen.c:2830
 #, c-format
 msgid "unable to change directory to \"%s\", errno = %s\n"
 msgstr "vaihtaminen hakemistoon â€�%sâ€� ei onnistu, virhenumero = %s\n"
 
-#: i386-gen.c:1242
+#: i386-gen.c:1319
 #, c-format
 msgid "%d unused bits in i386_cpu_flags.\n"
 msgstr "%d kÃ¤yttÃ¤mÃ¤tÃ¶ntÃ¤ bittiÃ¤ i386_cpu_flags-lipussa.\n"
 
-#: i386-gen.c:1249
+#: i386-gen.c:1326
 #, c-format
 msgid "%d unused bits in i386_operand_type.\n"
 msgstr "%d kÃ¤yttÃ¤mÃ¤tÃ¶ntÃ¤ bittiÃ¤ i386_operand_type-lipussa.\n"
 
-#: i386-gen.c:1263
+#: i386-gen.c:1340
 #, c-format
 msgid "can't create i386-tbl.h, errno = %s\n"
 msgstr "ei voi luoda tiedostoa i386-tbl.h, virhenumero = %s\n"
@@ -593,7 +764,7 @@ msgstr "ia64-ic.tbl ei lÃ¶ytynyt luettav
 msgid "can't find %s for reading\n"
 msgstr "%s ei lÃ¶ytynyt luettavaksi\n"
 
-#: ia64-gen.c:1043
+#: ia64-gen.c:1051
 #, c-format
 msgid ""
 "most recent format '%s'\n"
@@ -602,77 +773,77 @@ msgstr ""
 "viimeisin muoto â€™%sâ€™\n"
 "nÃ¤yttÃ¤Ã¤ rajoittavammalta kuin â€™%sâ€™\n"
 
-#: ia64-gen.c:1054
+#: ia64-gen.c:1062
 #, c-format
 msgid "overlapping field %s->%s\n"
 msgstr "pÃ¤Ã¤llekkÃ¤inen kenttÃ¤ %s->%s\n"
 
-#: ia64-gen.c:1251
+#: ia64-gen.c:1259
 #, c-format
 msgid "overwriting note %d with note %d (IC:%s)\n"
 msgstr "merkki %d kirjoitetaan merkin %d pÃ¤Ã¤lle (IC:%s)\n"
 
-#: ia64-gen.c:1456
+#: ia64-gen.c:1466
 #, c-format
 msgid "don't know how to specify %% dependency %s\n"
 msgstr "kohteen %% riippuvuutta %s ei osattu mÃ¤Ã¤ritellÃ¤\n"
 
-#: ia64-gen.c:1478
+#: ia64-gen.c:1488
 #, c-format
 msgid "Don't know how to specify # dependency %s\n"
 msgstr "Kohteen # riippuvuutta %s ei osattu mÃ¤Ã¤ritellÃ¤\n"
 
-#: ia64-gen.c:1517
+#: ia64-gen.c:1527
 #, c-format
 msgid "IC:%s [%s] has no terminals or sub-classes\n"
 msgstr "Kohteella IC:%s [%s] ei ole pÃ¤Ã¤tepisteitÃ¤ tai alaluokkia\n"
 
-#: ia64-gen.c:1520
+#: ia64-gen.c:1530
 #, c-format
 msgid "IC:%s has no terminals or sub-classes\n"
 msgstr "Kohteella IC:%s ei ole pÃ¤Ã¤tepisteitÃ¤ tai alaluokkia\n"
 
-#: ia64-gen.c:1529
+#: ia64-gen.c:1539
 #, c-format
 msgid "no insns mapped directly to terminal IC %s [%s]"
 msgstr "yhtÃ¤Ã¤n kÃ¤skyÃ¤ ei ole mapattu suoraan pÃ¤Ã¤tepisteeseen IC %s [%s]"
 
-#: ia64-gen.c:1532
+#: ia64-gen.c:1542
 #, c-format
 msgid "no insns mapped directly to terminal IC %s\n"
 msgstr "yhtÃ¤Ã¤n kÃ¤skyÃ¤ ei ole mapattu suoraan pÃ¤Ã¤tepisteeseen IC %s\n"
 
-#: ia64-gen.c:1543
+#: ia64-gen.c:1553
 #, c-format
 msgid "class %s is defined but not used\n"
 msgstr "luokka %s on mÃ¤Ã¤ritelty mutta kÃ¤yttÃ¤mÃ¤tÃ¶n\n"
 
-#: ia64-gen.c:1556
+#: ia64-gen.c:1566
 #, c-format
 msgid "Warning: rsrc %s (%s) has no chks\n"
 msgstr "Varoitus: kohteessa rsrc %s (%s) ei ole tarkistuksia\n"
 
-#: ia64-gen.c:1559
+#: ia64-gen.c:1569
 #, c-format
 msgid "Warning: rsrc %s (%s) has no chks or regs\n"
 msgstr "Varoitus: kohteessa rsrc %s (%s) ei ole tarkistuksia tai rekistereitÃ¤\n"
 
-#: ia64-gen.c:1563
+#: ia64-gen.c:1573
 #, c-format
 msgid "rsrc %s (%s) has no regs\n"
 msgstr "kohteessa rsrc %s (%s) ei ole rekistereitÃ¤\n"
 
-#: ia64-gen.c:2455
+#: ia64-gen.c:2465
 #, c-format
 msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
 msgstr "IC-merkintÃ¤ %d kÃ¤skyssÃ¤ %s (IC:%s) on ristiriidassa resurssin %s merkinnÃ¤n %d kanssa\n"
 
-#: ia64-gen.c:2483
+#: ia64-gen.c:2493
 #, c-format
 msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
 msgstr "IC-merkintÃ¤ %d kÃ¤skyyn %s (IC:%s) on ristiriidassa resurssin %s merkinnÃ¤n %d kanssa\n"
 
-#: ia64-gen.c:2497
+#: ia64-gen.c:2507
 #, c-format
 msgid "opcode %s has no class (ops %d %d %d)\n"
 msgstr "kÃ¤skyssÃ¤ %s ei ole luokkaa (toiminnat %d %d %d)\n"
@@ -757,7 +928,7 @@ msgstr "odotetaan got-suhteellista osoit
 msgid "expecting got relative address: gotofflo16(symbol)"
 msgstr "odotetaan got-suhteellinen osoite: gotofflo16(symboli)"
 
-#: m10200-dis.c:158 m10300-dis.c:582
+#: m10200-dis.c:158 m10300-dis.c:581
 #, c-format
 msgid "unknown\t0x%04lx"
 msgstr "tuntematon\t0x%04lx"
@@ -889,41 +1060,12 @@ msgstr "Suora muistiosoitusarvo ei ole r
 msgid "Value is not aligned enough"
 msgstr "Uudelleensijoitusarvo ei ole tasarajalla"
 
-#: mips-dis.c:947
-msgid "# internal error, incomplete extension sequence (+)"
-msgstr "# sisÃ¤inen virhe, epÃ¤tÃ¤ydellinen laajennussekvenssi (+)"
-
-#: mips-dis.c:1113
-#, c-format
-msgid "# internal error, undefined extension sequence (+%c)"
-msgstr "# sisÃ¤inen virhe, mÃ¤Ã¤rittelemÃ¤tÃ¶n laajennussekvenssi (+%c)"
-
-#: mips-dis.c:1485
-#, c-format
-msgid "# internal error, undefined modifier (%c)"
-msgstr "# sisÃ¤inen virhe, mÃ¤Ã¤rittelemÃ¤tÃ¶n mÃ¤Ã¤rite (%c)"
-
-#: mips-dis.c:2089
+#: mips-dis.c:1392 mips-dis.c:1580
 #, c-format
-msgid "# internal disassembler error, unrecognised modifier (%c)"
-msgstr "# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (%c)"
+msgid "# internal error, undefined operand in `%s %s'"
+msgstr "# sisÃ¤inen virhe, mÃ¤Ã¤rittelemÃ¤tÃ¶n operandi â€�%s %sâ€�"
 
-#: mips-dis.c:2664
-#, c-format
-msgid "# internal disassembler error, unrecognized modifier (+%c)"
-msgstr "# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (+%c)"
-
-#: mips-dis.c:2894
-#, c-format
-msgid "# internal disassembler error, unrecognized modifier (m%c)"
-msgstr "# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (m%c)"
-
-#: mips-dis.c:2904
-#, c-format
-msgid "# internal disassembler error, unrecognized modifier (%c)"
-msgstr "# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (%c)"
-
-#: mips-dis.c:3052
+#: mips-dis.c:2190
 #, c-format
 msgid ""
 "\n"
@@ -934,7 +1076,25 @@ msgstr ""
 "Seuraavat MIPS-kohtaiset disassembler-valinnat ovat tuettuja kÃ¤yttÃ¶Ã¶n\n"
 "-M -valinnan kanssa (monivalinnat pitÃ¤Ã¤ erottaa pilkulla):\n"
 
-#: mips-dis.c:3056
+#: mips-dis.c:2194
+#, c-format
+msgid ""
+"\n"
+"  msa             Recognize MSA instructions.\n"
+msgstr ""
+"\n"
+"  msa             Tunnista MSA-kÃ¤skyt.\n"
+
+#: mips-dis.c:2197
+#, c-format
+msgid ""
+"\n"
+"  virt            Recognize the virtualization ASE instructions.\n"
+msgstr ""
+"\n"
+"  virt            Tunnista ASE-virtualisointikÃ¤skyt.\n"
+
+#: mips-dis.c:2200
 #, c-format
 msgid ""
 "\n"
@@ -945,7 +1105,7 @@ msgstr ""
 "  gpr-names=ABI            Tulosta GPR-nimet mÃ¤Ã¤ritellyn ABI:n mukaisesti.\n"
 "                           Oletus: perustuu disassembloitavaan binÃ¤Ã¤ritiedostoon.\n"
 
-#: mips-dis.c:3060
+#: mips-dis.c:2204
 #, c-format
 msgid ""
 "\n"
@@ -956,7 +1116,7 @@ msgstr ""
 "  fpr-names=ABI            Tulosta FPR-nimet mÃ¤Ã¤ritellyn ABI:n mukaisesti.\n"
 "                           Oletus: numeerinen.\n"
 
-#: mips-dis.c:3064
+#: mips-dis.c:2208
 #, c-format
 msgid ""
 "\n"
@@ -969,7 +1129,7 @@ msgstr ""
 "                           mÃ¤Ã¤ritellyn arkkitehtuurin mukaisesti.\n"
 "                           Oletus: perustuu disassemloitavaan binÃ¤Ã¤ritiedostoon.\n"
 
-#: mips-dis.c:3069
+#: mips-dis.c:2213
 #, c-format
 msgid ""
 "\n"
@@ -982,7 +1142,7 @@ msgstr ""
 "\t\t\t   arkkitehtuurin mukaisesti.\n"
 "                           Oletus: perustuu disassembloitavaan binÃ¤Ã¤ritiedostoon.\n"
 
-#: mips-dis.c:3074
+#: mips-dis.c:2218
 #, c-format
 msgid ""
 "\n"
@@ -993,7 +1153,7 @@ msgstr ""
 "  reg-names=ABI            Tulosta GPR- ja FPR-nimet mÃ¤Ã¤ritellyn\n"
 "                           ABI:n mukaisesti.\n"
 
-#: mips-dis.c:3078
+#: mips-dis.c:2222
 #, c-format
 msgid ""
 "\n"
@@ -1004,7 +1164,7 @@ msgstr ""
 "  reg-names=ARCH           Tulosta CP0-rekisteri ja HWR-nimet mÃ¤Ã¤ritellyn\n"
 "                           arkkitehtuurin mukaisesti.\n"
 
-#: mips-dis.c:3082
+#: mips-dis.c:2226
 #, c-format
 msgid ""
 "\n"
@@ -1015,12 +1175,7 @@ msgstr ""
 "  YllÃ¤olevista valinnoista â€�ABIâ€� tukee seuraavia arvoja:\n"
 "   "
 
-#: mips-dis.c:3087 mips-dis.c:3095 mips-dis.c:3097
-#, c-format
-msgid "\n"
-msgstr "\n"
-
-#: mips-dis.c:3089
+#: mips-dis.c:2233
 #, c-format
 msgid ""
 "\n"
@@ -1031,34 +1186,43 @@ msgstr ""
 "  YllÃ¤olevista valinnoista â€�ARCHâ€� tukee seuraavia arvoja:\n"
 "   "
 
-#: mmix-dis.c:35
+#: mmix-dis.c:34
 #, c-format
 msgid "Bad case %d (%s) in %s:%d\n"
 msgstr "%d (%s) on virheellinen tapaus kohteessa %s:%d\n"
 
-#: mmix-dis.c:45
+#: mmix-dis.c:44
 #, c-format
 msgid "Internal: Non-debugged code (test-case missing): %s:%d"
 msgstr "SisÃ¤inen: VikajÃ¤ljittÃ¤mÃ¤tÃ¶n koodi (testitapaus puuttuu): %s:%d"
 
-#: mmix-dis.c:54
+#: mmix-dis.c:53
 msgid "(unknown)"
 msgstr "(tuntematon)"
 
-#: mmix-dis.c:512
+#: mmix-dis.c:511
 #, c-format
 msgid "*unknown operands type: %d*"
 msgstr "*tuntematon operandityyppi: %d*"
 
-#: msp430-dis.c:328
+#: msp430-dis.c:412
 msgid "Illegal as emulation instr"
 msgstr "Virheellinen emulointikÃ¤skynÃ¤"
 
 #. R2/R3 are illegal as dest: may be data section.
-#: msp430-dis.c:379
+#: msp430-dis.c:487
 msgid "Illegal as 2-op instr"
 msgstr "Virheellinen kaksikÃ¤skykoodina"
 
+#: msp430-dis.c:839
+msgid "unrecognised CALLA addressing mode"
+msgstr "tunnistamaton CALLA-osoitteenmuodostustila"
+
+#: msp430-dis.c:1110 msp430-dis.c:1127 msp430-dis.c:1148
+#, c-format
+msgid "Reserved use of A/L and B/W bits detected"
+msgstr "A/L- ja B/W-bittien varattu kÃ¤yttÃ¶ havaittu"
+
 #: mt-asm.c:110 mt-asm.c:190
 msgid "Operand out of range. Must be between -32768 and 32767."
 msgstr "Operandi ei ole rajojen sisÃ¤llÃ¤. TÃ¤ytyy olla -32768:n ja 32767:n vÃ¤lillÃ¤."
@@ -1085,12 +1249,12 @@ msgstr "virheellinen operandi. tyypin ar
 msgid "$<undefined>"
 msgstr "$<mÃ¤Ã¤rittelemÃ¤tÃ¶n>"
 
-#: ppc-dis.c:234
+#: ppc-dis.c:320
 #, c-format
 msgid "warning: ignoring unknown -M%s option\n"
 msgstr "varoitus: ei vÃ¤litetÃ¤ tuntemattomasta -M%s-valitsimesta\n"
 
-#: ppc-dis.c:523
+#: ppc-dis.c:745
 #, c-format
 msgid ""
 "\n"
@@ -1101,55 +1265,63 @@ msgstr ""
 "Seuraavia PPC-kohtaisia disassembler-valintoja tuetaan kÃ¤ytÃ¶ssÃ¤\n"
 "-M -valinnan kanssa:\n"
 
-#: ppc-opc.c:906 ppc-opc.c:936
+#: ppc-opc.c:887 ppc-opc.c:910 ppc-opc.c:935 ppc-opc.c:964
+msgid "invalid register"
+msgstr "virheellinen rekisteri"
+
+#: ppc-opc.c:1212 ppc-opc.c:1242
 msgid "invalid conditional option"
 msgstr "virheellinen ehdollinen valinta"
 
-#: ppc-opc.c:908 ppc-opc.c:938
+#: ppc-opc.c:1214 ppc-opc.c:1244
 msgid "invalid counter access"
 msgstr "virheellinen laskinhaku"
 
-#: ppc-opc.c:940
+#: ppc-opc.c:1246
 msgid "attempt to set y bit when using + or - modifier"
 msgstr "yritys asettaa y-bitti kun kÃ¤ytetÃ¤Ã¤n + tai - mÃ¤Ã¤ritettÃ¤"
 
-#: ppc-opc.c:972
+#: ppc-opc.c:1278
 msgid "invalid mask field"
 msgstr "virheellinen peitekenttÃ¤"
 
-#: ppc-opc.c:998
+#: ppc-opc.c:1304
 msgid "ignoring invalid mfcr mask"
 msgstr "virheellistÃ¤ mfcr-peitettÃ¤ ei oteta huomioon"
 
-#: ppc-opc.c:1048 ppc-opc.c:1083
+#: ppc-opc.c:1403 ppc-opc.c:1438
 msgid "illegal bitmask"
 msgstr "virheellinen bittipeite"
 
-#: ppc-opc.c:1170
+#: ppc-opc.c:1525
 msgid "address register in load range"
 msgstr "osoiterekisteri on latauslukurajojen sisÃ¤llÃ¤"
 
-#: ppc-opc.c:1223
+#: ppc-opc.c:1578
 msgid "index register in load range"
 msgstr "indeksirekisteri on latauslukurajojen sisÃ¤llÃ¤"
 
-#: ppc-opc.c:1239 ppc-opc.c:1295
+#: ppc-opc.c:1594 ppc-opc.c:1650
 msgid "source and target register operands must be different"
 msgstr "lÃ¤hde- ja kohderekisterin kohdemuuttujien on oltava erilaiset"
 
-#: ppc-opc.c:1254
+#: ppc-opc.c:1609
 msgid "invalid register operand when updating"
 msgstr "rekisterin operandi virheellinen pÃ¤ivitettÃ¤essÃ¤"
 
-#: ppc-opc.c:1349
+#: ppc-opc.c:1700
+msgid "illegal immediate value"
+msgstr "virheellinen suora muistiosoitusarvo"
+
+#: ppc-opc.c:1839
 msgid "invalid sprg number"
 msgstr "virheellinen sprg-numero"
 
-#: ppc-opc.c:1519
+#: ppc-opc.c:2009
 msgid "invalid constant"
 msgstr "virheellinen vakio"
 
-#: s390-dis.c:301
+#: s390-dis.c:291
 #, c-format
 msgid ""
 "\n"
@@ -1160,12 +1332,12 @@ msgstr ""
 "Seuraavat S/390-kohtaiset disassembler-valinnat ovat tuettuja kÃ¤yttÃ¶Ã¶n\n"
 "-M -valinnan kanssa (monivalinnat pitÃ¤Ã¤ erottaa pilkulla):\n"
 
-#: s390-dis.c:305
+#: s390-dis.c:295
 #, c-format
 msgid "  esa         Disassemble in ESA architecture mode\n"
 msgstr "  esa        Disassembloi ESA-arkkitehtuuritilassa\n"
 
-#: s390-dis.c:306
+#: s390-dis.c:296
 #, c-format
 msgid "  zarch       Disassemble in z/Architecture mode\n"
 msgstr "  zarch        Disassembloi z/Arkkitehtuuritilassa\n"
@@ -1175,32 +1347,32 @@ msgstr "  zarch        Disassembloi z/Ar
 msgid "<illegal instruction>"
 msgstr "<virheellinen kÃ¤sky>"
 
-#: sparc-dis.c:285
+#: sparc-dis.c:286
 #, c-format
 msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
 msgstr "SisÃ¤inen virhe:  virheellinen sparc-opcode.h: â€�%sâ€�, %#.8lx, %#.8lx\n"
 
-#: sparc-dis.c:296
+#: sparc-dis.c:297
 #, c-format
 msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
 msgstr "SisÃ¤inen virhe: virheellinen sparc-opcode.h: â€�%sâ€�, %#.8lx, %#.8lx\n"
 
-#: sparc-dis.c:346
+#: sparc-dis.c:356
 #, c-format
 msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
 msgstr "SisÃ¤inen virhe: virheellinen sparc-opcode.h: â€�%sâ€� == â€�%sâ€�\n"
 
 #. Mark as non-valid instruction.
-#: sparc-dis.c:1028
+#: sparc-dis.c:1047
 msgid "unknown"
 msgstr "tuntematon"
 
-#: v850-dis.c:372
+#: v850-dis.c:453
 #, c-format
 msgid "unknown operand shift: %x\n"
 msgstr "tuntematon operandin siirto: %x\n"
 
-#: v850-dis.c:384
+#: v850-dis.c:465
 #, c-format
 msgid "unknown reg: %d\n"
 msgstr "tuntematon rekisteri: %d\n"
@@ -1210,39 +1382,67 @@ msgstr "tuntematon rekisteri: %d\n"
 #. v850_insert_operand() in gas/config/tc-v850.c.  Error messages
 #. containing the string 'out of range' will be ignored unless a
 #. specific command line option is given to GAS.
-#: v850-opc.c:55
+#: v850-opc.c:53
 msgid "displacement value is not in range and is not aligned"
 msgstr "uudelleensijoitusarvo ei ole rajojen sisÃ¤llÃ¤ eikÃ¤ sijaitse tasarajalla"
 
-#: v850-opc.c:56
+#: v850-opc.c:54
 msgid "displacement value is out of range"
 msgstr "uudelleensijoitusarvo ei ole rajojen sisÃ¤llÃ¤"
 
-#: v850-opc.c:57
+#: v850-opc.c:55
 msgid "displacement value is not aligned"
 msgstr "uudelleensijoitusarvo ei ole tasarajalla"
 
-#: v850-opc.c:59
+#: v850-opc.c:57
 msgid "immediate value is out of range"
 msgstr "suora muistiosoitusarvo ei ole rajojen sisÃ¤llÃ¤"
 
-#: v850-opc.c:60
+#: v850-opc.c:58
 msgid "branch value out of range"
 msgstr "haaroitusarvo ei ole rajojen sisÃ¤llÃ¤"
 
-#: v850-opc.c:61
+#: v850-opc.c:59
 msgid "branch value not in range and to odd offset"
 msgstr "haaroitusarvo ei ole rajojen sisÃ¤llÃ¤ ja kohdistuu parittomaan siirrososoitteeseen"
 
-#: v850-opc.c:62
+#: v850-opc.c:60
 msgid "branch to odd offset"
 msgstr "haaroitus parittomaan siirrososoitteeseen"
 
-#: v850-opc.c:497
+#: v850-opc.c:61
+msgid "position value is out of range"
+msgstr "sijaintiarvo ei ole rajojen sisÃ¤llÃ¤"
+
+#: v850-opc.c:62
+msgid "width value is out of range"
+msgstr "leveysarvo ei ole rajojen sisÃ¤llÃ¤"
+
+#: v850-opc.c:63
+msgid "SelID is out of range"
+msgstr "SelID ei ole rajojen sisÃ¤llÃ¤"
+
+#: v850-opc.c:64
+msgid "vector8 is out of range"
+msgstr "vector8 ei ole rajojen sisÃ¤llÃ¤"
+
+#: v850-opc.c:65
+msgid "vector5 is out of range"
+msgstr "vector5 ei ole rajojen sisÃ¤llÃ¤"
+
+#: v850-opc.c:66
+msgid "imm10 is out of range"
+msgstr "imm10 ei ole rajojen sisÃ¤llÃ¤"
+
+#: v850-opc.c:67
+msgid "SR/SelID is out of range"
+msgstr "SR/SelID ei ole rajojen sisÃ¤llÃ¤"
+
+#: v850-opc.c:512
 msgid "invalid register for stack adjustment"
 msgstr "virheellinen rekisteri pinosÃ¤Ã¤dÃ¶ssÃ¤"
 
-#: v850-opc.c:518
+#: v850-opc.c:532
 msgid "invalid register name"
 msgstr "virheellinen rekisterinimi"
 
@@ -1310,6 +1510,28 @@ msgstr "Kohdemuuttuja ei ole symboli"
 msgid "Syntax error: No trailing ')'"
 msgstr "Syntaksivirhe: loppukaarisulku â€™)â€™ puuttuu"
 
+#~ msgid "# internal error, incomplete extension sequence (+)"
+#~ msgstr "# sisÃ¤inen virhe, epÃ¤tÃ¤ydellinen laajennussekvenssi (+)"
+
+#~ msgid "# internal error, undefined extension sequence (+%c)"
+#~ msgstr "# sisÃ¤inen virhe, mÃ¤Ã¤rittelemÃ¤tÃ¶n laajennussekvenssi (+%c)"
+
+#~ msgid "# internal disassembler error, unrecognised modifier (%c)"
+#~ msgstr "# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (%c)"
+
+#~ msgid "# internal disassembler error, unrecognized modifier (+%c)"
+#~ msgstr "# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (+%c)"
+
+#~ msgid "# internal disassembler error, unrecognized modifier (m%c)"
+#~ msgstr "# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (m%c)"
+
+#~ msgid "# internal disassembler error, unrecognized modifier (%c)"
+#~ msgstr "# sisÃ¤inen disassembler-virhe, tunnistamaton mÃ¤Ã¤rite (%c)"
+
+#  should be unrecognised, I suppose
+#~ msgid "unercognised CALLA addressing mode"
+#~ msgstr "tunnistamaton CALLA-osoitteenmuodostustila"
+
 #~ msgid "branch value not in range and to an odd offset"
 #~ msgstr "haaroitusarvo ei ole rajojen sisÃ¤llÃ¤ ja sijaitsee parittomassa siirrososoitteessa"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/Make-in ./opcodes/po/Make-in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/Make-in	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/po/Make-in	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 # Makefile for program source directory in GNU NLS utilities package.
 # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
 #
 # This file may be copied and used freely without restrictions.  It can
 # be used in projects which are not available under the GNU Public License
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/POTFILES.in ./opcodes/po/POTFILES.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/po/POTFILES.in	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/po/POTFILES.in	2015-01-20 02:05:40.000000000 +0000
@@ -207,6 +207,8 @@ tilepro-opc.c
 v850-dis.c
 v850-opc.c
 vax-dis.c
+visium-dis.c
+visium-opc.c
 w65-dis.c
 w65-opc.h
 xc16x-asm.c
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ppc-dis.c ./opcodes/ppc-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ppc-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ppc-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ppc-dis.c -- Disassemble PowerPC instructions
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ppc-opc.c ./opcodes/ppc-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/ppc-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/ppc-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* ppc-opc.c -- PowerPC opcode list
-   Copyright (C) 1994-2014 Free Software Foundation, Inc.
+   Copyright (C) 1994-2015 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support
 
    This file is part of the GNU opcodes library.
@@ -1872,28 +1872,30 @@ extract_sprg (unsigned long insn,
    much, since the architecture manual does not define mftb as
    accepting any values other than 268 or 269.  */
 
-#define TB (268)
-
 static unsigned long
 insert_tbr (unsigned long insn,
 	    long value,
 	    ppc_cpu_t dialect ATTRIBUTE_UNUSED,
-	    const char **errmsg ATTRIBUTE_UNUSED)
+	    const char **errmsg)
 {
   if (value == 0)
-    value = TB;
+    value = 268;
+  if (value != 268 && value != 269)
+    *errmsg = _("invalid tbr number");
   return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6);
 }
 
 static long
 extract_tbr (unsigned long insn,
 	     ppc_cpu_t dialect ATTRIBUTE_UNUSED,
-	     int *invalid ATTRIBUTE_UNUSED)
+	     int *invalid)
 {
   long ret;
 
   ret = ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0);
-  if (ret == TB)
+  if (ret != 268 && ret != 269)
+    *invalid = 1;
+  if (ret == 268)
     ret = 0;
   return ret;
 }
@@ -4653,7 +4655,7 @@ const struct powerpc_opcode powerpc_opco
 {"addze.",	XO(31,202,0,1),	XORB_MASK,   PPCCOM|PPCVLE, PPCNONE,	{RT, RA}},
 {"aze.",	XO(31,202,0,1),	XORB_MASK,   PWRCOM,	PPCNONE,	{RT, RA}},
 
-{"msgsnd",	XRTRA(31,206,0,0), XRTRA_MASK, E500MC|PPCA2|PPCVLE, PPCNONE, {RB}},
+{"msgsnd",	XRTRA(31,206,0,0), XRTRA_MASK, E500MC|PPCA2|POWER8|PPCVLE, PPCNONE, {RB}},
 
 {"mtsr",	X(31,210), XRB_MASK|(1<<20), COM,	NON32,  	{SR, RS}},
 
@@ -4700,7 +4702,7 @@ const struct powerpc_opcode powerpc_opco
 {"muls.",	XO(31,235,0,1),	XO_MASK,     PWRCOM,	PPCNONE,	{RT, RA, RB}},
 
 {"icblce",	X(31,238),	X_MASK,      PPCCHLK,	E500MC|PPCA2,	{CT, RA, RB}},
-{"msgclr",	XRTRA(31,238,0,0),XRTRA_MASK, E500MC|PPCA2|PPCVLE, PPCNONE, {RB}},
+{"msgclr",	XRTRA(31,238,0,0), XRTRA_MASK, E500MC|PPCA2|POWER8|PPCVLE, PPCNONE, {RB}},
 {"mtsrin",	X(31,242),	XRA_MASK,    PPC,	NON32,  	{RS, RB}},
 {"mtsri",	X(31,242),	XRA_MASK,    POWER,	NON32,		{RS, RB}},
 
@@ -4878,9 +4880,9 @@ const struct powerpc_opcode powerpc_opco
 {"mfsprg5",	XSPR(31,339,261), XSPR_MASK, PPC405|BOOKE|PPCVLE, PPCNONE, {RT}},
 {"mfsprg6",	XSPR(31,339,262), XSPR_MASK, PPC405|BOOKE|PPCVLE, PPCNONE, {RT}},
 {"mfsprg7",	XSPR(31,339,263), XSPR_MASK, PPC405|BOOKE|PPCVLE, PPCNONE, {RT}},
-{"mftb",	XSPR(31,339,268), XSPR_MASK, BOOKE|PPCVLE, PPCNONE,	{RT}},
-{"mftbl",	XSPR(31,339,268), XSPR_MASK, BOOKE|PPCVLE, PPCNONE,	{RT}},
-{"mftbu",	XSPR(31,339,269), XSPR_MASK, BOOKE|PPCVLE, PPCNONE,	{RT}},
+{"mftbu",	XSPR(31,339,269), XSPR_MASK, POWER4|BOOKE|PPCVLE, PPCNONE, {RT}},
+{"mftb",	X(31,339),	  X_MASK,    POWER4|BOOKE|PPCVLE, PPCNONE, {RT, TBR}},
+{"mftbl",	XSPR(31,339,268), XSPR_MASK, POWER4|BOOKE|PPCVLE, PPCNONE, {RT}},
 {"mfsprg0",	XSPR(31,339,272), XSPR_MASK, PPC|PPCVLE, PPCNONE,	{RT}},
 {"mfsprg1",	XSPR(31,339,273), XSPR_MASK, PPC|PPCVLE, PPCNONE,	{RT}},
 {"mfsprg2",	XSPR(31,339,274), XSPR_MASK, PPC|PPCVLE, PPCNONE,	{RT}},
@@ -5049,9 +5051,9 @@ const struct powerpc_opcode powerpc_opco
 
 {"tlbia",	X(31,370),	0xffffffff,  PPC,	TITAN,  	{0}},
 
-{"mftbl",	XSPR(31,371,268), XSPR_MASK, PPC,	NO371,		{RT}},
-{"mftbu",	XSPR(31,371,269), XSPR_MASK, PPC,	NO371,		{RT}},
-{"mftb",	X(31,371),	X_MASK,      PPC|PPCA2,	NO371|POWER7,	{RT, TBR}},
+{"mftbu",	XSPR(31,371,269), XSPR_MASK, PPC,	NO371|POWER4,	{RT}},
+{"mftb",	X(31,371),	X_MASK,      PPC,	NO371|POWER4,	{RT, TBR}},
+{"mftbl",	XSPR(31,371,268), XSPR_MASK, PPC,	NO371|POWER4,	{RT}},
 
 {"lwaux",	X(31,373),	X_MASK,      PPC64|PPCVLE, PPCNONE,	{RT, RAL, RB}},
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rl78-decode.c ./opcodes/rl78-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rl78-decode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/rl78-decode.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 #line 1 "rl78-decode.opc"
 /* -*- c -*- */
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Written by DJ Delorie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rl78-decode.opc ./opcodes/rl78-decode.opc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rl78-decode.opc	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/rl78-decode.opc	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* -*- c -*- */
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Written by DJ Delorie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rl78-dis.c ./opcodes/rl78-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rl78-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/rl78-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembler code for Renesas RL78.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Written by DJ Delorie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rx-decode.c ./opcodes/rx-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rx-decode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/rx-decode.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 #line 1 "rx-decode.opc"
 /* -*- c -*- */
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Written by DJ Delorie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rx-decode.opc ./opcodes/rx-decode.opc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rx-decode.opc	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/rx-decode.opc	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* -*- c -*- */
-/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Written by DJ Delorie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rx-dis.c ./opcodes/rx-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/rx-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/rx-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembler code for Renesas RX.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Written by DJ Delorie.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/s390-dis.c ./opcodes/s390-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/s390-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/s390-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* s390-dis.c -- Disassemble S390 instructions
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
 
    This file is part of the GNU opcodes library.
@@ -35,19 +35,15 @@ static int current_arch_mask = 0;
 static void
 init_disasm (struct disassemble_info *info)
 {
-  const struct s390_opcode *opcode;
-  const struct s390_opcode *opcode_end;
+  int i;
   const char *p;
 
   memset (opc_index, 0, sizeof (opc_index));
-  opcode_end = s390_opcodes + s390_num_opcodes;
-  for (opcode = s390_opcodes; opcode < opcode_end; opcode++)
-    {
-      opc_index[(int) opcode->opcode[0]] = opcode - s390_opcodes;
-      while ((opcode < opcode_end) &&
-	     (opcode[1].opcode[0] == opcode->opcode[0]))
-	opcode++;
-    }
+
+  /* Reverse order, such that each opc_index ends up pointing to the
+     first matching entry instead of the last.  */
+  for (i = s390_num_opcodes; i--; )
+    opc_index[s390_opcodes[i].opcode[0]] = i;
 
   for (p = info->disassembler_options; p != NULL; )
     {
@@ -69,15 +65,46 @@ init_disasm (struct disassemble_info *in
   init_flag = 1;
 }
 
+/* Derive the length of an instruction from its first byte.  */
+
+static inline int
+s390_insn_length (const bfd_byte *buffer)
+{
+  /* 00xxxxxx -> 2, 01xxxxxx/10xxxxxx -> 4, 11xxxxxx -> 6.  */
+  return ((buffer[0] >> 6) + 3) & ~1U;
+}
+
+/* Match the instruction in BUFFER against the given OPCODE, excluding
+   the first byte.  */
+
+static inline int
+s390_insn_matches_opcode (const bfd_byte *buffer,
+			  const struct s390_opcode *opcode)
+{
+  return (buffer[1] & opcode->mask[1]) == opcode->opcode[1]
+    && (buffer[2] & opcode->mask[2]) == opcode->opcode[2]
+    && (buffer[3] & opcode->mask[3]) == opcode->opcode[3]
+    && (buffer[4] & opcode->mask[4]) == opcode->opcode[4]
+    && (buffer[5] & opcode->mask[5]) == opcode->opcode[5];
+}
+
+union operand_value
+{
+  int i;
+  unsigned int u;
+};
+
 /* Extracts an operand value from an instruction.  */
 /* We do not perform the shift operation for larl-type address
    operands here since that would lead to an overflow of the 32 bit
    integer value.  Instead the shift operation is done when printing
-   the operand in print_insn_s390.  */
+   the operand.  */
 
-static inline unsigned int
-s390_extract_operand (unsigned char *insn, const struct s390_operand *operand)
+static inline union operand_value
+s390_extract_operand (const bfd_byte *insn,
+		      const struct s390_operand *operand)
 {
+  union operand_value ret;
   unsigned int val;
   int bits;
 
@@ -99,15 +126,97 @@ s390_extract_operand (unsigned char *ins
   if (operand->bits == 20 && operand->shift == 20)
     val = (val & 0xff) << 12 | (val & 0xfff00) >> 8;
 
-  /* Sign extend value if the operand is signed or pc relative.  */
-  if ((operand->flags & (S390_OPERAND_SIGNED | S390_OPERAND_PCREL))
-      && (val & (1U << (operand->bits - 1))))
-    val |= (-1U << (operand->bits - 1)) << 1;
-
-  /* Length x in an instructions has real length x + 1.  */
-  if (operand->flags & S390_OPERAND_LENGTH)
-    val++;
-  return val;
+  /* Sign extend value if the operand is signed or pc relative.  Avoid
+     integer overflows.  */
+  if (operand->flags & (S390_OPERAND_SIGNED | S390_OPERAND_PCREL))
+    {
+      unsigned int m = 1U << (operand->bits - 1);
+
+      if (val >= m)
+	ret.i = (int) (val - m) - 1 - (int) (m - 1U);
+      else
+	ret.i = (int) val;
+    }
+  else if (operand->flags & S390_OPERAND_LENGTH)
+    /* Length x in an instruction has real length x + 1.  */
+    ret.u = val + 1;
+  else
+    ret.u = val;
+
+  return ret;
+}
+
+/* Print the S390 instruction in BUFFER, assuming that it matches the
+   given OPCODE.  */
+
+static void
+s390_print_insn_with_opcode (bfd_vma memaddr,
+			     struct disassemble_info *info,
+			     const bfd_byte *buffer,
+			     const struct s390_opcode *opcode)
+{
+  const unsigned char *opindex;
+  char separator;
+
+  /* Mnemonic.  */
+  info->fprintf_func (info->stream, "%s", opcode->name);
+
+  /* Operands.  */
+  separator = '\t';
+  for (opindex = opcode->operands; *opindex != 0; opindex++)
+    {
+      const struct s390_operand *operand = s390_operands + *opindex;
+      union operand_value val = s390_extract_operand (buffer, operand);
+      unsigned long flags = operand->flags;
+
+      if ((flags & S390_OPERAND_INDEX) && val.u == 0)
+	continue;
+      if ((flags & S390_OPERAND_BASE) &&
+	  val.u == 0 && separator == '(')
+	{
+	  separator = ',';
+	  continue;
+	}
+
+      info->fprintf_func (info->stream, "%c", separator);
+
+      if (flags & S390_OPERAND_GPR)
+	info->fprintf_func (info->stream, "%%r%u", val.u);
+      else if (flags & S390_OPERAND_FPR)
+	info->fprintf_func (info->stream, "%%f%u", val.u);
+      else if (flags & S390_OPERAND_AR)
+	info->fprintf_func (info->stream, "%%a%u", val.u);
+      else if (flags & S390_OPERAND_CR)
+	info->fprintf_func (info->stream, "%%c%u", val.u);
+      else if (flags & S390_OPERAND_PCREL)
+	info->print_address_func (memaddr + val.i + val.i, info);
+      else if (flags & S390_OPERAND_SIGNED)
+	info->fprintf_func (info->stream, "%i", val.i);
+      else
+	info->fprintf_func (info->stream, "%u", val.u);
+
+      if (flags & S390_OPERAND_DISP)
+	separator = '(';
+      else if (flags & S390_OPERAND_BASE)
+	{
+	  info->fprintf_func (info->stream, ")");
+	  separator = ',';
+	}
+      else
+	separator = ',';
+    }
+}
+
+/* Check whether opcode A's mask is more specific than that of B.  */
+
+static int
+opcode_mask_more_specific (const struct s390_opcode *a,
+			   const struct s390_opcode *b)
+{
+  return (((int) a->mask[0] + a->mask[1] + a->mask[2]
+	   + a->mask[3] + a->mask[4] + a->mask[5])
+	  > ((int) b->mask[0] + b->mask[1] + b->mask[2]
+	     + b->mask[3] + b->mask[4] + b->mask[5]));
 }
 
 /* Print a S390 instruction.  */
@@ -116,11 +225,9 @@ int
 print_insn_s390 (bfd_vma memaddr, struct disassemble_info *info)
 {
   bfd_byte buffer[6];
-  const struct s390_opcode *opcode;
-  const struct s390_opcode *opcode_end;
+  const struct s390_opcode *opcode = NULL;
   unsigned int value;
   int status, opsize, bufsize;
-  char separator;
 
   if (init_flag == 0)
     init_disasm (info);
@@ -130,156 +237,72 @@ print_insn_s390 (bfd_vma memaddr, struct
 
   /* Every S390 instruction is max 6 bytes long.  */
   memset (buffer, 0, 6);
-  status = (*info->read_memory_func) (memaddr, buffer, 6, info);
+  status = info->read_memory_func (memaddr, buffer, 6, info);
   if (status != 0)
     {
       for (bufsize = 0; bufsize < 6; bufsize++)
-	if ((*info->read_memory_func) (memaddr, buffer, bufsize + 1, info) != 0)
+	if (info->read_memory_func (memaddr, buffer, bufsize + 1, info) != 0)
 	  break;
       if (bufsize <= 0)
 	{
-	  (*info->memory_error_func) (status, memaddr, info);
+	  info->memory_error_func (status, memaddr, info);
 	  return -1;
 	}
-      /* Opsize calculation looks strange but it works
-	 00xxxxxx -> 2 bytes, 01xxxxxx/10xxxxxx -> 4 bytes,
-	 11xxxxxx -> 6 bytes.  */
-      opsize = ((((buffer[0] >> 6) + 1) >> 1) + 1) << 1;
+      opsize = s390_insn_length (buffer);
       status = opsize > bufsize;
     }
   else
     {
       bufsize = 6;
-      opsize = ((((buffer[0] >> 6) + 1) >> 1) + 1) << 1;
+      opsize = s390_insn_length (buffer);
     }
 
   if (status == 0)
     {
       const struct s390_opcode *op;
 
-      /* Find the first match in the opcode table.  */
-      opcode_end = s390_opcodes + s390_num_opcodes;
-      for (opcode = s390_opcodes + opc_index[(int) buffer[0]];
-	   (opcode < opcode_end) && (buffer[0] == opcode->opcode[0]);
-	   opcode++)
+      /* Find the "best match" in the opcode table.  */
+      for (op = s390_opcodes + opc_index[buffer[0]];
+	   op != s390_opcodes + s390_num_opcodes
+	     && op->opcode[0] == buffer[0];
+	   op++)
 	{
-	  const struct s390_operand *operand;
-	  const unsigned char *opindex;
-
-	  /* Check architecture.  */
-	  if (!(opcode->modes & current_arch_mask))
-	    continue;
-
-	  /* Check signature of the opcode.  */
-	  if ((buffer[1] & opcode->mask[1]) != opcode->opcode[1]
-	      || (buffer[2] & opcode->mask[2]) != opcode->opcode[2]
-	      || (buffer[3] & opcode->mask[3]) != opcode->opcode[3]
-	      || (buffer[4] & opcode->mask[4]) != opcode->opcode[4]
-	      || (buffer[5] & opcode->mask[5]) != opcode->opcode[5])
-	    continue;
-
-	  /* Advance to an opcode with a more specific mask.  */
-	  for (op = opcode + 1; op < opcode_end; op++)
-	    {
-	      if ((buffer[0] & op->mask[0]) != op->opcode[0])
-		break;
-
-	      if ((buffer[1] & op->mask[1]) != op->opcode[1]
-		  || (buffer[2] & op->mask[2]) != op->opcode[2]
-		  || (buffer[3] & op->mask[3]) != op->opcode[3]
-		  || (buffer[4] & op->mask[4]) != op->opcode[4]
-		  || (buffer[5] & op->mask[5]) != op->opcode[5])
-		continue;
-
-	      if (((int)opcode->mask[0] + opcode->mask[1] +
-		   opcode->mask[2] + opcode->mask[3] +
-		   opcode->mask[4] + opcode->mask[5]) <
-		  ((int)op->mask[0] + op->mask[1] +
-		   op->mask[2] + op->mask[3] +
-		   op->mask[4] + op->mask[5]))
-		opcode = op;
-	    }
-
-	  /* The instruction is valid.  */
-	  if (opcode->operands[0] != 0)
-	    (*info->fprintf_func) (info->stream, "%s\t", opcode->name);
-	  else
-	    (*info->fprintf_func) (info->stream, "%s", opcode->name);
-
-	  /* Extract the operands.  */
-	  separator = 0;
-	  for (opindex = opcode->operands; *opindex != 0; opindex++)
-	    {
-	      operand = s390_operands + *opindex;
-	      value = s390_extract_operand (buffer, operand);
-
-	      if ((operand->flags & S390_OPERAND_INDEX) && value == 0)
-		continue;
-	      if ((operand->flags & S390_OPERAND_BASE) &&
-		  value == 0 && separator == '(')
-		{
-		  separator = ',';
-		  continue;
-		}
-
-	      if (separator)
-		(*info->fprintf_func) (info->stream, "%c", separator);
-
-	      if (operand->flags & S390_OPERAND_GPR)
-		(*info->fprintf_func) (info->stream, "%%r%i", value);
-	      else if (operand->flags & S390_OPERAND_FPR)
-		(*info->fprintf_func) (info->stream, "%%f%i", value);
-	      else if (operand->flags & S390_OPERAND_AR)
-		(*info->fprintf_func) (info->stream, "%%a%i", value);
-	      else if (operand->flags & S390_OPERAND_CR)
-		(*info->fprintf_func) (info->stream, "%%c%i", value);
-	      else if (operand->flags & S390_OPERAND_PCREL)
-		(*info->print_address_func) (memaddr + (int)value + (int)value,
-					     info);
-	      else if (operand->flags & S390_OPERAND_SIGNED)
-		(*info->fprintf_func) (info->stream, "%i", (int) value);
-	      else
-		(*info->fprintf_func) (info->stream, "%u", value);
-
-	      if (operand->flags & S390_OPERAND_DISP)
-		{
-		  separator = '(';
-		}
-	      else if (operand->flags & S390_OPERAND_BASE)
-		{
-		  (*info->fprintf_func) (info->stream, ")");
-		  separator = ',';
-		}
-	      else
-		separator = ',';
-	    }
-
-	  /* Found instruction, printed it, return its size.  */
-	  return opsize;
+	  if ((op->modes & current_arch_mask)
+	      && s390_insn_matches_opcode (buffer, op)
+	      && (opcode == NULL
+		  || opcode_mask_more_specific (op, opcode)))
+	    opcode = op;
 	}
-      /* No matching instruction found, fall through to hex print.  */
     }
 
+  if (opcode != NULL)
+    {
+      /* The instruction is valid.  Print it and return its size.  */
+      s390_print_insn_with_opcode (memaddr, info, buffer, opcode);
+      return opsize;
+    }
+
+  /* Fall back to hex print.  */
   if (bufsize >= 4)
     {
       value = (unsigned int) buffer[0];
       value = (value << 8) + (unsigned int) buffer[1];
       value = (value << 8) + (unsigned int) buffer[2];
       value = (value << 8) + (unsigned int) buffer[3];
-      (*info->fprintf_func) (info->stream, ".long\t0x%08x", value);
+      info->fprintf_func (info->stream, ".long\t0x%08x", value);
       return 4;
     }
   else if (bufsize >= 2)
     {
       value = (unsigned int) buffer[0];
       value = (value << 8) + (unsigned int) buffer[1];
-      (*info->fprintf_func) (info->stream, ".short\t0x%04x", value);
+      info->fprintf_func (info->stream, ".short\t0x%04x", value);
       return 2;
     }
   else
     {
       value = (unsigned int) buffer[0];
-      (*info->fprintf_func) (info->stream, ".byte\t0x%02x", value);
+      info->fprintf_func (info->stream, ".byte\t0x%02x", value);
       return 1;
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/s390-mkopc.c ./opcodes/s390-mkopc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/s390-mkopc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/s390-mkopc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* s390-mkopc.c -- Generates opcode table out of s390-opc.txt
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/s390-opc.c ./opcodes/s390-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/s390-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/s390-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* s390-opc.c -- S390 opcode list
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/s390-opc.txt ./opcodes/s390-opc.txt
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/s390-opc.txt	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/s390-opc.txt	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 #  S/390 opcodes list. Use s390-mkopc to convert it into the opcode table.
-#  Copyright (C) 2000-2014 Free Software Foundation, Inc.
+#  Copyright (C) 2000-2015 Free Software Foundation, Inc.
 #  Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
 5a a RX_RRRD "add" g5 esa,zarch
 6a ad RX_FRRD "add normalized (long)" g5 esa,zarch
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/score7-dis.c ./opcodes/score7-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/score7-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/score7-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Instruction printing code for Score
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by:
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/score-dis.c ./opcodes/score-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/score-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/score-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Instruction printing code for Score
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
    Contributed by:
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/score-opc.h ./opcodes/score-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/score-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/score-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
    
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh64-dis.c ./opcodes/sh64-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh64-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/sh64-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble SH64 instructions.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh64-opc.c ./opcodes/sh64-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh64-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/sh64-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions for SH64 opcodes.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh64-opc.h ./opcodes/sh64-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh64-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/sh64-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Declarations for SH64 opcodes.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh-dis.c ./opcodes/sh-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/sh-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble SH instructions.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh-opc.h ./opcodes/sh-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sh-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/sh-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Definitions for SH opcodes.
-   Copyright (C) 1993-2014 Free Software Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sparc-dis.c ./opcodes/sparc-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sparc-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/sparc-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print SPARC instructions.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -106,7 +106,7 @@ static char *v9a_asr_reg_names[] =
 {
   "pcr", "pic", "dcr", "gsr", "set_softint", "clear_softint",
   "softint", "tick_cmpr", "stick", "stick_cmpr", "cfr",
-  "pause", "cps"
+  "pause", "mwait"
 };
 
 /* Macros used to extract instruction fields.  Not all fields have
@@ -656,6 +656,7 @@ print_insn_sparc (bfd_vma memaddr, disas
 		    break;
 		  case 'H':	/* Double/even.  */
 		  case 'J':	/* Quad/multiple of 4.  */
+		  case '}':     /* Double/even.  */
 		    fregx (X_RD (insn));
 		    break;
 #undef	freg
@@ -793,6 +794,10 @@ print_insn_sparc (bfd_vma memaddr, disas
 		    (*info->fprintf_func) (stream, "%%fprs");
 		    break;
 
+		  case '{':
+		    (*info->fprintf_func) (stream, "%%mcdper");
+		    break;
+
 		  case 'o':
 		    (*info->fprintf_func) (stream, "%%asi");
 		    break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sparc-opc.c ./opcodes/sparc-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sparc-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/sparc-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table of opcodes for the sparc.
-   Copyright (C) 1989-2014 Free Software Foundation, Inc.
+   Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -176,949 +176,951 @@ sparc_opcode_lookup_arch (const char *na
 /* Entries for commutative arithmetic operations.  */
 /* ??? More entries can make use of this.  */
 #define COMMUTEOP(opcode, op3, arch_mask) \
-{ opcode,	F3(2, op3, 0), F3(~2, ~op3, ~0)|ASI(~0),	"1,2,d", 0, 0, arch_mask }, \
-{ opcode,	F3(2, op3, 1), F3(~2, ~op3, ~1),		"1,i,d", 0, 0, arch_mask }, \
-{ opcode,	F3(2, op3, 1), F3(~2, ~op3, ~1),		"i,1,d", 0, 0, arch_mask }
+{ opcode,	F3(2, op3, 0), F3(~2, ~op3, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, arch_mask }, \
+{ opcode,	F3(2, op3, 1), F3(~2, ~op3, ~1),		"1,i,d", 0, 0, 0, arch_mask }, \
+{ opcode,	F3(2, op3, 1), F3(~2, ~op3, ~1),		"i,1,d", 0, 0, 0, arch_mask }
 
 const struct sparc_opcode sparc_opcodes[] = {
 
-{ "ld",	F3(3, 0x00, 0), F3(~3, ~0x00, ~0),		"[1+2],d", 0, 0, v6 },
-{ "ld",	F3(3, 0x00, 0), F3(~3, ~0x00, ~0)|RS2_G0,	"[1],d", 0, 0, v6 }, /* ld [rs1+%g0],d */
-{ "ld",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1),		"[1+i],d", 0, 0, v6 },
-{ "ld",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1),		"[i+1],d", 0, 0, v6 },
-{ "ld",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1)|RS1_G0,	"[i],d", 0, 0, v6 },
-{ "ld",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1)|SIMM13(~0),	"[1],d", 0, 0, v6 }, /* ld [rs1+0],d */
-{ "ld",	F3(3, 0x20, 0), F3(~3, ~0x20, ~0),		"[1+2],g", 0, 0, v6 },
-{ "ld",	F3(3, 0x20, 0), F3(~3, ~0x20, ~0)|RS2_G0,	"[1],g", 0, 0, v6 }, /* ld [rs1+%g0],d */
-{ "ld",	F3(3, 0x20, 1), F3(~3, ~0x20, ~1),		"[1+i],g", 0, 0, v6 },
-{ "ld",	F3(3, 0x20, 1), F3(~3, ~0x20, ~1),		"[i+1],g", 0, 0, v6 },
-{ "ld",	F3(3, 0x20, 1), F3(~3, ~0x20, ~1)|RS1_G0,	"[i],g", 0, 0, v6 },
-{ "ld",	F3(3, 0x20, 1), F3(~3, ~0x20, ~1)|SIMM13(~0),	"[1],g", 0, 0, v6 }, /* ld [rs1+0],d */
-
-{ "ld",	F3(3, 0x21, 0), F3(~3, ~0x21, ~0)|RD(~0),	"[1+2],F", 0, 0, v6 },
-{ "ld",	F3(3, 0x21, 0), F3(~3, ~0x21, ~0)|RS2_G0|RD(~0),"[1],F", 0, 0, v6 }, /* ld [rs1+%g0],d */
-{ "ld",	F3(3, 0x21, 1), F3(~3, ~0x21, ~1)|RD(~0),	"[1+i],F", 0, 0, v6 },
-{ "ld",	F3(3, 0x21, 1), F3(~3, ~0x21, ~1)|RD(~0),	"[i+1],F", 0, 0, v6 },
-{ "ld",	F3(3, 0x21, 1), F3(~3, ~0x21, ~1)|RS1_G0|RD(~0),"[i],F", 0, 0, v6 },
-{ "ld",	F3(3, 0x21, 1), F3(~3, ~0x21, ~1)|SIMM13(~0)|RD(~0),"[1],F", 0, 0, v6 }, /* ld [rs1+0],d */
-
-{ "ld",	F3(3, 0x30, 0), F3(~3, ~0x30, ~0),		"[1+2],D", 0, 0, v6notv9 },
-{ "ld",	F3(3, 0x30, 0), F3(~3, ~0x30, ~0)|RS2_G0,	"[1],D", 0, 0, v6notv9 }, /* ld [rs1+%g0],d */
-{ "ld",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1),		"[1+i],D", 0, 0, v6notv9 },
-{ "ld",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1),		"[i+1],D", 0, 0, v6notv9 },
-{ "ld",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1)|RS1_G0,	"[i],D", 0, 0, v6notv9 },
-{ "ld",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1)|SIMM13(~0),	"[1],D", 0, 0, v6notv9 }, /* ld [rs1+0],d */
-{ "ld",	F3(3, 0x31, 0), F3(~3, ~0x31, ~0),		"[1+2],C", 0, 0, v6notv9 },
-{ "ld",	F3(3, 0x31, 0), F3(~3, ~0x31, ~0)|RS2_G0,	"[1],C", 0, 0, v6notv9 }, /* ld [rs1+%g0],d */
-{ "ld",	F3(3, 0x31, 1), F3(~3, ~0x31, ~1),		"[1+i],C", 0, 0, v6notv9 },
-{ "ld",	F3(3, 0x31, 1), F3(~3, ~0x31, ~1),		"[i+1],C", 0, 0, v6notv9 },
-{ "ld",	F3(3, 0x31, 1), F3(~3, ~0x31, ~1)|RS1_G0,	"[i],C", 0, 0, v6notv9 },
-{ "ld",	F3(3, 0x31, 1), F3(~3, ~0x31, ~1)|SIMM13(~0),	"[1],C", 0, 0, v6notv9 }, /* ld [rs1+0],d */
+{ "ld",	F3(3, 0x00, 0), F3(~3, ~0x00, ~0),		"[1+2],d", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x00, 0), F3(~3, ~0x00, ~0)|RS2_G0,	"[1],d", 0, 0, 0, v6 }, /* ld [rs1+%g0],d */
+{ "ld",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1),		"[1+i],d", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1),		"[i+1],d", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v6 }, /* ld [rs1+0],d */
+{ "ld",	F3(3, 0x20, 0), F3(~3, ~0x20, ~0),		"[1+2],g", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x20, 0), F3(~3, ~0x20, ~0)|RS2_G0,	"[1],g", 0, 0, 0, v6 }, /* ld [rs1+%g0],d */
+{ "ld",	F3(3, 0x20, 1), F3(~3, ~0x20, ~1),		"[1+i],g", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x20, 1), F3(~3, ~0x20, ~1),		"[i+1],g", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x20, 1), F3(~3, ~0x20, ~1)|RS1_G0,	"[i],g", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x20, 1), F3(~3, ~0x20, ~1)|SIMM13(~0),	"[1],g", 0, 0, 0, v6 }, /* ld [rs1+0],d */
+
+{ "ld",	F3(3, 0x21, 0), F3(~3, ~0x21, ~0)|RD(~0),	"[1+2],F", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x21, 0), F3(~3, ~0x21, ~0)|RS2_G0|RD(~0),"[1],F", 0, 0, 0, v6 }, /* ld [rs1+%g0],d */
+{ "ld",	F3(3, 0x21, 1), F3(~3, ~0x21, ~1)|RD(~0),	"[1+i],F", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x21, 1), F3(~3, ~0x21, ~1)|RD(~0),	"[i+1],F", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x21, 1), F3(~3, ~0x21, ~1)|RS1_G0|RD(~0),"[i],F", 0, 0, 0, v6 },
+{ "ld",	F3(3, 0x21, 1), F3(~3, ~0x21, ~1)|SIMM13(~0)|RD(~0),"[1],F", 0, 0, 0, v6 }, /* ld [rs1+0],d */
+
+{ "ld",	F3(3, 0x30, 0), F3(~3, ~0x30, ~0),		"[1+2],D", 0, 0, 0, v6notv9 },
+{ "ld",	F3(3, 0x30, 0), F3(~3, ~0x30, ~0)|RS2_G0,	"[1],D", 0, 0, 0, v6notv9 }, /* ld [rs1+%g0],d */
+{ "ld",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1),		"[1+i],D", 0, 0, 0, v6notv9 },
+{ "ld",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1),		"[i+1],D", 0, 0, 0, v6notv9 },
+{ "ld",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1)|RS1_G0,	"[i],D", 0, 0, 0, v6notv9 },
+{ "ld",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1)|SIMM13(~0),	"[1],D", 0, 0, 0, v6notv9 }, /* ld [rs1+0],d */
+{ "ld",	F3(3, 0x31, 0), F3(~3, ~0x31, ~0),		"[1+2],C", 0, 0, 0, v6notv9 },
+{ "ld",	F3(3, 0x31, 0), F3(~3, ~0x31, ~0)|RS2_G0,	"[1],C", 0, 0, 0, v6notv9 }, /* ld [rs1+%g0],d */
+{ "ld",	F3(3, 0x31, 1), F3(~3, ~0x31, ~1),		"[1+i],C", 0, 0, 0, v6notv9 },
+{ "ld",	F3(3, 0x31, 1), F3(~3, ~0x31, ~1),		"[i+1],C", 0, 0, 0, v6notv9 },
+{ "ld",	F3(3, 0x31, 1), F3(~3, ~0x31, ~1)|RS1_G0,	"[i],C", 0, 0, 0, v6notv9 },
+{ "ld",	F3(3, 0x31, 1), F3(~3, ~0x31, ~1)|SIMM13(~0),	"[1],C", 0, 0, 0, v6notv9 }, /* ld [rs1+0],d */
 
 /* The v9 LDUW is the same as the old 'ld' opcode, it is not the same as the
    'ld' pseudo-op in v9.  */
-{ "lduw",	F3(3, 0x00, 0), F3(~3, ~0x00, ~0),		"[1+2],d", F_ALIAS, 0, v9 },
-{ "lduw",	F3(3, 0x00, 0), F3(~3, ~0x00, ~0)|RS2_G0,	"[1],d", F_ALIAS, 0, v9 }, /* ld [rs1+%g0],d */
-{ "lduw",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1),		"[1+i],d", F_ALIAS, 0, v9 },
-{ "lduw",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1),		"[i+1],d", F_ALIAS, 0, v9 },
-{ "lduw",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1)|RS1_G0,	"[i],d", F_ALIAS, 0, v9 },
-{ "lduw",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1)|SIMM13(~0),	"[1],d", F_ALIAS, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldtw",	F3(3, 0x03, 0), F3(~3, ~0x03, ~0)|ASI(~0),	"[1+2],d", 0, 0, v9 },
-{ "ldtw",	F3(3, 0x03, 0), F3(~3, ~0x03, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, v9 }, /* ldd [rs1+%g0],d */
-{ "ldtw",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1),		"[1+i],d", 0, 0, v9 },
-{ "ldtw",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1),		"[i+1],d", 0, 0, v9 },
-{ "ldtw",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1)|RS1_G0,	"[i],d", 0, 0, v9 },
-{ "ldtw",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1)|SIMM13(~0),	"[1],d", 0, 0, v9 }, /* ldd [rs1+0],d */
-
-{ "ldd",	F3(3, 0x03, 0), F3(~3, ~0x03, ~0)|ASI(~0),	"[1+2],d", F_ALIAS, 0, v6 },
-{ "ldd",	F3(3, 0x03, 0), F3(~3, ~0x03, ~0)|ASI_RS2(~0),	"[1],d", F_ALIAS, 0, v6 }, /* ldd [rs1+%g0],d */
-{ "ldd",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1),		"[1+i],d", F_ALIAS, 0, v6 },
-{ "ldd",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1),		"[i+1],d", F_ALIAS, 0, v6 },
-{ "ldd",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1)|RS1_G0,	"[i],d", F_ALIAS, 0, v6 },
-{ "ldd",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1)|SIMM13(~0),	"[1],d", F_ALIAS, 0, v6 }, /* ldd [rs1+0],d */
-{ "ldd",	F3(3, 0x23, 0), F3(~3, ~0x23, ~0)|ASI(~0),	"[1+2],H", F_ALIAS, 0, v6 },
-{ "ldd",	F3(3, 0x23, 0), F3(~3, ~0x23, ~0)|ASI_RS2(~0),	"[1],H", F_ALIAS, 0, v6 }, /* ldd [rs1+%g0],d */
-{ "ldd",	F3(3, 0x23, 1), F3(~3, ~0x23, ~1),		"[1+i],H", F_ALIAS, 0, v6 },
-{ "ldd",	F3(3, 0x23, 1), F3(~3, ~0x23, ~1),		"[i+1],H", F_ALIAS, 0, v6 },
-{ "ldd",	F3(3, 0x23, 1), F3(~3, ~0x23, ~1)|RS1_G0,	"[i],H", F_ALIAS, 0, v6 },
-{ "ldd",	F3(3, 0x23, 1), F3(~3, ~0x23, ~1)|SIMM13(~0),	"[1],H", F_ALIAS, 0, v6 }, /* ldd [rs1+0],d */
-
-{ "ldd",	F3(3, 0x33, 0), F3(~3, ~0x33, ~0)|ASI(~0),	"[1+2],D", 0, 0, v6notv9 },
-{ "ldd",	F3(3, 0x33, 0), F3(~3, ~0x33, ~0)|ASI_RS2(~0),	"[1],D", 0, 0, v6notv9 }, /* ldd [rs1+%g0],d */
-{ "ldd",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1),		"[1+i],D", 0, 0, v6notv9 },
-{ "ldd",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1),		"[i+1],D", 0, 0, v6notv9 },
-{ "ldd",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1)|RS1_G0,	"[i],D", 0, 0, v6notv9 },
-{ "ldd",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1)|SIMM13(~0),	"[1],D", 0, 0, v6notv9 }, /* ldd [rs1+0],d */
-
-{ "ldq",	F3(3, 0x22, 0), F3(~3, ~0x22, ~0)|ASI(~0),	"[1+2],J", 0, 0, v9 },
-{ "ldq",	F3(3, 0x22, 0), F3(~3, ~0x22, ~0)|ASI_RS2(~0),	"[1],J", 0, 0, v9 }, /* ldd [rs1+%g0],d */
-{ "ldq",	F3(3, 0x22, 1), F3(~3, ~0x22, ~1),		"[1+i],J", 0, 0, v9 },
-{ "ldq",	F3(3, 0x22, 1), F3(~3, ~0x22, ~1),		"[i+1],J", 0, 0, v9 },
-{ "ldq",	F3(3, 0x22, 1), F3(~3, ~0x22, ~1)|RS1_G0,	"[i],J", 0, 0, v9 },
-{ "ldq",	F3(3, 0x22, 1), F3(~3, ~0x22, ~1)|SIMM13(~0),	"[1],J", 0, 0, v9 }, /* ldd [rs1+0],d */
-
-{ "ldsb",	F3(3, 0x09, 0), F3(~3, ~0x09, ~0)|ASI(~0),	"[1+2],d", 0, 0, v6 },
-{ "ldsb",	F3(3, 0x09, 0), F3(~3, ~0x09, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, v6 }, /* ldsb [rs1+%g0],d */
-{ "ldsb",	F3(3, 0x09, 1), F3(~3, ~0x09, ~1),		"[1+i],d", 0, 0, v6 },
-{ "ldsb",	F3(3, 0x09, 1), F3(~3, ~0x09, ~1),		"[i+1],d", 0, 0, v6 },
-{ "ldsb",	F3(3, 0x09, 1), F3(~3, ~0x09, ~1)|RS1_G0,	"[i],d", 0, 0, v6 },
-{ "ldsb",	F3(3, 0x09, 1), F3(~3, ~0x09, ~1)|SIMM13(~0),	"[1],d", 0, 0, v6 }, /* ldsb [rs1+0],d */
-
-{ "ldsh",	F3(3, 0x0a, 0), F3(~3, ~0x0a, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, v6 }, /* ldsh [rs1+%g0],d */
-{ "ldsh",	F3(3, 0x0a, 0), F3(~3, ~0x0a, ~0)|ASI(~0),	"[1+2],d", 0, 0, v6 },
-{ "ldsh",	F3(3, 0x0a, 1), F3(~3, ~0x0a, ~1),		"[1+i],d", 0, 0, v6 },
-{ "ldsh",	F3(3, 0x0a, 1), F3(~3, ~0x0a, ~1),		"[i+1],d", 0, 0, v6 },
-{ "ldsh",	F3(3, 0x0a, 1), F3(~3, ~0x0a, ~1)|RS1_G0,	"[i],d", 0, 0, v6 },
-{ "ldsh",	F3(3, 0x0a, 1), F3(~3, ~0x0a, ~1)|SIMM13(~0),	"[1],d", 0, 0, v6 }, /* ldsh [rs1+0],d */
-
-{ "ldstub",	F3(3, 0x0d, 0), F3(~3, ~0x0d, ~0)|ASI(~0),	"[1+2],d", 0, 0, v6 },
-{ "ldstub",	F3(3, 0x0d, 0), F3(~3, ~0x0d, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, v6 }, /* ldstub [rs1+%g0],d */
-{ "ldstub",	F3(3, 0x0d, 1), F3(~3, ~0x0d, ~1),		"[1+i],d", 0, 0, v6 },
-{ "ldstub",	F3(3, 0x0d, 1), F3(~3, ~0x0d, ~1),		"[i+1],d", 0, 0, v6 },
-{ "ldstub",	F3(3, 0x0d, 1), F3(~3, ~0x0d, ~1)|RS1_G0,	"[i],d", 0, 0, v6 },
-{ "ldstub",	F3(3, 0x0d, 1), F3(~3, ~0x0d, ~1)|SIMM13(~0),	"[1],d", 0, 0, v6 }, /* ldstub [rs1+0],d */
-
-{ "ldsw",	F3(3, 0x08, 0), F3(~3, ~0x08, ~0)|ASI(~0),	"[1+2],d", 0, 0, v9 },
-{ "ldsw",	F3(3, 0x08, 0), F3(~3, ~0x08, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, v9 }, /* ldsw [rs1+%g0],d */
-{ "ldsw",	F3(3, 0x08, 1), F3(~3, ~0x08, ~1),		"[1+i],d", 0, 0, v9 },
-{ "ldsw",	F3(3, 0x08, 1), F3(~3, ~0x08, ~1),		"[i+1],d", 0, 0, v9 },
-{ "ldsw",	F3(3, 0x08, 1), F3(~3, ~0x08, ~1)|RS1_G0,	"[i],d", 0, 0, v9 },
-{ "ldsw",	F3(3, 0x08, 1), F3(~3, ~0x08, ~1)|SIMM13(~0),	"[1],d", 0, 0, v9 }, /* ldsw [rs1+0],d */
-
-{ "ldub",	F3(3, 0x01, 0), F3(~3, ~0x01, ~0)|ASI(~0),	"[1+2],d", 0, 0, v6 },
-{ "ldub",	F3(3, 0x01, 0), F3(~3, ~0x01, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, v6 }, /* ldub [rs1+%g0],d */
-{ "ldub",	F3(3, 0x01, 1), F3(~3, ~0x01, ~1),		"[1+i],d", 0, 0, v6 },
-{ "ldub",	F3(3, 0x01, 1), F3(~3, ~0x01, ~1),		"[i+1],d", 0, 0, v6 },
-{ "ldub",	F3(3, 0x01, 1), F3(~3, ~0x01, ~1)|RS1_G0,	"[i],d", 0, 0, v6 },
-{ "ldub",	F3(3, 0x01, 1), F3(~3, ~0x01, ~1)|SIMM13(~0),	"[1],d", 0, 0, v6 }, /* ldub [rs1+0],d */
-
-{ "lduh",	F3(3, 0x02, 0), F3(~3, ~0x02, ~0)|ASI(~0),	"[1+2],d", 0, 0, v6 },
-{ "lduh",	F3(3, 0x02, 0), F3(~3, ~0x02, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, v6 }, /* lduh [rs1+%g0],d */
-{ "lduh",	F3(3, 0x02, 1), F3(~3, ~0x02, ~1),		"[1+i],d", 0, 0, v6 },
-{ "lduh",	F3(3, 0x02, 1), F3(~3, ~0x02, ~1),		"[i+1],d", 0, 0, v6 },
-{ "lduh",	F3(3, 0x02, 1), F3(~3, ~0x02, ~1)|RS1_G0,	"[i],d", 0, 0, v6 },
-{ "lduh",	F3(3, 0x02, 1), F3(~3, ~0x02, ~1)|SIMM13(~0),	"[1],d", 0, 0, v6 }, /* lduh [rs1+0],d */
-
-{ "ldx",	F3(3, 0x0b, 0), F3(~3, ~0x0b, ~0)|ASI(~0),	"[1+2],d", 0, 0, v9 },
-{ "ldx",	F3(3, 0x0b, 0), F3(~3, ~0x0b, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, v9 }, /* ldx [rs1+%g0],d */
-{ "ldx",	F3(3, 0x0b, 1), F3(~3, ~0x0b, ~1),		"[1+i],d", 0, 0, v9 },
-{ "ldx",	F3(3, 0x0b, 1), F3(~3, ~0x0b, ~1),		"[i+1],d", 0, 0, v9 },
-{ "ldx",	F3(3, 0x0b, 1), F3(~3, ~0x0b, ~1)|RS1_G0,	"[i],d", 0, 0, v9 },
-{ "ldx",	F3(3, 0x0b, 1), F3(~3, ~0x0b, ~1)|SIMM13(~0),	"[1],d", 0, 0, v9 }, /* ldx [rs1+0],d */
-
-{ "ldx",	F3(3, 0x21, 0)|RD(1), F3(~3, ~0x21, ~0)|RD(~1),	"[1+2],F", 0, 0, v9 },
-{ "ldx",	F3(3, 0x21, 0)|RD(1), F3(~3, ~0x21, ~0)|RS2_G0|RD(~1),	"[1],F", 0, 0, v9 }, /* ld [rs1+%g0],d */
-{ "ldx",	F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|RD(~1),	"[1+i],F", 0, 0, v9 },
-{ "ldx",	F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|RD(~1),	"[i+1],F", 0, 0, v9 },
-{ "ldx",	F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|RS1_G0|RD(~1),	"[i],F", 0, 0, v9 },
-{ "ldx",	F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|SIMM13(~0)|RD(~1),"[1],F", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldx", F3(3, 0x21, 0)|RD(3), F3(~3, ~0x21, ~0)|RD(~3), "[1+2],(", 0, 0, v9b },
-{ "ldx", F3(3, 0x21, 0)|RD(3), F3(~3, ~0x21, ~0)|RS2_G0|RD(~3),"[1],(", 0, 0, v9b },
-{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RD(~3), "[1+i],(", 0, 0, v9b },
-{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RD(~3), "[i+1],(", 0, 0, v9b },
-{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RS1_G0|RD(~3),"[i],(", 0, 0, v9b },
-{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|SIMM13(~0)|RD(~3),"[1],(", 0, 0, v9b },
-
-{ "lda",	F3(3, 0x10, 0), F3(~3, ~0x10, ~0),		"[1+2]A,d", 0, 0, v6 },
-{ "lda",	F3(3, 0x10, 0), F3(~3, ~0x10, ~0)|RS2_G0,	"[1]A,d", 0, 0, v6 }, /* lda [rs1+%g0],d */
-{ "lda",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "lda",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "lda",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "lda",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* ld [rs1+0],d */
-{ "lda",	F3(3, 0x30, 0), F3(~3, ~0x30, ~0),		"[1+2]A,g", 0, 0, v9 },
-{ "lda",	F3(3, 0x30, 0), F3(~3, ~0x30, ~0)|RS2_G0,	"[1]A,g", 0, 0, v9 }, /* lda [rs1+%g0],d */
-{ "lda",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1),		"[1+i]o,g", 0, 0, v9 },
-{ "lda",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1),		"[i+1]o,g", 0, 0, v9 },
-{ "lda",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1)|RS1_G0,	"[i]o,g", 0, 0, v9 },
-{ "lda",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1)|SIMM13(~0),	"[1]o,g", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldtwa",	F3(3, 0x13, 0), F3(~3, ~0x13, ~0),		"[1+2]A,d", 0, 0, v9 },
-{ "ldtwa",	F3(3, 0x13, 0), F3(~3, ~0x13, ~0)|RS2_G0,	"[1]A,d", 0, 0, v9 }, /* ldda [rs1+%g0],d */
-{ "ldtwa",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "ldtwa",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "ldtwa",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "ldtwa",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldda",	F3(3, 0x13, 0), F3(~3, ~0x13, ~0),		"[1+2]A,d", F_ALIAS, 0, v6 },
-{ "ldda",	F3(3, 0x13, 0), F3(~3, ~0x13, ~0)|RS2_G0,	"[1]A,d", F_ALIAS, 0, v6 }, /* ldda [rs1+%g0],d */
-{ "ldda",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1),		"[1+i]o,d", F_ALIAS, 0, v9 },
-{ "ldda",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1),		"[i+1]o,d", F_ALIAS, 0, v9 },
-{ "ldda",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1)|RS1_G0,	"[i]o,d", F_ALIAS, 0, v9 },
-{ "ldda",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1)|SIMM13(~0),	"[1]o,d", F_ALIAS, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldda",	F3(3, 0x33, 0), F3(~3, ~0x33, ~0),		"[1+2]A,H", 0, 0, v9 },
-{ "ldda",	F3(3, 0x33, 0), F3(~3, ~0x33, ~0)|RS2_G0,	"[1]A,H", 0, 0, v9 }, /* ldda [rs1+%g0],d */
-{ "ldda",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1),		"[1+i]o,H", 0, 0, v9 },
-{ "ldda",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1),		"[i+1]o,H", 0, 0, v9 },
-{ "ldda",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1)|RS1_G0,	"[i]o,H", 0, 0, v9 },
-{ "ldda",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1)|SIMM13(~0),	"[1]o,H", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldqa",	F3(3, 0x32, 0), F3(~3, ~0x32, ~0),		"[1+2]A,J", 0, 0, v9 },
-{ "ldqa",	F3(3, 0x32, 0), F3(~3, ~0x32, ~0)|RS2_G0,	"[1]A,J", 0, 0, v9 }, /* ldd [rs1+%g0],d */
-{ "ldqa",	F3(3, 0x32, 1), F3(~3, ~0x32, ~1),		"[1+i]o,J", 0, 0, v9 },
-{ "ldqa",	F3(3, 0x32, 1), F3(~3, ~0x32, ~1),		"[i+1]o,J", 0, 0, v9 },
-{ "ldqa",	F3(3, 0x32, 1), F3(~3, ~0x32, ~1)|RS1_G0,	"[i]o,J", 0, 0, v9 },
-{ "ldqa",	F3(3, 0x32, 1), F3(~3, ~0x32, ~1)|SIMM13(~0),	"[1]o,J", 0, 0, v9 }, /* ldd [rs1+0],d */
-
-{ "ldsba",	F3(3, 0x19, 0), F3(~3, ~0x19, ~0),		"[1+2]A,d", 0, 0, v6 },
-{ "ldsba",	F3(3, 0x19, 0), F3(~3, ~0x19, ~0)|RS2_G0,	"[1]A,d", 0, 0, v6 }, /* ldsba [rs1+%g0],d */
-{ "ldsba",	F3(3, 0x19, 1), F3(~3, ~0x19, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "ldsba",	F3(3, 0x19, 1), F3(~3, ~0x19, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "ldsba",	F3(3, 0x19, 1), F3(~3, ~0x19, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "ldsba",	F3(3, 0x19, 1), F3(~3, ~0x19, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldsha",	F3(3, 0x1a, 0), F3(~3, ~0x1a, ~0),		"[1+2]A,d", 0, 0, v6 },
-{ "ldsha",	F3(3, 0x1a, 0), F3(~3, ~0x1a, ~0)|RS2_G0,	"[1]A,d", 0, 0, v6 }, /* ldsha [rs1+%g0],d */
-{ "ldsha",	F3(3, 0x1a, 1), F3(~3, ~0x1a, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "ldsha",	F3(3, 0x1a, 1), F3(~3, ~0x1a, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "ldsha",	F3(3, 0x1a, 1), F3(~3, ~0x1a, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "ldsha",	F3(3, 0x1a, 1), F3(~3, ~0x1a, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldstuba",	F3(3, 0x1d, 0), F3(~3, ~0x1d, ~0),		"[1+2]A,d", 0, 0, v6 },
-{ "ldstuba",	F3(3, 0x1d, 0), F3(~3, ~0x1d, ~0)|RS2_G0,	"[1]A,d", 0, 0, v6 }, /* ldstuba [rs1+%g0],d */
-{ "ldstuba",	F3(3, 0x1d, 1), F3(~3, ~0x1d, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "ldstuba",	F3(3, 0x1d, 1), F3(~3, ~0x1d, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "ldstuba",	F3(3, 0x1d, 1), F3(~3, ~0x1d, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "ldstuba",	F3(3, 0x1d, 1), F3(~3, ~0x1d, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldswa",	F3(3, 0x18, 0), F3(~3, ~0x18, ~0),		"[1+2]A,d", 0, 0, v9 },
-{ "ldswa",	F3(3, 0x18, 0), F3(~3, ~0x18, ~0)|RS2_G0,	"[1]A,d", 0, 0, v9 }, /* lda [rs1+%g0],d */
-{ "ldswa",	F3(3, 0x18, 1), F3(~3, ~0x18, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "ldswa",	F3(3, 0x18, 1), F3(~3, ~0x18, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "ldswa",	F3(3, 0x18, 1), F3(~3, ~0x18, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "ldswa",	F3(3, 0x18, 1), F3(~3, ~0x18, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "lduba",	F3(3, 0x11, 0), F3(~3, ~0x11, ~0),		"[1+2]A,d", 0, 0, v6 },
-{ "lduba",	F3(3, 0x11, 0), F3(~3, ~0x11, ~0)|RS2_G0,	"[1]A,d", 0, 0, v6 }, /* lduba [rs1+%g0],d */
-{ "lduba",	F3(3, 0x11, 1), F3(~3, ~0x11, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "lduba",	F3(3, 0x11, 1), F3(~3, ~0x11, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "lduba",	F3(3, 0x11, 1), F3(~3, ~0x11, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "lduba",	F3(3, 0x11, 1), F3(~3, ~0x11, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "lduha",	F3(3, 0x12, 0), F3(~3, ~0x12, ~0),		"[1+2]A,d", 0, 0, v6 },
-{ "lduha",	F3(3, 0x12, 0), F3(~3, ~0x12, ~0)|RS2_G0,	"[1]A,d", 0, 0, v6 }, /* lduha [rs1+%g0],d */
-{ "lduha",	F3(3, 0x12, 1), F3(~3, ~0x12, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "lduha",	F3(3, 0x12, 1), F3(~3, ~0x12, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "lduha",	F3(3, 0x12, 1), F3(~3, ~0x12, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "lduha",	F3(3, 0x12, 1), F3(~3, ~0x12, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "lduwa",	F3(3, 0x10, 0), F3(~3, ~0x10, ~0),		"[1+2]A,d", F_ALIAS, 0, v9 }, /* lduwa === lda */
-{ "lduwa",	F3(3, 0x10, 0), F3(~3, ~0x10, ~0)|RS2_G0,	"[1]A,d", F_ALIAS, 0, v9 }, /* lda [rs1+%g0],d */
-{ "lduwa",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1),		"[1+i]o,d", F_ALIAS, 0, v9 },
-{ "lduwa",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1),		"[i+1]o,d", F_ALIAS, 0, v9 },
-{ "lduwa",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1)|RS1_G0,	"[i]o,d", F_ALIAS, 0, v9 },
-{ "lduwa",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1)|SIMM13(~0),	"[1]o,d", F_ALIAS, 0, v9 }, /* ld [rs1+0],d */
-
-{ "ldxa",	F3(3, 0x1b, 0), F3(~3, ~0x1b, ~0),		"[1+2]A,d", 0, 0, v9 },
-{ "ldxa",	F3(3, 0x1b, 0), F3(~3, ~0x1b, ~0)|RS2_G0,	"[1]A,d", 0, 0, v9 }, /* lda [rs1+%g0],d */
-{ "ldxa",	F3(3, 0x1b, 1), F3(~3, ~0x1b, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "ldxa",	F3(3, 0x1b, 1), F3(~3, ~0x1b, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "ldxa",	F3(3, 0x1b, 1), F3(~3, ~0x1b, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "ldxa",	F3(3, 0x1b, 1), F3(~3, ~0x1b, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* ld [rs1+0],d */
-
-{ "st",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),		"d,[1+2]", 0, 0, v6 },
-{ "st",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),		"d,[1]", 0, 0, v6 }, /* st d,[rs1+%g0] */
-{ "st",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),			"d,[1+i]", 0, 0, v6 },
-{ "st",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),			"d,[i+1]", 0, 0, v6 },
-{ "st",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,		"d,[i]", 0, 0, v6 },
-{ "st",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),		"d,[1]", 0, 0, v6 }, /* st d,[rs1+0] */
-{ "st",	F3(3, 0x24, 0), F3(~3, ~0x24, ~0)|ASI(~0),		"g,[1+2]", 0, 0, v6 },
-{ "st",	F3(3, 0x24, 0), F3(~3, ~0x24, ~0)|ASI_RS2(~0),		"g,[1]", 0, 0, v6 }, /* st d[rs1+%g0] */
-{ "st",	F3(3, 0x24, 1), F3(~3, ~0x24, ~1),			"g,[1+i]", 0, 0, v6 },
-{ "st",	F3(3, 0x24, 1), F3(~3, ~0x24, ~1),			"g,[i+1]", 0, 0, v6 },
-{ "st",	F3(3, 0x24, 1), F3(~3, ~0x24, ~1)|RS1_G0,		"g,[i]", 0, 0, v6 },
-{ "st",	F3(3, 0x24, 1), F3(~3, ~0x24, ~1)|SIMM13(~0),		"g,[1]", 0, 0, v6 }, /* st d,[rs1+0] */
-
-{ "st",	F3(3, 0x34, 0), F3(~3, ~0x34, ~0)|ASI(~0),		"D,[1+2]", 0, 0, v6notv9 },
-{ "st",	F3(3, 0x34, 0), F3(~3, ~0x34, ~0)|ASI_RS2(~0),		"D,[1]", 0, 0, v6notv9 }, /* st d,[rs1+%g0] */
-{ "st",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1),			"D,[1+i]", 0, 0, v6notv9 },
-{ "st",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1),			"D,[i+1]", 0, 0, v6notv9 },
-{ "st",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1)|RS1_G0,		"D,[i]", 0, 0, v6notv9 },
-{ "st",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1)|SIMM13(~0),		"D,[1]", 0, 0, v6notv9 }, /* st d,[rs1+0] */
-{ "st",	F3(3, 0x35, 0), F3(~3, ~0x35, ~0)|ASI(~0),		"C,[1+2]", 0, 0, v6notv9 },
-{ "st",	F3(3, 0x35, 0), F3(~3, ~0x35, ~0)|ASI_RS2(~0),		"C,[1]", 0, 0, v6notv9 }, /* st d,[rs1+%g0] */
-{ "st",	F3(3, 0x35, 1), F3(~3, ~0x35, ~1),			"C,[1+i]", 0, 0, v6notv9 },
-{ "st",	F3(3, 0x35, 1), F3(~3, ~0x35, ~1),			"C,[i+1]", 0, 0, v6notv9 },
-{ "st",	F3(3, 0x35, 1), F3(~3, ~0x35, ~1)|RS1_G0,		"C,[i]", 0, 0, v6notv9 },
-{ "st",	F3(3, 0x35, 1), F3(~3, ~0x35, ~1)|SIMM13(~0),		"C,[1]", 0, 0, v6notv9 }, /* st d,[rs1+0] */
-
-{ "st",	F3(3, 0x25, 0), F3(~3, ~0x25, ~0)|RD_G0|ASI(~0),	"F,[1+2]", 0, 0, v6 },
-{ "st",	F3(3, 0x25, 0), F3(~3, ~0x25, ~0)|RD_G0|ASI_RS2(~0),	"F,[1]", 0, 0, v6 }, /* st d,[rs1+%g0] */
-{ "st",	F3(3, 0x25, 1), F3(~3, ~0x25, ~1)|RD_G0,		"F,[1+i]", 0, 0, v6 },
-{ "st",	F3(3, 0x25, 1), F3(~3, ~0x25, ~1)|RD_G0,		"F,[i+1]", 0, 0, v6 },
-{ "st",	F3(3, 0x25, 1), F3(~3, ~0x25, ~1)|RD_G0|RS1_G0,		"F,[i]", 0, 0, v6 },
-{ "st",	F3(3, 0x25, 1), F3(~3, ~0x25, ~1)|RD_G0|SIMM13(~0),	"F,[1]", 0, 0, v6 }, /* st d,[rs1+0] */
-
-{ "stw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, v9 },
-{ "stw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, v9 }, /* st d,[rs1+%g0] */
-{ "stw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[1+i]", F_ALIAS, 0, v9 },
-{ "stw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[i+1]", F_ALIAS, 0, v9 },
-{ "stw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, v9 },
-{ "stw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, v9 }, /* st d,[rs1+0] */
-{ "stsw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, v9 },
-{ "stsw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, v9 }, /* st d,[rs1+%g0] */
-{ "stsw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[1+i]", F_ALIAS, 0, v9 },
-{ "stsw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[i+1]", F_ALIAS, 0, v9 },
-{ "stsw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, v9 },
-{ "stsw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, v9 }, /* st d,[rs1+0] */
-{ "stuw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, v9 },
-{ "stuw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, v9 }, /* st d,[rs1+%g0] */
-{ "stuw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[1+i]", F_ALIAS, 0, v9 },
-{ "stuw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[i+1]", F_ALIAS, 0, v9 },
-{ "stuw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, v9 },
-{ "stuw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, v9 }, /* st d,[rs1+0] */
-
-{ "spill",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, v6 },
-{ "spill",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* st d,[rs1+%g0] */
-{ "spill",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[1+i]", F_ALIAS, 0, v6 },
-{ "spill",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[i+1]", F_ALIAS, 0, v6 },
-{ "spill",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, v6 },
-{ "spill",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* st d,[rs1+0] */
-
-{ "sta",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0),		"d,[1+2]A", 0, 0, v6 },
-{ "sta",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0)|RS2(~0),	"d,[1]A", 0, 0, v6 }, /* sta d,[rs1+%g0] */
-{ "sta",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[1+i]o", 0, 0, v9 },
-{ "sta",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[i+1]o", 0, 0, v9 },
-{ "sta",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|RS1_G0,	"d,[i]o", 0, 0, v9 },
-{ "sta",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, v9 }, /* st d,[rs1+0] */
-
-{ "sta",	F3(3, 0x34, 0), F3(~3, ~0x34, ~0),		"g,[1+2]A", 0, 0, v9 },
-{ "sta",	F3(3, 0x34, 0), F3(~3, ~0x34, ~0)|RS2(~0),	"g,[1]A", 0, 0, v9 }, /* sta d,[rs1+%g0] */
-{ "sta",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1),		"g,[1+i]o", 0, 0, v9 },
-{ "sta",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1),		"g,[i+1]o", 0, 0, v9 },
-{ "sta",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1)|RS1_G0,	"g,[i]o", 0, 0, v9 },
-{ "sta",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1)|SIMM13(~0),	"g,[1]o", 0, 0, v9 }, /* st d,[rs1+0] */
-
-{ "stwa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0),		"d,[1+2]A", F_ALIAS, 0, v9 },
-{ "stwa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, v9 }, /* sta d,[rs1+%g0] */
-{ "stwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[1+i]o", F_ALIAS, 0, v9 },
-{ "stwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[i+1]o", F_ALIAS, 0, v9 },
-{ "stwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, v9 },
-{ "stwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, v9 }, /* st d,[rs1+0] */
-{ "stswa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0),		"d,[1+2]A", F_ALIAS, 0, v9 },
-{ "stswa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, v9 }, /* sta d,[rs1+%g0] */
-{ "stswa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[1+i]o", F_ALIAS, 0, v9 },
-{ "stswa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[i+1]o", F_ALIAS, 0, v9 },
-{ "stswa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, v9 },
-{ "stswa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, v9 }, /* st d,[rs1+0] */
-{ "stuwa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0),		"d,[1+2]A", F_ALIAS, 0, v9 },
-{ "stuwa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, v9 }, /* sta d,[rs1+%g0] */
-{ "stuwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[1+i]o", F_ALIAS, 0, v9 },
-{ "stuwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[i+1]o", F_ALIAS, 0, v9 },
-{ "stuwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, v9 },
-{ "stuwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, v9 }, /* st d,[rs1+0] */
-
-{ "stb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI(~0),	"d,[1+2]", 0, 0, v6 },
-{ "stb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI_RS2(~0),	"d,[1]", 0, 0, v6 }, /* stb d,[rs1+%g0] */
-{ "stb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[1+i]", 0, 0, v6 },
-{ "stb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[i+1]", 0, 0, v6 },
-{ "stb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RS1_G0,	"d,[i]", 0, 0, v6 },
-{ "stb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|SIMM13(~0),	"d,[1]", 0, 0, v6 }, /* stb d,[rs1+0] */
-
-{ "stsb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, v6 },
-{ "stsb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* stb d,[rs1+%g0] */
-{ "stsb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[1+i]", F_ALIAS, 0, v6 },
-{ "stsb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[i+1]", F_ALIAS, 0, v6 },
-{ "stsb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, v6 },
-{ "stsb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* stb d,[rs1+0] */
-{ "stub",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, v6 },
-{ "stub",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* stb d,[rs1+%g0] */
-{ "stub",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[1+i]", F_ALIAS, 0, v6 },
-{ "stub",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[i+1]", F_ALIAS, 0, v6 },
-{ "stub",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, v6 },
-{ "stub",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* stb d,[rs1+0] */
-
-{ "stba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0),		"d,[1+2]A", 0, 0, v6 },
-{ "stba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0)|RS2(~0),	"d,[1]A", 0, 0, v6 }, /* stba d,[rs1+%g0] */
-{ "stba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[1+i]o", 0, 0, v9 },
-{ "stba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[i+1]o", 0, 0, v9 },
-{ "stba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|RS1_G0,	"d,[i]o", 0, 0, v9 },
-{ "stba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, v9 }, /* stb d,[rs1+0] */
-
-{ "stsba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0),		"d,[1+2]A", F_ALIAS, 0, v6 },
-{ "stsba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, v6 }, /* stba d,[rs1+%g0] */
-{ "stsba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[1+i]o", F_ALIAS, 0, v9 },
-{ "stsba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[i+1]o", F_ALIAS, 0, v9 },
-{ "stsba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, v9 },
-{ "stsba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, v9 }, /* stb d,[rs1+0] */
-{ "stuba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0),		"d,[1+2]A", F_ALIAS, 0, v6 },
-{ "stuba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, v6 }, /* stba d,[rs1+%g0] */
-{ "stuba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[1+i]o", F_ALIAS, 0, v9 },
-{ "stuba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[i+1]o", F_ALIAS, 0, v9 },
-{ "stuba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, v9 },
-{ "stuba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, v9 }, /* stb d,[rs1+0] */
-
-{ "sttw",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI(~0),	"d,[1+2]", 0, 0, v9 },
-{ "sttw",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI_RS2(~0),	"d,[1]", 0, 0, v9 }, /* std d,[rs1+%g0] */
-{ "sttw",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[1+i]", 0, 0, v9 },
-{ "sttw",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[i+1]", 0, 0, v9 },
-{ "sttw",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|RS1_G0,	"d,[i]", 0, 0, v9 },
-{ "sttw",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|SIMM13(~0),	"d,[1]", 0, 0, v9 }, /* std d,[rs1+0] */
-
-{ "std",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI(~0),	"d,[1+2]", F_PREF_ALIAS, 0, v6 },
-{ "std",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI_RS2(~0),	"d,[1]", F_PREF_ALIAS, 0, v6 }, /* std d,[rs1+%g0] */
-{ "std",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[1+i]", F_PREF_ALIAS, 0, v6 },
-{ "std",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[i+1]", F_PREF_ALIAS, 0, v6 },
-{ "std",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|RS1_G0,	"d,[i]", F_PREF_ALIAS, 0, v6 },
-{ "std",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|SIMM13(~0),	"d,[1]", F_PREF_ALIAS, 0, v6 }, /* std d,[rs1+0] */
-
-{ "std",	F3(3, 0x26, 0), F3(~3, ~0x26, ~0)|ASI(~0),	"q,[1+2]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x26, 0), F3(~3, ~0x26, ~0)|ASI_RS2(~0),	"q,[1]", 0, 0, v6notv9 }, /* std d,[rs1+%g0] */
-{ "std",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1),		"q,[1+i]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1),		"q,[i+1]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1)|RS1_G0,	"q,[i]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1)|SIMM13(~0),	"q,[1]", 0, 0, v6notv9 }, /* std d,[rs1+0] */
-{ "std",	F3(3, 0x27, 0), F3(~3, ~0x27, ~0)|ASI(~0),	"H,[1+2]", 0, 0, v6 },
-{ "std",	F3(3, 0x27, 0), F3(~3, ~0x27, ~0)|ASI_RS2(~0),	"H,[1]", 0, 0, v6 }, /* std d,[rs1+%g0] */
-{ "std",	F3(3, 0x27, 1), F3(~3, ~0x27, ~1),		"H,[1+i]", 0, 0, v6 },
-{ "std",	F3(3, 0x27, 1), F3(~3, ~0x27, ~1),		"H,[i+1]", 0, 0, v6 },
-{ "std",	F3(3, 0x27, 1), F3(~3, ~0x27, ~1)|RS1_G0,	"H,[i]", 0, 0, v6 },
-{ "std",	F3(3, 0x27, 1), F3(~3, ~0x27, ~1)|SIMM13(~0),	"H,[1]", 0, 0, v6 }, /* std d,[rs1+0] */
-
-{ "std",	F3(3, 0x36, 0), F3(~3, ~0x36, ~0)|ASI(~0),	"Q,[1+2]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x36, 0), F3(~3, ~0x36, ~0)|ASI_RS2(~0),	"Q,[1]", 0, 0, v6notv9 }, /* std d,[rs1+%g0] */
-{ "std",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1),		"Q,[1+i]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1),		"Q,[i+1]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1)|RS1_G0,	"Q,[i]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1)|SIMM13(~0),	"Q,[1]", 0, 0, v6notv9 }, /* std d,[rs1+0] */
-{ "std",	F3(3, 0x37, 0), F3(~3, ~0x37, ~0)|ASI(~0),	"D,[1+2]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x37, 0), F3(~3, ~0x37, ~0)|ASI_RS2(~0),	"D,[1]", 0, 0, v6notv9 }, /* std d,[rs1+%g0] */
-{ "std",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1),		"D,[1+i]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1),		"D,[i+1]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1)|RS1_G0,	"D,[i]", 0, 0, v6notv9 },
-{ "std",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1)|SIMM13(~0),	"D,[1]", 0, 0, v6notv9 }, /* std d,[rs1+0] */
-
-{ "spilld",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, v6 },
-{ "spilld",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* std d,[rs1+%g0] */
-{ "spilld",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[1+i]", F_ALIAS, 0, v6 },
-{ "spilld",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[i+1]", F_ALIAS, 0, v6 },
-{ "spilld",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, v6 },
-{ "spilld",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* std d,[rs1+0] */
-
-{ "sttwa",	F3(3, 0x17, 0), F3(~3, ~0x17, ~0),		"d,[1+2]A", 0, 0, v9 },
-{ "sttwa",	F3(3, 0x17, 0), F3(~3, ~0x17, ~0)|RS2(~0),	"d,[1]A", 0, 0, v9 }, /* stda d,[rs1+%g0] */
-{ "sttwa",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1),		"d,[1+i]o", 0, 0, v9 },
-{ "sttwa",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1),		"d,[i+1]o", 0, 0, v9 },
-{ "sttwa",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1)|RS1_G0,	"d,[i]o", 0, 0, v9 },
-{ "sttwa",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, v9 }, /* std d,[rs1+0] */
-
-{ "stda",	F3(3, 0x17, 0), F3(~3, ~0x17, ~0),		"d,[1+2]A", F_ALIAS, 0, v6 },
-{ "stda",	F3(3, 0x17, 0), F3(~3, ~0x17, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, v6 }, /* stda d,[rs1+%g0] */
-{ "stda",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1),		"d,[1+i]o", F_ALIAS, 0, v9 },
-{ "stda",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1),		"d,[i+1]o", F_ALIAS, 0, v9 },
-{ "stda",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, v9 },
-{ "stda",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, v9 }, /* std d,[rs1+0] */
-{ "stda",	F3(3, 0x37, 0), F3(~3, ~0x37, ~0),		"H,[1+2]A", 0, 0, v9 },
-{ "stda",	F3(3, 0x37, 0), F3(~3, ~0x37, ~0)|RS2(~0),	"H,[1]A", 0, 0, v9 }, /* stda d,[rs1+%g0] */
-{ "stda",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1),		"H,[1+i]o", 0, 0, v9 },
-{ "stda",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1),		"H,[i+1]o", 0, 0, v9 },
-{ "stda",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1)|RS1_G0,	"H,[i]o", 0, 0, v9 },
-{ "stda",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1)|SIMM13(~0),	"H,[1]o", 0, 0, v9 }, /* std d,[rs1+0] */
-
-{ "sth",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI(~0),	"d,[1+2]", 0, 0, v6 },
-{ "sth",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI_RS2(~0),	"d,[1]", 0, 0, v6 }, /* sth d,[rs1+%g0] */
-{ "sth",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[1+i]", 0, 0, v6 },
-{ "sth",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[i+1]", 0, 0, v6 },
-{ "sth",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RS1_G0,	"d,[i]", 0, 0, v6 },
-{ "sth",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|SIMM13(~0),	"d,[1]", 0, 0, v6 }, /* sth d,[rs1+0] */
-
-{ "stsh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, v6 },
-{ "stsh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* sth d,[rs1+%g0] */
-{ "stsh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[1+i]", F_ALIAS, 0, v6 },
-{ "stsh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[i+1]", F_ALIAS, 0, v6 },
-{ "stsh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, v6 },
-{ "stsh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* sth d,[rs1+0] */
-{ "stuh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, v6 },
-{ "stuh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* sth d,[rs1+%g0] */
-{ "stuh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[1+i]", F_ALIAS, 0, v6 },
-{ "stuh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[i+1]", F_ALIAS, 0, v6 },
-{ "stuh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, v6 },
-{ "stuh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, v6 }, /* sth d,[rs1+0] */
-
-{ "stha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0),		"d,[1+2]A", 0, 0, v6 },
-{ "stha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0)|RS2(~0),	"d,[1]A", 0, 0, v6 }, /* stha ,[rs1+%g0] */
-{ "stha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[1+i]o", 0, 0, v9 },
-{ "stha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[i+1]o", 0, 0, v9 },
-{ "stha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|RS1_G0,	"d,[i]o", 0, 0, v9 },
-{ "stha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, v9 }, /* sth d,[rs1+0] */
-
-{ "stsha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0),		"d,[1+2]A", F_ALIAS, 0, v6 },
-{ "stsha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, v6 }, /* stha ,[rs1+%g0] */
-{ "stsha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[1+i]o", F_ALIAS, 0, v9 },
-{ "stsha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[i+1]o", F_ALIAS, 0, v9 },
-{ "stsha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, v9 },
-{ "stsha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, v9 }, /* sth d,[rs1+0] */
-{ "stuha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0),		"d,[1+2]A", F_ALIAS, 0, v6 },
-{ "stuha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, v6 }, /* stha ,[rs1+%g0] */
-{ "stuha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[1+i]o", F_ALIAS, 0, v9 },
-{ "stuha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[i+1]o", F_ALIAS, 0, v9 },
-{ "stuha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, v9 },
-{ "stuha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, v9 }, /* sth d,[rs1+0] */
-
-{ "stx",	F3(3, 0x0e, 0), F3(~3, ~0x0e, ~0)|ASI(~0),	"d,[1+2]", 0, 0, v9 },
-{ "stx",	F3(3, 0x0e, 0), F3(~3, ~0x0e, ~0)|ASI_RS2(~0),	"d,[1]", 0, 0, v9 }, /* stx d,[rs1+%g0] */
-{ "stx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1),		"d,[1+i]", 0, 0, v9 },
-{ "stx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1),		"d,[i+1]", 0, 0, v9 },
-{ "stx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RS1_G0,	"d,[i]", 0, 0, v9 },
-{ "stx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|SIMM13(~0),	"d,[1]", 0, 0, v9 }, /* stx d,[rs1+0] */
-
-{ "stx",	F3(3, 0x25, 0)|RD(1), F3(~3, ~0x25, ~0)|ASI(~0)|RD(~1),	"F,[1+2]", 0, 0, v9 },
-{ "stx",	F3(3, 0x25, 0)|RD(1), F3(~3, ~0x25, ~0)|ASI_RS2(~0)|RD(~1),"F,[1]", 0, 0, v9 }, /* stx d,[rs1+%g0] */
-{ "stx",	F3(3, 0x25, 1)|RD(1), F3(~3, ~0x25, ~1)|RD(~1),		"F,[1+i]", 0, 0, v9 },
-{ "stx",	F3(3, 0x25, 1)|RD(1), F3(~3, ~0x25, ~1)|RD(~1),		"F,[i+1]", 0, 0, v9 },
-{ "stx",	F3(3, 0x25, 1)|RD(1), F3(~3, ~0x25, ~1)|RS1_G0|RD(~1),	"F,[i]", 0, 0, v9 },
-{ "stx",	F3(3, 0x25, 1)|RD(1), F3(~3, ~0x25, ~1)|SIMM13(~0)|RD(~1),"F,[1]", 0, 0, v9 }, /* stx d,[rs1+0] */
-
-{ "stxa",	F3(3, 0x1e, 0), F3(~3, ~0x1e, ~0),		"d,[1+2]A", 0, 0, v9 },
-{ "stxa",	F3(3, 0x1e, 0), F3(~3, ~0x1e, ~0)|RS2(~0),	"d,[1]A", 0, 0, v9 }, /* stxa d,[rs1+%g0] */
-{ "stxa",	F3(3, 0x1e, 1), F3(~3, ~0x1e, ~1),		"d,[1+i]o", 0, 0, v9 },
-{ "stxa",	F3(3, 0x1e, 1), F3(~3, ~0x1e, ~1),		"d,[i+1]o", 0, 0, v9 },
-{ "stxa",	F3(3, 0x1e, 1), F3(~3, ~0x1e, ~1)|RS1_G0,	"d,[i]o", 0, 0, v9 },
-{ "stxa",	F3(3, 0x1e, 1), F3(~3, ~0x1e, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, v9 }, /* stx d,[rs1+0] */
-
-{ "stq",	F3(3, 0x26, 0), F3(~3, ~0x26, ~0)|ASI(~0),	"J,[1+2]", 0, 0, v9 },
-{ "stq",	F3(3, 0x26, 0), F3(~3, ~0x26, ~0)|ASI_RS2(~0),	"J,[1]", 0, 0, v9 }, /* stq [rs1+%g0] */
-{ "stq",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1),		"J,[1+i]", 0, 0, v9 },
-{ "stq",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1),		"J,[i+1]", 0, 0, v9 },
-{ "stq",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1)|RS1_G0,	"J,[i]", 0, 0, v9 },
-{ "stq",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1)|SIMM13(~0),	"J,[1]", 0, 0, v9 }, /* stq [rs1+0] */
-
-{ "stqa",	F3(3, 0x36, 0), F3(~3, ~0x36, ~0)|ASI(~0),	"J,[1+2]A", 0, 0, v9 },
-{ "stqa",	F3(3, 0x36, 0), F3(~3, ~0x36, ~0)|ASI_RS2(~0),	"J,[1]A", 0, 0, v9 }, /* stqa [rs1+%g0] */
-{ "stqa",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1),		"J,[1+i]o", 0, 0, v9 },
-{ "stqa",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1),		"J,[i+1]o", 0, 0, v9 },
-{ "stqa",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1)|RS1_G0,	"J,[i]o", 0, 0, v9 },
-{ "stqa",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1)|SIMM13(~0),	"J,[1]o", 0, 0, v9 }, /* stqa [rs1+0] */
-
-{ "swap",	F3(3, 0x0f, 0), F3(~3, ~0x0f, ~0)|ASI(~0),	"[1+2],d", 0, 0, v7 },
-{ "swap",	F3(3, 0x0f, 0), F3(~3, ~0x0f, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, v7 }, /* swap [rs1+%g0],d */
-{ "swap",	F3(3, 0x0f, 1), F3(~3, ~0x0f, ~1),		"[1+i],d", 0, 0, v7 },
-{ "swap",	F3(3, 0x0f, 1), F3(~3, ~0x0f, ~1),		"[i+1],d", 0, 0, v7 },
-{ "swap",	F3(3, 0x0f, 1), F3(~3, ~0x0f, ~1)|RS1_G0,	"[i],d", 0, 0, v7 },
-{ "swap",	F3(3, 0x0f, 1), F3(~3, ~0x0f, ~1)|SIMM13(~0),	"[1],d", 0, 0, v7 }, /* swap [rs1+0],d */
-
-{ "swapa",	F3(3, 0x1f, 0), F3(~3, ~0x1f, ~0),		"[1+2]A,d", 0, 0, v7 },
-{ "swapa",	F3(3, 0x1f, 0), F3(~3, ~0x1f, ~0)|RS2(~0),	"[1]A,d", 0, 0, v7 }, /* swapa [rs1+%g0],d */
-{ "swapa",	F3(3, 0x1f, 1), F3(~3, ~0x1f, ~1),		"[1+i]o,d", 0, 0, v9 },
-{ "swapa",	F3(3, 0x1f, 1), F3(~3, ~0x1f, ~1),		"[i+1]o,d", 0, 0, v9 },
-{ "swapa",	F3(3, 0x1f, 1), F3(~3, ~0x1f, ~1)|RS1_G0,	"[i]o,d", 0, 0, v9 },
-{ "swapa",	F3(3, 0x1f, 1), F3(~3, ~0x1f, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, v9 }, /* swap [rs1+0],d */
-
-{ "restore",	F3(2, 0x3d, 0), F3(~2, ~0x3d, ~0)|ASI(~0),			"1,2,d", 0, 0, v6 },
-{ "restore",	F3(2, 0x3d, 0), F3(~2, ~0x3d, ~0)|RD_G0|RS1_G0|ASI_RS2(~0),	"", 0, 0, v6 }, /* restore %g0,%g0,%g0 */
-{ "restore",	F3(2, 0x3d, 1), F3(~2, ~0x3d, ~1),				"1,i,d", 0, 0, v6 },
-{ "restore",	F3(2, 0x3d, 1), F3(~2, ~0x3d, ~1)|RD_G0|RS1_G0|SIMM13(~0),	"", 0, 0, v6 }, /* restore %g0,0,%g0 */
-
-{ "rett",	F3(2, 0x39, 0), F3(~2, ~0x39, ~0)|RD_G0|ASI(~0),	"1+2", F_UNBR|F_DELAYED, 0, v6 }, /* rett rs1+rs2 */
-{ "rett",	F3(2, 0x39, 0), F3(~2, ~0x39, ~0)|RD_G0|ASI_RS2(~0),	"1", F_UNBR|F_DELAYED, 0, v6 },	/* rett rs1,%g0 */
-{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0,		"1+i", F_UNBR|F_DELAYED, 0, v6 }, /* rett rs1+X */
-{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0,		"i+1", F_UNBR|F_DELAYED, 0, v6 }, /* rett X+rs1 */
-{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0|RS1_G0,		"i", F_UNBR|F_DELAYED, 0, v6 }, /* rett X+rs1 */
-{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0|RS1_G0,		"i", F_UNBR|F_DELAYED, 0, v6 },	/* rett X */
-{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0|SIMM13(~0),	"1", F_UNBR|F_DELAYED, 0, v6 },	/* rett rs1+0 */
-
-{ "save",	F3(2, 0x3c, 0), F3(~2, ~0x3c, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "save",	F3(2, 0x3c, 1), F3(~2, ~0x3c, ~1),		"1,i,d", 0, 0, v6 },
-{ "save",	F3(2, 0x3c, 1), F3(~2, ~0x3c, ~1),		"i,1,d", 0, 0, v6 }, /* Sun assembler compatibility */
-{ "save",	0x81e00000,	~0x81e00000,			"", F_ALIAS, 0, v6 },
-
-{ "ret",  F3(2, 0x38, 1)|RS1(0x1f)|SIMM13(8), F3(~2, ~0x38, ~1)|SIMM13(~8),	       "", F_UNBR|F_DELAYED, 0, v6 }, /* jmpl %i7+8,%g0 */
-{ "retl", F3(2, 0x38, 1)|RS1(0x0f)|SIMM13(8), F3(~2, ~0x38, ~1)|RS1(~0x0f)|SIMM13(~8), "", F_UNBR|F_DELAYED, 0, v6 }, /* jmpl %o7+8,%g0 */
-
-{ "jmpl",	F3(2, 0x38, 0), F3(~2, ~0x38, ~0)|ASI(~0),	"1+2,d", F_JSR|F_DELAYED, 0, v6 },
-{ "jmpl",	F3(2, 0x38, 0), F3(~2, ~0x38, ~0)|ASI_RS2(~0),	"1,d", F_JSR|F_DELAYED, 0, v6 }, /* jmpl rs1+%g0,d */
-{ "jmpl",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|SIMM13(~0),	"1,d", F_JSR|F_DELAYED, 0, v6 }, /* jmpl rs1+0,d */
-{ "jmpl",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RS1_G0,	"i,d", F_JSR|F_DELAYED, 0, v6 }, /* jmpl %g0+i,d */
-{ "jmpl",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1),		"1+i,d", F_JSR|F_DELAYED, 0, v6 },
-{ "jmpl",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1),		"i+1,d", F_JSR|F_DELAYED, 0, v6 },
-
-{ "done",	F3(2, 0x3e, 0)|RD(0), F3(~2, ~0x3e, ~0)|RD(~0)|RS1_G0|SIMM13(~0),	"", 0, 0, v9 },
-{ "retry",	F3(2, 0x3e, 0)|RD(1), F3(~2, ~0x3e, ~0)|RD(~1)|RS1_G0|SIMM13(~0),	"", 0, 0, v9 },
-{ "saved",	F3(2, 0x31, 0)|RD(0), F3(~2, ~0x31, ~0)|RD(~0)|RS1_G0|SIMM13(~0),	"", 0, 0, v9 },
-{ "restored",	F3(2, 0x31, 0)|RD(1), F3(~2, ~0x31, ~0)|RD(~1)|RS1_G0|SIMM13(~0),	"", 0, 0, v9 },
-{ "allclean",	F3(2, 0x31, 0)|RD(2), F3(~2, ~0x31, ~0)|RD(~2)|RS1_G0|SIMM13(~0),	"", 0, 0, v9 },
-{ "otherw",	F3(2, 0x31, 0)|RD(3), F3(~2, ~0x31, ~0)|RD(~3)|RS1_G0|SIMM13(~0),	"", 0, 0, v9 },
-{ "normalw",	F3(2, 0x31, 0)|RD(4), F3(~2, ~0x31, ~0)|RD(~4)|RS1_G0|SIMM13(~0),	"", 0, 0, v9 },
-{ "invalw",	F3(2, 0x31, 0)|RD(5), F3(~2, ~0x31, ~0)|RD(~5)|RS1_G0|SIMM13(~0),	"", 0, 0, v9 },
-{ "sir",	F3(2, 0x30, 1)|RD(0xf), F3(~2, ~0x30, ~1)|RD(~0xf)|RS1_G0,		"i", 0, 0, v9 },
-
-{ "flush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI(~0),	"[1+2]", 0, 0, v9 },
-{ "flush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI_RS2(~0),	"[1]", 0, 0, v9 }, /* flush rs1+%g0 */
-{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|SIMM13(~0),	"[1]", 0, 0, v9 }, /* flush rs1+0 */
-{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|RS1_G0,	"[i]", 0, 0, v9 }, /* flush %g0+i */
-{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"[1+i]", 0, 0, v9 },
-{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"[i+1]", 0, 0, v9 },
-
-{ "flush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI(~0),	"1+2", F_ALIAS, 0, v8 },
-{ "flush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI_RS2(~0),	"1", F_ALIAS, 0, v8 }, /* flush rs1+%g0 */
-{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|SIMM13(~0),	"1", F_ALIAS, 0, v8 }, /* flush rs1+0 */
-{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|RS1_G0,	"i", F_ALIAS, 0, v8 }, /* flush %g0+i */
-{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"1+i", F_ALIAS, 0, v8 },
-{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"i+1", F_ALIAS, 0, v8 },
+{ "lduw",	F3(3, 0x00, 0), F3(~3, ~0x00, ~0),		"[1+2],d", F_ALIAS, 0, 0, v9 },
+{ "lduw",	F3(3, 0x00, 0), F3(~3, ~0x00, ~0)|RS2_G0,	"[1],d", F_ALIAS, 0, 0, v9 }, /* ld [rs1+%g0],d */
+{ "lduw",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1),		"[1+i],d", F_ALIAS, 0, 0, v9 },
+{ "lduw",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1),		"[i+1],d", F_ALIAS, 0, 0, v9 },
+{ "lduw",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1)|RS1_G0,	"[i],d", F_ALIAS, 0, 0, v9 },
+{ "lduw",	F3(3, 0x00, 1), F3(~3, ~0x00, ~1)|SIMM13(~0),	"[1],d", F_ALIAS, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldtw",	F3(3, 0x03, 0), F3(~3, ~0x03, ~0)|ASI(~0),	"[1+2],d", 0, 0, 0, v9 },
+{ "ldtw",	F3(3, 0x03, 0), F3(~3, ~0x03, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, 0, v9 }, /* ldd [rs1+%g0],d */
+{ "ldtw",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1),		"[1+i],d", 0, 0, 0, v9 },
+{ "ldtw",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1),		"[i+1],d", 0, 0, 0, v9 },
+{ "ldtw",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v9 },
+{ "ldtw",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v9 }, /* ldd [rs1+0],d */
+
+{ "ldd",	F3(3, 0x03, 0), F3(~3, ~0x03, ~0)|ASI(~0),	"[1+2],d", F_ALIAS, 0, 0, v6 },
+{ "ldd",	F3(3, 0x03, 0), F3(~3, ~0x03, ~0)|ASI_RS2(~0),	"[1],d", F_ALIAS, 0, 0, v6 }, /* ldd [rs1+%g0],d */
+{ "ldd",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1),		"[1+i],d", F_ALIAS, 0, 0, v6 },
+{ "ldd",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1),		"[i+1],d", F_ALIAS, 0, 0, v6 },
+{ "ldd",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1)|RS1_G0,	"[i],d", F_ALIAS, 0, 0, v6 },
+{ "ldd",	F3(3, 0x03, 1), F3(~3, ~0x03, ~1)|SIMM13(~0),	"[1],d", F_ALIAS, 0, 0, v6 }, /* ldd [rs1+0],d */
+{ "ldd",	F3(3, 0x23, 0), F3(~3, ~0x23, ~0)|ASI(~0),	"[1+2],H", F_ALIAS, 0, 0, v6 },
+{ "ldd",	F3(3, 0x23, 0), F3(~3, ~0x23, ~0)|ASI_RS2(~0),	"[1],H", F_ALIAS, 0, 0, v6 }, /* ldd [rs1+%g0],d */
+{ "ldd",	F3(3, 0x23, 1), F3(~3, ~0x23, ~1),		"[1+i],H", F_ALIAS, 0, 0, v6 },
+{ "ldd",	F3(3, 0x23, 1), F3(~3, ~0x23, ~1),		"[i+1],H", F_ALIAS, 0, 0, v6 },
+{ "ldd",	F3(3, 0x23, 1), F3(~3, ~0x23, ~1)|RS1_G0,	"[i],H", F_ALIAS, 0, 0, v6 },
+{ "ldd",	F3(3, 0x23, 1), F3(~3, ~0x23, ~1)|SIMM13(~0),	"[1],H", F_ALIAS, 0, 0, v6 }, /* ldd [rs1+0],d */
+
+{ "ldd",	F3(3, 0x33, 0), F3(~3, ~0x33, ~0)|ASI(~0),	"[1+2],D", 0, 0, 0, v6notv9 },
+{ "ldd",	F3(3, 0x33, 0), F3(~3, ~0x33, ~0)|ASI_RS2(~0),	"[1],D", 0, 0, 0, v6notv9 }, /* ldd [rs1+%g0],d */
+{ "ldd",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1),		"[1+i],D", 0, 0, 0, v6notv9 },
+{ "ldd",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1),		"[i+1],D", 0, 0, 0, v6notv9 },
+{ "ldd",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1)|RS1_G0,	"[i],D", 0, 0, 0, v6notv9 },
+{ "ldd",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1)|SIMM13(~0),	"[1],D", 0, 0, 0, v6notv9 }, /* ldd [rs1+0],d */
+
+{ "ldq",	F3(3, 0x22, 0), F3(~3, ~0x22, ~0)|ASI(~0),	"[1+2],J", 0, 0, 0, v9 },
+{ "ldq",	F3(3, 0x22, 0), F3(~3, ~0x22, ~0)|ASI_RS2(~0),	"[1],J", 0, 0, 0, v9 }, /* ldd [rs1+%g0],d */
+{ "ldq",	F3(3, 0x22, 1), F3(~3, ~0x22, ~1),		"[1+i],J", 0, 0, 0, v9 },
+{ "ldq",	F3(3, 0x22, 1), F3(~3, ~0x22, ~1),		"[i+1],J", 0, 0, 0, v9 },
+{ "ldq",	F3(3, 0x22, 1), F3(~3, ~0x22, ~1)|RS1_G0,	"[i],J", 0, 0, 0, v9 },
+{ "ldq",	F3(3, 0x22, 1), F3(~3, ~0x22, ~1)|SIMM13(~0),	"[1],J", 0, 0, 0, v9 }, /* ldd [rs1+0],d */
+
+{ "ldsb",	F3(3, 0x09, 0), F3(~3, ~0x09, ~0)|ASI(~0),	"[1+2],d", 0, 0, 0, v6 },
+{ "ldsb",	F3(3, 0x09, 0), F3(~3, ~0x09, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, 0, v6 }, /* ldsb [rs1+%g0],d */
+{ "ldsb",	F3(3, 0x09, 1), F3(~3, ~0x09, ~1),		"[1+i],d", 0, 0, 0, v6 },
+{ "ldsb",	F3(3, 0x09, 1), F3(~3, ~0x09, ~1),		"[i+1],d", 0, 0, 0, v6 },
+{ "ldsb",	F3(3, 0x09, 1), F3(~3, ~0x09, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v6 },
+{ "ldsb",	F3(3, 0x09, 1), F3(~3, ~0x09, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v6 }, /* ldsb [rs1+0],d */
+
+{ "ldsh",	F3(3, 0x0a, 0), F3(~3, ~0x0a, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, 0, v6 }, /* ldsh [rs1+%g0],d */
+{ "ldsh",	F3(3, 0x0a, 0), F3(~3, ~0x0a, ~0)|ASI(~0),	"[1+2],d", 0, 0, 0, v6 },
+{ "ldsh",	F3(3, 0x0a, 1), F3(~3, ~0x0a, ~1),		"[1+i],d", 0, 0, 0, v6 },
+{ "ldsh",	F3(3, 0x0a, 1), F3(~3, ~0x0a, ~1),		"[i+1],d", 0, 0, 0, v6 },
+{ "ldsh",	F3(3, 0x0a, 1), F3(~3, ~0x0a, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v6 },
+{ "ldsh",	F3(3, 0x0a, 1), F3(~3, ~0x0a, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v6 }, /* ldsh [rs1+0],d */
+
+{ "ldstub",	F3(3, 0x0d, 0), F3(~3, ~0x0d, ~0)|ASI(~0),	"[1+2],d", 0, 0, 0, v6 },
+{ "ldstub",	F3(3, 0x0d, 0), F3(~3, ~0x0d, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, 0, v6 }, /* ldstub [rs1+%g0],d */
+{ "ldstub",	F3(3, 0x0d, 1), F3(~3, ~0x0d, ~1),		"[1+i],d", 0, 0, 0, v6 },
+{ "ldstub",	F3(3, 0x0d, 1), F3(~3, ~0x0d, ~1),		"[i+1],d", 0, 0, 0, v6 },
+{ "ldstub",	F3(3, 0x0d, 1), F3(~3, ~0x0d, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v6 },
+{ "ldstub",	F3(3, 0x0d, 1), F3(~3, ~0x0d, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v6 }, /* ldstub [rs1+0],d */
+
+{ "ldsw",	F3(3, 0x08, 0), F3(~3, ~0x08, ~0)|ASI(~0),	"[1+2],d", 0, 0, 0, v9 },
+{ "ldsw",	F3(3, 0x08, 0), F3(~3, ~0x08, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, 0, v9 }, /* ldsw [rs1+%g0],d */
+{ "ldsw",	F3(3, 0x08, 1), F3(~3, ~0x08, ~1),		"[1+i],d", 0, 0, 0, v9 },
+{ "ldsw",	F3(3, 0x08, 1), F3(~3, ~0x08, ~1),		"[i+1],d", 0, 0, 0, v9 },
+{ "ldsw",	F3(3, 0x08, 1), F3(~3, ~0x08, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v9 },
+{ "ldsw",	F3(3, 0x08, 1), F3(~3, ~0x08, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v9 }, /* ldsw [rs1+0],d */
+
+{ "ldub",	F3(3, 0x01, 0), F3(~3, ~0x01, ~0)|ASI(~0),	"[1+2],d", 0, 0, 0, v6 },
+{ "ldub",	F3(3, 0x01, 0), F3(~3, ~0x01, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, 0, v6 }, /* ldub [rs1+%g0],d */
+{ "ldub",	F3(3, 0x01, 1), F3(~3, ~0x01, ~1),		"[1+i],d", 0, 0, 0, v6 },
+{ "ldub",	F3(3, 0x01, 1), F3(~3, ~0x01, ~1),		"[i+1],d", 0, 0, 0, v6 },
+{ "ldub",	F3(3, 0x01, 1), F3(~3, ~0x01, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v6 },
+{ "ldub",	F3(3, 0x01, 1), F3(~3, ~0x01, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v6 }, /* ldub [rs1+0],d */
+
+{ "lduh",	F3(3, 0x02, 0), F3(~3, ~0x02, ~0)|ASI(~0),	"[1+2],d", 0, 0, 0, v6 },
+{ "lduh",	F3(3, 0x02, 0), F3(~3, ~0x02, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, 0, v6 }, /* lduh [rs1+%g0],d */
+{ "lduh",	F3(3, 0x02, 1), F3(~3, ~0x02, ~1),		"[1+i],d", 0, 0, 0, v6 },
+{ "lduh",	F3(3, 0x02, 1), F3(~3, ~0x02, ~1),		"[i+1],d", 0, 0, 0, v6 },
+{ "lduh",	F3(3, 0x02, 1), F3(~3, ~0x02, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v6 },
+{ "lduh",	F3(3, 0x02, 1), F3(~3, ~0x02, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v6 }, /* lduh [rs1+0],d */
+
+{ "ldx",	F3(3, 0x0b, 0), F3(~3, ~0x0b, ~0)|ASI(~0),	"[1+2],d", 0, 0, 0, v9 },
+{ "ldx",	F3(3, 0x0b, 0), F3(~3, ~0x0b, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, 0, v9 }, /* ldx [rs1+%g0],d */
+{ "ldx",	F3(3, 0x0b, 1), F3(~3, ~0x0b, ~1),		"[1+i],d", 0, 0, 0, v9 },
+{ "ldx",	F3(3, 0x0b, 1), F3(~3, ~0x0b, ~1),		"[i+1],d", 0, 0, 0, v9 },
+{ "ldx",	F3(3, 0x0b, 1), F3(~3, ~0x0b, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v9 },
+{ "ldx",	F3(3, 0x0b, 1), F3(~3, ~0x0b, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v9 }, /* ldx [rs1+0],d */
+
+{ "ldx",	F3(3, 0x21, 0)|RD(1), F3(~3, ~0x21, ~0)|RD(~1),	"[1+2],F", 0, 0, 0, v9 },
+{ "ldx",	F3(3, 0x21, 0)|RD(1), F3(~3, ~0x21, ~0)|RS2_G0|RD(~1),	"[1],F", 0, 0, 0, v9 }, /* ld [rs1+%g0],d */
+{ "ldx",	F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|RD(~1),	"[1+i],F", 0, 0, 0, v9 },
+{ "ldx",	F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|RD(~1),	"[i+1],F", 0, 0, 0, v9 },
+{ "ldx",	F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|RS1_G0|RD(~1),	"[i],F", 0, 0, 0, v9 },
+{ "ldx",	F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|SIMM13(~0)|RD(~1),"[1],F", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldx", F3(3, 0x21, 0)|RD(3), F3(~3, ~0x21, ~0)|RD(~3), "[1+2],(", 0, 0, HWCAP2_VIS3B, v9b },
+{ "ldx", F3(3, 0x21, 0)|RD(3), F3(~3, ~0x21, ~0)|RS2_G0|RD(~3),"[1],(", 0, 0, HWCAP2_VIS3B, v9b },
+{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RD(~3), "[1+i],(", 0, 0, HWCAP2_VIS3B, v9b },
+{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RD(~3), "[i+1],(", 0, 0, HWCAP2_VIS3B, v9b },
+{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RS1_G0|RD(~3),"[i],(", 0, 0, HWCAP2_VIS3B, v9b },
+{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|SIMM13(~0)|RD(~3),"[1],(", 0, 0, HWCAP2_VIS3B, v9b },
+
+{ "lda",	F3(3, 0x10, 0), F3(~3, ~0x10, ~0),		"[1+2]A,d", 0, 0, 0, v6 },
+{ "lda",	F3(3, 0x10, 0), F3(~3, ~0x10, ~0)|RS2_G0,	"[1]A,d", 0, 0, 0, v6 }, /* lda [rs1+%g0],d */
+{ "lda",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "lda",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "lda",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "lda",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+{ "lda",	F3(3, 0x30, 0), F3(~3, ~0x30, ~0),		"[1+2]A,g", 0, 0, 0, v9 },
+{ "lda",	F3(3, 0x30, 0), F3(~3, ~0x30, ~0)|RS2_G0,	"[1]A,g", 0, 0, 0, v9 }, /* lda [rs1+%g0],d */
+{ "lda",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1),		"[1+i]o,g", 0, 0, 0, v9 },
+{ "lda",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1),		"[i+1]o,g", 0, 0, 0, v9 },
+{ "lda",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1)|RS1_G0,	"[i]o,g", 0, 0, 0, v9 },
+{ "lda",	F3(3, 0x30, 1), F3(~3, ~0x30, ~1)|SIMM13(~0),	"[1]o,g", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldtwa",	F3(3, 0x13, 0), F3(~3, ~0x13, ~0),		"[1+2]A,d", 0, 0, 0, v9 },
+{ "ldtwa",	F3(3, 0x13, 0), F3(~3, ~0x13, ~0)|RS2_G0,	"[1]A,d", 0, 0, 0, v9 }, /* ldda [rs1+%g0],d */
+{ "ldtwa",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "ldtwa",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "ldtwa",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "ldtwa",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldda",	F3(3, 0x13, 0), F3(~3, ~0x13, ~0),		"[1+2]A,d", F_ALIAS, 0, 0, v6 },
+{ "ldda",	F3(3, 0x13, 0), F3(~3, ~0x13, ~0)|RS2_G0,	"[1]A,d", F_ALIAS, 0, 0, v6 }, /* ldda [rs1+%g0],d */
+{ "ldda",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1),		"[1+i]o,d", F_ALIAS, 0, 0, v9 },
+{ "ldda",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1),		"[i+1]o,d", F_ALIAS, 0, 0, v9 },
+{ "ldda",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1)|RS1_G0,	"[i]o,d", F_ALIAS, 0, 0, v9 },
+{ "ldda",	F3(3, 0x13, 1), F3(~3, ~0x13, ~1)|SIMM13(~0),	"[1]o,d", F_ALIAS, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldda",	F3(3, 0x33, 0), F3(~3, ~0x33, ~0),		"[1+2]A,H", 0, 0, 0, v9 },
+{ "ldda",	F3(3, 0x33, 0), F3(~3, ~0x33, ~0)|RS2_G0,	"[1]A,H", 0, 0, 0, v9 }, /* ldda [rs1+%g0],d */
+{ "ldda",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1),		"[1+i]o,H", 0, 0, 0, v9 },
+{ "ldda",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1),		"[i+1]o,H", 0, 0, 0, v9 },
+{ "ldda",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1)|RS1_G0,	"[i]o,H", 0, 0, 0, v9 },
+{ "ldda",	F3(3, 0x33, 1), F3(~3, ~0x33, ~1)|SIMM13(~0),	"[1]o,H", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldqa",	F3(3, 0x32, 0), F3(~3, ~0x32, ~0),		"[1+2]A,J", 0, 0, 0, v9 },
+{ "ldqa",	F3(3, 0x32, 0), F3(~3, ~0x32, ~0)|RS2_G0,	"[1]A,J", 0, 0, 0, v9 }, /* ldd [rs1+%g0],d */
+{ "ldqa",	F3(3, 0x32, 1), F3(~3, ~0x32, ~1),		"[1+i]o,J", 0, 0, 0, v9 },
+{ "ldqa",	F3(3, 0x32, 1), F3(~3, ~0x32, ~1),		"[i+1]o,J", 0, 0, 0, v9 },
+{ "ldqa",	F3(3, 0x32, 1), F3(~3, ~0x32, ~1)|RS1_G0,	"[i]o,J", 0, 0, 0, v9 },
+{ "ldqa",	F3(3, 0x32, 1), F3(~3, ~0x32, ~1)|SIMM13(~0),	"[1]o,J", 0, 0, 0, v9 }, /* ldd [rs1+0],d */
+
+{ "ldsba",	F3(3, 0x19, 0), F3(~3, ~0x19, ~0),		"[1+2]A,d", 0, 0, 0, v6 },
+{ "ldsba",	F3(3, 0x19, 0), F3(~3, ~0x19, ~0)|RS2_G0,	"[1]A,d", 0, 0, 0, v6 }, /* ldsba [rs1+%g0],d */
+{ "ldsba",	F3(3, 0x19, 1), F3(~3, ~0x19, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "ldsba",	F3(3, 0x19, 1), F3(~3, ~0x19, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "ldsba",	F3(3, 0x19, 1), F3(~3, ~0x19, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "ldsba",	F3(3, 0x19, 1), F3(~3, ~0x19, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldsha",	F3(3, 0x1a, 0), F3(~3, ~0x1a, ~0),		"[1+2]A,d", 0, 0, 0, v6 },
+{ "ldsha",	F3(3, 0x1a, 0), F3(~3, ~0x1a, ~0)|RS2_G0,	"[1]A,d", 0, 0, 0, v6 }, /* ldsha [rs1+%g0],d */
+{ "ldsha",	F3(3, 0x1a, 1), F3(~3, ~0x1a, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "ldsha",	F3(3, 0x1a, 1), F3(~3, ~0x1a, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "ldsha",	F3(3, 0x1a, 1), F3(~3, ~0x1a, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "ldsha",	F3(3, 0x1a, 1), F3(~3, ~0x1a, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldstuba",	F3(3, 0x1d, 0), F3(~3, ~0x1d, ~0),		"[1+2]A,d", 0, 0, 0, v6 },
+{ "ldstuba",	F3(3, 0x1d, 0), F3(~3, ~0x1d, ~0)|RS2_G0,	"[1]A,d", 0, 0, 0, v6 }, /* ldstuba [rs1+%g0],d */
+{ "ldstuba",	F3(3, 0x1d, 1), F3(~3, ~0x1d, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "ldstuba",	F3(3, 0x1d, 1), F3(~3, ~0x1d, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "ldstuba",	F3(3, 0x1d, 1), F3(~3, ~0x1d, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "ldstuba",	F3(3, 0x1d, 1), F3(~3, ~0x1d, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldswa",	F3(3, 0x18, 0), F3(~3, ~0x18, ~0),		"[1+2]A,d", 0, 0, 0, v9 },
+{ "ldswa",	F3(3, 0x18, 0), F3(~3, ~0x18, ~0)|RS2_G0,	"[1]A,d", 0, 0, 0, v9 }, /* lda [rs1+%g0],d */
+{ "ldswa",	F3(3, 0x18, 1), F3(~3, ~0x18, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "ldswa",	F3(3, 0x18, 1), F3(~3, ~0x18, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "ldswa",	F3(3, 0x18, 1), F3(~3, ~0x18, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "ldswa",	F3(3, 0x18, 1), F3(~3, ~0x18, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "lduba",	F3(3, 0x11, 0), F3(~3, ~0x11, ~0),		"[1+2]A,d", 0, 0, 0, v6 },
+{ "lduba",	F3(3, 0x11, 0), F3(~3, ~0x11, ~0)|RS2_G0,	"[1]A,d", 0, 0, 0, v6 }, /* lduba [rs1+%g0],d */
+{ "lduba",	F3(3, 0x11, 1), F3(~3, ~0x11, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "lduba",	F3(3, 0x11, 1), F3(~3, ~0x11, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "lduba",	F3(3, 0x11, 1), F3(~3, ~0x11, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "lduba",	F3(3, 0x11, 1), F3(~3, ~0x11, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "lduha",	F3(3, 0x12, 0), F3(~3, ~0x12, ~0),		"[1+2]A,d", 0, 0, 0, v6 },
+{ "lduha",	F3(3, 0x12, 0), F3(~3, ~0x12, ~0)|RS2_G0,	"[1]A,d", 0, 0, 0, v6 }, /* lduha [rs1+%g0],d */
+{ "lduha",	F3(3, 0x12, 1), F3(~3, ~0x12, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "lduha",	F3(3, 0x12, 1), F3(~3, ~0x12, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "lduha",	F3(3, 0x12, 1), F3(~3, ~0x12, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "lduha",	F3(3, 0x12, 1), F3(~3, ~0x12, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "lduwa",	F3(3, 0x10, 0), F3(~3, ~0x10, ~0),		"[1+2]A,d", F_ALIAS, 0, 0, v9 }, /* lduwa === lda */
+{ "lduwa",	F3(3, 0x10, 0), F3(~3, ~0x10, ~0)|RS2_G0,	"[1]A,d", F_ALIAS, 0, 0, v9 }, /* lda [rs1+%g0],d */
+{ "lduwa",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1),		"[1+i]o,d", F_ALIAS, 0, 0, v9 },
+{ "lduwa",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1),		"[i+1]o,d", F_ALIAS, 0, 0, v9 },
+{ "lduwa",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1)|RS1_G0,	"[i]o,d", F_ALIAS, 0, 0, v9 },
+{ "lduwa",	F3(3, 0x10, 1), F3(~3, ~0x10, ~1)|SIMM13(~0),	"[1]o,d", F_ALIAS, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "ldxa",	F3(3, 0x1b, 0), F3(~3, ~0x1b, ~0),		"[1+2]A,d", 0, 0, 0, v9 },
+{ "ldxa",	F3(3, 0x1b, 0), F3(~3, ~0x1b, ~0)|RS2_G0,	"[1]A,d", 0, 0, 0, v9 }, /* lda [rs1+%g0],d */
+{ "ldxa",	F3(3, 0x1b, 1), F3(~3, ~0x1b, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "ldxa",	F3(3, 0x1b, 1), F3(~3, ~0x1b, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "ldxa",	F3(3, 0x1b, 1), F3(~3, ~0x1b, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "ldxa",	F3(3, 0x1b, 1), F3(~3, ~0x1b, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* ld [rs1+0],d */
+
+{ "st",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),		"d,[1+2]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),		"d,[1]", 0, 0, 0, v6 }, /* st d,[rs1+%g0] */
+{ "st",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),			"d,[1+i]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),			"d,[i+1]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,		"d,[i]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),		"d,[1]", 0, 0, 0, v6 }, /* st d,[rs1+0] */
+{ "st",	F3(3, 0x24, 0), F3(~3, ~0x24, ~0)|ASI(~0),		"g,[1+2]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x24, 0), F3(~3, ~0x24, ~0)|ASI_RS2(~0),		"g,[1]", 0, 0, 0, v6 }, /* st d[rs1+%g0] */
+{ "st",	F3(3, 0x24, 1), F3(~3, ~0x24, ~1),			"g,[1+i]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x24, 1), F3(~3, ~0x24, ~1),			"g,[i+1]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x24, 1), F3(~3, ~0x24, ~1)|RS1_G0,		"g,[i]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x24, 1), F3(~3, ~0x24, ~1)|SIMM13(~0),		"g,[1]", 0, 0, 0, v6 }, /* st d,[rs1+0] */
+
+{ "st",	F3(3, 0x34, 0), F3(~3, ~0x34, ~0)|ASI(~0),		"D,[1+2]", 0, 0, 0, v6notv9 },
+{ "st",	F3(3, 0x34, 0), F3(~3, ~0x34, ~0)|ASI_RS2(~0),		"D,[1]", 0, 0, 0, v6notv9 }, /* st d,[rs1+%g0] */
+{ "st",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1),			"D,[1+i]", 0, 0, 0, v6notv9 },
+{ "st",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1),			"D,[i+1]", 0, 0, 0, v6notv9 },
+{ "st",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1)|RS1_G0,		"D,[i]", 0, 0, 0, v6notv9 },
+{ "st",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1)|SIMM13(~0),		"D,[1]", 0, 0, 0, v6notv9 }, /* st d,[rs1+0] */
+{ "st",	F3(3, 0x35, 0), F3(~3, ~0x35, ~0)|ASI(~0),		"C,[1+2]", 0, 0, 0, v6notv9 },
+{ "st",	F3(3, 0x35, 0), F3(~3, ~0x35, ~0)|ASI_RS2(~0),		"C,[1]", 0, 0, 0, v6notv9 }, /* st d,[rs1+%g0] */
+{ "st",	F3(3, 0x35, 1), F3(~3, ~0x35, ~1),			"C,[1+i]", 0, 0, 0, v6notv9 },
+{ "st",	F3(3, 0x35, 1), F3(~3, ~0x35, ~1),			"C,[i+1]", 0, 0, 0, v6notv9 },
+{ "st",	F3(3, 0x35, 1), F3(~3, ~0x35, ~1)|RS1_G0,		"C,[i]", 0, 0, 0, v6notv9 },
+{ "st",	F3(3, 0x35, 1), F3(~3, ~0x35, ~1)|SIMM13(~0),		"C,[1]", 0, 0, 0, v6notv9 }, /* st d,[rs1+0] */
+
+{ "st",	F3(3, 0x25, 0), F3(~3, ~0x25, ~0)|RD_G0|ASI(~0),	"F,[1+2]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x25, 0), F3(~3, ~0x25, ~0)|RD_G0|ASI_RS2(~0),	"F,[1]", 0, 0, 0, v6 }, /* st d,[rs1+%g0] */
+{ "st",	F3(3, 0x25, 1), F3(~3, ~0x25, ~1)|RD_G0,		"F,[1+i]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x25, 1), F3(~3, ~0x25, ~1)|RD_G0,		"F,[i+1]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x25, 1), F3(~3, ~0x25, ~1)|RD_G0|RS1_G0,		"F,[i]", 0, 0, 0, v6 },
+{ "st",	F3(3, 0x25, 1), F3(~3, ~0x25, ~1)|RD_G0|SIMM13(~0),	"F,[1]", 0, 0, 0, v6 }, /* st d,[rs1+0] */
+
+{ "stw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, 0, v9 },
+{ "stw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, 0, v9 }, /* st d,[rs1+%g0] */
+{ "stw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[1+i]", F_ALIAS, 0, 0, v9 },
+{ "stw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[i+1]", F_ALIAS, 0, 0, v9 },
+{ "stw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, 0, v9 },
+{ "stw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, 0, v9 }, /* st d,[rs1+0] */
+{ "stsw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, 0, v9 },
+{ "stsw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, 0, v9 }, /* st d,[rs1+%g0] */
+{ "stsw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[1+i]", F_ALIAS, 0, 0, v9 },
+{ "stsw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[i+1]", F_ALIAS, 0, 0, v9 },
+{ "stsw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, 0, v9 },
+{ "stsw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, 0, v9 }, /* st d,[rs1+0] */
+{ "stuw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, 0, v9 },
+{ "stuw",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, 0, v9 }, /* st d,[rs1+%g0] */
+{ "stuw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[1+i]", F_ALIAS, 0, 0, v9 },
+{ "stuw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[i+1]", F_ALIAS, 0, 0, v9 },
+{ "stuw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, 0, v9 },
+{ "stuw",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, 0, v9 }, /* st d,[rs1+0] */
+
+{ "spill",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, 0, v6 },
+{ "spill",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* st d,[rs1+%g0] */
+{ "spill",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[1+i]", F_ALIAS, 0, 0, v6 },
+{ "spill",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1),		"d,[i+1]", F_ALIAS, 0, 0, v6 },
+{ "spill",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, 0, v6 },
+{ "spill",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* st d,[rs1+0] */
+
+{ "sta",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0),		"d,[1+2]A", 0, 0, 0, v6 },
+{ "sta",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0)|RS2(~0),	"d,[1]A", 0, 0, 0, v6 }, /* sta d,[rs1+%g0] */
+{ "sta",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[1+i]o", 0, 0, 0, v9 },
+{ "sta",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[i+1]o", 0, 0, 0, v9 },
+{ "sta",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|RS1_G0,	"d,[i]o", 0, 0, 0, v9 },
+{ "sta",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, 0, v9 }, /* st d,[rs1+0] */
+
+{ "sta",	F3(3, 0x34, 0), F3(~3, ~0x34, ~0),		"g,[1+2]A", 0, 0, 0, v9 },
+{ "sta",	F3(3, 0x34, 0), F3(~3, ~0x34, ~0)|RS2(~0),	"g,[1]A", 0, 0, 0, v9 }, /* sta d,[rs1+%g0] */
+{ "sta",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1),		"g,[1+i]o", 0, 0, 0, v9 },
+{ "sta",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1),		"g,[i+1]o", 0, 0, 0, v9 },
+{ "sta",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1)|RS1_G0,	"g,[i]o", 0, 0, 0, v9 },
+{ "sta",	F3(3, 0x34, 1), F3(~3, ~0x34, ~1)|SIMM13(~0),	"g,[1]o", 0, 0, 0, v9 }, /* st d,[rs1+0] */
+
+{ "stwa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0),		"d,[1+2]A", F_ALIAS, 0, 0, v9 },
+{ "stwa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, 0, v9 }, /* sta d,[rs1+%g0] */
+{ "stwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[1+i]o", F_ALIAS, 0, 0, v9 },
+{ "stwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[i+1]o", F_ALIAS, 0, 0, v9 },
+{ "stwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, 0, v9 },
+{ "stwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, 0, v9 }, /* st d,[rs1+0] */
+{ "stswa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0),		"d,[1+2]A", F_ALIAS, 0, 0, v9 },
+{ "stswa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, 0, v9 }, /* sta d,[rs1+%g0] */
+{ "stswa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[1+i]o", F_ALIAS, 0, 0, v9 },
+{ "stswa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[i+1]o", F_ALIAS, 0, 0, v9 },
+{ "stswa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, 0, v9 },
+{ "stswa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, 0, v9 }, /* st d,[rs1+0] */
+{ "stuwa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0),		"d,[1+2]A", F_ALIAS, 0, 0, v9 },
+{ "stuwa",	F3(3, 0x14, 0), F3(~3, ~0x14, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, 0, v9 }, /* sta d,[rs1+%g0] */
+{ "stuwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[1+i]o", F_ALIAS, 0, 0, v9 },
+{ "stuwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1),		"d,[i+1]o", F_ALIAS, 0, 0, v9 },
+{ "stuwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, 0, v9 },
+{ "stuwa",	F3(3, 0x14, 1), F3(~3, ~0x14, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, 0, v9 }, /* st d,[rs1+0] */
+
+{ "stb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI(~0),	"d,[1+2]", 0, 0, 0, v6 },
+{ "stb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI_RS2(~0),	"d,[1]", 0, 0, 0, v6 }, /* stb d,[rs1+%g0] */
+{ "stb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[1+i]", 0, 0, 0, v6 },
+{ "stb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[i+1]", 0, 0, 0, v6 },
+{ "stb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RS1_G0,	"d,[i]", 0, 0, 0, v6 },
+{ "stb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|SIMM13(~0),	"d,[1]", 0, 0, 0, v6 }, /* stb d,[rs1+0] */
+
+{ "stsb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, 0, v6 },
+{ "stsb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* stb d,[rs1+%g0] */
+{ "stsb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[1+i]", F_ALIAS, 0, 0, v6 },
+{ "stsb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[i+1]", F_ALIAS, 0, 0, v6 },
+{ "stsb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, 0, v6 },
+{ "stsb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* stb d,[rs1+0] */
+{ "stub",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, 0, v6 },
+{ "stub",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* stb d,[rs1+%g0] */
+{ "stub",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[1+i]", F_ALIAS, 0, 0, v6 },
+{ "stub",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1),		"d,[i+1]", F_ALIAS, 0, 0, v6 },
+{ "stub",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, 0, v6 },
+{ "stub",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* stb d,[rs1+0] */
+
+{ "stba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0),		"d,[1+2]A", 0, 0, 0, v6 },
+{ "stba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0)|RS2(~0),	"d,[1]A", 0, 0, 0, v6 }, /* stba d,[rs1+%g0] */
+{ "stba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[1+i]o", 0, 0, 0, v9 },
+{ "stba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[i+1]o", 0, 0, 0, v9 },
+{ "stba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|RS1_G0,	"d,[i]o", 0, 0, 0, v9 },
+{ "stba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, 0, v9 }, /* stb d,[rs1+0] */
+
+{ "stsba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0),		"d,[1+2]A", F_ALIAS, 0, 0, v6 },
+{ "stsba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, 0, v6 }, /* stba d,[rs1+%g0] */
+{ "stsba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[1+i]o", F_ALIAS, 0, 0, v9 },
+{ "stsba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[i+1]o", F_ALIAS, 0, 0, v9 },
+{ "stsba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, 0, v9 },
+{ "stsba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, 0, v9 }, /* stb d,[rs1+0] */
+{ "stuba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0),		"d,[1+2]A", F_ALIAS, 0, 0, v6 },
+{ "stuba",	F3(3, 0x15, 0), F3(~3, ~0x15, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, 0, v6 }, /* stba d,[rs1+%g0] */
+{ "stuba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[1+i]o", F_ALIAS, 0, 0, v9 },
+{ "stuba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1),		"d,[i+1]o", F_ALIAS, 0, 0, v9 },
+{ "stuba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, 0, v9 },
+{ "stuba",	F3(3, 0x15, 1), F3(~3, ~0x15, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, 0, v9 }, /* stb d,[rs1+0] */
+
+{ "sttw",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI(~0),	"d,[1+2]", 0, 0, 0, v9 },
+{ "sttw",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI_RS2(~0),	"d,[1]", 0, 0, 0, v9 }, /* std d,[rs1+%g0] */
+{ "sttw",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[1+i]", 0, 0, 0, v9 },
+{ "sttw",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[i+1]", 0, 0, 0, v9 },
+{ "sttw",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|RS1_G0,	"d,[i]", 0, 0, 0, v9 },
+{ "sttw",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|SIMM13(~0),	"d,[1]", 0, 0, 0, v9 }, /* std d,[rs1+0] */
+
+{ "std",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI(~0),	"d,[1+2]", F_PREF_ALIAS, 0, 0, v6 },
+{ "std",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI_RS2(~0),	"d,[1]", F_PREF_ALIAS, 0, 0, v6 }, /* std d,[rs1+%g0] */
+{ "std",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[1+i]", F_PREF_ALIAS, 0, 0, v6 },
+{ "std",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[i+1]", F_PREF_ALIAS, 0, 0, v6 },
+{ "std",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|RS1_G0,	"d,[i]", F_PREF_ALIAS, 0, 0, v6 },
+{ "std",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|SIMM13(~0),	"d,[1]", F_PREF_ALIAS, 0, 0, v6 }, /* std d,[rs1+0] */
+
+{ "std",	F3(3, 0x26, 0), F3(~3, ~0x26, ~0)|ASI(~0),	"q,[1+2]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x26, 0), F3(~3, ~0x26, ~0)|ASI_RS2(~0),	"q,[1]", 0, 0, 0, v6notv9 }, /* std d,[rs1+%g0] */
+{ "std",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1),		"q,[1+i]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1),		"q,[i+1]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1)|RS1_G0,	"q,[i]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1)|SIMM13(~0),	"q,[1]", 0, 0, 0, v6notv9 }, /* std d,[rs1+0] */
+{ "std",	F3(3, 0x27, 0), F3(~3, ~0x27, ~0)|ASI(~0),	"H,[1+2]", 0, 0, 0, v6 },
+{ "std",	F3(3, 0x27, 0), F3(~3, ~0x27, ~0)|ASI_RS2(~0),	"H,[1]", 0, 0, 0, v6 }, /* std d,[rs1+%g0] */
+{ "std",	F3(3, 0x27, 1), F3(~3, ~0x27, ~1),		"H,[1+i]", 0, 0, 0, v6 },
+{ "std",	F3(3, 0x27, 1), F3(~3, ~0x27, ~1),		"H,[i+1]", 0, 0, 0, v6 },
+{ "std",	F3(3, 0x27, 1), F3(~3, ~0x27, ~1)|RS1_G0,	"H,[i]", 0, 0, 0, v6 },
+{ "std",	F3(3, 0x27, 1), F3(~3, ~0x27, ~1)|SIMM13(~0),	"H,[1]", 0, 0, 0, v6 }, /* std d,[rs1+0] */
+
+{ "std",	F3(3, 0x36, 0), F3(~3, ~0x36, ~0)|ASI(~0),	"Q,[1+2]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x36, 0), F3(~3, ~0x36, ~0)|ASI_RS2(~0),	"Q,[1]", 0, 0, 0, v6notv9 }, /* std d,[rs1+%g0] */
+{ "std",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1),		"Q,[1+i]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1),		"Q,[i+1]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1)|RS1_G0,	"Q,[i]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1)|SIMM13(~0),	"Q,[1]", 0, 0, 0, v6notv9 }, /* std d,[rs1+0] */
+{ "std",	F3(3, 0x37, 0), F3(~3, ~0x37, ~0)|ASI(~0),	"D,[1+2]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x37, 0), F3(~3, ~0x37, ~0)|ASI_RS2(~0),	"D,[1]", 0, 0, 0, v6notv9 }, /* std d,[rs1+%g0] */
+{ "std",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1),		"D,[1+i]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1),		"D,[i+1]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1)|RS1_G0,	"D,[i]", 0, 0, 0, v6notv9 },
+{ "std",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1)|SIMM13(~0),	"D,[1]", 0, 0, 0, v6notv9 }, /* std d,[rs1+0] */
+
+{ "spilld",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, 0, v6 },
+{ "spilld",	F3(3, 0x07, 0), F3(~3, ~0x07, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* std d,[rs1+%g0] */
+{ "spilld",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[1+i]", F_ALIAS, 0, 0, v6 },
+{ "spilld",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1),		"d,[i+1]", F_ALIAS, 0, 0, v6 },
+{ "spilld",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, 0, v6 },
+{ "spilld",	F3(3, 0x07, 1), F3(~3, ~0x07, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* std d,[rs1+0] */
+
+{ "sttwa",	F3(3, 0x17, 0), F3(~3, ~0x17, ~0),		"d,[1+2]A", 0, 0, 0, v9 },
+{ "sttwa",	F3(3, 0x17, 0), F3(~3, ~0x17, ~0)|RS2(~0),	"d,[1]A", 0, 0, 0, v9 }, /* stda d,[rs1+%g0] */
+{ "sttwa",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1),		"d,[1+i]o", 0, 0, 0, v9 },
+{ "sttwa",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1),		"d,[i+1]o", 0, 0, 0, v9 },
+{ "sttwa",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1)|RS1_G0,	"d,[i]o", 0, 0, 0, v9 },
+{ "sttwa",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, 0, v9 }, /* std d,[rs1+0] */
+
+{ "stda",	F3(3, 0x17, 0), F3(~3, ~0x17, ~0),		"d,[1+2]A", F_ALIAS, 0, 0, v6 },
+{ "stda",	F3(3, 0x17, 0), F3(~3, ~0x17, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, 0, v6 }, /* stda d,[rs1+%g0] */
+{ "stda",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1),		"d,[1+i]o", F_ALIAS, 0, 0, v9 },
+{ "stda",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1),		"d,[i+1]o", F_ALIAS, 0, 0, v9 },
+{ "stda",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, 0, v9 },
+{ "stda",	F3(3, 0x17, 1), F3(~3, ~0x17, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, 0, v9 }, /* std d,[rs1+0] */
+{ "stda",	F3(3, 0x37, 0), F3(~3, ~0x37, ~0),		"H,[1+2]A", 0, 0, 0, v9 },
+{ "stda",	F3(3, 0x37, 0), F3(~3, ~0x37, ~0)|RS2(~0),	"H,[1]A", 0, 0, 0, v9 }, /* stda d,[rs1+%g0] */
+{ "stda",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1),		"H,[1+i]o", 0, 0, 0, v9 },
+{ "stda",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1),		"H,[i+1]o", 0, 0, 0, v9 },
+{ "stda",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1)|RS1_G0,	"H,[i]o", 0, 0, 0, v9 },
+{ "stda",	F3(3, 0x37, 1), F3(~3, ~0x37, ~1)|SIMM13(~0),	"H,[1]o", 0, 0, 0, v9 }, /* std d,[rs1+0] */
+
+{ "sth",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI(~0),	"d,[1+2]", 0, 0, 0, v6 },
+{ "sth",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI_RS2(~0),	"d,[1]", 0, 0, 0, v6 }, /* sth d,[rs1+%g0] */
+{ "sth",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[1+i]", 0, 0, 0, v6 },
+{ "sth",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[i+1]", 0, 0, 0, v6 },
+{ "sth",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RS1_G0,	"d,[i]", 0, 0, 0, v6 },
+{ "sth",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|SIMM13(~0),	"d,[1]", 0, 0, 0, v6 }, /* sth d,[rs1+0] */
+
+{ "stsh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, 0, v6 },
+{ "stsh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* sth d,[rs1+%g0] */
+{ "stsh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[1+i]", F_ALIAS, 0, 0, v6 },
+{ "stsh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[i+1]", F_ALIAS, 0, 0, v6 },
+{ "stsh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, 0, v6 },
+{ "stsh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* sth d,[rs1+0] */
+{ "stuh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI(~0),	"d,[1+2]", F_ALIAS, 0, 0, v6 },
+{ "stuh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|ASI_RS2(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* sth d,[rs1+%g0] */
+{ "stuh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[1+i]", F_ALIAS, 0, 0, v6 },
+{ "stuh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1),		"d,[i+1]", F_ALIAS, 0, 0, v6 },
+{ "stuh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RS1_G0,	"d,[i]", F_ALIAS, 0, 0, v6 },
+{ "stuh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|SIMM13(~0),	"d,[1]", F_ALIAS, 0, 0, v6 }, /* sth d,[rs1+0] */
+
+{ "stha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0),		"d,[1+2]A", 0, 0, 0, v6 },
+{ "stha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0)|RS2(~0),	"d,[1]A", 0, 0, 0, v6 }, /* stha ,[rs1+%g0] */
+{ "stha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[1+i]o", 0, 0, 0, v9 },
+{ "stha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[i+1]o", 0, 0, 0, v9 },
+{ "stha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|RS1_G0,	"d,[i]o", 0, 0, 0, v9 },
+{ "stha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, 0, v9 }, /* sth d,[rs1+0] */
+
+{ "stsha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0),		"d,[1+2]A", F_ALIAS, 0, 0, v6 },
+{ "stsha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, 0, v6 }, /* stha ,[rs1+%g0] */
+{ "stsha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[1+i]o", F_ALIAS, 0, 0, v9 },
+{ "stsha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[i+1]o", F_ALIAS, 0, 0, v9 },
+{ "stsha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, 0, v9 },
+{ "stsha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, 0, v9 }, /* sth d,[rs1+0] */
+{ "stuha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0),		"d,[1+2]A", F_ALIAS, 0, 0, v6 },
+{ "stuha",	F3(3, 0x16, 0), F3(~3, ~0x16, ~0)|RS2(~0),	"d,[1]A", F_ALIAS, 0, 0, v6 }, /* stha ,[rs1+%g0] */
+{ "stuha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[1+i]o", F_ALIAS, 0, 0, v9 },
+{ "stuha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1),		"d,[i+1]o", F_ALIAS, 0, 0, v9 },
+{ "stuha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|RS1_G0,	"d,[i]o", F_ALIAS, 0, 0, v9 },
+{ "stuha",	F3(3, 0x16, 1), F3(~3, ~0x16, ~1)|SIMM13(~0),	"d,[1]o", F_ALIAS, 0, 0, v9 }, /* sth d,[rs1+0] */
+
+{ "stx",	F3(3, 0x0e, 0), F3(~3, ~0x0e, ~0)|ASI(~0),	"d,[1+2]", 0, 0, 0, v9 },
+{ "stx",	F3(3, 0x0e, 0), F3(~3, ~0x0e, ~0)|ASI_RS2(~0),	"d,[1]", 0, 0, 0, v9 }, /* stx d,[rs1+%g0] */
+{ "stx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1),		"d,[1+i]", 0, 0, 0, v9 },
+{ "stx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1),		"d,[i+1]", 0, 0, 0, v9 },
+{ "stx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RS1_G0,	"d,[i]", 0, 0, 0, v9 },
+{ "stx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|SIMM13(~0),	"d,[1]", 0, 0, 0, v9 }, /* stx d,[rs1+0] */
+
+{ "stx",	F3(3, 0x25, 0)|RD(1), F3(~3, ~0x25, ~0)|ASI(~0)|RD(~1),	"F,[1+2]", 0, 0, 0, v9 },
+{ "stx",	F3(3, 0x25, 0)|RD(1), F3(~3, ~0x25, ~0)|ASI_RS2(~0)|RD(~1),"F,[1]", 0, 0, 0, v9 }, /* stx d,[rs1+%g0] */
+{ "stx",	F3(3, 0x25, 1)|RD(1), F3(~3, ~0x25, ~1)|RD(~1),		"F,[1+i]", 0, 0, 0, v9 },
+{ "stx",	F3(3, 0x25, 1)|RD(1), F3(~3, ~0x25, ~1)|RD(~1),		"F,[i+1]", 0, 0, 0, v9 },
+{ "stx",	F3(3, 0x25, 1)|RD(1), F3(~3, ~0x25, ~1)|RS1_G0|RD(~1),	"F,[i]", 0, 0, 0, v9 },
+{ "stx",	F3(3, 0x25, 1)|RD(1), F3(~3, ~0x25, ~1)|SIMM13(~0)|RD(~1),"F,[1]", 0, 0, 0, v9 }, /* stx d,[rs1+0] */
+
+{ "stxa",	F3(3, 0x1e, 0), F3(~3, ~0x1e, ~0),		"d,[1+2]A", 0, 0, 0, v9 },
+{ "stxa",	F3(3, 0x1e, 0), F3(~3, ~0x1e, ~0)|RS2(~0),	"d,[1]A", 0, 0, 0, v9 }, /* stxa d,[rs1+%g0] */
+{ "stxa",	F3(3, 0x1e, 1), F3(~3, ~0x1e, ~1),		"d,[1+i]o", 0, 0, 0, v9 },
+{ "stxa",	F3(3, 0x1e, 1), F3(~3, ~0x1e, ~1),		"d,[i+1]o", 0, 0, 0, v9 },
+{ "stxa",	F3(3, 0x1e, 1), F3(~3, ~0x1e, ~1)|RS1_G0,	"d,[i]o", 0, 0, 0, v9 },
+{ "stxa",	F3(3, 0x1e, 1), F3(~3, ~0x1e, ~1)|SIMM13(~0),	"d,[1]o", 0, 0, 0, v9 }, /* stx d,[rs1+0] */
+
+{ "stq",	F3(3, 0x26, 0), F3(~3, ~0x26, ~0)|ASI(~0),	"J,[1+2]", 0, 0, 0, v9 },
+{ "stq",	F3(3, 0x26, 0), F3(~3, ~0x26, ~0)|ASI_RS2(~0),	"J,[1]", 0, 0, 0, v9 }, /* stq [rs1+%g0] */
+{ "stq",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1),		"J,[1+i]", 0, 0, 0, v9 },
+{ "stq",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1),		"J,[i+1]", 0, 0, 0, v9 },
+{ "stq",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1)|RS1_G0,	"J,[i]", 0, 0, 0, v9 },
+{ "stq",	F3(3, 0x26, 1), F3(~3, ~0x26, ~1)|SIMM13(~0),	"J,[1]", 0, 0, 0, v9 }, /* stq [rs1+0] */
+
+{ "stqa",	F3(3, 0x36, 0), F3(~3, ~0x36, ~0)|ASI(~0),	"J,[1+2]A", 0, 0, 0, v9 },
+{ "stqa",	F3(3, 0x36, 0), F3(~3, ~0x36, ~0)|ASI_RS2(~0),	"J,[1]A", 0, 0, 0, v9 }, /* stqa [rs1+%g0] */
+{ "stqa",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1),		"J,[1+i]o", 0, 0, 0, v9 },
+{ "stqa",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1),		"J,[i+1]o", 0, 0, 0, v9 },
+{ "stqa",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1)|RS1_G0,	"J,[i]o", 0, 0, 0, v9 },
+{ "stqa",	F3(3, 0x36, 1), F3(~3, ~0x36, ~1)|SIMM13(~0),	"J,[1]o", 0, 0, 0, v9 }, /* stqa [rs1+0] */
+
+{ "swap",	F3(3, 0x0f, 0), F3(~3, ~0x0f, ~0)|ASI(~0),	"[1+2],d", 0, 0, 0, v7 },
+{ "swap",	F3(3, 0x0f, 0), F3(~3, ~0x0f, ~0)|ASI_RS2(~0),	"[1],d", 0, 0, 0, v7 }, /* swap [rs1+%g0],d */
+{ "swap",	F3(3, 0x0f, 1), F3(~3, ~0x0f, ~1),		"[1+i],d", 0, 0, 0, v7 },
+{ "swap",	F3(3, 0x0f, 1), F3(~3, ~0x0f, ~1),		"[i+1],d", 0, 0, 0, v7 },
+{ "swap",	F3(3, 0x0f, 1), F3(~3, ~0x0f, ~1)|RS1_G0,	"[i],d", 0, 0, 0, v7 },
+{ "swap",	F3(3, 0x0f, 1), F3(~3, ~0x0f, ~1)|SIMM13(~0),	"[1],d", 0, 0, 0, v7 }, /* swap [rs1+0],d */
+
+{ "swapa",	F3(3, 0x1f, 0), F3(~3, ~0x1f, ~0),		"[1+2]A,d", 0, 0, 0, v7 },
+{ "swapa",	F3(3, 0x1f, 0), F3(~3, ~0x1f, ~0)|RS2(~0),	"[1]A,d", 0, 0, 0, v7 }, /* swapa [rs1+%g0],d */
+{ "swapa",	F3(3, 0x1f, 1), F3(~3, ~0x1f, ~1),		"[1+i]o,d", 0, 0, 0, v9 },
+{ "swapa",	F3(3, 0x1f, 1), F3(~3, ~0x1f, ~1),		"[i+1]o,d", 0, 0, 0, v9 },
+{ "swapa",	F3(3, 0x1f, 1), F3(~3, ~0x1f, ~1)|RS1_G0,	"[i]o,d", 0, 0, 0, v9 },
+{ "swapa",	F3(3, 0x1f, 1), F3(~3, ~0x1f, ~1)|SIMM13(~0),	"[1]o,d", 0, 0, 0, v9 }, /* swap [rs1+0],d */
+
+{ "restore",	F3(2, 0x3d, 0), F3(~2, ~0x3d, ~0)|ASI(~0),			"1,2,d", 0, 0, 0, v6 },
+{ "restore",	F3(2, 0x3d, 0), F3(~2, ~0x3d, ~0)|RD_G0|RS1_G0|ASI_RS2(~0),	"", 0, 0, 0, v6 }, /* restore %g0,%g0,%g0 */
+{ "restore",	F3(2, 0x3d, 1), F3(~2, ~0x3d, ~1),				"1,i,d", 0, 0, 0, v6 },
+{ "restore",	F3(2, 0x3d, 1), F3(~2, ~0x3d, ~1)|RD_G0|RS1_G0|SIMM13(~0),	"", 0, 0, 0, v6 }, /* restore %g0,0,%g0 */
+
+{ "rett",	F3(2, 0x39, 0), F3(~2, ~0x39, ~0)|RD_G0|ASI(~0),	"1+2", F_UNBR|F_DELAYED, 0, 0, v6 }, /* rett rs1+rs2 */
+{ "rett",	F3(2, 0x39, 0), F3(~2, ~0x39, ~0)|RD_G0|ASI_RS2(~0),	"1", F_UNBR|F_DELAYED, 0, 0, v6 },	/* rett rs1,%g0 */
+{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0,		"1+i", F_UNBR|F_DELAYED, 0, 0, v6 }, /* rett rs1+X */
+{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0,		"i+1", F_UNBR|F_DELAYED, 0, 0, v6 }, /* rett X+rs1 */
+{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0|RS1_G0,		"i", F_UNBR|F_DELAYED, 0, 0, v6 }, /* rett X+rs1 */
+{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0|RS1_G0,		"i", F_UNBR|F_DELAYED, 0, 0, v6 },	/* rett X */
+{ "rett",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RD_G0|SIMM13(~0),	"1", F_UNBR|F_DELAYED, 0, 0, v6 },	/* rett rs1+0 */
+
+{ "save",	F3(2, 0x3c, 0), F3(~2, ~0x3c, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "save",	F3(2, 0x3c, 1), F3(~2, ~0x3c, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "save",	F3(2, 0x3c, 1), F3(~2, ~0x3c, ~1),		"i,1,d", 0, 0, 0, v6 }, /* Sun assembler compatibility */
+{ "save",	0x81e00000,	~0x81e00000,			"", F_ALIAS, 0, 0, v6 },
+
+{ "ret",  F3(2, 0x38, 1)|RS1(0x1f)|SIMM13(8), F3(~2, ~0x38, ~1)|SIMM13(~8),	       "", F_UNBR|F_DELAYED, 0, 0, v6 }, /* jmpl %i7+8,%g0 */
+{ "retl", F3(2, 0x38, 1)|RS1(0x0f)|SIMM13(8), F3(~2, ~0x38, ~1)|RS1(~0x0f)|SIMM13(~8), "", F_UNBR|F_DELAYED, 0, 0, v6 }, /* jmpl %o7+8,%g0 */
+
+{ "jmpl",	F3(2, 0x38, 0), F3(~2, ~0x38, ~0)|ASI(~0),	"1+2,d", F_JSR|F_DELAYED, 0, 0, v6 },
+{ "jmpl",	F3(2, 0x38, 0), F3(~2, ~0x38, ~0)|ASI_RS2(~0),	"1,d", F_JSR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+%g0,d */
+{ "jmpl",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|SIMM13(~0),	"1,d", F_JSR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+0,d */
+{ "jmpl",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RS1_G0,	"i,d", F_JSR|F_DELAYED, 0, 0, v6 }, /* jmpl %g0+i,d */
+{ "jmpl",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1),		"1+i,d", F_JSR|F_DELAYED, 0, 0, v6 },
+{ "jmpl",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1),		"i+1,d", F_JSR|F_DELAYED, 0, 0, v6 },
+
+{ "done",	F3(2, 0x3e, 0)|RD(0), F3(~2, ~0x3e, ~0)|RD(~0)|RS1_G0|SIMM13(~0),	"", 0, 0, 0, v9 },
+{ "retry",	F3(2, 0x3e, 0)|RD(1), F3(~2, ~0x3e, ~0)|RD(~1)|RS1_G0|SIMM13(~0),	"", 0, 0, 0, v9 },
+{ "saved",	F3(2, 0x31, 0)|RD(0), F3(~2, ~0x31, ~0)|RD(~0)|RS1_G0|SIMM13(~0),	"", 0, 0, 0, v9 },
+{ "restored",	F3(2, 0x31, 0)|RD(1), F3(~2, ~0x31, ~0)|RD(~1)|RS1_G0|SIMM13(~0),	"", 0, 0, 0, v9 },
+{ "allclean",	F3(2, 0x31, 0)|RD(2), F3(~2, ~0x31, ~0)|RD(~2)|RS1_G0|SIMM13(~0),	"", 0, 0, 0, v9 },
+{ "otherw",	F3(2, 0x31, 0)|RD(3), F3(~2, ~0x31, ~0)|RD(~3)|RS1_G0|SIMM13(~0),	"", 0, 0, 0, v9 },
+{ "normalw",	F3(2, 0x31, 0)|RD(4), F3(~2, ~0x31, ~0)|RD(~4)|RS1_G0|SIMM13(~0),	"", 0, 0, 0, v9 },
+{ "invalw",	F3(2, 0x31, 0)|RD(5), F3(~2, ~0x31, ~0)|RD(~5)|RS1_G0|SIMM13(~0),	"", 0, 0, 0, v9 },
+{ "sir",	F3(2, 0x30, 1)|RD(0xf), F3(~2, ~0x30, ~1)|RD(~0xf)|RS1_G0,		"i", 0, 0, 0, v9 },
+
+{ "flush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI(~0),	"[1+2]", 0, 0, 0, v9 },
+{ "flush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI_RS2(~0),	"[1]", 0, 0, 0, v9 }, /* flush rs1+%g0 */
+{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|SIMM13(~0),	"[1]", 0, 0, 0, v9 }, /* flush rs1+0 */
+{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|RS1_G0,	"[i]", 0, 0, 0, v9 }, /* flush %g0+i */
+{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"[1+i]", 0, 0, 0, v9 },
+{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"[i+1]", 0, 0, 0, v9 },
+
+{ "flush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI(~0),	"1+2", F_ALIAS, 0, 0, v8 },
+{ "flush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI_RS2(~0),	"1", F_ALIAS, 0, 0, v8 }, /* flush rs1+%g0 */
+{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|SIMM13(~0),	"1", F_ALIAS, 0, 0, v8 }, /* flush rs1+0 */
+{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|RS1_G0,	"i", F_ALIAS, 0, 0, v8 }, /* flush %g0+i */
+{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"1+i", F_ALIAS, 0, 0, v8 },
+{ "flush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"i+1", F_ALIAS, 0, 0, v8 },
 
 /* IFLUSH was renamed to FLUSH in v8.  */
-{ "iflush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI(~0),	"1+2", F_ALIAS, 0, v6 },
-{ "iflush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI_RS2(~0),	"1", F_ALIAS, 0, v6 }, /* flush rs1+%g0 */
-{ "iflush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|SIMM13(~0),	"1", F_ALIAS, 0, v6 }, /* flush rs1+0 */
-{ "iflush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|RS1_G0,	"i", F_ALIAS, 0, v6 },
-{ "iflush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"1+i", F_ALIAS, 0, v6 },
-{ "iflush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"i+1", F_ALIAS, 0, v6 },
-
-{ "return",	F3(2, 0x39, 0), F3(~2, ~0x39, ~0)|ASI(~0),	"1+2", 0, 0, v9 },
-{ "return",	F3(2, 0x39, 0), F3(~2, ~0x39, ~0)|ASI_RS2(~0),	"1", 0, 0, v9 }, /* return rs1+%g0 */
-{ "return",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|SIMM13(~0),	"1", 0, 0, v9 }, /* return rs1+0 */
-{ "return",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RS1_G0,	"i", 0, 0, v9 }, /* return %g0+i */
-{ "return",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1),		"1+i", 0, 0, v9 },
-{ "return",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1),		"i+1", 0, 0, v9 },
-
-{ "flushw",	F3(2, 0x2b, 0), F3(~2, ~0x2b, ~0)|RD_G0|RS1_G0|ASI_RS2(~0),	"", 0, 0, v9 },
-
-{ "membar",	F3(2, 0x28, 1)|RS1(0xf), F3(~2, ~0x28, ~1)|RD_G0|RS1(~0xf)|SIMM13(~127), "K", 0, 0, v9 },
-{ "stbar",	F3(2, 0x28, 0)|RS1(0xf), F3(~2, ~0x28, ~0)|RD_G0|RS1(~0xf)|SIMM13(~0), "", 0, 0, v8 },
-
-{ "prefetch",	F3(3, 0x2d, 0), F3(~3, ~0x2d, ~0),		"[1+2],*", 0, 0, v9 },
-{ "prefetch",	F3(3, 0x2d, 0), F3(~3, ~0x2d, ~0)|RS2_G0,	"[1],*", 0, 0, v9 }, /* prefetch [rs1+%g0],prefetch_fcn */
-{ "prefetch",	F3(3, 0x2d, 1), F3(~3, ~0x2d, ~1),		"[1+i],*", 0, 0, v9 },
-{ "prefetch",	F3(3, 0x2d, 1), F3(~3, ~0x2d, ~1),		"[i+1],*", 0, 0, v9 },
-{ "prefetch",	F3(3, 0x2d, 1), F3(~3, ~0x2d, ~1)|RS1_G0,	"[i],*", 0, 0, v9 },
-{ "prefetch",	F3(3, 0x2d, 1), F3(~3, ~0x2d, ~1)|SIMM13(~0),	"[1],*", 0, 0, v9 }, /* prefetch [rs1+0],prefetch_fcn */
-{ "prefetcha",	F3(3, 0x3d, 0), F3(~3, ~0x3d, ~0),		"[1+2]A,*", 0, 0, v9 },
-{ "prefetcha",	F3(3, 0x3d, 0), F3(~3, ~0x3d, ~0)|RS2_G0,	"[1]A,*", 0, 0, v9 }, /* prefetcha [rs1+%g0],prefetch_fcn */
-{ "prefetcha",	F3(3, 0x3d, 1), F3(~3, ~0x3d, ~1),		"[1+i]o,*", 0, 0, v9 },
-{ "prefetcha",	F3(3, 0x3d, 1), F3(~3, ~0x3d, ~1),		"[i+1]o,*", 0, 0, v9 },
-{ "prefetcha",	F3(3, 0x3d, 1), F3(~3, ~0x3d, ~1)|RS1_G0,	"[i]o,*", 0, 0, v9 },
-{ "prefetcha",	F3(3, 0x3d, 1), F3(~3, ~0x3d, ~1)|SIMM13(~0),	"[1]o,*", 0, 0, v9 }, /* prefetcha [rs1+0],d */
-
-{ "sll",	F3(2, 0x25, 0), F3(~2, ~0x25, ~0)|(1<<12)|(0x7f<<5),	"1,2,d", 0, 0, v6 },
-{ "sll",	F3(2, 0x25, 1), F3(~2, ~0x25, ~1)|(1<<12)|(0x7f<<5),	"1,X,d", 0, 0, v6 },
-{ "sra",	F3(2, 0x27, 0), F3(~2, ~0x27, ~0)|(1<<12)|(0x7f<<5),	"1,2,d", 0, 0, v6 },
-{ "sra",	F3(2, 0x27, 1), F3(~2, ~0x27, ~1)|(1<<12)|(0x7f<<5),	"1,X,d", 0, 0, v6 },
-{ "srl",	F3(2, 0x26, 0), F3(~2, ~0x26, ~0)|(1<<12)|(0x7f<<5),	"1,2,d", 0, 0, v6 },
-{ "srl",	F3(2, 0x26, 1), F3(~2, ~0x26, ~1)|(1<<12)|(0x7f<<5),	"1,X,d", 0, 0, v6 },
-
-{ "sllx",	F3(2, 0x25, 0)|(1<<12), F3(~2, ~0x25, ~0)|(0x7f<<5),	"1,2,d", 0, 0, v9 },
-{ "sllx",	F3(2, 0x25, 1)|(1<<12), F3(~2, ~0x25, ~1)|(0x3f<<6),	"1,Y,d", 0, 0, v9 },
-{ "srax",	F3(2, 0x27, 0)|(1<<12), F3(~2, ~0x27, ~0)|(0x7f<<5),	"1,2,d", 0, 0, v9 },
-{ "srax",	F3(2, 0x27, 1)|(1<<12), F3(~2, ~0x27, ~1)|(0x3f<<6),	"1,Y,d", 0, 0, v9 },
-{ "srlx",	F3(2, 0x26, 0)|(1<<12), F3(~2, ~0x26, ~0)|(0x7f<<5),	"1,2,d", 0, 0, v9 },
-{ "srlx",	F3(2, 0x26, 1)|(1<<12), F3(~2, ~0x26, ~1)|(0x3f<<6),	"1,Y,d", 0, 0, v9 },
-
-{ "mulscc",	F3(2, 0x24, 0), F3(~2, ~0x24, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "mulscc",	F3(2, 0x24, 1), F3(~2, ~0x24, ~1),		"1,i,d", 0, 0, v6 },
-
-{ "divscc",	F3(2, 0x1d, 0), F3(~2, ~0x1d, ~0)|ASI(~0),	"1,2,d", 0, 0, sparclite },
-{ "divscc",	F3(2, 0x1d, 1), F3(~2, ~0x1d, ~1),		"1,i,d", 0, 0, sparclite },
-
-{ "scan",	F3(2, 0x2c, 0), F3(~2, ~0x2c, ~0)|ASI(~0),	"1,2,d", 0, 0, sparclet|sparclite },
-{ "scan",	F3(2, 0x2c, 1), F3(~2, ~0x2c, ~1),		"1,i,d", 0, 0, sparclet|sparclite },
-
-{ "popc",	F3(2, 0x2e, 0), F3(~2, ~0x2e, ~0)|RS1_G0|ASI(~0),"2,d", 0, HWCAP_POPC, v9 },
-{ "popc",	F3(2, 0x2e, 1), F3(~2, ~0x2e, ~1)|RS1_G0,	"i,d", 0, HWCAP_POPC, v9 },
-
-{ "clr",	F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|RD_G0|RS1_G0|ASI_RS2(~0),	"d", F_ALIAS, 0, v6 }, /* or %g0,%g0,d */
-{ "clr",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1)|RS1_G0|SIMM13(~0),		"d", F_ALIAS, 0, v6 }, /* or %g0,0,d	*/
-{ "clr",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|RD_G0|ASI(~0),		"[1+2]", F_ALIAS, 0, v6 },
-{ "clr",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|RD_G0|ASI_RS2(~0),		"[1]", F_ALIAS, 0, v6 }, /* st %g0,[rs1+%g0] */
-{ "clr",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RD_G0,			"[1+i]", F_ALIAS, 0, v6 },
-{ "clr",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RD_G0,			"[i+1]", F_ALIAS, 0, v6 },
-{ "clr",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RD_G0|RS1_G0,			"[i]", F_ALIAS, 0, v6 },
-{ "clr",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RD_G0|SIMM13(~0),		"[1]", F_ALIAS, 0, v6 }, /* st %g0,[rs1+0] */
-
-{ "clrb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|RD_G0|ASI(~0),	"[1+2]", F_ALIAS, 0, v6 },
-{ "clrb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|RD_G0|ASI_RS2(~0),	"[1]", F_ALIAS, 0, v6 }, /* stb %g0,[rs1+%g0] */
-{ "clrb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RD_G0,		"[1+i]", F_ALIAS, 0, v6 },
-{ "clrb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RD_G0,		"[i+1]", F_ALIAS, 0, v6 },
-{ "clrb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RD_G0|RS1_G0,		"[i]", F_ALIAS, 0, v6 },
-{ "clrb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RD_G0|SIMM13(~0),	"[1]", F_ALIAS, 0, v6 }, /* stb %g0,[rs1+0] */
-
-{ "clrh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|RD_G0|ASI(~0),	"[1+2]", F_ALIAS, 0, v6 },
-{ "clrh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|RD_G0|ASI_RS2(~0),	"[1]", F_ALIAS, 0, v6 }, /* sth %g0,[rs1+%g0] */
-{ "clrh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RD_G0,		"[1+i]", F_ALIAS, 0, v6 },
-{ "clrh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RD_G0,		"[i+1]", F_ALIAS, 0, v6 },
-{ "clrh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RD_G0|RS1_G0,		"[i]", F_ALIAS, 0, v6 },
-{ "clrh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RD_G0|SIMM13(~0),	"[1]", F_ALIAS, 0, v6 }, /* sth %g0,[rs1+0] */
-
-{ "clrx",	F3(3, 0x0e, 0), F3(~3, ~0x0e, ~0)|RD_G0|ASI(~0),	"[1+2]", F_ALIAS, 0, v9 },
-{ "clrx",	F3(3, 0x0e, 0), F3(~3, ~0x0e, ~0)|RD_G0|ASI_RS2(~0),	"[1]", F_ALIAS, 0, v9 }, /* stx %g0,[rs1+%g0] */
-{ "clrx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RD_G0,		"[1+i]", F_ALIAS, 0, v9 },
-{ "clrx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RD_G0,		"[i+1]", F_ALIAS, 0, v9 },
-{ "clrx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RD_G0|RS1_G0,		"[i]", F_ALIAS, 0, v9 },
-{ "clrx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RD_G0|SIMM13(~0),	"[1]", F_ALIAS, 0, v9 }, /* stx %g0,[rs1+0] */
-
-{ "orcc",	F3(2, 0x12, 0), F3(~2, ~0x12, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "orcc",	F3(2, 0x12, 1), F3(~2, ~0x12, ~1),		"1,i,d", 0, 0, v6 },
-{ "orcc",	F3(2, 0x12, 1), F3(~2, ~0x12, ~1),		"i,1,d", 0, 0, v6 },
+{ "iflush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI(~0),	"1+2", F_ALIAS, 0, 0, v6 },
+{ "iflush",	F3(2, 0x3b, 0), F3(~2, ~0x3b, ~0)|ASI_RS2(~0),	"1", F_ALIAS, 0, 0, v6 }, /* flush rs1+%g0 */
+{ "iflush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|SIMM13(~0),	"1", F_ALIAS, 0, 0, v6 }, /* flush rs1+0 */
+{ "iflush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1)|RS1_G0,	"i", F_ALIAS, 0, 0, v6 },
+{ "iflush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"1+i", F_ALIAS, 0, 0, v6 },
+{ "iflush",	F3(2, 0x3b, 1), F3(~2, ~0x3b, ~1),		"i+1", F_ALIAS, 0, 0, v6 },
+
+{ "return",	F3(2, 0x39, 0), F3(~2, ~0x39, ~0)|ASI(~0),	"1+2", 0, 0, 0, v9 },
+{ "return",	F3(2, 0x39, 0), F3(~2, ~0x39, ~0)|ASI_RS2(~0),	"1", 0, 0, 0, v9 }, /* return rs1+%g0 */
+{ "return",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|SIMM13(~0),	"1", 0, 0, 0, v9 }, /* return rs1+0 */
+{ "return",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1)|RS1_G0,	"i", 0, 0, 0, v9 }, /* return %g0+i */
+{ "return",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1),		"1+i", 0, 0, 0, v9 },
+{ "return",	F3(2, 0x39, 1), F3(~2, ~0x39, ~1),		"i+1", 0, 0, 0, v9 },
+
+{ "flushw",	F3(2, 0x2b, 0), F3(~2, ~0x2b, ~0)|RD_G0|RS1_G0|ASI_RS2(~0),	"", 0, 0, 0, v9 },
+
+{ "membar",	F3(2, 0x28, 1)|RS1(0xf), F3(~2, ~0x28, ~1)|RD_G0|RS1(~0xf)|SIMM13(~127), "K", 0, 0, 0, v9 },
+{ "stbar",	F3(2, 0x28, 0)|RS1(0xf), F3(~2, ~0x28, ~0)|RD_G0|RS1(~0xf)|SIMM13(~0), "", 0, 0, 0, v8 },
+
+{ "prefetch",	F3(3, 0x2d, 0), F3(~3, ~0x2d, ~0),		"[1+2],*", 0, 0, 0, v9 },
+{ "prefetch",	F3(3, 0x2d, 0), F3(~3, ~0x2d, ~0)|RS2_G0,	"[1],*", 0, 0, 0, v9 }, /* prefetch [rs1+%g0],prefetch_fcn */
+{ "prefetch",	F3(3, 0x2d, 1), F3(~3, ~0x2d, ~1),		"[1+i],*", 0, 0, 0, v9 },
+{ "prefetch",	F3(3, 0x2d, 1), F3(~3, ~0x2d, ~1),		"[i+1],*", 0, 0, 0, v9 },
+{ "prefetch",	F3(3, 0x2d, 1), F3(~3, ~0x2d, ~1)|RS1_G0,	"[i],*", 0, 0, 0, v9 },
+{ "prefetch",	F3(3, 0x2d, 1), F3(~3, ~0x2d, ~1)|SIMM13(~0),	"[1],*", 0, 0, 0, v9 }, /* prefetch [rs1+0],prefetch_fcn */
+{ "prefetcha",	F3(3, 0x3d, 0), F3(~3, ~0x3d, ~0),		"[1+2]A,*", 0, 0, 0, v9 },
+{ "prefetcha",	F3(3, 0x3d, 0), F3(~3, ~0x3d, ~0)|RS2_G0,	"[1]A,*", 0, 0, 0, v9 }, /* prefetcha [rs1+%g0],prefetch_fcn */
+{ "prefetcha",	F3(3, 0x3d, 1), F3(~3, ~0x3d, ~1),		"[1+i]o,*", 0, 0, 0, v9 },
+{ "prefetcha",	F3(3, 0x3d, 1), F3(~3, ~0x3d, ~1),		"[i+1]o,*", 0, 0, 0, v9 },
+{ "prefetcha",	F3(3, 0x3d, 1), F3(~3, ~0x3d, ~1)|RS1_G0,	"[i]o,*", 0, 0, 0, v9 },
+{ "prefetcha",	F3(3, 0x3d, 1), F3(~3, ~0x3d, ~1)|SIMM13(~0),	"[1]o,*", 0, 0, 0, v9 }, /* prefetcha [rs1+0],d */
+
+{ "sll",	F3(2, 0x25, 0), F3(~2, ~0x25, ~0)|(1<<12)|(0x7f<<5),	"1,2,d", 0, 0, 0, v6 },
+{ "sll",	F3(2, 0x25, 1), F3(~2, ~0x25, ~1)|(1<<12)|(0x7f<<5),	"1,X,d", 0, 0, 0, v6 },
+{ "sra",	F3(2, 0x27, 0), F3(~2, ~0x27, ~0)|(1<<12)|(0x7f<<5),	"1,2,d", 0, 0, 0, v6 },
+{ "sra",	F3(2, 0x27, 1), F3(~2, ~0x27, ~1)|(1<<12)|(0x7f<<5),	"1,X,d", 0, 0, 0, v6 },
+{ "srl",	F3(2, 0x26, 0), F3(~2, ~0x26, ~0)|(1<<12)|(0x7f<<5),	"1,2,d", 0, 0, 0, v6 },
+{ "srl",	F3(2, 0x26, 1), F3(~2, ~0x26, ~1)|(1<<12)|(0x7f<<5),	"1,X,d", 0, 0, 0, v6 },
+
+{ "sllx",	F3(2, 0x25, 0)|(1<<12), F3(~2, ~0x25, ~0)|(0x7f<<5),	"1,2,d", 0, 0, 0, v9 },
+{ "sllx",	F3(2, 0x25, 1)|(1<<12), F3(~2, ~0x25, ~1)|(0x3f<<6),	"1,Y,d", 0, 0, 0, v9 },
+{ "srax",	F3(2, 0x27, 0)|(1<<12), F3(~2, ~0x27, ~0)|(0x7f<<5),	"1,2,d", 0, 0, 0, v9 },
+{ "srax",	F3(2, 0x27, 1)|(1<<12), F3(~2, ~0x27, ~1)|(0x3f<<6),	"1,Y,d", 0, 0, 0, v9 },
+{ "srlx",	F3(2, 0x26, 0)|(1<<12), F3(~2, ~0x26, ~0)|(0x7f<<5),	"1,2,d", 0, 0, 0, v9 },
+{ "srlx",	F3(2, 0x26, 1)|(1<<12), F3(~2, ~0x26, ~1)|(0x3f<<6),	"1,Y,d", 0, 0, 0, v9 },
+
+{ "mulscc",	F3(2, 0x24, 0), F3(~2, ~0x24, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "mulscc",	F3(2, 0x24, 1), F3(~2, ~0x24, ~1),		"1,i,d", 0, 0, 0, v6 },
+
+{ "divscc",	F3(2, 0x1d, 0), F3(~2, ~0x1d, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, sparclite },
+{ "divscc",	F3(2, 0x1d, 1), F3(~2, ~0x1d, ~1),		"1,i,d", 0, 0, 0, sparclite },
+
+{ "scan",	F3(2, 0x2c, 0), F3(~2, ~0x2c, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, sparclet|sparclite },
+{ "scan",	F3(2, 0x2c, 1), F3(~2, ~0x2c, ~1),		"1,i,d", 0, 0, 0, sparclet|sparclite },
+
+{ "popc",	F3(2, 0x2e, 0), F3(~2, ~0x2e, ~0)|RS1_G0|ASI(~0),"2,d", 0, HWCAP_POPC, 0, v9 },
+{ "popc",	F3(2, 0x2e, 1), F3(~2, ~0x2e, ~1)|RS1_G0,	"i,d", 0, HWCAP_POPC, 0, v9 },
+
+{ "clr",	F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|RD_G0|RS1_G0|ASI_RS2(~0),	"d", F_ALIAS, 0, 0, v6 }, /* or %g0,%g0,d */
+{ "clr",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1)|RS1_G0|SIMM13(~0),		"d", F_ALIAS, 0, 0, v6 }, /* or %g0,0,d	*/
+{ "clr",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|RD_G0|ASI(~0),		"[1+2]", F_ALIAS, 0, 0, v6 },
+{ "clr",	F3(3, 0x04, 0), F3(~3, ~0x04, ~0)|RD_G0|ASI_RS2(~0),		"[1]", F_ALIAS, 0, 0, v6 }, /* st %g0,[rs1+%g0] */
+{ "clr",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RD_G0,			"[1+i]", F_ALIAS, 0, 0, v6 },
+{ "clr",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RD_G0,			"[i+1]", F_ALIAS, 0, 0, v6 },
+{ "clr",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RD_G0|RS1_G0,			"[i]", F_ALIAS, 0, 0, v6 },
+{ "clr",	F3(3, 0x04, 1), F3(~3, ~0x04, ~1)|RD_G0|SIMM13(~0),		"[1]", F_ALIAS, 0, 0, v6 }, /* st %g0,[rs1+0] */
+
+{ "clrb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|RD_G0|ASI(~0),	"[1+2]", F_ALIAS, 0, 0, v6 },
+{ "clrb",	F3(3, 0x05, 0), F3(~3, ~0x05, ~0)|RD_G0|ASI_RS2(~0),	"[1]", F_ALIAS, 0, 0, v6 }, /* stb %g0,[rs1+%g0] */
+{ "clrb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RD_G0,		"[1+i]", F_ALIAS, 0, 0, v6 },
+{ "clrb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RD_G0,		"[i+1]", F_ALIAS, 0, 0, v6 },
+{ "clrb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RD_G0|RS1_G0,		"[i]", F_ALIAS, 0, 0, v6 },
+{ "clrb",	F3(3, 0x05, 1), F3(~3, ~0x05, ~1)|RD_G0|SIMM13(~0),	"[1]", F_ALIAS, 0, 0, v6 }, /* stb %g0,[rs1+0] */
+
+{ "clrh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|RD_G0|ASI(~0),	"[1+2]", F_ALIAS, 0, 0, v6 },
+{ "clrh",	F3(3, 0x06, 0), F3(~3, ~0x06, ~0)|RD_G0|ASI_RS2(~0),	"[1]", F_ALIAS, 0, 0, v6 }, /* sth %g0,[rs1+%g0] */
+{ "clrh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RD_G0,		"[1+i]", F_ALIAS, 0, 0, v6 },
+{ "clrh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RD_G0,		"[i+1]", F_ALIAS, 0, 0, v6 },
+{ "clrh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RD_G0|RS1_G0,		"[i]", F_ALIAS, 0, 0, v6 },
+{ "clrh",	F3(3, 0x06, 1), F3(~3, ~0x06, ~1)|RD_G0|SIMM13(~0),	"[1]", F_ALIAS, 0, 0, v6 }, /* sth %g0,[rs1+0] */
+
+{ "clrx",	F3(3, 0x0e, 0), F3(~3, ~0x0e, ~0)|RD_G0|ASI(~0),	"[1+2]", F_ALIAS, 0, 0, v9 },
+{ "clrx",	F3(3, 0x0e, 0), F3(~3, ~0x0e, ~0)|RD_G0|ASI_RS2(~0),	"[1]", F_ALIAS, 0, 0, v9 }, /* stx %g0,[rs1+%g0] */
+{ "clrx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RD_G0,		"[1+i]", F_ALIAS, 0, 0, v9 },
+{ "clrx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RD_G0,		"[i+1]", F_ALIAS, 0, 0, v9 },
+{ "clrx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RD_G0|RS1_G0,		"[i]", F_ALIAS, 0, 0, v9 },
+{ "clrx",	F3(3, 0x0e, 1), F3(~3, ~0x0e, ~1)|RD_G0|SIMM13(~0),	"[1]", F_ALIAS, 0, 0, v9 }, /* stx %g0,[rs1+0] */
+
+{ "orcc",	F3(2, 0x12, 0), F3(~2, ~0x12, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "orcc",	F3(2, 0x12, 1), F3(~2, ~0x12, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "orcc",	F3(2, 0x12, 1), F3(~2, ~0x12, ~1),		"i,1,d", 0, 0, 0, v6 },
 
 /* This is not a commutative instruction.  */
-{ "orncc",	F3(2, 0x16, 0), F3(~2, ~0x16, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "orncc",	F3(2, 0x16, 1), F3(~2, ~0x16, ~1),		"1,i,d", 0, 0, v6 },
+{ "orncc",	F3(2, 0x16, 0), F3(~2, ~0x16, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "orncc",	F3(2, 0x16, 1), F3(~2, ~0x16, ~1),		"1,i,d", 0, 0, 0, v6 },
 
 /* This is not a commutative instruction.  */
-{ "orn",	F3(2, 0x06, 0), F3(~2, ~0x06, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "orn",	F3(2, 0x06, 1), F3(~2, ~0x06, ~1),		"1,i,d", 0, 0, v6 },
+{ "orn",	F3(2, 0x06, 0), F3(~2, ~0x06, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "orn",	F3(2, 0x06, 1), F3(~2, ~0x06, ~1),		"1,i,d", 0, 0, 0, v6 },
 
-{ "tst",	F3(2, 0x12, 0), F3(~2, ~0x12, ~0)|RD_G0|ASI_RS2(~0),	"1", 0, 0, v6 }, /* orcc rs1, %g0, %g0 */
-{ "tst",	F3(2, 0x12, 0), F3(~2, ~0x12, ~0)|RD_G0|RS1_G0|ASI(~0),	"2", 0, 0, v6 }, /* orcc %g0, rs2, %g0 */
-{ "tst",	F3(2, 0x12, 1), F3(~2, ~0x12, ~1)|RD_G0|SIMM13(~0),	"1", 0, 0, v6 }, /* orcc rs1, 0, %g0 */
-
-{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|ASI(~0),		"1,2,m", 0, 0, v8 }, /* wr r,r,%asrX */
-{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1),			"1,i,m", 0, 0, v8 }, /* wr r,i,%asrX */
-{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|RS1_G0|ASI(~0),	"2,m", F_PREF_ALIAS, 0, v8 }, /* wr %g0,rs2,%asrX */
-{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|RS1_G0,		"i,m", F_PREF_ALIAS, 0, v8 }, /* wr %g0,i,%asrX */
-{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|SIMM13(~0),		"1,m", F_PREF_ALIAS, 0, v8 }, /* wr rs1,%asrX */
-{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|ASI_RS2(~0),		"1,m", F_PREF_ALIAS, 0, v8 }, /* wr rs1,%g0,%asrX */
-{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|RD_G0|ASI(~0),	"1,2,y", 0, 0, v6 }, /* wr r,r,%y */
-{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|RD_G0,		"1,i,y", 0, 0, v6 }, /* wr r,i,%y */
-{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,y", F_PREF_ALIAS, 0, v6 }, /* wr %g0,rs2,%y */
-{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|RD_G0|RS1_G0,		"i,y", F_PREF_ALIAS, 0, v6 }, /* wr %g0,i,%y */
-{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|RD_G0|SIMM13(~0),	"1,y", F_PREF_ALIAS, 0, v6 }, /* wr rs1,0,%y */
-{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|RD_G0|ASI_RS2(~0),	"1,y", F_PREF_ALIAS, 0, v6 }, /* wr rs1,%g0,%y */
-{ "wr",	F3(2, 0x31, 0),		F3(~2, ~0x31, ~0)|RD_G0|ASI(~0),	"1,2,p", 0, 0, v6notv9 }, /* wr r,r,%psr */
-{ "wr",	F3(2, 0x31, 1),		F3(~2, ~0x31, ~1)|RD_G0,		"1,i,p", 0, 0, v6notv9 }, /* wr r,i,%psr */
-{ "wr",	F3(2, 0x31, 0),		F3(~2, ~0x31, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,p", F_PREF_ALIAS, 0, v6notv9 }, /* wr %g0,rs2,%psr */
-{ "wr",	F3(2, 0x31, 1),		F3(~2, ~0x31, ~1)|RD_G0|RS1_G0,		"i,p", F_PREF_ALIAS, 0, v6notv9 }, /* wr %g0,i,%psr */
-{ "wr",	F3(2, 0x31, 1),		F3(~2, ~0x31, ~1)|RD_G0|SIMM13(~0),	"1,p", F_PREF_ALIAS, 0, v6notv9 }, /* wr rs1,0,%psr */
-{ "wr",	F3(2, 0x31, 0),		F3(~2, ~0x31, ~0)|RD_G0|ASI_RS2(~0),	"1,p", F_PREF_ALIAS, 0, v6notv9 }, /* wr rs1,%g0,%psr */
-{ "wr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0)|RD_G0|ASI(~0),	"1,2,w", 0, 0, v6notv9 }, /* wr r,r,%wim */
-{ "wr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1)|RD_G0,		"1,i,w", 0, 0, v6notv9 }, /* wr r,i,%wim */
-{ "wr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,w", F_PREF_ALIAS, 0, v6notv9 }, /* wr %g0,rs2,%wim */
-{ "wr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1)|RD_G0|RS1_G0,		"i,w", F_PREF_ALIAS, 0, v6notv9 }, /* wr %g0,i,%wim */
-{ "wr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1)|RD_G0|SIMM13(~0),	"1,w", F_PREF_ALIAS, 0, v6notv9 }, /* wr rs1,0,%wim */
-{ "wr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0)|RD_G0|ASI_RS2(~0),	"1,w", F_PREF_ALIAS, 0, v6notv9 }, /* wr rs1,%g0,%wim */
-{ "wr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0)|RD_G0|ASI(~0),	"1,2,t", 0, 0, v6notv9 }, /* wr r,r,%tbr */
-{ "wr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1)|RD_G0,		"1,i,t", 0, 0, v6notv9 }, /* wr r,i,%tbr */
-{ "wr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,t", F_PREF_ALIAS, 0, v6notv9 }, /* wr %g0,rs2,%tbr */
-{ "wr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1)|RD_G0|RS1_G0,		"i,t", F_PREF_ALIAS, 0, v6notv9 }, /* wr %g0,i,%tbr */
-{ "wr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1)|RD_G0|SIMM13(~0),	"1,t", F_PREF_ALIAS, 0, v6notv9 }, /* wr rs1,0,%tbr */
-{ "wr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0)|RD_G0|ASI_RS2(~0),	"1,t", F_PREF_ALIAS, 0, v6notv9 }, /* wr rs1,%g0,%tbr */
-
-{ "wr", F3(2, 0x30, 0)|RD(2),	F3(~2, ~0x30, ~0)|RD(~2)|ASI(~0),	"1,2,E", 0, 0, v9 }, /* wr r,r,%ccr */
-{ "wr", F3(2, 0x30, 1)|RD(2),	F3(~2, ~0x30, ~1)|RD(~2),		"1,i,E", 0, 0, v9 }, /* wr r,i,%ccr */
-{ "wr", F3(2, 0x30, 0)|RD(3),	F3(~2, ~0x30, ~0)|RD(~3)|ASI(~0),	"1,2,o", 0, 0, v9 }, /* wr r,r,%asi */
-{ "wr", F3(2, 0x30, 1)|RD(3),	F3(~2, ~0x30, ~1)|RD(~3),		"1,i,o", 0, 0, v9 }, /* wr r,i,%asi */
-{ "wr", F3(2, 0x30, 0)|RD(6),	F3(~2, ~0x30, ~0)|RD(~6)|ASI(~0),	"1,2,s", 0, 0, v9 }, /* wr r,r,%fprs */
-{ "wr", F3(2, 0x30, 1)|RD(6),	F3(~2, ~0x30, ~1)|RD(~6),		"1,i,s", 0, 0, v9 }, /* wr r,i,%fprs */
-
-{ "wr", F3(2, 0x30, 0)|RD(16),	F3(~2, ~0x30, ~0)|RD(~16)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, v9a }, /* wr r,r,%pcr */
-{ "wr", F3(2, 0x30, 1)|RD(16),	F3(~2, ~0x30, ~1)|RD(~16),		"1,i,_", 0, HWCAP_VIS, v9a }, /* wr r,i,%pcr */
-{ "wr", F3(2, 0x30, 0)|RD(17),	F3(~2, ~0x30, ~0)|RD(~17)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, v9a }, /* wr r,r,%pic */
-{ "wr", F3(2, 0x30, 1)|RD(17),	F3(~2, ~0x30, ~1)|RD(~17),		"1,i,_", 0, HWCAP_VIS, v9a }, /* wr r,i,%pic */
-{ "wr", F3(2, 0x30, 0)|RD(18),	F3(~2, ~0x30, ~0)|RD(~18)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, v9a }, /* wr r,r,%dcr */
-{ "wr", F3(2, 0x30, 1)|RD(18),	F3(~2, ~0x30, ~1)|RD(~18),		"1,i,_", 0, HWCAP_VIS, v9a }, /* wr r,i,%dcr */
-{ "wr", F3(2, 0x30, 0)|RD(19),	F3(~2, ~0x30, ~0)|RD(~19)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, v9a }, /* wr r,r,%gsr */
-{ "wr", F3(2, 0x30, 1)|RD(19),	F3(~2, ~0x30, ~1)|RD(~19),		"1,i,_", 0, HWCAP_VIS, v9a }, /* wr r,i,%gsr */
-{ "wr", F3(2, 0x30, 0)|RD(20),	F3(~2, ~0x30, ~0)|RD(~20)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, v9a }, /* wr r,r,%set_softint */
-{ "wr", F3(2, 0x30, 1)|RD(20),	F3(~2, ~0x30, ~1)|RD(~20),		"1,i,_", 0, HWCAP_VIS, v9a }, /* wr r,i,%set_softint */
-{ "wr", F3(2, 0x30, 0)|RD(21),	F3(~2, ~0x30, ~0)|RD(~21)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, v9a }, /* wr r,r,%clear_softint */
-{ "wr", F3(2, 0x30, 1)|RD(21),	F3(~2, ~0x30, ~1)|RD(~21),		"1,i,_", 0, HWCAP_VIS, v9a }, /* wr r,i,%clear_softint */
-{ "wr", F3(2, 0x30, 0)|RD(22),	F3(~2, ~0x30, ~0)|RD(~22)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, v9a }, /* wr r,r,%softint */
-{ "wr", F3(2, 0x30, 1)|RD(22),	F3(~2, ~0x30, ~1)|RD(~22),		"1,i,_", 0, HWCAP_VIS, v9a }, /* wr r,i,%softint */
-{ "wr", F3(2, 0x30, 0)|RD(23),	F3(~2, ~0x30, ~0)|RD(~23)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, v9a }, /* wr r,r,%tick_cmpr */
-{ "wr", F3(2, 0x30, 1)|RD(23),	F3(~2, ~0x30, ~1)|RD(~23),		"1,i,_", 0, HWCAP_VIS, v9a }, /* wr r,i,%tick_cmpr */
-{ "wr", F3(2, 0x30, 0)|RD(24),	F3(~2, ~0x30, ~0)|RD(~24)|ASI(~0),	"1,2,_", HWCAP_VIS2, 0, v9b }, /* wr r,r,%sys_tick */
-{ "wr", F3(2, 0x30, 1)|RD(24),	F3(~2, ~0x30, ~1)|RD(~24),		"1,i,_", HWCAP_VIS2, 0, v9b }, /* wr r,i,%sys_tick */
-{ "wr", F3(2, 0x30, 0)|RD(25),	F3(~2, ~0x30, ~0)|RD(~25)|ASI(~0),	"1,2,_", HWCAP_VIS2, 0, v9b }, /* wr r,r,%sys_tick_cmpr */
-{ "wr", F3(2, 0x30, 1)|RD(25),	F3(~2, ~0x30, ~1)|RD(~25),		"1,i,_", HWCAP_VIS2, 0, v9b }, /* wr r,i,%sys_tick_cmpr */
-{ "wr", F3(2, 0x30, 0)|RD(26),	F3(~2, ~0x30, ~0)|RD(~26)|ASI(~0),	"1,2,_", 0, HWCAP_CBCOND, v9b }, /* wr r,r,%cfr */
-{ "wr", F3(2, 0x30, 1)|RD(26),	F3(~2, ~0x30, ~1)|RD(~26),		"1,i,_", 0, HWCAP_CBCOND, v9b }, /* wr r,i,%cfr */
-{ "wr", F3(2, 0x30, 0)|RD(27),	F3(~2, ~0x30, ~0)|RD(~27)|ASI(~0),	"1,2,_", 0, HWCAP_PAUSE, v9b }, /* wr r,r,%pause */
-{ "wr", F3(2, 0x30, 1)|RD(27),	F3(~2, ~0x30, ~1)|RD(~27),		"1,i,_", 0, HWCAP_PAUSE, v9b }, /* wr r,i,%pause */
-{ "wr", F3(2, 0x30, 0)|RD(28),	F3(~2, ~0x30, ~0)|RD(~28)|ASI(~0),	"1,2,_", 0, HWCAP_VIS3, v9b }, /* wr r,r,%cps */
-{ "wr", F3(2, 0x30, 1)|RD(28),	F3(~2, ~0x30, ~1)|RD(~28),		"1,i,_", 0, HWCAP_VIS3, v9b }, /* wr r,i,%cps */
-
-{ "pause", F3(2, 0x30, 1)|RD(27)|RS1(0), F3(~2, ~0x30, ~1)|RD(~27)|RS1(~0), "i", 0, HWCAP_PAUSE, v9b }, /* wr %g0,i,%pause */
-
-{ "rd",	F3(2, 0x28, 0),			F3(~2, ~0x28, ~0)|SIMM13(~0),		"M,d", 0, 0, v8 }, /* rd %asrX,r */
-{ "rd",	F3(2, 0x28, 0),			F3(~2, ~0x28, ~0)|RS1_G0|SIMM13(~0),	"y,d", 0, 0, v6 }, /* rd %y,r */
-{ "rd",	F3(2, 0x29, 0),			F3(~2, ~0x29, ~0)|RS1_G0|SIMM13(~0),	"p,d", 0, 0, v6notv9 }, /* rd %psr,r */
-{ "rd",	F3(2, 0x2a, 0),			F3(~2, ~0x2a, ~0)|RS1_G0|SIMM13(~0),	"w,d", 0, 0, v6notv9 }, /* rd %wim,r */
-{ "rd",	F3(2, 0x2b, 0),			F3(~2, ~0x2b, ~0)|RS1_G0|SIMM13(~0),	"t,d", 0, 0, v6notv9 }, /* rd %tbr,r */
-
-{ "rd",	F3(2, 0x28, 0)|RS1(2),		F3(~2, ~0x28, ~0)|RS1(~2)|SIMM13(~0),	"E,d", 0, 0, v9 }, /* rd %ccr,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(3),		F3(~2, ~0x28, ~0)|RS1(~3)|SIMM13(~0),	"o,d", 0, 0, v9 }, /* rd %asi,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(4),		F3(~2, ~0x28, ~0)|RS1(~4)|SIMM13(~0),	"W,d", 0, 0, v9 }, /* rd %tick,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(5),		F3(~2, ~0x28, ~0)|RS1(~5)|SIMM13(~0),	"P,d", 0, 0, v9 }, /* rd %pc,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(6),		F3(~2, ~0x28, ~0)|RS1(~6)|SIMM13(~0),	"s,d", 0, 0, v9 }, /* rd %fprs,r */
-
-{ "rd",	F3(2, 0x28, 0)|RS1(16),		F3(~2, ~0x28, ~0)|RS1(~16)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, v9a }, /* rd %pcr,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(17),		F3(~2, ~0x28, ~0)|RS1(~17)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, v9a }, /* rd %pic,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(18),		F3(~2, ~0x28, ~0)|RS1(~18)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, v9a }, /* rd %dcr,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(19),		F3(~2, ~0x28, ~0)|RS1(~19)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, v9a }, /* rd %gsr,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(22),		F3(~2, ~0x28, ~0)|RS1(~22)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, v9a }, /* rd %softint,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(23),		F3(~2, ~0x28, ~0)|RS1(~23)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, v9a }, /* rd %tick_cmpr,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(24),		F3(~2, ~0x28, ~0)|RS1(~24)|SIMM13(~0),	"/,d", 0, HWCAP_VIS2, v9b }, /* rd %sys_tick,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(25),		F3(~2, ~0x28, ~0)|RS1(~25)|SIMM13(~0),	"/,d", 0, HWCAP_VIS2, v9b }, /* rd %sys_tick_cmpr,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(26),		F3(~2, ~0x28, ~0)|RS1(~26)|SIMM13(~0),	"/,d", 0, HWCAP_CBCOND, v9b }, /* rd %cfr,r */
-{ "rd",	F3(2, 0x28, 0)|RS1(28),		F3(~2, ~0x28, ~0)|RS1(~28)|SIMM13(~0),	"/,d", 0, HWCAP_VIS3, v9b }, /* rd %cps,r */
-
-{ "rdpr",	F3(2, 0x2a, 0),		F3(~2, ~0x2a, ~0)|SIMM13(~0),	"?,d", 0, 0, v9 },   /* rdpr %priv,r */
-{ "wrpr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0),		"1,2,!", 0, 0, v9 }, /* wrpr r1,r2,%priv */
-{ "wrpr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0)|SIMM13(~0),	"1,!", 0, 0, v9 },   /* wrpr r1,%priv */
-{ "wrpr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1),		"1,i,!", 0, 0, v9 }, /* wrpr r1,i,%priv */
-{ "wrpr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1),		"i,1,!", F_ALIAS, 0, v9 }, /* wrpr i,r1,%priv */
-{ "wrpr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1)|RS1(~0),	"i,!", 0, 0, v9 },   /* wrpr i,%priv */
-
-{ "rdhpr",	F3(2, 0x29, 0),		F3(~2, ~0x29, ~0)|SIMM13(~0),	"$,d", 0, 0, v9 },   /* rdhpr %hpriv,r */
-{ "wrhpr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0),		"1,2,%", 0, 0, v9 }, /* wrhpr r1,r2,%hpriv */
-{ "wrhpr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0)|SIMM13(~0),	"1,%", 0, 0, v9 },   /* wrhpr r1,%hpriv */
-{ "wrhpr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1),		"1,i,%", 0, 0, v9 }, /* wrhpr r1,i,%hpriv */
-{ "wrhpr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1),		"i,1,%", F_ALIAS, 0, v9 }, /* wrhpr i,r1,%hpriv */
-{ "wrhpr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1)|RS1(~0),	"i,%", 0, 0, v9 },   /* wrhpr i,%hpriv */
-
-{ "mov",	F3(2, 0x28, 0), F3(~2, ~0x28, ~0)|SIMM13(~0),		"M,d", F_ALIAS, 0, v8 }, /* rd %asr1,r */
-{ "mov",	F3(2, 0x28, 0), F3(~2, ~0x28, ~0)|RS1_G0|SIMM13(~0),	"y,d", F_ALIAS, 0, v6 }, /* rd %y,r */
-{ "mov",	F3(2, 0x29, 0), F3(~2, ~0x29, ~0)|RS1_G0|SIMM13(~0),	"p,d", F_ALIAS, 0, v6notv9 }, /* rd %psr,r */
-{ "mov",	F3(2, 0x2a, 0), F3(~2, ~0x2a, ~0)|RS1_G0|SIMM13(~0),	"w,d", F_ALIAS, 0, v6notv9 }, /* rd %wim,r */
-{ "mov",	F3(2, 0x2b, 0), F3(~2, ~0x2b, ~0)|RS1_G0|SIMM13(~0),	"t,d", F_ALIAS, 0, v6notv9 }, /* rd %tbr,r */
-
-{ "mov",	F3(2, 0x30, 0), F3(~2, ~0x30, ~0)|RS1_G0|ASI(~0),	"2,m", F_ALIAS, 0, v8 }, /* wr %g0,rs2,%asrX */
-{ "mov",	F3(2, 0x30, 1), F3(~2, ~0x30, ~1)|RS1_G0,		"i,m", F_ALIAS, 0, v8 }, /* wr %g0,i,%asrX */
-{ "mov",	F3(2, 0x30, 0), F3(~2, ~0x30, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,y", F_ALIAS, 0, v6 }, /* wr %g0,rs2,%y */
-{ "mov",	F3(2, 0x30, 1), F3(~2, ~0x30, ~1)|RD_G0|RS1_G0,		"i,y", F_ALIAS, 0, v6 }, /* wr %g0,i,%y */
-{ "mov",	F3(2, 0x31, 0), F3(~2, ~0x31, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,p", F_ALIAS, 0, v6notv9 }, /* wr %g0,rs2,%psr */
-{ "mov",	F3(2, 0x31, 1), F3(~2, ~0x31, ~1)|RD_G0|RS1_G0,		"i,p", F_ALIAS, 0, v6notv9 }, /* wr %g0,i,%psr */
-{ "mov",	F3(2, 0x32, 0), F3(~2, ~0x32, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,w", F_ALIAS, 0, v6notv9 }, /* wr %g0,rs2,%wim */
-{ "mov",	F3(2, 0x32, 1), F3(~2, ~0x32, ~1)|RD_G0|RS1_G0,		"i,w", F_ALIAS, 0, v6notv9 }, /* wr %g0,i,%wim */
-{ "mov",	F3(2, 0x33, 0), F3(~2, ~0x33, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,t", F_ALIAS, 0, v6notv9 }, /* wr %g0,rs2,%tbr */
-{ "mov",	F3(2, 0x33, 1), F3(~2, ~0x33, ~1)|RD_G0|RS1_G0,		"i,t", F_ALIAS, 0, v6notv9 }, /* wr %g0,i,%tbr */
-
-{ "mov",	F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|RS1_G0|ASI(~0),	"2,d", 0, 0, v6 }, /* or %g0,rs2,d */
-{ "mov",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1)|RS1_G0,		"i,d", 0, 0, v6 }, /* or %g0,i,d	*/
-{ "mov",        F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|ASI_RS2(~0),		"1,d", 0, 0, v6 }, /* or rs1,%g0,d   */
-{ "mov",        F3(2, 0x02, 1), F3(~2, ~0x02, ~1)|SIMM13(~0),		"1,d", 0, 0, v6 }, /* or rs1,0,d */
-
-{ "or",	F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "or",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1),		"1,i,d", 0, 0, v6 },
-{ "or",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1),		"i,1,d", 0, 0, v6 },
+{ "tst",	F3(2, 0x12, 0), F3(~2, ~0x12, ~0)|RD_G0|ASI_RS2(~0),	"1", 0, 0, 0, v6 }, /* orcc rs1, %g0, %g0 */
+{ "tst",	F3(2, 0x12, 0), F3(~2, ~0x12, ~0)|RD_G0|RS1_G0|ASI(~0),	"2", 0, 0, 0, v6 }, /* orcc %g0, rs2, %g0 */
+{ "tst",	F3(2, 0x12, 1), F3(~2, ~0x12, ~1)|RD_G0|SIMM13(~0),	"1", 0, 0, 0, v6 }, /* orcc rs1, 0, %g0 */
+
+
+{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|ASI(~0),		"1,2,m", 0, 0, 0, v8 }, /* wr r,r,%asrX */
+{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1),			"1,i,m", 0, 0, 0, v8 }, /* wr r,i,%asrX */
+{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|RS1_G0|ASI(~0),	"2,m", F_PREF_ALIAS, 0, 0, v8 }, /* wr %g0,rs2,%asrX */
+{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|RS1_G0,		"i,m", F_PREF_ALIAS, 0, 0, v8 }, /* wr %g0,i,%asrX */
+{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|SIMM13(~0),		"1,m", F_PREF_ALIAS, 0, 0, v8 }, /* wr rs1,%asrX */
+{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|ASI_RS2(~0),		"1,m", F_PREF_ALIAS, 0, 0, v8 }, /* wr rs1,%g0,%asrX */
+{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|RD_G0|ASI(~0),	"1,2,y", 0, 0, 0, v6 }, /* wr r,r,%y */
+{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|RD_G0,		"1,i,y", 0, 0, 0, v6 }, /* wr r,i,%y */
+{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,y", F_PREF_ALIAS, 0, 0, v6 }, /* wr %g0,rs2,%y */
+{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|RD_G0|RS1_G0,		"i,y", F_PREF_ALIAS, 0, 0, v6 }, /* wr %g0,i,%y */
+{ "wr",	F3(2, 0x30, 1),		F3(~2, ~0x30, ~1)|RD_G0|SIMM13(~0),	"1,y", F_PREF_ALIAS, 0, 0, v6 }, /* wr rs1,0,%y */
+{ "wr",	F3(2, 0x30, 0),		F3(~2, ~0x30, ~0)|RD_G0|ASI_RS2(~0),	"1,y", F_PREF_ALIAS, 0, 0, v6 }, /* wr rs1,%g0,%y */
+{ "wr",	F3(2, 0x31, 0),		F3(~2, ~0x31, ~0)|RD_G0|ASI(~0),	"1,2,p", 0, 0, 0, v6notv9 }, /* wr r,r,%psr */
+{ "wr",	F3(2, 0x31, 1),		F3(~2, ~0x31, ~1)|RD_G0,		"1,i,p", 0, 0, 0, v6notv9 }, /* wr r,i,%psr */
+{ "wr",	F3(2, 0x31, 0),		F3(~2, ~0x31, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,p", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr %g0,rs2,%psr */
+{ "wr",	F3(2, 0x31, 1),		F3(~2, ~0x31, ~1)|RD_G0|RS1_G0,		"i,p", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr %g0,i,%psr */
+{ "wr",	F3(2, 0x31, 1),		F3(~2, ~0x31, ~1)|RD_G0|SIMM13(~0),	"1,p", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr rs1,0,%psr */
+{ "wr",	F3(2, 0x31, 0),		F3(~2, ~0x31, ~0)|RD_G0|ASI_RS2(~0),	"1,p", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr rs1,%g0,%psr */
+{ "wr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0)|RD_G0|ASI(~0),	"1,2,w", 0, 0, 0, v6notv9 }, /* wr r,r,%wim */
+{ "wr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1)|RD_G0,		"1,i,w", 0, 0, 0, v6notv9 }, /* wr r,i,%wim */
+{ "wr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,w", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr %g0,rs2,%wim */
+{ "wr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1)|RD_G0|RS1_G0,		"i,w", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr %g0,i,%wim */
+{ "wr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1)|RD_G0|SIMM13(~0),	"1,w", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr rs1,0,%wim */
+{ "wr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0)|RD_G0|ASI_RS2(~0),	"1,w", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr rs1,%g0,%wim */
+{ "wr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0)|RD_G0|ASI(~0),	"1,2,t", 0, 0, 0, v6notv9 }, /* wr r,r,%tbr */
+{ "wr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1)|RD_G0,		"1,i,t", 0, 0, 0, v6notv9 }, /* wr r,i,%tbr */
+{ "wr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,t", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr %g0,rs2,%tbr */
+{ "wr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1)|RD_G0|RS1_G0,		"i,t", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr %g0,i,%tbr */
+{ "wr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1)|RD_G0|SIMM13(~0),	"1,t", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr rs1,0,%tbr */
+{ "wr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0)|RD_G0|ASI_RS2(~0),	"1,t", F_PREF_ALIAS, 0, 0, v6notv9 }, /* wr rs1,%g0,%tbr */
+
+{ "wr", F3(2, 0x30, 0)|RD(2),	F3(~2, ~0x30, ~0)|RD(~2)|ASI(~0),	"1,2,E", 0, 0, 0, v9 }, /* wr r,r,%ccr */
+{ "wr", F3(2, 0x30, 1)|RD(2),	F3(~2, ~0x30, ~1)|RD(~2),		"1,i,E", 0, 0, 0, v9 }, /* wr r,i,%ccr */
+{ "wr", F3(2, 0x30, 0)|RD(3),	F3(~2, ~0x30, ~0)|RD(~3)|ASI(~0),	"1,2,o", 0, 0, 0, v9 }, /* wr r,r,%asi */
+{ "wr", F3(2, 0x30, 1)|RD(3),	F3(~2, ~0x30, ~1)|RD(~3),		"1,i,o", 0, 0, 0, v9 }, /* wr r,i,%asi */
+{ "wr", F3(2, 0x30, 0)|RD(6),	F3(~2, ~0x30, ~0)|RD(~6)|ASI(~0),	"1,2,s", 0, 0, 0, v9 }, /* wr r,r,%fprs */
+{ "wr", F3(2, 0x30, 1)|RD(6),	F3(~2, ~0x30, ~1)|RD(~6),		"1,i,s", 0, 0, 0, v9 }, /* wr r,i,%fprs */
+{ "wr", F3(2, 0x30, 0)|RD(14),  F3(~2, ~0x30, ~0)|RD(~14),              "1,2,{", 0, 0, HWCAP2_SPARC5, v9b }, /* wr r,r,%mcdper */
+{ "wr", F3(2, 0x30, 1)|RD(14),  F3(~2, ~0x30, ~1)|RD(~14),              "1,i,{", 0, 0, HWCAP2_SPARC5, v9b }, /* wr r,i,%mcdper */
+
+{ "wr", F3(2, 0x30, 0)|RD(16),	F3(~2, ~0x30, ~0)|RD(~16)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,r,%pcr */
+{ "wr", F3(2, 0x30, 1)|RD(16),	F3(~2, ~0x30, ~1)|RD(~16),		"1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%pcr */
+{ "wr", F3(2, 0x30, 0)|RD(17),	F3(~2, ~0x30, ~0)|RD(~17)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,r,%pic */
+{ "wr", F3(2, 0x30, 1)|RD(17),	F3(~2, ~0x30, ~1)|RD(~17),		"1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%pic */
+{ "wr", F3(2, 0x30, 0)|RD(18),	F3(~2, ~0x30, ~0)|RD(~18)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,r,%dcr */
+{ "wr", F3(2, 0x30, 1)|RD(18),	F3(~2, ~0x30, ~1)|RD(~18),		"1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%dcr */
+{ "wr", F3(2, 0x30, 0)|RD(19),	F3(~2, ~0x30, ~0)|RD(~19)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,r,%gsr */
+{ "wr", F3(2, 0x30, 1)|RD(19),	F3(~2, ~0x30, ~1)|RD(~19),		"1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%gsr */
+{ "wr", F3(2, 0x30, 0)|RD(20),	F3(~2, ~0x30, ~0)|RD(~20)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,r,%set_softint */
+{ "wr", F3(2, 0x30, 1)|RD(20),	F3(~2, ~0x30, ~1)|RD(~20),		"1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%set_softint */
+{ "wr", F3(2, 0x30, 0)|RD(21),	F3(~2, ~0x30, ~0)|RD(~21)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,r,%clear_softint */
+{ "wr", F3(2, 0x30, 1)|RD(21),	F3(~2, ~0x30, ~1)|RD(~21),		"1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%clear_softint */
+{ "wr", F3(2, 0x30, 0)|RD(22),	F3(~2, ~0x30, ~0)|RD(~22)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,r,%softint */
+{ "wr", F3(2, 0x30, 1)|RD(22),	F3(~2, ~0x30, ~1)|RD(~22),		"1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%softint */
+{ "wr", F3(2, 0x30, 0)|RD(23),	F3(~2, ~0x30, ~0)|RD(~23)|ASI(~0),	"1,2,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,r,%tick_cmpr */
+{ "wr", F3(2, 0x30, 1)|RD(23),	F3(~2, ~0x30, ~1)|RD(~23),		"1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%tick_cmpr */
+{ "wr", F3(2, 0x30, 0)|RD(24),	F3(~2, ~0x30, ~0)|RD(~24)|ASI(~0),	"1,2,_", 0, HWCAP_VIS2, 0, v9b }, /* wr r,r,%sys_tick */
+{ "wr", F3(2, 0x30, 1)|RD(24),	F3(~2, ~0x30, ~1)|RD(~24),		"1,i,_", 0, HWCAP_VIS2, 0, v9b }, /* wr r,i,%sys_tick */
+{ "wr", F3(2, 0x30, 0)|RD(25),	F3(~2, ~0x30, ~0)|RD(~25)|ASI(~0),	"1,2,_", 0, HWCAP_VIS2, 0, v9b }, /* wr r,r,%sys_tick_cmpr */
+{ "wr", F3(2, 0x30, 1)|RD(25),	F3(~2, ~0x30, ~1)|RD(~25),		"1,i,_", 0, HWCAP_VIS2, 0, v9b }, /* wr r,i,%sys_tick_cmpr */
+{ "wr", F3(2, 0x30, 0)|RD(26),	F3(~2, ~0x30, ~0)|RD(~26)|ASI(~0),	"1,2,_", 0, HWCAP_CBCOND, 0, v9b }, /* wr r,r,%cfr */
+{ "wr", F3(2, 0x30, 1)|RD(26),	F3(~2, ~0x30, ~1)|RD(~26),		"1,i,_", 0, HWCAP_CBCOND, 0, v9b }, /* wr r,i,%cfr */
+{ "wr", F3(2, 0x30, 0)|RD(27),	F3(~2, ~0x30, ~0)|RD(~27)|ASI(~0),	"1,2,_", 0, HWCAP_PAUSE, 0, v9b }, /* wr r,r,%pause */
+{ "wr", F3(2, 0x30, 1)|RD(27),	F3(~2, ~0x30, ~1)|RD(~27),		"1,i,_", 0, HWCAP_PAUSE, 0, v9b }, /* wr r,i,%pause */
+{ "wr",    F3(2, 0x30, 0)|RD(28), F3(~2, ~0x30, ~0)|RD(~28)|ASI(~0), "1,2,_", 0, 0, HWCAP2_MWAIT, v9b }, /* wr r,r,%mwait */
+{ "wr", F3(2, 0x30, 1)|RD(28),	F3(~2, ~0x30, ~1)|RD(~28),		"1,i,_", 0, 0, HWCAP2_MWAIT, v9b }, /* wr r,i,%mwait */
+
+{ "pause", F3(2, 0x30, 1)|RD(27)|RS1(0), F3(~2, ~0x30, ~1)|RD(~27)|RS1(~0), "i", 0, HWCAP_PAUSE, 0, v9b }, /* wr %g0,i,%pause */
+
+{ "rd",	F3(2, 0x28, 0),			F3(~2, ~0x28, ~0)|SIMM13(~0),		"M,d", 0, 0, 0, v8 }, /* rd %asrX,r */
+{ "rd",	F3(2, 0x28, 0),			F3(~2, ~0x28, ~0)|RS1_G0|SIMM13(~0),	"y,d", 0, 0, 0, v6 }, /* rd %y,r */
+{ "rd",	F3(2, 0x29, 0),			F3(~2, ~0x29, ~0)|RS1_G0|SIMM13(~0),	"p,d", 0, 0, 0, v6notv9 }, /* rd %psr,r */
+{ "rd",	F3(2, 0x2a, 0),			F3(~2, ~0x2a, ~0)|RS1_G0|SIMM13(~0),	"w,d", 0, 0, 0, v6notv9 }, /* rd %wim,r */
+{ "rd",	F3(2, 0x2b, 0),			F3(~2, ~0x2b, ~0)|RS1_G0|SIMM13(~0),	"t,d", 0, 0, 0, v6notv9 }, /* rd %tbr,r */
+
+{ "rd",	F3(2, 0x28, 0)|RS1(2),		F3(~2, ~0x28, ~0)|RS1(~2)|SIMM13(~0),	"E,d", 0, 0, 0, v9 }, /* rd %ccr,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(3),		F3(~2, ~0x28, ~0)|RS1(~3)|SIMM13(~0),	"o,d", 0, 0, 0, v9 }, /* rd %asi,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(4),		F3(~2, ~0x28, ~0)|RS1(~4)|SIMM13(~0),	"W,d", 0, 0, 0, v9 }, /* rd %tick,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(5),		F3(~2, ~0x28, ~0)|RS1(~5)|SIMM13(~0),	"P,d", 0, 0, 0, v9 }, /* rd %pc,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(6),		F3(~2, ~0x28, ~0)|RS1(~6)|SIMM13(~0),	"s,d", 0, 0, 0, v9 }, /* rd %fprs,r */
+{ "rd", F3(2, 0x28, 0)|RS1(14),         F3(~2, ~0x28, ~0)|RS1(~14)|SIMM13(~0),  "{,d", 0, 0, HWCAP2_SPARC5, v9b }, /* rd %mcdper,r */
+
+{ "rd",	F3(2, 0x28, 0)|RS1(16),		F3(~2, ~0x28, ~0)|RS1(~16)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, 0, v9a }, /* rd %pcr,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(17),		F3(~2, ~0x28, ~0)|RS1(~17)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, 0, v9a }, /* rd %pic,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(18),		F3(~2, ~0x28, ~0)|RS1(~18)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, 0, v9a }, /* rd %dcr,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(19),		F3(~2, ~0x28, ~0)|RS1(~19)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, 0, v9a }, /* rd %gsr,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(22),		F3(~2, ~0x28, ~0)|RS1(~22)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, 0, v9a }, /* rd %softint,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(23),		F3(~2, ~0x28, ~0)|RS1(~23)|SIMM13(~0),	"/,d", 0, HWCAP_VIS, 0, v9a }, /* rd %tick_cmpr,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(24),		F3(~2, ~0x28, ~0)|RS1(~24)|SIMM13(~0),	"/,d", 0, HWCAP_VIS2, 0, v9b }, /* rd %sys_tick,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(25),		F3(~2, ~0x28, ~0)|RS1(~25)|SIMM13(~0),	"/,d", 0, HWCAP_VIS2, 0, v9b }, /* rd %sys_tick_cmpr,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(26),		F3(~2, ~0x28, ~0)|RS1(~26)|SIMM13(~0),	"/,d", 0, HWCAP_CBCOND, 0, v9b }, /* rd %cfr,r */
+{ "rd",	F3(2, 0x28, 0)|RS1(28),		F3(~2, ~0x28, ~0)|RS1(~28)|SIMM13(~0),	"/,d", 0, 0, HWCAP2_MWAIT, v9b }, /* rd %mwait,r */
+
+{ "rdpr",	F3(2, 0x2a, 0),		F3(~2, ~0x2a, ~0)|SIMM13(~0),	"?,d", 0, 0, 0, v9 },   /* rdpr %priv,r */
+{ "wrpr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0),		"1,2,!", 0, 0, 0, v9 }, /* wrpr r1,r2,%priv */
+{ "wrpr",	F3(2, 0x32, 0),		F3(~2, ~0x32, ~0)|SIMM13(~0),	"1,!", 0, 0, 0, v9 },   /* wrpr r1,%priv */
+{ "wrpr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1),		"1,i,!", 0, 0, 0, v9 }, /* wrpr r1,i,%priv */
+{ "wrpr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1),		"i,1,!", F_ALIAS, 0, 0, v9 }, /* wrpr i,r1,%priv */
+{ "wrpr",	F3(2, 0x32, 1),		F3(~2, ~0x32, ~1)|RS1(~0),	"i,!", 0, 0, 0, v9 },   /* wrpr i,%priv */
+
+{ "rdhpr",	F3(2, 0x29, 0),		F3(~2, ~0x29, ~0)|SIMM13(~0),	"$,d", 0, 0, 0, v9 },   /* rdhpr %hpriv,r */
+{ "wrhpr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0),		"1,2,%", 0, 0, 0, v9 }, /* wrhpr r1,r2,%hpriv */
+{ "wrhpr",	F3(2, 0x33, 0),		F3(~2, ~0x33, ~0)|SIMM13(~0),	"1,%", 0, 0, 0, v9 },   /* wrhpr r1,%hpriv */
+{ "wrhpr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1),		"1,i,%", 0, 0, 0, v9 }, /* wrhpr r1,i,%hpriv */
+{ "wrhpr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1),		"i,1,%", F_ALIAS, 0, 0, v9 }, /* wrhpr i,r1,%hpriv */
+{ "wrhpr",	F3(2, 0x33, 1),		F3(~2, ~0x33, ~1)|RS1(~0),	"i,%", 0, 0, 0, v9 },   /* wrhpr i,%hpriv */
+
+{ "mov",	F3(2, 0x28, 0), F3(~2, ~0x28, ~0)|SIMM13(~0),		"M,d", F_ALIAS, 0, 0, v8 }, /* rd %asr1,r */
+{ "mov",	F3(2, 0x28, 0), F3(~2, ~0x28, ~0)|RS1_G0|SIMM13(~0),	"y,d", F_ALIAS, 0, 0, v6 }, /* rd %y,r */
+{ "mov",	F3(2, 0x29, 0), F3(~2, ~0x29, ~0)|RS1_G0|SIMM13(~0),	"p,d", F_ALIAS, 0, 0, v6notv9 }, /* rd %psr,r */
+{ "mov",	F3(2, 0x2a, 0), F3(~2, ~0x2a, ~0)|RS1_G0|SIMM13(~0),	"w,d", F_ALIAS, 0, 0, v6notv9 }, /* rd %wim,r */
+{ "mov",	F3(2, 0x2b, 0), F3(~2, ~0x2b, ~0)|RS1_G0|SIMM13(~0),	"t,d", F_ALIAS, 0, 0, v6notv9 }, /* rd %tbr,r */
+
+{ "mov",	F3(2, 0x30, 0), F3(~2, ~0x30, ~0)|RS1_G0|ASI(~0),	"2,m", F_ALIAS, 0, 0, v8 }, /* wr %g0,rs2,%asrX */
+{ "mov",	F3(2, 0x30, 1), F3(~2, ~0x30, ~1)|RS1_G0,		"i,m", F_ALIAS, 0, 0, v8 }, /* wr %g0,i,%asrX */
+{ "mov",	F3(2, 0x30, 0), F3(~2, ~0x30, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,y", F_ALIAS, 0, 0, v6 }, /* wr %g0,rs2,%y */
+{ "mov",	F3(2, 0x30, 1), F3(~2, ~0x30, ~1)|RD_G0|RS1_G0,		"i,y", F_ALIAS, 0, 0, v6 }, /* wr %g0,i,%y */
+{ "mov",	F3(2, 0x31, 0), F3(~2, ~0x31, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,p", F_ALIAS, 0, 0, v6notv9 }, /* wr %g0,rs2,%psr */
+{ "mov",	F3(2, 0x31, 1), F3(~2, ~0x31, ~1)|RD_G0|RS1_G0,		"i,p", F_ALIAS, 0, 0, v6notv9 }, /* wr %g0,i,%psr */
+{ "mov",	F3(2, 0x32, 0), F3(~2, ~0x32, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,w", F_ALIAS, 0, 0, v6notv9 }, /* wr %g0,rs2,%wim */
+{ "mov",	F3(2, 0x32, 1), F3(~2, ~0x32, ~1)|RD_G0|RS1_G0,		"i,w", F_ALIAS, 0, 0, v6notv9 }, /* wr %g0,i,%wim */
+{ "mov",	F3(2, 0x33, 0), F3(~2, ~0x33, ~0)|RD_G0|RS1_G0|ASI(~0),	"2,t", F_ALIAS, 0, 0, v6notv9 }, /* wr %g0,rs2,%tbr */
+{ "mov",	F3(2, 0x33, 1), F3(~2, ~0x33, ~1)|RD_G0|RS1_G0,		"i,t", F_ALIAS, 0, 0, v6notv9 }, /* wr %g0,i,%tbr */
+
+{ "mov",	F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|RS1_G0|ASI(~0),	"2,d", 0, 0, 0, v6 }, /* or %g0,rs2,d */
+{ "mov",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1)|RS1_G0,		"i,d", 0, 0, 0, v6 }, /* or %g0,i,d	*/
+{ "mov",        F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|ASI_RS2(~0),		"1,d", 0, 0, 0, v6 }, /* or rs1,%g0,d   */
+{ "mov",        F3(2, 0x02, 1), F3(~2, ~0x02, ~1)|SIMM13(~0),		"1,d", 0, 0, 0, v6 }, /* or rs1,0,d */
+
+{ "or",	F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "or",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "or",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1),		"i,1,d", 0, 0, 0, v6 },
 
-{ "bset",	F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|ASI(~0),	"2,r", F_ALIAS, 0, v6 },	/* or rd,rs2,rd */
-{ "bset",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1),		"i,r", F_ALIAS, 0, v6 },	/* or rd,i,rd */
+{ "bset",	F3(2, 0x02, 0), F3(~2, ~0x02, ~0)|ASI(~0),	"2,r", F_ALIAS, 0, 0, v6 },	/* or rd,rs2,rd */
+{ "bset",	F3(2, 0x02, 1), F3(~2, ~0x02, ~1),		"i,r", F_ALIAS, 0, 0, v6 },	/* or rd,i,rd */
 
 /* This is not a commutative instruction.  */
-{ "andn",	F3(2, 0x05, 0), F3(~2, ~0x05, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "andn",	F3(2, 0x05, 1), F3(~2, ~0x05, ~1),		"1,i,d", 0, 0, v6 },
+{ "andn",	F3(2, 0x05, 0), F3(~2, ~0x05, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "andn",	F3(2, 0x05, 1), F3(~2, ~0x05, ~1),		"1,i,d", 0, 0, 0, v6 },
 
 /* This is not a commutative instruction.  */
-{ "andncc",	F3(2, 0x15, 0), F3(~2, ~0x15, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "andncc",	F3(2, 0x15, 1), F3(~2, ~0x15, ~1),		"1,i,d", 0, 0, v6 },
+{ "andncc",	F3(2, 0x15, 0), F3(~2, ~0x15, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "andncc",	F3(2, 0x15, 1), F3(~2, ~0x15, ~1),		"1,i,d", 0, 0, 0, v6 },
 
-{ "bclr",	F3(2, 0x05, 0), F3(~2, ~0x05, ~0)|ASI(~0),	"2,r", F_ALIAS, 0, v6 },	/* andn rd,rs2,rd */
-{ "bclr",	F3(2, 0x05, 1), F3(~2, ~0x05, ~1),		"i,r", F_ALIAS, 0, v6 },	/* andn rd,i,rd */
+{ "bclr",	F3(2, 0x05, 0), F3(~2, ~0x05, ~0)|ASI(~0),	"2,r", F_ALIAS, 0, 0, v6 },	/* andn rd,rs2,rd */
+{ "bclr",	F3(2, 0x05, 1), F3(~2, ~0x05, ~1),		"i,r", F_ALIAS, 0, 0, v6 },	/* andn rd,i,rd */
 
-{ "cmp",	F3(2, 0x14, 0), F3(~2, ~0x14, ~0)|RD_G0|ASI(~0),	"1,2", 0, 0, v6 },	/* subcc rs1,rs2,%g0 */
-{ "cmp",	F3(2, 0x14, 1), F3(~2, ~0x14, ~1)|RD_G0,		"1,i", 0, 0, v6 },	/* subcc rs1,i,%g0 */
+{ "cmp",	F3(2, 0x14, 0), F3(~2, ~0x14, ~0)|RD_G0|ASI(~0),	"1,2", 0, 0, 0, v6 },	/* subcc rs1,rs2,%g0 */
+{ "cmp",	F3(2, 0x14, 1), F3(~2, ~0x14, ~1)|RD_G0,		"1,i", 0, 0, 0, v6 },	/* subcc rs1,i,%g0 */
 
-{ "sub",	F3(2, 0x04, 0), F3(~2, ~0x04, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "sub",	F3(2, 0x04, 1), F3(~2, ~0x04, ~1),		"1,i,d", 0, 0, v6 },
-
-{ "subcc",	F3(2, 0x14, 0), F3(~2, ~0x14, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "subcc",	F3(2, 0x14, 1), F3(~2, ~0x14, ~1),		"1,i,d", 0, 0, v6 },
-
-{ "subx",	F3(2, 0x0c, 0), F3(~2, ~0x0c, ~0)|ASI(~0),	"1,2,d", 0, 0, v6notv9 },
-{ "subx",	F3(2, 0x0c, 1), F3(~2, ~0x0c, ~1),		"1,i,d", 0, 0, v6notv9 },
-{ "subc",	F3(2, 0x0c, 0), F3(~2, ~0x0c, ~0)|ASI(~0),	"1,2,d", 0, 0, v9 },
-{ "subc",	F3(2, 0x0c, 1), F3(~2, ~0x0c, ~1),		"1,i,d", 0, 0, v9 },
-
-{ "subxcc",	F3(2, 0x1c, 0), F3(~2, ~0x1c, ~0)|ASI(~0),	"1,2,d", 0, 0, v6notv9 },
-{ "subxcc",	F3(2, 0x1c, 1), F3(~2, ~0x1c, ~1),		"1,i,d", 0, 0, v6notv9 },
-{ "subccc",	F3(2, 0x1c, 0), F3(~2, ~0x1c, ~0)|ASI(~0),	"1,2,d", 0, 0, v9 },
-{ "subccc",	F3(2, 0x1c, 1), F3(~2, ~0x1c, ~1),		"1,i,d", 0, 0, v9 },
-
-{ "and",	F3(2, 0x01, 0), F3(~2, ~0x01, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "and",	F3(2, 0x01, 1), F3(~2, ~0x01, ~1),		"1,i,d", 0, 0, v6 },
-{ "and",	F3(2, 0x01, 1), F3(~2, ~0x01, ~1),		"i,1,d", 0, 0, v6 },
-
-{ "andcc",	F3(2, 0x11, 0), F3(~2, ~0x11, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "andcc",	F3(2, 0x11, 1), F3(~2, ~0x11, ~1),		"1,i,d", 0, 0, v6 },
-{ "andcc",	F3(2, 0x11, 1), F3(~2, ~0x11, ~1),		"i,1,d", 0, 0, v6 },
-
-{ "dec",	F3(2, 0x04, 1)|SIMM13(0x1), F3(~2, ~0x04, ~1)|SIMM13(~0x0001), "r", F_ALIAS, 0, v6 },	/* sub rd,1,rd */
-{ "dec",	F3(2, 0x04, 1),		    F3(~2, ~0x04, ~1),		       "i,r", F_ALIAS, 0, v8 },	/* sub rd,imm,rd */
-{ "deccc",	F3(2, 0x14, 1)|SIMM13(0x1), F3(~2, ~0x14, ~1)|SIMM13(~0x0001), "r", F_ALIAS, 0, v6 },	/* subcc rd,1,rd */
-{ "deccc",	F3(2, 0x14, 1),		    F3(~2, ~0x14, ~1),		       "i,r", F_ALIAS, 0, v8 },	/* subcc rd,imm,rd */
-{ "inc",	F3(2, 0x00, 1)|SIMM13(0x1), F3(~2, ~0x00, ~1)|SIMM13(~0x0001), "r", F_ALIAS, 0, v6 },	/* add rd,1,rd */
-{ "inc",	F3(2, 0x00, 1),		    F3(~2, ~0x00, ~1),		       "i,r", F_ALIAS, 0, v8 },	/* add rd,imm,rd */
-{ "inccc",	F3(2, 0x10, 1)|SIMM13(0x1), F3(~2, ~0x10, ~1)|SIMM13(~0x0001), "r", F_ALIAS, 0, v6 },	/* addcc rd,1,rd */
-{ "inccc",	F3(2, 0x10, 1),		    F3(~2, ~0x10, ~1),		       "i,r", F_ALIAS, 0, v8 },	/* addcc rd,imm,rd */
-
-{ "btst",	F3(2, 0x11, 0), F3(~2, ~0x11, ~0)|RD_G0|ASI(~0), "1,2", F_ALIAS, 0, v6 },	/* andcc rs1,rs2,%g0 */
-{ "btst",	F3(2, 0x11, 1), F3(~2, ~0x11, ~1)|RD_G0, "i,1", F_ALIAS, 0, v6 },	/* andcc rs1,i,%g0 */
-
-{ "neg",	F3(2, 0x04, 0), F3(~2, ~0x04, ~0)|RS1_G0|ASI(~0), "2,d", F_ALIAS, 0, v6 }, /* sub %g0,rs2,rd */
-{ "neg",	F3(2, 0x04, 0), F3(~2, ~0x04, ~0)|RS1_G0|ASI(~0), "O", F_ALIAS, 0, v6 }, /* sub %g0,rd,rd */
-
-{ "add",	F3(2, 0x00, 0), F3(~2, ~0x00, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "add",	F3(2, 0x00, 1), F3(~2, ~0x00, ~1),		"1,i,d", 0, 0, v6 },
-{ "add",	F3(2, 0x00, 1), F3(~2, ~0x00, ~1),		"i,1,d", 0, 0, v6 },
-{ "addcc",	F3(2, 0x10, 0), F3(~2, ~0x10, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "addcc",	F3(2, 0x10, 1), F3(~2, ~0x10, ~1),		"1,i,d", 0, 0, v6 },
-{ "addcc",	F3(2, 0x10, 1), F3(~2, ~0x10, ~1),		"i,1,d", 0, 0, v6 },
-
-{ "addx",	F3(2, 0x08, 0), F3(~2, ~0x08, ~0)|ASI(~0),	"1,2,d", 0, 0, v6notv9 },
-{ "addx",	F3(2, 0x08, 1), F3(~2, ~0x08, ~1),		"1,i,d", 0, 0, v6notv9 },
-{ "addx",	F3(2, 0x08, 1), F3(~2, ~0x08, ~1),		"i,1,d", 0, 0, v6notv9 },
-{ "addc",	F3(2, 0x08, 0), F3(~2, ~0x08, ~0)|ASI(~0),	"1,2,d", 0, 0, v9 },
-{ "addc",	F3(2, 0x08, 1), F3(~2, ~0x08, ~1),		"1,i,d", 0, 0, v9 },
-{ "addc",	F3(2, 0x08, 1), F3(~2, ~0x08, ~1),		"i,1,d", 0, 0, v9 },
-
-{ "addxcc",	F3(2, 0x18, 0), F3(~2, ~0x18, ~0)|ASI(~0),	"1,2,d", 0, 0, v6notv9 },
-{ "addxcc",	F3(2, 0x18, 1), F3(~2, ~0x18, ~1),		"1,i,d", 0, 0, v6notv9 },
-{ "addxcc",	F3(2, 0x18, 1), F3(~2, ~0x18, ~1),		"i,1,d", 0, 0, v6notv9 },
-{ "addccc",	F3(2, 0x18, 0), F3(~2, ~0x18, ~0)|ASI(~0),	"1,2,d", 0, 0, v9 },
-{ "addccc",	F3(2, 0x18, 1), F3(~2, ~0x18, ~1),		"1,i,d", 0, 0, v9 },
-{ "addccc",	F3(2, 0x18, 1), F3(~2, ~0x18, ~1),		"i,1,d", 0, 0, v9 },
-
-{ "smul",	F3(2, 0x0b, 0), F3(~2, ~0x0b, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_MUL32, v8 },
-{ "smul",	F3(2, 0x0b, 1), F3(~2, ~0x0b, ~1),		"1,i,d", 0, HWCAP_MUL32, v8 },
-{ "smul",	F3(2, 0x0b, 1), F3(~2, ~0x0b, ~1),		"i,1,d", 0, HWCAP_MUL32, v8 },
-{ "smulcc",	F3(2, 0x1b, 0), F3(~2, ~0x1b, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_MUL32, v8 },
-{ "smulcc",	F3(2, 0x1b, 1), F3(~2, ~0x1b, ~1),		"1,i,d", 0, HWCAP_MUL32, v8 },
-{ "smulcc",	F3(2, 0x1b, 1), F3(~2, ~0x1b, ~1),		"i,1,d", 0, HWCAP_MUL32, v8 },
-{ "umul",	F3(2, 0x0a, 0), F3(~2, ~0x0a, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_MUL32, v8 },
-{ "umul",	F3(2, 0x0a, 1), F3(~2, ~0x0a, ~1),		"1,i,d", 0, HWCAP_MUL32, v8 },
-{ "umul",	F3(2, 0x0a, 1), F3(~2, ~0x0a, ~1),		"i,1,d", 0, HWCAP_MUL32, v8 },
-{ "umulcc",	F3(2, 0x1a, 0), F3(~2, ~0x1a, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_MUL32, v8 },
-{ "umulcc",	F3(2, 0x1a, 1), F3(~2, ~0x1a, ~1),		"1,i,d", 0, HWCAP_MUL32, v8 },
-{ "umulcc",	F3(2, 0x1a, 1), F3(~2, ~0x1a, ~1),		"i,1,d", 0, HWCAP_MUL32, v8 },
-{ "sdiv",	F3(2, 0x0f, 0), F3(~2, ~0x0f, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_DIV32, v8 },
-{ "sdiv",	F3(2, 0x0f, 1), F3(~2, ~0x0f, ~1),		"1,i,d", 0, HWCAP_DIV32, v8 },
-{ "sdiv",	F3(2, 0x0f, 1), F3(~2, ~0x0f, ~1),		"i,1,d", 0, HWCAP_DIV32, v8 },
-{ "sdivcc",	F3(2, 0x1f, 0), F3(~2, ~0x1f, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_DIV32, v8 },
-{ "sdivcc",	F3(2, 0x1f, 1), F3(~2, ~0x1f, ~1),		"1,i,d", 0, HWCAP_DIV32, v8 },
-{ "sdivcc",	F3(2, 0x1f, 1), F3(~2, ~0x1f, ~1),		"i,1,d", 0, HWCAP_DIV32, v8 },
-{ "udiv",	F3(2, 0x0e, 0), F3(~2, ~0x0e, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_DIV32, v8 },
-{ "udiv",	F3(2, 0x0e, 1), F3(~2, ~0x0e, ~1),		"1,i,d", 0, HWCAP_DIV32, v8 },
-{ "udiv",	F3(2, 0x0e, 1), F3(~2, ~0x0e, ~1),		"i,1,d", 0, HWCAP_DIV32, v8 },
-{ "udivcc",	F3(2, 0x1e, 0), F3(~2, ~0x1e, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_DIV32, v8 },
-{ "udivcc",	F3(2, 0x1e, 1), F3(~2, ~0x1e, ~1),		"1,i,d", 0, HWCAP_DIV32, v8 },
-{ "udivcc",	F3(2, 0x1e, 1), F3(~2, ~0x1e, ~1),		"i,1,d", 0, HWCAP_DIV32, v8 },
-
-{ "mulx",	F3(2, 0x09, 0), F3(~2, ~0x09, ~0)|ASI(~0),	"1,2,d", 0, 0, v9 },
-{ "mulx",	F3(2, 0x09, 1), F3(~2, ~0x09, ~1),		"1,i,d", 0, 0, v9 },
-{ "sdivx",	F3(2, 0x2d, 0), F3(~2, ~0x2d, ~0)|ASI(~0),	"1,2,d", 0, 0, v9 },
-{ "sdivx",	F3(2, 0x2d, 1), F3(~2, ~0x2d, ~1),		"1,i,d", 0, 0, v9 },
-{ "udivx",	F3(2, 0x0d, 0), F3(~2, ~0x0d, ~0)|ASI(~0),	"1,2,d", 0, 0, v9 },
-{ "udivx",	F3(2, 0x0d, 1), F3(~2, ~0x0d, ~1),		"1,i,d", 0, 0, v9 },
-
-{ "call",	F1(0x1), F1(~0x1), "L", F_JSR|F_DELAYED, 0, v6 },
-{ "call",	F1(0x1), F1(~0x1), "L,#", F_JSR|F_DELAYED, 0, v6 },
-
-{ "call",	F3(2, 0x38, 0)|RD(0xf), F3(~2, ~0x38, ~0)|RD(~0xf)|ASI(~0),	"1+2", F_JSR|F_DELAYED, 0, v6 }, /* jmpl rs1+rs2,%o7 */
-{ "call",	F3(2, 0x38, 0)|RD(0xf), F3(~2, ~0x38, ~0)|RD(~0xf)|ASI(~0),	"1+2,#", F_JSR|F_DELAYED, 0, v6 },
-{ "call",	F3(2, 0x38, 0)|RD(0xf), F3(~2, ~0x38, ~0)|RD(~0xf)|ASI_RS2(~0),	"1", F_JSR|F_DELAYED, 0, v6 }, /* jmpl rs1+%g0,%o7 */
-{ "call",	F3(2, 0x38, 0)|RD(0xf), F3(~2, ~0x38, ~0)|RD(~0xf)|ASI_RS2(~0),	"1,#", F_JSR|F_DELAYED, 0, v6 },
-{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf),		"1+i", F_JSR|F_DELAYED, 0, v6 }, /* jmpl rs1+i,%o7 */
-{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf),		"1+i,#", F_JSR|F_DELAYED, 0, v6 },
-{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf),		"i+1", F_JSR|F_DELAYED, 0, v6 }, /* jmpl i+rs1,%o7 */
-{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf),		"i+1,#", F_JSR|F_DELAYED, 0, v6 },
-{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf)|RS1_G0,	"i", F_JSR|F_DELAYED, 0, v6 }, /* jmpl %g0+i,%o7 */
-{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf)|RS1_G0,	"i,#", F_JSR|F_DELAYED, 0, v6 },
-{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf)|SIMM13(~0),	"1", F_JSR|F_DELAYED, 0, v6 }, /* jmpl rs1+0,%o7 */
-{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf)|SIMM13(~0),	"1,#", F_JSR|F_DELAYED, 0, v6 },
-
-{ "chkpt",	F2(0, 1)|CONDA|ANNUL|(1<<20), F2(~0, ~1)|((~CONDA)&COND(~0)), "G", 0, HWCAP_TRANS, v9b },
+{ "sub",	F3(2, 0x04, 0), F3(~2, ~0x04, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "sub",	F3(2, 0x04, 1), F3(~2, ~0x04, ~1),		"1,i,d", 0, 0, 0, v6 },
+
+{ "subcc",	F3(2, 0x14, 0), F3(~2, ~0x14, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "subcc",	F3(2, 0x14, 1), F3(~2, ~0x14, ~1),		"1,i,d", 0, 0, 0, v6 },
+
+{ "subx",	F3(2, 0x0c, 0), F3(~2, ~0x0c, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6notv9 },
+{ "subx",	F3(2, 0x0c, 1), F3(~2, ~0x0c, ~1),		"1,i,d", 0, 0, 0, v6notv9 },
+{ "subc",	F3(2, 0x0c, 0), F3(~2, ~0x0c, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v9 },
+{ "subc",	F3(2, 0x0c, 1), F3(~2, ~0x0c, ~1),		"1,i,d", 0, 0, 0, v9 },
+
+{ "subxcc",	F3(2, 0x1c, 0), F3(~2, ~0x1c, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6notv9 },
+{ "subxcc",	F3(2, 0x1c, 1), F3(~2, ~0x1c, ~1),		"1,i,d", 0, 0, 0, v6notv9 },
+{ "subccc",	F3(2, 0x1c, 0), F3(~2, ~0x1c, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v9 },
+{ "subccc",	F3(2, 0x1c, 1), F3(~2, ~0x1c, ~1),		"1,i,d", 0, 0, 0, v9 },
+
+{ "and",	F3(2, 0x01, 0), F3(~2, ~0x01, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "and",	F3(2, 0x01, 1), F3(~2, ~0x01, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "and",	F3(2, 0x01, 1), F3(~2, ~0x01, ~1),		"i,1,d", 0, 0, 0, v6 },
+
+{ "andcc",	F3(2, 0x11, 0), F3(~2, ~0x11, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "andcc",	F3(2, 0x11, 1), F3(~2, ~0x11, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "andcc",	F3(2, 0x11, 1), F3(~2, ~0x11, ~1),		"i,1,d", 0, 0, 0, v6 },
+
+{ "dec",	F3(2, 0x04, 1)|SIMM13(0x1), F3(~2, ~0x04, ~1)|SIMM13(~0x0001), "r", F_ALIAS, 0, 0, v6 },	/* sub rd,1,rd */
+{ "dec",	F3(2, 0x04, 1),		    F3(~2, ~0x04, ~1),		       "i,r", F_ALIAS, 0, 0, v8 },	/* sub rd,imm,rd */
+{ "deccc",	F3(2, 0x14, 1)|SIMM13(0x1), F3(~2, ~0x14, ~1)|SIMM13(~0x0001), "r", F_ALIAS, 0, 0, v6 },	/* subcc rd,1,rd */
+{ "deccc",	F3(2, 0x14, 1),		    F3(~2, ~0x14, ~1),		       "i,r", F_ALIAS, 0, 0, v8 },	/* subcc rd,imm,rd */
+{ "inc",	F3(2, 0x00, 1)|SIMM13(0x1), F3(~2, ~0x00, ~1)|SIMM13(~0x0001), "r", F_ALIAS, 0, 0, v6 },	/* add rd,1,rd */
+{ "inc",	F3(2, 0x00, 1),		    F3(~2, ~0x00, ~1),		       "i,r", F_ALIAS, 0, 0, v8 },	/* add rd,imm,rd */
+{ "inccc",	F3(2, 0x10, 1)|SIMM13(0x1), F3(~2, ~0x10, ~1)|SIMM13(~0x0001), "r", F_ALIAS, 0, 0, v6 },	/* addcc rd,1,rd */
+{ "inccc",	F3(2, 0x10, 1),		    F3(~2, ~0x10, ~1),		       "i,r", F_ALIAS, 0, 0, v8 },	/* addcc rd,imm,rd */
+
+{ "btst",	F3(2, 0x11, 0), F3(~2, ~0x11, ~0)|RD_G0|ASI(~0), "1,2", F_ALIAS, 0, 0, v6 },	/* andcc rs1,rs2,%g0 */
+{ "btst",	F3(2, 0x11, 1), F3(~2, ~0x11, ~1)|RD_G0, "i,1", F_ALIAS, 0, 0, v6 },	/* andcc rs1,i,%g0 */
+
+{ "neg",	F3(2, 0x04, 0), F3(~2, ~0x04, ~0)|RS1_G0|ASI(~0), "2,d", F_ALIAS, 0, 0, v6 }, /* sub %g0,rs2,rd */
+{ "neg",	F3(2, 0x04, 0), F3(~2, ~0x04, ~0)|RS1_G0|ASI(~0), "O", F_ALIAS, 0, 0, v6 }, /* sub %g0,rd,rd */
+
+{ "add",	F3(2, 0x00, 0), F3(~2, ~0x00, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "add",	F3(2, 0x00, 1), F3(~2, ~0x00, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "add",	F3(2, 0x00, 1), F3(~2, ~0x00, ~1),		"i,1,d", 0, 0, 0, v6 },
+{ "addcc",	F3(2, 0x10, 0), F3(~2, ~0x10, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "addcc",	F3(2, 0x10, 1), F3(~2, ~0x10, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "addcc",	F3(2, 0x10, 1), F3(~2, ~0x10, ~1),		"i,1,d", 0, 0, 0, v6 },
+
+{ "addx",	F3(2, 0x08, 0), F3(~2, ~0x08, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6notv9 },
+{ "addx",	F3(2, 0x08, 1), F3(~2, ~0x08, ~1),		"1,i,d", 0, 0, 0, v6notv9 },
+{ "addx",	F3(2, 0x08, 1), F3(~2, ~0x08, ~1),		"i,1,d", 0, 0, 0, v6notv9 },
+{ "addc",	F3(2, 0x08, 0), F3(~2, ~0x08, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v9 },
+{ "addc",	F3(2, 0x08, 1), F3(~2, ~0x08, ~1),		"1,i,d", 0, 0, 0, v9 },
+{ "addc",	F3(2, 0x08, 1), F3(~2, ~0x08, ~1),		"i,1,d", 0, 0, 0, v9 },
+
+{ "addxcc",	F3(2, 0x18, 0), F3(~2, ~0x18, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6notv9 },
+{ "addxcc",	F3(2, 0x18, 1), F3(~2, ~0x18, ~1),		"1,i,d", 0, 0, 0, v6notv9 },
+{ "addxcc",	F3(2, 0x18, 1), F3(~2, ~0x18, ~1),		"i,1,d", 0, 0, 0, v6notv9 },
+{ "addccc",	F3(2, 0x18, 0), F3(~2, ~0x18, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v9 },
+{ "addccc",	F3(2, 0x18, 1), F3(~2, ~0x18, ~1),		"1,i,d", 0, 0, 0, v9 },
+{ "addccc",	F3(2, 0x18, 1), F3(~2, ~0x18, ~1),		"i,1,d", 0, 0, 0, v9 },
+
+{ "smul",	F3(2, 0x0b, 0), F3(~2, ~0x0b, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_MUL32, 0, v8 },
+{ "smul",	F3(2, 0x0b, 1), F3(~2, ~0x0b, ~1),		"1,i,d", 0, HWCAP_MUL32, 0, v8 },
+{ "smul",	F3(2, 0x0b, 1), F3(~2, ~0x0b, ~1),		"i,1,d", 0, HWCAP_MUL32, 0, v8 },
+{ "smulcc",	F3(2, 0x1b, 0), F3(~2, ~0x1b, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_MUL32, 0, v8 },
+{ "smulcc",	F3(2, 0x1b, 1), F3(~2, ~0x1b, ~1),		"1,i,d", 0, HWCAP_MUL32, 0, v8 },
+{ "smulcc",	F3(2, 0x1b, 1), F3(~2, ~0x1b, ~1),		"i,1,d", 0, HWCAP_MUL32, 0, v8 },
+{ "umul",	F3(2, 0x0a, 0), F3(~2, ~0x0a, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_MUL32, 0, v8 },
+{ "umul",	F3(2, 0x0a, 1), F3(~2, ~0x0a, ~1),		"1,i,d", 0, HWCAP_MUL32, 0, v8 },
+{ "umul",	F3(2, 0x0a, 1), F3(~2, ~0x0a, ~1),		"i,1,d", 0, HWCAP_MUL32, 0, v8 },
+{ "umulcc",	F3(2, 0x1a, 0), F3(~2, ~0x1a, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_MUL32, 0, v8 },
+{ "umulcc",	F3(2, 0x1a, 1), F3(~2, ~0x1a, ~1),		"1,i,d", 0, HWCAP_MUL32, 0, v8 },
+{ "umulcc",	F3(2, 0x1a, 1), F3(~2, ~0x1a, ~1),		"i,1,d", 0, HWCAP_MUL32, 0, v8 },
+{ "sdiv",	F3(2, 0x0f, 0), F3(~2, ~0x0f, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_DIV32, 0, v8 },
+{ "sdiv",	F3(2, 0x0f, 1), F3(~2, ~0x0f, ~1),		"1,i,d", 0, HWCAP_DIV32, 0, v8 },
+{ "sdiv",	F3(2, 0x0f, 1), F3(~2, ~0x0f, ~1),		"i,1,d", 0, HWCAP_DIV32, 0, v8 },
+{ "sdivcc",	F3(2, 0x1f, 0), F3(~2, ~0x1f, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_DIV32, 0, v8 },
+{ "sdivcc",	F3(2, 0x1f, 1), F3(~2, ~0x1f, ~1),		"1,i,d", 0, HWCAP_DIV32, 0, v8 },
+{ "sdivcc",	F3(2, 0x1f, 1), F3(~2, ~0x1f, ~1),		"i,1,d", 0, HWCAP_DIV32, 0, v8 },
+{ "udiv",	F3(2, 0x0e, 0), F3(~2, ~0x0e, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_DIV32, 0, v8 },
+{ "udiv",	F3(2, 0x0e, 1), F3(~2, ~0x0e, ~1),		"1,i,d", 0, HWCAP_DIV32, 0, v8 },
+{ "udiv",	F3(2, 0x0e, 1), F3(~2, ~0x0e, ~1),		"i,1,d", 0, HWCAP_DIV32, 0, v8 },
+{ "udivcc",	F3(2, 0x1e, 0), F3(~2, ~0x1e, ~0)|ASI(~0),	"1,2,d", 0, HWCAP_DIV32, 0, v8 },
+{ "udivcc",	F3(2, 0x1e, 1), F3(~2, ~0x1e, ~1),		"1,i,d", 0, HWCAP_DIV32, 0, v8 },
+{ "udivcc",	F3(2, 0x1e, 1), F3(~2, ~0x1e, ~1),		"i,1,d", 0, HWCAP_DIV32, 0, v8 },
+
+{ "mulx",	F3(2, 0x09, 0), F3(~2, ~0x09, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v9 },
+{ "mulx",	F3(2, 0x09, 1), F3(~2, ~0x09, ~1),		"1,i,d", 0, 0, 0, v9 },
+{ "sdivx",	F3(2, 0x2d, 0), F3(~2, ~0x2d, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v9 },
+{ "sdivx",	F3(2, 0x2d, 1), F3(~2, ~0x2d, ~1),		"1,i,d", 0, 0, 0, v9 },
+{ "udivx",	F3(2, 0x0d, 0), F3(~2, ~0x0d, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v9 },
+{ "udivx",	F3(2, 0x0d, 1), F3(~2, ~0x0d, ~1),		"1,i,d", 0, 0, 0, v9 },
+
+{ "call",	F1(0x1), F1(~0x1), "L", F_JSR|F_DELAYED, 0, 0, v6 },
+{ "call",	F1(0x1), F1(~0x1), "L,#", F_JSR|F_DELAYED, 0, 0, v6 },
+
+{ "call",	F3(2, 0x38, 0)|RD(0xf), F3(~2, ~0x38, ~0)|RD(~0xf)|ASI(~0),	"1+2", F_JSR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+rs2,%o7 */
+{ "call",	F3(2, 0x38, 0)|RD(0xf), F3(~2, ~0x38, ~0)|RD(~0xf)|ASI(~0),	"1+2,#", F_JSR|F_DELAYED, 0, 0, v6 },
+{ "call",	F3(2, 0x38, 0)|RD(0xf), F3(~2, ~0x38, ~0)|RD(~0xf)|ASI_RS2(~0),	"1", F_JSR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+%g0,%o7 */
+{ "call",	F3(2, 0x38, 0)|RD(0xf), F3(~2, ~0x38, ~0)|RD(~0xf)|ASI_RS2(~0),	"1,#", F_JSR|F_DELAYED, 0, 0, v6 },
+{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf),		"1+i", F_JSR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+i,%o7 */
+{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf),		"1+i,#", F_JSR|F_DELAYED, 0, 0, v6 },
+{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf),		"i+1", F_JSR|F_DELAYED, 0, 0, v6 }, /* jmpl i+rs1,%o7 */
+{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf),		"i+1,#", F_JSR|F_DELAYED, 0, 0, v6 },
+{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf)|RS1_G0,	"i", F_JSR|F_DELAYED, 0, 0, v6 }, /* jmpl %g0+i,%o7 */
+{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf)|RS1_G0,	"i,#", F_JSR|F_DELAYED, 0, 0, v6 },
+{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf)|SIMM13(~0),	"1", F_JSR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+0,%o7 */
+{ "call",	F3(2, 0x38, 1)|RD(0xf), F3(~2, ~0x38, ~1)|RD(~0xf)|SIMM13(~0),	"1,#", F_JSR|F_DELAYED, 0, 0, v6 },
 
 /* Conditional instructions.
 
@@ -1128,38 +1130,38 @@ const struct sparc_opcode sparc_opcodes[
 
 /* Define branches -- one annulled, one without, etc. */
 #define br(opcode, mask, lose, flags) \
- { opcode, (mask)|ANNUL, (lose),       ",a l",   (flags), 0, v6 }, \
- { opcode, (mask)      , (lose)|ANNUL, "l",     (flags), 0, v6 }
+ { opcode, (mask)|ANNUL, (lose),       ",a l",   (flags), 0, 0, v6 }, \
+ { opcode, (mask)      , (lose)|ANNUL, "l",     (flags), 0, 0, v6 }
 
 #define brx(opcode, mask, lose, flags) /* v9 */ \
- { opcode, (mask)|(2<<20)|BPRED, ANNUL|(lose), "Z,G",      (flags), 0, v9 }, \
- { opcode, (mask)|(2<<20)|BPRED, ANNUL|(lose), ",T Z,G",   (flags), 0, v9 }, \
- { opcode, (mask)|(2<<20)|BPRED|ANNUL, (lose), ",a Z,G",   (flags), 0, v9 }, \
- { opcode, (mask)|(2<<20)|BPRED|ANNUL, (lose), ",a,T Z,G", (flags), 0, v9 }, \
- { opcode, (mask)|(2<<20), ANNUL|BPRED|(lose), ",N Z,G",   (flags), 0, v9 }, \
- { opcode, (mask)|(2<<20)|ANNUL, BPRED|(lose), ",a,N Z,G", (flags), 0, v9 }, \
- { opcode, (mask)|BPRED, ANNUL|(lose)|(2<<20), "z,G",      (flags), 0, v9 }, \
- { opcode, (mask)|BPRED, ANNUL|(lose)|(2<<20), ",T z,G",   (flags), 0, v9 }, \
- { opcode, (mask)|BPRED|ANNUL, (lose)|(2<<20), ",a z,G",   (flags), 0, v9 }, \
- { opcode, (mask)|BPRED|ANNUL, (lose)|(2<<20), ",a,T z,G", (flags), 0, v9 }, \
- { opcode, (mask), ANNUL|BPRED|(lose)|(2<<20), ",N z,G",   (flags), 0, v9 }, \
- { opcode, (mask)|ANNUL, BPRED|(lose)|(2<<20), ",a,N z,G", (flags), 0, v9 }
+ { opcode, (mask)|(2<<20)|BPRED, ANNUL|(lose), "Z,G",      (flags), 0, 0, v9 }, \
+ { opcode, (mask)|(2<<20)|BPRED, ANNUL|(lose), ",T Z,G",   (flags), 0, 0, v9 }, \
+ { opcode, (mask)|(2<<20)|BPRED|ANNUL, (lose), ",a Z,G",   (flags), 0, 0, v9 }, \
+ { opcode, (mask)|(2<<20)|BPRED|ANNUL, (lose), ",a,T Z,G", (flags), 0, 0, v9 }, \
+ { opcode, (mask)|(2<<20), ANNUL|BPRED|(lose), ",N Z,G",   (flags), 0, 0, v9 }, \
+ { opcode, (mask)|(2<<20)|ANNUL, BPRED|(lose), ",a,N Z,G", (flags), 0, 0, v9 }, \
+ { opcode, (mask)|BPRED, ANNUL|(lose)|(2<<20), "z,G",      (flags), 0, 0, v9 }, \
+ { opcode, (mask)|BPRED, ANNUL|(lose)|(2<<20), ",T z,G",   (flags), 0, 0, v9 }, \
+ { opcode, (mask)|BPRED|ANNUL, (lose)|(2<<20), ",a z,G",   (flags), 0, 0, v9 }, \
+ { opcode, (mask)|BPRED|ANNUL, (lose)|(2<<20), ",a,T z,G", (flags), 0, 0, v9 }, \
+ { opcode, (mask), ANNUL|BPRED|(lose)|(2<<20), ",N z,G",   (flags), 0, 0, v9 }, \
+ { opcode, (mask)|ANNUL, BPRED|(lose)|(2<<20), ",a,N z,G", (flags), 0, 0, v9 }
 
 /* Define four traps: reg+reg, reg + immediate, immediate alone, reg alone. */
 #define tr(opcode, mask, lose, flags) \
- { opcode, (mask)|(2<<11)|IMMED, (lose)|RS1_G0,	"Z,i",   (flags), 0, v9 }, /* %g0 + imm */ \
- { opcode, (mask)|(2<<11)|IMMED, (lose),	"Z,1+i", (flags), 0, v9 }, /* rs1 + imm */ \
- { opcode, (mask)|(2<<11), IMMED|(lose),	"Z,1+2", (flags), 0, v9 }, /* rs1 + rs2 */ \
- { opcode, (mask)|(2<<11), IMMED|(lose)|RS2_G0,	"Z,1",   (flags), 0, v9 }, /* rs1 + %g0 */ \
- { opcode, (mask)|IMMED, (lose)|RS1_G0,	"z,i",   (flags)|F_ALIAS, 0, v9 }, /* %g0 + imm */ \
- { opcode, (mask)|IMMED, (lose),	"z,1+i", (flags)|F_ALIAS, 0, v9 }, /* rs1 + imm */ \
- { opcode, (mask), IMMED|(lose),	"z,1+2", (flags)|F_ALIAS, 0, v9 }, /* rs1 + rs2 */ \
- { opcode, (mask), IMMED|(lose)|RS2_G0,	"z,1",   (flags)|F_ALIAS, 0, v9 }, /* rs1 + %g0 */ \
- { opcode, (mask)|IMMED, (lose)|RS1_G0,		"i",     (flags), 0, v6 }, /* %g0 + imm */ \
- { opcode, (mask)|IMMED, (lose),		"1+i",   (flags), 0, v6 }, /* rs1 + imm */ \
- { opcode, (mask)|IMMED, (lose),		"i+1",   (flags), 0, v6 }, /* imm + rs1 */ \
- { opcode, (mask), IMMED|(lose),		"1+2",   (flags), 0, v6 }, /* rs1 + rs2 */ \
- { opcode, (mask), IMMED|(lose)|RS2_G0,		"1",     (flags), 0, v6 } /* rs1 + %g0 */
+ { opcode, (mask)|(2<<11)|IMMED, (lose)|RS1_G0,	"Z,i",   (flags), 0, 0, v9 }, /* %g0 + imm */ \
+ { opcode, (mask)|(2<<11)|IMMED, (lose),	"Z,1+i", (flags), 0, 0, v9 }, /* rs1 + imm */ \
+ { opcode, (mask)|(2<<11), IMMED|(lose),	"Z,1+2", (flags), 0, 0, v9 }, /* rs1 + rs2 */ \
+ { opcode, (mask)|(2<<11), IMMED|(lose)|RS2_G0,	"Z,1",   (flags), 0, 0, v9 }, /* rs1 + %g0 */ \
+ { opcode, (mask)|IMMED, (lose)|RS1_G0,	"z,i",   (flags)|F_ALIAS, 0, 0, v9 }, /* %g0 + imm */ \
+ { opcode, (mask)|IMMED, (lose),	"z,1+i", (flags)|F_ALIAS, 0, 0, v9 }, /* rs1 + imm */ \
+ { opcode, (mask), IMMED|(lose),	"z,1+2", (flags)|F_ALIAS, 0, 0, v9 }, /* rs1 + rs2 */ \
+ { opcode, (mask), IMMED|(lose)|RS2_G0,	"z,1",   (flags)|F_ALIAS, 0, 0, v9 }, /* rs1 + %g0 */ \
+ { opcode, (mask)|IMMED, (lose)|RS1_G0,		"i",     (flags), 0, 0, v6 }, /* %g0 + imm */ \
+ { opcode, (mask)|IMMED, (lose),		"1+i",   (flags), 0, 0, v6 }, /* rs1 + imm */ \
+ { opcode, (mask)|IMMED, (lose),		"i+1",   (flags), 0, 0, v6 }, /* imm + rs1 */ \
+ { opcode, (mask), IMMED|(lose),		"1+2",   (flags), 0, 0, v6 }, /* rs1 + rs2 */ \
+ { opcode, (mask), IMMED|(lose)|RS2_G0,		"1",     (flags), 0, 0, v6 } /* rs1 + %g0 */
 
 /* v9: We must put `brx' before `br', to ensure that we never match something
    v9: against an expression unless it is an expression.  Otherwise, we end
@@ -1208,12 +1210,12 @@ cond ("bz",	"tz",   CONDZ, F_CONDBR|F_AL
 #undef tr
 
 #define brr(opcode, mask, lose, flags) /* v9 */ \
- { opcode, (mask)|BPRED, ANNUL|(lose), "1,k",      F_DELAYED|(flags), 0, v9 }, \
- { opcode, (mask)|BPRED, ANNUL|(lose), ",T 1,k",   F_DELAYED|(flags), 0, v9 }, \
- { opcode, (mask)|BPRED|ANNUL, (lose), ",a 1,k",   F_DELAYED|(flags), 0, v9 }, \
- { opcode, (mask)|BPRED|ANNUL, (lose), ",a,T 1,k", F_DELAYED|(flags), 0, v9 }, \
- { opcode, (mask), ANNUL|BPRED|(lose), ",N 1,k",   F_DELAYED|(flags), 0, v9 }, \
- { opcode, (mask)|ANNUL, BPRED|(lose), ",a,N 1,k", F_DELAYED|(flags), 0, v9 }
+ { opcode, (mask)|BPRED, ANNUL|(lose), "1,k",      F_DELAYED|(flags), 0, 0, v9 }, \
+ { opcode, (mask)|BPRED, ANNUL|(lose), ",T 1,k",   F_DELAYED|(flags), 0, 0, v9 }, \
+ { opcode, (mask)|BPRED|ANNUL, (lose), ",a 1,k",   F_DELAYED|(flags), 0, 0, v9 }, \
+ { opcode, (mask)|BPRED|ANNUL, (lose), ",a,T 1,k", F_DELAYED|(flags), 0, 0, v9 }, \
+ { opcode, (mask), ANNUL|BPRED|(lose), ",N 1,k",   F_DELAYED|(flags), 0, 0, v9 }, \
+ { opcode, (mask)|ANNUL, BPRED|(lose), ",a,N 1,k", F_DELAYED|(flags), 0, 0, v9 }
 
 #define condr(bop, mask, flags) /* v9 */ \
   brr(bop, F2(0, 3)|COND(mask), F2(~0, ~3)|COND(~(mask)), (flags)) /* v9 */
@@ -1227,13 +1229,13 @@ cond ("bz",	"tz",   CONDZ, F_CONDBR|F_AL
 
 #define cbcond(cop, cmask, flgs) \
   { "cw" cop, F2(0, 3)|CBCOND(cmask)|F3I(0),F2(~0,~3)|CBCOND(~(cmask))|F3I(~0)|CBCOND_XCC, \
-    "1,2,=", flgs, HWCAP_CBCOND, v9}, \
+    "1,2,=", flgs, HWCAP_CBCOND, 0, v9}, \
   { "cw" cop, F2(0, 3)|CBCOND(cmask)|F3I(1),F2(~0,~3)|CBCOND(~(cmask))|F3I(~1)|CBCOND_XCC, \
-    "1,X,=", flgs, HWCAP_CBCOND, v9}, \
+    "1,X,=", flgs, HWCAP_CBCOND, 0, v9}, \
   { "cx" cop, F2(0, 3)|CBCOND(cmask)|F3I(0)|CBCOND_XCC,F2(~0,~3)|CBCOND(~(cmask))|F3I(~0), \
-    "1,2,=", flgs, HWCAP_CBCOND, v9}, \
+    "1,2,=", flgs, HWCAP_CBCOND, 0, v9}, \
   { "cx" cop, F2(0, 3)|CBCOND(cmask)|F3I(1)|CBCOND_XCC,F2(~0,~3)|CBCOND(~(cmask))|F3I(~1), \
-    "1,X,=", flgs, HWCAP_CBCOND, v9},
+    "1,X,=", flgs, HWCAP_CBCOND, 0, v9},
 
 cbcond("be",   0x09, F_CONDBR)
 cbcond("bz",   0x09, F_CONDBR|F_ALIAS)
@@ -1259,15 +1261,15 @@ cbcond("bvc",  0x1f, F_CONDBR)
 #undef brr /* v9 */
 
 #define movr(opcode, mask, flags) /* v9 */ \
- { opcode, F3(2, 0x2f, 0)|RCOND(mask), F3(~2, ~0x2f, ~0)|RCOND(~(mask)), "1,2,d", (flags), 0, v9 }, \
- { opcode, F3(2, 0x2f, 1)|RCOND(mask), F3(~2, ~0x2f, ~1)|RCOND(~(mask)), "1,j,d", (flags), 0, v9 }
+ { opcode, F3(2, 0x2f, 0)|RCOND(mask), F3(~2, ~0x2f, ~0)|RCOND(~(mask)), "1,2,d", (flags), 0, 0, v9 }, \
+ { opcode, F3(2, 0x2f, 1)|RCOND(mask), F3(~2, ~0x2f, ~1)|RCOND(~(mask)), "1,j,d", (flags), 0, 0, v9 }
 
 #define fmrrs(opcode, mask, lose, flags) /* v9 */ \
- { opcode, (mask), (lose), "1,f,g", (flags) | F_FLOAT, 0, v9 }
+ { opcode, (mask), (lose), "1,f,g", (flags) | F_FLOAT, 0, 0, v9 }
 #define fmrrd(opcode, mask, lose, flags) /* v9 */ \
- { opcode, (mask), (lose), "1,B,H", (flags) | F_FLOAT, 0, v9 }
+ { opcode, (mask), (lose), "1,B,H", (flags) | F_FLOAT, 0, 0, v9 }
 #define fmrrq(opcode, mask, lose, flags) /* v9 */ \
- { opcode, (mask), (lose), "1,R,J", (flags) | F_FLOAT, 0, v9 }
+ { opcode, (mask), (lose), "1,R,J", (flags) | F_FLOAT, 0, 0, v9 }
 
 #define fmovrs(mop, mask, flags) /* v9 */ \
   fmrrs(mop, F3(2, 0x35, 0)|OPF_LOW5(5)|RCOND(mask), F3(~2, ~0x35, 0)|OPF_LOW5(~5)|RCOND(~(mask)), (flags)) /* v9 */
@@ -1317,20 +1319,20 @@ cbcond("bvc",  0x1f, F_CONDBR)
 #undef fmrr /* v9 */
 
 #define movicc(opcode, cond, flags) /* v9 */ \
-  { opcode, F3(2, 0x2c, 0)|MCOND(cond,1)|ICC, F3(~2, ~0x2c, ~0)|MCOND(~cond,~1)|XCC|(1<<11), "z,2,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 1)|MCOND(cond,1)|ICC, F3(~2, ~0x2c, ~1)|MCOND(~cond,~1)|XCC|(1<<11), "z,I,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 0)|MCOND(cond,1)|XCC, F3(~2, ~0x2c, ~0)|MCOND(~cond,~1)|(1<<11),     "Z,2,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 1)|MCOND(cond,1)|XCC, F3(~2, ~0x2c, ~1)|MCOND(~cond,~1)|(1<<11),     "Z,I,d", flags, 0, v9 }
+  { opcode, F3(2, 0x2c, 0)|MCOND(cond,1)|ICC, F3(~2, ~0x2c, ~0)|MCOND(~cond,~1)|XCC|(1<<11), "z,2,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 1)|MCOND(cond,1)|ICC, F3(~2, ~0x2c, ~1)|MCOND(~cond,~1)|XCC|(1<<11), "z,I,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 0)|MCOND(cond,1)|XCC, F3(~2, ~0x2c, ~0)|MCOND(~cond,~1)|(1<<11),     "Z,2,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 1)|MCOND(cond,1)|XCC, F3(~2, ~0x2c, ~1)|MCOND(~cond,~1)|(1<<11),     "Z,I,d", flags, 0, 0, v9 }
 
 #define movfcc(opcode, fcond, flags) /* v9 */ \
-  { opcode, F3(2, 0x2c, 0)|FCC(0)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~0)|F3(~2, ~0x2c, ~0), "6,2,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 1)|FCC(0)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~0)|F3(~2, ~0x2c, ~1), "6,I,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 0)|FCC(1)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~1)|F3(~2, ~0x2c, ~0), "7,2,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 1)|FCC(1)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~1)|F3(~2, ~0x2c, ~1), "7,I,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 0)|FCC(2)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~2)|F3(~2, ~0x2c, ~0), "8,2,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 1)|FCC(2)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~2)|F3(~2, ~0x2c, ~1), "8,I,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 0)|FCC(3)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~3)|F3(~2, ~0x2c, ~0), "9,2,d", flags, 0, v9 }, \
-  { opcode, F3(2, 0x2c, 1)|FCC(3)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~3)|F3(~2, ~0x2c, ~1), "9,I,d", flags, 0, v9 }
+  { opcode, F3(2, 0x2c, 0)|FCC(0)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~0)|F3(~2, ~0x2c, ~0), "6,2,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 1)|FCC(0)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~0)|F3(~2, ~0x2c, ~1), "6,I,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 0)|FCC(1)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~1)|F3(~2, ~0x2c, ~0), "7,2,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 1)|FCC(1)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~1)|F3(~2, ~0x2c, ~1), "7,I,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 0)|FCC(2)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~2)|F3(~2, ~0x2c, ~0), "8,2,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 1)|FCC(2)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~2)|F3(~2, ~0x2c, ~1), "8,I,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 0)|FCC(3)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~3)|F3(~2, ~0x2c, ~0), "9,2,d", flags, 0, 0, v9 }, \
+  { opcode, F3(2, 0x2c, 1)|FCC(3)|MCOND(fcond,0), MCOND(~fcond,~0)|FCC(~3)|F3(~2, ~0x2c, ~1), "9,I,d", flags, 0, 0, v9 }
 
 #define movcc(opcode, cond, fcond, flags) /* v9 */ \
   movfcc (opcode, fcond, flags), /* v9 */ \
@@ -1374,23 +1376,23 @@ cbcond("bvc",  0x1f, F_CONDBR)
 #define FM_QF 3		/* v9 */
 
 #define fmoviccx(opcode, fpsize, args, cond, flags) /* v9 */ \
-{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0),  F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0),  "z," args, flags, 0, v9 }, \
-{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0),  F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0),  "Z," args, flags, 0, v9 }
+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0),  F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0),  "z," args, flags, 0, 0, v9 }, \
+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0),  F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0),  "Z," args, flags, 0, 0, v9 }
 
 #define fmovfccx(opcode, fpsize, args, fcond, flags) /* v9 */ \
-{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags, 0, v9 }, \
-{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags, 0, v9 }, \
-{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags, 0, v9 }, \
-{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags, 0, v9 }
+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags, 0, 0, v9 }, \
+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags, 0, 0, v9 }, \
+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags, 0, 0, v9 }, \
+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags, 0, 0, v9 }
 
 /* FIXME: use fmovicc/fmovfcc? */ /* v9 */
 #define fmovccx(opcode, fpsize, args, cond, fcond, flags) /* v9 */ \
-{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0),  F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0),  "z," args, flags | F_FLOAT, 0, v9 }, \
-{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags | F_FLOAT, 0, v9 }, \
-{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0),  F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0),  "Z," args, flags | F_FLOAT, 0, v9 }, \
-{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags | F_FLOAT, 0, v9 }, \
-{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags | F_FLOAT, 0, v9 }, \
-{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags | F_FLOAT, 0, v9 }
+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0),  F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0),  "z," args, flags | F_FLOAT, 0, 0, v9 }, \
+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags | F_FLOAT, 0, 0, v9 }, \
+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0),  F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0),  "Z," args, flags | F_FLOAT, 0, 0, v9 }, \
+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags | F_FLOAT, 0, 0, v9 }, \
+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags | F_FLOAT, 0, 0, v9 }, \
+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags | F_FLOAT, 0, 0, v9 }
 
 #define fmovicc(suffix, cond, flags) /* v9 */ \
 fmoviccx("fmovd" suffix, FM_DF, "B,H", cond, flags),		\
@@ -1448,40 +1450,40 @@ fmovccx("fmovs" suffix, FM_SF, "f,g", co
 
 /* Coprocessor branches.  */
 #define CBR(opcode, mask, lose, flags, arch) \
- { opcode, (mask), ANNUL | (lose), "l",    flags | F_DELAYED, 0, arch }, \
- { opcode, (mask) | ANNUL, (lose), ",a l", flags | F_DELAYED, 0, arch }
+ { opcode, (mask), ANNUL | (lose), "l",    flags | F_DELAYED, 0, 0, arch }, \
+ { opcode, (mask) | ANNUL, (lose), ",a l", flags | F_DELAYED, 0, 0, arch }
 
 /* Floating point branches.  */
 #define FBR(opcode, mask, lose, flags) \
- { opcode, (mask), ANNUL | (lose), "l",    flags | F_DELAYED | F_FBR, 0, v6 }, \
- { opcode, (mask) | ANNUL, (lose), ",a l", flags | F_DELAYED | F_FBR, 0, v6 }
+ { opcode, (mask), ANNUL | (lose), "l",    flags | F_DELAYED | F_FBR, 0, 0, v6 }, \
+ { opcode, (mask) | ANNUL, (lose), ",a l", flags | F_DELAYED | F_FBR, 0, 0, v6 }
 
 /* V9 extended floating point branches.  */
 #define FBRX(opcode, mask, lose, flags) /* v9 */ \
- { opcode, FBFCC(0)|(mask)|BPRED, ANNUL|FBFCC(~0)|(lose), "6,G",      flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(0)|(mask)|BPRED, ANNUL|FBFCC(~0)|(lose), ",T 6,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(0)|(mask)|BPRED|ANNUL, FBFCC(~0)|(lose), ",a 6,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(0)|(mask)|BPRED|ANNUL, FBFCC(~0)|(lose), ",a,T 6,G", flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(0)|(mask), ANNUL|BPRED|FBFCC(~0)|(lose), ",N 6,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(0)|(mask)|ANNUL, BPRED|FBFCC(~0)|(lose), ",a,N 6,G", flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(1)|(mask)|BPRED, ANNUL|FBFCC(~1)|(lose), "7,G",      flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(1)|(mask)|BPRED, ANNUL|FBFCC(~1)|(lose), ",T 7,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(1)|(mask)|BPRED|ANNUL, FBFCC(~1)|(lose), ",a 7,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(1)|(mask)|BPRED|ANNUL, FBFCC(~1)|(lose), ",a,T 7,G", flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(1)|(mask), ANNUL|BPRED|FBFCC(~1)|(lose), ",N 7,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(1)|(mask)|ANNUL, BPRED|FBFCC(~1)|(lose), ",a,N 7,G", flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(2)|(mask)|BPRED, ANNUL|FBFCC(~2)|(lose), "8,G",      flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(2)|(mask)|BPRED, ANNUL|FBFCC(~2)|(lose), ",T 8,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(2)|(mask)|BPRED|ANNUL, FBFCC(~2)|(lose), ",a 8,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(2)|(mask)|BPRED|ANNUL, FBFCC(~2)|(lose), ",a,T 8,G", flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(2)|(mask), ANNUL|BPRED|FBFCC(~2)|(lose), ",N 8,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(2)|(mask)|ANNUL, BPRED|FBFCC(~2)|(lose), ",a,N 8,G", flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(3)|(mask)|BPRED, ANNUL|FBFCC(~3)|(lose), "9,G",      flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(3)|(mask)|BPRED, ANNUL|FBFCC(~3)|(lose), ",T 9,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(3)|(mask)|BPRED|ANNUL, FBFCC(~3)|(lose), ",a 9,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(3)|(mask)|BPRED|ANNUL, FBFCC(~3)|(lose), ",a,T 9,G", flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(3)|(mask), ANNUL|BPRED|FBFCC(~3)|(lose), ",N 9,G",   flags|F_DELAYED|F_FBR, 0, v9 }, \
- { opcode, FBFCC(3)|(mask)|ANNUL, BPRED|FBFCC(~3)|(lose), ",a,N 9,G", flags|F_DELAYED|F_FBR, 0, v9 }
+ { opcode, FBFCC(0)|(mask)|BPRED, ANNUL|FBFCC(~0)|(lose), "6,G",      flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(0)|(mask)|BPRED, ANNUL|FBFCC(~0)|(lose), ",T 6,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(0)|(mask)|BPRED|ANNUL, FBFCC(~0)|(lose), ",a 6,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(0)|(mask)|BPRED|ANNUL, FBFCC(~0)|(lose), ",a,T 6,G", flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(0)|(mask), ANNUL|BPRED|FBFCC(~0)|(lose), ",N 6,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(0)|(mask)|ANNUL, BPRED|FBFCC(~0)|(lose), ",a,N 6,G", flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(1)|(mask)|BPRED, ANNUL|FBFCC(~1)|(lose), "7,G",      flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(1)|(mask)|BPRED, ANNUL|FBFCC(~1)|(lose), ",T 7,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(1)|(mask)|BPRED|ANNUL, FBFCC(~1)|(lose), ",a 7,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(1)|(mask)|BPRED|ANNUL, FBFCC(~1)|(lose), ",a,T 7,G", flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(1)|(mask), ANNUL|BPRED|FBFCC(~1)|(lose), ",N 7,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(1)|(mask)|ANNUL, BPRED|FBFCC(~1)|(lose), ",a,N 7,G", flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(2)|(mask)|BPRED, ANNUL|FBFCC(~2)|(lose), "8,G",      flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(2)|(mask)|BPRED, ANNUL|FBFCC(~2)|(lose), ",T 8,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(2)|(mask)|BPRED|ANNUL, FBFCC(~2)|(lose), ",a 8,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(2)|(mask)|BPRED|ANNUL, FBFCC(~2)|(lose), ",a,T 8,G", flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(2)|(mask), ANNUL|BPRED|FBFCC(~2)|(lose), ",N 8,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(2)|(mask)|ANNUL, BPRED|FBFCC(~2)|(lose), ",a,N 8,G", flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(3)|(mask)|BPRED, ANNUL|FBFCC(~3)|(lose), "9,G",      flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(3)|(mask)|BPRED, ANNUL|FBFCC(~3)|(lose), ",T 9,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(3)|(mask)|BPRED|ANNUL, FBFCC(~3)|(lose), ",a 9,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(3)|(mask)|BPRED|ANNUL, FBFCC(~3)|(lose), ",a,T 9,G", flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(3)|(mask), ANNUL|BPRED|FBFCC(~3)|(lose), ",N 9,G",   flags|F_DELAYED|F_FBR, 0, 0, v9 }, \
+ { opcode, FBFCC(3)|(mask)|ANNUL, BPRED|FBFCC(~3)|(lose), ",a,N 9,G", flags|F_DELAYED|F_FBR, 0, 0, v9 }
 
 /* v9: We must put `FBRX' before `FBR', to ensure that we never match
    v9: something against an expression unless it is an expression.  Otherwise,
@@ -1529,173 +1531,173 @@ CONDFC  ("fbule", "cb013", 0xe, F_CONDBR
 #undef FBR
 #undef FBRX	/* v9 */
 
-{ "jmp",	F3(2, 0x38, 0), F3(~2, ~0x38, ~0)|RD_G0|ASI(~0),	"1+2", F_UNBR|F_DELAYED, 0, v6 }, /* jmpl rs1+rs2,%g0 */
-{ "jmp",	F3(2, 0x38, 0), F3(~2, ~0x38, ~0)|RD_G0|ASI_RS2(~0),	"1", F_UNBR|F_DELAYED, 0, v6 }, /* jmpl rs1+%g0,%g0 */
-{ "jmp",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RD_G0,		"1+i", F_UNBR|F_DELAYED, 0, v6 }, /* jmpl rs1+i,%g0 */
-{ "jmp",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RD_G0,		"i+1", F_UNBR|F_DELAYED, 0, v6 }, /* jmpl i+rs1,%g0 */
-{ "jmp",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RD_G0|RS1_G0,		"i", F_UNBR|F_DELAYED, 0, v6 }, /* jmpl %g0+i,%g0 */
-{ "jmp",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RD_G0|SIMM13(~0),	"1", F_UNBR|F_DELAYED, 0, v6 }, /* jmpl rs1+0,%g0 */
-
-{ "nop",	F2(0, 4), 0xfeffffff, "", 0, 0, v6 }, /* sethi 0, %g0 */
-
-{ "set",	F2(0x0, 0x4), F2(~0x0, ~0x4), "S0,d", F_ALIAS, 0, v6 },
-{ "setuw",	F2(0x0, 0x4), F2(~0x0, ~0x4), "S0,d", F_ALIAS, 0, v9 },
-{ "setsw",	F2(0x0, 0x4), F2(~0x0, ~0x4), "S0,d", F_ALIAS, 0, v9 },
-{ "setx",	F2(0x0, 0x4), F2(~0x0, ~0x4), "S0,1,d", F_ALIAS, 0, v9 },
-
-{ "sethi",	F2(0x0, 0x4), F2(~0x0, ~0x4), "h,d", 0, 0, v6 },
-
-{ "taddcc",	F3(2, 0x20, 0), F3(~2, ~0x20, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "taddcc",	F3(2, 0x20, 1), F3(~2, ~0x20, ~1),		"1,i,d", 0, 0, v6 },
-{ "taddcc",	F3(2, 0x20, 1), F3(~2, ~0x20, ~1),		"i,1,d", 0, 0, v6 },
-{ "taddcctv",	F3(2, 0x22, 0), F3(~2, ~0x22, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "taddcctv",	F3(2, 0x22, 1), F3(~2, ~0x22, ~1),		"1,i,d", 0, 0, v6 },
-{ "taddcctv",	F3(2, 0x22, 1), F3(~2, ~0x22, ~1),		"i,1,d", 0, 0, v6 },
-
-{ "tsubcc",	F3(2, 0x21, 0), F3(~2, ~0x21, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "tsubcc",	F3(2, 0x21, 1), F3(~2, ~0x21, ~1),		"1,i,d", 0, 0, v6 },
-{ "tsubcctv",	F3(2, 0x23, 0), F3(~2, ~0x23, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "tsubcctv",	F3(2, 0x23, 1), F3(~2, ~0x23, ~1),		"1,i,d", 0, 0, v6 },
+{ "jmp",	F3(2, 0x38, 0), F3(~2, ~0x38, ~0)|RD_G0|ASI(~0),	"1+2", F_UNBR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+rs2,%g0 */
+{ "jmp",	F3(2, 0x38, 0), F3(~2, ~0x38, ~0)|RD_G0|ASI_RS2(~0),	"1", F_UNBR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+%g0,%g0 */
+{ "jmp",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RD_G0,		"1+i", F_UNBR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+i,%g0 */
+{ "jmp",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RD_G0,		"i+1", F_UNBR|F_DELAYED, 0, 0, v6 }, /* jmpl i+rs1,%g0 */
+{ "jmp",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RD_G0|RS1_G0,		"i", F_UNBR|F_DELAYED, 0, 0, v6 }, /* jmpl %g0+i,%g0 */
+{ "jmp",	F3(2, 0x38, 1), F3(~2, ~0x38, ~1)|RD_G0|SIMM13(~0),	"1", F_UNBR|F_DELAYED, 0, 0, v6 }, /* jmpl rs1+0,%g0 */
+
+{ "nop",	F2(0, 4), 0xfeffffff, "", 0, 0, 0, v6 }, /* sethi 0, %g0 */
+
+{ "set",	F2(0x0, 0x4), F2(~0x0, ~0x4), "S0,d", F_ALIAS, 0, 0, v6 },
+{ "setuw",	F2(0x0, 0x4), F2(~0x0, ~0x4), "S0,d", F_ALIAS, 0, 0, v9 },
+{ "setsw",	F2(0x0, 0x4), F2(~0x0, ~0x4), "S0,d", F_ALIAS, 0, 0, v9 },
+{ "setx",	F2(0x0, 0x4), F2(~0x0, ~0x4), "S0,1,d", F_ALIAS, 0, 0, v9 },
+
+{ "sethi",	F2(0x0, 0x4), F2(~0x0, ~0x4), "h,d", 0, 0, 0, v6 },
+
+{ "taddcc",	F3(2, 0x20, 0), F3(~2, ~0x20, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "taddcc",	F3(2, 0x20, 1), F3(~2, ~0x20, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "taddcc",	F3(2, 0x20, 1), F3(~2, ~0x20, ~1),		"i,1,d", 0, 0, 0, v6 },
+{ "taddcctv",	F3(2, 0x22, 0), F3(~2, ~0x22, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "taddcctv",	F3(2, 0x22, 1), F3(~2, ~0x22, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "taddcctv",	F3(2, 0x22, 1), F3(~2, ~0x22, ~1),		"i,1,d", 0, 0, 0, v6 },
+
+{ "tsubcc",	F3(2, 0x21, 0), F3(~2, ~0x21, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "tsubcc",	F3(2, 0x21, 1), F3(~2, ~0x21, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "tsubcctv",	F3(2, 0x23, 0), F3(~2, ~0x23, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "tsubcctv",	F3(2, 0x23, 1), F3(~2, ~0x23, ~1),		"1,i,d", 0, 0, 0, v6 },
 
-{ "unimp",	F2(0x0, 0x0), 0xffc00000, "n", 0, 0, v6notv9 },
-{ "illtrap",	F2(0, 0), F2(~0, ~0)|RD_G0, "n", 0, 0, v9 },
+{ "unimp",	F2(0x0, 0x0), 0xffc00000, "n", 0, 0, 0, v6notv9 },
+{ "illtrap",	F2(0, 0), F2(~0, ~0)|RD_G0, "n", 0, 0, 0, v9 },
 
 /* This *is* a commutative instruction.  */
-{ "xnor",	F3(2, 0x07, 0), F3(~2, ~0x07, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "xnor",	F3(2, 0x07, 1), F3(~2, ~0x07, ~1),		"1,i,d", 0, 0, v6 },
-{ "xnor",	F3(2, 0x07, 1), F3(~2, ~0x07, ~1),		"i,1,d", 0, 0, v6 },
+{ "xnor",	F3(2, 0x07, 0), F3(~2, ~0x07, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "xnor",	F3(2, 0x07, 1), F3(~2, ~0x07, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "xnor",	F3(2, 0x07, 1), F3(~2, ~0x07, ~1),		"i,1,d", 0, 0, 0, v6 },
 /* This *is* a commutative instruction.  */
-{ "xnorcc",	F3(2, 0x17, 0), F3(~2, ~0x17, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "xnorcc",	F3(2, 0x17, 1), F3(~2, ~0x17, ~1),		"1,i,d", 0, 0, v6 },
-{ "xnorcc",	F3(2, 0x17, 1), F3(~2, ~0x17, ~1),		"i,1,d", 0, 0, v6 },
-{ "xor",	F3(2, 0x03, 0), F3(~2, ~0x03, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "xor",	F3(2, 0x03, 1), F3(~2, ~0x03, ~1),		"1,i,d", 0, 0, v6 },
-{ "xor",	F3(2, 0x03, 1), F3(~2, ~0x03, ~1),		"i,1,d", 0, 0, v6 },
-{ "xorcc",	F3(2, 0x13, 0), F3(~2, ~0x13, ~0)|ASI(~0),	"1,2,d", 0, 0, v6 },
-{ "xorcc",	F3(2, 0x13, 1), F3(~2, ~0x13, ~1),		"1,i,d", 0, 0, v6 },
-{ "xorcc",	F3(2, 0x13, 1), F3(~2, ~0x13, ~1),		"i,1,d", 0, 0, v6 },
+{ "xnorcc",	F3(2, 0x17, 0), F3(~2, ~0x17, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "xnorcc",	F3(2, 0x17, 1), F3(~2, ~0x17, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "xnorcc",	F3(2, 0x17, 1), F3(~2, ~0x17, ~1),		"i,1,d", 0, 0, 0, v6 },
+{ "xor",	F3(2, 0x03, 0), F3(~2, ~0x03, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "xor",	F3(2, 0x03, 1), F3(~2, ~0x03, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "xor",	F3(2, 0x03, 1), F3(~2, ~0x03, ~1),		"i,1,d", 0, 0, 0, v6 },
+{ "xorcc",	F3(2, 0x13, 0), F3(~2, ~0x13, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, v6 },
+{ "xorcc",	F3(2, 0x13, 1), F3(~2, ~0x13, ~1),		"1,i,d", 0, 0, 0, v6 },
+{ "xorcc",	F3(2, 0x13, 1), F3(~2, ~0x13, ~1),		"i,1,d", 0, 0, 0, v6 },
 
-{ "not",	F3(2, 0x07, 0), F3(~2, ~0x07, ~0)|ASI(~0), "1,d", F_ALIAS, 0, v6 }, /* xnor rs1,%0,rd */
-{ "not",	F3(2, 0x07, 0), F3(~2, ~0x07, ~0)|ASI(~0), "r", F_ALIAS, 0, v6 }, /* xnor rd,%0,rd */
+{ "not",	F3(2, 0x07, 0), F3(~2, ~0x07, ~0)|ASI(~0), "1,d", F_ALIAS, 0, 0, v6 }, /* xnor rs1,%0,rd */
+{ "not",	F3(2, 0x07, 0), F3(~2, ~0x07, ~0)|ASI(~0), "r", F_ALIAS, 0, 0, v6 }, /* xnor rd,%0,rd */
 
-{ "btog",	F3(2, 0x03, 0), F3(~2, ~0x03, ~0)|ASI(~0),	"2,r", F_ALIAS, 0, v6 }, /* xor rd,rs2,rd */
-{ "btog",	F3(2, 0x03, 1), F3(~2, ~0x03, ~1),		"i,r", F_ALIAS, 0, v6 }, /* xor rd,i,rd */
+{ "btog",	F3(2, 0x03, 0), F3(~2, ~0x03, ~0)|ASI(~0),	"2,r", F_ALIAS, 0, 0, v6 }, /* xor rd,rs2,rd */
+{ "btog",	F3(2, 0x03, 1), F3(~2, ~0x03, ~1),		"i,r", F_ALIAS, 0, 0, v6 }, /* xor rd,i,rd */
 
 /* FPop1 and FPop2 are not instructions.  Don't accept them.  */
 
-{ "fdtoi",	F3F(2, 0x34, 0x0d2), F3F(~2, ~0x34, ~0x0d2)|RS1_G0, "B,g", F_FLOAT, 0, v6 },
-{ "fstoi",	F3F(2, 0x34, 0x0d1), F3F(~2, ~0x34, ~0x0d1)|RS1_G0, "f,g", F_FLOAT, 0, v6 },
-{ "fqtoi",	F3F(2, 0x34, 0x0d3), F3F(~2, ~0x34, ~0x0d3)|RS1_G0, "R,g", F_FLOAT, 0, v8 },
-
-{ "fdtox",	F3F(2, 0x34, 0x082), F3F(~2, ~0x34, ~0x082)|RS1_G0, "B,H", F_FLOAT, 0, v9 },
-{ "fstox",	F3F(2, 0x34, 0x081), F3F(~2, ~0x34, ~0x081)|RS1_G0, "f,H", F_FLOAT, 0, v9 },
-{ "fqtox",	F3F(2, 0x34, 0x083), F3F(~2, ~0x34, ~0x083)|RS1_G0, "R,H", F_FLOAT, 0, v9 },
-
-{ "fitod",	F3F(2, 0x34, 0x0c8), F3F(~2, ~0x34, ~0x0c8)|RS1_G0, "f,H", F_FLOAT, 0, v6 },
-{ "fitos",	F3F(2, 0x34, 0x0c4), F3F(~2, ~0x34, ~0x0c4)|RS1_G0, "f,g", F_FLOAT, 0, v6 },
-{ "fitoq",	F3F(2, 0x34, 0x0cc), F3F(~2, ~0x34, ~0x0cc)|RS1_G0, "f,J", F_FLOAT, 0, v8 },
-
-{ "fxtod",	F3F(2, 0x34, 0x088), F3F(~2, ~0x34, ~0x088)|RS1_G0, "B,H", F_FLOAT, 0, v9 },
-{ "fxtos",	F3F(2, 0x34, 0x084), F3F(~2, ~0x34, ~0x084)|RS1_G0, "B,g", F_FLOAT, 0, v9 },
-{ "fxtoq",	F3F(2, 0x34, 0x08c), F3F(~2, ~0x34, ~0x08c)|RS1_G0, "B,J", F_FLOAT, 0, v9 },
-
-{ "fdtoq",	F3F(2, 0x34, 0x0ce), F3F(~2, ~0x34, ~0x0ce)|RS1_G0, "B,J", F_FLOAT, 0, v8 },
-{ "fdtos",	F3F(2, 0x34, 0x0c6), F3F(~2, ~0x34, ~0x0c6)|RS1_G0, "B,g", F_FLOAT, 0, v6 },
-{ "fqtod",	F3F(2, 0x34, 0x0cb), F3F(~2, ~0x34, ~0x0cb)|RS1_G0, "R,H", F_FLOAT, 0, v8 },
-{ "fqtos",	F3F(2, 0x34, 0x0c7), F3F(~2, ~0x34, ~0x0c7)|RS1_G0, "R,g", F_FLOAT, 0, v8 },
-{ "fstod",	F3F(2, 0x34, 0x0c9), F3F(~2, ~0x34, ~0x0c9)|RS1_G0, "f,H", F_FLOAT, 0, v6 },
-{ "fstoq",	F3F(2, 0x34, 0x0cd), F3F(~2, ~0x34, ~0x0cd)|RS1_G0, "f,J", F_FLOAT, 0, v8 },
-
-{ "fdivd",	F3F(2, 0x34, 0x04e), F3F(~2, ~0x34, ~0x04e), "v,B,H", F_FLOAT, 0, v6 },
-{ "fdivq",	F3F(2, 0x34, 0x04f), F3F(~2, ~0x34, ~0x04f), "V,R,J", F_FLOAT, 0, v8 },
-{ "fdivx",	F3F(2, 0x34, 0x04f), F3F(~2, ~0x34, ~0x04f), "V,R,J", F_FLOAT|F_ALIAS, 0, v8 },
-{ "fdivs",	F3F(2, 0x34, 0x04d), F3F(~2, ~0x34, ~0x04d), "e,f,g", F_FLOAT, 0, v6 },
-{ "fmuld",	F3F(2, 0x34, 0x04a), F3F(~2, ~0x34, ~0x04a), "v,B,H", F_FLOAT, 0, v6 },
-{ "fmulq",	F3F(2, 0x34, 0x04b), F3F(~2, ~0x34, ~0x04b), "V,R,J", F_FLOAT, 0, v8 },
-{ "fmulx",	F3F(2, 0x34, 0x04b), F3F(~2, ~0x34, ~0x04b), "V,R,J", F_FLOAT|F_ALIAS, 0, v8 },
-{ "fmuls",	F3F(2, 0x34, 0x049), F3F(~2, ~0x34, ~0x049), "e,f,g", F_FLOAT, 0, v6 },
-
-{ "fdmulq",	F3F(2, 0x34, 0x06e), F3F(~2, ~0x34, ~0x06e), "v,B,J", F_FLOAT, 0, v8 },
-{ "fdmulx",	F3F(2, 0x34, 0x06e), F3F(~2, ~0x34, ~0x06e), "v,B,J", F_FLOAT|F_ALIAS, 0, v8 },
-{ "fsmuld",	F3F(2, 0x34, 0x069), F3F(~2, ~0x34, ~0x069), "e,f,H", F_FLOAT, HWCAP_FSMULD, v8 },
-
-{ "fsqrtd",	F3F(2, 0x34, 0x02a), F3F(~2, ~0x34, ~0x02a)|RS1_G0, "B,H", F_FLOAT, 0, v7 },
-{ "fsqrtq",	F3F(2, 0x34, 0x02b), F3F(~2, ~0x34, ~0x02b)|RS1_G0, "R,J", F_FLOAT, 0, v8 },
-{ "fsqrtx",	F3F(2, 0x34, 0x02b), F3F(~2, ~0x34, ~0x02b)|RS1_G0, "R,J", F_FLOAT|F_ALIAS, 0, v8 },
-{ "fsqrts",	F3F(2, 0x34, 0x029), F3F(~2, ~0x34, ~0x029)|RS1_G0, "f,g", F_FLOAT, 0, v7 },
-
-{ "fabsd",	F3F(2, 0x34, 0x00a), F3F(~2, ~0x34, ~0x00a)|RS1_G0, "B,H", F_FLOAT, 0, v9 },
-{ "fabsq",	F3F(2, 0x34, 0x00b), F3F(~2, ~0x34, ~0x00b)|RS1_G0, "R,J", F_FLOAT, 0, v9 },
-{ "fabsx",	F3F(2, 0x34, 0x00b), F3F(~2, ~0x34, ~0x00b)|RS1_G0, "R,J", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fabss",	F3F(2, 0x34, 0x009), F3F(~2, ~0x34, ~0x009)|RS1_G0, "f,g", F_FLOAT, 0, v6 },
-{ "fmovd",	F3F(2, 0x34, 0x002), F3F(~2, ~0x34, ~0x002)|RS1_G0, "B,H", F_FLOAT, 0, v9 },
-{ "fmovq",	F3F(2, 0x34, 0x003), F3F(~2, ~0x34, ~0x003)|RS1_G0, "R,J", F_FLOAT, 0, v9 },
-{ "fmovx",	F3F(2, 0x34, 0x003), F3F(~2, ~0x34, ~0x003)|RS1_G0, "R,J", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fmovs",	F3F(2, 0x34, 0x001), F3F(~2, ~0x34, ~0x001)|RS1_G0, "f,g", F_FLOAT, 0, v6 },
-{ "fnegd",	F3F(2, 0x34, 0x006), F3F(~2, ~0x34, ~0x006)|RS1_G0, "B,H", F_FLOAT, 0, v9 },
-{ "fnegq",	F3F(2, 0x34, 0x007), F3F(~2, ~0x34, ~0x007)|RS1_G0, "R,J", F_FLOAT, 0, v9 },
-{ "fnegx",	F3F(2, 0x34, 0x007), F3F(~2, ~0x34, ~0x007)|RS1_G0, "R,J", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fnegs",	F3F(2, 0x34, 0x005), F3F(~2, ~0x34, ~0x005)|RS1_G0, "f,g", F_FLOAT, 0, v6 },
-
-{ "faddd",	F3F(2, 0x34, 0x042), F3F(~2, ~0x34, ~0x042), "v,B,H", F_FLOAT, 0, v6 },
-{ "faddq",	F3F(2, 0x34, 0x043), F3F(~2, ~0x34, ~0x043), "V,R,J", F_FLOAT, 0, v8 },
-{ "faddx",	F3F(2, 0x34, 0x043), F3F(~2, ~0x34, ~0x043), "V,R,J", F_FLOAT|F_ALIAS, 0, v8 },
-{ "fadds",	F3F(2, 0x34, 0x041), F3F(~2, ~0x34, ~0x041), "e,f,g", F_FLOAT, 0, v6 },
-{ "fsubd",	F3F(2, 0x34, 0x046), F3F(~2, ~0x34, ~0x046), "v,B,H", F_FLOAT, 0, v6 },
-{ "fsubq",	F3F(2, 0x34, 0x047), F3F(~2, ~0x34, ~0x047), "V,R,J", F_FLOAT, 0, v8 },
-{ "fsubx",	F3F(2, 0x34, 0x047), F3F(~2, ~0x34, ~0x047), "V,R,J", F_FLOAT|F_ALIAS, 0, v8 },
-{ "fsubs",	F3F(2, 0x34, 0x045), F3F(~2, ~0x34, ~0x045), "e,f,g", F_FLOAT, 0, v6 },
+{ "fdtoi",	F3F(2, 0x34, 0x0d2), F3F(~2, ~0x34, ~0x0d2)|RS1_G0, "B,g", F_FLOAT, 0, 0, v6 },
+{ "fstoi",	F3F(2, 0x34, 0x0d1), F3F(~2, ~0x34, ~0x0d1)|RS1_G0, "f,g", F_FLOAT, 0, 0, v6 },
+{ "fqtoi",	F3F(2, 0x34, 0x0d3), F3F(~2, ~0x34, ~0x0d3)|RS1_G0, "R,g", F_FLOAT, 0, 0, v8 },
+
+{ "fdtox",	F3F(2, 0x34, 0x082), F3F(~2, ~0x34, ~0x082)|RS1_G0, "B,H", F_FLOAT, 0, 0, v9 },
+{ "fstox",	F3F(2, 0x34, 0x081), F3F(~2, ~0x34, ~0x081)|RS1_G0, "f,H", F_FLOAT, 0, 0, v9 },
+{ "fqtox",	F3F(2, 0x34, 0x083), F3F(~2, ~0x34, ~0x083)|RS1_G0, "R,H", F_FLOAT, 0, 0, v9 },
+
+{ "fitod",	F3F(2, 0x34, 0x0c8), F3F(~2, ~0x34, ~0x0c8)|RS1_G0, "f,H", F_FLOAT, 0, 0, v6 },
+{ "fitos",	F3F(2, 0x34, 0x0c4), F3F(~2, ~0x34, ~0x0c4)|RS1_G0, "f,g", F_FLOAT, 0, 0, v6 },
+{ "fitoq",	F3F(2, 0x34, 0x0cc), F3F(~2, ~0x34, ~0x0cc)|RS1_G0, "f,J", F_FLOAT, 0, 0, v8 },
+
+{ "fxtod",	F3F(2, 0x34, 0x088), F3F(~2, ~0x34, ~0x088)|RS1_G0, "B,H", F_FLOAT, 0, 0, v9 },
+{ "fxtos",	F3F(2, 0x34, 0x084), F3F(~2, ~0x34, ~0x084)|RS1_G0, "B,g", F_FLOAT, 0, 0, v9 },
+{ "fxtoq",	F3F(2, 0x34, 0x08c), F3F(~2, ~0x34, ~0x08c)|RS1_G0, "B,J", F_FLOAT, 0, 0, v9 },
+
+{ "fdtoq",	F3F(2, 0x34, 0x0ce), F3F(~2, ~0x34, ~0x0ce)|RS1_G0, "B,J", F_FLOAT, 0, 0, v8 },
+{ "fdtos",	F3F(2, 0x34, 0x0c6), F3F(~2, ~0x34, ~0x0c6)|RS1_G0, "B,g", F_FLOAT, 0, 0, v6 },
+{ "fqtod",	F3F(2, 0x34, 0x0cb), F3F(~2, ~0x34, ~0x0cb)|RS1_G0, "R,H", F_FLOAT, 0, 0, v8 },
+{ "fqtos",	F3F(2, 0x34, 0x0c7), F3F(~2, ~0x34, ~0x0c7)|RS1_G0, "R,g", F_FLOAT, 0, 0, v8 },
+{ "fstod",	F3F(2, 0x34, 0x0c9), F3F(~2, ~0x34, ~0x0c9)|RS1_G0, "f,H", F_FLOAT, 0, 0, v6 },
+{ "fstoq",	F3F(2, 0x34, 0x0cd), F3F(~2, ~0x34, ~0x0cd)|RS1_G0, "f,J", F_FLOAT, 0, 0, v8 },
+
+{ "fdivd",	F3F(2, 0x34, 0x04e), F3F(~2, ~0x34, ~0x04e), "v,B,H", F_FLOAT, 0, 0, v6 },
+{ "fdivq",	F3F(2, 0x34, 0x04f), F3F(~2, ~0x34, ~0x04f), "V,R,J", F_FLOAT, 0, 0, v8 },
+{ "fdivx",	F3F(2, 0x34, 0x04f), F3F(~2, ~0x34, ~0x04f), "V,R,J", F_FLOAT|F_ALIAS, 0, 0, v8 },
+{ "fdivs",	F3F(2, 0x34, 0x04d), F3F(~2, ~0x34, ~0x04d), "e,f,g", F_FLOAT, 0, 0, v6 },
+{ "fmuld",	F3F(2, 0x34, 0x04a), F3F(~2, ~0x34, ~0x04a), "v,B,H", F_FLOAT, 0, 0, v6 },
+{ "fmulq",	F3F(2, 0x34, 0x04b), F3F(~2, ~0x34, ~0x04b), "V,R,J", F_FLOAT, 0, 0, v8 },
+{ "fmulx",	F3F(2, 0x34, 0x04b), F3F(~2, ~0x34, ~0x04b), "V,R,J", F_FLOAT|F_ALIAS, 0, 0, v8 },
+{ "fmuls",	F3F(2, 0x34, 0x049), F3F(~2, ~0x34, ~0x049), "e,f,g", F_FLOAT, 0, 0, v6 },
+
+{ "fdmulq",	F3F(2, 0x34, 0x06e), F3F(~2, ~0x34, ~0x06e), "v,B,J", F_FLOAT, 0, 0, v8 },
+{ "fdmulx",	F3F(2, 0x34, 0x06e), F3F(~2, ~0x34, ~0x06e), "v,B,J", F_FLOAT|F_ALIAS, 0, 0, v8 },
+{ "fsmuld",	F3F(2, 0x34, 0x069), F3F(~2, ~0x34, ~0x069), "e,f,H", F_FLOAT, HWCAP_FSMULD, 0, v8 },
+
+{ "fsqrtd",	F3F(2, 0x34, 0x02a), F3F(~2, ~0x34, ~0x02a)|RS1_G0, "B,H", F_FLOAT, 0, 0, v7 },
+{ "fsqrtq",	F3F(2, 0x34, 0x02b), F3F(~2, ~0x34, ~0x02b)|RS1_G0, "R,J", F_FLOAT, 0, 0, v8 },
+{ "fsqrtx",	F3F(2, 0x34, 0x02b), F3F(~2, ~0x34, ~0x02b)|RS1_G0, "R,J", F_FLOAT|F_ALIAS, 0, 0, v8 },
+{ "fsqrts",	F3F(2, 0x34, 0x029), F3F(~2, ~0x34, ~0x029)|RS1_G0, "f,g", F_FLOAT, 0, 0, v7 },
+
+{ "fabsd",	F3F(2, 0x34, 0x00a), F3F(~2, ~0x34, ~0x00a)|RS1_G0, "B,H", F_FLOAT, 0, 0, v9 },
+{ "fabsq",	F3F(2, 0x34, 0x00b), F3F(~2, ~0x34, ~0x00b)|RS1_G0, "R,J", F_FLOAT, 0, 0, v9 },
+{ "fabsx",	F3F(2, 0x34, 0x00b), F3F(~2, ~0x34, ~0x00b)|RS1_G0, "R,J", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fabss",	F3F(2, 0x34, 0x009), F3F(~2, ~0x34, ~0x009)|RS1_G0, "f,g", F_FLOAT, 0, 0, v6 },
+{ "fmovd",	F3F(2, 0x34, 0x002), F3F(~2, ~0x34, ~0x002)|RS1_G0, "B,H", F_FLOAT, 0, 0, v9 },
+{ "fmovq",	F3F(2, 0x34, 0x003), F3F(~2, ~0x34, ~0x003)|RS1_G0, "R,J", F_FLOAT, 0, 0, v9 },
+{ "fmovx",	F3F(2, 0x34, 0x003), F3F(~2, ~0x34, ~0x003)|RS1_G0, "R,J", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fmovs",	F3F(2, 0x34, 0x001), F3F(~2, ~0x34, ~0x001)|RS1_G0, "f,g", F_FLOAT, 0, 0, v6 },
+{ "fnegd",	F3F(2, 0x34, 0x006), F3F(~2, ~0x34, ~0x006)|RS1_G0, "B,H", F_FLOAT, 0, 0, v9 },
+{ "fnegq",	F3F(2, 0x34, 0x007), F3F(~2, ~0x34, ~0x007)|RS1_G0, "R,J", F_FLOAT, 0, 0, v9 },
+{ "fnegx",	F3F(2, 0x34, 0x007), F3F(~2, ~0x34, ~0x007)|RS1_G0, "R,J", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fnegs",	F3F(2, 0x34, 0x005), F3F(~2, ~0x34, ~0x005)|RS1_G0, "f,g", F_FLOAT, 0, 0, v6 },
+
+{ "faddd",	F3F(2, 0x34, 0x042), F3F(~2, ~0x34, ~0x042), "v,B,H", F_FLOAT, 0, 0, v6 },
+{ "faddq",	F3F(2, 0x34, 0x043), F3F(~2, ~0x34, ~0x043), "V,R,J", F_FLOAT, 0, 0, v8 },
+{ "faddx",	F3F(2, 0x34, 0x043), F3F(~2, ~0x34, ~0x043), "V,R,J", F_FLOAT|F_ALIAS, 0, 0, v8 },
+{ "fadds",	F3F(2, 0x34, 0x041), F3F(~2, ~0x34, ~0x041), "e,f,g", F_FLOAT, 0, 0, v6 },
+{ "fsubd",	F3F(2, 0x34, 0x046), F3F(~2, ~0x34, ~0x046), "v,B,H", F_FLOAT, 0, 0, v6 },
+{ "fsubq",	F3F(2, 0x34, 0x047), F3F(~2, ~0x34, ~0x047), "V,R,J", F_FLOAT, 0, 0, v8 },
+{ "fsubx",	F3F(2, 0x34, 0x047), F3F(~2, ~0x34, ~0x047), "V,R,J", F_FLOAT|F_ALIAS, 0, 0, v8 },
+{ "fsubs",	F3F(2, 0x34, 0x045), F3F(~2, ~0x34, ~0x045), "e,f,g", F_FLOAT, 0, 0, v6 },
 
 #define CMPFCC(x)	(((x)&0x3)<<25)
 
-{ "fcmpd",	          F3F(2, 0x35, 0x052),            F3F(~2, ~0x35, ~0x052)|RD_G0,  "v,B",   F_FLOAT, 0, v6 },
-{ "fcmpd",	CMPFCC(0)|F3F(2, 0x35, 0x052), CMPFCC(~0)|F3F(~2, ~0x35, ~0x052),	 "6,v,B", F_FLOAT, 0, v9 },
-{ "fcmpd",	CMPFCC(1)|F3F(2, 0x35, 0x052), CMPFCC(~1)|F3F(~2, ~0x35, ~0x052),	 "7,v,B", F_FLOAT, 0, v9 },
-{ "fcmpd",	CMPFCC(2)|F3F(2, 0x35, 0x052), CMPFCC(~2)|F3F(~2, ~0x35, ~0x052),	 "8,v,B", F_FLOAT, 0, v9 },
-{ "fcmpd",	CMPFCC(3)|F3F(2, 0x35, 0x052), CMPFCC(~3)|F3F(~2, ~0x35, ~0x052),	 "9,v,B", F_FLOAT, 0, v9 },
-{ "fcmped",	          F3F(2, 0x35, 0x056),            F3F(~2, ~0x35, ~0x056)|RD_G0,  "v,B",   F_FLOAT, 0, v6 },
-{ "fcmped",	CMPFCC(0)|F3F(2, 0x35, 0x056), CMPFCC(~0)|F3F(~2, ~0x35, ~0x056),	 "6,v,B", F_FLOAT, 0, v9 },
-{ "fcmped",	CMPFCC(1)|F3F(2, 0x35, 0x056), CMPFCC(~1)|F3F(~2, ~0x35, ~0x056),	 "7,v,B", F_FLOAT, 0, v9 },
-{ "fcmped",	CMPFCC(2)|F3F(2, 0x35, 0x056), CMPFCC(~2)|F3F(~2, ~0x35, ~0x056),	 "8,v,B", F_FLOAT, 0, v9 },
-{ "fcmped",	CMPFCC(3)|F3F(2, 0x35, 0x056), CMPFCC(~3)|F3F(~2, ~0x35, ~0x056),	 "9,v,B", F_FLOAT, 0, v9 },
-{ "fcmpq",	          F3F(2, 0x35, 0x053),            F3F(~2, ~0x35, ~0x053)|RD_G0,	 "V,R", F_FLOAT, 0, v8 },
-{ "fcmpq",	CMPFCC(0)|F3F(2, 0x35, 0x053), CMPFCC(~0)|F3F(~2, ~0x35, ~0x053),	 "6,V,R", F_FLOAT, 0, v9 },
-{ "fcmpq",	CMPFCC(1)|F3F(2, 0x35, 0x053), CMPFCC(~1)|F3F(~2, ~0x35, ~0x053),	 "7,V,R", F_FLOAT, 0, v9 },
-{ "fcmpq",	CMPFCC(2)|F3F(2, 0x35, 0x053), CMPFCC(~2)|F3F(~2, ~0x35, ~0x053),	 "8,V,R", F_FLOAT, 0, v9 },
-{ "fcmpq",	CMPFCC(3)|F3F(2, 0x35, 0x053), CMPFCC(~3)|F3F(~2, ~0x35, ~0x053),	 "9,V,R", F_FLOAT, 0, v9 },
-{ "fcmpeq",	          F3F(2, 0x35, 0x057),            F3F(~2, ~0x35, ~0x057)|RD_G0,	 "V,R", F_FLOAT, 0, v8 },
-{ "fcmpeq",	CMPFCC(0)|F3F(2, 0x35, 0x057), CMPFCC(~0)|F3F(~2, ~0x35, ~0x057),	 "6,V,R", F_FLOAT, 0, v9 },
-{ "fcmpeq",	CMPFCC(1)|F3F(2, 0x35, 0x057), CMPFCC(~1)|F3F(~2, ~0x35, ~0x057),	 "7,V,R", F_FLOAT, 0, v9 },
-{ "fcmpeq",	CMPFCC(2)|F3F(2, 0x35, 0x057), CMPFCC(~2)|F3F(~2, ~0x35, ~0x057),	 "8,V,R", F_FLOAT, 0, v9 },
-{ "fcmpeq",	CMPFCC(3)|F3F(2, 0x35, 0x057), CMPFCC(~3)|F3F(~2, ~0x35, ~0x057),	 "9,V,R", F_FLOAT, 0, v9 },
-{ "fcmpx",	          F3F(2, 0x35, 0x053),            F3F(~2, ~0x35, ~0x053)|RD_G0,	 "V,R", F_FLOAT|F_ALIAS, 0, v8 },
-{ "fcmpx",	CMPFCC(0)|F3F(2, 0x35, 0x053), CMPFCC(~0)|F3F(~2, ~0x35, ~0x053),	 "6,V,R", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fcmpx",	CMPFCC(1)|F3F(2, 0x35, 0x053), CMPFCC(~1)|F3F(~2, ~0x35, ~0x053),	 "7,V,R", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fcmpx",	CMPFCC(2)|F3F(2, 0x35, 0x053), CMPFCC(~2)|F3F(~2, ~0x35, ~0x053),	 "8,V,R", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fcmpx",	CMPFCC(3)|F3F(2, 0x35, 0x053), CMPFCC(~3)|F3F(~2, ~0x35, ~0x053),	 "9,V,R", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fcmpex",	          F3F(2, 0x35, 0x057),            F3F(~2, ~0x35, ~0x057)|RD_G0,	 "V,R", F_FLOAT|F_ALIAS, 0, v8 },
-{ "fcmpex",	CMPFCC(0)|F3F(2, 0x35, 0x057), CMPFCC(~0)|F3F(~2, ~0x35, ~0x057),	 "6,V,R", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fcmpex",	CMPFCC(1)|F3F(2, 0x35, 0x057), CMPFCC(~1)|F3F(~2, ~0x35, ~0x057),	 "7,V,R", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fcmpex",	CMPFCC(2)|F3F(2, 0x35, 0x057), CMPFCC(~2)|F3F(~2, ~0x35, ~0x057),	 "8,V,R", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fcmpex",	CMPFCC(3)|F3F(2, 0x35, 0x057), CMPFCC(~3)|F3F(~2, ~0x35, ~0x057),	 "9,V,R", F_FLOAT|F_ALIAS, 0, v9 },
-{ "fcmps",	          F3F(2, 0x35, 0x051),            F3F(~2, ~0x35, ~0x051)|RD_G0, "e,f",   F_FLOAT, 0, v6 },
-{ "fcmps",	CMPFCC(0)|F3F(2, 0x35, 0x051), CMPFCC(~0)|F3F(~2, ~0x35, ~0x051),	 "6,e,f", F_FLOAT, 0, v9 },
-{ "fcmps",	CMPFCC(1)|F3F(2, 0x35, 0x051), CMPFCC(~1)|F3F(~2, ~0x35, ~0x051),	 "7,e,f", F_FLOAT, 0, v9 },
-{ "fcmps",	CMPFCC(2)|F3F(2, 0x35, 0x051), CMPFCC(~2)|F3F(~2, ~0x35, ~0x051),	 "8,e,f", F_FLOAT, 0, v9 },
-{ "fcmps",	CMPFCC(3)|F3F(2, 0x35, 0x051), CMPFCC(~3)|F3F(~2, ~0x35, ~0x051),	 "9,e,f", F_FLOAT, 0, v9 },
-{ "fcmpes",	          F3F(2, 0x35, 0x055),            F3F(~2, ~0x35, ~0x055)|RD_G0, "e,f",   F_FLOAT, 0, v6 },
-{ "fcmpes",	CMPFCC(0)|F3F(2, 0x35, 0x055), CMPFCC(~0)|F3F(~2, ~0x35, ~0x055),	 "6,e,f", F_FLOAT, 0, v9 },
-{ "fcmpes",	CMPFCC(1)|F3F(2, 0x35, 0x055), CMPFCC(~1)|F3F(~2, ~0x35, ~0x055),	 "7,e,f", F_FLOAT, 0, v9 },
-{ "fcmpes",	CMPFCC(2)|F3F(2, 0x35, 0x055), CMPFCC(~2)|F3F(~2, ~0x35, ~0x055),	 "8,e,f", F_FLOAT, 0, v9 },
-{ "fcmpes",	CMPFCC(3)|F3F(2, 0x35, 0x055), CMPFCC(~3)|F3F(~2, ~0x35, ~0x055),	 "9,e,f", F_FLOAT, 0, v9 },
+{ "fcmpd",	          F3F(2, 0x35, 0x052),            F3F(~2, ~0x35, ~0x052)|RD_G0,  "v,B",   F_FLOAT, 0, 0, v6 },
+{ "fcmpd",	CMPFCC(0)|F3F(2, 0x35, 0x052), CMPFCC(~0)|F3F(~2, ~0x35, ~0x052),	 "6,v,B", F_FLOAT, 0, 0, v9 },
+{ "fcmpd",	CMPFCC(1)|F3F(2, 0x35, 0x052), CMPFCC(~1)|F3F(~2, ~0x35, ~0x052),	 "7,v,B", F_FLOAT, 0, 0, v9 },
+{ "fcmpd",	CMPFCC(2)|F3F(2, 0x35, 0x052), CMPFCC(~2)|F3F(~2, ~0x35, ~0x052),	 "8,v,B", F_FLOAT, 0, 0, v9 },
+{ "fcmpd",	CMPFCC(3)|F3F(2, 0x35, 0x052), CMPFCC(~3)|F3F(~2, ~0x35, ~0x052),	 "9,v,B", F_FLOAT, 0, 0, v9 },
+{ "fcmped",	          F3F(2, 0x35, 0x056),            F3F(~2, ~0x35, ~0x056)|RD_G0,  "v,B",   F_FLOAT, 0, 0, v6 },
+{ "fcmped",	CMPFCC(0)|F3F(2, 0x35, 0x056), CMPFCC(~0)|F3F(~2, ~0x35, ~0x056),	 "6,v,B", F_FLOAT, 0, 0, v9 },
+{ "fcmped",	CMPFCC(1)|F3F(2, 0x35, 0x056), CMPFCC(~1)|F3F(~2, ~0x35, ~0x056),	 "7,v,B", F_FLOAT, 0, 0, v9 },
+{ "fcmped",	CMPFCC(2)|F3F(2, 0x35, 0x056), CMPFCC(~2)|F3F(~2, ~0x35, ~0x056),	 "8,v,B", F_FLOAT, 0, 0, v9 },
+{ "fcmped",	CMPFCC(3)|F3F(2, 0x35, 0x056), CMPFCC(~3)|F3F(~2, ~0x35, ~0x056),	 "9,v,B", F_FLOAT, 0, 0, v9 },
+{ "fcmpq",	          F3F(2, 0x35, 0x053),            F3F(~2, ~0x35, ~0x053)|RD_G0,	 "V,R", F_FLOAT, 0, 0, v8 },
+{ "fcmpq",	CMPFCC(0)|F3F(2, 0x35, 0x053), CMPFCC(~0)|F3F(~2, ~0x35, ~0x053),	 "6,V,R", F_FLOAT, 0, 0, v9 },
+{ "fcmpq",	CMPFCC(1)|F3F(2, 0x35, 0x053), CMPFCC(~1)|F3F(~2, ~0x35, ~0x053),	 "7,V,R", F_FLOAT, 0, 0, v9 },
+{ "fcmpq",	CMPFCC(2)|F3F(2, 0x35, 0x053), CMPFCC(~2)|F3F(~2, ~0x35, ~0x053),	 "8,V,R", F_FLOAT, 0, 0, v9 },
+{ "fcmpq",	CMPFCC(3)|F3F(2, 0x35, 0x053), CMPFCC(~3)|F3F(~2, ~0x35, ~0x053),	 "9,V,R", F_FLOAT, 0, 0, v9 },
+{ "fcmpeq",	          F3F(2, 0x35, 0x057),            F3F(~2, ~0x35, ~0x057)|RD_G0,	 "V,R", F_FLOAT, 0, 0, v8 },
+{ "fcmpeq",	CMPFCC(0)|F3F(2, 0x35, 0x057), CMPFCC(~0)|F3F(~2, ~0x35, ~0x057),	 "6,V,R", F_FLOAT, 0, 0, v9 },
+{ "fcmpeq",	CMPFCC(1)|F3F(2, 0x35, 0x057), CMPFCC(~1)|F3F(~2, ~0x35, ~0x057),	 "7,V,R", F_FLOAT, 0, 0, v9 },
+{ "fcmpeq",	CMPFCC(2)|F3F(2, 0x35, 0x057), CMPFCC(~2)|F3F(~2, ~0x35, ~0x057),	 "8,V,R", F_FLOAT, 0, 0, v9 },
+{ "fcmpeq",	CMPFCC(3)|F3F(2, 0x35, 0x057), CMPFCC(~3)|F3F(~2, ~0x35, ~0x057),	 "9,V,R", F_FLOAT, 0, 0, v9 },
+{ "fcmpx",	          F3F(2, 0x35, 0x053),            F3F(~2, ~0x35, ~0x053)|RD_G0,	 "V,R", F_FLOAT|F_ALIAS, 0, 0, v8 },
+{ "fcmpx",	CMPFCC(0)|F3F(2, 0x35, 0x053), CMPFCC(~0)|F3F(~2, ~0x35, ~0x053),	 "6,V,R", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fcmpx",	CMPFCC(1)|F3F(2, 0x35, 0x053), CMPFCC(~1)|F3F(~2, ~0x35, ~0x053),	 "7,V,R", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fcmpx",	CMPFCC(2)|F3F(2, 0x35, 0x053), CMPFCC(~2)|F3F(~2, ~0x35, ~0x053),	 "8,V,R", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fcmpx",	CMPFCC(3)|F3F(2, 0x35, 0x053), CMPFCC(~3)|F3F(~2, ~0x35, ~0x053),	 "9,V,R", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fcmpex",	          F3F(2, 0x35, 0x057),            F3F(~2, ~0x35, ~0x057)|RD_G0,	 "V,R", F_FLOAT|F_ALIAS, 0, 0, v8 },
+{ "fcmpex",	CMPFCC(0)|F3F(2, 0x35, 0x057), CMPFCC(~0)|F3F(~2, ~0x35, ~0x057),	 "6,V,R", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fcmpex",	CMPFCC(1)|F3F(2, 0x35, 0x057), CMPFCC(~1)|F3F(~2, ~0x35, ~0x057),	 "7,V,R", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fcmpex",	CMPFCC(2)|F3F(2, 0x35, 0x057), CMPFCC(~2)|F3F(~2, ~0x35, ~0x057),	 "8,V,R", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fcmpex",	CMPFCC(3)|F3F(2, 0x35, 0x057), CMPFCC(~3)|F3F(~2, ~0x35, ~0x057),	 "9,V,R", F_FLOAT|F_ALIAS, 0, 0, v9 },
+{ "fcmps",	          F3F(2, 0x35, 0x051),            F3F(~2, ~0x35, ~0x051)|RD_G0, "e,f",   F_FLOAT, 0, 0, v6 },
+{ "fcmps",	CMPFCC(0)|F3F(2, 0x35, 0x051), CMPFCC(~0)|F3F(~2, ~0x35, ~0x051),	 "6,e,f", F_FLOAT, 0, 0, v9 },
+{ "fcmps",	CMPFCC(1)|F3F(2, 0x35, 0x051), CMPFCC(~1)|F3F(~2, ~0x35, ~0x051),	 "7,e,f", F_FLOAT, 0, 0, v9 },
+{ "fcmps",	CMPFCC(2)|F3F(2, 0x35, 0x051), CMPFCC(~2)|F3F(~2, ~0x35, ~0x051),	 "8,e,f", F_FLOAT, 0, 0, v9 },
+{ "fcmps",	CMPFCC(3)|F3F(2, 0x35, 0x051), CMPFCC(~3)|F3F(~2, ~0x35, ~0x051),	 "9,e,f", F_FLOAT, 0, 0, v9 },
+{ "fcmpes",	          F3F(2, 0x35, 0x055),            F3F(~2, ~0x35, ~0x055)|RD_G0, "e,f",   F_FLOAT, 0, 0, v6 },
+{ "fcmpes",	CMPFCC(0)|F3F(2, 0x35, 0x055), CMPFCC(~0)|F3F(~2, ~0x35, ~0x055),	 "6,e,f", F_FLOAT, 0, 0, v9 },
+{ "fcmpes",	CMPFCC(1)|F3F(2, 0x35, 0x055), CMPFCC(~1)|F3F(~2, ~0x35, ~0x055),	 "7,e,f", F_FLOAT, 0, 0, v9 },
+{ "fcmpes",	CMPFCC(2)|F3F(2, 0x35, 0x055), CMPFCC(~2)|F3F(~2, ~0x35, ~0x055),	 "8,e,f", F_FLOAT, 0, 0, v9 },
+{ "fcmpes",	CMPFCC(3)|F3F(2, 0x35, 0x055), CMPFCC(~3)|F3F(~2, ~0x35, ~0x055),	 "9,e,f", F_FLOAT, 0, 0, v9 },
 
 /* These Extended FPop (FIFO) instructions are new in the Fujitsu
    MB86934, replacing the CPop instructions from v6 and later
    processors.  */
 
-#define EFPOP1_2(name, op, args) { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~op)|RS1_G0, args, 0, 0, sparclite }
-#define EFPOP1_3(name, op, args) { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~op),        args, 0, 0, sparclite }
-#define EFPOP2_2(name, op, args) { name, F3F(2, 0x37, op), F3F(~2, ~0x37, ~op)|RD_G0,  args, 0, 0, sparclite }
+#define EFPOP1_2(name, op, args) { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~op)|RS1_G0, args, 0, 0, 0, sparclite }
+#define EFPOP1_3(name, op, args) { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~op),        args, 0, 0, 0, sparclite }
+#define EFPOP2_2(name, op, args) { name, F3F(2, 0x37, op), F3F(~2, ~0x37, ~op)|RD_G0,  args, 0, 0, 0, sparclite }
 
 EFPOP1_2 ("efitod",	0x0c8, "f,H"),
 EFPOP1_2 ("efitos",	0x0c4, "f,g"),
@@ -1728,8 +1730,8 @@ EFPOP2_2 ("efcmpes",	0x055, "e,f"),
 
 /* These are marked F_ALIAS, so that they won't conflict with sparclite insns
    present.  Otherwise, the F_ALIAS flag is ignored.  */
-{ "cpop1",	F3(2, 0x36, 0), F3(~2, ~0x36, ~1), "[1+2],d", F_ALIAS, 0, v6notv9 },
-{ "cpop2",	F3(2, 0x37, 0), F3(~2, ~0x37, ~1), "[1+2],d", F_ALIAS, 0, v6notv9 },
+{ "cpop1",	F3(2, 0x36, 0), F3(~2, ~0x36, ~1), "[1+2],d", F_ALIAS, 0, 0, v6notv9 },
+{ "cpop2",	F3(2, 0x37, 0), F3(~2, ~0x37, ~1), "[1+2],d", F_ALIAS, 0, 0, v6notv9 },
 
 /* sparclet specific insns */
 
@@ -1741,26 +1743,26 @@ COMMUTEOP ("smacd", 0x2f, sparclet),
 COMMUTEOP ("umuld", 0x09, sparclet),
 COMMUTEOP ("smuld", 0x0d, sparclet),
 
-{ "shuffle",	F3(2, 0x2d, 0), F3(~2, ~0x2d, ~0)|ASI(~0),	"1,2,d", 0, 0, sparclet },
-{ "shuffle",	F3(2, 0x2d, 1), F3(~2, ~0x2d, ~1),		"1,i,d", 0, 0, sparclet },
+{ "shuffle",	F3(2, 0x2d, 0), F3(~2, ~0x2d, ~0)|ASI(~0),	"1,2,d", 0, 0, 0, sparclet },
+{ "shuffle",	F3(2, 0x2d, 1), F3(~2, ~0x2d, ~1),		"1,i,d", 0, 0, 0, sparclet },
 
 /* The manual isn't completely accurate on these insns.  The `rs2' field is
    treated as being 6 bits to account for 6 bit immediates to cpush.  It is
    assumed that it is intended that bit 5 is 0 when rs2 contains a reg.  */
 #define BIT5 (1<<5)
-{ "crdcxt",	F3(2, 0x36, 0)|SLCPOP(4), F3(~2, ~0x36, ~0)|SLCPOP(~4)|BIT5|RS2(~0),	"U,d", 0, 0, sparclet },
-{ "cwrcxt",	F3(2, 0x36, 0)|SLCPOP(3), F3(~2, ~0x36, ~0)|SLCPOP(~3)|BIT5|RS2(~0),	"1,u", 0, 0, sparclet },
-{ "cpush",	F3(2, 0x36, 0)|SLCPOP(0), F3(~2, ~0x36, ~0)|SLCPOP(~0)|BIT5|RD(~0),	"1,2", 0, 0, sparclet },
-{ "cpush",	F3(2, 0x36, 1)|SLCPOP(0), F3(~2, ~0x36, ~1)|SLCPOP(~0)|RD(~0),		"1,Y", 0, 0, sparclet },
-{ "cpusha",	F3(2, 0x36, 0)|SLCPOP(1), F3(~2, ~0x36, ~0)|SLCPOP(~1)|BIT5|RD(~0),	"1,2", 0, 0, sparclet },
-{ "cpusha",	F3(2, 0x36, 1)|SLCPOP(1), F3(~2, ~0x36, ~1)|SLCPOP(~1)|RD(~0),		"1,Y", 0, 0, sparclet },
-{ "cpull",	F3(2, 0x36, 0)|SLCPOP(2), F3(~2, ~0x36, ~0)|SLCPOP(~2)|BIT5|RS1(~0)|RS2(~0), "d", 0, 0, sparclet },
+{ "crdcxt",	F3(2, 0x36, 0)|SLCPOP(4), F3(~2, ~0x36, ~0)|SLCPOP(~4)|BIT5|RS2(~0),	"U,d", 0, 0, 0, sparclet },
+{ "cwrcxt",	F3(2, 0x36, 0)|SLCPOP(3), F3(~2, ~0x36, ~0)|SLCPOP(~3)|BIT5|RS2(~0),	"1,u", 0, 0, 0, sparclet },
+{ "cpush",	F3(2, 0x36, 0)|SLCPOP(0), F3(~2, ~0x36, ~0)|SLCPOP(~0)|BIT5|RD(~0),	"1,2", 0, 0, 0, sparclet },
+{ "cpush",	F3(2, 0x36, 1)|SLCPOP(0), F3(~2, ~0x36, ~1)|SLCPOP(~0)|RD(~0),		"1,Y", 0, 0, 0, sparclet },
+{ "cpusha",	F3(2, 0x36, 0)|SLCPOP(1), F3(~2, ~0x36, ~0)|SLCPOP(~1)|BIT5|RD(~0),	"1,2", 0, 0, 0, sparclet },
+{ "cpusha",	F3(2, 0x36, 1)|SLCPOP(1), F3(~2, ~0x36, ~1)|SLCPOP(~1)|RD(~0),		"1,Y", 0, 0, 0, sparclet },
+{ "cpull",	F3(2, 0x36, 0)|SLCPOP(2), F3(~2, ~0x36, ~0)|SLCPOP(~2)|BIT5|RS1(~0)|RS2(~0), "d", 0, 0, 0, sparclet },
 #undef BIT5
 
 /* sparclet coprocessor branch insns */
 #define SLCBCC2(opcode, mask, lose) \
- { opcode, (mask), ANNUL|(lose), "l",    F_DELAYED|F_CONDBR, 0, sparclet }, \
- { opcode, (mask)|ANNUL, (lose), ",a l", F_DELAYED|F_CONDBR, 0, sparclet }
+ { opcode, (mask), ANNUL|(lose), "l",    F_DELAYED|F_CONDBR, 0, 0, sparclet }, \
+ { opcode, (mask)|ANNUL, (lose), ",a l", F_DELAYED|F_CONDBR, 0, 0, sparclet }
 #define SLCBCC(opcode, mask) \
   SLCBCC2(opcode, F2(0, 7)|COND(mask), F2(~0, ~7)|COND(~(mask)))
 
@@ -1786,280 +1788,318 @@ SLCBCC("cbnefr", 15),
 #undef SLCBCC2
 #undef SLCBCC
 
-{ "casa",	F3(3, 0x3c, 0), F3(~3, ~0x3c, ~0), "[1]A,2,d", 0, 0, v9andleon },
-{ "casa",	F3(3, 0x3c, 1), F3(~3, ~0x3c, ~1), "[1]o,2,d", 0, 0, v9andleon },
-{ "casxa",	F3(3, 0x3e, 0), F3(~3, ~0x3e, ~0), "[1]A,2,d", 0, 0, v9 },
-{ "casxa",	F3(3, 0x3e, 1), F3(~3, ~0x3e, ~1), "[1]o,2,d", 0, 0, v9 },
+{ "casa",	F3(3, 0x3c, 0), F3(~3, ~0x3c, ~0), "[1]A,2,d", 0, 0, 0, v9andleon },
+{ "casa",	F3(3, 0x3c, 1), F3(~3, ~0x3c, ~1), "[1]o,2,d", 0, 0, 0, v9andleon },
+{ "casxa",	F3(3, 0x3e, 0), F3(~3, ~0x3e, ~0), "[1]A,2,d", 0, 0, 0, v9 },
+{ "casxa",	F3(3, 0x3e, 1), F3(~3, ~0x3e, ~1), "[1]o,2,d", 0, 0, 0, v9 },
 
 /* v9 synthetic insns */
-{ "iprefetch",	F2(0, 1)|(2<<20)|BPRED, F2(~0, ~1)|(1<<20)|ANNUL|COND(~0), "G", 0, 0, v9 }, /* bn,a,pt %xcc,label */
-{ "signx",	F3(2, 0x27, 0), F3(~2, ~0x27, ~0)|(1<<12)|ASI(~0)|RS2_G0, "1,d", F_ALIAS, 0, v9 }, /* sra rs1,%g0,rd */
-{ "signx",	F3(2, 0x27, 0), F3(~2, ~0x27, ~0)|(1<<12)|ASI(~0)|RS2_G0, "r", F_ALIAS, 0, v9 }, /* sra rd,%g0,rd */
-{ "clruw",	F3(2, 0x26, 0), F3(~2, ~0x26, ~0)|(1<<12)|ASI(~0)|RS2_G0, "1,d", F_ALIAS, 0, v9 }, /* srl rs1,%g0,rd */
-{ "clruw",	F3(2, 0x26, 0), F3(~2, ~0x26, ~0)|(1<<12)|ASI(~0)|RS2_G0, "r", F_ALIAS, 0, v9 }, /* srl rd,%g0,rd */
-{ "cas",	F3(3, 0x3c, 0)|ASI(0x80), F3(~3, ~0x3c, ~0)|ASI(~0x80), "[1],2,d", F_ALIAS, 0, v9 }, /* casa [rs1]ASI_P,rs2,rd */
-{ "casl",	F3(3, 0x3c, 0)|ASI(0x88), F3(~3, ~0x3c, ~0)|ASI(~0x88), "[1],2,d", F_ALIAS, 0, v9 }, /* casa [rs1]ASI_P_L,rs2,rd */
-{ "casx",	F3(3, 0x3e, 0)|ASI(0x80), F3(~3, ~0x3e, ~0)|ASI(~0x80), "[1],2,d", F_ALIAS, 0, v9 }, /* casxa [rs1]ASI_P,rs2,rd */
-{ "casxl",	F3(3, 0x3e, 0)|ASI(0x88), F3(~3, ~0x3e, ~0)|ASI(~0x88), "[1],2,d", F_ALIAS, 0, v9 }, /* casxa [rs1]ASI_P_L,rs2,rd */
+{ "iprefetch",	F2(0, 1)|(2<<20)|BPRED, F2(~0, ~1)|(1<<20)|ANNUL|COND(~0), "G", 0, 0, 0, v9 }, /* bn,a,pt %xcc,label */
+{ "signx",	F3(2, 0x27, 0), F3(~2, ~0x27, ~0)|(1<<12)|ASI(~0)|RS2_G0, "1,d", F_ALIAS, 0, 0, v9 }, /* sra rs1,%g0,rd */
+{ "signx",	F3(2, 0x27, 0), F3(~2, ~0x27, ~0)|(1<<12)|ASI(~0)|RS2_G0, "r", F_ALIAS, 0, 0, v9 }, /* sra rd,%g0,rd */
+{ "clruw",	F3(2, 0x26, 0), F3(~2, ~0x26, ~0)|(1<<12)|ASI(~0)|RS2_G0, "1,d", F_ALIAS, 0, 0, v9 }, /* srl rs1,%g0,rd */
+{ "clruw",	F3(2, 0x26, 0), F3(~2, ~0x26, ~0)|(1<<12)|ASI(~0)|RS2_G0, "r", F_ALIAS, 0, 0, v9 }, /* srl rd,%g0,rd */
+{ "cas",	F3(3, 0x3c, 0)|ASI(0x80), F3(~3, ~0x3c, ~0)|ASI(~0x80), "[1],2,d", F_ALIAS, 0, 0, v9 }, /* casa [rs1]ASI_P,rs2,rd */
+{ "casl",	F3(3, 0x3c, 0)|ASI(0x88), F3(~3, ~0x3c, ~0)|ASI(~0x88), "[1],2,d", F_ALIAS, 0, 0, v9 }, /* casa [rs1]ASI_P_L,rs2,rd */
+{ "casx",	F3(3, 0x3e, 0)|ASI(0x80), F3(~3, ~0x3e, ~0)|ASI(~0x80), "[1],2,d", F_ALIAS, 0, 0, v9 }, /* casxa [rs1]ASI_P,rs2,rd */
+{ "casxl",	F3(3, 0x3e, 0)|ASI(0x88), F3(~3, ~0x3e, ~0)|ASI(~0x88), "[1],2,d", F_ALIAS, 0, 0, v9 }, /* casxa [rs1]ASI_P_L,rs2,rd */
 
 /* Ultrasparc extensions */
-{ "shutdown",	F3F(2, 0x36, 0x080), F3F(~2, ~0x36, ~0x080)|RD_G0|RS1_G0|RS2_G0, "", 0, HWCAP_VIS, v9a },
+{ "shutdown",	F3F(2, 0x36, 0x080), F3F(~2, ~0x36, ~0x080)|RD_G0|RS1_G0|RS2_G0, "", 0, HWCAP_VIS, 0, v9a },
 
 /* FIXME: Do we want to mark these as F_FLOAT, or something similar?  */
-{ "fpadd16",	F3F(2, 0x36, 0x050), F3F(~2, ~0x36, ~0x050), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fpadd16s",	F3F(2, 0x36, 0x051), F3F(~2, ~0x36, ~0x051), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fpadd32",	F3F(2, 0x36, 0x052), F3F(~2, ~0x36, ~0x052), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fpadd32s",	F3F(2, 0x36, 0x053), F3F(~2, ~0x36, ~0x053), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fpsub16",	F3F(2, 0x36, 0x054), F3F(~2, ~0x36, ~0x054), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fpsub16s",	F3F(2, 0x36, 0x055), F3F(~2, ~0x36, ~0x055), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fpsub32",	F3F(2, 0x36, 0x056), F3F(~2, ~0x36, ~0x056), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fpsub32s",	F3F(2, 0x36, 0x057), F3F(~2, ~0x36, ~0x057), "e,f,g", 0, HWCAP_VIS, v9a },
-
-{ "fpack32",	F3F(2, 0x36, 0x03a), F3F(~2, ~0x36, ~0x03a), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fpack16",	F3F(2, 0x36, 0x03b), F3F(~2, ~0x36, ~0x03b)|RS1_G0, "B,g", 0, HWCAP_VIS, v9a },
-{ "fpackfix",	F3F(2, 0x36, 0x03d), F3F(~2, ~0x36, ~0x03d)|RS1_G0, "B,g", 0, HWCAP_VIS, v9a },
-{ "fexpand",	F3F(2, 0x36, 0x04d), F3F(~2, ~0x36, ~0x04d)|RS1_G0, "f,H", 0, HWCAP_VIS, v9a },
-{ "fpmerge",	F3F(2, 0x36, 0x04b), F3F(~2, ~0x36, ~0x04b), "e,f,H", 0, HWCAP_VIS, v9a },
+{ "fpadd16",	F3F(2, 0x36, 0x050), F3F(~2, ~0x36, ~0x050), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fpadd16s",	F3F(2, 0x36, 0x051), F3F(~2, ~0x36, ~0x051), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fpadd32",	F3F(2, 0x36, 0x052), F3F(~2, ~0x36, ~0x052), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fpadd32s",	F3F(2, 0x36, 0x053), F3F(~2, ~0x36, ~0x053), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fpsub16",	F3F(2, 0x36, 0x054), F3F(~2, ~0x36, ~0x054), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fpsub16s",	F3F(2, 0x36, 0x055), F3F(~2, ~0x36, ~0x055), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fpsub32",	F3F(2, 0x36, 0x056), F3F(~2, ~0x36, ~0x056), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fpsub32s",	F3F(2, 0x36, 0x057), F3F(~2, ~0x36, ~0x057), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+
+{ "fpack32",	F3F(2, 0x36, 0x03a), F3F(~2, ~0x36, ~0x03a), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fpack16",	F3F(2, 0x36, 0x03b), F3F(~2, ~0x36, ~0x03b)|RS1_G0, "B,g", 0, HWCAP_VIS, 0, v9a },
+{ "fpackfix",	F3F(2, 0x36, 0x03d), F3F(~2, ~0x36, ~0x03d)|RS1_G0, "B,g", 0, HWCAP_VIS, 0, v9a },
+{ "fexpand",	F3F(2, 0x36, 0x04d), F3F(~2, ~0x36, ~0x04d)|RS1_G0, "f,H", 0, HWCAP_VIS, 0, v9a },
+{ "fpmerge",	F3F(2, 0x36, 0x04b), F3F(~2, ~0x36, ~0x04b), "e,f,H", 0, HWCAP_VIS, 0, v9a },
 
 /* Note that the mixing of 32/64 bit regs is intentional.  */
-{ "fmul8x16",		F3F(2, 0x36, 0x031), F3F(~2, ~0x36, ~0x031), "e,B,H", 0, HWCAP_VIS, v9a },
-{ "fmul8x16au",		F3F(2, 0x36, 0x033), F3F(~2, ~0x36, ~0x033), "e,f,H", 0, HWCAP_VIS, v9a },
-{ "fmul8x16al",		F3F(2, 0x36, 0x035), F3F(~2, ~0x36, ~0x035), "e,f,H", 0, HWCAP_VIS, v9a },
-{ "fmul8sux16",		F3F(2, 0x36, 0x036), F3F(~2, ~0x36, ~0x036), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fmul8ulx16",		F3F(2, 0x36, 0x037), F3F(~2, ~0x36, ~0x037), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fmuld8sux16",	F3F(2, 0x36, 0x038), F3F(~2, ~0x36, ~0x038), "e,f,H", 0, HWCAP_VIS, v9a },
-{ "fmuld8ulx16",	F3F(2, 0x36, 0x039), F3F(~2, ~0x36, ~0x039), "e,f,H", 0, HWCAP_VIS, v9a },
-
-{ "alignaddr",	F3F(2, 0x36, 0x018), F3F(~2, ~0x36, ~0x018), "1,2,d", 0, HWCAP_VIS, v9a },
-{ "alignaddrl",	F3F(2, 0x36, 0x01a), F3F(~2, ~0x36, ~0x01a), "1,2,d", 0, HWCAP_VIS, v9a },
-{ "faligndata",	F3F(2, 0x36, 0x048), F3F(~2, ~0x36, ~0x048), "v,B,H", 0, HWCAP_VIS, v9a },
-
-{ "fzerod",	F3F(2, 0x36, 0x060), F3F(~2, ~0x36, ~0x060), "H", 0, HWCAP_VIS, v9a },
-{ "fzero",	F3F(2, 0x36, 0x060), F3F(~2, ~0x36, ~0x060), "H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fzeros",	F3F(2, 0x36, 0x061), F3F(~2, ~0x36, ~0x061), "g", 0, HWCAP_VIS, v9a },
-{ "foned",	F3F(2, 0x36, 0x07e), F3F(~2, ~0x36, ~0x07e), "H", 0, HWCAP_VIS, v9a },
-{ "fone",	F3F(2, 0x36, 0x07e), F3F(~2, ~0x36, ~0x07e), "H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fones",	F3F(2, 0x36, 0x07f), F3F(~2, ~0x36, ~0x07f), "g", 0, HWCAP_VIS, v9a },
-{ "fsrc1d",	F3F(2, 0x36, 0x074), F3F(~2, ~0x36, ~0x074), "v,H", 0, HWCAP_VIS, v9a },
-{ "fsrc1",	F3F(2, 0x36, 0x074), F3F(~2, ~0x36, ~0x074), "v,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fsrc1s",	F3F(2, 0x36, 0x075), F3F(~2, ~0x36, ~0x075), "e,g", 0, HWCAP_VIS, v9a },
-{ "fsrc2d",	F3F(2, 0x36, 0x078), F3F(~2, ~0x36, ~0x078), "B,H", 0, HWCAP_VIS, v9a },
-{ "fsrc2",	F3F(2, 0x36, 0x078), F3F(~2, ~0x36, ~0x078), "B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fsrc2s",	F3F(2, 0x36, 0x079), F3F(~2, ~0x36, ~0x079), "f,g", 0, HWCAP_VIS, v9a },
-{ "fnot1d",	F3F(2, 0x36, 0x06a), F3F(~2, ~0x36, ~0x06a), "v,H", 0, HWCAP_VIS, v9a },
-{ "fnot1",	F3F(2, 0x36, 0x06a), F3F(~2, ~0x36, ~0x06a), "v,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fnot1s",	F3F(2, 0x36, 0x06b), F3F(~2, ~0x36, ~0x06b), "e,g", 0, HWCAP_VIS, v9a },
-{ "fnot2d",	F3F(2, 0x36, 0x066), F3F(~2, ~0x36, ~0x066), "B,H", 0, HWCAP_VIS, v9a },
-{ "fnot2",	F3F(2, 0x36, 0x066), F3F(~2, ~0x36, ~0x066), "B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fnot2s",	F3F(2, 0x36, 0x067), F3F(~2, ~0x36, ~0x067), "f,g", 0, HWCAP_VIS, v9a },
-{ "ford",	F3F(2, 0x36, 0x07c), F3F(~2, ~0x36, ~0x07c), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "for",	F3F(2, 0x36, 0x07c), F3F(~2, ~0x36, ~0x07c), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fors",	F3F(2, 0x36, 0x07d), F3F(~2, ~0x36, ~0x07d), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fnord",	F3F(2, 0x36, 0x062), F3F(~2, ~0x36, ~0x062), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fnor",	F3F(2, 0x36, 0x062), F3F(~2, ~0x36, ~0x062), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fnors",	F3F(2, 0x36, 0x063), F3F(~2, ~0x36, ~0x063), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fandd",	F3F(2, 0x36, 0x070), F3F(~2, ~0x36, ~0x070), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fand",	F3F(2, 0x36, 0x070), F3F(~2, ~0x36, ~0x070), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fands",	F3F(2, 0x36, 0x071), F3F(~2, ~0x36, ~0x071), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fnandd",	F3F(2, 0x36, 0x06e), F3F(~2, ~0x36, ~0x06e), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fnand",	F3F(2, 0x36, 0x06e), F3F(~2, ~0x36, ~0x06e), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fnands",	F3F(2, 0x36, 0x06f), F3F(~2, ~0x36, ~0x06f), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fxord",	F3F(2, 0x36, 0x06c), F3F(~2, ~0x36, ~0x06c), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fxor",	F3F(2, 0x36, 0x06c), F3F(~2, ~0x36, ~0x06c), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fxors",	F3F(2, 0x36, 0x06d), F3F(~2, ~0x36, ~0x06d), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fxnord",	F3F(2, 0x36, 0x072), F3F(~2, ~0x36, ~0x072), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fxnor",	F3F(2, 0x36, 0x072), F3F(~2, ~0x36, ~0x072), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fxnors",	F3F(2, 0x36, 0x073), F3F(~2, ~0x36, ~0x073), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fornot1d",	F3F(2, 0x36, 0x07a), F3F(~2, ~0x36, ~0x07a), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fornot1",	F3F(2, 0x36, 0x07a), F3F(~2, ~0x36, ~0x07a), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fornot1s",	F3F(2, 0x36, 0x07b), F3F(~2, ~0x36, ~0x07b), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fornot2d",	F3F(2, 0x36, 0x076), F3F(~2, ~0x36, ~0x076), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fornot2",	F3F(2, 0x36, 0x076), F3F(~2, ~0x36, ~0x076), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fornot2s",	F3F(2, 0x36, 0x077), F3F(~2, ~0x36, ~0x077), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fandnot1d",	F3F(2, 0x36, 0x068), F3F(~2, ~0x36, ~0x068), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fandnot1",	F3F(2, 0x36, 0x068), F3F(~2, ~0x36, ~0x068), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fandnot1s",	F3F(2, 0x36, 0x069), F3F(~2, ~0x36, ~0x069), "e,f,g", 0, HWCAP_VIS, v9a },
-{ "fandnot2d",	F3F(2, 0x36, 0x064), F3F(~2, ~0x36, ~0x064), "v,B,H", 0, HWCAP_VIS, v9a },
-{ "fandnot2",	F3F(2, 0x36, 0x064), F3F(~2, ~0x36, ~0x064), "v,B,H", F_ALIAS, HWCAP_VIS, v9a },
-{ "fandnot2s",	F3F(2, 0x36, 0x065), F3F(~2, ~0x36, ~0x065), "e,f,g", 0, HWCAP_VIS, v9a },
-
-{ "fpcmpgt16",	F3F(2, 0x36, 0x028), F3F(~2, ~0x36, ~0x028), "v,B,d", 0, HWCAP_VIS, v9a },
-{ "fcmpgt16",	F3F(2, 0x36, 0x028), F3F(~2, ~0x36, ~0x028), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fpcmpgt32",	F3F(2, 0x36, 0x02c), F3F(~2, ~0x36, ~0x02c), "v,B,d", 0, HWCAP_VIS, v9a },
-{ "fcmpgt32",	F3F(2, 0x36, 0x02c), F3F(~2, ~0x36, ~0x02c), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fpcmple16",	F3F(2, 0x36, 0x020), F3F(~2, ~0x36, ~0x020), "v,B,d", 0, HWCAP_VIS, v9a },
-{ "fcmple16",	F3F(2, 0x36, 0x020), F3F(~2, ~0x36, ~0x020), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fpcmple32",	F3F(2, 0x36, 0x024), F3F(~2, ~0x36, ~0x024), "v,B,d", 0, HWCAP_VIS, v9a },
-{ "fcmple32",	F3F(2, 0x36, 0x024), F3F(~2, ~0x36, ~0x024), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fpcmpne16",	F3F(2, 0x36, 0x022), F3F(~2, ~0x36, ~0x022), "v,B,d", 0, HWCAP_VIS, v9a },
-{ "fpcmpune16",	F3F(2, 0x36, 0x022), F3F(~2, ~0x36, ~0x022), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fcmpne16",	F3F(2, 0x36, 0x022), F3F(~2, ~0x36, ~0x022), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fpcmpne32",	F3F(2, 0x36, 0x026), F3F(~2, ~0x36, ~0x026), "v,B,d", 0, HWCAP_VIS, v9a },
-{ "fpcmpune32",	F3F(2, 0x36, 0x026), F3F(~2, ~0x36, ~0x026), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fcmpne32",	F3F(2, 0x36, 0x026), F3F(~2, ~0x36, ~0x026), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fpcmpeq16",	F3F(2, 0x36, 0x02a), F3F(~2, ~0x36, ~0x02a), "v,B,d", 0, HWCAP_VIS, v9a },
-{ "fpcmpueq16",	F3F(2, 0x36, 0x02a), F3F(~2, ~0x36, ~0x02a), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fcmpeq16",	F3F(2, 0x36, 0x02a), F3F(~2, ~0x36, ~0x02a), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fpcmpeq32",	F3F(2, 0x36, 0x02e), F3F(~2, ~0x36, ~0x02e), "v,B,d", 0, HWCAP_VIS, v9a },
-{ "fpcmpueq32",	F3F(2, 0x36, 0x02e), F3F(~2, ~0x36, ~0x02e), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "fcmpeq32",	F3F(2, 0x36, 0x02e), F3F(~2, ~0x36, ~0x02e), "v,B,d", F_ALIAS, HWCAP_VIS, v9a },
-
-{ "edge8cc",	F3F(2, 0x36, 0x000), F3F(~2, ~0x36, ~0x000), "1,2,d", 0, HWCAP_VIS, v9a },
-{ "edge8lcc",	F3F(2, 0x36, 0x002), F3F(~2, ~0x36, ~0x002), "1,2,d", 0, HWCAP_VIS, v9a },
-{ "edge16cc",	F3F(2, 0x36, 0x004), F3F(~2, ~0x36, ~0x004), "1,2,d", 0, HWCAP_VIS, v9a },
-{ "edge16lcc",	F3F(2, 0x36, 0x006), F3F(~2, ~0x36, ~0x006), "1,2,d", 0, HWCAP_VIS, v9a },
-{ "edge32cc",	F3F(2, 0x36, 0x008), F3F(~2, ~0x36, ~0x008), "1,2,d", 0, HWCAP_VIS, v9a },
-{ "edge32lcc",	F3F(2, 0x36, 0x00a), F3F(~2, ~0x36, ~0x00a), "1,2,d", 0, HWCAP_VIS, v9a },
-
-{ "edge8",	F3F(2, 0x36, 0x000), F3F(~2, ~0x36, ~0x000), "1,2,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "edge8l",	F3F(2, 0x36, 0x002), F3F(~2, ~0x36, ~0x002), "1,2,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "edge16",	F3F(2, 0x36, 0x004), F3F(~2, ~0x36, ~0x004), "1,2,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "edge16l",	F3F(2, 0x36, 0x006), F3F(~2, ~0x36, ~0x006), "1,2,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "edge32",	F3F(2, 0x36, 0x008), F3F(~2, ~0x36, ~0x008), "1,2,d", F_ALIAS, HWCAP_VIS, v9a },
-{ "edge32l",	F3F(2, 0x36, 0x00a), F3F(~2, ~0x36, ~0x00a), "1,2,d", F_ALIAS, HWCAP_VIS, v9a },
-
-{ "pdist",	F3F(2, 0x36, 0x03e), F3F(~2, ~0x36, ~0x03e), "v,B,H", 0, HWCAP_VIS, v9a },
-
-{ "array8",	F3F(2, 0x36, 0x010), F3F(~2, ~0x36, ~0x010), "1,2,d", 0, HWCAP_VIS, v9a },
-{ "array16",	F3F(2, 0x36, 0x012), F3F(~2, ~0x36, ~0x012), "1,2,d", 0, HWCAP_VIS, v9a },
-{ "array32",	F3F(2, 0x36, 0x014), F3F(~2, ~0x36, ~0x014), "1,2,d", 0, HWCAP_VIS, v9a },
+{ "fmul8x16",		F3F(2, 0x36, 0x031), F3F(~2, ~0x36, ~0x031), "e,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fmul8x16au",		F3F(2, 0x36, 0x033), F3F(~2, ~0x36, ~0x033), "e,f,H", 0, HWCAP_VIS, 0, v9a },
+{ "fmul8x16al",		F3F(2, 0x36, 0x035), F3F(~2, ~0x36, ~0x035), "e,f,H", 0, HWCAP_VIS, 0, v9a },
+{ "fmul8sux16",		F3F(2, 0x36, 0x036), F3F(~2, ~0x36, ~0x036), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fmul8ulx16",		F3F(2, 0x36, 0x037), F3F(~2, ~0x36, ~0x037), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fmuld8sux16",	F3F(2, 0x36, 0x038), F3F(~2, ~0x36, ~0x038), "e,f,H", 0, HWCAP_VIS, 0, v9a },
+{ "fmuld8ulx16",	F3F(2, 0x36, 0x039), F3F(~2, ~0x36, ~0x039), "e,f,H", 0, HWCAP_VIS, 0, v9a },
+
+{ "alignaddr",	F3F(2, 0x36, 0x018), F3F(~2, ~0x36, ~0x018), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+{ "alignaddrl",	F3F(2, 0x36, 0x01a), F3F(~2, ~0x36, ~0x01a), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+{ "faligndata",	F3F(2, 0x36, 0x048), F3F(~2, ~0x36, ~0x048), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+
+{ "fzerod",	F3F(2, 0x36, 0x060), F3F(~2, ~0x36, ~0x060), "H", 0, HWCAP_VIS, 0, v9a },
+{ "fzero",	F3F(2, 0x36, 0x060), F3F(~2, ~0x36, ~0x060), "H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fzeros",	F3F(2, 0x36, 0x061), F3F(~2, ~0x36, ~0x061), "g", 0, HWCAP_VIS, 0, v9a },
+{ "foned",	F3F(2, 0x36, 0x07e), F3F(~2, ~0x36, ~0x07e), "H", 0, HWCAP_VIS, 0, v9a },
+{ "fone",	F3F(2, 0x36, 0x07e), F3F(~2, ~0x36, ~0x07e), "H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fones",	F3F(2, 0x36, 0x07f), F3F(~2, ~0x36, ~0x07f), "g", 0, HWCAP_VIS, 0, v9a },
+{ "fsrc1d",	F3F(2, 0x36, 0x074), F3F(~2, ~0x36, ~0x074), "v,H", 0, HWCAP_VIS, 0, v9a },
+{ "fsrc1",	F3F(2, 0x36, 0x074), F3F(~2, ~0x36, ~0x074), "v,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fsrc1s",	F3F(2, 0x36, 0x075), F3F(~2, ~0x36, ~0x075), "e,g", 0, HWCAP_VIS, 0, v9a },
+{ "fsrc2d",	F3F(2, 0x36, 0x078), F3F(~2, ~0x36, ~0x078), "B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fsrc2",	F3F(2, 0x36, 0x078), F3F(~2, ~0x36, ~0x078), "B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fsrc2s",	F3F(2, 0x36, 0x079), F3F(~2, ~0x36, ~0x079), "f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fnot1d",	F3F(2, 0x36, 0x06a), F3F(~2, ~0x36, ~0x06a), "v,H", 0, HWCAP_VIS, 0, v9a },
+{ "fnot1",	F3F(2, 0x36, 0x06a), F3F(~2, ~0x36, ~0x06a), "v,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fnot1s",	F3F(2, 0x36, 0x06b), F3F(~2, ~0x36, ~0x06b), "e,g", 0, HWCAP_VIS, 0, v9a },
+{ "fnot2d",	F3F(2, 0x36, 0x066), F3F(~2, ~0x36, ~0x066), "B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fnot2",	F3F(2, 0x36, 0x066), F3F(~2, ~0x36, ~0x066), "B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fnot2s",	F3F(2, 0x36, 0x067), F3F(~2, ~0x36, ~0x067), "f,g", 0, HWCAP_VIS, 0, v9a },
+{ "ford",	F3F(2, 0x36, 0x07c), F3F(~2, ~0x36, ~0x07c), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "for",	F3F(2, 0x36, 0x07c), F3F(~2, ~0x36, ~0x07c), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fors",	F3F(2, 0x36, 0x07d), F3F(~2, ~0x36, ~0x07d), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fnord",	F3F(2, 0x36, 0x062), F3F(~2, ~0x36, ~0x062), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fnor",	F3F(2, 0x36, 0x062), F3F(~2, ~0x36, ~0x062), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fnors",	F3F(2, 0x36, 0x063), F3F(~2, ~0x36, ~0x063), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fandd",	F3F(2, 0x36, 0x070), F3F(~2, ~0x36, ~0x070), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fand",	F3F(2, 0x36, 0x070), F3F(~2, ~0x36, ~0x070), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fands",	F3F(2, 0x36, 0x071), F3F(~2, ~0x36, ~0x071), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fnandd",	F3F(2, 0x36, 0x06e), F3F(~2, ~0x36, ~0x06e), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fnand",	F3F(2, 0x36, 0x06e), F3F(~2, ~0x36, ~0x06e), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fnands",	F3F(2, 0x36, 0x06f), F3F(~2, ~0x36, ~0x06f), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fxord",	F3F(2, 0x36, 0x06c), F3F(~2, ~0x36, ~0x06c), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fxor",	F3F(2, 0x36, 0x06c), F3F(~2, ~0x36, ~0x06c), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fxors",	F3F(2, 0x36, 0x06d), F3F(~2, ~0x36, ~0x06d), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fxnord",	F3F(2, 0x36, 0x072), F3F(~2, ~0x36, ~0x072), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fxnor",	F3F(2, 0x36, 0x072), F3F(~2, ~0x36, ~0x072), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fxnors",	F3F(2, 0x36, 0x073), F3F(~2, ~0x36, ~0x073), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fornot1d",	F3F(2, 0x36, 0x07a), F3F(~2, ~0x36, ~0x07a), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fornot1",	F3F(2, 0x36, 0x07a), F3F(~2, ~0x36, ~0x07a), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fornot1s",	F3F(2, 0x36, 0x07b), F3F(~2, ~0x36, ~0x07b), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fornot2d",	F3F(2, 0x36, 0x076), F3F(~2, ~0x36, ~0x076), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fornot2",	F3F(2, 0x36, 0x076), F3F(~2, ~0x36, ~0x076), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fornot2s",	F3F(2, 0x36, 0x077), F3F(~2, ~0x36, ~0x077), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fandnot1d",	F3F(2, 0x36, 0x068), F3F(~2, ~0x36, ~0x068), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fandnot1",	F3F(2, 0x36, 0x068), F3F(~2, ~0x36, ~0x068), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fandnot1s",	F3F(2, 0x36, 0x069), F3F(~2, ~0x36, ~0x069), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+{ "fandnot2d",	F3F(2, 0x36, 0x064), F3F(~2, ~0x36, ~0x064), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+{ "fandnot2",	F3F(2, 0x36, 0x064), F3F(~2, ~0x36, ~0x064), "v,B,H", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fandnot2s",	F3F(2, 0x36, 0x065), F3F(~2, ~0x36, ~0x065), "e,f,g", 0, HWCAP_VIS, 0, v9a },
+
+{ "fpcmpgt16",	F3F(2, 0x36, 0x028), F3F(~2, ~0x36, ~0x028), "v,B,d", 0, HWCAP_VIS, 0, v9a },
+{ "fcmpgt16",	F3F(2, 0x36, 0x028), F3F(~2, ~0x36, ~0x028), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fpcmpgt32",	F3F(2, 0x36, 0x02c), F3F(~2, ~0x36, ~0x02c), "v,B,d", 0, HWCAP_VIS, 0, v9a },
+{ "fcmpgt32",	F3F(2, 0x36, 0x02c), F3F(~2, ~0x36, ~0x02c), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fpcmple16",	F3F(2, 0x36, 0x020), F3F(~2, ~0x36, ~0x020), "v,B,d", 0, HWCAP_VIS, 0, v9a },
+{ "fcmple16",	F3F(2, 0x36, 0x020), F3F(~2, ~0x36, ~0x020), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fpcmple32",	F3F(2, 0x36, 0x024), F3F(~2, ~0x36, ~0x024), "v,B,d", 0, HWCAP_VIS, 0, v9a },
+{ "fcmple32",	F3F(2, 0x36, 0x024), F3F(~2, ~0x36, ~0x024), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fpcmpne16",	F3F(2, 0x36, 0x022), F3F(~2, ~0x36, ~0x022), "v,B,d", 0, HWCAP_VIS, 0, v9a },
+{ "fpcmpune16",	F3F(2, 0x36, 0x022), F3F(~2, ~0x36, ~0x022), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fcmpne16",	F3F(2, 0x36, 0x022), F3F(~2, ~0x36, ~0x022), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fpcmpne32",	F3F(2, 0x36, 0x026), F3F(~2, ~0x36, ~0x026), "v,B,d", 0, HWCAP_VIS, 0, v9a },
+{ "fpcmpune32",	F3F(2, 0x36, 0x026), F3F(~2, ~0x36, ~0x026), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fcmpne32",	F3F(2, 0x36, 0x026), F3F(~2, ~0x36, ~0x026), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fpcmpeq16",	F3F(2, 0x36, 0x02a), F3F(~2, ~0x36, ~0x02a), "v,B,d", 0, HWCAP_VIS, 0, v9a },
+{ "fpcmpueq16",	F3F(2, 0x36, 0x02a), F3F(~2, ~0x36, ~0x02a), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fcmpeq16",	F3F(2, 0x36, 0x02a), F3F(~2, ~0x36, ~0x02a), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fpcmpeq32",	F3F(2, 0x36, 0x02e), F3F(~2, ~0x36, ~0x02e), "v,B,d", 0, HWCAP_VIS, 0, v9a },
+{ "fpcmpueq32",	F3F(2, 0x36, 0x02e), F3F(~2, ~0x36, ~0x02e), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "fcmpeq32",	F3F(2, 0x36, 0x02e), F3F(~2, ~0x36, ~0x02e), "v,B,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+
+{ "edge8cc",	F3F(2, 0x36, 0x000), F3F(~2, ~0x36, ~0x000), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+{ "edge8lcc",	F3F(2, 0x36, 0x002), F3F(~2, ~0x36, ~0x002), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+{ "edge16cc",	F3F(2, 0x36, 0x004), F3F(~2, ~0x36, ~0x004), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+{ "edge16lcc",	F3F(2, 0x36, 0x006), F3F(~2, ~0x36, ~0x006), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+{ "edge32cc",	F3F(2, 0x36, 0x008), F3F(~2, ~0x36, ~0x008), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+{ "edge32lcc",	F3F(2, 0x36, 0x00a), F3F(~2, ~0x36, ~0x00a), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+
+{ "edge8",	F3F(2, 0x36, 0x000), F3F(~2, ~0x36, ~0x000), "1,2,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "edge8l",	F3F(2, 0x36, 0x002), F3F(~2, ~0x36, ~0x002), "1,2,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "edge16",	F3F(2, 0x36, 0x004), F3F(~2, ~0x36, ~0x004), "1,2,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "edge16l",	F3F(2, 0x36, 0x006), F3F(~2, ~0x36, ~0x006), "1,2,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "edge32",	F3F(2, 0x36, 0x008), F3F(~2, ~0x36, ~0x008), "1,2,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+{ "edge32l",	F3F(2, 0x36, 0x00a), F3F(~2, ~0x36, ~0x00a), "1,2,d", F_ALIAS, HWCAP_VIS, 0, v9a },
+
+{ "pdist",	F3F(2, 0x36, 0x03e), F3F(~2, ~0x36, ~0x03e), "v,B,H", 0, HWCAP_VIS, 0, v9a },
+
+{ "array8",	F3F(2, 0x36, 0x010), F3F(~2, ~0x36, ~0x010), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+{ "array16",	F3F(2, 0x36, 0x012), F3F(~2, ~0x36, ~0x012), "1,2,d", 0, HWCAP_VIS, 0, v9a },
+{ "array32",	F3F(2, 0x36, 0x014), F3F(~2, ~0x36, ~0x014), "1,2,d", 0, HWCAP_VIS, 0, v9a },
 
 /* Cheetah instructions */
-{ "edge8n",    F3F(2, 0x36, 0x001), F3F(~2, ~0x36, ~0x001), "1,2,d", HWCAP_VIS2, 0, v9b },
-{ "edge8ln",   F3F(2, 0x36, 0x003), F3F(~2, ~0x36, ~0x003), "1,2,d", HWCAP_VIS2, 0, v9b },
-{ "edge16n",   F3F(2, 0x36, 0x005), F3F(~2, ~0x36, ~0x005), "1,2,d", HWCAP_VIS2, 0, v9b },
-{ "edge16ln",  F3F(2, 0x36, 0x007), F3F(~2, ~0x36, ~0x007), "1,2,d", HWCAP_VIS2, 0, v9b },
-{ "edge32n",   F3F(2, 0x36, 0x009), F3F(~2, ~0x36, ~0x009), "1,2,d", HWCAP_VIS2, 0, v9b },
-{ "edge32ln",  F3F(2, 0x36, 0x00b), F3F(~2, ~0x36, ~0x00b), "1,2,d", HWCAP_VIS2, 0, v9b },
-
-{ "bmask",     F3F(2, 0x36, 0x019), F3F(~2, ~0x36, ~0x019), "1,2,d", HWCAP_VIS2, 0, v9b },
-{ "bshuffle",  F3F(2, 0x36, 0x04c), F3F(~2, ~0x36, ~0x04c), "v,B,H", HWCAP_VIS2, 0, v9b },
-
-{ "siam",      F3F(2, 0x36, 0x081), F3F(~2, ~0x36, ~0x081)|RD_G0|RS1_G0|RS2(~7), "3", HWCAP_VIS2, 0, v9b },
-
-{ "commit",	F3(2, 0x3e, 0)|RD(30), F3(~2, ~0x3e, ~0)|RD(~30)|RS1_G0|SIMM13(~0), "", 0, HWCAP_TRANS, v9b },
-{ "fnadds",	F3F(2, 0x34, 0x051), F3F(~2, ~0x34, ~0x051), "e,f,g", F_FLOAT, HWCAP_HPC, v9b },
-{ "fnaddd",	F3F(2, 0x34, 0x052), F3F(~2, ~0x34, ~0x052), "v,B,H", F_FLOAT, HWCAP_HPC, v9b },
-{ "fnmuls",	F3F(2, 0x34, 0x059), F3F(~2, ~0x34, ~0x059), "e,f,g", F_FLOAT, HWCAP_HPC, v9b },
-{ "fnmuld",	F3F(2, 0x34, 0x05a), F3F(~2, ~0x34, ~0x05a), "v,B,H", F_FLOAT, HWCAP_HPC, v9b },
-{ "fhadds",	F3F(2, 0x34, 0x061), F3F(~2, ~0x34, ~0x061), "e,f,g", F_FLOAT, HWCAP_HPC, v9b },
-{ "fhaddd",	F3F(2, 0x34, 0x062), F3F(~2, ~0x34, ~0x062), "v,B,H", F_FLOAT, HWCAP_HPC, v9b },
-{ "fhsubs",	F3F(2, 0x34, 0x065), F3F(~2, ~0x34, ~0x065), "e,f,g", F_FLOAT, HWCAP_HPC, v9b },
-{ "fhsubd",	F3F(2, 0x34, 0x066), F3F(~2, ~0x34, ~0x066), "v,B,H", F_FLOAT, HWCAP_HPC, v9b },
-{ "fnhadds",	F3F(2, 0x34, 0x071), F3F(~2, ~0x34, ~0x071), "e,f,g", F_FLOAT, HWCAP_HPC, v9b },
-{ "fnhaddd",	F3F(2, 0x34, 0x072), F3F(~2, ~0x34, ~0x072), "v,B,H", F_FLOAT, HWCAP_HPC, v9b },
-{ "fnsmuld",	F3F(2, 0x34, 0x079), F3F(~2, ~0x34, ~0x079), "e,f,H", F_FLOAT, HWCAP_HPC, v9b },
-{ "fpmaddx",	F3(2, 0x37, 0)|OPF_LOW4(0), F3(~2, ~0x37, 0)|OPF_LOW4(~0), "v,B,5,H", F_FLOAT, HWCAP_IMA, v9b },
-{ "fmadds",	F3(2, 0x37, 0)|OPF_LOW4(1), F3(~2, ~0x37, 0)|OPF_LOW4(~1), "e,f,4,g", F_FLOAT, HWCAP_FMAF, v9b },
-{ "fmaddd",	F3(2, 0x37, 0)|OPF_LOW4(2), F3(~2, ~0x37, 0)|OPF_LOW4(~2), "v,B,5,H", F_FLOAT, HWCAP_FMAF, v9b },
-{ "fpmaddxhi",	F3(2, 0x37, 0)|OPF_LOW4(4), F3(~2, ~0x37, 0)|OPF_LOW4(~4), "v,B,5,H", F_FLOAT, HWCAP_IMA, v9b },
-{ "fmsubs",	F3(2, 0x37, 0)|OPF_LOW4(5), F3(~2, ~0x37, 0)|OPF_LOW4(~5), "e,f,4,g", F_FLOAT, HWCAP_FMAF, v9b },
-{ "fmsubd",	F3(2, 0x37, 0)|OPF_LOW4(6), F3(~2, ~0x37, 0)|OPF_LOW4(~6), "v,B,5,H", F_FLOAT, HWCAP_FMAF, v9b },
-{ "fnmsubs",	F3(2, 0x37, 0)|OPF_LOW4(9), F3(~2, ~0x37, 0)|OPF_LOW4(~9), "e,f,4,g", F_FLOAT, HWCAP_FMAF, v9b },
-{ "fnmsubd",	F3(2, 0x37, 0)|OPF_LOW4(10), F3(~2, ~0x37, 0)|OPF_LOW4(~10), "v,B,5,H", F_FLOAT, HWCAP_FMAF, v9b },
-{ "fnmadds",	F3(2, 0x37, 0)|OPF_LOW4(13), F3(~2, ~0x37, 0)|OPF_LOW4(~13), "e,f,4,g", F_FLOAT, HWCAP_FMAF, v9b },
-{ "fnmaddd",	F3(2, 0x37, 0)|OPF_LOW4(14), F3(~2, ~0x37, 0)|OPF_LOW4(~14), "v,B,5,H", F_FLOAT, HWCAP_FMAF, v9b },
-{ "fumadds",	F3(2, 0x3f, 0)|OPF_LOW4(1), F3(~2, ~0x3f, 0)|OPF_LOW4(~1), "e,f,4,g", F_FLOAT, HWCAP_FJFMAU, v9b },
-{ "fumaddd",	F3(2, 0x3f, 0)|OPF_LOW4(2), F3(~2, ~0x3f, 0)|OPF_LOW4(~2), "v,B,5,H", F_FLOAT, HWCAP_FJFMAU, v9b },
-{ "fumsubs",	F3(2, 0x3f, 0)|OPF_LOW4(5), F3(~2, ~0x3f, 0)|OPF_LOW4(~5), "e,f,4,g", F_FLOAT, HWCAP_FJFMAU, v9b },
-{ "fumsubd",	F3(2, 0x3f, 0)|OPF_LOW4(6), F3(~2, ~0x3f, 0)|OPF_LOW4(~6), "v,B,5,H", F_FLOAT, HWCAP_FJFMAU, v9b },
-{ "fnumsubs",	F3(2, 0x3f, 0)|OPF_LOW4(9), F3(~2, ~0x3f, 0)|OPF_LOW4(~9), "e,f,4,g", F_FLOAT, HWCAP_FJFMAU, v9b },
-{ "fnumsubd",	F3(2, 0x3f, 0)|OPF_LOW4(10), F3(~2, ~0x3f, 0)|OPF_LOW4(~10), "v,B,5,H", F_FLOAT, HWCAP_FJFMAU, v9b },
-{ "fnumadds",	F3(2, 0x3f, 0)|OPF_LOW4(13), F3(~2, ~0x3f, 0)|OPF_LOW4(~13), "e,f,4,g", F_FLOAT, HWCAP_FJFMAU, v9b },
-{ "fnumaddd",	F3(2, 0x3f, 0)|OPF_LOW4(14), F3(~2, ~0x3f, 0)|OPF_LOW4(~14), "v,B,5,H", F_FLOAT, HWCAP_FJFMAU, v9b },
-{ "addxc",	F3F(2, 0x36, 0x011), F3F(~2, ~0x36, ~0x011), "1,2,d", 0, HWCAP_VIS3, v9b },
-{ "addxccc",	F3F(2, 0x36, 0x013), F3F(~2, ~0x36, ~0x013), "1,2,d", 0, HWCAP_VIS3, v9b },
-{ "random",	F3F(2, 0x36, 0x015), F3F(~2, ~0x36, ~0x015), "H", F_FLOAT, HWCAP_RANDOM, v9b },
-{ "umulxhi",	F3F(2, 0x36, 0x016), F3F(~2, ~0x36, ~0x016), "1,2,d", 0, HWCAP_VIS3, v9b },
-{ "lzcnt",	F3F(2, 0x36, 0x017), F3F(~2, ~0x36, ~0x017), "2,d", 0, HWCAP_VIS3, v9b },
-{ "lzd",	F3F(2, 0x36, 0x017), F3F(~2, ~0x36, ~0x017), "2,d", F_ALIAS, HWCAP_VIS3, v9b },
-{ "cmask8",	F3F(2, 0x36, 0x01b), F3F(~2, ~0x36, ~0x01b), "2", 0, HWCAP_VIS3, v9b },
-{ "cmask16",	F3F(2, 0x36, 0x01d), F3F(~2, ~0x36, ~0x01d), "2", 0, HWCAP_VIS3, v9b },
-{ "cmask32",	F3F(2, 0x36, 0x01f), F3F(~2, ~0x36, ~0x01f), "2", 0, HWCAP_VIS3, v9b },
-{ "fsll16",	F3F(2, 0x36, 0x021), F3F(~2, ~0x36, ~0x021), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fsrl16",	F3F(2, 0x36, 0x023), F3F(~2, ~0x36, ~0x023), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fsll32",	F3F(2, 0x36, 0x025), F3F(~2, ~0x36, ~0x025), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fsrl32",	F3F(2, 0x36, 0x027), F3F(~2, ~0x36, ~0x027), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fslas16",	F3F(2, 0x36, 0x029), F3F(~2, ~0x36, ~0x029), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fsra16",	F3F(2, 0x36, 0x02b), F3F(~2, ~0x36, ~0x02b), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fslas32",	F3F(2, 0x36, 0x02d), F3F(~2, ~0x36, ~0x02d), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fsra32",	F3F(2, 0x36, 0x02f), F3F(~2, ~0x36, ~0x02f), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "pdistn",	F3F(2, 0x36, 0x03f), F3F(~2, ~0x36, ~0x03f), "v,B,d", 0, HWCAP_VIS3, v9b },
-{ "fmean16",	F3F(2, 0x36, 0x040), F3F(~2, ~0x36, ~0x040), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fpadd64",	F3F(2, 0x36, 0x042), F3F(~2, ~0x36, ~0x042), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fchksm16",	F3F(2, 0x36, 0x044), F3F(~2, ~0x36, ~0x044), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fpsub64",	F3F(2, 0x36, 0x046), F3F(~2, ~0x36, ~0x046), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fpadds16",	F3F(2, 0x36, 0x058), F3F(~2, ~0x36, ~0x058), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fpadds16s",	F3F(2, 0x36, 0x059), F3F(~2, ~0x36, ~0x059), "e,f,g", 0, HWCAP_VIS3, v9b },
-{ "fpadds32",	F3F(2, 0x36, 0x05a), F3F(~2, ~0x36, ~0x05a), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fpadds32s",	F3F(2, 0x36, 0x05b), F3F(~2, ~0x36, ~0x05b), "e,f,g", 0, HWCAP_VIS3, v9b },
-{ "fpsubs16",	F3F(2, 0x36, 0x05c), F3F(~2, ~0x36, ~0x05c), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fpsubs16s",	F3F(2, 0x36, 0x05d), F3F(~2, ~0x36, ~0x05d), "e,f,g", 0, HWCAP_VIS3, v9b },
-{ "fpsubs32",	F3F(2, 0x36, 0x05e), F3F(~2, ~0x36, ~0x05e), "v,B,H", 0, HWCAP_VIS3, v9b },
-{ "fpsubs32s",	F3F(2, 0x36, 0x05f), F3F(~2, ~0x36, ~0x05f), "e,f,g", 0, HWCAP_VIS3, v9b },
-{ "movdtox",	F3F(2, 0x36, 0x110), F3F(~2, ~0x36, ~0x110), "B,d", F_FLOAT, HWCAP_VIS3, v9b },
-{ "movstouw",	F3F(2, 0x36, 0x111), F3F(~2, ~0x36, ~0x111), "f,d", F_FLOAT, HWCAP_VIS3, v9b },
-{ "movstosw",	F3F(2, 0x36, 0x113), F3F(~2, ~0x36, ~0x113), "f,d", F_FLOAT, HWCAP_VIS3, v9b },
-{ "movxtod",	F3F(2, 0x36, 0x118), F3F(~2, ~0x36, ~0x118), "2,H", F_FLOAT, HWCAP_VIS3, v9b },
-{ "movwtos",	F3F(2, 0x36, 0x119), F3F(~2, ~0x36, ~0x119), "2,g", F_FLOAT, HWCAP_VIS3, v9b },
-{ "xmulx",	F3F(2, 0x36, 0x115), F3F(~2, ~0x36, ~0x115), "1,2,d", 0, HWCAP_VIS3, v9b },
-{ "xmulxhi",	F3F(2, 0x36, 0x116), F3F(~2, ~0x36, ~0x116), "1,2,d", 0, HWCAP_VIS3, v9b },
-{ "fpcmpule8",	F3F(2, 0x36, 0x120), F3F(~2, ~0x36, ~0x120), "v,B,d", 0, HWCAP_VIS3, v9b },
-{ "fucmple8",	F3F(2, 0x36, 0x120), F3F(~2, ~0x36, ~0x120), "v,B,d", F_ALIAS, HWCAP_VIS3, v9b },
-{ "fpcmpune8",	F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", 0, HWCAP_VIS3, v9b },
-{ "fpcmpne8",	F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", F_PREF_ALIAS, HWCAP_VIS3, v9b },
-{ "fucmpne8",	F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", F_ALIAS, HWCAP_VIS3, v9b },
-{ "fpcmpugt8",	F3F(2, 0x36, 0x128), F3F(~2, ~0x36, ~0x128), "v,B,d", 0, HWCAP_VIS3, v9b },
-{ "fucmpgt8",	F3F(2, 0x36, 0x128), F3F(~2, ~0x36, ~0x128), "v,B,d", F_ALIAS, HWCAP_VIS3, v9b },
-{ "fpcmpueq8",	F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", 0, HWCAP_VIS3, v9b },
-{ "fpcmpeq8",	F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", F_PREF_ALIAS, HWCAP_VIS3, v9b },
-{ "fucmpeq8",	F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", F_ALIAS, HWCAP_VIS3, v9b },
-{"aes_kexpand0",F3F(2, 0x36, 0x130), F3F(~2, ~0x36, ~0x130), "v,B,H", F_FLOAT, HWCAP_AES, v9b },
-{"aes_kexpand2",F3F(2, 0x36, 0x131), F3F(~2, ~0x36, ~0x131), "v,B,H", F_FLOAT, HWCAP_AES, v9b },
-{ "des_ip",     F3F(2, 0x36, 0x134), F3F(~2, ~0x36, ~0x134), "v,H", F_FLOAT, HWCAP_DES, v9b },
-{ "des_iip",    F3F(2, 0x36, 0x135), F3F(~2, ~0x36, ~0x135), "v,H", F_FLOAT, HWCAP_DES, v9b },
-{ "des_kexpand",F3F(2, 0x36, 0x136), F3F(~2, ~0x36, ~0x136), "v,X,H", F_FLOAT, HWCAP_DES, v9b },
-{"kasumi_fi_fi",F3F(2, 0x36, 0x138), F3F(~2, ~0x36, ~0x138), "v,B,H", F_FLOAT, HWCAP_KASUMI, v9b },
-{ "camellia_fi",F3F(2, 0x36, 0x13c), F3F(~2, ~0x36, ~0x13c), "v,B,H", F_FLOAT, HWCAP_CAMELLIA, v9b },
-{"camellia_fli",F3F(2, 0x36, 0x13d), F3F(~2, ~0x36, ~0x13d), "v,B,H", F_FLOAT, HWCAP_CAMELLIA, v9b },
-{ "md5",        F3F(2, 0x36, 0x140), F3F(~2, ~0x36, ~0x140), "", F_FLOAT, HWCAP_MD5, v9b },
-{ "sha1",       F3F(2, 0x36, 0x141), F3F(~2, ~0x36, ~0x141), "", F_FLOAT, HWCAP_SHA1, v9b },
-{ "sha256",     F3F(2, 0x36, 0x142), F3F(~2, ~0x36, ~0x142), "", F_FLOAT, HWCAP_SHA256, v9b },
-{ "sha512",     F3F(2, 0x36, 0x143), F3F(~2, ~0x36, ~0x143), "", F_FLOAT, HWCAP_SHA512, v9b },
-{ "crc32c",     F3F(2, 0x36, 0x147), F3F(~2, ~0x36, ~0x147), "v,B,H", F_FLOAT, HWCAP_CRC32C, v9b },
-{ "mpmul",      F3F(2, 0x36, 0x148), F3F(~2, ~0x36, ~0x148), "X", F_FLOAT, HWCAP_MPMUL, v9b },
-{ "montmul",    F3F(2, 0x36, 0x149), F3F(~2, ~0x36, ~0x149), "X", F_FLOAT, HWCAP_MONT, v9b },
-{ "montsqr",    F3F(2, 0x36, 0x14a), F3F(~2, ~0x36, ~0x14a), "X", F_FLOAT, HWCAP_MONT, v9b },
-{"aes_eround01",  F3F4(2, 0x19, 0), F3F4(~2, ~0x19, ~0), "v,B,5,H", F_FLOAT, HWCAP_AES, v9b },
-{"aes_eround23",  F3F4(2, 0x19, 1), F3F4(~2, ~0x19, ~1), "v,B,5,H", F_FLOAT, HWCAP_AES, v9b },
-{"aes_dround01",  F3F4(2, 0x19, 2), F3F4(~2, ~0x19, ~2), "v,B,5,H", F_FLOAT, HWCAP_AES, v9b },
-{"aes_dround23",  F3F4(2, 0x19, 3), F3F4(~2, ~0x19, ~3), "v,B,5,H", F_FLOAT, HWCAP_AES, v9b },
-{"aes_eround01_l",F3F4(2, 0x19, 4), F3F4(~2, ~0x19, ~4), "v,B,5,H", F_FLOAT, HWCAP_AES, v9b },
-{"aes_eround23_l",F3F4(2, 0x19, 5), F3F4(~2, ~0x19, ~5), "v,B,5,H", F_FLOAT, HWCAP_AES, v9b },
-{"aes_dround01_l",F3F4(2, 0x19, 6), F3F4(~2, ~0x19, ~6), "v,B,5,H", F_FLOAT, HWCAP_AES, v9b },
-{"aes_dround23_l",F3F4(2, 0x19, 7), F3F4(~2, ~0x19, ~7), "v,B,5,H", F_FLOAT, HWCAP_AES, v9b },
-{"aes_kexpand1",  F3F4(2, 0x19, 8), F3F4(~2, ~0x19, ~8), "v,B,),H", F_FLOAT, HWCAP_AES, v9b },
-{"des_round",     F3F4(2, 0x19, 9), F3F4(~2, ~0x19, ~9), "v,B,5,H", F_FLOAT, HWCAP_DES, v9b },
-{"kasumi_fl_xor", F3F4(2, 0x19, 10), F3F4(~2, ~0x19, ~10), "v,B,5,H", F_FLOAT, HWCAP_KASUMI, v9b },
-{"kasumi_fi_xor", F3F4(2, 0x19, 11), F3F4(~2, ~0x19, ~11), "v,B,5,H", F_FLOAT, HWCAP_KASUMI, v9b },
-{"camellia_f",    F3F4(2, 0x19, 12), F3F4(~2, ~0x19, ~12), "v,B,5,H", F_FLOAT, HWCAP_CAMELLIA, v9b },
-{ "flcmps",	CMPFCC(0)|F3F(2, 0x36, 0x151), CMPFCC(~0)|F3F(~2, ~0x36, ~0x151), "6,e,f", F_FLOAT, HWCAP_HPC, v9b },
-{ "flcmps",	CMPFCC(1)|F3F(2, 0x36, 0x151), CMPFCC(~1)|F3F(~2, ~0x36, ~0x151), "7,e,f", F_FLOAT, HWCAP_HPC, v9b },
-{ "flcmps",	CMPFCC(2)|F3F(2, 0x36, 0x151), CMPFCC(~2)|F3F(~2, ~0x36, ~0x151), "8,e,f", F_FLOAT, HWCAP_HPC, v9b },
-{ "flcmps",	CMPFCC(3)|F3F(2, 0x36, 0x151), CMPFCC(~3)|F3F(~2, ~0x36, ~0x151), "9,e,f", F_FLOAT, HWCAP_HPC, v9b },
-{ "flcmpd",	CMPFCC(0)|F3F(2, 0x36, 0x152), CMPFCC(~0)|F3F(~2, ~0x36, ~0x152), "6,v,B", F_FLOAT, HWCAP_HPC, v9b },
-{ "flcmpd",	CMPFCC(1)|F3F(2, 0x36, 0x152), CMPFCC(~1)|F3F(~2, ~0x36, ~0x152), "7,v,B", F_FLOAT, HWCAP_HPC, v9b },
-{ "flcmpd",	CMPFCC(2)|F3F(2, 0x36, 0x152), CMPFCC(~2)|F3F(~2, ~0x36, ~0x152), "8,v,B", F_FLOAT, HWCAP_HPC, v9b },
-{ "flcmpd",	CMPFCC(3)|F3F(2, 0x36, 0x152), CMPFCC(~3)|F3F(~2, ~0x36, ~0x152), "9,v,B", F_FLOAT, HWCAP_HPC, v9b },
+{ "edge8n",    F3F(2, 0x36, 0x001), F3F(~2, ~0x36, ~0x001), "1,2,d", 0, HWCAP_VIS2, 0, v9b },
+{ "edge8ln",   F3F(2, 0x36, 0x003), F3F(~2, ~0x36, ~0x003), "1,2,d", 0, HWCAP_VIS2, 0, v9b },
+{ "edge16n",   F3F(2, 0x36, 0x005), F3F(~2, ~0x36, ~0x005), "1,2,d", 0, HWCAP_VIS2, 0, v9b },
+{ "edge16ln",  F3F(2, 0x36, 0x007), F3F(~2, ~0x36, ~0x007), "1,2,d", 0, HWCAP_VIS2, 0, v9b },
+{ "edge32n",   F3F(2, 0x36, 0x009), F3F(~2, ~0x36, ~0x009), "1,2,d", 0, HWCAP_VIS2, 0, v9b },
+{ "edge32ln",  F3F(2, 0x36, 0x00b), F3F(~2, ~0x36, ~0x00b), "1,2,d", 0, HWCAP_VIS2, 0, v9b },
+
+{ "bmask",     F3F(2, 0x36, 0x019), F3F(~2, ~0x36, ~0x019), "1,2,d", 0, HWCAP_VIS2, 0, v9b },
+{ "bshuffle",  F3F(2, 0x36, 0x04c), F3F(~2, ~0x36, ~0x04c), "v,B,H", 0, HWCAP_VIS2, 0, v9b },
+
+{ "siam",      F3F(2, 0x36, 0x081), F3F(~2, ~0x36, ~0x081)|RD_G0|RS1_G0|RS2(~7), "3", 0, HWCAP_VIS2, 0, v9b },
+
+{ "fnadds",	F3F(2, 0x34, 0x051), F3F(~2, ~0x34, ~0x051), "e,f,g", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fnaddd",	F3F(2, 0x34, 0x052), F3F(~2, ~0x34, ~0x052), "v,B,H", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fnmuls",	F3F(2, 0x34, 0x059), F3F(~2, ~0x34, ~0x059), "e,f,g", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fnmuld",	F3F(2, 0x34, 0x05a), F3F(~2, ~0x34, ~0x05a), "v,B,H", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fhadds",	F3F(2, 0x34, 0x061), F3F(~2, ~0x34, ~0x061), "e,f,g", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fhaddd",	F3F(2, 0x34, 0x062), F3F(~2, ~0x34, ~0x062), "v,B,H", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fhsubs",	F3F(2, 0x34, 0x065), F3F(~2, ~0x34, ~0x065), "e,f,g", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fhsubd",	F3F(2, 0x34, 0x066), F3F(~2, ~0x34, ~0x066), "v,B,H", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fnhadds",	F3F(2, 0x34, 0x071), F3F(~2, ~0x34, ~0x071), "e,f,g", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fnhaddd",	F3F(2, 0x34, 0x072), F3F(~2, ~0x34, ~0x072), "v,B,H", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fnsmuld",	F3F(2, 0x34, 0x079), F3F(~2, ~0x34, ~0x079), "e,f,H", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "fpmaddx",	F3(2, 0x37, 0)|OPF_LOW4(0), F3(~2, ~0x37, 0)|OPF_LOW4(~0), "v,B,5,H", F_FLOAT, HWCAP_IMA, 0, v9b },
+{ "fmadds",	F3(2, 0x37, 0)|OPF_LOW4(1), F3(~2, ~0x37, 0)|OPF_LOW4(~1), "e,f,4,g", F_FLOAT, HWCAP_FMAF, 0, v9b },
+{ "fmaddd",	F3(2, 0x37, 0)|OPF_LOW4(2), F3(~2, ~0x37, 0)|OPF_LOW4(~2), "v,B,5,H", F_FLOAT, HWCAP_FMAF, 0, v9b },
+{ "fpmaddxhi",	F3(2, 0x37, 0)|OPF_LOW4(4), F3(~2, ~0x37, 0)|OPF_LOW4(~4), "v,B,5,H", F_FLOAT, HWCAP_IMA, 0, v9b },
+{ "fmsubs",	F3(2, 0x37, 0)|OPF_LOW4(5), F3(~2, ~0x37, 0)|OPF_LOW4(~5), "e,f,4,g", F_FLOAT, HWCAP_FMAF, 0, v9b },
+{ "fmsubd",	F3(2, 0x37, 0)|OPF_LOW4(6), F3(~2, ~0x37, 0)|OPF_LOW4(~6), "v,B,5,H", F_FLOAT, HWCAP_FMAF, 0, v9b },
+{ "fnmsubs",	F3(2, 0x37, 0)|OPF_LOW4(9), F3(~2, ~0x37, 0)|OPF_LOW4(~9), "e,f,4,g", F_FLOAT, HWCAP_FMAF, 0, v9b },
+{ "fnmsubd",	F3(2, 0x37, 0)|OPF_LOW4(10), F3(~2, ~0x37, 0)|OPF_LOW4(~10), "v,B,5,H", F_FLOAT, HWCAP_FMAF, 0, v9b },
+{ "fnmadds",	F3(2, 0x37, 0)|OPF_LOW4(13), F3(~2, ~0x37, 0)|OPF_LOW4(~13), "e,f,4,g", F_FLOAT, HWCAP_FMAF, 0, v9b },
+{ "fnmaddd",	F3(2, 0x37, 0)|OPF_LOW4(14), F3(~2, ~0x37, 0)|OPF_LOW4(~14), "v,B,5,H", F_FLOAT, HWCAP_FMAF, 0, v9b },
+{ "fumadds",	F3(2, 0x3f, 0)|OPF_LOW4(1), F3(~2, ~0x3f, 0)|OPF_LOW4(~1), "e,f,4,g", F_FLOAT, HWCAP_FJFMAU, 0, v9b },
+{ "fumaddd",	F3(2, 0x3f, 0)|OPF_LOW4(2), F3(~2, ~0x3f, 0)|OPF_LOW4(~2), "v,B,5,H", F_FLOAT, HWCAP_FJFMAU, 0, v9b },
+{ "fumsubs",	F3(2, 0x3f, 0)|OPF_LOW4(5), F3(~2, ~0x3f, 0)|OPF_LOW4(~5), "e,f,4,g", F_FLOAT, HWCAP_FJFMAU, 0, v9b },
+{ "fumsubd",	F3(2, 0x3f, 0)|OPF_LOW4(6), F3(~2, ~0x3f, 0)|OPF_LOW4(~6), "v,B,5,H", F_FLOAT, HWCAP_FJFMAU, 0, v9b },
+{ "fnumsubs",	F3(2, 0x3f, 0)|OPF_LOW4(9), F3(~2, ~0x3f, 0)|OPF_LOW4(~9), "e,f,4,g", F_FLOAT, HWCAP_FJFMAU, 0, v9b },
+{ "fnumsubd",	F3(2, 0x3f, 0)|OPF_LOW4(10), F3(~2, ~0x3f, 0)|OPF_LOW4(~10), "v,B,5,H", F_FLOAT, HWCAP_FJFMAU, 0, v9b },
+{ "fnumadds",	F3(2, 0x3f, 0)|OPF_LOW4(13), F3(~2, ~0x3f, 0)|OPF_LOW4(~13), "e,f,4,g", F_FLOAT, HWCAP_FJFMAU, 0, v9b },
+{ "fnumaddd",	F3(2, 0x3f, 0)|OPF_LOW4(14), F3(~2, ~0x3f, 0)|OPF_LOW4(~14), "v,B,5,H", F_FLOAT, HWCAP_FJFMAU, 0, v9b },
+{ "addxc",	F3F(2, 0x36, 0x011), F3F(~2, ~0x36, ~0x011), "1,2,d", 0, HWCAP_VIS3, 0, v9b },
+{ "addxccc",	F3F(2, 0x36, 0x013), F3F(~2, ~0x36, ~0x013), "1,2,d", 0, HWCAP_VIS3, 0, v9b },
+{ "umulxhi",	F3F(2, 0x36, 0x016), F3F(~2, ~0x36, ~0x016), "1,2,d", 0, HWCAP_VIS3, 0, v9b },
+{ "lzcnt",	F3F(2, 0x36, 0x017), F3F(~2, ~0x36, ~0x017), "2,d", 0, HWCAP_VIS3, 0, v9b },
+{ "lzd",	F3F(2, 0x36, 0x017), F3F(~2, ~0x36, ~0x017), "2,d", F_ALIAS, HWCAP_VIS3, 0, v9b },
+{ "cmask8",	F3F(2, 0x36, 0x01b), F3F(~2, ~0x36, ~0x01b), "2", 0, HWCAP_VIS3, 0, v9b },
+{ "cmask16",	F3F(2, 0x36, 0x01d), F3F(~2, ~0x36, ~0x01d), "2", 0, HWCAP_VIS3, 0, v9b },
+{ "cmask32",	F3F(2, 0x36, 0x01f), F3F(~2, ~0x36, ~0x01f), "2", 0, HWCAP_VIS3, 0, v9b },
+{ "fsll16",	F3F(2, 0x36, 0x021), F3F(~2, ~0x36, ~0x021), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fsrl16",	F3F(2, 0x36, 0x023), F3F(~2, ~0x36, ~0x023), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fsll32",	F3F(2, 0x36, 0x025), F3F(~2, ~0x36, ~0x025), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fsrl32",	F3F(2, 0x36, 0x027), F3F(~2, ~0x36, ~0x027), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fslas16",	F3F(2, 0x36, 0x029), F3F(~2, ~0x36, ~0x029), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fsra16",	F3F(2, 0x36, 0x02b), F3F(~2, ~0x36, ~0x02b), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fslas32",	F3F(2, 0x36, 0x02d), F3F(~2, ~0x36, ~0x02d), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fsra32",	F3F(2, 0x36, 0x02f), F3F(~2, ~0x36, ~0x02f), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "pdistn",	F3F(2, 0x36, 0x03f), F3F(~2, ~0x36, ~0x03f), "v,B,d", 0, HWCAP_VIS3, 0, v9b },
+{ "fmean16",	F3F(2, 0x36, 0x040), F3F(~2, ~0x36, ~0x040), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fpadd64",	F3F(2, 0x36, 0x042), F3F(~2, ~0x36, ~0x042), "v,B,H", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b },
+{ "fchksm16",	F3F(2, 0x36, 0x044), F3F(~2, ~0x36, ~0x044), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fpsub64",	F3F(2, 0x36, 0x046), F3F(~2, ~0x36, ~0x046), "v,B,H", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b },
+{ "fpadds16",	F3F(2, 0x36, 0x058), F3F(~2, ~0x36, ~0x058), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fpadds16s",	F3F(2, 0x36, 0x059), F3F(~2, ~0x36, ~0x059), "e,f,g", 0, HWCAP_VIS3, 0, v9b },
+{ "fpadds32",	F3F(2, 0x36, 0x05a), F3F(~2, ~0x36, ~0x05a), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fpadds32s",	F3F(2, 0x36, 0x05b), F3F(~2, ~0x36, ~0x05b), "e,f,g", 0, HWCAP_VIS3, 0, v9b },
+{ "fpsubs16",	F3F(2, 0x36, 0x05c), F3F(~2, ~0x36, ~0x05c), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fpsubs16s",	F3F(2, 0x36, 0x05d), F3F(~2, ~0x36, ~0x05d), "e,f,g", 0, HWCAP_VIS3, 0, v9b },
+{ "fpsubs32",	F3F(2, 0x36, 0x05e), F3F(~2, ~0x36, ~0x05e), "v,B,H", 0, HWCAP_VIS3, 0, v9b },
+{ "fpsubs32s",	F3F(2, 0x36, 0x05f), F3F(~2, ~0x36, ~0x05f), "e,f,g", 0, HWCAP_VIS3, 0, v9b },
+{ "movdtox",	F3F(2, 0x36, 0x110), F3F(~2, ~0x36, ~0x110), "B,d", F_FLOAT, HWCAP_VIS3, 0, v9b },
+{ "movstouw",	F3F(2, 0x36, 0x111), F3F(~2, ~0x36, ~0x111), "f,d", F_FLOAT, HWCAP_VIS3, 0, v9b },
+{ "movstosw",	F3F(2, 0x36, 0x113), F3F(~2, ~0x36, ~0x113), "f,d", F_FLOAT, HWCAP_VIS3, 0, v9b },
+{ "movxtod",	F3F(2, 0x36, 0x118), F3F(~2, ~0x36, ~0x118), "2,H", F_FLOAT, HWCAP_VIS3, 0, v9b },
+{ "movwtos",	F3F(2, 0x36, 0x119), F3F(~2, ~0x36, ~0x119), "2,g", F_FLOAT, HWCAP_VIS3, 0, v9b },
+{ "xmulx",	F3F(2, 0x36, 0x115), F3F(~2, ~0x36, ~0x115), "1,2,d", 0, HWCAP_VIS3, 0, v9b },
+{ "xmulxhi",	F3F(2, 0x36, 0x116), F3F(~2, ~0x36, ~0x116), "1,2,d", 0, HWCAP_VIS3, 0, v9b },
+{ "fpcmpule8",	F3F(2, 0x36, 0x120), F3F(~2, ~0x36, ~0x120), "v,B,d", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b },
+{ "fucmple8",	F3F(2, 0x36, 0x120), F3F(~2, ~0x36, ~0x120), "v,B,d", F_ALIAS, HWCAP_VIS3, 0, v9b },
+{ "fpcmpune8",	F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b },
+{ "fpcmpne8",	F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", F_PREF_ALIAS, HWCAP_VIS3, 0, v9b },
+{ "fucmpne8",	F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", F_ALIAS, HWCAP_VIS3, 0, v9b },
+{ "fpcmpugt8",	F3F(2, 0x36, 0x128), F3F(~2, ~0x36, ~0x128), "v,B,d", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b },
+{ "fucmpgt8",	F3F(2, 0x36, 0x128), F3F(~2, ~0x36, ~0x128), "v,B,d", F_ALIAS, HWCAP_VIS3, 0, v9b },
+{ "fpcmpueq8",	F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b },
+{ "fpcmpeq8",	F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", F_PREF_ALIAS, HWCAP_VIS3, 0, v9b },
+{ "fucmpeq8",	F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", F_ALIAS, HWCAP_VIS3, 0, v9b },
+{"aes_kexpand0",F3F(2, 0x36, 0x130), F3F(~2, ~0x36, ~0x130), "v,B,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"aes_kexpand2",F3F(2, 0x36, 0x131), F3F(~2, ~0x36, ~0x131), "v,B,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{ "des_ip",     F3F(2, 0x36, 0x134), F3F(~2, ~0x36, ~0x134), "v,H", F_FLOAT, HWCAP_DES, 0, v9b },
+{ "des_iip",    F3F(2, 0x36, 0x135), F3F(~2, ~0x36, ~0x135), "v,H", F_FLOAT, HWCAP_DES, 0, v9b },
+{ "des_kexpand",F3F(2, 0x36, 0x136), F3F(~2, ~0x36, ~0x136), "v,X,H", F_FLOAT, HWCAP_DES, 0, v9b },
+{"kasumi_fi_fi",F3F(2, 0x36, 0x138), F3F(~2, ~0x36, ~0x138), "v,B,H", F_FLOAT, HWCAP_KASUMI, 0, v9b },
+{ "camellia_fi",F3F(2, 0x36, 0x13c), F3F(~2, ~0x36, ~0x13c), "v,B,H", F_FLOAT, HWCAP_CAMELLIA, 0, v9b },
+{"camellia_fli",F3F(2, 0x36, 0x13d), F3F(~2, ~0x36, ~0x13d), "v,B,H", F_FLOAT, HWCAP_CAMELLIA, 0, v9b },
+{ "md5",        F3F(2, 0x36, 0x140), F3F(~2, ~0x36, ~0x140), "", F_FLOAT, HWCAP_MD5, 0, v9b },
+{ "sha1",       F3F(2, 0x36, 0x141), F3F(~2, ~0x36, ~0x141), "", F_FLOAT, HWCAP_SHA1, 0, v9b },
+{ "sha256",     F3F(2, 0x36, 0x142), F3F(~2, ~0x36, ~0x142), "", F_FLOAT, HWCAP_SHA256, 0, v9b },
+{ "sha512",     F3F(2, 0x36, 0x143), F3F(~2, ~0x36, ~0x143), "", F_FLOAT, HWCAP_SHA512, 0, v9b },
+{ "crc32c",     F3F(2, 0x36, 0x147), F3F(~2, ~0x36, ~0x147), "v,B,H", F_FLOAT, HWCAP_CRC32C, 0, v9b },
+{ "xmpmul",     F3F(2, 0x36, 0x148)|RD(1), F3F(~2, ~0x36, ~0x148)|RD(~1), "X", F_FLOAT, 0, HWCAP2_XMPMUL, v9b },
+{ "mpmul",      F3F(2, 0x36, 0x148), F3F(~2, ~0x36, ~0x148), "X", F_FLOAT, HWCAP_MPMUL, 0, v9b },
+{ "xmontmul",   F3F(2, 0x36, 0x149)|RD(1), F3F(~2, ~0x36, ~0x149)|RD(~1), "X", F_FLOAT, 0, HWCAP2_XMONT, v9b },
+{ "montmul",    F3F(2, 0x36, 0x149), F3F(~2, ~0x36, ~0x149), "X", F_FLOAT, HWCAP_MONT, 0, v9b },
+{ "xmontsqr",   F3F(2, 0x36, 0x14a)|RD(1), F3F(~2, ~0x36, ~0x14a)|RD(~1), "X", F_FLOAT, 0, HWCAP2_XMONT, v9b },
+{ "montsqr",    F3F(2, 0x36, 0x14a), F3F(~2, ~0x36, ~0x14a), "X", F_FLOAT, HWCAP_MONT, 0, v9b },
+{"aes_eround01",  F3F4(2, 0x19, 0), F3F4(~2, ~0x19, ~0), "v,B,5,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"aes_eround23",  F3F4(2, 0x19, 1), F3F4(~2, ~0x19, ~1), "v,B,5,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"aes_dround01",  F3F4(2, 0x19, 2), F3F4(~2, ~0x19, ~2), "v,B,5,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"aes_dround23",  F3F4(2, 0x19, 3), F3F4(~2, ~0x19, ~3), "v,B,5,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"aes_eround01_l",F3F4(2, 0x19, 4), F3F4(~2, ~0x19, ~4), "v,B,5,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"aes_eround23_l",F3F4(2, 0x19, 5), F3F4(~2, ~0x19, ~5), "v,B,5,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"aes_dround01_l",F3F4(2, 0x19, 6), F3F4(~2, ~0x19, ~6), "v,B,5,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"aes_dround23_l",F3F4(2, 0x19, 7), F3F4(~2, ~0x19, ~7), "v,B,5,H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"aes_kexpand1",  F3F4(2, 0x19, 8), F3F4(~2, ~0x19, ~8), "v,B,),H", F_FLOAT, HWCAP_AES, 0, v9b },
+{"des_round",     F3F4(2, 0x19, 9), F3F4(~2, ~0x19, ~9), "v,B,5,H", F_FLOAT, HWCAP_DES, 0, v9b },
+{"kasumi_fl_xor", F3F4(2, 0x19, 10), F3F4(~2, ~0x19, ~10), "v,B,5,H", F_FLOAT, HWCAP_KASUMI, 0, v9b },
+{"kasumi_fi_xor", F3F4(2, 0x19, 11), F3F4(~2, ~0x19, ~11), "v,B,5,H", F_FLOAT, HWCAP_KASUMI, 0, v9b },
+{"camellia_f",    F3F4(2, 0x19, 12), F3F4(~2, ~0x19, ~12), "v,B,5,H", F_FLOAT, HWCAP_CAMELLIA, 0, v9b },
+{ "flcmps",	CMPFCC(0)|F3F(2, 0x36, 0x151), CMPFCC(~0)|F3F(~2, ~0x36, ~0x151), "6,e,f", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "flcmps",	CMPFCC(1)|F3F(2, 0x36, 0x151), CMPFCC(~1)|F3F(~2, ~0x36, ~0x151), "7,e,f", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "flcmps",	CMPFCC(2)|F3F(2, 0x36, 0x151), CMPFCC(~2)|F3F(~2, ~0x36, ~0x151), "8,e,f", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "flcmps",	CMPFCC(3)|F3F(2, 0x36, 0x151), CMPFCC(~3)|F3F(~2, ~0x36, ~0x151), "9,e,f", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "flcmpd",	CMPFCC(0)|F3F(2, 0x36, 0x152), CMPFCC(~0)|F3F(~2, ~0x36, ~0x152), "6,v,B", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "flcmpd",	CMPFCC(1)|F3F(2, 0x36, 0x152), CMPFCC(~1)|F3F(~2, ~0x36, ~0x152), "7,v,B", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "flcmpd",	CMPFCC(2)|F3F(2, 0x36, 0x152), CMPFCC(~2)|F3F(~2, ~0x36, ~0x152), "8,v,B", F_FLOAT, HWCAP_HPC, 0, v9b },
+{ "flcmpd",	CMPFCC(3)|F3F(2, 0x36, 0x152), CMPFCC(~3)|F3F(~2, ~0x36, ~0x152), "9,v,B", F_FLOAT, HWCAP_HPC, 0, v9b },
+
+{ "mwait", F3(2, 0x30, 0)|RD(28), F3(~2, ~0x30, ~0)|RD(~28)|RS1_G0|ASI(~0),  "2", 0, 0, HWCAP2_MWAIT, v9b }, /* mwait r */
+{ "mwait", F3(2, 0x30, 1)|RD(28), F3(~2, ~0x30, ~1)|RD(~28)|RS1_G0, "i", 0, 0, HWCAP2_MWAIT, v9b }, /* mwait imm */
+
+/* SPARC5 and VIS4.0 instructions.  */
+
+{ "subxc",      F3(2, 0x36, 0)|OPF(0x41), F3(~2, ~0x36, ~0)|OPF(~0x41), "1,2,d", 0, 0, HWCAP2_SPARC5, v9b },
+{ "subxccc",    F3(2, 0x36, 0)|OPF(0x43), F3(~2, ~0x36, ~0)|OPF(~0x43), "1,2,d", 0, 0, HWCAP2_SPARC5, v9b },
+
+{ "faligndatai", F3F(2, 0x36, 0x049), F3F(~2, ~0x36, ~0x049), "v,B,5,}", 0, 0, HWCAP2_SPARC5, v9b },
+
+{ "fpadd8",     F3F(2, 0x36, 0x124), F3F(~2, ~0x36, ~0x124), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpadds8",    F3F(2, 0x36, 0x126), F3F(~2, ~0x36, ~0x126), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpaddus8",   F3F(2, 0x36, 0x127), F3F(~2, ~0x36, ~0x127), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpaddus16",  F3F(2, 0x36, 0x123), F3F(~2, ~0x36, ~0x123), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpcmple8",   F3F(2, 0x36, 0x034), F3F(~2, ~0x36, ~0x034), "v,B,d", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpcmpgt8",   F3F(2, 0x36, 0x03c), F3F(~2, ~0x36, ~0x03c), "v,B,d", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpcmpule16", F3F(2, 0x36, 0x12e), F3F(~2, ~0x36, ~0x12e), "v,B,d", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpcmpugt16", F3F(2, 0x36, 0x12b), F3F(~2, ~0x36, ~0x12b), "v,B,d", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpcmpule32", F3F(2, 0x36, 0x12f), F3F(~2, ~0x36, ~0x12f), "v,B,d", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpcmpugt32", F3F(2, 0x36, 0x12c), F3F(~2, ~0x36, ~0x12c), "v,B,d", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpmax8",     F3F(2, 0x36, 0x11d), F3F(~2, ~0x36, ~0x11d), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpmax16",    F3F(2, 0x36, 0x11e), F3F(~2, ~0x36, ~0x11e), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpmax32",    F3F(2, 0x36, 0x11f), F3F(~2, ~0x36, ~0x11f), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpmaxu8",    F3F(2, 0x36, 0x15d), F3F(~2, ~0x36, ~0x15d), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpmaxu16",   F3F(2, 0x36, 0x15e), F3F(~2, ~0x36, ~0x15e), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpmaxu32",   F3F(2, 0x36, 0x15f), F3F(~2, ~0x36, ~0x15f), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpmin8",     F3F(2, 0x36, 0x11a), F3F(~2, ~0x36, ~0x11a), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpmin16",    F3F(2, 0x36, 0x11b), F3F(~2, ~0x36, ~0x11b), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpmin32",    F3F(2, 0x36, 0x11c), F3F(~2, ~0x36, ~0x11c), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpminu8",    F3F(2, 0x36, 0x15a), F3F(~2, ~0x36, ~0x15a), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpminu16",   F3F(2, 0x36, 0x15b), F3F(~2, ~0x36, ~0x15b), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpminu32",   F3F(2, 0x36, 0x15c), F3F(~2, ~0x36, ~0x15c), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpsub8",     F3F(2, 0x36, 0x154), F3F(~2, ~0x36, ~0x154), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpsubs8",    F3F(2, 0x36, 0x156), F3F(~2, ~0x36, ~0x156), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpsubus8",   F3F(2, 0x36, 0x157), F3F(~2, ~0x36, ~0x157), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
+{ "fpsubus16",  F3F(2, 0x36, 0x153), F3F(~2, ~0x36, ~0x153), "v,B,H", 0, 0, HWCAP2_SPARC5, v9b },
 
 /* More v9 specific insns, these need to come last so they do not clash
    with v9a instructions such as "edge8" which looks like impdep1. */
 
 #define IMPDEP(name, code) \
-{ name,	F3(2, code, 0), F3(~2, ~code, ~0)|ASI(~0), "1,2,d", 0, 0, v9notv9a }, \
-{ name,	F3(2, code, 1), F3(~2, ~code, ~1),	   "1,i,d", 0, 0, v9notv9a }, \
-{ name, F3(2, code, 0), F3(~2, ~code, ~0),         "x,1,2,d", 0, 0, v9notv9a }, \
-{ name, F3(2, code, 0), F3(~2, ~code, ~0),         "x,e,f,g", 0, 0, v9notv9a }
+{ name,	F3(2, code, 0), F3(~2, ~code, ~0)|ASI(~0), "1,2,d", 0, 0, 0, v9notv9a }, \
+{ name,	F3(2, code, 1), F3(~2, ~code, ~1),	   "1,i,d", 0, 0, 0, v9notv9a }, \
+{ name, F3(2, code, 0), F3(~2, ~code, ~0),         "x,1,2,d", 0, 0, 0, v9notv9a }, \
+{ name, F3(2, code, 0), F3(~2, ~code, ~0),         "x,e,f,g", 0, 0, 0, v9notv9a }
 
 IMPDEP ("impdep1", 0x36),
 IMPDEP ("impdep2", 0x37),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/spu-dis.c ./opcodes/spu-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/spu-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/spu-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Disassemble SPU instructions
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/spu-opc.c ./opcodes/spu-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/spu-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/spu-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* SPU opcode list
 
-   Copyright (C) 2006-2014 Free Software Foundation, Inc.
+   Copyright (C) 2006-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sysdep.h ./opcodes/sysdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/sysdep.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/sysdep.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Random host-dependent support code.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Written by Ken Raeburn.
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic30-dis.c ./opcodes/tic30-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic30-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tic30-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembly routines for TMS320C30 architecture
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic4x-dis.c ./opcodes/tic4x-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic4x-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tic4x-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Print instructions for the Texas TMS320C[34]X, for GDB and GNU Binutils.
 
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic54x-dis.c ./opcodes/tic54x-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic54x-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tic54x-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassembly routines for TMS320C54X architecture
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Timothy Wall (twall@cygnus.com)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic54x-opc.c ./opcodes/tic54x-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic54x-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tic54x-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Table of opcodes for the Texas Instruments TMS320C54X
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Timothy Wall (twall@cygnus.com)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic6x-dis.c ./opcodes/tic6x-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic6x-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tic6x-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* TI C6X disassembler.
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Joseph Myers <joseph@codesourcery.com>
    		  Bernd Schmidt  <bernds@codesourcery.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic80-dis.c ./opcodes/tic80-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic80-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tic80-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print TI TMS320C80 (MVP) instructions
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic80-opc.c ./opcodes/tic80-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tic80-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tic80-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Opcode table for TI TMS320C80 (MVP).
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tilegx-dis.c ./opcodes/tilegx-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tilegx-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tilegx-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* tilegx-dis.c.  Disassembly routines for the TILE-Gx architecture.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tilegx-opc.c ./opcodes/tilegx-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tilegx-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tilegx-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* TILE-Gx opcode information.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tilepro-dis.c ./opcodes/tilepro-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tilepro-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tilepro-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* tilepro-dis.c.  Disassembly routines for the TILEPro architecture.
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tilepro-opc.c ./opcodes/tilepro-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/tilepro-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/tilepro-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* TILEPro opcode information.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/v850-dis.c ./opcodes/v850-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/v850-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/v850-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble V850 instructions.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/v850-opc.c ./opcodes/v850-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/v850-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/v850-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Assemble V850 instructions.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/vax-dis.c ./opcodes/vax-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/vax-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/vax-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print VAX instructions.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
    Contributed by Pauline Middelink <middelin@polyware.iaf.nl>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/visium-dis.c ./opcodes/visium-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/visium-dis.c	1970-01-01 00:00:00.000000000 +0000
+++ ./opcodes/visium-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,834 @@
+/* Single instruction disassembler for the Visium.
+
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
+
+   This file is part of the GNU opcodes library.
+
+   This library is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   It is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "dis-asm.h"
+#include "opcode/visium.h"
+
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <setjmp.h>
+
+/* Maximum length of an instruction.  */
+#define MAXLEN 4
+
+struct private
+{
+  /* Points to first byte not fetched.  */
+  bfd_byte *max_fetched;
+  bfd_byte the_buffer[MAXLEN];
+  bfd_vma insn_start;
+  jmp_buf bailout;
+};
+
+/* Make sure that bytes from INFO->PRIVATE_DATA->BUFFER (inclusive)
+   to ADDR (exclusive) are valid.  Returns 1 for success, longjmps
+   on error.  */
+#define FETCH_DATA(info, addr) \
+  ((addr) <= ((struct private *)(info->private_data))->max_fetched \
+   ? 1 : fetch_data ((info), (addr)))
+
+static int fetch_data (struct disassemble_info *info, bfd_byte * addr);
+
+static int
+fetch_data (struct disassemble_info *info, bfd_byte *addr)
+{
+  int status;
+  struct private *priv = (struct private *) info->private_data;
+  bfd_vma start = priv->insn_start + (priv->max_fetched - priv->the_buffer);
+
+  status = (*info->read_memory_func) (start,
+				      priv->max_fetched,
+				      addr - priv->max_fetched, info);
+  if (status != 0)
+    {
+      (*info->memory_error_func) (status, start, info);
+      longjmp (priv->bailout, 1);
+    }
+  else
+    priv->max_fetched = addr;
+  return 1;
+}
+
+static char *size_names[] = { "?", "b", "w", "?", "l", "?", "?", "?" };
+
+static char *cc_names[] =
+{
+  "fa", "eq", "cs", "os", "ns", "ne", "cc", "oc",
+  "nc", "ge", "gt", "hi", "le", "ls", "lt", "tr"
+};
+
+/* Disassemble non-storage relative instructions.  */
+
+static int
+disassem_class0 (disassemble_info *info, unsigned int ins)
+{
+  int opcode = (ins >> 21) & 0x000f;
+
+  if (ins & CLASS0_UNUSED_MASK)
+    goto illegal_opcode;
+
+  switch (opcode)
+    {
+    case 0:
+      /* BRR instruction.  */
+      {
+	unsigned cbf = (ins >> 27) & 0x000f;
+	int displacement = ((int) (ins << 16)) >> 16;
+
+	if (ins == 0)
+	  (*info->fprintf_func) (info->stream, "nop");
+	else
+	  (*info->fprintf_func) (info->stream, "brr     %s,%+d",
+				 cc_names[cbf], displacement);
+      }
+      break;
+    case 1:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 2:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 3:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 4:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 5:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 6:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 7:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 8:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 9:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 10:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 11:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 12:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 13:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 14:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 15:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    }
+  return 0;
+
+illegal_opcode:
+  return -1;
+}
+
+/* Disassemble non-storage register class instructions.   */
+
+static int
+disassem_class1 (disassemble_info *info, unsigned int ins)
+{
+  int opcode = (ins >> 21) & 0xf;
+  int source_a = (ins >> 16) & 0x1f;
+  int source_b = (ins >> 4) & 0x1f;
+  int indx = (ins >> 10) & 0x1f;
+
+  int size = ins & 0x7;
+
+  if (ins & CLASS1_UNUSED_MASK)
+    goto illegal_opcode;
+
+  switch (opcode)
+    {
+    case 0:
+      /* Stop.  */
+      (*info->fprintf_func) (info->stream, "stop");
+      break;
+    case 1:
+      /* BMI - Block Move Indirect.  */
+      if (ins != BMI)
+	goto illegal_opcode;
+
+      (*info->fprintf_func) (info->stream, "bmi     r1,r2,r3");
+      break;
+    case 2:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 3:
+      /* BMD - Block Move Direct.  */
+      if (ins != BMD)
+	goto illegal_opcode;
+
+      (*info->fprintf_func) (info->stream, "bmd     r1,r2,r3");
+      break;
+    case 4:
+      /* DSI - Disable Interrupts.  */
+      if (ins != DSI)
+	goto illegal_opcode;
+
+      (*info->fprintf_func) (info->stream, "dsi");
+      break;
+
+    case 5:
+      /* ENI - Enable Interrupts.  */
+      if (ins != ENI)
+	goto illegal_opcode;
+
+      (*info->fprintf_func) (info->stream, "eni");
+      break;
+
+    case 6:
+      /* Illegal opcode (was EUT).  */
+      goto illegal_opcode;
+      break;
+    case 7:
+      /* RFI - Return from Interrupt.  */
+      if (ins != RFI)
+	goto illegal_opcode;
+
+      (*info->fprintf_func) (info->stream, "rfi");
+      break;
+    case 8:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 9:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 10:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 11:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 12:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 13:
+      goto illegal_opcode;
+      break;
+    case 14:
+      goto illegal_opcode;
+      break;
+    case 15:
+      if (ins & EAM_SELECT_MASK)
+	{
+	  /* Extension arithmetic module write */
+	  int fp_ins = (ins >> 27) & 0xf;
+
+	  if (size != 4)
+	    goto illegal_opcode;
+
+	  if (ins & FP_SELECT_MASK)
+	    {
+	      /* Which floating point instructions don't need a fsrcB
+	         register.  */
+	      const int no_fsrcb[16] = { 1, 0, 0, 0, 0, 1, 1, 1,
+		1, 1, 0, 0, 1, 0, 0, 0
+	      };
+	      if (no_fsrcb[fp_ins] && source_b)
+		goto illegal_opcode;
+
+	      /* Check that none of the floating register register numbers
+	         is higher than 15. (If this is fload, then srcA is a
+	         general register.  */
+	      if (ins & ((1 << 14) | (1 << 8)) || (fp_ins && ins & (1 << 20)))
+		goto illegal_opcode;
+
+	      switch (fp_ins)
+		{
+		case 0:
+		  (*info->fprintf_func) (info->stream, "fload   f%d,r%d",
+					 indx, source_a);
+		  break;
+		case 1:
+		  (*info->fprintf_func) (info->stream, "fadd    f%d,f%d,f%d",
+					 indx, source_a, source_b);
+		  break;
+		case 2:
+		  (*info->fprintf_func) (info->stream, "fsub    f%d,f%d,f%d",
+					 indx, source_a, source_b);
+		  break;
+		case 3:
+		  (*info->fprintf_func) (info->stream, "fmult   f%d,f%d,f%d",
+					 indx, source_a, source_b);
+		  break;
+		case 4:
+		  (*info->fprintf_func) (info->stream, "fdiv    f%d,f%d,f%d",
+					 indx, source_a, source_b);
+		  break;
+		case 5:
+		  (*info->fprintf_func) (info->stream, "fsqrt   f%d,f%d",
+					 indx, source_a);
+		  break;
+		case 6:
+		  (*info->fprintf_func) (info->stream, "fneg    f%d,f%d",
+					 indx, source_a);
+		  break;
+		case 7:
+		  (*info->fprintf_func) (info->stream, "fabs    f%d,f%d",
+					 indx, source_a);
+		  break;
+		case 8:
+		  (*info->fprintf_func) (info->stream, "ftoi    f%d,f%d",
+					 indx, source_a);
+		  break;
+		case 9:
+		  (*info->fprintf_func) (info->stream, "itof    f%d,f%d",
+					 indx, source_a);
+		  break;
+		case 12:
+		  (*info->fprintf_func) (info->stream, "fmove   f%d,f%d",
+					 indx, source_a);
+		  break;
+		default:
+		  (*info->fprintf_func) (info->stream,
+					 "fpinst  %d,f%d,f%d,f%d", fp_ins,
+					 indx, source_a, source_b);
+		  break;
+		}
+	    }
+	  else
+	    {
+	      /* Which EAM operations do not need a srcB register.  */
+	      const int no_srcb[32] =
+	      { 0, 0, 1, 1, 0, 1, 1, 1,
+		0, 1, 1, 1, 0, 0, 0, 0,
+		0, 0, 0, 0, 0, 0, 0, 0,
+		0, 0, 0, 0, 0, 0, 0, 0
+	      };
+
+	      if (no_srcb[indx] && source_b)
+		goto illegal_opcode;
+
+	      if (fp_ins)
+		goto illegal_opcode;
+
+	      switch (indx)
+		{
+		case 0:
+		  (*info->fprintf_func) (info->stream, "mults   r%d,r%d",
+					 source_a, source_b);
+		  break;
+		case 1:
+		  (*info->fprintf_func) (info->stream, "multu   r%d,r%d",
+					 source_a, source_b);
+		  break;
+		case 2:
+		  (*info->fprintf_func) (info->stream, "divs    r%d",
+					 source_a);
+		  break;
+		case 3:
+		  (*info->fprintf_func) (info->stream, "divu    r%d",
+					 source_a);
+		  break;
+		case 4:
+		  (*info->fprintf_func) (info->stream, "writemd r%d,r%d",
+					 source_a, source_b);
+		  break;
+		case 5:
+		  (*info->fprintf_func) (info->stream, "writemdc r%d",
+					 source_a);
+		  break;
+		case 6:
+		  (*info->fprintf_func) (info->stream, "divds   r%d",
+					 source_a);
+		  break;
+		case 7:
+		  (*info->fprintf_func) (info->stream, "divdu   r%d",
+					 source_a);
+		  break;
+		case 9:
+		  (*info->fprintf_func) (info->stream, "asrd    r%d",
+					 source_a);
+		  break;
+		case 10:
+		  (*info->fprintf_func) (info->stream, "lsrd    r%d",
+					 source_a);
+		  break;
+		case 11:
+		  (*info->fprintf_func) (info->stream, "asld    r%d",
+					 source_a);
+		  break;
+		default:
+		  (*info->fprintf_func) (info->stream,
+					 "eamwrite %d,r%d,r%d", indx,
+					 source_a, source_b);
+		  break;
+		}
+	    }
+	}
+      else
+	{
+	  /* WRITE - write to memory.  */
+	  (*info->fprintf_func) (info->stream, "write.%s %d(r%d),r%d",
+				 size_names[size], indx, source_a, source_b);
+	}
+      break;
+    }
+
+  return 0;
+
+illegal_opcode:
+  return -1;
+}
+
+/* Disassemble storage immediate class instructions.   */
+
+static int
+disassem_class2 (disassemble_info *info, unsigned int ins)
+{
+  int opcode = (ins >> 21) & 0xf;
+  int source_a = (ins >> 16) & 0x1f;
+  unsigned immediate = ins & 0x0000ffff;
+
+  if (ins & CC_MASK)
+    goto illegal_opcode;
+
+  switch (opcode)
+    {
+    case 0:
+      /* ADDI instruction.  */
+      (*info->fprintf_func) (info->stream, "addi    r%d,%d", source_a,
+			     immediate);
+      break;
+    case 1:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 2:
+      /* SUBI instruction.  */
+      (*info->fprintf_func) (info->stream, "subi    r%d,%d", source_a,
+			     immediate);
+      break;
+    case 3:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 4:
+      /* MOVIL instruction.  */
+      (*info->fprintf_func) (info->stream, "movil   r%d,0x%04X", source_a,
+			     immediate);
+      break;
+    case 5:
+      /* MOVIU instruction.  */
+      (*info->fprintf_func) (info->stream, "moviu   r%d,0x%04X", source_a,
+			     immediate);
+      break;
+    case 6:
+      /* MOVIQ instruction.  */
+      (*info->fprintf_func) (info->stream, "moviq   r%d,%u", source_a,
+			     immediate);
+      break;
+    case 7:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 8:
+      /* WRTL instruction.  */
+      if (source_a != 0)
+	goto illegal_opcode;
+
+      (*info->fprintf_func) (info->stream, "wrtl    0x%04X", immediate);
+      break;
+    case 9:
+      /* WRTU instruction.  */
+      if (source_a != 0)
+	goto illegal_opcode;
+
+      (*info->fprintf_func) (info->stream, "wrtu    0x%04X", immediate);
+      break;
+    case 10:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 11:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 12:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 13:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 14:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    case 15:
+      /* Illegal opcode.  */
+      goto illegal_opcode;
+      break;
+    }
+
+  return 0;
+
+illegal_opcode:
+  return -1;
+}
+
+/* Disassemble storage register class instructions.  */
+
+static int
+disassem_class3 (disassemble_info *info, unsigned int ins)
+{
+  int opcode = (ins >> 21) & 0xf;
+  int source_b = (ins >> 4) & 0x1f;
+  int source_a = (ins >> 16) & 0x1f;
+  int size = ins & 0x7;
+  int dest = (ins >> 10) & 0x1f;
+
+  /* Those instructions that don't have a srcB register.  */
+  const int no_srcb[16] =
+  { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0 };
+
+  /* These are instructions which can take an immediate srcB value.  */
+  const int srcb_immed[16] =
+  { 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1 };
+
+  /* User opcodes should not provide a non-zero srcB register
+     when none is required. Only a BRA or floating point
+     instruction should have a non-zero condition code field.
+     Only a WRITE or EAMWRITE (opcode 15) should select an EAM
+     or floating point operation.  Note that FP_SELECT_MASK is
+     the same bit (bit 3) as the interrupt bit which
+     distinguishes SYS1 from BRA and SYS2 from RFLAG.  */
+  if ((no_srcb[opcode] && source_b)
+      || (!srcb_immed[opcode] && ins & CLASS3_SOURCEB_IMMED)
+      || (opcode != 12 && opcode != 15 && ins & CC_MASK)
+      || (opcode != 15 && ins & (EAM_SELECT_MASK | FP_SELECT_MASK)))
+    goto illegal_opcode;
+
+
+  switch (opcode)
+    {
+    case 0:
+      /* ADD instruction.  */
+      (*info->fprintf_func) (info->stream, "add.%s   r%d,r%d,r%d",
+			     size_names[size], dest, source_a, source_b);
+      break;
+    case 1:
+      /* ADC instruction.  */
+      (*info->fprintf_func) (info->stream, "adc.%s   r%d,r%d,r%d",
+			     size_names[size], dest, source_a, source_b);
+      break;
+    case 2:
+      /* SUB instruction.  */
+      if (dest == 0)
+	(*info->fprintf_func) (info->stream, "cmp.%s   r%d,r%d",
+			       size_names[size], source_a, source_b);
+      else
+	(*info->fprintf_func) (info->stream, "sub.%s   r%d,r%d,r%d",
+			       size_names[size], dest, source_a, source_b);
+      break;
+    case 3:
+      /* SUBC instruction.  */
+      if (dest == 0)
+	(*info->fprintf_func) (info->stream, "cmpc.%s  r%d,r%d",
+			       size_names[size], source_a, source_b);
+      else
+	(*info->fprintf_func) (info->stream, "subc.%s  r%d,r%d,r%d",
+			       size_names[size], dest, source_a, source_b);
+      break;
+    case 4:
+      /* EXTW instruction.  */
+      if (size == 1)
+	goto illegal_opcode;
+
+      (*info->fprintf_func) (info->stream, "extw.%s  r%d,r%d",
+			     size_names[size], dest, source_a);
+      break;
+    case 5:
+      /* ASR instruction.  */
+      if (ins & CLASS3_SOURCEB_IMMED)
+	(*info->fprintf_func) (info->stream, "asr.%s   r%d,r%d,%d",
+			       size_names[size], dest, source_a, source_b);
+      else
+	(*info->fprintf_func) (info->stream, "asr.%s   r%d,r%d,r%d",
+			       size_names[size], dest, source_a, source_b);
+      break;
+    case 6:
+      /* LSR instruction.  */
+      if (ins & CLASS3_SOURCEB_IMMED)
+	(*info->fprintf_func) (info->stream, "lsr.%s   r%d,r%d,%d",
+			       size_names[size], dest, source_a, source_b);
+      else
+	(*info->fprintf_func) (info->stream, "lsr.%s   r%d,r%d,r%d",
+			       size_names[size], dest, source_a, source_b);
+      break;
+    case 7:
+      /* ASL instruction.  */
+      if (ins & CLASS3_SOURCEB_IMMED)
+	(*info->fprintf_func) (info->stream, "asl.%s   r%d,r%d,%d",
+			       size_names[size], dest, source_a, source_b);
+      else
+	(*info->fprintf_func) (info->stream, "asl.%s   r%d,r%d,r%d",
+			       size_names[size], dest, source_a, source_b);
+      break;
+    case 8:
+      /* XOR instruction.  */
+      (*info->fprintf_func) (info->stream, "xor.%s   r%d,r%d,r%d",
+			     size_names[size], dest, source_a, source_b);
+      break;
+    case 9:
+      /* OR instruction.  */
+      if (source_b == 0)
+	(*info->fprintf_func) (info->stream, "move.%s  r%d,r%d",
+			       size_names[size], dest, source_a);
+      else
+	(*info->fprintf_func) (info->stream, "or.%s    r%d,r%d,r%d",
+			       size_names[size], dest, source_a, source_b);
+      break;
+    case 10:
+      /* AND instruction.  */
+      (*info->fprintf_func) (info->stream, "and.%s   r%d,r%d,r%d",
+			     size_names[size], dest, source_a, source_b);
+      break;
+    case 11:
+      /* NOT instruction.  */
+      (*info->fprintf_func) (info->stream, "not.%s   r%d,r%d",
+			     size_names[size], dest, source_a);
+      break;
+    case 12:
+      /* BRA instruction.  */
+      {
+	unsigned cbf = (ins >> 27) & 0x000f;
+
+	if (size != 4)
+	  goto illegal_opcode;
+
+	(*info->fprintf_func) (info->stream, "bra     %s,r%d,r%d",
+			       cc_names[cbf], source_a, dest);
+      }
+      break;
+    case 13:
+      /* RFLAG instruction.  */
+      if (source_a || size != 4)
+	goto illegal_opcode;
+
+      (*info->fprintf_func) (info->stream, "rflag   r%d", dest);
+      break;
+    case 14:
+      /* EXTB instruction.  */
+      (*info->fprintf_func) (info->stream, "extb.%s  r%d,r%d",
+			     size_names[size], dest, source_a);
+      break;
+    case 15:
+      if (!(ins & CLASS3_SOURCEB_IMMED))
+	goto illegal_opcode;
+
+      if (ins & EAM_SELECT_MASK)
+	{
+	  /* Extension arithmetic module read.  */
+	  int fp_ins = (ins >> 27) & 0xf;
+
+	  if (size != 4)
+	    goto illegal_opcode;
+
+	  if (ins & FP_SELECT_MASK)
+	    {
+	      /* Check fsrcA <= 15 and fsrcB <= 15.  */
+	      if (ins & ((1 << 20) | (1 << 8)))
+		goto illegal_opcode;
+
+	      switch (fp_ins)
+		{
+		case 0:
+		  if (source_b)
+		    goto illegal_opcode;
+
+		  (*info->fprintf_func) (info->stream, "fstore  r%d,f%d",
+					 dest, source_a);
+		  break;
+		case 10:
+		  (*info->fprintf_func) (info->stream, "fcmp    r%d,f%d,f%d",
+					 dest, source_a, source_b);
+		  break;
+		case 11:
+		  (*info->fprintf_func) (info->stream, "fcmpe   r%d,f%d,f%d",
+					 dest, source_a, source_b);
+		  break;
+		default:
+		  (*info->fprintf_func) (info->stream,
+					 "fpuread %d,r%d,f%d,f%d", fp_ins,
+					 dest, source_a, source_b);
+		  break;
+		}
+	    }
+	  else
+	    {
+	      if (fp_ins || source_a)
+		goto illegal_opcode;
+
+	      switch (source_b)
+		{
+		case 0:
+		  (*info->fprintf_func) (info->stream, "readmda r%d", dest);
+		  break;
+		case 1:
+		  (*info->fprintf_func) (info->stream, "readmdb r%d", dest);
+		  break;
+		case 2:
+		  (*info->fprintf_func) (info->stream, "readmdc r%d", dest);
+		  break;
+		default:
+		  (*info->fprintf_func) (info->stream, "eamread r%d,%d",
+					 dest, source_b);
+		  break;
+		}
+	    }
+	}
+      else
+	{
+	  if (ins & FP_SELECT_MASK)
+	    goto illegal_opcode;
+
+	  /* READ instruction.  */
+	  (*info->fprintf_func) (info->stream, "read.%s  r%d,%d(r%d)",
+				 size_names[size], dest, source_b, source_a);
+	}
+      break;
+    }
+
+  return 0;
+
+illegal_opcode:
+  return -1;
+
+}
+
+/* Print the visium instruction at address addr in debugged memory,
+   on info->stream. Return length of the instruction, in bytes.  */
+
+int
+print_insn_visium (bfd_vma addr, disassemble_info *info)
+{
+  unsigned ins;
+  unsigned p1, p2;
+  int ans;
+  int i;
+
+  /* Stuff copied from m68k-dis.c.  */
+  struct private priv;
+  bfd_byte *buffer = priv.the_buffer;
+  info->private_data = (PTR) & priv;
+  priv.max_fetched = priv.the_buffer;
+  priv.insn_start = addr;
+  if (setjmp (priv.bailout) != 0)
+    {
+      /* Error return.  */
+      return -1;
+    }
+
+  /* We do return this info.  */
+  info->insn_info_valid = 1;
+
+  /* Assume non branch insn.  */
+  info->insn_type = dis_nonbranch;
+
+  /* Assume no delay.  */
+  info->branch_delay_insns = 0;
+
+  /* Assume no target known.  */
+  info->target = 0;
+
+  /* Get 32-bit instruction word.  */
+  FETCH_DATA (info, buffer + 4);
+  ins = buffer[0] << 24;
+  ins |= buffer[1] << 16;
+  ins |= buffer[2] << 8;
+  ins |= buffer[3];
+
+  ans = 0;
+
+  p1 = buffer[0] ^ buffer[1] ^ buffer[2] ^ buffer[3];
+  p2 = 0;
+  for (i = 0; i < 8; i++)
+    {
+      p2 += p1 & 1;
+      p1 >>= 1;
+    }
+
+  /* Decode the instruction.  */
+  if (p2 & 1)
+    ans = -1;
+  else
+    {
+      switch ((ins >> 25) & 0x3)
+	{
+	case 0:
+	  ans = disassem_class0 (info, ins);
+	  break;
+	case 1:
+	  ans = disassem_class1 (info, ins);
+	  break;
+	case 2:
+	  ans = disassem_class2 (info, ins);
+	  break;
+	case 3:
+	  ans = disassem_class3 (info, ins);
+	  break;
+	}
+    }
+
+  if (ans != 0)
+    (*info->fprintf_func) (info->stream, "err");
+
+  /* Return number of bytes consumed (always 4 for the Visium).  */
+  return 4;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/visium-opc.c ./opcodes/visium-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/visium-opc.c	1970-01-01 00:00:00.000000000 +0000
+++ ./opcodes/visium-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -0,0 +1,23 @@
+/* Opcode table for the Visium.
+
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
+
+   This file is part of the GNU opcodes library.
+
+   This library is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   It is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "ansidecl.h"
+#include "opcode/visium.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/w65-dis.c ./opcodes/w65-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/w65-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/w65-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble WDC 65816 instructions.
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/w65-opc.h ./opcodes/w65-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/w65-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/w65-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Instruction opcode header for WDC 65816 
    (generated by the program sim/w65/gencode -a)
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-asm.c ./opcodes/xc16x-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xc16x-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-desc.c ./opcodes/xc16x-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xc16x-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-desc.h ./opcodes/xc16x-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xc16x-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-dis.c ./opcodes/xc16x-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xc16x-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-ibld.c ./opcodes/xc16x-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xc16x-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-opc.c ./opcodes/xc16x-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xc16x-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-opc.h ./opcodes/xc16x-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xc16x-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xc16x-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xgate-dis.c ./opcodes/xgate-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xgate-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xgate-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* xgate-dis.c -- Freescale XGATE disassembly
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Written by Sean Keys (skeys@ipdatasys.com)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xgate-opc.c ./opcodes/xgate-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xgate-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xgate-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* mc9xgate-opc.c -- Freescale XGATE opcode list
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Sean Keys (skeys@ipdatasys.com)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-asm.c ./opcodes/xstormy16-asm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-asm.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xstormy16-asm.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-asm.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-desc.c ./opcodes/xstormy16-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xstormy16-desc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-desc.h ./opcodes/xstormy16-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xstormy16-desc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-dis.c ./opcodes/xstormy16-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xstormy16-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -4,7 +4,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN.
    - the resultant file is machine generated, cgen-dis.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-ibld.c ./opcodes/xstormy16-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-ibld.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xstormy16-ibld.c	2015-01-20 02:05:40.000000000 +0000
@@ -3,7 +3,7 @@
    THIS FILE IS MACHINE GENERATED WITH CGEN: Cpu tools GENerator.
    - the resultant file is machine generated, cgen-ibld.in isn't
 
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
    This file is part of libopcodes.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-opc.c ./opcodes/xstormy16-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-opc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xstormy16-opc.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-opc.h ./opcodes/xstormy16-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xstormy16-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xstormy16-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xtensa-dis.c ./opcodes/xtensa-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/xtensa-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/xtensa-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* xtensa-dis.c.  Disassembly functions for Xtensa.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
    Contributed by Bob Wilson at Tensilica, Inc. (bwilson@tensilica.com)
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/z80-dis.c ./opcodes/z80-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/z80-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/z80-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Print Z80 and R800 instructions
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Arnold Metselaar <arnold_m@operamail.com>
 
    This file is part of the GNU opcodes library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/z8k-dis.c ./opcodes/z8k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/z8k-dis.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/z8k-dis.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Disassemble z8000 code.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/z8kgen.c ./opcodes/z8kgen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/z8kgen.c	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/z8kgen.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -987,7 +987,7 @@ gas (void)
 
   printf ("/* DO NOT EDIT!  -*- buffer-read-only: t -*-\n");
   printf ("   This file is automatically generated by z8kgen.  */\n\n");
-  printf ("/* Copyright (C) 2007-2014 Free Software Foundation, Inc.\n\
+  printf ("/* Copyright (C) 2007-2015 Free Software Foundation, Inc.\n\
 \n\
    This file is part of the GNU opcodes library.\n\
 \n\
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/z8k-opc.h ./opcodes/z8k-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/opcodes/z8k-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./opcodes/z8k-opc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* DO NOT EDIT!  -*- buffer-read-only: t -*-
    This file is automatically generated by z8kgen.  */
 
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/readline/ChangeLog.gdb ./readline/ChangeLog.gdb
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/readline/ChangeLog.gdb	2015-01-13 02:02:20.000000000 +0000
+++ ./readline/ChangeLog.gdb	2015-01-20 02:05:40.000000000 +0000
@@ -4,6 +4,12 @@
 	Windows, they don't work.  Instead, look at the file-name
 	extension to determine whether the file is executable.
 
+2014-09-22  Chen Gang  <gang.chen.5i5j@gmail.com>
+
+	Pushed by Joel Brobecker  <brobecker@adacore.com>
+	* search.c (_rl_nsearch_init): Remove useless parameter '0' for
+	rl_message().
+
 2013-09-24  Pierre Muller  <muller@sourceware.org>
 
 	* readline.c (bind_arrow_keys_internal):
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/readline/search.c ./readline/search.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/readline/search.c	2015-01-13 02:02:20.000000000 +0000
+++ ./readline/search.c	2015-01-20 02:05:40.000000000 +0000
@@ -210,7 +210,7 @@ _rl_nsearch_init (dir, pchar)
   rl_end = rl_point = 0;
 
   p = _rl_make_prompt_for_search (pchar ? pchar : ':');
-  rl_message ("%s", p, 0);
+  rl_message ("%s", p);
   xfree (p);
 
   RL_SETSTATE(RL_STATE_NSEARCH);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/ChangeLog ./sim/arm/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/arm/ChangeLog	2015-01-20 02:05:40.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-18  Nick Clifton  <nickc@redhat.com>
 
 	* wrapper.c: Convert function declarations to ISO C format.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/config.in ./sim/arm/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/arm/config.in	2015-01-20 02:05:40.000000000 +0000
@@ -67,12 +67,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/configure ./sim/arm/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/arm/configure	2015-01-20 02:05:40.000000000 +0000
@@ -1388,7 +1388,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8767,17 +8767,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12264,7 +12353,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12267 "configure"
+#line 12356 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12370,7 +12459,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12373 "configure"
+#line 12462 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/iwmmxt.c ./sim/arm/iwmmxt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/iwmmxt.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/arm/iwmmxt.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /*  iwmmxt.c -- Intel(r) Wireless MMX(tm) technology co-processor interface.
-    Copyright (C) 2002-2014 Free Software Foundation, Inc.
+    Copyright (C) 2002-2015 Free Software Foundation, Inc.
     Contributed by matthew green (mrg@redhat.com).
  
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/iwmmxt.h ./sim/arm/iwmmxt.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/iwmmxt.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/arm/iwmmxt.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /*  iwmmxt.h -- Intel(r) Wireless MMX(tm) technology co-processor interface.
-    Copyright (C) 2002-2014 Free Software Foundation, Inc.
+    Copyright (C) 2002-2015 Free Software Foundation, Inc.
     Contributed by matthew green (mrg@redhat.com).
  
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/Makefile.in ./sim/arm/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/arm/Makefile.in	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the arm sim library.
-#    Copyright 1995-2014 Free Software Foundation, Inc.
+#    Copyright 1995-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Support.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/maverick.c ./sim/arm/maverick.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/maverick.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/arm/maverick.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /*  maverick.c -- Cirrus/DSP co-processor interface.
-    Copyright (C) 2003-2014 Free Software Foundation, Inc.
+    Copyright (C) 2003-2015 Free Software Foundation, Inc.
     Contributed by Aldy Hernandez (aldyh@redhat.com).
  
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/wrapper.c ./sim/arm/wrapper.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/arm/wrapper.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/arm/wrapper.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* run front end support for arm
-   Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   Copyright (C) 1995-2015 Free Software Foundation, Inc.
 
    This file is part of ARM SIM.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/ChangeLog ./sim/avr/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/avr/ChangeLog	2015-01-20 02:05:40.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* interp.c (sim_do_command): Add const to cmd.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/config.in ./sim/avr/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/avr/config.in	2015-01-20 02:05:40.000000000 +0000
@@ -67,12 +67,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/configure ./sim/avr/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/avr/configure	2015-01-20 02:05:40.000000000 +0000
@@ -1387,7 +1387,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8766,17 +8766,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12263,7 +12352,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12266 "configure"
+#line 12355 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12369,7 +12458,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12372 "configure"
+#line 12461 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/interp.c ./sim/avr/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/interp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/avr/interp.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator for Atmel's AVR core.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Written by Tristan Gingold, AdaCore.
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/Makefile.in ./sim/avr/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/avr/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/avr/Makefile.in	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the AVR sim library.
-#    Copyright (C) 2009-2014 Free Software Foundation, Inc.
+#    Copyright (C) 2009-2015 Free Software Foundation, Inc.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/bfin-sim.c ./sim/bfin/bfin-sim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/bfin-sim.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/bfin-sim.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator for Analog Devices Blackfin processors.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/bfin-sim.h ./sim/bfin/bfin-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/bfin-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/bfin-sim.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator for Analog Devices Blackfin processors.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/ChangeLog ./sim/bfin/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/ChangeLog	2015-01-20 02:05:40.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-04  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/config.in ./sim/bfin/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/config.in	2015-01-20 02:05:40.000000000 +0000
@@ -124,12 +124,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/configure ./sim/bfin/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/configure	2015-01-20 02:05:40.000000000 +0000
@@ -1409,7 +1409,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8808,17 +8808,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12305,7 +12394,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12308 "configure"
+#line 12397 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12411,7 +12500,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12414 "configure"
+#line 12503 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/devices.c ./sim/bfin/devices.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/devices.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/devices.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin device support.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/devices.h ./sim/bfin/devices.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/devices.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/devices.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common Blackfin device stuff.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_cec.c ./sim/bfin/dv-bfin_cec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_cec.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_cec.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Core Event Controller (CEC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_cec.h ./sim/bfin/dv-bfin_cec.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_cec.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_cec.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Core Event Controller (CEC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ctimer.c ./sim/bfin/dv-bfin_ctimer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ctimer.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ctimer.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Core Timer model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ctimer.h ./sim/bfin/dv-bfin_ctimer.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ctimer.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ctimer.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Core Timer model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_dma.c ./sim/bfin/dv-bfin_dma.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_dma.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_dma.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Direct Memory Access (DMA) Channel model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_dmac.c ./sim/bfin/dv-bfin_dmac.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_dmac.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_dmac.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Direct Memory Access (DMA) Controller model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_dmac.h ./sim/bfin/dv-bfin_dmac.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_dmac.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_dmac.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Direct Memory Access (DMA) Controller model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_dma.h ./sim/bfin/dv-bfin_dma.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_dma.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_dma.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Direct Memory Access (DMA) Channel model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_amc.c ./sim/bfin/dv-bfin_ebiu_amc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_amc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ebiu_amc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin External Bus Interface Unit (EBIU) Asynchronous Memory Controller
    (AMC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_amc.h ./sim/bfin/dv-bfin_ebiu_amc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_amc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ebiu_amc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin External Bus Interface Unit (EBIU) Asynchronous Memory Controller
    (AMC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_ddrc.c ./sim/bfin/dv-bfin_ebiu_ddrc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_ddrc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ebiu_ddrc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin External Bus Interface Unit (EBIU) DDR Controller (DDRC) Model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_ddrc.h ./sim/bfin/dv-bfin_ebiu_ddrc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_ddrc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ebiu_ddrc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin External Bus Interface Unit (EBIU) DDR Controller (DDRC) Model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_sdc.c ./sim/bfin/dv-bfin_ebiu_sdc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_sdc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ebiu_sdc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin External Bus Interface Unit (EBIU) SDRAM Controller (SDC) Model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_sdc.h ./sim/bfin/dv-bfin_ebiu_sdc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ebiu_sdc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ebiu_sdc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin External Bus Interface Unit (EBIU) SDRAM Controller (SDC) Model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_emac.c ./sim/bfin/dv-bfin_emac.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_emac.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_emac.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Ethernet Media Access Controller (EMAC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_emac.h ./sim/bfin/dv-bfin_emac.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_emac.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_emac.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Ethernet Media Access Controller (EMAC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_eppi.c ./sim/bfin/dv-bfin_eppi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_eppi.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_eppi.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin Enhanced Parallel Port Interface (EPPI) model
    For "new style" PPIs on BF54x/etc... parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_eppi.h ./sim/bfin/dv-bfin_eppi.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_eppi.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_eppi.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin Enhanced Parallel Port Interface (EPPI) model
    For "new style" PPIs on BF54x/etc... parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_evt.c ./sim/bfin/dv-bfin_evt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_evt.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_evt.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Event Vector Table (EVT) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_evt.h ./sim/bfin/dv-bfin_evt.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_evt.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_evt.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Event Vector Table (EVT) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gpio2.c ./sim/bfin/dv-bfin_gpio2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gpio2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_gpio2.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin General Purpose Ports (GPIO) model
    For "new style" GPIOs on BF54x parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc. and Mike Frysinger.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gpio2.h ./sim/bfin/dv-bfin_gpio2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gpio2.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_gpio2.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin General Purpose Ports (GPIO) model
    For "new style" GPIOs on BF54x parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc. and Mike Frysinger.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gpio.c ./sim/bfin/dv-bfin_gpio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gpio.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_gpio.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin General Purpose Ports (GPIO) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gpio.h ./sim/bfin/dv-bfin_gpio.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gpio.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_gpio.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin General Purpose Ports (GPIO) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gptimer.c ./sim/bfin/dv-bfin_gptimer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gptimer.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_gptimer.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin General Purpose Timers (GPtimer) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gptimer.h ./sim/bfin/dv-bfin_gptimer.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_gptimer.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_gptimer.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin General Purpose Timers (GPtimer) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_jtag.c ./sim/bfin/dv-bfin_jtag.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_jtag.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_jtag.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin JTAG model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_jtag.h ./sim/bfin/dv-bfin_jtag.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_jtag.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_jtag.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin JTAG model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_mmu.c ./sim/bfin/dv-bfin_mmu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_mmu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_mmu.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Memory Management Unit (MMU) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_mmu.h ./sim/bfin/dv-bfin_mmu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_mmu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_mmu.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Memory Management Unit (MMU) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_nfc.c ./sim/bfin/dv-bfin_nfc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_nfc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_nfc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin NAND Flash Memory Controller (NFC) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_nfc.h ./sim/bfin/dv-bfin_nfc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_nfc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_nfc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin NAND Flash Memory Controller (NFC) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_otp.c ./sim/bfin/dv-bfin_otp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_otp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_otp.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin One-Time Programmable Memory (OTP) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_otp.h ./sim/bfin/dv-bfin_otp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_otp.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_otp.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin One-Time Programmable Memory (OTP) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pfmon.c ./sim/bfin/dv-bfin_pfmon.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pfmon.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_pfmon.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Performance Monitor model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pfmon.h ./sim/bfin/dv-bfin_pfmon.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pfmon.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_pfmon.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Performance Monitor model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pint.c ./sim/bfin/dv-bfin_pint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pint.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_pint.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Pin Interrupt (PINT) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc. and Mike Frysinger.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pint.h ./sim/bfin/dv-bfin_pint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pint.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_pint.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Pin Interrupt (PINT) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc. and Mike Frysinger.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pll.c ./sim/bfin/dv-bfin_pll.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pll.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_pll.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Phase Lock Loop (PLL) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pll.h ./sim/bfin/dv-bfin_pll.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_pll.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_pll.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Phase Lock Loop (PLL) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ppi.c ./sim/bfin/dv-bfin_ppi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ppi.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ppi.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin Parallel Port Interface (PPI) model
    For "old style" PPIs on BF53x/etc... parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ppi.h ./sim/bfin/dv-bfin_ppi.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_ppi.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_ppi.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin Parallel Port Interface (PPI) model
    For "old style" PPIs on BF53x/etc... parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_rtc.c ./sim/bfin/dv-bfin_rtc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_rtc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_rtc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Real Time Clock (RTC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_rtc.h ./sim/bfin/dv-bfin_rtc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_rtc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_rtc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Real Time Clock (RTC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_sic.c ./sim/bfin/dv-bfin_sic.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_sic.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_sic.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin System Interrupt Controller (SIC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_sic.h ./sim/bfin/dv-bfin_sic.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_sic.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_sic.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin System Interrupt Controller (SIC) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_spi.c ./sim/bfin/dv-bfin_spi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_spi.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_spi.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Serial Peripheral Interface (SPI) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_spi.h ./sim/bfin/dv-bfin_spi.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_spi.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_spi.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Serial Peripheral Interface (SPI) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_trace.c ./sim/bfin/dv-bfin_trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_trace.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_trace.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Trace (TBUF) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_trace.h ./sim/bfin/dv-bfin_trace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_trace.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_trace.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Trace (TBUF) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_twi.c ./sim/bfin/dv-bfin_twi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_twi.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_twi.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Two Wire Interface (TWI) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_twi.h ./sim/bfin/dv-bfin_twi.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_twi.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_twi.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Two Wire Interface (TWI) model
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_uart2.c ./sim/bfin/dv-bfin_uart2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_uart2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_uart2.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin Universal Asynchronous Receiver/Transmitter (UART) model.
    For "new style" UARTs on BF50x/BF54x parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_uart2.h ./sim/bfin/dv-bfin_uart2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_uart2.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_uart2.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin Universal Asynchronous Receiver/Transmitter (UART) model.
    For "new style" UARTs on BF50x/BF54x parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_uart.c ./sim/bfin/dv-bfin_uart.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_uart.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_uart.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin Universal Asynchronous Receiver/Transmitter (UART) model.
    For "old style" UARTs on BF53x/etc... parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_uart.h ./sim/bfin/dv-bfin_uart.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_uart.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_uart.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,7 +1,7 @@
 /* Blackfin Universal Asynchronous Receiver/Transmitter (UART) model.
    For "old style" UARTs on BF53x/etc... parts.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_wdog.c ./sim/bfin/dv-bfin_wdog.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_wdog.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_wdog.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Watchdog (WDOG) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_wdog.h ./sim/bfin/dv-bfin_wdog.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_wdog.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_wdog.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Watchdog (WDOG) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_wp.c ./sim/bfin/dv-bfin_wp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_wp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_wp.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Watchpoint (WP) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_wp.h ./sim/bfin/dv-bfin_wp.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-bfin_wp.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-bfin_wp.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin Watchpoint (WP) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-eth_phy.c ./sim/bfin/dv-eth_phy.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/dv-eth_phy.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/dv-eth_phy.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Ethernet Physical Receiver model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/gui.c ./sim/bfin/gui.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/gui.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/gui.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin GUI (SDL) helper code
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/gui.h ./sim/bfin/gui.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/gui.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/gui.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin GUI (SDL) helper code
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/insn_list.def ./sim/bfin/insn_list.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/insn_list.def	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/insn_list.def	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin instruction classes list
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/interp.c ./sim/bfin/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/interp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/interp.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator for Analog Devices Blackfin processors.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/linux-fixed-code.s ./sim/bfin/linux-fixed-code.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/linux-fixed-code.s	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/linux-fixed-code.s	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Linux fixed code userspace ABI
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/machs.c ./sim/bfin/machs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/machs.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/machs.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator for Analog Devices Blackfin processors.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc. and Mike Frysinger.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/machs.h ./sim/bfin/machs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/machs.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/machs.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator for Analog Devices Blackfin processors.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/Makefile.in ./sim/bfin/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/Makefile.in	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the Blackfin simulator.
-#    Copyright (C) 2005-2014 Free Software Foundation, Inc.
+#    Copyright (C) 2005-2015 Free Software Foundation, Inc.
 #    Written by Analog Devices, Inc.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/proc_list.def ./sim/bfin/proc_list.def
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/proc_list.def	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/proc_list.def	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Blackfin processor list
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/sim-main.h ./sim/bfin/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/bfin/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/bfin/sim-main.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator for Analog Devices Blackfin processors.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ChangeLog ./sim/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ChangeLog	2015-01-20 02:05:40.000000000 +0000
@@ -1,3 +1,8 @@
+2014-07-01  Chen Gang <gang.chen.5i5j@gmail.com>
+
+	* sim/microblaze/interp.c: Use long int format instead of int
+	format to avoid compiling warnings.
+
 2014-03-12  Nick Clifton  <nickc@redhat.com>
 
 	* MAINTAINERS: Add myself as the maintainer for the MSP430.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/aclocal.m4 ./sim/common/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/aclocal.m4	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/aclocal.m4	2015-01-20 02:05:40.000000000 +0000
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
+# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -72,8 +71,8 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -93,7 +92,7 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
 [  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
@@ -109,13 +108,13 @@ AC_MSG_CHECKING([whether to enable maint
 
 AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
+# serial 2
 
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
@@ -124,7 +123,7 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
+# ---------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/callback.c ./sim/common/callback.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/callback.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/callback.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Remote target callback routines.
-   Copyright 1995-2014 Free Software Foundation, Inc.
+   Copyright 1995-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
    This file is part of GDB.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-cpu.h ./sim/common/cgen-cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-cpu.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator header for cgen cpus.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-defs.h ./sim/common/cgen-defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-defs.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-defs.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* General Cpu tools GENerated simulator support.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-engine.h ./sim/common/cgen-engine.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-engine.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-engine.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Engine header for Cpu tools GENerated simulators.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-mem.h ./sim/common/cgen-mem.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-mem.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-mem.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Memory ops header for CGEN-based simulators.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-ops.h ./sim/common/cgen-ops.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-ops.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-ops.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Semantics ops support for CGEN-based simulators.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-par.c ./sim/common/cgen-par.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-par.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-par.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator parallel routines for CGEN simulators (and maybe others).
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the GNU instruction set simulator.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-par.h ./sim/common/cgen-par.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-par.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-par.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator header for cgen parallel support.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the GNU instruction set simulator.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-run.c ./sim/common/cgen-run.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-run.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-run.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main simulator loop for CGEN-based simulators.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-scache.c ./sim/common/cgen-scache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-scache.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-scache.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator cache routines for CGEN simulators (and maybe others).
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-scache.h ./sim/common/cgen-scache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-scache.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-scache.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator header for cgen scache support.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-sim.h ./sim/common/cgen-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-sim.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main header file for Cpu tools GENerated simulators.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-trace.c ./sim/common/cgen-trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-trace.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-trace.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Tracing support for CGEN-based simulators.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-trace.h ./sim/common/cgen-trace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-trace.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-trace.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator tracing support for Cpu tools GENerated simulators.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-types.h ./sim/common/cgen-types.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-types.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-types.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Types for Cpu tools GENerated simulators.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-utils.c ./sim/common/cgen-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/cgen-utils.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/cgen-utils.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Support code for various pieces of CGEN simulators.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/ChangeLog ./sim/common/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/ChangeLog	2015-01-20 02:05:40.000000000 +0000
@@ -1,3 +1,28 @@
+2015-01-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* aclocal.m4, configure: Regenerate using automake 1.11.1.
+
+2014-12-03  Joel Brobecker  <brobecker@adacore.com>
+
+	* sim-io.c (sim_io_stat, sim_io_fstat): Adjust calls to "stat"
+	and "fstat" callbacks by calls to "to_stat" and "to_fstat" (resp)
+	callbacks following renaming in callback.h.
+	* syscall.c (cb_syscall): Likewise.  Adjust calls to "lstat"
+	callback by call to "to_lstat" callback
+
+2014-08-28  Gary Benson  <gbenson@redhat.com>
+
+	* sim-trace.h (debug_printf): New define.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* sim-command.c (sim_do_command): Add const to cmd.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/config.in ./sim/common/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/config.in	2015-01-20 02:05:40.000000000 +0000
@@ -133,12 +133,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/configure ./sim/common/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/configure	2015-01-20 02:05:40.000000000 +0000
@@ -1388,7 +1388,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -6390,7 +6390,7 @@ fi
       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
 	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
 	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[012]*)
+	10.[012][,.]*)
 	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
 	10.*)
 	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
@@ -7037,17 +7037,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -8324,7 +8413,7 @@ _LT_EOF
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
 	 && test "$tmp_diet" = no
       then
-	tmp_addflag=
+	tmp_addflag=' $pic_flag'
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
@@ -10534,7 +10623,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10537 "configure"
+#line 10626 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10640,7 +10729,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10643 "configure"
+#line 10732 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/create-version.sh ./sim/common/create-version.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/create-version.sh	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/create-version.sh	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 1989-2014 Free Software Foundation, Inc.
+# Copyright (C) 1989-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-cfi.c ./sim/common/dv-cfi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-cfi.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/dv-cfi.c	2015-01-20 02:05:40.000000000 +0000
@@ -2,7 +2,7 @@
    http://www.spansion.com/Support/AppNotes/CFI_Spec_AN_03.pdf
    http://www.spansion.com/Support/AppNotes/cfi_100_20011201.pdf
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-cfi.h ./sim/common/dv-cfi.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-cfi.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/dv-cfi.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* Common Flash Memory Interface (CFI) model.
 
-   Copyright (C) 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2010-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-core.c ./sim/common/dv-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-core.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/dv-core.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-glue.c ./sim/common/dv-glue.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-glue.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/dv-glue.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-pal.c ./sim/common/dv-pal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-pal.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/dv-pal.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-sockser.c ./sim/common/dv-sockser.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-sockser.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/dv-sockser.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Serial port emulation using sockets.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-sockser.h ./sim/common/dv-sockser.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/dv-sockser.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/dv-sockser.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Serial port emulation via sockets.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/genmloop.sh ./sim/common/genmloop.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/genmloop.sh	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/genmloop.sh	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 # Generate the main loop of the simulator.
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 # Contributed by Cygnus Support.
 #
 # This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-alloc.c ./sim/common/hw-alloc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-alloc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-alloc.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Hardware memory allocator.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-alloc.h ./sim/common/hw-alloc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-alloc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-alloc.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Hardware memory allocator.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-base.c ./sim/common/hw-base.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-base.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-base.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-base.h ./sim/common/hw-base.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-base.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-base.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-device.c ./sim/common/hw-device.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-device.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-device.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-device.h ./sim/common/hw-device.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-device.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-device.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-events.c ./sim/common/hw-events.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-events.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-events.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Hardware event manager.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-events.h ./sim/common/hw-events.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-events.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-events.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Hardware event manager.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-handles.c ./sim/common/hw-handles.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-handles.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-handles.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-handles.h ./sim/common/hw-handles.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-handles.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-handles.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-instances.c ./sim/common/hw-instances.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-instances.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-instances.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-instances.h ./sim/common/hw-instances.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-instances.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-instances.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-main.h ./sim/common/hw-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-main.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Common hardware header file.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Andrew Cagney and Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-ports.c ./sim/common/hw-ports.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-ports.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-ports.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Hardware ports.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Andrew Cagney and Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-ports.h ./sim/common/hw-ports.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-ports.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-ports.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* Hardware ports.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Andrew Cagney and Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-properties.c ./sim/common/hw-properties.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-properties.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-properties.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-properties.h ./sim/common/hw-properties.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-properties.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-properties.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-tree.c ./sim/common/hw-tree.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-tree.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-tree.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-tree.h ./sim/common/hw-tree.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/hw-tree.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/hw-tree.h	2015-01-20 02:05:40.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/Make-common.in ./sim/common/Make-common.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/Make-common.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/Make-common.in	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile fragment for common parts of all simulators.
-# Copyright 1997-2014 Free Software Foundation, Inc.
+# Copyright 1997-2015 Free Software Foundation, Inc.
 # Contributed by Cygnus Support.
 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/Makefile.in ./sim/common/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/Makefile.in	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for simulator common directory
-#    Copyright (C) 1996-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1996-2015 Free Software Foundation, Inc.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/nrun.c ./sim/common/nrun.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/nrun.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/nrun.c	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 /* New version of run front end support for simulators.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/run.1 ./sim/common/run.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/run.1	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/run.1	2015-01-20 02:05:41.000000000 +0000
@@ -99,7 +99,7 @@ Using GDB: A Guide to the GNU Source-Lev
 , Richard M. Stallman and Roland H. Pesch.
 
 .SH COPYING
-Copyright (c) 1993-2014 Free Software Foundation, Inc.
+Copyright (c) 1993-2015 Free Software Foundation, Inc.
 .PP
 This document is distributed under the terms of the GNU Free
 Documentation License, version 1.1.  That license is described in the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/run.c ./sim/common/run.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/run.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/run.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* run front end support for all the simulators.
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/run-sim.h ./sim/common/run-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/run-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/run-sim.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
    simaulator program - run - and simulator library - libsim.a - that
    is not used by GDB.  The GDB part is described in include/remote-sim.h.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-abort.c ./sim/common/sim-abort.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-abort.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-abort.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic simulator abort.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-alu.h ./sim/common/sim-alu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-alu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-alu.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-arange.c ./sim/common/sim-arange.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-arange.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-arange.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Address ranges.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-arange.h ./sim/common/sim-arange.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-arange.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-arange.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Address ranges.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-assert.h ./sim/common/sim-assert.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-assert.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-assert.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB.
 
-    Copyright (C) 1997-2014 Free Software Foundation, Inc.
+    Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-base.h ./sim/common/sim-base.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-base.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-base.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator pseudo baseclass.
 
-   Copyright 1997-2014 Free Software Foundation, Inc.
+   Copyright 1997-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-basics.h ./sim/common/sim-basics.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-basics.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-basics.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-bits.c ./sim/common/sim-bits.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-bits.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-bits.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-bits.h ./sim/common/sim-bits.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-bits.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-bits.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-command.c ./sim/common/sim-command.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-command.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-command.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Miscellaneous simulator utilities.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Analog Devices, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-config.c ./sim/common/sim-config.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-config.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-config.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-config.h ./sim/common/sim-config.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-config.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-config.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-core.c ./sim/common/sim-core.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-core.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-core.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-core.h ./sim/common/sim-core.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-core.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-core.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-cpu.c ./sim/common/sim-cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* CPU support.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-cpu.h ./sim/common/sim-cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-cpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* CPU support.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-endian.c ./sim/common/sim-endian.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-endian.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-endian.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-endian.h ./sim/common/sim-endian.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-endian.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-endian.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-engine.c ./sim/common/sim-engine.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-engine.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-engine.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic simulator halt/restart.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-engine.h ./sim/common/sim-engine.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-engine.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-engine.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic simulator halt/resume.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-events.c ./sim/common/sim-events.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-events.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-events.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-events.h ./sim/common/sim-events.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-events.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-events.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-fpu.c ./sim/common/sim-fpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-fpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-fpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
    of the floating point routines in libgcc1.c for targets without
    hardware floating point.  */
 
-/* Copyright 1994-2014 Free Software Foundation, Inc.
+/* Copyright 1994-2015 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-fpu.h ./sim/common/sim-fpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-fpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-fpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator Floating-point support.
 
-   Copyright 1997-2014 Free Software Foundation, Inc.
+   Copyright 1997-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-hload.c ./sim/common/sim-hload.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-hload.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-hload.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic load for hardware simulator models.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-hrw.c ./sim/common/sim-hrw.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-hrw.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-hrw.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic memory read/write for hardware simulator models.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-hw.c ./sim/common/sim-hw.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-hw.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-hw.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator hardware option handling.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support and Andrew Cagney.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-hw.h ./sim/common/sim-hw.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-hw.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-hw.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Device definitions.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-info.c ./sim/common/sim-info.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-info.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-info.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic memory read/write for hardware simulator models.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-inline.c ./sim/common/sim-inline.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-inline.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-inline.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-inline.h ./sim/common/sim-inline.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-inline.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-inline.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-io.c ./sim/common/sim-io.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-io.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-io.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
@@ -391,11 +391,11 @@ sim_io_poll_read (SIM_DESC sd,
 int
 sim_io_stat (SIM_DESC sd, const char *path, struct stat *buf)
 {
-  return STATE_CALLBACK (sd)->stat (STATE_CALLBACK (sd), path, buf);
+  return STATE_CALLBACK (sd)->to_stat (STATE_CALLBACK (sd), path, buf);
 }
 
 int
 sim_io_fstat (SIM_DESC sd, int fd, struct stat *buf)
 {
-  return STATE_CALLBACK (sd)->fstat (STATE_CALLBACK (sd), fd, buf);
+  return STATE_CALLBACK (sd)->to_fstat (STATE_CALLBACK (sd), fd, buf);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-io.h ./sim/common/sim-io.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-io.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-io.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-load.c ./sim/common/sim-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-load.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-load.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Utility to load a file into the simulator.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-memopt.c ./sim/common/sim-memopt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-memopt.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-memopt.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator memory option handling.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-memopt.h ./sim/common/sim-memopt.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-memopt.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-memopt.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header file for simulator memory argument handling.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-model.c ./sim/common/sim-model.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-model.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-model.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Model support.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-model.h ./sim/common/sim-model.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-model.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-model.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Architecture, machine, and model support.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-module.c ./sim/common/sim-module.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-module.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-module.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Module support.
 
-   Copyright 1996-2014 Free Software Foundation, Inc.
+   Copyright 1996-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-module.h ./sim/common/sim-module.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-module.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-module.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Module support.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-n-bits.h ./sim/common/sim-n-bits.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-n-bits.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-n-bits.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-n-core.h ./sim/common/sim-n-core.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-n-core.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-n-core.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-n-endian.h ./sim/common/sim-n-endian.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-n-endian.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-n-endian.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-options.c ./sim/common/sim-options.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-options.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-options.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator option handling.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-options.h ./sim/common/sim-options.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-options.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-options.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Header file for simulator argument handling.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-profile.c ./sim/common/sim-profile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-profile.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-profile.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Default profiling support.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-profile.h ./sim/common/sim-profile.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-profile.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-profile.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Profile header for simulators using common framework.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-reason.c ./sim/common/sim-reason.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-reason.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-reason.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic simulator stop_reason.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-reg.c ./sim/common/sim-reg.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-reg.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-reg.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic register read/write.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-resume.c ./sim/common/sim-resume.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-resume.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-resume.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic simulator resume.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-run.c ./sim/common/sim-run.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-run.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-run.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic simulator run.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-signal.c ./sim/common/sim-signal.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-signal.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-signal.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator signal support
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-signal.h ./sim/common/sim-signal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-signal.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-signal.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator signal support
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-stop.c ./sim/common/sim-stop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-stop.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-stop.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic simulator stop.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-trace.c ./sim/common/sim-trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-trace.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-trace.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator tracing/debugging support.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-trace.h ./sim/common/sim-trace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-trace.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-trace.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator tracing/debugging support.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
@@ -583,6 +583,9 @@ extern void trace_vprintf (SIM_DESC, sim
 /* Non-zero if "--debug-insn" specified.  */
 #define DEBUG_INSN_P(cpu) DEBUG_P (cpu, DEBUG_INSN_IDX)
 
+/* GDB also has a debug_printf, so we shadow ours.  */
+#define debug_printf sim_debug_printf
+
 extern void debug_printf (sim_cpu *, const char *, ...)
      __attribute__((format (printf, 2, 3)));
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-types.h ./sim/common/sim-types.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-types.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-types.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The common simulator framework for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney and Red Hat.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-utils.c ./sim/common/sim-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-utils.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-utils.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Miscellaneous simulator utilities.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-utils.h ./sim/common/sim-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-utils.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-utils.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Miscellaneous simulator utilities.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-watch.c ./sim/common/sim-watch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-watch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-watch.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Generic simulator watchpoint support.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-watch.h ./sim/common/sim-watch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/sim-watch.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/sim-watch.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator watchpoint support.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/syscall.c ./sim/common/syscall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/syscall.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/syscall.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Remote target system call support.
-   Copyright 1997-2014 Free Software Foundation, Inc.
+   Copyright 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
    This file is part of GDB.
@@ -455,7 +455,7 @@ cb_syscall (host_callback *cb, CB_SYSCAL
 	    result = -1;
 	    goto FinishSyscall;
 	  }
-	result = (*cb->stat) (cb, path, &statbuf);
+	result = (*cb->to_stat) (cb, path, &statbuf);
 	free (path);
 	if (result < 0)
 	  goto ErrorFinish;
@@ -488,7 +488,7 @@ cb_syscall (host_callback *cb, CB_SYSCAL
 	struct stat statbuf;
 	TADDR addr = sc->arg2;
 
-	result = (*cb->fstat) (cb, sc->arg1, &statbuf);
+	result = (*cb->to_fstat) (cb, sc->arg1, &statbuf);
 	if (result < 0)
 	  goto ErrorFinish;
 	buflen = cb_host_to_target_stat (cb, NULL, NULL);
@@ -526,7 +526,7 @@ cb_syscall (host_callback *cb, CB_SYSCAL
 	    result = -1;
 	    goto FinishSyscall;
 	  }
-	result = (*cb->lstat) (cb, path, &statbuf);
+	result = (*cb->to_lstat) (cb, path, &statbuf);
 	free (path);
 	if (result < 0)
 	  goto ErrorFinish;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/version.h ./sim/common/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/common/version.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/common/version.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Version information for GDB.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/ChangeLog ./sim/cr16/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cr16/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* interp.c (sim_do_command): Add const to cmd.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/config.in ./sim/cr16/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cr16/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -67,12 +67,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/configure ./sim/cr16/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cr16/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1390,7 +1390,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8774,17 +8774,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12271,7 +12360,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12274 "configure"
+#line 12363 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12377,7 +12466,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12380 "configure"
+#line 12469 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/cr16_sim.h ./sim/cr16/cr16_sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/cr16_sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cr16/cr16_sim.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulation code for the CR16 processor.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/endian.c ./sim/cr16/endian.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/endian.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cr16/endian.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulation code for the CR16 processor.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/gencode.c ./sim/cr16/gencode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/gencode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cr16/gencode.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulation code for the CR16 processor.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/interp.c ./sim/cr16/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/interp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cr16/interp.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulation code for the CR16 processor.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/Makefile.in ./sim/cr16/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cr16/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile template for Configure for the CR16 sim library.
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
 # Contributed by M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/simops.c ./sim/cr16/simops.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cr16/simops.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cr16/simops.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulation code for the CR16 processor.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/arch.c ./sim/cris/arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/arch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/arch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/arch.h ./sim/cris/arch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/arch.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/arch.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/ChangeLog ./sim/cris/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,17 @@
+2014-12-03  Joel Brobecker  <brobecker@adacore.com>
+
+	* traps.c (cris_break_13_handler): Adjust call to "fstat" callback
+	by call to "to_fstat" following renaming in callback.h.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-05  Mike Frysinger  <vapier@gentoo.org>
 
 	* sim-if.c (sim_load): Add const to prog.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/config.in ./sim/cris/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -10,6 +10,9 @@
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
+/* Define if dv-sockser is usable. */
+#undef HAVE_DV_SOCKSER
+
 /* Define to 1 if you have the <errno.h> header file. */
 #undef HAVE_ERRNO_H
 
@@ -85,12 +88,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/configure ./sim/cris/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1402,7 +1402,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8795,17 +8795,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12292,7 +12381,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12295 "configure"
+#line 12384 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12398,7 +12487,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12401 "configure"
+#line 12490 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuall.h ./sim/cris/cpuall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuall.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cpuall.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuv10.c ./sim/cris/cpuv10.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuv10.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cpuv10.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuv10.h ./sim/cris/cpuv10.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuv10.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cpuv10.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuv32.c ./sim/cris/cpuv32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuv32.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cpuv32.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuv32.h ./sim/cris/cpuv32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cpuv32.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cpuv32.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-desc.c ./sim/cris/cris-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cris-desc.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-desc.h ./sim/cris/cris-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cris-desc.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-opc.h ./sim/cris/cris-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cris-opc.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-sim.h ./sim/cris/cris-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cris-sim.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Collection of junk for CRIS.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-tmpl.c ./sim/cris/cris-tmpl.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/cris-tmpl.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/cris-tmpl.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* CRIS base simulator support code
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/crisv10f.c ./sim/cris/crisv10f.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/crisv10f.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/crisv10f.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* CRIS v10 simulator support code
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/crisv32f.c ./sim/cris/crisv32f.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/crisv32f.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/crisv32f.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* CRIS v32 simulator support code
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/decodev10.c ./sim/cris/decodev10.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/decodev10.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/decodev10.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/decodev10.h ./sim/cris/decodev10.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/decodev10.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/decodev10.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/decodev32.c ./sim/cris/decodev32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/decodev32.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/decodev32.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/decodev32.h ./sim/cris/decodev32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/decodev32.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/decodev32.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/devices.c ./sim/cris/devices.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/devices.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/devices.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* CRIS device support
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/dv-cris.c ./sim/cris/dv-cris.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/dv-cris.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/dv-cris.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The CRIS interrupt framework for GDB, the GNU Debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/dv-rv.c ./sim/cris/dv-rv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/dv-rv.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/dv-rv.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /* The remote-virtual-component simulator framework
    for GDB, the GNU Debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/Makefile.in ./sim/cris/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 # Makefile template for Configure for the CRIS simulator, based on a mix
 # of the ones for m32r and i960.
 #
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 # Contributed by Axis Communications.
 #
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/mloop.in ./sim/cris/mloop.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/mloop.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/mloop.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Simulator main loop for CRIS. -*- C -*-
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 # Contributed by Axis Communications.
 #
 # This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/modelv10.c ./sim/cris/modelv10.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/modelv10.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/modelv10.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/modelv32.c ./sim/cris/modelv32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/modelv32.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/modelv32.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/rvdummy.c ./sim/cris/rvdummy.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/rvdummy.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/rvdummy.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /* Test-driver for the remote-virtual-component simulator framework
    for GDB, the GNU Debugger.
 
-   Copyright 2006-2014 Free Software Foundation, Inc.
+   Copyright 2006-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/semcrisv10f-switch.c ./sim/cris/semcrisv10f-switch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/semcrisv10f-switch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/semcrisv10f-switch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/semcrisv32f-switch.c ./sim/cris/semcrisv32f-switch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/semcrisv32f-switch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/semcrisv32f-switch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/sim-if.c ./sim/cris/sim-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/sim-if.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/sim-if.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main simulator entry points specific to the CRIS.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/sim-main.h ./sim/cris/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/sim-main.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main header for the CRIS simulator, based on the m32r header.
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/tconfig.in ./sim/cris/tconfig.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/tconfig.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/tconfig.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* CRIS target configuration file.  -*- C -*-
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/traps.c ./sim/cris/traps.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/cris/traps.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/cris/traps.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* CRIS exception, interrupt, and trap (EIT) support
-   Copyright (C) 2004-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
    Contributed by Axis Communications.
 
 This file is part of the GNU simulators.
@@ -2204,7 +2204,7 @@ cris_break_13_handler (SIM_CPU *current_
 		|| ((events = sim_core_read_unaligned_2 (current_cpu, pc,
 							 0, ufds + 4))
 		    != TARGET_POLLIN)
-		|| ((cb->fstat) (cb, fd, &buf) != 0
+		|| ((cb->to_fstat) (cb, fd, &buf) != 0
 		    || (buf.st_mode & S_IFIFO) == 0)
 		|| current_cpu->thread_data == NULL)
 	      {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/d10v/ChangeLog ./sim/d10v/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/d10v/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/d10v/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* interp.c (sim_do_command): Add const to cmd.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/d10v/config.in ./sim/d10v/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/d10v/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/d10v/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -67,12 +67,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/d10v/configure ./sim/d10v/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/d10v/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/d10v/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1390,7 +1390,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8774,17 +8774,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12271,7 +12360,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12274 "configure"
+#line 12363 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12377,7 +12466,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12380 "configure"
+#line 12469 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/d10v/Makefile.in ./sim/d10v/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/d10v/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/d10v/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the D10v sim library.
-#    Copyright (C) 1996-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1996-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Support.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/erc32/ChangeLog ./sim/erc32/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/erc32/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/erc32/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* interf.c (sim_do_command): Add const to cmd.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/erc32/config.in ./sim/erc32/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/erc32/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/erc32/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -67,12 +67,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/erc32/configure ./sim/erc32/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/erc32/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/erc32/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1389,7 +1389,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8768,17 +8768,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12265,7 +12354,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12268 "configure"
+#line 12357 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12371,7 +12460,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12374 "configure"
+#line 12463 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/erc32/Makefile.in ./sim/erc32/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/erc32/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/erc32/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the erc32sim library.
-#    Copyright (C) 1993-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1993-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Support
 #    Modified by J.Gaisler ESA/ESTEC
 # 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/arch.c ./sim/frv/arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/arch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/arch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/arch.h ./sim/frv/arch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/arch.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/arch.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cache.c ./sim/frv/cache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cache.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/cache.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv cache model.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cache.h ./sim/frv/cache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cache.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/cache.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Cache support for the FRV simulator
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/ChangeLog ./sim/frv/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,19 @@
+2014-08-23  Hans-Peter Nilsson  <hp@axis.com>
+
+	* configure.ac: Default simulator hardware to off again.  Remove
+	dead frv_extra_objs substitution.
+	* configure: Regenerate.
+	* Makefile.in: Remove unused frv_extra_objs.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2013-09-23  Alan Modra  <amodra@gmail.com>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/config.in ./sim/frv/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -10,6 +10,9 @@
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
+/* Define if dv-sockser is usable. */
+#undef HAVE_DV_SOCKSER
+
 /* Define to 1 if you have the <errno.h> header file. */
 #undef HAVE_ERRNO_H
 
@@ -25,6 +28,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
 /* Define to 1 if you have the `nsl' library (-lnsl). */
 #undef HAVE_LIBNSL
 
@@ -70,12 +76,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/configure ./sim/frv/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/configure	2015-01-20 02:05:41.000000000 +0000
@@ -601,7 +601,6 @@ ac_includes_default="\
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 cgen_breaks
-frv_extra_objs
 SIM_DV_SOCKSER_O
 sim_trapdump
 cgen
@@ -1402,7 +1401,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8791,17 +8790,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
 fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12288,7 +12376,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12291 "configure"
+#line 12379 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12394,7 +12482,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12397 "configure"
+#line 12485 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13332,7 +13420,7 @@ fi
 
 
 
-if test x"always" != x"no"; then
+if test x"no" != x"no"; then
   enable_sim_hardware=yes
 else
   enable_sim_hardware=no
@@ -13363,7 +13451,7 @@ case ${enable_sim_hardware} in
 esac
 
 if test "$sim_hw_p" != yes; then
-  if test "always" = "always"; then
+  if test "no" = "always"; then
     as_fn_error "Sorry, but this simulator requires that hardware support
 be enabled. Please configure without --disable-hw-support." "$LINENO" 5
   fi
@@ -13446,8 +13534,6 @@ fi
   esac
 fi
 
-frv_extra_objs="$SIM_DV_SOCKSER_O"
-
 
 
 ac_sources="$sim_link_files"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/configure.ac ./sim/frv/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -28,8 +28,6 @@ if test x"$silent" != x"yes" && test x"$
 fi],[sim_trapdump=""])dnl
 AC_SUBST(sim_trapdump)
 
-SIM_AC_OPTION_HARDWARE(always,"","")
-frv_extra_objs="$SIM_DV_SOCKSER_O"
-AC_SUBST(frv_extra_objs)
+SIM_AC_OPTION_HARDWARE(no,"","")
 
 SIM_AC_OUTPUT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cpuall.h ./sim/frv/cpuall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cpuall.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/cpuall.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cpu.c ./sim/frv/cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cpu.h ./sim/frv/cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/cpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/decode.c ./sim/frv/decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/decode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/decode.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/decode.h ./sim/frv/decode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/decode.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/decode.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/devices.c ./sim/frv/devices.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/devices.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/devices.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv device support
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/frv.c ./sim/frv/frv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/frv.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/frv.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv simulator support code
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/frv-sim.h ./sim/frv/frv-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/frv-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/frv-sim.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* collection of junk waiting time to sort out
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/interrupts.c ./sim/frv/interrupts.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/interrupts.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/interrupts.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv exception and interrupt support
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/Makefile.in ./sim/frv/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile template for Configure for the frv simulator
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 # Contributed by Red Hat.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -32,8 +32,7 @@ SIM_OBJS = \
 	$(FRV_OBJS) \
 	traps.o interrupts.o memory.o cache.o pipeline.o \
 	profile.o profile-fr400.o profile-fr450.o profile-fr500.o profile-fr550.o options.o \
-	devices.o reset.o registers.o \
-	$(frv_extra_objs)
+	devices.o reset.o registers.o
 
 # Extra headers included by sim-main.h.
 SIM_EXTRA_DEPS = \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/memory.c ./sim/frv/memory.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/memory.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/memory.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv memory model.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Red Hat
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/mloop.in ./sim/frv/mloop.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/mloop.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/mloop.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Simulator main loop for frv. -*- C -*-
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 # Contributed by Red Hat.
 #
 # This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/model.c ./sim/frv/model.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/model.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/model.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/options.c ./sim/frv/options.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/options.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/options.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* FRV simulator memory option handling.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/pipeline.c ./sim/frv/pipeline.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/pipeline.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/pipeline.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv vliw model.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile.c ./sim/frv/profile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/profile.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* frv simulator machine independent profiling code.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr400.c ./sim/frv/profile-fr400.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr400.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/profile-fr400.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* frv simulator fr400 dependent profiling code.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Contributed by Red Hat
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr400.h ./sim/frv/profile-fr400.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr400.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/profile-fr400.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Profiling definitions for the fr400 model of the FRV simulator
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr450.c ./sim/frv/profile-fr450.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr450.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/profile-fr450.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* frv simulator fr450 dependent profiling code.
 
-   Copyright (C) 2001-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001-2015 Free Software Foundation, Inc.
    Contributed by Red Hat
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr500.c ./sim/frv/profile-fr500.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr500.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/profile-fr500.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* frv simulator fr500 dependent profiling code.
 
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr500.h ./sim/frv/profile-fr500.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr500.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/profile-fr500.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Profiling definitions for the fr500 model of the FRV simulator
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr550.c ./sim/frv/profile-fr550.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr550.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/profile-fr550.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* frv simulator fr550 dependent profiling code.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
    Contributed by Red Hat
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr550.h ./sim/frv/profile-fr550.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile-fr550.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/profile-fr550.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Profiling definitions for the fr550 model of the FRV simulator
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile.h ./sim/frv/profile.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/profile.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/profile.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Profiling definitions for the FRV simulator
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/registers.c ./sim/frv/registers.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/registers.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/registers.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv simulator support code
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/registers.h ./sim/frv/registers.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/registers.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/registers.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Register definitions for the FRV simulator
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/reset.c ./sim/frv/reset.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/reset.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/reset.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv simulator support code
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/sem.c ./sim/frv/sem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/sem.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/sem.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/sim-if.c ./sim/frv/sim-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/sim-if.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/sim-if.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main simulator entry points specific to the FRV.
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/sim-main.h ./sim/frv/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/sim-main.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv simulator support code
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/traps.c ./sim/frv/traps.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/frv/traps.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/frv/traps.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* frv trap support
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/ChangeLog ./sim/h8300/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/h8300/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,18 @@
+2014-12-03  Joel Brobecker  <brobecker@adacore.com>
+
+	* compile.c (sim_resume):  Adjust calls to "stat" and "fstat"
+	callbacks by calls to "to_stat" and "to_fstat" (resp) callbacks
+	following renaming in callback.h.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-05  Mike Frysinger  <vapier@gentoo.org>
 
 	* compile.c (sim_load): Add const to prog.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/compile.c ./sim/h8300/compile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/compile.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/h8300/compile.c	2015-01-20 02:05:41.000000000 +0000
@@ -3062,7 +3062,8 @@ sim_resume (SIM_DESC sd, int step, int s
 	    stat_ptr = (h8300hmode && !h8300_normal_mode) ? GET_L_REG (1) : GET_W_REG (1);
 
 	    /* Callback stat and return.  */
-	    fstat_return = sim_callback->fstat (sim_callback, fd, &stat_rec);
+	    fstat_return = sim_callback->to_fstat (sim_callback, fd,
+						   &stat_rec);
 
 	    /* Have stat_ptr point to starting of stat_rec.  */
 	    temp_stat_ptr = (char *) (&stat_rec);
@@ -3136,7 +3137,7 @@ sim_resume (SIM_DESC sd, int step, int s
 
 	    /* Callback stat and return.  */
 	    stat_return =
-	      sim_callback->stat (sim_callback, filename, &stat_rec);
+	      sim_callback->to_stat (sim_callback, filename, &stat_rec);
 
 	    /* Have stat_ptr point to starting of stat_rec.  */
 	    temp_stat_ptr = (char *) (&stat_rec);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/config.in ./sim/h8300/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/h8300/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -70,12 +70,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/configure ./sim/h8300/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/h8300/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1387,7 +1387,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8766,17 +8766,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12263,7 +12352,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12266 "configure"
+#line 12355 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12369,7 +12458,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12372 "configure"
+#line 12461 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/Makefile.in ./sim/h8300/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/h8300/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/h8300/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the h8300 sim library.
-#    Copyright (C) 1990-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1990-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Support.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ChangeLog ./sim/igen/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,7 @@
+2014-11-23  Joel Sherrill  <joel.sherrill@oarcorp.com>
+
+	* igen/ld-cache.h, igen/table.h: Change immediatly to immediately.
+
 2014-03-04  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/compare_igen_models ./sim/igen/compare_igen_models
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/compare_igen_models	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/compare_igen_models	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Script to compare functions and instructions used by different igen models.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
 # Contributed by Chris Demetriou of Broadcom Corporation (SiByte).
 #
 # This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/filter.c ./sim/igen/filter.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/filter.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/filter.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/filter.h ./sim/igen/filter.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/filter.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/filter.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/filter_host.c ./sim/igen/filter_host.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/filter_host.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/filter_host.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/filter_host.h ./sim/igen/filter_host.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/filter_host.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/filter_host.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen.c ./sim/igen/gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-engine.c ./sim/igen/gen-engine.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-engine.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-engine.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-engine.h ./sim/igen/gen-engine.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-engine.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-engine.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen.h ./sim/igen/gen.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-icache.c ./sim/igen/gen-icache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-icache.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-icache.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-icache.h ./sim/igen/gen-icache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-icache.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-icache.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-idecode.c ./sim/igen/gen-idecode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-idecode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-idecode.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-idecode.h ./sim/igen/gen-idecode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-idecode.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-idecode.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-itable.c ./sim/igen/gen-itable.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-itable.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-itable.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-itable.h ./sim/igen/gen-itable.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-itable.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-itable.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-model.c ./sim/igen/gen-model.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-model.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-model.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-model.h ./sim/igen/gen-model.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-model.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-model.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-semantics.c ./sim/igen/gen-semantics.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-semantics.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-semantics.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-semantics.h ./sim/igen/gen-semantics.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-semantics.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-semantics.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-support.c ./sim/igen/gen-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-support.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-support.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-support.h ./sim/igen/gen-support.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/gen-support.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/gen-support.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/igen.c ./sim/igen/igen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/igen.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/igen.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/igen.h ./sim/igen/igen.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/igen.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/igen.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-cache.c ./sim/igen/ld-cache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-cache.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/ld-cache.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-cache.h ./sim/igen/ld-cache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-cache.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/ld-cache.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
@@ -30,7 +30,7 @@
 
    The table that follows determines how each field should be treated.
    Importantly it considers the case where the extracted field is to
-   be used immediatly or stored in an instruction cache.
+   be used immediately or stored in an instruction cache.
 
    <type>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-decode.c ./sim/igen/ld-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-decode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/ld-decode.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-decode.h ./sim/igen/ld-decode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-decode.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/ld-decode.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-insn.c ./sim/igen/ld-insn.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-insn.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/ld-insn.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-insn.h ./sim/igen/ld-insn.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/ld-insn.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/ld-insn.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/lf.c ./sim/igen/lf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/lf.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/lf.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/lf.h ./sim/igen/lf.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/lf.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/lf.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/Makefile.in ./sim/igen/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 # The IGEN simulator generator for GDB, the GNU Debugger.
 #
-# Copyright 2002-2014 Free Software Foundation, Inc.
+# Copyright 2002-2015 Free Software Foundation, Inc.
 #
 # Contributed by Andrew Cagney.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/misc.c ./sim/igen/misc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/misc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/misc.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/misc.h ./sim/igen/misc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/misc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/misc.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/table.c ./sim/igen/table.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/table.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/table.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/table.h ./sim/igen/table.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/igen/table.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/igen/table.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* The IGEN simulator generator for GDB, the GNU Debugger.
 
-   Copyright 2002-2014 Free Software Foundation, Inc.
+   Copyright 2002-2015 Free Software Foundation, Inc.
 
    Contributed by Andrew Cagney.
 
@@ -91,7 +91,7 @@ struct _table_include
 
 
 /* Open/read a table file.  Since the file is read once during open
-   (and then closed immediatly) there is no close method. */
+   (and then closed immediately) there is no close method. */
 
 extern table *table_open (const char *file_name);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/arch.c ./sim/iq2000/arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/arch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/arch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/arch.h ./sim/iq2000/arch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/arch.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/arch.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/ChangeLog ./sim/iq2000/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,18 @@
+2014-08-23  Hans-Peter Nilsson  <hp@axis.com>
+
+    	* configure.ac: Default simulator hardware to off again
+	without emitting errors when off or dv-sockser.o unavailable.
+    	* configure: Regenerate.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2013-09-23  Alan Modra  <amodra@gmail.com>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/config.in ./sim/iq2000/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -10,6 +10,9 @@
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
+/* Define if dv-sockser is usable. */
+#undef HAVE_DV_SOCKSER
+
 /* Define to 1 if you have the <errno.h> header file. */
 #undef HAVE_ERRNO_H
 
@@ -25,6 +28,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
 /* Define to 1 if you have the `nsl' library (-lnsl). */
 #undef HAVE_LIBNSL
 
@@ -70,12 +76,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/configure ./sim/iq2000/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1400,7 +1400,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8789,17 +8789,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12286,7 +12375,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12289 "configure"
+#line 12378 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12392,7 +12481,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12395 "configure"
+#line 12484 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13356,7 +13445,7 @@ fi
 
 
 
-if test x"always" != x"no"; then
+if test x"no" != x"no"; then
   enable_sim_hardware=yes
 else
   enable_sim_hardware=no
@@ -13387,7 +13476,7 @@ case ${enable_sim_hardware} in
 esac
 
 if test "$sim_hw_p" != yes; then
-  if test "always" = "always"; then
+  if test "no" = "always"; then
     as_fn_error "Sorry, but this simulator requires that hardware support
 be enabled. Please configure without --disable-hw-support." "$LINENO" 5
   fi
@@ -13471,12 +13560,6 @@ fi
 fi
 
 
-if test -z "$SIM_DV_SOCKSER_O"; then
-	as_fn_error "Sorry, but hardware support in this simulator
-unconditionally relies on dv-sockser.o which is unavailable for your host.
-Please fix this simulator." "$LINENO" 5
-fi
-
 
 ac_sources="$sim_link_files"
 ac_dests="$sim_link_links"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/configure.ac ./sim/iq2000/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -14,12 +14,6 @@ SIM_AC_OPTION_ENVIRONMENT
 SIM_AC_OPTION_INLINE()
 SIM_AC_OPTION_CGEN_MAINT
 
-SIM_AC_OPTION_HARDWARE(always,"","")
-
-if test -z "$SIM_DV_SOCKSER_O"; then
-	AC_MSG_ERROR([Sorry, but hardware support in this simulator
-unconditionally relies on dv-sockser.o which is unavailable for your host.
-Please fix this simulator.])
-fi
+SIM_AC_OPTION_HARDWARE(no,"","")
 
 SIM_AC_OUTPUT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/cpuall.h ./sim/iq2000/cpuall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/cpuall.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/cpuall.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/cpu.c ./sim/iq2000/cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/cpu.h ./sim/iq2000/cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/cpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/decode.c ./sim/iq2000/decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/decode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/decode.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/decode.h ./sim/iq2000/decode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/decode.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/decode.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/iq2000.c ./sim/iq2000/iq2000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/iq2000.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/iq2000.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* IQ2000 simulator support code
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/iq2000-sim.h ./sim/iq2000/iq2000-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/iq2000-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/iq2000-sim.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* collection of junk waiting time to sort out
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/Makefile.in ./sim/iq2000/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile template for Configure for the IQ2000 simulator
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 # Contributed by Cygnus Support.
 #
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/mloop.in ./sim/iq2000/mloop.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/mloop.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/mloop.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Simulator main loop for IQ2000. -*- C -*-
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 # Contributed by Cygnus Solutions.
 #
 # This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/model.c ./sim/iq2000/model.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/model.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/model.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/sem.c ./sim/iq2000/sem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/sem.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/sem.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/sem-switch.c ./sim/iq2000/sem-switch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/sem-switch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/sem-switch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/sim-if.c ./sim/iq2000/sim-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/iq2000/sim-if.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/iq2000/sim-if.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main simulator entry points specific to the IQ2000.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/arch.c ./sim/lm32/arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/arch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/arch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/arch.h ./sim/lm32/arch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/arch.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/arch.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/ChangeLog ./sim/lm32/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2013-12-07  Mike Frysinger  <vapier@gentoo.org>
 
 	* ChangeLog: Remove +x file mode.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/config.in ./sim/lm32/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -10,6 +10,9 @@
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
+/* Define if dv-sockser is usable. */
+#undef HAVE_DV_SOCKSER
+
 /* Define to 1 if you have the <errno.h> header file. */
 #undef HAVE_ERRNO_H
 
@@ -73,12 +76,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/configure ./sim/lm32/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1399,7 +1399,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8787,17 +8787,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12284,7 +12373,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12287 "configure"
+#line 12376 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12390,7 +12479,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12393 "configure"
+#line 12482 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/cpuall.h ./sim/lm32/cpuall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/cpuall.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/cpuall.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/cpu.c ./sim/lm32/cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/cpu.h ./sim/lm32/cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/cpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/decode.c ./sim/lm32/decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/decode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/decode.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/decode.h ./sim/lm32/decode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/decode.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/decode.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/dv-lm32cpu.c ./sim/lm32/dv-lm32cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/dv-lm32cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/dv-lm32cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /*  Lattice Mico32 CPU model.
     Contributed by Jon Beniston <jon@beniston.com>
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/dv-lm32timer.c ./sim/lm32/dv-lm32timer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/dv-lm32timer.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/dv-lm32timer.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /*  Lattice Mico32 timer model.
     Contributed by Jon Beniston <jon@beniston.com>
     
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/dv-lm32uart.c ./sim/lm32/dv-lm32uart.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/dv-lm32uart.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/dv-lm32uart.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /*  Lattice Mico32 UART model.
     Contributed by Jon Beniston <jon@beniston.com>
     
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/lm32.c ./sim/lm32/lm32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/lm32.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/lm32.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /* Lattice Mico32 simulator support code.
    Contributed by Jon Beniston <jon@beniston.com>
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/lm32-sim.h ./sim/lm32/lm32-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/lm32-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/lm32-sim.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Contributed by Jon Beniston <jon@beniston.com>
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/model.c ./sim/lm32/model.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/model.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/model.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/sem.c ./sim/lm32/sem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/sem.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/sem.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/sem-switch.c ./sim/lm32/sem-switch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/sem-switch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/sem-switch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/sim-if.c ./sim/lm32/sim-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/sim-if.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/sim-if.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /* Main simulator entry points specific to Lattice Mico32.
    Contributed by Jon Beniston <jon@beniston.com>
    
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/sim-main.h ./sim/lm32/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/sim-main.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /* Lattice Mico32 simulator support code
    Contributed by Jon Beniston <jon@beniston.com>
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/traps.c ./sim/lm32/traps.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/traps.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/traps.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /* Lattice Mico32 exception and system call support.
    Contributed by Jon Beniston <jon@beniston.com>
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/user.c ./sim/lm32/user.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/lm32/user.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/lm32/user.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /* Semantics for user defined instructions on the Lattice Mico32.
    Contributed by Jon Beniston <jon@beniston.com>
 
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/blinky.S ./sim/m32c/blinky.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/blinky.S	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/blinky.S	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 ;;; blinky.S --- sample program to blink LED's on M32C simulator
 ;;; 
-;;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
 ;;; Contributed by Red Hat, Inc.
 ;;;
 ;;; This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/ChangeLog ./sim/m32c/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* gdb-if.c (sim_do_command): Add const to cmd.  Move args
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/config.in ./sim/m32c/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -82,12 +82,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/configure ./sim/m32c/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1387,7 +1387,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8766,17 +8766,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12263,7 +12352,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12266 "configure"
+#line 12355 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12369,7 +12458,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12372 "configure"
+#line 12461 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/configure.ac ./sim/m32c/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
 dnl Contributed by Red Hat, Inc.
 dnl 
 dnl This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/cpu.h ./sim/m32c/cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/cpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* cpu.h --- declarations for the M32C core.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/gdb-if.c ./sim/m32c/gdb-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/gdb-if.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/gdb-if.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* gdb.c --- sim interface to GDB.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/gloss.S ./sim/m32c/gloss.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/gloss.S	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/gloss.S	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 ;;; gloss.S --- system calls for sample2.x
 ;;; 
-;;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
 ;;; Contributed by Red Hat, Inc.
 ;;;
 ;;; This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/int.c ./sim/m32c/int.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/int.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/int.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* int.c --- M32C interrupt handling.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/int.h ./sim/m32c/int.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/int.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/int.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* int.h --- interface to M32C interrupt handling.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/load.c ./sim/m32c/load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/load.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/load.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* load.c --- loading object files into the M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/load.h ./sim/m32c/load.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/load.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/load.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* load.h --- interface to loading object files into the M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/m32c.opc ./sim/m32c/m32c.opc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/m32c.opc	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/m32c.opc	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* m32c.opc --- semantics for m32c opcodes.		        -*- mode: c -*-
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/main.c ./sim/m32c/main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/main.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/main.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* main.c --- main function for stand-alone M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/Makefile.in ./sim/m32c/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 #### Makefile.in --- Makefile template for the M32C simulator
 
-### Copyright (C) 2005-2014 Free Software Foundation, Inc.
+### Copyright (C) 2005-2015 Free Software Foundation, Inc.
 ### Contributed by Red Hat, Inc.
 ### 
 ### This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/mem.c ./sim/m32c/mem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/mem.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/mem.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* mem.c --- memory for M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/mem.h ./sim/m32c/mem.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/mem.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/mem.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* mem.h --- interface to memory for M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/misc.c ./sim/m32c/misc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/misc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/misc.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* misc.c --- miscellaneous utility functions for M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/misc.h ./sim/m32c/misc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/misc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/misc.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* misc.h --- interface to miscellaneous utility functions for M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/opc2c.c ./sim/m32c/opc2c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/opc2c.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/opc2c.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* opc2c.c --- generate C simulator code from from .opc file
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/r8c.opc ./sim/m32c/r8c.opc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/r8c.opc	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/r8c.opc	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* r8c.opc --- semantics for r8c opcodes.		        -*- mode: c -*-
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/reg.c ./sim/m32c/reg.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/reg.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/reg.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* reg.c --- register set model for M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/safe-fgets.c ./sim/m32c/safe-fgets.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/safe-fgets.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/safe-fgets.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* safe-fgets.c --- like fgets, but allocates its own static buffer.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/safe-fgets.h ./sim/m32c/safe-fgets.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/safe-fgets.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/safe-fgets.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* safe-fgets.h --- interface to safe version of fgets.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/sample2.c ./sim/m32c/sample2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/sample2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/sample2.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* sample2.c --- main source for sample2.x test program for M32C simulator
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/sample.ld ./sim/m32c/sample.ld
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/sample.ld	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/sample.ld	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* sample2.ld --- linker script for sample2.x
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/sample.S ./sim/m32c/sample.S
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/sample.S	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/sample.S	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 ;;; sample.S --- simple test program for M32C simulator
 ;;; 
-;;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
 ;;; Contributed by Red Hat, Inc.
 ;;;
 ;;; This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/srcdest.c ./sim/m32c/srcdest.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/srcdest.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/srcdest.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* srcdest.c --- decoding M32C addressing modes.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/syscalls.c ./sim/m32c/syscalls.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/syscalls.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/syscalls.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* syscalls.c --- implement system calls for the M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/syscalls.h ./sim/m32c/syscalls.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/syscalls.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/syscalls.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* syscalls.h --- interface to syscalls for the M32C sim.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/trace.c ./sim/m32c/trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/trace.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/trace.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* trace.c --- tracing output for the M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/trace.h ./sim/m32c/trace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32c/trace.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32c/trace.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* trace.h --- interface to tracing output for the M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/arch.c ./sim/m32r/arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/arch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/arch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/arch.h ./sim/m32r/arch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/arch.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/arch.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/ChangeLog ./sim/m32r/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,19 @@
+2014-08-23  Hans-Peter Nilsson  <hp@axis.com>
+
+	* configure.ac: Default simulator hardware to off again.  Remove
+	dead m32r_extra_objs substitution.
+	* configure: Regenerate.
+	* Makefile.in: Remove unused m32r_extra_objs.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2013-09-23  Alan Modra  <amodra@gmail.com>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/config.in ./sim/m32r/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -10,6 +10,9 @@
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
+/* Define if dv-sockser is usable. */
+#undef HAVE_DV_SOCKSER
+
 /* Define to 1 if you have the <errno.h> header file. */
 #undef HAVE_ERRNO_H
 
@@ -25,6 +28,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
 /* Define to 1 if you have the `nsl' library (-lnsl). */
 #undef HAVE_LIBNSL
 
@@ -70,12 +76,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/configure ./sim/m32r/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/configure	2015-01-20 02:05:41.000000000 +0000
@@ -601,7 +601,6 @@ ac_includes_default="\
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 cgen_breaks
-m32r_extra_objs
 SIM_DV_SOCKSER_O
 sim_extra_cflags
 traps_obj
@@ -1403,7 +1402,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8792,17 +8791,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
 fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12289,7 +12377,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12292 "configure"
+#line 12380 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12395,7 +12483,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12398 "configure"
+#line 12486 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13372,7 +13460,7 @@ fi
 
 
 
-if test x"yes" != x"no"; then
+if test x"no" != x"no"; then
   enable_sim_hardware=yes
 else
   enable_sim_hardware=no
@@ -13403,7 +13491,7 @@ case ${enable_sim_hardware} in
 esac
 
 if test "$sim_hw_p" != yes; then
-  if test "yes" = "always"; then
+  if test "no" = "always"; then
     as_fn_error "Sorry, but this simulator requires that hardware support
 be enabled. Please configure without --disable-hw-support." "$LINENO" 5
   fi
@@ -13486,8 +13574,6 @@ fi
   esac
 fi
 
-m32r_extra_objs="$SIM_DV_SOCKSER_O"
-
 
 
 ac_sources="$sim_link_files"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/configure.ac ./sim/m32r/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -27,8 +27,6 @@ SIM_AC_OPTION_CGEN_MAINT
 AC_SUBST(traps_obj)
 AC_SUBST(sim_extra_cflags)
 
-SIM_AC_OPTION_HARDWARE(yes,"","")
-m32r_extra_objs="$SIM_DV_SOCKSER_O"
-AC_SUBST(m32r_extra_objs)
+SIM_AC_OPTION_HARDWARE(no,"","")
 
 SIM_AC_OUTPUT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpu2.c ./sim/m32r/cpu2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpu2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/cpu2.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpu2.h ./sim/m32r/cpu2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpu2.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/cpu2.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpuall.h ./sim/m32r/cpuall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpuall.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/cpuall.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpu.c ./sim/m32r/cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpu.h ./sim/m32r/cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/cpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpux.c ./sim/m32r/cpux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpux.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/cpux.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpux.h ./sim/m32r/cpux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/cpux.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/cpux.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decode2.c ./sim/m32r/decode2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decode2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/decode2.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decode2.h ./sim/m32r/decode2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decode2.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/decode2.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decode.c ./sim/m32r/decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/decode.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decode.h ./sim/m32r/decode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decode.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/decode.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decodex.c ./sim/m32r/decodex.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decodex.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/decodex.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decodex.h ./sim/m32r/decodex.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/decodex.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/decodex.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/devices.c ./sim/m32r/devices.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/devices.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/devices.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* m32r device support
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/m32r2.c ./sim/m32r/m32r2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/m32r2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/m32r2.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* m32r2 simulator support code
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/m32r.c ./sim/m32r/m32r.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/m32r.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/m32r.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* m32r simulator support code
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/m32r-sim.h ./sim/m32r/m32r-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/m32r-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/m32r-sim.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* collection of junk waiting time to sort out
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/m32rx.c ./sim/m32r/m32rx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/m32rx.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/m32rx.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* m32rx simulator support code
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/Makefile.in ./sim/m32r/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile template for Configure for the m32r simulator
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 # Contributed by Cygnus Support.
 #
 # This file is part of GDB, the GNU debugger.
@@ -38,8 +38,7 @@ SIM_OBJS = \
 	$(M32RX_OBJS) \
 	$(M32R2_OBJS) \
 	$(TRAPS_OBJ) \
-	devices.o \
-	$(m32r_extra_objs)
+	devices.o
 
 # Extra headers included by sim-main.h.
 SIM_EXTRA_DEPS = \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/mloop2.in ./sim/m32r/mloop2.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/mloop2.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/mloop2.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 # Simulator main loop for m32r2. -*- C -*-
 #
-# Copyright 1996-2014 Free Software Foundation, Inc.
+# Copyright 1996-2015 Free Software Foundation, Inc.
 #
 # This file is part of GDB, the GNU debugger.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/mloop.in ./sim/m32r/mloop.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/mloop.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/mloop.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 # Simulator main loop for m32r. -*- C -*-
 #
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 #
 # This file is part of the GNU Simulators.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/mloopx.in ./sim/m32r/mloopx.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/mloopx.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/mloopx.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 # Simulator main loop for m32rx. -*- C -*-
 #
-# Copyright 1996-2014 Free Software Foundation, Inc.
+# Copyright 1996-2015 Free Software Foundation, Inc.
 #
 # This file is part of the GNU Simulators.
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/model2.c ./sim/m32r/model2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/model2.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/model2.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/model.c ./sim/m32r/model.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/model.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/model.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/modelx.c ./sim/m32r/modelx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/modelx.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/modelx.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/sem2-switch.c ./sim/m32r/sem2-switch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/sem2-switch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/sem2-switch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/sem.c ./sim/m32r/sem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/sem.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/sem.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/sem-switch.c ./sim/m32r/sem-switch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/sem-switch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/sem-switch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/semx-switch.c ./sim/m32r/semx-switch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/semx-switch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/semx-switch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/sim-if.c ./sim/m32r/sim-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/sim-if.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/sim-if.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main simulator entry points specific to the M32R.
-   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+   Copyright (C) 1996-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/traps.c ./sim/m32r/traps.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/traps.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/traps.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* m32r exception, interrupt, and trap (EIT) support
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/traps-linux.c ./sim/m32r/traps-linux.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m32r/traps-linux.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m32r/traps-linux.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* m32r exception, interrupt, and trap (EIT) support
-   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 Free Software Foundation, Inc.
    Contributed by Renesas.
 
    This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/ChangeLog ./sim/m68hc11/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-04  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/config.in ./sim/m68hc11/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -10,6 +10,9 @@
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
+/* Define if dv-sockser is usable. */
+#undef HAVE_DV_SOCKSER
+
 /* Define to 1 if you have the <errno.h> header file. */
 #undef HAVE_ERRNO_H
 
@@ -73,12 +76,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/configure ./sim/m68hc11/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1396,7 +1396,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8785,17 +8785,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12282,7 +12371,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12285 "configure"
+#line 12374 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12388,7 +12477,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12391 "configure"
+#line 12480 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11.c ./sim/m68hc11/dv-m68hc11.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/dv-m68hc11.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /*  dv-m68hc11.c -- CPU 68HC11&68HC12 as a device.
-    Copyright (C) 1999-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2015 Free Software Foundation, Inc.
     Written by Stephane Carrez (stcarrez@nerim.fr)
     (From a driver model Contributed by Cygnus Solutions.)
     
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11eepr.c ./sim/m68hc11/dv-m68hc11eepr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11eepr.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/dv-m68hc11eepr.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /*  dv-m68hc11eepr.c -- Simulation of the 68HC11 Internal EEPROM.
-    Copyright (C) 1999-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2015 Free Software Foundation, Inc.
     Written by Stephane Carrez (stcarrez@nerim.fr)
     (From a driver model Contributed by Cygnus Solutions.)
     
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11sio.c ./sim/m68hc11/dv-m68hc11sio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11sio.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/dv-m68hc11sio.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /*  dv-m68hc11sio.c -- Simulation of the 68HC11 serial device.
-    Copyright (C) 1999-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2015 Free Software Foundation, Inc.
     Written by Stephane Carrez (stcarrez@worldnet.fr)
     (From a driver model Contributed by Cygnus Solutions.)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11spi.c ./sim/m68hc11/dv-m68hc11spi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11spi.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/dv-m68hc11spi.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /*  dv-m68hc11spi.c -- Simulation of the 68HC11 SPI
-    Copyright (C) 2000-2014 Free Software Foundation, Inc.
+    Copyright (C) 2000-2015 Free Software Foundation, Inc.
     Written by Stephane Carrez (stcarrez@nerim.fr)
     (From a driver model Contributed by Cygnus Solutions.)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11tim.c ./sim/m68hc11/dv-m68hc11tim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-m68hc11tim.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/dv-m68hc11tim.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /*  dv-m68hc11tim.c -- Simulation of the 68HC11 timer devices.
-    Copyright (C) 1999-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2015 Free Software Foundation, Inc.
     Written by Stephane Carrez (stcarrez@nerim.fr)
     (From a driver model Contributed by Cygnus Solutions.)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-nvram.c ./sim/m68hc11/dv-nvram.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/dv-nvram.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/dv-nvram.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /*  dv-nvram.c -- Generic driver for a non volatile ram (battery saved)
-    Copyright (C) 1999-2014 Free Software Foundation, Inc.
+    Copyright (C) 1999-2015 Free Software Foundation, Inc.
     Written by Stephane Carrez (stcarrez@worldnet.fr)
     (From a driver model Contributed by Cygnus Solutions.)
     
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/emulos.c ./sim/m68hc11/emulos.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/emulos.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/emulos.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* emulos.c -- Small OS emulation
-   Copyright 1999-2014 Free Software Foundation, Inc.
+   Copyright 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@worldnet.fr)
 
 This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/gencode.c ./sim/m68hc11/gencode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/gencode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/gencode.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* gencode.c -- Motorola 68HC11 & 68HC12 Emulator Generator
-   Copyright 1999-2014 Free Software Foundation, Inc.
+   Copyright 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@nerim.fr)
 
 This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/interp.c ./sim/m68hc11/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/interp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/interp.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* interp.c -- Simulator for Motorola 68HC11/68HC12
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@nerim.fr)
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/interrupts.c ./sim/m68hc11/interrupts.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/interrupts.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/interrupts.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* interrupts.c -- 68HC11 Interrupts Emulation
-   Copyright 1999-2014 Free Software Foundation, Inc.
+   Copyright 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@nerim.fr)
 
 This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/interrupts.h ./sim/m68hc11/interrupts.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/interrupts.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/interrupts.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* interrupts.h -- 68HC11 Interrupts Emulation
-   Copyright 1999-2014 Free Software Foundation, Inc.
+   Copyright 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@worldnet.fr)
 
 This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/m68hc11_sim.c ./sim/m68hc11/m68hc11_sim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/m68hc11_sim.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/m68hc11_sim.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* m6811_cpu.c -- 68HC11&68HC12 CPU Emulation
-   Copyright 1999-2014 Free Software Foundation, Inc.
+   Copyright 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@nerim.fr)
 
 This file is part of GDB, GAS, and the GNU binutils.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/Makefile.in ./sim/m68hc11/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the 68HC11 sim library.
-#    Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1999-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Support.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/sim-main.h ./sim/m68hc11/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/m68hc11/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/m68hc11/sim-main.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* sim-main.h -- Simulator for Motorola 68HC11 & 68HC12
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@nerim.fr)
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/Makefile.in ./sim/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/Makefile.in	2015-01-20 02:05:40.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the sim library.
-#    Copyright (C) 1993-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1993-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Support.
 # 
 # This file is part of BFD, the Binary File Descriptor library.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/ChangeLog ./sim/mcore/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mcore/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* interp.c (sim_do_command): Add const to cmd.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/config.in ./sim/mcore/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mcore/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -67,12 +67,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/configure ./sim/mcore/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mcore/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1387,7 +1387,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8766,17 +8766,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12263,7 +12352,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12266 "configure"
+#line 12355 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12369,7 +12458,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12372 "configure"
+#line 12461 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/interp.c ./sim/mcore/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/interp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mcore/interp.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator for Motorola's MCore processor
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/Makefile.in ./sim/mcore/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mcore/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the MCore sim library.
-#    Copyright (C) 1990-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1990-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Solutions.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/sysdep.h ./sim/mcore/sysdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mcore/sysdep.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mcore/sysdep.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* System includes and definitions used by the Motorola MCore simulator.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/ChangeLog ./sim/microblaze/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/microblaze/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* interp.c (sim_do_command): Add const to cmd.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/config.in ./sim/microblaze/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/microblaze/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -67,12 +67,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/configure ./sim/microblaze/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/microblaze/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1387,7 +1387,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8766,17 +8766,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12263,7 +12352,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12266 "configure"
+#line 12355 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12369,7 +12458,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12372 "configure"
+#line 12461 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/interp.c ./sim/microblaze/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/interp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/microblaze/interp.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator for Xilinx MicroBlaze processor
-   Copyright 2009-2014 Free Software Foundation, Inc.
+   Copyright 2009-2015 Free Software Foundation, Inc.
 
    This file is part of GDB, the GNU debugger.
 
@@ -50,7 +50,7 @@ microblaze_extract_unsigned_integer (uns
 
   if (len > (int) sizeof (unsigned long))
     printf ("That operation is not available on integers of more than "
-	    "%d bytes.", sizeof (unsigned long));
+	    "%ld bytes.", sizeof (unsigned long));
 
   /* Start at the most significant end of the integer, and work towards
      the least significant.  */
@@ -325,7 +325,7 @@ sim_size (int size)
     {
       if (issue_messages)
 	fprintf (stderr,
-		 "Not enough VM for simulation of %d bytes of RAM\n",
+		 "Not enough VM for simulation of %ld bytes of RAM\n",
 		 CPU.msize);
 
       CPU.msize = 1;
@@ -356,7 +356,7 @@ set_initial_gprs ()
   memsize = CPU.msize / (1024 * 1024);
 
   if (issue_messages > 1)
-    fprintf (stderr, "Simulated memory of %d Mbytes (0x0 .. 0x%08x)\n",
+    fprintf (stderr, "Simulated memory of %ld Mbytes (0x0 .. 0x%08lx)\n",
 	     memsize, CPU.msize - 1);
 
   /* Clean out the GPRs */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/Makefile.in ./sim/microblaze/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/microblaze/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the MCore sim library.
-#    Copyright (C) 1990-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1990-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Solutions.
 #
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/microblaze.h ./sim/microblaze/microblaze.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/microblaze.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/microblaze/microblaze.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 #ifndef MICROBLAZE_H
 #define MICROBLAZE_H
 
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
 
    This file is part of the Xilinx MicroBlaze simulator.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/microblaze.isa ./sim/microblaze/microblaze.isa
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/microblaze.isa	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/microblaze/microblaze.isa	2015-01-20 02:05:41.000000000 +0000
@@ -1,4 +1,4 @@
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
 
    This file is part of the Xilinx MicroBlaze simulator.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/sim-main.h ./sim/microblaze/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/microblaze/sim-main.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 #ifndef MICROBLAZE_SIM_MAIN
 #define MICROBLAZE_SIM_MAIN
 
-/* Copyright 2009-2014 Free Software Foundation, Inc.
+/* Copyright 2009-2015 Free Software Foundation, Inc.
 
    This file is part of the Xilinx MicroBlaze simulator.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/sysdep.h ./sim/microblaze/sysdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/microblaze/sysdep.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/microblaze/sysdep.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* System includes and definitions used by the Xilinx MicroBlaze simulator.
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/ChangeLog ./sim/mips/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-04  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/config.in ./sim/mips/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -85,6 +85,9 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/configure ./sim/mips/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1418,7 +1418,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8814,17 +8814,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12311,7 +12400,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12314 "configure"
+#line 12403 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12417,7 +12506,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12420 "configure"
+#line 12509 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/configure.ac ./sim/mips/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -234,7 +234,7 @@ if test ${sim_gen} = MULTI; then
 
   cat << __EOF__ > multi-run.c
 /* Main entry point for MULTI simulators.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/cp1.c ./sim/mips/cp1.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/cp1.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/cp1.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*> cp1.c <*/
 /* MIPS Simulator FPU (CoProcessor 1) support.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Originally created by Cygnus Solutions.  Extensive modifications,
    including paired-single operation support and MIPS-3D support
    contributed by Ed Satterthwaite and Chris Demetriou, of Broadcom
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/cp1.h ./sim/mips/cp1.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/cp1.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/cp1.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*> cp1.h <*/
 /* MIPS Simulator FPU (CoProcessor 1) definitions.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Derived from sim-main.h contributed by Cygnus Solutions,
    modified substantially by Ed Satterthwaite of Broadcom Corporation
    (SiByte).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dsp2.igen ./sim/mips/dsp2.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dsp2.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/dsp2.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 // -*- C -*-
 
 // Simulator definition for the MIPS DSP REV 2 ASE.
-// Copyright (C) 2007-2014 Free Software Foundation, Inc.
+// Copyright (C) 2007-2015 Free Software Foundation, Inc.
 // Contributed by MIPS Technologies, Inc.
 // Written by Chao-ying Fu (fu@mips.com).
 //
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dsp.c ./sim/mips/dsp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dsp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/dsp.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulation code for the MIPS DSP ASE.
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by MIPS Technologies, Inc.  Written by Chao-ying Fu.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dsp.igen ./sim/mips/dsp.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dsp.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/dsp.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 // -*- C -*-
 
 // Simulator definition for the MIPS DSP ASE.
-// Copyright (C) 2005-2014 Free Software Foundation, Inc.
+// Copyright (C) 2005-2015 Free Software Foundation, Inc.
 // Contributed by MIPS Technologies, Inc.  Written by Chao-ying Fu.
 //
 // This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dv-tx3904cpu.c ./sim/mips/dv-tx3904cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dv-tx3904cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/dv-tx3904cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB, the GNU debugger.
     
-    Copyright (C) 1998-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2015 Free Software Foundation, Inc.
     Contributed by Cygnus Solutions.
     
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dv-tx3904irc.c ./sim/mips/dv-tx3904irc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dv-tx3904irc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/dv-tx3904irc.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB, the GNU debugger.
     
-    Copyright (C) 1998-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2015 Free Software Foundation, Inc.
     Contributed by Cygnus Solutions.
     
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dv-tx3904sio.c ./sim/mips/dv-tx3904sio.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dv-tx3904sio.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/dv-tx3904sio.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB, the GNU debugger.
     
-    Copyright (C) 1998-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2015 Free Software Foundation, Inc.
     Contributed by Cygnus Solutions.
     
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dv-tx3904tmr.c ./sim/mips/dv-tx3904tmr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/dv-tx3904tmr.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/dv-tx3904tmr.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB, the GNU debugger.
     
-    Copyright (C) 1998-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2015 Free Software Foundation, Inc.
     Contributed by Cygnus Solutions.
     
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/m16e.igen ./sim/mips/m16e.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/m16e.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/m16e.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 // -*- C -*-
 
 // Simulator definition for the MIPS16e instructions.
-// Copyright (C) 2005-2014 Free Software Foundation, Inc.
+// Copyright (C) 2005-2015 Free Software Foundation, Inc.
 // Contributed by Nigel Stephens (nigel@mips.com) and 
 //                David Ung (davidu@mips.com) of MIPS Technologies.
 //
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/mdmx.c ./sim/mips/mdmx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/mdmx.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/mdmx.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulation code for the MIPS MDMX ASE.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
    Contributed by Ed Satterthwaite and Chris Demetriou, of Broadcom
    Corporation (SiByte).
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/mdmx.igen ./sim/mips/mdmx.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/mdmx.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/mdmx.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 // -*- C -*-
 
 // Simulator definition for the MIPS MDMX ASE.
-// Copyright (C) 2002-2014 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
 // Contributed by Ed Satterthwaite and Chris Demetriou, of Broadcom
 // Corporation (SiByte).
 //
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/mips3264r2.igen ./sim/mips/mips3264r2.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/mips3264r2.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/mips3264r2.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 // -*- C -*-
 
 // Simulator definition for the MIPS 32/64 revision 2 instructions.
-// Copyright (C) 2004-2014 Free Software Foundation, Inc.
+// Copyright (C) 2004-2015 Free Software Foundation, Inc.
 // Contributed by David Ung, of MIPS Technologies.
 //
 // This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/mips3d.igen ./sim/mips/mips3d.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/mips3d.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/mips3d.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 // -*- C -*-
 
 // Simulator definition for the MIPS MIPS-3D ASE.
-// Copyright (C) 2002-2014 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
 // Contributed by Ed Satterthwaite and Chris Demetriou, of Broadcom
 // Corporation (SiByte).
 //
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/sb1.igen ./sim/mips/sb1.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/sb1.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/sb1.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 // -*- C -*-
 
 // Simulator definition for the Broadcom SiByte SB-1 CPU extensions.
-// Copyright (C) 2002-2014 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015 Free Software Foundation, Inc.
 // Contributed by Ed Satterthwaite and Chris Demetriou, of Broadcom
 // Corporation (SiByte).
 //
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/sim-main.h ./sim/mips/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/sim-main.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* MIPS Simulator definition.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/smartmips.igen ./sim/mips/smartmips.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mips/smartmips.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mips/smartmips.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 // -*- C -*-
 //
 // Simulator definition for the SmartMIPS extensions.
-// Copyright (C) 2005-2014 Free Software Foundation, Inc.
+// Copyright (C) 2005-2015 Free Software Foundation, Inc.
 // Contributed by Nigel Stephens (nigel@mips.com) and 
 //                David Ung (davidu@mips.com) of MIPS Technologies.
 //
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/ChangeLog ./sim/mn10300/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-04  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/config.in ./sim/mn10300/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -97,6 +97,9 @@
 /* Define to 1 if you have the <utime.h> header file. */
 #undef HAVE_UTIME_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/configure ./sim/mn10300/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1398,7 +1398,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8790,17 +8790,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12287,7 +12376,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12290 "configure"
+#line 12379 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12393,7 +12482,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12396 "configure"
+#line 12485 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103cpu.c ./sim/mn10300/dv-mn103cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/dv-mn103cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB, the GNU debugger.
     
-    Copyright (C) 1998-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2015 Free Software Foundation, Inc.
     Contributed by Cygnus Solutions.
     
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103int.c ./sim/mn10300/dv-mn103int.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103int.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/dv-mn103int.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB, the GNU debugger.
     
-    Copyright (C) 1998-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2015 Free Software Foundation, Inc.
     Contributed by Cygnus Solutions.
     
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103iop.c ./sim/mn10300/dv-mn103iop.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103iop.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/dv-mn103iop.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB, the GNU debugger.
     
-    Copyright (C) 1998-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2015 Free Software Foundation, Inc.
     Contributed by Cygnus Solutions.
     
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103ser.c ./sim/mn10300/dv-mn103ser.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103ser.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/dv-mn103ser.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB, the GNU debugger.
     
-    Copyright (C) 1998-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2015 Free Software Foundation, Inc.
     Contributed by Cygnus Solutions.
     
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103tim.c ./sim/mn10300/dv-mn103tim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/dv-mn103tim.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/dv-mn103tim.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of the program GDB, the GNU debugger.
     
-    Copyright (C) 1998-2014 Free Software Foundation, Inc.
+    Copyright (C) 1998-2015 Free Software Foundation, Inc.
     Contributed by Cygnus Solutions.
     
     This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/Makefile.in ./sim/mn10300/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the mn10300 sim library.
-#    Copyright (C) 1996-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1996-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Support.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/sim-main.h ./sim/mn10300/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/mn10300/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/mn10300/sim-main.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,7 +1,7 @@
 /*  This file is part of the program psim.
 
     Copyright (C) 1994-1997, Andrew Cagney <cagney@highland.com.au>
-    Copyright (C) 1997-2014 Free Software Foundation, Inc.
+    Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/ChangeLog ./sim/moxie/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/moxie/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,31 @@
+2014-12-27  Anthony Green  <green@moxielogic.com>
+
+	* interp.c (EXTRACT_OFFSET): Define.
+	(sim_resume): ldo/sto instructions now use 16 bit offset instead
+	of 32.  Also swap mul.x/umul.x opcodes (reversed by mistake).
+
+2014-12-25  Anthony Green  <green@moxielogic.com>
+
+	* interp.c (sim_resume): Whitespace changes to align with GDB
+	coding standard.
+
+2014-12-24  Anthony Green  <green@moxielogic.com>
+
+	* interp.c (sim_resume): Add mul.x and umul.x instructions.
+
+2014-12-12  Anthony Green  <green@moxielogic.com>
+
+	* interp.c (sim_resume): Add zex instructions.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-04-02  Anthony Green  <green@moxielogic.com>
 
 	* interp.c (sim_resume): Add new sign-extend instructions.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/config.in ./sim/moxie/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/moxie/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -70,12 +70,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/configure ./sim/moxie/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/moxie/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1393,7 +1393,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8777,17 +8777,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12274,7 +12363,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12277 "configure"
+#line 12366 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12380,7 +12469,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12383 "configure"
+#line 12472 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/interp.c ./sim/moxie/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/interp.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/moxie/interp.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Simulator for the moxie processor
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Anthony Green
 
 This file is part of GDB, the GNU debugger.
@@ -50,6 +50,12 @@ FILE *tracefile;
    + (sim_core_read_aligned_1 (scpu, cia, read_map, addr+2) << 8) \
    + (sim_core_read_aligned_1 (scpu, cia, read_map, addr+3)))
 
+#define EXTRACT_OFFSET(addr)						\
+  (unsigned int)							\
+  (((signed short)							\
+    ((sim_core_read_aligned_1 (scpu, cia, read_map, addr) << 8)		\
+     + (sim_core_read_aligned_1 (scpu, cia, read_map, addr+1))) << 16) >> 16)
+
 unsigned long
 moxie_extract_unsigned_integer (addr, len)
      unsigned char * addr;
@@ -366,6 +372,7 @@ sim_resume (sd, step, siggnal)
 		    int a = (inst >> 8) & 0xf;
 		    unsigned av = cpu.asregs.regs[a];
 		    unsigned v = (inst & 0xff);
+
 		    TRACE("inc");
 		    cpu.asregs.regs[a] = av + v;
 		  }
@@ -375,6 +382,7 @@ sim_resume (sd, step, siggnal)
 		    int a = (inst >> 8) & 0xf;
 		    unsigned av = cpu.asregs.regs[a];
 		    unsigned v = (inst & 0xff);
+
 		    TRACE("dec");
 		    cpu.asregs.regs[a] = av - v;
 		  }
@@ -383,6 +391,7 @@ sim_resume (sd, step, siggnal)
 		  {
 		    int a = (inst >> 8) & 0xf;
 		    unsigned v = (inst & 0xff);
+
 		    TRACE("gsr");
 		    cpu.asregs.regs[a] = cpu.asregs.sregs[v];
 		  }
@@ -391,6 +400,7 @@ sim_resume (sd, step, siggnal)
 		  {
 		    int a = (inst >> 8) & 0xf;
 		    unsigned v = (inst & 0xff);
+
 		    TRACE("ssr");
 		    cpu.asregs.sregs[v] = cpu.asregs.regs[a];
 		  }
@@ -416,6 +426,7 @@ sim_resume (sd, step, siggnal)
 	    case 0x01: /* ldi.l (immediate) */
 	      {
 		int reg = (inst >> 4) & 0xf;
+
 		TRACE("ldi.l");
 		unsigned int val = EXTRACT_WORD(pc+2);
 		cpu.asregs.regs[reg] = val;
@@ -426,6 +437,7 @@ sim_resume (sd, step, siggnal)
 	      {
 		int dest  = (inst >> 4) & 0xf;
 		int src = (inst ) & 0xf;
+
 		TRACE("mov");
 		cpu.asregs.regs[dest] = cpu.asregs.regs[src];
 	      }
@@ -434,6 +446,7 @@ sim_resume (sd, step, siggnal)
  	      {
  		unsigned int fn = EXTRACT_WORD(pc+2);
  		unsigned int sp = cpu.asregs.regs[1];
+
 		TRACE("jsra");
  		/* Save a slot for the static chain.  */
 		sp -= 4;
@@ -479,6 +492,7 @@ sim_resume (sd, step, siggnal)
 		int b = inst & 0xf;
 		unsigned av = cpu.asregs.regs[a];
 		unsigned bv = cpu.asregs.regs[b];
+
 		TRACE("add.l");
 		cpu.asregs.regs[a] = av + bv;
 	      }
@@ -488,6 +502,7 @@ sim_resume (sd, step, siggnal)
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
 		int sp = cpu.asregs.regs[a] - 4;
+
 		TRACE("push");
 		wlat (scpu, opc, sp, cpu.asregs.regs[b]);
 		cpu.asregs.regs[a] = sp;
@@ -498,6 +513,7 @@ sim_resume (sd, step, siggnal)
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
 		int sp = cpu.asregs.regs[a];
+
 		TRACE("pop");
 		cpu.asregs.regs[b] = rlat (scpu, opc, sp);
 		cpu.asregs.regs[a] = sp + 4;
@@ -507,6 +523,7 @@ sim_resume (sd, step, siggnal)
 	      {
 		int reg = (inst >> 4) & 0xf;
 		unsigned int addr = EXTRACT_WORD(pc+2);
+
 		TRACE("lda.l");
 		cpu.asregs.regs[reg] = rlat (scpu, opc, addr);
 		pc += 4;
@@ -516,6 +533,7 @@ sim_resume (sd, step, siggnal)
 	      {
 		int reg = (inst >> 4) & 0xf;
 		unsigned int addr = EXTRACT_WORD(pc+2);
+
 		TRACE("sta.l");
 		wlat (scpu, opc, addr, cpu.asregs.regs[reg]);
 		pc += 4;
@@ -526,6 +544,7 @@ sim_resume (sd, step, siggnal)
 		int src  = inst & 0xf;
 		int dest = (inst >> 4) & 0xf;
 		int xv;
+
 		TRACE("ld.l");
 		xv = cpu.asregs.regs[src];
 		cpu.asregs.regs[dest] = rlat (scpu, opc, xv);
@@ -535,30 +554,33 @@ sim_resume (sd, step, siggnal)
 	      {
 		int dest = (inst >> 4) & 0xf;
 		int val  = inst & 0xf;
+
 		TRACE("st.l");
 		wlat (scpu, opc, cpu.asregs.regs[dest], cpu.asregs.regs[val]);
 	      }
 	      break;
 	    case 0x0c: /* ldo.l */
 	      {
-		unsigned int addr = EXTRACT_WORD(pc+2);
+		unsigned int addr = EXTRACT_OFFSET(pc+2);
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
+
 		TRACE("ldo.l");
 		addr += cpu.asregs.regs[b];
 		cpu.asregs.regs[a] = rlat (scpu, opc, addr);
-		pc += 4;
+		pc += 2;
 	      }
 	      break;
 	    case 0x0d: /* sto.l */
 	      {
-		unsigned int addr = EXTRACT_WORD(pc+2);
+		unsigned int addr = EXTRACT_OFFSET(pc+2);
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
+
 		TRACE("sto.l");
 		addr += cpu.asregs.regs[a];
 		wlat (scpu, opc, addr, cpu.asregs.regs[b]);
-		pc += 4;
+		pc += 2;
 	      }
 	      break;
 	    case 0x0e: /* cmp */
@@ -570,7 +592,6 @@ sim_resume (sd, step, siggnal)
 		int vb = cpu.asregs.regs[b]; 
 
 		TRACE("cmp");
-
 		if (va == vb)
 		  cc = CC_EQ;
 		else
@@ -591,6 +612,7 @@ sim_resume (sd, step, siggnal)
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
 		signed char bv = cpu.asregs.regs[b];
+
 		TRACE("sex.b");
 		cpu.asregs.regs[a] = (int) bv;
 	      }
@@ -600,14 +622,57 @@ sim_resume (sd, step, siggnal)
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
 		signed short bv = cpu.asregs.regs[b];
+
 		TRACE("sex.s");
 		cpu.asregs.regs[a] = (int) bv;
 	      }
 	      break;
-	    case 0x12: /* bad */
-	    case 0x13: /* bad */
-	    case 0x14: /* bad */
-	    case 0x15: /* bad */
+	    case 0x12: /* zex.b */
+	      {
+		int a = (inst >> 4) & 0xf;
+		int b = inst & 0xf;
+		signed char bv = cpu.asregs.regs[b];
+
+		TRACE("zex.b");
+		cpu.asregs.regs[a] = (int) bv & 0xff;
+	      }
+	      break;
+	    case 0x13: /* zex.s */
+	      {
+		int a = (inst >> 4) & 0xf;
+		int b = inst & 0xf;
+		signed short bv = cpu.asregs.regs[b];
+
+		TRACE("zex.s");
+		cpu.asregs.regs[a] = (int) bv & 0xffff;
+	      }
+	      break;
+	    case 0x14: /* umul.x */
+	      {
+		int a = (inst >> 4) & 0xf;
+		int b = inst & 0xf;
+		unsigned av = cpu.asregs.regs[a];
+		unsigned bv = cpu.asregs.regs[b];
+		unsigned long long r = 
+		  (unsigned long long) av * (unsigned long long) bv;
+
+		TRACE("umul.x");
+		cpu.asregs.regs[a] = r >> 32;
+	      }
+	      break;
+	    case 0x15: /* mul.x */
+	      {
+		int a = (inst >> 4) & 0xf;
+		int b = inst & 0xf;
+		unsigned av = cpu.asregs.regs[a];
+		unsigned bv = cpu.asregs.regs[b];
+		signed long long r = 
+		  (signed long long) av * (signed long long) bv;
+
+		TRACE("mul.x");
+		cpu.asregs.regs[a] = r >> 32;
+	      }
+	      break;
 	    case 0x16: /* bad */
 	    case 0x17: /* bad */
 	    case 0x18: /* bad */
@@ -644,6 +709,7 @@ sim_resume (sd, step, siggnal)
 	    case 0x1a: /* jmpa */
 	      {
 		unsigned int tgt = EXTRACT_WORD(pc+2);
+
 		TRACE("jmpa");
 		pc = tgt - 2;
 	      }
@@ -651,8 +717,8 @@ sim_resume (sd, step, siggnal)
 	    case 0x1b: /* ldi.b (immediate) */
 	      {
 		int reg = (inst >> 4) & 0xf;
-
 		unsigned int val = EXTRACT_WORD(pc+2);
+
 		TRACE("ldi.b");
 		cpu.asregs.regs[reg] = val;
 		pc += 4;
@@ -663,6 +729,7 @@ sim_resume (sd, step, siggnal)
 		int src  = inst & 0xf;
 		int dest = (inst >> 4) & 0xf;
 		int xv;
+
 		TRACE("ld.b");
 		xv = cpu.asregs.regs[src];
 		cpu.asregs.regs[dest] = rbat (scpu, opc, xv);
@@ -672,6 +739,7 @@ sim_resume (sd, step, siggnal)
 	      {
 		int reg = (inst >> 4) & 0xf;
 		unsigned int addr = EXTRACT_WORD(pc+2);
+
 		TRACE("lda.b");
 		cpu.asregs.regs[reg] = rbat (scpu, opc, addr);
 		pc += 4;
@@ -681,6 +749,7 @@ sim_resume (sd, step, siggnal)
 	      {
 		int dest = (inst >> 4) & 0xf;
 		int val  = inst & 0xf;
+
 		TRACE("st.b");
 		wbat (scpu, opc, cpu.asregs.regs[dest], cpu.asregs.regs[val]);
 	      }
@@ -689,6 +758,7 @@ sim_resume (sd, step, siggnal)
 	      {
 		int reg = (inst >> 4) & 0xf;
 		unsigned int addr = EXTRACT_WORD(pc+2);
+
 		TRACE("sta.b");
 		wbat (scpu, opc, addr, cpu.asregs.regs[reg]);
 		pc += 4;
@@ -699,6 +769,7 @@ sim_resume (sd, step, siggnal)
 		int reg = (inst >> 4) & 0xf;
 
 		unsigned int val = EXTRACT_WORD(pc+2);
+
 		TRACE("ldi.s");
 		cpu.asregs.regs[reg] = val;
 		pc += 4;
@@ -709,6 +780,7 @@ sim_resume (sd, step, siggnal)
 		int src  = inst & 0xf;
 		int dest = (inst >> 4) & 0xf;
 		int xv;
+
 		TRACE("ld.s");
 		xv = cpu.asregs.regs[src];
 		cpu.asregs.regs[dest] = rsat (scpu, opc, xv);
@@ -718,6 +790,7 @@ sim_resume (sd, step, siggnal)
 	      {
 		int reg = (inst >> 4) & 0xf;
 		unsigned int addr = EXTRACT_WORD(pc+2);
+
 		TRACE("lda.s");
 		cpu.asregs.regs[reg] = rsat (scpu, opc, addr);
 		pc += 4;
@@ -727,6 +800,7 @@ sim_resume (sd, step, siggnal)
 	      {
 		int dest = (inst >> 4) & 0xf;
 		int val  = inst & 0xf;
+
 		TRACE("st.s");
 		wsat (scpu, opc, cpu.asregs.regs[dest], cpu.asregs.regs[val]);
 	      }
@@ -735,6 +809,7 @@ sim_resume (sd, step, siggnal)
 	      {
 		int reg = (inst >> 4) & 0xf;
 		unsigned int addr = EXTRACT_WORD(pc+2);
+
 		TRACE("sta.s");
 		wsat (scpu, opc, addr, cpu.asregs.regs[reg]);
 		pc += 4;
@@ -743,6 +818,7 @@ sim_resume (sd, step, siggnal)
 	    case 0x25: /* jmp */
 	      {
 		int reg = (inst >> 4) & 0xf;
+
 		TRACE("jmp");
 		pc = cpu.asregs.regs[reg] - 2;
 	      }
@@ -752,6 +828,7 @@ sim_resume (sd, step, siggnal)
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
 		int av, bv;
+
 		TRACE("and");
 		av = cpu.asregs.regs[a];
 		bv = cpu.asregs.regs[b];
@@ -764,6 +841,7 @@ sim_resume (sd, step, siggnal)
 		int b = inst & 0xf;
 		int av = cpu.asregs.regs[a];
 		int bv = cpu.asregs.regs[b];
+
 		TRACE("lshr");
 		cpu.asregs.regs[a] = (unsigned) ((unsigned) av >> bv);
 	      }
@@ -774,6 +852,7 @@ sim_resume (sd, step, siggnal)
 		int b = inst & 0xf;
 		int av = cpu.asregs.regs[a];
 		int bv = cpu.asregs.regs[b];
+
 		TRACE("ashl");
 		cpu.asregs.regs[a] = av << bv;
 	      }
@@ -784,6 +863,7 @@ sim_resume (sd, step, siggnal)
 		int b = inst & 0xf;
 		unsigned av = cpu.asregs.regs[a];
 		unsigned bv = cpu.asregs.regs[b];
+
 		TRACE("sub.l");
 		cpu.asregs.regs[a] = av - bv;
 	      }
@@ -793,6 +873,7 @@ sim_resume (sd, step, siggnal)
 		int a  = (inst >> 4) & 0xf;
 		int b  = inst & 0xf;
 		int bv = cpu.asregs.regs[b];
+
 		TRACE("neg");
 		cpu.asregs.regs[a] = - bv;
 	      }
@@ -802,6 +883,7 @@ sim_resume (sd, step, siggnal)
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
 		int av, bv;
+
 		TRACE("or");
 		av = cpu.asregs.regs[a];
 		bv = cpu.asregs.regs[b];
@@ -813,6 +895,7 @@ sim_resume (sd, step, siggnal)
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
 		int bv = cpu.asregs.regs[b];
+
 		TRACE("not");
 		cpu.asregs.regs[a] = 0xffffffff ^ bv;
 	      }
@@ -823,6 +906,7 @@ sim_resume (sd, step, siggnal)
 		int b  = inst & 0xf;
 		int av = cpu.asregs.regs[a];
 		int bv = cpu.asregs.regs[b];
+
 		TRACE("ashr");
 		cpu.asregs.regs[a] = av >> bv;
 	      }
@@ -832,6 +916,7 @@ sim_resume (sd, step, siggnal)
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
 		int av, bv;
+
 		TRACE("xor");
 		av = cpu.asregs.regs[a];
 		bv = cpu.asregs.regs[b];
@@ -844,6 +929,7 @@ sim_resume (sd, step, siggnal)
 		int b = inst & 0xf;
 		unsigned av = cpu.asregs.regs[a];
 		unsigned bv = cpu.asregs.regs[b];
+
 		TRACE("mul.l");
 		cpu.asregs.regs[a] = av * bv;
 	      }
@@ -851,6 +937,7 @@ sim_resume (sd, step, siggnal)
 	    case 0x30: /* swi */
 	      {
 		unsigned int inum = EXTRACT_WORD(pc+2);
+
 		TRACE("swi");
 		/* Set the special registers appropriately.  */
 		cpu.asregs.sregs[2] = 3; /* MOXIE_EX_SWI */
@@ -931,6 +1018,7 @@ sim_resume (sd, step, siggnal)
 		int b = inst & 0xf;
 		int av = cpu.asregs.regs[a];
 		int bv = cpu.asregs.regs[b];
+
 		TRACE("div.l");
 		cpu.asregs.regs[a] = av / bv;
 	      }
@@ -941,6 +1029,7 @@ sim_resume (sd, step, siggnal)
 		int b = inst & 0xf;
 		unsigned int av = cpu.asregs.regs[a];
 		unsigned int bv = cpu.asregs.regs[b];
+
 		TRACE("udiv.l");
 		cpu.asregs.regs[a] = (av / bv);
 	      }
@@ -951,6 +1040,7 @@ sim_resume (sd, step, siggnal)
 		int b = inst & 0xf;
 		int av = cpu.asregs.regs[a];
 		int bv = cpu.asregs.regs[b];
+
 		TRACE("mod.l");
 		cpu.asregs.regs[a] = av % bv;
 	      }
@@ -961,6 +1051,7 @@ sim_resume (sd, step, siggnal)
 		int b = inst & 0xf;
 		unsigned int av = cpu.asregs.regs[a];
 		unsigned int bv = cpu.asregs.regs[b];
+
 		TRACE("umod.l");
 		cpu.asregs.regs[a] = (av % bv);
 	      }
@@ -972,46 +1063,50 @@ sim_resume (sd, step, siggnal)
 	      break;
 	    case 0x36: /* ldo.b */
 	      {
-		unsigned int addr = EXTRACT_WORD(pc+2);
+		unsigned int addr = EXTRACT_OFFSET(pc+2);
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
+
 		TRACE("ldo.b");
 		addr += cpu.asregs.regs[b];
 		cpu.asregs.regs[a] = rbat (scpu, opc, addr);
-		pc += 4;
+		pc += 2;
 	      }
 	      break;
 	    case 0x37: /* sto.b */
 	      {
-		unsigned int addr = EXTRACT_WORD(pc+2);
+		unsigned int addr = EXTRACT_OFFSET(pc+2);
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
+
 		TRACE("sto.b");
 		addr += cpu.asregs.regs[a];
 		wbat (scpu, opc, addr, cpu.asregs.regs[b]);
-		pc += 4;
+		pc += 2;
 	      }
 	      break;
 	    case 0x38: /* ldo.s */
 	      {
-		unsigned int addr = EXTRACT_WORD(pc+2);
+		unsigned int addr = EXTRACT_OFFSET(pc+2);
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
+
 		TRACE("ldo.s");
 		addr += cpu.asregs.regs[b];
 		cpu.asregs.regs[a] = rsat (scpu, opc, addr);
-		pc += 4;
+		pc += 2;
 	      }
 	      break;
 	    case 0x39: /* sto.s */
 	      {
-		unsigned int addr = EXTRACT_WORD(pc+2);
+		unsigned int addr = EXTRACT_OFFSET(pc+2);
 		int a = (inst >> 4) & 0xf;
 		int b = inst & 0xf;
+
 		TRACE("sto.s");
 		addr += cpu.asregs.regs[a];
 		wsat (scpu, opc, addr, cpu.asregs.regs[b]);
-		pc += 4;
+		pc += 2;
 	      }
 	      break;
 	    default:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/Makefile.in ./sim/moxie/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/moxie/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the moxie sim library.
-#    Copyright (C) 2008-2014 Free Software Foundation, Inc.
+#    Copyright (C) 2008-2015 Free Software Foundation, Inc.
 #    Written by Anthony Green
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/sim-main.h ./sim/moxie/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/moxie/sim-main.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Moxie Simulator definition.
-   Copyright (C) 2009-2014 Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by Anthony Green <green@moxielogic.com>
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/sysdep.h ./sim/moxie/sysdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/moxie/sysdep.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/moxie/sysdep.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* System includes and definitions used by the moxie simulator.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Anthony Green
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/ChangeLog ./sim/msp430/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,20 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-19  Nick Clifton  <nickc@redhat.com>
+
+	* msp430-sim.c: Move static hardware multiply support variables
+	from here...
+	* msp430-sim.h (msp430_cpu_state): ... into here ...
+	* msp430-sim.c (get_op, put_op): ... and update references to use
+	the msp430_cpu_state structure.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-06-03  Nick Clifton  <nickc@redhat.com>
 
 	* msp430-sim.c (get_op): Handle reads of low result register when
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/config.in ./sim/msp430/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -16,6 +16,9 @@
 /* Define to 1 if you have the <fpu_control.h> header file. */
 #undef HAVE_FPU_CONTROL_H
 
+/* Define to 1 if you have the <getopt.h> header file. */
+#undef HAVE_GETOPT_H
+
 /* Define to 1 if you have the `getrusage' function. */
 #undef HAVE_GETRUSAGE
 
@@ -67,9 +70,22 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
+/* Define to 1 if you have the <zlib.h> header file. */
+#undef HAVE_ZLIB_H
+
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
+/* Name of this package. */
+#undef PACKAGE
+
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT
 
@@ -82,11 +98,52 @@
 /* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
+/* Additional package description */
+#undef PKGVERSION
+
+/* Bug reporting address */
+#undef REPORT_BUGS_TO
+
 /* Define as the return type of signal handlers (`int' or `void'). */
 #undef RETSIGTYPE
 
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/configure ./sim/msp430/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1389,7 +1389,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8770,17 +8770,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12267,7 +12356,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12270 "configure"
+#line 12359 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12373,7 +12462,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12376 "configure"
+#line 12465 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/configure.ac ./sim/msp430/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
 dnl Contributed by Red Hat, Inc.
 dnl 
 dnl This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/Makefile.in ./sim/msp430/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the MSP430 sim library.
-#    Copyright 2012-2014 Free Software Foundation, Inc.
+#    Copyright 2012-2015 Free Software Foundation, Inc.
 #    Written by Red Hat Inc.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/msp430-sim.c ./sim/msp430/msp430-sim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/msp430-sim.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/msp430-sim.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator for TI MSP430 and MSP430X
 
-   Copyright (C) 2013-2014 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
    Contributed by Red Hat.
    Based on sim/bfin/bfin-sim.c which was contributed by Analog Devices, Inc.
 
@@ -317,18 +317,6 @@ trace_reg_get (SIM_DESC sd, int n)
 #define REG_GET(N)   trace_reg_get (sd, N)
 
 /* Hardware multiply (and accumulate) support.  */
-static enum { UNSIGN_32, SIGN_32, UNSIGN_MAC_32, SIGN_MAC_32 } hwmult_type;
-static unsigned32 hwmult_op1;
-static unsigned32 hwmult_op2;
-static unsigned32 hwmult_result;
-static   signed32 hwmult_signed_result;
-static unsigned32 hwmult_accumulator;
-static   signed32 hwmult_signed_accumulator;
-
-static enum { UNSIGN_64, SIGN_64 } hw32mult_type;
-static unsigned64 hw32mult_op1;
-static unsigned64 hw32mult_op2;
-static unsigned64 hw32mult_result;
 
 static unsigned int
 zero_ext (unsigned int v, unsigned int bits)
@@ -413,65 +401,69 @@ get_op (SIM_DESC sd, MSP430_Opcode_Decod
 	  switch (addr)
 	    {
 	    case 0x13A:
-	      switch (hwmult_type)
+	      switch (HWMULT (sd, hwmult_type))
 		{
 		case UNSIGN_MAC_32:
-		case UNSIGN_32:     rv = zero_ext (hwmult_result, 16); break;
+		case UNSIGN_32:
+		  rv = zero_ext (HWMULT (sd, hwmult_result), 16);
+		  break;
 		case SIGN_MAC_32: 
-		case SIGN_32:       rv = sign_ext (hwmult_signed_result, 16); break;
+		case SIGN_32:
+		  rv = sign_ext (HWMULT (sd, hwmult_signed_result), 16);
+		  break;
 		}
 	      break;
 
 	    case 0x13C:
-	      switch (hwmult_type)
+	      switch (HWMULT (sd, hwmult_type))
 		{
 		case UNSIGN_MAC_32:
 		case UNSIGN_32:
-		  rv = zero_ext (hwmult_result >> 16, 16);
+		  rv = zero_ext (HWMULT (sd, hwmult_result) >> 16, 16);
 		  break;
 
 		case SIGN_MAC_32:
 		case SIGN_32:
-		  rv = sign_ext (hwmult_signed_result >> 16, 16);
+		  rv = sign_ext (HWMULT (sd, hwmult_signed_result) >> 16, 16);
 		  break;
 		}
 	      break;
 
 	    case 0x13E:
-	      switch (hwmult_type)
+	      switch (HWMULT (sd, hwmult_type))
 		{
 		case UNSIGN_32:
 		  rv = 0;
 		  break;
 		case SIGN_32:
-		  rv = hwmult_signed_result < 0 ? -1 : 0;
+		  rv = HWMULT (sd, hwmult_signed_result) < 0 ? -1 : 0;
 		  break;
 		case UNSIGN_MAC_32:
 		  rv = 0; /* FIXME: Should be carry of last accumulate.  */
 		  break;
 		case SIGN_MAC_32:
-		  rv = hwmult_signed_accumulator < 0 ? -1 : 0;
+		  rv = HWMULT (sd, hwmult_signed_accumulator) < 0 ? -1 : 0;
 		  break;
 		}
 	      break;
 
 	    case 0x154:
-	      rv = zero_ext (hw32mult_result, 16);
+	      rv = zero_ext (HWMULT (sd, hw32mult_result), 16);
 	      break;
 
 	    case 0x156:
-	      rv = zero_ext (hw32mult_result >> 16, 16);
+	      rv = zero_ext (HWMULT (sd, hw32mult_result) >> 16, 16);
 	      break;
 
 	    case 0x158:
-	      rv = zero_ext (hw32mult_result >> 32, 16);
+	      rv = zero_ext (HWMULT (sd, hw32mult_result) >> 32, 16);
 	      break;
 
 	    case 0x15A:
-	      switch (hw32mult_type)
+	      switch (HWMULT (sd, hw32mult_type))
 		{
-		case UNSIGN_64: rv = zero_ext (hw32mult_result >> 48, 16); break;
-		case   SIGN_64: rv = sign_ext (hw32mult_result >> 48, 16); break;
+		case UNSIGN_64: rv = zero_ext (HWMULT (sd, hw32mult_result) >> 48, 16); break;
+		case   SIGN_64: rv = sign_ext (HWMULT (sd, hw32mult_result) >> 48, 16); break;
 		}
 	      break;
 
@@ -582,77 +574,91 @@ put_op (SIM_DESC sd, MSP430_Opcode_Decod
 
 	  switch (addr)
 	    {
-	    case 0x130: hwmult_op1 = val; hwmult_type = UNSIGN_32; break;
-	    case 0x132: hwmult_op1 = val; hwmult_type = SIGN_32; break;
-	    case 0x134: hwmult_op1 = val; hwmult_type = UNSIGN_MAC_32; break;
-	    case 0x136: hwmult_op1 = val; hwmult_type = SIGN_MAC_32; break;
+	    case 0x130: HWMULT (sd, hwmult_op1) = val; HWMULT (sd, hwmult_type) = UNSIGN_32; break;
+	    case 0x132: HWMULT (sd, hwmult_op1) = val; HWMULT (sd, hwmult_type) = SIGN_32; break;
+	    case 0x134: HWMULT (sd, hwmult_op1) = val; HWMULT (sd, hwmult_type) = UNSIGN_MAC_32; break;
+	    case 0x136: HWMULT (sd, hwmult_op1) = val; HWMULT (sd, hwmult_type) = SIGN_MAC_32; break;
 
-	    case 0x138: hwmult_op2 = val;
-	      switch (hwmult_type)
+	    case 0x138: HWMULT (sd, hwmult_op2) = val;
+	      switch (HWMULT (sd, hwmult_type))
 		{
 		case UNSIGN_32:
-		  hwmult_result = hwmult_op1 * hwmult_op2;
-		  hwmult_signed_result = (signed) hwmult_result;
-		  hwmult_accumulator = hwmult_signed_accumulator = 0;
+		  HWMULT (sd, hwmult_result) = HWMULT (sd, hwmult_op1) * HWMULT (sd, hwmult_op2);
+		  HWMULT (sd, hwmult_signed_result) = (signed) HWMULT (sd, hwmult_result);
+		  HWMULT (sd, hwmult_accumulator) = HWMULT (sd, hwmult_signed_accumulator) = 0;
 		  break;
 
 		case SIGN_32:
-		  a = sign_ext (hwmult_op1, 16);
-		  b = sign_ext (hwmult_op2, 16);
-		  hwmult_signed_result = a * b;
-		  hwmult_result = (unsigned) hwmult_signed_result;
-		  hwmult_accumulator = hwmult_signed_accumulator = 0;
+		  a = sign_ext (HWMULT (sd, hwmult_op1), 16);
+		  b = sign_ext (HWMULT (sd, hwmult_op2), 16);
+		  HWMULT (sd, hwmult_signed_result) = a * b;
+		  HWMULT (sd, hwmult_result) = (unsigned) HWMULT (sd, hwmult_signed_result);
+		  HWMULT (sd, hwmult_accumulator) = HWMULT (sd, hwmult_signed_accumulator) = 0;
 		  break;
 
 		case UNSIGN_MAC_32:
-		  hwmult_accumulator += hwmult_op1 * hwmult_op2;
-		  hwmult_signed_accumulator += hwmult_op1 * hwmult_op2;
-		  hwmult_result = hwmult_accumulator;
-		  hwmult_signed_result = hwmult_signed_accumulator;
+		  HWMULT (sd, hwmult_accumulator) += HWMULT (sd, hwmult_op1) * HWMULT (sd, hwmult_op2);
+		  HWMULT (sd, hwmult_signed_accumulator) += HWMULT (sd, hwmult_op1) * HWMULT (sd, hwmult_op2);
+		  HWMULT (sd, hwmult_result) = HWMULT (sd, hwmult_accumulator);
+		  HWMULT (sd, hwmult_signed_result) = HWMULT (sd, hwmult_signed_accumulator);
 		  break;
 
 		case SIGN_MAC_32:
-		  a = sign_ext (hwmult_op1, 16);
-		  b = sign_ext (hwmult_op2, 16);
-		  hwmult_accumulator += a * b;
-		  hwmult_signed_accumulator += a * b;
-		  hwmult_result = hwmult_accumulator;
-		  hwmult_signed_result = hwmult_signed_accumulator;
+		  a = sign_ext (HWMULT (sd, hwmult_op1), 16);
+		  b = sign_ext (HWMULT (sd, hwmult_op2), 16);
+		  HWMULT (sd, hwmult_accumulator) += a * b;
+		  HWMULT (sd, hwmult_signed_accumulator) += a * b;
+		  HWMULT (sd, hwmult_result) = HWMULT (sd, hwmult_accumulator);
+		  HWMULT (sd, hwmult_signed_result) = HWMULT (sd, hwmult_signed_accumulator);
 		  break;
 		}
 	      break;
 
 	    case 0x13a:
 	      /* Copy into LOW result...  */
-	      switch (hwmult_type)
+	      switch (HWMULT (sd, hwmult_type))
 		{
 		case UNSIGN_MAC_32:
 		case UNSIGN_32:
-		  hwmult_accumulator = hwmult_result = zero_ext (val, 16);
-		  hwmult_signed_accumulator = sign_ext (val, 16);
+		  HWMULT (sd, hwmult_accumulator) = HWMULT (sd, hwmult_result) = zero_ext (val, 16);
+		  HWMULT (sd, hwmult_signed_accumulator) = sign_ext (val, 16);
 		  break;
 		case SIGN_MAC_32:
 		case SIGN_32:
-		  hwmult_signed_accumulator = hwmult_result = sign_ext (val, 16);
-		  hwmult_accumulator = zero_ext (val, 16);
+		  HWMULT (sd, hwmult_signed_accumulator) = HWMULT (sd, hwmult_result) = sign_ext (val, 16);
+		  HWMULT (sd, hwmult_accumulator) = zero_ext (val, 16);
 		  break;
 		}
 	      break;
 		
-	    case 0x140: hw32mult_op1 = val; hw32mult_type = UNSIGN_64; break;
-	    case 0x142: hw32mult_op1 = (hw32mult_op1 & 0xFFFF) | (val << 16); break;
-	    case 0x144: hw32mult_op1 = val; hw32mult_type = SIGN_64; break;
-	    case 0x146: hw32mult_op1 = (hw32mult_op1 & 0xFFFF) | (val << 16); break;
-	    case 0x150: hw32mult_op2 = val; break;
+	    case 0x140:
+	      HWMULT (sd, hw32mult_op1) = val;
+	      HWMULT (sd, hw32mult_type) = UNSIGN_64;
+	      break;
+	    case 0x142:
+	      HWMULT (sd, hw32mult_op1) = (HWMULT (sd, hw32mult_op1) & 0xFFFF) | (val << 16);
+	      break;
+	    case 0x144:
+	      HWMULT (sd, hw32mult_op1) = val;
+	      HWMULT (sd, hw32mult_type) = SIGN_64;
+	      break;
+	    case 0x146:
+	      HWMULT (sd, hw32mult_op1) = (HWMULT (sd, hw32mult_op1) & 0xFFFF) | (val << 16);
+	      break;
+	    case 0x150:
+	      HWMULT (sd, hw32mult_op2) = val;
+	      break;
 
-	    case 0x152: hw32mult_op2 = (hw32mult_op2 & 0xFFFF) | (val << 16);
-	      switch (hw32mult_type)
+	    case 0x152:
+	      HWMULT (sd, hw32mult_op2) = (HWMULT (sd, hw32mult_op2) & 0xFFFF) | (val << 16);
+	      switch (HWMULT (sd, hw32mult_type))
 		{
 		case UNSIGN_64:
-		  hw32mult_result = hw32mult_op1 * hw32mult_op2;
+		  HWMULT (sd, hw32mult_result) = HWMULT (sd, hw32mult_op1) * HWMULT (sd, hw32mult_op2);
 		  break;
 		case SIGN_64:
-		  hw32mult_result = sign_ext (hw32mult_op1, 32) * sign_ext (hw32mult_op2, 32);
+		  HWMULT (sd, hw32mult_result) = sign_ext (HWMULT (sd, hw32mult_op1), 32)
+		    * sign_ext (HWMULT (sd, hw32mult_op2), 32);
 		  break;
 		}
 	      break;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/msp430-sim.h ./sim/msp430/msp430-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/msp430-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/msp430-sim.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator for TI MSP430 and MSP430x processors.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of simulators.
@@ -21,11 +21,29 @@
 #ifndef _MSP430_SIM_H_
 #define _MSP430_SIM_H_
 
+typedef enum { UNSIGN_32, SIGN_32, UNSIGN_MAC_32, SIGN_MAC_32 } hwmult_type;
+typedef enum { UNSIGN_64, SIGN_64 } hw32mult_type;
+
 struct msp430_cpu_state
 {
   int regs[16];
   int cio_breakpoint;
   int cio_buffer;
+
+  hwmult_type  hwmult_type;
+  unsigned32   hwmult_op1;
+  unsigned32   hwmult_op2;
+  unsigned32   hwmult_result;
+  signed32     hwmult_signed_result;
+  unsigned32   hwmult_accumulator;
+  signed32     hwmult_signed_accumulator;
+
+  hw32mult_type  hw32mult_type;
+  unsigned64     hw32mult_op1;
+  unsigned64     hw32mult_op2;
+  unsigned64     hw32mult_result;
 };
 
+#define HWMULT(SD, FIELD) MSP430_CPU (SD)->state.FIELD
+
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/sim-main.h ./sim/msp430/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/sim-main.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/sim-main.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Simulator for TI MSP430 and MSP430X processors.
 
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/trace.c ./sim/msp430/trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/trace.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/trace.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* trace.c --- tracing output for the MSP430 simulator.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/trace.h ./sim/msp430/trace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/msp430/trace.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/msp430/trace.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* trace.h --- interface to tracing output for the MSP430 simulator.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/altivec_expression.h ./sim/ppc/altivec_expression.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/altivec_expression.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/altivec_expression.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Altivec expression macros, for PSIM, the PowerPC simulator.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat Inc; developed under contract from Motorola.
    Written by matthew green <mrg@redhat.com>.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/altivec.igen ./sim/ppc/altivec.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/altivec.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/altivec.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 # Altivec instruction set, for PSIM, the PowerPC simulator.
 
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # Contributed by Red Hat Inc; developed under contract from Motorola.
 # Written by matthew green <mrg@redhat.com>.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/altivec_registers.h ./sim/ppc/altivec_registers.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/altivec_registers.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/altivec_registers.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* Altivec registers, for PSIM, the PowerPC simulator.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat Inc; developed under contract from Motorola.
    Written by matthew green <mrg@redhat.com>.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/basics.h ./sim/ppc/basics.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/basics.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/basics.h	2015-01-20 02:05:41.000000000 +0000
@@ -95,6 +95,7 @@ typedef enum {
 
 #include <stdarg.h>
 #include <stdio.h>
+#include <stdlib.h>
 
 
 #ifndef NORETURN
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/ChangeLog ./sim/ppc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,19 @@
+2014-11-23  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+	* ChangeLog, ChangeLog.00, hw_com.c, ld-cache.h, ppc-instructions:
+	Change immediatly to immediately.
+
+2014-08-27  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+	* basics.h, device.c, device.h, hw_htab.c, hw_memory.c:
+	Correct spelling in comments.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure.ac: Invoke AC_PLUGINS.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* sim_calls.c (sim_do_command): Add const to cmd.
@@ -3972,7 +3988,7 @@ Wed Jan 17 19:46:07 1996  Andrew Cagney 
         device tree load from file code.
 
 	* psim.c (psim_create): Dump device tree if enabled. If nump
-        selected, exit psim immediatly.
+        selected, exit psim immediately.
 
 Wed Jan 17 19:36:52 1996  Andrew Cagney  <cagney@highland.com.au>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/ChangeLog.00 ./sim/ppc/ChangeLog.00
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/ChangeLog.00	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/ChangeLog.00	2015-01-20 02:05:41.000000000 +0000
@@ -505,7 +505,7 @@ Mon Dec  4 17:12:13 1995  Andrew Cagney 
 
 	* sim-endian.h,c (SIM_ENDIAN_INLINE) bits.h,c (BITS_INLINE):
         Change to use the updated inline definitions.  If enabled
-        immediatly include the corresponding c-code so that it will inline
+        immediately include the corresponding c-code so that it will inline
         for all modules.
 
 	* inline.h, inline.c (SIM_ENDIAN_INLINE, BITS_INLINE): Remove
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/config.in ./sim/ppc/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -43,6 +43,9 @@
    */
 #undef HAVE_DIRENT_H
 
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
 /* Define to 1 if you have the `dup' function. */
 #undef HAVE_DUP
 
@@ -281,6 +284,9 @@
 /* Define to 1 if you have the `unlink' function. */
 #undef HAVE_UNLINK
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/configure ./sim/ppc/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/configure	2015-01-20 02:05:41.000000000 +0000
@@ -767,6 +767,7 @@ enable_sim_xor_endian
 with_pkgversion
 with_bugurl
 with_zlib
+enable_plugins
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1430,6 +1431,7 @@ Optional Features:
   --enable-sim-trace			Specify whether tracing is supported.
   --enable-sim-warnings=opts		Extra CFLAGS for turning on compiler warnings except for idecode.o, semantics.o and psim.o
   --enable-sim-xor-endian=n		Specify number bytes involved in PowerPC XOR bi-endian mode (default 8).
+  --enable-plugins        Enable support for plugins
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -6899,6 +6901,110 @@ fi
   fi
 
 
+# BFD uses libdl when when plugins enabled.
+
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
+if test "${enable_plugins+set}" = set; then :
+  enableval=$enable_plugins; case "${enableval}" in
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
+
+
 . ${srcdir}/../../bfd/configure.host
 
 case ${host} in
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/configure.ac ./sim/ppc/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -670,6 +670,9 @@ AC_ARG_PROGRAM
 # using the same condition.
 AM_ZLIB
 
+# BFD uses libdl when when plugins enabled.
+AC_PLUGINS
+
 . ${srcdir}/../../bfd/configure.host
 
 case ${host} in
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/device.c ./sim/ppc/device.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/device.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/device.c	2015-01-20 02:05:41.000000000 +0000
@@ -1815,7 +1815,7 @@ device_ioctl(device *me,
 /* I/O */
 
 EXTERN_DEVICE\
-(void volatile)
+(void)
 device_error(device *me,
 	     const char *fmt,
 	     ...)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/device.h ./sim/ppc/device.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/device.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/device.h	2015-01-20 02:05:41.000000000 +0000
@@ -726,7 +726,7 @@ EXTERN_DEVICE\
    */
 
 EXTERN_DEVICE\
-(void volatile) device_error
+(void) device_error
 (device *me,
  const char *fmt,
  ...) __attribute__ ((format (printf, 2, 3)));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/dp-bit.c ./sim/ppc/dp-bit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/dp-bit.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/dp-bit.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
    the floating point routines in libgcc1.c for targets without hardware
    floating point.  */
 
-/* Copyright (C) 1994-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2015 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/e500_expression.h ./sim/ppc/e500_expression.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/e500_expression.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/e500_expression.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* e500 expression macros, for PSIM, the PowerPC simulator.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat Inc; developed under contract from Motorola.
    Written by matthew green <mrg@redhat.com>.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/e500.igen ./sim/ppc/e500.igen
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/e500.igen	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/e500.igen	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 # e500 core instructions, for PSIM, the PowerPC simulator.
 
-# Copyright 2003-2014 Free Software Foundation, Inc.
+# Copyright 2003-2015 Free Software Foundation, Inc.
 
 # Contributed by Red Hat Inc; developed under contract from Motorola.
 # Written by matthew green <mrg@redhat.com>.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/e500_registers.h ./sim/ppc/e500_registers.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/e500_registers.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/e500_registers.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* e500 registers, for PSIM, the PowerPC simulator.
 
-   Copyright 2003-2014 Free Software Foundation, Inc.
+   Copyright 2003-2015 Free Software Foundation, Inc.
 
    Contributed by Red Hat Inc; developed under contract from Motorola.
    Written by matthew green <mrg@redhat.com>.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/gdb-sim.c ./sim/ppc/gdb-sim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/gdb-sim.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/gdb-sim.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /*  This file is part of GDB.
 
-    Copyright 2004-2014 Free Software Foundation, Inc.
+    Copyright 2004-2015 Free Software Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/hw_com.c ./sim/ppc/hw_com.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/hw_com.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/hw_com.c	2015-01-20 02:05:41.000000000 +0000
@@ -103,14 +103,14 @@
    input-buffering = "unbuffered" (optional)
 
    Specifying "unbuffered" buffering disables buffering on the serial
-   devices input stream (all data is immediatly read).  In the future,
+   devices input stream (all data is immediately read).  In the future,
    this option may be used to provide input buffering alternatives.
 
 
    output-buffering = "unbuffered" (optional)
 
    Specifying "unbuffered" buffering disables buffering on the serial 
-   devices output stream (all data is immediatly written).  In the future, 
+   devices output stream (all data is immediately written).  In the future, 
    this option may be extended to include other buffering alternatives.
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/hw_htab.c ./sim/ppc/hw_htab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/hw_htab.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/hw_htab.c	2015-01-20 02:05:41.000000000 +0000
@@ -22,6 +22,7 @@
 #define _HW_HTAB_C_
 
 #include "device_table.h"
+#include "device.h"
 
 #include "bfd.h"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/hw_memory.c ./sim/ppc/hw_memory.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/hw_memory.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/hw_memory.c	2015-01-20 02:05:41.000000000 +0000
@@ -25,6 +25,8 @@
 #define STATIC_INLINE_HW_MEMORY STATIC_INLINE
 #endif
 
+#include <stdlib.h>
+
 #include "device_table.h"
 
 /* DEVICE
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/ld-cache.h ./sim/ppc/ld-cache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/ld-cache.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/ld-cache.h	2015-01-20 02:05:41.000000000 +0000
@@ -24,7 +24,7 @@
 
    The table that follows determines how each field should be treated.
    Importantly it considers the case where the extracted field is to
-   be used immediatly or stored in an instruction cache.
+   be used immediately or stored in an instruction cache.
 
    <type>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/ppc-instructions ./sim/ppc/ppc-instructions
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/ppc-instructions	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/ppc-instructions	2015-01-20 02:05:41.000000000 +0000
@@ -3355,7 +3355,7 @@ void::function::invalid_zero_divide_oper
 	  spreg new_val = (spr_length(n) == 64
 			   ? *rS
 			   : MASKED(*rS, 32, 63));
-	  /* HACK - time base registers need to be updated immediatly */
+	  /* HACK - time base registers need to be updated immediately */
 	  if (WITH_TIME_BASE) {
 	    switch (n) {
 	    case spr_tbu:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/psim.texinfo ./sim/ppc/psim.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/ppc/psim.texinfo	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/ppc/psim.texinfo	2015-01-20 02:05:41.000000000 +0000
@@ -54,7 +54,7 @@ END-INFO-DIR-ENTRY
 This file documents Texinfo, a documentation system that uses a single
 source file to produce both on-line information and a printed manual.
 
-Copyright (C) 1988-2014 Free Software Foundation, Inc.
+Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
 This is the second edition of the Texinfo documentation,@*
 and is consistent with version 2 of @file{texinfo.tex}.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/ChangeLog ./sim/rl78/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* gdb-if.c (sim_do_command): Add const to cmd.  Move args
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/config.in ./sim/rl78/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -70,12 +70,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/configure ./sim/rl78/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1387,7 +1387,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8766,17 +8766,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12263,7 +12352,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12266 "configure"
+#line 12355 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12369,7 +12458,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12372 "configure"
+#line 12461 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/configure.ac ./sim/rl78/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
 dnl Contributed by Red Hat, Inc.
 dnl 
 dnl This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/cpu.c ./sim/rl78/cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* cpu.c --- CPU for RL78 simulator.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/cpu.h ./sim/rl78/cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/cpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* cpu.h --- declarations for the RL78 core.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/gdb-if.c ./sim/rl78/gdb-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/gdb-if.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/gdb-if.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* gdb-if.c -- sim interface to GDB.
 
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/load.c ./sim/rl78/load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/load.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/load.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* load.c --- loading object files into the RL78 simulator.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/load.h ./sim/rl78/load.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/load.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/load.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* load.h --- interface to loading object files into the RX simulator.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/main.c ./sim/rl78/main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/main.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/main.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* main.c --- main function for stand-alone RL78 simulator.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/Makefile.in ./sim/rl78/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 #### Makefile.in --- Makefile template for the RL78 simulator
 
-### Copyright (C) 2008-2014 Free Software Foundation, Inc.
+### Copyright (C) 2008-2015 Free Software Foundation, Inc.
 ### Contributed by Red Hat, Inc.
 ### 
 ### This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/mem.c ./sim/rl78/mem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/mem.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/mem.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* mem.c --- memory for RL78 simulator.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/mem.h ./sim/rl78/mem.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/mem.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/mem.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* mem.h --- interface to memory for RL78 simulator.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/rl78.c ./sim/rl78/rl78.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/rl78.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/rl78.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* rl78.c --- opcode semantics for stand-alone RL78 simulator.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/trace.c ./sim/rl78/trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/trace.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/trace.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* trace.c --- tracing output for the RL78 simulator.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/trace.h ./sim/rl78/trace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rl78/trace.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rl78/trace.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* trace.h --- interface to tracing output for the RX simulator.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/ChangeLog ./sim/rx/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,18 @@
+2015-12-15  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb-if.c (open): Rename to...
+	(rx_sim_is_open): This. Replace all uses of "open" by uses of
+	"rx_sim_is_open" throughout.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* gdb-if.c (sim_do_command): Add const to cmd.  Move args
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/config.in ./sim/rx/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -76,12 +76,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/configure ./sim/rx/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1389,7 +1389,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8770,17 +8770,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12267,7 +12356,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12270 "configure"
+#line 12359 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12373,7 +12462,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12376 "configure"
+#line 12465 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/configure.ac ./sim/rx/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
 dnl Contributed by Red Hat, Inc.
 dnl 
 dnl This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/cpu.h ./sim/rx/cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/cpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* cpu.h --- declarations for the RX core.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/err.c ./sim/rx/err.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/err.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/err.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* err.c --- handle errors for RX simulator.
 
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/err.h ./sim/rx/err.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/err.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/err.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* err.h --- handle errors for RX simulator.
 
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/fpu.c ./sim/rx/fpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/fpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/fpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* fpu.c --- FPU emulator for stand-alone RX simulator.
 
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/fpu.h ./sim/rx/fpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/fpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/fpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* fpu.h --- FPU emulator for stand-alone RX simulator.
 
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/gdb-if.c ./sim/rx/gdb-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/gdb-if.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/gdb-if.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* gdb-if.c -- sim interface to GDB.
 
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
@@ -54,14 +54,14 @@ static struct sim_state the_minisim = {
   "This is the sole rx minisim instance.  See libsim.a's global variables."
 };
 
-static int open;
+static int rx_sim_is_open;
 
 SIM_DESC
 sim_open (SIM_OPEN_KIND kind,
 	  struct host_callback_struct *callback,
 	  struct bfd *abfd, char **argv)
 {
-  if (open)
+  if (rx_sim_is_open)
     fprintf (stderr, "rx minisim: re-opened sim\n");
 
   /* The 'run' interface doesn't use this function, so we don't care
@@ -79,7 +79,7 @@ sim_open (SIM_OPEN_KIND kind,
   execution_error_init_debugger ();
 
   sim_disasm_init (abfd);
-  open = 1;
+  rx_sim_is_open = 1;
   return &the_minisim;
 }
 
@@ -98,7 +98,7 @@ sim_close (SIM_DESC sd, int quitting)
   /* Not much to do.  At least free up our memory.  */
   init_mem ();
 
-  open = 0;
+  rx_sim_is_open = 0;
 }
 
 static bfd *
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/load.c ./sim/rx/load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/load.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/load.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* load.c --- loading object files into the RX simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/load.h ./sim/rx/load.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/load.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/load.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* load.h --- interface to loading object files into the RX simulator.
 
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/main.c ./sim/rx/main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/main.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/main.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* main.c --- main function for stand-alone RX simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/Makefile.in ./sim/rx/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 #### Makefile.in --- Makefile template for the RX simulator
 
-### Copyright (C) 2008-2014 Free Software Foundation, Inc.
+### Copyright (C) 2008-2015 Free Software Foundation, Inc.
 ### Contributed by Red Hat, Inc.
 ### 
 ### This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/mem.c ./sim/rx/mem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/mem.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/mem.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* mem.c --- memory for RX simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/mem.h ./sim/rx/mem.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/mem.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/mem.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* mem.h --- interface to memory for M32C simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/misc.c ./sim/rx/misc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/misc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/misc.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* misc.c --- miscellaneous utility functions for RX simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/misc.h ./sim/rx/misc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/misc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/misc.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* misc.h --- interface to miscellaneous utility functions for RX simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/reg.c ./sim/rx/reg.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/reg.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/reg.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* reg.c --- register set model for RX simulator.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/rx.c ./sim/rx/rx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/rx.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/rx.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* rx.c --- opcode semantics for stand-alone RX simulator.
 
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/syscalls.c ./sim/rx/syscalls.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/syscalls.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/syscalls.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* syscalls.c --- implement system calls for the RX simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/syscalls.h ./sim/rx/syscalls.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/syscalls.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/syscalls.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* syscalls.h --- interface to syscalls for the RX sim.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/trace.c ./sim/rx/trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/trace.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/trace.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* trace.c --- tracing output for the RX simulator.
 
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
 Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/trace.h ./sim/rx/trace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/rx/trace.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/rx/trace.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,6 +1,6 @@
 /* trace.h --- interface to tracing output for the RX simulator.
 
-   Copyright (C) 2005-2014 Free Software Foundation, Inc.
+   Copyright (C) 2005-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
    This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/ChangeLog ./sim/sh/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,17 @@
+2014-10-14  Oleg Endo <olegendo@gcc.gnu.org>  (tiny patch)
+
+	* gencode.c (fabs, fneg): Implement as integer operation
+	instead of using the FP_UNARY macro.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-10  Mike Frysinger  <vapier@gentoo.org>
 
 	* interp.c (parse_and_set_memory_size): Add const to str.
@@ -1045,7 +1059,7 @@ Thu Sep 14 19:32:59 1995  Stu Grossman  
 
 	* gencode.c:  Back up PC by 2 for breakpoints.
 	* interp.c:  Move fp regs beyond pc/pr/etc to avoid confusing GDB,
-	which expect pc to immediatly follow regs[].
+	which expect pc to immediately follow regs[].
 
 Fri Sep  8 14:18:13 1995  Ian Lance Taylor  <ian@cygnus.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/config.in ./sim/sh/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -67,12 +67,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/configure ./sim/sh/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1387,7 +1387,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8766,17 +8766,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
 else
-  plugins=no
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
 fi
 
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12263,7 +12352,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12266 "configure"
+#line 12355 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12369,7 +12458,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12372 "configure"
+#line 12461 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/gencode.c ./sim/sh/gencode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/gencode.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh/gencode.c	2015-01-20 02:05:41.000000000 +0000
@@ -429,8 +429,14 @@ op tab[] =
 
   /* sh2e */
   { "", "", "fabs <FREG_N>", "1111nnnn01011101",
-    "FP_UNARY (n, fabs);",
-    "/* FIXME: FR (n) &= 0x7fffffff; */",
+    "  union",
+    "  {",
+    "    unsigned int i;",
+    "    float f;",
+    "  } u;",
+    "  u.f = FR (n);",
+    "  u.i &= 0x7fffffff;",
+    "  SET_FR (n, u.f);",
   },
 
   /* sh2e */
@@ -662,7 +668,14 @@ op tab[] =
 
   /* sh2e */
   { "", "", "fneg <FREG_N>", "1111nnnn01001101",
-    "FP_UNARY (n, -);",
+    "  union",
+    "  {",
+    "    unsigned int i;",
+    "    float f;",
+    "  } u;",
+    "  u.f = FR (n);",
+    "  u.i ^= 0x80000000;",
+    "  SET_FR (n, u.f);",
   },
 
   /* sh4a */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/Makefile.in ./sim/sh/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the SH sim library.
-#    Copyright (C) 1990-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1990-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Support.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/arch.c ./sim/sh64/arch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/arch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/arch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/arch.h ./sim/sh64/arch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/arch.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/arch.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/ChangeLog ./sim/sh64/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,18 @@
+2014-08-23  Hans-Peter Nilsson  <hp@axis.com>
+
+    	* configure.ac: Default simulator hardware to off again
+	without emitting errors when off or dv-sockser.o unavailable.
+    	* configure: Regenerate.
+
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2013-09-23  Alan Modra  <amodra@gmail.com>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/config.in ./sim/sh64/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -10,6 +10,9 @@
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
+/* Define if dv-sockser is usable. */
+#undef HAVE_DV_SOCKSER
+
 /* Define to 1 if you have the <errno.h> header file. */
 #undef HAVE_ERRNO_H
 
@@ -25,6 +28,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
 /* Define to 1 if you have the `nsl' library (-lnsl). */
 #undef HAVE_LIBNSL
 
@@ -70,12 +76,19 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/configure ./sim/sh64/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1400,7 +1400,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8789,17 +8789,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12286,7 +12375,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12289 "configure"
+#line 12378 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12392,7 +12481,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12395 "configure"
+#line 12484 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13356,7 +13445,7 @@ fi
 
 
 
-if test x"always" != x"no"; then
+if test x"no" != x"no"; then
   enable_sim_hardware=yes
 else
   enable_sim_hardware=no
@@ -13387,7 +13476,7 @@ case ${enable_sim_hardware} in
 esac
 
 if test "$sim_hw_p" != yes; then
-  if test "always" = "always"; then
+  if test "no" = "always"; then
     as_fn_error "Sorry, but this simulator requires that hardware support
 be enabled. Please configure without --disable-hw-support." "$LINENO" 5
   fi
@@ -13471,12 +13560,6 @@ fi
 fi
 
 
-if test -z "$SIM_DV_SOCKSER_O"; then
-	as_fn_error "Sorry, but hardware support in this simulator
-unconditionally relies on dv-sockser.o which is unavailable for your host.
-Please fix this simulator." "$LINENO" 5
-fi
-
 
 ac_sources="$sim_link_files"
 ac_dests="$sim_link_links"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/configure.ac ./sim/sh64/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/configure.ac	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/configure.ac	2015-01-20 02:05:41.000000000 +0000
@@ -14,13 +14,7 @@ SIM_AC_OPTION_ENVIRONMENT
 SIM_AC_OPTION_INLINE()
 SIM_AC_OPTION_CGEN_MAINT
 
-SIM_AC_OPTION_HARDWARE(always,"","")
-
-if test -z "$SIM_DV_SOCKSER_O"; then
-	AC_MSG_ERROR([Sorry, but hardware support in this simulator
-unconditionally relies on dv-sockser.o which is unavailable for your host.
-Please fix this simulator.])
-fi
+SIM_AC_OPTION_HARDWARE(no,"","")
 
 SIM_AC_OUTPUT
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/cpuall.h ./sim/sh64/cpuall.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/cpuall.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/cpuall.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/cpu.c ./sim/sh64/cpu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/cpu.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/cpu.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/cpu.h ./sim/sh64/cpu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/cpu.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/cpu.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/decode-compact.c ./sim/sh64/decode-compact.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/decode-compact.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/decode-compact.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/decode-compact.h ./sim/sh64/decode-compact.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/decode-compact.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/decode-compact.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/decode-media.c ./sim/sh64/decode-media.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/decode-media.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/decode-media.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/decode-media.h ./sim/sh64/decode-media.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/decode-media.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/decode-media.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/defs-compact.h ./sim/sh64/defs-compact.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/defs-compact.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/defs-compact.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/defs-media.h ./sim/sh64/defs-media.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/defs-media.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/defs-media.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/eng.h ./sim/sh64/eng.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/eng.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/eng.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Engine declarations.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/Makefile.in ./sim/sh64/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile template for Configure for the SH64 simulator
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
 # Contributed by Red Hat, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sem-compact.c ./sim/sh64/sem-compact.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sem-compact.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sem-compact.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sem-compact-switch.c ./sim/sh64/sem-compact-switch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sem-compact-switch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sem-compact-switch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sem-media.c ./sim/sh64/sem-media.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sem-media.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sem-media.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sem-media-switch.c ./sim/sh64/sem-media-switch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sem-media-switch.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sem-media-switch.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh64.c ./sim/sh64/sh64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh64.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sh64.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* SH5 simulator support code
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh64-sim.h ./sim/sh64/sh64-sim.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh64-sim.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sh64-sim.h	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* collection of junk waiting time to sort out
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Red Hat, Inc.
 
 This file is part of the GNU Simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh-desc.c ./sim/sh64/sh-desc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh-desc.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sh-desc.c	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh-desc.h ./sim/sh64/sh-desc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh-desc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sh-desc.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh-opc.h ./sim/sh64/sh-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sh-opc.h	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sh-opc.h	2015-01-20 02:05:41.000000000 +0000
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2014 Free Software Foundation, Inc.
+Copyright 1996-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sim-if.c ./sim/sh64/sim-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/sh64/sim-if.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/sh64/sim-if.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Main simulator entry points specific to the SH5.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions.
 
 This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/common/bits-gen.c ./sim/testsuite/common/bits-gen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/common/bits-gen.c	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/common/bits-gen.c	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 /* Miscellaneous simulator utilities.
-   Copyright (C) 1997-2014 Free Software Foundation, Inc.
+   Copyright (C) 1997-2015 Free Software Foundation, Inc.
    Contributed by Cygnus Support.
 
 This file is part of GDB, the GNU debugger.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/d10v-elf/Makefile.in ./sim/testsuite/d10v-elf/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/d10v-elf/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/d10v-elf/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile for regression testing the GNU debugger.
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/frv-elf/Makefile.in ./sim/testsuite/frv-elf/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/frv-elf/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/frv-elf/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile for regression testing the frv simulator.
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/m32r-elf/Makefile.in ./sim/testsuite/m32r-elf/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/m32r-elf/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/m32r-elf/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile for regression testing the m32r simulator.
-# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/Makefile.in ./sim/testsuite/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile for regression testing the GNU debugger.
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/mips64el-elf/Makefile.in ./sim/testsuite/mips64el-elf/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/mips64el-elf/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/mips64el-elf/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # Makefile for regression testing the GNU debugger.
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
 
 # This file is part of GDB.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/cris/asm/asm.exp ./sim/testsuite/sim/cris/asm/asm.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/cris/asm/asm.exp	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/sim/cris/asm/asm.exp	2015-01-20 02:05:41.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2014 Free Software Foundation, Inc.
+# Copyright (C) 2005-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/cris/c/c.exp ./sim/testsuite/sim/cris/c/c.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/cris/c/c.exp	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/sim/cris/c/c.exp	2015-01-20 02:05:41.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2014 Free Software Foundation, Inc.
+# Copyright (C) 2005-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp ./sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp	2015-01-20 02:05:41.000000000 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2015 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/mips32-dsp.s ./sim/testsuite/sim/mips/mips32-dsp.s
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/mips32-dsp.s	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/sim/mips/mips32-dsp.s	2015-01-20 02:05:41.000000000 +0000
@@ -4,7 +4,7 @@
 #ld:		-N -Ttext=0x80010000
 #output:	*\\npass\\n
 
-# Copyright (C) 2005-2014 Free Software Foundation, Inc.
+# Copyright (C) 2005-2015 Free Software Foundation, Inc.
 # Contributed by MIPS Technologies, Inc.  Written by Chao-ying Fu.
 #
 # This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/testutils.inc ./sim/testsuite/sim/mips/testutils.inc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/testutils.inc	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/sim/mips/testutils.inc	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # MIPS simulator testsuite utility functions.
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 # Contributed by Chris Demetriou of Broadcom Corporation.
 #
 # This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/utils-dsp.inc ./sim/testsuite/sim/mips/utils-dsp.inc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/utils-dsp.inc	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/sim/mips/utils-dsp.inc	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # MIPS DSP ASE simulator testsuite utility functions.
-# Copyright (C) 2005-2014 Free Software Foundation, Inc.
+# Copyright (C) 2005-2015 Free Software Foundation, Inc.
 # Contributed by MIPS Technologies, Inc.  Written by Chao-ying Fu.
 #
 # This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/utils-fpu.inc ./sim/testsuite/sim/mips/utils-fpu.inc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/utils-fpu.inc	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/sim/mips/utils-fpu.inc	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # MIPS simulator testsuite FPU utility functions.
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 # Contributed by Chris Demetriou of Broadcom Corporation.
 #
 # This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/utils-mdmx.inc ./sim/testsuite/sim/mips/utils-mdmx.inc
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/testsuite/sim/mips/utils-mdmx.inc	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/testsuite/sim/mips/utils-mdmx.inc	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 # MIPS simulator testsuite MDMX utility functions.
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
 # Contributed by Chris Demetriou of Broadcom Corporation.
 #
 # This file is part of the GNU simulators.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/v850/ChangeLog ./sim/v850/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/v850/ChangeLog	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/v850/ChangeLog	2015-01-20 02:05:41.000000000 +0000
@@ -1,3 +1,12 @@
+2014-08-19  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2014-08-15  Roland McGrath  <mcgrathr@google.com>
+
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
 2014-03-04  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/v850/config.in ./sim/v850/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/v850/config.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/v850/config.in	2015-01-20 02:05:41.000000000 +0000
@@ -91,12 +91,19 @@
 /* Define to 1 if you have the <utime.h> header file. */
 #undef HAVE_UTIME_H
 
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #undef HAVE_ZLIB_H
 
 /* Define to 1 if you have the `__setfpucw' function. */
 #undef HAVE___SETFPUCW
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of this package. */
 #undef PACKAGE
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/v850/configure ./sim/v850/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/v850/configure	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/v850/configure	2015-01-20 02:05:41.000000000 +0000
@@ -1395,7 +1395,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-plugins        Enable support for plugins (defaults no)
+  --enable-plugins        Enable support for plugins
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
@@ -8784,17 +8784,106 @@ fi
 
 # BFD uses libdl when when plugins enabled.
 
-# Check whether --enable-plugins was given.
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
 if test "${enable_plugins+set}" = set; then :
   enableval=$enable_plugins; case "${enableval}" in
-  yes | "") plugins=yes ;;
-  no) plugins=no ;;
-  *) plugins=yes ;;
- esac
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
 else
-  plugins=no
+  plugins=$maybe_plugins
+
 fi
 
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_dlopen+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+  ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
 
  if test "$plugins" = yes; then
   PLUGINS_TRUE=
@@ -12281,7 +12370,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12284 "configure"
+#line 12373 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12387,7 +12476,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12390 "configure"
+#line 12479 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/v850/Makefile.in ./sim/v850/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/sim/v850/Makefile.in	2015-01-13 02:02:20.000000000 +0000
+++ ./sim/v850/Makefile.in	2015-01-20 02:05:41.000000000 +0000
@@ -1,5 +1,5 @@
 #    Makefile template for Configure for the V850 sim library.
-#    Copyright (C) 1996-2014 Free Software Foundation, Inc.
+#    Copyright (C) 1996-2015 Free Software Foundation, Inc.
 #    Written by Cygnus Support.
 # 
 # This program is free software; you can redistribute it and/or modify
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/src-release ./src-release
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/src-release	2015-01-13 02:02:20.000000000 +0000
+++ ./src-release	1970-01-01 00:00:00.000000000 +0000
@@ -1,318 +0,0 @@
-#   Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-#   1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-
-# This Makefile contains release scripts for gdb, binutils, and other
-# packages which live in src.  It used to be part of the top level Makefile,
-# but that turned out to be very messy and hard to maintain.
-
-# This stuff really ought to be cleaned up and turned into something other
-# than a Makefile.  As it is it's heavily recursive.
-
-# This is the name of this script (!).  Needed due to horrible recursion.
-SELF = src-release
-
-SHELL = /bin/sh
-
-BZIPPROG = bzip2
-MD5PROG = md5sum
-
-# (Default to avoid splitting info files by setting the threshold high.)
-MAKEINFOFLAGS = --split-size=5000000
-
-# pwd command to use.  Allow user to override default by setting PWDCMD in
-# the environment to account for automounters.  The make variable must not
-# be called PWDCMD, otherwise the value set here is passed to make
-# subprocesses and overrides the setting from the user's environment.
-PWD = $${PWDCMD-pwd}
-
-#
-# Support for building net releases
-
-# Files in devo used in any net release.
-DEVO_SUPPORT= README Makefile.in configure configure.ac \
-	config.guess config.sub config move-if-change \
-	COPYING COPYING.LIB install-sh config-ml.in symlink-tree \
-	mkinstalldirs ltmain.sh missing ylwrap \
-	libtool.m4 ltsugar.m4 ltversion.m4 ltoptions.m4 \
-	Makefile.def Makefile.tpl src-release config.rpath \
-	ChangeLog MAINTAINERS README-maintainer-mode \
-	lt~obsolete.m4 ltgcc.m4 depcomp mkdep compile \
-	COPYING3 COPYING3.LIB
-
-# Files in devo/etc used in any net release.
-ETC_SUPPORT= Makefile.in configure configure.in standards.texi \
-	make-stds.texi standards.info* configure.texi configure.info* \
-	ChangeLog configbuild.* configdev.* fdl.texi texi2pod.pl gnu-oids.texi
-
-
-# When you use `make setup-dirs' or `make taz' you should always redefine
-# this macro.
-SUPPORT_FILES = list-of-support-files-for-tool-in-question
-
-# NOTE: No double quotes in the below.  It is used within shell script
-# as VER="$(VER)"
-VER = `	if grep 'AM_INIT_AUTOMAKE.*BFD_VERSION' $(TOOL)/configure.in >/dev/null 2>&1; then \
-	  bfd/configure --version | sed -n -e '1s,.* ,,p'; \
-	elif grep AM_INIT_AUTOMAKE $(TOOL)/configure.in >/dev/null 2>&1; then \
-	  sed < $(TOOL)/configure.in -n 's/AM_INIT_AUTOMAKE[^,]*, *\([^)]*\))/\1/p'; \
-	elif test -f $(TOOL)/common/create-version.sh; then \
-	  $(TOOL)/common/create-version.sh $(TOOL) \
-	    'dummy-host' 'dummy-target' \
-	    VER.tmp; \
-	  cat VER.tmp | grep 'version\[\]' | sed 's/.*"\([^"]*\)".*/\1/' | sed 's/-cvs$$//'; \
-          rm -f VER.tmp; \
-	elif test -f $(TOOL)/version.in; then \
-	  head -1 $(TOOL)/version.in; \
-	elif grep VERSION $(TOOL)/Makefile.in > /dev/null 2>&1; then \
-	  sed < $(TOOL)/Makefile.in -n 's/^VERSION *= *//p'; \
-	else \
-	  echo VERSION; \
-	fi`
-PACKAGE = $(TOOL)
-
-.PHONY: taz
-taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
-	$(MAKE) -f $(SELF) do-proto-toplev \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-	$(MAKE) -f $(SELF) do-md5sum \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-	$(MAKE) -f $(SELF) do-tar \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-	$(MAKE) -f $(SELF) do-bz2 \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-
-.PHONY: gdb-tar
-gdb-tar: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
-	$(MAKE) -f $(SELF) do-proto-toplev \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-	$(MAKE) -f $(SELF) do-md5sum \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-	$(MAKE) -f $(SELF) do-djunpack \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-	$(MAKE) -f $(SELF) do-tar \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-
-.PHONY: gdb-taz
-gdb-taz: gdb-tar $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
-	$(MAKE) -f $(SELF) gdb-tar \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-	$(MAKE) -f $(SELF) do-bz2 \
-		TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SUPPORT_FILES)"
-
-.PHONY: do-proto-toplev
-do-proto-toplev: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
-	echo "==> Making $(PACKAGE)-$(VER)/"
-	# Take out texinfo from a few places.
-	sed -e '/^all\.normal: /s/\all-texinfo //' \
-	    -e '/^	install-texinfo /d' \
-	<Makefile.in >tmp
-	mv -f tmp Makefile.in
-	#
-	./configure i686-pc-linux-gnu
-	$(MAKE) configure-host configure-target \
-	    ALL_GCC="" ALL_GCC_C="" ALL_GCC_CXX="" \
-	    CC_FOR_TARGET="$(CC)" CXX_FOR_TARGET="$(CXX)"
-	# Make links, and run "make diststuff" or "make info" when needed.
-	rm -rf proto-toplev ; mkdir proto-toplev
-	set -e ; dirs="$(DEVO_SUPPORT) $(SUPPORT_FILES) $(TOOL)" ; \
-	for d in $$dirs ; do \
-	  if [ -d $$d ]; then \
-	    if [ ! -f $$d/Makefile ] ; then true ; \
-	    elif grep '^diststuff:' $$d/Makefile >/dev/null ; then \
-		(cd $$d ; $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \
-			  diststuff ) || exit 1 ; \
-	    elif grep '^info:' $$d/Makefile >/dev/null ; then \
-		(cd $$d ; $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \
-			  info ) || exit 1 ; \
-	    fi ; \
-	    if [ -d $$d/proto-$$d.dir ]; then \
-	      ln -s ../$$d/proto-$$d.dir proto-toplev/$$d ; \
-	    else \
-	      ln -s ../$$d proto-toplev/$$d ; \
-	    fi ; \
-	  else \
-	    if (echo x$$d | grep / >/dev/null); then \
-	      mkdir -p proto-toplev/`dirname $$d` ; \
-	      x=`dirname $$d` ; \
-	      ln -s ../`echo $$x/ | sed -e 's,[^/]*/,../,g'`$$d proto-toplev/$$d ; \
-	    else \
-	      ln -s ../$$d proto-toplev/$$d ; \
-	    fi ; \
-	  fi ; \
-	done
-	cd etc && $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" info
-	$(MAKE) distclean
-	# Kludge for pr gdb/857.  intl/Makefile.in lacks a couple
-	# of files in the distclean rule.  Zack W is planning to make
-	# the gcc version of intl/ the master version and then push
-	# that version to src soon.  See:
-	#   http://sources.redhat.com/ml/binutils/2003-07/msg00032.html
-	# After the src version of intl/ is upgraded, we can look at
-	# moving this logic into intl/Makefile.in distclean rule
-	# if it is still needed.  -- chastain 2003-09-12
-	rm -f intl/config.cache
-	rm -f intl/config.status
-	rm -f intl/config.h
-	rm -f intl/stamp-h
-	#
-	mkdir proto-toplev/etc
-	(cd proto-toplev/etc; \
-	 for i in $(ETC_SUPPORT); do \
-		ln -s ../../etc/$$i . ; \
-	 done)
-	#
-	# Take out texinfo from configurable dirs
-	rm proto-toplev/configure.ac
-	sed -e '/^host_tools=/s/texinfo //' \
-	    <configure.ac >proto-toplev/configure.ac
-	#
-	mkdir proto-toplev/texinfo
-	ln -s ../../texinfo/texinfo.tex		proto-toplev/texinfo/
-	if test -r texinfo/util/tex3patch ; then \
-	  mkdir proto-toplev/texinfo/util && \
-	  ln -s ../../../texinfo/util/tex3patch	proto-toplev/texinfo/util ; \
-	else true; fi
-	chmod -R og=u . || chmod og=u `find . -print`
-	#
-	# Create .gmo files from .po files.
-	for f in `find . -name '*.po' -type f -print`; do \
-	     msgfmt -o `echo $$f | sed -e 's/\.po$$/.gmo/'` $$f ; \
-	done
-	#
-	-rm -f $(PACKAGE)-$(VER)
-	ln -s proto-toplev $(PACKAGE)-$(VER)
-
-CVS_NAMES= \( -name CVS -o -name '.cvsignore' \)
-
-.PHONY: do-tar
-do-tar:
-	echo "==> Making $(PACKAGE)-$(VER).tar"
-	-rm -f $(PACKAGE)-$(VER).tar
-	find $(PACKAGE)-$(VER) -follow $(CVS_NAMES) -prune \
-			-o -type f -print \
-		| tar cTfh - $(PACKAGE)-$(VER).tar
-
-.PHONY: do-bz2
-do-bz2:
-	echo "==> Bzipping $(PACKAGE)-$(VER).tar.bz2"
-	-rm -f $(PACKAGE)-$(VER).tar.bz2
-	$(BZIPPROG) -v -9 $(PACKAGE)-$(VER).tar
-
-.PHONY: do-md5sum
-do-md5sum:
-	echo "==> Adding md5 checksum to top-level directory"
-	cd proto-toplev && find * -follow $(CVS_NAMES) -prune \
-			-o -type f -print \
-		| xargs $(MD5PROG) > ../md5.new
-	-rm -f proto-toplev/md5.sum
-	mv md5.new proto-toplev/md5.sum
-
-.PHONY: do-djunpack
-do-djunpack:
-	echo "==> Adding updated djunpack.bat to top-level directory"
-	echo - 's /gdb-[0-9\.]*/$(PACKAGE)-'"$(VER)"'/'
-	sed < djunpack.bat > djunpack.new \
-		-e 's/gdb-[0-9][0-9\.]*/$(PACKAGE)-'"$(VER)"'/'
-	-rm -f proto-toplev/djunpack.bat
-	mv djunpack.new proto-toplev/djunpack.bat
-
-TEXINFO_SUPPORT= texinfo/texinfo.tex
-DIST_SUPPORT= $(DEVO_SUPPORT) $(TEXINFO_SUPPORT)
-
-.PHONY: gas.tar.bz2
-GAS_SUPPORT_DIRS= bfd include libiberty opcodes intl setup.com makefile.vms mkdep
-gas.tar.bz2: $(DIST_SUPPORT) $(GAS_SUPPORT_DIRS) gas
-	$(MAKE) -f $(SELF) taz TOOL=gas \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(GAS_SUPPORT_DIRS)"
-
-# The FSF "binutils" release includes gprof and ld.
-.PHONY: binutils.tar.bz2
-BINUTILS_SUPPORT_DIRS= bfd gas include libiberty opcodes ld elfcpp gold gprof intl setup.com makefile.vms cpu
-binutils.tar.bz2: $(DIST_SUPPORT) $(BINUTILS_SUPPORT_DIRS) binutils
-	$(MAKE) -f $(SELF) taz TOOL=binutils \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(BINUTILS_SUPPORT_DIRS)"
-
-.PHONY: gas+binutils.tar.bz2
-GASB_SUPPORT_DIRS= $(GAS_SUPPORT_DIRS) binutils ld gprof
-gas+binutils.tar.bz2: $(DIST_SUPPORT) $(GASB_SUPPORT_DIRS) gas
-	$(MAKE) -f $(SELF) taz TOOL=gas \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(GASB_SUPPORT_DIRS)"
-
-GNATS_SUPPORT_DIRS=include libiberty send-pr
-gnats.tar.bz2: $(DIST_SUPPORT) $(GNATS_SUPPORT_DIRS) gnats
-	$(MAKE) -f  $(SELF) taz TOOL=gnats \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(GNATS_SUPPORT_DIRS)"
-
-.PHONY: gdb.tar.bz2
-GDB_SUPPORT_DIRS= bfd include libiberty opcodes readline sim intl libdecnumber cpu
-gdb.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
-	$(MAKE) -f $(SELF) gdb-taz TOOL=gdb \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(GDB_SUPPORT_DIRS)"
-.PHONY: gdb.tar
-gdb.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
-	$(MAKE) -f $(SELF) gdb-tar TOOL=gdb \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(GDB_SUPPORT_DIRS)"
-
-# Corresponding to the CVS "sim" module.
-.PHONY: sim.tar.bz2
-SIM_SUPPORT_DIRS= bfd opcodes libiberty include intl gdb/version.in makefile.vms
-sim.tar.bz2: $(DIST_SUPPORT) $(SIM_SUPPORT_DIRS) sim
-	$(MAKE) -f $(SELF) taz TOOL=sim \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(SIM_SUPPORT_DIRS)"
-
-.PHONY: insight.tar.bz2
-INSIGHT_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl tk itcl libgui
-insight.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
-	$(MAKE) -f $(SELF) gdb-taz TOOL=gdb PACKAGE=insight \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)"
-.PHONY: insight.tar
-insight.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
-	$(MAKE) -f $(SELF) gdb-tar TOOL=gdb PACKAGE=insight \
-		MD5PROG="$(MD5PROG)" \
-		SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)"
-
-.NOEXPORT:
-MAKEOVERRIDES=
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/ylwrap ./ylwrap
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.8.1.20150113/ylwrap	2015-01-13 02:02:20.000000000 +0000
+++ ./ylwrap	2015-01-20 02:05:41.000000000 +0000
@@ -1,10 +1,9 @@
 #! /bin/sh
 # ylwrap - wrapper for lex/yacc invocations.
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2013-01-12.17; # UTC
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005,
-# 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
@@ -30,9 +29,41 @@ scriptversion=2009-04-28.21; # UTC
 # bugs to <bug-automake@gnu.org> or send patches to
 # <automake-patches@gnu.org>.
 
+get_dirname ()
+{
+  case $1 in
+    */*|*\\*) printf '%s\n' "$1" | sed -e 's|\([\\/]\)[^\\/]*$|\1|';;
+    # Otherwise,  we want the empty string (not ".").
+  esac
+}
+
+# guard FILE
+# ----------
+# The CPP macro used to guard inclusion of FILE.
+guard ()
+{
+  printf '%s\n' "$1"                                                    \
+    | sed                                                               \
+        -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'   \
+        -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'                        \
+        -e 's/__*/_/g'
+}
+
+# quote_for_sed [STRING]
+# ----------------------
+# Return STRING (or stdin) quoted to be used as a sed pattern.
+quote_for_sed ()
+{
+  case $# in
+    0) cat;;
+    1) printf '%s\n' "$1";;
+  esac \
+    | sed -e 's|[][\\.*]|\\&|g'
+}
+
 case "$1" in
   '')
-    echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2
+    echo "$0: No files given.  Try '$0 --help' for more information." 1>&2
     exit 1
     ;;
   --basedir)
@@ -65,41 +96,62 @@ esac
 
 
 # The input.
-input="$1"
+input=$1
 shift
-case "$input" in
+# We'll later need for a correct munging of "#line" directives.
+input_sub_rx=`get_dirname "$input" | quote_for_sed`
+case $input in
   [\\/]* | ?:[\\/]*)
     # Absolute path; do nothing.
     ;;
   *)
     # Relative path.  Make it absolute.
-    input="`pwd`/$input"
+    input=`pwd`/$input
     ;;
 esac
+input_rx=`get_dirname "$input" | quote_for_sed`
+
+# The parser itself, the first file, is the destination of the .y.c
+# rule in the Makefile.
+parser=$1
+
+# A sed program to s/FROM/TO/g for all the FROM/TO so that, for
+# instance, we rename #include "y.tab.h" into #include "parse.h"
+# during the conversion from y.tab.c to parse.c.
+sed_fix_filenames=
+
+# Also rename header guards, as Bison 2.7 for instance uses its header
+# guard in its implementation file.
+sed_fix_header_guards=
 
-pairlist=
-while test "$#" -ne 0; do
-  if test "$1" = "--"; then
+while test $# -ne 0; do
+  if test x"$1" = x"--"; then
     shift
     break
   fi
-  pairlist="$pairlist $1"
+  from=$1
+  shift
+  to=$1
   shift
+  sed_fix_filenames="${sed_fix_filenames}s|"`quote_for_sed "$from"`"|$to|g;"
+  sed_fix_header_guards="${sed_fix_header_guards}s|"`guard "$from"`"|"`guard "$to"`"|g;"
 done
 
 # The program to run.
-prog="$1"
+prog=$1
 shift
 # Make any relative path in $prog absolute.
-case "$prog" in
+case $prog in
   [\\/]* | ?:[\\/]*) ;;
-  *[\\/]*) prog="`pwd`/$prog" ;;
+  *[\\/]*) prog=`pwd`/$prog ;;
 esac
 
-# FIXME: add hostname here for parallel makes that run commands on
-# other machines.  But that might take us over the 14-char limit.
 dirname=ylwrap$$
-trap "cd '`pwd`'; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15
+do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret'
+trap "ret=129; $do_exit" 1
+trap "ret=130; $do_exit" 2
+trap "ret=141; $do_exit" 13
+trap "ret=143; $do_exit" 15
 mkdir $dirname || exit 1
 
 cd $dirname
@@ -111,98 +163,56 @@ esac
 ret=$?
 
 if test $ret -eq 0; then
-  set X $pairlist
-  shift
-  first=yes
-  # Since DOS filename conventions don't allow two dots,
-  # the DOS version of Bison writes out y_tab.c instead of y.tab.c
-  # and y_tab.h instead of y.tab.h. Test to see if this is the case.
-  y_tab_nodot="no"
-  if test -f y_tab.c || test -f y_tab.h; then
-    y_tab_nodot="yes"
-  fi
-
-  # The directory holding the input.
-  input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
-  # Quote $INPUT_DIR so we can use it in a regexp.
-  # FIXME: really we should care about more than `.' and `\'.
-  input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'`
-
-  while test "$#" -ne 0; do
-    from="$1"
-    # Handle y_tab.c and y_tab.h output by DOS
-    if test $y_tab_nodot = "yes"; then
-      if test $from = "y.tab.c"; then
-    	from="y_tab.c"
-      else
-    	if test $from = "y.tab.h"; then
-    	  from="y_tab.h"
-    	fi
-      fi
-    fi
+  for from in *
+  do
+    to=`printf '%s\n' "$from" | sed "$sed_fix_filenames"`
     if test -f "$from"; then
       # If $2 is an absolute path name, then just use that,
-      # otherwise prepend `../'.
-      case "$2" in
-    	[\\/]* | ?:[\\/]*) target="$2";;
-    	*) target="../$2";;
+      # otherwise prepend '../'.
+      case $to in
+        [\\/]* | ?:[\\/]*) target=$to;;
+        *) target=../$to;;
       esac
 
-      # We do not want to overwrite a header file if it hasn't
-      # changed.  This avoid useless recompilations.  However the
-      # parser itself (the first file) should always be updated,
-      # because it is the destination of the .y.c rule in the
-      # Makefile.  Divert the output of all other files to a temporary
-      # file so we can compare them to existing versions.
-      if test $first = no; then
-	realtarget="$target"
-	target="tmp-`echo $target | sed s/.*[\\/]//g`"
+      # Do not overwrite unchanged header files to avoid useless
+      # recompilations.  Always update the parser itself: it is the
+      # destination of the .y.c rule in the Makefile.  Divert the
+      # output of all other files to a temporary file so we can
+      # compare them to existing versions.
+      if test $from != $parser; then
+        realtarget=$target
+        target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'`
       fi
-      # Edit out `#line' or `#' directives.
-      #
-      # We don't want the resulting debug information to point at
-      # an absolute srcdir; it is better for it to just mention the
-      # .y file with no path.
-      #
-      # We want to use the real output file name, not yy.lex.c for
-      # instance.
-      #
-      # We want the include guards to be adjusted too.
-      FROM=`echo "$from" | sed \
-            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
-            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
-      TARGET=`echo "$2" | sed \
-            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
-            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
-
-      sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \
-          -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$?
-
-      # Check whether header files must be updated.
-      if test $first = no; then
-	if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
-	  echo "$2" is unchanged
-	  rm -f "$target"
-	else
-          echo updating "$2"
+
+      # Munge "#line" or "#" directives.  Don't let the resulting
+      # debug information point at an absolute srcdir.  Use the real
+      # output file name, not yy.lex.c for instance.  Adjust the
+      # include guards too.
+      sed -e "/^#/!b"                           \
+          -e "s|$input_rx|$input_sub_rx|"       \
+          -e "$sed_fix_filenames"               \
+          -e "$sed_fix_header_guards"           \
+        "$from" >"$target" || ret=$?
+
+      # Check whether files must be updated.
+      if test "$from" != "$parser"; then
+        if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
+          echo "$to is unchanged"
+          rm -f "$target"
+        else
+          echo "updating $to"
           mv -f "$target" "$realtarget"
         fi
       fi
     else
-      # A missing file is only an error for the first file.  This
-      # is a blatant hack to let us support using "yacc -d".  If -d
-      # is not specified, we don't want an error when the header
-      # file is "missing".
-      if test $first = yes; then
+      # A missing file is only an error for the parser.  This is a
+      # blatant hack to let us support using "yacc -d".  If -d is not
+      # specified, don't fail when the header file is "missing".
+      if test "$from" = "$parser"; then
         ret=1
       fi
     fi
-    shift
-    shift
-    first=no
   done
-else
-  ret=$?
 fi
 
 # Remove the directory.
